《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信与网络 > 业界动态 > 两种智能卡应用框架OCF与PC/SC的对比

两种智能卡应用框架OCF与PC/SC的对比

2008-03-19
作者:刘 刚, 李 峥, 杨先文, 时

  摘 要: 智能卡應(yīng)用框架" title="智能卡應(yīng)用框架">智能卡應(yīng)用框架是智能卡軟件結(jié)構(gòu)中的重要環(huán)節(jié)。介紹了兩種智能卡應(yīng)用框架OCF與PC/SC" title="PC/SC">PC/SC,分析了它們各自的特點,并對它們進行了對比分析。
  關(guān)鍵詞: 智能卡應(yīng)用框架 OCF PC/SC COS NC

?

  由于Internet在電子商務(wù)和人類生活中占有越來越重要的地位,人們對認(rèn)證和安全交易的要求也就越來越高。智能卡具有體積小、輕便易攜帶、可以自行存儲和處理數(shù)據(jù)并能執(zhí)行加密解密操作等優(yōu)點,與網(wǎng)絡(luò)服務(wù)相結(jié)合,使它成為一個可以方便地存儲用戶密鑰和下載保密數(shù)據(jù)的設(shè)備。智能卡中包含有CPU、RAM、EEPROM、ROM和I/O,就像一部規(guī)模較小的電腦。智能卡的軟件結(jié)構(gòu)[1]由COS(Chip Operating System)系統(tǒng)、智能卡應(yīng)用框架及具體應(yīng)用程序" title="應(yīng)用程序">應(yīng)用程序構(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 OCF與PC/SC概述
  PC/SC[2] (Personal Computer/Smart Card)是Windows平臺上智能卡訪問的標(biāo)準(zhǔn)框架,其目的是減輕智能卡應(yīng)用程序在PC機上的開發(fā)難度。PC/SC的主要優(yōu)點是:應(yīng)用程序與智能卡進行通信時不必考慮智能卡讀卡器" title="智能卡讀卡器">智能卡讀卡器的具體細(xì)節(jié),即只要智能卡讀卡器遵從PC/SC標(biāo)準(zhǔn),應(yīng)用程序就能通過智能卡讀卡器正常行使功能。PC/SC體系結(jié)構(gòu)如圖2所示。其中,智能卡就是Integrated Circuit Card,智能卡讀寫器" title="智能卡讀寫器">智能卡讀寫器就是Interface Devices。智能卡插入讀寫器后,通過智能卡讀寫器與驅(qū)動程序的智能卡讀寫控制器(IFD Handler)通信。智能卡資源管理器(ICC Resource Manager)管理各種不同的智能卡讀寫器和智能卡資源。每一種智能卡讀寫器都通過各自的智能卡讀寫控制器接口函數(shù)與智能卡資源管理器通信,智能卡資源管理器根據(jù)上層軟件的要求,將上層軟件發(fā)來的命令分別發(fā)到相應(yīng)的智能卡讀寫控制器,再通過它發(fā)給智能卡讀寫器和智能卡。


  OCF[3](Open Card Framework)是一個用于實現(xiàn)智能卡解決方案和智能卡服務(wù)的易于使用的標(biāo)準(zhǔn)框架。OCF充分利用Java跨平臺、多用途的特性,為實現(xiàn)智能卡解決方案和智能卡服務(wù)提供一個開放的架構(gòu)和一套通用的應(yīng)用程序(APIs)。OCF的體系結(jié)構(gòu)如圖3所示。其中,智能卡服務(wù)(CardService)是一個抽象類,其意義是卡上的服務(wù),它的子類通過包裝一系列APDUs(Application Protocol Data Units)提供具體的服務(wù)內(nèi)容;智能卡服務(wù)標(biāo)識(CardServiceFactory)同智能卡終端標(biāo)識(CardTerminalFactory)功能相似,應(yīng)用服務(wù)商提供自己的智能卡服務(wù)標(biāo)識代表其自身,由智能卡服務(wù)標(biāo)識產(chǎn)生它們的各種服務(wù),即一些智能卡服務(wù)實例;智能卡服務(wù)管理(CardServiceRegistry)管理卡上的所有智能卡服務(wù)對象;智能卡服務(wù)通信管理器(CardServiceShcduler)為服務(wù)所需的通信安排通道,給智能卡服務(wù)對象提供一個邏輯通道以便發(fā)送接收命令完成任務(wù);智能卡終端(CardTerminal)從各種智能卡終端抽象出來可被繼承的類,由其對應(yīng)的智能卡終端標(biāo)識(CardTerminalFactory)生產(chǎn)得到;智能卡終端管理(CardTerminalRegistry)管理應(yīng)用系統(tǒng)中安裝的所有智能卡終端,可對智能卡終端進行實例注冊、注銷等操作;智能卡終端標(biāo)識同特定的工廠生產(chǎn)的產(chǎn)品一樣,不同的智能卡終端制造商提供具體的智能卡終端標(biāo)識子類,由這些子類產(chǎn)生對應(yīng)的智能卡終端實例。

