web-dev-qa-db-ja.com

7-Zipでパスワード保護されたスプリットアーカイブは、数回パスワードで保護されている場合、ハッカーに対して安全ですか?

機密情報(写真、ドキュメントスキャン、パスワードのリスト、電子メールのバックアップ、クレジットカード情報など)をGoogleドライブ(またはその他のクラウドサービス)にアップロードしたいとします。

この一連のデータ全体ができるだけ安全であることを確認したい(何らかの方法でこのデータを手に入れるハッカーに対して、そしてGoogleとその従業員に対して、そして将来的に、つまりこのデータをグーグル私は彼らが永久にバックアップを保持していても彼らがそれを「開く」ことができないことを確実にしたいです)。

したがって、この場合、すべてのデータをクラウドにすぐにアップロードする代わりに、アップロードするすべてのデータを含む1つのフォルダーを作成し、7-Zipを使用してこのフォルダー全体を圧縮し、もちろんパスワードで保護します7-Zipを使用します。

これは1回ではなく数回行います。つまり、7-Zipのパスワードで保護されたアーカイブの準備ができたら、7-Zipを使用してもう一度圧縮し、完全に異なるパスワードを使用します。これを5回行います。つまり、結局、私のデータは5回圧縮され、7-Zipを使用して、完全に異なる5つの無関係なパスワードによってパスワードで保護されています。データにアクセスするには、5回抽出して5つの異なるパスワードを入力する必要があります。

次に、パスワードで保護されたこの5回アーカイブを取得し、7-Zipとそれとは異なる6番目のパスワードを使用してもう一度圧縮しますが、これに加えて、今回はアーカイブを小さなチャンクに分割します。

最終的に、10個のアーカイブが5 MBのアーカイブである場合を除いて、最終的に10個の分割アーカイブが発生するとします。

これらの6つのパスワードはすべて32文字以上のパスワードであり、完全に無関係であり、すべて小文字/大文字、数字、記号を含んでいると想定されています。

次に、9つの200 MBアーカイブを取得して1つのコンテナに入れ、 VeraCrypt を使用してコンテナを暗号化し(3レベルのカスケード暗号化を想定)、このコンテナをGoogleドライブにアップロードします。

私は10番目のアーカイブ(5 MBのもの)をまったく別のサービス(Dropboxなど)に保存しています(そのDropboxアカウントは、Googleアカウントに接続/リンクされていません)(これもVeraCryptで暗号化されています)。

- セキュリティシアター を作成しましたか?または、誰も私のデータにアクセスして抽出することを本当に不可能にしたのですか?結局のところ、VeraCryptによる1レベルの暗号化に合格する必要があり、その後もアーカイブはパスワードで6回保護され、アーカイブの1つ(10番目)は別の場所に保存されます!

-誰かが私のGoogleドライブにアクセスし、これらの9つのアーカイブをすべてダウンロードした場合、最後の(10番目の)5 MBのアーカイブがない状態でアーカイブを抽出する方法はありますか?スプリットアーカイブの1つが欠落している状態でデータにアクセスできますか?

-誰かがそれらの10個のアーカイブすべてを一緒に手に入れ、何らかの方法でVeraCrypt暗号化をバイパスできたとしても、残りの6つのパスワードを破ることはまだ可能ですか?

16
Neli

まず、そのマルチ暗号化スキームはばかげています。

7-Zipで使用されるアルゴリズムは AES-256 であり、安全と見なされています。しかし、誰かが欠陥を見つけてそれを破壊可能にした場合、彼らはおそらく同じ努力ですべての暗号化レイヤーを破壊することができるでしょう。

したがって、7-Zipで使用される暗号化アルゴリズムを信頼する場合は、1つのアプリケーションで十分です。または、信頼できない場合は、differentアルゴリズムを使用して別の暗号化パスを実行します。 Triple-DES へのミートインザミドル攻撃が実証されているように、同じアルゴリズムを複数回階層化しても、思ったほど効果がありません。

