HBCI Homebanking Computer Interface Informatik- Seminar, Sommersemester 2007 Markus Amend
Inhalt Definition Historische Entwicklung Funktionsweise Sicherheit FinTS
Definition Homebanking Computer Interface Nationaler Standard Schnittstelle zwischen Privat-PC und Bankserver über ein unsicheres Netz
Historische Entwicklung des Homebankings 1983 - Erste Applikationen über BTX Nur wenige Nutzer 1995/96 Aufschwung, durch Kombination von BTX mit dem T-Online-Netz
Historische Entwicklung des Homebankings Jede Bank entwickelte ihre eigenen Applikationen Die Sicherung erfolgte ausschließlich über PIN & TANs.
Historische Entwicklung Idee -> HBCI Transportnetzunabhängigkeit Plattformunabhängigkeit Internationalität Offlinebearbeitbarkeit von Aufträgen Multibankfähigkeit Softwareunabhängigkeit Kontrollmöglichkeiten von Aufträgen Sicherheit
Historische Entwicklung 1996 erster HBCI-Kernel (1.0) 1998 erste taugliche Version (2.01) 1999 HBCI 2.1 2000 HBCI 2.2 2002 FinTS 3.0 2004 FinTS 4.0
Funktionsweise HBCI baut einen Dialog zwischen Privat-PC und Bankserver auf und sendet Nachrichten darüber. Jede Nachricht entspricht einem Geschäftsvorfall bzw. einem Steuerbefehl Bevor eine neue Nachricht gesendet werden kann, muss der Kundenrechner auf eine Bestätigung der vorherigen Nachricht warten
Funktionsweise Kunde Bank Dialoginitalisierung Antwort auf Initialisierung Antwort auf Auftrag 1 Bestätigung Dialoginitalisierung Auftrag 1 Dialogende Kunde Bank Antwort auf Auftrag n Auftrag n
Funktionsweise ISO 8859 ist ein 8-Bit Zeichensatz, dessen erste 7 Bits dem ASCII entsprechen. Nachrichten bestehen aus dem Zeichensatz ISO 8859 und einem Subset. Kundenrechner und Bankserver müssen das gleiche Subset benutzen.
Funktionsweise Nachrichtenaufbau (Quelle: http://hbci.de)
Funktionsweise Datenelement (DE) Kleinste Einheit Feld mit einer Information Trennzeichen: Plus (+) Bsp: Name des Kunden
Funktionsweise Datenelementgruppe (DEG) Container für GDs Trennzeichen: Plus (+) Bsp: (s. Gruppendatenelement)
Funktionsweise Gruppendatenelement (GD) Ähnlich einem DE Für Gruppierung zusammengehörender Informationen Trennzeichen: Doppelpunkt (:) Beispiel: Saldo (+Betrag:Währung+)
Funktionsweise Segment Segmentkennung:Segmentnr:Segmentversion+ Ktonr:Unterkontomerkmal:Ländercode:BLZ+ //Auftraggeber Ktonr:Unterkontomerkmal:Ländercode:BLZ //Empfänger Name1:Name2:Straße/Postfach:PLZ:Ort:Land:Telefon:Fax:eMail+ Betrag:Währung+ Textschlüssel+ //Gutschrift (51), Lastschrift (04),… Textschlüsselergänzung+ Verwendungszweck1:Verwendungszweck2+ Ausführungsdatum+ Auftragsidentifikation’ Entspricht einem Geschäftsvorfall oder Steuervorgang Trennzeichen: Apostroph (‘) Beispiel: Überweisung von 1000€ an Max Muster: HKUEB:2:4+1234567::280:10020030+7654321::280:20030040+MUSTER MAX++1000,:EUR+51+000+RE-NR.1234:KD-NR.9876’
Funktionsweise Segmentkopf HKUEB:2:4 Segmentkennung (GD) Segmentnummer (GD) Segmentversion (GD) Bezugssegment (GD) (optional)
Funktionsweise Nachrichtenkopf Segmentkopf (DEG) Nachrichtengröße (DE) HBCI Version (DE) Dialog-ID (DE) Nachrichtennummer (DE) Bezugsnachricht (DEG)
Funktionsweise Dialog Initialisierung schafft sichere Übertragungsumgebung. (Kunde an Bank) Identifikation Verarbeitungsvorbereitung Anforderung eines öffentlichen Schlüssels
Funktionsweise Dialog Initialisierungsantwort Bankparameterdaten Userparameterdaten Public Key Rückmeldungen Kreditinstiutsmeldungen
Sicherheit Arten
Sicherheit
Sicherheit HBCI signiert und verschlüsselt die meisten Nachrichten Dafür werden folgende Vorgänge und Algorithmen benötigt: Hashing MAC Verschlüsselung DES RSA DDV RDH
Sicherheit Hashing Was ist Hashing? Nutzen: Anwendung „Fingerabdruck“ einer Datenmenge Nutzen: Schutz vor unbemerkter Manipulation Schneller, als die Nachricht doppelt zu senden Anwendung Nachricht wird mit RIPEMD-160 hasht
Sicherheit MAC Was ist MAC? Nutzen: Anwendung Message Authorisation Code Hashing mit Schlüssel Signatur Nutzen: Schutz vor unbemerkter Manipulation Schutz vor falschen Identitäten Anwendung Die Nachricht wird gehasht und mit dem Signierschlüssel chiffriert.
Sicherheit Verschlüsselung Arten Symmetrische Verschlüsselung DES (DDV) optional Asymmetrische Verschlüsselung RSA (RDH) verpflichtend
Sicherheit DES Was ist DES? Funktionsweise Modi Data Encryption Standard Synchrone Verschlüsselung 72 Billion mögliche Schlüssel Funktionsweise Blockweise Verwürfelung nach Feistel Modi ECB CBC Nachrichtenverschlüsselung unter HBCI 2-Key-Triple-DES im CBC Mode
2-Key-Triple-DES im CBC-Mode
Sicherheit RSA Was ist RSA? Funktionsweise Rivest, Shamir, Adleman Asynchrone Verschlüsselung Funktionsweise „one-way-functions“
Sicherheit DDV Signaturerstellung Verschlüsselung Der Schlüssel wird mitgesendet und durch den Chiffrierschlüssel auf der Chipkarte mit 2-Key-Triple-DES im ECB Mode verschlüsselt. Signaturerstellung Signiert den Nachrichtenhash per 2-Key-Triple-DES im CBC-Mode. Als Schlüssel wird der Signaturschlüssel benutzt. Verschlüsselung Die Nachricht wird ebenfalls per 2-Key-Triple-DES verschlüsselt durch einen zufällig erstellten Schlüssel.
Sicherheit RDH Signaturerstellung Verschlüsselung 1 Quelle: http://hbci.de/Gesamtdoc_HBCI22.pdf Signaturerstellung „Der Hash-Wert wird mittels RSA gemäß ISO 9796:1991 signiert.“1 Verschlüsselung 2-Key-Triple-DES mit zufälligem Schlüssel. Der Nachrichtenschlüssel wird mit dem öffentlichen Schlüssel des Empfängers chiffriert.
FinTS 3.0 Financial Transaction Service Weiterentwicklung von HBCI 2.2 3.Schlüsselpaar (Signierschlüsselpaar) eingefügt. Karten-Schlüssellänge von 768 auf 1024 Bit erhöht offizielle Unterstützung von PIN&TAN
FinTS 4.0 Umstellung der Trennzeichensyntax auf XML Verteilte Signaturen
Geschafft! Quellen HAUBNER, Kurt http://www.hbci-zka.de/dokumente/diverse/fints40_kompendium.pdf PRAMATEFTAKIS, Michael http://www.linux-magazin.com/heft_abo/ausgaben/2003/08/geld_transport SCHMINCK, Andrea und LUNEMANN, Carolin http://www.cs.uni-potsdam.de/ti/lehre/05-Kryptographie/slides/MAC_vortrag.pdf SIZ http://www.hbci-kernel.de/ ZIERL, Marco http://www.tecchannel.de/sicherheit/grundlagen/401064/ ZKA http://hbci.de UNBEKANNT http://de.wikipedia.org/