TLS Handshake: Under huven

Server-Servereyexchange

detta meddelande bär nycklarna Exchange algoritm parametrar som klienten behöver från servern för att härleda intermiate hemligheter som kommer att användas vid konstruktion av den slutliga sessionsnycklar för symmetrisk kryptering av båda parter. Det är valfritt, eftersom vissa nyckelutbytesalgoritmer som RSA-nyckelutbyte inte kräver dessa parametrar, eftersom serverns certifikat i sig kommer att räcka för att klienten ska kunna konstruera och säkert kommunicera Pre-master-hemligheten med servern.

T. ex. om metoden för nyckelutbyte som valts av servern i ett tidigare steg är Diffie-Hellman (DH), innehåller servern detta meddelande efter certifikatet, vilket kommer att innehålla de offentliga komponenter som krävs för att generera huvudhemligheten.

Server-CertificateRequest

detta meddelande skickas om SSL-klientautentisering är aktiverad på servern. Detta krävs normalt inte i de flesta webbservrar, men för höga säkerhetskrav kan servern kräva klientens certifikat för autentisering. Tillsammans med certifikatbegäran skickar sever de klienttyper som är acceptabla och anger också en lista över utmärkta namn på certifikatmyndigheter som är betrodda av servern. Den här listan innehåller CA-myndigheter som finns i serverns truststore.

Server-ServerHelloDone

slutligen skickar servern ServerHelloDone-meddelandet som indikerar till klienten att servern är klar med säkerhetsparametrar. Detta meddelande avslutar serverns del av handskakningsförhandlingen. Detta meddelande kommer inte att innehålla någon annan information.

klientcertifikat

klienten svarar med ett klientcertifikat om servern begär klientautentisering med certifikatbegäran. Men innan du skickar certifikatet kommer klienten att kontrollera emittentens DN av klientens certifikat finns i listan över framstående namn på betrodda CAs som skickas av servern. Om emittentens DN inte hittades skickar klienten inte sitt certifikat till servern. På serversidan om klientcertifikatautentisering är obligatorisk misslyckas TLS-handskakningen här. Annars skickar klienten sitt certifikat och alla nödvändiga mellanliggande certifikat som kedjar till det matchade DN som anges i certifikatbegäran.

Client — ClientKeyExchange

clientkeyexchange-meddelandet innehåller pre-master-hemligheten, som genereras av klienten. Detta sker enligt chiffersviten aggreed av båda parter i ett tidigare steg. Både klienten och servern kommer att använda detta för att generera en huvudhemlighet från vilken de båda kommer att härleda de slutliga kryptografiska nycklarna som krävs för att upprätta den krypterade kanalen. Klienten krypterar Pre-master-hemligheten med serverns offentliga nyckel så att om en avlyssnare skulle fånga upp denna bit data kommer han inte att kunna dekryptera den eftersom han inte har tillgång till serverns privata nyckel. Huvudnyckeln ger servern de data som krävs för att generera nycklarna för den symmetriska krypteringen. Men om chiffersviten som valts för den här sessionen var DH, innehåller ClientKeyExchange klientens offentliga dh-parametrar istället för en pre-master-hemlighet.

Client — CertificateVerify

detta meddelande används av klienten för att bevisa servern att den har den privata nyckeln som motsvarar dess offentliga nyckelcertifikat. Meddelandet innehåller hashad information (hash av alla meddelanden som hittills utbytts under handskakningsprocessen) som är digitalt signerad av klienten. Det krävs om servern utfärdade ett certifikatbegäran till klienten, så att klienten har skickat ett certifikat som svar som måste verifieras på serversidan.

Client-ChangeCipherSpec

ChangeCipherSpec-meddelandet är bara ett meddelande från klienten för att informera servern om att all data som klienten skickar härifrån kommer att krypteras med de överenskomna säkerhetsparametrarna. Vid denna tidpunkt har både klienten och servern alla komponenter som behövs för att generera huvudhemligheten och sedan härleda kryptografiska sessionsnycklar.båda sidor verifierar att handskakningen har gått som planerat och att båda har genererat identiska nycklar genom att skicka ett slutligt krypterat färdigt meddelande som indikerar varandra att CipherSuite är aktiverat.

Klientfärdig

först skickar klienten ett krypterat färdigt meddelande till servern. Detta meddelande är en kryptografisk hash (message digest), av alla tidigare handskakningsmeddelanden kombinerade, följt av ett speciellt nummer som identifierar klientrollen, huvudhemligheten och vadderingen. Detta krypteras med den nyligen genererade sessionsnyckeln och skickas till servern.

Server-ChangeCipherSpec

Nu skickar servern ett ChangeCipherSpec-meddelande tillbaka till klienten för att berätta för klienten att all data efter det här meddelandet kommer att krypteras.

Server — färdig

ChangeCipherSpec-meddelande följs av ett krypterat färdigt meddelande från servern till klienten. Detta är en kryptografisk hash som genereras av servern, av alla komponenter som används under hanshake-processen tillsammans med ett speciellt nummer som identifierar serverrollen.

Lämna ett svar

Din e-postadress kommer inte publiceras.