Problemos su HTTP ir paprastu tekstu
Internetas yra nepatikimas bendravimo kanalas. Kai siunčiate arba gaunate informaciją iš senos HTTP svetainės http: //www.pavyzdys.com naršyklėje daug kas gali nutikti paketams įpusėjus.
- Blogas veikėjas gali perimti ryšį, nukopijuoti duomenis prieš tai dar kartą išsiųsdamas kanale link jūsų ar serverio, su kuriuo kalbėjotės. Be abiejų šalių žinios, informacija yra pažeista. Turime užtikrinti, kad komunikacija būtų privatus.
- Blogas veikėjas gali modifikuoti informaciją, kai ji siunčiama per kanalą. Bobas galėjo išsiųsti žinutę „X“ bet Alisa gautų „Y“ iš Bobo, nes blogas aktorius perėmė pranešimą ir jį pakeitė. Kitaip tariant, vientisumas pranešimo yra pažeista.
- Galiausiai ir, svarbiausia, turime užtikrinti, kad asmuo, su kuriuo kalbamės, iš tikrųjų yra toks, kokį sako. Grįžtant prie pavyzdys.com domenas. Kaip galime įsitikinti, kad mums atsakęs serveris iš tikrųjų yra teisėtas www.pavyzdys.com? Bet kuriame tinklo taške galite būti neteisingai nukreipti į kitą serverį. Kur nors DNS yra atsakingas už domeno vardo, pvz., Www, konversiją.pavyzdys.com, į viešojo interneto IP adresą. Bet jūsų naršyklė niekaip negali patikrinti, ar DNS išvertė IP adresą.
Pirmąsias dvi problemas galima išspręsti užšifruojant pranešimą, kol jis dar neišsiųstas internetu į serverį. Tai yra, pereinant prie HTTPS. Tačiau paskutinė problema, tapatybės problema, yra ta vieta, kur atsiranda sertifikato institucija.
Šifruotų HTTP seansų inicijavimas
Pagrindinė užšifruoto ryšio nesaugiu kanalu problema yra „Kaip mes jį pradedame?“
Pirmame žingsnyje abi šalys, jūsų naršyklė ir serveris, turėtų apimti šifravimo raktus, kuriais reikia keistis nesaugiu kanalu. Jei nežinote terminų raktų, galvokite apie juos kaip apie tikrai ilgą atsitiktinai sugeneruotą slaptažodį, kuriuo jūsų duomenys bus užšifruoti prieš siunčiant nesaugiu kanalu.
Na, jei raktai siunčiami per nesaugų kanalą, tai gali bet kas klausytis ir pakenkti jūsų HTTPS sesijos saugumui ateityje. Be to, kaip galime patikėti, kad raktą siunčia serveris, teigiantis, kad jis yra www.pavyzdys.„com“ iš tikrųjų yra tikrasis to domeno vardo savininkas? Mes galime užšifruoti ryšį su kenkėjiška šalimi, kuri maskuojasi kaip teisėta svetainė, ir nežinome skirtumo.
Taigi tapatybės užtikrinimo problema yra svarbi, jei norime užtikrinti saugų raktų mainą.
Sertifikavimo institucijos
Galbūt girdėjote apie „LetsEncrypt“, „DigiCert“, „Comodo“ ir keletą kitų paslaugų, kurios siūlo jūsų domeno vardui TLS sertifikatus. Galite pasirinkti tą, kuris atitinka jūsų poreikius. Dabar asmuo / organizacija, kuriam priklauso domenas, tam tikru būdu turi įrodyti savo sertifikato institucijai, kad jis iš tikrųjų valdo domeną. Tai galima padaryti arba sukūrus DNS įrašą su jame esančia unikalia verte, kaip reikalauja sertifikato institucija, arba galite pridėti failą prie savo žiniatinklio serverio su sertifikato institucijos nurodytu turiniu, tada CA gali perskaityti šį failą ir patvirtinkite, kad esate galiojantis domeno savininkas.
Tuomet derėtės su CA su TLS sertifikatu, todėl jūsų domenui bus išduotas privatus raktas ir viešas TLS sertifikatas. Tada asmeniniu raktu užšifruotus pranešimus gali iššifruoti viešasis sertifikatas ir atvirkščiai. Tai vadinama asimetriniu šifravimu
Kliento naršyklės, tokios kaip „Firefox“ ir „Chrome“ (kartais net operacinė sistema), žino sertifikato institucijas. Ši informacija yra įtraukiama į naršyklę / įrenginį nuo pat pradžių (tai yra, kai jie yra įdiegti), kad jie žinotų, jog gali pasitikėti tam tikromis CA. Dabar, kai jie bando prisijungti prie www.pavyzdys.com per HTTPS ir pamatysite „DigiCert“ išduotą sertifikatą, naršyklė iš tikrųjų gali patikrinti, ar naudojant vietoje saugomus raktus. Tiesą sakant, yra dar keli tarpiniai žingsniai, tačiau tai yra gera supaprastinta to, kas vyksta, apžvalga.
Dabar pažymėjimą pateikė www.pavyzdys.„com“ galima pasitikėti, jis naudojamas derantis dėl unikalaus simetriško šifravimo rakto, kurį klientas ir serveris naudoja likusiam jų seansui. Simetriniame šifravime vienas raktas naudojamas šifruoti, taip pat iššifruoti ir paprastai yra daug greitesnis už asimetrinį atitikmenį.
Niuansai
Jei TLS ir interneto saugumo idėja jus domina, galite toliau nagrinėti šią temą, įsigilinę į „LetsEncrypt“ ir nemokamą jų TLS CA. Visai šiai rigmarolei yra daug daugiau nei anksčiau nurodyta.
Kiti šaltiniai, kuriuos galiu rekomenduoti sužinoti daugiau apie TLS, yra Troy Hunt tinklaraštis ir EFF atliktas darbas, pvz., HTTPS Everywhere ir Certbot. Visi ištekliai yra laisvai prieinami ir tikrai pigūs įgyvendinti (jums tereikia sumokėti už domeno vardo registraciją ir VPS valandinius mokesčius) ir pasinaudoti patirtimi.