Advanced Encryption Standard (AES) a jeho bezpečná implementace pro kryptografickou čipovou kartu s podporou JavaCard

Rozměr: px
Začít zobrazení ze stránky:

Download "Advanced Encryption Standard (AES) a jeho bezpečná implementace pro kryptografickou čipovou kartu s podporou JavaCard"

Transkript

1 MASARYKOVA UNIVERZITA FAKULTA INFORMATIKY Advanced Encryption Standard (AES) a jeho bezpečná implementace pro kryptografickou čipovou kartu s podporou JavaCard DIPLOMOVÁ PRÁCE Jakub Kluz Brno, jaro 2007

2 Prohlášení Prohlašuji, l e tato diplomová práce práce je mým původním autorským dílem, které jsem vypracoval samostatně. Všechny zdroje, prameny a literaturu, které jsem při vypracování poul íval nebo z nich čerpal, v práci řádně cituji s uvedením úplného odkazu na příslušný zdroj. Vedoucí práce: Jan Krhovják ii

3 Poděkování Rád bych poděkoval vdoucímu mé diplomové práce, panu Mgr. et Mgr. Janu Krhovjákovi, a ostatním za cenné rady a připomínky. iii

4 Shrnutí Cílem této diplomové práce je podrobná studie a implementace AES pro kryptografickou čipovou kartu s podporou JavaCard. První část práce bude zaměřena na návrh a princip fungování AES a na jeho optimalizace (efektivní implementace, obrana proti časové analýze, výkonvé analýze apod.). Druhá část se pak bude věnovat vlastní implementaci AES pro kryptografickou čipovou kartu s podporou JavaCard, případně navíc také testování rychlosti vytvořené implementace. iv

5 Klíčová slova Advanced Encryption Standart, AES, čipové karty, útoky postranními kanály, časová analýza, DFA, SPA, DPA, SEMA, DEMA, JavaCard, Java v

6 Obsah 1 Úvod Cíl práce Struktura práce Čipové karty Historie Magnetické karty Čipové karty Porovnání magnetické karty a čipové karty Klasifikace čipových karet Klasifikace podle komponent Klasifikace podle rozhraní Klasifikace podle operačního systému Java Card Specifikace Java Card Komponenty Java Card aplikace Back-End aplikace a systém Hostující aplikace Card Acceptance Device Aplety a prostředí na kartě Komunikace s apletem Java Card Command APDU Response APDU Běhové prostředí Java Card Životní cyklus Java Card VM Životní cyklus apletu Java Card Sdílení objektů Správa paměti a objektů AES Úvod Matematický základ Pole GF(2 8 ) Sčítání

7 4.2.3 Násobení Násobení prvkem x Polynomy s koeficienty v GF(2 8 ) Specifikace Runda šifry Operace ByteSub Operace ShiftRow Operace MixColumn Operace AddRoundKey Expanze klíče Implementace na čipových kartách Útoky postranními kanály Úvod Útoky pomocí sond Chybové postranní kanály Typy chyb Diferenciální chybová analýza Techniky vynucení chyby Časové postranní kanály Model časové kryptoanalýzy Výkonové postranní kanály Jednoduchá výkonová analýza Different Power Analysis Elektromagnetické postranní kanály Protiopatření Ochrana před chybovými útoky Ochrana před časovými útoky Skrývání variací výpočtu Blinding Ochrana před výkonovou a elektromagnetickou analýzou Softwarová protiopatření Hardwareová protiopatření Závěr Implementace Nemaskovaná implementace AES Stav Implementace ByteSub ShiftRow a AddRoundKey Implementace MixColumn a invmixcolumn Expanze klíče Bezpečná implementace

8 7.2.1 Časová analýza Implementace pomocí log/alog tabulek Kartézský součin GF(2 4 ) GF(2 4 ) Náhodné provádění Testování rychlosti Závěr

9 Kapitola 1 Úvod Informační a komunikační technologie mají v naší společnosti stále důležitější postavení. Můžeme se s nimi setkat každý den ve všech lidských oborech. Zprostředkovávají nám velké množství informací a usnadňují nám každodenní život. Některé počítače řídí výrobu celých společností, jiné řídí dopravní prostředky, umožňují komunikaci uživatelů a přenos informací z různých částí světa. Díky informačním technologiím v bankovnictví můžeme využívat výhody virtuálních peněz či nakupovat zboží z pohodlí svého domova. Ve všech těchto oblastech je však v poslední době kladen stále větší důraz na bezpečnost, spolehlivost a ochranu osobních i jiných citlivých údajů. Jedním z prostředků, které pomáhají právě tyto požadavky naplnit, jsou nejrůznější čipové karty. Čipvé karty jsou malá přenosná zařízení, která usnadňují identifikaci uživatele, kterému jsou poté zpřístupněny nějaké služby. Lze je využít například k otevírání elektrozámku na dveřích po přiložení oprávněné čipové karty ke čtečce. Některé čipové karty mohou obsahovat i jednoduchou pamět, které se mohou využít například jako přednabité telefonní karty, karty na kopírování a podobně. Čipové karty však neposkytují vyšší bezpečnost samy o sobě, ale využívají k tomu navržené kryptografické algoritmy, které jsou implementovány v jejich čipu. Jedním z nejrozšířenějších šifrovacích algoritmů současné doby je Advanced Encryption Standard (AES). Tento algoritmus zatím standardní kryptoanalýza neprolomila, takže se jeví jako dostatečně bezpečný. Odborníci na kryptoanalýzu však objevili nové typy útoků, které nenapadají algoritmus jako takový, ale jeho konkrétní implementaci. Z různých implementačních vlastností, jakou jsou například délka výpočtu, spotřeba energie a dalších, je totiž možné vypozorovat z běhu algoritmu mnoho důležitých informací, které mohou vést až k odhalení tajného klíče. Aby bylo možné těmto útokům zamezit, je důležité šifrovací algoritmus správně naimplementovat. Právě touto bezpečnou implementací se zabývá tato diplomová práce. 4

10 1. ÚVOD 1.1 Cíl práce Cílem této diplomové práce je podrobná studie a implementace AES pro kryptografickou čipovou kartu s podporou JavaCard. První část práce bude zaměřena na návrh a princip fungování AES a na jeho optimalizace (efektivní implementace, obrana proti časové analýze, výkonové analýze apod.). Druhá část se pak bude věnovat vlastní implementaci AES pro kryptografickou čipovou kartu s podporou JavaCard. 1.2 Struktura práce Práce je rozdělena do sedmi kapitol. V druhé kapitole jsou popsány čipové karty, třetí kapitola se zabývá technologiemi JavaCard, čtvrtá kapitola pak stručně rekapituluje šifrovací algoritmus AES. Pátá kapitola pojednává o útocích postranními kanály. V šesté kapitole jsou uvedeny možné obrany před útoky postranními kanály a v sedmé kapitole je popsána implementace AES. 5

11 Kapitola 2 Čipové karty V této kapitole je obsažen úvod do problematiky čipových karet. 2.1 Historie Historie čipových karet sahá až do konce šedesátých let. V roce 1968 si německý vynálezce Jurgen Dethloff spolu s Helmet Grotruppem nechali vystavit patent na použití umělé hmoty jako nosiče integrovaného obvodu (čipu). V roce 1970 si podobný patent zaregistroval i japonský vynálezce Kunitake Arimura. Ve stejném roce jsou v Japonsku předvedené první čipové karty. V roce 1974 pak patentuje Roland Moreno své čipové karty ve Francii. Jak je vidět, počátky výzkumu čipových karet jsou spojeny především s Evropou a Japonskem. Proto není divu, že i velká část trhu s čipovými kartami je právě v Evropě, a to především ve Francii a v Německu. 2.2 Magnetické karty Za předchůdce čipových karet můžeme považovat magnetické karty. Tyto karty jsou vybavené magnetickým proužkem, který se skládá ze tří stop, na něž lze ukládat data. Každá stopa je rozdělena na domény, které jsou při zápisu zmagnetizovány. Pokud se v rámci jedné domény polarizace nemění, pak tato doména reprezentuje 0. Pokud se polarizace mění, pak doména reprezentuje 1. Hlavním problémem magnetických karet je, že pokud máme k dispozici patřičné vybavení, lze jednoduše číst i měnit informace zapsané na magnetickém proužku. Proto například u magnetických karet používaných pro bezhotovostní platby není PIN uložen přímo na kartě. Magnetický proužek tedy zdaleka neumožňuje tak vysoké zabezpečení uložených dat jako čip. 6

12 2. ČIPOVÉ KARTY Obrázek 2.1: Stopa magnetického proužku s doménami. Obrázek 2.2: Podoby čipové karty. 2.3 Čipové karty Technologie čipových karet je standard definovaný a kontrolovaný oganizacemi Joint Technical Comittee 1 (JTC1), International Standards Organization (ISO) a International Electronic Committee (IEC). Série standardů ISO/IEC 7816 představených v roce 1987 spolu s nejnovějšími doplňky z roku 2003 definuje čipové karty z různých hledisek včetně fyzických charakteristik, fyzických kontaktů, elektrických signálů, protokolů, instrukcí, bezpečnostních architektur, identifikace aplikací včetně běžných datových elementů. Čipová karta je karta vyrobená z plastu, ve kterém je zalisován integrovaný obvod. V dnešní době může mít čipová karta mnoho podob. Kromě klasického tvaru platební karty se používají v mobilních telefonech tzv. SIM karty. Tyto karty jsou jen nepatrně větší než samotné kontaktní rozhraní. Další možností, jak může být čip zapouzdřen, je token USB. Někteří výrobci nabízejí čipovou kartu dokonce v podobě prstenu. 7

13 2. ČIPOVÉ KARTY Samotný čip si můžeme představit jako plnohodnotný malý počítač, který stejně jako osobní počítač (desktop) umí zpracovávat a ukládat data. Jednodušší čipové karty jsou vybaveny pouze pamětí a poskytují tak v podstatě jen chráněné 1, energeticky nezávislé úložiště dat. Složitější karty jsou pak vybaveny jak pamětí, tak i procesorem. Tyto karty jsou schopné bezpečně číst, ukládát ale i následně pracovat s těmito daty. Například provádět různé matematické výpočty, šifrovat či ověřovat nějakou znalost. Některé čipové karty obsahují specializovaný kryptografický čip, který umožňuje rychlejší a bezpečnější používání složitých kryptografických algoritmů. Čipové karty neobsahují baterii ani žádný jiný zdroj energie, jsou tedy aktivní pouze, když jsou zapojeny ve čtečce karet. Ta jim dodává potřebnou elektrickou energii a je zároveň rozhraním mezi kartou a samotným zařízením, které s kartou komunikuje (PDA, mobilní telefon, osobní počítač). 2.4 Porovnání magnetické karty a čipové karty Výhody, které přinášejí čipové karty oproti kartám magnetickým: více spolehlivé než magnetické karty umožňují uložit mnohem více informací než magnetické karty je těžší čipovou kartu falšovat může být znovupoužitelná, ale i na jedno použití je kompatibilní s přenosnýmí zařizeními, jako jsou mobilní telefony nebo PDA čipové karty jsou neustále vyvíjeny 2.5 Klasifikace čipových karet Čipové karty můžeme dělit podle několika kriterií: podle komponent, ze kterých se karta skládá, podle způsobu komunikace se čtečkou nebo podle operačního systému, který je na kartě. Na obrázku 2.3 je znázorněna základní kategorizace čipových karet. 1 Ochrany může být docíleno extrémní miniaturizací pamět ových buněk. 8

