Kryptoanalýza. Kamil Malinka Fakulta informačních technologií. Kryptografie a informační bezpečnost, Kamil Malinka 2008

Podobné dokumenty
Andrew Kozlík KA MFF UK

SSL Secure Sockets Layer

UKRY - Symetrické blokové šifry

CO JE KRYPTOGRAFIE Šifrovací algoritmy Kódovací algoritmus Prolomení algoritmu

Moderní metody substitučního šifrování

Bezpečnost vzdáleného přístupu. Jan Kubr

Šifrování ve Windows. EFS IPSec SSL. - Encrypting File System - Internet Protocol Security - Secure Socket Layer - Private Point to Point Protocol

Operační mody blokových šifer a hašovací algoritmy. šifer. Bloková šifra. šifer. Útoky na operační modus ECB


Od Enigmy k PKI. principy moderní kryptografie T-SEC4 / L3. Tomáš Herout Cisco. Praha, hotel Clarion dubna 2013.

kryptosystémy obecně další zajímavé substituční šifry klíčové hospodářství kryptografická pravidla Hillova šifra Vernamova šifra Knižní šifra

Stavební bloky kryptografie. Kamil Malinka Fakulta informačních technologií

Kryptografie a počítačová bezpečnost

8. RSA, kryptografie s veřejným klíčem. doc. Ing. Róbert Lórencz, CSc.

SIM karty a bezpečnost v mobilních sítích

Hashovací funkce. Andrew Kozlík KA MFF UK

Bezpečnost internetového bankovnictví, bankomaty

Identifikátor materiálu: ICT-2-04

Kryptografie založená na problému diskrétního logaritmu

Integrovaný informační systém Státní pokladny (IISSP) Dokumentace API - integrační dokumentace

ElGamal, Diffie-Hellman

Proudové šifry a posuvné registry s lineární zpětnou vazbou

2000 zveřejnění dobové zprávy General Report on Tunny informací nedostatek k odvození konstrukce šifrátoru Lorenz cíl: odvození pravděpodobného

Základy kryptologie. Kamil Malinka Fakulta informačních technologií

2000 zveřejnění dobové zprávy General Report on Tunny

Kerchhoffův princip Utajení šifrovacího algoritmu nesmí sloužit jako opatření nahrazující nebo garantující kvalitu šifrovacího systému

Asymetrické šifry. Pavla Henzlová FJFI ČVUT v Praze. Pavla Henzlová (FJFI ČVUT v Praze) Asymetrické šifry 28.3.

Šifrování Autentizace Bezpečnostní slabiny. Bezpečnost. Lenka Kosková Třísková, NTI TUL. 22. března 2013

5. Hašovací funkce, MD5, SHA-x, HMAC. doc. Ing. Róbert Lórencz, CSc.

Seminární práce do předmětu: Bezpečnost informačních systémů. téma: IPsec. Vypracoval: Libor Stránský

ISMS. Autentizace ve WiFi sítích. V Brně dne 5. a 12. prosince 2013

Desktop systémy Microsoft Windows

Návrh kryptografického zabezpečení systémů hromadného sběru dat

Autentizace uživatelů

Diffieho-Hellmanův protokol ustanovení klíče

6. Cvičení [MI-KRY Pokročilá kryptologie]

Analyzátor bezdrátových sítí

Šifrová ochrana informací věk počítačů PS5-1

Základní definice Aplikace hašování Kontrukce Známé hašovací funkce. Hašovací funkce. Jonáš Chudý. Úvod do kryptologie

7. Proudové šifry, blokové šifry, DES, 3DES, AES, operační módy. doc. Ing. Róbert Lórencz, CSc.

KRYPTOGRAFIE VER EJNE HO KLI Č E

Vzdálenost jednoznačnosti a absolutně

Šifrová ochrana informací historie KS4

Hardwarové bezpečnostní moduly API a útoky

Ochrana dat Obsah. Výměna tajných klíčů ve veřejném kanálu. Radim Farana Podklady pro výuku. Kryptografické systémy s tajným klíčem,

III. Mody činnosti blokových šifer a hašovací funkce

Analýza síťového provozu. Ing. Dominik Breitenbacher Mgr. Radim Janča

MASARYKOVA UNIVERZITA

BI-BEZ Bezpečnost. Proudové šifry, blokové šifry, DES, 3DES, AES,

