Certificate pinning är en metod för att förhindra Man-in-the middle (MITM)attacker vid användandet av certifikat i en Public key infrastructure (PKI). Detta sker genom att en klient fäster ett certifikat eller en publik nyckel vid en server eller dylik entitet. Vid nästa kontakt mot servern jämför klienten dess lagrade valideringsdata mot det nuvarande certifikatet utan kontakt med en Certifikatutfärdare (CA) och kan då se om någon har påverkat servern eller dess certifikat.

Hur redigera

En klient kan fästa ett certifikat för en viss server första gången de kommunicerar med varandra, detta sker då i hopp om att det certifikat servern använt är rätt.[1] Risken finns här att en MITM-attack utförs och att klienten därmed fäster ett falskt certifikat.

I en applikation eller ett program så kan skaparen fästa ett certifikat eller public nyckel till en server som programmet regelbundet kontaktar.[2] Detta möjliggör då för programmet att verifiera att den har fått kontakt med rätt server, dock måste programmet uppdateras med jämna intervall då certifikat håller en begränsad tid.

Exempel redigera

Ett företag som utnyttjar detta är Google med sin webbläsare Chrome i vilken de har fäst certifikaten för Googles tjänster.[3]

Referenser redigera