(57)【特許請求の範囲】
【請求項１】
少なくとも２つのセキュリティレベル、及び
前記セキュリティレベルの特定の１つに属する鍵データを備え、
前記セキュリティレベルの各々に前記鍵データが属することができ、前記セキュリティレベルの各々が前記鍵データを用いる暗号化処理を提供し、
前記鍵データは、前記鍵データが属し得る最低セキュリティレベルでタグ付けされ、
前記セキュリティレベルのうち最高のセキュリティレベルは、耐タンパセキュアエレメントとして実装され、
前記データ処理システムは、前記鍵データを、当該鍵データが属するセキュリティレベルより低いセキュリティレベルに少なくとも一時的に移動させるように構成され、
前記鍵データが一時的に移動される前記セキュリティレベルは、前記最低セキュリティレベルに等しいかそれより高いレベルである、
データ処理システム。
【請求項２】
前記鍵データは、前記鍵データに付与された又は前記鍵データに含められた属性によってタグ付けされ、
前記属性は、前記鍵データが属し得る前記最低セキュリティレベルを示す値を有する、
請求項１記載のデータ処理システム。
【請求項３】
前記セキュリティレベルの１つ、特に中間のセキュリティレベルは、高性能暗号化アクセラレータとして実装される、
請求項１または２に記載のデータ処理システム。
【請求項４】
前記鍵データはさらに内部セキュリティレベルでタグ付けされ、前記内部セキュリティレベルは前記鍵データが存在した前記最低セキュリティレベルを示す、
請求項１〜３のいずれか１項に記載のデータ処理システム。
【請求項５】
前記鍵データはさらに前記鍵データが存在したセキュリティレベルの履歴を示すリストでタグ付けされる、
請求項１〜４のいずれか１項に記載のデータ処理システム。
【請求項６】
請求項１〜５のいずれか１項に記載された鍵データを用いて交換及び検証することができる一時的な鍵データを生成するように構成された、
請求項１〜５のいずれか１項に記載のデータ処理システム。
【請求項７】
請求項１〜６のいずれか１項に記載のデータ処理システムを備える高度道路交通システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理システム、データ処理システムの初期化方法及びコンピュータプログラムプロダクトに関する。
【背景技術】
【０００２】
今日では、セキュリティは多くの工学的用途に重要な役割を果たしている。例えば、いわゆる高度道路交通システム（ＩＴＳ）においては、多量の機密データを交換する必要がある。暗号化処理を実行するソフトウェアを有する一般的プロセッサのセキュリティは容易に破られ得るため、いくつかの用途では暗号化処理のために専用のハードウェアソリューションが必要とされる。それゆえ、いわゆるセキュアエレメントが導入されている。「セキュアエレメント」とは秘密情報（例えば鍵）の安全な格納並びに安全に格納した秘密情報を用いた外部供給データの安全な暗号化処理（例えばＡＥＳ暗号化）を可能にするハードウェアのピースと定義することができる。
【０００３】
図１は、従来のセキュアエレメントの高レベルの機能概要を示す。セキュアエレメント１００は一般的に、プログラマブルマイクロコントローラ１０８、複数の暗号化アクセラレータ１１０（例えば３ＤＥＳ，ＡＥＳ，ＲＳＡ，ＥＣＣ）、及び記憶装置、即ち不揮発性メモリ１１２を含む。さらに、セキュアエレメント１００は、検出したタンパリング処理をマイクロコントローラ１０８に信号通知するよう構成されたタンパセンサ１０４及びタンパ検出装置１０６、及び他の外部装置とのデータの交換を可能にするように構成された通信装置１１４を含むことができる。セキュアエレメント１１０のコンポーネントの保護は一般にタンパ回避手段１０２と呼ばれ得る。
【０００４】
セキュアエレメント１００は一般に、様々な攻撃に対してタンパ検出及びタンパ回避するために複数の高価な対抗手段を含んでいる。セキュアエレメントはこれらの攻撃に対して高いレベルの保護を提供することができる。例えば、ＮＸＰセミコンダクターズ社はコモンクライテリアＥＡＬ＋６認証を得た「ＳｍａｒｔＭＸ２」というセキュアエレメントを製造している。コモンクライテリア認証プロセスに従う所定の（例えばスマートカード）保護プロファイルに対するＥＡＬ＋６セキュリティ評価はセキュリティポリシーのプルーフを要求している。セキュアエレメントは一般に金融又は行政用途に使用されている。例えば、銀行カード及び電子パスポートは通常セキュアエレメントに実装されている。
【０００５】
上述したように、セキュアエレメントのセキュリティレベルは極めて高い。しかしながら、それらの性能レベルは一般にそれほど高くない。例えば、毎秒数回のＡＥＳ又はＲＳＡ処理を実行し得る程度の低い性能である。いくつかの応用分野、例えばバンキング及び電子政府用途においては、この性能の欠如は深刻な問題を生じない。バンキング（銀行業）及び行政用途は一般に極めて高い性能を要求しない。しかしながら、他の用途はもっと高い性能レベルを要求し得る。これらの性能要求が困難な場合、即ちセキュリティレベルとのトレードオフが不可能な場合には、もっと高い性能を有するセキュアエレメントを生成するか、多数のセキュアエレメントを並列に使用する以外に解決法はない。このように高性能で高度にセキュアな解決法の複雑さ及びその結果のコストはいくつかの理由によりかなり高くなる。第１に、暗号化プロセッサのセキュリティ強化実装に要するシリコン領域は、例えば容易に非強化法の４倍になり得る。さらに、再設計により非常に長く費用のかかる認証処理、即ちセキュリティ評価プロセスが要求され得る。その結果、一般に、性能とセキュリティとの間で設計時間のトレードオフが存在する。
【０００６】
高い性能レベル、即ち高いスループット及び／又は低いレイテンシー、は時々必要とするのみであり、セキュリティレベルと性能との間の動的でリアルタイムのトレードオフを行い得るいくつかの用途も存在する。例えば、ある暗号化処理に対するレイテンシー要件はセーフティクリティカルでない殆どの場合に低くすることができるが、いくつかのセーフティクリティカルな状態中に高くしなければならない。このような用途のために単に高性能且つ高セキュアのハードウェアピースを生成することはあまりに複雑で費用がかかりすぎる。代案として、性能対セキュリティのトレードオフを設計時に行う解決法が考えられる。例えば、設計者は所定の暗号化処理の性能を高めるためにこの暗号化機能を常にセキュアエレメントの外部で実行するように決定することができる。しかしながら、これは、特に、これらの処理に必要とされる鍵などの秘密情報がセキュアエレメントの外部に常駐することを意味する。このような解決法では、セキュリティレベルが連続的に低下する。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
以上を考慮すると、セキュリティと性能のより柔軟なトレードオフを行い得るより単純な解決法が必要とされている。もっと正確に言えば、暗号化機能を、性能要求が低いときにセキュアエレメント内で実行すべきか、性能要求が高いときに一時的にセキュアエレメント外で実行すべきかをリアルタイムに決定することができる、より単純な解決法が必要とされている。また、このようなセキュリティレベルの一時的緩和は、この一時的緩和の終了後にシステムのセキュリティレベルに悪影響を与えないように実行すべきである。
【０００８】
従って、本発明の目的は、セキュリティと性能のより柔軟なトレードオフを行い得るより単純な解決法を提供することにある。この目的は、請求項１記載のデータ処理システム、請求項１０記載のデータ処理システムを初期化する方法、及び請求項１１記載のコンピュータプログラムプロダクトにより達成される。
【課題を解決するための手段】
【０００９】
最初に、データ処理システムが着想され、該データ処理システムは、少なくとも２つのセキュリティレベル及び前記セキュリティレベルの特定の１つで格納された鍵データデータを備え、前記鍵データは、前記鍵データを格納し得る最低セキュリティレベルでタグ付けされる。
【００１０】
一つの例示的な実施形態によれば、前記鍵データは、前記鍵データに付与された又は前記鍵データに含められた属性によってタグ付けされ、前記属性は、前記鍵データを格納し得る前記最低セキュリティレベルを示す値を有する。他の例示的な実施形態によれば、前記セキュリティレベルの１つ、特に最高のセキュリティレベルは、耐タンパセキュアエレメントとして実装される。
【００１１】
他の例示的な実施形態によれば、前記セキュリティレベルの１つ、特に中間のセキュリティレベルは、高性能暗号化アクセラレータとして実装される。
【００１２】
他の例示的な実施形態によれば、前記データ処理システムは、前記鍵データを前記鍵データが格納されていたセキュリティレベルより低いセキュリティレベルに少なくとも一時的に移動させるように構成され、前記鍵データが一時的に移動される前記セキュリティレベルは前記最低セキュリティレベルに等しいかそれより高いレベルである。
【００１３】
他の例示的な実施形態によれば、前記鍵データはさらに内部セキュリティレベルでタグ付けされ、前記内部セキュリティレベルは前記鍵データが存在した前記最低セキュリティレベルを示す。
【００１４】
他の例示的な実施形態によれば、前記鍵データはさらに前記鍵データが存在したセキュリティレベルの履歴を示すリストでタグ付けされる。
【００１５】
他の例示的な実施形態によれば、前記データ処理システムは、前記鍵データを用いて交換及び検証することができる一時的な鍵データを生成するように構成される。
【００１６】
他の例示的な実施形態によれば、前記データ処理システムは高度道路交通システムに含まれる。
【００１７】
少なくとも２つのセキュリティレベルを有するデータ処理システムを初期化する方法が着想され、該方法は、鍵データを、前記鍵データを格納し得る最低セキュリティレベルでタグ付けするステップ、及び前記鍵データを、前記複数のセキュリティレベルの特定の１つに格納するステップを備える。
【００１８】
さらに、コンピュータプログラムプロダクトが着想され、該コンピュータプログラムプロダクトは、処理装置による実行時に上述した方法のそれぞれのステップを実行又は制御する命令を備える。
【００１９】
以下、添付図面を参照して実施形態をより詳細に説明する。
【図面の簡単な説明】
【００２０】
【図１】従来のセキュアエレメントの高レベル機能概要を示す。
【図２】例示的な実施形態による、異なるセキュリティレベルを有するデータ処理システムを示す。
【図３】図２に示すデータ処理システムに入力する鍵データを示す。
【図４】例示的な実施形態による証明書チェーンの延長を示す。
【図５Ａ】例示的な実施形態によるデータ処理システムの実装を備える車両を示す。
【図５Ｂ】図５Ａに示すデータ処理システムのブロック図を示す。
【発明を実施するための形態】
【００２１】
本発明によれば、秘密データが処理されるデータ処理システムのセキュリティと性能の動的トレードオフが可能になり、よってこれらのシステムの複雑さとコストを低減することが可能になる。前記トレードオフは前記秘密情報の暗号化処理に使用し得る鍵データを所要の最低セキュリティレベルでタグ付けすることによって可能になる。必要に応じ、データ処理システムは、交換することができ、ロングタームセキュア鍵データを用いて検証することができる一時的な鍵データを生成することができる。
【００２２】
図２は、例示的な実施形態による、異なるセキュリティレベルを有するデータ処理システムを示す。本例では、データ処理システムは複数のセキュリティレベル２００，２０２，２０４，２０６，２０８を備える。セキュリティレベル２０２及び２０６はなくてもよく、また複数のセキュリティレベルにさらに分割してもよく、よってセキュリティレベル２０２及び２０６は点線で示されている。各セキュリティレベルは秘密データ、例えば鍵データの保存及び前記秘密データを用いる暗号化処理を提供する。各セキュリティレベルはハードウェア、ソフトウェア、又はハードウェアとソフトウェアの特定の組み合わせで実装することができる。例えば、最高セキュリティレベル２０８（ＳＬ  Ｎ）は上述した種類のセキュアエレメント内に実装することができる。データ処理システムはＮ個の異なるセキュリティレベルを有し、ここでＮは整数値である。
【００２３】
複数のセキュリティレベルの使用によりセキュリティと性能との間の動的でリアルタイムのトレードオフが可能となる。本例では、最低セキュリティレベル２００（ＳＬ  ０）は他のセキュリティレベルより複雑性が低いものである。従って、最低セキュリティレベル２００は高性能でも安価である。最高セキュリティレベル２０８（ＳＬ  Ｎ）は他のセキュリティレベルより高い複雑性を有するものである。従って、最高セキュリティレベル２０８は、特に依然として適度な性能レベルを有する必要がある場合には、さらに高価なものとなる。
【００２４】
図３は、図２に示すデータ処理システムに入力する鍵データを示す。いくつかの時点で、新しい鍵データ３００がデータ処理システムに与えられる。このデータ処理システムへの鍵データ３００の挿入は製造時に行うことができるが、その後の任意の時点、例えば定期保守の時間間隔で行うこともできる。データ処理システムに鍵データを入力する技術自体は既知であり、鍵データ３００をシステムに挿入するまさにその方法自体は本発明の範囲外である。例えば、このような挿入は安全な制御された環境で実行することができる。図３においては、鍵データ３００は最高セキュリティレベル２０８に挿入される。
【００２５】
データ処理システムは１以上の関連システムと関連させることができる。本開示において、「関連システム」とは、同じ又は対応する鍵データを用いて保護されたデータを本データ処理システムと交換する外部装置と定義する。例えば、本データ処理システムが第１の車両内のセキュアデータ処理システムである場合、関連システムは、例えば、第１の車両内のセキュアデータ処理システムとＩＴＳ接続を介して通信する第２の車両内の類似のセキュアデータ処理システムとすることができる。さらに、本開示で使用する「保護された」とは、例えば、データの完全性がメッセージ認証コード（ＭＡＣ）又は署名を用いて保護されたこと又はデータの機密性が暗号化アルゴリズムを用いて保護されたことを意味する。当業者であれば他のデータ保護技術も考えられることは理解されよう。
【００２６】
上述したように、鍵データ３００は所要の最低セキュリティレベルでタグ付けされる。本発明によれば、タグは鍵データの発生元（生成者）が鍵データに付与し得る属性（最低ＳＬ属性）を含むものとし得る。例えば、図３の鍵データ３００に対する最低ＳＬ属性がサービスレベルＳＬ  Ｍ（図示せず）に対応する値（ここで、Ｋ≦Ｍ≦Ｎ）を有する場合には、鍵データ３００はレベルＭ以上に格納しなければならない。一般に、最も安全な選択肢は鍵データ３００を最初から最高セキュリティレベル２０８（ＳＬ  Ｎ）に格納することである。
【００２７】
非対称鍵又は公開鍵暗号化の場合には、鍵データ３００は、例えば秘密鍵に、関連非秘密（公開）鍵を含む証明書を加えたチェーンを含むものとし得る。証明書は、鍵が使用される際の最低サービスレベルを規定する最低ＳＬ属性を付加的に含むことができる。この鍵データ３００が使用されるとき、関連システムは、（少なくとも）前記チェーンのルート証明書にアクセスできるならば、いわゆる公開鍵インフラストラクチャ（ＰＫＩ）を用いて証明書（及び従って最低ＳＬ属性）を検証することができる。よって、関連システムは鍵データ３００のセキュリティレベル（又は信頼レベル）を知ることができる。
【００２８】
対称暗号化の場合には、鍵データ３００は、例えば秘密鍵及び対応する最低ＳＬ属性を含むタプル（組）を含むものとし得る。この場合には、関連システムは同じ鍵データのコピーを得ておく必要もあるため、鍵データ３００の最低ＳＬ属性をすでに知っているものと想定される。
【００２９】
動作中、第１の動的トレードオフは、鍵データ３００を最高セキュリティレベル２０８より低いが依然として鍵データ３００の最低ＳＬ属性に対応するサービスレベルに等しいかそれより高いサービスレベルに移動させることによって実現することができる。従って、システムの該当部分は高い性能レベルを有しているため、システムは、実行時に、鍵データ３００のいくつかを低いセキュリティレベルに少なくとも一時的に移動させることを決定することができる。この移動は、鍵データ３００に対する最低サービスレベルの要求が依然として満足されるため、関連システムに対して何の影響も与えない。システムの高いセキュリティレベルによって提供される追加の保護レベルが一時的に除去されるという影響があるのみである。
【００３０】
拡張例として、システムは鍵データに対して追加の属性、内部セキュリティレベル（ＩＳＬ）、を維持することもできる。最初は、ＩＳＬ属性の値は最低ＳＬ属性に等しい。鍵データ３００が現在のセキュリティレベルより低いセキュリティレベルに移動される場合、ＩＳＬ属性の値は前記低いセキュリティレベルに対応する値に低下される。鍵データ３０が高いセキュリティレベルに戻される場合、ＩＳＬ属性の値は変化されない。従って、ＩＳＬ属性の値は、鍵データ３００が存在した最低セキュリティレベルを反映する。よって、システムはどの鍵が（ハッカーにより）改ざんされる確率が最低であり、どの鍵が改ざんされる確率が僅かに高いかを追跡することができる。この知識は、例えば低いセキュリティレベルで使用される鍵の寿命を短くするために使用することができる。この管理は、例えば鍵データの最低ＳＬ属性の値に等しいかそれより高いセキュリティレベルのリスト及びこれらのセキュリティレベルの各々に対して鍵データ３００がそれぞれのセキュリティレベルに存在した期間のリストを格納することによってさらに拡張することもできる。
【００３１】
さらに、第２の動的トレードオフは、（原）鍵データ３００の最低ＳＬ属性の値に対応するサービスレベルより低いサービスレベルにおいて使用される一時的な鍵データを生成することによって実現することができる。
【００３２】
非対称鍵又は公開鍵暗号化の場合には、一時的な鍵データは、例えば一時的な秘密鍵と、一時的な関連非秘密（公開）鍵及びシステム識別子を含む証明書とを含むものとし得る。この場合も、証明書は一時的な鍵を使用し得る最低サービスレベルを規定する最低ＳＬ属性を付加的に含むことができる。証明書自体はこの場合には原鍵データ３００の秘密鍵を用いて署名することができ、関連システムは原鍵データ３００の証明書を用いて証明書（及びひいては一時的な鍵データ）の完全性及び信頼性を検証することができる。実際上、システムは証明書チェーンを１ノードだけ拡張し、原鍵データ３００を使用する認証局（ＣＡ）にも、一時的な鍵データを使用する最終ノードにもなる。これは図４に示されている。図４は、例示的な実施形態による証明書チェーンの拡張例を示す。原証明書チェーン４００は一時的なシステム証明書で有効に拡張され、拡張証明書チェーン４０２になる。
【００３３】
対称暗号化の場合には、一時的な鍵データは、例えば秘密鍵と、対応する最低ＳＬ属性とを含むトプルを含むものとし得る。この一時的な鍵データは、例えばこの一時的な鍵データを関連システムと交換する前に、原鍵データ３００を用いて暗号化することによって、関連システムに安全に提供することができる。
【００３４】
図５Ａは、例示的な実施形態によるデータ処理システムの実装を備える車両を示す。本例では、車両５００は前記データ処理システム５０２及びＩＴＳ通信装置５０４を備えている。図５Ｂは図５Ａに示すデータ処理システム５０２のブロック図を示す。データ処理システム５０２はマイクロコントローラ５０６、いわゆる暗号化アクセラレータ５０８及びセキュアエレメント５１０を備える。
【００３５】
上述した種類のデータ処理システム５０２の一例は、高度道路交通システム用のセキュリティサブシステムであり、より具体的には、特に安全使用のための８０１．１１ｐベースの車両間通信システムである。特に、ハイブリッドセキュリティサブシステムは、高いセキュリティレベルを有するセキュアエレメント５１０及び低いセキュリティレベルを有するが高い性能レベルを有する暗号化アクセラレータ５０８の両方を備えるものとみなせる。セキュアエレメント５１０は、例えばＮＸＰセミコンダクターズ社により製造されているＳｍａｒｔＭＸ２チップとして具体化することができる。コモンクライテリアＥＡＬ＋６の認証を得ているＳｍａｒｔＭＸ２チップは、高いセキュリティレベル要求を有する鍵データを格納することができ、この鍵データを用いて出力メッセージに署名をすることができる。ＳｍａｒｔＭＸ２チップ５１０に加えて、システム５０２は中程度のセキュリティレベルを有する高性能の暗号化アクセラレータ５０８を備え、この暗号化アクセラレータは高速度で入力する安全メッセージの検証のために使用することができる。
【００３６】
必要に応じ、セーフティクリティカルの場合には、システムのレイテンシーを減少させるために、同じ暗号化アクセラレータ５０８が署名生成のためにＳｍａｒｔＭＸ２チップ５１０に格納された秘密鍵データを使用することができる。このとき、秘密鍵データはＳｍａｒｔＭＸ２チップ５１０から暗号化アクセラレータ５０８に一時的に移動させることができる。これは、中間鍵を生成することによって行うことができ、また疑似識別子鍵の組の１つを使用することによって行うこともできる（この疑似識別子鍵はその後汚染されるかもしれず、よって将来のクリティカル操作に使用されないものとしてフラグされる）。
【００３７】
当業者は、データ処理システム５０２を他の用途及び使用にも有利に使用できることは理解されよう。言い換えれば、データ処理システム５０２の用途及び使用は高度道路交通システムに限定されない。
【００３８】
最後に、図面は概略図である点に注意されたい。異なる図において、同一もしくは同等の要素に同じ参照符号が付与されている。さらに、例示的な実施形態を簡潔に説明することを目指して、当業者の通常の知識の範囲に入る実施の細部については記載が省略されている点に注意されたい。このような実施形態の開発においては、任意の工学的又は設計プロジェクトの場合と同様に、システム関連及びビジネス関連制約とのコンプライアンスのような実装例ごとに変化し得る開発者固有の目的を達成するために、多くの実装例に固有の決定を行わなければならないことを理解すべきである。更に、そのような開発上の努力は複雑であり時間を要する可能性があるが、それでも本開示の恩恵を受ける当業者にとっては、設計、製作、および製造に関する日常的な業務でありうることを理解すべきである。
【００３９】
上述した実施形態は単なる例示であって、当業者であれば添付の特許請求の範囲から逸脱することなく多くの代替実施形態を設計することができる。特許請求の範囲において、括弧内の参照符号は請求の範囲の限定を意図するものではない。単語「含む」又は「備える」は、請求の範囲に列記されている要素又はステップ以外の要素又はステップの存在を除外するものではない。要素又はステップに先行する単語「ａ」又は「ａｎ」は、複数の係る要素又はステップの存在を排除するものではない。請求項に記載の特徴はいくつかの個別の要素を備えるハードウェア及び／又は適切にプログラムされたプロセッサによって実施することができる。いくつかの手段を列挙する装置請求項においては、これらの手段のいくつかはハードウェアの１つの同じアイテムで具体化することができる。いくつかの手段が互いに異なる従属請求項に記載されているという単なる事実をもってこれらの手段の組み合わせが有利に使用できないことを意味するものではない。
【符号の説明】
【００４０】
１００  セキュアエレメント
１０２  タンパ回避手段
１０４  タンパセンサ
１０６  タンパ検出器
１０８  マイクロコントローラ
１１０  暗号化アクセラレータ
１１２  記憶装置
１１４  通信装置
２００  セキュリティレベル
２０２  セキュリティレベル
２０４  セキュリティレベル
２０６  セキュリティレベル
２０８  セキュリティレベル
３００  鍵データ
４００  原証明書チェーン
４０２  拡張証明書チェーン
５００  車両
５０２  データ処理システム
５０４  ＩＴＳ通信装置
５０６  マイクロコントローラ
５０８  暗号化アクセラレータ
５１０  セキュアエレメント
【図１】
0005923556.tif 000002
【図４】
0005923556.tif 000003
【図２】
0005923556.tif 000004
【図３】
0005923556.tif 000005
【図５Ａ】
0005923556.tif 000006
【図５Ｂ】
0005923556.tif 000007