PBOC规范基础知识
术语和定义
- 集成电路 integrated circuit (IC) 具有处理和/或存储功能的电子器件。
- 集成电路卡(IC 卡) integrated circuit(s) card (ICC) 内部封装一个或多个集成电路用于执行处理和存储功能的卡片。
- 电子存折 electronic deposit 一种为持卡人进行消费、取现等交易而设计的支持个人识别码(PIN)保护的金融IC卡应用。它支持圈存、圈提、消费和取现等交易。
- 电子钱包 electronic purse 一种为方便持卡人小额消费而设计的金融IC卡应用。它支持圈存、消费等交易。消费不支持个人识别码(PIN)保护。
- 圈存 load
持卡人将其在银行相应账户上的资金划转到电子存折或电子钱包中。圈存交易必须在金融终端上联机进行。
一般情况下,圈存到电子存折中的资金仍计付活期利息,圈存到电子钱包中的资金不计付利息。但 具体作法由发卡方自行决定。 - 圈提 unload
持卡人将电子存折中的部分或全部资金划回到其在银行的相应账户上。圈提交易必须在金融终端上 联机进行2。
符号和缩略语
下列符号和缩略语适用于 JR/T 0025 的本部分。
- AID 应用标识符(Application Identifier)
- an 字母数字型(Alphanumeric)
- ans 字母数字及特殊字符型(Alphanumeric Special)
- ATI 应用类型标识(Application Type Identifier),卡上有两种应用时,用来区分是电子存折和电子钱包
- b 二进制(Binary)
- CLA 命令报文的类别字节(Class Byte of the Command Message)
- cn 压缩数字型(Compressed Numeric)
- DEA 数据加密算法(Data Encryption Algorithm)
- DF 专用文件(Dedicated File)
- ED 电子存折(Electronic Deposit)
- EF 基本文件(Elementary File)
- EP 电子钱包(Electronic Purse)
- FCI 文件控制信息(File Control Information)
- INS 命令报文的指令字节(Instruction Byte of Command Message)
- ISO 国际标准化组织(International Organization for Standardization)
- Lc 终端发出的命令数据的实际长度(Exact Length of Data Sent)
- Le 响应数据中的最大期望长度(Maximum Length of Data Expected)
- MAC 报文鉴别码(Message Authentication Code)
- MF 主文件(Master File)
- n 数字型(Numeric)
- P1 参数 1(Parameter 1)
- P2 参数 2(Parameter 2)
- PIN 个人识别码(Personal Identification Number)
- POS 销售点终端(Point of Service)
- PSAM 销售点终端安全存取模块(Purchase Secure Access Module)
- PSE 支付系统环境(Payment System Environment)
- PVN PIN 校验值(PIN Verification Number)
- SFI 短文件标识符(Short File Identifier)
- SW1 状态字 1(Status Word One)
- SW2 状态字 2(Status Word Two)
- TAC 交易验证码(Transaction Authorization Crypogram)
- TTI 交易类型标识(Transaction Type Identifier)
- YYYYMMDD 年、月、日(Year, Month, Day)
智能卡又称为IC卡(Integrated circuit Card),即集成电路卡。根据卡中使用的集成电路的不同可以分为存储器卡、逻辑加密卡和CPU卡。由于CPU卡中集成了中央处理器CPU、存储器和芯片操作系统(Chip Operating System, COS) ,构成一个完整的计算机系统, 具有独立的数据处理能力, 因此安全性大大增强,从而得到了广泛的应用,成为IC卡中的主流产品。
文件操作
2.1 基本文件结构
文件系统是COS的基础模块,它负责组织、管理、维护IC卡内存储的所有数据。根据ISO7816-4,COS 支持的文件类型为: 主文件(Master File, MF) 、目录文件(Dedicated File, DF)和基本文件(Elementary File,EF) 。主文件MF为文件系统的根,下面可以有多个目录文件DF和基本文件EF。目录文件DF分为DDF和ADF两种。DDF可以含有下级目录ADF, 而ADF不能含有下级目录文件。
主文件MF在IC卡中唯一且必须存在。DDF是指包含多个应用的DF, 一个ADF则代表一个应用, 任何一个DF在物理上和逻辑上都保持独立。基本文件EF用于存放密钥或用户数据, 分为密钥文件和工作基本文件。
三种专用文件(DF)类型:
MF: 根目录,是整个文件系统的根,同属应用环境类。MF 下可以有 EF(基本文件)、SF (安全文件)、DDF(目录文件)、ADF(应用文件);
DDF: 目录文件,用于定义一个应用环境,它是应用的集合。DDF下可以有ADF、子DDF、 EF和SF等结构。
ADF: 应用文件,用于定义具体应用。ADF下可以有EF和SF。
2.2 文件的访问控制
文件的访问控制可采取鉴别寄存器方式和状态机方式,这里以鉴别寄存器方式为例。用两个四位寄存器来表示安全状态: 一个寄存器称为MF的安全状态寄存器,另一个寄存器为当前DF的安全状态寄存器。每个寄存器的初始值是0,取值安全状态员安全状态圆执行命令符合命令要求的安全属性钥命令拒绝安全机制再晕图员智能卡安全体系范围是0~F之间的某一个值。文件有两种不同的访问控制权限AC0,AC1。AC0 是使用权限,AC1 是修改权限,分别用一个字节表示。当前安全状态寄存器的值大于AC字节的低半字节小于其高半字节时, 该文件的相应读、写权限在该安全状态下被满足,则能进行相关操作。COS在建立文件时指定其AC0和AC1的值来对文件的访问权限进行设定,通过口令校验和外部认证两条命令可以改变安全状态寄存器的值,从而利用安全机制实现对文件的访问控制。
命令的类别字节和指令字节
命令 | CLA | INS | P1 | P2 |
---|---|---|---|---|
修改个人识别码(CHANGE PIN) | ‘80’ | ‘5E’ | ‘01’ | ‘00’ |
圈存(CREDIT FOR LOAD) | ‘80’ | ‘52’ | ‘00’ | ‘00’ |
消费/取现(DEBIT FOR PURCHASE/CASH WITHDRAW) | ‘80’ | ‘54’ | ‘01’ | ‘00’ |
圈提(DEBIT FOR UNLOAD) | ‘80’ | ‘54’ | ‘03’ | ‘00’ |
读余额(GET BALANCE) | ‘80’ | ‘5C’ | ‘00’ | ‘0X’ |
取交易认证(GET TRANSACTION PROVE) | ‘80’ | ‘5A’ | ‘00’ | ‘XX’ |
取现初始化(INITIALIZE FOR CASH WITHDRAW) | ‘80’ | ‘50’ | ‘02’ | ‘01’ |
圈存初始化(INITIALIZE FOR LOAD) | ‘80 | ‘50’ | ‘00’ | ‘0X’ |
消费初始化(INITIALIZE FOR PURCHASE) | ‘80’ | ‘50’ | ‘01’ | ‘0X’ |
圈提初始化(INITIALIZE FOR UNLOAD) | ‘80’ | ‘50’ | ‘05’ | ‘01’ |
修改初始化(INITIALIZE FOR UPDATE) | ‘80’ | ‘50’ | ‘04’ | ‘01’ |
重装个人识别码(RELOAD PIN) | ‘80’ | ‘5E’ | ‘00’ | ‘00’ |
修改透支限额(UPDATE OVERDRAW LIMIT) | ‘80’ | ‘58’ | ‘00’ | ‘00’ |
IC卡、M1卡、CPU卡、SAM卡、PSAM卡的联系与区别
一、 技术方面(非接触式IC卡)
- 1、 逻辑加密卡又叫存储卡,卡内的集成电路具有加密逻辑和EEPROM(电可擦除可编程只读存储器)。
- 2、 CPU卡又叫智能卡,卡内的集成电路包括中央处理器(CPU)、EEPROM、随机存储器(ROM)、以及固化在只读存储器(ROM)中的片内操作系统(COS),有的卡内芯片还集成了加密运算协处理器以提高安全性和工作速度,使其技术指标远远高于逻辑加密卡。
- 3、 CPU卡由于具有微处理功能,使得在交易速度以及数据干扰方面远远高于逻辑加密卡,且允许多张卡片同时操作,具有防冲突机制。
- 4、 两者在技术方面的最大区别在于:CPU卡是一种具有微处理芯片的IC卡,可执行加密运算和其它操作,存储容量较大,能应用于不同的系统;逻辑加密卡是一种单一的存储卡,主要特点是内部有只读存储器,但存储容量较CPU卡小,使其在用途方面没有扩展性。
二、 保密方面(非接触式IC卡)
- 1、 逻辑加密卡具有防止对卡中信息随意改写功能的存储IC卡,当对加密卡进行操作时必须首先核对卡中密码,只有核对正确,卡中送出一串正确的应答信号时,才能对卡进行正确的操作,但由于只进行一次认证,且无其它的安全保护措施,容易导致密码的泄露和伪卡的产生,其安全性能很低。
- 2、 由于CPU卡中有微处理机和IC卡操作系统(COS),当CPU卡进行操作时,可进行加密和解密算法(算法和密码都不易破解),用户和IC卡系统之间需要进行多次的相互密码认证(且速度极快),提高了系统的安全性能,对于防止伪卡的产生有很好的效果。 综上所述,对于逻辑加密卡和CPU卡来说,CPU卡不仅具有逻辑加密卡的所有功能,更具有逻辑加密卡所不具备的高安全性、灵活性以及支持与应用扩展等优良性能,也是今后IC卡发展的主要趋势和方向。
CPU卡安全系统与逻辑加密系统的比较
众所周知,密钥管理系统(Key Management System),也简称KMS,是IC项目安全的核心。如何进行密钥的安全管理,贯穿着IC卡应用的整个生命周期。
1、 非接触逻辑加密卡的安全认证,依赖于每个扇区独立的KEYA和KEYB的校验,可以通过扇区控制字对KEYA和KEYB的不同安全组合,实现扇区数据的读写安全控制。非接触逻辑加密卡的个人化也比较简单,主要包括数据和各扇区KEYA、KEYB的更新,在期间所有敏感数据包括KEYA和KEYB都是直接以明文的形式更新。由于KEYA和KEYB的校验机制,只能解决卡片对终端的认证,而无法解决终端对卡片的认证,即我们俗称的“伪卡”的风险。接触逻辑加密卡,即密钥就是一个预先设定的确定数,无论用什么方法计算密钥,最后就一定要和原先写入的数一致,就可以对被保护的数据进行读写操作。因此无论是一卡一密的系统还是统一密码的系统,经过破解就可以实现对非接触逻辑加密卡的解密。很多人认为只要是采用了一卡一密、实时在线系统或非接触逻辑加密卡的ID号就能避免密钥被解密,其实,非接触逻辑加密卡被解密就意味着M1卡可以被复制,使用在线系统尽可以避免被非法充值,但是不能保证非法消费,即复制一张一样ID号的M1卡,就可以进行非法消费。现在的技术使用FPGA就可以完全复制。基于这个原理,M1的门禁卡也是不安全的。目前国内80%的门禁产品均是采用原始IC卡的ID号或ID卡的ID号去做门禁卡,根本没有去进行加密认证或开发专用的密钥,其安全隐患远远比Mifare卡的破解更危险,非法破解的人士只需采用的是专业的技术手段就可以完成破解过程,导致目前国内大多数门禁产品都不具备安全性原因之一,是因为早期门禁产品的设计理论是从国外引进过来的,国内大部分厂家长期以来延用国外做法,采用ID和IC卡的只读特性进行身份识别使用,很少关注卡与机具间的加密认证,缺少钥匙体系的设计;而ID卡是很容易可复制的载体,导致所有的门禁很容易几乎可以在瞬间被破解复制;这才是我们国内安防市场最大的灾难。
2、 非接触CPU卡智能卡与非接触逻辑加密卡相比,拥有独立的CPU处理器和芯片操作系统,所以可以更灵活的支持各种不同的应用需求,更安全的设计交易流程。但同时,与非接触逻辑加密卡系统相比,非接触CPU卡智能卡的系统显得更为复杂,需要进行更多的系统改造,比如密钥管理、交易流程、PSAM卡以及卡片个人化等。密钥通常分为充值密钥(ISAM卡),减值密钥(PSAM卡),外部认证密钥(SAM卡)和全能密钥(ASAM卡)。非接触CPU卡智能卡可以通过内外部认证的机制,例如像建设部定义的电子钱包的交易流程,高可靠的满足不同的业务流程对安全和密钥管理的需求。对电子钱包圈存可以使用圈存密钥,消费可以使用消费密钥,清算可以使用TAC密钥,更新数据可以使用卡片应用维护密钥,卡片个人化过程中可以使用卡片传输密钥、卡片主控密钥、应用主控密钥等,真正做到一钥一用。
SAM(Secure Access Module)安全存取模块介绍
为什么要用SAM?
究竟谁最开始使用SAM这个词,已经无从考证,能够确认的是:这个世界上先有了PSAM,然后才有了SAM。由于网络状况的原因,或者是应用环境的要求,使用IC卡作为支付介质的系统里面,消费环境不能在每次交易的时候,都做到实时与后台相连接认证IC卡的合法性以及交易完全性。因此,一种我们目前已经认可的交易模式——“电子钱包脱机消费”产生了。即便目前通讯技术发展到已经不存在技术障碍,在权衡风险、代价、方便性等等,我们还是要继续使用并发扬光大脱机消费这样一个模式。由此,就需要对发生交易的终端有所要求,一是能够鉴别IC卡的真伪,再者需要能够保证交易的合法性与安全性,本着不把终端制造商拉下水的目的,于是,坚持一个原则:终端设备与系统安全机制分离,即所有有关安全性的因素,都放置到一个叫PSAM卡里面,由系统发行方来发行管理。没有 PSAM卡的消费终端,相当于没有SIM卡的手机,安装PSAM卡以后,该消费终端就获得了系统运营商的许可,有权鉴别卡片的真伪,有权从卡上的钱包扣款。因此,PSAM的解释为:销售点终端安全存取模块(Purchase Secure Access Module)。
上述最初起源自金融领域 IC卡电子钱包支付系统中的消费应用。在迅猛发展,并极具想象力的IC卡行业,PSAM的应用模式很快得到了延伸,去掉了P(Purchase)的限制之后的SAM(Secure Access Module),被用于很多模式中,变成了“各种终端内嵌入的、认证及存储所有安全数据与敏感信息的设备”。SAM是一个统称,SAM可以是一张标准尺寸的IC卡大小,更多的时候还是符合ISO/IEC 7810里面ID-000标准的小卡形状,也可以是一个DIP8或者SOP8/16封装的IC集成电路形状。如同印章一样,放一个SAM到一个通用的设备里面,表明运营商获得这个设备的控制权和所有权,才能完成该终端赋予的各种功能。
CPU卡加密算法和随机数发生器与安装在读写设备中的密钥认证卡(SAM卡)相互发送认证的随机数,可以实现以下功能:
- 1)通过终端设备上SAM卡实现对卡的认证
- 2)CPU卡与终端设备上的SAM卡的相互认证,实现对卡终端的认证
- 3)通过ISAM卡对CPU卡进行充值操作,实现安全的储值
- 4)通过PSAM卡对CPU卡进行减值操作,实现安全的扣款
- 5)在终端设备与CPU卡中传输的数据是加密传输
- 6)通过对CPU卡发送给SAM卡的MAC1,SAM卡发送给CPU的MAC2和由CPU卡返回的TAC,可以实现数据传输验证的计算。而MAC1、MAC2和TAC就是同一张CPU卡每次传输的过程中都是不同的,因此无法使用空中接收的办法来破解CPU卡的密钥。
有几种SAM?
PSAM:放在脱机消费终端内,用来控制电子钱包脱机消费交易的SAM卡,通常是铳成ID-000的小卡形状,存放消费主密钥,能够验证用户卡上消费子密钥是否符合约定的对应关系,并且保证扣款过程的安全性。
ISAM:ISAM的出现并不具有典型意义,其中的I,可解释为Input,也可解释为Increase,放置在充值终端设备内,脱机充值交易中控制充值交易安全。说它不具有典型意义的原因是,脱机充值的模式是小额支付系统早期的模式,基于安全、风险、政策、技术发展等考虑,脱机充值应用在未来不会有生命力,因此, ISAM作为一个过渡产品,慢慢会成为历史。
ESAM,ESAM属于企业创造的新名词,其中的“E”代表一种形态,特指采用SOP或者DIP封装形式的SAM,作为设备原始设计的一部分,生产的时候焊接在设备的电路板上,不像是其他的SAM是在卡座内,可以灵活拆卸。ESAM的名字与功能无关,比如ESAM形式的PSAM或者ISAM,比如ESAM形式的电子钱包应用。都是符合逻辑的说法。ESAM有几种典型的应用:作为电子计数文件,在预付费表具内控制表具的运行。作为安全数据的存储与认证,实现硬件设备的版权保护与安全使用。
USAM: 是一个新产品,是基于已有SAM概念的基础上,进行的10%左右的创新而来,其中的“U”,大家一定比较容易猜到,即“USB”,是一个采用USB接口和通讯方式的SAM,在这里补充一下,前面所说的各种SAM的通讯方式都是符合ISO/IEC 7816中规定的接口和通讯协议。USAM是两种成熟技术结合,一种全新形态的产品。能大幅度提高SAM的效率与性能,减少设备开发工作量,使SAM的应用趋于标准化、开放性,也扩展了SAM的应用领域。
SAM的技术要求
SAM是与终端设备配套使用的安全设备,它具备这样的几个基本要求:
- 1、是带有COS的CPU卡(模块);
- 2、密钥安全的存储在卡内,在某种认可的权限下,能被用于运算,但是不能被直接读出;
- 3、高安全等级芯片,低功耗、宽电压、宽温度范围;
- 4、SAM最核心的要求是安全性;
- 5、SAM最重要的两个参数是运算速度和通讯速率;
对IC卡操作时,耗费时间最多的环节是通讯所占用的时间,而在IC卡应用系统中,尤其是非接触式的应用中,每一个毫秒的时间都是非常宝贵的,都会极大地影响用户感受,在高速公路不停车收费系统中,每增加一个毫秒,都意味着通行速度的大幅降低。
而采用USAM的最大特点在于:1、减少数据流通环节;2、提高数据通讯速度。
USAM直接插入标准USB接口即可使用,不用外接IC卡读写器或者需要SAM卡座;便于安装、使用;
USAM比较适合用于:城市通卡、高速公路收费、金融领域、加油领域、预付费水电气表。
参考资料
PSAM SAM:
https://www.bbsmax.com/A/lk5aGpwPz1/
IC卡、M1卡、CPU卡、SAM卡、PSAM卡的联系与区别:
https://www.bbsmax.com/A/8Bz8BRpx5x/
本文链接:http://agehua.github.io/2017/09/12/PBOCKonwledge/