?


2 OCF與PC/SC的聯(lián)系
  OCF與PC/SC均提供智能卡與各種計算機的訪問標(biāo)準(zhǔn),它們在概念與機制方面存在著共同點。通過對比它們的構(gòu)成,可發(fā)現(xiàn)它們之間的共同點與不同點。
  (1)OCF與PC/SC結(jié)構(gòu)上的共同點
  PC/SC中的智能卡服務(wù)提供者提供智能卡服務(wù),與其相對應(yīng)OCF中由智能卡服務(wù)來提供;OCF中的智能卡終端與PC/SC中的智能卡讀寫器系統(tǒng)(Interface Device Subsystem)相對應(yīng)。因此,OCF與PC/SC有很多共同點。具體如圖4所示。
  (2)OCF與PC/SC的不同點
  進一步分析發(fā)現(xiàn),OCF與PC/SC在內(nèi)部結(jié)構(gòu)也有很多不同。例如,OCF對智能卡終端未提供更進一步的結(jié)構(gòu)劃分,而PC/SC中的智能卡讀寫器系統(tǒng)由智能卡讀寫器和智能卡讀寫控制器組成。
  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ù)與智能卡服務(wù)程序管理(ApplicationManagementCardService)有嚴(yán)格的區(qū)分。
  整體對比如表1所示。
  在Windows平臺Java語言環(huán)境下,OCF與PC/SC出現(xiàn)重疊。具體如表2所示。

?


3 OCF與PC/SC的共存
  PC機上不同的應(yīng)用程序可能有的使用OCF,有的使用PC/SC,但它們之間不會出現(xiàn)沖突,因為OCF協(xié)會與PC/SC協(xié)會對兩者共用有詳細(xì)的規(guī)定,以保證兩者共存而不產(chǎn)生沖突。例如:OCF支持現(xiàn)有的PC/SC接口設(shè)備,OCF還提供了一個到PC/SC的接口,使得開發(fā)者可以使用現(xiàn)有Win32平臺的設(shè)備;OCF對智能卡操作系統(tǒng)(Card operating system)、特定的應(yīng)用程序所對應(yīng)的智能卡服務(wù)(Application-specific card services)和應(yīng)用程序管理(Application management)的詳細(xì)定義可以作為對PC/SC的擴展。
  智能卡應(yīng)用框架的提出給應(yīng)用程序開發(fā)者、智能卡和智能卡終端投資商等帶來了極大的方便。使得智能卡的應(yīng)用實現(xiàn)了從“一對一” 到“多對多”的轉(zhuǎn)換,并為開放式智能卡應(yīng)用構(gòu)造了一個統(tǒng)一標(biāo)準(zhǔn)框架。
  (1)對于遵循智能卡應(yīng)用框架的應(yīng)用程序,可以適用于任何一張開放式智能卡,應(yīng)用程序不需重復(fù)開發(fā),開發(fā)費用大大減少。
  (2)對于遵循智能卡應(yīng)用框架開發(fā)的智能卡,不僅可裝載不同組織提供的多個應(yīng)用程序,而且一旦運用環(huán)境變化,可方便地裝載和卸載來更換卡上的應(yīng)用程序。
  像其他許多新技術(shù)一樣,智能卡有許多令人眼花繚亂的技術(shù)標(biāo)準(zhǔn)。本文僅簡要介紹了兩種智能卡應(yīng)用框架OCF與PC/SC,并對他們進行了對比分析。對于其他一些系統(tǒng)的特殊標(biāo)準(zhǔn)還須另外掌握。

參考文獻
[1] 邵華,王恒奎,王東琳.基于UML建模語言的開放式智能卡應(yīng)用模型[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)絡(luò)計算機中IC卡讀寫器子系統(tǒng)設(shè)計[J].電子技術(shù)應(yīng)用. 2003,29(5):19-21.

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。

相關(guān)內(nèi)容