Mikä on TLS ja miten se toimii?

Mikä on TLS-salaus ja miten se toimii


Kuljetuskerrosten suojaus (TLS) on yksi tärkeimmistä ja eniten käytetyistä tietoturvaprotokollista. Se suojaa merkittävää osaa verkossa siirrettävistä tiedoista. Se on näkyvin käytetään suojaamaan selaimen ja verkkosivuston välillä kulkevaa tietoa HTTPS: n kautta, mutta sitä voidaan käyttää myös sähköpostin ja useiden muiden protokollien suojaamiseen.

TLS on arvokas, koska se varmistaa, että yhteyden toinen osapuoli on kuka he sanovat olevansa, osoittaa, säilyttääkö tiedot alkuperäisen koskemattomuutensa ja tarjoaa luottamuksellisuuden salaamalla.

TLS käyttää joukko erilaisia ​​algoritmeja ja järjestelmiä näiden tavoitteiden toteuttamiseen. Se voi vaikuttaa monimutkaiselta, mutta tämä artikkeli kattaa yhden näkökohdan kerrallaan antaaksesi syvällisen kuvan siitä, kuinka TLS toimii yhteyksien suojaamiseksi.

Mitä TLS tekee??

Lähettäessäsi tietoja verkossa kohtaamme kolme suurta tietoturvaongelmaa:

  • Kuinka voimme tietää, onko henkilö, jonka kanssa olemme yhteydessä, todella kuka sanoo olevansa?
  • Kuinka voimme tietää, että tietoja ei ole rikottu, koska ne ovat lähettäneet ne?
  • Kuinka voimme estää muita näkemästä ja pääsemästä tietoihin?

Nämä kysymykset ovat ratkaisevan tärkeitä, etenkin kun lähetämme arkaluontoista tai arvokasta tietoa. TLS käyttää erilaisia ​​salaustekniikoita kaikkien näiden kolmen ongelman ratkaisemiseksi. Yhdessä ne sallivat protokollan todentaa yhteyden toinen osapuoli, tarkistaa tietojen eheys ja tarjota salattu suojaus.

Yksinkertaistakaamme asioita ja teeskentelemme yrittävänsi siirtää tietoja edestakaisin ystävän kanssa, joka asuu ympäri maata. Jos tiedot ovat arkaluontoisia, olet erittäin huolissasi kolmesta edellä mainitusta suuresta ongelmasta.

Et voi vain lähettää kirjeen ja toivoa parasta, varsinkin jos epäilet, että hyökkääjät kohdistavat viestisi. Tarvitset sen sijaan järjestelmää, jonka avulla voit varmistaa, että vastaanottajasi on laillinen, tapa, jolla voit tarkistaa, onko viestejä muutettu, ja tapa suojata häntä uteliailta silmiltä..

TLS täyttää nämä vaatimukset käyttämällä useita eri prosesseja. Se alkaa siitä, joka tunnetaan nimellä TLS-kättely, missä todennus tapahtuu ja avaimet luodaan.

Palatakseni kirjeen analogiaan TLS: n todennusosa olisi sellainen kuin lähettäisit kirjeen henkilöllisyyttä vaativan kuriirin kautta. Kun kuriiri toimittaa kirjeen, hän vertaa henkilön henkilöllisyyttä hänen kasvonsa ja tarkistaa, onko vastaanottaja oikea henkilö vai ei.

Avaimen perustamisvaihe olisi vähän kuin jos kirjeesi sisältäisi puolet pin-numerosta, jonka aiot käyttää tulevassa viestinnässä. Pyydä vastaanottajaasi keksimään numeron toinen puoli ja lähettämään se sinulle palautuskirjeessä.

Kun kuriiri oli varmistanut henkilöllisyyden ja PIN-numeron, oli sinulla kaikki tarvitsemasi tietojen turvalliseen lähettämiseen. Todellisuudessa nämä vaiheet ovat paljon monimutkaisempia, mutta pääsemme siihen myöhemmin.

TLS vaihtaa turvallisesti tietoja sovellusprotokollan kanssa. Jatkamalla analogiamme, tietojen turvallinen lähettäminen TLS: n kautta olisi kuin viestin kirjoittaminen ja kirjekuoreen laittaminen. Kirjoita allekirjoitus sinetin yli, niin että jos kirje väärennetään, vastaanottaja voi kertoa kopioidulla allekirjoituksella (tämä tehdään tosiasiassa matematiikalla, mutta jälleen kerran, peitämme sen perusteellisesti myöhemmin).

Tämän jälkeen laitat kirjeen pieneen metallirasiaan, jossa oli yhdistelmälukko, asettamalla yhdistelmä PIN-koodiksi, jonka yhdessä perustit vastaanottajan kanssa. Lähettäisit laatikon kuriirin kautta, joka tarkistaa henkilöllisyyden, kun paketit toimitetaan. Vastaanottajasi vastaisi samalla tavalla, ja tuleva viestintä tapahtuisi samojen vaiheiden mukaisesti.

