blog.s.kbachaun.com

試験公開中です。雑記帳のようになってしまっています。更新頻度は低いです。

記事表示

BltLockerにおけるWMIクラスとその使い方

BitLockerを管理するには、専用のWMIクラスを使用する。このクラスの使用方法がやや難しいうえ、英語のドキュメントしかないので、ここにメモを行っておく。なお、ここにあるものはすべてWindows8 Pro with Media Centerで検証を行った。

Bitlockerを管理するクラス

BitLockerを管理するためには、Win32_EncryptableVolumeクラスを用いる。このクラスに用意されているメソッドを用いることで、ロックの解除方法の追加や、暗号化、暗号化解除などが行える。

このクラスのドキュメントは、http://msdn.microsoft.com/ja-jp/library/aa376483.aspx に公開されているが、現時点(2012年12月8日)では、英語のドキュメントしか表示されない。なお、このURL自体は日本語バージョンを示すようになっているので、日本語版が公開されたら日本語版が表示されるはずである。

WMIのコードについては、http://www.microsoft.com/en-us/download/details.aspx?id=8572 からダウンロード可能な、WMI Code Creator v1.0を用いれば簡単に生成できる。また、その場での実行も可能なので、WMIのテストにも最適である。なお、BitLocker関係のクラスについては、"root\CIMV2\Security\MicrosoftVolumeEncryption"のネームスペースにある。ただし、管理者権限で実行しないと、アクセスが拒否されるので注意。

クラス内のプロパティー

Win32_EncryptableVolumeには、いくつかのプロパティーがある。ここでは、ドキュメントに記載されていないものを記載する。

VolumeType:ボリュームのタイプを示す。調べた限りでは、0がオペレーティングシステムドライブ,1が固定データドライブ,2がリムーバブルデータドライブ(BitLocker To Go)を示す模様。

クラスのメソッド

Win32_EncryptableVolumeに含まれるメソッドを利用して、ロックの解除方法の設定や確認などが行える。ここでは、特に注意が必要な点を記載する。

WMIを使用してBitLockerを有効にするには、先に、ロック解除方法をProtectKeyWith*で設定してから、EncryptまたはEncryptAfterHardwareTestを実行する必要がある。ロック解除方法を設定する前にEncryptを実行しても、エラーとなり実行はできない。また、Windows8においては、EncryptのオプションであるEncryptionFlagsを指定(0x00000001のビットをon)すれば、使用領域のみの暗号化も可能なようだが、正常に動作するかは不明である。おそらくきちんと指定すれば動作すると思われるが、先述したWMI Code Creator v1.0で1を指定しても、ボリューム全体の暗号化が実行されているように見受けられた。

最後に

とりあえず一部のメソッドの検証は行ったが、まだ検証ができていない部分が多々ある。特にロック解除方法の部分は、回復パスワードのみ検証しており、また、ロックの解除のメソッドも確認していない。そのため、このクラスの動作を完全に理解するには、さらなる検証が必要である。また、この検証の結果を踏まえて、GUIでの高度な管理ができるツールを開発、提供したい。

コメント

コメント投稿