(57)【要約】  グローバルな値をロックされたビット及びロックされていないビットを含むビット列の形に格納する少なくともワンタイム・プログラマブル・メモリに局所的に接続する少なくとも一つのセキュア素子を備える装置の装置鍵を保護する方法。ロックされたビットは、装置の初期化段階の間にワンタイム・プログラマブル・メモリに不可逆的に予めプログラムされるのに対して、初期状態のままであるロックされていないビットは、セキュア素子（ＳＥ）によってプログラム可能である。セキュア素子は、装置の初期化において、グローバルな値を用いて装置に特有の値を生成し、以前に得られた装置に特有の値をワンタイム・プログラマブル・メモリにプログラムし、そして対応するビット列のロックされていないビットをプログラムすることによってグローバルな値を消去するように構成される。本開示の更なる目的は、この方法を実行するように構成される装置を含む。【選択図】図１
2018500823.tif 000002
【特許請求の範囲】
【請求項１】
グローバルな値（ＧＶ）をロックされたビット及びロックされていないビットを含むビット列の形に格納する少なくともワンタイム・プログラマブル・メモリ（ＯＴＰ）に局所的に接続する少なくとも一つのセキュア素子（ＳＥ）を備える装置（ＤＥＶ）の装置鍵を保護する方法であって、
前記ロックされたビットは、前記装置（ＤＥＶ）の初期化段階の間に前記ワンタイム・プログラマブル・メモリ（ＯＴＰ）に不可逆的に予めプログラムされ、前記ロックされていないビットは、初期状態のままであって、前記ロックされていないビットを前記セキュア素子（ＳＥ）によってプログラム可能にする方法において、
前記装置（ＤＥＶ）の初期化において、前記セキュア素子（ＳＥ）によって、前記グローバルな値（ＧＶ）を用いて装置に特有の値（ＤＶ）を生成するステップと、
前記セキュア素子（ＳＥ）によって、以前に得られた前記装置に特有の値（ＤＶ）を前記ワンタイム・プログラマブル・メモリ（ＯＴＰ）にプログラムするステップと、
前記セキュア素子（ＳＥ）によって、前記対応するビット列の前記ロックされていないビットをプログラムすることによって前記グローバルな値（ＧＶ）を消去するステップと、
を含むことを特徴とする方法。
【請求項２】
前記グローバルな値（ＧＶ）は、グローバルな秘密鍵（ＧＫｐｒｉ）及びグローバルな公開鍵（ＧＫｐｕｂ）を含む非対称のグローバルな秘密鍵対を備えて、前記装置に特有の値（ＤＶ）は、装置秘密鍵（ＤＫｐｒｉ）及び装置公開鍵（ＤＫｐｕｂ）を含む非対称の装置鍵対を備えることを特徴とする請求項１に記載の方法。
【請求項３】
前記セキュア素子（ＳＥ）によって、前記グローバルな秘密鍵（ＧＫｐｒｉ）を用いた前記装置公開鍵（ＤＫｐｕｂ）へのハッシュ関数の適用から生じるダイジェストに署名することによって前記装置公開鍵（ＤＫｐｕｂ）の署名（ＳｉｇＤＫｐｕｂ）を算出するステップをさらに含み、前記グローバルな公開鍵（ＧＫｐｕｂ）は、前記署名（ＳｉｇＤＫｐｕｂ）を検査するために用いることを特徴とする請求項２に記載の方法。
【請求項４】
以前に得られた前記装置秘密鍵（ＤＫｐｒｉ）、前記装置公開鍵（ＤＫｐｕｂ）、及び前記署名（ＳｉｇＤＫｐｕｂ）は、前記セキュア素子（ＳＥ）によって前記ワンタイム・プログラマブル・メモリ（ＯＴＰ）にプログラムされて、前記ワンタイム・プログラマブル・メモリ（ＯＴＰ）に格納された前記グローバルな秘密鍵（ＧＫｐｒｉ）又は前記全グローバルな鍵対は、前記対応するビット列の前記ロックされていないビットをプログラムすることにより消去されることを特徴とする請求項３に記載の方法。
【請求項５】
前記グローバルな秘密鍵（ＧＫｐｒｉ）は、前記装置（ＤＥＶ）の初期化段階の間に、前記セキュア素子（ＳＥ）にハードコードされて、前記ワンタイム・プログラマブル・メモリ（ＯＴＰ）に格納されたグローバルな値（ＢＶ）によってブラインドをかけられることを特徴とする請求項２に記載の方法。
【請求項６】
前記セキュア素子（ＳＥ）は、前記ハードコードされたグローバルな秘密鍵（ＧＫｐｒｉ）の前記値に関するパラメータとして前記ブラインディング値（ＢＶ）を用いて所定の数学関数又はアルゴリズムを含むブラインディング動作（ＢＬ）を適用し、得られた結果は、前記装置鍵対を生成して前記装置公開鍵（ＤＫｐｕｂ）の前記署名（ＳｉｇＤＫｐｕｂ）を算出するために、前記装置（ＤＥＶ）によって用いられる前記グローバルな秘密鍵（ＧＫｐｒｉ）の有効な値を表すことを特徴とする請求項５に記載の方法。
【請求項７】
前記グローバルな値（ＧＶ）は、前記装置（ＤＥＶ）の初期化段階の間に前記セキュア素子（ＳＥ）にハードコードされる一意の非対称のグローバルな鍵対のグローバルな秘密鍵（Ｇｋｐｒｉ）の有効な値を決定するために用いるグローバルな鍵（Ｋ）を含むことを特徴とする請求項１に記載の方法。
【請求項８】
前記セキュア素子（ＳＥ）は、所有権のあるアルゴリズムを使用して前記グローバルな鍵（Ｋ）によって前記ハードコードされたグローバルな秘密鍵（ＧＫｐｒｉ）を暗号化し、得られた結果は、装置鍵対を生成して前記装置公開鍵（ＤＫｐｕｂ）の前記署名（ＳｉｇＤＫｐｕｂ）を算出するために、前記装置（ＤＥＶ）によって用いられる前記グローバルな秘密鍵（ＧＫｐｒｉ）の前記有効な値を表すことを特徴とする請求項７に記載の方法。
【請求項９】
グローバルな値（ＧＶ）をロックされたビット及びロックされていないビットを含むビット列の形に格納するように構成される少なくともワンタイム・プログラマブル・メモリ（ＯＴＰ）に局所的に接続する少なくとも一つのセキュア素子（ＳＥ）を備える装置（ＤＥＶ）であって、
前記ロックされたビットは、前記装置（ＤＥＶ）の初期化段階の間に前記ワンタイム・プログラマブル・メモリ（ＯＴＰ）に不可逆的に予めプログラムされ、前記ロックされていないビットは、初期状態のままであって、前記ロックされていないビットを前記セキュア素子（ＳＥ）によってプログラム可能にする装置において、前記セキュア素子（ＳＥ）は、
前記装置（ＤＥＶ）の初期化において、前記グローバルな値（ＧＶ）を用いて装置に特有の値（ＤＶ）を生成するように構成される生成器と、
以前に得られた前記装置に特有の値（ＤＶ）を前記ワンタイム・プログラマブル・メモリ（ＯＴＰ）にプログラムし、そして前記対応するビット列の前記ロックされていないビットをプログラムすることによって前記グローバルな値（ＧＶ）を消去するように構成されるプロセッサと、
を備えることを特徴とする装置。
【請求項１０】
前記グローバルな値（ＧＶ）は、グローバルな秘密鍵（ＧＫｐｒｉ）及びグローバルな公開鍵（ＧＫｐｕｂ）を含む非対称のグローバルな秘密鍵対を備えて、前記装置に特有の値（ＤＶ）は、装置秘密鍵（ＤＫｐｒｉ）及び装置公開鍵（ＤＫｐｕｂ）を含む非対称の装置鍵対を備えることを特徴とする請求項９に記載の装置。
【請求項１１】
前記プロセッサは、前記グローバルな公開鍵（ＧＫｐｒｉ）を用いた前記装置公開鍵（ＤＫｐｕｂ）へのハッシュ関数の適用から生じるダイジェストに署名することによって前記装置公開鍵（ＤＫｐｕｂ）の署名（ＳｉｇＤＫｐｕｂ）を算出するようにさらに構成されることを特徴とする請求項２に記載の装置。
【請求項１２】
前記プロセッサは、以前に得られた前記装置秘密鍵（ＤＫｐｒｉ）、前記装置公開鍵（ＤＫｐｕｂ）、及び前記署名（ＳｉｇＤＫｐｕｂ）を前記ワンタイム・プログラマブル・メモリ（ＯＴＰ）にプログラムし、そして前記対応するビット列の前記ロックされていないビットをプログラムすることによって前記ワンタイム・プログラマブル・メモリ（ＯＴＰ）に格納された前記グローバルな秘密鍵（ＧＫｐｒｉ）又は前記全グローバルな鍵対を消去するようにさらに構成されることを特徴とする請求項１１に記載の装置。
【請求項１３】
前記グローバルな秘密鍵（ＧＫｐｒｉ）は、前記装置（ＤＥＶ）の初期化段階の間に、前記セキュア素子（ＳＥ）にハードコードされて、前記ワンタイム・プログラマブル・メモリ（ＯＴＰ）に格納されたグローバルな値（ＢＶ）によってブラインドをかけられることを特徴とする請求項１０に記載の装置。
【請求項１４】
前記セキュア素子（ＳＥ）は、前記ハードコードされたグローバルな秘密鍵（ＧＫｐｒｉ）の前記値に関するパラメータとして前記ブラインディング値（ＢＶ）を用いて所定の数学関数又はアルゴリズムを含むブラインディング動作（ＢＬ）を適用するようにさらに構成されて、前記鍵生成器は、前記装置鍵対（ＤＫｐｒｉ、ＤＫｐｕｂ）を生成するために、前記グローバルな秘密鍵（ＧＫｐｒｉ）の有効な値を表す得られた結果を使用するように構成されることを特徴とする請求項１３に記載の装置。
【請求項１５】
前記グローバルな値（ＧＶ）はグローバルな鍵（Ｋ）を含み、前記鍵生成器は、前記装置（ＤＥＶ）の初期化段階の間に前記セキュア素子（ＳＥ）にハードコードされた一意の非対称のグローバルな鍵対のグローバルな秘密鍵（Ｇｋｐｒｉ）の有効な値を決定するために前記グローバルな鍵（Ｋ）を使用するように構成されて、前記セキュア素子（ＳＥ）は、所有権のあるアルゴリズムを用いて前記グローバルな鍵（Ｋ）によって前記ハードコードされたグローバルな秘密鍵（ＧＫｐｒｉ）を暗号化するようにさらに構成されて、得られる結果は、前記グローバルな秘密鍵（ＧＫｐｒｉ）の前記有効な値を表すことを特徴とする請求項９に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ認証を用いた信頼できる装置と信頼できる環境外のデータ処理実体の間のデジタルデータ伝送の分野に関する。
【背景技術】
【０００２】
信頼できる装置は、ユーザ又は管理人に最小限に依存して、実体及びその周辺装置を安全に保つ内蔵セキュリティ機構を提供するために、パソコン、移動器材、又はその他のデータ処理実体に組み込まれるセキュア装置に関する。信頼できるパーソナルコンピューティング装置は、アドインプログラム及びポリシーによるよりもむしろハードウェア及びオペレーティングシステム・ベースの機構による個別コンピュータのセキュリティを最大にするために開発された。そのためには、ハードウェアベースの機構がソフトウェアにより生成される機構より本質的により信頼できることが当業者に周知であるので、セキュリティ機構は、モジュールのあまたある中で、チップ、チップセット、システム・オン・チップ、及びマザーボードに実装できる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国特許出願公開第２０１１／２２５４０９（Ａ１）号明細書
【特許文献２】欧州特許出願公開第２５０６１７６（Ａ１）号明細書
【特許文献３】米国特許出願公開第２０１０／１６６１８２（Ａ１）号明細書
【特許文献４】国際公開第２００８／０５７１５６（Ａ２）号パンフレット
【発明の概要】
【発明が解決しようとする課題】
【０００４】
信頼できる装置により送信されるデータの確実性を保証するために、デジタル署名をデータに適用できる。従って、信頼できる装置は、秘密鍵及び公開鍵を含む鍵対へのアクセスを必要とする。実際のところ、いくつかの信頼できる装置が、同じ実体にデータを送り、そしてデータを認証するためにいくつかの公開鍵を有することを回避する場合、信頼できる装置の鍵対はグローバルでなければならない。セキュリティの観点から、秘密鍵が一つの装置で危殆化する場合、ハッカーが自分自身の真正データをそのために偽造できるので、全体のシステムが壊れる。これは、セキュリティシステムにおいて破局的である単一障害点を生じる。
【０００５】
ハッカーは、グローバルな秘密鍵を検索するための数種類の非侵襲性又は浸潤性の攻撃、例えば、装置を開いて装置内部で直接鍵を読み込もうとする、ソフトウェア攻撃、差分電力解析（ＤＰＡ）又は単純電力解析（ＳＰＡ）攻撃、故障注入攻撃などを使用できる。
【０００６】
セキュア装置は、グローバルな秘密鍵を回復するためにいくつかの方法で攻撃されることがありえる。いくつかの攻撃が装置の電力消費、電磁気放射、又は処理時間を観察することを意図するので、それらは非侵襲性攻撃として公知である。他の攻撃は浸潤性攻撃として参照される。なぜならば、それらは、装置、特に短い時間経過の間のその挙動を変更することが必要であるからである。この最後のカテゴリにおいて、差分故障解析（ＤＦＡ）はあらゆる暗号化／解読システムに対する深刻な脅威であるとして周知である。ＤＦＡは、２つの異なる状態の下で暗号装置により提供される出力の観察及び比較に基づく。これらの状態の一方は、装置の通常動作に対応するが、他方は、０から１又はその逆へ切り替えることによって、１つ又は複数のビットを変えることを意図している故障を自発的に注入することによって得られる。この種の物理的なビット逆転は、例えば、集積回路の表面をレーザビームでスイープすることによって実行できる。暗号装置の中に高感度領域を設置することによって、レーザーショットは、正確且つ簡単な方法で装置の挙動を乱すことが可能である。なぜならば、それらはコンピュータの制御の下で実施されると共に、非常に良好な時空間解像度で作動することができるからである。いくつかの故障が暗号アルゴリズムの処理の間に注入されるときに、誤った出力の解析は、アルゴリズムの中の故障伝播を観察することによってグローバルなプライベートを決定することを可能にする。
【０００７】
プログラム、暗号鍵、又はそれを生成するのに用いるパラメータの完全性を保護するためのいろいろな技術が、例えば以下の従来技術で用いられる。
【０００８】
特許文献１には、ソフトウェア・ブート識別（ＣＣＩＤ）を格納するワンタイム・プログラマブル（ＯＴＰ）メモリを備えたチップセットが開示されている。そこにおいて、ＣＣＩＤは、マルチビット値の範囲内で顧客に特有の指標位置で含まれる二つ以上のＣＣＩＤ顧客識別（ＣＩＤ）を有するマルチビット値を備える。チップセットは、証明書及び顧客証明書からの証明書指標値を得て、証明書指標値に従ってＣＣＩＤに指標付けすることによってＣＣＩＤからＯＴＰ  ＣＩＤを読み込み、顧客証明書が証明書付きのＯＴＰ  ＣＩＤを評価することに基づいて無効にされたかどうか決定し、そして顧客証明書が無効にされたと決定される場合にチップセットのソフトウェアブーティングを承認しないように構成される一つ以上の処理回路をさらに備える。個々のビットが０から１に変わることができるが、０に戻ることができないように、ＯＴＰ  ＣＩＤ値は、ＯＴＰメモリにプログラムされる。この場合、ビット１はロックされて、ビット０はロックされていない。顧客ごとのＯＴＰ  ＣＩＤ値は、チップセット製造業者によって管理できる。
【０００９】
特許文献２には、唯一性を備えたチップを生産することに関連した方法及びシステムが開示されている。ランダム・ビット・ベクトルは、ハードウェア乱数発生器を用いてハードウェアコンポーネントが生産されているときにチップ上に又は「自動的にその場で」生成される。生成されたランダム・ビット・ベクトルは、チップのワンタイム・プログラマブル・メモリに格納される。値は、チップのワンタイム・プログラマブル・メモリにプログラムされたランダム・ビット・ベクトルからチップに導き出される。導き出された値は、セキュリティ・アプリケーション・プロバイダがチップのワンタイム・プログラマブル・メモリにプログラムされたランダム・ビット・ベクトルに基づいて鍵を使用してチップによって解読できるメッセージを暗号化することを可能にするためにチップに伝達できるように接続する外部受信モジュールに伝えられる。ベクトルの全てのプログラムされたビット列が、プロセッサにより変更されることができないように、ランダム・ビット・ベクトルは、すべてのビットがロックされるＰＲＯＭ（プログラム可能なリードオンリーメモリ）にプログラムされる。ＰＲＯＭに格納された値を変更する唯一の方法は、ＰＲＯＭを更新された値を含む別のものと物理的に入れ替えることである。
【００１０】
特許文献３には、セキュアなパケット化音声伝送を提供する方法が開示されている。宛先装置に対応する公開鍵は検索される。入力信号は、宛先装置へのパケット化音声接続を通じての伝送のためにデジタル化される。デジタル化された信号は、宛先装置の公開鍵を使用して暗号化される。この暗号化された入力信号は、宛先装置で受信されると、宛先装置でセキュアな秘密鍵を使用して解読される。ある実施形態によれば、呼び出し装置は、フラッシュ記憶装置を挿入するためのＵＳＢコネクタを備えたアナログ端末アダプタと関連付けることができて、それは、非対称の公開／秘密鍵対の秘密鍵及び公開鍵が位置するところへのポインタを含むことができる。それから、呼び出しのスタートアップのセッション開始の間、宛先呼び出し装置の暗号化器／解読器は、ソース呼び出し装置の公開鍵を検索することができて、公開鍵を利用して、ソース呼び出し装置に送られているデータを暗号化できる。秘密鍵は、呼び出し装置の固定メモリに、又は着脱可能なフラッシュメモリに格納することができて、そこで秘密鍵ビット列のすべてのビットは、０から１へ、そして逆にいかなる規制もなしで変更できる。
【００１１】
特許文献４には、オンチップの秘密の不揮発性メモリにプログラムされるビットのサイズを減らし、同時にセキュア装置によってサポートされる典型的なセキュアアプリケーションを使用可能にすることを含む改良されたセキュアなプログラミング技術が開示されている。セキュアなプログラミングの技術は、チケットを得るためにチケットサーバに接続する後のプロセスからチップ製造を切り離すことを必要とする。この技術による方法は、チケットを受け取るためにあらゆる通信の前に装置から（製造）サーバ署名証明書を送信することを必要とすることがありえる。この技術による装置は、製造プロセスで、秘密鍵とともに証明書を格納するためにチップ内蔵不揮発性メモリを含むことができる。システムは、セキュアプロセッサ、オペレーティングシステム、チケットサービス、呼び出しアプリケーション、及び保護されたメモリを備える。オペレーティングシステムは、セキュリティカーネル（それはキーストアを次々に含む）、暗号化／解読エンジン、及びセキュリティアプリケーションを含む。
【００１２】
従って、ハッカーがいかなる差分故障解析によっても秘密鍵を決めるのを妨げるために、又はより一般的には、いかなる種類の解析によっても得られる情報によってこの種の鍵を推測するために、効果的な解決策を提供する必要がある。
【課題を解決するための手段】
【００１３】
暗号鍵を保護する従来技術によるシステム及び方法の欠点を解決するために、とりわけ、複数の装置を認証するための複数の鍵対を管理しなければならないことを回避すると共に、効率的な方法で暗号非対称鍵対を安全にする装置及び方法を実施することは有益である。
【００１４】
本開示の実施形態は、請求項１に記載の少なくとも一つのワンタイム・プログラマブル・メモリに局所的に接続している少なくとも一つのセキュア素子を含む装置の中の装置鍵を保護する方法を提案する。
【００１５】
更なる実施形態は、請求項９に記載のグローバルな値を格納するように構成される少なくとも一つのワンタイム・プログラマブル・メモリに局所的に接続している少なくとも一つのセキュア素子を含む装置を提案する。
【００１６】
装置のセキュア素子は、ワンタイム・プログラマブル・メモリに格納されたグローバルな値を用いて、例えば非対称の鍵対として一意の装置に特有の値を生成するように構成される鍵生成器を備えることができる。この動作は、通常は、装置の初期化又はブートで行われる。装置に特有の一意の装置鍵対は、装置秘密鍵と装置公開鍵を含む。
【００１７】
グローバルな値として、生成された装置鍵対は、好ましくは、ワンタイム・プログラマブル・メモリに格納される。好ましい実施形態において、グローバルな値は、一般に装置の製造時に不可逆性の方法でワンタイム・プログラマブル・メモリにプログラムされるグローバルな秘密鍵及びグローバルな公開鍵を含むグローバルな鍵対を表す。
【００１８】
更なる実施形態によれば、装置公開鍵は、グローバルな秘密鍵により署名されて、セキュア素子がグローバルな秘密鍵の削除を認識するように、グローバルな秘密鍵は、ロックされていないビットの全部又は一部をプログラムすることによってワンタイム・プログラマブル・メモリから消去される。
【００１９】
装置のセキュリティを改善するために、この種のグローバルな秘密鍵を使用して保持することはリスクを伴うので、好適な解決案は、グローバルな秘密鍵を一度だけ使用することを可能にする。なぜならば、それは、その他の装置と通信するために改ざんして再利用することにさらされることがありえるからである。
【００２０】
更なる実施形態によれば、ワンタイム・プログラマブル・メモリに格納されるグローバルな値は、ブラインディング又は暗号化により生成された装置に特有の鍵対を保護するために、セキュア素子により用いることができる。
【００２１】
本発明は、非限定的な実施例として提供される添付図を参照する以下の詳細な説明によってよりよく理解される。
【図面の簡単な説明】
【００２２】
【図１】ワンタイム・プログラマブル・メモリに局所的に接続しているセキュア素子を備える本発明の装置の概要を示す。
【図２】グローバルな非対称の鍵対がセキュア素子と異なる外部経路を用いてワンタイムメモリに書き込まれる装置の実施形態を示す。
【図３】ランダムな装置鍵対がセキュア素子により生成される装置の実施形態を示す。
【図４】生成された装置公開鍵がグローバルな鍵対を用いて署名される装置の実施形態を示す。
【図５】装置鍵対及び装置公開鍵の署名は、ワンタイム・プログラマブル・メモリに書き込まれてロックされる装置の実施形態を示す。
【図６】セキュア素子がそれらをワンタイム・プログラマブル・メモリから消去するためにグローバルな秘密鍵及び／又は公開鍵のロックされてないビットをプログラムする装置の実施形態を示す。
【図７】セキュア素子により生成されるグローバルな秘密鍵がグローバルな秘密鍵の「真の」値を提供するためにワンタイム・プログラマブル・メモリにプログラムされたブラインディング値によってブラインドをかけられる装置の実施形態を示す。
【図８】セキュア素子により生成されるグローバルな秘密鍵がグローバルな秘密鍵の「真の」値を提供するためにワンタイム・プログラマブル・メモリにハードコードされた鍵によって暗号化される装置の実施形態を示す。
【発明を実施するための形態】
【００２３】
説明される装置ＤＥＶは、図１によって図式的に表されるように、永続メモリ又はワンタイム・プログラマブル・メモリＯＴＰに局所的に接続したセキュア素子ＳＥを備える。このメモリＯＴＰは、通常は、装置の製造又は個人化又は最初の開始時に導入される装置に特有のパラメータを含む。装置に特有のパラメータは、暗号鍵を含む装置に特有の値ＤＶを生成するために、セキュア素子ＳＥによって用いるグローバルな値ＧＶを含むことができる。
【００２４】
セキュア装置とも呼ばれる、装置ＤＥＶは、装置のユーザにとって透明である内蔵セキュリティ機構を提供するために、パソコン、移動器材、有料テレビ・セットトップボックス、又はその他のデータ処理ユニットに組み込むことができる。通常はハードコードされてソフトウェアプログラムと組み合わされる、これらのセキュリティ機構は、チップ、チップセット、システム・オン・チップ、スマートカード、マザーボード、又は他の専用のモジュールに取り付けることができる。
【００２５】
セキュア素子ＳＥは、そこにアプリケーションをインストールし、個人化して管理することができるプラットフォームを含むことができる。それは、ハードウェア、ソフトウェア、インタフェース、並びに証明書のセキュアな記憶及び支払い、認証、かつ他サービスのためのアプリケーションの実行を可能にするプロトコルから成る。セキュリティ上重要なアプリケーション、例えば支払い及び口座証明書を含むそれらは、セキュアなハードウェア記憶及びセキュアな実行環境を必要とする。モバイル機器で、これは通常セキュア素子により処理される。
【００２６】
セキュア素子ＳＥは、いろいろな形、例えば、汎用集積回路カード（ＵＩＣＣ）、埋め込みセキュア素子、或いはモバイル機器のスロットに挿入するか又は非接触方法で使うことができる独立したチップ又はセキュア素子のようなＮＦＣ（近距離無線通信）施設で実施できる。通常は、ＵＩＣＣは、加入者識別モジュール（ＳＩＭ）の形であり、それはモバイル・ネットワーク・オペレータにより制御される。埋め込みセキュア素子は、サービスプロバイダにオプションを与えて、携帯電話自体にセキュア素子を埋め込む。セキュア素子ＳＥは、一つ以上のセキュリティ領域を含むことができる。その各々は、セキュリティ領域が共通又はグローバルな暗号鍵又はトークンを用いて認証するか又は管理できることを意味する、一般の実体を信用する、パッケージ、アプレット、アプリケーションなどのような、データの収集を含む。セキュリティ領域は、サービスプロバイダと関連付けることができて、サービスプロバイダ・アプレット又はアプリケーション、例えば、ロイヤルティ、クーポニング、及びクレジットカードを含んで、アプリケーション又はアプレットを通過できる。
【００２７】
実施形態によれば、セキュア素子ＳＥは、ワンタイム・プログラマブル・メモリＯＴＰに格納されるグローバルな非対称の鍵対を含むグローバルな値ＧＶを用いて非対称の装置鍵対を含む装置に特有の値ＤＶを生成するように構成される鍵生成器ＫＧを備える。生成された非対称の鍵対は、一意であり、装置ＤＥＶに特有であって、セキュア素子ＳＥの不揮発メモリに格納される装置秘密鍵ＤＫｐｒｉ及び装置公開鍵ＤＫｐｕｂを含む。
【００２８】
図２は、実施例を示し、そこでは、グローバルな秘密鍵ＧＫｐｒｉ及びグローバルな公開鍵ＧＫｐｕｂを含むグローバルな非対称の鍵対は、装置ＤＥＶを製造時にだけ利用可能な特定の経路によってワンタイム・プログラマブル・メモリＯＴＰにプログラムされる。一つ以上のデータラインの形のこの経路は、好ましくは、グローバルな非対称の鍵対をワンタイム・プログラマブル・メモリＯＴＰにプログラムした後に、ハードウェア手段、例えば、関連したヒューズをとばすことによって経路を停止させることによって使用不能にする。
【００２９】
データラインを物理的に切ることができないときに、外側からのＯＴＰメモリへのアクセスがこれ以上不可能であるように、経路は、ＯＴＰメモリにビットをプログラムすることによって永久に使用不能にすることができる。
【００３０】
初期化段階において、装置ＤＥＶが製造されるか又は個人化されるときに、関係のビットが初期値にリセットできないようにいくつかのビットが不可逆性の方法でロック又はブローされるように、鍵対のようなビット列の形のグローバルな値ＧＶは、ワンタイム・プログラマブル・メモリＯＴＰにプログラムされ、そして列の残りのビットが、その後装置ＤＥＶの動作中にロックされることができるように、これらのビットはロックされないままである。実施例によれば、すべてのビット０がロックされないのに対して、すべてのビット１はロックされることができる。逆もまた同様である。ＯＴＰメモリの初期状態は、ブローされるビットが１にセットされる場合にすべてのビットは０にセットされるか、逆も然りである。
【００３１】
特定の構成によれば、ブローされるビットは、それらのメモリアドレスに応じて同じＯＴＰメモリに０又は１にセットすることができる。例えば、セキュア素子ＳＥは、適切な指標によって示すことができるロックされたビット及びロックされていないビットを認識するように構成される。
【００３２】
製造又は個人化処理モジュールの他に、セキュア素子ＳＥは、ＯＴＰメモリビットをプログラムすることが可能な唯一の代替モジュールである。更なる実施形態によれば、最初のスタートで、セキュア素子ＳＥは、鍵対の一意性を提供するために、ＴＲＮＧ（真の乱数発生器）発生器を用いてランダムな非対称の装置鍵対を発生する。それから、これらの鍵は、グローバルな非対称の鍵対を用いてセキュア素子ＳＥにより署名される。図３及び４で例示される実施例において、装置公開鍵ＤＫｐｕｂは、好ましくは、グローバルな秘密鍵ＧＫｐｒｉにより署名される。グローバルな公開鍵ＧＫｐｕｂは、署名を検査するためにこのように用いる。
【００３３】
周知の署名アルゴリズムが秘密鍵を使用して署名を生成して、公開鍵がそれを検査するために用いる点に注意しなければならない。
【００３４】
署名Ｓｉｇ  ＤＫｐｕｂは、従って、グローバルな秘密鍵ＧＫｐｒｉによって署名した公開装置鍵ＤＫｐｕｂのダイジェストを含むことができる。ダイジェストは、タイプＳＨＡ−２、ＳＨＡ−３、ＢＬＡＫＥの、又はその他の所有権のあるタイプの一方向の衝突のないハッシュ関数を公開装置鍵ＤＫｐｕｂに適用することにより算出される。
【００３５】
生成された装置に特有の非対称の鍵対及び関連する署名は、それらの値の複数のビットが外部の介入で実行されるいかなる変更も防止するためにロックされるように、セキュア素子ＳＥに含まれるプロセッサによってＯＴＰメモリにプログラムすることができる（図５参照）。
【００３６】
グローバルな鍵の保護を改善するために、グローバルな秘密鍵ＧＫｐｒｉは、図６に例示するようにその値のすべてのロックされていないビットをプログラムするセキュア素子ＳＥのプロセッサによってＯＴＰメモリから消去できる。秘密のグローバルな鍵ＧＫｐｒｉが装置公開鍵ＤＫｐｕｂに署名するために用いられた場合に、装置鍵の変更は、グローバルな秘密鍵ＧＫｐｒｉの欠如のため再生することができないその署名の不成功の確認に結果としてなる。
【００３７】
更なる実施形態によれば、セキュア素子ＳＥのプロセッサは、対応するビット列のロックされていないビットをプログラムすることによってワンタイム・プログラマブル・メモリＯＴＰに格納されるグローバルな公開鍵ＧＫｐｕｂ又は全グローバルな非対称の鍵対を消去できる。
【００３８】
誤りによるグローバルな値ＧＶ又はグローバルな鍵対の消去を防止するために、トライアル機構は、ＯＴＰメモリにおいて実施できる。例えば、カウンタは、各消去トライアルの後に所定の値から増減することができて、カウンタが所定の最大値に達するか又はゼロにリセットされると、グローバルな鍵対の少なくとも一方又は両方の鍵の消去はいずれにしろ実行される。
【００３９】
グローバルな鍵対の供給が、例えばコストが原因で、装置ＤＥＶの製造又は個人化において不可能である場合に、２つの任意の解決策を想定できる。
【００４０】
Ａ）グローバルな秘密鍵ＧＫｐｒｉ１は、装置ＤＥＶの初期化段階の間にセキュア素子ＳＥにハードコードされて、図７で示すように、ＯＴＰメモリに格納されるグローバルな値ＢＶによってブラインドをかけられることが可能である。用語「ハードコードされる」は、ここでは、グローバルな秘密鍵ＧＫｐｒｉ１が、それが変更できないような方法で、セキュア素子ＳＥのハードウェア及び／又はソフトウェアに組み込まれることを意味する。
【００４１】
ブラインディング動作ＢＬは、ハードコードされたグローバルな秘密鍵ＧＫｐｒｉ１の値に関するパラメータとしてグローバルな値ＢＶを用いる所定の数学関数又はアルゴリズムの、セキュア素子ＳＥのプロセッサによる、アプリケーションから成ることができる。
【００４２】
このようにして得られた結果は、装置鍵対（ＤＫｐｒｉ、ＤＫｐｕｂ）を生成して、装置公開鍵ＤＫｐｕｂの署名Ｓｉｇ  ＤＫｐｕｂを算出するために、装置ＤＥＶのセキュア素子ＳＥにより使用されるグローバルな秘密鍵の有効な又は「真の」値ＧＫｐｒｉ２を表す。
【００４３】
Ｂ）グローバルな秘密鍵ＧＫｐｒｉ１は、セキュア素子ＳＥにハードコードされて、図８で示すように、ＯＴＰメモリにプログラムされるグローバルな鍵Ｋを表すグローバルな値によって暗号化することができる。暗号化動作は、好ましくは、グローバルな秘密鍵ＧＫｐｒｉの有効な又は「真の」値を生じるために、周知の暗号化アルゴリズム、例えば暗号化基準（ＤＥＳ）又は高等暗号化基準（ＡＥＳ）の代わりに所有権のあるアルゴリズムを使用する。それから、この「真の」値は、装置公開鍵ＤＫｐｕｂの署名Ｓｉｇ  ＤＫｐｕｂを算出するために、セキュア素子ＳＥによって用いられる。
【００４４】
これらの実施例において、ロックされていないビットをプログラムすることによるブライディング値ＢＶ又はグローバルな鍵Ｋに対応するビット列の変更又は消去は、グローバルな秘密鍵ＧＫｐｒｉ１を再利用するのを妨げるのに十分である。好ましくは、使用する秘密鍵又は「真の」グローバルな秘密鍵ＧＫｐｒｉ２は、ブライディング値ＢＶ又はグローバルな鍵Ｋに直接依存する。
【００４５】
さらに、開示された実施形態で、署名は、グローバルな秘密鍵が図４に示すようにＯＴＰメモリに格納される場合と比べて類似方法で決定できる。
【００４６】
ハッカーは、従って、差分電力解析（ＤＰＡ）又は単純電力解析（ＳＰＡ）攻撃を実行するために、ＯＴＰメモリに格納されたグローバルな値で「遊ぶ」ことができない。グローバルな値が、通常、装置の最初のスタート又はブートの後に消去されるので、ハードコードされたビット列構造を観察して解析するためにセキュア素子ＳＥ又はＯＴＰメモリを取り外すことによる脱キャップ攻撃さえ防止する。
【００４７】
グローバルな値が、装置の製造時にＯＴＰメモリに前もって書き込まれたとき、ハッカーにとっての一つの更なる可能性は、初期化又はブートの前に装置を攻撃してみることである。この種の襲撃は、いくつかの他のセキュリティ機構、例えば難読化手法又は脱キャップ攻撃に対する遮蔽によって、ＯＴＰメモリ又はグローバルな値が格納される特定の領域を保護することによって、本願明細書に開示される他の実施形態と組み合わせ可能な実施形態において克服できる。
【図１】
2018500823.tif 000003
【図２】
2018500823.tif 000004
【図３】
2018500823.tif 000005
【図４】
2018500823.tif 000006
【図５】
2018500823.tif 000007
【図６】
2018500823.tif 000008
【図７】
2018500823.tif 000009
【図８】
2018500823.tif 000010
【国際調査報告】
2018500823.tif 000011
2018500823.tif 000012