ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:69.35KB ,
资源ID:9114326      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9114326.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(智能卡知识入门教程.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

智能卡知识入门教程.docx

1、智能卡知识入门教程 智能卡(CPU卡)知识入门教程绪言: 说起CPU卡,人们肯定不禁要问,什么是CPU卡,CPU卡长什么样的呢?想起卡,一般人接触最多的是银行卡,相信现在大家每个人的钱包里都有好几张磁卡。比如说:有工商行、建行的储蓄卡。但我们所说的CPU卡,是卡上面有个芯片的卡,现实生活中接触最多的应该是IC卡电话卡、买电的卡。但以上的卡都不是CPU卡,长得和电话卡、买电的卡一样。但卡的芯片里有CPU,我们手机里用的SIM卡就是CPU卡的一种。我们可以把CPU卡想象成一个极小的个人计算机,但这个计算机没有显示器,没有电源,没有输入设备。要使用CPU卡的时候,必须由外部提供电源、显示屏和输入设备

2、。比如说现在我要往手机的SIM卡内存入一个电话号码.1、我的手机必须有电提供电源2、我的手机必须有提供输入电话号码的手机按键提供输入3、我的手机必须能有显示电话号码的显示屏提供显示以上我们对CPU卡有了大概的了解,有可能比喻不是很恰当。第一章 我们为什么要使用CPU卡呢? 先谈谈银行磁卡的不安全性,经常去ATM取钱的必须注意如下事项:1、输入密码的时候必须防止被别人看到,最好能用手遮着。2、取完钱一定要取走打印的单据,或者不打印单据也行。看看犯罪分子怎样窃取你卡片里头的钱:1、在你取钱的时候凑在你旁边,偷偷得记下你的密码,或者在很远的地方用望远镜窥视你的密码。2、你取完钱走后,有可能安全意识不

3、高,没有取走打印的单据,犯罪分子就乘机取走单据,取走单据的目的是为了知道你的卡号。有了上面两点,首先:犯罪分子先复制一张和你的银行卡一摸一样的银行卡。并且复制的成本非常低,只要有一台PC,一个磁卡写卡器(价格很便宜),一个小软件。其次:犯罪分子又已经有了你的密码。这样,犯罪分子就可以拿着你的卡去潇洒地消费、取钱了,而你却还蒙在鼓里。直到某一天,当你发现你的卡里的钱突然变少了,或者没了,但一切为时已晚。为什么会出现这种情况呢?那就是磁卡太容易就可以被复制。那我们必须去寻找一种不能被复制的卡,什么卡呢?这就是CPU卡。而CPU卡又属于IC卡的一种。什么是IC卡呢?IC卡分为几种呢?IC卡是英文集成

4、电路卡的缩写,是近年来传入中国的一项新技术。它是把具有存储、运算等功能的集成电路芯片压制在塑料片上,使其成为能存储、转载、传递、处理数据的载体。IC卡从其功能上分为三种:1)存储器卡。2)带加密逻辑存储器卡:内有COS(卡操作系统)的一种存储器卡。3)CPU智能卡:内有CPU(中央处理单元)的一种存储器卡。以上三种卡只有CPU卡被证实是最安全的。第二章 CPU卡在实际情况中是怎么使用的呢? CPU卡使用的简单情况举例:(如图)硬件:一台PC一个读卡器一张CPU卡读卡器和PC是通过串口进行通讯,这种做法比较常见。软件:一个在PC上运行能读写CPU卡的小程序(一般读卡器提供商都会提供开发CPU卡的

5、函数接口和读写CPU卡的小工具)对CPU卡的操作的流程是怎样的呢?1、PC上的CPU卡读写程序向PC的串口(比如说串口1)发指令2、读卡器和串口1是连在一起的,串口的指令传到读卡器3、读卡器又把指令传给CPU卡4、CPU卡内部执行指令,返回消息那指令的格式又是什么样的呢?我们可以举这么一个例子:用过DOS的人都知道:CDC:这个指令表示进入C盘根目录相应的CPU卡有这么一个指令:SELECTMF这个指令表示进入卡片的根目录,但由于CPU卡的操作系统比较简单,它处理不了这种纯粹字符的东西,向卡片指令的时候必须把指令转换成十六进制的格式:转换成卡片的指令格式是:00A40000023F00每个字符

