Č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



Podobné dokumenty
OKsmart a správa karet v systému OKbase

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

Programování v Javě I. Únor 2009

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Hybridní čipové karty

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

Programování v Javě I. Leden 2008

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

Čipové karty Lekařská informatika

Algoritmizace a programování

IT Bezpečnostní technologie pro systémy integrované bezpečnosti

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

Testovací protokol USB token etoken PRO 32K

VaV projekt TA je řešen s finanční podporou TA ČR

Google Web Toolkit. Martin Šurkovský, SUR března Katedra informatiky

Testovací protokol USB Token Cryptomate

Middleware eop. Instalační příručka pro práci s eop v prostředí MS Windows

Middleware eop. Instalační příručka pro práci s eop v prostředí MS Windows

Testovací protokol čipová karta etoken PRO SmartCard 32K

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

Vytváření a použití knihoven tříd

Zkušenosti s odbavovacím systémem firmy Mikroelektronika DOPRAVNÍ PODNIK měst Mostu a Litvínova, a.s.

Samoobslužné odbavení čipových karet

Úvod do programovacích jazyků (Java)

Odolnost kryptografického HW s ohledem na nasazení

Městské karty - úspěšná služba občanům regionů

OSGi. Aplikační programování v Javě (BI-APJ) - 6 Ing. Jiří Daněček Katedra softwarového inženýrství Fakulta informačních technologií ČVUT Praha

Využívání čipových karet na MPSV. Mgr. Karel Lux, vedoucí odd. koncepce informatiky

Manuál pro práci s kontaktním čipem karty ČVUT

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

Úvod do programování v jazyce Java

Prezentace platebního systému PAIMA

Obsah. Úroveň I - Přehled. Úroveň II - Principy. Kapitola 1. Kapitola 2

MOBILNÍ ZAŘÍZENÍ JAKO AUTENTIZAČNÍ NÁSTROJ A JEHO INTEGRACE DO SYSTÉMŮ MILAN HRDLIČKA MONET+ BŘEZEN 2015

Inspirace systémem. Princip fungování

Bezpečnostní mechanismy

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

skarta inovativní nástroj státní správy

Generování žádosti o kvalifikovaný certifikát pro uložení na eop Uživatelská příručka pro Internet Explorer

ipové karty, standardy PKCS#11, PKCS#15

Demonstrace šifrování na platformě Java Card

Teoretické minimum z PJV

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

Testovací protokol čipová karta ACOS5

František Maleč technický ředitel Státní tiskárna cenin, s.p. Libor Šmíd vedoucí obchodní skupiny Státní správa Monet+, a.s.

Systém GlobalPlatform

Microsoft Windows Server System

NetBeans platforma. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Java Cvičení 01. CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics

Digitální identita. zlý pán nebo dobrý sluha? Martin Jelínek, ASKON INTERNATIONAL s.r.o.

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Co je Czech Point? Podací Ověřovací Informační Národní Terminál, zredukovat přílišnou byrokracii ve vztahu

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

Správa přístupu PS3-1

SiPass integrated MP2.4

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

Abstraktní datové typy: zásobník

INSTALACE SW PROID+ V OS LINUX

Integrace OpenOffice.org a Javy. CZJUG, , Robert Vojta

Příklad : String txt1 = new String( Ahoj vsichni! ); //vytvoří instanci třídy String a přiřadí ji vnitřní hodnotu Ahoj vsichni!

INFORMAČNÍ A KOMUNIKAČNÍ TECHNOLOGIE

Generování žádostí o kvalifikovaný certifikát a instalace certifikátu Uživatelská příručka pro prohlížeč Internet Explorer

2 Popis softwaru Administrative Management Center

Vývojové nástroje jazyka Java

Jalapeño: pekelně ostrá Java persistence v Caché. Daniel Kutáč Senior Sales Engineer

Aplikace pro ochranu mobilní komunikace před odposlechem a zneužitím citlivých informací.

Reverzování NFC karet

Principy objektově orientovaného programování

Seminář Java II p.1/43

Základní deska (motherboard, mainboard)

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Technické podmínky pro uživatele služeb přímého bankovnictví

Úvod Seznámení s předmětem Co je.net Vlastnosti.NET Konec. Programování v C# Úvodní slovo 1 / 25

