w3c

Auto Upgrade Mixed Contentとは

HTTPSのサイト内にHTTPで提供される画像やスクリプトがあると、「Mixed Content」の仕組みによりURLバーに黄色い警告が出たり、リソースがブロックされます。もちろんスクリプトがブロックされればWebページを正しく表示できません、URLバーに表示されたシー…

JS Self-Profiling API とは

W3C Web Performance Workingの議事録に「JS Self-Profiling API」についての議論があったので簡単に眺めておく。ミーティングの「発表スライドはこちら」 JS Self-Profiling API いわゆるRUM(Real user monitoring)などと同様、実際のユーザ側でJavaScript…

ブラウザからシリアルポートにアクセスするSerial API

blink-devメーリングリストに「Intent to Implement: Serial API」として「Serial API」の実装に着手する旨の投稿がされている。この「Serial API」はW3CのWICGで議論がされており、ブラウザからシリアルポートにアクセス可能にする。3DプリンタやArdbinoな…

HTML要素からHTTP/2優先度を指定する Priority Hints が動いた

HTTP/2にはクライアントからHTTPリクエストの優先度を指定することができる。サーバはその優先度に基づいてHTTPレスポンスを返す(無視しても良い)。 一般的にはブラウザ自身が判断し、ページのレンダリングを早くするためにCSSなどは優先度を高く、画像は優…

Loading Signed Exchangesの仕様 (WebPackaging)

