您的位置 首页 五金批发

psam卡

psam卡 ?   引言 本文引用地址:http://www.eepw.com.cn/article?/261…

psam卡

?

  引言

本文引用地址:http://www.eepw.com.cn/article?/261728℃.htm

  刷卡消费随着人们生活水平的提高已经成为?常用﹢的支付方式之一。为了保证刷卡消费的安全性,将PSAM卡内嵌于各种终端刷卡设备中。PSAM(PurchaseSecureAccessModul?e,销?售?点终端安全存取模块),由IC卡发行主⊿管部门或者应用主管机构发行,是可∴以用于对IC卡进¢行脱机消费交易认证的安全认证卡,主要应用于商用POS、网点终端、直连终端等设备上,支持多级发卡机制,适用于多应用的⊕环境,符合识别卡、带触点的集成电路卡标准、ISO/IEC7816—1/2/3/4以及《中国人民银?行PSAM卡?规范》。

  1.PSAM卡简介

  PSAM卡是接触式CPU卡的一种。CP?U卡也称智能卡,卡内集成≌电路带有微﹣处理CPU,存储?单元(包括随机存储⊥器RAM、电可擦除存储器E?EPROM、程序存储∧器RO?M㎡)及芯片操作系统(ChipOper㏑ati?ngSystemml,COS)。装有COS的?CPU卡不仅具有数据存储功能,同时具有?命令处理和数据安全∫保护等功能。CPU卡芯片相当于芯片内装置了一个微处理∪器,其功能大致与一台微型计算机相同。在生活中,人们常使用的∷集成电路卡(IC卡?)上的金属m片就是CPU芯片。由于CPU卡具有存储空间大、处理能力强、信息存?储安全、支持一卡多用以及读取速度快等优点,已经被广泛用于金融、交警、保?险和政府行业等领域,并通过国家密码委和中国人民银行的认证∠。

  就?外型而言°,CPU卡与普通IC卡、?射频卡相比无明显差别,但是使用性能、安全性-却有巨大提升,这主要源于CPU卡内含有随机数发生器、3DES加码算法、硬件DES和3DES加密算法等,配合操作系统就可以达到金融级别的安全等级。减值密钥一般存储在PSAM卡中,通过PSAM卡对IC卡进行减值?操作,实现安全扣款。在非接触逻辑加密卡的系统中,PSAM卡主要使用卡片认证密钥和各扇区的KEYA、KEYB¥密钥来产生非接触逻辑加密卡操作所需要的各扇区的KEYA和KEYB认证码,交易信息不直接参与运算?。而在非接触CPU卡系统中,PSAM卡通常用来计算和校验消费交易过程中出现的MAC码,同≡时在计算的过程中,交易时间、交易金额、交易类型等交易信息也都参与运算,使得交易更安全?可?靠。某?些情况下,非接触CPU卡系统中的P?S?AM卡还可以用来支持安全报文更新数据时=MAC的计算㎎,以及交易TAC的验证。

  卡片内部逻辑结构如图?1所示。

  

  其中CPU及加密逻辑保证EEPROM中数据的№安全∥,使外界不能?使用非法手段获得EEPROM≠中的数据。RAM?是在COS工作时存放命令参数、返∈回结果、安全状态以及临时工作密钥的区域。ROM用于存?放CO?S程序。EEPROM中存放×用户应用数据区♀域?,COS将用户⌒数据以文件的形式保存在EEPROM中,当安全条件?$满足规定时,可以读/写文件。

  2.硬件设计

  2.1P∟SAM卡电路设﹣计

  2.1.1PSAM卡电源切换模块

  ISO7816协议里?规定2种使用较多的,PSAM卡的类别(A类、B类),A类需要提供5V电?压,B类需要提?供3V电≯压,为了保证对于﹥两种类别卡的兼容﹢性,÷要求设计的读写器,≤可以提供选择5V或者3V的电压。于是本论文设计了如图2所示的电源切换模mol块。其工作原理是:PSAMPOW为高时,P沟道的MOS管导通,提供5V电=压给PSAM_VDD,PSA﹤M_POW为?低时,?P沟道的MOS∣管不导通″,提供≒3.3V电压,再经过二极管的压降,提供3∝V电压??。

㎞  

 ? 2.1.2PSAM卡复位信号

  同样考虑到PSAM卡≈的?两种类别,尤其是%当PSAM卡为A类μ的时候,主要考虑MCU的I/O口电压是3.3V,而PSAM卡需要的是5V,防止复≮位电平不够,将PSAM_?RST1信号通过三极管与SAM_RST?1相连,?以增?强驱动能力。其中PSAM_RST1与MCU相连,SAM_?RST1与PSAM卡相连?。具体电路如图3所示。

  

  2.1.3PSAM卡数据口电平转换电路

  为了保证MCU接收到的信号是3.3V,设计了PSAM卡数据口电平转换电路,具体电路如图4所示,当PS℅AM卡是A类的时候,需要将※5V电压转换为㈱3∽.3V,这时在图4≥电路中,§?只需要焊接上两个?三极管(Q1、Q2),不@需要焊接电阻R,当PSAM卡是?B类的时候,只需要焊接上电阻R,不需要焊接两个三?极管(Q1、Q2)。

  ?2.1.4PSAM卡卡槽电路接口

  PSAM卡卡槽电路接口如图¬5所示。由于是低?电平复位?,在RST端口需要接上PSAMVDD信号,在正常工作的时候将电平∩拉*高。数据脚(DATA)正常情况下也需要上拉,这是为了防?止电平幅度不够,尤其在5V的时候,通过电平≦切换的2信?号是3.3V,必须上拉到5V才行。

  2.2主控模块设计

