Systém GlobalPlatform



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

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

Č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

OKsmart a správa karet v systému OKbase

EXTRAKT z technické normy CEN ISO

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.

MS WINDOWS II. Jádro. Správa objektů. Správa procesů. Zabezpečení. Správa paměti

Reverzování NFC karet

Čipové karty Lekařská informatika

Reverzování NFC EMV karet. Ondrej Mikle

Představení systému MAP

Bezpečnost elektronických platebních systémů

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

TECHNICKÁ SPECIFIKACE VEŘEJNÉ ZAKÁZKY

EXTRAKT z české technické normy

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

Počítačové sítě Systém pro přenos souborů protokol FTP

db-direct internet Customer Self Administration (vlastní správa uživatelů) Uživatelská příručka

SSL Secure Sockets Layer

Procesy a vlákna (Processes and Threads)

Šifrování. Tancuj tak, jako když se nikdo nedívá. Šifruj tak, jako když se dívají všichni! Martin Kotyk IT Security Consultnant

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

Certifikáty a jejich použití

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

E-DOKLAD. Elektronický občanský průkaz. STÁTNÍ TISKÁRNA CENIN, státní podnik. Petr Fikar, ředitel rozvoje produktů a služeb

E-DOKLAD. Elektronický občanský průkaz. STÁTNÍ TISKÁRNA CENIN, státní podnik. Petr Fikar, ředitel rozvoje produktů a služeb

Přednáška 2. Systémy souborů OS UNIX. Nástroje pro práci se souborovým systémem. Úvod do Operačních Systémů Přednáška 2

EXTRAKT z mezinárodní normy

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

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

Management procesu I Mgr. Josef Horálek

Základy počítačových sítí Model počítačové sítě, protokoly

Local Interconnect Network - LIN

Testovací protokol USB token etoken PRO 32K

Testovací protokol USB Token Cryptomate

Technická komise ISO/JTC1/SC 27 Technická normalizační komise ÚNMZ TNK 20

FMS OEM CHIP V7 Stažení digitálního tachografu a karty řidiče

Čipová platforma pro evropské identifikační doklady

Elektronické OP v EU. Poučíme se ze zkušeností zemí, které vydaly a používají eop? Ivo Rosol ředitel vývojové divize

TÉMATICKÝ OKRUH Softwarové inženýrství

Tonda Beneš Ochrana informace podzim 2011

Athena Uživatelská dokumentace v

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

RESTful API TAMZ 1. Cvičení 11

Bezpečnost internetového bankovnictví, bankomaty

Zavádění PKI infrastruktury v organizaci - procesní aspekty. Vlastimil Červený, Kateřina Minaříková Deloitte Advisory, s.r.o.

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

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

Administrace Oracle. Práva a role, audit

PV157 Autentizace a řízení přístupu

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

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

E-DOKLAD. Elektronický občanský průkaz. STÁTNÍ TISKÁRNA CENIN, státní podnik. Petr Fikar, ředitel rozvoje produktů a služeb

EXTRAKT z české technické normy

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

Projekt IEEE 802, normy ISO 8802

Jak efektivně ochránit Informix?

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

POKYNY K INSTALACI JAVA PLUGINU A ELEKTRONICKÉHO PODPISU V SYSTÉMU ELZA. Stav ke dni verze 1.0

Identifikace a autentizace

Bezpečnost sítí

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

Provozní manuál DNSSec pro registr.cz a e164.arpa

Prokazování dlouhodobé platnosti datových zpráv. Jihlava,

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

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

Protokol TELNET. Schéma funkčních modulů komunikace protokolem TELNET. Telnet klient. login shell. Telnet server TCP/IP TCP/IP.

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

0x5DLaBAKx5FC517D0FEA3

seznam je seřazen podle (implementační) složitosti, které tentokrát přímo úměrně odpovídá kvalita poskytované ochrany

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

DNSSEC Validátor - doplněk prohlížečů proti podvržení domény

INSTALACE SW PROID+ V OS LINUX

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

2 Popis softwaru Administrative Management Center

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

VYHLÁŠKA. č. 18/2014 Sb., o stanovení podmínek postupu při elektronické dražbě. ze dne 24. ledna 2014

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

Artikul system s.r.o. UŽIVATELSKÁ PŘÍRUČKA tel

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

Bezpečn č os o t t dat

Uživatelský manuál. KNXgw232

Správa stanic a uživatelského desktopu

Činnost počítače po zapnutí

Protokol TELNET. Schéma funkčních modulů komunikace protokolem TELNET. Telnet klient. login shell. Telnet server TCP/IP.

JE UŽ eidentita ZA DVEŘMI? Michal Pešek Správa základních registrů 31. května 2018

INSTALACE SOFTWARE PROID+ NA MS WINDOWS

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

