ATMEL CPU卡及其操作系统.doc_第1页
ATMEL CPU卡及其操作系统.doc_第2页
ATMEL CPU卡及其操作系统.doc_第3页
ATMEL CPU卡及其操作系统.doc_第4页
ATMEL CPU卡及其操作系统.doc_第5页
免费预览已结束,剩余8页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ATMEL CPU卡及其操作系统目录 ATMEL CPU卡简介 ATMEL AT89SC系列CPU卡介绍 ATMEL 89SC168卡 DemoCos 简介 AT90SC3232C带有协处理器的CPU卡ATMEL CPU卡简介AT89SC系列是低电压、高性能的8位微处理器。内含可编程的FLASH、只可一次编程的内存单元(PEROM)和电可擦写数据存储单元(EEPROM)。该89SC系列产品运用ATMEL的高密度CMOS工艺制造,同工业标准的80C51和80C52指令集相兼容。AT90SC系列产品与ATMEL的AVR指令集相兼容,内部带有协处理器。通过将FLASH和一个多性能的8位微处理器集成在单一片上,AT89SC/90SC系列为多种智能卡的应用提供了高度灵活和性能完备的解决方案。值得一提的是,AT89SC/90SC具有专为智能卡应用而设计的特性:如符合ISO7816标准的串行接口,随机数发生器,电源和频率保护逻辑。Device NameFlashEEPROMRAMAT89SC16816 K bytes8 K bytes256 bytesAT89SC168A16 K bytes8 K bytes512 bytesAT89SC1616A16 K bytes16 K bytes512 bytesAT90SC323232 K bytes32K bytes15KbytesAT90SC3232C(协处理器)32 K bytes32K bytes1K bytes我们为喜爱用ATMEL CPU卡和设计COS的客户提供了如下的解决方案: Help customers to use DEMOCOS and design their own COS. -帮助客户使用DEMOCOS和设计自己的COS。 DEMOCOS ( source code ) : it is a completed COS, supports ISO-7816 command and t=0 protocol. -DEMOCOS(提供源代码)是一个完整的COS,支持ISO-7816 命令和T=0协议。 51 ASSEMBLER COMPILER: -51汇编语言编译器 COS (for AT89SC168 ) SOFTWARE SIMULATOR:-COS 软件仿真器(支持AT89SC168)。 READER SOFTWARE SIMULATOR:-读卡器软件仿真器。 READER(support T=0) for upload COS: -可以下载COS的读卡器。ATMEL AT89SC系列CPU卡介绍ATMEL公司的AT89SC系列CPU卡微处理器集成了FLASH程序存储器、EEPROM数据存储器和ISO7816通讯接口,并且引脚符合ISO7816标准。该CPU卡的FLASH程序存储器是可以让用户自行下载的,这样就可以保证用户的COS源代码不会泄露出去。更为优异的是:是否可以重新下载FLSAH完全由用户的COS来设置,这样可以实现重复可下载和一次性下载两种模式。AT89SC系列微处理器提供了两种软件控制的低电压工作方式:l 闲置模式:CPU停止工作,芯片上其他部分继续工作。在闲置状态下,电流大约是芯片处于完全工作状态时电流的15%。l 休眠模式: 芯片上一切活动均被挂起,RAM中还保留数据。在休眠状态下,芯片的电流通常低于15mA,最低可达到0.6mA。同时,由于芯片使用静态逻辑设计,无须时钟持续工作。这就是说,在等待一个内部事件的触发时,时钟频率可以减缓,甚至停止。安全特性:AT89SC系列微处理器提供了下述安全特性:l 低电压保护l 低频保护,防止静态分析l 高频滤波,防止干扰l 传输代码,保护芯片在运输过程中不被盗用l 唯一系列代码当时钟频率低于500KHz或电压低于4V时,芯片会产生一个安全保护中断;当时钟频率高于10MHz或电压低于3V时,芯片处于复位状态,直至电压或时钟频率恢复正常。芯片在运输过程及初始化时受到64位的传输代码的保护。Device NameFlashEEPROMRAMAT89SC16816 K bytes8 K bytes256 bytesAT89SC168A16 K bytes8 K bytes512 bytesAT89SC1616A16 K bytes16 K bytes512 bytesGNDVCCCLKRST8051 coreRandom Word GeneratorRAMFlashEEPROMISO 7816On ChipSecurityBlock Diagram3中国北京市海淀区学院南路70号710室(100081)Major Supplier for Flash Memory & Flash MCUATMEL 89SC168卡 DemoCos 简介如果用户获得了一套ATMEL 168 DEMOCOS,即使不做任何改动,就可以利用它灵活地创建自己的文件和安全系统。DEMOCOS的代码大小为4.5K,分为通讯模块、文件系统模块、和算法模块,但是认证算法比较简单,如果想改变算法(这是目前大多数客户的想法),请将DEMOCOS读懂(这有一定的挑战性,但DEMOCOS是模块化编程,注释详细)后重写算法,也可以添加其他的功能,用户还有很多的程序空间可用。另外,由于ATMEL的CPU卡的不断更新,如容量大小的改变,通讯方式的改变,以及REBOOT方式的改变,ATMEL公司会指导用户对DEMOCOS做相应的调整。一、文件系统1、文件分类设多层目录:MF(3F00)、DF(具体应用目录,最多可以建立15级目录)EF分为SF、KF和WF:SF是密码文件,各层目录均可有一个,存放用户密码。KF是密钥文件,各层目录均可有一个,存放发行商密钥。WF是工作文件,数据文件EF。支持两种标准EF文件结构:线性定长记录、透明二进制。本结构支持一卡多用。2、文件访问方式1) 使用文件标识符(FID)进行访问:每一文件中有两字节长的标识符,允许不同的文件具有相同的标识符,在直接处于给定DF下的所有EF和DF应具有不同的文件标识符。2) 使用短EF文件标识符(SFI)进行访问:短EF文件标识符用5位二进制码(130)表示。短EF文件标识符不能用在路径中或作为文件标识符,如不能用在Select File命令中进行选择。3、数据访问方式1) 访问记录:在记录结构的EF中,可以用记录编号访问记录数据。记录编号是一个无符号的8位整数,其可用值为01HFEH,00H保留于专用,FFH保留于将来使用。2) 访问数据单元:在透明二进制结构的EF文件中,每一个数据单元的位置由命令的偏移值给出,其下一个数据单元的位置由偏移值加数据单元长度后产生。二、安全系统1、密码和密钥管理1) 密码类型SF文件最多由4个密码记录组成,密码编号从0到3依次排列。其中:0号密码默认为用户个人密码;1号密码默认为解锁密码(发行商用);2号密码默认为个人化密码(发行商用);3号密码默认为重装密码(发行商用);2) 密钥KF文件最多由8个密钥记录组成,密码编号从0到7依次排列2、安全规程卡的确认:内部鉴别(鉴别密钥)。终端确认:外部鉴别(鉴别密钥)。持卡人确认:PIN密码提交验证。发行者确认:发行密码提交验证。其他密码验证。对安全系统文件进行写操作时的反插拔与自动恢复。三、命令系统1、命令报文1) 命令结构:命令头命令体CLAINSP1P2LcDataLeCLA:命令类别INS:命令编码P1、P2:命令参数LC:表示DATA域中的数据字节数,DATA:命令数据LE:希望响应时回答的数据字节数,0表示最大可能长度。2) 命令分类:COS命令由具体应用分为4种命令报文结构如下: 情形1CLAINSP1P200 情形2CLAINSP1P2Le 情形3CLAINSP1P2LcData 情形4CLAINSP1P2LcDataLe2、响应报文1) 响应结构响应数据响应状态码DataSW1SW1DATA:返回给用户的数据,即命令的执行结果。SW1、SW2:返回命令处理的状态。3、命令集1) Read Binary功能:此命令用于读取二进制文件部分或全部的内容。格式:代码值CLA00INSB0P1见参数说明P2从文件中读取的第一字节的偏移地址Le期望读出数据的长度2) Update Binary功能:此命令使用给定的数据来更新二进制文件部分或全部的内容。格式:代码值CLA00INSD6P1见参数说明P2要修改的第一字节的偏移地址Lc后续数据域的长度Data修改用的数据3) Read Record功能:此命令用于读取记录文件中指定记录的内容。格式:代码值CLA00 INSB2P1记录号P2见参数说明Le期望读出数据的长度4) Update record功能:此命令使用给定的数据来更新记录文件中指定记录的内容。当所指定的文件非记录文件时,命令将终止。格式:代码值CLA00INSDCP1P1=00表示当前记录P100表示指定的记录号P2见参数说明Lc后续数据域的长度Data更新原有记录的新记录5) Verify PIN功能:此命令将校验给定的密码的正确性,根据比较的结果修改安全状态,若校验失败次数达到PIN尝试上限,则PIN自动锁定。格式:代码值CLA00INS20P100P2Lc0210Data外部输入的个人密码6) Select File功能:此命令使用文件名或应用标示符来选择IC卡内DF或EF。格式:代码值CLA00INSA4P100P200Lc00(选择MF文件)/ 02Data无 / FID7) Get Challenge功能:此命令请求IC卡返回一个用于安全相关过程的随机数。格式:代码值CLA00INS84P100P200Le048) Get Response功能:此命令为T=0协议情形4状态下,用来取卡中返回的数据。格式:代码值CLA00INSC0P100P200Le响应的期望数据最大长度9) Internal Authenticate功能:此命令将为外部设备验证卡中的秘密模块的有效性提供数据。格式:代码值CLA00INS88P100P20007密钥号Lc04Data外部随机数(4字节)10) External Authenticate功能:此命令将验证外部设备中的秘密模块的有效性。格式:代码值CLA00INS82P100P200 07密钥号Lc0CData发卡方认证数据11) Change / Unlock PIN功能:修改、解锁、安装卡片个人密码。格式:代码值CLA00INS5EP100 修改卡片个人密码01 解锁卡片个人密码02 安(重)装卡片个人密码P2密码号LcData12) Unlock Key功能:解锁卡片应用密钥。格式:代码值CLA00INS5CP101 解锁应用密钥02 安装卡片应用密钥P2密钥号Lc无 / 密钥长度Data无 / 加密的密钥13) Create File功能:此命令创建卡片文件系统。格式:代码值CLA00/ 80INSF2P100/ FTP 文件类型P200/ FAC 文件访问控制条件Lc无 / 07DataAT90SC3232C带有协处理器的CPU卡AT90SC3232C是ATMEL公司最新推出的内含协处理器的CPU卡,它以高性能、低功耗的AVR 8位CPU为核心,配合一个16位的协处理器(SC16)完成高速的保密和认证功能。l AT90SCC系列CPU卡的型号如下:型号程序空间EEPROM空间RAM空间协处理器RF接口AT90SC1616C16K Flash16K1KYESNOAT90SC323232K Flash32K1KNONOAT90SC3232C32K Flash32K1KYESNOAT90SC3232CRF32K ROM32K1KYESYESl AT90SC3232C的特征如下:1. 高效、低功耗的AVR RISC CPU:含有120条指令,大多数指令为单个时钟周期。2. 32K字节(16K字)的可下载一千次的程序存储器3. 32K字节的EEPROM数据存储器4. 1K字节RAM5. 16位协处理器,预编程功能可用于保密和认证,一次1024位RSA的算法用220ms6. 监管模式(存储器管理)7. ISO-7816接口8. 随机数发生器9. 16位定时器10. 5个中断源,两个优先级11. 安全特征:掉电保护,低频保护,高频滤波,程序代码加密12. 低功耗闲置模式和掉电模式13. 2.7V-5.5V的工作电压一. AT90SC3232C结构概述:AT90SC3232C是基于AVR RISC增强型结构,有32个工作寄存器均可以单时钟周期访问,高性能的ALU(算术逻辑单元)可在一个时钟周期内完成取指、运算、和输出结果的工作。ALU的操作分为3类:算术、逻辑和位操作功能。在32个工作寄存器中,有6个寄存器可以被组成3对16位的间接寻址指针X、Y、Z。用以提高数据空间的访问速度,其中一个指针还可以用于常数查表。图1,AT90SC3232C结构图I/O空间包括64个地址,用于CPU对外设的访问,如对控制寄存器、定时/计数器、外部中断及ISO 7816引脚的访问。AVR CPU采用哈佛结构,程序区和数据区是分开的,程序存储器使用单级管道流水线访问,即:当一条指令被执行时,下条指令被预先取出,这种机制使得在每个时钟周期CPU都可以执行指令。AT90SCC 的程序计数器(PC)是16位,可以访问64K字的地址空间,大多数的AVR指令都采用16位的字结构。二. 协处理器和RAMAT90SC3232C内含一个16位的协处理器(SC16)和1K字节的RAM,可以方便地实现公共密钥算法(如RSA),它与AVR CPU的接口采用RAM X空间而RAM Y空间被协处理器用做工作区。公共密钥算法(简称公钥算法)简介:算法使用2个密钥,公共密钥(简称公钥)和私有密钥(简称私钥),他们是一对儿。当一个密钥用于加密时,仅有另一个密钥可用于解密,关键特点是在实践中从公钥不能推出私钥,也不能用公钥来完成私钥的解密过程,这样就可以把公钥公开而不会泄密。公钥算法有两个应用:一是信息加密传送,二是认证(如数字签名)。RSA算法是公钥算法的一种,他基于数学上的对大数分解因子的难度。算法中私钥包括两个互质的大数P、Q,和一个幂E,公钥包含一个大数N=P*Q和幂E。设M(明文)是0至N-1之间的数。则加密过程如下:密文C=MEmod(N)而解密过程相反。AT90SC3232C的协处理器(SC16)可以实现公钥和私钥的运算,但是并不能直接生成密钥。它有三个主要的运算功能(均可以对1024位的数据操作)。1. “LOAD MODULUS”功能,即装载N。2. “LOAD PRIMES”功能,即装载P、Q。3. “MODULAR EXPONENTIATION”模幂运算功能

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论