接触式逻辑加密卡技术教程文件

上传人:yuzo****123 文档编号:140323753 上传时间:2020-07-28 格式:PPT 页数:67 大小:695KB
返回 下载 相关 举报
接触式逻辑加密卡技术教程文件_第1页
第1页 / 共67页
接触式逻辑加密卡技术教程文件_第2页
第2页 / 共67页
接触式逻辑加密卡技术教程文件_第3页
第3页 / 共67页
接触式逻辑加密卡技术教程文件_第4页
第4页 / 共67页
接触式逻辑加密卡技术教程文件_第5页
第5页 / 共67页
点击查看更多>>
资源描述

《接触式逻辑加密卡技术教程文件》由会员分享,可在线阅读,更多相关《接触式逻辑加密卡技术教程文件(67页珍藏版)》请在金锄头文库上搜索。

1、接触式逻辑加密卡技术,电子与信息工程学院,提 纲,接触式逻辑加密卡存储结构与安全技术 典型卡型剖析:SLE4406卡 SLE4442卡 AT88SC1608卡 接触式逻辑加密卡的读写控制 典型卡型剖析:SLE4442卡 时序分析与读、写、密码校验程序,接触式逻辑加密卡组成,Security Memory Card,逻辑加密卡特性,组成:非易失性存储器+硬件加密逻辑; 芯片:专门为IC卡设计的芯片(ASIC); 安全性:具有安全控制逻辑,安全性能较好; 多种安全措施:PIN、EC、FUSE、TC、多存储器(ROM、PROM、EEPROM并存)、多分区存储结构。 通信协议:支持ISO7816国际标

2、准。 适用场合:有一定安全要求的场合,如IC卡电话、网吧卡、加油卡、保险卡、驾驶卡、借书卡、小额电子钱包等。,SLE4406存储分布图和计数规则,计数规则 发行后,用户区进入计数状态,为5位8进制计数器,但第5位计数器只有4位可用,因此最大计数值为20480。 说明: 计数区按位写0,按字节 借位擦除,如: 11111111 00000000 擦成: 11111110 11111111,SLE4406操作方式,检查发行标志位是否为1,是则可以校验传输密码 先将密码计数器-1,然后比较密码,校验正确则密码计数器恢复,允许写入发行商代码,将控制位写为0(发行)。允许初始化计数器(擦除第2-5字节并

3、重新写入),此操作将撕毁传输密码并不可恢复。 一旦控制位为0,表示已发行,将不能再更改发行商代码。第2-5字节成为5位计数器,只能写0及借位擦除。,SLE4406保密特性,典型逻辑加密卡SLE4442,按字节操作,可反复应用 多存储器结构 *位 型主存储器。 *1位 型保护存储器。 * 位 型加密存储器 安全性:用户密码(3字节)+密码错误计数(3次)+PROM保护 线串行连接协议,满足 ISO7816同步传送协议,SLE4442存储结构,SLE4442存储器分配(一),主存储器(main memory):EEPROM型,256B 按字节操作,字节地址0255(00HFFH), 所有单元可任意

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

5、为0)不可再擦除,可理解为FUSE一经熔断不可再恢复。,SLE4442存储器分配(三),加密存储器(security memory): EEPROM型,4B 按字节操作,字节地址03 字节0:(Erroe Counter),低3位有效, 可任意读、写, 用户密码校验成功方可擦除。 字节1,2,3:3字节 PSC(可编程加密代码) PSC校验成功前不可读,只能进行比较操作; 密码“比较”成功后才可以进行读出、写入和擦除。,典型逻辑加密卡AT88SC1608,按字节操作,可反复应用 存储容量:16Kbits 安全性:三重密码+熔丝+读写控制位 单存储器、多存储分区结构 标志数据区:制造商、发行商代

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

7、读,可更改 FUSE2熔断后,只读,不可更改,AT88SC1608存储器分配(二),控制数据区:三重密码+密码错误计数 用户密码SC(Security Code),2B 用户密码错误计数SCAC(Security Code Attempts Counter ),1B (8次) 应用区密码 SC1 SC4,2B 应用区密码错误计数SCAC1 SCAC4,8次 应用区擦除密码EZ14(Erase key ),2B 应用区擦除密码错误计数EnAC (Erase key Attempts Counter ,=1,2,3,4), 8次,AT88SC1608存储器分配(三),应用数据区:14,各自独立,特

