PCSC标准综述

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录
1前言2
1.1编写目的2
1.2文档范围2
1.3参考文献2
1.4资料下载地址2
1.5术语与缩写解释2
2PC/SC标准概述3
2.1PC/SC标准介绍3
2.1.1P C/SC标准的定义3
2.1.2P C/SC标准的优点3
2.1.3P C/SC标准的目标3
2.1.4P C/SC标准跟现有标准的关系4
2.2PC/SC的结构体系4
2.3PC/SC标准各部分的主要内容5
2.4PC/SC的软硬件结构框架5
2.5PC/SC Workgroup 5
2.5.1P C/SC Workgroup的组成成员5
2.5.2P C/SC Workgroup的目标6
3PC/SC标准的发展过程 6
3.1PC/SC标准V1.0的发布6
3.2PC/SC标准V2.0的发布6
4PC/SC标准V1.0 7
4.1PC/SC标准V1.0的内容7
4.2PC/SC标准V1.0的适用范围8
4.3PC/SC标准V1.0的局限性8
5PC/SC标准V2.0 8
5.1PC/SC标准V2.0推出的背景8
5.2PC/SC标准V2.0的改进内容9
5.3PC/SC标准V2.0的最新版本PC/SC V2.01.3 9
5.4PC/SC标准V2.0结构体系10
5.4.1P CSC V2.0的总体结构 10
5.4.2P CSC V2.0的职责分配 11
5.4.2.1PC/SC Interfaces 11
5.4.2.2ICC/IFD Compatibility Requirements 12
5.4.2.3IFD Handler(IFD销售商提供) 12
5.4.2.4ICC Service Provider(由ICC销售商提供) 12
5.4.2.5ICC Resource Manager(操作系统销售商提供) 12 5.4.2.6Crypto Service Provider(由ICC销售商提供) 13 5.4.3P CSC V2.0标准分部分内容 13
5.4.3.1Part 1 13
5.4.3.2Part 2 13
5.4.3.3Part 3 13
PCSC标准综述
5.4.3.4Part 4 15
5.4.3.5Part 5 17
5.4.3.6Part 6 18
5.4.3.7Part 7 18
5.4.3.8Part 8 19
5.4.3.9Part 9 19
5.4.3.10Part 10 19
5.4.4P CSC V2.0增加和改进的内容20
5.4.4.1ICC Service Providers 的动态分配和增强卡的识别性20
5.4.4.2扩展性能的IFDs 22
5.4.4.3对同步卡协议的支持25
5.4.4.4对非接触式卡的支持25
6总结25
6.1PC/SC结构体系的目标 25
6.2研究PC/SC标准对我们的工作的意义26
第 1 页
前言
1.1编写目的
编写本文的目的是为移动存储项目组对智能卡在PC上的应用需求分析时提供PC/SC规范相关信息参考。

1.2文档范围
本报告的主要内容包括PC/SC标准的现状与各版本的主要内容。

1.3参考文献
1.P C/SC标准pcsc1-10 v2.01.3.pdf
2.P C/SC2-0WhitePaper.doc
3.P C/SC Technical Overview.doc
4.P C/SC Applications and New Developments.ppt
5.P C/SC Overview.ppt
6.P C/SC Workgroup Specification for PC-ICC Interoperability.ppt
1.4资料下载地址
标准下载地址:
1.5术语与缩写解释
PC/SC:计算机(Personal Computer)/智能卡(Smart Card)标准。

API:Application Programming Interface 应用编程接口。

ICC:Integrated Circuit Card 集成电路卡。

ISO7816:IC卡(识别卡-接触式集成电路卡)国际标准。

EMV:Europay、Mastercard、Visa三大国际组织制定的用于付款业务的IC卡通用规范。

IFD:InterFace Device 接口设备、读写设备。

RID:Registered application provider IDentifier注册应用提供者标识符。

ATR:Answer To Reset 复位应答。

APDU:Application Protocol Data Unit 应用协议数据单元。

IFDSP:IFD Service Provider 接口设备服务提供者。

