PSAM卡用于商户POS、网点终端、直联终端等端末设备上,负责机具的安全控管。PSAM卡具有一定的通用性。经过个人化处理的PSAM卡能在不同的机具上使用。 PSAM卡支持多级发卡的机制,各级发卡方在卡片主控密钥和应用主控密钥的控制下创建文件和装载密钥。

1. 文件结构

社会保障DES算法环境: 

FID=3F00,AID=7378312E73682EC9E7BBE1B1A3D5CF;FID = DF01,AID = D15600000590 

 

社会保障SSF33算法环境: 

FID=DDF1,AID=7378322E73682EC9E7BBE1B1A3D5CF;FID = DF01,AID = D15600000590

2. 密钥属性

1)密钥用途(27, 47, 67)的低5位为密钥类型,高3位为密钥分散级数。密钥类型约定如下: 

——0,主控密钥

——1,维护密钥 

——2,消费密钥 

——3,PIN解锁密钥 

——4,重装PIN密钥 

——5,用户卡应用维护密钥 

——6,MAC密钥 

——7,加密密钥 

——8,MAC、加密密钥 

——9-31,保留

2) 密钥算法标识 

密钥算法标识指定了密钥所支持加密算法。密钥算法标识约定如下: 

——0,3DES 

——1,DES 

——2-255,保留 

3) 密钥版本 

密钥版本指定某种类型密钥的标识。对消费密钥来说,密钥版本是用于消费交易密钥选择过程中的密钥版本号,而对于其他密钥来说,密钥版本是密钥标识。

3. 读写用户卡

SET_CPU(0)
ATR=CPURESET()
LSKEY31=LAST(ATR,16)
00A404000F7378312E73682EC9E7BBE1B1A3D5CF
0020000003123456(9000) //验证主PIN
0084000008(RANDOM+9000) SET_CPU(1)
00A4040006D15600000590
BFDE485D18+LSKEY31+3337313730307378+RANDOM(9000) //48=psam用途 5D=标识
80FA000008+1122334455667788
00C0000008(ENDATA1+9000) //get response SET_CPU(0)
0082000710+ENDATA1+1122334455667788(9000) //外部认证 07=密钥标识
00A4020002EF0C
00B202042A(DATA1+9000) //读取第二条记录 SET_CPU(0)
0084000008(RANDOM+9000) SET_CPU(1)
BFDE281210+LSKEY31+RANDOM(9000) //48=psam用途 5D=标识
80FA000008+1122334455667788
00C0000008(ENDATA2+9000) //get response SET_CPU(0)
0082000410+ENDATA2+1122334455667788(9000) //外部认证 07=密钥标识
00A4020002EF0C
00DC02042A+E9283B363232323131333831393133383431333D32303039313031303032393237373439393939393F40

4. 密钥标识分配表

由于PSAM卡中同时存在国家级、省级和地市级控制的密钥,密钥安装分散,为了保证卡内密钥能协调工作,不相互冲突,各级发放和应用PSAM卡的机构,应按照下表密钥标识的分配原则来定义PSAM卡内的密钥标识号。

国家级

省级

地市级

PSAM卡自用密钥

‘00’~‘07’

‘00’~‘07’

‘00’~‘07’

针对用户卡DDF下的密钥

‘08’~‘0F’

‘10’~‘17’

‘18’~‘1F’

针对用户卡各应用下的密钥

‘20’~‘3F’

‘40’~‘7F’

‘80’~‘BF’

注:‘C0’~ ‘FF’保留为将来使用,各级机构不得占用。

文/闫鑫原创转载请注明出处http://blog.csdn.net/yxstars/article/details/38423875

