PSAM 卡的应用操作方法
PSAM 卡的应用
PSAM 功能 终端安全存储模块
PASM 常用于 脱机交易的 安全认证
脱机交易的流程
1.卡片对持卡人的认证(防止卡片被盗)
2.pos机对卡片合法性的认证(防止卡片被复制或者仿制卡)
3.卡片对pos机的合法性认证(防止卡片被非法修改)
4.教育查询机制即防拨功能(脱机过程中发生异常,提供方法查询交易是否成功)
5.卡片交易流水防伪造TAC或TC计算(对卡片产生的脱机交易验证数据)
6.脱机支付需要PSAM
7.记账方式
厂家的终端至少支持的几种功能或命令
激活,冷复位,热复位,SELECT命令,取响应命令,停活(下电)。
测试流程图(ISO7816-3 2006)
Step 1:激活
a) 将RST置为L(VIL=0 - 0.12*VCC(V)IIL=-200 -20(uA))
注:RST上的电压应保持在-0. 3 V - VCC十0. 3 V之间。
b)按照接口设备所选择的操作条件:A类或B类,VCC应被加电
|
符号 |
条件 |
最小值 |
最大值 |
单位 |
|
Vcc |
A类 B类 |
4.5 2.7 |
5.5 3.3 |
V |
|
Icc |
A类,在最大允许频率时 B类,在最大允许频率时 当时钟停止时(见5. 3. 4 ) |
60 50 0. 5 |
m A |
C)将接口设备上的1/O置于接收模式(当线路的两端处于接收模式时,这条线路应处于状态Z(高状态)[状态Z,如果卡和接口设备处于接收模式或者该状态由发送方强制])
d)在A类条件下,VPP应置于暂停状态在B类条件下,VPP保留待将来使用;
e)应为CLK提供时钟信号(见下图) 。
至少在复位应答期间,时钟的频率f应在以下范围内:1-5MHz,A类,或1-4MHz,B类
Step 2:冷复位
相关时序图
Step 3:热复位(时序图)
Step 4:停活
如果1/O为状态Z,则认为是正确接收; 如果1/O状态为A,则认为是不正确接收。
智能卡接口控制
ISO7816 标准是个标准的半双工接口,本模块作为主设备,控制SIM 卡的操作,SIM 卡作为从设备只有在两种情况下产生应答信号:
收到RST 信号后发送ATR、接到命令后应答。
因此,SIM 卡驱动模块作为主设备,主要完成两个操作:发送RST 等待ATR,发送命令并等待SIM 卡的应答。
TX, XMT, 发送transmit
RX, RCV, 接收Receive
---
ATR(answer to reset) 复位应答
SIM模块和SIM卡建立初始通信需要交换一些协议数据,这个交换通过ISO7816规定的ATR协议来完成。ATR协议通过SIM模块对sim_rst信号的控制来实现.
SIM卡有可能会在sim_rst为低期间或sim_rst为高期间返回应答信号。如果sim_rst保持高电平40000个sim_clk周期后仍然没有收到SIM卡的ATR应答信号,则表明SIM不存在或者传输通道有问题。
SIM卡返回的ATR应答信号的第一个字符表示SIM卡支持传输方式是直接模式还是反转模式,这个字符定义为初始字符。如果SIM返回的是11011100,则表示SIM卡支持直接模式;如果SIM卡返回的是11000000,则表示SIM卡支持的是反转模式。
根据定义,复位应答是一系列字节的值,这些字节是由卡作为对复位命令的响应发送给接口设备的。在I/O电路上,每个字节在一个异步字符中传输。
每个成功的复位操作都会导致I/O上的一个初始字符TS,TS后面按照下面的次序跟有最多32个字符:
T0…………………………………………格式字符,强制性
TA(i) TB(i) TC(i) TD(i)…………… 接口字符,可选的
T1 T2…Tk…………………………………历史字符,可选的
Tck……………………………………… 检测字符,有条件的
• 初始字符定义了所有后继字符的解码协议。。
• 格式字符声明了第一组接口字符和所有历史字符。
• 接口字符由格式字符声明的位图技术来指明。
• 历史字符由编码在格式字符中的一个数字来指明。
• 校检字符依赖于某些接口字符中参数T的值。
为了表示简明,以下用[TS] T0 TA(i)…T1…Tck表示字节及传送字节的字符。
例:
ATR: 3b | 6c | 0 0 | 4e 54 49 43 32 64 8 1 4a 3 0 0
ATR-ATlength:16
SIM模块支持自动初始字符检测。当SIM模块准备ATR接收时,可以先通过SIM_CNTL寄存器的ICM比特将接收机设置初始字符检测模式。然后SIM模块会根据收到的初始字符,自动调整接收方式,并自动改变SIM_CNTL寄存器的传输模式IC比特。
Reset
3B FA 13 00 00 81 31 FE 45 4A 43 4F 50 34 31 56 32 32 31 96
复位应答 ATR
Reset
3B FA 13 00 00 81 31 FE 45 4A 43 4F 50 34 31 56 32 32 31 96
复位应答 ATR
TS( The Initial character ) = 3B
--表示正向约定,高电平为1,低电平为0,传输时先传输LSB,最后传输MSB
T0( The Format character ) = FA
--表示接口字符的个数和历史字节的数量
----其高4位有几个bit为1,则表示后续有几个历史字符(Historical bytes)
高4位 = f( 1 1 1 1 )表示后续字符中存在TA1 TB1 TC1 TD1
--------------------( TA1, TB1, TC1, TA2, TB2 是全局接口字符,TC2是专用接口字符 )
TA1 = 13
--表示有增强的波特率,公式 3571200 / ( Fi / Di )
--------其中Fi由TA1的高4位(F)查表得出,Di由TA1的低4位(D)查表得出
----F = 01 ,查下表,则Fi = 372
+-------------+--------+--------+--------+--------+--------+--------+--------+--------+
| F | 0000 | 0001 | 0010 | 0011 | 0100 | 0101 | 0110 | 0111 |
+-------------+--------+--------+--------+--------+--------+--------+--------+--------+
| Fi | 372 | 372 | 558 | 744 | 1116 | 1488 | 1860 | RFU |
+-------------+--------+--------+--------+--------+--------+--------+--------+--------+
| 最高时钟MHZ | 4 | 5 | 6 | 8 | 12 | 16 | 20 | -- |
+-------------+--------+--------+--------+--------+--------+--------+--------+--------+
| F | 1000 | 1001 | 1010 | 1011 | 1100 | 1101 | 1110 | 1111 |
+-------------+--------+--------+--------+--------+--------+--------+--------+--------+
| Fi | RFU | 512 | 768 | 1024 | 1536 | 2048 | RFU | RFU |
+-------------+--------+--------+--------+--------+--------+--------+--------+--------+
| 最高时钟MHZ | -- | 5 | 7.5 | 10 | 15 | 20 | -- | -- |
+-------------+--------+--------+--------+--------+--------+--------+--------+--------+
----D = 03 ,查下表,则Di = 4
+-------------+--------+--------+--------+--------+--------+--------+--------+--------+
| D | 0000 | 0001 | 0010 | 0011 | 0100 | 0101 | 0110 | 0111 |
+-------------+--------+--------+--------+--------+--------+--------+--------+--------+
| Di | RFU | 1 | 2 | 4 | 8 | 16 | 1860 | RFU |
+-------------+--------+--------+--------+--------+--------+--------+--------+--------+
| D | 1000 | 1001 | 1010 | 1011 | 1100 | 1101 | 1110 | 1111 |
+-------------+--------+--------+--------+--------+--------+--------+--------+--------+
| Di | RFU | 512 | 768 | 1024 | 1536 | 2048 | RFU | RFU |
+-------------+--------+--------+--------+--------+--------+--------+--------+--------+
--------实际波特率为 38400
TB1 = 00
----表示编程电流 I /电压 P,高2位表示电流I,低6位表示电压P
----高2位 = 00 ,则编程电流 I 如下
+-------+--------+--------+--------+--------+
| 高2位 | 00 | 01 | 10 | 11 |
+-------+--------+--------+--------+--------+
| 电流I | 25 | 50 | RFU | RFU |
+-------+--------+--------+--------+--------+
----低6位 = 00 ,则编程 P 电压为0
TC1 = 00
----额外保护时间N = 0
TD1 = 81
----通讯协议 T = 1
--------------------
没有TA2
没有TB2
没有TC2
TD2 = 31
--------------------
TA3 = FE
TB3 = 45
没有TC3
没有TD3
4A 43 4F 50 34 31 56 32 32 31
----是历史字节
TCK ( XOR T0 - TCK ) = 96 校验成功
ETU(Elementary Time Unit)
一个ETU的时间可以由软件选定,在ISO7816标准中规定了几个ETU传输时间的标准规格,其中标准时间为372个sim_clk时钟,另外还有一些增强速率的时间。SIM模块支持所有的ISO7816规定的ETU模式。
每帧数据采用Byte字符方式,一个Byte由8比特组成。每帧的传输由起始位、字符数据(8位)、校验位和停止位组成,其中起始位为一个ETU(Elementary Time Unit)的低电平,数据位占用8个ETU的时间,校验位占用一个ETU的时间,停止位比特为高电平,占用2个ETU的时间。
ISO7816协议中还规定了一种紧凑的传输方式,此时停止比特只有1位,一个数据帧包含11个ETU,可以通过SIM_GUARD寄存器的RCVR11来配置SIM模块支持这种传输方式。
FIFO不是寄存器,而是通过寄存器写入的, FIFO是16*8, 但发送缓冲寄存器(SIM_XMT_BUF)是8位.
检测项目
|
序号 |
检测项目 |
|
1 |
读公共信息文件 |
|
2 |
读个人信息文件 |
|
3 |
得到卡号和卡类 |
|
4 |
支持互联互通应用 |
|
5 |
判断互联互通城市白名单(无需提供白名单,但须提供下载操作方式及相应操作工具) |
|
6 |
查互联互通卡黑名单 |
|
7 |
判应用标识和日期 |
|
8 |
安全模块认证卡合法性 |
|
9 |
电子钱包交易 |
|
10 |
复合交易 |
|
11 |
判钱包金额>交易金额 |
|
12 |
扣交易金额 |
|
13 |
写交易指针,累计交易次数 |
|
14 |
交易时间,交易金额,次数等计算MAC |
|
15 |
记录本地交易明细记录 |
|
16 |
记录异地交易明细记录 |
需识别的芯片
消费交易流程
PSAM卡与终端处理成功
(PSAM卡采用射频读取数据。)
PSAM 卡的应用操作方法的更多相关文章
- PSAM 卡的应用 操作方法
PSAM 卡的应用 PSAM 功能 终端安全存储模块 PASM 常用于 脱机交易的 安全认证 脱机交易的流程 1.卡片对持卡人的认证(防止 ...
- PSAM卡与CPU(用户卡)的操作过程
最近我一直在研究关于通过国密PSAM卡作为安全模块来读写cpu(用户卡)的问题 其实,两者都是卡片,或者说都是从设备.它们之间是无法相互访问的. 实际上,PSAM 卡是作为秘密密钥的载体,专门执行加密 ...
- 社保系列7《PSAM卡》
PSAM卡用于商户POS.网点终端.直联终端等端末设备上,负责机具的安全控管.PSAM卡具有一定的通用性.经过个人化处理的PSAM卡能在不同的机具上使用. PSAM卡支持多级发卡的机制,各级发卡方在卡 ...
- IC卡、M1卡、CPU卡、SAM卡、PSAM卡的联系与区别
一. 技术方面(非接触式IC卡) 1. 逻辑加密卡又叫存储卡,卡内的集成电路具有加密逻辑和EEPROM(电可擦除可编程只读存储器). 2. CPU卡又叫智能卡,卡内的集成电路包括中央处理器(CPU ...
- PSAM卡
PSAM卡 终端安全控制模块,符合<中国金融集成电路(IC卡)PSAM卡规范>, 包括普通PSAM卡和高速PSAM卡. PSAM符合以下标准及规范: 识别卡,带触点的集成电路卡标 ...
- PSAM卡之常用APDU指令错误码【转】
本文转载自:http://blog.csdn.net/lvxiangan/article/details/53933714 PSAM卡的内容交互,是通过APDU指令完成的,常见的APDU报文格式如下: ...
- PSAM读卡芯片TDA8007BHL开发
WWT:Work Waiting Time ATR:Answer To Reset,复位应答 etu =F/Df 1. PSAM概述和应用 PSAM(PurchaseSecure Access ...
- PSAM SAM
第一个问题: 为什么要用SAM? 究竟谁最开始使用SAM这个词,已经无从考证,能够确认的是:这个世界上先有了PSAM,然后才有了SAM.由于网络状况的原因,或者是应用环境的要求,使用IC卡作为支付介质 ...
- 对手机SD卡的一些操作
首先要导入外包 log4j-1.2.16.jar 代码如下: package com.car273.util; import java.io.BufferedReader; import java.i ...
随机推荐
- 【android】adb连接几个常见问题(遇到再新增)
不知道为什么,每次连接手机,都提示 adb server is out of date,偶尔也会提示not found 每次去百度,都好多方法---终于有一种方法非常靠谱,遂,记录之--- 问题一:o ...
- C# 同步/并发队列ConcurrentQueue (表示线程安全的先进先出 (FIFO) 集合)
http://msdn.microsoft.com/zh-cn/library/dd267265(v=vs.110).aspx static void Main(string[] args) { // ...
- Codeforces Round #316 (Div. 2) D、E
Problem D: 题意:给定一棵n个点树,每个点有一个字母,有m个询问,每次询问某个节点x的子树中所有深度为k的点能否组成一个回文串 分析:一堆点能组成回文串当且仅当数量为奇数的字母不多于1个,显 ...
- DPDK2.1开发者手册4-7
Mempool Labrary 一个内存池(memory pool)就是固定大小对象的分配器.在dpdk中,它是通过名字来标示唯一性的,且使用环形队列来保存没有使用的空闲对象.它提供了一些可选项服务例 ...
- Raid1源代码分析--Barrier机制
本想就此结束Raid1的专题博客,但是觉得Raid1中自己构建的一套barrier机制的设计非常巧妙,值得单独拿出来分析.它保证了同步流程和正常读写流程的并发性,也为设备冻结/解冻(freeze/un ...
- [置顶] ARM指令集和常用寄存器
1) ARM指令集 32位的 ARM指令和 16位 的Thumb指令 1,寄存器寻址 MOV R1, R2 //将寄存器R2的值传给寄存器R1 2,立即寻址 MOV R0, #0XFF00 //数据 ...
- 腾讯2013笔试题—web前端笔试题 (老题练手)
问题描述(web前端开发附加题1): 编写一个javascript的函数把url解析为与页面的javascript.location对象相似的实体对象,如:url :'http://www.qq.co ...
- Java基础知识强化62:Arrays工具类之概述和使用
1. Arrays工具类: Arrays这个类包含操作数组(比如排序和查找)的各种方法. 2. Arrays的方法: (1)toString方法:把数组转成字符串 public static Stri ...
- USB HID介绍
HID是一种USB通信协议,无需安装驱动就能进行交互,在学习HID之前,先来复习一下USB协议的相关内容. USB设备描述符-概述 当插入USB设备后,主机会向设备请求各种描述符来识别设备.那什么是设 ...
- Win7_x64下卸载Oracle11g
Windows下Oracle11g卸载顺序1.计算机管理-->服务和应用程序-->停止所有Oracle相关服务2.运行D:\app\Administrator\product\11.2.0 ...