Aller au contenu principal

3. Binding to Application Contexts (Liaison aux contextes d'application)

3. Binding to Application Contexts (Liaison aux contextes d'application)

En plus d'utiliser un exportateur pour obtenir du matériel de clé, une application utilisant le matériel de clé doit établir de manière sécurisée le contexte de couche supérieure où le matériel de clé sera utilisé. Les détails de ce contexte dépendent de l'application, mais il pourrait inclure des éléments tels que les algorithmes et paramètres qui seront utilisés avec les clés, le(s) identifiant(s) du(des) point(s) de terminaison qui utiliseront les clés, le(s) identifiant(s) de(s) session(s) où les clés seront utilisées, et la(les) durée(s) de vie du contexte et/ou des clés. Au minimum, il devrait y avoir un mécanisme pour signaler qu'un exportateur sera utilisé.

Cette spécification n'impose pas un mécanisme unique pour convenir d'un tel contexte; au lieu de cela, il existe plusieurs possibilités qui peuvent être utilisées (et peuvent se compléter). Par exemple:

  • Les informations sur le contexte de couche supérieure peuvent être incluses dans les données optionnelles après l'étiquette d'exportateur (voir Section 4).

  • Les informations sur le contexte de couche supérieure peuvent être échangées dans des extensions TLS incluses dans les messages ClientHello et ServerHello. Cette approche est utilisée dans [DTLS-SRTP]. Les messages de poignée de main sont protégés par les messages Finished, donc une fois la poignée de main terminée, les pairs auront la même vue des informations. Les extensions permettent également une forme limitée de négociation: par exemple, le client TLS pourrait proposer plusieurs alternatives pour certains paramètres de contexte, et le serveur TLS pourrait en sélectionner une.

  • Le protocole de couche supérieure peut inclure sa propre poignée de main, qui peut être protégée en utilisant les clés exportées par TLS.

Quelle que soit la manière dont le contexte est convenu, il est requis qu'il ait une partie qui indique quelle application utilisera les clés exportées. Cette partie est la chaîne d'étiquette de désambiguïsation (voir Section 4).

Il est important de noter que le simple fait d'intégrer des messages TLS dans le protocole de couche supérieure peut ne pas sécuriser automatiquement toutes les informations de contexte importantes, car les messages de couche supérieure ne sont pas couverts par les messages TLS Finished.