PKI och Certifikat

PKI – Public Key Infra structure d.v.s. en miljö där Certifikat utfärdas av företag eller organisationer (CA Certificat Authority) till verifierade anv./organisationer. CA tillhandahåller möjlighet för andra att kontrollera status på dessa Certifikat m.h.a. crl (listor på revokerade certifikat) eller ocsp (onlinefråga till CA).

Det här med Certifikat och CA är tydligen inte så enkelt, eller?
Det är ett område som ställt till med mycket huvudbry under årens lopp.
Kanske beroende på att det oftast fungerar automatiskt så bryr sig inte utvecklare om att fundera på vad som händer och står därför frågande när de ska driftsätta sin applikation i produktionsmiljö.

Certifikaten har två uppgifter, identifierare och publik krypteringsnyckel.

För att ett uppvisat Certifikat skall accepteras måste man ha utfärdarens Certifikat installera, (CAcert). Normalt finns ett stort antal CAcert med i operativsystemets standardinstallation, men om man vill öka säkerheten kan man välja ut enbart de som applikationen behöver genom att skapa sitt eget PKIstore. Ett problem här är att organisationer byter utgivare utan att meddela sina användare/partners och plötsligt slutar kommunikationen fungera.
Ett annat problem är att nyckellängden på signatur/nycklar i takt med att man lyckas knäcka koden förlängs och då måste man byta även CA cert.
Ett tredje problem kan vara att klient och server inte kan komma överens om vilken krypteringsalgoritm som skall användas. Inte något som direkt har med PKI att göra men en parameter att titta på vid felsökning. Det har blivit allt större krav på starkare kryptering och en del mjukvara har inte hunnit med att bygga in dessa eller så har kunden helt enkelt inte uppdaterat sin mjukvara till senare version.
För att vara säker på att Certifikatet är giltigt måste man även kontrollera att det inte är revokerat eller utgånget(giltighetstid finns angivet i Certifikatet) genom att hämta crl eller verifiera med ett ocsp anrop till CA. Vilket som gäller för Certifikatet i fråga kan man se i den information som finns i Certifikatet. Enklast är att anropa tjänsten som visar upp Certifikatet med webbläsare och högerklicka på låset och klicka sig vidare till Visa Certifikat etc.
Exempel:
OCSP: URI: http://ocsp.int-x3.letsencrypt.org/
CA-utgivare: URI: http://cert.int-x3.letsencrypt.org/