説明

情報処理装置、耐タンパーデバイス、暗号処理方法及びコンピュータプログラム

【課題】既にオーソライズされている暗号化の手法を活用して安全且つ高速な暗号処理を行うことのできる暗号処理技術を提供する。
【解決手段】耐タンパー性は高いが処理能力は低い耐タンパーデバイス(ICカード)200は、初期ベクトルIVの生成と初期ベクトルIV及び第1の鍵K1を用いて初段暗号演算ブロックE_1を生成する処理のみで行い、それ以降の処理は、処理能力の高いパーソナルコンピュータなどの端末装置100で行う。ブロック暗号におけるアルゴリズムは既存のものを採用することができる。暗号処理は、公知の出力フィードバックモードのように、先に行われたブロック暗号処理の結果情報を利用して、後のブロック暗号処理を繰り返すようなものを利用する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数のブロックに分けられるデータに対してブロック暗号処理を行う暗号処理技術に関する。より詳しくは、データに対する暗号処理を複数の装置、例えば情報処理装置と耐タンパーデバイスとの協働により行う暗号処理方法、及びそれを実現するための装置、デバイス、コンピュータプログラムに関する。
【背景技術】
【0002】
近年、不正アクセスの問題や情報漏洩問題が増加しており、耐タンパー性についての関心が高まっている。耐タンパー性を高めるための手法の一つは、外部からデータを読み取りにくいように機密性を高める方法である。その代表的なものとしては、ファイル・データの暗号化がある。このような暗号化の方式には種々あるが、処理時間との兼ね合いから、共通鍵暗号を用いて暗号化するのが現実的且つ一般的である。
【0003】
一方、共通鍵暗号方式の場合、暗号化に使用した鍵が漏洩してしまうと、当該鍵を用いて暗号化されたファイルの復号が可能になってしまうという問題がある。そのため、暗号化に使用した鍵が漏洩した場合であっても、その鍵を用いて暗号化されたファイルを保護することが求められている。
【0004】
この種の問題に対する解決手法として、例えばICカードなどで構成される耐タンパーデバイス内で暗号化処理を行わせることが考えられる。しかし、耐タンパーデバイスの情報処理能力は一般のパーソナルコンピュータなどの端末装置と比べて極めて低い。そのため、耐タンパーデバイス内でサイズの大きいファイルを暗号化させるのは非現実的である。
【0005】
このような一般的なICカードの低処理能力による問題点に着目し、新たな暗号化アルゴリズムをICカードに実装したものもある(特許文献1参照)。
【0006】
【特許文献1】特開2000−207284
【発明の開示】
【発明が解決しようとする課題】
【0007】
しかしながら、特許文献1において提案された暗号化方式は、特定のサイズまでのデータであれば比較的安全であるが、特定のサイズ以上のデータの暗号化においては問題の生じるおそれがある。
【0008】
本発明は、既にオーソライズされている暗号化の手法を有効活用して、安全且つ高速な暗号処理を可能にする暗号処理技術を提供することを主たる目的とする。
【課題を解決するための手段】
【0009】
本発明は、特徴的な暗号処理を行う情報処理装置、耐タンパーデバイス、暗号処理方法及びコンピュータプログラムにより上記課題の解決を図る。
本発明が提供する情報処理装置は、第1の鍵を有する耐タンパーデバイスと協働で、先に実行されたブロック暗号処理の結果情報を用いた後のブロック暗号処理の実行を繰り返すことにより、複数段連続するブロックから成る対象データを暗号化する情報処理装置であって、前記耐タンパーデバイスとの間の情報受け渡しを可能にするインタフェース部と、前記第1の鍵と異なる第2の鍵を格納する鍵格納部と、前記耐タンパーデバイスが前記第1の鍵を用いて実行したブロック暗号処理の結果情報を初段のブロック暗号処理の結果情報として前記インタフェース部を介して受け取るとともに前記鍵格納部から前記第2の鍵を読み取り、前記受け取った結果情報と前記読み取った第2の鍵とを用いた次段以降のブロック暗号処理の実行を繰り返す暗号処理部と、を備えて成る。
【0010】
前記耐タンパーデバイスは、例えば初段のブロックに対応するベクトルデータを前記第1の鍵で暗号化することにより第1暗号演算ブロックを生成する機能を有するものであり、前記暗号処理部は、例えば所定のメモリに記憶されている前記対象データから前記初段のブロックを読み出し、前記アクセス部を介して、前記読み出した初段のブロック又は当該ブロックに対応する前記ベクトルデータを前記耐タンパーデバイスに向けて送出するとともに当該耐タンパーデバイスから前記第1暗号演算ブロックを受け取り、この第1暗号演算ブロックと前記第2の鍵とを用いて次段のブロック暗号処理を実行するものである。
本発明が提供する耐タンパーデバイスは、第2の鍵を有する情報処理装置と協働で、先に実行されたブロック暗号処理の結果情報を用いた後のブロック暗号処理の実行を繰り返すことにより、複数段連続するブロックから成る対象データを暗号化する耐タンパーデバイスであって、前記情報処理装置との間の情報受け渡しを可能にするインタフェース装置と接続可能に構成されており、さらに、前記第2の鍵と異なる第1の鍵を格納する鍵格納部と、前記インタフェース装置を介して前記情報処理装置より前記対象データの一部を受け取り、受け取った前記一部の対象データに対する初段のブロック暗号処理を行うとともに、この結果情報を前記インタフェース装置を介して前記情報処理装置に送出する暗号処理部とを備えており、前記情報処理装置に前記結果情報を用いた前記対象データの残部に対する次段以降のブロック暗号処理を実行させるものである。
【0011】
本発明が提供する暗号処理方法は、第1の鍵を有する耐タンパーデバイスと第2の鍵を有する情報処理装置とが協働して、先に実行されたブロック暗号処理の結果情報を用いた後のブロック暗号処理の実行を繰り返すことにより、複数段連続するブロックから成る対象データを暗号化する暗号処理方法であって、前記情報処理装置が、所定のメモリに記憶されている前記対象データの一部を読み出し、この一部の対象データを前記耐タンパーデバイスに向けて送出する第1ステップと、前記耐タンパーデバイスが、前記情報処理装置より受け取った前記一部の対象データに対する初段のブロック暗号処理を行うとともに、この結果情報を前記情報処理装置に送出する第2ステップと、前記結果情報を受け取った前記情報処理装置が、当該結果情報と前記第2の鍵とを用いた次段以降のブロック暗号処理の実行を繰り返す第3ステップとを有する方法である。
【0012】
本発明が提供するコンピュータプログラムは、メモリを有するコンピュータを、第1の鍵を有する耐タンパーデバイスと協働で、先に実行されたブロック暗号処理の結果情報を用いた後のブロック暗号処理の実行を繰り返すことにより、複数段連続するブロックから成る対象データを暗号化する情報処理装置として動作させるためのコンピュータプログラムであって、前記コンピュータを、前記耐タンパーデバイスとの間の情報受け渡しを可能にするインタフェース部、前記第1の鍵と異なる第2の鍵を前記メモリに格納する鍵格納部、及び、前記耐タンパーデバイスが前記第1の鍵を用いて実行したブロック暗号処理の結果情報を初段のブロック暗号処理の結果情報として前記インタフェース部を介して受け取るとともに前記鍵格納部から前記第2の鍵を読み取り、前記受け取った結果情報と前記読み取った第2の鍵とを用いた次段以降のブロック暗号処理の実行を繰り返す暗号処理部、として機能させるコンピュータプログラムである。
【発明の効果】
【0013】
本発明によれば、ブロック暗号処理の一部のみが耐タンパーデバイスで行われ、残部は処理能力の高い情報処理装置で行われれるので、対象データの全体に対する暗号処理が高速になるという効果がある。特に、ブロック暗号は、安全性についてオーソライズされている既存の暗号利用モードを用いることができるので、データサイズなどによって信頼性が問題になることはなく、また、第2の鍵を紛失・漏洩した場合であっても、安全性が確保される。即ち、悪意の第三者が第2の鍵を入手したとしても、第1の鍵を入手できなければ正しい復号結果を得ることができないが、第1の鍵は耐タンパーデバイスに保持されているので高いセキュリティレベルを確保することができる。従って、第2の鍵が漏洩した場合であっても、通常は第1の鍵まで漏洩することはなく、暗号処理に関する安全性が担保される。
【発明を実施するための最良の形態】
【0014】
以下、本発明の実施の形態例による暗号化/復号システムについて説明する。
(第1の実施形態)
図1は、本発明の第1の実施形態による暗号化/復号システムの全体構成図である。この暗号化/復号システムは、情報処理装置の一例となる端末装置100、耐タンパーデバイスの一例となるICカード200及びICカード200のインタフェース装置の一例となるICカードリーダ/ライタ300を備えている。端末装置100としては、パーソナルコンピュータなどを使用することができる。ICカードリーダ/ライタ300は、端末装置100に接続して使用される。
【0015】
端末装置100は、CPU(プロセッサ・ユニット)110、ROM120、RAM130、補助記憶部としてのHDD(ハードディスク・ドライブ)140及びインタフェース部としてのI/O制御部150を備えている。HDD140には、CPU110に対して、本実施の形態により実行される暗号化/復号方法のうち、端末装置100側で行うべき処理を実行させるためのコンピュータプログラムと、暗号化/復号処理に用いられる第2の鍵(K2)とが格納されている。コンピュータプログラムは、RAM130上に展開される。CPU110は、この主記憶RAM130上に展開されたソフトウェア命令に従って動作し、それによりICカード200と協働で特徴的な暗号化/復号方法を具現化する。第2の鍵は、常時はUSBメモリなど端末装置100以外の手段に格納されていても良いが、暗号化/復号処理を行う際には、RAM130上に展開されるようにする。
RAM130上には、CPU110が当該ソフトウェア命令に従って動作している間に生成したデータ及びCPU110により利用されるデータが一時的に記憶される。
【0016】
ICカード200は、CPU210、ROM220、RAM230、補助記憶としてのEEPROM240を備えている。EEPROM140には、CPU210に対して、本実施の形態による暗号化/復号処理のうちICカード200側で行うべき処理を実行させるためのコンピュータプログラムと、暗号化/復号処理に用いられる第1の鍵(K1)が格納されている。コンピュータプログラムは、RAM230上に展開される。CPU210は、この主記憶RAM230上に展開されたソフトウェア命令に従って動作し、それにより端末装置100と協働で上記の暗号化/復号方法を具現化する。
RAM230上には、CPU210が当該ソフトウェア命令に従って動作している間に生成したデータ及びCPU210により利用されるデータが一時的に記憶される。
【0017】
ICカードリーダ/ライタ300は、I/O制御部150を介してCPU110の制御により、ICカード200との間の情報受け渡しを可能にするためのアクセス部として動作する。
なお、本実施の形態では、耐タンパーデバイスとしてICカード200を例に掲げたためにICカードリーダ/ライタ300を必要としているが、本発明はこれに限定されるものではない。即ち、本発明はICカード200以外の耐タンパーデバイスについても適用可能である。例えばI/O制御部150に直接接続する構成のものや、端末装置100に設けられた通信ポート(図示せず)などに接続する構成のものであっても良い。この場合は、ICカードリーダ/ライタを設ける必要はない。
【0018】
この暗号化/復号システムによる暗号化/復号処理は、上述したようにして端末装置100のRAM130上に展開されたソフトウェア命令をCPU110が実行する一方で、ICカード200のRAM230上に展開されたソフトウェア命令をCPU210が実行することにより実現される。より具体的には、端末装置100とICカード200との協働により出力フィードバック(Output FeedBack:OFBとも呼ばれる)モードによる暗号化を行う。また、端末装置100とICカード200との協働により出力フィードバックモードによる復号を行う。「出力フィードバックモード」とは、良く知られているように、あるブロックの内容が他のブロックの内容と同じであっても、その出力結果が同じにならないためのモードの一つである。図2及び図3は暗号化の手順説明図、図4及び図5は復号の処理手順図である。
【0019】
本実施の形態では、上記の出力フィードバックモードによる暗号化に先立ち、暗号化の対象となるデータを、そのランダム性を高めるために、予め圧縮する。通常、暗号前のデータは「平文」、暗号後のデータは「暗号文」と呼ばれるが、本実施の形態では、「平文」に関しては、圧縮前後のデータの区別をつけるべく、圧縮前のデータを「原データ」と呼び、圧縮後のデータを出力フィードバックモードによる暗号化の対象という意味で「対象データ」と呼ぶこととする。
【0020】
なお、圧縮以外の手段によってもランダム性を高めることができる。この場合、当該手段を適用する前のデータが原データであり、当該手段を適用した後のデータが「対象データ」となる。ランダム性を考慮する必要がなく、原データ(平文)をそのまま暗号化する場合には、原データが対象データとなる。
【0021】
上記の暗号化の手順をより詳しく説明する。図2を参照すると、端末装置100は、まず、原データを圧縮して対象データを生成し(ステップS101)、その対象データのうちの第1ブロック、例えば先頭ブロックA_1をICカード200に送信する(ステップS102)。
【0022】
ICカード200側では、端末装置100から先頭ブロックA_1を受信すると(ステップS201)、その先頭ブロックA_1から第1ベクトル、本例では初期ベクトルIVを求める(ステップS202)。
次いで、ICカード200が有する第1の鍵K1を用いて初期ベクトルIVを暗号化して初段暗号演算ブロックE_1を生成し(ステップS203)、その初段暗号演算ブロックE_1を端末装置100に送信する(ステップS204)。図3において“E”で示されるものは、Encrypter(暗号器:暗号アルゴリズム)である。これは、端末装置100内のEncrypterと同じものである。
【0023】
端末装置100は、ICカード200から初段暗号演算ブロックE_1を受け取ると(ステップS103)、この初段暗号演算ブロックE_1と第2の鍵K2とを用いて対象データを構成するすべてのブロックA_1、A_2、A_3・・・を出力フィードバックモードに従って暗号化し、暗号文を作成する(ステップS104)。
【0024】
詳しくは、端末装置100は、図3からわかるように、初段暗号演算ブロックE_1と先頭ブロック(第1ブロック)A_1との排他的論理和をとり、先頭ブロックA_1に対応する第1暗号文ブロックA_1’を生成する。
また、初段暗号演算ブロックE_1を第2の鍵K2で暗号化して次段暗号演算ブロックE_2を生成し、次段暗号演算ブロックE_2と第2ブロックA_2との排他的論理和をとることで、第2ブロックA_2を暗号化した第2暗号文ブロックA_2’を生成する。
更に、次段暗号演算ブロックE_2を第2の鍵K2で暗号化して暗号演算ブロックE_3を生成し、暗号演算ブロックE_3と第3ブロックA_3との排他的論理和をとることで、第3ブロックA_3を暗号化した第3暗号文ブロックA_3’を生成するといったようにして、以下、ブロック暗号処理を繰り返し行い、暗号文を得る。
【0025】
このようにして得られた暗号文の復号は、図4の手順で行われる。即ち、端末装置100は、暗号文の第1暗号文ブロック、本例では先頭ブロックA_1’をICカード200に送信する(ステップS301)。
【0026】
ICカード200側では、端末装置100から暗号文の先頭ブロックA_1’を受信すると(ステップS401)、その先頭ブロックA_1’に対応する第1ベクトル、本例では初期ベクトルIVを求める(ステップS402)。
次いで、ICカード200は、初期ベクトルIVを第1の鍵K1で復号して、復号演算ブロックD_1を生成し(ステップS403)、その復号演算ブロックD_1を端末装置100に送信する(ステップS404)。ここで、図5において“D”で示されるものは、Decrypter(復号器:復号アルゴリズム)であり、端末装置100内におけるDecrypterと同じものである。
【0027】
端末装置100は、ICカード200から復号演算ブロックD_1を受信すると(ステップS302)、復号演算ブロックD_1と第2の鍵K2とを用いて暗号文を構成するすべての暗号文ブロック(第1暗号文ブロックA_1’、第2暗号文ブロックA_2’、第3暗号文ブロックA_3’・・・)を出力フィードバックモードに従って復号して、対象データを作成する(ステップS303)。
【0028】
詳しくは、端末装置100は、図5からわかるように、復号演算ブロックD_1と第1暗号文ブロックA_1’との排他的論理和をとり、先頭ブロック(第1ブロック)A_1を復号する。
また、復号演算ブロックD_1を第2の鍵K2で復号して次段の復号演算ブロックD_2を生成し、復号演算ブロックD_2と第2暗号文ブロックA_2’の排他的論理和をとることで、第2ブロックA_2を生成する。
更に、復号演算ブロックD_2を第2の鍵K2で暗号化して復号演算ブロックD_3を生成し、暗号演算ブロックE_3と第3暗号文ブロックA_3’の排他的論理和をとることで、第3ブロックA_3を生成する。以下、ブロック復号処理を繰り返し行い、対象データを得る。
その後、端末装置100は、対象データを解凍(伸長)することにより、原データを作成する(ステップS304)。
【0029】
このような暗号化/復号方法では、端末装置100にて処理に用いる第2の鍵K2が漏洩した場合であっても、第1の鍵K1が耐タンパーデバイスであるICカード200に保存されているため、第2の鍵K2のみを取得した者が暗号文を適切に復号することはできず、高い安全性を確保することができる。
【0030】
この暗号化/復号方法では、また、安全性を検証されオーソライズされている既存のブロック暗号手法(暗号利用モード、出力フィードバックモード)を用いることができるので、この方法を具現化するためのコンピュータプログラムなどの開発が容易でありながら、高い信頼性を得ることができる。
【0031】
また、ICカード200側で行う暗号化に関する処理は、初期ベクトルIVの生成と初段の暗号演算ブロックE_1の生成のみであり、その後の処理は、端末装置100側で行えるので、サイズの大きいファイルであっても高速に暗号化することができる。
【0032】
本発明は、上述した実施の形態に限定されるわけではなく、耐タンパーデバイスの処理能力の向上や暗号化に要求される処理時間の緩和などによっては、ICカード200のような耐タンパーデバイス側で例えば第1暗号文ブロックA_1’の生成や、次段の暗号演算ブロックE_2の生成までを行い、以降の処理を端末装置100側で行うこととしても良い。
【0033】
(第2の実施形態)
本発明の第2の実施の形態により実行される暗号化/復号方法を説明する。この方法は、第1の実施の形態による暗号化/復号方法の変形例である。この方法を具現化するための装置構成等については第1の実施の形態と同じなので、それらについての説明は割愛し、処理のみについて説明する。
差異を簡単に説明すると、第1の実施の形態による暗号化/復号方法では、初期ベクトルIVをICカード200側で生成したが、第2の実施の形態による暗号化/復号方法では、初期ベクトルIVを端末装置100側で生成する。この方法の手順を図6〜図9を参照して説明する。
【0034】
図6及び図7を参照すると、端末装置100は、まず、原データを圧縮して対象データを生成する(ステップS501)。また、その対象データの先頭ブロック(第1ブロック)A_1から初期ベクトルIVを生成して(ステップS502)、生成した初期ベクトルIVをICカード200に送信する(ステップS503)。
【0035】
ICカード200側では、端末装置100から初期ベクトルIVを受信すると(ステップS601)、第1の鍵K1を用いて初期ベクトルIVを暗号化して初段暗号演算ブロックE_1を生成し(ステップS602)、その初段暗号演算ブロックE_1を端末装置100に送信する(ステップS603)。
【0036】
端末装置100は、ICカード200から初段暗号演算ブロックE_1を受けとると(ステップS504)、初段暗号演算ブロックE_1と第2の鍵K2とを用いて対象データを構成するすべてのブロックA_1、A_2、A_3・・・を出力フィードバックモードに従って暗号化し、暗号文を作成する(ステップS505)。このステップS505における処理の詳細は、第1の実施の形態の場合と同じである。
【0037】
このようにして得られた暗号文は、図8及び図9に示される手順で復号される。
復号に際して、端末装置100は、まず暗号文の先頭ブロックA_1’に対応する初期ベクトルIVを求め(ステップS701)、その初期ベクトルIVをICカード200に送信する(ステップS702)。
【0038】
ICカード200側では、端末装置100から初期ベクトルIVを受信すると(ステップS801)、その初期ベクトルIVを第1の鍵K1で復号して、復号演算ブロックD_1を生成し(ステップS802)、その復号演算ブロックD_1を端末装置100に送信する(ステップS803)。
【0039】
端末装置100は、ICカード200から復号演算ブロックD_1を受信すると(ステップS703)、復号演算ブロックD_1と第2の鍵K2とを用いて暗号文を構成するすべての暗号文ブロック(第1暗号文ブロックA_1’、第2暗号文ブロックA_2’、第3暗号文ブロックA_3’・・・)を出力フィードバックモードに従って復号して、対象データを作成する(ステップS704)。このステップS704における処理の詳細は、第1の実施の形態の場合と同様である。
その後、端末装置100は、対象データを解凍(伸張)して、原データを作成する(ステップS705)。
【0040】
本実施の形態によれば、第1の実施の形態により得られる効果に加え、初期ベクトルIV生成の演算処理も端末装置100側で行うこととしたため、更なる高速化が図れる。
【0041】
なお、第1及び第2の実施の形態では、一段前のブロックの処理結果がなければ、該当ブロックの暗号化/復号処理を実施できないこと、また、先頭ブロックの処理結果がなければ、複数段から成るブロックの一部すら正しく復号できない、ということが条件になっている。例えば、ブロック暗号利用モードであるECB、CBC、CFBでは、通常端末に登録されている鍵が漏洩した場合、その鍵を用いて先頭ブロック以外のブロックの復号が可能である。よって、暗号利用モードは、上述した出力フィードバックモードの場合だけでなく、先に行われたブロック暗号の処理内容を利用して後のブロック暗号を行う処理を順次繰り返すような暗号利用モードであって、かつ、先頭ブロックの処理結果がなければ、複数段からなるブロックの一部すら正しく復号できない暗号モードであれば、他の暗号利用モードであっても良い。
【図面の簡単な説明】
【0042】
【図1】本発明の第1の実施の形態による暗号化/復号システムの構成を概略的に示すブロック図である。
【図2】本発明の第1の実施の形態による暗号化方法を示す図である。
【図3】図2に示される暗号化方法におけるブロック暗号の関係を示す図である。
【図4】本発明の第1の実施の形態による復号方法を示す図である。
【図5】図4に示される復号方法におけるブロック暗号の関係を示す図である。
【図6】本発明の第2の実施の形態による暗号化方法を示す図である。
【図7】図6に示される暗号化方法におけるブロック暗号の関係を示す図である。
【図8】本発明の第2の実施の形態による復号方法を示す図である。
【図9】図8に示される復号方法におけるブロック暗号の関係を示す図である。
【符号の説明】
【0043】
100 端末装置
110 CPU
120 ROM
130 RAM
140 HDD
150 I/O制御部
200 ICカード
210 CPU
220 ROM
230 RAM
240 EEPROM
300 ICカードリーダ/ライタ