6、的具体规定在ISO7816-4中有具体的规定。大家有兴趣的话可以去查具体的标准,以下是比较枯燥的IC卡的国际标准:1、物理特性符合ISO7816:1987中规定的各类识别卡的物理特性和ISO7813中规定的金融交易卡的全部尺寸要求,此外还应符合国际标准ISO78161:1987规定的附加特性、机械强度和静电测试方法。2触点尺寸与位置。应符合国际标准ISO78162:1988中的规定。3电信号与传输协议。IC卡与接口设备之间电源及信息交换应符合ISOIEC78163:1989的规定。4行业间交换用命令。有相应的国际标准ISOIEC78164:1994。但该版本尚未正式通过。5应用标识符的编号系统

7、和注册过程应符合国际标准ISOIEC78165:1994中的规定。感应式智能卡的国际标准有:ISOIEC10536-1:1992、ISOIEC10536-2:1995、ISOIECDIS10536-3:1995、ISO14443-2等。此主题相关图片如下:第三章 多应用究竟是什么呢?对于CPU卡,人们经常关注的是CPU卡的多应用,也就是说一张CPU卡上可以有多个应用,多应用的安全相互隔离,那么多应用究竟是什么呢? 我们可以把卡片想象成一栋县政府办公大楼,比如说:一楼:属于民政部门二楼:属于教育部门三楼:属于交通部门.各个部门独立办公,互不干涉,在行政上他们并没有从属关系。从而达到了多应用并存。

8、民政部门智能办理民政部门的事情,教育部门只能办教育部门的事情。从而达到了多应用的安全相互隔离。一、多应用并存于一张卡片上多应用共存在卡片上是怎么达到的呢?通过创建多个ADF(即创建多个目录)达到。每个ADF代表一个应用。每个ADF下有相应的文件,相应的文件中存放相应的数据。二、多应用之间的安全相互隔离多应用之间的安全相互隔离是怎么达到的呢?通过卡片内部的安全机制来实现。第四章 CPU卡的文件结构1 CPU卡作为信息的载体,在卡片里必须能存储信息,比如说,存放一个人的身份信息在CPU卡上(包括姓名、年龄、工作单位、职务、电话等),这些具体的信息在CPU卡中是怎么存放的呢?请听我细细道来。在这个时

9、候,我们可以把CPU卡想象为一张软盘,只不过软盘的容量比CPU卡大得多,我们现在软盘的容量一般为1.4M字节,而我们现在常用的CPU卡的容量仅仅为8K或者16K字节,远远比软盘的容量小。当然了,容量越大的CPU卡价格越贵。请看下面例子假设我们把以上所说的一个人的身份信息存放在pm.txt中。pm.txt在一张软盘中的存放方式方式一:A:pm.txt方式二:A:adf1pm.txt方式三:A:ddf1adf1pm.txt以上是信息在软盘中的存放方式。大家请看ISO7816-4规定的CPU卡内逻辑文件组织结构的举例,见下图:大家可以可以看到最多只有三层目录。这是由于实际应用中只要有三层目录就够了。

10、所以现在的CPU卡一般都是最多只支持三层目录的,有的国外的卡只支持两层目录(实际上两层目录一般时候也够用)。请看下面例子(可以对比软盘的方式看)假设我们把以上所说的一个人的身份信息存放在EF1中。方式1:MF方式2:MF方式3:MFEF1ADF1DDF1EF1ADF1EF1由于CPU卡的文件操作系统远比DOS或者WINDOWS操作系统简单,说句不好听的话,可以说是“小巫见大巫”。不过这可以理解,毕竟在这么小的一个芯片上暂时不能实现象DOS或者WINDOWS那样强大的操作系统。所以对文件的规定,对文件的创建、文件的操作比较麻烦。不同之处在于:1、CPU卡创建一个文件时必须先声明创建的文件的类型以