14 2. ČIPOVÉ KARTY čipové karty klasifikační parametry součásti rozhraní operační systém čipové karty pamět ové karty bezkontaktní kontaktní hybridní kombinované Obrázek 2.3: Třídění čipových karet. Java Multos Klasifikace podle komponent Pokud se na čipové karty díváme z hlediska komponent, ze kterých se skládají, tak je můžeme rozdělit do dvou skupin. Kartám vybaveným porcesorem se říká čipové karty, zatímco karty bez čipu jsou většinou označovány pouze jako pamět ové karty. Častěji používané karty jsou zatím v dnešní době pamět ové karty, a to především kvůli jejich nižší ceně. Pamět ové karty obsahují dva typy pamětí: ROM read-only memory. Do této paměti jsou data uložena výrobcem a později se již nedají změnit. Jsou v ní tedy uložena data, která se v průběhu života karty nemění. Může obsahovat například číslo karty, jméno držitele karty, atd. EEPROM electrically erasable programmable read-only memory. Obsah této paměti lze měnit i dodatečně. Ukládají se do ní tedy aplikační data, která se mění s časem. U telefonních karet může EEPROM obsahovat například zbývající čas hovoru. Přístup do této paměti bývá často chráněn PINem. Bezpečnostní logika kontroluje přístupy k paměti karty a dovoluje čtení a zápis dat. Pamět je přístupná pouze po zadání bezpečnostního čísla. Toto číslo může poskytnout jak držitel karty, tak čtečka karet. Na obrázku 2.4 je zjednodušené schéma pamět ové karty. Jednoduchost technologie těchto karet umožňuje vyrábět je za velmi nízkou cenu (kolem 1 amerického dolaru, při výrobě většího množství). Pamět ové karty umožňují uchovávat řádově stovky bajtů až stovky kb informací. Tento typ karet našel uplatnění hlavně v předplacených službách. 9

15 2. ČIPOVÉ KARTY ROM (permanentní data) I/O rozhraní Bezpečnostní logika EEPROM (aplikační data) Obrázek 2.4: Schéma pamět ové karty. Další možné oblasti, ve kterých se pamět ové karty uplatňují, jsou prodejní automaty, jízdné v městské hromadné dopravě, parkovací karty, věrnostní programy atd. Karty s procesorem mají v sobě kromě pamětí zabudovaný i mikroprocesor. Důležité části těchto karet jsou: ROM v této paměti je uložený operační systém karty. Ten se nahraje obvykle při produkci karty a je neměnný. EEPROM v paměti EEPROM jsou uloženy aplikace a aplikační data. Tato data nejsou permanentní a lze je vymazávat a přepisovat. Velikost paměti EEPROM se pohybuje od 2 kb až po 32 kb. RAM random access memory. Tuto pamět používá procesor pro samotný běh funkcí. Pamět RAM je energeticky závislá, takže se vymaže pokaždé, když je odpojena od čtecího zařízení. Typickou velikostí paměti RAM je 256 bajtů. Je to z toho důvodu, že tato pamět zabírá na čipu nejvíce místa a prostor čipu karty je omezen na25 mm 2. CPU central processing unit. Jedná se o vlastní mozek karty. Obvykle je to 8-bitový mikroprocesor založeny na architektuře CISC s rychlostí kolem 5 MHz. Procesor je zodpovědný za vykonávání jednotlivých instrukcí. Karty vybavené čipem jsou výrazně dražší než pamět ové karty. Jejich cena se pohybuje od 2 do 20 amerických dolarů v závislosti na jednotlivých 10

16 2. ČIPOVÉ KARTY ROM EEPROM RAM Bezpečnostní logika sběrnice CPU I/O rozhraní Obrázek 2.5: Architektura čipové karty. vlastnostech karty. Tyto karty mohou hostit rozmanité aplikace a poskytovat robustní zabezpečení. Používají se pro kontrolu přístupu, elektronický obchod, kreditní a platební karty a jiné aplikace, které vyžadují vysokou míru bezpečnosti. Zjednodušené schéma čipové karty je na obrázku Klasifikace podle rozhraní Čipové karty mohou být klasifikovány také na základě způsobu komunikace a přenášení dat mezi čipem a čtecím zařízením (čtečkou karet). Podle tohoto kritéria lze čipové karty rozdělit na: kontaktní, bezkontaktní a kombinované. Kontaktní karta komunikuje s čtečkou přes kontakty umístěné na kartě. Bezkontaktní karta má v sobě integrovanou anténu, která ji dovoluje komunikovat se čtečkou pomocí rádiových vln. Kombinované karty, často také označované jako hybridní (či kombinované), umí komunikovat oběma způsoby. Kontaktní karty Kontaktní karta pro svoji činnost potřebuje být vložena do čtečky. Každá taková karta má šest až osm zlatem pokrytých kontaktů, které jsou ve fyzickém kontaktu s čtečkou. Pomocí těchto kontaktů je karta také napájená elektrickou energií. Podle standardu ISO 7816 jsou kontakty očíslovány podle obrázku 2.6 a jejich označení a funkce je popsána v tabulce 2.1. Kontaktní karty mají určitá omezení. S postupem času se kontakty opotřebovávají a zhoršují tak funkčnost celé karty. Elektrostatické výboje způsobené nevhodným kontaktem mohou způsobit poškození karty. Uživatelé karet někdy vytáhnou kartu dříve, než proběhne transakce. Necitlivé zacházení a ohýbání v průběhu vkládání čipové karty do čtečky také může 11

17 2. ČIPOVÉ KARTY C1 C2 C3 C4 C5 C6 C7 C8 Obrázek 2.6: Fyzické kontakty podle standartu ISO [1]. č.kontaktu označení funkce C1 Vcc dodává elektrickou energii C2 RST reset C3 CLK hodiny C4 RFU rezervováno pro příští použití C5 GND ground C6 Vpp dodává elektrickou energii C7 I/O vstup/výstup C8 RFU rezervováno pro příští použití Tabulka 2.1: Označení kontaktu a jejich funkce. vést k poškození. Bezkontaktní karty Bezkontaktní karty nemusí uživatel vkládat přímo do čtečky. Kartu stačí přiložit blízko k anténě. Vzdálenost, na jakou je nutné kartu přiblížit se pohybuje řádově od několika centimetrů až po 50 cm. Jelikož tyto karty postrádájí kontakty, netrpí nedostatky, které byly popsány u karet kontaktních. Tyto karty jsou používány tam, kde se klade důraz na rychlost transakce, například v hromadné doprava, vybírání mýtného, atd. Bezkontaktní karty jsou sice dražší, zato mají delší životnost a jsou více spolehlivé. Na druhou stranu mají tyto karty i své nevýhody. Tou největší je, že poskytují menší bezpečnost než karty kontaktní. To je způsobeno tím, že útočník může odposlouchávat komunikaci mezi čtečkou a kartou. Kombinované karty Kombinované karty umí komunikovat s oběma typy čteček. Jedna z možných realizací je, že kontaktní karta je vsunuta do malého zařízení vybaveného baterií a anténou, která umí komunikovat s bezkontaktní čtečkou. 12

18 2. ČIPOVÉ KARTY Obrázek 2.7: Konstrukce bezkontaktní karty. Běžná kombinovaná karta je vybavena jedním čipem a dvěma rozhraními. Existují ještě hybridní karty, které obsahují dva čipy. Každý čip používá pro komunikaci jiné rozhraní. Čip s bezkontaktním rozhraním je používán aplikacemi, které vyžadují velkou rychlost transakce. Čip s kontaktním rozhraním je používán v aplikacích vyžadujících vysokou bezpečnost Klasifikace podle operačního systému Čipové karty lze dále třídit na základě operačího systému. V dnešní době je dostupných mnoho operačních systémů pro čipové karty. Nejpoužívanější z nich jsou: MultOS JavaCard Cyberflex StarCOS MFC Operační systém pro čipové karty je uložen v paměti ROM a zabírá přibližně 16 kb. Stará se o manipulaci se soubory, správu paměti a protokol pro komunikaci s čtečkou. 13

19 Kapitola 3 Java Card První karta Java Card byla představena roku 1997 několika společnostmi, mezi jinými Schlumberger card division a Gemplus. Produkty Java Card jsou postaveny na specifikaci Java Card Platform, která byla vyvinuta firmou Sun Mircosystems. Java Card zahrnuje standardní třídy a rozhraní, které umožňují bezpečný běh aplikací na pamět ových kartách a dalších jim podobných zařízeních s omezenou pamětí. Tyto aplikace se nazývají aplety v tomto případě Java Card aplety. Technologie Java Card je samozřejmě nezávislá na platformě a je kompatibilní se všemi standardy pamět ových karet. 3.1 Specifikace Java Card Specifikace technologie Java Card [19] je v současnosti ve verzi 2.2 a skládá se ze tří částí: Specifikace Java Card Virtual Machine, která definuje podmnožinu programovacího jazyka Java a Virtual Machine pro čipové karty. Specifikace Java Card Runtime Enviroment, která dále definuje běh javovských aplikací na čipových kartách. Specifikace Java Card API, která definuje základní javovské třídy, rozšiřující balíčky a třídy pro aplikace čipových karet. Spolu se specifikací poskytl Sun Microsystems také Java Card Development Kit (JCDK), který obsahuje referenční implementaci Java Card RE, Java Card VM a jiné nástroje pro vývoj apletů Java Card. 3.2 Komponenty Java Card aplikace Kompletní aplikace Java Card se skládá z back-end aplikace a systému, hostující aplikace (off-card), inteface zařízení (čtečka karet), apletu nahraném 14

20 JavaCard Platform 3. JAVA CARD Java Card VM Java Card Framework a API Java Card RE Aplety Java Card Obrázek 3.1: Platforma Java Card. na kartě, osobních informací uživatele a podpůrného software. Všechny tyto komponenty tvoří dohromady bezpečnou end-to-end aplikaci. Aplikace Java Card není typická aplikace, jakou známe z běžného osobního počítače. Skládá se z komponent na čipové kartě, čtečce karet a backend části aplikace. Jednotlivé části jsou detailněji popsány níže. Na obrázku 3.2 je znázorněná architektura Java Card aplikace Back-End aplikace a systém Back-end aplikace umí komunikovat se systémem a poskytuje tak služby, které podporují Java aplety na kartě. Můžeme mít například aplikaci, která poskytuje spojení s bezpečnostním systémem. Aplikace spolu s osobními údaji na kartě vlastníka může zaručovat vysokou bezpečnost. Takovým příkladem může být elektronický platební systém. Back-end aplikace zde poskytuje přístup ke kreditní kartě a k platebním informacím. 3.4 Hostující aplikace Hostující aplikace běží na terminále nebo desktopu jako je například PC, bankomat nebo mobilní telefon. Stará se o komunikaci mezi uživatelem, apletem Java Card a back-end aplikací. Běžně byly tyto aplikace psány v programovacím jazyce C. Nedávno se však rozšířila nová technologie vycházející z J2ME, která umožnila re- 1 Obrázky v této kapitole jsou převzaty z [19] 15

21 3. JAVA CARD Card Side Back-end aplikace a systém Reader Side Hostující aplikace Aplet Aplet Aplet APDU Card Acceptance Device command APDU response Rozšíření výrobce Java Card Framework a API Java Card VM OS karty Java Card RE Obrázek 3.2: Architektura Java Card aplikace. alizovat hostující aplikace i v Javě. Ta je použita například na mobilních telefonech s podporou MIDP (Mobile Information Device Profile). Dodavatelé čipových karet typicky poskytujou vývojové nástroje včetně API pro podporu reader-side aplikací. 3.5 Card Acceptance Device Card Acceptance Device (CAD) je zařízení, které je na rozhraní mezi hostující aplikací a Java Card zařízením. CAD poskytuje elektrický proud kartě a taky zprostředkovává komunikaci. CAD může být čtečka karet připojena k počítači pomocí sériového portu, nebo může být integrována přímo do terminálu jako je tomu například u bankomatu. CAD přeposílá Application Protocol Data Unit (APDU) z hostující aplikace kartě a odpovědi z karty zpět hostující aplikaci. Něktěré CAD zařízení mají navíc klávesnici pro zadání PINu, případně i display. 3.6 Aplety a prostředí na kartě Platforma Java Card je multiaplikační prostředí. Na kartě může být současně nahraných více apletů Java Card spolu s podpůrnym softwarem operačním systémem a Java Card Runtime Environment (JCRE). JCRE je tvořeno Java Card VM, Java Card Framework a API. Všechny Java Card aplety rozšiřují základní třídu Applet, a musí proto implementovat metody install() a process(). JCRE volá metodu install() při 16

