接触式逻辑加密卡技术ppt课件

上传人:痛*** 文档编号:227463962 上传时间:2023-08-13 格式:PPT 页数:67 大小:620KB
收藏 版权申诉 举报 下载
接触式逻辑加密卡技术ppt课件_第1页
第1页 / 共67页
接触式逻辑加密卡技术ppt课件_第2页
第2页 / 共67页
接触式逻辑加密卡技术ppt课件_第3页
第3页 / 共67页
资源描述:

《接触式逻辑加密卡技术ppt课件》由会员分享,可在线阅读,更多相关《接触式逻辑加密卡技术ppt课件(67页珍藏版)》请在装配图网上搜索。

1、SmartCardSmartCard接触式逻辑加密卡技术ppt课件 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望SmartCardSmartCard提 纲q 接触式逻辑加密卡存储结构与安全技术接触式逻辑加密卡存储结构与安全技术 典型卡型剖析:SLE4406卡 SLE4442卡 AT88SC1608卡q 接触式逻辑加密卡的读写控制接触式逻辑加密卡的读写控制 典型卡型剖析:SLE4442卡 时序分析与读、写、密码校验程序SmartCardSmartCard接触式逻辑

2、加密卡组成Security Memory CardSmartCardSmartCard逻辑加密卡特性q组成:非易失性存储器+硬件加密逻辑;q芯片:专门为IC卡设计的芯片(ASIC);q安全性:具有安全控制逻辑,安全性能较好;q多种安全措施:PIN、EC、FUSE、TC、多存储器(ROM、PROM、EEPROM并存)、多分区存储结构。q通信协议:支持ISO7816国际标准。q适用场合:有一定安全要求的场合,如IC卡电话、网吧卡、加油卡、保险卡、驾驶卡、借书卡、小额电子钱包等。SmartCardSmartCard典型逻辑加密卡典型逻辑加密卡SLE4406q一次性使用,带加密逻辑,按位操作q计数卡(

3、Token Memory Card),以一次性的计数方式,从写满的计数器中减“1”,直至存储单元全减为“0”为止 q104位容量,最大可提供20 480计数单位 q3字节传输密码,1位发行标志保护 q常用于具有定额定价的消费系统中,如公用电话卡、预付费加油卡、停车计费卡、游乐园消费卡等 SmartCardSmartCardSLE4406存储分布图和计数规则 q计数规则 发行后,用户区进入计数状态,为5位8进制计数器,但第5位计数器只有4位可用,因此最大计数值为20480。说明:计数区按位写0,按字节 借位擦除,如:11111111 00000000擦成:11111110 11111111 Sm

4、artCardSmartCardSLE4406操作方式q检查发行标志位是否为1,是则可以校验传输密码q先将密码计数器-1,然后比较密码,校验正确则密码计数器恢复,允许写入发行商代码,将控制位写为0(发行)。允许初始化计数器(擦除第2-5字节并重新写入),此操作将撕毁传输密码并不可恢复。q一旦控制位为0,表示已发行,将不能再更改发行商代码。第2-5字节成为5位计数器,只能写0及借位擦除。SmartCardSmartCardSLE4406保密特性 SmartCardSmartCard典型逻辑加密卡典型逻辑加密卡SLE4442q按字节操作,可反复应用按字节操作,可反复应用q多存储器结构多存储器结构

5、*位位 型主存储器。型主存储器。*1位位 型保护存储器。型保护存储器。*位位 型加密存储器型加密存储器 q 安全性:安全性:用户密码(用户密码(3字节)字节)+密码错误计密码错误计数(数(3次)次)+PROM保护保护 q线串行连接协议,满足线串行连接协议,满足 ISO7816同步传同步传送协议送协议 SmartCardSmartCardSLE4442存储结构SmartCardSmartCardSLE4442存储器分配(一)q主存储器主存储器(main memory):EEPROM型,型,256B 按字节操作,字节地址0255(00HFFH),所有单元可任意读取任意读取。q主存储器可分为两个数据