Výměnný formát XML DTM DMVS PK

Databáze I. 5. přednáška. Helena Palovská

Windows Server 2003 Active Directory

Chybová hlášení METODIKA MET-01/2014. SZR-56-1/OPICT-2013 počet stran 28 přílohy 0. Nahrazuje:

Desktop systémy Microsoft Windows

Model ver SYSTEM EXCLUSIVE KOMUNIKACE CHD Elektroservis

Základní registry veřejné správy. Ing.Ondřej Felix, CSc., hlavní architekt egovernmentu MV ČR

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

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

Principy Základních registrů. Ing. Ondřej Felix, CSc.

HP JetAdvantage Management. Oficiální zpráva o zabezpečení

Instalace software eobčanka pro macos. instalační příručka

Transkript:

Systém GlobalPlatform Specifikace pro správu čipových karet Ivo Rosol ředitel divize vývoje Praha, 19.5.2011

GlobalPlatform GlobalPlatform je nezisková organizace, která identifikuje, vyvíjí a publikuje specifikace (mezinárodní průmyslové defacto standardy) pro bezpečné a interoperabilní nasazení a správu aplikací na bezpečných čipových technologiích. Organizace má 3 výbory Card Committee, Device Commitee (bezdrátová multiaplikační zařízení), Systems Commitee (systémová infrastruktura- back-office). Bližší informace a specifikace lze nalézt na web adrese www.globalplatform.org 2

Global Platform - specifikace pro správu čipových karet Specifikace GlobalPlatform (GP) pro správu čipových karet s otevřeným systémem (Java Card, MULTOS): GP umožňuje vydavatelům čipových karet vytvářet jedno i víceaplikační systémy, které mohou pružně reagovat na budoucí požadavky. Specifikace GP tak chrání nejvýznamnější část investic do systému čipových karet infrastrukturu. Čipové karty, které mají implementován systém podle specifikací GP, umožňují používat bezpečný mechanismus nahrávání a instalace aplikací na kartu a zajistit tak řízení životního cyklu multiaplikačních karet. Návrh GP předpokládá, že vydavatel nechce nutně spravovat veškerý obsah karty, zejména ten obsah, který mu nepatří. 3

Cíl prezentace V přednášce budou diskutovány především následující mechanismy specifikace GP v2.2: Architektura čipové karty se systémem GP Výklad základních pojmů Životní cyklus aplikace a domény Správa obsahu čipové karty Práva aplikací a domén Práva ke klíčům Bezpečnostní operace při nahrávání kódu aplikace Delegovaná správa Příklady užití GlobalPlatform pro různé modely správy čipových karet 4

Architektura čipové karty se systémem GP 5

Výklad pojmů 1/6 Bezpečnostní domény jsou privilegované (systémové) aplikace (nikoli místa v paměti, do kterých se instalují aplikace), mají nastaveno právo #0 Security Domain. Obsahují kryptografické klíče, určené pro vytvoření bezpečného kanálu a pro autorizaci operací pro správu karty. Prostřednictvím domén se provádí (inicializuje) správa obsahu karty 6

Výklad pojmů 2/6 Load File soubor určený k nahrání na GP kartu, který obsahuje Load File Data Block a volitelně jeden nebo více DAP bloků. Výsledkem nahrání Load File je Executable Load File rezidentní na kartě a příslušný záznam v GP registru. Load File Data Block část Load File, která obsahuje jednu nebo více aplikací, případně knihoven. Struktura není předepsána GP, pro Java Card se jedná o CAP file. Load File Data Block Hash hodnotou je SHA-1 hash Load File Data Block. Hash se používá k ověření integrity Load File Data Block před tím, než OPEN vytvoří Executable Load File. Load File Data Block Hash je povinný parametr příkazů INSTALL (for load) v případech, kdy se používá Delegated Management (Load File obsahuje Token) a/nebo když Load File obsahuje DAP blok. 7

Výklad pojmů 3/6 Executable Load File výsledný kontejner rezidentní na kartě pro jeden nebo více vykonavatelných aplikačních modulů (Executable Module). Může být uložen v paměti ROM, nebo EEPROM jako výsledek operací INSTALL [for load] a následných operací LOAD File Data Block. Pozor, nejedná se o spustitelnou aplikaci, není provedena instalace. Má asociováno unikátní AID. Executable Module obsahuje kód vykonatelný na kartě pro jednu aplikaci (aplet), je obsažený v Executable Load File. Pozor, nejedná se o Selectable Application. Má asociováno unikátní AID. Application Spustitelná aplikace s unikátním AID, kterou lze vybrat příkazem SELECT. Vznikne instalací Executable Module. Obecně z jednoho Executable Module může být instalováno více instancí aplikace. 8