ICCSP:ICC Service Provider 集成电路卡服务提供者。

第 2 页
PCSC标准综述
ICCOS-SP:ICC Operating System Service Provider 集成电路卡操作系统提供者。

ADSP:Application Domain Service Provider 应用领域服务提供者。

ADSPL:ADSP Locator ADSP定位。

RM :Resource Manager资源管理器。

SPE:Secure PIN Entry安全个人识别码入口。

2 PC/SC标准概述
2.1PC/SC标准介绍
2.1.1PC/SC标准的定义
PC/SC即个人计算机(Personal Computer)/智能卡(Smart Card),由微软公司与世界其他著名的智能卡厂商组成的PC/SC工作组(PC/SC Workgroup)提出,它是为智能卡访问Windows平台(包括Windows2000)而定义的一种标准结构。

PC/SC标准是一个基于WINDOWS平台的一个标准用户接口(API),提供了一个从个人电脑(Personal Computer)到智能卡(Smart Cart)的整合环境,虽然到目前为止,WINDOWS是唯一支持PC/SC标准的操作系统平台,但由于WINDOWS 的影响力,PC/SC标准也为智能卡业界所接收。

2.1.2PC/SC标准的优点
这个为集成电路卡(ICC)与个人计算机系统设计的交互规范,已经让智能卡进入PC机世界的问题变得容易。

PC/SC的主要优点就是让应用程序不必为了与智能卡通信而去了解智能卡读卡器的细节。

而且,该应用程序还能适用于任何遵从PC/SC标准的读卡器。

2.1.3PC/SC标准的目标
PC/SC标准对底层的设备接口和独立于设备的应用API接口(例如用来允许多个应用系统共享同一张智能卡的资源管理器)做了更详尽的补充。

它的提出主要是为了达到以下目标:
◆遵从现在ICC和PC的标准并在适当的地方予以扩充;
◆跨平台的可操作性,使该标准可在多种硬件和软件平台上实现;
◆应用程序可以采用不同厂商提供的产品(独立于厂商);
◆无需要写应用代码就可以享受技术进步的好处(独立于应用);
◆建立应用级的智能卡服务接口,推广ICC在PC上的应用,并促成PC
第 3 页
采用ICC做主标准设备。

2.1.4PC/SC标准跟现有标准的关系
PC/SC标准建立在工业标准-ISO7816和EMV标准的基础上。

在此之前,基于ISO7816标准,ICC在工业和应用上有了坚实的基础,为了利用ISO7816标准应用广泛的特点,PC/SC Workgroup致力于PC/SC标准与ISO7816标准兼容。

此外,PC/SC标准支持并认可某些特定领域的标准,并对其进行优化,这些标准同样基于ISO7816,比如EMV和GSM等。

2.2PC/SC的结构体系
PC/SC标准定义的结构体系如图1所示:
这个由PC/SC定义的结构体系图很清楚地把由操作系统供应商、IFD供应商和ICC供应商提供的可以独立升级的部分分隔开来,这些部分包括: 由IFD供应商提供的可以安装的IFD处理器组件;
由ICC供应商提供的可以安装的服务提供者,由于输入服务和输出服务,需要把密码功能分隔开,这个部分实际上被定义成两个组件;
由操作系统供应商提供的ICC资源管理器。

图1
第 4 页
PCSC标准综述
2.3PC/SC标准各部分的主要内容
PC/SC标准基本都包括以下几个方面的内容:
PC-SC接口标准、ICC-IFD接口标准、IFD管理标准、ICC资源管理器、ICC 服务提供者、密码服务提供者等。

详细的内容将在下面的内容介绍。

2.4PC/SC的软硬件结构框架
PC/SC的软硬件结构框架可以从图2看到,在读卡器跟PC的接口部分,就是PC/SC结构的软硬件分界处。

图2
2.5PC/SC Workgroup
PC/SC工作组(PC/SC Workgroup)是一个主要由智能卡和计算机厂商组成的委员会,Gemplus公司是其中活跃的一员,微软公司在制定这些详细的标准中扮演了重要的角色,因为事实上Windows平台是唯一一个提供智能卡资源管理器的平台。

