Hardwarové bezpečnostní moduly API a útoky

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

Hardwarové bezpečnostní moduly API a útoky

Útoky na a přes API: PIN Recovery Attacks

Odolnost kryptografického HW s ohledem na nasazení

Úložiště certifikátů pro vzdálené podepisování

I.CA RemoteSeal. Ing. Filip Michl První certifikační autorita, a.s

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

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

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

Nadpis. Nadpis 2. Božetěchova 2, Brno

Bezpečnost internetového bankovnictví, bankomaty

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

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

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

Autentizace uživatelů

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

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

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

Technická bezpečnostní opatření nejen ve smyslu ZKB. Jan Zdvořáček ASKON International s.r.o.

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

Směry rozvoje v oblasti ochrany informací PS 7

Správa přístupu PS3-2

Testovací protokol. 1 Informace o testování. 2 Testovací prostředí. 3 Vlastnosti generátoru klíčů. Příloha č. 13

Bezpečnostní aspekty informačních a komunikačních systémů KS2

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

UKRY - Symetrické blokové šifry

AUTENTIZAČNÍ SERVER CASE BEZPEČNÁ A OVĚŘENÁ IDENTITA

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

Andrew Kozlík KA MFF UK

Bezpečnostní normy a standardy KS - 6

Bezpečnostní mechanismy

Data Encryption Standard (DES)

Pokročilá kryptologie

Úvod - Podniková informační bezpečnost PS1-2

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

Informatika / bezpečnost

Protokol pro zabezpečení elektronických transakcí - SET

KLASICKÝ MAN-IN-THE-MIDDLE

PV157 Autentizace a řízení přístupu

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

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

SecureStore I.CA. Uživatelská příručka. Verze 2.16 a vyšší

ISSS Mgr. Pavel Hejl, CSc. T- SOFT spol. s r.o.

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

Autentizace v příkladech

ElGamal, Diffie-Hellman

[1] samoopravné kódy: terminologie, princip

Příklady využití HW tokenů

I.CA SecureStore Uživatelská příručka

J.Breier, M.Vančo, J.Ďaďo, M.Klement, J.Michelfeit, Masarykova univerzita Fakulta informatiky

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

0x5DLaBAKx5FC517D0FEA3

Datové struktury 2: Rozptylovací tabulky

Konstrukce šifer. Andrew Kozlík KA MFF UK

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

Bezpečná autentizace nezaměnitelný základ ochrany

BEZPEČNOST INFORMACÍ

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

Elektronický podpis. Základní princip. Digitální podpis. Podpis vs. šifrování. Hashování. Jednosměrné funkce. Odesílatel. Příjemce

Identifikace a autentizace

Návrh vyhlášky k zákonu o kybernetické bezpečnosti. Přemysl Pazderka NCKB

asymetrická kryptografie

I.CA SecureStore Uživatelská příručka

9. DSA, PKI a infrastruktura. doc. Ing. Róbert Lórencz, CSc.

Testovací protokol čipová karta Oberthur Id-One Cosmo V5.4

Banking - Personal Identification Number management and security Part 1: PIN protection principles and techniques

Asymetrická kryptografie

Mifare Mifare Mifare Mifare Mifare. Standard 1K/4K. Velikost paměti EEPROM 512bit 1/4 KByte 4KByte 4/8/16 KByte 4-72 KByte

Projekt: 1.5, Registrační číslo: CZ.1.07/1.5.00/ Digitální podpisy

ČÍSELNÉ SOUSTAVY. Číselnou soustavu, která pro reprezentaci čísel využívá pouze dvou číslic, nazýváme soustavou dvojkovou nebo binární.

Bezpečnost SingleCase

ELEKTRONICKÝ PODPIS V PODNIKOVÝCH APLIKACÍCH. Tomáš Vaněk ICT Security Consultant

BEZPEČNOSTNÍ PROSTŘEDKY PRO ELEKTRONICKÝ PODPIS Miloslav Špunda

Certifikační autorita EET Modelové postupy vytvoření souboru žádosti o certifikát

Aritmetika s velkými čísly na čipové kartě

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

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

SSL Secure Sockets Layer

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

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

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

Systém zabezpečení dat

OKsmart a správa karet v systému OKbase

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

Elektronické pasy v praxi. Zdeněk Říha

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

Úvod...1 Instalace...1 Popis funkcí...2 Hlavní obrazovka...2 Menu...3 Práce s aplikací - příklad...5

SODATSW Case Study 2009 Nasazení řešení Datový trezor ve společnosti Synthesia, a.s.

Zabezpečení citlivých dat informačních systémů státní správy. Ing. Michal Vackář Mgr. Boleslav Bobčík

