JP5922113B2 - 暗号化データにアクセスするための一度限り使用可能な認証方法 - Google Patents

暗号化データにアクセスするための一度限り使用可能な認証方法 Download PDF

Info

Publication number
JP5922113B2
JP5922113B2 JP2013516601A JP2013516601A JP5922113B2 JP 5922113 B2 JP5922113 B2 JP 5922113B2 JP 2013516601 A JP2013516601 A JP 2013516601A JP 2013516601 A JP2013516601 A JP 2013516601A JP 5922113 B2 JP5922113 B2 JP 5922113B2
Authority
JP
Japan
Prior art keywords
computer
key
volume
protector
tpm
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2013516601A
Other languages
English (en)
Other versions
JP2013531436A (ja
JP2013531436A5 (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.)
Microsoft Corp
Original Assignee
Microsoft 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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2013531436A publication Critical patent/JP2013531436A/ja
Publication of JP2013531436A5 publication Critical patent/JP2013531436A5/ja
Application granted granted Critical
Publication of JP5922113B2 publication Critical patent/JP5922113B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/067Network architectures or network communication protocols for network security for supporting key management in a packet data network using one-time keys
    • 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/3226Cryptographic 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 using a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3228One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-key
    • 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/3234Cryptographic 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 additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2103Challenge-response
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2131Lost password, e.g. recovery of lost or forgotten passwords

Description

本発明は、データ暗号化技術に関する。
いわゆる「フルボリューム暗号化」を行うことにより、コンピュータのファイルシステムのボリュームに記憶されたデータの機密性を保護する各種システムが存在する。そのようなシステムは、ボリュームに記憶されたデータのすべてまたはほぼすべてを暗号化し、権限のあるエンティティから要求があった時にそのようなデータを透過に復号する。例えば、特定のMICROSOFT(登録商標)WINDOWS(登録商標)オペレーティングシステムは、「BITLOCKER(商標)ドライブ暗号化(「BITLOCKER」)」と呼ばれる機能の起動を介してフルボリューム暗号化を提供する。
BITLOCKER(商標)などのフルボリューム暗号化システムは、保護されたボリュームへのアクセスを管理するために各種の認証方法を提供することができる。例えば、保護されたボリュームが、コンピュータのブート時にアクセスされるオペレーティングシステム(OS)ボリュームである場合は、そのような方法は、コンピュータに内蔵されたトラステッドプラットフォームモジュール(TPM)によって行われる特定のシステム起動コンポーネントの完全性検査に依拠することができる。他の認証方法では、起動キーや個人識別番号(PIN)などのアクセス資格情報の提供を要求する場合がある。起動キーは、例えば、起動キーを記憶した何らかの形態の携帯型記憶媒体をコンピュータのポートに挿入することを通じて提供することができる。PINは、例えばユーザによる手動の入力を介して提供することができる。さらに他の認証方法では、TPMに基づく完全性検査と、1つまたは複数のアクセス資格情報の提供を組み合わせるものがある。
場合によっては、一度だけ使用できる認証方法がフルボリューム暗号化システムで提供されると望ましい。そのようなシナリオには例えば復旧のシナリオやシステム管理のシナリオがある。復旧のシナリオに関しては、何らかの正当な理由から、平常使用する認証方法を回避して保護ボリュームにアクセスしなければならない状況があり得る。そのような状況には、例えば、ハードウェア障害や、平常の認証方法に関連付けられたアクセス資格情報を喪失した場合がある。一部の従来のフルボリューム暗号化システムでは、対応する復旧用の認証方法を使用して保護ボリュームへのアクセスを実現できるように、復旧用のアクセス資格情報が供給される。この復旧用の認証方法は、平常の認証方法を回避するために恒久的に使用するものではなく、特定のアクセス事例に限って使用するためのものである。しかし、そのような従来のフルボリューム暗号化システムでは、一度復旧用のアクセス資格情報が提供されると、その復旧用アクセス資格情報に関連付けられた特定の対応する鍵材料が保護ボリュームに存在する限り、その資格情報を継続使用して、保護されたボリュームをロック解除することができる。これは望ましくないセキュリティ上の危険性を呈する。
システム管理に関しては、人間の介在なしにコンピュータを再起動することができると望ましい場合がある。例えば、情報技術(IT)管理者が、企業ネットワークを介して遠隔のクライアントコンピュータのアプリケーションを更新したり、パッチプログラムをインストールしたい場合があるが、そのような更新やインストールを行うにはクライアントコンピュータを再起動することが必要となる。クライアントコンピュータが、ユーザ対話を必要とする形態の認証で保護されている場合は、再起動を強制すると、クライアントコンピュータは、ブート前の環境でそのようなユーザ対話を待つことになる(例えば、クライアントコンピュータはユーザにPINの入力を求め、PINの入力を待つ)。平常使用している認証方法を変更することなく、その特定のクライアントコンピュータに平常使用している認証形態を回避するために利用できる一度限り使用可能な認証方法があれば、IT管理者は制約を受けずに必要な更新やパッチを導入することができる。
この概要は、以下の発明を実施するための形態でさらに説明する概念のうちいくつかを簡略化した形で紹介するために提供される。この概要は、特許請求される主題の主要な特徴や必須の特徴を明らかにするものでも、特許請求される主題の範囲を限定するために使用すべきものでもない。さらに、本発明は、発明を実施するための形態および/または本文書の他の項に記載される特定の実施形態に限定されないことに留意されたい。そのような実施形態は単に説明の目的で本明細書に提示する。本明細書に含まれる教示に基づいて、当業者にはさらなる実施形態が明らかになろう。
上記の背景技術の項で述べたように、状況によっては、フルボリューム暗号化を使用して保護されたコンピュータのボリュームに緊急アクセスするためのロック解除に使用することができる認証方法を提供することが望まれる。例えば、保護されたボリュームに関連付けられたアクセス資格情報(credential)を喪失した場合に、そのような認証方法を使用して、保護されたボリュームにアクセスして、障害が発生している保護されたボリュームからデータを抽出する、またはコンピュータを再起動してセキュリティアップデートをインストールするなどの緊急を要する管理機能を行うことができる。そのような認証方法には一部のシステム防御手段を省略させることができるため、一度しか使用できないことが理想的である。これを実現するために、本明細書に記載される実施形態は、コンピュータの保護されたボリュームに記憶された暗号化データにアクセスするための一度限り使用可能な認証方法を提供し、暗号化データへのアクセスは、保護されたボリュームを復号するために必要なボリューム固有の暗号鍵を保持する、コンピュータに記憶されたキープロテクタ(key protector)を復号することを要する。以下で説明するように、そのような一度限り使用可能な認証方法は、一般に、一度のみ使用することができ(single−use)、かつ/または使用のたびに新しいアクセス資格情報を必要とするキープロテクタの提供に依拠する。特定の実施形態では、認証方法の一部としてチャレンジ−レスポンス処理も使用して、キープロテクタおよび/またはアクセス資格情報の発行を、ユーザを一意に識別することができる特定の情報に結びつける。
本発明のさらなる特徴および利点、ならびに本発明の各種実施形態の構造および動作について、以下で添付図面を参照して詳細に説明する。本発明は、本明細書に記載される特定の実施形態に限定されないことに留意されたい。そのような実施形態は単に説明の目的で本明細書に提示する。本明細書に含まれる教示に基づいて、当業者にはさらなる実施形態が明らかになろう。
本明細書に組み込まれ、本願明細書の一部をなす添付図面は本発明の実施形態を示し、説明と併せて本発明の原理をさらに説明する役割を果たし、当業者が本発明をなし、使用することを可能にする。
各種実施形態を実施することが可能な例示的動作環境のブロック図である。 一実施形態による、フルボリューム暗号化機能を提供するように構成された例示的クライアントコンピュータのブロック図である。 各種実施形態による、コンピュータの保護されたボリュームに記憶された暗号化データへのアクセスを制御する一般的な一度限り使用可能な認証方法のフローチャートである。 使い捨てのキープロテクタに基づく、コンピュータの保護されたボリュームに記憶された暗号化データへのアクセスを制御する一度限り使用可能な認証方法のフローチャートである。 トラステッドプラットフォームモジュール(TPM)および人間の介在を使用する一度限りのロック解除に基づく、コンピュータの保護されたボリュームに記憶された暗号化データへのアクセスを制御する一度限り使用可能な認証方法のフローチャートである。 TPMおよびサーバの介在を使用する一度限りのロック解除に基づく、コンピュータの保護されたボリュームに記憶された暗号化データへのアクセスを制御する一度限り使用可能な認証方法のフローチャートを示す図である。 TPMおよびサーバの介在を使用する一度限りのロック解除に基づく、コンピュータの保護されたボリュームに記憶された暗号化データへのアクセスを制御する一度限り使用可能な認証方法のフローチャートを示す図である。 TPMの委任(delegation)を使用する一度限りのロック解除に基づく、コンピュータの保護されたボリュームに記憶された暗号化データへのアクセスを制御する一度限り使用可能な認証方法のフローチャートを示す図である。 TPMの委任を使用する一度限りのロック解除に基づく、コンピュータの保護されたボリュームに記憶された暗号化データへのアクセスを制御する一度限り使用可能な認証方法のフローチャートを示す図である。 本明細書に記載の各種実施形態を実施するために使用することができる例示的コンピュータシステムのブロック図である。
本発明の特徴および利点は、図面と併せて以下の詳細な説明を読むことにより明らかになろう。すべての図面で、対応する要素は同様の参照符号で識別する。図面では、概して、同様の参照符号で、同一の要素、機能的に類似する要素、および/または構造的に類似する要素を示す。要素が最初に登場する図面は、対応する参照符号の一番左の桁で示す。
I.概要
以下の詳細な説明では、本発明の例示的実施形態を示す添付図面を参照する。しかし、本発明の範囲はそれらの実施形態に制限されず、特許請求の範囲により定義される。したがって、図の実施形態を改変したものなど、添付図面に図示する以外の実施形態も本発明に包含されうる。
本明細書中の「一実施形態」「実施形態」「例示的実施形態」等は、記載されるその実施形態が特定の機能、構造、または特徴を含むことができるが、すべての実施形態が必ずしもその特定の機能、構造、または特徴を含むとは限らないことを意味する。さらに、そのような文言は必ずしも同じ実施形態を指さない。さらに、特定の機能、構造、または特徴をある実施形態との関連で記載する場合、明示的に記載されるか否かに関わらず他の実施形態との関連でその機能、構造、または特徴を実施することは当業者の知識の範囲内であると考える。
A.例示的動作環境
コンピュータの保護されたボリュームに記憶された暗号化データにアクセスするための一度限り使用可能な認証方法を本明細書に記載する。そのような方法の理解を助けるために、以下でそのような方法を実施することが可能な例示的システム100について図1のブロック図を参照して説明する。ただし、当業者は、本明細書に記載の方法はシステム100以外の幅広いシステムによって行うことが可能であることを理解されよう。
図1に示すように、システム100は、複数のクライアントコンピュータ1041〜104Nと、サーバ106と、管理者用(管理者)コンピュータ108とを通信可能に接続するネットワーク102を含む。システム100は、例えば、企業または会社のコンピューティング環境に相当する。ただし、この例は制限的なものではなく、システム100は他のコンピューティング環境も表すことができる。次にシステム100の各要素について説明する。
ネットワーク102は、各種の通信チャネルで接続されたコンピュータおよび装置(例えばルータ、スイッチ、ブリッジ、ハブ、および中継器)の集合を表す。ネットワーク102は、システム100のユーザ間の通信を容易にし、ユーザが他のユーザと情報およびリソースを共有することを可能にする。ネットワーク102は、任意種類の有線技術、無線技術、またはそれらの組み合わせを使用して実施することができる。ネットワーク102は、例えば、ローカルエリアネットワーク、ワイドエリアネットワーク、グローバルエリアネットワーク、企業の私設網、仮想私設網などを表すことができる。
各クライアントコンピュータ1041〜104Nは、ユーザが各種のコンピューティング動作を行うことができるように構成される。そのようなコンピューティング動作を容易に行えるように、各クライアントコンピュータ1041〜104Nは、ローカルにデータを記憶するために使用可能なファイルシステムを備え、ファイルシステムは、「ボリューム」と呼ばれる、1つまたは複数の論理的に定義された記憶領域を備える。各クライアントコンピュータ1041〜104Nはさらに、いわゆる「フルボリューム暗号化」を行うことにより、少なくとも1つのファイルシステムボリュームに記憶されたプログラム命令またはデータの機密性を保護するコンポーネントを含む。例示的なクライアントコンピュータ200については図2を参照してより詳細に説明する。
サーバ106は、クライアントコンピュータ1041〜104Nのために、またはその代理として1つまたは複数のサービスを行うように構成され、またシステム100に関してシステムレベルのタスクを行うように構成することも可能なコンピュータである。サーバ106は、システム100内でネットワーク102に接続された任意数のサーバの1つを含みうる。一実施形態では、サーバ106は、MICROSOFT(登録商標)ACTIVE DIRECTORY(登録商標)で提供されるようなネットワークサービスをシステム100内のエンティティに提供するように構成されるが、この例は制限的なものではない。これも本明細書で後述するように、各種実施形態で、サーバ106は、クライアントコンピュータ1041〜104Nのうち1つの保護されたボリュームに記憶されたデータへのアクセスを管理するために一度限りの認証方法を実行する際に必要な動作を行うように構成される。サーバ106はさらに、特定の実施の要件に応じて各種の他の機能を行うように構成することができる。
指定された機能を行うために、サーバ106は、メモリ110に通信可能に接続され、メモリ110にデータを記憶し、メモリ110のデータにアクセスするように構成される。メモリ110は、サーバ106からアクセス可能な任意種の記憶装置またはシステムを含みうる。メモリ110は、ネットワーク102または何らかの他のインタフェースを介してサーバ106に接続されうる。サーバ106がMICROSOFT(登録商標)ACTIVE DIRECTORY(登録商標)のネットワークサービスを提供するように構成される実施形態では、メモリ110はACTIVE DIRECTORY(登録商標)データベースを記憶することができる。
管理者コンピュータ108は、権限を与えられた情報技術(IT)管理者などの権限ユーザがシステム100に関する設定および管理作業を行うことを可能にするように構成される。それらの作業には、例えば、ユーザ特権および許可の作成および維持、クライアントコンピュータ1041〜104N、サーバ106、ネットワークの動作およびリソースの監視、クライアントコンピュータ1041〜104Nまたはサーバ106にインストールされたソフトウェアの更新および/またはパッチの適用、リポートの生成、セキュリティおよび監査ポリシーの設定等が含まれる。本明細書で後述するように、各種実施形態で、権限ユーザは管理者コンピュータ108を使用して、クライアントコンピュータ1041〜104Nのいずれか1つの保護されたボリュームに記憶されたデータへのアクセスを制御するための一度限りの認証方法を設定および/または実行することができる。
図2は、一実施形態による、フルボリューム暗号化機能を提供するように構成された例示的なクライアントコンピュータ200のブロック図である。クライアントコンピュータ200は、図1に示すクライアントコンピュータ1041〜104Nのいずれにも相当しうる。実装に応じて、クライアントコンピュータ200は、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、携帯情報端末(PDA)、またはプロセッサを利用した他のシステムもしくは装置を含みうる。図2に示すように、クライアントコンピュータ200は、ハードウェア層202およびソフトウェア層204を備える。以下でこれらの各層を説明する。
ハードウェア層202は、これらに限定されないが、処理装置212、システムメモリ214、1つまたは複数の大容量記憶装置216、およびトラステッドプラットフォームモジュール(TPM)218を含む、相互接続された複数のハードウェアコンポーネントを備える。処理装置212は、システムメモリ214に記憶されたプログラム命令を実行して、クライアントコンピュータ200に指定された機能を行わせるように設計された1つまたは複数のマイクロプロセッサまたはマイクロプロセッサコアを備える。システムメモリ214は、実行時に処理装置212に消費されるプログラム命令または生成されるデータを一時的に記憶する1つまたは複数の揮発性記憶装置を備える。大容量記憶装置216は、クライアントコンピュータ200のプログラム命令および/またはデータを恒久的に記憶するために使用される不揮発性の記憶装置を備える。大容量記憶装置216は、1つまたは複数の内蔵ハードディスクドライブなどクライアントコンピュータ200の一部を形成する装置、および/または、1つまたは複数の携帯型記憶装置やドライブなど、クライアントコンピュータのユーザによってクライアントコンピュータ200に接続できる装置を含むことができる。TPM218は、クライアントコンピュータ200が、Trusted Computing Groupから発行されるトラステッドプラットフォームモジュール仕様の少なくとも1つのバージョンの機能を実施することを可能にするセキュアな暗号処理装置を備える。ハードウェア層202に含めることができるが図2に示さない他のハードウェア装置には、これらに限定されないが、ビデオアダプタおよびそれに関連するディスプレイ、1つまたは複数の入力/出力(I/O)装置インタフェース、ネットワークインタフェース等がある。
ソフトウェア層204は、処理装置212などのハードウェア層202内の要素によって実行される、特定機能を行う複数のソフトウェア要素を備える。図2に示すように、ソフトウェア層204は、システム起動コンポーネント222およびオペレーティングシステム224を含む。
システム起動コンポーネント222は、オペレーティングシステム224がシステムメモリ214にロードされ、処理装置212に実行される前に実行されるコンポーネントからなる。システム起動コンポーネント222には、基本入出力システム(BIOS)232およびブートマネジャ234が含まれる。BIOS232は、クライアントコンピュータ200に電源が投入された時にクライアントコンピュータ200によって最初に実行されるコードである。諸機能の中でも、BIOS232は特に、ハードウェア層202に含まれる特定の装置を識別、検査、および初期化する働きをする。クライアントコンピュータ200が既知の状態に設定されると、BIOS232はブートマネジャ234を実行させ、ブートマネジャ234は処理装置212による実行のためにオペレーティングシステム224をシステムメモリ214にロードする。特定の実装では、ブートマネジャ234は、ユーザが複数のオペレーティングシステムの中からロードして実行するものを選択することを可能にする。
オペレーティングシステム224は、クライアントコンピュータ200で実行されるソフトウェアアプリケーション(図2には図示せず)に対するホストとして機能する。例えば、オペレーティングシステム224は、クライアントコンピュータ200で実行される各種アプリケーションによるクライアントコンピュータ200のリソースの共有を管理し、調整する。オペレーティングシステム224は、そのようなソフトウェアアプリケーションに代わってハードウェア層202の各種要素とのインタフェースをもとり、それによりアプリケーションがハードウェア動作の詳細を管理せずに済むようにし、アプリケーションへの書き込みを容易にする。オペレーティングシステム224は、アプリケーションおよびユーザに複数のサービスを提供することができる。アプリケーションは、アプリケーションプログラミングインタフェース(API)またはシステムコールを通じてそれらのサービスにアクセスすることができる。そのようなインタフェースを呼び出すことにより、アプリケーションは、オペレーティングシステム224にサービスを要求し、パラメータを渡し、結果を受け取ることができる。特定の実装では、ユーザは、コマンドラインインタフェース(CLI)やグラフィックユーザインタフェース(GUI)などのソフトウェアユーザインタフェース(SUI)を介してオペレーティングシステム224と対話することができる。
一実施形態では、オペレーティングシステム224は、ワシントン州レドモンドのMicrosoft Corporationから公開されるWINDOWS(登録商標)VISTA(登録商標)またはWINDOWS(登録商標)7オペレーティングシステムからなる。ただしこの例は制限的なものでなく、オペレーティングシステム224は、上述の機能の少なくとも1つまたは複数を行うように設計された、従来または今後開発されるオペレーティングシステムから構成されうる。
図2に示すように、オペレーティングシステム224はファイルシステム244を備える。ファイルシステム244は、コンピュータプログラムファイルおよびデータファイルを大容量記憶装置216に記憶し、大容量記憶装置216から取り出し、編成し、その他の形で操作するための操作のセットを提供する。それらの操作は、オペレーティングシステム224および/またはオペレーティングシステムで実行されるアプリケーションによって使用されうる。ファイルシステム244により記憶されたファイルは、「ボリューム」と呼ばれる、論理的に定義された記憶領域に記憶される。論理ボリュームマネジャ248は、そのような論理ボリュームを、大容量記憶装置216にある実際の物理記憶領域に対応付ける役割を担う。したがって、論理ボリュームマネジャ248は、ファイルシステム244によって行われるファイル操作を処理して、大容量記憶装置216内の適切な領域がアクセスされることを保証しなければならない。
図2にさらに示すように、オペレーティングシステム224はオペレーティングシステム(OS)暗号化モジュール242も含む。OS暗号化モジュール242は、処理装置212に実行されるとユーザがファイルシステム244のボリュームに選択的にフルボリューム暗号化を適用できるようにするロジックを備える。ボリュームにフルボリューム暗号化が適用されると、そのボリュームに記憶されたすべてのデータ(例外がある場合もある)が暗号化される。そのような暗号化データはその後、権限のあるエンティティから要求があった時に透過に復号される。データの暗号化および復号は、ファイルシステム244と論理ボリュームマネジャ248との間にインストールされた暗号化フィルタドライバ246で処理される。暗号化フィルタドライバ246は、保護されたボリュームへの記憶動作の一部としてファイルシステム244から論理ボリュームマネジャ248に渡されるデータを暗号化し、保護されたボリュームへのアクセス動作の一部として論理ボリュームマネジャ248からファイルシステム244に渡されるデータを復号するように動作する。本明細書で使用される場合、用語「保護されたボリューム」とは、そのようなフルボリューム暗号化が適用されたボリュームを言う。保護されたボリュームは、オペレーティングシステム224の実行に必要なファイルを記憶するオペレーティングシステム(OS)ボリュームや、実行時(すなわちオペレーティングシステム224が立ち上がり、実行されている時)にアクセスされるアプリケーションデータや他のデータを記憶する物理的または仮想的なデータボリュームを含むことができる。
一実施形態では、クライアントコンピュータ200が提供するフルボリューム暗号化機能は、MICROSOFT(登録商標)WINDOWS(登録商標)オペレーティングシステムの1つまたは複数のバージョンに含まれるBITLOCKER(商標)ドライブ暗号化(「BITLOCKER」)の機能に対応するが、この例は制限的なものではない。
一実施形態によると、保護されたボリュームのセクタは、そのボリュームに関連付けられたフルボリューム暗号化キー(FVEK)を使用して暗号化される。そして、FVEKは、ボリュームマスタキー(VMK)と呼ばれる鍵で暗号化される。VMKで暗号化されたFVEKは、いわゆるボリュームメタデータの一部として、保護されたボリューム自体に記憶される。FVEKはローカルに記憶されるが、暗号化されない状態でディスクに書き込まれることは決してない。VMKも暗号化、すなわち「保護」されるが、VMKは1つまたは複数の可能な「キープロテクタ」で暗号化される。すなわち、VMKは、種々の認証方法に対応する各種の異なる方式で暗号化し、記憶することができる。暗号化されたバージョンのVMKすなわちキープロテクタも、保護されたボリューム自体に、ボリュームメタデータの一部として記憶される。
クライアントコンピュータ200は、復号を通じて保護されたボリュームの暗号化データへのアクセスを得ることをエンティティに許す前に、そのエンティティを認証するために各種の異なる処理のいずれかを行うように構成することができる。エンティティが認証処理に合格すると、暗号化データへのアクセスが許可される。エンティティが認証処理に不合格の場合は、暗号化データへのアクセスが拒否される。上記のように、一実施形態では、暗号化データにアクセスするには、まずキープロテクタで保護されている(すなわち暗号化された)VMKを入手し、次いで暗号化を解除したVMKを使用してFVEKを復号し、最後にFVEKを使用して保護されたボリュームの暗号化セクタを復号することが必要となる。
保護されたボリュームはシステム起動時と実行時にアクセスされる可能性があるため、ソフトウェア層204は、そのような認証処理を行うことができる2つの異なるコンポーネントを含む。システム起動時には、ブートマネジャ234の一部であるpre−OS暗号化モジュール262によって認証が行われ、実行時には暗号化フィルタドライバ246内のロジックによって認証が行われる。
例えば、保護されたボリュームが、コンピュータのブート時にアクセスされるOSボリュームの場合は、pre−OS暗号化モジュール262は、OSボリュームへのアクセスを許可する前に特定のシステム起動コンポーネントの完全性検査を行うように構成することができる。この認証機構は、TPM218を使用してOSボリュームのVMKをTPM218で計測された特定のシステム起動コンポーネントの状態に「シール(seal)」することによって初期化される。そして、システムの起動中に同じコンポーネントをTPM218で計測して、コンポーネントの状態が、シール動作が行われた時と同じであるかどうかを判定する。状態が一致する場合は、VMKが「アンシール(unseal)」され(非暗号化形態で提供され)、保護されたOSボリュームへのアクセスを実現することができる。対して、状態が一致しない場合は、VMKはシール状態のままにされ、保護されたOSボリュームへのアクセスが拒否される。これにより、クライアントコンピュータ200は、クライアントコンピュータ200の特定の起動コンポーネントが改ざんされた場合に、保護されたOSボリュームへのアクセスを拒否することができる。TPM218を使用してシールおよびアンシール動作を行う方式は当業者に知られていよう。
pre−OS暗号化モジュール262が備える他の認証機構は、VMKを復号するために起動キーや個人識別番号(PIN)などのアクセス資格情報の提供を要求することができる。起動キーは、例えば、起動キーを記憶した何らかの形態の携帯型記憶装置(例えばUSBサム(thumb)ドライブ)をクライアントコンピュータ200のポートに挿入することによって提供することができる。PINは、クライアントコンピュータ200の1つまたは複数の入力装置を使用して、ユーザの手動入力を介して提供することができる。さらに他の認証機構は、VMKを復号するために、TPMを利用した完全性検査に合格し、かつ1つまたは複数のアクセス資格情報を提供することを求めることができる。
暗号化フィルタドライバ246は、上記でpre−OS暗号化モジュール262を参照して説明したのと同様の認証処理を行って、実行時にファイルシステム244の暗号化されたデータボリュームへのアクセスを制御することができる。
B.一度限り使用可能な認証方法の利点
場合によっては、緊急のアクセスのためにクライアントコンピュータ200の保護されたボリュームのロックを解除するために使用できる認証方法があることが望ましい。例えば、保護されたボリュームに関連付けられたアクセス資格情報(例えば起動キーやPIN)を喪失した場合に、そのような認証方法を使用して保護されたボリュームにアクセスして、障害が発生している保護されたボリュームからデータを抽出する、またはクライアントコンピュータ200を再起動してセキュリティアップデートをインストールするなどの緊急を要する管理機能を行うことができる。そのような認証方法では、TPMを利用した完全性検査などの一部のシステム防御手段を省略するようにしてよい。したがって、使用のたびにIT管理者または同様の権限者からの明示的な許可を得ないと認証方法を使用することができない場合に有用であると考えられる。これを実現するために、本明細書に記載される実施形態は、保護されたボリュームへのアクセスを管理するための一度限り使用可能な認証方法を提供する。下記で説明するように、そのような一度限り使用可能な認証方法は一般に、一度のみ使用することができ、かつ/または使用のたびに新しいアクセス資格情報を必要とするキープロテクタの提供に依拠する。特定の実施形態では、認証方法の一部としてチャレンジ−レスポンス処理も使用して、キープロテクタおよび/またはアクセス資格情報の発行を、ユーザを一意に識別することができる特定の情報に結びつける。
セキュリティの観点から、一度限り使用可能な認証方法は、権限ユーザの不注意から生じる誤使用、また、いくらかの時間クライアントコンピュータ200を観察してクライアントコンピュータ200(および可能性としては他の情報)を捕捉する無許可ユーザによる誤使用を防止しなければならない。攻撃者がロックがかかっていないシステムを危険にさらす攻撃は対象とならない。何故ならば、そのような場合攻撃者は初めから保護されたボリュームの内容を入手することができ、システムのロックを解除する必要がないためである。
特に次のような攻撃から防御すると有益であると考えられる。
(1)認証方法が、ユーザにパスワードの入力を求める場合に、そのパスワードを(例えばユーザがパスワードを書き留めた紙を見つけることにより)知った攻撃者がパスワードの再使用を試みる。
(2)認証方法が、クライアントコンピュータがネットワークを介してサーバと対話することを求める場合に、過去に行われたそのような対話を観察した攻撃者が単に以前のサーバからのレスポンスを再現することにより、クライアントコンピュータに、保護されたボリュームのロックを解除させることを試みる。
(3)認証方法が、クライアントコンピュータがネットワークを通じてサーバと対話することを求める場合に、過去にそのような対話を観察した攻撃者が単に過去のクライアントコンピュータからのレスポンスを再生することにより、サーバに、保護されたボリュームのロックを解除させることを試みる。
(4)認証方法が、クライアントコンピュータがネットワークを通じてサーバと対話することを求める場合に、攻撃者が、クライアントコンピュータで実行されるコードを改変する、または攻撃者の制御下にある悪意あるシステムに対して要求を行う。
(5)過去に緊急アクセスのためにロック解除されたクライアントコンピュータを捕捉した攻撃者がクライアントコンピュータのディスク内容を以前の状態に戻すことにより、ロック解除動作を繰り返すことを試みる。
(6)クライアントで緊急のキープロテクタを作成する際にサーバとの通信が必要とされる場合に、攻撃者がその通信を妨害することによりサービス否定攻撃を行うことを試みる。そのような妨害は、例えばタイミングの悪いネットワーク故障が原因となるなど、悪意ある攻撃者がいない場合にも起こりうることに留意されたい。
以下の項で、上記の攻撃の一部もしくはすべて、またはそれらの組み合わせに対して安全な方法を説明する。
II.一度限り使用可能な認証方法の例
以下で、コンピュータの保護されたボリュームに記憶された暗号化データへの制御されたアクセスを提供するために使用できる例示的な認証方法を説明する。この認証方法は一度のみ使用することができる。上記のように、そのような一度限り使用可能な認証方法は、保護されたボリュームに関連付けられた通常使用される認証機構を一度だけ回避できるようにすることが望ましい、復旧のシナリオやシステム管理のシナリオなどの特定のシナリオで有利に使用されうる。
単に説明の目的で、この項で提示する各種の方法ステップは、上記で図1を参照して説明した例示的システム100内のエンティティ、および/または、上記で図2を参照して説明した例示的クライアントコンピュータ200のハードウェアまたはソフトウェアコンポーネントによって行われる動作として説明する。ただし、本明細書に提供される教示に基づき、当業者は、そのような方法ステップは、図1および図2に示す以外のエンティティまたはコンポーネントによって行うことも可能であることを容易に理解されよう。
下記の例示的一度限り使用可能な認証方法はすべて、基本的に同じ高レベル処理の流れに従う。それらの方法の理解を助けるために、この高レベル処理の流れについて図3のフローチャート300を参照して説明する。以下に説明する例示的な一度限り使用可能な認証方法では、フローチャート300に示す以外の追加的なステップを行うこともでき、またはフローチャート300の記載とわずかに異なる方式でステップを行うこともできることを理解されたい。したがって、フローチャート300は、下記の方法に関して制限的なものと見なすべきでない。
図3に示すように、フローチャート300の方法はステップ302で開始し、クライアントコンピュータ200の保護されたボリュームなど、第1のコンピュータの保護されたボリュームを復号するために必要なボリューム固有の暗号鍵を暗号化することによりキープロテクタが生成される。一実施形態では、ボリューム固有の暗号鍵は、それ自体を使用してフルボリューム暗号化キー(FVEK)を復号することができるボリュームマスタキー(VMK)からなる。そして、FVEKを使用して、保護されたボリュームの暗号化セクタを復号することができる。
ステップ304で、クライアントコンピュータ200のローカルメモリなど、第1のコンピュータのローカルメモリにキープロテクタを記憶して、後に第1のコンピュータが保護されたボリュームを復号する必要がある時に第1のコンピュータからアクセスできるようにする。一実施形態では、キープロテクタは、いわゆる「ボリュームメタデータ」の一部として、保護されたボリュームの一部分に記憶される。
判定ステップ306で、第1のコンピュータが、保護されたボリュームにアクセスする試みが検出されたかどうかを判定する。保護されたボリュームにアクセスする試みが検出されていない場合は判定ステップ306を繰り返す。保護されたボリュームにアクセスする試みが検出されている場合は、制御はステップ308に進む。
ステップ308で、第1のコンピュータが、ローカルメモリに記憶されたキープロテクタを復号するために必要な1つまたは複数のアクセス資格情報を取得する。下記で説明するように、使用する方法に応じて、ステップ308で取得されるアクセス資格情報は、キープロテクタを復号するために必要な暗号鍵、TPMを使用してキープロテクタをアンシールするために必要な計測値、または、TPMに関連付けられた移動不可能な暗号鍵を利用するために必要な認証コードを含むことができるが、これらの例は制限的なものではない。
ステップ310で、第1のコンピュータは、ステップ308で取得したアクセス資格情報を使用してキープロテクタを復号し、それによりボリューム固有の暗号鍵を取得する。上記のように、特定の実施形態では、キープロテクタを復号することによりVMKを得ることができ、次いでそのVMKを使用して、保護されたボリュームのセクタを復号するのに必要なFVEKを復号する。
ステップ312で、キープロテクタを削除することにより、および/またはキープロテクタを復号するために必要なアクセス資格情報を削除もしくは変更することにより、認証方法が一度のみ使用されることを保証する。この重要なステップを行う各種方式については、各例示的方法を参照して下記で説明する。
下記の例示的方法の少なくとも1つによると、前述の方法は、新しいキープロテクタおよび/またはアクセス資格情報を自動的に供給することにより、暗号化ボリュームへのアクセスを得るために使用できる一度限り使用可能な認証方法を新たに設定する追加的ステップも含む。そのようなステップは、管理作業を行うために一度限り使用可能な認証方法が使用される場合は必要でない場合もある。管理作業の場合は、IT管理者などの人間の作業主導者が供給機能を行うことができる。一方、一度限り使用可能な認証方法が緊急作業を行うために使用される場合は、そのような供給を行うことができる時が他にない可能性があるため、そのようなステップが重要となる可能性がある。
第1のコンピュータがクライアントコンピュータ200である実施形態では、第1のコンピュータによって行われる、保護されたボリュームへのアクセスの検出、および保護されたボリュームに関連付けられたキープロテクタの復号に関連する機能は、pre−OS暗号化モジュール262または暗号化フィルタドライバ246のどちらかによって行うことができる。例えば、保護されたOSボリュームへのアクセスがシステム起動時に試みられる場合はpre−OS暗号化モジュール262がそのような機能を行い、一方、保護されたデータボリュームへのアクセスが実行時に試みられる場合は暗号化フィルタドライバ246がそれらの機能を行うことができる。ただし、これらは例に過ぎず、クライアントコンピュータ200内の他のコンポーネントを使用してそれらの機能を行ってもよい。
下記で提供する例示的方法の説明から明らかにするように、例示的方法とその特定の実施に応じて、ステップ302、308および312を行うために必要とされる動作は、第1のコンピュータ(例えばクライアントコンピュータ200)、第2のコンピュータ(例えばサーバ106)、または第1のコンピュータと第2のコンピュータの組み合わせによって行うことができる。それらのステップを行うために必要な動作は、自動的に、またはIT管理者などのその権限ユーザから提供される入力に応答して管理者用コンピュータ(例えば管理者コンピュータ108)によって行われるステップをさらに要する場合もある。また、ステップ302および308を行うために必要な動作は、チャレンジ−レスポンス機構の実行に関連する人間の介在など、人間の介在を要する場合がある。
機密性のあるデータ(これらに限定されないがランダムノンス(nonce)や権限付与データなど)をコンピュータ間で送信することを要する下記の例示的方法の特定の実施では、そのような通信はセキュアな経路で行って、「中間者(man in the middle)」攻撃などを回避する助けとすることができる。
A.使い捨てのキープロテクタに基づく一度限り使用可能な認証方法
図4に、第1のコンピュータの保護されたボリュームに記憶された暗号化データへのアクセスを制御するための一度限り使用可能な認証方法の第1の例のフローチャート400を示す。下記の説明から明らかにするように、フローチャート400の方法は使い捨てのキープロテクタの発想に基づくものである。フローチャート400の方法は、上記の項I.Bで説明した攻撃タイプ(1)、(3)、および(6)を阻止する。この方法では、第1のコンピュータがTPMを備える必要はない。
図4に示すように、フローチャート400の方法はステップ402で開始し、ランダムの非対称の公開鍵と秘密鍵の対が生成される。非対称の公開鍵と秘密鍵の対は、例えば、RSA公開鍵と秘密鍵の対からなることができるが、他の非対称公開鍵と秘密鍵の対を使用してもよい。フローチャート400の方法がシステム100で実施される実施形態では、ランダムの非対称公開鍵と秘密鍵の対は、自動的に、またはIT管理者などの権限ユーザの動作に基づいて、管理者コンピュータ108で生成することができる。あるいは、非対称の公開鍵と秘密鍵の対は、自動的に、または管理者コンピュータ108もしくはクライアントコンピュータ200から受信される通信に応答して、サーバコンピュータ106で生成してもよい。
ステップ404で、保護されたボリュームを復号するために必要なボリューム固有の暗号鍵を公開鍵で暗号化することによりキープロテクタを生成する。このステップは、第1のコンピュータ、例えばクライアントコンピュータ200で行うことができる。フローチャート400の方法がシステム100で実施され、システム100がACTIVE DIRECTORY(登録商標)を利用するネットワークを備える実施形態では、ACTIVE DIRECTORY(登録商標)のグループポリシーを介して公開鍵をシステム100内の1つまたは複数のクライアントコンピュータに配布することができる。ただし、これは一例に過ぎず、多数の他の配布機構を使用することができる。例示的システム100をさらに参照すると、公開鍵は、管理者コンピュータ108、サーバ106、またはネットワーク102上の何らかの他のエンティティから配布することができる。公開鍵は、使い捨てのキープロテクタ識別子および特定のキープロテクタ属性と共に配布することができる。
実装に応じて、ステップ404で生成されるキープロテクタを復号するために必要な秘密鍵は、いくつかの異なる場所の1つに記憶することができる。例えば、秘密鍵は、暗号化されていない状態で第1のコンピュータのローカルメモリに記憶することができる(例えば保護されたボリュームに記憶されたボリュームメタデータの一部として)。あるいは、秘密鍵は、ACTIVE DIRECTORY(登録商標)サーバからアクセス可能なACTIVE DIRECTORY(登録商標)データベースなど、企業の社内ネットワーク上にセキュアに記憶し、したがって社内ネットワークへのアクセスを必要としてもよい。さらに、秘密鍵は、アクセスするためにチャレンジ−レスポンス対話を要求する信頼されるサーバにセキュアに記憶することができる。フローチャート400の方法がシステム100で実施される実施形態では、サーバ106は、ACTIVE DIRECTORY(登録商標)サーバまたは秘密鍵を記憶するために使用される信頼されるサーバからなることができる。一実施形態では、秘密鍵が記憶される場所は、公開鍵と共に配布されるキープロテクタ属性に基づいて決定される。
ステップ406で、キープロテクタを第1のコンピュータのローカルメモリに記憶する。例えば、このステップは、保護されたボリュームのボリュームメタデータの一部としてキープロテクタを記憶することからなることができる。一実施形態では、キープロテクタは、キープロテクタが使い捨てのキープロテクタであることを示すフラグまたは他の識別子、および上記で参照したキープロテクタ属性と共に記憶される。
判定ステップ408で、第1のコンピュータは、保護されたボリュームにアクセスする試みが検出されたかどうかを判定する。保護されたボリュームにアクセスする試みが検出されていない場合は、判定ステップ408を繰り返す。保護されたボリュームにアクセスする試みが検出された場合は、制御はステップ410に進む。
ステップ410で、保護された鍵にアクセスする試みが検出されたことに応答して、第1のコンピュータは、以前に記憶した秘密鍵を取得する。一実施形態では、このステップは、秘密鍵がどこに記憶されているかを判定し、次いでその場所にある秘密鍵にアクセスすることからなる。秘密鍵が記憶されている場所の判定は、ステップ406でキープロテクタと共に記憶された特定のキープロテクタ属性に基づいて行われる。秘密鍵の記憶場所に応じて、このステップは、第1のコンピュータのローカルメモリ(例えば保護されたボリューム内のボリュームメタデータ)から復号されたバージョンの秘密鍵を取得するか、または、ACTIVE DIRECTORY(登録商標)サーバもしくは秘密鍵を提供することが可能な社内ネットワーク上の他の信頼されるサーバとのセキュアな通信を確立するか、または第1のコンピュータのユーザにチャレンジで働きかけ、適切なレスポンスを待って、信頼されるサーバから秘密鍵を提供することを伴うことができる。サーバへの接触が伴う場合は、第1のコンピュータのローカルメモリに記憶された属性情報で接触するサーバを一意に識別することができ、第1のコンピュータは、ボリューム識別子または該当する秘密鍵を識別するために使用できる他の一意の識別子をサーバに提供することができる。チャレンジ−レスポンス対話を使用する場合は、チャレンジで所定の情報を要求することができ、それらの情報には、これらに限定されないが、例えばドメインユーザ名およびパスワード、従業員ID等が含まれる。
ステップ412で、秘密鍵を取得した後、第1のコンピュータは、秘密鍵を使用してキープロテクタを復号してボリューム固有の暗号鍵を取得する。そして、そのボリューム固有の暗号鍵を使用して、保護されたボリュームの暗号化データを復号することができる。一実施形態では、ボリューム固有の暗号鍵は第1のボリューム固有の暗号鍵(例えばVMK)からなり、その暗号鍵を使用して第2のボリューム固有の暗号鍵(例えばFVEK)を復号することができ、その第2のボリューム固有の暗号鍵を使用して保護されたボリュームの個々のセクタを復号することができる。
ステップ414で、第1のコンピュータは、キープロテクタを1回使用した後に、第1のコンピュータのローカルメモリからキープロテクタを削除する。それにより、フローチャート400の認証方法が一度のみ使用されることが保証される。一実施形態では、第1のコンピュータは、使い捨てのキープロテクタインディケータとキープロテクタとの関連付けに基づいてこのステップを行うようにプログラムされる。例えば、一実施形態では、第1のコンピュータが、保護されたボリュームのボリュームメタデータにあるすべてのキープロテクタを内部で列挙する。使い捨てのキープロテクタとして指定されたキープロテクタが見つかると、第1のコンピュータは、直ちに自動的に(ユーザへの指示や対話を行わずに)そのキープロテクタを削除する。特定の実装では、この動作は、電源異常が発生した場合には次回の電源切断再投入後にキープロテクタの削除を続けることができるように処理することができる。列挙は、同様の使い捨てのキープロテクタがボリュームメタデータになくなるまで、または完了を必要としている未終了の削除動作がなくなるまで継続する。
第1のコンピュータがクライアントコンピュータ200である実施形態では、保護されたボリュームへのアクセスの検出、秘密鍵の取得、保護されたボリュームに関連付けられたキープロテクタの復号、およびキープロテクタの削除に関連して上記で述べた機能は、pre−OS暗号化モジュール262または暗号化フィルタドライバ246によって行うことができる。例えば、保護されたOSボリュームへのアクセスがシステム起動時に試みられる場合は、pre−OS暗号化モジュール262がそのような機能を行い、保護されたデータボリュームへのアクセスが実行時に試みられる場合は暗号化フィルタドライバ246がそれらの機能を行うことができる。ただし、これは例に過ぎず、クライアントコンピュータ200内の他のコンポーネントを使用してこれらの機能を行ってもよい。
B.TPMおよび人間の介在を使用する一度限りのロック解除に基づく一度限り使用可能な認証方法
図5に、第1のコンピュータの保護されたボリュームに記憶された暗号化データへのアクセスを制御する第2の一度限り使用可能な認証方法の例のフローチャート500を示す。下記の説明で明らかにするように、フローチャート500の方法は、TPMおよび人間の介在を使用する一度限りのロック解除の発想に基づく。フローチャート500の方法は、上記I.Bの項で説明した個々の攻撃タイプすべてとそれらの多数の組み合わせを阻止する。ただし、同項で述べた攻撃タイプ(2)と(4)の組み合わせには無効である可能性がある。
フローチャート500の方法では、第1のコンピュータにTPMが存在することが必要となる。この方法は、TPMのエクステンド(extend)およびシール動作がそれぞれハッシュ化と公開鍵による暗号化に相当し、したがってそれらの動作はTPMの支援を受けずに別のエンティティによって行えるのに対し、秘密鍵による復号に相当するTPMのアンシール動作はTPM自体でしか行うことができないことを利用する。TPMを使用してエクステンド、シールおよびアンシール動作を行う方式は当業者には知られていよう。
図5に示すように、フローチャート500の方法はステップ502で開始し、TPMのシール動作を行って、保護されたボリュームをTPMの公開鍵で復号するために必要なボリューム固有の暗号鍵を暗号化し、暗号化したボリューム固有の暗号鍵を、ランダム文字列をハッシュ化する(「S」と呼ぶ場合がある)ことで生成される値にバインドすることにより、キープロテクタを生成する。実装に応じて、ステップ502を行うために必要とされる動作は、TPMを備える第1のコンピュータが行っても、TPMを備える第1のコンピュータとTPMを備えない第2のコンピュータとの組み合わせで行ってもよい。第1のコンピュータは例えばクライアントコンピュータ200であり、第2のコンピュータは例えば、サーバ106または管理者コンピュータ108である。以下にこのステップを行うための各種手法を説明するが、さらに他の手法を用いてもよい。
例えば、一実施形態では、第1のコンピュータが第2のコンピュータに接触する。第1のコンピュータからの接触に応答して、第2のコンピュータは、ランダム文字列Sを生成し、次いでハッシュ関数をSに適用することにより、ランダム文字列Sのハッシュを生成する。そしてハッシュが第1のコンピュータに送られる。第1のコンピュータはハッシュをTPMプラットフォームコンフィギュレーションレジスタ(PCR)の値として使用し、TPMのシール動作を行ってボリューム固有の暗号鍵をTPMの公開鍵に従って暗号化すると共に、暗号化されたボリューム固有の暗号鍵をPCR値にバインドする。このTPMシール動作の実行によりキープロテクタが生成される。
代替実施形態では、第1のコンピュータがボリューム固有の暗号鍵および第1のコンピュータ内にあるTPMの公開鍵を第2のコンピュータに通信する。第2のコンピュータはランダム文字列Sを生成し、ハッシュ関数を適用してPCR値を生成し、TPMのシール動作を行ってボリューム固有の暗号鍵をTPMの公開鍵に従って暗号化し、また暗号化されたボリューム固有の暗号鍵をPCR値にバインドする。上記のように、第2のコンピュータは、第1のコンピュータのTPMにアクセスすることができなくてもTPMのシール動作を行うことができる。このTPMのシール動作の実行によりキープロテクタが生成され、第2のコンピュータはそのキープロテクタを第1のコンピュータに送り返す。
さらに別の代替実施形態では、第1のコンピュータがランダム文字列Sを生成してからTPMのエクステンド動作を行ってTPMのPCRにランダム文字列Sのハッシュ化バージョンを書き込む。そして、第1のコンピュータは、TPMシール動作を行ってボリューム固有の暗号鍵をTPMの公開鍵に従って暗号化すると共に、暗号化されたボリューム固有の暗号鍵をPCR値にバインドすることにより、キープロテクタを生成する。第1のコンピュータはランダム文字列Sのコピーを第2のコンピュータに送信し、自身のランダム文字列Sのコピーをローカルメモリから削除する。
さらに別の代替実施形態では、第1のコンピュータは人間による入力を要求する。要求に応答して、第1のコンピュータのユーザがIT管理者または他の権限者に接触し、接触に応じてIT管理者が第2のコンピュータを使用してランダム文字列Sを生成し、ハッシュ関数を適用することにより、ランダム文字列Sのハッシュを生成する。そして、IT管理者はアウトオブバンド(out−of−band)機構(例えば電話、電子メールなど)を介してユーザにハッシュを伝え、ユーザはハッシュを第1のコンピュータに入力する。第1のコンピュータはハッシュをPCR値として使用し、TPMのシール動作を行ってボリューム固有の暗号鍵をTPMの公開鍵に従って暗号化すると共に、暗号化されたボリューム固有の暗号鍵をPCR値にバインドする。このTPMシール動作の実施によりキープロテクタが生成される。
ステップ504で、キープロテクタが第1のコンピュータのローカルメモリに記憶される。例えば、このステップは、保護されたボリュームのボリュームメタデータの一部としてキープロテクタを記憶することからなることができる。
ステップ506で、ランダム文字列Sが、第2のコンピュータからはアクセスできるが第1のコンピュータからはアクセスできないメモリに記憶される。例えば、第2のコンピュータがランダム文字列Sを生成するステップ502を実施する上記各種方法にさらに従うと、第2のコンピュータは、ランダム文字列Sのコピーを、第2のコンピュータからはアクセスできるが第1のコンピュータからはアクセスできないメモリに記憶し、ランダム文字列Sを第1のコンピュータに通信することは決してしない。また、第1のコンピュータがランダム文字列Sを生成するステップ502を実施する上記方法にさらに従うと、第1のコンピュータは、ランダム文字列Sのコピーを第2のコンピュータに送信して、第2のコンピュータからはアクセスできるが第1のコンピュータからはアクセスできないメモリに記憶させ、その後自身のランダム文字列Sのコピーをローカルメモリから削除する。
判定ステップ508で、第1のコンピュータは、保護されたボリュームにアクセスする試みが検出されたかどうかを判定する。保護されたボリュームにアクセスする試みが検出されていない場合は、判定ステップ508を繰り返す。保護されたボリュームにアクセスする試みが検出された場合は、制御がステップ510に進む。
ステップ510で、保護された鍵にアクセスする試みが検出されたことに対応して、第1のコンピュータが第2のコンピュータからランダム文字列Sを取得する。
ステップ512で、第1のコンピュータは、ランダム文字列Sを利用するTPMのアンシール動作を行うことにより、ボリューム固有の暗号鍵を取得する。詳細には、第1のコンピュータは、TPMのエクステンド動作を行って、TPMのPCRに、ハッシュ化されたバージョンのランダム文字列Sを書き込む。次いで第1のコンピュータはPCR値を使用するTPMのアンシール動作を行ってシールされているボリューム固有の暗号鍵を復号する。そして、そのボリューム固有の暗号鍵を使用して保護されたボリュームの暗号化データを復号することができる。一実施形態では、ボリューム固有の暗号鍵は、第1のボリューム固有の暗号鍵(例えばVMK)からなり、それを使用して第2のボリューム固有の暗号鍵(例えばFVEK)を復号することができ、そして第2のボリューム固有の暗号鍵を使用して保護されたボリュームの個々のセクタを復号することができる。
ステップ514で、第2のコンピュータは、第2のコンピュータからアクセス可能なメモリからランダム文字列Sを削除する。このステップにより、以後第1のコンピュータがランダム文字列Sを取得することができず、したがってキープロテクタを再度アンシールできなくなることが保証される。
上記のように、ステップ510で、第1のコンピュータは第2のコンピュータからランダム文字列Sを取得する。このステップでランダム文字列Sが通常のネットワーク通信を介して第2のコンピュータから直接第1のコンピュータに送信された場合は、その際にランダム文字列Sが、そのような通信を盗聴することが可能な攻撃者にさらされることになる。この問題に対処するために、一実施形態では、人間の介在に基づくチャレンジ−レスポンス機構を使用して必要な情報を転送する。この機構によると、保護されたボリュームへのアクセスが要求される時、第1のコンピュータはランダムなチャレンジを生成し、それを第1のコンピュータのユーザに表示する。そして、ユーザは、アウトオブバンド通信経路(電話、電子メールなど)によりIT管理者または第2のコンピュータの他の権限ユーザに接触し、チャレンジを伝える。IT管理者はチャレンジを第2のコンピュータに入力し、第2のコンピュータは、チャレンジを可逆に(例えばXOR演算)ランダム文字列Sと組み合わせてレスポンスRを生成し、ランダム文字列Sを自身のメモリから削除して再度使用することができないようにする。次いでレスポンスRが管理者からアウトオブバンド通信経路を通じて第1のコンピュータのユーザに通信され、第1のコンピュータのユーザはレスポンスを第1のコンピュータに入力する。第1のコンピュータはレスポンスRからランダム文字列Sを抽出し、ランダム文字列SをPRCの中に展開し、PCRを使用してボリューム固有の暗号鍵をアンシールする。
第1のコンピュータがクライアントコンピュータ200である実施形態では、保護されたボリュームへのアクセスの検出、ランダム文字列Sの取得、およびTPMアンシール動作の実行に関して上記で説明した機能は、pre−OS暗号化モジュール262または暗号化フィルタドライバ246によって行うことができる。例えば、保護されたOSボリュームへのアクセスがシステム起動時に試みられる場合はpre−OS暗号化モジュール262がそのような機能を行い、一方、保護されたデータボリュームへのアクセスが実行時に試みられる場合は暗号化フィルタドライバ246がそれらの機能を行うことができる。ただし、これらは例に過ぎず、クライアントコンピュータ200内の他のコンポーネントを使用してそれらの機能を行ってもよい。
C.TPMおよびサーバの介在を使用する一度限りのロック解除に基づく一度限り使用可能な認証方法
図6Aおよび図6Bに、第1のコンピュータの保護されたボリュームに記憶された暗号化データへのアクセスを制御するための第3の例示的な一度限り使用可能な認証方法のフローチャート600をまとめて示す。下記の説明で明らかにするように、フローチャート600の方法は、TPMおよびサーバの介在を使用する一度限りのロック解除の発想に基づく。フローチャート600の方法は、項I.Bで説明した個々の攻撃タイプすべてとそれらの攻撃の組み合わせを阻止する。
フローチャート600の方法では、第1のコンピュータにTPMが存在することが必要となる。先に説明したフローチャート500の方法と同様に、フローチャート600の方法は、TPMのエクステンドおよびシール動作がそれぞれハッシュ化と公開鍵による暗号化に相当し、したがって、それらの動作はTPMの支援を受けずに別のエンティティによって行えるのに対し、秘密鍵による復号に相当するTPMのアンシール動作はTPM自体でしか行うことができないことを利用する。TPMを使用してエクステンド、シールおよびアンシール動作を行う方式は当業者には知られていよう。
図6Aに示すように、フローチャート600の方法はステップ602で開始し、ステップ602では、保護されたボリュームを復号するために必要なボリューム固有の暗号鍵を第2のコンピュータに関連付けられた公開鍵で暗号化することにより、第1のキープロテクタが生成される。実装に応じて、このステップは、適切な配布経路を介して第2のコンピュータから公開鍵を受け取った後に第1のコンピュータが行っても、または第2のコンピュータで行い、その後第2のコンピュータから第1のコンピュータにキープロテクタを送信してもよい。さらに他の方法を使用してこのステップを行うことも可能である。
ステップ604で、第1のキープロテクタを第1のコンピュータのローカルメモリに記憶する。例えば、このステップは、保護されたボリュームのボリュームメタデータの一部としてキープロテクタを記憶することからなることができる。
図6Bに示すように、ステップ604の後に判定ステップ606が行われる。判定ステップ606では、第1のコンピュータが、保護されたボリュームにアクセスする試みが検出されたかどうかを判定する。保護されたボリュームにアクセスする試みが検出されていない場合は、判定ステップ606を繰り返す。保護されたボリュームにアクセスする試みが検出された場合は、制御はステップ608に進む。
ステップ608で、第1のコンピュータで生成された第1の乱数に基づいて第1のコンピュータが第1のPCR値を生成し、これをPCRxと表す。このステップは、例えばTPMのエクステンド動作を行って乱数を第1のコンピュータ上のTPMの特定のPCRに展開することによって行うことができ、特定のPCRは事前にゼロに初期化されている。第1の乱数は第1のコンピュータのローカルメモリに記憶される。
ステップ610で、第1のコンピュータがキープロテクタ、第1のPCR値(PCRx)および第1のPCR値の認証子を第2のコンピュータに送信する。一実施形態では、第1のPCR値の認証子は、偽造不可能な署名されたPCR値のセットからなり、これはPCRxを含み、第1のコンピュータのTPMのクオート(quote)機能を使用して生成される。この認証子の提供により、第1のコンピュータがRCRxの生成に使用された乱数に確実にバインドされる。
ステップ612で、第2のコンピュータは、第2のコンピュータの公開鍵に対応する秘密鍵を使用して第1のキープロテクタを復号することにより、ボリューム固有の暗号鍵を取得する。
ステップ614で、第2のコンピュータは、第1のPCR値(PCRx)および第2のコンピュータで生成された第2の乱数の両方に基づいて第2のPCR値を生成する。一実施では、このステップは、TPMのエクステンド動作を行って、第2の乱数のハッシュ化バージョンをPCRxに付加することを伴う。上記のように、第2のコンピュータは、第1のコンピュータのTPMにアクセスすることができなくともTPMのエクステンド動作を行うことができる。第2の乱数は、第2のコンピュータからアクセス可能なメモリに記憶される。
ステップ616で、第2のコンピュータは、TPMのシール動作を行ってボリューム固有の暗号鍵を暗号化し、暗号化されたボリューム固有の暗号鍵を第2のPCR値にバインドすることにより第2のキープロテクタを生成する。上記のように、第2のコンピュータは、第1のコンピュータのTPMにアクセスすることができなくともTPMのシール動作を行うことができる。
ステップ618で、第2のコンピュータは第2のキープロテクタおよび第2の乱数を第1のコンピュータに送信する。
ステップ620で、第1のコンピュータは第1のPCR値および第2の乱数の両方に基づいて第2のPCR値を生成する。一実施形態では、このステップは、TPMのエクステンド動作を行って第2の乱数のハッシュ化バージョンをPCRxに付加することからなる。
ステップ622で、第1のコンピュータは、第2のPCR値を利用するTPMのアンシール動作を第2のキープロテクタに行うことにより、ボリューム固有の暗号鍵を取得する。このTPMアンシール動作は、第1のコンピュータのTPMを使用してしか行うことができない。そして、そのボリューム固有の暗号鍵を使用して、保護されたボリュームの暗号化データを復号することができる。一実施形態では、ボリューム固有の暗号鍵は、第1のボリューム固有の暗号鍵(例えばVMK)からなり、その暗号鍵を使用して第2のボリューム固有の暗号鍵(例えばFVEK)を復号することができ、その第2のボリューム固有の暗号鍵を使用して保護されたボリュームの個々のセクタを復号することができる。
ステップ624で、第1のコンピュータは、第1のコンピュータのローカルメモリから第1の乱数および第2の乱数を削除し、第2のコンピュータは、第2のコンピュータからアクセス可能なメモリから第2の乱数を削除する。このようにして第1の乱数および第2の乱数を削除することにより、ボリューム固有の暗号鍵をアンシールするために必要なPCR値を再作成することができなくなる。
前述のフローチャート600の方法は、それ単独では、第1のコンピュータにある認証コードが改ざんされていないという保証は提供しない。そのような保証が望まれる場合は、以下のようなこの方法の拡張を使用することができる。
第1のコンピュータのシステム起動時に、第1のコンピュータにある認証コードを計測してTPMのPCRに書き込む(measure)。このPCR値をPCRyと呼ぶ。ステップ608で、第1のコンピュータで生成された乱数を計測してTPMの別のPCRに書き込むことにより、上記のように値PCRxが生成される。
ステップ610で、第1のコンピュータはキープロテクタ、PCRx、PCRy、およびPCRxとPCRyの認証子を第2のコンピュータに送信する。一実施形態では、PCRxおよびPCRyの認証子は、偽造不可能な署名されたPCR値のセットからなり、これはPCRxおよびPCRyを含み、第1のコンピュータのTPMのクオート機能を使用して生成される。
第2のコンピュータは、PCRyを既知の合格値のデータベースと比較するか、または事前に第1のコンピュータから取得した信頼される値と比較することにより、PCRyを検証する。この検証が不合格の場合、第2のコンピュータは認証要求を拒否する。
一方、検証が合格の場合は、ステップ614で、第2のコンピュータが、第1のPCR値(PCRx)および上記の要領で第2のコンピュータで生成された第2の乱数の両方に基づいて第2のPCR値を生成する。そして、ステップ616で、第2のコンピュータが、TPMのシール動作を行ってボリューム固有の暗号鍵を暗号化し、暗号化されたボリューム固有の暗号鍵を第2のPCR値およびPCRyにバインドすることにより第2のキープロテクタを生成する。
ステップ622で、第1のコンピュータが、第2のPCR値およびPCRyを利用するTPMアンシール動作を第2のキープロテクタに行うことによりボリューム固有の暗号鍵を取得する。
前述の説明では、第1のコンピュータにある認証コードを計測して、PCRyと呼ばれる、TPMの1つのPCRに書き込むと述べた。しかし、この方法は、認証コードを計測してTPMの複数個のPCRに書き込むように一般化することができる。複数のPCRを第2のコンピュータに送信し、検証し、使用して、上記で1つのPCR値PCRyを参照して説明したのと同様にして第2のキープロテクタを生成することができる。
第1のコンピュータがクライアントコンピュータ200である実施形態では、保護されたボリュームへのアクセスの検出、第1のキープロテクタの生成と第2のコンピュータへの送信、第2のキープロテクタの取得とアンシール、および第1のコンピュータのローカルメモリからの乱数の削除に関連して上記で述べた機能は、pre−OS暗号化モジュール262または暗号化フィルタドライバ246によって行うことができる。例えば、保護されたOSボリュームへのアクセスがシステム起動時に試みられる場合は、pre−OS暗号化モジュール262がそのような機能を行い、保護されたデータボリュームへのアクセスが実行時に試みられる場合は暗号化フィルタドライバ246がそれらの機能を行うことができる。ただし、これは例に過ぎず、クライアントコンピュータ200内の他のコンポーネントを使用してこれらの機能を行ってもよい。
D.TPMの委任を使用する一度限りのロック解除に基づく一度限り使用可能な認証方法
図7Aおよび図7Bに、第1のコンピュータの保護されたボリュームに記憶された暗号化データへのアクセスを制御するための第4の例示的な一度限り使用可能な認証方法のフローチャート700をまとめて示す。下記の説明で明らかにするように、フローチャート700の方法は、TPMの委任を使用する一度限りのロック解除の発想に基づく。TPMの委任、および本明細書でTPM委任に関連して記載する機能、動作および性質は当業者に知られていよう。フローチャート700の方法は、上記のI.Bの項で説明したリプレー攻撃のタイプに強い。
図7Aに示すように、フローチャート700の方法はステップ702で開始し、ステップ702では、第1のコンピュータが、保護されたボリュームを復号するために必要とされるボリューム固有の暗号鍵を、第1のコンピュータのTPMから提供される移動不可能な暗号鍵で暗号化することによりキープロテクタを生成する。特定の実装では、移動不可能な暗号鍵は、秘密使用権限(usageAuth)を有し、これもボリューム固有の暗号鍵である。
ステップ704で、第1のコンピュータは、TPMに移動不可能な暗号鍵の鍵委任エントリを生成し、鍵委任エントリは、単調増加のみが可能な、エントリに関連付けられた検証カウンタを有する。
ステップ706で、第1のコンピュータは、第1のコンピュータで生成された乱数Xおよび検証カウンタの現在の値に基づいて使い捨ての認証文字列を生成する。使い捨ての認証文字列は、HMAC(検証用カウント値X)と定義することができるHMAC演算を行うことによって生成することができる。当業者には理解されるように、HMAC演算は、TPMで行うことができる鍵付きハッシュを利用するメッセージ認証コード(MAC)演算である。
ステップ708で、第1のコンピュータは、乱数Xをその識別子と共に第2のコンピュータにセキュアに送信し、第2のコンピュータからアクセス可能なメモリに記憶させる。
ステップ710で、第1のコンピュータが、使用権限(usageAuth)が使い捨ての認証文字列に設定された鍵委任ブラブ(blob)をTPM内に生成する。
ステップ712で、第1のコンピュータは、キープロテクタ、乱数識別子、および鍵委任ブラブをローカルメモリに(例えば保護されたボリュームのボリュームメタデータに)記憶し、同時に第1のコンピュータのローカルメモリから使い捨ての認証文字列を削除する。第1のコンピュータは、乱数Xをボリューム固有の暗号鍵で暗号化し、暗号化した乱数をその一意の識別子と共にローカルメモリに記憶することもできる。
図7Bに示すように、ステップ712の後に判定ステップ714が行われる。判定ステップ714で、第1のコンピュータが、保護されたボリュームにアクセスする試みが検出されたかどうかを判定する。保護されたボリュームにアクセスする試みが検出されていない場合は、判定ステップ714を繰り返す。保護されたボリュームにアクセスする試みが検出されている場合は、制御はステップ716に進む。
ステップ716で、第1のコンピュータは、検証カウンタの現在の値と乱数識別子を第2のコンピュータに送信する。ステップ718で、第2のコンピュータは、乱数識別子を使用して、第2のコンピュータからアクセス可能なメモリから乱数を取得する。
ステップ720で、第2のコンピュータは、取得した乱数と検証カウンタの現在の値に基づいて使い捨ての認証文字列を生成し、ステップ722で、第2のコンピュータは使い捨ての認証文字列を第1のコンピュータに送信する。
ステップ724で、第1のコンピュータは、使い捨ての認証文字列を使用してキープロテクタを復号することによりボリューム固有の暗号鍵を取得する。詳細には、このステップは、まず使い捨ての認証文字列を使用して移動不可能な鍵をロック解除し、次いでその移動不可能な鍵を使用してキープロテクタを復号することを伴う。そして、ボリューム固有の暗号鍵を使用して、保護されたボリュームの暗号化データを復号することができる。一実施形態では、ボリューム固有の暗号鍵は第1のボリューム固有の暗号鍵(例えばVMK)からなり、その暗号鍵を使用して第2のボリューム固有の暗号鍵(例えばFVEK)を復号することができ、その第2のボリューム固有の暗号鍵を使用して保護されたボリュームの個々のセクタを復号することができる。ボリューム固有の暗号鍵が第1のコンピュータからアクセスできるようになるため、第1のコンピュータは、このステップで乱数Xの暗号化バージョンを復号することもできることに留意されたい。
ステップ726で、第1のコンピュータは、第1のコンピュータによる検証カウンタを増分し、それにより委任ブラブを無効化する。これにより、その使い捨ての認証文字列を使用して、キープロテクタを復号するために必要な移動不可能な鍵をロック解除できなくなることが保証される。ステップ726は、保護されたボリュームが実際に復号される前に行わなければならないことに留意されたい。
ステップ726の後、第1のコンピュータは、乱数X(ステップ724で復号されている)と新しい検証用カウント値を使用して、第2のコンピュータに送信する新しい使い捨ての認証文字列と新しい鍵委任ブラブを生成し、それにより認証機構を再整備することができる。この手法により、乱数Xは一度のみ第2のコンピュータに通信すればよいことが保証され、それにより、乱数が潜在的な攻撃者にさらされることを抑制する。代替実施形態では、認証機構が再整備されるたびに第1のコンピュータで新しい乱数を生成できることに留意されたい。
第2のコンピュータは、複数の連続した検証カウント値のための使い捨ての認証文字列を事前に要求する、または、所与の識別子による要求の回数や順序外れの要求を制限する、または、すべての要求をログに記録、監視し、同じ識別子が2度使われた場合は警告を発する等により、追加的な保護を得ることができる。また、第2のコンピュータは、操作者不在の再起動が予想される計画された保全期間外は利用できないようにしてもよい。
第1のコンピュータがクライアントコンピュータ200である実施形態では、保護されたボリュームへのアクセスの検出、第2のコンピュータへの検証カウンタの現在の値と乱数識別子の送信、ボリューム固有の暗号鍵の取得、および検証カウンタの増分に関連して上記で述べた機能は、pre−OS暗号化モジュール262または暗号化フィルタドライバ246によって行うことができる。例えば、保護されたOSボリュームへのアクセスがシステム起動時に試みられる場合は、pre−OS暗号化モジュール262がそのような機能を行い、保護されたデータボリュームへのアクセスが実行時に試みられる場合は暗号化フィルタドライバ246がそれらの機能を行うことができる。ただし、これは例に過ぎず、クライアントコンピュータ200内の他のコンポーネントを使用してこれらの機能を行ってもよい。
III.例示的なコンピュータシステムの実施
図8に、本明細書に記載される各種の実施形態を実施するために使用できる例示的なコンピュータシステム800を示す。例えば、コンピュータシステム800を使用して、図1のクライアントコンピュータ1041〜104N、サーバ106、または管理者コンピュータ108、または図2のクライアントコンピュータ200を実施することができる。同様に、上記で図3、4、5、6A、6B、7A、および7Bを参照したフローチャート300、400、500、600、または700を参照して説明した第1のコンピュータまたは第2のコンピュータに備わるとした機能も、コンピュータシステム800を使用して行うことができる。
コンピュータシステム800は、例えば従来のパーソナルコンピュータ、モバイルコンピュータ、またはワークステーションの形態の汎用コンピューティング装置であるか、またはコンピュータシステム800は特殊目的のコンピューティング装置であってもよい。本明細書に提供するコンピュータシステム800の記述は説明のために提供され、制限的なものではない。当業者に知られるように、実施形態はさらに別の種類のコンピュータシステムで実施することも可能である。
図8に示すように、コンピュータシステム800は、処理装置802、システムメモリ804、およびシステムメモリ804を含む各種のシステムコンポーネントを処理装置802に結合するバス806を含む。処理装置802は、1つまたは複数のプロセッサまたは処理コアを備えることができる。プロセッサ806は、数種のプロセッサ構造の1つまたは複数に相当し、それらの種類には、メモリプロセッサまたはメモリコントローラ、ペリフェラルバス、アクセラレーテッドグラフィクスポート、および各種のバスアーキテクチャを使用したプロセッサバスまたはローカルバスが含まれる。システムメモリ804は、ROM(読出し専用メモリ)808およびRAM(ランダムアクセスメモリ)810を含む。基本入出力システム812(BIOS)がROM808に記憶される。
コンピュータシステム800は、以下のドライブの1つまたは複数も有する。ハードディスクの読み書きを行うためのハードディスクドライブ814、取り外し可能磁気ディスク818の読み書きを行うための磁気ディスクドライブ816、および、CD ROM、DVD ROM、または他の光学媒体などの取り外し可能光学ディスク822の読み書きを行うための光学ディスクドライブ820。ハードディスクドライブ814、磁気ディスクドライブ816、および光学ディスクドライブ820は、それぞれハードディスクドライブインタフェース824、磁気ディスクドライブインタフェース826、光学ドライブインタフェース828によりバス806に接続される。これらのドライブとそれに関連するコンピュータ可読媒体は、コンピュータのコンピュータ可読命令、データ構造、プログラムモジュール、および他のデータの不揮発性の記憶を提供する。ハードディスク、取り外し可能磁気ディスクおよび取り外し可能光学ディスクを記載するが、データの記憶には他の種類のコンピュータ可読媒体も使用することができ、それらには、フラッシュメモリカード、デジタルビデオディスク、ランダムアクセスメモリ(RAM)、読出し専用メモリ(ROM)等がある。
ハードディスク、磁気ディスク、光ディスク、ROM、またはRAMには、複数のプログラムモジュールを記憶することができる。それらのプログラムには、オペレーティングシステム830、1つまたは複数のアプリケーションプログラム832、他のプログラムモジュール834、およびプログラムデータ836が含まれる。これらのプログラムは、実行されると、コンピュータシステム800に、上記で図3、4、5、6A、6B、7A、および7Bを参照したフローチャート300、400、500、600、または700を参照して説明した、第1のコンピュータまたは第2のコンピュータに備わる機能を行わせる。
ユーザは、キーボード838やポインティングデバイス840等の入力装置を通じてコンピュータシステム800にコマンドと情報を入力することができる。他の入力装置(図示せず)には、マイクロフォン、ジョイスティック、ゲームコントローラ、スキャナ等がある。一実施形態では、ディスプレイ844と併せてマルチタッチ可能なタッチスクリーンを提供して、ユーザがタッチスクリーン上の1つまたは複数の点への接触(例えば指やスタイラスで)の適用を通じてユーザ入力を行えるようにする。上記および他の入力装置は、多くの場合、バス806に結合されたシリアルポートインタフェース842を通じて処理装置802に接続されるが、パラレルポート、ゲームポート、またはユニバーサルシリアルバス(USB)等の他のインタフェースで接続してもよい。
ディスプレイ844も、ビデオアダプタ846などのインタフェースを介してバス806に接続される。ディスプレイの他に、コンピュータシステム800は、スピーカやプリンタなどの他の周辺出力装置(図示せず)も含むことができる。
コンピュータシステム800は、ネットワークインタフェースもしくはアダプタ850、モデム852、またはネットワークを通じて通信を確立するための他の手段を通じて、ネットワーク848(例えばローカルエリアネットワークや、インターネットなどのワイドエリアネットワーク)に接続される。モデム852は内蔵型の場合も外付けの場合もあり、シリアルポートインタフェース842を介してバス806に接続される。
本明細書で使用する用語「コンピュータプログラム媒体」および「コンピュータ可読媒体」は、一般に、ハードディスクドライブ814に関連するハードディスク、取り外し可能磁気ディスク818、取り外し可能光ディスク822等の非一時的媒体、ならびに、フラッシュメモリカード、デジタルビデオディスク、RAM(ランダムアクセスメモリ)、ROM(読出し専用メモリ)等の他種の媒体を意味するものとして使用する。
上記のように、コンピュータプログラムおよびモジュール(アプリケーションプログラム832および他のプログラムモジュール834を含む)は、ハードディスク、磁気ディスク、光ディスク、ROM、またはRAMに記憶することができる。それらのコンピュータプログラムは、ネットワークインタフェース850またはシリアルポートインタフェース842を介して受け取ることもできる。それらのコンピュータプログラムは、アプリケーションによって実行またはロードされると、コンピュータ800に本明細書に述べる実施形態の機能を実施させる。したがって、そのようなコンピュータプログラムは、コンピュータシステム800のコントローラに相当する。
実施形態は、任意のコンピュータ可読媒体に記憶されたソフトウェアを含むコンピュータプログラム製品も対象とする。そのようなソフトウェアは、1つまたは複数のデータ処理装置で実行されると、データ処理装置を本明細書に記載されるように動作させる。実施形態は、現在または今後知られる、任意のコンピュータによる使用が可能な媒体またはコンピュータ可読媒体を用いることができる。コンピュータ可読媒体の例には、これらに限定されないが、RAM、ハードドライブ、フロッピー(登録商標)ディスク、CD ROM、DVD ROM、zipディスク、テープ、磁気記憶装置、光学記憶装置、MEMSを利用した記憶装置、ナノ技術を利用した記憶装置などの記憶装置が含まれる。
IV.結び
上記で各種実施形態を説明したが、それらは単なる例として提示したものであり、制限ではないことを理解されたい。当業者には、本発明の主旨から逸脱しない範囲内で形態および詳細への各種変更を行うことが可能であることが明らかであろう。したがって、本発明の範囲は上記の例示的実施形態によっては制限されず、特許請求の範囲およびその均等物に従ってのみ定義すべきである。

Claims (14)

  1. 第1のコンピュータの保護されたボリュームに記憶された暗号化データにアクセスする一度限り使用可能な認証方法であって、
    前記保護されたボリュームに記憶された前記暗号化データを復号するために必要とされるボリューム固有の暗号鍵を、ランダムに生成される非対称公開鍵と秘密鍵の対の前記公開鍵で暗号化することにより、キープロテクタを生成するステップであって、前記公開鍵キープロテクタ識別子及び前記秘密鍵の記憶場所を判定するキープロテクタ属性とともに配信される、ステップと、
    前記キープロテクタを前記第1のコンピュータのローカルメモリに記憶するステップであって、前記キープロテクタが一度限り使用可能なキープロテクタであることを示す識別子とともに前記キープロテクタ記憶される、ステップと、
    前記保護されたボリュームにアクセスする試みを検出するのに応答して、
    前記秘密鍵を取得するステップ、
    前記秘密鍵を使用して前記キープロテクタを復号して前記ボリューム固有の暗号鍵を取得するステップ、
    記キープロテクタとともに記憶された識別子に基づき、前記キープロテクタが一度限り使用可能なキープロテクタであるか判断するステップ、
    および
    前記キープロテクタとともに記憶された識別子が一度限り使用可能なキープロテクタであることを示すとき、前記キープロテクタを一度使用した後に、前記キープロテクタを前記第1のコンピュータの前記ローカルメモリから削除するステップ
    を行うステップと
    を含む方法。
  2. 前記ボリューム固有の暗号鍵を使用して、前記保護されたボリュームに記憶された前記暗号化データを復号するステップをさらに含む、請求項1に記載の方法。
  3. 前記ボリューム固有の暗号鍵を使用して、前記保護されたボリュームに記憶された前記暗号化データを復号するステップは、
    前記ボリューム固有の暗号鍵を使用して、第2のボリューム固有の暗号鍵を復号するステップと、
    前記第2のボリューム固有の暗号鍵を使用して、前記保護されたボリュームに記憶された前記暗号化データを復号するステップと
    を含む、請求項2に記載の方法。
  4. 前記秘密鍵を取得するステップは、前記秘密鍵を前記第1のコンピュータの前記ローカルメモリから取得するステップを含む、請求項1に記載の方法。
  5. 前記秘密鍵を取得するステップは、ネットワークを通じて第2のコンピュータから前記秘密鍵を取得するステップを含む、請求項1に記載の方法。
  6. 前記ネットワークを通じて前記第2のコンピュータから前記秘密鍵を取得するステップは、チャレンジ−レスポンス対話の実行が成功した後に前記ネットワークを通じて前記第2のコンピュータから前記秘密鍵を取得するステップを含む、請求項5に記載の方法。
  7. 保護されたボリュームを有する第1のコンピュータであって、ローカルメモリにキープロテクタを記憶するように構成され、前記キープロテクタはトラステッドプラットフォームモジュール(TPM)のシール動作を行うことにより生成され、前記TPMのシール動作は、前記保護されたボリュームに記憶された暗号化データを復号するために必要とされるボリューム固有の暗号鍵を暗号化すること、および前記暗号化されたボリューム固有の暗号鍵を、ランダムデータをハッシュ化することによって生成される値にバインドすることである、第1のコンピュータと、
    第2のコンピュータと、
    前記第2のコンピュータからはアクセスできるが前記第1のコンピュータからはアクセスできない、前記ランダムデータが記憶されるメモリと
    を備えるシステムであって、
    前記第1のコンピュータはさらに、前記保護されたボリュームにアクセスする試みを検出するのに応答して、前記第2のコンピュータから前記ランダムデータを取得し、前記ランダムデータを利用するTPMのアンシール動作を行うことにより前記ボリューム固有の暗号鍵を取得するように構成され、
    前記第2のコンピュータは、前記第2のコンピュータからアクセス可能な前記メモリから前記ランダムデータを削除するように構成される、
    システム。
  8. 前記第1のコンピュータはさらに、前記ボリューム固有の暗号鍵を使用して、前記保護されたボリュームに記憶された前記暗号化データを復号するように構成される、請求項7に記載のシステム。
  9. 前記第1のコンピュータは、前記ボリューム固有の暗号鍵を使用して第2のボリューム固有の暗号鍵を復号し、前記第2のボリューム固有の暗号鍵を使用して、前記保護されたボリュームに記憶された前記暗号化データを復号するように構成される、請求項8に記載のシステム。
  10. 前記第1のコンピュータは、TPMを使用して前記TPMのシール動作を行うことにより前記キープロテクタを生成する、請求項7に記載のシステム。
  11. 前記第2のコンピュータは、TPMを使用しない方式で前記TPMのシール動作を行うことにより前記キープロテクタを生成する、請求項7に記載のシステム。
  12. 前記第1のコンピュータは、前記第2のコンピュータにチャレンジを提供するように構成され、
    前記第2のコンピュータは、前記チャレンジを前記ランダムデータと組み合わせてレスポンスを生成し、前記レスポンスを前記第1のコンピュータに提供するように構成され、
    前記第1のコンピュータはさらに、前記レスポンスから前記ランダムデータを抽出するように構成される、
    請求項7に記載のシステム。
  13. 前記第1のコンピュータは、前記第1のコンピュータのユーザに前記チャレンジを発行して、前記チャレンジをアウトオブバンドで前記第2のコンピュータのユーザに提供させ、前記第2のコンピュータに入力させるように構成される、請求項12に記載のシステム。
  14. 前記第2のコンピュータは、前記第2のコンピュータのユーザに前記レスポンスを発行して、前記レスポンスをアウトオブバンドで前記第1のコンピュータのユーザに提供させ、前記第1のコンピュータに入力させるように構成される、請求項12に記載のシステム。
JP2013516601A 2010-06-21 2011-06-10 暗号化データにアクセスするための一度限り使用可能な認証方法 Active JP5922113B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/819,883 US8745386B2 (en) 2010-06-21 2010-06-21 Single-use authentication methods for accessing encrypted data
US12/819,883 2010-06-21
PCT/US2011/040063 WO2011162990A2 (en) 2010-06-21 2011-06-10 Single-use authentication methods for accessing encrypted data

Publications (3)

Publication Number Publication Date
JP2013531436A JP2013531436A (ja) 2013-08-01
JP2013531436A5 JP2013531436A5 (ja) 2014-07-31
JP5922113B2 true JP5922113B2 (ja) 2016-05-24

Family

ID=45329734

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013516601A Active JP5922113B2 (ja) 2010-06-21 2011-06-10 暗号化データにアクセスするための一度限り使用可能な認証方法

Country Status (5)

Country Link
US (1) US8745386B2 (ja)
EP (2) EP4006763A1 (ja)
JP (1) JP5922113B2 (ja)
CN (1) CN102948114B (ja)
WO (1) WO2011162990A2 (ja)

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009503656A (ja) 2005-07-21 2009-01-29 クレブエックス・リミテッド・ライアビリティ・カンパニー メモリロックシステム
US20100174913A1 (en) * 2009-01-03 2010-07-08 Johnson Simon B Multi-factor authentication system for encryption key storage and method of operation therefor
US9286493B2 (en) 2009-01-07 2016-03-15 Clevx, Llc Encryption bridge system and method of operation thereof
WO2012033496A1 (en) * 2010-09-10 2012-03-15 Hewlett-Packard Development Company, L.P. Unlock a storage device
US8687814B2 (en) * 2011-05-20 2014-04-01 Citrix Systems, Inc. Securing encrypted virtual hard disks
US8856553B2 (en) * 2011-09-12 2014-10-07 Microsoft Corporation Managing self-encrypting drives in decentralized environments
GB201204950D0 (en) * 2012-03-21 2012-05-02 Becrypt Ltd Encryption System and method of encrypting a device
US9703482B2 (en) * 2012-06-29 2017-07-11 Vmware, Inc. Filter appliance for object-based storage system
GB2505211B (en) * 2012-08-22 2014-10-29 Vodafone Ip Licensing Ltd Communications device authentication
US9331964B2 (en) * 2013-02-26 2016-05-03 Creating Revolutions Llc System, method, and apparatus for using a virtual bucket to transfer electronic data
US20140351364A1 (en) * 2013-02-26 2014-11-27 Einar Rosenberg System, method, and apparatus for using a virtual bucket to transfer electronic data
US20150046557A1 (en) * 2013-02-10 2015-02-12 Einar Rosenberg System, method and apparatus for using a virtual bucket to transfer electronic data
US9779245B2 (en) 2013-03-20 2017-10-03 Becrypt Limited System, method, and device having an encrypted operating system
US9619238B2 (en) 2013-04-15 2017-04-11 Amazon Technologies, Inc. Remote attestation of host devices
AU2014254276B2 (en) * 2013-04-15 2016-11-17 Amazon Technologies, Inc. Host recovery using a secure store
CN103534976A (zh) * 2013-06-05 2014-01-22 华为技术有限公司 数据安全的保护方法、服务器、主机及系统
JP6211818B2 (ja) * 2013-06-11 2017-10-11 株式会社東芝 通信装置、通信方法、プログラムおよび通信システム
CN103686714B (zh) * 2013-11-13 2017-01-04 安徽云盾信息技术有限公司 一种基于离线硬件设备的移动加密设备间建立信任的实现方法
US9256725B2 (en) * 2014-02-26 2016-02-09 Emc Corporation Credential recovery with the assistance of trusted entities
EP2913772A1 (de) * 2014-02-28 2015-09-02 Wibu-Systems AG Verfahren und Computersystem zum Schutz eines Computerprogramms gegen Beeinflussung
US10148669B2 (en) * 2014-05-07 2018-12-04 Dell Products, L.P. Out-of-band encryption key management system
US9634833B2 (en) * 2014-06-20 2017-04-25 Google Inc. Gesture-based password entry to unlock an encrypted device
CN107278307A (zh) * 2015-03-12 2017-10-20 维萨国际服务协会 软件层的相互认证
US10078748B2 (en) 2015-11-13 2018-09-18 Microsoft Technology Licensing, Llc Unlock and recovery for encrypted devices
WO2018004027A1 (ko) * 2016-06-29 2018-01-04 주식회사 한글과컴퓨터 문서 편집에 대한 인증이 가능한 웹 기반의 전자 문서 서비스 장치 및 그 동작 방법
CN106657214A (zh) * 2016-09-14 2017-05-10 广东欧珀移动通信有限公司 一种数据迁移的方法及终端
US10467429B2 (en) * 2016-09-14 2019-11-05 Faraday & Future Inc. Systems and methods for secure user profiles
US10515226B2 (en) * 2016-11-21 2019-12-24 Dell Products, L.P. Systems and methods for protected local backup
US10565382B1 (en) * 2016-12-22 2020-02-18 Amazon Technologies, Inc. Maintaining keys for trusted boot code
US10387661B2 (en) * 2017-01-09 2019-08-20 Pure Storage, Inc. Data reduction with end-to-end security
WO2018147878A1 (en) 2017-02-13 2018-08-16 Hewlett-Packard Development Company, L.P. Credentialed encryption
WO2018218353A1 (en) * 2017-05-31 2018-12-06 Crypto4A Technologies Inc. Integrated multi-level network appliance, platform and system, and remote management method and system therefor
US10691837B1 (en) 2017-06-02 2020-06-23 Apple Inc. Multi-user storage volume encryption via secure enclave
US11216411B2 (en) * 2019-08-06 2022-01-04 Micro Focus Llc Transforming data associated with a file based on file system attributes
CN114651251A (zh) * 2019-11-22 2022-06-21 惠普发展公司,有限责任合伙企业 恢复密钥
US11606206B2 (en) * 2020-01-09 2023-03-14 Western Digital Technologies, Inc. Recovery key for unlocking a data storage device
CN111277696A (zh) * 2020-01-21 2020-06-12 上海悦易网络信息技术有限公司 检测苹果手机隐私的方法及设备
CN111695166B (zh) * 2020-06-11 2023-06-06 阿波罗智联(北京)科技有限公司 磁盘加密保护方法及装置
CN113347144A (zh) * 2021-04-14 2021-09-03 西安慧博文定信息技术有限公司 一种互逆加密数据的方法、系统、设备及存储介质
CN113239378B (zh) * 2021-05-17 2022-03-18 中国电子科技集团公司第三十研究所 BitLocker加密卷的口令恢复方法、设备及介质
US11706221B1 (en) * 2021-05-25 2023-07-18 Two Six Labs, LLC Unidirectional atomic messaging
CN113918969B (zh) * 2021-09-28 2023-02-21 厦门市美亚柏科信息股份有限公司 一种基于内存数据搜索Bitlocker解密密钥的方法

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE9600321D0 (sv) * 1996-01-30 1996-01-30 Bjoern Heed Antenn
PT885417E (pt) * 1996-02-09 2002-11-29 Digital Privacy Inc Sistema de controlo/criptografia de acesso
US6918035B1 (en) * 1998-07-31 2005-07-12 Lucent Technologies Inc. Method for two-party authentication and key agreement
US7228437B2 (en) * 1998-08-13 2007-06-05 International Business Machines Corporation Method and system for securing local database file of local content stored on end-user system
EP1076279A1 (en) 1999-08-13 2001-02-14 Hewlett-Packard Company Computer platforms and their methods of operation
US7434065B2 (en) * 2003-09-29 2008-10-07 Broadcom Corporation Secure verification using a set-top-box chip
KR20050059347A (ko) 2003-12-13 2005-06-20 주식회사 드림인테크 디지털 만화 콘텐츠 보호 및 유통을 위한 피투피통합구현방법
EP2267625A3 (en) 2004-04-19 2015-08-05 Lumension Security S.A. On-line centralized and local authorization of executable files
US7571489B2 (en) 2004-10-20 2009-08-04 International Business Machines Corporation One time passcode system
US7506380B2 (en) 2005-01-14 2009-03-17 Microsoft Corporation Systems and methods for boot recovery in a secure boot process on a computer with a hardware security module
US7748031B2 (en) * 2005-07-08 2010-06-29 Sandisk Corporation Mass storage device with automated credentials loading
US20070300080A1 (en) * 2006-06-22 2007-12-27 Research In Motion Limited Two-Factor Content Protection
WO2008011628A2 (en) 2006-07-21 2008-01-24 Google Inc. Device authentication
JP2009004901A (ja) * 2007-06-19 2009-01-08 Ricoh Co Ltd 多機能入出力装置
US7853804B2 (en) * 2007-09-10 2010-12-14 Lenovo (Singapore) Pte. Ltd. System and method for secure data disposal
US8127146B2 (en) 2008-09-30 2012-02-28 Microsoft Corporation Transparent trust validation of an unknown platform

Also Published As

Publication number Publication date
JP2013531436A (ja) 2013-08-01
CN102948114A (zh) 2013-02-27
US8745386B2 (en) 2014-06-03
CN102948114B (zh) 2015-08-05
WO2011162990A2 (en) 2011-12-29
WO2011162990A3 (en) 2012-04-19
EP2583410B1 (en) 2022-04-13
EP4006763A1 (en) 2022-06-01
US20110314279A1 (en) 2011-12-22
EP2583410A4 (en) 2018-04-18
EP2583410A2 (en) 2013-04-24

Similar Documents

Publication Publication Date Title
JP5922113B2 (ja) 暗号化データにアクセスするための一度限り使用可能な認証方法
England et al. A trusted open platform
EP2913956B1 (en) Management control method and device for virtual machines
JP4089171B2 (ja) 計算機システム
KR101067399B1 (ko) 대칭 키 암호화에 기초한 데이터의 저장 및 검색을 위한, 컴퓨팅 장치에서 구현되는 방법, 시스템 및 복수의 명령어를 저장하는 하나 이상의 컴퓨터 판독가능 매체
US9166787B2 (en) Securing encrypted virtual hard disks
US9424430B2 (en) Method and system for defending security application in a user's computer
KR100996784B1 (ko) 공개 키 암호화에 기초한 데이터의 저장 및 검색을 위한, 컴퓨팅 장치에서 구현되는 방법, 시스템 및 복수의 명령어를 저장하는 하나 이상의 컴퓨터 판독가능 매체
EP1679632B1 (en) Systems and methods for securely booting a computer with a trusted processing module
WO2020192406A1 (zh) 数据存储、验证方法及装置
US8561209B2 (en) Volume encryption lifecycle management
KR20170085503A (ko) 암호화된 템플릿으로부터 암호화된 가상 머신의 안전한 생성 기법
WO2019104988A1 (zh) Plc的安全处理单元及其总线仲裁方法
EP3887979A1 (en) Personalized and cryptographically secure access control in operating systems
KR20140051350A (ko) 디지털 서명 권한자 의존형 플랫폼 기밀 생성 기법
JP2008171076A (ja) ジョブ実行装置及びその制御方法
Zhang et al. Security enforcement model for distributed usage control
KR20160102915A (ko) 모바일 가상화 기반의 스마트워크용 보안 플랫폼 관리 장치
Pearson et al. Securing information transfer in distributed computing environments
Sianipar et al. Construction of agent-based trust in cloud infrastructure
KR20100101769A (ko) 컴퓨터용 데이터 보안시스템 및 데이터 보안방법
KR101415403B1 (ko) 공유 가능한 보안공간 제공시스템 및 그 방법
Stumpf et al. An architecture providing virtualization-based protection mechanisms against insider attacks
GB2506604A (en) Method of selectively decrypting encrypted files

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20130712

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20130719

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140610

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140610

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150224

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150525

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20150523

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150728

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151028

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160413

R150 Certificate of patent or registration of utility model

Ref document number: 5922113

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250