原创 智能卡设备-防插拔(anti-tear smart card)

2008-10-13 23:48 6085 4 5 分类: 消费电子

 




版 本


时 间


 


备 注


0.9.1


2008-04-21


1.         增加设置读卡器提供给卡片VCC


2.         增加查询当前断电时间单位(TIMEUNIT)


 


0.9.0


2008-03-04


1.         使用手册


初次编写


 


 


 


 


 


 


 


 


技术规范


l         主机接口


即插即用


l         连接线/供电
USB A
型连接线
通过USB总线供电


      [USB 模式 ]


USB全速 (12Mbps)


l         智能卡接口


专业硬件与固件架构


支持 ISO7816 Class ABC (5V3V1.8V)


支持所有 ISO7816 TA1参数(达344 kbds


可读写所有 ISO7816-1/2/3/4微处理器卡,T=0T=1(目前已被关掉)


l         短路检测


l         智能卡连接器


8触点连接 (frictions contacts) —— ISO位置


100,000插入循环


EMV Level 1机械兼容


 


l         人机接口


LED 双色(红色、绿色)


l         标准/认证


ISO/IEC 7816-1/2/3/4:接触式IC


EMV Level 1EMV2000


Microsoft Windows硬件质量实验室 (WHQL)


USB 2.0全速(USB模式)


CCID智能卡标准


l         API


带相关驱动程序的 Microsoft PC/SC环境


l         操作系统支持


Windows 2000/XP/Vista/Linux


l         电缆/电源


可选电压: 5V+/-10


[USB 模式 ]


电缆长度: 1.0


USB Type A连接器


USB端口电源


l         环境性能


操作温度: +5 ° C+55 ° C


保存温度: -25 ° C+60 ° C


l         尺寸


 



开发要求


1.         通讯


通讯方式为USB CCID报文协议,Full Speed


整个数据 数据头(0x0A) + 数据体(命令数据)(最大261字节)


 


命令数据:


       7816命令APDU和应答APDU


基本功能


PCSCCCID7816-1/2/3通讯协议,支持Windows 2000/XP/VistaLinux


 


私有功能


自动下电


SET TIME命令报文



编码



CLA


‘FF’


INS


‘01’


P1


‘00’;其它值保留


P2


‘00’其它值保留


Lc


‘02’


数据域


2字节TIMEUNIT


Le


不存在


 


命令报文的数据域


命令报文的数据域中包含了卡片POWERDOWN时间单位数据,2字节最大支持到0xFFFF个时间单位(TIMEUNIT)。


响应报文的数据域


响应报文中没有数据域。


响应报文返回的处理状态


不论应用是否有效,'9000'编码表示命令成功执行。


 


RESET TIME命令报文



编码



CLA


‘FF’


INS


‘10’


P1


‘00’;其它值保留


P2


‘00’;其它值保留


Lc


‘00’


数据域


不存在


Le


不存在


命令报文的数据域


命令报文中没有数据域。


响应报文的数据域


响应报文中没有数据域。


响应报文返回的处理状态


不论应用是否有效,'9000'编码表示命令成功执行。


GET TIME命令报文



编码



CLA


‘FF’


INS


‘00’


P1


‘00’;其它值保留


P2


‘00’;其它值保留


Le


‘02’‘00’


 


命令报文的数据域


命令报文的数据域中包含了卡片POWERDOWN时间单位数据长度,2字节时间单位(TIMEUNIT)。


响应报文的数据域


响应报文为当前读卡器已经设置成功的断电时间单位。


响应报文返回的处理状态


不论应用是否有效,'9000'编码表示命令成功执行。


调整电压


SET VCC命令报文



编码



CLA


‘FF’


INS


‘A8’


P1


‘00’;其它值保留


P2


‘00’;其它值保留


Lc


‘01’


数据域


1字节卡片VCC电压值,0x05-5V, 0x03-3V, 0x18-1.8V


Le


不存在


 


命令报文的数据域


命令报文的数据域中包含了卡片电压数据,只能为0x5,0x3,0x18三种类型电压值,目前仅支持ABC三类电压。


响应报文的数据域


响应报文中没有数据域。


响应报文返回的处理状态


不论应用是否有效,'9090'编码表示命令成功执行。


 


GET VCC命令报文



编码



CLA


‘FF’


INS


‘A8’


P1


‘01’;其它值保留


P2


‘00’;其它值保留


Le


‘01’


 


命令报文的数据域


命令报文的数据域中包含了卡片电压数据,只能为0x5,0x3,0x18三种类型电压值,目前仅支持ABC三类电压。


响应报文的数据域


响应报文中数据域中包含了读卡器当前使用的电压数据,只能为0x5,0x3,0x18三种类型电压值,目前仅支持ABC三类电压。


响应报文返回的处理状态


不论应用是否有效,'9000'编码表示命令成功执行。



使用案例


快速断电功能


目的:该读卡器支持快速下电。


方式:可以通过专有内部指令来设置和清除断电时间。


原理:能过给读卡器发送断电时间单位(TIMEUNIT)来初始化并启动读卡器进入断电模式,当下面的一条(并只对下一条有效)指令的数据发送完成后,立即启动正电操作,而在此时卡片内部正常工作,读卡器也正常接收卡片返回数据,当下电时间到达,读卡器立刻断掉卡片VCC,如果在下电时间到达前,卡片已经处理完指令,则读卡器返回卡片数据,如果卡片尚未处理完指令,读卡器断电后,给上层返回6FF0做为APDU的应答,来表示读卡器成功断电,卡片在处理完指令之前被断电。


例子:


卡片处理完指令之前断电,


àFF 01 00 00 02 XX XX


?90 90 (设置断电时间成功)


 


à00 A4 00 00 02 3F 00


?6F F0 (卡片被断电,读卡器返回6FF0给上层,同时读卡清除断电时间)


------------------------------------------------------


卡片处理完指令之前,断电时间没有到达,卡片正常返回数据


àFF 01 00 00 02 XX XX


?90 90 (设置断电时间成功)


 


à00 A4 00 00 02 3F 00


?6A 82 (卡片处理完成指令,返回数据给上层,读卡器断电时间被自动清除)


 



读卡器工具 i-Kit


该工具有是一个脚本引擎,能够运行脚本文件,脚本完成对读卡器操作,对卡片上电,下电,设置断电时间等,发送指令给卡片。



打开自己编写的脚本文件,运行。




 


例子脚本:


function Main()


{  


    for(var i = 1;i < 0x1000;i++)


    {


        IKIT.PrintMsg(""+i+"");


       


        IKIT.PowerOn(); //卡片上电


//-------------------------------------------------------


        var tmp = "0000" + i.toString(16);


        tmp = tmp.substr(tmp.length-4,4);


 


        var apdu = "FF01000002"+tmp;


        IKIT.runApdu("ANTI",apdu);


//-------------------------------------------------------


 


        var mm = IKIT.runApdu("Select","00A40000022F00");//卡片断电后,要重新上电


        if(mm != "6FF0")


        {


            break; //卡片正常返回数据,测试结束


        }


    }


}


 


function IKIT::OnEventSendApdu(name, data)


{


    IKIT.PrintMsg(name + ":" + data);


    var ret = IKIT.SendDataToCard(data);


    IKIT.PrintMsg("SW12:"+ret+"\n");


    return ret;


}


//------------------------- END OF SCRIPT ----------------------------


 


 


//LOG


1


ATR:3B6F00008066574B0240000673C02113829000


 


ANTI:FF010000020001


SW12:9090


 


Select:00A40000023F00


SW12:6FF0


 


2


ATR:3B6F00008066574B0240000673C02113829000


 


ANTI:FF010000020002


SW12:9090


 


Select:00A40000023F00


SW12:6FF0


……


 


260


ATR:3B6F00008066574B0240000673C02113829000


 


ANTI:FF010000020104


SW12:9090


 


Select:00A40000023F00


SW12:9000


 


测试结束


//end



设置电压功能


该功能是在不修改硬件的前提下,通过APDU应用指令来改变读卡器提供卡片的物理电压VCC。目前仅支持ISO7816ABC三类电压,不支持其他自定义电压。


l         注意事项:


由于设置VCC是通过应用指令来完成,并且,卡片必须上电成功后方能使用PCSC发送应用指令。因此,当把读卡器VCC改变成卡片不支持的某电压VCC值时,重新上电,卡片将无法正常工作。


l         解决办法:


当发生卡片不支持读卡器提供的电压时,请用其他支持该电压的卡片完成正常上电后,发送调整VCCAPDU,来重新设置读卡器的新VCC值。


l         例子说明:


A卡片仅仅支持AB类电压。不支持C电压。


B卡片扶持BC类电压,不支持A电压。


当读卡器提供B类电压(3V)时, A卡片可以正常工作,此时,发送APDU设置读卡片器设置电压成C类(1.8V),再次上电,读卡器将用1.8V对卡片A上电,而A卡片不支持C类(1.8V)电压,这样读卡器不能继续对卡片操作。发生这种情况后,可以用读卡器操作B卡片,因为B卡片支持C类(1.8V)电压,读卡器可以发送设置VCC的指令来设置新的VCC值(3V)。从而可以重新操作A卡片。


 


测试数据,仅供参考


备注:


断电时间单位:10us


断电时间长度:从APDU最后一个字节(校验位发完)发送完成开始计算。


 


VCC: 3V


时间单位    断电时间(us)


0x01       207


0x0b       310        


0x08       281


0x10       358


0x20       520


0x30       678


0x40       840


0x100      2.8ms


 


VCC: 1.8V


时间单位    断电时间(us)


0x08       277        


0x10       364        


0x20       520        


0x30       683        


0x40       840        


0x100      2.8ms      


0x200      5.3ms      



指令流程


ATR:3B6E00000031C07186650178012734839000


 


Set VCC-1.8v:FFA800000118


SW12:9090


 


Get VCC-1.8v:FFA8010001


SW12:189000


 


ATR:3B6E00000031C07186650178012734839000


 


Select:00A4040000


SW12:6700


 


Set VCC-3v:FFA800000103


SW12:9090


 


Get VCC-3v:FFA8010000


SW12:039000


 


Select:00A4040000


SW12:6700


 

文章评论1条评论)

登录后参与讨论

用户636154 2009-6-23 14:24

哥们,这个防插拔的智能卡工具你有么,多少钱一台 呢?

用户1395259 2008-7-21 13:26

有需要的朋友请及时联系。
相关推荐阅读
用户152131 2009-09-16 15:54
Virtual PCSC SmartCard Reader
Download PDF file Kefei Virtual Software PCSC Smartcard Reader<?xml:namespace prefix = o ns = "ur...
用户152131 2009-04-07 21:23
EMV & PBOC Tool Set
                                       PDF downloadSmartBox Toolset            Develop & Test To...
EE直播间
更多
我要评论
1
4
关闭 站长推荐上一条 /7 下一条