SSLstripなどの攻撃に対する保護として、HSTSヘッダーは、ヘッダーの属性が適切に構成されている限り、攻撃者が接続をHTTPSからHTTPにダウングレードするのを防ぎます。
ただし、暗号化を必須にしないHTTP/2は、最新のブラウザーでは必須のTLS接続を使用して実装されています( wikipedia によると)。
その場合、HTTP/2を使用するときにHSTSヘッダーを有効にしても意味がありますか?攻撃者はクライアントに強制的にHTTP/1を使用させ、接続をSSLストリップすることはできますか? HTTP/2で十分ですか?それはHSTSヘッダーを廃止しますか?
はい、HSTSプリロードを含め、HSTSは引き続き必要です。
ブラウザがHTTP/2に接続する方法は、HTTP/1のURLとまったく同じように見えるURLを経由するため、URLを見ただけではHTTP/2である必要があることがわかりません。 http://
URLが指定されている場合は、プレーンクリアテキストHTTPを試行します。ブラウザがプレーンHTTPを試行しないようにする(および不正なWiFi APなどからの攻撃を受けない)ためには、URLがhttps://
である必要があります(その後、ALPNを介してHTTP/2アップグレードが行われます)。ユーザーがアドレスバーまたは外部リンクに入力した内容に関係なく、HSTSを使用していることを確認する方法。
あなたはあなたの最初の2点の両方で正しいです。
SSLstripなどの攻撃に対する保護として、HSTSヘッダーは、ヘッダーの属性が適切に設定されている限り、攻撃者がHTTPSからHTTPに接続をダウングレードするのを防ぎます。
はい。そのため、HSTSヘッダーは、ブラウザーに安全な接続を介してのみWebサーバーにアクセスするように指示し、HTTPを介した接続を拒否し、HTTPSにリダイレクトします。
しかし、Wikipediaによると、暗号化を必須にしないHTTP/2は、最新のブラウザーでは必須のTLS接続で実装されています。
そうです、ほとんどの主要ブラウザは、HTTP/2 over HTTPSのみをサポートします。
その場合、HTTP/2を使用するときにHSTSヘッダーを有効にしても意味がありますか?攻撃者はクライアントに強制的にHTTP/1を使用させ、接続をSSLストリップすることはできますか? HTTP/2で十分ですか?それはHSTSヘッダーを古くしますか?
HTTP/2を実装するWebサーバーは、HTTPS接続を強制しません。 HTTP/2がTLSでのみサポートされることは、単なるブラウザ要件です。 HTTP/2は、HTTP URIとHTTPS URIの両方に定義されています。
ユーザーがHTTP経由でWebサイトをロードしようとするとどうなりますか? HTTP/2が失敗した場合のHTTP/1.1はフォールバックプロトコルです。そのため、HTTP/2対応サイトは、依然としてSSLストライピングMitM攻撃に対して非常に脆弱である可能性があります。