22 3. JAVA CARD Command APDU Hlavička (povinné) Tělo (volitelné) CLA INS P1 P2 Lc Datové pole Le Obrázek 3.3: Command APDU. instalování apletu. Metoda process() je volána po každém příchozím APDU, který je určen apletu. 3.7 Komunikace s apletem Java Card S apletem Java Card lze komunikovat dvěma způsoby. První základní způsob je pomocí message-passing modelu. Druhý způsob je založen na Java Card Remote Method Invocation (JCRMI). Message-passing model je základem pro všechny způsoby komunikace Java Card. Hlavním prosředkem komunikace je Application Protocol Data Unit (APDU). APDU je, jak jsme zmínili výše, logický datový paket, který si mezi sebou zasílají CAD a Java Card Framework. APDU můžeme rozdělit na command APDU a response APDU. Java Card Framework přeposílá patřičnému apletu všechny příchozí command APDU, které zašle CAD. Aplet zpracuje command APDU a jako odpověd zašle response APDU. Pakety APDU se podřizují mezinárodnímu standardu ISO/IEC a Komunikace mezi čtečkou a kartou je založena na jednom ze dvou protokolů bajtově (T=0) nebo blokově orientovaných (T=1). Další používané protokoly jsou označované jako T=USB a T=RF. Třída APDU v sobě ukrývá některé detaily protokolů. Nejsou v ní však zahrnuty úplně všechny. Například protokol T=0 je na to příliš komplikovaný. 3.8 Command APDU Struktura command APDU je definována jeho prvním bajtem. Ve většině případů je uspořádán podle struktury znázorněné na obrázku 3.3. Command APDU je složen z povinné hlavičky a volitelného těla. Obsahuje: CLA (1 bajt) Toto povinné pole slouží pro identifikaci instrukční třídy. Validní CLA hodnoty jsou definované ve specifikaci ISO (tabulka 3.1). Teoreticky lze pro aplikační instrukce v CLA použít hodnoty 0x80 a větší. Ve většině dnešních implementací Java Card jsou ale bohužel rozpoznávány pouze tučně vyznačené hodnoty uvedené v tabulce. 17

23 3. JAVA CARD Hodnota CLA instrukční třída 0x0n, 0x1n instrukce definované v ISO , například pro přístup k souboru, bezpečnostní operace 20 to 0x7F rezervováno 0x8n or 0x9n ISO/IEC formát lze použít pro definici instrukční třídy vlastní aplikace záměnou n podle standardu 0xAn aplikační nebo výrobcem definované instrukce B0 to CF ISO/IEC formát lze použít instrukční třídu vlastní aplikace D0 to FE aplikační nebo výrobcem definované instrukce FF rezervováno pro výběr typu protokolu Tabulka 3.1: Význam hodnot bytu CLA. INS (1 bajt) Toto povinné pole označuje konkrétní instrukci z insrukční třídy definovanou CLA. ISO standart specifikuje pouze základní instrukce (čtení souboru, autentizace apod.). Pokud definujeme nové instrukce, ktéré bude rozpoznávat náš aplet, musíme používat patřičnou hodnotu CLA bajtu. P1 (1 bajt) Toto pole definuje parametr 1. Lze použít pro vstup dat nebo pro jemnější identifikaci instrukce. P2 (1 bajt) podobně jako P1. Lc (1 bajt) Nepovinné pole určuje počet bajtů v Datovém poli. Datové pole (proměnný počet, Lc bajtů) Nepovinné pole příkazu. Obsahuje data. Le (1 byte) Volitelné pole specifikuje maximalní počet bajtů očekávané odpovědi. 3.9 Response APDU Formát response APDU je znázorněn na obrázku 3.4. Datové pole (délka určena Le bajtem) vrací aplet. Nepovinné pole obsahuje data, které 18

24 3. JAVA CARD Response APDU Tělo (nepovinné) Trailer (povinné) Datové pole SW1 SW2 Obrázek 3.4: Response APDU. SW1 (1 bajt) Povinné pole obsahující stavové informace (status word). SW2 (1 bajt) Podobně jako SW Běhové prostředí Java Card JCRE specifikace definuje životní cyklus Java Card VM, apletu a transakcí. Dále specifikuje, jak jsou jednotlivé aplety vybírány a odděleny mezi sebou a uložení a sdílení objektů. JCRE poskytuje platformně nezávislé rozhraní k službám, které poskytuje operační systém karty. To zahrnuje Java Card Virtual Machine, Java Card API a další výrobcem definovaná rozšíření Životní cyklus Java Card VM Životní cyklus Java Card VM souvisí s životním cyklem čipové karty. Začíná nějaký čas po produkci karty a jejím testování, ale předtím než je předána držiteli. Končí, když je karta vyřazena nebo zničena. Java Card VM běží nepřetržitě. Pokud kartě přestane být dodáván proud, pak stav VM zůstane zaznamenán na energeticky nezávislé paměti. Při startu JCVM se inicializuje JCRE a vytvoří všechny objekty potřebné pro běh, které jsou aktivní po celou dobu běhu JCVM. Po spuštění JCVM jsou všechny interakce kontrolovány jedním z apletů na kartě. Po odpojení karty od proudu jsou ztracena všechna data uložená v paměti RAM. V energeticky nezávislé paměti karty data samozřejmě zůstávají. Po zpětném zapojení karty se stav VM obnoví spolu s objekty z energeticky nezávislé paměti Životní cyklus apletu Java Card Každý aplet na kartě je jedinečně identifikován pomocí Application ID (AID). AID je 5 až 16 bajtové číslo. Všechny aplety musí být odvozeny (děděny) ze základní abstraktní třídy Applet. Třída Applet definuje metody používané JCRE pro kontrolu životního cyklu apletu (obrázek 3.5). 19

25 3. JAVA CARD JCRE install register select process deselect Aplet Obrázek 3.5: Životní cyklus apletu. Životní cyklus apletu začína, když je nahrán na kartu a JCRE spustí statickou metodu apletu Applet.install(). Aplet se pak zaregistruje JCRE pomocí metody Applet.register(). Když je aplet nainstalován a zaregistrován zůstvá ve stavu unselected. V tomto stavu čeká na přechod do stavu selected. Zatímco je aplet ve stavu unselected, je neaktivní. Aplet je vybrán pro zpracování APDU, když o to hostující aplikace požádá, prostřednictvím čtečky karet JCRE. Čtečka karet zašle kartě SELECT APDU. JCRE upozorní aplet, že je vybrán voláním jeho metody select(). Aplet typicky provede svou inicializaci pro příjem a zpracování APDU. Když je aplet vybrán (je ve stavu selected) začne mu JCRE posílat příchozí příkazy APDU pro zpracování metodou process(). Aplet je přepnut zpět do stavu unselected, když hostující aplikace požádá JCRE o vybrání jiného apletu. JCRE upozorní aktivní aplet, že je přepínán do stavu unselected voláním jeho metody deselect(). V této metodě je nejčastěji obsažen kód, který zaznamená data apletu do energeticky nezávislé paměti Sdílení objektů Platforma Java Card je bezpečné multiaplikační prostředí. Různé aplety od více výrobců mohou bezpečně působit na jedné kartě. Každému apletu je přiřazen prováděcí kontext. Ten kontroluje přístup k objektům, které spravuje. Hranice mezi dvěma kontexty se často nazývá applet firewall. Firewall vytvoří virtuální haldu, kde každý objekt může přistupovat k metodám a datům jen těch objektů, které se nacházejí ve stejném firewallu. Firewall může obsahovat více apletů i jiných objektů, jako jsou například soukromé klíče. Prováděcí kontext má nyní rozsah balíčku. Když je objekt vytvořen, je přiřazen k prováděcímu kontextu volajícího. 20

26 3. JAVA CARD 3.14 Správa paměti a objektů Pro zařízení Java Card je pamět velice ceněný zdroj. V některých implementacích Java Card VM není k dispozici garbage collector, a tak je správa paměti důležitou součástí návrhu aplikace. Když je objekt vytvořen běžným způsobem, je jeho obsah umístěn do energeticky nezávislé paměti. Tímto způsobem je objekt přístupný po více sezení. Existují ale situace, kdy není potřeba uchovávat data aplikace v perzistentní paměti, pokud jsou pouze dočasná. Používáním paměti RAM se také snižuje opotřebení energeticky nezávislé paměti, a tak se zvyšuje životnost karty. Java Card API definuje tři metody pro vytvoření dočasných dat za běhu programu, čtvrtá metoda umožňuje testovat objekt, zda je dočasný. static byte[] maketransientbytearray(short length, byte event) static Object[] maketransientobjectarray(short length, byte event) static short[] maketransientshortarray(short length, byte event) static byte istransient(java.lang.object objekt) 21

27 Kapitola 4 AES 4.1 Úvod Prvním široce rozšířeným šifrovacím algoritmem se stal DES (Data Encryption Standart), který vznikl z iniciativy Ministerstva obchodu USA. Hlavním důvodem vzniku DES byl přechod na elektronický bankovní systém v sedmdesátých letech v USA. DES vstoupil v platnost v roce Tento algoritmus šifroval 64 bitové bloky dat s délkou klíče 56 bitů. Koncem minulého století byly již známy efektivní útoky, které byly schopny s poměrně malými náklady DES prolomit. Bylo ukázáno, že DES lze luštit s nákladem pouhých 10 tisíc dolarů a že tedy není bezpečný ani před menšími organizacemi. Proto bylo nutné pro šifrovací algoritmus navrhnout nový standard, který by neobsahoval chyby DES, a byl by tak mnohem bezpečnější. Za tímto účelem vyhlásila americká organizace NIST (National Institute of Standarts and Technology) veřejnou soutěž na bezpečný šifrovací algoritmus pod názvem AEA (Advanced Encrytption Algorithm). Na novou šifru kladla NIST následující požadavky: AEA musí být bloková symetrická šifra s délkou bloku 128 bitů musí podporovat délky klíčů 128, 192 a 256 bitů Při výběru byl algoritmus posuzován zejména z pohledu bezpečnosti, ceny (v širokém smyslu slova např. cena při hardwarové implementaci) a implementačních vlastností. Výběrové řízení ([8]) bylo rozděleno do dvou soutěžních kol. V prvním kole se soutěže zúčastnilo 15 algoritmů, z kterých bylo do druhého kola vybráno pět finalistů. Jednalo se o algoritmy MARS, RC6, Rijndael, Serpent a Twofish. Celkovým vítězem se v říjnu 2000 stal algoritmus Rijndael navržený týmem belgických kryptologů pod vedením Vincenta Rijnmenema a Joana 22

