PCSC那事儿(五)

 

卷1

前面说过了,现在的人基本都很忙。没有所谓的闲功夫,从外到内,从下到上了解所有内容。

所以这里直接把 APPLICATION 这位 TOP 先请出来给大家见见面。

下面说说卷1。

 

问:卷1谈什么?

答案是,别着急。卷1 简要介绍上面的金字塔中的各个层次。

看看 APPLICATION 是如何调用 (EXPLOIT) 它的下层。也看看下层的生活状态。

下面就简要地说说。

 

ICC

处于金字塔的最底层,读卡器都可以管制它。今天可以用这张,明天可以用那张。

读卡器经常很没有素质地对卡卡们说: 卡多的是,我为什么要用这张 ? ,给我换

到底 ICC 是什么?

即智能卡( Smart Card ), PC/SC 规范中的智能卡指的是符合 ISO/IEC-7816 协议

规定的接触式 IC 卡。包括异步通信 IC 卡,同步通讯 IC 卡和非接触式 IC

如果仔细查查 ICC 是怎么制作的,就会发现比读卡器复杂。

 

IFD

 

IFD Interface Device ):即智能卡读写器( Smart Card Reader )是智能卡

的读写设备,它的作用是在 IC 卡和 PC 机之间建立一个物理的连接。 IFD

IC 卡提供直流电源、时钟信号并与 IC 卡通过一个半双工的串行通信口

进行信息交互。它必须遵循 IS07816 所规定的与智能卡的通讯协议。 IFD

PC 之间的接口有多种选择如: RS-232 PS/2 USB PCM/CIA

 

读卡器和 PC 或终端的关系很暧昧,它们有很多关系。或者说 PC 很开放,

不是嘛? PC/SC 是个开放标准。 PC 可以和 RS-232 读卡器过,也可以和

PS/2 读卡器过,或者 USB 读卡器过等等。虽说不上后宫三千,也算前拥

后触,左拥右抱。读卡器大声高歌 :“ 有美女作伴,不怕伶仃,冷眼看

那世间情 …”

 

知道了。读卡器可以有很多种和 PC 或终端连接的型态。

 

IFD HANDLER

智能卡读写控制器是 PC 上的与 IFD 通信的底层软件。为了

保证 PC/SC 的上层应用对智能卡访问的设备无关性,读写器驱动( Reader

Handler )实现操作系统和特定的读写器设备之间的功能映射,智能卡读

写控制器在系统中以 API 函数库的形式提供给高层的软件开发人员使用,

它包括一些基本的功能,如:智能卡的插入检测 / 智能卡的上电、下电、

复位以及向智能卡发送 APDU 命令并接收智能卡返回的数据,它对上层软

件屏蔽了 IFD 的通信协议

 

尤其是最后的屏蔽了 IFD 的通讯协议。虽然 PC 或终端那么花心, IFD 泛滥

成灾, IFD   HANDLER 但是做了很多工作,让 ResourceManager 感觉到

四海升平,国泰民安

这也是 OO 精神的一种体现,用 面向接口编程,而不是面向实现编程

 

 

IFD HANDLER 这里,加入了两个新成员,它们在 PCSC1 中没有露面。

一个是 Slot Logical Devices ,一个是 Functional Logical Device.

问:什么?这么复杂,受不了。

答案是,确实麻烦些。不是嘛,把简单的问题复杂化,倍显专业。

 

Slot Logical Devices 插槽逻辑设备提供与智能卡的通讯信道。对于接触式读

卡器而言,插槽逻辑设备的数量和读卡器本身的插槽数量相同。

 

Functional Logical Devices IFD 的扩展功能提供接口,比如:显示屏和小

键盘。

 

现在,有不少读卡器厂商提供了针对各自读卡器的 IFD-HANDLE 驱动。

ICC ResourceManager

咳。总算到了 Manager 层。

据说是核心,快看看。

 

智能卡资源管理器在 PC/SC 体系中处于智能卡服务提供者之下 IFD 之上,负

责管理系统中注册的 IFD IC 卡。

智能卡资源管理是 PC/SC 规范中的关键部分,它负责管理系统中与 IC 卡相关

