Integracje API wymagają nie tylko kontroli dostępu, ale także zapewnienia autentyczności i integralności każdego żądania. W tym celu obsługujemy podpisy HMAC (Hash-based Message Authentication Code), a także szyfrowanie ciała i parametrów żądań, zapewniając ochronę danych nawet w przypadku transmisji przez otwarte sieci.
Za pomocą HMAC każda strona (klient i serwer) potwierdza, że żądanie zostało utworzone przez autoryzowaną stronę, nie zostało zmienione na ścieżce i zaszyfrowane treści.
Co jest wdrażane
| Mechanizm | Cel i korzyści |
|---|---|
| Podpisy HMAC | Podpisz każde żądanie kluczem prywatnym |
| Kontrola integralności | Sprawdzanie, czy zawartość nie została zmieniona podczas przesyłania |
| Żądanie szyfrowania ciała | Użyj AES lub RSA do ochrony danych wrażliwych |
| Podpisane znacznikiem czasowym | Ochrona przed atakiem powtórnym |
| Podpisywanie parametrów zapytania | Walidacja łańcucha zapytań i ładunku poprzez funkcję hash |
Jak to działa?
1. Klient generuje organ żądania i dodaje znacznik czasu
2. Obliczony przez HMAC (np. SHA256) oparte na tajemnicy i treści
3. Podpis jest dodawany do nagłówka (na przykład „X-Signature”)
4. Serwer sprawdza podpis, znacznik czasu i prawidłowy kod IP
5. Jeśli podpis pasuje, żądanie jest wykonywane, w przeciwnym razie zostaje odrzucone
Korzyści z integracji API
Ochrona przed zastąpieniem lub zniekształceniem wniosku
Możliwość bezpiecznej komunikacji bez TLS (w sieciach zamkniętych)
Zwiększenie zaufania do łącza danych
Niezależność platformy lub języka
Elastyczna realizacja dla różnych rodzajów klientów: kasy, bramy, dostawcy
Gdzie szczególnie ważne
Integracja z systemami płatniczymi, pieniężnymi lub fiskalnymi
API działające w środowisku wielopłatowym lub partnerskim
Systemy o zwiększonych wymaganiach w zakresie weryfikacji żądań
Interakcje między służbami wewnętrznymi bez stałego zezwolenia
Podpis i szyfrowanie HMAC jest blokadą API przed fałszowaniem i manipulowaniem. Takie mechanizmy pozwalają na budowanie niezawodnej integracji nawet w warunkach zwiększonych wymogów bezpieczeństwa.