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

Podobné dokumenty
Hardwarové bezpečnostní moduly API a útoky

Hardwarové bezpečnostní moduly API a útoky

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

Odolnost kryptografického HW s ohledem na nasazení

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

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

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

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

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

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

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

Bezpečnost internetového bankovnictví, bankomaty

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

Informatika / bezpečnost

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

Autentizace uživatelů

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

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

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

0x5DLaBAKx5FC517D0FEA3

Směry rozvoje v oblasti ochrany informací PS 7

KLASICKÝ MAN-IN-THE-MIDDLE

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

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

Bezpečnostní normy a standardy KS - 6

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

Datové struktury 2: Rozptylovací tabulky

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

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

Identifikace a autentizace

Více úrovňové informační systémy a jejich certifikace podle zákona č.412/2005 Sb., ve znění pozdějších předpisů

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

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

Bezpečnostní mechanismy

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

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

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

Data Encryption Standard (DES)

Protiopatření eliminující proudovou analýzu

UKRY - Symetrické blokové šifry

ElGamal, Diffie-Hellman

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

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

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

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

PV157 Autentizace a řízení přístupu

Andrew Kozlík KA MFF UK

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

Architektury počítačů a procesorů

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

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

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

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

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

OKsmart a správa karet v systému OKbase

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

asymetrická kryptografie

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

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

Komerční výrobky pro kvantovou kryptografii

SSL Secure Sockets Layer

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

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

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

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

Hashovací funkce. Andrew Kozlík KA MFF UK

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

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

Bezpečnost webových stránek

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

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

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

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

Bezepečnost IS v organizaci

Asymetrická kryptografie a elektronický podpis. Ing. Dominik Breitenbacher Mgr. Radim Janča

Kvantová informatika pro komunikace v budoucnosti

Pohled do nitra mikroprocesoru Josef Horálek

Návrh zákona o kybernetické bezpečnosti. Přemysl Pazderka Národní centrum kybernetické bezpečnosti Národní bezpečnostní úřad p.pazderka@nbu.

Certifikáty a jejich použití

Bezpečnost. Autentizace. Správa identity

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

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

Postranními kanály k tajemství čipových karet

Kryptografie - Síla šifer

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

Jako příklady typicky ch hrozeb pro IT lze uvést: Útok

Obsah. Část I Základy bezpečnosti...9 Kapitola 1 Základy obvodového zabezpečení Kapitola 2 Filtrování paketů...27

Služba vzdáleného pečetění I.CA RemoteSeal. Ing. Roman Kučera První certifikační autorita, a.s


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

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

Asymetrická kryptografie

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

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

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

OPS Paralelní systémy, seznam pojmů, klasifikace

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

Microsoft Windows Server System

Transkript:

HSM a problémy s bezpečností API Masarykova univerzita v Brně Fakulta informatiky Jan Krhovják Daniel Cvrček Vašek Matyáš

Shrnutí Úvod Motivace Základní terminologie Architektura Bezpečnostní požadavky na kryptografické moduly 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 2

Úvod Motivace Proč/kde se HSM (Hardware Security Module) používají Výhody a nevýhody tohoto přístupu Základní terminologie Hardwarová bezpečnostní zařízení (HSM) Koprocesory Akcelerátory Kryptografické čipové karty Hostitelská zařízení Útoky na HSM Fyzické Postraními kanály Na a přes API Hlavní klíč, ukládání klíčů 3

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 Snadná verifikace Bezpečnost Fyzická Logická Prostředí Operační IBM 4758 CPU Komunikační rozhraní Vnější svět Kryptografické procesory Hranice logické bezpečnosti Senzory detekce průniku Paměť Generátor náhodných čísel Paměť pro citlivé informace Hranice fyzického zabezpečení Bezpečnost prostředí 4

Fyzická bezpečnost Evidence průniků (tamper evidence) Průnik => zanechání viditelných stop Chemické či mechanické prostředky Odolnost proti průnikům (tamper resistance) Pouze do jisté úrovně! Chemicky odolné látky, ocelové kryty Detekce průniků (tamper detection) Použitím speciálních el. obvodů (senzorové sítě ) Odpověď/reakce na průniky (tamper response) Důsledek detekce => zabraňuje získání citlivých informací Smazání/přepsání/zničení pamětí 5

Bezpečnostní požadavky na HSM: FIPS 140-2 (I) Vztahují se k bezpečnému návrhu a implementaci modulu Celkem 11 oblastí bezpečnostních požadavků 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ů Každý modul je vůči nim nezávisle testován Výsledná úroveň = minimální hodnota dosažená byť jen v jediném z testů 6

Bezpečnostní požadavky na HSM: FIPS 140-2 (II) 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 musí splňovat určité bezp. požadavky 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 Příkladem zařízení je Chrysalis-ITS Luna CA 3 Úroveň 4 dodržování vnějších provozních podmínek Příkladem zařízení je IBM 4758 či IBM PCIXCC 7

