Movatterモバイル変換


[0]ホーム

URL:


Ugrás a tartalomhoz
Wikipédia
Keresés

Transport Layer Security

Ellenőrzött
A Wikipédiából, a szabad enciklopédiából

Változat állapota

Ez a lap egy ellenőrzött változata

Ez aközzétett változat,ellenőrizve:2023. május 9.

Pontosságellenőrzött

ATransport Layer Security (TLS) és elődje, aSecure Sockets Layer (SSL), titkosítási protokollok, melyek azInterneten keresztüli kommunikációhoz biztosítanak védelmet. A TLS és SSL protokollok titkosítják a hálózati kapcsolatok szegmenseit aszállítási réteg felett.

A TLS egyIETF szabványt követő protokoll, amely a korai,Netscape Communications által meghatározott SSL specifikációkon alapul. Utolsó verzióját azIEEERFC8446-os referenciájában definiálták.

Különböző változatait rengeteg alkalmazásban felhasználják, mint például levelezés, webböngészés, azonnali üzenetküldés, vagy esetlegVoIP (Voice over IP) kommunikáció területén.

Leírás

[szerkesztés]

A TLS protokoll kliens/szerver alapú alkalmazások számára lehetővé teszi a biztonságos kommunikációt, elhárítva a lehallgathatóságot és az esetleges hamisítást. Amióta a legtöbb protokoll használható TLS-sel vagy anélkül, fontos, hogy a szerver felé jelezze a kliens, hogy használ-e TLS-t. Ezt kétféleképpen érhetjük el: Egyik lehetséges mód, hogy a TLS kapcsolatoknál külön portot használunk (példáulHTTPS-hez 443-as portot). A másik lehetőség, hogy a szokásos, szabványos portot vesszük igénybe, és a kliens kéri a szervert, hogy a meglévő kapcsolatnál használja fel a TLS-t is valamilyen protokoll-specifikus mechanizmus segítségével.

Amint eldőlt, hogy a szerver és a kliens TLS-t használnak, kapcsolódnak egy handshake procedúrán keresztül végigmenve. Ezalatt a kliens és a szerver bizonyos paraméterek összehangolásával biztonságos kapcsolatot létesít egymás közt.

  • A kézfogás azzal indul, hogy a kliens egy TLS-sel ellátott szerverhez kérelmet küldve próbál biztonságos kapcsolatot létesíteni, és egy listát biztosít a szerver számára a felhasználható titkosítási módszerekkel és hash függvényekkel.
  • Ebből a listából a szerver a legerősebbeket kiválasztja.
  • A szerver elküldi a digitális aláírását, ami a szerver nevéből, egy tanúsítványból és a szerver nyilvános kulcsából áll.
  • A kliens ezután csatlakozhat, és elkészít munkafolyamat-azonosító kulcsot (session key). Egy ilyen kulcs előállításához a kliens vesz egy véletlen számot, amit titkosít a szerver nyilvános kulcsával együtt és ennek eredményét visszaküldi a szerver számára, amit kizárólag a szerver képes dekódolni a titkos kulcsa segítségével.

Ha a fenti folyamat során valamely lépés nem sikeres, a kézfogás sikertelen lesz és a kapcsolat nem jön létre.

Fontosabb verziói

[szerkesztés]

Kezdet

[szerkesztés]

Aszállítási réteg biztosítására tett korai kezdeményezések egyik eredménye volt az SNP (Secure Network Programming) API, amelyet 1993-ban dolgoztak ki.

További változatok

[szerkesztés]
VerzióKiadás idejeSzabvány definíciója
SSL 1.0Sosem tették közzé-
SSL 2.01995. február-
SSL 3.01996-
TLS 1.0 (SSL 3.1)1999. januárRFC2246
TLS 1.1 (SSL 3.2)2006. áprilisRFC4346
TLS 1.2 (SSL 3.3)2008. augusztusRFC5246
TLS 1.32018. márciusRFC-TLS13-28

Felhasználási területei

[szerkesztés]

Általánosságban

[szerkesztés]

A TLS egyik legfontosabb alkalmazási területe a világhálón való böngészés biztosítása (http és https protokollokon keresztül), azon belül aze-kereskedelem, banki szolgáltatások és azelektronikus levelezés. A levélküldésnél használt protokoll, azSMTP (Simple Mail Transfer Protocoll) is a TLS-t alkalmazza.

Néhány példa

[szerkesztés]

Vegyünk néhány webböngészőt:

  • Mozilla Firefox legfrissebb verziói már támogatják a TLS 1.2 és 1.3 verzióit is. Ezek mellett a TLS 1.0 és 1.1 támogatást már elkezdték kivezetni.
  • AGoogle Chrome a Firefox-hoz hasonlóan a TLS 1.1 és 1.2 verzióját is támogatja.[1]
  • A Google Chrome 2017-ben egy rövid időre alapértelmezetté tette aTLS 1.3 verzióját, majd az alapértelmezett státuszt később visszavonta számos dologgal szembeni inkompatibilitás miatt.
  • MicrosoftInternet Explorer mindig az alatta futó Windows operációs rendszerre implementált TLS-t használja egy SChannel Security Service Provider nevű szolgáltatáson keresztül. Az Internet Explorer 8Windows 7 és Windows Server 2008 R2 alatt már támogatja a TLS 1.2-t.[2]
  • Apple Safari szintén támogatja a TLS szabványt, a konkrét támogatott verzió az alatta futó operációs rendszertől függ.[3]