TLS ratkaisee kaikki kolme ongelmaamme suhteellisen samalla tavalla. Kuriiri toimii vastaanottajan todentamiseksi ja varmistaa, että laatikko toimitetaan aiotulle henkilölle. Lukittu laatikko toimii salausmuotona, joka estää ketään muuta kuin kumppania pääsemään kirjeisiin. Allekirjoitettu kirjekuori kertoo, onko viestiä peukaloitu.

Tämä on hyvin karkea arvio siitä, mitä TLS tekee. Todellisuudessa, TLS tapahtuu asiakkaiden ja palvelimien välillä, kahden ihmisen sijaan, jotka lähettävät sähköpostia toisilleen. Analogia on vain antaa sinulle visualisointi tapahtuvasta ja sen perusteet. Seuraavissa osissa kerrotaan yksityiskohtaisesti, mitä todella tapahtuu.

TLS vs. SSL

Kun luet TLS: ää, mainitset usein SSL: n tai jopa TLS / SSL: n. Secure Sockets Layer (SSL) on TLS: n vanha versio, mutta monet teollisuudessa viittaavat edelleen TLS: ään vanhan monikerran alla. Tässä artikkelissa käytetään termiä TLS kaikkialla, mutta on tärkeää huomata, että nimiä käytetään usein vuorottelevasti. Voit lukea lisää SSL: stä oppaamme.

TLS: n historia

Kaikki alkoi tarpeesta turvata kuljetuskerros. Kuten edellä mainitsimme, TLS: n edeltäjä oli SSL. Ensimmäiset SSL-versiot kehitti 1990-luvulla Netscape, yritys, joka rakensi yhden varhaisista selaimista.

SSL 1.0: ta ei koskaan julkaistu, koska se sisälsi vakavia haavoittuvuuksia. Versio 2.0 tuli Netscape Navigator 1.1: n mukana vuonna 1995, se sisälsi kuitenkin joukko vakavia puutteita. SSL 3.0 oli voimakkaasti uudistettu versio, joka ilmestyi vuonna 1996, ja monet tietoturvaongelmista ratkaistiin.

Vuonna 1996, IETF julkaisi luonnoksen SSL 3.0: sta RFC 6101: ssä. IETF muodosti työryhmän standardoimaan SSL: n ja julkaisi vuoden 1999 tulokset TLS 1.0: na. Se dokumentoitiin RFC 2246 -standardiin, ja standardointi sisälsi joitain muutoksia alkuperäiseen protokollaan sekä nimenmuutos. Nämä muutokset syntyivät Netscape, Microsoftin ja IETF-työryhmän välisten neuvottelujen tuloksena.

Vuonna 2006 IETF julkaisi RFC 4346: n, joka dokumentoi TLS 1.1: n. Tämä versio sisälsi uusia tietoturvamääräyksiä ja useita muita päivityksiä. Versio 1.2 julkaistiin vain kaksi vuotta myöhemmin vuonna 2008. Se sisälsi tuen todennetuille salaussalauksille, joukon muutoksia hash-toimintojen käyttöön ja monia muita parannuksia.

Seuraava versio saapui vasta vuoteen 2018, jolloin TLS 1.3 määritettiin. Se sisältää joukon muutoksia, mukaan lukien pakotettu eteenpäin suuntautuva salaisuus, heikompien algoritmien tuen poistaminen ja paljon muuta.

TLS 1.0 ja 1.1 on nyt poistettu käytöstä vuonna 2020, mutta versio 1.2 on laajalti käytössä. Versio 1.3 alkaa nähdä lisääntynyttä käyttöönottoa.

TLS: Tekniset yksityiskohdat

TLS koostuu monista eri elementeistä. Perusosa on tietueprotokolla, taustalla oleva protokolla, joka vastaa kaiken muun kokonaisrakenteesta.

TLS-3

Kaavio, joka näyttää TLS-pinon. Jeffreytedjosukmonon TLS-protokollapino. Lisensoitu CC0-tunnuksella.

Tallennusprotokolla sisältää viisi erillistä aliprotokollaa, joista kukin on alustettu asiakirjat:

  • Kädenpuristus - Tätä protokollaa käytetään suojatun yhteyden parametrien asettamiseen.
  • hakemus - Sovellusprotokolla alkaa kädenpuristusprosessin jälkeen, ja siellä tiedot siirretään turvallisesti kahden osapuolen välillä.
  • hälytys - Kumpikin osapuoli käyttää hälytysprotokollaa yhteydenpidossa ilmoittaakseen toiselle virheistä, vakavuusongelmista tai mahdollisesta kompromissista.
  • Muuta salausasetusta - Asiakas tai palvelin käyttää tätä protokollaa salausparametrien muuttamiseen. Se on melko yksinkertainen, joten emme käsittele sitä perusteellisesti tässä artikkelissa.
  • Sydämenlyönti - Tämä on TLS-laajennus, joka antaa yhteyden yhdelle puolelle tietää, onko sen vertaiskäyttäjä edelleen elossa, ja estää palomuureja sulkemasta passiivisia yhteyksiä. Se ei ole TLS: n ydinosa, joten ohitamme sen tässä oppaassa.

