Projektování distribuovaných systémů Lekce 10 Ing. Jiří Ledvina, CSc.

Slides:



Advertisements
Podobné prezentace
Základy databázových systémů
Advertisements

jak to funguje ? MUDr.Zdeněk Hřib
Elektronický podpis.
Úvod do klasických a moderních metod šifrování Jaro 2008, 7. přednáška.
Asymetrická kryptografie
Komunikace v DS Přednášky z distribuovaných systémů Ing. Jiří Ledvina, CSc.
Adresářová služba Active directory
VLAN Projektování distribuovaných systémů Lekce 2 Ing. Jiří ledvina, CSc.
Bc. Jan Kotlařík. Pojmy  Naslouchání  Falšování  Napodobování – podvádění, zkreslení  Šifrování a dešifrování  Detekce falšování  Autentizace 
Šifrovaná elektronická pošta Petr Hruška
Elektronický podpis a jeho dlouhodobé slabiny Jiří Nápravník
Protokol TCP/IP a OSI model
CZ.1.07/1.4.00/ VY_32_INOVACE_169_IT 9 Výukový materiál zpracovaný v rámci projektu Vzdělávací oblast: Informační a komunikační technologie Předmět:Informatika.
Databázové systémy Architektury DBS.
Informatika pro ekonomy II přednáška 10
JEDINÉ ŘEŠENÍ – OD HESEL K ČIPOVÝM KARTÁM! T-Soft s.r.o. Mgr.Pavel Hejl, CSc.
Protokoly ověřování Projektování distribuovaných systémů Ing. Jiří Ledvina, CSc.
EGEE-II INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Bezpečnost v Gridech Daniel Kouřil EGEE kurz.
Public Key Infrastructure Přednášky z Distribuovaných systémů Ing. Jiří Ledvina, CSc.
Firewall.
CZ.1.07/1.4.00/ VY_32_INOVACE_168_IT 9 Výukový materiál zpracovaný v rámci projektu Vzdělávací oblast: Informační a komunikační technologie Předmět:Informatika.
DATABÁZOVÉ SYSTÉMY. 2 DATABÁZOVÝ SYSTÉM SYSTÉM ŘÍZENÍ BÁZE DAT (SŘBD) PROGRAM KTERÝ ORGANIZUJE A UDRŽUJE NASHROMÁŽDĚNÉ INFORMACE DATABÁZOVÁ APLIKACE PROGRAM.
Asynchronous Transfer Mode Projektování distribuovaných systémů Lekce 1 Ing. Jiří ledvina, CSc.
2005 Adobe Systems Incorporated. All Rights Reserved. 1 Adobe Řešení pro veřejnou správu Transformace služeb veřejné správy a PDF Inteligentními Dokumenty.
Copyright (C) 1999 VEMA počítače a projektování, spol. s r.o.
Distribuované algoritmy - přehled Přednášky z Distribuovaných systémů Ing. Jiří Ledvina, CSc.
Úvod do klasických a moderních metod šifrování Jaro 2008, 9. přednáška.
Internet.
1 Elektronický podpis v ČR Bezpečnost IS/IT Jaroslav Malý.
Internetové protokoly Autor: Milan Bílek. Internet Internet je celosvětová systém propojených počítačových sítí. Počítače mezi sebou komunikují pomocí.
Protokoly úrovně 3 nad ATM Projektování distribuovaných systémů Lekce 2 Ing. Jiří ledvina, CSc.
Šifrovací algoritmy EI4. DES – Data Encryption Standard  Soukromý klíč  56 bitů  Cca 7,2 x klíčů  Rozluštěn v roce 1997.
Transportní úroveň Úvod do počítačových sítí Lekce 10 Ing. Jiří Ledvina, CSc.
VPN - Virtual private networks Přednášky z Projektování distribuovaných systémů Ing. Jiří Ledvina, CSc.
Technické řešení PostSignum QCA
BIS Elektronický podpis Roman Danel VŠB – TU Ostrava.
Blíží se datové schránky,. aneb „Nepropadejte panice!“
Komunikace v DS Přednášky z distribuovaných systémů Ing. Jiří Ledvina, CSc.
Elektronický podpis Ochrana Dat Jan Renner
Protokol SSL Petr Dvořák. Obsah prezentace  Co je SSL  Popis protokolu  Ukázka  Použití v praxi.
Internet Key Exchange Projektování distribuovaných systémů Ing. Jiří ledvina, CSc.
Internet protocol Počítačové sítě Ing. Jiří Ledvina, CSc.
Feistlovy kryptosystémy Posuvné registry Lucifer DES, AES Horst Feistel Německo, USA IBM.
Hybridní kryptosystémy
1. 2 Zabezpečená mobilní komunikace 3 Private Circle chrání Vaši komunikaci před odposlechem či narušením. Jedná se o komplexní řešení pro zabezpečení.
Josef Petr Obor vzdělání: M/01 Informační technologie INSPIROMAT PRO TECHNICKÉ OBORY 1. ČÁST – VÝUKOVÉ MATERIÁLY URČENÉ PRO SKUPINU OBORŮ 18 INFORMAČNÍ.
Vrstvy ISO/OSI  Dvě skupiny vrstev  orientované na přenos  fyzická vrstva  linková vrstva  síťová  orientované na aplikace  relační vrstva  prezentační.
Bezpečnost systémů 2. RSA šifra *1977 Ronald Rivest *1947 Adi Shamir *1952 Leonard Adelman *1945 University of Southern California, Los Angeles Protokol.
Symetrická šifra Šifrovací zobrazení y = φ(x,k) Dešifrovací zobrazení x = ψ(y,k)
E- MAIL Ing. Jiří Šilhán. E LEKTRONICKÁ POŠTA NEBOLI vývoj od počátku sítí – původní návrh pouze pro přenos krátkých textových zpráv (ASCII) základní.
Počítačové sítě Lekce 9 Ing. Jiří ledvina, CSc.
ELEKTRONICKÝ PODPIS Jiří Suchomel tel.: Přihlášení na:Tester kraj Heslo:ecibudrap.
Informační bezpečnost VY_32_INOVACE _BEZP_16. SYMETRICKÉ ŠIFRY  Používající stejný šifrovací klíč jak pro zašifrování, tak pro dešifrování.  Výhoda.
 = jedná se o vzájemné propojení lokálních počítačových sítí pomocí vysokorychlostních datových spojů  vznikl spojením mnoha menších sítí  v každé.
