最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

PSAM卡必需支持的专用命令

来源:动视网 责编:小OO 时间:2025-09-28 20:57:12
文档

PSAM卡必需支持的专用命令

1.写入密钥(WriteKey)1)定义和范围命令可向卡中装载密钥或更新卡中已存在的密钥。本命令可支持8字节或16字节的密钥,密钥写入必须采用加密的方式,在主控密钥的控制下进行。在密钥装载前必须用GETCHANLLEGE命令从PSAM卡取一个4字节的随机数。2)命令报文命令报文见表3-1。代码值CLA84hINSD4hP100hP200hLc14h或1ChData加密后的密钥信息、MACLe不存在表3-1WRITEKEY命令报文3)命令报文数据域命令报文数据域包括要装载的密钥密文信息和MAC。
推荐度:
导读1.写入密钥(WriteKey)1)定义和范围命令可向卡中装载密钥或更新卡中已存在的密钥。本命令可支持8字节或16字节的密钥,密钥写入必须采用加密的方式,在主控密钥的控制下进行。在密钥装载前必须用GETCHANLLEGE命令从PSAM卡取一个4字节的随机数。2)命令报文命令报文见表3-1。代码值CLA84hINSD4hP100hP200hLc14h或1ChData加密后的密钥信息、MACLe不存在表3-1WRITEKEY命令报文3)命令报文数据域命令报文数据域包括要装载的密钥密文信息和MAC。
1.写入密钥(Write Key)

1)定义和范围

 命令可向卡中装载密钥或更新卡中已存在的密钥。本命令可支持8字节或16字节的密钥,密钥写入必须采用加密的方式,在主控密钥的控制下进行。

在密钥装载前必须用GET CHANLLEGE命令从PSAM卡取一个4字节的随机数。

2)命令报文

 命令报文见表3-1。

代码
CLA 84h
INS D4h
P1 00h
P2 00h
Lc 14h或1Ch

Data 加密后的密钥信息、MAC

Le 不存在

表3-1  WRITE KEY命令报文

3)命令报文数据域

命令报文数据域包括要装载的密钥密文信息和MAC。

密钥密文信息是用主控密钥对以下数据加密(按所列顺序)产生的:

——密钥用途

——密钥版本

——密钥算法标识

——密钥值

MAC是用主控密钥对下数据进行MAC计算(按所列顺序)产生的:

——CLA

——INS

——P1

——P2

——Lc

——密钥密文信息  

加密和MAC计算的方法遵循《中国金融集成电路(IC)卡规范》。

装载8字节的单长度密钥时,数据长度为14h;装载16字节的双长度密钥时,数据长度为1Ch。

4)响应报文数据域

响应报文数据域不存在。

2.批量更新密钥初始化(Init Batch Update)

1)定义和范围

Init Batch Update命令用于从IC卡中获得一个4个字节的随机因子。该随机因子服务于批量更新消费主密钥指令的安全过程(如安全报文),在使用批量更新消费主密钥指令的命令执行后失效。

2)命令报文

GET CHALLENGE命令报文见表2-16。

代码
CLA 00h

INS 85h

P1 00h
P2 00h

Lc 不存在

Data 不存在

Le 13h
表2-16  Init Batch Update命令报文

3)命令报文数据域

命令报文数据域不存在。

4)响应报文数据域

此命令执行成功的响应报文数据域见表。

    如果命令执行不成功,则只在响应报文中回送SW1和SW2。

说明长度(字节)
PSAM序列号

10
密钥索引号(GMPK)

1
有效期4
随机因子4
3.批量更新消费主密钥(Batch Update GMPK)

1)定义和范围

 命令可向卡中更新卡中已存在的消费密钥。本命令只支持16字节的密钥,密钥写入必须采用加密的方式,在主控密钥的控制下进行。

在密钥更新前必须用Init Batch Update命令从PSAM卡取一个4字节的随机数。

2)命令报文

 命令报文见表3-1。

代码
CLA84h
INS  D5h
P100h
P2  00h

Lc 10 +(N*18h)

Data见说明
Le 不存在

表3-1  Batch Update GMPK命令报文

3)命令报文数据域

加密和MAC计算的方法遵循《中国金融集成电路(IC)卡规范》。装载16字节的双长度密钥时,数据长度为18h。

说明长度(字节)
已发送更新密钥指令数量(N)

1
新的密钥索引号(GMPK)

1
有效期4
GMPK CRYPTOGRAPHN*18h
MAC4
4)响应报文数据域

响应报文数据域不存在。

4.通用DES计算初始化(INIT_FOR_ DESCRYPT)

1)定义和范围