Y36PSI Bezpečnost v počítačových sítích. Jan Kubr - 10_11_bezpecnost Jan Kubr 1/41

Základy kryptografie. Beret CryptoParty Základy kryptografie 1/17

Pokročilá kryptologie

Šifrování flash a jiných datových úložišť

Šifrová ochrana informací historie PS4

Skype. Analýza funkcionality a zabezpečení. 29. dubna Fakulta informatiky Masarykova univerzita

Detekce zranitelnosti Heartbleed pomocí rozšířených flow dat

Karel Kohout 18. května 2010

Moderní komunikační technologie. Ing. Petr Machník, Ph.D.

VPN - Virtual private networks

Informatika / bezpečnost

Protokol TELNET. Schéma funkčních modulů komunikace protokolem TELNET. Telnet klient. login shell. Telnet server TCP/IP TCP/IP.

MINIMÁLNÍ POŽADAVKY NA KRYPTOGRAFICKÉ ALGORITMY. doporučení v oblasti kryptografických prostředků

Šifrování. Tancuj tak, jako když se nikdo nedívá. Šifruj tak, jako když se dívají všichni! Martin Kotyk IT Security Consultnant

Protokol TELNET. Schéma funkčních modulů komunikace protokolem TELNET. Telnet klient. login shell. Telnet server TCP/IP.

Základy šifrování a kódování

Šifrová ochrana informací historie PS4

Použití čipových karet v IT úřadu

Konstrukce šifer. Andrew Kozlík KA MFF UK

Šifrová ochrana informací věk počítačů PS5-2

Symetrické šifry, DES

PA159 - Bezpečnostní aspekty

Zero-knowledge protokoly. Autentizační protokoly & Autentizace počítačů. Zero-knowledge protokoly. Protokoly vyšší úrovně SSL/TLS. Komponenty SSL/TLS

Středoškolská technika Encryption Protection System

Hesla a bezpečnost na internetu MjUNI 2019 Dětská univerzita,

MFF UK Praha, 22. duben 2008

Elektronická komunikace s CSÚIS. Jak to řeší Fenix

HSM a problémy s bezpečností API Masarykova univerzita v Brně Fakulta informatiky

KPB. Režimy činnosti symetrických šifer - dokončení. KPB 2015/16, 7. přednáška 1

Čínská věta o zbytcích RSA

12. Bezpečnost počítačových sítí

Přednáška 10. X Window. Secure shell. Úvod do Operačních Systémů Přednáška 10

Správa webserveru. Blok 9 Bezpečnost HTTP. 9.1 Úvod do šifrování a bezpečné komunikace Základní pojmy

Bezpečnost dat. Možnosti ochrany - realizována na několika úrovních

Informatika Ochrana dat

asymetrická kryptografie

Šifrování (2), FTP. Petr Koloros p.koloros [at] sh.cvut.cz.

Matematické základy šifrování a kódování

Správa přístupu PS3-2

RSA. Matematické algoritmy (11MA) Miroslav Vlček, Jan Přikryl. Ústav aplikované matematiky ČVUT v Praze, Fakulta dopravní. čtvrtek 21.

autentizační protokoly používané v PPP

- PC musí být připojené v lokální síti - je bezpodmínečně nutné, aby aplikace Outlook nebyla aktivní)

Možnosti šifrované komunikace v prostředí MS Windows 7

Kryptografie, elektronický podpis. Ing. Miloslav Hub, Ph.D. 27. listopadu 2007

Bezpečnost elektronických platebních systémů

Šifrová ochrana informací věk počítačů KS - 5

DSY-6. Přenosový kanál kódy pro zabezpečení dat Základy šifrování, autentizace Digitální podpis Základy měření kvality přenosu signálu

RSA. Matematické algoritmy (11MAG) Jan Přikryl. Ústav aplikované matematiky ČVUT v Praze, Fakulta dopravní. verze: :01

NAS 323 NAS jako VPN Server

PSK2-16. Šifrování a elektronický podpis I

Jak ze čtverce udělat kruh. Operační mody blokových šifer, náhodná čísla. praxe: kryptografie

Transkript:

Kryptoanalýza Kamil Malinka malinka@fit.vutbr.cz Fakulta informačních technologií 1

