From 33058f2b292b3a581333bdfb21b8f671898c5060 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:40:17 -0500 Subject: initial commit --- files/ja/web/security/secure_contexts/index.html | 77 ++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 files/ja/web/security/secure_contexts/index.html (limited to 'files/ja/web/security/secure_contexts/index.html') diff --git a/files/ja/web/security/secure_contexts/index.html b/files/ja/web/security/secure_contexts/index.html new file mode 100644 index 0000000000..8c6576066a --- /dev/null +++ b/files/ja/web/security/secure_contexts/index.html @@ -0,0 +1,77 @@ +--- +title: 安全なコンテキスト +slug: Web/Security/Secure_Contexts +tags: + - Secure contexts + - Security + - セキュリティ + - 安全なコンテキスト +translation_of: Web/Security/Secure_Contexts +--- +

セキュアコンテキストとは、認証と機密性の一定の最低基準を満たしている WindowWorker のことです。多くの Web API や機能は安全なコンテキストでのみアクセス可能です。セキュアコンテキストの主な目的は、{{interwiki("wikipedia", "中間者攻撃", "中間者攻撃")}} が攻撃の犠牲者をさらに危険にさらす可能性のある強力な API にアクセスすることを防ぐことです。

+ +

機能をアクセス制限すべき理由

+ +

Web の API には強力なものもあり、攻撃者に対して以下のような (それよりも多くの) 能力を与えてしまう可能性があります。

+ + + +

コンテキストが安全とみなされるのはいつですか?

+ +

コンテキストは、Secure Contexts 仕様で定義されている認証および機密性の一定の最低基準を満たしている場合に、セキュアなコンテキストとみなされます。特定の文書がセキュアコンテキストであるトップレベルのブラウジングコンテキスト (基本的には、セキュアコンテキストであるウィンドウやタブを含むコンテキスト) のアクティブな文書である場合、その文書はセキュアコンテキストにあるとみなされます。

+ +

例えば、{{HTMLElement("iframe")}} 内で TLS 上で配信された文書であっても、TLS 上で配信されなかった祖先がある場合には、そのコンテキストは安全であるとは見なされません

+ +

しかし、安全ではないコンテキストによって (noopener を指定してもしなくても) 新しいウィンドウが作成された場合、 オープナーが安全ではないという事実は、新しいウィンドウが安全であるとみなされるかどうかに影響を与えないことに注意してください。これは、特定の文書が安全なコンテキストにあるかどうかの判断は、それが関連付けられているトップレベルのブラウジングコンテキスト内でそれを考慮することにのみ基づいており、安全でないコンテキストがたまたまその文書を作成するために使用されたかどうかではないからです。

+ +

http://127.0.0.1 の URL、http://localhost の URL (一定の条件の下で)、file:// の URL など、ローカルに配信されたリソースも安全に配信されていると考えられます。

+ +

ローカルではないリソースが安全であるとみなされるためには、以下の基準を満たす必要があります。

+ + + +

機能の判別

+ +

グローバルスコープで利用できる {{domxref("WindowOrWorkerGlobalScope.isSecureContext", "isSecureContext")}} の真偽値を用いることで、そのページ自身が安全なコンテキストの中にいるかどうか確かめることができます。

+ +
if (window.isSecureContext) {
+  // Service Worker が実行されているので、このページは安全なコンテキストです
+  navigator.serviceWorker.register("/offline-worker.js").then(function () {
+    ...
+  });
+}
+ +

仕様

+ + + + + + + + + + + + + + +
仕様書状態備考
{{SpecName('Secure Contexts')}}{{Spec2('Secure Contexts')}}編集者による草稿
+ +

関連情報

+ + + +
{{QuickLinksWithSubpages("/ja/docs/Web/Security")}}
-- cgit v1.2.3-54-g00ecf