説明

暗号処理装置、暗号処理方法及びプログラム

【課題】SSLなどのセキュアプロトコルを高速に復号認証することができる暗号処理装置、暗号処理方法及びプログラムを提供すること。
【解決手段】暗号処理装置300の認証対象領域長取得部330は、まず暗号化パケット中の末尾1ブロックの復号処理を行って認証対象領域サイズ(認証処理パラメータ)を取得し、暗復号認証処理制御部320は、取得した認証処理パラメータを暗復号認証処理部340にセットアップし、暗復号認証処理部340は、セットアップされた認証処理パラメータを元に暗復号認証処理を行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、暗号処理装置、暗号処理方法及びプログラムに関する。
【背景技術】
【0002】
ネットワーク上を流れる情報を暗号化するための手段としてIPセキュア通信が一般的である。IPv6においては暗号化通信を行うIPsecが標準機能としてRFC(Request For Comment)にて規格化されている。
【0003】
ネットワークで送受信する情報を暗号化するための手段の1つとしてSSL(Secure Socket Layer)が知られている。SSLのようなセキュア処理には、高負荷処理である暗復号認証処理を必要とするため、HTTP(Hyper Text Transfer Protocol)サーバ、リバースプロキシサーバ等のように特別に高速化が求められる場合や、組み込み機器のように非力なマシンでセキュア処理を実現する場合、暗号認証処理を行う特別なハードウェア(以後、暗復号認証処理エンジンと呼ぶ)を用いて実現することがある(例えば、特許文献1参照)。なお、以後ハードウェアのことをHWと略記する場合がある。
【0004】
図6は、暗号処理装置の構成を示すブロック図である。
【0005】
図6において、暗号処理装置10は、暗復号処理及び認証処理結果を用いてIPsec又はSSLを実現する制御部11と、暗復号処理及び認証処理を実行するHW暗復号/認証処理部12とを備えて構成される。
【0006】
制御部11は、暗復号アルゴリズム、暗復号処理方式(CBC、ECB等)、暗復号対象領域、暗復号対象領域サイズ、認証アルゴリズム、認証処理方式(HASH、HMAC等)、認証対象領域、及び認証対象領域サイズなどをHW暗復号/認証処理部12に送出し((1)参照)、HW暗復号/認証処理部12から、処理結果を受け取る((2)参照)。
【0007】
HW暗復号/認証処理部12は、制御部11から送出された暗復号アルゴリズム、暗復号処理方式、暗復号対象領域、暗復号対象領域サイズ、認証アルゴリズム、認証処理方式、認証対象領域、及び認証対象領域サイズに従って暗復号処理及び認証処理をそれぞれ実行する。
【0008】
HW暗復号/認証処理部12は、暗復号と認証処理を一度に行う1パス処理を実行することが好ましい。暗号認証IPは、暗復号/認証処理の1パス処理に対応するものが登場すると考えられる。
【0009】
図7は、暗号処理装置の別の構成を示すブロック図である。
【0010】
図7において、暗号処理装置20は、暗復号処理及び認証処理結果を用いてIPsec又はSSLを実現する制御部21と、暗復号処理を実行するHW暗復号処理部22と、認証処理を実行するHW認証処理部23とを備えて構成される。
【0011】
制御部21は、復号アルゴリズム、復号処理方式(CBC、ECB等)、復号対象領域、及び復号対象領域サイズなどをHW暗復号処理部22に送出し((1)参照)、HW暗復号処理部22から、処理結果を受け取る((2)参照)。また、制御部21は、認証アルゴリズム、認証処理方式(HASH、HMAC等)、認証対象領域、及び認証対象領域サイズなどをHW認証処理部23に送出し((4)参照)、HW認証処理部23から、処理結果を受け取る((3)参照)。
【0012】
HW暗復号処理部22は、制御部21から送出された復号アルゴリズム、復号処理方式、復号対象領域、及び復号対象領域サイズに従って復号処理を実行する。
【0013】
HW認証処理部23は、制御部21から送出された認証アルゴリズム、認証処理方式、認証対象領域、及び認証対象領域サイズに従って認証処理を実行する。
【0014】
暗号処理装置20は、復号処理と認証処理を2段階に分けて処理することで、SSL受信処理をHWで実現することができる。
【特許文献1】特表2005−503699号公報
【発明の開示】
【発明が解決しようとする課題】
【0015】
しかしながら、このような従来の暗号処理装置にあっては、以下の問題があった。
【0016】
(1)図6の暗号処理装置では、SSL受信処理時は、認証対象領域サイズも暗号化されているため、1パス処理依頼時に認証対象領域サイズを指定することができず、復号/認証処理を1パス処理することができない。
【0017】
すなわち、SSLなど一部のセキュアプロトコルでは、暗号化されたデータには認証処理に用いる認証対象領域サイズの算出に必要となるパラメータも暗号化されてしまっている。上記認証対象領域サイズを算出するためには、データと共に暗号化されている認証処理パラメータを一旦復号化して暗号化されていない認証処理パラメータを得、この認証処理パラメータを元に認証対象領域サイズを算出するステップが必要となる。SSL等の復号認証処理では、1ブロック毎にしか暗号解読はできない。ラスト1ブロックを解読して、ラスト1ブロックのなかの最後1バイトを取り出すことになる。このため、汎用の暗復号認証処理エンジンを用いてSSL等の復号認証処理を行う場合、復号処理後に一度処理を中断し、認証対象領域サイズを暗復号認証処理エンジンのレジスタにセットアップしてから再度認証処理を行う必要があった。
【0018】
(2)図7の暗号処理装置では、制御部21がHW暗復号処理部22,HW認証処理部23をそれぞれ制御し、復号処理と認証処理を2段階に分けて処理することで、SSL受信処理をHWで実現することができる。しかし、復号/認証処理を1パス処理できないため、スループットが低下してしまう問題がある。
【0019】
本発明は、上記に鑑みてなされたものであり、SSLなどのセキュアプロトコルを高速に復号認証することができる暗号処理装置及び暗号処理方法を提供することを目的とする。
【課題を解決するための手段】
【0020】
本発明の暗号処理装置は、暗復号処理又は認証処理を行う暗復号認証処理手段と、暗号化されたデータから、認証処理に用いる認証対象領域サイズの算出に必要な認証処理パラメータを復号して取得する認証処理パラメータ取得手段と、取得した認証処理パラメータを、前記暗復号認証処理手段に設定して暗復号認証処理の開始を指示する暗復号認証処理制御手段と、を備える構成を採る。
【0021】
本発明の暗号処理方法は、暗号化されたデータから、認証処理に用いる認証対象領域サイズの算出に必要な認証処理パラメータを事前に復号して取得するステップと、取得した認証処理パラメータを設定して暗復号認証処理の開始を指示するステップと、暗復号認証処理の開始指示に従って暗復号処理又は認証処理を行うステップとを順次実行する。
【0022】
また他の観点から、本発明は、上記暗号処理方法の各ステップをコンピュータに実行させるためのプログラムである。
【発明の効果】
【0023】
本発明によれば、認証処理に用いる認証対象領域サイズの算出に必要な認証処理パラメータを事前に復号して取得することにより、認証対象領域サイズが暗号化されているSSLなどのセキュアプロトコル処理において、受信したパケットを復号認証する際、ソフトウェアやハードウェア機能ブロックの補助なしで、かつ復号処理と認証処理を中断することなしに処理することができ、暗復号処理又は認証処理の高速化を実現することができる。同様の理由により、1パス処理を行うことができるため、スループットの向上を図ることができる。
【発明を実施するための最良の形態】
【0024】
以下、本発明の実施の形態について図面を参照して詳細に説明する。
【0025】
(実施の形態1)
図1は、本発明の実施の形態1に係る暗号処理装置の構成を示す図である。
【0026】
図1において、暗号処理装置100は、取得した認証対象領域サイズ(認証処理パラメータ)をHW暗復号/認証処理部130に設定して暗復号認証処理の開始を指示する制御部110と、認証対象領域サイズを取得する認証対象領域サイズ取得部120と、暗復号処理又は認証処理を実行するHW暗復号/認証処理部130とを備えて構成される。
【0027】
制御部110は、認証対象領域サイズ取得部120から認証対象領域サイズを受け取り((1)参照)、HW暗復号/認証処理部130に取得した認証処理パラメータを設定(セットアップ)してから暗復号認証処理の開始を指示する。また、制御部110は、暗復号アルゴリズム、暗復号処理方式(CBC、ECB等)、暗復号対象領域、暗復号対象領域サイズ、認証アルゴリズム、認証処理方式(HASH、HMAC等)、認証対象領域、及び認証対象領域サイズなどをHW暗復号/認証処理部130に送出し((2)参照)、HW暗復号/認証処理部130から、処理結果を受け取る((3)参照)。制御部110は、暗復号処理及び認証処理結果を用いてIPsec又はSSLを実現する。
【0028】
認証対象領域サイズ取得部120は、暗号化されたデータのうち、認証処理に用いる情報の算出に必要なデータが格納されているブロックを、ソフトウェア又はハードウェアにより事前に復号し、取得したデータと、SHA1(Secure Hash Algorithm 1)、SHA256などのアルゴリズムに応じたMAC(Media Access Control)長と、復号対象領域の開始位置と、認証対象領域の開始位置のうち、1つ以上から認証処理に用いる情報を算出する。
【0029】
具体的には、認証対象領域サイズ取得部120は、暗号化されたデータのうち、認証処理に用いる情報の算出に必要なデータが格納されているブロックを、ソフトウェア又はハードウェアで事前に復号する。そして、認証対象領域サイズ取得部120は、復号したブロックのうち、暗号化方式がCBC(Cipher Block Chaining)モードであった場合は、ラスト1バイトのみを直前のブロックとXOR演算し、取得したデータと、SHA1、SHA256などのアルゴリズムに応じたMAC長と、復号対象領域の開始位置と、認証対象領域の開始位置のうち、1つ以上から認証処理に用いる情報を算出する。
【0030】
SSL等の復号認証処理では、暗号化方式の1つとしてCBCも使用する。CBC処理手順で暗号化されているときは1つ前のブロックとEOR演算を1バイトずつ行って復号する必要がある。
【0031】
本実施の形態では、暗号化方式がCBCモードであった場合は、ラスト1バイトのみを直前のブロックとXOR演算する。この構成により、受信したパケットがCBCモードで暗号化されていた場合は、演算を短縮でき、さらなる復号認証処理を実現することができる。
【0032】
HW暗復号/認証処理部130は、制御部110から送出された暗復号アルゴリズム、暗復号処理方式、暗復号対象領域、暗復号対象領域サイズ、認証アルゴリズム、認証処理方式、認証対象領域、及び認証対象領域サイズに従って、暗復号処理と認証処理とを一度に行う1パス処理を実行する。
【0033】
以下、上述のように構成された暗号処理装置100の動作について説明する。
【0034】
図2は、SSL受信パケットのデータ構造を示す図である。
【0035】
図2において、SSL受信パケット200は、複数ブロックからなり、ラスト1ブロック210には認証対象領域サイズ211が格納される。SSL受信パケット200のうち、上位の所定ブロックは認証対象領域220、下位の所定ブロックは暗号化領域230である。認証対象領域220の一部は、暗号化領域230として暗号化されている。
【0036】
認証対象領域サイズ取得部120は、暗号化領域230のラスト1ブロック210をソフトウェア又はハードウェアによりあらかじめ復号し、認証対象領域サイズ211を取得する。そして、認証対象領域サイズ取得部120は、取得した認証対象領域サイズ211を制御部110に渡す。制御部110は、認証対象領域サイズ取得部120から認証対象領域サイズを受け取り、取得した認証処理パラメータをセットアップしてからHW暗復号/認証処理部130に1パス処理を依頼する。
【0037】
ここで、認証対象領域サイズ取得部120は、CBCモードで暗号化されている場合、復号結果を直前の1ブロックとXOR演算する必要がある。この場合、認証対象領域サイズ取得部120は、認証対象領域サイズ211が格納されている最後の1バイトのみXOR演算することで、さらに演算を短縮することができる。
【0038】
このように、本実施の形態によれば、受信したパケットを復号認証する際、認証処理パラメータの一部が暗号化されていても、ソフトウェア又はハードウェア機能ブロックの補助なしに、復号処理と認証処理を中断することなしに処理することができるようになる。したがって、認証対象領域サイズが暗号化されているSSL受信処理であっても、1パス処理を行うことができるため、スループットの向上が見込まれる効果がある。
【0039】
(実施の形態2)
図3は、本発明の実施の形態2に係る暗号処理装置の構成を示す図である。
【0040】
図3において、暗号処理装置300は、上位プログラム310、暗復号認証処理制御部320、認証対象領域長取得部330、暗復号認証処理部340、及び暗復号認証リクエスト蓄積部350を備えて構成される。
【0041】
上記暗復号認証処理制御部320及び暗復号認証リクエスト蓄積部350は、図1の制御部110に対応し、認証対象領域長取得部330は、図1の認証対象領域サイズ取得部120対応する。また、暗復号認証処理部340は、図1のHW暗復号/認証処理部130に対応する。
【0042】
上位プログラム310は、実際に暗号化されたデータの送受信を行おうとしているアプリケーション、もしくは、その他のプログラムである。
【0043】
暗復号認証処理制御部320は、あらかじめ認証対象領域長取得部330から認証領域サイズを取得し、暗復号認証リクエストに取得した認証領域サイズを格納する。暗復号認証処理制御部320は、暗復号認証リクエストに格納されている平文・暗号化データを、暗復号認証処理部340に指示して暗復号認証処理を行う。暗復号認証処理制御部320は、暗復号認証リクエスト蓄積部350に暗復号認証リクエストが格納されている場合は、先に格納されている暗復号認証リクエストの暗復号認証処理を暗復号認証処理部340に依頼して、上位プログラム310から依頼された暗復号認証リクエストは暗復号認証リクエスト蓄積部350に格納する。また、暗復号認証処理制御部320は、暗復号認証処理部340が処理中の場合、暗復号認証リクエストを暗復号認証リクエスト蓄積部350に格納して処理を終了する。
【0044】
認証対象領域長取得部330は、暗復号認証処理制御部320の指示に基づき、暗復号処理部340とは実体が異なる暗復号処理部(図示せず)を用いて、暗号化パケット中の末尾1ブロック(SSLの場合は末尾16バイト)の復号処理を行う。認証対象領域長取得部330は、暗号化パケットのペイロード長と、復号された1ブロックの末尾1バイトに格納されたパディング(サイズ調節のための余分なデータ)長と、アルゴリズムに応じたMAC長、復号対象領域の開始位置、認証対象領域の開始位置からダイジェスト計算対象領域を算出し、暗復号認証処理制御部320に返却する。認証対象領域長取得部330は、暗号化パケットがCBCモードで暗号化されていた場合には、パディング長が格納された末尾1バイトのみを直前のブロックとXOR演算することで、1ブロックすべてをXOR演算する必要がなくなり、演算の高速化を図ることが可能である。
【0045】
暗復号認証処理部340は、暗復号処理又は認証処理を行う。暗復号認証処理部340は、暗復号認証処理制御部320の暗復号認証開始指示によって暗復号認証処理を開始し、暗復号認証処理が完了した時点で暗復号認証処理制御部320に処理完了通知を行う。例えば、暗復号認証処理部340は、ハードウェア割り込み処理にて起床されたソフトウェア割り込みによって処理完了通知をすることが望ましい。その後、暗復号認証処理部340は、暗復号認証処理制御部320の、暗復号認証完了処理指示によって、結果や付随データを取得するための完了処理を行う。処理の詳細については後述する。
【0046】
暗復号認証リクエスト蓄積部350は、暗復号認証リクエストを出し入れするためのキュー構造である。通常FIFO(First-In First-Out)で構成されるが、例えばパケットのTOS(Type of Service)フィールドや、送受信アドレス、送受信ポート、プロトコルなどの情報を元に、デキューする暗復号認証リクエストに優先度をつけるようにするなど、その他の構成であってもよい。なお、TOSフィールドは、IPヘッダに含まれる長さ8ビットの情報であり、上位3ビットが優先度を表示するIPプレシデンスである。
【0047】
以下、上述のように構成された暗号処理装置300の動作について説明する。
【0048】
図4は、暗号処理装置300の送信処理時の動作を説明するフローチャートである。図中、Sはフローの各ステップを示す。
【0049】
ステップS101では、上位プログラム310は、IPネットワーク等を通して受け取った復号化したいデータを、暗復号認証処理に必要なパラメータと共に暗復号認証リクエストとして、ioctlコール(I/O control call)等を用いてカーネル空間(Kernel Space)にコピーし、暗復号認証リクエスト蓄積部350に格納し、暗復号認証処理制御部320に暗復号認証処理を指示する。
【0050】
ステップS102では、暗復号認証処理制御部320は、認証対象領域長取得部330に対して、暗復号認証リクエストのデータ部分のうち、認証対象領域サイズ211(図2参照)を算出するよう指示する。
【0051】
ステップS103では、認証対象領域長取得部330は、暗復号認証処理制御部320の指示に基づき、暗号化パケット中の末尾1ブロック(SSLの場合は末尾16バイト)の復号処理を行う。認証対象領域長取得部330は、暗号化パケットのペイロード長と、復号された1ブロックの末尾1バイトに格納されたパディング(サイズ調節のための余分なデータ)長と、SHA1、SHA256等のアルゴリズムに応じたMAC長、復号対象領域の開始位置、及び認証対象領域の開始位置から認証対象領域を算出し、暗復号認証処理制御部320に返却する。
【0052】
ステップS104では、暗復号認証処理制御部320は、認証対象領域長取得部330から受けとった認証対象領域サイズ211(図2参照)を暗復号認証リクエストに格納する。
【0053】
ステップS105では、暗復号認証処理制御部320は、暗復号認証処理部340が処理中でないことを判別する。暗復号認証処理部340が処理中であった場合は、処理を終了する。
【0054】
暗復号認証処理部340が処理中でなかった場合、ステップS106で暗復号認証処理制御部320は、暗復号認証処理部340によって既に暗復号認証処理が終了している暗復号認証リクエストがないか否かを判別する。
【0055】
暗復号認証処理部340によって既に暗復号認証処理が終了している暗復号認証リクエストがない場合、ステップS107で暗復号認証処理制御部320は、暗復号認証処理部340によって既に暗復号認証処理が終了している暗復号認証リクエストの暗復号認証完了処理を行う。
【0056】
上記ステップS106で既に暗復号認証処理が終了している暗復号認証リクエストがある場合、あるいは上記ステップS107で既に暗復号認証処理が終了している暗復号認証リクエストの暗復号認証完了処理を行った場合は、ステップS108に進む。
【0057】
ステップS108では、暗復号認証処理制御部320は、暗復号認証リクエスト蓄積部350に暗復号認証リクエストが格納されているか否かを判別する。
【0058】
暗復号認証リクエスト蓄積部350に暗復号認証リクエストが格納されている場合、ステップS109で暗復号認証処理制御部320は、暗復号認証処理部340のセットアップを行う。具体的には、暗復号認証処理制御部320は、暗復号認証リクエストに格納されている平文・暗号化データと暗復号認証処理に必要なパラメータを用いて、暗復号認証処理を暗復号認証処理部340に指示する。
【0059】
ステップS110では、暗復号認証処理部340は、暗復号認証処理制御部320の指示に基づき、暗復号認証処理を開始する。ここで、暗復号認証処理は暗復号認証処理制御部320の処理とは非同期に実行され、処理の完了を待ち合わせることはしない。
【0060】
上記ステップS108で暗復号認証リクエスト蓄積部350に暗復号認証リクエストが格納されていなかった場合、あるいは上記ステップS109で暗復号認証処理部340のセットアップを行った場合は、ステップS111に進む。
【0061】
ステップS111では、暗復号認証処理制御部320は、上記ステップS107で暗復号認証完了処理を行った暗復号認証リクエストがあれば、上位プログラム310に処理結果を返却する。暗復号認証完了処理を行った暗復号認証リクエストがなければ、本フローを終了する。
【0062】
図5は、暗号処理装置300の暗復号認証処理部340で暗復号認証処理が終了した際の動作を説明するフローチャートである。
【0063】
ステップS201では、暗復号認証処理部340は、暗復号認証処理制御部320に対してステップS202以降の処理を開始するようソフトウェア遅延割り込み処理の開始を指示する。ステップS202以降の処理は、図4のステップS105の処理と同じである。
【0064】
すなわち、ステップS202では、暗復号認証処理制御部320は、暗復号認証処理部340が処理中でないかを判別する。暗復号認証処理部340が処理中であった場合は、処理を終了する。
【0065】
暗復号認証処理部340が処理中でなかった場合、ステップS203で暗復号認証処理制御部320は、暗復号認証処理部340によって既に暗復号認証処理が終了している暗復号認証リクエストがないか否かを判別する。
【0066】
暗復号認証処理部340によって既に暗復号認証処理が終了している暗復号認証リクエストがない場合、ステップS204で暗復号認証処理制御部320は、暗復号認証処理部340によって既に暗復号認証処理が終了している暗復号認証リクエストの暗復号認証完了処理を行う。
【0067】
上記ステップS203で既に暗復号認証処理が終了している暗復号認証リクエストがある場合、あるいは上記ステップS204で既に暗復号認証処理が終了している暗復号認証リクエストの暗復号認証完了処理を行った場合は、ステップS205に進む。
【0068】
ステップS205では、暗復号認証処理制御部320は、暗復号認証リクエスト蓄積部350に暗復号認証リクエストが格納されているか否かを判別する。
【0069】
暗復号認証リクエスト蓄積部350に暗復号認証リクエストが格納されている場合、ステップS206で暗復号認証処理制御部320は、暗復号認証処理部340のセットアップを行う。具体的には、暗復号認証処理制御部320は、暗復号認証リクエストに格納されている平文・暗号化データと暗復号認証処理に必要なパラメータを用いて、暗復号認証処理を暗復号認証処理部340に指示する。
【0070】
ステップS207では、暗復号認証処理部340は、暗復号認証処理制御部320の指示に基づき、暗復号認証処理を開始する。ここで、暗復号認証処理は暗復号認証処理制御部320の処理とは非同期に実行され、処理の完了を待ち合わせることはしない。
【0071】
上記ステップS205で暗復号認証リクエスト蓄積部350に暗復号認証リクエストが格納されていなかった場合、あるいは上記ステップS206で暗復号認証処理部340のセットアップを行った場合は、ステップS208に進む。
【0072】
ステップS208では、暗復号認証処理制御部320は、上記ステップS204で暗復号認証完了処理を行った暗復号認証リクエストがあれば、上位プログラム310に処理結果を返却する。暗復号認証完了処理を行った暗復号認証リクエストがなければ、本フローを終了する。
【0073】
以上詳細に説明したように、本実施の形態によれば、暗号処理装置300の認証対象領域長取得部330は、まず暗号化パケット中の末尾1ブロックの復号処理を行って認証対象領域サイズ(認証処理パラメータ)を取得し、暗復号認証処理制御部320は、取得した認証処理パラメータを暗復号認証処理部340にセットアップし、暗復号認証処理部340は、セットアップされた認証処理パラメータを元に暗復号認証処理を行うので、認証対象領域サイズが暗号化されているSSL受信処理において、受信したパケットを復号認証する際、ソフトウェア又はハードウェア機能ブロックの補助なく、かつ復号処理と認証処理を中断することなしに処理することができる。1パス処理を行うことができるため、スループットの向上を図ることができる。
【0074】
以上の説明は本発明の好適な実施の形態の例証であり、本発明の範囲はこれに限定されることはない。例えば、IPv6ネットワークを介してIPsecプロトコルにより暗号化通信を行う暗号化情報通信システムに適用可能であるが、IPvネットワークであればよく、IPv6ネットワークの機能を含む上位バージョンが策定された場合はこれも包含するものである。
【0075】
また、上記実施の形態に用いた各機能ブロックは、典型的には集積回路であるLSIとして実現される。これらは個別に1チップ化されてもよいし、一部又は全てを含むように1チップ化されてもよい。集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
【0076】
また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
【0077】
さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
【0078】
また、本実施の形態では暗号処理装置及び暗号処理方法という名称を用いたが、これは説明の便宜上であり、暗号化情報通信装置、通信処理方法等であってもよいことは勿論である。
【0079】
さらに、上記暗号処理装置を構成する各部、例えば暗復号認証処理部の種類、その数及び接続方法などはどのようなものでもよい。
【0080】
以上説明した暗号処理方法は、この暗号処理方法を機能させるためのプログラムでも実現される。このプログラムはコンピュータで読み取り可能な記録媒体に格納されている。
【産業上の利用可能性】
【0081】
以上のように、本発明に係る暗号処理装置、暗号処理方法及びプログラムは、ソフトウェア処理、又は、ハードウェア処理によって高速なIPセキュア通信処理を行うことができる効果を有し、セキュア通信機器及び暗号処理方法等に有用である。
【図面の簡単な説明】
【0082】
【図1】本発明の実施の形態1に係る暗号処理装置の構成を示す図
【図2】上記実施の形態1に係る暗号処理装置のSSL受信パケットのデータ構造を示す図
【図3】本発明の実施の形態2に係る暗号処理装置の構成を示す図
【図4】上記実施の形態2に係る暗号処理装置の送信処理時の動作を説明するフロー図
【図5】上記実施の形態2に係る暗号処理装置の暗復号認証処理部で暗復号認証処理が終了した際の動作を説明するフロー図
【図6】従来の暗号処理装置の構成を示すブロック図
【図7】従来の暗号処理装置の別の構成を示すブロック図
【符号の説明】
【0083】
100,300 暗号処理装置
110 制御部
120 認証対象領域サイズ取得部
130 HW暗復号/認証処理部
310 上位プログラム
320 暗復号認証処理制御部
330 認証対象領域長取得部
340 暗復号認証処理部
350 暗復号認証リクエスト蓄積部