Kutakin näistä alaprotokollista käytetään eri vaiheissa eri tiedon välittämiseen. Tärkeimmät ymmärrettävät ovat kättely ja sovellusprotokollat, koska niiden tehtävänä on muodostaa yhteys ja sitten turvallisesti lähettää tietoja.

TLS-kättelyprotokolla

Tässä yhteydessä yhteys muodostetaan turvallisella tavalla. Se voi vaikuttaa monimutkaiselta, jos olet uusi joillekin käsitteille, mutta kutakin niistä käsitellään myöhemmin artikkelissa, jos joudut viitaamaan niihin.

TLS-kättelyä on kolme perustyyppiä: perus TLS-kättely, asiakkaan todentama TLS-kättely ja lyhennetty kädenpuristus.

Perus TLS-kättely

TLS-2

Kaavio, joka näyttää TLS-kättelyprosessin. FleshGrinderin koko TLS 1.2-kättely. Lisensoitu CC0-tunnuksella.

Tämän tyyppisessä kättelyssä vain palvelin todennetaan eikä asiakas. Se alkaa neuvotteluvaiheesta, jossa asiakas lähettää Asiakas Hei viesti. Tämä sisältää korkeimman version TLS: stä, jota asiakas tukee, mahdolliset salausohjelmat, ilmoituksen tukeeko se pakkaamista, satunnaisluvun ja joitain muita tietoja

Client Hello -viesti täytetään Palvelin Hei viesti. Tämä vastaus sisältää istunnon tunnuksen, protokollaversion, salausohjelman ja pakkauksen (jos jotain käytetään), jotka palvelin valitaan asiakasluettelosta. Se sisältää myös eri satunnaisluvun.

Se riippuu valitusta salausohjelmasta, mutta palvelin yleensä seuraa tätä lähettämällä Todistus viesti todennusta varten. Tämä vahvistaa sen identiteetin ja sisältää julkisen avaimen.

Jos käytetään lyhytaikaisia ​​Diffie-Hellman- tai nimettömiä Diffie-Hellman-avainvaihtoja, seuraa tätä Palvelimen avaimenvaihto viesti. Muut avaintenvaihtomenetelmät ohittavat tämän osan. Kun palvelin on lopettanut neuvottelun sivunsa, se lähettää Palvelin Hei Valmis viesti.

Nyt on asiakkaan vuoro taas. Valitusta salausohjelmistosta riippuen se lähettää Asiakkaan avaimenvaihto viesti. Tämä voi sisältää julkisen avaimen tai premaster-salaisuuden, joka on salattu palvelimen julkisella avaimella.

Tämän jälkeen molemmat osapuolet käyttävät satunnaislukuja ja esikunnan salaisuutta keksiäkseen pääsalaisuuden. Avaimet johdetaan pääsalaisuudesta, jota käytetään sitten viestien todentamiseen ja salaamiseen.

Sitten asiakas lähettää Muuta salausasetusta viesti. Tämä kertoo palvelimelle, että seuraavat viestit todennetaan ja salataan nyt (vaikka salausta ei joskus voida käyttää).

Sitten asiakas seuraa tätä a päättynyt viesti, joka on salattu ja sisältää myös viestin todennuskoodin (MAC) todennusta varten. Palvelin purkaa tämän viestin salauksen ja tarkistaa MAC: n. Jos jokin näistä prosesseista epäonnistuu, yhteys on hylättävä.

Nyt on palvelimen vuoro lähettää Muuta salausasetusta viesti sekä a päättynyt viesti, jolla on sama sisältö kuin yllä. Tämän jälkeen asiakas yrittää myös purkaa ja tarkistaa sisällön. Jos tämä kaikki suoritetaan onnistuneesti, kättely on valmis. Tässä vaiheessa sovellusprotokolla muodostetaan. Tietoja voidaan sitten vaihtaa turvallisesti samalla tavalla kuin päättynyt viesti ylhäältä, todennuksella ja valinnaisella salauksella.

Asiakastodennettu TLS-kättely

Tämä kädenpuristus muistuttaa paljolti TLS: n peruskäsittelyä, mutta myös asiakas todennetaan. Tärkein ero on, että palvelimen lähettämisen jälkeen Todistus Viesti, se lähettää myös Varmennepyyntö viesti, jossa pyydetään asiakkaan sertifikaattia. Kun palvelin on valmis, asiakas lähettää sertifikaatin a Todistus viesti.

Sitten asiakas lähettää sen Asiakkaan avaimenvaihto viesti, kuten TLS: n perus kättelyssä. Tätä seuraa Varmenne Vahvista viesti, joka sisältää asiakkaan digitaalisen allekirjoituksen. Koska se lasketaan asiakkaan yksityisestä avaimesta, palvelin voi vahvistaa allekirjoituksen julkisella avaimella, joka lähetettiin osana asiakkaan digitaalista varmennetta. Loput Asiakastodennettu TLS-kättely seuraa samoja linjoja kuin perus TLS-kättely.

