TLS

internetin salausprotokolla
Tämä artikkeli käsittelee salausprotokollaa. TLS on myös Itä-Timorin maatunnus.

TLS (lyhenne sanoista Transport Layer Security, suom. kuljetustason turvallisuus) on salausprotokolla, joka on suunniteltu tarjoamaan suojattu Internet-sovellusten tietoliikenne IP-verkkojen yli.[1][2] Sitä käytetään laajasti kaikenlaisissa sovelluksissa, kuten sähköpostissa ja pikaviestimissä. Kuitenkin TLS:n tunnetuin käyttötapa on suojata verkkosivujen HTTPS-protokollalla. TLS kehitettiin aiemmin käytössä olleen SSL-salausprotokollan seuraajaksi. Vuoden 2024 helmikuussa TLS 1.2:ta tuki 99.9% verkkosivuista ja TLS 1.3:a 67.8% verkkosivuista.[3]

Historia ja versiot muokkaa

SSL 1.0, 2.0 ja 3.0 muokkaa

Netscape kehitti vuonna 1995 selaimeensa salausprotokollan, SSL:n (Secure Sockets Layer). Se kehitettiin HTTP-yhteyksien eli WWW-sivujen suojaamiseen. Salausprotokollaa ei kuitenkaan rajoitettu vain HTTP-protokollaan, vaan sillä voidaan suojata mitä tahansa TCP-yhteyksiä.[4] Vuosina 1995-1998 Netscapen päätutkijana toiminutta Taher Elgamalia on kutsuttu "SSL:n isäksi".[5][6] Nykyisin sitä käytetään myös esimerkiksi SMTP-, POP-, IMAP-, LDAP ja IRC-yhteyksien salaamiseen. Protokollan ongelmina olivat useat tietoturva-aukot, joiden takia SSL:n ensimmäistä versiota ei ikinä julkaistu. SSL 2.0 poistettiin käytöstä vuonna 2011 dokumentilla RFC 6176 ja SSL:n uusin versio, SSL 3.0, poistettiin käytöstä vuonna kesäkuussa 2015 dokumentilla RFC 7568.

TLS 1.0 muokkaa

Netscape luovutti kehityksen IETF-standardointiorganisaatiolle, joka sitten kehitti SSL-protokollasta oman versionsa ja antoi sille nimeksi TLS (Transport Layer Security). TLS 1.0 on SSL 3.0:n seuraaja. Standardissa kerrotaan "tämän protokollan ja SSL 3.0:n erot eivät ole suuria, mutta ne ovat tarpeeksi merkittäviä estämään yhteensopivuuden TLS 1.0:n ja SSL 3.0:n välillä.". Myöhemmin työryhmän jäsen Tim Dierks on kertonut että protokollan muutokset ja uudelleennimeäminen olivat "kasvojen säilyttämisele Microsoftille, jottei se näyttäisi siltä että IETF vain hyväksyisi Netscapen luoman protokollan".[7]

Suurimmista maksukorttitarjoajista koostunut PCI Council suositteli, että organisaatiot siirtyisivät TLS 1.0:sta versioon 1.1 tai uudempaan viimeistään kesäkuun 2018 lopussa.[8][9] Lokakuussa 2018 Apple, Microsoft, Google ja Mozilla Foundation yhdessä ilmoittivat poistavansa TLS 1.0:n ja TLS 1.1:n käytöstä selaimistaan maaliskuussa 2020.[10]

TLS 1.1 muokkaa

TLS 1.1 määriteltiin huhtikuussa 2006 dokumentissa RFC 4346.[11] Eroja aiempaan versioon olivat muun muassa:

  • Lisätty suojausta salauslohkojen ketjutushyökkäyksiä (CBC) vastaan.
  • Lisätty tuki IANAn lisäämille parametreille[12]

Tuki versioille 1.0 ja 1.1 poistui laajasti verkkosivuilta vuoden 2020 aikana, poistaen pääsyn Mozilla Firefox-selaimista joiden versio vanhempi kuin 24 ja Chromium-pohjaisista selaimista joiden versio on alle 29. TLS 1.0 ja TLS 1.1 on julistettu vanhentuneeksi maaliskuussa 2021.[13]

TLS 1.2 muokkaa

TLS 1.2:n määritelmä RFC 5246 julkaistiin elokuussa 2008. Maaliskuussa 2011 versiota laajennettiin dokumentissa RFC 6176 poistaen tuen SSL:lle, jolloin TLS-yhteydet eivät koskaan neuvottele SSL 2.0:n käytöstä. TLS 1.2:n käytöstä poistolle ei ole vielä päätetty ajankohtaa.