【特許請求の範囲】
【請求項1】
暗復号処理又は認証処理を行う暗復号認証処理手段と、
暗号化されたデータから、認証処理に用いる認証対象領域サイズの算出に必要な認証処理パラメータを復号して取得する認証処理パラメータ取得手段と、
取得した認証処理パラメータを、前記暗復号認証処理手段に設定して暗復号認証処理の開始を指示する暗復号認証処理制御手段と、
を備える暗号処理装置。
【請求項2】
前記認証処理パラメータ取得手段は、暗号化されたデータから、認証処理に用いる認証対象領域サイズの算出に必要な認証処理パラメータが格納されている最小単位を復号する請求項1記載の暗号処理装置。
【請求項3】
前記認証処理パラメータ取得手段は、暗号化されたデータから、認証処理に用いる認証対象領域サイズの算出に必要な認証処理パラメータが格納されているブロックを復号して取得したデータと、SHA1(Secure Hash Algorithm 1)又はSHA256のアルゴリズムに応じたMAC(Media Access Control)長と、復号対象領域の開始位置と、認証対象領域の開始位置のうち、1つ以上から認証処理に用いる情報を算出する請求項1記載の暗号処理装置。
【請求項4】
前記認証処理パラメータ取得手段は、暗号化されたデータから、認証処理に用いる認証対象領域サイズの算出に必要な認証処理パラメータが格納されているブロックを復号し、復号したブロックのうち、暗号化方式がCBC(Cipher Block Chaining)モードであった場合は、前記復号したブロックのラスト1バイトのみを直前のブロックとXOR演算し、取得したデータと、SHA1又はSHA256のアルゴリズムに応じたMAC長と、復号対象領域の開始位置と、認証対象領域の開始位置のうち、1つ以上から認証処理に用いる情報を算出する請求項1記載の暗号処理装置。
【請求項5】
暗号化されたデータから、認証処理に用いる認証対象領域サイズの算出に必要な認証処理パラメータを事前に復号して取得するステップと、
取得した認証処理パラメータを設定して暗復号認証処理の開始を指示するステップと、
暗復号認証処理の開始指示に従って暗復号処理又は認証処理を行うステップと
を順次実行する暗号処理方法。
【請求項6】
請求項5記載の暗号処理方法の各ステップをコンピュータに実行させるためのプログラム。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2010−57123(P2010−57123A)
【公開日】平成22年3月11日(2010.3.11)
【国際特許分類】
【出願番号】特願2008−222555(P2008−222555)
【出願日】平成20年8月29日(2008.8.29)
【出願人】(000005821)パナソニック株式会社 (73,050)
【Fターム(参考)】