Bezpečnostní technologie I IPSec Josef Kaderka Operační program Vzdělávání pro konkurenceschopnost Projekt: Vzdělávání pro bezpečnostní systém státu (reg.
NÁZEV ŠKOLY: S0Š Net Office, spol. s r.o, Orlová Lutyně AUTOR: Bc. Petr Poledník NÁZEV: Podpora výuky v technických oborech TEMA: Počítačové systémy ČÍSLO.
BEZPEČNOSTNÍ TECHNOLOGIE I Operační program Vzdělávání pro konkurenceschopnost Projekt: Vzdělávání pro bezpečnostní systém státu (reg. č.: CZ.1.01/2.2.00/ )
Informační bezpečnost VY_32_INOVACE _BEZP_17.  obdoba klasického podpisu, jež má zaručit jednoznačnou identifikaci osoby v prostředí digitálního světa.
Kerberos ● Bezpečnost zaručená třetí stranou ● Autentikátory, KDC ● Lístky relace ● Lístky na vydávání lístků ● Autentizace mezi doménami ● Dílčí protokoly.
Bezpečnostní technologie I
Prezentace – X33BMI Petr PROCHÁZKA
Aplikace zákonů č. 101/2000 Sb. č. 227/2000 Sb.
Virtuální privátní sítě
Feistlovy kryptosystémy
Informatika pro ekonomy přednáška 8
Úvod do klasických a moderních metod šifrování
Zabezpečení www stránek
Úvod do klasických a moderních metod šifrování
Elektronický (digitální) podpis
HASH.
Transkript prezentace:

Projektování distribuovaných systémů Lekce 10 Ing. Jiří Ledvina, CSc. Protokoly ověřování Projektování distribuovaných systémů Lekce 10 Ing. Jiří Ledvina, CSc. Klepněte a vložte poznámky.

Projektování distribuovaných systémů Ověřování Ověřovací funkce (ověření zprávy) Ověřovací protokol (ověření autorství zprávy) Ověřovací funkce Šifrování zprávy ověřením je šifrovaný text Příjemce těžko ověří, že zpráva nebyla modifikována MAC – Message Authentication Code Hodnota pevné délky jako produkt veřejné funkce, otevřeného textu a tajného klíče Hashovací funkce Veřejná funkce, otevřený text 11.3.2008 Projektování distribuovaných systémů

Ověřovací funkce šifrováním zprávy Vnitřní kontrola chyby Vypočte se CRC, přidá se za zprávu a celé se to zašifruje Zpráva se rozšifruje, kontrola – kontrola CRC Vnější kontrola chyby Vypočte se šifrovaná zpráva Ten, kdo s ní pracuje do zprávy nevidí Vypočte se CRC a přidá se ke zprávě Možnost napadení – změna zprávy i CRC Použití veřejného, klíče M je zpráva Utajení EKB+[ M ] Ověření plus podpis EKA- [ M ] Utajení, ověření, podpis EKA- [ EKB+ [ M ] ] 11.3.2008 Projektování distribuovaných systémů

Ověřovací funkce Message Authentication Code Kryptografický kontrolní součet Použití hashovací funkce, K je klíč, x je zpráva Možnosti Prefix MACK(x) = H( K ║ x ) – extension attack Sufix MACK(x) = H( x ║ K ) - většinou O.K., problém pokud H není odolná proti kolizím Zapouzdření MACK(x) = H(K1 ║ x ║ K2 ) HMAC MACK(x) = H(K1 ║ H(x ║ K2) ) Přesněji viz dále UMAC – UMAC-30 – 10 x rychlejší než HMAC-MD5 11.3.2008 Projektování distribuovaných systémů

Ověřovací funkce Message Authentication Code Základní použití A → B: [ M ║CK(M) ] Utajení a ověření vztažené k otevřenému textu A → B: EK2[ M ║CK1(M) ] Utajení a ověření vztažené k šifrovanému textu A → B: EK2[ M ] ║CK1( EK2[ M ] ) 11.3.2008 Projektování distribuovaných systémů

Ověřovací funkce Výhody MAC oproti šifrování Efektivita – ověření může udělat pouze jeden ve skupině Selektivnost – ověření vybraných zpráv Ověřování kódu – počítačové programy mohou být ověřovány podle potřeby Zprávy bez utajení – např. SNMP Přizpůsobivost architektury Ověření na aplikační úrovni Šifrování na transportní úrovni Dlouhá perioda ochrany – MAC může být uloženo pro pozdější vyhodnocení 11.3.2008 Projektování distribuovaných systémů

Ověřovací funkce Data Authentication Algorithm DAA – Data Authentication Algorithm FIPS (Federal Information Processing Standard) FIPS PUB 113, ANSI X9.17 Vládní standard USA Výstupem algoritmu je DAC – Data Authentication Code Používá DES v režimu CBC IV (inicializační vektor) nastaven na 0 Zpráva rozdělena na 64 bitové bloky Ověření podle posledního bloku Dnes není považován za dostatečně bezpečný 11.3.2008 Projektování distribuovaných systémů

Projektování distribuovaných systémů Hashovací funkce Vlastnosti Nepoužívá klíč (pouze veřejně známý algoritmus) Není reverzibilní (není známa inverzní funkce) Malé změny ve zprávě způsobí náhodné změny výsledku Aplikovatelná na blok libovolné (omezené) délky Výstupem je blok pevné délky Relativně jednoduchý výpočet Netriviální (neproveditelný) zpětný výpočet Pro dané x je obtížné najít takové y, aby H(x) = H(y) Obtížné najít pár (x,y) tak, aby H(x) = H(y) 11.3.2008 Projektování distribuovaných systémů

Hashovací funkce - použití Utajení a ověření A → B: EK [ M ║H(M) ] EK tajný sdílený klíč mezi A a B Ověření (obdoba MAC) A → B: [ M ║EK[ H(M) ] ] Digitální podpis (ověření) EKA- tajný klíč A (odesílatele) A → B: [ M ║ EKA- [ H(M) ] ] Digitální podpis a utajení A → B: EK[ M ║ EKA- [ H(M) ] ] Ověření S sdílené tajemství A → B: [ M ║ H(M ║ S) ] Ověření a utajení A → B: EK [ M ║ H(M ║ S) ] 11.3.2008 Projektování distribuovaných systémů

Hashovací funkce - algoritmy MD5 (RFC 1321) Rivest (RSA) výstup 128 bitů, bloky 256 bitů SHA-1 NIST (National Institute of Standards and Technology) FIPS PUB 180 Založeno na MD4 (předchůdce MD5) Max délka zprávy 264-1 bitů Výstup 160 bitů 11.3.2008 Projektování distribuovaných systémů

Hashovací funkce - algoritmy RIPEMD-160 RIPE project Výstup 160 bitů Max délka zprávy 264-1 bitů HMAC – RFC 2104 Používá MD5, SHA-1, … HMACK = H[ (K xor opad ) ║ H[ (K xor ipad ) ║ M ] ] idad, opad – konstanty H je hashovací funkce 11.3.2008 Projektování distribuovaných systémů

Projektování distribuovaných systémů Digitální podpis Chrání zprávy před napadením komunikujících entit Předpokládá nedůvěryhodné entity Odolný proti spiknutí Třetí strana a podepisující Třetí strana a příjemce Podobné vlastnosti jako podpis rukou Podpis včetně datumu a času Schopnost ověřit obsah zprávy v době podpisu Podpis ověřitelný třetí důvěryhodnou stranou Chrání před paděláním i popřením Jednoduchá realizace i rozpoznání Složité napodobení (falšování) 11.3.2008 Projektování distribuovaných systémů

Kategorie digitálního podpisu Přímý – pouze mezi zúčastněnými stranami Arbitrovaný – každá zpráva podepsaná A prochází arbitrem T do B Možnosti přímého podpisu A → B: EKB+[ M ] - pouze šifrovaná, nepodepsaná A → B: [ M ] ║ EK[ H( M ) ] - pouze ověření, sdílené tajemství A → B: EKB+[EKA- [ M ] ] – šifrování (B+) a ověření (A-), A → B: EK[ M ║ EKA- [ H(M) ] ] – symetrické šifrování, podpis Nevýhody Odesílatel může tvrdit, že tajný klíč byl prozrazen Použití starých zpráv, napadení času 11.3.2008 Projektování distribuovaných systémů

Digitální podpis - arbitrovaný Arbiter je důvěryhodný prostředník pro obě strany A → T: [ M ║ EKAT [ IDA ║ H(M) ] ] T → B: EKBT[ IDA ║ M ║ EKAT [ IDA ║ H(M) ] ║ TS ] Prostředník nemusí rozpoznat obsah zprávy A → T: [EKAB [ M ] ║ EKAT [ IDA ║ H( EKAB [ M ] ) ] ] T → B: EKBT[ IDA ║ EKAB [ M ] ║ EKAT [ IDA ║ H( EKAB [ M ] ) ] ║ TS ] Nevýhoda T se může spřáhnout s A nebo s B A a T – může popřít podpis A B a T – může vytvořit podpis A Řešení – použití veřejných klíčů 11.3.2008 Projektování distribuovaných systémů

Digitální podpis – veřejné klíče Použití veřejných klíčů A → T: EKA-[ IDA ║ EKB+ [ EKA- [ M ] ] ] T → B: EKT-[ IDA ║ EKB+ [EKA- [M ] ] ║ TS ] EKA- - tajný klíč A (ověření A) EKB+ - veřejný klíč B (šifrování pro B) EKT- - tajný klíč T (ověření T) 11.3.2008 Projektování distribuovaných systémů

Digital Signature Standard (DSS) FIPS PUB 186 of NIST Federal Information Processing Standard National Institute of Standards and technology Používá SHA-1 Představuje novou techniku podpisu – Digital Signature Algorithm (DSA) Používá veřejné klíče Pouze podpis, nikoliv distribuce klíče nebo šifrování Používá algoritmus ElGamal Odlišný od běžně používaných technik 11.3.2008 Projektování distribuovaných systémů

Digital Signature Standard (DSS) p – prvočíslo 512 až 1024 bitů q – prvočíselný dělitel (p-1) 160 bitů dlouhý g – základ tak, že h ^ ((p-1)/q) mod p > 1; 1 < h < (p-1) x - náhodné číslo 0 < x < q y = gx mod p – veřejný klíč k – náhodné číslo 0 < k < q / relační klíč (tajný) r = (gk mod p ) mod q s = (k-1 (H(M)+xr)) mod q Podpis: (r,s) w = (s-1 mod q ) u1 = (H(M)w ) mod q u2 = (r)w mod q (gk mod p ) mod q v = ((gu1 yu2) mod p) mod q Test: v = r 11.3.2008 Projektování distribuovaných systémů

Protokoly vzájemného ověření Základní vlastnosti Důvěryhodnost Prevence proti maškarádě a kompromitaci relačního klíče Vyžaduje existenci sdíleného klíče nebo veřejných klíčů Časová souslednost Prevence proti útoku opakováním (replay attack) Jednoduché sekvenční číslování je nepraktické Časové značky – vyžadují synchronizované hodiny Třídy protokolů Přímé - vzájemné ověření dvou entit S ověřovacím serverem Dvouúrovňový hierarchický systém s KDC (Key Distribution Center) 11.3.2008 Projektování distribuovaných systémů

Protokoly vzájemného ověření Založené na sdíleném tajemství Založené na symetrickém šifrování Sdílení tajného klíče s každou entitou Generování relačního klíče Relační klíče mají krátkou dobu života (eliminace prozrazení tajného klíče) Použití ověření + šifrování přenosu Založené na asymetrickém šifrování Distribuce veřejného klíče mezi entitami Znalost veřejného klíče KDC Veřejný klíč KDC slouží k ověření pravosti KDC 11.3.2008 Projektování distribuovaných systémů

Protokoly vzájemného ověřování Přímé ověřování Základní varianta A → B: [ A ] B → A: [ NB ] A → B: [ f( K ║ NB ) ] A → B: [ NA ] B → A: [ f( K ║ NA ) ] Redukce počtu zpráv A → B: [ A ║ NA ] B → A: [ NB ║ f( K ║ NA ) ] Útok T → B: [ A ║ NA ] B → T: [ NB ║ f( K ║ NA ) ] T → B: [ A ║ NB ] B → T: [ N‘B ║ f( K ║ NB ) ] T → B: [ f( K ║ NB ) ] Modifikace A → B: [ A ] B → A: [ NB ] A → B: [NA ║ f( K ║ NB ) ] B → A: [ f( K ║ NA ) ] 11.3.2008 Projektování distribuovaných systémů

Protokoly vzájemného ověřování Přímé ověřování Základní varianta (asymetrické šifrování) A → B: EKB+ [ A ║ NA ] B → A: EKA+ [NA ║ NB ] A → B: EKB+ [NB ] Útok (Gavin Lowe) A → U(A): EKU+ [ A ║ NA ] U(A) → B: EKB+ [ A ║ NA ] B → U(A): EKA+ [NA ║ NB ] U(A) → A: EKA+ [NA ║ NB ] A → U(A): EKU+ [NB ] U(A) → B: EKB+ [NB ] B je přesvědčen, že komunikuje s A U(A) má k dispozici [NA ║ NB ], které může např. použít ke konstrukci relačního klíče. 11.3.2008 Projektování distribuovaných systémů

Protokoly vzájemného ověření S ověřovacím serverem Needham-Shroeder (1978) Otway-Ress (1987) Andrew Secure RPC handshake (1987) Wide-mouthed-frog protocol (1989) Kerberos protocol (1987) Zdroj: www.lsv.ens-cachan.fr-spore cca 49 protokolů 11.3.2008 Projektování distribuovaných systémů

Protokoly vzájemného ověření S ověřovacím serverem Needham-Schroeder, symetrické šifrování Používá náhodná čísla pro identifikaci zpráv IDA, IDB jsou identifikátory entit KAB je relační klíč pro komunikaci A a B KA, KB jsou šifrovací klíče pro komunikaci KDC s A a KDC s B. A → KDC: [IDA ║ IDB ║ N1] KDC → A: EKA [KAB ║ IDB ║ N1 ║ EKB [KAB ║ IDA] ] A → B: EKB [KAB ║ IDA] útok – zachycení, prolomení, podvrhnutí → časové značky B → A: EKAB [ N2 ] A → B: EKAB [ N2 -1 ] 11.3.2008 Projektování distribuovaných systémů

Protokoly vzájemného ověření S ověřovacím serverem Needham-Schroeder, nesymetrické šifrování Útok Gavin Lowe 1995 A → KDC: [IDA ║ IDB] KDC → A: EKS- [KB+ ║ IDB ] A → B: EKB+ [NA ║ IDA] → A → T: EKT+ [ NA ║ IDA] B → KDC: [IDA ║ IDB] T → B: EKB+ [ NA ║ IDA] KDC → B: EKS- [KA+ ║ IDA ] B → A: EKA+ [ NA ║ NB ] → B → T: EKA+ [ NA ║ NB ] T → A: EKA+ [ NA ║ NB ] A → B: EKB+ [ NB ] → A → T: EKT+ [ NB ] T → B: EKB+ [ NB ] 11.3.2008 Projektování distribuovaných systémů

Protokoly vzájemného ověření S ověřovacím serverem Otway Rees (1997) Symetrické šifrování A → B: [ M ║ IDA ║ IDB ║ EKA [NA ║ M ║ IDA ║ IDB ] ] B → KDC: [ M ║ IDA ║ IDB ║ EKA [NA ║ M ║ IDA ║ IDB ] ║ EKB [NB ║ M ║ IDA ║ IDB ] ] KDC → B: [ M ║ EKA [NA ║ KAB ] ║ EKB [NB ║ KAB ] ] B → A: [ M ║ EKA [NA ║ KAB ] ] 11.3.2008 Projektování distribuovaných systémů

Protokoly vzájemného ověření S ověřovacím serverem Andrew Secure RPC (1987) Symetrické šifrování Modifikace BAN (Burrows, Abadi, Needham 1989) Modifikace Garwin Lowe 1996 A → B: [ IDA ║ NA ] B → A: EKAB [ NA ║ K´AB ║ IDB ] A → B: EK´AB [ NA ] B → A: [ NB ] K´AB – nový relační klíč NB – nové náhodné číslo 11.3.2008 Projektování distribuovaných systémů

Protokoly vzájemného ověření S ověřovacím serverem Wide-mouthed frog protocol (1989) Modifikace Gavin Lowe Symetrické šifrování A → KDC: [A ║EKA [ TSA ║ IDB ║ KAB ] ] KDC → B: EKB [ TSKDC ║ IDA ║ KAB ] ] B → A: EKAB [ NB ] A → B: EKAB [ NB +1] 11.3.2008 Projektování distribuovaných systémů

