|
||||||
| | 首页 | 文章中心 | 下载中心 | 本站商品 | 学习资料 | 留言 | 论坛 | | ||||||
| 广告载入中... | ||||||
| 您现在的位置: 电子爱好者 >> 文章中心 >> 单片机应用 >> 正文 |
|
|||||
| 逻辑加密存储卡AT88SC1604的应用 | |||||
| 作者:admin 文章来源:非本站原创 点击数: 更新时间:2007-5-3 | |||||
| 前言 IC卡按结构划分,可分为存储器卡和微处理器卡(CPU card)两大类。逻辑加密卡与普通存储卡相比,内部结构较复杂,其存储区可以分成卡片设置区和应用区。卡片设置区内存放与卡片厂商及发卡者相关代码和卡片密码;应用区又可以根据需要分为不同的分区。逻辑加密卡的安全性相对较高,体现在:卡片设立主密码、每个应用分区具有各自独立的操作密码。逻辑加密卡主要控制作用是:对数据存储区开放/关闭的控制;对数据存储区读/写的控制;对数据存储区擦除操作的控制以及对密码校验和错误次数计数及锁闭功能控制。 AT88SC1604卡的工作原理 AT88SC1604是由美国ATMEL公司设计的逻辑加密存储卡芯片。它具有15704位的存储容量,是目前逻辑加密存储卡中容量较大的一种产品芯片。 (1) AT88SC1604芯片属于单存储器多逻辑分区结构。主存储器除划分了特定的标志数据区和控制数据区之外,还将应用数据区分成四个完全隔离的子区,并在每个子区中配备了各自的读、写控制标志和写入/擦除密码以及密码输入错误计数器等逻辑控制。 (2) 芯片为串行传输方式,并满足ISO7816-3同步传输协议。 (3)芯片采用低功耗的CMOS工艺制造,每字位的读取时间为 s,写周期为5ms。 (4) 芯片内部的存储单元具有至少10000次的擦除/改写循环次数。数据保存期为10年。 芯片引脚及功能
AT88SC1604芯片分为制造商代码区、发行商代码区、用户安全密码区、用户密码比较计数区、个人代码区以及四个应用区。每个应用区都由密码区,密码比较计数区,擦除密码区和擦除密码比较计数区、应用数据区和存储器测试区组成。 (1) 制造商代码区(FZ) 该区里记录的卡芯片生产商的特定信息(例如:生产批号、日期、以及特别制定的特征代码),由制造商在芯片出厂前写入。在控制本区的熔丝(FUSHl)没有熔断时,该区的存储单元可以象普通的EEPROM存储单元一样进行擦除和改写。一旦熔丝熔断,所写入的"制造商代码"就不可再更改。 (2) 发行商代码区(IZ) 该区用于记录卡片发行商的特定信息(例如:发行批号、日期、地区范围编号以及特定用户编号等特征代码)。当控制本区的熔丝没有熔断时,该区的存储单元内容可以自由的擦除或改写。在个人化处理过程完成之后,控制该区的熔丝(FUSH2)熔断,即可将注入的“发行商代码”完全固化。这一代码也是识别卡片的真伪,区分卡片应用类别的重要标识。 (3) 个人代码区(CPZ) 该区用于存放个人身份标识数据。该区使用上受芯片的“用户密码”的保护。当“用户密码”比较成功,该区可读可写可擦除。“用户密码”比较不成功,该区只能读而不能写入和擦除。 (4) 用户密码区(SC) 这个密码区是整个存储器的“总控制开关”。使用前,由授权持卡人预先输入的一个安全代码作为“参照字”储存在这个存储区里。使用时,必须输入一个“校验密码”。芯片将输入的“校验密码”与内部存储器的“参照字”一一比较。如果比较结果一致,IC卡将开放整个芯片储存器(包括各分区的控制密码和各应用数据区)。各区的“安全密码”区SCn(n=l,2,3,4)与SC的作用是完全类似的。 对于各分区的密码区SCn (n=1,2,3,4)来说,其比较操作要受到对应“应用区密码”比较计数器(SnAC)的计数控制。当连续8次输入密码错误,SCn将被锁死。 SnAC(n=1,2,3,4)的作用与SCAC是类似的。操作控制也完全一样。只是SCAC是限制对SC区的比较操作。而SnAC则限制对SCn区的比较操作。SCAC的控制级别最高。当SCAC为“00H”后,芯片内部封锁了对SC区的比较操作,从而使对SCn的比较也被禁止。如果SCAC为非“00H”值,在对SC区的比较密码操作成功之后,SCn能否进行比较操作就由SnAC区的状态值来决定。SnAC区在连续8次比较输入过程中,每次比较操作之后计数器的计数值与SCAC的8个值一样。(即分别为“7FH”、“3FH”、“1FH”、“0FH”、“07H”、“03H”、“OlH”、“00H”)当SnAC为“00H”时,则“应用n区”将被锁死。 (6)擦除密码区(EZn ,n=l.2,3,4) 该区用于存储擦除应用区操作的控制密码。这些密码一般由发行商使用。在个人化处理时输入的最后一组“擦除密码”,在芯片熔丝FUSE2熔断之后将使“擦除密码”保存在该区内。该区不再能读出、写入和擦除,只能进行比较操作。在使用过程中如需对应用区进行擦除操作,都必须首先对相应的EZ区输送一个“擦除密码”与之比较,在“擦除密码比较计数器”不为“00H”的情况下,如果相比较的两代码完全一致,则相应的应用区的单元允许擦除,否则将禁止执行擦除操作。 该区主要给用户使用。用于存储系统的相关数据记录和卡片标识等信息。应用数据区的写入与读出分别由该区的前两位Pn和Rn以及SV标志的状态控制,擦除操作则由该区的擦除密码控制。AT88SC1604设计了四个完全隔离的分区,其中1至3分区的单元容量分别是4K位、第4分区的单元容量为3.6K位。 应用实例
(2)读出操作: 在进行读出操作时,必须保证使RST脚和PGM脚同时保持为低。如果对芯片各密码控制区进行读出操作,只能是在FUSE2未熔断且SV标志“1”时才能进行。如果对芯片各标识数据区进行读出操作,除FZ和IZ区外,需要使SV标志置“1”后才能执行。如果对芯片各应用数据区进行读出操作,需要在SV=1且Rn=1(n=1,2,3,4)状态下才能执行。
(3)比较操作:在进行比较操作时,必须保证使RST脚和PGM脚同时保持为低。比较操作只能对芯片密码控制区执行,且由芯片内部来判断。在FUSE2未熔断时,只能在SV=0时,对SC区进行比较操作,对其它区的比较操作均为无效操作。SV=1时,芯片不做任何比较操作。在FUSE2熔断后,只能在SV=0时,对SC区进行比较操作,对其它区的比较操作均为无效操作。
(D)芯片输出“0”
(4)写入操作:写入操作实际包含着两种:当写入的数据为“0”时,本次操作称为“写入操作”。当写入的数据为“1”时,本次操作称为“擦除操作”。“写入操作”可以按位进行。但“擦除操作”只能按字节进行。即使操作时只对单独一位进行擦除,但执行的结果将使这一位所在的字节的所有8位全部置成“1”。对芯片的任何一个允许写入或擦除的区域,其执行写入和擦除的必要条件是芯片的SV标志为“1”状态。
|
|||||
| 文章录入:admin 责任编辑:admin | |||||
| 【发表评论】【告诉好友】【打印此文】【关闭窗口】 | |||||
| 最新热点 | 最新推荐 | 相关文章 | ||
| |
| | 设为首页 | 站点地图|<产品开发服务|光盘刻录服务| 广告合作 | 访问记录 |汇款方法 | 关于VIP会员 | | |
![]() |
|