204側上。軟件應用程序提供商212 可以包括信用卡公司216、票務公司(交通系統(tǒng))220、優(yōu)惠券公司224、認證公司(積分、成 員關系以及安全性驗證)228以及保護信息提供商221 (如銀行、商家或其它金融服務提供 商),所述保護信息提供商用于提供保密信息或以其它方式保護的信息(例如,賬戶信息), 這些信息可以用于實例化特定卡。每個部件216至228可以包括獨立的安全計算機,所述計 算機托管應用數(shù)據和軟件應用程序,所述應用數(shù)據和軟件應用程序可以直接使用連接296 或間接通過236和240提供給非接觸式智能卡設備244。
[0076] 在某些示例性實施方案中,控制軟件應用程序或TSM軟件應用程序對存儲在暫時 存儲器268中的私有密鑰進行存取。在一個示例性實施方案中,私有密鑰由卡發(fā)行商使用 不對稱密碼算法生成。私有密鑰可以進行改變并且以預定時間間隔從卡發(fā)行商204推送到 安全元件256,以使私有密鑰保持旋轉并且是安全的。此外,TSM軟件應用程序可以集成到 控制軟件應用程序中,進而使兩個軟件應用程序能夠控制來自軟件應用程序提供商的事務 軟件應用程序。由密碼算法生成的公共密鑰隨后分發(fā)給各個合法軟件應用程序提供商,包 括提供商216至228和由非TSM計算機208托管的軟件應用程序。使用不對稱密碼算法對 系統(tǒng)200來說是有益的,其中軟件應用程序的最低權限(包括軟件應用程序的實例化、停 止、啟動和銷毀)無需使用遠程TSM。
[0077] 權限可以經由TSM軟件應用程序260來授予,所述TSM軟件應用程序包括私有密 鑰以對來自非TSM計算機208和216至228的軟件應用程序進行解密和驗證。此外,TSM軟 件應用程序可以驗證針對將對安全元件內所安裝的軟件應用程序執(zhí)行的改變的請求,進而 就生命周期功能來說,消除調用API以尋求軟件應用程序權限的安全元件運行時環(huán)境。
[0078] 圖3示出根據某些示例性實施方案的用于非接觸式智能卡設備中的安全元件304 的名稱空間的數(shù)據結構300A以及與控制安全元件名稱空間中的劃分和應用數(shù)據存儲的控 制軟件應用程序300相關聯(lián)的應用數(shù)據300B。安全元件名稱空間在圖3中被示出為表,所述 表包括每存儲塊16個字節(jié)316和每扇區(qū)3084個塊312。每個存儲塊包括存取存儲塊328A 至328Z和數(shù)據存儲塊332。每個存取存儲塊328A至328Z進一步包括存取密鑰320和324, 其中A密鑰320A至320Z和B密鑰324A至324Z中的每一個向整個塊提供一個存取類型或 兩個或更多個存取類型的組合。存取存儲塊328包括存取位,所述存取位描述指派給扇區(qū) 中的塊的存取類型。制造商的塊336包括版本信息和唯一標識符信息,用以導出默認存取 密鑰A和B。用于扇區(qū)0的數(shù)據存儲塊還包括扇區(qū)0的塊1和塊2中的應用目錄。應用目 錄332A是帶有AID信息和指向包括在所述AID下的軟件應用程序或應用數(shù)據的扇區(qū)的指 針的表。
[0079] 出于說明目的,控制軟件應用程序340被示出為包括應用數(shù)據,但在某些示例性 實施方案中,應用數(shù)據被存儲在同一安全元件名稱空間304的數(shù)據存儲塊中,或被存儲在 安全元件304外的物理上或虛擬上不同的安全元件中??刂栖浖贸绦?40存儲所有存 取密鑰344,包括用于針對安全元件名稱空間304中的每個扇區(qū)改變B密鑰和存取位348的 存取密鑰。扇區(qū)類型352是根據存儲在控制軟件應用程序中的存取位進行定義的,其中所 述扇區(qū)類型允許單個軟件應用程序在扇區(qū)內執(zhí)行某些功能,例如寫入、讀取、遞增、遞減以 及目錄扇區(qū)類型。此外,扇區(qū)類型與卡發(fā)行商經由控制軟件應用程序進行的槽選擇和分發(fā) 相關聯(lián)。讀取/寫入塊可以被指派SSLOT扇區(qū),而扇區(qū)15中的初始值只有在事務類型軟件 應用程序對扇區(qū)進行控制時才能被寫入,并且因此是SSLOT所有者。當軟件應用程序被存 儲在多個扇區(qū)上時,每個扇區(qū)的AID被存儲356在控制軟件應用程序中,以便遵循非接觸式 智能卡中的軟件應用程序的結構。改變日志記錄以下內容:最終用戶請求、由外部TSM計算 機做出的改變,以及在安全元件中的軟件應用程序的生命周期期間由外部讀卡器做出的針 對存取密鑰的請求。
[0080] 圖4示出根據某些示例性實施方案的用于通過在安全元件內的控制軟件應用程 序將安全元件的名稱空間劃分成至少兩個存儲類型的計算機實施的方法400。在方框405 中,卡發(fā)行商或非接觸式智能卡設備最終用戶針對安全元件名稱空間內的多個存儲塊定義 存取類型,例如,第一存取類型、第二存取類型、第一存取密鑰以及第二存取密鑰。第一存取 密鑰和第二存取密鑰中的每一個針對安全元件名稱空間內的多個存儲塊提供以下之一:第 一存取類型、第二存取類型,或第一存取類型與第二存取類型的組合。控制軟件應用程序可 以用來定義存取類型和存取密鑰,其中在一個替代實施方案中,所述定義可以在生產之后 在上述存取密鑰旋轉期間執(zhí)行。存取密鑰包括A密鑰和B密鑰,并且存取類型包括寫入、讀 取、遞增、遞減以及恢復或缺省。
[0081] 方框410執(zhí)行選擇過程,所述選擇過程使用控制軟件應用程序來從安全元件名稱 空間內的存儲塊至少選擇第一存儲塊組、第二存儲塊組以及用于所選存儲塊組中的每一個 的存取類型。每個所選存儲塊組中的至少一個存儲塊是存取存儲塊,其用于將所選存儲塊 組的數(shù)據存儲塊內的軟件應用程序或應用數(shù)據的所選存取類型提供給外部數(shù)據請求設備。
[0082] 方框415執(zhí)行傳輸功能,以從控制軟件應用程序傳輸?shù)谝淮嫒∶荑€、第二存取密 鑰以及用于每個相應所選存儲塊組的所選存取類型,以用于存儲在所選存儲塊組中的每一 個的存取存儲塊中,進而將安全元件的名稱空間劃分成至少兩個存儲類型。
[0083] 圖5示出根據某些示例性實施方案的用于使用來自駐存在安全元件外的用戶接 口軟件應用程序的請求將應用數(shù)據寫入到安全元件名稱空間中的計算機實施的方法500。 方框505執(zhí)行初始傳輸功能,將針對應用數(shù)據和用于寫入存取類型的至少一個存取密鑰的 請求從用戶接口軟件應用程序或錢包軟件應用程序傳輸?shù)竭h程可信服務管理器(TSM)計 算機。經由方框505請求的應用數(shù)據將被寫入到安全元件名稱空間。
[0084] 方框510執(zhí)行接收步驟,在安全元件的暫時存儲器處從遠程TSM計算機接收所請 求的應用數(shù)據和所請求的存取密鑰。如上所述,對于出于事務處理目的而用來存儲應用數(shù) 據和軟件應用程序的安全元件來說,暫時存儲器可以是物理上或虛擬上不同的。例如,暫時 存儲器可以是外部安全存儲器184、284或暫時存儲器168、268。方框515使用安全元件中 的控制軟件應用程序來將所請求的應用數(shù)據從安全元件的暫時存儲器寫入到安全元件名 稱空間的數(shù)據存儲塊。數(shù)據存儲塊是由控制軟件應用程序預定或指派的。此外,安全元件 名稱空間的數(shù)據存儲塊由控制軟件應用程序使用所請求的存取密鑰進行存取,所述所請求 的存取密鑰是從TSM計算機接收的。
[0085] 圖6示出根據某些示例性實施方案的用于在非接觸式智能卡設備的安全元件內 本地實施可信服務管理器(TSM)的計算機實施的方法600。TSM軟件應用程序通過方框605 安裝在非接觸式智能卡設備的安全元件中。方框605可以表示剛好在制造非接觸式智能卡 時旋轉密鑰之后或在非接觸式智能卡設備中部署非接觸式智能卡之前的步驟。TSM軟件應 用程序可以并入在安全元件的控制軟件應用程序內,或可以獨立地執(zhí)行。TSM軟件應用程序 包括計算機代碼,所述計算機代碼用于執(zhí)行傳輸功能來請求應用數(shù)據并且執(zhí)行解密功能來 對加密形式的所接收的應用數(shù)據進行解密,其中所接收的應用數(shù)據響應于來自傳輸功能的 請求而在非接觸式智能卡設備處進行接收。
[0086] 方框610將私有密鑰存儲在安全元件中,其中所述私有密鑰被指派給TSM軟件應 用程序,其中所述私有密鑰與公共密鑰一起使用(例如)不對稱密碼算法來生成。
[0087] 傳輸步驟經由方框615來進行,用于通過TSM軟件應用程序將針對應用數(shù)據的請 求傳輸?shù)蕉鄠€所注冊的遠程非TSM計算機之一。這些非TSM計算機包括圖2的設備208和 216至228。遠程非TSM計算機被配置來對公共密鑰進行存取,用于對響應于請求的應用數(shù) 據進行加密。TSM軟件應用程序還可以將針對應用數(shù)據的請求傳輸?shù)絋SM計算機,所述TSM 計算機可以使用公共密鑰來將數(shù)據返回至設備244。
[0088] 方框620在非接觸式智能卡設備中執(zhí)行接收功能,其中接收并且存儲加密的應用 數(shù)據。加密的應用數(shù)據可以存儲在為此指派的安全元件扇區(qū)的暫時存儲器內,或可以經由 屬于非接觸式智能卡設備的外部安全存儲器來存儲,其中外部安全存儲器經由安全通信信 道連接到安全元件。應用數(shù)據提供商可以使用公共密鑰對所請求的應用數(shù)據進行加密,并 且隨后將加密數(shù)據傳遞給設備244,以便在方框620中進行接收。
[0089] 方框625使用指派給TSM軟件應用程序的私有密鑰來對加密的應用數(shù)據進行解 密。解密的應用數(shù)據準備好用于安裝在安全元件的預定數(shù)據存儲塊內,其中所述數(shù)據存儲 塊分派由控制軟件應用程序基于存儲塊的當前狀態(tài)、指派給存儲塊的存取位以及扇區(qū)的狀 態(tài)(SSLOT或RSLOT)來決定。
[0090] 在一個示例性實施方案中,安全元件256可以具有指派給所述安全元件的唯一私 有密鑰和對應公共密鑰。在第一次安裝TSM軟件應用程序時,所述TSM軟件應用程序可以生 成兩個公共/私有密鑰對并且將這些密鑰對保存在內部。一個密鑰對用來接收加密通信, 如參照圖6所述,并且另一密鑰對用來允許TSM軟件應用程序對消息進行簽名。
[0091] 可信實體(如遠程可信服務管理器)可以接觸TSM軟件應用程序來獲得公共密鑰 并且創(chuàng)建證書,所述證書允許第三方檢驗這些公共密鑰確實與實際安全元件中的TSM軟件 應用程序相關聯(lián)。這些第三方(例如,圖2的設備208和216至228)隨后可以使用用于加 密的公共密鑰來對消息進行加密,將加密消息發(fā)送到安全元件256,并且檢驗所述第三方接 收的消息源自安全元件256。
[0092] 通過使用用于解密的私有密鑰,TSM軟件應用程序的解密功能的啟用只能由安裝 在安全元件256內的其它應用程序調用。可以基于公共/私有密鑰對來創(chuàng)建證書,以便證 明公共密鑰的安全性。
[0093] 圖7示出根據某些示例性實施方案的出于劃分和配備目的而控制對安全元件名 稱空間的存取的計算機實施的方法700、存取條件704、存取類型708至712以及可以指派 給非接觸式智能卡的各種扇區(qū)內的存儲塊的存取密鑰(例如,720和724)。對于列716中 所列舉的扇區(qū)或存儲塊,可以經由控制軟件應用程序實施的改變的類型由存取條件704定 義。控制軟件應用程序將存取條件信息與圖3所示的表300B-起存儲。第一行中的讀取 存取類型被設置為密鑰心,這意味著相關扇區(qū)728可以由能夠向非接觸式智能卡顯示同一 密鑰4的外部讀卡器設備讀取。類似地,密鑰A:或B:可以用來將寫入能力存取到由728 中的存取條件定義的扇區(qū)。舉例來說,在使用交通系統(tǒng)時,對于具有存取位的扇區(qū)來說,在 用于允許輸入退出和進入數(shù)據的存取存儲塊中,外部讀卡器向智能卡提供針對特定扇區(qū)的 B密鑰來用于寫入退出站和進入站。初始值改變可以使用密鑰B2在扇區(qū)740處進行,所述 密鑰B2可以不同于密鑰Bi。檢票閘門處的讀卡器可以不對這個扇區(qū)進行存取,并且交通辦 公處的特殊讀取器可以對這個扇區(qū)進行存取來用于向非接觸式智能卡添加值。
[0094] 存取密鑰本身可以在某些情形中進行改變,但在本文所述的實施方案中,控制軟 件應用程序基于卡發(fā)行商與軟件應用程序提供商之間的合同義務來記錄并準許對B密鑰 進行改變。因此,如圖7所示,可以通過使用同一密鑰A2或高權限密鑰(密鑰B2)首先存取 和改變扇區(qū)的存取存儲塊中的存取密鑰來改變密鑰A2752。密鑰氏始終是安全性較高的密 鑰,并且可以用于對所選扇區(qū)的密鑰A2和密鑰B2執(zhí)行存取密鑰改變,如經由744至764所 示。B密鑰可以不隨A密鑰一起改變,盡管可以針對所選扇區(qū)進行相反情況。最終,可以改變 776存取存儲塊中的存取位,從而出于RSLOT和SSLOT目的,向存儲塊指派不同權限。此外, 在改變存取密鑰或存取位之前,可以讀出存儲塊中的軟件應用程序并且將其存儲在不同存 儲塊中。在已經改變存取密鑰和存取位之后,隨后可以將應用數(shù)據或軟件應用程序寫回到 新的或原始的存儲塊。舉例來說,對于RSL0T,存儲扇區(qū)728和740可能需要是SSL0T,以便 允許交通管理局向這些槽內的數(shù)