.
.
 TLS -> Popis protokolu -> TLS Record Protocol
Vydáno: 13. listopadu 2004
.
.
.
.
.
.
TLS Record Protocol

Stav spojení

Při navazování spojení se klient se serverem dohodnou na určitých parameterch spojení (viz handshake protokol). Tyto parametry pak určují chování record protokolu:

  • jde o server nebo client
  • zvolený šifrovací algoritmus
  • zabezpečovací algoritmus (MAC - viz dále)
  • algoritmus komprese
  • 48 B master secret
  • 32 B náhodně generovaných klientem
  • 32 B náhodně generovaných serverem
  • používá se komprese N/A
  • informace potřebné pro zvolené šifrování
  • MAC secret - slouží k výpočtu zabezpečovací informace
  • identifikační číslo zprávy vytvořené record protokolem

Co dělá Record Protocol?

Protokol zapoudřuje protokoly vyšších vrstev. Zpracovává zprávy k odeslání v tomto pořadí:

  • rozděluje data do bloků - fragmentace
  • volitelně data zakomprimuje
  • vypočte zabepečovací informaci
  • šifruje
  • předá nižší vrstvě

A podobně příjmané zprávy:

  • dešifruje
  • zkontroluje
  • dekomprimuje
  • nazpět sestaví
  • předá vyšším vrsvám

Projděme tedy podrobněji jednotlivé fáze.

Fragmentace

Data se rozdělují po blocích o velikosti maximálně 16KB. Více zpráv může být v jednom bloku a naopak jedna zpráva může být rozdělena do více bloků. Každý blok si navíc sebou nese informaci komu se má na vyšší úrovni předat. Jsou 4 možnosti: protokol pro změnu šifrování, signální protokol (zpracovává chyby), handshake nebo aplikační protokol.

Pozn.: Někdy se lze setkat s názvoslovým fragmentace = segmentace a blok = segment.

Komprimace

Není povinná. Slouží ke zmenšení objemu přenášených dat. Jde o bezzeztrátovou kompresi. Komprimovaná data nesmí přesáhnout velikost 16KB + 1KB (to se stane v případě, kdy byl zvolen špatný komprimační algoritmus a velikost dat paradoxně příliš naroste). V TLS je doporučena komprese DEFLATE (viz Rozšíření TLS).

MAC

MAC je jakási kontrolní informace přenášených dat. Získá se použitím některé z hešovacích funkcí - MD5, SHA-1. Jejich vstupem jsou data, MAC secret (viz Šifrování níže) a pořadové číslo bloku.

Není přípustné počítat MAC bez MAC secret. Je to z důvodu bezpečnosti, kdy by mohl někdo jiný data pozměnit a podle toho upravit i MAC. Rovněž je zahrnuto pořadové číslo, aby útočník nemohl některé bloky odchytit a jiné zopakovat. Jedná o ochrany proti útokům man-in-the-middle.

MAC secret se vypočítá z master secret a náhodně vygenerovaných dat klientem a serverem

Šifrování

Slouží k zašifrování obsahu přenášených dat (včetně MAC). Jsou podporovány proudové (RC4 - 40-bitová a 128-bitová verze) a blokové šifry (RC2, DES, TripleDES, IDEA, v roce 2002 přidány i AES). Blokové šifry smí být použity pouze v módu CBC.

Jak se získají klíče? Vezme se některá hešovací funkce. Jejím vstupem je master secret a náhodná data od klienta a serveru (jde o tzv. "osolení" o náhodná data). Dostaneme blok bytů, který si rozdělíme na části. První dvě části budou MAC secret klienta a serveru a další dvě klíče klienta a serveru.

Poznamenejme důležitý fakt, že není povinnou volbou. To se hodí v případě, kdy nepotřebujeme šifrovat, ale stačí nám pouze vědět s kým komunikujeme (viz Handshake protokol).

.
.
.   .
.
. admin@webcity.wz.cz .
|Základní pojmy|Úvod|Protokol TLS|TLS v praxi|Shrnutí|Zdroje|Autor|
. © P.D. 2004™ .
.