JP2007158967A - Information processing apparatus, tamper resistant device, encryption processing method and computer program - Google Patents
Information processing apparatus, tamper resistant device, encryption processing method and computer program Download PDFInfo
- Publication number
- JP2007158967A JP2007158967A JP2005353980A JP2005353980A JP2007158967A JP 2007158967 A JP2007158967 A JP 2007158967A JP 2005353980 A JP2005353980 A JP 2005353980A JP 2005353980 A JP2005353980 A JP 2005353980A JP 2007158967 A JP2007158967 A JP 2007158967A
- Authority
- JP
- Japan
- Prior art keywords
- key
- block
- encryption
- processing
- tamper resistant
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
Description
本発明は、複数のブロックに分けられるデータに対してブロック暗号処理を行う暗号処理技術に関する。より詳しくは、データに対する暗号処理を複数の装置、例えば情報処理装置と耐タンパーデバイスとの協働により行う暗号処理方法、及びそれを実現するための装置、デバイス、コンピュータプログラムに関する。 The present invention relates to a cryptographic processing technique for performing block cryptographic processing on data divided into a plurality of blocks. More specifically, the present invention relates to a cryptographic processing method for performing cryptographic processing on data in cooperation with a plurality of apparatuses, for example, an information processing apparatus and a tamper resistant device, and an apparatus, device, and computer program for realizing the cryptographic processing method.
近年、不正アクセスの問題や情報漏洩問題が増加しており、耐タンパー性についての関心が高まっている。耐タンパー性を高めるための手法の一つは、外部からデータを読み取りにくいように機密性を高める方法である。その代表的なものとしては、ファイル・データの暗号化がある。このような暗号化の方式には種々あるが、処理時間との兼ね合いから、共通鍵暗号を用いて暗号化するのが現実的且つ一般的である。 In recent years, problems of unauthorized access and information leakage problems have increased, and interest in tamper resistance has increased. One technique for improving tamper resistance is to increase confidentiality so that it is difficult to read data from the outside. A typical example is file data encryption. Although there are various types of such encryption methods, it is practical and general to perform encryption using common key encryption in consideration of the processing time.
一方、共通鍵暗号方式の場合、暗号化に使用した鍵が漏洩してしまうと、当該鍵を用いて暗号化されたファイルの復号が可能になってしまうという問題がある。そのため、暗号化に使用した鍵が漏洩した場合であっても、その鍵を用いて暗号化されたファイルを保護することが求められている。 On the other hand, in the case of the common key cryptosystem, there is a problem that if a key used for encryption leaks, a file encrypted using the key can be decrypted. For this reason, even if the key used for encryption is leaked, it is required to protect the file encrypted using the key.
この種の問題に対する解決手法として、例えばICカードなどで構成される耐タンパーデバイス内で暗号化処理を行わせることが考えられる。しかし、耐タンパーデバイスの情報処理能力は一般のパーソナルコンピュータなどの端末装置と比べて極めて低い。そのため、耐タンパーデバイス内でサイズの大きいファイルを暗号化させるのは非現実的である。 As a method for solving this type of problem, it is conceivable to perform encryption processing in a tamper resistant device constituted by, for example, an IC card. However, the information processing capability of the tamper resistant device is extremely low compared to a terminal device such as a general personal computer. Therefore, it is unrealistic to encrypt a large file within the tamper resistant device.
このような一般的なICカードの低処理能力による問題点に着目し、新たな暗号化アルゴリズムをICカードに実装したものもある(特許文献1参照)。 Focusing on the problems due to the low processing capability of such a general IC card, there is also one in which a new encryption algorithm is mounted on the IC card (see Patent Document 1).
しかしながら、特許文献1において提案された暗号化方式は、特定のサイズまでのデータであれば比較的安全であるが、特定のサイズ以上のデータの暗号化においては問題の生じるおそれがある。
However, the encryption method proposed in
本発明は、既にオーソライズされている暗号化の手法を有効活用して、安全且つ高速な暗号処理を可能にする暗号処理技術を提供することを主たる目的とする。 The main object of the present invention is to provide a cryptographic processing technique that enables safe and high-speed cryptographic processing by effectively utilizing an already-authorized encryption method.
本発明は、特徴的な暗号処理を行う情報処理装置、耐タンパーデバイス、暗号処理方法及びコンピュータプログラムにより上記課題の解決を図る。
本発明が提供する情報処理装置は、第1の鍵を有する耐タンパーデバイスと協働で、先に実行されたブロック暗号処理の結果情報を用いた後のブロック暗号処理の実行を繰り返すことにより、複数段連続するブロックから成る対象データを暗号化する情報処理装置であって、前記耐タンパーデバイスとの間の情報受け渡しを可能にするインタフェース部と、前記第1の鍵と異なる第2の鍵を格納する鍵格納部と、前記耐タンパーデバイスが前記第1の鍵を用いて実行したブロック暗号処理の結果情報を初段のブロック暗号処理の結果情報として前記インタフェース部を介して受け取るとともに前記鍵格納部から前記第2の鍵を読み取り、前記受け取った結果情報と前記読み取った第2の鍵とを用いた次段以降のブロック暗号処理の実行を繰り返す暗号処理部と、を備えて成る。
The present invention aims to solve the above problems by an information processing apparatus that performs characteristic cryptographic processing, a tamper resistant device, a cryptographic processing method, and a computer program.
The information processing apparatus provided by the present invention, in cooperation with the tamper resistant device having the first key, repeats the execution of the block cipher processing after using the result information of the block cipher processing executed earlier, An information processing apparatus for encrypting target data composed of a plurality of consecutive blocks, an interface unit that enables information exchange with the tamper resistant device, and a second key that is different from the first key A key storage unit to store, and the result of block cipher processing executed by the tamper-proof device using the first key is received as result information of first-stage block cipher processing via the interface unit, and the key storage unit The second key is read from the first and the subsequent block cipher processing using the received result information and the read second key is repeatedly executed. Consisting comprises a to the encryption processing unit.
前記耐タンパーデバイスは、例えば初段のブロックに対応するベクトルデータを前記第1の鍵で暗号化することにより第1暗号演算ブロックを生成する機能を有するものであり、前記暗号処理部は、例えば所定のメモリに記憶されている前記対象データから前記初段のブロックを読み出し、前記アクセス部を介して、前記読み出した初段のブロック又は当該ブロックに対応する前記ベクトルデータを前記耐タンパーデバイスに向けて送出するとともに当該耐タンパーデバイスから前記第1暗号演算ブロックを受け取り、この第1暗号演算ブロックと前記第2の鍵とを用いて次段のブロック暗号処理を実行するものである。
本発明が提供する耐タンパーデバイスは、第2の鍵を有する情報処理装置と協働で、先に実行されたブロック暗号処理の結果情報を用いた後のブロック暗号処理の実行を繰り返すことにより、複数段連続するブロックから成る対象データを暗号化する耐タンパーデバイスであって、前記情報処理装置との間の情報受け渡しを可能にするインタフェース装置と接続可能に構成されており、さらに、前記第2の鍵と異なる第1の鍵を格納する鍵格納部と、前記インタフェース装置を介して前記情報処理装置より前記対象データの一部を受け取り、受け取った前記一部の対象データに対する初段のブロック暗号処理を行うとともに、この結果情報を前記インタフェース装置を介して前記情報処理装置に送出する暗号処理部とを備えており、前記情報処理装置に前記結果情報を用いた前記対象データの残部に対する次段以降のブロック暗号処理を実行させるものである。
The tamper resistant device has a function of generating a first cryptographic operation block by encrypting, for example, vector data corresponding to a block in the first stage with the first key. The first block is read from the target data stored in the memory, and the read first block or the vector data corresponding to the block is sent to the tamper resistant device via the access unit. At the same time, the first cryptographic operation block is received from the tamper resistant device, and the next block cipher processing is executed using the first cryptographic operation block and the second key.
The tamper resistant device provided by the present invention, in cooperation with the information processing apparatus having the second key, by repeating the execution of the block cipher processing after using the result information of the block cipher processing executed earlier, A tamper resistant device that encrypts target data composed of a plurality of consecutive blocks, and is configured to be connectable to an interface device that enables information exchange with the information processing device. A key storage unit that stores a first key that is different from the key of the key, and a part of the target data received from the information processing device via the interface device, and a first-stage block encryption process for the received target data And a cipher processing unit for sending the result information to the information processing device via the interface device. It is intended to execute the following stages of the block cipher processing to the rest of the object data using the result information to the management device.
本発明が提供する暗号処理方法は、第1の鍵を有する耐タンパーデバイスと第2の鍵を有する情報処理装置とが協働して、先に実行されたブロック暗号処理の結果情報を用いた後のブロック暗号処理の実行を繰り返すことにより、複数段連続するブロックから成る対象データを暗号化する暗号処理方法であって、前記情報処理装置が、所定のメモリに記憶されている前記対象データの一部を読み出し、この一部の対象データを前記耐タンパーデバイスに向けて送出する第1ステップと、前記耐タンパーデバイスが、前記情報処理装置より受け取った前記一部の対象データに対する初段のブロック暗号処理を行うとともに、この結果情報を前記情報処理装置に送出する第2ステップと、前記結果情報を受け取った前記情報処理装置が、当該結果情報と前記第2の鍵とを用いた次段以降のブロック暗号処理の実行を繰り返す第3ステップとを有する方法である。 In the cryptographic processing method provided by the present invention, the tamper-resistant device having the first key and the information processing apparatus having the second key cooperate to use the result information of the block cryptographic processing executed previously. An encryption processing method for encrypting target data composed of a plurality of consecutive blocks by repeating execution of subsequent block encryption processing, wherein the information processing apparatus stores the target data stored in a predetermined memory. A first step of reading a part and sending the part of the target data to the tamper resistant device; and a first block cipher for the part of the target data received by the tamper resistant device from the information processing apparatus A second step of performing processing and sending the result information to the information processing apparatus; and the information processing apparatus receiving the result information A third method and a step of repeating the execution of the next subsequent block cipher processing using said boric second key.
本発明が提供するコンピュータプログラムは、メモリを有するコンピュータを、第1の鍵を有する耐タンパーデバイスと協働で、先に実行されたブロック暗号処理の結果情報を用いた後のブロック暗号処理の実行を繰り返すことにより、複数段連続するブロックから成る対象データを暗号化する情報処理装置として動作させるためのコンピュータプログラムであって、前記コンピュータを、前記耐タンパーデバイスとの間の情報受け渡しを可能にするインタフェース部、前記第1の鍵と異なる第2の鍵を前記メモリに格納する鍵格納部、及び、前記耐タンパーデバイスが前記第1の鍵を用いて実行したブロック暗号処理の結果情報を初段のブロック暗号処理の結果情報として前記インタフェース部を介して受け取るとともに前記鍵格納部から前記第2の鍵を読み取り、前記受け取った結果情報と前記読み取った第2の鍵とを用いた次段以降のブロック暗号処理の実行を繰り返す暗号処理部、として機能させるコンピュータプログラムである。 The computer program provided by the present invention executes a block cipher process after using a result of the block cipher process executed previously in cooperation with a tamper resistant device having a first key in a computer program provided with a memory. Is a computer program for operating as an information processing apparatus that encrypts target data consisting of a plurality of consecutive blocks, and enables the computer to exchange information with the tamper resistant device An interface unit, a key storage unit that stores a second key different from the first key in the memory, and result information of a block cipher process executed by the tamper resistant device using the first key. Received as result information of block cipher processing through the interface unit and from the key storage unit Reading the serial second key is a computer program to function as the encryption processing unit, repeating the execution of the next subsequent block cipher process using a second key that has been read the said received result information.
本発明によれば、ブロック暗号処理の一部のみが耐タンパーデバイスで行われ、残部は処理能力の高い情報処理装置で行われれるので、対象データの全体に対する暗号処理が高速になるという効果がある。特に、ブロック暗号は、安全性についてオーソライズされている既存の暗号利用モードを用いることができるので、データサイズなどによって信頼性が問題になることはなく、また、第2の鍵を紛失・漏洩した場合であっても、安全性が確保される。即ち、悪意の第三者が第2の鍵を入手したとしても、第1の鍵を入手できなければ正しい復号結果を得ることができないが、第1の鍵は耐タンパーデバイスに保持されているので高いセキュリティレベルを確保することができる。従って、第2の鍵が漏洩した場合であっても、通常は第1の鍵まで漏洩することはなく、暗号処理に関する安全性が担保される。 According to the present invention, only part of the block cipher processing is performed by the tamper-resistant device, and the remaining part is performed by the information processing apparatus with high processing capability. is there. In particular, block ciphers can use existing cipher usage modes that have been authorized for security, so there is no problem with reliability depending on the data size, and the second key is lost or leaked. Even in this case, safety is ensured. That is, even if a malicious third party obtains the second key, a correct decryption result cannot be obtained unless the first key is obtained, but the first key is held in the tamper resistant device. Therefore, a high security level can be ensured. Therefore, even if the second key is leaked, normally the first key is not leaked, and the security regarding the cryptographic processing is ensured.
以下、本発明の実施の形態例による暗号化/復号システムについて説明する。
(第1の実施形態)
図1は、本発明の第1の実施形態による暗号化/復号システムの全体構成図である。この暗号化/復号システムは、情報処理装置の一例となる端末装置100、耐タンパーデバイスの一例となるICカード200及びICカード200のインタフェース装置の一例となるICカードリーダ/ライタ300を備えている。端末装置100としては、パーソナルコンピュータなどを使用することができる。ICカードリーダ/ライタ300は、端末装置100に接続して使用される。
Hereinafter, an encryption / decryption system according to an embodiment of the present invention will be described.
(First embodiment)
FIG. 1 is an overall configuration diagram of an encryption / decryption system according to a first embodiment of the present invention. This encryption / decryption system includes a terminal device 100 as an example of an information processing device, an
端末装置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により利用されるデータが一時的に記憶される。
The terminal device 100 includes a CPU (processor unit) 110, a
On the
ICカード200は、CPU210、ROM220、RAM230、補助記憶としてのEEPROM240を備えている。EEPROM140には、CPU210に対して、本実施の形態による暗号化/復号処理のうちICカード200側で行うべき処理を実行させるためのコンピュータプログラムと、暗号化/復号処理に用いられる第1の鍵(K1)が格納されている。コンピュータプログラムは、RAM230上に展開される。CPU210は、この主記憶RAM230上に展開されたソフトウェア命令に従って動作し、それにより端末装置100と協働で上記の暗号化/復号方法を具現化する。
RAM230上には、CPU210が当該ソフトウェア命令に従って動作している間に生成したデータ及びCPU210により利用されるデータが一時的に記憶される。
The
On the
ICカードリーダ/ライタ300は、I/O制御部150を介してCPU110の制御により、ICカード200との間の情報受け渡しを可能にするためのアクセス部として動作する。
なお、本実施の形態では、耐タンパーデバイスとしてICカード200を例に掲げたためにICカードリーダ/ライタ300を必要としているが、本発明はこれに限定されるものではない。即ち、本発明はICカード200以外の耐タンパーデバイスについても適用可能である。例えばI/O制御部150に直接接続する構成のものや、端末装置100に設けられた通信ポート(図示せず)などに接続する構成のものであっても良い。この場合は、ICカードリーダ/ライタを設ける必要はない。
The IC card reader /
In this embodiment, since the
この暗号化/復号システムによる暗号化/復号処理は、上述したようにして端末装置100のRAM130上に展開されたソフトウェア命令をCPU110が実行する一方で、ICカード200のRAM230上に展開されたソフトウェア命令をCPU210が実行することにより実現される。より具体的には、端末装置100とICカード200との協働により出力フィードバック(Output FeedBack:OFBとも呼ばれる)モードによる暗号化を行う。また、端末装置100とICカード200との協働により出力フィードバックモードによる復号を行う。「出力フィードバックモード」とは、良く知られているように、あるブロックの内容が他のブロックの内容と同じであっても、その出力結果が同じにならないためのモードの一つである。図2及び図3は暗号化の手順説明図、図4及び図5は復号の処理手順図である。
In the encryption / decryption processing by this encryption / decryption system, the
本実施の形態では、上記の出力フィードバックモードによる暗号化に先立ち、暗号化の対象となるデータを、そのランダム性を高めるために、予め圧縮する。通常、暗号前のデータは「平文」、暗号後のデータは「暗号文」と呼ばれるが、本実施の形態では、「平文」に関しては、圧縮前後のデータの区別をつけるべく、圧縮前のデータを「原データ」と呼び、圧縮後のデータを出力フィードバックモードによる暗号化の対象という意味で「対象データ」と呼ぶこととする。 In this embodiment, prior to encryption in the output feedback mode, the data to be encrypted is compressed in advance in order to increase its randomness. Normally, the data before encryption is called “plaintext”, and the data after encryption is called “ciphertext”. In this embodiment, “plaintext” is data before compression in order to distinguish between data before and after compression. Is called “original data”, and the compressed data is called “target data” in the sense of being encrypted in the output feedback mode.
なお、圧縮以外の手段によってもランダム性を高めることができる。この場合、当該手段を適用する前のデータが原データであり、当該手段を適用した後のデータが「対象データ」となる。ランダム性を考慮する必要がなく、原データ(平文)をそのまま暗号化する場合には、原データが対象データとなる。 Note that the randomness can be improved by means other than compression. In this case, the data before applying the means is the original data, and the data after applying the means is the “target data”. When it is not necessary to consider randomness and the original data (plain text) is encrypted as it is, the original data becomes the target data.
上記の暗号化の手順をより詳しく説明する。図2を参照すると、端末装置100は、まず、原データを圧縮して対象データを生成し(ステップS101)、その対象データのうちの第1ブロック、例えば先頭ブロックA_1をICカード200に送信する(ステップS102)。
The above encryption procedure will be described in more detail. Referring to FIG. 2, the terminal device 100 first compresses the original data to generate target data (step S101), and transmits the first block of the target data, for example, the first block A_1 to the
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と同じものである。
On the
Next, the initial vector IV is encrypted using the first key K1 of the
端末装置100は、ICカード200から初段暗号演算ブロックE_1を受け取ると(ステップS103)、この初段暗号演算ブロックE_1と第2の鍵K2とを用いて対象データを構成するすべてのブロックA_1、A_2、A_3・・・を出力フィードバックモードに従って暗号化し、暗号文を作成する(ステップS104)。 When the terminal device 100 receives the first-stage cryptographic operation block E_1 from the IC card 200 (step S103), the terminal device 100 uses all the blocks A_1 and A_2 constituting the target data using the first-stage cryptographic operation block E_1 and the second key K2. A_3... Is encrypted according to the output feedback mode to create a ciphertext (step S104).
詳しくは、端末装置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’を生成するといったようにして、以下、ブロック暗号処理を繰り返し行い、暗号文を得る。
Specifically, as can be seen from FIG. 3, the terminal device 100 performs an exclusive OR operation between the first-stage cryptographic operation block E_1 and the first block (first block) A_1, and the first ciphertext block A_1 corresponding to the first block A_1. Generate '.
In addition, the first-stage cryptographic operation block E_1 is encrypted with the second key K2 to generate the second-stage cryptographic operation block E_2, and the second-stage cryptographic operation block E_2 and the second block A_2 are exclusive-ORed, A second ciphertext block A_2 ′ obtained by encrypting the two blocks A_2 is generated.
Further, the next-stage cryptographic operation block E_2 is encrypted with the second key K2 to generate the cryptographic operation block E_3, and the third block A_3 is obtained by taking the exclusive OR of the cryptographic operation block E_3 and the third block A_3. In the following, block cipher processing is repeatedly performed to generate a ciphertext.
このようにして得られた暗号文の復号は、図4の手順で行われる。即ち、端末装置100は、暗号文の第1暗号文ブロック、本例では先頭ブロックA_1’をICカード200に送信する(ステップS301)。 Decryption of the ciphertext obtained in this way is performed according to the procedure of FIG. That is, the terminal device 100 transmits the first ciphertext block of the ciphertext, in this example, the first block A_1 'to the IC card 200 (step S301).
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と同じものである。
When receiving the first block A_1 ′ of the ciphertext from the terminal device 100 (step S401), the
Next, the
端末装置100は、ICカード200から復号演算ブロックD_1を受信すると(ステップS302)、復号演算ブロックD_1と第2の鍵K2とを用いて暗号文を構成するすべての暗号文ブロック(第1暗号文ブロックA_1’、第2暗号文ブロックA_2’、第3暗号文ブロックA_3’・・・)を出力フィードバックモードに従って復号して、対象データを作成する(ステップS303)。 When receiving the decryption operation block D_1 from the IC card 200 (step S302), the terminal device 100 uses all the ciphertext blocks (first ciphertext) constituting the ciphertext using the decryption operation block D_1 and the second key K2. The block A_1 ′, the second ciphertext block A_2 ′, the third ciphertext block A_3 ′...) Are decrypted according to the output feedback mode, and target data is created (step S303).
詳しくは、端末装置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)。
Specifically, as can be seen from FIG. 5, the terminal device 100 performs an exclusive OR of the decryption operation block D_1 and the first ciphertext block A_1 ′, and decrypts the first block (first block) A_1.
Also, the decryption operation block D_1 is decrypted with the second key K2 to generate the next-stage decryption operation block D_2, and exclusive decryption of the decryption operation block D_2 and the second ciphertext block A_2 ′ is performed. Two blocks A_2 are generated.
Furthermore, the decryption operation block D_2 is encrypted with the second key K2 to generate the decryption operation block D_3, and the third block A_3 is obtained by taking the exclusive OR of the encryption operation block E_3 and the third ciphertext block A_3 ′. Is generated. Thereafter, the block decoding process is repeated to obtain target data.
Thereafter, the terminal device 100 creates original data by decompressing (decompressing) the target data (step S304).
このような暗号化/復号方法では、端末装置100にて処理に用いる第2の鍵K2が漏洩した場合であっても、第1の鍵K1が耐タンパーデバイスであるICカード200に保存されているため、第2の鍵K2のみを取得した者が暗号文を適切に復号することはできず、高い安全性を確保することができる。
In such an encryption / decryption method, even when the second key K2 used for processing in the terminal device 100 is leaked, the first key K1 is stored in the
この暗号化/復号方法では、また、安全性を検証されオーソライズされている既存のブロック暗号手法(暗号利用モード、出力フィードバックモード)を用いることができるので、この方法を具現化するためのコンピュータプログラムなどの開発が容易でありながら、高い信頼性を得ることができる。 In this encryption / decryption method, an existing block encryption method (encryption use mode, output feedback mode) whose safety has been verified and authorized can be used. Therefore, a computer program for embodying this method While being easy to develop, it is possible to obtain high reliability.
また、ICカード200側で行う暗号化に関する処理は、初期ベクトルIVの生成と初段の暗号演算ブロックE_1の生成のみであり、その後の処理は、端末装置100側で行えるので、サイズの大きいファイルであっても高速に暗号化することができる。
Further, the encryption-related processing performed on the
本発明は、上述した実施の形態に限定されるわけではなく、耐タンパーデバイスの処理能力の向上や暗号化に要求される処理時間の緩和などによっては、ICカード200のような耐タンパーデバイス側で例えば第1暗号文ブロックA_1’の生成や、次段の暗号演算ブロックE_2の生成までを行い、以降の処理を端末装置100側で行うこととしても良い。
The present invention is not limited to the above-described embodiment. Depending on the improvement of the processing capability of the tamper resistant device and the reduction of the processing time required for encryption, the tamper resistant device side such as the
(第2の実施形態)
本発明の第2の実施の形態により実行される暗号化/復号方法を説明する。この方法は、第1の実施の形態による暗号化/復号方法の変形例である。この方法を具現化するための装置構成等については第1の実施の形態と同じなので、それらについての説明は割愛し、処理のみについて説明する。
差異を簡単に説明すると、第1の実施の形態による暗号化/復号方法では、初期ベクトルIVをICカード200側で生成したが、第2の実施の形態による暗号化/復号方法では、初期ベクトルIVを端末装置100側で生成する。この方法の手順を図6〜図9を参照して説明する。
(Second Embodiment)
An encryption / decryption method executed according to the second embodiment of the present invention will be described. This method is a modification of the encryption / decryption method according to the first embodiment. Since the apparatus configuration and the like for realizing this method are the same as those in the first embodiment, description thereof will be omitted and only processing will be described.
The difference will be briefly described. In the encryption / decryption method according to the first embodiment, the initial vector IV is generated on the
図6及び図7を参照すると、端末装置100は、まず、原データを圧縮して対象データを生成する(ステップS501)。また、その対象データの先頭ブロック(第1ブロック)A_1から初期ベクトルIVを生成して(ステップS502)、生成した初期ベクトルIVをICカード200に送信する(ステップS503)。 Referring to FIGS. 6 and 7, the terminal device 100 first generates target data by compressing the original data (step S501). Also, an initial vector IV is generated from the first block (first block) A_1 of the target data (step S502), and the generated initial vector IV is transmitted to the IC card 200 (step S503).
ICカード200側では、端末装置100から初期ベクトルIVを受信すると(ステップS601)、第1の鍵K1を用いて初期ベクトルIVを暗号化して初段暗号演算ブロックE_1を生成し(ステップS602)、その初段暗号演算ブロックE_1を端末装置100に送信する(ステップS603)。
When receiving the initial vector IV from the terminal device 100 (step S601), the
端末装置100は、ICカード200から初段暗号演算ブロックE_1を受けとると(ステップS504)、初段暗号演算ブロックE_1と第2の鍵K2とを用いて対象データを構成するすべてのブロックA_1、A_2、A_3・・・を出力フィードバックモードに従って暗号化し、暗号文を作成する(ステップS505)。このステップS505における処理の詳細は、第1の実施の形態の場合と同じである。 When receiving the first-stage cryptographic operation block E_1 from the IC card 200 (step S504), the terminal device 100 uses all the blocks A_1, A_2, and A_3 constituting the target data using the first-stage cryptographic operation block E_1 and the second key K2. Are encrypted in accordance with the output feedback mode to create a ciphertext (step S505). Details of the processing in step S505 are the same as those in the first embodiment.
このようにして得られた暗号文は、図8及び図9に示される手順で復号される。
復号に際して、端末装置100は、まず暗号文の先頭ブロックA_1’に対応する初期ベクトルIVを求め(ステップS701)、その初期ベクトルIVをICカード200に送信する(ステップS702)。
The ciphertext thus obtained is decrypted by the procedure shown in FIGS.
In decryption, the terminal device 100 first obtains an initial vector IV corresponding to the first block A_1 ′ of the ciphertext (step S701), and transmits the initial vector IV to the IC card 200 (step S702).
ICカード200側では、端末装置100から初期ベクトルIVを受信すると(ステップS801)、その初期ベクトルIVを第1の鍵K1で復号して、復号演算ブロックD_1を生成し(ステップS802)、その復号演算ブロックD_1を端末装置100に送信する(ステップS803)。
When receiving the initial vector IV from the terminal device 100 (step S801), the
端末装置100は、ICカード200から復号演算ブロックD_1を受信すると(ステップS703)、復号演算ブロックD_1と第2の鍵K2とを用いて暗号文を構成するすべての暗号文ブロック(第1暗号文ブロックA_1’、第2暗号文ブロックA_2’、第3暗号文ブロックA_3’・・・)を出力フィードバックモードに従って復号して、対象データを作成する(ステップS704)。このステップS704における処理の詳細は、第1の実施の形態の場合と同様である。
その後、端末装置100は、対象データを解凍(伸張)して、原データを作成する(ステップS705)。
When the terminal device 100 receives the decryption operation block D_1 from the IC card 200 (step S703), the terminal device 100 uses all of the ciphertext blocks (first ciphertext) constituting the ciphertext using the decryption operation block D_1 and the second key K2. The block A_1 ′, the second ciphertext block A_2 ′, the third ciphertext block A_3 ′...) Are decrypted according to the output feedback mode, and target data is created (step S704). Details of the processing in step S704 are the same as in the case of the first embodiment.
Thereafter, the terminal device 100 decompresses (decompresses) the target data to create original data (step S705).
本実施の形態によれば、第1の実施の形態により得られる効果に加え、初期ベクトルIV生成の演算処理も端末装置100側で行うこととしたため、更なる高速化が図れる。 According to the present embodiment, in addition to the effects obtained by the first embodiment, the calculation processing for generating the initial vector IV is also performed on the terminal device 100 side, so that further speedup can be achieved.
なお、第1及び第2の実施の形態では、一段前のブロックの処理結果がなければ、該当ブロックの暗号化/復号処理を実施できないこと、また、先頭ブロックの処理結果がなければ、複数段から成るブロックの一部すら正しく復号できない、ということが条件になっている。例えば、ブロック暗号利用モードであるECB、CBC、CFBでは、通常端末に登録されている鍵が漏洩した場合、その鍵を用いて先頭ブロック以外のブロックの復号が可能である。よって、暗号利用モードは、上述した出力フィードバックモードの場合だけでなく、先に行われたブロック暗号の処理内容を利用して後のブロック暗号を行う処理を順次繰り返すような暗号利用モードであって、かつ、先頭ブロックの処理結果がなければ、複数段からなるブロックの一部すら正しく復号できない暗号モードであれば、他の暗号利用モードであっても良い。 In the first and second embodiments, if there is no processing result of the previous block, the encryption / decryption processing of the block cannot be performed, and if there is no processing result of the first block, a plurality of stages It is a condition that even a part of the block consisting of cannot be correctly decoded. For example, in ECB, CBC, and CFB, which are block cipher usage modes, when a key registered in a normal terminal leaks, it is possible to decrypt a block other than the head block using that key. Therefore, the cipher usage mode is not only the output feedback mode described above, but also a cipher usage mode in which the process of performing subsequent block ciphers using the processing contents of the block cipher performed earlier is sequentially repeated. In addition, if there is no processing result of the first block, other cipher use modes may be used as long as even a part of a block consisting of a plurality of stages cannot be decrypted correctly.
100 端末装置
110 CPU
120 ROM
130 RAM
140 HDD
150 I/O制御部
200 ICカード
210 CPU
220 ROM
230 RAM
240 EEPROM
300 ICカードリーダ/ライタ
100
120 ROM
130 RAM
140 HDD
150 I /
220 ROM
230 RAM
240 EEPROM
300 IC card reader / writer
Claims (5)
前記耐タンパーデバイスとの間の情報受け渡しを可能にするインタフェース部と、
前記第1の鍵と異なる第2の鍵を格納する鍵格納部と、
前記耐タンパーデバイスが前記第1の鍵を用いて実行したブロック暗号処理の結果情報を初段のブロック暗号処理の結果情報として前記インタフェース部を介して受け取るとともに前記鍵格納部から前記第2の鍵を読み取り、前記受け取った結果情報と前記読み取った第2の鍵とを用いた次段以降のブロック暗号処理の実行を繰り返す暗号処理部と、
を備えて成る情報処理装置。 In cooperation with the tamper resistant device having the first key, by repeating the execution of the block encryption process after using the result information of the previously executed block encryption process, the target data consisting of a plurality of consecutive blocks is obtained. An information processing device for encryption,
An interface unit that enables information exchange with the tamper resistant device;
A key storage unit for storing a second key different from the first key;
The tamper resistant device receives the result information of the block cipher process executed by using the first key as the result information of the first stage block cipher process through the interface unit, and receives the second key from the key storage unit. An encryption processing unit that repeats execution of block encryption processing from the next stage using the read result information and the read second key;
An information processing apparatus comprising:
前記暗号処理部は、所定のメモリに記憶されている前記対象データから前記初段のブロックを読み出し、前記アクセス部を介して、前記読み出した初段のブロック又は当該ブロックに対応する前記ベクトルデータを前記耐タンパーデバイスに向けて送出するとともに当該耐タンパーデバイスから前記第1暗号演算ブロックを受け取り、この第1暗号演算ブロックと前記第2の鍵とを用いて次段のブロック暗号処理を実行する、
請求項1記載の情報処理装置。 The tamper resistant device has a function of generating a first cryptographic operation block by encrypting vector data corresponding to a block in the first stage with the first key,
The encryption processing unit reads the first-stage block from the target data stored in a predetermined memory, and the read first-stage block or the vector data corresponding to the block is read through the access unit. Sending to the tamper device and receiving the first cryptographic operation block from the tamper resistant device, and executing the next block cipher processing using the first cryptographic operation block and the second key;
The information processing apparatus according to claim 1.
前記情報処理装置との間の情報受け渡しを可能にするインタフェース装置と接続可能に構成されており、さらに、
前記第2の鍵と異なる第1の鍵を格納する鍵格納部と、
前記インタフェース装置を介して前記情報処理装置より前記対象データの一部を受け取り、受け取った前記一部の対象データに対する初段のブロック暗号処理を行うとともに、この結果情報を前記インタフェース装置を介して前記情報処理装置に送出する暗号処理部とを備えており、
前記情報処理装置に前記結果情報を用いた前記対象データの残部に対する次段以降のブロック暗号処理を実行させる、
耐タンパーデバイス。 In cooperation with the information processing apparatus having the second key, by repeating the execution of the block encryption process after using the result information of the previously executed block encryption process, the target data consisting of a plurality of consecutive blocks is obtained. A tamper resistant device for encryption,
It is configured to be connectable with an interface device that enables information exchange with the information processing device, and
A key storage unit for storing a first key different from the second key;
A part of the target data is received from the information processing device via the interface device, and first-stage block encryption processing is performed on the received part of the target data, and the result information is transmitted to the information via the interface device. An encryption processing unit to be sent to the processing device,
Causing the information processing apparatus to execute block cipher processing of the subsequent stage on the remaining portion of the target data using the result information;
Tamper resistant device.
前記情報処理装置が、所定のメモリに記憶されている前記対象データの一部を読み出し、この一部の対象データを前記耐タンパーデバイスに向けて送出する第1ステップと、
前記耐タンパーデバイスが、前記情報処理装置より受け取った前記一部の対象データに対する初段のブロック暗号処理を行うとともに、この結果情報を前記情報処理装置に送出する第2ステップと、
前記結果情報を受け取った前記情報処理装置が、当該結果情報と前記第2の鍵とを用いた次段以降のブロック暗号処理の実行を繰り返す第3ステップとを有する、
暗号処理方法。 The tamper resistant device having the first key and the information processing apparatus having the second key cooperate to repeat the execution of the block encryption process after using the result information of the previously executed block encryption process. The encryption processing method for encrypting the target data consisting of a plurality of continuous blocks,
A first step in which the information processing apparatus reads a part of the target data stored in a predetermined memory and sends the part of the target data toward the tamper resistant device;
A second step in which the tamper resistant device performs a first stage block cipher process on the partial target data received from the information processing apparatus, and sends the result information to the information processing apparatus;
The information processing apparatus that has received the result information includes a third step that repeats execution of block cipher processing of the subsequent stage using the result information and the second key.
Cryptographic processing method.
前記コンピュータを、
前記耐タンパーデバイスとの間の情報受け渡しを可能にするインタフェース部、
前記第1の鍵と異なる第2の鍵を前記メモリに格納する鍵格納部、及び、
前記耐タンパーデバイスが前記第1の鍵を用いて実行したブロック暗号処理の結果情報を初段のブロック暗号処理の結果情報として前記インタフェース部を介して受け取るとともに前記鍵格納部から前記第2の鍵を読み取り、前記受け取った結果情報と前記読み取った第2の鍵とを用いた次段以降のブロック暗号処理の実行を繰り返す暗号処理部、として機能させる、コンピュータプログラム。 By repeating the execution of the block cipher processing after using the result information of the block cipher processing executed previously in cooperation with the tamper resistant device having the first key, the computer having the memory is continuously connected in a plurality of stages. A computer program for operating as an information processing apparatus for encrypting target data consisting of blocks,
The computer,
An interface unit that enables information exchange with the tamper resistant device;
A key storage unit for storing a second key different from the first key in the memory; and
The tamper resistant device receives the result information of the block cipher process executed by using the first key as the result information of the first stage block cipher process through the interface unit, and receives the second key from the key storage unit. A computer program for reading and functioning as an encryption processing unit that repeats execution of block encryption processing from the next stage using the received result information and the read second key.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005353980A JP2007158967A (en) | 2005-12-07 | 2005-12-07 | Information processing apparatus, tamper resistant device, encryption processing method and computer program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005353980A JP2007158967A (en) | 2005-12-07 | 2005-12-07 | Information processing apparatus, tamper resistant device, encryption processing method and computer program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007158967A true JP2007158967A (en) | 2007-06-21 |
Family
ID=38242707
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005353980A Pending JP2007158967A (en) | 2005-12-07 | 2005-12-07 | Information processing apparatus, tamper resistant device, encryption processing method and computer program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007158967A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2597883A1 (en) * | 2011-11-22 | 2013-05-29 | Nagravision S.A. | Method, cryptographic system and security module for descrambling content packets of a digital transport stream |
CN107637010A (en) * | 2015-05-19 | 2018-01-26 | 三星Sds株式会社 | Data encryption device and method and data deciphering device and method |
-
2005
- 2005-12-07 JP JP2005353980A patent/JP2007158967A/en active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2597883A1 (en) * | 2011-11-22 | 2013-05-29 | Nagravision S.A. | Method, cryptographic system and security module for descrambling content packets of a digital transport stream |
WO2013076057A1 (en) * | 2011-11-22 | 2013-05-30 | Nagravision S.A. | Method, cryptographic system and security module for descrambling content packets of a digital transport stream |
US9294788B2 (en) | 2011-11-22 | 2016-03-22 | Nagravision S.A. | Method, cryptographic system and security module for descrambling content packets of a digital transport stream |
CN107637010A (en) * | 2015-05-19 | 2018-01-26 | 三星Sds株式会社 | Data encryption device and method and data deciphering device and method |
JP2018515815A (en) * | 2015-05-19 | 2018-06-14 | サムソン エスディーエス カンパニー リミテッド | Data encryption apparatus and method, and data decryption apparatus and method |
CN107637010B (en) * | 2015-05-19 | 2021-05-18 | 三星Sds株式会社 | Data encryption device and method, and data decryption device and method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3747520B2 (en) | Information processing apparatus and information processing method | |
US8300828B2 (en) | System and method for a derivation function for key per page | |
JP6665204B2 (en) | Data encryption device and method, and data decryption device and method | |
KR102397579B1 (en) | Method and apparatus for white-box cryptography for protecting against side channel analysis | |
US7841014B2 (en) | Confidential information processing method, confidential information processor, and content data playback system | |
WO2006095891A1 (en) | Data processing apparatus | |
KR20130093557A (en) | System, devices and methods for collaborative execution of a software application comprising at least one encrypted instruction | |
US9571273B2 (en) | Method and system for the accelerated decryption of cryptographically protected user data units | |
JP2008306395A (en) | Information processor, information processing method | |
JP5992651B2 (en) | ENCRYPTION METHOD, PROGRAM, AND SYSTEM | |
JP2008035305A (en) | Encryption method and data concealing method | |
JPH10271104A (en) | Ciphering method and decipherinc method | |
US9438429B2 (en) | Method for authentication and electronic device for performing the authentication | |
JP2001142396A (en) | Ciphering device, its method, ciphering/deciphering device, its method and communication system | |
JP6167721B2 (en) | ENCRYPTION DEVICE, DECRYPTION DEVICE, ENCRYPTION METHOD, DECRYPTION METHOD, AND PROGRAM | |
JP2007158967A (en) | Information processing apparatus, tamper resistant device, encryption processing method and computer program | |
KR101440680B1 (en) | Homomorphic Encryption and Decryption Method using Chinese Remainder Theorem and apparatus using the same | |
JP6631989B2 (en) | Encryption device, control method, and program | |
CN103491384A (en) | Encrypting method and device of video and decrypting method and device of video | |
WO2021044465A1 (en) | Encrypting device, decrypting device, computer program, encryption method, decryption method, and data structure | |
CN107766725B (en) | Template attack resistant data transmission method and system | |
KR20210015403A (en) | White box cryptographic encoding device and method using anti-inversion function | |
KR20170005850A (en) | Encryption device, storage system, decryption device, encryption method, decryption method, encryption program, and decryption program | |
JP7310938B2 (en) | Encryption system, encryption method, decryption method and program | |
WO2023199379A1 (en) | Information processing device, method, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080715 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080722 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20081118 |