实诚电子:IC卡密码破解--电子产品硬件加密--电子项目开发
新的网站 联系我们 收藏本站 English
信息纽扣密码破解(DS1991和DS1425型TM卡)装置研制成功   AT88SCXXXX系列读写编程器开发成功!  
more
               应用参考
 
AT88SC153和AT88SC1608加密卡简介
 
       AT88SC153和AT88SC1608加密卡
简 介
(引自北京卡来通电子技术有限公司)
AT88SC153是ATMEL继AT88SC1068之后新推出的一种卡型,它继承了AT88SC1608的全部优点,只是存储容量及分区数有所改变,基本上可以理解为小容量的AT88SC1608。
AT88SC153加密卡时钟频率为1MHz,支持页写方式(8字节/页),如果以页写方式访问的话,访问时间为10ms(最大)/页;工作电压为2.7V—5.5V;写/擦除次数为10万次;数据保持100年;工作温度为O一70℃;通讯协议符合ISO/IEC 7816-3同步协议。
与AT88SC1608一样,AT88SC153加密卡的高保密性能十分突出,除了带加密逻辑,还具有高保密认证及反截取跟踪技术,64位相互认证及认证错误计数器,错误计数8次。
AT88SC153具有1个64字节设置区和3个64字节应用分区,3个区可以自由合并,分别受读密码、写密码(4套密码、各3个字节)控制,错误计数4/8次。
AT88SC153共有2048位(256字节)存储空间,其中前1536位(192字节)为应用区,后512位(64字节)为设置区。
存储结构:(字节地址以16进制表示)
存储分区 $0 $1 $2 $3 $4 $5 $6 $7 地址
应用分区0(User0) 64字节 $00
应用分区1(User1) 64字节 $80
应用分区2(User2) 64字节 $40
设置区 64字节 $C0
其中设置区存储结构:(字节地址以16进制表示)
  $0 $1 $2 $3 $4 $5 $6 $7 地址
厂商信息 复位应答(ATR) 历史代码(HC) $00
厂商代码(FZ) 卡商码(CMC) AR0 AR1 AR2 MTZ $08
识别区 发布号(IC) $10
DCR 识别码(Nc) $18
AAC 密文(Ci) $20
密钥 密钥(Gc) $28
密码区 PAC 写密码0(WP0) PAC 读密码0(RP0) $30
PAC 写密码1(WP1/SC) PAC 读密码1(RP1) $38
注:哪个区用哪套密码是否要认证要由访问权限AR0-AR2来决定。
在采用校验和认证方式时,地址$20也可以用作校验和认证寄存器(CAR)。
ATR:复位应答,由ATMEL定义,不可改。
HC:历史代码,由ATMEL定义,不可改。
FZ:厂商代码,由ATMEL定义,不可改。
CMC:卡商代码,由卡厂定义,不可改。
AR0-2:访问权限。个人化前定义。(详细用法参见访问权限)
MTZ:用于测试卡的读写性能。任意条件下均可测试。
IC:发布号。个人化前定义。
DCR:设备设置寄存器。
Nc:识别码,通常用作卡的唯一标识—卡号。个人化前定义。
Ci:密文,个人化前可写一随机数,认证卡时使用,每次认证会被自动改写。
Gc:密钥,64位的保密种子,由Nc通过F1公式推算出来,在个人化前,写入卡
中。个人化后不可访问,认证时作为该卡的F2公式的参数。(详细用法参见
认证协议)
AAC:为认证错误计数器。初始值为8,但每次校验出错减2,所以共有4次连续
校验出错的机会,可扩展为8次(见DCR的设置方法)。也用作Ci的一部分,
注意如果修改了AAC,会影响下一次认证的Ci值。
CAR:校验和认证寄存器。只有认证完成时才有用,每次写操作都会激活校验和
方式,并把写或连续写的校验和自动写入CAR,此时可以读出校验和,以
确定写操作是否完成。任何读操作都会结束校验和方式。
WP0,WP1,RP0,RP1:2套读写密码集,每个分区可以分别指向唯一的密码集,
也可以指向同一套密码集,这样就可以只核对一套密码而进入多个分区,
使多个分区合成为一个大的分区。默认WP1、RP1为读写密码。写密码1
(WP1)还作为传输密码(SC)。另外,如果需要修改读写密码时,也必须核
对同一套密码集的写密码。
SC:传输密码。初始值由ATMEL定认。发到每个卡厂都不同。可以修改,在个人
化前一直使用SC,个人化后其它密码才会被用到。
PAC:为分区密码错误计数器。初始值为8,但每次校验出错减2,所以共有4次
连续校验出错的机会。可扩展为8次。(见DCR的设置方法)

熔丝标志(FUSE)
熔丝标志位于设置区的$40地址,存储结构:(地址以16进制表示)
位7 位6 位5 位4 位3 位2 位1 地址
0 0 0 0 PER CMA FAB $40
注:FAB、CMA、FAB为AT88SC153的EEPROM的三级熔丝保护标志,“0”表示已熔
断。在熔丝标志全为“1”时,所有的存储空间都可读。每一步熔断操作都
不能返回。
FAB为ATMEL的芯片出厂时的熔断标志。
CMA为卡厂的卡片出厂时的熔断标志。
PER为应用系统启动前个人化时的熔断标志。

