Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Klemens Kempen Geändert vor über 11 Jahren
1
Sichere E-Commerce-Anwendungen1 Sichere Kommunikation für sichere agentenbasierte E- Commerce-Anwendungen René Köppel rkoeppel@gmx.de
2
Sichere E-Commerce-Anwendungen2 1.Einleitung 2.Sichere agentenbasierte E-Commerce- Anwendungen 3.Sichere Kommunikation durch SSL/TLS 4.Java und Systemsicherheit 5.Sicherung eines einfachen Agenten-Gerüsts 6.Weitere Bemerkungen und Ausführungen 7.Bzgl. Arbeiten und alternative Ansätze 8.Zusammenfassung
3
Sichere E-Commerce-Anwendungen3 1. Einleitung Bisher: manuelle E-Transaktionen Jetzt (mit Agent) : E-Transaktionen automatisieren Vertrauliche Informationen werden ausgetauscht – dafür muss Sicherheit gewährleistet werden
4
Sichere E-Commerce-Anwendungen4 2. Sichere agentenbasierte E-Commerce- Anwendungen 3 Aspekte der Sicherheit: Kommunikationssicherheit (Partnerauthentifikation, Daten-, -vertraulichkeit) Systemsicherheit (Schutz zwischen Hosts und Agenten) Anwendungssicherheit (Nicht-Zurückweisung, Zugriffskontrolle)
5
Sichere E-Commerce-Anwendungen5 3. Sichere Kommunikation durch SSL/TLS Secure Sockets Layer (SSL) von Netscape Comm. Von IETF übernommen, in TLS 1.0 standardisiert (Transport Layer Security) Handshake Protocol zu Beginn der Kommunikation Record Layer Protocol bietet Dienste an
6
Sichere E-Commerce-Anwendungen6 4. Java und Systemsicherheit Java-Sicherheitsmodell: Sandbox Model Programmcodes laufen innerhalb mit begrenzten Möglichkeiten Java bietet Teillösung für Systemsicherheit Java Cryptography Extension (JCE) stellt Funktionen für Kommunikationssicherheit bereit
7
Sichere E-Commerce-Anwendungen7 5. Sicherung eines einfachen Agenten-Gerüsts Entwurfsziel: minimaler javabasierter Agent 2 Arten von Agenten: - Agent: sendet und empfängt Nachrichten, handelt eigenständig - System Agent: managt System von Agenten (überwacht Agenten, regelt Kommunikation, unterstützt Eigenständigkeit)
8
Sichere E-Commerce-Anwendungen8 5. Sicherung eines einfachen Agenten-Gerüsts PingServer.java: SystemAgent system = new SystemAgent(4042); Agent agent = new PingServerAgent(); system.addAgent(agent); SystemAgent.java: MessageServer server = new MessageServerSocketImp(port); MessageServerSocketImp.java: ServerSocket serverSocket = new ServerSocket(port); Socket socket = serverSocket.accept();
9
Sichere E-Commerce-Anwendungen9 5. Sicherung eines einfachen Agenten-Gerüsts SSL/TLS + Java-Gerüst = Java SSL/TLS Library IAIK iSaSiLk: Java-Implementation vom SSL/TLS-Protokoll Im Code: Socket durch SSLSocket ersetzen Zusätzlicher Code, um Sicherheitsparameter einzustellen
10
Sichere E-Commerce-Anwendungen10 5. Sicherung eines einfachen Agenten-Gerüsts Sicherheit vollständig transparent in Agenten- Anwendung eingeführt In MessageServerSSLSocketImp wird Sicherheit eingeführt Sicherheitsparameter in Kontextklasse gespeichert (verschiedene Klassen für Server und Client- Kontext)
11
Sichere E-Commerce-Anwendungen11 5. Sicherung eines einfachen Agenten-Gerüsts PingServer.java: SystemAgent system = new SystemAgent(4042); Agent agent = new PingServerAgent(); system.addAgent(); SystemAgent.java: MessageServer server = new MessageServerSSLSocketImp(port); MessageServerSSLSocketImp.java: SSLServerContext serverContext = new SSLServerContext(); SSLServerSocket serverSocket = new SSLServerSocket(port,serverContext); SSLSocket socket = serverSocket.accept();
12
Sichere E-Commerce-Anwendungen12 5. Sicherung eines einfachen Agenten-Gerüsts Agent hat Schnittstelle, um Parameter einzurichten Parameter nach geeigneten Methoden von Java SSL/TLS Library eingerichtet und in Server oder Client Kontext gespeichert (eine Kontext-Variable immer null) Alle Agenten hängen vom gleichen System Agenten mit gleichen Parametern ab
13
Sichere E-Commerce-Anwendungen13 SecurityAwarePingServer.java: SSLServerContext serverContext = new SSLServerContext(); serverContext.setEnabledCipherSuites(cs); serverContext.setRSACertificate(chain, SSLKeyStore.getPrivateKey(0,0)); serverContext.setTrustDecider(trustDecider); SystemAgent system = new SystemAgent(4042,serverContext,null); Agent agent = new PingServerAgent(); system.addAgent(agent); SystemAgent.java: MessageServer server = new MessageServerAgentAwareSSLSocketImp(port,serverContext,c lientContext); MessageServerAgentAwareSSLSocketImp.java: SSLServerSocket serverSocket = new SSLServerSocket(port,serverContext); SSLSocket socket = serverSocket.accept();
14
Sichere E-Commerce-Anwendungen14 6. Weitere Bemerkungen und Ausführungen Systemsicherheit: - private key auf lokaler Festplatte gespeichert und mit pass phrase symmetrisch verschlüsselt - Mobile Agenten und Hosts sollten sich vertrauen Anwendungssicherheit: - SSL/TLS nur Basis (Kommunikationssicherheit) - benötigt kryptographische Schlüssel
15
Sichere E-Commerce-Anwendungen15 6. Weitere Bemerkungen und Ausführungen Performance: - Abnahme durch Verschlüsselung - auf Workstation und PC nicht spürbar - Abnahme nur zu Beginn, weil Verbindung offen bleibt - klein: Kommunikationsfrequenz hoch und/oder Nachrichten groß - kleine mobile Geräte: Problem beim Handshake Protocol im SSL/TLS-Protokoll
16
Sichere E-Commerce-Anwendungen16 6. Weitere Bemerkungen und Ausführungen primäre Ziele des Gerüsts: - Ziele nach Sicherung geblieben? - überflüssige Algorithmen entfernen Anwendungsunabhängigkeit: - Anwendungen wissen nicht, dass SSL/TLS anwendungsunabhängig ist - SSL/TLS transparent – Agenten können nicht selbst entscheiden, wem sie vertrauen
17
Sichere E-Commerce-Anwendungen17 6. Weitere Bemerkungen und Ausführungen Ausführungen: - bisher nur Kommunikationssicherheit betrachtet - SSL/TLS: Agenten-, Datenauthentifikation, Datenvertraulichkeit - Gerüst nicht mobil: Systemsicherheit unwichtig - nur Gerüst, keine Anwendung: Anwendungssicherheit nicht betrachtet
18
Sichere E-Commerce-Anwendungen18 7. Bzgl. Arbeiten und alternative Ansätze Sicherheit in anderen Agenten-Gerüsten: - javabasiert: Aglets, JATLite,... - Kommunikationssicherheit scheint unwichtig - digitaler Agentencode zur Benutzeridentifizierung - Zugriffsrestriktionen für Agenten - Ausführung des Codes in sicherer Ausführungsumgebung
19
Sichere E-Commerce-Anwendungen19 7. Bzgl. Arbeiten und alternative Ansätze Mobile Agenten und Sicherheit: - Hosts vor böswilligen Agenten schützen (Proof-Carrying-Code) - Agenten vor böswilligen Hosts schützen (Riordan & Schneier, Hohl, Vigna) Andere SSL/TLS-Implementationen: - Java Secure Socket Extension (JSSE) von Sun
20
Sichere E-Commerce-Anwendungen20 7. Bzgl. Arbeiten und alternative Ansätze Sicherheit in anderen Schichten: - SSL/TLS in Transportschicht - IPSec bietet Kommunikationssicherheit in Netzwerkschicht (teilnehmende Hosts und Agenten können sich gegenseitig vertrauen) - anstatt Kanal (System Agent) kann man Nachrichten direkt schützen (He & Sycara) - Sicherheitsgerüste (Kerberos, SESAME,...) können integriert werden
21
Sichere E-Commerce-Anwendungen21 8. Zusammenfassung Javabasiertes Gerüst konstruiert für E-Commerce- Anwendungen Java-Implementation SSL/TLS sichert Kommunikationsmöglichkeiten Kommunikations-, Anwendungs-, Systemsicherheit (wichtig für mobile Agenten) Java bietet Systemsicherheit (Sandbox) Anwendungssicherheit muss von Entwicklern hinzugefügt werden
Ähnliche Präsentationen
© 2025 SlidePlayer.org Inc.
All rights reserved.