Zum Hauptinhalt springen

2. Overview (Überblick)

Endpunkte, die eine RTP-Mediensitzung aufbauen wollen, tauschen dazu Angebote und Antworten in SDP-Nachrichten über SIP aus. In einem typischen Anwendungsfall würden zwei Endpunkte vereinbaren, Audiodaten über RTP mit dem UDP-Protokoll zu übertragen.

Abbildung 1 zeigt einen typischen Nachrichtenaustausch im SIP-Trapez.

          +-----------+            +-----------+
|SIP | SIP/SDP |SIP |
+------>|Proxy |----------->|Proxy |-------+
| |Server X | (+Finger- |Server Y | |
| +-----------+ print, +-----------+ |
| +auth.id.) |
| SIP/SDP SIP/SDP |
| (+fingerprint) (+fingerprint,|
| +auth.id.) |
| |
| v

+-----------+ Datagram TLS +-----------+ |SIP | <-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-> |SIP | |User Agent | Media |User Agent | |Alice@X | <=================================> |Bob@Y | +-----------+ +-----------+

Legende: ------>: Signalisierungsverkehr <-+-+->: Schlüsselverwaltungsverkehr <=====>: Datenverkehr

          Abbildung 1: DTLS-Nutzung im SIP-Trapez

Alice möchte eine verschlüsselte Audiositzung mit Bob aufbauen. Sowohl Bob als auch Alice können authentifizierung mit öffentlichen Schlüsseln nutzen, um über DTLS einen vertraulich geschützten Kanal zu etablieren.

Da die gegenseitige Authentifizierung zwischen zwei beliebigen Endpunkten im Internet mittels kryptografie mit öffentlichen Schlüsseln problematisch sein kann, betrachten wir einfacher zu deployende Alternativen. Dieses Dokument verwendet einen Ansatz; weitere werden in Abschnitt 8 diskutiert.

Alice sendet ein SDP-Angebot an Bob über SIP. Wenn Alice nur selbstsignierte Zertifikate für die Kommunikation mit Bob verwendet, wird ein Fingerprint im SDP-Angebot/-Antwort-Austausch mitgeführt. Dieser Fingerprint bindet den DTLS-Schlüsselaustausch in der Medienebene an die Signalisierungsebene.

Der Fingerprint allein schützt vor aktiven Angriffen auf das Medium, nicht vor aktiven Angriffen auf die Signalisierung. Um aktive Angriffe auf die Signalisierung zu verhindern, kann „Enhancements for Authenticated Identity Management in the Session Initiation Protocol (SIP)“ [RFC4474] genutzt werden. Wenn Bob das Angebot erhält, etablieren die Peers eine gewisse Anzahl von DTLS-Verbindungen (abhängig von der Anzahl der Mediensitzungen) mit gegenseitiger DTLS-Authentifizierung (d. h. beide Seiten stellen Zertifikate bereit). Zu diesem Zeitpunkt kann Bob prüfen, dass Alices in TLS angebotene Anmeldedaten zum Fingerprint im SDP-Angebot passen, und Bob kann beginnen, Medien an Alice zu senden. Sobald Bob Alices Angebot annimmt und eine SDP-Antwort an Alice sendet, kann Alice beginnen, vertrauliche Medien an Bob über die jeweiligen Ströme zu senden. Alice und Bob prüfen, dass die Fingerprints der bei den DTLS-Handshakes erhaltenen Zertifikate mit den Fingerprints übereinstimmen, die sie in der SIP-Signalisierung im SDP erhalten haben. Dies liefert die Sicherheitseigenschaft, dass Alice weiß, dass der Medienverkehr zu Bob geht und umgekehrt, ohne dass globale PKI-Zertifikate für Alice und Bob zwingend erforderlich sind. (Ausführliche Sicherheitsanalyse siehe Abschnitt 8.)