6、区:保护数据区保护数据区:00H-1FH,用户密码用户密码+熔丝熔丝保护(擦除、写 当校验用户密码正确且熔丝未熔断时允许进行擦除和写入操作,否则不允许 熔丝:保护存储器熔丝:保护存储器中第n位(n=031)对应主存储器中第n个字节,1未熔断,0熔断。应用数据区应用数据区:20H-FFH。用户密码用户密码保护(擦除、写)保护(擦除、写)SmartCardSmartCardSLE4442存储器分配(二)q保护存储器(保护存储器(protection memory):PROM型,型,32bits 按位操作,位地址031 每位相当于主存储器保护数据区对应字节单元的控制熔丝(FUSE),相应位为1时该字

7、节可擦写,为0时不可q保保护护存存储储器器可可任任意意读读出出,但需校验密码正确方能写入,一经写入(从1变为0)不可再擦除,可理解为FUSE一经熔断不可再恢复。SmartCardSmartCardSLE4442存储器分配(三)q加密存储器加密存储器(security memory):EEPROM型,型,4B4B按字节操作,字节地址按字节操作,字节地址0303字节字节0 0:(:(Erroe CounterErroe Counter),低),低3 3位有效,位有效,可任意读、写,可任意读、写,用户密码校验成功方可擦除。用户密码校验成功方可擦除。字节字节1 1,2 2,3 3:3 3字节字节 PS

8、C(可编程加密代码)可编程加密代码)PSC校验校验成功前不可读,只能进行比较操作;成功前不可读,只能进行比较操作;密码密码“比较比较”成功后才可以进行读出、写入和擦除。成功后才可以进行读出、写入和擦除。SmartCardSmartCard典型逻辑加密卡典型逻辑加密卡AT88SC1608q按字节操作,可反复应用按字节操作,可反复应用q存储容量:存储容量:16Kbitsq安全性:安全性:三重密码三重密码+熔丝熔丝+读写控制位读写控制位q单存储器、多存储分区结构单存储器、多存储分区结构 标志数据区:制造商、发行商代码。标志数据区:制造商、发行商代码。控制数据区:控制数据区:SCSC(2 2字节)、字

9、节)、ECEC、Erase keyErase key。应用数据区:应用数据区:4个、各自独立个、各自独立q线串行连接协议,满足线串行连接协议,满足 ISO7816同步传同步传送协议送协议 SmartCardSmartCardSC1一区密码SmartCardSmartCardAT88SC1608存储器分配(一)标志数据区标志数据区:验证卡片真伪的重要标识 q制造商代码区制造商代码区FZ(Fabrication Zone),),2B 记录卡芯片生产商的特定信息(例如:生产批号、日期、特别制定的特征代码)FUSE1熔断前,可读,可更改 FUSE1熔断后,只读,不可更改 q发行商代码区发行商代码区IZ

10、(Issuer Zone),8B 用于记录卡片发行商的特定信息(例如:发行批号、日期、地区范围编号、特定用户编号等特征代码)FUSE2熔断前,可读,可更改 FUSE2熔断后,只读,不可更改 SmartCardSmartCardAT88SC1608存储器分配(二)控制数据区:控制数据区:三重密码三重密码+密码错误计数密码错误计数q用户密码用户密码SC(Security Code),),2B 用户密码错误计数用户密码错误计数SCAC(Security Code Attempts Counter),),1B(8次)q应用区密码应用区密码 SC1 SC4,2B 应用区密码错误计数应用区密码错误计数SC

11、AC1 SCAC4,8次q应用区擦除密码应用区擦除密码EZ14(Erase key ),),2B 应用区擦除密码错误计数应用区擦除密码错误计数EnAC (Erase key Attempts Counter ,=1,2,3,4),),8次SmartCardSmartCardAT88SC1608存储器分配(三)应用数据区应用数据区:14,各自独立,特性相同,各自独立,特性相同q存储用户的相关数据记录存储用户的相关数据记录。q第1位为写保护位(P1);第2位为读保护位(R1),均为1有效(可读/写)熔丝熔断前熔丝熔断后读:当R1=“1”,任何情况下可读 当R1=“0”,总密码核对正确 前,不可读写

