(57)【要約】【課題】相互に認証を行うことができるようにする。【解決手段】  Ｒ／Ｗ１は、乱数ＲAを鍵ＫBで暗号化した暗号Ｃ1をＩＣカード２に送信する。ＩＣカード２は、その暗号Ｃ1を鍵ＫBで平文Ｍ1に復号化する。ＩＣカード２は、平文Ｍ1を鍵ＫAで暗号化した暗号Ｃ2と、乱数ＲBを鍵ＫAで暗号化した暗号Ｃ3をＲ／Ｗ１に送信する。Ｒ／Ｗ１は、その暗号Ｃ2，Ｃ3を、鍵ＫAで平文Ｍ2と平文Ｍ3にそれぞれ復号化する。Ｒ／Ｗ１は、平文Ｍ2と乱数ＲAが同一であると判断した場合、ＩＣカード２を認証する。次に、Ｒ／Ｗ１は、平文Ｍ3を鍵ＫBで暗号化した暗号Ｃ4をＩＣカード２に送信する。ＩＣカード２は、その暗号Ｃ4を、鍵ＫBで平文Ｍ4に復号化する。ＩＣカード２は、平文Ｍ4と乱数ＲBが同一であると判断した場合、Ｒ／Ｗ１を認証する。【選択図】図１
2005027338.tif 000002
【特許請求の範囲】
【請求項１】
第１の情報処理装置が第２の情報処理装置との間で相互に認証を行う認証方法であって、
前記第１の情報処理装置および前記第２の情報処理装置は、それぞれ、
乱数を生成する乱数生成手段と、
第１の鍵および第２の鍵を記憶する記憶手段と、
所定のデータを前記第１の鍵または前記第２の鍵を利用して暗号化する暗号化手段と、
暗号化されたデータを前記第２の鍵または前記第１の鍵により復号する復号手段と
を備え、
前記第１の情報処理装置の前記暗号化手段により前記第１の鍵を用いて前記乱数生成手段により生成された第１の乱数が第１の暗号に暗号化され、暗号化された前記第１の暗号を、前記第２の情報処理装置に送信し、
前記第１の情報処理装置から送信された前記第１の暗号は、前記第２の情報処理装置の前記復号手段により前記第１の鍵を用いて復号された後、前記第２の情報処理装置の前記暗号化手段により前記第２の鍵を用いて第２の暗号に暗号化されるとともに、前記第２の情報処理装置の前記乱数生成手段により生成された第２の乱数は、前記第２の情報処理装置の前記暗号化手段により前記第２の鍵を用いて第３の暗号に暗号化され、
前記第２の情報処理装置から前記第２の暗号および前記第３の暗号を受信し、
受信された前記第２の暗号および前記第３の暗号が前記第１の情報処理装置の前記復号手段により前記第２の鍵を用いてそれぞれ第４のデータおよび第５のデータに復号され、復号された前記第４のデータと前記第１の乱数を比較し、比較結果が一致した場合、前記第２の情報処理装置を認証し、
前記第１の情報処理装置の暗号化手段により前記第５のデータが前記第１の鍵を用いて暗号化された第４の暗号を前記第２の情報処理装置に送信し、
送信された前記第４の暗号は、前記第２の情報処理装置の前記復号手段により第６のデータに復号され、復号された前記第６のデータと前記第２の乱数が比較され、比較結果が一致した場合、前記第２の情報処理装置により前記第１の情報処理装置が認証される
ことを特徴とする認証方法。
【請求項２】
前記第１の情報処理装置は、前記第１の暗号を送信してから前記第２の暗号および前記第３の暗号を受信するまでの時間を監視する
ことを特徴とする請求項１に記載の認証方法。
【請求項３】
前記第２の情報処理装置による前記第２の暗号および前記第３の暗号の送信から前記第４の暗号を受信するまでの時間が所定の時間を超えた場合、前記第２の情報処理装置による前記第１の情報処理装置の認証は禁止される
ことを特徴とする請求項１に記載の認証方法。
【請求項４】
前記第２の情報処理装置は、ＩＣカードで構成され、前記第１の情報処理装置は、前記ＩＣカードとデータ通信を行うリーダライタで構成される
ことを特徴とする請求項１に記載の認証方法。
【請求項５】
第１の鍵および第２の鍵を記憶する記憶手段と、
乱数を生成する乱数生成手段と、
所定のデータを、前記第１の鍵または前記第２の鍵を利用して暗号化する暗号化手段と、
暗号化されたデータを復号する復号手段と、
前記暗号化手段により暗号化された暗号を他の情報処理装置に送信する送信手段と、
前記他の情報処理装置から暗号を受信する受信手段と、
前記他の情報処理装置から受信した暗号を復号して生成されたデータに応じて、前記他の情報処理装置を認証する認証手段と
を備える情報処理装置において、
前記送信手段は、前記乱数生成手段により生成された第１の乱数が前記暗号化手段により前記第１の鍵を用いて暗号化された第１の暗号を前記他の情報処理装置に送信し、
前記受信手段は、前記他の情報処理装置で前記第１の暗号が復号された後、暗号化された第２の暗号、および前記他の情報処理装置で生成された第２の乱数が暗号化された第３の暗号を受信し、
前記認証手段は、前記受信手段により受信された前記第２の暗号を前記第２の鍵を用いて復号した第４のデータと前記第１の乱数を比較し、比較結果が一致した場合、前記第３の暗号が前記復号手段により前記第２の鍵を用いて復号された第５のデータを、前記第１の鍵を用いて第４の暗号に暗号化して前記他の情報処理装置に送信するようにし、比較結果が一致しない場合、処理を終了するようにし、
送信される前記第４の暗号は、前記他の情報処理装置が、前記情報処理装置を認証するための暗号データである
ことを特徴とする情報処理装置。
【請求項６】
前記認証手段は、前記送信手段により前記第１の暗号が送信されてから、前記受信手段により前記第２の暗号および前記第３の暗号が受信されるまでの時間を監視する
ことを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記他の情報処理装置は、ＩＣカードである
ことを特徴とする請求項５に記載の情報処理装置。
【請求項８】
第１の鍵および第２の鍵を記憶する記憶手段と、
乱数を生成する乱数生成手段と、
所定のデータを、前記第１の鍵または前記第２の鍵を利用して暗号化する暗号化手段と、
暗号化されたデータを復号する復号手段と、
前記暗号化手段により暗号化された暗号を他の情報処理装置に送信する送信手段と、
前記他の情報処理装置から暗号を受信する受信手段と、
前記他の情報処理装置から受信した暗号を復号して生成されたデータに応じて、前記他の情報処理装置を認証する認証手段と
を備える情報処理装置において、
前記受信手段は、前記他の情報処理装置で生成された第１の乱数が暗号化された第１の暗号を受信し、
前記復号手段は、前記受信手段により受信された前記第１の暗号を前記第１の鍵を用いて復号して第２のデータを生成し、
前記暗号化手段は、前記第２のデータを前記第２の鍵を用いて第２の暗号に暗号化するとともに、前記乱数生成手段により生成された第２の乱数を前記第２の鍵で第３の暗号に暗号化し、
前記送信手段は、前記暗号化手段により暗号化された前記第２の暗号および前記第３の暗号を前記他の情報処理装置に送信し、
前記受信手段は、前記他の情報処理装置で、前記第２の暗号が復号され、前記第１の乱数と比較され、比較結果が一致した場合に、前記情報処理装置が認証された結果、前記第３の暗号が復号されて、暗号化された第４の暗号を受信し、
前記復号手段は、前記受信手段により受信された前記第４の暗号を前記第１の鍵を用いて復号して第６のデータを生成し、
前記認証手段は、前記第６のデータと前記乱数生成手段により生成された前記第２の乱数を比較し、比較結果が一致した場合、前記他の情報処理装置を認証するようにし、比較結果が一致しない場合、処理を終了するようにする
ことを特徴とする情報処理装置。
【請求項９】
前記認証手段は、前記送信手段により前記第２の暗号および前記第３の暗号が送信されてから、前記受信手段により前記第４の暗号が受信されるまでの時間が所定の時間を超えた場合、前記他の情報処理装置の認証を禁止する
ことを特徴とする請求項８に記載の情報処理装置。
【請求項１０】
前記他の情報処理装置は、リーダライタで構成される
ことを特徴とする請求項８に記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、認証方法、および情報処理装置に関し、特に、複数の情報処理装置が相互に認証を行う認証方法、および情報処理装置に関する。
【背景技術】
【０００２】
情報処理技術の発展に伴い、大量の情報が所定の伝送路を介して通信されている。情報が通信される伝送路には、第三者（送信者および受信者以外の者）が、通信されているデータを盗聴することが可能なものが多い。
【０００３】
このような伝送路を利用して、情報を第三者に漏洩させずに、通信を行う場合、しばしば、暗号が利用される。暗号を利用し、暗号化されたデータを通信することにより、暗号化されたデータを盗聴することができても、第三者が、そのデータから通信した情報の内容を読み出すことは困難である。
【０００４】
このような暗号を生成する暗号化方法には、所定の鍵を利用して、平文（送信する情報）から、暗号（実際に送信されるデータ）を生成するものが利用されることが多い。
【０００５】
このような、鍵を利用した暗号には、共通鍵暗号と公開鍵暗号の２種類がある。共通鍵暗号においては、暗号化するときの鍵（暗号化鍵データ）と、復号化するときの鍵（復号化鍵データ）が同一である。例えば、共通鍵暗号としては、Feistel暗号の１つであるＤＥＳ（Data Encryption Standard）方式などがよく利用されている。一方、公開鍵暗号においては、暗号化鍵データと復号化鍵データが異なる。そして、受信者は、送信者のために、それらの鍵のうち、暗号化鍵データを公開するが、復号化鍵データは公開せずに隠しておく（即ち、復号化鍵データは、受信者のみが知っている）。
【０００６】
図１４は、このような鍵（共通鍵）を利用した通信（秘密通信）の一例を示している。送信者１０１は、送信する情報（平文Ｍ）を、鍵Ｋを利用して暗号Ｃに暗号化する。そして、送信者１０１は、暗号Ｃを、所定の伝送路を介して受信者１０２に送信する。
【０００７】
受信者１０２は、暗号Ｃを受け取り、送信者１０１が有する鍵Ｋと同一の鍵Ｋを利用して、その暗号Ｃを復号化し、送信者１０１により送信された情報（平文Ｍ）を獲得する。
【０００８】
このようにして通信が行われているとき、暗号Ｃを盗聴しても、第三者が、送信された情報（平文Ｍ）を獲得することは困難である。
【０００９】
さらに、このような鍵を利用して、通信相手が、正規の受信者であるか否かを判断する（認証する）ことができる。図１５は、鍵（共通鍵）を利用した認証の一例を示している。認証する側１１１は、乱数Ｍを発生し、その乱数Ｍを認証される側１１２に送信する。認証する側１１１は、認証される側１１２に、その乱数Ｍを、鍵Ｋで暗号Ｃに暗号化させ、その暗号Ｃを送信させる。そして、認証する側１１１は、その暗号Ｃを受信し、鍵Ｋで平文Ｍ１に復号化する。そして、認証する側１１１は、乱数Ｍと平文Ｍ１が一致するか否かを判断し、一致する場合、認証される側１１２を認証する。
【００１０】
このようにして、送信者（認証する側１１１）は、受信者（認証される側１１２）が正規の受信者（送信者が有する鍵と同一の鍵を有する）であるか否かを判断する（認証する）ことができる。
【００１１】
このとき、平文である乱数Ｍと、それを暗号化した暗号Ｃを、第三者が盗聴したとしても、平文Ｍと暗号Ｃから、鍵Ｋを生成することは困難であるので、送信者（認証する側１１１）の鍵Ｋと同一の鍵Ｋを有する正規の受信者のみが認証される。
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかしながら、上述の認証方法においては、所定の送受信者が、他の送受信者を認証するだけであるので、例えば、リーダ／ライタ（Ｒ／Ｗ）とＩＣカードで構成されるカードシステムに、上述の認証方法を適用した場合、Ｒ／Ｗは、通信相手が正規のＩＣカードであるか否かを判断する（通信相手を認証する）ことができるが、ＩＣカードは、通信相手が正規のＲ／Ｗであるか否かを判断することが困難であるという問題を有している。
【００１３】
本発明は、このような状況に鑑みてなされたものであり、複数の情報処理装置において、相互に認証を行い、正規の通信相手と通信を行うようにするものである。
【課題を解決するための手段】
【００１４】
本発明の認証方法は、第１の情報処理装置の暗号化手段により第１の鍵を用いて乱数生成手段により生成された第１の乱数が第１の暗号に暗号化され、暗号化された第１の暗号を、第２の情報処理装置に送信し、第１の情報処理装置から送信された第１の暗号は、第２の情報処理装置の復号手段により第１の鍵を用いて復号された後、第２の情報処理装置の暗号化手段により第２の鍵を用いて第２の暗号に暗号化されるとともに、第２の情報処理装置の乱数生成手段により生成された第２の乱数は、第２の情報処理装置の暗号化手段により第２の鍵を用いて第３の暗号に暗号化され、第２の情報処理装置から第２の暗号および第３の暗号を受信し、受信された第２の暗号および第３の暗号が第１の情報処理装置の復号手段により第２の鍵を用いてそれぞれ第４のデータおよび第５のデータに復号され、復号された第４のデータと第１の乱数を比較し、比較結果が一致した場合、第２の情報処理装置を認証し、第１の情報処理装置の暗号化手段により第５のデータが第１の鍵を用いて暗号化された第４の暗号を第２の情報処理装置に送信し、送信された第４の暗号は、第２の情報処理装置の復号手段により第６のデータに復号され、復号された第６のデータと第２の乱数が比較され、比較結果が一致した場合、第２の情報処理装置により第１の情報処理装置が認証されることを特徴とする。
【００１５】
第１の情報処理装置は、第１の暗号を送信してから第２の暗号および第３の暗号を受信するまでの時間を監視するようにすることができる。
【００１６】
第２の情報処理装置による第２の暗号および第３の暗号の送信から第４の暗号を受信するまでの時間が所定の時間を超えた場合、第２の情報処理装置による第１の情報処理装置の認証は禁止されるようにすることができる。
【００１７】
第２の情報処理装置は、ＩＣカードで構成され、第１の情報処理装置は、ＩＣカードとデータ通信を行うリーダライタで構成されるようにすることができる。
【００１８】
本発明の第１の情報処理装置は、送信手段は、乱数生成手段により生成された第１の乱数が暗号化手段により第１の鍵を用いて暗号化された第１の暗号を他の情報処理装置に送信し、受信手段は、他の情報処理装置で第１の暗号が復号された後、暗号化された第２の暗号、および他の情報処理装置で生成された第２の乱数が暗号化された第３の暗号を受信し、認証手段は、受信手段により受信された第２の暗号を第２の鍵を用いて復号した第４のデータと第１の乱数を比較し、比較結果が一致した場合、第３の暗号が復号手段により第２の鍵を用いて復号された第５のデータを、第１の鍵を用いて第４の暗号に暗号化して他の情報処理装置に送信するようにし、比較結果が一致しない場合、処理を終了するようにし、送信される第４の暗号は、他の情報処理装置が、情報処理装置を認証するための暗号データであることを特徴とする。
【００１９】
認証手段は、送信手段により第１の暗号が送信されてから、受信手段により第２の暗号および第３の暗号が受信されるまでの時間を監視するようにすることができる。
【００２０】
他の情報処理装置は、ＩＣカードであるようにすることができる。
【００２１】
本発明の第２の情報処理装置は、受信手段は、他の情報処理装置で生成された第１の乱数が暗号化された第１の暗号を受信し、復号手段は、受信手段により受信された第１の暗号を第１の鍵を用いて復号して第２のデータを生成し、暗号化手段は、第２のデータを第２の鍵を用いて第２の暗号に暗号化するとともに、乱数生成手段により生成された第２の乱数を第２の鍵で第３の暗号に暗号化し、送信手段は、暗号化手段により暗号化された第２の暗号および第３の暗号を他の情報処理装置に送信し、受信手段は、他の情報処理装置で、第２の暗号が復号され、第１の乱数と比較され、比較結果が一致した場合に、情報処理装置が認証された結果、第３の暗号が復号されて、暗号化された第４の暗号を受信し、復号手段は、受信手段により受信された第４の暗号を第１の鍵を用いて復号して第６のデータを生成し、認証手段は、第６のデータと乱数生成手段により生成された第２の乱数を比較し、比較結果が一致した場合、他の情報処理装置を認証するようにし、比較結果が一致しない場合、処理を終了するようにすることを特徴とする。
【００２２】
認証手段は、送信手段により第２の暗号および第３の暗号が送信されてから、受信手段により第４の暗号が受信されるまでの時間が所定の時間を超えた場合、他の情報処理装置の認証を禁止するようにすることができる。
【００２３】
他の情報処理装置は、リーダライタで構成されるようにすることができる。
【００２４】
第１の本発明においては、第１の情報処理装置の暗号化手段により第１の鍵を用いて乱数生成手段により生成された第１の乱数が第１の暗号に暗号化され、暗号化された第１の暗号が、第２の情報処理装置に送信される。第１の情報処理装置から送信された第１の暗号は、第２の情報処理装置の復号手段により第１の鍵を用いて復号された後、第２の情報処理装置の暗号化手段により第２の鍵を用いて第２の暗号に暗号化されるとともに、第２の情報処理装置の乱数生成手段により生成された第２の乱数は、第２の情報処理装置の暗号化手段により第２の鍵を用いて第３の暗号に暗号化される。そして、第２の情報処理装置から第２の暗号および第３の暗号が受信され、受信された第２の暗号および第３の暗号が第１の情報処理装置の復号手段により第２の鍵を用いてそれぞれ第４のデータおよび第５のデータに復号され、復号された第４のデータと第１の乱数が比較され、比較結果が一致した場合、第２の情報処理装置が認証され、第１の情報処理装置の暗号化手段により第５のデータが第１の鍵を用いて暗号化された第４の暗号が第２の情報処理装置に送信される。送信された第４の暗号は、第２の情報処理装置の復号手段により第６のデータに復号され、復号された第６のデータと第２の乱数が比較され、比較結果が一致した場合、第２の情報処理装置により第１の情報処理装置が認証される。
【００２５】
第２の本発明においては、生成された第１の乱数が第１の鍵を用いて暗号化された第１の暗号が他の情報処理装置に送信される。他の情報処理装置で第１の暗号が復号された後、暗号化された第２の暗号、および他の情報処理装置で生成された第２の乱数が暗号化された第３の暗号が受信され、受信された第２の暗号が第２の鍵を用いて復号された第４のデータと、第１の乱数が比較される。そして、比較結果が一致した場合、第３の暗号が第２の鍵を用いて復号された第５のデータが、第１の鍵を用いて第４の暗号に暗号化されて他の情報処理装置に送信されるようにされ、比較結果が一致しない場合、処理が終了されるようにされ、送信される第４の暗号は、他の情報処理装置が、情報処理装置を認証するための暗号データである。
【００２６】
第３の発明においては、他の情報処理装置で生成された第１の乱数が暗号化された第１の暗号が受信され、受信された第１の暗号を第１の鍵を用いて復号して第２のデータが生成され、第２のデータが第２の鍵を用いて第２の暗号に暗号化されるとともに、生成された第２の乱数が第２の鍵で第３の暗号に暗号化され、暗号化された第２の暗号および第３の暗号が他の情報処理装置に送信される。他の情報処理装置で、第２の暗号が復号され、第１の乱数と比較され、比較結果が一致した場合に、情報処理装置が認証された結果、第３の暗号が復号されて、暗号化された第４の暗号が受信され、受信された第４の暗号を第１の鍵を用いて復号して第６のデータが生成され、第６のデータと第２の乱数が比較される。そして、比較結果が一致した場合、他の情報処理装置が認証されるようにされ、比較結果が一致しない場合、処理が終了される。
【発明の効果】
【００２７】
本発明によれば、２つの情報処理装置が相互に認証を行うことができる。また、本発明によれば、相互に認証した２つの情報処理装置で通信を行うことができる。
【発明を実施するための最良の形態】
【００２８】
図１は、Ｒ／Ｗ１およびＩＣカード２を利用した非接触カードシステムの一例を示している。Ｒ／Ｗ１およびＩＣカード２は、電磁波を利用して非接触で、データの送受信を行う。
【００２９】
例えば、Ｒ／Ｗ１が、リードコマンドをＩＣカード２に送信すると、ＩＣカード２は、そのリードコマンドを受信し、リードコマンドで指示されたデータをＲ／Ｗ１に送信するようになされている。
【００３０】
また、Ｒ／Ｗ１がデータをＩＣカード２に送信すると、ＩＣカード２は、そのデータを受信し、受信したデータを、内蔵するメモリ８４（図６）（記憶手段）に記憶し、そのデータを記憶したことを表す所定の応答信号をＲ／Ｗ１に送信するようになされている。
【００３１】
図２は、本発明の一実施例であるＲ／Ｗ１の構成を示している。
【００３２】
Ｒ／Ｗ１においては、制御部１１は、内蔵するプログラムに応じて、各種処理を行うようになされている。例えば、制御部１１は、ＩＣカード２に送信するデータを、暗号部１２（暗号化手段）に出力するとともに、復号部１３（復号化手段）より供給された、ＩＣカード２からの応答データを処理するようになされている。
【００３３】
また、制御部１１は、メモリ１４（記憶手段）から、暗号化または復号化に利用される鍵ＫA（第２の鍵）または鍵ＫB（第１の鍵）を読み出し、その鍵ＫAまたは鍵ＫBを、暗号部１２または復号部１３に出力するようになされている。
【００３４】
さらに、制御部１１は、インタフェース１５を介して、メインコンピュータ（図示せず）と通信を行うようになされている。
【００３５】
メモリ１４は、制御部１１における処理に使用されるデータなどを記憶している他、暗号化または復号化において利用される２つの鍵ＫA，ＫBを記憶している。
【００３６】
暗号部１２は、制御部１１より供給されたデータを、所定の鍵で暗号化し、暗号化したデータ（暗号）を送信部１６（送信手段）に出力するようになされている。
【００３７】
送信部１６は、暗号部１２より供給されたデータ（暗号）を、所定の変調方式（例えば、ＰＳＫ（Phase Shift Keying）変調方式）で変調し、生成された変調波を、アンテナ部１７を介してＩＣカード２に送信するようになされている。
【００３８】
受信部１８（受信手段）は、アンテナ部１７を介して、ＩＣカード２により送信された変調波を受信し、その変調波に対応する復調方式で復調し、復調したデータ（暗号）を復号部１３に出力するようになされている。
【００３９】
復号部１３は、受信部１８より供給されたデータ（暗号）を、所定の鍵で復号化し、復号化したデータを制御部１１に出力するようになされている。
【００４０】
図３は、図２の暗号部１２の一構成例を示している。暗号部１２においては、鍵保存部３１は、制御部１１より供給された鍵Ｋを保持するようになされている。
【００４１】
データランダム化部３２は、鍵保存部３１から鍵Ｋを読み出し、その鍵Ｋで、制御部３１より供給されたデータを暗号化し、生成された暗号を送信部１６に出力するようになされている。
【００４２】
図４は、図３のデータランダム化部３２の一構成例を示している。このデータランダム化部３２は、複数のインボリューション処理を行うＤＥＳ方式（例えば、「暗号と情報セキュリティ」辻井  重男、笠原  正雄  編著、１９９０年、昭晃堂に記載されている）で暗号を生成するようになされている。このデータランダム化部３２においては、鍵データ生成回路６１は、鍵保存部３１から読み出した鍵Ｋから、１６個の鍵データＫ1乃至Ｋ16を算出し、鍵データＫ1乃至Ｋ16を、演算回路６２−１乃至６２−１６にそれぞれ出力するようになされている。
【００４３】
レジスタ６３は、制御部１１より供給された６４ビット（８バイト）のデータを保持し、その６４ビットのデータのうちの上位３２ビットを加算器６４−１に出力し、下位３２ビットを演算回路６２−１および加算器６４−２に出力するようになされている。
【００４４】
演算回路６２−ｉ（ｉ＝１，・・・，１６）は、レジスタ６３の下位３２ビット（演算回路６２−１の場合）または加算器６４−（ｉ−１）（演算回路６２−２乃至６２−１６の場合）より供給された３２ビットのデータに対して、鍵データ生成回路６１より供給された鍵データＫiを利用して、所定の変換を行い、変換後の３２ビットのデータを加算器６４−ｉに出力するようになされている。
【００４５】
加算器６４−ｉ（ｉ＝１，・・・，１６）は、レジスタ６３の上位３２ビット（加算器６４−１の場合）、レジスタ６３の下位３２ビット（加算器６４−２の場合）、および、加算器６４−（ｉ−２）（加算器６４−３乃至６４−１６の場合）のいずれかより供給された３２ビットのデータと、演算回路６２−ｉより供給された３２ビットのデータの排他的論理和（ビット毎の排他的論理和）を計算し、その排他的論理和（３２ビット）を、加算器６４−（ｉ＋２）（加算器６４−１乃至６４−１４の場合）、レジスタ６５の下位３２ビット（加算器６４−１５の場合）、および、レジスタ６５の上位３２ビット（加算器６４−１６の場合）のいずれか、並びに、演算回路６２−（ｉ＋１）（加算器６４−１乃至６４−１５の場合）に出力するようになされている。
【００４６】
レジスタ６５は、加算器６４−１５より供給された３２ビットのデータを、下位３２ビットで保持し、加算器６４−１６より供給された３２ビットのデータを、上位３２ビットで保持するとともに、これらの２つの３２ビットのデータで構成される６４ビットのデータを、暗号として送信部１６に出力するようになされている。
【００４７】
図５は、図２の復号部１３の一構成例を示している。この復号部１３においては、鍵保存部４１は、制御部１１より供給された鍵Ｋを保持するようになされている。
【００４８】
変換部４２は、図４のデータランダム化部３２と同一の構成を有し、鍵保存部４１から鍵Ｋを読み出し、受信部１８より供給されたデータ（ＤＥＳ方式で暗号化された暗号）をレジスタ６３に供給した後、図４のデータランダム化部３２と同一の動作を行い、そのデータを復号化し、復号化したデータをレジスタ６５から制御部１１に出力するようになされている。
【００４９】
図６は、本発明の一実施例であるＩＣカード２の構成例を示している。
【００５０】
ＩＣカード２においては、制御部８１（処理手段）は、Ｒ／Ｗ１により供給されるコマンドに応じて、各種処理を行うようになされている。制御部８１は、Ｒ／Ｗ１からのコマンドを、復号部８３（復号化手段）から受け取り、そのコマンドに対応した処理を行い、その処理の結果に対応する応答データ（Ｒ／Ｗ１に送信するもの）を、暗号部８２（暗号化手段）に出力するようになされている。
【００５１】
また、制御部８１は、メモリ８４から、暗号化または復号化に利用される鍵ＫAまたは鍵ＫBを読み出し、その鍵ＫAまたは鍵ＫBを、暗号部８２または復号部８３に出力するようになされている。
【００５２】
メモリ８４は、ＲＡＭ（Random Access Memory）部（１２８キロバイト程度）とＲＯＭ（Read Only Memory）部（５１２キロバイト程度）を有している。そのうちのＲＡＭ部は、制御部８１における処理に使用されるデータなどを一時的に記憶する。一方、ＲＯＭ部には、暗号化または復号化において利用される２つの鍵ＫA，ＫBが、予め記憶されている。
【００５３】
暗号部８２および復号部８３は、図３の暗号部１２および図５の復号部１３と同様の構成であるので、その説明を省略する。
【００５４】
送信部８６（送信手段）は、暗号部８２より供給されたデータ（暗号）を、所定の変調方式（例えば、ＰＳＫ（Phase Shift Keying）変調方式）で変調し、生成された変調波を、アンテナ部８７を介してＲ／Ｗ１に送信するようになされている。
【００５５】
受信部８８（受信手段）は、アンテナ部８７を介して、Ｒ／Ｗ１により送信された変調波を受信し、その変調波に対応する復調方式で復調し、復調したデータ（暗号）を復号部８３に出力するようになされている。
【００５６】
次に、図７および図８のフローチャート、並びに、図９を参照して、Ｒ／Ｗ１とＩＣカード２の、相互認証を行うときの動作について説明する。
【００５７】
最初に図７のステップＳ１において、Ｒ／Ｗ１の制御部１１は、６４ビットの乱数ＲA（第１のデータ）を生成し、その乱数ＲAを暗号部１２のデータランダム化部３２に出力するとともに、メモリ１４から鍵ＫBを読み出し、暗号部１２の鍵保存部３１に出力する。
【００５８】
図３の暗号部１２のデータランダム化部３２は、鍵保存部３１から鍵ＫBを読み出す。そして、図４のデータランダム化部３２の鍵データ生成回路６１は、鍵ＫBから１６個の鍵データＫ1乃至Ｋ16を生成し、演算回路６２−１乃至６２−１６にそれぞれ出力する。
【００５９】
データランダム化部３２のレジスタ６３は、Ｒ／Ｗ１より供給された乱数ＲAの上位３２ビットを加算器６４−１に出力し、乱数ＲAの下位３２ビットを演算回路６２−１および加算器６４−２に出力する。演算回路６２−１は、その３２ビットのデータを鍵データＫ1を利用して変換し、変換後のデータを加算器６４−１に出力する。加算器６４−１は、レジスタ６３より供給された３２ビットのデータと、演算回路６２−１より供給された３２ビットのデータの排他的論理和（ビット毎の排他的論理和）を計算し、その排他的論理和（３２ビット）を、演算回路６２−２および加算器６４−３に出力する。
【００６０】
次に、演算回路６２−２は、その３２ビットのデータを鍵データＫ2を利用して変換し、変換後のデータ（３２ビット）を加算器６４−２に出力する。加算器６４−２は、レジスタ６３より供給された３２ビットのデータと、演算回路６２−２より供給された３２ビットのデータの排他的論理和を計算し、その排他的論理和を、演算回路６２−３および加算器６４−４に出力する。
【００６１】
演算回路６２−３乃至６２−１４および加算器６４−３乃至６４−１４は、順次、演算回路６２−２および加算器６４−２と同様の動作を行う。即ち、演算回路６２−ｊ（ｊ＝３，・・・，１４）は、加算器６４−（ｊ−１）より供給された３２ビットのデータを鍵データＫjを利用して変換し、変換後のデータを加算器６４−ｊに出力する。加算器６４−ｊ（ｊ＝３，・・・，１４）は、加算器６４−（ｊ−２）より供給された３２ビットのデータと、演算回路６２−ｊより供給された３２ビットのデータの排他的論理和を計算し、その排他的論理和を、演算回路６２−（ｊ＋１）および加算器６４−（ｊ＋２）に出力する。
【００６２】
さらに、演算回路６２−１５は、加算器６４−１４より供給された３２ビットのデータを鍵データＫ15を利用して変換し、変換後のデータを加算器６４−１５に出力する。加算器６４−１５は、加算器６４−１３より供給された３２ビットのデータと、演算回路６２−１５より供給された３２ビットのデータの排他的論理和を計算し、その排他的論理和を、演算回路６２−１６およびレジスタ６５の下位３２ビットに出力する。
【００６３】
そして、演算回路６２−１６は、その３２ビットのデータを鍵データＫ16を利用して変換し、変換後のデータを加算器６４−１６に出力する。加算器６４−１６は、加算器６４−１４より供給された３２ビットのデータと、演算回路６２−１６より供給された３２ビットのデータの排他的論理和を計算し、その排他的論理和を、レジスタ６５の上位３２ビットに出力する。
【００６４】
以上のようにして、合計１６段の演算を行って暗号を生成する。そして、データランダム化部３２のレジスタ６５は、生成した暗号Ｃ1（第１の暗号）（図９の［ＲA］B）を送信部１６に出力する。
【００６５】
次に、ステップＳ２において、Ｒ／Ｗ１の送信部１６は、暗号部１２より供給された暗号Ｃ1を変調し、生成された変調波を、アンテナ部１７を介してＩＣカード２に送信する。
【００６６】
このように、Ｒ／Ｗ１が、ステップＳ１，Ｓ２において処理を行い、変調波を送信するまでの間、ＩＣカード２は、図８のステップＳ２１において待機している。
【００６７】
そして、Ｒ／Ｗ１から変調波が送信されてくると、ＩＣカード２の受信部８８は、アンテナ部８７を介して、Ｒ／Ｗ１の送信部１６により送信された変調波を受信し、その変調波を復調し、復調後のデータ（暗号Ｃ1）を復号部８３に出力する。
【００６８】
次に、ステップＳ２２において、ＩＣカード２の復号部８３の変換部４２は、予め制御部８１より鍵保存部４１に供給されている鍵ＫBで、受信部８８より供給された暗号Ｃ1を復号化し、復号化したデータ（平文Ｍ1）（第２のデータ）を制御部８１に出力する。
【００６９】
ステップＳ２３において、ＩＣカード２の制御部８１は、復号部８３より供給された平文Ｍ1を、暗号部８２のデータランダム化部３２に出力する。暗号部８２のデータランダム化部３２は、鍵保存部３１に予め記憶されている鍵ＫAを読み出し、その鍵ＫAで、ステップＳ１におけるＲ／Ｗ１の暗号部１２のデータランダム化部３２と同様に、平文Ｍ1を暗号化し、生成された暗号Ｃ2（第２の暗号）（図９の［ＲA］A）を送信部８６に出力する。
【００７０】
また、制御部８１は、乱数ＲB（第３のデータ）を生成し、その乱数ＲBを暗号部８２のデータランダム化部３２に出力する。暗号部８２のデータランダム化部３２は、鍵保存部３１から鍵ＫAを読み出し、その鍵ＫAで乱数ＲBを暗号化し、生成された暗号Ｃ3（第３の暗号）（図９の［ＲB］A）を送信部８６に出力する。
【００７１】
そして、ステップＳ２４において、ＩＣカード２の送信部８６は、暗号Ｃ2，Ｃ3を変調し、生成された変調波を、アンテナ部８７を介してＲ／Ｗ１に送信する。
【００７２】
このように、ＩＣカード２がステップＳ２１乃至Ｓ２４の処理を行っている間、Ｒ／Ｗ１は、図７のステップＳ３およびステップＳ４において、ＩＣカード２から暗号Ｃ2と暗号Ｃ3が送信されてくるまで待機するとともに、暗号Ｃ1を送信してからの経過時間を、ステップＳ３において監視し、ＩＣカード２からＣ2とＣ3が送信されてくるまでに所定の時間（ＩＣカード２における処理に通常要する時間より長い時間）が経過した場合、ステップＳ２に戻り、暗号Ｃ1を再送する。
【００７３】
そして、ＩＣカード２から暗号Ｃ2および暗号Ｃ3を含む変調波が送信されてくると、Ｒ／Ｗ１に受信部１８は、アンテナ部１７を介して、ＩＣカード２の送信部８６により送信された変調波を受信し、その変調波を復調する。そして、受信部１８は、復調されたデータ（暗号Ｃ2，Ｃ3）を、復号部１３に出力する。
【００７４】
次に、ステップＳ５において、Ｒ／Ｗ１の復号部１３の変換部４２は、鍵保存部４１に予め供給されている鍵ＫAを読み出し、受信部１８より供給されたデータ（暗号Ｃ2，Ｃ3）を復号化し、復号化したデータ（平文Ｍ2（暗号Ｃ2に対応する）（第４のデータ）と平文Ｍ3（暗号Ｃ3に対応する）（第５のデータ））を制御部１１に出力する。
【００７５】
そして、ステップＳ６において、Ｒ／Ｗ１の制御部１１は、平文Ｍ2と乱数ＲAが同一であるか否かを判断し、平文Ｍ2と乱数ＲAが同一であると判断した場合、ステップＳ７において、Ｒ／Ｗ１は、ＩＣカード２がＲ／Ｗ１の鍵ＫA，ＫBと同一の鍵ＫA，ＫBを有していると判断し、ＩＣカード２を認証する。
【００７６】
一方、ステップＳ６において、平文Ｍ2と乱数ＲAが同一ではないと判断した場合、Ｒ／Ｗ１は、ＩＣカード２を認証しないので、認証処理を終了する。
【００７７】
ステップＳ７においてＩＣカード２を認証した後、ステップＳ８において、Ｒ／Ｗ１の制御部１１は、ステップＳ５で生成した平文Ｍ3を暗号部１２に出力する。そして、暗号部１２は、ステップＳ１と同様に、平文Ｍ3を鍵ＫBで暗号化し、生成された暗号Ｃ4（第４の暗号）（図９の［ＲB］B）を送信部１６に出力する。
【００７８】
ステップＳ９において、Ｒ／Ｗ１の送信部１６は、暗号部１２より供給された暗号Ｃ4を変調し、生成された変調波を、アンテナ部１７を介してＩＣカード２に送信する。
【００７９】
このように、Ｒ／Ｗ１が、ステップＳ４乃至Ｓ９において処理を行っている間、ＩＣカード２は、図８のステップＳ２５およびステップＳ２６において、暗号Ｃ4が送信されてくるまで待機している。このとき、ＩＣカード２の制御部８１は、暗号Ｃ2，Ｃ3を送信してからの経過時間を監視しており、ステップＳ２６において暗号Ｃ2，Ｃ3を送信してから所定の時間が経過したと判断した場合、Ｒ／Ｗ１を認証せずに認証処理を終了する。
【００８０】
一方、暗号Ｃ4を含む変調波が送信されてくると、ＩＣカード２の受信部８８は、Ｒ／Ｗ１により送信された変調波を、アンテナ部８７を介して受信し、その変調波を復調する。そして、受信部８８は、復調したデータ（暗号Ｃ4）を復号部１３に出力する。
【００８１】
次にステップＳ２７において、ＩＣカード２の復号部８３の変換部４２は、鍵保存部４１から読み出した鍵ＫBで、受信部８８より供給されたデータ（暗号Ｃ4）を復号化し、復号化したデータ（平文Ｍ4）（第６のデータ）を制御部８１に出力する。
【００８２】
そして、ステップＳ２８において、ＩＣカード２の制御部８１は、平文Ｍ4と乱数ＲBが同一であるか否かを判断し、平文Ｍ4と乱数ＲBが同一であると判断した場合、ステップＳ２９において、ＩＣカード２は、Ｒ／Ｗ１がＩＣカード２の鍵ＫA，ＫBと同一の鍵ＫA，ＫBを有していると判断し、Ｒ／Ｗ１を認証する。
【００８３】
一方、ステップＳ２８において、平文Ｍ4と乱数ＲBが同一ではないと判断した場合、ＩＣカード２は、Ｒ／Ｗ１を認証しないので、認証処理を終了する。
【００８４】
以上のようにして、Ｒ／Ｗ１は、図７に示すように、ＩＣカード２に対する認証処理を行い、ＩＣカード２は、図８に示すように、Ｒ／Ｗ１に対する認証処理を行うことにより、相互に、認証処理を行う。
【００８５】
なお、上述の暗号部１２，８２のデータランダム化部３２は、ＤＥＳ方式で暗号化を行っているが、他の方式（例えば、ＦＥＡＬ（Fast Encryption ALgorithm）−８方式）で暗号化を行うようにしてもよい。その場合、復号部１３，８３の変換部４２は、その暗号化方式に対応して復号化を行うようにする。
【００８６】
また、ＦＥＡＬ−８方式を利用した場合、３５ミリ秒程度（ＩＣカード２における処理にかかる時間は２８ミリ秒程度）で相互認証を行うことができる。
【００８７】
次に、図１０および図１１のフローチャートを参照して、上述の認証処理後（相互に認証した後）におけるＲ／Ｗ１とＩＣカード２間の通信について説明する。
【００８８】
図１０のステップＳ４１において、Ｒ／Ｗ１の制御部１１は、最初に、上述の認証処理における乱数ＲAを認識番号ＩＤとして保持するとともに、乱数ＲB（平文Ｍ3）（ＩＣカード２を認証したので、Ｒ／Ｗ１は、平文Ｍ3を乱数ＲBとする）を新たな鍵ＫID（第３の鍵）として、暗号部１２の鍵保存部３１および復号部１３の鍵保存部４１に出力する。
【００８９】
そして、Ｒ／Ｗ１の制御部１１は、ＩＣカード２に実行させる処理に対応するコマンド（送信コマンド）を、暗号部１２のデータランダム化部３２に出力する。暗号部１２のデータランダム化部３２は、鍵保存部３１から鍵ＫIDを読み出し、その鍵ＫIDで送信コマンドを暗号化し、生成された暗号Ｃcom（第５の暗号）を送信部１６に出力する。
【００９０】
また、Ｒ／Ｗ１の制御部１１は、認識番号ＩＤを、暗号部１２のデータランダム化部３２に出力する。暗号部１２のデータランダム化部３２は、鍵ＫIDで認識番号ＩＤを暗号化し、生成された暗号ＣID（第６の暗号）を送信部１６に出力する。
【００９１】
ステップＳ４２において、Ｒ／Ｗ１の送信部１６は、暗号部１２より供給された暗号Ｃcom，ＣIDを変調し、生成された変調波をアンテナ部１７を介してＩＣカード２に送信する。
【００９２】
このように、Ｒ／Ｗ１が、暗号Ｃcom，ＣIDを含む変調波を送信するまでの間、ＩＣカード２は、図１１のステップＳ６１において待機している。
【００９３】
なお、ＩＣカード２の制御部８１は、上述の認証処理における乱数ＲBを鍵ＫIDとして、予め、暗号部８２の鍵保存部３１および復号部８３の鍵保存部４１に出力するとともに、乱数ＲA（平文Ｍ1）（Ｒ／Ｗ１を認証したので、ＩＣカード２は、平文Ｍ1を乱数ＲAとする）を認識番号ＩＤとして保持している。
【００９４】
そして、Ｒ／Ｗ１から暗号Ｃcom，ＣIDを含む変調波を送信されてくると、ＩＣカード２の受信部８８は、Ｒ／Ｗ１の送信部１６により送信された変調波を、アンテナ部８７を介して受信し、その変調波を復調する。そして、受信部８８は、復調したデータ（暗号Ｃcom，ＣID）を、復号部８３に出力する。
【００９５】
ステップＳ６２において、復号部８３の変換部４２は、鍵保存部４１に予め記憶されている鍵ＫIDで、供給されたデータのうちの暗号ＣIDを復号化し、復号されたデータ（平文ＭID）（第７のデータ）を制御部８１に出力する。
【００９６】
そして、ステップＳ６３において、ＩＣカード２の制御部８１は、平文ＭIDの値が認識番号ＩＤ以上であるか否かを判断し、平文ＭIDの値が認識番号ＩＤより小さいと判断した場合、通信処理を終了する。一方、平文ＭIDの値が認識番号ＩＤ以上であると判断した場合、ステップＳ６４において、制御部８１は、送信されてきたコマンド（暗号Ｃcom）を承認し、復号部８３に、暗号Ｃcomを復号化させ、ステップＳ６５において、復号化したコマンドに対応する処理を行い、ステップＳ６６において、その処理結果に対応する応答データ（Ｒ／Ｗ１に送信するためのもの）を作成する。
【００９７】
次に、ステップＳ６７において、ＩＣカード２の制御部８１は、認識番号ＩＤの値を１だけ増加させた後、認識番号ＩＤおよび応答データを、暗号部８２に順次出力する。ステップＳ６８において、暗号部８２は、認識番号ＩＤを、鍵ＫIDで暗号ＣID（第８の暗号）に暗号化するとともに、応答データを、鍵ＫIDで暗号Ｃre（第７の暗号）に暗号化した後、暗号ＣIDおよび暗号Ｃreを、送信部８６に出力する。
【００９８】
そして、ステップＳ６９において、送信部８６は、暗号ＣIDと暗号Ｃreを変調し、生成した変調波をＲ／Ｗ１に送信する。
【００９９】
このように、ＩＣカード２がステップＳ６１乃至Ｓ６９において送信したコマンドに対応する処理を行っている間、Ｒ／Ｗ１は、ステップＳ４３およびステップＳ４４において待機するとともに、暗号ＣID，Ｃcomを送信した時からの経過時間をステップＳ４３において監視する。
【０１００】
そして、予め設定されている所定の時間が経過すると、ステップＳ４５に進み、制御部１１は、ステップＳ４１で暗号化したコマンドと同一のコマンドを選択し、ステップＳ４６で、認識番号ＩＤの値を１だけ増加させた後、ステップＳ４１に戻り、送信コマンドと認識番号ＩＤを暗号化し、ステップＳ４２において、生成された暗号をＩＣカード２に再送する。
【０１０１】
一方、ステップＳ４４において、ＩＣカード２からの暗号ＣIDと暗号Ｃreを含む変調波が送信されてくると、Ｒ／Ｗ１に受信部１８が、その変調波を、暗号ＣIDと暗号Ｃreに復調し、その暗号ＣIDと暗号Ｃreを復号部１３に出力する。
【０１０２】
ステップＳ４７において、復号部１３は、暗号ＣIDを鍵ＫIDで復号化し、生成された平文ＭID（第９のデータ）を制御部１１に出力する。
【０１０３】
ステップＳ４８において、制御部１１は、平文ＭIDの値が、認識番号ＩＤより大きいか否かを判断し、平文ＭIDの値が認識番号ＩＤ以下であると判断した場合、ステップＳ４５に進み、ステップＳ４１で送信したコマンドと同一のコマンドを選択し、ステップＳ４６において、認識番号ＩＤの値を１だけ増加させた後、ステップＳ４１に戻り、送信コマンドと認識番号ＩＤを暗号化し、ステップＳ４２において、生成された暗号をＩＣカード２に再送する。
【０１０４】
一方、ステップＳ４８において、平文ＭIDの値が、認識番号ＩＤより大きいと判断した場合、制御部１１は、ステップＳ４９において、復号部１３に、暗号Ｃreを復号化させ、ＩＣカード２からの応答データを受け取る。
【０１０５】
そして、ステップＳ５０において、Ｒ／Ｗ１の制御部１１は、通信を終了するか否かを判断する。通信を継続する場合、ステップＳ５１に進み、Ｒ／Ｗ１の制御部１１は、次の送信コマンドを選択する。
【０１０６】
そして、ステップＳ４６に進み、認識番号ＩＤの値を１だけ増加させた後、ステップＳ４１に戻り、ステップＳ４１以降で、次の送信コマンドの送信を行う。
【０１０７】
以上のようにして、相互認証時に送信した乱数ＲA，ＲBを、認識番号ＩＤおよび新たな鍵ＫIDとして利用して、Ｒ／Ｗ１は、ＩＣカード２に所定のコマンドを送信し、ＩＣカード２は、そのコマンドに対応する処理を行った後、その処理結果に対応する応答データをＲ／Ｗ１に送信する。このようにすることにより、認識番号および新たな鍵を利用して、通信毎に、通信相手が正規の者であることを確認することができる。また、１回の通信毎に認識番号ＩＤの値を１ずつ増加させているので、現在までの通信回数を知ることができ、処理の経過を把握することができる。
【０１０８】
なお、ステップＳ６３において、ＩＣカード２の制御部８１は、平文ＭIDが認識番号ＩＤ以上であるか否かを判断しているが、平文ＭIDの値が認識番号ＩＤに対応する所定の範囲内（例えば、ＩＤ乃至ＩＤ＋１６の範囲）の値と同一であるか否かを判断するようにしてもよい。このようにすることにより、例えば、伝送路に障害が生じ、Ｒ／Ｗ１が放射した電磁波（認識番号の値がＩＤ）がＩＣカード２に到達しなかった場合において、ＩＣカード２は、次に送信されてくるデータ（認識番号の値はＩＤ＋１であるが、送信コマンドは、前回送信したコマンドと同一である）を受信することができる。
【０１０９】
あるいは、ステップＳ６３において、ＩＣカード２の制御部８１は、平文ＭID（６４ビット）の例えば下位８ビットの値が、認識番号ＩＤの下位８ビットの値以上であるか否かを判断するようにしてもよい。このように所定の桁数（ビット数）ｎだけにおいて比較を行うことにより、６４ビットにおいて比較を行う場合より、ビット演算量が減少し、処理を速く行うことができる。なお、この場合、認識番号ＩＤの値が２n−１（ｎは桁数）より大きくなると桁上がりが発生する（比較の結果にエラーが生じる）ので、Ｒ／Ｗ１とＩＣカード２の間の通信の回数を考慮して、認識番号ＩＤの値が２n−１（ｎは桁数）より大きくならないように、桁数ｎを設定する。
【０１１０】
また、同様に、ステップＳ４８において、Ｒ／Ｗ１の制御部１１は、平文ＭIDの値が認識番号ＩＤに対応する所定の範囲内の値と同一であるか否かを判断するようにしてもよい。また、ステップＳ４８において、Ｒ／Ｗ１の制御部１１は、平文ＭIDの例えば下位８ビットの値が、認識番号ＩＤの下位８ビットの値より大きいか否かを判断するようにしてもよい。
【０１１１】
なお、上記実施例においては、乱数ＲBを新たな鍵ＫIDとしているが、図１２に示すように乱数ＲAと乱数ＲBから新たな鍵ＫIDを算出し、その鍵ＫIDを利用して通信を行うようにしてもよい。
【０１１２】
また、Ｒ／Ｗ１が送信した情報を、ＩＣカード２に、単に記憶しておく場合、図１３に示すように、ＩＣカード２は、受信したデータ（鍵ＫAまたは鍵ＫBで暗号化されたデータ）を、復号化せずに、そのままメモリ８４に記憶させておき、Ｒ／Ｗ１からのリードコマンドを受け取ったときに、そのデータをメモリ８４から読み出し、そのまま送信するようにしてもよい。
【図面の簡単な説明】
【０１１３】
【図１】Ｒ／Ｗ１とＩＣカード２により構成される非接触カードシステムの一例を示す図である。
【図２】本発明の一実施例であるＲ／Ｗ１の構成を示すブロック図である。
【図３】図２の暗号部１２の構成例を示すブロック図である。
【図４】図３のデータランダム化部３２の構成例を示すブロック図である。
【図５】図２の復号部１３の構成例を示すブロック図である。
【図６】本発明の一実施例であるＩＣカード２の構成を示すブロック図である。
【図７】図１のＲ／Ｗ１の相互認証時の動作について説明するフローチャートである。
【図８】図１のＩＣカード２の相互認証時の動作について説明するフローチャートである。
【図９】図１の非接触カードシステムの相互認証時の動作について説明する図である。
【図１０】図１のＲ／Ｗ１の通信時の処理について説明するフローチャートである。
【図１１】図１のＩＣカード２の通信時の処理について説明するフローチャートである。
【図１２】Ｒ／Ｗ１とＩＣカード２との通信の他の例を示す図である。
【図１３】Ｒ／Ｗ１とＩＣカード２との通信のさらに他の例を示す図である。
【図１４】秘密暗号を利用した通信の一例を示すブロック図である。
【図１５】秘密暗号を利用した認証の一例を示すブロック図である。
【０１１４】
１  リーダ／ライタ（Ｒ／Ｗ），  ２  ＩＣカード，  １１  制御部，  １２  暗号部，  １３  復号部，  １４  メモリ，  １５  インタフェース，  １６  送信部，  １７  アンテナ部，  １８  受信部，  ３１  鍵保存部，  ３２  データランダム化部，  ４１  鍵保存部，  ４２  変換部，  ６１  鍵データ生成回路，  ６２−１乃至６２−１６  演算回路，  ６３  レジスタ，  ６４−１乃至６４−１６  加算器，  ６５  レジスタ，  ８１  制御部，  ８２  暗号部，  ８３  復号部，  ８４  メモリ，  ８６  送信部，  ８７  アンテナ部，  ８８  受信部
【図１】
2005027338.tif 000003
【図２】
2005027338.tif 000004
【図３】
2005027338.tif 000005
【図４】
2005027338.tif 000006
【図５】
2005027338.tif 000007
【図６】
2005027338.tif 000008
【図７】
2005027338.tif 000009
【図８】
2005027338.tif 000010
【図９】
2005027338.tif 000011
【図１０】
2005027338.tif 000012
【図１１】
2005027338.tif 000013
【図１２】
2005027338.tif 000014
【図１３】
2005027338.tif 000015
【図１４】
2005027338.tif 000016
【図１５】
2005027338.tif 000017