28 4. AES Deamenema. Na základě tohoto algoritmu byl pak 26. listopadu 2001 vyhlášen nový standard pro symetrické šifrování pod názvem AES (Advanced Encryption Standard), který je podrobněji popsán v následujících odstavcích. 4.2 Matematický základ Ještě před popisem samotného algoritmu AES je nutné zadefinovat několik matematických funkcí, které AES využívá. Tyto operace jsou definovány v [9] Pole GF(2 8 ) Bajty b skládající se z b 7 b 6 b 5 b 4 b 3 b 2 b 1 b 0 reprezentuje polynom stupně 7 s koeficienty 0,1: b 7 x 7 + b 6 x 6 + b 5 x 6 + b 4 x 4 + b 3 x 3 + b 2 x 2 + b 1 x+b 0 Bajt s hexadecimální reprezentací 57 (binárně ) reprezentuje polynom x 6 + x 4 + x 2 + x Sčítání Sčítání je definováno jako sčítání koeficientů obou polynomů modulo 2. S touto operací koresponduje bitová operace XOR definovaná na bajtech. Protože každý prvek je zároveň svou aditivní inverzí, je sčítání a odčítání ekvivalentní Násobení Pokud uvažujeme reprezentaci bajtu jako polynomy, je násobení definováno jako násobení dovu polynomů modulo nějaký ireducibilní polynom osmého stupně. Pro AES byl definován ireducibilní polynom m(x): m(x)=x 8 + x 4 + x 3 + x+1 Neexistuje jednoduchá bitová operace, jako je tomu u sčítání Násobení prvkem x Pokud vynásobíme polynom b(x) polynomem x dostaneme: b 7 x 8 + b 6 x 7 + b 5 x 6 + b 4 x 5 + b 3 x 4 + b 2 x 3 + b 1 x 2 + b 0 x 23

29 4. AES Nk=4 Nk=6 Nk=8 Nr Tabulka 4.1: Hodnoty počtu kol pro různé délky klíčů. x b(x) se obrží redukováním tohoto násobení modulo m(x). Pokud je b 7 =0, pak je tato redukce operací identity. Pokud b 7 =1, je třeba od b(x) odečíst (=přičíst) m(x). Z toho vyplývá, že násobení x lze implementovat jako posunutí doleva následované podmíněným přičtením 11B. Tato operace se značí b = xtime(a) Polynomy s koeficienty v GF(2 8 ) Polynomy mohou být definovány s koeficienty v GF(2 8 ). Pak čtyřbajtový vektor reprezentuje polynom stupně nanejvýš 3. Sčítat vektory můžeme jednoduše jako XOR dvou vektorů, jelikož sčítáme koeficienty z GF(2 8 ). Pokud chceme vektory násobit, musíme výsledek násobení polynom c(x) = a(x)b(x), redukovat polynomem čtvrtého stupně. Pro AES je tento polynom definován M(x)=x Násobení fixním polynomem můžeme zapsat jako násobení maticí: 4.3 Specifikace d 0 d 1 d 2 d 3 = a 0 a 3 a 2 a 1 a 1 a 0 a 3 a 2 a 2 a 1 a 0 a 3 a 3 a 2 a 1 a 0 AES je symetricky blokový šifrovací algoritmus s šířkou bloku 128 bitů a možnými délkami klíčů 128, 192 nebo 256 bitů [2]. Rijndael [9] podporuje volitelně i větší datové bloky a klíče (ve 32-bitových přírůstcích), avšak ty nejsou přeneseny do standardu AES. Vstupem algoritmu je 128 bitový blok dat a klíč. Tento blok dat je v rundách modifikován čtyřmi transformacemi: ByteSub, ShiftRow, MixColumn a AddRoundKey. Počet kol (dále budeme značit Nr) je závislý na délce klíče (tabulka 4.1). Vstupní blok dat se označuje jako stav. Ten lze zapsat jako matici4 4 bajtů (obr. 4.1). Při implementaci se stav reprezentuje jako pole bajtů. Stav je pak mapován do pole po sloupcích v pořadí a 0,0, a 1,0, a 2,0, a 3,0, a 0,1, a 1,1,... b 0 b 1 b 2 b 3 24

30 4. AES a 0,0 a 0,1 a 0,2 a 0,3 a 1,0 a 1,1 a 1,2 a 1,3 a 2,0 a 2,1 a 2,2 a 2,3 a 3,0 a 3,1 a 3,2 a 3,3 k 0,0 k 0,1 k 0,2 k 0,3 k 1,0 k 1,1 k 1,2 k 1,3 k 2,0 k 2,1 k 2,2 k 2,3 k 3,0 k 3,1 k 3,2 k 3,3 Obrázek 4.1: Reprezentace stavu a 128-bitového klíče pomocí matice bajtů. Stejně tak se i klíč mapuje do pole po sloupcích. Počet sloupců klíče se značí Nk, počet sloupců stavu je Nb= Runda šifry Jak již bylo uvedeno, jedna runda se skládá ze čtyř operací. Vstupní blok dat je tedy v závislosti na délce klíče transformován vhodným počtem rund. V každé rundě je k bloku přičten RoundKey, který je odvozen z klíče. V pseudokódu lze rundu zapsat takto: Round (State,RoundKey) { ByteSub(State); ShiftRow(State); MixColumn(State); AddRoundKey(State,RoundKey); } V posledním kole je vynechána operace MixColumn. Round (State,RoundKey) { ByteSub(State); ShiftRow(State); AddRoundKey(State,RoundKey); } Jednotlivé operace rundy jsou rozepsány v následujících kapitolách Operace ByteSub Tato transformace je nelineární substitucí bajtů vstupního bloku. Je to jediná nelineární operace v AES. Substituční tabulka (S-box) je konstruována kompozicí dvou operací: 25

31 4. AES 1. Multiplikativní inverzí v GF(2 8 ) 2. Afinní transformací definovanou maticí: y y y y 3 y = y y y x 0 x 1 x 2 x 3 x 4 x 5 x 6 x 7 + Inverzní opearci k ByteSub získáme tak, že nejdříve aplikujeme inverzní afinní transformaci a výsledek invertujeme v GF(2 8 ) Operace ShiftRow V této operaci jsou bajty v řádku stavu cyklicky posouvány o různé hodnoty. Nultý řádek stavu není posouván, první je posouván o 1, druhý o 2 a třetí o 3 (viz. obrázek 4.2) a 0,0 a 0,1 a 0,2 a 0,3 a 1,0 a 1,1 a 1,2 a 1,3 a 2,0 a 2,1 a 2,2 a 2,3 a 3,0 a 3,1 a 3,2 a 3,3 a 0,0 a 0,1 a 0,2 a 0,3 a 1,1 a 1,2 a 1,3 a 1,0 a 2,2 a 2,3 a 2,0 a 2,1 a 3,3 a 3,0 a 3,1 a 3,2 Obrázek 4.2: V pravé tabulce je znázorněn stav po transformaci ShiftRow. Inverzní transformace posouvá poslední tři řádky stavu o stejné hodnoty, ale na opačnou stranu. a 0,0 a 0,1 a 0,2 a 0,3 a 1,0 a 1,1 a 1,2 a 1,3 a 2,0 a 2,1 a 2,2 a 2,3 a 3,0 a 3,1 a 3,2 a 3,3 a 0,0 a 0,1 a 0,2 a 0,3 a 1,3 a 1,0 a 1,1 a 1,2 a 2,2 a 2,3 a 2,0 a 2,1 a 3,1 a 3,2 a 3,3 a 3,0 Obrázek 4.3: V pravé tabulce je znázorněn stav po transformaci InvShiftRow. 26

32 4. AES Operace MixColumn Transformace MixColumn uvažuje sloupce stavu jako polynomy nad GF(2 8 ) a násobí je (modulo x 4 +1) s fixním polynomem c(x) definovaným: c(x)=03x 3 +01x 2 +01x+02 Tento polynom je nesoudělný sx 4 +1, a proto ho lze invertovat. Násobení fixním polynomem c(x) lze zapsat jako násobení maticí: b(x)=c(x) a(x) b 0 b 1 b 2 b 3 = Inverzní transformace k MixColumn násobí sloupce stavu polynomem d(x), pro který platí: c(x) d(x)=01 tento polynom je dán rovnicí: a 0 a 1 a 2 a 3 d(x)=0bx 3 +0Dx 2 +09x+0E Operace AddRoundKey V této operaci je ke stavu přičten rundovní klíč. Přičtením se myslí jednoduchou XOR operaci. Rundovní klíč je odvozen z šifrovacího klíče a jeho délka je rovna délce bloku. a 0,0 a 0,1 a 0,2 a 0,3 a 1,3 a 1,0 a 1,1 a 1,2 a 2,2 a 2,3 a 2,0 a 2,1 a 3,1 a 3,2 a 3,3 a 3,0 k 0,0 k 0,1 k 0,2 k 0,3 k 1,3 k 1,0 k 1,1 k 1,2 = k 2,2 k 2,3 k 2,0 k 2,1 k 3,1 k 3,2 k 3,3 k 3,0 b 0,0 b 0,1 b 0,2 b 0,3 b 1,3 b 1,0 b 1,1 b 1,2 b 2,2 b 2,3 b 2,0 b 2,1 b 3,1 b 3,2 b 3,3 b 3,0 AddRoundKey je svou vlastní inverzí Expanze klíče Rundovní klíče se odvozují z šifrovacího klíče pomocí operace expanze klíče. Expandovaný klíč je tvořen čtyřbajtovými slovy a je označován W[Nb (Nr+1)]. Prvních Nk slov obsahuje šifrovací klíč. Zbytek slov je definován rekurzivně ze slov s menším indexem. Rundovní klíč i je dán slovy W[Nb i] až W[Nb (i+1)]. 27

33 4. AES 4.4 Implementace na čipových kartách V tomto odstavci se budeme zabývat implementací, která nebude odolná proti útokům postranními kanály. Pro efektivní implementaci (nejen) na čipových kartách je potřeba minimalizovat počet instrukcí, které má procesor karty vykonat. Toho lze dosáhnout pomocí tabulek, které budou mít předpočítané operace (například ByteSub, násobení dvou bajtů v GF(2 8 ) a podobně). Musíme však také vzít v úvahu omezené pamět ové prostředky, kterými čipové karty disponují. Pro operaci ByteSub je vhodné použít předpočítané tabulky. Protože tabulka pro ByteSub je různá od InvByteSub a vstupní i výstupní parametr je velikosti jeden bajt, zaberou tyto dvě tabulky v paměti 512 bajtů. Implementace operací RowShift a AddRoundKey je přímočará. Efektivní implementace MixColumn byla zveřejněna v článku [2], ukázáno na jednom sloupci: Tmp = a[0] ˆ a[1] ˆ a[2] ˆ a[3]; Tm = a[0] ˆ a[1] ; Tm = xtime(tm) ; a[0] = Tm ˆ Tmp; Tm = a[1] ˆ a[2] ; Tm = xtime(tm) ; a[1] = Tm ˆ Tmp; Tm = a[2] ˆ a[3] ; Tm = xtime(tm) ; a[2] = Tm ˆ Tmp; Tm = a[3] ˆ a[0] ; Tm = xtime(tm) ; a[3] = Tm ˆ Tmp; Dalším způsobem, jak omezit spotřebu paměti, je implementace expanze klíče v cyklickém bufferu. Rundovní klíč je pak přepočítán mezi rundami. Jelikož se vetšina aplikací, které poběží na čipové kartě, jako například bankovní karty nebo elektronické peněženky omezují jen na zašifrování nebo dešifrování několika málo bloků za jedno sezení, nezískali bychom expanzí celého klíče lepší výkon. V následující kapitole se budeme zabývat útoky na implementace šifrovacích algoritmů. 28