INIT_FOR_ DESCRYPT命令用来初始化通用密钥计算过程。PSAM卡将利用卡中指定的密钥进行运算,产生一个临时密钥。运算方式由指定的密钥类型、密钥分散级数和密钥算法标识确定。

不支持计算临时密钥计算的密钥类型有:

——主控密钥

——维护密钥

——消费密钥

双长度密钥产生双长度临时密钥的密钥类型有:

——PIN解锁密钥

——用户卡应用维护密钥

双长度密钥左右异或产生单长度临时密钥的密钥类型有:

——重装PIN密钥

双长度密钥产生双长度临时密钥,单长度密钥产生单长度临时密钥的密钥类型有:

——MAC密钥

——加密密钥

——MAC、加密密钥

指定密钥经过几级处理由密钥分散级数和Lc确定,若二者不一致,则返回错误信息。

临时密钥在PSAM卡下电后自动消失,不允许读。

临时密钥产生后,与原密钥的属性一致。

2)命令报文

INIT_FOR_ DESCRYPT命令报文见表3-2。

代码
CLA 80h
INS 1Ah

P1 密钥用途

P2 密钥版本

Lc 待处理数据的长度

Data 待处理的数据

Le 无

表3-3  INIT_FOR_ DESCRYPT命令报文

3)命令报文数据域

命令报文数据域包括待处理的输入数据。数据长度为8的整数倍,长度也可以为0。密钥类型取密钥用途的低5位,密钥分散级数取密钥用途的高3位。

如待处理的输入数据包括多级的分散因子,按最后一次分散因子在前、最先一次分散因子在后的顺序输入。

4)响应报文数据域

响应报文数据域不存在。

5.通用DES计算(DES Crypt)

1)定义和范围

 命令利用指定的密钥来进行运算。若一条命令无法传输所有的待处理数据,可分几条命令输入。

    加密计算采用ECB模式,数据的填充在卡片外面进行,卡片只支持长度为8的整数倍数据的加密。

MAC计算遵循《中国金融集成电路(IC)卡规范》,数据的填充在卡片外面进行,卡片只支持长度为8的整数倍数据的MAC计算。

DES CRYPT命令必须在INIT_FOR_ DESCRYPT命令成功执行后才能进行。卡片状态在执行无后续块计算后,复原为通用DES计算初始化执行前的状态。

2)命令报文

 命令报文见表3-3。

代码
CLA 80h
INS Fah
P1 见表3-4

P2 00h
Lc 要加密的数据长度

Data 要加密的数据

Le 不存在

表3-3  DES CRYPT命令报文

b8b7b6b5b4b3b2b1含义
X计算模式

——0,加密

——1,MAC计算

X后续块

——0,无后续块

——1,有后续块

X初始值(仅对MAC计算有效)

——0,无初始值

——1,有初始值

表3-4  DES CRYPT命令引用控制参数

P1值计算模式如下:

——0,无后续块加密

——1,最后一块MAC计算

——2,有后续块加密

——3,下一块MAC计算

——5,唯一一块MAC计算

——7,第一块MAC计算

——其他,保留

3)命令报文数据域

 命令报文数据域包括要加密的数据。加密数据的长度为8的整数倍。在P1的b3位为1时,待处理数据的前8个字节为MAC计算的初始值。

4)响应报文数据域

在P1的b1位为0时,响应报文数据域包括加密结果,数据长度是8的整数倍。

在P1的b1位为1,且P1的b2位为0时,响应报文数据域包括4字节的MAC。

6.应用解锁(Application Unblock)

1)定义和范围

APPLICATION UNBLOCK命令用于恢复当前应用。当命令成功完成后,对应用访问的将被取消,利用消费密钥校验MAC2的错误计数器将被重置。

如果应用解锁连续失败三次,卡将永久锁定此应用。

在APPLICATION UNBLOCK命令执行前必须执行GET CHANLLENGE命令取得4字节的随机数。

2)命令报文

 命令报文见表3-5。

代码
CLA 84h
INS 18h
P1 00
P2 00
Lc 数据字节数

Data 报文鉴别代码数据元

Le 不存在

表3-5  APPLICATION UNBLOCK命令报文

3)命令报文数据域

命令报文数据域包括报文鉴别代码,由应用维护密钥对以下数据(按所列顺序)进行MAC计算而得到的:

——CLA

——INS

——P1

——P2

——Lc

MAC计算的方式参见《中国金融集成电路(IC)卡规范。》

4)响应报文数据域

响应报文数据域不存在。

7.MAC1计算(INIT_SAM_FOR_PURCHASE)

1)定义和范围

