(57)【要約】【課題】ＳＳＬなどのセキュアプロトコルを高速に復号認証することができる暗号処理装置、暗号処理方法及びプログラムを提供すること。【解決手段】暗号処理装置３００の認証対象領域長取得部３３０は、まず暗号化パケット中の末尾１ブロックの復号処理を行って認証対象領域サイズ（認証処理パラメータ）を取得し、暗復号認証処理制御部３２０は、取得した認証処理パラメータを暗復号認証処理部３４０にセットアップし、暗復号認証処理部３４０は、セットアップされた認証処理パラメータを元に暗復号認証処理を行う。【選択図】図３
2010057123.tif 000002
【特許請求の範囲】
【請求項１】
暗復号処理又は認証処理を行う暗復号認証処理手段と、
暗号化されたデータから、認証処理に用いる認証対象領域サイズの算出に必要な認証処理パラメータを復号して取得する認証処理パラメータ取得手段と、
取得した認証処理パラメータを、前記暗復号認証処理手段に設定して暗復号認証処理の開始を指示する暗復号認証処理制御手段と、
を備える暗号処理装置。
【請求項２】
前記認証処理パラメータ取得手段は、暗号化されたデータから、認証処理に用いる認証対象領域サイズの算出に必要な認証処理パラメータが格納されている最小単位を復号する請求項１記載の暗号処理装置。
【請求項３】
前記認証処理パラメータ取得手段は、暗号化されたデータから、認証処理に用いる認証対象領域サイズの算出に必要な認証処理パラメータが格納されているブロックを復号して取得したデータと、ＳＨＡ１（Secure Hash Algorithm 1）又はＳＨＡ２５６のアルゴリズムに応じたＭＡＣ（Media Access Control）長と、復号対象領域の開始位置と、認証対象領域の開始位置のうち、１つ以上から認証処理に用いる情報を算出する請求項１記載の暗号処理装置。
【請求項４】
前記認証処理パラメータ取得手段は、暗号化されたデータから、認証処理に用いる認証対象領域サイズの算出に必要な認証処理パラメータが格納されているブロックを復号し、復号したブロックのうち、暗号化方式がＣＢＣ（Cipher Block Chaining）モードであった場合は、前記復号したブロックのラスト１バイトのみを直前のブロックとＸＯＲ演算し、取得したデータと、ＳＨＡ１又はＳＨＡ２５６のアルゴリズムに応じたＭＡＣ長と、復号対象領域の開始位置と、認証対象領域の開始位置のうち、１つ以上から認証処理に用いる情報を算出する請求項１記載の暗号処理装置。
【請求項５】
暗号化されたデータから、認証処理に用いる認証対象領域サイズの算出に必要な認証処理パラメータを事前に復号して取得するステップと、
取得した認証処理パラメータを設定して暗復号認証処理の開始を指示するステップと、
暗復号認証処理の開始指示に従って暗復号処理又は認証処理を行うステップと
を順次実行する暗号処理方法。
【請求項６】
請求項５記載の暗号処理方法の各ステップをコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、暗号処理装置、暗号処理方法及びプログラムに関する。
【背景技術】
【０００２】
ネットワーク上を流れる情報を暗号化するための手段としてＩＰセキュア通信が一般的である。ＩＰｖ６においては暗号化通信を行うＩＰｓｅｃが標準機能としてＲＦＣ（Request For Comment）にて規格化されている。
【０００３】
ネットワークで送受信する情報を暗号化するための手段の１つとしてＳＳＬ（Secure Socket Layer）が知られている。ＳＳＬのようなセキュア処理には、高負荷処理である暗復号認証処理を必要とするため、ＨＴＴＰ（Hyper Text Transfer Protocol）サーバ、リバースプロキシサーバ等のように特別に高速化が求められる場合や、組み込み機器のように非力なマシンでセキュア処理を実現する場合、暗号認証処理を行う特別なハードウェア（以後、暗復号認証処理エンジンと呼ぶ）を用いて実現することがある（例えば、特許文献１参照）。なお、以後ハードウェアのことをＨＷと略記する場合がある。
【０００４】
図６は、暗号処理装置の構成を示すブロック図である。
【０００５】
図６において、暗号処理装置１０は、暗復号処理及び認証処理結果を用いてＩＰｓｅｃ又はＳＳＬを実現する制御部１１と、暗復号処理及び認証処理を実行するＨＷ暗復号／認証処理部１２とを備えて構成される。
【０００６】
制御部１１は、暗復号アルゴリズム、暗復号処理方式（ＣＢＣ、ＥＣＢ等）、暗復号対象領域、暗復号対象領域サイズ、認証アルゴリズム、認証処理方式（ＨＡＳＨ、ＨＭＡＣ等）、認証対象領域、及び認証対象領域サイズなどをＨＷ暗復号／認証処理部１２に送出し（(1)参照）、ＨＷ暗復号／認証処理部１２から、処理結果を受け取る（(2)参照）。
【０００７】
ＨＷ暗復号／認証処理部１２は、制御部１１から送出された暗復号アルゴリズム、暗復号処理方式、暗復号対象領域、暗復号対象領域サイズ、認証アルゴリズム、認証処理方式、認証対象領域、及び認証対象領域サイズに従って暗復号処理及び認証処理をそれぞれ実行する。
【０００８】
ＨＷ暗復号／認証処理部１２は、暗復号と認証処理を一度に行う１パス処理を実行することが好ましい。暗号認証ＩＰは、暗復号／認証処理の１パス処理に対応するものが登場すると考えられる。
【０００９】
図７は、暗号処理装置の別の構成を示すブロック図である。
【００１０】
図７において、暗号処理装置２０は、暗復号処理及び認証処理結果を用いてＩＰｓｅｃ又はＳＳＬを実現する制御部２１と、暗復号処理を実行するＨＷ暗復号処理部２２と、認証処理を実行するＨＷ認証処理部２３とを備えて構成される。
【００１１】
制御部２１は、復号アルゴリズム、復号処理方式（ＣＢＣ、ＥＣＢ等）、復号対象領域、及び復号対象領域サイズなどをＨＷ暗復号処理部２２に送出し（(1)参照）、ＨＷ暗復号処理部２２から、処理結果を受け取る（(2)参照）。また、制御部２１は、認証アルゴリズム、認証処理方式（ＨＡＳＨ、ＨＭＡＣ等）、認証対象領域、及び認証対象領域サイズなどをＨＷ認証処理部２３に送出し（(4)参照）、ＨＷ認証処理部２３から、処理結果を受け取る（(3)参照）。
【００１２】
ＨＷ暗復号処理部２２は、制御部２１から送出された復号アルゴリズム、復号処理方式、復号対象領域、及び復号対象領域サイズに従って復号処理を実行する。
【００１３】
ＨＷ認証処理部２３は、制御部２１から送出された認証アルゴリズム、認証処理方式、認証対象領域、及び認証対象領域サイズに従って認証処理を実行する。
【００１４】
暗号処理装置２０は、復号処理と認証処理を２段階に分けて処理することで、ＳＳＬ受信処理をＨＷで実現することができる。
【特許文献１】特表２００５−５０３６９９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１５】
しかしながら、このような従来の暗号処理装置にあっては、以下の問題があった。
【００１６】
（１）図６の暗号処理装置では、ＳＳＬ受信処理時は、認証対象領域サイズも暗号化されているため、１パス処理依頼時に認証対象領域サイズを指定することができず、復号／認証処理を１パス処理することができない。
【００１７】
すなわち、ＳＳＬなど一部のセキュアプロトコルでは、暗号化されたデータには認証処理に用いる認証対象領域サイズの算出に必要となるパラメータも暗号化されてしまっている。上記認証対象領域サイズを算出するためには、データと共に暗号化されている認証処理パラメータを一旦復号化して暗号化されていない認証処理パラメータを得、この認証処理パラメータを元に認証対象領域サイズを算出するステップが必要となる。ＳＳＬ等の復号認証処理では、１ブロック毎にしか暗号解読はできない。ラスト１ブロックを解読して、ラスト１ブロックのなかの最後１バイトを取り出すことになる。このため、汎用の暗復号認証処理エンジンを用いてＳＳＬ等の復号認証処理を行う場合、復号処理後に一度処理を中断し、認証対象領域サイズを暗復号認証処理エンジンのレジスタにセットアップしてから再度認証処理を行う必要があった。
【００１８】
（２）図７の暗号処理装置では、制御部２１がＨＷ暗復号処理部２２，ＨＷ認証処理部２３をそれぞれ制御し、復号処理と認証処理を２段階に分けて処理することで、ＳＳＬ受信処理をＨＷで実現することができる。しかし、復号／認証処理を１パス処理できないため、スループットが低下してしまう問題がある。
【００１９】
本発明は、上記に鑑みてなされたものであり、ＳＳＬなどのセキュアプロトコルを高速に復号認証することができる暗号処理装置及び暗号処理方法を提供することを目的とする。
【課題を解決するための手段】
【００２０】
本発明の暗号処理装置は、暗復号処理又は認証処理を行う暗復号認証処理手段と、暗号化されたデータから、認証処理に用いる認証対象領域サイズの算出に必要な認証処理パラメータを復号して取得する認証処理パラメータ取得手段と、取得した認証処理パラメータを、前記暗復号認証処理手段に設定して暗復号認証処理の開始を指示する暗復号認証処理制御手段と、を備える構成を採る。
【００２１】
本発明の暗号処理方法は、暗号化されたデータから、認証処理に用いる認証対象領域サイズの算出に必要な認証処理パラメータを事前に復号して取得するステップと、取得した認証処理パラメータを設定して暗復号認証処理の開始を指示するステップと、暗復号認証処理の開始指示に従って暗復号処理又は認証処理を行うステップとを順次実行する。
【００２２】
また他の観点から、本発明は、上記暗号処理方法の各ステップをコンピュータに実行させるためのプログラムである。
【発明の効果】
【００２３】
本発明によれば、認証処理に用いる認証対象領域サイズの算出に必要な認証処理パラメータを事前に復号して取得することにより、認証対象領域サイズが暗号化されているＳＳＬなどのセキュアプロトコル処理において、受信したパケットを復号認証する際、ソフトウェアやハードウェア機能ブロックの補助なしで、かつ復号処理と認証処理を中断することなしに処理することができ、暗復号処理又は認証処理の高速化を実現することができる。同様の理由により、１パス処理を行うことができるため、スループットの向上を図ることができる。
【発明を実施するための最良の形態】
【００２４】
以下、本発明の実施の形態について図面を参照して詳細に説明する。
【００２５】
（実施の形態１）
図１は、本発明の実施の形態１に係る暗号処理装置の構成を示す図である。
【００２６】
図１において、暗号処理装置１００は、取得した認証対象領域サイズ（認証処理パラメータ）をＨＷ暗復号／認証処理部１３０に設定して暗復号認証処理の開始を指示する制御部１１０と、認証対象領域サイズを取得する認証対象領域サイズ取得部１２０と、暗復号処理又は認証処理を実行するＨＷ暗復号／認証処理部１３０とを備えて構成される。
【００２７】
制御部１１０は、認証対象領域サイズ取得部１２０から認証対象領域サイズを受け取り（(1)参照）、ＨＷ暗復号／認証処理部１３０に取得した認証処理パラメータを設定（セットアップ）してから暗復号認証処理の開始を指示する。また、制御部１１０は、暗復号アルゴリズム、暗復号処理方式（ＣＢＣ、ＥＣＢ等）、暗復号対象領域、暗復号対象領域サイズ、認証アルゴリズム、認証処理方式（ＨＡＳＨ、ＨＭＡＣ等）、認証対象領域、及び認証対象領域サイズなどをＨＷ暗復号／認証処理部１３０に送出し（(2)参照）、ＨＷ暗復号／認証処理部１３０から、処理結果を受け取る（(3)参照）。制御部１１０は、暗復号処理及び認証処理結果を用いてＩＰｓｅｃ又はＳＳＬを実現する。
【００２８】
認証対象領域サイズ取得部１２０は、暗号化されたデータのうち、認証処理に用いる情報の算出に必要なデータが格納されているブロックを、ソフトウェア又はハードウェアにより事前に復号し、取得したデータと、ＳＨＡ１（Secure Hash Algorithm 1）、ＳＨＡ２５６などのアルゴリズムに応じたＭＡＣ（Media Access Control）長と、復号対象領域の開始位置と、認証対象領域の開始位置のうち、１つ以上から認証処理に用いる情報を算出する。
【００２９】
具体的には、認証対象領域サイズ取得部１２０は、暗号化されたデータのうち、認証処理に用いる情報の算出に必要なデータが格納されているブロックを、ソフトウェア又はハードウェアで事前に復号する。そして、認証対象領域サイズ取得部１２０は、復号したブロックのうち、暗号化方式がＣＢＣ（Cipher Block Chaining）モードであった場合は、ラスト１バイトのみを直前のブロックとＸＯＲ演算し、取得したデータと、ＳＨＡ１、ＳＨＡ２５６などのアルゴリズムに応じたＭＡＣ長と、復号対象領域の開始位置と、認証対象領域の開始位置のうち、１つ以上から認証処理に用いる情報を算出する。
【００３０】
ＳＳＬ等の復号認証処理では、暗号化方式の１つとしてＣＢＣも使用する。ＣＢＣ処理手順で暗号化されているときは１つ前のブロックとＥＯＲ演算を１バイトずつ行って復号する必要がある。
【００３１】
本実施の形態では、暗号化方式がＣＢＣモードであった場合は、ラスト１バイトのみを直前のブロックとＸＯＲ演算する。この構成により、受信したパケットがＣＢＣモードで暗号化されていた場合は、演算を短縮でき、さらなる復号認証処理を実現することができる。
【００３２】
ＨＷ暗復号／認証処理部１３０は、制御部１１０から送出された暗復号アルゴリズム、暗復号処理方式、暗復号対象領域、暗復号対象領域サイズ、認証アルゴリズム、認証処理方式、認証対象領域、及び認証対象領域サイズに従って、暗復号処理と認証処理とを一度に行う１パス処理を実行する。
【００３３】
以下、上述のように構成された暗号処理装置１００の動作について説明する。
【００３４】
図２は、ＳＳＬ受信パケットのデータ構造を示す図である。
【００３５】
図２において、ＳＳＬ受信パケット２００は、複数ブロックからなり、ラスト１ブロック２１０には認証対象領域サイズ２１１が格納される。ＳＳＬ受信パケット２００のうち、上位の所定ブロックは認証対象領域２２０、下位の所定ブロックは暗号化領域２３０である。認証対象領域２２０の一部は、暗号化領域２３０として暗号化されている。
【００３６】
認証対象領域サイズ取得部１２０は、暗号化領域２３０のラスト１ブロック２１０をソフトウェア又はハードウェアによりあらかじめ復号し、認証対象領域サイズ２１１を取得する。そして、認証対象領域サイズ取得部１２０は、取得した認証対象領域サイズ２１１を制御部１１０に渡す。制御部１１０は、認証対象領域サイズ取得部１２０から認証対象領域サイズを受け取り、取得した認証処理パラメータをセットアップしてからＨＷ暗復号／認証処理部１３０に１パス処理を依頼する。
【００３７】
ここで、認証対象領域サイズ取得部１２０は、ＣＢＣモードで暗号化されている場合、復号結果を直前の１ブロックとＸＯＲ演算する必要がある。この場合、認証対象領域サイズ取得部１２０は、認証対象領域サイズ２１１が格納されている最後の１バイトのみＸＯＲ演算することで、さらに演算を短縮することができる。
【００３８】
このように、本実施の形態によれば、受信したパケットを復号認証する際、認証処理パラメータの一部が暗号化されていても、ソフトウェア又はハードウェア機能ブロックの補助なしに、復号処理と認証処理を中断することなしに処理することができるようになる。したがって、認証対象領域サイズが暗号化されているＳＳＬ受信処理であっても、１パス処理を行うことができるため、スループットの向上が見込まれる効果がある。
【００３９】
（実施の形態２）
図３は、本発明の実施の形態２に係る暗号処理装置の構成を示す図である。
【００４０】
図３において、暗号処理装置３００は、上位プログラム３１０、暗復号認証処理制御部３２０、認証対象領域長取得部３３０、暗復号認証処理部３４０、及び暗復号認証リクエスト蓄積部３５０を備えて構成される。
【００４１】
上記暗復号認証処理制御部３２０及び暗復号認証リクエスト蓄積部３５０は、図１の制御部１１０に対応し、認証対象領域長取得部３３０は、図１の認証対象領域サイズ取得部１２０対応する。また、暗復号認証処理部３４０は、図１のＨＷ暗復号／認証処理部１３０に対応する。
【００４２】
上位プログラム３１０は、実際に暗号化されたデータの送受信を行おうとしているアプリケーション、もしくは、その他のプログラムである。
【００４３】
暗復号認証処理制御部３２０は、あらかじめ認証対象領域長取得部３３０から認証領域サイズを取得し、暗復号認証リクエストに取得した認証領域サイズを格納する。暗復号認証処理制御部３２０は、暗復号認証リクエストに格納されている平文・暗号化データを、暗復号認証処理部３４０に指示して暗復号認証処理を行う。暗復号認証処理制御部３２０は、暗復号認証リクエスト蓄積部３５０に暗復号認証リクエストが格納されている場合は、先に格納されている暗復号認証リクエストの暗復号認証処理を暗復号認証処理部３４０に依頼して、上位プログラム３１０から依頼された暗復号認証リクエストは暗復号認証リクエスト蓄積部３５０に格納する。また、暗復号認証処理制御部３２０は、暗復号認証処理部３４０が処理中の場合、暗復号認証リクエストを暗復号認証リクエスト蓄積部３５０に格納して処理を終了する。
【００４４】
認証対象領域長取得部３３０は、暗復号認証処理制御部３２０の指示に基づき、暗復号処理部３４０とは実体が異なる暗復号処理部（図示せず）を用いて、暗号化パケット中の末尾１ブロック（ＳＳＬの場合は末尾１６バイト）の復号処理を行う。認証対象領域長取得部３３０は、暗号化パケットのペイロード長と、復号された１ブロックの末尾１バイトに格納されたパディング（サイズ調節のための余分なデータ）長と、アルゴリズムに応じたＭＡＣ長、復号対象領域の開始位置、認証対象領域の開始位置からダイジェスト計算対象領域を算出し、暗復号認証処理制御部３２０に返却する。認証対象領域長取得部３３０は、暗号化パケットがＣＢＣモードで暗号化されていた場合には、パディング長が格納された末尾１バイトのみを直前のブロックとＸＯＲ演算することで、１ブロックすべてをＸＯＲ演算する必要がなくなり、演算の高速化を図ることが可能である。
【００４５】
暗復号認証処理部３４０は、暗復号処理又は認証処理を行う。暗復号認証処理部３４０は、暗復号認証処理制御部３２０の暗復号認証開始指示によって暗復号認証処理を開始し、暗復号認証処理が完了した時点で暗復号認証処理制御部３２０に処理完了通知を行う。例えば、暗復号認証処理部３４０は、ハードウェア割り込み処理にて起床されたソフトウェア割り込みによって処理完了通知をすることが望ましい。その後、暗復号認証処理部３４０は、暗復号認証処理制御部３２０の、暗復号認証完了処理指示によって、結果や付随データを取得するための完了処理を行う。処理の詳細については後述する。
【００４６】
暗復号認証リクエスト蓄積部３５０は、暗復号認証リクエストを出し入れするためのキュー構造である。通常ＦＩＦＯ（First-In First-Out）で構成されるが、例えばパケットのＴＯＳ（Type of Service）フィールドや、送受信アドレス、送受信ポート、プロトコルなどの情報を元に、デキューする暗復号認証リクエストに優先度をつけるようにするなど、その他の構成であってもよい。なお、ＴＯＳフィールドは、ＩＰヘッダに含まれる長さ８ビットの情報であり、上位３ビットが優先度を表示するＩＰプレシデンスである。
【００４７】
以下、上述のように構成された暗号処理装置３００の動作について説明する。
【００４８】
図４は、暗号処理装置３００の送信処理時の動作を説明するフローチャートである。図中、Ｓはフローの各ステップを示す。
【００４９】
ステップＳ１０１では、上位プログラム３１０は、ＩＰネットワーク等を通して受け取った復号化したいデータを、暗復号認証処理に必要なパラメータと共に暗復号認証リクエストとして、ｉｏｃｔｌコール（I/O control call）等を用いてカーネル空間（Kernel Space）にコピーし、暗復号認証リクエスト蓄積部３５０に格納し、暗復号認証処理制御部３２０に暗復号認証処理を指示する。
【００５０】
ステップＳ１０２では、暗復号認証処理制御部３２０は、認証対象領域長取得部３３０に対して、暗復号認証リクエストのデータ部分のうち、認証対象領域サイズ２１１（図２参照）を算出するよう指示する。
【００５１】
ステップＳ１０３では、認証対象領域長取得部３３０は、暗復号認証処理制御部３２０の指示に基づき、暗号化パケット中の末尾１ブロック（ＳＳＬの場合は末尾１６バイト）の復号処理を行う。認証対象領域長取得部３３０は、暗号化パケットのペイロード長と、復号された１ブロックの末尾１バイトに格納されたパディング（サイズ調節のための余分なデータ）長と、ＳＨＡ１、ＳＨＡ２５６等のアルゴリズムに応じたＭＡＣ長、復号対象領域の開始位置、及び認証対象領域の開始位置から認証対象領域を算出し、暗復号認証処理制御部３２０に返却する。
【００５２】
ステップＳ１０４では、暗復号認証処理制御部３２０は、認証対象領域長取得部３３０から受けとった認証対象領域サイズ２１１（図２参照）を暗復号認証リクエストに格納する。
【００５３】
ステップＳ１０５では、暗復号認証処理制御部３２０は、暗復号認証処理部３４０が処理中でないことを判別する。暗復号認証処理部３４０が処理中であった場合は、処理を終了する。
【００５４】
暗復号認証処理部３４０が処理中でなかった場合、ステップＳ１０６で暗復号認証処理制御部３２０は、暗復号認証処理部３４０によって既に暗復号認証処理が終了している暗復号認証リクエストがないか否かを判別する。
【００５５】
暗復号認証処理部３４０によって既に暗復号認証処理が終了している暗復号認証リクエストがない場合、ステップＳ１０７で暗復号認証処理制御部３２０は、暗復号認証処理部３４０によって既に暗復号認証処理が終了している暗復号認証リクエストの暗復号認証完了処理を行う。
【００５６】
上記ステップＳ１０６で既に暗復号認証処理が終了している暗復号認証リクエストがある場合、あるいは上記ステップＳ１０７で既に暗復号認証処理が終了している暗復号認証リクエストの暗復号認証完了処理を行った場合は、ステップＳ１０８に進む。
【００５７】
ステップＳ１０８では、暗復号認証処理制御部３２０は、暗復号認証リクエスト蓄積部３５０に暗復号認証リクエストが格納されているか否かを判別する。
【００５８】
暗復号認証リクエスト蓄積部３５０に暗復号認証リクエストが格納されている場合、ステップＳ１０９で暗復号認証処理制御部３２０は、暗復号認証処理部３４０のセットアップを行う。具体的には、暗復号認証処理制御部３２０は、暗復号認証リクエストに格納されている平文・暗号化データと暗復号認証処理に必要なパラメータを用いて、暗復号認証処理を暗復号認証処理部３４０に指示する。
【００５９】
ステップＳ１１０では、暗復号認証処理部３４０は、暗復号認証処理制御部３２０の指示に基づき、暗復号認証処理を開始する。ここで、暗復号認証処理は暗復号認証処理制御部３２０の処理とは非同期に実行され、処理の完了を待ち合わせることはしない。
【００６０】
上記ステップＳ１０８で暗復号認証リクエスト蓄積部３５０に暗復号認証リクエストが格納されていなかった場合、あるいは上記ステップＳ１０９で暗復号認証処理部３４０のセットアップを行った場合は、ステップＳ１１１に進む。
【００６１】
ステップＳ１１１では、暗復号認証処理制御部３２０は、上記ステップＳ１０７で暗復号認証完了処理を行った暗復号認証リクエストがあれば、上位プログラム３１０に処理結果を返却する。暗復号認証完了処理を行った暗復号認証リクエストがなければ、本フローを終了する。
【００６２】
図５は、暗号処理装置３００の暗復号認証処理部３４０で暗復号認証処理が終了した際の動作を説明するフローチャートである。
【００６３】
ステップＳ２０１では、暗復号認証処理部３４０は、暗復号認証処理制御部３２０に対してステップＳ２０２以降の処理を開始するようソフトウェア遅延割り込み処理の開始を指示する。ステップＳ２０２以降の処理は、図４のステップＳ１０５の処理と同じである。
【００６４】
すなわち、ステップＳ２０２では、暗復号認証処理制御部３２０は、暗復号認証処理部３４０が処理中でないかを判別する。暗復号認証処理部３４０が処理中であった場合は、処理を終了する。
【００６５】
暗復号認証処理部３４０が処理中でなかった場合、ステップＳ２０３で暗復号認証処理制御部３２０は、暗復号認証処理部３４０によって既に暗復号認証処理が終了している暗復号認証リクエストがないか否かを判別する。
【００６６】
暗復号認証処理部３４０によって既に暗復号認証処理が終了している暗復号認証リクエストがない場合、ステップＳ２０４で暗復号認証処理制御部３２０は、暗復号認証処理部３４０によって既に暗復号認証処理が終了している暗復号認証リクエストの暗復号認証完了処理を行う。
【００６７】
上記ステップＳ２０３で既に暗復号認証処理が終了している暗復号認証リクエストがある場合、あるいは上記ステップＳ２０４で既に暗復号認証処理が終了している暗復号認証リクエストの暗復号認証完了処理を行った場合は、ステップＳ２０５に進む。
【００６８】
ステップＳ２０５では、暗復号認証処理制御部３２０は、暗復号認証リクエスト蓄積部３５０に暗復号認証リクエストが格納されているか否かを判別する。
【００６９】
暗復号認証リクエスト蓄積部３５０に暗復号認証リクエストが格納されている場合、ステップＳ２０６で暗復号認証処理制御部３２０は、暗復号認証処理部３４０のセットアップを行う。具体的には、暗復号認証処理制御部３２０は、暗復号認証リクエストに格納されている平文・暗号化データと暗復号認証処理に必要なパラメータを用いて、暗復号認証処理を暗復号認証処理部３４０に指示する。
【００７０】
ステップＳ２０７では、暗復号認証処理部３４０は、暗復号認証処理制御部３２０の指示に基づき、暗復号認証処理を開始する。ここで、暗復号認証処理は暗復号認証処理制御部３２０の処理とは非同期に実行され、処理の完了を待ち合わせることはしない。
【００７１】
上記ステップＳ２０５で暗復号認証リクエスト蓄積部３５０に暗復号認証リクエストが格納されていなかった場合、あるいは上記ステップＳ２０６で暗復号認証処理部３４０のセットアップを行った場合は、ステップＳ２０８に進む。
【００７２】
ステップＳ２０８では、暗復号認証処理制御部３２０は、上記ステップＳ２０４で暗復号認証完了処理を行った暗復号認証リクエストがあれば、上位プログラム３１０に処理結果を返却する。暗復号認証完了処理を行った暗復号認証リクエストがなければ、本フローを終了する。
【００７３】
以上詳細に説明したように、本実施の形態によれば、暗号処理装置３００の認証対象領域長取得部３３０は、まず暗号化パケット中の末尾１ブロックの復号処理を行って認証対象領域サイズ（認証処理パラメータ）を取得し、暗復号認証処理制御部３２０は、取得した認証処理パラメータを暗復号認証処理部３４０にセットアップし、暗復号認証処理部３４０は、セットアップされた認証処理パラメータを元に暗復号認証処理を行うので、認証対象領域サイズが暗号化されているＳＳＬ受信処理において、受信したパケットを復号認証する際、ソフトウェア又はハードウェア機能ブロックの補助なく、かつ復号処理と認証処理を中断することなしに処理することができる。１パス処理を行うことができるため、スループットの向上を図ることができる。
【００７４】
以上の説明は本発明の好適な実施の形態の例証であり、本発明の範囲はこれに限定されることはない。例えば、ＩＰｖ６ネットワークを介してＩＰｓｅｃプロトコルにより暗号化通信を行う暗号化情報通信システムに適用可能であるが、ＩＰｖネットワークであればよく、ＩＰｖ６ネットワークの機能を含む上位バージョンが策定された場合はこれも包含するものである。
【００７５】
また、上記実施の形態に用いた各機能ブロックは、典型的には集積回路であるＬＳＩとして実現される。これらは個別に１チップ化されてもよいし、一部又は全てを含むように１チップ化されてもよい。集積度の違いにより、ＩＣ、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。
【００７６】
また、集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Field Programmable Gate Array）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
【００７７】
さらには、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
【００７８】
また、本実施の形態では暗号処理装置及び暗号処理方法という名称を用いたが、これは説明の便宜上であり、暗号化情報通信装置、通信処理方法等であってもよいことは勿論である。
【００７９】
さらに、上記暗号処理装置を構成する各部、例えば暗復号認証処理部の種類、その数及び接続方法などはどのようなものでもよい。
【００８０】
以上説明した暗号処理方法は、この暗号処理方法を機能させるためのプログラムでも実現される。このプログラムはコンピュータで読み取り可能な記録媒体に格納されている。
【産業上の利用可能性】
【００８１】
以上のように、本発明に係る暗号処理装置、暗号処理方法及びプログラムは、ソフトウェア処理、又は、ハードウェア処理によって高速なＩＰセキュア通信処理を行うことができる効果を有し、セキュア通信機器及び暗号処理方法等に有用である。
【図面の簡単な説明】
【００８２】
【図１】本発明の実施の形態１に係る暗号処理装置の構成を示す図
【図２】上記実施の形態１に係る暗号処理装置のＳＳＬ受信パケットのデータ構造を示す図
【図３】本発明の実施の形態２に係る暗号処理装置の構成を示す図
【図４】上記実施の形態２に係る暗号処理装置の送信処理時の動作を説明するフロー図
【図５】上記実施の形態２に係る暗号処理装置の暗復号認証処理部で暗復号認証処理が終了した際の動作を説明するフロー図
【図６】従来の暗号処理装置の構成を示すブロック図
【図７】従来の暗号処理装置の別の構成を示すブロック図
【符号の説明】
【００８３】
１００，３００  暗号処理装置
１１０  制御部
１２０  認証対象領域サイズ取得部
１３０  ＨＷ暗復号／認証処理部
３１０  上位プログラム
３２０  暗復号認証処理制御部
３３０  認証対象領域長取得部
３４０  暗復号認証処理部
３５０  暗復号認証リクエスト蓄積部
【図１】
2010057123.tif 000003
【図２】
2010057123.tif 000004
【図３】
2010057123.tif 000005
【図４】
2010057123.tif 000006
【図５】
2010057123.tif 000007
【図６】
2010057123.tif 000008
【図７】
2010057123.tif 000009