TLS 1.3 muokkaa

TLS 1.3 -versiossa oleviin muutoksiin kuuluvat nopeampi kättely, uudet salausmenetelmät (Authenticated Encryption with Associated Data, AEAD), kättelyn salaaminen ja useiden vanhentuneiden mekanismien poistaminen.[14] TLS 1.3 hyväksyttiin standardiksi maaliskuussa 2018 (RFC 8446).[15] TLS 1.3 poisti eräitä vanhentuneita salausmenetelmiä ja algoritmeja, sekä sisälsi parannuksia latenssiin.[16] Ennen version 1.3 kehitystä talous- ja pankkiala oli huolissaan seurannan menettämisestä ja halusivat protokollaan takaoven, jota ei protokollaan lopulta tullut.[17][15] Takaovi olisi tehnyt tyhjiksi uuden version edut.[15]

Varmenteet muokkaa

SSL koostuu kahdesta protokollasta: kättelyprotokollasta ja tallenneprotokollasta.[18] Tallenneprotokolla ohjaa tiedon kulkua SSL-istunnon päätepisteiden välillä.[18] Kättelyprotokolla todentaa yhden tai molemmat päätepisteet SSL-istunnossa ja asettaa yksilöllisen symmetrisen avaimen, jota käytetään tiedon salaamiseen ja purkamiseen tuon istunnon aikana.[18] SSL käyttää epäsymmetristä salausta, digitaalista allekirjoitusta ja SSL-kättelyä todentaakseen yhden tai molemmat päätepisteet.[18] Tyypillisesti SSL todentaa palvelimen ja valinnaisesti SSL todentaa asiakkaan.[18]

SSL perustuu varmenteisiin, joilla sivustot todistavat olevansa hyvämaineisia. Varmenteita myöntävät yritykset (engl. Certificate Authority, CA), jotka takaavat varmenteen hakijan identiteetin. Selainvalmistajat puolestaan pitävät listaa luotetuista varmenteiden myöntäjistä. Nämä voivat myös delegoida myöntämisoikeuksia edelleen.[19] Esimerkiksi Mozillan listalla on yli 50 luotettua varmenteen myöntäjää.[20][21]

Myöhemmin on esitetty epäilyjä, ettei järjestelmä ole enää luotettava. Maaliskuussa 2011 Comodo Groupin luottaman kumppanin palvelimelle murtauduttiin ja iranilaiset krakkerit saivat varmenteita haltuunsa. Yksittäisiä varmenteita voi perua, mutta vuoden 2011 selaimissa krakkeri voi estää toiminnon toiminnan selainten juuri siitä välittämättä.[22] Toisaalta kokonaisen varmenteen myöntäjän varmennetta ei voi käytännössä perua, koska tällöin rikottaisiin kaikkien sen asiakkaiden sivustot.[19]

Marraskuussa 2014 joukko yrityksiä ja järjestöjä perusti ei-kaupallisen Let's Encrypt -CA:n tarjoamaan sertifikaatteja ilmaiseksi. Taustalla olivat Mozilla Corporation, Cisco Systems, Akamai Technologies, Electronic Frontier Foundation, IdenTrust, Inc. ja Michiganin yliopiston tutkijat. Sertikaattien jaosta huolehtii voittoa tuottamaton Internet Security Research Group (ISRG).[23] Taustalla olivat Maailmanlaajuista joukkovalvontaa koskevat paljastukset Yhdysvaltain suorittamasta vakoilusta, jonka seurauksena suhtautuminen salattujen yhteyksien tarpeellisuuteen muuttui.[24]

Euroopan unioni aikoo eIDAS 2.0 -säännöksissä vaatia selaimia luottamaan valtioiden myöntämiin sertifikaatteihin. Tällaista varmennetta ei olisi edes sallittua perua, vaikka osoittautuisi, että sitä väärinkäytetään esim. liikenteen vakoiluun. Täten valtiollinen toimija voisi EU:ssa ottaa haltuunsa varmenteet ja seurata salattua liikennettä verkkosivulle huomaamatta.[25]

Standardeja muokkaa

