VeraCrypt
VeraCrypt 1.17 on Windows 10 | |
開発元 | IDRIX |
---|---|
初版 | 2013年6月22日 |
最新版 | 1.26.7 - 2023年10月1日[1] [±] |
リポジトリ | |
プログラミング 言語 | C、C++、アセンブリ言語 |
対応OS | |
対応言語 | 37言語[2] |
サポート状況 | 継続中 |
種別 | 暗号ソフトウェア/ディスクドライブ仮想化ソフト |
ライセンス | Apache License 2.0およびTrueCrypt License version 3.0[3] |
公式サイト | www |
VeraCrypt は オープンソースでフリーウェアのオンザフライ暗号化に使われるユーティリティソフトウェアである[4]。VeraCryptはファイルやパーティション[5]の暗号化や、ストレージ全体の暗号化が成されたブート前認証付き仮想暗号化ディスクを作成することができる。
VeraCryptは開発が終了したTrueCryptのフォークである[6]。初版のリリースは 2013年6月22日で、2015年9月には10度目のリリース(バージョン 1.15)がなされた[7]。開発者によると、セキュリティの改善がなされ、初期のTrueCryptのソフトウェア監査において提起された問題が対処されている[8]。
暗号化の仕組み
[編集]アルゴリズム
[編集]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である[9]。VeraCryptで利用可能なハッシュ関数はRIPEMD-160、SHA-256、SHA-512、Streebog、Whirlpoolである[10]。
暗号利用モード
[編集]VeraCryptは暗号モードとしてXTSを利用する[11]。
鍵
[編集]ヘッダキーとセカンダリヘッダキー(XTSモード)は512ビットのソルトのPBKDF2を用いて、327,661回から655,331の反復で生成される[12]。
セキュリティの改善
[編集]開発者により、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フォーマットへ変換したりすることができるようになった[13][14][15]。しかし、TrueCryptモードのサポートはバージョン1.26.4 BETA (正式版では1.26.7) で削除された。その後もVeraCryptフォーマットへ変換できるように、TrueCryptフォーマットに対応した最後のバージョン1.25.9が公式サイト上に残されている。
もっともらしい否認
[編集]VeraCryptはもっともらしい否認(plausible deniability)と呼ばれる構想をサポートしている[16]。これはひとつの「隠されたボリューム」をもう一つのボリュームの中に作成できるものである[17]。さらに、Windowsバージョンでは、否認可能暗号化された隠しオペレーティングシステムを作成し実行することができる[18]。
性能
[編集]VeraCryptは暗号化と復号による性能への影響を減らすため、マルチコアシステムで並列化[19]処理、Windows上でパイプラインを利用した読み書き(非同期処理方式)による暗号化をサポートしている。AES-NI命令セットをサポートした新しいプロセッサでは、VeraCryptはハードウェアアクセラレーションを利用して大きく性能が向上する。
セキュリティ監査
[編集]VeraCryptの中立なコード監査は初期の計画段階である[20]。
VeraCryptは中立なセキュリティ監査を通過したTrueCryptのソースコードに基づいている。監査の第一段階は2014年4月14日に完了し、"no evidence of backdoors or malicious code."[21](バックドアあるいは悪意のあるコードの証拠はない)とされた。監査の第二段階は2015年4月2日に終了し、"no evidence of deliberate backdoors, or any severe design flaws that will make the software insecure in most instances."[22][23](故意のバックドアや、セキュリティが失われる重大な設計上の欠陥の根拠はない)とされた。
ライセンスとソースモデル
[編集]VeraCryptは2015年6月28日からApache License 2.0でライセンスされている[24]。以前はMicrosoft Public Licenseでリリースされていた[25]。VeraCryptは大部分のコードをTrueCryptから引き継いでいるためTrueCrypt独自の「TrueCrypt License 3.0」の支配下にある[26][27]。このライセンスは改変と再配布に対して制限があり、オープンソース・イニシアティブ(OSI)が定める「オープンソースの定義」に合致しない、非オープンソース・ソフトウェア・ライセンスである。[28]。
その他
[編集]ドライブ全体の暗号化に関しては、「EFIシステムパーティション領域」が存在する場合、「システムパーティションあるいはシステムドライブ全体を暗号化」は選択できない。
上記の選択をできるようにしたい場合には「EFIシステムパーティション領域」を設定しないクリアインストールによるWindowsのインストールが必要になる。
出典
[編集]- ^ “Release Notes” (2023年10月1日). 2022年11月9日閲覧。
- ^ “VeraCrypt 1.0f Bundle (All files and their signatures)”. IDRIX. 2015年1月4日閲覧。
- ^ “VeraCrypt License”. 2016年1月28日閲覧。
- ^ "VeraCrypt Official Site"
- ^ “VeraCrypt Volume”. VeraCrypt Official Website. IDRIX. 2018年11月25日閲覧。
- ^ a b Rubens, Paul (October 13, 2014). “VeraCrypt a Worthy TrueCrypt Alternative”. eSecurity Planet. Quinstreet Enterprise. February 16, 2015閲覧。
- ^ "VeraCrypt Downloads"
- ^ Henry, Alan (February 8, 2015). “Five Best File Encryption Tools”. Lifehacker. Gawker Media. February 16, 2015閲覧。
- ^ “Encryption Algorithms”. VeraCrypt Documentation. IDRIX (2018年11月25日). 2018年11月25日閲覧。
- ^ “Hash Algorithms”. VeraCrypt Documentation. IDRIX (2018年11月25日). 2018年11月25日閲覧。
- ^ “Modes of Operation”. VeraCrypt Documentation. IDRIX (2018年11月25日). 2018年11月25日閲覧。
- ^ “Header Key Derivation, Salt, and Iteration Count”. VeraCrypt Documentation. IDRIX (2018年11月25日). 2018年11月25日閲覧。
- ^ "VeraCrypt Release Notes"
- ^ Castle, Alex (March, 2015). "Where Are We At With TrueCrypt?". MaximumPC, p. 59.
- ^ TrueCryptフォーマットを新規に作成することはできない。
- ^ “Plausible Deniability”. VeraCrypt Documentation. IDRIX (2018年11月25日). 2018年11月25日閲覧。
- ^ “Hidden Volume”. VeraCrypt Documentation. IDRIX (2018年11月25日). 2018年11月25日閲覧。
- ^ “Parallelization”. IDRIX (2018年11月25日). 2018年11月25日閲覧。
- ^ Idrassi, Mounir (December 31, 2014). “Security audit”. February 22, 2015閲覧。
- ^ Farivar, Cyrus (2014-04-14), TrueCrypt audit finds "no evidence of backdoors" or malicious code, Ars Technica 2014年5月24日閲覧。
- ^ Green, Matthew (April 2, 2015). “Truecrypt report”. A Few Thoughts on Cryptographic Engineering. April 4, 2015閲覧。
- ^ “Truecrypt Phase Two Audit Announced”. Cryptography Services. NCC Group (February 18, 2015). February 22, 2015閲覧。
- ^ “Apache License 2.0 (Apache)”. 2015年7月1日閲覧。
- ^ “Microsoft Public License (Ms-PL)”. 2015年7月1日閲覧。
- ^ TrueCrypt License. Accessed on: May 21, 2012 [リンク切れ]
- ^ TrueCrypt Collective License. Accessed on: June 4, 2014
- ^ Phipps, Simon (2013-11-15), TrueCrypt or false? Would-be open source project must clean up its act, InfoWorld 2014年5月20日閲覧。