智能卡网吧收费机设计(一) —— 逻辑加密卡的存储结构 与安全特性

26
SmartCard SmartCard 智智智智智智智智智智(一) ——智智智智智智智智智智 智智智智智 智智智智智智智智智

Upload: armando-sykes

Post on 03-Jan-2016

147 views

Category:

Documents


1 download

DESCRIPTION

智能卡网吧收费机设计(一) —— 逻辑加密卡的存储结构 与安全特性. 电子与信息工程学院. 教学目标. 接触式逻辑加密卡的 芯片逻辑组成与安全特性 按位操作逻辑加密卡的存储结构与安全特性 多存储器结构逻辑加密卡存储结构与安全特性 多分区逻辑加密卡的存储结构与安全特性. 产品开发 —— 智能卡网吧收费机. 智能卡网吧收费系统构成: 1 、网吧卡(小额电子钱包) 2 、网吧收费机 3 、 PC 机网吧管理软件 开发任务:设计智能卡网吧收费机 1 、判断卡的合法性 2 、上网计时收费. 产品开发之第一步:卡型选择. 智能卡网吧收费系统卡型需求分析 - PowerPoint PPT Presentation

TRANSCRIPT

SmartCardSmartCard

智能卡网吧收费机设计(一)

——逻辑加密卡的存储结构与安全特性

电子与信息工程学院

SmartCardSmartCard

教学目标接触式逻辑加密卡的芯片逻辑组成与安全特性按位操作逻辑加密卡的存储结构与安全特性多存储器结构逻辑加密卡存储结构与安全特性多分区逻辑加密卡的存储结构与安全特性

SmartCardSmartCard

产品开发——智能卡网吧收费机智能卡网吧收费系统构成: 1 、网吧卡(小额电子钱包) 2 、网吧收费机 3 、 PC 机网吧管理软件开发任务:设计智能卡网吧收费机1 、判断卡的合法性2 、上网计时收费

SmartCardSmartCard

产品开发之第一步:卡型选择智能卡网吧收费系统卡型需求分析

•小额电子钱包功能,脱机消费(无需与银行联网消费)

•定额收费•防伪造,防非法充值•低成本

SmartCardSmartCard

网吧卡选型——存储卡AT24C** 系列存储卡是否适合用于网吧收费收

费系统?为什么?

否!存储卡无任何安全措施

易被伪造、非法充值

SmartCardSmartCard

网吧卡选型—— CPU 卡在逻辑加密卡和 CPU 卡中,哪类卡适宜

作为网吧卡?为什么?

CPU 卡安全性高但卡及系统的成本较高

较难实施

结论宜选用逻辑加密卡作为网吧卡

SmartCardSmartCard

接触式逻辑加密卡逻辑组成

Security Memory Card

SmartCardSmartCard

逻辑加密卡特性组成:非易失性存储器 + 硬件加密逻辑;芯片:专门为 IC 卡设计的芯片( ASIC );安全性:具有安全控制逻辑,安全性能较好;多种安全措施: PIN 、 EC 、 FUSE 、 TC 、多

存储器( ROM 、 PROM 、 EEPROM 并存)、多分区存储结构。

通信协议:支持 ISO7816 国际标准。适用场合:有一定安全要求的场合,如 IC 卡电

话、网吧卡、加油卡、保险卡、驾驶卡、借书卡、小额电子钱包等。

SmartCardSmartCard

网吧卡选型——逻辑加密卡产品系列目前市场上主要的逻辑加密卡系列有哪

些?各有什么特点? 计数型(按位操作): AT88SC06 、 SLE4406

多存储器结构(按字节操作): SLE4442

单存储器多分区结构(按字节操作): AT88SC1604

SmartCardSmartCard

按位操作的逻辑加密卡—按位操作的逻辑加密卡— SLE4406

一次性使用,带加密逻辑,按位操作计数卡( Token Memory Card ),以一次性的

计数方式,从写满的计数器中减“ 1” ,直至存储单元全减为“ 0” 为止

104 位容量 ,最大可提供 20 480 计数单位 3 字节传输密码, 1 位发行标志保护 常用于具有定额定价的消费系统中,如公用电话

卡、预付费加油卡、停车计费卡、游乐园消费卡等

SmartCardSmartCard

SLE4406 存储分布图和计数规则 计数规则 发行后,用户区进入计数状态,

为 5 位 8 进制计数器,但第 5位计数器只有 4 位可用,因此最大计数值为 20480 。

说明: 计数区按位写 0 ,按字节 借位擦除,如:

11111111 00000000

擦成: 11111110 11111111

10011000 00100000 11111111 1111111111111111 11111111 11111111 1111111111111110 11111110 11111111 1111111111111111