PC/SC工作组在1996年5月,由其成员达成一致共识而成立,它致力于研究与ICCs在PC上的应用相关的事项。

2.5.1PC/SC Workgroup的组成成员
PC/SC工作组的成员广泛包括PC、ICC技术领域如PC软件、PC硬件和ICC
第 5 页
系统的公司,其中有:
Bull CP8: /
Gemplus: /
Hewlett-Packard: /
IBM: /
Intel: /
Microsoft: /
Schlumberger: /
Siemens: http://www.sni.de/
Sun Microsystems: /
Toshiba: /
2.5.2PC/SC Workgroup的目标
PC/SC Workgroup工作内容:
◆致力于PC-ICC的协作工作,包括与IFDs的接口、一般编程接口与控制
机制、跟现有的设备兼容;
◆为各种工业需要提供解决方案,如设备兼容性的需要、标准IFD接口、
卡的服务的高标准接口、存储器服务的协议等。

PC/SC Workgroup的目标:
推动智能卡整合入PC的环境;不同级别的智能卡读卡器和智能卡可以互相协作;中立于卡应用开发商、卡制造商和卡发行商。

3PC/SC标准的发展过程
3.1PC/SC标准V1.0的发布
1997年12月发布PC/SC标准V1.0。

3.2PC/SC标准V2.0的发布
2004年8月发布PC/SC标准V2.0,从那开始,PC/SC Workgroup陆续进行了一些改进。

2005年8月发布PC/SC标准V2.01.2。

改进的部分有:修正第2部分,3.1.1节操作电压条件;3.2节ISO/IEC7816-10兼容的卡和IFD;第3部分加入非接触卡的标准,现在包括了RID数字的信息;第10部分加入了IFD的安全个人身
第 6 页
PCSC 标准综述
第 7 页
份码入口等。

2006年1月发布PC/SC 标准V2.01.3。

改进的部分有:第3部分改动了几个语法错误和修正了命令的字节;第3.2.2.1.1节加入文本内容;卡加到第3部分;第10部分修正了命令GET_KEY_RRESSED 等。

4 PC/SC 标准V1.0
4.1 PC/SC 标准V1.0的内容
图3
如图3所示的内容为PC/SC 标准V1.0的分部分内容,共有8个部分的内容,包括总体概述、集成电路卡及其读卡器的接口标准、跟PC 接口设备的标准、读卡器接口设备的设计参考信息、集成电路卡的资源管理器的定义、集成电路卡服务提供者接口定义、应用领域及开发设计须知和集成电路卡的安全及保密设备建议。

4.2PC/SC标准V1.0的适用范围
PC/SC标准V1.0支持以下功能:
ISO7816标准的异步卡;
简单的智能卡读卡器;
可在Win9x、WinNT4.0执行或者嵌入Windouws2000;
Linux环境:还在研究中。

4.3PC/SC标准V1.0的局限性
PC/SC标准V1.0版的局限性体现在:
✓不支持多应用的智能卡(例如Windows上对智能卡、Java卡的支持),因为不能动态地对卡外的部分进行操作,这些部分用来与卡内应用进行连接;
✓智能卡读卡器的技术不是最新的读卡器技术;
✓不支持同步卡和非接触式卡。

5PC/SC标准V2.0
5.1PC/SC标准V2.0推出的背景
由于新的技术的发展,带来了PC/SC标准升级的需要,特别是以下几个领域的发展,使得PC/SC标准V1.0的局限性显现出来。

多用途卡
现在卡的服务提供者计划在卡的资源管理器数据库里提供特殊的卡的类型(使用ATR获得),在这种多用途卡里,卡的类型不反映卡的功能性或者应用范围,而是需要一个灵活和动态的机制,随着卡的应用的变化来更新在PC平台上的服务提供者的信息。

PC/SC的资源管理器只能通过卡制造商规定的ATR信息来识别智能卡是不够的,为了能够动态地分配服务提供者,描述卡的信息必须停留在卡上。

