Séparation de domaine
Marquer chaque usage d'une primitive cryptographique d'une étiquette unique, afin que la sortie d'un contexte ne puisse jamais passer pour celle d'un autre.
Un protocole s'appuie souvent sur la même fonction de hachage ou le même KDF pour des tâches multiples : clés de chiffrement, clés MAC, signatures, hachages de transcription. Sans étiquettes, une valeur calculée pour un usage peut se révéler valide pour un autre, et les attaquants excellent à repérer ces coïncidences. Le remède consiste à injecter une chaîne fixe nommant l'usage avant de hacher ou de dériver quoi que ce soit.
HKDF a pour cela son paramètre info, TLS 1.3 préfixe chaque étiquette de "tls13 ", le cSHAKE de SHA-3 accepte une chaîne de personnalisation, et le derive_key de BLAKE3 exige une chaîne de contexte que sa documentation demande de rendre unique à l'échelle mondiale. Cela coûte quelques octets et écarte une classe de bogues presque impossibles à repérer après coup.