ストレージの暗号化をクロスプラットフォームGUIで実現するTrueCrypt 5.0
Linux用バイナリファイルのダウンロードは、以前は各Linuxディストリビューション用の版がそれぞれ用意されていたのだが、現在ではopenSUSE(x86)版とUbuntu(x86)版の2種類のみの提供になった。なおTrueCryptの設計が新しくなってLinuxカーネルのアップグレードや更新による影響を受けなくなったので、TrueCryptをソースから手動でコンパイルする必要のある他のディストリビューションのユーザにとっては嬉しいことに、カーネルが変更される度にコンパイルし直す必要がなくなった。
今回Kubuntu 7.10上で試してみたところ、まったく問題なくインストールすることができた。ただしインストールの後、KDEのメニューの中に項目が作成されなかった。今回リリースされたバージョンがユーザビリティの向上を主な目的としていることを考えると、もっともよく利用されているLinuxデスクトップ環境の一つにおいてこのような単純な点が見逃されていることは驚きだ。また同様に「.tc」というファイル拡張子がTrueCryptと関連付けされていないようだった。なおこれらの問題はどちらも(手を加えなければ)Windows上でも起こった。
TrueCryptでは暗号化した通常のボリュームの中に暗号化した隠しボリュームを作成することができる。隠しボリュームの存在を検出することは不可能である(隠しボリューム内のデータは、通常の暗号化ボリューム内の空き領域を埋めている通常のランダムデータと区別がつかない)ため、パスワードを明かすことを強要された場合などに役立つ。詳しくはTrueCryptの存在の隠蔽についての文書も参照すると良いだろう。
コンソールまたはAlt-F2経由で「truecrypt
」コマンドを実行すると、メインウィンドウとトレイアイコンが表示される。暗号化ボリュームの作成は簡単で、「Create Volume(ボリュームの作成)」ボタンを押せばTrueCrypt Volume Wizardが起動するので、ステップごとに提示されるオプション――通常のボリュームか隠しボリュームか、パーティションかファイルコンテナか、使用する暗号化アルゴリズムの種類(デフォルトはAES)、使用するハッシュアルゴリズム(デフォルトはRIPEMD-160)、使用するパスワード(20文字以上を推奨)、使用するファイルシステムの種類とオプションなど――を選択していけば良い。
Linux用のTrueCryptでは、パーティション全体(あるいはハードディスク全体)を暗号化することもできるが、ファイルの中にボリュームを作成して暗号化することもできる。そのような仮想ボリュームは何らかのファイルシステム内の通常のファイルとして保存されているが、一個の独立した暗号化仮想ディスクデバイスとして機能している。
既存のボリュームにアクセスするには、メインウィンドウの中の空き「スロット」(各「スロット」は、Windowsでは利用可能なドライブのドライブ文字に、Linuxでは既定のマウントポイントに対応している)をどれか一つ選んで、暗号化ボリュームが含まれているファイルやパーティションを選択して、Mount(マウント)ボタンを押す。するとボリューム用のパスワードを入力するように求められるので、マウントしたいボリュームによって、通常ボリュームのパスワードか隠しボリュームのパスワードかを入力する。ボリューム用のパスワードが正しければ、ルートのパスワードを入力するように求められる。
バージョン4.3a以降のTrueCryptではseteuidを使ったルート権限での実行モードが廃止されsudo
コマンドを使うようになったので管理者パスワードを入力しなければならなくなった。この変更はセキュリティの観点からは好ましいが、マルチユーザのワークステーション上ではTrueCryptが利用しにくくなる。そこでvisudo
を使ってsudoerファイルを編集しておき、特定のグループ(ここでは「truecrypt」とする)に属するユーザがルートのパスワードを知らなくてもTrueCryptを管理者権限で実行することができるようにしておくと良い。そうするためには次の一行を追加すれば良いだけだ。
%truecrypt ALL=(root) NOPASSWD:/usr/bin/truecrypt
なおこの方法は、以前のコマンドライン版でも同様にうまく行く。こうしておけば、マウントされたボリュームに/media/truecryptX(Xは、Mount Options(マウントオプション)のページで既存のマウントポイントを指定していなければ、スロットの番号)からアクセスすることができるようになる。
TrueCrypt 5.0では、Blowfish、CAST-128、Triple DESなど64ビットのブロック暗号アルゴリズム経由で暗号化されたボリュームをオープンすることはできるが、AES、Serpent、Twofishなど128ビットのブロック暗号アルゴリズムよりも弱いアルゴリズムを使用して新規のボリュームを作成することはできなくなっている。
暗号化されたボリュームにアクセスするのにかかる時間と、暗号化されていないボリュームにアクセスするのにかかる時間とを比べると歴然とした差があり、とりわけ古いコンピュータ上で大きなファイルをコピーする場合には顕著だ。Athlon 1200システムでは、暗号化ボリュームでのコピーにはほとんど2倍の時間がかかった。とは言えそのような低速なコンピュータ上でフル画面サイズの圧縮ビデオをリアルタイムで復号して再生しても、ビデオは何の問題もなく見ることができる。
マウントした後には、ボリュームをお気に入りに登録することができる。TrueCryptではボリュームがある場所とマウントポイントとをFavorites(お気に入り)メニューに保存するので、次回アクセスする際には正しいパスワードを入力するだけで良い。さらに、トレイアイコンの右クリックメニュー経由で簡単に、お気に入りのボリュームをマウントしたりアンマウントしたりKonquerorで閲覧したりすることもできる。
暗号化パーティションや暗号化ボリュームをリムーバブルメディア上に作成すれば、別のコンピュータや別のオペレーティングシステム(Windows/Mac OS X/Linux)からでもアクセスすることができる。ただし当然ながら、ボリュームのアクセスに利用するオペレーティングシステムが元のオペレーティングシステムが作成したファイルシステムをサポートしていることを確認しておく必要がある。またTrueCryptにはトラベラーモード(Windows上で利用可能)があって、Windows上で「トラベラーディスク」を使用すれば、TrueCryptをインストールしなくてもTrueCryptを起動して指定したTrueCryptのボリュームをマウントすることができる。
TrueCrypt 5.0でも、「-t
」スイッチを利用することでコマンドラインモードで使用することができる(なお-tは最初のオプションとして指定する必要がある)。残念ながら文法は以前のバージョンと同じではなく、またボリュームをマウントするためには、最終的なキーファイルや隠しボリュームなどについてのより多くの質問に答える必要がある。さらに言えばTrueCrypt 5.0が最初にリリースされた際には、TrueCryptを純粋なコンソール環境で使用しようとすると-t
オプションを付けていても「エラー:gtkを初期化できません。DISPLAYは正しく設定されていますか?」というエラーが出て実行することができなかった。これはGUIを使うことができない場合には特に厄介な問題だった。嬉しいことにこの問題については、1週間後にTrueCrypt FoundationがリリースしたTrueCrypt 5.0aで修正されたので、その後TrueCryptのコンソール版もちゃんと使用することができるようになった。
TrueCryptのウェブサイトでは、詳細な文書(各インストールパッケージ内のPDFファイルにもほぼすべての内容が含まれている)や、FAQのページや、Linux用の専門セクションもあるフォーラムなどが提供されている。各ディストリビューションに固有の問題に対する解決方法はたいていの場合はウェブ上のその他のリソースを利用すれば見つけることができる。
TrueCryptの新しいGUIは、トレイアイコン経由でよく使う機能を手早く実行することができるので以前のコマンドライン版よりも効率的だ。KDEのAutostartフォルダにリンクを追加してTrueCryptの起動を自動化(「--background-task
」オプションを付ければデフォルトでアイコン化することもできる)しておくとさらに便利だろう。
TrueCryptのライセンスはオープンソースだが、GPLとの互換性はない。とは言えTrueCrypt 5.0aは、利用可能な中でももっとも簡単で安全なクロスプラットフォームな暗号化ユーティリティの一つだと言えるだろう。