JP2016520265A - セキュリティパラメータに基づくワーキングセキュリティキーの生成 - Google Patents

セキュリティパラメータに基づくワーキングセキュリティキーの生成 Download PDF

Info

Publication number
JP2016520265A
JP2016520265A JP2016510706A JP2016510706A JP2016520265A JP 2016520265 A JP2016520265 A JP 2016520265A JP 2016510706 A JP2016510706 A JP 2016510706A JP 2016510706 A JP2016510706 A JP 2016510706A JP 2016520265 A JP2016520265 A JP 2016520265A
Authority
JP
Japan
Prior art keywords
software
security
key
security parameter
function
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.)
Granted
Application number
JP2016510706A
Other languages
English (en)
Other versions
JP6509197B2 (ja
JP2016520265A5 (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 JP2016520265A publication Critical patent/JP2016520265A/ja
Publication of JP2016520265A5 publication Critical patent/JP2016520265A5/ja
Application granted granted Critical
Publication of JP6509197B2 publication Critical patent/JP6509197B2/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/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/10Integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/12Detection or prevention of fraud
    • H04W12/128Anti-malware arrangements, e.g. protection against SMS fraud or mobile malware
    • 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/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/061Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying further key derivation, e.g. deriving traffic keys from a pair-wise master key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • 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/3247Cryptographic 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 digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/12Detection or prevention of fraud
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephone Function (AREA)
  • Storage Device Security (AREA)
  • Computing Systems (AREA)

Abstract

電子デバイスのセキュリティを高めるための技法が開示される。本開示の1つの態様において、デバイスのセキュリティは、デバイスのハードウェアシークレットキーおよび少なくとも1つのセキュリティパラメータに基づいて、たとえばキー導出機能により、ワーキングキーを生成することによって高められてもよい。セキュリティパラメータは、デバイス上の認証されるべきソフトウェアおよび/またはワイヤレスデバイスのセキュリティのその他の態様に関連付けられてもよい。セキュリティパラメータは、ソフトウェアが許可されているかどうか、および/または少なくとも1つの操作機能がソフトウェアに対して許可されているかどうかを指示することができる。少なくとも1つのセキュリティ機能は、ワーキングキーに基づいてデバイスに対して実行されてもよい。たとえば、ワーキングキーは、デバイスのデータを暗号化、署名、復号、または検証するために使用されてもよい。ワーキングキーは、少なくとも1つのセキュリティ機能に対してソフトウェアによって直接的または間接的に使用されてもよい。

Description

本開示は一般に、電子工学に関し、より詳細には電子デバイスにセキュリティを提供するための技法に関する。
電子デバイス(たとえば、セルラーフォンまたはスマートフォン)は通常、デバイス上のハードウェアの動作を制御し、デバイスのさまざまな機能をサポートするソフトウェアに基づいて動作する。セキュリティメカニズム(たとえば、セキュアブート)は、デバイスに許可されたソフトウェアのみがデバイス上で実行され得ることを保証するために採用されてもよい。しかし、デバイスは、デバイス上のセキュリティメカニズムのアクティブ化に先立つ(たとえば、製造中の)悪意ある攻撃に対して脆弱となり得る。この脆弱な期間中に、許可されていないソフトウェアがデバイスに悪意をもってロードされ、デバイスによって実行され、デバイス上のセキュリティ情報(たとえば、セキュリティキー)にアクセス、および/またはセキュリティ情報を使用してデータを操作する可能性もある。
本明細書において、電子デバイスのセキュリティを高めるための技法が開示される。本開示の態様において、デバイスのセキュリティは、デバイスのハードウェアシークレットキーならびに少なくとも1つのセキュリティパラメータに基づいてワーキングキーを生成することによって高められ得る。(ハードウェアシークレットキーではなく)ワーキングキーは、デバイス上でセキュリティ機能を実行する(たとえば、データを暗号化および復号する)ために使用され得る。
例示的な設計において、ワーキングキーがデバイスの少なくとも1つのセキュリティパラメータおよびシークレットキーに基づいて、たとえばキー導出機能により、生成されてもよい。少なくとも1つのセキュリティパラメータは、デバイス上の認証されるべきソフトウェアおよび/またはデバイスのセキュリティのその他の態様に関連付けられてもよい。少なくとも1つのセキュリティ機能は、ワーキングキーに基づいてデバイスに対して実行されてもよい。たとえば、ワーキングキーは、デバイスのデータを暗号化、署名、復号、または検証するために使用されてもよい。ワーキングキーは、少なくとも1つのセキュリティ機能に対してソフトウェアによって直接的または間接的に使用されてもよい。
少なくとも1つのセキュリティパラメータは、デバイスのセキュリティのさまざまな態様を制御することができる。たとえば、少なくとも1つのセキュリティパラメータは、ソフトウェアが、デバイス上での実行を許可されているかどうか、少なくとも1つの操作機能がソフトウェアに対して許可されているかどうかなどを決定することができる。1つの設計において、少なくとも1つのセキュリティパラメータは、ソフトウェアがデバイスに対して許可されているかどうかを決定するために使用される公開キーを含むことができる。公開キーは、ソフトウェアに署名するために使用される秘密キーに対応することができる。少なくとも1つのセキュリティパラメータはまた、その他のタイプの情報を備えることもできる。
後段において、本開示のさまざまな態様および特徴がさらに詳細に説明される。
ワイヤレスデバイスを示すブロック図である。 ワイヤレスデバイスの例示的な製造プロセスを示す図である。 ワイヤレスデバイス上でセキュリティ情報を記憶するためのプロセスを示す図である。 ワイヤレスデバイスのセキュアブートを実行するためのプロセスを示す図である。 ハードウェアシークレットキーに基づいてデータを暗号化および復号するためのプロセスを示す図である。 ワーキングキーに基づいてデータを暗号化および復号するためのプロセスを示す図である。 デバイスにセキュリティを提供するためのプロセスを示す図である。
本明細書において開示されるセキュリティキー生成技法は、ワイヤレス通信デバイス、ハンドヘルドデバイス、ゲームデバイス、コンピューティングデバイス、家庭用電子デバイス、コンピュータなどのような、さまざまな電子デバイスに使用され得る。明確にするため、技法は、ワイヤレス通信デバイスについて、後段において説明される。
図1は、本明細書において開示されるセキュリティキー生成技法を実装することができるワイヤレス通信デバイス100の例示的な設計のブロック図を示す。ワイヤレスデバイス100は、セルラーフォン、スマートフォン、タブレット、ワイヤレスモデム、携帯情報端末(PDA)、ハンドヘルドデバイス、ラップトップコンピュータ、スマートブック、ネットブック、コードレスフォン、ワイヤレスローカルループ(WLL)ステーション、Bluetooth(登録商標)デバイスなどであってもよい。ワイヤレスデバイス100は、1つまたは複数のワイヤレス通信システムとの双方向通信をサポートすることができる。
データ送信の場合、デジタルモジュール120は、送信されるべきデータを処理(たとえば、エンコードおよび変調)して、出力ベースバンド信号を送信機(TMTR)114に提供することができる。送信機114は、出力ベースバンド信号を増幅、フィルタ、およびアップコンバートして、出力無線周波数(RF)信号を生成することができ、この信号はアンテナ112を介して基地局に送信されてもよい。
データ受信の場合、アンテナ112は、基地局および/またはその他の送信局から信号を受信することができ、受信したRF信号を受信機(RCVR)116に提供することができる。受信機116は、受信したRF信号をRFからベースバンドにダウンコンバートし、ダウンコンバートした信号をフィルタおよび増幅して、入力ベースバンド信号をデジタルモジュール120に提供することができる。デジタルモジュール120は、入力ベースバンド信号を処理(たとえば、復調およびデコード)して、ワイヤレスデバイス100に送信されたデータを回復することができる。
デジタルモジュール120は、ワイヤレスデバイス100のデジタル処理をサポートするために、さまざまな処理、インターフェイス、およびメモリユニットを含むことができる。図1に示される設計において、デジタルモジュール120は、モデムプロセッサ122、中央処理装置(CPU)/縮小命令セットコンピュータ(RISC)プロセッサ124、メインコントローラ126、内部メモリ130、セキュアメモリ140、メモリコントローラ148、および入出力(I/O)コントローラ158を含み、これらはすべて1つまたは複数のバス160を介して相互に通信することができる。
モデムプロセッサ122は、たとえば、エンコーディング、変調、復調、デコーディングなどのような、データ送信および受信のための処理を実行することができる。CPU/RISCプロセッサ124は、たとえば、オーディオ、ビデオ、グラフィックス、および/またはその他のアプリケーションのための処理など、ワイヤレスデバイス100の汎用処理を実行することができる。メインコントローラ126は、デジタルモジュール120内のさまざまなユニットの操作を指示することができる。内部メモリ130は、デジタルモジュール120内でプロセッサおよびコントローラによって使用されるソフトウェア132および/またはデータを記憶することができる。メモリ130は、静的ランダムアクセスメモリ(SRAM)またはその他のタイプのメモリにより実装されてもよい。
セキュアメモリ140は、セキュリティキー142、セキュリティパラメータ144、ブートコード146、および/またはその他のセキュア情報を記憶することができる。セキュリティキー142は、たとえば、ワイヤレスデバイス100によって送信されたデータを暗号化する、ワイヤレスデバイス100に送信された暗号化データを復号する、内部メモリ130にロードされたソフトウェアを認証するなど、ワイヤレスデバイス100上のセキュリティ機能のために使用されてもよい。セキュリティパラメータ144は、ワイヤレスデバイス100のセキュリティに関連するさまざまな態様を制御することができる。ブートコード146は、ワイヤレスデバイス100にロードされたソフトウェアを認証するためにセキュアブートを実行することができる。メモリ140は、読取り専用メモリ(ROM)、ワンタイムプログラマブル(OTP)素子、および/またはその他のタイプのメモリにより実装されてもよい。
メモリコントローラ148は、外部メモリ150とデジタルモジュール120との間のデータの転送を容易にすることができる。外部メモリ150は、デジタルモジュール120内の処理装置に大容量/バルク記憶装置を提供することができる。たとえば、メモリ150は、実行のためにデジタルモジュール120にロードされ得るソフトウェア152、データなどを記憶することができる。メモリ150は、(i)NANDフラッシュおよび/またはNORフラッシュメモリのようなバルク不揮発性メモリ、(ii)同期ダイナミックランダムアクセスメモリ(SDRAM)またはダイナミックランダムアクセスメモリ(DRAM)のようなバルク揮発性メモリ、および/または(iii)その他のタイプのメモリを備えることができる。I/Oコントローラ158は、ワイヤレスデバイス100が、セキュアサーバおよび/またはその他のエンティティと通信できるようにすることができる。
図1は、デジタルモジュール120の例示的な設計を示す。一般に、デジタルモジュール120は、任意の数の処理、インターフェイス、およびメモリユニットを含むことができる。デジタルモジュール120はまた、1つまたは複数のデジタル信号プロセッサ(DSP)、マイクロプロセッサ、RISCプロセッサなどにより実装されてもよい。デジタルモジュール120は、1つまたは複数の特殊用途向け集積回路(ASIC)および/またはその他の集積回路(IC)上で実装されてもよい。
ワイヤレスデバイス100のような電子デバイスは、通常、一連の製造ステップを経由する。電子デバイスは、1つまたは複数の製造ステップ中にセキュリティ攻撃に対して脆弱となり得る。
図2は、ワイヤレスデバイス100(または任意の電子デバイス)の例示的な製造プロセス200を示す。キー供給エンティティは、ワイヤレスデバイス100にハードウェア(HW)シークレットキーを確実に供給することができる(ステップ1)。キー供給エンティティは、(図2に示されるような)ワイヤレスデバイス100に使用されるICチップ(たとえば、ASIC)の集積回路(IC)チップ製造業者、またはその他のエンティティであってもよい。ハードウェアシークレットキーは、ワイヤレスデバイス100上のセキュアメモリ140に記憶されてもよい。
デバイス製造業者は、製造されるデバイスへのアクセスが信頼できる従業員のみに限定され得ない非セキュアな製造環境において、ワイヤレスデバイス100を製造または構築する場合がある。デバイス製造業者は、正規デバイス製造業者(ODM)(図2に示されるような)、相手先ブランド製造業者(OEM)、またはワイヤレスデバイス100を構築、組み立て、および供給する任意のエンティティであってもよい。デバイス製造業者は通常、ワイヤレスデバイス100上で、ソフトウェアをロードし、セキュリティパラメータをロードし、セキュリティ機能を使用可能にする(ステップ2)。
セキュアサーバは、ハードウェアシークレットキーを使用して、機密データをワイヤレスデバイス100に供給することができる(ステップ3)。セキュアデータ供給は通常、ワイヤレスデバイス100に機密データをロードするために安全な設備において実行される。セキュアデータ供給のために、セキュアサーバは、ハードウェアシークレットキーを使用して、ワイヤレスデバイス100とデータを安全に交換することができる。供給された機密データは、ワイヤレスデバイス100上のセキュアメモリ140に記憶されてもよい。
図2に示されるように、セキュリティパラメータは、製造プロセス中にワイヤレスデバイス100にロードされてもよい。セキュリティパラメータは、ワイヤレスデバイス100上でセキュリティのさまざまな態様を制御することができ、次の事項のうちの1つまたは複数を含むことができる。
デバイスの信頼のルート(RoT: root-of-trust)に関連する情報
どのソフトウェアがデバイス上で実行可能であるか、および/または、どのようにソフトウェアがデバイス上で動作可能であるかを制御する情報
特定のセキュリティ機能がデバイス上で使用可能または使用不可にされ得るかを制御する情報、および/または
その他のセキュリティ関連の情報
セキュリティパラメータは、ワイヤレスデバイス100の信頼のルートに関連する情報を含むことができる。信頼のルートは、ワイヤレスデバイス100上のすべてのセキュリティメカニズムの基盤となり得る。信頼のルートに関連する情報は、1つまたは複数の秘密ルートキーに対応する1つまたは複数の公開ルートキー、公開ルートキーの1つまたは複数の証明書などを含むことができる。秘密ルートキーは、ワイヤレスデバイス100に送信されたデータに署名するために使用されてもよい。対応する公開ルートキーは、秘密ルートキーで署名されているデータを認証するために使用されてもよい。たとえば、公開ルートキーは、後段において説明されるように、ワイヤレスデバイス100にロードされたソフトウェアを認証するためにセキュアブートにおいて使用されてもよい。
セキュリティパラメータは、どのソフトウェアがデバイス100上で実行可能であるか、および/または、どのようにソフトウェアがワイヤレスデバイス100上で動作可能であるかを制御することができる。たとえば、セキュリティパラメータは、ワイヤレスデバイス100での実行を許可されたソフトウェアを認証するために使用される公開キーを含むことができる。ソフトウェアは、公開キーに対応する秘密キーに基づいて署名されてもよく、ワイヤレスデバイス100に記憶されてもよい。ソフトウェアは、後段において説明されるように、ワイヤレスデバイス100での実行に先立って公開キーに基づいて認証されてもよい。
セキュリティパラメータは、特定のセキュリティ機能がワイヤレスデバイス100上で使用可能または使用不可にされ得るかを制御することができる。たとえば、セキュリティパラメータは、ワイヤレスデバイス100のセキュアブートが使用可能にされるかどうか、ワイヤレスデバイス100のデバッグ機能が、テストまたはデバッグ中にワイヤレスデバイス100の内部状態にアクセスできるようにするため使用不可にされ得るかなどを制御することができる。
一部のセキュリティパラメータは、複数の目的に適合することができる。たとえば、公開ルートキーは、ワイヤレスデバイス100の信頼のルートとしての役割を果たし、ならびにどのソフトウェアがワイヤレスデバイス100上で実行可能であるかを制御するために役立つことができる。
セキュリティパラメータは、ワイヤレスデバイス100上のセキュアメモリ140に記憶されてもよい。たとえば、セキュリティパラメータは、ワイヤレスデバイス100のプロセッサのICチップ上のOTP素子を使用して記憶されてもよい。OTP素子は、ヒューズの状態を介してデータを永続的に記憶するために製造中に1度溶断され得るヒューズにより実装されてもよい。
ソフトウェアおよびセキュリティ情報は、ワイヤレスデバイス100がソフトウェアの実行に先立ってソフトウェアを認証できるようにする方法で、ワイヤレスデバイス100に記憶されてもよい。ワイヤレスデバイス100に記憶されたソフトウェアを認証するための例示的なセキュリティメカニズムについては、後段において説明される。
図3Aは、ワイヤレスデバイス100にセキュリティ情報を記憶して、ワイヤレスデバイス100にロードされたソフトウェアの認証をサポートするためのプロセス300の例示的な設計を示す。プロセス300は、セキュアサーバまたはその他のエンティティによって実行されてもよい。
セキュアサーバにおいて、署名機能320は、公開キーX'を介してデジタル署名SR、および場合によっては秘密ルートキーRを使用してその他の情報を生成することができる。署名SRは、セキュアサーバであるソースエンティティを認証するために使用され得る。署名機能320は、RSA(Rivest-Shamir-Adleman)アルゴリズム、デジタル署名アルゴリズム(DSA)、または何らかのその他の暗号(デジタル署名または暗号化)アルゴリズムを実装することができる。証明書生成器322は、公開キーX'、署名SR、および場合によってはソースエンティティの識別子、使用のために選択された暗号化アルゴリズム、証明書の有効期限などのような他の情報を含む証明書CRを形成することができる。この証明書は、ワイヤレスデバイス100上のセキュアメモリ140(またはその他のメモリ)にX.509証明書として記憶されてもよい。公開ルートキーR'は、安全な方法でワイヤレスデバイス100に使用可能にされてもよく、ワイヤレスデバイス100上のセキュアメモリ140(たとえば、OTPメモリまたはROM)に記憶されてもよい。
セキュアハッシュ機能330は、ワイヤレスデバイス100にロードされたソフトウェアをハッシュすることができ、ハッシュダイジェストSを提供することができる。セキュアハッシュ機能330は、SHA-1、SHA-2、MD-5、または何らかのその他のセキュアハッシュアルゴリズムを実装することができる。署名機能332は、秘密キーXを使用してダイジェストSを介してデジタル署名SXを生成することができる。署名SXは、メモリ150に記憶されてもよい。署名機能332は、RSA、DSA、または何らかのその他の暗号化アルゴリズムを実装することができる。ソフトウェアは、ワイヤレスデバイス100上のメモリ150(またはその他のメモリ)に記憶されてもよい。
図3Bは、ワイヤレスデバイス100のセキュアブートのためのプロセス350の例示的な設計を示す。プロセス350は、後段において説明されるように、ワイヤレスデバイス100によって実行されてもよい。ワイヤレスデバイス100において、検証機能370は、セキュアメモリ140から証明書CRおよび公開ルートキーR'を受信することができる。検証機能370は、証明書CRから署名SRおよび公開キーX'を抽出し、公開ルートキーR'により署名SRを検証して、署名SRが検証される場合、公開キーX'を提供することができる。サードパーティによる証明書CRのいかなる改ざんも、検証していない署名SRによって容易に検出され得る。
セキュアハッシュ機能380は、メモリ150からソフトウェアを受信し、ソフトウェアをハッシュして、ハッシュダイジェストS'を提供することができる。セキュアハッシュ機能380は、図3Aにおいてセキュアハッシュ機能330によって使用されるものと同じセキュアハッシュアルゴリズムを実装することができる。検証機能390は、セキュアハッシュ機能380からダイジェストS'、メモリ150からデジタル署名SX、検証機能370から公開キーX'を受信することができる。検証機能390は、公開キーX'およびダイジェストS'によりデジタル署名SXを検証することができ、デジタル署名SXが検証されるかどうかを指示することができる。公開キーX'は、公開ルートキーR'により認証される。したがって、サードパーティによるデジタル署名SXおよび/またはソフトウェアによるいかなる改ざんも、検証していないデジタル署名SXによって容易に検出され得る。デジタル署名SXが検証される場合、ソフトウェアは使用のために提供されてもよい。それ以外の場合、エラーメッセージが提供されてもよい。
図3Aは、例示的なセキュアブートソフトウェア署名プロセスを示す。図3Bは、例示的なセキュアブートソフトウェア認証プロセスを示す。セキュアブートはまた、その他の方法で実装されてもよい。
通常の動作中に、ワイヤレスデバイス100は、ソフトウェアの実行に先立って、ワイヤレスデバイス100にロードされたソフトウェアを認証するためにセキュアブートを実行することができる。セキュアブートの場合、ワイヤレスデバイス100は最初に、公開キーX'の認証性を決定するために公開ルートキーR'により署名SRを認証することができる。公開キーX'が認証される場合、ワイヤレスデバイス100は、ソフトウェアの認証性を決定するために公開キーX'により署名SXを認証することができる。セキュアブートは、ワイヤレスデバイス100に許可されているソフトウェアのみがワイヤレスデバイス100上で実行され得ることを保証することができる。
ハードウェアシークレットキーは、一般に、システムオンチップ(SoC)ICのようなASIC上に供給され、ASICに外部のメモリに記憶されたデータを暗号化および復号するために使用される。このセキュリティメカニズムはまた、セキュアファイルシステムまたは暗号化ファイルシステムとしても知られる。ハードウェアシークレットキーは通常、公開/秘密キーとは別個のものである。ハードウェアシークレットキーは通常、デバイス内の機密を暗号化および復号するために使用される対称キーである。たとえば、ハードウェアシークレットキーは、暗号化データを、ソリッドステートディスク(SSD)、マルチメディアカード(MMC)、eMMCなどのような保護されていないデータ記憶装置に記憶する前にデータを暗号化するために使用されてもよい。多くのOEMは、それらの製造現場の従業員またはODM従業員を信頼していない。したがって、ほとんどのセキュリティ実施態様は、ソフトウェアがASIC上のハードウェアシークレットキーにアクセスできるようにはしていない。しかし、これらのセキュリティ実装態様は通常、ハードウェアシークレットキーがソフトウェアによって間接的に使用され得るようにする。この使用は、データの復号または暗号化を含むことができる。
ソフトウェアは、ASICの信頼のルート(RoT)に関係している認証メカニズムによって認証および検証された後に、信頼されるべきものと見なされてもよい。この認証メカニズムは通常、セキュアブートと称される。しかし、セキュアブートは、製造プロセス中には使用可能ではないことがある。
ハードウェアシークレットキーが供給され、セキュアブートが使用可能ではなく、信頼のルートが供給されていない汎用ASICをOEM/ODMに提供することは、一般的なことである。ハードウェアシークレットキーは、デバイスまたはASIC上のセキュアメモリに供給されてもよい。この段階において、デバイス上のソフトウェアの保全性を保護することができるセキュアブートおよび/またはその他のセキュリティメカニズムを使用可能にする前に、許可されていないソフトウェアがデバイスにロードされ、デバイスによって実行される可能性もある。デバイス上に供給されたいかなるセキュリティキーも、許可されていないソフトウェアによって操作され得る。これは、信頼できないODM/OEM製造業の従業員が、ハードウェアシークレットキーを使用してデータを操作したり、機密情報を暴露したり、またはハードウェアシークレットキーによって保護されたデータの保全性を脅かすような機会を与えてしまう。
したがって、ワイヤレスデバイス100は、(i)ハードウェアシークレットキーが、たとえば図2のステップ1においてICチップ製造業者によって、ワイヤレスデバイス100上に供給される時点から、(ii)セキュリティが、たとえば図2のステップ3においてOEMによって、ワイヤレスデバイス100上でロックされる時点まで、攻撃に脆弱となる可能性がある。この脆弱な期間中に、許可されていないソフトウェアがワイヤレスデバイス100に悪意をもってロードされ、ワイヤレスデバイスによって実行され、(i)ハードウェアシークレットキーにアクセスする、および/または、(ii)たとえばハードウェアシークレットキーがワイヤレスデバイス100上でソフトウェアによってアクセス可能ではない場合、ハードウェアシークレットキーを使用してデータを操作する可能性もある。
本開示の態様において、デバイスのセキュリティは、ハードウェアシークレットキー、ならびにデバイスに許可されたソフトウェアに関連し得る少なくとも1つのセキュリティパラメータに基づいてワーキングキーを生成することによって高められてもよい(および前述のセキュリティの弱点が効果的に対処され得る)。(ハードウェアシークレットキーではなく)ワーキングキーは、デバイス上のデータを暗号化および復号するために使用されてもよい。
図4は、ハードウェアシークレットキーに基づく従来の方法でデータを暗号化および復号するためのプロセス400を示す。(OEMに属してもよい)セキュアサーバ410において、暗号エンジン430は、デバイス450のハードウェアシークレットキー442によりデータを暗号化して、暗号化データを取得することができる。暗号エンジン430は、セキュアサーバ410のソフトウェア440による指示どおりに動作することができる。暗号化データは、デバイス450に送信されてもよい。
デバイス450において、暗号エンジン470は、セキュアサーバ410から暗号化データを受信することができ、デバイス450のハードウェアシークレットキー442により暗号化データを復号することができる。暗号エンジン470は、デバイス450のソフトウェア480による指示どおりに動作することができる。前述のように、ソフトウェア480は、デバイス450上でセキュアブートを使用可能にする前は、安全ではない可能性がある。この場合、悪意あるソフトウェアがデバイス450にロードされることがあり、(i)暗号エンジン470に暗号化データを復号するよう、および/または(ii)復号データを操作するように指示するために実行されることもある。
図5は、ワーキングキーに基づく新しい方法でデータを暗号化および復号するためのプロセス500の例示的な設計を示す。セキュアサーバ510において、片方向キー導出機能(DKF)522は、ハードウェアシークレットキー542、およびデバイス550に許可されたソフトウェアに関連し得る少なくとも1つのセキュリティパラメータ544に基づいて、デバイス550のワーキングキーを生成することができる。暗号エンジン530は、ワーキングキーによりデータを暗号化して、デバイス550に送信され得る暗号化データを取得することができる。
デバイス550において、キー導出機能522は、デバイス550のハードウェアシークレットキー542および少なくとも1つのセキュリティパラメータ544に基づいて、デバイス550のワーキングキーを生成することができる。暗号エンジン570は、セキュアサーバ510から暗号化データを受信することができ、ワーキングキーにより暗号化データを復号して、復号データを取得することができる。
セキュアサーバ510、ハードウェアシークレットキー542、および/またはセキュリティパラメータ544は、セキュアサーバ510内のセキュア記憶装置541に記憶されてもよい。キー導出機能522および暗号エンジン530は、ハードウェア、ソフトウェア、および/またはファームウェアにより実装されてもよく、セキュアサーバ510内のプロセッサ521によって実装されても(たとえば、実行されても)よい。
デバイス550において、ハードウェアシークレットキー542、および/またはセキュリティパラメータ544は、デバイス550のセキュアメモリ540に記憶されてもよい。たとえば、セキュアメモリ540は、OTPメモリ、およびハードウェアシークレットキー542を備えることができる、および/またはセキュリティパラメータ544は、OTPメモリのヒューズを溶断することによって記憶されてもよい。キー導出機能522および暗号エンジン570は、ハードウェア、ソフトウェア、および/またはファームウェアにより実装されてもよく、デバイス550内のプロセッサ520によって実装されても(たとえば、実行されても)よい。デバイス550は、図1のワイヤレスデバイス100の1つの例示的な設計であってもよい。セキュアメモリ540は、図1のワイヤレスデバイス100内のセキュアメモリ140に対応することができる。プロセッサ520は、図1のワイヤレスデバイス100内のプロセッサ122または124に対応することができる。
さまざまなキー導出機能が、セキュアサーバ510およびデバイス550においてキー導出機能522のために使用されてもよい。キー導出機能は、SHA-1(セキュアハッシュアルゴリズム)、SHA-2(SHA-224、SHA-256、SHA-384、およびSHA-512を含む)、MD-4(メッセージダイジェスト)、MD-5などのような1つまたは複数の暗号化ハッシュ機能を利用することができる。セキュアハッシュアルゴリズムは、入力メッセージと(疑似ランダムビットストリングである)出力ダイジェストとの間の機能が不可逆であり、2つの入力メッセージが同じダイジェストにマップする可能性が非常に低くなるような、暗号特性を有している。キー導出機能522は、公開されているNIST 800-108において説明されるように実装されてもよい。
図2に示されるように、セキュリティパラメータ(たとえば、信頼のルートに関連するセキュリティ情報およびセキュアブートに関連するセキュリティ情報)は、製造プロセスの一部としてワイヤレスデバイスのセキュアメモリに供給されてもよい。セキュリティパラメータの供給は通常、ハードウェアシークレットキーが既にワイヤレスデバイスに供給された後に行われる。セキュリティパラメータは通常、機密ではなく、許可されていないエンティティ(たとえば、製造の従業員)によって供給されてもよい。
図5に示されるように、キー導出機能は、デバイスに供給されているハードウェアシークレットキーおよび少なくとも1つのセキュリティパラメータに基づいて、ワーキングキーを生成するために使用されてもよい。セキュリティパラメータは、デバイスに許可されたソフトウェアに関連し得る。セキュリティパラメータはまた、デバイス上のシステムセキュリティレベルおよび/または固有の信頼のルートを決定することができる。ワーキングキーは、セキュリティパラメータが、たとえばOEMによって、デバイス上に供給された後に適正に生成されてもよい。ワーキングキーは、機密データを保護するためにOEMによって使用されてもよい。許可されていないソフトウェアは、デバイス上でのセキュリティパラメータの供給に先立って、デバイスに悪意をもってロードされる可能性もある。しかし、許可されていないソフトウェアは、セキュリティパラメータの正当なセットがなければ正しいワーキングキーを生成することはできない。さらに、不正確なセキュリティパラメータは、たとえば信用できない従業員など、許可されていないエンティティによってデバイスにロードされる可能性がある。しかし、正しいワーキングキーは、セキュリティパラメータの正当なセットがなければ生成されることはなく、データは引き続き保護されることになる。いずれの場合においても、正しいワーキングキーを利用することができないソフトウェアは、デバイス上のデータを適正に暗号化または復号することができない。
図6は、セキュリティを提供するためのプロセス600の例示的な設計を示す。プロセス600は、デバイス、またはセキュアサーバ、またはその他のエンティティによって実行されてもよい。ワーキングキーは、デバイスの少なくとも1つのセキュリティパラメータおよびシークレットキー(たとえばハードウェアシークレットキー)に基づいて(たとえばキー導出機能により)生成されてもよい(ブロック612)。少なくとも1つのセキュリティパラメータは、デバイス上の認証されるべきソフトウェアおよび/またはワイヤレスデバイスのセキュリティのその他の態様に関連付けられてもよい。少なくとも1つのセキュリティ機能は、ワーキングキーに基づいてデバイスに対して実行されてもよい(ブロック614)。ワーキングキーは、少なくとも1つのセキュリティ機能に対してソフトウェアによって直接的または間接的に使用されてもよい。少なくとも1つのセキュリティパラメータおよび/またはシークレットキーは、たとえばOTP素子などの、デバイス上のセキュアメモリに記憶されてもよい。
少なくとも1つのセキュリティパラメータは、デバイスのセキュリティのさまざまな態様を制御することができる。1つの設計において、少なくとも1つのセキュリティパラメータは、ソフトウェアが(またはどのソフトウェアが)デバイス上での実行に対して許可されているかどうかを決定することができる。もう1つの設計において、少なくとも1つのセキュリティパラメータは、デバイス上のソフトウェアに許可されている少なくとも1つの操作機能(またはソフトウェアがデバイス上でどのように使用され得るか)を決定することができる。さらにもう1つの設計において、少なくとも1つのセキュリティパラメータは、ソフトウェアがデバイスに対して許可されているかどうかを決定するために使用される公開キーを備えることができる。公開キーは、たとえば、図3Aおよび図3Bに示されるように、ソフトウェアに署名するために使用される秘密キーに対応することができる。少なくとも1つのセキュリティパラメータはまた、その他のタイプの情報を備えることもできる。
1つの設計において、シークレットキーは、第1のエンティティ(たとえば、ICチップの製造中、ICチップ製造業者)によってデバイスにロードされてもよい。少なくとも1つのセキュリティパラメータは、第1のエンティティとは異なっていてもよい第2のエンティティ(たとえば、OEMまたはODMデバイス製造業者)によってデバイスにロードされてもよい。1つの設計において、シークレットキーおよび少なくとも1つのセキュリティパラメータは、異なる時間にデバイスにロードされてもよい。シークレットキーおよび少なくとも1つのセキュリティパラメータは、異なるその他の特徴を有することもできる。
ブロック614の1つの設計において、デバイスのデータは、ワーキングキーにより暗号化または署名されてもよい。ブロック614のもう1つの設計において、デバイスのデータは、ワーキングキーにより復号または検証されてもよい。1つの設計において、少なくとも1つのセキュリティ機能は、ソフトウェアの制御の下で実行されてもよい。
少なくとも1つのセキュリティ機能は、ソフトウェアを認証するためのセキュアメカニズム(たとえば、セキュアブート)のアクティブ化に先立って、ソフトウェアによって実行されてもよい。ワーキングキーの使用は、セキュアメカニズムを介してソフトウェアを認証することなく、ソフトウェアがデバイス上で実行されるようにすることができる。
例示的な設計において、装置(たとえば、ASIC、ワイヤレスデバイス、電子デバイスなど)は、メモリおよびプロセッサを含む。メモリ(たとえば、図1のメモリ150)は、デバイスのソフトウェアを記憶することができる。プロセッサ(たとえば、図1のプロセッサ122または124)は、(たとえば、1つまたは複数のデータバスを介して)メモリに操作可能に結合されてもよい。プロセッサは、(i)デバイスの少なくとも1つのセキュリティパラメータおよびシークレットキーに基づいてワーキングキーを生成し、(ii)ワーキングキーに基づいてデバイスの少なくとも1つのセキュリティ機能(たとえば、暗号化、復号、署名、検証など)を実行することができる。プロセッサは、ソフトウェアを認証するためのセキュアメカニズム(たとえば、セキュアブート)のアクティブ化に先立って、少なくとも1つのセキュリティ機能を実行することができる。少なくとも1つのセキュリティパラメータは、メモリに記憶されているソフトウェアの認証に関連付けられてもよい。ワーキングキーは、少なくとも1つのセキュリティ機能に対してソフトウェアによって直接的または間接的に使用されてもよい。シークレットキーおよび少なくとも1つのセキュリティパラメータは、異なるエンティティによって、および/または異なる時間において、デバイスにロードされてもよい。第1のエンティティは、シークレットキーをデバイスにロードすることができ、その後第2のエンティティは、少なくとも1つのセキュリティパラメータをデバイスにロードすることができる。第1のエンティティはICチップ製造業者であってもよく、第2のエンティティはOEMまたはODMであってもよい。あるいは、第1のエンティティは信頼できる従業員であってもよく、第2のエンティティは、たとえば同じ製造現場または異なる場所の、信頼できない従業員であってもよい。装置は、シークレットキーおよび/または少なくとも1つのセキュリティパラメータを記憶するセキュアメモリをさらに含むことができる。少なくとも1つのセキュリティパラメータはまた、少なくとも1つのセキュリティパラメータの保全性がメモリによって保護される限り、装置上の非セキュアメモリに記憶されてもよい。
本明細書において開示されるセキュリティキー生成技法は、さまざまな利点をもたらすことができる。技法は、許可されていないソフトウェアが、セキュアブートのアクティブ化に先立つ製造の脆弱期間中に、ハードウェアシークレットキーを利用すること、またはデータを操作することを防ぐことができる。これは、OEM/ODMが、製造現場を安全にするためにさまざまなプロセスを実装する必要性を軽減することができる。本明細書において開示される技法によって提供されるその他の利点もあり得る。
当業者であれば、情報および信号が、多種多様な異なる技術および技法のいずれかを使用して表され得ることを理解するであろう。たとえば、上記の説明全体にわたり参照され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁場または磁性粒子、光学場または光学粒子、またはそれらの任意の組合せによって表されてもよい。
当業者であれば、本明細書において開示に関連して説明されるさまざまな例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップが、電子ハードウェア、コンピュータソフトウェア、またはその両方の組合せとして実装され得ることをさらに理解するであろう。ハードウェアおよびソフトウェアのこの互換性を明確に示すために、さまざまな例示的なコンポーネント、ブロック、モジュール、回路、およびステップは、概してそれらの機能に関して上記で説明されてきた。そのような機能がハードウェアまたはソフトウェアのいずれとして実装されるかは、全体的なシステムに課される特定のアプリケーションおよび設計の制約によって異なる。当業者は、各々特定のアプリケーションについて異なる方法で、説明されている機能を実装することができるが、そのような実装の決定は、本開示の範囲からの逸脱を生じさせるものと解釈されるべきではない。
本明細書において開示に関連して説明されるさまざまな例示的な論理ブロック、モジュール、および回路は、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特殊用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)またはその他のプログラマブル論理デバイス、ディスクリートゲートまたはトランジスタ論理、ディスクリートハードウェアコンポーネント、または本明細書において説明される機能を実行するように設計されたこれらの任意の組合せにより実装または実行されてもよい。汎用プロセッサは、マイクロプロセッサであってもよいが、代替策において、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態マシンであってもよい。プロセッサはまた、たとえばDSPとマイクロプロセッサの組合せのようなコンピューティングデバイスの組合せ、複数のマイクロプロセッサ、DSPコアと連動する1つまたは複数のマイクロプロセッサ、または任意の他のそのような構成として実装されてもよい。
本明細書において開示に関連して説明される方法またはアルゴリズムのステップは、ハードウェアにおいて、プロセッサによって実行されるソフトウェアモジュールにおいて、またはこの2つの組合せにおいて直接具現されてもよい。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、取り外し可能ディスク、CD-ROM、または当技術分野において知られている任意のその他の形態の記憶媒体に常駐することができる。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるように、プロセッサに結合される。代替策において、記憶媒体は、プロセッサに内蔵型であってもよい。プロセッサおよび記憶媒体は、ASIC内に常駐することができる。ASICは、ユーザ端末に常駐することができる。代替策において、プロセッサおよび記憶媒体は、ユーザ端末にディスクリートコンポーネントとして常駐することができる。
1つまたは複数の例示的な設計において、説明される機能は、ハードウェア、ソフトウェア、ファームウェア、またはその任意の組合せにおいて実装されてもよい。ソフトウェアにおいて実装される場合、機能は、コンピュータ可読媒体上に1つまたは複数の命令またはコードとして記憶または送信されてもよい。コンピュータ可読媒体は、1つの場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む、コンピュータス記憶媒体と通信媒体の両方を含む。記憶媒体は、汎用または特殊用途コンピュータによってアクセスされ得る任意の使用可能な媒体であってもよい。限定的ではなく、一例として、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM、CD-ROMまたはその他の光ディスク記憶装置、磁気ディスク記憶装置またはその他の磁気記憶装置、もしくは望ましいプログラムコード手段を命令またはデータ構造の形態で搬送または記憶するために使用され得る、汎用または特殊用途コンピュータ、もしくは汎用または特殊用途プロセッサによってアクセスされ得る任意の他の媒体を備えることができる。また、任意の接続が、コンピュータ可読媒体と適切に称される。たとえば、ソフトウェアがウェブサイト、サーバ、もしくは同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者線(DSL)、または赤外線、無線、マイクロ波のようなワイヤレス技術を使用するその他のリモートソースから送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または赤外線、無線、マイクロ波のようなワイヤレス技術は、媒体の定義に含まれる。本明細書において使用される場合、ディスク(diskおよびdisc)は、コンパクトディスク(CD)、レーザーディスク(登録商標)、光ディスク、デジタル多用途ディスク(DVD)、フロッピー(登録商標)ディスク、およびブルーレイディスクを含み、ディスク(disk)は通常データを磁気的に再生するが、ディスク(disc)はデータをレーザーにより光学的に再生する。上記の組合せも、コンピュータ可読媒体の範囲に含まれるものとする。
本開示の前述の説明は、当業者が本開示を作製または使用できるようにするために提供される。本開示へのさまざまな変更は、当業者には容易に明らかとなり、本明細書において定義される一般的原理は、本開示の範囲を逸脱することなくその他の変形に適用されてもよい。したがって、本開示は、本明細書において説明される例および設計に限定されることは意図されないが、本明細書において開示される原理および新しい特徴と合致する最大範囲が与えられるものとする。
120 デジタルモジュール
122 モデムプロセッサ
124 CPU/RISCプロセッサ
126 メインコントローラ
130 内部メモリ
132 ソフトウェア
140 セキュアメモリ
142 セキュリティキー
144 セキュリティパラメータ
146 ブートコード
148 メモリコントローラ
150 外部メモリ
152 ソフトウェア
158 I/Oコントローラ
320 署名機能
322 証明書生成器
330 セキュアハッシュ機能
332 署名機能
370 検証機能
380 セキュアハッシュ機能
390 検証機能
410 セキュアサーバ
430 暗号エンジン
440 ソフトウェア
442 デバイス450のHWシークレットキー
450 デバイス
470 暗号エンジン
480 ソフトウェア
510 セキュアサーバ
520 プロセッサ
521 プロセッサ
522 キー導出機能
530 暗号エンジン
540 セキュアメモリ
541 セキュア記憶装置
542 デバイス550のHWシークレットキー
544 デバイス550のセキュリティパラメータ
545 デバイス550のHWシークレットキー
550 デバイス
560 ソフトウェア
570 暗号エンジン

Claims (22)

  1. デバイスの少なくとも1つのセキュリティパラメータおよびシークレットキーに基づいてワーキングキーを生成するステップであって、前記少なくとも1つのセキュリティパラメータは前記デバイス上で認証されるべきソフトウェアに関連付けられる、ステップと、
    前記ワーキングキーに基づいて前記デバイスの少なくとも1つのセキュリティ機能を実行するステップであって、前記ワーキングキーは前記少なくとも1つのセキュリティ機能に対して前記ソフトウェアによって直接的または間接的に使用される、ステップと
    を備える、セキュリティを提供する方法。
  2. 前記少なくとも1つのセキュリティパラメータは、前記ソフトウェアが前記デバイス上での実行に対して許可されているかどうかを決定する、請求項1に記載の方法。
  3. 前記少なくとも1つのセキュリティパラメータは、前記デバイス上の前記ソフトウェアに許可されている少なくとも1つの操作機能を決定する、請求項1に記載の方法。
  4. 前記少なくとも1つのセキュリティパラメータは、前記ソフトウェアが前記デバイスに対して許可されているかどうかを決定するために使用される公開キーを備える、請求項1に記載の方法。
  5. 前記公開キーは、前記ソフトウェアに署名するために使用される秘密キーに対応する、請求項4に記載の方法。
  6. シークレットキーは第1のエンティティによって前記デバイスにロードされ、前記少なくとも1つのセキュリティパラメータは前記第1のエンティティとは異なる第2のエンティティによって前記デバイスにロードされる、請求項1に記載の方法。
  7. 前記シークレットキーおよび前記少なくとも1つのセキュリティパラメータは、異なる時間に前記デバイスにロードされる、請求項1に記載の方法。
  8. ワーキングキーを生成する前記ステップは、前記デバイスの前記少なくとも1つのセキュリティパラメータおよび前記シークレットキーに基づいてキー導出機能により前記ワーキングキーを生成するステップを備える、請求項1に記載の方法。
  9. 少なくとも1つのセキュリティ機能を実行する前記ステップは、前記ワーキングキーにより前記デバイスのデータを暗号化または署名するステップを備える、請求項1に記載の方法。
  10. 前記少なくとも1つのセキュリティ機能を実行する前記ステップは、前記ワーキングキーにより前記デバイスのデータを復号または検証するステップを備える、請求項1に記載の方法。
  11. 前記少なくとも1つのセキュリティ機能を実行する前記ステップは、前記ソフトウェアの制御の下に前記少なくとも1つのセキュリティ機能を実行するステップを備える、請求項1に記載の方法。
  12. セキュアメカニズムを介して前記ソフトウェアを認証することなく前記ソフトウェアを前記デバイス上で実行するステップをさらに備える、請求項1に記載の方法。
  13. 前記シークレットキーを前記デバイス上のセキュアメモリに記憶するステップと、
    前記少なくとも1つのセキュリティパラメータを前記デバイス上のセキュアメモリまたは非セキュアメモリに記憶するステップと
    をさらに備える、請求項1に記載の方法。
  14. デバイスの少なくとも1つのセキュリティパラメータおよびシークレットキーに基づいてワーキングキーを生成するための手段であって、前記少なくとも1つのセキュリティパラメータは前記デバイス上で認証されるべきソフトウェアに関連付けられる、手段と、
    前記ワーキングキーに基づいて前記デバイスの少なくとも1つのセキュリティ機能を実行するための手段であって、前記ワーキングキーは前記少なくとも1つのセキュリティ機能に対して前記ソフトウェアによって直接的または間接的に使用される、手段と
    を備える、装置。
  15. 前記シークレットキーおよび前記少なくとも1つのセキュリティパラメータは、異なるエンティティによって、または異なる時間において、またはその両方において、前記デバイスにロードされる、請求項14に記載の装置。
  16. 少なくとも1つのセキュリティ機能を実行するための前記手段は、前記ソフトウェアを認証するためのセキュアメカニズムのアクティブ化に先立って前記少なくとも1つのセキュリティ機能を実行するための手段を備える、請求項14に記載の装置。
  17. デバイスのソフトウェアを記憶するように構成されたメモリと、
    前記メモリに結合され、
    前記デバイスの少なくとも1つのセキュリティパラメータおよびシークレットキーに基づいてワーキングキーを生成するように構成され、前記少なくとも1つのセキュリティパラメータは前記ソフトウェアの認証に関連付けられ、
    前記ワーキングキーに基づいて前記デバイスの少なくとも1つのセキュリティ機能を実行するように構成され、前記ワーキングキーは前記少なくとも1つのセキュリティ機能に対して前記ソフトウェアによって直接的または間接的に使用される、プロセッサと
    を備える、装置。
  18. 前記シークレットキーおよび前記少なくとも1つのセキュリティパラメータは、異なるエンティティによって、または異なる時間において、またはその両方において、前記デバイスにロードされる、請求項17に記載の装置。
  19. 前記少なくとも1つのプロセッサは、前記ソフトウェアを認証するためのセキュアメカニズムのアクティブ化に先立って前記少なくとも1つのセキュリティ機能を実行するように構成される、請求項17に記載の装置。
  20. 少なくとも1つのコンピュータに、デバイスの少なくとも1つのセキュリティパラメータおよびシークレットキーに基づいてワーキングキーを生成させるためのコードであって、前記少なくとも1つのセキュリティパラメータは前記デバイス上で認証されるべきソフトウェアに関連付けられる、コードと、
    前記少なくとも1つのコンピュータに、前記ワーキングキーに基づいて前記デバイスの少なくとも1つのセキュリティ機能を実行させるためのコードであって、前記ワーキングキーは前記少なくとも1つのセキュリティ機能に対して前記ソフトウェアによって直接的または間接的に使用される、コードと
    を備える、コンピュータ可読記録媒体。
  21. 前記シークレットキーおよび前記少なくとも1つのセキュリティパラメータは、異なるエンティティによって、または異なる時間において、またはその両方において、前記デバイスにロードされる、請求項20に記載のコンピュータ可読記録媒体。
  22. 前記少なくとも1つのコンピュータに少なくとも1つのセキュリティ機能を実行させるための前記コードは、前記少なくとも1つのコンピュータに、前記ソフトウェアを認証するためのセキュアメカニズムのアクティブ化に先立って前記少なくとも1つのセキュリティ機能を実行させるためのコードを備える、請求項20に記載のコンピュータ可読記録媒体。
JP2016510706A 2013-04-23 2014-04-16 セキュリティパラメータに基づくワーキングセキュリティキーの生成 Active JP6509197B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/868,859 2013-04-23
US13/868,859 US9239920B2 (en) 2013-04-23 2013-04-23 Generation of working security key based on security parameters
PCT/US2014/034414 WO2014176101A1 (en) 2013-04-23 2014-04-16 Generation of working security key based on security parameters

Publications (3)

Publication Number Publication Date
JP2016520265A true JP2016520265A (ja) 2016-07-11
JP2016520265A5 JP2016520265A5 (ja) 2017-04-27
JP6509197B2 JP6509197B2 (ja) 2019-05-08

Family

ID=50771624

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016510706A Active JP6509197B2 (ja) 2013-04-23 2014-04-16 セキュリティパラメータに基づくワーキングセキュリティキーの生成

Country Status (6)

Country Link
US (1) US9239920B2 (ja)
EP (1) EP2989741B1 (ja)
JP (1) JP6509197B2 (ja)
KR (1) KR102239711B1 (ja)
CN (1) CN105144626B (ja)
WO (1) WO2014176101A1 (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150121054A1 (en) * 2013-10-31 2015-04-30 Advanced Micro Devices, Inc. Platform Secure Boot
US9542558B2 (en) * 2014-03-12 2017-01-10 Apple Inc. Secure factory data generation and restoration
US9195831B1 (en) * 2014-05-02 2015-11-24 Google Inc. Verified boot
US9667628B2 (en) 2014-11-06 2017-05-30 Intel Corporation System for establishing ownership of a secure workspace
EP3262514B1 (en) * 2015-09-14 2020-07-29 Hewlett-Packard Enterprise Development LP Secure memory systems
US20170076106A1 (en) * 2015-09-16 2017-03-16 Qualcomm Incorporated Apparatus and method to securely control a remote operation
US9917687B2 (en) 2015-10-12 2018-03-13 Microsoft Technology Licensing, Llc Migrating secrets using hardware roots of trust for devices
US9953167B2 (en) * 2015-10-12 2018-04-24 Microsoft Technology Licensing, Llc Trusted platforms using minimal hardware resources
US10268844B2 (en) * 2016-08-08 2019-04-23 Data I/O Corporation Embedding foundational root of trust using security algorithms
US10678924B2 (en) * 2016-08-10 2020-06-09 Qualcomm Incorporated Hardware-based software-resilient user privacy exploiting ephemeral data retention of volatile memory
EP3382590B1 (en) * 2017-03-31 2019-10-16 OMRON Corporation Method for initializing a computerized system and computerized system against rollback attacks
US10505931B2 (en) * 2017-06-02 2019-12-10 Nxp B.V. Method for authenticating an integrated circuit device
US11089475B2 (en) * 2018-11-06 2021-08-10 Red Hat, Inc. Booting and operating computing devices at designated locations
US11101984B2 (en) * 2019-04-04 2021-08-24 Micron Technology, Inc. Onboarding software on secure devices to generate device identities for authentication with remote servers
US11113424B2 (en) * 2019-05-07 2021-09-07 Motorola Solutions, Inc. Device, system and method for installing encrypted data
DE102019122806A1 (de) * 2019-08-26 2021-03-04 Infineon Technologies Ag Kryptografische Vorrichtung
KR20210097379A (ko) 2020-01-30 2021-08-09 삼성전자주식회사 보안 장치, 전자 장치, 보안 부트 관리 시스템, 부트 이미지 생성 방법 및 부트 체인 실행 방법
US11469890B2 (en) * 2020-02-06 2022-10-11 Google Llc Derived keys for connectionless network protocols
CN116738507B (zh) * 2023-08-14 2023-11-10 中科亿海微电子科技(苏州)有限公司 一种芯片鉴权方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003248629A (ja) * 2002-02-26 2003-09-05 Fujitsu Ltd 識別情報を有するリムーバブルディスク装置
JP2006092533A (ja) * 2004-09-23 2006-04-06 Hewlett-Packard Development Co Lp コンピュータセキュリティシステムおよび方法
JP2008152764A (ja) * 2006-11-15 2008-07-03 Avago Technologies Ecbu Ip (Singapore) Pte Ltd ソフトウェアプログラムの無許可のインストールを防ぐシステム及び方法
US20090202069A1 (en) * 2008-02-11 2009-08-13 Nvidia Corporation Method and system for generating a secure key
JP2009294859A (ja) * 2008-06-04 2009-12-17 Ricoh Co Ltd 機器、機器管理装置、機器管理システム及び機器管理方法、並びにプログラム及び記憶媒体
WO2011138852A1 (ja) * 2010-05-07 2011-11-10 パナソニック株式会社 情報処理装置、情報処理方法、及びプログラム配信システム

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001211171A (ja) * 2000-01-28 2001-08-03 Advantest Corp 機器認証装置、方法、機器認証プログラムを記録した記録媒体
US7203837B2 (en) 2001-04-12 2007-04-10 Microsoft Corporation Methods and systems for unilateral authentication of messages
US7216238B2 (en) * 2003-06-30 2007-05-08 Symbol Technologies, Inc. System and method for controlling usage of software on computing devices
US7940932B2 (en) * 2004-04-08 2011-05-10 Texas Instruments Incorporated Methods, apparatus, and systems for securing SIM (subscriber identity module) personalization and other data on a first processor and secure communication of the SIM data to a second processor
US8924728B2 (en) * 2004-11-30 2014-12-30 Intel Corporation Apparatus and method for establishing a secure session with a device without exposing privacy-sensitive information
ATE548703T1 (de) * 2005-10-31 2012-03-15 Research In Motion Ltd Sicheres lizenzschlüsselverfahren und -system
US8291226B2 (en) * 2006-02-10 2012-10-16 Qualcomm Incorporated Method and apparatus for securely booting from an external storage device
JP4795812B2 (ja) * 2006-02-22 2011-10-19 富士通セミコンダクター株式会社 セキュアプロセッサ
US8307215B2 (en) 2008-01-23 2012-11-06 Noam Camiel System and method for an autonomous software protection device
CN201181472Y (zh) * 2008-02-29 2009-01-14 北京华大恒泰科技有限责任公司 硬件密钥装置和移动存储系统
US20100014670A1 (en) 2008-07-18 2010-01-21 Texas Instruments Incorporated One-Way Hash Extension for Encrypted Communication
EP2520044B1 (en) 2009-09-29 2016-11-09 Memjet Technology Limited Communication system, method and device with limited encryption key retrieval
CN102473230A (zh) 2010-06-04 2012-05-23 松下电器产业株式会社 控制器、控制方法、计算机程序、程序记录介质、记录装置及记录装置的制造方法
US20120201379A1 (en) * 2011-02-04 2012-08-09 Motorola Solutions, Inc. Method and apparatus for protecting security parameters used by a security module

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003248629A (ja) * 2002-02-26 2003-09-05 Fujitsu Ltd 識別情報を有するリムーバブルディスク装置
JP2006092533A (ja) * 2004-09-23 2006-04-06 Hewlett-Packard Development Co Lp コンピュータセキュリティシステムおよび方法
JP2008152764A (ja) * 2006-11-15 2008-07-03 Avago Technologies Ecbu Ip (Singapore) Pte Ltd ソフトウェアプログラムの無許可のインストールを防ぐシステム及び方法
US20090202069A1 (en) * 2008-02-11 2009-08-13 Nvidia Corporation Method and system for generating a secure key
JP2009294859A (ja) * 2008-06-04 2009-12-17 Ricoh Co Ltd 機器、機器管理装置、機器管理システム及び機器管理方法、並びにプログラム及び記憶媒体
WO2011138852A1 (ja) * 2010-05-07 2011-11-10 パナソニック株式会社 情報処理装置、情報処理方法、及びプログラム配信システム

Also Published As

Publication number Publication date
JP6509197B2 (ja) 2019-05-08
CN105144626A (zh) 2015-12-09
US9239920B2 (en) 2016-01-19
EP2989741A1 (en) 2016-03-02
EP2989741B1 (en) 2018-01-31
WO2014176101A1 (en) 2014-10-30
KR20160004308A (ko) 2016-01-12
CN105144626B (zh) 2019-02-12
US20140317417A1 (en) 2014-10-23
KR102239711B1 (ko) 2021-04-12

Similar Documents

Publication Publication Date Title
JP6509197B2 (ja) セキュリティパラメータに基づくワーキングセキュリティキーの生成
US9875368B1 (en) Remote authorization of usage of protected data in trusted execution environments
CN108667608B (zh) 数据密钥的保护方法、装置和系统
CN109313690B (zh) 自包含的加密引导策略验证
CN109075976B (zh) 取决于密钥认证的证书发布
US9323950B2 (en) Generating signatures using a secure device
JP4912879B2 (ja) プロセッサの保護された資源へのアクセスに対するセキュリティ保護方法
JP4616345B2 (ja) 配布cdを用いて直接証明秘密鍵を装置に配布する方法
JP2022527757A (ja) 物理複製困難関数を使用したコンピューティングデバイスのidの生成
TW201502847A (zh) 運用一電腦處理器使用一安全非揮發儲存器之系統、方法及裝置
JP2007512787A (ja) トラステッド・モバイル・プラットフォーム・アーキテクチャ
CN104200156A (zh) 一种基于龙芯处理器的可信加密系统
EP3059897B1 (en) Methods and devices for authentication and key exchange
US20090193261A1 (en) Apparatus and method for authenticating a flash program
US8774407B2 (en) System and method for executing encrypted binaries in a cryptographic processor
KR20130008939A (ko) 휴대 단말기에서 단말 고유 정보의 복제를 방지하는 장치 및 방법
CN112311718A (zh) 检测硬件的方法、装置、设备及存储介质
CN110046489B (zh) 一种基于国产龙芯处理器的可信访问验证系统,计算机及可读存储介质
Cooijmans et al. Secure key storage and secure computation in Android
JP2015104020A (ja) 通信端末装置、通信端末関連付けシステム、通信端末関連付け方法、及びコンピュータプログラム
CN105873043B (zh) 一种用于移动终端的网络私匙的生成及应用方法及其系统
JP2016111440A (ja) 情報処理装置、及びコンピュータプログラム
Akram et al. Recovering from a lost digital wallet: A smart cards perspective extended abstract
CN111357003A (zh) 预操作系统环境中的数据保护
CN111641507B (zh) 一种软件通信体系结构组件注册管理方法和装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170323

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170323

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180604

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180903

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: 20190304

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190402

R150 Certificate of patent or registration of utility model

Ref document number: 6509197

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