摘 要: 智能卡應用框架" title="智能卡應用框架">智能卡應用框架是智能卡軟件結構中的重要環(huán)節(jié)。介紹了兩種智能卡應用框架OCF與PC/SC" title="PC/SC">PC/SC,分析了它們各自的特點,并對它們進行了對比分析。
關鍵詞: 智能卡應用框架 OCF PC/SC COS NC
?
由于Internet在電子商務和人類生活中占有越來越重要的地位,人們對認證和安全交易的要求也就越來越高。智能卡具有體積小、輕便易攜帶、可以自行存儲和處理數(shù)據(jù)并能執(zhí)行加密解密操作等優(yōu)點,與網(wǎng)絡服務相結合,使它成為一個可以方便地存儲用戶密鑰和下載保密數(shù)據(jù)的設備。智能卡中包含有CPU、RAM、EEPROM、ROM和I/O,就像一部規(guī)模較小的電腦。智能卡的軟件結構[1]由COS(Chip Operating System)系統(tǒng)、智能卡應用框架及具體應用程序" title="應用程序">應用程序構成,如圖1所示。在此結構中,最底層的COS系統(tǒng)負責底層硬件的管理;智能卡應用框架定義了一整套編程接口類,提供應用程序所需要的統(tǒng)一的應用環(huán)境;應用程序提供具體的智能卡服務。
1 OCF與PC/SC概述
PC/SC[2] (Personal Computer/Smart Card)是Windows平臺上智能卡訪問的標準框架,其目的是減輕智能卡應用程序在PC機上的開發(fā)難度。PC/SC的主要優(yōu)點是:應用程序與智能卡進行通信時不必考慮智能卡讀卡器" title="智能卡讀卡器">智能卡讀卡器的具體細節(jié),即只要智能卡讀卡器遵從PC/SC標準,應用程序就能通過智能卡讀卡器正常行使功能。PC/SC體系結構如圖2所示。其中,智能卡就是Integrated Circuit Card,智能卡讀寫器" title="智能卡讀寫器">智能卡讀寫器就是Interface Devices。智能卡插入讀寫器后,通過智能卡讀寫器與驅動程序的智能卡讀寫控制器(IFD Handler)通信。智能卡資源管理器(ICC Resource Manager)管理各種不同的智能卡讀寫器和智能卡資源。每一種智能卡讀寫器都通過各自的智能卡讀寫控制器接口函數(shù)與智能卡資源管理器通信,智能卡資源管理器根據(jù)上層軟件的要求,將上層軟件發(fā)來的命令分別發(fā)到相應的智能卡讀寫控制器,再通過它發(fā)給智能卡讀寫器和智能卡。
OCF[3](Open Card Framework)是一個用于實現(xiàn)智能卡解決方案和智能卡服務的易于使用的標準框架。OCF充分利用Java跨平臺、多用途的特性,為實現(xiàn)智能卡解決方案和智能卡服務提供一個開放的架構和一套通用的應用程序(APIs)。OCF的體系結構如圖3所示。其中,智能卡服務(CardService)是一個抽象類,其意義是卡上的服務,它的子類通過包裝一系列APDUs(Application Protocol Data Units)提供具體的服務內容;智能卡服務標識(CardServiceFactory)同智能卡終端標識(CardTerminalFactory)功能相似,應用服務商提供自己的智能卡服務標識代表其自身,由智能卡服務標識產(chǎn)生它們的各種服務,即一些智能卡服務實例;智能卡服務管理(CardServiceRegistry)管理卡上的所有智能卡服務對象;智能卡服務通信管理器(CardServiceShcduler)為服務所需的通信安排通道,給智能卡服務對象提供一個邏輯通道以便發(fā)送接收命令完成任務;智能卡終端(CardTerminal)從各種智能卡終端抽象出來可被繼承的類,由其對應的智能卡終端標識(CardTerminalFactory)生產(chǎn)得到;智能卡終端管理(CardTerminalRegistry)管理應用系統(tǒng)中安裝的所有智能卡終端,可對智能卡終端進行實例注冊、注銷等操作;智能卡終端標識同特定的工廠生產(chǎn)的產(chǎn)品一樣,不同的智能卡終端制造商提供具體的智能卡終端標識子類,由這些子類產(chǎn)生對應的智能卡終端實例。
?
2 OCF與PC/SC的聯(lián)系
OCF與PC/SC均提供智能卡與各種計算機的訪問標準,它們在概念與機制方面存在著共同點。通過對比它們的構成,可發(fā)現(xiàn)它們之間的共同點與不同點。
(1)OCF與PC/SC結構上的共同點
PC/SC中的智能卡服務提供者提供智能卡服務,與其相對應OCF中由智能卡服務來提供;OCF中的智能卡終端與PC/SC中的智能卡讀寫器系統(tǒng)(Interface Device Subsystem)相對應。因此,OCF與PC/SC有很多共同點。具體如圖4所示。
(2)OCF與PC/SC的不同點
進一步分析發(fā)現(xiàn),OCF與PC/SC在內部結構也有很多不同。例如,OCF對智能卡終端未提供更進一步的結構劃分,而PC/SC中的智能卡讀寫器系統(tǒng)由智能卡讀寫器和智能卡讀寫控制器組成。
OCF與PC/SC的密碼服務框架不同,PC/SC定義了一個密碼服務提供者(Crypto Service Provider),而OCF將其封裝在內部,沒有定義專門的接口。
OCF與PC/SC最重要的區(qū)別是:OCF比PC/SC有更詳細的結構劃分,OCF對智能卡服務與智能卡服務程序管理(ApplicationManagementCardService)有嚴格的區(qū)分。
整體對比如表1所示。
在Windows平臺Java語言環(huán)境下,OCF與PC/SC出現(xiàn)重疊。具體如表2所示。
?
3 OCF與PC/SC的共存
PC機上不同的應用程序可能有的使用OCF,有的使用PC/SC,但它們之間不會出現(xiàn)沖突,因為OCF協(xié)會與PC/SC協(xié)會對兩者共用有詳細的規(guī)定,以保證兩者共存而不產(chǎn)生沖突。例如:OCF支持現(xiàn)有的PC/SC接口設備,OCF還提供了一個到PC/SC的接口,使得開發(fā)者可以使用現(xiàn)有Win32平臺的設備;OCF對智能卡操作系統(tǒng)(Card operating system)、特定的應用程序所對應的智能卡服務(Application-specific card services)和應用程序管理(Application management)的詳細定義可以作為對PC/SC的擴展。
智能卡應用框架的提出給應用程序開發(fā)者、智能卡和智能卡終端投資商等帶來了極大的方便。使得智能卡的應用實現(xiàn)了從“一對一” 到“多對多”的轉換,并為開放式智能卡應用構造了一個統(tǒng)一標準框架。
(1)對于遵循智能卡應用框架的應用程序,可以適用于任何一張開放式智能卡,應用程序不需重復開發(fā),開發(fā)費用大大減少。
(2)對于遵循智能卡應用框架開發(fā)的智能卡,不僅可裝載不同組織提供的多個應用程序,而且一旦運用環(huán)境變化,可方便地裝載和卸載來更換卡上的應用程序。
像其他許多新技術一樣,智能卡有許多令人眼花繚亂的技術標準。本文僅簡要介紹了兩種智能卡應用框架OCF與PC/SC,并對他們進行了對比分析。對于其他一些系統(tǒng)的特殊標準還須另外掌握。
參考文獻
[1] 邵華,王恒奎,王東琳.基于UML建模語言的開放式智能卡應用模型[J].計算機工程, 2004, 30(5):181-183.
[2] ?PC/SC Version 2.0 White Paper. http://www.pscsworkgroup.com/.1999.
[3] ?OpenCard Framework. http://www.opencard.org/.1997.
[4] ?李濤,楊斌. 用VC開發(fā)智能卡動態(tài)庫[J].計算機工程, 2004,30(15):166-168.
[5] ?王非,羅海勇. 網(wǎng)絡計算機中IC卡讀寫器子系統(tǒng)設計[J].電子技術應用. 2003,29(5):19-21.






