17

私はブートストラップのサイトにいましたが、最近、彼らの CDN リンクに SHA-384 キーを持つ整合性属性が含まれていることに気付きました。

<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS" crossorigin="anonymous"></script>

これはスクリプトのソースを検証するためのものだと思いますが、それがどのように使用されているのか、またこれが仕様の一部なのかどうかについても疑問に思っていました。

さらに、これはスクリプト src でのみ機能しますか、それとも同じオリジン以外のソースでも機能しますか?

4

3 に答える 3

17

これをチェックして :

https://developer.mozilla.org/en/docs/Web/HTML/Element/script

コンテンツ配信ネットワーク (CDN) を使用して、複数のサイト間で共有されるスクリプトやスタイルシートなどのファイルをホストすると、サイトのパフォーマンスが向上し、帯域幅が節約されます。ただし、CDN の使用にはリスクも伴います。攻撃者が CDN の制御を取得した場合、攻撃者は任意の悪意のあるコンテンツを CDN 上のファイルに挿入する (またはファイルを完全に置き換える) ことができ、フェッチするすべてのサイトを潜在的に攻撃する可能性があります。その CDN からのファイル。

サブリソース整合性機能を使用すると、Web アプリケーションまたは Web ドキュメントが (CDN または任意の場所から) フェッチするファイルが、サードパーティが追加のコンテンツを挿入することなく配信されたことを確認することで、このような攻撃のリスクを軽減できます。ファイル — これらのファイルに他のいかなる種類の変更もまったく加えられていません。

ここでもっと読む:

https://developer.mozilla.org/en-US/docs/Web/Security/Subresource_Integrity

于 2015-12-23T05:19:54.893 に答える
2

コンテンツ配信ネットワーク (CDN) を使用して、複数のサイト間で共有されるスクリプトやスタイルシートなどのファイルをホストすると、サイトのパフォーマンスが向上し、帯域幅が節約されます。ただし、CDN の使用にはリスクも伴います。攻撃者が CDN の制御を取得した場合、攻撃者は任意の悪意のあるコンテンツを CDN 上のファイルに挿入する (またはファイルを完全に置き換える) ことができ、フェッチするすべてのサイトを潜在的に攻撃する可能性があります。その CDN からのファイル。

サブリソース整合性機能を使用すると、Web アプリケーションまたは Web ドキュメントが (CDN または任意の場所から) フェッチするファイルが、サードパーティが追加のコンテンツを挿入することなく配信されたことを確認することで、このような攻撃のリスクを軽減できます。ファイル — これらのファイルに他のいかなる種類の変更もまったく加えられていません。

Subresource IntegrityEDIT
の使用 サブリソースの Integrity 機能を使用するには、ブラウザーにフェッチするように指示するリソース (ファイル) の base64 エンコード暗号化ハッシュを、任意の<script>または<link>要素の Integrity 属性の値で指定します。

整合性値は少なくとも 1 つの文字列で始まり、各文字列には特定のハッシュ アルゴリズムを示すプレフィックス (現在許可されているプレフィックスは sha256、sha384、および sha512) が含まれ、その後にダッシュが続き、実際の base64 でエンコードされたハッシュで終わります。

整合性値には、空白で区切られた複数のハッシュが含まれる場合があります。これらのハッシュのいずれかに一致する場合、リソースがロードされます。
base64 でエンコードされた sha384 ハッシュを使用した整合性文字列の例:

sha384-oqVuAfXRKap7fdgcCY5uykM6+R9GqQ8K/uxy9rx7HNQlGYl1kPzQho1wx4JwY8wC
整合性値の「ハッシュ」部分は、厳密に言えば、特定のハッシュ関数を何らかの入力 (スクリプトやスタイルシート ファイルなど) に適用することによって形成される暗号化ダイジェストです。しかし、暗号化ダイジェストを意味するために省略形のハッシュを使用するのが一般的であるため、この記事ではそれを使用しています。

詳細情報:リンク

于 2015-12-23T05:21:47.847 に答える