Ar kada nors susimąstėte apie tą malonų, sunkų metalo pojūtį delne, kai laikote seną, gerą pakabinamą spyną? Tas aiškus, mechaninis „klik“ garsas, kai pasukate raktą, suteikia gilų saugumo ir aiškumo jausmą. Viskas paprasta: raktas tinka, spyna atsidaro. Raktas netinka, spyna lieka užrakinta.
O dabar palyginkite tai su jausmu, kurį patiriate kurdami savo 24-ąjį slaptažodį šį mėnesį. „Turi būti 12 simbolių, viena didžioji raidė, du skaičiai ir vienas hieroglifas iš mirusios kalbos. Prašome nenaudoti paskutinių 10 slaptažodžių.“ Tai kelia nerimą, atrodo abstraktu ir nesaugu. Mūsų skaitmeninis saugumas jaučiasi esąs kažkur „debesyje“ – nematomas, neapčiuopiamas ir nuolat pažeidžiamas.
Tačiau tiesa yra tokia: principai, kuriais veikia Jūsų namų durų spyna ir Jūsų internetinės bankininkystės slaptažodis, yra stebėtinai panašūs. Rašytojas Theodore Gray knygoje „How Things Work“ mums primena, kad spyna visų pirma yra informaciją apdorojantis įrenginys, o ne tik metalo gabalas.
Supratę, kaip veikia paprasta spyna, Jūs galėsite daug geriau suprasti ir skaitmeninį pasaulį, įskaitant net tokius sudėtingus dalykus kaip „Bitcoin“.
Spyna yra informacija (ne tik metalas)
Dažnai manome, kad spyna yra saugi, nes ji pagaminta iš tvirto plieno. Bet jei vagis norėtų tiesiog sunaikinti spyną, jis galėtų panaudoti kampinį šlifuoklį ar didelį laužtuvą.
Spynos esmė– ne fizinė jėga, o informacija.
Paimkime labiausiai paplitusią pasaulyje – kaiščių- stiklinių (angl. pin-tumbler) spyną. Tai ta spyna, kurią tikriausiai turite savo namų duryse.
- Jos viduje yra cilindras (kurį sukate raktu) ir korpusas.
- Tarp jų yra keletas vertikalių kanalų, užpildytų mažais, skirtingo ilgio kaiščių ir stiklinių rinkiniais, kuriuos žemyn spaudžia spyruoklės.
- Kai spyna užrakinta, šie kaiščiai blokuoja cilindrą, neleidžia jam pasisukti.
- Jūsų raktas yra fizinė informacijos laikmena. Jo dantukai yra sukurti taip, kad pakeltų kiekvieną kaiščių ir stiklinių porą į tikslią aukščio liniją (vadinamąją „kirpimo linija“).
- Kai visi kaiščiai išlygiuoti ties šia linija, cilindras gali laisvai suktis. „Klik!“ – spyna atsirakinta.
Raktas nėra „stebuklingas“. Jis tiesiog turi teisingą slaptą informaciją – duomenis apie tai, į kokį aukštį pakelti kiekvieną kaištį. Spyna yra tiesiog maža mašina, skirta patikrinti, ar Jūs turite šią informaciją.
Jūsų „Gmail“ slaptažodis yra lygiai toks pat raktas
Skaitmeniniame pasaulyje principas identiškas. Jūsų slaptažodis yra lygiai tokia pati slapta informacija, kaip ir Jūsų rakto dantukai. Kai bandote prisijungti prie savo el. pašto, sistema klausia to paties: „Ar Jūs turite teisingą informaciją, kad atrakintumėte šias duris?“
Bet čia atsiranda esminis klausimas: jei Jūsų raktas fiziškai egzistuoja Jūsų kišenėje, tai kur „Google“ ar Jūsų bankas saugo Jūsų slaptažodį?
Bet kur saugomas Jūsų raktas? (Hint: jis nėra saugomas)
Logiškai mąstant, atrodytų, kad „Google“ serveriuose turėtų būti milžiniškas failas, kuriame surašyta: vyrokodas.lt@gmail.com = Slaptažodis123. Bet jei taip būtų, bet kuris programišius, įsilaužęs į tą failą, gautų visus pasaulio raktus. Tai būtų katastrofa.
Todėl saugios sistemos veikia kitaip. Jos iš viso nesaugo Jūsų slaptažodžio.
Jos saugo tai, kas vadinama „maiša“ (angl. hash).
Paprastai tariant:
- Kai Jūs pirmą kartą sukuriate savo slaptažodį (pvz., „ManoŠuoRikis“), sistema jį perleidžia per sudėtingą matematinę funkciją (maišos algoritmą).
- Ši funkcija paverčia Jūsų slaptažodį į ilgą, atsitiktinai atrodančią simbolių eilutę, pavyzdžiui:
a8f5f167664341341551b964345d40a174f258a5. - Tai ir yra maiša. Šią maišą sistema ir išsaugo.
- Ši matematinė operacija yra neįmanomai atvirkštinė. Labai lengva gauti
a8f5...iš „ManoŠuoRikis“, bet praktiškai neįmanoma iša8f5...atspėti, kad originalus tekstas buvo „ManoŠuoRikis“.
Kai Jūs bandote prisijungti kitą dieną, procesas kartojasi:
- Jūs įvedate „ManoŠuoRikis“.
- Sistema vėl perleidžia šį tekstą per tą pačią maišos funkciją ir gauna
a8f5.... - Tada ji palygina gautą maišą su ta, kurią išsaugojo.
- Jei maišos sutampa – durys atsidaro. Sistema nė akimirkos nežinojo Jūsų tikrojo slaptažodžio, ji tik patikrino, ar Jūsų pateiktas raktas sukuria tą patį unikalų kodą.
Kaip aiškina interneto saugumo ekspertai iš „Cloudflare“, būtent todėl net tada, kai programišiai pavagia vartotojų duomenų bazes, jie negauna Jūsų slaptažodžių. Jie gauna tik maišų sąrašą, su kuriuo nelabai yra ką veikti, nebent bandyti atspėti milijardus galimų slaptažodžių variantų, kol ras atitinkantį maišą.
Visraktis (Master Key): fizinė saugumo spraga
Grįžkime prie fizinių spynų. Daugelyje didelių pastatų (viešbučių, biurų) egzistuoja „visraktis“ (angl. master key) – vienas raktas, kuris atrakina visas duris, nors kiekvienos durys turi ir savo unikalų raktą.
Kaip tai įmanoma? Theodore Gray paaiškina, kad tokiose spynose kaiščiai yra sudaryti ne iš dviejų, o iš trijų dalių. Tai sukuria dvi kirpimo linijas:
- Viena linija skirta Jūsų unikaliam raktui.
- Kita, kitame aukštyje esanti linija, skirta visrakčiui.
Tai genialu, bet kartu ir didžiulė saugumo spraga. Kiekviena individuali spyna savyje turi fizinę informaciją apie visraktį. Teoriškai, bet kuris gyventojas, turintis pakankamai žinių, gali išardyti savo buto spyną, išmatuoti antrąją kirpimo liniją ir pasidaryti savo visraktį, kuris atrakintų visų kaimynų duris.
Skaitmeniniame pasaulyje šios problemos nėra. Jūsų slaptažodžio maiša neturi jokios informacijos apie sistemos administratoriaus slaptažodį. Kiekvienas raktas yra visiškai kriptografiškai atskirtas. Tai vienas iš tų atvejų, kai skaitmeninis pasaulis išsprendė fizinio pasaulio trūkumus.
Didysis finalas: viešojo rakto kriptografija (ir Jūsų „Bitcoin“)
Gerai, iki šiol viskas buvo gana paprasta. Bet kaip du žmonės, kurie niekada nebuvo susitikę, gali saugiai bendrauti internetu, kai žino, kad kiekvieną jų žinutę gali skaityti programišiai? Kaip jie gali susitarti dėl slapto rakto (slaptažodžio), jei negali jo saugiai nusiųsti?
Čia į žaidimą ateina gražiausia ir sudėtingiausia saugumo koncepcija: viešojo rakto kriptografija.
Pamirškite matematiką. Įsivaizduokite tai kaip spynų ir raktų sistemą:
- Jūs turite unikalią, ypatingą pakabinamą spyną ir vienintelį raktą, kuris ją atrakina.
- Šią spyną Jūs galite kopijuoti kiek norite. Tai Jūsų VIEŠASIS RAKTAS (angl. Public Key). Jūs galite nusiųsti atidarytą spynos kopiją savo draugui, galite ją paskelbti savo „Facebook“ profilyje – Jums nesvarbu, kas ją turi.
- Raktas, kuris atrakina šią spyną, yra Jūsų PRIVATUS RAKTAS (angl. Private Key). Jį turite tik Jūs ir niekam niekada jo nerodote.
Dabar Jūsų draugas nori Jums nusiųsti slaptą žinutę.
- Jis paima dėžutę, įdeda į ją laišką.
- Tada paima Jūsų atsiųstą viešąją spyną ir užrakina dėžutę.
- Ir išsiunčia Jums šią užrakintą dėžutę.
Kas dabar? Net jei kas nors pavogs šią dėžutę, jie jos neatrakins. Kodėl? Nes vienintelis raktas, galintis tai padaryti – Jūsų privatus raktas – saugiai guli Jūsų stalčiuje. Dėžutę gausite tik Jūs ir ramiai ją atrakinsite.
Būtent taip veikia saugus naršymas (HTTPS – ta spynelė Jūsų naršyklėje), el. pašto šifravimas ir, kaip mini Theodore Gray, „blockchain“ technologijos, įskaitant „Bitcoin“.
Jūsų „Bitcoin“ piniginė yra ne kas kita, o Jūsų privatus raktas. O Jūsų viešasis piniginės adresas (tas ilgas kodas, kurį duodate žmonėms, kad Jums pervestų pinigų) yra Jūsų viešasis raktas (Jūsų spyna). Žmonės gali „užrakinti“ pinigus Jūsų spyna, bet tik Jūs galite juos „atrakinti“ savo privačiu raktu. Būtent todėl, praradus privatų raktą, Jūs prarandate visus savo bitkoinus amžiams.
Suprasti, o ne bijoti
Pasaulis atrodo vis sudėtingesnis, o technologijos, kurias naudojame, – vis labiau nesuprantamos. Tačiau, kaip matome, principai išlieka tie patys.
Nuo fizinio rakto Jūsų kišenėje iki abstrakčiausios skaitmeninės kriptovaliutos – viskas sukasi apie vieną idėją: kaip apsaugoti slaptą informaciją.
Kai kitą kartą suksite raktą durų spynoje, prisiminkite tai. Jūs ne tik atidarote duris. Jūs naudojatės tūkstančių metų senumo informacijos apdorojimo technologija. O supratimas yra pirmas žingsnis į saugumą ir ramybę tiek fiziniame, tiek skaitmeniniame pasaulyje.




