Protokoly vzájemného ověření S ověřovacím serverem Denningovo distribuční schéma Používá časové značky TS Používá symetrické šifrování Časová značka musí být |C – TS| < ∆t1 + ∆t2 Znovupoužití relačního klíče může být detekováno B A → KDC: [ IDA ║ IDB ] KDC → B: EKA[ KAB ║ IDB ║ TS ║ EKB[ KAB ║ IDA ║ TS ] ] A → B: EKB[ KAB ║ IDA ║ TS ] B → A: EKAB[ N1 ] A → B: EKAB[ f(N1) ] 11.3.2008 Projektování distribuovaných systémů

Projektování distribuovaných systémů Lekce 11 Ing. Jiří ledvina, CSc Kerberos Projektování distribuovaných systémů Lekce 11 Ing. Jiří ledvina, CSc Klepněte a vložte poznámky.

Projektování distribuovaných systémů Úvod v řecké mytologii Kerberos nebo Cerberus hlídal záhrobí. Obrovský tříhlavý pes s hadem místo ocasu a s nepočitatelně hadími hlavami na zádech. Hlídal bránu do záhrobí, aby mrtví nemohli ven a živí dovnitř. vznikl v souvislosti s projektem Athena v MIT zajišťuje ověřování uživatelů a požadovaných služeb architektura server/klient k ověřování využívá důvěryhodnou třetí stranu (ověřovací server AS) 11.3.2008 Projektování distribuovaných systémů

