Zum Hauptinhalt springen

4.1. Record Expansion Limits (Grenzen der Datensatzexpansion)

4.1. Record Expansion Limits (Grenzen der Datensatzexpansion)

Die in der Erweiterung record_size_limit ausgedrückte Größenbegrenzung berücksichtigt keine Expansion durch Kompression oder Datensatzschutz. Von einem eingeschränkten Gerät wird erwartet, dass es die Kompression deaktiviert, um unvorhersehbare Zunahmen der Datensatzgröße zu vermeiden. Stromchiffren und bestehende AEAD-Chiffren erlauben keine variable Expansion, Blockchiffren jedoch schon.

In TLS 1.2 erlauben Blockchiffren 1 bis 256 Oktetten Padding. Wenn ein unter dem protokolldefinierten Limit liegendes Limit bekannt gegeben wird, gilt eine zweite Begrenzung für die Länge von Datensätzen, die Blockchiffren verwenden. Ein Endpunkt DARF kein Padding zu Datensätzen hinzufügen, das dazu führen würde, dass der geschützte Datensatz die Größe eines geschützten Datensatzes mit maximaler Klartextmenge und minimal zulässigem Padding überschreitet.

Beispielsweise hat TLS_RSA_WITH_AES_128_CBC_SHA 16-Oktett-Blöcke und einen 20-Oktett-MAC. Bei einer Datensatzgrößenbegrenzung von 256 würde ein Datensatz dieser Länge mindestens 11 Oktetten Padding erfordern (für [RFC5246], wo der MAC von der Verschlüsselung abgedeckt wird), oder 15 Oktetten, wenn die Erweiterung encrypt_then_mac [RFC7366] ausgehandelt wurde. Mit dieser Begrenzung könnte ein Datensatz mit 250 Oktetten Klartext auf dieselbe Länge aufgefüllt werden, indem höchstens 17 Oktetten Padding enthalten sind, oder 21 Oktetten mit encrypt_then_mac.

Eine Implementierung, die stets die minimale Padding-Menge hinzufügt, erfüllt diese Anforderung immer.