12、:总密码校验正确后,可写擦:总密码校验正确后,可擦 读:特性同熔丝前。写:当P1=“1”,总密码核对正确,应用区密码核对正确,则可写。当P1=“0”,任何情况下不可写。擦:总密码核对正确,应用区密码核对正确,擦除密码核对正确,则应用区可按字节擦除。SmartCardSmartCard实训3 接触式逻辑加密卡读写操作 准备:q确认电源正、负极,按标志正确连接接触式IC卡读写器的电源线及串口线,注注意电源意电源+5V+5V与地不可接反。与地不可接反。q打开接触式IC卡读写器读写操作软件DEMO,确认通信正常。q将实验白卡插入接触式IC卡读写器插卡槽,自动测卡进入卡操作界面。qSLE4442卡密码:

13、FFFFFFHFFFFFFH AT88SC1608卡密码:F0F0HF0F0H或或A5A5HA5A5HSmartCardSmartCardSLE4442读写操作 q读卡:记录卡密码、卡错误计数值,主存储器存储结构(各区域名称、地址范围、字节数)、存储内容和读出条件。q写卡:对主存储器各区域进行写入/擦除操作,记录操作结果,总结各区域写入/擦除条件。q密码操作:(1)修改密码:在未通过和已通过密码校验二种情况下分别修改密码,记录操作结果,总结修改密码的条件。(2)恶意猜测密码:在未通过密码校验的情况下输入错误密码,记录此时的读卡、写卡结果。注意:注意:注意:注意:修改密码后必须及时还原密码为修改

14、密码后必须及时还原密码为修改密码后必须及时还原密码为修改密码后必须及时还原密码为FFFFFFHFFFFFFH。猜测密码错误次数不得超过猜测密码错误次数不得超过猜测密码错误次数不得超过猜测密码错误次数不得超过2 2次!以免锁卡次!以免锁卡次!以免锁卡次!以免锁卡!SmartCardSmartCardAT88SC1608读写操作 q读卡:在未通过和已通过密码校验二种情况下记录存储器存储结构(各区域名称、地址范围、字节数)、存储内容和读出条件。q写卡:在未通过和已通过密码校验二种情况下对存储器各区域进行写入/擦除操作,记录操作结果,总结各区域写入/擦除条件。q熔丝操作:模拟熔断,对存储器各区域进行写

15、入/擦除操作,记录操作结果,总结熔断操作对各区域的保护作用。注意:注意:注意:注意:修改密码后必须及时还原密码。修改密码后必须及时还原密码。修改密码后必须及时还原密码。修改密码后必须及时还原密码。猜测密码错误次数不得超过猜测密码错误次数不得超过猜测密码错误次数不得超过猜测密码错误次数不得超过8 8次!以免锁卡!次!以免锁卡!次!以免锁卡!次!以免锁卡!只允许模拟熔断,不可熔断,否则将无法恢复。只允许模拟熔断,不可熔断,否则将无法恢复。只允许模拟熔断,不可熔断,否则将无法恢复。只允许模拟熔断,不可熔断,否则将无法恢复。SmartCardSmartCard任 务q设计IC卡网吧收费机q基本要求:1

16、、判断是否SLE4442卡2、读卡,根据读出的发行商标志判断是否本网吧的卡。读出卡中余额,判断是否允许上网。3、校验密码,密码正确为合法卡。4、写卡,扣款后允许上网,时间到则继续扣款,直至停止上网或余额不足。q进阶要求 实现网吧收费机与PC机的通信SmartCardSmartCard硬件设计SLE4442引脚分配C1:Vcc(Supply Voltage)C2:RST(Reset)C3:CLK(Serial Clock)C4:(NC)C5:GNDC6:I/O(Bidirectional serial data,open drain)C7:(NC)C8:(NC)SmartCardSmartCar

17、dSLE4442接口电路SmartCardSmartCard软件设计SLE4442操作时序q通信协议:2线连接协议,满足ISO7816同步传送协议q数据传输:CLK信号下降沿有效。q复位和复位响应(Reset and Answer-to-Reset):上电后启动芯片,符合7816q命令(Command):命令=开始+(控制字+地址字+数据字)+附加脉冲+停止 q操作模式(Mode):读数据:输出数据模式(OUTGOING DATA MODE):写入、擦除、校验:处理模式(PROCESSING MODE)SmartCardSmartCardSmartCardSmartCard复位和复位响应复位和