Lyhennetty TLS-kättely

Kun kädenpuristus on jo tapahtunut, TLS sallii suuren osan prosessista leikata käyttämällä lyhennettyä kädenpuristusta. Nämä kädenpuristukset käyttävät istunnon tunnusta linkittääksesi uuden yhteyden aiempiin parametreihin.

Lyhennetty kädenpuristus antaa molemmille osapuolille mahdollisuuden jatkaa turvallista yhteyttä samalla asennuksella, josta neuvoteltiin aiemmin. Koska jokin salaus, joka yleensä osallistuu kädenpuristuksen aloittamiseen, voi olla melko raskas laskennallisissa resursseissa, tämä säästää aikaa ja helpottaa yhteyden muodostamista.

Prosessi alkaa Asiakas Hei viesti. Se muistuttaa aikaisempaa Client Hello -viestiä, mutta sisältää myös viestin istunnon tunniste aiemmasta yhteydestä. Jos palvelin tietää istunnon tunnuksen, se sisällyttää sen omaan Palvelin Hei viesti. Jos se ei tunnista istunnon tunnusta, se palauttaa toisen numeron, ja sen sijaan on suoritettava täysi TLS-kättely.

Jos palvelin tunnistaa istunnon tunnuksen, niin Todistus ja Avaimenvaihto vaiheet voidaan ohittaa. Muuta salausasetusta ja päättynyt viestit lähetetään samalla tavalla kuin yllä esitetty TLS-perus kättely. Kun asiakas on purkanut viestin salauksen ja todennut MAC: n, tiedot voidaan lähettää suojatun TLS-yhteyden kautta.

Siellä on myös TLS-laajennus, joka mahdollistaa yhteyksien jatkamisen istuntilipuilla istunnon tunnusten sijasta. Palvelin salaa istunnon tiedot ja lähettää ne asiakkaalle. Kun asiakas haluaa jatkaa tätä yhteyttä, se lähettää istuntolipun palvelimelle, joka purkaa sen paljastaakseen parametrit.

Istuntolippuja ei käytetä niin usein, koska ne vaativat jatkamisen. Siitä huolimatta ne voivat olla hyödyllisiä tietyissä tilanteissa, koska palvelimen ei tarvitse tallentaa mitään.

TLS-kättelyn purkaminen pakkauksesta

Kädenpuristuksen kolme tärkeintä vaihetta ovat:

  • parametrit valitaan,
  • se suorittaa todennuksen, ja
  • avaimet ovat vakiintuneet.

Tarkastellaan niitä hiukan yksityiskohtaisemmin, jotta ymmärrät mitä oikein tapahtuu.

Parametrit

Kädenpuristuksen alussa asiakas ja palvelin neuvottelevat yhteyden parametrit yhteisellä sopimuksella. Ensimmäinen niistä on, mitä TLS-versiota käytetään. Tämä on korkein versio, jota molemmat osapuolet tukevat, ja se on yleensä turvallisin.

Osapuolet päättävät myös, mitä avaintenvaihtoalgoritmia ne käyttävät pääavaimen muodostamiseen. Hajaustoiminnosta, salausalgoritmista ja pakkausmenetelmästä sovitaan myös tässä vaiheessa. Niitä käsitellään yksityiskohtaisesti, kun keskustelemme Sovellusprotokolla myöhemmin artikkelissa.

Todennus: Digitaaliset sertifikaatit

Todennus on keskeinen osa viestintäkanavan turvaamista, koska se antaa molemmille osapuolille tietää, että he puhuvat tosiasiassa itseään ajattelevansa eivätkä huijareiden kanssa. TLS: ssä ja monissa muissa tietoturvamekanismeissa tämä saavutetaan ns. Digitaalisilla varmenteilla.

Digitaaliset sertifikaatit ovat sähköisiä asiakirjoja, jotka osoittavat yhteyden yksilön tai yhteisön ja heidän julkisen avaimen välillä. Tämän linkin vahvistaa varmentaja (CA), joka on luotettava organisaatio, joka varmistaa, että nämä kaksi ovat toisiinsa liittyviä, ja käyttää sitten omaa mainettaan luottamuksen myöntämiseen varmenteelle.   

Eri sertifikaattitasot edustavat vaihtelevaa luottamusta. Tärkeää on tietää, että jos asiakkaalla tai palvelimella on luotettava ja kelvollinen varmenne, on kohtuullista olettaa, että julkinen avain on laillinen ja että et ole tekemisissä hyökkääjän kanssa.

Huomautus julkisista avaimista

Julkisen avaimen salaus (tunnetaan myös nimellä epäsymmetrinen salaus) on tärkeä osa salausta, ja sitä käytetään laajasti TLS: n eri näkökohdissa. Tässä on nopea pohjustus niille, jotka eivät tunne sen toimintaa.

Lyhyt selitys on se julkisen avaimen salaus käyttää salausta ja salauksen purkamista varten avainparia, ei vain yhtä avainta. Lähettäjä käyttää aiottujen vastaanottajien julkista avainta tietojen salaamiseen. Kun se on salattu, se voidaan salata vain vastaanottajan vastaavalla yksityisellä avaimella. Tietenkin julkinen avain voidaan jakaa julkisesti, kun taas yksityinen avain on pidettävä salassa.

