(57)【要約】  本公開は、チップセット（１）のセキュア機能を有効にする方法、特に、デバイスが低電力モードに移行するときにセキュアメモリ（７）のコンテンツを暗号化する方法に関する。セキュアメモリ（７）のコンテンツは、チップセット（１）の低電力モード時において暗号化され外部メモリ（２０）に格納される。【選択図】図１
2021536712.tif 000002
【特許請求の範囲】
【請求項１】
チップセット（１）のセキュア部（２）の第１のメモリ（７）のメモリコンテンツを低電力モード中に保護する方法であって、前記低電力モードは第１のメモリ（７）からメモリコンテンツが消去される原因となり、
低電力モード移行時に、暗号化されたメモリコンテンツを得るために、メモリコンテンツの少なくとも一部を暗号化して任意に署名し、
低電力モード中は、セキュア部（２）の外部にある外部メモリ（２０）に暗号化されたメモリコンテンツを格納することを含む方法。
【請求項２】
低電力モード終了時に、暗号化されたメモリコンテンツを外部メモリ（２０）からセキュア部（２）に受信し、
復号化されたメモリコンテンツを得るために、暗号化されたメモリコンテンツを復号化して任意に認証し、
復号化されたメモリコンテンツを第１のメモリ（７）にロードすることを更に含む請求項１に記載の方法。
【請求項３】
前記チップセット（１）は、
前記セキュア部（２）とリモートクライアントアクセスサーバ（１１）との間にセキュアリンクを設定し、
前記セキュアリンクを介して前記セキュア部（２）のクライアントアクセスサーバ（１１）からセキュアスタンプを受信し、前記セキュアスタンプは前記メモリコンテンツを保護するためのデータを含み、
前記セキュアスタンプを前記セキュア部（２）の第２のメモリ（５）に格納し、低電力モード中は前記セキュアスタンプは前記第２のメモリ（５）に格納された状態を維持し、
低電力モード移行時に、前記セキュアスタンプを使用して前記コンテンツの少なくとも一部を暗号化し、
低電力モード終了時に、前記セキュアスタンプを使用して前記暗号化されたメモリコンテンツを復号化する請求項２に記載の方法。
【請求項４】
前記暗号化されたメモリコンテンツを復号化するときに、前記チップセット（１）によって前記セキュアスタンプを前記第２のメモリ（５）から除去することを含む請求項３に記載の方法。
【請求項５】
前記クライアントアクセスサーバ（１１）と、前記セキュアスタンプとは異なる前記セキュア部（２）との間の前記セキュアリンクの設定後に、新しいセキュアスタンプを受信することを含む請求項３&#12316;４のいずれか１項に記載の方法。
【請求項６】
ディフィーヘルマン（Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎ）鍵交換プロトコルを使用して、前記クライアントアクセスサーバ（１１）と前記セキュア部（２）との間に前記セキュアリンクを設定することを含む請求項３&#12316;５のいずれか１項に記載の方法。
【請求項７】
セキュアスタンプとしてタイムスタンプを使用することを含む請求項３&#12316;６のいずれか１項に記載の方法。
【請求項８】
前記暗号化アルゴリズムの初期化ベクトルとして前記セキュアスタンプを使用する暗号化アルゴリズムに基づいて、前記セキュア部（２）によって前記第１のメモリ（７）のメモリコンテンツを暗号化することを含む請求項３&#12316;７のいずれか１項に記載の方法。
【請求項９】
前記セキュア部（２）を前記チップセット（１）のトラスト実行環境（１２）の一部として使用することを含む請求項２&#12316;８のいずれか１項に記載の方法。
【請求項１０】
前記トラスト実行環境（１２）によって、低電力モード移行時における前記暗号化されたメモリコンテンツの前記外部メモリ（２０）への格納を制御し、低電力モード終了時における暗号化されたメモリコンテンツの前記セキュア部（２）へのロードを制御することを含む請求項９に記載の方法。
【請求項１１】
ランダムキーを生成する前記セキュア部（２）を備え、
低電力モード移行時に、暗号化されたコンピュータコードを得るために、前記ランダムキーを暗号鍵として使用し、前記セキュアスタンプを初期化ベクトルとして使用して、前記トラスト実行環境（１２）は、前記トラスト実行環境（１２）で実行するコンピュータコードを暗号化し、
低電力モード終了時に、前記トラスト実行環境（１２）は、前記ランダムキーを暗号鍵として使用し、前記セキュアスタンプを初期化ベクトルとして使用して、暗号化されたコンピュータコードを復号化する、
請求項９又は１０に記載の方法。
【請求項１２】
前記第２のメモリ（５）に前記ランダムキーを格納する請求項１１に記載の方法。
【請求項１３】
更なるセキュアリンクによって前記セキュア部（２）を前記トラスト実行環境（１２）に通信可能に接続することを含み、前記更なるセキュアリンクは、更なるセキュアリンクを暗号化して保護するためのランダム共有鍵を使用する請求項１１又は１２に記載の方法。
【請求項１４】
前記ランダム共有鍵によって前記ランダムキーを前記セキュアスタンプに結合することを含む請求項１３に記載の方法。
【請求項１５】
新しいランダム共有鍵を使用して低電力モード終了毎に前記更なるセキュアリンクを再初期化することを含む請求項１３又は１４に記載の方法。
【請求項１６】
請求項１&#12316;１５のいずれか１項に記載の方法のステップを実行するよう構成されたプロセッサを備えたデバイス（１）。
【請求項１７】
プロセッサに請求項１&#12316;１５のいずれか１項に記載の方法のステップを実行させることができるコンピュータ実行可能命令を備えたコンピュータ読み取り可能な非一時的記憶媒体（１）。
【発明の詳細な説明】
【技術分野】
【０００１】
［０００１］本発明は、一般に、デバイスのメモリに格納されるデータの保護に関する。より具体的には、本発明は、低電力モードに移行可能なＩｏＴ（Ｉｎｔｅｒｎｅｔ  ｏｆ  Ｔｈｉｎｇｓ：モノのインターネット）デバイス、並びに低電力モード中及びその前後におけるＩｏＴデバイスのメモリに格納されるデータの保護に関する。
【背景技術】
【０００２】
［０００２］ＩｏＴとは、物理的なデバイス、家電製品、又は電子機器やソフトウェアに組み込まれたアイテムなどのネットワークであり、これらのオブジェクトが人間の相互作用なしにデータを交換することを可能にするものである。勧告（Ｒｅｃｏｍｍｅｎｄａｔｉｏｎ）ＩＴＵ−Ｔ  Ｙ．２０６０では、ＩｏＴを情報社会のグローバルなインフラストラクチャとして定義しており、既存の相互運用可能な情報通信技術に基づいて、（物理的及び仮想的な）モノを相互接続することで高度なサービスを可能にしている。ＩｏＴという用語における「モノ」とは、物理的な世界（物理的なモノ）や情報の世界（仮想的なモノ）のオブジェクトであって、通信ネットワークにおいて認識され統合することが可能なものとされている。この定義では、物理的なモノは物理的世界に存在し、感知、作動、及び接続が可能なものである。物理的なモノの例としては、周辺環境、産業用ロボット、物品、電気機器などが挙げられる。またこの定義では、仮想的なモノは情報の世界に存在し、保存、処理、及びアクセスが可能なものである。仮想的なモノの例としては、マルチメディアコンテンツやアプリケーションソフトウェアなどが挙げられる。
【０００３】
［０００３］ＩＴＵ−Ｔ  Ｙ．２０６０では、ＩｏＴデバイスは、通信の必須能力と、感知、作動、データキャプチャ、データ保存、及び／又はデータ処理のオプション能力を備えた装置の一部とみなされる。ＩｏＴデバイスは、たとえばゲートウェイを介して通信ネットワークを使用して通信したり、ゲートウェイなしで通信ネットワークを使用して通信したり、通信ネットワークを使用せずに直接通信したりなど、一般に他のデバイスとの通信を行う。また、通信シナリオの組み合わせも可能であり、例えば、デバイスは、ローカルネットワーク（たとえばアドホックネットワークのような、デバイス間及びデバイスとゲートウェイ間のローカル接続性を提供するネットワーク）による直接通信、及びローカルネットワークゲートウェイを介した通信ネットワークによる通信を用いて、他のデバイスとの通信を行うことができる。
【０００４】
［０００４］通信ネットワークは、ＩｏＴデバイスによって取り入れられたデータをアプリケーション及び他のデバイスに転送したり、アプリケーションからデバイスへ命令を転送することもできる。通信ネットワークは、一般に、信頼性が高く効率的なデータ転送のための機能を提供する。ＩｏＴネットワークインフラストラクチャは、従来のＴＣＰ／ＩＰベースのネットワークなどの既存のネットワーク、及び／又は次世代ネットワーク（ＮＧＮ）などの進化するネットワークを介して実現することができる。
【０００５】
［０００５］ＩｏＴデバイスは、集積回路の周辺に、例えばシステムオンチップ（ＳｏＣ）の形態で構築することができる。そのようなＳｏＣは、セキュアな方法でデータを格納できるセキュアメモリを含むセキュア部を備えており、一般にセキュア部にのみアクセス可能であるか、又はセキュリティプロトコルによってアクセス可能なものである。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
［０００６］電力使用量を節約するために、ＩｏＴデバイスは、使用していないときは低電力モードに移行することができる。低電力モードでは、低電力モードを終了するために必要な部分、又は低電力モードを終了するためのトリガを受信するために必要な部分を除いて、ＩｏＴデバイスの大部分をオフ状態にできる。一般に、ＩｏＴデバイスが低電力モードに移行すると、セキュアメモリなどのＳｏＣのセキュア部が無効化され、たとえばランダム暗号鍵のような、セキュアメモリに格納されたデータの暗号化及び保護のために使用される生成鍵は、一般的には失われる。その結果、低電力モードでは、セキュアメモリに格納されたデータをセキュアな方法で保護することは困難である。
【０００７】
［０００７］セキュアメモリは、不揮発性メモリに格納されたグローバル鍵を使用して保護することができ、それは低電力モード中や低電力モード終了後でも有効である。このようなグローバル鍵を使用することの問題点は、セキュアメモリの以前のコンテンツ、即ち、低電力モードに移行する前にセキュアメモリに格納されたデータがリロードされる可能性があることである。このように、グローバル鍵を使用すると、アンチリプレイ対策が有効でない状況になる場合がある。
【０００８】
［０００８］更に、ＩｏＴデバイスのセキュア部は、そのセキュリティが完全に初期化される前であってもコマンドを実行できる場合がある。これにより、ＩｏＴデバイスのセキュリティが確保されないような、潜在的に非セキュアな状況になる可能性がある。
【０００９】
［０００９］また、セキュアで正確なクロックを確保することも難しい。ＩｏＴデバイスが低電力モードに移行すると、一般にクロックが損失するか、あるいはＩｏＴデバイスが、クロックがセキュアでないＳｏＣ以外のコンポーネントに頼るようになる。
【課題を解決するための手段】
【００１０】
［００１０］本発明は前記のような従来技術の問題点を解決するものである。
【００１１】
［００１１］本発明の一態様によれば、低電力モード時にチップセットのセキュア部の第１のメモリのメモリコンテンツを保護する方法が提案される。低電力モードは、第１のメモリからメモリコンテンツが消去される原因となる。低電力モードへの移行時に、暗号化されたメモリコンテンツを得るために、メモリコンテンツの少なくとも一部を暗号化する−任意に署名する−。暗号化されたメモリコンテンツは、低電力モード中は、セキュア部の外側の外部メモリに格納される。
【００１２】
［００１２］このようにして、低電力モード中でも、第１のメモリのメモリコンテンツを保護することができる。更に、メモリコンテンツは暗号化されているため、悪意のある使用や不正使用からメモリコンテンツを防御することができる。
【００１３】
［００１３］一実施形態では、低電力モードを終了する際に、外部メモリからの暗号化されたメモリコンテンツをセキュア部で受信することができる。暗号化されたメモリコンテンツは復号化でき、またオプションで認証することができるので、復号化されたメモリコンテンツを得ることができる。復号化されたメモリコンテンツは第１のメモリにロードできる。
【００１４】
［００１４］このようにして、第１のメモリのメモリコンテンツをセキュアな方法で第１のメモリにロードして戻し、以後再度使用することができる。
【００１５】
［００１５］一実施形態では、チップセットは、セキュア部とリモートクライアントアクセスサーバとの間にセキュアリンクを設定するように構成することができる。更に、セキュア部は、セキュアリンクを介してセキュア部内のクライアントアクセスサーバからセキュアスタンプを受信するように構成することができる。ここで、セキュアスタンプはメモリコンテンツを保護するためのデータを含んでも良い。更に、セキュア部は、セキュアスタンプをセキュア部の第２のメモリに格納するように構成することができるため、セキュアスタンプは、低電力モードで第２のメモリに格納された状態にすることができる。セキュア部は、低電力モードに移行するときに、セキュアスタンプを用いてコンテンツの少なくとも一部を暗号化するように構成することができる。更に、低電力モードを終了するときに、セキュア部は、セキュアスタンプを使用して暗号化されたメモリコンテンツを復号化するように構成することができる。
【００１６】
［００１６］このようにして、セキュアスタンプは、クライアントアクセスサーバからセキュアリンクを介して受信されるため、悪意のある使用や不正使用から保護される。また、攻撃者による改ざんも防止できる。更に、セキュリティ機能を実行するために、セキュアスタンプは低電力モード時にはセキュア部によって保持され、低電力モードの前後に使用可能である。また、セキュアスタンプは、メモリコンテンツを暗号化又は復号化するために使用される。
【００１７】
［００１７］一実施形態では、チップセットは、暗号化されたメモリコンテンツが復号化されるときに第２のメモリからセキュアスタンプを除去するように構成される。
【００１８】
［００１８］一実施形態では、チップセットは、セキュアスタンプがセキュアリンクを介して受信されるまでは機能が制限される。
【００１９】
［００１９］このようにして、クライアントアクセスサーバへの接続は、セキュアエンクレーブ（secure enclave）でコマンドを実行する前に強制的に行われる。これによりセキュリティ機能を最適な方法で適用することができる。
【００２０】
［００２０］一実施形態では、クライアントアクセスサーバとセキュア部との間のセキュアリンクの設定後に受信した新たなセキュアスタンプは、以前のセキュアスタンプとは異なるものになる。
【００２１】
［００２１］このようにして、メモリコンテンツに対するアンチリプレイアタックを有効にできる。
【００２２】
［００２２］一実施形態では、クライアントアクセスサーバとセキュア部との間のセキュアリンクは、ディフィーヘルマン（Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎ）鍵交換プロトコルを使用して設定することができる。
【００２３】
［００２３］このようにして、クライアントアクセスサーバとセキュア部との間でセキュアな方法でデータを交換できるセキュアリンクが得られる。それにより、クライアントアクセスサーバは正規のチップと接続していることを認識し、セキュア部は正規のクライアントアクセスサーバと接続していることを認識する。
【００２４】
［００２４］一実施形態では、セキュアスタンプはタイムスタンプを含む。
【００２５】
［００２５］このようにして、チップセットに正確なクロックを供給できる。
【００２６】
［００２６］一実施形態では、セキュア部は、セキュアスタンプを暗号化アルゴリズムへの初期化ベクトルとして使用して、暗号化アルゴリズムに基づいて第１のメモリのメモリコンテンツを暗号化できる。
【００２７】
［００２７］このようにして、メモリコンテンツに対するアンチリプレイアタックを有効にできる。
【００２８】
［００２８］一実施形態では、セキュア部はチップセットのトラスト実行環境の一部とすることができる。
【００２９】
［００２９］一実施形態では、トラスト実行環境は、低電力モード移行時に、暗号化されたメモリコンテンツの外部メモリへの格納を制御し、低電力モード終了時に、暗号化されたメモリコンテンツのセキュア部へのロードを制御できる。
【００３０】
［００３０］一実施形態では、セキュア部はランダムキーを生成することができる。更に、低電力モード移行時に、トラスト実行環境は、暗号鍵としてのランダムキーと、初期化ベクトルとしてのセキュアスタンプとを使用して、トラスト実行環境で実行するコンピュータコードを暗号化することにより、暗号化されたコンピュータコードを得ることができる。更に、低電力モード終了時に、トラスト実行環境は、暗号鍵としてのランダムキーと、初期化ベクトルとしてのセキュアスタンプとを使用して、暗号化されたコンピュータコードを復号化することができる。
【００３１】
［００３１］このようにして、トラスト実行環境で実行するコンピュータコードを低電力モード中にセキュアな方法で保持することができる。更に、コンピュータコードにおけるアンチリプレイメモリ攻撃を有効にできる。
【００３２】
［００３２］一実施形態では、ランダムキーは第２のメモリに格納されてもよい。
【００３３】
［００３３］このようにして、コンピュータコードを復号するために、ランダムキーを低電力モード中は保持し、低電力モード後に使用するようにできる。
【００３４】
［００３４］一実施形態では、更なるセキュアリンクが、トラスト実行環境にセキュア部を通信可能に接続する。更なるセキュアリンクは、更なるセキュアリンクを暗号化して保護するためのランダム共有鍵を使用することができる。
【００３５】
［００３５］このようにして、更なるセキュアリンクを用いて、トラスト実行環境とセキュア部との間でデータをセキュアな方法で転送することができる。
【００３６】
［００３６］一実施形態では、ランダム共有鍵はランダムキーをセキュアスタンプに結合する。
【００３７】
［００３７］このようにして、ランダムキーとセキュアスタンプを一度の操作で暗号化することができる。
【００３８】
［００３８］一実施形態では、新しいランダム共有鍵を使用して、更なるセキュアリンクを低電力モード終了毎に再初期化する。
【００３９】
［００３９］このようにして、アンチリプレイアタックを有効にできる。
【００４０】
［００４０］一実施形態では、別のセキュアリンクをキープロット（ＫｅｙＰｒｏｔ）プロトコルを使用して設定することができる。
【００４１】
［００４１］本発明の別の態様によれば、前記実施形態のいずれか１つに記載の方法のステップを実行するように構成されたプロセッサを備えたデバイスが提案される。
【００４２】
［００４２］本発明の別の態様によれば、前記実施形態のいずれか１つに記載の方法のステップを実行するように構成された集積回路を備えたデバイスが提案される。
【００４３】
［００４３］一実施形態では、デバイスはＩｏＴ（モノのインターネット）デバイスである。
【００４４】
［００４４］本発明の別の態様によれば、コンピュータ読み取り可能な非一時的記憶媒体上に実装できるコンピュータプログラム製品が提案される。コンピュータプログラム製品はコンピュータ実行可能命令を備えており、命令がプロセッサによって実行されると、プロセッサは前記実施形態のいずれかに記載の方法のステップを実行することができる。
【００４５】
［００４５］本発明の別の態様によれば、コンピュータ読み取り可能な非一時的記憶媒体が提案される。記憶媒体はコンピュータ実行可能命令を備えており、命令がプロセッサによって実行されると、プロセッサは前記実施形態のいずれか１つに記載の方法のステップを実行することができる。
【００４６】
［００４６］以下、実施形態を更に詳細に説明する。しかしながら、これらの実施形態は本発明の保護範囲を限定するものではない。
【図面の簡単な説明】
【００４７】
［００４７］本実施形態は添付の概略図を参照して例示的にのみ記載される。図において対応する参照記号は対応する部分を示す。
【００４８】
【図１】［００４８］ネットワークを介してサーバに接続されたデバイスの例示的な実施形態を示す。
【図２】［００４９］ネットワークを介してサーバに接続されたデバイスの別の例示的な実施形態を示す。
【図３】［００５０］ディフィーヘルマン（Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎ）プロトコルを実行する概略図である。
【図４】［００５１］ＴＥＥを使用したディフィーヘルマン（Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎ）プロトコルを実行する概略図である。
【図５】［００５２］図２の実施形態のデータフローを更に詳細に示すものである。
【図６】［００５３］セキュアエンクレーブ初期化プロトコルの概略図である。
【図７】［００５４］デバイスが低電力モードに移行するときのプロトコルの概略図である。
【図８】［００５５］デバイスが低電力モードを終了するときのプロトコルの概略図である。
【００４９】
［００５６］これらの図は例示のためのものであり、特許請求の範囲に記載されている適用範囲や保護範囲を限定するものではない。
【発明を実施するための形態】
【００５０】
［００５７］
以下の例においてクライアントデバイスについて記載されているが、本発明はクライアントデバイスへの適用に限定するものではない。
【００５１】
［００５８］図１は、ネットワークを介してサーバに通信可能に接続されるＩｏＴデバイスなどのデバイス１の例示的な実施形態を示す。デバイスは、一般にＳｏＣ上で最もセキュアなハードウェアブロックであるセキュア部（セキュアエンクレーブ２とも呼ばれる）を有する。セキュアエンクレーブは、一般に例えばＳｏＣ上のトラスト実行環境（ＴＥＥ）よりもセキュアであり、またセキュアエンクレーブはＴＥＥの一部であってもよい。セキュアエンクレーブ２は、完全にセキュアであるための独自の独立セキュアブートプロセスを備えており、
特定のセキュア機能を実行することができる。
【００５２】
［００５９］セキュアエンクレーブ２は、セキュアエンクレーブ２のデータ及びコードを格納するための内蔵ＲＡＭなどのメモリブロック７を含む。このメモリブロック７は、好ましくはセキュアエンクレーブ２によってのみアクセス可能である。通常メモリブロック７は揮発性メモリの一種であるため、デバイスが低電力モードに移行すると、メモリブロック７に格納されたデータは失われる可能性がある。
【００５３】
［００６０］セキュアエンクレーブ２は、デバイスが低電力モードに移行した場合でもデータを格納することができる１つ以上の常時オンレジスタ５を含む。たとえば、この常時オンレジスタ５は、セキュアエンクレーブ２が低電力モードを終了した直後に必要となるデータを格納できる。常時オンレジスタ５はセキュアクロック３及び鍵テーブル４を有する。セキュアクロック３及び鍵テーブル４は常時オンレジスタ５とは別に配置されていてもよい。
【００５４】
［００６１］セキュアエンクレーブ２は、外部メモリ２０にデータを送信し、外部メモリ２０からデータを受信する。外部メモリ２０は、好ましくはデバイス１の一部であるが、代替的にデバイス１の外部にあってもよい。外部メモリ２０は、デバイス１が低電力モードに移行するときに格納されたデータを保持するように構成されている。好ましくは、外部メモリ２０が不揮発性メモリであると、外部メモリ２０がデバイス１と共に低電力モードに移行することができる。あるいは、外部メモリ２０は揮発性メモリであってもよく、その場合は、デバイス１が低電力モードに移行しても、外部メモリ２０のコンテンツを保持するために、外部メモリ２０は低電力モードには移行しない。
【００５５】
［００６２］セキュアエンクレーブ２は暗号化プロセッサ６を含む。暗号化プロセッサ６は、セキュアエンクレーブ２のメモリブロック７のコード及びデータを暗号化（及び任意に署名）又は復号化（及び任意に認証）するために使用される。暗号化プロセッサ６は、暗号化機能を実行するように構成されており、入力として暗号鍵、及び暗号化機能に応じて初期化ベクトル（ＩＶ）を使用できる。
【００５６】
［００６３］デバイスは、ネットワーク１０を介して外部のクライアントアクセスサーバ１１と通信可能に構成される。クライアントアクセスサーバ１１は、デバイス１を含む複数のクライアントと通信可能に接続されたサーバであってもよい。デバイス１がオーディオ、ビデオ、又は他のメディア関連デバイスである場合、ネットワーク１０は、オーバー・ザ・トップ（ＯＴＴ）ネットワーク、デジタルビデオ放送（ＤＶＢ）ネットワーク、又は他のメディア関連ネットワークであってもよい。デバイス１はＩｏＴデバイスであってもよく、その場合、ネットワーク１０は、追加的に又は代替的に、ＩｏＴネットワークの特徴を含むものであるか、又はＩｏＴネットワークそのものである。
【００５７】
［００６４］実施形態では、デバイスのブート時に、セキュアエンクレーブ２は常時オンレジスタ５をリセットする。次に、セキュアエンクレーブ２はクライアントアクセスサーバ１１とのセキュアリンクを初期化する。このようにして、セキュアエンクレーブ２とクライアントアクセスサーバ１１の両方が、セキュアリンクを介する正式な送信者と受信者間の確実なデータ通信を可能にする。クライアントアクセスサーバ１１とセキュアエンクレーブ２間のこのようなセキュアリンクの実施例は、Ｄｉｆｆｉｅ−Ｈｅｌｍａｎ鍵交換プロトコルに基づくものである。本発明の主旨におけるＤｉｆｆｉｅ−Ｈｅｌｌｍａｎ鍵交換プロトコルを使用する実施形態を、図３を用いてより詳細に説明する。
【００５８】
［００６５］図３は、Ｄｉｆｆｉｅ−Ｈｅｌｍａｎ鍵交換プロトコルの一実施例の概略図である。セキュアエンクレーブ２が例えば初期化するように指示されると、セキュアエンクレーブは、鍵の秘密部分（秘密デバイス鍵）と鍵の公開部分（公開デバイス鍵）からなるランダムキーペアを生成５１する。これは通常、ランダムな鍵ペアである。秘密デバイス鍵は、ノンス（暗号化の目的で一度だけ使用される数又はビット文字列）であってもよい。公開デバイス鍵は秘密デバイス鍵に基づいて算定される。
【００５９】
［００６６］セキュアエンクレーブ２は公開デバイス鍵をクライアントアクセスサーバ１１に送信４１する。この送信は、直接行ってもよいし、デバイス１の非セキュアな別の部分を経由して行ってもよい。また、セキュアエンクレーブ２は、その固有ＩＤ又は装置１の固有ＩＤをクライアントアクセスサーバ１１に送信する。また、セキュアエンクレーブ２は、それが認証されたデバイスであることを証明するためのセキュアエンクレーブ証明書を送信する。クライアントアクセスサーバ１１は、クライアントアクセスサーバ１１とのセキュアリンクの確立を試みるセキュアエンクレーブ２のアイデンティティを確認するために、デバイス１又はセキュアエンクレーブ２に属する固有ＩＤを確認し、また、その固有ＩＤが実際に製造されたチップに属するものであることを確認できる。更に、セキュアエンクレーブ２は、たとえばクライアントアクセスサーバとデバイスの両方が知っている公開鍵基盤（ＰＫＩ）に基づいて、送信４１に署名する。デバイスは、その秘密ＰＫＩ鍵を使用してメッセージに署名する。  これは、認証、否認不可、及び送信後にメッセージが変更されていないことを確認するために使用される。
【００６０】
［００６７］送信４１を受信すると、クライアントアクセスサーバ１１は送信４２のパラメータを確認する。これは、例えばセキュアエンクレーブ２から送信された署名又は固有ＩＤを確認することである。
【００６１】
［００６８］次に、クライアントアクセスサーバ１１は、鍵の秘密部分（秘密サーバ鍵）と鍵の公開部分（公開サーバ鍵）とからなる鍵ペアを生成５３する。これはランダムキーペアである。また、秘密サーバ鍵はノンスであり、公開サーバ鍵は秘密サーバ鍵に基づいて算定される。
【００６２】
［００６９］次に、クライアントアクセスサーバ１１は、公開デバイス鍵と秘密サーバ鍵に基づいて、セキュアリンク鍵を算定５４する。このセキュアリンク鍵は、クライアントアクセスサーバ１１とセキュアエンクレーブ２との間に形成されるセキュアリンクを確保するために使用される。
【００６３】
［００７０］クライアントアクセスサーバ１１は、セキュアリンク鍵を算定すると、公開サーバ鍵をセキュアエンクレーブ２に送信４２する。この送信４２は、デバイス１の非セキュアな部分を介して行われてもよいし、セキュアエンクレーブ２に直接送信されてもよい。また、クライアントアクセスサーバ１１は、送信４２を介して送られた公開サーバ鍵が実際にクライアントアクセスサーバ１１に所有されていることを証明するために使用される、サーバ証明書を送信する。更に、クライアントアクセスサーバ１１は、たとえばクライアントアクセスサーバとデバイスの両方が知っている公開鍵基盤に基づいて、送信４２に署名する。
【００６４】
［００７１］送信４２を受信すると、セキュアエンクレーブ２は、送信４２のパラメータ（署名、サーバ証明書）を確認５５し、セキュアエンクレーブ２の秘密鍵とクライアントアクセスサーバ１１の公開鍵に基づいてセキュアリンク鍵を算定する。これで、セキュアエンクレーブ２とクライアントアクセスサーバ１１の両方がセキュアリンク鍵に合意する。この鍵は、セキュアエンクレーブ２とクライアントアクセスサーバ１１との間のセキュアリンクを介して送信されるデータの暗号化及び復号化に使用できる。
【００６５】
［００７２］セキュアエンクレーブ２は、たとえばセキュアリンク鍵の算定時に署名されたセキュアエンクレーブ証明書を送信４３することによって、セキュアエンクレーブ２がセキュアリンク鍵を算定したことを示すことができる。
【００６６】
［００７３］（送信４３のパラメータの確認５６後に）クライアントアクセスサーバ１１とセキュアエンクレーブ２との間のセキュアリンクが確立されると、クライアントアクセスサーバ１１は、（署名されている可能性のある）セキュアスタンプをセキュアエンクレーブ２に送信４４する。セキュアスタンプはセキュアリンクを介して送信されるため、セキュアリンクを設定したセキュアエンクレーブ２のみがセキュアスタンプへのアクセス権を有する。これにより、セキュアスタンプが潜在的攻撃者によって捕捉されたり、変更されたりすることを確実に防止できる。セキュアスタンプは、セキュアエンクレーブ２のセキュア機能を可能にするデータを含む。それによって、特にデバイスが低電力モードに移るときの、メモリブロック７に格納されたデータの暗号化が可能になる。
【００６７】
［００７４］セキュアスタンプは乱数を含んでもよい。代替的又は追加的に、セキュアスタンプは、日付及び／又は時間を示すタイムスタンプを含んでもよい。タイムスタンプを使用する利点は、セキュアスタンプは、ブート時及び／又は低電力モードの終了時に、デバイス１へのクロック信号としても使用できることである。たとえば、セキュアクロック３は、タイムスタンプに基づいて設定又は更新されてもよい。
【００６８】
［００７５］クライアントアクセスサーバ１１とセキュアエンクレーブ２との間のセキュアリンクが確立され、セキュアスタンプがセキュアエンクレーブ２によって受信され、送信４４のパラメータが確認５７されると、セキュアスタンプは一般に常時オンレジスタ５に格納５８され、セキュアエンクレーブ２が初期化される。
【００６９】
［００７６］次に、セキュアエンクレーブ２のセキュア機能を有効にできる。クライアントアクセスサーバ１１とのセキュアリンクを確立してセキュアスタンプを受信した後にのみ、セキュアエンクレーブ１のセキュア機能を有効にできる。これは、セキュアスタンプはメモリブロック７のデータを暗号化するために使用されるので、セキュアエンクレーブ２のセキュア機能が有効になる前にセキュアスタンプが設定されるという利点があり、それによって例えば必要に応じてメモリブロック７のデータを確実に暗号化できる。
【００７０】
［００７７］初期化後、セキュアエンクレーブ２は、メモリブロック７内のデータなどの自身のコンテンツを暗号化するためにセキュアエンクレーブ２によって使用されるランダムキー（ＫＳＥ）を生成する。このランダムキー（ＫＳＥ）は、たとえば鍵テーブル４内の常時オンレジスタ５に格納される。
【００７１】
［００７８］低電力モードに移行すると、デバイスは、その特定部分に供給される電力量を制限する。その結果、メモリブロック７に格納されているデータが消去されてしまうことがある。メモリブロック７のデータを保存するために、メモリブロック７のメモリコンテンツは、消去される前に、セキュアな方法で外部メモリ２０に格納してもよい。一般にセキュアエンクレーブ２は、クライアントアクセスサーバ１１からセキュアスタンプを受信した場合にのみ、低電力モードに移行できる。
【００７２】
［００７９］低電力モードに移行すると、セキュアエンクレーブ２は、暗号化プロセッサ６を用いてメモリブロック７のコンテンツを暗号化する。暗号化プロセッサ６によって実行される暗号化機能は、暗号鍵としてランダムキー（ＫＳＥ）を使用し、ＩＶとしてセキュアスタンプを使用して実行できる。任意で、暗号化プロセッサ６は、暗号化されたコンテンツに署名することもできる。
【００７３】
［００８０］そして、暗号化されたコンテンツが外部メモリ２０に格納３１された後、セキュアエンクレーブ２は低電力モードに移行する。
【００７４】
［００８１］セキュアエンクレーブ２が低電力モードを終了するとき、例えば、ウェイクアップデータパケットの形態でウェイクアップトリガを受信した後に、内蔵ＲＯＭコードに基づいてコンテンツを回復して自身を再初期化するためのアクションを実行する。ここで、外部メモリ２０に格納されていた暗号化コンテンツをセキュアエンクレーブ２が受信した後、暗号化プロセッサ６はコンテンツを復号化する。復号化には、暗号鍵としてランダムキー（ＫＳＥ）が使用でき、ＩＶとしてセキュアスタンプを再度使用できる。それらは低電力モード時に消去されなかった常時オンレジスタ５から入手できる。暗号化プロセッサ６は、暗号化コンテンツが署名されている場合には、コンテンツを認証する。
【００７５】
［００８２］暗号化プロセッサ６による復号が完了した後、復号化されたコンテンツはメモリブロック７に格納される。このように、低電力モード時に外部メモリ２０に格納されていたメモリブロック７のメモリコンテンツを安全かつ確実に復元できる。
【００７６】
［００８３］次に、セキュアエンクレーブ２はセキュアスタンプレジスタをフラッシュする。つまり、常時オンレジスタ５からセキュアスタンプを削除する。これにより、クライアントアクセスサーバ１１とセキュアエンクレーブ２との間の新しいセキュアリンクを初期化することによりセキュアエンクレーブ２を強制的に再起動し、それにより、次の低電力モードの前に新しいセキュアスタンプを取得できる。このセキュアリンクは、前述のようにＤｉｆｆｉｅ−Ｈｅｌｌｍａｎプロトコルを使用して再度設定してもよい。
【００７７】
［００８４］好ましくは、新しいセキュアスタンプは、メモリコンテンツを各低電力モード毎に別に暗号化できるように、最後のセキュアスタンプとは異なるものにする。これにより、セキュアメモリに対するアンチリプレイ攻撃が効果的に可能になる。新しいセキュアスタンプが新しい最新のタイムスタンプを有する場合、それはデバイスのクロックを正しい時刻に（リ）セットするために使用される。
【００７８】
［００８５］図２は、ネットワークを介してサーバに通信可能に接続されるＩｏＴデバイスなどのデバイス１の別の例示的な実施形態を示す。この例示的実施形態は、前述した機能の全部又は一部を有する。この例示的実施形態では、セキュア部又はセキュアエンクレーブ２はＴＥＥ１２の一部である。ＴＥＥ１２はデバイス１の一部であり、ＳｏＣに組み込まれてもよい。ＴＥＥ１２は、デバイス１のリッチ実行環境上で実行される非トラストアプリケーションと、ＴＥＥ１２上で実行されるトラストアプリケーションとの間のデータ分離を可能にする。ＴＥＥ１２は、セキュア部又はセキュアエンクレーブ２よりも非セキュアとされているが、一般により多くの機能を有する。
【００７９】
［００８６］ＴＥＥ１２は、ＴＥＥ１２のコード又はデータを含む独自のメモリブロック１７を有する。このコード又はデータは、デバイス１の低電力モード時にも保護される必要がある。メモリブロック１７は内蔵ＲＡＭであってもよい。その場合、メモリブロック１７は揮発性メモリの一種であるため、メモリブロック１７に格納されているデータは、デバイス１が低電力モードになると失われてしまう可能性がある。あるいは、メモリブロック１７は不揮発性メモリの一種であってもよい。その場合、メモリブロック１７に格納されたデータは、デバイス１が低電力モードに移行しても保持される。
【００８０】
［００８７］更に、ＴＥＥ１２は、デバイス１の暗号鍵を格納するメモリブロックである鍵テーブル１５を有する。暗号鍵は、鍵テーブル１５に格納される前に、暗号化及び署名できる。
【００８１】
［００８８］ＴＥＥ１２はまた、暗号化プロセッサ１６を含む。暗号化プロセッサ１６は、ＴＥＥ１２のメモリブロック１７のコード及びデータを暗号化（及び任意に署名）又は復号化（及び任意に認証）するために使用される。暗号化プロセッサ１６は、暗号化機能を実行するように構成されており、入力として暗号鍵、及び暗号化機能に応じて初期化ベクトル（ＩＶ）を使用する。
【００８２】
［００８９］セキュアエンクレーブ２の初期化は、前述の図３に示す実施形態と同様の方法で実施されてもよいし、図４に示す方法で実施されてもよい。
【００８３】
［００９０］図４は、ＴＥＥを経由するＤｉｆｆｉｅ−Ｈｅｌｌｍａｎプロトコルの実行の概略図を示す。ステップは前述の図３と同様である。しかし、ＴＥＥは、セキュアエンクレーブに初期化要求を送信４０することにより初期化プロセスを開始する。
【００８４】
［００９１］送信４０、４１、４２、４３、４４はＴＥＥを経由して行われてもよいし、あるいは送信４０、４１、４２、４３、４４から選択したものだけがＴＥＥを経由して行われてもよい。残りの手順は図３の実施形態と同じであり、繰り返しの説明を行わない。プロトコルの最後においてセキュアエンクレーブ２は初期化される。
【００８５】
［００９２］セキュアエンクレーブ２の初期化後、セキュアエンクレーブ２は、メモリブロック１７のデータなどの、それ自身のコンテンツを暗号化するためにＴＥＥ１２により使用できるランダムキー（ＫＴＥＥ）を生成する。このランダムキー（ＫＴＥＥ）は、セキュアエンクレーブ２の常時オンレジスタ５に格納でき、たとえば鍵テーブル４に格納されてもよい。ランダムキーＫＴＥＥは、セキュアエンクレーブ２がランダムキーＫＳＥを生成するのと同じタイミングで生成されてもよいし、また別のタイミングで生成されてもよい。
【００８６】
［００９３］本実施形態におけるＴＥＥ１２及びセキュアエンクレーブ２はそれぞれ、キープロット（ＫｅｙＰｒｏｔ）ブロック（９及び８）を有する。これらのブロックは、ＴＥＥ１２アクセスからセキュアエンクレーブ鍵（たとえば鍵ＫＴＥＥ）を保護し、あるいはＲＥＥ（リッチ実行環境）のようなデバイス１の一般に非セキュアな他の部分を保護するために使用される。
【００８７】
［００９４］キープロット（ＫｅｙＰｒｏｔ）ブロック８，９は、キープロット（ＫｅｙＰｒｏｔ）メカニズムを有効にするために使用される。このキープロット（ＫｅｙＰｒｏｔ）メカニズムは、例えば国際特許出願公開ＷＯ  ２０１５／００７５４９  Ａｌに記載されており、以下詳細に説明する。
【００８８】
［００９５］セキュアエンクレーブ２の初期化の際、キープロット（ＫｅｙＰｒｏｔ）ブロック８，９も初期化される。２つのブロック８，９は、２つのキープロット（ＫｅｙＰｒｏｔ）ブロック８，９間で共有されるランダム共有鍵ＫＰを生成することができる。このようにしてセキュアリンクが形成され、データはこのランダム共有鍵ＫＰを用いて暗号化及び復号化される。
【００８９】
［００９６］キープロット（ＫｅｙＰｒｏｔ）メカニズムを使用することの効果は、キープロット（ＫｅｙＰｒｏｔ）メカニズムによって形成されたセキュアリンク上で転送されるデータが完全にセキュアであることであり、従って、セキュアエンクレーブ２からＴＥＥ１２へ非保護の状態でデータが転送されることはない。
【００９０】
［００９７］キープロット（ＫｅｙＰｒｏｔ）メカニズムは、セキュアエンクレーブ２とＴＥＥ１２間の可能なセキュアリンクの一例である。セキュアエンクレーブ２とＴＥＥ１２間のセキュアリンクを形成するための他の任意の方法が適用されてもよい。更には、セキュアでないリンクが形成されてもよい。
【００９１】
［００９８］低電力モードに移行すると、セキュアエンクレーブ２は、ランダム共有鍵ＫＰを使用してランダムキーＫＴＥＥを暗号化する。更に、セキュアエンクレーブ２は、ランダムキーＫＴＥＥにセキュアスタンプを転送する。ランダムキーＫＴＥＥに転送されると、セキュアスタンプは、暗号化されないまま保持されるか、あるいはランダム共有鍵ＫＰを用いて暗号化される。好ましくは、ランダムキーＫＴＥＥとセキュアスタンプは、ランダム共有鍵ＫＰを使用して一回の操作で暗号化される。
【００９２】
［００９９］ＴＥＥ１２は、受信した暗号化ＫＴＥＥ及びセキュアスタンプを、暗号化又は復号化した状態で鍵テーブル１５に格納する。ＴＥＥ１２は、暗号化プロセッサ１６を用いて、復号化したランダムキーＫＴＥＥ及びセキュアスタンプを使用して、そのコード及びデータを保護できる。暗号化プロセッサ１６によって実行される暗号化機能は、暗号鍵としてのランダムキーＫＴＥＥ及びＩＶとしてのセキュアスタンプを使用して実行される。任意に、暗号化プロセッサ１６は暗号化コンテンツに署名してもよい。
【００９３】
［００１００］暗号化コンテンツが任意に外部メモリ２０に格納３２された後で、ＴＥＥ１２は低電力モードに移行する。
【００９４】
［００１０１］デバイス１が低電力モードを終了するとき、セキュアエンクレーブは、たとえばウェイクアップデータパケットの形でウェイクアップトリガを受信した後、ＴＥＥ１２によってウェイクアップ（起動）され、そのＲＯＭコードに基づいて、キープロット（ＫｅｙＰｒｏｔ）メカニズムを有効にするためにキープロット（ＫｅｙＰｒｏｔ）ブロック８，９を初期化する。このようにして、新ランダム共有鍵ＫＰが生成され、セキュアエンクレーブ２とＴＥＥ１２により再度共有される。前述と同様にして、セキュアエンクレーブは、新ランダム共有鍵ＫＰを用いて、常時オンレジスタに格納されたＫＴＥＥとセキュアスタンプを暗号化して結合する。この新たに暗号化したＫＴＥＥとセキュアスタンプは、ＴＥＥによって鍵テーブル１５に格納される。
【００９５】
［００１０２］暗号化したコンテンツが外部メモリ２０に格納されているならば、それはＴＥＥ１２によって受信３２できる。暗号化したコンテンツがＴＥＥ１２で利用可能である場合、暗号化プロセッサ１６はコンテンツを復号化する。復号化には、再度ランダムキー（ＫＴＥＥ）が暗号鍵として使用され、セキュアスタンプがＩＶとして使用される。それらは鍵テーブル１５から入手可能である。暗号化プロセッサ１６は、暗号化したコンテンツが署名されている場合、コンテンツの認証を行う。
【００９６】
［００１０３］暗号化プロセッサ１６による復号化が完了した後、復号化したコンテンツがメモリブロック１７に格納される。このようにして、低電力モード時に外部メモリ２０に格納されていたメモリブロック１７のメモリコンテンツを安全かつ確実に復元できる。
【００９７】
［００１０４］図５は、図２の実施形態のデータフローの例をより詳細に示すものである。データフローパスは更に多く設けてもよい。
【００９８】
［００１０５］セキュアエンクレーブ２のメモリブロック７と暗号化プロセッサ６は互いにデータを送信する。また、ＴＥＥ１２のメモリブロック１７と暗号化プロセッサ１６も同様である。常時オンレジスタ５の鍵テーブル４は、キープロット（ＫｅｙＰｒｏｔ）ブロック８と暗号化プロセッサ６にデータを送信する。キープロット（ＫｅｙＰｒｏｔ）メカニズムにおいて、例えばキープロット（ＫｅｙＰｒｏｔ）ブロック８，９間の通信時に、セキュアクロック３からの入力を用いてもよいし、セキュアクロック３に対して出力を生成してもよい。キープロット（ＫｅｙＰｒｏｔ）ブロック８は鍵テーブル１５と通信する。鍵テーブル１５はキープロット（ＫｅｙＰｒｏｔ）ブロック９と通信する。キープロット（ＫｅｙＰｒｏｔ）ブロック９は暗号化プロセッサ１６と通信する。
【００９９】
［００１０６］クライアントアクセスサーバ１１とデバイス１間で共有されるデータは、クライアントアクセスサーバ証明書１００、セキュアスタンプ１０１、及びセキュアエンクレーブ証明書１０２を備える。クライアントアクセスサーバ証明書１００及びセキュアエンクレーブ証明書１０２は、セキュアエンクレーブ２とクライアントアクセスサーバ１１間にセキュアリンクがない状態で送信できる。
【０１００】
［００１０７］図６は、セキュアなエンクレーブ初期化プロトコルの概略図である。
【０１０１】
［００１０８］ステップ６０において、セキュアエンクレーブ２はリセット又は初期化するように指示される。ステップ６１において、セキュアエンクレーブ２は常時オンレジスタをリセット又は初期化する。ステップ６２において、セキュアエンクレーブ２はキープロット（ＫｅｙＰｒｏｔ）ブロック８，９のランダム共有鍵ＫＰをリセット又は初期化する。
【０１０２】
［００１０９］ステップ６３において、セキュアエンクレーブ２とクライアントアクセスサーバ１１間のセキュアリンクが初期化される。セキュアリンクが設定された後、クライアントアクセスサーバ１１からセキュアエンクレーブ２にセキュアスタンプが供給される。ステップ６４において、セキュアエンクレーブ２は、ステップ６３が問題なく実行されたか否かを確認する。問題がある場合、ステップ６３を再度実行する。問題がない場合、セキュアエンクレーブ２は、ステップ６５でセキュアスタンプを常時オンレジスタ５に格納する処理を継続する。
【０１０３】
［００１１０］ステップ６６において、セキュアエンクレーブ２はセキュアスタンプを継続的に更新する。更新は固定間隔又は変動間隔で行われてもよいし、又は指示があったときに行われてもよい。
【０１０４】
［００１１１］ステップ６７において、セキュアエンクレーブ２はランダムキー（ＫＳＥ、ＫＴＥＥ）を生成し、それを常時オンレジスタ５に格納する。それが完了すると、ステップ６８において、セキュアエンクレーブ２における初期化プロトコルの終了となる。
【０１０５】
［００１１２］図７は、デバイスが低電力モードに移行するときのプロトコルの概略図である。
【０１０６】
［００１１３］ステップ７０において、セキュアエンクレーブ２は低電力モードに移行するように指示される。ステップ７１において、セキュアクロック値がチェックされる。セキュアクロック値が特定の値（たとえばゼロ）でない場合、セキュアエンクレーブ２はステップ７２に進む。セキュアクロック値が特定の値（たとえばゼロ）である場合、セキュアエンクレーブはステップ７４（以下参照）に進む。
【０１０７】
［００１１４］ステップ７２において、セキュアエンクレーブは、その内蔵メモリをランダムキーＫＳＥで暗号化し、場合により署名して、それを外部メモリ２０に格納する。次に、ステップ７３において、セキュアエンクレーブは、ランダムキーＫＴＥＥをキープロット（ＫｅｙＰｒｏｔ）メカニズムで暗号化し、それをＴＥＥ鍵テーブル１５に格納する。このＫＴＥＥは、ＴＥＥ１２のコンピュータコードを暗号化するために使用される。
【０１０８】
［００１１５］次に、ステップ７４において、セキュアエンクレーブ２は低電力モードに移行し、低電力モードを終了するプロンプトを待つ。
【０１０９】
［００１１６］図８は、デバイスが低電力モードを終了するプロトコルの概略図である。
【０１１０】
［００１１７］ステップ８０において、セキュアエンクレーブ２は低電力モードを終了するように指示される。ステップ８１において、セキュアエンクレーブは、キープロット（ＫｅｙＰｒｏｔ）メカニズムのランダム共有鍵ＫＰをリセット又は初期化する。そして、セキュアエンクレーブ２は、キープロット（ＫｅｙＰｒｏｔ）で暗号化されたＫＴＥＥを出力し、またセキュアスタンプも出力する。このＫＴＥＥ及びセキュアスタンプは、ＴＥＥ１２のコンピュータコードを復号化するために使用される。
【０１１１】
［００１１８］次に、ステップ８２において、セキュアエンクレーブ２は、ＫＳＥと初期化ベクトルとしてのセキュアスタンプを用いて、外部メモリ２０を復号化し、場合により認証を行い、それをメモリブロック７に格納する。
【０１１２】
［００１１９］次に、ステップ８３において、セキュアエンクレーブ２は常時オンレジスタ５のセキュアスタンプレジスタをフラッシュする。
【０１１３】
［００１２０］最後にステップＡから、セキュアエンクレーブ２はステップ６３から始まる初期化プロトコルに進む。
【０１１４】
［００１２１］一つ以上の実施形態は、コンピュータシステムで使用するためのコンピュータプログラム製品として実現されてもよい。プログラム製品のプログラムは、（本明細書に記載された方法を含む）実施形態の機能を定義してもよく、様々なコンピュータ読み取り可能な記憶媒体に含まれていてもよい。コンピュータ読み取り可能な記憶媒体は非一時的記憶媒体であってもよい。例示的なコンピュータ読み取り可能な記憶媒体は、以下のものを含むが、それらに限定されない。
（ｉ）情報が永久的に保存される、非書き込み可能な記憶媒体（たとえば、ＣＤ−ＲＯＭドライブによって読み取り可能なＣＤ−ＲＯＭディスク、ＲＯＭチップ、又は任意のタイプのソリッドステート不揮発性半導体メモリなどの、コンピュータ内の読み取り専用記憶装置）、及び
（ｉｉ）変更可能な情報が保存される、書き込み可能な記憶媒体、たとえば、ハードディスクドライブ、又は任意のタイプのソリッドステートランダムアクセス半導体メモリ、フラッシュメモリ。
【０１１５】
［００１２２］上記実施形態の２つ以上を適切な方法で組み合わせることも可能である。
【図１】
2021536712.tif 000003
【図２】
2021536712.tif 000004
【図３】
2021536712.tif 000005
【図４】
2021536712.tif 000006
【図５】
2021536712.tif 000007
【図６】
2021536712.tif 000008
【図７】
2021536712.tif 000009
【図８】
2021536712.tif 000010
【手続補正書】
【提出日】令和3年3月23日(2021.3.23)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
チップセット（１）のセキュア部（２）の第１のメモリ（７）のメモリコンテンツを低電力モード中に保護する方法であって、前記低電力モードは第１のメモリ（７）からメモリコンテンツが消去される原因となり、
低電力モード移行時に、暗号化されたメモリコンテンツを得るために、メモリコンテンツの少なくとも一部を暗号化して任意に署名し、
低電力モード中は、セキュア部（２）の外部にある外部メモリ（２０）に暗号化されたメモリコンテンツを格納することを含む方法。
【請求項２】
低電力モード終了時に、暗号化されたメモリコンテンツを外部メモリ（２０）からセキュア部（２）に受信し、
復号化されたメモリコンテンツを得るために、暗号化されたメモリコンテンツを復号化して任意に認証し、
復号化されたメモリコンテンツを第１のメモリ（７）にロードすることを更に含む請求項１に記載の方法。
【請求項３】
前記チップセット（１）は、
前記セキュア部（２）とリモートクライアントアクセスサーバ（１１）との間にセキュアリンクを設定し、
前記セキュアリンクを介して前記セキュア部（２）のクライアントアクセスサーバ（１１）からセキュアスタンプを受信し、前記セキュアスタンプは前記メモリコンテンツを保護するためのデータを含み、
前記セキュアスタンプを前記セキュア部（２）の第２のメモリ（５）に格納し、低電力モード中は前記セキュアスタンプは前記第２のメモリ（５）に格納された状態を維持し、
低電力モード移行時に、前記セキュアスタンプを使用して前記コンテンツの少なくとも一部を暗号化し、
低電力モード終了時に、前記セキュアスタンプを使用して前記暗号化されたメモリコンテンツを復号化する請求項２に記載の方法。
【請求項４】
前記暗号化されたメモリコンテンツを復号化するときに、前記チップセット（１）によって前記セキュアスタンプを前記第２のメモリ（５）から除去することを含む請求項３に記載の方法。
【請求項５】
前記クライアントアクセスサーバ（１１）と、前記セキュアスタンプとは異なる前記セキュア部（２）との間の前記セキュアリンクの設定後に、新しいセキュアスタンプを受信することを含む請求項３から４のいずれか１項に記載の方法。
【請求項６】
ディフィーヘルマン（Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎ）鍵交換プロトコルを使用して、前記クライアントアクセスサーバ（１１）と前記セキュア部（２）との間に前記セキュアリンクを設定することを含む請求項３から５のいずれか１項に記載の方法。
【請求項７】
セキュアスタンプとしてタイムスタンプを使用することを含む請求項３から６のいずれか１項に記載の方法。
【請求項８】
前記暗号化アルゴリズムの初期化ベクトルとして前記セキュアスタンプを使用する暗号化アルゴリズムに基づいて、前記セキュア部（２）によって前記第１のメモリ（７）のメモリコンテンツを暗号化することを含む請求項３から７のいずれか１項に記載の方法。
【請求項９】
前記セキュア部（２）を前記チップセット（１）のトラスト実行環境（１２）の一部として使用することを含む請求項２から８のいずれか１項に記載の方法。
【請求項１０】
前記トラスト実行環境（１２）によって、低電力モード移行時における前記暗号化されたメモリコンテンツの前記外部メモリ（２０）への格納を制御し、低電力モード終了時における暗号化されたメモリコンテンツの前記セキュア部（２）へのロードを制御することを含む請求項９に記載の方法。
【請求項１１】
ランダムキーを生成する前記セキュア部（２）を備え、
低電力モード移行時に、暗号化されたコンピュータコードを得るために、前記ランダムキーを暗号鍵として使用し、前記セキュアスタンプを初期化ベクトルとして使用して、前記トラスト実行環境（１２）は、前記トラスト実行環境（１２）で実行するコンピュータコードを暗号化し、
低電力モード終了時に、前記トラスト実行環境（１２）は、前記ランダムキーを暗号鍵として使用し、前記セキュアスタンプを初期化ベクトルとして使用して、暗号化されたコンピュータコードを復号化する、
請求項９又は１０に記載の方法。
【請求項１２】
前記第２のメモリ（５）に前記ランダムキーを格納する請求項１１に記載の方法。
【請求項１３】
更なるセキュアリンクによって前記セキュア部（２）を前記トラスト実行環境（１２）に通信可能に接続することを含み、前記更なるセキュアリンクは、更なるセキュアリンクを暗号化して保護するためのランダム共有鍵を使用する請求項１１又は１２に記載の方法。
【請求項１４】
前記ランダム共有鍵によって前記ランダムキーを前記セキュアスタンプに結合することを含む請求項１３に記載の方法。
【請求項１５】
新しいランダム共有鍵を使用して低電力モード終了毎に前記更なるセキュアリンクを再初期化することを含む請求項１３又は１４に記載の方法。
【請求項１６】
請求項１から１５のいずれか１項に記載の方法のステップを実行するよう構成されたプロセッサを備えたデバイス（１）。
【請求項１７】
プロセッサに請求項１から１５のいずれか１項に記載の方法のステップを実行させることができるコンピュータ実行可能命令を備えたコンピュータ読み取り可能な非一時的記憶媒体（１）。
【国際調査報告】
2021536712.tif 000011
2021536712.tif 000012