diff options
author | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 14:40:17 -0500 |
---|---|---|
committer | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 14:40:17 -0500 |
commit | 33058f2b292b3a581333bdfb21b8f671898c5060 (patch) | |
tree | 51c3e392513ec574331b2d3f85c394445ea803c6 /files/ja/web/security/secure_contexts | |
parent | 8b66d724f7caf0157093fb09cfec8fbd0c6ad50a (diff) | |
download | translated-content-33058f2b292b3a581333bdfb21b8f671898c5060.tar.gz translated-content-33058f2b292b3a581333bdfb21b8f671898c5060.tar.bz2 translated-content-33058f2b292b3a581333bdfb21b8f671898c5060.zip |
initial commit
Diffstat (limited to 'files/ja/web/security/secure_contexts')
-rw-r--r-- | files/ja/web/security/secure_contexts/features_restricted_to_secure_contexts/index.html | 236 | ||||
-rw-r--r-- | files/ja/web/security/secure_contexts/index.html | 77 |
2 files changed, 313 insertions, 0 deletions
diff --git a/files/ja/web/security/secure_contexts/features_restricted_to_secure_contexts/index.html b/files/ja/web/security/secure_contexts/features_restricted_to_secure_contexts/index.html new file mode 100644 index 0000000000..8eb04d2a59 --- /dev/null +++ b/files/ja/web/security/secure_contexts/features_restricted_to_secure_contexts/index.html @@ -0,0 +1,236 @@ +--- +title: 安全なコンテキストに制限されている機能 +slug: Web/Security/Secure_Contexts/features_restricted_to_secure_contexts +tags: + - API + - Browsers + - Reference + - Secure contexts + - Security + - Web + - features + - support + - セキュリティ + - ブラウザー + - 安全なコンテキスト +translation_of: Web/Security/Secure_Contexts/features_restricted_to_secure_contexts +--- +<p>このリファレンスは、安全なコンテキストでのみ使用できるウェブプラットフォーム機能の一覧です — 定義や詳細については、<a href="/ja/docs/Web/Security/Secure_Contexts">安全なコンテキスト</a>を参照してください。</p> + +<h2 id="Current_features_available_only_in_secure_contexts" name="Current_features_available_only_in_secure_contexts">安全なコンテキストでのみ使用できる現在の機能</h2> + +<p>この節では、安全なコンテキストでのみ利用できる API の一覧を、制限が導入されたブラウザーのバージョンと共に示します。</p> + +<div class="note"> +<p><strong>メモ</strong>: 実際に安全なコンテキストに対応しているブラウザーのみ表示しています。安全なコンテキストの対応の詳細は<a href="/ja/docs/Web/Security/Secure_Contexts#Browser_compatibility">こちらをご覧ください</a>。</p> +</div> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">API</th> + <th scope="col">Chrome/Opera</th> + <th scope="col">Edge</th> + <th scope="col">Safari</th> + <th scope="col">Firefox</th> + </tr> + </thead> + <tbody> + <tr> + <td><a href="/ja/docs/Web/API/Clipboard">Async Clipboard API</a></td> + <td>66</td> + <td>対応なし</td> + <td>対応なし</td> + <td>63</td> + </tr> + <tr> + <td><a href="https://wicg.github.io/BackgroundSync/spec/">Background Sync</a> (例えば {{domxref("SyncManager")}} を参照)</td> + <td>49</td> + <td>対応なし</td> + <td>対応なし</td> + <td>対応なし</td> + </tr> + <tr> + <td><a href="/ja/docs/Web/HTTP/Headers/Cache-Control"><code>Cache-Control: immutable</code></a></td> + <td>対応なし</td> + <td>15</td> + <td>11</td> + <td>49</td> + </tr> + <tr> + <td><a href="/ja/docs/Web/API/Credential_Management_API">Credential Management API</a></td> + <td>51</td> + <td>対応なし</td> + <td>対応なし</td> + <td>対応なし</td> + </tr> + <tr> + <td><a href="https://w3c.github.io/sensors/">Generic Sensor API</a></td> + <td>67</td> + <td>対応なし</td> + <td>対応なし</td> + <td>対応なし</td> + </tr> + <tr> + <td><a href="/ja/docs/Web/API/Payment_Request_API">Payment Request API</a> (および <a href="https://w3c.github.io/payment-method-basic-card/">Basic Card Payment</a>)</td> + <td>61</td> + <td><a href="https://blogs.windows.com/msedgedev/2017/04/11/introducing-edgehtml-15/">15</a></td> + <td><a href="https://webkit.org/blog/8182/introducing-the-payment-request-api-for-apple-pay/">11.1</a></td> + <td>開発中 (<code>dom.payments.request.enabled</code> の設定で隠蔽)。</td> + </tr> + <tr> + <td><a href="/ja/docs/Web/API/Push_API">プッシュ API</a></td> + <td>42</td> + <td><a href="https://blogs.windows.com/msedgedev/2017/12/19/service-workers-going-beyond-page/">17</a></td> + <td>対応なし</td> + <td>44</td> + </tr> + <tr> + <td><a href="/ja/docs/Web/API/Reporting_API">Reporting API</a></td> + <td>対応あり</td> + <td>対応なし</td> + <td>対応なし</td> + <td>Firefox 65 以降はフラグで隠ぺい</td> + </tr> + <tr> + <td><a href="/ja/docs/Web/API/Service_Worker_API">サービスワーカー</a></td> + <td>40</td> + <td><a href="https://blogs.windows.com/msedgedev/2017/12/19/service-workers-going-beyond-page/">17</a></td> + <td><a href="https://webkit.org/blog/8216/new-webkit-features-in-safari-11-1/">11.1</a></td> + <td>44</td> + </tr> + <tr> + <td><a href="/ja/docs/Web/API/Storage_API">Storage API</a></td> + <td>55</td> + <td>対応なし</td> + <td>対応なし</td> + <td>51</td> + </tr> + <tr> + <td><a href="/ja/docs/Web/API/Web_Authentication_API">Web Authentication API</a></td> + <td>65</td> + <td><a href="https://blogs.windows.com/msedgedev/2018/07/30/introducing-web-authentication-microsoft-edge/">In preview (17)</a></td> + <td><a href="https://bugs.webkit.org/show_bug.cgi?id=181943">開発中</a></td> + <td>60</td> + </tr> + <tr> + <td><a href="/ja/docs/Web/API/Web_Bluetooth_API">Web Bluetooth</a></td> + <td>56</td> + <td>対応なし</td> + <td>対応なし</td> + <td>対応なし</td> + </tr> + <tr> + <td><a href="https://webaudio.github.io/web-midi-api/">Web MIDI</a> (たとえば、 {{domxref("MIDIAccess")}} を参照)</td> + <td>43</td> + <td>対応なし</td> + <td>対応なし</td> + <td>対応なし</td> + </tr> + <tr> + <td><a href="/ja/docs/Web/API/Web_Crypto_API">Web Crypto API </a></td> + <td>60</td> + <td>79</td> + <td>対応なし</td> + <td>75</td> + </tr> + </tbody> +</table> + +<h2 id="Secure_context_restrictions_that_vary_by_browser" name="Secure_context_restrictions_that_vary_by_browser">ブラウザー独自の安全なコンテキストの制限</h2> + +<p>ブラウザーによっては、仕様書の要件になくても、特定の API を安全ではないコンテキストでは無効にしたり、その他の制限やセキュリティ要件を課したりしていることがあります。この節では、ブラウザーによって違いがあるものの一覧を示しています。</p> + +<table class="standard-table"> + <thead> + <tr> + <th>API</th> + <th>Chrome</th> + <th>Edge</th> + <th>Safari</th> + <th>Firefox</th> + </tr> + </thead> + <tbody> + <tr> + <td><a href="/ja/docs/Web/HTML/Using_the_application_cache">Application Cache</a></td> + <td><a href="https://bugs.chromium.org/p/chromium/issues/detail?id=588931#c19">Chrome 70 で安全なコンテキストに限定することを計画中</a></td> + <td><a href="https://twitter.com/patrickkettner/status/961999450016239616">2018年2月に非推奨化の検討が開始</a></td> + <td><a href="https://twitter.com/johnwilander/status/959423900470800384">非推奨化に対する一般の関心</a> {{webkitbug(182442)}}</td> + <td><a href="https://www.fxsitecompat.com/en-CA/docs/2018/application-cache-can-no-longer-be-used-on-insecure-sites/">Firefox 62 で安全なコンテキストに限定</a></td> + </tr> + <tr> + <td>{{domxref("Geolocation")}}</td> + <td><a href="https://developers.google.com/web/updates/2016/04/geolocation-on-secure-contexts-only">50で安全なコンテキストに限定</a></td> + <td></td> + <td>10で安全なコンテキストに限定</td> + <td><a href="https://www.fxsitecompat.com/en-CA/docs/2017/use-of-geolocation-api-is-now-limited-to-secure-sites/">55で安全なコンテキストに限定</a></td> + </tr> + <tr> + <td><a href="/ja/docs/Web/API/Detecting_device_orientation">Device Orientaion / Device Motion</a></td> + <td>非推奨の警告</td> + <td></td> + <td></td> + <td><a href="https://www.fxsitecompat.com/en-CA/docs/2018/various-device-sensor-apis-are-now-deprecated/">60から非推奨の警告</a>。なお、これは安全なコンテキストでも同様に適用されます。</td> + </tr> + <tr> + <td><a href="/ja/docs/Web/API/Encrypted_Media_Extensions_API">Encrypted Media Extensions</a></td> + <td><a href="https://developers.google.com/web/updates/2017/03/chrome-58-deprecations#remove_eme_from_non-secure_contexts">58で安全なコンテキストに限定</a></td> + <td></td> + <td></td> + <td><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1322517">計画中</a>。</td> + </tr> + <tr> + <td><a href="/ja/docs/Web/API/MediaDevices/getUserMedia">getUserMedia()</a></td> + <td><a href="https://codereview.chromium.org/1336633002">Chrome 47 以降、安全なコンテキストに限定</a></td> + <td></td> + <td></td> + <td>一時的なアクセスのみ可能 (ユーザーは許可ダイアログで "この設定を記憶する" を選べない)。</td> + </tr> + <tr> + <td><a href="/ja/docs/Web/API/Notifications_API">Notifications</a></td> + <td><a href="https://developers.google.com/web/updates/2017/09/chrome-62-deprecations#remove_usage_of_notifications_from_insecure_iframes">Chrome 62 で安全なコンテキストに限定</a></td> + <td></td> + <td></td> + <td><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1429432">Firefox 67 で安全なコンテキストに限定</a></td> + </tr> + <tr> + <td><a href="/ja/docs/Web/HTML/Element/a#attr-ping"><a ping> 属性</a></td> + <td></td> + <td>安全でないコンテキストでは無効</td> + <td></td> + <td>Firefox 3 で対応が追加、但し既定では有効化されていない (<code>browser.send_pings</code> の設定で隠蔽)。</td> + </tr> + <tr> + <td><a href="/ja/docs/Web/API/Presentation_API">Presentation</a></td> + <td><a href="https://developers.google.com/web/updates/2017/08/chrome-61-deprecations#deprecate_and_remove_presentation_api_on_insecure_contexts">61 で非推奨の警告</a></td> + <td></td> + <td></td> + <td></td> + </tr> + <tr> + <td><a href="/ja/docs/Web/API/Web_Crypto_API">Web Crypto API</a></td> + <td>早期から HTTPS に限定 (API は HTTP で見えたが、操作には失敗した)。 <a href="https://developers.google.com/web/updates/2017/06/chrome-60-deprecations#cryptosubtle_now_requires_a_secure_origin">Chrome 60 で安全なコンテキストに限定</a> (API は安全ではないコンテキストから見えなくなった).</td> + <td></td> + <td></td> + <td><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1333140">計画中</a>。</td> + </tr> + <tr> + <td><a href="/ja/docs/Web/API/Navigator/registerProtocolHandler">registerProtocolHandler()</a></td> + <td></td> + <td></td> + <td></td> + <td><a href="https://www.fxsitecompat.com/en-CA/docs/2018/navigator-registerprotocolhandler-can-no-longer-be-used-on-insecure-sites/">Firefox 62 で安全なコンテキストに限定</a>。</td> + </tr> + </tbody> +</table> + +<h2 id="See_also" name="See_also">関連情報</h2> + +<ul> + <li><a href="/ja/docs/Web/Security/Secure_Contexts">安全なコンテキスト</a></li> + <li><a href="https://www.fxsitecompat.dev/en-CA/categories/privacy-security/">Privacy & Security section on Firefox Site Compatibility</a></li> + <li><a href="https://www.chromestatus.com/features#secure%20context">"secure context" query on Chrome Platform Status</a></li> +</ul> + +<div>{{QuickLinksWithSubpages("/ja/docs/Web/Security")}}</div> 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 +--- +<p><span class="seoSummary"><strong>セキュアコンテキスト</strong>とは、認証と機密性の一定の最低基準を満たしている <code>Window</code> や <code>Worker</code> のことです。</span>多くの Web API や機能は安全なコンテキストでのみアクセス可能です。セキュアコンテキストの主な目的は、{{interwiki("wikipedia", "中間者攻撃", "中間者攻撃")}} が攻撃の犠牲者をさらに危険にさらす可能性のある強力な API にアクセスすることを防ぐことです。</p> + +<h2 id="Why_should_some_features_be_restricted" name="Why_should_some_features_be_restricted">機能をアクセス制限すべき理由</h2> + +<p>Web の API には強力なものもあり、攻撃者に対して以下のような (それよりも多くの) 能力を与えてしまう可能性があります。</p> + +<ul> + <li>ユーザーのプライバシーを侵害する</li> + <li>ユーザーのコンピューターに対して低水準のアクセス権限を得る</li> + <li>ユーザーの認証情報のようなデータへのアクセス権限を得る</li> +</ul> + +<h2 id="When_is_a_context_considered_secure" name="When_is_a_context_considered_secure">コンテキストが安全とみなされるのはいつですか?</h2> + +<p>コンテキストは、<a href="https://w3c.github.io/webappsec-secure-contexts/">Secure Contexts</a> 仕様で定義されている認証および機密性の一定の最低基準を満たしている場合に、セキュアなコンテキストとみなされます。特定の文書がセキュアコンテキストである<a href="https://html.spec.whatwg.org/multipage/browsers.html#top-level-browsing-context">トップレベルのブラウジングコンテキスト</a> (基本的には、セキュアコンテキストであるウィンドウやタブを含むコンテキスト) の<a href="https://html.spec.whatwg.org/multipage/browsers.html#active-document">アクティブな文書</a>である場合、その文書はセキュアコンテキストにあるとみなされます。</p> + +<p>例えば、{{HTMLElement("iframe")}} 内で TLS 上で配信された文書であっても、TLS 上で配信されなかった祖先がある場合には、そのコンテキストは安全であるとは見なされ<strong>ません</strong>。</p> + +<p>しかし、安全ではないコンテキストによって (<a href="/ja/docs/Web/API/Window/open#noopener">noopener</a> を指定してもしなくても) 新しいウィンドウが作成された場合、 オープナーが安全ではないという事実は、新しいウィンドウが安全であるとみなされるかどうかに影響を与えないことに注意してください。これは、特定の文書が安全なコンテキストにあるかどうかの判断は、それが関連付けられているトップレベルのブラウジングコンテキスト内でそれを考慮することにのみ基づいており、安全でないコンテキストがたまたまその文書を作成するために使用されたかどうかではないからです。</p> + +<p><em>http://127.0.0.1</em> の URL、<em>http://localhost</em> の URL (一定の条件の下で)、<em>file://</em> の URL など、ローカルに配信されたリソースも安全に配信されていると考えられます。</p> + +<p>ローカルではないリソースが安全であるとみなされるためには、以下の基準を満たす必要があります。</p> + +<ul> + <li><em>https://</em> または <em>wss://</em> URL で提供されなければなりません</li> + <li>リソースを配信するために使用されるネットワークチャネルのセキュリティプロパティは、非推奨と見なされてはなりません</li> +</ul> + +<h2 id="Feature_detection" name="Feature_detection">機能の判別</h2> + +<p>グローバルスコープで利用できる {{domxref("WindowOrWorkerGlobalScope.isSecureContext", "isSecureContext")}} の真偽値を用いることで、そのページ自身が安全なコンテキストの中にいるかどうか確かめることができます。</p> + +<pre class="brush: js notranslate">if (window.isSecureContext) { + // Service Worker が実行されているので、このページは安全なコンテキストです + navigator.serviceWorker.register("/offline-worker.js").then(function () { + ... + }); +}</pre> + +<h2 id="Specifications" name="Specifications">仕様</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">仕様書</th> + <th scope="col">状態</th> + <th scope="col">備考</th> + </tr> + <tr> + <td>{{SpecName('Secure Contexts')}}</td> + <td>{{Spec2('Secure Contexts')}}</td> + <td>編集者による草稿</td> + </tr> + </tbody> +</table> + +<h2 id="See_also" name="See_also">関連情報</h2> + +<ul> + <li><a href="/ja/docs/Web/Security/Secure_Contexts/features_restricted_to_secure_contexts">安全なコンテキストに制限されたプラットフォーム機能</a> — 安全なコンテキストでのみ使用できる機能のリスト</li> + <li>{{domxref("Window.isSecureContext")}}</li> + <li><a href="https://permission.site">https://permission.site</a> — HTTP と HTTPS を使用して、ブラウザーが使用している API のアクセス許可チェックを確認できるサイト。</li> + <li><a href="/ja/docs/Web/HTTP/Headers/Strict-Transport-Security">Strict-Transport-Security</a> HTTP ヘッダー</li> +</ul> + +<div>{{QuickLinksWithSubpages("/ja/docs/Web/Security")}}</div> |