11、及创建文件的空间大小。在软盘或者硬盘上则可以不指定文件长度。2、CPU卡创建完一个文件后不可以删除。(测试发卡的时候可以例外,但删除的是MF,即删除卡片中的所有文件和目录)3、CPU卡文件类型只有很少几种,没有后缀名。4、CPU卡创建文件、写文件必须通过向卡片发送APDU报文的方式进行,并且每次写的字节数不能超过256字节,比较麻烦。此主题相关图片如下:第五章 CPU卡的文件结构2CPU卡入门教程6-CPU卡的文件结构2 【CPU卡的文件类型】MF(MasterFile):根目录,是卡片文件系统的根,相当于DOS的根目录,每张卡有且只有一个MF文件。不同卡片厂商的MF的创建方式是不同的。主要有

12、两种方式:1、在卡片个人化过程中由发卡方创建。如明华、德生卡片2、厂商提供卡片的时候已经创建,发卡方不能再创建。如握奇卡片DF(DedicatedFile):DF相当于DOS的子目录。DDF和ADF:我们把包含下级目录的DF称之为DDF,不包含下级目录的称之为ADF。注意:DDF下可以有ADF,ADF下不能再有ADF。一、透明文件:基本文件存储了各种应用的数据和管理信息,它存在于MF和DF下。文件数据是通过连续空间中的字节地址进行存取。比如上节中说的个人身份信息就可以存放在透明文件中。二、记录文件:数据是以记录的方式存放在文件中的。记录文件分为以下几种:1、线性定长记录文件:一个文件中有n条记

13、录,每条记录的长度都是固定且相等的。2、线性变长记录文件:文件中的每个记录的长度是可变的。但一旦写完后,进行更新的时候,更新的记录长度必须和原来的记录长度相同。变长记录的TLV格式如下:T=TAG:标识L=LENTGTH:长度V=value:值3、循环定长记录文件:一个文件中所有记录是等长度的,对文件中的记录循环进行读取。在逻辑上,这类文件可看作一个环形记录队列,记录按照先进先出的原则存储。添加记录时,最新一次写入的记录的记录号为1,上一次写入的记录的记录号为2,依次类推,滚动写入。三、交易文件这一类的文件为特定格式的文件,通过具体的交易指令对这类文件进行操作。如:1、电子存折文件2、电子钱包

14、文件此类文件是和安全有关的文件,所以对文件的访问控制就特别严格,对文件只能进行写入,文件是不可读的。文件内存放有关卡片安全的密钥和口令。但或许大家有疑问,文件要是不可读,那这文件还有什么用呢?在实际中它是这么被使用的,比如说我们要使用某个密钥,在卡片中每个密钥都有编号,我们在使用中通过指定卡片的密钥号(即:我们使用的是第几号密钥)来使用密钥。比如说我们使用口令,我们通过向卡片送入口令来进行使用口令。而具体的比对口令和用密钥的计算是在卡片的内部进行了。所以这种措施保证了卡片的密钥和口令的安全。第六章 对CPU卡中文件的操作我们有什么办法可以对文件操作呢? 比如我们要对个人基本信息文件pm.txt

15、进行操作,在DOS下我们可以用EDITpm.txt进行编辑,在WINDOWS下我们可以双击pm.txt,用文本编辑器打开文件。但在CPU卡中,我们怎么对一个文件(比如说EF1)进行操作呢?比如说我们要打一个人,我们必须先找到那个将要倒霉被打的人。同样,我们要对一个文件操作,首先,我们必须先找到要操作的那个文件。那我们怎们找到CPU卡中的文件呢?我们查找某人,可以查找他(她)的身份证号来找到他,CPU中卡的每个文件是否也有他们的身份证号呢?有的:那就是文件标识,CPU卡中的文件通过文件标识表标记一个文件。找一个人,还可以通过他(她)的名字来查找,找CPU卡中的文件呢?很遗憾,对MF和DF有关目录