18、复位响应复位和复位响应复位和复位响应(Reset and Answer-to-Reset)(Reset and Answer-to-Reset):SLE4442上电后,读写器首先应给出复位(Reset)命令并等待接收来自卡的复位响应ATR(Answer-To-Reset)。SmartCardSmartCard复位和复位响应(Reset and Answer-to-Reset)q复位响应:符合 ISO78163标准的ATR当RST为高时,送第一个时钟脉冲(脉冲0)使地址计数器清0(复位)。当RST线从高状态(H状态)置到低状态(L状态)时,第一个数据位(主存储器字节0的LSB)的内容被送到I/O

19、上。若连续输人32个时钟脉冲(脉冲132),主存储器中的前4个字节(4*8位=32位)地址单元中的内容被读出(复位响应)。在第 33个时钟脉冲(脉冲32)的下降沿,IO线被置成高阻状态(状态Z)而关闭(复位和复位响应过程结束)SmartCardSmartCard;*;*复位子程序复位子程序*RESET:RESET:CLR RST CLR RST CLR CLK CLR CLK CLR IO CLR IO LCALL DELAY_12 LCALL DELAY_12 LCALL DELAY_12 LCALL DELAY_12 SETB RST SETB RST LCALL DELAY_12 LCA

20、LL DELAY_12 SETB CLK SETB CLK LCALL DELAY_12 LCALL DELAY_12 CLR CLK CLR CLK LCALL DELAY_12 LCALL DELAY_12 CLR RST CLR RST LCALL DELAY_12 LCALL DELAY_12 MOV B,#20H MOV B,#20HRESET0:SETB CLKRESET0:SETB CLK LCALL DELAY_12 LCALL DELAY_12 CLR CLK CLR CLK LCALL DELAY_12 LCALL DELAY_12 DJNZ B,RESET0 DJNZ B

21、,RESET0 SETB IO SETB IO RET RET如何读出复位如何读出复位应答呢应答呢SmartCardSmartCard;4442 串行输出一个字节子程序,即MCU读入一个字节SHIN:CLR CLK PUSH B MOV B,#08HX43:LCALL DELAY SETB CLK MOV C,IO RRC A LCALL DELAY CLR CLK DJNZ B,X43 POP B RET将将RESETRESET程序中的程序中的3232个脉冲换为个脉冲换为调用调用SHINSHIN子程序子程序4 4次,次,读入读入4 4个字节的个字节的ATRATRSmartCardSmartC

22、ard命令(Command)q复位响应以后,芯片等待着命令。q命令=开始+(控制字+地址字+数据字)+附加脉冲+停止。q开始:在CLK为高状态(H)期间,I/O的下降沿为开始状态。q停止:在CLK为高状态(H)期间,I/O的上升沿为停止状态。SmartCardSmartCardSLE4442操作命令SmartCardSmartCard;*命令子程序*;该子程序送出三字节的SLE4442命令;入口参数:COM为控制字,ADDR为地址字,DAT为数据字COMMAND:SETB CLK LCALL DELAY_12 CLR IO ;开始 LCALL DELAY CLR CLK LCALL DELAY

23、 MOV A,COM;送命令字 LCALL SHOUT MOV A,ADDR;送地址字 LCALL SHOUT MOV A,DAT;送数据 LCALL SHOUT LCALL DELAY CLR IO LCALL DELAY SETB CLK;附加脉冲 LCALL DELAY SETB IO;停止 RET怎样向卡中写入怎样向卡中写入一个字节?一个字节?SmartCardSmartCard;sle4442 串行输入一个字节函数,即MCU向卡写入一字节SHOUT:PUSH B MOV B,#08HX42:RRC A MOV IO,C NOP SETB CLK LCALL DELAY CLR CLK

24、 LCALL DELAY DJNZ B,X42 POP B RETSmartCardSmartCard操作模式(Mode)q接收了一个命令之后,卡芯片处于 两种可能的模式:(1)读数据:输出数据输出数据模式;(2)写入、擦除、校验密码:处理处理模式。SmartCardSmartCard输出数据(OUTGOING)模式q将IC卡芯片中的数据传送给读写器q在第一个CLK脉冲的下降沿之后,I/O线上的第一位数据变为有效。随后每增加一个时序脉冲,芯片内部的一位数据被送到I/O线上,低位(LSB)在前。当所需要的最后一个数据送出之后,需要再附加一个时钟脉冲来把I/O线置成高阻状态(状态Z)。SmartC