?

  图6为主控模块以及相关的外围电℉路的原理图。主控模块选用的是STM32F103C8T6芯片。OSC32_IN、OSC32_OUT两个引脚外接32.768kHz的低3速外部晶?振,可以用其驱动实时?时钟RTC。OSC_IN、OSC_OUT两个引脚外接8MHz晶振?,通过设置STM32的相关寄存器经过‖PLL倍频之后产生72MHz的℡STM32系统时钟(SYSCLK)。C1、C2作为晶体的匹㎏配电容。为了使晶振更加容易启振,在晶振旁边并联1MΩ电阻(R)。主控模块低电平复位,电阻上接高电平,电容在下接地,中间位RST。具体工作原理是在上?电时给电?容充电,电容给RST一个短暂的低¤电平,此低电平随着VCC给电容充电的过程中㏒变高。

?

  

  3.软件设计

?

  对于PSAM卡的软件驱动设计要符合ISO〒7816—4协议。应用协议数据单元(APDU)可包含有命令报文或响应报文,它从接?口设备发送到卡,或者相反地由卡发送到接口设备㏕。

  APDU指令的格式如表1所列。

  

  APDU指令的命令头内容如表2所列。

  APDU指令响?应结构如?表3所列。

 ? APDU指令响应内容如表4所列。

  

  (1)?主要的数据结构

?

  Typedefs?truct{

  u8Cla;//命令的类型

?

  u8Cmd;//命令的编码

  ?u8P1∶;//具体命令参数1

  u8P2;//具体命∑令参数2

  u8P3;//在发送模式的为Lc;㎜//在接收模式时为Le

  u8*Data_Ptr;//+命令和相应的数据字段

  u8?RspCode[2];//APDU响应的内容

  }APDU;

  (2)主要功能函数

  ①函数名:PSAM_APDU_√Out

  功能描述:读取智能卡的数据。

?

  参数:*Data_out,返回从智能卡中读出的数据;PS?AMCon±f?ig*,智能卡的配置。

  返回值:读取数据成功标志(0为失败,1为成/功)。

  ②函数名:PSAM_APDUI?n

 ? 功能描述?:向智能卡写数据。

  参数:*Data_in,向卡%上写入的数据;PSAMConfig,智能卡的配置。

  返回值:写入数据成功标志(0为失败,1为成功)。

 ? ③函数名:PSAM¥·_Send1B?yte

?

  功能描述:向智能卡发送1字节数据,并判断接收方是否成功接收。如?果没有成功,则向收方发送两次该数据。

  参数:S∵endByte,待◎发送的字节数据。

  返回值:SendStatus,数据发送是否成功标志(成功为0?x0∞1,失败为0x00,超时为0xFF£)。

  ④函数名:PSAM_Send1Block

  功能描述:向智能卡发送n个字节数据。?

  参数:*SendPtr,待发送的字节数据指针;DataLen,传送的字节数;?ByteDir,字节方向。

  返回值:SendStatus,数据发送是否成功标?志(成功为0x01,㏄失败:0x00)。

  ⑤函数名:PS?AM_Receive1Byte

  功能描述:接收智能卡的1字节数据,当检测到奇偶出?错时,可请求2?次智能卡从发当前字节数据。

  参数?:无。

  返回值:DataBuf,其中?高字节是数据接收是否成功标志(成功为0x01,失败为Parit≧yeorror(0x55),>timeout?o<verflo?w(0xf?f))低字节是收到?的?有效字节数据。

  ⑥函数名m:PSAM_Reset

  功能描述:对智能卡进行复位操作,并等待智能卡的∏应答,如果应答成功则返回复位成功标志,否则返回复位失败标志。

  参数:*uiATR,保存复位应答信息的指针。

  返回值:复位成功标志(0x01为复位成功,0‰∮x00为复位失败)。

  4.模块测试

  通过串口调试助手对系统进£行测试,分析发送和返回?的数据,判断该模块工作是1否正常。图7为发送对PSAM′卡的复位操作的命令。图8为发送对P?SAM卡进行透明?数据?流传输的命令。

  

  结语

  本文设计的PSAM卡驱动模块,根据上述软件和∷硬件的设㎝计思路进行的设计得到了实际的验证,×取得了令人满意的效果。无论是软件的代码还是硬件的电源转换模块都具有很?好的可移植性,方便在?不同的系统中应用,并且提?供了对外的接口函数,方便上层系统应用⊙工程师的调用。该模块♂可以应用到固网支付、POS终端等设备上。

  

?

psam卡

3

关于更多psam卡内容,可以收藏本网页。周琦选秀 STM32单片机的PSAM卡驱动模块设计

psam卡psam卡
本文来自网络,不代表天津五金网立场,转载请注明出处:http://www.mgnqyz.com/mgnqyz/1318.html

作者: mgnqyz

联系我们

联系我们

0898-88881688

在线咨询: QQ交谈

邮箱: email@wangzhan.com

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部