1. Introduzione
1. Introduzione
Il protocollo Web Push [RFC8030] è per natura intermediato. I messaggi da un application server sono recapitati a un user agent (UA) tramite un push service, come mostrato nella Figura 1.
+-------+ +--------------+ +-------------+
| UA | | Push Service | | Application |
+-------+ +--------------+ +-------------+
| | |
| Setup | |
|<====================>| |
| Provide Subscription |
|-------------------------------------------->|
| | |
: : :
| | Push Message |
| Push Message |<---------------------|
|<---------------------| |
| | |
Figura 1
Questo documento descrive come proteggere i messaggi inviati con questo protocollo da ispezione, modifica e contraffazione da parte del push service.
I messaggi Web Push sono il payload di un messaggio HTTP [RFC7230]. Sono crittografati mediante una codifica di contenuto crittografata (encrypted content encoding) [RFC8188]. Il documento spiega come applicare tale codifica e propone uno schema di gestione delle chiavi consigliato.
Più utilizzatori di Web Push sullo stesso user agent spesso condividono un agente centrale che aggrega la funzionalità push. Tale agente può imporre l'uso di questo schema di crittografia alle applicazioni che usano la messaggistica push. Un agente che consegna solo messaggi correttamente crittografati incoraggia fortemente la protezione end-to-end.
Un browser web che implementa la Push API [API] può imporre la crittografia inoltrando solo i messaggi stati crittografati correttamente.
1.1. Convenzioni di notazione
Le parole chiave « MUST », « MUST NOT », « REQUIRED », « SHALL », « SHALL NOT », « SHOULD », « SHOULD NOT », « RECOMMENDED », « NOT RECOMMENDED », « MAY » e « OPTIONAL » in questo documento devono essere interpretate come descritto in BCP 14 [RFC2119] [RFC8174] quando, e solo quando, compaiono tutte in maiuscolo come qui.
Il documento usa la terminologia di [RFC8030], in particolare « user agent », « push service » e « application server ».