Zum Hauptinhalt springen

3. Binding to Application Contexts (Bindung an Anwendungskontexte)

3. Binding to Application Contexts (Bindung an Anwendungskontexte)

Zusätzlich zur Verwendung eines Exporteurs zum Erhalt von Schlüsselmaterial muss eine Anwendung, die das Schlüsselmaterial verwendet, den Kontext der höheren Ebene sicher etablieren, in dem das Schlüsselmaterial verwendet wird. Die Details dieses Kontexts hängen von der Anwendung ab, könnten aber Dinge wie Algorithmen und Parameter umfassen, die mit den Schlüsseln verwendet werden, Identifikator(en) für den/die Endpunkt(e), der/die die Schlüssel verwenden wird/werden, Identifikator(en) für die Sitzung(en), in denen die Schlüssel verwendet werden, und die Lebensdauer(n) für den Kontext und/oder die Schlüssel. Mindestens sollte es einen Mechanismus geben, um zu signalisieren, dass ein Exporteur verwendet wird.

Diese Spezifikation schreibt keinen einzelnen Mechanismus vor, um sich über einen solchen Kontext zu einigen; stattdessen gibt es mehrere Möglichkeiten, die verwendet werden können (und sich gegenseitig ergänzen können). Zum Beispiel:

  • Informationen über den Kontext der höheren Ebene können in den optionalen Daten nach dem Exporteur-Label enthalten sein (siehe Abschnitt 4).

  • Informationen über den Kontext der höheren Ebene können in TLS-Erweiterungen ausgetauscht werden, die in den ClientHello- und ServerHello-Nachrichten enthalten sind. Dieser Ansatz wird in [DTLS-SRTP] verwendet. Die Handshake-Nachrichten werden durch die Finished-Nachrichten geschützt, sodass die Peers nach Abschluss des Handshakes die gleiche Sicht auf die Informationen haben. Erweiterungen ermöglichen auch eine begrenzte Form der Aushandlung: Zum Beispiel könnte der TLS-Client mehrere Alternativen für einige Kontextparameter vorschlagen, und der TLS-Server könnte eine davon auswählen.

  • Das Protokoll der höheren Ebene kann einen eigenen Handshake enthalten, der mit den von TLS exportierten Schlüsseln geschützt werden kann.

Unabhängig davon, wie der Kontext vereinbart wird, ist es erforderlich, dass er einen Teil hat, der angibt, welche Anwendung die exportierten Schlüssel verwenden wird. Dieser Teil ist die eindeutige Label-Zeichenfolge (siehe Abschnitt 4).

Es ist wichtig zu beachten, dass das bloße Einbetten von TLS-Nachrichten in das Protokoll der höheren Ebene möglicherweise nicht automatisch alle wichtigen Kontextinformationen sichert, da die Nachrichten der höheren Ebene nicht von TLS-Finished-Nachrichten abgedeckt werden.