发行商代码厂商测试位

0发行标志,为 表示已发行

厂商标志

计数区

SmartCardSmartCard

SLE4406 操作方式检查发行标志位是否为 1 ,是则可以校验传输密码先将密码计数器 -1 ,然后比较密码,校验正确则

密码计数器恢复,允许写入发行商代码,将控制位写为 0 (发行)。允许初始化计数器(擦除第 2-5字节并重新写入),此操作将撕毁传输密码并不可恢复。

一旦控制位为 0 ,表示已发行,将不能再更改发行商代码。第 2-5字节成为 5位计数器,只能写 0 及借位擦除。

SmartCardSmartCard

SLE4406 保密特性

保 密 特 性 序

号 存储区名称 地址

数 发 行 前 发 行 后

1 厂商代码 0~2 3 出厂时已固化,任何情况下可读,不能更改

同发行前

2 发行商代码 3~7 5 用户密码核对正确后,可写、不可擦

固化,不可更改

3 用户区

8~12 5 第 1字节(地址 8):

第 0 位为控制位,1~3 位为厂商测试位,余下 4~7位给用户使用。

第 2字节(地址 9):

发行前为密码计数器,每校验一次密码,计数器减 1

第 3~5 字节(地址 10~12):

发行前为密码区,密码校验成功后,可以读出密码。

第 1字节(地址 8):

第 0 “位置 0” 表示已发行,4~7位用户可作为计数区使用。

第 2~5字节(地址 9~12):

发行后变为计数区,为 5

位 8进制计数器。计数区按位写 0,按字节借位擦除

SmartCardSmartCard

多存储器逻辑加密卡—多存储器逻辑加密卡— SLE4442按字节操作,可反复应用多存储器结构

256 * 8位 EEPROM型主存储器。32 *1 位 PROM型保护存储器。4 * 8位 EEPROM型加密存储器

安全性:用户密码( 3 字节) + 密码错误计数( 3 次) +PROM 保护

2线串行连接协议,满足 ISO7816 同步传送协议

SmartCardSmartCard

I / O 读

错误计数器

加密逻辑

可编程加密代码

32字节保护数据存储器

(厂商代码)

224字节未保护数据存储器

保护存储器

PROM

地址

0

255

31

32

SLE4442 存储结构

SmartCardSmartCard

SLE4442 存储器分配(一)主存储器 (main memory) : EEPROM 型, 256B 按字节操作,字节地址 0~255 ( 00H~FFH ), 所有单元可任意读取。主存储器可分为两个数据区:

