EFSとは、Windowsの暗号化機能。
使用するとファイル名とかフォルダ名とかが緑になるアレな。

以下、Microsoftのサイトより。

http://windows.microsoft.com/ja-jp/windows/what-is-encrypting-file-system#1TC=windows-7

暗号化ファイル システム (EFS) は、情報をハード ディスク上に暗号化された形式で格納するための Windows の機能です。暗号化は、情報のセキュリティを保護するために Windows が提供する最も強力な保護手段です。

EFS の主な機能の一部を紹介します。

暗号化が簡単です。ファイルまたはフォルダーのプロパティのチェック ボックスをオンにするだけで有効になります。
ファイルを読むことができるユーザーを制限できます。
ファイルは閉じたときに暗号化されますが、開くときに自動的に使用できる状態になります。
ファイルの暗号化を解除する場合は、ファイルのプロパティでチェック ボックスをオフにします。

EFS は、Windows 7 Starter、Windows 7 Home Basic、および Windows 7 Home Premium では完全にはサポートされていません。

末文に注意。Professional以上ということですな。

使いかた

crypt /?で使い方が表示される。長いので本記事末尾に示す。

ファイルを暗号化、復号する。

暗号化はcipher /e <ファイル名>、復号にはcipher /d <ファイル名>と指定する。
Encrypt, Decrypt、ですな。
以下、ひみつ.txtを暗号化する例。

c:¥>cipher /e c:¥vault¥crypt¥ひみつ.txt

 c:¥vault¥crypt¥ のファイルを暗号化しています

ひみつ.txt             [OK]

1 ディレクトリ内の 1 ファイル [またはディレクトリ] が暗号化されました。

ファイルをプレーンテキストから暗号化テキストに変換すると、
ディスク ボリュームに古いプレーンテキストの部分が残る場合があります。
変換がすべて完了してから、コマンド CIPHER /W:ディレクトリを使って
ディスクをクリーンアップすることをお勧めします。

c:¥>cipher /d c:¥vault¥crypt¥ひみつ.txt

 c:¥vault¥crypt¥ のファイルの暗号化を解除しています

ひみつ.txt             [OK]

1 ディレクトリ内の 1 ファイル [またはディレクトリ] の暗号化が解除されました。

簡単ですな。

ワイルドカードも使用可能

ファイルの指定にはワイルドカードが使える。

c:¥>cipher /e c:¥vault¥crypt¥*.txt

 c:¥vault¥crypt¥ のファイルを暗号化しています

とてもひみつ.txt          [OK]
ひみつ.txt             [OK]

1 ディレクトリ内の 2 ファイル [またはディレクトリ] が暗号化されました。

c:¥>cipher /d c:¥vault¥crypt¥*.txt

 c:¥vault¥crypt¥ のファイルの暗号化を解除しています

とてもひみつ.txt          [OK]
ひみつ.txt             [OK]

1 ディレクトリ内の 2 ファイル [またはディレクトリ] の暗号化が解除されました。

これもまあ、普通。

ディレクトリの暗号化、復号

ファイルではなくディレクトリを指定することもできる。
この場合、「それ以降に」当該ディレクトリに置かれるファイルが暗号化されるか/されないかが決まる。
もともと置いてあったファイルには影響しない。

C:¥>cipher /e c:¥vault¥crypt¥

 新しいファイルを暗号化するようにディレクトリ c:¥vault¥crypt¥ を設定
しています [OK]

1 ディレクトリ内の 1 ファイル [またはディレクトリ] が暗号化されました。


C:¥>cipher /d c:¥vault¥crypt¥

 新しいファイルを暗号化しないようにディレクトリ c:¥users¥0066945¥out¥crypt¥ を設
定しています [OK]

1 ディレクトリ内の 1 ファイル [またはディレクトリ] の暗号化が解除されました。

フォルダ配下全部を暗号化/復号

/s:に続けてディレクトリを指定すると、再帰的な処理ができる。

c:¥>cipher /e /s:c:¥vault¥crypt

 新しいファイルを暗号化するようにディレクトリ c:¥vault¥crypt を設定
しています [OK]

 c:¥vault¥crypt¥ のファイルを暗号化しています

ひみつ.txt             [OK]

2 ディレクトリ内の 2 ファイル [またはディレクトリ] が暗号化されました。


c:¥>cipher /d /s:c:¥vault¥crypt

 新しいファイルを暗号化しないようにディレクトリ c:¥vault¥crypt を設
定しています [OK]

 c:¥vault¥crypt¥ のファイルの暗号化を解除しています

ひみつ.txt             [OK]

2 ディレクトリ内の 2 ファイル [またはディレクトリ] の暗号化が解除されました。

状態確認

暗号化されているか/されていないかは、ファイル名の色で判断できる。
緑色なら暗号化されていて、黒なら暗号化されていない。
もちろん、コマンドからも確認できる。
オプション指定なくファイル名、ディレクトリ名を渡せば暗号化状況を得られる。

c:¥>cipher c:¥vault¥crypt

 c:¥vault¥ の一覧を作成しています
 このディレクトリに追加されるファイルは暗号化されません。

E crypt

c:¥>cipher c:¥vault¥crypt¥ひみつ.txt

 c:¥vault¥crypt¥ の一覧を作成しています
 このディレクトリに追加される新しいファイルは暗号化されます。

E ひみつ.txt

もちろん、再帰オプションも使用可能。

c:¥>cipher /s:c:¥vault¥crypt¥

 c:¥users¥0066945¥out¥crypt¥ の一覧を作成しています
 このディレクトリに追加される新しいファイルは暗号化されます。

