4.1. Record Expansion Limits (Limiti all'espansione dei record)
4.1. Record Expansion Limits (Limiti all'espansione dei record)
Il limite di dimensione espresso nell'estensione record_size_limit non tiene conto dell'espansione dovuta alla compressione o alla protezione del record. Si prevede che un dispositivo vincolato disabiliti la compressione per evitare aumenti imprevedibili della dimensione del record. I cifrari di flusso e i cifrari AEAD esistenti non consentono quantità variabili di espansione, ma i cifrari a blocchi sì.
In TLS 1.2, i cifrari a blocchi consentono da 1 a 256 ottetti di padding. Quando è annunciato un limite inferiore al limite definito dal protocollo, si applica un secondo limite alla lunghezza dei record che usano cifrari a blocchi. Un endpoint NON DEVE aggiungere padding ai record che farebbe superare al record protetto la dimensione di un record protetto che contiene la quantità massima di testo in chiaro e la quantità minima consentita di padding.
Ad esempio, TLS_RSA_WITH_AES_128_CBC_SHA ha blocchi di 16 ottetti e un MAC di 20 ottetti. Con un limite di dimensione del record di 256, un record di tale lunghezza richiederebbe almeno 11 ottetti di padding (per [RFC5246], dove il MAC è coperto dalla crittografia); oppure 15 ottetti se è negoziata l'estensione encrypt_then_mac [RFC7366]. Con questo limite, un record con 250 ottetti di testo in chiaro potrebbe essere riempito alla stessa lunghezza includendo al massimo 17 ottetti di padding, o 21 ottetti con encrypt_then_mac.
Un'implementazione che aggiunge sempre la quantità minima di padding rispetterà sempre questo requisito.