Postup pro vytvoření žádosti o digitální certifikát pro ověřovací a produkční prostředí Základních registrů

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

O čem byl CHES a FDTC? Jan Krhovják Fakulta informatiky Masarykova univerzita v Brně

Kryptoanalýza šifry PRESENT pomocí rekonfigurovatelného hardware COPACOBANA

Certifikační autorita EET. Veřejný souhrn certifikační politiky

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

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

Bezpečnost platebních systémů založených na čipových kartách. Martin Henzl Vysoké učení technické v Brně

Komerční výrobky pro kvantovou kryptografii

Wichterlovo gymnázium, Ostrava-Poruba, příspěvková organizace. Maturitní otázky z předmětu INFORMATIKA A VÝPOČETNÍ TECHNIKA

Transkript:

Hardwarové bezpečnostní moduly API a útoky Masarykova univerzita v Brně Fakulta informatiky Jan Krhovják Daniel Cvrček Vašek Matyáš

Shrnutí Úvod Základní terminologie Architektura HSM (Hardware Security Module) Bezpečnostní požadavky na kryptografické moduly FIPS 140-1 a FIPS 140-2 Útoky na a přes API Úvod do problematiky API pro HSM Klíče a jejich integrita Nedostatečná kontrola parametrů funkcí Nevynucení politiky PKCS #11 Závěr 2

Úvod Základní terminologie Hardwarová bezpečnostní zařízení Hostitelská zařízení Útok Architektura HSM Vychází z klasické von Neumannovy architektury + Mechanizmy fyzické ochrany + Generátory náhodných čísel + Speciální koprocesory +NVRAM - V/V obvody IBM 4758 (viz obrázek) 3

Bezpečnostní požadavky na HSM: FIPS 140-1 a FIPS 140-2 Norma definuje 4 úrovně zabezpečení Úroveň 1 není vyžadována fyzická ochrana Příkladem jsou osobní počítače Úroveň 2 vyžaduje zajištění evidence průniků Autentizace založená na rolích OS uvnitř HSM musí splňovat alespoň EAL2 podle CC Příkladem jsou čipové karty Úroveň 3 již ne pouze pasivní fyzická ochrana V případě detekce průniku musí být citlivá data vymazána Autentizace založená na identitách OS uvnitř HSM musí splňovat alespoň EAL3 podle CC Příkladem zařízení je Luna CA Úroveň 4 dodržování vnějších provozních podmínek modulu OS uvnitř HSM musí splňovat alespoň EAL4 podle CC Příkladem zařízení je IBM 4758 4

Oblasti bezpečnostních požadavků Celkem 11 oblastí například: Dokumentace kryptografického modulu Porty a rozhraní Role, služby a autentizace Fyzická bezpečnost Operační prostředí Správa klíčů Zmírnění jiných útoků V čem se liší FIPS 140-2 od FIPS 140-1 Jinak strukturována + upřesněna a sjednocena terminologie Přidána nová část týkající se zmírnění jiných útoků Zesílení požadavků na autentizační mechanizmy a na testování modulu atd. 5

Útoky na a přes API API (Application Programming Interface) Jediné komunikační rozhraní mezi HSM a vnější aplikací Na základě funkcí API jsou budovány protokoly API HSM obsahuje stovky funkcí s mnoha parametry, což poskytuje velmi velký prostor k chybám a vzniku útoků Příklady běžně používaných API Common Cryptographic Architecture (CCA) Public Key Cryptographic Standard (PKCS) #11 Útoky rozdělené podle typu chyb, kterých využívají Klíče a jejich integrita Nedostatečná kontrola parametrů funkcí Nevynucení politiky PKCS #11 6

Klíče a jejich integrita Meet in the Middle Attack I Zneužívá Malá velikost šifrovacích klíčů algoritmu DES Špatný návrh rozlišování typů klíčů Neexistenci omezení na generování klíčů Myšlenka útoku Mnoho HSM dokáže generovat desetitisíce klíčů během minut Útočník pak vygeneruje např. 2 16 klíčů a jimi zašifruje stejný testovací vzorek, který si uloží Poté systematicky prohledává klíčový prostor a stejný testovací vzorek každým klíčem zašifruje a porovná se všemi uloženými vzorky Dojde-li ke shodě, tak nalezl hodnotu jednoho tajného klíče Výpočetní složitost nalezení jednoho klíče tak klesne z 2 55 na 2 39 7