34 Kapitola 5 Útoky postranními kanály V této kapitole se budeme zabývat útoky na kryptografické algoritmy, které jsou vedeny postranními kanály. Objasníme, na jakém principu tyto útoky fungují, v čem spočívá jejich síla a jakých nedostatků kryptografických zařízení využívají. Dále pak rozebereme jednotlivé druhy těchto útoků. 5.1 Úvod Útoky postranními kanály jsou založeny na informacích z postranních kanálů, které může útočník získat z kryptografického zařízení v průběhu šifrování. Na kryptografické algoritmy můžeme nahlížet dvěma způsoby. První způsob nahlíží na kryptografický algoritmus jako na abstraktní matematický objekt. Jedná se tedy o pouhou matematickou transformaci parametrizovanou klíčem, která daný vstup přepracuje na určitý výstup. Druhý pohled nahlíží na vlastní implementaci algoritmu. I kryptografické algoritmy totiž musí být v konečném důsledku implementovány programem, který běží na konkrétním procesoru a v nějakém konkrétním prostředí. Tato implementace pak bude mít samozřejmě svoje charakteristiky, které nejsou při matematickém pohledu vůbec uvažovány. Klasická kryptoanalýza pracuje s matematickým modelem kryptografického algoritmu. Útoky touto metodou jsou proto vedeny na základě jedné z následujících znalostí: znalosti zašifrované zprávy (ciphertext-only attacks) znalosti otevřené i zašifrované zprávy (know plaintext attacks) možnosti volit zprávy pro zašifrování a pak analizovat takto zašifrovanou zprávu (chosen plaintext attacks). Oproti tomu kryptoptoanalýza postranních kanálů využíva implementačních charakteristik pro získání tajných parametrů, které jsou součástí 29

35 5. ÚTOKY POSTRANNÍMI KANÁLY počítání. Kryptografické zařízení poskytuje například lehce měřitelnou informaci o čase, jak dlouho trvala každá jednotlivá operace, kolik energie ta která operace spotřebovala a jiné. Kryptografická zařízení mívají často také dodatečné neúmyslné vstupy jako například napětí, které může být modifikováno, aby způsobilo předvídané změny v zařízení. Útoky postranními kanály využívají některé nebo všechny tyto informace pro získání klíče z kryptografického zařízení. Analýza založena na postranních kanálech je sice méně obecná, jelikož je specifická pro každou implementaci, ale na duhou stranu je mnohem mocnějším nastrojem než klasická kryptoanalýza. Velký zájem o techniky analýzy postranních kanálu způsobuje fakt, že útok tímto způsobem může být implementovaný pomocí snadno dostupného hardwaru, jehož cena se pohybuje od stovek do tisíců dolarů. Čas potřebný pro útok pak závisí na použitých technikách. 5.2 Útoky pomocí sond První možností útoku na čipovou kartu jsou takzvané útoky pomocí sond. Nejedná se přímo o útoky postranními kanály, ale úzce s nimi souvisejí. Prvním krokem tohoto útoku je odstranění plastového krytu tak, aby čipy karty nebyly poškozeny. K takto odkryté kartě lze napojit vodiče na datovou sběrnici nebo pozorovat mikroskopem pamět ové buňky. Tuto práci lze snadno provést pomocí pozorovací stanice. Pozorovací stanice se skládá z mikroskopu s mikromanipulátory umožňujícími připojit na povrch čipu detektory. Aby si útočník ulehčil pozorování čipu, může se pokusit snížit taktovací frekvenci čipové karty. Takto lze snáze pozorovat postupné stavy, kterých čipová karta v průběhu výpočtu dosahuje. Modernější čipové karty bývají chráněny proti invazím pasivní vrstvou. Často se jedná o nějaký kryt čipu, který brání snadnému přístupu k němu. Aby bylo možné čip pozorovat, je potřeba takovou vrstvu nejdříve odstranit. Odstranění pasivní vrstvy však většinou nebývá příliš velký problém. Některé čipové karty jsou proto navíc vybaveny různými detektory. Typickým příkladem může být metalická mřížka, která je umístěna nad čipem. Poškození této mřížky způsobí ztrátu citlivých dat. Podobně může čip monitorovat taktovací frekvenci a odmítat provádět výpočty pokud je frekvence příliš vysoká nebo nízká. Pro ochranu čipové karty na ní mohou být umístěny i další druhy senzorů, jakou jsou UV senzory, světelné senzory, apod. Podrobnější informace o útocích pomocí sond lze najít v [5] a [16]. 30

36 5. ÚTOKY POSTRANNÍMI KANÁLY 5.3 Chybové postranní kanály Útok vedený tímto způsobem je založený na generování chyb v zařízení, které vlastní útočník nebo na standardních chybách, které se běžně mohou vyskytnout. Výsledky z těchto chybných výpočtů poskytují další informace o tajných parametrech výpočtu. Vynutit chybu na zařízení lze například změnou voltáže, změnou taktu procesoru nebo aplikováním nějakého druhu ozařování Typy chyb Chyby můžeme dělit z několika následujících hledisek. Permanentní vs. dočasná: permanentní chyba ovlivní (poškodí) kryptografické zařízení trvale tak, že se v dalších výpočtech nebude chovat správně. Typickým příkladem takové chyby může být zablokování pamět ové buňky na konstantní hodnotu. Dočasnou chybou se myslí, že je zařízení rušeno takovým způsobem, kdy nepracuje korektně během výpočtu. Tímto rušením se však zařízení nepoškodí. Zařízení můžeme rušit radioaktivním paprskem, abnormálně velikým napětím, nebo mu můžeme měnit taktovací frekvenci na abnormální hodnoty. Místo výskytu: Některé útoky vyžadují, aby se chyba vyskytla na konkrétním místě (pamět ová buňka). Čas výskytu: Podobně některé útoky vyžadují, aby chyba nastala v určitém okamžiku výpočtu. Je zjevné, že chybový model, který se uvažuje během kryptoanalýzy, hraje důležitou roli tykající se proveditelnosti útoku. Jsou dva způsoby jak vést kryptoanalýzy založené na chybových modelech. První způsob se snaží vynutit konkrétní typ chyby v zařízení. Druhý předpokládá (méně či více realisticky) chybový model a snaží se využít tento model k prolomení systému. Tento model se však nezatěžuje tím, jak tento typ chyby v praxi na zařízení vynutit. V další části je uveden příklad útoku na AES s daným chybovým modelem. Později budou uvedeny i techniky jak vynutit chybu na kryptografickém zařízení Diferenciální chybová analýza Pány Bihamem a Shamirem je v [6] popsán chybový útok nazvaný differential fault analysis (DFA), který je orientovaný na symetrické šifry. Tento typ 31

37 5. ÚTOKY POSTRANNÍMI KANÁLY útoku byl demonstrován na šifrovacím algoritmu DES. Tvůrci uvažovali chybový model, ve kterém může nastat chyba v registru s nějakou pravděpodobností pro každý bit. Použitím tohoto útoku byli schopni zjistit celý šifrovací klíč DES. Pro tento útok na DES je potřeba 50 až 200 zpráv. Protože tato práce je zaměřena na algoritmus AES, popíšeme také stručně jeden z možných DFA útoků na AES, který byl prezentovaný v [11]. V článku se uvažoval chybový model, ve kterém může nastat chyba v jednom bajtu stavu po transformaci ShiftRow v N r 1 rundě. Dalším předpokladem je, že známe index chybového bajtu ve stavu, ale neznáme jeho hodnotu. Chyba ǫ se rozšíří na čtyři bajty výstupního stavu. Pro každý změněný prvek výstupního stavu nalezneme množinu možných chyb ǫ. Navíc průnikem těchto čtyř množin obdržíme ještě menší množinu možných chyb, a to zmenšuje počet potřebných zašifrovaných textů pro celou analýzu. Konečně, pro každý prvek z množiny chyb nalezneme možné hodnoty čtyř bajtů posledního rundovního klíče. Příklad průběhu propagace chyby ve stavu. stav po ShiftRow 9 87 F2 4D 97 6E 4C 90 EC 46 E7 4A C3 A6 8C D8 95 výskyt chyby 99 F2 4D 97 6E 4C 90 EC 46 E7 4A C3 A6 8C D8 95 po MixColumn 99 F2 4D 97 6E 4C 90 EC 46 E7 4A C3 A6 8C D8 95 K 9 AC FA D1 5C 66 DC F E po AddRoundKey D7 59 8B 1B 5E 2E A1 C3 EC C 84 E7 D2 po ByteSub 0E CB 3D AF E CE 07 7D 2C EB 5F 94 B5 po ShiftRow 0E 59 8B 1B E 58 7D 2C CE 07 B5 EB 5F 94 K 10 D0 C9 E1 B6 14 EE 3F 63 F9 25 0C 0C A8 89 C8 A6 výstup s chybou DE 02 DC DC 11 3B C2 0B 1D Bajty stavu, které jsou pozměněny chybou, jsou vyznačeny šedým podkladem. Nyní se podíváme jak je stav F měněn chybou ǫ v transformacích. Přitom pořád předpokládáme, že chyba nastane po transformaci ShiftRow v N r 1 rundě. Pak stav F lze definovat jako: F Nr 1,ShiftRow= S ShiftRow ǫ

38 po transformaci MixColumns bude chyba: F Nr 1,MixColumn = S Nr 1,MixColumn A 0 po přičtení N r 1 rundovního klíče: = S Nr 1,MixColumn F Nr 1,AddRoundKey = S Nr 1,AddRoundKey 5. ÚTOKY POSTRANNÍMI KANÁLY ǫ ǫ ǫ ǫ ǫ ǫ ǫ ǫ ǫ Definujeme ǫ 0, ǫ 1, ǫ 2, ǫ 3 (diferenciální chyby) následující rovnicí: ǫ ǫ F Nr,ByteSub = S Nr,ByteSub ǫ ǫ Po transformaci ShiftRow máme: F Nr,ShiftRow = S Nr,ShiftRow ǫ ǫ ǫ ǫ Po posledním přičtení rundovního klíče dostaneme: F Nr,AddRaundKey = S Nr,AddRaundKey ǫ ǫ ǫ ǫ S Nr,ByteSub označuje stav po transformaci ByteSub v Nr rundě. Porovnáním výstupního chybového stavu F Nr,AddRaundKey s nechybovým stavem snadno zjistíme hodnoty ǫ 0, ǫ 1, ǫ 2, ǫ 3. V našem příkladě dostaneme: 33

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

Protiopatření eliminující proudovou analýzu SIX Research Centre Vysoké učení technické v Brně martinasek@feec.vutbr.cz crypto.utko.feec.vutbr.cz Proudová analýza (PA) V dnešní době představuje efektivní a úspěšný způsob útoku cílený na bezpečné

Více

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

SIM karty a bezpečnost v mobilních sítích Spojujeme software, technologie a služby SIM karty a bezpečnost v mobilních sítích Václav Lín programátor 19.5.2009 1 Osnova SIM karty Role SIM karet v telekomunikacích Hardwarové charakteristiky Bezpečnost

Více

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

Moderní metody substitučního šifrování PEF MZLU v Brně 11. listopadu 2010 Úvod V současné době se pro bezpečnou komunikaci používají elektronická média. Zprávy se před šifrováním převádí do tvaru zpracovatelného technickým vybavením, do binární

Více

Šifrování Kafková Petra Kryptografie Věda o tvorbě šifer (z řečtiny: kryptós = skrytý, gráphein = psát) Kryptoanalýza Věda o prolamování/luštění šifer Kryptologie Věda o šifrování obecné označení pro kryptografii

Více

Paměti. Paměť je zařízení, které slouží k ukládání programů a dat, s nimiž počítač pracuje

Paměti. Paměť je zařízení, které slouží k ukládání programů a dat, s nimiž počítač pracuje Paměti Paměť je zařízení, které slouží k ukládání programů a dat, s nimiž počítač pracuje Paměti počítače lze rozdělit do tří základních skupin: registry paměťová místa na čipu procesoru jsou používány

Více

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

J.Breier, M.Vančo, J.Ďaďo, M.Klement, J.Michelfeit, Masarykova univerzita Fakulta informatiky Analýza postranních kanálů (kryptoanalýza hardvérových zařízení) J.Breier, M.Vančo, J.Ďaďo, M.Klement, J.Michelfeit, M.Moráček, J.Kusák, J.Hreško Masarykova univerzita Fakulta informatiky 6.5.2010 Klasifikace

Více

2.8 Procesory. Střední průmyslová škola strojnická Vsetín. Ing. Martin Baričák. Název šablony Název DUMu. Předmět Druh učebního materiálu

