Protokoly ověřování Projektování distribuovaných systémů Ing. Jiří Ledvina, CSc.

Slides:



Advertisements
Podobné prezentace
SHA-1 Secure Hash Algorithm Martin Raichl. HASH  Hašovací funkce jsou silným nástrojem moderní kryptologie. Jsou jednou z klíčových kryptologických myšlenek.
Advertisements

jak to funguje ? MUDr.Zdeněk Hřib
Elektronický podpis.
Ing. Roman Danel, Ph.D. Institut ekonomiky a systémů řízení Hornicko – geologická fakulta.
Úvod do klasických a moderních metod šifrování Jaro 2008, 7. přednáška.
Asymetrická kryptografie
Bezpečnost mobilních telekomunikačních systémů Aleš Vincenc.
Komunikace v DS Přednášky z distribuovaných systémů Ing. Jiří Ledvina, CSc.
Radek Horáček IZI425 – Teorie kódování a šifrování
M O R A V S K O S L E Z S K Ý K R A J 1 Zavedení hash algoritmů SHA - 2 V návaznosti na oznámení Ministerstva vnitra o změně v kryptografických algoritmech,
Šifrování a bezpečnost
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
PRETTY GOOD PRIVACY ŠIFROVÁNÍ ZPRÁV. JE KRYPTOGRAFICKÝ BALÍK, KTERÝ JE VYUŽÍVÁN PŘEDEVŠÍM PRO ŠIFROVÁNÍ ZPRÁV A SOUBORŮ A VYTVÁŘENÍ, OVĚŘOVÁNÍ DIGITÁLNÍCH.
Roman Danel VŠB – TU Ostrava
Ing. Roman Danel, Ph.D. Institut ekonomiky a systémů řízení Hornicko – geologická fakulta.
Operační mody blokových šifer a hašovací algoritmy
Šifrování a bezpečnost
Public Key Infrastructure Přednášky z Distribuovaných systémů Ing. Jiří Ledvina, CSc.
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.
EPodpis v souvislostech. Certifikáty veřejného klíče kvalifikovaný certifikát (QC) -> zaručený elektronický podpis kvalifikovaný systémový certifikát.
1 Elektronický podpis v ČR Bezpečnost IS/IT Jaroslav Malý.
FEAL Fast Encipherment Algorithm Akihiro Shimizu Shoji Miyaguchi, 1987.
Šifrovací algoritmy EI4. DES – Data Encryption Standard  Soukromý klíč  56 bitů  Cca 7,2 x klíčů  Rozluštěn v roce 1997.
VPN - Virtual private networks Přednášky z Projektování distribuovaných systémů Ing. Jiří Ledvina, CSc.
Úvod do klasických a moderních metod šifrování
RSA šifra Ronald Rivest, Adi Shamir a Leonard Adlemann.
Teorie čísel Prvočíslo Eulerova funkce φ(n)
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.
Digital Rights Managment Diplomová práce Petr Švenda MASARYKOVA UNIVERSITA Fakulta Informatiky Brno 06/2004
Metro Ethernet Services Projektování distribuovaných systémů Ing. Jiří ledvina, CSc.
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Í.
McEllisova šifra.
Vrstvy ISO/OSI  Dvě skupiny vrstev  orientované na přenos  fyzická vrstva  linková vrstva  síťová  orientované na aplikace  relační vrstva  prezentační.
McEllisova šifra. James Ellis( ) Clifford Cocks, Malcolm Williamson Alice Bob zpráva šum Odstranění šumu.
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)
Počítačové sítě Lekce 9 Ing. Jiří ledvina, CSc.
ELEKTRONICKÝ PODPIS Jiří Suchomel tel.: Přihlášení na:Tester kraj Heslo:ecibudrap.
Virtualizace ● IP forwarding ● IP tunneling ● Virtuální síť.
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.
PB 169 Počítačové sítě a operační systémy1 Bezpečnost v informačních technologiích PB 169 Počítačové sítě a operační systémy.
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.
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.
Složitost algoritmu Vybrané problémy: Při analýze složitosti jednotlivých algoritmů často narazíme na problém, jakým způsobem vzít v úvahu velikost vstupu.
3. Ochrana dynamických dat
Prezentace – X33BMI Petr PROCHÁZKA
Zabezpečení informace
Operační program Vzdělávání pro konkurenceschopnost
Virtuální privátní sítě
Feistlovy kryptosystémy
Úvod do klasických a moderních metod šifrování
Zabezpečení informace
Úvod do klasických a moderních metod šifrování
Hybridní kryptosystémy
Projektování distribuovaných systémů Lekce 10 Ing. Jiří Ledvina, CSc.
Bezpečnost systémů 2.
Elektronický (digitální) podpis
HASH.
Úvod do počítačových sítí - Linková úroveň
Transkript prezentace:

Protokoly ověřování Projektování distribuovaných systémů Ing. Jiří Ledvina, CSc.

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

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 Utajení E K B+ [P] Ověření plus podpis E K A- [P] Utajení, ověření, podpis E K A- [E K B+ [ P ] ]

Ověřovací funkce Message Authentication Code Kryptografický kontrolní součet Použití hashovací funkce Možnosti Prefix MAC K (x) = H( K ║ x ) – extension attack Sufix MAC K (x) = H( x ║ K ) - většinou O.K., problém pokud H není odolná proti kolizím Zapouzdření MAC K (x) = H(K 1 ║ x ║ K 2 ) HMAC MAC K (x) = H(K 1 ║ H(x ║ K 2 )) Přesněji viz dále UMAC – UMAC-30 – 10 x rychlejší než HMAC-MD5