Výklad pojmů 4/6 Token (pověření k delegované správě, podpis APDU pro delegovanou správu) Token se vyskytují výhradně v souvislosti s delegovanou správou (Delegated Management) nebo autorizovanou správou (Authorised Management), kdy vnější entita není vlastníkem domény. Vlastník domény s právem Token Verification vytváří pomocí svého privátního klíče (RSA 1024) Token a poskytuje ho vlastníkovi domény (která má typicky právo DELEGATED MANAGEMENT), která provádí operaci správy obsahu karty. Během vykonávání této operace je Token verifikován na kartě doménou s právem Token Verification veřejným klíčem této domény. Token může být použit na více kartách. Pro každý typ správní operace existuje typ Tokenu (LOAD, INSTALL, MAKE SELECTABLE, EXTRADITION, REGISTRY UPDATE, DELETE). Token obsahuje podpis jedné, nebo více funkcí pro správu (v podstatě podpis APDU). Token je umístěn v datové části APDU INSTALL 9

Výklad pojmů 5/6 DAP block (podpis kódu aplikace) DAP block je určen pro ověření autenticity Load File Data Block pomocí ověření Load File Data Block Signature, který je generován externí entitou, buď poskytovatelem aplikace, nebo kontrolní autoritou. DAP Block je TLV struktura, která je umístěna na začátku Load File (na rozdíl o Token není součástí struktury datové části APDU), obsahující AID domény a Load File Data Block Signature. Load File Data Block může být podepsán buď nesymetrickým privátním klíčem (RSA 1024), nebo 3DES2 klíčem, podpisuje se Load File Data Block Hash. Podpis v DAP Block ověřuje doména s právem DAP Verification. 10

Výklad pojmů 6/6 Receipt Podepsané potvrzení provedené operace správy čipové karty. Doména s právem Receipt Generation (jediná na kartě) vytváří potvrzenky správních operací při delegované správě s použitím klíče RSA 1024 nebo 3DES2. Potvrzenka se skládá z podpisu dat operace, která byla provedena, spolu s jedinečnými daty karty Card Unique Data. Potvrzenka je důkaz, že byl příkaz pro správu karty proveden. Potvrzenka (pokud je přítomna) je součástí APDU Response. 11

OPEN GlobalPlatform Environment OPEN je jádro systému GlobalPlatform, poskytuje prostředí a API pro aplikace pomocí následujících služeb: Nahrání kódu aplikací a s tím spojenou správu karet a paměti Instalaci aplikací nahraných na kartu Výběr aktivní aplikace a směrování příkazů na aktivní aplikaci Vlastnictví a údržba Global Platform Registry, jako základní zdroj informací pro správu karty 12

Správa obsahu GP karty prostřednictvím domén Správa obsahu karty se provádí prostřednictvím bezpečnostních domén. Správou obsahu rozumíme nahrávání kódu (load), instalaci aplikací, přemístění aplikace do jiné domény (extradition), změnu obsahu GP registru včetně práv aplikací a smazání obsahu karty. 13

Nahrání obsahu karty a instalace aplikace Nahrání (load) slouží k přidání kódu do přepisovatelné persistentní paměti (EEPROM). Nahrání může být provedeno do domény provádějící instalaci, nebo do jiné domény, pak se jedná o tzv. implicitní extradici. Instalace slouží k vytvoření vykonavatelného kódu z předem nahraného aplikačního kódu (zapíše instanci do registru GP, nastaví práva instance, spustí metodu aplikace install (Java Card), která s využitím instalačních parametrů alokuje paměť instance, vytvoří objekty instance, a registruje aplikaci v systému Java Card). Instalace může proběhnout současně s procesem nahrání, bezprostředně poté, nebo kdykoli později. Doména s právem AUTHORISED_MANAGEMENT nebo DELEGATED_MANAGEMENT může nahrát aplikaci do libovolné domény. 14

Aplikace v paměti čipové karty Executable Load File (package) Executable Module (applet) instance aplikace v paměti čipové karty 15

GlobalPlatform Registry Všechny aplikace, včetně všech domén a všechny Executable Load File musí mít záznam v GP registru. GP Registr obsahuje následující data (formát není stanoven): Data Aplikace AID aplikace, unikátní na kartě (AID aplikace může být stejné jako AID jejího Executable module) stav životního cyklu aplikace (týká se i Executable Load File/Module) paměť, která je k dispozici pro tuto aplikaci práva aplikace (App Privileges) příznak implicitní aplikace přiřazené AID Security Domain identifikace poskytovatele aplikace identifikace globální služby poskytované Global Service aplikací (například globální PIN) Data karty (uložena podobně jako data aplikací) Čítače alokace paměti pro aplikace 16

