JP2013545388A - ハードウェアデバイスの鍵プロビジョン方法および装置 - Google Patents

ハードウェアデバイスの鍵プロビジョン方法および装置 Download PDF

Info

Publication number
JP2013545388A
JP2013545388A JP2013536941A JP2013536941A JP2013545388A JP 2013545388 A JP2013545388 A JP 2013545388A JP 2013536941 A JP2013536941 A JP 2013536941A JP 2013536941 A JP2013536941 A JP 2013536941A JP 2013545388 A JP2013545388 A JP 2013545388A
Authority
JP
Japan
Prior art keywords
key
provision
hardware device
encrypted
derived
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
JP2013536941A
Other languages
English (en)
Other versions
JP5690412B2 (ja
Inventor
エフ. ブリッケル、アーニー
ゲロン、シェイ
リ、ジアンタオ
ブイ. ロサス、カルロス
ネミロフ、ダニエル
アール. スカラタ、ビンセント
アール. サバガオンカ、ウデイ
ピー. ジョンソン、サイモン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of JP2013545388A publication Critical patent/JP2013545388A/ja
Application granted granted Critical
Publication of JP5690412B2 publication Critical patent/JP5690412B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • 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/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • 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/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/73Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by creating or determining hardware identification, e.g. serial numbers

Landscapes

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

Abstract

プラットフォームにセキュリティを提供するための鍵材料を、オンラインおよびオフライン両方で、遠隔のプラットフォームに対してセキュアにプロビジョンする。鍵材料のセキュアなプロビジョンは、プラットフォームにインストールされるファームウェアの改定に基づいている。
【選択図】図1

Description

本開示は、概して情報処理分野に関し、特にコンピューティングシステムおよびマイクロプロセッサのセキュリティ分野に関する。
暗号アルゴリズムおよびこれを利用するプロトコルは、乱数に基づく鍵を必要とする。たとえば鍵は、ブロックまたはストリーム暗号に利用されるAES(Advanced Encryption Standard)およびDES(Data Encryption Standard)等の対称鍵アルゴリズムを利用する秘密/共有鍵、および、RSA(Rivest, Shamir, Adleman)およびDSA(Digital Signal Algorithm)等の非対称鍵アルゴリズムが利用する公開鍵/秘密鍵等であってよい。
トラステッドプラットフォームモジュール(TPM)は、トラステッドコンピューティングの特徴を利用可能とするためのトラステッドプラットフォームの仕様に合致した集積回路(デバイス)である。TMPの製造業者は、各TMPに非対称鍵をプロビジョンする。この非対称鍵は、暗号化のため、および、他の鍵を取得するために利用することができる。
請求されている主題の実施形態の特徴は、以下の詳細な記載を、図面を参照しながら読むことで明らかになる。図面では同様の参照番号が同様の部材を表している。
製造環境で初期鍵のプロビジョンを実行するシステムを示すブロック図である。 ハードウェアデバイスへのデバイス固有鍵110の基本的な初期製造プロビジョン方法を示すフローグラフである。 ハードウェアデバイスに対する、共有鍵保護を伴うデバイス固有鍵110の基本的な初期製造プロビジョン方法を示すフローグラフである。 ハードウェアデバイスへのデバイス固有鍵110のセキュアな初期製造プロビジョン方法を示すフローグラフである。 鍵生成サーバ、プロビジョンサーバ、および通信ネットワークに連結されたデバイスを含むプラットフォームを含むシステムを示す。 デバイスがプロビジョンサーバから鍵を取得するオンラインによる方法の一実施形態を示す。 デバイスに実装されている、暗号化鍵を復号する方法を示す。 トラステッドプラットフォームのトラステッドコンピューティングベース(TCB)の一実施形態を示すブロック図である。 図8のTCBのセキュリティの脆弱性から復旧するための方法を示すフローグラフである。 前の格納鍵を計算するために鍵生成を実行するためのハッシュチェイン方法の一実施形態を示すフローグラフである。 格納鍵を導出するために回復不可能なTCBが実行する方法の一実施形態を示すフローグラフである。 2レイヤのTCBのブロック図を示す。 復旧可能なレイヤを保護するためにハッシュチェインを利用するハイブリッド方法を示すブロック図である。 プラットフォームとプロビジョンサーバとの間にプロトコルをプロビジョンするデバイス認証鍵(DAK)の一実施形態を示す。 プラットフォームとプライバシーをサポートするためのプロビジョンサーバとの間に図14のプロトコルを再度プロビジョンするための一実施形態を示す。 格納鍵で暗号化したプラットフォームのDAKを格納するプロビジョンサーバとプラットフォームとの間のDAKバックアップ取得プロトコルの一実施形態を示す。 不揮発性書き換え可能メモリにP−SVNを格納する方法の一実施形態のフローグラフを示す。
以下の詳細な記載は、請求されている主題の例である実施形態を参照しながら行われるが、当業者であれば数多くの代替例、変更例、および変形例を想到する。したがって請求されている主題は広義にとらえられることを意図しており、その定義は、添付請求項のみによって行われることが意図されている。
プラットフォームにセキュリティを提供するために利用される鍵のプロビジョン方法の1つに、ハードウェアデバイスの製造業者が、ハードウェアデバイスの製造中に、プログラム可能な書き込みが一度だけ可能なメモリに、鍵(鍵材料)を永久的格納する、というものがある。鍵は、プラットフォームにハードウェアデバイスを設置する前にハードウェアデバイスに格納されてよい。たとえば書き込みが一度だけ可能なメモリは、ファームウェアもソフトウェアもアクセスできないハードウェアデバイスのセキュアな領域の複数のヒューズであってよい。
しかし、すべての鍵材料が、書き込みが一度だけ可能なメモリに格納されるので、デバイス製造業者は、製造プロセス中にハードウェアデバイスに鍵材料をプロビジョンすることしかできない。加えて、ハードウェアデバイスにセキュアにプロビジョンされる鍵の数が多いと、書き込みが一度だけ可能なメモリではこれに対応して大きな領域が必要とされ、プラットフォームへの追加費用が高くなる。
別の鍵材料プロビジョン方法として、デバイス製造業者が、固有の非対称デバイス認証鍵(DAK)を製造プロセス中に、書き込みが一度だけ可能なメモリに格納する、というものがある。後でプロビジョンサーバは、インタラクティブ型のプロビジョンプロトコルを用いてプラットフォームに設置されたハードウェアデバイスに遠隔操作によって鍵(送信鍵)をプロビジョンすることができる。ハードウェアデバイスから受けた、格納DAKを検証した後で、プロビジョンサーバが鍵材料をハードウェアデバイスに送信する。この方法の欠点には、ハードウェアデバイスに固有のDAKを格納するときに利用される、書き込みが一度だけ可能なメモリの領域のサイズ、書き込みが一度だけ可能なメモリに鍵を格納する製造業者のテストマシンによってセキュリティが脅かされる可能性、オフラインでのプロビジョンがサポートされないこと(つまり、ハードウェアデバイスが設置されているプラットフォームが利用できるインターネット接続が存在しない)、および、ハードウェアデバイスで、より大きなトラステッドコンピューティングベース(TCB)のサイズのためにより大きなメモリを必要とする、非対称鍵の演算が利用される点、が含まれる。
本発明の一実施形態では、鍵プロビジョン方法は、対称鍵を利用して、オンラインおよびオフラインのプロビジョン両方をサポートする。対称鍵は、メッセージの受信者および送信者両方ともにより、メッセージの暗号化および復号化の際に利用され、共有される。加えて、ハードウェアデバイスの製造中には、攻撃に対してセキュリティを提供する初期鍵プロビジョン方法を実行して、デバイス固有鍵110をハードウェアデバイスに格納する。鍵プロビジョンサーバは、製造テストマシンによりテストされる各ハードウェアデバイスの固有プロビジョン鍵を格納するプロビジョンデータベースを含む。プロビジョン鍵を利用することで、オフラインおよびオンラインのプロビジョンがサポートされる。
図1は、製造環境で初期鍵のプロビジョンを実行するシステム100を示すブロック図である。システム100は、ハードウェアデバイス102、製造テスタマシン104、および、鍵生成サーバ106を含む。製造テストマシン104および鍵生成サーバ106は、セキュアなチャネル108経由で通信する。セキュアなチャネルは、2つの実体の間の、認証されて暗号化されている通信チャネルのことである。たとえば、プラットフォームは、トランスポートレイヤセキュリティ(TLS)を利用して、サーバとの間にセキュアなチャネルをセットアップして、オンラインバンキングを実行することが可能である。
製造中に、デバイス固有鍵110は、鍵生成サーバ106によりハードウェアデバイス102に割り当てられて、ハードウェアデバイス102の保護されているメモリ109に格納される。このデバイス固有鍵110は、ハードウェアにより保護され、後の時点でも、ハードウェア102が後でインストールされるプラットフォームで実行されるソフトウェアには公開されない。ハードウェアデバイス102がインストールされるプラットフォームは、たとえばモバイルフォンまたはコンピュータであってよい任意のコンピュータデバイスであってよい。
一実施形態では、ハードウェアデバイス102はプロセッサであってよい。プロセッサとしては、シングルコアのIntel(登録商標)Pentium(登録商標) IV(登録商標)プロセッサ、シングルコアのIntel(登録商標)Celeronプロセッサ、Intel(登録商標)XScaleプロセッサ、または、Intel(登録商標)Pentium(登録商標) D、Intel(登録商標)Xeon(登録商標)プロセッサ、または、Intel(登録商標)Core(登録商標)Duoプロセッサ等のマルチコアのプロセッサ、または、任意の他の種類のプロセッサであってよい。別の実施形態では、ハードウェアデバイス102が、入出力デバイスとの間の通信を制御するために、プラットフォーム上のプロセッサに連結される集積回路であってもよい。集積回路は、互いに協働するよう設計されている、チップセットにおける複数の集積回路の1つであってよい。例えばチップセットの集積回路は、プロセッサを、メモリ、グラフィックコントローラ等の高速デバイスにリンクすることができ、チップセットの別の集積回路が、プロセッサを、周辺コントローラインターフェース(PCI)、ユニバーサルシリアルバス(USB)またはイーサネット(登録商標)等の通信プロトコルを介してアクセスされる低速の周辺機器にリンクさせることができてよい。
鍵生成サーバ106は、ハードウェアデバイス102に割り当てられるハードウェアデバイス固有鍵110、および、たとえばAES等の暗号復号アルゴリズムで利用可能な鍵等のプラットフォームが利用する他の鍵を含む鍵材料を生成するオフラインのサーバである。オフラインのサーバは、インターネットを介して外部の実体と直接相互作用しない、鍵生成のためのセキュアな機器である。鍵生成サーバ106は、セキュアで、保護された環境で動作する。ハードウェアデバイス102にデバイス固有鍵110を最初にプロビジョンする際に利用可能な方法は数多くある。利用される方法は、製造環境のセキュリティレベルに依存している。これら方法のうち3つを、図2から図4を参照して後述する。
図2は、ハードウェアデバイスへのデバイス固有鍵110の基本的な初期製造プロビジョン方法を示すフローグラフである。
ブロック200で、鍵生成サーバ106は、製造テストマシン104に連結されているハードウェアデバイス102に対してランダムにデバイス固有鍵を選択する。処理はブロック202に続く。
ブロック202で、鍵生成サーバ106は、テスト中のハードウェアデバイス102のデバイス固有鍵110を、セキュアなチャネル108を利用して製造テストマシン104に送信する。デバイス固有鍵110を受け取ると、製造テストマシン104は、デバイス固有鍵110を、保護されたメモリ109に格納するが、この、保護されたメモリ109は、ハードウェアデバイス102内のフラッシュメモリデバイス等の、書き込みが一度だけ可能なメモリまたは書き換え可能なメモリ等であってよい。一実施形態では、書き込みが一度だけ可能なメモリは、複数のヒューズを含み、固有鍵は、ヒューズを飛ばして、デバイス102にデバイス固有鍵110を永久格納することによって格納される。処理はブロック204に続く。
ブロック204で、鍵生成サーバ106は、様々な一方向関数を利用して、デバイス固有鍵からハードウェアデバイス102のためのプロビジョン鍵804およびプロビジョン識別子を導出する。プロビジョン鍵804およびプロビジョン識別子に関しては後述する。一方向関数を利用すると、プロビジョン鍵804およびプロビジョン識別子は、デバイス固有鍵110から導出されるが、プロビジョン鍵804またはプロビジョン識別子からは、デバイス固有鍵110は導出できない。一実施形態では、一方向関数は、鍵導出に利用される擬似乱数関数(PRF)(たとえばハッシュベースのメッセージ認証符号(HMAC)およびAES−CMAC(Advanced Encryption Standard-Cipher-Based Message Authentication Code)であってよい)である。プロビジョン識別子およびプロビジョン鍵804は、ハードウェアデバイス102に固有である。処理はブロック206に続く。
ブロック206で、鍵生成サーバ106は、デバイス固有鍵110から導出されるプロビジョン鍵およびプロビジョン識別子をプロビジョンデータベース112に格納して、後で、他のセキュリティ鍵をハードウェアデバイス102にオンザフィールドでプロビジョンするのに備えさせる。処理はブロック208に続く。
ブロック208で、鍵生成サーバ106は、プロビジョンデータベース112に格納されているプロビジョン鍵およびプロビジョン識別子(ID)を生成するために利用した、鍵生成サーバ106に格納されているデバイス固有鍵110のコピーを削除する。
図3は、ハードウェアデバイスへの、共有鍵保護が行われたデバイス固有鍵の初期製造プロビジョン方法を示すフローグラフである。セキュリティを向上させるために、鍵生成サーバ106は、各ハードウェアデバイス102埋め込まれた共有鍵でデバイス固有鍵を暗号化して、該ハードウェアデバイス102のみがデバイス固有鍵を復号できるようにしている。製造テストマシン104は、共有鍵を格納せず、共有鍵にアクセスもできない。したがって製造テストマシン104は、鍵生成サーバ106が生成したデバイス固有鍵110を復号することができない。
ブロック300で、テスト対象のハードウェアデバイス102の論理には、対称共有鍵(SK)が埋め込まれている。共有鍵は、複数のデバイスについて同じものである。共有鍵は、ハードウェアデバイス102および鍵生成サーバ106には知らされるが、製造テストマシン104には知らされない。一実施形態では、鍵生成サーバが共有鍵を生成する。鍵生成サーバ106は、各ハードウェアデバイス102についてランダムにデバイス固有鍵を選択する。鍵生成サーバ106は、鍵生成サーバ106が知らされた共有鍵を利用して、デバイス固有鍵を暗号化する。共有鍵には二つの目的がある。つまり、(1)悪意のある製造テスタに対する保護を追加すること、および、(2)デバイス102の製造後のデバイス固有鍵の保護を強化すること、である。処理はブロック302に続く。
ブロック302で、鍵生成サーバ106は、セキュアなチャネル108を利用して製造テストマシン104に、暗号化されているデバイス固有鍵を送信する。製造テストマシン104は、この暗号化されているデバイス固有鍵を、ハードウェアデバイス102の、保護されているメモリ109(たとえば書き込みが一度だけ可能なメモリ(ヒューズ))に格納する。ハードウェアデバイス102は、デバイス固有鍵の暗号化に鍵生成サーバ106が利用する共有鍵を格納しているので、ハードウェアデバイス102は、格納した暗号化されているデバイス固有鍵にアクセスして、共有鍵を用いて復号を行い、デバイス固有鍵を得ることができる。処理はブロック304に続く。
ブロック304で、鍵生成サーバ106は、図2の実施形態との関連で上述したように、デバイス固有鍵からプロビジョン識別子とプロビジョン鍵とを導出する。処理はブロック306に続く。
ブロック306で、鍵生成サーバ106は、自らが生成したデバイス固有鍵110を削除して、デバイス固有鍵110から導出したプロビジョン鍵およびプロビジョン識別子を、プロビジョンデータベース112に格納する。
図4は、ハードウェアデバイスへのデバイス固有鍵のセキュアな初期製造プロビジョン方法を示すフローグラフである。図4との関連で説明される方法は、デバイス固有鍵がデバイスで生成され、ほかのハードウェアデバイス102へ通信チャネル経由で送信されない点で、図2および図3との関連で説明する方法よりもセキュアである。ハードウェアデバイス102は、論理に埋め込まれた対称共有鍵(GK)を有している。GKは、ハードウェアデバイス102および鍵生成サーバ106は知らされるが、製造テストマシン104には知らされない。図3との関連で説明した実施形態で説明したGKに加えて、本実施形態では、ハードウェアデバイス102には、非対称鍵対(つまり、公開暗号鍵(PEK)および秘密復号鍵(PDK))が埋め込まれている。この非対称鍵対は、鍵生成サーバ106にも格納される。
ハードウェアデバイス102は、本発明の範囲外である公知の方法を利用して、固有デバイス鍵110を生成する。たとえば、固有デバイス鍵110は、ランダムゲート技術(a random gates technique)またはPUF(physically unclonable function)をファジー・エクストラクター(fuzzy extractor)により生成することができる。ハードウェアデバイス102は、デバイス固有鍵110からプロビジョン識別子(ID)およびプロビジョン鍵を導出して、PEKを利用して2つの鍵を暗号化して、共有鍵を利用して2つの鍵のメッセージ認証コード(MAC)を計算する。利用される関数の例は以下の通りとなる。
C1 = RSA-Enc(PEK, プロビジョン ID ||プロビジョン鍵),
C2 = MAC(GK, C1),
暗号文= C1 || C2.
RSA-Enc(K, M)は、RSA(Rivest, Shamir and Adleman)公開暗号鍵Kを利用してメッセージMのRSA暗号を行うことを示している。一実施形態では、メッセージ認証コード(MAC)関数がHMACである。別の実施形態では、MAC関数がAES−CMAC.5である。ハードウェアデバイス102は、暗号文(暗号化された鍵)を製造テストマシン104に出力する。
ブロック400で、鍵生成サーバ106は、製造テストマシン104からセキュアなチャネル108経由で暗号文を受信する。処理はブロック402に続く。
ブロック402で、鍵生成サーバ106は、各暗号文についてGKを利用してMACを検証して、PDKを利用して復号を行う。鍵生成サーバ106は、セキュアなチャネル108を介してセキュアにハードウェアデバイス102のプロビジョン鍵およびプロビジョンIDを取得する。一実施形態では、鍵生成サーバ106が、受信した暗号化に対して以下の関数を実行して、ハードウェアデバイス102に格納されているデバイス固有鍵110から導出される、プロビジョン識別子およびプロビジョン鍵を取得する。 C2=MAC(GK,C1)を、GKを用いて検証する
PDKを利用して、プロビジョン ID || プロビジョン鍵 = RSA-Dec(PDK, C1)とする
処理は、ブロック404に続く。
ブロック404で、鍵生成サーバ106が、プロビジョン識別子とプロビジョン鍵とをプロビジョンデータベース112に格納する。
ハードウェアデバイス102は、製造された後でOEM(Original Equipment Manufacturers)に送られて、プラットフォームに設置されてよい。通常、プラットフォームがエンドユーザに配信される。ハードウェアデバイスの製造業者は、ハードウェアデバイス102を含むプラットフォームのエンドユーザに対して、鍵を送信する(プロビジョンする)必要があると思われる。たとえば、ハードウェアデバイスの製造業者は、たとえばデバイス認証対称鍵、トラステッドプラットフォームモジュール(TPM)保証鍵、HDCP(High-bandwidth Digital Content Protection)鍵、またはAACS(Advanced Access Content System)デバイス鍵等のハードウェアデバイス102ごとに固有の鍵を含む鍵、または、共通鍵を、ハードウェアデバイス102に送信する(プロビジョンする)。
ハードウェアデバイス102に鍵を送信する前に、ハードウェアデバイス102に、製造した鍵のみを確実にプロビジョンするために、ハードウェアデバイスの製造業者は、鍵を、プロビジョンデータベース112に格納されている、ハードウェアデバイス102に関連付けられたプロビジョン鍵を利用して暗号化する。デバイス製造業者は、このプロビジョン方法を複数回行うことで、複数のハードウェアデバイス102に、製造した鍵をそれぞれプロビジョンすることができる。
鍵生成サーバ106のプロビジョンデータベース112は、製造テストマシン104によりテストされた各ハードウェアデバイス102のプロビジョン識別子およびプロビジョン鍵を格納する。あるプロビジョン識別子およびプロビジョン鍵に関連づけられたハードウェアデバイス102に対して鍵をプロビジョンするために、鍵生成サーバ106は、当該ハードウェアデバイス102にプロビジョンする鍵材料を準備する。鍵材料は、「鍵ブロブ」と称される場合もあり、TPM鍵等の1つの鍵であってもよいし、TPM鍵とHDCP鍵といったように、複数の鍵であってもよい。ハードウェアデバイス102ごとに異なる鍵材料が割り当てられてよい。
鍵生成サーバ106は、プロビジョン鍵を利用して鍵材料を暗号化することができる。暗号は、AES−GCM(Advanced Encryption Standard-Galois/Counter Mode)モードの暗号方式またはAES−CBC(Advanced Encryption Standard- Cipher Block Chaining)モードの暗号方式等の任意の暗号アルゴリズムが、擬似乱数関数(PRF)と組み合わせられた、任意の鍵ラップ(暗号)アルゴリズムにより実行することができる。AES−GCMおよびAES−CBCは、NIST規格のFIPS−197で定義されている。鍵生成サーバ106は、プロビジョンデータベース112を準備して、プロビジョンIDおよび対応する暗号化鍵をすべて格納する。
図5は、鍵生成サーバ106、プロビジョンサーバ500、および、ハードウェアデバイス102を含むプラットフォーム502が、通信ネットワーク504に連結されたシステムを示す。一実施形態では、システムはさらに、取り外し可能記憶媒体(CDまたはDVD)を有するCDまたはDVD等のディスクドライブであってよい記憶装置506を含む。
鍵生成サーバ106は、プロビジョンデータベース112の内容をプロビジョンサーバ500に送り、プロビジョンサーバ500が、通信ネットワーク504を介して、ハードウェアデバイス102が設置されているプラットフォーム502に鍵のオンラインでのプロビジョンを行うことができるようにする。プロビジョンデータベース112は、フラッシュメモリまたはCDまたはDVD等の不揮発性メモリデバイス等の取り外し可能な記憶媒体に格納して、ハードウェアデバイス102に対して鍵をオフラインでプロビジョンするようにしてもよい。
ハードウェアデバイス102がプラットフォームに設置されており(たとえばホストシステムに設置されており)、鍵が無効になっていると気づいた場合には、デバイスは、プロビジョンサーバ500にコンタクトするための要求を発行する。一実施形態では、要求は、ハードウェアデバイス102から、プラットフォーム502のホストネットワークスタックを介して、セキュアな通信チャネルを通ってプロビジョンサーバ500へと送信される。セキュアなチャネルは、人が介在する攻撃に対してロバストなので、ホストネットワークスタックが壊れている場合であっても、ファームウェアのみがプロビジョンIDおよびプロビジョン鍵にアクセスすることができることから、鍵プロビジョンのセキュリティは影響されない。
図6は、ハードウェアデバイス102がプロビジョンサーバから鍵を取得するオンラインによる方法の一実施形態を示す。
ブロック600で、プラットフォームのハードウェアデバイス102は、ハードウェアデバイスの保護されているメモリ109(ヒューズまたはランダムゲート等)に格納されているデバイス固有鍵を取得する。ハードウェアデバイス固有鍵110が暗号化されている場合には、ハードウェアデバイス102は、共有鍵(GK)を利用して復号化を行う。ハードウェアデバイス102は、上述したように鍵生成サーバ106と協働して、擬似乱数関数を利用することで、デバイス固有鍵からプロビジョンIDを導出する。処理はブロック602に続く。
ブロック602で、ハードウェアデバイス102は、セキュアなチャネルをセットアップするために、プロビジョンサーバ500との間での鍵交換プロトコルを開始する。一実施形態では、鍵交換プロトコルは、SSL(Secure Sockets Layer)/TLS(Transport Layer Security)セッションを利用して、プロビジョンサーバが認証されたものであるかを検証する。通信ネットワーク504経由でプロビジョンIDを明らかにすることに関してプライバシーの心配がない一実施形態では、セキュリティチャネルが不要であり、利用しない。処理はブロック604に続く。
ブロック604では、ハードウェアデバイス102がプロビジョンIDをプロビジョンサーバ500に通信ネットワーク(たとえばインターネット)を介してセキュアなチャネルで送る。処理はブロック606に続く。
ブロック606で、プロビジョンサーバ500は、プロビジョンデータベース112からプロビジョンIDを受信して、プロビジョンデータベースに格納されているプロビジョンIDに関連付けられた暗号化された鍵を取得する。ハードウェアデバイス102は、セキュアなチャネルを介してプロビジョンサーバ500から暗号化された鍵を受信する。
ハードウェアデバイス102が通信ネットワークにアクセスを有さない実施形態も可能であり、この場合には、ハードウェアデバイス102にセキュリティ機能を提供するために、鍵のプロビジョンが必要となる。取り外し可能な記憶媒体のプロビジョンデータベース112をハードウェアデバイス102のエンドユーザに提供することで、鍵を、ハードウェアデバイス102にオフラインでプロビジョンすることができる。エンドユーザは、取り外し可能な記憶媒体に含まれた形でプロビジョンデータベース全体を受け取るが、このプロビジョンデータベースのなかで、固有デバイス鍵から導出ししたハードウェアデバイスのプロビジョン鍵が暗号化した鍵のみを利用することができる。
ハードウェアデバイス102は、オフラインのプロビジョンでも、オンラインプロビジョンで説明した方法を利用してプロビジョンIDを取得する。しかし、プロビジョンIDを通信ネットワークで送信する代わりに、ハードウェアデバイス102は、プロビジョンIDに関連付けられている暗号化された鍵を求めて、ローカルのプロビジョンデータベースを検索することもできる。
図7は、ハードウェアデバイス102に実装されている、暗号化鍵を復号する方法を示す。図7に示す方法は、オンラインまたはオフラインプロビジョンを利用してプロビジョンされた暗号化鍵に関するものである。
ブロック700で、ハードウェアデバイス102は、ハードウェアデバイス102に格納されている、自身のデバイス固有鍵110を取得する。処理はブロック702に続く。
ブロック702で、ハードウェアデバイス102は、デバイス固有鍵110から、一方向擬似乱数関数(PRF)を利用して、プロビジョン鍵および格納鍵を導出する。導出された格納鍵は、プラットフォームの任意の秘密を隠すために利用することができる。導出されたプロビジョン鍵をプロビジョンに利用する。処理はブロック704に続く。
ブロック704で、ハードウェアデバイス102は、導出されたプロビジョン鍵を利用して、図6を参照して説明したオンラインまたはオフライン鍵プロビジョン方法を利用して取得された暗号化された鍵を復号する。処理はブロック706に続く。
ブロック706で、ハードウェアデバイス102は、セキュアなストレージにローカルに、暗号化鍵を格納する。別の実施形態では、暗号化された鍵は、格納鍵と擬似乱数関数とを利用して再度暗号化することができ、この再度行われた暗号化の結果は、受信された暗号化された鍵の代わりに、ローカルにセキュアなストレージに格納することができる。
ハードウェアデバイス102は、鍵材料を暗号化するために利用されるプロビジョン鍵を導出することができるので、ハードウェアデバイス102の製造業者から鍵材料(暗号化された鍵)を遠隔で成功裏に取得することができる。攻撃者(たとえばマルウェア)は、擬似乱数関数とともに利用されてプロビジョン鍵が導出されるデバイス固有鍵110なしに、ハードウェアデバイス製造業者から鍵材料を取得することはできない。攻撃者は、取り外し可能な記憶媒体を介してプロビジョンデータベースにアクセスを有する場合はあるが、攻撃者は、有効なプロビジョン鍵なしには暗号化された鍵を復号することはできない。図3との関連で説明した共有鍵を利用する実施形態では、製造テストマシン104が壊れている場合には、攻撃者は、すべてのデバイス固有鍵が製造テストマシン104にはわからない共有鍵によって暗号化されているために、製造業者から暗号化された鍵を取得することができない。図4との関連で説明した実施形態では、製造テストマシン104が共有鍵について知っていたとしても、デバイス固有鍵またはプロビジョン鍵のことを知ることはできない。
小型の、書き込みが一度だけ可能なメモリは、ハードウェアデバイス102を悪意のある攻撃者から守るために利用される他の鍵を導出するために利用されるハードウェアデバイス102の信頼の連鎖(root of trust)として、デバイス固有鍵を格納する。一実施形態では、書き込みが一度だけ可能なメモリは、128ビットである。別の実施形態では書き込みが一度だけ可能なメモリが256ビットである。他の実施形態では、書き込みが一度だけ可能なメモリは、128ビットまたは192ビット、または、対称暗号で利用される鍵の長さに応じた別のサイズである。製造プロセス中にハードウェアデバイス102に鍵を格納する方法は、悪意のある製造テストマシン104に対してロバストであるが、これは、デバイスの製造が他の実体に委託される場合には重要である。少なくともプロセッサと1以上の集積回路を有するチップセットを含むプラットフォームでは、チップセットの各集積回路およびプロセッサは、デバイス固有鍵を有するセキュリティエンジンを含みうる。鍵のプロビジョンは簡単でスケーリング可能であり、対称鍵演算を利用するために、トラステッドコンピューティングベース(TCB)のサイズを低減させることができる。
トラステッドプラットフォームは、通常、実行環境の設定を証明するため、または、プラットフォームの認証のために、デバイス認証鍵(DAK)を有している。DAKは、図6から図7を参照して説明したオンラインまたはオフラインのプロビジョン方法を利用してトラステッドプラットフォームにプロビジョンすることができる。トラステッドプラットフォームはさらに、プラットフォーム鍵および秘密を暗号化するために利用される格納ルート鍵(SRK)を有してよい。一実施形態では、DAKは、DAA(Direct Anonymous Attestation)鍵または任意の他の種類のデジタル署名鍵であってよい。
DAAは、匿名の署名を提供するための暗号プロトコルである。DAAは、トラステッドプラットフォームモジュール(TPM)専用に設計される。DAAは、トラステッドプラットフォームのユーザのプライバシーを守りつつ、トラステッドプラットフォームを遠隔に認証することができる。
例えばプラットフォームの悪意のある攻撃(たとえばソフトウェアウィルス)に対するプラットフォームのトラステッドコンピューティングベース(TCB)の脆弱性が見つかると、プラットフォームに別のバージョンのファームウェアをインストールすることで脆弱性を是正することができる。しかしプラットフォームは、他の実体(外部の実体)によってファームウェアの脆弱性が是正されたことを暗号的に証明することはできない。
図8は、トラステッドプラットフォームのトラステッドコンピューティングベース(TCB)800の一実施形態を示すブロック図である。
トラステッドコンピューティングベース800の鍵構造では、プラットフォーム502のハードウェアデバイス102に埋め込まれたデバイス固有鍵110が存在している。デバイス固有鍵110は、ハードウェアデバイス102の保護されたストレージ109に永久的に格納されている。このデバイス固有鍵110は、プラットフォームの他の鍵の「ルート鍵」であり、トラステッドコンピューティングベース800のいくつかの他の鍵(たとえば、プロビジョンID802、プロビジョンベース鍵822、プロビジョン鍵804、および格納鍵806)が、このデバイス固有鍵110から導出される。
プロビジョンID802およびプロビジョン鍵804は、鍵プロビジョンサーバ500から固有のDAK鍵をダウンロードするために利用される。格納鍵806は、DAK鍵を含む、プラットフォーム502の鍵および秘密を暗号化するために利用される。
TCB802内のアップグレードされたファームウェアを機能させるためには、これら導出鍵(たとえばプロビジョンID802、プロビジョン鍵804、および格納鍵806)にアクセスする必要がある。固有識別子は、ファームウェアの異なるバージョンを識別するように割り当てられている。一実施形態では、固有識別子は、不揮発性メモリの復旧不可能なファームウェアコード818に格納され、復旧不可能なTCB810が読み出すことができるセキュリティバージョン番号(SVN)808である。他の実施形態では、ファームウェアの異なるバージョンを識別するための固有識別子を割り当てる代わりに、ファームウェアの画像の各バージョンに対して暗号関数を実行することにより、各ファームウェアのバージョンの固有識別子を導出することができる。
デバイス固有鍵110から導出した鍵(つまり、プロビジョンID802、プロビジョン鍵804、および格納鍵806)は、復旧不可能として指定され、「復旧不可能なTCB」と称される場合もあるTCB810の署名検証部分で計算される。プロビジョン鍵804および格納鍵806は、セキュリティバージョン番号808に基づいて導出され、TCB810の署名検証部分から、TCB800の復旧可能部分に出力される。鍵がデバイス固有鍵110から導出された後で、TCB810の署名検証部分は、デバイス固有鍵110へのアクセスを「ロック」して、TCB800の復旧可能な部分が、デバイス固有鍵110(たとえば未加工の「ルート鍵」)にアクセスしないようにする。プロビジョン鍵804および格納鍵806が、TCBの復旧可能な部分に格納されると、TCB800のSVN808に更新があった場合、プロビジョン鍵804および格納鍵806が更新される。たとえば鍵の導出は、デバイスの起動時に復旧可能なTCB810内で実行される。新たなファームウェアがプラットフォームにインストールされるたびに、デバイスの再起動が実行されて、これにより新たなプロビジョン鍵および格納鍵がデバイスの再起動中に計算されることになる。
図9は、TCB800のセキュリティの脆弱性から復旧するための方法を示すフローグラフである。セキュリティの脆弱性が復旧可能なTCBで見つかると、TCBの復旧をトリガする。
ブロック900で、TCB800にセキュリティの脆弱性が見つかると、プラットフォーム/ハードウェアの製造業者は、脆弱性を是正するソフトウェア修正を含むファームウェアの新たなバージョンを生成する。ファームウェアの新たなバージョンには、セキュリティバージョン番号808が割り当てられる。ファームウェアがマルウェアではなく、プラットフォーム/ハードウェア製造業者のものであることを検証するために、ファームウェアの新たなバージョンには、ハードウェアの製造業者のデジタル署名(暗号化)がなされている。復旧可能なTCB810は、製造業者の公開鍵(つまり、ハードウェアデバイス102に埋め込まれているファームウェア検証鍵)を利用して署名を検証することができ、新たなファームウェア画像が、ハードウェアの製造業者からのものであり、マルウェアではないことを確かめることができる。製造業者は、この新たなファームウェア画像を公知の方法(たとえばOEM(Original Equipment Manufacturer)またはソフトウェア製造業者のソフトウェアアップデート)を利用して各プラットフォームに配信することができる。処理はブロック902に続く。
ブロック902で、ファームウェアの新たなバージョンがプラットフォームにインストールされた後で、TCB800の署名検証部分が、プラットフォームのハードウェアデバイス102に埋め込まれているファームウェア検証鍵820を利用して、復旧可能なTCBの新たなファームウェアの署名を検証する。TCB810の署名検証部分は、ファームウェアに埋め込まれている新たなファームウェアのセキュリティバージョン番号(SVN)808を取得して、ハードウェアデバイス102に格納されているデバイス固有鍵110を取得する。プロビジョンID802およびプロビジョンベース鍵822が、デバイス固有鍵110から導出される。プロビジョン鍵804は、プロビジョンベース鍵822およびSVN808から導出される。格納鍵806は、デバイス固有鍵110およびSVN808から導出される。これらの鍵の導出方法については後述する。導出されたプロビジョン鍵ID802、プロビジョン鍵804、および格納鍵806は、復旧可能なTCBに送られる。処理はブロック804に続く。
ブロック906で、新たなDAKを新たなバージョンのファームウェアについて生成する。TCBの復旧がトリガされると、ハードウェアの製造業者は、DAKを、ファームウェアの新たなバージョンを受信した各プラットフォーム502に再度プロビジョンして、セキュリティの脆弱性を是正する。鍵生成サーバ106は、DAKを生成して、それぞれのプラットフォームに通信ネットワーク504経由で送信する。前述したように、鍵生成サーバ106のプロビジョンデータベース112は、プロビジョンID802およびプロビジョンベース鍵822を、製造テストデバイスがテストした各ハードウェアデバイス102について格納する。プロビジョン鍵804は、格納されているプロビジョンベース鍵822から、最新のセキュリティバージョン番号808に基づいて導出される。一実施形態では、選択される鍵導出方法が、ブロック904で利用されるものと同じである。新たな固有のDAKがハードウェアデバイス102について生成されて、プロビジョン鍵804を利用して暗号化される。任意の対称暗号アルゴリズム(たとえばAES−GCM)を利用することができる。鍵生成サーバ106は、各データベースエントリがプロビジョン鍵804と対応する暗号化されたDAKとを有するようなDAKプロビジョンデータベースを準備する。鍵生成サーバ106は、DAKプロビジョンデータベースを鍵プロビジョンサーバ500に送信する。各プラットフォームは、鍵プロビジョンサーバ500から新たなDAKをダウンロードする。
復旧可能なTCBは、プロビジョンID802とプロビジョン鍵804とを有し、プロビジョンプロトコルを利用してプロビジョンサーバ500と通信して、プラットフォーム502から新たなDAK鍵を取得する。プラットフォーム502は、自身のプロビジョンID802を、プロビジョンサーバ500の公開鍵を利用して暗号化して、暗号化されたプロビジョンIDをプロビジョンサーバ500に送る。プロビジョンサーバ500は、受信した暗号されているプロビジョンIDを、秘密鍵を利用して復号して、要求を発するプラットフォーム502の、暗号化されていないプロビジョンID802を得る。プロビジョンサーバ500は、プラットフォーム502のハードウェアデバイス102のために新たなプロビジョン鍵により暗号化された、新たな暗号化DAK鍵を格納するプロビジョンID802に対応するエントリを求めて、DAKプロビジョンデータベースを検索する。プロビジョンサーバ500は、暗号化された新たなDAKをプラットフォーム502に送る。プラットフォーム502は、新たなDAKを、新たなプロビジョン鍵を利用して復号する。プラットフォーム502は、新たなDAKを、自身の新たな格納鍵806を用いて再度暗号化して、暗号化された新たなDAKをセキュアに格納する。暗号化された新たなDAKは、プラットフォーム502の不揮発性メモリに格納される。不揮発性メモリはBIOSフラッシュメモリ、チップセットフラッシュメモリ、固体ドライブ、または、ハードディスクドライブであってよい。DAKが格納鍵により暗号化されているために、不揮発性メモリが攻撃者により万一アクセスされた場合であっても、攻撃者はDAKを復号することができない。
プラットフォーム502が、セキュリティの脆弱性を是正するために新たなファームウェアをインストールしていない場合には、最新のSVNに対応する新たなプロビジョン鍵804を導出することができない。したがって、プラットフォーム502は、たとえ暗号化された新たなDAKをプロビジョンサーバ500から受け取った場合であっても、新たなDAKを復号することができない。処理はブロック908に続く。
ブロック908で、プラットフォーム502が、新たなSVNを有する新たなファームウェアをインストールすると、さらに、新たなSVNに対応する新たな格納鍵806も有することになる。ファームウェアがアップグレードされる前に、プラットフォーム502は、プラットフォーム鍵材料と秘密とを、古いSVNに対応する古い格納鍵806を利用して暗号化しているはずである。したがってプラットフォーム502は、鍵の移行を行う(つまり、新たな格納鍵を利用して、すべてのプラットフォーム鍵材料を再度暗号化する)。古い格納鍵で暗号化した各データアイテムについて(鍵材料であっても秘密であっても)、プラットフォーム502は、古い格納鍵を利用して復号を行い、暗号化されていないデータの整合性を検証する。プラットフォーム502は、次に、新たな格納鍵を利用してデータを再度暗号化して、暗号化されたデータをプラットフォームの不揮発性メモリに格納する。上述したように、不揮発性メモリとは、TCB以外のメモリのことである。
攻撃者がTCBファームウェアの古いバージョンを破壊して、古いバージョンに関連付けられている格納鍵806を抽出してしまっている場合には、ファームウェアを更新した後であっても攻撃者がプラットフォームの秘密(新しいDAKを含む)を復号できてしまうことから、新たな格納鍵を導出する。
現在の復旧可能なTCTにソフトウェアの脆弱性が見つかった場合には、脆弱性を直す復旧可能なTCBファームウェアを更新して、新たなSVN808を割り当てることによって、復旧することができる。TCBの古いバージョンは、新たなプロビジョン鍵804または新たな格納鍵806がそれぞれ新たなSVN808を利用して導出されることから、新たなDAK鍵をダウンロードしてラップする(暗号化する)ために利用されるこれら鍵にアクセスしたり導出したりすることはできない。加えて、プラットフォーム502の製造業者は、前のTCBバージョンに関連付けられているDAKを無効化することができる。新たなDAKをダウンロードした後で、各プラットフォーム502は、この新たなDAKを利用して、暗号的に、TCB800のどのバージョンが利用されているかを証明することができる。
復旧可能なTCBが、脆弱性を是正する新たなファームウェアでアップグレードされていない場合には、復旧可能なTCBは、最新のSVNのプロビジョン鍵804を取得することができないので、DAK鍵の現在のバージョンを取得することができない。さらに、復旧可能なTCBが、鍵の移行目的で前の格納鍵824へのアクセスを得て、復旧可能なTCBが新たなSVNにアップグレードされている場合には、新たな復旧可能なTCBは、前のバージョンのデータと鍵とを復号して、これらを新たな格納鍵を利用して暗号化することができる。
次に、鍵を導出して、前の格納鍵を計算する方法を説明する。一実施形態では、SVNに割り当てられている初期値が1であり、新たなファームウェアの更新が行われるたびに、SVNを1ずつ増分する。SK[i]は、SVNiに対応する格納鍵のことを示す。プロビジョンIDおよびプロビジョン鍵804は、以下のようにして計算される。
プロビジョンID = PRF(デバイス固有鍵, "プロビジョンID"),
プロビジョンベース鍵= PRF(デバイス固有鍵, "プロビジョンベース鍵"),
プロビジョン鍵 = PRF(プロビジョンベース鍵, "プロビジョン鍵" || SVN).
一実施形態では、復旧可能なTCBが、前の格納鍵824すべてを、i=1、…に対して、SVNについて、SK[i]=PRF(デバイス固有鍵"格納鍵"||i)、として計算する。
次に、復旧不可能なTCBが、すべての格納鍵を復旧可能なTCBに送信する。
別の実施形態では、前の格納鍵を1つだけ計算する。格納鍵806が保護するデータのストレージを制御するプラットフォーム502は、現在の格納鍵と、前の格納鍵とに対するアクセスのみを必要とする。前の格納鍵とは、直前のファームウェア更新が行われる前にプラットフォーム502が利用していた格納鍵のことである。
ファームウェアは、前のSVNを利用してすべての既存のデータを復号してから、現在のSVNを利用してデータを暗号化することができ、こうすることで、この遷移中以外に古いSVN鍵が不要となる。復旧不可能なTCB810は、2つの格納鍵(つまり、現在のSVN用の第1の格納鍵806と、前のSVN用の第2の格納鍵824)を出力する。プラットフォームのユーザは一部のファームウェアのアップグレードを省くことがあるので、前のSVN(pSVN)は、SVN−1ではない場合もある。復旧不可能なTCB802は以下を計算する。
SK[SVN] = PRF(デバイス固有鍵, "格納鍵" || SVN).
SK[pSVN] = PRF(デバイス固有鍵, "格納鍵" || pSVN).
SVNは現在の鍵であり、pSVNは前のSVNであり、PRFは擬似乱数関数である。
SVN808は、TCB800のファームウェアから入手可能である。pSVNは、格納されている不揮発性メモリから復旧可能なTCB810に提供することができる。たとえばチップセットTCB復旧を実装するときに、プラットフォームが、BIOS(Built In Operating System)のフラッシュ分割テーブル(FPT)パーティションにpSVNを格納する。プロセッサTCB復旧を実装する実施形態では、前の格納鍵を、pSVNを利用せずに導出することができる。
図10は、前の格納鍵を計算するために鍵生成を実行するためのハッシュチェイン方法の一実施形態を示すフローグラフである。保護されるデータを格納する領域(部分)を制御しないプラットフォーム502において、前から保護されているデータに適切なアクセスを保証するためには、前の格納鍵824が複数必要となる。
ブロック1000で、復旧可能なTCBファームウェアから現在のSVN808が読み出される。処理はブロック1002に続く。
ブロック1002で、最大数の復旧可能な前のSVN(「n」)がある。たとえば一実施形態では、復旧可能な前のSVNの最大数は32であってよい。現在のSVNが、復旧可能な前のSVNの最大数未満である場合には、処理はブロック1004に続く。そうではない場合には、SVNがnより大きいので、プロビジョン鍵および格納鍵が導出できず、TCBを復旧できない。
ブロック1004で、最大数の復旧可能な格納鍵に対応する格納鍵の値をSK[n] = PRF(デバイス固有鍵, "格納鍵" || n)として計算する。処理はブロック1006に続く。
ブロック1006で、最大数−1までのすべての格納鍵をSK[i] = ハッシュ(SK[i+ 1 ]) (i = 1 , ... , n- 1)のようにして計算する。
SK[i]が与えられると、すべての前のファームウェアバージョンの格納鍵は、ハッシュ関数を計算することで得られる。しかしSK[i]が所与であっても、格納鍵の将来のバージョンは、デバイス固有鍵110なしには導出できない。処理はブロック1008に続く。ブロック1008で、SK[SVN]を出力する。
復旧不可能なTCB810は、格納鍵806を1つ出力するだけでよい。しかし、前の格納鍵の最大数が増加すると、格納鍵を導出する際の計算量が増加するが、前の格納鍵の最大数を小さくすると、復旧できる前の格納鍵の数も小さくなる。
また別の実施形態では、一部の格納鍵を直接デバイス固有鍵110から導出して、他の格納鍵は次のバージョンのハッシュから計算する。格納鍵の値は以下のように定義されている。
SK[i] = PRF(デバイス固有鍵, "格納鍵" | | i) (iがnの乗数である場合)
SK[i] = ハッシュ(SK[i+l]) (iが nの乗数ではない場合)
nはチェックポイントの整数である。
図11は、格納鍵を導出するために回復不可能なTCBが実行する方法の一実施形態を示すフローグラフである。
ブロック1100で、SVN808は、復旧不可能なTCBファームウェアから読み出される。処理はブロック1102に続く。
ブロックで、現在の格納鍵を、デバイス固有鍵110を以下のように利用して導出する。
m = [SVN / n]とする。
SK[m-n] = PRF(デバイス固有鍵, "格納鍵" || m-n);
i = mn-1, …, SVNについて, SK[i] = ハッシュ( SK[i+l] ).
処理は、ブロック1104に続く。
ブロック1104で、前の格納鍵を、現在の格納鍵を利用して以下のように計算する。
i = 1 , . . , m - 1について , SK[i-n] = PRF(デバイス固有鍵, "格納鍵" II i-n)を計算する。 処理は、ブロック1106に続く。
ブロック1106で、計算された格納鍵SK[SVN], SK[n], SK[2n]…SK[(m-l)-n]を復旧可能なTCBに出力する。SK[SVN], SK[n], SK[2n]…SK[(m-l)-n]が所与の場合、復旧可能なTCBは、任意のi = 1 ,… SVNについてSK[i]を計算することができる。
1つの復旧可能なTCBについての前の格納鍵824を計算する方法の実施形態を説明してきた。しかし、プラットフォームは、複数の復旧可能なTCBのレイヤを有する場合がある。一実施形態では、TCBの各レイヤが銘々SVN808を有している場合がある。各レイヤは、前のレイヤが計算する導出鍵を有している。セキュリティバージョン番号が整数である場合、TCBの各レイヤは、次のレイヤのTCBファームウェアの署名を検証する必要があるだろう。たとえば一実施形態では、復旧不可能なTCBがファームウェアパッチローダであってよく、レイヤ1のTCBがファームウェアレイヤ1であり、レイヤ2のTCBがより高いレベルの技術のファームウェア実装であってよい。
図12は、復旧可能なTCB810およびレイヤ1のTCB1202を示すブロック図である。起動シーケンス中に(つまり、プラットフォームに電力を投入するたびに)、復旧不可能なTCB810が、デバイス固有鍵110を受け取る。
ブロック1204で、復旧不可能なTCB810は、復旧不可能なTCBファームウェアの署名を検証して、ブロック1206にTCBの復旧不可能なSVNを送る。ブロック1206では、復旧不可能なTCBが、受信したデバイス固有鍵110と復旧不可能なTCBのSVとに擬似乱数関数を実行することに基づいて、レイヤ1のTCB1202の鍵を導出する。
ブロック1208のレイヤ1のTCB1202で、レイヤ1のTCB1202は、レイヤ1のTCBファームウェアの署名をチェックする。ブロック1210で、レイヤ1のTCB1202は、ブロック1210で受信した導出された復旧不可能なTCB鍵およびレイヤ1のTCBのSVNに擬似乱数関数を実行することに基づいて、レイヤ2のTCB(不図示)の鍵を導出する。k個の鍵を生成するためには、ブロック1204、1206、1208、および1210に示す鍵生成関数をk回繰り返す。
前述した、現在の鍵と前の鍵とを利用する実施形態では、各レベルのマルチレイヤのTCBが、そのレイヤのSVNおよびpSVNに基づいて2つの鍵を生成することができる。これら2つの鍵は、前のレイヤのSVNおよびpSVNの鍵から導出される。
図10を参照して説明したハッシュチェイン法は、1つのレイヤのTCB復旧を行うことができるが、複数のレイヤにあわせスケーリングはできない。
プラットフォームがランタイムにクエリ可能であるアクティブな復旧可能レイヤを含む場合には、ハイブリッド法は、ハッシュチェインを利用して、復旧可能なレイヤを保護する。復旧可能なレイヤは、残りのレイヤのSVNを格納して、要求に応じて様々なレイヤのpSVNの任意の組み合わせの格納鍵を導出することができる。
図13は、復旧可能なレイヤを保護するためにハッシュチェインを利用するハイブリッド方法を示すブロック図である。復旧不可能なTCBレイヤ810、レイヤ1のTCB1300、レイヤ2のTCB1302、およびレイヤ3の1304という4つのレイヤが示されている。図示されている4つのレイヤすべてを、プロセッサユニットの実施形態に実装することができる。チップセットの実施形態では、通常、これらレイヤの2つのみ(つまり、復旧不可能なTCBレイヤ810およびレイヤ1のTCB1300)が利用される。鍵レジスタ1314は、プロセッサユニットの実施形態の復旧不可能なTCBレイヤ810およびレイヤ3 1304が利用するプロセッサユニットまたはチップセットの特別なレジスタであってよい。
各レイヤ(i)のTCBは、TCB[i] = TCBレイヤiのSVN、として計算される。
復旧不可能なTCBレイヤ810は、格納されているデバイス固有鍵110を受信して、レイヤ1の復旧可能なTCBファームウェアの整合性およびソースを検証して、PRFループ1312のハッシュチェインを利用してSK[TCB[1]]を計算する。PRFループ1312は、鍵の特定の改定版の特定のレイヤのプロビジョン鍵を導出して、鍵レジスタにレイヤ1のCB1300のプロビジョン鍵を格納する。PRFループはさらに、レイヤ1のSVN1305、レイヤ2のSVN1306、および、レイヤ3のSVN1308も生成する。PRFループ1312で実行されるPRF関数は、ルート鍵および現在のTCBバージョン(または前のTCBバージョン番号)に実行されるハッシュ関数である。
レイヤ1のTCB1302は、レイヤ2の整合性およびソースを検証して、PRFループ1312が保護されているレジスタ(たとえばTCBSVNレジスタ1310)に生成したレイヤ2のセキュリティバージョン番号(SVN)1306を格納する。TCBSVNレジスタ1310は、他のレイヤにより書き換えられないよう保護されている。
レイヤ2から最後のレイヤまでは、レイヤ1 1300との関連で説明したものと同じ動作を実行する。最後のレイヤで実装される命令は、レイヤ1の関数getKey(TCB_request[])を呼び出すことができ、この関数は以下の処理を行う。
i = 1 , ...について , TCBレイヤは以下をカウントする。
TCB_request[i] > TCB[i]の場合には, 失敗(failure)を返す。
TCB_request[i] < TCB[i]の場合には、
チェインを利用して、tmp = SK[TCB_request[i]]として、
PRF(tmp, "格納鍵" || j || k)を返す;
ここでjおよびkは、それぞれレイヤ1のTCB1300およびレイヤ2のTCB1302のSVNである 。
レイヤ1がアクティブであり続けている限り、TCBレイヤの前の順列(permutation)の格納鍵806を導出する。
レイヤ3の1304はさらに、プロビジョン鍵の前のバージョンを生成することを要求されている場合、鍵レジスタ1314に格納されているプロビジョン鍵を利用して、PRFループ1318のPRF関数を随意で実行する。PRF関数は1320で、鍵レジスタ1314に格納されている、または、格納されているレイヤ2のSVN1306および格納されているレイヤ3のSVN1308でPRFループ1318に導出されたプロビジョン鍵に実行される。格納鍵は、このPRF関数1326の結果に基づいて計算される。
破損しているプラットフォームは、プロビジョンサーバ500からの新たなDAKを受信することを妨げられる。各プラットフォームは、自身の復旧可能なTCBファームウェアが更新されると、新たなDAKを受信することができる。プラットフォームが無効化されている場合(たとえばプラットフォームのデバイス固有鍵110が悪意のハードウェアの攻撃中に抽出された場合)、DAK再プロビジョンプロトコルは、新たなDAKをプラットフォームに提供しない。
図14は、プラットフォーム502とプロビジョンサーバ500との間にプロトコルをプロビジョンするデバイス認証鍵(DAK)の一実施形態を示す。
1400で、プラットフォーム502とプロビジョンサーバ500とは、標準的なプロトコル(たとえばTLS/SSL)を利用してセキュアな通信チャネルをセットアップする。
1402で、プラットフォーム502は、自身の前のDAKを利用してメッセージを暗号化して、暗号化したメッセージをプロビジョンサーバ500に送信する。プロビジョンサーバ500は、前のDAKをチェックして、前のDAKに無効化チェックを行い、無効化されているかどうかを確かめる。プラットフォーム502が無効化されている場合には、プロビジョンサーバ500はプロトコルを終了させる。
1404で、プラットフォームは、セキュアなチャネルでプロビジョンID802をプロビジョンサーバ500に送信する。プロビジョンサーバ500はDAKプロビジョンデータベース内を、受信したプロビジョンID(ハードウェアデバイス102それぞれに1つ)を利用して検索して、プラットフォーム502の暗号化された新たなDAKを取得する。
1406で、プロビジョンサーバ500は、新たな暗号化されたDAKをプラットフォーム502に送信する。
プラットフォーム502にプロビジョンした後でDAKを削除する、というプロビジョンサーバ500のプライバシー要件がある実施形態では、DAKの再プロビジョンを修正して、プロビジョンサーバ500にDAKを格納する。
図15は、プラットフォーム502とプライバシーをサポートするためのプロビジョンサーバ500との間に図14のプロトコルを再度プロビジョンするための一実施形態を示す。
図14を参照して説明したように、1400で、プラットフォーム502は、プロビジョンサーバ500との間でセキュアなチャネルをセットアップする。
1402で、プラットフォーム502は、前のDAKをプロビジョンサーバ500に送ることで、自身が無効化されていないことを証明する。
1404で、プラットフォーム502は、セキュアなチャネルでプロビジョンIDをプロビジョンサーバ500に送信する。プロビジョンサーバ500は、前のDAKに合致するものを探してDAKプロビジョンデータベースを検索して、プラットフォーム502の新たなDAKを取得する。
1506で、プロビジョンサーバ500は、プロビジョン鍵804を用いて暗号化された新たなDAKを、プラットフォーム502に送り返す。プラットフォーム502は、暗号化されたDAKを、そのプロビジョン鍵804を利用して復号する。
1508で、プラットフォーム502は、受信した新たなDAKを、格納鍵806を利用して再度暗号化するが、この格納鍵806は、プロビジョンサーバ500および鍵生成サーバ106には知らされていない。プラットフォーム502は、格納鍵806で暗号化された新たなDAKを、プロビジョンサーバ500に送る。プロビジョンサーバ500は、プラットフォームのDAKをデータベースから削除して、格納鍵で暗号化された新たなDAKをデータベースに格納する。
図16は、格納鍵で暗号化したプラットフォームのDAKを格納するプロビジョンサーバ500とプラットフォームとの間のDAKバックアップ取得プロトコルの一実施形態を示す。
プラットフォームが自身のDAKを失った場合には、プロビジョンサーバ500のデータベースに格納されているDAKをダウンロードすることができる。
1600で、プラットフォーム502は、プロビジョンサーバの公開鍵を利用して自身のプロビジョンID804を暗号化して、暗号化したプロビジョンIDをプロビジョンサーバ500に送信する。暗号化されたプロビジョンIDを受信すると、プロビジョンサーバ500は、プロビジョンIDを復号して、プロビジョンサーバのデータベースを、プロビジョンIDに対応するエントリを探すべく検索する。
1602で、プロビジョンサーバ500は、プロビジョンサーバ500のデータベースに格納されているプラットフォームの格納鍵806で暗号化されたDAKをプラットフォームに送信する。暗号化されたDAKを受信すると、プラットフォーム502は、その格納鍵を利用して、受信した暗号化されているDAK(DAKのバックアップコピー)を復号する。
前のセキュリティバージョン番号(PSVN)は、不揮発性書き換え可能メモリ(たとえばプラットフォーム502のフラッシュメモリ)に格納される。簡単な、消耗を予防する保護アルゴリズムを利用して、不揮発性書き換え可能メモリの消去サイクルを防止するために最少のフラッシュファイルシステムサポートによって不揮発性書き換えメモリに永続的にPSVNを格納する。
不揮発性書き換え可能メモリ(たとえばフラッシュメモリ)の64バイトのブロック(パーティション)を利用して、前のセキュリティバージョン(PSVN)を格納する。各バイトが潜在的なPSVNを表しており、64バイトのブロックの1つのバイトのみが各時点で有効である。64バイトブロックの1バイトの初期値は255である(16進法表現で0xFF)。そのバイトの値が0である場合には(16進法表現の0x00)、SVNエントリが既に利用されており、今は無効であることになる。任意の他の値(1から254(16進法表現で0x01−0xFE))が、PSVNエントリが有効であることを示す。
図17は、不揮発性書き換え可能メモリにP−SVNを格納する方法の一実施形態のフローグラフを示す。
ブロック1700で、現在のバイトのアドレスが64バイトのブロックの最大バイトのアドレス未満である場合には、処理はブロック1702に続く。
ブロック1702で、現在のアドレスの64バイトのブロックのバイトが読み出される。処理はブロック1704に続く。
ブロック1704で、値がゼロである場合には、処理はブロック1705に続く。ゼロではない場合には、処理はブロック1706に続く。
ブロック1705で、64バイトブロックのアドレスを増分して、次のバイトの位置を読み出す。処理はブロック1700に続く。
ブロック1706で、値が255である場合には、アクティブなPSVNがないことになる。処理はブロック1708に続く。値が255でない場合には、値は1から254のいずれかであり、PSVNが有効であることになる。処理はブロック1710に続く。
ブロック1710で、前のルート鍵を導出する。
ブロック1708では、PSVNエントリの数(PSVNエントリを格納するためにリザーブされている64バイトのブロックで利用可能な位置の数)が64を超えており、プロビジョン鍵を導出することができず、DAK鍵を取り換える(rekeyed)ことができない。
プラットフォームが、新たなDAKのプロビジョンを促すことにより、TCBが是正されているかを証明する方法および装置を説明してきた。この方法および装置は、マネジャビリチェインジン(ME)およびTPM等のセキュリティアプリケーションによって利用することができる。
当業者であれば、本発明の実施形態に関する方法を、コンピュータ利用可能な媒体を含むコンピュータプログラムプロダクトに具現化することができることを理解する。たとえば、コンピュータ利用可能媒体は、読み取り専用メモリデバイス(たとえば、コンピュータ可読プログラムコードが格納されたCD ROMディスク、または従来のROMデバイス、または、コンピュータディスク)からなってよい。
本発明の実施形態は、その実施形態を参照して図示して説明してきたが、当業者であれば、添付請求項に含まれる本発明の実施形態の範囲から逸脱せずに、さまざまな変更を行い、詳細を特定することができることを理解する。

Claims (22)

  1. システムのハードウェアデバイスが、暗号化されているセキュリティ鍵を受信する手段であって、前記ハードウェアデバイスの保護されているメモリに固有デバイス鍵を書き込むことにより前記ハードウェアデバイスの鍵生成サーバが埋め込んだ前記固有デバイス鍵から導出したベースプロビジョン鍵を用いて暗号化され、前記固有デバイス鍵から導出したプロビジョン識別子に関連付けられているプロビジョンサーバが維持するデータベースに格納されている、暗号化されているセキュリティ鍵を受信する手段と、
    前記ハードウェアデバイスが、ソフトウェアからアクセス不可能な前記保護されているメモリに格納されている前記固有デバイス鍵から前記ベースプロビジョン鍵を導出する段階と、
    前記ハードウェアデバイスが、前記導出されたベースプロビジョン鍵を利用して、前記暗号化されているセキュリティ鍵を復号する段階と
    を備える方法。
  2. 前記保護されているメモリは、書き込みが一度だけ許可されたメモリである、請求項1に記載の方法。
  3. 前記鍵生成サーバは、信頼のおける環境で動作するオフラインサーバである、請求項1または2に記載の方法。
  4. 前記固有デバイス鍵から導出される前記プロビジョン識別子と前記プロビジョン鍵とは、対称鍵である、請求項1から3のいずれか一項に記載の方法。
  5. 前記固有デバイス鍵のコピーは、前記固有デバイス鍵が前記保護されているメモリに書き込まれた後は第1のサーバが利用できない、請求項1から4のいずれか一項に記載の方法。
  6. 前記ハードウェアデバイスは、通信ネットワークを介して前記暗号化されているセキュリティ鍵を受信する、請求項1から5のいずれか一項に記載の方法。
  7. 前記ハードウェアデバイスは、前記システムの記憶媒体から前記暗号化されているセキュリティ鍵を受信する、請求項1から5のいずれか一項に記載の方法。
  8. 前記ハードウェアデバイスにインストールするために利用可能なファームウェアに関連付けられている最新のファームウェアバージョン番号に基づいて導出されたプロビジョン鍵を、前記ハードウェアデバイスが、前記ベースプロビジョン鍵から導出する段階をさらに備える、請求項1から7のいずれか一項に記載の方法。
  9. 前記ハードウェアデバイスが、前記プロビジョン鍵により暗号化されたデバイス認証鍵を受信する段階と、
    前記ハードウェアデバイスが、前記最新のファームウェアバージョン番号または前のファームウェアバージョン番号に関連付けられている前記プロビジョン鍵に関連付けられている前記暗号化されているデバイス認証鍵を復号する段階と
    をさらに備える、請求項8に記載の方法。
  10. 装置であって、システム内のハードウェアデバイスを備え、
    前記ハードウェアデバイスは、
    前記ハードウェアデバイスの保護されているメモリに固有デバイス鍵を書き込むことにより前記ハードウェアデバイスの鍵生成サーバが埋め込んだ前記固有デバイス鍵から導出したベースプロビジョン鍵を用いて暗号化され、前記固有デバイス鍵から導出したプロビジョン識別子に関連付けられているプロビジョンサーバが維持するデータベースに格納されている、暗号化されているセキュリティ鍵を受信して、
    ソフトウェアからアクセス不可能な前記保護されているメモリに格納されている前記固有デバイス鍵から前記ベースプロビジョン鍵を導出して、
    前記導出されたベースプロビジョン鍵を利用して、前記暗号化されているセキュリティ鍵を復号する、装置。
  11. 前記保護されているメモリは、書き込みが一度だけ許可されたメモリである、請求項10に記載の装置。
  12. 前記鍵生成サーバは、信頼のおける環境で動作するオフラインサーバである、請求項10または11に記載の装置。
  13. 前記固有デバイス鍵から導出される前記プロビジョン識別子と前記プロビジョン鍵とは、対称鍵である、請求項10から12のいずれか一項に記載の装置。
  14. 前記固有デバイス鍵が前記保護されているメモリに書き込まれた後は、第1のサーバが前記固有デバイス鍵のコピーを利用できない、請求項10から13のいずれか一項に記載の装置。
  15. 前記ハードウェアデバイスは、通信ネットワークを介して前記暗号化されているセキュリティ鍵を受信する、請求項10から14のいずれか一項に記載の装置。
  16. 前記ハードウェアデバイスは、前記システムの記憶媒体から前記暗号化されているセキュリティ鍵を受信する、請求項10から14のいずれか一項に記載の装置。
  17. 前記ハードウェアデバイスは、前記ハードウェアデバイスにインストールするために利用可能なファームウェアに関連付けられている最新のファームウェアバージョン番号に基づいて導出されたプロビジョン鍵を、前記ベースプロビジョン鍵から導出する、請求項10から16のいずれか一項に記載の装置。
  18. 前記ハードウェアデバイスは、
    前記プロビジョン鍵により暗号化されたデバイス認証鍵を受信して、
    前記最新のファームウェアバージョン番号または前のファームウェアバージョン番号に関連付けられている前記プロビジョン鍵に関連付けられている前記暗号化されているデバイス認証鍵を復号する、請求項17に記載の装置。
  19. プロセッサに実行されるとコンピュータに、
    前記ハードウェアデバイスの保護されているメモリに固有デバイス鍵を書き込むことにより前記ハードウェアデバイスの鍵生成サーバが埋め込んだ前記固有デバイス鍵から導出したベースプロビジョン鍵を用いて暗号化され、前記固有デバイス鍵から導出したプロビジョン識別子に関連付けられているプロビジョンサーバが維持するデータベースに格納されている、暗号化されているセキュリティ鍵を、システムのハードウェアデバイスが受信する手順と、
    前記ハードウェアデバイスが、ソフトウェアからアクセス不可能な前記保護されているメモリに格納されている前記固有デバイス鍵から前記ベースプロビジョン鍵を導出する手順と、
    前記ハードウェアデバイスが、前記導出されたベースプロビジョン鍵を利用して、前記暗号化されているセキュリティ鍵を復号する手順と
    を実行させるためのプログラム。
  20. さらに、前記ハードウェアデバイスが、前記ハードウェアデバイスにインストールするために利用可能なファームウェアに関連付けられている最新のファームウェアバージョン番号に基づいて導出されたプロビジョン鍵を、前記ベースプロビジョン鍵から導出する手順を実行させるための、請求項19に記載のプログラム。
  21. システムであって、
    ディスクドライブと、
    ハードウェアデバイスと
    を備え、
    前記ハードウェアデバイスは、
    前記ハードウェアデバイスの保護されているメモリに固有デバイス鍵を書き込むことにより前記ハードウェアデバイスの鍵生成サーバが埋め込んだ前記固有デバイス鍵から導出したベースプロビジョン鍵を用いて暗号化され、前記固有デバイス鍵から導出したプロビジョン識別子に関連付けられているプロビジョンサーバが維持するデータベースに格納されている、暗号化されているセキュリティ鍵を受信して、
    ソフトウェアからアクセス不可能な前記保護されているメモリに格納されている前記固有デバイス鍵から前記ベースプロビジョン鍵を導出して、
    前記導出されたベースプロビジョン鍵を利用して、前記暗号化されているセキュリティ鍵を復号する、システム。
  22. 前記暗号化されているセキュリティ鍵は、前記ディスクドライブを介してアクセス可能な記憶媒体に格納されており、前記ハードウェアデバイスは、前記暗号化されているセキュリティ鍵を前記ディスクドライブから受信する、請求項21に記載のシステム。
JP2013536941A 2010-11-30 2011-11-11 ハードウェアデバイスの鍵プロビジョン方法および装置 Expired - Fee Related JP5690412B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/956,793 US20120137137A1 (en) 2010-11-30 2010-11-30 Method and apparatus for key provisioning of hardware devices
US12/956,793 2010-11-30
PCT/US2011/060345 WO2012074720A1 (en) 2010-11-30 2011-11-11 Method and apparatus for key provisioning of hardware devices

Publications (2)

Publication Number Publication Date
JP2013545388A true JP2013545388A (ja) 2013-12-19
JP5690412B2 JP5690412B2 (ja) 2015-03-25

Family

ID=46127438

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013536941A Expired - Fee Related JP5690412B2 (ja) 2010-11-30 2011-11-11 ハードウェアデバイスの鍵プロビジョン方法および装置

Country Status (6)

Country Link
US (2) US20120137137A1 (ja)
EP (1) EP2647156A4 (ja)
JP (1) JP5690412B2 (ja)
CN (1) CN103229451B (ja)
TW (1) TWI567579B (ja)
WO (1) WO2012074720A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016513840A (ja) * 2013-06-05 2016-05-16 ▲ホア▼▲ウェイ▼技術有限公司Huawei Technologies Co.,Ltd. データセキュリティを保護するための方法、サーバ、ホスト、およびシステム
JP2019212342A (ja) * 2014-10-08 2019-12-12 任天堂株式会社 ブートプログラム、情報処理装置、情報処理システム、情報処理方法、半導体装置、およびプログラム
JP2021503208A (ja) * 2017-11-14 2021-02-04 ナグラビジョン エス アー 集積回路パーソナリゼーション

Families Citing this family (133)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2180419A1 (en) * 2008-10-23 2010-04-28 ST Wireless SA Method of storing data in a memory device and a processing device for processing such data
JP2012084071A (ja) 2010-10-14 2012-04-26 Toshiba Corp デジタルコンテンツの保護方法、復号方法、再生装置、記憶媒体、暗号装置
US20120137137A1 (en) 2010-11-30 2012-05-31 Brickell Ernest F Method and apparatus for key provisioning of hardware devices
US20130007726A1 (en) 2011-06-30 2013-01-03 Indrajit Poddar Virtual machine disk image installation
US9225692B2 (en) * 2011-08-12 2015-12-29 Abb Technology Ag Method and system for protected transmission of files
US9203617B2 (en) * 2011-08-17 2015-12-01 Vixs Systems, Inc. Secure provisioning of integrated circuits at various states of deployment, methods thereof
DE102011081421A1 (de) * 2011-08-23 2013-02-28 Siemens Ag System zur sicheren Übertragung von Daten und Verfahren
US8661527B2 (en) 2011-08-31 2014-02-25 Kabushiki Kaisha Toshiba Authenticator, authenticatee and authentication method
US8645677B2 (en) * 2011-09-28 2014-02-04 Intel Corporation Secure remote credential provisioning
JP5275432B2 (ja) 2011-11-11 2013-08-28 株式会社東芝 ストレージメディア、ホスト装置、メモリ装置、及びシステム
JP5204291B1 (ja) * 2011-12-02 2013-06-05 株式会社東芝 ホスト装置、装置、システム
JP5204290B1 (ja) 2011-12-02 2013-06-05 株式会社東芝 ホスト装置、システム、及び装置
JP5112555B1 (ja) 2011-12-02 2013-01-09 株式会社東芝 メモリカード、ストレージメディア、及びコントローラ
JP5100884B1 (ja) 2011-12-02 2012-12-19 株式会社東芝 メモリ装置
US9497171B2 (en) 2011-12-15 2016-11-15 Intel Corporation Method, device, and system for securely sharing media content from a source device
EP3518458B1 (en) 2011-12-15 2022-04-06 INTEL Corporation Method and device for secure communications over a network using a hardware security engine
CN107612685A (zh) 2011-12-29 2018-01-19 英特尔公司 使用在物理上不可克隆的函数的安全密钥存储
JP5275482B2 (ja) 2012-01-16 2013-08-28 株式会社東芝 ストレージメディア、ホスト装置、メモリ装置、及びシステム
US8762717B2 (en) * 2012-06-15 2014-06-24 Kabushiki Kaisha Toshiba Authentication device
WO2016025940A1 (en) * 2014-08-15 2016-02-18 Sypris Electronics, Llc Resilient device authentication system with metadata binding
US9996480B2 (en) 2012-07-18 2018-06-12 Analog Devices, Inc. Resilient device authentication system with metadata binding
KR101938033B1 (ko) 2012-09-05 2019-01-11 엘리먼트, 인크. 카메라 장착 디바이스들과 관련된 생체인식 인증
US8928347B2 (en) * 2012-09-28 2015-01-06 Intel Corporation Integrated circuits having accessible and inaccessible physically unclonable functions
US9742563B2 (en) * 2012-09-28 2017-08-22 Intel Corporation Secure provisioning of secret keys during integrated circuit manufacturing
US9143383B2 (en) * 2012-11-01 2015-09-22 Miiicasa Taiwan Inc. Method and system for managing device identification
US8856515B2 (en) 2012-11-08 2014-10-07 Intel Corporation Implementation of robust and secure content protection in a system-on-a-chip apparatus
JP6030925B2 (ja) * 2012-11-12 2016-11-24 ルネサスエレクトロニクス株式会社 半導体装置及び情報処理システム
GB2508052A (en) * 2012-11-18 2014-05-21 Nds Ltd Glitch resistant device
US8885819B2 (en) * 2012-12-27 2014-11-11 Intel Corporation Fuse attestation to secure the provisioning of secret keys during integrated circuit manufacturing
US8938792B2 (en) * 2012-12-28 2015-01-20 Intel Corporation Device authentication using a physically unclonable functions based key generation system
US9390291B2 (en) 2012-12-29 2016-07-12 Intel Corporation Secure key derivation and cryptography logic for integrated circuits
US9201811B2 (en) 2013-02-14 2015-12-01 Kabushiki Kaisha Toshiba Device and authentication method therefor
US8984294B2 (en) 2013-02-15 2015-03-17 Kabushiki Kaisha Toshiba System of authenticating an individual memory device via reading data including prohibited data and readable data
US9305298B2 (en) 2013-03-22 2016-04-05 Nok Nok Labs, Inc. System and method for location-based authentication
US10270748B2 (en) 2013-03-22 2019-04-23 Nok Nok Labs, Inc. Advanced authentication techniques and applications
US9887983B2 (en) * 2013-10-29 2018-02-06 Nok Nok Labs, Inc. Apparatus and method for implementing composite authenticators
US9100192B2 (en) * 2013-06-07 2015-08-04 Qualcomm Incorporated Apparatus and method for provisioning an endorsement key certificate for a firmware trusted platform module
US9479328B1 (en) * 2013-06-11 2016-10-25 Amazon Technologies, Inc. Secure key provisioning
WO2015047442A1 (en) 2013-09-27 2015-04-02 Mcafee, Inc. Trusted execution of an executable object on a local device
US9171133B2 (en) * 2013-10-11 2015-10-27 Landis+Gyr Innovations, Inc. Securing a device and data within the device
US20150134966A1 (en) * 2013-11-10 2015-05-14 Sypris Electronics, Llc Authentication System
DE102013227087A1 (de) * 2013-12-23 2015-06-25 Siemens Aktiengesellschaft Gesichertes Bereitstellen eines Schlüssels
US9258315B2 (en) * 2014-01-13 2016-02-09 Cisco Technology, Inc. Dynamic filtering for SDN API calls across a security boundary
EP2911086A1 (en) * 2014-02-19 2015-08-26 Renesas Electronics Europe GmbH Integrated circuit with parts activated based on intrinsic features
CN104868998B (zh) * 2014-02-23 2017-08-01 阿姆科技以色列有限公司 一种向电子设备供应加密数据的系统、设备和方法
US9825764B2 (en) * 2014-02-26 2017-11-21 Unisys Corporation Enhanced security for media decryption
US9519757B2 (en) * 2014-02-26 2016-12-13 Unisys Corporation AES-GCM based enhanced security setup for media encryption
US9819493B2 (en) * 2014-02-26 2017-11-14 Unisys Corporation Enhanced security for media encryption
CN104144049B (zh) * 2014-03-11 2016-02-17 腾讯科技(深圳)有限公司 一种加密通信方法、系统和装置
US9594910B2 (en) 2014-03-28 2017-03-14 Intel Corporation In-system provisioning of firmware for a hardware platform
US10621330B2 (en) * 2014-03-28 2020-04-14 Hewlett-Packard Development Company, L.P. Allowing use of a test key for a BIOS installation
US10432409B2 (en) 2014-05-05 2019-10-01 Analog Devices, Inc. Authentication system and device including physical unclonable function and threshold cryptography
US9946858B2 (en) 2014-05-05 2018-04-17 Analog Devices, Inc. Authentication system and device including physical unclonable function and threshold cryptography
US9672342B2 (en) 2014-05-05 2017-06-06 Analog Devices, Inc. System and device binding metadata with hardware intrinsic properties
KR102506826B1 (ko) 2014-05-13 2023-03-06 엘리먼트, 인크. 모바일 장치와 관련된 전자 키 지급 및 액세스 관리를 위한 시스템 및 방법
WO2015179849A2 (en) 2014-05-22 2015-11-26 Sypris Electronics, Llc Network authentication system with dynamic key generation
CN106664207B (zh) 2014-06-03 2019-12-13 埃利蒙特公司 与移动设备有关的考勤验证与管理
US9830479B2 (en) * 2014-09-16 2017-11-28 Nxp Usa, Inc. Key storage and revocation in a secure memory system
GB2531248B (en) 2014-10-08 2017-02-22 Ibm Controlled use of a hardware security module
US9584317B2 (en) * 2014-10-13 2017-02-28 Microsoft Technology Licensing, Llc Identifying security boundaries on computing devices
US9646154B2 (en) 2014-12-12 2017-05-09 Microsoft Technology Licensing, Llc Return oriented programming (ROP) attack protection
CN105844738B (zh) * 2015-02-02 2018-04-24 株式会社东海理化电机制作所 电子钥匙登录系统
US9667606B2 (en) * 2015-07-01 2017-05-30 Cyphermatrix, Inc. Systems, methods and computer readable medium to implement secured computational infrastructure for cloud and data center environments
CN105184121A (zh) * 2015-09-02 2015-12-23 上海繁易电子科技有限公司 一种通过远程服务器的硬件授权系统和方法
US9852300B2 (en) * 2015-09-25 2017-12-26 Saife, Inc. Secure audit logging
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
US9838201B2 (en) 2015-10-13 2017-12-05 Sony Interactive Entertainment America Llc Secure key store derivation and management from a single secure root key
CN105701407B (zh) * 2016-01-08 2018-04-10 腾讯科技(深圳)有限公司 安全级别确定方法及装置
US11222116B2 (en) * 2016-02-03 2022-01-11 Hewlett-Packard Development Company, L.P. Heartbeat signal verification
EP3214797B1 (en) * 2016-03-01 2022-06-29 Siemens Aktiengesellschaft Deriving a device unique encryption key of a system on chip using a physical unclonable function
CN106022166B (zh) * 2016-06-02 2018-10-23 东北大学 一种代码复用攻击防御系统及方法
US10708067B2 (en) * 2016-06-18 2020-07-07 Intel Corporation Platform attestation and registration for servers
US10769635B2 (en) 2016-08-05 2020-09-08 Nok Nok Labs, Inc. Authentication techniques including speech and/or lip movement analysis
US10637853B2 (en) 2016-08-05 2020-04-28 Nok Nok Labs, Inc. Authentication techniques including speech and/or lip movement analysis
US11463267B2 (en) 2016-09-08 2022-10-04 Nec Corporation Network function virtualization system and verifying method
US10785022B2 (en) * 2016-09-13 2020-09-22 Hiroshi Watanabe Network without abuse of a private key
US10482036B2 (en) * 2016-09-18 2019-11-19 Winbond Electronics Corporation Securely binding between memory chip and host
WO2018089006A1 (en) * 2016-11-10 2018-05-17 Ernest Brickell Balancing public and personal security needs
US10855465B2 (en) 2016-11-10 2020-12-01 Ernest Brickell Audited use of a cryptographic key
US10498712B2 (en) 2016-11-10 2019-12-03 Ernest Brickell Balancing public and personal security needs
US11405201B2 (en) 2016-11-10 2022-08-02 Brickell Cryptology Llc Secure transfer of protected application storage keys with change of trusted computing base
US11398906B2 (en) 2016-11-10 2022-07-26 Brickell Cryptology Llc Confirming receipt of audit records for audited use of a cryptographic key
GB2556638B (en) * 2016-12-02 2018-12-12 Gurulogic Microsystems Oy Protecting usage of key store content
US10348706B2 (en) 2017-05-04 2019-07-09 Ernest Brickell Assuring external accessibility for devices on a network
US10652245B2 (en) 2017-05-04 2020-05-12 Ernest Brickell External accessibility for network devices
US10425235B2 (en) 2017-06-02 2019-09-24 Analog Devices, Inc. Device and system with global tamper resistance
US10958452B2 (en) 2017-06-06 2021-03-23 Analog Devices, Inc. System and device including reconfigurable physical unclonable functions and threshold cryptography
US10440006B2 (en) 2017-06-21 2019-10-08 Microsoft Technology Licensing, Llc Device with embedded certificate authority
US10938560B2 (en) 2017-06-21 2021-03-02 Microsoft Technology Licensing, Llc Authorization key escrow
US10558812B2 (en) 2017-06-21 2020-02-11 Microsoft Technology Licensing, Llc Mutual authentication with integrity attestation
CN109120573B (zh) * 2017-06-22 2021-06-04 武汉大学 传输密钥生成方法、终端及服务器
US10505732B2 (en) 2017-08-14 2019-12-10 Nxp B.V. Method for generating a public/private key pair and public key certificate for an internet of things device
US11374760B2 (en) 2017-09-13 2022-06-28 Microsoft Technology Licensing, Llc Cyber physical key
SG11202002399SA (en) 2017-09-18 2020-04-29 Element Inc Methods, systems, and media for detecting spoofing in mobile authentication
US10482252B2 (en) * 2017-09-18 2019-11-19 Nxp B.V. Method for protecting the confidentiality and integrity of firmware for an Internet of Things device
KR102305858B1 (ko) * 2017-09-26 2021-09-27 삼성에스디에스 주식회사 키 정보 프로비저닝 방법 및 이를 이용한 장치
US10666430B2 (en) * 2017-09-29 2020-05-26 Intel Corporation System and techniques for encrypting chip-to-chip communication links
US11868995B2 (en) 2017-11-27 2024-01-09 Nok Nok Labs, Inc. Extending a secure key storage for transaction confirmation and cryptocurrency
CN108155986A (zh) * 2017-12-14 2018-06-12 晶晨半导体(上海)股份有限公司 一种基于可信执行环境的密钥烧录系统及方法
EP3729763A4 (en) * 2017-12-19 2021-10-20 Telefonaktiebolaget LM Ericsson (PUBL) PROCESSES AND NODES FOR MANAGING LLDP MESSAGES IN A COMMUNICATION NETWORK
WO2019119408A1 (en) * 2017-12-22 2019-06-27 Intel Corporation Manageability engine and automatic firmware validation
US11831409B2 (en) 2018-01-12 2023-11-28 Nok Nok Labs, Inc. System and method for binding verifiable claims
CN110489351B (zh) * 2018-05-14 2021-03-09 英韧科技(上海)有限公司 芯片指纹管理装置及安全芯片
CN110490008B (zh) * 2018-05-14 2021-08-10 英韧科技(上海)有限公司 安全装置及安全芯片
US10979232B2 (en) * 2018-05-31 2021-04-13 Motorola Solutions, Inc. Method for provisioning device certificates for electronic processors in untrusted environments
WO2020026228A1 (en) * 2018-08-01 2020-02-06 Vdoo Connected Trust Ltd. Firmware verification
CN109639409B (zh) * 2018-09-20 2021-05-04 创新先进技术有限公司 密钥初始化方法、装置、电子设备及计算机可读存储介质
US11100228B2 (en) * 2018-10-25 2021-08-24 Dell Products, L.P. System and method to recover FPGA firmware over a sideband interface
EP3663957A1 (en) * 2018-12-03 2020-06-10 Nagravision S.A. Remote enforcement of device memory
CN109787756B (zh) * 2018-12-24 2021-11-26 吉林微思智能科技有限公司 一种基于白盒加密技术的车载终端密钥分发管理方法
US12041039B2 (en) 2019-02-28 2024-07-16 Nok Nok Labs, Inc. System and method for endorsing a new authenticator
US10742421B1 (en) * 2019-03-08 2020-08-11 Ares Technologies, Inc. Methods and systems for anonymous hardware attestation
US10735205B1 (en) * 2019-03-08 2020-08-04 Ares Technologies, Inc. Methods and systems for implementing an anonymized attestation chain
SG11202109983RA (en) 2019-03-12 2021-10-28 Element Inc Detecting spoofing of facial recognition with mobile devices
TWI758697B (zh) * 2019-03-22 2022-03-21 旺宏電子股份有限公司 積體電路、記憶體電路以及用於操作積體電路的方法
US11792024B2 (en) 2019-03-29 2023-10-17 Nok Nok Labs, Inc. System and method for efficient challenge-response authentication
WO2020238878A1 (zh) * 2019-05-31 2020-12-03 创新先进技术有限公司 动态加密方法及装置
KR102513435B1 (ko) * 2019-06-10 2023-03-23 구글 엘엘씨 펌웨어의 보안 검증
CN112217643B (zh) * 2019-07-09 2021-12-10 华为技术有限公司 运算方法、装置及设备
TWI774986B (zh) * 2019-09-09 2022-08-21 新唐科技股份有限公司 金鑰儲存系統及金鑰儲存方法
CN111082925B (zh) * 2019-10-23 2021-07-30 中山大学 基于aes算法和puf技术的嵌入式系统加密保护装置和方法
US11271731B2 (en) * 2019-11-07 2022-03-08 Micron Technology, Inc. Single-use password generation
US11507248B2 (en) 2019-12-16 2022-11-22 Element Inc. Methods, systems, and media for anti-spoofing using eye-tracking
US11409877B2 (en) * 2020-03-27 2022-08-09 Intel Corporation Firmware verification mechanism
EP4158507A1 (en) 2020-05-28 2023-04-05 SandGrain B.V. Centralized handling of ic identification codes
NL2025695B1 (en) * 2020-05-28 2022-01-13 Sandgrain B V Centralized handling of ic identification codes
CN112398657B (zh) * 2020-11-05 2021-10-29 北京邮电大学 一种基于无线多径衰落信道的puf认证方法及装置
EP4012689B1 (en) * 2020-12-11 2023-04-19 PUFsecurity Corporation Key management system providing secure management of cryptographic keys, and methods of operating the same
US20230040468A1 (en) * 2021-08-04 2023-02-09 International Business Machines Corporation Deploying a system-specific secret in a highly resilient computer system
US11783057B2 (en) 2021-08-24 2023-10-10 Nxp B.V. Method for securely provisioning a device incorporating an integrated circuit without using a secure environment
US20230205895A1 (en) * 2021-12-29 2023-06-29 Arm Limited Methods and apparatus for provisioning a device
US20220245252A1 (en) * 2022-02-22 2022-08-04 Intel Corporation Seamless firmware update mechanism

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006514321A (ja) * 2003-02-03 2006-04-27 ノキア コーポレイション 暗号化されたアプリケーションをインストールするためのアーキテクチャ
JP2009545908A (ja) * 2006-07-31 2009-12-24 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ビット・ストリングを生成する装置および方法
JP2010182070A (ja) * 2009-02-05 2010-08-19 Mitsubishi Electric Corp 情報処理装置及び情報処理方法及びプログラム
WO2010116618A1 (ja) * 2009-04-06 2010-10-14 パナソニック株式会社 鍵実装システム
WO2010134192A1 (ja) * 2009-05-22 2010-11-25 三菱電機株式会社 電子機器及び鍵生成プログラム及び記録媒体及び鍵生成方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4457474B2 (ja) * 2000-04-04 2010-04-28 ソニー株式会社 情報記録装置、情報再生装置、情報記録方法、情報再生方法、および情報記録媒体、並びにプログラム提供媒体
US6829596B1 (en) * 2000-05-23 2004-12-07 Steve Frazee Account/asset activation device and method
TW583568B (en) * 2001-08-27 2004-04-11 Dataplay Inc A secure access method and system
US7949877B2 (en) * 2003-06-30 2011-05-24 Realnetworks, Inc. Rights enforcement and usage reporting on a client device
US7353388B1 (en) * 2004-02-09 2008-04-01 Avaya Technology Corp. Key server for securing IP telephony registration, control, and maintenance
US7778422B2 (en) * 2004-02-27 2010-08-17 Microsoft Corporation Security associations for devices
US7697691B2 (en) * 2004-07-14 2010-04-13 Intel Corporation Method of delivering Direct Proof private keys to devices using an on-line service
JP4725070B2 (ja) * 2004-10-13 2011-07-13 パナソニック株式会社 正規コンテンツ確認方法、コンテンツ送受信システム、送信機、および受信機
DE102006046017B4 (de) * 2006-09-28 2010-01-14 Siemens Ag Verfahren zum Bereitstellen eines symmetrischen Schlüssels zum Sichern eines Schlüssel-Management-Protokolls
US8205080B2 (en) * 2007-05-11 2012-06-19 Microsoft Corporation Over the air communication authentication using a device token
US8031009B2 (en) 2008-12-02 2011-10-04 Electronics And Telecommunications Research Institute Frequency calibration loop circuit
US8677459B2 (en) * 2009-08-11 2014-03-18 Broadcom Corporation Secure zero-touch provisioning of remote management controller
US8837726B2 (en) * 2009-10-16 2014-09-16 Cisco Technology, Inc. Content protection key encryptor for security providers
CN101699891B (zh) * 2009-10-21 2012-07-25 西安西电捷通无线网络通信股份有限公司 一种传感器网络密钥管理和节点鉴别方法
US20120137137A1 (en) 2010-11-30 2012-05-31 Brickell Ernest F Method and apparatus for key provisioning of hardware devices

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006514321A (ja) * 2003-02-03 2006-04-27 ノキア コーポレイション 暗号化されたアプリケーションをインストールするためのアーキテクチャ
JP2009545908A (ja) * 2006-07-31 2009-12-24 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ビット・ストリングを生成する装置および方法
JP2010182070A (ja) * 2009-02-05 2010-08-19 Mitsubishi Electric Corp 情報処理装置及び情報処理方法及びプログラム
WO2010116618A1 (ja) * 2009-04-06 2010-10-14 パナソニック株式会社 鍵実装システム
WO2010134192A1 (ja) * 2009-05-22 2010-11-25 三菱電機株式会社 電子機器及び鍵生成プログラム及び記録媒体及び鍵生成方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
CSNH200600012003; 稲村 雄,中山 雄大,竹下 敦: '"安全な端末を目指すTrusted Mobile Platform技術"' NTT DoCoMoテクニカル・ジャーナル Vol.13, No.2, 20050701, p.25-29, 社団法人電気通信協会 *
JPN6014022028; Shay Gueron, Geoffrey Strongin, Jean-Pierre Seifert, Derek Chiou, Resit Sendag, Joshua J. Yi: '"WHERE DOES SECURITY STAND ? NEW VULNERABILITIES VS. TRUSTED COMPUTING"' IEEE MICRO Volume: 27, Issue: 6, 200711, p.25-35, IEEE *
JPN6014022030; 稲村 雄,中山 雄大,竹下 敦: '"安全な端末を目指すTrusted Mobile Platform技術"' NTT DoCoMoテクニカル・ジャーナル Vol.13, No.2, 20050701, p.25-29, 社団法人電気通信協会 *
JPN7014001607; 一松 信: "データ保護と暗号化の研究" 1版1刷, 19830729, p.90-97, 日本経済新聞社 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016513840A (ja) * 2013-06-05 2016-05-16 ▲ホア▼▲ウェイ▼技術有限公司Huawei Technologies Co.,Ltd. データセキュリティを保護するための方法、サーバ、ホスト、およびシステム
JP2019212342A (ja) * 2014-10-08 2019-12-12 任天堂株式会社 ブートプログラム、情報処理装置、情報処理システム、情報処理方法、半導体装置、およびプログラム
JP2021503208A (ja) * 2017-11-14 2021-02-04 ナグラビジョン エス アー 集積回路パーソナリゼーション

Also Published As

Publication number Publication date
WO2012074720A1 (en) 2012-06-07
TW201227390A (en) 2012-07-01
JP5690412B2 (ja) 2015-03-25
TWI567579B (zh) 2017-01-21
US20120137137A1 (en) 2012-05-31
CN103229451A (zh) 2013-07-31
EP2647156A1 (en) 2013-10-09
US9043604B2 (en) 2015-05-26
EP2647156A4 (en) 2017-07-05
US20140089659A1 (en) 2014-03-27
CN103229451B (zh) 2015-11-25

Similar Documents

Publication Publication Date Title
JP5690412B2 (ja) ハードウェアデバイスの鍵プロビジョン方法および装置
EP3458999B1 (en) Self-contained cryptographic boot policy validation
US20210124820A1 (en) Application program integrity verification method and network device
EP3205046B1 (en) Secure shared key sharing systems and methods
US9602282B2 (en) Secure software and hardware association technique
JP6067449B2 (ja) 情報処理装置、情報処理プログラム
US9594909B2 (en) Software updating apparatus, software updating system, invalidation method, and invalidation program
CN101951316B (zh) 操作系统的受保护的网络引导
US8677144B2 (en) Secure software and hardware association technique
US8732445B2 (en) Information processing device, information processing method, information processing program, and integrated circuit
US8464347B2 (en) Software updating apparatus, software updating system, alteration verification method and alteration verification program
US20210012008A1 (en) Method of initializing device and method of updating firmware of device having enhanced security function
US10878101B2 (en) Trusted booting by hardware root of trust (HRoT) device
US10282549B2 (en) Modifying service operating system of baseboard management controller
EP2005356A1 (en) Authentication of a request to alter at least one of a bios and a setting associated with the bios
WO2015042981A1 (zh) 加解密处理方法、装置和设备
JP2011003020A (ja) コンピューターシステムおよびプログラム起動方法
JP2016146618A (ja) 情報処理装置
JP6888122B2 (ja) 半導体装置、更新データ提供方法、更新データ受取方法およびプログラム
JP6779702B2 (ja) プログラムを保護する方法
EP3525391A1 (en) Device and method for key provisioning
US12050692B2 (en) Secure and flexible boot firmware update for devices with a primary platform
US20220405392A1 (en) Secure and flexible boot firmware update for devices with a primary platform
JP2013197810A (ja) 暗号処理装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140603

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140901

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

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20141226

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150130

R150 Certificate of patent or registration of utility model

Ref document number: 5690412

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees