<-- zurück

2. Verwendete Konzepte

2.1. Bekannte Konzepte

Verschlüsselung

Um die Vertraulichkeit der Transaktionen zu sichern, verwendet SET sowohl asymmtrische als auch symmetrische Verschlüsselung. Die Daten werden aus Effizienzgründen zunächst symmetrisch mit einem Sessionkey verschlüsselt, und dieser wird mit dem öffentlichen (asymmetrischen) Schlüssel des Empfängers verschlüsselt. Beim Erhalten der Nachricht kann der Empfänger mit seinem privaten Schlüssel den Sessionkey entschlüsseln, und dann per symmetrischer Dekodierung die Daten im Klartext zu erhalten. Für diesen Zweck besitzt jeder SET-Teilnehmer (Banken, Händler und Kunden) ein asymmetrisches Schlüsselpaar.

Für die symmetrische Verschlüsselung wird der DES-, für die asymmetrische der RSA-Algorithmus verwendet. Die Nutzung dieses Verfahrens ist international allerdings eingeschränkt.
Aufgrund von U.S. Exportbestimmungen kann der RSA-Algorithmus nur innerhalb der USA mit Schlüssellängen arbeiten, die eine ausreichende Sicherheit bieten. International sind nur sehr kurze und damit unsichere Schlüssellängen erlaubt. Dieses Poblem tritt bei SET nicht auf.
Zur Zeit exisiert eine erste Implementierung von SET der RSA Corp.. Deren SET Toolkit wurde mit einer "U.S. Export Commodity Jurisdiction License" ausgestattet, welches eine Ausfuhr der verwendeten kryptographischen Algorithmen gestattet, und somit auch international eine sichere Schlüssellänge gewährleistet.

Digitale Signatur

Sowohl Authentifikation des Absenders einer Nachricht als auch die Integrität der Nachricht selbst kann mittels einer digitalen Signatur überprüft werden. Hierzu erstellt der Absender einen Hashwert seiner Nachricht, den er dann aysmmetrisch mit seinem privaten Schlüssel verschlüsselt. Der Empfänger kann nun aus dem erhaltenen Klartext ebenfalls den Hashwert bilden und entschlüsselt den übertragenenen Hashwert mit dem öffentlichen Schlüssel des Absenders. Stimmen beide Werte überein, so kann der Empfänger sicher sein, daß die Nachricht nicht verändert wurde, und die Nachricht auch sicher vom angegebenen Empfänger stammt. Zum Zweck der digitalen Signatur besitzt jeder SET-Teilnehmer ein weiteres aysmetrisches Schlüsselpaar. Zur Bildung des Hashwertes wird der SHA-1 Algorithmus verwendet.

Zertifizierung

Kauft ein Kreditkartenbenutzer in einem Geschäft ein, so legt er seine Kreditkarte zur Authentifikation vor und bestätigt mit seiner Unterschrift, daß er der rechtmäßige Besitzer ist. Im SET Umfeld wird hierfür ein Zertifikat genutzt. Ein Kartenbesitzer erhält von einer Zertifizierungsinstanz (CA), im einfachsten Falle ist dies die Bank, bei der er ein Kreditkartenkonto besitzt, ein Zertifikat. Dieses enthält seinen öffentlichen Schlüssel zum Überprüfen der Signaturen, ein Ablaufdatum und die Kontonummer des Besitzers. Die beiden letztgenannten Angaben werden durch einen Hashwert repräsentiert, damit die Informationen versteckt bleiben, aber leicht verifiziert werden können.

Gibt die Bank ein Zertifikat heraus, muß sie überprüfen, ob die Person, die sich die Zugehörigkeit eines Schlüsselpaares zu einer Kontonummer zertifizieren läßt, hierzu auch berechtigt ist. SET sieht hier kein festes Verfahren vor. Es ist vorstellbar, daß die Bank bei der Zertifizierung Informationen vom Kartenbesitzer fordert, die nur er wissen kann. Ist die Bank sicher, daß der rechtmäßige Kontoinhaber die Registrierung wünscht, so stellt sie das Zertifikat aus und signiert dies mit Ihrem eigenen Signierschlüssel.