Poznámky k registru Aplikace nemusí znát AID své domény, je to zapsáno v registru (aplikace lze přesouvat mezi doménami, nebylo by vhodné, aby AID domény bylo zapsáno v aplikaci). Aplikace by měla znát své vlastní AID SD má také asociováno vlastní AID, nebo AID jiné SD (hierarchie SD) Datové struktury GP registru nejsou určené, jsou implementačně závislé Pokud GP podporuje volitelnou správu paměti, čítače v GP registru registrují v bajtech alokaci persistentní (EEPROM) i RAM paměti zvlášť pro kód a data. Požadavky aplikace na paměť jsou definovány v rámci příkazů INSTALL [for load] a INSTALL [for install] 17

Bezpečnostní domény 1/3 Bezpečnostní domény jsou privilegované (systémové) aplikace (nikoli místa v paměti, do kterých se instalují aplikace), mají nastaveno právo #0 Security Domain. Obsahují kryptografické klíče, určené pro vytvoření bezpečného kanálu a pro autorizaci operací pro správu karty. Prostřednictvím domén se provádí (inicializuje) správa obsahu karty. Podle svého určení rozeznáváme 3 typy domén - doména vydavatele, kontrolní autority a aplikační domény. Všechny typy domén provádějí práci s klíči (key management), šifrování, dešifrování, vytvoření a ověření elektronického podpisu pro vlastníky domény. Každá doména implementuje Secure Channel Protocol pro bezpečnou komunikaci mezi externím vlastníkem domény a doménou. 18

Bezpečnostní domény 2/3 Všechny karty mají povinnou jedinou doménu vydavatele. Poskytovatelé aplikací mohou mít svojí vlastní doménu ke správě svých aplikací, s klíči, které jsou nezávislé na vydavateli karty. APDU příkazy jsou přijímány doménou do které patří aplikace, a prostřednictvím GP Trusted Framework posílány aplikaci. Každý Load File, Executable Module má AID a přiřazené AID své Security Domain a může používat její kryptografické funkce. Každá doména je odpovědna za správu svých klíčů. Klíče domény lze využít pro aplikace této domény pro bezpečnou komunikaci při personalizaci a pro bezpečnou komunikaci při běhu aplikace (pokud aplikace nemá vlastní klíče pro SM) 19

Bezpečnostní domény 3/3 Dodatečné bezpečnostní domény mohou volitelně udržovat svá identifikační data pro CMS: Identifikační číslo poskytovatele (vlastníka) domény identifikátor používaný pro CMS, typicky obsahuje identifikaci vlastníka domény podle ISO 7812 Security Domain Image Number - - identifikátor používaný pro správu aplikací v rámci CMS k jednoznačné identifikaci domény na kartě Security Domain Management Data data popisující vlastnosti domény, například jaký SC protokol použít pro komunikaci s doménou. Tato data jsou vrácena v odpovědi na příkazy SELECT a GET DATA. Tato data, pokud existují, musí být k dispozici prostřednictvím příkazu GET DATA. 20

Doména vydavatele Doména vydavatele pracuje stejně jako ostatní domény, ale má následující speciální vlastnosti: Je první aplikace instalovaná na kartě, je povinná pro každou kartu. GP nedefinuje způsob vzniku domény vydavatele na kartě a nepředepisuje, aby byla doména vydavatele zavedena a instalována stejně jako ostatní aplikace (domény) Je asociována sama se sebou a není možné provést její extradici (asociaci s jinou doménou) Nemá svůj životní cyklus, používá (dědí) životní cyklus karty Je vybrána příkazem SELECT bez parametrů, nebo pokud není jiná aplikace s právem Card Reset, případně implicitly selectable Má právo Card Reset, pokud není jiná aplikace s tímto právem Automaticky získává právo Card Reset, pokud je smazána doména s tímto právem Má právo Final Application, pokud není jiná aplikace s tímto právem,aautomaticky získává právo Final Application, pokud je smazána doména s tímto právem Je vybrána příkazem SELECT bez parametrů Stává se implicitně vybranou aplikací, pokud je smazána implicitně vybraná aplikace Vlastní data Issuer Identification Number (identifikuje vydavatele a tím i příslušný CMS), Card Image Number (jednoznačně identifikuje kartu v CMS), Card Recognition Data (popisuje kartu pro CMS typ karty, jaký Secure Channel Protocol podporuje). Tato data musí být k dispozici prostřednictvím příkazu GET DATA. 21

