====== 10. Secure HW ====== ====== Zadání ====== Využití hardwaru pro ochranu citlivých/kryptografických dat a operací s nimi. Čipové karty a jejich role bezpečnostního mechanismu. ===== Vypracování ====== ==== HSM ==== * pro zajištění bezpečného (a rychlého) zpracování, komunikace a ukládání (extrémně) citlivých dat * uložení dat jako jsou (nezašifrované) klíče na disku nebo v paměti je problematické, protože může dojít k jejich získání útočníkem (odstránkování paměti, záloha na nezašifrovaný disk, reset a boot do systému, který analyzuje obsah RAM, který ještě nezmizel apod.) * tradičně používány v bankovním sektoru a v posledních pár desítkách let také certifikačním i autoritami * komunikace mezi zařízením a HSM pouze přes API - PKCS#11 nebo Common Cryptographic Architecture (CCA) * díky omezené funkcionalitě a jednoduchému návrhu snáze verifikovatelný a testovatelný než mnoho-účelové systémy * různé části (architektura): * mechanismy pro fyzickou ochranu (senzory, zalití v oceli...) * generátory (skutečně) náhodných čísel (s alg. ochranou proti side channel útokům) * speciální koprocesory pro sym. i (především) asym. kryptografii * Non-Volatile RAM pro uchování dat (stálý zdroj napětí např. pomocí baterie) * I/O moduly * baterie * a další ... * Fyzická bezpečnost * neoprávněná manipulace (tampering) by měla: * být znesnadněna - **tamper resistance** * zanechat stopy - **tamper evindence** * být detekována (bezprostředně zjištěna) - **tamper detection** * vyvolat protiopatření - **tamper response** * různé druhy útoků: * fyzický invazivní (žíravina, odstranění obalu, mikrosondy) většinou drahé, nutné znát systém a mít vybavení - útoky pasivní nebo aktivní * fyzický polo-invazivní - UV, Rentgen, teplo, mráz atd. * Logická bezpečnost (logické - neinvazivní útoky) * Monitoring a útoky na postranní kanály (měření napětí, šumu, času krypto operací s ohledem na implementaci.) * útoky na API (PKCS #11, CCA)- nedostatečná kontrola parametrů, integrity klíčů, přístupových oprávnění atd. * Environmental security - chrání samotné zařízení (kamera, dva páry očí, politiky používání...) * Operational security - Měl by pracovat jen přes API a HW k tomu určený (falešné ATM terminál...) * Bezpečnostní požadavky certifikovány pomocí strandardu FIPS 140-2 (aktuální verze, v příštích letech očekávána 140-3), který definuje 4 úrovně bezpečnosti: - není požadována fyzická bezpečnost - je požadována zpětná zjistitelnost neoprávněné manipulace - je požadována detekce a reakce na neoprávněnou manipulaci - požadována ochrana proti narušení prostředí, ve kterém HSM pracuje * Příklady: 1 crypto software, 2 smart cards. * FIPS 140-3 * vsech 11 oblasti redefinováno + nová úroveň (5) bezpečnosti, zesílení požadavků * Příklad HSM: ISIC, TPM chip, Inkarta CD ... ==== Čipové karty ==== * pasivní (chipcards) nebo aktivní (smartcards) * omezené prostředky - vše na jednom čipu, vyžadována malá spotřeba energie, málo RAM * operační systém v ROM, aplikace v EEPROM * podle komunikačního rozhraní se dělí na: * kontaktní * bezkontaktní * kombinované - jeden čip s oběma rozhraními * hybridní - více čipů s různými rozhraními === Smartcards === * standardizovány ve standardech ISO-7816 * komunikace zařízení s kartou pomocí APDU (Application Protocol Data Unit) * APDU * CLA - třída instrukce * INS - číslo instrukce * P1, P2 - data * Lc - délka vstupních dat (může být vynechána, pokud nejsou předávána vstupní data) * Data - vstupní data (nemusí být předávána) * Le - očekávaná délka výstupních dat (nemusí být uvedena, pokud nejsou očekávána data) * použití přes PC/SC - poskytuje jednotné nízkoúrovňové API pro práci s čipovými kartami (na Linuxu PC/SC-Lite), např. funkce (trochu moc konkrétní...): * SCardEstablishContext * SCardListReaders * SCardConnect * SCardReconnect * SCardDisconnect * SCardReleaseContext * SCardTransmit === Pasy s čipem === * https://is.muni.cz/auth/el/1433/podzim2012/PV181/um/sc04/ePassports_v6_EN.pdf * čip se vyrábí v Německu, karta s čipem ve Švýcarsku :) * Jedná se o čipovou kartu podle standardu ISO 14443, komunikuje pomocí zátěžové modulace, umožňuje komunikaci s více pasy v jednom poli * Obsahuje 16 datových skupin, aktuálně jen tři bývají obsazené: * DG1 - textové řádky fyzicky napsané na kartě * DG2 - barevná fotka (jpeg/jpeg2000) * DG3 - otisky prstů, ve formátu WSQ, původně používaným FBI * otisky jsou chráněny rozšířeným řízením přístupu - čtečka musí být autorizovaná vydávající zemí a obsahovat klíč pro rozšifrování otisku ====== Materiály ====== * [[https://is.muni.cz/auth/el/1433/jaro2011/PA018/um/PA018_2011_L8_Secure_Hardware_slides.pdf|8. lekce PA018 o Secure Harware]] * Kapitoly Labaku * [[https://is.muni.cz/auth/el/1433/podzim2012/PV181/um/sc1/|SmartCards1]] * [[https://is.muni.cz/auth/el/1433/podzim2012/PV181/um/sc2/|SmartCards2]] * [[https://is.muni.cz/auth/el/1433/podzim2012/PV181/um/36842972/|HSM]] * [[https://is.muni.cz/auth/el/1433/podzim2012/PV181/um/sc03/|SmartCards3]] * [[https://is.muni.cz/auth/el/1433/podzim2012/PV181/um/sc04/|SmartCards4]] ~~DISCUSSION~~