2.8 Procesory. Střední průmyslová škola strojnická Vsetín. Ing. Martin Baričák. Název šablony Název DUMu. Předmět Druh učebního materiálu Název školy Číslo projektu Autor Název šablony Název DUMu Tematická oblast Předmět Druh učebního materiálu Anotace Vybavení, pomůcky Ověřeno ve výuce dne, třída Střední průmyslová škola strojnická Vsetín

Více

ÚTOKY POSTRANNÍMI KANÁLY NA ČIPOVÉ KARTY

ÚTOKY POSTRANNÍMI KANÁLY NA ČIPOVÉ KARTY VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ ÚSTAV TELEKOMUNIKACÍ FACULTY OF ELECTRICAL ENGINEERING AND COMMUNICATION DEPARTMENT OF TELECOMMUNICATIONS

Více

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

Postranními kanály k tajemství čipových karet SIX Research Centre Vysoké učení technické v Brně martinasek@feec.vutbr.cz crypto.utko.feec.vutbr.cz Kryptoanaly za postrannı mi kana ly Proudova analy za Pr edstavenı U vod Crypto Research Group, Vysoke

Více

Identifikátor materiálu: ICT-1-08

Identifikátor materiálu: ICT-1-08 Identifikátor materiálu: ICT-1-08 Předmět Informační a komunikační technologie Téma materiálu Motherboard, CPU a RAM Autor Ing. Bohuslav Nepovím Anotace Student si procvičí / osvojí základní desku počítače.

Více

Pohled do nitra mikroprocesoru Josef Horálek

Pohled do nitra mikroprocesoru Josef Horálek Pohled do nitra mikroprocesoru Josef Horálek Z čeho vycházíme = Vycházíme z Von Neumannovy architektury = Celý počítač se tak skládá z pěti koncepčních bloků: = Operační paměť = Programový řadič = Aritmeticko-logická

Více

Čipové karty úvod, Ing. Jiří Buček. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze

Čipové karty úvod, Ing. Jiří Buček. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze Čipové karty úvod, Java Card Ing. Jiří Buček Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze LS 2010/11, Předn. 5. (c) Jiří Buček, 2010. Evropský sociální

Více

Integrovaná střední škola, Sokolnice 496

Integrovaná střední škola, Sokolnice 496 Integrovaná střední škola, Sokolnice 496 Název projektu: Moderní škola Registrační číslo: CZ.1.07/1.5.00/34.0467 Název klíčové aktivity: III/2 - Inovace a zkvalitnění výuky prostřednictvím ICT Kód výstupu:

Více

Osobní počítač. Zpracoval: ict Aktualizace: 10. 11. 2011

Osobní počítač. Zpracoval: ict Aktualizace: 10. 11. 2011 Osobní počítač Zpracoval: ict Aktualizace: 10. 11. 2011 Charakteristika PC Osobní počítač (personal computer - PC) je nástroj člověka pro zpracovávání informací Vyznačuje se schopností samostatně pracovat

Více

Paměti Josef Horálek

Paměti Josef Horálek Paměti Josef Horálek Paměť = Paměť je pro počítač životní nutností = mikroprocesor z ní čte programy, kterými je řízen a také do ní ukládá výsledky své práce = Paměti v zásadě můžeme rozdělit na: = Primární

Více

Architektura počítačů

Architektura počítačů Architektura počítačů Studijní materiál pro předmět Architektury počítačů Ing. Petr Olivka katedra informatiky FEI VŠB-TU Ostrava email: petr.olivka@vsb.cz Ostrava, 2010 1 1 Architektura počítačů Pojem

Více

KAPITOLA 1 - ZÁKLADNÍ POJMY INFORMAČNÍCH A KOMUNIKAČNÍCH TECHNOLOGIÍ

KAPITOLA 1 - ZÁKLADNÍ POJMY INFORMAČNÍCH A KOMUNIKAČNÍCH TECHNOLOGIÍ KAPITOLA 1 - ZÁKLADNÍ POJMY INFORMAČNÍCH A KOMUNIKAČNÍCH TECHNOLOGIÍ KLÍČOVÉ POJMY technické vybavení počítače uchování dat vstupní a výstupní zařízení, paměti, data v počítači počítačové sítě sociální

Více

Bezpečnostní mechanismy

Bezpečnostní mechanismy Hardwarové prostředky kontroly přístupu osob Bezpečnostní mechanismy Identifikační karty informace umožňující identifikaci uživatele PIN Personal Identification Number úroveň oprávnění informace o povolených

Více

Odolnost kryptografického HW s ohledem na nasazení

Odolnost kryptografického HW s ohledem na nasazení Odolnost kryptografického HW s ohledem na nasazení Vašek Lorenc, Vašek Matyáš XVIII. konference EurOpen Fakulta informatiky Masarykova univerzita Brno Vašek Lorenc, Vašek Matyáš (FIMU) Odolnost kryptografického

Více

2.9 Vnitřní paměti. Střední průmyslová škola strojnická Vsetín. Ing. Martin Baričák. Název šablony Název DUMu. Předmět Druh učebního materiálu

2.9 Vnitřní paměti. Střední průmyslová škola strojnická Vsetín. Ing. Martin Baričák. Název šablony Název DUMu. Předmět Druh učebního materiálu Název školy Číslo projektu Autor Název šablony Název DUMu Tematická oblast Předmět Druh učebního materiálu Anotace Vybavení, pomůcky Ověřeno ve výuce dne, třída Střední průmyslová škola strojnická Vsetín

Více

Data Encryption Standard (DES)

Data Encryption Standard (DES) Data Encryption Standard (DES) Andrew Kozlík KA MFF UK Šifra DES DES je bloková šifra, P = C = {0, 1} 64 Klíče mají délku 64 bitů, ale jen 56 bitů je účinných: K = { b {0, 1} 64 8 i=1 b i+8n 1 (mod 2),

Více

Operační systémy. Jednoduché stránkování. Virtuální paměť. Příklad: jednoduché stránkování. Virtuální paměť se stránkování. Memory Management Unit

Operační systémy. Jednoduché stránkování. Virtuální paměť. Příklad: jednoduché stránkování. Virtuální paměť se stránkování. Memory Management Unit Jednoduché stránkování Operační systémy Přednáška 8: Správa paměti II Hlavní paměť rozdělená na malé úseky stejné velikosti (např. 4kB) nazývané rámce (frames). Program rozdělen na malé úseky stejné velikosti

Více

Základní pojmy. Program: Algoritmus zapsaný v programovacím jazyce, který řeší nějaký konkrétní úkol. Jedná se o posloupnost instrukcí.

Základní pojmy. Program: Algoritmus zapsaný v programovacím jazyce, který řeší nějaký konkrétní úkol. Jedná se o posloupnost instrukcí. Základní pojmy IT, číselné soustavy, logické funkce Základní pojmy Počítač: Stroj na zpracování informací Informace: 1. data, která se strojově zpracovávají 2. vše co nám nebo něčemu podává (popř. předává)

Více

Semestrální práce z předmětu Speciální číslicové systémy X31SCS

Semestrální práce z předmětu Speciální číslicové systémy X31SCS Semestrální práce z předmětu Speciální číslicové systémy X31SCS Katedra obvodů DSP16411 ZPRACOVAL: Roman Holubec Školní rok: 2006/2007 Úvod DSP16411 patří do rodiny DSP16411 rozšiřuje DSP16410 o vyšší

Více

OKsmart a správa karet v systému OKbase

OKsmart a správa karet v systému OKbase OKsmart a správa karet v systému OKbase Od personalizace a sledování životního cyklu karet až k bezkontaktní autentizaci a elektronickému podpisu Spojujeme software, technologie a služby Martin Primas

Více

Architektura Intel Atom

Architektura Intel Atom Architektura Intel Atom Štěpán Sojka 5. prosince 2008 1 Úvod Hlavní rysem Atomu je podpora platformy x86, která umožňuje spouštět a běžně používat řadu let vyvíjené aplikace, na které jsou uživatelé zvyklí

Více

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

Programové vybavení OKsmart pro využití čipových karet Spojujeme software, technologie a služby Programové vybavení OKsmart pro využití čipových karet Ukázky biometrické autentizace Ing. Vítězslav Vacek vedoucí oddělení bezpečnosti a čipových karet SmartCard

Více

INFORMAČNÍ A KOMUNIKAČNÍ TECHNOLOGIE

INFORMAČNÍ A KOMUNIKAČNÍ TECHNOLOGIE Název školy: Střední odborná škola stavební Karlovy Vary Sabinovo náměstí 16, 360 09 Karlovy Vary Autor: Ing. Hana Šmídová Název materiálu: VY_32_INOVACE_15_HARDWARE_S1 Číslo projektu: CZ 1.07/1.5.00/34.1077

Více

Mikrokontroléry. Doplňující text pro POS K. D. 2001

Mikrokontroléry. Doplňující text pro POS K. D. 2001 Mikrokontroléry Doplňující text pro POS K. D. 2001 Úvod Mikrokontroléry, jinak též označované jako jednočipové mikropočítače, obsahují v jediném pouzdře všechny podstatné části mikropočítače: Řadič a aritmetickou

Více

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC Informační systémy 2 Obsah: Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC ROM RAM Paměti typu CACHE IS2-4 1 Dnešní info: Informační systémy 2 03 Informační systémy

Více

Struktura a architektura počítačů (BI-SAP) 10

Struktura a architektura počítačů (BI-SAP) 10 Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Struktura a architektura počítačů (BI-SAP) 10 doc. Ing. Hana Kubátová, CSc. Katedra číslicového návrhu Fakulta informačních technologii

Více

AGP - Accelerated Graphics Port

AGP - Accelerated Graphics Port AGP - Accelerated Graphics Port Grafiku 3D a video bylo možné v jisté vývojové etapě techniky pracovních stanic provozovat pouze na kvalitních pracovních stanicích (cena 20 000 USD a více) - AGP představuje

Více

Základní pojmy informačních technologií

Základní pojmy informačních technologií Základní pojmy informačních technologií Informační technologie (IT): technologie sloužící k práci s daty a informacemi počítače, programy, počítač. sítě Hardware (HW): jednoduše to, na co si můžeme sáhnout.

Více

Disková pole (RAID) 1

Disková pole (RAID) 1 Disková pole (RAID) 1 Architektury RAID Důvod zavedení RAID: reakce na zvyšující se rychlost procesoru. Pozice diskové paměti v klasickém personálním počítači vyhovuje pro aplikace s jedním uživatelem.

Více

Dělení pamětí Volatilní paměti Nevolatilní paměti. Miroslav Flídr Počítačové systémy LS /11- Západočeská univerzita v Plzni

Dělení pamětí Volatilní paměti Nevolatilní paměti. Miroslav Flídr Počítačové systémy LS /11- Západočeská univerzita v Plzni ělení pamětí Volatilní paměti Nevolatilní paměti Počítačové systémy Vnitřní paměti Miroslav Flídr Počítačové systémy LS 2006-1/11- Západočeská univerzita v Plzni ělení pamětí Volatilní paměti Nevolatilní

Více

Řízení IO přenosů DMA řadičem

Řízení IO přenosů DMA řadičem Řízení IO přenosů DMA řadičem Doplňující text pro POT K. D. 2001 DMA řadič Při přímém řízení IO operací procesorem i při použití přerušovacího systému je rychlost přenosu dat mezi IO řadičem a pamětí limitována

Více

Princip funkce počítače

Princip funkce počítače Princip funkce počítače Princip funkce počítače prvotní úlohou počítačů bylo zrychlit provádění matematických výpočtů první počítače kopírovaly obvyklý postup manuálního provádění výpočtů pokyny pro zpracování

Více

architektura mostů severní / jižní most (angl. north / south bridge) 1. Čipové sady s architekturou severního / jižního mostu

architektura mostů severní / jižní most (angl. north / south bridge) 1. Čipové sady s architekturou severního / jižního mostu Čipová sada Čipová sada (chipset) je hlavní logický integrovaný obvod základní desky. Jeho úkolem je řídit komunikaci mezi procesorem a ostatními zařízeními a obvody. V obvodech čipové sady jsou integrovány

Více

Paměti Flash. Paměti Flash. Základní charakteristiky

Paměti Flash. Paměti Flash. Základní charakteristiky Paměti Flash K.D. - přednášky 1 Základní charakteristiky (Flash EEPROM): Přepis dat bez mazání: ne. Mazání: po blocích nebo celý čip. Zápis: po slovech nebo po blocích. Typická životnost: 100 000 1 000

Více

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

Šifrová ochrana informací věk počítačů PS5-1 Bezpečnost informací BI Ing. Jindřich Kodl, CSc. Šifrová ochrana informací věk počítačů PS5-1 1 Osnova šifrová ochrana využívající výpočetní techniku např. Feistelova šifra; symetrické a asymetrické šifry;

Více

Z čeho se sběrnice skládá?

Z čeho se sběrnice skládá? Sběrnice Co je to sběrnice? Definovat sběrnici je jednoduché i složité zároveň. Jedná se o předávací místo mezi (typicky) více součástkami počítače. Sběrnicí však může být i předávací místo jen mezi dvěma

Více

Informatika / bezpečnost

Informatika / bezpečnost Informatika / bezpečnost Bezpečnost, šifry, elektronický podpis ZS 2015 KIT.PEF.CZU Bezpečnost IS pojmy aktiva IS hardware software data citlivá data hlavně ta chceme chránit autorizace subjekt má právo

Více

Přednáška. Správa paměti II. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

Přednáška. Správa paměti II. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012 Přednáška Správa paměti II. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012 Příprava studijního programu Informatika je podporována projektem financovaným z Evropského

Více

Systém adresace paměti

Systém adresace paměti Systém adresace paměti Základní pojmy Adresa fyzická - adresa, která je přenesena na adresní sběrnici a fyzicky adresuje hlavní paměť logická - adresa, kterou má k dispozici proces k adresaci přiděleného

Více

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

O čem byl CHES a FDTC? Jan Krhovják Fakulta informatiky Masarykova univerzita v Brně O čem byl CHES a FDTC? Jan Krhovják Fakulta informatiky Masarykova univerzita v Brně Hlavní témata workshopů Cryptographic Hardware and Embedded Systems Speciální hardware Efektivní hardware Nedostatek

Více

Symetrické šifry, DES

Symetrické šifry, DES Symetrické šifry, DES Jiří Vejrosta Fakulta jaderná a fyzikálně inženýrská, ČVUT Jiří Vejrosta (FJFI) UKRY 1 / 20 Klíče Symetrická šifra tajný klíč klíč stejný u odesilatele i příjemce Asymetrická šifra

Více

U Úvod do modelování a simulace systémů

U Úvod do modelování a simulace systémů U Úvod do modelování a simulace systémů Vyšetřování rozsáhlých soustav mnohdy nelze provádět analytickým výpočtem.často je nutné zkoumat chování zařízení v mezních situacích, do kterých se skutečné zařízení

Více

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC Informatika 2 Technické prostředky počítačové techniky - 2 Přednáší: doc. Ing. Jan Skrbek, Dr. - KIN Přednášky: středa 14 20 15 55 Spojení: e-mail: jan.skrbek@tul.cz 16 10 17 45 tel.: 48 535 2442 Obsah:

Více

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

OPS Paralelní systémy, seznam pojmů, klasifikace Moorův zákon (polovina 60. let) : Výpočetní výkon a počet tranzistorů na jeden CPU chip integrovaného obvodu mikroprocesoru se každý jeden až dva roky zdvojnásobí; cena se zmenší na polovinu. Paralelismus

Více

0x5DLaBAKx5FC517D0FEA3

0x5DLaBAKx5FC517D0FEA3 0x5DLaBAKx5FC517D0FEA3 Laboratoř bezpečnosti a aplikované kryptografie Vašek Matyáš Laboratoř bezpečnosti a aplikované kryptografie (LaBAK) 1/26 LaBAK výzkum Spolupráce s MVČR, NBÚ Spolupráce se zahraničními

Více

EXTRAKT z české technické normy

EXTRAKT z české technické normy EXTRAKT z české technické normy Extrakt nenahrazuje samotnou technickou normu, je pouze informativním 35.240.60 materiálem o normě. Dopravní telematika Elektronický výběr poplatků (EFC) Definice rozhraní

Více

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

Kryptografie, elektronický podpis. Ing. Miloslav Hub, Ph.D. 27. listopadu 2007 Kryptografie, elektronický podpis Ing. Miloslav Hub, Ph.D. 27. listopadu 2007 Kryptologie Kryptologie věda o šifrování, dělí se: Kryptografie nauka o metodách utajování smyslu zpráv převodem do podoby,

Více

Práce v textovém editoru

Práce v textovém editoru Práce v textovém editoru 0) Otevřete NOTEPAD a okopírujte celý tento článek do NOTEPADu. [Můžete použít zkratky Ctrl-A (označit vše) Ctrl+C(kopírovat), Ctrl+V (vložit)] 1) Najděte v tomto textu slovo "myš"

