説明

情報処理装置、情報処理方法、プログラム、および情報処理システム

【課題】不正なアクセスを防止する。
【解決手段】例えばICカードからなる第1の情報処理装置111は、例えばリーダライタからなる第2の情報処理装置から乱数Aを受信し、時変鍵K2Cを生成し、時変鍵K2Cで乱数Aを暗号化する。暗号化された乱数Aは時変鍵K2Cの時変の基礎となる基礎情報である乱数Cとともに、第2の情報処理装置に送信される。第2の情報処理装置は、基礎情報である乱数Cにより時変鍵K2Cを生成し、生成した時変鍵K2Cにより認証情報としての乱数Aを生成する。認証情報としての乱数Aにより第1の情報処理装置が認証される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は情報処理装置、情報処理方法、プログラム、および情報処理システムに関し、特に、不正なアクセスを防止できるようにした情報処理装置、情報処理方法、プログラム、および情報処理システムに関する。
【背景技術】
【0002】
最近ICカードが普及し、多くのユーザにより、例えば店舗での買い物の支払いに使用される。不正なICカードによる使用を防止するため、ICカード使用時には、ICカードとリーダライタとの間で認証処理が必要となる。このような2つの装置間の片方向の認証方法については、ISO/IEC 9798-2 5.1.2.に、Two pass authenticationとして規定されている。図1は、この認証方法を簡略化して示している。
【0003】
ステップS21乃至S24は、装置Aの処理であり、ステップS1乃至S8は、装置Aを認証する装置Bの処理を表している。
【0004】
装置BはステップS1において、乱数rbを発生し、ステップS2において、この乱数rbを装置Aに送信する。
【0005】
装置Aは、ステップS21において、装置Bから送信されてきた乱数rbを受信する。ステップS22において装置Aは、鍵Kabを発生する。ステップS23において装置Aは、装置Bから受信した乱数rbを、鍵Kabで暗号化する。すなわち、次式が演算され、情報Token abが生成される。なお、eKab(rb)は、乱数rbを鍵Kabで暗号化することを表す。
Token ab=eKab(rb) (1)
【0006】
装置AはステップS24において、ステップS23で生成した情報Token abを装置Bに送信する。
【0007】
装置BはステップS3において、装置Aからの情報Token abを受信する。ステップS4において装置Bは、鍵Kabを発生する。ステップS5において装置Bは、受信した情報Token abを、鍵Kabで復号する。これにより乱数rbが得られる。
【0008】
ステップS6において装置Bは、復号結果と乱数rbが一致するかを判定する。すなわち、ステップS1で発生された乱数rbと、ステップS5で装置Aから受信された情報Token abを復号して得られた乱数rbとが一致するかが判定される。装置Aが保持している鍵Kabは、正規の装置にのみ割り当てられている秘密の鍵であり、装置Aがこの鍵Kabを保持しているということは、装置Aは正規の装置であることになる。
【0009】
そこで、復号結果と乱数rbが一致しない場合、ステップS7において装置Bは、装置Aの認証失敗処理を実行する。これに対して、復号結果と乱数rbが一致する場合、テップS8において装置Bは、装置Aの認証成功処理を実行する。
【0010】
また、2つの装置間の双方向の認証方法については、ISO/IEC 9798-2 5.2.2.に、Three pass authenticationとして規定されている。図2は、この認証方法を簡略化して示している。
【0011】
装置BはステップS31において、乱数rbを発生する。装置BはステップS32において、この乱数rbを装置Aに送信する。
【0012】
装置AはステップS51において、装置Bから送信されてきた乱数rbを受信する。ステップS52において装置Aは、乱数raと鍵Kabを発生する。装置AはステップS53において、乱数raと乱数rbを鍵Kabで暗号化する。すなわち、ステップS52で発生した乱数raと、装置Bから受信した乱数rbの結合が、次式に従って暗号化される。なお、(ra||rb)は、乱数raと乱数rbの結合を表す。
Token ab=eKab(ra||rb) (2)
【0013】
ステップS54において装置Aは、式(2)により演算された情報Token abを装置Bに送信する。
【0014】
装置BはステップS33で、装置Aからの情報Token abを受信する。ステップS34において装置Bは、鍵Kabを発生する。
【0015】
ステップS35において装置Bは、情報Token abを鍵Kabで復号する。上述したように、情報Token abは、装置AがステップS53において、乱数raと乱数rbの結合(ra||rb)を鍵Kabで暗号化したものであるから、この復号処理により、結合(ra||rb)が得られる。
【0016】
ステップS36において装置Bは、復号結果と乱数rbが一致するかを判定する。すなわち、この場合、復号結果として得られる結合(ra||rb)のうちの、乱数rbのみが抽出され、比較対象とされ、ステップS31で発生された乱数rbと比較される。
【0017】
装置Aが正規の情報処理装置である場合、正しい固定された秘密の鍵Kabを有しているので、2つの乱数rbは一致する。
【0018】
しかし、装置Aが不正な装置である場合、正しい鍵Kabを保持していない。その結果、2つの乱数rbは一致しない。そこでこの場合、ステップS37において、装置Bは、装置Aの認証失敗処理を実行する。
【0019】
2つの乱数rbが一致した場合、ステップS38において装置Bは、装置Aの認証成功処理を実行する。
【0020】
さらに装置Aに装置Bを認証させるため、ステップS39において装置Bは、乱数rbと乱数raを鍵Kabで暗号化する。すなわち、ステップS31で発生された乱数rbと、装置Aから受信した乱数raの結合が、次式に従って暗号化され、情報Token baが生成される。
Token ba=eKab(rb||ra) (3)
【0021】
ステップS40において装置Bは、情報Token baを装置Aに送信する。
【0022】
装置AはステップS55で、装置Bからの情報Token baを受信する。ステップS56において装置Aは、情報Token baを鍵Kabで復号する。上述したように、情報Token baは、装置BがステップS39において、乱数rbと乱数raの結合(rb||ra)を鍵Kabで暗号化したものであるから、この復号処理により、結合(rb||ra)が得られる。
【0023】
ステップS57において、装置Aは、復号結果としての乱数rb,raと、ステップS51で装置Aから受信した乱数rb、およびステップS52で発生した乱数raが、一致するかを判定する。
【0024】
装置Bが正規の装置である場合、装置Bは装置Aと同じ秘密の鍵Kabを有しているので、2つの乱数raは一致し、2つの乱数rbも一致する。
【0025】
しかし、装置Bが不正な装置である場合、装置Bは装置Aと同じ秘密の鍵Kabを保持していない。その結果、乱数ra,rbは一致しない。そこでこの場合、ステップS58において、装置Aは、装置Bの認証失敗処理を実行する。
【0026】
乱数ra,rbが一致した場合、ステップS59において装置Aは、装置Bの認証成功処理を実行する。
【0027】
図2の例においては、ステップS36とステップS57において、乱数ra,rbを比較対象にしたが、この比較対象を暗号化されたままの乱数とした場合の処理例が図3に示されている。
【0028】
図3の例における、ステップS61乃至S70の装置Bの処理は、図2のステップS31乃至S40の装置Bの処理と基本的に同様であるが、図3のステップS63,S65,S66の処理が、図2のステップS33,S35,S36の処理と異なっている。
【0029】
また、図3のステップS81乃至S89の装置Aの処理は、図2のステップS51乃至S59の装置Aの処理と基本的に同様であるが、図3のステップS84,S86,S87の処理が、図2のステップS54,S56,S57の処理と異なっている。
【0030】
すなわち、図3の例の場合、装置AがステップS84において、情報Token abだけでなく、乱数raも送信する。
【0031】
装置Bにおいては、ステップS63で、情報Token abだけでなく、乱数raも受信される。ステップS64において装置Bは鍵Kabを発生する。ステップS65において装置Bは、乱数raと乱数rbの結合を鍵Kabで暗号化し、情報Token abを生成する。すなわち、次式が演算される。
Token ab=eKab(ra||rb) (4)
【0032】
ステップS66において装置Bは、ステップS65で得られた暗号結果と、ステップS63で装置Aから受信した情報Token abが一致するかを判定する。式(4)で演算された情報Token abと装置Aから受信した情報Token abが一致しない場合、ステップS67で装置Aの認証失敗処理が実行される。これに対して、式(4)で演算された情報Token abと装置Aから受信した情報Token abが一致する場合、ステップS68で装置Aの認証成功処理が実行される。
【0033】
さらに装置Aに装置Bを認証させるため、ステップS69において装置Bは、乱数rbと乱数raの結合を鍵Kabで暗号化する。すなわち、ステップS61で発生された乱数rbと、装置Aから受信した乱数raの結合が、次式に従って暗号化される。
Token ba=eKab(rb||ra) (5)
【0034】
ステップS70において装置Bは、式(5)で演算された情報Token baを装置Aに送信する。
【0035】
装置AはステップS85で、装置Bからの情報Token baを受信する。ステップS86において装置Aは、ステップS81で装置Bから受信された乱数rbと、ステップS84で装置Bに送信された乱数raの結合を、鍵Kabで暗号化する処理が行われる。すなわち次式が演算される。
Token ba=eKab(rb||ra) (6)
【0036】
ステップS87において、装置Aは、ステップS86の暗号化結果(すなわち、ステップS86で演算した情報Token ba)と、ステップS85で受信された情報Token baが一致するかを判定する。2つの情報Token baが一致しない場合、ステップS88において、装置Aは、装置Bの認証失敗処理を実行する。
【0037】
2つの情報Token baが一致した場合、ステップS89において装置Aは、装置Bの認証成功処理を実行する。
【0038】
その他の処理は、図2における場合と同様である。
【0039】
さらに、双方向の認証方法について、本出願人も提案を行っている(例えば特許文献1)。図4と図5にはこの認証方法を簡略化して示している。
【0040】
装置BはステップS141において、乱数Pを発生し、ステップS142において鍵Kaを発生する。ステップS143において装置Bは、乱数Pを鍵Kaで暗号化し、情報i1を生成する。ステップS144で装置Bは、情報i1を装置Aに送信する。
【0041】
装置AはステップS171で装置Bからの情報i1を受信する。ステップS172で装置Aは鍵Kaを発生する。ステップS173で装置Aは情報i1を鍵Kaで復号する。これにより、ステップS174で装置Aは、乱数Pを取得する。
【0042】
ステップS175で装置Aは、鍵Kbを発生する。ステップS176で装置Aは、乱数Pを鍵Kbで暗号化し、情報i2を生成する。ステップS177で装置Aは、情報i2を装置Bに送信する。
【0043】
ステップS145で装置Bは、装置Aからの情報i2を受信する。ステップS146で装置Bは、鍵Kbを発生する。ステップS147で装置Bは、情報i2を鍵Kbで復号する。これにより、ステップS148で装置Bは、乱数Pを取得する。
【0044】
ステップS149において装置Bは、乱数Pの整合性を確認する。すなわち、ステップS141で発生し、暗号化してステップS144で装置Aに送信した乱数Pと、装置Aから受信した情報i2をステップS147で復号して得られた乱数Pとが一致するかが判定される。鍵Kaと鍵Kbは、正規の装置Aに対してのみ割り当てられている。従って、2つの乱数Pが一致した場合、装置Bは装置Aを正規の装置であると認証する。
【0045】
同様に、装置Aが装置Bを認証する処理が行われる。
【0046】
装置AはステップS178において、乱数Qを発生する。ステップS179において装置Aは、乱数Qを鍵Kbで暗号化し、情報i3を生成する。鍵Kbは、ステップS175で発生されている。ステップS180で装置Aは、情報i3を装置Bに送信する。
【0047】
装置BはステップS150で装置Aからの情報i3を受信する。ステップS151で装置Bは情報i3を鍵Kbで復号する。鍵Kbは、ステップS146で発生されている。これにより、ステップS152で装置Bは、乱数Qを取得する。
【0048】
ステップS153で装置Bは、乱数Qを鍵Kaで暗号化し、情報i4を生成する。鍵Kaは、ステップS142で発生されている。ステップS154で装置Bは、情報i4を装置Aに送信する。
【0049】
ステップS181で装置Aは、装置Bからの情報i4を受信する。ステップS182で装置Aは、情報i4を鍵Kaで復号する。鍵Kaは、ステップS172で発生されている。これにより、ステップS183で装置Aは、乱数Qを取得する。
【0050】
ステップS184において装置Aは、乱数Qの整合性を確認する。すなわち、ステップS178で発生し、暗号化してステップS180で装置Bに送信した乱数Qと、装置Bから受信した情報i4をステップS182で復号して得られた乱数Qとが一致するかが判定される。鍵Kaと鍵Kbは、正規の装置Bに対してのみ割り当てられている。従って、2つの乱数Qが一致した場合、装置Aは装置Bを正規の装置であると認証する。認証結果は装置Bに送信される。
【先行技術文献】
【特許文献】
【0051】
【特許文献1】特許第3897177号公報
【発明の概要】
【発明が解決しようとする課題】
【0052】
以上の処理における2つの装置間の情報の授受を表すと、図6に示されるようになる。すなわち、ステップS144で情報i1が装置Bから装置Aに送信され、ステップS177,S180において情報i2,情報i3が、装置Aから装置Bに送信され、ステップS154で情報i4が装置Bから装置Aに送信される。
【0053】
図1の片方向認証の場合にも、ステップS2で乱数rbが装置Bから装置Aに送信され、ステップS24で情報Token abが装置Aから装置Bに送信される。
【0054】
その結果、装置Bは装置Aに対して、同じ平文を必要な回数だけ入力し、装置Aがその平文を一定の鍵で暗号化した結果を得ることができる。
【0055】
このような場合、装置Aに不正にアクセスしようとするユーザ(ハッカー)から、DFA(Differential Fault Analysis:差分故障解析)攻撃を受けるおそれがある。すなわち、ハッカーは、不正な装置Bを用意し、装置Aが暗号処理中に装置Aにレーザ光線を照射して、そのエネルギにより装置Aにエラーを発生させ、その処理結果を得るという操作を繰り返すことで、装置Aが保持する鍵を解析することができる。
【0056】
本発明は、このような状況に鑑みてなされたものであり、不正なアクセスを防止することができるようにするものである。
【課題を解決するための手段】
【0057】
本発明の第1の側面は、他の情報処理装置から第1の乱数を受信する受信部と、第2の乱数と第3の乱数を発生する乱数発生部と、前記第2の乱数を第1の固定鍵に作用させることにより、暗号化のための第1の時変鍵を生成する時変鍵生成部と、前記第3の乱数と前記第1の乱数の結合を前記第1の時変鍵で暗号化する暗号化部と、前記暗号化された前記第3の乱数と前記第1の乱数の結合、および前記第2の乱数を前記他の情報処理装置に送信する送信部とを備える情報処理装置である。
【0058】
本発明の第1の側面においては、他の情報処理装置から第1の乱数が受信され、第2の乱数と第3の乱数が発生され、第2の乱数を第1の固定鍵に作用させることにより、暗号化のための第1の時変鍵が生成される。また、第3の乱数と第1の乱数の結合が第1の時変鍵で暗号化され、暗号化された第3の乱数と第1の乱数の結合、および第2の乱数が他の情報処理装置に送信される。
【0059】
本発明の第2の側面は、第1の乱数を発生する乱数発生部と、前記第1の乱数を他の情報処理装置に送信する送信部と、前記他の情報処理装置が送信した、第1の時変鍵により暗号化された前記第1の乱数と、第2の乱数を受信する受信部と、前記第2の乱数を第1の固定鍵に作用させることにより、前記第1の時変鍵と同じ第2の時変鍵を生成する時変鍵生成部と、前記第2の時変鍵により前記他の情報処理装置を認証する認証情報を生成する認証情報生成部と、前記認証情報により前記他の情報処理装置を認証する認証部とを備える情報処理装置である。
【0060】
本発明の第2の側面においては、第1の乱数が発生されて他の情報処理装置に送信され、他の情報処理装置が送信した、第1の時変鍵により暗号化された第1の乱数と第2の乱数が受信される。また、第2の乱数を第1の固定鍵に作用させることにより第1の時変鍵と同じ第2の時変鍵が生成され、第2の時変鍵により他の情報処理装置を認証する認証情報が生成されて、認証情報により他の情報処理装置が認証される。
【0061】
本発明の第3の側面は、第1の情報処理装置が、第2の情報処理装置から第1の乱数を受信し、第2の乱数と第3の乱数を発生し、前記第2の乱数を第1の固定鍵に作用させることにより、暗号化のための第1の時変鍵を生成し、前記第3の乱数と前記第1の乱数の結合を前記第1の時変鍵で暗号化し、前記暗号化された前記第3の乱数と前記第1の乱数の結合、および前記第2の乱数を前記第2の情報処理装置に送信し、第2の情報処理装置が、前記第1の乱数を発生し、前記第1の乱数を前記第1の情報処理装置に送信し、前記第1の情報処理装置が送信した、前記第1の時変鍵により暗号化された前記第1の乱数と、第2の乱数を受信し、前記第2の乱数を第1の固定鍵に作用させることにより、前記第1の時変鍵と同じ第2の時変鍵を生成し、前記第2の時変鍵により前記第1の情報処理装置を認証する認証情報を生成し、前記認証情報により前記第1の情報処理装置を認証する情報処理システムである。
【0062】
本発明の第3の側面においては、第1の情報処理装置により、第2の情報処理装置から第1の乱数が受信され、第2の乱数と第3の乱数が発生され、第2の乱数を第1の固定鍵に作用させることにより、暗号化のための第1の時変鍵が生成される。また、第3の乱数と第1の乱数の結合が第1の時変鍵で暗号化され、暗号化された第3の乱数と第1の乱数の結合、および第2の乱数が第2の情報処理装置に送信される。また、第2の情報処理装置により、第1の乱数が発生されて第1の情報処理装置に送信され、第1の情報処理装置が送信した、第1の時変鍵により暗号化された第1の乱数と第2の乱数が受信される。また、第2の乱数を第1の固定鍵に作用させることにより第1の時変鍵と同じ第2の時変鍵が生成され、第2の時変鍵により第1の情報処理装置を認証する認証情報が生成されて、認証情報により第1の情報処理装置が認証される。
【0063】
なお、本発明は、上述した第1乃至第3の側面の他、以下の第4乃至第12の側面も有している。
【0064】
第4の側面は、
他の情報処理装置から、第1の固定鍵を用いて暗号化されている第1の情報を受信する受信部と、
前記第1および第2の固定鍵、並びに第2の乱数を発生する発生部と、
受信された前記第1の情報を、発生された前記第1の固定鍵を用いて復号することにより第1の乱数を取得する復号部と、
復号された前記第1の乱数と発生された前記第2の乱数に所定の論理演算を行いその結果得られる論理演算値を前記第2の固定鍵を用いて暗号化することにより第2の情報を生成するとともに、前記第2の乱数を前記第2の固定鍵を用いて暗号化することにより第3の情報を生成する暗号化部と、
前記第2および第3の情報を前記他の情報処理装置に送信する送信部と
を備える情報処理装置である。
【0065】
前記受信部は、さらに、前記他の情報処理装置から、前記第1の固定鍵を用いて暗号化されている第4の情報を受信し、
前記復号部は、さらに、発生された前記第1の固定鍵を用いて、受信された前記第4の情報を復号することにより、前記第1の乱数と前記第2の乱数の所定の論理演算値を取得し、取得した前記所定の論理演算値と復号された前記第1の乱数に所定の論理演算を行うことにより前記第2の乱数を取得し、
取得された前記第2の乱数により前記他の情報処理装置の認証を行う認証部をさらに備える
第4の側面の情報処理装置。
【0066】
前記所定の論理演算は、XOR(exclusive or)である
第4の側面の情報処理装置。
【0067】
前記情報処理装置は、ICカードである
第4の側面の情報処理装置。
【0068】
また、第4の側面は、
他の情報処理装置から、第1の固定鍵を用いて暗号化されている第1の情報を受信し、
前記第1の固定鍵を発生し、
受信された前記第1の情報を、発生された前記第1の固定鍵を用いて復号することにより第1の乱数を取得し、
第2の固定鍵および第2の乱数を発生し、
復号された前記第1の乱数と発生された前記第2の乱数に所定の論理演算を行いその結果得られる論理演算値を前記第2の固定鍵を用いて暗号化することにより第2の情報を生成し、
前記第2の乱数を前記第2の固定鍵を用いて暗号化することにより第3の情報を生成し、
前記第2および第3の情報を前記他の情報処理装置に送信する
処理をコンピュータに実行させるプログラムである。
【0069】
第5の側面は、
第1および第2の固定鍵、並びに第1の乱数を発生する発生部と、
前記第1の固定鍵を用いて前記第1の乱数を暗号化することにより第1の情報を生成する暗号化部と、
前記第1の情報を他の情報処理装置に送信する送信部と、
前記他の情報処理装置から、第2および第3の情報を受信する受信部と、
発生された前記第2の固定鍵を用いて、受信された前記第2の情報を復号することにより前記第1の乱数と第2の乱数の所定の論理演算値を取得するとともに、受信された前記第3の情報を復号することにより前記第2の乱数を取得し、取得した前記所定の論理演算値と復号された前記第2の乱数に所定の論理演算を行うことにより前記第1の乱数を取得する復号部と、
取得された前記第1の乱数により前記他の情報処理装置の認証を行う認証部と
を備える情報処理装置である。
【0070】
前記暗号化部は、さらに、発生された前記第1の乱数と取得された前記第2の乱数に所定の論理演算を行いその結果得られる論理演算値を前記第1の固定鍵を用いて暗号化することにより第4の情報を生成し、
前記送信部は、さらに、前記第4の情報を前記他の情報処理装置に送信する
第5の側面の情報処理装置。
【0071】
前記所定の論理演算は、XOR(exclusive or)である
第5の側面の情報処理装置。
【0072】
前記情報処理装置は、リーダライタである
第5の側面の情報処理装置。
【0073】
また、第5の側面は、
第1の固定鍵および第1の乱数を発生し、
前記第1の固定鍵を用いて前記第1の乱数を暗号化することにより第1の情報を生成し、
前記第1の情報を他の情報処理装置に送信し、
前記他の情報処理装置から、第2および第3の情報を受信し、
第2の固定鍵を発生し、
発生された前記第2の固定鍵を用いて、受信された前記第2の情報を復号することにより前記第1の乱数と第2の乱数の所定の論理演算値を取得し、
受信された前記第3の情報を復号することにより前記第2の乱数を取得し、
取得した前記所定の論理演算値と復号された前記第2の乱数に所定の論理演算を行うことにより前記第1の乱数を取得し、
取得された前記第1の乱数により前記他の情報処理装置の認証を行う
処理をコンピュータに実行させるプログラムである。
【0074】
第6の側面は、
第1の情報処理装置は、
第2の情報処理装置から、第1の固定鍵を用いて暗号化されている第1の情報を受信し、
前記第1の固定鍵を発生し、
受信された前記第1の情報を、発生された前記第1の固定鍵を用いて復号することにより第1の乱数を取得し、
第2の固定鍵および第2の乱数を発生し、
復号された前記第1の乱数と発生された前記第2の乱数に所定の論理演算を行いその結果得られる論理演算値を前記第2の固定鍵を用いて暗号化することにより第2の情報を生成し、
前記第2の乱数を前記第2の固定鍵を用いて暗号化することにより第3の情報を生成し、
前記第2および第3の情報を前記第2の情報処理装置に送信し、
前記第2の情報処理装置は、
前記第1の情報処理装置から、前記第2および第3の情報を受信し、
第2の固定鍵を発生し、
発生された前記第2の固定鍵を用いて、受信された前記第2の情報を復号することにより前記第1の乱数と第2の乱数の所定の論理演算値を取得し、
受信された前記第3の情報を復号することにより前記第2の乱数を取得し、
取得した前記所定の論理演算値と復号された前記第2の乱数に所定の論理演算を行うことにより前記第1の乱数を取得し、
取得された前記第1の乱数により前記第1の情報処理装置の認証を行う
情報処理システムである。
【0075】
第7の側面は、
他の情報処理装置から、第1の固定鍵を用いて暗号化されている第1の情報を受信する受信部と、
前記第1の固定鍵、および第2の乱数を発生する発生部と、
受信された前記第1の情報を、発生された前記第1の固定鍵を用いて復号することにより第1の乱数を取得する復号部と、
発生された前記第2の乱数を鍵として、復号された前記第1の乱数を暗号化することにより第2の情報を生成するとともに、前記第2の乱数を前記第1の固定鍵を用いて暗号化することにより第3の情報を生成する暗号化部と、
前記第2および第3の情報を前記他の情報処理装置に送信する送信部と
を備える情報処理装置である。
【0076】
前記受信部は、さらに、前記他の情報処理装置から、前記第1の乱数を鍵として暗号化されている第4の情報を受信し、
前記復号部は、さらに、取得した前記第1の乱数を用いて、受信された前記第4の情報を復号することにより、前記第2の乱数を取得し、
取得された前記第2の乱数により前記他の情報処理装置の認証を行う認証部をさらに備える
第7の側面の情報処理装置。
【0077】
前記情報処理装置は、ICカードである
第7の側面の情報処理装置。
【0078】
また、第7の側面は、
他の情報処理装置から、第1の固定鍵を用いて暗号化されている第1の情報を受信し、
前記第1の固定鍵を発生し、
受信された前記第1の情報を、発生された前記第1の固定鍵を用いて復号することにより第1の乱数を取得し、
第2の乱数を発生し、
発生された前記第2の乱数を鍵として、復号された前記第1の乱数を暗号化することにより第2の情報を生成し、
前記第2の乱数を前記第1の固定鍵を用いて暗号化することにより第3の情報を生成し、
前記第2および第3の情報を前記他の情報処理装置に送信する
処理をコンピュータに実行させるプログラムである。
【0079】
第8の側面は、
第1の固定鍵、および第1の乱数を発生する発生部と、
前記第1の固定鍵を用いて前記第1の乱数を暗号化することにより第1の情報を生成する暗号化部と、
前記第1の情報を他の情報処理装置に送信する送信部と、
前記他の情報処理装置から、第2および第3の情報を受信する受信部と、
受信された前記第3の情報を、発生された前記第1の固定鍵を用いて復号することにより第2の乱数を取得するとともに、受信された前記第2の情報を、取得した前記第2の乱数を用いて復号することにより前記第1の乱数を取得する復号部と、
取得された前記第1の乱数により前記他の情報処理装置の認証を行う認証部と
を備える情報処理装置である。
【0080】
前記暗号化部は、さらに、発生された前記第1の乱数を鍵として、取得された前記第2の乱数を暗号化することにより第4の情報を生成し、
前記送信部は、さらに、前記第4の情報を前記他の情報処理装置に送信する
第8の側面の情報処理装置。
【0081】
前記情報処理装置は、リーダライタである
第8の側面の情報処理装置。
【0082】
また、第8の側面は、
第1の固定鍵、および第1の乱数を発生し、
前記第1の固定鍵を用いて前記第1の乱数を暗号化することにより第1の情報を生成し、
前記第1の情報を他の情報処理装置に送信し、
前記他の情報処理装置から、第2および第3の情報を受信し、
受信された前記第3の情報を、発生された前記第1の固定鍵を用いて復号することにより第2の乱数を取得し、
受信された前記第2の情報を、取得した前記第2の乱数を用いて復号することにより前記第1の乱数を取得し、
取得された前記第1の乱数により前記他の情報処理装置の認証を行う
処理をコンピュータに実行させるプログラムである。
【0083】
第9の側面は、
第1の情報処理装置は、
第2の情報処理装置から、第1の固定鍵を用いて暗号化されている第1の情報を受信し、
前記第1の固定鍵を発生し、
受信された前記第1の情報を、発生された前記第1の固定鍵を用いて復号することにより第1の乱数を取得し、
第2の乱数を発生し、
発生された前記第2の乱数を鍵として、復号された前記第1の乱数を暗号化することにより第2の情報を生成し、
前記第2の乱数を前記第1の固定鍵を用いて暗号化することにより第3の情報を生成し、
前記第2および第3の情報を前記第2の情報処理装置に送信し、
前記第2の情報処理装置は、
前記第1の固定鍵、および第1の乱数を発生し、
前記第1の固定鍵を用いて前記第1の乱数を暗号化することにより第1の情報を生成し、
前記第1の情報を前記第1の情報処理装置に送信し、
前記第1の情報処理装置から、前記第2および第3の情報を受信し、
受信された前記第3の情報を、発生された前記第1の固定鍵を用いて復号することにより第2の乱数を取得し、
受信された前記第2の情報を、取得した前記第2の乱数を用いて復号することにより前記第1の乱数を取得し、
取得された前記第1の乱数により前記第1の情報処理装置の認証を行う
情報処理システムである。
【0084】
第10の側面は、
他の情報処理装置から、第1の固定鍵を用いて暗号化されている第1の情報を受信する受信部と、
前記第1の固定鍵、および第2の乱数を発生する発生部と、
受信された前記第1の情報を、発生された前記第1の固定鍵を用いて復号することにより第1の乱数を取得する復号部と、
復号された前記第1の乱数を、発生された前記第2の乱数を用いて所定の変換処理を行い、この所定の変換処理結果を、前記第2の乱数を鍵として暗号化することにより第2の情報を生成するとともに、前記第2の乱数を前記第1の固定鍵を用いて暗号化することにより第3の情報を生成する暗号化部と、
前記第2および第3の情報を前記他の情報処理装置に送信する送信部と
を備える情報処理装置である。
【0085】
前記受信部は、さらに、前記他の情報処理装置から、前記第1の乱数を鍵として暗号化されている第4の情報を受信し、
前記復号部は、さらに、取得した前記第1の乱数を用いて、受信された前記第4の情報を復号し、さらに、前記所定の変換処理の逆変換処理を行うことにより、前記第2の乱数を取得し、
取得された前記第2の乱数により前記他の情報処理装置の認証を行う認証部をさらに備える
第9の側面の情報処理装置。
【0086】
前記情報処理装置は、ICカードである
第9の側面の情報処理装置。
【0087】
また、第9の側面は、
他の情報処理装置から、第1の固定鍵を用いて暗号化されている第1の情報を受信し、
前記第1の固定鍵を発生し、
受信された前記第1の情報を、発生された前記第1の固定鍵を用いて復号することにより第1の乱数を取得し、
第2の乱数を発生し、
復号された前記第1の乱数を、発生された前記第2の乱数を用いて所定の変換処理を行い、この所定の変換処理結果を、前記第2の乱数を鍵として暗号化することにより第2の情報を生成し、
前記第2の乱数を前記第1の固定鍵を用いて暗号化することにより第3の情報を生成し、
前記第2および第3の情報を前記他の情報処理装置に送信する
処理をコンピュータに実行させるプログラムである。
【0088】
第10の側面は、
第1の固定鍵、および第1の乱数を発生する発生部と、
前記第1の固定鍵を用いて前記第1の乱数を暗号化することにより第1の情報を生成する暗号化部と、
前記第1の情報を他の情報処理装置に送信する送信部と、
前記他の情報処理装置から、第2および第3の情報を受信する受信部と、
受信された前記第3の情報を、発生された前記第1の固定鍵を用いて復号することにより第2の乱数を取得するとともに、受信された前記第2の情報を、取得した前記第2の乱数を用いて復号し、さらに所定の変換処理の逆変換処理を行うことにより前記第1の乱数を取得する復号部と、
取得された前記第1の乱数により前記他の情報処理装置の認証を行う認証部と
を備える情報処理装置である。
【0089】
前記暗号化部は、さらに、発生された前記第1の乱数を鍵として、取得された前記第2の乱数を暗号化し、さらに、前記所定の変換処理を行うことにより第4の情報を生成し、
前記送信部は、さらに、前記第4の情報を前記他の情報処理装置に送信する
第10の側面の情報処理装置。
【0090】
前記情報処理装置は、リーダライタである
第10の側面の情報処理装置。
【0091】
また、第11の側面は、
第1の固定鍵、および第1の乱数を発生し、
前記第1の固定鍵を用いて前記第1の乱数を暗号化することにより第1の情報を生成し、
前記第1の情報を他の情報処理装置に送信し、
前記他の情報処理装置から、第2および第3の情報を受信し、
受信された前記第3の情報を、発生された前記第1の固定鍵を用いて復号することにより第2の乱数を取得し、
受信された前記第2の情報を、取得した前記第2の乱数を用いて復号し、さらに所定の変換処理の逆変換処理を行うことにより前記第1の乱数を取得し、
取得された前記第1の乱数により前記他の情報処理装置の認証を行う
処理をコンピュータに実行させるプログラムである。
【0092】
第12の側面は、
第1の情報処理装置は、
第2の情報処理装置から、第1の固定鍵を用いて暗号化されている第1の情報を受信し、
前記第1の固定鍵を発生し、
受信された前記第1の情報を、発生された前記第1の固定鍵を用いて復号することにより第1の乱数を取得し、
第2の乱数を発生し、
復号された前記第1の乱数を、発生された前記第2の乱数を用いて所定の変換処理を行い、この所定の変換処理結果を、前記第2の乱数を鍵として暗号化することにより第2の情報を生成し、
前記第2の乱数を前記第1の固定鍵を用いて暗号化することにより第3の情報を生成し、
前記第2および第3の情報を前記第2の情報処理装置に送信し、
前記第2の情報処理装置は、
第1の固定鍵、および第1の乱数を発生し、
前記第1の固定鍵を用いて前記第1の乱数を暗号化することにより第1の情報を生成し、
前記第1の情報を前記第1の情報処理装置に送信し、
前記第1の情報処理装置から、第2および第3の情報を受信し、
受信された前記第3の情報を、発生された前記第1の固定鍵を用いて復号することにより第2の乱数を取得し、
受信された前記第2の情報を、取得した前記第2の乱数を用いて復号し、さらに所定の変換処理の逆変換処理を行うことにより前記第1の乱数を取得し、
取得された前記第1の乱数により前記第1の情報処理装置の認証を行う
情報処理システムである。
【発明の効果】
【0093】
以上のように、本発明の側面によれば、不正なアクセスを防止することができる。
【図面の簡単な説明】
【0094】
【図1】従来の片方向の認証処理を説明するフローチャートである。
【図2】従来の双方向の認証処理を説明するフローチャートである。
【図3】従来の双方向の認証処理を説明するフローチャートである。
【図4】従来の双方向の認証処理を説明するフローチャートである。
【図5】従来の双方向の認証処理を説明するフローチャートである。
【図6】従来の双方向の認証処理を説明する図である。
【図7】本発明の情報処理システムの構成例を示すブロック図である。
【図8】情報処理システムを構成する一方の情報処理装置の構成例を示すブロック図である。
【図9】情報処理システムを構成する他方の情報処理装置の構成例を示すブロック図である。
【図10】本発明の一実施の形態の第1の方式の片方向の認証処理を説明するフローチャートである。
【図11】本発明の一実施の形態の認証処理を説明する図である。
【図12】本発明の一実施の形態の第1の方式の双方向の認証処理を説明するフローチャートである。
【図13】本発明の一実施の形態の第1の方式の双方向の認証処理を説明するフローチャートである。
【図14】本発明の一実施の形態の第1の方式の双方向の認証処理を説明するフローチャートである。
【図15】本発明の一実施の形態の第1の方式の双方向の認証処理を説明するフローチャートである。
【図16】本発明の一実施の形態の第2の方式の片方向の認証処理を説明するフローチャートである。
【図17】本発明の一実施の形態の第2の方式の双方向の認証処理を説明するフローチャートである。
【図18】本発明の一実施の形態の第2の方式の双方向の認証処理を説明するフローチャートである。
【図19】本発明の一実施の形態の第2の方式の双方向の認証処理を説明するフローチャートである。
【図20】本発明の一実施の形態の第2の方式の双方向の認証処理を説明するフローチャートである。
【図21】本発明の一実施の形態の第3の方式の双方向の認証処理を説明するフローチャートである。
【図22】図21に示された第3の方式の双方向の認証処理の変形例を説明するフローチャートである。
【図23】本発明の一実施の形態の第4の方式の双方向の認証処理を説明するフローチャートである。
【図24】図23に示された第4の方式の双方向の認証処理の変形例を説明するフローチャートである。
【図25】本発明の一実施の形態の第5の方式の双方向の認証処理を説明するフローチャートである。
【発明を実施するための形態】
【0095】
以下、発明を実施するための最良の形態(以下、実施の形態と称する)について、図面を参照しながら詳細に説明する。なお、説明は、以下の順序で行なう。
1.情報処理システムの構成例
2.第1の実施の形態
3.第2の実施の形態
4.第3の実施の形態
5.第4の実施の形態
6.第5の実施の形態
【0096】
<1.情報処理システムの構成例>
以下、図を参照して本発明の実施の形態について説明する。
【0097】
図7は本発明の情報処理システムの一実施の形態の構成を示すブロック図である。この情報処理システム100は、情報処理装置111と情報処理装置141により構成されている。情報処理装置111は、例えばICカードで構成され、情報処理装置141は、そのICカードに対してアクセスする例えばリーダライタで構成される。情報処理装置111と情報処理装置141は、例えば近接通信を行い、情報を授受する。情報処理装置141は必要に応じて図示せぬコンピュータに接続されている。
【0098】
図8は情報処理装置111の一実施の形態の構成を表している。この実施の形態の場合、情報処理装置111は、アンテナ部121、受信部122、復号部123、認証部124、暗号化部125、送信部126、発生部127、生成部128、および記憶部129により構成されている。
【0099】
アンテナ部121は、情報処理装置141のアンテナ部151(後述する図9参照)と電磁波を授受して通信する。受信部122は、アンテナ部121を介して情報処理装置141から送信されてきた信号を受信し、復調する。復号部123は、受信部122により受信された暗号化されている情報を復号する。認証部124は、復号部123などからの情報に基づき、情報処理装置141を認証し、各部を制御する。
【0100】
暗号化部125は、認証部124により制御され、情報処理装置141に送信する情報を暗号化する。また、暗号化部125は、情報処理装置141に送信する情報、または情報処理装置141から送信された情報に対して所定の論理演算処理を施したり、所定の変換処理およびその逆変換処理を施したりする。送信部126は、暗号化部125などから供給される情報を変調し、アンテナ部121に出力し、情報処理装置141に送信させる。発生部127は、情報を暗号化または復号する鍵を発生する。この鍵は、毎回演算して発生させてもよいし、記憶されている鍵を読み出すことで発生させてもよい。また発生部127は乱数を発生する。乱数は、数学的な意味で乱数である必要はなく、疑似乱数であっても、カウンタが発生するカウンタ値であっても、実用的に乱数として扱うことができるものであればよい。
【0101】
生成部128は、発生部127などからの情報に基づき時変鍵を生成し、復号部123と暗号化部125に供給する。時変鍵とは、生成される毎に、毎回変化する鍵である。記憶部129は認証部124と接続され、必要なデータ、プログラム、その他の情報を記憶する。
【0102】
受信部122の出力は復号部123の他、認証部124、暗号化部125、生成部128などに供給される。認証部124の出力は、暗号化部125の他、送信部126などにも供給される。発生部127の出力は、生成部128の他、復号部123、認証部124、暗号化部125、送信部126などに供給される。生成部128の出力は、復号部123と暗号化部125の他、認証部124にも供給される。
【0103】
図9は情報処理装置141の一実施の形態の構成を表している。この実施の形態の場合、情報処理装置141は、アンテナ部151、受信部155、復号部153、認証部154、暗号化部155、送信部156、発生部157、生成部158、記憶部159、およびインターフェース160により構成されている。
【0104】
アンテナ部121は、情報処理装置111のアンテナ部121と電磁波を授受して通信する。受信部152は、アンテナ部151を介して情報処理装置111から送信されてきた信号を受信し、復調する。復号部153は、受信部152により受信された暗号化されている情報を復号する。認証部154は、復号部153などからの情報に基づき、情報処理装置141を認証し、各部を制御する。
【0105】
暗号化部155は、認証部154により制御され、情報処理装置111に送信する情報を暗号化する。また、暗号化部155は、情報処理装置111に送信する情報、または情報処理装置111から送信された情報に対して所定の論理演算処理を施したり、所定の変換処理およびその逆変換を施したりする。送信部156は、暗号化部155などから供給される情報を変調し、アンテナ部151に出力し、情報処理装置111に送信させる。発生部157は、情報を暗号化または復号する鍵を発生する。この鍵は、毎回演算して発生させてもよいし、記憶されている鍵を読み出すことで発生させてもよい。また発生部157は乱数を発生する。乱数は、数学的な意味で乱数である必要はなく、疑似乱数であっても、実用的に乱数として扱うことができるものであればよい。
【0106】
生成部158は、発生部157などからの情報に基づき時変鍵を生成し、復号部153と暗号化部155に供給する。記憶部159は認証部154と接続され、必要なデータ、プログラム、その他の情報を記憶する。認証部154と接続されているインターフェース160は外部のコンピュータと通信する。
【0107】
受信部152の出力は復号部153の他、認証部154、暗号化部155、生成部158などに供給される。認証部154の出力は、暗号化部155の他、送信部156などにも供給される。発生部157の出力は、生成部158の他、復号部153、認証部154、暗号化部155、送信部156などに供給される。生成部158の出力は、復号部153と暗号化部155の他、認証部154にも供給される。
【0108】
<2.第1の実施の形態>
次に第1の方式の認証処理について説明する。第1の方式の認証処理では、認証に用いられる乱数が暗号化された状態で、認証する側の装置から認証される側の装置に送信される。
【0109】
最初に図10を参照して、片方向の認証処理について説明する。
【0110】
情報処理装置141においては、その発生部157がステップS1001において、乱数Aを発生する。発生部157はまたステップS1002において、鍵K1を発生する。ステップS1003において暗号化部155は、乱数Aを鍵K1で暗号化する。すなわち、次式が演算される。eK1(A)は、乱数Aを鍵K1で暗号化することを意味する。
Token BA=eK1(A) (7)
【0111】
ステップS1004において送信部156は、情報I1を情報処理装置111に送信する。すなわち情報I1はアンテナ部151を介して情報処理装置111に送信される。情報I1には、式(7)で演算された情報Token BAが含まれている。
【0112】
情報処理装置111においては、その受信部122がステップS1051において、情報処理装置141から送信されてきた情報I1を、アンテナ部121を介して受信する。ステップS1052において、発生部127は鍵K1を発生する。ステップS1053において復号部123は、情報I1を鍵K1で復号する。これによりステップS1054において復号部123は乱数Aを取得する。
【0113】
ステップS1055において発生部127は、鍵K2を発生する。ステップS1056において発生部127は乱数Cを発生する。ステップS1057において生成部128は、鍵K2Cを生成する。すなわち、次式に従って、固定された鍵K2に乱数Cを作用させて鍵K2Cが生成される。
K2C=f(C,K2) (8)
【0114】
乱数Cは毎回変化するので、固定された鍵K2に乱数Cを作用させて計算される鍵K2Cは、毎回変化する時変鍵となる。従って、この乱数Cは、時変鍵の時変の基礎となる基礎情報としての乱数である。
【0115】
ステップS1058において暗号化部125は、乱数Aを鍵K2Cで暗号化する。すなわち、次式が演算される。
Token AB=eK2C(A) (9)
【0116】
ステップS1059において、送信部126は情報I2を情報処理装置141に送信する。すなわち情報I2はアンテナ部121を介して情報処理装置141に送信される。情報I2には、式(9)で演算された情報Token ABと、ステップS1056で発生された乱数Cが含まれている。
【0117】
情報処理装置141においては、その受信部152がステップS1005において、情報処理装置111から送信されてきた情報I2を、アンテナ部151を介して受信する。ステップS1006において、発生部157は鍵K2を発生する。ステップS1007において生成部158はステップS1005で受信した情報I2から乱数Cを抽出する。ステップS1008において生成部158は、鍵K2Cを生成する。すなわち、次式が演算される。
K2C=f(C,K2) (10)
【0118】
ステップS1009において認証情報生成部としての復号部153は、後のステップS1011において認証判定を行うための認証情報を生成する処理を行う。具体的には、この実施の形態の場合、復号部153は情報I2を鍵K2Cで復号する。これによりステップS1010において復号部153は乱数Aを取得する。
【0119】
ステップS1011において認証部154は、乱数Aの整合性により認証を行う。すなわち、ステップS1001において発生され、ステップS1003において暗号化して情報処理装置111に送信された乱数Aと、ステップS1010で取得された乱数Aが一致するかが判定される。鍵K1と鍵K2は、正規の情報処理装置111のみが保持している秘密鍵である。従って、情報処理装置111が正規の情報処理装置である場合には、2つの乱数Aは一致する。これに対して、情報処理装置111が正規の情報処理装置ではない場合、鍵K1と鍵K2を有していないので、2つの乱数Aは一致しないことになる。従って、情報処理装置141は、2つの乱数の一致から、情報処理装置111を認証することができる。
【0120】
以上のようにして情報処理装置141が情報処理装置111を認証する。
【0121】
以上の処理における2つの装置間の情報の授受を表すと、図11に示されるようになる。すなわち、ステップS1154で情報I1が情報処理装置141から情報処理装置111に送信され、ステップS1189において情報I2が、乱数Cとともに、情報処理装置111から情報処理装置141に送信される。
【0122】
情報処理装置141は、ステップS1154において情報処理装置111に対して同じ情報I1を複数回供給し、ステップS1155でその情報I1に対する処理結果の情報I2を得ることができる。しかし、その処理結果としての情報I2は、毎回変化する時変鍵K2Cにより演算されたものである。従って、DFA攻撃により、多数の処理結果を収集し、分析したとしても、そのデータを処理した鍵を特定することはできない。すなわち、DFA攻撃から防衛することができる。
【0123】
次に第1の方式の双方向の認証処理について図12と図13のフローチャートを参照して説明する。
【0124】
最初に情報処理装置141が情報処理装置111を認証する処理が行われる。この処理は図10の処理と実質的に同じ処理である。
【0125】
すなわち、情報処理装置141の発生部157がステップS1151において、乱数Aを発生する。発生部157はまたステップS1152において、鍵K1を発生する。ステップS1153において暗号化部155は、乱数Aを鍵K1で暗号化する。すなわち、次式が演算される。
Token BA=eK1(A) (11)
【0126】
ステップS1154において送信部156は、情報I1を情報処理装置111に送信する。情報I1には、式(11)で演算された情報Token BAが含まれている。
【0127】
情報処理装置111においては、その受信部122がステップS1181において、情報処理装置141から送信されてきた情報I1を受信する。ステップS1182において、発生部127は鍵K1を発生する。ステップS1183において復号部123は、情報I1を鍵K1で復号する。これによりステップS1184において復号部123は乱数Aを取得する。
【0128】
ステップS1185において発生部127は、鍵K2を発生する。ステップS1186において発生部127は乱数Cを発生する。ステップS1187において生成部128は、鍵K2Cを生成する。すなわち、次式に従って、固定された鍵K2に乱数Cを作用させて鍵K2Cが生成される。
K2C=f(C,K2) (12)
【0129】
ステップS1188において暗号化部125は、乱数Aを鍵K2Cで暗号化する。すなわち、次式が演算される。
Token AB=eK2C(A) (13)
【0130】
ステップS1189において、送信部126は情報I2を情報処理装置141に送信する。情報I2には、式(13)で演算された情報Token ABと、ステップS1186で発生された乱数Cが含まれている。
【0131】
情報処理装置141においては、その受信部152がステップS1155において、情報処理装置111から送信されてきた情報I2を受信する。ステップS1156において、発生部157は鍵K2を発生する。ステップS1157において生成部158はステップS1155で受信した情報I2から乱数Cを抽出する。ステップS1158において生成部158は、鍵K2Cを生成する。すなわち、次式が演算される。
K2C=f(C,K2) (14)
【0132】
ステップS1159において認証情報生成部としての復号部153は、後のステップS1161において認証判定を行うための認証情報を生成する処理を行う。具体的には、この実施の形態の場合、復号部153は、情報I2を鍵K2Cで復号する。これによりステップS1160において復号部153は乱数Aを取得する。
【0133】
ステップS1161において認証部154は、乱数Aの整合性により認証を行う。すなわち、ステップS1151において発生され、ステップS1153において暗号化して情報処理装置111に送信された乱数Aと、ステップS1160で取得された乱数Aが一致するかが判定される。鍵K1と鍵K2は、正規の情報処理装置111のみが保持している秘密鍵である。従って、情報処理装置111が正規の情報処理装置である場合には、2つの乱数Aは一致する。これに対して、情報処理装置111が正規の情報処理装置ではない場合、鍵K1と鍵K2を有していないので、2つの乱数Aは一致しないことになる。従って、情報処理装置141は、2つの乱数の一致から、情報処理装置111を認証することができる。
【0134】
以上のようにして情報処理装置141が情報処理装置111を認証した場合、次に情報処理装置111が情報処理装置141を認証する処理が行われる。
【0135】
すなわち、情報処理装置111においては、その発生部127がステップS1190において、乱数Bを発生する。ステップS1191において暗号化部125は、乱数Bを鍵K2Cで暗号化する。すなわち、次式が演算される。
Token AB=eK2C(B) (15)
【0136】
ステップS1192において送信部126は、情報I3を情報処理装置141に送信する。情報I3には、式(15)で演算された情報Token ABと、ステップS1190で発生された乱数Bが含まれている。
【0137】
情報処理装置141においては、その受信部152がステップS1162において、情報処理装置111から送信されてきた情報I3を受信する。ステップS1163において、復号部153は、情報I3を鍵K2Cで復号する。鍵K2CはステップS1158で生成されている。情報I3は、ステップS1191で乱数Bを鍵K2Cで暗号化した情報が含んでいるので、これにより、ステップS1164で復号部153は、乱数Bを取得する。
【0138】
ステップS1165において暗号化部155は、乱数Bを鍵K1で暗号化する。すなわち、次式が演算される。
Token BA=eK1(B) (16)
【0139】
ステップS1166において、送信部156は情報I4を情報処理装置111に送信する。情報I4には、式(16)で演算された情報Token BAが含まれている。
【0140】
情報処理装置111においては、その受信部122がステップS1193において、情報処理装置141から送信されてきた情報I4を受信する。ステップS1194において認証情報生成部としての復号部123は、後のステップS1196において認証判定を行うための認証情報を生成する処理を行う。具体的には、この実施の形態の場合、復号部123は、情報I4を鍵K1で復号する。これによりステップS1195において復号部123は乱数Bを取得する。鍵K1はステップS1182で発生されている。
【0141】
ステップS1196において認証部124は、乱数Bの整合性により認証を行う。すなわち、ステップS1191において暗号化して情報処理装置141に送信した乱数Bと、ステップS1195で取得した乱数Bが一致するかが判定される。鍵K1と鍵K2は、正規の情報処理装置141のみが保持している秘密鍵である。従って、情報処理装置141が正規の情報処理装置である場合には、2つの乱数Bは一致する。これに対して、情報処理装置141が正規の情報処理装置ではない場合、鍵K1と鍵K2を有していないので、2つの乱数Bは一致しないことになる。従って、情報処理装置111は、2つの乱数の一致から、情報処理装置141を認証することができる。認証結果は情報処理装置141に送信される。
【0142】
図12と図13の実施の形態においては、ステップS1194で情報I4を復号して、乱数Bを得て、ステップS1196で乱数Bを基にして整合性により認証を行うようにしたが、乱数Bを暗号化した状態で認証することもできる。この場合の実施の形態が、図14と図15に示されている。
【0143】
図14と図15のステップS1221乃至S1236の情報処理装置141の処理は、図12と図13のステップS1151乃至S1166の処理と同じである。また、図14と図15のステップS1261乃至S1272までの情報処理装置111の処理は、図12と図13のステップS1181乃至S1192までの処理と同じである。図15のステップS1273乃至S1276の処理が、図13のステップS1194乃至S1196の処理と異なっている。
【0144】
すなわち、図14と図15の実施の形態においては、ステップS1273において認証情報生成部としての情報処理装置111の暗号化部125は、後のステップS1276において認証判定を行うための認証情報を生成する処理を行う。具体的には、この実施の形態の場合、暗号化部125は乱数Bを鍵K1で暗号化する。すなわち、次式が演算される。なお、鍵K1は、ステップS1262で発生されている。
Token AB=eK1(B) (17)
【0145】
これにより、ステップS1274において生成部127は、情報I4を取得する。この情報I4には、式(17)で演算した情報Token AB、すなわち、鍵K1により暗号化した乱数Bが含まれている。
【0146】
ステップS1275において受信部122は、情報処理装置141から送信されてきた情報I4を受信する。この情報I4には、ステップS1235において鍵K1により暗号化された乱数Bが含まれている。従って、ステップS1276で情報I4(暗号化された乱数B)の整合性により認証を行うことができる。すなわち、ステップS1274で取得された情報I4(暗号化された乱数B)と、ステップS1275で受信された情報I4(暗号化された乱数B)が一致すれば、情報処理装置141が認証されたことになる。
【0147】
以上のようにして、図13のステップS1196では、暗号化されていない状態の乱数Bを比較するのに対して、図15のステップS1276においては、暗号化された状態の乱数Bが比較される。
【0148】
<3.第2の実施の形態>
次に、第2の方式の認証処理について説明する。第2の方式の認証処理では、認証に用いられる乱数が暗号化されないで、認証する側の装置から認証される側の装置に送信される。
【0149】
最初に図16を参照して、片方向の認証処理について説明する。この実施の形態の場合、情報処理装置141が情報処理装置111を認証する。
【0150】
ステップS2101において、情報処理装置141の発生部157は、乱数RBを発生する。ステップS2102において送信部156は、発生部157から入力を受けた乱数RBを送信する。すなわち、乱数RBはアンテナ部151を介して情報処理装置111に供給される。
【0151】
ステップS2121において情報処理装置111の受信部122は、情報処理装置141から送信されてきた乱数RBを、アンテナ部121を介して受信する。ステップS2122において発生部127は、乱数RCと鍵KABを発生する。この乱数RCは次のステップS2123の処理で、時変鍵である鍵KCを時変させる基礎となる基礎情報である。鍵KABは正規の情報処理装置111にのみ予め保持されている秘密鍵である。
【0152】
ステップS2123において生成部128は、乱数RCと鍵KABから、鍵KCを計算する。すなわち、次の計算が行われる。
KC=f(RC,KAB) (18)
【0153】
乱数RCは毎回変化するので、固定された鍵KABに乱数RCを作用させて計算される鍵KCは、毎回変化する時変鍵となる。
【0154】
ステップS2124において暗号化部125は、乱数RBを鍵KCで暗号化する。すなわち、次式が演算される。
Token AB=eKC(RB) (19)
【0155】
ステップS2125において送信部126は、暗号化部125により生成された情報Token ABと、発生部127により発生された乱数RCを、情報処理装置141に送信する。すなわち、式(19)で演算された情報Token ABと、ステップS2122で発生された乱数RCが、アンテナ部121から情報処理装置141に送信される。
【0156】
情報処理装置141の受信部152はアンテナ部151を介して、情報処理装置111からの情報Token ABと乱数RCを、ステップS2103で受信する。発生部157はステップS2104において、鍵KABを発生する。この鍵KABは、ステップS2122において情報処理装置111により発生された鍵KABと同じ秘密鍵である。この鍵KABは正規の情報処理装置141にのみ予め保持されている。
【0157】
ステップS2105において生成部158は、次式に従って、乱数RCと鍵KABから鍵KCを計算する。
【0158】
KC=f(RC,KAB) (20)
乱数RCはステップS2103で情報処理装置111から受信したものであり、鍵KABはステップS2104で発生されたものである。
【0159】
ステップS2106において、認証情報生成部としての復号部153は、次のステップS2107において認証判定を行うための認証情報を生成する処理を行う。具体的には、この実施の形態の場合、復号部153は、ステップS2103で情報処理装置111から受信された情報Token ABを、鍵KCで復号する。上述したように、情報Token ABは、情報処理装置111がステップS2124において、乱数RBを鍵KCで暗号化したものであるから、この復号処理により、認証判定を行うための情報として乱数RBが得られる。
【0160】
ステップS2107において認証部154は、復号結果と乱数RBが一致するかを判定する。すなわち、ステップS2106で復号して得られた乱数RBと、ステップS2101で発生された乱数RBが比較され、一致するかが判定される。
【0161】
情報処理装置111が正規の情報処理装置である場合、正しい固定された鍵KABを有しているので、情報処理装置111がその鍵KABに乱数RBを作用して生成された鍵KCは、情報処理装置141がステップS2105で生成した鍵KCと同じ値となる。従って、この場合、2つの乱数RBは一致する。そこで、このとき、ステップS2109において認証部154は、情報処理装置111の認証成功処理を実行する。
【0162】
それに対して、情報処理装置111が不正な情報処理装置である場合、正しい鍵KABを保持していない。その結果、2つの乱数RBは一致しない。そこでこの場合、ステップS2108において、認証部154は、情報処理装置111の認証失敗処理を実行する。
【0163】
情報処理装置141は、ステップS2102において情報処理装置111に対して同じデータを複数回供給し、ステップS2103でそのデータに対する処理結果を得ることができる。しかし、その処理結果は、毎回変化する時変鍵KCにより演算されたものである。従って、この実施の形態においても、不正な情報処理装置141を用いて、DFA攻撃により、多数の処理結果を収集し、分析したとしても、そのデータを処理した鍵を特定することはできない。
【0164】
次に、図17のフローチャートを参照して、第2の方式の双方向の認証処理について説明する。
【0165】
情報処理装置141の発生部157はステップS2301において、乱数RBを発生する。送信部156はステップS2302において、この乱数RBを情報処理装置111に送信する。
【0166】
情報処理装置111においては、その受信部122がステップS2321において、情報処理装置141から送信されてきた乱数RBを受信する。ステップS2322において発生部127は、乱数RA,RCと、鍵KABを発生する。生成部128はステップS2323において、時変鍵の時変の基礎となる基礎情報としての乱数RCと鍵KABから鍵KCを計算する。すなわち、次式が演算され、時変鍵である鍵KCが生成される。
KC=f(RC,KAB) (21)
【0167】
ステップS2324において暗号化部125は、乱数RAと乱数RBを鍵KCで暗号化する。すなわち、ステップS2322で発生した乱数RAと、情報処理装置141から受信した乱数RBの結合(RA||RB)が、次式に従って暗号化される。
Token AB=eKC(RA||RB) (22)
【0168】
ステップS2325において送信部126は、情報Token ABと乱数RCを情報処理装置141に送信する。情報Token ABは式(22)で示される値であり、乱数RCはステップS2322で発生された値である。
【0169】
情報処理装置141においては、受信部152がステップS2303で、情報処理装置111からの情報Token ABと乱数RCを受信する。ステップS2304において発生部157は、鍵KABを発生する。
【0170】
生成部158はステップS2305において、乱数RCと鍵KABから鍵KCを計算する。すなわち、次式が演算され、時変鍵である鍵KCが生成される。
KC=f(RC,KAB) (23)
【0171】
ステップS2306において認証情報生成部としての復号部153は、次のステップS2307において認証判定を行うための認証情報を生成する処理を行う。具体的には、この実施の形態の場合、復号部153は、ステップS2303で情報処理装置111から受信した情報である情報Token ABを、鍵KCで復号する。上述したように、情報Token ABは、情報処理装置111がステップS2324において、乱数RAと乱数RBの結合(RA||RB)を鍵KCで暗号化したものであるから、この復号処理により、結合(RA||RB)が得られる。
【0172】
ステップS2307において、認証部154は、復号結果と乱数RBが一致するかを判定する。ただし、この場合、復号結果として得られる結合(RA||RB)のうちの、乱数RBのみが抽出され、比較対象とされ、ステップS2301で発生され、ステップS2302で情報処理装置111に送信された乱数RBと比較される。抽出された乱数RAは後述するステップS2310の処理で利用される。
【0173】
情報処理装置111が正規の情報処理装置である場合、正しい固定された鍵KABを有しているので、情報処理装置111がその鍵KABに乱数RBを作用して生成された鍵KCは、情報処理装置141がステップS2305で生成した鍵KCと同じ値となる。従って、この場合、2つの乱数RBは一致する。
【0174】
しかし、情報処理装置111が不正な情報処理装置である場合、正しい鍵KABを保持していない。その結果、2つの乱数RBは一致しない。そこでこの場合、ステップS2308において、認証部154は、情報処理装置111の認証失敗処理を実行する。
【0175】
2つの乱数RBが一致した場合、ステップS2309において認証部154は、情報処理装置111の認証成功処理を実行する。このようにして情報処理装置141が情報処理装置111を認証する。
【0176】
情報処理装置141は、ステップS2302において情報処理装置111に対して同じデータを複数回供給し、ステップS2303でそのデータに対する処理結果を得ることができる。しかし、その処理結果は、毎回変化する時変鍵KCにより演算されたものである。従って、不正な情報処理装置141を用いて、DFA攻撃により、多数の処理結果を収集し、分析したとしても、そのデータを処理した鍵を特定することはできない。
【0177】
さらに情報処理装置111に情報処理装置141を認証させるため、以下の処理が実行される。
【0178】
ステップS2310において暗号化部155は、乱数RBと乱数RAを鍵KCで暗号化する。すなわち、ステップS2302で情報処理装置111に送信した乱数RBと、情報処理装置111から受信した乱数RAの結合(RB||RA)が、次式に従って暗号化される。
Token BA=eKC(RB||RA) (24)
【0179】
なお、ステップS2324で、式(22)に従って、乱数RAと乱数RBの結合(RA||RB)を鍵KCで暗号化して得られるToken ABと、ステップS2310で式(24)に従って、乱数RBと乱数RAの結合(RB||RA)を鍵KCで暗号化して得られるToken BAは、乱数RAと乱数RBの順番が異なるため、異なる値となる。
【0180】
ステップS2311において送信部156は、式(24)で演算された情報Token BAを情報処理装置111に送信する。
【0181】
情報処理装置111においては、受信部122がステップS2326で、情報処理装置141からの情報Token BAを受信する。ステップS2327において認証情報生成部としての復号部123は、次のステップS2328において認証判定を行うための認証情報を生成する処理を行う。具体的には、この実施の形態の場合、復号部123は、ステップS2326で情報処理装置141から受信した情報である情報Token BAを、鍵KCで復号する。上述したように、情報Token BAは、情報処理装置141がステップS2310において、乱数RBと乱数RAの結合(RB||RA)を鍵KCで暗号化したものであるから、この復号処理により、結合(RB||RA)が得られる。
【0182】
ステップS2328において、認証部124は、復号結果と乱数RAおよび乱数RBが一致するかを判定する。すなわちこの場合、復号結果として得られる結合(RB||RA)から、乱数RAおよび乱数RBの両方が抽出され、比較対象とされ、ステップS2325で情報Token ABに含めて情報処理装置141に送信された乱数RAと乱数RBの、式(22)で暗号化される前の値と比較される。
【0183】
情報処理装置141が正規の情報処理装置である場合、正しい固定された鍵KABを有しているので、情報処理装置141がその鍵KABに乱数RCを作用して生成された鍵KCは、情報処理装置111がステップS2323で生成した鍵KCと同じ値となる。従って、この場合、2組の乱数RAと乱数RBは一致する。
【0184】
しかし、情報処理装置141が不正な情報処理装置である場合、正しい鍵KABを保持していない。その結果、2組の乱数RAと乱数RBは一致しない。そこでこの場合、ステップS2329において、認証部124は、情報処理装置141の認証失敗処理を実行する。
【0185】
2組の乱数RAと乱数RBが一致した場合、ステップS2330において認証部124は、情報処理装置141の認証成功処理を実行する。
【0186】
図17の実施の形態においては、ステップS2328で、乱数RAと乱数RBを比較するようにしたが、乱数RAと乱数RBを暗号化された状態のまま比較することも可能である。この場合の実施の形態が、図18に示されている。
【0187】
図18のステップS2361乃至S2371の情報処理装置141の処理は、図17のステップS2301乃至S2311の処理と同じである。また、図18のステップS2391乃至S2395までの情報処理装置111の処理は、図17のステップS2321乃至S2325までの処理と同じである。図18のステップS2396乃至S2400の処理が、図17のステップS2326乃至S2330の処理と異なっている。
【0188】
すなわち、図18の実施の形態においては次のような処理が行われる。情報処理装置111においては、ステップS2396において認証情報生成部としての暗号化部125は、後のステップS2398において認証処理を行うのに必要な認証情報を生成する処理を事前に行う。具体的には、この実施の形態の場合、ステップS2398で情報処理装置141から受信した情報Token BAとの比較が行われるため、暗号化部125は、次式に従って、乱数RBと乱数RAの結合(RB||RA)を鍵KCで暗号化し、期待値Answer BAを生成する。
Answer BA=eKC(RB||RA) (25)
【0189】
ステップS2397において受信部122は、情報処理装置141から送信されてきた情報Token BAを受信する。この情報Token BAは、ステップS2370において生成されたものであり、乱数RBと乱数RAの結合(RB||RA)を、鍵KCで暗号化したものである。
【0190】
ステップS2398において認証部124は、ステップS2397で情報処理装置141から受信した情報Token BAと、ステップS2396で生成した期待値Answer BAが一致するかを判定する。
【0191】
情報処理装置141が正規の情報処理装置である場合、正しい固定された鍵KABを有しているので、ステップS2365で情報処理装置141がその鍵KABに乱数RCを作用して生成された鍵KCは、情報処理装置111がステップS2393で生成した鍵KCと同じ値となる。従って、この場合、情報Token BAと期待値Answer BAは一致する。
【0192】
しかし、情報処理装置141が不正な情報処理装置である場合、正しい鍵KABを保持していない。その結果、情報Token BAと期待値Answer BAは一致しない。そこでこの場合、ステップS2399において、認証部124は、情報処理装置141の認証失敗処理を実行する。
【0193】
情報Token BAと期待値Answer BAが一致した場合、ステップS2400において認証部124は、情報処理装置141の認証成功処理を実行する。
【0194】
図17の実施の形態においては、ステップS2307において、乱数RBを比較対象にした。またステップS2328においても、乱数RAおよび乱数RBを比較対象にした。この比較対象を暗号化されたままの乱数とすることもできる。この場合の実施の形態が図19に示されている。
【0195】
図19の実施の形態における、ステップS2501乃至S2511の情報処理装置141の処理は、図17のステップS2301乃至S2311の情報処理装置141の処理と基本的に同様であるが、図19のステップS2503,S2506,S2507の処理が、図17のステップS2303,S2306,S2307の処理と異なっている。
【0196】
また、図19のステップS2531乃至S2540の情報処理装置111の処理は、図17のステップS2321乃至S2330の情報処理装置111の処理と基本的に同様であるが、図19のステップS2535,S2537,S2538の処理が、図17のステップS2325,S2327,S2328の処理と異なっている。
【0197】
すなわち、図19の実施の形態の場合、情報処理装置111の送信部126がステップS2535において、情報Token ABと乱数RCだけでなく、乱数RAも送信する。情報Token ABはステップS2534で暗号化部125により生成されたものであり、乱数RAと乱数RBの結合(RA||RB)を鍵KCで暗号化したものである。
【0198】
情報処理装置141においては、ステップS2503で受信部152が、情報Token ABと乱数RCだけでなく、乱数RAも受信する。ステップS2504において発生部157は鍵KABを発生する。ステップS2505において生成部158は、次式に基づいて、乱数RCを鍵KABに作用させて、鍵KCを生成する。
KC=f(RC,KAB) (26)
【0199】
ステップS2506において認証情報生成部としての暗号化部155は、後のステップS2507において認証処理を行うのに必要な認証情報を生成する処理を行う。具体的には、この実施の形態の場合、ステップS2507で情報処理装置111から受信した情報Token ABとの比較が行われるため、暗号化部155は、乱数RAと乱数RBの結合(RA||RB)を鍵KCで暗号化し、情報Token ABを生成する。すなわち、次式が演算される。
Token AB=eKC(RA||RB) (27)
【0200】
ステップS2507において認証部154は、ステップS2506で得られた暗号結果と、ステップS2503で情報処理装置111から受信した情報Token ABが一致するかを判定する。式(27)で演算された情報Token ABと、情報処理装置111から受信した情報Token ABが一致しない場合、ステップS2508で情報処理装置111の認証失敗処理が実行される。これに対して、式(27)で演算された情報Token ABと、情報処理装置111から受信した情報Token ABが一致する場合、ステップS2509で情報処理装置111の認証成功処理が実行される。
【0201】
さらに情報処理装置111に情報処理装置141を認証させるため、ステップS2510において暗号化部155は、乱数RBと乱数RAを鍵KCで暗号化する。すなわち、ステップS2501で発生した乱数RBと、情報処理装置111から受信した乱数RAの結合(RB||RA)が、次式に従って暗号化される。
Token BA=eKC(RB||RA) (28)
【0202】
ステップS2511において送信部156は、式(28)で演算された情報Token BAを情報処理装置111に送信する。
【0203】
情報処理装置111においては、受信部122がステップS2536で、情報処理装置141からの情報Token BAを受信する。ステップS2537において認証情報生成部としての暗号化部125は、次のステップS2538において認証判定を行うための認証情報を生成する処理を行う。具体的には、この実施の形態の場合、ステップS2531で情報処理装置141から受信した乱数RBと、ステップS2535で情報処理装置141に送信された乱数RAの結合(RB||RA)を、鍵KCで暗号化する処理が行われる。
すなわち次式が演算される。
Token BA=eKC(RB||RA) (29)
【0204】
ステップS2538において、認証部124は、ステップS2537の暗号結果(すなわち、ステップS2537で式(29)に従って演算された情報Token BA)と、ステップS2536で情報処理装置141から受信された情報Token BAが一致するかを判定する。2つの情報Token BAが一致しない場合、ステップS2539において、認証部124は、情報処理装置141の認証失敗処理を実行する。
【0205】
2つの情報Token BAが一致した場合、ステップS2540において認証部124は、情報処理装置141の認証成功処理を実行する。
【0206】
その他の処理は、図17における場合と同様であるので、その説明は省略する。
【0207】
図19の実施の形態においては、ステップS2536で情報処理装置141から情報Token BAを受信した後、ステップS2537で乱数RBと乱数RAを鍵KCで暗号化するようにしたが、ステップS2536の受信処理の前に暗号化しておくこともできる。この場合の実施の形態が図20に示されている。
【0208】
図20の実施の形態における、ステップS2551乃至S2561の情報処理装置141の処理は、図19のステップS2501乃至S2511の情報処理装置141の処理と同じである。図20のステップS2581乃至S2590の情報処理装置111の処理は、図19のステップS2531乃至S2540の情報処理装置111の処理と基本的に同様であるが、図19のステップS2537の処理に対応する図20のステップS2586の処理が、図19のステップS2536の処理に対応する図20のステップS2587の処理の前に行われる点が、異なっている。
【0209】
すなわち図20の実施の形態の場合、ステップS2587で情報処理装置141からの情報Token BAが受信される前に、ステップS2586で暗号化部125により次式に従って暗号化処理が行われる。
Answer BA=eKC(RB||RA) (30)
【0210】
そして、ステップS2588において、ステップS2587で受信された情報Token BAと、ステップS2586で生成されたAnswer BAが比較される。両者が一致しなければ、ステップS2589で情報処理装置141の認証失敗処理が行われ、両者が一致すれば、ステップS2590で情報処理装置141の認証成功処理が行われる。
【0211】
その他の処理は、図19における場合と同様である。
【0212】
<4.第3の実施の形態>
次に第3の方式の双方向の認証処理について説明する。第3の方式の双方向の認証処理では、認証に用いられる乱数が暗号化された状態で、認証する側の装置から認証される側の装置に送信される。また、第3の方式の認証処理では、2種類の乱数Raおよび乱数Rbと、2種類の固定鍵Kaおよび固定鍵Kbが用いられる。
【0213】
図21は、第3の方式の双方向の認証処理を説明するフローチャートである。
【0214】
情報処理装置141においては、その発生部157がステップS3101において、乱数Raと固定鍵Kaを発生する。ステップS3102において暗号化部155は、乱数Raを固定鍵Kaで暗号化し、情報M1を生成する。すなわち、次式が演算される。
M1=eKa(Ra) (31)
【0215】
ステップS3103において送信部156は、情報M1を情報処理装置111に送信する。すなわち情報M1はアンテナ部151を介して情報処理装置111に送信される。
【0216】
情報処理装置111においては、その受信部122がステップS3151において、情報処理装置141から送信されてきた情報M1を、アンテナ部121を介して受信する。ステップS3152において、発生部127は固定鍵Kaを発生して復号部123に供給する。復号部123は、情報M1を固定鍵Kaで復号することにより乱数Raを取得する。
【0217】
ステップS3153において発生部127は、乱数Rbと固定鍵Kbを発生する。ステップS3154において暗号化部125は、乱数Raと乱数Rbの排他的論理和(XOR:exclusive or)を演算し、さらにその演算結果を固定鍵Kbで暗号化することにより、情報M2を生成する。すなわち、次式が演算される。
M2=eKb(Ra XOR Rb) (32)
【0218】
ステップS3155において暗号化部125は、乱数Rbを固定鍵Kbで暗号化することにより、情報M3を生成する。すなわち、次式が演算される。
M3=eKb(Rb) (33)
【0219】
ステップS3156において、送信部126は情報M2を情報処理装置141に送信する。すなわち情報M2はアンテナ部121を介して情報処理装置141に送信される。ステップS3157において、送信部126は情報M3を情報処理装置141に送信する。すなわち情報M3はアンテナ部121を介して情報処理装置141に送信される。
【0220】
なお、情報M2と情報M3を同時に情報処理装置141に送信するようにしてもよい。
【0221】
情報処理装置141においては、その受信部152がステップS3104において、情報処理装置111から送信されてきた情報M2を、アンテナ部151を介して受信する。ステップS3105において、発生部157は鍵Kbを発生して復号部153に供給する。復号部153は、情報M2を固定鍵Kbで復号することにより、乱数Raと乱数Rbの排他的論理和(Ra XOR Rb)を取得し、認証部154に出力する。
【0222】
また受信部152はステップS3106において、情報処理装置111から送信されてきた情報M3を、アンテナ部151を介して受信する。ステップS3107において、復号部153は、情報M3を固定鍵Kbで復号することにより乱数Rbを取得し、認証部154に出力する。
【0223】
ステップS3108において暗号化部155は、認証部154からの制御に従い、乱数Raと乱数Rbの排他的論理和(Ra XOR Rb)と、乱数Rbとの排他的論理和を演算することにより、乱数Raを取得する。すなわち、次式が演算される。
Ra=(Ra XOR Rb) XOR Rb (34)
【0224】
ステップS3109において認証部154は、乱数Raの整合性により認証を行う。具体的には、ステップS3101において発生された乱数Raと、ステップS3108で取得された乱数Raが一致するかが判定される。固定鍵Kaと固定鍵Kbは、正規の情報処理装置111のみが保持している秘密鍵である。従って、情報処理装置111が正規の情報処理装置である場合には、2つの乱数Raは一致する。そこでこの場合、ステップS3111において認証部154は、情報処理装置111の認証成功処理を実行する。
【0225】
これに対して、情報処理装置111が正規の情報処理装置ではない場合、固定鍵Kaと固定鍵Kbを有していないので、2つの乱数Raは一致しないことになる。そこでこの場合、ステップS3110において認証部154は、情報処理装置111の認証失敗処理を実行する。
【0226】
さらに情報処理装置111に情報処理装置141を認証させるため、以下の処理が実行される。
【0227】
ステップS3112において暗号化部155は、認証部154からの制御に従い、乱数Raと乱数Rbの排他的論理和(Ra XOR Rb)を固定鍵Kaで暗号化することにより、情報M4を生成する。すなわち、次式が演算される。
M4=eKa(Ra XOR Rb) (35)
【0228】
ステップS3113において、送信部156は情報M4を情報処理装置111に送信する。すなわち情報M4はアンテナ部151を介して情報処理装置111に送信される。
【0229】
情報処理装置111においては、その受信部122がステップS3158において、情報処理装置141から送信されてきた情報M4を、アンテナ部121を介して受信する。ステップS3159において、復号部123は、情報M4を固定鍵Kaで復号することにより、乱数Raと乱数Rbの排他的論理和(Ra XOR Rb)を取得し、認証部124に出力する。
【0230】
ステップS3160において暗号化部125は、認証部124からの制御に従い、乱数Raと乱数Rbの排他的論理和(Ra XOR Rb)と、乱数Raとの排他的論理和を演算することにより、乱数Rbを取得する。すなわち、次式が演算される。
Rb=(Ra XOR Rb) XOR Ra (36)
【0231】
ステップS3161において認証部124は、乱数Rbの整合性により認証を行う。具体的には、ステップS3153において発生された乱数Rbと、ステップS3160で取得された乱数Rbが一致するかが判定される。固定鍵Kaと固定鍵Kbは、正規の情報処理装置141のみが保持している秘密鍵である。従って、情報処理装置141が正規の情報処理装置である場合には、2つの乱数Rbは一致する。そこでこの場合、ステップS3163において認証部124は、情報処理装置141の認証成功処理を実行する。
【0232】
これに対して、情報処理装置141が正規の情報処理装置ではない場合、固定鍵Kaと固定鍵Kbを有していないので、2つの乱数Rbは一致しないことになる。そこでこの場合、ステップS3162において認証部124は、情報処理装置141の認証失敗処理を実行する。以上のようにして情報処理装置111からも情報処理装置141を認証する。
【0233】
以上説明した第3の方式の双方向の認証処理によれば、予め保持している秘密鍵(固定鍵Ka,Kb)を暗号化および復号に用いるので時変鍵を生成する必要がない。また、情報処理装置111と情報処理装置141は、それぞれ、発生する乱数の数を1回で済ませることができる。
【0234】
また、ハッキングを目的として、情報処理装置111に対して同一の情報M1を複数回供給し、その情報M1に対する処理結果の情報M2を複数回得たとしても、その処理結果としての情報M2は、毎回変化する乱数Rbを用いて演算されたものである。従って、DFA攻撃により、多数の処理結果を収集し、分析したとしても、そのデータを処理した鍵を特定することはできない。すなわち、DFA攻撃から防衛することができる。
【0235】
なお、図21の実施の形態においては、ステップS3154において排他的論理和の演算値を、固定鍵Kbを用いた暗号化により情報M2を生成し、この情報M2を、ステップS3105において固定鍵Kbで復号することにより排他的論理和の演算値を取得していた。また、ステップS3155において乱数Rbを、固定鍵Kbを用いて暗号化することにより情報M3を生成し、この情報M3を、ステップS3107において固定鍵Kbで復号することにより乱数Rbを取得していた。この暗号化と復号の関係は、相互に入れ替えることができる。この場合の実施の形態が図22に示されている。
【0236】
図22の実施の形態における、ステップS3201乃至S3213の情報処理装置141の処理は、図21のステップS3101乃至S3113の情報処理装置141の処理と基本的に同様であるが、図22のステップS3205,S3207の処理が、図21のステップS3105,S3107の処理と異なっている。
【0237】
また、図22のステップS3251乃至S3263の情報処理装置111の処理は、図21のステップS3151乃至S3163の情報処理装置111の処理と基本的に同様であるが、図22のステップS3254,S3255の処理が、図21のステップS3154,S3155の処理と異なっている。
【0238】
すなわち、図22の実施の形態の場合、情報処理装置111では、ステップS3254において、暗号化部125が乱数Raと乱数Rbの排他的論理和(XOR:exclusive or)を演算し、その演算結果を復号部123が固定鍵Kbを用いて復号することにより、情報M2を生成する。すなわち、次式が演算される。なお、例えば、dK(A)は、値Aを鍵Kで復号することを表すものとする。
M2=dKb(Ra XOR Rb) (37)
【0239】
ステップS3155においては、復号部123が、乱数Rbを、固定鍵Kbを用いて復号することにより、情報M3を生成する。すなわち、次式が演算される。
M3=dKb(Rb) (38)
【0240】
また、情報処理装置141では、ステップS3205において、発生部157は鍵Kbを発生して暗号化部155に供給する。暗号化部155は、情報M2を固定鍵Kbで暗号化することにより、乱数Raと乱数Rbの排他的論理和(Ra XOR Rb)を取得し、認証部154に出力する。
【0241】
またステップS3207において、暗号化部155は、情報M3を固定鍵Kbで暗号化することにより乱数Rbを取得し、認証部154に出力する。
【0242】
その他の処理は、図21における場合と同様である。
【0243】
<5.第4の実施の形態>
次に第4の方式の双方向の認証処理について説明する。第4の方式の双方向の認証処理では、認証に用いられる乱数が暗号化された状態で、認証する側の装置から認証される側の装置に送信される。また、第4の方式の認証処理では、2種類の乱数Raおよび乱数Rbと、1種類の固定鍵Kaが用いられる。さらに、発生された乱数Raおよび乱数Rbは、それぞれ暗号鍵および復号鍵として用いられる。
【0244】
図23は、第4の方式の双方向の認証処理を説明するフローチャートである。
【0245】
情報処理装置141においては、その発生部157がステップS3301において、乱数Raと固定鍵Kaを発生する。ステップS3302において暗号化部155は、乱数Raを固定鍵Kaで暗号化し、情報M1を生成する。
M1=eKa(Ra) (39)
【0246】
ステップS3303において送信部156は、情報M1を情報処理装置111に送信する。すなわち情報M1はアンテナ部151を介して情報処理装置111に送信される。
【0247】
情報処理装置111においては、その受信部122がステップS3351において、情報処理装置141から送信されてきた情報M1を、アンテナ部121を介して受信する。ステップS3352において、発生部127は固定鍵Kaを発生して復号部123に供給する。復号部123は、情報M1を固定鍵Kaで復号することにより乱数Ra’を取得する。この復号で用いられた固定鍵Kaが、暗号時に用いられた固定鍵Kaと同一のものであれば、乱数Ra’は乱数Raと同一のものが得られる。
【0248】
ステップS3353において発生部127は、乱数Rbを発生する。ステップS3354において暗号化部125は、乱数Ra’を、乱数Rbを鍵として暗号化することにより、情報M2を生成する。すなわち、次式が演算される。
M2=eRb(Ra’) (40)
【0249】
ステップS3355において暗号化部125は、乱数Rbを固定鍵Kaで暗号化することにより、情報M3を生成する。すなわち、次式が演算される。
M3=eKa(Rb) (41)
【0250】
ステップS3356において、送信部126は情報M2を情報処理装置141に送信する。すなわち情報M2はアンテナ部121を介して情報処理装置141に送信される。
【0251】
ステップS3357において、送信部126は情報M3を情報処理装置141に送信する。すなわち情報M3はアンテナ部121を介して情報処理装置141に送信される。なお、情報M2と情報M3を同時に情報処理装置141に送信するようにしてもよい。
【0252】
情報処理装置141においては、その受信部152がステップS3304において、情報処理装置111から送信されてきた情報M2を、アンテナ部151を介して受信する。ステップS3305において、情報処理装置111から送信されてきた情報M3を、アンテナ部151を介して受信する。
【0253】
ステップS3306において復号部153は、情報M3を固定鍵Kaで復号することにより乱数Rb’を取得する。この復号で用いられた固定鍵Kaが、暗号時に用いられた固定鍵Kaと同一のものであれば、乱数Rb’は乱数Rbと同一のものが得られる。
【0254】
ステップS3307において復号部153は、情報M2を、乱数Rb’を鍵として復号し、その結果得られた乱数Ra”を認証部154に出力する。
【0255】
ステップS3108において認証部154は、乱数Raの整合性により認証を行う。具体的には、ステップS3301において発生された乱数Raと、ステップS3107で取得された乱数Ra”が一致するかが判定される。固定鍵Kaは、正規の情報処理装置111のみが保持している秘密鍵である。従って、情報処理装置111が正規の情報処理装置である場合には、乱数Raと乱数Ra”は一致する。そこでこの場合、ステップS3310において認証部154は、情報処理装置111の認証成功処理を実行する。
【0256】
これに対して、情報処理装置111が正規の情報処理装置ではない場合、正しい固定鍵Kaを有していないので、乱数Raと乱数Ra”は一致しないことになる。そこでこの場合、ステップS3309において認証部154は、情報処理装置111の認証失敗処理を実行する。
【0257】
さらに情報処理装置111に情報処理装置141を認証させるため、以下の処理が実行される。
【0258】
ステップS3311において暗号化部155は、認証部154からの制御に従い、乱数Rb’を、乱数Raを鍵として暗号化することにより、情報M4を生成する。すなわち、次式が演算される。
M4=eRa(Rb’) (42)
【0259】
ステップS3112において、送信部156は情報M4を情報処理装置111に送信する。すなわち情報M4はアンテナ部151を介して情報処理装置111に送信される。
【0260】
情報処理装置111においては、その受信部122がステップS3358において、情報処理装置141から送信されてきた情報M4を、アンテナ部121を介して受信する。ステップS3359において、復号部123は、情報M4を、乱数Ra’を鍵として復号し、その結果得られた乱数Rb”を認証部124に出力する。
【0261】
ステップS3360において認証部124は、乱数Rbの整合性により認証を行う。具体的には、ステップS3353において発生された乱数Rbと、ステップS3359で取得された乱数Rb”が一致するかが判定される。固定鍵Kaは、正規の情報処理装置141のみが保持している秘密鍵である。従って、情報処理装置141が正規の情報処理装置である場合には、乱数Rbと乱数Rb”は一致する。そこでこの場合、ステップS3362において認証部124は、情報処理装置141の認証成功処理を実行する。
【0262】
これに対して、情報処理装置141が正規の情報処理装置ではない場合、固定鍵Kaを有していないので、乱数Rbと乱数Rb”は一致しないことになる。そこでこの場合、ステップS3361において認証部124は、情報処理装置141の認証失敗処理を実行する。以上のようにして情報処理装置111からも情報処理装置141を認証する。
【0263】
以上説明した第4の方式の双方向の認証処理によれば、情報処理装置111と情報処理装置141は、予め1つの秘密鍵(固定鍵Ka)を保持していればよい。また、情報処理装置111と情報処理装置141は、それぞれ、発生する乱数の数を1回で済ませることができる。
【0264】
また、ハッキングを目的として、情報処理装置111に対して同一の情報M1を複数回供給し、その情報M1に対する処理結果の情報M2を複数回得たとしても、その処理結果としての情報M2は、毎回変化する乱数Rbを鍵として暗号化したものである。従って、DFA攻撃により、多数の処理結果を収集し、分析したとしても、そのデータを処理した鍵を特定することはできない。すなわち、DFA攻撃から防衛することができる。
【0265】
なお、図23の実施の形態においては、ステップS3302において固定鍵Kaを用いた暗号化により情報M1を生成し、この情報M1を、ステップS3352において固定鍵Kaで復号していた。また、ステップS3311において乱数Rbを鍵とした暗号化により情報M4を生成し、この情報M4を、ステップS3359において乱数Ra’を鍵として復号していた。この暗号化と復号の関係は、相互に入れ替えることができる。この場合の実施の形態が図24に示されている。
【0266】
図24の実施の形態における、ステップS3401乃至S3412の情報処理装置141の処理は、図23のステップS3301乃至S3312の情報処理装置141の処理と基本的に同様であるが、図24のステップS3402,S3411の処理が、図23のステップS3302,S3311の処理と異なっている。
【0267】
また、図24のステップS3451乃至S3462の情報処理装置111の処理は、図22のステップS3351乃至S3362の情報処理装置111の処理と基本的に同様であるが、図24のステップS3452,S3459の処理が、図23のステップS3352,S3359の処理と異なっている。
【0268】
すなわち、図24の実施の形態の場合、情報処理装置141では、ステップS3402において、復号部153が乱数Raを、固定鍵Kaで復号することにより、情報M1を生成する。すなわち、次式が演算される。
M1=dKa(Ra) (43)
【0269】
ステップS3411においては、復号部153が乱数Rb’を、乱数Raを用いて復号することにより、情報M4を生成する。すなわち、次式が演算される。
M4=dRa(Rb’) (44)
【0270】
また、情報処理装置111では、ステップS3452において、発生部127は固定鍵Kaを発生して暗号化部125に供給する。暗号化部125は、情報M1を固定鍵Kaで暗号化することにより、乱数Ra’を取得する。
【0271】
またステップS3359において、暗号化部125は、情報M4を乱数Ra’で暗号化することにより乱数Rb”を取得する。
【0272】
その他の処理は、図23における場合と同様である。
【0273】
<6.第5の実施の形態>
次に第5の方式の双方向の認証処理について説明する。第5の方式の双方向の認証処理では、認証に用いられる乱数が暗号化された状態で、認証する側の装置から認証される側の装置に送信される。また、第5の方式の認証処理では、2種類の乱数Raおよび乱数Rbと、1種類の固定鍵Kaが用いられる。さらに、発生された乱数Raおよび乱数Rbは、それぞれ暗号鍵および復号鍵として用いられる。またさらに、乱数Rを用いた変換処理F(X)と、逆変換処理F−1(X)が利用される。
【0274】
図25は、第5の方式の双方向の認証処理を説明するフローチャートである。
【0275】
情報処理装置141においては、その発生部157がステップS3501において、乱数Raと固定鍵Kaを発生する。ステップS3502において暗号化部155は、乱数Raを固定鍵Kaで暗号化し、情報M1を生成する。
M1=eKa(Ra) (45)
【0276】
ステップS3503において送信部156は、情報M1を情報処理装置111に送信する。すなわち情報M1はアンテナ部151を介して情報処理装置111に送信される。
【0277】
情報処理装置111においては、その受信部122がステップS3551において、情報処理装置141から送信されてきた情報M1を、アンテナ部121を介して受信する。ステップS3552において、発生部127は固定鍵Kaを発生して復号部123に供給する。復号部123は、情報M1を固定鍵Kaで復号することにより乱数Ra’を取得する。この復号で用いられた固定鍵Kaが、暗号時に用いられた固定鍵Kaと同一のものであれば、乱数Ra’は乱数Raと同一のものが得られる。
【0278】
ステップS3553において発生部127は、乱数Rbを発生する。ステップS3554において暗号化部125は、乱数Ra’に、乱数Rbを用いた変換処理FRb(X)を施す。さらに、暗号化部125はステップS3554において、変換処理結果FRb(Ra’)を、乱数Rbを鍵として暗号化することにより、情報M2を生成する。すなわち、次式が演算される。
M2=eRb(FRb(Ra’)) (46)
【0279】
ステップS3556において暗号化部125は、乱数Rbを固定鍵Kaで暗号化することにより、情報M3を生成する。すなわち、次式が演算される。
M3=eKa(Rb) (47)
【0280】
ステップS3557において、送信部126は情報M2を情報処理装置141に送信する。すなわち情報M2はアンテナ部121を介して情報処理装置141に送信される。
【0281】
ステップS3558において、送信部126は情報M3を情報処理装置141に送信する。すなわち情報M3はアンテナ部121を介して情報処理装置141に送信される。なお、情報M2と情報M3を同時に情報処理装置141に送信するようにしてもよい。
【0282】
情報処理装置141においては、その受信部152がステップS3504において、情報処理装置111から送信されてきた情報M2を、アンテナ部151を介して受信する。ステップS3505において、情報処理装置111から送信されてきた情報M3を、アンテナ部151を介して受信する。
【0283】
ステップS3506において復号部153は、情報M3を固定鍵Kaで復号することにより乱数Rb’を取得する。この復号で用いられた固定鍵Kaが、暗号時に用いられた固定鍵Kaと同一のものであれば、乱数Rb’は乱数Rbと同一のものが得られる。
【0284】
ステップS3507において復号部153は、情報M2を、乱数Rb’を鍵として復号することにより、変換処理結果FRb(Ra’)を取得し、認証部154に供給する。ステップS3508において暗号化部155は、認証部154の制御に従い、変換処理結果FRb(Ra’)に、乱数Rb’を用いた逆変換処理F−1Rb(X)を施し、その結果得られた乱数Ra”を認証部154に出力する。
【0285】
ステップS3509において認証部154は、乱数Raの整合性により認証を行う。具体的には、ステップS3501において発生された乱数Raと、ステップS3508で取得された乱数Ra”が一致するかが判定される。固定鍵Kaは、正規の情報処理装置111のみが保持している秘密鍵である。従って、情報処理装置111が正規の情報処理装置である場合には、乱数Raと乱数Ra”は一致する。そこでこの場合、ステップS3511において認証部154は、情報処理装置111の認証成功処理を実行する。
【0286】
これに対して、情報処理装置111が正規の情報処理装置ではない場合、正しい固定鍵Kaを有していないので、乱数Raと乱数Ra”は一致しないことになる。そこでこの場合、ステップS3510において認証部154は、情報処理装置111の認証失敗処理を実行する。
【0287】
さらに情報処理装置111に情報処理装置141を認証させるため、以下の処理が実行される。
【0288】
ステップS3512において暗号化部155は、認証部154からの制御に従い、乱数Rb’に、乱数Raを用いた変換処理FRa(X)を施す。さらに、暗号化部155はステップS3513において、変換処理結果FRa(Rb’)を、乱数Raを鍵として暗号化することにより、情報M4を生成する。すなわち、次式が演算される。
M4=eRa(FRa(Rb’)) (48)
【0289】
ステップS3514において、送信部156は情報M4を情報処理装置111に送信する。すなわち情報M4はアンテナ部151を介して情報処理装置111に送信される。
【0290】
情報処理装置111においては、その受信部122がステップS3559において、情報処理装置141から送信されてきた情報M4を、アンテナ部121を介して受信する。ステップS3560において、復号部123は、情報M4を、乱数Ra’を鍵として復号することにより、変換処理結果FRa(Rb’)を取得し、認証部124に出力する。
【0291】
ステップS3561において暗号化部125は、認証部124からの制御に従い、変換処理結果FRa(Rb’)に、乱数Ra’を用いた逆変換処理F−1Ra’(X)を施し、その結果得られた乱数Rb”を認証部124に出力する。
【0292】
ステップS3562において認証部124は、乱数Rbの整合性により認証を行う。具体的には、ステップS3553において発生された乱数Rbと、ステップS3561で取得された乱数Rb”が一致するかが判定される。固定鍵Kaは、正規の情報処理装置141のみが保持している秘密鍵である。従って、情報処理装置141が正規の情報処理装置である場合には、乱数Rbと乱数Rb”は一致する。そこでこの場合、ステップS3364において認証部124は、情報処理装置141の認証成功処理を実行する。
【0293】
これに対して、情報処理装置141が正規の情報処理装置ではない場合、固定鍵Kaを有していないので、乱数Rbと乱数Rb”は一致しないことになる。そこでこの場合、ステップS3563において認証部124は、情報処理装置141の認証失敗処理を実行する。以上のようにして情報処理装置111からも情報処理装置141を認証する。
【0294】
以上説明した第5の方式の双方向の認証処理によれば、情報処理装置111と情報処理装置141は、予め1つの秘密鍵(固定鍵Ka)を保持していればよい。また、情報処理装置111と情報処理装置141は、それぞれ、発生する乱数の数を1回で済ませることができる。
【0295】
また、ハッキングを目的として、情報処理装置111に対して同一の情報M1を複数回供給し、その情報M1に対する処理結果の情報M2を複数回得たとしても、その処理結果としての情報M2は、毎回変化する乱数Rbを鍵として暗号化したものである。従って、DFA攻撃により、多数の処理結果を収集し、分析したとしても、そのデータを処理した鍵を特定することはできない。すなわち、DFA攻撃から防衛することができる。
【0296】
なお、本発明は、ICカードとリーダライタ以外の情報処理装置にも適用することが可能である。
【0297】
また、通信は、近接通信以外の通信とすることもできる。また無線通信ではなく、有線通信は勿論、無線通信と有線通信とが混在した通信、即ち、ある区間では無線通信が行われ、他の区間では有線通信が行われるようなものであっても良い。さらに、ある装置から他の装置への通信が有線通信で行われ、他の装置からある装置への通信が無線通信で行われるようなものであっても良い。
【0298】
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
【0299】
例えば、図8の記憶部129や図9の記憶部159のような、コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムを格納するプログラム記録媒体は、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)を含む)、光磁気ディスクを含む)、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア、または、プログラムが一時的もしくは永続的に格納されるROM、ハードディスクなどにより構成される。プログラム記録媒体へのプログラムの格納は、必要に応じてルータ、モデムなどのインターフェースである通信部を介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を利用して行われる。
【0300】
なお、本明細書において、プログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【0301】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【0302】
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【符号の説明】
【0303】
100 情報処理システム, 111 情報処理装置, 121 アンテナ部, 122 受信部, 123 復号部, 124 認証部, 125 暗号化部, 126 送信部, 127 発生部, 128 生成部, 129 記憶部, 141 情報処理装置, 151 アンテナ部, 152 受信部, 153 復号部, 154 認証部, 155 暗号化部, 156 送信部, 157 発生部, 158 生成部, 159 記憶部, 160 インターフェース