Projektování distribuovaných systémů Úvod vyžaduje prokazování identity klienta pro každý požadavek na službu klient se prokazuje heslem pouze jednou (přihlašování) heslo se nikdy nepřenáší sítí a není uloženo ani v paměti každý klient a každá služba mají heslo všechna hesla zná pouze ověřovací server existuje Kerberos V4 a Kerberos V5 11.3.2008 Projektování distribuovaných systémů

Projektování distribuovaných systémů Požadavky uživatelů povolení přístupu podle počítače kontrola identity uživatele požadavek dokazování identity pro každou službu předpokládá, že uživatelé ovládají počítače (boot) předpokládá, že síť není bezpečná 11.3.2008 Projektování distribuovaných systémů

Požadavky na identifikační mechanizmus bezpečný, nedovoluje maskování se spolehlivý, musí se jevit jako celek jako systém služeb transparentní, uživatel o něm neví odstupňovaný, uživatel nemusí být "kerberizovaný" požadavek na bezpečnost se přesouvá na několik bezpečných serverů Úrovně ochrany ověřování při přihlašování ověřování každé zprávy (zabezpečení pravosti zprávy) ověřování a šifrování (zabezpečení soukromí) 11.3.2008 Projektování distribuovaných systémů

Projektování distribuovaných systémů Databáze Databáze Kerbera obsahuje jméno uživatele a jeho privátní klíč umožňuje ověření Kerbera i uživatele pro uživatele generuje dočasné klíče (relační klíče) použití zejména pro šifrovanou komunikaci dvou klientů citlivé informace jsou v Kerberu ostatní v serveru HESIOD (řecký pěvec a básník žijící asi 700 let p.n.l.) 11.3.2008 Projektování distribuovaných systémů

