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

下载本文档

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

文档简介

1、智能卡技术学习报告Mifare卡的算法破解和应用姓名:专业:信息安全 2班学号:20101003356指导老师:杨帆中国地质大学计算机学院智能卡技术学习报告一、 论文摘要3二、Mifare卡的简单介绍 4三、Mifare卡的构造及其功能模块 6四、Mifare卡的破解12五、 确保 Mifare卡安全应用的新方案 18六、Mifare的应用22七、 参考文献24#智能卡技术学习报告中国地质大学计算机学院、论文摘要Mifare是近年来被广泛应用的一种智能卡。但是随着其 广泛应用以及人们对其研究的加深,一度被认为非常安全的 mifare卡也存在被破解的危险。针对此现象,我们对mifare的构造进行

2、了深入的了解,并提出了 mifare卡安全应用的新的方法,使其能够安全的继续应用在各种领域。关键词:mifare卡、算法破解、安全应用、SM7国密算法一、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 b

3、een 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 SM

4、7 algorithm中国地质大学计算机学院、Mifare卡的简单介绍智能卡技术学习报告1、Mifare 1卡领导了非接触式IC卡的革命Mifare 1 非接触式IC卡是1994年由荷兰NX碑导体公司(简称NXF公司)发 明。它成功地将射频识别技术和1C卡技术相结合,解决了无源(卡中无电源)和免 接触的技术难题,是电子科技领域的技术创新的成果。 Mifare 1卡是目前世界上 使用量最大、技术最成熟、性能最稳定的一种感应式智能1C卡。其具有如下优点:(1) 操作简单、快捷:由于采用射频无线通讯,使用时无须插拔卡且不受方向和正反面的限制,所以非常方便用户使用。完成一次读写操作仅需 0.1秒,大大

5、提高了每次使用的速 度。既适用于一般场合,又适用于快速、高流量的场所。(2) 抗干扰能力强:Mifare 1卡中有快速防冲突机制。在多卡同时进入读写范围内时,能有效防止卡片之间出现数据干扰。读写设备可一一对卡进行处理,提高了应用的并行性及系统工作的速度。(3) 可靠性高:Mifare 1卡与读写器之间没有机械接触。避免了由于接触读写而产生的各种故障;而且卡中的芯片和感应天线完全密圭寸在标准的PVC中 ,进一步提高了应用的可靠性和卡的使用寿命。(4) 安全性好:Mifare 1卡的序列号是全球唯一的,不可以更改;读写时卡与读写器之间采用三次双向认证机制.,互相验证使用的合法性。而且在通讯过程中所

6、有的数 据都加密传输;此外.卡片各个分区都有自己的读写密码和访问机制,卡内数据的安全得到了有效的保证。(5) 适合于一卡多用:Mifare 1卡的存贮结构及特点使其能应用于不同的场合或系统,尤其适用于政府机关、公用设施、学校、企事业单位、智能小区的身份识别、门禁控制、 停车场管理、考勤签到、食堂就餐、娱乐消费、图书管理等多方面的综合应用。 有很强的系统应用扩展性.,可以真正做到“一卡通”。成本低:中国地质大学计算机学院智能卡技术学习报告.,而随着Mifare l卡的广泛应用,中国不但成为全球最大的卡片生产基地且芯片生产技术也为多家国内的厂家掌握,使得Mifare 1及其兼容卡的出厂价 格大幅下

7、降,大大降低了用户的投资。2、Mifare 1非接触式IC卡的构造简介Mifare I非接触式IC卡(又称Mifare 1射频卡,以下简称M1卡)采用先进的 芯片制造工艺制作,内建有高速的 CMOS EEPROMMC等。它的核心是Philips公 司的Mifare 1 IC S50( 一01, 一02, 一03, 04)系列微模块(微晶片),该模块 确定了卡片的特性以及卡片读写器的诸多性能。卡片上除了 IC微晶片及一副高效 率天线外,无任何其它元件。卡片上无源(无任何电池),工作时的电源能量由卡片读写器天线发送无线电载波信号耦合到卡片上天线而产生电能,一般可达2V以上,供卡片上IC工作。工作频