当我们把AT88SC153卡交付使用之前,卡内信息应已作完以下的操作:
● ATMEL写完厂商信息(除卡商代码、访问权限和测试区)、传输密码(SC),把
其余的存储空间都写成“1”,做FAB熔断操作,使FAB=0。
● 卡厂写入自己的卡商代码后,做CMA熔断操作,使CMA=0。
● 系统商对卡做初始化,或卡在发行之前由系统做初始化,然后做PER熔断操
作,使CMA=0。
访问权限
熔丝熔断前后的访问权限表:
区 访问 FAB=0 CMA=0 Per=0
厂商信息(除CMC,AR,MTZ) 读 可以 可以 可以
写 禁止 禁止 禁止
卡商代码 读 可以 可以 可以
写 传输密码(SC) 禁止 禁止
访问权限 读 可以 可以 可以
写 传输密码(SC) 传输密码(SC) 禁止
测试区 读 可以 可以 可以
写 可以 可以 可以
识别区 读 可以 可以 可以
写 传输密码(SC) 传输密码(SC) 禁止
密钥 读 传输密码(SC) 传输密码(SC) 禁止
写 传输密码(SC) 传输密码(SC) 禁止
密码 读 传输密码(SC) 传输密码(SC) 写密码(WP)
写 传输密码(SC) 传输密码(SC) 写密码(WP)
PAC(计数器) 读 可以 可以 可以
写 传输密码(SC) 传输密码(SC) 写密码(WP)
应用区 读 访问权限(AR) 访问权限(AR) 访问权限(AR)
写 访问权限(AR) 访问权限(AR) 访问权限(AR)
访问权限AR0-AR2的存储结构:(使能为“0”,默认为“1”)
bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
WPE RPE ATE AOW PWS WLM MDF PGO
WPE:为写密码使能标志。值为0时,对应用分区进行写操作时,必须通过写密码。在个人化后,核对写密码,也决定着是否能改变读密码和写密码。
RPE:为读密码使能标志。值为0时,通过读密码或写密码,才能读某应用分区。如果密码核对错误将返回熔丝状态位。
ATE:认证使能标志。为0时,认证必须通过才能操作当前应用分区。
AOW:只有写时才需要认证标志。只有写操作时才需要进行认证,读不需要进行认证操作,如果ATE=0,则AOW被忽略。
PWS:指定当前应用分区使用哪一套密码集。每个分区可以分别指向唯一的密码集,也可以指向同一套密码集,这样就可以只核对一套密码而进入多个分区,使多个分区合成为一个大的分区。
WLM;写锁模式使能。每个区的8个字节为一页。如果WLM=0,使每页的第一个字节(byte0)的每一位分别为该页8个字节的写锁标志,0为写锁(即只能从“1”写成“0”,而不能从“0”改回为“1”),1为解锁。
MDF:为禁止修改操作标志。值为0时,当前应用分区被写保护,被写保护区的内容必须在个人化之前写入。
PGO:只写标志。如果为0,当前应用分区的每一位只能从“1”写成“0”,而不能从“0”改回为“1”。
设备设置寄存器(DCR)
设备设置寄存器位于设置区的$18地址,存储结构:(使能为“0”,默认为“l”)
bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
SME UCR UAT ETA CS3 CS2 CS1 CS0
CS0-CS3:可编程片选。ATMEL出厂时写为$B(即1011)。它为访问卡的所有命令字的高4位。
ETA:8次计数使能。ETA=0,可以使AAC和PAC的计数次数为8,否则为4。
UAT:使认证错误计数无校标志。UAT=0,AAC无校,否则AAC有校。
UCR:不限制读校验和次数标志。UCR=1时,每次认证只能读校验和方式一次(默认),UCR=0时,没有次数限制。
SME:超级管理方式。SME=O时,通过1WP校验,就可以读写全部的读写密码及密码错误计数器。
认证协议
产出随机数Nc(往往当作卡号)和Ci,计算出Gc=F1(Ks,Nc),把Nc、Ci、Gc写入卡中。
卡NcGcCi 认证协议 读写器KsQ0(随机数)
识别码:Nc CiCi+1=F2(Gc,C1,Q0);if(Ci+1==Q1) Ci+2=F2(Gc,C1十1); Ci=Ci+2;//修改Ci 认证正确;else Ci=Ci; 认证错误; Ci -------------------->(使用读命令)<--------------------(初始化认证命令)<--------------------(校验认证命令)-------------------->(读命令) Gc=F1(Ks,Nc);Q0Q1=F2(Gc,Ci,Q0);Q1Q2=F2(Gc,Q1);if(Q2=Ci) 认证正确;else 认证错误;
F1算法;64BIT用户自定义算法。
F2算法:卡内64BIT算法(Des算法的变种,提供C语言和51汇编语言程序)
该协议包括卡和读写器CPU的互相认证(ELVA专利),而且认证数据加密传送,可以防止通讯数据被窃取。

 
 

  老古开发网 Atmel公司 深圳威利姆 广州周立功 广州天河双龙 可编程逻辑器件
  中国自动化网 Dallas公司—信息纽扣 开发天地 电子产品世界 51单片机世界 EDA天地
本网由网站各成员共同管理   Version 2005
ALL rights reserved.Best viewed by 1024*768 IE4.0 +