Biztonság

[szerkesztés]

TLS handshake részletesebben

[szerkesztés]

A TLS protokoll egységbezárt adatok, úgynevezettrekordok segítségével kommunikál. Minden egyes rekord tömöríthető, kiegészíthető ún. üzenet azonosító kóddal (MAC -Message Authentication Code), vagy akár titkosítható is, mindez a kapcsolat aktuális állapotától függ. Minden rekord tartalmaz egytartalom típus, hossz és TLS verzió mezőket. Amikor a kapcsolódás megtörténik, a rekord egységbezár egy másik protokollt (a handshake üzenetküldési protokollt), aminek a tartalomtípusa a 22-es számmal van ellátva.

Egy egyszerűbb handshake folyamat

[szerkesztés]

1. Tárgyalási fázis

  • A kliens egyClientHello üzenetet küld a szerver számára, néhány plusz kéréssel együtt, amit a szervertől vár válaszként: a legnagyobb támogatott TLS verziót, egy véletlen számot, egy titkosítási módszert, és egy ajánlott tömörítési eljárást.
  • A szerver egyServerHello üzenettel válaszol a kliensnek és továbbítja az előbbiekben felsorolt kéréseket. A választott protokoll a kliens és a szerver által egyaránt támogatott legújabb verziójú protokoll. Például: Ha a kliens a TLS 1.1-et támogatja, a szerver a TLS 1.2-t is, akkor az 1.1-es verzió lesz kiválasztva. SSL 3.0 nem választható.
  • A szerver ezután egyCertificate üzenetet küld(a titkosítási módszertől függően ezt a szerver kihagyhatja).
  • A szerver következik ismét:ServerHelloDone üzenet formájában jelzi a kliens fele, hogy a handshake tárgyalási folyamatát lezárja.
  • A kliensClientKeyExchange üzenettel válaszol, ami tartalmazhat egyPreMasterSecret-et, vagy egy nyilvános kulcsot, vagy semmit se. Ez aPreMasterSecret titkosítva van a szerver nyilvános kulcsa által.
  • A kliens és a szerver a véletlenszámok és aPreMasterSecret segítségével előállítja a privát kulcsokat.

2. A kliens egyChangeCipherSpec rekordot küld a szervernek, jelezve fele, hogy "minden amit innentől mondok, titkosítva lesz". Ez a rekord a 20-as tartalom típussal van ellátva.

  • Végül, a kliens küld egyFinished üzenetet, ami egy hash-t és egy MAC-et tartalmaz az előző üzenetekből.

3. A szerver is küld a kliens részére egyChangeCipherSpec üzenetet.

4. Alkalmazási fázis: ezen a ponton a "handshake" véget ér, az alkalmazási protokoll engedélyezve van.

TLS rekord felépítése

[szerkesztés]

Az alábbi táblázat segítségével szemléltethető a TLS rekordok szerkezete.

+Byte +0Byte +1Byte +2Byte +3
Byte
0
Tartalom típusa 
Byte-ok
1..4
VerzióHossz
(Major)(Minor)(bit-ek 15..8)(bit-ek 7..0)
Byte-ok
5..(m-1)
Protokoll üzenet(ek)
Byte-ok
m..(p-1)
MAC (opcionális)
Byte-ok
p..(q-1)
Kitöltés
Tartalom típus
Ez a mező határozza meg a rekordban szereplő tartalom típusát.
Tartalom típusok
HexDecType
0x1420ChangeCipherSpec
0x1521Figyelmeztetés
0x1622Handshake
0x1723Alkalmazás
Verzió
Ez a mező határozza meg az üzenethez használandó TLS protokoll elsődleges(major) és másodlagos(minor) verzióját.
Verziók
Major
Verzió
Minor
Verzió
Verzió típusa
30SSL 3.0
31TLS 1.0
32TLS 1.1
33TLS 1.2
TLS 1.3
Hossz
Az üzenet hosszát definiálja, amely nem lépheti túl a 214 byte-ot (16 KiB).

Kapcsolódó szabványok

[szerkesztés]

A legújabb a TLS 1.3, amely 2018 márciusában jelent meg.

Jegyzetek

[szerkesztés]
  1. https://bugs.chromium.org/p/chromium/issues/detail?id=90392
  2. https://blogs.msdn.microsoft.com/ieinternals/2009/06/19/windows-7-adds-support-for-tlsv1-1-and-tlsv1-2/
  3. https://support.apple.com/en-us/HT202854

Külső hivatkozások

[szerkesztés]
A lap eredeti címe: „https://hu.wikipedia.org/w/index.php?title=Transport_Layer_Security&oldid=26092118
Kategória:

[8]ページ先頭

©2009-2026 Movatter.jp