Julkisen avaimen salaus antaa osapuolille mahdollisuuden jakaa tietoa turvallisesti, vaikka he eivät olisi koskaan tavanneet tai olleet saaneet mahdollisuuden vaihtaa avaimia etukäteen. Se tekee tämän joidenkin alkulukujen ainutlaatuisten ominaisuuksien avulla. Löydät lisätietoja artikkelistamme julkisen avaimen salaus.

Pääsalaisuuden perustaminen

Kuten edellä näimme, kun keskustelemme TLS: n peruskäsittelyprosessista, sen jälkeen kun puolue (tai molemmat osapuolet) todistaa henkilöllisyytensä julkisella sertifikaatilla, seuraava askel on perustaa pääsalaisuus, joka tunnetaan myös nimellä jaettu salaisuus. Pääsalaisuus on perusta, jolla saadaan avaimet, joita käytetään molempien osapuolten välillä siirretyn datan salaamiseen ja tarkastamiseen.

TLS-kättely voi käyttää useita erilaisia ​​mekanismeja jakaa tämä salaisuus turvallisesti. Näitä ovat RSA, useita erityyppisiä Diffie-Hellman-avainvaihtoa, PSK, Kerberos ja muut. Jokaisella on omat etunsa ja haittansa, kuten välitysalaisuuden tarjoaminen, mutta nämä erot eivät kuulu tämän artikkelin soveltamisalaan.

Tarkka prosessi riippuu siitä, mikä avaimenvaihtomenetelmä on valittu, mutta se noudattaa kohdassa 3.2 mainittuja karkeita vaiheita Perus TLS-kättely jakso.

Premaster-salaisuus johdetaan sen mukaan, kumpi avaintenvaihtomenetelmä oli aiemmin valittu. Asiakas salaa esikappaleen salaisuuden palvelimen julkisella avaimella, jotta se lähetetään turvallisesti koko yhteyden kautta.

Asiakas ja palvelin käyttävät sitten molemmat esihallintasalaisuutta ja satunnaislukuja, jotka he ovat lähettäneet viestinnän alussa, päätteeksi pääsalaisuuden. Kun pääavain on laskettu, sitä käytetään keksimään joko neljä tai kuusi erillistä näppäintä. Nämä ovat:

  • Asiakas kirjoittaa MAC-avaimen - Palvelin käyttää tätä avainta asiakkaan lähettämien tietojen eheyden tarkistamiseen.
  • Palvelimen kirjoittaa MAC-avain - Asiakas käyttää palvelimen kirjoitus-MAC-avainta palvelimen lähettämien tietojen eheyden tarkistamiseen.
  • Asiakas kirjoittaa salausavaimen - Palvelin käyttää tätä avainta asiakkaan lähettämien tietojen salaamiseen.
  • Palvelimen kirjoitussalausavain - Asiakas käyttää tätä avainta salaamaan palvelimen lähettämät tiedot.
  • Asiakas kirjoittaa IV-avaimen - Palvelin käyttää AEAD-salausohjelmissa asiakkaan kirjoitus-IV-avainta, mutta ei silloin, kun muita avaintenvaihtoalgoritmeja käytetään.
  • Palvelimen kirjoitus IV-avain - Vastaavasti asiakas käyttää tätä avainta AEAD-salaisuuksissa, mutta ei silloin, kun muita avaimenvaihtoalgoritmeja käytetään.

Pääavaimen perustaminen on tärkeä osa TLS-kättelyä, koska se antaa yhteyden molemmille puolille mahdollisuuden saada turvallisesti avaimet, joita voidaan käyttää sekä todennukseen että salaukseen. Erillisiä avaimia käytetään varotoimenpiteenä molemmissa prosesseissa.

Kun todennus- ja salausavaimet on johdettu, niitä käytetään molempien suojaamiseen päättynyt viestit sekä sovellusprotokollan kautta lähetetyt tietueet.

Sovellusprotokolla

Kun TLS-kättely on muodostanut suojatun yhteyden, sovellusprotokollaa käytetään suojaamaan lähetettyä tietoa. Se voidaan määrittää käyttämään laajaa valikoimaa algoritmeja sopimaan erilaisiin skenaarioihin.

Todennusalgoritmit

Viestien eheys voidaan tarkistaa monilla eri algoritmeilla. Nämä sisältävät:

  • HMAC-MD5
  • HMAC-SHA1
  • HMAC-SHA-2
  • AEAD

Lähettämien tietojen eheyden todistamiseksi lähettäjä suorittaa tiedot hash-toiminnon kautta palauttaakseen yksilöllisen merkkijonon. Nämä ovat erityisiä kaavoja, jotka palauttavat aina saman tuloksen aina, kun he vastaanottavat saman tulon.

