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

SmartCard Forum 2011 - Systém GlobalPlatform

Embed Size (px)

Citation preview

Page 1: SmartCard Forum 2011 - Systém GlobalPlatform

Spojujeme software, technologie a služby

Specifikace pro správu čipových karet

Systém GlobalPlatform

Ivo Rosol

ředitel divize vývoje

Praha, 19.5.2011

Page 2: SmartCard Forum 2011 - Systém GlobalPlatform

Spojujeme software, technologie a služby

GlobalPlatform je nezisková organizace, která identifikuje,

vyvíjí a publikuje specifikace (mezinárodní průmyslové de-

facto 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

GlobalPlatform

2

Page 3: SmartCard Forum 2011 - Systém GlobalPlatform

Spojujeme software, technologie a služby

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ří.

Global Platform - specifikace pro správu čipových

karet

3

Page 4: SmartCard Forum 2011 - Systém GlobalPlatform

Spojujeme software, technologie a služby

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é kartyPrá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

Cíl prezentace

4

Page 5: SmartCard Forum 2011 - Systém GlobalPlatform

Spojujeme software, technologie a služby

Architektura čipové karty se systémem GP

5

Page 6: SmartCard Forum 2011 - Systém GlobalPlatform

Spojujeme software, technologie a služby

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

Výklad pojmů 1/6

6

Page 7: SmartCard Forum 2011 - Systém GlobalPlatform

Spojujeme software, technologie a služby

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 LoadFile. Load File Data Block Hash je povinný parametr příkazů INSTALL (forload) v případech, kdy se používá Delegated Management (Load Fileobsahuje Token) a/nebo když Load File obsahuje DAP blok.

Výklad pojmů 2/6

7

Page 8: SmartCard Forum 2011 - Systém GlobalPlatform

Spojujeme software, technologie a služby

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ýchoperací 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.

Výklad pojmů 3/6

8

Page 9: SmartCard Forum 2011 - Systém GlobalPlatform

Spojujeme software, technologie a služby

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 (AuthorisedManagement), 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

Výklad pojmů 4/6

9

Page 10: SmartCard Forum 2011 - Systém GlobalPlatform

Spojujeme software, technologie a služby

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 LoadFile (na rozdíl o Token není součástí struktury datové části APDU), obsahující AID domény a Load File Data BlockSignature.

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.

Výklad pojmů 5/6

10

Page 11: SmartCard Forum 2011 - Systém GlobalPlatform

Spojujeme software, technologie a služby

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.

Výklad pojmů 6/6

11

Page 12: SmartCard Forum 2011 - Systém GlobalPlatform

Spojujeme software, technologie a služby

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

OPEN – GlobalPlatform Environment

12

Page 13: SmartCard Forum 2011 - Systém GlobalPlatform

Spojujeme software, technologie a služby

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.

Správa obsahu GP karty prostřednictvím domén

13

Page 14: SmartCard Forum 2011 - Systém GlobalPlatform

Spojujeme software, technologie a služby

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.

Nahrání obsahu karty a instalace aplikace

14

Page 15: SmartCard Forum 2011 - Systém GlobalPlatform

Spojujeme software, technologie a služby 15

Executable Load File

(package)

Executable Module

(applet)

instance aplikace

v paměti čipové karty

Aplikace v paměti čipové karty

Page 16: SmartCard Forum 2011 - Systém GlobalPlatform

Spojujeme software, technologie a služby

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 AplikaceAID aplikace, unikátní na kartě (AID aplikace může být stejné jako AID „jejího“ Executablemodule)

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

GlobalPlatform Registry

16

Page 17: SmartCard Forum 2011 - Systém GlobalPlatform

Spojujeme software, technologie a služby

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]

Poznámky k registru

17

Page 18: SmartCard Forum 2011 - Systém GlobalPlatform

Spojujeme software, technologie a služby

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 SecureChannel Protocol pro bezpečnou komunikaci mezi externím vlastníkem domény a doménou.

Bezpečnostní domény 1/3

18

Page 19: SmartCard Forum 2011 - Systém GlobalPlatform

Spojujeme software, technologie a služby

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)

Bezpečnostní domény 2/3

19

Page 20: SmartCard Forum 2011 - Systém GlobalPlatform

Spojujeme software, technologie a služby

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.

Bezpečnostní domény 3/3

20

Page 21: SmartCard Forum 2011 - Systém GlobalPlatform

Spojujeme software, technologie a služby

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 CardReset, případně implicitly selectable

Má právo Card Reset, pokud není jiná aplikace s tímto právem Automaticky získává právo CardReset, 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), CardImage 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.

Doména vydavatele

21

Page 22: SmartCard Forum 2011 - Systém GlobalPlatform

Spojujeme software, technologie a služby

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.

Hierarchie domén

22

Page 23: SmartCard Forum 2011 - Systém GlobalPlatform

Spojujeme software, technologie a služby

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.

Vztah aplikace a asociované domény

23

Page 24: SmartCard Forum 2011 - Systém GlobalPlatform

Spojujeme software, technologie a služby

Domény obsahují kryptografické klíče pro podporu SecureChannel 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“)

Klíče domény

24

Page 25: SmartCard Forum 2011 - Systém GlobalPlatform

Spojujeme software, technologie a služby

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).

Životní cyklus aplikace

25

Page 26: SmartCard Forum 2011 - Systém GlobalPlatform

Spojujeme software, technologie a služby

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.

