(57)【特許請求の範囲】
【請求項１】
プログラマブル・ハードウェア・セキュリティ・モジュール（１０）であって、
暗号鍵ペアを生成するアプリケーション・デバイス（１１）と、
マスター・トランスポート鍵（ＭＫ）を有する記憶領域（１２）と、
鍵ペア固有の導出パラメータ（ＤＰ）を用いて前記マスター・トランスポート鍵（ＭＫ）から鍵ペア固有のトランスポート鍵（ＴＫ）を導出する鍵導出モジュール（１３）と、
を備え、
前記暗号鍵ペアは秘密鍵及び公開鍵を有し、
前記鍵ペア固有の導出パラメータ（ＤＰ）は、前記鍵ペアに対して、或いは、前記秘密鍵又は前記公開鍵に対して、固有であり、
前記鍵ペア固有の導出パラメータ（ＤＰ）は、公開鍵、デバイス識別子、またはデジタル証明書のハッシュ値の少なくとも一つであるデジタル証明書の証明書情報から形成され、
前記デジタル証明書の証明書情報は、鍵要求メッセージとともに、プログラマブル・ハードウェア・セキュリティ・モジュール（１０）又は対応するプログラマブル・ハードウェア・セキュリティ・モジュールに送信され、
前記鍵ペア固有のトランスポート鍵（ＴＫ）は、前記暗号鍵ペアのうちの前記秘密鍵を暗号化するのに使用可能である、
プログラマブル・ハードウェア・セキュリティ・モジュール。
【請求項２】
前記秘密鍵を暗号化ファイル（ＫＦ）として出力する出力ユニット（１４）を更に備える、請求項１に記載のプログラマブル・ハードウェア・セキュリティ・モジュール。
【請求項３】
前記暗号鍵ペアのうちの公開鍵を含むデジタル証明書を生成するデバイスを更に備える、請求項１又は２に記載のプログラマブル・ハードウェア・セキュリティ・モジュール。
【請求項４】
対応するプログラマブル・ハードウェア・セキュリティ・モジュール（２０）であって、
暗号鍵ペアのうちの秘密鍵を暗号化ファイルとして受信するとともに、前記暗号鍵ペアのうちの公開鍵を含むデジタル証明書を受信する受信デバイス（２１）と、
マスター・トランスポート鍵（ＭＫ）を有する記憶領域（２２）と、
鍵ペア固有の導出パラメータ（ＤＰ）を用いて前記マスター・トランスポート鍵（ＭＫ）から鍵ペア固有のトランスポート鍵（ＴＫ）を導出する鍵導出モジュール（２３）と、
を備え、
前記鍵ペア固有の導出パラメータ（ＤＰ）は、公開鍵、デバイス識別子、またはデジタル証明書のハッシュ値の少なくとも一つであるデジタル証明書の証明書情報から形成され、
前記デジタル証明書の証明書情報は、鍵要求メッセージとともに、プログラマブル・ハードウェア・セキュリティ・モジュール（１０）又は対応するプログラマブル・ハードウェア・セキュリティ・モジュールに送信され、
前記鍵ペア固有の導出パラメータ（ＤＰ）は、前記鍵ペアに対して、或いは、前記秘密鍵又は前記公開鍵に対して、固有であり、また、前記鍵ペア固有のトランスポート鍵（ＴＫ）は、前記暗号化ファイルを復号するのに使用可能である、対応するプログラマブル・ハードウェア・セキュリティ・モジュール。
【請求項５】
前記鍵ペア固有のトランスポート鍵（ＴＫ）をターゲット・デバイス（３０）に転送するインターフェース（２４）を更に備える、請求項４に記載の対応するプログラマブル・ハードウェア・セキュリティ・モジュール。
【請求項６】
前記秘密鍵をターゲット・デバイスに転送するインターフェース（２５）を更に備える、請求項４に記載の対応するプログラマブル・ハードウェア・セキュリティ・モジュール。
【請求項７】
暗号鍵ペアのうちの秘密鍵を保護する方法であって、
プログラマブル・ハードウェア・セキュリティ・モジュール上で暗号鍵ペアを生成するステップ（１０１）と、
鍵ペア固有の導出パラメータ（ＤＰ）を用いてマスター・トランスポート鍵から鍵ペア固有のトランスポート鍵（ＴＫ）を導出するステップ（１０２）であって、
前記鍵ペア固有の導出パラメータ（ＤＰ）は、公開鍵、デバイス識別子、またはデジタル証明書のハッシュ値の少なくとも一つであるデジタル証明書の証明書情報から形成され、
前記デジタル証明書の証明書情報は、鍵要求メッセージとともに、プログラマブル・ハードウェア・セキュリティ・モジュール（１０）又は対応するプログラマブル・ハードウェア・セキュリティ・モジュールに送信される、
ステップ（１０２）と、
前記鍵ペア固有のトランスポート（ＴＫ）鍵を用いて前記秘密鍵を暗号化するステップ（１０３）と、
を含む、方法。
【請求項８】
前記暗号鍵ペアのうちの公開鍵を含むデジタル証明書を生成するステップ（１０１’）を更に含む、請求項７に記載の方法。
【請求項９】
暗号鍵ペアのうちの秘密鍵を対応するプログラマブル・ハードウェア・セキュリティ・モジュールに安全に提供する方法であって、
暗号化ファイルとしての前記秘密鍵と、前記暗号鍵ペアのうちの公開鍵を含むデジタル証明書とを受信するステップ（２０１）と、
鍵ペア固有の導出パラメータ（ＤＰ）を用いてマスター・トランスポート鍵から鍵ペア固有のトランスポート鍵（ＴＫ）を導出するステップ（２０２）と、
を含み、
前記鍵ペア固有の導出パラメータ（ＤＰ）は、公開鍵、デバイス識別子、またはデジタル証明書のハッシュ値の少なくとも一つであるデジタル証明書の証明書情報から形成され、
前記デジタル証明書の証明書情報は、鍵要求メッセージとともに、プログラマブル・ハードウェア・セキュリティ・モジュール（１０）又は対応するプログラマブル・ハードウェア・セキュリティ・モジュールに送信される、
前記鍵ペア固有のトランスポート鍵（ＴＫ）は、前記暗号化ファイルを復号するのに使用可能である、方法。
【請求項１０】
前記デジタル証明書をターゲット・デバイスに提供するステップ（２０３）と、
前記鍵ペア固有のトランスポート鍵（ＴＫ）を用いて前記暗号化ファイルを復号するステップ（２０４）と、
前記復号された秘密鍵を前記ターゲット・デバイスに提供するステップ（２０５）と、
を更に含む、請求項９に記載の方法。
【請求項１１】
前記デジタル証明書をターゲット・デバイスに提供するステップ（２０３）と、
前記暗号化ファイルを前記ターゲット・デバイスに提供するステップ（２０４’）と、
前記鍵ペア固有のトランスポート鍵（ＴＫ）を前記ターゲット・デバイスに提供するステップ（２０５’）と、
を更に含む、請求項９に記載の方法。
【請求項１２】
前記対応するプログラマブル・ハードウェア・セキュリティ・モジュールは、前記ターゲット・デバイスを認証する、請求項１０又は１１に記載の方法。
【請求項１３】
前記対応するプログラマブル・ハードウェア・セキュリティ・モジュールは、ターゲット・デバイス固有の鍵を生成し（２０６）、前記ターゲット・デバイスに対して、前記ターゲット・デバイス固有の鍵を用いて保護された形式で前記秘密鍵又は前記鍵ペア固有のトランスポート鍵（ＴＫ）を提供する、請求項１０〜１２のいずれか１項に記載の方法。
【請求項１４】
前記鍵ペア固有のトランスポート鍵（ＴＫ）は、鍵導出関数を用いて導出され、そのために、少なくとも前記鍵ペア固有の導出パラメータ（ＤＰ）及び前記マスター・トランスポート鍵が入力パラメータとして与えられる、請求項７〜１３のいずれか１項に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラマブル（プログラムに作ることができる）ハードウェア・セキュリティ・モジュール、並びに、プログラマブル・ハードウェア・セキュリティ・モジュールにおいて暗号鍵ペアのうちの秘密鍵を保護する方法、及び暗号鍵ペアのうちの秘密鍵を安全に提供する方法に関する。
【背景技術】
【０００２】
産業用自動化環境においては、データの保護又は通信相手の認証を目的とする暗号化セキュリティ方法が必要とされている。暗号化セキュリティ・メカニズムには、暗号鍵材料が必須である。特に、秘密鍵及び公開鍵を含む暗号鍵ペアが用いられている。この場合、それぞれの秘密鍵は、秘密に保持される必要があり、公開鍵、又はデジタル証明書若しくはセキュリティ・トークン等の関連するデータ構造は、処理を行えるように対応するコンポーネントに利用可能とされている。鍵基盤を構築するため、特に暗号鍵材料を配布するためには、小規模の自動化システムでは相応のセキュリティ基盤を利用できない場合がある。また、クラウドベースのソリューションは、限定的なネットワークに関する規制や、ローカルの点検性確保に関する必要条件のために利用できない場合がある。
【０００３】
一般的には、集中（セントラル）セキュリティ基盤、いわゆるＰＫＩ又はセキュリティ・データセンターとして知られているものを構築し運用することが知られている。実際には、これは全ての使用形態において実用可能ではない。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記事情に鑑みて、本願の課題は、安全かつ簡単に実現可能な分散型（ローカル）セキュリティ基盤を提供することにある。
【課題を解決するための手段】
【０００５】
上記課題は、独立請求項の発明主題によって解決される。有利な形態は、従属請求項に記載されている。
【０００６】
本発明は、プログラマブル・ハードウェア・セキュリティ・モジュールであって、
−暗号鍵ペアを生成するアプリケーション・デバイスと、
−マスター・トランスポート鍵を有する記憶（メモリ）領域と、
−鍵ペア固有の導出パラメーターを用いてマスター・トランスポート鍵から鍵ペア固有のトランスポート鍵を導出する鍵導出モジュールと、
を備え、鍵ペア固有のトランスポート鍵は、暗号鍵ペアのうちの秘密鍵を暗号化するのに使用可能である、プログラマブル・ハードウェア・セキュリティ・モジュールに関する。
【０００７】
プログラマブル・ハードウェア・セキュリティ・モジュールとは、例えば、オープン・ハードウェア・セキュリティ・モジュールを意味し、又は、既存の商用ソフトウェア又はオープンソース・セキュリティ・ソフトウェアを保護された実行環境上で実行可能にするハードウェア・セキュリティ・モジュールを意味する。この場合、ソフトウェアパッケージをインストールして、容易に実行することができる。プログラマブル・ハードウェア・セキュリティ・モジュールは、同時に保護され、例えばハードウェア又はソフトウェアのセキュリティ・メカニズムによって保護される。この場合、実行環境は、ソフトウェア、構成データ、又はランタイムデータを用いて保護することができる。この種のオープン・ハードウェア・セキュリティ・モジュールは、例えば、リナックス（登録商標）のランタイム環境においては、セキュリティ上重要なデータ及びプログラムコードを実行可能にする。その上、証明書を生成するためのローカルＰＫＩ、いわゆる公開鍵基盤を実現することが容易になる。
【０００８】
ハードウェア・セキュリティ・モジュール上には、アプリケーション・デバイスが設けられ、このアプリケーション・デバイスによって、鍵ペアを生成するアプリケーションが利用可能となる。鍵ペアとは暗号鍵ペアのことであり、プライベートキー、すなわち秘密鍵と、それと対をなす鍵（鍵ペア）を形成する公開鍵とを有する。また、ハードウェア・セキュリティ・モジュール上には、マスター・トランスポート鍵を有する記憶領域が設けられる。このマスター・トランスポート鍵は、秘密鍵を保護するために設けられている。
【０００９】
鍵ペア固有の導出パラメーターを用いて鍵ペア固有のトランスポート鍵を導出するために、ハードウェア・セキュリティ・モジュール上には鍵導出モジュールが設けられている。よって、鍵ペア固有のトランスポート鍵は、秘密鍵の暗号化に使用可能となっている。鍵ペアごとに固有の導出パラメーターが使用されるため、鍵ペア固有のトランスポート鍵は、理想的には、鍵ペアごとに１回のみ生成される。換言すれば、全ての鍵ペア固有のトランスポート鍵は、異なる鍵ペアについて互いに相違する。したがって、鍵ペア固有の導出パラメーターは、鍵ペア、すなわち鍵ペアの秘密鍵又は公開鍵の証明となる。鍵ペア固有の導出パラメーターは、プログラマブル・ハードウェア・セキュリティ・モジュールに対して、例えばインターフェースを介して提供されるか、又は記憶領域に格納されている。
【００１０】
特に、ターゲット・デバイス用のデバイス鍵、特にデバイス証明書を生成するために、簡単な分散型ＰＫＩを構築することができる。上記プログラマブル・ハードウェア・セキュリティ・モジュールは、生成された秘密鍵を鍵ペア固有性に基づいて保護するように、トランスポート鍵を構成することを保証できる。例えば、そのようなモジュール上において、スクリプト及びオープンソースソフトウェア、例えばＯｐｅｎＳＳＬ等を用いて、鍵ペア、すなわち秘密鍵及びそれに属する証明書の生成を簡単に実現することができ、同時に、鍵ペア固有のトランスポート鍵による保護によって、上記の仕方で生成された秘密鍵のセキュリティを保証できる。
【００１１】
一形態によれば、プログラマブル・ハードウェア・セキュリティ・モジュールは、秘密鍵を暗号化ファイルとして出力する出力ユニットを更に備える。これは、例えば、プライバシー強化型メール（ＰＥＭ）証明書のファイルフォーマットを有する、ＰＥＭファイルとして公知である。この出力は、特に、生成された暗号鍵ペアのうちの秘密鍵が格納されることになるデバイスに対して行われる。また、ＰＥＭファイルの代わりに別のファイルフォーマット、例えばＰＫＣＳ＃１２ファイルを使用することもできる。
【００１２】
一形態によれば、プログラマブル・ハードウェア・セキュリティ・モジュールは、暗号鍵ペアのうちの公開鍵を含むデジタル証明書を生成するデバイスを更に備える。デジタル証明書は、暗号鍵ペアの生成の際に即座に生成され、特に更なるステップとして生成される。デジタル証明書は、例えば、デジタル証明書内に含まれる公開鍵をプログラマブル・ハードウェア・セキュリティ・モジュールに割り当てるために、ターゲット・デバイスに出力されることが好ましい。特に、デジタル証明書は、プログラマブル・ハードウェア・セキュリティ・モジュールの識別データを含む。
【００１３】
本発明はさらに、対応するプログラマブル・ハードウェア・セキュリティ・モジュールであって、
−暗号鍵ペアのうちの秘密鍵を暗号化ファイルとして受信するとともに、暗号鍵ペアのうちの公開鍵を含むデジタル証明書を受信する受信デバイスと、
−マスター・トランスポート鍵を有する記憶（メモリ）領域と、
−鍵ペア固有の導出パラメーターを用いてマスター・トランスポート鍵から鍵ペア固有のトランスポート鍵を導出する鍵導出モジュールと、
を備え、鍵ペア固有のトランスポート鍵は、暗号化ファイルを復号するのに使用可能である、対応するプログラマブル・ハードウェア・セキュリティ・モジュールに関する。
【００１４】
上記双方のモジュール（本願では区別のためにプログラマブル・ハードウェア・セキュリティ・モジュールと、対応するプログラマブル・ハードウェア・セキュリティ・モジュールと呼ぶ）は、一実施形態では一緒に用いられることが好ましい。この場合、対応するプログラマブル・ハードウェア・セキュリティ・モジュールは、ターゲット・デバイス側又はフィールド・デバイス側で使用されて、特にターゲット・デバイスと通信する。本発明に係る鍵導出モジュールは、双方のセキュリティ・モジュールに共通であり、生成された鍵ペア固有のトランスポート鍵の使用に関してのみ、双方のモジュールは区別される。プログラマブル・ハードウェア・セキュリティ・モジュールは、暗号鍵ペアのうちの保護対象の秘密鍵を生成し、有利には、鍵ペア固有のトランスポート鍵を用いて暗号化された鍵ファイルを生成するために使用することができる。他方、対応するプログラマブル・ハードウェア・セキュリティ・モジュールは、同様に生成された鍵ペア固有のトランスポート鍵を用いるが、例えば、受け取った鍵ファイルを復号化して、最終的に、それを、鍵ペアを備えることが意図されているターゲット・デバイス又はフィールド・デバイスに提供するために用いる。
【００１５】
欧州審査ガイドラインＦ−ＩＶ、３．２によれば、相互に補完する又は協働する複数の発明主題について、それぞれ独立請求項を作成することが認められている。本願は、そのような協働する、互いに対応するコンポーネントに関する。
【００１６】
例えば、対応するプログラマブル・ハードウェア・セキュリティ・モジュール上で暗号化鍵ファイルが新たに暗号化されて、ターゲット・デバイスに暗号化された形式で提供される。このために、特に、ターゲット・デバイスと、対応するプログラマブル・ハードウェア・セキュリティ・モジュールとの間で、取り決めがされた鍵が使用される。
【００１７】
一形態によれば、対応するプログラマブル・ハードウェア・セキュリティ・モジュールは、鍵ペア固有のトランスポート鍵をターゲット・デバイスに転送するインターフェースを更に備える。それにより、上記ターゲット・デバイスは、鍵ファイルを復号するための鍵ペア固有のトランスポート鍵を受け取る。鍵ファイルを復号した後、必要に応じて秘密鍵はフィールド・デバイス上で利用可能であり、デジタル証明書も、ターゲット・デバイスに送信される場合、同様である。
【００１８】
一変更形態によれば、対応するプログラマブル・ハードウェア・セキュリティ・モジュールは、秘密鍵をターゲット・デバイスに転送するインターフェースを更に備える。例えば、この秘密鍵は、フィールド・デバイスと対応するプログラマブル・ハードウェア・セキュリティ・モジュールとの間で特別に取り決めがされた対称鍵によって保護される。
【００１９】
本発明はさらに、暗号鍵ペアのうちの秘密鍵を保護する方法であって、
−プログラマブル・ハードウェア・セキュリティ・モジュール上で暗号鍵ペアを生成するステップと、
−鍵ペア固有の導出パラメーターを用いてマスター・トランスポート鍵から鍵ペア固有のトランスポート鍵を導出するステップと、
−鍵ペア固有のトランスポート鍵を用いて秘密鍵を暗号化するステップと、
を含む、暗号鍵ペアの秘密鍵を保護するための方法に関する。
【００２０】
一形態によれば、上記方法は、暗号鍵ペアのうちの公開鍵を含むデジタル証明書を生成するステップを更に含む。
【００２１】
本発明はさらに、暗号鍵ペアのうちの秘密鍵を対応するプログラマブル・ハードウェア・セキュリティ・モジュール上に安全に提供する方法であって、
−暗号化ファイルとしての秘密鍵と、暗号鍵ペアのうちの公開鍵を含むデジタル証明書とを受信するステップと、
−鍵ペア固有の導出パラメーターを用いてマスター・トランスポート鍵から鍵ペア固有のトランスポート鍵を導出するステップと、
を含み、鍵ペア固有のトランスポート鍵は、暗号化ファイルを復号するのに使用可能である、方法に関する。
【００２２】
ここでも同様に、秘密鍵を保護する方法及び秘密鍵を対応するプログラマブル・ハードウェア・セキュリティ・モジュール上に安全に提供する方法は、協働するため、互いに対応する装置上で実行可能である双方の方法は、上述したガイドラインの規定に準拠した独立請求項として請求されている。
【００２３】
一形態によれば、上記方法は、
−デジタル証明書をターゲット・デバイスに提供するステップと、
−鍵ペア固有のトランスポート鍵を用いて暗号化ファイルを復号するステップと、
−復号された秘密鍵をターゲット・デバイスに提供するステップと、
を更に含む。
【００２４】
この変形形態では、対応するプログラマブル・ハードウェア・セキュリティ・モジュールは、まず、秘密鍵を復号化するが、その際、鍵ペア固有のトランスポート鍵を自ら利用可能としており、かつそれを鍵ファイルに対して適用させ、その後、鍵ペアのうちの秘密鍵を転送する。この転送は、好ましくは、平文としてではなく、ターゲット・デバイスに適合した鍵を用いて実行され、特に、ディフィ−ヘルマン鍵交換法によって取り決めがされた対称鍵を用いて実行される。
【００２５】
一形態によれば、上記方法は、
−デジタル証明書をターゲット・デバイスに提供するステップと、
−暗号化ファイルをターゲット・デバイスに提供するステップと、
−鍵ペア固有のトランスポート鍵をターゲット・デバイスに提供するステップと、
を更に含む。
【００２６】
この変形形態では、対応するプログラマブル・ハードウェア・セキュリティ・モジュールは、鍵固有のトランスポート鍵をターゲット・デバイスに転送し、そのため、ターゲット・デバイスは、鍵ファイルを独自に復号することができる。
【００２７】
一形態によれば、対応するプログラマブル・ハードウェア・セキュリティ・モジュールは、ターゲット・デバイスを認証する。そのことは、例えば、ターゲット・デバイスの識別情報又は証明書（クレデンシャル）をやり取りするために、対応するプログラマブル・ハードウェア・セキュリティ・モジュールとターゲット・デバイスとの間の通信が確立されることで行われる。したがって、復号された秘密鍵又は鍵ペア固有のトランスポート鍵をターゲット・デバイスに転送することは、有利には、事前に認証されているターゲット・デバイスと関連する。
【００２８】
一形態によれば、対応するプログラマブル・ハードウェア・セキュリティ・モジュールは、ターゲット・デバイス固有の鍵を生成し、ターゲット・デバイスに対して、ターゲット・デバイス固有の鍵を用いて保護される形式で秘密鍵又は鍵ペア固有のトランスポート鍵を提供する。
【００２９】
一形態によれば、鍵ペア固有のトランスポート鍵は、鍵導出関数を用いて導出され、そのために、少なくとも鍵ペア固有の導出パラメーター及びマスター・トランスポート鍵が入力として与えられる。例えば、用いられる鍵導出関数として、いわゆるＨＫＤＦ、すなわちＨＭＡＣに基づく鍵導出関数が用いられる。その場合、いわゆるＨＭＡＣハッシュ関数が用いられる。又は、いわゆるＰＢＫＤＦ２、すなわちパスワードに基づく鍵導出関数２といった、パスワードから鍵を導出するために標準化された関数が用いられる。上記関数は、例示すると、まず、鍵導出の基礎を形成するように、それら関数のために指定されたマスター・トランスポート鍵を有する。次に、鍵ペア固有の導出パラメーターが、入力パラメーター又は導出パラメーターとして追加的に指定される。
【００３０】
一形態によれば、鍵ペア固有の導出パラメーターは、デジタル証明書の証明書情報から形成され、特にデジタル証明書の公開鍵、デバイス識別子、又はハッシュ値から形成される。
【００３１】
例えば、鍵導出パラメーターは、秘密鍵に割り当てられたデジタル証明書の情報から形成される。この秘密鍵に割り当てられたデジタル証明書は、例えば、Ｘ．５０９証明書又はＪＳＯＮトークンである。導出パラメーターは、例えば、生成された鍵ペアのうちの公開鍵を用いて、又は、鍵要求メッセージとともにプログラマブル・ハードウェア・セキュリティ・モジュール若しくは対応するプログラマブル・ハードウェア・セキュリティ・モジュールに送信されるデバイス識別子を用いて、例えば、シリアル番号を用いて、具体的に形成することができる。さらに、生成された証明書の更なる属性を用いることができ、例えば、証明書の署名、証明書のシリアル番号、又は証明書拡張領域からの追加の属性を用いることができる。さらに、証明書全体、又は証明書全体のハッシュ値、例えば、ＳＨＡ２５６関数によって生成されたハッシュ値を用いることができる。
【００３２】
導出パラメーターの形成時に用いられる上述のパラメーターは、それぞれ直接用いることができるが、又は、ハッシュ関数を用いてそれらのデータに応じたハッシュ値をそれぞれ形成するために用いることができ、その後、上記ハッシュ値は、導出パラメーターとして鍵導出関数に用いられる。さらに、上述の全ての例に関して、プログラマブル・セキュリティ・モジュール又は対応するプログラマブル・ハードウェア・セキュリティ・モジュールが自ら選択した導出パラメーターを、オプションとして用いることができる。これにより、鍵ペア固有のトランスポート鍵の生成時に、更なるセキュリティをもたらすことができる。導出パラメーターは、導出パラメーター形成関数又は導出パラメーター構成関数ＤＰＣＦによって形成される。
【００３３】
マスター・トランスポート鍵を既知とした更なるノードが、証明書又は証明書の部分情報のみに基づいて、鍵ペア固有のトランスポート鍵を決定できることが有利である。
【００３４】
上記の保護された装置及び方法の協働によって、デバイス鍵の生成及び適用を容易かつ安全な仕方で実現することが可能になる。
【００３５】
上記モジュール及びデバイスは、ハードウェアか、ソフトウェアか、又はそれらの双方かによって実現することができる。ハードウェアによって実現する場合、それぞれのユニットは、装置又は装置の一部の形態として構成することができ、例えば、コンピューターの形態か、プロセッサの形態か、又はマイクロプロセッサの形態かとして構成することができる。ソフトウェアによって実現する場合、それぞれのデバイス又はそれぞれのモジュールは、コンピュータープログラム製品の形態か、関数（ファンクション）の形態か、ルーチンの形態か、プログラムコードの一部の形態か、又は実行可能オブジェクトの形態かとして構成することができる。プロセッサは、コンピューターベースのデータ処理用の電子回路、例えばＣＰＵを意味することを理解されたい。これは、コンピューターのＣＰＵ又はマイクロチップのマイクロプロセッサでもよい。
【００３６】
以下、本発明を、図面を参照して、実施例に基づきより詳細に説明する。
【図面の簡単な説明】
【００３７】
【図１】本発明の第１の実施例に係るプログラマブル・ハードウェア・セキュリティ・モジュールの概略図である。
【図２】本発明の第２の実施例に係る対応するプログラマブル・ハードウェア・セキュリティ・モジュールの概略図である。
【図３】本発明の第１の実施例に係る秘密鍵を保護する方法を概略的に示したブロック図である。
【図４】本発明の第２の実施例に係る秘密鍵を安全に提供する方法を概略的に示したブロック図である。
【発明を実施するための形態】
【００３８】
図１は、産業用コンピューターＰＣとデータのやり取りを行うことができるプログラマブル・ハードウェア・セキュリティ・モジュール１０を示している。プログラマブル・ハードウェア・セキュリティ・モジュール１０は、例えば、いわゆるオープン・ハードウェア・セキュリティ・モジュール又は産業用セキュリティ・モジュールである。プログラマブル・ハードウェア・セキュリティ・モジュールには、例えば、非対称鍵ペアを生成するアプリケーションがインストールされたアプリケーション・デバイス１１が設けられている。これに関して、暗号鍵ペアとは、公開鍵及び秘密鍵を含むペアのことである。例えば、上記アプリケーションは、デジタル証明書Ｃを生成するデバイスによって、この証明書Ｃを発行する。
【００３９】
一実施形態において、コンピューターＰＣは、ターゲット・デバイス、例えばフィールド・デバイスに、暗号鍵材料を備えさせるため、ターゲット・デバイスの識別子ＩＤをプログラマブル・ハードウェア・セキュリティ・モジュール１０に転送する。プログラマブル・ハードウェア・セキュリティ・モジュール１０は、その情報を、ターゲット・デバイスに対し鍵ペアを生成するために用いる。デジタル証明書Ｃは、例えば、後にフィールド・デバイスに送信できるようにコンピューターＰＣに格納される。プログラマブル・ハードウェア・セキュリティ・モジュール１０には、マスター・トランスポート鍵ＭＫを有する記憶領域１２が更に設けられている。このマスター鍵ＭＫは、保護された形式で格納されている必要がある。例えば、秘密に保持すべきマスター鍵ＭＫが不正に読み取られる又は改ざんされることを阻止するために、不正操作防止手段が設けられている。プログラマブル・ハードウェア・セキュリティ・モジュール１０には、鍵ペア固有の導出パラメーターＤＰを用いてマスター・トランスポート鍵ＭＫから鍵ペア固有のトランスポート鍵ＴＫを導出するために、鍵導出モジュール１３が更に設けられている。マスター・トランスポート鍵ＭＫは、鍵導出モジュール１３に対して、記憶領域から内在的に与えられる。鍵ペア固有の導出パラメーターＤＰは、一実施形態では、プログラマブル・ハードウェア・セキュリティ・モジュール１０上に設けることができるが、他の実施形態では、鍵導出モジュール１３に対して外部から与えられてもよい。導出された鍵ペア固有のトランスポート鍵ＴＫは、プログラマブル・ハードウェア・セキュリティモジュール１０上で利用可能となり、特に好適には、暗号鍵ペアのうち生成された秘密鍵を暗号化するために利用可能となる。例えば、暗号化ファイルＫＦが生成されると、この暗号化ファイルＫＦは、プログラマブル・ハードウェア・セキュリティ・モジュール１０の出力ユニット１４において、コンピューターＰＣに与えられる。
【００４０】
図２は、好ましくは、図１を参照して記載したコンピューターＰＣと協働して用いることができる、対応するプログラマブル・ハードウェア・セキュリティ・モジュール２０を示している。さらに、対応するプログラマブル・ハードウェア・セキュリティ・モジュール２０は、フィールド・デバイスＦＤ又はターゲット・デバイスと接続されている。特に、対応するプログラマブル・ハードウェア・セキュリティ・モジュール２０は、フィールド・デバイスＦＤに対してデータを送信することができる。このことは、インターフェース２４、２５を介して行われる。対応するプログラマブル・ハードウェア・セキュリティ・モジュール２０は、秘密鍵を受信するための受信デバイス２１を備えており、秘密鍵は、コンピューターＰＣから暗号化された形式又は暗号化されていない形式で受信される。特に、図１を参照して記載したコンピューターＰＣは、対応するプログラマブル・ハードウェア・セキュリティ・モジュール２０に対して、暗号化された鍵ファイルＫＦを送信する。同様に、第１の実施例の記載に従ってコンピューターＰＣ上に格納される証明書Ｃは、この例では、有利な仕方でコンピューターＰＣから受信デバイス２１に送信される。対応するプログラマブル・ハードウェア・セキュリティ・モジュール２０には、マスター・トランスポート鍵ＭＫを有する記憶領域２２が更に設けられている。
【００４１】
図１を参照して説明したプログラマブル・ハードウェア・セキュリティ・モジュール１０が、図２を参照して記載した対応するプログラマブル・ハードウェア・セキュリティ・モジュール２０と協働する実施形態では、双方のモジュール上には同一のマスター・トランスポート鍵ＭＫが格納されている。この場合、有利には、対応するプログラマブル・ハードウェア・セキュリティ・モジュール２０上に設けられた鍵導出モジュール２３により、鍵ペア固有の導出パラメーターＤＰを用いてマスター・トランスポート鍵ＭＫから同一の鍵ペア固有のトランスポート鍵を導出することができる。なお、このためには、与えられる鍵導出関数は、プログラマブル・ハードウェア・セキュリティ・モジュール１０上の鍵導出関数と一致する必要があり、そのことは、用いられる鍵ペア固有の導出パラメーターＤＰについても同様である。鍵ペア固有の導出パラメーターＤＰが、公開鍵又は公開鍵のデジタル証明書から、直接それぞれのモジュール上に生成される場合、双方のモジュール上に、各場合で、同一の鍵ペア固有の導出パラメーターＤＰが生成可能である。このためには、用いられる更なるパラメーター及び導出パラメーターを生成するための関数は、同一である。例えば、全てのデジタル証明書Ｃのハッシュ値を生成することで、双方のモジュール上で鍵ペア固有の導出パラメーターＤＰが生成される。このことは、別々に生成することに基づくか又はコンピューターＰＣから受信することに基づくかのいずれであれ、双方のモジュール上でデジタル証明書Ｃの情報が利用可能となり、同一のハッシュ関数が用いられる場合に有利である。
【００４２】
例えば、対応するプログラマブル・ハードウェア・セキュリティ・モジュール２０上で生成される鍵ペア固有のトランスポート鍵ＴＫを用いて、受信した暗号化ファイルＫＦを復号化することができる。この場合、例えば、ターゲット・デバイスＦＤのために用意された鍵ペアのうちの秘密鍵は、対応するプログラマブル・ハードウェア・セキュリティ・モジュール２０上で利用可能となり、インターフェース２５を介してフィールド・デバイスＦＤに転送することができる。そのため、上記フィールド・デバイスＦＤ上で、秘密鍵Ｋｐｒｉｖが利用可能となる。また、証明書Ｃは、有利な仕方でターゲット・デバイスに送信されるため、鍵材料は、安全な仕方でフィールド・デバイスＦＤ上に格納される。同様に、インターフェース２４を介して、暗号化ファイルＫＦ及び生成された鍵ペア固有のトランスポート鍵ＴＫをフィールド・デバイスＦＤに送信可能であることが有利である。したがって、フィールド・デバイスＦＤ上で、鍵ファイルＫＦの復号を行うことが可能となるので、最終的には、この変更実施形態においても、秘密鍵Ｋｐｒｉｖは、フィールド・デバイスＦＤ上に存在することになる。
【００４３】
フィールド・デバイスＦＤ上に、鍵材料、すなわち証明書及びそれに属する秘密鍵を格納する必要がある場合、双方のモジュールは、フィールド・デバイスの製造又は始動時に使用されることが有利である。鍵ペア固有のトランスポート鍵ＴＫ及び暗号化ファイルを秘密鍵ＫＦとともに出力するために、異なるインターフェースを設けることにより、双方の情報を異なる方法で出力することが有利である。例示すると、ディスプレイ及び更なる出力ユニット、例えば有線を用意する。
【００４４】
一変形実施形態において、アプリケーションの全ての鍵、例えば、マスター・トランスポート鍵ＭＫ及び証明書の署名を行うための認証エンティティの署名等が、アプリケーション内で常にコード化される。さらに、発行される証明書Ｃのフィールドは、アプリケーション内で追加的に確実に設定されてもよく、そのため、このアプリケーションを使用する場合、そのように特定されたフィールド・デバイスＦＤ用のデジタル証明書Ｃを作成するために、ターゲット・デバイスＦＤのデバイスＩＤのみ転送することが必要になる。代替的には、アプリケーション内のパラメーターは、構成メッセージによって設定することができる。この場合、アクティベーション・コマンドによってアプリケーションを起動した後、それらパラメーターはもはや変更不可能となる。
【００４５】
特に有利には、対応するプログラマブル・ハードウェア・セキュリティ・モジュール上において、秘密鍵を暗号化された形式で含む暗号化鍵ファイルＫＦが復号されて、ターゲット・デバイスＤＦに固有の鍵によって新たに暗号化される。例えば、この鍵は、対応するハードウェア・セキュリティ・モジュール２０とターゲット・デバイスＤＦとの間で、ディフィ−ヘルマン式鍵交換によって、動的に取り決めがされる。このように変換された鍵ファイルＫＦは、ターゲット・デバイスＤＦに転送されて、ターゲット・デバイスＤＦによって復号される。特に、この転送には、例えばＪＴＡＧ又はＳＰＩ等の別個の通信インターフェースが用いられる。
【００４６】
図３は、第１の実施形態に係る暗号鍵ペアのうちの秘密鍵を保護する方法に用いられる各ステップを概略的に示している。プログラマブル・ハードウェア・セキュリティ・モジュール上で、例えば、図１を参照して説明した第１の実施形態のプログラマブル・ハードウェア・セキュリティ・モジュール上で、暗号鍵ペアの生成１０１が行われる。さらに、鍵ペア固有の導出パラメーターを用いてマスター・トランスポート鍵から鍵ペア固有のトランスポート鍵の導出１０２が行われる。さらに、鍵ペア固有のトランスポート鍵によって、秘密鍵を含むファイルの暗号化１０３が行われる。この例では、ステップ１０１及び１０２は、互いに別々に行うことができ、特に変更可能な順序で行うことができる。
【００４７】
さらに、ステップ１０１と同時に又はステップ１０１の後の時間に、暗号鍵ペアのうちの公開鍵を含むデジタル証明書の生成１０１’が行われる。
【００４８】
図４は、対応するプログラマブル・ハードウェア・セキュリティ・モジュール上で、特に、図２を参照して説明した第２の実施形態の対応するプログラマブル・ハードウェア・セキュリティ・モジュール上で、暗号鍵ペアのうちの秘密鍵を安全に提供する方法を示している。まず、暗号化ファイルとしての秘密鍵と、暗号鍵ペアのうちの公開鍵を含むデジタル証明書との受信２０１が行われる。さらに、鍵ペア固有の導出パラメーターを用いてマスター・トランスポート鍵から鍵ペア固有のトランスポート鍵の導出２０２が行われる。この例では、ステップ２０１及び２０２は、互いに別々に、特に様々なタイミングで行うことができるが、それらを一致したタイミングで行ってもよく、又はずらしたタイミングで行ってもよい。
【００４９】
さらに、ターゲット・デバイスへのデジタル証明書の提供２０３が行われる。一変形実施形態において、鍵ペア固有のトランスポート鍵を用いて暗号化ファイルの復号２０４が行われて、ターゲット・デバイスに対して復号された秘密鍵の提供２０５が行われる。この例では、双方のステップ２０４及び２０５は、ステップ２０３に対して、ずらしたタイミングで行われてもよく、又は同時に行われてもよい。ステップ２０４の代わりに、ターゲット・デバイスに対する暗号化ファイルの提供２０４’、及びターゲット・デバイスに対する鍵ペア固有のトランスポート鍵の提供２０５’を行ってもよい。この例では、双方のステップ２０４’及び２０５’は、ステップ２０３に対して、一致したタイミングで行ってもよく、又はずらしたタイミングで行ってもよい。ステップ２０４’及び２０５’もまた任意の順序で行うことができる。
【００５０】
本発明について、実施例を参照してかなり詳細に図示及び記載したが、本発明は、開示した実施例に限定されず、当業者であれば、本発明の保護範囲から逸脱することなく、本発明から他の変形実施形態を導き出すことができるであろう。
【００５１】
上記装置及び方法によって、分散型ＰＫＩが構築され、これにより、デバイス鍵及びデバイス証明書を生成することができるとともに、それらをターゲット・デバイスに対して保護された形式で提供することができる。この際、鍵ペア固有のトランスポート鍵が、生成され転送される秘密鍵の保護のために中心的な役割を果たす。このトランスポート鍵は、各場合で、鍵ペア固有の導出パラメーターを用いてマスター鍵から鍵を導出することによって、ターゲット・デバイスに提供される鍵ペアに結び付けられる。そのため、容易かつ安全な方法で、デバイス鍵の生成及び適用を実現することができる。
【符号の説明】
【００５２】
１０    プログラマブル・ハードウェア・セキュリティ・モジュール
１１    アプリケーション・デバイス
１２    記憶領域
１３    鍵導出モジュール
１４    出力ユニット
２０    対応するプログラマブル・ハードウェア・セキュリティ・モジュール
２１    受信デバイス
２２    記憶領域
２３    鍵導出モジュール
２４    インターフェース
２５    インターフェース
３０    ターゲット・デバイス（フィールド・デバイス）
ＤＰ    鍵ペア固有の導出パラメーター
ＭＫ    マスター・トランスポート鍵
ＴＫ    鍵ペア固有のトランスポート鍵
【図１】
0006972145.tif 000002
【図２】
0006972145.tif 000003
【図３】
0006972145.tif 000004
【図４】
0006972145.tif 000005