SmartCard Forum 2011 - Systém GlobalPlatform

  • 169 views
Uploaded on

 

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
169
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
6
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Systém GlobalPlatformSpecifikace pro správu čipových karet Ivo Rosol ředitel divize vývoje Praha, 19.5.2011 Spojujeme software, technologie a služby
  • 2. GlobalPlatformGlobalPlatform 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, DeviceCommitee (bezdrátová multiaplikační zařízení), SystemsCommitee (systémová infrastruktura- back-office).Bližší informace a specifikace lze nalézt na web adresewww.globalplatform.org Spojujeme software, technologie a služby 2
  • 3. Global Platform - specifikace pro správu čipových karetSpecifikace GlobalPlatform (GP) pro správu čipových karets 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ří. Spojujeme software, technologie a služby 3
  • 4. Cíl prezentaceV přednášce budou diskutovány především následující mechanismyspecifikace 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 Spojujeme software, technologie a služby 4
  • 5. Architektura čipové karty se systémem GP Spojujeme software, technologie a služby 5
  • 6. Výklad pojmů 1/6Bezpeč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 Spojujeme software, technologie a služby 6
  • 7. Výklad pojmů 2/6Load 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. Spojujeme software, technologie a služby 7
  • 8. Výklad pojmů 3/6Executable 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. Spojujeme software, technologie a služby 8
  • 9. Výklad pojmů 4/6Token (pověření k delegované správě, podpis APDU pro delegovanousprá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 Spojujeme software, technologie a služby 9
  • 10. Výklad pojmů 5/6DAP 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. Spojujeme software, technologie a služby 10
  • 11. Výklad pojmů 6/6Receipt 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. Spojujeme software, technologie a služby 11
  • 12. OPEN – GlobalPlatform EnvironmentOPEN 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 Spojujeme software, technologie a služby 12
  • 13. Správa obsahu GP karty prostřednictvím doménSpráva obsahu karty se provádí prostřednictvímbezpečnostních domén. Správou obsahu rozumímenahrávání kódu (load), instalaci aplikací, přemístěníaplikace do jiné domény (extradition), změnu obsahu GPregistru včetně práv aplikací a smazání obsahu karty. Spojujeme software, technologie a služby 13
  • 14. Nahrání obsahu karty a instalace aplikaceNahrání (load) slouží k přidání kódu do přepisovatelnépersistentní paměti (EEPROM). Nahrání může být provedeno „dodomé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ředemnahraného aplikačního kódu (zapíše instanci do registru GP,nastaví práva instance, spustí metodu aplikace install (JavaCard), která s využitím instalačních parametrů alokuje paměťinstance, vytvoří objekty instance, a registruje aplikaci v systémuJava Card). Instalace může proběhnout současně s procesemnahrání, bezprostředně poté, nebo kdykoli později.Doména s právem AUTHORISED_MANAGEMENT neboDELEGATED_MANAGEMENT může nahrát aplikaci do libovolnédomény. Spojujeme software, technologie a služby 14
  • 15. Aplikace v paměti čipové kartyExecutable Load File(package)Executable Module(applet)instance aplikacev paměti čipové karty Spojujeme software, technologie a služby 15
  • 16. GlobalPlatform RegistryVšechny aplikace, včetně všech domén a všechny Executable Load File musí mítzá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 Spojujeme software, technologie a služby 16
  • 17. Poznámky k registruAplikace 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ělaznát své vlastní AIDSD má také asociováno vlastní AID, nebo AID jiné SD(hierarchie SD)Datové struktury GP registru nejsou určené, jsouimplementačně závisléPokud GP podporuje volitelnou správu paměti, čítače v GPregistru registrují v bajtech alokaci persistentní (EEPROM) iRAM paměti zvlášť pro kód a data. Požadavky aplikace napaměť jsou definovány v rámci příkazů INSTALL [for load] aINSTALL [for install] Spojujeme software, technologie a služby 17
  • 18. Bezpečnostní domény 1/3Bezpeč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 obsahukarty.Podle svého určení rozeznáváme 3 typy domén - doménavydavatele, kontrolní autority a aplikační domény. Všechny typydomén provádějí práci s klíči (key management), šifrování,dešifrování, vytvoření a ověření elektronického podpisu provlastníky domény. Každá doména implementuje SecureChannel Protocol pro bezpečnou komunikaci mezi externímvlastníkem domény a doménou. Spojujeme software, technologie a služby 18
  • 19. Bezpečnostní domény 2/3Všechny karty mají povinnou jedinou doménu vydavatele.Poskytovatelé aplikací mohou mít svojí vlastní doménu kesprávě svých aplikací, s klíči, které jsou nezávislé na vydavatelikarty.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íčedomény lze využít pro aplikace této domény – pro bezpečnoukomunikaci při personalizaci a pro bezpečnou komunikaci přiběhu aplikace (pokud aplikace nemá vlastní klíče pro SM) Spojujeme software, technologie a služby 19
  • 20. Bezpečnostní domény 3/3Dodateč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říkazuGET DATA. Spojujeme software, technologie a služby 20
  • 21. Doména vydavateleDomé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. Spojujeme software, technologie a služby 21
  • 22. Hierarchie doménKaž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á jeasociová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žetsvé 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žbysvé asociované domény. Spojujeme software, technologie a služby 22
  • 23. Vztah aplikace a asociované doményAplikace (včetně domén) mohou používat službyasociované domény pro vytvoření Secure Cannel Sessiona další kryptografické služby domény pro personalizaci apř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í apředá aplikaci. Spojujeme software, technologie a služby 23
  • 24. Klíče doményDomé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átuložení) a použití klíče. Práva ke klíčům jsou uložena v rámcipří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“) Spojujeme software, technologie a služby 24
  • 25. Životní cyklus aplikaceStav 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 jeuvolně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). Spojujeme software, technologie a služby 25
  • 26. Životní cyklus doményStav 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 jeuvolněn a příslušný záznam v registru smazán a GP nevede žádnou informaci o smazaných doménách. Spojujeme software, technologie a služby 26
  • 27. 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říkazINSTALL [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 jsoupráva mapována jednotlivými bity v rámci 3 byte.Aplikaci jednotlivých práv lze omezit prostřednictvím parametruRestrict ( Tag ´D9´] v rámci příkazu INSTALL [for registryupdate]. Na danou doménu pak práva podléhající restrikcinelze uplatnit. Toto nastavení je ireverzibilní. Spojujeme software, technologie a služby 27
  • 28. Práva bezpečnostních domén a aplikací 1/3 # Právo Popis0 Security Domain Aplikace je Security Domain1 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 Aplikace (pouze Doména, současně musí být nastaveno právo Security Management 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 kartu4 Card Terminate Aplikace má právo ukončit kartu5 Card Reset Aplikace má právo modifikovat Historical Bytes (část ATR) Spojujeme software, technologie a služby 28
  • 29. Práva bezpečnostních domén a aplikací 2/3 # Právo Popis6 CVM Aplikace má právo na správu sdíleného CVM – Cardholder Verification Management Method – globální PIN7 Mandated DAP Aplikace (pouze Doména) je schopna a vyžaduje ověřit DAP pro všechny Verification 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 Aplikace (pouze Doména) je schopna provádět samostatnou (nikoliv Management 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. Spojujeme software, technologie a služby 29
  • 30. Práva bezpečnostních domén a aplikací 3/3 # Právo Popis10 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ény12 Global Lock Aplikace může zamknout (dočasně zablokovat) nebo odemknout libovolnou aplikaci, i když patří do jiné domény13 Global Registry Aplikace má přístup k libovolnému záznamu v GP Registru14 Final Application Jediná aplikace, která je přístupná ve stavu životního cyklu CARD_LOCKED a TERMINATED15 Global Service Aplikace poskytuje globální služby ostatním aplikacím na kartě16 Receipt Aplikace je schopna generovat potvrzenky správních operací při Generation 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. Spojujeme software, technologie a služby 30
  • 31. Pravidla pro přiřazení právPouze jediná aplikace může mít přiřazeno právo Card Resetnebo Final Application, pokud je taková aplikace smazána,právo přejde na doménu vydavateleAuthorised Management a Delegated Management nemohoubýt nastaveny současně, ostatní práva mohou být nastavenav libovolné kombinaciV předchozích verzích GP byla pouze práva 0-7Domé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. Spojujeme software, technologie a služby 31
  • 32. Mechanismy GP pro správu kartyKryptografická podpora GP pro správu karty zahrnujená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 Spojujeme software, technologie a služby 32
  • 33. DAP – Data Authentization Patern Spojujeme software, technologie a služby 33
  • 34. Load TokenLoad 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 Spojujeme software, technologie a služby 34
  • 35. Install TokenInstall 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 Spojujeme software, technologie a služby 35
  • 36. Load ReceiptInstall 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 Spojujeme software, technologie a služby 36
  • 37. Nahrání a instalace aplikace Spojujeme software, technologie a služby 37
  • 38. Schéma pro delegovanou správu se 2 doménami Spojujeme software, technologie a služby 38
  • 39. Schéma pro delegovanou správu se 3 doménami Spojujeme software, technologie a služby 39
  • 40. Příklady užití a konfigurace doménVydavatel karty, jediná doména, jediná aplikace, nebo více aplikacívydavatele (všechny aplikace patří vydavateli karty, který je instalujea spravuje)Víceaplikační karta, pouze doména vydavatele, více dodavatelůaplikací (všechny aplikace autorizuje, instaluje a spravuje vydavatelkarty)Víceaplikační karta, doména vydavatele, více domén dodavatelůaplikací, kontrolní autorita (aplikace autorizované kontrolní autoritouinstaluje 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 mohouinstalovat vlastníci domén s právem Authorised Management neboDelegated Management) Spojujeme software, technologie a služby 40
  • 41. 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 Spojujeme software, technologie a služby 41
  • 42. GlobalPlatform APDUPří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 Spojujeme software, technologie a služby 42
  • 43. Příklad - APDU příkazu INSTALL Formát APDU (short length): Kód Hodnota Význam CLA ´80´- ´8F´, Třída instrukce ´C0´- ´CF´, ´E0´- ´EF´ 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 Spojujeme software, technologie a služby 43
  • 44. Referenční řídící parametr P1 příkazu INSTALLB8 B7 B6 B5 B4 B3 B2 B1 Význam b0 - - - - - - - Poslední (nebo jediný) příkaz INSTALL1 - - - - - - - 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] Spojujeme software, technologie a služby 44
  • 45. 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 P Délka AID domény, do které bude Load File Domain AID nahrán Security Domain AID N Hodnota AID domény, do které bude Load File nahrán Length of Load File Data P Délka otisku Load File Data Block Block Hash Load File Data Block N Hodnota otisku Load File Data Block Hash Length of Load P Délka pole parametrů Parameters Field 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 Spojujeme software, technologie a služby 45
  • 46. Příklad 2: Datové pole příkazu INSTALL [for install]Název P/N VýznamLength of Executable P Délka AID Executable Load FileLoad File AIDExecutable Load File AID N Hodnota AID Executable Load File, jehož Executable Module bude instalovánLength of Executable P Délka AID Executable ModuleModule AIDExecutable Module AID N Hodnota AID Executable Module, jehož kód bude instalovánLength of Application AID P Délka AID aplikace, která bude výsledkem instalaceApplication AID P Hodnota AID aplikace, která bude výsledkem instalaceLength of Privileges P Počet byte práv, která budou nastavena pro aplikaciPrivileges P PrávaLength of Install P Délka pole parametrůParameters FieldInstall Parameters Field P Pole parametrů (systémové a aplikační)Length of Install Token P Délka Install TokenInstall Token N Install Token – pověření pro instalaci Spojujeme software, technologie a služby 46
  • 47. 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žbyasociované domény pro vytvoření Secure Channel Session a dalšíkryptografické služby domény pro personalizaci, pokud nemá aplikacevlastní 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íčů Spojujeme software, technologie a služby 47
  • 48. Global platform Global Services ApplicationsNa 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ávemCVM Management.Jména pro globální služby (může být více než jedno) se při instalacinastavují pomocí Global Services Parameters, jména jsou buďrezervovaná pro GP nebo individuální (A0 – FE). GP má rezervovánajména 81 – Secure Channel, 82 GP Cardholder Verification Method.Aplikace přistupují ke globálním službám prostřednictvím GP API. Spojujeme software, technologie a služby 48
  • 49. CVM aplikaceCVM aplikace, pokud je přítomna na kartě, poskytuje mechanismus proautentizaci -Cardholder Verification Method, který mohou použít všechnyaplikace. Na kartě může být vice CVM aplikací, každá může nabízet viceCV metod. GP standardizuje jednu CVM aplikaci – globální PIN (Personalidentification 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. Spojujeme software, technologie a služby 49
  • 50. Ing. Ivo Rosol, CSc.rosol@oksystem.czOKsystem s.r.o.Na Pankráci 125140 21 Praha 4tel: +420 236 072 250www.oksystem.cz Otázky? Děkujeme za pozornost Spojujeme software, technologie a služby 50