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 Parameter 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:
| ||||||||||||||||||||||||||||||
3 | Verwenden Sie den HMAC 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
um sicherzustellen, dass die erhaltene Nachricht authentisch ist. |
Ihre Implementierung prüfen
Eine einfache Anwendung zur Überprüfung der Umsetzung Ihrer HMAC-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.
Wichtig: Der Shop muss überprüfen, ob eine Benachrichtigungsanfrage wirklich von Computop Paygate stammt. Dazu muss aus den übermittelten Werten für PayID, TransID, MerchantID, Status und Code mit Ihrem HMAC-Passwort ein HMAC-Wert errechnet und dieser mit dem MAC-Wert der Anfrage verglichen werden. Sind die Werte nicht identisch, so darf die Benachrichtigungsanfrage nicht verarbeitet werden.
Wichtig: Zur Berechnung wird dieses Mal die von Computop Paygate in der Benachrichtigungsanfrage übermittelte MID verwendet.
Wichtig: Kennwörter dürfen niemals per E-Mail versendet werden, weil in diesem Fall sofort die Sicherheit verschlü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.