VeraCrypt

VeraCrypt
VeraCrypt 1.17 on Windows 10
開発元 AMCrypto
初版 2013年6月22日 (2013-06-22)
最新版 1.26.20 - 2025年2月3日 (2025-02-03)[1] [±]
リポジトリ
プログラミング
言語
C、C++、アセンブリ言語
対応OS
対応言語 37言語[2]
サポート状況 継続中
種別 暗号ソフトウェア/ディスクドライブ仮想化ソフト
ライセンス Apache License 2.0およびTrueCrypt License version 3.0[3]
公式サイト www.veracrypt.io

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

VeraCryptは開発が終了したTrueCryptのフォークである[6]。初版のリリースは 2013年6月22日で、2015年9月には10度目のリリース(バージョン 1.15)がなされた[7]。開発者によると、セキュリティの改善がなされ、初期のTrueCryptのソフトウェア監査において提起された問題が対処されている[8]。2025年からは作者の引っ越しに伴いIDRIXからAMCryptに開発元の名称が変わった(作者は変わらない)[9]。

暗号化の仕組み

アルゴリズム

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

暗号利用モード

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

鍵

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

セキュリティの改善

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

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

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

セキュリティ改善により、VeraCryptフォーマットはTrueCryptとは非互換である。VeraCryptの競合、CipherShedとの違いはCipherShedはTrueCryptフォーマットを使っていることである。VeraCryptのバージョン1.0fから、TrueCryptフォーマットを開いたり、TrueCryptフォーマットをVeraCryptフォーマットへ変換したりすることができるようになった[14][15][16]。しかし、TrueCryptモードのサポートはバージョン1.26.4 BETA (正式版では1.26.7) で削除された。その後もVeraCryptフォーマットへ変換できるように、TrueCryptフォーマットに対応した最後のバージョン1.25.9が公式サイト上に残されている。

もっともらしい否認

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

性能

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

セキュリティ監査

VeraCryptの中立なコード監査は初期の計画段階である[21]。

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

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

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

その他

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

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

出典

  1. ↑ “Release Notes” (2025年2月3日). 2025年2月10日閲覧。
  2. ↑ “VeraCrypt 1.0f Bundle (All files and their signatures)”. IDRIX. 2015年1月4日閲覧。
  3. ↑ “VeraCrypt License”. 2016年1月28日閲覧。
  4. ↑ "VeraCrypt Official Site"
  5. ↑ “VeraCrypt Volume”. VeraCrypt Official Website. IDRIX. 2018年11月25日閲覧。
  6. 1 2 Rubens, Paul (2014年10月13日). “VeraCrypt a Worthy TrueCrypt Alternative”. eSecurity Planet. Quinstreet Enterprise. 2015年2月16日閲覧。
  7. ↑ "VeraCrypt Downloads"
  8. ↑ Henry, Alan (2015年2月8日). “Five Best File Encryption Tools”. Lifehacker. Gawker Media. 2015年2月16日閲覧。
  9. ↑ https://sourceforge.net/p/veracrypt/discussion/general/thread/e34d4ee198/
  10. ↑ “Encryption Algorithms”. VeraCrypt Documentation. IDRIX (2018年11月25日). 2018年11月25日閲覧。
  11. ↑ “Hash Algorithms”. VeraCrypt Documentation. IDRIX (2018年11月25日). 2018年11月25日閲覧。
  12. ↑ “Modes of Operation”. VeraCrypt Documentation. IDRIX (2018年11月25日). 2018年11月25日閲覧。
  13. ↑ “Header Key Derivation, Salt, and Iteration Count”. VeraCrypt Documentation. IDRIX (2018年11月25日). 2018年11月25日閲覧。
  14. ↑ "VeraCrypt Release Notes"
  15. ↑ Castle, Alex (March, 2015). "Where Are We At With TrueCrypt?". MaximumPC, p. 59.
  16. ↑ TrueCryptフォーマットを新規に作成することはできない。
  17. ↑ “Plausible Deniability”. VeraCrypt Documentation. IDRIX (2018年11月25日). 2018年11月25日閲覧。
  18. ↑ “Hidden Volume”. VeraCrypt Documentation. IDRIX (2018年11月25日). 2018年11月25日閲覧。
  19. ↑ “Hidden Operating System”. VeraCrypt Documentation. IDRIX (2018年11月25日). 2018年11月25日閲覧。
  20. ↑ “Parallelization”. IDRIX (2018年11月25日). 2018年11月25日閲覧。
  21. ↑ Idrassi, Mounir (2014年12月31日). “Security audit”. 2015年2月22日閲覧。
  22. ↑ Farivar, Cyrus (2014-04-14), TrueCrypt audit finds "no evidence of backdoors" or malicious code, Ars Technica 2014年5月24日閲覧。
  23. ↑ Green, Matthew (2015年4月2日). “Truecrypt report”. A Few Thoughts on Cryptographic Engineering. 2015年4月4日閲覧。
  24. ↑ “Truecrypt Phase Two Audit Announced”. Cryptography Services. NCC Group (2015年2月18日). 2015年2月22日閲覧。
  25. ↑ “Apache License 2.0 (Apache)”. 2015年7月1日閲覧。
  26. ↑ “Microsoft Public License (Ms-PL)”. 2015年7月1日閲覧。
  27. ↑ TrueCrypt License. Accessed on: May 21, 2012
  28. ↑ TrueCrypt Collective License. Accessed on: June 4, 2014
  29. ↑ Phipps, Simon (2013-11-15), TrueCrypt or false? Would-be open source project must clean up its act, InfoWorld 2014年5月20日閲覧。

関連項目

外部リンク