为了动态地反映卡上的内容,需要卡的识别机制更灵活。

增强型读卡器
PC/SC版本V1.0仅能够支持基本的APDU通信机制,有扩展功能的读卡器技术应用越来越广泛(比如显示、多个插槽、安全管脚、生物鉴定等),需要卡和使用这些新的读卡技术的PC之间协作。

其它的卡技术
非接触式卡在市场上越来越广泛地发展,同步卡已经在很多方面得到了应用;这就需要在PC应用上,提供一些跟同步卡相同的接口来支持这些类型的卡。

第 8 页
PCSC标准综述
5.2PC/SC标准V2.0的改进内容
2004年8月发布PC/SC标准V2.0突破了V1.0的局限,具体表现在:
一个新的卡的识别机制;
一个动态的服务提供者分配机制;
一个对增强智能卡读卡器支持的机制;
支持非接触式卡和同步卡。

5.3PC/SC标准V2.0的最新版本PC/SC V2.01.3
PC/SC标准V2.01.3隶属于V2.0标准体系,于2006年1月发布,修改增加了其中的部分内容(详见3.2节)。

相对于之前发布的版本,V2.01.3是完全独立平台的,可以在任何操作系统上进行操作。

V2.01.3扩展了标准的覆盖范围,包括广泛的智能卡基本产品,它集中在以下两项技术:
◆扩展性能的IFDs
通过一个IFD Service Provider(IFDSP),用来给新的功能(比如显示功能或者多个插槽)提供接口;这种应用的背景是为了列出一份有关IFD的安全特性列表,这个安全特性是由ICC Aware Applications和ICC Service Provider(ICCSP)要求的。

◆支持非接触式集成电路卡
同样也内嵌在实际的PC/SC方案中,这是由于新的卡标识符已经被定义,IFD 子系统也必须在功能上得到保证。

PC/SC标准V2.01.3分成10个部分,如图4所示。

第 9 页
图4
跟标准V1.0相比,前8个部分的内容基本一致,内容上多了Part9:扩展性能的IFDs和Part10:带安全个人识别码入口性能的IFDs两个部分的内容。

更详细的内容可以从图5看到,图4显示的是PC/SC体系结构和标准各部分内容的对应关系。

图5
5.4PC/SC标准V2.0结构体系
由于最新发布的V2.0版本包括最新的技术领域成果,下面详细介绍PC/SC 标准V2.0的结构体系。

5.4.1PCSC V2.0的总体结构
如图6所示为V2.0的结构体系,IFD SP为增强型的读卡器接口服务提供者,ICCOS-SP和ADSP为原V1.0版本中的ICCSP部分,Slot1、Slot2、Pin Pad和Display是读卡器接口扩展功能的插槽,ADSP Locator是动态地使用卡内功能的新组件。

①和②是增强型读卡器的相关的组件,②和③是应用非接触式卡和同步卡相关的组件。

PCSC标准综述
图6
5.4.2PCSC V2.0的职责分配
如表1所示为V2.0版本中各项职责的分配。

5.4.2.1PC/SC Interfaces
✓PC/SC接口定义接口服务结构,常数,标识数据类型和结构;✓不表示一个执行任务。

5.4.2.2ICC/IFD Compatibility Requirements
✓卡和读卡设备都是基于ISO7816-1,2,3标准的;
✓数据传输协议为T=0,T=1(必须的),T=14(可选的);
✓IFD可具有集成PIN pad或者显示的功能但不是必须的。

5.4.2.3IFD Handler(IFD销售商提供)
✓必须符合ISO7816-3标准;
✓支持T=0,T=1数据传输协议;
✓独立的I/O通道,比如PS/2、Serial、PC-Card、USB等;
✓销售商可进行性能的升级;
✓基本模式和多用途模式可以共存。

5.4.2.4ICC Service Provider(由ICC销售商提供)
✓在PC系统里的ICC服务,包括:
对特定的ICC提供高水平的执行接口;
必须支持一般的文件入口路径和认证接口;
可扩展对特殊领域的要求;
✓根据应用的需要可以单片执行或者分布式组件执行。