的资源并使得应用软件获得对系统中的 IFD IC 卡的访问。智能卡资源管理器被

认为是 PC/SC 体系中的一个系统级的成员,它应当由操作系统供应商将其作为一

个系统组件提供

 

智能卡资源管理器的作用体现在以下几个方面

首先,解决在多 IFD 和多 IC 卡系统中的三个基本问题:

1 、管理系统中注册的 IFD 使其可以被应用软件访问。

2 、管理已知类型的 IC 卡及其接口和相应的服务提供者,使其它应用可以

获得这些信息。

3 、通过跟踪 IC 的插入和移除动作精确的维护 IFD 中的可用 IC 卡的信息。

其次,通过共享或独占的绑定 IFD 的方式来控制对 IFD 资源的分配和管理。

最后,通过访问 IC 卡中提供的服务来支持交易的独占性。目前的 IC 卡都是单

线程的设备,一次交易往往需要几条指令才能够完成,交易允许多条指令不间断

的执行以确保中间过程的完整性。

 

Service Provider

现在麻烦了。因为服务提供者在上一个版本 PCSC1 中,只有两种, ICCSP CSP

识时务者为俊杰,越来越多的 Service Provider APPLICATION 这位大爷搭上了

关系。

 

The following is the kiss-asses:

 

ICCSP :包括 ICCOSSP ADSP ADSPL Card Recognition System CSP

IFDSP :只有 IFDSP

原来第一个版本的单独的 ICCSP ,不复存在。实际上被重构了,因为该类

有太多的责任。对应现实中的左迁,分治等。

 

APPLICATION 成功了,但是成功也给 APPLICATION 带来了很多亲戚。

这么多,请让我一个一个道来。

 

ICCOSSP

 

原来有通用的文件访问,认证服务,现在为了满足特定的需求

增加了额外的接口 Card Recognition System 将重用  This guy. 你别嫉妒,

朝中无人不做官。人家可是用来映射特别的 IC COS 功能的。

 

 

ADSP

 

用来映射卡上的 APPLICATION 功能的。

ADSP Locator

 

引入它是为了让 Resource Manager 动态分配 ICC Service Providers

ADSPL 本身也是个 Service Provider ,被 Resource Manager 加载用来提供

卡上应用列表

获取正确的对应于所选卡上应用的 ADSP

 

Card Recognition System

 

PCSC2 使用到了扩展的 ATR ,也就是 ICC Info Structure

Resource Manager 解释 ATR 指令,从中获取 command ,回送该 command ICC

从而获取到 ICC Info 。接着从 ICC Info 获取 ADSPL 参考,从而加载 ADSPL

Resource Manager 可以使用 ADSPL 从卡上获取应用列表。

 

接着可以从应用列表中选择需要的卡上应用并加载对应的 ADSP 和卡上应用交互

 

CSP

这位 guy 和加密有莫大的关系。你想利用 ICC 提供的加密功能吗?就靠它吧。

 

CSP 从高层编程接口封装了智能卡提供的加密功能,目的是向 PC 上运行的

应用程序开放可用的加密功能,这些功能被定义成几大类通用用途的加密服务

 

密钥产生类;

密钥管理类;

数字签名类;

散列 ( 或消息摘要 ) 类;

块加解密服务类;

密钥导入和导出类。

 

IFDSP

这位向 APPLICATION 提供 Secure PIN, Display, User confirmation, and Generic user entry

功能 [3]

 

ICC-Aware Application

应用软件是针对不同的智能卡应用环境以及应用需求而编制

的软件系统,如 EMV 卡、 Health 卡等。智能卡是单线程、单

任务、多应用的器件,应用软件与智能卡之间的通信是一种端到端

的通信模式

 

卷1结束

 

问:能不能快点,应用是最要紧的,快说说那些有直接联系的 SP ,还有 ResourceManager

要调用它们。

答案是,卷6和卷5。也对,结果是重要的,过程是次要的。。《尚书》上说: 孰恶孰美?成者为首,

不成者为尾。 奥运金牌首次获得者是在获得金牌后出名的,还是出名后获得金牌的?是出名后给人做广告,还是因为给人做广告而出名?在这个浮躁的现实中,随波逐流吧。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值