(57)【特許請求の範囲】
【請求項１】
第１のデータ処理ユニット（１）と第２のデータ処理ユニット（２）との相互認証を行なう方法であって、
該第１のデータ処理ユニット（１）において第１のビットストリング（Ｂ１）を生成するステップと、
該第１のビットストリング（Ｂ１）を該第２のデータ処理ユニット（２）に伝送するステップと、
該第２のデータ処理ユニット（２）において、第１のアルゴリズム（Ａ１）を用いて、該第１のビットストリング（Ｂ１）および第１のデータ（Ｄ１）から、第２のビットストリング（Ｂ２）および第３のビットストリング（Ｂ３）を生成するステップと、
該第２のビットストリング（Ｂ２）を該第１のデータ処理ユニット（１）に伝送するステップと、
該第１のデータ処理ユニット（１）において、第２のアルゴリズム（Ａ２）を用いて、該第１のビットストリング（Ｂ１）、該第２のビットストリング（Ｂ２）および第２のデータ（Ｄ２）から、第１の認証結果（Ｒ１）および第４のビットストリング（Ｂ４）を生成するステップと、
該第１のデータ処理ユニット（１）において、第３のアルゴリズム（Ａ３）を用いて、該第４のビットストリング（Ｂ４）および第３のデータ（Ｄ３）から、第５のビットストリング（Ｂ５）を生成するステップと、
該第５のビットストリング（Ｂ５）を該第２のデータ処理ユニット（２）に伝送するステップと、
該第２のデータ処理ユニット（２）において、第４のアルゴリズム（Ａ４）を用いて、該第３のビットストリング（Ｂ３）、該第５のビットストリング（Ｂ５）および第４のデータ（Ｄ４）から、第２の認証結果（Ｒ２）を生成するステップと、
を含む方法。
【請求項２】
前記第３のビットストリング（Ｂ３）は、前記第２のデータ処理ユニット（２）から前記第１のデータ処理ユニット（１）に伝送され、該第３のビットストリング（Ｂ３）は、前記第２のアルゴリズム（Ａ２）において前記第１の認証結果（Ｒ１）および前記第４のビットストリング（Ｂ４）のうちの少なくとも一方を生成するために用いられることを特徴とする、請求項１に記載の方法。
【請求項３】
前記第３のビットストリング（Ｂ３）は、前記第２のビットストリング（Ｂ２）の計算における中間結果であることを特徴とする、請求項１または２に記載の方法。
【請求項４】
前記第１のビットストリング（Ｂ１）は、ランダムに生成されることを特徴とする、請求項１〜３に記載の方法。
【請求項５】
請求項１〜４に記載の方法を実行するための装置であって、
第１のデータ処理ユニット（１）と、
第２のデータ処理ユニット（２）とを備え、
第１のビットストリング（Ｂ１）を生成するビットストリング生成器（ＺＧ）が、該第１のデータ処理ユニット（１）内に設けられ、
該第１のビットストリング（Ｂ１）および第１のデータ（Ｄ１）から第２のビットストリング（Ｂ２）および第３のビットストリング（Ｂ３）を生成する第１のビットストリング処理ユニット（Ａ１）が、該第２のデータ処理ユニット（２）内に設けられ、
該第１のビットストリング（Ｂ１）、該第２のビットストリング（Ｂ２）および第２のデータ（Ｄ２）から第１の認証結果（Ｒ１）および第４のビットストリング（Ｂ４）を生成する前記第２のビットストリング処理ユニット（Ａ２）が、該第１のデータ処理ユニット（１）内に設けられ、
第５のビットストリング（Ｂ５）を生成する第３のビットストリング処理ユニット（Ａ３）が、該第１のデータ処理ユニット（１）内に設けられ、
該第３のビットストリング（Ｂ３）、該第５のビットストリング（Ｂ５）および第４のデータ（Ｄ４）から第２の認証結果（Ｒ２）を生成する第４のビットストリング処理ユニット（Ａ４）が、該第２のデータ処理ユニット（２）内に設けられる、装置。
【請求項６】
前記データ処理ユニット（１）または（２）のうちの少なくとも一方は、集積回路として設けられることを特徴とする、請求項５に記載の装置。
【請求項７】
前記データ処理ユニット（１）または（２）のうちの少なくとも一方はシフトレジスタを含み、該シフトレジスタが少なくとも１つのＸＯＲゲートに帰還されることを特徴とする、請求項５または６に記載の装置。
【請求項８】
前記データ処理ユニットの一方はスマートカードであり、前記データ処理ユニットの他方がスマートカード端末であることを特徴とする、請求項５〜７に記載の装置。
【発明の詳細な説明】
【０００１】
本発明は、チャレンジアンドレスポンス法（Ｃｈａｌｌｅｎｇｅ−Ｒｅｓｐｏｎｓｅ−Ｖｅｒｆａｈｒｅｎ）を用いて２つのデータ処理ユニットの相互認証を行なう方法および構成に関する。
【０００２】
データ処理ユニットの認証は、例えば、テレホンカードおよび電子財布等、電子データ伝送、電子署名、スマートカードと関連して、著しい経済的重要性を獲得した。データ処理ユニットの認証は、認定されたユーザまたはデータ処理ユニットだけがデータを読出し、または改変することが許される場合に重要な意味を有する。
【０００３】
データ処理ユニットを認証する公知の方法は、ＤＥＳ（Ｄａｔａ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）、ＲＳＡ（Ｒｉｖｅｓｔ  Ｓｈａｍｅｒ  Ａｄｅｌｍａｎ）またはＦｉａｔ  Ｓｃｈａｍｉｒ、Ｇｕｉｌｌｏｕ  ＱｕｉｓｑｕａｔｅｒまたはＳｃｈｎｏｒｒらの、いわゆるゼロノリッジ技術（Ｚｅｒｏ−Ｋｎｏｗｌｅｄｇｅ−Ｔｅｃｈｎｉｋｅｎ）暗号法を基礎とするチャレンジアンドレスポンス法に基づく。
【０００４】
チャレンジアンドレスポンス法に共通している特徴は、乱数（チャレンジ）が生成され、点検されるべきデータ処理ユニットに送信されることである。点検されるべきデータ処理ユニットは、ここから、適切な暗号法を用いて応答数（レスポンス）を生成する。この応答数は検査データ処理ユニットに戻される。チャレンジアンドレスポンスを用いて、検査データ処理ユニットは、点検されるべきデータ処理ユニットの信頼性を点検する。
【０００５】
相互認証の場合、チャンレンジアンドレスポンス法は２回行なわれ、２回目の実行の際に、検査データ処理ユニットおよび点検されるべきデータ処理ユニットの役割が交換されるので、各データ処理ユニットはもう一方のデータ処理ユニットを点検する。
【０００６】
本発明の課題は、２つのデータ処理ユニットの相互認証を行なうための簡略化した方法を提示することである。さらに、この方法が実行され得るために用いられる回路を提示することが本発明の課題である。
【０００７】
本発明により、課された課題は、以下の方法のステップを有する第１のデータ処理ユニットおよび第２のデータ処理ユニットの相互認証を行なう方法によって解決される。第１のデータ処理ユニットにおいて第１のビットストリングを生成するステップと、第１のビットストリングを第２のデータ処理ユニットに伝送するステップと、第２のデータ処理ユニットにおいて、第１のアルゴリズムを用いて、第１のビットストリングおよび第１のデータから、第２のビットストリングおよび第３のビットストリングを生成するステップと、第２のビットストリングを第１のデータ処理ユニットに伝送するステップと、第１のデータ処理ユニットにおいて、第２のアルゴリズムを用いて、第１のビットストリング、第２のビットストリングおよび第２のデータから、第１の認証結果および第４のビットストリングを生成するステップと、第１のデータ処理ユニットにおいて、第３のアルゴリズムを用いて、第４のビットストリングおよび第３のデータから、第５のビットストリングを生成するステップと、第５のビットストリングを第２のデータ処理ユニットに伝送するステップと、第２のデータ処理ユニットにおいて、第４のアルゴリズムを用いて、第３のビットストリング、第５のビットストリングおよび第４のデータから、第２の認証結果を生成するステップとを包含する。
【０００８】
本発明による方法の利点は、第１のビットストリングは、第１のデータ処理ユニットによって第２のデータ処理ユニットを認証するために用いられ、第３のビットストリングおよび第４のビットストリングを計算するために用いられることである。この方法によって、第２のデータ処理ユニットを乱数発生器なしに提供することが可能である。乱数発生器の欠如によって、第２のデータ処理ユニットは、本質的に、より小型で、より単純で、従ってより手頃な費用で実施されるように設計し得る。これは、例えば、スマートカード等の大量販売向けの用途において、より確実な認証方法が用いられるべき場合に決定的である。乱数発生器の省略は、データ処理ユニットを著しく簡略化することを意味する。なぜなら、乱数発生器においては、ランダム性および外部からの操作に対する非感受性が高度に要求されるからである。この著しい簡略化にもかかわらず、ＤＥＳ、ＲＳＡまたはさらにゼロノリッジ技術等の、暗号的に安全であると格付けされた暗号法が用いられ得、これらの方法の安全性を保つ。これによって、本発明による方法は、従来技術による方法によって保証されていた安全性の基準と同じ安全性の基準を満たす。
【０００９】
本発明による方法の有利な実施形態は、第３のビットストリングが第２のデータ処理ユニットから第１のデータ処理ユニットに伝送され、第２のアルゴリズムによって用いられて、第１の認証結果および／または第４のビットストリングを生成することを提供する。この手順によって、第２のアルゴリズムにおいて多種多様な計算方法が用いられ得る。
【００１０】
さらに有利であるのは、第３のビットストリングは第２のビットストリングの計算の中間結果であることである。この工程によって、第１のアルゴリズムにおけるさらなる複雑さ（Ａｕｆｗａｎｄ）を回避して、第１のアルゴリズムの実施がより早く行なわれ得る。
【００１１】
この方法のさらなる有利な実施形態は、第１のビットストリングがランダムに生成されることを提供する。第１のビットストリングをランダムに生成することは、本方法の安全性を高める。
【００１２】
第１のビットストリングが、既に用いられたすべての第１のビットストリングと異なるものが選択されることは有利である。これによって、アタッカーが第１のビットストリング、およびそこから計算された第２のビットストリングを予測し得ないことが保証される。これによって、この方法の安全性は高められる。
【００１３】
本発明による方法を実行するための構成は、第１のデータ処理ユニットおよび第２のデータ処理ユニットを備え、第１のビットストリングを生成するビットストリング生成器が、第１のデータ処理ユニット内に設けられ、第１のビットストリングおよび第１のデータから第２のビットストリングおよび第３のビットストリングを生成する第１のビットストリング処理ユニットが、第２のデータ処理ユニット内に設けられ、第１のビットストリング、第２のビットストリングおよび第２のデータから第１の認証結果および第４のビットストリングを生成する第２のビットストリング処理ユニットが、第１のデータ処理ユニット内に設けられ、第５のビットストリングを生成する第３のビットストリング処理ユニットが、第１のデータ処理ユニット内に設けられ、第３のビットストリング、第５のビットストリングおよび第４のデータから第２の認証結果を生成する第４のビットストリング処理ユニットが、第２のデータ処理ユニット内に設けられる。
【００１４】
この際、データ処理ユニットは、例えば、コンピュータ、ラップトップ、パームトップ、携帯電話、ハンドヘルドコンピュータ、スマートカード、電子財布、テレホンカード、医療保険カード、および直接または間接的にさらなるデータ処理ユニットと通信し得る他の一連のユーザデバイスとして形成され得る。
【００１５】
本発明による構成の有利な実施形態において、データ処理ユニットのうちの少なくとも１つが集積回路として設けられる。これによって、非常に小型で、場所をあまりとらないデータ処理ユニットおよび複製することによって製造され得るデータ処理ユニットが可能である。
【００１６】
さらなる有利な構成において、データ処理ユニットのうちの１つはモバイルである。これによって、データ処理ユニットの容易に運搬することが可能である。
【００１７】
さらに有利なのは、データ処理ユニットのうちの１つがシフトレジスタを含み、このシフトレジスタが少なくとも１つのＸＯＲゲートに帰還されることである。ＸＯＲゲートは、ゲートと呼ばれる素子内に設けられる排他的論理和機能（Ｅｘｋｌｕｓｉｖ−ｏｄｅｒ  Ｆｕｎｋｔｉｏｎ）である。この場合、シフトレジスタは、４つのアルゴリズムのうちの１つが実行されるユニットの一部である。
【００１８】
さらなる有利な構成は、データ処理ユニットの一方がスマートカードであり、データ処理ユニットの他方がスマートカード端末であることを提供する。
【００１９】
本発明のさらなる実施形態は、従属請求項において記載される。
【００２０】
本発明の実行例は、図面において示され、以下において詳細に説明される。
【００２１】
図１において、第１のデータ処理ユニット１および第２のデータ処理ユニット２を備えるシステムが示される。さらに、第１のデータ処理ユニット１においていくつかの方法ステップ、およびデータ処理ユニット２において他のデータ処理ステップが実行されるフローチャートが示される。本方法は、第１のビットストリングＢ１の生成で始まる。このビットストリングは、本実施例における第１のデータ処理ユニット１において乱数発生器ＺＧを用いて生成される。第１のビットストリングＢ１は、第１のデータ処理ユニット１から第２のデータ処理ユニット２に伝送され、第２のデータ処理ユニット２において、第１のビットストリングＢ１および第１のデータＤ１からのアルゴリズムＡ１を用いて第２のビットストリングＢ２および第３のビットストリングＢ３が生成される。
【００２２】
アルゴリズムは、ＤＥＳ、ＲＳＡ等の従来技術から公知のアルゴリズムの１つであり得る。データＤ１は、例えば、秘密鍵ならびに／あるいは第２のビットストリングＢ２および／または第３のビットストリングＢ３を計算するために要求される他の秘密鍵であり得る。
【００２３】
次に、第２のビットストリングＢ２が第２のデータ処理ユニット２から第１のデータ処理ユニット１に伝送される。第１の認証結果Ｒ１が、第１のデータ処理ユニット１による第２のデータ処理ユニット２の認証の結果として生成され、第１のビットストリングＢ１、第２のビットストリングＢ２および第２のデータＤ２からの第２のアルゴリズムＡ２を用いて第４のビットストリングＢ４が、第１のデータ処理ユニット１内に生成される。第２のアルゴリズムＡ２は、用いられた暗号化アルゴリズム（ＤＥＳ、ＲＳＡ等）の関数として選択され、第１のアルゴリズムＡ１と対応する。データＤ２は、例えば、秘密鍵、または秘密マスターキーを含み、このマスターキーから秘密鍵が計算され得る。ＲＳＡの場合、例えば、秘密鍵および／または公開鍵である。
【００２４】
第１のデータ処理ユニット１において、第４のビットストリングＢ４および第３のデータＤ３からの第３のアルゴリズムＡ３を用いて第５のビットストリングＢ５が生成される。
【００２５】
第５のビットストリングＢ５は、第１のデータ処理ユニット１から第２のデータ処理ユニット２へ伝送される。
【００２６】
第２のデータ処理ユニット２において、第２の認証結果Ｒ２は、第３のビットストリングＢ３、第５のビットストリングＢ５および第４のデータＤ４から第４のアルゴリズムを用いる第２のデータ処理ユニット２による第１のデータ処理ユニット１の認証の結果として生成される。
【００２７】
アルゴリズムＡ３およびＡ４は、例えば、従来技術から公知のアルゴリズム（ＤＥＳ、ＲＳＡ等）であり得る。データＤ３およびＤ４は、例えば、秘密の鍵である。アルゴリズムＡ１は、例えば、アルゴリズムＡ３に対応し得る。
【００２８】
両方の認証が肯定的な結果になると、第１のデータ処理ユニット１および第２のデータ処理ユニット２は相互に認証した。アルゴリズムＡ１、Ａ２、Ａ３およびＡ４は、例えば、暗号法である。データＤ１、Ｄ２、Ｄ３およびＤ４は、例えば、秘密鍵または公開鍵であり、これらを用いてビットストリングＢ１、Ｂ２、Ｂ３およびＢ４が変更される。この方法の利点は、第２のデータ処理ユニット２において乱数発生器が必要とされないことである。この方法のさらなる利点は、第１のデータ処理ユニット１と第２のデータ処理ユニット２との間で、データ伝送が３つだけ必要とされることである。従来は４つのデータ伝送が必要である。
【００２９】
図２において、２つのデータ処理ユニットの相互認証を行なうための、本発明によるさらなる方法が示される。図２に示される認証方法は、第３のビットストリングＢ３が第２のデータ処理ユニット２から第１のデータ処理ユニット１へ伝送されるという点で図１に示される認証方法と異なる。図１とのさらなる相違は、第３のビットストリングＢ３が第２のアルゴリズムＡ２において用いられ、第４のビットストリングおよび／または第１の認証結果Ｒ１を生成することである。他のステップは、図１との関連で記載されるように実施される。
【図面の簡単な説明】
【図１】  図１は、２つのデータ処理ユニットの相互認証を行なうための本発明による第１の方法を示す。
【図２】  図２は、２つのデータ処理ユニットの相互認証を行なうための本発明によるさらなる方法を示す。
【図１】
0003676735.tif 000002
【図２】
0003676735.tif 000003