Životní cyklus domény

26

Page 27: SmartCard Forum 2011 - Systém GlobalPlatform

Spojujeme software, technologie a služby

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 registryupdate]. Na danou doménu pak práva podléhající restrikci nelze uplatnit. Toto nastavení je ireverzibilní.

Práva bezpečnostních domén a aplikací

27

Page 28: SmartCard Forum 2011 - Systém GlobalPlatform

Spojujeme software, technologie a služby

# 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)

Práva bezpečnostních domén a aplikací 1/3

28

Page 29: SmartCard Forum 2011 - Systém GlobalPlatform

Spojujeme software, technologie a služby

# Právo Popis

6 CVM

Management

Aplikace má právo na správu sdíleného CVM – Cardholder Verification

Method – globální PIN

7 Mandated DAP

Verification

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.

Práva bezpečnostních domén a aplikací 2/3

29

Page 30: SmartCard Forum 2011 - Systém GlobalPlatform

Spojujeme software, technologie a služby

# 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.

Práva bezpečnostních domén a aplikací 3/3

30

Page 31: SmartCard Forum 2011 - Systém GlobalPlatform

Spojujeme software, technologie a služby

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, CardTerminate, Trusted Path, CVM Management, CardReset, FinalApplication and Receipt Generation.

Pravidla pro přiřazení práv

31

Page 32: SmartCard Forum 2011 - Systém GlobalPlatform

Spojujeme software, technologie a služby

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éhokó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

Mechanismy GP pro správu karty

32

Page 33: SmartCard Forum 2011 - Systém GlobalPlatform

Spojujeme software, technologie a služby

DAP – Data Authentization Patern

33

Page 34: SmartCard Forum 2011 - Systém GlobalPlatform

Spojujeme software, technologie a služby 34

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

Load Token

Page 35: SmartCard Forum 2011 - Systém GlobalPlatform

Spojujeme software, technologie a služby 35

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

Install Token

Page 36: SmartCard Forum 2011 - Systém GlobalPlatform

Spojujeme software, technologie a služby 36

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

Load Receipt

Page 37: SmartCard Forum 2011 - Systém GlobalPlatform

Spojujeme software, technologie a služby

Nahrání a instalace aplikace

37

Page 38: SmartCard Forum 2011 - Systém GlobalPlatform

Spojujeme software, technologie a služby

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

38

Page 39: SmartCard Forum 2011 - Systém GlobalPlatform

Spojujeme software, technologie a služby

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

39

Page 40: SmartCard Forum 2011 - Systém GlobalPlatform

Spojujeme software, technologie a služby

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)

Příklady užití a konfigurace domén

40

Page 41: SmartCard Forum 2011 - Systém GlobalPlatform

Spojujeme software, technologie a služby

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

Application(s)

x x x x x x x

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

make selectable]

x x x x x x x

INSTALL [for install and make

selectable]

P P x P P x P P x x x x x

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

GlobalPlatform APDU – seznam příkazů

41

Page 42: SmartCard Forum 2011 - Systém GlobalPlatform

Spojujeme software, technologie a služby

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

GlobalPlatform APDU

42

Page 43: SmartCard Forum 2011 - Systém GlobalPlatform

Spojujeme software, technologie a služby

Kód Hodnota Význam

CLA ´80´- ´8F´,

´C0´- ´CF´,

´E0´- ´EF´

Třída instrukce

INS ´E6´ Instrukce INSTALL

P1 ´xx´ Referenční řídící parametr 1

P2 ´00´,´01´,

´02´

Referenční řídící parametr 2

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

Příklad - APDU příkazu INSTALL

43

Formát APDU (short length):

Page 44: SmartCard Forum 2011 - Systém GlobalPlatform

Spojujeme software, technologie a služby

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]

Referenční řídící parametr P1 příkazu INSTALL

44

Page 45: SmartCard Forum 2011 - Systém GlobalPlatform

Spojujeme software, technologie a služby

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

P Délka otisku Load File Data Block

Load File Data Block

Hash

N Hodnota otisku Load File Data Block

Length of Load

Parameters Field

P 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

Příklad 1: Datové pole příkazu INSTALL [for load]

45

Page 46: SmartCard Forum 2011 - Systém GlobalPlatform

Spojujeme software, technologie a služby

Název P/N Význam

Length of Executable

Load File AID

P Délka AID Executable Load File

Executable Load File AID N Hodnota AID Executable Load File, jehož Executable Module bude instalován

Length of Executable

Module AID

P Délka AID Executable Module

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

Parameters Field

P Délka pole parametrů

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

Příklad 2: Datové pole příkazu INSTALL [for install]

46

Page 47: SmartCard Forum 2011 - Systém GlobalPlatform

Spojujeme software, technologie a služby

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íčů

Služby GP pro personalizaci aplikací

47

Page 48: SmartCard Forum 2011 - Systém GlobalPlatform

Spojujeme software, technologie a služby

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.

Global platform Global Services Applications

48

Page 49: SmartCard Forum 2011 - Systém GlobalPlatform

Spojujeme software, technologie a služby

CVM aplikace, pokud je přítomna na kartě, poskytuje mechanismus pro autentizaci -Cardholder Verification Method, který mohou použít všechnyaplikace. 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.

CVM aplikace

49

Page 50: SmartCard Forum 2011 - Systém GlobalPlatform

Spojujeme software, technologie a služby 50

Ing. Ivo Rosol, CSc.

[email protected]

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