(57)【要約】      （修正有）【課題】認証および安全なデータ転送のためのセッション鍵の生成。【解決手段】第１の通信パートナー（Ｐ；Ｔ）および第２の通信パートナー（Ｔ；Ｐ）に知られたセッション鍵ｋ０を、前記第１の通信パートナー（Ｐ；Ｔ）のために、第１の通信パートナーおよび第２の通信パートナーによって決定され得る秘密情報ｋＩＶから生成するための装置２０であって、乱数（ｒＰ；ｒＴ）を得るための手段２２と、前記乱数（ｒＰ；ｒＴ）の少なくとも１つの部分と前記秘密情報ｋＩＶの一部との連結を用いて、前記セッション鍵ｋ０を計算するための手段２４と、前記セッション鍵ｋ０を前記第２の通信パートナーとの通信のために用いるための手段２８とを含む。【選択図】図２Ａ
2014017841.tif 000002
【特許請求の範囲】
【請求項１】
第１の通信パートナー（Ｐ；Ｔ）および第２の通信パートナー（Ｔ；Ｐ）に知られたセッション鍵（ｋ０）を、前記第１の通信パートナー（Ｐ；Ｔ）のために、前記第１の通信パートナーおよび第２の通信パートナーによって決定され得る秘密情報（ｋＩＶ）から、生成するための装置（２０）であって、
乱数（ｒＰ；ｒＴ）を得るための手段（２２）と、
前記乱数（ｒＰ；ｒＴ）の少なくとも１つの部分と前記秘密情報（ｋＩＶ）の一部との連結を用いて、前記セッション鍵（ｋ０）を計算するための手段（２４）と、
前記セッション鍵（ｋ０）を、前記第２の通信パートナーとの通信のために用いるための手段（２８）とを含み、
前記セッション鍵（ｋ０）を計算するための前記手段（２４）は、前記乱数（ｒＰ；ｒＴ）の少なくとも１つの部分と前記秘密情報（ｋＩＶ）の一部との非線形連結（ＮＬＭ）を用いて、前記セッション鍵（ｋ０）を計算するように構成されている、装置。
【請求項２】
前記乱数（ｒＰ；ｒＴ）を得るための前記手段（２２）は、前記乱数の少なくとも第１の部分を、ランダムまたは擬似ランダムに決定するように構成されている、請求項１に記載の装置。
【請求項３】
前記乱数を得るための前記手段（２２）は、前記乱数（ｒＰ；ｒＴ）の第２の部分を、前記第２の通信パートナーから得るように構成されている、請求項２に記載の装置。
【請求項４】
前記セッション鍵（ｋ０）を計算するための前記手段（２４）は、前記乱数の少なくとも１つの部分（ｒＰ）によってロードされた非線形フィードバックシフトレジスタによって、前記非線形連結（ＮＬＭ）を実装するように構成されており、
前記非線形フィードバックシフトレジスタは、前記秘密情報（ｋＩＶ）の一部の個々のビットを、前記シフトレジスタの各レジスタセルに連続的に連結させるものである、請求項１に記載の装置。
【請求項５】
前記セッション鍵（ｋ０）を計算するための前記手段（２４）は、前記秘密情報（ｋＩＶ）の一部によってロードされた非線形フィードバックシフトレジスタによって、前記非線形連結（ＮＬＭ）を実装するように構成されており、
前記非線形フィードバックシフトレジスタは、連結させる前記乱数の少なくとも１つの部分（ｒＰ）の個々のビットを、前記シフトレジスタの各レジスタセルに連続的に連結させるものである、請求項１に記載の装置。
【請求項６】
前記セッション鍵（ｋ０）を計算するための前記手段（２４）は、前記再現不可能な多項式（ｆ（Ｘ））によって規定された線形フィードバックシフトレジスタによって、前記非線形連結（ＮＬＭ）を実装するように構成されており、
前記線形フィードバックシフトレジスタは、再現不可能な多項式（ｆ（Ｘ））によって規定されて、前記非線形連結（ＮＬＭ）の結果が、前記乱数（ｒＰ；ｒＴ）の少なくとも１つの部分と、前記再現不可能な多項式（ｆ（Ｘ））を含む前記秘密情報（ｋＩＶ）の一部との乗法による連結のモジュロ演算に基づくものである、請求項１に記載の装置。
【請求項７】
前記セッション鍵（ｋ０）を計算するための前記手段（２４）は、前記非線形連結（ＮＬＭ）から導かれた値（ｋＰ）を、暗号化（ＡＥＳ）用の鍵として用いて、前記秘密情報（ｋＩＶ）または前記秘密情報（ｋＩＶ）から導かれた値を暗号化すると共に、前記暗号化（ＡＥＳ）に基づいて、前記セッション鍵（ｋ０）を得るように構成されている、請求項１〜６のいずれか１項に記載の装置。
【請求項８】
前記セッション鍵（ｋ０）を計算するための前記手段（２４）は、前記秘密情報（ｋＩＶ）または前記秘密情報（ｋＩＶ）から導かれた値を、暗号化（ＡＥＳ）用の鍵として用いて、前記非線形連結（ＮＬＭ）から導かれた値（ｋＰ）を暗号化すると共に、前記暗号化（ＡＥＳ）に基づいて、前記セッション鍵（ｋ０）を得るように構成されている、請求項１〜６のいずれか１項に記載の装置。
【請求項９】
前記暗号化は、ブロック暗号化である、請求項７または８に記載の装置。
【請求項１０】
前記ブロック暗号化は、新暗号規格（ＡＥＳ）に基づいている、請求項９に記載の装置。
【請求項１１】
前記乱数を得るための前記手段（２２）は、第１の乱数（ｒＰ）をランダムまたは擬似ランダムに決定して、前記第２の通信パートナーから第２の乱数（ｒＴ）を得るように構成されており、
前記セッション鍵（ｋ０）を計算するための前記手段（２４）は、第１の暗号化（ＡＥＳ）から導かれた値（ｋ’）の、前記第２の乱数（ｒＴ）から導かれた値による第２の暗号化（ＡＥＳ）に基づいて、前記セッション鍵（ｋ０）を得るように構成されており、
前記第１の乱数（ｒＰ）と前記秘密情報（ｋＩＶ）の一部との非線形連結（ＮＬＭ）から導かれた値（ｋＰ）が、前記第１の暗号化（ＡＥＳ）用の鍵として用いられて、前記秘密情報（ｋＩＶ）または前記秘密情報（ｋＩＶ）から導かれた値を暗号化して、前記第１および第２の各暗号化（ＡＥＳ）に基づいて、前記セッション鍵（ｋ０）を得るようになっている、請求項１〜１０のいずれか１項に記載の装置。
【請求項１２】
前記乱数を得るための前記手段（２２）は、第１の乱数（ｒＰ）をランダムまたは擬似ランダムに決定して、前記第２の通信パートナーから第２の乱数（ｒＴ）を得るように構成されており、
前記セッション鍵（ｋ０）を計算するための前記手段（２４）は、前記秘密情報（ｋＩＶ）から導かれた値を、前記第１の乱数（ｒＰ）および第２の乱数（ｒＴ）から導出された鍵で暗号化すること（ＡＥＳ）に基づいて、前記セッション鍵（ｋ０）を計算するように構成されている、請求項１〜１１のいずれか１項に記載の装置。
【請求項１３】
前記秘密情報（ｋＩＶ）は、装置固有の識別（ＩＶ）および一般鍵（ｋＭ）に基づいて、鍵導出関数（ＫＤ）によって決定され得る、請求項１〜１２のいずれか１項に記載の装置。
【請求項１４】
前記セッション鍵（ｋ０）を用いるための前記手段（２８）は、前記第２の通信パートナーとの通信のために、メッセージを認証するためのチェック部（ＭＡＣ）を、前記メッセージ、および、前記セッション鍵（ｋ０）または前記セッション鍵（ｋ０）から導出された鍵に基づいて、計算するように構成されている、請求項１〜１３のいずれか１項に記載の装置。
【請求項１５】
前記セッション鍵（ｋ０）を用いるための前記手段（２８）は、転送される現在のメッセージのチェック部（Ｍｉ）を、前記セッション鍵（ｋ０）から導出された現在の鍵（ｋｉ）と、転送される次のメッセージ用の次の鍵（ｋｉ＋１）とに基づいて、計算するように構成されており、前記次の鍵（ｋｉ＋１）は、導出された前記現在の鍵（ｋｉ）と転送される前記現在のメッセージとに依存している、請求項１４に記載の装置。
【請求項１６】
前記セッション鍵（ｋ０）を用いるための前記手段（２８）は、前記チェック部（Ｍｉ）を計算するために、新暗号規格に基づくブロック暗号化（ＡＥＳ）を用いるように構成されている、請求項１４または１５に記載の装置。
【請求項１７】
前記セッション鍵（ｋ０）を用いるための前記手段（２８）は、前記第２の通信パートナーとの通信のために、メッセージのデータブロック（Ｄｉ）を、前記セッション鍵（ｋ０）または前記セッション鍵（ｋ０）から導出された鍵に基づいて暗号化／暗号復号化するように構成されている、請求項１〜１６のいずれか１項に記載の装置。
【請求項１８】
前記セッション鍵（ｋ０）を用いるための前記手段（２８）は、暗号化される／暗号復号化される現在のデータブロック（Ｄｉ＋１）用の現在の鍵（ｋｉ＋１）を、暗号化される／暗号復号化される前のデータブロック（Ｄｉ）用の前の鍵（ｋｉ）と、規定の値（ｑ）とに基づいて、暗号化／暗号復号化するように構成されている、請求項１７に記載の装置。
【請求項１９】
前記セッション鍵（ｋ０）を用いるための前記手段（２８）は、前記現在の鍵（ｋｉ＋１）を計算するために、新暗号規格に基づくブロック暗号化（ＡＥＳ）を用いるように構成されている、請求項１７または１８に記載の装置。
【請求項２０】
第１の通信パートナーおよび第２の通信パートナーに知られたセッション鍵（ｋ０）を、前記第１の通信パートナーのために、前記第１の通信パートナーおよび前記第２の通信パートナーによって決定され得る秘密情報（ｋＩＶ）から、生成する方法であって、
乱数（ｒＰ；ｒＴ）を得る工程（３２）と、
前記乱数（ｒＰ；ｒＴ）の少なくとも１つの部分と前記秘密情報（ｋＩＶ）の一部との連結を用いて、前記セッション鍵（ｋ０）を計算する工程（３４）と、
前記セッション鍵（ｋ０）を、前記第２の通信パートナーとの通信のために使用する工程（３６）とを含み、
前記乱数を得る時に、第１の乱数（ｋＰ）は、ランダムまたは擬似ランダムに決定された乱数（ｒＰ）または前記乱数から導かれた値と、前記秘密情報（ｋＩＶ）の一部との非線形連結（ＮＬＭ）に基づいて決定され、
第２の乱数（ｒＴ）は、前記第２の通信パートナーから得られ、
前記セッション鍵（ｋ０）を計算する工程は、前記秘密情報（ｋＩＶ）から導かれた値を、前記第１の乱数（ｋＰ）および第２の乱数（ｒＴ）から導出された鍵によって、ブロック暗号化（ＡＥＳ）することに基づく、方法。
【請求項２１】
前記セッション鍵（ｋ０）は、前記乱数（ｒＰ；ｒＴ）および前記秘密情報（ｋＩＶ）に基づいて、前記第１の通信パートナーおよび前記第２の通信パートナーの両方によって生成される、請求項２０に記載の方法。
【請求項２２】
前記乱数を得る時に、第１の乱数（ｒＰ）は、第１の通信パートナーによって、ランダムまたは擬似ランダムに決定され、第２の乱数（ｒＴ）が、前記第２の通信パートナーから得られ、
前記セッション鍵（ｋ０）を計算する工程は、前記第１の乱数（ｒＰ）と前記秘密情報（ｋＩＶ）との非線形連結（ＮＬＭ）でのブロック暗号化（ＡＥＳ）により、前記秘密情報（ｋＩＶ）をブロック暗号化（ＡＥＳ）して、前記第２の乱数（ｒＴ）をブロック暗号化（ＡＥＳ）することに基づく、請求項２０または２１に記載の方法。
【請求項２３】
前記セッション鍵（ｋ０）は、認証方法において、前記第１の通信パートナーと前記第２の通信パートナーとの間の認証のための共通の秘密として用いられる、請求項２０〜２２のいずれか１項に記載の方法。
【請求項２４】
前記認証方法は、前記セッション鍵（ｋ０）によって片側認証または相互認証を行うためのチャレンジ・レスポンス法である、請求項２０〜２３のいずれか１項に記載の方法。
【請求項２５】
コンピュータまたはマイクロコンピュータ上で動作する場合のコンピュータプログラムが、請求項２０〜２４のいずれか１項に記載の方法を実行するためのものである、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の各実施形態は、典型的には、２つの各通信パートナー間の安全な相互認証、およびそれに続く安全なデータ転送のために用いられ得るセッション鍵の生成に関する。
【背景技術】
【０００２】
対称暗号法における、２つの各通信パートナー間、例えば、読取装置および非接触型データカードの形をした２つの各ユーザ端末間の安全な相互認証は、例えば、いわゆるチャレンジ・レスポンス法（例えば、二方向または三方向のチャレンジ・レスポンス法など）を用いて行われ得る。
【０００３】
チャレンジ・レスポンス法は、通信パートナーを、知識に基づいて認証する方法である。一方の通信パートナーが、チャレンジを提示し、他方の通信パートナーは、このチャレンジを解決して（レスポンス）、特定の情報の知識を証明する必要がある。
【０００４】
この種の方法は、概して、サイドチャンネル攻撃、例えば、ＤＰＡ（differential power analysis：差分パワー解析）、ＥＭＡ（electro-magnetic analysis：電磁気解析）などの影響を受けやすい。
【０００５】
これは、アタッカーが、基本的に、２つの各端末のうちの一方の端末の秘密鍵を再現することができることを意味しており、アタッカーが、基本的に、例えば、各通信パートナー間で繰り返し行われた認証の試みにおける現状の各プロファイル（ＥＭ放射の各プロファイル）を記録することによって、当該端末のクローンを、比較的手間をかけずに作成できることを意味している。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
認証の基になる、例えばブロック暗号化といった暗号化を保護するためのハードウェア手段は、比較的高価である。
【０００７】
従って、本発明の目的は、従来の保護手段よりも改善された、サイドチャンネル攻撃に対抗する原理を提供することにある。
【課題を解決するための手段】
【０００８】
上記目的は、請求項１の特徴を有する装置、請求項２０に係る方法、および請求項２５に係るコンピュータプログラムによって、達成される。
【０００９】
本発明の各実施形態は、プロトコルに基づいた方法を用いることに基づいている。このプロトコルに基づいた方法は、サイドチャンネル攻撃から保護されていないので、安価である暗号化の実装を用いることを可能にするものである。
【００１０】
複数の各実施形態によって、サイドチャンネル攻撃に対して安全な、いわゆる「セッション鍵」を導出することが可能になる。上記導出は、ユーザ端末のうちの一方の端末の個々の「ルート鍵」から、１つのセッションに固有の１度きりの使い捨て鍵（セッション鍵）が導出され、認証を行うと共に、後に続く２つの各通信パートナー間のデータ転送を確実に行うことが可能であることを意味している。
【００１１】
このようなセッション鍵の導出は、各乱数を利用することに基づいている。これらの各乱数は、複数の各実施形態によれば、２つの各通信パートナー間において交換されることが可能である。第三者、いわゆる信頼できる第三者機関が、上記各乱数を提供することも、想定可能である。
【図面の簡単な説明】
【００１２】
以下に、本発明の各実施形態を、添付の各図面を参照しながら、詳細に説明する。
【図１】本発明の一実施形態に係る暗号化プロトコルを示す概略的な図である。
【図２Ａ】本発明の一実施形態に係るセッション鍵を生成するための装置を示すブロック図である。
【図２Ｂ】本発明の他の実施形態に係るセッション鍵を生成するための装置を示すブロック図である。
【図２Ｃ】本発明のさらに他の一実施形態に係るセッション鍵の装置を示すブロック図である。
【図３】本発明の一実施形態に係るセッション鍵を生成する方法を示すフローチャートである。
【図４】本発明の一実施形態に係る認証プロトコルの流れを示す図である。
【図５Ａ（１）】本発明の第１の実施形態に係る、セッション鍵の生成および相互認証を詳細に示す一方の図である。
【図５Ａ（２）】本発明の第１の実施形態に係る、セッション鍵の生成および相互認証を詳細に示す他方の図である。
【図５Ｂ（１）】本発明の他の一実施形態に係る、セッション鍵の生成および相互認証を詳細に示す一方の図である。
【図５Ｂ（２）】本発明の他の一実施形態に係る、セッション鍵の生成および相互認証を詳細に示す他方の図である。
【図６】本発明の一実施形態に係るデータ交換プロトコルの概観を示す図である。
【図７】本発明の一実施形態に係る、セッション鍵から導出された、２つの各通信パートナー間のデータ転送用の鍵の計算を示すブロック図である。
【図８】伝送されるデータフレームを示す概略的なブロック図である。
【図９】本発明の一実施形態に係る、メッセージを認証するためのチェック部の生成を示す概略的なブロック図である。
【図１０】本発明の一実施形態に係る、連続メッセージを認証するための連続チェック部の生成を示す概略的なブロック図である。
【図１１】暗号化されたデータフレームを示す概略的なブロック図である。
【図１２】本発明の一実施形態に係る、伝送されるデータフレームを暗号化することを示す概略的なブロック図である。
【図１３】本発明の一実施形態に係る、連続的に伝送される各データフレームを暗号化することを示す概略的なブロック図である。
【図１４】本発明の一実施形態に係る、受信されたデータフレームを暗号復号化することを示す概略的なブロック図である。
【図１５Ａ】本発明の一実施形態に係る、自律的かつ非線形のフィードバックシフトレジスタを示す概略的なブロック図である。
【図１５Ｂ】本発明の一実施形態に係る、結合を含む、非線形フィードバックシフトレジスタを示す概略的な図である。
【発明を実施するための形態】
【００１３】
本発明の各実施形態は、２つの各通信パートナーの安全な相互認証を可能にする。これら２つの各通信パートナーを、以下では、端末または読取装置Ｔ、および非接触チップカードＰ（proximity integrated circuit card, PICC：近接型ＩＣカード）と呼ぶが、これによって一般性が制限されるものではない。概して、これら２つの各通信パートナーが互いに異なる各構成を有していること、例えば、サーバ構成とクライアント構成とを有することも、当然、想定可能である。
【００１４】
近接型カードは、一般に、読取装置、例えば支払い用の読取装置に極めて近接して用いられる。受動型のチップカード、特に、受動型のＲＦＩＤ（radio frequency identification：無線ＩＣ）チップカードが用いられ得る。このチップカードは、そのエネルギーを読取装置から受け取る。この種の近接型カードは、典型的には、１２５ｋＨｚまたは１３．５６ＭＨｚの周波数において動作することが可能である。
【００１５】
さらに、本発明の各実施形態は、認証後に、２つの各通信パートナーであるＴとＰとの間で交換されたメッセージの完全性保護を確保する。交換されたメッセージ自体の保護、つまりプライバシー保護も可能である。従って、通信パートナーは、一実施形態に係る相互認証の後、完全性保護を含むデータ転送モード、または、プライバシー保護を含むデータ転送モードに同意することが可能である。ここでは、共通の秘密情報が、第１の通信パートナーと第２の通信パートナーとの両方によって決定されることが必要条件である。これは、いわゆる秘密鍵暗号と同様である。
【００１６】
図１は、本発明の一実施形態に係る通信プロトコルの暗号部を示す概略的な図である。前記プロトコルの暗号部は、２つの部分、すなわち認証１０と、後に続くデータ転送１２とから構成される。
【００１７】
認証１０の間に、２つの通信パートナーＰおよび通信パートナーＴは、互いに認証し合う。複数の各実施形態によれば、これは、三方向のチャレンジ・レスポンスプロトコルを用いて行われ得る。認証１０の結果は、それぞれ他方の通信パートナーの承諾または拒絶である。承諾の場合、共通の一時秘密の認証１０によって、共通の一時秘密、いわゆるセッション鍵ｋ０と、場合によっては後に続くデータ転送１２に必要とされるさらなる情報とがもたらされる。
【００１８】
認証１０が成功した後、第１の通信パートナーＰは、そのメモリの一部を、第２の通信パートナーＴによるアクセスのために解除することが可能である。従って、第２の通信パートナーＴは、対応するアクセス権を所有している所定のデータブロックを読み出す、および／または、書き込むことが可能である。
【００１９】
従って、Ｐは、Ｐの不揮発性メモリ（ＮＶＭ）から読み出すこと、および、Ｐの不揮発性メモリ（ＮＶＭ）に書き込むことが可能である。このためのコマンドは、第２の通信パートナーＴからのものである。これは特に、第１の通信パートナーＰが非接触型チップカードであり、第２の通信パートナーＴが読取装置である各実施形態に適用される。
【００２０】
複数の各実施形態によれば、データ転送１２を確実に行うために、２つの各手段、すなわち、
−ＭＡＣ（message authentication code：メッセージ認証コード）モードと呼ばれるデータ完全性保護機構と、
−暗号化モードと呼ばれるプライバシー保護機構と、が存在している。
【００２１】
複数の各実施形態によれば、これらの各保護モードのうちの１つのモードだけを、所定の時間において、２つの通信パートナーであるＰと通信パートナーＴとの間のデータ転送１２のために用いてよい。データ転送１２の保護は、その前の認証中に決定されたセッション鍵ｋ０によって認証１０と結び付けられている。
【００２２】
・完全性保護の場合、複数の各実施形態によれば、セッション鍵ｋ０は、いわゆるメッセージ認証コード（ＭＡＣ）、すなわち送信されたメッセージを認証するためのチェック部を生成するための基本鍵として用いられる。
【００２３】
・プライバシー保護の場合、セッション鍵ｋ０は、伝送されたデータパッケージを暗号化するための基本鍵として用いられる。
【００２４】
本発明の原理の概要を、図１を用いて説明した後、本発明の各実施形態を、他の図面を用いて、より詳細に説明する。
【００２５】
図２Ａは、第１の通信パートナーおよび第２の通信パートナーに知られたセッション鍵ｋ０を、第１の通信パートナーのために、第１の通信パートナーおよび第２の通信パートナーによって決定され得る秘密情報ｋＩＶから生成する装置２０を示す概略的な図である。ここで、装置２０は、第１の通信パートナーに関連付けられている。ここで注目される２つの通信パートナーＰおよび通信パートナーＴのうちのどちらが、第１の通信パートナーおよび第２の通信パートナーと呼ばれるかは、重要でない。
【００２６】
装置２０は、乱数ｒを得るための手段２２を含む。乱数ｒの少なくとも１つの部分ｒＰまたは部分ｒＴが、手段２４に供給され得る。手段２４は、乱数の少なくとも１つの部分と秘密情報ｋＩＶの一部との連結を用いて、セッション鍵ｋ０を計算するための手段である。秘密情報ｋＩＶを得るために、手段２６が設けられている。
【００２７】
その後、計算されたセッション鍵ｋ０は、第２の通信パートナー（図示されていない）と通信するための手段２８によって用いられる。第２の通信パートナーとの通信のために、入力部２９ａおよび出力部２９ｂを有するインターフェース２９が設けられている。
【００２８】
セッション鍵ｋ０を生成するための装置２０がどちらの通信パートナー上で用いられているかに応じて、装置２０の個々のブロックまたは手段に、異なる要件が生じ得る。装置２０は、複数の各実施形態のように、典型的に近接型カードＰ内で用いられる場合、ＰとＴとの間の安全な認証および安全なデータ転送を確保するために、異なるリソースが提供される。図２Ｂには、近接型カードＰ内に組み込まれた装置２０のブロック図が示されている。
【００２９】
本実施形態によれば、秘密情報ｋＩＶを得るための手段２６は、第１の通信パートナー、すなわち典型的には近接型カードＰの、チップ独自の識別ＩＶを提供し、前記識別ＩＶから秘密情報ｋＩＶを導出するように構成されている。これは、製造者固有の方法で行われてよい。
【００３０】
複数の各実施形態によれば、乱数を得るための手段２２は、ハードウェアモジュールとしての暗号化乱数生成器ＲＮＧを含む。この暗号化乱数生成器ＲＮＧによって、乱数ｒの少なくとも１つの部分ｒＰを生成することが可能である。
【００３１】
一実施形態によれば、セッション鍵ｋ０を計算するための手段２４は、暗号化および／または暗号復号化のためのハードウェアモジュールを含む。これは、ブロック暗号化、特にＡＥＳ（Advanced Encryption Standard：新暗号規格）に基づくブロック暗号化であってよい。乱数の少なくとも１つの部分ｒＰと秘密情報ｋＩＶの一部との連結は、非接触チップカードＰの側において、ハードウェアモジュールＮＬＭによって行われてよい。一実施形態に係る連結は、非線形連結または非線形写像（ＮＬＭ）であってよい。
【００３２】
一般に、読取装置Ｔは、攻撃から保護された環境内に配置されていると想定され得る。従って、安全性に関連する要件が、読取装置のハードウェア実装に課せられることは、ほとんどない。概略的な装備を考慮すると、読取装置Ｔの側に組み込まれたセッション鍵ｋ０を生成するための装置２０は、チップカードＰの側に含まれるセッション鍵ｋ０を生成するための装置２０と違いはない。複数の各実施形態によれば、秘密情報ｋＩＶは、読取装置Ｔの側でのみ、異なる方法で得られる。これが、手段２６に関して、各通信パートナー間で基本的相違が存在する理由である。これについては、図２Ｃに示されている。
【００３３】
読取装置Ｔの側において、秘密情報ｋＩＶを得るための手段は、秘密情報ｋＩＶを、チップカードＰの装置固有の識別ＩＶと一般鍵ｋＭとに基づいて得るように構成されていてよい。従って、一般鍵ｋＭおよび装置固有の識別ＩＶが、鍵導出関数ＫＤに供給されることによって、ｋＩＶが決定される。
【００３４】
本発明に係るセッション鍵を生成するための方法の一実施形態についてより詳細に論じる前に、図３を参照しながら、方法ステップの大まかな概要を説明する。
【００３５】
本概要では、個々の方法ステップは、２つの各通信パートナーのそれぞれによって行われてよい。しかしながら、これらの各方法ステップは、２つの各通信パートナーに別々に分配されてもよい。最終的に、信頼できる第三者機関がこれらの各方法ステップを行うことも想定可能である。
【００３６】
第１のステップ３２では、乱数ｒ、または乱数ｒの１つの部分を得る。第２のステップ３４では、乱数の少なくとも１つの部分と秘密情報ｋＩＶの一部との連結を用いて、セッション鍵ｋ０を計算する。次に、第３のステップ３６では、計算されたセッション鍵ｋ０を、２つの各通信パートナーであるＰとＴとの間の通信のために用いる。
【００３７】
より詳細な説明のために、以下の数学的表記を用いる。
【００３８】
２つの表記ｘおよび表記ｙの数学的等式は、
ｘ＝ｙ，                                              （１）
によって表され、
ここで、値ｘを変数ｙに割当てることは、
ｙ：＝ｘ．                                            （２）
によって表される。
【００３９】
２つの２進数ｘおよび２進数ｙの連結ｚは、
ｚ：＝ｘ||ｙ．                                        （３）
である。
【００４０】
２つの２進数ｘおよび２進数ｙの、さらなるモジュロ２またはビットワイズの排他的論理和は、
ｚ：＝ｘ ＸＯＲ ｙ                                        （４）
として記載される。
【００４１】
２ｙビット鍵ｋを用いた、２ｘビットデータブロックｍの暗号化は、次のように表される。
【００４２】
ｃ：＝ＡＥＳ（鍵＝ｋ，ｍ）                            （５）
ここで、本発明の実施形態は、ブロック暗号化、特にＡＥＳ規格に従った暗号化を提供する。同様に、暗号復号化は、
ｍ：＝ＡＥＳ−１（鍵＝ｋ，ｃ）                              （６）
によって表される。
【００４３】
この暗号復号化は、ＡＥＳ規格に従ったブロック暗号復号化であってよい。
【００４４】
本発明の一実施形態に係る、２つの通信パートナーＰおよび通信パートナーＴのセッション鍵ｋ０の生成および相互認証のフローチャートが、図４のフロー図／シーケンス図に示されている。
【００４５】
次に、第１の通信パートナーＰおよび第２の通信パートナーＴの側で行われる全ての各ステップに関して、個々のステップを実行する順番を考慮して、詳細に説明する。図４に示される実施形態では、個々のステップを説明する順番が重要である。ここで、これらのステップをそれぞれ、Ｐ０，Ｐ１，...，Ｐｎ、およびＴ０，Ｔ１，...，Ｔｎと呼ぶ。Ｐは第１の通信パートナーを示し、Ｔは第２の通信パートナーを示し、指数ｎは時間的順序を指す。同時に行うことが可能なステップ、または実装を容易にするために交換可能なステップは、明確に強調される。図解を簡素にするために、全てのステップに名前を付す。
【００４６】
Ｐ１：第１の通信パートナーＰの側での乱数の生成
一実施形態によれば、オンチップ乱数生成器ＲＮＧが、２つの乱数ｒＰおよび乱数ＲＰの生成を開始してよい。ＲＰは、複数の各実施形態によれば、１２８ビットの幅を有していてよく、いわゆる「チャレンジ」として第２の通信パートナーに送信され得る。一実施形態によれば、ｒＰは、３２ビットの幅を有しており、セッション鍵ｋ０を計算するために用いられ得る。ＲＰおよびｒＰは、独立して、かつ、均等に分布されたランダムビットを含む２進数であると想定される。一実施形態によれば、乱数を得るための手段２２は、前記乱数の少なくとも第１の部分を、ランダムにまたは擬似ランダムに決定するように構成されている。
【００４７】
Ｐ２：第１の通信パートナーＰから第２の通信パートナーＴへの第１のメッセージ
複数の各実施形態によれば、第１の通信パートナーＰは、その装置識別ＩＶと、Ｐ側のセッション鍵乱数値ｒＰと、Ｐ側のランダムチャレンジＲＰとを連結させて、第１のメッセージＭ１を形成する。第１のメッセージＭ１は、第２の通信パートナーＴに転送される。
【００４８】
Ｍ１：＝ＩＶ||ｒＰ||ＲＰ．                                  （１１）
これは、乱数ｒＰおよび乱数ＲＰを受信した後、ｒＰが、ＲＰおよび装置固有の識別ＩＶと共に、第２の通信パートナーＴまで転送されることを意味している。
【００４９】
Ｐ３：第１の通信パートナーＰ側における秘密情報ｋＩＶの決定
秘密情報ｋＩＶは、秘密情報ｋＩＶを攻撃から保護する製造者固有の手段によって、Ｐの側において得ることが可能である。
【００５０】
Ｔ４：第２の通信パートナーＴの側における乱数の生成
第２の通信パートナーＴ側の、乱数を得るための手段２２または乱数生成器ＲＮＧを始動させて、２つの乱数ｒＴおよび乱数ＲＴを得ることが可能である。従って、複数の各実施形態によれば、ＲＴは、１２８ビットの幅を有し、第１の通信パートナーＰに伝送される「チャレンジ」として機能することが可能である。ｒＴは、複数の各実施形態によれば、３２ビットの幅を有し、セッション鍵ｋ０を計算するために用いられ得る。ＲＴおよびｒＴの両方は、独立して、かつ、均一に分布されたランダムビットを含む。
【００５１】
Ｔ５：第２の通信パートナーＴの側における秘密情報ｋＩＶの決定
第１の通信パートナーＰの第１のメッセージＭ１を受信した（ステップＰ２）後、第２の通信パートナーＴは、鍵導出関数ＫＤによって得られた、例えば一般鍵ｋＭと装置固有の識別ＩＶとから、秘密情報、すなわち第１の通信パートナーの個々の秘密鍵ｋＩＶを導出する。
【００５２】
ｋＩＶ：＝ＫＤ（ｋＭ，ＩＶ）                                （１４）
鍵導出関数ＫＤの定義は、製造者に特有であってよく、このため、本発明に係るプロトコルには何の影響も与えない。従って、読取装置Ｔの側では、秘密情報ｋＩＶは、一般鍵ｋＭとチップカードＰの転送された装置固有の識別ＩＶとに基づいて、鍵導出関数ＫＤによって決定される。
【００５３】
Ｔ６：第２の通信パートナーＴの側におけるセッション鍵ｋ０の計算
セッション鍵ｋ０は、前記乱数の少なくとも一部と秘密情報ｋＩＶの一部との連結ＳＫを用いて計算される。従って、ｘ＝（ｘ０，ｘ１，...，ｘ１２７）∈ＧＦ（２）１２８、および、ｙ＝（ｙ０，ｘ１，...，ｙ３１）∈ＧＦ（２）３２である。ＧＦ（２）ｎは、ガロア体、すなわち加法、減法、乗法、および除法の基本計算が規定される２ｎ個の要素の有限数を有する量を示す。このため、次の関数
ＥＸＴ：ＧＦ（２）１２８→ＧＦ（２）３２                          （１５）
は、概して、１２８ビット値から任意の３２ビットを抽出することを意味している。複数の各実施形態によれば、３２個の最下位ビットが、抽出される。しかし、次の関数
ＰＡＤ：ＧＦ（２）３２→ＧＦ（２）１２８                          （１６）
は、概して、３２ビット値をパディングして、１２８ビット値を形成することを示している。これは、ＰＡＤがビットパディングルールを指すことを意味している。複数の各実施形態によれば、３２ビット値を各ゼロの値によってパディングして１２８ビット値を形成する。
【００５４】
一実施形態によれば、第２の通信パートナーＴは、ｋ０＝ＳＫ（ｋＩＶ，ｒＰ，ｒＴ）に従って、共通かつ一意のセッション鍵ｋ０を計算する。従って、ＳＫは、セッション鍵計算関数の形をした、ｋＩＶと乱数ｒの少なくとも１つの部分（ｒＰ，ｒＴ）との連結を意味している。一実施形態によれば、セッション鍵は、次のように計算される。
【００５５】
ＳＫ：
ｋＰ：＝ＮＬＭ（ＥＸＴ（ｋＩＶ），ｒＰ），                        （１７）
ｋ'：＝ＡＥＳ（鍵＝ＰＡＤ（ｋＰ），ｋＩＶ）                       （１８）
ｋ０：＝ＡＥＳ（鍵＝ＰＡＤ（ｒＴ），ｋ'）                   （１９）
これは、第１のサブステップ（方程式１７）において、３２ビットの秘密情報ｋＩＶと３２ビットの乱数値ｒＰとの非線形写像または連結が、ｋＰ：＝ＮＬＭ（ＥＸＴ（ｋＩＶ），ｒＰ）に従って、形成され得ることを意味している。ここでは、
ＮＬＭ：ＧＦ（２）３２ｘＧＦ（２）３２→ＧＦ（２）３２，
ｚ＝ＮＬＭ（ｘ，ｙ）                                        （２０）
が適用される。これは、複数の各実施形態によれば、セッション鍵ｋ０を計算するための手段２４が、乱数の少なくとも１つの部分ｒＰと秘密情報ｋＩＶの一部分ＥＸＴ（ｋＩＶ）との非線形連結ＮＬＭを用いて、セッション鍵を計算するように構成されていることを意味している。
【００５６】
非線形連結ＮＬＭの１つの目的は、チップ独自の秘密ｋＩＶと公的にアクセス可能な乱数ｒＰとを連結し、サイドチャンネル攻撃またはＤＰＡ攻撃によって、ｋＩＶに関する情報を得られないようにすることである。複数の各実施形態によれば、１２８ビットの秘密ｋＩＶおよび３２ビットのランダム変数ｒＰを組み合わせてランダムな３２ビットのセッション鍵のプリカーサー（中間）値ｋＰを形成する。
【００５７】
その後、このプリカーサー値ｋＰに基づいて、最終的なセッション鍵ｋ０を決定することが可能である。正式には、この非線形連結は、方程式（２０）に従って規定され得る。複数の各実施形態に係るｋＰがセッション鍵ｋ０の唯一のランダム基盤であるので、ここに記載する実施例によれば、最大２３２の異なるセッション鍵を生成することが可能である。従って、３２ビットのｋＩＶだけを、非線形連結ＮＬＭへの入力として用いることで十分である。当然ながら、例えば、１６、６４、１２８といった、他の任意のビット数を用いてもよい。
【００５８】
非線形連結ＮＬＭの高性能の実装として、非線形フィードバックシフトレジスタ（ＮＬＦＳＲ）を用いてもよい。非線形フィードバックシフトレジスタの特徴は、非線形フィードバックシフトレジスタが、ゼロ状態、すなわち全てのレジスタセルがゼロを用いて初期化された状態を保持することである。典型的には３２個のレジスタセルによって、ゼロではない全ての初期状態は、正確に、２３２−１クロックサイクルの後に繰り返されることになる。換言すると、自律的な動作の場合、シフトレジスタの状態は、２３２−１の周期で繰り返す。
【００５９】
本発明の一実施形態に係る非線形フィードバックシフトレジスタの可能な実装が、図１５Ａに概略的に示されている。
【００６０】
３２個のレジスタセルＤ０〜Ｄ３１の全てのコンテンツは、関数ｆに供給される。図１５Ａの矢印によって示されるように、各クロックの後、あるレジスタセルのコンテンツは、隣り合う１つのレジスタセルに伝えられ得る。これは、レジスタセルＤ１のコンテンツはレジスタセルＤ０に、レジスタセルＤ２のコンテンツはレジスタセルＤ１に伝えられる（他も同様）ことを意味している。この関数ｆの結果は、レジスタセルＤ３１のコンテンツがその前のセルＤ３０に伝わった後、レジスタセルＤ３１に書き込まれる。
【００６１】
一実施形態によれば、ＮＬＦＳＲを用いた非線形連結ＮＬＭの可能な１つの計算は、次のステップを意味している。
【００６２】
１．ＮＬＦＳＲの初期状態を設定するステップ。つまり、ｒＰ［０..３１］をレジスタセルＤ［０．．３１］にロードすること。
【００６３】
２．秘密情報の一部を挿入するステップ。つまり、秘密情報の一部ｋＩＶ［０...３１］を、図１５Ｂに示されるような順番ｋＩＶ［０］，ｋＩＶ［１］，ｋＩＶ［２］，...，ｋＩＶ［３１］に従って、ＮＬＦＳＲの中に連続的に結合させる。これによって、各結合ステップの後、ＮＬＦＳＲは、クロックされる。これは、秘密情報の一部ｋＩＶ［０..３１］を挿入することは、ＴＳＩＫ＝３２クロックサイクルを取ることを意味している。
【００６４】
３．連結ステップ。つまり、ＮＬＦＳＲは、時間ＴＭＩＸ＝６４サイクルの間、自律的にクロックされる。これは、この時間ＴＭＩＸの間には、レジスタの中には、何も挿入されない、または何も連結されないことを意味している。６４クロックサイクルの後、レジスタのコンテンツＴ［０..３１］は、セッション鍵の先行する値ｋＰを形成する。
【００６５】
本発明の他の一実施形態によれば、非線形連結ＮＬＭは、非線形フィードバックシフトレジスタを使用する代わりに、再現不可能な多項式ｆ（Ｘ）、すなわち２つの無用でない各多項式の積としては記載できない多項式に基づいて、実現可能である。
【００６６】
ｘ＝（ｘ０，ｘ１，...，ｘ３１）、ｙ＝（ｙ０，ｙ１，...，ｙ３１）、ｚ＝（ｚ０，ｚ１，...，ｚ３１）の場合、ｚ＝ＮＬＭ（ｘ，ｙ）は、典型的には、
ｚ３１Ｘ３１＋...＋ｚ１Ｘ１＋ｚ０＝（ｘ３１Ｘ３１＋...＋ｘ１Ｘ１＋ｘ０）＊（ｙ３１Ｘ３１＋...＋ｙ１Ｘ１＋ｙ０）ｍｏｄｆ（Ｘ） （２１）
または、短く表すとｚ＝ｘ＊ｙｍｏｄｆに基づいて、算出され得る。これは、有限体ＧＦ（２３２）内の乗法であるため、ＮＬＭ（ｘ，ＮＬＭ（ｙ１，ｙ２））＝ＮＬＭ（ＮＬＭ（ｘ，ｙ１），ｙ２）が、ここでは当てはまる。このため、
ｒＰ ：＝ＮＬＭ（ｒ１，ｒ２），                                   （２２）
ｋ'Ｐ：＝ＮＬＭ（ＥＸＴ（ｋＩＶ）．ｒ１），                       （２３）
ｋＰ ：＝ＮＬＭ（ｋ'Ｐ，ｒ２）                                    （２４）
に基づく方程式（１７）の実装は、ＥＸＴ（ｋＩＶ）≠（０，０，...，０）であるならば、ＤＰＡ攻撃から保護され得る。本実施形態によれば、方程式（１７）に係る非線形連結は、方程式（２３）および方程式（２４）に係る２つの各非線形連結に分割される。
【００６７】
このため、ステップＰ１の別の一実施形態では、乱数生成器ＲＮＧは、３つの乱数値ｒ１、乱数値ｒ２、および乱数値ＲＰを生成する。ＲＰは、複数の各実施形態によれば、１２８ビットの幅を有していてよく、いわゆる「チャレンジ」として第２の通信パートナーＴに送信される。
【００６８】
ｒ１およびｒ２はそれぞれ、３２ビットの幅を有していてよく、セッション鍵ｋ０を計算するために用いられる。ＲＰおよびｒ１，ｒ２は、独立して、かつ、均一に分布されたランダムビットを有する２進数であると想定される。第１の通信パートナーＰは、ｒＰ：＝ＮＬＭ（ｒ１，ｒ２）を計算し、ｒ１およびｒ２を一時記憶装置内に格納する。
【００６９】
一実施形態によれば、再現不可能な多項式ｆ（Ｘ）を含むＮＬＭの一実現方法は、主に、多項式ｆ（Ｘ）によって規定される線形フィードバックシフトレジスタ（ＬＦＳＲ）を、関数ｚ＝ＮＬＭ（ｘ，ｙ）の第１の独立変数ｘを含む第２のレジスタと共に用いる。これにより、第２のレジスタは、論理ＡＮＤおよびＸＯＲゲートによってＬＦＳＲに結合される。
【００７０】
値ｚは、典型的には、次のように計算される。
１．ＬＦＳＲの全ての各レジスタセルを、ゼロに設定する。
２．第２のレジスタの各レジスタセルＸｉを、値ｘｉ（ｉ＝０，...，３１）にてロードする。
３．時間Ｔ＝３２クロックサイクルの間、値ｙ３１，ｙ３０，...，ｙ０をＡＮＤゲートの中に結合させ、ｙとｘとを連結させる。
４．３２個のクロックサイクルの後、ＬＦＳＲのレジスタの各コンテンツは、値ｚ＝（ｚ０，ｚ１，...，ｚ３１）を形成する。
【００７１】
上記計算は、一実施形態に係るセッション鍵ｋ０を計算するための手段２４が、再現不可能な多項式ｆ（Ｘ）によって規定された線形フィードバックシフトレジスタを用いて、非線形連結ＮＬＭを実装するように構成されていることを意味している。このため、非線形連結（ＮＬＭ）の結果は、再現不可能な多項式ｆ（Ｘ）を含む、乱数の少なくとも１つの部分と秘密情報ｋＩＶの部分との乗法による連結のモジュロ演算に依存する（方程式２１と共に方程式２３を参照）。
【００７２】
セッション鍵ｋ０を生成する間において、サイドチャンネルの漏洩を大幅に低減することは、非線形連結ＮＬＭを適切に実装することによって、慣れたアタッカーであっても、ほとんどＤＰＡ攻撃をすることができない程度まで実現可能である。さらに、セッション鍵ｋ０の計算は、非線形連結ＮＬＭによって加速され得る。
【００７３】
非線形連結ＮＬＭの後のステップでは、方程式（１８）に従って、秘密情報ｋＩＶをセッション鍵の中間値ｋＰと連結させる。このため、連結ＡＥＳ（.,.）は暗号化アルゴリズムである。複数の各実施形態によれば、この暗号化アルゴリズムＡＥＳは、ブロック暗号化またはブロック暗号である。特に、いわゆる新（アドバンスド）暗号規格（ＡＥＳ）に基づくブロック暗号化を用いてよい。
【００７４】
これは、複数の各実施形態によれば、セッション鍵ｋ０を計算するための手段２４が、非線形連結ＮＬＭから導かれた値ｋＰを、暗号化ＡＥＳ用の鍵として用いて、秘密情報ｋＩＶ、または秘密情報ｋＩＶから導かれた値を暗号化すると共に、この暗号化に基づいてセッション鍵ｋ０を得るように構成されていることを意味している。
【００７５】
複数の各実施形態によれば、第２の通信パートナーＴではなく、第１の通信パートナーＰだけが、乱数ｒＰを決定することも可能である。この場合、方程式（１８）に係る暗号化の結果得られた値ｋ'が、既にセッション鍵となろう。
【００７６】
しかしながら、ここで論じる実施形態では、方程式（１８）に係る暗号化は、第２の乱数ｒＴによって、第３のステップ（方程式１９）において、中間結果ｋ'と第２の乱数値ｒＴとを、
ｋ０：＝ＡＥＳ（鍵＝ＰＡＤ（ｒＴ），ｋ'）                   （２２）
に従って連結させることによって、改善することが可能であり、その結果、最終的に共通のセッション鍵ｋ０を得ることが可能である。
【００７７】
方程式（１７）〜（１９）を融合させれば、複数の各実施形態に係るセッション鍵ｋ０を計算するための手段２４は、セッション鍵ｋ０を、
ｋ０＝ＡＥＳ（ＰＡＤ）ｒＴ），（ＡＥＳ（ＰＡＤ（ＮＬＭ（ＥＸＴ（ｋＩＶ），ｒＰ）），ｋＩＶ））                                                  （２３）
に基づいて計算するように構成されている。
【００７８】
ここで、ｒＰは第１の乱数であり、ｒＴは第２の乱数であり、ｋＩＶは秘密情報を示しており、ＮＬＭ（','）は非線形連結に相当し、ＥＸＴ（'）は抽出ルールに相当し、ＰＡＤ（'）はビットパディングルールに相当し、ＡＥＳ（','）は新暗号規格に基づくブロック暗号化に相当する。
【００７９】
さらに、方程式（１８）および方程式（１９）に係る各ステップを、典型的には、
ｋ０：＝ＡＥＳ（鍵＝ＰＡＤ２（ｋＰ），ＸＯＲＰＡＤ（ｒＴ），ｋＩＶ）（２４）
に係る単一の暗号化ステップと置き換えることも、想定可能である。
【００８０】
ここで、次の関数：
ＰＡＤ２：ＧＦ（２）３２→ＧＦ（２）１２８                              （２５）
は、入力値ｙの３２ビットを倍加することによって生じる６４ビット値をパディングすることを意味している。特に、上記の６４ビット値は、各ゼロ値を用いてパディングされ得る。
【００８１】
これは、一実施形態によれば、乱数を得るための手段２２は、第１の乱数ｒＰを、ランダムまたは擬似ランダムに決定し、第２の乱数ｒＴを、他方の通信パートナーから得るように構成されていることを意味している。
【００８２】
セッション鍵ｋ０を計算するための手段２４は、秘密情報ｋＩＶから導かれた値を、第１の乱数ｒＰおよび第２の乱数ｒＴから導出された鍵によって暗号化するＡＥＳに基づいて、セッション鍵ｋ０を計算するように構成されている。
【００８３】
他の一実施形態によれば、乱数を得るための手段２２は、ランダムまたは擬似ランダムに決定された乱数ｒＰ、または前記乱数から導かれた値と、秘密情報ｋＩＶの一部ＥＸＴ（ｋＩＶ）との非線形連結ＮＬＭに基づいて、第１の乱数ｋｐを決定し、第２の乱数ｒＴを、他方の通信パートナーから得るように構成されている。
【００８４】
セッション鍵ｋ０を計算するための手段２４は、秘密情報ｋＩＶから導かれた値を、第１の乱数ｋＰおよび第２の乱数ｒＴから導出された鍵によって暗号化するＡＥＳに基づいて、セッション鍵ｋ０を計算するように構成されている（方程式２４参照）。
【００８５】
Ｔ７：第２の通信パートナーＴの側におけるレスポンス計算
ステップＴ７において、第２の通信パートナーＴは、第１の通信パートナーＰの「チャレンジ」ＲＰに対する「レスポンス」ｃＰを計算する。ここでは、ステップＴ６のセッション鍵が用いられる。
【００８６】
ｃＰ：＝ＡＥＳ（鍵＝ｋ０，ＲＰ）                                  （２６）
Ｔ８：第２の通信パートナーＴから第１の通信パートナーＰへの第２のメッセージ
ステップＴ８では、ステップＴ７において計算されたレスポンスｃＰと、第２の通信パートナーＴの側で決定された乱数値ｒＴと、ランダムチャレンジＲＴとを連結させて、第２の通信パートナーＴの側の第２のメッセージＭ２を形成する。このメッセージＭ２は、第２の通信パートナーＴから第１の通信パートナーＰに転送される。
【００８７】
Ｍ２：＝ｃＰ||ｒＴ||ＲＴ                                          （２７）
これは、一実施形態によれば、第２の通信パートナーＴが、最初に、第１の通信パートナーＰのチャレンジＲＰに対するレスポンスを、暗号化アルゴリズムを用いたｋ０とＲＰとの連結ＡＥＳに基づいて決定し（方程式２６）、その後、これを、第２の乱数ｒＴおよびランダムチャレンジＲＴと共に、第１の通信パートナーＰに伝送することを意味している。
【００８８】
Ｐ９：第１の通信パートナーＰの側におけるセッション鍵ｋ０の計算
第１の通信パートナーＰが第２の乱数ｒＴを含む第２のメッセージＭ２を受信した後、第１の通信パートナーＰの側において、ｋ０＝ＳＫ（ｋＩＶ，ｒＰ，ｒＴ）に従って、共通のセッション鍵が計算され得る。この共通のセッション鍵の計算は、第１の通信パートナーＰが、第２の通信パートナーＴの既に各方程式（１７）〜（１９）に関連して説明したステップと同じ３つのステップ
ｋＰ＝ＮＬＭ（ＥＸＴ（ｋＩＶ），ｒＰ），                          （２８）
ｋ'＝ＡＥＳ（鍵＝ＰＡＤ（ｋＰ），ｋＩＶ），                       （２９）
ｋ０＝ＡＥＳ（鍵＝ＰＡＤ（ｒＴ），ｋ'）                           （３０）
を実行することによって、行われる。
【００８９】
最初の２つの各ステップ、すなわち、ｋＰを計算するステップおよびｋ'を計算するステップは、第２のメッセージＭ２を受信する前に、実行され得る。第３のステップ、すなわち方程式（３０）に係るｋ０を計算するステップは、典型的には、第２の通信パートナーＴの側において第２の乱数ｒＴが決定された時にのみ行われる必要があることを、ここで再び言及する。
【００９０】
既に述べたように、本発明の実施形態は、また、乱数が第１の通信パートナーＰの側においてのみ、または信頼できる第三者機関によってのみ、ランダムに決定され、各通信パートナーＰ、Ｔに提供される場合を含む。従って、方程式（３０）に係るステップは、鍵計算の安全性をさらに増大させるように機能する。
【００９１】
ここに記載した実施形態では、Ｐの側の乱数を得るための手段２２も、第１の乱数ｒＰを、ランダムまたは擬似ランダムに決定し、第２の通信パートナーＴよりも前に、第２の乱数ｒＴを得るように構成されている。
【００９２】
セッション鍵ｋ０を計算するための手段２４は、第１の暗号化（方程式２９）から導かれた値ｋ'を、第２の乱数ｒＴから導かれた値で暗号化する第２の暗号化（方程式３０）に基づいて、セッション鍵ｋ０を得るように構成されている。
【００９３】
ここで、第１の乱数ｒＰと秘密情報ｋＩＶの一部との非線形連結（方程式２８）から導かれた値ｋＰは、第１の暗号化のための鍵として用いられ、秘密情報または前記秘密情報から導かれた値を暗号化し、第１の暗号化および第２の暗号化に基づいて、セッション鍵ｋ０を得る。
【００９４】
既に説明したように、方程式（１８）および方程式（１９）、または方程式（２９）および方程式（３０）に係るステップを、例えば、
ｋ０：＝ＡＥＳ（鍵＝ＰＡＤ２（ｋＰ），ＸＯＲＰＡＤ（ｒＴ）,ｋＩＶ）．（３１）
に係る単一の暗号化ステップと置き換えることも可能である。
【００９５】
ＮＬＭが再現不可能な多項式ｆ（Ｘ）に基づいている場合、一実施形態に従って、第１の通信パートナーＰの側においてセッション鍵ｋ０を計算することは、
ｋ'Ｐ：＝ＮＬＭ（ＥＸＴ（ｋＩＶ），ｒ１），                       （３２）
ｋＰ ：＝ＮＬＭ（ｋ'Ｐ，ｒ２）                                    （３３）
ｋ０ ：＝ＡＥＳ（鍵＝ＰＡＤ２（ｋＰ）ＸＯＲＰＡＤ（ｒＴ），ｋＩＶ）     （３４）
に従って、行われてもよい。
【００９６】
Ｐ１０：第１の通信パートナーＰの側のレスポンス計算
ステップＰ１０では、一実施形態に係る第１の通信パートナーＰは、第２の通信パートナーＴのチャレンジＲＴに対するレスポンスｃＴを、ステップＰ９において計算された共通のセッション鍵ｋ０に基づいて、計算する。
【００９７】
ｃＴ：＝ＡＥＳ（鍵＝ｋ０，ＲＴ）                                  （３５）
これは、セッション鍵ｋ０が、ＡＥＳ規格に従ったブロック暗号化のための鍵として用いられ、第２の通信パートナーＴのチャレンジＲＴを暗号化し、これによってレスポンスｃＰを得ることを意味している。
【００９８】
Ｐ１１：（第１の通信パートナーＰから第２の通信パートナーＴへの）第３のメッセージ
ステップＰ１１では、第１の通信パートナーＰは、ステップＰ１０において計算されたレスポンスｃＴを、第２の通信パートナーＴに送信する。
【００９９】
Ｐ１２：第１の通信パートナーＰの側におけるレスポンス照合
ここで、第１のメッセージＭ１によって第２の通信パートナーＴに送信されたランダムチャレンジＲＰは、レスポンス比較値ｃＰ'を得るために、第１の通信パートナーＰの側において、
ｃＰ'＝ＡＥＳ（鍵＝ｋ０，ＲＰ）                                   （３６）
に従って、セッション鍵ｋ０を用いて暗号化される。その後、得られたレスポンス比較値ｃＰ'は、第２の通信パートナーＴからの第２のメッセージＭ２によって得られたレスポンスｃＰと、第１の通信パートナーＰの側において比較される。
【０１００】
ｃＰ'＝ｃＰの場合、第２の通信パートナーＴは、第１の通信パートナーＰの側において、認証を成功させることが可能である。そうでなければ、認証は失敗に終わる。認証が失敗すると、２つの各通信パートナーＰ、Ｔ間のさらなる通信は、停止されることになる。認証が失敗したことは、第２の通信パートナーＴに信号で知らされる。
【０１０１】
Ｔ１３：第２の通信パートナーＴの側におけるレスポンス照合：
ここでは、第２のメッセージＭ２を用いて、第２の通信パートナーＰに送信されたランダムチャレンジＲＴは、レスポンス比較値ｃＴ'を得るために、第２の通信パートナーＴの側において、
ｃＴ'＝ＡＥＳ（鍵＝ｋ０，ＲＴ）                                   （３７）
に従って、セッション鍵ｋ０を用いて暗号化される。その後、得られたレスポンス比較値ｃＴ'は、第２の通信パートナーＴが第３のメッセージＭ３（ステップＰ１１）によって得たレスポンスｃＴと、第２の通信パートナーＴの側において比較される。
【０１０２】
ｃＴ'＝ｃＴの場合、第１の通信パートナーＰは、第２の通信パートナーＴの側において、認証を成功させることが可能である。そうでなければ、認証は失敗に終わる。認証が失敗すると、２つの各通信パートナーＰ，Ｔ間のさらなる通信は、停止されることになる。認証が失敗したことは、第１の通信パートナーＰに信号で知らされる。
【０１０３】
図５Ａおよび図５Ｂには、説明した認証法のための実施形態の詳細な図解が、関連する両方の各通信パートナーＰ，Ｔの側におけるハードウェアブロック／ソフトウェアブロックに関連して示されている。
【０１０４】
認証１０が成功し、セッション鍵ｋ０の生成が成功した後、本方法は、２つの通信パートナーＰと通信パートナーＴとの間のデータ転送ステップ１２に進む。ここで、第１の通信パートナーＰは、そのメモリの部分に、第２の通信パートナーＴがアクセスすることを可能にし（あるいはその反対）、その結果、第２の通信パートナーＴは、第２の通信パートナーＴが対応するアクセス権を所有している特定のデータブロックを読むことが可能である。
【０１０５】
同様に、Ｔは、特定のデータブロックを書き込むことが可能である。従って、第１の通信パートナーＰの不揮発性メモリから読み出すこと、および／または、前記不揮発性メモリにプログラミング（書き込み）することは、Ｐ自身によって行われる。しかしながら、第１の通信パートナーＰは、このためのコマンドを、第２の通信パートナーＴから受信する。
【０１０６】
２つの通信パートナーＰと通信パートナーＴとの間の通信および／またはデータ転送は、ＰからＴに、およびＴからＰに伝送され得るデータフレームＦ１，Ｆ２，Ｆ３，...において、準備され得る。安全性のために、各データフレームＦｉからの入力として、秘密鍵ｋｉが必要とされる。データフレームＦｉを処理した後、伝送される次のデータフレームＦｉ＋１のために用いられる新たな鍵ｋｉ＋１が、生成され得る。伝送される第１のデータフレームＦ１のための第１の秘密鍵ｋ１が、セッション鍵ｋ０から導出される。
【０１０７】
全ての各データフレームは、２つの通信パートナーＰと通信パートナーＴとの間で交換され得る、安全性に関連する各データパッケージＤ１，Ｄ２，Ｄ３，...を含んでいる。従って、どの方向に、各データパッケージが送信されるかは、重要ではない。これらの各データパッケージの全体的な発生が、図６に概略的かつ典型的に示されている。
【０１０８】
本発明の一実施形態によれば、各データパッケージＤｘは、最大１２８ビットを含む。当然ながら、他のデータパッケージサイズも、想定可能である。第１の通信パートナーＰから第２の通信パートナーＴに送信されたデータパッケージは、Ｐのメモリから読み出されたデータを含んでいてよい。別の方向、すなわちＴからＰへのデータパッケージは、Ｐのメモリに書き込まれるデータを含んでいてよい。
【０１０９】
さらに、交換されるデータパッケージは、読み出しコマンド／書き込みコマンド、および／または、前記データのメモリアドレスを含んでいてよい。複数の各実施形態によれば、より高位のプロトコル層（ラッピングプロトコル層）が、制御データのうちのどれを、ここに記載する保護機構に従って、データパッケージＤｘの外に送信することが可能であるかを規定する。
【０１１０】
データパッケージは、連続したデータパッケージを含むデータフレーム内に配置されていてよい。１つのデータフレームの全てのデータパッケージは、同一の方向すなわち、ＴからＰ、またはその反対のＰからＴに送信され、特定の順番を有している。ここでの準備は、より高位のプロトコル層によって行われる。
【０１１１】
プライバシー保護モードでは、データ転送１２中に伝送されたデータパッケージは、例えばＡＥＳアルゴリズムを用いて、暗号化され得る。ここで、各パッケージは、典型的には１２８ビットのサイズを有していてよい。他方、完全性保護モードも、データ転送１２中に、メッセージ認証コード（ＭＡＣ）を計算することによって用いられ得る。この場合、データパッケージのサイズは１２８ビットよりも小さいか、または１２８ビットであってよい。この場合、全てのデータフレームは、データパッケージＤ１，Ｄ２，Ｄ３，...の部分ではないＭＡＣパッケージＭｉを含んでいてよい。
【０１１２】
図６に概略的に示したように、データ転送段階の第１のステップ６１は、伝送される第１のデータフレームＦ１用の第１の秘密鍵ｋ１を、セッション鍵ｋ０に基づいて導出することである。ステップ６１は、完全性保護モードの場合でも、プライバシー保護モードの場合でも同じである。
【０１１３】
図７に示されるように、ステップ６１の入力パラメータは、セッション鍵ｋ０、および、認証段階１０中に第１の通信パートナーＰおよび第２の通信パートナーＴによって生成された２つのランダムチャレンジＲＰおよびランダムチャレンジＲＴであり得る。一実施形態によれば、第１の鍵ｋ１は、図７に図解したように、
ｋ１：＝ＡＥＳ（鍵＝ＲＰ；ｋ０ＸＯＲＲＴ）                        （３８）
に従って計算され得る。これは、チャレンジ値ＲＰを、ＡＥＳ暗号化用の鍵として用いて、チャレンジ値ＲＴとセッション鍵ｋ０とのＸＯＲ連結を暗号化し、このＡＥＳ暗号化に基づいて、導出された第１の鍵ｋ１を得ることを意味している。
【０１１４】
他の一実施形態によれば、第１の鍵ｋ１はまた、図７に図解したように、
ｋ１：＝ＡＥＳ（鍵＝ＲＰ；ｋ０ＸＯＲＲＴ）ＸＯＲ（ｋ０ＸＯＲＲＴ）      （３９）
に従って、計算され得る。
【０１１５】
完全性保護モードでは、全てのデータフレームＦｉには、データフレームを認証するためのチェック部（ＭＡＣ）Ｍｉが設けられていてよい。ここで、チェック部Ｍｉは、対応する鍵ｋｉを用いて生成される。
【０１１６】
チェック部Ｍｉは、典型的には、ＣＢＣ−ＭＡＣ（cipher block chaining message authentication code：暗号ブロック連鎖方式メッセージ認証コード）、ＨＭＡＣ（keyed-Hash message authentication code：鍵付きハッシュメッセージ認証コード）、ＯＭＡＣ（one-key MAC：ワンキーＭＡＣ）、ＵＭＡＣ（message authentication code based on universal hashing：ユニバーサルハッシングに基づくメッセージ認証コード）、ＰＭＡＣ（parallelizable MAC：平行処理が可能なＭＡＣ）、またはＣＭＡＣ（cipher-based MAC：暗号ベースのＭＡＣ）であってよい。
【０１１７】
データフレームＦｉの各データパッケージＤｘ，Ｄｘ＋１，...，Ｄｙのシーケンスは、図８に概略的に示したように、チェック部Ｍｉによって終了する。フレームＦｉの送信器は、ｋｉおよび各データパッケージＤｘ，Ｄｘ＋１，...，Ｄｙを使用して、チェック部Ｍｉを決定し、（Ｄｘ，...，Ｄｙ，Ｍｉ）を上記フレームＦｉ内にて伝送する。これは、複数の実施形態に係るセッション鍵ｋ０を使用するための手段２８が、第２の通信パートナーとの通信のために、メッセージＭｉを認証するためのチェック部Ｍｉを、メッセージ、および、セッション鍵ｋ０または前記セッション鍵から導出された鍵ｋｉに基づいて、計算するように構成されていることを意味している。
【０１１８】
同様に、各コンテンツ（Ｄｘ，...，Ｄｙ，Ｍｉ）を含むデータフレームの受信器Ｍｉは、ｋｉおよびデータパッケージＤｘ，Ｄｘ＋１，...，Ｄｙを用いるように形成されていてよい。上記データパッケージＤｘ，Ｄｘ＋１，...，Ｄｙは、前記データパッケージから生じるチェック部を計算するために受信されたものである。この受信器は、結果として得られたチェック部を、受信した値Ｍｉと比較する。値が同一であるならば、２つの各通信パートナー間のデータ転送は継続され得るが、そうでなければ、データ転送は、停止されることになる。受信器は、送信器にＭＡＣのエラーを通知することが可能である。
【０１１９】
何れの通信パートナーＰおよび通信パートナーＴも、次に伝送されるデータフレームＦｉ＋１用の鍵ｋｉ＋１を算出する（図６、各ステップ６２、６３、６４参照）。本発明の一実施形態によれば、チェック部Ｍｉおよび後に続く鍵ｋｉ＋１は、次のように計算され得る。
【０１２０】
ｈｘ        ：＝ｋｉ，
ｈｘ＋１          ：＝ＡＥＳ（鍵＝ｈｘ；Ｄｘ）ＸＯＲＤｘ，
ｈｘ＋２          ：＝ＡＥＳ（鍵＝ｈｘ＋１；Ｄｘ＋１）ＸＯＲＤｘ＋１，
ｈｘ＋３          ：＝ＡＥＳ（鍵＝ｈｘ＋２；Ｄｘ＋２）ＸＯＲＤｘ＋２，
...
ｈｙ＋１          ：＝ＡＥＳ（鍵＝ｈｙ；Ｄｙ）ＸＯＲＤｙ，
ｋｉ＋１          ：＝ｈｙ＋１，
Ｍ'ｉ       ：＝ＡＥＳ（鍵＝ｋｉ；ｋｉ＋１）ＸＯＲｋｉ＋１，
Ｍｉ        ：＝ＥＸＴ（Ｍ'ｉ）                                   （４０）
データパッケージＤｘのサイズが１２８ビットよりも小さいならば、各データパッケージＤｘを、ゼロでパディングして１２８ビットのサイズを得ることが可能である。その後、パディングされたデータパッケージＤｘは、ＡＥＳブロック暗号化演算および／またはＸＯＲ演算のための入力として用いられ得る。
【０１２１】
チェック値Ｍｉおよび後に続く鍵ｋｉ＋１の生成が、図９に再び図示されている。
【０１２２】
図９からは、後に続く鍵ｋｉ＋１が、中間鍵ｋｉ、およびデータフレームＦｉの個々の各データパッケージＤｘ，Ｄｘ＋１，...，Ｄｙから算出されることが明らかである。従って、第１のデータパッケージＤｘは、中間鍵ｋｉを用いてブロック暗号化される。このブロック暗号化の結果は、再び第１のデータパッケージＤｘを用いてＸＯＲ演算される。
【０１２３】
ここで次に、この連結の結果を、第２のデータパッケージＤｘ＋１をブロック暗号化するための鍵として用いて、今度は、このブロック暗号化の結果を、第２のデータパッケージＤｘ＋１と連結させ、次に、この連結の結果を、後に続くデータパッケージＤｘ＋２のための鍵として用いる（その後も同様）。
【０１２４】
チェック部Ｍｉは、後に続く鍵ｋｉ＋１をＡＥＳブロック暗号化に従って暗号化するための鍵として、中間鍵ｋｉを用いることによって、形成される。その後、この暗号化の結果は、ｋｉ＋１とＸＯＲ連結され、ＭＡＣチェック値Ｍｉが得られる。
【０１２５】
これは、本発明の一実施形態によれば、セッション鍵を用いるための手段２８は、セッション鍵ｋ０から導出された現在の鍵ｋｉと、転送される次のメッセージＦｉ＋１用の次の鍵ｋｉ＋１とに基づいて、転送される現在のメッセージＦｉのチェック部Ｍｉを計算するように構成されていることを意味している。次の鍵ｋｉ＋１は、導出された現在の鍵ｋｉと、転送される現在のメッセージＦｉとに依存している。
【０１２６】
図１０は、完全性保護モードの、伝送される２つの各データフレームの全体の流れを示す図である。この流れは、セッション鍵ｋ０に基づいて第１の鍵ｋ１を生成する工程から始まる。
【０１２７】
プライバシー保護モードでは、全てのデータフレームＦｉは、データブロックＤｘを暗号化して、暗号化されたブロックＣｉを形成することによって安全性が保証される。この鍵ｋｉは、常に、プライバシー保護モードで使用される。この手順は、図１１に概略的に示されている。
【０１２８】
データフレームＦｉの送信器は、ｋｉおよび各データパッケージＤｘ，Ｄｘ＋１，...，Ｄｙを用いて、全てのデータパッケージＤｊを暗号化し、暗号化されたパッケージＣｊを形成し、データフレームＦｉ内にて（Ｃｘ，...，Ｃｙ）を伝送する。（Ｃｘ，...，Ｃｙ）を含むデータフレームＦｉの受信器も、この鍵ｋｉおよび暗号化されたＣｘ，...，Ｃｙを用いて、暗号化されていない各パッケージＤｘ，Ｄｘ＋１，...．Ｄｙを復号化する。各通信パートナーの両方は、後に続くデータフレームＦｉ＋１用の後に続く鍵ｋｉ＋１を計算する。
【０１２９】
より長いメッセージを処理するためには、異なる手順が存在する。データは、最初に、データパッケージＤｘに分割され得る。データパッケージＤｘのサイズは、暗号化アルゴリズムによって事前に決定される（例えば、１２８ビットなど）。
【０１３０】
演算の電子コードブックモード（ＥＣＢ）および暗号ブロック連鎖方式モード（ＣＢＣ）モードは、全てのデータパッケージを必要とする。従って、最後のデータパッケージＤｙは、充填データでパディングされていてよい。
【０１３１】
その後、データパッケージは、次々に暗号化される。多くの場合使用されるＣＢＣ法では、データパッケージの暗号化の結果、以前に暗号化されたデータパッケージの暗号は、次のデータパッケージと連結または連鎖される。一実施形態によれば、Ｃｊおよびｋｉ＋１を得るための送信器の計算は、次の通りである。
【０１３２】
ｈｘ        ：＝ｋｉ，
ｈｘ        ：＝ＡＥＳ（鍵＝ｈｘ−１；ｑ）ＸＯＲｑ，
Ｃｘ        ：＝ＡＥＳ（鍵＝ｈｘ；Ｄｘ），
ｈｘ＋１          ：＝ＡＥＳ（鍵＝ｈｘ；ｑ）ＸＯＲｑ，
Ｃｘ＋１          ：＝ＡＥＳ（鍵＝ｈｘ＋１；Ｄｘ＋１），
...
ｈｙ        ：＝ＡＥＳ（鍵＝ｈｙ−１；ｑ）ＸＯＲｑ，
Ｃｙ        ：＝ＡＥＳ（鍵＝ｈｙ；Ｄｙ），
ｋｉ＋１          ：＝ｈｙ                                        （４１）
従って、値ｑは、典型的には１２８ビット値を示す。この値は、所望のように規定されてよいが、その後、不変に維持される。複数の各実施形態によれば、データパッケージＤｘのサイズは、常に１２８ビットであってよい。このサイズに達するためにゼロでパディングすることが、より高位のラッピングプロトコル層によって行われてもよい。
【０１３３】
複数の各実施形態によれば、図１２に図示された、プライバシー保護モードにおける鍵生成の構造は、完全性保護モードまたはＭＡＣモードにおける鍵生成と同一である。図９と図１２との比較すると、ＭＡＣモードと比ベて、プライバシー保護モードでは、Ｄｘ＋ｊが、定数ｑのみに置き換えられていることが分かる。
【０１３４】
この手順は、例えば、さらなる制御経路およびデータ経路の形のハードウェアリソースの低減を回避することが可能であるという利点を提供する。
【０１３５】
ＭＡＣモードの図１０と同様に、図１３も、プライバシー保護モードの、伝送される２つの各データフレームのデータの流れを示しており、第１の鍵ｋ１をセッション鍵ｋ０に基づいて生成する工程によって開始される。
【０１３６】
図１２と同様、図１４も、データフレームの受信器の側において、データフレームＦｉの暗号化された各パッケージＣｘ，...，Ｃｙを暗号復号化するためのスキームを示す図である。鍵ｋｉおよび鍵ｋｉ＋１、並びにこれらの各鍵の間に位置している全ての中間鍵ｈｘ−１，ｈｘ，ｈｘ＋１，...．の鍵計算は、送信器の側と同じやり方で、すなわち方程式（４１）に従って行われる。
【０１３７】
暗号化されたパッケージＣｘを暗号復号化するために、算出された中間鍵ｈｘは、ブロック暗号化ＡＥＳと逆方向のブロック暗号復号化ＡＥＳ-１のための鍵として用いられる。
【０１３８】
ｈｘ        ：＝ｋｉ，
ｈｘ        ：＝ＡＥＳ（鍵＝ｈｘ−１；ｑ）ＸＯＲｑ，
Ｄｘ        ：＝ＡＥＳ−１（鍵＝ｈｘ；Ｃｘ），
ｈｘ＋１          ：＝ＡＥＳ（鍵＝ｈｘ；ｑ）ＸＯＲｑ，
Ｄｘ＋１          ：＝ＡＥＳ−１（鍵＝ｈｘ＋１；Ｃｘ＋１），
...
ｈｙ        ：＝ＡＥＳ（鍵＝ｈｙ−１；ｑ）ＸＯＲｑ，
Ｄｙ        ：＝ＡＥＳ−１（鍵＝ｈｙ；Ｃｙ），
ｋｉ＋１          ：＝ｈｙ                                        （４２）
概して、通信パートナーＰおよび通信パートナーＴの両方は、送信器としても受信器としても機能するので、複数の各実施形態によれば、セッション鍵を用いるための手段２８は、暗号化される／暗号復号化される現在のデータブロックＤｉ＋１／Ｃｉ＋１用の現在の鍵ｋｉ＋１を、暗号化される／暗号復号化される前のデータブロックＤｉ／Ｃｉ用の前の鍵ｋｉと、規定の値ｑとに基づいて暗号化する／暗号復号化するように構成されている。
【０１３９】
まとめると、本発明の各実施形態は、第１に、２つの通信パートナーＰおよび通信パートナーＴの安全な相互認証を目的としている。従って、複数の各実施形態によれば、第１の通信パートナーはいわゆる近接型カードＰであり、第２の通信パートナーは対応する読取装置Ｔであってよい。
【０１４０】
第２に、本発明の各実施形態は、２つの各通信パートナー間で交換されたメッセージの完全性保護を確保することを目的としている。第３に、複数の各実施形態に従って、交換されたメッセージのプライバシーの保護が確保される必要がある。
【０１４１】
従って、複数の各実施形態によれば、これら最後の２つの各目的は、相互排他的であり、すなわち、各通信パートナーは、安全な相互認証１０の後、完全性保護を含むデータ転送モード１２、または、プライバシー保護を含むデータ転送モードに同意することが可能である。
【０１４２】
基本的な必要条件として、通信パートナーＴおよび通信パートナーＰは、秘密鍵暗号の設定に従って、共通の秘密情報ｋＩＶを共有している。複数の各実施形態によれば、ブロック暗号化に１２８ビットの鍵長を備えるＡＥＳを用いてよい。しかしながら、他のブロック暗号化アルゴリズムおよび他の鍵長も想定可能である。
【０１４３】
本発明の各実施形態は、本質的に、サイドチャンネル攻撃に対する安全性を増大させることが可能である。このため、基本となる暗号化モジュール、特にＡＥＳハードウェアモジュールにおいて、ハードウェア固有の手段を低減させることが可能になる。これによって、典型的には、近接型カードのサイズは、著しく小型化されることになる。
【０１４４】
種々な状況によっては、本発明の各方法は、ハードウェアまたはソフトウェアにおいて実装されることが可能である。この実装は、例えばＤＶＤ、ＣＤ、または電子的に読み出し可能な制御信号を有するディスクといったデジタル記憶媒体上であってよい。このデジタル記憶媒体は、それぞれの方法が実装されるように、プログラム可能なコンピュータシステムと共に動作可能である。
【０１４５】
従って、本発明は、また、一般に、機械読み出し可能な担体（キャリア）上に格納された、プログラムコードを有するコンピュータプログラム製品を含む。コンピュータプログラム製品は、コンピュータプログラム製品がコンピュータ上で動作すると、本発明の各方法を実行する。換言すると、本発明は、コンピュータプログラムがコンピュータ上で起動すると、セッション鍵を生成する方法を実行するためのコンピュータプログラムとしても実現可能である。
【図１】
2014017841.tif 000003
【図２Ａ】
2014017841.tif 000004
【図２Ｂ】
2014017841.tif 000005
【図２Ｃ】
2014017841.tif 000006
【図３】
2014017841.tif 000007
【図４】
2014017841.tif 000008
【図５Ａ（１）】
2014017841.tif 000009
【図５Ａ（２）】
2014017841.tif 000010
【図５Ｂ（１）】
2014017841.tif 000011
【図５Ｂ（２）】
2014017841.tif 000012
【図６】
2014017841.tif 000013
【図７】
2014017841.tif 000014
【図８】
2014017841.tif 000015
【図９】
2014017841.tif 000016
【図１０】
2014017841.tif 000017
【図１１】
2014017841.tif 000018
【図１２】
2014017841.tif 000019
【図１３】
2014017841.tif 000020
【図１４】
2014017841.tif 000021
【図１５Ａ】
2014017841.tif 000022
【図１５Ｂ】
2014017841.tif 000023