(57)【特許請求の範囲】
【請求項１】
利用者に配布する装置である携帯装置と、該携帯装置と通信を行う端末装置とを含むシステムにおいて、システム内の全ての携帯装置がそれぞれ異なる秘密鍵を保持し、端末装置と共通鍵暗号方式で相互認証を行う相互認証方法であって、
前記端末装置は、予め生成された前記システムの共通鍵Ｃｋを保持しており、
前記携帯装置は、予め生成された自己の秘密鍵Ｓｋ、及び共通鍵Ｃｋを用いて暗号化した該秘密鍵Ｓｋの認証コードＭＡＣを保持しており、
（１）前記端末装置が、乱数Ｒｌを生成し、保持し、前記携帯装置に送信する手順と、
（２）前記携帯装置が、乱数Ｒｌを受信し、乱数Ｒ２を生成し、保持し、乱数ＲｌとＲ２を連接した情報を秘密鍵Ｓｋを用いて暗号化した情報Ｓｌを生成し、該情報Ｓｌと認証コードＭＡＣを前記端末装置に送信する手順と、
（３）前記端末装置が、受信した認証コードＭＡＣを共通鍵Ｃｋを用いて復号化し、秘密鍵Ｓｋを取り出し、取り出した秘密鍵Ｓｋを用いて情報Ｓｌを復号化し、乱数ＲｌとＲ２を取り出し、保持している乱数Ｒｌと取り出した乱数Ｒｌを比較し、一致した場合、取り出した秘密鍵Ｓｋを用いて乱数Ｒ２を暗号化した情報Ｓ２を生成し、前記携帯装置に送信する手順と、
（４）前記携帯装置が、秘密鍵Ｓｋを用いて情報Ｓ２を復号化し、乱数Ｒ２を取得し、保持している乱数Ｒ２と取り出した乱数Ｒ２を比較し、一致した場合、検証した情報としてこの認証状態を保持し、比較結果を前記端末装置に送信する手順と、
（５）前記端末装置が、比較結果を受信し、認証完了を判断する手順と、
を備えることを特徴とする相互認証方法。
【請求項２】
請求項１記載の相互認証方法において、前記携帯装置が複数の秘密鍵を保有する場合には、
（１）前記端末装置が、乱数Ｒｌと鍵ＩＤを生成し、保持し、前記携帯装置に送信する手順と、
（２）前記携帯装置が、乱数Ｒｌと鍵ＩＤを受信し、乱数Ｒ２を生成し、保持し、鍵ＩＤから秘密鍵Ｓｋを特定し、乱数ＲｌとＲ２を連接した情報を特定した秘密鍵Ｓｋを用いて暗号化した情報Ｓｌを生成し、該情報Ｓｌと該秘密鍵Ｓｋの認証コードＭＡＣを前記端末装置に送信する手順と、
（３）前記端末装置が、受信した認証コードＭＡＣを共通鍵Ｃｋを用いて復号化し、秘密鍵Ｓｋと鍵ＩＤを取り出し、送信した鍵ＩＤと一致検証し、一致している場合において取り出した秘密鍵Ｓｋを用いて前記情報Ｓｌを復号化し、乱数ＲｌとＲ２を取り出し、保持している乱数Ｒｌと取り出した乱数Ｒｌを比較し、一致した場合、取り出した秘密鍵Ｓｋを用いて乱数Ｒ２を暗号化した情報Ｓ２を生成し、前記携帯装置に送信する手順と、
（４）前記携帯装置が、前記特定した秘密鍵Ｓｋを用いて情報Ｓ２を復号化し、乱数Ｒ２を取得し、保持している乱数Ｒ２と取り出した乱数Ｒ２を比較し、一致した場合、その鍵ＩＤに対応した認証状態を検証した情報として保持し、比較結果を前記端末装置に送信する手順と、
（５）前記端末装置が、比較した結果を受信し、認証完了を判断する手順とを備え、
前記端末装置から与えられる前記携帯装置の秘密鍵を特定する鍵ＩＤを用いて前記携帯装置の秘密鍵を特定し、その鍵を用いて認証が成功した場合に，該当する認証状態を保持することを特徴とする相互認証方法。
【請求項３】
請求項１または２記載の方法において、前記システムは、認定装置を含み、該認定装置は、前記システムの共通鍵Ｃｋを生成して前記端末装置に提供するとともに、前記秘密鍵Ｓｋ及び前記認証コードＭＡＣを生成して前記携帯装置に提供することを特徴とする相互認証方法。
【請求項４】
請求項１または２記載の方法において、前記携帯装置が、秘密鍵Ｓｋ及び認証コードＭＡＣを生成することを特徴とする相互認証方法。
【請求項５】
請求項１または２記載の方法において、前記端末装置が、秘密鍵Ｓｋを生成し、前記携帯装置が、認証コードＭＡＣを生成することを特徴とする相互認証方法。
【請求項６】
請求項３記載の方法において、前記認定装置は、前記端末装置と組み合わせた認定装置付き端末装置として構成されていることを特徴とする相互認証方法。
【請求項７】
請求項１または２記載の方法において、前記携帯装置は、ＩＣカードで用いられる耐タンパ性を有するＩＣチップを有し、該ＩＣチップは、請求項１の方法における前記ステップ（２）及び前記ステップ（４）のうちの少なくとも１つのステップを行うか、又は、請求項２の方法における前記ステップ（２）及び前記ステップ（４）のうちの少なくとも１つのステップを行うことを特徴とする相互認証方法。
【請求項８】
請求項１または２記載の方法において、前記端末装置は、ＩＣカードで用いられる耐タンパ性を有するＩＣチップを有し、該ＩＣチップは、請求項１の方法における前記ステップ（１）、前記ステップ（３）及び前記ステップ（５）のうちの少なくとも１つのステップを行うか、又は請求項２の方法における前記ステップ（１）、前記ステップ（３）及び前記ステップ（５）のうちの少なくとも１つのステップを行うことを特徴とする相互認証方法。
【請求項９】
利用者に配布する装置である携帯装置と、該携帯装置と通信を行う端末装置とを含むシステムにおいて、システム内の全ての携帯装置がそれぞれ異なる秘密鍵を保持し、且つ携帯装置が共通鍵Ｃｋを用いて暗号化した該秘密鍵Ｓｋの認証コードＭＡＣを保持しており、端末装置と共通鍵暗号方式で相互認証を行う携帯装置であって、
前記端末装置が予め生成された前記システムの共通鍵Ｃｋを保持している場合に、
（１）前記端末装置によって生成し、保持された乱数Ｒｌを前記端末装置から受信し、乱数Ｒ２を生成し、保持し、乱数ＲｌとＲ２を連接した情報を秘密鍵Ｓｋを用いて暗号化した情報Ｓｌを生成し、該情報Ｓｌと認証コードＭＡＣを前記端末装置に送信する手段と、
（２）前記端末装置によって、認証コードＭＡＣを共通鍵Ｃｋを用いて復号化し、秘密鍵Ｓｋを取り出し、取り出した秘密鍵Ｓｋを用いて情報Ｓｌを復号化し、乱数ＲｌとＲ２を取り出し、保持している乱数Ｒｌと取り出した乱数Ｒｌを比較し、一致した場合、取り出した秘密鍵Ｓｋを用いて乱数Ｒ２を暗号化して生成された情報Ｓ２を前記端末装置から受信し、秘密鍵Ｓｋを用いて情報Ｓ２を復号化し、乱数Ｒ２を取得し、保持している乱数Ｒ２と取り出した乱数Ｒ２を比較し、一致した場合、検証した情報としてこの認証状態を保持し、前記端末装置に比較結果認証完了を判断させるために、この比較結果を前記端末装置に送信する手段と、
を備えることを特徴とする携帯装置。
【請求項１０】
請求項９に記載の携帯装置において、前記携帯装置が複数の秘密鍵を保有する場合には、
（１）前記端末装置によって生成し、保持された乱数Ｒｌと鍵ＩＤを前記端末装置から受信し、乱数Ｒ２を生成し、保持し、鍵ＩＤから秘密鍵Ｓｋを特定し、乱数ＲｌとＲ２を連接した情報を特定した秘密鍵Ｓｋを用いて暗号化した情報Ｓｌを生成し、該情報Ｓｌと該秘密鍵Ｓｋの認証コードＭＡＣを前記端末装置に送信する手段と、
（２）前記端末装置によって、認証コードＭＡＣを共通鍵Ｃｋを用いて復号化し、秘密鍵Ｓｋと鍵ＩＤを取り出し、送信した鍵ＩＤと一致検証し、一致している場合において取り出した秘密鍵Ｓｋを用いて前記情報Ｓｌを復号化し、乱数ＲｌとＲ２を取り出し、保持している乱数Ｒｌと取り出した乱数Ｒｌを比較し、一致した場合、取り出した秘密鍵Ｓｋを用いて乱数Ｒ２を暗号化して生成された情報Ｓ２を前記端末装置から受信し、前記特定した秘密鍵Ｓｋを用いて情報Ｓ２を復号化し、乱数Ｒ２を取得し、保持している乱数Ｒ２と取り出した乱数Ｒ２を比較し、一致した場合、その鍵ＩＤに対応した認証状態を検証した情報として保持し、前記端末装置に比較結果認証完了を判断させるために、この比較結果を前記端末装置に送信する手段と、
を備えることを特徴とする携帯装置。
【請求項１１】
利用者に配布する装置である携帯装置と、該携帯装置と通信を行う端末装置とを含むシステムにおいて、システム内の全ての携帯装置がそれぞれ異なる秘密鍵を保持し、且つ携帯装置は、予め生成された自己の秘密鍵Ｓｋ、及び共通鍵Ｃｋを用いて暗号化した該秘密鍵Ｓｋの認証コードＭＡＣを保持しており、予め生成された前記システムの共通鍵Ｃｋを保持して、該携帯装置と共通鍵暗号方式で相互認証を行う端末装置であって、
（１）乱数Ｒｌを生成し、保持し、前記携帯装置に送信する手段と、
（２）前記携帯装置によって、乱数Ｒ２を生成し、保持し、前記乱数ＲｌとＲ２を連接した情報を秘密鍵Ｓｋを用いて暗号化して生成された情報Ｓｌと認証コードＭＡＣを前記携帯装置から受信し、認証コードＭＡＣを共通鍵Ｃｋを用いて復号化し、秘密鍵Ｓｋを取り出し、取り出した秘密鍵Ｓｋを用いて情報Ｓｌを復号化し、乱数ＲｌとＲ２を取り出し、保持している乱数Ｒｌと取り出した乱数Ｒｌを比較し、一致した場合、取り出した秘密鍵Ｓｋを用いて乱数Ｒ２を暗号化した情報Ｓ２を生成し、前記携帯装置に送信する手段と、
（３）前記携帯装置によって、前記秘密鍵Ｓｋを用いて情報Ｓ２を復号化し、乱数Ｒ２を取得し、保持している乱数Ｒ２と取り出した乱数Ｒ２を比較し、一致した場合、検証した情報としてこの認証状態を保持され、且つ生成された比較結果を、前記携帯装置から受信し、認証完了を判断する手段と、
を備えることを特徴とする端末装置。
【請求項１２】
請求項１１に記載の端末装置において、前記携帯装置が複数の秘密鍵を保有する場合には、
（１）乱数Ｒｌと鍵ＩＤを生成し、保持し、前記携帯装置に送信する手段と、
（２）前記携帯装置によって、乱数Ｒ２を生成し、保持し、鍵ＩＤから秘密鍵Ｓｋを特定し、前記乱数ＲｌとＲ２を連接した情報を特定した秘密鍵Ｓｋを用いて暗号化して生成した情報Ｓｌと該秘密鍵Ｓｋの認証コードＭＡＣを、前記携帯装置から受信し、認証コードＭＡＣを共通鍵Ｃｋを用いて復号化し、秘密鍵Ｓｋと鍵ＩＤを取り出し、送信した鍵ＩＤと一致検証し、一致している場合において取り出した秘密鍵Ｓｋを用いて前記情報Ｓｌを復号化し、乱数ＲｌとＲ２を取り出し、保持している乱数Ｒｌと取り出した乱数Ｒｌを比較し、一致した場合、取り出した秘密鍵Ｓｋを用いて乱数Ｒ２を暗号化した情報Ｓ２を生成し、前記携帯装置に送信する手段と、
（３）前記携帯装置によって、前記特定した秘密鍵Ｓｋを用いて情報Ｓ２を復号化し、乱数Ｒ２を取得し、保持している乱数Ｒ２と取り出した乱数Ｒ２を比較し、一致した場合、その鍵ＩＤに対応した認証状態を検証した情報として保持され、且つ生成された比較結果を、前記携帯装置から受信し、認証完了を判断する手段と、
を備えることを特徴とする端末装置。
【請求項１３】
利用者に配布する装置である携帯装置と、該携帯装置と通信を行う端末装置と、前記携帯装置及び前記端末装置と通信を行う認定装置とを含むシステムにおいて、システム内の全ての携帯装置がそれぞれ異なる秘密鍵を保持し、端末装置と携帯装置との間で共通鍵暗号方式で相互認証を行う際に、前記システムの共通鍵Ｃｋを生成して前記端末装置に提供するとともに、前記秘密鍵Ｓｋ及び前記認証コードＭＡＣを生成して前記携帯装置に提供する認定装置であって、
前記端末装置が請求項９に記載の端末装置からなり、且つ前記携帯装置は請求項１１に記載の携帯装置からなり、
（１）前記システムの共通鍵Ｃｋを生成する手段と、
（２）前記システム内の全ての携帯装置にとってそれぞれ異なる秘密鍵Ｓｋを生成する手段と、
（３）前記秘密鍵Ｓｋに対して、前記共通鍵Ｃｋで暗号化した該秘密鍵Ｓｋの署名情報である認証コードＭＡＣを生成する手段と、
（４）前記認証コードＭＡＣと前記秘密鍵Ｓｋを、認定する前記携帯装置に予め格納させるために送出する手段と、
（５）前記共通鍵Ｃｋを、認定する前記端末装置に予め格納させるために送出する手段とを有することを特徴とする認定装置。
【請求項１４】
利用者に配布する装置である携帯装置と、該携帯装置と通信を行う端末装置と、前記携帯装置及び前記端末装置と通信を行う認定装置とを含むシステムにおいて、システム内の全ての携帯装置がそれぞれ異なる秘密鍵を保持し、端末装置と携帯装置との間で共通鍵暗号方式で相互認証を行う際に、前記システムの共通鍵Ｃｋを生成して前記端末装置に提供するとともに、前記秘密鍵Ｓｋ及び前記認証コードＭＡＣを生成して前記携帯装置に提供する認定装置であって、
前記端末装置が請求項１０に記載の端末装置からなり、且つ前記携帯装置は請求項１２に記載の携帯装置からなり、
（１）前記システムの共通鍵Ｃｋを生成する手段と、
（２）前記システム内の全ての携帯装置にとってそれぞれ異なる秘密鍵Ｓｋを生成する手段と、
（３）前記秘密鍵Ｓｋを特定する情報である鍵ＩＤを生成する手段と、
（４）前記秘密鍵Ｓｋと前記鍵ＩＤを前記共通鍵Ｃｋで暗号化した該秘密鍵Ｓｋの署名情報である認証コードＭＡＣを生成する手段と、
（５）前記認証コードＭＡＣ、前記秘密鍵Ｓｋ及び前記鍵ＩＤとを、認定する前記携帯装置に予め格納させるために送出する手段と、
（６）前記共通鍵Ｃｋを、認定する前記端末装置に予め格納させるために送出する手段とを備えることを特徴とする認定装置。
【請求項１５】
請求項９記載の携帯装置として構成するコンピュータを、
（１）前記端末装置によって生成し、保持された乱数Ｒｌを前記端末装置から受信し、乱数Ｒ２を生成し、保持し、乱数ＲｌとＲ２を連接した情報を秘密鍵Ｓｋを用いて暗号化した情報Ｓｌを生成し、該情報Ｓｌと認証コードＭＡＣを前記端末装置に送信する手段、及び
（２）前記端末装置によって、認証コードＭＡＣを共通鍵Ｃｋを用いて復号化し、秘密鍵Ｓｋを取り出し、取り出した秘密鍵Ｓｋを用いて情報Ｓｌを復号化し、乱数ＲｌとＲ２を取り出し、保持している乱数Ｒｌと取り出した乱数Ｒｌを比較し、一致した場合、取り出した秘密鍵Ｓｋを用いて乱数Ｒ２を暗号化して生成された情報Ｓ２を前記端末装置から受信し、秘密鍵Ｓｋを用いて情報Ｓ２を復号化し、乱数Ｒ２を取得し、保持している乱数Ｒ２と取り出した乱数Ｒ２を比較し、一致した場合、検証した情報としてこの認証状態を保持し、前記端末装置に比較結果認証完了を判断させるために、この比較結果を前記端末装置に送信する手段、
として機能させるためのコンピュータプログラム。
【請求項１６】
請求項１０記載の携帯装置として構成するコンピュータを、
（１）前記端末装置によって生成し、保持された乱数Ｒｌと鍵ＩＤを前記端末装置から受信し、乱数Ｒ２を生成し、保持し、鍵ＩＤから秘密鍵Ｓｋを特定し、乱数ＲｌとＲ２を連接した情報を特定した秘密鍵Ｓｋを用いて暗号化した情報Ｓｌを生成し、該情報Ｓｌと該秘密鍵Ｓｋの認証コードＭＡＣを前記端末装置に送信する手段、及び
（２）前記端末装置によって、認証コードＭＡＣを共通鍵Ｃｋを用いて復号化し、秘密鍵Ｓｋと鍵ＩＤを取り出し、送信した鍵ＩＤと一致検証し、一致している場合において取り出した秘密鍵Ｓｋを用いて前記情報Ｓｌを復号化し、乱数ＲｌとＲ２を取り出し、保持している乱数Ｒｌと取り出した乱数Ｒｌを比較し、一致した場合、取り出した秘密鍵Ｓｋを用いて乱数Ｒ２を暗号化して生成された情報Ｓ２を前記端末装置から受信し、前記特定した秘密鍵Ｓｋを用いて情報Ｓ２を復号化し、乱数Ｒ２を取得し、保持している乱数Ｒ２と取り出した乱数Ｒ２を比較し、一致した場合、その鍵ＩＤに対応した認証状態を検証した情報として保持し、前記端末装置に比較結果認証完了を判断させるために、この比較結果を前記端末装置に送信する手段、
として機能させるためのコンピュータプログラム。
【請求項１７】
請求項１１記載の端末装置として構成するコンピュータを、
（１）乱数Ｒｌを生成し、保持し、前記携帯装置に送信する手段、
（２）前記携帯装置によって、乱数Ｒ２を生成し、保持し、前記乱数ＲｌとＲ２を連接した情報を秘密鍵Ｓｋを用いて暗号化して生成された情報Ｓｌと認証コードＭＡＣを前記携帯装置から受信し、認証コードＭＡＣを共通鍵Ｃｋを用いて復号化し、秘密鍵Ｓｋを取り出し、取り出した秘密鍵Ｓｋを用いて情報Ｓｌを復号化し、乱数ＲｌとＲ２を取り出し、保持している乱数Ｒｌと取り出した乱数Ｒｌを比較し、一致した場合、取り出した秘密鍵Ｓｋを用いて乱数Ｒ２を暗号化した情報Ｓ２を生成し、前記携帯装置に送信する手段、及び
（３）前記携帯装置によって、前記秘密鍵Ｓｋを用いて情報Ｓ２を復号化し、乱数Ｒ２を取得し、保持している乱数Ｒ２と取り出した乱数Ｒ２を比較し、一致した場合、検証した情報としてこの認証状態を保持され、且つ生成された比較結果を、前記携帯装置から受信し、認証完了を判断する手段、
として機能させるためのコンピュータプログラム。
【請求項１８】
請求項１２記載の端末装置として構成するコンピュータを、
（１）乱数Ｒｌと鍵ＩＤを生成し、保持し、前記携帯装置に送信する手段、
（２）前記携帯装置によって、乱数Ｒ２を生成し、保持し、鍵ＩＤから秘密鍵Ｓｋを特定し、前記乱数ＲｌとＲ２を連接した情報を特定した秘密鍵Ｓｋを用いて暗号化して生成した情報Ｓｌと該秘密鍵Ｓｋの認証コードＭＡＣを、前記携帯装置から受信し、認証コードＭＡＣを共通鍵Ｃｋを用いて復号化し、秘密鍵Ｓｋと鍵ＩＤを取り出し、送信した鍵ＩＤと一致検証し、一致している場合において取り出した秘密鍵Ｓｋを用いて前記情報Ｓｌを復号化し、乱数ＲｌとＲ２を取り出し、保持している乱数Ｒｌと取り出した乱数Ｒｌを比較し、一致した場合、取り出した秘密鍵Ｓｋを用いて乱数Ｒ２を暗号化した情報Ｓ２を生成し、前記携帯装置に送信する手段、及び
（３）前記携帯装置によって、前記特定した秘密鍵Ｓｋを用いて情報Ｓ２を復号化し、乱数Ｒ２を取得し、保持している乱数Ｒ２と取り出した乱数Ｒ２を比較し、一致した場合、その鍵ＩＤに対応した認証状態を検証した情報として保持され、且つ生成された比較結果を、前記携帯装置から受信し、認証完了を判断する手段、
として機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、共通鍵暗号方式を用いた認証方法に関する。
【０００２】
【従来技術】
利用者に配布するＩＣカードや携帯電話などの携帯装置と、該携帯装置と通信を行う端末装置とを含むシステムにおいては、携帯装置と端末装置との間で、互いの装置が安全に通信を行うことが可能かどうかを確認するために、認証処理を行うことが必要となる。ＩＣカードでは、例えば、以下の認証処理が知られている。
（１）外部認証…携帯装置が端末装置の安全性を検証する。
（２）内部認証…端末装置が携帯装置の安全性を検証する。
（３）相互認証…携帯装置が端末装置の安全性を検証し、端末装置が携帯装置の安全性を検証する。
【０００３】
認証処理は、ＲＳＡやＥＣＤＳＡなどの公開鍵暗号方式や、ＤＥＳ/Ｔ-ＤＥＳなどの共通鍵暗号方式が用いられる。現状の技術では公開鍵暗号方式に比べて共通鍵暗号方式の方が高速に処理を行うことが可能である。しかし、公開鍵暗号方式では、システムで用いられる携帯装置や端末の鍵（公開鍵）を個々に用意し、これを認証局のような信頼できる第三者の機関に登録し、該機関により発行された公開鍵証明書と組み合わせることで各装置を認証することが可能であるのに対し、共通鍵暗号方式では、携帯装置と端末の間で同一の鍵（秘密鍵）を共有しなければならない。
【０００４】
従って、共通鍵暗号方式は高速に認証を行うことが可能であるにも関わらず、以下の問題があった。
（Ａ）システム全ての携帯装置や端末で、同一の鍵を共有した場合万が一、携帯装置の鍵が破られた場合、システム全ての鍵を交換する必要がある(例えば，特許文献１参照)。
（Ｂ）携帯装置の鍵を全て、個別に保持させた場合端末装置に、システム内の携帯装置が保持する鍵のデータベースを保持する必要がある。（例えば、特許文献２及び３参照）
以上のように、ＩＣカードなどの携帯装置と端末装置との間の認証処理に共通鍵暗号方式を利用した場合、鍵の保守運用にコストがかかる欠点が存在する。
【０００５】
【特許文献１】
特開平１０−２０７８０号公報
【特許文献２】
特開平２０００−１３８６７４号公報
【特許文献３】
特開平２０００−１８２１０２号公報
【０００６】
【発明が解決しようとする課題】
本発明の目的は、利用者に配布する携帯装置全てに秘密鍵を個別に保持させ、かつ、これらの携帯装置と相互認証する端末装置に、携帯装置の秘密鍵のデータベースを保持させる必要がない共通鍵暗号方式を用いた認証方法を提供することにある。
【０００７】
【課題を解決するための手段】
請求項１の発明は、利用者に配布する装置である携帯装置と、該携帯装置と通信を行う端末装置（以下、端末とも称する）とを含むシステムにおいて、システム内の全ての携帯装置がそれぞれ異なる秘密鍵を保持し、端末装置と共通鍵暗号方式で相互認証を行う相互認証方法であって、
前記端末装置は、予め生成された前記システムの共通鍵Ｃｋを保持しており、
前記携帯装置は、予め生成された自己の秘密鍵Ｓｋ、及び共通鍵Ｃｋを用いて暗号化した該秘密鍵Ｓｋの認証コードＭＡＣを保持しており、
（１）前記端末装置が、乱数Ｒｌを生成し、保持し、前記携帯装置に送信する手順と、
（２）前記携帯装置が、乱数Ｒｌを受信し、乱数Ｒ２を生成し、保持し、乱数ＲｌとＲ２を連接した情報を秘密鍵Ｓｋを用いて暗号化した情報Ｓｌを生成し、該情報Ｓｌと認証コードＭＡＣを前記端末装置に送信する手順と、
（３）前記端末装置が、受信した認証コードＭＡＣを共通鍵Ｃｋを用いて復号化し、秘密鍵Ｓｋを取り出し、取り出した秘密鍵Ｓｋを用いて情報Ｓｌを復号化し、乱数ＲｌとＲ２を取り出し、保持している乱数Ｒｌと取り出した乱数Ｒｌを比較し、一致した場合、取り出した秘密鍵Ｓｋを用いて乱数Ｒ２を暗号化した情報Ｓ２を生成し、前記携帯装置に送信する手順と、
（４）前記携帯装置が、秘密鍵Ｓｋを用いて情報Ｓ２を復号化し、乱数Ｒ２を取得し、保持している乱数Ｒ２と取り出した乱数Ｒ２を比較し、一致した場合、検証した情報としてこの認証状態を保持し、比較結果を前記端末装置に送信する手順と、
（５）前記端末装置が、比較結果を受信し、認証完了を判断する手順と、
を備えたことを特徴とするものである。
この方法によれば、相互認証時に、携帯装置から該装置の秘密鍵Ｓｋの正当性を保証する認証コードＭＡＣを端末装置に送り、正当な端末装置は共通鍵Ｃｋを用いて認証コードＭＡＣから携帯装置の秘密鍵Ｓｋを取得することができるので、端末装置にシステム内の全ての携帯装置の秘密鍵を保持するが不要となる。
【０００８】
請求項２の発明は、請求項１記載の相互認証方法において、前記携帯装置が複数の秘密鍵を保有する場合には、
（１）前記端末装置が、乱数Ｒｌと鍵ＩＤを生成し、保持し、前記携帯装置に送信する手順と、
（２）前記携帯装置が、乱数Ｒｌと鍵ＩＤを受信し、乱数Ｒ２を生成し、保持し、鍵ＩＤから秘密鍵Ｓｋを特定し、乱数ＲｌとＲ２を連接した情報を特定した秘密鍵Ｓｋを用いて暗号化した情報Ｓｌを生成し、該情報Ｓｌと該秘密鍵Ｓｋの認証コードＭＡＣを前記端末装置に送信する手順と、
（３）前記端末装置が、受信した認証コードＭＡＣを共通鍵Ｃｋを用いて復号化し、秘密鍵Ｓｋと鍵ＩＤを取り出し、送信した鍵ＩＤと一致検証し、一致している場合において取り出した秘密鍵Ｓｋを用いて前記情報Ｓｌを復号化し、乱数ＲｌとＲ２を取り出し、保持している乱数Ｒｌと取り出した乱数Ｒｌを比較し、一致した場合、取り出した秘密鍵Ｓｋを用いて乱数Ｒ２を暗号化した情報Ｓ２を生成し、前記携帯装置に送信する手順と、
（４）前記携帯装置が、前記特定した秘密鍵Ｓｋを用いて情報Ｓ２を復号化し、乱数Ｒ２を取得し、保持している乱数Ｒ２と取り出した乱数Ｒ２を比較し、一致した場合、その鍵ＩＤに対応した認証状態を検証した情報として保持し、比較結果を前記端末装置に送信する手順と、
（５）前記端末装置が、比較した結果を受信し、認証完了を判断する手順とを備え、
前記端末装置から与えられる前記携帯装置の秘密鍵を特定する鍵ＩＤを用いて前記携帯装置の秘密鍵を特定し、その鍵を用いて認証が成功した場合に，該当する認証状態を保持することを特徴とするものである。
この方法によれば、携帯装置が複数の秘密鍵を保有する場合でも、それぞれの鍵に対応した相互認証を達成することができる。
【０００９】
本発明の相互認証方法では、請求項３に記載されているように、前記システムは、認定装置を含み、該認定装置は、前記システムの共通鍵Ｃｋを生成して前記端末装置に提供するとともに、前記秘密鍵Ｓｋ及び前記認証コードＭＡＣを生成して前記携帯装置に提供することを特徴とする。第三者の認定機関の認定装置で実行し、システムの共通鍵Ｃｋを生成し端末装置に配布設定するとともに、携帯装置の秘密鍵Ｓｋと共通鍵Ｃｋを用いて暗号化した該秘密鍵の認証コードＭＡＣを生成し、配布する携帯装置に予め設定することができるので、信頼できる第三者の認定機関の認定装置により発行された鍵とその認証コードを用いて相互認証を行うことができる。
【００１０】
また、本発明の相互認証方法では、請求項４に記載されているように、前記携帯装置が、秘密鍵Ｓｋ及び認証コードＭＡＣを生成することを特徴とする。携帯装置の秘密鍵は携帯装置内部で生成することもでき、携帯装置の秘密鍵を装置の初期化も含めて外部に一切漏らすことなく、相互認証を行うことができる。この場合には、該秘密鍵を共通鍵で暗号化した認証コードＭＡＣは相互認証を行う端末装置もしくは認定機関の認定装置により生成することができる。
【００１１】
また、本発明の相互認証方法では、請求項５に記載されているように、前記端末装置が、秘密鍵Ｓｋを生成し、前記携帯装置が、認証コードＭＡＣを生成することを特徴とする。携帯装置の秘密鍵は端末装置内部で生成することもでき、携帯装置の秘密鍵を装置の初期化も含めて外部に一切漏らすことなく、相互認証を行うことができる。この場合には、該秘密鍵を共通鍵で暗号化した認証コードＭＡＣも端末装置により生成し、秘密鍵とともに携帯装置に配布設定することができる。
また、本発明の相互認証方法では、請求項６に記載されているように、前記認定装置は、前記端末装置と組み合わせた認定装置付き端末装置として構成されていることを特徴とする。つまり、認定機関の認定装置と端末装置を同一の装置にすることもできる。
【００１２】
本発明の相互認証方法は、請求項７及び８に記載されているように、請求項１及び２の発明のそれぞれについて、前記携帯装置は、ＩＣカードで用いられる耐タンパ性を有するＩＣチップを有し、該ＩＣチップは、前記ステップ（２）及び前記ステップ（４）のうちの少なくとも１つのステップを行い、前記端末装置は、ＩＣカードで用いられる耐タンパ性を有するＩＣチップを有し、該ＩＣチップは、前記ステップ（１）、前記ステップ（３）及び前記ステップ（５）のうちの少なくとも１つのステップを行うことを特徴とする。ＩＣカード等で用いられる耐タンパ性を有するＩＣチップを内蔵する携帯装置及び端末装置を用いて行うことができる。
【００１３】
請求項９の発明は、利用者に配布する装置である携帯装置と、該携帯装置と通信を行う端末装置とを含むシステムにおいて、システム内の全ての携帯装置がそれぞれ異なる秘密鍵を保持し、且つ携帯装置が共通鍵Ｃｋを用いて暗号化した該秘密鍵Ｓｋの認証コードＭＡＣを保持しており、端末装置と共通鍵暗号方式で相互認証を行う携帯装置であって、
前記端末装置が予め生成された前記システムの共通鍵Ｃｋを保持している場合に、
（１）前記端末装置によって生成し、保持された乱数Ｒｌを前記端末装置から受信し、乱数Ｒ２を生成し、保持し、乱数ＲｌとＲ２を連接した情報を秘密鍵Ｓｋを用いて暗号化した情報Ｓｌを生成し、該情報Ｓｌと認証コードＭＡＣを前記端末装置に送信する手段と、
（２）前記端末装置によって、認証コードＭＡＣを共通鍵Ｃｋを用いて復号化し、秘密鍵Ｓｋを取り出し、取り出した秘密鍵Ｓｋを用いて情報Ｓｌを復号化し、乱数ＲｌとＲ２を取り出し、保持している乱数Ｒｌと取り出した乱数Ｒｌを比較し、一致した場合、取り出した秘密鍵Ｓｋを用いて乱数Ｒ２を暗号化して生成された情報Ｓ２を前記端末装置から受信し、秘密鍵Ｓｋを用いて情報Ｓ２を復号化し、乱数Ｒ２を取得し、保持している乱数Ｒ２と取り出した乱数Ｒ２を比較し、一致した場合、検証した情報としてこの認証状態を保持し、前記端末装置に比較結果認証完了を判断させるために、この比較結果を前記端末装置に送信する手段と、
を備えることを特徴とするものである。
【００１４】
請求項１０の発明は、請求項９に記載の携帯装置において、前記携帯装置が複数の秘密鍵を保有する場合には、
（１）前記端末装置によって生成し、保持された乱数Ｒｌと鍵ＩＤを前記端末装置から受信し、乱数Ｒ２を生成し、保持し、鍵ＩＤから秘密鍵Ｓｋを特定し、乱数ＲｌとＲ２を連接した情報を特定した秘密鍵Ｓｋを用いて暗号化した情報Ｓｌを生成し、該情報Ｓｌと該秘密鍵Ｓｋの認証コードＭＡＣを前記端末装置に送信する手段と、
（２）前記端末装置によって、認証コードＭＡＣを共通鍵Ｃｋを用いて復号化し、秘密鍵Ｓｋと鍵ＩＤを取り出し、送信した鍵ＩＤと一致検証し、一致している場合において取り出した秘密鍵Ｓｋを用いて前記情報Ｓｌを復号化し、乱数ＲｌとＲ２を取り出し、保持している乱数Ｒｌと取り出した乱数Ｒｌを比較し、一致した場合、取り出した秘密鍵Ｓｋを用いて乱数Ｒ２を暗号化して生成された情報Ｓ２を前記端末装置から受信し、前記特定した秘密鍵Ｓｋを用いて情報Ｓ２を復号化し、乱数Ｒ２を取得し、保持している乱数Ｒ２と取り出した乱数Ｒ２を比較し、一致した場合、その鍵ＩＤに対応した認証状態を検証した情報として保持し、前記端末装置に比較結果認証完了を判断させるために、この比較結果を前記端末装置に送信する手段と、
を備えることを特徴とするものである。
【００１５】
請求項１１の発明は、利用者に配布する装置である携帯装置と、該携帯装置と通信を行う端末装置とを含むシステムにおいて、システム内の全ての携帯装置がそれぞれ異なる秘密鍵を保持し、且つ携帯装置は、予め生成された自己の秘密鍵Ｓｋ、及び共通鍵Ｃｋを用いて暗号化した該秘密鍵Ｓｋの認証コードＭＡＣを保持しており、予め生成された前記システムの共通鍵Ｃｋを保持して、該携帯装置と共通鍵暗号方式で相互認証を行う端末装置であって、
（１）乱数Ｒｌを生成し、保持し、前記携帯装置に送信する手段と、
（２）前記携帯装置によって、乱数Ｒ２を生成し、保持し、前記乱数ＲｌとＲ２を連接した情報を秘密鍵Ｓｋを用いて暗号化して生成された情報Ｓｌと認証コードＭＡＣを前記携帯装置から受信し、認証コードＭＡＣを共通鍵Ｃｋを用いて復号化し、秘密鍵Ｓｋを取り出し、取り出した秘密鍵Ｓｋを用いて情報Ｓｌを復号化し、乱数ＲｌとＲ２を取り出し、保持している乱数Ｒｌと取り出した乱数Ｒｌを比較し、一致した場合、取り出した秘密鍵Ｓｋを用いて乱数Ｒ２を暗号化した情報Ｓ２を生成し、前記携帯装置に送信する手段と、
（３）前記携帯装置によって、前記秘密鍵Ｓｋを用いて情報Ｓ２を復号化し、乱数Ｒ２を取得し、保持している乱数Ｒ２と取り出した乱数Ｒ２を比較し、一致した場合、検証した情報としてこの認証状態を保持され、且つ生成された比較結果を、前記携帯装置から受信し、認証完了を判断する手段と、
を備えることを特徴とするものである。
【００１６】
請求項１２の発明は、請求項１１に記載の端末装置において、前記携帯装置が複数の秘密鍵を保有する場合には、
（１）乱数Ｒｌと鍵ＩＤを生成し、保持し、前記携帯装置に送信する手段と、
（２）前記携帯装置によって、乱数Ｒ２を生成し、保持し、鍵ＩＤから秘密鍵Ｓｋを特定し、前記乱数ＲｌとＲ２を連接した情報を特定した秘密鍵Ｓｋを用いて暗号化して生成した情報Ｓｌと該秘密鍵Ｓｋの認証コードＭＡＣを、前記携帯装置から受信し、認証コードＭＡＣを共通鍵Ｃｋを用いて復号化し、秘密鍵Ｓｋと鍵ＩＤを取り出し、送信した鍵ＩＤと一致検証し、一致している場合において取り出した秘密鍵Ｓｋを用いて前記情報Ｓｌを復号化し、乱数ＲｌとＲ２を取り出し、保持している乱数Ｒｌと取り出した乱数Ｒｌを比較し、一致した場合、取り出した秘密鍵Ｓｋを用いて乱数Ｒ２を暗号化した情報Ｓ２を生成し、前記携帯装置に送信する手段と、
（３）前記携帯装置によって、前記特定した秘密鍵Ｓｋを用いて情報Ｓ２を復号化し、乱数Ｒ２を取得し、保持している乱数Ｒ２と取り出した乱数Ｒ２を比較し、一致した場合、その鍵ＩＤに対応した認証状態を検証した情報として保持され、且つ生成された比較結果を、前記携帯装置から受信し、認証完了を判断する手段と、
を備えることを特徴とするものである。
【００１７】
請求項１３の発明は、利用者に配布する装置である携帯装置と、該携帯装置と通信を行う端末装置と、前記携帯装置及び前記端末装置と通信を行う認定装置とを含むシステムにおいて、システム内の全ての携帯装置がそれぞれ異なる秘密鍵を保持し、端末装置と携帯装置との間で共通鍵暗号方式で相互認証を行う際に、前記システムの共通鍵Ｃｋを生成して前記端末装置に提供するとともに、前記秘密鍵Ｓｋ及び前記認証コードＭＡＣを生成して前記携帯装置に提供する認定装置であって、
前記端末装置が請求項９に記載の端末装置からなり、且つ前記携帯装置は請求項１１に記載の携帯装置からなり、
（１）前記システムの共通鍵Ｃｋを生成する手段と、
（２）前記システム内の全ての携帯装置にとってそれぞれ異なる秘密鍵Ｓｋを生成する手段と、
（３）前記秘密鍵Ｓｋに対して、前記共通鍵Ｃｋで暗号化した該秘密鍵Ｓｋの署名情報である認証コードＭＡＣを生成する手段と、
（４）前記認証コードＭＡＣと前記秘密鍵Ｓｋを、認定する前記携帯装置に予め格納させるために送出する手段と、
（５）前記共通鍵Ｃｋを、認定する前記端末装置に予め格納させるために送出する手段とを有することを特徴とするものである。
【００１８】
請求項１４の発明は、利用者に配布する装置である携帯装置と、該携帯装置と通信を行う端末装置と、前記携帯装置及び前記端末装置と通信を行う認定装置とを含むシステムにおいて、システム内の全ての携帯装置がそれぞれ異なる秘密鍵を保持し、端末装置と携帯装置との間で共通鍵暗号方式で相互認証を行う際に、前記システムの共通鍵Ｃｋを生成して前記端末装置に提供するとともに、前記秘密鍵Ｓｋ及び前記認証コードＭＡＣを生成して前記携帯装置に提供する認定装置であって、
前記端末装置が請求項１０に記載の端末装置からなり、且つ前記携帯装置は請求項１２に記載の携帯装置からなり、
（１）前記システムの共通鍵Ｃｋを生成する手段と、
（２）前記システム内の全ての携帯装置にとってそれぞれ異なる秘密鍵Ｓｋを生成する手段と、
（３）前記秘密鍵Ｓｋを特定する情報である鍵ＩＤを生成する手段と、
（４）前記秘密鍵Ｓｋと前記鍵ＩＤを前記共通鍵Ｃｋで暗号化した該秘密鍵Ｓｋの署名情報である認証コードＭＡＣを生成する手段と、
（５）前記認証コードＭＡＣ、前記秘密鍵Ｓｋ及び前記鍵ＩＤとを、認定する前記携帯装置に予め格納させるために送出する手段と、
（６）前記共通鍵Ｃｋを、認定する前記端末装置に予め格納させるために送出する手段とを備えることを特徴とするものである。
【００１９】
これらの携帯装置、端末装置及び認定装置は請求項１５〜２０に記載したコンピュータプログラムをそれぞれのコンピュータで実行させることによって実現することができる。
【００２０】
【発明の実施形態】
次に、本発明の実施の形態について図面を参照して詳細に説明する。
図１は、本発明の相互認証方法を実行するシステムの原理構成と処理シーケンスを示す図である。本発明の相互認証方法を実行するシステムは、ＩＣカードや携帯電話などの携帯装置２と、該携帯装置２と通信を行う端末装置３とから構成されている。
本発明の方法では、システムで用いる共通鍵Ｃｋを予め生成し、端末３に配布、設定しておく。端末３で保持される共通鍵Ｃｋは、物理的に、または運用でＣｋの外部参照が困難である環境下に保持されることが望ましい。
携帯装置２には、個別の秘密鍵Ｓｋを予め設定する。また、共通鍵Ｃｋで暗号化(署名)した秘密鍵Ｓｋの正当性を保証する保証コードＭＡＣも設定する。ここで、ＭＡＣは、以下の値となる。
ＭＡＣ＝Ｅｎｃ_Ｃｋ（Ｓｋ）
【００２１】
図２は、端末装置３にシステムの共通鍵Ｃｋを予め設定し、携帯装置に該携帯装置の秘密鍵Ｓｋと該秘密鍵の正当性を保証する認証コードＭＡＣを予め設定するシステムの一例を示す。本例では、信頼できる第三者機関の認定装置１を用い、システムで用いる共通鍵Ｃｋを生成し、認定する端末装置３に設定する。また、携帯装置２で個々に生成された秘密鍵Ｓｋに対して、共通鍵Ｃｋを用いて暗号化した該秘密鍵Ｓｋの認証コードＭＡＣを生成し、携帯装置２に設定する。
【００２２】
次に、本発明の相互認証方法の処理手順について説明する。
最初に、本発明の相互認証方法で用いる共通鍵暗号の暗号関数と復号関数を説明する。暗号関数Ｙ＝Ｅｎｃ_Ｋｅｙ(Ｘ)は、鍵Ｋｅｙを用いて平文Ｘを暗号化し、暗号化された文Ｙを出力する関数である。復号関数Ｘ＝Ｄｅｃ_Ｋｅｙ(Ｙ)は、暗号文Ｙを鍵Ｋｅｙを用いて復号し、元の平文Ｘを出力する関数である。ここで、共通鍵暗号方式であるため、暗号化と復号化で用いる鍵Ｋｅｙは同一の鍵とする。
【００２３】
図３は、図１に示すシステムにおける相互認証の処理手順を示す。以下の手順の説明中、括弧内の番号は図１内の処理シーケンスの番号を示す。
Ｓ３０１：端末３は、乱数Ｒｌを生成し(1)、携帯装置２に送信する(2)。また、乱数Ｒｌを保持する。
Ｓ３０２：携帯装置２は、乱数Ｒｌを受信し(3)、乱数Ｒ２を生成し(4)、乱数Ｒ１とＲ２を連接した情報｛Ｒ１|Ｒ２｝を形成する。また、Ｒ２を保持する。
Ｓ３０３：携帯装置２は、保持する携帯装置鍵Ｓｋを用いて｛Ｒｌ｜Ｒ２｝を暗を連接した情報｛Ｓｌ｜ＭＡＣ｝を端末３に送信する(6)。
Ｓ３０４：端末３は、情報｛Ｓｌ｜ＭＡＣ｝を受信し(7)、Ｄｅｃ_Ｃｋ（ＭＡＣ）を計算し、Ｓｋを取得する(8)。
Ｓ３０５：端末３は、Ｄｅｃ_Ｓｋ（Ｓｌ）を計算し、｛Ｒｌ｜Ｒ２｝を取得する(9)。
Ｓ３０６：端末３は、手順Ｓ３０１で保持したＲｌと、手順Ｓ３０５で取得したＲｌを比較する(10)。一致しない場合、エラー終了する。
Ｓ３０７：端末３は、Ｓ２＝Ｅｎｃ_Ｓｋ（Ｒ２）を計算し(11)、携帯装置２に送信する(12)。
Ｓ３０８：携帯装置２は、Ｓ２を受信し(12)、Ｄｅｃ_Ｓｋ（Ｓ２）を計算し、Ｒ２を取得する(13)。
Ｓ３０９：携帯装置２は、手順Ｓ３０２で保持したＲ２と、手順Ｓ３０８で取得したＲ２を比較する(14)。一致しない場合‘ＮＧ，を送信し、一致した場合、‘ＯＫ，を送信する(15)。
Ｓ３１０：端末３は、結果を受信し(16)、‘ＯＫ’を受信した場合、正常終了する(17)。‘ＮＧ’を受信した場合、異常終了する。
【００２４】
従って、本発明の相互認証方法に使用する携帯装置は、図示してないが、共通鍵暗号方式における秘密鍵Ｓｋと、秘密鍵Ｓｋの認証コードＭＡＣを保持する手段と、暗号化・復号化手段と、乱数生成手段と、比較手段とを備え、乱数Ｒｌを受信し、乱数生成手段で乱数Ｒ２を生成し、乱数Ｒ２を保持し、ＲｌとＲ２を連接した情報を暗号化・復号化手段で保持する秘密鍵Ｓｋを用いて暗号化した情報Ｓ１を生成し、該情報ＳｌとＭＡＣを連接した情報を送信する手段と、乱数Ｒ２が暗号化された情報Ｓ２を受信し、暗号化・復号化手段で保持する秘密鍵Ｓｋで復号し、保持しているＲ２と前記比較手段で一致検証し、検証結果の情報である認証状態を保持し、検証結果を送信する手段とを備え、端末装置は、図示してないが、システムの共通鍵Ｃｋを保持する手段と、暗号化・復号化手段と、乱数生成手段と、比較手段と、乱数生成手段で乱数Ｒｌを生成し、送信する手段と、前記情報ＳｌとＭＡＣを連接した情報を受信し、暗号化・復号化手段によりＭＡＣを共通鍵Ｃｋを用いて復号化し、秘密鍵Ｓｋを取り出し、取り出した秘密鍵Ｓｋを用いて情報Ｓｌを復号化し、乱数ＲｌとＲ２を取り出し、保持しているＲｌと取り出したＲｌを比較手段で比較し、一致した場合、取り出した秘密鍵Ｓｋを用いて乱数Ｒ２を暗号化した情報Ｓ２を生成し、携帯装置に送信する手段とを備える。
【００２５】
【実施例】
図４に、本発明の具体的な実施例を示す。本実施例では、携帯装置がＩＣカード４２であり、認定機関の認定装置がカード発行機関の認定装置４１である。
本例では、カード発行機関の認定装置４１は、システム全体で用いる共通鍵Ｃｋを生成する。また、ＩＣカード４２を発行する。カード発行機関の認定装置４１は、カード毎に異なる秘密鍵Ｓｋを生成する。この際、Ｓｋに対する認証コードＭＡＣ＝Ｅｎｃ_Ｃｋ（Ｓｋ）を生成し、ＳｋとＭＡＣをＩＣカード４２に格納し、カード利用者に配布する。
【００２６】
一方、カード発行機関の認定装置４１は、発行したＩＣカード４２を受理する端末装置４３に、生成したＣｋを配布、格納する。端末装置４３は、ＩＣカード４２と通信を行うために必要となるＩＣカードリーダライタなどを用いて、ＩＣカード４２と通信路４４を形成することが可能である。
【００２７】
図５は、図４に示す実施例における相互認証の処理手順を示す。
Ｓ５０１：端末４３は、乱数Ｒｌを生成し、ＩＣカード４２に送信する。また、端末４３は、乱数Ｒｌを保持する。
Ｓ５０２：ＩＣカード４２は、乱数Ｒｌを受信し、乱数Ｒ２を生成し、乱数Ｒ１とＲ２を連接した情報｛Ｒｌ｜Ｒ２｝を形成する。Ｒ２を保持する。
Ｓ５０３：ＩＣカード４２は、保持する秘密鍵Ｓｋを用いて｛Ｒｌ｜Ｒ２｝を暗号化し、Ｓｌ＝Ｅｎｃ_Ｓｋ｛Ｒｌ｜Ｒ２｝を生成し、ＳｌとＭＡＣを連接した情報｛Ｓｌ｜ＭＡＣ｝を端末４３に送信する。
Ｓ５０４：端末４３は、Ｄｅｃ_Ｃｋ（ＭＡＣ）を計算し、Ｓｋを取得する。
Ｓ５０５：端末４３は、Ｄｅｃ_Ｓｋ（Ｓｌ）を計算し、｛Ｒｌ｜Ｒ２｝を取得する。
Ｓ５０６：端末４３は、手順Ｓ５０１で保持したＲｌと、手順Ｓ５０５で取得したＲｌを比較する。一致しない場合、エラー終了する。
Ｓ５０７：端末４３は、Ｓ２＝Ｅｎｃ_Ｓｋ（Ｒ２）を計算し、ＩＣカード４２に送信する。
Ｓ５０８：ＩＣカード４２は、Ｓ２を受信し、Ｄｅｃ-Ｓｋ（Ｓ２）を計算し、Ｒ２を取得する。
Ｓ５０９：ＩＣカード４２は、手順Ｓ５０２で保持したＲ２と、手順Ｓ５０８で取得したＲ２を比較する。一致しない場合‘ＮＧ，を送信する。一致した場合、‘ＯＫ，を送信する。
Ｓ５１０：端末４３は、‘ＯＫ’を受信した場合、正常終了する。‘ＮＧ’を受信した場合、異常終了する。
【００２８】
図６は、本実施例におけるＭＡＣの生成手順を示す。
Ｓ６０１：カード発行機関の認定装置４１は、携帯装置の秘密鍵Ｓｋを生成する。
Ｓ６０２：カード発行機関の認定装置４１は、Ｅｎｃ_Ｃｋ（Ｓｋ）を計算し、ＭＡＣを取得し、｛Ｓｋ｜ＭＡＣ｝をＩＣカード４２に送信する。
Ｓ６０３：ＩＣカード４２は、｛Ｓｋ｜ＭＡＣ｝を保存し、処理結果を返信する。
Ｓ６０４：カード発行機関の認定装置４１は、処理結果を検証する。
【００２９】
次に、携帯装置が複数の秘密鍵を有する場合における相互認証方法の処理手順を説明する。この場合には、各秘密鍵Ｓｋと、該秘密鍵Ｓｋを特定する鍵ＩＤと、共通鍵Ｃｋを用いて暗号化した該秘密鍵と鍵ＩＤの認証コードＭＡＣ＝Ｅｎｃ_Ｃｋ｛Ｓｋ｜ＩＤ｝を予め生成し携帯装置に格納しておく。携帯装置は端末装置から乱数Ｒｌとともに使用する携帯装置秘密鍵の鍵ＩＤを受信し、鍵ＩＤから秘密鍵Ｓｋを特定し、乱数ＲｌとＲ２を連接した情報を特定した秘密鍵Ｓｋを用いて暗号化した情報Ｓｌと該Ｓｋに対応する認証コードＭＡＣを端末に送信する。端末装置は、受信した認証コードＭＡＣを共通鍵Ｃｋを用いて復号化し、秘密鍵Ｓｋと鍵ＩＤを取り出し、送信した鍵ＩＤと一致検証し、一致している場合に取り出した秘密鍵Ｓｋを用いてＳｌを復号化し、乱数ＲｌとＲ２を取り出し、保持している乱数Ｒｌと取り出した乱数Ｒｌを比較し、一致した場合、取り出した秘密鍵Ｓｋを用いてＲ２を暗号化した情報Ｓ２を携帯装置に送信する。携帯装置は、前記の特定した秘密鍵Ｓｋを用いて情報Ｓ２を復号化し、乱数Ｒ２を取得し、保持している乱数Ｒ２と取り出した乱数Ｒ２を比較し、一致した場合、その鍵ＩＤに対応した認証状態を保持し、比較結果を端末に送信することにより、携帯装置が複数の秘密鍵を保有する場合でも、それぞれの鍵に対応した相互認証を達成することができる。
図７はこの方法の処理手順を示す。
【００３０】
この方法に使用する携帯装置は、共通鍵暗号方式における秘密鍵Ｓｋ、Ｓｋを特定する情報である携帯装置鍵ＩＤ、Ｓｋの正当性を保証する情報であるＭＡＣを保持する手段と、暗号化・復号化手段と、乱数生成手段と、比較手段と、乱数Ｒｌと鍵ＩＤを受信し、前記乱数生成手段で乱数Ｒ２を生成し、Ｒ２を保持し、鍵ＩＤから秘密鍵Ｓｋを特定し、ＲｌとＲ２を連接した情報を特定した秘密鍵Ｓｋを用いて暗号化した情報Ｓ１を前記暗号化・復号化手段で生成し、該情報ＳｌとＭＡＣを連接した情報を送信する手段と、乱数Ｒ２が暗号化された情報Ｓ２を受信し、前記暗号化・復号化手段で特定した秘密鍵Ｓｋで復号し、保持しているＲ２と一致検証し、検証結果の情報である認証状態を保持し、検証結果を送信する手段とを備え、端末装置は、システムの共通鍵Ｃｋを保持する手段と、暗号化・復号化手段と、乱数生成手段と、比較手段と、乱数Ｒｌを生成し、認証に使用する秘密鍵Ｓｋを特定する鍵ＩＤと合わせて送信する手段と、前記情報ＳｌとＭＡＣを連接した情報を受信し、前記暗号化・復号化手段によりＭＡＣを共通鍵Ｃｋを用いて復号化し、秘密鍵Ｓｋと鍵ＩＤを取り出し、送信した鍵ＩＤと一致検証し、一致している場合において取り出した秘密鍵Ｓｋを用いてＳｌを復号化し、乱数ＲｌとＲ２を取り出し、保持している乱数Ｒｌと取り出した乱数Ｒｌを前記比較手段で比較し、一致した場合、取り出した秘密鍵Ｓｋを用いてＲ２を暗号化した情報Ｓ２を生成し、携帯装置に送信する手段を備える。
【００３１】
上述した図１−３の方法では、携帯装置の秘密鍵Ｓｋを携帯装置内部で生成し、該秘密鍵の認証コードＭＡＣを認定機関の認定装置で生成して携帯装置に設定し、図４-６の方法では携帯装置の秘密鍵Ｓｋと該秘密鍵の認証コードＭＡＣを認定機関の認定装置で生成して携帯装置に設定しているが、携帯装置の秘密鍵Ｓｋと該秘密鍵の認証コードＭＡＣを端末装置内部で生成し、携帯装置に設定することもできる。この場合、端末装置を認定機関の認定装置と組み合わせて、認定装置付き端末装置とすることができる。
【００３２】
以上、本発明の相互認証法の処理手順及び手段について説明したが、これらの処理手順及び手段は、ＩＣカードや携帯電話などの携帯装置が内蔵する耐タンパ性のＩＣチップ内のＣＰＵで実行または実現することができ、本発明はこれらの処理手順及び手段を実行または実現するためのコンピュータプログラム及び該プログラムを記録した記録媒体も本発明の範囲に含むものである。
【００３３】
【発明の効果】
本発明によって、ＩＣカードなどの携帯装置に個別に鍵を設定することが可能である。
この結果、万が一、携帯装置の鍵がばれたとしても、影響をうける携帯装置は、鍵を破られた１つの携帯装置だけである。一方で、本発明によって、端末においても、鍵の認証を行い、鍵の正当性を端末が検証することによって、ＩＣカードの全ての鍵を保持する必要がないため、端末でのＩＣカード鍵の運用が不要であり、ＩＣカードの追加発行などにも柔軟に対応することが可能である。
【図面の簡単な説明】
【図１】  本発明の相互認証方法を実施するシステムの構成と処理シーケンスを示す図である。
【図２】  端末装置にシステムの共通鍵Ｃｋを予め設定し、携帯装置に該携帯装置の秘密鍵Ｓｋと該秘密鍵の正当性を保証する認証コードＭＡＣを予め設定するシステムの一例を示す図である。
【図３】  本発明の相互認証方法の処理手順を示す図である。
【図４】  本発明の相互認証方法の一実施例のシステム構成を示す図である。
【図５】  図４の実施例における相互認証方法の処理手順を示す図である。
【図６】  図４の実施例における携帯装置秘密鍵Ｓｋ及び該秘密鍵の認証コードＭＡＣを生成、配布手順を示す図である。
【図７】  携帯装置が複数の秘密鍵を有する場合における相互認証方法の処理手順を示す図である。
【符号の説明】
１  認定装置
２  携帯装置
３  端末装置
４１  カード発行機関の認定装置
４２  ＩＣカード
４３  端末装置
Ｃｋ  システムの共通鍵
Ｓｋ  携帯装置秘密鍵
ＭＡＣ  Ｓｋの正当性を保証する認証コード
【図１】
0004198509.tif 000002
【図２】
0004198509.tif 000003
【図３】
0004198509.tif 000004
【図４】
0004198509.tif 000005
【図５】
0004198509.tif 000006
【図６】
0004198509.tif 000007
【図７】
0004198509.tif 000008