社保系列7《PSAM卡》的更多相关文章

  1. PSAM卡

    PSAM卡    终端安全控制模块,符合<中国金融集成电路(IC卡)PSAM卡规范>,   包括普通PSAM卡和高速PSAM卡. PSAM符合以下标准及规范: 识别卡,带触点的集成电路卡标 ...

  2. PSAM卡与CPU(用户卡)的操作过程

    最近我一直在研究关于通过国密PSAM卡作为安全模块来读写cpu(用户卡)的问题 其实,两者都是卡片,或者说都是从设备.它们之间是无法相互访问的. 实际上,PSAM 卡是作为秘密密钥的载体,专门执行加密 ...

  3. PSAM 卡的应用操作方法

    PSAM 卡的应用        PSAM 功能 终端安全存储模块        PASM  常用于 脱机交易的 安全认证        脱机交易的流程          1.卡片对持卡人的认证(防止 ...

  4. IC卡、M1卡、CPU卡、SAM卡、PSAM卡的联系与区别

    一. 技术方面(非接触式IC卡)  1. 逻辑加密卡又叫存储卡,卡内的集成电路具有加密逻辑和EEPROM(电可擦除可编程只读存储器).  2. CPU卡又叫智能卡,卡内的集成电路包括中央处理器(CPU ...

  5. PSAM 卡的应用 操作方法

    PSAM 卡的应用        PSAM 功能 终端安全存储模块        PASM  常用于 脱机交易的 安全认证        脱机交易的流程          1.卡片对持卡人的认证(防止 ...

  6. PSAM卡之常用APDU指令错误码【转】

    本文转载自:http://blog.csdn.net/lvxiangan/article/details/53933714 PSAM卡的内容交互,是通过APDU指令完成的,常见的APDU报文格式如下: ...

  7. Mifare系列6-射频卡与读写器的通信(转)

    文/闫鑫原创转载请注明出处http://blog.csdn.net/yxstars/article/details/38085415 1. 复位应答(Answer to request) 读写器呼叫磁 ...

  8. 社保系列11《ATR》

    1)  冷复位(Cold Reset) 当IC卡的电源电压和其他信号从静止状态中复苏且申请复位信号时,IC卡产生的复位. 2)  热复位(Warm Reset) 在时钟(CLK)和电源电压(VCC)处 ...

  9. MIFARE系列3《卡能源和数据传递》

    在MIFARE卡中,能量和数据通过天线传输,卡中天线为几匝线圈,直接连接到芯片上,不再需要额外的组件.线圈嵌入塑料中,形成了一个无源的非接触卡. 读卡器向IC发一组固定频率的电磁波,卡内有一个IC串联 ...

随机推荐

  1. Hibernate和JDBC、EJB比较

    参考:http://m.blog.csdn.net/article/details?id=7228061 一.Hibernate是JDBC的轻量级的对象封装,它是一个独立的对象持久层框架,和App S ...

  2. python学习笔记(MD5算法)

    博主最近进度停滞了 对web开发理解欠缺好多内容 今天整理下MD5算法,这个涉及到mysql数据库存储用户表密码字段的时候 一般是带有加密的 # -*- coding: utf-8 -*- impor ...

  3. Xcode 中 Git 的配置与使用

    Xcode 中 Git 的配置与使用主要围绕下面几个问题展开阐述: 问题1,如何在Xcode中创建本地代码库,并添加和提交代码到本地代码库? 问题2,如何在Xcode中提交推送给远程服务器代码库? 问 ...

  4. 【PL/SQL练习】显式游标

    cursor --------需要用户先定义,在select时,可以用于处理多行记录 1.declare  声明一个游标 2.open cursor (隐式游标自动open) 3.fetch curs ...

  5. rsync 参数断点续传

    断点续传是使用大写P参数,-P这个参数是综合了--partial --progress两个参数 rsync -avzP /home/hadoop/jdk1..0_73.tar.gz root@10.2 ...

  6. Java基础学习(学习IT企业必读的324个JAVA面试题.pdf 整理)

    一.Java程序基础 javac 文件名.java    编译程序 java 类名               运行java程序 代码规范中,一下几点要注意: 包名:包名是全小写的名词,中间可以由点分 ...

  7. 复习下 AJAX

    什么是AJAx:Asynchronous Javascript and XML中文意思:异步JavaScript 和XML批一种创建交互式网页应用的网页开发技术.AJAX优点1.Ajax 在本质上是一 ...

  8. PAT1075. PAT Judge

    //终于A了,不难却觉着坑多的的题,注意-1的处理,感觉我是受memset置0的束缚了,可以把初试成绩置-1.就不用debug怎么久,注意对于-1的处理,不然漏洞百出 #include<cstd ...

  9. windows在远程桌面连接中使用命令行参数

    在此版本的 Windows 中,可以从搜索框("运行"对话框或命令行)启动远程桌面连接,而不是从「开始」菜单启动它. 从"运行"对话框启动远程桌面的步骤 依次单 ...

  10. 【MySQL】MySQL锁和隔离级别浅析二 之 INSERT

    最近在整理线上性能时,发现一台线上DB出现两个insert产生的死锁问题 ------------------------ LATEST DETECTED DEADLOCK ------------- ...