一卡通世界
当前位置:一卡通世界 >> 技术文章 >> 节能控制 >> IC卡热量控制表中信息安全的研究

IC卡热量控制表中信息安全的研究

来源:一卡通世界      作者:郭丽,刘立,周四民      2010/7/5 22:42:10

    当今世界信息技术的发展日新月异,信息技术已广泛深入到社会各个领域,并发挥着越来越重要的作用。集成电路卡(Integrated Circuit Card,简称IC卡)在我国 发展信息化建设中的应用非常广泛。利用IC卡作为传输介质,采用预付费的收费方式比以往抄表收费管理模式有了很大的改进,且得到了迅速的发展。根据建设部大力提倡按热量收费的供热系统的要求,IC卡热量控制系统将会被广泛使用。采用IC卡实现用户和供热部门之间的热量交费,用户从供热部门购买热量,通过IC卡将其值充入热量控制表,从而实现用户采暖预付费的目的。

    在IC卡热量控制系统中,IC卡中信息的安全问题是系统设计的关键问题。针对IC卡应用系统的特点,其安全性的关键在于卡中信息的安全。对多数攻击者而言,复制IC卡或窃取、更改卡中的信息才是其最终目的。为了更有效地保护卡中的信息,采用一种有效的、安全可靠的加密算法,实现对卡中信息的加密存储是十分必要的。该文通过分析比较传统密码体制的DES算法和公开密钥密码体制的RSA算法的优缺点,提出了改进的三重DES加密方法和其他一些安全措施,并将其应用于IC卡热量表系统中。
 
    1DES加密算法和RSA加密算法

    1.1加密算法简介

  1977年1月,美国政府采纳了由IBM研制的作为非绝密信息的正式标准——数据加密 标准DES(Data Encryption Standard)的加密算法。在对称密码体制中,DES加密算法是最典型的也是迄今为止世界上最广泛使用和流行的一种分组密码算法。DES数据加密标准用于对64 bit的数据进行加密和解密,所用的密钥也是64 bit,但由于其中包含了8 bit的奇偶校验位,因而实际的密钥长度是56 bit。DES算法多次组合 替代算法和换位算法,利用分散和错乱的相互作用,把明文编制成密码强度很高的密文。DES算法的加密和解密流程是完全相同的,区别仅仅是加密与解密使用子密钥序列的顺序正好相反。

  RSA算法是公开密钥系统中的杰出代表。RSA算法的安全性是建立在具有大素数因子的合数其因子分解困难这一法则之上的,RSA算法中加密密钥和解密密钥不相同,其中加密密钥公开,解密密钥保密,并且不能从加密密钥或密文中推出解密密钥,密钥长度40~2048 bit,加密时也把明文分成块,块的大小可变,但不能超过密钥的长度,RSA算法把每一块明文转化为与密钥长度相同的密文块。

    1.2RSA算法的主要缺点

  1)密钥的产生过于麻烦,要受到素数生成技术的限制,难以做到每工作一次更换一次密钥。
  2)分组长度太长,为了保证安全性,其密钥n要求在600位以上,运算代价太高。而且n还在增加,很不利于数据格式的标准化。
  3)尚未能证明破译RSA的难度与大多数分解的难度相等价(目前这还只是一个猜想),也就是无法从理论上把握其保密性能。从目前来看,由于受到卡内芯片尺寸的限制,智能卡微处理器的计算能力还不强,把RSA算法应用在智能卡技术中还有很多因难。因此,在智能卡中应用较多的加密技术基本上是对称 密码体制,其中较典型的加密算法是DES算法。

    1.3DES算法的不足及改进方法

  自DES算法1977年公诸于世以来,人们一直对DES的安全性持怀疑态度,对密钥的长度、迭代次数及S盒的设计众说纷纭。从技术上说,对DES的批评主要集中在以下3个方面:作为区组密码,DES的加密单位仅有64位二进制,对于数据传输来说太小;密钥仅有56位二进制未免太短,各次迭代中使用的密钥K(i)是递推产生的,这种相关性降低了密码体制的安全性;实现替代函数Si所用的S盒的设计原理尚未公开,其中可能留有隐患。

  针对以上DES的缺陷,人们提出了几种增强DES安全性的方法,主要有以下3种:

  1)三重DES算法
  用3个不同密钥的三重加密,即为:
 C=Ek3(Dk2(Ek1P))
  P=Dk1(Ek2(Dk3C))
  该方法为密码专家默克尔(Merkle)及赫尔曼(Hellman)推荐。据称,目前尚无人找到针对此方案的攻击方法。
  2)具有独立子密钥的DES算法
  每一轮迭代都使用一个不同的子密钥,而不是由一个56位二进制的密钥产生。由于16轮迭代的每轮使用一个48位二进制的密钥,所以这一方法可以增强DES的加密强度。
  3)带有交换S盒的DES算法
  比哈姆和沙米尔证明通过优化S盒的设计,甚至S盒本身的顺序,可以抵抗差分密码分析,以达到进一步增强DES算法的加密强度的目的。 

    2改进的三重DES加密算法

    2.1算法描述

  在3种增强的DES算法中,三重加密算法是应用最广泛的一种方法,其安全性比较高,但是在 传统三重加密强化算法中,只是对每一个分组明文(3字节)进行了加密强化,整个明文消息的各分组在加密时互不影响,每一个分组密文只受该分组的3字节明文及3个密钥的影响,因而,一个字节的明文发生变化,只引起对应的3字节密文发生变化,它的影响力仅在3个字 节范围内。若能够使得各个消息明文分组之间相互影响,即扩大每个字节明文的影响力,那么三重加密算法的强度必定会增强。基于这一考虑,文中设计了一个改进的三重DES加密算法。

  当用户从售热中心购热后,该算法开始首先对明文消息,即购热量M进行分组加密Ek1,得到组合密文C1,然后对C1进行分组换位变换T1,循环左移3个字节,得到组合密文T1(C1)。换位变换对原有的消息结构进行重新排列,打乱了原有结构,使得信息分布更加分散、杂乱。

  进行第2轮分组加密Dk2,得到组合密文C2,此时获得的密文C2,已经与传统的三重加密不同了。然后进行一次分组换位变换T2,各位求补码,得到组合密文T2(C2)。

  进行第3轮DES分组加密Ek3,从而获得密文消息C,这个密文就是要传输的数据—经过加密后的购热量。

  至此就完成了加密操作。解密过程与加密过程顺序相反。当用户把卡插入热量表中时,表中的读写装置先取出密文C,执行一次Dk3(C),获得T2(C2),再执行一次T2 的逆变换T2-1,获得C2,再使用密钥K2进行加密Ek2(C2),然后进 行一次T1的逆变换T1-1,获得C1,最后,对C1执行一次解密Dk1(C1)就可得到明文M—购热量,将其值加入到用户的热量表中。

    2.2改进算法的安全性分析

  该文提出的改进三重DES算法,在3次DES分组加密之间各增加了一次分组换位变换T,这种变换打乱了分组结构,使得原有明文的扩散范围变大,其扩散范围依赖于T的选择,采用对消息串循环左移3个字节,则每个字节的明文的扩散范围由原有的8个字节扩大到至少24个字节,这无疑会增加算法的强度。如果T予以公开,则算法的复杂度等同于传统的三重加密,如果T是保密的,那么复杂度将是两者的乘积,这将大大提高算法的强度。无论密码分析者从明文开始,还是从密文开始,增加的换位变换T都将有效地阻止其分析。因此,这种加密算 法可以有效地抵抗中间相遇攻击和穷举攻击,其安全性足以让人们放心。

  由此可见,将改进后的三重DES算法应用于热量表的信息加密中,可以更加有效的防止信息的被盗发生,从而保护了用户的利益。
 
    3信息加密、解密方法及其他安全措施

  在IC卡热量表与IC卡进行数据交换之前,首先进行必要的安全认证,用来确认双方身份的合法性。只有双方身份确认后,才能建立相互之间联系的通道,进行必要的数据交换。为了保证在IC卡与IC卡表或合法读写器之间进行数据交换时不被非法设备跟踪破译,针对这种截取信 道信息的非法行为,采用安全认证以及对数据在传输时进行线路保护处理。

  在设计中,用户的账号和表的序列号作为主密钥,售热中心的中心主机上记录了该居民点的所有用户的主密钥K和用户账号,而用户家中的热量表中存储了该用户的K(1)、K(2)、K(16)3个子密钥和用户账号。当用户到中心购热时,中心主机根据用户账号找到该用户的主密钥K,读写设备向IC卡发取随机数指令,IC卡向读写设备返回随机数,读写设备用存储的密钥K对随机数进行加密运算,生成加密结果即密码KEY,读写设备发送密码KEY到IC卡中。所生成的KEY对所购热量用改进后的3DES算法进行加密,将56位的数据 经过选择换位,把产生结果分成左右两部分(Li和Ri),然后把f1(L(1),K(1))、L(2)、R(2)、K(16)及16次乘积变换后的密文存入IC卡中。函数f是一种运算,在运算过程中数据与密钥结合,经过16轮后,左、右半部分合在一起经过一个末置换。

  密钥可事先设置到读写设备和IC卡中的,它在认证过程中只参与运算,但不在线路中进行传输,这样非法跟踪是不可能截获到密钥的;由于有随机数的概念,这样每次进行密钥认证虽 然使用的是相同的密钥,但经过加密运算产生的密码也是随机的,无规律可循的,这样非法跟踪截获到的密码无法在下次进行认证时使用,只要不知道密钥,非法设备就无法再象密码认证那样模拟安全认证的过程,也就不能非法与IC卡进行数据交换。

  当用户把购热后的IC卡插入自家表中时,热量表内读写装置首先读入K(16)与表内 单片机中所存储的K(16)进行比较。若正确,就将f1(L(1),K(1))、L(2)、R(2)读入单片机,用改进后的三重DES算法进行解密,得出明文(用户的购热量)。如果不正确,则返回错误结果,IC卡数据与外部进行交换的权限被关闭。蜂鸣器报警,液晶表面出现错卡显示,连续出现8次插卡错误,热量表内读写卡装置将禁止其访问。

  在IC卡中同时存入f1(L(1),K(1))、L(2)、R(2)、K(16)及16次乘积变换后的密文的目的是增大卡中数据的混乱性、复杂性,使破译者难辨真伪,从而保证了数据的安全性。

  对于丢失后挂失的IC卡和因特殊原因作废的IC卡,在系统数据库中设立所谓的黑名单,记录下这些卡的发行号。在有人重新使用时,系统将报警,并将卡收回。

  除此之外,该装置还设计有另一种严密的防盗热措施。即在售热中心主机中存有每个用户的购热次数和购热总量,用户家中的热量表中随着IC卡的插入也同时记录了该用户的购热次数 和购热总量,并在使用中自动累计、存储用热总量。在热量公司每半年或一年的管道检修阶段,就可以针对一些长期不购热和有其他疑点的用户进行上门检查,核对用户购热次数、用热总量,及时发现问题,加以解决。

    4结束语

  该文对传统的DES加密算法进行了改进,并应用于IC卡热量表中,对需要传递的数据进行加密,并详细介绍了相关的操作和一些针对盗热现象的安全措施。这种加密方法安全性高,操作简单,有效地防止了信息被非法复制、修改,有非常广泛的应用前景。

分享到新浪微博         责任编辑:苏洁   投稿邮箱:editor@xtncds.com
一周点击热点
相关产品
最新收录
新闻   产品   企业   招标   求购
技术   方案   下载
优优彩票网 快乐飞艇和值怎么计算 快乐飞艇如何看走势 快赢彩票 快乐飞艇计划8码 快乐赛车是哪个国家的 快乐飞艇介绍 快乐赛车代理怎么弄 PC蛋蛋机器人 快乐飞艇怎么样才能赢