Lähettäjä allekirjoittaa nämä tiedot yksityisellä avaimellaan muodostaakseen niin sanotun digitaalisen allekirjoituksen. Digitaalinen allekirjoitus liitetään sitten viestiin ja lähetetään vastaanottajalle. Tarkistaa, säilyykö tietojen eheys eikä niitä ole muutettu, vastaanottaja purkaa räjäyksen lähettäjän julkisella avaimella. Sitten he käyttävät samaa hash-toimintoa lähetetyissä tiedoissa. Vastaanottaja vertaa sitten näitä kahta arvoa.

Jos ne ovat samoja, se tarkoittaa, että tietoja ei ole muutettu lähettäjän allekirjoittamisen jälkeen. Jos ne ovat erilaisia, on todennäköistä, että tietoja on peukaloitu tai että siinä on jokin muu virhe.

Tämä on lyhyt versio siitä, kuinka hash-toimintoja voidaan käyttää tietojen eheyden osoittamiseen. Jos haluat syventävää ymmärrystä, tutustu salausta, suolaamista ja hajauttamista käsittelevään artikkeliimme.

Salausalgoritmit

TLS käyttää symmetrisen avaimen salausta tarjoamiensa tietojen luottamuksellisuuteen. Toisin kuin julkisen avaimen salaus, sekä salaus- että salauksenpurkuprosesseissa käytetään vain yhtä avainta. Kun tiedot on salattu algoritmilla, ne ilmestyvät salaustekstinä. Niin kauan kuin asianmukaista algoritmia käytetään, hyökkääjät eivät pääse käsiksi tosiasiallisiin tietoihin, vaikka he sieppaavatkin ne.

TLS voi käyttää monia erilaisia ​​algoritmeja, kuten Camellia tai ARIA, vaikka suosituin on AES.

Puristus

Pakkaus on tietojen koodausprosessi, jotta ne vievät vähemmän tilaa. TLS tukee pakkaamista, jos yhteyden molemmat puolet päättävät käyttää sitä. Tästä kyvystä huolimatta yleensä suositellaan välttämään TLS: n käyttöä tietojen pakkaamiseen, etenkin CRIME-hyökkäyksen jälkeen (katso TLS-tietoturvaongelmat alla oleva osa) havaittiin pystyvän hyödyntämään pakattuja tietoja istunnon kaappaamisessa.

täyte

Täyte lisää viestiin lisätietoja ennen salausta. Se on yleinen salausprosessi, jota käytetään estämään salatun datan rakenteen vihjeiden antamisen todelliselle merkitykselleen. TLS yleensä soveltaa PKCS # 7 -parannusta tietueisiin ennen niiden salaamista.

Hälytysprotokolla

Jos yhteys tai tietoturva tulee epävakaa, vaarantunut tai on tapahtunut vakava virhe, hälytysprotokolla antaa lähettäjälle ilmoituksen toiselle osapuolelle. Näitä viestejä on kahta tyyppiä, joko varoitus tai kohtalokas. Varoitusviesti osoittaa, että istunto on epävakaa, ja antaa vastaanottajalle mahdollisuuden päättää, jatketaanko istuntoa vai ei.

Fataali viesti kertoo vastaanottajalle, että yhteys on vaarannettu tai on tapahtunut vakava virhe. Lähettäjän tulisi sulkea yhteys viestin lähettämisen jälkeen. Hälytysprotokolla sisältää myös tietoja siitä, mikä aiheuttaa tietyn yhteysongelman. Tähän voi kuulua esimerkiksi salauksen purkaminen, tuntematon varmentaja, laiton parametri ja paljon muuta.

TLS & OSI-malli

OSI-malli on tapa määritellä ja standardisoida miten tarkastelemme erilaisia ​​viestintäjärjestelmiämme ja protokolliamme. On tärkeää huomata, että se on vain malli, ja jotkut protokollamme eivät ole sen mukaisia.

OSI: ssä on seitsemän erillistä kerrosta, jotka osoittavat kuitenkin tasot, joissa protokollat ​​toimivat, TLS ei sovi mihinkään yksittäiseen. Se virtaa toisen siirtoprotokollan, kuten TCP, yli, minkä pitäisi tarkoittaa, että se on neljännen kerroksen, kuljetuskerroksen, yläpuolella. Sitä käytetään näkyvimmin kuin kuljetuskerrosta, mutta koska se suorittaa kädenpuristuksia, tämä tarkoittaisi, että se on osa esitys- tai sovelluskerroksia.

Kuten voitte nähdä, TLS ei yksinkertaisesti täytä OSI-mallia. Tämä ei tarkoita, että TLS on rikki tai väärä, jos mitään, se vain osoittaa, että OSI-malli on puutteellinen eikä kykene ottamaan huomioon kaikkia viestintäprotokolliamme.

TLS-käyttö

TLS: tä käytetään turvaamaan merkittävä osa verkkoviestinnästämme. Normaalisti se toteutetaan protokollien kuten Lähetyksen ohjausprotokolla (TCP), mutta sitä voidaan käyttää myös datagrammin ruuhkanhallintaprotokollassa (DCCP) ja käyttäjän datagrammin protokollassa (UDP).