25、ardSmartCard处理数据(PROCESSING)模式q对IC卡芯片作内部处理(写/擦除/校验密码)q芯片在第一个时钟脉冲的下降沿,将IO线从高状态(H状态)拉到低状态(L状态)并开始处理。此后芯片在内部连续计时计数,直到第n个时钟脉冲之后的附加一个时钟脉冲的下降沿IO线被再次置高,完成芯片的处理过程。在整个处理过程中IO线被锁定成低状态。SmartCardSmartCard;sle4442处理模式子程序 PROCESS:MOV R7,#254D CLR CLK CLR IO LCALL DELAYPRO1:SETB CLK LCALL DELAY CLR CLK LCALL DELAY

26、 DJNZ R7,PRO1 SETB IO LCALL DELAY SETB CLK LCALL DELAY CLR CLK RETSmartCardSmartCard读主存储器读主存储器Read Main Memory q命令格式:30H +字节地址+*q模式:OUTGOINGq功能:读出从给定的字节地址(N)开始,直到整个存储器末尾的主存储器内容。q说明:在该命令输入以后,接口设备IFD必须提供足够的时钟脉冲,起始地址为N时所需要的时钟脉冲数为 M=(256-N)*81 (N=0255)例如:地址为7EH(N=254),M=17SmartCardSmartCardSmartCardSmar

27、tCardSmartCardSmartCard;*读主存储器子程序*READ:MOV COM,#30H;设置读主存储器控制字 MOV ADDR,#R_ADDR;取读主存储器首地址 MOV DAT,#00H;设置读主存储器数据字(任意)MOV R4,NUM;数据个数 LCALL COMMAND;送命令给卡READ0:LCALL SHIN;读数据(输出数据模式)MOV R0,A;送数据入数据缓冲区 INC R0 DJNZ R4,READ0;未读完继续 SmartCardSmartCard SETB CLK;发送一个附加脉冲 LCALL DELAY CLR CLK LCALL DELAY SETB

28、IO;置位数据线 LCALL DELAY RETSmartCardSmartCard读保护存储器读保护存储器 Read Protection Memoryq命令格式:34H +*+*q模式:OUTGOINGq功能:读出保护存储器各位(共32位)的内容。q说明:在该命令输入以后,接口设备IFD必须提供32个时钟脉冲,最后通过一个附加时钟脉冲将I/O线置为高状态(H状态),即M=33SmartCardSmartCardSmartCardSmartCard读加密存储器读加密存储器 Read Security Memoryq命令格式:3lH+*+*q模式:OUTGOINGq功能:类似于读保护存储器,可

29、以读出4个字节的加密存储器的内容。M=33q说明:密码比较失败时只能读出错误计数器(字节0)的内容,字节1、2、3的内容将为000000(即不能读出密码)SmartCardSmartCardSmartCardSmartCard修改主存储器修改主存储器 Updata Main Memoryq命令格式:38H +字节地址+数据q模式:PROCESSINGq功能:用所给出的数据修改主存储器指定字节地址(N)的内容q说明:通常,要改变一个数据需要先进行擦除,再进行写入两项操作。如果在被寻址的字节里位中没有一个字位需要从变到,则可以不进行擦除处理。反之亦然,在被寻址的字节中,如果没有一个字位需要从变到,

30、则可以不作写入处理,写人或擦除操作一次至少要耗费.时间。因此,在处理模式期间,可能发生下列几种情况之一:擦除和写入(5ms):相应于M256个时钟脉冲只写入不擦除(2.5ms):相应于 M=124个时钟脉冲只擦除不写入(2.5ms):相应于M124个时钟脉冲。SmartCardSmartCardSmartCardSmartCardSmartCardSmartCard;*修改主存储器子程序*WRITE:MOV R4,NUM;取要写的字节数 MOV COM,#38H;设置修改主存储器控制字WRITE0:MOV ADDR,#W_ADDR;取修改主存储器首地址 MOV A,R0 MOV DAT,A;取

