USBメモリは今ではテラバイトクラスが販売されているほど大容量になっていて、バックアップメディアとしてはHDDに次ぐものになっています。超大容量を持ち運び出来る反面、企業で使うにはデータの流出などが常々心配され、OSレベルでUSBポートを潰したり、物理的にUSBポートを使えなくしたりと、利便性が高すぎる面で懸念されているのも事実です。

そんなデータの流出や秘密のファイルが見られるのを防ぐ為に使うのが暗号化ソフトウェアですが、USBメモリに付属の暗号化ソフトはなんだかイマイチ・・・そんな時に使用するのが今回のVeraCryptです。TrueCryptの後継ソフトウェアで、Windows/Linux/Mac OS Xとマルチプラットフォームで使えるだけでなく、非常に高機能です。

尚このソフトウェアはオープンソースで開発されています。

今回使用するプログラム

※Mac OS X版は別途OSX FUSEを事前にインストールしておく必要があります。

図:暗号化したものはマウント作業が必要になります。

作成方法

使用するOSによって少しだけ機能に差がありますが、今回はWindows版をベースに解説してみたいと思います。インストール不要のPortable版がありますが今回は通常のインストール版を使っています。

暗号化ドライブを使ってみる

暗号化コンテナファイル

コンテナファイルはファイル・フォルダを1個の暗号化アーカイブ内に格納して暗号化するタイプです。既存のドライブに影響を与えませんし、小さな暗号化コンテナであれば、そのままメールに添付して送ってしまっても大丈夫です。また、Google DriveやDropboxのようなオンラインストレージでも、一部のファイルの暗号化を施しておけば、アクセス権限とは全く別にパスワードを知らなければ開けられないので、安全度が向上します。

作り方は以下の手順です。

  1. メニューより「ボリューム」⇒「新規ボリュームの作成」をクリック
  2. 暗号化されたコンテナファイル」を作成をクリック
  3. VeraCrypt標準ボリュームを選択します。
  4. ボリュームの位置ですが、適当にデスクトップを指定し、ファイル名を付けます。
  5. 暗号化オプションそのままでOKです。
  6. ボリュームのサイズは重要です。どれくらいの大きさのコンテナファイルを作るか?指定します。FAT32のディスク上では4GBを超えるコンテナは置けないので注意。
  7. パスワードを設定します。キーファイルを使うことも可能です。
  8. ファイルシステムですが、4GB以上を6.で指定した場合、巨大ファイルを扱うならばexFAT、そうでなければFAT32となります。NTFSも選択出来ます。通常はそのままでOK.
  9. ボリュームのフォーマットではマウスカーソルを動かして、ランダムプールを満タンにします。いっぱいになったらフォーマット開始。
  10. フォーマットが完了すれば作成したコンテナファイルをマウントします。新しいドライブとして表示されるようになります。

図:暗号化手法は3種類ある

暗号化ドライブ

暗号化ドライブはSDカードや外付けHDD、そしてUSBメモリのディスク全体を暗号化するタイプです。このモードで作ったディスクはそのまま接続しても「読み取れない」「フォーマットしますか?」などと問われ、マウントしない限り開く事もできません。コンテナファイルよりちょっと扱いが面倒なので、Veracryptに慣れている人にオススメです。

暗号化ドライブの作成手順は以下の通りです。

  1. メニューより「ボリューム」⇒「新規ボリュームの作成」をクリック
  2. 非システムパーティション/ドライブを暗号化を選択します。
  3. VeraCrypt標準ボリュームを選択します。
  4. ボリュームの選択にてUSBメモリを選択。通常はリムーバブルディスクの下にある項目を選択。自分の場合、「¥Device¥Harddisk1¥Partition1」がそれに該当しましたが、人によって異なるので注意!容量でよく判断しましょう。
  5. 「暗号化ボリュームを作成してフォーマット」を選択
  6. 暗号化オプションを選択。通常はそのまま次へ進んでOKです。
  7. ボリュームのサイズも特に気にせず次にすすみます。
  8. パスワードを入力します。キーファイルを使う手法も使えます。
  9. 巨大なファイルの項目では、4GBを超えるファイルを扱う場合には「はい」を選択。この場合、exFAT形式となり、そうでない場合にはFAT32形式でフォーマットされます。
  10. ボリュームのフォーマットではマウスカーソルを動かして、ランダムプールを満タンにします。いっぱいになったらフォーマット開始。
  11. フォーマットが完了すれば終了です。マウントして通常のディスクとして使用する事が可能です。

