Šifrování disků a TrueCrypt



Podobné dokumenty
Použití šifrovaných disků v Linuxu

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

Open Source a šifrování dat OFTE. Pavel Machula

Šifrování disků... (nejen) v Linuxu. Milan Brož mbroz@redhat.com

Výsledky bezpečnostního auditu TrueCryptu. Ing. Josef Kokeš. CryptoFest 2015

Správa linuxového serveru: Šifrování s dm crypt/luks

Šifrovaný disk v Linuxu

Sem vložte zadání Vaší práce.

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

ICZ - Sekce Bezpečnost

Open Source a šifrování dat OFTE

Správa disků (storage) v Linuxu. Milan Brož Software Engineer / Kernel Storage / Red Hat mbroz@redhat.com

Šifrování dat d. a komu tím prospějete? Milan Brož LinuxAlt 2009 mbroz@redhat.com. Brno

Správa linuxového serveru: Dokončení praxe šifrování s dm crypt/luks

UKRY - Symetrické blokové šifry

Asymetrická kryptografie a elektronický podpis. Ing. Mgr. Martin Henzl Mgr. Radim Janča ijanca@fit.vutbr.cz


Linux CryptoFS. Petr Novický

POPIS STANDARDU CEN TC278/WG4. Oblast: TTI. Zkrácený název: Zprávy přes CN 3. Norma číslo:

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

SMART KARTY V LINUXU A PROČ BY VÁS MĚLY ZAJÍMAT JAKUB JELEN, RED HAT

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

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

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

POPIS STANDARDU CEN TC278/WG4. 1 z 5. Oblast: TTI. Zkrácený název: Zprávy přes CN 4. Norma číslo:

Bakalářská práce Šifrování a dešifrování souborů s využitím čipové karty

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

IPZ laboratoře Struktura pevného disku L305 Cvičení 1 Cvičící:

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

Správa stanic a uživatelského desktopu

VirtualBox desktopová virtualizace. Zdeněk Merta

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

Podzim Boot možnosti

Plně šifrovaný disk na moderním systému

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

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

Šifrované souborové systémy v linuxovém jádře

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

Problematika náhodných a pseudonáhodných sekvencí v kryptografických eskalačních protokolech a implementacích na čipových kartách

Přednáška. Systémy souborů. FAT, NTFS, UFS, ZFS. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

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

BEZPEČNÁ SPRÁVA KLÍČŮ POMOCÍ HSM. Petr Dolejší Senior Solution Consultant

Bezdrátový mikroadaptér N300 USB (N300MA)

Souborový systém NTFS (New Technology File System) Jan Šváb

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

Hashovací funkce. Andrew Kozlík KA MFF UK

Systémy pro ukládání autentizačních informací

Středoškolská technika Encryption Protection System

Domino 10 nové komponenty a související témata (node.js, ES )

C5 Bezpečnost dat v PC

Autentizace uživatelů

0x5DLaBAKx5FC517D0FEA3

Návrh a implementace bezpečnosti v podnikových aplikacích. Pavel Horal

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

Acronis. Lukáš Valenta

Projekt 2 - Nejčastější chyby. Ing. Dominik Breitenbacher

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

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

Sdílení zdravotnické dokumentace v souladu s GDPR

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

Bezpečnost sítí

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

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

PA159 - Bezpečnostní aspekty

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

}w!"#$%&'()+,-./012345<ya

Důvěryhodná výpočetní základna v prostředí rozsáhlých IS státní správy

Stručný návod k obsluze Instalace ovladače WLAN USB adaptéru GW- 7200U pro Windows 98SE, ME, 2000 a XP

Bezpečnostní mechanismy

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

Principy operačních systémů. Lekce 7: Souborový systém

Testovací protokol. 1 Informace o testování. 2 Testovací prostředí. 3 Vlastnosti generátoru klíčů. Příloha č. 11. Testovaný generátor: Portecle 1.

konec šedesátých let vyvinut ze systému Multics původní účel systém pro zpracování textů autoři: Ken Thompson a Denis Ritchie systém pojmnoval Brian

Bezpečný JPEG Úvod 2. JPEG Vlastnosti JPEG /

Bootkity v teorii a praxi. Martin Dráb martin.drab@ .cz

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

SSL Secure Sockets Layer

Mobilní komunikace a bezpečnost. Edward Plch, System4u

POPIS STANDARDU. Norma název (cz):dopravní a cestovní informace (TTI) TTI zprávy pomocí celulárních sítí Část 6: Vnější služby (ISO/DTR :2000)

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

Tel.: (+420)

Storage... co je nového (SSD!)... a co se zatím nepovedlo rozbít:-)

Souborové systémy Mgr. Josef Horálek

Extrémně silné zabezpečení mobilního přístupu do sítě.

Uživatelská příručka

Administrace OS Unix. filesystém UFS mount snapshot RAID

