JP6569006B2 - キーをセキュアにアクティベートまたはリボークするためのコンピューティングデバイス - Google Patents

キーをセキュアにアクティベートまたはリボークするためのコンピューティングデバイス Download PDF

Info

Publication number
JP6569006B2
JP6569006B2 JP2018509893A JP2018509893A JP6569006B2 JP 6569006 B2 JP6569006 B2 JP 6569006B2 JP 2018509893 A JP2018509893 A JP 2018509893A JP 2018509893 A JP2018509893 A JP 2018509893A JP 6569006 B2 JP6569006 B2 JP 6569006B2
Authority
JP
Japan
Prior art keywords
key
stored
reboot
keys
previously used
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018509893A
Other languages
English (en)
Other versions
JP2018525934A (ja
Inventor
ロン・ケイダー
ヤウ・チュウ
シュ・グオ
Original Assignee
クアルコム,インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by クアルコム,インコーポレイテッド filed Critical クアルコム,インコーポレイテッド
Publication of JP2018525934A publication Critical patent/JP2018525934A/ja
Application granted granted Critical
Publication of JP6569006B2 publication Critical patent/JP6569006B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3268Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephonic Communication Services (AREA)
  • Telephone Function (AREA)
  • Input From Keyboards Or The Like (AREA)

Description

関連出願の相互参照
本出願は、参照により本明細書に組み込まれている、2015年8月26日に出願された「COMPUTING DEVICE TO SECURELY ACTIVATE OR REVOKE A KEY」という名称の米国特許出願第14/836,651号からの優先権の利益を継続および主張するものである。
本発明は、キーをセキュアにアクティベート(activate)およびリボーク(revoke)するコンピューティングデバイスに関する。
現代のコンピューティングデバイスはしばしば、セキュアブートの手順を適用している。この共通の手順は一般的に、ハードウェアにパブリックキーをアンカリングすることによって、また、ソフトウェアアプリケーションイメージ全体のハッシュを保持する署名入り証明書によってアプリケーションソフトウェアにそのパブリックキーをチェーン結合するために採用される。パブリックキーは、プライベートキーにアクセスされ得ないようにセキュアなサーバ内に常駐するプライベートキーとペアにされてもよく、また、プライベートキーは、新たなソフトウェアアプリケーションアップグレードがコンピューティングデバイス上で稼働することが可能となるように、署名入り証明書を生成してもよい。
残念ながら、プライベートキーが損なわれる事例も生じており、そのような事象において、企業がコンピューティングデバイスの制御を失うこともある。一例として、プライベートキーをハッキングしたハッカーは、コンピューティングデバイスの制御を得るために(たとえば、ユーザのプライバシーを侵害するために)、コンピューティングデバイスに自身のソフトウェアアプリケーションイメージを送信することがある。
キーをセキュアにアクティベートまたはリボークするための装置および方法が開示される。たとえば、この装置は、複数の事前記憶キーを記憶するための記憶デバイスと、アクティベートキーコマンドおよび事前記憶キーのうちの1つに関連付けられた証明書を受信するための通信インターフェースと、プロセッサとを備え得る。プロセッサは記憶デバイスおよび通信インターフェースに結合され得、事前記憶キーおよび証明書を用いて装置をリブートするためにアクティベートキーコマンドを実施し、リブートが成功したかどうかを決定するように構成され得る。一実施形態では、リブートが成功した場合、プロセッサは、さらなるリブートのために証明書を記憶するように、また以前に使用された事前記憶キーをリボークするためにリボークキーコマンドを発行するように構成される。
各実施形態が実施され得るコンピューティングデバイスの図である。 各実施形態が実施され得るシステムの図である。 認証されるまたは認証されないブートプロセスを示す図である。 新しいキーがアクティベートされるかどうかを決定するためのプロセスを示す図である。 パブリックキーのリボークを示す図である。 アクティベートキーコマンドを実施するためのプロセスの例を示す流れ図である。
「例示的」または「例」という用語は、本明細書では「例、事例、または例示として働く」を意味する語として使用される。「例示的」または「例」として本明細書において説明する任意の態様または実施形態は、必ずしも、他の態様または実施形態よりも好ましいか、または有利であると解釈されるべきでない。
本明細書で使用される場合、「コンピューティングシステムまたはデバイス」という用語は、限定はしないが、ラップトップコンピュータ、タブレット、スマートフォン、テレビ、デスクトップコンピュータ、家電機器、セルラー電話、ウォッチ、ウェアラブルデバイス、モノのインターネット(IoT)デバイス、個人用テレビデバイス、携帯情報端末(PDA)、パームトップコンピュータ、ワイヤレス電子メール受信機、マルチメディアインターネット対応セルラー電話、全地球測位システム(GPS)受信機、ワイヤレスゲームコントローラ、自動車用デバイス、インタラクティブゲームデバイス、ノートブック、スマートブック、ネットブック、モバイルテレビデバイス、カメラ、インフォテイメントデバイス、ゲートウェイなど、または任意のコンピューティングデバイスもしくはデータ処理装置を含む、任意の形態のコンピューティングデバイスを指す。コンピューティングデバイス、コンピューティングシステム、装置などの用語は互換的に使用され得ることを諒解されたい。
これ以降、詳細に説明されることになる、証明書をアクティベートするために利用され得る一例のコンピューティングデバイス100が図1に示されている。コンピュータデバイス100は、バス105を介して電気的に結合され得る(または適宜、他の何らかの形で通信し得る)ハードウェア要素を備えるように図示されている。ハードウェア要素は、限定はしないが、1つまたは複数の汎用プロセッサならびに/もしくは(デジタル信号処理チップ、グラフィックアクセラレーションプロセッサ、および/もしくは同類のものなどの)1つまたは複数の専用プロセッサを含む、1つまたは複数のプロセッサ110と、1つまたは複数の入力デバイス115(たとえばキーボード、キーパッド、タッチスクリーン、マウスなど)と、少なくともディスプレイデバイス121を含み、さらに、限定はしないが、スピーカ、プリンタ、ならびに/もしくは同類のものを含み得る、1つまたは複数の出力デバイス120とを含み得る。加えて、コンピューティングデバイス100は多種多様なセンサー122を含み得る。センサー122は、クロック、周辺光センサー(ALS)、バイオメトリックセンサー(たとえば、血圧モニタなど)、加速度計、ジャイロスコープ、磁力計、方位センサー、指紋センサー、気象センサー(たとえば、温度、風、湿度、気圧など)、全地球測位センサー(GPS)、赤外(IR)センサー、近接センサー、ニアフィールド通信(NFC)センサー、マイクロフォン、カメラを含み得る。コンピューティングデバイス100は任意のタイプのセンサーを含み得ることを諒解されたい。一実施形態では、以下で説明される、アクティベーションおよびリボケーション機能において利用され得るハードウェア要素には、セキュアなプロセッサ、ハードウェアセキュリティコア、暗号エンジンなどが含まれ得る。
コンピューティングデバイス100は、1つまたは複数の非一時的な記憶デバイス125をさらに含み得(かつ/またはそれと通信し得)、これは、限定はしないが、ローカルおよび/またはネットワークアクセス可能記憶装置を備え得、かつ/あるいは、限定はしないが、ディスクドライブ、ドライブアレイ、光記憶デバイス、プログラム可能、フラッシュ更新可能であり得るランダムアクセスメモリ(「RAM」)および/もしくはリードオンリーメモリ(「ROM」)などの固体記憶デバイス、ならびに/または同類のものを含み得る。そのような記憶デバイスは、限定はしないが、種々のファイルシステム、データベース構造などを含む、任意の適切なデータストアを実施するように構成される場合がある。
コンピューティングデバイス100は、通信サブシステム130も含み得、これは、限定はしないが、モデム、ネットワークカード(ワイヤレスもしくは有線)、赤外線通信デバイス、(Bluetooth(登録商標)デバイス、802.11デバイス、Wi-Fiデバイス、WiMaxデバイス、セルラー通信デバイスなどの)ワイヤレス通信デバイスおよび/もしくはチップセット、ならびに/または同類のものを含み得る。通信サブシステムおよび/またはインターフェース130は、データが、ネットワーク、他のコンピュータシステム、および/または本明細書において説明する他の任意のデバイスと交換されることを可能にし得る。多くの実施形態では、コンピューティングデバイス100は、上で説明したRAMまたはROMデバイスを含み得るワーキングメモリ135をさらに備えることになる。
コンピューティングデバイス100は、オペレーティングシステム140、アプリケーション145、デバイスドライバ、実行可能ライブラリ、および/または他のコードを含む、ワーキングメモリ135内に現在位置するように示されているファームウェア要素、ソフトウェア要素も備え得る。一実施形態では、本明細書において説明されるような実施形態を実施するために、方法を実施し、および/またはシステムを構成するように、アプリケーションが設計され得る。単に例として、以下で論じる方法に関連して説明する1つまたは複数の手順は、コンピューティングデバイス(および/またはコンピューティングデバイス内のプロセッサ)によって実行可能なコードおよび/または命令として実施されてもよく、一態様では、その場合、そのようなコードおよび/または命令は、本明細書で説明する実施形態によれば、説明する方法に従って1つまたは複数の動作を実施するようにコンピューティングデバイス100を構成するおよび/または適合させるために使用され得る。
これらの命令および/またはコードのセットは、上述の記憶デバイス125などの非一時的コンピュータ可読記憶媒体に記憶される場合がある。場合によっては、記憶媒体は、コンピューティングデバイス100などのコンピュータシステム内に組み込まれる場合がある。他の実施形態では、記憶媒体は、そこに記憶された命令/コードを用いて汎用コンピュータをプログラムし、構成し、および/または適応させるために使用できるように、コンピュータシステムから分離することができ(たとえば、コンパクトディスクなどのリムーバブル媒体)、かつ/またはインストールパッケージにおいて提供することができる。これらの命令は、コンピュータ制御のコンピューティングデバイス100によって実行可能である実行可能コードの形をとることができ、ならびに/あるいは(たとえば、種々の一般的に入手可能なコンパイラ、インストールプログラム、圧縮/解凍ユーティリティなどのいずれかを用いて)コンピューティングデバイス100上でのコンパイルおよび/またはインストール時に、実行可能コードの形態をとるソースコードおよび/またはインストール可能コードの形をとることができる。
実質的な変形形態が、特定の要件に従って作られ得ることは、当業者には明白である。たとえば、本明細書で説明する実施形態を実施するために、カスタマイズされたハードウェアが使用されることもあり、かつ/または特定の要素がハードウェア、ファームウェア、ソフトウェア、もしくはその両方において実施されることがある。さらに、ネットワーク入力/出力デバイスなどの他のコンピューティングデバイスへの接続が用いられることがある。
各態様は、コンピューティングデバイス100のための新しい証明書をアクティベートするための装置および方法に関し得る。具体的には、各態様は、コンピューティングデバイス100上に記憶された事前記憶キーおよびサーバからコンピューティングデバイス100に送信された新しい証明書を利用して、新しいルートオブトラスト(RoT)へと遷移するための装置および方法に関し得る。
一実施形態では、以下でより詳細に説明するように、コンピューティングデバイス100は、複数の事前記憶キーと通信インターフェース130とを含み得る。記憶デバイス125は複数の事前記憶キーを記憶し得る。複数の事前記憶キーのための様々なタイプの記憶デバイスについては以下で説明することにする。通信インターフェース130は、リモートサーバから、アクティベートキーコマンドおよび事前記憶キーのうちの1つに関連付けられた証明書(たとえば以下、新しい証明書と呼ぶ)を受信し得る。新しい証明書は新しいキーによって署名されるものであり、新しいキー自体ではないことに留意されたい。言い換えれば、コンピューティングデバイス100上にすでにあり得るが非アクティブであったキーがアクティベートされる。後述するように、アクティブになると、関連付けられた証明書は、新しいキーとともに機能するために交換されることが必要となる。前に説明したように、プロセッサ110は、記憶デバイス125および通信インターフェース130に結合され得る。コンピューティングデバイス100のプロセッサ110は、コンピューティングデバイス100の事前記憶キーおよびサーバから受信された新しい証明書を用いてコンピューティングデバイスをリブートするアクティベートキーコマンドを実施するように構成され得る。リブートが成功した場合、プロセッサ110は、事前記憶キーの利用を伴うさらなるリブートのための新しい証明書を記憶するように構成され得、また以前に使用された事前記憶キーの使用をリボークし得る。他方で、リブートが成功しなかった場合、プロセッサ110は、以前に使用された事前記憶キーおよび対応する以前に使用された証明書を用いた動作をレジュームするように構成され得る。一実施形態では、プロセッサ110は、セキュアなプロセッサ、ハードウェアセキュリティコア、暗号エンジンなど、以下で説明するアクティベーションおよびリボケーション機能において利用され得る特定のタイプの処理ハードウェア要素であり得る。
図2をさらに参照すると、コンピューティングデバイス100がリモートサーバ200とともに示されている。リモートサーバ200は、プロセッサ210と、メモリ212と、コンピューティングデバイス100と通信するための通信インターフェース230とを含み得る。一実施形態では、サーバ200は、ワイヤレスまたはワイヤードリンク250を介してコンピューティングデバイス100に、アクティベートキーコマンド、リボークオールドキーコマンド、および新しい証明書を送信するのに適したコンピューティングデバイスであり得る。これらのコマンドについては、以下でより詳細に説明することにする。サーバ200は、これらの機能を実施するためのプロセッサ、メモリ、および通信インターフェースを備えた適当なコンピューティングデバイスであり得ることを諒解されたい。さらに、サーバ200は、コンピューティングデバイス100を用いてこれらのタイプのコマンドを有効化するある種の秘密を有するべきであることを諒解されたい。たとえば、新しい証明書は、コンピューティングデバイス100の事前記憶パブリックキーのうちの1つに関連付けられたサーバ200のプライベートキーによって署名され得る。このようにして、パブリックキーは、セキュアなサーバ200内に常駐するプライベートキーとペアにされ得る。これは、1つのタイプの利用され得る非対称パブリック/プライベート暗号化技法である。しかしながら、任意の適切なタイプの非対称または対称技法が利用され得ることを諒解されたい。
通信インターフェース130を介してコンピューティングデバイス100は、リンク250を通してアクティベートキーコマンド、リボークオールドキーコマンド、および新しい証明書を受信し得る。プロセッサ110の制御下で、コンピューティングデバイス100はアクティベートキーコマンドを実施し得る。アクティベートキーコマンドは、コンピューティングデバイス上に記憶された新しい事前記憶キーおよびサーバ200から受信された新しい証明書を用いて、コンピューティングデバイス100のリブートを指令することを含み得る。コンピューティングデバイス100は次いで、リブートが成功したかどうかを決定し得る。リブートが成功した場合、プロセッサ110は、新しい事前記憶キーの使用を伴うさらなるリブートのための新しい証明書の記憶をさらに指令し得、また以前に使用された事前記憶キーをリボークし得る。他方で、リブートが成功しなかった場合、プロセッサ110は、以前に使用された事前記憶キーおよび対応する以前に使用された証明書を用いた動作をレジュームするように構成され得る。
さらに図3を参照すると、例300が示され得る。一例として、アプリケーション(たとえば、オペレーティングシステムまたはリモートコンピューティングデバイス用の特定のアプリケーション)がブートされ得る。図3に示すように、プロセッサ110によるブートの間、ダイジェスト308を生成するために、セキュアハッシュアルゴリズム306がアプリケーションイメージ304に適用され得る。次に、アプリケーションダイジェスト308の第1のイタレーションはプロダクトIDと連結され310、この値は、フラッシュアプリケーションダイジェスト314を計算するために、さらなるセキュアハッシュアルゴリズム312を受け得る。さらに、プロセッサ110は、ルートオブトラスト(RoT)のパブリックキー330のうちの1つによって復号された署名入り証明書324に基づいて、証明書ダイジェスト350を計算し得る。たとえば、4つのパブリックキー、すなわち、パブリックキー1 332、パブリックキー2 334、パブリックキー3 336、およびパブリックキー4 338が示されている。この例では、第1の以前に使用された事前記憶パブリックキー(キー1 332)が証明書ダイジェスト350を生成するために利用されている。署名はハッシュ342を用いて検証され得る(ブロック340)。いずれの場合も、プロセッサ110は、証明書ダイジェスト350に対してフラッシュダイジェスト314を比較する比較機能360を実施し、画像認証がマッチする場合、アプリケーションは認証され(成功する(362))、ブートする(たとえば、認証画像304からのブートまたはランコードを続行する)ことを許可される。他方では、そうでない場合、認証は失敗し(失敗する(362))、アプリケーションはブートすることを許可されない。したがって、アプリケーションのリブートは成功するか成功しないかのいずれかである。
前に説明したように、プライベートキーが障害を受ける事例もあり、そのような事例では、コンピューティングデバイスの制御が失われ得る。一例として、プライベートキーをハッキングしたハッカーは、コンピューティングデバイスの制御を得るために(たとえば、ユーザのプライバシーを侵害するために)、コンピューティングデバイスに自身のソフトウェアアプリケーションイメージを送信することがある。
一実施形態によれば、コンピューティングデバイス100にすでに記憶されている事前記憶パブリックキーが新しい証明書324とともにアプリケーションのブートを制御するために利用され得るように、アクティベートキーコマンドおよび新しい証明書が、サーバ200によってコンピューティングデバイス100に送られ得る。
この実施形態では、図4をさらに参照すると、新しい署名入り証明書324および新しい事前記憶パブリックキー(たとえば、パブリックキー2 334)が利用され得るプロセス400が実施され得る。たとえば、プロセス400は、実施され得る様々なタイプのフェーズを示している。まず第1に、現在のフェーズ402は、元のルートオブトラスト(RoT)が利用され、アクティベートキーコマンドとリボークキーコマンドが実施されない(たとえば、0でマークされる)以前の手順を示している。
この例によれば、プロセッサ110は、新しい事前記憶パブリックキー(たとえばパブリックキー2 334)が、サーバ200から送られた新しい受信済みの署名入り証明書324とともに利用されるアクティベートキーコマンドフェーズ404を実施し得る。フェーズ404において、新しいパブリックキー(パブリックキー2 334)がアクティベートされ、古い署名入り証明書は、サーバ200から受信された新しい署名入り証明書324と交換される。これを可能にするために適当なパスワードと署名または他の暗号化手段が利用され得ることを諒解されたい。次に、フェーズ406において、プロセッサ110は、パブリックキー2 334および新しい署名入り証明書324を利用してRoT 300を用いたリブートを実施し、それが成功するかどうかを決定する。これを可能にするために適当なパスワードと署名が利用され得ることを諒解されたい。一例として、図3を参照すると、この場合には、プロセッサ110が、サーバ200から受信された新しい署名入り証明書324を用いて、アプリケーションをリブートするためにコンピューティングデバイスのリブートを指令する。アプリケーションイメージ304はここでも、プロダクトIDが連結されるダイジェスト308を計算するために適用されるセキュアハッシュアルゴリズム306を有し、このデータはここでも、フラッシュダイジェスト314を計算するために適用される別のセキュアハッシュアルゴリズム312を有している。さらに、プロセッサ110は、証明書ダイジェスト350を生成するために、新たにアクティベートされたパブリックキー2 334によって復号された新しい署名入り証明書324に基づいて、証明書ダイジェスト350を計算する。署名はハッシュ342を用いて検証され得る(ブロック340)。いずれの場合も、プロセッサ110は、証明書ダイジェスト350に対してフラッシュダイジェスト314を比較する比較機能360を実施し、画像認証がマッチする場合、アプリケーションは認証され(成功する(362))、ブートすることを許可される。他方では、そうでない場合、認証は失敗し(失敗する(362))、アプリケーションはブートすることを許可されない。したがって、アプリケーションのリブートは成功するか成功しないかのいずれかである。このようにして、新しい署名入り証明書324および新たにアクティベートされたパブリックキー2 334がリブートに成功するかどうかが試験される。
フェーズ408においてリブートが成功する場合、新しい署名入り証明書324がプロセッサ110によって永久的に記憶され、すべてのさらなるリブートに利用され、RoTのパブリックキー2 334がアクティベートされる。さらに、以下でより詳細に説明するように、RoTのパブリックキー1 332がリボークコマンドによってリボークされ、削除または無効化され、再び使用され得なくなる。他方で、フェーズ410において、リブートが成功しなかった場合、プロセッサ110は、RoTの以前に使用された事前記憶パブリックキー1 332および対応する以前に使用された証明書を用いた動作をレジュームするように構成される。このようにして、何らかの理由で、新しい署名入り証明書を用いたアプリケーションのリブートが成功しない場合、より古い現在のフェーズ402は単に、元のパブリックキーおよび元の署名入り証明書とともに利用され得る。
前に説明した手順の間、事前記憶キーのうちの2つまたはそれ以上(たとえば、キー1 332およびキー2 334)が同時にアクティブになり得る。このようにして、アクティベーションとリボケーションとが分離され得る。また、リボケーションフェーズが後続するアクティベーションフェーズの例について説明されているが、リボケーションフェーズ、次いでアクティベーションフェーズ、または任意の適切な順序付けなど、任意の適切な順序付けが利用され得ることを諒解されたい。加えて、複数のアクティブなキーおよびリボークされたキーがプロセスの間に利用されてもよく、前に説明したプロセスは一例にすぎないが、任意の適切なプロセスが利用され得る。さらに、プロセッサ110(たとえば、セキュアプロセッサ、ハードウェアセキュリティコア、暗号エンジンなど)は、無認可のアクティベートキーコマンドおよび無認可のリボークキーコマンドを防止するように構成され得ることを諒解されたい。たとえば、アクティベートおよびリボークキーコマンドは、サーバ200において適切なプライベートキーで署名され、コンピューティングデバイス100のプロセッサ110によって、適切にペアにされたパブリックキーで認可され得る。しかしながら、アクティベートおよびリボークキーコマンドの認可のための任意の好適な認可技法がハードウェアまたはソフトウェアにおいて利用され得ることを諒解されたい。
この方法論を利用することにより、プロセス400は、遷移(失敗することに反応し得る)の間にいかなる通信にも頼ることなく安全なルート遷移を達成し、またフラッシュメモリエリアに頼らずに複数のアプリケーションイメージ(同様に失敗することに反応し得るかサイズを制限され得る)を記憶する。この機能は、メモリおよび処理能力が制限されたリモートのモノのインターネット(IoT)デバイス(たとえば、サーモスタット、ライト、リモートセンサー、煙感知器など)に有用となり得ることを諒解されたい。したがって、コンピューティングデバイスがIoTデバイスなどのリモートデバイスである事例では、このプロセスは非常に有用となり得る。
具体的には、これらの動作が、いかなる人の支援も伴わずに、また多くの場合、オーナーがこれらの動作に気づくことさえなく、リモートサーバ200からのアクティベーションコマンドに基づいてリモートで実施され得る、IoTデバイスなどのリモートコンピューティングデバイス100に対し、プライベートキーが漏洩している可能性があり、ハッカーが潜在的にこれらのリモートコンピューティングデバイスを制御し得る場合には、新しいパブリックキーおよび新しい署名入り証明書の使用が利用され得る。IoTデバイスの動作において、この実施態様は何百万ものリモートデバイスをカバーし得ることを諒解されたい。したがって、デバイスの「死亡」が起こり得る出来事とならないように、新しい署名入り証明書および新しいパブリックキーを使用するためのアクティベーションコマンドは、以前のプロセスにおいて説明したように、フォールバックなしに正常に発生するべきであることを諒解されたい。このようにして、古いパブリックキーのリボケーションを新しいパブリックキーのアクティベーションから分離し、新しいパブリックキーが正常であるとコンピューティングデバイスが決定し、正常である場合にのみ、古いパブリックキーがリボークされる安全なステージを可能にすることによる、前に説明したプロセスの実施形態は、非常に有益な実施態様をもたらす。新しい署名入り証明書および新しいパブリックキーが失敗する場合でも、古いパブリックキーおよび古い署名入り証明書は利用され得る。
コンピューティングデバイス100およびサーバ200の前に説明した通信インターフェースは、アクティベートキーコマンド、新しい署名入り証明書、およびリボークキーコマンドがワイヤレスリンク250を通じて送信されるワイヤレスインターフェースであり得ることを諒解されたい。これは、コンピューティングデバイス100が、限られたメモリおよびプロセッサを有するIoTデバイスなどのリモートデバイスである場合に当てはまり得、またこれは何百万もの異なるリモートデバイスを含み得る。しかしながら、ワイヤードリンクも利用され得ることを諒解されたい。加えて、前に説明したプロセスは任意のタイプのコンピューティングデバイスに利用され得るものであり、前の説明は例にすぎないことを諒解されたい。また、リブートが成功し、新しい署名入り証明書が受け入れられ、新しいパブリックキーがアクティベートされ、古いパブリックキーがリボークされると、プロセッサ110の制御下にあるコンピューティングデバイス100はサーバ200に確認応答メッセージを送信し得、そのため、サーバ200は、リモートコンピューティングデバイス100が現在、新しい署名入り証明書および新しいパブリックキーを認証の目的で利用しているという記録を維持し得ることを諒解されたい。
図5をさらに参照すると、以前に使用された事前記憶パブリックキーをリボークするところの説明が示される。説明するように、一実施形態では、プロセッサ110は、以前に使用された事前記憶パブリックキーに関連付けられたハードウェアヒューズを切断するように指令し得る。図5の例でわかるように、システム500が実施され得、4つのパブリックキー330(たとえば、パブリックキー1 332、パブリックキー2 334、パブリックキー3 336、パブリックキー4 338)がハードウェア設計510において実施され得、各キーは、アクティブなキー、リボークされたキー、または非アクティブなキーのいずれかである。一例として、アクティブなキー、リボークされたキー、または非アクティブなキーはワンタイムプログラマブル(OTP)メモリを介して実施され得る。この例では、説明するように、パブリックキー1 332がリボークされ得、パブリックキー2 334がアクティベートされ得るが、パブリックキー336および338は依然として非アクティブであり得る。このようにして、各キーの状態(たとえば、アクティブ、リボーク済み、非アクティブ)が各OTPブロックによって記憶される。この例では、前に説明したように、1に設定されたリボークキーコマンドベクトル502が設定され得、ここでパブリックキー1 332がリボークされるが、これはライン530を介して確認され得る。この場合は、以前に使用された事前記憶パブリックキー1 332に関連付けられたハードウェアヒューズが切断される。この場合は、以前に使用された事前記憶パブリックキー1 332は再び使用され得ない。これは、新しい事前記憶パブリックキー2 334が1に設定されたアクティベートキーコマンドベクトル504を介してアクティベートされることに基づき得るが、その場合、パブリックキー2 334はコンピューティングデバイス100上におけるアプリケーションのリブートに利用される(ライン520を参照)。したがって、一例では、パブリックキーはアクティベートキーコマンドベクトル504を介してアクティベートされ、リボークキーコマンドベクトル502を介してリボークされ得る。さらに、リボークされたキーの場合、以前に使用された事前記憶キーが再び使用され得ないようにハードウェアヒューズが切断され得る。以前の例は、例
示的な実施態様として、4つのパブリックキー330(たとえば、パブリックキー1 332、パブリックキー2 334、パブリックキー3 336、パブリックキー4 338)のルートオブトラストを利用していることを諒解されたい。しかしながら、任意の好適な数のキーが対応するアクティベートキーコマンドおよびリボークキーコマンドとともに利用され得ることを諒解されたい。利用されているパブリックキー1およびパブリックキー2の例は単に例にすぎない。パブリックキー3、4などもまた利用され得る。さらに、任意の好適な数の利用可能なパブリックキーが、前に説明したプロセスに従って利用され得る。したがって、OTPブロック(eFuseと呼ばれることもある)は、修正不可能な方式でパブリックキーまたはそれらのダイジェストを記憶するために使用され得る。キーが知られており、生成時に固定されている場合、代替的な記憶手段がROMを利用することでよいことを諒解されたい。任意の好適なタイプの「記憶デバイス」が利用され得ることを諒解されたい。
さらに図6を参照すると、前に説明した実施形態を実施する方法プロセス600が以下に説明されることになる。ブロック602において、コンピューティングデバイス100は、サーバ200からアクティベートキーコマンドを受信する。ブロック604において、コンピューティングデバイス100は、コンピューティングデバイス100上に記憶された複数の事前記憶キーのうちの1つに関連付けられたサーバ200から署名入り証明書を受信する。ブロック606において、コンピューティングデバイス100はアクティベートキーコマンドを実施する。具体的には、ブロック608において、コンピューティングデバイス100は、事前記憶パブリックキーおよび新しい署名入り証明書を用いてアプリケーションをリブートする。次に、決定ブロック610において、コンピューティングデバイス100は、リブートが成功したかどうかを決定する。リブートが成功した場合、コンピューティングデバイス100は、以前に使用された事前記憶パブリックキーをリボークし、新しい署名入り証明書を記憶し、その新しい署名入り証明書および事前記憶パブリックキーを用いてさらなるリブートを実施する(ブロック614)。他方で、リブートが成功しなかった場合、コンピューティングデバイス100は、以前に使用された事前記憶パブリックキーおよび対応する以前に使用された署名入り証明書を用いた動作をレジュームするように構成される(ブロック612)。
これまでに説明された本発明の態様は、先に説明されたように、デバイス(たとえば、コンピューティングデバイス100)のプロセッサ(たとえば、プロセッサ110)による命令の実行に関連して実施される場合があることを諒解されたい。具体的には、限定はしないがプロセッサを含む、デバイスの回路が、本発明の実施形態による方法またはプロセス(たとえば、図2〜図6のプロセスおよび機能)を実行するために、プログラム、ルーチンの制御下、または命令の実行下で動作し得る。たとえば、そのようなプログラムは、(たとえば、メモリおよび/または他の位置に記憶された)ファームウェアまたはソフトウェアに実施されてもよく、プロセッサ、および/またはデバイスの他の回路によって実施されてもよい。さらに、プロセッサ、マイクロプロセッサ、回路、コントローラなどの用語が、論理、コマンド、命令、ソフトウェア、ファームウェア、機能などを実行することができる任意のタイプの論理または回路を指すことを諒解されたい。
デバイスがワイヤレスデバイスであるとき、それらのデバイスは、任意の適切なワイヤレス通信技術に基づくか、あるいは場合によっては任意の適切なワイヤレス通信技術をサポートするワイヤレスネットワークを通じて、1つまたは複数のワイヤレス通信リンクを介して通信することがあることを諒解されたい。たとえば、いくつかの態様では、ワイヤレスデバイスおよび他のデバイスは、ワイヤレスネットワークを含むネットワークに関連付けることがある。いくつかの態様では、ネットワークは、ボディエリアネットワークまたはパーソナルエリアネットワーク(たとえば超広帯域ネットワーク)を備えることがある。いくつかの態様では、ネットワークは、ローカルエリアネットワークまたはワイドエリアネットワークを備えることがある。ワイヤレスデバイスは、様々なワイヤレス通信技術、プロトコル、または、たとえば、3G、LTE、アドバンストLTE、4G、5G、CDMA、TDMA、OFDM、OFDMA、WiMAX、およびWiFiなどの規格のうちの1つまたは複数をサポートし得るか、あるいは別の方法で使用し得る。同様に、ワイヤレスデバイスは、様々な対応する変調方式または多重化方式のうちの1つまたは複数をサポートし得るか、あるいは別の方法で使用し得る。したがって、ワイヤレスデバイスは、上のまたは他のワイヤレス通信技術を使用して、1つまたは複数のワイヤレス通信リンクを確立し、その通信リンクを介して通信するのに適したコンポーネント(たとえばエアインターフェース)を含むことがある。たとえば、デバイスは、ワイヤレス媒体を通じた通信を容易にする様々なコンポーネント(たとえば、信号生成器および信号プロセッサ)を含んでもよく、関連するトランスミッタコンポーネントおよびレシーバコンポーネント(たとえば、トランスミッタおよび受信機)を有するワイヤレストランシーバを備えることがある。周知のように、スマートフォンデバイスは、したがって、他のモバイルデバイス、セルラー電話、他のワイヤードコンピュータおよびワイヤレスコンピュータ、インターネットウェブサイトなどとワイヤレス通信し得る。
本明細書における教示は、様々な装置(たとえばデバイス)に組み込まれる(たとえば、様々な装置内で実施される、または様々な装置によって実施される)ことが可能である。たとえば、本明細書で教示する1つまたは複数の態様は、電話(たとえば、セルラー電話)、携帯情報端末(「PDA」)、タブレット、ウェアラブルデバイス、モノのインターネット(IoT)デバイス、モバイルコンピュータ、ラップトップコンピュータ、エンターテインメントデバイス(たとえば、音楽デバイスもしくはビデオデバイス)、ヘッドセット(たとえば、ヘッドフォン、イヤピースなど)、医療デバイス(たとえば、生体センサー、心拍数モニタ、歩数計、EKGデバイスなど)、ユーザI/Oデバイス、コンピュータ、有線コンピュータ、固定コンピュータ、デスクトップコンピュータ、サーバ、店頭デバイス、セットトップボックス、または任意の他のタイプの通信デバイスに組み込まれ得る。これらのデバイスは、異なる電力要件およびデータ要件を有し得る。
いくつかの態様では、ワイヤレスデバイスは、通信システムのためのアクセスデバイス(たとえばWi-Fiアクセスポイント)を含み得る。そのようなアクセスデバイスは、たとえば、有線またはワイヤレスの通信リンクを介した別のネットワーク(たとえば、インターネットまたはセルラーネットワークなどのワイドエリアネットワーク)への接続を提供し得る。したがって、アクセスデバイスは、別のデバイス(たとえばWiFiステーション)が他のネットワークまたは何らかの他の機能にアクセスできるようにし得る。
情報および信号は多種多様な技術および技法のいずれかを使用して表され得ることを、当業者は理解されよう。たとえば、上記の説明全体にわたって参照され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁場もしくは粒子、光場もしくは光粒子、またはそれらの任意の組合せによって表され得る。
本明細書で開示する実施形態に関して説明する様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、ファームウェア、または両方の組合せとして実施され得ることを、当業者はさらに諒解されよう。ハードウェア、ファームウェア、またはソフトウェアのこの互換性を明瞭に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップが、上では全般にその機能に関して説明された。そのような機能をハードウェア、ファームウェアまたはソフトウェアのいずれとして実施するかは、特定の適用例および全体的なシステムに課される設計制約に依存する。当業者は説明した機能を特定の用途ごとに様々な方法で実施してもよいが、そのような実施決定は本発明の範囲からの逸脱を引き起こすものと解釈されるべきではない。
本明細書で開示した実施形態に関連して説明した種々の例示的な論理ブロック、モジュールおよび回路は、汎用プロセッサ、デジタルシグナルプロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、システムオンチップ(SoC)または他のプログラマブル論理デバイス、個別のゲートまたはトランジスタ論理、個別のハードウェア構成要素、または本明細書で説明される機能を実行するように設計されたそれらの任意の組合せを用いて、実施されるか、または実行される場合がある。汎用プロセッサはマイクロプロセッサであってもよく、あるいは任意のタイプのプロセッサ、コントローラ、マイクロコントローラ、またはステートマシンであってもよい。プロセッサはまた、コンピューティングデバイスの組合せ(たとえば、DSPおよびマイクロプロセッサの組合せ、複数のマイクロプロセッサ、DSPコアと連携した1つもしくは複数のマイクロプロセッサ、または任意の他のそのような構成)として実施されてもよい。
本明細書において開示される実施形態に関して説明した方法またはアルゴリズムのステップは、ハードウェアにおいて直接具現されても、ファームウェアにおいて直接具現されても、プロセッサによって実行されるソフトウェアモジュールとして具現されても、あるいはこの2つの組合せにおいて具現されてもよい。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、または当技術分野において知られている任意の他の形態の記憶媒体に存在する場合がある。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取り、また記憶媒体に情報を書き込むことができるように、プロセッサに結合される。代替として、記憶媒体は、プロセッサと一体であることがある。プロセッサおよび記憶媒体は、ASICの中に存在することがある。ASICは、ユーザ端末の中に存在することがある。代替として、プロセッサおよび記憶媒体は、個別のコンポーネントとしてユーザ端末の中に存在することがある。
1つまたは複数の例示的な実施形態では、述べた機能は、ハードウェア、ソフトウェア、ファームウェア、またはこれらの任意の組合せにおいて実施される場合がある。コンピュータプログラム製品としてソフトウェアにおいて実施される場合、機能は、コンピュータ可読媒体上の1つまたは複数の命令またはコードとして記憶されてもよく、または伝送されてもよい。コンピュータ可読媒体は、コンピュータ記憶媒体と、コンピュータプログラムのある場所から別の場所への転送を容易にする任意の媒体を含む通信媒体との両方を含む。記憶媒体は、コンピュータによってアクセスされ得る任意の使用可能な媒体であり得る。限定ではなく例として、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM、CD-ROMもしくは他の光ディスクストレージ、磁気ディスクストレージもしくは他の磁気記憶デバイス、または命令もしくはデータ構造の形式の所望のプログラムコードを搬送もしくは記憶するために使用可能であり、コンピュータによってアクセス可能な任意の他の媒体を備え得る。さらに、任意の接続をコンピュータ可読媒体と呼ぶことは適正である。たとえば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから伝送される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。本明細書では、ディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザディスク(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピーディスク(disk)、およびブルーレイディスク(disc)を含み、ディスク(disk)は通常、データを磁気的に再生し、一方、ディスク(disc)は、データをレーザによって光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲に含まれるべきである。
開示された実施形態についての上記の説明は、当業者が本発明を作成または使用することを可能にするように提供される。これらの実施形態に対する様々な変更形態が、当業者には容易に明らかとなり、本明細書において規定される一般原理は、本発明の趣旨または範囲から逸脱することなく他の実施形態に適用されてもよい。したがって、本発明は、本明細書に示される実施形態に限定されるものではなく、本明細書において開示される原理および新規の特徴に一致する最も広い範囲を与えられるべきである。
100 コンピューティングデバイス
105 バス
110 プロセッサ
115 入力デバイス
120 出力デバイス
121 ディスプレイデバイス
122 センサー
125 記憶デバイス
130 通信サブシステム/インターフェース
135 メモリ
140 オペレーティングシステム
145 アプリケーション
200 サーバ
210 プロセッサ
212 メモリ
230 通信インターフェース
250 ワイヤレスまたはワイヤードリンク、リンク、ワイヤレスリンク
300 例、RoT
304 アプリケーションイメージ、認証画像
306 セキュアハッシュアルゴリズム
308 ダイジェスト、アプリケーションダイジェスト
312 セキュアハッシュアルゴリズム
314 フラッシュアプリケーションダイジェスト、フラッシュダイジェスト
324 署名入り証明書
330 パブリックキー
332 パブリックキー1
334 パブリックキー2
336 パブリックキー3
338 パブリックキー4
342 ハッシュ
350 証明書ダイジェスト
360 比較機能
400 プロセス
500 システム
502 リボークキーコマンドベクトル
504 アクティベートキーコマンドベクトル
510 ハードウェア設計
520 ライン
530 ライン
600 方法プロセス

Claims (19)

  1. ハードウェア装置であって、
    複数の事前記憶キーを記憶するための記憶デバイスと、
    サーバから、アクティベートキーコマンドおよび前記複数の事前記憶キーのうちの1つの事前記憶キーに関連付けられた証明書を受信するための通信インターフェースと、
    前記記憶デバイスおよび前記通信インターフェースに結合されたプロセッサであって、
    前記複数の事前記憶キーのうちの前記1つの事前記憶キーおよび前記複数の事前記憶キーのうちの前記1つの事前記憶キーに関連付けられた前記サーバから受信された前記証明書を用いて前記ハードウェア装置をリブートするために前記アクティベートキーコマンドを実施し、
    前記リブートが成功したかどうかを決定する
    ように構成されたプロセッサと
    を備え、
    前記リブートが成功しなかった場合、前記プロセッサは、以前に使用された事前記憶キーおよび対応する以前に使用された証明書を用いた動作をレジュームするように構成され、
    前記リブートが成功した場合、前記プロセッサは、さらなるリブートのために、前記複数の事前記憶キーのうちの前記1つの事前記憶キーに関連付けられた前記証明書を記憶し、前記以前に使用された事前記憶キーをリボークするようにさらに構成されるハードウェア装置。
  2. 前記リブートが成功した場合、前記プロセッサは、前記以前に使用された事前記憶キーをリボークするためにリボークキーコマンドを発行するようにさらに構成される、請求項1に記載の装置。
  3. 少なくともアクティベーション用の事前記憶キーおよびリボケーション用の事前記憶キーを含めて、前記複数の事前記憶キーのうちの2つまたはそれ以上が同時にアクティブとなる、請求項1に記載の装置。
  4. 前記プロセッサは、無認可のアクティベートキーコマンドおよび無認可のリボークキーコマンドを防止するようにさらに構成される、請求項1に記載の装置。
  5. 前記以前に使用された事前記憶キーをリボークすることは、前記以前に使用された事前記憶キーに関連付けられたハードウェアヒューズを切断するように前記プロセッサが指令することをさらに含む、請求項1に記載の装置。
  6. 前記通信インターフェースはワイヤレスインターフェースであり、前記アクティベートキーコマンドはワイヤレスに送信される、請求項1に記載の装置。
  7. コンピューティングデバイスによって、サーバから、アクティベートキーコマンドおよび前記コンピューティングデバイス上に記憶された複数の事前記憶キーのうちの1つの事前記憶キーに関連付けられた証明書を受信するステップと、
    前記アクティベートキーコマンドを実施するステップであって、
    前記複数の事前記憶キーのうちの前記1つの事前記憶キーおよび前記複数の事前記憶キーのうちの前記1つの事前記憶キーに関連付けられた前記サーバから受信された前記証明書を用いて前記コンピューティングデバイスをリブートするステップと、
    前記リブートが成功したかどうかを決定するステップと
    を含む、実施するステップと
    を含み、
    前記リブートが成功しなかった場合、以前に使用された事前記憶キーおよび対応する以前に使用された証明書を用いた動作をレジュームするステップをさらに含み、
    前記リブートが成功した場合、さらなるリブートのために、前記複数の事前記憶キーのうちの前記1つの事前記憶キーに関連付けられた前記証明書を記憶するステップと、前記以前に使用された事前記憶キーをリボークするステップと
    をさらに含む方法。
  8. 少なくともアクティベーション用の事前記憶キーおよびリボケーション用の事前記憶キーを含めて、前記複数の事前記憶キーのうちの2つまたはそれ以上が同時にアクティブとなる、請求項7に記載の方法。
  9. 無認可のアクティベートキーコマンドおよび無認可のリボークキーコマンドを防止するステップをさらに含む、請求項7に記載の方法。
  10. 前記以前に使用された事前記憶キーをリボークするステップは、前記以前に使用された事前記憶キーに関連付けられたハードウェアヒューズを切断するように指令するステップをさらに含む、請求項7に記載の方法。
  11. 前記アクティベートキーコマンドはサーバから前記コンピューティングデバイスにワイヤレスに送信される、請求項7に記載の方法。
  12. コードを記録した非一時的コンピュータ可読記録媒体であって、前記コードは、コンピューティングデバイスのプロセッサによって実行されると、前記プロセッサに、
    前記コンピューティングデバイスによって、サーバから、アクティベートキーコマンドおよび前記コンピューティングデバイス上に記憶された複数の事前記憶キーのうちの1つの事前記憶キーに関連付けられた証明書を受信することと、
    前記アクティベートキーコマンドを実施することであって、
    前記複数の事前記憶キーのうちの前記1つの事前記憶キーおよび前記複数の事前記憶キーのうちの前記1つの事前記憶キーに関連付けられた前記サーバから受信された前記証明書を用いて前記コンピューティングデバイスをリブートすることと、
    前記リブートが成功したかどうかを決定することと
    を含む、実施することと、を行わせ、
    前記非一時的コンピュータ可読記録媒体は、
    前記リブートが成功しなかった場合、以前に使用された事前記憶キーおよび対応する以前に使用された証明書を用いた動作をレジュームするためのコードをさらに記録し
    前記リブートが成功した場合、さらなるリブートのために、前記複数の事前記憶キーのうちの前記1つの事前記憶キーに関連付けられた前記証明書を記憶し、前記以前に使用された事前記憶キーをリボークするためのコードをさらに記録した、コンピュータ可読記録媒体。
  13. 少なくともアクティベーション用の事前記憶キーおよびリボケーション用の事前記憶キーを含めて、前記複数の事前記憶キーのうちの2つまたはそれ以上の事前記憶キーを、同時にアクティブにするためのコードをさらに記録した、請求項12に記載のコンピュータ可読記録媒体。
  14. 無認可のアクティベートキーコマンドおよび無認可のリボークキーコマンドを防止するためのコードをさらに記録した、請求項12に記載のコンピュータ可読記録媒体。
  15. 前記以前に使用された事前記憶キーをリボークするためのコードは、前記以前に使用された事前記憶キーに関連付けられたハードウェアヒューズを切断するように指令するためのコードをさらに備える、請求項12に記載のコンピュータ可読記録媒体。
  16. 前記アクティベートキーコマンドを、サーバから前記コンピューティングデバイスにワイヤレスに送信するためのコードをさらに記録した、請求項12に記載のコンピュータ可読記録媒体。
  17. コンピュータ装置であって、
    複数の事前記憶キーを記憶するための手段と、
    サーバから、アクティベートキーコマンドおよび前記複数の事前記憶キーのうちの1つの事前記憶キーに関連付けられた証明書を受信するための手段と、
    前記アクティベートキーコマンドを実施するための手段であって、
    前記複数の事前記憶キーのうちの前記1つの事前記憶キーおよび前記複数の事前記憶キーのうちの前記1つの事前記憶キーに関連付けられた前記サーバから受信された前記証明書を用いて前記コンピュータ装置をリブートするための手段と、
    前記リブートが成功したかどうかを決定するための手段と
    を含む、実施するための手段と
    を備え、
    前記リブートが成功しなかった場合、以前に使用された事前記憶キーおよび対応する以前に使用された証明書を用いた動作をレジュームするための手段をさらに備え、
    前記リブートが成功した場合、さらなるリブートのために、前記複数の事前記憶キーのうちの前記1つの事前記憶キーに関連付けられた前記証明書を記憶するための手段と、前記以前に使用された事前記憶キーをリボークするための手段とをさらに備える、コンピュータ装置。
  18. 少なくともアクティベーション用の事前記憶キーおよびリボケーション用の事前記憶キーを含めて、前記複数の事前記憶キーのうちの2つまたはそれ以上が同時にアクティブとなる、請求項17に記載の装置。
  19. 無認可のアクティベートキーコマンドおよび無認可のリボークキーコマンドを防止するための手段をさらに備える、請求項17に記載の装置。
JP2018509893A 2015-08-26 2016-07-15 キーをセキュアにアクティベートまたはリボークするためのコンピューティングデバイス Active JP6569006B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/836,651 US9798887B2 (en) 2015-08-26 2015-08-26 Computing device to securely activate or revoke a key
US14/836,651 2015-08-26
PCT/US2016/042605 WO2017034700A1 (en) 2015-08-26 2016-07-15 Computing device to securely activate or revoke a key

Publications (2)

Publication Number Publication Date
JP2018525934A JP2018525934A (ja) 2018-09-06
JP6569006B2 true JP6569006B2 (ja) 2019-08-28

Family

ID=56557908

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018509893A Active JP6569006B2 (ja) 2015-08-26 2016-07-15 キーをセキュアにアクティベートまたはリボークするためのコンピューティングデバイス

Country Status (7)

Country Link
US (1) US9798887B2 (ja)
EP (1) EP3342094A1 (ja)
JP (1) JP6569006B2 (ja)
KR (1) KR101952395B1 (ja)
CN (1) CN107925570B (ja)
BR (1) BR112018003471A2 (ja)
WO (1) WO2017034700A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106656502B (zh) * 2016-09-26 2020-09-01 上海兆芯集成电路有限公司 计算机系统及安全执行的方法
JP2018174448A (ja) * 2017-03-31 2018-11-08 富士通株式会社 通信装置、データ取得システム、データ取得制御方法
TWI648741B (zh) * 2017-06-05 2019-01-21 慧榮科技股份有限公司 資料儲存裝置之控制器以及進階資料抹除的方法
US10862831B2 (en) * 2017-08-03 2020-12-08 Digital 14 Llc System, method, and computer program product providing end-to-end security of centrally accessible group membership information
US11496519B1 (en) * 2019-11-29 2022-11-08 Amazon Technologies, Inc. Managing security in isolated network environments
KR20220026079A (ko) 2020-08-25 2022-03-04 삼성전자주식회사 스토리지 장치
US11423154B2 (en) * 2020-10-26 2022-08-23 Micron Technology, Inc. Endpoint authentication based on boot-time binding of multiple components
SE2250569A1 (en) * 2022-05-11 2023-11-12 Scania Cv Ab Methods and control arrangements for replacing a compromised certificate authority asymmetric key pair used by vehicles
CN117061251B (zh) * 2023-10-12 2024-01-30 兴原认证中心有限公司 一种用于认证平台的pki证书暂停撤销方法及系统

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4558176A (en) * 1982-09-20 1985-12-10 Arnold Mark G Computer systems to inhibit unauthorized copying, unauthorized usage, and automated cracking of protected software
US4972472A (en) 1985-03-15 1990-11-20 Tandem Computers Incorporated Method and apparatus for changing the master key in a cryptographic system
US7159114B1 (en) * 2001-04-23 2007-01-02 Diebold, Incorporated System and method of securely installing a terminal master key on an automated banking machine
WO2005104431A1 (ja) * 2004-04-21 2005-11-03 Matsushita Electric Industrial Co., Ltd. コンテンツ提供システム、情報処理装置及びメモリカード
US7870383B2 (en) * 2006-02-09 2011-01-11 International Business Machines Corporation System, method and program to update certificates in a computer
US8291226B2 (en) 2006-02-10 2012-10-16 Qualcomm Incorporated Method and apparatus for securely booting from an external storage device
US20100030897A1 (en) * 2006-12-20 2010-02-04 Rob Stradling Method and System for Installing a Root Certificate on a Computer With a Root Update Mechanism
JP5096022B2 (ja) * 2007-03-15 2012-12-12 株式会社リコー 情報処理装置、ソフトウェア検証方法及びソフトウェア検証プログラム
US8560823B1 (en) * 2007-04-24 2013-10-15 Marvell International Ltd. Trusted modular firmware update using digital certificate
GB2454640A (en) * 2007-07-05 2009-05-20 Vodafone Plc Received message verification
US8694761B2 (en) 2008-12-31 2014-04-08 Vincent Zimmer System and method to secure boot both UEFI and legacy option ROM's with common policy engine
KR20120034755A (ko) * 2009-03-06 2012-04-12 인터디지탈 패튼 홀딩스, 인크 무선 장치들의 플랫폼 입증 및 관리
EP2337299A1 (en) 2009-12-18 2011-06-22 Alcatel Lucent A method, a first user equipment, a second user equipment, a computer program and a computer program product
TW201741925A (zh) * 2010-04-12 2017-12-01 內數位專利控股公司 啟洞程序中階段控制釋放
US8918641B2 (en) * 2011-05-26 2014-12-23 Intel Corporation Dynamic platform reconfiguration by multi-tenant service providers
US8949586B2 (en) 2011-10-06 2015-02-03 Cisco Technology, Inc. System and method for authenticating computer system boot instructions during booting by using a public key associated with a processor and a monitoring device
US9021246B2 (en) 2011-10-28 2015-04-28 GM Global Technology Operations LLC Method to replace bootloader public key
EP2746982B1 (en) * 2012-12-22 2018-05-09 Samsung Electronics Co., Ltd Method and apparatus for supporting dynamic change of authentication means for secure booting
US9495544B2 (en) * 2013-06-27 2016-11-15 Visa International Service Association Secure data transmission and verification with untrusted computing devices

Also Published As

Publication number Publication date
CN107925570B (zh) 2019-03-19
CN107925570A (zh) 2018-04-17
EP3342094A1 (en) 2018-07-04
KR20180023059A (ko) 2018-03-06
BR112018003471A2 (pt) 2018-09-25
WO2017034700A1 (en) 2017-03-02
KR101952395B1 (ko) 2019-02-26
US9798887B2 (en) 2017-10-24
JP2018525934A (ja) 2018-09-06
US20170060595A1 (en) 2017-03-02

Similar Documents

Publication Publication Date Title
JP6569006B2 (ja) キーをセキュアにアクティベートまたはリボークするためのコンピューティングデバイス
US10972290B2 (en) User authentication with self-signed certificate and identity verification
US9973485B2 (en) Apparatus and method to securely receive a key
EP3108613B1 (en) Method and apparatus for authenticating client credentials
KR101941049B1 (ko) 암호화된 통신을 위한 방법 및 시스템
US9424439B2 (en) Secure data synchronization
KR102013983B1 (ko) 애플리케이션 무결성 인증 방법 및 인증 서버
US10320571B2 (en) Techniques for authenticating devices using a trusted platform module device
JP6476167B2 (ja) 自己認証デバイス及び自己認証方法
US20180035293A1 (en) Authenticating a device utilizing a secure display
WO2017076051A1 (zh) 一种获取超级用户权限的方法及装置
CN111200593A (zh) 应用登录方法、装置和电子设备
CN114450663A (zh) 使用安全集成电路来更新固件的电子装置及其操作方法
CN111045743B (zh) 操作系统安全启动方法、管理方法、装置、设备
JP6440721B2 (ja) コンピューティングデバイスによるアプリケーションの使用の認証
US8713653B2 (en) Data processing apparatus, activation control method, and computer-readable storage medium
US20180019870A1 (en) Device to limit access to storage to authenticated actors only
US20180152307A1 (en) Device to provide trusted time assurance
US11776340B2 (en) Electronic device authentication method, and apparatus according thereto
JP6287491B2 (ja) 情報処理装置、認証制御方法及びプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180221

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180221

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20180221

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20180619

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180910

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20181210

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190305

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190325

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190625

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190708

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190805

R150 Certificate of patent or registration of utility model

Ref document number: 6569006

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250