GPG対称暗号化を使用している場合、「警告:メッセージは整合性が保護されていません」を修正するにはどうすればよいですか?


45

次のような対称暗号化を使用してファイルを暗号化しました。

gpg --symmetric myfile

これはファイルになりますmyfile.gpg

わかった。次に、ファイルを再度復号化しましょう。

gpg -o myfile --decrypt myfile.gpg

つけたパスフレーズを聞かれて、それから

gpg: CAST5 encrypted data
gpg: encrypted with 1 passphrase
gpg: WARNING: message was not integrity protected

そこの最初と最後の行についてはわかりません。

  • CAST5暗号とは何ですか?それは安全ですか?3DESとAESを知っており、それらが安全であることを知っています。
  • 完全性のために保護されないのはなぜですか?
  • さらに、これを修正するにはどうすればよいですか?

gpg -c myfile暗号化とgpg myfile.gpg復号化だけを行うことができますが、出力はmyfileデフォルトで復号化されます。
cprn

1
@CyprianGuerra gpg myfile.gpgは、システムのstdoutに復号化された出力を送信します
...-gertvdijk

面白い。私はデフォルトでそれを持っています
...-cprn

ここからGUIをダウンロードし、それを使用してファイルを復号化しました。動いた!pgptool.github.io
Iftikhar Ahmad Dar

回答:


69

バックグラウンド

CAST-5は、GnuPGが最初にsourceを作成した時点ではまだAESが存在していなかったため、GnuPGが使用する古い暗号化アルゴリズムです。広く使用されていません(互換性の理由からGnuPGを除く)。

これWARNING: message was not integrity protectedは、暗号化時にこの機能がデフォルトで有効になっていないためです。これをオンにすると、GnuPGはファイルが転送中に変更されたかどうかを知ることができます。

更新:Ubuntu / Debianに同梱されている最新バージョンのGnuPGでは、デフォルトで MDCが有効になっています。これらの新しいバージョンで署名されたものについては、このメッセージは表示されません。

解決策

より強力なAES-256を使用するには、コマンドラインまたは構成ファイルで指定する必要があります。

  • コマンドライン:--cipher-algo AES256オプションを追加して、暗号化する行全体が

    gpg -o myfile.gpg --cipher-algo AES256 --symmetric myfile
    
  • 構成ファイル(推奨):~/.gnupg/gpg.conf構成ファイルに次の行を追加します。

    cipher-algo AES256
    

    このユーザーアカウントでの今後のすべてのGPG操作に使用されるため、このアプローチをお勧めします。

ユーザーがファイルを復号化するために変更するものは何もありません-GnuPGはこれを自動的に検出します。

AES-256暗号を使用すると、メッセージは整合性のために自動的に保護されます。これが有効になっていない他の暗号(CAST-5など)で整合性保護を手動で有効にするには--force-mdc、暗号化するときにオプションを追加します。

さらに良い:サイン!

さらに良い方法は、キーペアでファイルに署名することです(もしあれば)。--sign次のように、暗号化コマンドにオプションを追加するだけです。

gpg -o myfile.gpg --cipher-algo AES256 --sign --symmetric myfile

これにより、ファイルの整合性が検証されるだけでなく、ファイルの受信者が発信元を確認できるようになります。ファイルを変更すると、署名チェックが失敗します。


署名に証明書は必要ありませんか?
ビラルファズラニ

@bilalfazlaniに署名するには、GnuPGキーペアが必要です、はい。したくない場合は、公開する必要はありません。暗号化ファイルを共有しているピアと公開キーを共有するだけで、キーのフィンガープリントを確認する必要があります。
-gertvdijk

詳細な回答ありがとうございます。キーペアの使用方法について詳しく説明できますか?
ベンナビイデラッシュ

「メッセージは整合性が保護されていません」は受信者側で発生し、送信者側でこれを修正する方法を指示します。質問は、受信側の問題を無視する(Enigmailの中で)古いメッセージを復号化することができるようにする方法である
ensonic

@ ben-NabiyDerushこれらの2つの記事は、公開鍵と秘密鍵のペアを使用する方法(および理由)についての質問を解決するかもしれません。公開鍵暗号Web of Trust
jpaugh
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.