図:このランダムプールが暗号化で使う乱数です。

マウント・アンマウントする

暗号化したUSBドライブやコンテナファイルはそのままでは開ける事ができません。VeraCryptを持ってマウントという作業を行います。マウントを行うと、新しいドライブとして開かれるようになります。また、取り出す時には逆にアンマウントという作業をしなければ、USBメモリは使用中なので、取り外しが出来ません。一手間二手間増えるので、いつもの感覚でUSBメモリを扱うと、ドライブが破壊されることもあるので、要注意です。

マウント手順

  1. 画面に表示されてる空いてるドライブレターを選択する。
  2. コンテナファイルの場合は「ファイルを選択」、暗号化ドライブの場合は「デバイスの選択」をクリックします。
  3. ファイルは自分が作ったコンテナファイルを、デバイスの場合通常はリムーバブルディスクの項目のドライブレターのついてる領域を選択します。
  4. パスワードを求められるので入力する
  5. 無事にマウント完了されると新しいディスクとしてドライブが開かれます。

図:ドライブ暗号化の場合の領域選択してる様子

アンマウント手順

USBメモリも取り出し手順を守らずに外すと壊れるように、マウントしたファイルや領域もアンマウント作業を行わないと、破壊されることがあります。また、アンマウントしていない場合、USB取り外し手順を実施しても、「使用中・・・」として取り外しができない旨のメッセージが出ます。必ずアンマウント作業をし、USB取り外し手順を実施しましょう。

手順は以下の通りです。

  1. マウント中のドライブレターの項目をクリックして選択する
  2. 全てを一括で取り外すならば、全てをアンマウントでもOKです。
  3. 選択したら、アンマウントボタンをクリックします。何かファイルを開いてる場合には閉じましょう。

図:アンマウントは重要な作業です

その他の機能

隠しボリューム機能

このモードは通常のVeraCryptで作った暗号化ドライブ(コンテナではなく)の中に更に、存在を隠したボリュームを作成する事が可能になります。USBメモリを無くし、更にそのパスワードを奪取されたとしても、さらにその中に隠しボリュームがあるので二重でガードします。

作り方は通常の暗号化ドライブの作成手順のようにすすめます。

  1. メニューより「ボリューム」⇒「新規ボリュームの作成」をクリック
  2. 非システムパーティション/ドライブを暗号化を選択します。
  3. 次の画面で、VeraCrypt隠しボリュームを選びます。
  4. モードは通常モードでOKです。
  5. デバイスの選択で、USBメモリと思われる領域を選択(通常はリムーバブルディスクのすぐ下)
  6. 外殻ボリュームの作成と出ますがこれは、普通のVeraCrypt領域の作成です。そのまま進めます。
  7. 巨大なファイルの取扱はお好みで。4GB超えを選ぶとexFAT形式でフォーマットしてくれます。
  8. パスワードを設定し、マウスカーソルを激しくウィンドウ内で動かして、ランダムプールを作ります。満タンになったら、フォーマット開始です。
  9. 続いて隠しボリュームの作成が始まります。自分は32GBのうち5GBを隠しボリュームとしました。
  10. パスワードを入力します。外殻ボリュームとは違うパスワードを指定するか?キーファイルを使う手法に変更しましょう。
  11. 同じようにランダムプールを作成します。満タンになったらフォーマット開始です。
  12. 完了です。
  13. マウント方法ですが、8.で外殻ボリュームで設定したパスワードではなく、10.の隠しボリュームのパスワードを入れます。
  14. すると、隠しボリュームがマウントされます。
  15. 外殻ボリュームをマウントする場合は普通に8.で設定したパスワードで良いのですが、パスワード入力画面にてマウントオプションをクリックし、「隠しボリュームの保護」にてチェックを入れて、外殻ボリューム側からの上書きを阻止するようにしてあげます。