Hierarchie domén Každý Executable Load File je zpočátku asociován s doménou, prostřednictvím které byl nahrán, může však být implicitně nebo explicitně přemístěn do jiné domény. Hierarchie domén začíná v kořenové doméně, která je asociována sama se sebou. Na počátku je jediná kořenová doména ISD. Další nezávislý kořen je možné vytvořit pomocí extradice domény s asociací sama na sebe. Aplikace musí být po instalaci personalizována a musí obdržet své aplikační klíče a personalizační data, k tomu se využívá služeb asociované domény. Aplikace (včetně domén) mohou používat kryptografické služby své asociované domény. 22

Vztah aplikace a asociované domény Aplikace (včetně domén) mohou používat služby asociované domény pro vytvoření Secure Cannel Session a další kryptografické služby domény pro personalizaci a při runtime. Je to výhodné, pokud aplikace nemá vlastní klíče a pokud to dovoluje bezpečnostní politika aplikace. Doména je schopna přijmout příkaz STORE DATA určený pro některou z aplikací domény. Doména příkaz rozbalí a předá aplikaci. 23

Klíče domény Domény obsahují kryptografické klíče pro podporu Secure Channel Protocol a pro autorizaci příkazů pro správu. Klíče mají nastaveny typ (DES/TDES/AES/HMAC/RSA, mód a formát uložení) a použití klíče. Práva ke klíčům jsou uložena v rámci přístupového byte. Přístupová práva ke klíčům uloženým v doméně jsou následující: Klíče může používat pouze doména (hodnota 01 ) Klíče mohou používat autorizovaní uživatelé různí od vlastníka, například aplikace asociované s doménou (hodnota 02 ) Klíče mohou používat libovolní autorizovaní uživatelé včetně vlastníka, tedy vlastní doména i její aplikace (hodnota 00 ) 24

Životní cyklus aplikace Stav INSTALLED Stav INSTALLED znamená, že vykonavatelný kód aplikace je sestaven, aplikaci je přidělena paměť a pro aplikaci je vytvořen záznam v registru GP. Zatímco záznam v registru je dostupný autentizovaným vnějším entitám, samotnou aplikaci dosud nelze vybrat. Ve stavu INSTALLED se nepředpokládá, že je aplikace personalizovaná. Stav SELECTABLE Přechod ze stavu INSTALLED do SELECTABLE je nevratný, potřebné oprávnění k provedení přechodu má doména s právem Authorised Management nebo Delegated Management. Aplikace v tomto stavu je schopna být vybrána a přijímat příkazy od externí entity. Aplikační stavy instalované aplikace jsou odpovědností aplikace a GP je nedefinuje. Stav LOCKED Přechod do stavu LOCKED je možný z jakéhokoli stavu aplikace, včetně stavů definovaných aplikací. Tento přechod většinou reprezentuje bezpečnostní opatření, které může iniciovat samotná aplikace, doména této aplikace a doména s právem Global Lock. Přechod je reverzibilní, zpětný přechod nemůže iniciovat zablokovaná aplikace, pouze přímo nebo nepřímo přiřazená doména. V kterémkoli stavu životního cyklu aplikace může být aplikace smazána. Paměťový prostor aplikace je uvolněn a příslušný záznam v registru smazán a GP nevede žádnou informaci o smazaných aplikacích (tudíž neexistuje stav DELETED). 25

Životní cyklus domény Stav INSTALLED Pro doménu ve stavu INSTALLED vytvořen záznam v registru GP. Zatímco záznam v registru je dostupný autentizovaným vnějším entitám, samotnou doménu dosud nelze vybrat, ani ji nelze asociovat s aplikací Stav SELECTABLE Doména ve stavu SELECTABLE je schopna být vybrána a přijímat příkazy (příkazy pro personalizaci domény), dosud ale nemá instalovány klíče. Nemůže tudíž být asociována s Executable Load File ani s aplikacemi a aplikace nemohou využívat její služby. Přechod ze stavu INSTALLED do SELECTABLE je ireverzibilní. Stav PERSONALISED Přechod ze stavu SELECTABLE do stavu PERSONALISED je ireverzibilní. Doména v tomto stavu má instalovány klíče, může být vybraná externí entitou, asociovaná s Executable Load File nebo s aplikacemi a poskytovat své služby asociovaným aplikacím. Stav LOCKED Tento přechod většinou reprezentuje bezpečnostní opatření, které může iniciovat samotná doména, asociovaná (nadřízená) doména této domény, aplikace a doména s právem Global Lock. V tomto stavu doména nemůže být použita pro delegovanou správu a instalaci aplikací. Operace DAP Verification, Extradition a další služby domény nejsou v tomto stavu dostupné. Přechod je reverzibilní, zpětný přechod může iniciovat pouze nadřízená doména, nebo aplikace a doména s právem Global Lock. V kterémkoli stavu životního cyklu domény může být doména smazána. Paměťový prostor domény je uvolněn a příslušný záznam v registru smazán a GP nevede žádnou informaci o smazaných doménách. 26

