neljapäev, 23. oktoober 2014

Sertifitseeritud võrguliiklus - miks ja kuidas

Enamik inimesi on huvitatud sellest, et nende personaalne info püsiks Internetis ringi liikudes vajalikul määral konfidentsiaalsena. Samas leidub väheseid, kes julgevad krüptograafiaga seonduvasse spetsiifikasse põhjalikumalt süveneda. SSL, SHA, RSA, HTTPS, PFS ja teiste salapäraste tähelühendite sügavam sisu võib matemaatikavõõrale tavakasutajale esmapilgul hirmutav näida, kuid krüpteerimisega seonduvate riskide teadvustamine aitab hoiduda oma isiklike andmete lekitamisest soovimatutele osapooltele.


HTTP

Internet (nii suure kui ka väikese algustähega) on arvutitevaheline võrgustik, kus liiklust reguleeritakse erinevate protokollidega, mis sätestavad efektiivseks suhtluseks vajalikud reeglid. Kõige tuntum internetiliiklusega seonduv protokoll on tõenäoliselt HTTP ehk hüperteksti edastuse protokoll (HyperText Transfer Protocol), mis võimaldab brauseri abil erinevaid veebilehti vaadata. Kuigi kaasaegsed veebilehitsejad on hakanud peitma http:// lühendit veebilehtede aadressi alguses, on HTTP endiselt veebistruktuuri üks peamiseid alustalasid.


HTTP on oma olemuselt üsna lihtsakoeline. Kasutaja saadab veebiserverile lihtteksti kujul päringu ning saab lihtteksti kujul ka oma päringule vastuse. Lihtteksti kujul liikuvast infost on aga pealtkuulajal võimalik vähese vaevaga üles leida salasõnad, paroolid ja muu huvi pakkuv. 



Teatud lehtede puhul ei pruugi muidugi toimingute nähtavus kolmandatele osapooltele olla eriti kriitiline. Näiteks uudiseportaali küsitlusele vastamine või artikli kommenteerimine ei ole üldjuhul tegevused, millega seonduva info lekkimisel kolmandatele osapooltele erakordset hirmu peaks tekitama. Kasutajanime ja parooli saatmine HTTP protokolli kasutades on aga üsnagi hoolimatu tegevus ning tuleks eeldada, et pärast sellist olukorda teab sisselogimiseks vajalikke andmeid ka keegi teine. Õnneks on turvariskide vähendamiseks leiutatud HTTPS (HTTP Secure ehk turvaline hüperteksti edastuse protokoll).


HTTPS

Veebilehitsemise turvalisuse tõstmiseks loodi HTTPS protokoll, mis sisuliselt tähendab HTTP kasutamist krüpteeritud kanali kaudu. Infokanali krüpteerimine muudab võrguliikluse kõrvalseisja jaoks arusaamatuks sümbolijadaks. Nii on konfidentsiaalne info ideaalis nähtav ainult valitud osapooltele.

Turbeprotokollile vastava krüpteeritud ühenduse algatamiseks on tarvis võtmeid, mille abil edaspidine infovahetus arusaadavaks muuta. Lisaks võtmetele on tarvis veenduda, et veebiserveril on usaldusväärne turvasertifikaat. Turvasertifikaate võib teha ise (nt MakeCert või OpenSSL abil), aga usaldatavuse suurendamiseks on ka võimalik hankida sertifikaat mõnelt sertifitseerimiskeskuselt. Rahvusvaheliselt on tuntumad sertifitseerijad näiteks GoDaddy, VeriSign, DigiCert, GeoTrust, Symantec ja Comodo.

Turvasertifikaadi võltsimisel on küberkurjategijatel võimalik usaldusväärse organisatsiooni identiteet kaaperdada ning esitleda end kellegi teisena. Seetõttu on äärmiselt oluline veenduda turvasertifikaadi autentsuses. Autentsuse kontrollimiseks kasutatakse räsialgoritme, mis oskavad suvalise suurusega faili või sõnumi põhjal koostada ühesuunalise krüpteerimise teel püsipikkusega bitijada ehk räsi. Tugeva räsialgoritmi puhul peab olema võimalikult keeruline räsi põhjal algset faili või sõnumit konstrueerida. Samuti peab olema võimalikult keeruline luua kaht erinevat faili, millele vastaks identne räsiväärtus.

Tehnika areng ning arvutusvõimsuse pidev kasv toob endaga kaasa aga vajaduse räsialgoritme aina tugevamaks teha. Näiteks 1990-ndatel laialdaselt kasutusel olnud räsialgoritm MD5 on võimalik tänapäeval tavalise koduarvutiga vähem kui sekundiga lahti murda ehk tekitada sarnase räsiga fail. 2012 aastal avastatud kurivara Flame oskas MD5 nõrkust ära kasutades lausa näidata end Microsofti poolt toodetud tarkvarana.