Logická bezpečnost Kontrola přístupu Předpokladem je existence důvěryhodného prostředí Kryptografické algoritmy V podstatě matematické funkce tajné jsou pouze klíče Zajištění důvěrnosti, integrity, autentizace Kryptografické protokoly V podstatě distribuované algoritmy Jejich jednotlivé kroky propojeny voláním funkcí API Zaměříme se na 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 => velmi velký prostor k chybám a vzniku útoků 8

Útoky na a přes API Příklady běžně používaných API Public Key Cryptographic Standard (PKCS) #11 Common Cryptographic Architecture (CCA) Příklad verifikační funkce Útoky rozdělené podle typu chyb, kterých využívají Klíče a jejich integrita Nedostatečná kontrola parametrů funkcí Nevynucení politiky PKCS #11 9

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

Klíče a jejich integrita Meet in the Middle Attack (II) Je-li nalezený klíč určen k šifrování dalších klíčů (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 Lze získat hlavní klíč celého zařízení! Žádná omezení na vkládání částí hlavního klíče Po vložení části klíče vždy vrácen zašifrovaný kontrolní vektor 11

Klíče a jejich integrita Conjuring Keys From Nowhere Neautorizované generování klíčů ukládaných mimo HSM Náhodně vytvořená hodnota zašifrovaného klíče se podstrčí HSM Při dešifrování je hodnota klíče také náhodná 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 (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íčů => např. před zašifrováním přidat kontrolní součet 12

Nedostatečná kontrola parametrů funkcí Decimalisation Table Attacks (I) Techniky generování a verifikace PINů Generování IBM 3624 Založeno na validačních datech (např. číslo účtu PAN) Validační data jsou zašifrována PIN generujícím klíčem Výsledek je zkrácen a decimalizován => PIN Generování IBM 3624 Offset Decimalizovaný výsledek se nazývá IPIN (Intermediate PIN) Zákazník si sám volí PIN Offset = PIN IPIN (po cifrách mod 10) Verifikace u obou metod probíhá stejně Výsledek se nakonec navíc porovná s PINem získaným z příslušného zašifrovaného EPB (zašifrovaný PIN zaslaný například bankomatem) PIN nemůže být parametrem verifikační funkce! 13

Nedostatečná kontrola parametrů funkcí Decimalisation Table Attacks (II) Příklad verifikace PINu metodou IBM 3624 Offset PIN v EPB je 7216 (odeslaný z bankomatu) Veřejně přístupný offset (typicky uložen na kartě) 4344 Decimalizační tabulka (DT) 0123456789ABCDEF 0123456789012789 Číslo účtu zákazníka (PAN) je 4556 2385 7753 2239 Verifikační proces PAN je zašifrován => 3F7C 2201 00CA 8AB3 Zkrácen na požadovaný počet číslic (typicky 4) => 3F7C Decimalizován použitím DT, IPIN => 3972 Přičten offset 4344, vygenerován PIN => 7216 Porovnání tohoto správného PINu s PINem extrahovaným z EPB 14

Nedostatečná kontrola parametrů funkcí Decimalisation Table Attacks (III) Příklad triviální manipulace s DT 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 Útok využívající známého zašifrovaného PINu 0000 Další manipulací s DT dokáže útočník zjistit číslice zákazníkova PINu (ale ne jejich pořadí) Prohledávaný prostor PINů tak omezit z 10 000 na nejvýše 36 Útok bez známého zašifrovaného PINu Opět manipulací s DT zjistí číslice zákazníkova PINu Jejich pořadí pak dokáže určit manipulací s offsety K určení pozic všech číslic čtyřmístného PINu stačí 6 volání verifikační funkce 15

Nevynucení politiky u PKCS #11 Doposud jsme mluvili pouze o útocích na API navržené přímo pro konkrétní HSM Například IBM CCA API 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íčů 16

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íčů slabými algoritmy jako RC2 či DES Degradována bezpečnost silných algoritmů 17

Symmetric Key Attacks (II) Reduced Key Space Attack Jedna z funkcí PKCS #11 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 hrubou silou dešifruje => s jeho pomocí najde zbylých 16 bitů původního DES klíče Existují také útoky, které se opírají o podporu API pro kryptografické operace s veřejným klíčem Množství relativně snadných útoků na PKCS #11 API Zcela nevhodné jako hlavní API pro víceuživatelské HSM 18

Závěr Bezpečnost současné generace bankovních API je s ohledem na vnitřní útočníky skutečně špatná Parametry funkcí mohou být libovolně měněny jejich kontrola je nedostačující Mnoho implementovaných standardů zaručuje kompatibilitu, ale také způsobuje kritické chyby Důkazem je právě množství nově objevených útoků Tyto útoky neznamenají, že by HSM byly k ničemu Krátkodobě je však nutno posílit administrativní kontrolu přístupu k modulům Dlouhodobě se musí odstranit přímo chyby způsobující zranitelnost modulů 19