INIT_SAM_FOR_PURCHASE命令可支持多级消费密钥分散机制,产生《中国金融集成电路(IC)卡规范》中定义的MAC1。根据银行IC卡试点技术方案,可以利用试点城市标识、成员行标识、卡片应用序列号、随机数和交易信息得到过程密钥,进而加密得到MAC。PSAM卡产生脱机交易流程中MAC1的过程如下所示:

●PSAM在其内部用GMPK(全国消费主密钥)对试点城市标识分散,得到二级消费主密钥BMPK;

●PSAM在其内部用BMPK对成员行标识分散,得到成员行消费主密钥MPK;

●PSAM在其内部用MPK对卡片应用序列号分散,得到卡片消费子密钥DPK;

●PSAM在其内部用DPK对卡片传来的伪随机数、脱机交易序号、终端交易序号加密,得到过程密钥SESPK,作为临时密钥存放在卡中;

●PSAM在其内部用SESPK 对交易金额、交易类型标识、终端机编号、交易日期(终端)和交易时间(终端)加密得到MAC1,将MAC1传送出去。

在此过程中,所有的中间结果只保留在卡片内部,外界无法得到。只有进行本命令后,才允许进行MAC2校验的命令。

参与处理的终端机编号和终端交易序号由卡片操作系统从卡片中取得。

INIT_SAM_FOR_PURCHASE命令可支持多级消费密钥分散机制,消费密钥的分散过程由Lc和消费密钥共同确定,如果二者不一致,则返回错误信息。

2)命令报文

 命令报文见表3-6。

代码
CLA 80h
INS 70h
P1 00h
P2 00h
Lc 14h+8×N(N=1,2,3)

Data 要处理的数据

Le 08
表3-6  INIT_SAM_FOR_PURCHASE命令报文

3)命令报文数据域

命令报文数据域包括的数据以下列顺序排列:

●用户卡随机数,4字节

●用户卡交易序号,2字节

●交易金额,4字节

●交易类型标识,1字节

●交易日期(终端),4字节

●交易时间(终端),3字节

●消费密钥版本号,1字节

●消费密钥算法标识,1字节

●用户卡应用序列号,8字节

●成员银行标识,8字节

●试点城市标识,8字节

4)响应报文数据域

响应报文数据域包括以下数据(按顺序返回):

——4字节的终端脱机交易序号

——4字节的MAC1

8.

校验MAC2(CREDIT_SAM_FOR_PURCHASE)

1)定义和范围

CREDIT_SAM_FOR_PURCHASE命令利用INIT_SAM_FOR_PURCHASE命令产生的过程密钥SESPKP校验MAC2,过程如下所示:

●检查MAC2尝试计数器,如MAC2未被锁定,PSAM在其内部用SESPK对交易金额加密得到MAC2,与命令报文中的数据进行比较;

●若命令执行成功,PSAM卡将应用中的终端脱机消费交易序号加1;

●如命令执行不成功,PSAM卡将MAC2尝试计数器减1,并回送状态码’63Cx’,这里’x’是MAC2尝试计数器的新值;

●如果’x’为零,PSAM卡将锁定消费密钥所在的ADF。

在此过程中,所有的中间结果只保留在卡片内部,外界无法得到。

CREDIT _ SAM _ FOR_ PURCHASE命令必须在INIT _ SAM _ FOR _ PURCHASE命令成功执行后才能进行。

若MAC2尝试计数器为0的话,消费密钥所在的应用将被锁定,只能在应用维护密钥的控制下应用解锁后使用。

应用下的MAC2错误计数器在应用下所有消费密钥MAC2校验错误的情况下都要被减1。

卡片的状态在命令执行后将复原为MAC1校验前的状态。

2)命令报文

 命令报文见表3-7。

代码
CLA 80h
INS 72h
P1 00h
P2 00h
Lc 04h
Data MAC2
Le 不存在

表3-7  CREDIT_SAM_FOR_PURCHASE命令报文

3)命令报文数据域

 命令报文数据域包括4字节的MAC2。

4)响应报文数据域

 响应报文数据域不存在。

文档

PSAM卡必需支持的专用命令

1.写入密钥(WriteKey)1)定义和范围命令可向卡中装载密钥或更新卡中已存在的密钥。本命令可支持8字节或16字节的密钥,密钥写入必须采用加密的方式,在主控密钥的控制下进行。在密钥装载前必须用GETCHANLLEGE命令从PSAM卡取一个4字节的随机数。2)命令报文命令报文见表3-1。代码值CLA84hINSD4hP100hP200hLc14h或1ChData加密后的密钥信息、MACLe不存在表3-1WRITEKEY命令报文3)命令报文数据域命令报文数据域包括要装载的密钥密文信息和MAC。
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top