Kennis · Security
Wat maakt een API-koppeling eigenlijk veilig?
Een token is niet genoeg. Veilige koppelingen vragen om authenticatie, autorisatie, validatie en logging als samenhangende maatregelen.
Wanneer twee systemen worden gekoppeld via een API, is de eerste vraag vaak: "Hoe beveiligen we dit?" Het antwoord is dan al snel: "Met een API key" of "Met een OAuth token." Maar een token alleen maakt een koppeling niet veilig.
Een veilige koppeling bestaat uit meerdere lagen die samen bepalen of de koppeling verantwoord inzetbaar is:
Authenticatie: wie is de afzender?
De eerste laag is vaststellen wie de afzender is. Bij machine-to-machine communicatie gaat dat vaak via client credentials, API keys of mutual TLS. Het belangrijkste is dat de identiteit van de aanroepende partij ondubbelzinnig vaststaat.
Een API key die in een configuratiebestand staat en nooit geroteerd wordt, is geen degelijke authenticatie. Het is een gedeeld geheim zonder levenscyclus.
Autorisatie: wat mag deze partij?
Weten wie de afzender is, is niet genoeg. De volgende vraag is: wat mag deze partij doen? Welke endpoints mag die aanspreken? Welke gegevens mag die opvragen of wijzigen?
Goede autorisatie is specifiek, beperkt en afdwingbaar. Niet "deze client mag alles" maar "deze client mag statusinformatie opvragen voor organisatie X."
Validatie: klopt wat er binnenkomt?
Elk bericht dat een API ontvangt, moet gevalideerd worden. Niet alleen op formaat, maar ook op inhoudelijke consistentie. Klopt het referentienummer? Valt de waarde binnen de verwachte range? Is het bericht niet al eerder verwerkt?
Validatie is een beveiligingsmaatregel. Ongevalideerde input is een risico.
Logging: wat is er gebeurd?
De laatste laag is zichtbaarheid. Wie heeft wanneer welke actie uitgevoerd? Wat was het resultaat? Welke gegevens zijn uitgewisseld?
Goede logging maakt het mogelijk om achteraf vast te stellen wat er is gebeurd. Dat is niet alleen nuttig bij incidenten, maar ook bij audits, geschillen of gewoon het begrijpen van systeemgedrag.
Een veilige koppeling is niet één maatregel, maar een samenspel van authenticatie, autorisatie, validatie en logging. Pas als die vier op orde zijn, is sprake van een verantwoorde integratie.
In de praktijk
Bij veel organisaties zien we dat koppelingen "werken" maar niet beheersbaar of controleerbaar zijn. Er is een token, maar geen logging. Er is validatie, maar geen autorisatiemodel. Er is een koppeling, maar niemand weet precies wat er doorheen gaat.
Wij ontwerpen koppelingen waar al deze lagen van begin af aan meegenomen worden. Niet als extra complexiteit, maar als voorwaarde voor een oplossing die vertrouwd kan worden.