隠しボリュームはデバイスの選択でもその存在は見えません。入力パスワードの違いで区別されています。また外殻ボリュームと同時にマウントは出来ません。どちらか1つです。

図:隠しボリュームの作成画面

図:外殻ボリュームからの上書き保護をしましょう

トラベラーディスク

トラベラーディスクとは、USBメモリにVeraCryptを含めて、別のコンピュータにVeraCryptをインストールする事なくマウント出来るようにしてくれるディスクです。通常のUSBメモリの場合、相手のコンピュータにもVeraCryptが入っていないとマウントが出来ないので、このモードにしておけば、USBメモリだけ持ち歩いて、相手のPCでマウントすることが可能になります。

暗号化ドライブではそもそもマウントしないと中を見られないので、このモードは暗号化コンテナの時に使用します。作り方は以下の手順です。

  1. メニューより「ツール」⇒「トラベラーディスクのセットアップ」をクリック
  2. ファイルの設定では、USBメモリを指定し自動実行の設定を施します。
  3. 作成をクリックするとUSBメモリ直下にveracryptのポータブル版が作成されます。

図:自動的にマウントまでさせることが可能

システムパーティションの暗号化

これはWindowsでだけ使えるモードですが、扱う上で非常に危険が伴うものです。Windowsの入ってる起動ディスクを暗号化する為、パスワードを忘れるとややこしい事になります。主に外にPCを持ち出すようなもので、機密情報の入ってるマシンで利用する機能なのです。Windows起動前に黒いコンソール画面で、マウントするパスワードを求められます。

作る時は復旧用のレスキューディスクの作成が求められるので、別途CD/DVDディスクを一枚用意しておきましょう。システムパーティションの暗号化手順は以下の通りです。万が一ということもあるので、作成前にHDDのイメージバックアップを取っておくべきでしょう。

今回は仮想環境上のWindowsを試しに暗号化してみたいと思います。システムドライブは容量が大きいので暗号化に掛かる時間が非常に大きいですので、寝る前などに仕掛けておくと良いでしょう。64GBあたり50分程度です。

  1. メニューより「システム」⇒「システムパーティション/ドライブの暗号化」をクリックします。
  2. システム暗号タイプでは通常を選択。隠しを選択すると隠しOSを作るといったトリッキーな事も可能です。
  3. 「Windowsシステムパーティションを暗号化」を選択。ドライブ全体を選ぶと2台目移行の内蔵HDDまでもが対象になります。
  4. 次の画面では、Windowsのみならばシングルブート、マルチブート環境ならばマルチブートを選びます。今回はシングルブートを選びました。
  5. 暗号化オプションはそのままでOKですが、AES + RIPEMD-160の組み合わせが良いみたい。
  6. パスワードを設定します。キーファイルは今回の場合使えません。
  7. ランダムデータの収集でマウスカーソルを動かしてランダムプールを満タンにします。
  8. 次へすすむと鍵の生成画面が出ます。そのまま次へ進みます。
  9. レスキューディスクを作る画面です。復旧用に必須なので作りましょう。ISOファイルが作られます。保存場所を指定するとすぐに焼き込みが始まりますので、CD/DVDを用意してディスクを作っておきましょう。
  10. 次んワイプモードの画面が出ます。通常は「なし」でOKです。
  11. システム暗号化の予備検査の画面が出るので、テストをクリックします。アラート画面では「はい」をクリックします。
  12. マシンの再起動を促されるので再起動します。
  13. veracrypt bootloaderが起動します。英語でコンソールな画面ですが、設定したパスワードを入力してEnterで進みます。
  14. パスワードを入れたあとPIMはそのままEnterで、 Verifyでは文字が出ませんがもう一度パスワードを入力してEnterで進みます。
  15. 予備検査完了と画面が自動で出ます。いよいよ暗号化開始します。
  16. お茶でも飲みながら暗号化完了を待ちます。終了したら暗号化完了。次回以降起動はVeraCrypt Bootloaderが起動します。

