web-dev-qa-db-ja.com

真に否定可能な暗号化

真に拒否可能な暗号化を行うために使用できるツールは何ですか?当局があなたのパスワードを開かせるためにあらゆる力を使用できると仮定します。

Truecryptは1つの非表示コンテナーしか持つことができません。つまり、非表示コンテナーを作成していなくても、この2番目のパスワードを明らかにするまで、当局は停止しません。

それで、多くの隠しコンテナを作成する方法はありますか?そうすれば、当局はあなたが打ち負かす必要があるパスワードの数を知ることさえできませんでした。また、この方法は、使用済みクラスターの統計分析など、他のよりインテリジェントな復号化メソッドに対して十分に安全であることが望ましいです。

ここ http://en.wikipedia.org/wiki/Deniable_encryption ラバーホースに関する情報を見つけましたが、2000年以来維持されていないため、どれだけ信頼できるかわかりません。

私が見つけた別の方法は、たとえば同様のスクリプトを使用して異なるオフセットでハードディスクに書き込むことです http://sourceforge.net/projects/stlth/files/

しかし、この方法では、私が理解している限り、データは物理的に混合されないため、そのスマートな統計手法に対して脆弱です。つまり当局が、すでに与えたパスワードを使用して明らかにされていないドライブの部分を頻繁に使用していることを確認した場合、彼らは引き続きパスワードを取得しようとします。ドキュメントに従っているラバーホースは、これらの方法に対する保護を備えていますが、プロジェクトが古すぎます。

ディスク上にいくつかの隠しコンテナーを作成するために、他にどのようなツールをアドバイスできますか?

13
onetuser

デバイス全体にランダムなバイトを書き込み、デバイスのランダムなポイントにヘッダーなし(LUKSまたはTrueCryptなし)の暗号化ブロックを作成した場合、これは検出できるものではありません。

たとえばLinuxの場合。

  1. 100GBのHDDを取ります。
  2. ランダムデータを入力します。

    dd if=/dev/urandom of=/dev/sda bs=4K

  3. ディスクの「ランダム」ポイントに暗号化されたループバックデバイスを作成します。

    losetup --offset $RNDOFFSET --sizelimit 5G -e aes -k 256 /dev/loop0 /dev/sda

  4. ファイルシステムを作成します。

    mkfs.ext4 /dev/loop0

  5. そしてそれをマウントします:

    mount /dev/loop0 /mnt/secret

これらすべての目的は、暗号化されたデータをランダムなバイトと区別できないようにすることです。このようにして、暗号化された5GBブロックがランダムノイズに対して偽装されます。 LUKSなどの暗号化ディスクヘッダーは、ブロックが存在する場所を明確に示すため、ベア暗号化を使用する必要があります。

あなたが$RNDOFFSETシークレット(fstabに書き込んではいけません)暗号化されたファイルシステムの存在を検出することは非常に困難です。

また、デバイスは、起動時にランダムに生成されるキーで使用するスクラッチパッドまたはスワップ領域であると常に言うことができます。

19
lynks

免責事項:私は cryptsetup-deluks および grub-crypto-deluksの作成者です

拒否可能な暗号化は、ソリューションの一部です。敵に攻撃された場合、自分自身とデータを保護する完璧なソリューションはありません。たとえ攻撃者がそれを証明できないとしても、暗号化の疑いを回避することはほとんどできません。問題と解決策をリストします。

短い部分的な答え

  • Truecryptヘッダー: Veracrypt (Windows/Linux/MacOS)しかし、ブートローダーに注意してください
  • プレーンモード暗号化: grub-crypto (Linux)+プレーンモードcryptsetup
  • DeLUKSヘッダー: grub-crypto-deluks (Linux)+ cryptsetup-deluks

長い完全な答え

拷問に打ち勝つ

xkcd.com/538

この場合の拷問は rubber-hose cryptanalysis としても知られています。良いニュースは 拷問はしばしば非効率的 です。拷問への抵抗が鍵となり、少なくとも検証不可能な偽の事実を提供する能力(おとりO.S.を復号化する鍵のようなもの)です。理想的には、拷問をやめるために、データを復号化できないことを証明できる必要もあります。

否認可能な暗号化はゴムホース問題を解決しません。

ソリューションは2つのカテゴリに分類されます。詳細は 「ゴムホース攻撃」に耐えられるテクノロジ を参照してください。

  1. キーがありません:キーが分割され、その一部が複数の友達または非表示のサーバーによって所有され、オーセンティケータとして機能して、ゴムホースの状況ではありません。
  2. キーが破壊されました:自己破壊(アラームシステム)または手動で破壊(chompable microSDカードなど)。配置が難しく、タイムクリティカルですが、拷問後の自分に対する耐性が高くなります。

