TLS Handshake: Under The Hood

Server — ServerKeyExchange

tämä viesti sisältää avainten vaihtoalgoritmin parametrit, joita asiakas tarvitsee palvelimelta johtaakseen intermiate-salaisuuksia, joita käytetään molempien osapuolten rakentaessa lopullisia istuntoavaimia symmetristä salausta varten. Se on valinnaista, koska jotkin avainten vaihtoalgoritmit, kuten RSA-avainten vaihto, eivät vaadi näitä parametreja, koska palvelimen varmenne itsessään riittää siihen, että asiakas voi rakentaa ja turvallisesti kommunikoida esi-master-salaisuuden palvelimelle.

esim. jos palvelimen edellisessä vaiheessa valitsema avainten vaihtotapa on Diffie–Hellman (DH), palvelin sisältää varmenteen jälkeen tämän viestin, joka sisältää pääsalaisuuden luomiseen tarvittavat julkiset komponentit.

Server — CertificateRequest

tämä viesti lähetetään, jos SSL-asiakkaan todennus on käytössä palvelimessa. Tätä ei yleensä vaadita useimmissa verkkopalvelimissa, mutta korkeiden tietoturvavaatimusten vuoksi palvelin saattaa vaatia asiakkaan varmenteen todennusta varten. Varmennepyynnön ohella sever lähettää hyväksyttäviä asiakastyyppejä ja ilmoittaa myös luettelon varmenneviranomaisten erottuvista nimistä, joihin palvelin luottaa. Tämä luettelo sisältää CA viranomaiset saatavilla palvelimen truststore.

Server — ServerHelloDone

lopuksi palvelin lähettää ServerHelloDone-viestin, joka ilmoittaa asiakkaalle, että palvelin on läpäissyt suojausparametrit. Tämä viesti päättää palvelimen osan kättelystä. Tämä viesti ei sisällä muita tietoja.

Asiakasvarmenne

asiakas vastaa Asiakasvarmenteella, jos palvelin pyytää asiakkaan todennusta Varmennepyyntöviestillä. Kuitenkin ennen varmenteen lähettämistä asiakas tarkistaa myöntäjän DN of client-varmenteen löytyy palvelimen lähettämästä luotettavien CAs-nimien luettelosta. Jos liikkeeseenlaskijan DN: ää ei löytynyt, asiakas ei lähetä varmennettaan palvelimelle. Palvelinpuolella jos asiakasvarmenteen todennus on pakollinen, TLS-kädenpuristus epäonnistuu tässä. Muussa tapauksessa asiakas lähettää varmenteen ja tarvittavat välivarmenteet, jotka ketjuttavat varmennepyyntösanomassa lueteltuun sovitettuun DN: ään.

Client — ClientKeyExchange

ClientKeyExchange-viesti sisältää asiakkaan luoman esi-master-salaisuuden. Tämä tapahtuu molempien osapuolten aiemmassa vaiheessa vahvistaman salakirjoitussarjan mukaisesti. Sekä asiakas että palvelin käyttävät tätä luodakseen pääsalaisuuden, josta molemmat saavat lopulliset salausavaimet, joita tarvitaan encypted-kanavan muodostamiseen. Asiakas salaa esi-master-salaisuuden palvelimen julkisella avaimella siten, että jos salakuuntelija sieppaisi tämän datan, hän ei pysty purkamaan sitä, koska hänellä ei ole pääsyä palvelimen yksityiseen avaimeen. Yleisavain antaa palvelimelle tarvittavat tiedot symmetrisen salauksen avainten tuottamiseksi. Kuitenkin, jos tähän istuntoon valittu salakirjoituspaketti oli DH, ClientKeyExchange sisältää asiakkaan julkiset DH-parametrit esi-master-salaisuuden sijaan.

Client — CertificateVerify

asiakas käyttää tätä viestiä todistaakseen palvelimelle, että sillä on julkisen avaimen varmennetta vastaava yksityinen avain. Viestissä on hashed-tieto (hash kaikista tähän mennessä kättelyprosessin aikana vaihdetuista viesteistä), jonka asiakas allekirjoittaa digitaalisesti. Se on tarpeen, jos palvelin antoi CertificateRequest asiakkaalle, niin että asiakas on lähettänyt varmenteen vastauksena whic on todennettava palvelimen puolella.

Client — ChangeCipherSpec

ChangeCipherSpec-viesti on vain asiakkaan viesti, joka ilmoittaa palvelimelle, että kaikki asiakkaan lähettämä tieto tästä eteenpäin salataan sovittujen suojausparametrien avulla. Tässä vaiheessa sekä asiakkaalla että palvelimella on kaikki tarvittavat komponentit pääsalaisuuden luomiseen ja sen jälkeen salausteknisten istuntoavainten johtamiseen.
molemmat osapuolet vahvistavat, että kättely on sujunut suunnitellusti ja että molemmat ovat luoneet identtiset avaimet lähettämällä viimeisen salatun valmiin viestin, jossa ilmoitetaan toisilleen, että CipherSuite on aktivoitu.

Client — Finished

ensin asiakas lähettää salatun valmiin viestin palvelimelle. Tämä viesti on kryptografinen hash (message digest), kaikista aiemmista kättelyviesteistä yhteensä, jota seuraa erityinen numero, joka tunnistaa asiakkaan roolin, master secret ja padding. Tämä salataan juuri luodulla istuntoavaimella ja lähetetään palvelimelle.

Server — ChangeCipherSpec

nyt palvelin lähettää changecipherspec-viestin takaisin asiakkaalle kertoakseen asiakkaalle, että kaikki tämän viestin jälkeinen tieto salataan.

palvelimelle valmis

ChangeCipherSpec — sanomaa seuraa salattu valmis viesti palvelimelta asiakkaalle. Tämä on palvelimen luoma kryptografinen hash, kaikista hanshake-prosessin aikana käytetyistä komponenteista sekä palvelinroolin tunnistavasta erikoisnumerosta.

Vastaa

Sähköpostiosoitettasi ei julkaista.