図:システムの暗号化は慎重に

図:暗号オプションでハッシュアルゴリズムにRIPEMD-160を設定

図:起動時にはパスワードを要求されるようになります。

他のアプリケーション

暗号化ZIP

ファイルの暗号化と言ったら一番これがメジャーですね。昔からあるフォーマットで、ZIPで固めたファイルに暗号化を施すものです。Windows標準のZIP解凍機能では開く事ができません。暗号化ZIPは対応アーカイバであれば作成し解凍する事が可能です。今回は自分が昔から使ってる「Lhaz」でやってみます。他にもExplzhなどが有名ですね。

ファイルの暗号化は、ファイルを右クリック⇒Lhazで圧縮か?Lhazを起動して放り込みます。メニューが出てくるので、「暗号化ZIP」を選択します。解凍する場合はzipファイルをダブルクリックすると、パスワード入力を求められるので、入力すると中身を得る事ができます。但しこのパスワード、Lhaplusにてパスワード探索が出来てしまいます。あまり短いパスワードだと、総当り攻撃で解除される可能性もあるので、注意が必要です。

図:暗号化ZIP圧縮を選びましょう。

BitLocker

BitLockerとは、Windows8から標準装備されたディスクを暗号化する為の機能です。原則Professional Edition以上で利用が出来るようになっています。Home Editionでも使えるようなのですが、機能に制限があります。BitLockerはディスクを暗号化なので、ファイルやフォルダの暗号化は出来ません。使用済み領域か?ドライブまるごと暗号化です。Cドライブを暗号化もできますが、ちょっと怖いですね。

OSと一体化してるものなので、使い方はスムーズです。

  1. デスクトップ上のPCを開くとドライブがでてくるので、右クリック⇒「Bitlockerを有効にする」をクリック
  2. ドライブのロック解除方法を指定。通常はパスワードを指定して解除するを選択。
  3. 回復用のキーをMicrosoftアカウントやファイルとして保存、印刷などを選べます。通常はファイルとして保存しておくと良いでしょう。
  4. 暗号化範囲ですが、通常はドライブ全体を暗号化を選べば良いでしょう。但しこの選択肢は暗号化まで相当時間が掛かります。
  5. 暗号化まで暫く時間が掛かります。
  6. ドライブのUSBメモリのアイコンが鍵付きのものに変化します。
  7. USBメモリの取り外しは通常の「取り出し」で行えます。
  8. 自分のPCであれば特に作業する事なく普通のUSBドライブとして使えます。そうでない場合開こうとすると、パスワードを求めてきます。

図:暗号解除方法は通常はパスワード方式

図:Windows10ならこちらの選択肢もいいかも

暗号化ディスクイメージ

Mac OS Xでは標準装備のディスクユーティリティで暗号化ディスクイメージを作成する事ができます。MacではおなじみのDMGファイルなのですが、マウントするにはパスワードを入れる必要性があります。HFS+でフォーマットされているものですが、他のOSでは7zipで解凍が出来るようになっていたりします。

ですが、基本はOSXの世界でだけ使われてるコンテナファイルです。ファイルはダブルクリックでパスワード要求され、入力するとマウントされ中身は読み書きが可能になっています。Windowsユーザとファイルのやり取りをしないのであるならば、これを使うほうが手っ取り早いかもしれません。

空の暗号化イメージファイルは、

  1. メニューから「ファイル」⇒「新規イメージ」⇒「空のイメージを作成」を開く
  2. 設定はまず、サイズを決めます。その後、暗号化を128bitもしくは256bitのどちらかを選ぶ。
  3. イメージフォーマットは読み書きがデフォルトです。
  4. 保存とすると、作成が開始され、マウントすると中にファイルを入れ込む事が可能になります。

図:空のディスクイメージを作成中

関連リンク