Zum Überprüfen, ob die Signatur der Bank gültig ist, muß dieser Schlüssel verifizierbar sein, d.h. auch die Bank benötigt ein Zertifikat, das von einer höheren Instanz ausgegeben wird. Es entsteht so ein Zertifizierungsbaum, an dessen Spitze eine Root-CA steht, deren Schlüssel nicht mehr zertifiziert ist. Dieser Schlüssel muß für jeden sichtbar von einer glaubwürdigen Instanz veröffentlich werden. Es ist vorstelbar, daß die Zertifikate der Banken von den Kreditkartengesellschaften ausgestellt werden, und diese wiederum ihre Zertifikate von einem Konsortium der Gesellschaften als Root-Instanz erhalten.

Neben Banken und Kunden erhalten auch die Händler Zertifikate, einerseits um sie als legitimierte SET-Nutzer erkennbar zu machen, andererseits um die öffentlichen Schlüssel für Verschlüsselung und Signatur bekanntgeben zu können.


2.2 Duale Signatur

Bei der dualen Signatur handelt es sich um ein neues Konzept, daß speziell für SET entwickelt wurde. Um das Ziel der dualen Signatur zu verstehen, stelle man sich folgende Situation vor: Bob möchte Alice eine Warenbestellung senden und seiner Bank eine Authorisierung, Alice den nötigen Betrag zu überweisen, wenn Alice die Bestellung annimmt. Zusätzlich möchte Bob den Inhalt der Bestellung vor seiner Bank, und die Informationen für die Bezahlung (also z.B. seine Kontonummer) vor Alice geheimhalten. Akzeptiert Alice die Bestellung schickt sie die Zahlungsauthorisierung weiter an Bobs Bank. Diese kann nun mittels der dualen Signatur prüfen, ob die Authorisierung zur entsprechenden Bestellungstransaktion gehört, und ob diese unverändert ist.

Die duale Signatur entsteht auf folgende Weise:

