CPU卡入门教程
CPU卡操作二进制文件
标签: ZZ操作卡片文件命令--读二进制(READ BINARY)1、命令功能描述读二进制命令用于读取二进制文件的全部或者部分内容。
每次读取内容在256Byte以内,如果需要读取超过256Byte的内容的话,需要通过多次操作完成。
对二进制文件读取操作前需要满足二进制文件描述块中关于读操作的安全控制的要求。
2、命令报文格式命令的APDU内容如下所示:[b] 代码值[/b]CLA 0x00INS 0xB0P1 应用控制参数P2 应用控制参数Lc 不存在Data 不存在Le 0x00或者要读取数据的长度其中:* 如果P1的最高位b8为1时,b6和b7位必须为0,b5-b1位表示待读取的EF文件的SFI;这时P2表示要读取数据起始位置在文件中的偏移量。
* 如果P1的最高位为0时,P1的后7位和P2相连共同组成了一个超过256的整数,表示待读取数据块的起始位置在文件中的偏移量,可以用于超过256Byte文件的读取。
* Le为00时,表示读取最大长度,此时最多读取256Byte。
3、响应报文数据响应报文数据为读取的数据,最大长度为256Byte。
4、响应报文状态码此命令执行成功的状态码为0x9000。
对于异常情况,IC卡可能回送的错误码如下所示:[b] SW1 SW2 含义[/b]0x62 0x81 回送的数据中部分内容可能出错0x62 0x82 读取的数据长度小于Le0x67 0x00 Lc域为空0x69 0x81 命令和文件格式不相容0x69 0x82 不满足安全状态0x69 0x86 不满足命令执行条件(当前EF错误)0x6A 0x81 不支持此功能0x6A 0x82 文件没有找到0x6A 0x86 P1、P2不正确0x6B 0x00 偏移地址错误0x6D 0x00 INS错误0x6E 0x00 CLA错误0x93 0x03 应用永久锁定5、命令实现的其他要求如果卡片不支持大文件的读写操作,可以不实现超过256Byte数据操作。
FM1208非接触CPU应知应会
2
1、FM1208的销售模式?..........................................................................................................3 2、目前FM1208根据COS及客户应用的不同有几个产品,价格怎样?................................3
三、卡片部分....................................................................................................................................3 1、卡片设计遵循的标准、知识产权归属?..........................................................................3 2、复旦的CPU卡通过了哪些专业检测?................................................................................3 3、CPU卡的频率在多少范围效果最好,加工时与M1卡有什么不同?................................3 4、卡片读写距离......................................................................................................................3 5、卡厂生产后如何检测CPU卡好坏?CPU卡的测试软件和硬件我司能否提供?..............3 6、CPU卡全检耗时太多,有没有更好的解决方案?检测机具能否涵盖最基本的COS指令 ,能否脱机检测(生产检测现场没有电脑)?....................................................................3 7、FM1208M01(1+7)的安全性能如何?作为过渡产品在门禁、消费等领域当M1应用 时,是否一样存在M1被破解的危险?对于这样的情况我们如何预防?..................................3 8、CPU卡在互联互通应用中为什么更加方便?....................................................................3
CPU卡系统原理说明
CPU卡系统原理卡结构说明发卡器具有4个功能:发母卡,发PSAM卡,发用户卡,读用户卡。
一、发母卡:1、选择母卡根目录,用母卡出厂密钥进行外部认证,擦除卡片内容2、建立母卡根目录下的KEY文件,写入母卡主控密钥,此主控密钥和出厂密钥相同3、创建一个ADF目录,建立ADF目录下的KEY文件4、在ADF的KEY文件里写入4个密钥:导出密钥1:用来导出密钥到标准算法的PSAM卡和CPU卡导出密钥2:用来导出密钥到国密算法的PSAM卡和CPU卡导出保护密钥1:等于PSAM的根目录的主控密钥,用于把导出密钥加密写到PSAM卡导出保护密钥2:等于用户卡的根目录的主控密钥,用于把分散后的导出密钥加密写入用户卡。
根据用户输入的3个因子生成导出密钥1和导出密钥2.二、发PSAM卡:1、选择PSAM卡根目录,用PSAM卡出厂密钥进行外部认证,擦除卡片内容。
2、建立PSAM根目录下的KEY文件,写入PSAM卡主控密钥,此主控密钥和出厂密钥相同。
3、创建一个ADF目录,建立ADF目录下的KEY文件4、选择母卡的ADF目录,选择PSAM卡的ADF目录,对标准算法,用导出保护密钥1加密导出密钥1,不分散,把得到的密文写入到PSAM 卡的ADF目录下的KEY文件。
做为加密密钥。
对国密算法,用导出保护密钥1加密导出密钥2,不分散,把得到的密文写入到PSAM 卡的ADF目录下的KEY文件。
做为加密密钥。
三、发用户卡1、读用户CPU卡的4字节UID,组合成8字节分散因子。
2、选择CPU卡根目录,用CPU卡出厂密钥进行外部认证,擦除卡片内容。
3、建立根目录下KEY文件,写入CPU卡主控密钥,此主控密钥和出厂密钥相同4、创建一个ADF目录,建立ADF目录下的KEY文件。
5、选择母卡ADF目录,选择CPU卡ADF目录对标准算法,用导出保护密钥2加密导出密钥1,用CPU卡UID组合成的8字节做为分散因子,把得到的密文写入到CPU卡的ADF目录下的KEY文件。
300CPU 存储器介绍及存储卡使用
西门子S7-300CPU 存储器介绍及存储卡使用MMC 卡是一种FEPROM 卡,用于新型的S7-300 CPU,包括紧凑型CPU和由标准型更新的新型CPU。
新型CPU均没有内置的装载存储器,必须使用MMC 卡作为其装载存储器保存用户数据。
CPU掉电时,会自动将工作存储器中的数据拷贝到MMC中,保存DB块数据。
MMC 卡需要用户根据程序大小单独订货,选型时建议大于CPU 工作内存,CPU313,CPU314,CPU315-2DP,CPU317-2DP 系列CPU的可插拔MMC卡最大支持8 MB ,其他最高支持4 MB 用于新型S7-300 CPU的MMC 卡(Micro Memory Card )型号如下:64 KB 6ES7 953-8LF11-0AA0128 KB 6ES7 953-8LG11-0AA0512 KB 6ES7 953-8LJ11-0AA02 MB 6ES7 953-8LL11-0AA0 字串74 MB 6ES7 953-8LM11-0AA08 MB 6ES7 953-8LP11-0AA02.MMC卡使用寿命MMC的使用寿命主要取决于以下因素:(1). 删除或编程步骤的数量。
使用MMC的CPU有SFC 82,83,84等特性,可以进行数据的读写:SFC82“CREA_DBL”:在装载内存(Load Memory)中生成数据块SFC83“READ_DBL”:读装载内存(Load Memory)中的数据块S FC84“WRIT_DBL”:写数据块(内容)到装载内存(Load Memory)即MMC卡中。
但是,请注意由于MMC卡重复写入的次数是有限的,所以当调用SFC 84向MMC卡写数时最好只在相应的时间间隔(例如每小时,每天...)调用。
如果MMC卡在保存时发生故障,相的调用块会发出否定应答,其结果存放在程序的返回值(RET_VAL)中。
错误就会记录在CP的诊断缓冲区中。
字串5(2). 外界影响,例如周围温度。
cpu扩展ram芯片的基本方法
CPU扩展RAM(Random Access Memory)芯片是增加计算机系统内存容量的一种常见方法。
以下是一些基本的方法来扩展RAM芯片:
插槽升级:许多计算机系统具有用于插入RAM芯片的插槽。
通过添加更多的RAM模块或替换现有的RAM模块来扩展RAM容量。
这通常涉及打开计算机的机箱,找到RAM插槽,并将新的RAM插入其中。
确保选择与计算机兼容的RAM模块,并遵循制造商的安装指南。
内置RAM板卡:某些计算机系统具有可添加的RAM板卡插槽,允许直接安装更多的RAM。
这些板卡可以插入到主板上的扩展插槽中,并通过连接器与计算机系统进行通信。
安装RAM 板卡可能需要一些专业知识和技能,因此在操作之前请仔细阅读相关文档或寻求专业帮助。
虚拟内存管理:操作系统可以使用虚拟内存管理技术来扩展RAM容量。
虚拟内存允许将部分数据存储在硬盘上,以释放RAM的部分负担。
这样,计算机可以使用硬盘作为扩展的"虚拟"RAM。
尽管虚拟内存可以提供更大的可用内存空间,但与实际RAM相比,它的读写速度较慢,可能会影响系统性能。
需要注意的是,扩展RAM容量可能需要考虑计算机的硬件和操作系统的限制。
确保了解计算机的规格和支持的RAM类型,以及操作系统对RAM容量的限制。
此外,为了获得最佳性能,建议选择高质量、与系统兼容的RAM模块,并遵循相关的安装和配置指南。
CPU卡说明
COS和CPU卡的关系
v
CPU卡的核心是卡片操作系统(Card Operation System/Chip Operation System) COS是一个比较小的非常完整严密的系统 管理着卡片的一举一动 外界对CPU卡发布的所有命令都需要通过COS才能对卡起作用 COS控制CPU卡和外界的信息交换、管理CPU卡内的存储器并 在卡内部完成各种命令的处理
Mifare One卡存取控制 (3)
v
数据块(块0、块1、块2)的存取控制如下:
C1X 0 0 1 1 0 0 1 1 C2X 0 1 0 1 0 1 0 1 C3X 0 0 0 0 1 1 1 1 Read KeyA|B KeyA|B KeyA|B KeyA|B KeyA|B KeyB KeyB Never Write KeyA|B Never KeyB KeyB Never KeyB Never Never Increment KeyA|B Never Never KeyB Never Never Never Never Decrement, transfer, restore KeyA|B Never Never KeyA|B KeyA|B Never Never Never
v v
KeyA|B 表示密码A或密码B,Never表示任何条件下不能实现 例如:当块0的存取控制位C10 C20 C30=100时,验证密码A或密码B正确后可读;验证密码 B正确后可写;不能进行加值、减值操作
Mifare One卡存取控制 (4)
v
控制块(块3)的存取控制与数据块(块0、1、2)不同,它的存取控制 如下:
bit 字节6 字节7 字节8 字节9 7 C23_b C13 C33 0 6 C22_b C12 C32 1 5 C21_b C11 C31 1 4 C20_b C10 C30 0 3 C13_b C33_b C23 1 2 C12_b C32_b C22 0 1 C11_b C31_b C21 0 0 C10_b C30_b C20 1
CPU卡认证与操作
CPU卡认证与操作一、实验目的1)实践阅读器对CPU卡Pin认证,理解卡认证过程2)实践阅读器对CPU卡外部Key认证,理解卡认证过程3)实践阅读器对CPU卡操作目录,理解卡目录结构4)实践阅读器对CPU卡读写文件,理解卡文件读写方式二、实验流程1)分析实验要求,确定程序步骤2)小组成员合作编写符合试验要求的程序并进行验证操作3)教师验收三、实验分工代码实现:扈景玉张娅娟肖彩娣周晓芳实验报告:张娅娟扈景玉四、编程与验证1)编程环境:操作系统Windows XPIDE:Visual studio 6.02)预定目标:以程序按钮的方式,实现CPU卡的初始化、显示等几种基本操作,每个按钮可以互相独立,不受干扰3)编程注意点:每个按钮都需实现独立操作,故每个按钮都必须集成dc_init, dc_requset, dc_anticoll, dc_select四个函数,在操作CPU卡函数时需注意验证区号与操作区号间的对应关系4)以下是部分实现代码:void CText33333Dlg::OnButton1(){// TODO: Add your control notification handl er cod e here UpdateData(TRUE);icd ev=d c_init(100,9600); //100表示USB口if((l ong)icd ev<=0)AfxMessageBox("Init Com Error!");elseAfxMessageBox("Init Com OK!");d c_beep(icd ev,10);return;}void CText33333Dlg::OnButton2(){// TODO: Ad d your control notification handl er cod e hereint st;st=d c_reset(icd ev,1);if(st<0){AfxMessageBox("d c_reset Error!");return;}AfxMessageBox("dc_reset ok!");}void CText33333Dlg::OnButton3(){// TODO: Ad d your control notification handl er cod e here int st;unsigned l ong cardsnr;unsigned char sss[5];unsigned __int16 ttt;st=d c_request(icd ev,1,&ttt);if(st!=0){AfxMessageBox("request Card Error!");return;}st=d c_anticoll(icd ev,0,&cardsnr);if(st!=0){AfxMessageBox("anticoll Error!");return;}st=d c_sel ect(icd ev,cardsnr,sss);if(st!=0){AfxMessageBox("d c_select Error!");return;}AfxMessageBox("ok");void CText33333Dlg::OnButton4(){// TODO: Ad d your control notification handl er cod e here unsigned char crl en[2],recbuff[300];int st;st=d c_pro_resethex(icd ev,crl en,(char *)recbuff);if(st!=0){AfxMessageBox("d c_pro_reset Card Error!");return;}m_result=recbuff;UpdateData(false);return;}五、总结1)整个实验中按钮ID号十分重要,如果随意更改添加可能造成程序运行失败、按钮失效等问题2) 相近性质的函数可以用函数数组的方式进行管理3) 实验过程中认真细心十分重要4)实验过程中一定要注意引入所需要的头文件以及其他信息5)在对CPU卡进行操作之前一定要仔细阅读并了解其结构以及每个扇区的作用。
PBOC之CPU卡FM1208的发卡指令讲解
一、符合 PBOC 标准的 CPU 卡结构讲解
二、MF 下的文件建立及装载操作 1、建 3F00 下 0000 密钥文件 2、装载 3F00 下的密钥 装载 8 字节的线路保护密钥 装载 16 字节的外部认证密钥 3、建 3F00 下的定长记录文件及增加记录
三、DF 下的文件建立及装载操作(PBOC 应用文件) 1、建 3F01 文件 2、选择 3F01 文件 3、建 3F01 文件目录下的密钥文件 装载 TAC 密钥 装载线路保护密钥 装载外部认证密钥 装载消费密钥 载圈存密钥 装载口令 PIN 密钥: 装载内部密钥
指令的内容的说明如下:
命令报文:
80 D4 01
00
0D
CAL INS P1 P2 密钥标识 LC 数据长度
报文数据:
36
F0
线路保护密钥 使用权
F0 修改权
FF 保留
33 错误计数器
FFFFFFFFFFFFFFFF 8 字节的密钥内容
装载 16 字节的外部认证密钥: 80D401001539F0F0AA88FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
cpu卡工作原理
cpu卡工作原理CPU(Central Processing Unit)是计算机的核心部件,负责执行计算机程序中的指令并进行数据处理。
它可以被视为计算机的大脑,决定了计算机的运行速度和性能。
那么,CPU卡是如何工作的呢?我们需要了解CPU的基本组成。
一个典型的CPU由控制单元、算术逻辑单元(ALU)和寄存器组成。
控制单元负责指令的解码和执行,它从内存中读取指令并将其转化为可以被执行的微操作。
ALU 负责进行算术和逻辑运算,如加法、减法和逻辑与、或运算。
寄存器则用来存储临时数据和地址信息。
CPU卡是一种将CPU集成在一张卡片上的设备,它通常用于嵌入式系统或特定应用场景下的计算设备。
与传统的CPU相比,CPU 卡具有体积小、功耗低、散热效果好等优势。
它一般采用BGA封装技术,将CPU芯片与卡片上的其他元件进行焊接,以实现整体集成和紧凑的设计。
CPU卡的工作原理可以简单描述为以下几个步骤:1. 供电和初始化:当CPU卡插入设备中时,系统会为其提供电源供应。
在供电的同时,CPU卡会进行一系列的初始化操作,包括检测系统硬件环境、加载固件和初始化寄存器等。
2. 指令解码和执行:CPU卡从内存中读取指令,并将其解码为微操作。
控制单元根据解码后的指令类型,将相应的微操作发送到ALU 或其他功能单元执行。
这些微操作可以包括算术运算、逻辑运算、数据传输等。
3. 数据处理和存储:ALU负责执行指令中的算术和逻辑运算。
它从寄存器中读取操作数,并将运算结果存储到指定的寄存器或内存位置。
寄存器在这一过程中起到了临时存储数据和地址信息的作用。
4. 中断处理:CPU卡能够响应外部中断信号,如硬件故障、输入/输出请求等。
当发生中断时,CPU会保存当前的执行状态,并跳转到中断处理程序进行相应的处理。
处理完成后,CPU会恢复到原来的执行状态继续执行。
5. 时钟同步:CPU卡通过时钟信号来同步各个部件的工作。
时钟信号会以固定的频率发出,用于控制指令的执行速度。
CPU卡的设定与读写操作
send 00 E2 00 08 13 61 11 4F 09 A0 00 00 00 03 86 98 07 01 50 04 50 42 4F 43
send 80 E0 01 00 0D 2F 01 0F 00 A0 00 00 00 03 86 98 07 01
send 80 E0 02 00 07 6F 02 05 0F 00 0A 00 send 80 D4 00 00 0A 01 01 00 0B 0F 01 1F 33 12 34 ;安装个人密码PIN1234
指令系统表46mc68hc05sc的指令集类型符号ld从存储器装入a或从存储器装入xst的内容存入存储器或将x的内容存入存储器txataxx的内容传送到aaddamam表示存储器内容下同adc为进位在ccr寄存器中下同subinca1a或x1x或m1mdeca1a或x1x或m1mcomx或mm取反码neg00aa或00xx或00mm智能cpu卡技术续表类型符号asl算术左移asr算术右移lsl逻辑左移lsr逻辑右移rol循环左移ror循环右移tst执行a00或x00根据结果置ccr寄存器中的nbit用m作为屏蔽位选择a的相应位并根据选择结果置ncmpam置条件码cpxxm置条件码sec进位位置11cclc进位位清除0csei中断屏蔽位置11ii为中断屏蔽位ccrcli中断屏蔽位清除0ieor逻辑指令智能cpu卡技术续表bhi如cz0转移大于转移bhs如c0转移大于等于转移bpl如n0转移正转移bmi如n1转移负转移beq如z1转移相等转移bne如z0转移不等转移bls如cz0转移小于等于转移blo如c1转移小于转移bcs如c1转移进位位为1转移bcc如c0转移进位位为0转移bra必转移pcdpcbrn不转移pc2pcbm转移或i1转移bmc或bmsi为中断屏蔽位biirq1转移或irq0转移irq为中断请求线bhc转移或h1转移根据ccr位转移bset根据a置存储器相应位1mnmn表示存储器m对应的比特位bclr根据a清存储器相应位0mnbrclr如存储器中的某指定位为0转移brset如存储器中的某指定位为1转移jmp转移智能cpu卡技术续表类型符号jsr转子程序pc堆栈sp2sp转移地址pcbsr转子程序pc堆栈sp2sppcdpc转移指令rts从子程序返回地址从堆栈送pcsp2sprti从中断返回swi软中断wait停止处理并等待超时或中断stop下电等待reset或外中断rsp置堆栈指针nop符号表示不操作智能cpu卡技术432芯片安全的实现为了保证智能卡的安全应用芯片制造商与卡的发行商要明确各自的职责
Cpu卡操作的基本方法指令
Cpu卡操作的基本方法指令广州恒天单片机淘宝店一、安全状态,表示卡在当前状态下的一种级别,系统的根目录各应用目录分别具有16种不同的安全状态,值为0~F安全状态值的变化说明:(系统的安全状态的缺省值为0)当前目录的安全状态值在系统复位或选择目录文件成功执行后被置0,比如你当选择下级目录时被置0后,必须在该目录下的口令或外部认证通过后安全状态的值才发生变化。
二、安全属性(就是访问的权限),是指对某个文件操作时必须满足的条件,就是说安全状态的值是啥?建立文件时用一个字节表示。
访问权限说明:实际使用中一般用1个字节(16进制)来表示状态,低4位表示安全级别下限(0-15),高4位表示安全级别上限(0-15)(0<=Y Y<=F)假设一字节的值为:XY(0<=X<=F)(0<=比如访问权限为FY时,必须要求当前安全状态的值大于等于Y,否则提示:安全状态不满足!例:某文件件的读权限为F5,则对该文件的读之前,安全状态的值要大于或等于5.如访问权限为XY:1:若X>Y,表示当前目录的安全状态值必须大于或等于Y且小于等于X!例:访问权限为F0:表示安全状态值范围0~F,也就是表示对文件的访问无安全限制(即这个文件随便都可以访问。
2:若X=Y,表示当前目录的安全状态值必须等于X(或Y)例:访问权限为33:表示安全状态值范围只有为3,才能对该文件的访问。
3:若X<Y,表示不允许对该文件操作,也就是说这个文件被禁止访问。
三、安全机制,也就是改变安全状态的值的手段方法,如何改变呢?方法是:通过外部认证或密码口令。
1、当在MF下,认证成功后,同时改变MF和当前所在目录的安全状态值。
2、若不在MF下,认证成功后,只改变当前目录的安全状态值。
使用说明:当建立外部认证密钥或口令时,其中有一个字节为“后续状态”也就是说密钥或口令通过后系统的安全状态值等于后续状态的值,例:某口令的后续状态为01,表示验证成功后,当前目录的安全状态值为01,你如果离开了当前目录时,安全状态值会自动置为0对于FMCOS的所有文件,在创建时都需要设置它的访问权限,包括读权限、写权限、使用权限、更改权限等。
S7-400CPU存储器介绍及存储卡使用
S7-400CPU存储器介绍及存储卡使用目前用于S7-400CPU存储卡有以下三种:1.RAM卡:用来扩展S7-400 CPU的内置RAM装载存储区,需要后备电池保持。
2.Flash EPROM卡:简称FEPROM卡,它也可以扩展CPU的内置RAM装载存储区,但更重要的作用是作为程序备份,卡中的程序不需要后备电池保持。
3.扩展工作存储器的RAM卡:只用于CPU417-4 (6ES7 417-4XL00-0AB0 版本V1.1~V3.1)S7-400 CPU的存储区可以划分为三个区域:系统存储器(System Memory)、工作存储器(Work Memory)、装载存储器(Load Memory)1.系统存储器:系统存储器(System Memory)用于存放输入输出过程映像区(PII,PIQ)、位存储器(M)、定时器(T)和计数器(C))、块堆栈和中断堆栈以及临时存储器(本地数据堆栈Local data Lack)。
2.工作存储器:工作存储器(Work Memory)用于存放与运行相关的程序和数据。
S7-400CPU的工作存储器,一半用于存储与运行相关的程序代码(Code Memory),另一半存储与运行相关的数据(Data),这是一个固定分配。
工作存储器集成在CPU中且不能扩展,通过后备电池保持。
如果工作内存对于一个应用程序来说不够大,则必须使用带有更大内存的CPU。
除了CPU417-4 (6ES7 417-4XL00-0AB0 V1.1~V3.1)可以通过插入专用的存储卡来扩展工作存储器外,其它型号的CPU的工作存储器都无法扩展。
3.装载存储器:装载存储器(Load Memory)是存放用户项目中不包含符号地址分配或注释(这些保留在编程设备的存储器中)的所有用户程序和数据。
装载存储器可以是外部扩展存储卡或是内部集成的RAM。
在S7-400中,存储器卡(RAM 或Flash EPROM) 可以扩展集成的装载存储器。
复旦cpu卡制作注意事项
6)复旦CPU卡,如果不是标准卡,需另外开模,工期较长而且需另加模具费。
7)复旦CPU卡必须说明采用什么型号的芯片,要白卡还是成 品卡(包括印刷)等。
8)复旦CPU卡的设计尺寸88.5mm×58 mm(含出血位),成品尺寸为85.5mm×54 mm。
9)文件的格式为CORLDRAW(*.cdr)、PHOTOSHOP(*.psd)、Illustrator (*.ai)三种格式,不能用JPG格式,因为JPG格式的图片印刷不清晰。
4)因为每一次印刷是有一定色差的,如果有样卡,会以样卡为主,印刷时尽量接近样卡的颜色,但也不可能达到100%。如果客户对颜色要求非常严格,卡的数量又比较大,在货期允许的情况下应先打样以确认印刷效果。量少的单(5000张以下)是拼版印刷的,色差有90%以内视为正常。
5)复旦CPU卡最后印刷出来的颜色效果跟在电脑显示器上看的颜色效果有一定的差异性,即使同一个设计稿件在不同的显示器上看效果也会有所不同{例如在液晶显示器(LCD)上看和在普通显示器(CRT)上看就有所不同。
复旦CPU卡下单时,我们需要注意哪些事项呢?
1)复旦CPU卡打码:CPU卡卡常见的编号工艺是激光码、平码、喷码,最好不要打凸码,因为CPU卡内置芯片和线圈。
2)复旦CPU卡如果需要丝印金底或丝印银底需要特别说明,如没有特别说明,只能按设计颜色直接印制生产。
3)复旦CPU卡的厚度:如果没有特别说明,我们标准厚度为0.92(厚度含加膜)
CPU卡及认证方法
CPU卡及认证方法一、为什么用CPU卡IC卡从接口方式上分,可以分为接触式IC卡、非接触式IC卡及复合卡。
从器件技术上分,可分为非加密存储卡、加密存储卡及CPU卡。
非加密卡没有安全性,可以任意改写卡内的数据,加密存储卡在普通存储卡的基础上加了逻辑加密电路,成了加密存储卡。
逻辑加密存储卡由于采用密码控制逻辑来控制对EEPROM的访问和改写,在使用之前需要校验密码才可以进行写操作,所以对于芯片本身来说是安全的,但在应用上是不安全的。
它有如下不安全性因素:1、密码在线路上是明文传输的,易被截取;2、对于系统商来说,密码及加密算法都是透明的。
3、逻辑加密卡是无法认证应用是否合法的。
例如,假设有人伪造了ATM,你无法知道它的合法性,当您插入信用卡,输入PIN的时候,信用卡的密码就被截获了。
再如INTENET 网上购物,如果用逻辑加密卡,购物者同样无法确定网上商店的合法性。
正是由于逻辑加密卡使用上的不安全因素,促进了CPU卡的发展。
CPU卡可以做到对人、对卡、对系统的三方的合法性认证。
二、CPU卡的三种认证CPU卡具有三种认证方法:持卡者合法性认证——PIN校验卡合法性认证——内部认证系统合法性认证——外部认证持卡者合法性认证:通过持卡人输入个人口令来进行验证的过程。
系统合法性认证(外部认证)过程:系统卡,送随机数X用指定算法、密钥]对随机数加密用指定算法、密钥]解密Y,得结果Z比较X,Z,如果相同则表示系统是合法的;卡的合法性认证(内部认证)过程:系统卡送随机数X用指定算法、密钥]对随机数加密用指定算法、密钥]解密Y,得结果Z比较X,Z,如果相同则表示卡是合法的;在以上认证过程中,密钥是不在线路上以明文出现的,它每次的送出都是经过随机数加密的,而且因为有随机数的参加,确保每次传输的内容不同。
如果截获了没有任何意义。
这不单单是密码对密码的认证,是方法认证方法,就象早期在军队中使用的密码电报,发送方将报文按一定的方法加密成密文发送出去,然后接收方收到后又按一定的方法将密文解密。
CPU卡MAC算法
CPU卡MAC算法说明
MAC1算法
步骤一:用16位卡号1次分散原始充值密钥,得到卡充值密钥(16字节)。
步骤二:用卡充值密钥对随机数(4字节)+卡序号(2字节)+8000进行3DES加密,得到过程密钥(8字节)。
步骤三:用过程密钥对卡余额(4字节)+交易金额(4字节)+交易类型(1字节,默认:02)+终端代号(6字节)进行PBOC-DES-MAC加密,初始向量全0,取前4字节作为MAC1。
举例:
原始充值密钥:0B56712E60D7C2FC9D8418DC6F4D9AF1
卡号:0540020100000001
分散后密钥:51D785D32F6EE8B6AD356BF24B06840B。
如图:
数据域:BE365E3A00008000
过程密钥:A50E991074AFA809,如图:
数据域:00000000000003E802054000010467 MAC1: ADF4B73B。
如图:
MAC2算法
步骤一、步骤二同MAC1计算。
步骤三:用过程密钥对交易金额(4字节)+交易类型(1字节,默认:02)+终端代号(6字节)+ 交易时间(7字节)进行PBOC-DES-MAC加密,初始向量全0,取前4字节作为MAC2。
举例:
沿用MAC1算法举例中过程密钥A50E991074AFA809。
数据域:
00000000000003E80205400001046720171122182856
MAC2:5298DA23。
如图:。
复旦微电子CPU卡COSFMCOS 2_0用户手册
类型 的协议激活 2.1.
A PICC
........................................................................................................... 11
选择应答请求 2.1.1.
................................................................................................................... 12
1.2.4. EEPROM.............................................................................................................................8
功能模块 1.3.
....................................................................................................................................... 8
FMCOS 2.0
用户手册
FMCOS 2.0 目录
FMCOS 2.0 目录 .........................................................................................................2
1. FMCOS 简介......................................................................................................8
FM1208标准CPU卡读卡器操作说明
Date: 2015/01/30
类别 关键词 摘 要
内容
广州盛炬智能科技有限公司
FM1208 标准 CPU 卡读卡器操作说明
修订历史 版本 V1.00 日期 2015/01/30 原因 创建文档
/ i
广州盛炬智能科技有限公司
/ i
广州盛炬智能科技有限公司
FM1208 标准 CPU 卡读卡器操作说明
1.7.2 操作说明 ................................................................................................................... 8 1.8 数据Excel导出 ............................................................................................................. 9 1.8.1 功能描述 ................................................................................................................... 9 1.8.2 操作说明 ................................................................................................................... 9
发卡样式说明如下: 发卡样式 十进制 3 字节 十进制 4 字节 十六进制 3 字节 十六进制 4 字节 ID 卡格式 例子 1715004(十进制) 439041101(十进制) 1A2B3C(十六进制) 1A2B3C4D(十六进制) ID 卡双字节显示格式
上海复旦微CPU卡资料
CPU卡详解目录一、CPU卡的读写原理 (3)a) CPU卡的结构: (4)b)CPU卡的操作: (4)二、CPU卡加密系统与M1加密系统比较 (5)a) 非接触CPU卡与逻辑加密卡介绍 (5)i. 逻辑加密存储卡: (5)ii. 非接触CPU卡: (6)b)非接触CPU卡安全系统与逻辑加密系统的比较 (6)i. 非接触逻辑加密卡 (6)ii. 非接触CPU智能卡 (8)三、如何成功实施CPU卡工程项目 (11)a) 系统架构的变化改造 (11)i. 密钥管理和认证机制 (11)ii. 交易流程 (13)iii. PSAM卡 (15)iv. 卡片个人化 (16)b)项目实施中注意事项 (17)i. 卡片与机具的兼容性测试 (17)ii. 多应用扩展和开放平台 (17)iii. 安全性与交易速度的权衡 (18)随着非接触IC卡技术在国内的逐步推广,非接触应用以其快捷方便的操作方式,日益深入人心,并逐渐成为公共交通、城市通卡建设的首选技术。
早期投入应用的非接触IC卡技术多为逻辑加密卡,比如最为著名的Philips公司(现NXP)的Mifare 1卡片。
非接触逻辑加密卡技术以其低廉的成本,简明的交易流程,较简单的系统架构,迅速得到了用户的青睐,并得到了快速的应用和发展。
据不完全统计,截至去年年底,国内各领域非接触逻辑加密卡的发卡量已经达到数亿张。
随着非接触逻辑加密卡不断应用的过程,非接触逻辑加密卡技术的不足之处也日益暴露,难以满足更高的安全性和更复杂的多应用的需求。
因此,非接触CPU卡技术正成为一种技术上更新换代的选择。
一、 CPU卡的读写原理一般来说,对存储卡和逻辑加密卡操作,使用接触式IC卡通用读写器;对CPU卡使用CPU卡读写器。
所谓“通用读卡器”是指它可以对大多数流行的存储卡和逻辑加密卡操作。
而CPU卡由于有ISO/IEC 7816.3/4的规范,其通讯协议、命令格式都是兼容的,被看作是一种卡。
CPU卡用户手册剪切
建立密钥文件:80E00001073F001F00F0FFFF建立定长记录文件:80E00002072A030CF0F0FF80写记录文件:读定长记录文件:00B2011400建立目录文件:80E0000F103800FFF0F095FFFF0000000000000000建立密钥:80D401000D39F0F0AAFF0000000000000000删除文件:800E000000子目录密钥文件:80E00005073F001F80F0FFFF0000000000000000(后16个0为目录文件名称)选择文件:00A4000002000F00(000F为文件标示符)建立密钥文件:80E00001073F001F00F0FFFF建立外部认证密钥:80D401000D39F0F0AAFF FFFFFFFFFFFFFFFF建立目录文件:80E0000F103800FFF0F095FFFF0000000000000000选择文件:00A4000002000F00(000F为文件标示符)建立子目录密钥文件:80E00001073F001F80F0FFFF选择文件:00A4000002000100增加口令密钥:80D40101083AF0EFAAFF000000建立定长记录文件:80E00002072A030CFAFAFF80建立变长记录文件:80E00002072C000FFAFAFF80选择文件:00A4000002000200写记录文件:读定长记录文件:00B2011400选择MF:00A40000023F00删除文件:800E000000选择文件:00A4000002000F00(000F为文件标示符)验证口令:0020000103000000建立密钥文件:80E00001073F001F00F0FFFF建立外部认证密钥:80D401000D39F0F0AAFF0000000000000000 建立目录文件:80E0000F103800FFF0F095FFFF0000000000000000。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
CPU卡入门教程1绪言:说起CPU卡,人们肯定不禁要问,什么是CPU卡,CPU卡长什么样的呢?想起卡,一般人接触最多的是银行卡,相信现在大家每个人的钱包里都有好几张磁卡。
比如说:有工商行、建行的储蓄卡。
但我们所说的CPU卡,是卡上面有个芯片的卡,现实生活中接触最多的应该是IC卡电话卡、买电的卡。
但以上的卡都不是CPU卡,长得和电话卡、买电的卡一样。
但卡的芯片里有CPU,我们手机里用的SIM卡就是CPU卡的一种。
我们可以把CPU卡想象成一个极小的个人计算机,但这个计算机没有显示器,没有电源,没有输入设备。
要使用CPU卡的时候,必须由外部提供电源、显示屏和输入设备。
比如说现在我要往手机的SIM卡内存入一个电话号码.1、我的手机必须有电---提供电源2、我的手机必须有提供输入电话号码的手机按键--提供输入3、我的手机必须能有显示电话号码的显示屏---提供显示以上我们对CPU卡有了大概的了解,有可能比喻不是很恰当。
2.我们为什么要使用CPU卡呢?先谈谈银行磁卡的不安全性,经常去ATM取钱的必须注意如下事项:1、输入密码的时候必须防止被别人看到,最好能用手遮着。
2、取完钱一定要取走打印的单据,或者不打印单据也行。
看看犯罪分子怎样窃取你卡片里头的钱:1、在你取钱的时候凑在你旁边,偷偷得记下你的密码,或者在很远的地方用望远镜窥视你的密码。
2、你取完钱走后,有可能安全意识不高,没有取走打印的单据,犯罪分子就乘机取走单据,取走单据的目的是为了知道你的卡号。
有了上面两点,首先:犯罪分子先复制一张和你的银行卡一摸一样的银行卡。
并且复制的成本非常低,只要有一台PC,一个磁卡写卡器(价格很便宜),一个小软件。
其次:犯罪分子又已经有了你的密码。
这样,犯罪分子就可以拿着你的卡去潇洒地消费、取钱了,而你却还蒙在鼓里。
直到某一天,当你发现你的卡里的钱突然变少了,或者没了,但一切为时已晚。
为什么会出现这种情况呢?那就是磁卡太容易就可以被复制。
那我们必须去寻找一种不能被复制的卡,什么卡呢?这就是CPU卡。
而CPU卡又属于IC卡的一种。
什么是IC卡呢?IC卡分为几种呢?IC卡是英文"集成电路卡"的缩写,是近年来传入中国的一项新技术。
它是把具有存储、运算等功能的集成电路芯片压制在塑料片上,使其成为能存储、转载、传递、处理数据的载体。
IC卡从其功能上分为三种:1) 存储器卡。
2) 带加密逻辑存储器卡:内有COS(卡操作系统)的一种存储器卡。
3) CPU智能卡:内有CPU(中央处理单元)的一种存储器卡。
以上三种卡只有CPU卡被证实是最安全的。
CPU卡在实际情况中是怎么使用的呢?CPU卡使用的简单情况举例:(如图)硬件:一台PC+一个读卡器+一张CPU卡读卡器和PC是通过串口进行通讯,这种做法比较常见。
软件:一个在PC上运行能读写CPU卡的小程序(一般读卡器提供商都会提供开发CPU卡的函数接口和读写CPU卡的小工具)对CPU卡的操作的流程是怎样的呢?1、PC上的CPU卡读写程序向PC的串口(比如说串口1)发指令2、读卡器和串口1是连在一起的,串口的指令传到读卡器3、读卡器又把指令传给CPU卡4、CPU卡内部执行指令,返回消息那指令的格式又是什么样的呢?我们可以举这么一个例子:用过DOS的人都知道:CD C:\这个指令表示进入C盘根目录相应的CPU卡有这么一个指令:SELECT MF这个指令表示进入卡片的根目录,但由于CPU卡的操作系统比较简单,它处理不了这种纯粹字符的东西,向卡片指令的时候必须把指令转换成十六进制的格式:转换成卡片的指令格式是:00 A4 00 00 02 3F 00每个字符的具体规定在ISO7816-4中有具体的规定。
大家有兴趣的话可以去查具体的标准,以下是比较枯燥的IC卡的国际标准:1、物理特性符合ISO7816:1987中规定的各类识别卡的物理特性和ISO7813中规定的金融交易卡的全部尺寸要求,此外还应符合国际标准ISO7816— 1:1987规定的附加特性、机械强度和静电测试方法。
2.触点尺寸与位置。
应符合国际标准ISO7816—2:1988中的规定。
3.电信号与传输协议。
IC卡与接口设备之间电源及信息交换应符合ISO/IEC7816— 3:1989的规定。
4.行业间交换用命令。
有相应的国际标准ISO/IEC7816—4:1994。
但该版本尚未正式通过。
5.应用标识符的编号系统和注册过程应符合国际标准ISO/IEC7816— 5:1994中的规定。
感应式智能卡的国际标准有:ISO\IEC10536-1:1992、ISO\IEC10536-2:1995、ISO\IECDIS10536-3:1995、ISO14443-2等。
CPU卡入门教程4对于CPU卡,人们经常关注的是CPU卡的多应用,也就是说一张CPU卡上可以有多个应用,多应用的安全相互隔离,那么多应用究竟是什么呢?我们可以把卡片想象成一栋县政府办公大楼,比如说:一楼:属于民政部门二楼:属于教育部门三楼:属于交通部门各个部门独立办公,互不干涉,在行政上他们并没有从属关系。
从而达到了多应用并存。
民政部门智能办理民政部门的事情,教育部门只能办教育部门的事情。
从而达到了多应用的安全相互隔离。
一、多应用并存于一张卡片上多应用共存在卡片上是怎么达到的呢?通过创建多个ADF(即创建多个目录)达到。
每个ADF代表一个应用。
每个ADF下有相应的文件,相应的文件中存放相应的数据。
二、多应用之间的安全相互隔离多应用之间的安全相互隔离是怎么达到的呢?通过卡片内部的安全机制来实现。
CPU卡的文件结构1CPU卡作为信息的载体,在卡片里必须能存储信息,比如说,存放一个人的身份信息在CPU卡上(包括姓名、年龄、工作单位、职务、电话等),这些具体的信息在CPU卡中是怎么存放的呢?请听我细细道来。
在这个时候,我们可以把CPU卡想象为一张软盘,只不过软盘的容量比CPU卡大得多,我们现在软盘的容量一般为1.4M字节,而我们现在常用的CPU卡的容量仅仅为8K或者16K字节,远远比软盘的容量小。
当然了,容量越大的CPU卡价格越贵。
请看下面例子假设我们把以上所说的一个人的身份信息存放在pm.txt中。
pm.txt在一张软盘中的存放方式方式一:A:\pm.txt方式二:A:\adf1\pm.txt方式三:A:\ddf1\adf1\pm.txt以上是信息在软盘中的存放方式。
大家请看ISO7816-4规定的CPU卡内逻辑文件组织结构的举例,见下图:大家可以可以看到最多只有三层目录。
这是由于实际应用中只要有三层目录就够了。
所以现在的CPU卡一般都是最多只支持三层目录的,有的国外的卡只支持两层目录(实际上两层目录一般时候也够用)。
请看下面例子(可以对比软盘的方式看)假设我们把以上所说的一个人的身份信息存放在EF1中。
方式1:MF 方式2:MF 方式3:MF\ \ \EF1 ADF1 DDF1\ \EF1 ADF1\EF1由于CPU卡的文件操作系统远比DOS或者WINDOWS操作系统简单,说句不好听的话,可以说是“小巫见大巫”。
不过这可以理解,毕竟在这么小的一个芯片上暂时不能实现象DOS或者WINDOWS那样强大的操作系统。
所以对文件的规定,对文件的创建、文件的操作比较麻烦。
不同之处在于:1、CPU卡创建一个文件时必须先声明创建的文件的类型以及创建文件的空间大小。
在软盘或者硬盘上则可以不指定文件长度。
2、CPU卡创建完一个文件后不可以删除。
(测试发卡的时候可以例外,但删除的是MF,即删除卡片中的所有文件和目录)3、CPU卡文件类型只有很少几种,没有后缀名。
4、CPU卡创建文件、写文件必须通过向卡片发送APDU报文的方式进行,并且每次写的字节数不能超过256字节,比较麻烦。
CPU卡的文件结构2【CPU卡的文件类型】<两种专用文件(DF--Dedicated File)类型>MF(Master File):根目录,是卡片文件系统的根,相当于DOS的根目录,每张卡有且只有一个MF文件。
不同卡片厂商的MF的创建方式是不同的。
主要有两种方式:1、在卡片个人化过程中由发卡方创建。
如明华、德生卡片2、厂商提供卡片的时候已经创建,发卡方不能再创建。
如握奇卡片DF(Dedicated File):DF相当于DOS的子目录。
DDF和ADF:我们把包含下级目录的DF称之为DDF,不包含下级目录的称之为ADF。
注意:DDF下可以有ADF,ADF下不能再有ADF。
<三种基本文件(EF--Elementary File)类型>一、透明文件:基本文件存储了各种应用的数据和管理信息,它存在于MF和DF下。
文件数据是通过连续空间中的字节地址进行存取。
比如上节中说的个人身份信息就可以存放在透明文件中。
二、记录文件:数据是以记录的方式存放在文件中的。
记录文件分为以下几种:1、线性定长记录文件:一个文件中有n条记录,每条记录的长度都是固定且相等的。
2、线性变长记录文件:文件中的每个记录的长度是可变的。
但一旦写完后,进行更新的时候,更新的记录长度必须和原来的记录长度相同。
变长记录的TLV格式如下:T=TAG:标识L=LENTGTH:长度V=value:值3、循环定长记录文件:一个文件中所有记录是等长度的,对文件中的记录循环进行读取。
在逻辑上,这类文件可看作一个环形记录队列,记录按照先进先出的原则存储。
添加记录时,最新一次写入的记录的记录号为1,上一次写入的记录的记录号为2,依次类推,滚动写入。
三、交易文件这一类的文件为特定格式的文件,通过具体的交易指令对这类文件进行操作。
如:1、电子存折文件2、电子钱包文件<安全文件>此类文件是和安全有关的文件,所以对文件的访问控制就特别严格,对文件只能进行写入,文件是不可读的。
文件内存放有关卡片安全的密钥和口令。
但或许大家有疑问,文件要是不可读,那这文件还有什么用呢?在实际中它是这么被使用的,比如说我们要使用某个密钥,在卡片中每个密钥都有编号,我们在使用中通过指定卡片的密钥号(即:我们使用的是第几号密钥)来使用密钥。
比如说我们使用口令,我们通过向卡片送入口令来进行使用口令。
而具体的比对口令和用密钥的计算是在卡片的内部进行了。
所以这种措施保证了卡片的密钥和口令的安全。
对CPU卡中文件的操作[原创]我们有什么办法可以对文件操作呢?比如我们要对个人基本信息文件pm.txt进行操作,在DOS下我们可以用EDIT pm.txt进行编辑,在WINDOWS下我们可以双击pm.txt,用文本编辑器打开文件。
但在CPU卡中,我们怎么对一个文件(比如说EF1)进行操作呢?比如说我们要打一个人,我们必须先找到那个将要倒霉被打的人。
同样,我们要对一个文件操作,首先,我们必须先找到要操作的那个文件。