TrueCrypt
TrueCrypt(トゥルークリプト)とは、暗号化された仮想ディスクを作成・利用するソフトウエア。仮想ディスクはとして作成するだけでなく、パーティション自体も対象にできる。ユーザは、作成された仮想ディスクをUSBメモリなどと同じ感覚でリムーバブルディスクドライブとしてマウントすることで利用できる。また、Windows版TrueCryptではシステムドライブ自体も暗号化することが出来る。
このソフトウエアは、TrueCrypt Licenseの下で無償で利用できる。
現在は開発者から「安全ではない」とのメッセージが出されており、使用を中止しBitLockerなど他のソリューションにのりかえることが推奨されている。
代替としてはTrueCryptのソースコードに基づいたVeraCryptやCipherShedなどフリーウェアのプロジェクトがある。
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コミュニティでは、この発表について様々な説が示された。、およびクラウドファンドによってTrueCrypt 7.1aのセキュリティ監査を行っていたグループが、それぞれ独自にTrueCryptのフォークを行うことを発表した。
Gibson Research Corporationによると、Steven Barnhartが、TrueCrypt Foundationのメンバーの一人にメールを送り、返事を受け取っている。それによると、開発終了の発表は「(プロジェクトを続けることに対する)興味を失った」ためであるとのことである。
TrueCryptは暗号化された仮想ディスクを作成する機能を持つ。この仮想ディスクは「TrueCryptボリューム」と呼ばれる。
ボリュームのフォーマット形式はWindowsでは (FAT12, FAT16, FAT32) またはNTFS、LinuxではFAT (VFAT), ext2, ext3, ext4である。
利用できる暗号化アルゴリズム(ブロック暗号)は、AES, Serpent, Twofish(いずれも鍵長256ビット、ブロック長128ビット)の単独使用あるいは AES-Twofish, AES-Twofish-Serpent, Serpent-AES, Serpent-Twofish-AES, Twofish-Serpentのカスケード方式の計8種類である。
利用できるハッシュアルゴリズム(暗号学的ハッシュ関数)は、RIPEMD-160(ハッシュ長160ビット), SHA-512, Whirlpool(いずれもハッシュ長512ビット)の3種類である。
ユーザは事前に作成されたTrueCryptボリュームを、TrueCryptのGUIを用いてマウントすることにより利用する。
TrueCryptボリュームをマウントするときに、パスワードによる認証またはキーファイルによる認証が行われる。
一つのTrueCryptボリューム中に「外殻ボリューム」と「隠しボリューム」を作成することが出来る。マウント時にどちらのボリュームをマウントするかは、パスワードによって選択される。これは、脅迫等によってボリュームをマウントすることを強制された場合、「隠しボリューム」を開示しないために必要な機能である。
Windows、Mac OS X、Linux用のTrueCryptで作成されたTrueCryptボリュームはそれぞれ互換性があるため、相互に利用が可能である。
TrueCryptが作成した仮想ディスク(TrueCryptボリューム)は暗号化されているため、この仮想ディスクを納めたコンピュータ本体や、ハードディスクドライブ、USBメモリ、CD等のメディアが外部流出した場合でも、内部に格納されているデータが復号(解読)されない限り情報流出することは無い。
例えば、機密データをUSBメモリに格納して持ち歩く場合、TrueCryptが作成した仮想ディスクとして格納すれば、たとえUSBメモリを紛失したり盗難されたりしたとしても、実質的な情報流出にはならない。
TrueCryptが作成した仮想ディスク(TrueCryptボリューム)が流出した場合で、その仮想ディスクに脆弱なパスワードが付与されていたり、同時にキーファイルも流出する等により、データを復号(解読)される可能性がある。
対抗手段:推測できない長いパスワードを付与。キーファイルはそれと推測されないファイル名にし、別に保存する等
TrueCryptが作成した仮想ディスク(TrueCryptボリューム)をマウントする時に、適切なアクセスコントロール(他のユーザがアクセス出来ない)を設定していない場合は、そのコンピュータにアクセスできる他者が仮想ディスクにアクセスすることが出来る場合がある。
対抗手段:Linuxの場合であれば、mount状態のuidとgidがユーザ自身であり、umaskが077であることを確認する
TrueCryptが作成した仮想ディスク上のファイルを、アプリケーションソフトで利用する場合、コンピュータのメモリ上には復号(解読)されたファイルのデータが展開されるとともに、場合によってはテンポラリファイルやスワップファイルに書き出されることもある。これらは他者からアクセスできる場合がある。
対抗手段:OSの設定をスワップファイルを用いない設定とする。Linuxであれば、アプリケーション利用前にswapoffコマンドを実行すれば良い。Windowsであれば、コントロールパネルで仮想メモリを利用しない設定とすれば良い(再起動が必要)。また、利用するアプリケーション毎にテンポラリファイルがどこに作成されるか、常に注意を払う必要がある
TrueCryptで作成した仮想ディスク(TrueCryptボリューム)のパスワードを忘れたり、キーファイルを紛失した場合は、誰でもいかなる方法でもアクセス・復号がその情報が意味を持つ時間内には不可能になり、実質的な意味として情報を喪失する。
TrueCryptは、独自の "TrueCrypt License" によってリリースされている。このライセンスは、広く受け入れられているオープンソースライセンスではなく、配布や著作権に関する制限があることからフリーソフトウェア財団に認定されているフリーソフトウェアライセンスでもない。TrueCrypt 7.1aのリリース時点で、TrueCrypt Licenseのバージョンは3.0であった。
2013年10月に、Open Source Initiativeのメーリングリスト上での議論で、オープンソースの定義に適合するようTrueCrypt Licenseの修正が進んでいることが示唆されたが、オープンソースソフトウェアであることがはっきりと示されない限り、それが受け入れられる見込みは少ないとされる。
OSI代表のSimon Phippsによると、
...(TrueCryptが)自らを「オープンソース」だと主張することは全く不適切である。単にOSIが認定していないライセンスだということではなく、問題を抱えていることがわかっているライセンスでリリースするものに「オープンソース」という用語を用いることは受け入れられない。
著作権の制限やそのほかの法的問題の状況が不透明であることから、TrueCrypt Licenseは主要なLinuxディストリビューションからはフリーソフトウェアだとはみなされておらず、Debian、Ubuntu、Fedora、openSUSE、Gentooには同梱されていない。
このライセンスの利用者に対して、ソフトウェアを改変する権利あるいは他のプロジェクトでそのソフトウェアを使用する権利が認められているのかもはっきりとはしていない。暗号学者であるMatthew D. Greenは「(TrueCryptの開発者には)ライセンスの状況を修正することを含めて、TrueCryptのソースコードを他者が利用しやすくするよう、できることが多くあったはずだ」と述べ、他者が自分たちのソースコードをもとに独自にソフトウェアをビルドすることを認めたくなかったのだろうと推測している。
2014年6月16日に、Matthew Greenによるライセンスに関する電子メールでの問い合わせに開発者を名乗る人物から返答があった。それによると、1)TrueCryptのライセンスをオープンソースに適合するものに変更するつもりはない、2)TrueCryptはフォークされるべきではない、3)新しいバージョンを作成したいのであればスクラッチから始めるべきであるとのことであった。
2014年5月28日に、TrueCryptの開発終了が発表され、新たにバージョン7.2のソフトウェアがリリースされた。これに合わせてTrueCrypt Licenseにも、配布の際に公式サイトへのリンクや特定の文言を加えることを要求していた条項が除去され、バージョン3.1のライセンスとなった。