31、修改主存储器数据字 LCALL COMMAND;送修改主存储器命令给卡 LCALL PROCESS;处理模式 INC W_ADDR;地址字指向主存储器下一个单元 INC R0;指向下一个数据 DJNZ R4,WRITE0;未写完继续 RETSmartCardSmartCard修改加密存储器修改加密存储器 Updata Security Memoryq命令格式:39H +字节地址+数据q模式:PROCESSINGq功能:用所给出的数据修改加密存储器指定字节地址的内容(即修改错误计数器或修改密码)q说明:该命令只能在PSC比较成功之后才能进行。该命令的执行时间和所需要的时钟脉冲与修改主存储器的情况

32、相同 SmartCardSmartCard写保护存储器写保护存储器 Write Protection Memoryq命令格式:3CH +字节地址(00H1FH)+输入的数据q模式:PROCESSINGq功能:这一命令的执行过程包含一个把被输入的数据与在EEPROM中对应数据进行比较的过程。在确认一致的情况下,保护字位被写0,从而使得主存储器中的信息不可更改。如果数据比较结果不一致,则保护字位的写操作将被禁止执行。q说明:该命令所要求的时钟脉冲和执行时间与修改主存储器命令的情况相同。SmartCardSmartCard比较校验数据比较校验数据Compare Varification Data q

33、命令格式:33H +字节地址+数据q模式:PROCESSINGq功能:把输入的“用户密码”的各个字节与相对应的PSC(存放在加密存储器中)进行比较 q说明:字节地址为01H03H,数据为用户密码SmartCardSmartCardSmartCardSmartCard读读ECEC写写ECEC的一位为的一位为0 0EC=000EC=000?校验三字节的密码校验三字节的密码擦除擦除ECEC读读ECECEC=111EC=111?读SM*修改SM地址0数据校验VD地址1、2、3密码1、2、3修改SM地址007H读SM*Y YY YN NN N校验通过校验通过校验不成功校验不成功ECEC中中1 1的个数的

34、个数=允许重试的次数允许重试的次数卡被锁死卡被锁死SmartCardSmartCardPSC校验流程qPSC校验的过程并不是仅由比较校验数据命令来完成的,而是由多个命令构成的一个流程来共同完成,流程一:用一个修改加密存储器命令将密码错误计数器中的一位写0。流程二:连续用三条比较校验数据命令比较输入的用户密码与加密存储器中存储的密码。比较从字节1开始。流程三:校验密码成功与否是用能否擦除密码错误计数器来证实的。如果校验成功,则擦除操作执行有效;如果校验不成功,擦除操作执行无效,密码错误计数器将不会恢复为“111”。但只要EC不全为0,就允许读写器对芯片进行重试。SmartCardSmartCar

35、d;*PSC校验子程序*COMP:MOV COM,#31H;设置读加密存储器命令控制字 MOV ADDR,#00H;设置读加密存储器命令地址字(00H为错误计数器)MOV DAT,#00H;设置读加密存储器命令数据字(任意)LCALL COMMAND;送读加密存储器命令 LCALL SHIN;读错误计数器 MOV 23H,A;错误计数器值暂存(23H)单元 LCALL SHIN;继续读入加密存储器后3个字节 MOV 24H,A LCALL SHIN MOV 25H,A LCALL SHIN MOV 26H,A MOV A,23H SETB IO;附加一个脉冲,置数据线为高 LCALL DELA

36、Y SETB CLK LCALL DELAY CLR CLK SmartCardSmartCard JB ACC.0,NEXT0;判断错误计数器中是否还有“1”;JB ACC.1,NEXT1;如有“1”则减去一个“1”,;JB ACC.0,NEXT2 LJMP EXIT1;错误计数器为全“0”退出NEXT0:MOV DAT,#06HAJMP COMP0NEXT1:MOV DAT,#04HAJMP COMP0NEXT2:MOV DAT,#00HCOMP0:MOV COM,#39H;设置修改加密存储器命令控制字 MOV ADDR,#00H;设置修改加密存储器命令地址字(错误计数器)LCALL CO

