兩種智能卡應(yīng)用框架OCF與PC/SC的對(duì)比
文章出處:http://www.sgrivertours.com 作者:劉剛 李崢 楊先文 時(shí)向衛(wèi) 王簡(jiǎn)瑜 人氣: 發(fā)表時(shí)間:2011年09月23日
由于Internet在電子商務(wù)和人類(lèi)生活中占有越來(lái)越重要的地位,人們對(duì)認(rèn)證和安全交易的要求也就越來(lái)越高。智能卡具有體積小、輕便易攜帶、可以自行存儲(chǔ)和處理數(shù)據(jù)并能執(zhí)行加密解密操作等優(yōu)點(diǎn),與網(wǎng)絡(luò)服務(wù)相結(jié)合,使它成為一個(gè)可以方便地存儲(chǔ)用戶(hù)密鑰和下載保密數(shù)據(jù)的設(shè)備。智能卡中包含有CPU、RAM、EEPROM、ROM和I/O,就像一部規(guī)模較小的電腦。智能卡的軟件結(jié)構(gòu)由COS(Chip Operating System)系統(tǒng)、智能卡應(yīng)用框架及具體應(yīng)用程序構(gòu)成,如圖1所示。在此結(jié)構(gòu)中,最底層的COS系統(tǒng)負(fù)責(zé)底層硬件的管理;智能卡應(yīng)用框架定義了一整套編程接口類(lèi),提供應(yīng)用程序所需要的統(tǒng)一的應(yīng)用環(huán)境;應(yīng)用程序提供具體的智能卡服務(wù)。
圖1智能卡軟件結(jié)構(gòu)
1OCF與PC/SC概述
PC /SC (Personal Computer / Smart Card )是Windows平臺(tái)上智能卡訪(fǎng)問(wèn)的標(biāo)準(zhǔn)框架,其目的是減輕智能卡應(yīng)用程序在PC機(jī)上的開(kāi)發(fā)難度。PC/SC的主要優(yōu)點(diǎn)是:應(yīng)用程序與智能卡進(jìn)行通信時(shí)不必考慮智能卡讀卡器的具體細(xì)節(jié),即只要智能卡讀卡器遵從PC/SC標(biāo)準(zhǔn),應(yīng)用程序就能通過(guò)智能卡讀卡器正常行使功能。PC/SC體系結(jié)構(gòu)如圖2所示。其中,智能卡就是Integrated Circuit Card,智能卡讀寫(xiě)器就是Tnterface Devices。智能卡插人讀寫(xiě)器后,通過(guò)智能卡讀寫(xiě)器與驅(qū)動(dòng)程序的智能卡讀寫(xiě)控制器(IFD Handler)通信。智能卡資源管理器(ICC Resource Manager)管理各種不同的智能卡讀寫(xiě)器和智能卡資源。每一種智能卡讀寫(xiě)器都通過(guò)各自的智能卡讀寫(xiě)控制器接口函數(shù)與智能卡資源管理器通信,智能卡資源管理器根據(jù)上層軟件的要求,將上層軟件發(fā)來(lái)的命令分別發(fā)到相應(yīng)的智能卡讀寫(xiě)控制器,再通過(guò)它發(fā)給智能卡讀寫(xiě)器和智能卡。
圖2 PC/SC體系結(jié)構(gòu)
OCF( Open Card Framework)是一個(gè)用于實(shí)現(xiàn)智能卡解決方案和智能卡服務(wù)的易于使用的標(biāo)準(zhǔn)框架。OCF充分利用Java跨平臺(tái)、多用途的特性,為實(shí)現(xiàn)智能卡解決方案和智能卡服務(wù)提供一個(gè)開(kāi)放的架構(gòu)和一套通用的應(yīng)用程序(APIs)。OCF的體系結(jié)構(gòu)如圖3所示。其中,智能卡服務(wù)(Cardservice)是一個(gè)抽象類(lèi),其意義是卡上的服務(wù),它的子類(lèi)通過(guò)包裝一系列APDUs(Application Protocol Data Units)提供具體的服務(wù)內(nèi)容;智能卡服務(wù)標(biāo)識(shí)(Card Serves Factory)同智能卡終端標(biāo)識(shí)(Card Terminal Factory)功能相似,應(yīng)用服務(wù)商提供自己的智能卡服務(wù)標(biāo)識(shí)代表其自身,由智能卡服務(wù)標(biāo)識(shí)產(chǎn)生它們的各種服務(wù),即一些智能卡服務(wù)實(shí)例;智能卡服務(wù)管理(Card service Registry)管理卡上的所有智能卡服務(wù)對(duì)象;智能卡服務(wù)通信管理器(Card servces shcduler)為服務(wù)所需的通信安排通道,給智能卡服務(wù)對(duì)象提供一個(gè)邏輯通道以便發(fā)送接收命令完成任務(wù);智能卡終端(Card Terminal)從各種智能卡終端抽象出來(lái)可被繼承的類(lèi),由其對(duì)應(yīng)的智能卡終端標(biāo)識(shí)(Card Terminal Factory)生產(chǎn)得到;智能卡終端管理(Card Terminal Registry)管理應(yīng)用系統(tǒng)中安裝的所有智能卡終端,可對(duì)智能卡終端進(jìn)行實(shí)例注冊(cè)、注銷(xiāo)等操作;智能卡終端標(biāo)識(shí)同特定的工廠生產(chǎn)的產(chǎn)品一樣,不同的智能卡終端制造商提供具體的智能卡終端標(biāo)識(shí)子類(lèi),由這些子類(lèi)產(chǎn)生對(duì)應(yīng)的智能卡終端實(shí)例。
圖3 OCF體系結(jié)構(gòu)
2 OCF與PC/SC的聯(lián)系
OCF 與 PC/SC均提供智能卡與各種計(jì)算機(jī)的訪(fǎng)問(wèn)標(biāo)準(zhǔn),它們?cè)诟拍钆c機(jī)制方面存在著共同點(diǎn)。通過(guò)對(duì)比它們的構(gòu)成,可發(fā)現(xiàn)它們之間的共同點(diǎn)與不同點(diǎn)。
(1) OCF與 PC/SC結(jié)構(gòu)上的共同點(diǎn)
PC /SC 中的智能卡服務(wù)提供者提供智能卡服務(wù),與其相對(duì)應(yīng)OCF中由智能卡服務(wù)來(lái)提供;OCF中的智能卡終端與PC/SC中的智能卡讀寫(xiě)器系統(tǒng)(Inte月五CeDevice Subsystem)相對(duì)應(yīng)。因此,OCF與PC/SC有很多共同點(diǎn)。具體如圖4所示。
全文下載:http://www.yktchina.com/bbs/Read-b3-t4213-p1.htm