(57)【要約】内部にあるが統合されていないセキュリティトークンは、セキュアプロセッサを備えた第一の集積回路を備えるデバイスに提供される。セキュリティトークンは、第一の回路とは区別される第二の集積回路によって提供される。第二の集積回路は、セキュア不揮発性ストレージを備える。セキュアプロセッサは、セキュア不揮発性ストレージ内にセキュアに格納されるセキュア情報のための様態で情報を第二の回路に通信し、第二の集積回路は、そのセキュア不揮発性ストレージ内に格納された情報を、セキュアな様態で第二のセキュアプロセッサに通信する。通信は、暗号化によって保護される。第一の集積回路および第二の集積回路は、デバイスの内部要素である。また、回路間で共有され、暗号化において使用されるセキュアキーを配信するための初期化方法も開示する。【選択図】図２
2008541591.tif 000002
【特許請求の範囲】
【請求項１】
第一のトラストゾーンを形成するための第一の集積回路であって、セキュアプロセッサを備えた第一の集積回路と、
第二のトラストゾーンを形成するための、前記第一の回路とは区別される第二の集積回路であって、前記第二のトラストゾーン内にセキュア不揮発性ストレージを備えた第二の集積回路と、を備えるデバイスであって、
前記セキュアプロセッサは、セキュア情報が前記セキュア不揮発性ストレージ内にセキュアに格納されるセキュアな様態で、前記第一のトラストゾーンから前記第二のトラストゾーンへ情報を通信するように構成され、
前記第二の集積回路は、そのセキュア不揮発性ストレージ内に格納された情報を、セキュアな様態で、前記第二のトラストゾーンから前記第一のトラストゾーン内の前記セキュアプロセッサに通信するように構成され、
前記第一の集積回路および前記第二の集積回路が、前記デバイスの内部要素である、デバイス。
【請求項２】
前記第一および第二の集積回路は、前記第一および第二のトラストゾーンの間で共有される一意のセキュアキーをセキュアに初期化するように構成される、請求項１に記載のデバイス。
【請求項３】
前記第一の集積回路は、セキュアキー配信サーバーとキーを共有するように構成され、前記第二の集積回路は、前記一意のセキュアキーを前記セキュアキー配信サーバーから前記第一および第二の集積回路へセキュアに配信するために、前記セキュアキー配信サーバーと別のキーを共有するように構成される、請求項２に記載のデバイス。
【請求項４】
前記第一および第二の回路は、前記第一および第二のトラストゾーンの間で使用されるセキュア通信プロトコルを確立するように構成される、上述の請求項のうちのいずれかに記載のデバイス。
【請求項５】
前記セキュア通信プロトコルは、前記第一および第二のトラストゾーンの間のセキュアな通信のために、前記一意のセキュアキーを使用することによって実行される暗号アルゴリズムを備える、請求項４に記載のデバイス。
【請求項６】
前記プロトコルは、少なくともREADおよびWRITEコマンド、およびキー変更オペレーションを含む、請求項４または５に記載のデバイス。
【請求項７】
前記デバイスは、２つ以上のキーを前記第一および第二のトラストゾーンの間で共有可能とするキーステート管理を備える、上述の請求項のうちのいずれかに記載のデバイス。
【請求項８】
前記第二のトラストゾーンの前記不揮発性ストレージは、通信に使用される共有キーを示す少なくとも１つの保持されたキーステート変数を含む、請求項７に記載のデバイス。
【請求項９】
前記第二の集積回路は、電源投入オペレーションの際に、前記キーステート変数の現在の値を読み取ることによって、適切なキーステートを選択するように構成される、請求項８に記載のデバイス。
【請求項１０】
前記セキュアプロセッサは、前記第二の集積回路から受信する次の結果が最新である（リプレイされていない）ことを検証できるように、READコマンド内にランダム値をパラメータとして含むように構成される、請求項１乃至６の内のいずれかに記載のデバイス。
【請求項１１】
前記第二の集積回路は、そのセキュア不揮発性ストレージのターゲットメモリセルの古い値がWRITEコマンドに含まれているかどうかを確認し、含まれている場合にのみWRITEオペレーションを許可するように構成される、請求項１乃至６または１０のいずれかに記載のデバイス。
【請求項１２】
前記第二の集積回路は、前記一意のセキュアキーを使用することによって、及び、同じコマンドでも異なる応答をもたらすべく前記パラメータ内に外部的に予測できないコンポーネントを含むことによって、受信コマンドに対する応答のパラメータを暗号化するように構成される、上述の請求項のうちのいずれかに記載のデバイス。
【請求項１３】
前記予測できないコンポーネントは、クロックによって駆動される線形フィードバックシフトレジスタから導出された値である、請求項１２に記載のデバイス。
【請求項１４】
前記第二の集積回路は、その暗号オペレーションの全てに対して単一の暗号プリミティブだけを使用するように構成される、上述の請求項のうちのいずれかに記載のデバイス。
【請求項１５】
前記第一の集積回路はデジタルであり、前記第二の集積回路はアナログである、上述の請求項のうちのいずれかに記載のデバイス。
【請求項１６】
前記第二の回路は、携帯電話のエネルギー管理チップに備えられる、上述の請求項のうちのいずれかに記載のデバイス。
【請求項１７】
前記第一の回路および第二の回路は、アセンブリモジュールの一部を形成する、上述の請求項のうちのいずれかに記載のデバイス。
【請求項１８】
前記セキュア情報は、前記デバイスのステートを示す情報を含む、上述の請求項のうちのいずれかに記載のデバイス。
【請求項１９】
前記デバイスは、前記セキュア情報を格納し、キーを使用して前記情報を暗号化するための第二の不揮発性メモリを備える、上述の請求項のうちのいずれかに記載のデバイス。
【請求項２０】
前記デバイスは、前記第二の不揮発性メモリのコンテンツを前記第二のトラストゾーンの前記セキュア不揮発性ストレージのコンテンツと比較するように配置される、請求項１９に記載のデバイス。
【請求項２１】
前記デバイスは、携帯電話などの携帯型通信デバイスである、上述の請求項のうちのいずれかに記載のデバイス。
【請求項２２】
第一の集積回路と第二の集積回路との間で共有されるセキュアキーを初期化するための方法であって、
前記第一の集積回路と前記第二の集積回路との間で共有される前記セキュアキーを、セキュアキー配信サーバーから前記第一および第二の集積回路へ配信するステップと、
第一のキーを使用して、前記セキュアキー配信サーバーから前記第一の集積回路への前記セキュアキーの配信を保護するステップであって、前記第一のキーは、前記第一の集積回路と前記セキュアキー配信サーバーとの間で事前に共有されたキーであるステップと、
第二のキーを使用して、前記セキュアキー配信サーバーから前記第二の集積回路への前記セキュアキーの配信を保護するステップであって、前記第二のキーは、前記第二の集積回路と前記セキュアキー配信サーバーとの間で事前に共有されたキーであるステップと、を含む方法。
【請求項２３】
セキュアプロトコルに従って、別の集積回路に転送されるコマンドを発行および暗号化するためのセキュアプロセッサを備える集積回路であって、
前記セキュアプロトコルは、前記集積回路と前記別の集積回路との間で共有されるセキュアキーを変更することができるキー変更オペレーションを含む、集積回路。
【請求項２４】
集積回路のセキュアプロセッサによる実行が可能なコンピュータプログラムであって、
セキュアプロトコルに従って、別の集積回路に転送されるコマンドを発行するためのプログラムコードと、
前記セキュアプロセッサに、前記集積回路と前記別の集積回路との間で共有されるセキュアキーが変更されるキー変更オペレーションを起動させるためのプログラムコードと、を含むコンピュータプログラム。
【請求項２５】
別の集積回路から受信したセキュアなデータを格納するための不揮発性メモリと、
前記不揮発性メモリにアクセスするためのロジックと、
を備える集積回路であって、
前記集積回路は、前記不揮発性メモリに格納され、暗号化によって保護されたセキュアなデータを前記別の集積回路に通信するように構成され、
前記集積回路は、単一の暗号プリミティブを使用するように構成される、
集積回路。
【請求項２６】
集積回路での実行が可能なコンピュータプログラムであって、
前記集積回路と別の集積回路との間で共有されたキーを使用して、前記別の集積回路との通信を保護するためのプログラムコードと、
異なるセキュリティレベルの異なるキーステート間で変更するためのプログラムコードと、を含むコンピュータプログラム。
【請求項２７】
デバイスのエネルギー管理を実行するように構成されたエネルギー管理チップであって、
前記エネルギー管理チップは、前記エネルギー管理チップの外部のセキュアプロセッサにセキュリティトークンを提供するように、セキュア不揮発性メモリおよびロジックを備える、エネルギー管理チップ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、完全性保護されたセキュアストレージをデバイスへ提供することに関する。これに限定されないが、特に、携帯電話のような携帯機器に関するステートメンテナンスに関する。
【背景技術】
【０００２】
近年、日常生活のさまざまな側面において、パーソナル通信デバイスの使用が急激に増加している。最新の携帯電話は、バンキングやデジタル権利管理（digital rights management: DRM）クライアントのような、様々な新しいセキュリティアプリケーションが可能な多目的デバイスになってきている。パーソナル通信デバイスの拡大によって、デバイス内に格納された重要なデータの保護がますます重要になっている。例えば、PIN（personal identification number: 暗証番号は、デバイスへのアクセスを制御するように、パーソナル通信デバイスに導入されている。しかし、無制限にPINの入力を試みることができれば、そのPINを推測できる可能性がある。したがって、PINの使用に加えて、PINの入力回数を制限することが有用である。
【０００３】
デバイスにアクセスしようとする回数を制限するために、パーソナル通信デバイスではいくつかのタイプのカウンタを使用することが可能である。このカウンタは、使用される重要なデータに関連するステート情報に暗号学的に結び付けられ、防盗機構として使用することが可能である。このような状況において、ステート情報は、連続して誤ったPINアクセス試行回数を示す情報を指す場合がある。特定の回数（例、3回）の誤ったPIN入力試行の後に、特別なPINアンロックキー（すなわち、PUKコード）が入力されるまでデバイスがロックされる。
【０００４】
デバイス上のステート情報ストレージに完全性保護が欠如している場合、（デバイスがステート情報を更新する間に）攻撃者は、現在のステート情報、３つの連続するPINを記録することが可能になり、新しく更新されたステート情報を古い記録データに上書きすることが可能である。このようにして、攻撃者は、適切なPINを得るために3回以上試行することができるようになる。
【０００５】
連続した誤ったパスワード/PINアクセス試行の記録に加えて、DRMの領域における他の様々な使用があり、セキュアなパーソナルデバイスにセキュアにステート情報を格納する能力が必要になりうる。
【０００６】
カウンタ値の記録は、データコンテンツの消費を制御することが必要なときにも有用となりうる。例えば、サードパーティは、ある曲をパーソナル通信デバイスのユーザーに10回以上再生させたくない場合がある。曲を10回再生する権利は、カウンタを使用することによって10回の使用に制限することを規定した電子バウチャとして供給される。しかし、ユーザーが使用するたびにカウンタをリセットすることができる場合、データの所有者に代金を支払わずに、その曲を無制限に再生することができる。
【０００７】
モバイルデバイスでは、デバイスの耐用期間にわたって確実にアクセス可能でなければならない、デバイス依存のセキュリティステートも存在する。例えば、携帯電話は、盗まれた電話の使用を効果的に防ぐべき、電話ロック機能を有することが可能である。ロックがかかると、現在の加入者識別モジュール（subscriber identity module: SIM）の識別子は、一致するパスコードを好適に表す（例、一方向のハッシュコード）電話の書き換え可能な永続性メモリ内に格納される。SIMが置き換えられるたびに、電話保護が有効である場合は、電話は、まずユーザーに対応するパスコードを要求し、正しく入力された場合にのみ、その電話が新しいSIMのIDを格納して使用が許可される。しかし、ブルートフォースアタックを防ぐために、電話は、3回失敗した後に電話が完全にロックされるように、失敗したパスコードのカウンタも保持しなければならない。
【０００８】
DRMの領域では、重要なステート情報の不揮発性メンテナンスが必要とされており、様々な暗号技術の方法を使用して、重要なカウンタ値などのような、重要なステート情報を保護している。
【０００９】
暗号技術のうちの１つの側面は、デジタルデータを符号化または暗号化して、対象となる受信者以外が理解できないようにすることを伴う。すなわち、暗号技術をDRMのコンテキストに用いたときに、データが暗号化され、それらの端末、または代金を払ってデータコンテンツを消費するユーザーに暗号解読キーが供給される。このために、暗号システムを使用して、無許可のパーティによるデータの使用および変更を防ぐことによって、データのプライバシーおよび完全性を保つことができる。例えば、正しいキーを有するパーティだけが正しい署名またはメッセージ認証コード（message authentication code: MAC）を発生することができるように、暗号化に加えて、データの発信元の認証も使用される。
【００１０】
例えば、デジタル化された音、文字、および/または数からなるプレーンテキストメッセージは、数値的に符号化して、次いで、所与のセットの数または数字（別名暗号キー）に基づいて、符号化されたメッセージを変換する複雑な数学的アルゴリズムを用いて暗号化することができる。この暗号キーは、一連のデータビットであり、使用されるアルゴリズムまたは暗号システムに基づいて、ランダムに選択するか、または特別な数学的特性を有することが可能である。コンピュータ上で実行される高度な暗号アルゴリズムは、数百または数千のビット長である数字を変換および操作することができ、また無許可の暗号解読のあらゆる既知の方法を阻止することができる。暗号アルゴリズムには、対称キーアルゴリズムおよび非対称キーアルゴリズムの２つの基本的なクラスがある。
【００１１】
対称キーアルゴリズムは、通信の送信者による暗号化と、その通信の受信者による暗号解読の両方に対して同一の暗号キーを使用する。対称キー暗号システムは、暗号システムを使用して疑わしいサードパーティから保護するために、暗号キーを共有する２つのパーティの相互の信頼において構築される。既知の対称キーアルゴリズムには、米国標準技術局（National Institute of Standards and Technology）によって最初に発行された米国データ暗号化規格（National Data Encryption Standard: DES）のアルゴリズムがある。Federal Register（連邦公報）、Vol. 40、No. 52（1975年3月17日）、およびVol. 40、No. 149（1975年8月1日）を参照のこと。送信側暗号デバイスは、DESアルゴリズムを使用して、その通信のセッションに対して暗号キー（セッションキー）がロードされたときに（DES暗号キーは、56ビットの長さである）、メッセージを暗号化する。受信側暗号デバイスは、逆のDESアルゴリズムを使用して、暗号化に使用されたような同じ暗号キーがロードされたときに、暗号化されたメッセージを解読する。
【００１２】
非対称キーアルゴリズムは、暗号化および解読するために異なる暗号キーを使用する。非対称キーアルゴリズムを使用する暗号システムでは、ユーザーは、暗号キーをパブリックにし、暗号解読キーをプライベートに保持し、プライベート暗号解読キーをパブリック暗号化キーから導出することは不可能である。したがって、特定のユーザーのパブリックキーを知っているものは誰でもそのユーザーへのメッセージを暗号化することが可能であり、そのパブリックキーに対応するプライベートキーの所有者であるユーザーだけがそのメッセージを解読することが可能である。このパブリック/プライベートキーシステムは、DiffieおよびHellmanの"New Directions in Cryptography"、IEEE Transactions on Information Theory（1976年11月）、および米国特許第4,200,770号（Hellman他）において最初に提案された。
【００１３】
上記の暗号システムは、ステート情報をいくつかの方法でセキュアに格納することによって、パーソナル通信デバイス内のステート情報を保護するために使用されている。第一の方法では、スナップショットにステート情報を書き込み、例えば一方向のハッシュ関数を使用して、その"チェックサム"を計算する。その結果は、デバイスの耐タンパー性メモリロケーション内に格納される。したがって、誰かがステート情報を変更しようとした場合、その結果のチェックサムは、パーソナルデバイス内に格納されたチェックサム値に一致しないことになる。第二の方法では、デバイス内の単調な永続性カウンタを使用する。ステートの変更があるたびに、デバイスキーを使用して暗号化された現在のカウンタ値とともに、ステート情報が格納される。したがって、このキーが無ければ、誰も暗号化したステート情報を変更することができない。
【００１４】
しかし、これらの従来技術の方法のどちらも、セキュアプロセッサ自体を含む同じ耐タンパー性ゾーン内に、少量の読み書きストレージが必要である。
【００１５】
DRMの分野では、関連するアプリケーションは、一般的に、デジタル集積回路によって提供される。当該のアプリケーションを実行するセキュアプロセッサが、その耐タンパー性永続性ストレージ内に十分な交信可能な空間を有する場合は、ステート情報に対する完全性保護の実行がかなり容易である。Maheshwari他は、このような機構を、"How to Build a Trusted Database System on Untrusted Storage"、OSDI 2000の中で開示している。不都合にも、経済的理由から、デジタル集積回路では不揮発性書き換え型メモリが取り除かれている。特に携帯電話のようなリソースが制限されたデバイスに関して、更新可能なメモリまたは読み書きストレージのセキュアプロセッサの耐タンパー性境界への統合は高価である。すなわち、ステート情報の格納およびアプリケーションのセキュアな処理は、例えばセキュアプロセッサの集積回路のような、同じ耐タンパー性ゾーンでは、必ずしも経済的（または実用的）ではない。
【００１６】
さらに、当技術分野で知られているように、デジタルICブロックは、コストを最適化される傾向があるので、当該の包含によってICブロックの領域に対して通常の4シリコン層の代わりに6シリコン層を製作しなければならないため、それらの一部は、書き換え可能な永続性メモリ（例、フラッシュメモリ）を収容することもできない。したがって、不揮発性メモリを備えたセキュアプロセッサを単純に提供することは、全ての使用に対して経済的および技術的にふさわしくないようである。
【００１７】
それに応じて、一般的なリソースに制約のあるデバイスのセキュアプロセッサに、完全性保護されたセキュアなストレージをどのように実装するかという問題がある。
【００１８】
この問題に対する実用的なソリューションとして、本出願の出願人らの同時係属の特許出願、公開番号US 2003/0079122 A1は、重要なステート情報の格納に外部耐タンパー性ストレージデバイスを使用するという概念を提示している。認証された（または"信頼できる"）カウンタの概念を導入する。特許出願US 2003/0079122 A1では、認証されたカウンタを、スマートカードのような外部耐タンパー性セキュリティトークン内に実装でき、セキュアプロセッサが使用することによってそのステートストレージを完全性保護できることを開示している。これが機能するには、セキュアプロセッサは、外部セキュリティトークンを認証できなければならない。このため、特許出願US 2003/0079122 A1では、パブリックキーインフラストラクチャ（PKI）の使用を開示している。
【００１９】
しかし、パブリックキーインフラストラクチャは、デバイスメーカーと外部セキュリティトークンのメーカーとの間の協調および同意を必要とすることから、確立が多少複雑である。また、外部セキュリティトークンまたはメモリに処理負荷を課すことになる。
【特許文献１】US 2003/0079122 A1
【特許文献２】US4,200,770
【非特許文献１】Federal Register Vol. 40、No. 52（1975年3月17日）、およびVol. 40、No. 149（1975年8月1日）
【非特許文献２】DiffieおよびHellman "New Directions in Cryptography"、IEEE Transactions on Information Theory（1976年11月）
【発明の開示】
【００２０】
本発明は、従来技術に見られる問題を回避するか、または少なくとも軽減することを目的とする。
【００２１】
本発明の第一の側面によれば、
第一のトラストゾーンを形成するための第一の集積回路であって、セキュアプロセッサを備えた第一の集積回路と、
第二のトラストゾーンを形成するための、前記第一の回路とは区別される第二の集積回路であって、前記第二のトラストゾーン内にセキュア不揮発性ストレージを備えた第二の集積回路と、を備えるデバイスであって、
前記セキュアプロセッサは、セキュア情報が前記セキュア不揮発性ストレージ内にセキュアに格納されるセキュアな様態で、前記第一のトラストゾーンから前記第二のトラストゾーンへ情報を通信するように構成され、
前記第二の集積回路は、そのセキュア不揮発性ストレージ内に格納された情報を、セキュアな様態で、前記第二のトラストゾーンから前記第一のトラストゾーン内の前記セキュアプロセッサに通信するように構成され、
前記第一の集積回路および前記第二の集積回路が、前記デバイスの内部要素である、
デバイスが提供される。
【００２２】
ある実施形態では、内部セキュリティトークンまたは内部ストレージが提供され、異なるカウンタを示す情報のようなセキュア情報をセキュアに格納する。内部セキュリティトークンは上記デバイスの要素であり、上記デバイスの組み立て中に初期化することができる。しかし、セキュリティトークンは、セキュアプロセッサの耐タンパー性境界の内には無い。有益なことに、内部セキュリティトークンは、第二の集積回路によって提供され、継続的な電力供給が無くてもある期間にわたってセキュリティ関連のステート情報を保持することができる不揮発性メモリを含む。
【００２３】
また有益なことに、上記デバイスは、共通のアセンブリモジュール上にセキュリティ情報の処理およびストレージ回路を備えているので、第一および第二の回路間の通信が、２つのアセンブリモジュールを相互接続するコネクタによって検出できないようにすることが可能である。
【００２４】
さらに、揮発性の書き換え可能メモリだけを備えた第一の回路の提供は経済的であり、それによって、第一の回路の複雑さを減じる。一方、第二の回路の使用に適するものは、永続性の書き換え可能メモリであろう。例えば、現在のデジタル集積回路（IC）ブロックは、フラッシュメモリを経済的に提供するように構成することができないが、エネルギー管理チップのようなアナログ回路は、コストのかからない永続性ストレージを提供するように比較的単純に構成することが可能である。これは、特に、携帯電話のような数千万、数億台が製造される製品の場合に好都合である。
【００２５】
有益なことに、第一および第二の回路は、第一および第二のトラストゾーンの間で使用されるセキュア通信プロトコルを確立するように構成される。プロトコルは、少なくともREADおよびWRITEコマンド、およびキー変更オペレーション（例、WRITE KEYコマンド）を含む。有益なことに、ある実施形態では、デバイスは、２つ以上のキーを第一および第二のトラストゾーンの間で共有できるようにする、キーステート管理（key-state management）を備える。第二のトラストゾーンの不揮発性ストレージは、通信に使用される共有キーを示す少なくとも１つのキーステート変数を含むことが可能である。ステート変数は、第一および第二のトラストゾーンの間で共有されたキーが変更されたときに、保持および更新される。
【００２６】
本発明のある実施形態は、READおよびWRITEオペレーションに対するフレッシュネス検査を提供する。READオペレーションの場合、セキュアプロセッサは、第二の集積回路から受信する以降の結果が最新である（リプレイされていない）ことを検証できるように、READコマンド内にランダム値をパラメータとして含むことが可能である。WRITEオペレーションの場合は、フレッシュネスは、WRITEコマンド内にパラメータとしてターゲットセル内の古い値を含むことによって、また第二の集積回路において、WRITEコマンド内のパラメータがターゲットセルの古い値と同じであるかどうかを確認することによって、実行することが可能である。同じではない場合、WRITEコマンドは有効にならない。
【００２７】
さらに別の実施形態では、第二の集積回路は、その暗号オペレーションの全てに対して単一の暗号プリミティブだけを使用するように構成される
【００２８】
本発明の第二の側面によれば、第一の集積回路と第二の集積回路との間で共有されるセキュアキーを初期化するための方法であって、
第一の集積回路と第二の集積回路との間で共有されるセキュアキーを、セキュアキー配信サーバーから第一および第二の集積回路へ配信するステップと、
第一のキーを使用して、セキュアキー配信サーバーから第一の集積回路へのセキュアキーの配信を保護するステップであって、第一のキーは、第一の集積回路とセキュアキー配信サーバーとの間で事前に共有されたキーであるステップと、
第二のキーを使用して、セキュアキー配信サーバーから第二の集積回路へのセキュアキーの配信を保護するステップであって、第二のキーは、第二の集積回路とセキュアキー配信サーバーとの間で事前に共有されたキーであるステップと、
を含む方法が提供される。
【００２９】
本発明の第三の側面によれば、セキュアプロトコルに従って、別の集積回路に転送されるコマンドを発行および暗号化するためのセキュアプロセッサを備える集積回路であって、
セキュアプロトコルは、集積回路と別の集積回路との間で共有されるセキュアキーを変更することができるキー変更オペレーションを含む、
集積回路が提供される。
【００３０】
本発明の第四の側面によれば、集積回路のセキュアプロセッサによる実行が可能なコンピュータプログラムであって、
セキュアプロトコルに従って、別の集積回路に転送されるコマンドを発行するためのプログラムコードと、
セキュアプロセッサに、集積回路と別の集積回路との間で共有されるセキュアキーが変更されるキー変更オペレーションを起動させるためのプログラムコードと、
を含むコンピュータプログラムが提供される。
【００３１】
本発明の第五の側面によれば、別の集積回路から受信したセキュアなデータを格納するための不揮発性メモリと、不揮発性メモリにアクセスするためのロジックとを備える集積回路であって、不揮発性メモリに格納されると共に暗号化によって保護されたセキュアなデータを別の集積回路に通信するように構成され、さらに単一の暗号プリミティブを使用するように構成される、集積回路が提供される。
【００３２】
本発明の第六の側面によれば、集積回路での実行が可能なコンピュータプログラムであって、集積回路と別の集積回路との間で共有されたキーを使用して別の集積回路との通信を保護するためのプログラムコードと、異なるセキュリティレベルの異なるキーステート間で変更するためのプログラムコードとを含むコンピュータプログラムが提供される。
【００３３】
本発明の第七の側面によれば、デバイスのエネルギー管理を実行するように構成されたエネルギー管理チップであって、エネルギー管理チップは、セキュアプロセッサにセキュリティトークンを提供するように、セキュア不揮発性メモリおよびロジックを備える、エネルギー管理チップが提供される。
【００３４】
本発明の第四および/または第六の側面によるコンピュータプログラムは、コンピュータ可読のメディアに格納することが可能である。本発明の第四および/または第六の側面によるコンピュータプログラムは、情報信号によって担送することが可能である。
【００３５】
有益なことに、第二の集積回路のプロセッサおよび/またはロジックのオペレーションは、その後プログラムを実行してそれぞれのデバイスのオペレーションを制御するメモリに書き込まれたプログラムによって、プログラムすることが可能である。また、有益なことに、プログラムは、プロセッサおよびロジックを備えたデバイスの製造工程中にのみ書き込むことが可能である。別様には、プログラムは、その通常の使用に対するプロセッサおよびロジックを備えたデバイスの設定時に格納することが可能である。設定時の格納は、サービスまたは最終用途に関連して実行することが可能である。
【００３６】
本発明のさらに別の側面によれば、本発明の第一の側面に基づいて第一の集積回路を提供する。第一の集積回路は、デバイスの内部要素として第二の集積回路とともに動作するように構成される。本発明のさらに別の側面によれば、本発明の第一の側面に基づいて第二の集積回路を提供する。第二の集積回路は、デバイスの内部要素として第一の集積回路とともに動作するように構成される。
【００３７】
従属請求項は、本発明の実施形態に関する。本発明の特定の側面に関する従属請求項に含まれる内容は、本発明の他の側面にも適用可能である。
【詳細な説明】
【００３８】
以下、添付図面を参照して本発明の実施形態について一例として説明する。
【００３９】
本発明の一実施形態は、セキュアプロセッサが、内部セキュリティトークンにステート情報をセキュアに格納することができるようにデザインされている。本願明細書における用語"内部セキュリティトークン"は、従来技術において既知である、（リムーバブルスマートカードのような）デバイス外部のセキュリティトークンとは対照的な、デバイス内部のセキュリティトークンのことである。なお、内部セキュリティトークンは、デバイスの要素を形成するので、実質的に置き換え不可能であるが、内部セキュリティトークンは、セキュアプロセッサに統合されない。すなわち、本発明の本実施形態は、（デバイスの）内部であるが（セキュアプロセッサに）統合されていない、セキュリティトークンまたはストレージを示すものである。
【００４０】
図1は、第一の信頼境界（トラスト境界：Trust Perimeter ）110によって区分される第一のトラストゾーン101を示す。セキュアプロセッサは、第一の信頼境界内に存在する。第一の信頼境界内のゾーンは、耐タンパー性である。内部セキュリティトークンは、第一の信頼境界内には無いが、第二の信頼境界120によって制限される第二のトラストゾーン102がデバイス内に配置され、そこに内部セキュリティトークンが実装される。第二のトラストゾーンも耐タンパー性である。
【００４１】
第二のトラストゾーン102は、第一のトラストゾーン101とは独立している。第一のトラストゾーンのセキュアプロセッサは、第一のトラストゾーンと第二のトラストゾーンとの間に実装された通信チャネル105を経て、内部セキュリティトークンと通信する。通信チャネルによって接続される２つの永続的かつ独立した耐タンパー性トラストゾーンが、デバイス内に実装される。
【００４２】
セキュアプロセッサの一実施例には、携帯電話ネットワークの携帯電話のような移動局上のセキュアなベースバンドASICチップがある。内部セキュリティトークンの対応する実施例には、独立した集積回路（IC）チップ、例えば、エネルギー管理チップがある。通信チャネルの一実施例には、I2Cバスがある。
【００４３】
携帯電話のようなハンドヘルドのポータブルデバイスは、一般的に、一組のアセンブリモジュールを合わせて配置することによって製造される。好適な実装によれば、チップ（または回路）はセキュアプロセッサを備え、相互接続通信チャネルおよび独立したチップ（または回路）は共通のアセンブリモジュールに属する内部セキュリティトークンを備える。それらは、共通の回路基板に実装することができる。別様には、異なるアセンブリモジュールに属させることが可能であり、通信チャネルを経て相互接続される。
【００４４】
図2は、本発明の一実施形態による、携帯電話アセンブリモジュール200の簡略化したブロック図である。アセンブリモジュール200は、２つ以上のICブロックを備えた回路基板または他の一体的なエンティティである。ICブロックは、それらが実際に何らかのシリコンチップを含んでいるかどうかに関わらず、本願明細書において統合ICチップと称する。
【００４５】
アセンブリモジュール200は、主ASIC 210と、副ASIC 220との２つの特定のICチップを備え、副ASIC 220は、主ASIC 210にセキュリティトークンを提供する。主ASIC 210は、セキュアなベースバンドASIC、ベースバンド周波数オペレーションができるデジタルICチップとすることが可能であり、副ASICは、エネルギー管理チップ（別名、EMC）、エネルギー管理ができるアナログICチップとすることが可能である。
【００４６】
主ASIC 210は、セキュアプロセッサ211と、レイヤー１キャッシュのようなセキュアなランダムアクセスメモリ212と、不揮発性リードオンリーメモリ213（ROM）とを備える。ROM 213は、デバイス起動後にロードされたときにセキュアプロセッサ211のオペレーションを制御するコンピュータプログラムコード214の一部を含む。主ASIC 210は、メモリバス215を経て別の不揮発性メモリ216に接続される。不揮発性メモリ216は、第一のトラストゾーン外部のセキュアでない（非耐タンパー性）ゾーン上の保護ストレージを形成する。それに応じて、セキュアプロセッサは、第一のトラストゾーン外部にのみ書き換え可能不揮発性メモリを有する。その情報は第一の信頼境界内の既知の内部キーを使用して暗号化されるので、保護ストレージ216はシークレットである。なお、保護ストレージは、少なくとも基本的には、高度な攻撃者がそこに含まれる情報を置き換えることができるので、完全性が保護されない。
【００４７】
副ASIC 220は、フラッシュメモリ223のような書き換え可能な不揮発性メモリを含む。副ASIC 220は、フラッシュメモリにアクセスするためのフラッシュメモリアクセスロジック222と、主ASIC 210との通信を行うための制御ロジック221と、暗号プリミティブを実行するための制御ロジック221に接続された暗号用ブロック224とをさらに備える。副ASIC 220が携帯電話のエネルギー管理チップである場合、副ASIC 220は、通常のエネルギー管理機能の実行に必要な他の適切なブロックをさらに備える。これらの機能は、一般的な携帯電話のデジタル回路による制御が可能な電圧よりも高い電圧のコンポーネントに対するエネルギー供給の制御を伴う。ロジックブロック221および222、および暗号用ブロック224は、ハードウェア、ソフトウェア、またはハードウェアおよびソフトウェアの組み合わせによって実行することが可能である。
【００４８】
副ASIC 220のアナログチップへの実装は、必ずしも必要ではないものと理解されたい。逆に、書き換え可能な永続性メモリを備えたアセンブリ200内に統合したデジタルICを同様に使用することが可能である。さらに、本発明の実施形態は、他のタイプのICブロックによって同様に適用することが可能である。
【００４９】
主ASIC 210は、コンピュータプログラムコードを実行することができるあらゆる好適なICとすることができるので、第一の信頼境界内、すなわち、第一の対タンパー性トラストゾーン101上でアプリケーションを実行したときに、その実行に干渉が入ることは困難である。トラストゾーン101は、一般的にセキュアなデータを含む必要なレジスタおよびメモリ領域を含む。副ASIC 220は、ロジック回路221および222と、暗号用ブロック224と、全てではないが書き換え可能な不揮発性または永続性メモリ223の関連部分とを含む、第二のトラストゾーン102を有する。有益なことに、ロジック回路222は、永続性メモリ223の関連部分への唯一の―および制御された―アクセスを提供する。永続性メモリ223の全てが、セキュアな境界（Perimeter）120内に存在しなければならないというわけではない。しかし、一般的にそうなることもありうる。
【００５０】
制御ロジック回路221は、暗号用ブロック224によって提供される暗号手段によって、セキュアプロセッサ211とのセキュアな通信を行うことができる。セキュアな通信は、キーを使用して暗号で通信チャネル105を保護することによって達成される。本発明は、異なるキーステート値を有する副ASICを提供する。通信チャネルをセキュアにするためにどのキーを使用するかは、副ASIC 220におけるキーステートに依存する。キーステートに従って、ハードワイヤードキーK_H、グループキーK_G、専用のキーK_Sが使用される。なお、通信チャネル105を経て生じる通信は保護されているが、通信チャネル自体は上述の信頼境界の内のいずれにも存在しておらず、その意味では、非保護ゾーンに存在しているということに留意されたい。同じことは保護ストレージ216にも当てはまる。
【００５１】
主ASIC 210および副ASIC 220は、初期化プロシージャ内のセキュアな対として互いに機能するように初期化される。チップの製造中に、グローバルハードワイヤードキーK_Hは、副ASIC 220の制御ロジック221内で符号化（または焼き付け）され、識別子ID_Sがチップに割り当てられる。識別子ID_Sは、副ASIC 220を一意的に識別する一意の識別子である。別様には、識別子ID_Sは、グループ識別子である。以降のステップでは、グループキーK_Gが副ASICに設定（または書き込み）される。グループキーは、定義上、グループ（例、チップのバッチ）に特有のキーである。グループキーK_Gが設定されたときに、副ASICは、暗号化のためにハードワイヤードキーK_Hを使用するキーステート（"ハードワイヤードキーステート"）から、暗号化のためにグループキーK_Gが使用されるキーステート（"グループキーステート"）に切り替えられる。有益なことに、グループキーK_Gの設定、および"ハードワイヤードキーステート"から"グループキーステート"への関連する切り替えは、チップが製造されるときに行われる。
【００５２】
有益なことに、専用のキーK_Sは、チップの製造中ではなく、アセンブリモジュール200が組み立てられた後、またはアセンブリモジュール200を含むデバイスが電話器の製造工場のアセンブリラインで組み立てられた後にのみ副ASICに設定される。初期化の一部は、サービスポイントで行うこともできる。
【００５３】
図3は、本発明の一実施形態による、初期化プロシージャを示す図である。図3の初期化プロシージャの目的は、共有キーまたはシークレット、すなわち専用のキーK_Sを、主ASIC 210のセキュアプロセッサおよびそのセキュリティトークン、すなわち副ASIC 220に割り当てるためのものである。アセンブリライン内のセキュアサーバー310は、キー配布サーバーとしての役割を果たす。
【００５４】
ステップS1で、主ASIC 210は、副ASIC 220の識別情報を読み取る。その応答（ステップS2）として、副ASIC 220の識別子ID_Sを獲得する。状況に応じて、主ASIC 210は、副ASIC 220から現在のキーステート情報を読み取ることも可能である。ステップS3で、主ASIC 210は、セキュアサーバー310から、ASIC 210と220との間で共有すべき専用のキーK_Sをリクエストする。有益なことに、このリクエストは、副ASIC 220のキーステート、副ASIC 220の識別子ID_S、および主ASIC 210の一意の識別子ID_Pを含む。状況に応じて、リクエストは、キーK_P、すなわちセキュアサーバー310と主ASIC 210との間で事前に共有されたシークレットキーを使用して認証することが可能である。受信情報に基づいて、セキュアサーバー310は、専用のキーK_Sを形成または選択する。セキュアサーバー310は、各キーに関する情報を保持するデータベースを有することが可能である。例えば、この場合、セキュアサーバー310は、識別子ID_PおよびID_Sと、副ASIC 220および専用のキーK_Sのキーステートとを互いにリンクすることが可能である。
【００５５】
ステップS4で、セキュアサーバー310は、主ASIC 210に応答を返信する。前記応答は、２つの要素を備える。第一の要素は、主ASIC 210によって副ASIC 220に対して発行されるWRITE KEYコマンドのためのペイロードである。前記要素は、キーK_Gを使用して暗号化した専用のキーK_Sを含む。第二の要素は、キーK_Pを使用して暗号化した専用のキーK_Sを含む。ステップS5で、専用のキーは、上述のペイロードとして第一の要素によってWRITE KEYコマンドを発行することによって、副ASIC 220のロジックに転送および格納され、副ASICのキーステートは、"専用のキーステート"に従って更新される。並行して、主ASIC 210は、第一の要素を解読して、その保護ストレージ216内にK_Sのコピーを格納する。ステップS6で、WRITE KEYコマンドの返信として、成功または失敗コードが主ASIC 210送信される。これで、キーK_Sを使用できるようになる。
【００５６】
上記では、"グループキーステート"から"専用のキーステート"へ切り替えるように、副ASIC 220のキーステートを変更するための初期化プロシージャを説明しているが、状況に応じて、類似したプロシージャを使用して、副ASIC 220のキーステートを"ハードワイヤードキーステート"から"グループキーステート"へ変更することが可能であることに留意されたい。上述の説明を考慮する限りでは、K_GをK_Hに置き換えて、K_SをK_Gに置き換えるだけでよい。他の全ての要素は、同じものを保持しなければならない。K_HキーステートからK_Gキーステートへの移行は、副ASICの製造時に好都合に行われる。しかし、電話器の製造工場で行うこともできる。K_G（および同様にK_H）は、副ASICへのK_S（および同様にK_G）の移動を保護することを目的とする。このキーによって、キーK_Hだけがハードワイヤードとなり、他のキーはハードワイヤードにはならないが、単にWRITE KEYコマンドによって設定される。
【００５７】
上述のように、共有キーK_Sを使用して、主ASIC 210と副ASIC 220との間の通信をセキュアにする。それに応じて、一実施形態では、READおよびWRITEコマンドは、ASIC間で使用されるプロトコルに属し、また副ASICの永続性メモリ223上のセキュアなステート情報（単調に増加するPINアクセス試行カウンタに結びつく情報など）であり、専用のキーK_Sを使用して、対称DESアルゴリズムのような対称キー暗号アルゴリズムによって保護される。その他の点では、READおよびWRITコマンドの基本的な使用シナリオは、US 2003/0079122 A1に示されるものに対応する。主ASIC 210はプロトコルコマンドを副ASIC 220に送信し、副ASIC 220は、応答をそのコマンドに送信することによって主ASIC 210に応答する。
【００５８】
完全性が保護されるべきデータは暗号化され、K_Sを使用してセキュアプロセッサ211によって、保護された不揮発性ストレージ216内に格納される。また、前記データまたはその重要な要素は暗号化され、K_Sを使用して副ASIC 220のメモリ223内に格納される。電源投入時に、セキュアプロセッサ211はこれらのメモリのコンテンツを比較する。例えば、ストレージ216が改竄されている場合、コンテンツを比較するときにその旨が通知される。
【００５９】
以下、細かな実装上の事項について説明する。
【００６０】
第一に、書き込みオペレーション（WRITEまたはWRITE KEY）は強力ではない。書き込み操作は失敗する可能性もある。書き込みオペレーションの失敗によって、副ASICが非決定性のキーステートに到達する場合がある。その場合、副ASICは、例えば、どのキーを使用するべきかがわからない。この問題を軽減するには、本発明の一実施形態に基づいて、内部セキュリティトークン上の（１つではなく）少なくとも２つの異なるメモリロケーションを使用して、どのキーが使用されているのかを示すキーステートを調査する。これらのメモリロケーションは、使用中のキーステートまたはキーを示すキーステート変数を含む。一実施形態では、各キーステート変数に冗長性が追加される。冗長性は、少なくとも部分的にマジック値、実質的に"現実の"値よりも大きい値の形態であるキーステート値の値を示すことによって追加される。キーステート変数がマジック値以外の任意の値である場合、デバイスは、より安全なセキュリティキーを使用するようにフォールバックするように構成される（例えば、キーステートを"グループキーステート"から"専用のキーステート"へ更新するプロセスでWRITEが失敗した場合に、K_Gの使用を継続する）。別の実施形態では、WRITEオペレーションが成功したかどうかを確認する手段を提供する。本実施形態では、WRITEコマンドを発行した後に、複数の読み取りコマンドを発行してWRITEコマンドの結果を検証する。
【００６１】
第二に、デバッグするためには、内部セキュリティトークンを既知のステートに戻すことによってリセットできなければならないので、外部の試験デバイスは、データの内部セキュリティトークンとの読み取りおよび書き込みを行う場合がある。当然、これは、通常のオペレーション時にシステムのセキュリティを損なうことなしに可能でなければならない。これを達成するために、一実施形態では、最初に１つのキーステート変数をゼロにして、次いで格納したキーを消去するようにリセットオペレーションを構成し、また内部セキュリティトークンにおいて、デバイスにハードワイヤードキーを使用させる（または全くキーを使用させない）ように構成する。一実施形態では、内部セキュリティトークンは、キーステート値がマジック値では無い場合に、デバイスの電源が投入されたときはいつでもキーが消去されるように構成される。
【００６２】
第三に、内部セキュリティトークン内部にランダム性のソースが無い場合、リプレイアタック（Replay Attack）が懸念される限り、問題を生じる場合がある。上述のように、セキュアプロセッサと内部セキュリティトークンとの間の通信は、暗号化されて完全性が保護されている。次に、ランダム性のソースの不足について、読み取りおよび書き込みオペレーションを別々に説明する。
【００６３】
読み取りオペレーション：
内部セキュリティトークンは、READコマンドにナンス（nonce）を含めることによってセキュアプロセッサがこのオペレーションを行うことができるので、内部セキュリティトークンは、必ずしもリプレイ検出を行う必要はない。
【００６４】
書き込みオペレーション：
リプレイ検出は、リプレイアタックの防止に適切である。一実施形態では、受信したWRITEコマンドが、新しい値に加えて、ターゲットメモリロケーションに格納された現在の値（または、他の実施形態では、他のメモリロケーションにある値、またはいくつかのメモリロケーションの値に、互いに既知の関数を適用した結果）も含むことを検証する。それ以外ならば、WRITEオペレーション許可されない。これは、リプレイ保護の限定的形態を保証する。すなわち、メモリロケーション内に格納された値のシーケンスにループが無い場合に限り、攻撃者は古いWRITEコマンドをリプレイすることによってシステムを攻撃することができない。別の実施形態では、攻撃者がREADコマンドをリプレイすることによってメモリロケーションを変更したかどうかを判断する機会を減らすために、副ASICは、線形フィードバックシフトレジスタ（linear feedback shift register: LFSR）を備え、LFSRからのいくつかのビットがリプレイに追加される。LFSRは、１つ以上のメモリロケーションのコンテンツを使用して初期化され、クロックによって駆動される。
【００６５】
このように、READおよびWRITEコマンドは保護され、通信チャネル105の監視者は、どのパラメータが通信されたか、または何が生じたのかを容易に判断することができない。
【００６６】
第四に、ASIC上の暗号処理は、基本的な暗号プリミティブを使用して実行される。副ASICが限定されたリソースである場合、ASIC間のセキュア通信プロトコルは、副ASICへの全ての必要な暗号処理を、暗号プリミティブをほとんど使用せずに実行するようにするが、それでも秘匿性およびメッセージの完全性などのプロトコルの必要な特性を保持するようにデザインしなければならない。これは、例えば、以下のように、AES（Advanced Encryption Standard: 高度暗号化規格）、DES（Data Encryption Standard: データ暗号化規格）、またはトリプルDESのような、好適な対称暗号化アルゴリズムを使用することによって達成することができる。対称暗号化アルゴリズムは、フォワード変換（通常、暗号化に使用される）およびリバース変換（通常、暗号解読に使用される）からなる。
【００６７】
主ASIC内で生成されて副ASICに送信されるメッセージの場合:
・  秘匿性は、暗号ブロックチェイニング（Cipher-Block Chaining: CBC）モードでの基本オペレーションとしてフォワード変換を使用することによって達成される。
・  完全性は、CBC MAC（message authentication code: メッセージ認証コード）を使用するが、CBCモードでの基本的オペレーションとしてリバース変換を使用することによって達成される。
【００６８】
CBCモードは、当業者が既知であるオペレーションのモードであり、例えば、Alfred J. Menezes他の著書"Handbook of Applied Cryptography"（ISBN: 0-8493-8523-7、第五版、2001年8月）に詳述されている。
【００６９】
副ASIC内で生成されて副ASICから送信されるメッセージの場合:
・  秘匿性は、リバース変換を用いて達成される。
・  完全性は、基本オペレーションとしてリバース変換によるCBC MACを使用することによって達成される。  このように、副ASICは、対称暗号化プリミティブのリバース変換を実装するだけでよい。主ASICは、フォワードおよびリバース変換の実装が必要である。
【００７０】
対称暗号化アルゴリズムが、トリプルDESであれば、副ASICのシーケンスにおいて、基本DESアルゴリズムの３つのリバース変換が使用される。このように、副ASICは、DESのリバース変換を実装するだけでよい。
【００７１】
副ASICから送信されるメッセージの長さが１つのブロックサイズであれば、チェイニングは不要である。
【００７２】
図4は、本発明の実施形態による、携帯電話通信ネットワークの移動局を非常に簡略化した図である。移動局400は、セキュアなベースバンドASIC 210に加えて、エネルギー管理チップ220と、I2Cバス105と、ユーザーインターフェース410と、無線周波数（radio frequency :RF）部420とを備える。ユーザーインターレース410および無線周波数部420は、ベースバンドASIC 210に接続される。ユーザーインターフェースは、デバイスを使用するためのキーボードおよびディスプレイを備える。キーボードは、例えば、PINをデバイスに入力するために使用することができる。PIN試行に従って、セキュアなベースバンドASIC 210は、エネルギー管理チップ220の不揮発性メモリ内に、ステート情報（ここでは、失敗したPIN試行の数）を保持する。RF部は、無線ネットワーク430による無線通信に使用される。
【００７３】
本発明の特定の実装および実施形態について説明した。当業者には、本発明が、上述の詳細な実施形態に制限されず、本発明の特性から逸脱することなく、同等の手段を使用して他の実施形態で実行することができる、ということが明らかであろう。複数の機能を上述の実施例の一部として説明したが、技術的に可能な場合は、その機能をオプションとみなし、記述されたあらゆる他の実施例と組み合わせ可能でなければならない。例えば、本発明は、様々な電子デバイスにおいて、特にポータブル電子ブック、PDAデバイス、ゲームデバイス、音楽プレーヤ、（レンタルの）コンテンツへのアクセスを制限することができるセットトップボックスを有効にするDRM、およびGPSポジショニングデバイスにおいても有用である。したがって、本発明の範囲は、添付の特許請求の範囲によってのみ限定される。
【図面の簡単な説明】
【００７４】
【図１】本発明の一実施形態による、２つの別個のトラストゾーンを有することの概念を示す図である。
【図２】本発明の一実施形態による、携帯電話アセンブリモジュールの簡略化したブロック図である。
【図３】本発明の一実施形態による、初期化プロシージャを示す図である。
【図４】本発明の一実施形態による、携帯電話通信ネットワークの移動局を示す図である。
【図１】
2008541591.tif 000003
【図２】
2008541591.tif 000004
【図３】
2008541591.tif 000005
【図４】
2008541591.tif 000006
【手続補正書】
【提出日】平成19年11月29日(2007.11.29)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
第一のトラストゾーンを形成するための第一の集積回路であって、セキュアプロセッサを備えた第一の集積回路と、
第二のトラストゾーンを形成するための、前記第一の回路とは区別される第二の集積回路であって、前記第二のトラストゾーン内にセキュア不揮発性ストレージを備えた第二の集積回路と、を備えるデバイスであって、
前記セキュアプロセッサは、情報が前記セキュア不揮発性ストレージ内にセキュアに格納されるセキュアな様態で、前記第一のトラストゾーンから前記第二のトラストゾーンへ前記情報を通信するように構成され、
前記第二の集積回路は、そのセキュア不揮発性ストレージ内に格納された情報を、セキュアな様態で、前記第二のトラストゾーンから前記第一のトラストゾーン内の前記セキュアプロセッサに通信するように構成され、
前記第一の集積回路および前記第二の集積回路が、前記デバイスの内部要素である、デバイス。
【請求項２】
前記第一および第二の集積回路は、前記第一および第二のトラストゾーンの間で共有される一意のセキュアキーをセキュアに初期化するように構成される、請求項１に記載のデバイス。
【請求項３】
前記第一の集積回路は、セキュアキー配信サーバーとキーを共有するように構成され、前記第二の集積回路は、前記一意のセキュアキーを前記セキュアキー配信サーバーから前記第一および第二の集積回路へセキュアに配信するために、前記セキュアキー配信サーバーと別のキーを共有するように構成される、請求項２に記載のデバイス。
【請求項４】
前記第一および第二の回路は、前記第一および第二のトラストゾーンの間で使用されるセキュア通信プロトコルを確立するように構成される、請求項１から３のうちのいずれかに記載のデバイス。
【請求項５】
前記セキュア通信プロトコルは、前記第一および第二のトラストゾーンの間のセキュアな通信のために、前記一意のセキュアキーを使用することによって実行される暗号アルゴリズムを備える、請求項４に記載のデバイス。
【請求項６】
前記プロトコルは、少なくともREADおよびWRITEコマンド、およびキー変更オペレーションを含む、請求項４または５に記載のデバイス。
【請求項７】
前記デバイスは、２つ以上のキーを前記第一および第二のトラストゾーンの間で共有可能とするキーステート管理を備える、請求項１から６のいずれかに記載のデバイス。
【請求項８】
前記第二のトラストゾーンの前記不揮発性ストレージは、通信に使用される共有キーを示す少なくとも１つの保持されたキーステート変数を含む、請求項７に記載のデバイス。
【請求項９】
前記第二の集積回路は、電源投入オペレーションの際に、前記キーステート変数の現在の値を読み取ることによって、適切なキーステートを選択するように構成される、請求項８に記載のデバイス。
【請求項１０】
前記セキュアプロセッサは、前記第二の集積回路から受信する次の結果が最新である（リプレイされていない）ことを検証できるように、READコマンド内にランダム値をパラメータとして含むように構成される、請求項１から６のいずれかに記載のデバイス。
【請求項１１】
前記第二の集積回路は、そのセキュア不揮発性ストレージのターゲットメモリセルの古い値がWRITEコマンドに含まれているかどうかを確認し、含まれている場合にのみWRITEオペレーションを許可するように構成される、請求項１から６または１０のいずれかに記載のデバイス。
【請求項１２】
前記第二の集積回路は、前記一意のセキュアキーを使用することによって、及び、同じコマンドでも異なる応答をもたらすべく前記パラメータ内に外部的に予測できないコンポーネントを含むことによって、受信コマンドに対する応答のパラメータを暗号化するように構成される、請求項１から１１のいずれかに記載のデバイス。
【請求項１３】
前記予測できないコンポーネントは、クロックによって駆動される線形フィードバックシフトレジスタから導出された値である、請求項１２に記載のデバイス。
【請求項１４】
前記第二の集積回路は、その暗号オペレーションの全てに対して単一の暗号プリミティブだけを使用するように構成される、請求項１から１３のいずれかに記載のデバイス。
【請求項１５】
前記第一の集積回路はデジタルであり、前記第二の集積回路はアナログである、請求項１から１４のうちのいずれかに記載のデバイス。
【請求項１６】
前記第二の回路は、携帯電話のエネルギー管理チップに備えられる、請求項１から１５のいずれかに記載のデバイス。
【請求項１７】
前記第一の回路および第二の回路は、アセンブリモジュールの一部を形成する、請求項１から１６のいずれかに記載のデバイス。
【請求項１８】
前記情報は、前記デバイスのステートを示す情報を含む、請求項１から１７のいずれかに記載のデバイス。
【請求項１９】
前記デバイスは、前記情報を格納し、キーを使用して前記情報を暗号化するための第二の不揮発性メモリを備える、請求項１から１８のいずれかに記載のデバイス。
【請求項２０】
前記デバイスは、前記第二の不揮発性メモリのコンテンツを前記第二のトラストゾーンの前記セキュア不揮発性ストレージのコンテンツと比較するように配置される、請求項１９に記載のデバイス。
【請求項２１】
前記デバイスは、携帯電話などの携帯型通信デバイスである、請求項１から２０のいずれかに記載のデバイス。
【請求項２２】
第一の集積回路と第二の集積回路との間で共有されるセキュアキーを初期化するための方法であって、
前記第一の集積回路と前記第二の集積回路との間で共有される前記セキュアキーを、セキュアキー配信サーバーから前記第一および第二の集積回路へ配信するステップと、
第一のキーを使用して、前記セキュアキー配信サーバーから前記第一の集積回路への前記セキュアキーの配信を保護するステップであって、前記第一のキーは、前記第一の集積回路と前記セキュアキー配信サーバーとの間で事前に共有されたキーであるステップと、
第二のキーを使用して、前記セキュアキー配信サーバーから前記第二の集積回路への前記セキュアキーの配信を保護するステップであって、前記第二のキーは、前記第二の集積回路と前記セキュアキー配信サーバーとの間で事前に共有されたキーであるステップと、を含む方法。
【請求項２３】
セキュアプロトコルに従って、別の集積回路に転送されるコマンドを発行および暗号化するためのセキュアプロセッサを備える集積回路であって、
前記セキュアプロトコルは、前記集積回路と前記別の集積回路との間で共有されるセキュアキーを変更することができるキー変更オペレーションを含む、集積回路。
【請求項２４】
集積回路のセキュアプロセッサによる実行が可能なコンピュータプログラムであって、
セキュアプロトコルに従って、別の集積回路に転送されるコマンドを発行するためのプログラムコードと、
前記セキュアプロセッサに、前記集積回路と前記別の集積回路との間で共有されるセキュアキーが変更されるキー変更オペレーションを起動させるためのプログラムコードと、を含むコンピュータプログラム。
【請求項２５】
別の集積回路から受信したセキュアなデータを格納するための不揮発性メモリと、
前記不揮発性メモリにアクセスするためのロジックと、
を備える集積回路であって、
前記集積回路は、前記不揮発性メモリに格納され、暗号化によって保護されたセキュアなデータを前記別の集積回路に通信するように構成され、
前記集積回路は、単一の暗号プリミティブを使用するように構成される、
集積回路。
【請求項２６】
集積回路での実行が可能なコンピュータプログラムであって、
前記集積回路と別の集積回路との間で共有されたキーを使用して、前記別の集積回路との通信を保護するためのプログラムコードと、
異なるセキュリティレベルの異なるキーステート間で変更するためのプログラムコードと、を含むコンピュータプログラム。
【請求項２７】
デバイスのエネルギー管理を実行するように構成されたエネルギー管理チップであって、
前記エネルギー管理チップは、前記エネルギー管理チップの外部のセキュアプロセッサにセキュリティトークンを提供するように、セキュア不揮発性メモリおよびロジックを備える、エネルギー管理チップ。
【国際調査報告】
2008541591.tif 000007
2008541591.tif 000008
2008541591.tif 000009
2008541591.tif 000010
2008541591.tif 000011