web-dev-qa-db-ja.com

暗号化されたボリューム/ディスクに対して、もっともらしい否認は実際に実現可能ですか?

ハードドライブが暗号化されているかどうかを判断することは可能ですか? 、実際にボリュームを非表示にすることは実際に可能ですか? この答え によると、TrueCryptは、署名がないない唯一の有名なディスク暗号化ソフトウェアです。また、TrueCryptを使用したとしても、非常に高レベルのエントロピーを持つ、既知のバイナリ形式に対応しない512バイトを正確にモジュロ化したファイルがあることをだれにも納得させることはできないようです。そして、フルディスク暗号化の場合、工場から直接であっても、ディスク全体が非常にランダムなデータで満たされることは天文学的にありそうにありませんか?


debatable TrueCryptの隠しボリュームでさえ、その存在を否定できる方法で作成および使用できるかどうかのようです。

6
l0b0

TL; DR:いいえ、もっともらしい否認はデータを保護するための弱い議論です。もっともらしい否認に基づいてプライバシーを構築することは賢明ではありません。 (また、以下の最初の引用を読んでください)

TrueCryptは、ディスクの暗号化に使用できる唯一の一般的なディスク暗号化ソリューションではありませんcryptsetup-cおよび-hと一緒に使用して、ランダムノイズのような暗号化ディスクを生成できます(与えられた-cで指定された暗号がXTSモードで使用されていること)。

(この点をリンクされた回答にコメントとして追加しました)

TrueCryptの経験は(ほとんど)ないので、cryptsetupの観点から答えを書いています。 Arno Wagnerが彼のすばらしい cryptsetup FAQ で非常に明確に定義している視点:

「隠しパーティションがない」が「暗号キーを忘れた」や「ランダムデータでパーティションを消去したが、何もない」よりももっともらしい理由は何ですか。理由はわかりません。

要約すると、我々はもっともらしい否認可能性について話している。これは、単純な否認可能性とは異なり、攻撃者はすでに何かが存在する可能性があることを知っていて、それを証明することはできない。

  • 誰かがディスクを見つける瞬間まで、単純なdeniabilityである最も近い川にディスクを投げると、.
  • もっともらしい拒否可能性攻撃者がディスクを所有しているときにシーンに入りますが、攻撃者はディスクに何があるかを証明できません。それはまるであなたのシャツに血痕があった(そしてあなたが殺人者のように見えた)ようであり、すべてのDNA検査はそれが人間であると指摘しているが、警察がそれをDNAデータベースと照合しようとどんなに難しくても、彼らは一致を見つけることができない。あなたは人間の血痕を持っていますが、それは非常に健在である誰かからの血液である可能性があります。

LUKSパーティションがあるのに、本当にパスワードを忘れたとします。誰かがあなたにパスワードを与えることを強制するためにあなたをあきらめたり、厄介なことをするかもしれません。彼はあなたが鍵を持っていることを証明できませんし、あなたが鍵を持っていないことも証明できません。それは、あなたに厄介なことをする彼の意図と意欲に依存します。

ランダムノイズが含まれているディスクと何も変わりません。暗号化されたディスクでもかまいません。そして、攻撃者があなたに厄介なことをする意欲は、ディスクが暗号化されたディスクであるかどうかを証明する能力よりもはるかに強力です。

攻撃者が政府機関を強制する法律であると想像してみてください。「あなたに厄介なことをする」とは単に何かの「疑い」のためにあなたを刑務所に留めているだけであることがわかるでしょう。私はイギリスに住んでいるので、アルノワグナーからの別の引用が必要です。

[LUKSを使用しない暗号化]は、当局に対する価値が限定されています。文明国では、とにかく暗号鍵を放棄することを強制することはできません。世界中のかなりの数の国で、彼らはあなたに鍵を放棄することを強いることができます(懲役またはより悪いことを使用して、時には正当なプロセスなしであなたに圧力をかけます)、そして最悪の場合、彼らは存在についての曖昧な「疑い」のみを必要とします暗号化されたデータの。これは、すべての人に当てはまる場合もあれば、「不正なデータ」(定義は変更される可能性がある)の疑いがある場合に限って適用される場合もあれば、具体的には国境を越える場合もあります。これは、アメリカやイギリスなどの国で、程度の差はありますが、裁判所が当局が実際に要求できることを制限している場合もあります。

上記はすべて、ディスクが暗号化されたディスクであることを攻撃者が証明できないこと、つまりもっともらしい拒否可能性が機能することを考慮しています。

Bruce Schneierは、彼の TrueCryptとDFS(Deniable File System)に関する論文 で、ランダムノイズのように見えるパーティションの周りに環境の手がかりがあり、もっともらしい否認を打破していると主張しています。あなたが論文の議論をあなたが信じているかどうかはあなたの要求です(私はそうではありません)が、それはもっともらしい否認がいかに弱い防御であるかについてのもう一つの見通しを与えます。

参照:

5
grochmal

私は完全にそう思わないもっともらしい否認に対して与えられたここでの議論と一緒に。

最初、もっともらしい否認性は、暗号化されたDISKSとパーティション全体だけでなく、TrueCryptなどの暗号化されたファイル(暗号化された非表示のVOLUMES)にも適用されます。暗号化されたディスクまたはパーティションを使用しても、単一のファイル/ボリュームに対して大きな利点はありません。たとえば、非常に疑わしい暗号化されたパーティションの存在は簡単に検出され、PCを調査している調査官/攻撃者は、LUKSなどの暗号化ツールを知っており、よく使用していることを簡単に判断できます。またはTrueCrypt。したがって、「そのディスク/パーティションを安全に消去しました。ここでは暗号化を使用していません」という答えは、「TrueCryptファイルには隠しボリュームが含まれていないため、セキュリティを追加する必要がないためです。証明は?内容は機密ですが、重要でも違法でもありません。ここにパスワードがあります。」.