5.4.2.5ICC Resource Manager(操作系统销售商提供)
在多用途IFD和ICC设备中处理3个基本的任务:
1.识别和定位可用的资源:
列出可配置的IFDs;
列出服务提供者提供的可识别的ICC类型;
识别可支持的接口,包括一般定义的接口(如文件入口和认证) 和特殊领域的接口(如EMV,GSM);
维持ICCs插入IFD的信息;
跟踪插入/移开的事件;
2.通过多用途进行资源分配:
允许获得唯一的或者共享的通道;
确保所有的应用都能接收到鉴定状态信息;
3.对特定的ICC进行处理控制:
确保命令序列可以完全执行而没有任何中断。

PCSC标准综述
5.4.2.6Crypto Service Provider(由ICC销售商提供)
✓由于输入输出的需要与ICC SP分隔开;
✓根据ICC的执行是可选组件;
✓接口定义:
密钥产生和管理;
随机数的产生;
数字签名;
密钥交换;
块保密。

5.4.3PCSC V2.0标准分部分内容
5.4.3.1Part 1
Part 1叙述的是标准和框架的整体介绍,包括系统框架及组件的整体介绍,相关目标,及用到的缩略语等信息。

5.4.3.2Part 2
Part 2这部分叙述的是ICCs和IFD设备之间的物理特性、电信号和低水平数据传输协议的要求。

对接触式卡来说,符合ISO/IEC7816的第1、2部分协议。

异步传输协议卡的要求在第3部分,同步传输协议卡的要求在第10部分定义。

非接触式卡符合ISO/IEC14443或者ISO/IEC15693标准。

对上述标准的要求是为了创造一个可以含盖大范围的ICCs应用的PC整合环境。

鉴于此,卡开发商可以把特殊工业标准比如EMV和GSM的要求考虑进自己的产品中。

5.4.3.3Part 3
Part 3这部分叙述的是ICC s和PC之间的接口设备要求,即跟PC终端相连接的接触式卡和/或非接触式卡的接口。

在这里叙述的IFD Subsystem包括以下部分:
I.一个IFD,提供ICCs的接口;
II.一个I/O通道,由PC端的I/O设备驱动器控制;
III. PC主机端的IFD handler软件,与上层协议接口。

本部分跟上部分的在PC/SC框架中的位置如图7所示。

图7
I/O channel
这部分的标准规定了IFD Subsystems使用任何可用的PC上的I/O口来跟接口通信。

由卡开发商来提供IFD Handler和设备驱动器来确保ICCSP可以通过接口设备跟ICC通信。

✓由于广泛的适用性,USB接口成为台式PCs外围的最佳选择。

✓另外可以使用的接口包括有:
•PS/2 Keyboard Integrated Interface Device
•Serial Port(RS232) interface
•Interface Devices employing custom interface boards
•Parallel Port interfaces
•PC Card-based Interface Devices
•SCSI interfaces
IFD Handler
由生产厂商提供,负责把资源管理器语言转化为读卡器语言。

它也负责选择和设定合适的用于和智能卡读写器通信的I/O通道,而且可以管理多个的物理设备。

也有可能存在多个驱动程序挂在该智能卡资源管理器之上的情况。

✓IFD Handler是运行在PC上的软件,它独立于标准硬件和I/O跟IFD Subsystem的接口。

✓IFD Handler可以分成两种类型的逻辑设备:slot logical device和functional logical device。

✓Slot logical device提供一个跟ICC通信的通道,对接触式卡的读卡器来说,
PCSC标准综述
IFD上有多少个ICC的slots,就有多少个slot logical device,对非接触式卡的读卡器来说,slot logical device的数量跟data link layer channel的个数相等。

Functional logical device跟扩展性能的IFD相接,例如display和keypad。

5.4.3.4Part 4
Part 4这部分叙述的是IFD设备的设计需要考虑的事宜和参考设计信息,这些参考设计包括:
•Integrated PS/2 Keyboard IFDs;
•USB IFDs;
•RS-232-connected IFDs;
•PC Card-based IFDs(笔记本);
V1.0版本把PS/2 Keyboard接口做为理想的方案来介绍;V2.0版本USB接口做为PC平台上不可缺少的设备,成为最佳的接口方案。

