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