Práva bezpečnostních domén a aplikací Práva aplikací jsou uložena (pouze) v GP registru. Právo nastavit práva má entita, která je schopna provést příkaz INSTALL [for install], nebo INSTALL [for make selectable]. Právo změnit práva má entita schopná provést příkaz INSTALL [for registry update]. Práva pro aplikaci (doménu) se nastavují při instalaci, v datovém poli příkazu INSTALL [for install]. V APDU jsou práva mapována jednotlivými bity v rámci 3 byte. Aplikaci jednotlivých práv lze omezit prostřednictvím parametru Restrict ( Tag D9 ] v rámci příkazu INSTALL [for registry update]. Na danou doménu pak práva podléhající restrikci nelze uplatnit. Toto nastavení je ireverzibilní. 27

Práva bezpečnostních domén a aplikací 1/3 # Právo Popis 0 Security Domain Aplikace je Security Domain 1 DAP Verification Aplikace (pouze Doména) je schopna ověřit DAP, musí být současně nastaveno právo Security Domain. Toto právo se nastavuje pro doménu poskytovatele aplikace, která ověřením DAP ověří integritu a autenticitu nahrané aplikace. 2 Delegated Management Aplikace (pouze Doména, současně musí být nastaveno právo Security Domain) je schopna provádět delegovanou správu (provádět příkazy LOAD, INSTALL, DELETE, EXTRADITE) s autorizací jinou (na kartě jedinou) doménou, která má právo Token Verification. Doména s právem Delegated Management může provést LOAD do kterékoli domény, cílová doména může ovšem provést kontrolu DAP, pokud má právo DAP Verification. Pokud ale nemá současně právo Global Delete, může mazat pouze svoje aplikace, které jsou s ní přímo nebo nepřímo asociovány. Může přesunovat (extradition) do jiné domény pouze svoje aplikace, které jsou s ní přímo nebo nepřímo asociovány. 3 Card Lock Aplikace má právo zablokovat kartu 4 Card Terminate Aplikace má právo ukončit kartu 5 Card Reset Aplikace má právo modifikovat Historical Bytes (část ATR) 28

Práva bezpečnostních domén a aplikací 2/3 # Právo Popis 6 CVM Management 7 Mandated DAP Verification Aplikace má právo na správu sdíleného CVM Cardholder Verification Method globální PIN Aplikace (pouze Doména) je schopna a vyžaduje ověřit DAP pro všechny operace LOAD, musí být současně nastaveno právo Security Domain a DAP Verification. Jedná se o doménu Kontrolní autority. 8 Trusted Path Aplikace (doména) je schopna využít GlobalPlatform Trusted Environment pro komunikaci mezi aplikacemi. 9 Authorised Management Aplikace (pouze Doména) je schopna provádět samostatnou (nikoliv delegovanou) správu obsahu karty (provádět příkazy LOAD, INSTALL, DELETE, EXTRADITE ). Nepotřebuje autorizační token k této činnosti ani doménu s právem Token Verification, musí mít současně nastaveno právo Security Domain. Pokud ale nemá současně právo Global Delete, může mazat pouze svoje aplikace, které jsou s ní přímo nebo nepřímo asociovány. Doména s tímto právem může provést LOAD do kterékoli domény, cílová doména může ovšem provést kontrolu DAP, pokud má právo DAP Verification. 29

Práva bezpečnostních domén a aplikací 3/3 # Právo Popis 10 Token Verification Aplikace (pouze jediná Doména na kartě) je schopna ověřit Token pro delegovanou správu. Neznamená to ale, že má právo na správu obsahu karty. Externí vlastník privátního klíče vytváří Token pro delegovanou správu. 11 Global Delete Aplikace může smazat libovolný obsah karty, i když patří do jiné domény 12 Global Lock Aplikace může zamknout (dočasně zablokovat) nebo odemknout libovolnou aplikaci, i když patří do jiné domény 13 Global Registry Aplikace má přístup k libovolnému záznamu v GP Registru 14 Final Application Jediná aplikace, která je přístupná ve stavu životního cyklu CARD_LOCKED a TERMINATED 15 Global Service Aplikace poskytuje globální služby ostatním aplikacím na kartě 16 Receipt Generation Aplikace je schopna generovat potvrzenky správních operací při delegované správě. Doména má čítač potvrzení, který inkrementuje při generování každé potvrzenky (max 32767). Toto právo samotné neumožňuje provádět správní operace. 30

