F Session Initiation Protocol



Ähnliche Dokumente
, Franz J. Hauck, Verteilte Systeme, Univ. Ulm, [2006w-MMK-F-SIP.fm, ]

Instant Messaging. von Christina Nell

SIP - Session Initiation Protocol

C.45 C.46 C Registrierung der Teilnehmer. 3.7 Registrierung der Teilnehmer (2) 3.7 Registrierung der Teilnehmer (3)

SIP: Session Initiation Protocol (Signalisierungsprotokoll für Sessions) Request. Response

Proseminar IP-Telefonie. Timo Uhlmann. Einleitung

SIP und DUNDi TM. Session Initiation Protocol und Distributed Universal Number Discovery. Florian Forster

Instant Messaging mit XMPP

Multimedia Kommunikation

Seminar Mobile Systems. The Session Initiation Protocol in Mobile Environment

DIAMETER Base Protocol (RFC3588)

z.b. von einer administrativen Domäne verwaltet initiale SIP REGISTER-Transaktion zum Registrar der Domäne REGISTER 401 Unauthorized REGISTER 200 OK

Digitale Sprache und Video im Internet

Mehr als Voice over IP Integrierte Sprach- und SIP. =====!" ==Systems= Wolfgang Mandok T-Systems Nova, Technologiezentrum

SIP-PBX Anlagenanschluss. Funktionsbeschreibung. 2016, ENTEGA Medianet GmbH 1. KD SIP PBX Anlageanschluss

Vorwort zur fünften Auflage

Vorlesung Multimediakommunikation. 9. SIP-Erweiterungen. Dr.-Ing. Daniel Schuster Fakultät Informatik, Professur Rechnernetze

VoIP : SIP. Das Session Initiation Protocol. 20. Dezember VoIP : SIP. Johannes Jakob. Überblick. VoIP SIP SDP. Praxis.

SIRTCP/IP und Telekommunikations netze

SIP-ST Anlagenanschluss. Funktionsbeschreibung. 2016, ENTEGA Medianet GmbH 1. KD SIP ST Anlageanschluss

Jabber. Florian Holzhauer. Proseminar Uni Ulm, 27. April <page="1" max="22"/>

XMPP: Extensible Messaging and Presence Protocol

SIRTCP/IP und Telekommunikations netze

VoIP SIP/SDP. Network Implementation and Integration 7.Semester Hettlinger Leopold

Chatten mit der Glühbirne

Instant Messaging mit Jabber

Vorlesung Multimediakommunikation. 8. Session Initiation Protocol (SIP) Dr.-Ing. Daniel Schuster Fakultät Informatik, Professur Rechnernetze

INVITE (+Offer) 183 Session Progress (+Answer) 180 Ringing 200 OK (INVITE) ACK RTP-Session. INVITE (+Offer neu) 200 OK (+Answer neu) ACK

. Nachrichtenübertragung. Internetkommunikation Christof Fox. Wie werden Nachrichten Übertragen?

, Franz J. Hauck, Verteilte Systeme, Univ. Ulm, [2006w-MMK-D-VoD.fm, ]

Erweiterung der Autokonfigurationsmethode für Rich Communications Suite enhanced (RCS-e) durch die COCUS AG

hiermit möchte ich Sie um eine Stellungnahme zu folgendem Fall von vermutlichem wissenschaftlichem Fehlverhalten bitten.

Begriffe. Proxy: Ein SIP Knoten, der sowohl als Client als auch als Server arbeitet. Hauptaufgabe ist das Routing von SIP Nachrichten.

SIMP 1.01 Protokollspezifikation (Mindestanforderung)

Anpassung und Erweiterung des NIST SIP-Servers

RADIUS (Remote Authentication Dial In User Service)

100 Trying Ein Anruf wird zu vermitteln versucht. Anruf wird weitergeleitet

Die NGN-Plattform der wilhelm.tel lauscht auf Port 5060 und unterstützt die folgenden SIP Methoden entsprechend RFC 3261:

2. WWW-Protokolle und -Formate

Mögliche Vorgehensweise bei S/MIME-Signatur

Mailserver Teil 1 Linux-Kurs der Unix-AG

Hochschule Prof. Dr. Martin Leischner Bonn-Rhein-Sieg Netzwerksysteme und TK Modul 7: SNMPv3 Netzmanagement Folie 1

Chatsysteme (IRC, Instant Messenger) Konzepte Interaktiver Medien

KX-TDA/TDE/NCP. SIP Trunk

Internet-Telefonie - Technik und Möglichkeiten -

Whitepaper. ginlo & Sicherheit

12. Kieler OpenSource und Linux Tage. Wie funktioniert eigentlich Mail? , Frank Agerholm, Linux User Group Flensburg e.v.