本部分的在PC/SC框架中的位置如图8所示。

图8
USB ICC IFDs
由于USB在现在的PC硬件平台上作为标准配置,USB IFDs也将成为未来PC’s的低功耗解决方案,在这里重点介绍USB ICC IFDs的内容。

一个USB Device 的框架如图9所示。

图9
介绍了独立的IFD(单机设备)和非独立的IFDs(跟其他的设备共同使用一个USB接口处理器),如图10所示,1是独立IFD,2是非独立IFDs。

图10
可完成如下的功能:
•IFD激活;
•ICC插入检测;
•ICC接触管理;
•ICC初始化;
PCSC标准综述
•协议支持;
•I/O管理。

5.4.3.5Part 5
Part5这部分叙述的是ICC Resource Manager,这是PC/SC结构的关键部分。

它在结构中处于应用程序和智能卡之间的位置,允许并发访问一个给定的读卡器。

智能卡资源管理器也利用其本身的知识库帮助应用程序识别或定位智能卡。

这样就令驱动程序更简洁,访问更方便。

ICC RM被认为是PC/SC结构中系统级的组件,由操作系统供应商来提供,一个系统内只能有一个ICC RM。

智能卡资源管理器整合了一些智能卡读卡器驱动程序和应用程序的通用部分到一套可重用的组件之中。

这降低了软件开发的总成本。

ICC Resource Manager解决3个基本的问题:
1)识别和定位可用的资源;
2)控制和配置多用途的IFD resources;
3)对给定的ICC进行可以服务的处理。

本部分的在PC/SC框架中的位置如图11所示。

图11
5.4.3.6Part 6
Part 6这部分叙述的是ICC Service Provider接口机制,通过这个机制,特定ICC的功能集可以进入ICC-Aware Application software。

对每一个ICC来说,至少要有一个SP,通过这个SP,一个应用可以访问ICC上的数据或者服务。

有3种类型的服务广泛应用于现在的ICCs:
•文件services;
•鉴定services;
•密码services。

本部分的在PC/SC框架中的位置如图12所示。

图12
5.4.3.7Part 7
Part7这部分叙述的是跟ICC有关的应用。

使用ICC Resource Manager和ICC Service Provider层,一个应用可以使用ICC或者IFD提供的功能。

ICC-Aware Application是一个利用一张或多张ICCs提供的功能运行在PC操作系统中的专用软件。

被看成是运行在一个多用户,多进程,多线程及多设备的环境中。

本部分的在PC/SC框架中的位置如图13所示。

PCSC标准综述
图13
5.4.3.8Part 8
Part 8这部分主要叙述的是用户数据的保护。

包括如下内容:
✓密码服务,包括算法和密钥管理服务;
✓认证协议,用来支持多种认证需要;
✓存储服务和访问控制功能;
✓文件、数据的执行信息及命令和相关参数。

5.4.3.9Part 9
Part9这部分叙述的是扩展功能的IFDs的SP,提供了扩展功能的IFDs的管理。

本部分的在PC/SC框架中的位置如图14所示。

图14
5.4.3.10Part 10
Part 10这部分叙述了应用程序询问IFD handler时提供的控制代码,特征和相应的参数。

本部分的在PC/SC框架中的位置如图15所示。

图15
5.4.4PCSC V2.0增加和改进的内容
5.4.4.1ICC Service Providers的动态分配和增强卡的识别性
ICC Service Providers的动态分配
V2.0版本把ICC type和一个ICC-OS 的执行连接起来,ICC的发行商维持这种卡上应用和特定的离卡组件(ICCSPs)的连接。

这种方法根据卡给定的信息(即插即用)动态分配一个合适的service provider;当处理一个多应用的卡时,可以增强离卡组件的灵活性和独立性。

V2.0版本引入了一个新的ICC Service Provider概念――ADSP,Application Domain Service Provider。

