资源预览内容
第1页 / 共38页
第2页 / 共38页
第3页 / 共38页
第4页 / 共38页
第5页 / 共38页
第6页 / 共38页
第7页 / 共38页
第8页 / 共38页
第9页 / 共38页
第10页 / 共38页
亲,该文档总共38页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
智能(CPU)卡技术 CPU卡读写操作与安全控制,课 程 目 标,CPU卡通信协议 CPU卡通信流程 CPU卡的读写操作 CPU卡的安全技术,项目开发CPU卡POS机,系统需求分析: 具备金融借记卡、电子钱包功能,符合中国人民银行金融卡规范。 具备脱机交易能力。 具备联机(网)通信能力。 操作稳定可靠。,高安全性 多应用能力 应用灵活性,项目实现之第三步软件编程,ISO/IEC7816智能卡通信协议APDU Application Protocol Data Unit应用协议数据单元 智能卡外应用程序(读写器程序)与智能卡内应用程序(COS)进行通信的基本协议 命令与响应机制,CPU卡的命令与响应机制,读写器程序发送命令 COS接收并处理命令后回送响应,命令,APDU命令:固定的4个字节命令头+长度可变的命令体,CLA:命令的类型 (必备) INS:命令编码(必备) P1、P2:具体命令参数(必备) Lc:数据的长度 (可选) 数据域:具体的命令数据(可选) Le:期望卡返回的数据长度(可选) 例:建立二进制文件0026 80 E0 02 00 (命令头) 07 (Lc)0026(文件标识符) 00(二进制文件类型)1f(读权限)2f(更新权限)01 00(Le,文件长度),命 令 集,响应,APDU响应:应答体+应答尾,响应体:(可选) 可变长度数据域,由Le确定最大长度 状态位:(必备) SW1、SW2:状态字节,表征当前APDU命令的处理情况 处理完成:正常处理:61XX,9000 警告错误:62XX,63XX 处理中断:执行错误:64XX,65XX 检测错误:67XX-6FXX,COS的应用控制管理,主要功能: 提供应用顺序流程控制; 命令解释与执行:对外部输入的每条命令做语法分析,分析和检查命令参数是否正确,然后执行相应功能。 3. 提供命令执行权限控制。,文件数据的操作和管理规则,1对某个文件做操作之前,必须先选择该文件。 2按文件系统的三层结构操作,COS不支持以路径方式选择文件,所以在选择某个文件前必须先选择它的上一层文件,不允许跨层选择。卡片上电后自动选择主控文件。 3访问文件中的数据要受文件的安全属性的控制。 4对文件的建立要受该文件所属的上层文件的安全属性的控制。,文件访问方式,主文件MF 复位后自动被选择,在任何一级子目录下可通过文件标识3F00或其文件名来选择MF 专用文件DF 通过文件名或文件标识符来选择DF,在MF下可以选择任意DF。如果当前文件是一个DF下的一个EF,同样可以通过选择DF的文件标识符或文件名来选择任意DF。,基本文件 对EF操作前必须先选择该文件,满足(读/写)条件时可用相应命令读/写,基本文件结构及操作命令,二进制结构 :数据以字节为单位进行读写, 操作命令: Read Binary /Update Binary 记录结构: (1)线性定长记录文件结构 :以固定的长度来处理每条记录。通过逻辑上连续的记录号,可访问这类记录 (2)线性变长记录文件结构 :每条记录的长度可以各不相同。仍然是以记录号来访问各条记录。 (3)循环定长记录文件结构 :可看作一个环形记录队列,记录按照先进先出的原则存储。 操作命令: Read Record /Append Record /Update Record 密钥文件结构:每个DF或MF下有且只有一个KEY文件,在任何情况下密钥均无法读出。在KEY文件中可存放多个密钥,每个密钥为一条定长记录。记录中规定了其标识、版本、算法、属性及密钥本身等内容。,RESET ;选择EF0026 00 A4 02 00 02 0026 ;读二进制文件0026 00 b0 00 00 10 ;校验PIN 00 20 00 00 02 1234 ;写二进制文件0026 00 d6 00 00 10 11223344556677881122334455667788 ;读二进制文件0026 00 b0 00 00 10,实训:用卡操作 CPU卡文件读写,命令详解:Select File 选择文件,功能:通过文件名、文件标识符来选择智能卡中的文件。 命令报文:,例: ;选择EF0026 00 A4 02 00 02 0026,应答: 61XX,表示还有XX数据可返回,命令详解:Read Binary 读二进制,功能:读取二进制文件的内容 命令报文:,例: ;读二进制文件0026 00 b0 00 00 10 应答:读出的16B二进制数据 ffffffffffffffffffffffffffffffff,应答报文数据域的内容为读出的二进制文件内容,命令详解:Update Binary 读二进制,功能:写二进制文件。 命令报文:,例: ;写二进制文件0026 00 d6 00 00 10 11223344556677881122334455667788,命令详解:Verify 校验,功能:比较校验命令数据域外部输入的个人密码与卡中存放的个人密码是否一致。 命令报文:,例:建立文件时 ;安装密钥PIN 80 d4 00 00 0a 01 01 00 0b 0f 11 0f 33 1234 读写文件时: ;校验PIN 00 20 00 00 02 1234 应答:63CX,X表示允许重试次数;63C0锁死;6983失败,若校验成功,则安全状态寄存器的值被置成该密钥的后续状态,同时错误计数器被置成初始值;若校验错误则错误计数器减1次;若个人密码已被锁死,则不能执行该命令。被锁死的个人密码可用解锁、重装指令恢复。,智能卡的安全控制,加密技术 认证技术 CPU与COS的存在使智能卡能够方便地采用 PIN校验、加密技术及认证技术等 来强化智能卡的安全性,对智能卡安全的威胁,窃听:智能卡和接口设备之间的信息流可以被截取分析,从而可被复制或插入假信号。 模拟(或伪造)智能卡:模拟与接口设备之间的交换信息,使接口设备无法判断出是合法的还是模拟的智能卡。 在交易中更换智能卡:在授权过程使用的是合法的智能卡,而在交易数据写入之前更换成另一张卡,因此将交易数据写入替代卡中。 修改信用卡中控制余额更新的日期:信用卡使用时需要输入当天日期,以供卡判断是否是当天第一次使用,即是否应将有效余额项更新为最高授权余额(也即是允许一天内支取的最大金额) 商店雇员的作弊行为:接口设备写入卡中的数据不正确,或雇员私下将一笔交易写成两笔交易,因此接口设备不允许被借用、私自拆卸或改装。,COS的安全控制管理,对智能IC卡中的静态、动态数据进行安全控制及管理。具体分为两种功能: 1.安全传输控制:明文传输方式;认证传输方式;加密传输方式;混合传输方式。 2.内部安全控制管理 :一是对数据及功能(如某一命令)的存取执行权限的控制;二是对内部静态保密数据(如加密密钥等)的安全管理。,加密技术,密码体制即密码编码 :密码算法+密钥。前者是公式、法则或程序,可以是公开的;后者是实现加密、解密时参与运算的参数,改变密钥也就改变了明文与密文的关系。 密码分析即密码破译:系指非授权者由所获密文推导获取加密算法和密钥,从而读懂密文的过程。 密钥管理:要保证信息的秘密,必须严防密钥泄露,对称密钥体制(DES),为了保证信息传输过程中的安全性,A可以通过使用密钥加密的方法,把加密后的信息传给B。B收到信息后,可以使用同样的密钥解密,从而获得其中的内容。这就是所谓“对称密钥”的做法 能够保证即使信息在传输过程中被截获,没有密钥的人也无法得知其中的内容。 在Internet环境中,对称密钥体制中的密钥管理成了一个头疼的事:要么大家共用一个密钥,就没有秘密可言;要么n个人相互通讯需要n(n-1)个密钥,数量太多而无法管理。,对称密钥体制(DES),也称为私钥密码体制 通信双方使用相同的密钥 DES使用长度为56比特的密钥、加密长度为64比特的明文,获得长度为64比特的密文 缺陷之一是通信双方在进行通信之前需通过一个安全信道事先交换密钥。这在实际应用中通常是非常困难的 美国目前已经制定了新的数据加密标准,称作AES,非对称密钥体制(RSA),因此在Internet环境中,需要使用非对称密钥加密。即每个参与者,都有一对密钥,可以分别指定为公钥(PK)和私钥(SK),一个密钥加密的消息只有另一个密钥才能解密,而从一个密钥推断不出另一个密钥。公钥可以用来加密和验证签名;私钥可以用来解密和数字签名。每个人都可以公开自己的公钥,以供他人向自己传输信息时加密之用,只有拥有私钥的本人才能解密,保证了传输过程中的保密性。关键是需要每个人保管好自己的私钥。,非对称密钥体制(RSA),也称为公钥密码体制 ,其理论基础是将密码建立在解某些已知的数学难题之上。 通信双方各有自己的私人密钥(SK),并共有另一公共密钥(PK)。 公钥密码体制可使通信双方无需事先交换密钥就可建立起保密通信,但公钥算法要比私钥算法慢得多 在实际通信中,一般利用公钥密码体制来保护和分配(交换)密钥,而利用私钥密码体制加密消息。 公钥密码体制的出现为解决私钥密码体制的密钥分配开辟了一条广阔的道路。公钥密码体制主要用于认证(比如数字签名、身份识别等)和密钥管理等。,密钥形式分为: 消费取现密钥DPK(00)、圈存密钥DLK(01)、 TAC密钥DTK(02 ) 、圈提密钥DULK(03) 修改透支限额密钥DUK(04) 应用维护密钥DAMK(05) :用于产生应用锁定解锁卡片锁定等的MAC PIN解锁密钥DPUK(06):用于产生解锁PIN的MAC PIN重装密钥DRPK(07):用于产生重装PIN的MAC 外部认证密钥DEAK(08)、内部认证密钥DIAK (09) Crypt密钥(0A):用于增加修改密钥命令 个人密码PIN(0B) SAM密钥(40)及用户自定义密钥(80)等,认证技术,信息验证码 (MACMessageAuthenticationCode) 数字签名(Digital Signiture) 数字证书(Digital Certificate),防止信息被篡改、伪造或过后否认,信息验证码(MACMessageAuthenticationCode),目标:防止信息被篡改,保护信息的完整性,要求在接收时能发现被篡改的数据 手段:采用一定的算法产生附加的校验码MAC,在接收点进行检验。信息验证码MAC(也称电文识别码或报文鉴别码)是利用密钥对数据加密处理而形成,篡改者由于不知道密钥,也就不能针对性地伪造MAC,对数据的非法修改将很容易被发现,以保证信息的完整性。,数字签名(Digital Signiture),目标:防伪造(信息的真实性),防抵赖。要求收方能确认发方的签名;发方签名后,不能否认自己的签名;发生矛盾时,公证人(第二方)能仲裁收发方的问题。 手段:散列(HASH)函数 +公钥算法 HASH函数:输入为一可变长输入,返回一固定长度串 (输入信息的特征值),数字证书( Digital Certificate),目标:持卡人及商家的合法性。对数字签名和公钥加密技术来说,都会面临公开密钥(PK)的分发问题,即如何获得通讯对方的公钥并且相信此公钥是由某个身份确定的人拥有的,这就要求管理这些公钥的系统必须是值得信赖的。必须有一项技术来解决公钥与合法拥有者身份的绑定问题 数字证书(Digital Certificate),手段:数字证书是一个签名文档(SK),标记特定对象的公开密钥(PK)。该证书由一个认证中心(CA)签发,认证中心类似于现实生活中公证人的角色,它具有权威性,是一个普遍可信的第三方。当通信双方都信任同一个CA时,两者就可以从CA得到对方的公开密钥从而能进行秘密通信、签名和检验。 用户到CA申请私人密钥和公共密钥后,自己掌握私人密钥,而对方则可到CA取得公共密钥。,在实施电子商务的过程中,用Internet Explorer向一个认证中心申请电子证书时,就会有一对公钥和私钥自动产生出来;私钥可以存储在智能卡中,公钥和其他身
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号