智能卡應(yīng)用框架的研究及應(yīng)用
文章出處:http://srpd123.com 作者:劉剛 李崢 楊先文 時向衛(wèi) 王簡瑜 人氣: 發(fā)表時間:2011年09月26日
0 引 言
隨著Internet在電子商務(wù)和人類生活中占有越來越重要的地位,人們對認(rèn)證和安全交易的要求也越來越高。智能卡具有體積小、輕便易攜帶、可以自行存儲和處理數(shù)據(jù)并執(zhí)行加密解密操作等優(yōu)點(diǎn),與網(wǎng)絡(luò)服務(wù)的結(jié)合還使它成為一個可以方便地存儲用戶密鑰和下載保密數(shù)據(jù)的設(shè)備。智能卡中包含 CPU、RAM、EEPROM、ROM和I/O,如同一部規(guī)模較小的電腦。智能卡的軟件結(jié)構(gòu) 由COS(chipoperating system)系統(tǒng)、智能卡應(yīng)用框架及其具體應(yīng)用服務(wù)程序所構(gòu)成,如圖1所示。在此結(jié)構(gòu)中,最底層的COS系統(tǒng)負(fù)責(zé)底層硬件的管理;智能卡應(yīng)用框架定義了一整套編程接口類,提供應(yīng)用程序需要的統(tǒng)一的應(yīng)用環(huán)境;應(yīng)用程序提供具體的智能卡服務(wù)。
圖1 智能卡軟件結(jié)構(gòu)
1 OCF與PC/SC概述
PC/SC⋯(personal computer/smart card)是Windows平臺上智能卡訪問的標(biāo)準(zhǔn)框架,它的目的是減輕在PC上開發(fā)智能卡應(yīng)用程序的難度。PC/SC的主要優(yōu)點(diǎn)是:應(yīng)用程序與智能卡進(jìn)行通信時不必考慮智能卡讀卡器的具體細(xì)節(jié),即只要智能卡讀卡器遵從PC/SC標(biāo)準(zhǔn),應(yīng)用程序就能通過智能卡讀卡器正常行使功能。PC/SC體系結(jié)構(gòu)如圖2所示 其中,ICC就是IntegratedCircuit Card,即IC卡。IFD就是Interface Devices,即IC卡讀寫器。IC卡插入讀寫器后,通過IC卡讀寫器IFD與驅(qū)動程序的IFD Handler層通信。ICC Resource Manager層管理各種不同的IC卡讀寫器和IC卡資源。每一種IC卡讀寫器通過各自的IFDHandler接口函數(shù)與ICCResourceManager層通信,ICC Resource Manager層根據(jù)上層軟件的要求,將上層軟件發(fā)來的命令分別發(fā)到相應(yīng)的IFDHandler,再通過它發(fā)給IC卡讀寫器和IC卡。
圖2 PC/SC體系結(jié)構(gòu)
.....................................
2 OCF與PC/SC的聯(lián)系
OCF與PC/SC均提供智能卡與各種計算機(jī)的訪問標(biāo)準(zhǔn),它們在概念與機(jī)制方面存在著共同點(diǎn)。通過對比它們的構(gòu)成,我們發(fā)現(xiàn)了這些關(guān)系。
2.1 OCF與PC/SC結(jié)構(gòu)上的共同點(diǎn)
PC/SC中的ICC ServiceProvider提供智能卡服務(wù),與其相對應(yīng)OCF中由CardService來提供;OCF中的CardTerminal與PC/SC中的Interface Device Subsystem 相對應(yīng)。因此,OCF與PC/SC有很多的共同點(diǎn)。具體如圖4所示。
2.2 OCF與PC/SC的不同點(diǎn)
當(dāng)進(jìn)一步分析后發(fā)現(xiàn),OCF與PC/SC的內(nèi)部結(jié)構(gòu)有很大的不同。例如,OCF未提供對CardTerminal更進(jìn)一步的結(jié)構(gòu)劃分,而PC/SC中Interface Device Subsystem由IFD與IFD Handler組成。詳細(xì)對比如表1所示。
OCF與PC/SC的密碼服務(wù)框架不同,PC/SC定義了一個密碼服務(wù)接口Crypto Service Provider,而OCF將其封裝在內(nèi)部,沒有定義專門的接口。
OCF與PC/SC最重要的區(qū)別是:OCF比PC/SC有更詳細(xì)的結(jié)構(gòu)劃分,OCF對智能卡服務(wù)(CardService)與智能卡服務(wù)程序管理ApplicationManagementCardService)有嚴(yán)格的區(qū)分。在Windows平臺Java語占環(huán)境下,OCF與PC/SC出現(xiàn)重疊。具體如表2所示。
2.3 OCF與PC/SC的共存
PC機(jī)上不同的應(yīng)用程序可能有的使用OCF,有的使用PC/SC,它們之間會出現(xiàn)沖突嗎?不會,OCF與PC/SC協(xié)會對兩者共用有詳細(xì)的規(guī)定,以保證兩者共存而不產(chǎn)生沖突。例如:OCF支持現(xiàn)有的PC/SC接口設(shè)備,OCF還提供了一個到PC/SC的接口,使得開發(fā)者得以使用現(xiàn)有Win32平臺的設(shè)備;OCF對card operating system、application.·specific card services與app1ication management的詳細(xì)定義可以作為對PC/SC的擴(kuò)展。
3 應(yīng)用實(shí)例
在OCF與PC/SC框架下,實(shí)現(xiàn)了自動識別JavaCard、USB Key并自動連接與之相應(yīng)的密碼服務(wù)接口的安全電子郵件系統(tǒng)開發(fā),保證了密鑰等機(jī)密信息的安全,通過對郵件進(jìn)行加密、解密和簽名,有效地解決了郵件在存儲和傳輸過程中的安全性問題,取得了比較滿意的效果。具體系統(tǒng)結(jié)構(gòu)如圖5所示。
4 結(jié)束語
智能卡應(yīng)用框架的提出給應(yīng)用程序開發(fā)者、智能卡和智能卡終端投資商等帶來了極大的方便。使得智能卡的應(yīng)用實(shí)現(xiàn)了從“一對一”到“多對多” 的轉(zhuǎn)換,并為開放式智能卡應(yīng)用構(gòu)造了一個統(tǒng)一標(biāo)準(zhǔn)框架。①對于遵循智能卡應(yīng)用框架的應(yīng)用程序,可以適用于任何一張開放式智能卡,應(yīng)用程序不需重復(fù)開發(fā),開發(fā)費(fèi)用大大減少;②對于遵循智能卡應(yīng)用框架開發(fā)的智能卡,不僅可裝載不同組織提供的多個應(yīng)用程序,且一旦運(yùn)用環(huán)境變化,可方便地裝載和卸載來更換卡上的應(yīng)用程序。像其它許多新技術(shù)一樣,關(guān)于智能卡有許許多多令人眼花繚亂的技術(shù)標(biāo)準(zhǔn)。本文僅簡要介紹了兩種智能卡應(yīng)用框架OCF與PC/SC,并對它們進(jìn)行了對比分析,并進(jìn)行了一些簡單的應(yīng)用開發(fā)。通過此實(shí)例,可以舉一反三地將其應(yīng)用在其它網(wǎng)絡(luò)安全產(chǎn)品上,如網(wǎng)上證券、網(wǎng)上銀行、稅務(wù)管理等。
由于部分文字無法轉(zhuǎn)換,請下載全文閱讀:http://www.yktchina.com/bbs/Read-b3-t5322-p10.htm