將應(yīng)用數(shù)據(jù)寫入到安全元件的制作方法
【專利說明】
[0001] 分案說明
[0002] 本申請(qǐng)屬于發(fā)明日為2011年12月16日的中國(guó)發(fā)明專利申請(qǐng)201180060864. 7的 分案申請(qǐng)。
[0003] 相關(guān)申請(qǐng)
[0004] 本申請(qǐng)要求2011年9月26日提交的標(biāo)題為"將應(yīng)用數(shù)據(jù)寫入到安全元件 (WritingApplicationDatatoaSecureElement) " 的美國(guó)申請(qǐng)?zhí)?13/244, 767 的 優(yōu)先權(quán),所述美國(guó)申請(qǐng)?zhí)?3/244, 767要求2010年12月17日提交的標(biāo)題為"用于在 非接觸式支付設(shè)備中管理、配備和加密信息的系統(tǒng)和方法(SystemsandMethodsfor Managing,Provisioning,andEncryptingInformationinaContactlessPayment Device) "的美國(guó)臨時(shí)專利申請(qǐng)?zhí)?1/424, 606的優(yōu)先權(quán)。上述優(yōu)先權(quán)申請(qǐng)的全部?jī)?nèi)容在此 通過引用完全并入本文中。
技術(shù)領(lǐng)域
[0005] 本公開大體上涉及用于對(duì)非接觸式智能卡設(shè)備中的安全元件的名稱空間進(jìn)行劃 分并且用于使用來自在所述安全元件外的軟件應(yīng)用程序的請(qǐng)求將應(yīng)用數(shù)據(jù)寫入到所述安 全元件中的計(jì)算機(jī)實(shí)施的系統(tǒng)、方法以及設(shè)備。
[0006] 背景
[0007] 出于事務(wù)處理目的,非接觸式事務(wù)處理系統(tǒng)使用安全非接觸式智能卡。某些示例 性事務(wù)處理系統(tǒng)包括交通運(yùn)輸卡、身份認(rèn)證卡、停車卡以及電話卡。一種示例性安全非接 觸式智能卡是來自恩智浦半導(dǎo)體公司(NXPSemiconductors)的MIFARE?卡或來自HID Global的iClass?卡。某些常規(guī)智能卡使用射頻標(biāo)識(shí)(RFID)標(biāo)準(zhǔn)來將信息發(fā)射到讀卡器 設(shè)備以及從讀卡器設(shè)備接收信息?;赗FID的非接觸式智能卡設(shè)備由用于智能卡和讀卡 器的國(guó)際標(biāo)準(zhǔn)化組織和國(guó)際電工協(xié)會(huì)標(biāo)準(zhǔn)(IS0/IEC) 14443支持。某些非接觸式卡類型設(shè) 備能夠使用電子部件(如天線和安全存儲(chǔ)器)并且支持半導(dǎo)體部件(如存儲(chǔ)器管理單元、 處理器以及密碼生成器)。
[0008] 不同類型的軟件應(yīng)用程序或應(yīng)用數(shù)據(jù)存儲(chǔ)區(qū)域包括隨機(jī)存取存儲(chǔ)器(RAM)、只讀 存儲(chǔ)器(ROM)以及非易失性閃存。這些存儲(chǔ)區(qū)域典型地是安全存儲(chǔ)區(qū)域,并且存儲(chǔ)運(yùn)行軟 件應(yīng)用程序所需的所有安全信息,以便實(shí)現(xiàn)訪問、成員隸屬或支付目的。某些低端非接觸式 智能卡可能并不具有顯著處理能力;這些智能卡通常是被動(dòng)的,并且用來自被動(dòng)存儲(chǔ)器的 信息發(fā)射射頻。此外,每個(gè)安全存儲(chǔ)區(qū)域被指派特定應(yīng)用功能,所述特定應(yīng)用功能被包括在 非接觸式智能卡內(nèi)的安全元件區(qū)域中。
[0009] 某些非接觸式智能卡包括用于硬件和軟件的平臺(tái),其支持EMV(電子信用卡標(biāo)準(zhǔn)) 和MIFARE?:操作功能。此類卡進(jìn)一步包括處理器,其用于在非接觸式智能卡設(shè)備的組合 的或分開的安全元件內(nèi)保持不同區(qū)域??梢缘玫讲煌鎯?chǔ)大小的非接觸式智能卡,例如, 4KB的EEPR0M(閃存)或1KB的EEPR0M包。然而,某些廣泛使用的智能卡并不具有任何智 能處理能力,并且經(jīng)過軟件編碼,以使得只有某些存儲(chǔ)區(qū)域能夠僅由某些讀卡器讀取。在許 多廣泛使用的非接觸式事務(wù)卡(如MIFAREClassic?:)中,可以在智能卡內(nèi)獲得有限量的 資源來實(shí)現(xiàn)進(jìn)一步開發(fā)。例如,對(duì)于4KB卡,存在卡內(nèi)所有4KB應(yīng)當(dāng)在任何給定時(shí)間處有效 的要求。
[0010] 在非接觸式卡內(nèi)的一些安全元件名稱空間(也稱作"存儲(chǔ)區(qū)域")中,可用存儲(chǔ)器 被靜態(tài)地劃分,并且分區(qū)在讀卡器中進(jìn)一步被編碼。最終,讀卡器只讀取預(yù)定分區(qū)。已經(jīng) 超額訂制的名稱空間的這種分割導(dǎo)致頻繁的沖突,并且因此產(chǎn)生進(jìn)一步減少可用存儲(chǔ)空間 的防沖突協(xié)議。此外,針對(duì)不具有任何處理器能力的卡強(qiáng)制執(zhí)行有限安全性協(xié)議。與(例 如)通常用于信用卡應(yīng)用的EMV型卡相比,這種強(qiáng)制執(zhí)行可能減少卡和讀卡器內(nèi)的安全性 選項(xiàng)。
[0011] 一些軟件應(yīng)用程序可以限制存儲(chǔ)在卡內(nèi)的信息,并且限制對(duì)安全密鑰所有者的信 息控制。在包括多個(gè)應(yīng)用的非接觸式智能卡上,由于共享存儲(chǔ)器而產(chǎn)生沖突和錯(cuò)誤。此外, 如果第二家公司需要保護(hù)卡上部分?jǐn)?shù)據(jù),那么這種保護(hù)將因?yàn)橐粋€(gè)密鑰無法提供超越另一 密鑰的安全性而不可行。在當(dāng)前應(yīng)用中,有限的應(yīng)用空間、數(shù)據(jù)空間以及受到多方關(guān)注的安 全性存在不足。此外,在沒有密鑰"B"所有者的準(zhǔn)許時(shí),無法更新卡上的存取密鑰。
[0012] 概述
[0013] 在某些示例性實(shí)施方案中,一種用于通過安全元件內(nèi)的控制軟件應(yīng)用程序來將所 述安全元件的名稱空間劃分成至少兩個(gè)存儲(chǔ)類型的計(jì)算機(jī)實(shí)施的方法包括:在所述控制軟 件應(yīng)用程序中針對(duì)所述安全元件名稱空間內(nèi)的多個(gè)存儲(chǔ)塊至少定義第一存取類型、第二存 取類型、第一存取密鑰以及第二存取密鑰,其中所述第一存取密鑰和所述第二存取密鑰中 的每一個(gè)針對(duì)所述安全元件名稱空間內(nèi)的所述多個(gè)存儲(chǔ)塊提供以下之一:所述第一存取類 型、所述第二存取類型,或所述第一存取類型與所述第二存取類型的組合;由所述控制軟件 應(yīng)用程序從所述安全元件名稱空間內(nèi)的所述多個(gè)存儲(chǔ)塊至少選擇第一存儲(chǔ)塊組、第二存儲(chǔ) 塊組以及用于所選存儲(chǔ)塊組中的每一個(gè)的存取類型,其中每個(gè)所選存儲(chǔ)塊組中的至少一個(gè) 存儲(chǔ)塊是存取存儲(chǔ)塊,其用于將所述所選存儲(chǔ)塊組的數(shù)據(jù)存儲(chǔ)塊內(nèi)的軟件應(yīng)用程序或應(yīng)用 數(shù)據(jù)的所選存取類型提供給外部數(shù)據(jù)請(qǐng)求設(shè)備;以及從所述控制軟件應(yīng)用程序傳輸?shù)谝淮?取密鑰、第二存取密鑰以及用于每個(gè)相應(yīng)所選存儲(chǔ)塊組的所選存取類型,以用于存儲(chǔ)在所 選存儲(chǔ)塊組中的每一個(gè)的存取存儲(chǔ)塊中,進(jìn)而將所述安全元件的所述名稱空間劃分成至少 兩個(gè)存儲(chǔ)類型。
[0014] 在某些示例性實(shí)施方案中,一種用于使用駐存在安全元件外的用戶接口軟件應(yīng)用 程序來將應(yīng)用數(shù)據(jù)寫入到安全元件名稱空間中的計(jì)算機(jī)實(shí)施的方法包括:從所述用戶接口 軟件應(yīng)用程序向遠(yuǎn)程可信服務(wù)管理器(TSM)計(jì)算機(jī)傳輸針對(duì)應(yīng)用數(shù)據(jù)和用于寫入存取類 型的至少一個(gè)存取密鑰的請(qǐng)求,所述應(yīng)用數(shù)據(jù)將被寫入到所述安全元件名稱空間;在安全 存儲(chǔ)器中從所述遠(yuǎn)程TSM計(jì)算機(jī)接收所請(qǐng)求的應(yīng)用數(shù)據(jù)和所請(qǐng)求的存取密鑰;以及由所述 安全元件中的控制軟件應(yīng)用程序?qū)⑺鏊?qǐng)求的應(yīng)用數(shù)據(jù)從所述安全存儲(chǔ)器寫入到所述 安全元件名稱空間的數(shù)據(jù)存儲(chǔ)塊,其中所述安全元件名稱空間的所述數(shù)據(jù)存儲(chǔ)塊由所述控 制軟件應(yīng)用程序使用所述所請(qǐng)求的存取密鑰進(jìn)行存取。
[0015] 附圖簡(jiǎn)述
[0016] 圖1示出根據(jù)某些示例性實(shí)施方案的用于對(duì)非接觸式智能卡設(shè)備中的安全元件 的名稱空間進(jìn)行劃分并且用于使用來自在所述安全元件外的軟件應(yīng)用程序的請(qǐng)求將應(yīng)用 數(shù)據(jù)寫入到所述安全元件中的計(jì)算機(jī)實(shí)施的系統(tǒng)和設(shè)備。
[0017] 圖2示出根據(jù)某些示例性實(shí)施方案的用于對(duì)非接觸式智能卡設(shè)備中的安全元件 的名稱空間進(jìn)行劃分并且用于使用來自在所述安全元件外的軟件應(yīng)用程序的請(qǐng)求將應(yīng)用 數(shù)據(jù)寫入到所述安全元件中的計(jì)算機(jī)實(shí)施的系統(tǒng)和設(shè)備。
[0018] 圖3示出根據(jù)某些示例性實(shí)施方案的用于非接觸式智能卡設(shè)備中的安全元件的 名稱空間的數(shù)據(jù)結(jié)構(gòu)以及與控制所述安全元件名稱空間中的劃分和應(yīng)用數(shù)據(jù)存儲(chǔ)的控制 軟件應(yīng)用程序相關(guān)聯(lián)的應(yīng)用數(shù)據(jù)。
[0019] 圖4示出根據(jù)某些示例性實(shí)施方案的用于通過安全元件內(nèi)的控制軟件應(yīng)用程序 將安全元件的名稱空間劃分成至少兩個(gè)存儲(chǔ)類型的計(jì)算機(jī)實(shí)施的方法。
[0020] 圖5示出根據(jù)某些示例性實(shí)施方案的用于使用來自駐存在安全元件外的用戶接 口軟件應(yīng)用程序的請(qǐng)求來將應(yīng)用數(shù)據(jù)寫入到安全元件名稱空間中的計(jì)算機(jī)實(shí)施的方法。
[0021] 圖6示出根據(jù)某些示例性實(shí)施方案的用于在非接觸式智能卡設(shè)備的安全元件內(nèi) 本地實(shí)施可信服務(wù)管理器(TSM)的計(jì)算機(jī)實(shí)施的方法。
[0022] 圖7示出根據(jù)某些示例性實(shí)施方案的出于劃分和配備目的而控制對(duì)安全元件名 稱空間的存取的計(jì)算機(jī)實(shí)施的方法。
[0023] 示例性實(shí)施方案詳述
[0024] 應(yīng)用目錄表將安全元件名稱空間中的特殊塊保留為元數(shù)據(jù)塊。這些塊包含應(yīng)用標(biāo) 識(shí)符(AID)到槽/塊的邏輯映射,所述槽/塊包含要呈現(xiàn)給外部讀卡器設(shè)備的軟件應(yīng)用程 序。當(dāng)外部讀卡器設(shè)備遇到非接觸式智能卡時(shí),所述外部讀卡器設(shè)備嘗試用所述讀卡器和 軟件應(yīng)用程序已知的所定義的存取密鑰來向目錄中標(biāo)識(shí)出的特殊元數(shù)據(jù)塊進(jìn)行驗(yàn)證。當(dāng)塊 是有效的時(shí),讀卡器讀取在所指派的塊中的應(yīng)用目錄表的內(nèi)容,并且執(zhí)行查找來找出應(yīng)用 ID映射到哪些扇區(qū)/塊。舉例來說,當(dāng)零售商的積分卡的AID是' 10'時(shí),目標(biāo)讀卡器設(shè)備 將讀取安全元件名稱空間的數(shù)據(jù)存儲(chǔ)塊中的應(yīng)用目錄表,并且查找AID' 10'。盡管目錄服 務(wù)是一項(xiàng)有用服務(wù),但其需要充分使用塊及其AID名稱空間,并且是由第三方在外部進(jìn)行 管理。
[0025] 在非接觸式智能卡內(nèi)的應(yīng)用標(biāo)識(shí)符(AID)是16位代碼,這個(gè)16位代碼被分割成 功能群集和應(yīng)用代碼,各自具有8位長(zhǎng)度。扇區(qū)0的密鑰"A"或"A密鑰"是帶有6字節(jié)代 碼的公共扇區(qū),而扇區(qū)0的密鑰"B"或"B密鑰"是由非接觸式智能卡發(fā)行商或卡所有者確 定的,其中卡發(fā)行商控制某些存取密鑰和控制軟件應(yīng)用程序或在非接觸式智能卡上的其它 軟件應(yīng)用程序的某些方面。
[0026]術(shù)語(yǔ)"卡發(fā)行商"或"卡所有者"在本文中可互換地使用,并且大體上指代將安全 元件和應(yīng)用目錄放置在非接觸式智能卡內(nèi)的實(shí)體。NFC服務(wù)提供商可以是卡發(fā)行商類型實(shí) 體的一個(gè)實(shí)例。
[0027] B密鑰可為6字節(jié)代碼,其被保密,用來對(duì)相關(guān)存儲(chǔ)塊內(nèi)的軟件應(yīng)用程序或應(yīng)用數(shù) 據(jù)做出改變。
[0028] 本文所用的"應(yīng)用數(shù)據(jù)"定義這樣的數(shù)據(jù):所述數(shù)據(jù)向軟件應(yīng)用程序增補(bǔ)、更新或 提供數(shù)據(jù)。本文所用的"軟件應(yīng)用程序"指代以任何格式從外部計(jì)算機(jī)獲得的任何軟件應(yīng)用 程序,所述軟件應(yīng)用程序可以在非接觸式智能卡的安全元件內(nèi)進(jìn)行安裝和執(zhí)行。此外,"軟 件應(yīng)用程序"和"應(yīng)用數(shù)據(jù)"在本文中可互換地用來指代來自外部計(jì)算機(jī)的存儲(chǔ)在安全元件 內(nèi)的那些類型的數(shù)據(jù)。除非另有描述,否則術(shù)語(yǔ)"軟件應(yīng)用程序"還包括所有格式的軟件應(yīng) 用程序,包括下載格式、任何中間格式以及最終執(zhí)行格式。
[0029] 在安全元件名稱空間中的用于應(yīng)用目錄表的數(shù)據(jù)存儲(chǔ)塊中,通過使用用于存取控 制的單字節(jié)群集代碼和作為軟件應(yīng)用程序代碼或最低有效位(LSB)的另一單字節(jié),軟件應(yīng) 用程序使用其2字節(jié)應(yīng)用標(biāo)識(shí)符(AID)來進(jìn)行映射。
[0030] 在某些示例性實(shí)施方案(即,某些非接觸式智能卡或非接觸式智能卡的實(shí)施方 式)中,安全元件名稱空間可以被分割成用于不同卡類型的不同分區(qū),所述不同卡類型包 括不同卡協(xié)議或平臺(tái),例如,在JavaCard平臺(tái)上的EMVCo、用于接近感測(cè)的近場(chǎng)通信(NFC) 或MIFARE。在一個(gè)實(shí)施方案中,安全元件名稱空間被虛擬地分割成多個(gè)扇區(qū),其中每個(gè)扇區(qū) 包括各自長(zhǎng)度為16字節(jié)的4個(gè)存儲(chǔ)塊,其中扇區(qū)可以選擇將大小調(diào)整成不同于默認(rèn)的16 字節(jié)。每個(gè)扇區(qū)的尾塊是專用存取存儲(chǔ)塊,所述專用存取存儲(chǔ)塊被分割成3個(gè)存儲(chǔ)區(qū)段,用 于將存取信息存儲(chǔ)到存儲(chǔ)塊的剩余部分。存取信息包括A密鑰、存取存儲(chǔ)塊內(nèi)的存取位以 及B密鑰。存取存儲(chǔ)塊依據(jù)用于對(duì)存儲(chǔ)塊進(jìn)行存取的單獨(dú)存取密鑰或存取密鑰的組合來控 制對(duì)扇區(qū)中的其余塊的存取。扇區(qū)中的存儲(chǔ)塊的剩余部分是數(shù)據(jù)存儲(chǔ)塊,所述數(shù)據(jù)存儲(chǔ)塊 包含應(yīng)用數(shù)據(jù)或軟件應(yīng)用程序。軟件應(yīng)用程序還可以通過提供指向前一扇區(qū)中的軟件應(yīng)用 程序的結(jié)束字節(jié)的指針或連續(xù)性信息來跨扇區(qū)存儲(chǔ)。指針可以包括軟件應(yīng)用程序的AID以 及軟件應(yīng)用程序的連續(xù)區(qū)段的塊位置和扇區(qū)位置。
[0031] 在某些示例性實(shí)施方案中,存取存儲(chǔ)塊中的存取密鑰支持對(duì)扇區(qū)0中的用于應(yīng)用 數(shù)據(jù)或應(yīng)用目錄表的數(shù)據(jù)存儲(chǔ)塊的不同存取類型。存取控制塊可以被配置來描述密鑰A的 權(quán)限,而密鑰B維持在控制塊中旋轉(zhuǎn)密鑰以及蓋寫存取控制塊內(nèi)的存取位的能力。在扇區(qū) 0的包括應(yīng)用目錄表的數(shù)據(jù)存儲(chǔ)塊中,密鑰B可以用來編輯目錄,改變AID到扇區(qū)和存儲(chǔ)塊 位置的映射,并且通過在安全元件名稱空間內(nèi)改變存取類型來重新分配存儲(chǔ)塊。這些功能 性允許非接觸式智能卡在功能上支持多個(gè)應(yīng)用和存取類型,這取決于存取存儲(chǔ)塊中的存取 密鑰和存取位。可供用于非接觸式智能卡的存取類型包括寫入存取、讀取存取、遞增存取、 遞減存取,或讀取、寫入、遞增和遞減存取中的每一個(gè)的兩個(gè)或更多個(gè)的組合。寫入存取包 括將軟件應(yīng)用程序或應(yīng)用數(shù)據(jù)寫入或安裝到安全元件名稱空間內(nèi)的數(shù)據(jù)存儲(chǔ)塊的能力。<