8、率13. 56MHz M1卡所具有的独特的MIFAREF非接触式接口标准已被制定为 国际标准:IS0 / IEC 14443 TYPE A 标准。M卡的标准操作距离与读写器的读写电路模块有关,当采用McM50作为读写器的读写模块时,操作距离为100mm当采用MCM200,操作距离为25mmM卡具有先进的数据通信加密及双向验证系统, 且具有防冲突机制,能在同 一时间处理重叠在卡片读写器天线的有效工作距离内的多张重叠的卡片,支持多卡操作。卡片制造时具有惟一的卡片系列号(32位),没有重复相同的两张M1卡。M卡与读写器通信使用握手式半双工通信协议,卡片上有高速的CRC、处理器,符合CCITT标准。射

9、频卡与读写器的通信速率高达106Kbit /s。卡片上内建8K位EEPRC存储区,并划分为16个扇区,每个扇区分为4个块, 并以块为存取单位。每个扇区可分别设置各自的密码,并以多种方式进行管理, 互不干涉。因此,每个扇区可以独立地应用于一个应用场合,整个卡片非常适合于各种“一卡通”应用系统。卡片上还内建有增值/减值的专项的数学运算电路,非常适合公交/地铁等行业的检票/收费系统。典型的检票交易时间最长不超过100ms(0. 1秒)。卡片上的数据可改写10万次以上,读无限次;数据保存期可达10年以上,且 卡片抗静电保护能力达2KV以上。ISO14443即是以Mifare卡的技术标准为草案形成的。根

10、据 NX公司提供的数中国地质大学计算机学院智能卡技术学习报告据,全球超过50个国家、650个城市在使用Mifare方案,且几乎都是使用Mifare l 卡。市场上已经使用的Mifare 1卡的数量超过10亿张。我国140多个城市的公共 交通领域在使用Mifare 1卡,市场占有率超过70%同时,众多的Mifare 1卡读 写机具的生产厂商也为用户提供了便利、廉价、及时的服务。三、Mifare 1的构造及其功能模块1、Mifare 1非接触式IC卡的工作原理M1卡片的电气部分只由一个天线和一个微模块组成。天线是只有几组绕线 的线圈,很适于封装到ISO卡片中,微模块由一个高速的RF射频接口电路和数

11、字 电路部分组成。其工作原理是:读写器向卡片发一组固定频率的电磁波, 卡片内 有一个LC串联谐振电路,其频率与读写器发射的频率相同,在电磁波的激励下, LC谐振电路产生共振,从而使电容内有了电荷,在这个电容的另一端,接有一个 单向导通的电子泵,将电容内的电荷送到另一个电容内储存,当所积累的电荷达到2V时,此电容可做为电源为其它电路提供工作电压, 将卡内数据发射出去或接 取读写器的数据。2、Mifare 1非接触式IC卡功能组成M卡核心微模块IC S50的功能组成如图1所示。整个模块主要由两个部分组 成:RF寸频接口电路和数字电路部分。| 换ClockJ DaitaEJ1血h /Ti 山 bdu

12、1瞽谓节| |咖俚拉)Energy Sefect曲jp应鼻由11ATRAntiCollisx)nRAM图1 Mifare 1非接釉式IC卡功能组成ROMArhluK Urat11(1) RF寸频接口电路中国地质大学计算机学院智能卡技术学习报告在RF射频接口电路中,主要包括有波形转换模块、调制/解调模块、电压 调节模块和P0模块。波形转换模块可将卡片读写器上的13. 56MH的无线电调制信号接收,一方面送调制/解调模块进行解调,另一方面进行波形转换,将正弦波转换为方波,然后对其整流滤波,并由电压调节模块对电压进行稳压等进一步 的处理,最终输出的电压供给卡片上的各个电路。P0模块主要是对卡片上的各

13、个电路进行POwE一ON-RESE上电复位,使各电路同步启动工作。(2) 数字电路部分ATR模块(Answer to Request):请求应答模块当一张M卡片处在卡片读写器天线的工作范围之内时,读写器内的读卡程序会向卡片发出REQUEST11(或REQUESTd)请求命令,于是卡片的ATR各启动, 将卡片的类型号(TagType)共2个字节传送给读写器,建立卡片与读写器的第一步 通信联络。如果不进行第一步的ATR工作,读写器对卡片的其他操作将不会进行。AntiCollision模块:防止(卡片)重叠功能模块如果有多张M卡片处在卡片读写器天线的工作范围之内时,AntiCo11ision模块的防