16、的文件有它们的文件名,其它文件则没有文件名。文件标识符是文件的标识代码,用2个字节表示,为什么只有2个字节呢?因为2个字节足矣,2个字节FFFF=65535。在选择文件时只要找出该文件的标识,就可以找到该文件。同一目录下的文件标识符是唯一的。MF的文件标识符为3F00,文件名自定义,符合银行规范名称应该是1PAY.SYS.DDF01,当然了,社保的卡规定的就不是这个名字了。所有文件可以通过文件标识符用SELECT命令进行选择,目录文件DF可以通过目录名称进行选择。短文件标识符:由于对CPU卡文件的操作要求节省空间并且方便操作。于是好像便出现了短文件标识符这个东东。所谓短文件标识符,在字面上的意

17、思就是比文件标识符短。好像实际上也是这样。大家看看,短文件标识符只用1个字节来表示,并且只用1个字节低五位来表示。同一个目录下的文件短标识符必须是唯一的。短文件标识符可以通过ReadBinary、UpdateBinary命令的参数P1来实现文件的选择:若P1的高三位为100,则低5位为短文件标识符。例如:若P1为81H,即10000001,其中高三位为100,则所选的文件标识符为00001,十六进制文件标识表示为0001。短文件标识符选择还可以通过ReadRecord、UpdateRecord命令参数P2来实现文件的选择,方法是若P2的高五位不全为0,低五位为100,则高五位为短文件标识符。对

18、于命令AppendRecord低五位为000来表短文件标识符。短文件标识符选择只能用五位来决定文件标识符,所以可选择的最大文件标识为31,若文件需要短文件标识符进行选择,则建立文件时就需将文件标识符取在1-31之间。上一节中规定了那么多种文件,那么,究竟该怎么对那些文件进行访问呢?MF:在CPU卡被复位后自动被选择,在任何一级子目录下可通过文件标识3F00或其文件名来选择MFDF通过文件名或文件标识符来选择DF,在MF下可以选择任意DF。如果当前文件是一个DF下的一个EF,同样可以通过选择DF的文件标识符或文件名来选择任意DF。二进制文件:在满足读条件时可使用ReadBinary读取,在满足写

19、条件时可用UpdateBinary来更改二进制文件的内容。定长记录文件:在满足读条件时可使用ReadRecord读取,在满足写条件时,若记录未满则用AppendRecord增加新记录,若记录已满则用UpdateRecord来更改指定记录的内容。循环定长记录文件:在满足读条件时可使用ReadRecord读取,在满足追加条件时可使用AppendRecord在文件末尾追加一个记录,当记录写满后自动覆盖最早写的记录,最后一次写入的记录,其记录号总是1,上次写入的记录号是2,依次类推。变长记录文件在满足读条件时可使用ReadRecord读出记录,在满足写条件时若记录未满则用AppendRecord增加新

20、记录,若记录已满则用UpdateRecord来更改指定记录的内容。变长记录文件的格式为TLV格式,Tag为1字节的记录标识,L为1字节的记录数据长度,V为L字节的数据值。在执行UpdateRecord更改已存在的记录时,新写的整条记录长度必须和原来的整个记录长度相等,否则将返回错误。cpu卡入门教程8安全篇原创问题的引出:假如说你现在手中有6份重要文件1、房契2、银行存折3、毕业证书4、户口本5、某某人欠你的100万块钱的欠条(呵呵,假装你有这么多钱,你是百万富翁并且很慷慨,一个好人)6、结婚证(这个好像已婚人士才有)这些对我们来说都是比较重要的东东,一定要妥善的安全的保存啊!你可以这么保存:

21、方法1:把这些文件锁在六个保险柜里,一个柜子放一个文件方法2:把六个文件全部锁在一个保险柜里方法3:把六个文件锁在n个保险柜里,这个n比6小又比1大方法4:把文件放在一个小保险柜里,把小保险柜放进大保险柜里,或者你觉得很好玩的话,再把大保险柜放进大大保险柜里,如此一个保险柜再套另一个保险柜,只要你有钱、只要你还想套、我不反对。(另:至于买什么牌子的保险柜、价钱多少的保险柜,不在本文章的研究之中,有兴趣者可以和我私下讨论。我的电话是:139-123456789 电话开机时间:凌晨3点到4点 )在CPU卡中的文件的存放也会存在这些问题,比如说你有6个文件,你想存放在CPU卡的某个应用中。考虑到安全