Klíče a jejich integrita Meet in the Middle Attack II Je-li nalezený klíč určen k šifrování dalších klíčů tzv. terminální klíč, lze jeho pomocí přešifrovat veškerá jinými terminálními klíči chráněná data a klíče Tímto způsobem lze kompromitovat osm z devíti typů klíčů, které používá Visa Security Module Variantu útoku lze aplikovat i na kryptografický modul Prism TSM 200 Při vynaložení stejného úsilí jako v předchozím případě získat dokonce hlavní klíč celého zařízení! 8

Klíče a jejich integrita Conjuring Keys From Nowhere Jedná se o neautorizované generování klíčů ukládaných mimo HSM Útočník nejprve náhodně vytvoří hodnotu zašifrovaného klíče a podstrčí jej HSM Při dešifrování je hodnota klíče také náhodná a v případě DES má s pravděpodobností 1/2 8 správnou paritu V případě dvou-klíčového 3DES-2 má správnou paritu s pravděpodobností 1/2 16, což je stále dosažitelné Takto vložené klíče mohou posloužit k vytvoření dalších a složitějších útoků Obrana spočívá v pečlivějším návrhu formátu klíčů, který bude obsahovat větší množství entropie 9

Klíče a jejich integrita 3DES Key Binding Attack I Zneužívá Nedostatečnou vazbu jednotlivých částí 3DES-2 klíčů Myšlenka útoku Útočník nejprve vygeneruje velké množství klíčů se stejnými polovinami a stejného typu jako požadovaný klíč Pomocí Meet in the Middle útoku nalezne hodnoty dvou z těchto klíčů (prohledávání 2 41 možností) Výměnou jejich polovin vytvoří dva 3DES-2 klíče s odlišnými polovinami Je-li požadovaným (tj. i nalezeným) klíčem exportní klíč, může nyní s jeho pomocí exportovat a poté i dešifrovat všechny klíče v HSM určené k exportu 10

Klíče a jejich integrita 3DES Key Binding Attack II Získat však lze i klíč, který nemá povolen export Útočník nejprve zamění jednu jeho polovinu s polovinou známého klíče Tím vzniknou dva klíče, jejichž jedna polovina je známá a druhou polovinu získáme prohledáváním prostoru 2 56 (hledáme oba klíče současně) To je již ale práce pro speciální hardware či distribuované systémy 11

Nedostatečná kontrola parametrů funkcí Decimalisation Table Attacks I Techniky generování a verifikace PINů Metody IBM 3624 a IBM 3624 Offset Generování je založeno na validačních datech (např. PAN) Ta jsou dále zašifrována PIN generujícím klíčem a poté je požadovaný počet číslic převeden do desítkové soustavy (decimalizován) a zvolen jako PIN Generování u IBM 3624 Offset probíhá stejným způsobem, ale výsledek se nazývá IPIN (Intermediate PIN) a offset je získán odečtením IPINu od zvoleného PINu (po cifrách modulo 10) Verifikace probíhá podobně a vypočítaný PIN se nakonec porovná s PINem získaným z příslušného zašifrovaného PINbloku (EPB), což je 8bajtová struktura, do níž je PIN před zašifrováním formátován 12

Nedostatečná kontrola parametrů funkcí Decimalisation Table Attacks II Příklad verifikace PINu metodou IBM 3624 Offset PIN odeslaný bankomatem v EPB je 7816 (zná jen vlastník) Veřejně přístupný offset (typicky uložen na kartě) je 4344 Číslo účtu zákazníka (PAN) je 4556 2385 7753 2239 Co se děje uvnitř verifikační funkce? PAN je zašifrován na např. 3F7C 2201 00CA 8AB3 Zkrácení na požadovaný počet číslic (typicky 4) tj. na 3F7C Převedení do desítkové soustavy použitím decimalizační tabulky 0123 4567 8901 2345 tj. z 3F7C na 3572 Přičtení offsetu 4344 tj. vygenerovaný PIN je nyní 7816 Porovnání tohoto PINu s PINem extrahovaným z EPB OK 13

Nedostatečná kontrola parametrů funkcí Decimalisation Table Attacks III Útoky využívající známých zašifrovaných PINů Předpokládejme použití čtyřmístných PINů a offsetu 0000 Nastavíme-li decimalizační tabulku (DT) na samé nuly, vždy se vygeneruje PIN roven čtyřem nulám Tímto trikem lze získat EPB obsahující PIN 0000 Nechť D orig = 0123 4567 8901 2345 je korektní DT D i jsou nové binární DT, které mají jedničku na těch pozicích, kde D orig měla i tj. např. D 5 = 0000 0100 0000 0001 Nyní již útočník pouze pro i 0 až 9 volá verifikační funkci s EPB nulového PINu a s DT D i Není-li v hledaném PINu číslice i obsažena, změna v DT se neprojeví a verifikace proběhne úspěšně 14