E とてもひみつ.txt
U ひみつ.txt

ヘルプ

c:¥>cipher /?
NTFS パーティション上のディレクトリ [ファイル] の暗号化を表示または変更します。

CIPHER [/E | /D | /C]
[/S:ディレクトリ] [/B] [/H] [パス名 [...]]

CIPHER /K [/ECC:256|384|521]

CIPHER /R:ファイル名 [/SMARTCARD] [/ECC:256|384|521]

CIPHER /U [/N]

CIPHER /W:ディレクトリ

CIPHER /X[:EFS ファイル] [ファイル名]

CIPHER /Y

CIPHER /ADDUSER
[/CERTHASH:ハッシュ | /CERTFILE:ファイル名 | /USER:ユーザー名]
[/S:ディレクトリ] [/B] [/H] [パス名 [...]]

CIPHER /FLUSHCACHE [/SERVER:サーバー名]

CIPHER /REMOVEUSER /CERTHASH:ハッシュ
[/S:ディレクトリ] [/B] [/H] [パス名 [...]]

CIPHER /REKEY [パス名 [...]]

/B エラーが発生した場合に中断します。既定では、CIPHER は
エラーが発生しても実行を続行します。
/C 暗号化されたファイルに関する情報を表示します。
/D 指定されたファイルまたはディレクトリの暗号化を解除します。
/E 指定されたファイルまたはディレクトリを暗号化します。後で追加
されたファイルが暗号化されるようにディレクトリをマークします。
親ディレクトリが暗号化されていない場合、暗号化されたファイルは、
変更されるときに暗号化を解除されます。ファイルおよび親
ディレクトリを暗号化することをお勧めします。
/H 隠しファイルやシステム属性のファイルを表示します。既定では
これらのファイルは省略されます。
/K EFS で使用するための新しい証明書およびキーを作成します。
このオプションが指定されると、その他のオプションはすべて無視
されます。

注意: 既定では、/K によって現在のグループ ポリシーに準拠する
証明書とキーが作成されます。ECC が指定されている場合、
指定のキー サイズによる自己署名証明書が作成されます。

/N このオプションは /U を指定した場合にのみ動作します。
このオプションにより、キーが更新されなくなります。ローカル
ドライブ上のすべての暗号化ファイルを探すために使用されます。
/R EFS 回復キーと証明書を作成してから、それらを .PFX ファイル
(証明書と秘密キー) と .CER ファイル (証明書のみ) に書き込み
ます。管理者は、ユーザーの回復キーを作成するために .CER の内容
を EFS 回復ポリシーに追加し、個々のファイルを回復するために
.PFX ファイルをインポートすることができます。SMARTCARD
が指定されている場合は、回復キーと証明書をスマート カードに
書き込みます。.CER ファイルが生成されます (証明書のみ)。.PFX
ファイルは生成されません。

注意: 既定では、/R は 2048 ビット RSA 回復キーと証明書を作成しま
す。ECC が指定されている場合、その後にキー サイズ 256、384
または 521 が指定されている必要があります。

/S 指定されたディレクトリと、その下にあるすべてのファイルとサブ
ディレクトリに対して指定された操作を実行します。
/U ローカル ドライブのすべての暗号化ファイルを参照しようとします。
これにより、現在のユーザーのファイル暗号化キー、または回復キーに
変更があった場合、これらが更新されます。このオプションは /N 以外
の他のオプションでは動作しません。
/W ボリューム全体で利用可能な未使用のディスク領域から、データを削除
します。このオプションを選んだ場合は、他のオプションはすべて無視
されます。ローカル ボリューム上のどの場所にあるディレクトリでも
指定することができます。ディレクトリがマウント ポイントである
場合、または別のボリュームのディレクトリを指し示す場合は、その
ボリュームのデータが削除されます。
/X EFS 証明書とキーのバックアップを、指定された名前のファイルに
保存します。EFS ファイルが指定されている場合は、ファイルの暗号化
に使用されている現在のユーザーの証明書のバックアップが作成され
ます。指定されていない場合は、ユーザーの現在の EFS 証明書とキー
のバックアップが作成されます。
/Y ローカル PC 上の現在の EFS 証明書を縮小表示します。
/ADDUSER 指定された暗号化ファイルにユーザーを追加します。CERTHASH が指定
されている場合は、この SHA1 ハッシュを含む証明書が検索されます。
CERTFILE が指定されている場合は、ファイルから証明書が抽出
されます。USER が指定されている場合、CIPHER は Active Directory
ドメイン サービス内でユーザー証明書を検索します。
/FLUSHCACHE
指定されたサーバー上で、呼び出し元ユーザーの EFS キーのキャッシュ
をクリアします。サーバー名が指定されていない場合は、ローカル
コンピューター上の呼び出し元ユーザーのキー キャッシュがクリア
されます。
/REKEY 指定した暗号化ファイルを、構成済みの EFS の現在のキーを使用する
ように更新します。
/REMOVEUSER 指定されたファイルからユーザーを削除します。CERTHASH
は削除する証明書の SHA1 ハッシュである必要があります。

ディレクトリ ディレクトリのパスです。
ファイル名 拡張子を伴わないファイル名です。
パス名 パターン、ファイル、またはディレクトリを指定します。
EFS ファイル 暗号化されたファイルのパスです。

パラメーターを指定せずに CIPHER を実行すると、現在のディレクトリとディレクト
リに含まれるすべてのファイルの暗号化状態を表示します。複数のディレクトリ名
やワイルドカードを指定できます。複数のパラメーターを指定する場合は、パラ
メーターをスペースで区切ってください。```