Ověřovací funkce Message Authentication Code Základní použití A → B: [ M ║C K (M) ] Utajení a ověření vztažené k otevřenému textu A → B: E K 2 [ M ║C K 1 (M) ] Utajení a ověření vztažené k šifrovanému textu A → B: E K 2 [ M ] ║C K 1 ( E K 2 [ 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í

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 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ý

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)

Hashovací funkce - použití Utajení a ověření A → B: E K [ M ║H(M) ] Ověření (obdoba MAC) A → B: [ M ║E K [ H(M) ] ] Digitální podpis (ověření) A → B: [ M ║ E K A- [ H(M) ] ] Digitální podpis a utajení A → B: E K [ M ║ E K A- [ H(M) ] ] Ověření A → B: [ M ║ H(M ║ S) ] Ověření a utajení A → B: E K [ M ║ H(M ║ S) ]

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 bitů Výstup 160 bitů

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

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í)

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: E K B+ [ M ] - pouze šifrovaná, nepodepsaná A → B: [ M ] ║ E K [ H( M ) ] - pouze ověření, sdílené tajemství A → B: E K B+ [E K A- [ M ] ] – šifrování (B+) a ověření (A-), A → B: E K [ M ║ E K A- [ 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

Digitální podpis - arbitrovaný Arbiter je důvěryhodný prostředník pro obě strany A → T: [ M ║ E K AT [ ID A ║ H(M) ] ] T → B: E K BT [ ID A ║ M ║ E K AT [ ID A ║ H(M) ] ║ TS ] Prostředník nemusí rozpoznat obsah zprávy A → T: [E K AB [ M ] ║ E K AT [ ID A ║ H( E K AB [ M ] ) ] ] T → B: E K BT [ ID A ║ E K AB [ M ] ║ E K AT [ ID A ║ H( E K AB [ 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íčů

Digitální podpis – veřejné klíče Použití veřejných klíčů A → T: E K A- [ ID A ║ E K B+ [ E K A- [ M ] ] ] T → B: E K T- [ ID A ║ E K B+ [E K A- [M ] ] ║ TS ] E K A- - tajný klíč A (ověření A) E K B+ - veřejný klíč B (šifrování pro B) E K T- - tajný klíč T (ověření T)

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

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 = g x mod p – veřejný klíč k – náhodné číslo 0 < k < q / relační klíč (tajný) r = (g k mod p ) mod q s = (k -1 (H(M)+xr)) mod q Podpis: (r,s) w = (s -1 mod q ) u 1 = (H(M)w ) mod q u 2 = (r)w mod q (g k mod p ) mod q v = ((g u1 y u2 ) mod p) mod q Test: v = r

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)

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

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

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

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: Cca 49 protokolů

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 ID A, ID B jsou identifikátory entit K AB je relační klíč pro komunikaci A a B K A, K B jsou šifrovací klíče pro komunikaci KDC s A a KDC s B. A → KDC: [ID A ║ ID B ║ N 1 ] KDC → A: E K A [K AB ║ ID B ║ N 1 ║ E K B [K AB ║ ID A ] ] A → B: E K B [K AB ║ ID A ]  útok – zachycení, prolomení, podvrhnutí → časové značky B → A: E K AB [ N 2 ] A → B: E K AB [ N 2 -1 ]

Protokoly vzájemného ověření S ověřovacím serverem Needham-Schroeder, nesymetrické šifrování Útok Gavin Lowe 1995 A → KDC: [ID A ║ ID B ] KDC → A: E K S- [K B+ ║ ID B ] A → B: E K B+ [N A ║ ID A ] → A → T: E KT + [ N A ║ ID A ] B → KDC: [ID A ║ ID B ] T → B: E KB + [ N A ║ ID A ] KDC → B: E K S- [K A+ ║ ID A ] B → A: E K A+ [ N A ║ N B ] → B → T: E K A+ [ N A ║ N B ]  T → A: E K A+ [ N A ║ N B ] A → B: E K B+ [ N B ] → A → T: E KT + [ N B ] T → B: E KB + [ N B ]

Protokoly vzájemného ověření S ověřovacím serverem Otway Rees (1997) Symetrické šifrování A → B: [ M ║ ID A ║ ID B ║ E K A [N A ║ M ║ ID A ║ ID B ] ] B → KDC: [ M ║ ID A ║ ID B ║ E K A [N A ║ M ║ ID A ║ ID B ] ║ E K B [N B ║ M ║ ID A ║ ID B ] ] KDC → B: [ M ║ E K A [N A ║ K AB ] ║ E K B [N B ║ K AB ] ] B → A: [ M ║ E K A [N A ║ K AB ] ]

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: [ ID A ║ N A ] B → A: E K AB [ N A ║ K´ AB ║ ID B ] A → B: E K´ AB [ N A ] B → A: [ N B ] K´ AB – nový relační klíč N B – nové náhodné číslo

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 ║E K A [ TS A ║ ID B ║ K AB ] ] KDC → B: E K B [ TS KDC ║ ID A ║ K AB ] ] B → A: E K AB [ N B ] A → B: E K AB [ N B +1]

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| < ∆t 1 + ∆t 2 Znovupoužití relačního klíče může být detekováno B A → KDC: [ ID A ║ ID B ] KDC → B: E K A [ K AB ║ ID B ║ TS ║ E K B [ K AB ║ ID A ║ TS ] ] A → B: E K B [ K AB ║ ID A ║ TS ] B → A: E K AB [ N 1 ] A → B: E K AB [ f(N 1 ) ]