Více

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115 Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115 Číslo projektu: Číslo šablony: 3 CZ.1.07/1.5.00/34.0410 Název materiálu: Ročník: Identifikace materiálu: Jméno autora: Předmět: Tématický celek:

Více

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115 Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115 Číslo projektu: CZ.1.07/1.5.00/34.0410 Číslo šablony: 17 Název materiálu: Ročník: Identifikace materiálu: Jméno autora: Předmět: Tématický celek:

Více

Architektury počítačů a procesorů

Architektury počítačů a procesorů Kapitola 3 Architektury počítačů a procesorů 3.1 Von Neumannova (a harvardská) architektura Von Neumann 1. počítač se skládá z funkčních jednotek - paměť, řadič, aritmetická jednotka, vstupní a výstupní

Více

Profilová část maturitní zkoušky 2013/2014

Profilová část maturitní zkoušky 2013/2014 Střední průmyslová škola, Přerov, Havlíčkova 2 751 52 Přerov Profilová část maturitní zkoušky 2013/2014 TEMATICKÉ OKRUHY A HODNOTÍCÍ KRITÉRIA Studijní obor: 78-42-M/01 Technické lyceum Předmět: TECHNIKA

Více

ODBORNÝ VÝCVIK VE 3. TISÍCILETÍ. MEIII Paměti konstant

ODBORNÝ VÝCVIK VE 3. TISÍCILETÍ. MEIII Paměti konstant Projekt: ODBORNÝ VÝCVIK VE 3. TISÍCILETÍ Téma: MEIII - 1.5 Paměti konstant Obor: Mechanik elektronik Ročník: 3. Zpracoval(a): Jiří Kolář Střední průmyslová škola Uherský Brod, 2010 Projekt je spolufinancován

Více

Historie. Děrné štítky

Historie. Děrné štítky Paměťová média Děrné štítky Historie Prvním paměťovým médiem byli děrné štítky. Jednalo se o většinou papírové štítky. Datová kapacita byla minimální, rychlost čtení malá a rychlost zápisu ještě menší.

Více

Gymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto

Gymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto Gymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto Registrační číslo projektu Šablona Autor Název materiálu / Druh CZ.1.07/1.5.00/34.0951 III/2 INOVACE A ZKVALITNĚNÍ VÝUKY PROSTŘEDNICTVÍM ICT

Více

Paměť počítače. 0 (neprochází proud) 1 (prochází proud)

Paměť počítače. 0 (neprochází proud) 1 (prochází proud) Paměť počítače Paměť je nezbytnou součástí jakéhokoli počítače. Slouží k uložení základních informací počítače, operačního systému, aplikačních programů a dat uživatele. Počítače jsou vybudovány z bistabilních

Více

Přednáška. Vstup/Výstup. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

Přednáška. Vstup/Výstup. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012 Přednáška Vstup/Výstup. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012 Příprava studijního programu Informatika je podporována projektem financovaným z Evropského

Více

Základní deska (1) Označována také jako mainboard, motherboard. Deska plošného spoje tvořící základ celého počítače Zpravidla obsahuje:

Základní deska (1) Označována také jako mainboard, motherboard. Deska plošného spoje tvořící základ celého počítače Zpravidla obsahuje: Základní deska (1) Označována také jako mainboard, motherboard Deska plošného spoje tvořící základ celého počítače Zpravidla obsahuje: procesor (mikroprocesor) patici pro numerický koprocesor (resp. osazený

Více

FASTPort. Nová sběrnice pro připojení inteligentních karet* k osmibitovým počítačům. aneb. Jak připojit koprocesor

FASTPort. Nová sběrnice pro připojení inteligentních karet* k osmibitovým počítačům. aneb. Jak připojit koprocesor FASTPort Nová sběrnice pro připojení inteligentních karet* k osmibitovým počítačům aneb Jak připojit koprocesor *) inteligentní karta = karta vybavená vlastním procesorem J. Němeček 12. 10. 2013 úvodní

Více

INFORMAČNÍ A KOMUNIKAČNÍ TECHNOLOGIE

INFORMAČNÍ A KOMUNIKAČNÍ TECHNOLOGIE Název školy: Střední odborná škola stavební Karlovy Vary Sabinovo náměstí 16, 360 09 Karlovy Vary Autor: Ing. Hana Šmídová Název materiálu: VY_32_INOVACE_13_HARDWARE_S1 Číslo projektu: CZ 1.07/1.5.00/34.1077

Více

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

kryptosystémy obecně další zajímavé substituční šifry klíčové hospodářství kryptografická pravidla Hillova šifra Vernamova šifra Knižní šifra kryptosystémy obecně klíčové hospodářství klíč K, prostor klíčů T K kryptografická pravidla další zajímavé substituční šifry Hillova šifra Vernamova šifra Knižní šifra klíč K různě dlouhá posloupnost znaků

Více

VÝUKOVÝ MATERIÁL. 3. ročník učebního oboru Elektrikář Přílohy. bez příloh. Identifikační údaje školy

VÝUKOVÝ MATERIÁL. 3. ročník učebního oboru Elektrikář Přílohy. bez příloh. Identifikační údaje školy VÝUKOVÝ MATERIÁL Identifikační údaje školy Číslo projektu Název projektu Číslo a název šablony Autor Tematická oblast Číslo a název materiálu Anotace Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková

Více

Paměti počítače ROM, RAM

Paměti počítače ROM, RAM Paměti počítače ROM, RAM Paměť je zařízení, které slouží k ukládání programů a dat, s nimiž počítač pracuje. Paměti počítače lze rozdělit do tří základních skupin: registry paměťová místa na čipu procesoru

Více

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

POPIS STANDARDU CEN TC278/WG4. 1 z 5. Oblast: TTI. Zkrácený název: Zprávy přes CN 4. Norma číslo: POPIS STANDARDU CEN TC278/WG4 Oblast: TTI Zkrácený název: Zprávy přes CN 4 Norma číslo: 14821-4 Norma název (en): Traffic and Traveller Information (TTI) TTI messages via cellular networks Part 4: Service-independent

Více

Solid State Drive SSD polovodičový disk. J. Vrzal, verze 0.8

Solid State Drive SSD polovodičový disk. J. Vrzal, verze 0.8 Solid State Drive SSD polovodičový disk J. Vrzal, verze 0.8 Charakteristika SSD Charakteristika SSD soustava energeticky nezávislých flash pamětí, které jsou osazeny na destičce tištěného spoje alternativa

Více

FPGA + mikroprocesorové jádro:

