JP3709946B6 - 通信方法、および、情報処理装置 - Google Patents
通信方法、および、情報処理装置 Download PDFInfo
- Publication number
- JP3709946B6 JP3709946B6 JP1996168965A JP16896596A JP3709946B6 JP 3709946 B6 JP3709946 B6 JP 3709946B6 JP 1996168965 A JP1996168965 A JP 1996168965A JP 16896596 A JP16896596 A JP 16896596A JP 3709946 B6 JP3709946 B6 JP 3709946B6
- Authority
- JP
- Japan
- Prior art keywords
- information processing
- processing apparatus
- data
- cipher
- key
- 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.)
- Expired - Lifetime
Links
- 238000004891 communication Methods 0.000 title claims description 52
- 230000005540 biological transmission Effects 0.000 claims description 49
- 238000000034 method Methods 0.000 claims description 23
- 230000004044 response Effects 0.000 claims description 19
- 230000000875 corresponding Effects 0.000 claims description 17
- 241001442055 Vipera berus Species 0.000 description 39
- 230000000051 modifying Effects 0.000 description 34
- 238000010586 diagram Methods 0.000 description 11
- 238000006243 chemical reaction Methods 0.000 description 8
- 230000001702 transmitter Effects 0.000 description 7
- VLPFTAMPNXLGLX-UHFFFAOYSA-N Axona Chemical compound CCCCCCCC(=O)OCC(OC(=O)CCCCCCC)COC(=O)CCCCCCC VLPFTAMPNXLGLX-UHFFFAOYSA-N 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
Images
Description
【0001】
【発明の属する技術分野】
本発明は、通信方法、および、情報処理装置に関し、特に、複数の情報処理装置が相互に認証を行う通信方法、および、情報処理装置に関する。
【0002】
【従来の技術】
情報処理技術の発展に伴い、大量の情報が所定の伝送路を介して通信されている。情報が通信される伝送路には、第三者(送信者および受信者以外の者)が、通信されているデータを盗聴することが可能なものが多い。
【0003】
このような伝送路を利用して、情報を第三者に漏洩させずに、通信を行う場合、しばしば、暗号が利用される。暗号を利用し、暗号化されたデータを通信することにより、暗号化されたデータを盗聴することができても、第三者が、そのデータから通信した情報の内容を読み出すことは困難である。
【0004】
このような暗号を生成する暗号化方法には、所定の鍵を利用して、平文(送信する情報)から、暗号(実際に送信されるデータ)を生成するものが利用されることが多い。
【0005】
このような、鍵を利用した暗号には、共通鍵暗号と公開鍵暗号の2種類がある。共通鍵暗号においては、暗号化するときの鍵(暗号化鍵データ)と、復号化するときの鍵(復号化鍵データ)が同一である。例えば、共通鍵暗号としては、Feistel暗号の1つであるDES(Data Encryption Standard)方式などがよく利用されている。一方、公開鍵暗号においては、暗号化鍵データと復号化鍵データが異なる。そして、受信者は、送信者のために、それらの鍵のうち、暗号化鍵データを公開するが、復号化鍵データは公開せずに隠しておく(即ち、復号化鍵データは、受信者のみが知っている)。
【0006】
図14は、このような鍵(共通鍵)を利用した通信(秘密通信)の一例を示している。送信者101は、送信する情報(平文M)を、鍵Kを利用して暗号Cに暗号化する。そして、送信者101は、暗号Cを、所定の伝送路を介して受信者102に送信する。
【0007】
受信者102は、暗号Cを受け取り、送信者101が有する鍵Kと同一の鍵Kを利用して、その暗号Cを復号化し、送信者101により送信された情報(平文M)を獲得する。
【0008】
このようにして通信が行われているとき、暗号Cを盗聴しても、第三者が、送信された情報(平文M)を獲得することは困難である。
【0009】
さらに、このような鍵を利用して、通信相手が、正規の受信者であるか否かを判断する(認証する)ことができる。図15は、鍵(共通鍵)を利用した認証の一例を示している。認証する側111は、乱数Mを発生し、その乱数Mを認証される側112に送信する。認証する側111は、認証される側112に、その乱数Mを、鍵Kで暗号Cに暗号化させ、その暗号Cを送信させる。そして、認証する側111は、その暗号Cを受信し、鍵Kで平文M1に復号化する。そして、認証する側111は、乱数Mと平文M1が一致するか否かを判断し、一致する場合、認証される側112を認証する。
【0010】
このようにして、送信者(認証する側111)は、受信者(認証される側112)が正規の受信者(送信者が有する鍵と同一の鍵を有する)であるか否かを判断する(認証する)ことができる。
【0011】
このとき、平文である乱数Mと、それを暗号化した暗号Cを、第三者が盗聴したとしても、平文Mと暗号Cから、鍵Kを生成することは困難であるので、送信者(認証する側111)の鍵Kと同一の鍵Kを有する正規の受信者のみが認証される。
【0012】
【発明が解決しようとする課題】
しかしながら、上述の認証方法においては、所定の送受信者が、他の送受信者を認証するだけであるので、例えば、リーダ/ライタ(R/W)とICカードで構成されるカードシステムに、上述の認証方法を適用した場合、R/Wは、通信相手が正規のICカードであるか否かを判断する(通信相手を認証する)ことができるが、ICカードは、通信相手が正規のR/Wであるか否かを判断することが困難であるという問題を有している。
【0013】
本発明は、このような状況に鑑みてなされたものであり、複数の情報処理装置において、相互に認証を行い、正規の通信相手と通信を行うようにするものである。
【0015】
【課題を解決するための手段】
請求項1に記載の通信方法は、第1の情報処理装置の暗号化手段が、乱数生成手段により生成された第1の乱数を第1の鍵を用いて第1の暗号に暗号化し、第1の情報処理装置の送信手段が、第1の暗号を第2の情報処理装置に送信し、第2の情報処理装置において、第1の情報処理装置から送信されてきた第1の暗号が、第2の情報処理装置の復号手段により第1の鍵を用いて復号された後、第2の情報処理装置の暗号化手段により第2の鍵を用いて第2の暗号に暗号化されるとともに、第2の情報処理装置の乱数生成手段により生成された第2の乱数は、第2の情報処理装置の暗号化手段により第2の鍵を用いて第3の暗号に暗号化され、暗号化された第2の暗号および第3の暗号が第1の情報処理装置に送信され、第1の情報処理装置の復号手段が、第2の情報処理装置から送信されてくる第2の暗号および第3の暗号を、第2の鍵を用いてそれぞれ第4のデータおよび第5のデータに復号し、第1の情報処理装置の認証手段が、第4のデータと第1の乱数を比較し、比較結果が一致した場合、第2の情報処理装置を認証し、第1の情報処理装置の暗号化手段が、第5のデータを第4の暗号に暗号化し、第1の情報処理装置の送信手段が、第4の暗号を第2の情報処理装置に送信し、第2の情報処理装置において、第2の情報処理装置の復号手段により第1の情報処理装置から送信されてきた第4の暗号が第6のデータに復号され、第2の情報処理装置の認証手段によって第6のデータと第2の乱数が比較され、比較結果が一致し、第1の情報処理装置が認証されることで、第1および第2の情報処理装置が相互に認証された場合、第1の乱数は、第2の情報処理装置との相互認証後の通信で用いられる認識番号として保持されるとともに、第2の乱数と同一であると判断された第5のデータは、新たな鍵として、第2の情報処理装置に送信するコマンドの暗号化に用いるとともに、第2の情報処理装置から送信されてくる第2の乱数で暗号化されたデータの復号に用いることを特徴とする。
【0016】
請求項15に記載の情報処理装置は、送信手段は、乱数生成手段により生成された第1の乱数が暗号化手段により第1の鍵を用いて暗号化された第1の暗号を他の情報処理装置に送信し、受信手段は、他の情報処理装置で第1の暗号が復号されて、暗号化された第2の暗号、および他の情報処理装置で生成された第2の乱数が暗号化された第3の暗号を受信し、認証手段は、受信手段により受信された第2の暗号を第2の鍵を用いて復号した第4のデータと、第1の乱数を比較し、比較結果が一致した場合、他の情報処理装置を認証し、第3の暗号が復号手段により第2の鍵を用いて復号された第5のデータを、第1の鍵を用いて第4の暗号に暗号化して他の情報処理装置に送信するようにし、比較結果が一致しない場合、処理を終了するようにし、第4の暗号は、他の情報処理装置において復号され、第2の乱数と比較されることにより、他の情報処理装置が、情報処理装置を認証するための暗号データであり、認証手段により他の情報処理装置が認証され、かつ、第4の暗号が用いられて他の情報処理装置に認証された場合、認証手段は、第1の乱数を、他の情報処理装置との認証後の通信で用いられる所定の認識番号として保持し、第2の乱数と同じ値であることが確認された第5のデータを第3の鍵に設定し、第3の鍵を、他の情報処理装置に送信するコマンドの暗号化に用いるとともに、他の情報処理装置から送信されてくる第2の乱数で暗号化されたデータの復号に用いることを特徴とする。
【0017】
請求項17に記載の情報処理装置は、受信手段は、他の情報処理装置で生成された第1の乱数が暗号化された第1の暗号を受信し、復号手段は、受信手段により受信された第1の暗号を第1の鍵を用いて復号して第2のデータを生成し、暗号化手段は、第2のデータを第2の鍵を用いて第2の暗号に暗号化するとともに、乱数生成手段により生成された第2の乱数を第2の鍵で第3の暗号に暗号化し、送信手段は、暗号化手段により暗号化された第2の暗号および第3の暗号を他の情報処理装置に送信し、受信手段は、他の情報処理装置で、第2の暗号が復号され、第1の乱数と比較され、比較結果が一致した場合に、情報処理装置が認証された結果、第3の暗号が復号されて、暗号化された第4の暗号を受信し、認証手段は、受信手段により受信され、復号手段により第4の暗号を第1の鍵を用いて復号された第6のデータと、乱数生成手段により生成された第2の乱数を比較し、比較結果が一致した場合、他の情報処理装置を認証するようにし、比較結果が一致しない場合、処理を終了するようにし、認証手段により他の情報処理装置が認証され、かつ、第2の暗号が用いられて他の情報処理装置に認証された場合、認証手段は、他の情報処理装置により生成された第1の乱数を、他の情報処理装置との認証後の通信で用いられる所定の認識番号として保持し、乱数生成手段により生成された第2の乱数を第3の鍵に設定し、第3の鍵を、送信データの暗号化に用いるとともに、他の情報処理装置において第2の乱数と同一であると判断された、第3の暗号を復号して得られた第5のデータを用いて暗号化されたコマンドの復号に用いることを特徴とする。
【0019】
請求項1に記載の通信方法においては、第1の情報処理装置の暗号化手段が、乱数生成手段により生成された第1の乱数を第1の鍵を用いて第1の暗号に暗号化し、第1の情報処理装置の送信手段が、第1の暗号を第2の情報処理装置に送信し、第2の情報処理装置において、第1の情報処理装置から送信されてきた第1の暗号が、第2の情報処理装置の復号手段により第1の鍵を用いて復号された後、第2の情報処理装置の暗号化手段により第2の鍵を用いて第2の暗号に暗号化されるとともに、第2の情報処理装置の乱数生成手段により生成された第2の乱数は、第2の情報処理装置の暗号化手段により第2の鍵を用いて第3の暗号に暗号化され、暗号化された第2の暗号および第3の暗号が第1の情報処理装置に送信され、第1の情報処理装置の復号手段が、第2の情報処理装置から送信されてくる第2の暗号および第3の暗号を、第2の鍵を用いてそれぞれ第4のデータおよび第5のデータに復号し、第1の情報処理装置の認証手段が、第4のデータと第1の乱数を比較し、比較結果が一致した場合、第2の情報処理装置を認証し、第1の情報処理装置の暗号化手段が、第5のデータを第4の暗号に暗号化し、第1の情報処理装置の送信手段が、第4の暗号を第2の情報処理装置に送信し、第2の情報処理装置において、第2の情報処理装置の復号手段により第1の情報処理装置から送信されてきた第4の暗号が第6のデータに復号され、第2の情報処理装置の認証手段によって第6のデータと第2の乱数が比較され、比較結果が一致し、第1の情報処理装置が認証されることで、第1および第2の情報処理装置が相互に認証された場合、第1の乱数は、第2の情報処理装置との相互認証後の通信で用いられる認識番号として保持されるとともに、第2の乱数と同一であると判断された第5のデータは、新たな鍵として、第2の情報処理装置に送信するデータの暗号化に用いられるとともに、第2の情報処理装置から送信されてくる第2の乱数で暗号化されたデータの復号に用いられる。
【0020】
請求項15に記載の情報処理装置においては、生成された第1の乱数が第1の鍵を用いて暗号化された第1の暗号が他の情報処理装置に送信され、他の情報処理装置で第1の暗号が復号されて、暗号化された第2の暗号、および他の情報処理装置で生成された第2の乱数が暗号化された第3の暗号が受信され、受信された第2の暗号を第2の鍵を用いて復号した第4のデータと、第1の乱数が比較される。比較結果が一致した場合、他の情報処理装置が認証され、第3の暗号が第2の鍵を用いて復号された第5のデータが、第1の鍵を用いて第4の暗号に暗号化されて他の情報処理装置に送信されるようにし、比較結果が一致しない場合、処理が終了されるようにされる。第4の暗号は、他の情報処理装置において復号され、第2の乱数と比較されることにより、他の情報処理装置が、情報処理装置を認証するための暗号データであり、他の情報処理装置が認証され、かつ、第4の暗号が用いられて他の情報処理装置に認証された場合、第1の乱数が、他の情報処理装置との認証後の通信で用いられる所定の認識番号として保持され、第2の乱数と同じ値であることが確認された第5のデータが第3の鍵に設定され、第3の鍵が、他の情報処理装置に送信するコマンドの暗号化に用いられるとともに、他の情報処理装置から送信されてくる第2の乱数で暗号化されたデータの復号に用いられる。
【0021】
請求項17に記載の情報処理装置においては、他の情報処理装置で生成された第1の乱数が暗号化された第1の暗号が受信され、受信された第1の暗号を第1の鍵を用いて復号して第2のデータが生成され、第2のデータが第2の鍵を用いて第2の暗号に暗号化されるとともに、生成された第2の乱数が第2の鍵で第3の暗号に暗号化され、暗号化された第2の暗号および第3の暗号が他の情報処理装置に送信される。そして、他の情報処理装置で、第2の暗号が復号され、第1の乱数と比較され、比較結果が一致した場合に、情報処理装置が認証された結果、第3の暗号が復号されて、暗号化された第4の暗号が受信される。受信され、第4の暗号が第1の鍵を用いて復号された第6のデータと、生成された第2の乱数が比較され、比較結果が一致した場合、他の情報処理装置が認証されるようにされ、比較結果が一致しない場合、処理が終了されるようにされる。そして、他の情報処理装置が認証され、かつ、第2の暗号が用いられて他の情報処理装置に認証された場合、他の情報処理装置により生成された第1の乱数が、他の情報処理装置との認証後の通信で用いられる所定の認識番号として保持され、生成された第2の乱数が第3の鍵に設定され、第3の鍵が、送信データの暗号化に用いられるとともに、他の情報処理装置において第2の乱数と同一であると判断された、第3の暗号を復号して得られた第5のデータを用いて暗号化されたコマンドの復号に用いられる。
【0022】
【発明の実施の形態】
図1は、R/W1およびICカード2を利用した非接触カードシステムの一例を示している。R/W1およびICカード2は、電磁波を利用して非接触で、データの送受信を行う。
【0023】
例えば、R/W1が、リードコマンドをICカード2に送信すると、ICカード2は、そのリードコマンドを受信し、リードコマンドで指示されたデータをR/W1に送信するようになされている。
【0024】
また、R/W1がデータをICカード2に送信すると、ICカード2は、そのデータを受信し、受信したデータを、内蔵するメモリ84(図6)(記憶手段)に記憶し、そのデータを記憶したことを表す所定の応答信号をR/W1に送信するようになされている。
【0025】
図2は、本発明の一実施例であるR/W1の構成を示している。
【0026】
R/W1においては、制御部11は、内蔵するプログラムに応じて、各種処理を行うようになされている。例えば、制御部11は、ICカード2に送信するデータを、暗号部12(暗号化手段)に出力するとともに、復号部13(復号化手段)より供給された、ICカード2からの応答データを処理するようになされている。
【0027】
また、制御部11は、メモリ14(記憶手段)から、暗号化または復号化に利用される鍵KA(第2の鍵)または鍵KB(第1の鍵)を読み出し、その鍵KAまたは鍵KBを、暗号部12または復号部13に出力するようになされている。
【0028】
さらに、制御部11は、インタフェース15を介して、メインコンピュータ(図示せず)と通信を行うようになされている。
【0029】
メモリ14は、制御部11における処理に使用されるデータなどを記憶している他、暗号化または復号化において利用される2つの鍵KA,KBを記憶している。
【0030】
暗号部12は、制御部11より供給されたデータを、所定の鍵で暗号化し、暗号化したデータ(暗号)を送信部16(送信手段)に出力するようになされている。
【0031】
送信部16は、暗号部12より供給されたデータ(暗号)を、所定の変調方式(例えば、PSK(Phase Shift Keying)変調方式)で変調し、生成された変調波を、アンテナ部17を介してICカード2に送信するようになされている。
【0032】
受信部18(受信手段)は、アンテナ部17を介して、ICカード2により送信された変調波を受信し、その変調波に対応する復調方式で復調し、復調したデータ(暗号)を復号部13に出力するようになされている。
【0033】
復号部13は、受信部18より供給されたデータ(暗号)を、所定の鍵で復号化し、復号化したデータを制御部11に出力するようになされている。
【0034】
図3は、図2の暗号部12の一構成例を示している。暗号部12においては、鍵保存部31は、制御部11より供給された鍵Kを保持するようになされている。
【0035】
データランダム化部32は、鍵保存部31から鍵Kを読み出し、その鍵Kで、制御部31より供給されたデータを暗号化し、生成された暗号を送信部16に出力するようになされている。
【0036】
図4は、図3のデータランダム化部32の一構成例を示している。このデータランダム化部32は、複数のインボリューション処理を行うDES方式(例えば、「暗号と情報セキュリティ」辻井 重男、笠原 正雄 編著、1990年、昭晃堂に記載されている)で暗号を生成するようになされている。このデータランダム化部32においては、鍵データ生成回路61は、鍵保存部31から読み出した鍵Kから、16個の鍵データK1乃至K16を算出し、鍵データK1乃至K16を、演算回路62−1乃至62−16にそれぞれ出力するようになされている。
【0037】
レジスタ63は、制御部11より供給された64ビット(8バイト)のデータを保持し、その64ビットのデータのうちの上位32ビットを加算器64−1に出力し、下位32ビットを演算回路62−1および加算器64−2に出力するようになされている。
【0038】
演算回路62−i(i=1,・・・,16)は、レジスタ63の下位32ビット(演算回路62−1の場合)または加算器64−(i−1)(演算回路62−2乃至62−16の場合)より供給された32ビットのデータに対して、鍵データ生成回路61より供給された鍵データKiを利用して、所定の変換を行い、変換後の32ビットのデータを加算器64−iに出力するようになされている。
【0039】
加算器64−i(i=1,・・・,16)は、レジスタ63の上位32ビット(加算器64−1の場合)、レジスタ63の下位32ビット(加算器64−2の場合)、および、加算器64−(i−2)(加算器64−3乃至64−16の場合)のいずれかより供給された32ビットのデータと、演算回路62−iより供給された32ビットのデータの排他的論理和(ビット毎の排他的論理和)を計算し、その排他的論理和(32ビット)を、加算器64−(i+2)(加算器64−1乃至64−14の場合)、レジスタ65の下位32ビット(加算器64−15の場合)、および、レジスタ65の上位32ビット(加算器64−16の場合)のいずれか、並びに、演算回路62−(i+1)(加算器64−1乃至64−15の場合)に出力するようになされている。
【0040】
レジスタ65は、加算器64−15より供給された32ビットのデータを、下位32ビットで保持し、加算器64−16より供給された32ビットのデータを、上位32ビットで保持するとともに、これらの2つの32ビットのデータで構成される64ビットのデータを、暗号として送信部16に出力するようになされている。
【0041】
図5は、図2の復号部13の一構成例を示している。この復号部13においては、鍵保存部41は、制御部11より供給された鍵Kを保持するようになされている。
【0042】
変換部42は、図4のデータランダム化部32と同一の構成を有し、鍵保存部41から鍵Kを読み出し、受信部18より供給されたデータ(DES方式で暗号化された暗号)をレジスタ63に供給した後、図4のデータランダム化部32と同一の動作を行い、そのデータを復号化し、復号化したデータをレジスタ65から制御部11に出力するようになされている。
【0043】
図6は、本発明の一実施例であるICカード2の構成例を示している。
【0044】
ICカード2においては、制御部81(処理手段)は、R/W1により供給されるコマンドに応じて、各種処理を行うようになされている。制御部81は、R/W1からのコマンドを、復号部83(復号化手段)から受け取り、そのコマンドに対応した処理を行い、その処理の結果に対応する応答データ(R/W1に送信するもの)を、暗号部82(暗号化手段)に出力するようになされている。
【0045】
また、制御部81は、メモリ84から、暗号化または復号化に利用される鍵KAまたは鍵KBを読み出し、その鍵KAまたは鍵KBを、暗号部82または復号部83に出力するようになされている。
【0046】
メモリ84は、RAM(Random Access Memory)部(128キロバイト程度)とROM(Read Only Memory)部(512キロバイト程度)を有している。そのうちのRAM部は、制御部81における処理に使用されるデータなどを一時的に記憶する。一方、ROM部には、暗号化または復号化において利用される2つの鍵KA,KBが、予め記憶されている。
【0047】
暗号部82および復号部83は、図3の暗号部12および図5の復号部13と同様の構成であるので、その説明を省略する。
【0048】
送信部86(送信手段)は、暗号部82より供給されたデータ(暗号)を、所定の変調方式(例えば、PSK(Phase Shift Keying)変調方式)で変調し、生成された変調波を、アンテナ部87を介してR/W1に送信するようになされている。
【0049】
受信部88(受信手段)は、アンテナ部87を介して、R/W1により送信された変調波を受信し、その変調波に対応する復調方式で復調し、復調したデータ(暗号)を復号部83に出力するようになされている。
【0050】
次に、図7および図8のフローチャート、並びに、図9を参照して、R/W1とICカード2の、相互認証を行うときの動作について説明する。
【0051】
最初に図7のステップS1において、R/W1の制御部11は、64ビットの乱数RA(第1のデータ)を生成し、その乱数RAを暗号部12のデータランダム化部32に出力するとともに、メモリ14から鍵KBを読み出し、暗号部12の鍵保存部31に出力する。
【0052】
図3の暗号部12のデータランダム化部32は、鍵保存部31から鍵KBを読み出す。そして、図4のデータランダム化部32の鍵データ生成回路61は、鍵KBから16個の鍵データK1乃至K16を生成し、演算回路62−1乃至62−16にそれぞれ出力する。
【0053】
データランダム化部32のレジスタ63は、R/W1より供給された乱数RAの上位32ビットを加算器64−1に出力し、乱数RAの下位32ビットを演算回路62−1および加算器64−2に出力する。演算回路62−1は、その32ビットのデータを鍵データK1を利用して変換し、変換後のデータを加算器64−1に出力する。加算器64−1は、レジスタ63より供給された32ビットのデータと、演算回路62−1より供給された32ビットのデータの排他的論理和(ビット毎の排他的論理和)を計算し、その排他的論理和(32ビット)を、演算回路62−2および加算器64−3に出力する。
【0054】
次に、演算回路62−2は、その32ビットのデータを鍵データK2を利用して変換し、変換後のデータ(32ビット)を加算器64−2に出力する。加算器64−2は、レジスタ63より供給された32ビットのデータと、演算回路62−2より供給された32ビットのデータの排他的論理和を計算し、その排他的論理和を、演算回路62−3および加算器64−4に出力する。
【0055】
演算回路62−3乃至62−14および加算器64−3乃至64−14は、順次、演算回路62−2および加算器64−2と同様の動作を行う。即ち、演算回路62−j(j=3,・・・,14)は、加算器64−(j−1)より供給された32ビットのデータを鍵データKjを利用して変換し、変換後のデータを加算器64−jに出力する。加算器64−j(j=3,・・・,14)は、加算器64−(j−2)より供給された32ビットのデータと、演算回路62−jより供給された32ビットのデータの排他的論理和を計算し、その排他的論理和を、演算回路62−(j+1)および加算器64−(j+2)に出力する。
【0056】
さらに、演算回路62−15は、加算器64−14より供給された32ビットのデータを鍵データK15を利用して変換し、変換後のデータを加算器64−15に出力する。加算器64−15は、加算器64−13より供給された32ビットのデータと、演算回路62−15より供給された32ビットのデータの排他的論理和を計算し、その排他的論理和を、演算回路62−16およびレジスタ65の下位32ビットに出力する。
【0057】
そして、演算回路62−16は、その32ビットのデータを鍵データK16を利用して変換し、変換後のデータを加算器64−16に出力する。加算器64−16は、加算器64−14より供給された32ビットのデータと、演算回路62−16より供給された32ビットのデータの排他的論理和を計算し、その排他的論理和を、レジスタ65の上位32ビットに出力する。
【0058】
以上のようにして、合計16段の演算を行って暗号を生成する。そして、データランダム化部32のレジスタ65は、生成した暗号C1(第1の暗号)(図9の[RA]B)を送信部16に出力する。
【0059】
次に、ステップS2において、R/W1の送信部16は、暗号部12より供給された暗号C1を変調し、生成された変調波を、アンテナ部17を介してICカード2に送信する。
【0060】
このように、R/W1が、ステップS1,S2において処理を行い、変調波を送信するまでの間、ICカード2は、図8のステップS21において待機している。
【0061】
そして、R/W1から変調波が送信されてくると、ICカード2の受信部88は、アンテナ部87を介して、R/W1の送信部16により送信された変調波を受信し、その変調波を復調し、復調後のデータ(暗号C1)を復号部83に出力する。
【0062】
次に、ステップS22において、ICカード2の復号部83の変換部42は、予め制御部81より鍵保存部41に供給されている鍵KBで、受信部88より供給された暗号C1を復号化し、復号化したデータ(平文M1)(第2のデータ)を制御部81に出力する。
【0063】
ステップS23において、ICカード2の制御部81は、復号部83より供給された平文M1を、暗号部82のデータランダム化部32に出力する。暗号部82のデータランダム化部32は、鍵保存部31に予め記憶されている鍵KAを読み出し、その鍵KAで、ステップS1におけるR/W1の暗号部12のデータランダム化部32と同様に、平文M1を暗号化し、生成された暗号C2(第2の暗号)(図9の[RA]A)を送信部86に出力する。
【0064】
また、制御部81は、乱数RB(第3のデータ)を生成し、その乱数RBを暗号部82のデータランダム化部32に出力する。暗号部82のデータランダム化部32は、鍵保存部31から鍵KAを読み出し、その鍵KAで乱数RBを暗号化し、生成された暗号C3(第3の暗号)(図9の[RB]A)を送信部86に出力する。
【0065】
そして、ステップS24において、ICカード2の送信部86は、暗号C2,C3を変調し、生成された変調波を、アンテナ部87を介してR/W1に送信する。
【0066】
このように、ICカード2がステップS21乃至S24の処理を行っている間、R/W1は、図7のステップS3およびステップS4において、ICカード2から暗号C2と暗号C3が送信されてくるまで待機するとともに、暗号C1を送信してからの経過時間を、ステップS3において監視し、ICカード2からC2とC3が送信されてくるまでに所定の時間(ICカード2における処理に通常要する時間より長い時間)が経過した場合、ステップS2に戻り、暗号C1を再送する。
【0067】
そして、ICカード2から暗号C2および暗号C3を含む変調波が送信されてくると、R/W1に受信部18は、アンテナ部17を介して、ICカード2の送信部86により送信された変調波を受信し、その変調波を復調する。そして、受信部18は、復調されたデータ(暗号C2,C3)を、復号部13に出力する。
【0068】
次に、ステップS5において、R/W1の復号部13の変換部42は、鍵保存部41に予め供給されている鍵KAを読み出し、受信部18より供給されたデータ(暗号C2,C3)を復号化し、復号化したデータ(平文M2(暗号C2に対応する)(第4のデータ)と平文M3(暗号C3に対応する)(第5のデータ))を制御部11に出力する。
【0069】
そして、ステップS6において、R/W1の制御部11は、平文M2と乱数RAが同一であるか否かを判断し、平文M2と乱数RAが同一であると判断した場合、ステップS7において、R/W1は、ICカード2がR/W1の鍵KA,KBと同一の鍵KA,KBを有していると判断し、ICカード2を認証する。
【0070】
一方、ステップS6において、平文M2と乱数RAが同一ではないと判断した場合、R/W1は、ICカード2を認証しないので、認証処理を終了する。
【0071】
ステップS7においてICカード2を認証した後、ステップS8において、R/W1の制御部11は、ステップS5で生成した平文M3を暗号部12に出力する。そして、暗号部12は、ステップS1と同様に、平文M3を鍵KBで暗号化し、生成された暗号C4(第4の暗号)(図9の[RB]B)を送信部16に出力する。
【0072】
ステップS9において、R/W1の送信部16は、暗号部12より供給された暗号C4を変調し、生成された変調波を、アンテナ部17を介してICカード2に送信する。
【0073】
このように、R/W1が、ステップS4乃至S9において処理を行っている間、ICカード2は、図8のステップS25およびステップS26において、暗号C4が送信されてくるまで待機している。このとき、ICカード2の制御部81は、暗号C2,C3を送信してからの経過時間を監視しており、ステップS26において暗号C2,C3を送信してから所定の時間が経過したと判断した場合、R/W1を認証せずに認証処理を終了する。
【0074】
一方、暗号C4を含む変調波が送信されてくると、ICカード2の受信部88は、R/W1により送信された変調波を、アンテナ部87を介して受信し、その変調波を復調する。そして、受信部88は、復調したデータ(暗号C4)を復号部13に出力する。
【0075】
次にステップS27において、ICカード2の復号部83の変換部42は、鍵保存部41から読み出した鍵KBで、受信部88より供給されたデータ(暗号C4)を復号化し、復号化したデータ(平文M4)(第6のデータ)を制御部81に出力する。
【0076】
そして、ステップS28において、ICカード2の制御部81は、平文M4と乱数RBが同一であるか否かを判断し、平文M4と乱数RBが同一であると判断した場合、ステップS29において、ICカード2は、R/W1がICカード2の鍵KA,KBと同一の鍵KA,KBを有していると判断し、R/W1を認証する。
【0077】
一方、ステップS28において、平文M4と乱数RBが同一ではないと判断した場合、ICカード2は、R/W1を認証しないので、認証処理を終了する。
【0078】
以上のようにして、R/W1は、図7に示すように、ICカード2に対する認証処理を行い、ICカード2は、図8に示すように、R/W1に対する認証処理を行うことにより、相互に、認証処理を行う。
【0079】
なお、上述の暗号部12,82のデータランダム化部32は、DES方式で暗号化を行っているが、他の方式(例えば、FEAL(Fast Encryption ALgorithm)−8方式)で暗号化を行うようにしてもよい。その場合、復号部13,83の変換部42は、その暗号化方式に対応して復号化を行うようにする。
【0080】
また、FEAL−8方式を利用した場合、35ミリ秒程度(ICカード2における処理にかかる時間は28ミリ秒程度)で相互認証を行うことができる。
【0081】
次に、図10および図11のフローチャートを参照して、上述の認証処理後(相互に認証した後)におけるR/W1とICカード2間の通信について説明する。
【0082】
図10のステップS41において、R/W1の制御部11は、最初に、上述の認証処理における乱数RAを認識番号IDとして保持するとともに、乱数RB(平文M3)(ICカード2を認証したので、R/W1は、平文M3を乱数RBとする)を新たな鍵KID(第3の鍵)として、暗号部12の鍵保存部31および復号部13の鍵保存部41に出力する。
【0083】
そして、R/W1の制御部11は、ICカード2に実行させる処理に対応するコマンド(送信コマンド)を、暗号部12のデータランダム化部32に出力する。暗号部12のデータランダム化部32は、鍵保存部31から鍵KIDを読み出し、その鍵KIDで送信コマンドを暗号化し、生成された暗号Ccom(第5の暗号)を送信部16に出力する。
【0084】
また、R/W1の制御部11は、認識番号IDを、暗号部12のデータランダム化部32に出力する。暗号部12のデータランダム化部32は、鍵KIDで認識番号IDを暗号化し、生成された暗号CID(第6の暗号)を送信部16に出力する。
【0085】
ステップS42において、R/W1の送信部16は、暗号部12より供給された暗号Ccom,CIDを変調し、生成された変調波をアンテナ部17を介してICカード2に送信する。
【0086】
このように、R/W1が、暗号Ccom,CIDを含む変調波を送信するまでの間、ICカード2は、図11のステップS61において待機している。
【0087】
なお、ICカード2の制御部81は、上述の認証処理における乱数RBを鍵KIDとして、予め、暗号部82の鍵保存部31および復号部83の鍵保存部41に出力するとともに、乱数RA(平文M1)(R/W1を認証したので、ICカード2は、平文M1を乱数RAとする)を認識番号IDとして保持している。
【0088】
そして、R/W1から暗号Ccom,CIDを含む変調波を送信されてくると、ICカード2の受信部88は、R/W1の送信部16により送信された変調波を、アンテナ部87を介して受信し、その変調波を復調する。そして、受信部88は、復調したデータ(暗号Ccom,CID)を、復号部83に出力する。
【0089】
ステップS62において、復号部83の変換部42は、鍵保存部41に予め記憶されている鍵KIDで、供給されたデータのうちの暗号CIDを復号化し、復号されたデータ(平文MID)(第7のデータ)を制御部81に出力する。
【0090】
そして、ステップS63において、ICカード2の制御部81は、平文MIDの値が認識番号ID以上であるか否かを判断し、平文MIDの値が認識番号IDより小さいと判断した場合、通信処理を終了する。一方、平文MIDの値が認識番号ID以上であると判断した場合、ステップS64において、制御部81は、送信されてきたコマンド(暗号Ccom)を承認し、復号部83に、暗号Ccomを復号化させ、ステップS65において、復号化したコマンドに対応する処理を行い、ステップS66において、その処理結果に対応する応答データ(R/W1に送信するためのもの)を作成する。
【0091】
次に、ステップS67において、ICカード2の制御部81は、認識番号IDの値を1だけ増加させた後、認識番号IDおよび応答データを、暗号部82に順次出力する。ステップS68において、暗号部82は、認識番号IDを、鍵KIDで暗号CID(第8の暗号)に暗号化するとともに、応答データを、鍵KIDで暗号Cre(第7の暗号)に暗号化した後、暗号CIDおよび暗号Creを、送信部86に出力する。
【0092】
そして、ステップS69において、送信部86は、暗号CIDと暗号Creを変調し、生成した変調波をR/W1に送信する。
【0093】
このように、ICカード2がステップS61乃至S69において送信したコマンドに対応する処理を行っている間、R/W1は、ステップS43およびステップS44において待機するとともに、暗号CID,Ccomを送信した時からの経過時間をステップS43において監視する。
【0094】
そして、予め設定されている所定の時間が経過すると、ステップS45に進み、制御部11は、ステップS41で暗号化したコマンドと同一のコマンドを選択し、ステップS46で、認識番号IDの値を1だけ増加させた後、ステップS41に戻り、送信コマンドと認識番号IDを暗号化し、ステップS42において、生成された暗号をICカード2に再送する。
【0095】
一方、ステップS44において、ICカード2からの暗号CIDと暗号Creを含む変調波が送信されてくると、R/W1に受信部18が、その変調波を、暗号CIDと暗号Creに復調し、その暗号CIDと暗号Creを復号部13に出力する。
【0096】
ステップS47において、復号部13は、暗号CIDを鍵KIDで復号化し、生成された平文MID(第9のデータ)を制御部11に出力する。
【0097】
ステップS48において、制御部11は、平文MIDの値が、認識番号IDより大きいか否かを判断し、平文MIDの値が認識番号ID以下であると判断した場合、ステップS45に進み、ステップS41で送信したコマンドと同一のコマンドを選択し、ステップS46において、認識番号IDの値を1だけ増加させた後、ステップS41に戻り、送信コマンドと認識番号IDを暗号化し、ステップS42において、生成された暗号をICカード2に再送する。
【0098】
一方、ステップS48において、平文MIDの値が、認識番号IDより大きいと判断した場合、制御部11は、ステップS49において、復号部13に、暗号Creを復号化させ、ICカード2からの応答データを受け取る。
【0099】
そして、ステップS50において、R/W1の制御部11は、通信を終了するか否かを判断する。通信を継続する場合、ステップS51に進み、R/W1の制御部11は、次の送信コマンドを選択する。
【0100】
そして、ステップS46に進み、認識番号IDの値を1だけ増加させた後、ステップS41に戻り、ステップS41以降で、次の送信コマンドの送信を行う。
【0101】
以上のようにして、相互認証時に送信した乱数RA,RBを、認識番号IDおよび新たな鍵KIDとして利用して、R/W1は、ICカード2に所定のコマンドを送信し、ICカード2は、そのコマンドに対応する処理を行った後、その処理結果に対応する応答データをR/W1に送信する。このようにすることにより、認識番号および新たな鍵を利用して、通信毎に、通信相手が正規の者であることを確認することができる。また、1回の通信毎に認識番号IDの値を1ずつ増加させているので、現在までの通信回数を知ることができ、処理の経過を把握することができる。
【0102】
なお、ステップS63において、ICカード2の制御部81は、平文MIDが認識番号ID以上であるか否かを判断しているが、平文MIDの値が認識番号IDに対応する所定の範囲内(例えば、ID乃至ID+16の範囲)の値と同一であるか否かを判断するようにしてもよい。このようにすることにより、例えば、伝送路に障害が生じ、R/W1が放射した電磁波(認識番号の値がID)がICカード2に到達しなかった場合において、ICカード2は、次に送信されてくるデータ(認識番号の値はID+1であるが、送信コマンドは、前回送信したコマンドと同一である)を受信することができる。
【0103】
あるいは、ステップS63において、ICカード2の制御部81は、平文MID(64ビット)の例えば下位8ビットの値が、認識番号IDの下位8ビットの値以上であるか否かを判断するようにしてもよい。このように所定の桁数(ビット数)nだけにおいて比較を行うことにより、64ビットにおいて比較を行う場合より、ビット演算量が減少し、処理を速く行うことができる。なお、この場合、認識番号IDの値が2n−1(nは桁数)より大きくなると桁上がりが発生する(比較の結果にエラーが生じる)ので、R/W1とICカード2の間の通信の回数を考慮して、認識番号IDの値が2n−1(nは桁数)より大きくならないように、桁数nを設定する。
【0104】
また、同様に、ステップS48において、R/W1の制御部11は、平文MIDの値が認識番号IDに対応する所定の範囲内の値と同一であるか否かを判断するようにしてもよい。また、ステップS48において、R/W1の制御部11は、平文MIDの例えば下位8ビットの値が、認識番号IDの下位8ビットの値より大きいか否かを判断するようにしてもよい。
【0105】
なお、上記実施例においては、乱数RBを新たな鍵KIDとしているが、図12に示すように乱数RAと乱数RBから新たな鍵KIDを算出し、その鍵KIDを利用して通信を行うようにしてもよい。
【0106】
また、R/W1が送信した情報を、ICカード2に、単に記憶しておく場合、図13に示すように、ICカード2は、受信したデータ(鍵KAまたは鍵KBで暗号化されたデータ)を、復号化せずに、そのままメモリ84に記憶させておき、R/W1からのリードコマンドを受け取ったときに、そのデータをメモリ84から読み出し、そのまま送信するようにしてもよい。
【0108】
【発明の効果】
以上の如く、請求項1に記載の通信方法によれば、相互に認証した2つの情報処理装置で通信を行うことができる。
【0109】
請求項15に記載の情報処理装置によれば、所定の情報処理装置の認証を行うとともに、その情報処理装置により認証されることが可能となる。
【0110】
請求項17に記載の情報処理装置によれば、所定の情報処理装置の認証を行うとともに、その情報処理装置により認証されることが可能となる。
【図面の簡単な説明】
【図1】R/W1とICカード2により構成される非接触カードシステムの一例を示す図である。
【図2】本発明の一実施例であるR/W1の構成を示すブロック図である。
【図3】図2の暗号部12の構成例を示すブロック図である。
【図4】図3のデータランダム化部32の構成例を示すブロック図である。
【図5】図2の復号部13の構成例を示すブロック図である。
【図6】本発明の一実施例であるICカード2の構成を示すブロック図である。
【図7】図1のR/W1の相互認証時の動作について説明するフローチャートである。
【図8】図1のICカード2の相互認証時の動作について説明するフローチャートである。
【図9】図1の非接触カードシステムの相互認証時の動作について説明する図である。
【図10】図1のR/W1の通信時の処理について説明するフローチャートである。
【図11】図1のICカード2の通信時の処理について説明するフローチャートである。
【図12】R/W1とICカード2との通信の他の例を示す図である。
【図13】R/W1とICカード2との通信のさらに他の例を示す図である。
【図14】秘密暗号を利用した通信の一例を示すブロック図である。
【図15】秘密暗号を利用した認証の一例を示すブロック図である。
【符号の説明】
1 リーダ/ライタ(R/W), 2 ICカード, 11 制御部, 12暗号部, 13 復号部, 14 メモリ, 15 インタフェース, 16送信部, 17 アンテナ部, 18 受信部, 31 鍵保存部, 32 データランダム化部, 41 鍵保存部, 42 変換部, 61 鍵データ生成回路, 62−1乃至62−16 演算回路, 63 レジスタ, 64−1乃至64−16 加算器, 65 レジスタ, 81 制御部, 82 暗号部, 83 復号部, 84 メモリ, 86 送信部, 87 アンテナ部, 88 受信部
【発明の属する技術分野】
本発明は、通信方法、および、情報処理装置に関し、特に、複数の情報処理装置が相互に認証を行う通信方法、および、情報処理装置に関する。
【0002】
【従来の技術】
情報処理技術の発展に伴い、大量の情報が所定の伝送路を介して通信されている。情報が通信される伝送路には、第三者(送信者および受信者以外の者)が、通信されているデータを盗聴することが可能なものが多い。
【0003】
このような伝送路を利用して、情報を第三者に漏洩させずに、通信を行う場合、しばしば、暗号が利用される。暗号を利用し、暗号化されたデータを通信することにより、暗号化されたデータを盗聴することができても、第三者が、そのデータから通信した情報の内容を読み出すことは困難である。
【0004】
このような暗号を生成する暗号化方法には、所定の鍵を利用して、平文(送信する情報)から、暗号(実際に送信されるデータ)を生成するものが利用されることが多い。
【0005】
このような、鍵を利用した暗号には、共通鍵暗号と公開鍵暗号の2種類がある。共通鍵暗号においては、暗号化するときの鍵(暗号化鍵データ)と、復号化するときの鍵(復号化鍵データ)が同一である。例えば、共通鍵暗号としては、Feistel暗号の1つであるDES(Data Encryption Standard)方式などがよく利用されている。一方、公開鍵暗号においては、暗号化鍵データと復号化鍵データが異なる。そして、受信者は、送信者のために、それらの鍵のうち、暗号化鍵データを公開するが、復号化鍵データは公開せずに隠しておく(即ち、復号化鍵データは、受信者のみが知っている)。
【0006】
図14は、このような鍵(共通鍵)を利用した通信(秘密通信)の一例を示している。送信者101は、送信する情報(平文M)を、鍵Kを利用して暗号Cに暗号化する。そして、送信者101は、暗号Cを、所定の伝送路を介して受信者102に送信する。
【0007】
受信者102は、暗号Cを受け取り、送信者101が有する鍵Kと同一の鍵Kを利用して、その暗号Cを復号化し、送信者101により送信された情報(平文M)を獲得する。
【0008】
このようにして通信が行われているとき、暗号Cを盗聴しても、第三者が、送信された情報(平文M)を獲得することは困難である。
【0009】
さらに、このような鍵を利用して、通信相手が、正規の受信者であるか否かを判断する(認証する)ことができる。図15は、鍵(共通鍵)を利用した認証の一例を示している。認証する側111は、乱数Mを発生し、その乱数Mを認証される側112に送信する。認証する側111は、認証される側112に、その乱数Mを、鍵Kで暗号Cに暗号化させ、その暗号Cを送信させる。そして、認証する側111は、その暗号Cを受信し、鍵Kで平文M1に復号化する。そして、認証する側111は、乱数Mと平文M1が一致するか否かを判断し、一致する場合、認証される側112を認証する。
【0010】
このようにして、送信者(認証する側111)は、受信者(認証される側112)が正規の受信者(送信者が有する鍵と同一の鍵を有する)であるか否かを判断する(認証する)ことができる。
【0011】
このとき、平文である乱数Mと、それを暗号化した暗号Cを、第三者が盗聴したとしても、平文Mと暗号Cから、鍵Kを生成することは困難であるので、送信者(認証する側111)の鍵Kと同一の鍵Kを有する正規の受信者のみが認証される。
【0012】
【発明が解決しようとする課題】
しかしながら、上述の認証方法においては、所定の送受信者が、他の送受信者を認証するだけであるので、例えば、リーダ/ライタ(R/W)とICカードで構成されるカードシステムに、上述の認証方法を適用した場合、R/Wは、通信相手が正規のICカードであるか否かを判断する(通信相手を認証する)ことができるが、ICカードは、通信相手が正規のR/Wであるか否かを判断することが困難であるという問題を有している。
【0013】
本発明は、このような状況に鑑みてなされたものであり、複数の情報処理装置において、相互に認証を行い、正規の通信相手と通信を行うようにするものである。
【0015】
【課題を解決するための手段】
請求項1に記載の通信方法は、第1の情報処理装置の暗号化手段が、乱数生成手段により生成された第1の乱数を第1の鍵を用いて第1の暗号に暗号化し、第1の情報処理装置の送信手段が、第1の暗号を第2の情報処理装置に送信し、第2の情報処理装置において、第1の情報処理装置から送信されてきた第1の暗号が、第2の情報処理装置の復号手段により第1の鍵を用いて復号された後、第2の情報処理装置の暗号化手段により第2の鍵を用いて第2の暗号に暗号化されるとともに、第2の情報処理装置の乱数生成手段により生成された第2の乱数は、第2の情報処理装置の暗号化手段により第2の鍵を用いて第3の暗号に暗号化され、暗号化された第2の暗号および第3の暗号が第1の情報処理装置に送信され、第1の情報処理装置の復号手段が、第2の情報処理装置から送信されてくる第2の暗号および第3の暗号を、第2の鍵を用いてそれぞれ第4のデータおよび第5のデータに復号し、第1の情報処理装置の認証手段が、第4のデータと第1の乱数を比較し、比較結果が一致した場合、第2の情報処理装置を認証し、第1の情報処理装置の暗号化手段が、第5のデータを第4の暗号に暗号化し、第1の情報処理装置の送信手段が、第4の暗号を第2の情報処理装置に送信し、第2の情報処理装置において、第2の情報処理装置の復号手段により第1の情報処理装置から送信されてきた第4の暗号が第6のデータに復号され、第2の情報処理装置の認証手段によって第6のデータと第2の乱数が比較され、比較結果が一致し、第1の情報処理装置が認証されることで、第1および第2の情報処理装置が相互に認証された場合、第1の乱数は、第2の情報処理装置との相互認証後の通信で用いられる認識番号として保持されるとともに、第2の乱数と同一であると判断された第5のデータは、新たな鍵として、第2の情報処理装置に送信するコマンドの暗号化に用いるとともに、第2の情報処理装置から送信されてくる第2の乱数で暗号化されたデータの復号に用いることを特徴とする。
【0016】
請求項15に記載の情報処理装置は、送信手段は、乱数生成手段により生成された第1の乱数が暗号化手段により第1の鍵を用いて暗号化された第1の暗号を他の情報処理装置に送信し、受信手段は、他の情報処理装置で第1の暗号が復号されて、暗号化された第2の暗号、および他の情報処理装置で生成された第2の乱数が暗号化された第3の暗号を受信し、認証手段は、受信手段により受信された第2の暗号を第2の鍵を用いて復号した第4のデータと、第1の乱数を比較し、比較結果が一致した場合、他の情報処理装置を認証し、第3の暗号が復号手段により第2の鍵を用いて復号された第5のデータを、第1の鍵を用いて第4の暗号に暗号化して他の情報処理装置に送信するようにし、比較結果が一致しない場合、処理を終了するようにし、第4の暗号は、他の情報処理装置において復号され、第2の乱数と比較されることにより、他の情報処理装置が、情報処理装置を認証するための暗号データであり、認証手段により他の情報処理装置が認証され、かつ、第4の暗号が用いられて他の情報処理装置に認証された場合、認証手段は、第1の乱数を、他の情報処理装置との認証後の通信で用いられる所定の認識番号として保持し、第2の乱数と同じ値であることが確認された第5のデータを第3の鍵に設定し、第3の鍵を、他の情報処理装置に送信するコマンドの暗号化に用いるとともに、他の情報処理装置から送信されてくる第2の乱数で暗号化されたデータの復号に用いることを特徴とする。
【0017】
請求項17に記載の情報処理装置は、受信手段は、他の情報処理装置で生成された第1の乱数が暗号化された第1の暗号を受信し、復号手段は、受信手段により受信された第1の暗号を第1の鍵を用いて復号して第2のデータを生成し、暗号化手段は、第2のデータを第2の鍵を用いて第2の暗号に暗号化するとともに、乱数生成手段により生成された第2の乱数を第2の鍵で第3の暗号に暗号化し、送信手段は、暗号化手段により暗号化された第2の暗号および第3の暗号を他の情報処理装置に送信し、受信手段は、他の情報処理装置で、第2の暗号が復号され、第1の乱数と比較され、比較結果が一致した場合に、情報処理装置が認証された結果、第3の暗号が復号されて、暗号化された第4の暗号を受信し、認証手段は、受信手段により受信され、復号手段により第4の暗号を第1の鍵を用いて復号された第6のデータと、乱数生成手段により生成された第2の乱数を比較し、比較結果が一致した場合、他の情報処理装置を認証するようにし、比較結果が一致しない場合、処理を終了するようにし、認証手段により他の情報処理装置が認証され、かつ、第2の暗号が用いられて他の情報処理装置に認証された場合、認証手段は、他の情報処理装置により生成された第1の乱数を、他の情報処理装置との認証後の通信で用いられる所定の認識番号として保持し、乱数生成手段により生成された第2の乱数を第3の鍵に設定し、第3の鍵を、送信データの暗号化に用いるとともに、他の情報処理装置において第2の乱数と同一であると判断された、第3の暗号を復号して得られた第5のデータを用いて暗号化されたコマンドの復号に用いることを特徴とする。
【0019】
請求項1に記載の通信方法においては、第1の情報処理装置の暗号化手段が、乱数生成手段により生成された第1の乱数を第1の鍵を用いて第1の暗号に暗号化し、第1の情報処理装置の送信手段が、第1の暗号を第2の情報処理装置に送信し、第2の情報処理装置において、第1の情報処理装置から送信されてきた第1の暗号が、第2の情報処理装置の復号手段により第1の鍵を用いて復号された後、第2の情報処理装置の暗号化手段により第2の鍵を用いて第2の暗号に暗号化されるとともに、第2の情報処理装置の乱数生成手段により生成された第2の乱数は、第2の情報処理装置の暗号化手段により第2の鍵を用いて第3の暗号に暗号化され、暗号化された第2の暗号および第3の暗号が第1の情報処理装置に送信され、第1の情報処理装置の復号手段が、第2の情報処理装置から送信されてくる第2の暗号および第3の暗号を、第2の鍵を用いてそれぞれ第4のデータおよび第5のデータに復号し、第1の情報処理装置の認証手段が、第4のデータと第1の乱数を比較し、比較結果が一致した場合、第2の情報処理装置を認証し、第1の情報処理装置の暗号化手段が、第5のデータを第4の暗号に暗号化し、第1の情報処理装置の送信手段が、第4の暗号を第2の情報処理装置に送信し、第2の情報処理装置において、第2の情報処理装置の復号手段により第1の情報処理装置から送信されてきた第4の暗号が第6のデータに復号され、第2の情報処理装置の認証手段によって第6のデータと第2の乱数が比較され、比較結果が一致し、第1の情報処理装置が認証されることで、第1および第2の情報処理装置が相互に認証された場合、第1の乱数は、第2の情報処理装置との相互認証後の通信で用いられる認識番号として保持されるとともに、第2の乱数と同一であると判断された第5のデータは、新たな鍵として、第2の情報処理装置に送信するデータの暗号化に用いられるとともに、第2の情報処理装置から送信されてくる第2の乱数で暗号化されたデータの復号に用いられる。
【0020】
請求項15に記載の情報処理装置においては、生成された第1の乱数が第1の鍵を用いて暗号化された第1の暗号が他の情報処理装置に送信され、他の情報処理装置で第1の暗号が復号されて、暗号化された第2の暗号、および他の情報処理装置で生成された第2の乱数が暗号化された第3の暗号が受信され、受信された第2の暗号を第2の鍵を用いて復号した第4のデータと、第1の乱数が比較される。比較結果が一致した場合、他の情報処理装置が認証され、第3の暗号が第2の鍵を用いて復号された第5のデータが、第1の鍵を用いて第4の暗号に暗号化されて他の情報処理装置に送信されるようにし、比較結果が一致しない場合、処理が終了されるようにされる。第4の暗号は、他の情報処理装置において復号され、第2の乱数と比較されることにより、他の情報処理装置が、情報処理装置を認証するための暗号データであり、他の情報処理装置が認証され、かつ、第4の暗号が用いられて他の情報処理装置に認証された場合、第1の乱数が、他の情報処理装置との認証後の通信で用いられる所定の認識番号として保持され、第2の乱数と同じ値であることが確認された第5のデータが第3の鍵に設定され、第3の鍵が、他の情報処理装置に送信するコマンドの暗号化に用いられるとともに、他の情報処理装置から送信されてくる第2の乱数で暗号化されたデータの復号に用いられる。
【0021】
請求項17に記載の情報処理装置においては、他の情報処理装置で生成された第1の乱数が暗号化された第1の暗号が受信され、受信された第1の暗号を第1の鍵を用いて復号して第2のデータが生成され、第2のデータが第2の鍵を用いて第2の暗号に暗号化されるとともに、生成された第2の乱数が第2の鍵で第3の暗号に暗号化され、暗号化された第2の暗号および第3の暗号が他の情報処理装置に送信される。そして、他の情報処理装置で、第2の暗号が復号され、第1の乱数と比較され、比較結果が一致した場合に、情報処理装置が認証された結果、第3の暗号が復号されて、暗号化された第4の暗号が受信される。受信され、第4の暗号が第1の鍵を用いて復号された第6のデータと、生成された第2の乱数が比較され、比較結果が一致した場合、他の情報処理装置が認証されるようにされ、比較結果が一致しない場合、処理が終了されるようにされる。そして、他の情報処理装置が認証され、かつ、第2の暗号が用いられて他の情報処理装置に認証された場合、他の情報処理装置により生成された第1の乱数が、他の情報処理装置との認証後の通信で用いられる所定の認識番号として保持され、生成された第2の乱数が第3の鍵に設定され、第3の鍵が、送信データの暗号化に用いられるとともに、他の情報処理装置において第2の乱数と同一であると判断された、第3の暗号を復号して得られた第5のデータを用いて暗号化されたコマンドの復号に用いられる。
【0022】
【発明の実施の形態】
図1は、R/W1およびICカード2を利用した非接触カードシステムの一例を示している。R/W1およびICカード2は、電磁波を利用して非接触で、データの送受信を行う。
【0023】
例えば、R/W1が、リードコマンドをICカード2に送信すると、ICカード2は、そのリードコマンドを受信し、リードコマンドで指示されたデータをR/W1に送信するようになされている。
【0024】
また、R/W1がデータをICカード2に送信すると、ICカード2は、そのデータを受信し、受信したデータを、内蔵するメモリ84(図6)(記憶手段)に記憶し、そのデータを記憶したことを表す所定の応答信号をR/W1に送信するようになされている。
【0025】
図2は、本発明の一実施例であるR/W1の構成を示している。
【0026】
R/W1においては、制御部11は、内蔵するプログラムに応じて、各種処理を行うようになされている。例えば、制御部11は、ICカード2に送信するデータを、暗号部12(暗号化手段)に出力するとともに、復号部13(復号化手段)より供給された、ICカード2からの応答データを処理するようになされている。
【0027】
また、制御部11は、メモリ14(記憶手段)から、暗号化または復号化に利用される鍵KA(第2の鍵)または鍵KB(第1の鍵)を読み出し、その鍵KAまたは鍵KBを、暗号部12または復号部13に出力するようになされている。
【0028】
さらに、制御部11は、インタフェース15を介して、メインコンピュータ(図示せず)と通信を行うようになされている。
【0029】
メモリ14は、制御部11における処理に使用されるデータなどを記憶している他、暗号化または復号化において利用される2つの鍵KA,KBを記憶している。
【0030】
暗号部12は、制御部11より供給されたデータを、所定の鍵で暗号化し、暗号化したデータ(暗号)を送信部16(送信手段)に出力するようになされている。
【0031】
送信部16は、暗号部12より供給されたデータ(暗号)を、所定の変調方式(例えば、PSK(Phase Shift Keying)変調方式)で変調し、生成された変調波を、アンテナ部17を介してICカード2に送信するようになされている。
【0032】
受信部18(受信手段)は、アンテナ部17を介して、ICカード2により送信された変調波を受信し、その変調波に対応する復調方式で復調し、復調したデータ(暗号)を復号部13に出力するようになされている。
【0033】
復号部13は、受信部18より供給されたデータ(暗号)を、所定の鍵で復号化し、復号化したデータを制御部11に出力するようになされている。
【0034】
図3は、図2の暗号部12の一構成例を示している。暗号部12においては、鍵保存部31は、制御部11より供給された鍵Kを保持するようになされている。
【0035】
データランダム化部32は、鍵保存部31から鍵Kを読み出し、その鍵Kで、制御部31より供給されたデータを暗号化し、生成された暗号を送信部16に出力するようになされている。
【0036】
図4は、図3のデータランダム化部32の一構成例を示している。このデータランダム化部32は、複数のインボリューション処理を行うDES方式(例えば、「暗号と情報セキュリティ」辻井 重男、笠原 正雄 編著、1990年、昭晃堂に記載されている)で暗号を生成するようになされている。このデータランダム化部32においては、鍵データ生成回路61は、鍵保存部31から読み出した鍵Kから、16個の鍵データK1乃至K16を算出し、鍵データK1乃至K16を、演算回路62−1乃至62−16にそれぞれ出力するようになされている。
【0037】
レジスタ63は、制御部11より供給された64ビット(8バイト)のデータを保持し、その64ビットのデータのうちの上位32ビットを加算器64−1に出力し、下位32ビットを演算回路62−1および加算器64−2に出力するようになされている。
【0038】
演算回路62−i(i=1,・・・,16)は、レジスタ63の下位32ビット(演算回路62−1の場合)または加算器64−(i−1)(演算回路62−2乃至62−16の場合)より供給された32ビットのデータに対して、鍵データ生成回路61より供給された鍵データKiを利用して、所定の変換を行い、変換後の32ビットのデータを加算器64−iに出力するようになされている。
【0039】
加算器64−i(i=1,・・・,16)は、レジスタ63の上位32ビット(加算器64−1の場合)、レジスタ63の下位32ビット(加算器64−2の場合)、および、加算器64−(i−2)(加算器64−3乃至64−16の場合)のいずれかより供給された32ビットのデータと、演算回路62−iより供給された32ビットのデータの排他的論理和(ビット毎の排他的論理和)を計算し、その排他的論理和(32ビット)を、加算器64−(i+2)(加算器64−1乃至64−14の場合)、レジスタ65の下位32ビット(加算器64−15の場合)、および、レジスタ65の上位32ビット(加算器64−16の場合)のいずれか、並びに、演算回路62−(i+1)(加算器64−1乃至64−15の場合)に出力するようになされている。
【0040】
レジスタ65は、加算器64−15より供給された32ビットのデータを、下位32ビットで保持し、加算器64−16より供給された32ビットのデータを、上位32ビットで保持するとともに、これらの2つの32ビットのデータで構成される64ビットのデータを、暗号として送信部16に出力するようになされている。
【0041】
図5は、図2の復号部13の一構成例を示している。この復号部13においては、鍵保存部41は、制御部11より供給された鍵Kを保持するようになされている。
【0042】
変換部42は、図4のデータランダム化部32と同一の構成を有し、鍵保存部41から鍵Kを読み出し、受信部18より供給されたデータ(DES方式で暗号化された暗号)をレジスタ63に供給した後、図4のデータランダム化部32と同一の動作を行い、そのデータを復号化し、復号化したデータをレジスタ65から制御部11に出力するようになされている。
【0043】
図6は、本発明の一実施例であるICカード2の構成例を示している。
【0044】
ICカード2においては、制御部81(処理手段)は、R/W1により供給されるコマンドに応じて、各種処理を行うようになされている。制御部81は、R/W1からのコマンドを、復号部83(復号化手段)から受け取り、そのコマンドに対応した処理を行い、その処理の結果に対応する応答データ(R/W1に送信するもの)を、暗号部82(暗号化手段)に出力するようになされている。
【0045】
また、制御部81は、メモリ84から、暗号化または復号化に利用される鍵KAまたは鍵KBを読み出し、その鍵KAまたは鍵KBを、暗号部82または復号部83に出力するようになされている。
【0046】
メモリ84は、RAM(Random Access Memory)部(128キロバイト程度)とROM(Read Only Memory)部(512キロバイト程度)を有している。そのうちのRAM部は、制御部81における処理に使用されるデータなどを一時的に記憶する。一方、ROM部には、暗号化または復号化において利用される2つの鍵KA,KBが、予め記憶されている。
【0047】
暗号部82および復号部83は、図3の暗号部12および図5の復号部13と同様の構成であるので、その説明を省略する。
【0048】
送信部86(送信手段)は、暗号部82より供給されたデータ(暗号)を、所定の変調方式(例えば、PSK(Phase Shift Keying)変調方式)で変調し、生成された変調波を、アンテナ部87を介してR/W1に送信するようになされている。
【0049】
受信部88(受信手段)は、アンテナ部87を介して、R/W1により送信された変調波を受信し、その変調波に対応する復調方式で復調し、復調したデータ(暗号)を復号部83に出力するようになされている。
【0050】
次に、図7および図8のフローチャート、並びに、図9を参照して、R/W1とICカード2の、相互認証を行うときの動作について説明する。
【0051】
最初に図7のステップS1において、R/W1の制御部11は、64ビットの乱数RA(第1のデータ)を生成し、その乱数RAを暗号部12のデータランダム化部32に出力するとともに、メモリ14から鍵KBを読み出し、暗号部12の鍵保存部31に出力する。
【0052】
図3の暗号部12のデータランダム化部32は、鍵保存部31から鍵KBを読み出す。そして、図4のデータランダム化部32の鍵データ生成回路61は、鍵KBから16個の鍵データK1乃至K16を生成し、演算回路62−1乃至62−16にそれぞれ出力する。
【0053】
データランダム化部32のレジスタ63は、R/W1より供給された乱数RAの上位32ビットを加算器64−1に出力し、乱数RAの下位32ビットを演算回路62−1および加算器64−2に出力する。演算回路62−1は、その32ビットのデータを鍵データK1を利用して変換し、変換後のデータを加算器64−1に出力する。加算器64−1は、レジスタ63より供給された32ビットのデータと、演算回路62−1より供給された32ビットのデータの排他的論理和(ビット毎の排他的論理和)を計算し、その排他的論理和(32ビット)を、演算回路62−2および加算器64−3に出力する。
【0054】
次に、演算回路62−2は、その32ビットのデータを鍵データK2を利用して変換し、変換後のデータ(32ビット)を加算器64−2に出力する。加算器64−2は、レジスタ63より供給された32ビットのデータと、演算回路62−2より供給された32ビットのデータの排他的論理和を計算し、その排他的論理和を、演算回路62−3および加算器64−4に出力する。
【0055】
演算回路62−3乃至62−14および加算器64−3乃至64−14は、順次、演算回路62−2および加算器64−2と同様の動作を行う。即ち、演算回路62−j(j=3,・・・,14)は、加算器64−(j−1)より供給された32ビットのデータを鍵データKjを利用して変換し、変換後のデータを加算器64−jに出力する。加算器64−j(j=3,・・・,14)は、加算器64−(j−2)より供給された32ビットのデータと、演算回路62−jより供給された32ビットのデータの排他的論理和を計算し、その排他的論理和を、演算回路62−(j+1)および加算器64−(j+2)に出力する。
【0056】
さらに、演算回路62−15は、加算器64−14より供給された32ビットのデータを鍵データK15を利用して変換し、変換後のデータを加算器64−15に出力する。加算器64−15は、加算器64−13より供給された32ビットのデータと、演算回路62−15より供給された32ビットのデータの排他的論理和を計算し、その排他的論理和を、演算回路62−16およびレジスタ65の下位32ビットに出力する。
【0057】
そして、演算回路62−16は、その32ビットのデータを鍵データK16を利用して変換し、変換後のデータを加算器64−16に出力する。加算器64−16は、加算器64−14より供給された32ビットのデータと、演算回路62−16より供給された32ビットのデータの排他的論理和を計算し、その排他的論理和を、レジスタ65の上位32ビットに出力する。
【0058】
以上のようにして、合計16段の演算を行って暗号を生成する。そして、データランダム化部32のレジスタ65は、生成した暗号C1(第1の暗号)(図9の[RA]B)を送信部16に出力する。
【0059】
次に、ステップS2において、R/W1の送信部16は、暗号部12より供給された暗号C1を変調し、生成された変調波を、アンテナ部17を介してICカード2に送信する。
【0060】
このように、R/W1が、ステップS1,S2において処理を行い、変調波を送信するまでの間、ICカード2は、図8のステップS21において待機している。
【0061】
そして、R/W1から変調波が送信されてくると、ICカード2の受信部88は、アンテナ部87を介して、R/W1の送信部16により送信された変調波を受信し、その変調波を復調し、復調後のデータ(暗号C1)を復号部83に出力する。
【0062】
次に、ステップS22において、ICカード2の復号部83の変換部42は、予め制御部81より鍵保存部41に供給されている鍵KBで、受信部88より供給された暗号C1を復号化し、復号化したデータ(平文M1)(第2のデータ)を制御部81に出力する。
【0063】
ステップS23において、ICカード2の制御部81は、復号部83より供給された平文M1を、暗号部82のデータランダム化部32に出力する。暗号部82のデータランダム化部32は、鍵保存部31に予め記憶されている鍵KAを読み出し、その鍵KAで、ステップS1におけるR/W1の暗号部12のデータランダム化部32と同様に、平文M1を暗号化し、生成された暗号C2(第2の暗号)(図9の[RA]A)を送信部86に出力する。
【0064】
また、制御部81は、乱数RB(第3のデータ)を生成し、その乱数RBを暗号部82のデータランダム化部32に出力する。暗号部82のデータランダム化部32は、鍵保存部31から鍵KAを読み出し、その鍵KAで乱数RBを暗号化し、生成された暗号C3(第3の暗号)(図9の[RB]A)を送信部86に出力する。
【0065】
そして、ステップS24において、ICカード2の送信部86は、暗号C2,C3を変調し、生成された変調波を、アンテナ部87を介してR/W1に送信する。
【0066】
このように、ICカード2がステップS21乃至S24の処理を行っている間、R/W1は、図7のステップS3およびステップS4において、ICカード2から暗号C2と暗号C3が送信されてくるまで待機するとともに、暗号C1を送信してからの経過時間を、ステップS3において監視し、ICカード2からC2とC3が送信されてくるまでに所定の時間(ICカード2における処理に通常要する時間より長い時間)が経過した場合、ステップS2に戻り、暗号C1を再送する。
【0067】
そして、ICカード2から暗号C2および暗号C3を含む変調波が送信されてくると、R/W1に受信部18は、アンテナ部17を介して、ICカード2の送信部86により送信された変調波を受信し、その変調波を復調する。そして、受信部18は、復調されたデータ(暗号C2,C3)を、復号部13に出力する。
【0068】
次に、ステップS5において、R/W1の復号部13の変換部42は、鍵保存部41に予め供給されている鍵KAを読み出し、受信部18より供給されたデータ(暗号C2,C3)を復号化し、復号化したデータ(平文M2(暗号C2に対応する)(第4のデータ)と平文M3(暗号C3に対応する)(第5のデータ))を制御部11に出力する。
【0069】
そして、ステップS6において、R/W1の制御部11は、平文M2と乱数RAが同一であるか否かを判断し、平文M2と乱数RAが同一であると判断した場合、ステップS7において、R/W1は、ICカード2がR/W1の鍵KA,KBと同一の鍵KA,KBを有していると判断し、ICカード2を認証する。
【0070】
一方、ステップS6において、平文M2と乱数RAが同一ではないと判断した場合、R/W1は、ICカード2を認証しないので、認証処理を終了する。
【0071】
ステップS7においてICカード2を認証した後、ステップS8において、R/W1の制御部11は、ステップS5で生成した平文M3を暗号部12に出力する。そして、暗号部12は、ステップS1と同様に、平文M3を鍵KBで暗号化し、生成された暗号C4(第4の暗号)(図9の[RB]B)を送信部16に出力する。
【0072】
ステップS9において、R/W1の送信部16は、暗号部12より供給された暗号C4を変調し、生成された変調波を、アンテナ部17を介してICカード2に送信する。
【0073】
このように、R/W1が、ステップS4乃至S9において処理を行っている間、ICカード2は、図8のステップS25およびステップS26において、暗号C4が送信されてくるまで待機している。このとき、ICカード2の制御部81は、暗号C2,C3を送信してからの経過時間を監視しており、ステップS26において暗号C2,C3を送信してから所定の時間が経過したと判断した場合、R/W1を認証せずに認証処理を終了する。
【0074】
一方、暗号C4を含む変調波が送信されてくると、ICカード2の受信部88は、R/W1により送信された変調波を、アンテナ部87を介して受信し、その変調波を復調する。そして、受信部88は、復調したデータ(暗号C4)を復号部13に出力する。
【0075】
次にステップS27において、ICカード2の復号部83の変換部42は、鍵保存部41から読み出した鍵KBで、受信部88より供給されたデータ(暗号C4)を復号化し、復号化したデータ(平文M4)(第6のデータ)を制御部81に出力する。
【0076】
そして、ステップS28において、ICカード2の制御部81は、平文M4と乱数RBが同一であるか否かを判断し、平文M4と乱数RBが同一であると判断した場合、ステップS29において、ICカード2は、R/W1がICカード2の鍵KA,KBと同一の鍵KA,KBを有していると判断し、R/W1を認証する。
【0077】
一方、ステップS28において、平文M4と乱数RBが同一ではないと判断した場合、ICカード2は、R/W1を認証しないので、認証処理を終了する。
【0078】
以上のようにして、R/W1は、図7に示すように、ICカード2に対する認証処理を行い、ICカード2は、図8に示すように、R/W1に対する認証処理を行うことにより、相互に、認証処理を行う。
【0079】
なお、上述の暗号部12,82のデータランダム化部32は、DES方式で暗号化を行っているが、他の方式(例えば、FEAL(Fast Encryption ALgorithm)−8方式)で暗号化を行うようにしてもよい。その場合、復号部13,83の変換部42は、その暗号化方式に対応して復号化を行うようにする。
【0080】
また、FEAL−8方式を利用した場合、35ミリ秒程度(ICカード2における処理にかかる時間は28ミリ秒程度)で相互認証を行うことができる。
【0081】
次に、図10および図11のフローチャートを参照して、上述の認証処理後(相互に認証した後)におけるR/W1とICカード2間の通信について説明する。
【0082】
図10のステップS41において、R/W1の制御部11は、最初に、上述の認証処理における乱数RAを認識番号IDとして保持するとともに、乱数RB(平文M3)(ICカード2を認証したので、R/W1は、平文M3を乱数RBとする)を新たな鍵KID(第3の鍵)として、暗号部12の鍵保存部31および復号部13の鍵保存部41に出力する。
【0083】
そして、R/W1の制御部11は、ICカード2に実行させる処理に対応するコマンド(送信コマンド)を、暗号部12のデータランダム化部32に出力する。暗号部12のデータランダム化部32は、鍵保存部31から鍵KIDを読み出し、その鍵KIDで送信コマンドを暗号化し、生成された暗号Ccom(第5の暗号)を送信部16に出力する。
【0084】
また、R/W1の制御部11は、認識番号IDを、暗号部12のデータランダム化部32に出力する。暗号部12のデータランダム化部32は、鍵KIDで認識番号IDを暗号化し、生成された暗号CID(第6の暗号)を送信部16に出力する。
【0085】
ステップS42において、R/W1の送信部16は、暗号部12より供給された暗号Ccom,CIDを変調し、生成された変調波をアンテナ部17を介してICカード2に送信する。
【0086】
このように、R/W1が、暗号Ccom,CIDを含む変調波を送信するまでの間、ICカード2は、図11のステップS61において待機している。
【0087】
なお、ICカード2の制御部81は、上述の認証処理における乱数RBを鍵KIDとして、予め、暗号部82の鍵保存部31および復号部83の鍵保存部41に出力するとともに、乱数RA(平文M1)(R/W1を認証したので、ICカード2は、平文M1を乱数RAとする)を認識番号IDとして保持している。
【0088】
そして、R/W1から暗号Ccom,CIDを含む変調波を送信されてくると、ICカード2の受信部88は、R/W1の送信部16により送信された変調波を、アンテナ部87を介して受信し、その変調波を復調する。そして、受信部88は、復調したデータ(暗号Ccom,CID)を、復号部83に出力する。
【0089】
ステップS62において、復号部83の変換部42は、鍵保存部41に予め記憶されている鍵KIDで、供給されたデータのうちの暗号CIDを復号化し、復号されたデータ(平文MID)(第7のデータ)を制御部81に出力する。
【0090】
そして、ステップS63において、ICカード2の制御部81は、平文MIDの値が認識番号ID以上であるか否かを判断し、平文MIDの値が認識番号IDより小さいと判断した場合、通信処理を終了する。一方、平文MIDの値が認識番号ID以上であると判断した場合、ステップS64において、制御部81は、送信されてきたコマンド(暗号Ccom)を承認し、復号部83に、暗号Ccomを復号化させ、ステップS65において、復号化したコマンドに対応する処理を行い、ステップS66において、その処理結果に対応する応答データ(R/W1に送信するためのもの)を作成する。
【0091】
次に、ステップS67において、ICカード2の制御部81は、認識番号IDの値を1だけ増加させた後、認識番号IDおよび応答データを、暗号部82に順次出力する。ステップS68において、暗号部82は、認識番号IDを、鍵KIDで暗号CID(第8の暗号)に暗号化するとともに、応答データを、鍵KIDで暗号Cre(第7の暗号)に暗号化した後、暗号CIDおよび暗号Creを、送信部86に出力する。
【0092】
そして、ステップS69において、送信部86は、暗号CIDと暗号Creを変調し、生成した変調波をR/W1に送信する。
【0093】
このように、ICカード2がステップS61乃至S69において送信したコマンドに対応する処理を行っている間、R/W1は、ステップS43およびステップS44において待機するとともに、暗号CID,Ccomを送信した時からの経過時間をステップS43において監視する。
【0094】
そして、予め設定されている所定の時間が経過すると、ステップS45に進み、制御部11は、ステップS41で暗号化したコマンドと同一のコマンドを選択し、ステップS46で、認識番号IDの値を1だけ増加させた後、ステップS41に戻り、送信コマンドと認識番号IDを暗号化し、ステップS42において、生成された暗号をICカード2に再送する。
【0095】
一方、ステップS44において、ICカード2からの暗号CIDと暗号Creを含む変調波が送信されてくると、R/W1に受信部18が、その変調波を、暗号CIDと暗号Creに復調し、その暗号CIDと暗号Creを復号部13に出力する。
【0096】
ステップS47において、復号部13は、暗号CIDを鍵KIDで復号化し、生成された平文MID(第9のデータ)を制御部11に出力する。
【0097】
ステップS48において、制御部11は、平文MIDの値が、認識番号IDより大きいか否かを判断し、平文MIDの値が認識番号ID以下であると判断した場合、ステップS45に進み、ステップS41で送信したコマンドと同一のコマンドを選択し、ステップS46において、認識番号IDの値を1だけ増加させた後、ステップS41に戻り、送信コマンドと認識番号IDを暗号化し、ステップS42において、生成された暗号をICカード2に再送する。
【0098】
一方、ステップS48において、平文MIDの値が、認識番号IDより大きいと判断した場合、制御部11は、ステップS49において、復号部13に、暗号Creを復号化させ、ICカード2からの応答データを受け取る。
【0099】
そして、ステップS50において、R/W1の制御部11は、通信を終了するか否かを判断する。通信を継続する場合、ステップS51に進み、R/W1の制御部11は、次の送信コマンドを選択する。
【0100】
そして、ステップS46に進み、認識番号IDの値を1だけ増加させた後、ステップS41に戻り、ステップS41以降で、次の送信コマンドの送信を行う。
【0101】
以上のようにして、相互認証時に送信した乱数RA,RBを、認識番号IDおよび新たな鍵KIDとして利用して、R/W1は、ICカード2に所定のコマンドを送信し、ICカード2は、そのコマンドに対応する処理を行った後、その処理結果に対応する応答データをR/W1に送信する。このようにすることにより、認識番号および新たな鍵を利用して、通信毎に、通信相手が正規の者であることを確認することができる。また、1回の通信毎に認識番号IDの値を1ずつ増加させているので、現在までの通信回数を知ることができ、処理の経過を把握することができる。
【0102】
なお、ステップS63において、ICカード2の制御部81は、平文MIDが認識番号ID以上であるか否かを判断しているが、平文MIDの値が認識番号IDに対応する所定の範囲内(例えば、ID乃至ID+16の範囲)の値と同一であるか否かを判断するようにしてもよい。このようにすることにより、例えば、伝送路に障害が生じ、R/W1が放射した電磁波(認識番号の値がID)がICカード2に到達しなかった場合において、ICカード2は、次に送信されてくるデータ(認識番号の値はID+1であるが、送信コマンドは、前回送信したコマンドと同一である)を受信することができる。
【0103】
あるいは、ステップS63において、ICカード2の制御部81は、平文MID(64ビット)の例えば下位8ビットの値が、認識番号IDの下位8ビットの値以上であるか否かを判断するようにしてもよい。このように所定の桁数(ビット数)nだけにおいて比較を行うことにより、64ビットにおいて比較を行う場合より、ビット演算量が減少し、処理を速く行うことができる。なお、この場合、認識番号IDの値が2n−1(nは桁数)より大きくなると桁上がりが発生する(比較の結果にエラーが生じる)ので、R/W1とICカード2の間の通信の回数を考慮して、認識番号IDの値が2n−1(nは桁数)より大きくならないように、桁数nを設定する。
【0104】
また、同様に、ステップS48において、R/W1の制御部11は、平文MIDの値が認識番号IDに対応する所定の範囲内の値と同一であるか否かを判断するようにしてもよい。また、ステップS48において、R/W1の制御部11は、平文MIDの例えば下位8ビットの値が、認識番号IDの下位8ビットの値より大きいか否かを判断するようにしてもよい。
【0105】
なお、上記実施例においては、乱数RBを新たな鍵KIDとしているが、図12に示すように乱数RAと乱数RBから新たな鍵KIDを算出し、その鍵KIDを利用して通信を行うようにしてもよい。
【0106】
また、R/W1が送信した情報を、ICカード2に、単に記憶しておく場合、図13に示すように、ICカード2は、受信したデータ(鍵KAまたは鍵KBで暗号化されたデータ)を、復号化せずに、そのままメモリ84に記憶させておき、R/W1からのリードコマンドを受け取ったときに、そのデータをメモリ84から読み出し、そのまま送信するようにしてもよい。
【0108】
【発明の効果】
以上の如く、請求項1に記載の通信方法によれば、相互に認証した2つの情報処理装置で通信を行うことができる。
【0109】
請求項15に記載の情報処理装置によれば、所定の情報処理装置の認証を行うとともに、その情報処理装置により認証されることが可能となる。
【0110】
請求項17に記載の情報処理装置によれば、所定の情報処理装置の認証を行うとともに、その情報処理装置により認証されることが可能となる。
【図面の簡単な説明】
【図1】R/W1とICカード2により構成される非接触カードシステムの一例を示す図である。
【図2】本発明の一実施例であるR/W1の構成を示すブロック図である。
【図3】図2の暗号部12の構成例を示すブロック図である。
【図4】図3のデータランダム化部32の構成例を示すブロック図である。
【図5】図2の復号部13の構成例を示すブロック図である。
【図6】本発明の一実施例であるICカード2の構成を示すブロック図である。
【図7】図1のR/W1の相互認証時の動作について説明するフローチャートである。
【図8】図1のICカード2の相互認証時の動作について説明するフローチャートである。
【図9】図1の非接触カードシステムの相互認証時の動作について説明する図である。
【図10】図1のR/W1の通信時の処理について説明するフローチャートである。
【図11】図1のICカード2の通信時の処理について説明するフローチャートである。
【図12】R/W1とICカード2との通信の他の例を示す図である。
【図13】R/W1とICカード2との通信のさらに他の例を示す図である。
【図14】秘密暗号を利用した通信の一例を示すブロック図である。
【図15】秘密暗号を利用した認証の一例を示すブロック図である。
【符号の説明】
1 リーダ/ライタ(R/W), 2 ICカード, 11 制御部, 12暗号部, 13 復号部, 14 メモリ, 15 インタフェース, 16送信部, 17 アンテナ部, 18 受信部, 31 鍵保存部, 32 データランダム化部, 41 鍵保存部, 42 変換部, 61 鍵データ生成回路, 62−1乃至62−16 演算回路, 63 レジスタ, 64−1乃至64−16 加算器, 65 レジスタ, 81 制御部, 82 暗号部, 83 復号部, 84 メモリ, 86 送信部, 87 アンテナ部, 88 受信部
Claims (18)
- 第1の情報処理装置が第2の情報処理装置と通信する通信方法であって、
前記第1の情報処理装置および前記第2の情報処理装置は、それぞれ、
乱数を生成する乱数生成手段と、
第1の鍵および第2の鍵を記憶する記憶手段と、
所定のデータを前記第1の鍵または前記第2の鍵を利用して暗号化する暗号化手段と、
暗号化されたデータを前記第2の鍵または前記第1の鍵により復号する復号手段と、
前記暗号化手段により暗号化されたデータを送信する送信手段と、
前記所定のデータと、送信されてくる暗号を復号して生成されたデータに応じて、前記暗号を送信してきた情報処理装置を認証する認証手段と
を備え、
前記第1の情報処理装置の前記暗号化手段が、前記乱数生成手段により生成された第1の乱数を前記第1の鍵を用いて第1の暗号に暗号化し、
前記第1の情報処理装置の前記送信手段が、前記第1の暗号を前記第2の情報処理装置に送信し、
前記第2の情報処理装置において、前記第1の情報処理装置から送信されてきた前記第1の暗号が、前記第2の情報処理装置の前記復号手段により前記第1の鍵を用いて復号された後、前記第2の情報処理装置の前記暗号化手段により前記第2の鍵を用いて第2の暗号に暗号化されるとともに、前記第2の情報処理装置の前記乱数生成手段により生成された第2の乱数は、前記第2の情報処理装置の前記暗号化手段により前記第2の鍵を用いて第3の暗号に暗号化され、暗号化された前記第2の暗号および前記第3の暗号が前記第1の情報処理装置に送信され、
前記第1の情報処理装置の復号手段が、前記第2の情報処理装置から送信されてくる第2の暗号および第3の暗号を、前記第2の鍵を用いてそれぞれ第4のデータおよび第5のデータに復号し、
前記第1の情報処理装置の前記認証手段が、前記第4のデータと前記第1の乱数を比較し、比較結果が一致した場合、前記第2の情報処理装置を認証し、
前記第1の情報処理装置の暗号化手段が、前記第5のデータを第4の暗号に暗号化し、
前記第1の情報処理装置の前記送信手段が、前記第4の暗号を前記第2の情報処理装置に送信し、
前記第2の情報処理装置において、前記第2の情報処理装置の前記復号手段により前記第1の情報処理装置から送信されてきた前記第4の暗号が第6のデータに復号され、前記第2の情報処理装置の前記認証手段によって前記第6のデータと前記第2の乱数が比較され、比較結果が一致し、前記第1の情報処理装置が認証されることで、前記第1および第2の情報処理装置が相互に認証された場合、前記第1の乱数は、前記第2の情報処理装置との相互認証後の通信で用いられる認識番号として保持されるとともに、前記第2の乱数と同一であると判断された前記第5のデータは、新たな鍵として、前記第2の情報処理装置に送信するコマンドの暗号化に用いるとともに、前記第2の情報処理装置から送信されてくる前記第2の乱数で暗号化されたデータの復号に用いる
ことを特徴とする通信方法。 - 前記第1の情報処理装置の前記暗号化手段は、第1のコマンドを前記新たな鍵で第5の暗号に暗号化するとともに、前記認識番号を前記新たな鍵で第6の暗号に暗号化し、
前記第1の情報処理装置の前記送信手段は、前記第5の暗号および前記第6の暗号を前記第2の情報処理装置に送信する
ことを特徴とする請求項1に記載の通信方法。 - 前記第2の情報処理装置において、前記第1の情報処理装置から送信されてきた前記第5の暗号は、前記第2の情報処理装置の前記復号手段により、前記新たな鍵で第2のコマンドに復号されるとともに、前記第1の情報処理装置から送信されてきた前記第6の暗号は、前記新たな鍵で第7のデータに復号され、
前記第2の情報処理装置の認証手段により、前記第7のデータと前記認証番号の値が比較されて前記第2のコマンドは承認される
ことを特徴とする請求項2に記載の通信方法。 - 前記第1の情報処理装置の前記認識番号は、前記第1のコマンドの暗号化毎に変更される
ことを特徴とする請求項2に記載の通信方法。 - 前記第1の情報処理装置の前記認識番号は、前記第1のコマンドの暗号化毎にその値が増加される
ことを特徴とする請求項2に記載の通信方法。 - 前記第2の情報処理装置において、前記第2の情報処理装置の認識手段による比較の結果、前記第7のデータが前記認識番号に対応する所定の範囲内の値であるとき、前記第2のコマンドは承認される
ことを特徴とする請求項3に記載の通信方法。 - 前記第2の情報処理装置において、前記第2の情報処理装置の認証手段により、前記第7のデータと前記認識番号の値が所定の桁数の範囲において比較され、比較の結果、前記第7のデータの前記所定の桁数の範囲の値が前記認識番号における前記所定の桁数の範囲の値以上であるとき、前記第2のコマンドは承認される
ことを特徴とする請求項3に記載の通信方法。 - 前記第2の情報処理装置において、前記第2のコマンドに対応する処理が行われ、その処理の結果に対応する応答データが生成され、
前記第2の情報処理装置の前記暗号化手段により、前記応答データが、前記新たな鍵で暗号化された第7の暗号に暗号化されるとともに、前記認証番号が前記新たな鍵で第8の暗号に暗号化され、
前記第2の情報処理装置の送信手段により、前記第7の暗号および前記第8の暗号が前記第1の情報処理装置に送信されてきた場合、
前記第1の情報処理装置の復号手段は、前記第2の情報処理装置から送信されてきた前記第7の暗号を前記新たな鍵で第8のデータに復号するとともに、前記第2の情報処理装置から送信されてきた前記第8の暗号を前記新たな鍵で第9のデータに復号し、
前記第1の情報処理装置の認証手段は、前記第9のデータと前記認証番号の値を比較して、前記第8のデータを前記応答データとして承認する
ことを特徴とする請求項3に記載の通信方法。 - 前記第2の情報処理装置の前記認識番号は、前記応答データの暗号化毎に変更される
ことを特徴とする請求項8に記載の通信方法。 - 前記第2の情報処理装置の前記認識番号は、前記応答データの暗号化毎にその値が増加される
ことを特徴とする請求項8に記載の通信方法。 - 前記第1の情報処理装置の認証手段は、前記第9のデータと前記認証番号の値の比較の結果、前記第9のデータが前記認識番号に対応する所定の範囲内の値であるとき、前記第8のデータを前記応答データとして承認する
ことを特徴とする請求項8に記載の通信方法。 - 前記第1の情報処理装置の認証手段は、前記第9のデータと前記認識番号の値を所定の桁数の範囲において比較し、比較の結果、前記第9のデータの前記所定の桁数の範囲の値が前記認識番号における前記所定の桁数の範囲の値以上であるとき、前記第8のデータを前記応答データとして承認する
ことを特徴とする請求項8に記載の通信方法。 - 前記第1の情報処理装置の認証手段は、前記第1の情報処理装置の前記送信手段により前記第5の暗号を前記第6の暗号とともに送信した後、前記第7の暗号および前記第8の暗号を受信するまでに所定の時間が経過した場合、前記認識番号の値を増加させ、
前記第1の情報処理装置の暗号化手段は、前記認識番号を前記第6の暗号に暗号化し、
前記第1の情報処理装置の送信手段は、前記第5の暗号を前記第6の暗号とともに再送する
ことを特徴とする請求項8に記載の通信方法。 - 前記第1の情報処理装置の認証手段は、前記第8のデータを前記応答データとして承認しない場合、前記認証番号の値を増加させ、
前記第1の情報処理装置の暗号化手段は、前記認証番号を前記第6の暗号に暗号化し、
前記第1の情報処理装置の送信手段は、前記第5の暗号を前記第6の暗号とともに再送する
ことを特徴とする請求項8に記載の通信方法。 - 第1の鍵および第2の鍵を記憶する記憶手段と、
乱数を生成する乱数生成手段と、
所定のデータを、前記第1の鍵または前記第2の鍵を利用して暗号化する暗号化手段と、
暗号化されたデータを復号する復号手段と、
前記暗号化手段により暗号化された暗号を他の情報処理装置に送信する送信手段と、
前記他の情報処理装置から暗号を受信する受信手段と、
前記所定のデータと、前記他の情報処理装置から受信した暗号を復号して生成されたデータに応じて、前記他の情報処理装置を認証する認証手段と
を備える情報処理装置において、
前記送信手段は、前記乱数生成手段により生成された第1の乱数が前記暗号化手段により前記第1の鍵を用いて暗号化された第1の暗号を前記他の情報処理装置に送信し、
前記受信手段は、前記他の情報処理装置で前記第1の暗号が復号されて、暗号化された第2の暗号、および前記他の情報処理装置で生成された第2の乱数が暗号化された第3の暗号を受信し、
前記認証手段は、前記受信手段により受信された前記第2の暗号を前記第2の鍵を用いて復号した第4のデータと、前記第1の乱数を比較し、比較結果が一致した場合、前記他の情報処理装置を認証し、前記第3の暗号が前記復号手段により前記第2の鍵を用いて復号された第5のデータを、前記第1の鍵を用いて第4の暗号に暗号化して前記他の情報処理装置に送信するようにし、比較結果が一致しない場合、処理を終了するようにし、
前記第4の暗号は、前記他の情報処理装置において復号され、前記第2の乱数と比較されることにより、前記他の情報処理装置が、前記情報処理装置を認証するための暗号データであり、
前記認証手段により前記他の情報処理装置が認証され、かつ、前記第4の暗号が用いられて前記他の情報処理装置に認証された場合、前記認証手段は、前記第1の乱数を、前記他の情報処理装置との認証後の通信で用いられる所定の認識番号として保持し、前記第2の乱数と同じ値であることが確認された前記第5のデータを第3の鍵に設定し、前記第3の鍵を、前記他の情報処理装置に送信するコマンドの暗号化に用いるとともに、前記他の情報処理装置から送信されてくる前記第2の乱数で暗号化されたデータの復号に用いる
ことを特徴とする情報処理装置。 - 前記認識番号は、前記暗号化手段による前記コマンドの暗号化毎に変更される
ことを特徴とする請求項15に記載の情報処理装置。 - 第1の鍵および第2の鍵を記憶する記憶手段と、
乱数を生成する乱数生成手段と、
所定のデータを、前記第1の鍵または前記第2の鍵を利用して暗号化する暗号化手段と、
暗号化されたデータを復号する復号手段と、
前記暗号化手段により暗号化された暗号を他の情報処理装置に送信する送信手段と、
前記他の情報処理装置から暗号を受信する受信手段と、
前記所定のデータと、前記他の情報処理装置から受信した暗号を復号して生成されたデータに応じて、前記他の情報処理装置を認証する認証手段と
を備える情報処理装置において、
前記受信手段は、前記他の情報処理装置で生成された第1の乱数が暗号化された第1の暗号を受信し、
前記復号手段は、前記受信手段により受信された前記第1の暗号を前記第1の鍵を用いて復号して第2のデータを生成し、
前記暗号化手段は、前記第2のデータを前記第2の鍵を用いて第2の暗号に暗号化するとともに、前記乱数生成手段により生成された第2の乱数を前記第2の鍵で第3の暗号に暗号化し、
前記送信手段は、前記暗号化手段により暗号化された前記第2の暗号および前記第3の暗号を前記他の情報処理装置に送信し、
前記受信手段は、前記他の情報処理装置で、前記第2の暗号が復号され、前記第1の乱数と比較され、比較結果が一致した場合に、前記情報処理装置が認証された結果、前記第3の暗号が復号されて、暗号化された第4の暗号を受信し、
前記認証手段は、前記受信手段により受信され、前記復号手段により前記第4の暗号を前記第1の鍵を用いて復号された第6のデータと、前記乱数生成手段により生成された前記第2の乱数を比較し、比較結果が一致した場合、前記他の情報処理装置を認証するようにし、比較結果が一致しない場合、処理を終了するようにし、
前記認証手段により前記他の情報処理装置が認証され、かつ、前記第2の暗号が用いられて前記他の情報処理装置に認証された場合、前記認証手段は、前記他の情報処理装置により生成された前記第1の乱数を、前記他の情報処理装置との認証後の通信で用いられる所定の認識番号として保持し、前記乱数生成手段により生成された前記第2の乱数を第3の鍵に設定し、前記第3の鍵を、送信データの暗号化に用いるとともに、前記他の情報処理装置において前記第2の乱数と同一であると判断された、前記第3の暗号を復号して得られた第5のデータを用いて暗号化されたコマンドの復号に用いる
ことを特徴とする情報処理装置。 - 前記受信手段により受信された前記コマンドに対して応答する場合、前記認証手段は、前記認識番号を変更し、前記暗号化手段は、変更された前記認識番号および応答データを、前記第3の鍵が用いてそれぞれ暗号化し、前記送信手段は、暗号化手段により暗号化された前記認識番号および応答データを前記他の情報処理装置に送信する
ことを特徴とする請求項17に記載の情報処理装置。
Priority Applications (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1996168965A JP3709946B6 (ja) | 1996-06-28 | 通信方法、および、情報処理装置 | |
US08/879,188 US6073236A (en) | 1996-06-28 | 1997-06-20 | Authentication method, communication method, and information processing apparatus |
KR1019970027574A KR100500976B1 (ko) | 1996-06-28 | 1997-06-26 | 인증방법,통신방법및정보처리장치 |
IDP972221A ID17637A (id) | 1996-06-28 | 1997-06-26 | Metode pembuktin keaslian dan metode komunikasi dan peralatan proses informasi |
CNB971046956A CN1241354C (zh) | 1996-06-28 | 1997-06-27 | 鉴别方法、通信方法和信息处理装置 |
CNB031454992A CN1302389C (zh) | 1996-06-28 | 1997-06-27 | 鉴别方法、通信方法和信息处理装置 |
DE69735464T DE69735464T2 (de) | 1996-06-28 | 1997-06-27 | Authentifizierungsverfahren, Kommunikationsverfahren und Informationsverarbeitungseinrichtung |
EP97304682A EP0817420B1 (en) | 1996-06-28 | 1997-06-27 | Authentication method, communication method, and information processing apparatus |
MYPI97002921A MY124136A (en) | 1996-06-28 | 1997-06-27 | Communication method, and information processing apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1996168965A JP3709946B6 (ja) | 1996-06-28 | 通信方法、および、情報処理装置 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004248312A Division JP3897177B2 (ja) | 2004-08-27 | 2004-08-27 | 認証方法、および情報処理装置 |
Publications (3)
Publication Number | Publication Date |
---|---|
JPH1020780A JPH1020780A (ja) | 1998-01-23 |
JP3709946B2 JP3709946B2 (ja) | 2005-10-26 |
JP3709946B6 true JP3709946B6 (ja) | 2008-07-16 |
Family
ID=
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100500976B1 (ko) | 인증방법,통신방법및정보처리장치 | |
KR100563108B1 (ko) | Ic 카드 및 ic 카드간 암호통신 방법 | |
US6535980B1 (en) | Keyless encryption of messages using challenge response | |
KR100563107B1 (ko) | 전자티켓 유통시스템에서의 인증방법 및 ic 카드 | |
JPH06266670A (ja) | 暗号化仮想端末初期化装置 | |
WO1990009009A1 (en) | Data carrier and data communication apparatus using the same | |
EP1992101A2 (en) | Secure data transmission using undiscoverable or black data | |
KR970076418A (ko) | 기기간 통신의 안전성을 확보하는 암호화 장치 및 통신 시스템 | |
JP2006333095A (ja) | 暗号通信方法、暗号通信システム、暗号通信装置及び暗号通信プログラム | |
JPH0934356A (ja) | 低帯域幅暗号モジュールを持つ高帯域幅暗号システム | |
CN112398894A (zh) | 车用的安全验证方法及装置 | |
EP0225010A1 (en) | A terminal for a system requiring secure access | |
JPH09312643A (ja) | 鍵共有方法及び暗号通信方法 | |
JP3897177B2 (ja) | 認証方法、および情報処理装置 | |
JPH11136234A (ja) | 利用者認証方式および利用者認証方法 | |
US20060136714A1 (en) | Method and apparatus for encryption and decryption, and computer product | |
US6826689B1 (en) | Method and system for emulating a secret code between two hardware modules | |
JP3709946B6 (ja) | 通信方法、および、情報処理装置 | |
JP6734802B2 (ja) | デバイスおよびデバイス認証システム | |
US7607023B2 (en) | Data transfer method, data transfer apparatus, data transmission device, and data reception device | |
JP3394225B2 (ja) | 通信方法及び通信システム装置 | |
US7327845B1 (en) | Transmission of encrypted messages between a transmitter and a receiver utilizing a one-time cryptographic pad | |
JP5792573B2 (ja) | 相互認証システム及び相互認証方法 | |
JPH0373633A (ja) | 暗号通信方式 | |
JP2000307565A (ja) | 通信方法、その装置およびicカード |