Der Kartenbesitzer Bob erstellt eine Bestellung (Order Instruction, OI) und eine Zahlungsauthoriserung (Purchase Instraction, PI). Er bildet sowohl über der PI, als auch über der OI einen Hashwert (Hash(OI), Hash(PI). Die beiden Hashwerte werden verknüpft und über dem Ergebnis wird ein neuer Hashwert( = Dual Hash) gebildet. Diesen signiert der Kunde (signH (Dual Hash)) und die duale Signatur liegt vor.

Nun sendet er Alice zum einen die Bestellung (OI), den Hashwert der PI und die duale Signatur. Alice kann den Hashwert über dem im Klartext übertragenen OI erzeugen. Diesen konkateniert sie mit dem mitgeliefterten Hash(PI) und überprüft mit dem durch Konkatentation entstandenen Hashwert die duale Signatur.
Zum Weiterreichen an die Bank sendet er Alice eine - mit dem öffentlichen Schlüssel der Bank verschlüsselte - Nachricht, die die PI und den Hashwert der OI enthält.
Akzeptiert Alice die Bestellung, sendet sie diese verschüsselte Nachricht und die duale Signatur an die Bank weiter. Diese erstellt nun den Hashwert über der PI und überprüft mittels des mitgelieferten Hash (OI) die duale Signatur. Es kann festgestellt werden, ob die PI auch wirklich von Bob erstellt wurde, denn hätte Alice sie erstellt, wäre die duale Signatur falsch, da Alice nicht über den nötigen privaten Signierschlüssel von Bob verfügt.


2.3 Teilnehmer

Beim Zahlvorgang mit einer Kreditkarte im "realen" Leben, setzt die elektronische Verarbeitung erst beim Händler bzw. bei dessen Bank an, nämlich dann, wenn der Zahlungsbetrag eingefordert wird. Bei der Bezahlung mit einer Kreditkarte gibt der Kunde dem Händler zunächst ein "Zahlungsversprechen". Erst später wird über das als sicher zu betrachtende Bankennetz (SWIFT) eine Überweisung zwischen den Banken von Kunde und Händler vorgenommen.

Da SET alle für die Kreditkarten-Transaktion nötigen Aktionen auf elektronischem Wege ermöglicht sind folgende Teilnehmer an einer SET-Transaktion beteiligt:

Kartenbesitzer (Kunde)
Jeder Besitzer einer Kreditkarte kann an SET teilnehmen. Hierzu muß er sich von einer Zertifizierungsinstanz als SET-Kunde registrieren lassen. Er sendet dieser hierfür die Angaben zu seinem Kreditkartenkonto zu und erhält, wenn diese Angaben als gültig akzeptiert wurden, ein Zertifikat. Nun kann er mit einem Händler einen Kaufvorgang durchführen.
Zertifizierungsinstanz
Eine Zertifizierungsinstanz stellt einem Kreditkartenbesitzer ein Zertifikat aus. Hierfür erhält sie vom Kunden entsprechende Angaben zu seinem Kreditkartenkonto, die sich diese von der Bank des Kunden verifizieren läßt. Stimmen die Angaben mit denen der Bank überein, so wird dem Kunden ein Zertifikat ausgestellt. Im einfachsten Falle tritt die Bank selbst als Zertifizierungsinstanz auf.
Bank des Kartenbesitzers (Issuer)
Die Bank des Kartenbesitzer verwaltet das Kreditkartenkonto des Kunden und gibt die Kreditkarte aus. Im SET-Umfeld überprüft sie die Angaben, die der Kunde dem Zertifizierungsantrag beifügt. Sie wickelt über das Konto des Kunden die Zahlungen mit der Bank des Händlers ab. Dies geschieht über das schon vorhandene Bankennetz.
Händler
Ein Händler kann Bestellungen eines Kunden auf elektronischem Wege entgegennehmen. Er muß sich hierfür vor dem Kunden als legitimierter SET-Händler ausgeben können. Dafür benötigt auch er ein Zertifikat, das ihm von der Acquirer-Bank ausgestellt wird. Erhält er die Bestellung eines Kunden, kann er sich nun vom Payment Gateway seiner Bank das Zahlungsversprechen des Kunden authorisieren lassen. In einem nächsten Schritt kann er seine Bank beauftragen, die Zahlung einzuziehen.
Bank des Händlers (Acquirer)
Diese Bank führt das Konto des Händlers und führt alle nötigen Aktionen über das Bankennetz aus, um die Kreditkartentransaktionen von Seiten des Händlers durchzuführen. Dies ist der Einzug des Zahlungsbetrages und die für SET nötige Authorisierung des Zahlungsversprechens des Kunden. Die Acquirer-Bank zertifiziert den Händler als legitimen SET-Händler.
Payment Gateway
Dies ist die SET-spezifische elektronische Schnittstelle der Acquirer-Bank zum Händler, um Authorisierungen einzuholen, bzw. den Einzug des Zahlungsbetrages anzufordern. In der "realen" Welt lief diese Schnittstelle meist über einen gesicherten Kanal wie Post bzw. Telefon.
Kreditkartengesellschaft
Diese Organisation regelt die Verwendung der Kreditkarten, sowohl für die reale Welt wie auch für den elektronischen Markt und verwaltet die Schutzrechte dieser Karte. Sie ermöglicht Transaktionen zwischen den Banken von Kunde und Händler über das Bankennetz. Sie spielt für die Spezifikationen von SET nur eine übergeordnete Rolle.


3. SET-Zahlungsvorgang

3.1. Überblick

Das SET-Protokoll ermöglicht, daß alle Aktionen die eine Kreditkartentransaktion benötigt auf elektronischem Wege möglich sind. Folgendes Schaubild zeigt die nötigen Aktionen für einen Zahlvorgang mittels SET auf.

Bevor ein Kunde SET nutzen kann, muß er sich hierfür registrieren lassen, d. h. er erhält von einer Zertifizierungsinstanz ein Zertifikat für die von ihm verwendeten Schlüssel. In diesem Schritt muß die CA die hierfür vom Kunden erhaltenen Informationen bei der Bank des Kunden verifizieren. Dieser Schritt wird im Abschnitt Registrierung des Kunden näher beschrieben

Nun kann der Kunde im elektronischen Markt einkaufen gehen. Will er ein Produkt kaufen, tritt er mit dem Händler in Kontakt und sendet diesem die Bestellunterlagen zu. Um die Zahlung zu ermöglichen, sendet er dem Händler desweiteren die Informationen für die Zahlungsabwicklung zu. Wird der Kauf vom Händler akzeptiert, erhält er eine Bestätigung des Kaufs. Das Protokoll hierfür wird unter dem Punkt Einkauf erklärt.

Damit der Händler eine Zahlung akzeptiert, läßt er sich das Zahlungsversprechen des Kunden über das Payment Gateway verifizieren. Unter dem Punkt Zahlungsauthorisierung beschreibt die hierfür nötigen Schritte.

Als letzte Aktion beauftragt der Händler nach Auslieferung der Waren seine Bank diie Zahlung einzuziehen. Diese Aktion beschreibt der Abschnitt Zahlungsabwicklung.

Alle weiteren Aktionen zwischen den Banken finden über das schon vorhandene Bankennetz statt und werden daher von SET nicht betrachtet. Alle beschriebenen SET-Aktionen werden automatisch über entsprechende Softwarepakete bei den Teilnehmern erledigt.

Im Folgenden werden die einzelnen Protokolle vorgestellt. Zur Darstellung der versendeten Informationen wird folgendes Schema verwendet:

signX(Data) Die Informationen "Data" sind vom Teilnehmer X signiert
CryptKey(Data) "Data" ist symmetrisch mit dem Schlüssel "Key" verschlüsselt
dualsignX(Data) "Data" ist dual signiert
CryptPubX(Data) "Data;" ist mit dem privaten Schlüssel des Teilnehmers X verschlüsselt
K Steht für den Kunden als Index beim Signieren bzw. Verschlüsseln
H Steht für den Händler
B Steht für das Payment Gateway der Bank des Händlers
SignCertX Zertifikat für den Schlüssel zum Signieren des Teilnehmers X
CryptCertX Zertifikat für den Key-Exchange-Schlüssel des Teilnehmers X
B

A
Datenübertragung von A nach B


3.2. Kundenregistrierung

Besitzt ein Kunde eine Kreditkarte und will in Zukunft SET nutzen, so benötigt er ein Schlüsselpaar zum Signieren der Daten, die er versendet.

In einem ersten Schritt sendet nun die Software des Kunden einen Request an die Zertifizierungsinstanz. Hierbei teilt sie mit, welchen Kreditkartentyp der Kunde verwendet, um ein entsprechendes Registrierungsformular zu erhalten. Diese Informationen werden in einen Init Request (Init Req) eingebettet. Hierfür sendet sie folgende Nachricht an die CA:

CA

Kunde
Cert Req

Die CA wählt nun anhand des angegebenen Kreditkartentyps das entsprechende Registrierungsformular (RegForm). Um dem Kunden die Möglichkeit zu geben, die Richtigkeit des übertragenen Formulars und den Absender zu überprüfen, hängt die CA noch Ihr Zertifikat für den Signierschlüssel (SignCertCA) an und signiert beide. Damit der Kunde später das Formular vertraulich an die CA zurückschicken kann, fügt sie desweiteren das Zertifikat mit dem öffentlichen "Key-Exchange"-schlüssel hinzu.

Kunde

CA
signCA(RegForm, SignCertCA), CryptCertCA

Der Kunde kann nun anhand des Zertifizierungsbaumes das Zertifikat der CA prüfen. Dies ist nur einmal nötig, wenn der Kunde den entsprechenden Schlüssel für spätere Benutzungen als gültig speichert. Mit diesem Schlüssel kann er nun die Signatur der CA prüfen und somit feststellen, ob das übertragene Formular unverändert bei ihm ankam und von der CA gesendet wurde.

Nun erzeugt die Software ein Schlüsselpaar zum Signieren von Nachrichten des Kunden, für das ein Zertifikat ausgestellt werden soll. Dieses benötigt er für alle späteren SET-Aktionen. Er erzeugt ein weiteres Schlüsselpaar zum Verschlüsseln von Nachrichten. Dies ist nötig, damit die CA ihm das Zertifikat vertraulich zusenden kann.

Nun füllt er das Formular aus und bettet dieses in einen Certification Request (Cert Req) ein. Er fügt diesem seinen öffentlichen Signierschlüssel (SignPubK) und den öffentlichen Verschlüsselungsschlüssel (CryptPubK) hinzu. Diese Informationen signiert er und verschlüsselt sie symmetrisch mittels eines zufälligen Schlüssels Key1. Diesen Schlüssel und seine Kontonummer AccNr (in den USA enthält dieser neben der Kontonummer auch einen Anteil, der die Bank repräsentiert) verschlüsselt er nun asymmetrisch mit dem Verschlüsselungsschlüssel der CA (CryptPubCA).

CA

Kunde
CryptKey1(signK(CertReq, SignPubK,CryptPubK), CryptPubCA(Key1, AccNr)

Die CA entschlüsselt nun zunächst mit ihrem privaten Schlüssel Key1 und die Kontonummer des Kunden. Die Kontonummer wird vermutlich (Angaben hierüber liegen nicht vor) mitangegeben, um direkt die Information zu erhalten, zu welchem Konto die Informationen geprüft werden sollen, ohne erst im Formular den entsprechenden Eintrag zu suchen. Mit Key1 wird nun der Certification Request und die öffentlichen Schlüssel des Kunden entschlüsselt. Die CA verifiziert (z.B. mit Daten der Bank über den Kunden) die Angaben zum Konto und erstellt bei deren Richtigkeit das Zertifikat für den Signierschlüssel des Kunden, das sie mit Ihrer Signatur bestätigt. Das Zertifikat wird nun mit dem symmetrischen Schlüssel Key2 verschlüsselt und dieser wird asymmetrisch mit dem CryptPubKverschlüsselt. Hierdurch wird gesichert, daß das Zertifikat vertraulich übertragen wird.

CA

Kunde
CryptKey2( SignCertK), CryptPubK(Key2)

Der Kunde kann nun mittels seines privaten Schlüssels Key2 entschlüsseln und hiermit sein Zertifikat entschlüsseln. Sein Zertifikat speichert er für die spätere Nutzung, den privaten Crypt-Schlüssel kann er wegwerfen, da er nicht mehr benötigt wird.

Nun ist der Kunde in der Lage einen Einkauf durchzuführen.


3.3. Einkauf (Bestellung Kunde - Händler)

Findet der Kunde z.B. im WWW ein Produkt, das er einkaufen will, so muß er zunächst mit dem Händler Kontakt aufnehmen, um die zu verwendenden Schlüssel zu erfragen. Er sendet hierzu einen Init Request (InitReq) an den Händler. Dieser enthält unter anderm die Inforamtion welcher Kreditkartentyp verwendet werden soll.

Händler

Kunde
InitReq

Die Software des Händlers erzeugt für die bevorstehende Transaktion zunächst einen zufälligen Transaktions Identifier (TID), der in einen Init Response (InitResp) eingebettet wird. Dieser wird um die Integrität zu sichern, vom Händler verschlüsselt, der zur Überprüfung noch sein Signierzertifikat anfügt.

Damit die Kreditkarteninformationen des Kunden sicher über das Netz an die Bank übermittelt werden können, sendet der Händler dem Kunden das Verschlüsselungszertifikat des Payment Gateways zu, an das er sich später für die Authorisierung der Zahlung und den Zahlungseinzug wenden wird. Dieses Payment Gateway muß natürlich den entsprechenden Kreditkartentyp des Kunden bearbeiten können.

Kunde

Händler
signH( InitResp), SignCertH, CryptCertB

Der Kunde überpüft nun zunächst die Signatur des Händlers. Ist diese gültig, erstellt er eine Bestellinformation (Order Instruction OI) für den Händler. Diese enthält die Angaben über das gewünschte Produkt und die TID. Desweiteren erstellt die Software eine Anweisung für das Payment Gateway, den Kaufbetrag für diese Transaktion (repräsentiert durch die TID) an den einreichenden Händler von seinem Kreditkartenkonto zu überweisen (Purchase Instruction PI).

Da für den Händler nur die OI und für die Bank nur die PI sichtbar sein soll, erstellt die Software nun zum Verbinden der beiden Anweisungen die duale Signatur. Hierfür erzeugt sie die Hashwerte für OI und PI jeweils mit eingefügtem Signierzertifikat des Kunden. Diese Hashwerte werden konkateniert und über dem Ergebnis wird ein weiterer Hashwert gebildet. Diesen Wert signiert der Kunde mit seinem privaten Signierschlüssel. Das Ergebnis stellt die duale Signatur dar.

Die so signierten PI wird n symmetrisch mit dem Schlüssel Key3 verschlüsselt. Diesen Schlüssel und die Kontonummer des Kunden (Acc.Nr) soll vertraulich an das Payment Gateway gesendet werden und wird deshalb asymmetrisch mit dem Puplic Encrytpion Key der Bank (den der Kunde aus dem Zertifkat der Bank entnehmen kann) verschlüsselt. Der dual signierten Order Instruction wird nun noch zum Prüfen der Signatur der Hashwert der - für den Händler nicht lesbaren - PI hinzugefügt.

Händler

Kunde
dualsignK( OI, SignCertK),hash(PI), CryptKey3(dualsignK(PI, SignCertK)), CryptPubB(Key3, Acc.Nr)

Der Händler prüft nun zunächst die duale Signatur der für ihn bestimmten Order Instruction, in dem er aus der OI den Hashwert bildet, diesen mit dem mitgelieferten hash(PI) konkateniert und das Ergebnis erneut "hasht". Nun wendet er den öffentlichen Signierschlüssel des Kunden auf die duale Signatur an und vergleicht das Ergebnis mit dem erzeugten Haswert. Stimmen diese Hashwerte überein, so ist die Signatur geprüft.

Er sendet nun die verschlüsselte PI weiter an das Payment Gateway zur Authorisierung der Zahlung. Erhält er eine positive Antwort, sendet er dem Kunden eine signierte Kaufbestätigung (Purchase Response PurchResp) zu und kann nun die Ware ausliefern. Den Einzug des Kaufbetrag kann er dann später über das Payment Gateway abwickeln (siehe Zahlungseinzug )

Kunde

Händler
signH( Purch.Resp., SignCertH)

Der Kunde erhält nun die Bestätigung, daß die Transaktion getätigt ist und kann auf den Eingang der Ware warten.


3.4. Authorisierung der Zahlung

Bevor der Händler die Ware an den Kunden ausliefert, läßt er sich zunächst das in der PI enthaltene Zahlungsversprechen von der Bank authorisieren, um später den Betrag einfordern zu können. Dies ist nötig, da der Händler nicht sicher sein kann, daß der Kunde sein gültiges Konto in der PI belastet.

Hierzu sendet er nun zum einen die vom Kunden erhaltene PI an die Bank weiter. Desweiteren erzeugt er einen Authorisization Request (AuthReq), in den er den Kaufbetrag der Ware, die ID der Transaktion, den Hashwert der Order Instruction (für die Überprüfung der dualen Signatur bei der Bank) und weitere Informationen zur Transaktion einbettet. Zusätzlich fügt er seine beiden Zertifikate hinzu und signiert alles. Um diese Information vertraulich zur Bank zu senden, verschlüsselt er diese symmetrisch mit dem zufälligen Schlüssel Key4 und diesen dann asymmetrisch mit dem Bankschlüssel.

Bank

Händler
PI des Kunden: CryptKey3(dualsignK(PI, signCertK)), CryptPubB(Key3, Acc.Nr)
CryptKey4(AuthReq, SignCertH, CryptCertH), CryptPubB(Key4)

Die Bank entschlüsselt nun zunächst den Authorisation Request, und kann anhand der Signatur den absendenden Händler erkennen. Dann entschlüsselt sie die PI des Kunden und prüft die duale Signatur. Ist diese korrekt, und stimmen die vom Kunden angegebenen Informationen zu TID und Betrag mit denen des Händlers überein, so sendet sie über das Bankennetz die PI zur Prüfung der Angaben an die Bank des Kunden (die aus der übermittelten Kontonummer ersichtlich ist) weiter. Dies geschieht über das Bankennetz und ist somit nicht Gegenstand des SET Protokolls. Wird die Anfrage bestätigt, so ist gewährleistet, daß die Rechnung zu einem späteren Zeitpunkt beglichen werden kann.

Das Payment Gateway erzeugt nun eine Authorisation Response (AuthResp), die den Händler über die Verifizierung der PI unterrichtet. Diese wird vom Gateway signiert und dem Kunden verschlüsselt zugesandt (mit symmetrischen Key5). Um die spätere Abwicklung zu erleichtern, kann die Bank nun noch ein sogenanntes Capture Token (CapToken) mitsenden, das alle Angaben für einen späteren Zahlungseinzug beinhaltet. Dieses stellt den Anspruch des Händlers auf Einzug des Rechnungsbetrags vom Konto des Kunden dar. Da dieses wieder vom Händler an die Bank gesendet wird, verschlüsselt die Bank es so, daß nur sie es wieder lesen kann und verwendet hierfür den symmetrischen Schlüssel Key6.

Bank

Händler
CryptKey5(signB(AuthResp, SignCertB), CryptPubH(Key5); CryptKey6(CapToken), CryptPubB(Key6)

Der Händler kann nun aus der Authorization Responce die Gültigkeit des Zahlungsversprechens des Kunden erkennen und speichert den Capture Token für den späteren Zahlungseinzug, der im nächsten Kapitel beschrieben wird.


3.5. Zahlungseinzug

Nachdem der Händler dem Kunden die Ware zugestellt hat, wird er den Rechnungsbetrag vom Kunden einziehen wollen. Hierzu erstellt er einen Capture Request (CapReq), der die TID, den Rechnungsbetrag und weitere Informationen bzgl. der Transaktion erhält. Diese Informationen und seine beiden Zertifikate signiert er und verschlüsselt sie zur vertraulichen Übertagung an die Bank Hat er von der Bank einen Capture Token erhalten, so sendet er diesen mit.
Bank

Händler
CryptKey7(signH(CapReq, SignCertH, CryptCertH), CryptPubB(Key7)
CryptKey6(CapToken), CryptPubB(Key6)

Die Bank entschlüsselt Capture Request und Capture Token, prüft die Signaturen und leitet bei Übereinstimmung aller Werte die Überweisung des Rechnungsbetrags vom Konto des Kunden auf das Händlerkonto ein. Dies ist ein Vorgang der generell bei Kreditkartentransaktionen nötig ist, und ist somit nicht speziell für SET spezifiziert. Ist dies geschehen, unterrichtet er den Händler über den Zahlungseinzug mittels einer Capture Response (CapResp), die er verschlüsselt an den Händler sendet.

Händler

Bank
CryptKey8(signB(CapResp, SignCertB)), CryptPubH(Key8)

Der Händler entschlüsselt die Nachricht und prüft die Signatur und speichert die Capture Response, bis der Betrag endgültig auf seinem Konto verbucht wird.

<-- zurück

Gerhard Schwaiger email
Hannes Kriegner email
25.05.2000