跟V1.0版本的ICCSP的概念区别在于,ADSP是一个跟卡上应用连接的Service Provider,而不是跟ICC type或者ICC-OS连接。

ADSPs 以一个更灵活的方式跟卡上应用连接。

在V1.0版本中,ICCSPs只能使用ATR 通过资源管理器跟ICC连接,这在多应用卡的世界是不可行的。

新的ADSP Locator机制,允许动态分配一个ADSP,这就可以在同一张卡上的多个离卡应用获得多个ADSPs。

这样,一个卡上应用只需伴随一个相应的随时更新的ADSP。

在V1.0版本中,Resource Manager(RM)是用来建立ICC Type和ICCSP之间的联系的,这个是静态地定义在RM的数据库里。

在多应用卡的环境里,不可能静态地建立ICC Type和可用卡上应用的联系,所以V2.0版本引入了一个新的组件,Application Domain Service Provider Locator(ADSPL),插上卡上应用以进行离卡应用的功能。

ADSPL是一个由RM装载的Service Provider(通常由ICC发行商提供),它允许RM提供离卡应用包括:卡上应用的列表;获得跟选择卡上应用有关的合适ADSP执行参数。

ADSPL提供者负责指定ADSPs引入ADSPL的
PCSC标准综述
路径,ADSPL的设计是为了能在需要的时候自动获得一个合适的ADSP。

获得Card Service Provider的示意图如图16所示。

图16
增强卡的识别性
V1.0版本中ICCs是通过ATR字串来识别的。

由于ATR的长度和复杂性,这种一般的卡的识别方法的灵活性受到限制。

卡端发行商、制造商和卡应用的开发者需要分享ATR的内容,而这种限制导致了复杂多应用卡的处理收到严重的阻碍。

V2.0版本引入了一个增强型卡的识别机制来获得识别一个ICC的基本信息。

所有的卡的识别信息都存储在一个Card Info structure(或者称为外扩的ATR),这个信息可以被放入文件或者程序中。

ICC必须在ATR的历史字节中包括一个命令,这个命令可以被RM(资源管理器)重新获得Card Info structure。

当处理这种类型的增强型ICC时,RM解释ATR的历史字节,回送包含的命令给ICC,重新获得Card Info Structure。

RM用从这种structure中得到的信息来识别ICC。

V2.0版本定义了很多可用于Card Info Structure的参数包括ICC-OS和ADSPL的参数。

卡的识别机制如图17所示。

V2.0版本的工作过程如下:支持动态分配ADSPs机制的卡必须支持增强型卡识别机制。

当ICC插入时,RM重新获得Card Info Structure,从里面得到ADSPL 参数并且装载ADSPL。

如果合适的话,RM从ADSPL获得卡上应用的清单,可
选择使用哪种卡上应用。

ADSPL返回合适的ADSP参数到RM,RM再返送这个参数回离卡应用中。

这种支持增强型识别机制的ICCs不再通过ICC Type来引入RM,只有相关Service Provider的ICC-OS才被引入RM。

图17
5.4.4.2扩展性能的IFDs
在很多情况下,IFDs不只是只有APDU通信的能力,还有与安全相关(比如安全PIN进入、生物部分、密码等)或者生物工程方面(比如显示、键盘输入设备等)的能力。

为了支持这种能力,PC/SC标准增加了第9部分,主要是PC/SC框架的扩展,以使一些外加的组件包含进新的IFDs中。

这个部分给需要扩展功能的ICCSPs或者ICC aware applications与IFDs之间提供了一个相互协作的标准。

第9部分提出了一个“application context(应用环境)”的概念。

它描述了IFDs 的相关安全特性的列表,这种安全特性与ICC aware application 或者ICCSP有关。

一个“application context”可以定义成一个或者一组特殊的卡的应用。

通常是由卡或者应用的发行商来定义。

例如,一个application context可以定义成支付系统或者健康保健系统。

对于一个健康保健系统,一个application context包含以下要求:支持安全PIN码功能;与IFD鉴定相接等。

