您的位置-->>技术文章

智能卡IC卡安全模型分析及在高速公路网中的应用
发布时间:2008-10-1 下午 12:05:23 浏览次数:

    摘要:智能IC卡在高速公路路网中的应用其安全性不容忽视,本文先提出了IC卡在高速公路联网收费中的安全模型,然后分析了模型中IC卡面临的威胁与攻击,最后结合联网收费的具体应用针对相应的攻击给出了解决方法与策略。
  
    关键词:智能IC卡;安全模型;攻击;安全

    
    引言
  
    智能IC卡的安全模型[5]是指在一个基于智能卡IC卡的应用系统中参与IC卡交易各方所组成的应用模型,模型中的各方因为相互间的功能联系而形成了一个统一体,但模型内部各方的功能是有区别的,正是这种区别使得各方的功能分割后可能会导致安全问题。采用了文献[5]中的模型,具体地分析了高速公路联网收费系统中的IC卡安全模型并给出了相应的对策。
  
    高速公路联网收费系统中的收费信息来自IC卡,所以其安全是基于IC卡的安全性的,现行的路网收费系统存在着人工方式(MTC)和电子收费方式(ETC)的混合应用,根据应用的不同采用的IC卡的类型也不同,在联网收费中IC卡的应用种类包括属于车辆通行用户卡的带金卡、通行券、公务IC卡等和属于系统用卡的身份IC卡、系统管理IC卡、密钥IC卡等。在MTC方式中选用的是非接触式Mfarel卡作为信息载体,在ETC方式中采用的是双界面CPU卡以满足以上2种方式的混合应用,虽然二者的安全机制不同,但无论采用何种IC卡,在这样一个基于IC卡的安全的系统中如何建立一个安全模型是非常重要的,下面先提出联网收费系统的可信任模型。
  
    1路网收费系统中的模型分析
  
    1.1IC卡应用中的可信任模型
  
    IC卡持有人 拥有智能卡IC卡的使有权,既包括合法使用者也包括非法攻击者。
  
    其中的模型成员说明如下。
  
    信息控制方 控制IC卡内的数据及管理。在此处指在MTC中收费车道计算机的使用者或在ETC中路边单元(RSU)的控制者。
  
    终端设备 指与IC卡通信的外部设备。在MTC中指收费车道明华读卡器或在ETC中指车载单元(OBU)。
  
    发卡方 发行IC卡的部门。负责IC卡的个人化过程。
  
    智能卡IC卡的制造商 生产智能卡IC卡的公司。负责写入智能卡IC卡片操作系统(COS)及IC卡的初始化数据。
  
    软件开发商 负责智能卡IC卡应用软件的开发,包括2次应用开发。
  
    2.2 可信任模型中功能分割后参与方之间的攻击分类 
  
    1)终端对智能卡IC卡持有人和信息控制方的攻击
  
    路网中无论是Mifarel卡还是CPU卡,当持卡人将IC卡插入终端明华读写器后他和收费车道管理者都会相信明华读写器能与IC卡正常通信且是安全地进行的,但此处系统中可能存在着木马攻击即:当外部攻击者将木马程序放入未被怀疑的收费车道终端明华读卡器后,这一点是容易做到的,此时当合法用户将口令或个人信息从可信的程序中输入时,特洛伊马程序便在用户全然不知的情况下获取相关个人资料,以此可进行重放攻击来进行信息欺诈。
  
    2)IC卡持有人对终端的攻击
  
    此类攻击最常见,可分为物理攻击和逻辑攻击。
  
    物理攻击 主要是利用智能卡IC卡的物理特性来对它进行模拟或干扰,包括模拟攻击、伪IC卡攻击分析攻击。
  
    模拟攻击是人为模拟输入输出信号欺骗终端设备。这一点在接触式IC卡中就容易做到。
  
    伪IC卡攻击是终端设备在读写IC卡的过程中,可能会有一定的时间间隔,在这个时间间隔之前,用合法的授权IC卡打开终端设备及其控制设备,并在写入数据之前用伪IC卡替换真IC卡,使得所有的消费纪录没有写入到真正被授权的IC卡上,而被纪录在伪IC卡之中。
  
    分析攻击是将智能卡IC卡的电路进行分析,并利用较先进的仪器设备测试IC卡的各种密码的位置和状态字,从而破译整个系统。
  
    逻辑攻击 指智能卡IC卡在正常的物理环境中使用时,敏感信息如个人密钥,带金卡的内部资金和密钥卡的加密密钥被通过探测来往于IC卡的比特流而获得,从而打开各个受控设备,对系统进行实质上未经授权的访问。 
   
    3)IC卡持有人对信息控制方进行攻击
   
    因为在路网收费系统中采用智能卡IC卡进行交易,所以智能卡IC卡内的信息数据存储必须受到保护,但是攻击者能以各种方式访问IC卡。包括:带到实验室进行试验,为了解IC卡的工作原理占有或破坏IC卡。此类攻击有:错误分析、时分攻击等。这样攻击者就构成了对要依赖于IC卡信息安全的信息控制方的攻击。
  
    4)IC卡持有人攻击软件开发商
  
    此类攻击主要指有恶意攻击的IC卡持有人用适当的硬件对IC卡实行攻击,以使IC卡不能装入软件开发商新的软件,从而构成对软件开发商的攻击。 
   
    5)终端对发卡方的攻击 
   
    因为终端设备控制着IC卡与发卡方之间的任何通讯,在这样的情况下,终端总能篡改或拒绝纪录交易等等,例如:车道终端明华读卡器不能响应IC卡的请求,或虽然响应但对卡进行了不正常的操作。 
   
    6)发卡方攻击IC卡持有人 
   
    指IC卡的发行方不遵守行业准则,利用其是发IC卡方的便利窃取IC卡内的信息,这一点发卡方是非常容易做到的,这样就构成了对秘密的侵犯。尤其在本收费系统中用IC卡来代替现金的电子钱包其敏感性就更为突出。此外,从用户的角度出发,发卡方要改变IC卡的初始状态,这不仅会被视作一种攻击,而且由此将带来安全隐患,发卡方并没有征得持IC卡人的意见,况且客户也很难识别出来。
  
    7)IC卡制造商对信息控制方和软件开发商的攻击
  
    在路网收费系统中,由于要求一卡多用,且能跨平台操作,不仅要使其能在WINDOWS9X/NT,DOS操作系统中使用而且也要求能在LINUX,UNIX操作系统中使用。同时希望能支持用VISUAL C++,VISUAL BASIC,JAVA,DELPHI等多种语言开发,这样就产生了新的安全隐患将涉及到操作系统接口的安全,具体的IC卡操作系统的安全,开发程序的安全。IC卡中密钥及认证基于随机数的安全,如果制造商使用了性能极差的随机数发生器,那么,由此带来的安全隐患就是显而易见的了。
  
    2路网收费系统模型中IC卡抵抗攻击策略 
  
    针对以上提出的智能卡IC卡在路网收费系统中可能遇到的攻击,提出了如下的具体抵抗攻击的对策。
  
    在路网收费中对于木马攻击既可发生在智能卡IC卡终端上也发生在系统登录上,有如下2种方案可用:一种是采用被称作单通道设备驱动体系,使用这种体系的操作系统将会在任一特定时间只允许一个应用程序可以访问系列设备(例如IC卡明华读写器),但是随之而来的就是造成了使用IC卡的不方便,因为可信赖的多个程序就不能同时对IC卡操作。另外一种抵抗手段就是采用“一次一密”的策略即每次输入口令都不同。这样木马程序即使获得了当前的口令或密钥也无法进行重放攻击了,同时也可防止字典攻击,但也相应增加了密钥的管理复杂度。对于收费系统中管理员进行系统安全登录认证可采用这2种方案。
  
    对于终端的物理攻击和逻辑攻击,其核心一点就是让攻击者不能非法获得IC卡内的敏感信息。要做到这一点,在路网收费系统的具体环境中采用如下的手段。
  
    1)在IC卡的本身物理特性上,选用IC卡时确保其物理封装的坚固耐用性,并且做到能够承受相应的应力作用而不导致损坏;在IC卡的制造时,建议厂家采取如下的一些措施:在IC卡的制造过程中使用特定的复杂而昂贵的生产设备,增加伪造的难度。对IC卡的一些制造和发行参数严格保密,增强IC卡的包装完整性,即给存贮器加上若干保护层,把CPU和存储器做在IC卡内部的芯片上,选用一定的特殊材料防止非法对存储器内容进行分析。在IC卡的内部安装监控程序,以防止对处理器/存储器数据总线的截听,而且也可防治对IC卡的非授权的个人化。对整个制造与发行工序加以分析以确保每人能够完整的掌握IC卡的制造和发行过程,防止内部人员犯罪。
  
    2)在IC卡的逻辑安全上主要从具体的以下几个方面进行考虑。
  
    加密算法采用3DES加密算法,由于是传统单DES的基础上的迭代,其密钥的长度从56比特扩展到112比特或168比特。破解密钥的难度从256到2112或2168,大大地满足了安全的需要。以上是基于对称加密体制的,我们也考虑了非对称加密体制RSA算法,它是基于一个大的质数难分解为2个质数的数学难题之上的。由于3DES在IC卡内的实现要比RSA更快速一些,基于收费的时间的要求,我们采用3DES作为加密算法,而用RSA来进行数字签名。采用的3DES加密算法如下
  
    使用双长字节(16字节)密钥K=(KLKR)将8字节明文数据块加密成密文数据块,如下所示
  
    加密算法:Y=DES(KL)[DES-1(KR)[DES(KL[X])]]
    解密算法:X=DES-1(KL)[DES(KR)[DES-1(KL[Y])]]
    其中,DES[]表示用DES加密,DES-1[]表示用DES解密。
  
    在完整性上,采用MAC信息鉴别码,有2种方式,一种是机密性保护,即在每一笔交易结束后,对该交易数据先用DES加密再计算其MAC,从而以密文传输,较安全;另一种是不用加密而直接计算MAC,然后加到预发送信息的尾部,当接收者接到数据后,重新对信息内容计算出MAC值,并与报文尾部的MAC值进行比较,若相等则信息未被修改。
  
    在防抵赖性上用数字签名可以解决发收方的诚实而产生的争执。由于对一个完整的明文信息进行签名要花很长时间,因此,对明文先进行压缩再签名。
     
 
    在鉴别与认证上,采用对称鉴别体制。因为路网收费系统中是人工收费和电子收费混合使用的,根据不同的方式采用的卡是不同的,但主要是采用非接触式的IC卡(即Mifarel)用于人工收费方式,采用双界面CPU卡用于电子收费方式,二者的安全机制是不同的。此外,在明华读卡器的安全存取模块采用了SAM卡,用于密钥的管理。下面分别介绍。
   
    对于Mifarel卡 采用3次相互认证机制完成终端和智能卡IC卡的相互认证。即
  
    1)端读取用户卡的卡序列号,并送入加密运算SAM卡中。
  
    2)AM卡用外部认证主密钥对智能卡IC卡片序列号等数据进行加密,生成外部认证密钥,即为某扇区的读/写密钥,存放到SAM卡的临时存储区。
  
    3)终端从用户IC卡中取随机数。
  
    4)终端将随机数送入SAM卡,同时SAM卡产生自己的随机数,SAM卡用外部认证密钥对这两个随机数加密,并将加密结果Dl送回终端。
  
    5)终端用外部认证指令送加密结果Dl给用户智能卡IC卡。
  
    6)用户卡用相应的某扇区的读/写密钥对加密结果D1进行解密,并与相用户卡本身产生的随机数进行比较,若一致则转到下一步。
  
    7)用户卡用相应的某扇区的读/写密钥加密终端的SAM卡产生的随机数、本身的随机数和卡序列号,并将加密结果D2送回终端。
  
    8)终端将加密结果D2送至SAM卡。
  
    9)SAM卡用认证工作密钥解密D2,并与SAM卡产生的随机数进行比较,若一致,则表示3次相互认证成功。
  
    对于双界面CPU卡 在电子收费方式中有2种方案,即予处理方式和适时处理方式,在适时处理方式中的流程。
  
    当装有OBU的车辆经过ETC车道时,OBU与RSU进行相互认证,认证通过后,CPU卡与RSU进行相互认证。认证通过后,CPU卡与RSU之间相互通信,此时OBU仅充当发送和接受信息的载体,而不对数据进行处理。
  
    预处理方式中的流程
  
    当CPU卡插入到OBU时,OBU即对CPU卡进行认证,以判断CPU卡的合法性,并从CPU卡读取高速公路收费中的必要数据;当车辆通过ETC车道时,RSU与OBU之间进行相互认证,以确认0BU的合法性。认证通过后,RSU与OBU之间进行交换数据信息。此后,OBU再将数据写入到CPU卡中。

    二者其中的安全机制为OBU的安全模块(SAM)存入认证密钥、主控密钥。CPU卡的主控密钥等;予处理方式中OBU与CPU卡、RSU与OBU之间的认证是基于DES算法和随机数,二者的无线传输线路上传送的是密文和随机数。认证的密钥是存放在RSU和OBU的SAM中,适时处理方式中RSU对CPU卡,RSU与OBU进行认证,方法与上类似。只有认证后才可进行数据交换。
  
    1)对于持卡人对信息控制方的攻击,对于任何卡我们采取的是“一卡一密”的方式,这样任何一张卡的密钥泄露也不会构成对整个系统的信息安全威胁。另外在CPU卡的安全性方面主要是由其卡中的COS系统来实现的,COS中的密钥文件(KEY文件)存放多个密钥,记录中规定了其标识、版本算法及密钥的相关内容。KEY文件的内容不可读出,但可用专门的指令修改,具有很高的安全性。在MIFARREl卡中利用其区域保护技术,将卡分为若干个存储区,每区设定不同的访问条件,如果访问符合本区条件,才允许访问,否则锁定。例如自由访问区内允许随意读、写和修改,保护数据区内的读、擦、写受密码保护;而保密区内存放的密码则根本不允许读写和修改。对此区进行此类操作被视为非法入侵,即锁定系统。这种方法可以有效地防止非法入侵者用明华读写器逐一探查存储器内容。
  
    2)对于IC卡持有人攻击软件生产方,对于此种攻击抵抗在智能卡IC卡发行阶段采用各种各样的单项变换得到加强,这种单项变换可以保证软件不被篡改,尤其对智能卡IC卡的制造方更为容易做到。
  
    3)防范终端对发卡方的攻击,认为这一点需要发卡方对终端十分了解,尤其对IC卡明华读写器的各项性能,指标及参数,事实上需要智能卡IC卡制造商的配合。这一点智能卡IC卡制造商必须保证终端设备的可靠性。
  
    4)要防止发卡方攻击智能卡IC卡持有人此类攻击,重要的一点就是增加对发智能卡IC卡方的监督,建立一套可靠的机制严格约束发卡方对用户敏感信息的权限,同时也可增加用户对IC卡内的信息的透明度,使得用户对自己的一些重要的存在IC卡中的数据及时了解,例如,在电子钱包中的金额的变化情况就是用户最关心的部分。
  
    5)对于制造商对信息控制方的攻击,这一点关键之处就是注意选择IC卡制造商,应选择信誉好,技术可靠并在实际的应用环境得到严格测试的制造商。对其提供的各种操作平台接口要进行安全控制,寻找该操作系统的安全漏洞和相应的补丁,这些需要管理者的经验,此外对其提供的智能卡IC卡操作系统尤其要从安全的角度进行评价。在当前大多数使用随机数的情况下,制造商提供的随机数发生器是否是真正的随机数应得到足够的重视。不难看出,一个糟糕的智能卡IC卡制造商对整个基于智能IC卡的安全的系统是个极大的安全隐患。
  
    3结束语 
   
    从上面对在高速公路路网中智能智能卡IC卡安全模型的分析与对策的讨论,可以看出要确保智能IC卡在路网收费中的高度安全仍然需要做大量的分析工作,涉及到智能IC卡本身和其应用环境的安全,方方面面都要考虑、他是一个综合的因素的结果。设计任何一个可靠的智能IC卡安全系统均需具体环境的支持、这一点总的来说就是要求智能IC卡的物理方面、逻辑方面和与具体使用环境的相互制约方面进行全面可靠的分析。只有这样才能更好地抗击非法攻击,使得智能IC卡更好地发挥其应有的特长。 
 
作者:刘璋峰 朱 健 黄承明 董德存, 同济大学电子与信息学院
  
【首页】 【返回】