Zálohování pro začátečníky. Ondřej Caletka

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

DNSSEC Validátor - doplněk prohlížečů proti podvržení domény

(Ne)popiratelnost digitálních podpisů. Cíl přednášky. Jazyková vsuvka

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

Programové vybavení OKsmart pro využití čipových karet

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

Operační systémy 1. Přednáška číslo Souborové systémy

Opakování k maturitní zkoušce z informatických předmětů

Úvod. Klíčové vlastnosti. Jednoduchá obsluha

Uchovávání dat v SSD

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

Lukáš Valenta Acronis Presentation 1

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

Transkript:

Šifrování disků a TrueCrypt Milan Brož EurOpen 2013 xbroz@fi.muni.cz Vranov nad Dyjí

TrueCrypt transparentní šifrování disku FDE - Full Disk Encryption multiplatformní Windows, Linux, MacOS původně odvozeno od E4M Encryption for Masses Linux - používá nativní služby jádra dm-crypt vs FUSE ("FS in Userspace") Windows - podpora šifrovaného OS vlastní bootloader

TrueCrypt licence Open Source nestandardní licence TrueCrypt License Version x.y nekompatibilní s Linux distribucemi požadavek na čisté licence nejasný pokus o GPL ve verzi 2.0... "Released under the original E4M license to avoid potential problems relating to the GPL license." (2.1 Readme.txt) Licenční text změněn 21 verze 1.0-7.1a, bez nepodstatných změn

Alternativní implementace (Linux) RealCrypt nezávislý překlad z původních zdrojových kódů ScramDisk vyžaduje vlastní ovladač v jádře tc-play - BSD license, původně pro DragonFly OS - používá dm-crypt... cryptsetup - využívá existující rozhraní a knihovny - bez použití zdrojových kódu Truecryptu

Metadata hlavička na disku vždy šifrovaná nelze rozpoznat bez znalosti klíče klíč odvozen z hesla pomocí PBKDF2-1000/2000 iterací - hash RMD160, SHA1, SHA512, Whirlpool iterace přes všechny známé módy hledá řetězec "TRUE" a správný CRC32 stejný mód je pak použit pro data

Metadata hlavička na disku # cryptsetup tcryptdump tc.img --debug... Enter passphrase:... # Trying to load TCRYPT crypt type from device tc.img. # Crypto backend (gcrypt 1.5.2) initialized. # Reading TCRYPT header of size 512 bytes from device tc.img. # TCRYPT: trying KDF: pbkdf2-ripemd160-2000. # TCRYPT: trying cipher aes-xts-plain64 # TCRYPT: trying cipher serpent-xts-plain64 # TCRYPT: trying cipher twofish-xts-plain64 # TCRYPT: trying cipher twofish-aes-xts-plain64... # TCRYPT: trying KDF: pbkdf2-sha512-1000. # TCRYPT: trying cipher aes-xts-plain64 # TCRYPT: trying cipher serpent-xts-plain64 # TCRYPT: trying cipher twofish-xts-plain64 # TCRYPT: trying cipher twofish-aes-xts-plain64 # TCRYPT: trying cipher serpent-twofish-aes-xts-plain64 # TCRYPT: Signature magic detected. # TCRYPT: Header version: 5, req. 7, sector 512, mk_offset 131072, hidden_size 0, volume size 33292288 # TCRYPT: Header cipher serpent-twofish-aes-xts-plain64, key size 192...

Metadata hlavička na disku

Šifrovací algoritmy a módy Algoritmus Blok [bitů] Klíč [bitů] Mód Zavedeno [verze] Zrušeno [verze] AES256 128 256 XTS 5.0 - '' '' '' LRW 4.1 5.0 '' '' '' CBC 2.0 4.1 Serpent 128 256 XTS 5.0 - '' '' '' LRW 4.1 5.0 '' '' '' CBC 3.0 4.1 Twofish 128 256 XTS 5.0 - '' '' '' LRW 4.1 5.0 '' '' '' CBC 3.0 4.1 Blowfish (LE) 64 448 LRW 4.1 4.3 '' '' '' CBC 1.0 4.1 CAST5 64 128 LRW 4.1 4.3 '' '' '' CBC 1.0 4.1 TripleDES (EDE) 64 168 LRW 4.1 4.3 '' '' '' CBC 1.0 4.1 IDEA 64 128 CBC 1.0 2.1a

