TrueCrypt

TrueCryptとは、暗号化された仮想ディスクを作成・利用するソフトウエア。仮想ディスクはファイルとして作成するだけでなく、パーティション自体も対象にできる。ユーザは、作成された仮想ディスクをUSBメモリなどと同じ感覚でリムーバブルディスクドライブとしてマウントすることで利用できる。また、Windows版TrueCryptではシステムドライブ自体も暗号化することが出来る。

このソフトウエアは、TrueCrypt Licenseの下で無償で利用できる。

現在は開発者から「安全ではない」とのメッセージが出されており、使用を中止しBitLockerなど他のソリューションにのりかえることが推奨されている。

代替としてはTrueCryptのソースコードに基づいたVeraCryptやCipherShedなどフリーウェアのプロジェクトがある。

1. 開発終了
-------

2014年5月28日に、TrueCryptの公式サイト truecrypt.org が、HTTP 301 "Moved Permanently"によって訪問者を truecrypt.sourceforge.org へ転送するようになった。転送先では、Windows XPのサポート終了に合わせて、TrueCryptの開発を2014年5月で終了した旨が警告されている。新しいバージョンのWindowsではOS標準のBitLockerが、LinuxやMac OS Xでも類似のシステムがあることから、TrueCryptはもはや不要であり、TrueCryptで暗号化されているデータをBitLockerに移行することが推奨されている。SourceForgeのプロジェクトページ sourceforge.net/truecrypt にも同じメッセージが表示されるようになり、プロジェクトの状況は "inactive"に変更された。同時に、暗号化機能を除去し、既存の暗号化済みデータの復号機能のみを有するバージョン7.2がリリースされた。

開発終了の発表当初、この発表および新しくリリースされたバージョン7.2が本物なのか疑問が呈された。ITコミュニティでは、この発表について様々な説が示された。[1]、[2]およびクラウドファンドによってTrueCrypt 7.1aのセキュリティ監査を行っていたグループが、それぞれ独自にTrueCryptのフォークを行うことを発表した。

Gibson Research Corporationによると、Steven Barnhartが、TrueCrypt Foundationのメンバーの一人にメールを送り、返事を受け取っている。それによると、開発終了の発表は「興味を失った」ためであるとのことである。

2. 仕様・機能
--------

TrueCryptは暗号化された仮想ディスクを作成する機能を持つ。この仮想ディスクは「TrueCryptボリューム」と呼ばれる。
ボリュームのフォーマット形式はWindowsではFAT  またはNTFS、LinuxではFAT , ext2, ext3, ext4である。
利用できる暗号化アルゴリズムは、AES, Serpent, Twofishの単独使用あるいは AES-Twofish, AES-Twofish-Serpent, Serpent-AES, Serpent-Twofish-AES, Twofish-Serpentのカスケード方式の計8種類である。
利用できるハッシュアルゴリズムは、RIPEMD-160, SHA-512, Whirlpoolの3種類である。
ユーザは事前に作成されたTrueCryptボリュームを、TrueCryptのGUIを用いてマウントすることにより利用する。
TrueCryptボリュームをマウントするときに、パスワードによる認証またはキーファイルによる認証が行われる。
一つのTrueCryptボリューム中に「外殻ボリューム」と「隠しボリューム」を作成することが出来る。マウント時にどちらのボリュームをマウントするかは、パスワードによって選択される。これは、脅迫等によってボリュームをマウントすることを強制された場合、「隠しボリューム」を開示しないために必要な機能である。
Windows、Mac OS X、Linux用のTrueCryptで作成されたTrueCryptボリュームはそれぞれ互換性があるため、相互に利用が可能である。

3. 情報の流出・盗難の予防
--------------

TrueCryptが作成した仮想ディスクは暗号化されているため、この仮想ディスクを納めたコンピュータ本体や、ハードディスクドライブ、USBメモリ、CD等のメディアが外部流出した場合でも、内部に格納されているデータが復号されない限り情報流出することは無い。

例えば、機密データをUSBメモリに格納して持ち歩く場合、TrueCryptが作成した仮想ディスクとして格納すれば、たとえUSBメモリを紛失したり盗難されたりしたとしても、実質的な情報流出にはならない。

4. 情報の流出・盗難を予防できない可能性
---------------------

TrueCryptが作成した仮想ディスクが流出した場合で、その仮想ディスクに脆弱なパスワードが付与されていたり、同時にキーファイルも流出する等により、データを復号される可能性がある。//対抗手段：推測できない長いパスワードを付与。キーファイルはそれと推測されないファイル名にし、別に保存する等//
TrueCryptが作成した仮想ディスクをマウントする時に、適切なアクセスコントロールを設定していない場合は、そのコンピュータにアクセスできる他者が仮想ディスクにアクセスすることが出来る場合がある。//対抗手段：Linuxの場合であれば、mount状態のuidとgidがユーザ自身であり、umaskが077であることを確認する//
TrueCryptが作成した仮想ディスク上のファイルを、アプリケーションソフトで利用する場合、コンピュータのメモリ上には復号されたファイルのデータが展開されるとともに、場合によってはテンポラリファイルやスワップファイルに書き出されることもある。これらは他者からアクセスできる場合がある。//対抗手段：OSの設定をスワップファイルを用いない設定とする。Linuxであれば、アプリケーション利用前にswapoffコマンドを実行すれば良い。Windowsであれば、コントロールパネルで仮想メモリを利用しない設定とすれば良い。また、利用するアプリケーション毎にテンポラリファイルがどこに作成されるか、常に注意を払う必要がある//

5. ライセンス
--------

TrueCryptは、独自の "TrueCrypt License" によってリリースされている。このライセンスは、広く受け入れられているオープンソースライセンスではなく、配布や著作権に関する制限があることからフリーソフトウェア財団に認定されているフリーソフトウェアライセンスでもない。TrueCrypt 7.1aのリリース時点で、TrueCrypt Licenseのバージョンは3.0であった。

2013年10月に、Open Source Initiativeのメーリングリスト上での議論で、オープンソースの定義に適合するようTrueCrypt Licenseの修正が進んでいることが示唆されたが、オープンソースソフトウェアであることがはっきりと示されない限り、それが受け入れられる見込みは少ないとされる。

OSI代表のSimon Phippsによると、

...自らを「オープンソース」だと主張することは全く不適切である。単にOSIが認定していないライセンスだということではなく、問題を抱えていることがわかっているライセンスでリリースするものに「オープンソース」という用語を用いることは受け入れられない。著作権の制限やそのほかの法的問題の状況が不透明であることから、TrueCrypt Licenseは主要なLinuxディストリビューションからはフリーソフトウェアだとはみなされておらず、Debian、Ubuntu、Fedora、openSUSE、Gentooには同梱されていない。

このライセンスの利用者に対して、ソフトウェアを改変する権利あるいは他のプロジェクトでそのソフトウェアを使用する権利が認められているのかもはっきりとはしていない。暗号学者であるMatthew D. Greenは「ライセンスの状況を修正することを含めて、TrueCryptのソースコードを他者が利用しやすくするよう、できることが多くあったはずだ」と述べ、他者が自分たちのソースコードをもとに独自にソフトウェアをビルドすることを認めたくなかったのだろうと推測している。

2014年6月16日に、Matthew Greenによるライセンスに関する電子メールでの問い合わせに開発者を名乗る人物から返答があった。それによると、1）