Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 12403|Atsakyti: 1

[Svetainės kūrimo žinios] HTTPS Tie dalykai (1) HTTPS principas (pakartotinis spausdinimas)

[Kopijuoti nuorodą]
Paskelbta 2015-12-24 10:56:18 | | |
Pleištas
Prieš kelias dienas išleistas gandas "Ar interneto prieiga su viešuoju "WiFi" kels pavojų banko sąskaitų saugumui? Straipsnyje pristatomos kai kurios situacijos, susijusios su HTTPS naudojimu šifruotam tinklo perdavimui, ir, sprendžiant iš atsakymo, vis dar kyla ginčų. Internetui vis labiau populiarėjant, programa tampa vis labiau paplitusi, o kai kurios tinklo saugumo problemos taip pat pritrauks vis daugiau internautų dėmesio, čia kalbėsime apie TLS/SSL, kurį dažnai vadiname HTTPS, nuo principo iki tikrosios programos, kad pamatytume, kas tai yra ir į kokias problemas reikia atkreipti dėmesį naudojant HTTPS ir susijusius saugos metodus.
Kibernetinis saugumas yra holistinis įvykis, apimantis asmeninių kompiuterių, protokolų, duomenų perdavimo ir programinės įrangos kūrimo įmonių bei svetainių saugumą. Tikiuosi, kad ateityje po truputį aiškindami su saugumu susijusius klausimus, daugiau žmonių galės suprasti tinklo saugumą, kad galėtų saugiau naudotis tinklu.
Straipsnis bus ilgas, kol kas planuojama jį padalyti į tris dalis:
Pirmoje dalyje daugiausia aprašomas HTTPS principas; Antroje dalyje daugiausia aprašomas SSL sertifikato tikrinimo procesas ir kai kurios atsargumo priemonės. Trečioje dalyje pateikiami kai kurie HTTPS atakų atvejai.
1. Kas yra HTTPS?
Prieš kalbėdami apie HTTPS, pakalbėkime apie tai, kas yra HTTP, kuris yra protokolas, kurį dažniausiai naudojame naršydami internete. HTTP protokolo perduodami duomenys yra neužšifruoti, tai yra paprastu tekstu, todėl labai nesaugu perduoti privačią informaciją naudojant HTTP protokolą. Siekdama užtikrinti, kad šie privatūs duomenys galėtų būti užšifruoti ir perduoti, "Netscape" sukūrė SSL (Secure Sockets Layer) protokolą, skirtą užšifruoti HTTP protokolu perduodamus duomenis ir taip sukurti HTTPS. Dabartinė SSL versija yra 3.0, kurią RFC 6101 apibrėžia IETF (Internet Engineering Task Force), o tada IETF atnaujino SSL 3.0, todėl TLS (Transport Layer Security) 1.0, apibrėžta RFC 2246. Tiesą sakant, mūsų dabartinis HTTPS yra TLS protokolas, tačiau kadangi SSL atsirado palyginti anksti ir vis dar palaikomas dabartinėse naršyklėse, SSL vis dar yra HTTPS sinonimas, tačiau nesvarbu, ar tai TLS, ar SSL, yra praėjusio amžiaus dalykas, paskutinė SSL versija yra 3.0, o TLS ir ateityje teiks mums šifravimo paslaugas. Dabartinė TLS versija yra 1.2, apibrėžta RFC 5246, ir dar nėra plačiai naudojama.
Tiems, kurie domisi istorija, galite kreiptis į http://en.wikipedia.org/wiki/Transport_Layer_Security, kuriame yra išsamus TLS/SSL aprašymas.
2. Ar HTTPS yra saugus?
Atsakymas yra taip, tai saugu. Artimiausiomis savaitėmis "Google" įgalins HTTPS visuose vietiniuose domenuose visame pasaulyje, vartotojams prieš paiešką tereikia prisijungti su "Google" paskyra, o visos paieškos operacijos bus užšifruotos naudojant TLS protokolą, žr.: http://thenextweb.com/google/2012/03/05/google-calls-for-a-more-secure-web-expands-ssl-encryption-to-local-domains/。
3. Kaip veikia HTTPS
HTTPS reikalauja rankos paspaudimo tarp kliento (naršyklės) ir serverio (svetainės) prieš perduodant duomenis, o abiejų šalių slaptažodžio informacija bus nustatyta rankos paspaudimo proceso metu. TLS/SSL protokolas yra ne tik šifruotų perdavimo protokolų rinkinys, bet ir menininkų kruopščiai sukurtas meno kūrinys, naudojant asimetrinį šifravimą, simetrinį šifravimą ir HASH algoritmus. Paprastas rankos paspaudimo proceso aprašymas yra toks:

  • Naršyklė siunčia į svetainę palaikomų šifravimo taisyklių rinkinį.
  • Svetainė iš jų pasirenka šifravimo algoritmų ir HASH algoritmų rinkinį ir sertifikato forma siunčia savo tapatybės informaciją atgal į naršyklę. Sertifikate yra tokia informacija kaip svetainės adresas, šifravimo viešasis raktas ir sertifikato išdavėjas.
  • Gavusi svetainės sertifikatą, naršyklė atlieka šiuos veiksmus:
  • Patikrinkite sertifikato teisėtumą (ar sertifikatą išduodanti institucija yra teisėta, ar sertifikate nurodytas svetainės adresas sutampa su lankomu adresu ir pan.), Jei sertifikatas patikimas, naršyklės juostoje bus rodomas nedidelis užraktas, kitaip bus pateiktas raginimas, kad sertifikatas nėra patikimas.
  • Jei sertifikatas yra patikimas arba jei vartotojas priima nepatikimą sertifikatą, naršyklė sugeneruoja atsitiktinį slaptažodžių skaičių ir užšifruoja juos sertifikate pateiktu viešuoju raktu.
  • Rankos paspaudimo pranešimas apskaičiuojamas naudojant sutartą HASH, o pranešimas užšifruojamas sugeneruotu atsitiktiniu skaičiumi, o galiausiai visa anksčiau sugeneruota informacija siunčiama į svetainę.
   4. Gavusi duomenis iš naršyklės, svetainė atlieka šiuos veiksmus:
  • Naudokite savo privatųjį raktą, kad iššifruotumėte slaptažodį, naudokite slaptažodį, kad iššifruotumėte naršyklės atsiųstą rankos paspaudimo pranešimą, ir patikrinkite, ar HASH yra toks pat, kaip ir naršyklės.
  • Rankos paspaudimo pranešimas užšifruojamas slaptažodžiu ir siunčiamas į naršyklę.
   5. Naršyklė iššifruoja ir apskaičiuoja rankos paspaudimo pranešimo HASH, jei jis atitinka serverio atsiųstą HASH, rankos paspaudimo procesas baigiasi, o tada visi ryšio duomenys bus užšifruoti atsitiktiniu slaptažodžiu, kurį sugeneravo ankstesnė naršyklė ir naudojant simetrinį šifravimo algoritmą.

