Mistä on kyse
Kun selaat verkkoa, tietosi kulkevat oman laitteesi ja palvelimen välillä monen verkon kautta. Matkalla on reitittimiä, palveluntarjoajia ja langattomia verkkoja, joiden kautta liikenne kulkee. Ilman suojausta kuka tahansa näistä välikäsistä voisi lukea lähettämäsi tiedon tai jopa muuttaa sitä. HTTPS ja sen taustalla toimiva TLS ratkaisevat tämän ongelman salaamalla yhteyden niin, että vain sinä ja oikea palvelin pystytte lukemaan liikenteen.
HTTPS on tuttu verkko-osoitteiden alusta. Se on sama protokolla kuin tavallinen HTTP, mutta sen päälle on lisätty salauskerros. Tämän kerroksen nimi on TLS, joka tarkoittaa kuljetuskerroksen suojausta. Vaikka näet selaimessa sanan HTTPS, varsinaisen suojaustyön tekee TLS. Vanhempi nimitys samalle tekniikalle oli SSL, ja termi elää yhä puhekielessä, vaikka itse vanhat SSL-versiot ovat jo poistuneet käytöstä turvattomina.
Mitä TLS suojaa
TLS antaa yhteydelle kolme erillistä suojaa, ja niiden erottaminen toisistaan auttaa ymmärtämään, mitä lukon kuvake todella lupaa.
Luottamuksellisuus
Ensimmäinen suoja on salaus. TLS muuntaa lähetettävän tiedon muotoon, jota ulkopuolinen ei pysty lukemaan. Vaikka joku onnistuisi kaappaamaan liikenteen esimerkiksi avoimessa langattomassa verkossa, hän näkee vain sekavaa salattua dataa. Tämä estää salakuuntelun, joka olisi muuten helppoa monessa verkossa. Salasanasi, viestisi ja maksutietosi pysyvät piilossa matkan ajan.
Eheys
Toinen suoja on eheys. TLS varmistaa, ettei tietoa ole muutettu matkalla. Jokaiseen lähetettyyn viestiin liitetään tarkiste, jonka avulla vastaanottaja voi havaita, jos sisältöä on peukaloitu. Jos välikäsi yrittää muuttaa edes yhtä merkkiä, tarkiste ei enää täsmää ja yhteys hylätään. Tämä estää hyökkäykset, joissa hyökkääjä yrittää livauttaa liikenteeseen oman sisältönsä, esimerkiksi väärennetyn maksumääräyksen tai haitallisen koodin.
Todennus
Kolmas suoja on todennus, ja se on usein vähiten ymmärretty. TLS ei pelkästään salaa yhteyttä, vaan se myös varmistaa, että puhut juuri sen palvelimen kanssa, jonka kanssa luulet puhuvasi. Ilman tätä hyökkääjä voisi asettua väliin ja esiintyä pankkinasi vaikka yhteys olisi salattu. Todennus toteutetaan varmenteilla, ja juuri ne tekevät HTTPS:stä luotettavan eivätkä pelkästään salatun.
Varmenteet ja varmentajat
Varmenne on sähköinen todistus, joka liittää tietyn verkkotunnuksen tiettyyn julkiseen avaimeen. Kun otat yhteyden palvelimeen, se esittää varmenteensa, ja selaimesi tarkistaa sen. Varmenne kertoo, kenelle se on myönnetty, kuka sen on myöntänyt ja kuinka kauan se on voimassa.
Varmentajan rooli
Varmenteen luotettavuus perustuu siihen, kuka sen on allekirjoittanut. Varmentaja on luotettu taho, jonka tehtävä on varmistaa hakijan henkilöllisyys tai verkkotunnuksen hallinta ennen varmenteen myöntämistä. Selaimet ja käyttöjärjestelmät sisältävät valmiin listan luotetuista varmentajista. Kun palvelimen varmenne on jonkin tällaisen varmentajan allekirjoittama, selain hyväksyy sen. Jos varmenne on itse allekirjoitettu, vanhentunut tai myönnetty väärälle verkkotunnukselle, selain näyttää varoituksen.
Tämä luottamusketju on koko järjestelmän ydin. Sinun ei tarvitse luottaa jokaiseen verkkosivustoon erikseen, vaan sinun riittää luottaa varmentajiin, ja ne takaavat sivustojen henkilöllisyyden. Järjestelmä ei ole täydellinen, sillä varmentajakin voi tehdä virheen tai joutua väärinkäytön kohteeksi, mutta käytännössä se toimii ja muodostaa luotettavan perustan verkkokaupalle ja viestinnälle.
Varmenteet ja tiivistefunktiot
Varmenteiden allekirjoitus nojaa tiivistefunktioihin. Allekirjoitettaessa varmenteen sisällöstä lasketaan tiiviste, joka sitten allekirjoitetaan varmentajan yksityisellä avaimella. Selain laskee saman tiivisteen ja tarkistaa allekirjoituksen, jolloin se havaitsee, jos varmennetta on muutettu. Jos tiivistefunktio on heikko ja kaksi eri sisältöä voidaan saada tuottamaan sama tiiviste, koko allekirjoituksen luotettavuus murenee. Juuri tästä syystä vanhentuneista tiivistefunktioista on luovuttu varmenteissa. Tiivistefunktioiden toimintaa ja niiden murtumista käsitellään tarkemmin salausta koskevassa osiossa.
Miten yhteys muodostuu
Kun avaat HTTPS-sivun, laite ja palvelin käyvät läpi lyhyen aloituskeskustelun, jota kutsutaan kättelyksi. Sen aikana ne sopivat käytettävistä menetelmistä, palvelin esittää varmenteensa ja osapuolet muodostavat yhteisen salaisen avaimen, jolla varsinainen liikenne salataan. Avaimen muodostaminen tapahtuu niin, ettei sitä lähetetä koskaan sellaisenaan verkon yli, joten salakuuntelija ei pysty kaappaamaan sitä.
Kättelyn jälkeen kaikki liikenne kulkee salattuna tämän yhteisen avaimen avulla. Tämä tapahtuu sekunnin murto-osassa, etkä yleensä huomaa siitä mitään muuta kuin lukon kuvakkeen osoiterivillä. Nykyaikaiset menetelmät on myös suunniteltu siten, että aiemmin tallennettu liikenne pysyy turvassa, vaikka palvelimen pitkäaikainen avain myöhemmin paljastuisi.
Lukon kuvake ja sen rajat
Selaimen osoiterivillä näkyvä lukko kertoo, että yhteys palvelimeen on salattu ja varmenne on kunnossa. Tämä on tärkeä signaali, mutta se ei tarkoita, että sivusto olisi rehellinen tai turvallinen kaikilta osin. Lukko todistaa, että yhteys on suojattu ja että puhut juuri sen verkkotunnuksen kanssa, joka osoiterivillä lukee. Se ei kerro mitään siitä, mitä sivusto tekee tiedoillasi tai onko sivuston omistaja luotettava.
Tämä ero on tärkeä tietojenkalastelun kannalta. Myös huijaussivusto voi hankkia varmenteen ja näyttää lukon kuvaketta, koska varmenteen saaminen on nykyään helppoa ja ilmaista. Lukko ei siis takaa, että olet oikealla sivustolla, vaan ainoastaan, että yhteys siihen sivustoon, jonka osoite näkyy, on salattu. Tarkista siksi aina osoiterivin verkkotunnus huolellisesti, sillä huijarit käyttävät usein lähes oikealta näyttäviä mutta hieman muutettuja osoitteita. Aihetta käsitellään tarkemmin tietojenkalastelua koskevassa artikkelissa.
Avoimet langattomat verkot
HTTPS:n hyöty korostuu erityisesti avoimissa langattomissa verkoissa, joita on kahviloissa, lentokentillä ja hotelleissa. Tällaisessa verkossa liikenne kulkee jaetun yhteyspisteen kautta, ja periaatteessa kuka tahansa samassa verkossa oleva voi yrittää tarkkailla muiden liikennettä. Ennen HTTPS:n yleistymistä tämä oli todellinen ongelma, koska salaamaton liikenne oli helposti luettavissa.
Kun yhteys on suojattu TLS:llä, avoimen verkon riski pienenee merkittävästi. Vaikka joku tarkkailisi liikennettä, hän näkee vain salattua dataa eikä pääse käsiksi salasanoihisi tai viesteihisi. Tämä ei kuitenkaan poista varovaisuuden tarvetta. Avoimessa verkossa kannattaa varmistaa, että jokainen sivu, jolla syötät arkaluonteista tietoa, käyttää HTTPS:ää, eikä epämääräisiltä vaikuttaviin varmennevaroituksiin pidä koskaan suostua. Jos selain varoittaa varmenteesta avoimessa verkossa, joku saattaa yrittää asettua väliisi ja palvelimen väliin.
Välistäveto
Hyökkäystä, jossa hyökkääjä asettuu sinun ja palvelimen väliin lukeakseen tai muuttaakseen liikennettä, kutsutaan välistävedoksi. Hyökkääjä yrittää saada laitteesi luulemaan, että se puhuu oikean palvelimen kanssa, vaikka liikenne kulkeekin hänen kauttaan. Juuri tätä vastaan TLS:n todennus suojaa. Koska hyökkääjällä ei ole oikean palvelimen varmennetta eikä siihen kuuluvaa salaista avainta, hän ei pysty esiintymään palvelimena ilman, että selain havaitsee varmenteen olevan väärä ja näyttää varoituksen. Tämä on yksi syy siihen, miksi varmennevaroitusta ei pidä koskaan ohittaa kevyesti.
Sekoittunut sisältö
Sivu voidaan ladata HTTPS:n kautta, mutta se voi silti hakea osan sisällöstään, kuten kuvia tai komentosarjoja, salaamattoman HTTP-yhteyden kautta. Tällaista tilannetta kutsutaan sekoittuneeksi sisällöksi, ja se heikentää suojaa, koska salaamaton osa on alttiina tarkkailulle ja peukaloinnille. Nykyaikaiset selaimet varoittavat sekoittuneesta sisällöstä tai estävät sen lataamisen kokonaan, mutta ilmiö on hyvä tuntea. Se muistuttaa, että lukon kuvake koskee yhteyttä sivuston pääosoitteeseen, eikä se yksin takaa, että aivan kaikki sivun osat olisi haettu suojatusti.
Mitä TLS ei suojaa
TLS suojaa tiedon matkalla laitteen ja palvelimen välillä, mutta ei sen ulkopuolella. Kun tieto saapuu palvelimelle, se puretaan salauksesta ja käsitellään siellä. Jos palvelin on huonosti suojattu tai joutuu murron kohteeksi, TLS ei auta, koska ongelma on yhteyden päässä eikä matkalla. Samoin jos oma laitteesi on saastunut haittaohjelmalla, se voi lukea tiedon ennen salausta tai sen jälkeen, jolloin salaus ei estä vahinkoa.
TLS ei myöskään suojaa sinua, jos annat tietosi vapaaehtoisesti väärälle taholle. Jos kirjoitat salasanasi huijaussivustolle, salaus toimittaa sen huijarille moitteettomasti suojattuna. Salaus on siis vain yksi kerros muiden joukossa. Se hoitaa tehtävänsä luotettavasti, mutta se ei korvaa tervettä harkintaa, ajantasaista laitetta eikä muita turvakäytäntöjä. Parhaan suojan saat, kun ymmärrät, mitä kukin kerros tekee ja mitä se jättää tekemättä.