Microsoft PPTPv1 zájem o rozšiřování možností op. systémů přináší implementaci konkrétního protokolu pro VPN Co řeší VPN? point-to-point tunneling protocol port 1723 nevyužívá žádné specifické kryptografické algoritmy první verze ve Windows NT (server), Win Me, Win98 2

Autentizace heslo v čisté podobě problém odposlouchávání zanedbatelné bezpečnost poslání hashe hesla pro útočníka totožné jako otevřená forma pouze nutno drobné úpravy výzva/odpověď MS-CHAP (Microsoft Challenge Authentication Protocol) jediná rozumná volba ke skrytí hesla jsou použity dvě jednocestné funkce klient nezasílá autentizační zprávu sám, žádá server o zaslání výzvy 3

MS CHAP úvodní zpráva klienta c0 21 01 00 00 13 03 05 c2 23 80 (2) LCP packet, (1) conf request, (1) ID, (2) length, (1) authentication, (1) CHAP option length, (2) CHAP, (1) MS-CHAP výzva serveru c2 23 01 00 00 0d 08 cf 4f 0e 72 89 04 3b (2) chap packet, (1) challenge, (1) ID, (2) length, (1) challenge length, (8) challenge odpověď c2 23 02 00 00 53 31 41 31 19 0f 01 A d m t o r (2) chap packet, (1) response, (1) ID, (2) length, (24) LANMAN, (24) NT response, (1) NT compatib. flag, (13) account name Poslední zpráva obsahuje 2 dlouhé řetězce jejich základem jsou dva algoritmy Lan Manager Hash Windows NT Hash 4

Lan Manager Hash autentizace založená na hesle síla hesla určuje sílu autentizace Postup: úprava hesla na 14 znaků (oříznutí, doplnění nulami) všechna malá písmena převedena na velké rozdělení hesla na dvě půlky 7 znakovéřetězce zašifrování standardem definované konstanty pomocí DES (jako klíče slouží 7 znak. řetězce) zřetězení výsledků dostáváme LM hash 16 bajtů Postup silně snižuje bezpečnost! Proč? 5

Slovníkový útok lidé volí lehce uhodnutelná hesla pouze velká písmena snížení prostoru klíčů žádná sůl stejná hesla => stejný hash původní heslo rozdělené stačí hádat 2x kratší (podstatné zrychlení útoku) okamžité rozpoznání hesla kratšího 8 znaků NT Hash se snaží vyvarovat těchto chyb. ALE! 6

Windows NT hash 14 znakové heslo zpracovávané v celku heslo je vstupem MD5 => 16B hodnota hashe mnohem silnější jako Lan Manager Hash stále žádná sůl!zachování kompatibility zasílány obě hodnoty hashe! 7

Kryptoanalýza MS-CHAP kromě již zmíněných základních útoku je možná důkladnější a nebezpečnější kryptoanalýza Popis protokolu: 1. klienta posílá výzvu 2. server pošle 8 bajtovou náhodnou výzvu 3. klient spočítá hash (LM nebo NT), hash 0 0 0 0 0 => 21 znaků => 3 x 56b. klíče pro DES 3 klíče využity k trojnému zašifrování 8 bajtové výzvy => 24 bajtů odpovědi 4. server porovná zaslanou odpověď 8

Konvence zápisu P 0 P 13 jednotlivé bajty hesla H 0 H 15 bajty LM nebo NT hashe K 0 K 20 bajty klíčů, kterými se šifruje autentizační výzva S konstanta, která je součástí definice protokolu C výzva, R 0 R 23 odpověď útočník zná C a R, chce najít heslo P 9

Postup útoku Heslo: P 0 P 1 P 2 P 3 P 4 P 5 P 6 P 7 P 8 P 9 P 10 P 11 P 12 P 13 LM hash získaný z hesla: DES (opt.) H 0 H 1 H 2 H 3 H 4 H 5 H 6 H 7 H 8 H 9 H 10 H 11 H 12 H 13 H 14 H 15 získáme 3x DES klíč: K 0 K 1 K 2 K 3 K 4 K 5 K 6 K 7 K 8 K 9 K 10 K 11 K 12 K 13 K 14 K 15 0 16 0 17 0 18 0 19 0 20 challenge - response 3x DES zašifrování 8 bajtové výzvy DES R 0 R 1 R 2 R 3 R 4 R 5 R 6 R 7 R 8 R 9 R 10 R 11 R 12 R 13 R 14 R 15 R 16 R 17 R 18 R 19 R 20 R 21 R 22 R 23 10

