• Ich baue das NAB Transact Payment Gateway derzeit in einen E-Commerce-Shop ein. Sobald die Zahlung verarbeitet wurde, sendet das NAB Transact-System eine POST-Anforderung an unseren Endpunkt, damit wir das Ergebnis verarbeiten können.

    Das Problem ist, dass die POST-Anforderung keinen sicheren Hash / Token enthält , die wir verwenden können, um zurück an das NAB Transact-System zu senden, um zu bestätigen, dass die Anfrage echt ist und nicht gefälscht ist. Schlimmer noch: Das NAB Transact-System verfügt nicht einmal über eine API für die Authentifizierung von Informationen, im Wesentlichen sehr schlechte Sicherheit!

    Gibt es eine Möglichkeit, diese Anforderungen sicher zu authentifizieren? Überprüfen Sie beispielsweise, ob die Anforderungen von einer Liste bekannter IP-Adressen stammen, mit denen das NAB-Transaktionssystem arbeitet. Oder eine IP-Adresse umkehren? Welche Optionen gibt es und wie würden Sie dies in PHP implementieren?

    Ist die IP-Authentifizierung nicht so sicher, da sie gefälscht werden kann?

    22 November 2011
    cappuccino
2 answers
  • Authentifizierung basierend auf IP-Adressen ist in Ordnung, wenn Sie:

    • die Liste der IP-Adressen kennen (dh diejenigen, die vom Zahlungsanbieter verwendet werden)
    • die IPs sind statisch (natürlich, aber wenn die Anfrage tatsächlich vom Provider gesendet wird und nicht z. B. durch ein verstecktes Formular auf der Seite "Zahlung erfolgreich" ist dies der Fall)
    • Sie werden sofort über Änderungen informiert (oder Ihr Skript kann gültige Anfragen ablehnen oder Anfragen von IPs akzeptieren, die nicht mehr vom Provider verwendet werden.)
    • alle Systeme, die die IP-Adresse verwenden können (Das heißt, die Server des Zahlungsanbieters gehen davon aus, dass das Rechenzentrum keine bescheidene Netzwerkeinrichtung verwendet), vertrauen darauf, dass keine falschen Benachrichtigungen gesendet werden.

    Spoofing Die Quell-IP ist nicht möglich, da TCP einen Drei-Wege-Handshake verwendet und mit einer gefälschten IP-Adresse der Handshake fehlschlägt.

    Grundsätzlich gilt: Authentifizierung über IP ist bei einigen grundlegenden Kriterien akzeptabel getroffen werden (siehe oben), aber es wäre natürlich sicherer, wenn sie es schaffen Sie haben die Möglichkeit, die Benachrichtigung zu überprüfen - entweder durch Aufrufen einer API auf ihrer Seite oder durch Verwendung einer kryptografischen Signatur (besser, da sie aufgrund eines nicht erreichbaren Remote-Servers nicht fehlschlagen kann).

    22 November 2011
    ThiefMasterRob M.
  • Das Problem besteht darin, dass die POST-Anforderung keinen sicheren Hash / Token enthält, mit dem wir das NAB Transact-System buchen können, um zu bestätigen, dass die Anforderung echt ist und nicht gefälscht

    Ja, das ist schon ein Problem:)

    Ist die Verwendung der IP-Authentifizierung nicht so sicher, da sie gefälscht werden kann?

    Es ist nicht ALLES sicher!

    22 November 2011
    paulsm4