(JME) Vybrané partie z jazyka Java (NPRG021) Jiří Tomeš

Otevřená řešení v dopravě MasterCard

Architektura odbavovacího systému s použitím BČK

Manuál Multitag čtečka

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

Autonomní snímací jednotky řady SU104*

Úvod do programování - Java

Kontrolní seznam projektu a systémové požadavky Xesar 3.0

RMI Remote Method Invocation

INSTALACE SOFTWARE PROID+ NA MS WINDOWS

Oracle 1.6.0_43 Oracle 1.7.0_17* a novější verze. Oracle 1.6.0_43 Oracle 1.7.0_17* a novější verze. Oracle 1.6.0_43 Oracle 1.7.0_17* a novější verze

Technologie Java. Jaroslav Žáček

Technické podmínky I. Služby: II. Technické podmínky pro službu MojeBanka, MojeBanka Business, MojePlatba a Expresní linka Plus

ŠKOLENÍ PROGRAMOVACÍHO JAZYKA JAVA JAVA - ZÁKLADY

O2 ENTERPRISE SECURITY. Vít Jergl, Vladimír Kajš

ZAŘÍZENÍ PRO VZDÁLENÝ SBĚR A PŘENOS DAT FIRMWARE

Důvěřujte JEN PROVĚŘENÝM Personal Identity Verification

ČSOB Business Connector instalační příručka

Certifikace pro výrobu čipové karty třetí stranou

Obsah přednášky 7. Základy programování (IZAPR) Přednáška 7. Parametry metod. Parametry, argumenty. Parametry metod.

SECTRON s.r.o. Výstavní 2510/10, Ostrava - Mariánské Hory , sales@sectron.cz

Reverzování NFC EMV karet. Ondrej Mikle

Semináˇr Java X J2EE Semináˇr Java X p.1/23

Terminálová zařízení infrastruktury a palubních systémů. Technologická podpora Integrovaných dopravních systémů

Metodika ověřování zařízení pro odbavovací a informační systémy ve veřejné osobní dopravě

Transkript:

Č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í fond Praha& EU: Investujeme do vaší budoucnosti 1

Proč čipové karty Nosič informace spojené s nějakým užitečným účelem token Odolnost proti padělání Druhý faktor autentizace 1. Co víme (heslo, PIN) 2. Co máme (ČK) 3. Co jsme (prst, sítnice, obličej, hlas...) Škrabka na nádobí (Odvrácená stránka množství různých karet) MI-BHW Jiří Buček 5. Čipové karty úvod, Java Card 2

Příklady Předplacené telefonní karty (minulé tisíciletí) SIM Subscriber Identification Module (GSM) VISA/MC/EMV platební karty Průkaz pro vstup do budovy Elektronická jízdenka Průkaz na slevu Elektronická peněženka Označ. zvířete, člověka (ale to už nejsou karty) MI-BHW Jiří Buček 5. Čipové karty úvod, Java Card 3

Rozhraní Kontaktní (např. ISO 7816-2, USB,...) Bezkontaktní (např. ISO 14443) Kombinace kontaktního a bezkontaktního dva čipy hybridní jeden čip, dvě rozhraní duální (dual interface) Elektrické Elektromagnetické rádiové Optické potisk, záznam MI-BHW Jiří Buček 5. Čipové karty úvod, Java Card 4

Co je uvnitř Nic (skoro) jen propojené kontakty, rezonanční obvod apod. to ale není smart ani čipová Paměť ROM s unikátním sériovým číslem EEPROM zabezpečená paměť (např. Philips/NXP MIFARE Classic) ani ta ještě není smart v užším smyslu MI-BHW Jiří Buček 5. Čipové karty úvod, Java Card 5

Co je uvnitř (2) Počítač Konfigurovatelný pomocí API Programovaný při výrobě Programovatelný v terénu (např. Java Cards) Standard GlobalPlatform (dříve OpenPlatform) správa aplikací S krypto procesorem CPU, RAM, ROM, EEPROM, komunikační rozhraní, obvody napájení MI-BHW Jiří Buček 5. Čipové karty úvod, Java Card 6

Systém s čipovými kartami Čipová karta, token... data (+ aplikace) na kartě, klíče,... Čtečka terminál Middleware standardní API např. PKCS#11, Windows CSP Uživatelská aplikace (mail klient) Server,... MI-BHW Jiří Buček 5. Čipové karty úvod, Java Card 7

