CPU卡入门教程
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)进行操作呢?比如说我们要打一个人,我们必须先找到那个将要倒霉被打的人。
同样,我们要对一个文件操作,首先,我们必须先找到要操作的那个文件。
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芯片安全的实现为了保证智能卡的安全应用芯片制造商与卡的发行商要明确各自的职责
