21
Sichere E-Commerce-Anwend ungen 1 Sichere Kommunikation für sichere agentenbasierte E- Commerce-Anwendungen René Köppel [email protected]

Sichere E-Commerce-Anwendungen1 Sichere Kommunikation für sichere agentenbasierte E- Commerce-Anwendungen René Köppel [email protected]

Embed Size (px)

Citation preview

Page 1: Sichere E-Commerce-Anwendungen1 Sichere Kommunikation für sichere agentenbasierte E- Commerce-Anwendungen René Köppel rkoeppel@gmx.de

Sichere E-Commerce-Anwendungen 1

Sichere Kommunikation für sichere agentenbasierte E-Commerce-Anwendungen

René Köppel

[email protected]

Page 2: Sichere E-Commerce-Anwendungen1 Sichere Kommunikation für sichere agentenbasierte E- Commerce-Anwendungen René Köppel rkoeppel@gmx.de

Sichere E-Commerce-Anwendungen 2

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

Page 3: Sichere E-Commerce-Anwendungen1 Sichere Kommunikation für sichere agentenbasierte E- Commerce-Anwendungen René Köppel rkoeppel@gmx.de

Sichere E-Commerce-Anwendungen 3

1. Einleitung

• Bisher: manuelle E-Transaktionen

• Jetzt (mit Agent) : E-Transaktionen automatisieren

• Vertrauliche Informationen werden ausgetauscht –

dafür muss Sicherheit gewährleistet werden

Page 4: Sichere E-Commerce-Anwendungen1 Sichere Kommunikation für sichere agentenbasierte E- Commerce-Anwendungen René Köppel rkoeppel@gmx.de

Sichere E-Commerce-Anwendungen 4

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)

Page 5: Sichere E-Commerce-Anwendungen1 Sichere Kommunikation für sichere agentenbasierte E- Commerce-Anwendungen René Köppel rkoeppel@gmx.de

Sichere E-Commerce-Anwendungen 5

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

Page 6: Sichere E-Commerce-Anwendungen1 Sichere Kommunikation für sichere agentenbasierte E- Commerce-Anwendungen René Köppel rkoeppel@gmx.de

Sichere E-Commerce-Anwendungen 6

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

Page 7: Sichere E-Commerce-Anwendungen1 Sichere Kommunikation für sichere agentenbasierte E- Commerce-Anwendungen René Köppel rkoeppel@gmx.de

Sichere E-Commerce-Anwendungen 7

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)

Page 8: Sichere E-Commerce-Anwendungen1 Sichere Kommunikation für sichere agentenbasierte E- Commerce-Anwendungen René Köppel rkoeppel@gmx.de

Sichere E-Commerce-Anwendungen 8

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();

Page 9: Sichere E-Commerce-Anwendungen1 Sichere Kommunikation für sichere agentenbasierte E- Commerce-Anwendungen René Köppel rkoeppel@gmx.de

Sichere E-Commerce-Anwendungen 9

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

Page 10: Sichere E-Commerce-Anwendungen1 Sichere Kommunikation für sichere agentenbasierte E- Commerce-Anwendungen René Köppel rkoeppel@gmx.de

Sichere E-Commerce-Anwendungen 10

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)

Page 11: Sichere E-Commerce-Anwendungen1 Sichere Kommunikation für sichere agentenbasierte E- Commerce-Anwendungen René Köppel rkoeppel@gmx.de

Sichere E-Commerce-Anwendungen 11

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();

Page 12: Sichere E-Commerce-Anwendungen1 Sichere Kommunikation für sichere agentenbasierte E- Commerce-Anwendungen René Köppel rkoeppel@gmx.de

Sichere E-Commerce-Anwendungen 12

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

Page 13: Sichere E-Commerce-Anwendungen1 Sichere Kommunikation für sichere agentenbasierte E- Commerce-Anwendungen René Köppel rkoeppel@gmx.de

Sichere E-Commerce-Anwendungen 13

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,clientContext);

MessageServerAgentAwareSSLSocketImp.java: SSLServerSocket serverSocket = new

SSLServerSocket(port,serverContext); SSLSocket socket = serverSocket.accept();

Page 14: Sichere E-Commerce-Anwendungen1 Sichere Kommunikation für sichere agentenbasierte E- Commerce-Anwendungen René Köppel rkoeppel@gmx.de

Sichere E-Commerce-Anwendungen 14

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

Page 15: Sichere E-Commerce-Anwendungen1 Sichere Kommunikation für sichere agentenbasierte E- Commerce-Anwendungen René Köppel rkoeppel@gmx.de

Sichere E-Commerce-Anwendungen 15

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

Page 16: Sichere E-Commerce-Anwendungen1 Sichere Kommunikation für sichere agentenbasierte E- Commerce-Anwendungen René Köppel rkoeppel@gmx.de

Sichere E-Commerce-Anwendungen 16

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

Page 17: Sichere E-Commerce-Anwendungen1 Sichere Kommunikation für sichere agentenbasierte E- Commerce-Anwendungen René Köppel rkoeppel@gmx.de

Sichere E-Commerce-Anwendungen 17

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

Page 18: Sichere E-Commerce-Anwendungen1 Sichere Kommunikation für sichere agentenbasierte E- Commerce-Anwendungen René Köppel rkoeppel@gmx.de

Sichere E-Commerce-Anwendungen 18

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

Page 19: Sichere E-Commerce-Anwendungen1 Sichere Kommunikation für sichere agentenbasierte E- Commerce-Anwendungen René Köppel rkoeppel@gmx.de

Sichere E-Commerce-Anwendungen 19

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

Page 20: Sichere E-Commerce-Anwendungen1 Sichere Kommunikation für sichere agentenbasierte E- Commerce-Anwendungen René Köppel rkoeppel@gmx.de

Sichere E-Commerce-Anwendungen 20

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

Page 21: Sichere E-Commerce-Anwendungen1 Sichere Kommunikation für sichere agentenbasierte E- Commerce-Anwendungen René Köppel rkoeppel@gmx.de

Sichere E-Commerce-Anwendungen 21

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