Prvky zabezpečení Nic doufáme, že nikdo neposlouchá, nenahrává, neopakuje. Spoléháme se, že nevzniknou klony, emulátory. Symetrická autentizace a šifrování klíč je tajný, sdílený mezi kartou a terminálem. Možno použít odvozování (diverzifikaci) klíčů Asymetrická schémata veřejný a soukromý klíč, PKI, certifikáty, řetězec důvěry MI-BHW Jiří Buček 5. Čipové karty úvod, Java Card 8

ISO 7816 komunikace MI-BHW Jiří Buček 5. Čipové karty úvod, Java Card 9

ISO 7816 komunikace (2) MI-BHW Jiří Buček 5. Čipové karty úvod, Java Card 10

Příklad APDU výběr aplikace CLA INS P1 P2 LC DATA 00 A4 04 00 06 41 42 43 44 45 46 00 standardní příkaz ISO 7816 A4 SELECT vyber (soub./aplik.) 04 vyber podle jména (AID) 00 (vrať nepovinnou FCI) 06 délka datového pole s AID číslo aplikace (AID) 41 42 43 44 45 46 MI-BHW Jiří Buček 5. Čipové karty úvod, Java Card 11

Java karty Karta obsahuje počítač + Java VM Podmnožina jazyka Java Zjednodušený VM, předzpracování (konverze) Java interpreter (většinou částečná HW podpora) Java Card Framework, runtime Persistence dat ( heap je v EEPROM ) Podpora transakčního zpracování Na Java kartách: Aplikace Applet MI-BHW Jiří Buček 5. Čipové karty úvod, Java Card 12

Java karty rysy jazyka Omezená množina typů: ano: byte (8), short (16) nepovinně: int (32) ne: long, float, double Nepodporováno: znaky, řetězce, vícerozměrná pole, dynamické nahrávání tříd, GC a finalizace, serializace, klonování objektů runtime java.lang, javacard.framework, javacard.security, javacardx.crypto, (java.rmi,...) V novějších verzích i float, řetězce, servlety... MI-BHW Jiří Buček 5. Čipové karty úvod, Java Card 13

Běhové prostředí appletů W. Rankl, W. Effing: Smart Card Handbook MI-BHW Jiří Buček 5. Čipové karty úvod, Java Card 14

Vývojové prostředky Java SE JDK Java Card Development Kit (záleží na verzi) knihovny simulátory konvertor převod formátu.class.cap (Converted APplet) exporty podpora pro verifikaci a linking při konverzi Instalátor nahrává applet na kartu (např. GPShell) IDE nepovinné, např. NetBeans, Eclipse,... MI-BHW Jiří Buček 5. Čipové karty úvod, Java Card 15

Proces překladu Zdrojový text.java javac... Přeložený kód.class converter... (výchozí AID) Převedený applet/knihovna.cap např. gpshell... (LOAD, AID load file) Load file na kartě př. gpshell... (INSTALL, AID instance) Instance appletu na kartě (zkonstruovaný objekt) MI-BHW Jiří Buček 5. Čipové karty úvod, Java Card 16

Struktura Appletu package pack1; import javacard.framework.*; public class Applet1 extends Applet { public static void install(byte[] barray, short boffset, byte blength) { new Applet1(); } protected Applet1() { register(); } public void process(apdu apdu) {... } } MI-BHW Jiří Buček 5. Čipové karty úvod, Java Card 17

Na co dát pozor Není GC, nevytvářet zbytečně objekty Při instalaci vytvořit, co je potřeba Objekty na heapu jsou perzistentní Příliš mnoho změn opotřebuje EEPROM, navíc pomalé Dá se vytvořit tranzientní pole typ. pro větší mezivýsledky Nahrávání appletů na HW kartu je zabezpečené Nepřekročit maximum čítače neúspěšných pokusů o autentizaci (!) MI-BHW Jiří Buček 5. Čipové karty úvod, Java Card 18

DEMO Netbeans IDE 6.8+ Java Card pluginy jsou ve standardním repozitáři, pro simulaci stačí MI-BHW Jiří Buček 5. Čipové karty úvod, Java Card 19