aDev.si

a dev is all you need

SSL (Secure Sockets Layer)

Odjemalec pošlje strežniku številko verzije SSL, seznam kriptografskih in zgostitvenih algoritmov , ki jih podpira, in naključno generirano število. Če to ni prvi poskus povezave in hoče le nadaljevati že prej začeto povezavo, pošlje tudi oznako seje (Session ID), sicer je to polje prazno.

Strežnikov odgovor vsebuje izbrane algoritme (iz nabora, ki ga je predlagal odjemalec), certifikat (v katerem je vključen javni ključ), svoje naključno generirano število in oznako seje (Session ID). Če je od odjemalca dobil oznako seje, išče podatke o njej in če jih najde, preskočita del nadaljnjih faz, sicer pa odgovori z novo oznako seje. Certifikat vsebuje poleg lastnega še verigo certifikatov nadrejenih organizacij.

Strežnik lahko tudi zahteva odjemalčev certifikat – v tem primeru so potrebne še dodatne faze.

Povezava se ne vzpostavi, če nimata skupnih algoritmov, če odjemalec ne zna preveriti certifikata strežnika ipd.

izmenjava ključa (Key Exchange)

Odjemalec preveri strežnikov certifikat, tvori 48-bajtno osnovo za ključ (pre-master key), jo zašifrira s strežnikovim javnim ključem in odpošlje. Zdaj vsak zase izračunata glavni ključ (master-key): to je z zgostitvenim algoritmom dobljeno število iz prej izmenjanih naključnih števil ter osnove za ključ (pre-master).

zaključek (Finished)

V tej fazi si izmenjata potrditvi dogovorjenih postopkov in ključa. Če se ujemata, pomeni, da je bil ta del uspešen in bo delo prevzel Record Protocol.

SSL Record Protocol

poskrbi, da se sporočila pretakajo v zapisih, dolgih do 214 bajtov (16384). Vsak zapis, ki ga izmenjata, ima drug ključ, ki je izračunan z zgostitvenim algoritmom iz glavnega ključa, zaporedne številke zapisa, prej izmenjanih naključnih števil in oznake povezave. Zapis se začne s podatki o dolžini zapisa, potem sledi MAC (Message Authentication Code), dejanski podatki in včasih še dodani bajti zaradi šifrirnega algoritma. MAC je narejen z zgostitvenim algoritmom iz trenutnega ključa, podatkov in zaporedne številke zapisa.

V opisu protokola algoritmi niso zafiksirani in jih določi proizvajalec posameznega programskega produkta.

Protokol stalno izboljšujejo (ssl-talk-faq.txt). Kako je to rešeno v strežniku Netscape Enterprise Server in odjemalcu Netscape Navigator:

Če hočemo prenašati dokumente preko SSL, moramo na strežniku poskrbeti, da ima veljaven certifikat.

Netscape pri instalaciji strežnika ponuja nabor certifikatskih agencij, ki jim lahko pošljemo svoj javni ključ v preverjanje (Verisign,…), lahko pa si izberemo agencijo, ki je ni na seznamu. Strežnik pripravi prošnjo v obliki elektronskega pisma, ki vsebuje javni ključ in podatke o naši organizaciji, podpisano s skritim ključem. Ko dobimo veljaven certifikat (zašifriran je s strežnikovim javnim ključem), ga vgradimo v strežnik. Poleg lastnega certifikata strežnika vključimo certifikat agencije, ki ga je izdala, lahko pa tudi certifikate drugih agencij, ki jim zaupamo.

Ko vključimo SSL, na strežniku določimo, ali dovolimo priključitev odjemalcem brez certifikatov ali pa morajo imeti certifikat določene agencije. V Navigatorju (od verzije 2 naprej) urejamo nastavitve v Options -> Security Preferences. V verziji 2 smo imeli možnost izbrati agencije strežnikov, ki jim zaupamo (Site Certificates), od verzije 3 naprej pa poznamo tudi lastne certifikate (Personal certificates). Vgrajena je možnost dobiti certifikat od Verisigna, za druge agencije poiščemo njihove prijavnice.

zgostitveni algoritem: MD5

simetr.algoritem-ameriška verzija: RC4 (40 ali 128 bitni ključ), RC2 (40 ali 128 bitni ključ), DES (56), DES3 (112)

izvozna verzija: RC4 (40)

Francoski študent Damien Doligez je leta 1995 potreboval teden dni in 120 delovnih postaj, da je dešifriral ključ ene povezave. Netscape odgovarja na obtožbe o šibki zaščiti izvozne verzije, da je zaenkrat neprimerno laže priti npr. do številke kreditne kartice na drugačen način. Gotovo pa ta način ni primeren za zelo zaupne podatke. Upajmo, da bodo podoben softver kot Netscape začele izdelovati neameriške organizacije, za katere ne bodo veljale ameriške ali kakšne druge izvozne omejitve.

Naslovi dokumentov, ki gredo skozi SSL, se začnejo s “https://” namesto s “http://”, običajna vrata (port) so 443 (in ne 80). To omogoča, da imamo na istem strežniku tako podatke, ki niso zaščiteni (http), kot zaščitene (https). Če gre za povezavo preko SSL, nas Netscape Navigator na to opozori tako, da spremeni ikono v spodnjem levem kotu: zlomljeni ključ na sivi podlagi se spremeni v celega na modri podlagi. Natančnejše podatke o načinu šifriranja vidimo, če odpremo “Document Info” v meniju View.

Leave a Comment

Vaš e-naslov ne bo objavljen. * označuje zahtevana polja