基于单片机ic卡读写控制设计内容摘要:

由于 RSA 加密算法是指数运算,因此密钥越大计算速度越慢。 通常 RSA 算法比DES 算法慢 1000 倍。 (三)数据安全问题及措施 同一系统中的每张 IC 卡的密码各不相同,一张 IC 卡对应一个密码。 密码核对正确前,全部数据可读不可写。 密码核对正确后可写入或修改数据,修改密码。 错误计数器,初始值为 3,密码核对出错 1 次,便减 1,若计数器值为 0,则卡自动锁死,数据只可读出,不可再进行更改也无法再进行密码核对;若不为零时,有一次密码核对正确,可恢复到初始值 3。 写保护区(前 32 个字节)的每一字节可单独进行写保XXX 大学本科毕业设计 10 护,进行写保护后,内容不可再更改(即固化数据)。 存储数据的安全首先是靠密码,如果存在密码被攻破的可能,就需要考虑采用数据加密算法对存储数据加密。 加密算法已经字上一节介绍,使用时应酌情选用 ,因为采用加密算法之后,将会导致系统处理时间的延长。 影响数据的完整性因素包括:电源因素,电磁干扰因素,人为因素和数据校验。 特别是作为电子货币 的 IC 卡,其中记录了大量的重要信息,安全性是很重要的,因此 IC 卡应用系统开发过程中必须为 IC 卡系统提供合理有效的安全措施,以保证 IC卡及其应用系统的数据安全。 造成影响 IC 卡及应用系统安全的主要方式有:使用用户丢失或被窃的 IC 卡,冒充合法用户进入应用系统,获得非法利益;用伪造的或空白卡非法复制数据,进入应用系统;使用系统外的 IC 卡读写设备,对合法卡上的 数据进行修改,改变操作级别等;在 IC 卡交易过程中,用正常卡完成身份认证后,中途变换 IC 卡,从而使卡上存储的数据与系统中不一致;在 IC 卡读写操作中,对接口设备与 IC 卡通信时所作交换的信息流进行截听,修改,甚至插入非法信息,以获取非法利益,或破坏系统。 常用的安全技术有 : 身份鉴别和 IC 卡合法性确认,报文鉴别技术,数据加密通讯技术等。 这些技术采用可以保证 IC 卡的数据在存储和交易过程中的完整性,有效性和真实性,从而有效地防止对 IC 卡进行非法读写和修改。 总体上, IC 卡的安全包括物理安全和逻辑安全两方面: ( 1)物理 安全。 物理安全包括: IC 卡本身的物理特性上的安全性,通常指对一定程度的应力、化学、电气、静电作用的防范能力;对外来的物理攻击的抵抗能力,要求 IC 卡应能防止复制、窜改、伪造或截听等。 常采用的措施有:采用高技术和昂贵的制造工艺,使无法伪造;在制造和发行过程中,一切参数严格保密;制作时在存储器外面加若干保护层,防止分析其中内容,即很难破译;在卡内安装监控程序,以防止处理器或存储器数据总线和地址总线的截听。 ( 2)逻辑安全。 常用的逻辑安全措施有:存储器分区保护,一般将 IC 卡 中存储器的数据分成 3个基本区:公开区、工作 区和保密区;用户鉴别,用户鉴别又叫个人身份鉴别,一般有验证用户个人识别 PIN,生物鉴别,手写签名。 下面简单介绍生物鉴别技术中的一种 —— 指纹识别技术:指纹识别技术是利用指纹唯一、不变、不可伪造、随身携带等的特点和 IC 卡作为个性化数据载体及大容量内存的优势,既实现了人物合一的真实身份认证,又满足了各种应用系统对数据载体卡片化、脱机化的需求,XXX 大学本科毕业设计 11 是用软硬结合方式确保信息安全可靠实用的途径。 用 IC 卡保存指纹特征数据、使用人员信息、私钥等关键信息、通过指纹识别认证持卡人真实身份,解决网络信息安全瓶颈最有效的手段,是对信 息安全 (软件 ) 认证、密钥体系最有效的补充。 根据需要将指纹信息储存在 IC 卡内,通过输入用户的活体指纹信息与卡内的指纹资料进行比对,实现用户真实身份的认证及 IC 卡的各种应用。 亦可将指纹资料储存在计算机或网络系统内,通过输入用户的活体指纹信息与储存的指纹信息资料进行比对,实现用户真实身份的认证,具有很大的灵活性。 指纹 IC 卡鉴别技术可 广泛应用于网络通信、数据库管理、电子商务与电子支付中的权限设置、数据存取、密钥管理等。 包括计算机系统、互联网、电子商务系统、政府、企业局域网系统中管理员的身份认证以及金融、保险、证 券等行业重要系统及部门职员的授权管理,证券交易所、信用卡用户、保险受益人的身份认证以及安防业等应用。 三、硬件原理 (一) I2C 总线 1. I2C 总线的特点 I2C 总线的特点 是:接口线数少,支持多主控工作方式。 I2C 总线协议是 Philips公司推出的总线协议,是多主机总线,提高 2根线( SDAaserial data line, SCLa serial clock line)与连接到总线上的器件之间传送信息根据地址识别每个器件。 例如:微控制器、 LCD 驱动器、存储器、键盘,连接的器件可以工作在发送和(或) 接收状态。 2. I2C 总线的构成及信号类型 I2C 总线的构成:数据线 SDA 和时针线 SCL。 图 6( 1) 典型的 I2C总线结构 图 6( 2) I2C总线的器件连接 XXX 大学本科毕业设计 12 3. I2C 总线传送 数据信号类型:开始信号,终止信号和应答信号。 图 7 I2C总线传输信号 图 8 I2C总线上的数据位传送 4. I2C 总线的基本操作 I2C 总线 上只具有 sol(时钟)和 sda(数据) 2根信号线。 如果是单纯的串行传输,一旦因为某种原因造成引脚的偏差,则可能会造成不能区分总线上传输的是数据还是 地址信息的后果。 解决上述问题的简单办法就是附加独立于总线的 reset( 复位)信号,由主机控制该信号。 因为 I2C 至少利用 2根线进行所有的操作,因此在数据传输时,通常当 scl 为低电平时,设置下一个数据;当 sda 变化后, sci 为高 电平,这可以解释为一连串操作的开始/结束。 (1)起始条件 起始条件表示一系列操作的开始。 图 9表示起始条件以及随后数据传输的开始操作。 在 I2C 总线的空闲状态下, sda 及 scl 通过上拉电阻都为高电平。 在这样的状态下,如果 scl 仍保持高电平,而 sda 变为低电平 ,则成为开始指令。 XXX 大学本科毕业设计 13 图 9 I2C总线起始条件 由于该状态并不出现于地址及数据的发送与接收过程中,因此,即使在途中发生异常,只要检测出该状态,初始化内部的状态机,就可以使其恢复。 (2)结束条件 在一系列操作的最后是结束条件。 结束条件如图 10 所示。 当 sol 为高电平时,一旦 sda 由低电平变化为高电平,即成为结束条件,主机与器件之间的通信将停止,器件恢复为空闲状态。 进行写操作时的结束状态是开始进行 EEPROM 内 部单元写操作的指示标志。 图 10 I2C总线结束条件 结束前所传输的数据是 ack/ noack 的状态位,如果是 ack,则该状态位为低电平。 但如果发生某种错误时,则表示为 noack 的高电平。 读操作时的最后字节是主机向器件返回 noˉack信息,所以 sda 为高电平。 这样就不能形成结束条件所需要 的sda 的上升沿,因此在结束之前需要加入哑元 “0” 数据位作为解决办法。 在最终数据的 ack noack 之后,主 机通过下述的流程,形成结束条件,如下所述: XXX 大学本科毕业设计 14 ① scl 变 为低电平; ② sda 变为低 电平; ③ sol 变 为高电平(发送哑元数据); ④ sda 变 为高电平(结束条件)。 (3)数据传输 数据传输的流程如图 11 所示。 除去开始与结束条件,在传输包含地址指定等数据时,能够使 sda 发生变化的条件只能是在 sol 为低电平时。 因此,总线操作以如下的步骤进行: ① scl 变为低电平; ② 为 sda 设置数据(主机或者器件); ③ scl 变为高电平。 进行数据读操作时,主机在 sol 恢复为高电平之前读取数据。 图 11 I2C总线的数据传输 (二)西门子 SLE4442 逻 辑加密卡 为了保证 IC 卡 数据的安全性,避免 IC 卡内的数 据被非法修改, IC 卡制造商在存储卡的基础上增加了逻辑加密的保护功能,用以某些访问的限制。 例如本设计使用Siemens 公司的 SLE4442 就有对 数据修改的限制。 逻辑加密卡的主要特点 SLE4442 是 Siemens 公司制造的逻辑加密存储卡,总容量为 256字节。 密码校验通过之后,才可以对卡进行写操作;但读卡操作没有密码的限制。 逻辑加密卡的存储区安排 XXX 大学本科毕业设计 15 图 12 储存区分配 逻 辑加密卡的操作时序 SLE4442 共有 4 种 操作时序,即复位与复位应答 、命令模式、输出数据模式和处理数据模式。 通信协议符合 I2C 总线。 逻辑加密卡的命令及相关函数 卡片存储区内的起始地址是 0x20,出厂密码是 FFFFFF,其相关函数如下: 写操作函数: swr_4442() ( 1) 读操作函数: srd_4442() ( 2) 测卡型函数: chk_4442() ( 3) 效验密码函数: csc_4442() ( 4) 读取密码函数: rsc_4442() ( 5) 更改密码函数: wsc_4442() ( 6) 读密码错误计数: rsct_4442() ( 7) 写保护位函数: pwr_4442() ( 8) 读保护位函数: prd_4442() ( 9) (三) IC 卡座 IC 卡读 /写器 各部分结构与功能简单介绍如下: 1. IC 卡卡座 一般都使用 IC 卡座。 按接触式卡座类型可分为摩擦式和下压式两大类。 IC 卡卡座是连接 IC 卡与读写器的。 其功能包括对 IC 卡供电, 提供读写信号和传送数据。 要XXX 大学本科毕业设计 16 求 提供方便的插拔方式和可靠的接触,并带有带电插拔,过流保护,插卡检测等能力。 IC卡和插座的结构尺寸必须符合国际标准化组织 ( ISO) 7816 的标准。 对触电数目、位置、信号名称和功能都有明确规定,以保证兼容性。 其中: C1( VCC) 为电源;C2( RST) 复位信号 ; C3( CLK)时钟脉冲; C4( RFU)待用; C5( GND)接地端; C6( VPP)编程电压,用于对 EEPROM 编程; C7( I/O) 数据输入输出端; C8( RFU) 待用。 有些系统中 IC 卡的 C4 和 C8 未用,可见卡上仅用六个触点,本设计SLE4442 系列 IC 卡是西门 子公司生产的加密存储 IC 芯片, 256*8 bit EEPROM 字节直接寻址;低地址前 32 字节可进行写保护(固化)操作;其容量 为 256 byte,密码核对正确后可对卡进行读、写操作, 3字节用户密码,密码错误计数 3次; 5V 低压供电,最大供电电流 20 mA;双向数据传送;支持 IOS/IEC78163 同步协议;写 /擦次数 100,000 次;数据保存期 10 年。 SLE4442 系列 IC 卡的引出端符合ISO/IEC78163 标准。 C C C C8: NC,未接。 把芯片封装在一个卡片上,将卡片插入 IC 卡读写器的卡 座中,读写器就可以对它进行读写,实现加密、查询、存款、取款等功能。 IC 卡座有 8 个引脚, 当 SLE4442 卡插入时 ,正好同这几个引脚相连。 另外还有两个 固定端,其中一个固定端同卡座上一个弹簧片相连,两个触点和簧片就相当于一个常闭开关。 当卡未插入时,簧片闭。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。