2017-06-28 8 views
1

サーバー間シナリオでダウンロードしたファイルの信頼性を確認する最善の方法は何ですか?ダウンロードしたファイルの信頼性を確認する

可能なオプション:チェックサムを生成して比較します。しかし、ネットワークが侵害されていると仮定すると、サーバーはどのように安全にマッチングのためにハッシュを交換できますか?

信頼性を確認する他の方法はありますか?私は署名について読んだことがありますが、本当にうまくいかないし、彼らがどのように働くのかは分かりません。考慮すべきことは何ですか?

誰もファイルを改ざんしていないことを確認しようとしています。すべてのアドバイスやヒントを高く評価!

編集:サーバー間のトラフィックにHTTPSを使用しますが、代替方法にも頼っています。

+0

*「サーバー間のトラフィックにHTTPSを使用していますが、代替方法にも頼っています。」 - なぜですか?暗号化のための暗号は悪い考えです。 –

答えて

0

私はサーバー間のトラフィックにHTTPSを使用しますが、代替の方法も頼りにしたいと考えています。

HTTPSは通信を保護しますが、メッセージの真正性は保護しません。したがって、メッセージを認証する方法を探して正しいことをしています。

送信者の秘密鍵でファイルに署名し、送信先の署名を公開鍵で検証することをお勧めします。配信になりすますことができないように公開する前に、公開キーを手動でサーバーに展開します。

実際には、ECDSAまたはRSA(PSS)署名アルゴリズムを使用してファイルの安全なハッシュ(SHA-256など)に署名することが、簡単な解決策の1つになります。

また、両端でキーを保護できる場合は、HMACを使用することもできます。

+0

HTTPSは動作するために何らかの信頼ルートを必要とします。 HTTPS接続が存在する場合、HTTPS接続は、クライアントがサーバーが送信するものが本物であると確信しているという結果をもたらします。 HMACは完全性を提供し、双方の当事者が対称HMACキーを持ち、すべてのデータに「署名」することができるため、認証は強力な意味ではありません。 –

+0

@Artjom B.私はあなたに同意する必要があります。 HTTPSはメッセージの信頼性を保証するものではありません。受信者は、転送前にデータが操作されたかどうかを知ることができません。また、通信経路に複数のホップがある場合は、ソースでデータに署名しない場合は、すべてのホップの認証を保証するために余分に移動する必要があります。 – quinz

+1

ちょっと@quinz、あなたの返信をありがとう!私はメッセージの署名にさらに目を向けます。 – Ilya

関連する問題