2番目、パスワードを要求され、「暗号鍵を忘れた」と答えた場合、非協力的な容疑者として表示されますが、1つを与えた場合、そのことおよび全体を非難することはできません。嘘の責任の責任は捜査官/攻撃者にあります。さらに、BIG暗号化ファイルまたはコンピューター上にまだ保持している多数の暗号化ファイルのパスワードを忘れた場合、どれだけ信頼できますか?パスワードの提供を強制することができない「民主的な」国に住んでいる場合、もっともらしい否認可能性はさらに重要です。(無害な)パスワードを与えることにより、調査者との協力の欠如で非難することはできません。反対に、それを与えないと、信憑性が低下し、疑いが増します。

番目、英国のように、1つのパスワードを与えなければ裁判官がJAILに長期間留まることができる国があります。繰り返しますが、もっともらしい否認可能性を使用すると、彼に「無害な」パスワードを与えることができ、正義の妨害および投獄の責任を負うことはできません。

4番目、もっともらしい否認性がある場合は、いつでも選択して、非表示の情報がなく、2番目のパスワードが存在しないことをアサートできますOR(たとえば、水浸しの場合)それらが存在することを認め、それらに2番目の「真の」パスワードを与えます。

私の率直な意見:もっともらしい否認への反対は、多くのLinuxサポーターがTrueCryptに対して行った長年の反対によって与えられた可能性があり、それは技術的な理由で偽装されたとしても、ライセンスの問題のためだけに行われました。使いやすく効果的なもっともらしい否認性は、TrueCryptの最高の機能である可能性が高いですが、ディストリビューションにTCを見つけられなかった多くのLinuxユーザーは、それなしでツールを使用して暗号化することに慣れています(長年LUKSはもっともらしくありませんでした)否認サポート)そして「もっともらしい否認は価値がないか有害である」と言うのに慣れる。まだ続いているのは「酸っぱいブドウ」のケースでした。そして、私はcryptsetup\LUKS開発者が、もっともらしい否認に関する通常の陳腐な陳述の後に、そのツールでのもっともらしい否認の実装に関する情報をFAQ!で提供することを拒否していることに本当に当惑しています。ここにはプロ意識の大きな欠如があります。

私の強力なアドバイス:SE PLAUSIBLE DENIABILITY(特に隠しボリュームの場合)、TrueCrypt 7.1aなどの実績のあるツール(VeraCryptやCiphershedなどの後継ツールを注意深く見てください)ただし、それらがPLAUSIBLYで監査されるまで使用しないでください!)。

3
WiseSec

TrueCryptでは、暗号化されたディスクイメージを保持するファイルを割り当てます。しかし、そのディスクイメージはファイルを完全に満たす必要はありません。 TrueCryptは、実際に割り当てられたすべての暗号化されたセクターをファイルの先頭に保持します。つまり、パーティションの最後のセクターはランダムなバイトであり、何も保持しません。パーティションを解読できない限り、ファイル内のセクターがいくつパーティションに割り当てられているのか、ランダムデータで埋められているセクターの数はわかりません。

TrueCryptは、割り当てられていないセクターに別の暗号化パーティションを書き込むことをサポートしています。必要に応じて、別の場所を作成できます。

TrueCryptファイルに10 MBを割り当てるとします。パーティションに7MBのデータしか保持しない場合でも、3MBのランダムセクターがあります。そこに2MBのパーティションを作成することもできます。また、2つ目のパーティションを作成した場合、そのパーティションが存在することを否定できます。キーがなければ、誰もそれが存在することを証明できません。

0
John Deters

RubberhoseFS をご覧になることをお勧めします。これは廃止されたプロジェクトですが、「データには2つのパーティションしかありません。ここにパスワードがあります」と言うことは本当に可能で、実際には3番目のデータがあることを証明することはできません。または4つ目。

おおよそ次の原則に基づいて動作します。

  1. 実際のコンテンツの量に関係なく、固定サイズのファイルが作成されます。このファイルはブロックに分割され、ランダムノイズで初期化されます。
  2. 実際に使用されている数に関係なく、固定数の「アスペクト」(ビュー)が作成されます。
  3. 各アスペクトは、パスワード(またはキー)で保護された1つの対称マスターキーを保持します。キーで暗号化された1つのラティスキージェネレーター。そして、そのアスペクトによって使用されるブロックの1つのマップ(最初は空で、データが書き込まれるまで)、これもキーによって暗号化されます
  4. ブロックが1つのアスペクトのマップによって参照される場合、ブロックのシーケンス番号によってシードされたアスペクトの「ラティスジェネレーター」によって生成されたキーによって暗号化されたデータを保持します(つまり、これがそのアスペクトの3番目のブロックである場合、ラティスジェネレーターは「3」をシードします。ブロックがどの側面からも参照されていない場合、ランダムノイズが含まれています。

私は時間のあるときに取り組みたい自分のプロジェクトの仕様を書きました。主にRubberhoseFSに基づいています: https://github.com/programagor/wrenchcrypt/blob/3ab9fa0bae2d74d65c762630ddd6026196fa15a5/README

0
programagor