【特許請求の範囲】
【請求項1】
他の情報処理装置から第1の乱数を受信する受信部と、
第2の乱数と第3の乱数を発生する乱数発生部と、
前記第2の乱数を第1の固定鍵に作用させることにより、暗号化のための第1の時変鍵を生成する時変鍵生成部と、
前記第3の乱数と前記第1の乱数の結合を前記第1の時変鍵で暗号化する暗号化部と、
前記暗号化された前記第3の乱数と前記第1の乱数の結合、および前記第2の乱数を前記他の情報処理装置に送信する送信部と
を備える情報処理装置。
【請求項2】
前記受信部は、さらに前記他の情報処理装置から前記第1の時変鍵で暗号化された前記第1の乱数と前記第3の乱数の結合を受信し、
受信された、暗号化されている前記第1の乱数と前記第3の乱数の結合を前記第1の時変鍵で復号する復号部と、
復号された結果に基づいて認証を行う認証部をさらに備える
請求項1に記載の情報処理装置。
【請求項3】
前記暗号化部は、さらに前記第1の乱数と前記第3の乱数の結合を前記第1の時変鍵で暗号化し、
前記受信部は、さらに前記他の情報処理装置から暗号化された前記第1の乱数と前記第3の乱数の結合を受信し、
暗号化された前記第1の乱数と前記第3の乱数の結合により認証を行う認証部をさらに備える
請求項1に記載の情報処理装置。
【請求項4】
前記暗号化部は、前記受信部が前記他の情報処理装置から暗号化された前記第1の乱数と前記第3の乱数の結合を受信した後に、前記第1の乱数と前記第3の乱数の結合を前記時変鍵で暗号化する
請求項3に記載の情報処理装置。
【請求項5】
前記情報処理装置は、ICカードである
請求項1乃至4に記載の情報処理装置。
【請求項6】
情報処理装置による、
他の情報処理装置から第1の乱数を受信し、
第2の乱数と第3の乱数を発生し、
前記第2の乱数を第1の固定鍵に作用させることにより、暗号化のための第1の時変鍵を生成し、
前記第3の乱数と前記第1の乱数の結合を前記第1の時変鍵で暗号化し、
前記暗号化された前記第3の乱数と前記第1の乱数の結合、および前記第2の乱数を前記他の情報処理装置に送信する
ステップを含む情報処理方法。
【請求項7】
コンピュータを、
他の情報処理装置から第1の乱数を受信する受信部と、
第2の乱数と第3の乱数を発生する乱数発生部と、
前記第2の乱数を第1の固定鍵に作用させることにより、暗号化のための第1の時変鍵を生成する時変鍵生成部と、
前記第3の乱数と前記第1の乱数の結合を前記第1の時変鍵で暗号化する暗号化部と、
前記暗号化された前記第3の乱数と前記第1の乱数の結合、および前記第2の乱数を前記他の情報処理装置に送信する送信部と
して機能させるプログラム。
【請求項8】
第1の乱数を発生する乱数発生部と、
前記第1の乱数を他の情報処理装置に送信する送信部と、
前記他の情報処理装置が送信した、第1の時変鍵により暗号化された前記第1の乱数と、第2の乱数を受信する受信部と、
前記第2の乱数を第1の固定鍵に作用させることにより、前記第1の時変鍵と同じ第2の時変鍵を生成する時変鍵生成部と、
前記第2の時変鍵により前記他の情報処理装置を認証する認証情報を生成する認証情報生成部と、
前記認証情報により前記他の情報処理装置を認証する認証部と
を備える情報処理装置。
【請求項9】
前記受信部は、第3の乱数と前記第1の乱数の結合を暗号化された状態で受信し、
前記認証情報生成部は、暗号化されている前記第3の乱数と前記第1の乱数の結合を前記第2の時変鍵で復号して前記認証情報として前記第1の乱数を生成するとともに、生成した前記第1の乱数と前記第3の乱数の結合を暗号化し、
前記送信部は、さらに暗号化された前記第1の乱数と前記第3の乱数の結合を、前記他の情報処理装置に送信する
請求項8に記載の情報処理装置。
【請求項10】
前記受信部は、第3の乱数と前記第1の乱数の結合を暗号化された状態で受信し、
前記認証情報生成部は、前記第3の乱数と前記第1の乱数の結合を前記第2の時変鍵で暗号化して前記認証情報を生成するとともに、前記第1の乱数と前記第3の乱数の結合を暗号化し、
前記送信部は、さらに暗号化された前記第1の乱数と前記第3の乱数の結合を、前記他の情報処理装置に送信する
請求項8に記載の情報処理装置。
【請求項11】
前記認証情報生成部は、暗号化された状態で受信されたときとは異なる順序で前記第1の乱数と前記第3の乱数とを結合して暗号化する
請求項9または10に記載の情報処理装置。
【請求項12】
前記情報処理装置は、リーダライタである
請求項8乃至11に記載の情報処理装置。
【請求項13】
情報処理装置による、
第1の乱数を発生し、
前記第1の乱数を他の情報処理装置に送信し、
前記他の情報処理装置が送信した、第1の時変鍵により暗号化された前記第1の乱数と、第2の乱数を受信し、
前記第2の乱数を第1の固定鍵に作用させることにより、前記第1の時変鍵と同じ第2の時変鍵を生成し、
前記第2の時変鍵により前記他の情報処理装置を認証する認証情報を生成し、
前記認証情報により前記他の情報処理装置を認証する
ステップを含む情報処理方法。
【請求項14】
コンピュータに、
第1の乱数を発生する乱数発生部と、
前記第1の乱数を他の情報処理装置に送信する送信部と、
前記他の情報処理装置が送信した、第1の時変鍵により暗号化された前記第1の乱数と、第2の乱数を受信する受信部と、
前記第2の乱数を第1の固定鍵に作用させることにより、前記第1の時変鍵と同じ第2の時変鍵を生成する時変鍵生成部と、
前記第2の時変鍵により前記他の情報処理装置を認証する認証情報を生成する認証情報生成部と、
前記認証情報により前記他の情報処理装置を認証する認証部と
して機能させるプログラム。
【請求項15】
第1の情報処理装置は、
第2の情報処理装置から第1の乱数を受信し、
第2の乱数と第3の乱数を発生し、
前記第2の乱数を第1の固定鍵に作用させることにより、暗号化のための第1の時変鍵を生成し、
前記第3の乱数と前記第1の乱数の結合を前記第1の時変鍵で暗号化し、
前記暗号化された前記第3の乱数と前記第1の乱数の結合、および前記第2の乱数を前記第2の情報処理装置に送信し、
第2の情報処理装置は、
前記第1の乱数を発生し、
前記第1の乱数を前記第1の情報処理装置に送信し、
前記第1の情報処理装置が送信した、前記第1の時変鍵により暗号化された前記第1の乱数と、第2の乱数を受信し、
前記第2の乱数を第1の固定鍵に作用させることにより、前記第1の時変鍵と同じ第2の時変鍵を生成し、
前記第2の時変鍵により前記第1の情報処理装置を認証する認証情報を生成し、
前記認証情報により前記第1の情報処理装置を認証する
情報処理システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate


【公開番号】特開2011−10345(P2011−10345A)
【公開日】平成23年1月13日(2011.1.13)
【国際特許分類】
【出願番号】特願2010−178632(P2010−178632)
【出願日】平成22年8月9日(2010.8.9)
【分割の表示】特願2009−78806(P2009−78806)の分割
【原出願日】平成21年3月27日(2009.3.27)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】