暗号化ヘッダーを非表示にする

(暗号化されていない)LUKSヘッダーは使用しないでください。拒否できません。

ソリューション:

  • プレーンな暗号化:(プレーンなdm-crypt、losetupなど)しない限り使用しないでください非常に強力なパスワードを持っている。ブルートフォース攻撃、レインボーテーブル攻撃に対する保護機能はなく、ペイロードデータ全体を再暗号化しない限り、パスワードを変更することはできません。プレーンな暗号化を強化するためにできることの1つは、パスワードを使用して特定のセクターを復号化し、この復号化されたセクターをキーとしてペイロードデータを復号化することです。しかし欠点は、ランダムに選択したセクター番号を覚えておく必要があることです。プレーン暗号化に推奨されるLinuxツールは、維持されているため、cryptsetup --type plainです。
  • Truecrypt/Veracrypt:Truecryptヘッダー は、特にフルディスク暗号化として使用する場合は拒否されます。 Truecryptはソルトと一定数のパスワードハッシュ反復( PBKDF2 )を使用して、キーを含むヘッダーを復号化するため、レインボーテーブル攻撃を受けにくく、ブルートフォース攻撃をかなり遅くします。ただし、ハッシュの反復回数が固定されているため、ブルートフォース攻撃に対してLUKSよりも進化的ではありません(計算能力が向上すると、パスワードのハッシュ反復回数が増加します)。 LUKSと比較して、Truecryptは複数のキーをサポートしておらず、GRUB(Linuxブートローダー)をサポートしていません。
  • DeLUKS:Linux用のLUKSの拒否可能なバージョン。主にTruecryptに似ていますが、GRUBブートローダー、cryptsetup、複数のキー、および進化的ハッシュ反復数をサポートしています。

暗号化されたペイロードを隠す

もちろん、Hey I'm encrypted.binというファイルにデータを入れることはありません。しかし、完全なディスク暗号化を使用しても、ランダムに見えるデータの単純な存在があなたに対して使用される可能性があります。参照: 英国では、暗号化のためだけでなく天文ノイズのためにも刑務所に行きます

解決策が何であれ、少なくとも1つのデコイ(偽)O.Sが存在する必要があることに注意してください。完全に疑わしく見えないようにコンピュータ上で。

ソリューションにはさまざまなレベルの信頼性があり、どれも完璧ではありません。では、このランダムに見えるデータをどのように説明しますか?

  • 手動で生成されたランダムデータ:
    • ディスクワイプ:これは、完全に暗号化されたドライブのn°1の説明です。しかし、それで十分でしょうか?
    • ノイズ記録:天文ノイズを含むファイルである可能性があります。キャプチャデバイスが必要です。
    • 等。
  • デフォルトのソフトウェア動作:
    • Truecrypt/Veracrypt隠しボリューム:Truecryptは常に、ランダムデータで新しく作成された暗号化ボリュームペイロードをワイプします。したがって、Truecryptコンテナーに隠されたボリュームが存在するという疑いが生じます。これは、良い状況では証明できません。
  • ステガノグラフィーこれは、ファイル、メッセージ、画像、またはビデオを別のファイル、メッセージ、画像内に隠す方法です。またはビデオ。システムの暗号化には実用的ではないため、メッセージを保存するよりもメッセージを送信する場合に使用する方が適しています。
  • ハードウェアソリューション:
    • ハードウェアで暗号化されたドライブ:ランダムデータの存在は、製造元の初期ワイプが原因である可能性があります。ただし、これらのドライブは、拒否可能な暗号化の方法で使用するように最適化されていない場合があります。
    • 低レベルのデータストレージ:磁気レベルが低く、ノイズレベルに近いドライブにデータを書き込み、データを次のように表示することを想像できます。通常の状況では0。私はこれの概念の証拠を知りません。
  • 「クラウド」に保存されたデータ:RAMサイズに適合せず、さらに、攻撃者が暗号化されたデータにアクセスできる場合、 ブロック暗号モード攻撃 の対象になる可能性があります。

それほど否定できないブートローダー

システム暗号化は、データを保護するための鍵です。 RAMはオンディスクスワップに書き込まれることがあり、システムは開いているファイルのログやトラックなどを保持することを忘れないでください。システムの暗号化とブートローダーを使用することをお勧めしますそれをサポートしています。

