přejít na obsah přejít na navigaci

Linux E X P R E S, TLS Channel ID: další úroveň zabezpečení komunikace

Axis Talk 2021

TLS Channel ID: další úroveň zabezpečení komunikace

zamek.png

Ověřování klienta s využitím možností TLS se zatím moc nevyužívá. Pro vyřešení překážek, které tomu brání, vznikl protokol TLS Channel ID. Jak funguje a co přináší?


TLS a jeho neduhy

Transport Layer Security (TLS) je komunikační protokol, který je následovníkem staršího protokolu Secure Sockets Layer (SSL). TLS zajišťuje jak šifrování komunikace, tak i autentizaci jedné či obou stran. Přestože TLS řeší některé problémy a nedostatky SSL, některé věci řešit nemůže už z principu jeho návrhu.

Jedním z takových problémů nastává při využití možnosti ověřovat totožnost klienta (což se – mimo jiné i z tohoto důvodu – zatím používá zřídka, standardně se ověřuje jen server). Model PKI (Public Key Infrastructure – infrastruktura veřejného klíče) totiž počítá primárně s tím, že nějaká certifikační autorita vystaví/podepíše certifikát k veřejnému klíči, jeho soukromý klíč drží uživatel.

Problém je, že získání osobního certifikátu není úplně jednoduché, bývá to zpoplatněno a v certifikátu jsou pak obsaženy osobní údaje, což může omezovat ochotu uživatelů tyto certifikáty používat k ověřování své totožnosti (server mnohdy tyto údaje nepotřebuje – stačí mu jen vědět, že se připojil oprávněný majitel uživatelského účtu).

Vzniká TLS-OBC a následně TLS Channel ID

K řešení tohoto problému začalo už v roce 2011 u firmy Google vznikat rozšíření nazvané TLS Origin-Bound Certificates (TLS-OBC), tedy certifikáty vázané na zdroj; myšlen je samozřejmě informační zdroj (čili server). Tvůrci to zamýšleli tak, aby se z rozšíření stal obecný otevřený standard, sepsali proto jeho specifikaci do draftu RFC, který byl následně aktualizován. Tento draft ovšem zůstal draftem, expiroval a na protokolu se dále pracovalo, než vznikl nový draft, tentokrát už pod názvem TLS Channel ID.

Princip je ten, že si klient generuje dvojici klíčů (soukromý a veřejný) pro každý server, na který se připojuje. Učiní tak až v okamžiku, kdy to poprvé potřebuje – což je logické, ale je potřeba si uvědomit, že se tím připojení poněkud zdrží, v závislosti na množství dostupné entropie. Veřejný klíč je považován za identifikátor kanálu (Channel ID).

Klíč jsou založeny na eliptických křivkách, specifikace počítá s křivkou P-256 schválenou v rámci FIPS 186-3.

Během sestavování TLS relace mezi klientem a serverem (handshaking) klient ve zprávě ClientHello pošle typ rozšíření channel_id. Po potvrzení serverem klient zkontroluje, že server nabízí dostatečně silné šifry (min. 80 bitů, což je v dnešní době požadavek velmi mírný) a pošle zprávu EncryptedExtensions.

V této zprávě je obsažen parametr Q z veřejného klíče a podpis speciálního řetězce (doplněného úvodními zprávami klienta a serveru) soukromým klíčem. Protože by se po prvotním vygenerování už neměly klíče měnit, identifikátor kanálu „přežije“ do dalších relací a lze ho tedy využívat jako perzistentní identifikaci.

Protokol nijak neřeší, jakým způsobem klient a server s identifikátorem naloží, tedy jak ho využijí k ověřování totožnosti klienta/uživatele. Například se může po přihlášení uživatele (nějakým z běžných způsobů, včetně vícefaktorových) vytvořit cookie a spojit na straně serveru s identifikátorem kanálu. Při každém požadavku se pak ověří, jestli identifikátor souhlasí. Podobně lze postupovat i pro tokeny OAuth a další metody.

Token Binding Protocol

Posledním „výkřikem“ v této oblasti je Token Binding Protocol (TBP), na němž se intenzivně pracuje od roku 2014 a aktuálně se nachází ve fázi 11. draftu RFC. Ten vychází z Channel ID a řeší záležitost komplexně, právě i včetně autentizačních tokenů. Podíváme se na něj v samostatném článku.

Nahoru

Přidat téma diskuse

Nejsou podporovány žádné značky, komentáře jsou jen čistě textové. Více o diskuzích a pravidlech najdete v nápovědě.
Diskuzi můžete sledovat pomocí RSS kanálu rss



 
 

Top články z OpenOffice.cz

Lukáš Jelínek

Lukáš Jelínek

Dlouholetý člen autorského týmu LinuxEXPRESu a OpenOffice.cz. Vystudoval FEL ČVUT v oboru Výpočetní technika. Žije v Kutné Hoře, podniká v oblasti IT a zároveň pracuje v týmu projektu Turris. Ve volném čase rád fotografuje, natáčí a stříhá video, občas se věnuje powerkitingu a na prahu čtyřicítky začal hrát tenis.


  • Distribuce: Debian, Kubuntu, Linux Mint
  • Grafické prostředí: KDE

| proč linux | blog



Public Relations

Je možné nasadit aplikaci za jediný týden?

CiscoJestli jste někdy řešili nasazování aplikace, asi víte, že všechno odladit může být celkem zdlouhavá záležitost. Dokážete si představit, že na to máte jen týden? Že je to nemožné? Není! Jde to a ani to nemusí být příliš složité.

Pokračování ...


GFI

Public Relations

Jak bezpečné jsou bezpečnostní kamery? Nezmeškejte konferenci Axis Talk 2021

AxisÚtoky hackerů čím dál častěji míří na kamerové systémy. Jak se účinně bránit? I to bude tématem online konference společnosti Axis Communications, švédského světového leadera v bezpečnostních a smart city technologiích. Připojte se 20. a 21. dubna!

Pokračování ...


Redakční blog

Pavel Fric

Pavel Fric, 10. April

Zapojte se do tvorby distribuce Mageia

Podílejte se na vytváření balíčků pro Mageiu, dělejte, co je potřeba, staňte se baličem


Pavel Fric

Pavel Fric, 13. March

Lollypop

Lollypop je hudební přehrávač navržený, jak ukazuje jeho podoba, aby výborně zapadl do pracovního...


Pavel Fric

Pavel Fric, 26. February

QElectroTech

Kreslení elektrotechnických i jiných výkresů


Všechny blogy »

Axis Talk 2021