【特許請求の範囲】
【請求項1】
第1の鍵を有する耐タンパーデバイスと協働で、先に実行されたブロック暗号処理の結果情報を用いた後のブロック暗号処理の実行を繰り返すことにより、複数段連続するブロックから成る対象データを暗号化する情報処理装置であって、
前記耐タンパーデバイスとの間の情報受け渡しを可能にするインタフェース部と、
前記第1の鍵と異なる第2の鍵を格納する鍵格納部と、
前記耐タンパーデバイスが前記第1の鍵を用いて実行したブロック暗号処理の結果情報を初段のブロック暗号処理の結果情報として前記インタフェース部を介して受け取るとともに前記鍵格納部から前記第2の鍵を読み取り、前記受け取った結果情報と前記読み取った第2の鍵とを用いた次段以降のブロック暗号処理の実行を繰り返す暗号処理部と、
を備えて成る情報処理装置。
【請求項2】
前記耐タンパーデバイスは、初段のブロックに対応するベクトルデータを前記第1の鍵で暗号化することにより第1暗号演算ブロックを生成する機能を有するものであり、
前記暗号処理部は、所定のメモリに記憶されている前記対象データから前記初段のブロックを読み出し、前記アクセス部を介して、前記読み出した初段のブロック又は当該ブロックに対応する前記ベクトルデータを前記耐タンパーデバイスに向けて送出するとともに当該耐タンパーデバイスから前記第1暗号演算ブロックを受け取り、この第1暗号演算ブロックと前記第2の鍵とを用いて次段のブロック暗号処理を実行する、
請求項1記載の情報処理装置。
【請求項3】
第2の鍵を有する情報処理装置と協働で、先に実行されたブロック暗号処理の結果情報を用いた後のブロック暗号処理の実行を繰り返すことにより、複数段連続するブロックから成る対象データを暗号化する耐タンパーデバイスであって、
前記情報処理装置との間の情報受け渡しを可能にするインタフェース装置と接続可能に構成されており、さらに、
前記第2の鍵と異なる第1の鍵を格納する鍵格納部と、
前記インタフェース装置を介して前記情報処理装置より前記対象データの一部を受け取り、受け取った前記一部の対象データに対する初段のブロック暗号処理を行うとともに、この結果情報を前記インタフェース装置を介して前記情報処理装置に送出する暗号処理部とを備えており、
前記情報処理装置に前記結果情報を用いた前記対象データの残部に対する次段以降のブロック暗号処理を実行させる、
耐タンパーデバイス。
【請求項4】
第1の鍵を有する耐タンパーデバイスと第2の鍵を有する情報処理装置とが協働して、先に実行されたブロック暗号処理の結果情報を用いた後のブロック暗号処理の実行を繰り返すことにより、複数段連続するブロックから成る対象データを暗号化する暗号処理方法であって、
前記情報処理装置が、所定のメモリに記憶されている前記対象データの一部を読み出し、この一部の対象データを前記耐タンパーデバイスに向けて送出する第1ステップと、
前記耐タンパーデバイスが、前記情報処理装置より受け取った前記一部の対象データに対する初段のブロック暗号処理を行うとともに、この結果情報を前記情報処理装置に送出する第2ステップと、
前記結果情報を受け取った前記情報処理装置が、当該結果情報と前記第2の鍵とを用いた次段以降のブロック暗号処理の実行を繰り返す第3ステップとを有する、
暗号処理方法。
【請求項5】
メモリを有するコンピュータを、第1の鍵を有する耐タンパーデバイスと協働で、先に実行されたブロック暗号処理の結果情報を用いた後のブロック暗号処理の実行を繰り返すことにより、複数段連続するブロックから成る対象データを暗号化する情報処理装置として動作させるためのコンピュータプログラムであって、
前記コンピュータを、
前記耐タンパーデバイスとの間の情報受け渡しを可能にするインタフェース部、
前記第1の鍵と異なる第2の鍵を前記メモリに格納する鍵格納部、及び、
前記耐タンパーデバイスが前記第1の鍵を用いて実行したブロック暗号処理の結果情報を初段のブロック暗号処理の結果情報として前記インタフェース部を介して受け取るとともに前記鍵格納部から前記第2の鍵を読み取り、前記受け取った結果情報と前記読み取った第2の鍵とを用いた次段以降のブロック暗号処理の実行を繰り返す暗号処理部、として機能させる、コンピュータプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2007−158967(P2007−158967A)
【公開日】平成19年6月21日(2007.6.21)
【国際特許分類】
【出願番号】特願2005−353980(P2005−353980)
【出願日】平成17年12月7日(2005.12.7)
【出願人】(000102728)株式会社エヌ・ティ・ティ・データ (438)
【Fターム(参考)】