Projektování distribuovaných systémů Šifrování používá DES, Kerberos V5 i jiné šifrovací algoritmy metody šifrování zprávy CBC (Cypher Block Chaining) – pro daný blok cn+1 = E(mn+1  cn) PCBC (Propagated CBC) – pro celou zprávu cn+1 = E(mn+1  mn  cn) 11.3.2008 Projektování distribuovaných systémů

Projektování distribuovaných systémů Servery Administrativní server KDBM (Kerberos Database Management) zajišťuje přístup do databáze Kerbera klient může být kdekoliv, server u databáze Ověřovací server (Kerberos server) provádí pouze operace čtení nad databází ověřování uživatelů generování relačních klíčů může pracovat s kopiemi databází uživatelské programy přihlašování do Kerbera změna hesla zobrazení tiketů ničení tiketů 11.3.2008 Projektování distribuovaných systémů

Projektování distribuovaných systémů Jména primární jméno – jméno uživatele nebo služby instance – name.instance@realm pro uživatele – jkl.root, jkl.admin pro sužbu – rlogin.stroj realm – jméno administrativní entity, která obhospodařuje ověřovaná data 11.3.2008 Projektování distribuovaných systémů

Pověření (Credentials) tickety (lístky) – časově omezený "průkaz" opravňující čerpat nějakou službu, šifrovaný blok dat obsahující identitu klienta a jeho požadavku každý požadavek na službu vyžaduje ticket ticket zajišťuje přístup jednoho klienta k jedné službě tickety vydává Ticket Granting Server (TGS), který má přístup ke všem šifrovacím klíčům tickety nemají vztah ke klientům – pouze zajišťují přístup k serverům každý ticket má omezenou dobu života (hodiny, dny) {S, C, IPC, TS, TTL, KS,C}K(S) 11.3.2008 Projektování distribuovaných systémů

Pověření (Credentials) authenticators (ověřovače) umožňuje ověřit pravost klienta, šifrovaná informace o klientovi (pro jedno použití) {C, IPC, TS}K(S,C) 11.3.2008 Projektování distribuovaných systémů

Ticket {S, C, IPC, TS, TTL, KS,C}K(S) může být použit vícekrát (omezeno dobou života – hodiny, dny) obsahuje následující informace jméno serveru (S) jméno klienta (C) IP adresu stroje klienta (IPC) časové razítko (TS) dobu života ticketu (TTL) náhodný relační klíč (KS,C) šifrováno klíčem serveru, kterému je určen (KS) 11.3.2008 Projektování distribuovaných systémů