Kryptoanalýza MS-CHAP Offline: předpočítané šifrování DES každé možné hodnoty P0 P6 a P7 P13 1. hledáme všechny možné K 14, K 15 kontrola:správná hodnota šifruje C na R 16 R 23 s klíčem K 14, K 15, 0, 0, 0, 0, 0 => průměrně 2 15 operací 2. zkoušíme vhodné hodnoty P 7 P 13, špatné volby eliminujeme šifrováním a srovnáním s K 14, K 15 => pro všechny kandidáty otestujeme všechny možné hodnoty K 7, kontrola: C zašifrujeme na R 8 R 15 N/2 16 možností 3. zkoušíme vhodné hodnoty P 0 P 6, K 7 známe N 1 /2 8 možností 11

MPPE point-to-point encryption předpokládá sdílený klíč RC4 40 nebo 128 bitů kompresní protokol PPP použit k domluvě na parametrech šifrování 1. získání 64-bitového klíče z LM hashe použitím SHA 24 nejvýznamnějších bitů nahrazeno konstantou 0xD1269E 2.NT hash 64 bitů náhodné výzvy z MS-CHAP získání128 bitového klíče použitím SHA po každých 256 zašifrovaných bajtech je vytvořen nový klíč pro RC4 12

Síla klíčů deterministický postup generování klíče => síla klíče je rovna síle hesla RC4 OFB cipher proudové šifry 40bit klíč je stejný, nemění se s novým přihlášením => získání více proudů dat umožňuje rekonstrukci původních dat (xor) nebo pseudonáhodného řetězce bit flipping attack útočník chce způsobit změnu v datech, změny v hlavičkách RC4 je OFB šifra vlastnost MPPE resynchronizace na žádost klienta útočník může podvrhnout žádost o resynch. informace obsažena v bitu dalšího paketu, klient nekontroluje zda o ni žádal útočník může docílit xorování předem zvoleným řetezcem další problémy: pasivní monitorování komunikace, snadný únik citlivých informací z klientského počítače 13

CBC Padding SSL/TLS, IPSEC, WTLS zpráva je nejdříve předformátována po dešifrování je formát opět zkontrolován postranní kanál chybová zpráva chyba při dešifrování chybová zpráva chybný formát složitost útoku O(NbW) N počet bloků, b počet slov v bloku, W počet možných slov (usually 256) 8 kb msg => 1000 blocks * 8 words * 256 CBC Padding: Security flaws in SSL, IPSEC, WTLS,, S. Vaudenay, EUROCrypt 02 14

RFC2040 RC5-CBC-PAD, každý blok má 8 slov o 8 bitech zprává je doplněna n slovy s hodnotou n získáme sekvenci bloků x 1,, x n šifrování y 1 =C(IV x 1 ), y i = C(y i-1 x i ) dešifrování: dešifrování, kontrola paddingu, odstranění paddingu kontrolu korektnosti paddingu použijeme jako věštírnu (z angl. oracle) 15

Nepravděpodobný útok předpokládejme že šifrové bloky y i, y j jsou shodné potom platí y i-1 y j-1 = x i x j dále využijeme redundance v textu k získání x i, x j z y i-1, y j-1 pravděpodobnost narozeninový teorém p 1 e -N.N/(2m) = 1 e -N.N/(2.8^8) rozumnou pravděpodobnost 39% získáme až pro data o délce 32 GB 16

Účinný útok I používáme orákulum O vrací 1, pokud má dešifrovaný text korektní padding, jinak vrací 0 O je definováno šifrovým textem a IV chceme spočítat poslední slovo bloku y nechť r=r 1 r b jsou náhodná slova, podvrhneme šifrovaný text r y pokud O(r y)=1 pak C -1 (y) r skončí s platným paddingem nejpravděpodobnější padding je 1 (odpovída pouze 1 byte), můžeme ověřit použitím r = r 1 r b, r b = r b 17

Účinný útok II O(r y) = 1 => C -1 (y) r = 01 resp. 02 atd.. C -1 (y i ) = (y i-1 ) p i C-1 (y) r = 01 ((y i-1 ) p i ) r = 01 18