37、MMAND;送修改加密存储器命令(错误计数器减一个1)LCALL PROCESS;处理模式SmartCardSmartCard MOV COM,#33H;设置PSC校验命令控制字 MOV ADDR,#01H;设置PSC校验命令地址字 MOV DAT,#PSC1;取PSC第一个字节 LCALL COMMAND;送PSC校验命令给卡 LCALL PROCESS;处理模式 MOV COM,#33H;设置PSC校验命令控制字 MOV ADDR,#02H;设置PSC校验命令地址字 MOV DAT,#PSC2;取PSC第二个字节 LCALL COMMAND;送PSC校验命令给卡 LCALL PROCESS

38、;处理模式 MOV COM,#33H;设置PSC校验命令控制字 MOV ADDR,#03H;设置PSC校验命令地址字 MOV DAT,#PSC3;取PSC第三个字节 LCALL COMMAND;送PSC校验命令给卡 LCALL PROCESS;处理模式SmartCardSmartCard MOV COM,#39H;设置修改加密存储器命令控制字 MOV ADDR,#00H;设置修改加密存储器命令地址字(错误计数器)MOV DAT,#07H;取修改加密存储器命令数据字(擦除错误计数器)LCALL COMMAND;送修改加密存储器(擦除错误计数器)命令给卡 LCALL PROCESS;处理模式 MO

39、V COM,#31H;设置读加密存储器命令控制字 MOV ADDR,#00H;设置读加密存储器命令地址字(错误计数器)MOV DAT,#00H;设置读加密存储器命令数据字(任意)LCALL COMMAND;送读加密存储器命令给卡 LCALL SHIN;读加密存储器的错误计数器 MOV 23H,A SmartCardSmartCard LCALL SHIN;读加密存储器的后三个字节 MOV 24H,A LCALL SHIN MOV 25H,A LCALL SHIN MOV 26H,A MOV A,23H;EC值送A SETB IO;附加一个脉冲,置数据线为高 LCALL DELAY SETB C

40、LK LCALL DELAY CLR CLKEXIT1:RETSmartCardSmartCardIO BIT P1.0CLK BIT P1.1RST BIT P1.2ICSW BIT P1.6 PWR BIT P1.7PSC1 EQU 0FFHPSC2 EQU 0FFHPSC3 EQU 0FFHCOM EQU 20HADDR EQU 21HDAT EQU 22H NUM EQU 2FH;*主程序*ORG 0030HMAIN:CLR EA;关中断 MOV SP,#60H;设置堆栈主程序SmartCardSmartCard LCALL PWRON;上电控制 LCALL RESET;复位 MOV

41、R0,#30H;设置读数据缓冲区1首地址 LCALL READ;读主存储器 NOP;断点 LCALL COMP;PSC校验 XRL A,#07h;断点,检查PSC校验是否正确 JNZ EXIT;PSC校验失败退出 MOV R0,#50H;设置写数据缓冲区首地址 LCALL WRITE;修改主存储器 MOV R0,#40H;设置读数据缓冲区2首地址 LCALL READ;读主存储器EXIT:NOP;断点 LCALL PWROFF;下电控制 SJMP$SmartCardSmartCard实训实训4 接触式逻辑加密卡读写控制接触式逻辑加密卡读写控制第一阶段:读卡第一阶段:读卡1、通过复位应答方式读入

42、SLE4442卡主存储器前4个字节的内容。2、通过读主存储器方式读入SLE4442卡主存储器前4个字节的内容。3、读主存储器任意起始地址、任意长度的数据块内容。课前准备:1、在原有AT24C01卡接口电路上增加RST连线及其上拉电阻。2、完成程序的编写、编译。SmartCardSmartCard第二阶段:校验密码、写卡第二阶段:校验密码、写卡1、校验密码,校验成功则设标志寄存器B为00H,否则设为FFH并退出。2、判断校验密码是否成功,成功则在主存储器任意起始地址、任意长度的数据块中写入数据。否则退出。注意:注意:校验密码错误退出程序后,请用通用读写器重新输入正确密码,以恢复EC的次数,切勿反复出错退出导致卡锁死!SmartCardSmartCard实训报告要求q画出逻辑加密卡接口电路原理图。q画出读主存储器、修改主存储器和校验密码的程序流程图。q记录上述程序的调试步骤及调试结果。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!