22、问题,CPU卡的文件安全及访问机制是由通过认证来实现的(如认证密钥、认证PIN,想进一步了解可以参考我写的文章:内、外部认证深入剖析: 我们现在以认证是通过密钥的认证来说明:方法1:6个文件用6个密钥来保护,每个文件对应一个密钥方法2:6个文件只用一个密钥来保护方法3:6个文件进行归类,用n个密钥保护,这个n比6小又比1大方法4:文件用密钥套密钥保护。比如说文件1用密钥1保护、密钥1的使用又必须通过密钥2的认证。或者下面还更复杂密钥2的使用必须通过密钥3的认证。你可以把密钥想象成保险柜的钥匙,小保险柜的钥匙必须在大保险柜的控制下使用。(意思就是:小保险柜的钥匙必须在大保险柜的钥匙打开了大保险柜

23、之后才能起作用,这话好像有些拗口,跟绕口令试的,呵呵)其实一般的保险柜都要密码的,也就是说保险柜的钥匙要和密码配套使用,两者缺一不可,好像看起来这样做会更保险一点,事实上也是。至于是先开钥匙后输入密码还是先输入密码再开钥匙,这主要看保险柜的设计。在CPU卡中可以实现,CPU卡可以用用户密码加上卡上密钥的方法实现。可以设计成两种模式:方式1、在密钥认证成功后,密码才可以使用。方式2、在密码的验证成功后,密钥才可以被使用。这必须按顺序来,如方式一,你要是想先验证密码,对不起,卡片会给你一个提示:安全状态不满足。这时候,你必须做的工作是,现对密钥进行认证,密钥认证成功后,再验证密码就不会提示安全状态

24、不满足了。以上机制好像听起来比较复杂,但其实也并不复杂。(谈何容易,或许你会这么说)在卡片中,现在比较流行的并且实现起来也挺简单的的方法:状态机机制一个CPU卡文件的安全认证设计,涉及到3方面的状态:1、系统当前的安全状态2、对文件操作必须满足的状态3、密钥的状态我们再以保险柜为例:比如说我们想查看保险柜的那张100万欠条的内容。1、对应的系统的当前状态:保险柜关闭状态2、对文件操作必须满足状态:保险柜打开状态怎么使系统的的当前状态:保险柜关闭状态 变成对文件操作必须满足状态:保险柜打开状态呢?我们使用保险柜的钥匙来打开保险柜。3、使用钥匙后的后续状态:保险柜打开状态这样我们实现了对文件的操作

25、。在CPU卡中,状态可以用一个数字来表示:比如说0我们定义:1、系统缺省的当前安全状态:02、对文件操作必须满足的状态:63、密钥的后续状态:6步骤:1、直接对文件进行操作,文件比较“系统的缺省状态:0” 不等于 “对文件操作必须满足的状态:6”提示,安全状态不满足。2、我们对密钥进行认证,认证通过后,把“密钥的后续状态:6”赋值“系统缺省的当前安全状态”这样“系统的缺省状态6”3、下面我们再对文件进行操作,文件比较“系统的当前状态:6” 等于 “对文件操作必须满足的状态:6,可以对文件进行操作安全状态的表示:实际使用中一般用1个字节(16进制)来表示状态,低4位表示安全级别下限(0-15),高4位表示安全级别上限(0-15)假设一字节的值为:XY(0=X =F)(0= Y Y (如:10, 32, 85等),表示这个文件被禁止访问3、如果X=Y (如:13,11,33,38),表示对文件进行访问前,必须满足文件的访问权限。比如说文件的访问权限是:13,现在的权限必须是1、2或者是3才可以访问文件比如说文件的访问权限是:38,现在的权限必须是3到8的值才可以访问文件比如说文件的访问权限是:33,现在的权限必须是3才可以访问文件系统一般都会规定一个缺省的权限:比如说0

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1