Pravidla pro přiřazení práv Pouze jediná aplikace může mít přiřazeno právo Card Reset nebo Final Application, pokud je taková aplikace smazána, právo přejde na doménu vydavatele Authorised Management a Delegated Management nemohou být nastaveny současně, ostatní práva mohou být nastavena v libovolné kombinaci V předchozích verzích GP byla pouze práva 0-7 Doména vydavatele má v počátku nastavenu množinu práv: Security Domain, Authorized Management, Global Registry, GlobalLock, Global Delete, Token Verification, Card Lock, Card Terminate, Trusted Path, CVM Management, CardReset, Final Application and Receipt Generation. 31

Mechanismy GP pro správu karty Kryptografická podpora GP pro správu karty zahrnuje následující mechanismy: Load File Data Block Hash - je obsahem pole příkazu INSTALL [for load] pro kontrolu integrity nahrávaného kódu Data Authentication Patern (DAP) podpis Load File Data Block pro ověření integrity a autenticity kódu Delegated Management Token podpis funkce pověření pro správu (load, install, delete ) Receipts důkaz provedení správní operace 32

DAP Data Authentization Patern 33

Load Token Load Token zajišťuje: Na kartu může být nahrán pouze kód (Load File Data Block), jehož otisk je obsažen v podepsaném Token Executable Load File a všechny obsažené moduly mohou být asociovány pouze s doménou uvedenou v Token Vydavatel Token může být pouze entita vlastnící klíče domény s právem Token Verification 34

Install Token Install Token zajišťuje: Může být instalován pouze Executable Module, který je součástí Executable Load File, jejichž AID je uvedeno v Token Instance aplikace bude mít uvedené AID Pro aplikaci mohou být nastavena pouze práva uvedená v Token Mohou být použity pouze parametry uvedené v Token 35

Load Receipt Install Token zajišťuje: Může být instalován pouze Executable Module, který je součástí Executable Load File, jejichž AID je uvedeno v Token Instance aplikace bude mít uvedené AID Pro aplikaci mohou být nastavena pouze práva uvedená v Token Mohou být použity pouze parametry uvedené v Token 36

Nahrání a instalace aplikace 37

Schéma pro delegovanou správu se 2 doménami 38

Schéma pro delegovanou správu se 3 doménami 39

Příklady užití a konfigurace domén Vydavatel karty, jediná doména, jediná aplikace, nebo více aplikací vydavatele (všechny aplikace patří vydavateli karty, který je instaluje a spravuje) Víceaplikační karta, pouze doména vydavatele, více dodavatelů aplikací (všechny aplikace autorizuje, instaluje a spravuje vydavatel karty) Víceaplikační karta, doména vydavatele, více domén dodavatelů aplikací, kontrolní autorita (aplikace autorizované kontrolní autoritou instaluje vydavatel karty do domén dodavatelů aplikací) Víceaplikační karta, doména vydavatele, více domén dodavatelů aplikací, delegovaná správa, kontrolní autorita (aplikace mohou instalovat vlastníci domén s právem Authorised Management nebo Delegated Management) 40

GlobalPlatform APDU seznam příkazů Příkaz OP READY INITIALIZED SECURED LOCKED TERMINAT ED AM DM SD AM DM SD AM DM SD FA SD FA SD DELETE executable Load File x x x x x x x DELETE executable Load File and x x x x x x x Application(s) DELETE Application P x P x P x x x x x DELETE Key x x x x GET DATA P P P P P P P P P P x P x GET STATUS P P P P x x x INSTALL [for load] x x x x x x x INSTALL [for install] x x x x x x x INSTALL [for load, install and x x x x x x x make selectable] INSTALL [for install and make P P x P P x P P x x x x x selectable] INSTALL [for make selectable] x x x x x x x INSTALL [for extradition] x x x x x x x INSTALL [for registry update] x x x x x x x INSTALL [for personalization] x x x x LOAD x x x x x x x PUT KEY P P P x x x x SELECT P P P P P P P P P P x x x SET STATUS P P P P x x x STORE DATA P P P x x x x 41

GlobalPlatform APDU Příkazy GP mají formu APDU s délkou max 255 byte. Class byte určuje, že se jedná o GP příkaz a použití a typ Secure Messaging. Parametry P1 a P2 upřesňují příkaz, například pro INSTALL hodnota P1 určuje pro co je INSTALL určen (for load, for install, for extradition, for make selectable ) Tagy objektů GP jsou rezervovány hodnoty C0 DD, E0 FD, DF 1F DF 7F, FF 1F FF 7F 42

Příklad - APDU příkazu INSTALL Formát APDU (short length): CLA Kód Hodnota Význam 80-8F, C0 - CF, E0 - EF Třída instrukce INS E6 Instrukce INSTALL P1 xx Referenční řídící parametr 1 P2 00, 01, Referenční řídící parametr 2 02 Lc xx Délka datového pole Data xxxx Datové pole instalační data a volitelně MAC Le 00 Budou přijata všechna návratová data 43