暗号化されたファイルの分割について:アーカイブの一部が欠落している場合、7-Zipアーカイブから一部のデータをレスキューすることがしばしば可能です。 7-Zipは、CBCモードでAESを使用して、ストリーム暗号の動作をエミュレートします(128ビットブロックはすべて、前の128ビットブロックと組み合わされます)。つまり、誰かがメッセージの一部を紛失した場合、その後に続くもの(既知の平文がどこかにない限り)は解読できませんが、その前にあるものはすべて解読できません。つまり、攻撃者がアーカイブの一部を保留して復号化できないようにする場合は、最後のチャンクではなく、firstチャンクを保留する必要があります。 。

87
Philipp

これは、私が見たことのない規模でのエンジニアリングを超えています。これは、セキュリティ上の利点を追加せずにソリューションを複雑にするため、BAD THING™です。

暗号化メカニズムは安全であるか、安全ではありません。複数回暗号化することで、より保護されることはありません。暗号化が安全である場合、暗号化の層を追加することは無意味です。たとえば、暗号化キーが漏洩するなど、セキュリティモデルに欠陥がある場合、複数の層の暗号化ではこの欠陥は修正されません。

アーカイブを分割する場合も同じです。目的がありません。それはあなたの文書の保護を改善も減少もしません。

全体像を見る必要があります。パスフレーズはどこに保存しますか?誰がアクセスできますか?パスフレーズにアクセスしたり覚えたりできない場合のバックアップソリューションは何ですか?あなたのコンピュータはマルウェアから安全ですか?ソリューションは複雑すぎて使用できませんか?

38
A. Hersean

まず、呼吸してください。呼吸を忘れると、暗号化の取り組みが失敗することがよくあります。無意識になることで何かを暗号化するのに苦労します!

次に、脅威モデルが必要なようです。脅威モデルは、あなたが直面していると心配している敵の種類を説明します。脅威モデルがなければ、allセキュリティはセキュリティシアターになります。これは、基本的に、制御されていないアクションが、何も知らない対戦相手を停止することを期待して乱暴に戦うためです。あなたの妹があなたの日記を読むのを止めようとしているのですか、それとも暴徒から隠れようとしているのですか?最近、3つの手紙代理店で敵を作ったことがありますか?

あなたの敵がゴム製ホースの解読に従事するかどうかを考えましたか?