14、重叠功能将被启动工作。卡片读写器在程序控制下将会首先与每一张卡片进行通信,取得每一张卡片的序列号(共5个字节,其中4个字节为序列号,另 一个字节为校验字节),由于M卡片每一张都具有其惟一的序列号,因此根据卡 片的序列号可以识别每一张卡片。卡片读写器中的读写电路MC的防重叠功能,配合卡片上的防重叠功能模块一起工作,在程序控制下根据卡片的序列号选定其 中一张卡片。最后被选中的卡片将直接与读写器进行数据交换,未被选中的卡片处于等待状态,随时准备与卡片读写器进行通信。Select Application 模块:卡片选择模块当卡片与读写器完成了上述两步操作之后,接下来读写器还必须对卡片进行选择操作,即与

15、被选中的卡片进行一次数据交换。当某卡片被选中后,被选中的卡片便将其容量传送给读写器,当读写器收到卡片的容量信息后,便可以对卡 片进行下一步的操作了。Authentication& Access Control模块:认证及存取控制模块在成功完成上述三步操作之后,接下来读写器要对卡片上某个扇区已经设 置的密码进行认证。如果认证通过,则允许读写器对卡片上该扇区进行读写操作。 否则要重新认证。中国地质大学计算机学院智能卡技术学习报告M1卡片的认证过程包含三次相互验证,图 2所示为三次验证的令牌原理框 图。卡曲泻器(A) RB(日)TOKEN AB (C)(D ) TOKEN BA卡片|(E)图

16、2三次验证令牌原理图认证过程是这样进行的:(A) 环:由M卡向读写器发送一个随机数据RB(B) 环:读写器收到RB后向M卡片发送一个令牌数据TOKEIAB,其中包含 了读写器发出的一个随机数据RA(C) 环:M卡收至0TOKENAB后,对TOKEIAB勺加密部分进行解密,并校验第 一次由(A)环中M1卡发出去的随机数RB是否与(B)环中接收到的TOKEN A中的RA 相一致;(D) 环:如果(c)环校验是正确的,则M卡向读写器发送令牌TOKEN BA(E) 环:读写器收到令牌TOKEBA后,将对令牌TOKENB中的RB(随机数)进行 解密;并校验第一次由(B)环中读写器发出的随机数 RA是否与

17、(D)环中接收到的 TOKEN B中 的 RA相一致。如果上述每一个环都能正确通过验证,则整个的认证过程成功。读写器将 可以对刚刚认证通过的卡片上的这个扇区进行读写操作。在对卡片上其它扇区的 读写操作之前,都必须完成上述的认证过程。认证过程中任何一环出现差错,整个认证将告失败。如果事先不知卡片上的密码,则由于密码的变化可以极其复杂,因此靠猜测密码而想打开卡片上的一 个扇区的可能性几乎为零。这里提醒一下程序员和卡片的使用者,必须牢记卡片中16个扇区的每一个密码,否则,遗忘某一扇区的密码,将使该扇区中的数据不能读写, 没有任何办中国地质大学计算机学院智能卡技术学习报告法可以挽救这种低级错误。但是,

