Aller au contenu principal

4.1. Record Expansion Limits

4.1. Record Expansion Limits

La limite de taille exprimée dans l'extension record_size_limit ne tient pas compte de l'expansion due à la compression ou à la protection d'enregistrement. On s'attend à ce qu'un dispositif contraint désactive la compression pour éviter des augmentations imprévisibles de la taille des enregistrements. Les chiffrements de flux et les chiffrements AEAD existants ne permettent pas des expansions variables, mais les chiffrements par blocs le permettent.

En TLS 1.2, les chiffrements par blocs autorisent de 1 à 256 octets de remplissage. Lorsqu'une limite inférieure à la limite définie par le protocole est annoncée, une seconde limite s'applique à la longueur des enregistrements utilisant des chiffrements par blocs. Une extrémité NE DOIT PAS ajouter de remplissage aux enregistrements de manière à ce que l'enregistrement protégé dépasse la taille d'un enregistrement protégé contenant la quantité maximale de texte clair et la quantité minimale de remplissage permise.

Par exemple, TLS_RSA_WITH_AES_128_CBC_SHA a des blocs de 16 octets et un MAC de 20 octets. Pour une limite de taille d'enregistrement de 256, un enregistrement de cette longueur exigerait au minimum 11 octets de remplissage (pour [RFC5246], où le MAC est couvert par le chiffrement), ou 15 octets si l'extension encrypt_then_mac [RFC7366] est négociée. Avec cette limite, un enregistrement avec 250 octets de texte clair pourrait être complété à la même longueur en incluant au plus 17 octets de remplissage, ou 21 octets avec encrypt_then_mac.

Une mise en œuvre qui ajoute toujours la quantité minimale de remplissage respectera toujours cette exigence.