XKCD[〜#〜] xkcd [〜#〜]

これが、脅威モデルが非常に重要である理由です。このことを考慮。適切に長いパスワードで保護されたAES-256暗号化ファイルは、政府機関以外では解読できないと一般に認められており、その一般的に政府機関は解読できないと想定されていますどちらか。したがって、AES-256の単一の層は、パスワードを咳き込むまでゴム製のホースであなたを倒そうとする種類の怪しげなキャラクターまで、ほとんど確実に保護します。 バックアップする脅威モデルがない限り、AES-256の複数のレイヤーを実行する理由はありません。

では、なぜファイルを分割すると役立つと思いますか?あなたはすでに地球上で最も強力な暗号化ツールのいくつかを使用しています。 1つのセクションを差し控えることが本当に役立つのはなぜですか?もちろん、現在明らかにされていないAES-256の亀裂をいくつか知っているが、7Zip分割ファイル形式をリバースエンジニアリングする方法を知らない攻撃者に対抗する場合は、それが役立つかもしれません。だから、箔を錫メッキすることができます。

君が持っているのはセキュリティシアターだとは言えない。最初のステップは適切です。強力で強力なパスワードを使用して、データを暗号化された形式で保存します。ただし、残りのプロセスはセキュリティシアターです。暗号化のレイヤーを重ねる時間を無駄にしないでください。

最悪のシナリオは、自分のデータに到達するのが10倍困難になったために、過度の労力でデータにアクセスできなくなった場合です。データにアクセスできなくなるプロセスの間違いの可能性は高く、実際のセキュリティはそれほど高くありません。

26
Cort Ammon

私は7-Zipの機能を完全に理解するのにあまり慣れていません。ただし、それがパスワードで保護されたZipファイルのみであるとすると、いいえ、これは安全ではありません。ただし、7-Zipが安全なAESベースの暗号化を提供する可能性があるというコメントがいくつかあります(7-Zipの実装にバグがなく、真の有効なAES暗号化ファイルが作成されていると想定しています)。

要するに、ダウンロードしてオフラインでクラックできるものは、十分な時間でクラックできると想定する必要があります。 7-ZipファイルがAES-256で暗号化されていると(ここでもバグはありません)、パスワードのエントロピーと攻撃者のマシンの速度に翻弄されることになります。

5レベルまたは6レベルの分割アーカイブを作成する代わりに、高エントロピーパスワードの単一のアーカイブを使用するだけで十分です。アーカイブのチェーンを解読できるようにするには、最初のアーカイブを「ロック解除」する必要があるだけなので、アーカイブを分割しても何も起こりません。

結局のところ、あなたの質問に対する答えは、できるだけ多くのエントロピーを備えた真にランダムで安全なパスワードを使用している限り、AES-128または256で7-Zipを使用するために純粋に十分であるということです。大文字、小文字、数字、記号の64文字で、識別可能なパターンや繰り返しがないものは完全に許容されます。付箋紙にパスワードを書き留めて、モニターに残さないでください。実際のパスワードマネージャーを使用して、その64文字のパスワードを追跡し、そのパスワードマネージャーでNice安全なマスターパスワードを使用していることを確認してください。最も安全性の低い方法と同じくらい安全です。デスクトップにプレーンテキストファイルとしてパスワードを貼り付けるのは安全ではありません。

また、攻撃者がPCにアクセスして同じデータを取得する方が簡単な場合があることにも注意してください。自分を保護しようとしているのは誰かを覚えておいてください。この場合、Googleドライブ/ドロップボックスのようなもの、およびそれらが公開されることを心配すること(またはせんさく好きな従業員)には、上記は完全に許容されます。

4
Andrew

これまでに与えられたすべての答えは素晴らしいです!ただし、まだ言及されていない可能性が1つあると思います。元の質問で、OPがパスワードの長さ(32文字のパスワード)に言及し、元のデータを復号化するために必要なアイテムを2番目のクラウドサービスに置くことに気付きました。

VeraCryptはキーファイルをサポートしていると思います。これにより、元の質問のいくつかの問題に対処できます。

  • ブルートフォースの難易度を上げる(攻撃者がキーファイルまたはパスワードを持っていないと想定)
  • 暗号化されたデータとは別の場所(2番目のクラウドサービス)にキーファイルを保存できるようにします。
  • 実際のデータを2番目のクラウドサービスに転送する必要がないため、帯域幅が少なくなります。 (あなたが望んでいない限り)
  • 制限:解読にキー/パスワードを必要としない、ブルートフォース以外のAES脆弱性が見つかった場合、それは役に立ちません。
3
Paul

他の回答に加えて、パスワードをどこかに保存する必要があることを指摘しておきたいと思います。パスワードを取得すると、データに簡単にアクセスできます。それらを保護したい場合は、パスワードを暗号化し、どこかにパスワードを保存する必要があります。

1
Solomon Ucko

これで結構です。一部の部分はおそらく冗長です(同じ暗号化システムを2回以上使用します)が、最初のZipがあり、次にいくつかの生データを追加してから、それらすべてをZipに入れるなどの場合、それは理にかなっているので、最も古いファイルを途中で小包に渡します。

次に、チャンクを取り出して判読不能にするステップは可能ですが、置くほど簡単ではありません。 Shamirのシークレットシェアリングの実装、またはXORランダムデータを含む最終的な圧縮エンコードファイルを使用し、結果をオンラインで保存し、ランダムデータを別の場所に保存する必要があります。

1
daniel

あなたのZip分割方法は馬鹿げており、保護価値を追加しません。よく理解され、十分にテストされ、強力に暗号化された圧縮方法を使用するだけで、指定されたニーズを満たすのに十分な安全性が得られます。圧縮(Zipなど)を信頼できない場合は、データの圧縮を暗号化コンテナから分離して、気分を良くしてください。説明する倍数と分割は、意味のあるセキュリティ(キーの強度やプロセスの検査など)を追加せずに複雑さを追加します。複数回行うことで、圧縮+暗号化の誤った実装を解決することはできません。