TLS-protokollaa koskevia standardeja:

  • RFC 2246 The TLS Protocol Version 1.0
  • RFC 2712 (heikkojen salausmenetelmien käyttö)
  • RFC 2817 (TLS:n käyttö HTTP:n kanssa, sama portti)
  • RFC 2818 (TLS:n käyttö HTTP:n kanssa, eri portti)
  • RFC 3268 (AES-salausmenetelmä)
  • RFC 4279 Pre-Shared Key Ciphersuites for Transport Layer Security (TLS) (TLS:n käyttö symmetrisen avaimen kanssa)
  • RFC 4346 The Transport Layer Security (TLS) Protocol Version 1.1
  • RFC 4366 Transport Layer Security (TLS) Extensions
  • RFC 5246 The Transport Layer Security (TLS) Protocol Version 1.2
  • RFC 8446 The Transport Layer Security (TLS) Protocol Version 1.3

Toteutuksia muokkaa

Muut käyttökohteet muokkaa

TLS-kättelyä käytetään myös muissa käyttötarkoituksissa, kuten esimerkiksi EAP-protokollassa.

Laajennukset muokkaa

ALPN (RFC 7301) on TLS-kättelyyn julkaistu laajennus.[26]

Katso myös muokkaa

Lähteet muokkaa

  1. What is Transport Layer Security (TLS)? Cloudflare, Inc.. Viitattu 28.2.2024.
  2. Kallankari, Heikki: TLS ja palvelimien turvallisuuden arviointi, s. 7. OAMK, 2020. Teoksen verkkoversio.
  3. Qualys SSL Labs - SSL Pulse www.ssllabs.com. Viitattu 28.2.2024.
  4. Rolf Oppliger: SSL and TLS: Theory and Practice, Second Edition. Artech House, 2016-03-31. ISBN 978-1-60807-999-5. Teoksen verkkoversio (viitattu 28.2.2024). en
  5. Father of SSL, Dr. Taher Elgamal, finds fast-moving IT projects in the Middle East web.archive.org. 31.5.2014. Arkistoitu 31.5.2014. Viitattu 28.2.2024.
  6. Father of SSL says despite attacks, the security linchpin has lots of life left web.archive.org. 31.5.2014. Arkistoitu 31.5.2014. Viitattu 28.2.2024.
  7. Security Standards and Name Changes in the Browser Wars tim.dierks.org. Viitattu 28.2.2024.
  8. Laura K. Gray: Date Change for Migrating from SSL and Early TLS blog.pcisecuritystandards.org. Viitattu 28.2.2024. (englanniksi)
  9. Newtek-Your Business Solutions Company: Changes to PCI Compliance are Coming June 30. Is Your Ecommerce Business Ready? Forbes. Viitattu 28.2.2024. (englanniksi)
  10. Ars Staff: Apple, Google, Microsoft, and Mozilla come together to end TLS 1.0 Ars Technica. 16.10.2018. Viitattu 28.2.2024. (englanniksi)
  11. The Transport Layer Security (TLS) Protocol Version 1.1 Huhtikuu 2006. IETF:n työryhmä. Viitattu 28.2.2024.
  12. Transport Layer Security (TLS) Parameters www.iana.org. Viitattu 28.2.2024.
  13. https://datatracker.ietf.org/doc/html/rfc8996
  14. Transport Layer Security developer.mozilla.org. Viitattu 28.6.2023. (englanniksi)
  15. a b c Brandon Vigliarolo: TLS 1.3 is approved: Here's how it could make the entire internet safer techrepublic.com. 26.3.2018. Viitattu 6.8.2021. (englanniksi)
  16. TLS 1.3: The Most Superior Cryptographic Protocol is Here aboutssl.org. Viitattu 6.8.2021. (englanniksi)
  17. Andrew Kennedy: [TLS Industry Concerns about TLS 1.3] mailarchive.ietf.org. 22.9.2016. Viitattu 6.8.2021.
  18. a b c d e How SSL works ibm.com. Viitattu 6.8.2021. (englanniksi) 
  19. a b http://www.tietoviikko.fi/kehittaja/article614638.ece (Arkistoitu – Internet Archive)
  20. https://ccadb-public.secure.force.com/mozilla/CACertificatesInFirefoxReport
  21. https://wiki.mozilla.org/CA/Included_Certificates
  22. http://www.imperialviolet.org/2011/03/18/revocation.html
  23. https://letsencrypt.org/2014/11/18/announcing-lets-encrypt.html
  24. https://www.jefftk.com/p/history-of-https-usage
  25. https://www.theregister.com/2023/11/08/europe_eidas_browser/
  26. NPN and ALPN imperialviolet.org. 20.3.2013. Viitattu 6.8.2021. (englanniksi)

Aiheesta muualla muokkaa