web-dev-qa-db-ja.com

証明書の事前共有フィンガープリントをチェックすることは、TLSにとって十分なセキュリティですか?

システムが(FTPS経由で)接続する必要のあるサードパーティが、マシンによって信頼されていない証明書(不明な証明書)を使用しています。

アプリケーションを実行する必要のあるすべてのサーバーに発行機関からの証明書をインストールしたくない場合は、代わりにサードパーティに証明書のSHA-256フィンガープリントを事前に確認して、指紋をチェックする証明書検証ロジック?

それは発行機関からの証明書をインストールするのと同じレベルのセキュリティを提供しますか?

私は この質問 への回答を読みましたが、これで問題ないと思いますが、私の質問は、指紋を使用してアプリケーションを構成し、それらを使用して手動で指紋を確認するのではなく、受信した証明書を検証することです閲覧など.

4
Ergwun

参照しているものは通常ピン留めと呼ばれます。つまり、証明書/公開鍵自体を比較するか、検証に指紋を使用して、証明書または証明書の公開鍵がアプリケーションに認識されていることを確認します。

これは、フィンガープリントが十分強力である限り、証明書を検証するための完全に有効な方法です。つまり、MD5は長い間壊れていると見なされ、SHA-1に対する実際的な攻撃が示されているだけなので、証明書も不正です。ただし、ピン留めのみでは、クライアントが証明書の取り消しを確認する方法は提供されません。証明書のチェックがアプリケーション内で行われ、アプリケーションが必要に応じて新しいフィンガープリントで迅速に更新される場合、これは問題ありませんが、予想されるフィンガープリントを安全な方法で更新する方法がない場合はお勧めできません。

3
Steffen Ullrich