Se voi suojata protokollia, kuten HTTP, SMTP, FTP, XMPP ja NNTP, samoin kuin muut. Yleisin sovellus on suojattu Hypertext Transfer Protocol Secure (HTTPS), joka suojaa web-selaimen ja verkkosivuston välistä yhteyttä. Voit kertoa, milloin HTTPS: ää käytetään verkkoyhteyden suojaamiseen, koska pieni vihreä lukituskuvake ilmestyy selaimesi yläosassa olevan URL-osoitteen vasemmalle puolelle..

TLS: ää voidaan käyttää myös VPN: ien luomiseen, kuten OpenConnect ja OpenVPN. Se käyttää salaus- ja todennusominaisuuksiaan tunnelin muodostamiseksi, joka pystyy yhdistämään isännät ja verkot toisiinsa. TLS-pohjaiset VPN-tekniikat, kuten OpenVPN, ovat edullisia vaihtoehtoihin nähden, kuten IPsec, koska OpenVPN: llä ei tiedetä olevan vakavia tietoturvaongelmia. Nämä VPN: t voivat olla myös helpompi määrittää.

Toinen sen käyttö on suojattu sähköposti STARTTLS: n kautta. Kun TLS otetaan käyttöön, se estää hyökkääjiä pääsemästä viesteihin kulkiessaan postipalvelimien välillä.

TLS-tietoturvaongelmat

Kuten useimmatkin protokollat, TLS: llä on ollut useita aiempia haavoittuvuuksia ja teoreettisia hyökkäyksiä sen erilaisia ​​toteutuksia vastaan. Tästä huolimatta, viimeisimmät versiot pidetään turvallisina käytännön tarkoituksiin.

Aikaisemmissa versioissa, kuten SSL 2.0 ja 3.0 (ja TLS 1.0, joka on olennaisesti sama kuin SSL 3.0), on lukuisia tietoturvavirheitä, mutta koska ne ovat vanhoja ja vanhentuneita protokollia, emme syventy yksityiskohtiin. Sinun pitäisi käyttää TLS 1.2 ja 1.3 suojataksesi yhteydet sen sijaan.

TLS: n uudemmissa versioissa on lukuisia päivityksiä, jotka tekevät siitä vähemmän haavoittuvan kuin SSL. Tästä huolimatta protokollassa on edelleen ollut seuraavia turvallisuusongelmia:

Uudeneuvotteluhyökkäykset

Yksi TLS: n ominaisuuksista on, että sen avulla asiakas- ja palvelinparit voivat neuvotella uudelleen olemassa olevan yhteyden parametrit. Vuonna 2009 havaittiin, että hyökkääjät voivat käyttää tätä hyväkseen, jotta he voisivat lisätä liikennettä saadakseen sen näyttämään siltä, ​​että se tulee asiakkaalta. Palvelimet hyväksyvät pyynnön laillisena, mikä tarkoittaa, että hyökkääjät voivat mahdollisesti manipuloida lähteviä viestejä.

Tämä hyökkäys ei anna hyökkääjän nähdä vastausta, mutta sillä on silti potentiaalia vahingoittaa. Laajennus, joka estää nämä hyökkäykset, on tällä hetkellä ehdotettu standardi.

PETO

Tutkijat löysivät ensimmäisen kerran selaimen hyväksikäyttöä SSL / TLS (BEAST) -hyökkäyksen kohdalla. Se hyödyntää TLS: n salauslohkojen ketjutettavuuden, jota voidaan käyttää viestien salauksen purkamiseen. Tämä hyökkäys koskee vain TLS 1.0: ta, joka on protokolla vanha ja heikompi versio. Vaikka sen käyttö vanhenee vasta vuoteen 2020, käyttäjien tulisi käyttää sen sijaan versioita 1.2 ja 1.3.

Ajoitus hyökkäykset

Nämä sivukanavahyökkäykset analysoivat kuinka kauan algoritmin suorittaminen vie, ja käyttävät sitten näitä tietoja taaksepäin työskentelemiseen ja avaimen selvittämiseen. Vuonna 2013 Lucky Thirteen -hyökkäyksen havaittiin hyödyntävän sekä ajoitushyökkäystä että täydentävää oraakkohyökkäystä viestin todennuskoodin (MAC) tarkistamisen aikana. Tätä hyökkäystä voidaan käyttää murtamaan TLS-algoritmi, vaikka sitä ei pidetä vaarallisena suurimmalle osalle TLS-käyttäjiä.

CRIME & RIKKOMINEN

CRIME-hyökkäys toimii useita protokollia vastaan. Kun tiedot on pakattu, se voi saada sisällön todennus evästeistä. Tätä tietoa voidaan käyttää istunnon kaappaamiseen. Vaikka hyökkäys vaikuttaa useisiin protokolliin, se on erityisen huolestuttava, kun HTTP-pakkausta käytetään, koska tehokkaita lieventämisstrategioita ei ole..