Authenticator {C, IPC, TS}K(S,C) slouží k ověření pravosti klienta (údaje o klientovi se porovnají s údaji v ticketu) vystaven klientem pro jedno použití obsahuje následující informace jméno klienta (C) IP adresu stroje klienta (IPC) běžný čas šifrováno relačním klíčem K(S,C) 11.3.2008 Projektování distribuovaných systémů

Projektování distribuovaných systémů Funkce Kerbera pokud chce klient kontaktovat server, musí si nejprve vyžádat od TGS ticket a relační klíč pokud chce komunikovat s TGS, musí mít TGT (Ticket Granting Ticket) a relační klíč pro komunikaci s TGT obojí získá na základě ověření hesla od AS existují tři fáze ověřování získání pověření pro přístup k dalším službám (credentials – pověřovací listiny) požadavek ověření pro specifickou službu prezentace pověření koncovému serveru ověřovací server (Kerberos AS) ověří pravost klienta Ticket granting server – na základě ověření klienta poskytuje tickety (lístky) pro přístup k požadovaným serverům (službám) Komunikace mezi entitami vyžaduje přísnou synchronizaci času 11.3.2008 Projektování distribuovaných systémů

Získání prvotního ticketu klient zadá jméno a pošle AS požadavek přístupu k TGS (otevřený text) klient zadá heslo, převede je na klíč KC a dešifruje zprávu od AS obdrží relační klíč pro komunikaci s TGS (KC,tgs) a ticket pro komunikaci s TGS {TC,tgs}Ktgs C: {C, tgs} AS: {KC,tgs, {TC,tgs}Ktgs}KC 11.3.2008 Projektování distribuovaných systémů

Získání prvotního ticketu ticket obsahuje jméno klienta, jméno TGS, čas, dobu života, IP adresu klienta a relační klíč pro komunikaci klient – TGS informaci není možné změnit, protože je šifrována tajným klíčem Ktgs pro komunikaci AS – TGS ticket TC,tgs jméno klienta, jméno TGS, čas, dobu života, IP adresu klienta, relační klíč pro komunikaci klient – TGS klient KC,tgs a {TC,tgs}Ktgs schová, KC a heslo smaže. 11.3.2008 Projektování distribuovaných systémů

Získání ticketu pro server pro každý server je třeba jiný ticket tickety poskytuje TGS (Ticket Granting Server) klient vytvoří authenticator AC, obsahující jméno klienta, IP adresu a čas Zašifruje jej relačním klíčem KC,tgs, přidá {TC,tgs}Ktgs a pošle požadavek TGS C: {S, {TC,tgs}Ktgs , {AC}KC,tgs} TGS: {{TC,S}KS , KC,S} KC,tgs} 11.3.2008 Projektování distribuovaných systémů

Projektování distribuovaných systémů Požadavek na službu klient má ticket pro vybraný server opět (aplikace) vytvoří authenticator AC, obsahující jméno klienta, IP adresu a čas Zašifruje jej relačním klíčem KC,S, přidá {TC,S}KS a pošle požadavek serveru S server dešifruje požadavek, porovná jméno klienta, IP adresu, čas, dobu platnosti klient vyžaduje vzájemné ověření server pošle zpět hodnotu časové značky zvýšenou o 1 C: {{TC,S}KS , {AC}KC,S} S: {{TS+1}KC,S} 11.3.2008 Projektování distribuovaných systémů

Přihlášení klienta na server s ověřením (shrnutí) C  AS: [C, tgs] AS  C: [{KC,tgs, {TC,tgs}Ktgs}KC] C  TGS: [S, {TC,tgs}Ktgs , {AC}KC,tgs] TGS  C: [{KC,S {TC,S}KS , } KC,tgs] C  S: [{TC,S}KS , {AC}KC,S] S  C: [{TS+1}KC,S] 11.3.2008 Projektování distribuovaných systémů

Operace databáze Kerbera operace read – používá se pro ověřování (ochrana – není možné data modifikovat) operace r/w – administrativní operace – údržba databáze prováděny tzv. administrativní službou – Kerberos Database Management Service (KDBM) opravy jsou prováděny do master kopie, neběží-li, nemohou být prováděny požadavky uživatelů na změnu hesla kpasswd – změna hesla, přidání/ubrání uživatele, přidání/ubrání služby kadmin – klientský program administrátora 11.3.2008 Projektování distribuovaných systémů

Administrativní protokol C  AS: [C, kdbm] AS  C: [{KC,kdbm, {TC,kdbm}Kkdbm}KC] C  KDBM: [S, {TC,kdbm}Kkdbm , {AC}KC,kdbm] (požadavek S = {kadmin | kpasswd}) 11.3.2008 Projektování distribuovaných systémů

Projektování distribuovaných systémů Replikace databáze každý realm (království) má master Kerberos server (hlavní) údržba master copy databáze mohou existovat kopie v podřízených Kerberos serverech problém údržby konzistentní databáze – přepis každou hodinu kprop – program pro posílání obrazu databáze kpropd – daemon v podřízených serverech nejprve se pošle kontrolní součet databáze (šifrovaný klíčem pro komunikaci master – slave Kerberos (Master Database Key)) pak se pošle databáze a zkontroluje se kontrolní součet všechna hesla v databázi jsou šifrována pomocí Master Database Key 11.3.2008 Projektování distribuovaných systémů

Projektování distribuovaných systémů Programy Kerbera kinit – přihlášení do Kerbera program pro obdržení nového ticketu od ověřovacího serveru (AS) implicitně tgt, ale i jiné tickety (kinit –S <service_name>) klogin – pokud máme ticket, umožní přihlásit se na počítač klist – výpis všech ticketů uživatele kdestroy – vymazání ticketů 11.3.2008 Projektování distribuovaných systémů