Referenční řídící parametr P1 příkazu INSTALL B8 B7 B6 B5 b B4 B3 B2 B1 Význam 0 - - - - - - - Poslední (nebo jediný) příkaz INSTALL 1 - - - - - - - Následují další příkazy INSTALL - 1 0 0 0 0 0 0 INSTALL [for registry update] - 0 1 0 0 0 0 0 INSTALL [for personalization] - 0 0 1 0 0 0 0 INSTALL [for extradition] - 0 0 0 1 - - 0 INSTALL [for registry update] - 0 0 0-1 - 0 INSTALL [for install] - 0 0 0 - - 1 0 INSTALL [for load] 44

Příklad 1: Datové pole příkazu INSTALL [for load] Název P/N Význam Length of Load File AID P Délka AID budoucího Executable Load File Load File AID P Hodnota AID budoucího Executable Load File Length of Security Domain AID P Délka AID domény, do které bude Load File nahrán Security Domain AID N Hodnota AID domény, do které bude Load File nahrán Length of Load File Data Block Hash Load File Data Block Hash Length of Load Parameters Field P N P Délka otisku Load File Data Block Hodnota otisku Load File Data Block Délka pole parametrů Load Parameters Field N Pole parametrů (systémové a aplikační) Length of Load Token P Délka Load Token Load Token N Load Token 45

Příklad 2: Datové pole příkazu INSTALL [for install] Název P/N Význam Length of Executable P Délka AID Executable Load File Load File AID Executable Load File AID N Hodnota AID Executable Load File, jehož Executable Module bude instalován Length of Executable P Délka AID Executable Module Module AID Executable Module AID N Hodnota AID Executable Module, jehož kód bude instalován Length of Application AID P Délka AID aplikace, která bude výsledkem instalace Application AID P Hodnota AID aplikace, která bude výsledkem instalace Length of Privileges P Počet byte práv, která budou nastavena pro aplikaci Privileges P Práva Length of Install P Délka pole parametrů Parameters Field Install Parameters Field P Pole parametrů (systémové a aplikační) Length of Install Token P Délka Install Token Install Token N Install Token pověření pro instalaci 46

Služby GP pro personalizaci aplikací Aplikace musí být po instalaci personalizována a musí obdržet své aplikační klíče a personalizační data. Aplikace mohou používat služby asociované domény pro vytvoření Secure Channel Session a další kryptografické služby domény pro personalizaci, pokud nemá aplikace vlastní klíče a pokud to dovoluje bezpečnostní politika aplikace. Doména je schopna přijmout příkaz STORE DATA určený pro některou z aplikací domény (příkazem SELECT je vybrána doména místo aplikace). Doména příkaz rozbalí a předá aplikaci jako blob Aplikace je schopna využívat kryptografické služby domény (autentizaci, SM) pro personalizaci Příkaz PUT KEY slouží k zápisu, nebo výměně kryptografických klíčů 47

Global platform Global Services Applications Na kartě může být přítomna jedna nebo více globálních aplikací, které jsou od ostatních aplikací odlišeny právem Global Service. Aplikace poskytující globální služby jsou instalovány do některé domény, právo Global Service je možné nastavit při instalaci aplikace (INSTALL [for install]), nebo později při aktualizaci registru (INSTALL [for registry update]). Právo na správu Global Services Applications má aplikace s právem CVM Management. Jména pro globální služby (může být více než jedno) se při instalaci nastavují pomocí Global Services Parameters, jména jsou buď rezervovaná pro GP nebo individuální (A0 FE). GP má rezervována jména 81 Secure Channel, 82 GP Cardholder Verification Method. Aplikace přistupují ke globálním službám prostřednictvím GP API. 48

CVM aplikace CVM aplikace, pokud je přítomna na kartě, poskytuje mechanismus pro autentizaci -Cardholder Verification Method, který mohou použít všechny aplikace. Na kartě může být vice CVM aplikací, každá může nabízet vice CV metod. GP standardizuje jednu CVM aplikaci globální PIN (Personal identification Verification), s rezervovaným identifikátorem 11. CVM nabývají následujících stavů: ACTIVE nastavena hodnota CVM a Retry Limit INVALID_SUBMISSION pokud selže CVM autentizace VALIDATED úspěšná CVM autentizace, Retry Counter je resetován BLOCKED po opakovaném selhání CVM autentizace a dosažení hodnoty Retry Limit. Zablokovaný stav nekončí koncem relace s kartou, pouze privilegovaná aplikace může odblokovat, změnit CVM hodnotu nebo Retry limit. 49

Ing. Ivo Rosol, CSc. rosol@oksystem.cz OKsystem s.r.o. Na Pankráci 125 140 21 Praha 4 tel: +420 236 072 250 www.oksystem.cz Otázky? Děkujeme za pozornost 50