Nedostatečná kontrola parametrů funkcí Decimalisation Table Attacks IV Tím útočník zjistí číslice obsažené v zákazníkově PINu a prohledávaný prostor PINů tak omezí z 10 000 na nejvýše 36 Útok bez známého zašifrovaného PINu Předpokládejme, že se nám podařilo zachytit zákazníkův EPB obsahující správný PIN, a že offset je stále 0000 D i jsou nové DT, které mají hodnotu i-1 na těch pozicích, kde D orig měla i tj. např. D 5 = 0123 4467 8901 2344 Nyní stačí, aby útočník pro každou číslici i zavolal verifikační funkci se zachyceným EPB, správným offsetem (tj. 0000) a DT D i Tím opět zjistí číslice obsažené v zákazníkově PINu Jejich pořadí pak dokáže určit manipulací s offsety 15

Nedostatečná kontrola parametrů funkcí Decimalisation Table Attacks V Příklad na PINu, který má všechny 4 číslice odlišné Řekněme, že PIN v EPB je 3621 Pokusme se určit pozici číslice 1 Použitím D 1 lze hodnota generovaného PINu změnit na 3620 Verifikace však nyní neproběhne úspěšně Postupným voláním s offsety 1000, 0100, 0010, 0001 lze však naopak jednotlivé číslice generovaného PINu zvyšovat V případě offsetu 0001 se jeho hodnota vrátí zpět na 3621 Nyní verifikace proběhne úspěšně a útočník podle použitého offsetu ví, že číslice 1 je v PINu až na čtvrté pozici K určení pozic všech číslic čtyřmístného PINu stačí nejvýše 6 volání verifikační funkce 16

Nevynucení politiky u PKCS #11 Doposud jsme se zabývali útoky na API navržené přímo pro konkrétní HSM Nyní se zaměříme na PKCS #11 API Navrženo pouze jako standardní rozhraní mezi aplikacemi a jednouživatelskými bezpečnostními zařízeními Hlavní problém tohoto API Jedná se pouze o sadu funkcí bez jakékoliv politiky Ta by například zajistila konzistentnost vlastností klíčů 17

Nevynucení politiky u PKCS #11 Symmetric Key Attacks I 3DES Key Binding Attack 3DES-2 klíč K a jeho jednotlivé poloviny K 1 a K 2 Při exportu E KEK (K)=(E KEK (K 1 ), E KEK (K 2 )) Key Separation Attack Konfliktní nastavení vlastností klíčů Například klíč určený k šifrování klíčů a dešifrování dat Weaker Key/Algorithm Attack Šifrování klíčů pomocí slabých algoritmů jako RC2 či DES Related Key Attack 3DES-3 klíč K 1 =(K A, K B, K C ) a klíč K 2 =(K A DELTA, K B, K C ) P' = D (E (D (E (D (E (P)))))) D (E (P)) K A DELTA K K K K K = B C C B A K A DELTA 18 K A

Nevynucení politiky u PKCS #11 Symmetric Key Attacks II Reduced Key Space Attack Jedna z funkcí PKCS #11 (C_DeriveKey) umožňuje vytvořit klíč z části po sobě jdoucích bitů již existujícího klíče Toho lze využít ke zmenšení prohledávaného prostoru klíčů Útočník například nejprve použitím čtyřiceti po sobě jdoucích bitů z 56bitového DES klíče vytvoří 40bitový RC2 klíč Ten pak hrubou silou dešifruje a s jeho pomocí najde i zbylých 16 bitů původního DES klíče 19

Nevynucení politiky u PKCS #11 Public Key API Attacks Výčet útoků, které se opírají o podporu API pro kryptografické operace s veřejným klíčem Small Public Exponent with No Padding Attack Trojan Public Key Attack Trojan Wrapped Key Attack Private Key Modification Attack Množství relativně snadných útoků na PKCS #11 PKCS #11 API není skutečně vhodné pro použití ve vysoce fyzicky zabezpečených HSM 20

Závěr Bezpečnost současné generace API není dostačující Důkazem toho je právě množství nově objevených útoků Tyto útoky samy o sobě neznamenají, že by HSM byly k ničemu Krátkodobě se však musí posílit administrativní kontrola přístupu k modulům Dlouhodobě se musí odstranit přímo chyby způsobující zranitelnost modulů Mnoho dalších útoků je zpracováno v dokumentu, který vychází z diplomové práce prvního z autorů a je dostupný na: http://www.fi.muni.cz/~xkrhovj/apinf/sdipr/dp_upravena_v1.pdf. 21