IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ダイムラー・アクチェンゲゼルシャフトの特許一覧

特表2024-507704暗号化の秘密の同等性をチェックするための方法
<>
  • 特表-暗号化の秘密の同等性をチェックするための方法 図1
  • 特表-暗号化の秘密の同等性をチェックするための方法 図2
  • 特表-暗号化の秘密の同等性をチェックするための方法 図3
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-02-21
(54)【発明の名称】暗号化の秘密の同等性をチェックするための方法
(51)【国際特許分類】
   H04L 9/32 20060101AFI20240214BHJP
【FI】
H04L9/32 200A
H04L9/32 200F
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023546225
(86)(22)【出願日】2022-01-27
(85)【翻訳文提出日】2023-09-20
(86)【国際出願番号】 EP2022051828
(87)【国際公開番号】W WO2022171446
(87)【国際公開日】2022-08-18
(31)【優先権主張番号】102021000645.3
(32)【優先日】2021-02-09
(33)【優先権主張国・地域又は機関】DE
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.BLUETOOTH
(71)【出願人】
【識別番号】598051819
【氏名又は名称】メルセデス・ベンツ グループ アクチェンゲゼルシャフト
【氏名又は名称原語表記】Mercedes-Benz Group AG
【住所又は居所原語表記】Mercedesstrasse 120,70372 Stuttgart,Germany
(74)【代理人】
【識別番号】100090583
【弁理士】
【氏名又は名称】田中 清
(74)【代理人】
【識別番号】100098110
【弁理士】
【氏名又は名称】村山 みどり
(72)【発明者】
【氏名】ヴィクトール・フリーゼン
(72)【発明者】
【氏名】ヴィクトール・パヴロヴィッチ
(72)【発明者】
【氏名】フィリップ・ウェーバー
(57)【要約】
本発明は、暗号化の秘密の同等性をチェックするための方法に関するものであり、秘密の少なくとも1つは、セキュアシステムに読取り保護された状態で保存される。
本発明に基づく方法は、少なくとも1つのセキュアシステムが、暗号学的ハッシュ値のインターフェース(2、4)を備え、チェックのために、ソルトまたはソルトのハッシュ値を与えられた秘密のハッシュ値が、ソルトまたはソルトのハッシュ値を与えられた別の秘密の対応するハッシュ値との比較のために、インターフェース(2、4)を介して出力されることを特徴とする。
【特許請求の範囲】
【請求項1】
暗号化の秘密の同等性をチェックするための方法であって、前記秘密の少なくとも1つは、セキュアシステムに読取り保護された状態で保存される、前記方法において、
少なくとも1つの前記セキュアシステムは、暗号学的ハッシュ値のインターフェース(2、4)を備え、チェックのために、ソルトまたはソルトのハッシュ値を与えられた前記秘密のハッシュ値が、ソルトまたはソルトのハッシュ値を与えられた別の秘密の対応するハッシュ値との比較のために、前記インターフェース(2、4)を介して出力されることを特徴とする、前記方法。
【請求項2】
前記ソルトは、複数の部分からなるソルトとして構成され、1つのソルト部分は少なくとも1つの前記セキュアシステムによって自己決定され、他のソルト部分は前記セキュアシステムに伝送されることを特徴とする、請求項1に記載の方法。
【請求項3】
前記セキュアシステムで自己決定された前記ソルト部分は、前記ソルト部分を与えられた前記秘密の前記ハッシュ値の形成前に公開されることを特徴とする、請求項2に記載の方法。
【請求項4】
前記ソルト部分と前記セキュアシステム内の前記秘密を連結する順序は、前記セキュアシステム自体において決定されるか、または外部から規定されることを特徴とする、請求項2または3に記載の方法。
【請求項5】
前記ソルトは、自己決定された部分と外部決定された部分を持つ2部分ソルトとして構成されていることを特徴とする、請求項2から4のいずれか一項に記載の方法。
【請求項6】
異なるセキュアシステムに保存されている複数の秘密の同等性をチェックする場合、第1のシステムにおいてその自己決定されたソルト部分のクエリが行われ、次に、このソルト部分は別のセキュアシステムに伝達され、前記別のセキュアシステムは、その自己決定されたソルト部分を、その秘密と前記両方のソルト部分とのハッシュ値と一緒に伝達し、前記別のセキュアシステムの前記自己決定されたソルト部分は、外部決定されたソルト部分として前記第1のセキュアシステムにフィードバックされ、前記第1のセキュアシステムは、その秘密と前記両方のソルト部分とからハッシュ値を算出し、次に、前記両方のシステムからチェックのために伝達された、前記秘密と前記両方のソルト部分とのそれぞれの前記ハッシュ値が比較されることを特徴とする、請求項2から5のいずれか一項に記載の方法。
【請求項7】
前記第1のセキュアシステムの連結の順序において、前記別のシステムが使用した連結の前記順序(R)に対して前記両方のソルト部分が入れ替えられ、それによって、少なくとも前記第1のシステムは、連結の前記順序(R)を外部規定として伝達してもらうことを特徴とする、請求項6に記載の方法。
【請求項8】
前記別のセキュアシステムは、連結の前記順序(R)を決定し、それを公開することを特徴とする、請求項6または7に記載の方法。
【請求項9】
前記秘密は、前記ソルトの代わりに、前記連結されたソルト部分のハッシュ値を与えられ、この組み合わせのハッシュ値に基づいて比較が行われることを特徴とする、請求項2から6のいずれか一項に記載の方法。
【請求項10】
前記自己決定されたソルト部分は、特にセキュア乱数発生器によって常に新しく生成されることを特徴とする、請求項2から9のいずれか一項に記載の方法。
【請求項11】
常に少なくとも1つの自己決定されたソルト部分が使用されることを特徴とする、請求項2から10のいずれか一項に記載の方法。
【請求項12】
暗号学的ハッシュ関数として、ハッシュ関数に基づく複合暗号学的一方向性関数が使用されることを特徴とする、請求項1から11のいずれか一項に記載の方法。
【請求項13】
セキュアシステムとして、ハードウェアセキュリティモジュールが使用されることを特徴とする、請求項1から12のいずれか一項に記載の方法。
【請求項14】
少なくとも1つの前記セキュアシステムは、通信インターフェースを与えられており、前記通信インターフェースを介して、暗号学的ハッシュインターフェース(2、4)が、以下の部分機能、
-自己決定されたソルト部分を使用するか?
-前記ハッシュ値を作成する前に、周辺の前記自己決定されたソルト部分を公開するか?
-外部決定されたソルト部分を使用するか?
-外部決定されたソルト部分をどれくらい使用するか?
-連結の前記順序(R)は前記セキュアシステムで決定されるのか、または外部で規定することができるのか?
-連結の前記順序(R)において、前記秘密は常に規定された箇所、特に最初に来るのか?
-前記連結されたソルト部分から生じる前記ソルトは事前にハッシュ化されるか?
-前記秘密は事前にハッシュ化されるか?
のうち少なくとも1つに関して、改竄できないように構成可能であることを特徴とする、請求項1から13のいずれか一項に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、暗号化の秘密の同等性をチェックするための方法に関し、秘密の少なくとも1つは、セキュアシステム(secure system)に読取り保護された状態で保存される。
【背景技術】
【0002】
現代の車両は、今日、情報技術の大規模な車両エコシステムの一部となっている。このとき、この車両エコシステムの中心部となるのが、いわゆるビークルバックエンド、略してバックエンドである。これは、通常、自動車メーカーによって運用されるサーバーであり、車両はこのサーバーと接続され、サーバーを介して例えばインターネットまたは車両同士のネットワークに接続される。このとき、バックエンドと車両間の通信接続は、情報セキュリティの周知の標準方式を使って保護される。その多くはTLSであるが、ときにはIPSecも使用される。この場合、これらすべての標準方式が、例えばECCまたはRASといった、いわゆる非対称暗号化に基づいている。このとき、車両エコシステムは、例えば車両に取り付けられている個々の制御装置やスマートフォンなど、その他のコンポーネントも備えることができ、スマートフォン上で動作するアプリケーションは、例えば自動車メーカーから提供され、車両または車両の制御装置とバックエンドの両方と通信する。車両内部の通信は、例えばWLANまたはBluetoothを介して行われ、車両外部の通信は、通常、一般的な移動無線網を介して行われる。車両エコシステムのさらなる構成要素は、例えばいわゆるOBDドングルなどのメーカー固有の外部装置であってもよく、これらは、通常、ハードウェアインターフェースを介して車両とのみ通信する。これらの通信関係も、通常、非対称暗号化方式、例えばTLSまたはIPSecによって保護される。
【0003】
しかし、その他にも、車両エコシステムの2者またはそれより多い参加者に対しては、より安全な仕方で共有の秘密を供与することがより効率的であるか、またはセキュリティ要件の理由から必要であるケースも存在し、その共有の秘密は、共有の秘密に基づく暗号化方式、一般的にはいわゆる対称暗号化によって、これらの参加者間の通信を保護するために引き続き使用することができる。共有の秘密およびそれに基づく暗号化方式の例は、例えば暗号化のためのAESによる128ビットの共有鍵、認証もしくは統合のためのHMACによる256ビットの共有鍵、またはパスワード認証のための個別のパスワードなどであってよい。
【0004】
また、そのような種類の共有の秘密は、これらの秘密を使用するシステムにおいて、不正アクセスに対して、ここでは特に不正読取りアクセスに対して可能な限り保護される。このことは、これらの秘密を使用する暗号化動作のローカル呼び出し用インターフェースだけが設けられており、秘密自体の読み取り用はないことによって実現できる。さらに、そのような秘密は、例えばソフトウェアベースの難読化技術によって、またはより安全に秘密を保存するシステムとしてハードウェアセキュリティモジュール(Hardware Security Modules、HSM)を使用することによって、リバースエンジニアリングに対して最大限保護される。保存された後、それらの秘密がこのシステムから離れることはない。
【0005】
この手順のメリットは、ハードウェアセキュリティモジュールを使用している場合、誰も、特にシステムにフルアクセスできる攻撃者であっても、秘密の値にアクセスして、妥当な努力によってこの秘密を平文で入手することはできないという点にある。鍵を使用するすべての暗号化動作は、同様にセキュアシステム内で、例えばHSM内で実行される。しかし、この手順の欠点は、暗号化動作に失敗した場合のトラブルシューティングが困難なことである。そのようなエラーは、受信側で例えばメッセージ認証符号(Message Authentication Code、MAC)やパスワードの復号化またはチェックを行う際に発生する可能性がある。受信側で、例えば復号化や整合性チェック、または認証に失敗した場合は、当然、送信側で使用された秘密、つまり、メッセージを暗号化および/または認証した鍵と、受信側でメッセージを復号化する、および/またはメッセージの整合性をチェックする鍵が互いに異なっているのではないかという疑いが容易に思いつく。特に、秘密を定期的に更新すること、すなわち秘密を新たに交換したり、新しく取り決めたりすることがセキュリティ上の理由から非常に重要である場合は、そのような疑いが自然に生じる。そのように最近になって更新された秘密による動作がこの時点まで一度も成功しなかった場合、エラーの疑いはすぐに秘密に向けられる。しかしながら、参加している通信相手の少なくとも1つの該当する秘密が、例えば上述したHSMのようなセキュアシステムに保持される場合、すべての該当する通信相手が同じ秘密を使用しているかどうかを調べることは容易ではない。システム内に安全に保存されるこの秘密の値は簡単には読み取れないものであり、またそのように考案されている。従って、デバッグ状況においても、システムまたは装置にフルアクセスできても、通常、読み取りは不可能である。
【0006】
そのような同等性チェックの可能なアプローチとしては、暗号学的ハッシュ関数の使用が考えられる。これにより、秘密自体ではなく、この秘密のハッシュを読み取ることができるだろう。このようにして、同一の秘密の異なるインスタンスのハッシュ値を、異なるセキュアシステムから読み取るか、または少なくとも1つが安全である異なるシステムから読み取り、続いてハッシュ値を比較することで、同等性をチェックすることができる。このことは、鍵または秘密自体を読み取ることが不可能であり、通常、暗号学的ハッシュ値から秘密を推測することもできないという利点を有している。
【0007】
特許文献1は、プロビジョニングの際に、ハッシュ値の形成および秘密の保護に対するハッシュ値の比較を利用し、外部の規定値と、鍵から生成されたハッシュ値とが同等の場合に「安全フラグ」を作動するセキュリティインジケータの作成を可能にしている。
【特許文献1】US 2017/0366527 A1
【0008】
しかし、この手順は、パスワードなどの該当する秘密が、例えば短すぎるとか、あるいは特定の周知のパターンを有しているなどの理由から、エントロピを十分に備えていない場合、特に問題となる。このケースでは、総当たり攻撃や辞書攻撃、またはハッシュ値から秘密を推測できるレインボーテーブルを用いた攻撃など、IT分野で周知の一般的な攻撃手法が可能である。
【発明の概要】
【発明が解決しようとする課題】
【0009】
従って、本発明の課題は、暗号化の秘密の同等性をチェックするための適切な方法を提供することであり、この場合、秘密自体は秘密のままであるが、外部からの攻撃に対するセキュリティが高くても、秘密の比較が可能である。
【課題を解決するための手段】
【0010】
本発明に基づき、この課題は、請求項1の特徴、およびここでは特に請求項1の特徴部に記載の特徴を持つ方法によって解決される。これに依拠している従属請求項から、有利な実施形態及び発展形態が明らかになる。
【0011】
暗号化の秘密の同等性をチェックするための本発明に基づく方法は、このとき、本発明に基づく方法の極めて好適な発展形態に従って、ハードウェアセキュリティモジュール(HSM)として形成することのできるセキュアシステムに、読み取り保護された状態で保存される少なくとも1つの秘密を使用する。少なくとも1つのセキュアシステム、すなわち例えばHSMは、ハッシュ値のインターフェースを備えている。セキュアシステムに保存される秘密の暗号学的ハッシュ値は、このインターフェースを介して読み取ることができる。さらに、このセキュアシステムは、ハッシュ値の作成前に、いわゆるソルト(Salt)またはそのようなソルトのハッシュ値を秘密に与えることができる。次に、暗号学的ハッシュ値が、秘密および付加されたソルトまたはそのハッシュ値から作成され、それに応じて、例えばレインボーテーブルなどによるこの秘密への攻撃も困難になる。なぜなら、レインボーテーブルの作成は極めて複雑で、費用もかかるため、その労力をかけても報われないからである。
【0012】
一般的な定義では秘密の値ではないソルトが、外部から規定されるものではなく、好ましくはすべてのクエリに対して固定されていない場合は特に効率的である。従って、ソルトは、可能な限りセキュアシステムで作成され、その際、自由に選択されるものでなければならない。このようにして、読み取りに対して保護された状態で秘密が保存されるセキュアシステムでは、常にセキュアなソルトだけを使用することが保証できる。このとき、ソルトは、常に十分な長さを持ち、十分に区別できるものであることが重要である。しかし、問題は、ソルトによって保存する秘密に何かが付加されることであり、このことは異なるシステムにおいて必ずしも同じではなく、通常、システム自体がそれぞれソルトを規定している場合は、同じものにならない。そのため、この強化されたセキュリティによって、同等性の検査が疑問視されることになる。
【0013】
従って、本発明の極めて好適な発展形態によれば、ソルトが複数の部分からなるソルトとして構成されるように設けられており、1つのソルト部分は少なくとも1つのセキュアシステムによって決定され、他のソルト部分はこのセキュアシステムに伝送される。
【0014】
これにより、一方では、周知の攻撃に関して非常にセキュアな1つのソルトをセキュアシステムによって生成することが可能になり、本発明に基づく方法の極めて好適な発展形態に従って、このソルトは、自己決定されたソルト部分として常に新しく生成され、かつ特に常にセキュア乱数発生器によって生成することができる。他のソルト部分は、セキュアシステムに伝送される。
【0015】
本発明に基づくもう1つの非常に好適な実施形態では、さらに、セキュアシステムによって自己決定されたソルト部分が、秘密のハッシュ値の形成前に公開されるように設けることができる。これにより、好ましくはそれぞれの状況ごとに、セキュアシステムで生成されるソルト部分は、例えば比較するインスタンスとして周知であり、このインスタンスは外部決定された部分をセキュアシステムに伝送することができる。
【0016】
もう1つの非常に好適な実施形態では、ソルト部分と秘密とを連結する順序が、セキュアシステムにおいて決定されるか、またはこのセキュアシステムに外部から規定されるように設けられている。秘密とソルト部分のこの順序は、ソルトと秘密の組み合わせのハッシュ値に決定的な影響を及ぼす。この場合、順序は、例えば外部から規定することができ、理論的には常に同じ順序が使用可能であり、例えば一方のシステムでは、自己決定されたソルト、外部決定されたソルト、秘密という順序を使用し、他方のシステムではそれに対応してソルト部分が逆の順序を持つ構造を使用し、それによって、両方のシステムから、秘密とソルト部分の組み合わせに対する同一の暗号学的ハッシュ値が生成され、高い信頼性での比較が可能になる。
【0017】
ここで、非常に好適な実施形態では、ソルト自体が、自己決定されたソルト部分と外部決定されたソルト部分を持つ2部分ソルトとして形成されるように設けられている。この場合、2つの秘密の比較が可能であり、このプロセスを任意に何度も繰り返し、それによって、例えば複数の参加インスタンスの複数の秘密を、特にデバッグプロセスにおいて、相互に照合することができる。
【0018】
異なるセキュアシステムに保存される複数の秘密の同等性をチェックする場合、本発明に基づく方法の極めて好適な発展形態によれば、第1のシステムにおいてその自己決定されたソルト部分のクエリが行われ、次に、このソルト部分は別のシステムに伝達され、この別のシステムは、その自己決定されたソルト部分を、その秘密と両方のソルト部分とのハッシュ値と一緒に伝達し、別のシステムの自己決定されたソルト部分は、外部決定されたソルト部分として第1のシステムにフィードバックされ、この第1のシステムは、その秘密と両方のソルト部分とからハッシュ値を算出し、次に、両方のシステムから伝達されたハッシュ値が比較されるように進めることができる。これにより、特にすでに何度も言及したデバッグプロセスにおいて、秘密の同等性を確実かつ効率的にチェックすることが可能である。
【0019】
特に、本発明に基づく解決方法の非常に有利な発展形態によれば、ここでは、ソルトの代わりに、連結されたソルト部分のハッシュ値を使用することができる。次に、秘密は、すでに連結されてハッシュ化されたソルト部分のこのハッシュ値を与えられ、再びハッシュ化される。比較は、この第2のハッシュ値に基づいて行われる。このことは、選択平文攻撃に対するセキュリティを強化することができる。
【0020】
本発明の1つの発展形態によれば、第1のシステムの連結の順序において、別のシステムの連結の順序に対してソルト部分が入れ替えられ、それによって、少なくとも第1のシステムは、順序を外部規定として伝達してもらうように設けることができる。つまり、順序は、常にそれぞれのセキュアシステムから「見た」順序である。連結の固定順序が決められている場合、このことは、その他の措置を行わずにその通りに実行可能である。好ましくは、この考え方の非常に有利な発展形態によれば、別のシステムが順序を自ら決定し、その都度公開し、例えばその自己決定されたソルト部分、および秘密と両方のソルト部分とのハッシュ値も一緒に伝達することができる。次に、別のシステムによって自己決定されるこの順序は、外部規定された第1のシステムへの伝達順序として用いられる。このとき、ソルト部分の順序がそれぞれのセキュアシステムの視点から互いに取り替えられる場合、両方のセキュアシステムの秘密がこのことを同様に行うとすれば、考えられるもっとも高いセキュリティにおいて、秘密と両方のソルト部分との暗号学的ハッシュ値は一致することがすべてのケースで保証される。このとき、常に、好ましくは十分な長さおよび/またはエントロピの自己決定されたソルト部分が生成および使用され、一方のシステムのための外部規定されたソルト部分は、いわば他方のシステムの自己生成されたソルト部分であるので、ソルトについては固定値および完全に外部由来の規定値は許可されず、これにより、本方法のセキュリティはさらに強化される。
【0021】
自己決定されたソルト部分のこのような使用により、いわゆる選択平文攻撃のカテゴリを防ぐことが可能である。なぜなら、そのような選択平文攻撃の可能性は、自己決定されたソルト部分を使用することによって難しくなるからである。例えばレインボーテーブルによる攻撃など、その他の攻撃可能性もまた大幅に制限される。なぜなら、そのような攻撃は、すべてのソルトに対して個別のレインボーテーブルが必要になることから、使用されたソルトまたはその部分が十分な長さやエントロピを持っている場合はなおさら、経済的な理由からだけでも実現することは不可能である。
【0022】
秘密とソルト部分とのハッシュ値を検出するための従来の暗号学的ハッシュ関数に代わり、ここでは、本発明に基づく方法の極めて好適な発展形態に従って、例えばHMACまたはいわゆる鍵導出関数(KDF)など、ハッシュ関数に基づく複合暗号学的一方向性関数を使用することができる。ハッシュ値はこの関数によって算出されるため、例えばSHA-256などの従来のハッシュ値算出に対して、さらなるセキュリティの利点がもたらされる。
【0023】
ここでは、それぞれ2つの秘密を、それぞれの秘密とソルトのハッシュ値によって互いに比較することができる。秘密がそれよりも多い場合は、これを反復的に繰り返すことができる。しかしまた、この方法を使って、3つまたはそれより多い秘密を直接比較することもできるであろう。秘密の数が多くなるに伴って、秘密とソルトまたはソルト部分を連結する可能性が増加するという理由から、好ましくはここで決定された連結の順序と、この順序をそれぞれ関連するセキュアシステムで実現することがますます重要になる。
【0024】
さらに、本発明に基づく方法のもう1つの非常に好適な実施形態では、暗号学的ハッシュインターフェースの個々の部分機能のために、例えばHSMなどのセキュアシステムにセキュアな構成オプションが設けられており、これによって、少なくとも以下の設定は、改竄できないように構成することが可能になっている。これらの設定には、以下の質問、
-自己決定されたソルト部分を使用するか?
-ハッシュ値を作成する前に、周辺の自己決定されたソルト部分を公開するか?
-外部決定されたソルト部分を使用するか?
-外部決定されたソルト部分をどれくらい使用するか?
-連結の順序はセキュアシステムで決定されるのか、または外部で規定することができるか?
-連結の順序において、秘密は常に規定された箇所、特に最初に来るのか?
-連結されたソルト部分から生じるソルトは事前にハッシュ化されるか?
-秘密は事前にハッシュ化されるか?
のうち少なくとも1つ、好ましくはすべてが含まれる必要がある。
【0025】
これらのさまざまな決定事項により、システムは、本発明に基づく方法で使用するために、例えば相互に、または規定された検査戦略に相応に適合させることができる。該当するインターフェースの構成に応じて、それ自体同一に構成されたシステムでも、この構成によってさらに異なって形成することができるため、セキュリティはさらに強化される。このとき、特に最後の質問は、事前に秘密をハッシュ化することが、通常の手順としてあらかじめ決定される場合は、省略できるであろう。
【0026】
本発明に基づく方法のさらなる有利な実施形態は、さらに、以下に図を使って詳しく示される実施例からも明らかである。
【図面の簡単な説明】
【0027】
図1】車両エコシステムにおける共有の秘密の模式図である。
図2】本発明に基づく方法の第1の実施例におけるプロセスの模式図である。
図3】本発明に基づく方法の代替プロセスの模式図である。
【発明を実施するための形態】
【0028】
図1には、車両エコシステム1またはその一部が示されている。示されている部分には、例として2つの車両V1およびV2が含まれ、これらの車両はそれぞれ2つの制御装置ECU1およびECU2を搭載している。その他には、しばしばバックエンドと略して呼ばれるビークルバックエンドBが示されている。バックエンドBは、車両V1、V2またはそれらの制御装置ECU1、ECU2と通信することができる。そのために、バックエンドBにはハードウェアセキュリティモジュールHSMの形のセキュアシステムが搭載され、本実施例では、このセキュアシステムに2つの秘密SEC3とSEC4が保存される。両方の車両V1、V2には、それに対応する秘密SEC5とSEC6が、例えばそれぞれ第2の制御装置内のハードウェアセキュリティモジュールHSM3およびHSM4に保存される。車両エコシステム1の部分のここに図示される実施例において、両方の車両V1、V2は互いに通信できなければならない。そのために、単なる例として、両方の第1の制御装置ECU1は、第1の車両1のハードウェアセキュリティモジュールHSM1および第2の車両2のHSM2を使ってその役割を担っている。これに対応する秘密は、SEC1およびSEC2と呼ばれる。
【0029】
いずれかの通信で不具合が生じ、それが暗号処理に由来するものである場合、必ず、それぞれの秘密SEC1、SEC2でも問題がある可能性がある。従って、両方の車両V1、V2の制御装置ECU1の各ハードウェアセキュリティモジュールHSM1およびHSM2にある両方の暗号SEC1およびSEC2の同等性を、いかに簡単に、確実に、さらに効率的にチェックすることができるかを、以下の実施例で説明する。このとき、秘密SEC1、SEC2自体を読み取る必要はなく、この読取りは、セキュアシステムにおいて、通常、デバッグプロセス中にフルアクセスしている場合でも不可能である。
【0030】
従って、秘密SEC1、SEC2自体を読み取る代わりに、これらの秘密SEC1、SEC2のハッシュ値HASH1、HASH2が読み取られる。ハッシュ値HASH1、HASH2の生成には、ハッシュ値を生成するための一般的な関数、例えばSHA-256を使用することができる。しかしまた、以下に実施例の説明で使用するそのような従来の暗号学的ハッシュ関数に代わって、暗号学的ハッシュ関数に基づく複合暗号学的一方向性関数も使用することができる。例えばHMACまたは鍵導出関数KDFなどである。この場合、例えば、秘密とソルトからハッシュHASH(SEC||SALT)を算出する代わりに、関数HMAC(SEC、SALT)またはKDF(SEC、SALT、反復)が入るであろう。このとき、反復とは、鍵導出関数の適用繰り返し回数を決定している自由選択された自然数であると理解することができる。
【0031】
次に、図2を用いて説明される実施例では、2つの異なるハードウェアセキュリティモジュールHSM1、HSM2の秘密SEC1、SEC2をチェックする必要がある。そのために、図2において符号3が付けられている検査ユニットが用いられる。両方のハードウェアセキュリティモジュールHSM1、HSM2は、それぞれ上述のすべての特性を実装した、またはそれらの特性に従って構成することのできる、それぞれ1つのハッシュ値のインターフェース2を備えている。すなわち、このインターフェース2を介して、自己決定されたソルト部分の事前クエリと、ソルト部分の連結順序を決定する可能性の両方が可能になる。検査ユニット3は、両方のハードウェアセキュリティモジュールHSM1、HSM2に保存されている秘密SEC1、SEC2の同等性をチェックするために設計されているシステムである。
【0032】
ここで、詳細なプロセスを以下に示す。また、図2においても、検査ユニット3とインターフェース2の間、またはそれらを搭載しているハードウェアセキュリティモジュールHSM1とHSM2の間の該当する通信矢印によってプロセスが示されている。
【0033】
1.秘密SEC1、SEC2の同等性をチェックするために秘密SEC1、SEC2のハッシュ値を取得したい検査ユニット3は、ハードウェアセキュリティモジュールHSM1およびハードウェアセキュリティモジュールHSM2に、それぞれの秘密SEC1、SEC2の識別子secを同時に送信する。さらに、それぞれ使用するソルトの自己部分を開示する要求も伝達される。
【0034】
2.両方のハードウェアセキュリティモジュールHSM1およびHSM2は、例えばそれぞれ256ビットの十分な長さを持つ新しいランダムなソルト自己部分をそれぞれ生成する。次に、ハードウェアセキュリティモジュールHSM1の自己部分SALT1およびハードウェアセキュリティモジュールHSM2の自己部分SALT2は、図2に示されているように、検査ユニット3に伝達される。
【0035】
3.検査ユニット3は、どの順序Rでソルト部分を連結する必要があるかを決定する。このとき、Fは外部決定されたソルト部分であり、Eは自己決定されたソルト部分である。
【0036】
4.検査ユニット3は、それぞれの外部決定されたソルト部分SALT2、SALT1をそれぞれのハードウェアセキュリティモジュールHSM1、HSM2に伝達する。すなわち、ハードウェアセキュリティモジュールHSM1は、ハードウェアセキュリティモジュールHSM2によって自己決定されたソルト部分SALT2を外部決定されたソルト部分として受け取る。そのための連結の順序は、ここではR(F、E)である。他方のハードウェアセキュリティモジュールHSM2は、これに対応して、第1のハードウェアセキュリティモジュールHSM1のソルト自己部分SALT1をソルト外部部分Fとして伝達してもらい、これに応じて、ソルト部分の順序Rは逆転する。なぜなら、第2のハードウェアセキュリティモジュールHSM2については、SALT2がソルト自己部分Eになるからである。
【0037】
5.第1のハードウェアセキュリティモジュールHSM1は、規定された順序Rに相当する連結を持つハッシュ値、すなわちHASH1:=HASH(SEC1||SALT2||SALT1)を形成する。第2のハードウェアセキュリティモジュールHSM2は、そのハッシュ値HASH2:=HASH(SEC2||SALT2||SALT1)を算出する。次に、これら両方のハッシュ値HASH1およびHASH2は、検査ユニット3に伝達される。
【0038】
6.検査ユニット3は、両方の受信したハッシュ値HASH1およびHASH2の同等性をチェックする。両方の秘密SEC1およびSEC2は、受信したハッシュ値HASH1、HASH2が同じである場合、正確に同一である。ここで、相違がある場合、秘密SEC1、SEC2は、明らかに同一ではなく、探索しているエラーは、これらの秘密SEC1、SEC2の領域で見つけることができる。
【0039】
次の第2の実施例は、実質的に同じように構成されている。識別子secを持つそれぞれ1つの秘密SEC1、SEC2は、それぞれ1つのハードウェアセキュリティモジュールHSM1、HSM2内に保存されている。このとき、第1のハードウェアセキュリティモジュールHSM1は、上述のすべての特性を実装したインターフェース2を備えており、すなわち、このインターフェース2により、特に、自己決定されたソルト部分の事前クエリと、両方のソルト部分の連結順序を決定する可能性の両方が可能であるようになっている。これに対し、他方のハードウェアセキュリティモジュールHSM2は、より簡単なインターフェース4を介して、例えば第2のハードウェアセキュリティモジュールHSM2の視点から秘密が前置きされたソルト自己部分、ソルト外部部分R(E、F)など、連結の順序Rが事前に決定されている場合のみ、外部決定されたソルト部分を受け取り、それをすぐに処理することができる。図3は、図2の模式図と同じプロセスを詳細に示したものである。
【0040】
1.秘密SEC1のハッシュ値HASH1を取得したい検査ユニット3は、第1のハードウェアセキュリティモジュールHSM1に、使用するソルトの自己部分SALT1を開示する要求と一緒に、秘密SEC1の識別子secを伝達する。
【0041】
2.第1のハードウェアセキュリティモジュールHSM1は、十分な長さの新しいランダムなソルト自己部分SALT1を生成し、それを検査ユニット3に送信する。
【0042】
3.秘密SEC2のハッシュ値HASH1を取得したい検査ユニット3は、第2のハードウェアセキュリティモジュールHSM2に対し、秘密SEC2の識別子secを、第1のハードウェアセキュリティモジュールHSM1から受信したソルト自己部分SALT1と共に伝達し、さらには、ハッシュ値の算出要求と、そのハッシュ値および算出に使用したソルト自己部分SALT2も含めた伝達要求も一緒に伝達する。
【0043】
4.第2のハードウェアセキュリティモジュールHSM2は、十分な長さの新しいランダムなソルト自己部分SALT2を生成し、要求されたハッシュ値をHASH2:=HASH(SEC2||SALT2||SALT1)として算出し、そのハッシュ値HASH2を、算出に使用したソルト自己部分SALT2と一緒に検査ユニット3に伝達する。
【0044】
5.検査ユニット3は、第1のハードウェアセキュリティモジュールHSM1に対し、使用するソルト外部部分SALT2および使用する連結R(F、E)の順序Rを、今回は第1のハードウェアセキュリティモジュールHSM1の視点から、すなわち、ソルト外部部分とソルト自己部分を入れ替えて伝達する。
【0045】
6.第1のハードウェアセキュリティモジュールHSM1はそのハッシュ値HASH1:=HASH(SEC1||SALT2||SALT1)を算出し、そのハッシュ値HASH1を検査ユニット3に伝達する。
【0046】
7.検査ユニット3は、両方の受信したハッシュ値HASH1およびHASH2の同等性をチェックする。秘密SEC1およびSEC2は、受信したハッシュ値HASH1、HASH2が、上記と同様に同じである場合は、正確に同等である。
図1
図2
図3
【国際調査報告】