18、卡片上的其他扇区可以照样使用。综上所述,可以充分地说明M1卡片的高度安全性、保密性,卡片的应用场 合多样性和一卡多用的特点。Co ntrol& Arithmetic Unit :控制及算术运算单元这一单元是整个卡片的控制中心, 是卡片的“头脑”。它主要对整个卡片的 各个单元进行微操作控制,协调卡片的各个操作;同时它还对各种收/发的数据 进行算术运算处理、递增/递减处理、CR运算处理等等。可以说是卡片中内建的中央微处理机(MCU单元。RAM 和 ROM RAM口 R0单元RAM主要配合控制及算术运算单元,将运算的结果进行暂时存储,如果某些 数据需要存储到EEPRQM则由控制及算术运算单元

19、取出送到EEPRO存储区中;如 果某些数据需要传送给读写器,则由控制及算术运算单元取出,经过RF射频接口 电路的处理,通过卡片上的天线传送给卡片读写器。RAh中的数据在卡片失掉电源后(即卡片离开读写器天线的有效工作范围内)将被清除。ROM中固化了卡片运行所需要的程序指令,由控制及算术运算单元取出对每 个单元进行微指令控制。从而使卡片能有条不紊地与卡片读写器进行数据通信。Crypto unit :数据加密单元该单元完成对数据的加密处理及密码保护,加密的算法通常为DESS准算法 或其他。EEPROM MEMOR/EEPROM INTERFACEEPRO存储器及其接口电路该单元主要用于存储密码和数据

20、。EEPRO中1的数据在卡片失掉电源后(即卡 片离开读写器天线的有效工作范围内)仍将被保持,因此,用户所要存储的数据 都被存放在该单元中。(3)EEPRO存储器的存储结构M1卡中EEPRO存储器容量为8K位(即1K字节),共分为16个扇区,每个扇区 由4块组成,每块16个字节。我们将16个扇区的64个块按绝对地址编号为063, 存储结构如图3所示:中国地质大学计算机学院Q智能卡技术学习报告扃区号块号內容功能|块地址JS区o块0厂商代硏数据块0块1数振数据块1块2数据 !散据块I2块3窃53 A存取栓制 密码B(3制块3klZ 1块。数据:数据块4块:数振数据块5块26块3密倒A 存取控制 密码

21、B :控制块7偏区彳50数锯块601数据数据块61:2数摇数据块623密69 A存取控制 密码B63图3存储结构图其中,第0扇区的块0用于存放厂商代码,已经固化,不可更改。每个扇区的块0、块1、块2为数据块,用于存贮数据。存贮在数据块中的数 据可以有两种应用:一是用作一般的数据保存,可以对其进行读、写操作。二是 用作贮值,可以对其进行初始化值、加值、减值、读值操作。每个扇区的块3为控制块,用于存贮该扇区密码A(6个字节)、存取控制字节 (4个字节)、扇区密码B(6个字节)。每个扇区的密码和存取控制都是独立的,可以根据实际需要设定各自的密 码及存取控制位。扇区中的每个块(包括数据块和控制块)的存

22、取条件由本扇区密 码和相应的存取控制位共同决定。 限于篇幅,有关控制位对扇区中每个块的控制 情况略。1、Mifare 1非接触式IC卡与卡片读写器的通讯M1卡与卡片读写器之间的数据通讯过程如图 4所示。改变扇区不改变扇区r r复位症答AnswerloRequest防你机制AnU collison Loop透择卡片Select Tag三次相互验证A uthienn cation中止Dtcrlrrh!RtsdInCitKhtffl4卡片与读写器之间数据通讯流再复位应答(Answer to request)M1卡的通讯协议和通讯波特率是定义好的,当有卡片进入读写器的操作范 围时,读写器以特定的协议与

23、它通讯,此时读写器会接收到由射频卡发出的卡片 的类型号,从而确定该卡是否为 Ml卡,即验证卡片的卡型。防冲突机制(Anticollision Loop)当有多张卡进入读写器操作范围时,防冲突机制会从其中选择一张进行操 作,未选中的则处于空闲模式等待下一次选卡,该过程操作成功会返回被选卡片 的序列号。选择卡片(Select Tag)选择被选中的卡片的序列号,此时读写器会接收到卡片的容量信息。三次互相验证(3 Pass Authentication)选定好要处理的卡片之后,读写器接下来需要确定所访问的扇区号,并对 该扇区密码进行密码校验,在三次相互验证之后就可以通过加密流进行数据通 讯。(注意:在

24、选择另一扇区时,则必须进行另一扇区密码校验。)以上操作成功之后,便可以对相应的扇区进行操作,其操作方式可有以下 几种类型:读操作(Read):读一个块;写操作(write):写一个块;加值操作(In creme nt):对数值块进行加值;减值操作(Decrement):对数值块进行减值;存储操作(Restore):将块中的内容存到数据寄存器中;传输操作(Transfer):将数据寄存器中的内容写入块中;中止操作(Halt):将卡置于暂停工作状态。四、Mifare卡的破解1、mifare卡的基本认证协议当MIFARE Classic卡接近读卡器的磁场区域时,卡片会接收到读卡器发 来的寻卡指令,然

25、后按照防冲突协议发出自己的卡号UID (寻卡过程)。收到UID后,读卡器会选择这张卡(选卡过程)。接着读卡器发出对某一块的认证请求, 然后就开始了一个标准的三步认证协议。卡片产生一个随机数nT并以明文方式发送给读卡器。紧接着读卡器发出它的随机数nR和对卡片的应答aRo最后卡片返回 一个对读卡器的应答aT。如果读卡器的应答不正确,卡将不会发送aT。从nR开始, 所有的数据都会被加密,也就是说nR, aR, aT会与密钥流ks* ks2, ksa异或以后 再发送出去。整个过程如图1所示。auth(block n)读卡器nR ks2 Qr kg2ks:;2、Cryptol 算法MIFARE 卡的安全

26、性,主要依赖于基本认证协议和流加密算法Cryptol。无论是认证还是加密,都需要卡中密钥的参与,密钥流由Cryptol算法生成。Cryptol算法由1个48 bit的线性反馈移位寄存器(LFSR和1个两层的20 bit 输入1比特输出的非线性函数组成。48 bitLFSR由密钥初始化以一定的方式产生 密钥流。国外研究者提出了一些不同的攻击方法,荷兰奈梅亨Raboud大学F. D.Garcia教授等人提出的攻击方案是其中效率较高的。这种攻击方法主要是利用 了密码结构本身的弱点:非线性函数的抽头只取奇数位,从而把密钥搜索空间从 48位降低到20位。文献的研究结果表明,在获得一组完整的基本认证数据的

27、条 件下,攻击者就可以恢复出原始密钥。3、MIFARE系统的攻击过程在现实环境中,MIFARE应用系统开发商根据实际需要,往往以三种不同的 方式来实现上述基本认证协议。我们对于 MIFARE Classic卡的攻击直接建立在 对这三种认证方式的攻击之上。为此,我们首先需要侦听MIFAREDIassic卡与读卡器之间的交互数据。利用这些数据和 F. D. Garcia给出的Cryptol攻击方法, 即可破译卡中的相应扇区密钥,并利用扇区的访问控制策略实现卡内数据的复制15中国地质大学计算机学院Q智能卡技术学习报告中国地质大学计算机学院智能卡技术学习报告和篡改。(1)侦听交互数据我们使用侦听工具来

28、截获卡与读卡器之间的通信数据。为了恢复出密钥, 我们需要截取一次合法卡与读卡器之间的完整的基本认证数据。(2)攻击基于基本认证协议的三种认证方式实际中,不同的应用系统所使用的认证方式是不同的,大致上可以分为三类:第一类,无密码认证;第二类,单扇区认证;第三类,多扇区认证。 无密码认证对于一些简单的系统或者一个系统中的某些简单的应用(如某些门禁),只验证明文卡号的合法性,不使用任何密码保护,所需的其他数据均从后台数据库 中取出,而非从卡中读出。因此,它没有认证部分的流程,而只有寻卡和选卡部分的流程。这种认证过程可用如图2(a)所示的流程来表示。abcd e freq nilauigwer req

29、selectukL bccMIFARE IKghreq all知曲艮E 1K4“无岳靳认远4皐f5req ullXI1 FARE !Kg hiJ kauthibWk n)%#fl ij,J1gq all单串卫认吃kret| allcucnftcii dataILm贞 聲 Jtrti* JtrK® 1 inOar ki ,pdicrj-ptcJ daLuk)序JU运认位其中,af为一次完整的寻卡选卡流程,但f之后并没有认证过程,而是 又重新进行寻卡选卡(g h),此后也一直进行此过程。也就是说,这些系统没 有使用MIFARE卡的安全特征,而是单纯的读取卡号。如果卡号不在应用系统定 义的

30、黑名单中,则以此卡号在白名单中查找,找到则返回所需信息,找不到则认 为认证失败。显见,攻击者只要能制作或找到一张卡号相同的卡,则该卡就会被系统误认为是合法的。我们对此类认证方式下的交互过程进行了仿真实验,所侦听到的通信过程及数据如表1所示。表1无密码认证方式下的交互数据步骤发送者卜六进制纲要01读卡器52req all02卡04 00answer req03读卡器93 20select04卡6a 9a 9e b3 dduidt bcc05读E器93 70 6a 9a 9eb3 dd ea 82select(uid)06卡08 b6 ddMIFARE lk 单扇区认证有些系统的交互流程是每次寻卡

31、选卡后都只与一个特定扇区进行认证。这类系统或者只使用了一个扇区,或者认证新的扇区时都会重新进行寻卡选卡。这 类认证协议如图2 (b)所示,其中af与图2 (a)中一致。注意到从g开始读 卡器发送认证指令,hj是一个完整的基本认证过程,此后开始传输加密的指 令以及数据(即第k步);与一个扇区的交互完成后,读卡器根据应用系统的设 计要求,可以重新开始寻卡过程。如此反复进行,直到交互结束。我们通过仿真实验给出了单扇区认证方式下的通信过程及数据(如表2所示)。可以看出,读卡器在与卡进行成功认证(第10步)后发送了经过加密的指 令(即第11步),然后卡返回了一个18字节长的加密数据(第12步)。这里,可

32、以通过表中第 0810步的数据算出一个密钥0X4C4D0A2C0CF3 这个过程在一台普通的计算机上大概需要 8M内存并在几秒内可以完成。接着我 们就可以解密出:第11步的明文为30 04 26 EE表示读04块。接下来第12步 为04块中的16字节数据和两字节的校验。表2单扇区认证的交互数据步骤发送者十六进制纲要01读卡器52req all02卡04 00answer req03读卡器93 20select04卡d4 b4 81 09 e8ui* bcc93 70 d4 b4 81 09 e805读E器a5 f2select(uid)06卡08ddMIFARE Ik07读卡器60 04 di

33、 3dauth(block 04)08卡98 fa b9 74nT(续表2)步骤发送者十六进制纲要16 8f 0e d6 6c Ob 6209读卡器16nR ® ksi,® ks21065 83 lb 32aT ® ks311读卡器b6 46 00 2aRead(block 04) ®ks456 7f 46 19 00 4a 81t.data in block12卡If 2d f8 bO bl c2 863f 18 fb c504 (encrypted) 多扇区认证相比前两种认证方式,多扇区认证具有更好的安全性,因此往往被一些安 全要求较高的应用系统所采

34、用。该认证方式的特点是:第一次扇区的认证采用基 本认证协议方式,从第二次扇区认证开始,所有的交互过程都是加密的,直到一 次完整的交互结束。这个过程如图2 (c)所示,其中ak与图2 (b)中一致。注 意到,第k步完成后读卡器并没有发送新的寻卡指令,而是直接发送加密的认证 请求,读卡器接着发送的随机数也是加密的(第m步),这与前面的认证过程不同, 之后都与前面的认证过程相同。这时,由于第二次认证请求卡片再发送随机数都 是密文的,使得我们无法获得随机数明文数据。 因此,我们通过穷举所有可能的 随机数(216个)来计算密钥,这时我们大约需要做216次单扇区认证解密的离线计 算时间。通过一些如校验位等

35、的漏洞可以减少尝试的随机数,以提高破译密钥的速度。19中国地质大学计算机学院智能卡技术学习报告表3给出了我们实验仿真的多扇区认证的过程。多扇区认证的交互数据步骤发送者十六进制纲要01读卡器52req allJ 二卡C40Danswer req03读K器9320selectj4卡d4b4clijCeBuld, buc读肚器93f270d4二亠09jFL&5吁已丄ectud卡cebeddMIFAJE Ikj7读卡器002e753auch(hlcck C2)jS卡f o9bh d读卡器5f-4b91cBac50Hr® ksIf aR ®ic卡-55aCa.aj ®

36、; ks311读卡器聂二0 aeo13Read (block C2)也 ks12卡e 5 7c 上f11熬3al._,7377OGa4:z5073£3Ac03If1daa m block02 (encx d13读k器Se93hCauch (block C B ii(encryptred)14卡f23b6f5 ani ks i15读卡器254485A, 严den d§且Ur ® ks I, Ar ® ks IIt卡ddf L一 c35*aT ks 317读卡器378亡77c2Read (block C $ 'i413卡162b_ bd2b5bft

37、e7ea a?el343 ¥94d42£daLa in bl ckOS (encrted)第13步读卡器直接发送了加密的认证指令,而第14步是一个加密的随机数。 根据第0810步的数据,我们花费了几秒的时间就计算出第一步认证的密钥是 0X307E00DFD5D6再根据第1416步的数据穷举卡发送的随机数,计算出第二步 认证的密钥为0X2A9E0E770EFF这次我们大概花费几个小时的离线计算时间。接 着我们依次解密出:第17步的明文为30 08 4A 20,表示读08块;第18步为08 块中的16字节数据和两字节的校验。(3)复制、篡改卡片中国地质大学计算机学院智能卡技术学

38、习报告从理论上讲,获得了 MIFARE Classic的密钥,卡片的安全性就已经丧失。对于攻击者来说,他们会利用密钥来复制一张相同的卡或者将此卡片按照自己的 目的进行修改,给实际应用带来危害。对于攻击者来说,获得密钥之后只需一台支持MIFAREDIassic卡的读卡器 就可以将一张合法卡的内容全部复制出来, 写入另外一张空白卡片中,而系统并 没有办法区分这两张卡片是不同的。实际中,尽管 MIFARE Classic空白卡片的 UID是预先固定的,但攻击者可以使用其他类型的支持 MIFARE Classic标准的卡片或者一些硬件设备来模拟 MIFAREDIassic卡。因此,从根本上说,UID也

39、是 可以修改的。攻击者还可能篡改卡的内容,就是直接改写卡内的数据。通过对卡内数据(如金额)的存储格式以及是否有完整性保护或者备份进行分析,攻击者就可以对卡片中的内容进行有目的的篡改。 对于存在完整性保护的卡片(即有数据的校 验等机制),复制仍然是无法抵御的,因为复制同样也把正确的校验位复制到新 的卡中。对于篡改,攻击者可以重放历史数据,以达到修改数据的目的。(4)其他攻击方法前面所提到的攻击都是基于可以同时与合法的卡或读卡器接触,但是攻击者仍可以使用其他攻击方法,不同时与卡或者读卡器接触。如攻击者可以分别与 卡和读卡器交互,先与卡通信获得 UID,再与读卡器交互,破译密钥;在读卡器 不检测UI

40、D合法性的系统中,攻击者可以直接用非法UID与读卡器交互也能破译 所需密钥;攻击者还可以在只获得合法的卡片,在不需要合法读卡器的情况下, 破解出卡中的密钥。五、确保Mifare卡安全应用的新方案1、国家出台相关的技术标准我国智能卡应用技术作为国家信息化发展战略的一部分,已经有了10余年的发展历史。智能卡应用的行业和地方标准已经初步建立,如中国人民银行早在1998年就颁布了中国人民银行金融集成电路(IC)卡规范(版本1.0)»,2005 年又修订后发布中国金融集成电路(IC)卡规范(2.0版)即通常简称的 PBOC2.0建设部在2002年颁布实施建设事业IC卡应用技术(CJ/T 1 6

41、 6 - 2 0 0 2 ) »,2 0 0 6年修订为建设事业集成电路(IC )卡应用技术规范239智能卡技术学习报告中国地质大学计算机学院(CJ/T166-2006)。2000年国家劳动和社会保障部也颁布了社会保障(个人)卡规范等。但是,这些标准中CPI卡部分基本上是以 ISO/IEC7816(GB/T 16649)识别卡一带触点的集成电路(IC)卡为基础。同时,从国际标准的角度看,接触式IC的标准统一在ISO/IEC7816,但是关 于非接触式IC卡的标准繁多,如:ISO14443识别卡-非接触集成电路卡-接近卡、ISO18OO0言息技术-射频识别的管理、ISO18092言息技

42、术-系统间的通讯与 信息交换-NFC-接口与协议、ISO1O536识别卡-非接触集成电路卡-紧耦合卡、ISO15693识别卡-非接触集成电路卡-邻近卡,等等。随着非接触式C P U卡产品技术(包括双界面卡技术)的成熟和 MIFARE I 卡的安全性问题事件的促进,国家有关部门有必要加快非接触式CP卡产品技术应用体系标准制定的步伐,指导IC卡用户的使用和IC卡产业的发展,避免在无标 准或多标准的状态下,政府和企业盲目地投入在项目或研发而造成不必要的损 失。总之,我们要正确地看待MIFARE卡的安全性问题,处理好由此而带来的 安全隐患,避免给社会带来巨大的损失,同时,做好向非接触式CP卡发展的准备

43、工作,以保证IC卡产业沿着正确的轨道发展。2、基于SM7国密算法对Mifare1门禁系统的升级方案(1) 上海华虹SM7I密算法RFID安全芯片2009年,上海华虹集成电路有限责任公司研发出中国第一枚国家自主安全算法RFID芯片SHC1112(SSX0904,并已通过国家密码管理局组织的型号评审, 获准进行生产销售。SHC1112主要技术指标:采用ISO/IEC14443 Type A非接触 通讯方式,支持抗冲突协议;支持ISO/IECDIS9798- 2三次传送鉴别相互认证体 制;采用SM7国密算法加密保护数据交互的安全,通讯过程所有数据加密以防信号截取;具有8个相互独立的密钥,支持一多用;

44、数据通讯速率 106k bps ; 4 字节唯一序列号UID; EEPRO存贮容量1 k字节,划分为64块,每个数据块可由 用户定义单独的访问权限;EEPRC数据保存时间大于10年;EEPRC数据擦写次 数大于10万次;天线输入引脚ES页达4000 V (HBM。(2) 门禁系统原理及升级方案对比分析发现,现有Mifare 1门禁系统隐患存在于系统前端,包括门禁读#中国地质大学计算机学院®智能卡技术学习报告卡器和用户IC卡,理想的升级方法是门禁系统前端更换为具有密码认证功能的 门禁读卡器和用户IC卡,与此同时原门禁系统的后台管理和权限管理功能无需 改动,可以继续按照原有方式运行。针对

45、目前 Mifare 1门禁系统,可采用上海 华虹SM7国密算法安全芯片SHC1112来实现系统升级。SHC1112集成了国家密码 管理局提供的128位密钥SM7密码算法,达到了防止对IC卡的非法复制、伪造 和变造的目的。SM7算法是由国内密码领域有关专家组成的专项工作组在国密局 指导下成功研制的,相对于CPU卡,SM7算法是一种低成本、高速度的轻量级密 码算法。由于使用了密码算法对用户信息进行加解密保护, 所以在门禁读卡器和 用户IC卡上都分别存放了对应的密钥,在门禁读卡器上具体表现为安全模块(PSA卡)的形式,因此我们引入了密钥管理系统的概念。通过密钥管理系统, 我们可以根据实际需要对各种业

46、务, 如门禁、考勤、小额消费等各自生成不同的 密钥,在密钥管理系统的多种安全措施保护下,可以实现密钥的生成、注入、备份、恢复、更新、导出和销毁等功能。这种密码方案采用国密局指定的SM1分组 加密算法,采用SM7分组加密算法进行门禁卡与门禁读卡器之间的身份鉴别与通 信数据加密。方案原理框图如图2所示。25图2基于SM7国密算法非接融 逻辑加密卡门葉系统原理框图用户门禁卡采用128位密钥SM7分组密码算法,卡内存放发行信息及卡片 密钥。在门禁读卡器中特别加进了带 SM7/SM1算法的安全模块(PSA卡),图中MCU负责读卡器内SM7/SM1安全模块同时鉴别门禁卡的门禁读卡器射频接口模块负责读卡器与

47、门禁卡间的射频通信, 部的数据交换,与后台管理系统及门禁执行机构的数据通信。 负责读卡器中的安全密码运算以及数据通讯所需要的密钥流, 合法性,存放系统密钥中国地质大学计算机学院智能卡技术学习报告方案中,用户门禁卡的认证由读卡器+PSA卡内部完成,认证完成后门禁读 卡器上传鉴别结果给后台管理系统,传输协议可以根据客户原系统的标准分别采 用维根和RS232后台管理系统进行实时或非实时门禁权限及审计管理,门禁执 行机构具体执行完成门禁操作。基于SM7国密算法IC卡作为门禁卡的系统示意图如图3所示图3基于SM7国密算法的非接触逻辑加密卡作为门禁系统示意图门禁系统包括如下:SM7国密算法用户IC卡、门禁

48、读卡机+PSA卡、门禁 执行机构、通讯总线、后台服务器,以及 SM7用户卡发卡器。当持卡人手持SM7门禁卡靠近门禁读卡机时,读卡机获取门禁卡的用户信 息,读卡机与门禁卡通讯时数据用SM7国密算法加密保护。读卡机将得到的用户 信息通过安全模块的认证后,把相应的结果通过通信总线发给后台管理系统,后台管理系统比对门禁信息的真伪来决定是否执行开门动作。SM用户卡通过发卡器配合后台管理系统,使用SM1算法对系统根密钥进行密钥分散, 将得到的密钥 写入SM7用户卡里。SM7用户卡发卡示意图如图4所示。采用SM1国密算法对SM7 用户卡唯一序列号分散。图4发行SM7用户卡示意图六、Mifare的应用1、在公

49、共交通领域的应用非接触式IC卡应用潜力最大的领域之一就是公共交通领域。 在欧洲和美国, 各交通部门以往的运营情况是连年赤字,有些部门甚至达到营业额的40%,因此, 寻找一种增收节支的扭亏方案势在必行。自90年代前期使用非接触式IC卡作为电 子车票以来,欧美各国的公交企业便逐步改善了亏损局面。我国一些城市自2003年开始也采用非接触式IC卡电子车票管理系统。根据估测,近年来所售出的非接 触式IC卡的50%是使用在公共交通领域,而且,应用最广的就是Mifare系列非接 触式IC卡。典型的非接触式电子车票系统通常由车内卡片读写器、运营部服务器、中 央服务器、客户服务阅读器和系统管理软件组成。 车内卡片读写器用于对乘客卡 片的读写操作,每天当公交车返回到车站时,当天的数据可以通过有线或红外线 接口传送到运营部服务器内,然后通过企业内部网络将经过预处理的数据传送到 中央服务器进行分析统计。客户服务阅读器用于接待客户购卡、 预购车费、查询 余额等服务。采用基于非接触式IC卡技术的电子

温馨提示

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

评论

0/150

提交评论