Zřetězené šifry kaskáda algoritmů ochrana před prolomením jednoho algoritmu algoritmy se nesmí vzájemně ovlivňovat podstatné snížení propustnosti # lsblk /dev/loop0 -o NAME,TYPE loop0 loop tc_2 crypt -> aes-xts-plain64 tc_1 crypt -> twofish-xts-plain64 tc crypt -> serpent-xts-plain64 # cryptsetup status tc /dev/mapper/tc is active. type: TCRYPT cipher: serpent-twofish-aes-xts-plain64 keysize: 1536 bits device: /dev/loop0 loop: /test/tc.img offset: 256 sectors size: 65024 sectors skipped: 256 sectors mode: read/write # truecrypt --volume-properties /mnt/tst Slot: 1 Volume: /test/tc.img Virtual Device: /dev/mapper/truecrypt1 Mount Directory: /mnt/tst Size: 31.8 MB Type: Normal Read-Only: No Hidden Volume Protected: No Encryption Algorithm: AES-Twofish-Serpent Primary Key Size: 768 bits Secondary Key Size (XTS Mode): 768 bits Block Size: 128 bits Mode of Operation: XTS PKCS-5 PRF: HMAC-SHA-512 Volume Format Version: 2 Embedded Backup Header: Yes

Zřetězené šifry v CBC módu nutnost řešit problém různé velikosti bloku

Generátor náhodných čísel (RNG) klíče, IV semínko, whitening, sůl interní implementace RNG zdroje entropie (mixovány do interního poolu) pohyb kurzoru klávesnice Windows: interní statistiky systému Linux/MacOS: /dev/[u]random

Skrytý disk a skrytý OS důvěryhodné popření (existence dat) "Plausible deniability" alokační strategie FAT souborového systému - skrytý disk v nevyužité části - problematická ochrana před přepsáním fixní umístění hlavičky skrytého disku prosakování informací / existence disku => skrytý operační systém

Skrytý disk a skrytý OS

CBC mód útok na skrytý disk Cílem je prokázat existenci skrytého disku - použití whiteningu by mělo ztížit analýzu/útok - klíče K E, K IV, K W jsou uloženy v hlavičce - první blok sektoru číslo S n se dešifruje takto:

CBC mód útok na skrytý disk pro S n dělitelné 4 platí S n xor S n+1 = S n+2 xor S n+3 pro W platí W(K w, A xor B) = W(K w, A) xor W(K w, B) pozměňme první bloky sektorů n.. n+3 P n a P n+2 = 0 P n+1 a P n+3 = S n xor S n+1 C n = E(K E, P n xor IV n ) xor W n = E(K, K iv xor S n ) xor W n C n+1 = E(K E, P n+1 xor IV n+1 ) xor W n+1 =.. = E(K, K iv xor S n ) xor W n+1 což umoňuje eliminovat vliv šifrování (xor) a platí C n xor C n+1 = C n+2 xor C n+3 Detekce značky (watermark) pouze z šifrovaného textu!

Co je špatně? IV je odvozen z tajného klíče, ale... je predikovatelný (např. v rámci sektorů po sobě) Whitening používá CRC32 místo hash funkce nevhodné vlastnosti pro tyto účely ve verzi 4.1 přechod na mód LRW odstranění obou problémů výše... za cenu použití příliš "nového" módu... a LRW se nestal standardem design je dle IEEE problematický problém s odhalením LRW tweak key z hlavičky... následný přechod na mód XTS (dle IEEE 1619)

Keyfiles přimíchání obsahu souborů k heslu použito jen 1 MiB obsahu souboru nevhodně opět postaveno na CRC32 vliv keyfile lze eliminovat obsahem keyfile! (... útok předpokládá porušení security modelu) i v současné verzi vhodné pro tokeny tzn. k odemčení je potřeba token + heslo interní pool limituje heslo na max. 64 znaků

Cryptsetup & TrueCrypt formát separace crypto algoritmů do knihoven / jádra jednotná knihovna plain, LUKS, loop-aes, Truecrypt integrace v systemd (záměrně) neumožňuje modifikace Truecrypt hlavičky omezení crypto API Linuxového jádra - není podpora pro whitening + IV a některých šifer - plná podpora pro LRW a XTS mód podpora skrytého disku, kaskád

Cryptsetup & TrueCrypt formát man cryptsetup :-) informace z hlavičky tcryptdump # cryptsetup tcryptdump tst Enter passphrase: TCRYPT header information for tst Version: 5 Driver req.: 7 Sector size: 512 MK offset: 131072 PBKDF2 hash: sha512 Cipher chain: serpent-twofish-aes Cipher mode: xts-plain64 MK bits: 1536

Cryptsetup & TrueCrypt formát aktivace zařízení tcryptopen # cryptsetup tcryptopen tst tcrypt_dev Enter passphrase:... vytvořeno zařízení /dev/mapper/tcrypt_dev stav zařízení status # cryptsetup status tcrypt_dev /dev/mapper/tcrypt_dev is active. type: TCRYPT cipher: serpent-twofish-aes-xts-plain64 keysize: 1536 bits device: /dev/loop0 loop: /tmp/tst offset: 256 sectors size: 65024 sectors skipped: 256 sectors mode: read/write

děkuji za pozornost Milan Brož EurOpen 2013 xbroz@fi.muni.cz Vranov nad Dyjí