Čia naršyklė ir svetainė siunčia viena kitai užšifruotą rankos paspaudimo pranešimą ir patikrina, kad įsitikintų, jog abi šalys gavo tą patį slaptažodį ir gali normaliai užšifruoti bei iššifruoti duomenis bei atlikti vėlesnio tikrų duomenų perdavimo testą. Be to, HTTPS dažniausiai naudojami šifravimo ir HASH algoritmai yra šie:
  • Asimetriniai šifravimo algoritmai: RSA, DSA/DSS
  • Simetriniai šifravimo algoritmai: AES, RC4, 3DES
  • HASH algoritmas: MD5, SHA1, SHA256
Tarp jų asimetrinis šifravimo algoritmas naudojamas sugeneruotam slaptažodžiui užšifruoti rankos paspaudimo proceso metu, simetrinis šifravimo algoritmas naudojamas tikriems perduodamiems duomenims užšifruoti, o HASH algoritmas naudojamas duomenų vientisumui patikrinti. Kadangi naršyklės sugeneruotas slaptažodis yra raktas į visų duomenų šifravimą, perdavimo metu jis užšifruojamas naudojant asimetrinį šifravimo algoritmą. Asimetrinis šifravimo algoritmas sugeneruos viešuosius ir privačius raktus, viešieji raktai gali būti naudojami tik duomenims užšifruoti, todėl juos galima perduoti savo nuožiūra, o privatūs svetainės raktai naudojami duomenims iššifruoti, todėl svetainė labai atsargiai saugos savo privatų raktą, kad būtų išvengta nutekėjimo.
Bet kokia TLS rankos paspaudimo proceso klaida gali nutraukti užšifruotą ryšį ir neleisti perduoti privačios informacijos. Būtent dėl to, kad HTTPS yra labai saugus, užpuolikai neranda kur pradėti, todėl jie naudoja netikrus sertifikatus, kad apgautų klientus, kad gautų paprasto teksto informaciją, tačiau šiuos metodus galima nustatyti, apie kuriuos kalbėsiu kitame straipsnyje. Tačiau 2010 m. saugumo ekspertai aptiko pažeidžiamumą tvarkant TLS 1.0 protokolą: http://www.theregister.co.uk/2011/09/19/beast_exploits_paypal_ssl/ iš tikrųjų šį atakos metodą, vadinamą BEAST, saugumo ekspertai atrado dar 2002 m., tačiau jis nebuvo paskelbtas viešai. "Microsoft" ir "Google" ištaisė šį pažeidžiamumą. Žr.: http://support.microsoft.com/kb/2643584/en-us https://src.chromium.org/viewvc/chrome?view=rev&revision=90643
Supaprastinta HTTPS versija taip pat veikia simetriniame šifravime ir asimetriniame šifravime.




Ankstesnis:Žingsnis po žingsnio ASP.NET žiniatinklio programų, naudojančių HTTPS, konfigūracija
Kitą:Labai gražus įspėjimo pranešimų laukelis SweetAlert
 Savininkas| Paskelbta 2018-04-19 11:09:21 |
Išsamus įvairių HTTP protokolo parametrų paaiškinimas
http://www.itsvse.com/thread-3704-1-1.html
(Šaltinis: Architect_Programmer)
Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com