Projektování distribuovaných systémů Kerberos v5 K reprezentaci syntaxe používá ASN.1 Není jednoduché číst Velmi flexibilní (Volitelná pole, proměnná délka polí, rozšiřitelný soubor hodnot) Rozšířený soubor šifrovacích algoritmů Podporuje delší dobu života ticketů Podporuje více adres v ticketu Zavádí předauthentikaci – obrana proti útokům na heslo Dovoluje delegování uživatelských práv 11.3.2008 Projektování distribuovaných systémů

Projektování distribuovaných systémů Delegování práv Delegování – předání práv někomu jinému aby mohl využívat naše služby Klasické řešení bez delegování Předání mého klíče nebo hesla někomu jinému Předání mých tiketů někomu jinému Kerberos v5 podporuje následující metody A požádá KDC o vytvoření TGT ticketu se síťovou adresou B Předání TGT s odpovídajícím relačním klíčem do B A požádá KDC o vytvoření TGT přímo pro B se síťovou adresou B A vezme TGT a předá jej B Spolu s „autorizačními daty“ které budou poslány do aplikační služby 11.3.2008 Projektování distribuovaných systémů

Projektování distribuovaných systémů Delegování práv Tranzitivní delegování B deleguje do C práva, delegovaná do B z A TGT: dovoluje to, pokud je označen jako „forwardovatelný“ Tikety: dovoluje to, pokud je označen jako „proxiable“ (zastupitelný) 11.3.2008 Projektování distribuovaných systémů

Projektování distribuovaných systémů Pre-authentikace Druhá zpráva je šifrována klíčem KA,AS AS  C: [{KC,tgs, {TC,tgs}Ktgs}KC] Revize: A posílá do AS předautentikační data Časová značka šifrovaná sdíleným klíčem KC Dokazuje, že zná klíč 11.3.2008 Projektování distribuovaných systémů

Projektování distribuovaných systémů Obnova ticketů Tikety ve v5 mají prodlouženou platnost Musí být ale periodicky obnovovány Obsahují Čas autorizace Počáteční a koncový čas (platný od – do) Čas do kterého musí dojít k obnově Tiket, kterému vypršela doba platnosti nemůže být obnoven Musí se požádat o nový tiket Tikety mohou být také „datovány post “ Platí až v budoucnosti 11.3.2008 Projektování distribuovaných systémů

Kryptografické algoritmy Zajištění integrity zpráv MD5 + šifrování výsledku DES s využitím sdíleného tajného klíče Šifrování plus integrita Základ – DES/CBC s CRC Rozšíření – 3DES s HMAC/SHA1 Nově – AES/CBC s HMAC/SHA1 11.3.2008 Projektování distribuovaných systémů

Zavedení konverzačních klíčů Použití různých klíčů pro různá spojení s týmž serverem Realizováno při předávání ticketu z klienta do serveru Omezuje použití relačního klíče pouze pro tuto relaci 11.3.2008 Projektování distribuovaných systémů

Ověřování mezi oblastmi Oblasti (realms) – skupina zdrojů sdílená jednou autoritou z hlediska ověřování Často je to totéž jako DNS doména Označováno jménem domény Oblast obsahuje KDC (Key Distribution Center) – TGS, AS, databáze Uživatele Servery Pokud potřebuje uživatel přistupovat ke službám v jiných oblastech? 11.3.2008 Projektování distribuovaných systémů

Ověřování mezi oblastmi Pokud potřebuje uživatel přistupovat ke službám v jiných oblastech Jednoduché řešení – vyžaduje registraci uživatele ve všech oblastech Uživatel se musí ověřovat ve všech znova Složitější řešení KDC vzájemně kooperují při ověřování Inter-realm authentication Předem se musí domluvit na sdílených klíčích Pokud chce klient přistupovat ke službám v jiné oblasti, musí požádat o cross-realm TGT Ten pak použije při požadování cizí služby 11.3.2008 Projektování distribuovaných systémů

Ověřování mezi oblastmi 11.3.2008 Projektování distribuovaných systémů

Projektování distribuovaných systémů Lekce 12 Ing. Jiří ledvina, CSc Internet Key Exchange Projektování distribuovaných systémů Lekce 12 Ing. Jiří ledvina, CSc Klepněte a vložte poznámky.

Projektování distribuovaných systémů Úvod Standardní protokol pro vytváření a údržbu Security Association Spojení ISAKMP/Oakley ISAKMP - Internet Security Association and Key Management Protocol Definuje procedury formáty paketů k vytváření, potvrzování, modifikaci a rušení Security Association Oakley – výměna zpráv IKEv2 – RFC4306 Použití Mezi hosty, mezi bránami, mezi hostem a branou Ověřování pomocí Diffie-Hellman 11.3.2008 Projektování distribuovaných systémů

Projektování distribuovaných systémů IKE fáze Fáze I: vytvoření bezpečného komunikačního kanálu Obsahuje kryptografické algoritmy, metody ověřování, klíče Vzájemné ověřování Fáze II: použití tohoto kanálu Účastníci vytváří IPsec Security Association Jedna fáze I může ochránit více výměn fáze II Důvodem je náročná fáze I, méně náročná fáze II 11.3.2008 Projektování distribuovaných systémů

Projektování distribuovaných systémů IKE fáze I Zahrnuje dva stavy (výměna zpráv Request – Response) INIT Dohadování kryptografických algoritmů Výměna náhodných čísel Provedení Diffie-Hellman výměny Probíhá bez zabezpečení AUTH Zprávy jsou chráněny klíči odvozenými v předchozí fázi Ověřuje předchozí zprávy Vytváří první CHILD-SA 11.3.2008 Projektování distribuovaných systémů

