MM & TWA Seminar SS 2003 vorgetragen von Peter Strzala Übersicht Ubiquitäre Kommunikation? Infrastrukturtechnologien Jini Service Location Protocol BlueTooth Gegenwart & Zukunft Ubiquitäre Kommunikation? ubiquitär = überall verbreitet (Duden) Scenario Ubiquitäre Kommunikation? Spontane Vernetzung Automatische Integration von Geräten und deren Diensten in Dienstföderationen ohne manuelle Interaktion Kommunikation auf verschiedenen Ebenen Netzwerkebene (z.B. DHCP) Infrastrukturebene (Vermittlung von Diensten) Dienstebene (Kommunikation zw. Dienstanbieter und Dienstnutzer) Infrastrukturtechnologien Jini (Sun Microsystems) Java Intelligent Network Interface Dienstvermittlung in lokalen Netzen realisiert als API in Java Komponenten Dienst Java-Objekt Dienstleistung durch Methodenaufruf Dienstbeschreibung besteht aus einer Mengen von Java-Interfaces Lookup-Service zentrale Registrierungs- und Vermittlungsinstanz Klient Infrastrukturtechnologien Jini (Sun Microsystems) Discovery Lookup-Service Unicast-, Multicast Discovery Dienst (Server) Infrastrukturtechnologien Jini (Sun Microsystems) Join Lookup-Service-Proxy Lookup-Service serialisiertes Java Objekt Methoden: register(), lookup(), notify() Service-Item Objekt enthält Dienst-Proxy (Dienstbeschreibung) Übermittlung mit register() Methode Registrierung ist zeitlich begrenzt Dienst (Server) Infrastrukturtechnologien Jini (Sun Microsystems) Dienstvermittlung Lookup-Service Lookup-Service-Proxy serialisiertes Java Objekt Service-Template Objekt Methoden: register(), lookup(), notify() Übermittlung mit lookup() Methode Liefert Service-Item Objekte Dienst (Server) Klient Nutzung über Dienst-Proxy Infrastrukturtechnologien Jini (Sun Microsystems) Dienstbeschreibungen mittels Java-Interface zur Beschreibung weiterer Attribute: Entrys (ser. Java Objekte) Attribute sind ausschließlich Objektreferenzen Wildcard ist Null-Pointer class Foo implements net.jini.core.entry.Entry { string name; } Suchmöglichkeiten beschränkt auf „exaktes Matching“ keine Prädikate möglich Infrastrukturtechnologien Jini (Sun Microsystems) Gruppenkonzept Lookup-Services werden Gruppen zugeordnet Dienste besitzen keine Gruppenzugehörigkeit Sicherheitsaspekte basiert auf „RMI Security Extension Framework“ jedoch Java-Bytecode ungeschützt Verteilte Ereignisse Anmeldung einer Ereignisbenachrichtigung mittels notify() Eventregistrierung zeitlich beschränkt Infrastrukturtechnologien SLP Service Location Protocol (Internet Engineering Task Force) Service-Discovery in IPNetzen Directory-Agent Komponenten User-Agent Service-Agent Discovery Anmeldung Bietet Dienst selbst an oder vermittelt den eigentlichen Service User-Agent Service ist der eigentliche Diensterbringer Directory-Agent offeriert zentrales Repository für Service-Informationen Service-Agent Service Discovery Nutzung Infrastrukturtechnologien SLP Service Location Protocol (Internet Engineering Task Force) Servicebeschreibung Typname (String) URL zur Lokalisierung Schlüssel-Wert-Paare zur Beschreibung von Attributen Service-Registration Lifetime: 10800 URL: service:lpr ://my.com:515/draft Attributes: (SCOPE = DEVELOPMENT), (PAPER COLOR = WHITE), … Service-Request lpr //(& (PAPER COLOR = WHITE) …) Infrastrukturtechnologien SLP Service Location Protocol (Internet Engineering Task Force) Scopes Realisiert Namensräume Directory-Agent wird einer Menge von Scopes zugeordnet Authentication Block wird an Service-(De)Registrierungen angehängt Servicebeschreibungen werden mittels Zeitstempel, MD5 und RSA verschlüsselt User- und Directory-Agenten verifizieren Gültigkeit Internationalisierung Services können sich mehrfach in verschiedenen Sprachen registrieren Bluetooth SIG (3Com, Agere, Ericsson, IBM, Intel, Microsoft, Motorola, Nokia and Toshiba, … ) spezifiziert Komponenten und Protokolle Funktechnologie für kurze Distanzen (bis 10 m) mit geringem Batterieverbrauch ursprünglich Ad-hoc-Netz im PC Peripheriebereich Frequenzband 2,45 GHz Übertragungsrate max. 1 MBit/sec unterstützt Sprach und Datenverkehr Architektur Piconet (max. 8 Geräte) Master Scatternet Hopping-Sequenz CAC - Channel Access Code S M M unicast S S broadcast Slave (max. 7) Implementieren SDP-Server Anordnung der Dienste in Hierarchien S Architektur Servicebeschreibung Service-Records Identifikation (32 Bit) Menge von Service-Attributen: Attribut ID (16 Bit), Attribut Wert ist Instanz einer Menge von Service-Classes Vererbungshierarchie möglich effizienter Suchalgorithmus Kein Protokoll zum bestimmen von Dienstanbietern Keine Zentrale Komponente Sicherheit spezifiziert im GAP (Generic Access Profile) drei Sicherheitsmodi Security Mode 1 Keine Sicherheitsfunktionen Reagiert aber auf Authentifizierungsversuche Security Mode 2 Sicherheitsfunktionen auf der Dienstschicht Authentifizierung und Verschlüsselung in Anwendungen nach Verbindungsaufbau hoher Programmieraufwand Security Mode 3 Gesicherte Verbindung beim Aufbau Authentifizierung und Verschlüsselung im Link-Level enthalten meist in Firmware geringer Programmieraufwand Sicherheit Authentifizierung Austausch des Verbindungsschlüssels in Initialisierungsphase (Pairing) Challenge-Response-Verfahren (Verbindungsschlüssel, E1 – Algorithmus) Verschlüsselung Abgleich der verwendeten Schlüssellänge (der kürzeste aller Geräte wird verwendet Stromchiffrierung mittels E0-Algorithmus Gegenwart & Zukunft Gegenwart & Zukunft Jini zentrale Lösung (Lookup-Service) für kleine Geräte ungeeignet (Java-Virtual-Machine) unsicheres Konzept (manipulierter Quellcode) SLP hybride Lösung gut skalierbar (große Dienstföderationen) wenig verbreitet Bluetooth dezentrale Lösung viele Geräte angekündigt kein ausreichendes Sicherheitskonzept Dienstnehmer müssen erst Dienst implementieren Sicherheit kostet Spontanität