8、性相同 存储用户的相关数据记录 。 第1位为写保护位(P1) ;第2位为读保护位(R1),均为1有效(可读/写),实训3 接触式逻辑加密卡读写操作,准备: 确认电源正、负极,按标志正确连接接触式IC卡读写器的电源线及串口线,注意电源+5V与地不可接反。 打开接触式IC卡读写器读写操作软件DEMO,确认通信正常。 将实验白卡插入接触式IC卡读写器插卡槽,自动测卡进入卡操作界面。 SLE4442卡密码:FFFFFFH AT88SC1608卡密码:F0F0H或A5A5H,SLE4442读写操作,读卡:记录卡密码、卡错误计数值,主存储器存储结构(各区域名称、地址范围、字节数)、存储内容和读出条件。 写

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

10、作结果,总结各区域写入/擦除条件。 熔丝操作:模拟熔断,对存储器各区域进行写入/擦除操作,记录操作结果,总结熔断操作对各区域的保护作用。 注意: 修改密码后必须及时还原密码。 猜测密码错误次数不得超过8次!以免锁卡! 只允许模拟熔断,不可熔断,否则将无法恢复。,任 务,设计IC卡网吧收费机 基本要求: 1、判断是否SLE4442卡 2、读卡,根据读出的发行商标志判断是否本网吧的卡。读出卡中余额,判断是否允许上网。 3、校验密码,密码正确为合法卡。 4、写卡,扣款后允许上网,时间到则继续扣款,直至停止上网或余额不足。 进阶要求 实现网吧收费机与PC机的通信,硬件设计SLE4442引脚分配,C1:

11、Vcc(Supply Voltage) C2: RST(Reset) C3:CLK(Serial Clock) C4: (NC) C5:GND C6:I/O(Bidirectional serial data ,open drain) C7: (NC) C8: (NC),SLE4442接口电路,软件设计SLE4442操作时序,通信协议:2线连接协议,满足ISO7816同步传送协议 数据传输:CLK信号下降沿有效。 复位和复位响应(Reset and Answer-to-Reset): 上电后启动芯片,符合7816 命令(Command): 命令=开始+(控制字+地址字+数据字)+附加脉冲+停止

12、 操作模式(Mode): 读数据:输出数据模式(OUTGOING DATA MODE): 写入、擦除、校验:处理模式(PROCESSING MODE),复位和复位响应(Reset and Answer-to-Reset):SLE4442上电后,读写器首先应给出复位(Reset)命令并等待接收来自卡的复位响应ATR(Answer-To-Reset)。,复位和复位响应(Reset and Answer-to-Reset),复位响应:符合 ISO78163标准的ATR 当RST为高时,送第一个时钟脉冲(脉冲0)使地址计数器清0(复位)。 当RST线从高状态(H状态)置到低状态(L状态)时,第一个数据

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

14、AY_12,MOV B,#20H RESET0:SETB CLK LCALL DELAY_12 CLR CLK LCALL DELAY_12 DJNZ B,RESET0 SETB IO RET,如何读出复位应答呢,;4442 串行输出一个字节子程序,即MCU读入一个字节 SHIN: CLR CLK PUSH B MOV B,#08H X43: LCALL DELAY SETB CLK MOV C,IO RRC A LCALL DELAY CLR CLK DJNZ B,X43 POP B RET,将RESET程序中的32个脉冲换为 调用SHIN子程序4次,读入4个字节的ATR,命令(Comman

15、d),复位响应以后,芯片等待着命令。 命令=开始+(控制字+地址字+数据字)+附加脉冲+停止 。 开始:在CLK为高状态(H)期间,I/O的下降沿为开始状态。 停止:在CLK为高状态(H)期间,I/O的上升沿为停止状态。,SLE4442操作命令,;*命令子程序* ;该子程序送出三字节的SLE4442命令 ;入口参数:COM为控制字,ADDR为地址字,DAT为数据字 COMMAND:SETB CLK LCALL DELAY_12 CLR IO ;开始 LCALL DELAY CLR CLK LCALL DELAY 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,怎样向卡中写入一个字节?,; sle4442 串行输入一个字节函数, 即MCU向卡写入一字节 SHOUT: PUSH B MOV B,#08H X42: RRC A MOV IO,C NOP SETB CLK LCALL DELAY CLR CLK LCALL DELAY DJNZ B,X42 POP B RET,操

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 教学课件 > 高中课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号