Passa al contenuto principale

4. Estensioni TLS per ECC

In questa specifica sono definite due estensioni TLS: (i) l'estensione Supported Elliptic Curves (Curve Ellittiche Supportate) e (ii) l'estensione Supported Point Formats (Formati Punto Supportati). Queste consentono di negoziare l'uso di specifiche curve e formati di punto (ad esempio, compresso vs. non compresso) durante un handshake che avvia una nuova sessione. Queste estensioni sono particolarmente rilevanti per client vincolati che potrebbero supportare solo un numero limitato di curve o formati di punto. Seguono l'approccio generale delineato in [RFC4366]; i dettagli dei messaggi sono specificati nella Sezione 5. Il client enumera le curve che supporta e i formati di punto che può analizzare includendo le estensioni appropriate nel suo messaggio ClientHello. Il server enumera allo stesso modo i formati di punto che può analizzare includendo un'estensione nel suo messaggio ServerHello.

Un client TLS che propone suite di cifratura ECC nel suo messaggio ClientHello DOVREBBE (SHOULD) includere queste estensioni. I server che implementano suite di cifratura ECC DEVONO (MUST) supportare queste estensioni e, quando un client utilizza queste estensioni, i server NON DEVONO (MUST NOT) negoziare l'uso di una suite di cifratura ECC a meno che non possano completare l'handshake rispettando la scelta delle curve specificata dal client. Ciò elimina la possibilità che un handshake ECC negoziato venga successivamente interrotto a causa dell'incapacità di un client di elaborare la chiave EC del server.

Il client NON DEVE (MUST NOT) includere queste estensioni nel messaggio ClientHello se non propone alcuna suite di cifratura ECC. Un client che propone suite di cifratura ECC può scegliere di non includere queste estensioni. In questo caso, il server è libero di scegliere una qualsiasi delle curve ellittiche o dei formati di punto elencati nella Sezione 5. Tale sezione descrive anche la struttura e l'elaborazione di queste estensioni in modo più dettagliato.

Nel caso di ripresa della sessione, il server ignora semplicemente l'estensione Supported Elliptic Curves e l'estensione Supported Point Formats che appaiono nel messaggio ClientHello corrente. Queste estensioni svolgono un ruolo solo durante gli handshake che negoziano una nuova sessione.