Praegusel ajal on räsifunktsioone küll mitmeid (BLAKE, GOST, RIPEMD jne), kuid kõige tuntumaks võib pidada NSA loodud SHA funktsioonide perekonda. Esimesed SHA põlvkonnad (SHA-0 ja SHA-1) on praeguseks juba aegunud, kuid paraku on SHA-1 endiselt laialdaselt levinud – muuhulgas ka turvasertifikaatide autentsuse kontrollimisel. Microsoft on küll teatanud, et SHA-1 algoritmi ei tohiks enam kasutada 2016. aasta algusest ja Google Chrome hakkab astmeliselt SHA-1 kasutamist piirama juba 2014. novembrist, kuid ka väiksematel organisatsioonidel tasuks enda valduses asuvad veebilehtede serverid kriitilise pilguga üle vaadata. Abiks on siinkohal näiteks veebilehed https://shaaaaaaaaaaaaa.com ja https://www.ssllabs.com/ssltest.


SSL Labs annab hea ülevaate kasutusel olevatest turvameetmetest.


Kui server on kliendile turvasertifikaadi saatnud ning kliendi arvuti on räsialgoritmide kaasabil sertifikaadi autentsuses veendunud, siis on aeg infokanal serveri ja kliendi vahel krüpteerida. Selleks peaks HTTPS ühendus kasutama transpordikihi turbeprotokolli (Transport Layer Security ehk lühidalt TLS), mille praegusel hetkel kõige uuem versioon on TLS 1.2. Paraku kasutatakse mitmel pool veel TLS eelkäijat SSL (turvasoklikiht ehk Secure Sockets Layer) tehnoloogiat, mis on nüüdseks lahti häkitud ehk haavatav. Seega tasuks serverite haldajatel kasutusel oleva turbeprotokolli ajakohasus üle kontrollida ning uuendada ka erinevates hangetes, lepingutes ja muudes dokumentides sisalduvaid nõudeid, kus sageli kasutatakse SSL ühendust turvalise ühendusega võrdväärselt.

Valdav enamus Eesti veebipoodidest paraku HTTPS ühendust veel ei kasuta ja kuigi pangalingi kaudu sooritatud maksed on õnneks suhteliselt turvalised, siis ees- ja perenimi, aadress, telefoni number ja muu kontaktinfo saadetakse üldjuhul krüpteerimata kujul veebipoe andmebaasi. Eriti tõsist riski võib põhjustada turvamata veebilehel registreerumine salasõnaga, mis on juba kasutusel ka mujal. Kui näiteks e-poe klient registreerub kasutajaks salasõnaga "5up3r$ala;jane?!" ning märgib enda kontaktinfosse e-posti aadressi, siis on igati ootuspärane, et keegi proovib varsti sama salasõna kasutades e-maili kontole ligi pääseda. Seega tasuks hoolikalt uurida, kas veebilehe aadressi ees on https:// tähistamaks krüpteeritud ühendust. Kui vastav märgistus puudub, siis edastatakse andmeid üle turvamata HTTP ühenduse ning kõik saadetav info on kõrvalseisjatele vabalt nähtav.


Kokkuvõtteks

Ülevaatlikult veelkord olulisemad näpunäited:
  1.  Kontrolli, kas veebileht, kuhu konfidentsiaalset infot sisestad, kasutab turvalist HTTPS protokolli. Aadressiriba alguses kuvatakse siis üldjuhul https:// ning tabalukk, millele klikkides näeb rohkem infot turvasertifikaadi kohta. 



    Juhul, kui HTTPS ühendust ei kasutata, arvesta sellega, et vormidesse sisestatud info võib suure tõenäosusega lekkida kolmandatele osapooltele.
  2. Kontrolli, et veebilehte serveeriv süsteem kasutaks turvalise ühenduse loomisel ajakohaseid tehnoloogiaid - https://www.ssllabs.com/ssltest.
    SSL Labs hinnang ühele Eesti tuntud veebipoele.
    Kui test annab tulemuseks halva hinde, siis teavita kindlasti veebilehe haldajat - nii aitad kaasa üldise turvateadlikuse kasvule ning teed küberkurjategijate elu raskemaks.
  3. Ära kasuta sama salasõna mitmes kohas! Võimalusel kasuta mitmeastmelist autentimist, tugevaid salasõnu ning paroolihaldureid.

Sten Mäses
ASA Quality Services

    Kommentaare ei ole:

    Postita kommentaar