Projektování distribuovaných systémů IKE fáze II Vytváří nové CHILD-SA Relativně jednoduchá operace Může být vyvolána jakoukoliv stranou Zajišťuje „perfect forward secrecy“ I když útočník zaznamená všechna data poslaná přes bezpečné spojení Nedokáže rekonstruovat klíče pro výměnu mezi CHILD-SA 11.3.2008 Projektování distribuovaných systémů

Projektování distribuovaných systémů Algoritmy šifrování DES 3DES RC5 IDEA ČÁST BLOWFISH 3IDEA AES 11.3.2008 Projektování distribuovaných systémů

Public Key Infrastructure Projektování distribuovaných systémů Lekce 13 Ing. Jiří ledvina, CSc Klepněte a vložte poznámky.

Projektování distribuovaných systémů Úvod Infrastruktura pro podporu použití šifrování veřejným klíčem PKI zahrnuje Certifikační autority Certifikáty Úložiště pro obnovu certifikátů Metody pro zneplatnění certifikátů Metody pro vyhodnocení řetězu certifikátů od známého veřejného klíče po cílové jméno 11.3.2008 Projektování distribuovaných systémů

Certifikační autorita Důvěryhodná entita, která udržuje seznam veřejných klíčů pro ostatní entity CA generuje certifikáty CA dovede potvrdit pravost veřejného klíče Není třeba komunikovat s vlastníkem veřejného klíče 11.3.2008 Projektování distribuovaných systémů

Projektování distribuovaných systémů Certifikát Certifikát je podepsaná zpráva zaručující, že dané jméno je spojeno s veřejným klíčem Běžně omezeno časově Ověření certifikátu se děje na základě znalosti veřejného klíče certifikační autority Certifikát může také obsahovat informaci o službách, které držiteli zaručuje 11.3.2008 Projektování distribuovaných systémů

Projektování distribuovaných systémů Modely důvěrnosti Monopoly model Monopoly plus RA Delegování CA Oligarchy model Anarchy model 11.3.2008 Projektování distribuovaných systémů

Projektování distribuovaných systémů Monopoly model Jedna CA je důvěryhodná pro všechny Všichni musí mít certifikát od této CA Veřejný klíč CA je základem důvěry a musí být zahrnut do všeho software i hardware používajícího PKI Nevýhoda Neexistuje taková důvěryhodná organizace Pokud takovou vybereme, těžko zvolíme jinou Celý svět by ji využíval (výkonnost, bezpečnost) Neexistovala by soutěž (cena) 11.3.2008 Projektování distribuovaných systémů

Projektování distribuovaných systémů Monopoly plus RA RA – registrační autorita Registrační autority jsou přidružené k jedné CA a je jim důvěřováno RA kontrolují identitu uživatelů a poskytují CA odpovídající informaci (identitu a veřejný klíč) při vydávání certifikátů výhoda Více míst pro vydávání certifikátů Monopol pro registraci 11.3.2008 Projektování distribuovaných systémů

Projektování distribuovaných systémů Delegované CA Kořenová CA vydává certifikáty ostatním CA (delegovaným CA), zaručujíc jejich důvěryhodnost jako CA Uživatelé mohou obdržet certifikáty od delegovaných CA jako by to bylo od kořenové CA Výhoda – více CA, menší nebezpečí úzkého místa Vydávání závisí na jednom CA Obtížnější ověřování certifikátu Uživatel musí prohledávat řetěz certifikátů Uspořádání do hierarchie prohledávání ulehčuje 11.3.2008 Projektování distribuovaných systémů

Projektování distribuovaných systémů Oligarchy model Existuje několik důvěryhodných CA Je akceptován certifikát vydaný kteroukoliv z nich Obecně jsou takto konfigurovány web prohlížeče Výhoda – konkurence CA Snížení bezpečnosti Možnost vložit do seznamu nedůvěryhodnou CA Potřeba chránit více CA před kompromitováním 11.3.2008 Projektování distribuovaných systémů

Projektování distribuovaných systémů Anarchy model Kdokoliv může podepsat certifikát pro kohokoliv Neexistuje CA nebo seznam CA určený uživatelům Uživatelé si sami určují kdo je důvěryhodný Uživatelé si musí sami nalézt řetězec od důvěryhodné CA k cíli Certifikáty mohou být od Zdrojů Subjektů Veřejných úložišť – web serverů Výhody Mnoho potenciálních důvěrných kořenů Není třeba zavádět drahou infrastrukturu 11.3.2008 Projektování distribuovaných systémů

Projektování distribuovaných systémů Anarchy model Bezpečnost Je důvěra tranzitivní Co je to dost dobrá důvěra 11.3.2008 Projektování distribuovaných systémů

Projektování distribuovaných systémů Rušení certifikátů CA může zrušit certifikát s veřejným klíčem pokud jej uživatel nechce dále používat Kompromitování certifikátu Náhrada klíče (nový klíč) Ukončení členství ve skupině (organizaci) Způsoby informování ostatních Broadcast Uložení na veřejném místě Všichni se ptají CA 11.3.2008 Projektování distribuovaných systémů

Projektování distribuovaných systémů Revocation list CA může periodicky vysílat CRL Podepsaný CA Před použitím certifikátu musí být prohlédnut CRL Nevýhoda – četnost vysílání CRL Nevýhoda počet certifikátů Delta CRL Vysílají se pouze změny Podstatně kratší Celý seznam se vysílá méně často Potřeba prohlédnou zěny i celý CRL 11.3.2008 Projektování distribuovaných systémů

On-line Revocation Servers OLRS je systém serverů, který může být dotazován na stav jednotlivých certifikátů Musí obsahovat celý CRL Místo toho by bylo možné udržovat seznam nezrušených certifikátů Nevýhoda je v délce seznamu 11.3.2008 Projektování distribuovaných systémů