Mobile Anwendungen Google Cloud Messaging

SMart esolutions Informationen zur Datensicherheit

Benutzerhandbuch be.ip. Konfigurationshilfe. Copyright Version 03/2018 bintec elmeg GmbH

Microsoft Outlook 2013: Externe - Verschlüsselung

SMTP. Simple Mail Transfer Protocol SMTP

Mit CAR4KMU zum estandard auto-gration in der Automobilindustrie

Audio/Video - Chat - System User Manual

Dienste und Applikationen

FUNKTIONSBESCHREIBUNG

CN.as COM - SIP Spezifikationen Notruf

Grundlagen der. Videokommunikation

DaLUG, Voice over IP

Hardo Naumann LISA Schnittstelle Zusammenarbeit von EBÜS mit dem Leitstellensystem LISA von Dr. Pfau Fernwirktechnik GmbH

VOIP Basics

CN.as COM - SIP Spezifikationen Notruf

SMS-API. Sloono Schnittstellenbeschreibung. Version 1.2 Stand

VoIP. Gliederung. 1. Einführung. 3.2Anforderungen 3.3Stand Dinge. 3.3Wie geht es Dinge weiter?

Installationsführer für den SIP Video Client X-Lite

SNMP Der vergessene Klassiker

Wiederholung: Beginn

Diplomarbeit. Titel. Anpassung und Erweiterung des NIST SIP-Servers an IMS 3.0. Betreuung: Prof. Dr. Georg Schneider

NCP Exclusive Remote Access Client (ios) Release Notes

Konfigurationshilfe be.ip an einem Teledata Anlagenanschluss. Workshops. Copyright Version 02/2018 bintec elmeg GmbH

Konfiguratuionshilfe be.ip an einem 1&1 Versatel Anlagenanschluss. Workshops. Copyright Version 06/2018 bintec elmeg GmbH

Man liest sich: POP3/IMAP

Proseminar IP-Telefonie - Timo Uhlmann

Das Sender ID Framework. Markus Lepper, Frank Waibel. Veranstaltung Internetkommunikation I, WS04/05. Prof. Dr. Martin Leischner

15. Das Hypertext Transfer Protokoll HTTP - Überblick. 1. Requests und Responses. 2. Content Negotiation. 3. State Management (Cookies)

Next Generation Networks und VoIP- konkret von Prof. Dr. Ulrich Trick, Frank Weber. 3., iiberarbeitete und erweiterte Auflage

Dr. Ralf Schlatterbeck

Zentrale Serverdienste Einrichtung des zentralen Messenger-Dienstes der h_da

Vorwort zur fünften Auflage

Rapid Response UI mit WebSockets

2.4 Hash-Prüfsummen Hash-Funktion message digest Fingerprint kollisionsfrei Einweg-Funktion

Transkript:

F Session Initiation Protocol F.1 1 Instant Messaging Definition Instant Message: Textmitteilung Instant Messaging: Dienst zur sofortigen Übermittlung von Instant Messages Chat Instant Messenger: Software zum Instant Messaging Diverse proprietäre Protokolle, u.a. IRC Internet Relay Chat XMPP Extensible Messaging and Presence Protocol (Jabber) SILC Secure Internet Live Conferencing OSCAR Open System for Communication in Realtime (AOL IM, ICQ) SIMPLE SIP for Instant Messaging and Presence Leveraging Extensions F.2

1 Instant Messaging (2) Warum Instant Messaging mit SIP? Konvergenz der Kommunikationsmöglichkeiten SIP als generisches Kontrollprotokoll Zusatz in vorhandenen SIP-fähigen Geräten z.b. VoIP-Telefon Vereinfachung der Protokollimplementierungen The IETF Way of Instant Messaging F.3 1 Instant Messaging (3) SIP for Instant Messaging and Presence Leveraging Extensions (SIMPLE) Working Group der IETF Arbeiten basieren auf CPIM und CPP CPIM = Common Profile for Instant Messaging (RFC 3860) CPP = Common Profile for Presence (RFC 3859) RFC 3428 definiert SIP MESSAGE-Transaktion Versenden von Nachrichten über SIP RFC 3265 und RFC 3856 definieren Ereignisse und Präsenzfunktionen über SIP Präsenzfunktion benachrichtigt Benutzer über deren Verfügbarkeit weitere RFCs zu Presence-Formaten, Presence-Filtering u.a. weitere IETF-Drafts, z.b. zu Advanced IM Benachrichtigung für serverseitig gespeicherte Nachrichten Is-Composing ( Benutzer X schreibt gerade an mich ) F.4