但是如何执行一个application context或检验一个给定的IFD是否和这个application context相符的方法不在此标准的范围。

比如,一个application context
PCSC标准综述
的发行商为了达到某种安全证明定义一个执行规则或者标准。

扩展的IFD的性能通过IFD Service Provide r来执行。

一个IFDSP和一个IFD 的功能相接的方式如同一个ICCSP和一个ICC功能相接。

IFDSP的位置如图18所示。

图18
对每个application context来说,IFDSP会提供不同的接口,这种执行框架取决于IFDSP设计者。

一个类似的结构可以从图19看出。

图19
标准的第9部分描述了以下4个预定义的服务,支持哪一个取决预IFD功能和安全的需要:
●安全PIN码使用这个服务,用户在IFD上输入自己的PIN码,这个
PIN码被直接提交到ICC中而不传送到PC里。

标准制定了一个描述PIN
码格式的方法。

●显示这个服务显示基本的文字信息在IFD的显示屏上。

●用户证明这个服务要求一个YES/NO(或者V ALID/CANCEL)类型的用
户请求,通常通过IFD键盘输入。

●普通用户进入这个服务要求用户输入一个字符串进入,通常通过IFD
键盘输入。

为了在IFD子系统中操作这种新功能,另一个设备引入到slot设备中,称为“Functional Logic Device”。

图20举例可以看到Functional Logic Device的位置。

图20
Functional Logic Device的作用是让IFDSP通过RM锁定独立的功能类型。

尽管如此,RM对于IFDSP和Functional Logic Device的通信来说是完全透明的。

与slot设备不同,Functional Logic Device只支持一类通信通道。

如图21所示。

PCSC标准综述
图21
对标准第3部分和第5部分改动是扩展RM的功能使其跟新的接口相接:application contexts和logic devices。

5.4.4.3对同步卡协议的支持
很多ICCs的应用使用同步通信协议,在市场上同步卡有很多的应用,从简单的存储卡到逻辑加密卡。

PC/SC标准V1.0不支持同步卡。

V2.0标准增加了对同步卡协议的支持。

这就允许IFDs能够跟支持异步卡一样支持同步卡的使用。

可以预见同步卡将会主要应用在精密的系统中。

对于支持同步卡的IFDs来说,要按照ISO7816-10的标准来支持“类型1同步卡”和“类型2同步卡”。

5.4.4.4对非接触式卡的支持
随着非接触式卡越来越广泛地使用,在很多应用场合中被认为非常有用。

PC/SC标准V2.0支持非接触式卡的标准ISO/IEC 14443。

6总结
6.1PC/SC结构体系的目标
PC/SC结构体系的目标是:
使符合相关标准的ICC和PC能够相互协作并且扩展相关标准;
⏹使能且改进各种组件可以运行在不同的平台上;
⏹让应用利用不同的销售商提供的组件;
⏹利用先进的技术,不需要重写应用级软件;
⏹推进ICCs在PCs上的使用。

6.2研究PC/SC标准对我们的工作的意义
从所研究的PC/SC两个版本的标准来看,从V1.0版的基本功能到V2.0版的增加多种功能,都加入了技术的进步和现实生活的要求。

整个框架包括了从PC 上的操作系统到智能卡内部的密码保护的内容,从各个方面规范了PC/SC框架的协议。

另一篇标准综述中的“USB Smart Card”标准CCID和ICCD标准的内容可以作为PC/SC框架的一部分来理解,这样,我们在研究标准的时候就能做到有的放矢,心中有数。

这个PC/SC标准对我们制定标准的借鉴在V2.0版本里,多应用卡的标准的各个规范,使得可以在智能卡上扩展功能,增加智能卡的利用率。

我们对智能卡的研究可以深入到更多的领域,这些领域的应用可以做成规范,使其成为PC/SC 规范的子集,与CCID或者ICCD协议类似。

另外扩展的Service Provider值得参考,SP的目的就是为了增加智能卡的功能而提供的服务。

我们可以从SP的设置中借鉴其形式,在标准中用这样的SP 来扩展我们产品的功能。

相关文档
最新文档