Attualmente esistono due draft RFC per l’invio di richieste o risposte HTTP firmate - entrambe contenenti gli header Signature
e Digest
:
-
1 draft-cavage con un approccio minimale e anteriore alle nuove specifiche di http RFC723x
-
2 signed-exchanges è nata all’interno del Web Incubator Community Group ed ha un approccio più moderno e radicale, con un’occhio ad HTTP2 e TLS1.3.
Vediamo alcuni punti distintivi.
draft-cavage:
- orientato a generici scambi su HTTP
- presenta imho alcune lacune di sicurezza
- supporta RSA
- è candidato per essere utilizzato in alcune API bancarie (stet.fr, berlin-group.org)
signed-exchanges:
- orientato alla response e alla distribuzione di contenuti firmati da terze parti
- sviluppato per lo più da Google, verrà implementato in Chrome
- supporta firme da autorità multiple
- mutua strategie di sicurezza da TLS1.3 ed altre specifiche
- utilizza il nuovo draft dell’HTTP working group Structured Headers che permette di specificare insieme dati binari e stringhe delimitando con
*
i dati codificati in base64
Example-DictHeader: en="Applepie", da=*w4ZibGV0w6ZydGUK=*
- utilizza il draft
Content-Encoding: mi-sha256
MICE - [depreca](RSA https://github.com/WICG/webpackage/pull/181) in favore di ECDSA
Stiamo discutendo nei workgroup di entrabe queste specifiche in modo che:
1- diventino una base per implementare scambi non ripudiabili;
2- si trovi una sintesi sull’header Signature
;
3- si migliori la sicurezza di draft-cavage eg.#35 e #36
Per contribuire alla discussione potete vedere i ticket delle due specifiche qui:
e/o contattarmi.