WebPackagingと呼ばれる仕組みが議論されているのは、以前このブログでも紹介したとおりである。 asnokaze.hatenablog.comこの仕組みは3つの仕様からなる。 Signed HTTP exchanges (参考: HTTP/2 クロスオリジン サーバプッシュを可能にする提案仕様 - ASnoK…

Fetchの仕様で application/report を送信時にCORSが必要になった

以前このブログでも書いたNetwork Error Loggingなど、Webサイトを表示する際に発生した問題のレポートを指定されたエンドポイントに送信する機能が増えてきている。 asnokaze.hatenablog.comこのレポート送信に関する仕様はReporting APIで定義されている。…

Clear-Site-Dataヘッダでブラウザに記憶されているデータを消す

Webブラウザは表示したサイトに関する様々なデータを記憶しています例えば cookie cache HTTP認証の情報 localStorage service worker registrations しかしサーバ側からこれらのデータを明示的に消すのは難しい場合があります。例えば、httpOnlyのcookieは…

ブラウザの廃止される機能を使っていることを検知する Deprecation Reports (+ Intervention reports )

w3c

20180713追記 Intervention reports について追記しました ブラウザのバージョンアップは定期的に行われており、その度に廃止される機能もあります。廃止されることは公式にアナウンスされますが、そもそも自分が使っているかどうかすべてを把握することは難…

Network Error Loggingを用いたポートスキャン手法について

w3c

20180711追記 この問題は解決されました Handle errors in different phases differently #83 include_subdomains はDNSの名前解決エラーのみをレポート出来、TCP関連のエラーは通知できません。 ReportingObserver で、Network Error Loggingは監視できませ…

ブラウザのネットワークエラーをレポートさせるNetwork Error Loggingが来た

w3c

20180727追記 CORS対応が必要になりました asnokaze.hatenablog.com20180703追記 ドキュメントはhttps://w3c.github.io/network-error-logging/ にが移されました20180608追記 仕様上は、jsonの各値はハイフンではなく、アンダースコアを使用するようになり…

Sec-Metadataヘッダについて

CSRF攻撃やクロスドメインリクエストに対してサイドチャネル攻撃をすることで、情報がリークすることがあります。それを防ぐために、どのようにHTTPリクエストが行われたかサーバサイドでより詳しく判断できるように、Sec-Metadataヘッダという仕様がW3Cの W…

Web5Gとはなんなのか

W3Cでは、「Web5G」を掲げ5G及び関連するネットワークの進化に向けて、それにあわせたWeb標準技術・APIを模索しているようである。個人的な印象としては、ネットワークレイヤとWebアプリケーションレイヤが連携するようなイメージでいる。ネットワークを性能…

iframe内の転送量を制限する Transfer Size Policy とは

Webページにソーシャルボタンや広告といったiframeを埋め込むことがあります。この時、埋め込んだ側はiframeの中で使用されるリソースを制限する方法はありません。例えば動画を再生すればトラフィックとCPUが消費されますし、最近では実はBitcoinの採掘に利…

Content Security Policy(CSP) レポートのCORSと、Fetchの仕様変更

WHATWG, Fetch詳しくないので間違いがあればご指摘下さい Content Security Policy(CSP)やHPKPやExpect-CTでは、ユーザエージェントはセキュリティの違反を検出した際に、指定したURLにレポートを送信できる。例えば、下記のようにHTTPレスポンスヘッダにrep…

Mixed Content Level 2の議論

20181010 追記 Chromeが行っている取り組みについて、「Auto Upgrade Mixed Contentとは - ASnoKaze blog」を書きました。 W3CのWeb Application Security WGのco-chairとなった GoogleのMike West氏から、11月に実施されるTPAC 2017に先立って「Mixed Conte…

Device Memory APIを用いてデバイスのメモリサイズを取得する

背景 Webサービスでは、デバイスの性能毎に軽量版の機能を提供することが有ります。Google Search、Google Map、Facebookなどではローエンドデバイスでは一部軽量版のページを提供することが有ります。または、クライアントサイドで何かしらの処理速度などを…

HTML要素からHTTP/2優先度を指定する Priority Hints

20180912追記 Chrome71で動作確認しました。 仕様的にも変更が入ってるので、下記記事参照 asnokaze.hatenablog.com HTTP/2ではリクエストは並列的に行われますが、クライアントは各リクエストに優先度を設定できます。サーバはこの優先度によって、レスポン…

W3CにおけるWeb Lifecycleの議論 (Page Lifecycle API)

20180523 追記Page Lifecycle API等とも呼ばれているようです。 github.com下記内容は古く一部ことなっています W3CでWebPerf Web Performanceで、「Web Lifecycle」というトピックが議論に上っていた。(Agenda URL)これは、iOSアプリやAndroidアプリのActiv…

署名式 SRI(Subresource Integrity)の議論

w3c

W3CのWeb Application Securityワーキンググループで、署名式 SRIの議論が出ていたので簡単に書く 背景 セキュリティ向上の目的で、Webページ上で読み込まれるリソース(JavaScript等)を制限する方法に、CSP(Content Security Policy)やSRI(Subresource Integ…

CSPの仕様に report-sample が追加された

w3c

まだ、WIPではあるもののCSPの仕様に "report-sample" と言う機能が追加されました(URL)。 これは、違反したインラインのScriptやStyleの最初の40文字がレポートに追加されます。外部ファイルの場合はレポートされません。昨年から議論がされていましたが、…

PerformancePaintTiming API(First Paint Timing API)とは

w3c

昨今、「Navigation Timing API」といったクライアント側でのページの処理時間を取得する機能が充実してきております。 W3CのWeb Performance WGでは、Navigation Timing、User Timing、Resource TimingそれぞれLevel2, Level3が改訂作業が行われております…

XSSを防ぐ新しいXSS-Protectionヘッダ

w3c

evalとreportOnlyについて追記しました (2016/10/10) 2016/10/20 仕様名は以下の通りになりました。Anti-XSS Response-Time Uniqueness Requirement また、ヘッダ名は、XSS-Protectionヘッダではなく、ARTURヘッダとなっておりますが、また変更される可能性…

Secure Contextsに関する localhost と、IETFでの新提案

Secure Contexts Service Workers、Web BluetoothといったAPIは、安全に使用するためにセキュリティ上の条件があります。 その条件がSecure Contextと呼ばれるコンテキストであり、W3CのSecure Contexts(URL)というドキュメントで定義されています。 このSec…

wicgのFace detection API

w3c

wicgで議論になっている「Face detection API」の仕様が「Shape Detection in Images」としてwicgのリポジトリで公開されている。 https://wicg.github.io/shape-detection-api/ Shape Detection in Images HTMLImageElement、HTMLCanvasElement、ImageData…

ポリシーをオリジン全体に適応する Origin Policy

w3c

WICGで議論されている「Set origin-wide policies via a manifest」の仕様がGoogleのMike West氏から提案されています。この「Origin Policy」と言う仕様は、氏のGithubリポジトリから確認できます。 これは、Content-Security-PolicyやReferrer-Policyとい…

iframeのアプリケーションにPermissionを委譲する仕様

w3c

追記 20180918 Chromeではこういう形で実装されました (W3Cで提案されているものとは別物) asnokaze.hatenablog.com Permission Delegation To Embedded Web Applications iframeで埋め込まれたクロスオリジンのWebアプリケーションがPermissionを要求すると…

Feature Policy、ブラウザの特定機能を無効にする仕様

w3c

W3CでFeature Policyという仕様が議論されています。仕様は著者であるGoogleのIlya Grigorik氏のリポジトリ(URL)より確認できます。 このドキュメントはまだW3C公式のドキュメントとはなってはいませんが、先月行われたFace-to-Faceのミーティングでも議論が…

Mixed ContentのブロックされたURIをレポートさせる仕様追加

w3c

Mixed Content Mixed Contentと言う仕様により、httpsで提供しているページの中でhttpで提供するリソース(script等)があるとそのリソースはブロックされます。 このMixed Contentには、Content Security Policyのblock-all-mixed-contentディレクティブも定…

ブラウザのクレデンシャル管理と連携するCredential Managementを試す

w3c

Credential Management クレデンシャル管理機能と連携するためのAPI仕様「Credential Management」がW3Cで議論されています。 https://www.w3.org/TR/credential-management/ ブラウザは、Webサイトにログインするためのユーザ名・パスワードといった資格情…

CSP3のunsafe-dynamicとunsafe-hash-attributes

w3c

unsafe-dynamicは'strict-dynamic'という別ディレクティブとなりました (20160622) Content Security Policy Level 3のFirst Public Working Draftが1月に公開されました。 以前「まもなく公開される CSP Level3 の変更点」この記事で書いたように、CSP leve…