You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

Hash MAC-Authentisierung im Notify

Der Shop muss überprüfen, ob eine Benachrichtigungsanfrage wirklich von Computop Paygate stammt. Anderenfalls kann ein Angreifer eine Transaktion initialisieren und dann diese Benachrichtigung fälschen. Ein Shop-Betreiber wird nicht manuell prüfen, ob in jedem Fall eine entsprechende Transaktion durchgeführt wurde. Deshalb muss das Modul dies automatisch machen.

Derzeit ist die Benachrichtigungsanfrage nur verschlüsselt. Diese Verschlüsselung garantiert jedoch nicht die Authentizität einer Nachricht. Sie garantiert nur, dass eine Nachricht nicht mitgehört werden kann. Daher ist diese Sicherheitsmaßnahme unzureichend.

Deshalb wird der Antwortparameter MAC verwendet, der mit demselben Algorithmus wie der MAC in der Anfrage gebildet wird. Nur die Datenparameter unterscheiden sich.

Für die Hash-Generierung gilt hier folgendes Datenmuster: PayID*TransID*MerchantID*Status*Code

Der Paremter MAC wird nur an URLSuccess oder URLFailure sowie für URLNotify zurückgegeben.

Ihre Integration muss prüfen, ob die erhaltene Antwort authentisch ist. 

Folgende Tabelle beschreibt, wie Sie die Hash-Werte erzeugen, um die erhaltene Antwort vom Computop Paygate zu validieren:

Schritt

Aufgabe

1

Melden Sie sie bitte beim Computop Helpdesk an, der Ihnen das Hash-Kennwort mitteilt.

2

Der HMAC-Wert wird mit Hilfe des Kennworts und mehrerer Parameterwerte berechnet. Zur Berechnung werden die Parameter PayID, TransID, MerchantID, Status und Code verwendet und mit Sternchen getrennt:

PayID*TransID*MerchantID*Status*Code 

KeyWertAnmerkungen
PayIDReferenzierte PayID
Zurückgegebene PayID von Computop Paygate
TransIDIhre Transaktions-ID zur Referenzierung / Identifikation Ihrer AnfrageIhre eigene Referenz zur Identifikation jeder Anfrage / jedes Zahlungsvorgangs.
MerchantIDIhre von Computop vergebene MerchantIDIhre MerchantID zur Identifikation dieser Anfrage.
StatusStatus in der AntwortStatus der Antwort, z.B. AUTHORIZED, FAILED, OK, ...
CodeCode in der AntwortCode der Antwort, z.B. 00000000, 22720040, ...
YourHmacPasswortIhr von Computop zugeteiltes MAC-KennwortIhr zu einer bestimmten MID zugeordnetes MAC-Kennwort; falls Sie mehrere MIDs haben, haben Sie auch verschiedene MAC-Kennwörter.


Beispiele zur MAC-BerechnungFormelErgebnis
Autorisierte Zahlungsha256("7bbb448155234d8cbee323778952ce28*TID-12033175321270170232*yourMerchantId*AUTHORIZED*00000000", "mySecret")4CDCB4DE587AC210F21DE0591689B920CF56D89B38D4C7B1B7F8867BFC93E02C
Gescheiterte Zahlungsha256("7bbb448155234d8cbee323778952ce28*TID-12033175321270170232*yourMerchantId*FAILED*22720040", "mySecret")

0061D6AD2951C46A5507C3CA6B6236A32FD14ABA285722E87AF2A329FBDEFACD

3

Verwenden Sie den MAC SHA-256-Algorithmus, den fast alle Programmiersprachen unterstützen, um den Hash-Wert mit dem Kennwort und den Parameterwerten zu berechnen.

4

Überprüfen Sie

  • den erhaltenen MAC-Wert aus der Antwort vom Computop Paygate
  • dessen Übereinstimmung mit dem selbst berechneten MAC-Wert

um sicherzustellen, dass die erhaltene Nachricht authentisch ist.

 

Ihre Implementierung prüfen

Eine einfache Anwendung zur Überprüfung der Umsetzung Ihrer MAC-Berechnung finden Sie hier: https://computop.com/paygate-test

Mit der Anwendung können Sie mit unserer Paygate API spielen – verwenden Sie einfach Ihre MerchantID und Ihr Blowfish-Kennwort, die Sie bereits erhalten haben.

Der Parameter MAC wird nur an die URLSuccess oder URLFailure und für Notifys zurückgegeben.


Wichtig: Kennwörter dürfen niemals per E-Mail versendet wrden, weil in diesem Fall sofort die Sicherheit verschlpüsselter Anfragen/Antworten nicht mehr gewährleistet ist. Falls versehentlich Kennwörter per E-Mail versendet wurden, müssen neue Kennwörter auf Kosten des Händlers oder bei der nächsten Standardfreigabe hinterlegt werden. Computop weist ausdrücklich auf das Risiko der weiteren Verwendung solcher kompromittierter MIDs hin. Falls ein Händler eine solche kompromittierte MID dennoch weiter verwendet, trägt er selbst das Haftungsrisiko für mögliche Verluste durch die kompromittierten Kennwörter.

  • No labels