JP2016025616A - ディスク・ドライブが記憶するデータを保護する方法および携帯式コンピュータ - Google Patents
ディスク・ドライブが記憶するデータを保護する方法および携帯式コンピュータ Download PDFInfo
- Publication number
- JP2016025616A JP2016025616A JP2014150643A JP2014150643A JP2016025616A JP 2016025616 A JP2016025616 A JP 2016025616A JP 2014150643 A JP2014150643 A JP 2014150643A JP 2014150643 A JP2014150643 A JP 2014150643A JP 2016025616 A JP2016025616 A JP 2016025616A
- Authority
- JP
- Japan
- Prior art keywords
- disk drive
- pcr
- encryption key
- portable computer
- boot
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 230000009471 action Effects 0.000 claims abstract description 39
- 238000001514 detection method Methods 0.000 claims abstract description 38
- 238000012546 transfer Methods 0.000 claims description 45
- 230000007246 mechanism Effects 0.000 claims description 43
- 230000006870 function Effects 0.000 claims description 27
- 238000007789 sealing Methods 0.000 claims description 13
- 230000008569 process Effects 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 6
- 230000007704 transition Effects 0.000 claims description 5
- 238000012545 processing Methods 0.000 claims description 4
- 230000000903 blocking effect Effects 0.000 claims 3
- 238000003752 polymerase chain reaction Methods 0.000 description 17
- 238000011084 recovery Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 239000011022 opal Substances 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000006266 hibernation Effects 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000011109 contamination Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000004064 recycling Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000007958 sleep Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0877—Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/575—Secure boot
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/86—Secure or tamper-resistant housings
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
- G06F3/0623—Securing storage systems in relation to content
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic 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 cryptographic hash functions
- H04L9/3239—Cryptographic 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 cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing 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/2107—File encryption
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Stored Programmes (AREA)
Abstract
【課題】プリブートが完了したあとにディスク・ドライブに送出される暗号キーを保護する方法を提供する。【解決手段】ディスク・ドライブ19は、ハードウェアBitLocker(登録商標)のように、システムから受け取ったデータを暗号化して格納し、システムからマスター・キーを受け取ったときに暗号化したデータを復号してシステムに返送する。パワー・オフ状態からのプリブートを開始したときに、プリブートが完了する前にタンパー検出回路27がディスク・ドライブに対する物理的なタンパー行為を検出してタンパー・ビット153をセットする。タンパー・ビット153を参照して保護モジュール163がPCR群173を改変し、マスター・キー175bのアンシールを阻止する。【選択図】図1
Description
本発明は、ディスク・ドライブが記憶するデータを保護する技術に関し、さらには、暗号化したデータを読み取るためにシステムがディスク・ドライブに送る暗号キーを保護する技術に関する。
コンピュータが搭載するハードディスク・ドライブ(HDD)やソリッド・ステート・ドライブ(SSD)などが記憶するデータを保護することは情報処理技術の分野における普遍的な課題である。マイクロソフト(登録商標)社では、従来からWindows(登録商標)BitLocker(登録商標)Drive Encryption(以後、BitLocker(登録商標))というディスク・ドライブのボリューム全体を暗号化する技術を提供している。
従来のBitLocker(登録商標)は、システムのCPUがデータを暗号化したあとにHDDに書き込んでいる。このようなBitLocker(登録商標)を、以後、ソフトウェアBitLocker(登録商標)ということにする。ソフトウェアBitLocker(登録商標)を使用すると、HDDの盗難やコンピュータのリサイクルを通じてデータが盗聴される危険性をなくすことができるが、最初の暗号化に数時間かかったり、アクセルの都度発生する暗号化処理および復号処理のためにシステムに負担がかかってパフォーマンスの低下をもたらしたりする。
TCG(Trusted Computing Group)は、コンピューティング環境におけるセキュリティ技術の向上を目的として、2012年にストレージ・セキュリティの最新仕様としてのTCG OPAL(TCG Storage Security Subsystem Class: Opal ”Specification Version 2.00”)を発表した。TCG OPALに準拠したFDE(Hardware-based full disk encryption)ディスク・ドライブを多くのベンダーが提供している。FDEディスク・ドライブは、ディスクまたはディスク・ボリュームに存在するすべてのデータを内部に搭載するハードウェアおよびデバイス・ファームウェアによる暗号技術で暗号化する。暗号化には128ビットまたは256ビットのAES(Advanced Encryption Standard)キーを利用する。
マイクロソフト(登録商標)社では、TCG OPALとIEEE1667に準拠したeDriveと称するHDDを利用した、OSに組み込んだ新たなBitLocker(登録商標))の仕様を策定し、Windows(登録商標)8から実装を開始している。以後、このようにHDDの内部で暗号処理をするBitLocker(登録商標)をハードウェアBitLocker(登録商標)ということにする。ハードウェアBitLocker(登録商標)では、システムから受け取ったすべてのデータをeDriveが内部で暗号化する。
特許文献1は、HDDバスワードの盗聴を防止する発明を開示する。同文献には、BIOSやUEFIといったシステム・ファームウェアが、サスペンド状態やハイバネーション状態から復帰する際に、それ以前にディスク・ドライブが本体から取り外されたことを検出したときは、HDDパスワードの自動送出を停止してユーザにパスワードを要求するかまたは強制的にシャットダウンしてパスワードを保護することが記載されている。
ハードウェアBitLocker(登録商標)は、ソフトウェアBitLocker(登録商標)に比べてパフォーマンスに優れているという利点がある一方で、暗号キーの盗聴という新たな問題が存在することがわかってきた。ハードウェアBitLocker(登録商標)では、eDriveがシステムから受け取ったデータを、フルボリューム暗号化キー(FVEK)で暗号化する。FVEKは、システムが保有するボリューム・マスター・キー(VMK)で暗号化される。VMKは、TCGが仕様を規定するTPM(Trusted Platform Module)というセキュリティ・チップで保護されるため、システムが保持している間に盗聴される危険性は極めて低い。
ハードウェアBitLocker(登録商標)は、eDriveが記憶する暗号化されたデータを読み取る際に、VMKをeDriveに転送してFVEKを復号しておく必要がある。eDriveがブート・ドライブの場合は、ハードウェアBitLocker(登録商標)はブート・ファイルのロードを開始する前にVMKをeDriveに転送して復号する必要がある。イネーブルに設定されたハードウェアBitLocker(登録商標)は、ブート・ルーチンの間に自動的にVMKをeDriveに転送する。このとき、不正にコンピュータを取得した盗聴者が、eDriveとマザーボードのコネクタの間に盗聴装置を挿入してからブートを開始すると、システムが自動的に転送するVMKが盗聴される。ソフトウェアBitLocker(登録商標)では、HDDに暗号キーを転送する必要がないためこのような問題は発生しない。
特許文献1に記載するシステム・ファームウェアが送出するHDDパスワードの保護方法では、盗聴装置の挿入を検出したとしても、ハードウェアBitLocker(登録商標)によるVMKの自動的な送出を直接停止することができない。ハードウェアBitLocker(登録商標)では、VMKを送る際に毎回ユーザ認証を要求する設定をすることもできる。コンピュータの真正なオーナーだけが知っているパスワードでユーザ認証をVMKの転送条件にすることで盗聴を防ぐことはできる。なお、VMKはTPMを使って保護しているため、eDriveを取り外して他のコンピュータに装着しても、当該コンピュータではVMKを得ることができない。
しかし、ブートやスリープ状態からのレジュームの際にパスワードを要求することは、コンピュータの迅速な復帰を阻害するため好ましいことではない。また、パスワードの管理は負担になり、ユーザはパスワードを設定しない場合も想定できるためパスワードによる保護は現実的に採用し難い。ハードウェアBitLocker(登録商標)は、自動的かつ透過的にボリューム全体を暗号化して保護できる利点があるため、VMKの保護もこのような利点を損なわないように行うことが望ましい。さらに、VMKの保護をコンピュータのセキュアな環境で実行するシステム・ファームウェアだけで行うことができれば確実でかつ実装が容易になるため、コンピュータに保護機能を実装しやすくなる。
そこで本発明の目的は、ディスク・ドライブの内部で暗号化したデータを保護する方法を提供することにある。さらに本発明の目的は、プリブートが完了したあとにディスク・ドライブに自動的に送出される暗号キーを保護する方法を提供することにある。さらに本発明の目的は、暗号キーをユーザに負担をかけないで保護する方法を提供することにある。さらに本発明の目的は、暗号キーをシステム・ファームウェアだけで保護する方法を提供することにある。さらに本発明の目的は、そのような方法を実現する携帯式コンピュータおよびコンピュータ・プログラムを提供することにある。
本発明は、ボリュームの全体を暗号化し、システムから暗号キーを受け取ったときにボリュームのデータを復号するディスク・ドライブを実装する携帯式コンピュータに関する。携帯式コンピュータは、パワー・オフ状態からブートを開始したときにディスク・ドライブに暗号キーを送るキー転送機構と、ディスク・ドライブに対する物理的なタンパー行為を検出するタンパー検出機構と、タンパー検出機構が物理的なタンパー行為を検出したことに応答してキー転送機構がディスク・ドライブに自動的に暗号キーを送る動作を阻止する保護機構とを有する。
物理的なタンパー行為を検出しないときは、キー転送機構が自動的に暗号キーを送ってボリュームのデータを復号しブートを完了させることができる。しかし物理的なタンパー行為を検出したときは、暗号キーの自動的な転送を阻止するため、盗聴装置の挿入によって暗号キーが盗聴される危険性を軽減することができる。保護機構は、PCR(Platform Configuration Register)を利用して暗号キーをシールするTPMを含み、キー転送機構は暗号キーを転送する前にTPMに暗号キーのアンシール要求をすることができる。
保護機構は、暗号キーのシールに利用したPCRにシステム・ファームウェアがプリブート中にハッシュ値を書き込んだあとに、ダミーのハッシュ値を書き込むことができる。その結果、TPMはアンシール要求があっても暗号キーをアンシールしないため、暗号キーを送る動作を阻止することができる。シールに利用するPCRは、携帯式コンピュータのプラットフォームに固有のPCRを含むときは、保護機構に固有のPCRにだけダミーのハッシュ値を書き込むことができる。
その結果、物理的なタンパー行為が検出されたときは固有のPCRへのダミーのハッシュ値の書き込みで、また、マルウェアで汚染されたときは、マルウェアによる他のPCRへのハッシュ値の書き込みまたは汚染されたシステム・ファームウェアによるハッシュ値の書き込みで暗号キーのアンシールを停止することができる。固有のPCRにダミーのハッシュ値を書き込んだときは、リカバリ・パスワードを使って再起動することなくブートを継続しても、システム・ファームウェアがプリブート中にハッシュ値を書き込んだPCRの他のプログラムによる利用を確保することができる。
保護機構は、ディスク・ドライブに対する物理的なタンパー行為を検出したときに、パスワードの入力を要求するようにしてもよい。そのようなパスワードは、パワーオン・パスワード、HDDパスワード、またはスーパーバイザ・パスワードのいずれかとすることができる。タンパー検出機構は、ディスク・ドライブを携帯式コンピュータから取り外すために筐体の蓋が取り外されたことを検出することができる。
ディスク・ドライブは、ハードウェアBitLocker(登録商標)に適合するものであってもよい。このとき本発明は、システム・ファームウェアのコードで実現することができるため、ハードウェアBitLocker(登録商標)は標準的な実装でよい。タンパー検出機構は、物理的なタンパー行為を検出したときにセットするタンパー・ビットを含み、保護機構はパスワードが入力されたときにタンパー・ビットをリセットすることができる。この構成により、携帯式コンピュータのオーナーが筐体の蓋を開けたような場合に、安全かつ容易にディスク・ドライブにアクセスできるようになる。
本発明の他の態様では、ディスク・ドライブに対する物理的なタンパー行為を検出したときにシステム・ファームウェアがディスク・ドライブにタンパー情報を転送する。タンパー情報を受け取ったディスク・ドライブは、ロック状態に移行する。ロック状態に移行したディスク・ドライブは、暗号キーを受け取ったときにロック状態が解除されるまでデータの復号を停止する。この構成により、暗号キーが盗聴されてもディスク・ドライブのデータは保護される。ロック状態は、物理的なタンパー行為の検出に応じて入力されたパスワードをディスク・ドライブが認証して解除することができる。
本発明により、ディスク・ドライブの内部で暗号化したデータを保護する方法を提供することができた。さらに本発明により、プリブートが完了したあとにディスク・ドライブに自動的に送出される暗号キーを保護する方法を提供することができた。さらに本発明により、暗号キーをユーザに負担をかけないで保護する方法を提供することができた。さらに本発明により、暗号キーをシステム・ファームウェアだけで保護する方法を提供することができた。さらに本発明により、そのような方法を実現する携帯式コンピュータおよびコンピュータ・プログラムを提供することができた。
[ノートPCの構成]
図1は、ノートブック型パーソナル・コンピュータ(ノートPC)10の構成の一例を示す機能ブロック図である。本発明の適用範囲はノートPC10に限定する必要はないが、保護の対象となるマスター・キーはディスク・ドライブ19が装着されていたコンピュータに保存されているため、ディスク・ドライブ19を搭載した状態で盗難に遭う機会が多いノートPC10に本発明を適用する意義は大きい。ノートPC10のハードウェアの構成は周知であるため、ここでは本発明の理解に必要な範囲で説明する。
図1は、ノートブック型パーソナル・コンピュータ(ノートPC)10の構成の一例を示す機能ブロック図である。本発明の適用範囲はノートPC10に限定する必要はないが、保護の対象となるマスター・キーはディスク・ドライブ19が装着されていたコンピュータに保存されているため、ディスク・ドライブ19を搭載した状態で盗難に遭う機会が多いノートPC10に本発明を適用する意義は大きい。ノートPC10のハードウェアの構成は周知であるため、ここでは本発明の理解に必要な範囲で説明する。
プラットフォーム・コントローラー・ハブ(PCH)21には、CPU11、HDDまたはSSDなどのディスク・ドライブ19、ファームウェアROM23、エンベデッド・コントローラ(EC)25およびTPM29が接続されている。CPU11には、システム・メモリ13、およびGPU15が接続され、GPU15にはLCD17が接続されている。
PCH21は、PCI Express、Serial ATA、USB、LANなどのさまざまなインターフェース・コントローラの他に、タンパー・ビット153を記憶する不揮発性メモリと、パワー・ビット155を記憶する揮発性メモリを含む。タンパー・ビット153およびパワー・ビット155は保護モジュール163だけがアクセスできるように不揮発性メモリおよび揮発性メモリは保護されている。具体的には、システム・ファームウェア161および保護モジュール163がCPU11の制御権をOS105に渡す前にそれらのメモリ・コントローラをロックすることで保護することができる。ロックはPCH21がリセットされてシステム・ファームウェア161がブートを開始するときに解除される。
なお、本明細書ではシールされたマスター・キーを参照番号175bで示し、アンシールされた平文のマスター・キーを参照番号175aとして示す。タンパー・ビット153およびパワー・ビット155は保護モジュール163が参照する。
ディスク・ドライブ19は、それぞれシステムがアクセス可能な、暗号化するデータを記憶するボリューム19aおよび暗号化しないデータを記憶するボリューム19bと、ディスク・ドライブ19のファームウェアだけがアクセス可能なデータを記憶するシステム領域19cを含む。ボリューム19a、19bはそれぞれ1つ以上のパーティションを含む論理的な記憶領域である。ボリューム19aが記憶するすべてのデータは、ディスク・ドライブ19が実行するファイル暗号モジュール115が、ファイル・キー113を使って暗号化する。
ディスク・ドライブ19は、ブート・イメージを格納するブート・ドライブで、ボリューム19aには、アプリケーション・プログラム101、ボリューム暗号マネージャ103、OS105などのブート・ファイルと、ユーザ・データ107を記憶する。ボリューム暗号マネージャ103は、ユーザがFDE機能をイネーブルまたはディスエーブルに設定するためのユーザ・インターフェースを提供する。一例においてボリューム暗号マネージャ103は、OS103に組み込まれたアプリケーション・プログラムである。ボリューム暗号マネージャ103はFDE機能がイネーブルに設定されるとマスター・キー175aを生成してディスク・ドライブ19に送る。
ボリューム19bは、ブート・ローダ109、キー転送コード111などを記憶する。ブート・ローダ109は、ディスク・ドライブ19のブート・セクタまたはMBRに記憶されている。OS105がUEFIモードでインストールされたときは、ブート・ローダ109がボリューム19bの任意の場所に任意のファイルとして記憶される。キー転送コード111は、ボリューム暗号マネージャ103の一部としてCPU11で実行されてキー転送機構を構成する。キー転送コード111は、ブート時に暗号化されたOS105のロードを開始する前に、TPM29でシールされたマスター・キー175bをアンシールして、ディスク・ドライブ19に転送する必要があるため、暗号化されないボリューム19bに格納される。キー転送コード111は、タンパー・ビットおよびパワー・ビットから保護モジュール163が物理的なタンパー行為を検出したときに、リカバリ・パスワードを入力するためのプロンプトをLCD17に表示する。
システム領域19cはファイル・キー113およびファイル暗号モジュール115を記憶する。ファイル暗号モジュール115は、ディスク・ドライブ19が内蔵するCPUが実行するファームウェアの一部である。ファイル暗号モジュール115は、FDE機能がイネーブルまたはディスエーブルのいずれに設定されてもシステムから受け取ったデータをファイル・キー113で暗号化してボリューム19aに記憶する。ファイル暗号モジュール115は、ボリューム暗号マネージャ103によってFDE機能がイネーブルに設定されたときは、システムから平文のマスター・キー175aを受け取ったときだけ読み取り要求のあったデータを復号する。
ファイル暗号モジュール115は、ボリューム暗号マネージャ103によってFDE機能がディスエーブルに設定されたときは、システムから平文のマスター・キー175aを受け取らないでも復号する。いずれの場合も復号されたデータはシステムの要求に応じて返送されるが、システムはFDE機能がイネーブルに設定されたときに、ディスク・ドライブ19にマスター・キー175aを送らない限り、ボリューム19aのデータを読み取ることはできない。FDE機能は一旦設定されると、ふたたびディスエーブルに設定されるまで次回以降のブートでも有効である。ファイル暗号モジュール115は、一旦マスター・キー175aを受け取っても、その後電源が停止するか、またはシステムからリセット・コマンドを受け取ったときは、再度マスター・キー175aを受け取らない限りボリューム19aのデータを復号しない。
ボリューム暗号マネージャ103およびキー転送コード111は、一例においてWindows(登録商標)8に組み込まれたハードウェアBitLocker(登録商標)とすることができる。その場合、ディスク・ドライブ19はファイル暗号モジュール115が実装されることでハードウェアBitLocker(登録商標)の一部を構成するeDriveに対応することになる。ただし、本発明の適用範囲は、ハードウェアBitLocker(登録商標)に限定するものではなく、OS、すなわち、ブート・ローダがロードされてから実行されるプログラムが、FDEディスク・ドライブに暗号キーを送る他の暗号システムに適用することもできる。
ファームウェアROM23は、BIOSまたはUEFIファームウェアといったシステム・ファームウェア161と、その一部を構成する保護モジュール163を格納する。システム・ファームウェア161は、最も重要な部分がTPM(Trusted Platform Module )の仕様書に規定するCRTM(Core Root of Trust for Measurement)として定義されている。CRTMは、システム・ファームウェア161のなかで特別な権限がないと書き換えができないようになっており、ノートPC10がブートするときに必ず最初に実行される。
CRTMはシステム・メモリ13にシステム・ファームウェア161をロードして実行を開始するまでの処理に必要なCPU11、メイン・メモリ11およびその他の基本的なデバイスの検査および初期化を行う。システム・ファームウェア161は、その他のデバイスの検査および初期化(POST)を行うコード、パワーオン・パスワードやディスク・ドライブに設定するパスワードなどの認証を行うコード、およびユーザがシステム構成の設定をするためのコードなどを含む。
保護モジュール163はCPU11で実行されたときにTPM29と協働して、ディスク・ドライブ19に対する物理的なタンパー行為を検出したときにキー転送コード111によるマスター・キー175aの自動的な転送を阻止する保護機構を構成する。保護モジュール163は、S4ステート(ハイバネーション状態)またはS5ステート(ソフト・オフ状態)からのブート(以後、コールド・ブート)時にOS105のロードが開始される前に、タンパー・ビット153とパワー・ビット155を検査して物理的なタンパー行為を検出したときに、マスター・キー175aをシールするために指定された所定の番号のPCR(Platform Configuration Register)にExtendコマンドを使ってダミーのハッシュ値を書き込む。保護モジュール163は、システムがS4ステートまたはS5ステートに移行する際に、タンパー検出機構200(図2)をリセットする。
EC25は、CPU、ROM、RAMなどを含むマイクロ・コンピュータで、ノートPC10の筐体の温度や電源の管理をする。EC25には、タンパー検出回路27が接続されている。タンパー検出回路27は、ディスク・ドライブ19に盗聴装置を取り付ける際に発生すると予測する現象を物理的なタンパー行為として検出する。タンパー検出回路27の構成については図2を参照して説明する。
TPM29はプロセッサおよび不揮発性メモリなどを含み、内部で暗号化、復号、RSAのキー・ペアの生成、およびプラットフォームの完全性の検証などを行う周知の半導体チップである。TPM29は、FDE機能がイネーブルに設定されたときにボリューム暗号マネージャ103が生成するマスター・キー175aを、シールするために使用するSRT(Storage Root Key)171、一例として24個のPCR群173、およびシールされたマスター・キー175bを含む。
[タンパー検出機構]
図2は、タンパー検出回路27、EC25、タンパー・ビット153およびパワー・ビット155で構成されるタンパー検出機構200のハードウェアの構成を説明するための機能ブロック図である。EC25、タンパー検出回路27およびタンパー・ビット153を記憶する揮発性メモリを含むPCH21の一部は、S4ステートまたはS5ステートの間も電源が維持されている。EC25が含むOR回路217の一方の入力は、検出ライン205を通じてディスク・ドライブ19を接続するためのコネクタの端子203に接続されている。
図2は、タンパー検出回路27、EC25、タンパー・ビット153およびパワー・ビット155で構成されるタンパー検出機構200のハードウェアの構成を説明するための機能ブロック図である。EC25、タンパー検出回路27およびタンパー・ビット153を記憶する揮発性メモリを含むPCH21の一部は、S4ステートまたはS5ステートの間も電源が維持されている。EC25が含むOR回路217の一方の入力は、検出ライン205を通じてディスク・ドライブ19を接続するためのコネクタの端子203に接続されている。
また、OR回路217の他方の入力は、検出ライン215を通じて端子213に接続されている。端子211、213は筐体から蓋207が取り外されたときに、筐体側に残る。検出ライン205、215は、電源電圧Vccでプルアップされている。ディスク・ドライブ19は、端子201が抵抗でグランドにプルダウンされている。コネクタにディスク・ドライブ19が接続されると検出ライン205の電位はグランド・レベルになる。ディスク・ドライブ19が、コネクタから取り外されると検出ライン205の電位は電源電圧Vccまで上昇する。
筐体の蓋207には電極片209が装着されている。端子211は、システムのグランド・プレーンに抵抗でプルダウンされている。ノートPC10の筐体に蓋207が装着されると、端子211、213が短絡されて、検出ライン215の電位はグランド・レベルになる。蓋207が取り外されると検出ライン215の電位は電源電圧Vccまで上昇する。OR回路217は、検出ライン205、215のいずれかの電位が上昇したときにPCH21のタンパー・ビット153を設定する。
つぎに、タンパー検出機構200の動作を説明する。パワー・ビット155は、プリブートの間にシステム・ファームウェア161がPCR群173に書き込むPCR値とそのシーケンスの検証によりシステムの一貫性が確認され、かつ、パスワードによるユーザ認証が成功したときに保護モジュール163がセットする。ここにプリブートは、ブートの全行程のなかでブート・ローダ109を実行する前にシステム・ファームウェア161が行うブート・ルーチンをいうものとする。ノートPC10からすべての電源が取り除かれた状態(G3ステート)に遷移しない限り揮発性メモリは記憶を維持するため、一旦セットされたパワー・ビット155は維持される。
盗聴者は、筐体の中に収納されているディスク・ドライブ19に盗聴装置を挿入するときは蓋207を開放する。また、筐体のベイに装着されたディスク・ドライブ19に盗聴装置を挿入するときは、一旦、コネクタから取り外す。このとき電源電圧Vccが存在する場合はタンパー・ビット153がセットされる。一旦セットされたタンパー・ビット153は、後に説明するリカバリ・パスワードを入力しない限りリセットできないようにしている。
システムがG3ステートの状態で蓋207が開放されたときは、OR回路217は機能しないため、タンパー・ビット153はセットされないが、パワー・ビット155がリセットされる。一旦リセットされたパワー・ビットは、リカバリ・パスワードを入力するか保護モジュール163が要求するパスワードを入力しない限りセットできないようにしている。保護モジュール163は、タンパー・ビット153のセットまたはパワー・ビット155のリセットのいずれかを検出したときは、物理的なタンパー行為があると判断する。保護モジュール163は、タンパー・ビット153のリセットおよびパワー・ビット155のセットの両方を同時に検出したときは、物理的なタンパー行為はないと判断する。
[PCRによるマスター・キーのシール]
図3は、TPM29がマスター・キー175aをシールするときの様子を説明するための図である。ノートPC10の電源が起動されコールド・ブートを開始すると、最初にシステム・ファームウェア161が実行される。ブートは、システム・ファームウェア161によるプリブートが終わってからボリューム19aが格納するブート・イメージがロードされたときに完了する。
図3は、TPM29がマスター・キー175aをシールするときの様子を説明するための図である。ノートPC10の電源が起動されコールド・ブートを開始すると、最初にシステム・ファームウェア161が実行される。ブートは、システム・ファームウェア161によるプリブートが終わってからボリューム19aが格納するブート・イメージがロードされたときに完了する。
システムはCRTMをファームウェアの信頼の起点として、デバイス情報や続いて実行されるモジュールのハッシュ値を計算して所定の番号のPCRに記録する。PCRの用途は、TCGで定義している。たとえば、PCR#0には、CRTM、BIOSコード、ホストプラットフォームの拡張機能のハッシュ値が書き込まれる。PCR#1には、ハードウェア・プラットフォームの設定情報のハッシュ値が書き込まれる。PCR#2には、オプションのROMコードのハッシュ値が書き込まれる。PCR#3には、オプションのROMの設定情報およびデータのハッシュ値が書き込まれる。また、PCR#4には、MBRのブート・ローダ109のハッシュ値が書き込まれる。PCR#0〜#7には、システム・ファームウェア161が書き込むことができ、PCR#8〜#23にはプラットフォームが固有のハッシュ値を書き込むことができる。
PCR群173への書き込みをするプログラムは、つねにExtendコマンドを発行してTPM29に計算したハッシュ値を送る必要がある。Extendコマンドが発行されるとTPM29は新PCR値=HASH(旧PCR値+計算したハッシュ値)という計算をして、新PCR値を指定された番号のPCRに記録する。旧PCR値は、Extendコマンドを受け取ったときにPCR群173が記憶しているPCR値である。TPM29の電源が停止してPCRがリセットされたときはPCR群173に所定のPCR値が記憶される。PCR群173は揮発性のメモリであり、一旦書き込まれたPCR値は、TPM29の電源を停止するまで消去することはできない。
TPM29の電源は、ノートPC10がS4ステートまたはS5ステートに遷移したときに停止する。TPM29は、安全な状態でブートしたときに記憶したPCR値およびそのシーケンスを記憶している。TPM29は、PCR群173に上記の計算式で計算した結果を記憶するため、マルウェアはPCR値を旧PCR値に書き換えるこことは困難である。したがって、システム・ファームウェア161やOS105は、PCR値を利用して、周知の方法でソフトウェアの一貫性を検証することができる。
つぎに、ボリューム暗号マネージャ103が生成したマスター・キー175aのシールについて説明する。ここに、シールとは、TPM29が指定されたPCRが記憶するPCR値とともに目的のキーを暗号化することをいう。ボリューム暗号マネージャ103は、シール時に使用するPCRの番号を指定して、生成したマスター・キー175aをTPM29に送りシール要求をする。
シール要求を受け取ったTPM29は、SRT171からシール用のキーを生成して、マスター・キー175a、および指定されたPCRがその時点で記憶するPCR値173xを暗号化して、暗号化オブジェクト181を生成し、識別情報183に関連付けてTPM29の内部の不揮発性メモリに記憶する。暗号化オブジェクト181が含む暗号化されたマスター・キー175bは、アンシール要求されたTPM29がPCR値の同一性を検証しない限り復号しないためTPM29の外に格納することもできる。
ブート時にボリューム19aが記憶するブート・イメージをロードするためには、キー転送コード111が復号されたマスター・キー175aを取得してディスク・ドライブ19に送っておく必要がある。本実施の形態では、タンパー検出機構200が物理的なタンパー行為を検出したときに、マスター・キー175aのシールのために指定されたPCRにダミーのハッシュ値を書き込むことで、TPM29がマスター・キー175bをアンシールできないようにする。そのために、マスター・キー175aのシールに指定するPCRは、プリブートの間に計算されたハッシュ値が書き込まれるPCR#0〜PCR#4の間のいずれかまたは複数を利用することができる。
つづいて、シールされたマスター・キー175bのアンシールについて説明する。ここにアンシールとは、TPM29が、目的とするキーをシールしたときのPCR値がその時点で改変されてないことを条件にして目的のキーを復号することをいう。キー転送コード111は、TPM29に識別情報183を送ってアンシール要求をする。アンシール要求を受け取ったTPM29は、SRT171からアンシールに使用するキーを生成して暗号化オブジェクト181を復号する。
TPM29は、アンシール要求を受け取った時点で、シール時に指定されたPCRが記憶するPCR値と、復号したPCR値173xを比較する。TPM29は、両者が一致する場合だけ、キー転送コード111に復号されたマスター・キー175aを渡す。両者が一致しないときは、マルウェアやハードウェア的な不正によりシール時とアンシール時でプラットフォームの状態が変更したことを意味するため、TPM29はマスター・キー175aを出力しない。
[マスター・キーの保護方法]
つぎに、図4のフローチャートを参照して、マスター・キー175aの盗聴を防止する方法を説明する。ブロック301でノートPC10の電源を起動してコールド・ブートを開始する。ボリューム暗号マネージャ103はFDE機能がディスエーブルに設定され、マスター・キー175aは生成されてないものとする。タンパー・ビット153はリセットされているとする。パワー・ビット155は、今回のコールド・ブートの直前にノートPC10がG3ステートに遷移して、リセットされているとする。ブロック303でシステム・ファームウェア161が、順番にPCR群173に計算したハッシュ値を書き込んでいくと、TPM29は所定のPCRに旧PCR値を含めて計算した新PCR値を記憶していく。
つぎに、図4のフローチャートを参照して、マスター・キー175aの盗聴を防止する方法を説明する。ブロック301でノートPC10の電源を起動してコールド・ブートを開始する。ボリューム暗号マネージャ103はFDE機能がディスエーブルに設定され、マスター・キー175aは生成されてないものとする。タンパー・ビット153はリセットされているとする。パワー・ビット155は、今回のコールド・ブートの直前にノートPC10がG3ステートに遷移して、リセットされているとする。ブロック303でシステム・ファームウェア161が、順番にPCR群173に計算したハッシュ値を書き込んでいくと、TPM29は所定のPCRに旧PCR値を含めて計算した新PCR値を記憶していく。
システム・ファームウェア161によってハッシュ値がPCR#0からPCR#4に書き込まれ、TPM29によってそこまでに検証可能なプラットフォームの安全性が確認されたあとに、保護モジュール163が実行される。保護モジュール163の一貫性もたとえばPCR#5〜#7のいずれかを使用して実行前に検証しておくことができる。PCR#4にはブート・ローダ109のハッシュ値が書き込まれるため、ここまでのブート・ルーチンが成功したことによりシステム・ファームウェア161および保護モジュール163も安全であるとみなすことができるため、以下の手順を信頼性が確保された環境で実行できる。
保護モジュール163は、パワー・ビット155がリセットされていることを確認すると、ユーザ認証のためのプロンプトを表示する。パスワードを入力してユーザ認証が成功すると保護モジュール163は、パワー・ビット155を設定する。パスワードはパワーオン・パスワードまたはスーパーバイザ・パスワードのようなシステム・ファームウェア161が認証に使用するパスワードとすることができる。したがって、システム・ファームウェア161が認証するパスワードを知らない盗聴者は、G3ステートに遷移させたあとにパワー・ビット155を設定することができないため、パワー・ビット155がリセットされたときに物理的なタンパー行為の可能性を検出することができる。
ボリューム暗号マネージャ103はFDE機能がディスエーブルに設定されているため、マスター・キー175aを受け取らなくてもディスク・ドライブ19は、ボリューム19aの読み取りデータを復号してシステムに渡す。また、書き込みデータは、ファイル・キー113で暗号化してからボリューム19aに書き込む。ブロック305でOS105を含むすべてのブート・イメージをロードしてブートが完了する。
ブロック307でユーザはボリューム暗号マネージャ103を起動して、FDE機能をイネーブルに設定する。イネーブルに設定されたボリューム暗号マネージャ103は、マスター・キー175aを生成してディスク・ドライブ19に送る。以後、ディスク・ドライブ19は、FDE機能がイネーブルに設定されたと認識して、リセット後はマスター・キー175aを受け取らない限り、ボリューム19aのデータを復号しない。
ブロック309でボリューム暗号マネージャ103は、マスター・キー175aをTPM29に送ってシール要求をする。このときボリューム暗号マネージャ103は一例においてPCR#0〜#4までの5個のPCRを指定することができる。TPM29は、マスター・キー175aと指定されたPCR#0〜#4のPCR値を暗号化して暗号化オブジェクト181を生成し内部に保管する。なお、ボリューム暗号マネージャ103のFDE機能をイネーブルに設定するのは、ノートPC10のオーナーであることが前提であるためこの時点でのPCR#0〜#4が記憶するPCR値は安全性を保証する値であると想定できる。
ブロック311で電源が停止され、ブロック313でディスク・ドライブ19または蓋207が取り外されてタンパー行為が発生する場合がある。その結果、タンパー検出回路27がタンパー・ビット153を設定するか、G3ステートへの遷移によりパワー・ビット155がリセットされる。ブロック315で電源が起動されブロック317でシステム・ファームウェア161によってPCR#0〜#4にPCR値が記憶される。本実施の形態で対象とする物理的なタンパー行為と、マルウェアの進入がなければ、PCR#0〜#4には、システム・ファームウェア161によってPCR値が所定のシーケンスで書き込まれる。
システム・ファームウェア161が、PCR#0〜#4までハッシュ値を書き込んだあとに、保護モジュール163が実行される。物理的なタンパー行為とマルウェアによる汚染が無い限り、PCR#0〜#4には、それぞれブロック303で記憶したPCR値と同じ値が記憶される。ブロック319で保護モジュール163は、タンパー・ビット153、およびパワー・ビット155を参照する。保護モジュール163がタンパー・ビット153のセットまたはパワー・ビット155のリセットのいずれかを検出したときは、物理的なタンパー行為があったとみなしてブロック321に移行する。保護モジュール163は、タンパー・ビット153のリセットおよびパワー・ビット155のセットの両方の状態を検出したときは、物理的なタンパー行為がないとみなしてブロック351に移行する。
ブロック321で保護モジュール163は、ブロック309でマスター・キー175aのシールに指定したPCR#0〜#4のいずれかまたはすべてにExtedコマンドでダミーのハッシュ値を書き込む。プリブートが終了して、ボリューム19bに格納されたブート・ローダ109がロードされ、続いてキー転送コード111がロードされる。ブロック323でキー転送コード111は、TPM29にボリューム暗号マネージャ103の識別情報を送ってシールされたマスター・キー175bのアンシールを要求する。
キー転送コード111は、ブロック321でPCR値が改変されていることを認識しないため、アンシール要求を通常の手順として実行する。TPM29はアンシール要求を処理するが、ブロック309でシールに使用したPCR#0〜#4のPCR値173xと、アンシール要求がされた時点でPCR#0〜#4が記憶するPCR値が相違するために、マスター・キー175bをアンシールしない。したがって、キー転送コード111は、マスター・キー175aをディスク・ドライブ19に転送できないため盗聴を防ぐことができる。マスター・キー175aをディスク・ドライブ19に転送できない場合は、ボリューム19aのデータをロードすることができないため、ブートは停止する。
マスター・キー175bのアンシールが失敗したことを認識したキー転送コード111はブロック325で、LCD17にリカバリ・パスワードを入力するためのプロンプトを表示する。リカバリ・パスワードは、FDE機能をイネーブルに設定したノートPC10のオーナーだけが知っているクレデンシャルである。キー転送コード111はリカバリ・パスワードで復元したマスター・キー175aをディスク・ドライブ19に転送する。ディスク・ドライブ19はそれ以降、ボリューム19aの読み取りデータをファイル・キー113で復号してシステムに返送する。
PCR#0〜#4にはすでにハッシュ値の書き込みが終了して一貫性が検証されているため、この時点でPCR#0〜#4のPCR値が改変されていてもブートは進行する。ブロック331でシステムがS4ステートまたはS5ステートに移行する際に、保護モジュール163は必要に応じてタンパー・ビット153のリセットおよびパワー・ビット155のセットまたはいずれか一方を実行して、タンパー検出機構200を物理的なタンパー行為がない状態にする。ここで、コールド・ブートが成功したことは、タンパー行為がなかったか、タンパー行為があってもリカバリ・パスワードが入力されたことを意味している。その結果、次回のコールド・ブートの際に保護モジュール163はPCR#0〜#4のPCR値を改変することなく、ブロック319からブロック351に移行する。ブロック329では、ボリューム19aが格納するブート・イメージが順番にロードされてブートが完了する。
ブロック351でブート・ローダ109に続いてロードされたキー転送コード111は通常の手順を実行して、TPM29にボリューム暗号マネージャ103の識別情報を送りマスター・キー175bのアンシール要求をする。TPM29はアンシール要求を処理するが、ブロック309でシールに使用したPCR#0〜#4のPCR値173xと、アンシール要求がされた時点でPCR#0〜#4が記憶するPCR値が一致するため、マスター・キー175bをアンシールしてキー転送コード111に返送する。キー転送コード111はブロック353で、ディスク・ドライブ19にマスター・キー175aを転送する。それ以後ディスク・ドライブ29は、リセットされるまでボリューム19aの読み取りデータをファイル・キー113で復号してシステムに返送する。
以上の説明において、マスター・キー175aのシールに指定するPCRをPCR#0〜#4から選択する例を説明した。これらのPCRは、他のプログラムが自ら使用する暗号キーのシールに使用する場合もある。ブロック331でタンパー検出機構200をリセットしたあとに再起動すれば、ブロック319からブロック351に移行してPCR#0〜#4にはアンシールが可能な改変されないPCR値が書き込まれるため、他のプログラムの暗号キーをアンシールすることができる。
しかし、リカバリ・パスワードを入力したあとは、再起動しないでブロック329に移行してブートを完了させる方が便利である。これに対処するために、マスター・キー175aのシールに使用するPCR#0〜#4に加えて、プラットフォーム固有のハッシュ値を記憶するPCRを加えることができる。固有のPCRはたとえばPCR#8〜#23の中から選択することができる。
この場合、保護モジュール163は物理的なタンパー行為を検出したときに、固有のPCRにだけダミーのハッシュ値をExtendコマンドで書き込む。保護モジュール163は、物理的なタンパー行為を検出しないときと検出したときで異なるダミーのハッシュ値を書き込む。TPM29は、シール時とアンシール時で固有のPCRのPCR値が一致しなければアンシールしないようにできる。しかもPCR#0〜#4のPCR値は一致するので、他のプログラムによる利用を妨げることがない。なお、PCR#0〜#4がマルウェアで改変されたような場合もTPM29はマスター・キー175bをアンシールしない。
これまで説明した方法では、タンパー検出機構200と保護モジュール163だけでマスター・キー175aを保護できるため、ボリューム暗号マネージャ103およびキー転送コード111を変更する必要がなく発明の適用範囲が広がる。保護モジュール163は、ネットワークから遮断されたシステム・ファームウェア161の動作環境で実行できるため、OSの動作環境で処理するよりも安全性が高い。しかも、TPM29を実装するノートPC10であれば、PCR群173で保護モジュール163の一貫性も検証できるため、一層安全性が向上する。
タンパー検出機構200と保護モジュール163だけでマスター・キー175aを保護する他の方法として、タンパー検出機構200が物理的なタンパー行為を検出したときに、保護モジュール163がプリブートを停止してパスワードを要求するようにしてもよい。パスワードは、システム・ファームウェア161の一部としての保護モジュール163がプリブート中に処理できるものであれば、パワーオン・パスワード、HDDパスワードまたはスーパーバイザ・パスワードのようなシステム・ファームウェアが認証要求をするパスワードでもよい。
パスワード認証が成功したときは、ブートを継続させ、パスワード認証が成功しない限りその時点でブートを停止させる。パスワードは、保護モジュール163だけがアクセスできるセキュアな不揮発性メモリに格納しておくことができる。この方法は、ディスク・ドライブのボリューム19aに格納されたデータの安全性が、認証のためにシステムが保存しておくパスワードの安全性に依存することになるが、TPM29を実装しないコンピュータにも適用できるため適用範囲は広がる。TPM29を実装するノートPC10の場合は、保護モジュール163がPCR群173を利用してパスワードをシールしておけば、安全性を向上させることができる。
つぎに、ディスク・ドライブ19のファームウェアを一部書き換えて、タンパー検出機構200および保護モジュール163とともに、ボリューム19aが記憶するデータを保護する方法を説明する。保護モジュール163が、物理的なタンパー行為を検出したときに、ディスク・ドライブ19にタンパー情報を送出する。タンパー情報を受け取ったディスク・ドライブ19のファイル暗号モジュール115は、ボリューム19aへのアクセスをロックする。ファイル暗号モジュール115は、ボリューム19aがロックされている限り、キー転送コード111からマスター・キー175aを受け取っても復号しない。
保護モジュール163は、ユーザによって入力されたリカバリ・パスワードをディスク・ドライブ19に送る。リカバリ・パスワードを受け取ったファイル暗号モジュール115は認証が成功するとボリューム19aのロックを解除して、それ以降はマスター・キー175aを受け取ったときに復号するようにする。この方法は、物理的なタンパー行為が発生したあとにキー転送コード111がマスター・キー175aを自動的にディスク・ドライブ19に転送するため盗聴は行われるが盗聴したマスター・キー175aはリカバリ・パスワードを入力しない限り有効にならない。リカバリ・パスワードを入力できるのはノートPC10のオーナーだけであるため、ボリューム19aのデータを保護することができる。
これまで本発明について図面に示した特定の実施の形態をもって説明してきたが、本発明は図面に示した実施の形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができることはいうまでもないことである。
10 ノートPC
19 ディスク・ドライブ
21 PCH
23 ファームウェアROM
29 TPM
103 ボリューム暗号マネージャ
111 キー転送コード
161 システム・ファームウェア
163 保護モジュール
171 ストレージ・ルート・キー
175a 平文のマスター・キー
175b シールされたマスター・キー
200 タンパー検出機構
19 ディスク・ドライブ
21 PCH
23 ファームウェアROM
29 TPM
103 ボリューム暗号マネージャ
111 キー転送コード
161 システム・ファームウェア
163 保護モジュール
171 ストレージ・ルート・キー
175a 平文のマスター・キー
175b シールされたマスター・キー
200 タンパー検出機構
Claims (18)
- ボリュームの全体を暗号化し、システムから暗号キーを受け取ったときに前記ボリュームのデータを復号するディスク・ドライブを実装する携帯式コンピュータであって、
パワー・オフ状態からブートを開始したときに前記ディスク・ドライブに自動的に前記暗号キーを送るキー転送機構と、
前記ディスク・ドライブに対する物理的なタンパー行為を検出するタンパー検出機構と、
前記タンパー検出機構が前記物理的なタンパー行為を検出したことに応答して前記キー転送機構が前記ディスク・ドライブに自動的に前記暗号キーを送る動作を阻止する保護機構と
を有する
携帯式コンピュータ。 - 前記保護機構が、PCR(Platform Configuration Register)を利用して前記暗号キーをシールするTPM(Trusted Platform Module)を含み、前記キー転送機構は前記暗号キーを転送する前に前記TPMに前記暗号キーのアンシール要求をする請求項1に記載の携帯式コンピュータ。
- 前記保護機構が、前記暗号キーのシールに利用したPCRにシステム・ファームウェアがプリブート中にハッシュ値を書き込んだあとにダミーのハッシュ値を書き込む請求項2に記載の携帯式コンピュータ。
- 前記暗号キーのシールに利用したPCRが、前記携帯式コンピュータのプラットフォームに固有のPCRを含み、前記保護機構が前記固有のPCRにだけ前記ダミーのハッシュ値を書き込む請求項3に記載の携帯式コンピュータ。
- 前記保護機構が、前記物理的なタンパー行為を検出したことに応答して前記キー転送機構がパスワードの入力を要求する請求項1に記載の携帯式コンピュータ。
- 前記タンパー検出機構が、前記物理的なタンパー行為を検出したときにセットするタンパー・ビットを含み、前記パスワードが入力されたときに前記パワー・オフ状態に移行する際に前記保護機構が前記タンパー・ビットをリセットする請求項5に記載の携帯式コンピュータ。
- 前記タンパー検出機構が、前記ディスク・ドライブを前記携帯式コンピュータから取り外すために筐体の蓋が取り外されたことを検出する請求項1に記載の携帯式コンピュータ。
- 前記ディスク・ドライブが、ハードウェアBitLocker(登録商標)に適合する請求項1に記載の携帯式コンピュータ。
- システムから受け取ったデータを暗号化して格納し、前記システムから暗号キーを受け取ったときに前記暗号化したデータを復号して前記システムに返送するディスク・ドライブを備える携帯式コンピュータにおいて、前記暗号キーを保護する方法であって、
パワー・オフ状態からのブートを開始するステップと、
前記ディスク・ドライブに対する物理的なタンパー行為をシステム・ファームウェアによるブート・ルーチンが終了する前に検出するステップと、
前記ブート・ルーチンが終了したあとに前記ディスク・ドライブに前記暗号キーを自動的に転送する処理を前記物理的なタンパー行為を検出したときに阻止するステップと
を有する方法。 - 前記暗号キーをPCR(Platform Configuration Register)を利用してシールするステップを有し、
前記阻止するステップが、前記物理的なタンパー行為を検出したことに応答してブート中に前記システム・ファームウェアがハッシュ値を書き込んだ前記PCRにダミーのハッシュ値を書き込むステップを含む請求項9に記載の方法。 - 前記ダミーのハッシュ値を書き込んだPCRが正常なブート中に前記システム・ファームウェアがハッシュ値を書き込むPCR以外のPCRである請求項10に記載の方法。
- 前記阻止するステップが、前記物理的なタンパー行為を検出したときに前記システム・ファームウェアがパスワード入力を要求するステップを含む請求項9に記載の方法。
- ボリュームの全体を暗号化したデータをシステムから暗号キーを受け取ったときに復号するディスク・ドライブを実装する携帯式コンピュータにおいて、前記暗号化したデータを保護する方法であって、
パワー・オフ状態からのブートを開始するステップと、
前記ディスク・ドライブに対する物理的なタンパー行為を検出したときにシステム・ファームウェアが前記ディスク・ドライブにタンパー情報を転送する機能を前記携帯式コンピュータに実現させるステップと、
タンパー情報を受け取った前記ディスク・ドライブがロック状態に移行するステップと、
前記ロック状態に移行したディスク・ドライブが前記暗号キーを受け取ったときに前記ロック状態が解除されるまで前記データの復号を停止するステップと
を有する方法。 - 前記物理的なタンパー行為の検出に応じて入力されたパスワードを前記システム・ファームウェアが前記ディスク・ドライブに送る機能を前記携帯式コンピュータに実現させるステップと、
前記パスワードを受け取った前記ディスク・ドライブが前記ロック状態を解除するステップと
を有する請求項13に記載の方法。 - システムから受け取ったデータを暗号化して格納し、前記システムから暗号キーを受け取ったときに前記暗号化したデータを復号して前記システムに返送するディスク・ドライブを備える携帯式コンピュータに、
プリブートを実行する機能と、
前記プリブートの間に前記ディスク・ドライブに対する物理的なタンパー行為を検出する機能と、
前記物理的なタンパー行為を検出したことに応答して前記プリブートが完了したあとに前記ディスク・ドライブに対する前記暗号キーの自動的な転送を停止する機能と
を実現させるためのコンピュータ・プログラム。 - 前記停止する機能が、暗号化された前記暗号キーの復号を阻止する機能を含む請求項15に記載のコンピュータ・プログラム。
- 前記停止する機能が、前記プリブートを停止する機能を含む請求項15に記載のコンピュータ・プログラム。
- 前記暗号キーの転送を停止する処理をしたあとに、ユーザ認証のためにパスワードを要求する機能と、
前記パスワード認証が成功したときに前記暗号化したデータを復号させる機能と
を含む請求項15に記載のコンピュータ・プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014150643A JP2016025616A (ja) | 2014-07-24 | 2014-07-24 | ディスク・ドライブが記憶するデータを保護する方法および携帯式コンピュータ |
US14/797,947 US9735960B2 (en) | 2014-07-24 | 2015-07-13 | Method for protecting data stored within a disk drive of a portable computer |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014150643A JP2016025616A (ja) | 2014-07-24 | 2014-07-24 | ディスク・ドライブが記憶するデータを保護する方法および携帯式コンピュータ |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016025616A true JP2016025616A (ja) | 2016-02-08 |
Family
ID=55166954
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014150643A Pending JP2016025616A (ja) | 2014-07-24 | 2014-07-24 | ディスク・ドライブが記憶するデータを保護する方法および携帯式コンピュータ |
Country Status (2)
Country | Link |
---|---|
US (1) | US9735960B2 (ja) |
JP (1) | JP2016025616A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021185472A (ja) * | 2020-06-11 | 2021-12-09 | ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド | ディスク暗号化保護方法及び装置、電子デバイス、コンピュータ可読記憶媒体及びコンピュータプログラム |
KR20220073808A (ko) * | 2019-12-20 | 2022-06-03 | 제트카베 그룹 게엠베하 | 카 모듈 |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10193858B2 (en) * | 2015-12-22 | 2019-01-29 | Mcafee, Llc | Attestation device custody transfer protocol |
US10346071B2 (en) * | 2016-12-29 | 2019-07-09 | Western Digital Technologies, Inc. | Validating firmware for data storage devices |
GB2571059A (en) * | 2017-11-30 | 2019-08-21 | Bae Systems Plc | Methods of decrypting disk images, and decryption-enabling devices |
US10693641B2 (en) | 2018-01-12 | 2020-06-23 | Blackberry Limited | Secure container based protection of password accessible master encryption keys |
IL258371A (en) | 2018-03-26 | 2018-05-31 | Kazuar Advanced Tech Ltd | A method and system for preventing physical damage to a computer |
US11934322B1 (en) * | 2018-04-05 | 2024-03-19 | Pure Storage, Inc. | Multiple encryption keys on storage drives |
US10924282B2 (en) * | 2018-05-24 | 2021-02-16 | Cyber Pack Ventures, Inc. | System and method for measuring and reporting IoT boot integrity |
CN110677250B (zh) | 2018-07-02 | 2022-09-02 | 阿里巴巴集团控股有限公司 | 密钥和证书分发方法、身份信息处理方法、设备、介质 |
CN110795774B (zh) | 2018-08-02 | 2023-04-11 | 阿里巴巴集团控股有限公司 | 基于可信高速加密卡的度量方法、设备和*** |
CN110795742B (zh) | 2018-08-02 | 2023-05-02 | 阿里巴巴集团控股有限公司 | 高速密码运算的度量处理方法、装置、存储介质及处理器 |
CN110874478B (zh) | 2018-08-29 | 2023-05-02 | 阿里巴巴集团控股有限公司 | 密钥处理方法及装置、存储介质和处理器 |
CN109033903B (zh) * | 2018-09-05 | 2020-05-22 | 黑龙江省计算中心 | 一种计算机信息安全管理装置 |
US10944782B2 (en) * | 2018-12-04 | 2021-03-09 | EMC IP Holding Company LLC | Forensic analysis through metadata extraction |
CN113177217A (zh) * | 2019-03-15 | 2021-07-27 | 神讯电脑(昆山)有限公司 | 拷贝文件的方法及其*** |
US11048802B2 (en) * | 2019-05-09 | 2021-06-29 | X Development Llc | Encrypted hard disk imaging process |
US11689365B2 (en) | 2019-07-17 | 2023-06-27 | Vmware, Inc. | Centralized volume encryption key management for edge devices with trusted platform modules |
CN112784321B (zh) * | 2019-11-08 | 2024-03-15 | 精品科技股份有限公司 | 磁盘资安*** |
CN112231779B (zh) * | 2020-12-11 | 2021-02-19 | 成都艾勃科技有限公司 | 一种兼容BitLocker加密磁盘的跨平台数据安全保护方法 |
CN113239378B (zh) * | 2021-05-17 | 2022-03-18 | 中国电子科技集团公司第三十研究所 | BitLocker加密卷的口令恢复方法、设备及介质 |
US20230214493A1 (en) * | 2021-12-30 | 2023-07-06 | Moxa Inc. | Computer System for Failing a Secure Boot in a Case Tampering Event |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001016655A (ja) * | 1999-06-30 | 2001-01-19 | Advanced Mobile Telecommunications Security Technology Research Lab Co Ltd | 安全な携帯端末装置 |
JP2006323814A (ja) * | 2005-01-07 | 2006-11-30 | Microsoft Corp | 信頼できる処理モジュールを有するコンピュータを安全にブートするためのシステムおよび方法 |
US20080076355A1 (en) * | 2006-09-27 | 2008-03-27 | Waltermann Rod D | Method for Protecting Security Accounts Manager (SAM) Files Within Windows Operating Systems |
WO2010113266A1 (ja) * | 2009-03-31 | 2010-10-07 | 富士通株式会社 | 情報処理装置,情報処理装置の起動制御方法及び起動プログラム |
WO2012060683A1 (en) * | 2010-11-02 | 2012-05-10 | Mimos Berhad | A system and method for securing data storage |
US20120275596A1 (en) * | 2011-04-28 | 2012-11-01 | Microsoft Corporation | Cryptographic key attack mitigation |
JP2014048725A (ja) * | 2012-08-29 | 2014-03-17 | Canon Inc | 情報処理装置 |
JP2014057283A (ja) * | 2012-09-14 | 2014-03-27 | Lenovo Singapore Pte Ltd | 秘密情報の交換方法およびコンピュータ |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7343493B2 (en) * | 2002-03-28 | 2008-03-11 | Lenovo (Singapore) Pte. Ltd. | Encrypted file system using TCPA |
US7421588B2 (en) * | 2003-12-30 | 2008-09-02 | Lenovo Pte Ltd | Apparatus, system, and method for sealing a data repository to a trusted computing platform |
TWI264634B (en) * | 2004-04-13 | 2006-10-21 | Acer Inc | Method for monitoring power state of computer system and apparatus therefor |
US8200952B2 (en) * | 2006-10-25 | 2012-06-12 | Microsoft Corporation | Platform authentication via a transparent second factor |
US20100082960A1 (en) * | 2008-09-30 | 2010-04-01 | Steve Grobman | Protected network boot of operating system |
US8832402B2 (en) * | 2011-04-29 | 2014-09-09 | Seagate Technology Llc | Self-initiated secure erasure responsive to an unauthorized power down event |
JP5839659B2 (ja) * | 2011-06-20 | 2016-01-06 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
JP5711160B2 (ja) | 2012-01-15 | 2015-04-30 | レノボ・シンガポール・プライベート・リミテッド | パスワードを保護する方法およびコンピュータ |
-
2014
- 2014-07-24 JP JP2014150643A patent/JP2016025616A/ja active Pending
-
2015
- 2015-07-13 US US14/797,947 patent/US9735960B2/en active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001016655A (ja) * | 1999-06-30 | 2001-01-19 | Advanced Mobile Telecommunications Security Technology Research Lab Co Ltd | 安全な携帯端末装置 |
JP2006323814A (ja) * | 2005-01-07 | 2006-11-30 | Microsoft Corp | 信頼できる処理モジュールを有するコンピュータを安全にブートするためのシステムおよび方法 |
US20080076355A1 (en) * | 2006-09-27 | 2008-03-27 | Waltermann Rod D | Method for Protecting Security Accounts Manager (SAM) Files Within Windows Operating Systems |
WO2010113266A1 (ja) * | 2009-03-31 | 2010-10-07 | 富士通株式会社 | 情報処理装置,情報処理装置の起動制御方法及び起動プログラム |
WO2012060683A1 (en) * | 2010-11-02 | 2012-05-10 | Mimos Berhad | A system and method for securing data storage |
US20120275596A1 (en) * | 2011-04-28 | 2012-11-01 | Microsoft Corporation | Cryptographic key attack mitigation |
JP2014048725A (ja) * | 2012-08-29 | 2014-03-17 | Canon Inc | 情報処理装置 |
JP2014057283A (ja) * | 2012-09-14 | 2014-03-27 | Lenovo Singapore Pte Ltd | 秘密情報の交換方法およびコンピュータ |
Non-Patent Citations (2)
Title |
---|
JPN7016001028; BitLockerドライブ暗号化 (平成28年4月19日検索), 201008, インターネット, [オンライン] * |
JPN7016001029; BitLockerドライブ暗号化の技術概要 (平成28年4月19日検索), 200907, インターネット, [オンライン] * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220073808A (ko) * | 2019-12-20 | 2022-06-03 | 제트카베 그룹 게엠베하 | 카 모듈 |
JP2023507457A (ja) * | 2019-12-20 | 2023-02-22 | ツェットカーヴェー グループ ゲーエムベーハー | 自動車モジュール |
JP7335447B2 (ja) | 2019-12-20 | 2023-08-29 | ツェットカーヴェー グループ ゲーエムベーハー | 自動車モジュール |
KR102620672B1 (ko) | 2019-12-20 | 2024-01-04 | 제트카베 그룹 게엠베하 | 카 모듈 |
JP2021185472A (ja) * | 2020-06-11 | 2021-12-09 | ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド | ディスク暗号化保護方法及び装置、電子デバイス、コンピュータ可読記憶媒体及びコンピュータプログラム |
JP7203880B2 (ja) | 2020-06-11 | 2023-01-13 | 阿波▲羅▼智▲聯▼(北京)科技有限公司 | ディスク暗号化保護方法及び装置、電子デバイス、コンピュータ可読記憶媒体及びコンピュータプログラム |
Also Published As
Publication number | Publication date |
---|---|
US20160026810A1 (en) | 2016-01-28 |
US9735960B2 (en) | 2017-08-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9735960B2 (en) | Method for protecting data stored within a disk drive of a portable computer | |
US10516533B2 (en) | Password triggered trusted encryption key deletion | |
US10032029B2 (en) | Verifying integrity of backup file in a multiple operating system environment | |
EP2488987B1 (en) | Secure storage of temporary secrets | |
TWI528281B (zh) | 平臺韌體防護方法、設備、系統以及相關的機器可讀媒體 | |
KR101636816B1 (ko) | 메모리 액세스 제어를 제공하는 장치, 시스템, 및 방법 | |
KR101209252B1 (ko) | 전자기기의 부팅 방법 및 부팅 인증 방법 | |
US20050141717A1 (en) | Apparatus, system, and method for sealing a data repository to a trusted computing platform | |
TW201926110A (zh) | 根密鑰處理方法及相關裝置 | |
US7818567B2 (en) | Method for protecting security accounts manager (SAM) files within windows operating systems | |
US20210367781A1 (en) | Method and system for accelerating verification procedure for image file | |
US20190205560A1 (en) | Remote provisioning and authenticated writes to secure storage devices | |
US8108905B2 (en) | System and method for an isolated process to control address translation | |
EP3757838B1 (en) | Warm boot attack mitigations for non-volatile memory modules | |
CN112181513A (zh) | 一种基于硬件板卡的控制操作***引导的可信度量方法及*** | |
EP3356987B1 (en) | Securely writing data to a secure data storage device during runtime | |
CN104361298A (zh) | 信息安全保密的方法和装置 | |
US11960737B2 (en) | Self-deploying encrypted hard disk, deployment method thereof, self-deploying encrypted hard disk system and boot method thereof | |
Zhao et al. | Gracewipe: Secure and Verifiable Deletion under Coercion. | |
WO2016024967A1 (en) | Secure non-volatile random access memory | |
JP7287115B2 (ja) | 集積回路及び集積回路の制御方法 | |
JP5767657B2 (ja) | 不揮発性メモリが記憶するデータを保護する方法およびコンピュータ | |
RU119910U1 (ru) | Встраиваемый модуль безопасности tsm | |
CN111357003A (zh) | 预操作***环境中的数据保护 | |
KR100358108B1 (ko) | 하드디스크 데이터 보호장치 및 그 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160510 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160708 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20161213 |