Dela via


Infrastruktur för offentliga nycklar

Kryptering med offentlig nyckel (kallas även asymmetrisk nyckelkryptografi) använder ett nyckelpar för att kryptera och dekryptera innehåll. Nyckelparet består av en offentlig och en privat nyckel som är matematiskt relaterad. En person som har för avsikt att kommunicera säkert med andra kan distribuera den offentliga nyckeln men måste hålla privat nyckel hemlig. Innehåll som krypteras med hjälp av en av nycklarna kan dekrypteras med hjälp av den andra. Anta till exempel att Bob vill skicka ett säkert e-postmeddelande till Alice. Detta kan göras på följande sätt:

  1. Både Bob och Alice har sina egna nyckelpar. De har hållit sina privata nycklar säkert för sig själva och har skickat sina offentliga nycklar direkt till varandra.
  2. Bob använder Alices offentliga nyckel för att kryptera meddelandet och skickar det till henne.
  3. Alice använder sin privata nyckel för att dekryptera meddelandet.

Det här förenklade exemplet belyser minst ett uppenbart problem som Bob måste ha om den offentliga nyckel som han använde för att kryptera meddelandet. Det innebär att han inte med säkerhet kan veta att nyckeln han använde för kryptering faktiskt tillhörde Alice. Det är möjligt att en annan part som övervakar kommunikationskanalen mellan Bob och Alice ersatte en annan nyckel.

Infrastrukturkonceptet för offentlig nyckel har utvecklats för att hjälpa till att lösa det här problemet och andra. En offentlig nyckelinfrastruktur (PKI) består av programvaru- och maskinvaruelement som en betrodd tredje part kan använda för att upprätta integritet och ägarskap för en offentlig nyckel. Den betrodda parten, som kallas certifikatutfärdare (CA), utför vanligtvis detta genom att utfärda signerade (krypterade) binära certifikat som bekräftar certifikatets identitet och binder identiteten till den offentliga nyckeln i certifikatet. Certifikatutfärdare signerar certifikatet med hjälp av sin privata nyckel. Den utfärdar motsvarande offentliga nyckel till alla berörda parter i ett självsignerat CA-certifikat. När en ca används kan föregående exempel ändras på följande sätt:

  1. Anta att certifikatutfärdare har utfärdat ett signerat digitalt certifikat som innehåller dess offentliga nyckel. Certifikatutfärdare signerar certifikatet själv med hjälp av den privata nyckel som motsvarar den offentliga nyckeln i certifikatet.
  2. Alice och Bob samtycker till att använda certifikatet för att verifiera sina identiteter.
  3. Alice begär ett certifikat för offentlig nyckel från certifikatutfärdare.
  4. Certifikatutfärdare verifierar sin identitet, beräknar en hash av innehållet som ska utgöra certifikatet, signerar hashen med hjälp av den privata nyckeln som motsvarar den offentliga nyckeln i det publicerade CA-certifikatet, skapar ett nytt certifikat genom att sammanfoga certifikatinnehållet och den signerade hashen och göra det nya certifikatet offentligt tillgängligt.
  5. Bob hämtar certifikatet, dekrypterar den signerade hashen med hjälp av certifikatutfärdarcertifikatets offentliga nyckel, beräknar en ny hash för certifikatinnehållet och jämför de två hashvärdena. Om hashvärdena matchar verifieras signaturen och Bob kan anta att den offentliga nyckeln i certifikatet verkligen tillhör Alice.
  6. Bob använder Alices verifierade offentliga nyckel för att kryptera ett meddelande till henne.
  7. Alice använder sin privata nyckel för att dekryptera meddelandet från Bob.

Sammanfattningsvis gör processen för certifikatsignering att Bob kan kontrollera att den offentliga nyckeln inte har manipulerats eller skadats under överföringen. Innan du utfärdar ett certifikat hashar certifikatutfärdare innehållet, signerar (krypterar) hashen med hjälp av sin egen privata nyckel och innehåller den krypterade hashen i det utfärdade certifikatet. Bob verifierar certifikatinnehållet genom att dekryptera hashen med den offentliga ca-nyckeln, utföra en separat hash för certifikatinnehållet och jämföra de två hash-värdena. Om de matchar kan Bob vara ganska säker på att certifikatet och den offentliga nyckeln som det innehåller inte har ändrats.

En typisk PKI består av följande element.

Element Beskrivning
Certifikatutfärdare
Fungerar som roten till förtroende i en offentlig nyckelinfrastruktur och tillhandahåller tjänster som autentiserar identiteten för enskilda användare, datorer och andra entiteter i ett nätverk.
Registreringsutfärdarmyndighet
Certifieras av en rotcertifikatutfärdare för att utfärda certifikat för specifika användningsområden som tillåts av roten. I en Microsoft PKI kallas en registreringsutfärdare (RA) vanligtvis för en underordnad certifikatutfärdare.
Certifikatdatabas
Sparar certifikatbegäranden och utfärdade och återkallade certifikat och certifikatbegäranden på certifikatutfärdare eller RA.
Certifikatarkiv
Sparar utfärdade certifikat och väntande eller avvisade certifikatbegäranden på den lokala datorn.
Nyckelarkiveringsserver
Sparar krypterade privata nycklar i certifikatdatabasen för återställning efter förlust.

Med API:et för certifikatregistrering kan du skicka certifikat- och nyckelarkiveringsbegäranden till certifierings- och registreringsmyndigheter och installera det utfärdade certifikatet på en lokal dator. Du kan inte ändra certifikatdatabasen eller certifikatarkivet direkt.

Följande avsnitt beskriver Microsofts infrastruktur för offentliga nycklar i detalj:

Om API:et för certifikatregistrering