FPGA + mikroprocesorové jádro: Úvod: V tomto dokumentu je stručný popis programovatelných obvodů od firmy ALTERA www.altera.com, které umožňují realizovat číslicové systémy s procesorem v jenom programovatelném integrovaném obvodu (SOPC

Více

Nadpis. Nadpis 2. Božetěchova 2, 612 66 Brno jmeno@fit.vutbr.cz. ihenzl@fit.vutbr.cz

Nadpis. Nadpis 2. Božetěchova 2, 612 66 Brno jmeno@fit.vutbr.cz. ihenzl@fit.vutbr.cz Nadpis 1 Nadpis 2 Čipové Nadpis karty 3 Jméno Martin Příjmení Henzl VysokéVysoké učení technické učení technické v Brně,vFakulta Brně, Fakulta informačních informačních technologií technologií v Brně Božetěchova

Více

Jak do počítače. aneb. Co je vlastně uvnitř

Jak do počítače. aneb. Co je vlastně uvnitř Jak do počítače aneb Co je vlastně uvnitř Po odkrytí svrchních desek uvidíme... Von Neumannovo schéma Řadič ALU Vstupně/výstupní zař. Operační paměť Počítač je zařízení, které vstupní údaje transformuje

Více

Profilová část maturitní zkoušky 2014/2015

Profilová část maturitní zkoušky 2014/2015 Střední průmyslová škola, Přerov, Havlíčkova 2 751 52 Přerov Profilová část maturitní zkoušky 2014/2015 TEMATICKÉ OKRUHY A HODNOTÍCÍ KRITÉRIA Studijní obor: 26-41-M/01 Elektrotechnika Zaměření: technika

Více

Profilová část maturitní zkoušky 2017/2018

Profilová část maturitní zkoušky 2017/2018 Střední průmyslová škola, Přerov, Havlíčkova 2 751 52 Přerov Profilová část maturitní zkoušky 2017/2018 TEMATICKÉ OKRUHY A HODNOTÍCÍ KRITÉRIA Studijní obor: 78-42-M/01 Technické lyceum Předmět: TECHNIKA

Více

Principy komunikace s adaptéry periferních zařízení (PZ)

Principy komunikace s adaptéry periferních zařízení (PZ) Principy komunikace s adaptéry periferních zařízení (PZ) Několik možností kategorizace principů komunikace s externími adaptéry, např.: 1. Podle způsobu adresace registrů, které jsou součástí adaptérů.

Více

Činnost počítače po zapnutí

Činnost počítače po zapnutí Projekt: Inovace oboru Mechatronik pro Zlínský kraj Registrační číslo: CZ.1.07/1.1.08/03.0009 Činnost počítače po zapnutí Paměť RWM(Read Write Memory - paměť pro čtení a zápis, označovaná také jako RAM)

Více

Přednášky o výpočetní technice. Hardware teoreticky. Adam Dominec 2010

Přednášky o výpočetní technice. Hardware teoreticky. Adam Dominec 2010 Přednášky o výpočetní technice Hardware teoreticky Adam Dominec 2010 Rozvržení Historie Procesor Paměť Základní deska přednášky o výpočetní technice Počítací stroje Mechanické počítačky se rozvíjely už

Více

Činnost CPU. IMTEE Přednáška č. 2. Několik úrovní abstrakce od obvodů CPU: Hodinový cyklus fáze strojový cyklus instrukční cyklus

Činnost CPU. IMTEE Přednáška č. 2. Několik úrovní abstrakce od obvodů CPU: Hodinový cyklus fáze strojový cyklus instrukční cyklus Činnost CPU Několik úrovní abstrakce od obvodů CPU: Hodinový cyklus fáze strojový cyklus instrukční cyklus Hodinový cyklus CPU je synchronní obvod nutné hodiny (f CLK ) Instrukční cyklus IF = doba potřebná

Více

Software pro vzdálenou laboratoř

Software pro vzdálenou laboratoř Software pro vzdálenou laboratoř Autor: Vladimír Hamada, Petr Sadovský Typ: Software Rok: 2012 Samostatnou část vzdálených laboratoří tvoří programové vybavené, které je oživuje HW část vzdáleného experimentu

Více

Architektura počítačů Logické obvody

Architektura počítačů Logické obvody Architektura počítačů Logické obvody http://d3s.mff.cuni.cz/teaching/computer_architecture/ Lubomír Bulej bulej@d3s.mff.cuni.cz CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics Digitální

Více

Gymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto

Gymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto Gymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto Registrační číslo projektu Šablona Autor Název materiálu CZ.1.07/1.5.00/34.0951 III/2 INOVACE A ZKVALITNĚNÍ VÝUKY PROSTŘEDNICTVÍM ICT Mgr. Petr

Více

Moderní kontaktní a bezkontaktní čipové karty Ing. Radim Pust

Moderní kontaktní a bezkontaktní čipové karty Ing. Radim Pust Moderní kontaktní a bezkontaktní čipové karty Ing. Radim Pust Vysoké učení technické v Brně, Fakulta elektrotechniky a komunikačních technologií, Ústav telekomunikací, Purkyňova 118, 612 00 Brno, Česká

Více

Pokročilé architektury počítačů

Pokročilé architektury počítačů Pokročilé architektury počítačů Tutoriál 2 Virtualizace a její dopady Martin Milata Obsah Virtualizace Jak virtualizace funguje Typy HW podpora virtualizace Dopady virtualizace Jak virtualizace funguje?

Více

DUM č. 10 v sadě. 31. Inf-7 Technické vybavení počítačů

DUM č. 10 v sadě. 31. Inf-7 Technické vybavení počítačů projekt GML Brno Docens DUM č. 10 v sadě 31. Inf-7 Technické vybavení počítačů Autor: Roman Hrdlička Datum: 04.12.2013 Ročník: 1A, 1B, 1C Anotace DUMu: jak fungují vnitřní paměti, typy ROM a RAM pamětí,

Více

Gymnázium Vysoké Mýto nám. Vaňorného 163, Vysoké Mýto

Gymnázium Vysoké Mýto nám. Vaňorného 163, Vysoké Mýto Gymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto Registrační číslo projektu Šablona Autor Název materiálu CZ.1.07/1.5.00/34.0951 III/2 INOVACE A ZKVALITNĚNÍ VÝUKY PROSTŘEDNICTVÍM ICT Mgr. Petr

Více

ZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ 2013 1.3 2/14

ZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ 2013 1.3 2/14 ZÁKLADY PROGRAMOVÁNÍ Mgr. Vladislav BEDNÁŘ 2013 1.3 2/14 Co je vhodné vědět, než si vybereme programovací jazyk a začneme programovat roboty. 1 / 14 0:40 1.3. Vliv hardware počítače na programování Vliv

Více

SKŘÍŇ PC. Základní součástí počítačové sestavy je skříň.

SKŘÍŇ PC. Základní součástí počítačové sestavy je skříň. SKŘÍŇ PC Základní součástí počítačové sestavy je skříň. Obsah skříně PC Skříň PC je nejdůležitější částí PC sestavy. Bez ní by počítač nemohl pracovat. Jsou v ní umístěny další součástky hardwaru, které

Více

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

Kryptoanalýza šifry PRESENT pomocí rekonfigurovatelného hardware COPACOBANA Kryptoanalýza šifry PRESENT pomocí rekonfigurovatelného hardware COPACOBANA Jan Pospíšil, pospij17@fit.cvut.cz, Martin Novotný, novotnym@fit.cvut.cz Katedra číslicového návrhu Fakulta informačních technologíı

Více

Představíme základy bezdrátových sítí. Popíšeme jednotlivé typy sítí a zabezpečení.

Představíme základy bezdrátových sítí. Popíšeme jednotlivé typy sítí a zabezpečení. 10. Bezdrátové sítě Studijní cíl Představíme základy bezdrátových sítí. Popíšeme jednotlivé typy sítí a zabezpečení. Doba nutná k nastudování 1,5 hodiny Bezdrátové komunikační technologie Uvedená kapitola

Více

1 Dodání a implementace elektronické peněženky ČZU

1 Dodání a implementace elektronické peněženky ČZU Příloha č. 1 Předmět plnění veřejné zakázky Předmětem plnění této veřejné zakázky je realizace, implementace a provoz systému elektronické peněženky na České zemědělské univerzitě v Praze. Skládá se z

Více

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115 Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115 Číslo projektu: Číslo šablony: 12 Název materiálu: Ročník: Identifikace materiálu: Jméno autora: Předmět: Tématický celek: Anotace: CZ.1.07/1.5.00/34.0410

Více

Strojový kód. Instrukce počítače

Strojový kód. Instrukce počítače Strojový kód Strojový kód (Machine code) je program vyjádřený v počítači jako posloupnost instrukcí procesoru (posloupnost bajtů, resp. bitů). Z hlediska uživatele je strojový kód nesrozumitelný, z hlediska

Více

INFORMAČNÍ A KOMUNIKAČNÍ TECHNOLOGIE

INFORMAČNÍ A KOMUNIKAČNÍ TECHNOLOGIE Název školy: Střední odborná škola stavební Karlovy Vary Sabinovo náměstí 16, 360 09 Karlovy Vary Autor: Ing. Hana Šmídová Název materiálu: VY_32_INOVACE_12_HARDWARE_S1 Číslo projektu: CZ 1.07/1.5.00/34.1077

Více

INFORMAČNÍ A KOMUNIKAČNÍ TECHNOLOGIE

INFORMAČNÍ A KOMUNIKAČNÍ TECHNOLOGIE Název školy: Střední odborná škola stavební Karlovy Vary Sabinovo náměstí 16, 360 09 Karlovy Vary Autor: Ing. Hana Šmídová Název materiálu: VY_32_INOVACE_14_HARDWARE_S1 Číslo projektu: CZ 1.07/1.5.00/34.1077

Více

Přehled paralelních architektur. Dělení paralelních architektur Flynnova taxonomie Komunikační modely paralelních architektur

Přehled paralelních architektur. Dělení paralelních architektur Flynnova taxonomie Komunikační modely paralelních architektur Přehled paralelních architektur Přehled paralelních architektur Dělení paralelních architektur Flynnova taxonomie Komunikační modely paralelních architektur Přehled I. paralelní počítače se konstruují

Více

KOMBINAČNÍ LOGICKÉ OBVODY

KOMBINAČNÍ LOGICKÉ OBVODY Projekt: Inovace oboru Mechatronik pro Zlínský kraj Registrační číslo: CZ.1.07/1.1.08/03.0009 KOMBINAČNÍ LOGICKÉ OBVODY U těchto obvodů je vstup určen jen výhradně kombinací vstupních veličin. Hodnoty

Více

Jako pomůcka jsou v pravém dolním rohu vypsány binární kódy čísel od 0 do 15 a binární kódy příkazů, které máme dispozici (obr.21). Obr.

Jako pomůcka jsou v pravém dolním rohu vypsány binární kódy čísel od 0 do 15 a binární kódy příkazů, které máme dispozici (obr.21). Obr. Model procesoru Jedná se o blokové schéma složené z registrů, paměti RAM, programového čítače, instrukčního registru, sčítačky a řídicí jednotky, které jsou propojeny sběrnicemi. Tento model má dva stavy:

Více

Zabezpečení v síti IP

Zabezpečení v síti IP Zabezpečení v síti IP Problematika zabezpečení je dnes v počítačových sítích jednou z nejdůležitějších oblastí. Uvážíme-li kolik citlivých informací je dnes v počítačích uloženo pak je požadavek na co

Více

MODUL 3 KANÁLOVÉHO D/A PŘEVODNÍKU 0 25 ma

MODUL 3 KANÁLOVÉHO D/A PŘEVODNÍKU 0 25 ma MODUL 3 KANÁLOVÉHO D/A VLASTNOSTI 3 galvanicky oddělené pasivní proudové výstupy izolační napětí mezi kanály 600V () 16-ti bitový D/A převod kontrola integrity proudové smyčky definovaná hodnota výstupu

Více