1. はじめに
1. はじめに
Web Push プロトコル [RFC8030] は, 構造上中間者を介さざるを得ない. アプリケーションサーバーからのメッセージは, プッシュサービス (push service) 経由でユーザエージェント (user agent, UA) に届く (図1).
+-------+ +--------------+ +-------------+
| UA | | Push Service | | Application |
+-------+ +--------------+ +-------------+
| | |
| Setup | |
|<====================>| |
| Provide Subscription |
|-------------------------------------------->|
| | |
: : :
| | Push Message |
| Push Message |<---------------------|
|<---------------------| |
| | |
図 1
本ドキュメントは, このプロトコルで送られるメッセージを, プッシュサービスによる傍受, 改ざん, 偽造からどのように保護するかを記述する.
Web Push メッセージは HTTP メッセージ [RFC7230] のペイロードである. これらのメッセージは暗号化されたコンテントコーディング (encrypted content encoding) [RFC8188] で保護される. 本ドキュメントはそのコンテントコーディングの適用方法と, 推奨される鍵管理方式を記述する.
同一ユーザエージェント上の複数の Web Push 利用者は, しばしばプッシュ機能を集約する中央エージェントを共有する. そのエージェントは, プッシュメッセージを用いるアプリケーションに対し本暗号方式の使用を強制できる. 正しく暗号化されたメッセージだけを配送するエージェントは, メッセージのエンドツーエンド保護を強く促進する.
Push API [API] を実装するウェブブラウザは, 正しく暗号化されたメッセージだけを転送することで暗号化の使用を強制できる.
1.1. 表記上の規則
本ドキュメントのキーワード "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", "OPTIONAL" は, ここに示すとおりすべて大文字で現れる場合に限り, BCP 14 [RFC2119] [RFC8174] に記述される意味で解釈される.
本ドキュメントは [RFC8030] の用語を用いる. 主に "user agent (ユーザエージェント)", "push service (プッシュサービス)", "application server (アプリケーションサーバー)" である.