OpenSSL's を含む多くのWebサイトでは、ファイルのPGP署名に加えて、MD5/SHA1チェックサムとともにダウンロードが提供される場合があります。
簡単に言えば、PGP署名はファイルID検証に加えてファイル整合性検証を提供しますか?そう思います。ファイルのPGP署名を検証した場合、整合性はすでに検証済みなので、ファイルのMD5とSHA1の合計は大体無関係ですか?
これに該当する場合、PGP署名は他のハッシュ方式よりも優れたファイル整合性検証を提供しますか?
簡単に言えば、PGP署名はファイルID検証に加えてファイル整合性検証を提供しますか?
はい。ただし、さらに調査することなく、特定のキーが署名に使用されたかどうかを確認するだけです。それが誰のものか(以下を読んでください)!
ファイルのPGP署名を検証した場合、整合性はすでに検証済みなので、ファイルのMD5とSHA1の合計は大体無関係ですか?
はい、ただし、キーの所有権を確認できなかった場合を除き、他の人から安全なチャネル(会議、(ビデオ)通話など)で正しい指紋が提供されました。
ファイルのPGP署名を検証した場合、整合性を既に検証しているので、ファイルのMD5とSHA1の合計は大体無関係ですか?
実際、OpenPGPalsoは、このようなハッシュアルゴリズムを使用しています(MD5はもう使用しない方がいいでしょう。しかし、デジタル署名により、だれがソフトウェアに署名したか(正しく検証された場合)に関する情報が追加されます。
ソフトウェア発行者の鍵に直接署名しない限り、知っているのはsomebodyがソフトウェアに署名したことだけです。 OpenPGPには主要な認証局はありません。誰でも任意の名前でキーを追加できます。信頼する場所を決めるのはあなた次第です。これは通常、キーのフィンガープリントに会って交換することによって行われますが、パラノイアのレベルによって異なりますあなたは彼らが彼らのウェブサイトに置いたいくつかに対してキーフィンガープリントを検証することで大丈夫かもしれません(もちろんそれは妥当な証明書と共にSSL暗号化されて送信されるべきです)。
次に、web of trustの概念があります。これにより、発行者への直接の出会いなしに、発行者への信頼パスを構築できます。 -それらの間で証明書のチェーンを形成します(これは実際にX.509の中間認証局と比較できます)。非常に短い説明がこの回答にあります: 信頼に関するこのgpg出力の正確な意味は何ですか? 。
定義により、 signatures 完全性を提供します。実際、「身元の確認」はできるが完全性は得られないような署名のあるシステムを想像してみてください。これは、ボブから署名付きメールを受け取ったときに、ボブが関与していることは確かだが、受け取ったものではないことを意味します。本当にボブが送ったもの。そのようなシステムは、ボブが存在することを保証するだけですが、実際に受信した電子メールについては何も言いません。このようなシステムはまったく役に立たず、「署名」と呼ばれるに値しません。
はい、デジタル署名はデータが同じであることを確認します。 sign関数は、常に署名者の秘密鍵とファイルの内容(またはほとんどの場合はハッシュ)を組み合わせて署名を小さくします。
(それが実行されなかったと想像してみてください。それは、誰かのファイルAの署名を取り、それを自分のファイルBに貼り付けることができることを意味します。その場合、署名は正確にはどういう意味ですか?署名していたデータ... 署名の目的は何ですか?)
主なトレードオフは、計算する時間とアプリケーション/ライブラリです。
ハッシュアルゴリズムは、特定の入力に対して同じ出力を返す必要があります。ハッシュアルゴリズムは一方向の関数であり、SHA1/MD5はファイルの整合性の計算に一般的に使用される「高速ハッシュ」です。
暗号化関数を使用する場合、同じ出力は特定の入力に対して同じである必要があります。暗号化関数は、計算にコストがかかるため、遅くなる可能性があります。デジタル署名は、完全性と信頼性を提供するための暗号化の使用です。
どちらか一方を検討するときは、ユーザーが必要とするツールの速度と可用性を検討する必要があります(両方を提供しない方がよいでしょう)。同様のデータの衝突の可能性も考慮する必要があります。真正性と完全性を一度に取得することは、速度とより広い可用性と比較検討することができます。
GnuPGのWebサイトでは、ダウンロードを確認するためのガイダンスが提供されています SHA1とGnuPGの両方を備えたGnuPGの