1.1 IM-URIs URI-Schema für Zieladressen von Instant Messaging z.b. im:bob@b.com ähnlicher Aufbau wie E-mail-Adressen bzw. SIP-URIs definiert in RFC 3860 URI-Schema für Presentities Presentity = Instanz, über die Präsenzinformation gewonnen werden kann z.b. pres:bob@b.com ähnlicher Aufbau wie IM-URIs definiert in RFC 3859 Umsetzung der IM-URIs DNS basierte Suche nach Kontaktpunkt für Tupel (IM-Uri, IM-Protokoll) im Fall von SIP: Ermittlung eines Proxy Umwandlung in eine SIP-URI F.5 1.2 SIP Instant Messaging SIP MESSAGE Transaktion definiert in RFC 3428 proxy@b.com bob@b.com Body der Request-Nachricht enthält eigentliche Message für IM F.6

1.2 SIP Instant Messaging (2) Einbindung in eine SIP Sitzung (Dialog) Transaktion gehört zu einem Dialog im Rahmen einer INVITE/BYE-Klammer momentan nicht definiert Transaktion ist eigenständig eigener Dialog mit eigener Call-ID definiert in RFC 3428 F.7 1.2 SIP Instant Messaging (3) Proxy als Zwischenspeicher einsetzbar proxy@b.com bob@b.com 202 Accepted Proxy speichert Nachricht 202 Status Proxy liefert Nachricht aus, sobald Benutzer registriert ist F.8

1.2 SIP Instant Messaging (4) SIP Nachricht (Request) MESSAGE sip:bob@b.com SIP/2.0 Via: SIP/2.0/TCP alice.a.com;branch=z9hg4bk776sgdkse Max-Forwards: 70 From: sip:;tag=49583 To: sip:bob@b.com Call-ID: asd88asd77a@1.2.3.4 CSeq: 1 MESSAGE Content-Type: text/plain Content-Length: 18 Watson, come here. Kopfzeilen Content-Type: Format der angehängten Nachricht (beliebiger MIME-Type) Content-Length: Länge der Nachricht Body Nachricht F.9 1.3 SIP-Präsenzfunktion SIP Präsenzfunktion definiert in RFC 3856 Anzeige des Präsenzstatus anderer Teilnehmer Verbreitete Verwendung in heutigen IM-Clients z.b. ICQ, AIM,... Gebräuchliche Beispiele free for chat, busy, away, do not disturb Andere Standards für Presence Open Mobile Alliance (OMA): Instant Message and Presence Service (IMPS) Jabber: Extensible Messaging and Presence Protocol (XMPP) F.10

1.3 SIP-Präsenzfunktion (2) Basis: SIP-Erweiterung für Ereignisse (Events) definiert in RFC 3265 und 3903 SIP Nachrichten: PUBLISH, SUBSCRIBE, NOTIFY Presence-Server PUBLISH NOTIFY SUBSCRIBE bob@b.com Fähigkeiten des Präsenzdienstes mit OPTIONS abfragbar ermittelt unterstützte Transaktionstypen ermittelt unterstützte Event-Packages (Header: Allow-events) F.11 1.3 SIP-Präsenzfunktion (3) Nachrichtenaufbau Event-Header: identifiziert ein Event-Package z.b. Event: presence Event-Package definiert Ereignisse und deren Behandlung PUBLISH-Transaktion veröffentlicht ein Ereignis Ereignisdaten im Body z.b. aktueller Status bzw. Statusänderung einer Presentity F.12

1.3 SIP-Präsenzfunktion (4) Nachrichtenaufbau (fortges.) SUBSCRIBE-Transaktion abonniert Ereignisse bestimmten Typs identifiziert durch URI, Eventtyp und evtl. Body z.b. bei Präsenz: URI der Presentity oder SIP-URI, Eventtyp presence Abonnement ist zeitbeschränkt Laufzeit ist Minimum von Sender- und Empfängervorschlägen Expire-Header mit Laufzeit in Sekunden, z.b. Expire: 3600 erzeugt einen SIP-Dialog, d.h. alle NOTIFY-Transaktionen und Abonnementverlängerungen durch weitere SUBSCRIBE-Transaktionen tragen gleiche Call-ID z.b. Abonnement von Präsenzinformationen über eine Presentity Aufheben des Dialogs und des Abonnements durch SUBSCRIBE mit Laufzeit 0s F.13 1.3 SIP-Präsenzfunktion (5) Nachrichtenaufbau (fortges.) NOTIFY-Transaktion informiert Abonnenten über abonnierte Ereignisse Daten evtl. im Body z.b. Präsenzstatus einer Presentity eine NOTIFY-Transaktion wird unmittelbar nach Empfang von SUBSCRIBE gesendet unterstützt Polling-Betrieb (z.b. mit Laufzeit von 0s bei SUBSCRIBE) F.14

