1. Introduzione
Questo documento descrive le aggiunte a TLS per supportare ECC che sono applicabili alle versioni TLS 1.0 [RFC2246], 1.1 [RFC4346] e 1.2 [RFC5246]. L'uso di ECC in TLS 1.3 è definito in [TLS1.3] ed è esplicitamente fuori dallo scopo di questo documento. In particolare, questo documento definisce:
-
l'uso di schemi di accordo chiave ECDHE con chiavi effimere per stabilire il segreto pre-master TLS, e
-
l'uso di firme ECDSA e EdDSA per l'autenticazione dei peer TLS.
Il resto di questo documento è organizzato come segue. La Sezione 2 fornisce una panoramica degli algoritmi di scambio chiavi basati su ECC per TLS. La Sezione 3 descrive l'uso dei certificati ECC per l'autenticazione del client. Le estensioni TLS che consentono a un client di negoziare l'uso di specifiche curve e formati di punto sono presentate nella Sezione 4. La Sezione 5 specifica varie strutture dati necessarie per un handshake basato su ECC, la loro codifica nei messaggi TLS e l'elaborazione di tali messaggi. La Sezione 6 definisce le suite di cifratura basate su ECC e ne identifica un piccolo sottoinsieme come raccomandato per tutte le implementazioni di questa specifica. La Sezione 8 discute le considerazioni sulla sicurezza. La Sezione 9 descrive le considerazioni IANA per i namespace creati dal predecessore di questo documento. L'Appendice B fornisce le differenze rispetto all'RFC 4492, il documento che questo sostituisce.
L'implementazione di questa specifica richiede familiarità con TLS, le estensioni TLS [RFC4366] ed ECC.
1.1. Convenzioni utilizzate in questo documento
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 nel BCP 14 [RFC2119] [RFC8174] quando, e solo quando, appaiono in maiuscolo, come mostrato qui.