現時点では、すべての主要なO.S.ブートローダーは、ネイティブプレーンの暗号化ヘッダーまたは拒否可能な暗号化ヘッダーをサポートしていません。したがって、拒否可能な暗号化をサポートするブートローダーの存在は、あなたに対して使用することができます。

拒否可能な暗号化をサポートする既知のブートローダーは次のとおりです。

  • Veracryptブートローダー:もっともだと思いますか?

    こんにちは、私は暗号化されたシステムです。信頼してください。隠されたボリュームはありません。

  • grub-crypto(プレーンモードの暗号化をサポートするブートローダー)少なくともGUIはGRUBのように見えますが、バイナリコードはそれを裏切ります。
  • grub-crypto-deluks(DeLUKSをサポートするgrub-crypto fork)grub-cryptoと同じです。

ソリューション:

  • Decoy denily-encrypted O.S.:別の、おとり、暗号化されたO.S.があるため、ブートローダーの存在を説明します。そして、あなたはこのおとりを開くための鍵を与えるだけです。
  • Live O.S.からのinitramfsの読み込み:それが実現可能かどうかさえわかりません。ライブCDからプレーンモードでcryptsetupを使用して実際のO.S.次に、Live O.Sからinitramfsをロードします。 (GRUBからではなく)実際のO.S.
  • スティック上のブートローダー:暗号化がサポートされていないブートローダーがUSBスティックに置かれます。私はこれを信じていませんが、より安全だと信じている人もいます。それはあなたのUSBスティックがあなたのコンピュータと一緒に押収されないことを想定しています。

現在存在しないソリューション:

  • 主流のブートローダーでの拒否可能な暗号化のサポート:あなたがGRUB開発者でない限り、2 +歳 grubプルリクエスト マージしてgrub-crypto
  • ツールボックスブートローダー:とりわけ、ツールボックスブートローダー( GRUBS Reanimated USB Boot Stick など)があると便利です機能、拒否可能な暗号化のサポート。この特別なブートローダーバージョンの存在は、他の機能によって説明されます。

ネットワーク活動について

Veracrypt:非表示のボリュームに関するセキュリティ要件と注意事項 からの抜粋:

コンピュータは、おとりオペレーティングシステムが実行されているときにのみ、ネットワーク(インターネットを含む)に接続できます。非表示のオペレーティングシステムが実行されている場合、コンピューターはインターネットなどのネットワークに接続しないでください(ネットワークケーブルがある場合は、ケーブルを外すことを確認する最も信頼できる方法の1つ)。データがリモートサーバーからダウンロードまたはアップロードされる場合、接続の日付と時刻、およびその他のデータは通常サーバーに記録されることに注意してください。さまざまな種類のデータもオペレーティングシステムに記録されます(例:Windows自動更新データ、アプリケーションログ、エラーログなど)。したがって、攻撃者がサーバーに保存されているデータにアクセスしたり、サーバーへのリクエストを傍受した場合(そして、おとりオペレーティングシステムのパスワードを彼に明らかにした場合、おとりオペレーティングシステム内から接続が確立されていないことに気付く可能性があります。これは、コンピュータに隠しオペレーティングシステムが存在することを示している可能性があります。

9
KrisWebDev

OPの状況下での最善のアプローチは、おそらく敵が監視しているときでも、簡単に破壊できるストレージです。 マイクロSDカード は非常に小さく、薄いです。噛んで破壊してから吐き出すのに数秒しかかかりません。 OPは罰せられるかもしれませんが、(とにかくパスワードの)拷問の意味はありません。

3
mirimir

Blackhat Asia 2014でのソリューションの最初の試みを紹介します

私の講演の概要

私たちは、暗号化文献の「否認可能な暗号化」の変形である、暗号化されたファイルの内容について説得力を持って嘘をつく能力に興味があります。合理的なシナリオには、機密文書を持ち、危険な地域を旅行するビジネスマンが含まれる場合があります。ビジネスマンは、誘拐されたり強要されたりした場合に、自分の文書の内容について説得力をもって誘拐犯に嘘をつきたがります。

したがって、ユーザーがテキストを暗号化して、元のテキスト(正しいキーを使用)だけでなく、他の可能なテキスト(おとりキーを使用)にも復号化できるツールをリリースします。たとえば、1つのキーを使用すると、テキストは「アルゼンチンのために泣かないで」に復号化できますが、正しいキーを使用すると、「アンジェリーナに会おうとしないでください」に復号化できます。

1