Vuonna 2013 selainten tutustumisen ja suodatuksen hypertekstin mukautuvan pakkaamisen (BREACH) avulla havaittiin vaikuttavan HTTP-pakkaukseen samalla tavalla. Tämä hyökkäyksen versio voi palauttaa sähköpostiosoitteet ja muut arvokkaat tiedot, jotka on salattu TLS: llä. BREACH-hyökkäystä voidaan lieventää poistamalla HTTP-pakkaus käytöstä tai käyttämällä tekniikoita, kuten sivustojenvälinen pyyntöväärennys (CSRF) -suojaus..

Alemman tason hyökkäykset

Nämä ovat hyökkäykset, jotka huijaavat palvelimia käyttämään aiempia ja vähemmän turvallisia TLS-versioita. Hyökkääjät voisivat käyttää näitä tekniikoita neuvotella vähemmän turvallisten avainvaihtojen ja salausten käytöstä. Logjam-hyökkäys on hyvä esimerkki, koska se saattaa saada haavoittuvat palvelimet käyttämään 512-bittistä Diffie-Hellmania, mikä on heikko. Hyökkääjät voivat sitten rikkoa tämän avaintenvaihtomekanismin ja purkaa avaimet, jolloin heillä on täysi pääsy istuntoon.

heartbleed-haavoittuvuus

Sydänsydäminen oli tietoturvavirhe, joka johdettiin vahingossa OpenSSL-salauskirjastoon vuonna 2012, mutta ei julkistettu ennen vuotta 2014. Koska tämä on niin yleisesti käytetty TLS-sovellus, se aiheutti merkittäviä maailmanlaajuisia vahinkoja.

Yksi TLS: n sykelaajennuksen kehittäjistä lisäsi puskurin ylimääräisen lukemisen haavoittuvuuden, joka mahdollistaa ylimääräisen tiedon paljastumisen. Virhettä ei poistettu koodia tarkistettaessa, mikä johti useisiin merkittäviin hyökkäyksiin.

Koska OpenSSL-kirjasto on otettu käyttöön niin laajasti, kansainväliset kustannukset aiheen lieventämiseksi osoittautuivat melko kalliiksi. Palvelimen järjestelmänvalvojien oli asennettava uusi korjaustiedosto ja luotava varmenteet ja avainparit uudelleen, jotka ovat saattaneet olla vaarantuneet kahden vuoden aikana, jonka haavoittuvuus oli olemassa.

HUKKUA

RSA: n salauksen purkaminen vanhentuneella ja heikentyneellä eNcryption (DROWN) -hyökkäyksellä ilmoitettiin vuonna 2016, ja siinä hyödynnetään palvelintukea SSL 2.0: lle. Se käyttää valittua salattua tekstihyökkäystä palvelimia vastaan, jotka tukevat edelleen SSL 2.0: ta, samoin kuin sellaisia, joilla on sama julkisen avaimen varmenne toisen palvelimen kanssa, joka tukee SSL 2.0: ta..

Kun hyökkäys ilmoitettiin, se voidaan käynnistää alkuperäisillä perustamiskustannuksilla, jotka ovat noin 18 000 dollaria ja noin 400 dollaria jokaisesta erillisestä hyökkäyksestä. Kun DROWN-hyökkäys onnistuu, se hanki istuntoavaimet.

Hyökkäystä voidaan lieventää, jos et jaa palvelinvarmenteita. OpenSSL-ryhmä on julkaissut myös korjauksia, jotka poistavat vanhojen protokollien ja salausten tuen, mutta ne toimivat vain, jos palvelimen varmennetta ei jaeta muiden SSL 2.0 -tukea tukevien palvelimien kanssa..

Unholy PAC

Tämä hyökkäys löydettiin vuonna 2016. Se hyödyntää Web Proxy Autodiscovery Protocol -protokollan (WPAD) löydettyjä heikkouksia. Kun käyttäjä yrittää käydä verkkosivustolla TLS-salatulla yhteydellä, virhe voi tehdä URL-osoitteen näkyväksi. Koska URL-osoitteet lähetetään toisinaan käyttäjille todennusmuotona, Unholy PAC-hyökkäys antaa hyökkääjälle mahdollisuuden ottaa käyttäjän tilin haltuun.

Onko TLS turvallinen?

Vaikka voi näyttää siltä, ​​että turvallisuuskysymyksiä on paljon, tosiasia on, että suurin osa näistä on melko vähäisiä ja niitä voidaan tai on lievennetty. Teknologian kehittyessä havaitaan haavoittuvuuksia ja kehitetään uusia hyökkäyksiä, TLS: llä on edelleen enemmän turvallisuusongelmia. Tästä huolimatta toistaiseksi ja lähitulevaisuudessa näyttää siltä, ​​että TLS on edelleen yksi tärkeimmistä ja luotettavimmista työkaluista, joita käytämme turvaamaan online-maailmamme.

Tietoturvayritystarpeet TheDigitalArtist lisensoitu CC0

Brayan Jackson
Brayan Jackson Administrator
Sorry! The Author has not filled his profile.
follow me

Add a Comment

Your email address will not be published. Required fields are marked *

8 + 2 =