VeraCrypt

VeraCrypt は オープンソースでフリーウェアのに使われるユーティリティソフトウェアである"VeraCrypt Official Site"。VeraCryptはファイルやパーティションの暗号化や、ストレージ全体の暗号化が成されたブート前認証付き仮想暗号化ディスクを作成することができる。

VeraCryptは開発が終了したTrueCryptのフォークである。初版のリリースは 2013年6月22日で、2015年9月には10度目のリリース(バージョン 1.15)がなされた"VeraCrypt Downloads"。開発者によると、セキュリティの改善がなされ、初期のTrueCryptのにおいて提起された問題が対処されている。2025年からは作者の引っ越しに伴いIDRIXからAMCryptに開発元の名称が変わった(作者は変わらない)https://sourceforge.net/p/veracrypt/discussion/general/thread/e34d4ee198/。

 暗号化の仕組み 
 アルゴリズム
VeraCryptでサポートされている暗号はAES、Serpent、Twofish、Camellia、である。さらに、10種類のの組み合わせを利用できる。AES–Twofish、AES–Twofish–Serpent、Camellia–Kuznyechik、Camellia–Serpent、Kuznyechik–AES、Kuznyechik–Serpent–Camellia、Kuznyechik–Twofish、Serpent–AES、Serpent–Twofish–AES、そしてTwofish–Serpentである。VeraCryptで利用可能なハッシュ関数はRIPEMD-160、SHA-256、SHA-512、、Whirlpoolである。

 暗号利用モード 
VeraCryptは暗号モードとしてXTSを利用する。

 鍵 
ヘッダキーとセカンダリヘッダキー（XTSモード）は512ビットのソルトのPBKDF2を用いて、327,661回から655,331の反復で生成される。

 セキュリティの改善 
開発者により、VeraCryptはおおむねTrueCryptよりもセキュリティが改善された。

TrueCryptはシステムパーティションに対し、PBKDF2-RIPEMD160アルゴリズムで1000回の反復を行うが、VeraCryptは327,661回の反復を行う。標準コンテナとその他のパーティションに関してはRIPEMD160で655,331回、SHA-2とWhirlpoolでは500,000回の反復を行う。これによりVeraCryptで暗号化パーティションを開く際にわずかに遅くなるが、総当たり攻撃に対して最低10倍から最大300倍強くなる。

Windowsでのブートローダーの脆弱性は修正されたほか、さまざまな最適化が行われた。開発者はシステムブートの暗号化にSHA-256のサポートを追加し、ShellExecuteのセキュリティ問題も修正された。LinuxとmacOSユーザーは512超のセクタサイズのサポートで恩恵を受けられる。Linux版もNTFSフォーマットをサポートしている。

セキュリティ改善により、VeraCryptフォーマットはTrueCryptとは非互換である。VeraCryptの競合、CipherShedとの違いはCipherShedはTrueCryptフォーマットを使っていることである。VeraCryptのバージョン1.0fから、TrueCryptフォーマットを開いたり、TrueCryptフォーマットをVeraCryptフォーマットへ変換したりすることができるようになった"VeraCrypt Release Notes"Castle, Alex (March, 2015). "Where Are We At With TrueCrypt?". MaximumPC, p. 59.TrueCryptフォーマットを新規に作成することはできない。。しかし、TrueCryptモードのサポートはバージョン1.26.4 BETA (正式版では1.26.7) で削除された。その後もVeraCryptフォーマットへ変換できるように、TrueCryptフォーマットに対応した最後のバージョン1.25.9が公式サイト上に残されている。

 もっともらしい否認 
VeraCryptはもっともらしい否認（plausible deniability）と呼ばれる構想をサポートしている。これはひとつの「隠されたボリューム」をもう一つのボリュームの中に作成できるものである。さらに、Windowsバージョンでは、された隠しオペレーティングシステムを作成し実行することができる。

 性能 
VeraCryptは暗号化と復号による性能への影響を減らすため、マルチコアシステムで並列化処理、Windows上でパイプラインを利用した読み書き（非同期処理方式）による暗号化をサポートしている。AES-NI命令セットをサポートした新しいプロセッサでは、VeraCryptはハードウェアアクセラレーションを利用して大きく性能が向上する。

 セキュリティ監査 
VeraCryptの中立なコード監査は初期の計画段階である。

VeraCryptは中立なセキュリティ監査を通過したTrueCryptのソースコードに基づいている。監査の第一段階は2014年4月14日に完了し、"no evidence of backdoors or malicious code."（バックドアあるいは悪意のあるコードの証拠はない）とされた。監査の第二段階は2015年4月2日に終了し、"no evidence of deliberate backdoors, or any severe design flaws that will make the software insecure in most instances."（故意のバックドアや、セキュリティが失われる重大な設計上の欠陥の根拠はない）とされた。

 ライセンスとソースモデル 

VeraCryptは2015年6月28日からApache License 2.0でライセンスされている。以前はMicrosoft Public Licenseでリリースされていた。VeraCryptは大部分のコードをTrueCryptから引き継いでいるためTrueCrypt独自の「TrueCrypt License 3.0」の支配下にあるTrueCrypt License. Accessed on: May 21, 2012 TrueCrypt Collective License. Accessed on: June 4, 2014。このライセンスは改変と再配布に対して制限があり、オープンソース・イニシアティブ(OSI)が定める「オープンソースの定義」に合致しない、非オープンソース・ソフトウェア・ライセンスである。。

 その他 
 ドライブ全体の暗号化に関しては、「EFIシステムパーティション領域」が存在する場合、「システムパーティションあるいはシステムドライブ全体を暗号化」は選択できない。

 上記の選択をできるようにしたい場合には「EFIシステムパーティション領域」を設定しないクリアインストールによるWindowsのインストールが必要になる。

 出典 

 関連項目 

 :en:Disk encryption software
 :en:Comparison of disk encryption software

 外部リンク 

 VeraCrypt website
 VeraCrypt 1.18 Security Assessment

Category:2014年のソフトウェア
Category:クロスプラットフォームのソフトウェア
Category:暗号ソフトウェア
Category:ディスク暗号化