智能电子钱包终端设计(一)
硬件 资源 MPU CAU ROM RAM EEPROM I/O SL 说明 微处理器 加密运算协处理器 只读存储器 随机存储器 电擦除存储器 通讯接口 安全逻辑 主要功能 系统的中央运算、处理、管理 执行有关加、解密运算 存储操作系统程序 临时工作数据的暂存 应用程序、数据的存储 通讯传输 内部资源的硬件保护
智能电子钱包终端设计(一)
——CPU卡与COS文件结构
电子与信息工程学院
SmartCard
教学目标
智能(CPU)卡的芯片结构、基本 工作原理和性能特点 智能(CPU)卡的文件管理方式
SmartCard
项目开发——CPU卡POS机
系统需求分析: 高安全性 1. 具备金融借记卡、电子钱包功能,符合中国人民银 多应用能力 行金融卡规范。 应用灵活性 2. 具备脱机交易能力。 3. 具备联机(网)通信能力。 4. 操作稳定可靠。
PLL模块支持内部倍频
支持串行接口的UART模块 I/O接口中断模块 硬件CRC模块
SmartCard
智能卡里有什么? ——CPU卡片上操作系统COS
• 正是由于CPU的存在,使得智能卡完全不同于存储卡和逻 辑加密卡(仅作为一种可移动的存储介质),卡中带有的 具备文件系统、通信、授权、加密及访问控制命令的片内 操作系统(COS),使智能卡成为一个特别的计算机系统。 • 片内操作系统(Chip-Operating-System)——智能卡内嵌的 操作系统,在智能卡自身上运行的软件,集中处理特定卡 的内容,为访问这些内容的应用提供计算性服务,并保护 这些内容,防止错误的访问。
SmartCard
典型COS
国际: • MicrosoftWindowsforSmartCard • JAVACard • MULTOSCard 国内: • 北京握奇TimeCOS • 深圳明华澳汉SmartCOS
SmartCard
COS的功能模块
COS一般具备以下4种基本功能: • 硬件资源管理(物理层) • 通讯传输管理(数据链路层) • 应用控制管理(应用层) • 安全控制管理 (应用层)
3.公共基本文件(PEF):主要用于存储系统或应用的公共 数据,可以无条件存取
SmartCard
文件组织方法
• 最佳的文件组织方法是每一种应用均分配 一个专有文件,在相应应用的专有文件下 再具体组织安排各种应用数据。这样做的 优点是不同应用之间相互干扰小、便于应 用设计、安全性更高等,有利于“一卡多 用”。
SmartCard
智 能 卡 文 件 的 树 型 结 构
在文件存取过程中,不能越层存取,若想读写子专有 文件下的元文件必须经过其高层文件层次;
SmartCard
某一专有文件的大小在申请生成时预定且不可修改
MF
电 子 钱 包 中 的 文 件 结 构
SmartCard
DIR ADF
DIR 文件:复位应答文件 应用 1 文件标识符:2F01 EF1 EF2 EF3 EF4 EF5 EF6 文件标识符:0003 文件标识符:0001 KEY 文件 钱包文件
• 智能卡是一种带有可编程数据存储器的便携、抗 损单芯片微型计算机(one-chip microcomputer) 其计算能力与最早的IBM PC 相当。
SmartCard
CPU卡的特点
• • • • • 提高数据安全性: 应用与交易的合法性证实: 脱机能力 : 多应用能力: 应用灵活性:
智能(CPU)卡非常适合于对数据安全性及可靠性要求十分 敏感的应用 ,此外,由CPU卡支持并代表的一卡多用(多功能 卡)概念越来越受到人们的重视 。
文件标识符:0002 存折文件 文件标识符:0018 交易明细文件
文件标识符:0015 发卡方专用数据文件 文件标识符:0016 持卡人专用数据文件
主文件(Master File)
• MF中含有系统文件控制信息及可分配的存储 空间,其下可以建立各种文件。 • MF一般用来存储不同应用之间的共享数据, 如卡序列号、持卡人数据等信息。 • CPU卡一旦插入读写设备, MF就立即被激活 直到卡被拔出。在卡的生存期内,MF一直存 在并保持有效。 • 在物理上, MF占有的存储空间包括MF文件头 的大小以及MF所管理的EF和DF的所有存储空 间。 SmartCard
记录按照先进先出的原则存储。
• 密钥文件结构:每个DF或MF下有且只有一个KEY文件,
在任何情况下密钥均无法读出。在KEY文件中可存放多个 密钥,每个密钥为一条定长记录。记录中规定了其标识、 版本、算法、属性及密钥本身等相关内容。 Smar操作系统COS
——Chip Operating System(片内操作系统)
主要功能: 控制智能卡和外界的信息交换;管理智能卡内的存储 器;在卡内部完成各种命令的处理。 相关标准: 1.信息交换协议(见ISO/IEC7816-3和ISO/IEC7816-3A3标准 ) 目前包括两类:T=0协议——异步字符传输 T=1协议——异步分组传输。 2. 数据元与指令集(见ISO/IEC7816-4标准) COS所应完成的管理和控制的基本功能、智能卡的数据 结构以及COS的基本命令集
传输管理器 加密运算器 命令解释器 文件管理器
命令应答过程:
传输管理器 加密运算器 命令解释器 文件管理器
SmartCard
硬件资源管理
统一组织、协调、指挥智能卡内部硬件的运行,为高层 应用提供相应程序接口,使高层应用编程更容易、实现 更简单、可靠。它类似于PC机上的BIOS(基本输入输 出接口)功能,但比它的管理层次更高。
智能卡里有什么? ——CPU卡芯片硬件构成
输入/输出接口 I/O 触点 微处理器 CPU 协处理器 CAU
ROM 只读存储器
RAM 随机存储器 图 4.2 CPU 卡结构示意图
EEPROM 可编程存储器
SmartCard
• 智能(CPU)卡内嵌集成电路芯片含有
1)中央处理器:CPU,多为8位,通常使用 Motorola6805或Intel8051指令集 2)存储系统:只读存储器(ROM,8K~32K,存放COS)、 非易失性存储器(NVM如EEPROM、FLASH ROM,存放用 户数据)、随机访问存储器(RAM,存放临时变量) 3)输入/输出接口:I/O,单一的双向串行通道,只能 支持半双工协议
专用文件DF(Dedicated File):在主文件之下,类似于DOS中的目录; DF之下还可以有DF,称为子专有文件(Child-DF),类似于DOS中 的子目录。 基本文件EF(Elementary File),主要存储实际应用数据和相应 的系统管理信息,EF可以存在于任何一个文件层次上。类似于DOS中 的文件。
Security & Chip Card ICs ——SLE 66CX160P
16-Bit Security Controller with Memory Management and Protection Unit in 0.25 µm CMOS Technology 64 Kbyte ROM, 3 Kbytes RAM, 16 Kbyte EEPROM 1100-Bit Advanced Crypto Engine and 64-Bit DES Accelerator
SmartCard
用户存储器的组织管理
按ISO/IEC 7816标准规定,智能(CPU)卡中的数据在用户存储器 (EEPROM)中以树型文件结构的形式组织存放。 文件分成三种层次级别:
主文件MF(Master File):形成文件系统的根,类似于DOS中的根目 录;主文件只能有一个并且随操作系统一起生成,用户无法控制;
SmartCard
CPU卡应用领域
移动通信 SIM卡 金融 借记卡、 信用卡 身份认证 身份证、 电子护照
安全、加密 网上交易 安全证书
数字电视 用户卡
SmartCard
典型的CPU卡芯片
• Infineon(亿恒)CPU卡芯片
– SLE22系列:低成本、单一应用、精简型 – SLE11系列:GSM应用 – SLE44系列:GSM、银行应用 – SLE66系列:高性能、增强型 – SLE66P系列:面向多应用,更高性能 – SLE88系列:支持JAVA等开放平台 目前已通过中国人民银行检测中心测试的金融IC 卡几乎全部采用了亿恒的芯片。 SmartCard
交易明细文件
基本文件结构
• 二进制结构 :数据以字节为单位进行读写
• 线性定长记录文件结构 :以固定的长度来处理每条
记录。通过逻辑上连续的记录号,可访问这类记录
• 线性变长记录文件结构 :每条记录的长度可以各不
相同。仍然是以记录号来访问各条记录。
• 循环定长记录文件结构 :可看作一个环形记录队列,
SmartCard
SmartCard
VCC :Operating voltage RST: Reset input CLK: Processor clock input GND: Ground I/O :Bi-directional data port
类8051的增强型16位结构,执行
速度比标准8051产品快18倍
为智能卡应用优化的强大扩展指令集 存储器管理和保护单元MMU
MMU能灵活地管理存储 器空间,能安全地分开操 作系统和应用。这样,即 使是在卡片发行后,应用 仍然能够安全地下载到芯 片中,特别适合多应用操 作系统的要求。
高级加密引擎
加密算法加速器 真正的随机数产生器
在芯片外部工作频率为1MHz-7.5MHz 时,PLL模块能使芯片内部频率提升为最 大15MHz,这样能在适当增大功耗的前 提下大大减少算法的运算时间。 同电脑系统一样,66P内置了 UART模块专门管理I/O以减轻 CPU负担,实现并行操作。 UART支持T=0,T=1半双工通 信协议,相关的传输参数如停 止位个数能用软件设置。