1.3 SIP-Präsenzfunktion (6) Format der Präsenzinformation mindestens Unterstützung des PIDF-Formats application/pidf+xml zusätzlich beliebige andere Formate unterstützbar Presence Information Data Format (PIDF) definiert in RFC 3863 spezifiziert Datenformat und Medientyp application/pidf+xml Beispiel <?xml version="1.0" encoding="utf-8"?> <presence xmlns="urn:ietf:params:xml:ns:pidf" entity="pres:"> <tuple id="sg89ae"> <status> <basic>open</basic> </status> <contact priority="1.0">mailto:</contact> </tuple> </presence> F.15 1.3 SIP-Präsenzfunktion (7) Aufbau des PIDF-Formats presence-tag: Wurzelelement eines PIDF-Dokuments entity-attribut: benennt Presentity tuple-tag: enthält eine Statusinformation für eine Presentity mehrere tuple-tags möglich eindeutige Zuordnung über die Zeit hinweig über eindeutige ID status-tag: enthält eigentlichen Präsenzstatus zur Zeit definiert: basic-tag eigene Erweiterungen möglich in anderen Namensräumen contact-tag: enthält eine Kontaktadresse (optional) note-tag: enthält Hinweise (optional) weitere Angaben über Erweiterungen möglich typisch über andere XML-Namensräume F.16

2 SIP-Sicherheit Allgemeine Anforderungen Authentizität: Überprüfbarkeit der Echtheit einer Person oder eines Dienstes Integrität: Unveränderlichkeit der Daten Vertraulichkeit: Zugriff auf Daten nur durch autorisierte Personen Privatsphäre: Gewährleistung von Anonymität Weitere hier nicht betrachtete Anforderungen Einhaltung von Datenschutz Verbindlichkeit: Änderungen müssen erkennbar und nicht abstreitbar sein Verfügbarkeit F.17 2.1 Bedrohungen Registration Hijacking User-Agent täuscht falsche Identität vor z.b. falsche Registrierung proxy@b.com jack@b.com REGISTER bob@b.com Mögliche Verteidigung Authentisierung beim Registrieren im Registrar F.18

2.1 Bedrohungen (2) Impersonating a Server Server täuscht falsche Identität vor führt zu falscher bzw. keiner Weiterleitung bzw. Behandlung z.b. falscher Redirect proxy@b.com bob@b.com 301 Moved Permanently to jack@b.com Mögliche Verteidigung Authentisierung des Servers bzw. Proxy F.19 2.1 Bedrohungen (3) Spoofing Vortäuschen eines falschen Absenders z.b. Jack gibt vor Bob zu sein falscher From-Header jack@b.com proxy@a.com MESSAGE from bob@b.com MESSAGE Mögliche Verteidigung Authentisierung des Absenders F.20

2.1 Bedrohungen (4) Abhörbarkeit, Veränderbarkeit der Nachrichten Man-in-the-Middle (Proxy) kann Nachrichten lesen und verändern z.b. Proxy von b.com verändert Nachrichten proxy@b.com bob@b.com Mögliche Verteidigung Sicherstellung der Integrität der Nachrichten Sicherstellung der Vertraulichkeit F.21 2.1 Bedrohungen (5) (Distributed) Denial of Service Bombardieren eines User Agents, Proxies etc. mit Nachrichten durch Überlastung keine zeitnahe Reaktion auf Requests mehr möglich Mögliche Verteidigung Authentisierung der Sender Provider kann evtl. Quelladressen sperren F.22

2.2 Authentisierung Überprüfbarkeit der Echtheit einer Person oder eines Dienstes User Agent, Registrar, Proxy,... Authentisierungsmechanismen HTTP-Digest-Authentisierung S/MIME-Signatur HTTP-Digest-Authentisierung einfaches Challenge-Response-Verfahren Einsatz einer sicheren Hashfunktion, per Default MD5 Server schickt Client einen zufälligen Wert (Nonce, fungiert als Challenge) Client schickt Hash (fungiert als Response) aus dem Tupel (Benutzername, Passwort, Nonce) kann auf Serverseite verifiziert werden F.23 2.3 Authentisierung (2) HTTP-Digest-Authentifizierung (fortges.) Beispiel: Authentisierung eines User-Agent beim Registrar REGISTER reg@a.com Erzeuge Hash 401 Unauthorized (+Nonce) REGISTER (+MD5 Hash) Überprüfe Hash Nonce sorgt vor gegen Abhören der Verbindung dennoch: Verschlüsselung der Verbindung ist zu bevorzugen F.24