保护数据区: 00H-1FH,用户密码 + 熔丝保护(擦除、写

当校验用户密码正确且熔丝未熔断时允许进行擦除和写入操作,否则不允许

熔丝:保护存储器中第 n 位( n=0~31 )对应主存储器中第 n个字节, 1——未熔断, 0——熔断。

应用数据区 : 20H-FFH 。用户密码保护(擦除、写)

SmartCardSmartCard

SLE4442 存储器分配(二)保护存储器( protection memory) : PROM 型,

32bits

按位操作,位地址 0~31 每位相当于主存储器保护数据区对应字节单元的

控制熔丝( FUSE ),相应位为 1 时该字节可擦写,为 0 时不可

保护存储器可任意读出,但需校验密码正确方能写入,一经写入(从 1变为 0 )不可再擦除,可理解为 FUSE 一经熔断不可再恢复。

SmartCardSmartCard

SLE4442 存储器分配(三)加密存储器 (security memory) : EEPROM 型, 4B

按字节操作,字节地址 0~3 字节 0 :EC( Erroe Counter ),低 3 位有效, 可任意读、写, 用户密码校验成功方可擦除。 字节 1 , 2 , 3 : 3 字节 PSC (可编程加密代码) PSC 校验成功前不可读,只能进行比较操作; 密码“比较”成功后才可以进行读出、写入和擦除。

SmartCardSmartCard

多分区逻辑加密卡—多分区逻辑加密卡— AT88SC1608按字节操作,可反复应用存储容量: 16Kbits安全性:三重密码 + 熔丝 + 读写控制位单存储器、多存储分区结构

标志数据区:制造商、发行商代码。控制数据区: SC ( 2 字节)、 EC 、 Erase key 。应用数据区: 4 个、各自独立

2线串行连接协议,满足 ISO7816 同步传送协议

SmartCardSmartCard

00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F

00

01

02

03

04

05

06

07

08

09

0A

0B

0C

0D

0E

(注:此存储图只表示了应用区一、二,应用区三、四省略,图中— —表示省略)

31 3a ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff -- -- -- -- -- ff ff ff ff ff ff ff ff ff ff

ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff

FZ 厂商代码 IZ

发行商代码 SC 总密码

SCAC总密码错误计数器

CPZ

代码保护区

S1AC一区 密码错误计数器

AZ1 应用区一

E1AC 一区擦除密码计数器

SC2

二区密码

EZ1 一区擦除密码

EZ2 二区擦除密码

E2AC二区擦除 密码错误计数器

SC1

一区密码

SmartCardSmartCard

AT88SC1608 存储器分配(一)标志数据区标志数据区:验证卡片真伪的重要标识 制造商代码区 FZ ( Fabrication Zone ), 2B

记录卡芯片生产商的特定信息(例如:生产批号、日期、特别制定的特征代码)

FUSE1熔断前,可读,可更改 FUSE1熔断后,只读,不可更改 发行商代码区 IZ ( Issuer Zone ), 8B

用于记录卡片发行商的特定信息(例如:发行批号、日期、地区范围编号、特定用户编号等特征代码)

FUSE2熔断前,可读,可更改 FUSE2熔断后,只读,不可更改

SmartCardSmartCard

AT88SC1608 存储器分配(二)控制数据区:控制数据区:三重密码 + 密码错误计数用户密码 SC ( Security Code ), 2B

用户密码错误计数 SCAC ( Security Code Attempts Counter ), 1B ( 8 次)

应用区密码 SC1~ SC4 , 2B

应用区密码错误计数 SCAC1~ SCAC4 , 8 次应用区擦除密码 EZ1~4 ( Erase key ), 2B

应用区擦除密码错误计数 EnAC ( Erase key Attempts Counter ,n =1,2,3,4 ), 8 次

SmartCardSmartCard

AT88SC1608 存储器分配(三)应用数据区应用数据区: 1~4 ,各自独立,特性相同存储用户的相关数据记录 。第 1 位为写保护位( P1 ) ;第 2 位为读保护位

( R1 ),均为 1 有效(可读 / 写) 熔丝熔断前 熔丝熔断后

读: 当 R1=“1” ,任何情况下可读 当 R1=“0” ,总密码核对正确 前,不可读写:总密码校验正确后,可写

擦:总密码校验正确后,可擦

读:特性同熔丝前。写:当 P1=“1” ,总密码核对正确,应用区密码核对正确,则可写。 当 P1=“0” ,任何情况下不可写。擦:总密码核对正确,应用区密码核对正确,擦除密码核对正确,则应用区可按字节擦除。

SmartCardSmartCard

实训 实训 接触式逻辑加密卡读写操作接触式逻辑加密卡读写操作 准备:确认电源正、负极,按标志正确连接接

触式 IC 卡读写器的电源线及串口线,注意电源 +5V 与地不可接反。

打开接触式 IC 卡读写器读写操作软件 DEMO ,确认通信正常。

将实验白卡插入接触式 IC 卡读写器插卡槽,自动测卡进入卡操作界面。

SLE4442 卡密码: FFFFFFH AT88SC1608 卡密码: F0F0H 或 A5A5H

SmartCardSmartCard

SLE4442读写操作 读卡:记录卡密码、卡错误计数值,主存储器存储结构

(各区域名称、地址范围、字节数)、存储内容和读出条件。

写卡:对主存储器各区域进行写入 /擦除操作,记录操作结果,总结各区域写入 /擦除条件。

密码操作: ( 1 )修改密码:在未通过和已通过密码校验二种情况下

分别修改密码,记录操作结果,总结修改密码的条件。 ( 2 )恶意猜测密码:在未通过密码校验的情况下输入错误密码,记录此时的读卡、写卡结果。

注意:注意: 修改密码后必须及时还原密码为修改密码后必须及时还原密码为 FFFFFFHFFFFFFH 。。 猜测密码错误次数不得超过猜测密码错误次数不得超过 22 次!以免锁卡次!以免锁卡!!

SmartCardSmartCard

AT88SC1604读写操作 读卡:在未通过和已通过密码校验二种情况下记录存储

器存储结构(各区域名称、地址范围、字节数)、存储内容和读出条件。

写卡:在未通过和已通过密码校验二种情况下对存储器各区域进行写入 /擦除操作,记录操作结果,总结各区域写入 /擦除条件。

熔丝操作:模拟熔断,对存储器各区域进行写入 /擦除操作,记录操作结果,总结熔断操作对各区域的保护作用。

注意:注意: 修改密码后必须及时还原密码。修改密码后必须及时还原密码。 猜测密码错误次数不得超过猜测密码错误次数不得超过 88 次!以免锁卡!次!以免锁卡! 只允许模拟熔断,不可熔断,否则将无法恢复。只允许模拟熔断,不可熔断,否则将无法恢复。