Účinný útok III nyní chceme dešifrovat blok block decryption oracle a = a 1 a b <= C -1 (y) použijeme O k získání posledního slova a b co s a b-k? a j začátek je stále náhodný r 1 r j-1, konec je r k =a k (b-j+2) použijeme padělaný šifrovaný text r y pro dešifrování druhý blok je r a, tedy poslední b-j+1 blok je b-j+2 pokud O(r y) = 1 tak víme, že r j a j = b-j+2 => tedy získáme a j 19

Příklad b=8 W=256 y i =C(y i-1 x i ), x i = C -1 (y i ) y i-1 C = 3c 68 74 6d 6c 3e 3c 68 65 61 64 3e 3c 6c 69 6e r = 00 00 00 00 00 00 00 00 = r 1 r 2 r 3 r 4 r 5 r 6 r 7 r 8 zkoušíme O(65 61 64 3e 3c 6c 69 6e 00 00 00 00 00 00 00 r 8 ) kde r 8 běží od 0 -> ff, dostaneme O()=1 pro r 8 = f3 a dešifrování posledního bajtu 6e je s největší pravděpodobností 01 f3 = a 8 další bajt r 8 = a 8 2 a dále zkoušíme všechny hodnoty r 7 O(65 61 64 3e 3c 6c 69 6e 00 00 00 00 00 00 r 7 f2) pokud O()=1 => r 7 a 7 = 2 => a 7 = r 7 2 20

Jiný příklad ŠIFRA: 4D A8 B5 17 64 59 26 B7 FA 0B 47 2C 04 04 62 33 Inicializační vektor: 12 12 12 12 12 12 12 12 r 1 : 4C50585A5F31545C r 2 : 07FDF633645E20B2 p 18 = 12 5C 01 = 4F p 28 = B7 B2 01 = 04 p 17 = 12 54 02 = 44 p 27 = 26 20 02 = 04 p 16 = 12 31 03 = 20 p 26 = 59 5E 03 = 04 p11 = 12 4C 08 = 56 p 21 = 4D 07 08 = 42 VELMI DOBRE! 21

Používání ENIGMY 1. Nastavení do základní konfigurace pro daný den 2. zvolí se 3 písmenná počáteční pozice rotorů (indikátor) od které se zašifruje 3 písmenný klíč zprávy 3. rotory se nastaví na pozici indikátoru, klíč ve zprávě, šifrování 2x za sebou, 4. nastavení rotorů na klíč zprávy, šifrování vlastní zprávy 5. jak preambule (zašifrovaný klíč zprávy), tak zpráva jsou předány operátorovi k přenosu (radio, morseovka) 22

23

24

Picture comes from the book Decrypted Secrets by Friedrich L. Bauer 25

Čtyři rotory Enigmy E a detail rotoru. Pictures shot at Bletchley Park, UK, 2005 26

Německá komunikační stanice během 2. světové války Picture shot at Bletchley Park, UK, 272005

Picture shot at Bletchley Park, UK, 28 2005

Luštění Enigmy Dillwyn Knox a Alan Turing měli repliky Enigmy, které pocházeli z Polska (včetně výsledků dosavadní kryptoanalýzy) možné útoky kryptoanalýza pouze s použitím šifrového textu útok s diskriminanty studium využití opakovaného šifrování tří písmenného diskriminantu útok s použitím pravděpodobné fráze známý či uhodnutý text crib každý znak se po šifrování nutně změní posunování crib po textu, dokud se ani jedno z písmen neshoduje se známým pořadím rotorů a jejich pozicí se hledalo nastavení steckeru, jež by umožnil transformaci šifrovaného textu na otevřený text, počet testovaných možností - 10 20 Graham Ellsbury The Turing Bombe 29

Bomba dešifrovací přístroj přední (vpravo), zadní strana (vlevo) a otevřený (dole) 30 bezpečnost, Kamil Malinka Pictures 2008shot at Bletchley Park, UK, 2005

Lorenz a Colossus Lorenz je rotorový šifrovací stroj používaný německými vysokými důstojníky v Evropě během 2. světové války (nahoře). Colossus je dešifrovací stroj pro Lorenz vytvořen Brity aniž by vůbec někdy původní šifrovací stroj spatřili. 31 bezpečnost, Kamil Malinka Pictures 2008 shot at Bletchley Park, UK, 2005