Mifare卡的算法破解和应用---刘欣凯.doc_第1页
Mifare卡的算法破解和应用---刘欣凯.doc_第2页
Mifare卡的算法破解和应用---刘欣凯.doc_第3页
Mifare卡的算法破解和应用---刘欣凯.doc_第4页
Mifare卡的算法破解和应用---刘欣凯.doc_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

中国地质大学计算机学院 智能卡技术学习报告智能卡技术学习报告 Mifare卡的算法破解和应用 姓名:刘欣凯 专业:信息安全2班 学号:20101003356 指导老师:杨帆 目 录1、 论文摘要.32、 Mifare卡的简单介绍.43、 Mifare卡的构造及其功能模块.64、 Mifare卡的破解.125、 确保Mifare卡安全应用的新方案.186、 Mifare的应用.227、 参考文献.241、 论文摘要 Mifare是近年来被广泛应用的一种智能卡。但是随着其广泛应用以及人们对其研究的加深,一度被认为非常安全的mifare卡也存在被破解的危险。针对此现象,我们对mifare的构造进行了深入的了解,并提出了mifare卡安全应用的新的方法,使其能够安全的继续应用在各种领域。关键词:mifare卡、算法破解、安全应用、SM7国密算法1、 AbstractMifare card has been used in many frontier. With the development of the mifare card, people have a further research on it than before. The mifare card was considered safe in some years yet. But in nowadays, it has been cracked. Aiming at the phenomenon, we have a study on the construct of the mifare card. And at the same time, we put forward a new method to insure its safety. In this way, the mifare card can still be used in many frontier in safe.Key words:Mifare card、Algorithm crack、Security applications、SM7 algorithm二、Mifare卡的简单介绍1、Mifare 1卡领导了非接触式IC卡的革命 Mifare 1 非接触式IC卡是1994年由荷兰NXP半导体公司(简称NXP公司)发明。它成功地将射频识别技术和lC卡技术相结合,解决了无源(卡中无电源)和免接触的技术难题,是电子科技领域的技术创新的成果。Mifare 1卡是目前世界上使用量最大、技术最成熟、性能最稳定的一种感应式智能lC卡。其具有如下优点:(1) 操作简单、快捷: 由于采用射频无线通讯,使用时无须插拔卡且不受方向和正反面的限制,所以非常方便用户使用。完成一次读写操作仅需0.1秒,大大提高了每次使用的速度。 既适用于一般场合, 又适用于快速、高流量的场所。(2) 抗干扰能力强: Mifare 1卡中有快速防冲突机制。在多卡同时进入读写范围内时,能有效防止卡片之间出现数据干扰。读写设备可一一对卡进行处理,提高了应用的并行性及系统工作的速度。(3) 可靠性高: Mifare 1卡与读写器之间没有机械接触。避免了由于接触读写而产生的各种故障; 而且卡中的芯片和感应天线完全密封在标准的PVC中,进一步提高了应用的可靠性和卡的使用寿命。(4) 安全性好: Mifare 1卡的序列号是全球唯一的, 不可以更改;读写时卡与读写器之间采用三次双向认证机制.,互相验证使用的合法性。而且在通讯过程中所有的数据都加密传输; 此外.卡片各个分区都有自己的读写密码和访问机制,卡内数据的安全得到了有效的保证。(5) 适合于一卡多用: Mifare 1卡的存贮结构及特点使其能应用于不同的场合或系统,尤其适用于政府机关、公用设施、学校、企事业单位、智能小区的身份识别、门禁控制、停车场管理、考勤签到、食堂就餐、娱乐消费、图书管理等多方面的综合应用。有很强的系统应用扩展性.,可以真正做到“一卡通”。(6) 成本低: 随着Mifare l卡的广泛应用,中国不但成为全球最大的卡片生产基地.,而且芯片生产技术也为多家国内的厂家掌握,使得Mifare 1 及其兼容卡的出厂价格大幅下降, 大大降低了用户的投资。 2、Mifare 1非接触式IC卡的构造简介 Mifare l非接触式IC卡(又称Mifare 1射频卡,以下简称M1卡)采用先进的芯片制造工艺制作,内建有高速的CM0S EEPROM、MCU等。它的核心是Philips公司的Mifare 1 IC S50(一01,一02,一03,一04)系列微模块(微晶片),该模块确定了卡片的特性以及卡片读写器的诸多性能。卡片上除了IC微晶片及一副高效率天线外,无任何其它元件。 卡片上无源(无任何电池),工作时的电源能量由卡片读写器天线发送无线电载波信号耦合到卡片上天线而产生电能,一般可达2V以上,供卡片上IC工作。工作频率1356MHz。M1卡所具有的独特的MIFARE RF非接触式接口标准已被制定为国际标准:IS0IEC 14443 TYPE A标准。M1卡的标准操作距离与读写器的读写电路模块有关,当采用McM500作为读写器的读写模块时,操作距离为100mm;当采用MCM200时,操作距离为25mm。M1卡具有先进的数据通信加密及双向验证系统,且具有防冲突机制,能在同一时间处理重叠在卡片读写器天线的有效工作距离内的多张重叠的卡片,支持多卡操作。卡片制造时具有惟一的卡片系列号(32位),没有重复相同的两张M1卡。M1卡与读写器通信使用握手式半双工通信协议,卡片上有高速的CRC协处理器,符合CCITT标准。射频卡与读写器的通信速率高达106Kbits。卡片上内建8K位EEPROM存储区,并划分为16个扇区,每个扇区分为4个块,并以块为存取单位。每个扇区可分别设置各自的密码,并以多种方式进行管理,互不干涉。因此,每个扇区可以独立地应用于一个应用场合,整个卡片非常适合于各种“一卡通”应用系统。卡片上还内建有增值减值的专项的数学运算电路,非常适合公交地铁等行业的检票收费系统。典型的检票交易时间最长不超过100ms(01秒)。 卡片上的数据可改写10万次以上,读无限次;数据保存期可达10年以上,且卡片抗静电保护能力达2KV以上。ISO14443即是以Mifare卡的技术标准为草案形成的。根据NXP公司提供的数据, 全球超过50个国家、650个城市在使用Mifare方案,且几乎都是使用Mifare l卡。市场上已经使用的Mifare 1卡的数量超过10亿张。我国140多个城市的公共交通领域在使用Mifare 1卡,市场占有率超过70%。同时,众多的Mifare 1卡读写机具的生产厂商也为用户提供了便利、廉价、及时的服务。三、Mifare 1的构造及其功能模块1、 Mifare 1非接触式IC卡的工作原理 M1卡片的电气部分只由一个天线和一个微模块组成。天线是只有几组绕线的线圈,很适于封装到ISO卡片中,微模块由一个高速的RF射频接口电路和数字电路部分组成。其工作原理是:读写器向卡片发一组固定频率的电磁波,卡片内有一个LC串联谐振电路,其频率与读写器发射的频率相同,在电磁波的激励下,LC谐振电路产生共振,从而使电容内有了电荷,在这个电容的另一端,接有一个单向导通的电子泵,将电容内的电荷送到另一个电容内储存,当所积累的电荷达到2V时,此电容可做为电源为其它电路提供工作电压,将卡内数据发射出去或接取读写器的数据。2、 Mifare 1非接触式IC卡功能组成M1卡核心微模块IC S50的功能组成如图1所示。整个模块主要由两个部分组成:RF射频接口电路和数字电路部分。(1)RF射频接口电路 在RF射频接口电路中,主要包括有波形转换模块、调制解调模块、电压调节模块和POR模块。波形转换模块可将卡片读写器上的1356MHz的无线电调制信号接收,一方面送调制解调模块进行解调,另一方面进行波形转换,将正弦波转换为方波,然后对其整流滤波,并由电压调节模块对电压进行稳压等进一步的处理,最终输出的电压供给卡片上的各个电路。POR模块主要是对卡片上的各个电路进行P0wER一0NRESET上电复位,使各电路同步启动工作。(2)数字电路部分 ATR模块(Answer to Request):请求应答模块 当一张M1卡片处在卡片读写器天线的工作范围之内时,读写器内的读卡程序会向卡片发出REQUEST a11(或REQUEST std)请求命令,于是卡片的ATR将启动,将卡片的类型号(TagType)共2个字节传送给读写器,建立卡片与读写器的第一步通信联络。如果不进行第一步的ATR工作,读写器对卡片的其他操作将不会进行。 AntiCollision模块:防止(卡片)重叠功能模块 如果有多张M1卡片处在卡片读写器天线的工作范围之内时,AntiCo11ision模块的防重叠功能将被启动工作。卡片读写器在程序控制下将会首先与每一张卡片进行通信,取得每一张卡片的序列号(共5个字节,其中4个字节为序列号,另一个字节为校验字节),由于M1卡片每一张都具有其惟一的序列号,因此根据卡片的序列号可以识别每一张卡片。卡片读写器中的读写电路MCM的防重叠功能,配合卡片上的防重叠功能模块一起工作,在程序控制下根据卡片的序列号选定其中一张卡片。最后被选中的卡片将直接与读写器进行数据交换,未被选中的卡片处于等待状态,随时准备与卡片读写器进行通信。 Select Application模块:卡片选择模块 当卡片与读写器完成了上述两步操作之后,接下来读写器还必须对卡片进行选择操作,即与被选中的卡片进行一次数据交换。当某卡片被选中后,被选中的卡片便将其容量传送给读写器,当读写器收到卡片的容量信息后,便可以对卡片进行下一步的操作了。 AuthenticationAccess Control模块:认证及存取控制模块 在成功完成上述三步操作之后,接下来读写器要对卡片上某个扇区已经设置的密码进行认证。如果认证通过,则允许读写器对卡片上该扇区进行读写操作。否则要重新认证。 M1卡片的认证过程包含三次相互验证,图2所示为三次验证的令牌原理框图。认证过程是这样进行的: (A)环:由M1卡向读写器发送一个随机数据RB; (B)环:读写器收到RB后,向M1卡片发送一个令牌数据TOKEN AB,其中包含了读写器发出的一个随机数据RA; (C)环:M1卡收至0TOKEN AB后,对TOKEN AB的加密部分进行解密,并校验第一次由(A)环中M1卡发出去的随机数RB是否与(B)环中接收到的TOKEN AB中的RA相一致; (D)环:如果(c)环校验是正确的,则M1卡向读写器发送令牌TOKEN BA; (E)环:读写器收到令牌TOKEN BA后,将对令牌TOKENBA中的RB(随机数)进行解密;并校验第一次由(B)环中读写器发出的随机数RA是否与(D)环中接收到的TOKEN BA中的RA相一致。 如果上述每一个环都能正确通过验证,则整个的认证过程成功。读写器将可以对刚刚认证通过的卡片上的这个扇区进行读写操作。在对卡片上其它扇区的读写操作之前,都必须完成上述的认证过程。 认证过程中任何一环出现差错,整个认证将告失败。如果事先不知卡片上的密码,则由于密码的变化可以极其复杂,因此靠猜测密码而想打开卡片上的一个扇区的可能性几乎为零。 这里提醒一下程序员和卡片的使用者,必须牢记卡片中16个扇区的每一个密码,否则,遗忘某一扇区的密码,将使该扇区中的数据不能读写,没有任何办法可以挽救这种低级错误。但是,卡片上的其他扇区可以照样使用。 综上所述,可以充分地说明M1卡片的高度安全性、保密性,卡片的应用场合多样性和一卡多用的特点。 ControlArlthmetlc Unit:控制及算术运算单元 这一单元是整个卡片的控制中心,是卡片的“头脑”。它主要对整个卡片的各个单元进行微操作控制,协调卡片的各个操作;同时它还对各种收发的数据进行算术运算处理、递增递减处理、CRC运算处理等等。可以说是卡片中内建的中央微处理机(MCU)单元。 RAM和ROM:RAM和ROM单元 RAM主要配合控制及算术运算单元,将运算的结果进行暂时存储,如果某些数据需要存储到EEPROM,则由控制及算术运算单元取出送到EEPROM存储区中;如果某些数据需要传送给读写器,则由控制及算术运算单元取出,经过RF射频接口电路的处理,通过卡片上的天线传送给卡片读写器。RAM中的数据在卡片失掉电源后(即卡片离开读写器天线的有效工作范围内)将被清除。 ROM中固化了卡片运行所需要的程序指令,由控制及算术运算单元取出对每个单元进行微指令控制。从而使卡片能有条不紊地与卡片读写器进行数据通信。 Crypto unit:数据加密单元 该单元完成对数据的加密处理及密码保护,加密的算法通常为DES标准算法或其他。 EEPROM MEMORYEEPROM INTERFACE:EEPROM存储器及其接口电路 该单元主要用于存储密码和数据。EEPROM中的数据在卡片失掉电源后(即卡片离开读写器天线的有效工作范围内)仍将被保持,因此,用户所要存储的数据都被存放在该单元中。(3)EEPROM存储器的存储结构 M1卡中EEPROM存储器容量为8K位(即1K字节),共分为16个扇区,每个扇区由4块组成,每块16个字节。我们将16个扇区的64个块按绝对地址编号为063,存储结构如图3所示: 其中,第0扇区的块0用于存放厂商代码,已经固化,不可更改。 每个扇区的块0、块1、块2为数据块,用于存贮数据。存贮在数据块中的数据可以有两种应用:一是用作一般的数据保存,可以对其进行读、写操作。二是用作贮值,可以对其进行初始化值、加值、减值、读值操作。 每个扇区的块3为控制块,用于存贮该扇区密码A(6个字节)、存取控制字节(4个字节)、扇区密码B(6个字节)。 每个扇区的密码和存取控制都是独立的,可以根据实际需要设定各自的密码及存取控制位。扇区中的每个块(包括数据块和控制块)的存取条件由本扇区密码和相应的存取控制位共同决定。限于篇幅,有关控制位对扇区中每个块的控制情况略。1、 Mifare 1非接触式IC卡与卡片读写器的通讯 M1卡与卡片读写器之间的数据通讯过程如图4所示。 复位应答(Answer to request) M1卡的通讯协议和通讯波特率是定义好的,当有卡片进入读写器的操作范围时,读写器以特定的协议与它通讯,此时读写器会接收到由射频卡发出的卡片的类型号,从而确定该卡是否为Ml卡,即验证卡片的卡型。 防冲突机制(Antico11ision Loop) 当有多张卡进入读写器操作范围时,防冲突机制会从其中选择一张进行操作,未选中的则处于空闲模式等待下一次选卡,该过程操作成功会返回被选卡片的序列号。 选择卡片(Select Tag) 选择被选中的卡片的序列号,此时读写器会接收到卡片的容量信息。 三次互相验证(3 Pass Authentication) 选定好要处理的卡片之后,读写器接下来需要确定所访问的扇区号,并对该扇区密码进行密码校验,在三次相互验证之后就可以通过加密流进行数据通讯。(注意:在选择另一扇区时,则必须进行另一扇区密码校验。) 以上操作成功之后,便可以对相应的扇区进行操作,其操作方式可有以下几种类型: 读操作(Read):读一个块; 写操作(write):写一个块; 加值操作(Increment):对数值块进行加值; 减值操作(Decrement):对数值块进行减值; 存储操作(Restore):将块中的内容存到数据寄存器中; 传输操作(Transfer):将数据寄存器中的内容写入块中; 中止操作(Halt):将卡置于暂停工作状态。四、Mifare卡的破解1、 mifare卡的基本认证协议 当 MIFARE Classic 卡接近读卡器的磁场区域时,卡片会接收到读卡器发来的寻卡指令,然后按照防冲突协议发出自己的卡号UID(寻卡过程)。收到UID 后,读卡器会选择这张卡(选卡过程)。接着读卡器发出对某一块的认证请求,然后就开始了一个标准的三步认证协议。卡片产生一个随机数nT 并以明文方式发送给读卡器。紧接着读卡器发出它的随机数nR 和对卡片的应答aR。最后卡片返回一个对读卡器的应答aT。如果读卡器的应答不正确,卡将不会发送aT。从nR 开始,所有的数据都会被加密,也就是说nR, aR, aT 会与密钥流ks1, ks2, ks3 异或以后再发送出去。整个过程如图1所示。2、 Cryptol算法 MIFARE 卡的安全性,主要依赖于基本认证协议和流加密算法Crypto1。无论是认证还是加密,都需要卡中密钥的参与,密钥流由Crypto1 算法生成。Crypto1 算法由1 个48 bit的线性反馈移位寄存器(LFSR)和1 个两层的20 bit 输入1比特输出的非线性函数组成。48 bitLFSR 由密钥初始化以一定的方式产生密钥流。 国外研究者提出了一些不同的攻击方法,荷兰奈梅亨Raboud 大学F. D. Garcia 教授等人提出的攻击方案是其中效率较高的。这种攻击方法主要是利用了密码结构本身的弱点:非线性函数的抽头只取奇数位,从而把密钥搜索空间从48 位降低到20 位。文献的研究结果表明,在获得一组完整的基本认证数据的条件下,攻击者就可以恢复出原始密钥。3、 MIFARE系统的攻击过程 在现实环境中,MIFARE 应用系统开发商根据实际需要,往往以三种不同的方式来实现上述基本认证协议。我们对于MIFARE Classic 卡的攻击直接建立在对这三种认证方式的攻击之上。为此,我们首先需要侦听MIFARE Classic卡与读卡器之间的交互数据。利用这些数据和F. D. Garcia给出的Crypto1 攻击方法,即可破译卡中的相应扇区密钥,并利用扇区的访问控制策略实现卡内数据的复制和篡改。(1) 侦听交互数据 我们使用侦听工具来截获卡与读卡器之间的通信数据。为了恢复出密钥,我们需要截取一次合法卡与读卡器之间的完整的基本认证数据。(2) 攻击基于基本认证协议的三种认证方式 实际中,不同的应用系统所使用的认证方式是不同的,大致上可以分为三类:第一类,无密码认证;第二类,单扇区认证;第三类,多扇区认证。无密码认证 对于一些简单的系统或者一个系统中的某些简单的应用(如某些门禁),只验证明文卡号的合法性,不使用任何密码保护,所需的其他数据均从后台数据库中取出,而非从卡中读出。因此,它没有认证部分的流程,而只有寻卡和选卡部分的流程。这种认证过程可用如图2(a)所示的流程来表示。 其中,a f为一次完整的寻卡选卡流程,但f之后并没有认证过程,而是又重新进行寻卡选卡(g h),此后也一直进行此过程。也就是说,这些系统没有使用MIFARE 卡的安全特征,而是单纯的读取卡号。如果卡号不在应用系统定义的黑名单中,则以此卡号在白名单中查找,找到则返回所需信息,找不到则认为认证失败。显见,攻击者只要能制作或找到一张卡号相同的卡,则该卡就会被系统误认为是合法的。我们对此类认证方式下的交互过程进行了仿真实验,所侦听到的通信过程及数据如表1 所示。单扇区认证 有些系统的交互流程是每次寻卡选卡后都只与一个特定扇区进行认证。这类系统或者只使用了一个扇区,或者认证新的扇区时都会重新进行寻卡选卡。这类认证协议如图2(b)所示,其中af 与图2(a)中一致。注意到从g 开始读卡器发送认证指令,hj 是一个完整的基本认证过程,此后开始传输加密的指令以及数据(即第k 步);与一个扇区的交互完成后,读卡器根据应用系统的设计要求,可以重新开始寻卡过程。如此反复进行,直到交互结束。 我们通过仿真实验给出了单扇区认证方式下的通信过程及数据(如表2 所示)。可以看出,读卡器在与卡进行成功认证(第10 步)后发送了经过加密的指令(即第11 步),然后卡返回了一个18 字节长的加密数据(第12 步)。 这里,可以通过表中第 0810 步的数据算出一个密钥0x4C4D0A2C0CF3。这个过程在一台普通的计算机上大概需要8M 内存并在几秒内可以完成。接着我们就可以解密出:第11 步的明文为30 04 26 EE,表示读04 块。接下来第12 步为04 块中的16 字节数据和两字节的校验。多扇区认证 相比前两种认证方式,多扇区认证具有更好的安全性,因此往往被一些安全要求较高的应用系统所采用。该认证方式的特点是:第一次扇区的认证采用基本认证协议方式,从第二次扇区认证开始,所有的交互过程都是加密的,直到一次完整的交互结束。这个过程如图2(c)所示,其中ak与图2(b)中一致。注意到,第k步完成后读卡器并没有发送新的寻卡指令,而是直接发送加密的认证请求,读卡器接着发送的随机数也是加密的(第m步),这与前面的认证过程不同,之后都与前面的认证过程相同。这时,由于第二次认证请求卡片再发送随机数都是密文的,使得我们无法获得随机数明文数据。因此,我们通过穷举所有可能的随机数(216个)来计算密钥,这时我们大约需要做216次单扇区认证解密的离线计算时间。通过一些如校验位等的漏洞可以减少尝试的随机数,以提高破译密钥的速度。 表3给出了我们实验仿真的多扇区认证的过程。 第13步读卡器直接发送了加密的认证指令,而第14步是一个加密的随机数。根据第0810 步的数据,我们花费了几秒的时间就计算出第一步认证的密钥是0x307E00DFD5D6。再根据第1416 步的数据穷举卡发送的随机数,计算出第二步认证的密钥为0x2A9E0E770EFF。这次我们大概花费几个小时的离线计算时间。接着我们依次解密出:第17 步的明文为30 08 4A 20,表示读08 块;第18 步为08 块中的16字节数据和两字节的校验。(3) 复制、篡改卡片 从理论上讲,获得了MIFARE Classic 的密钥,卡片的安全性就已经丧失。对于攻击者来说,他们会利用密钥来复制一张相同的卡或者将此卡片按照自己的目的进行修改,给实际应用带来危害。 对于攻击者来说,获得密钥之后只需一台支持MIFARE Classic 卡的读卡器就可以将一张合法卡的内容全部复制出来,写入另外一张空白卡片中,而系统并没有办法区分这两张卡片是不同的。实际中,尽管MIFARE Classic 空白卡片的UID 是预先固定的,但攻击者可以使用其他类型的支持MIFARE Classic 标准的卡片或者一些硬件设备来模拟MIFARE Classic卡。因此,从根本上说,UID 也是可以修改的。 攻击者还可能篡改卡的内容,就是直接改写卡内的数据。通过对卡内数据(如金额)的存储格式以及是否有完整性保护或者备份进行分析,攻击者就可以对卡片中的内容进行有目的的篡改。对于存在完整性保护的卡片(即有数据的校验等机制),复制仍然是无法抵御的,因为复制同样也把正确的校验位复制到新的卡中。对于篡改,攻击者可以重放历史数据,以达到修改数据的目的。(4) 其他攻击方法 前面所提到的攻击都是基于可以同时与合法的卡或读卡器接触,但是攻击者仍可以使用其他攻击方法,不同时与卡或者读卡器接触。如攻击者可以分别与卡和读卡器交互,先与卡通信获得UID,再与读卡器交互,破译密钥;在读卡器不检测UID 合法性的系统中,攻击者可以直接用非法UID 与读卡器交互也能破译所需密钥;攻击者还可以在只获得合法的卡片,在不需要合法读卡器的情况下,破解出卡中的密钥。五、确保Mifare卡安全应用的新方案1、 国家出台相关的技术标准 我国智能卡应用技术作为国家信息化发展战略的一部分,已经有了10余年的发展历史。智能卡应用的行业和地方标准已经初步建立,如中国人民银行早在1998年就颁布了中国人民银行金融集成电路(IC)卡规范(版本1.0),2005年又修订后发布中国金融集成电路(IC)卡规范(2.0版),即通常简称的PBOC2.0。建设部在2002年颁布实施建设事业IC卡应用技术(CJ/T 1 6 6 - 2 0 0 2 ) , 2 0 0 6 年修订为建设事业集成电路(IC)卡应用技术规范(CJ/T166-2006)。2000年国家劳动和社会保障部也颁布了社会保障(个人)卡规范等。但是,这些标准中CPU卡部分基本上是以ISO/IEC7816(GB/T 16649)识别卡带触点的集成电路(IC)卡为基础。 同时,从国际标准的角度看,接触式IC的标准统一在ISO/IEC7816,但是关于非接触式IC卡的标准繁多,如:ISO14443识别卡-非接触集成电路卡-接近卡、ISO18000信息技术- 射频识别的管理、ISO18092信息技术-系统间的通讯与信息交换-NFC-接口与协议、ISO10536识别卡-非接触集成电路卡-紧耦合卡、ISO15693识别卡-非接触集成电路卡-邻近卡,等等。 随着非接触式C P U 卡产品技术(包括双界面卡技术)的成熟和MIFARE I卡的安全性问题事件的促进,国家有关部门有必要加快非接触式CPU卡产品技术应用体系标准制定的步伐,指导IC卡用户的使用和IC卡产业的发展,避免在无标准或多标准的状态下,政府和企业盲目地投入在项目或研发而造成不必要的损失。 总之, 我们要正确地看待MIFARE I卡的安全性问题,处理好由此而带来的安全隐患,避免给社会带来巨大的损失,同时,做好向非接触式CPU卡发展的准备工作,以保证IC卡产业沿着正确的轨道发展。2、 基于SM7国密算法对Mifare1门禁系统的升级方案(1)上海华虹SM7国密算法RFID安全芯片 2009 年,上海华虹集成电路有限责任公司研发出中国第一枚国家自主安全算法RFID 芯片SHC1112(SSX0904),并已通过国家密码管理局组织的型号评审,获准进行生产销售。SHC1112 主要技术指标:采用ISO/IEC14443 Type A 非接触通讯方式,支持抗冲突协议;支持ISO/IECDIS9798- 2 三次传送鉴别相互认证体制;采用SM7 国密算法加密保护数据交互的安全,通讯过程所有数据加密以防信号截取;具有8 个相互独立的密钥,支持一卡多用;数据通讯速率106k bps;4字节唯一序列号UID;EEPROM存贮容量1 k 字节,划分为64 块,每个数据块可由用户定义单独的访问权限;EEPROM数据保存时间大于10 年;EEPROM数据擦写次数大于10 万次;天线输入引脚ESD可达4000 V(HBM)。(2) 门禁系统原理及升级方案 对比分析发现,现有Mifare 1 门禁系统隐患存在于系统前端,包括门禁读卡器和用户IC 卡,理想的升级方法是门禁系统前端更换为具有密码认证功能的门禁读卡器和用户IC 卡,与此同时原门禁系统的后台管理和权限管理功能无需改动,可以继续按照原有方式运行。针对目前Mifare 1 门禁系统,可采用上海华虹SM7 国密算法安全芯片SHC1112 来实现系统升级。SHC1112 集成了国家密码管理局提供的128 位密钥SM7 密码算法,达到了防止对IC 卡的非法复制、伪造和变造的目的。SM7 算法是由国内密码领域有关专家组成的专项工作组在国密局指导下成功研制的,相对于CPU 卡,SM7 算法是一种低成本、高速度的轻量级密码算法。由于使用了密码算法对用户信息进行加解密保护,所以在门禁读卡器和用户IC 卡上都分别存放了对应的密钥,在门禁读卡器上具体表现为安全模块(PSAM卡)的形式,因此我们引入了密钥管理系统的概念。通过密钥管理系统,我们可以根据实际需要对各种业务,如门禁、考勤、小额消费等各自生成不同的密钥,在密钥管理系统的多种安全措施保护下,可以实现密钥的生成、注入、备份、恢复、更新、导出和销毁等功能。这种密码方案采用国密局指定的SM1 分组加密算法,采用SM7 分组加密算法进行门禁卡与门禁读卡器之间的身份鉴别与通信数据加密。方案原理框图如图2 所示。 用户门禁卡采用128 位密钥SM7 分组密码算法,卡内存放发行信息及卡片密钥。在门禁读卡器中特别加进了带SM7/SM1 算法的安全模块(PSAM卡),图中门禁读卡器射频接口模块负责读卡器与门禁卡间的射频通信,MCU 负责读卡器内部的数据交换,与后台管理系统及门禁执行机构的数据通信。SM7/SM1 安全模块负责读卡器中的安全密码运算以及数据通讯所需要的密钥流,同时鉴别门禁卡的合法性,存放系统密钥。 方案中,用户门禁卡的认证由读卡器+PSAM卡内部完成,认证完成后门禁读卡器上传鉴别结果给后台管理系统,传输协议可以根据客户原系统的标准分别采用维根和RS232,后台管理系统进行实时或非实时门禁权限及审计管理,门禁执行机构具体执行完成门禁操作。基于SM7 国密算法IC 卡作为门禁卡的系统示意图如图3 所示。 门禁系统包括如下:SM7 国密算法用户IC 卡、门禁读卡机+PSAM卡、门禁执行机构、通讯总线、后台服务器,以及SM7 用户卡发卡器。 当持卡人手持SM7 门禁卡靠近门禁读卡机时,读卡机获取门禁卡的用户信息,读卡机与门禁卡通讯时数据用SM7 国密算法加密保护。读卡机将得到的用户信息通过安全模块的认证后,把相应的结果通过通信总线发给后台管理系统,后台管理系统比对门禁信息的真伪来决定是否执行开门动作。SM7用户卡通过发卡器配合后台管理系统,使用SM1 算法对系统根密钥进行密钥分散,将得到的密钥写入SM7 用户卡里。SM7 用户卡发卡示意图如图4 所示。采用SM1 国密算法对SM7 用户卡唯一序列号分散。六、Mifare的应用1、在公共交通领域的应用 非接触式IC卡应用潜力最大的领域之一就是公共交通领域。在欧洲和美国,各交通部门以往的运营情况是连年赤字,有些部门甚至达到营业额的40,因此,寻找一种增收节支的扭亏方案势在必行。自90年代前期使用非接触式IC卡作为电子车票以来,欧美各国的公交企业便逐步改善了亏损局面。我国一些城市自2003年开始也采用非接触式IC卡电子车票管理系统。根据估测,近年来所售出的非接触式IC卡的50是使用在公共交通领域,而且,应用最广的就是Mifare系列非接触式IC卡。 典型的非接触式电子车票系统通常由车内卡片读写器、运营部服务器、中央服务器、客户服务阅读器和系统管理软件组成。车内卡片读写器用于对乘客卡片的读写操作,每天当公交车返回到车站时,当天的数据可以通过有线或红外线接口传送到运营部服务器内,然后通过企业内部网络将经过预处理的数据传送到中央服务器进行分析统计。客户服务阅读器用于接待客户购卡、预购车费、查询余额等服务。 采用基于非接触式IC卡技术的电子车票管理方式所显示的优势: 首先,给乘客带来的好处是:不需要携带零钱出门,方便乘车;即使价目有变更,己预先支付的非接触式IC卡仍有效;月票卡可以在每月的任意一天开始,从非接触IC卡第一次使用时间起算,有效时间截止到下个月的同一天。 其次,给司机带来的好处是:不必兼任售票或检查投币工作;不必准备零钱找零;不必进行每日的收入结算。 再次,给公交企业带来的好处是:减少自

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论