TLS (lyhenne sanoista Transport Layer Security,suom.kuljetustason turvallisuus) onsalausprotokolla, joka on suunniteltu tarjoamaan suojattuInternet-sovellusten tietoliikenneIP-verkkojen yli.[1][2] Sitä käytetään laajasti kaikenlaisissa sovelluksissa, kutensähköpostissa japikaviestimissä. Kuitenkin TLS:n tunnetuin käyttötapa on suojataverkkosivujenHTTPS-protokollalla. TLS kehitettiin aiemmin käytössä olleenSSL-salausprotokollan seuraajaksi. Vuoden 2024 helmikuussa TLS 1.2:ta tuki 99.9% verkkosivuista ja TLS 1.3:a 67.8% verkkosivuista.[3]
Netscape kehitti vuonna 1995 selaimeensa salausprotokollan, SSL:n (Secure Sockets Layer). Se kehitettiinHTTP-yhteyksien eli WWW-sivujen suojaamiseen. Salausprotokollaa ei kuitenkaan rajoitettu vain HTTP-protokollaan, vaan sillä voidaan suojata mitä tahansaTCP-yhteyksiä.[4] Vuosina 1995-1998 Netscapen päätutkijana toiminuttaTaher Elgamalia on kutsuttu "SSL:n isäksi".[5][6] Nykyisin sitä käytetään myös esimerkiksiSMTP-,POP-,IMAP-,LDAP jaIRC-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 dokumentillaRFC 6176 ja SSL:n uusin versio, SSL 3.0, poistettiin käytöstä vuonna kesäkuussa 2015 dokumentillaRFC 7568.
Netscape luovutti kehityksenIETF-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ämiseleMicrosoftille, jottei se näyttäisi siltä että IETF vain hyväksyisi Netscapen luoman protokollan".[7]
Suurimmistamaksukorttitarjoajista 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 2018Apple,Microsoft,Google jaMozilla Foundation yhdessä ilmoittivat poistavansa TLS 1.0:n ja TLS 1.1:n käytöstä selaimistaan maaliskuussa 2020.[10]
TLS 1.1 määriteltiin huhtikuussa 2006 dokumentissaRFC 4346.[11] Eroja aiempaan versioon olivat muun muassa:
- Lisätty suojausta salauslohkojen ketjutushyökkäyksiä (CBC) vastaan.
- Lisätty tukiIANAn lisäämille parametreille[12]
Tuki versioille 1.0 ja 1.1 poistui laajasti verkkosivuilta vuoden 2020 aikana, poistaen pääsynMozilla Firefox-selaimista joiden versio vanhempi kuin 24 jaChromium-pohjaisista selaimista joiden versio on alle 29. TLS 1.0 ja TLS 1.1 on julistettu vanhentuneeksi maaliskuussa 2021.[13]
TLS 1.2:n määritelmäRFC 5246 julkaistiin elokuussa 2008. Maaliskuussa 2011 versiota laajennettiin dokumentissaRFC 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 -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 parannuksialatenssiin.[16]Ennen version 1.3 kehitystä talous- ja pankkiala oli huolissaan seurannan menettämisestä ja halusivat protokollaantakaoven, jota ei protokollaan lopulta tullut.[17][15] Takaovi olisi tehnyt tyhjiksi uuden version edut.[15]
SSL koostuu kahdesta protokollasta: kättelyprotokollasta ja tallenneprotokollasta.[18] Tallenneprotokolla ohjaa tiedon kulkua SSL-istunnon päätepisteiden välillä.[18] Kättelyprotokollatodentaa 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 todentaapalvelimen ja valinnaisesti SSL todentaa asiakkaan.[18]
SSL perustuuvarmenteisiin, 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]EsimerkiksiMozillan 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-kaupallisenLet's Encrypt -CA:n tarjoamaan sertifikaatteja ilmaiseksi. Taustalla olivatMozilla Corporation,Cisco Systems,Akamai Technologies,Electronic Frontier Foundation, IdenTrust, Inc. jaMichiganin yliopiston tutkijat. Sertikaattien jaosta huolehtii voittoa tuottamaton Internet Security Research Group (ISRG).[23]Taustalla olivatMaailmanlaajuista 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]
TLS-protokollaa koskevia standardeja:
- RFC 2246The TLS Protocol Version 1.0
- RFC 2712 (heikkojen salausmenetelmien käyttö)
- RFC 2817 (TLS:n käyttö HTTP:n kanssa, samaportti)
- RFC 2818 (TLS:n käyttö HTTP:n kanssa, eri portti)
- RFC 3268 (AES-salausmenetelmä)
- RFC 4279Pre-Shared Key Ciphersuites for Transport Layer Security (TLS) (TLS:n käyttö symmetrisen avaimen kanssa)
- RFC 4346The Transport Layer Security (TLS) Protocol Version 1.1
- RFC 4366Transport Layer Security (TLS) Extensions
- RFC 5246The Transport Layer Security (TLS) Protocol Version 1.2
- RFC 8446The Transport Layer Security (TLS) Protocol Version 1.3
TLS-kättelyä käytetään myös muissa käyttötarkoituksissa, kuten esimerkiksiEAP-protokollassa.
ALPN (RFC 7301) on TLS-kättelyyn julkaistu laajennus.[26]
- ↑What is Transport Layer Security (TLS)? Cloudflare, Inc.. Viitattu 28.2.2024.
- ↑Kallankari, Heikki: TLS ja palvelimien turvallisuuden arviointi, s. 7. OAMK, 2020. Teoksen verkkoversio.
- ↑Qualys SSL Labs - SSL Pulse www.ssllabs.com. Viitattu 28.2.2024.
- ↑Rolf Oppliger: SSL and TLS: Theory and Practice, Second Edition. Artech House, 31.3.2016. ISBN 978-1-60807-999-5 Teoksen verkkoversio Viitattu 28.2.2024. (englanniksi)
- ↑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.
- ↑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.
- ↑Security Standards and Name Changes in the Browser Wars tim.dierks.org. Viitattu 28.2.2024.
- ↑Laura K. Gray: Date Change for Migrating from SSL and Early TLS blog.pcisecuritystandards.org. Viitattu 28.2.2024. (englanniksi)
- ↑Newtek-Your Business Solutions Company: Changes to PCI Compliance are Coming June 30. Is Your Ecommerce Business Ready? Forbes. Viitattu 28.2.2024. (englanniksi)
- ↑Ars Staff: Apple, Google, Microsoft, and Mozilla come together to end TLS 1.0 Ars Technica. 16.10.2018. Viitattu 28.2.2024. (englanniksi)
- ↑The Transport Layer Security (TLS) Protocol Version 1.1 Huhtikuu 2006. IETF:n työryhmä. Viitattu 28.2.2024.
- ↑Transport Layer Security (TLS) Parameters www.iana.org. Viitattu 28.2.2024.
- ↑https://datatracker.ietf.org/doc/html/rfc8996
- ↑Transport Layer Security developer.mozilla.org. Viitattu 28.6.2023. (englanniksi)
- ↑abcBrandon 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)
- ↑TLS 1.3: The Most Superior Cryptographic Protocol is Here aboutssl.org. Viitattu 6.8.2021. (englanniksi)
- ↑Andrew Kennedy: [TLS Industry Concerns about TLS 1.3] mailarchive.ietf.org. 22.9.2016. Viitattu 6.8.2021.
- ↑abcdeHow SSL works ibm.com. Viitattu 6.8.2021. (englanniksi)
- ↑abhttp://www.tietoviikko.fi/kehittaja/article614638.ece (Arkistoitu – Internet Archive)
- ↑https://ccadb-public.secure.force.com/mozilla/CACertificatesInFirefoxReport
- ↑https://wiki.mozilla.org/CA/Included_Certificates
- ↑http://www.imperialviolet.org/2011/03/18/revocation.html
- ↑https://letsencrypt.org/2014/11/18/announcing-lets-encrypt.html
- ↑https://www.jefftk.com/p/history-of-https-usage
- ↑https://www.theregister.com/2023/11/08/europe_eidas_browser/
- ↑NPN and ALPN imperialviolet.org. 20.3.2013. Viitattu 6.8.2021. (englanniksi)