2011-12-16 8 views
0

私たちは、クライアントのマシンにインストールされるコンソールアプリケーションを作成しています。アプリで使用されるXMLファイルを更新することができます。 ファイルが私たちのサーバーから安全にダウンロードされるようにするにはどうしたらいいですか?ウェブサイトから最新のXMLファイルを安全にダウンロードするには?

私はアプリが最新のバージョン番号を取得するためにAPIを呼び出すと仮定します。それよりも新しい場合、指定されたURLからこのXMLファイルをダウンロードします。しかし、これは中間の攻撃などで人に脆弱にするものではありませんか?私は、悪意のあるファイル(悪質なexeファイルなど)をダウンロードすることについて、私たちのアプリケーションが責任を負わないことを保証したいと思います。

ご了承ください。

答えて

2

サーバー上の秘密キーでXMLファイルに署名し、公開キーを使用してクライアント上で検証する必要があります。

あなたはその公開鍵(例えば、HTTPS)との最初のアプリを提供するための安全なメカニズムを持っている場合にのみ役立ちます

+0

ありがとうございます - ファイルが変更されていないことを確認します。しかし、それは悪意のあるファイルがダウンロードされるのを止めるものではありませんか? HTTPS経由でダウンロードしても問題ありませんか? それから、唯一の脆弱性は、私たちのサーバーをDNS攻撃で偽装していることでしょうか? – Marcus

+0

@IgorK:ハッシュが一致しない場合は、ファイルを拒否して削除するだけで問題はありません。 HTTPS(署名付き証明書付き)は、DNSおよびMITMの問題を防ぎますが、攻撃者が他の方法でサーバー上のファイルを変更することは防ぎません。 – SLaks

+0

@SLaksハッシュをチェックするためにファイルをダウンロードする必要はありませんか?私はいくつかのウイルスがシステム上にあるとすぐに自動的に実行できると思ったのですが? – Marcus

1

は、HTTPS経由でファイルを提供し、クライアントが証明書をチェックしてください。そうすれば、ファイルが正しいサーバーから来て、行のどこかで変更されていないことを確認できます。あなたが正しいファイルを確実に取得するのに十分であるようにあなたのサーバーを安全に保つと仮定します。

関連する問題