ECC与AES混合加密算法在射频CPU卡安全机制中的应用①
潘峥嵘, 朱丽丽
(兰州理工大学电气工程与信息工程学院, 兰州730050)
摘 要: 针对无线射频CPU卡自身及其在射频识别(RFID)的过程中存在的安全隐患问题, 提出了一种将椭圆曲线加密算法(ECC)与高级加密标准(AES)相结合的混合加密算法. 该方法用高密钥效率的ECC算法加密射频CPU 卡中的重要信息, 再用AES算法加密射频CPU卡与读写器之间的通讯信息, 在通讯的过程中重要的信息经过了ECC和AES双重加密, 攻击者即使得到射频卡或者截获信息, 也不能很快就得到有用的信息. 实验结果表明, 该方法有效地提高了射频CPU卡自身及其在通信过程中的安全性及抵御攻击的可能性, 充分发挥了混合加密算法的优势.
关键词: 射频CPU卡; ECC; AES; 混合加密算法
Application of ECC and AES Algorithm to Security of CPU Card
PAN Zheng-Rong, ZHU Li-Li
(College of Electrical and Information Engineering, Lanzhou University of Technology, Lanzhou 730050, China)
不稂不莠的意思
Abstract: In order to deal with the safety problem of privacy in CPU card and Radio Frequency Identification (RFID) process, this paper propos an encryption algorithm that combines the Elliptic Curve Crypto-system (ECC) with the Advanced Encryption Standard (AES). This method firstly us the high efficiency cret-key to encrypt important information, and then u the AES to encrypt the communication information between CPU card and the reader and writer. Thus the important information will be encrypted double in the process of communication, even though attackers get the Radio Frequency CPU card or intercept the communication information, they can’t obtain uful information as quickly as they need. The experimental results show that the method improves the safety of the CPU card and against the attacks during the communication. The propod mixed encryption algorithm plays an important role in the safety problem of privacy.
Key words: CPU card; ECC; AES; mixed encryption algorithm
无线射频识别(Radio Frequency Identification, 简称RFID )技术是利用无线射频方式进行非接触双向通信并交换数据, 有效实现物品的无接触自动识别与动态管理, 具有提高社会管理、生产流通的效率和精准控制能力. 虽然射频IC卡的应用越来越广泛, 但应用过程中产生的用户隐私泄露等安全问题也日益凸显出来. 同时, 通过穷举攻击和中途拦截等攻击途径攫取卡中的信息、非法复制和纂改卡中内容等犯罪现象
①基金项目:甘肃省科技支撑计划(1011NKCA071)
收稿时间:2011-12-14;收到修改稿时间:2012-01-16也随之出现. 尤其是2009年M1卡“破解门”事件的爆发, 更是引起全球的恐慌. 因此, 对射频IC卡安全功能进行升级, 提高加密水平迫在眉睫.
近几年, 很多学者在RFID系统安全方面进行了大量的研究, 提出了一些不同的加密方法. 文献[1]运用的是对导出密钥运用AES加密的方法, 该方法体现了分级密钥优越性, 安全性有了一定的提高, 但是, 安全性要提高就要不断增加密钥的长度, 这在实现上
有一定的困难; 文献[2]把DES 算法运用到RFID 射频识别中, DES 和3DES 算法已有破解的方法安全性不高; 文献[3]运用动态改写用户密钥的方法提高射频通信中的信息的安全性, 但是, 和文献[1]存在同样的问题, 要以增加密钥的长度来提高安全性.
通过对文献的分析发现, 影响安全级别的因素一是算法破解难易程度, 二是密钥的长短问题. 针对这一情况, 本文提出了一种将椭圆曲线密码体制(ECC)与已经取代DES 标准的高级数据加密标准(AES)相结合的加密算法, 该算法结合了AES 算法运算速度快、对内存要求低、算法可靠、能够有效抵抗查分分析和现行分析攻击的优点, 和ECC 算法能够提供最高比特强的公钥密码, 用较短的密钥加密, 得到较高的安全级别密文的优势.
防火墙在哪里设置1 ECC 算法原理
ECC(Elliptic Curve Crypto-system, 椭圆曲线密码体制)是一种能够提供最高比特强的公钥密码体制, 其安全性是建立在椭圆曲线离散对数的难解性的基础上的, 目前已正式列入了IEEE Pl363标准[4]
.
椭圆曲线是指威尔斯特拉(Weierstrass)方程:
高中英语完形填空e dx cx x by axy y E +++=++222: (1) 密码学中的椭圆曲线的系数都在有限域中, 常用表达式为:
)(mod :),(22p b ax x y b a E p ++º (2) P 为一个大素数, a 、b 、x 和y 均在有限域
)(P GF 中, 即从{}1,,1,0-P L 上取值, 且满足:
0)(mod 27422¹+P b a (3)
椭圆曲线E 上点集),(b a E p 关于“+”法构成Abel 群. “+”法定义为任意取椭圆曲线上两点P 、Q 作直线(若P 、Q 两点重合, 则作过P 点的切线)交于椭圆曲线的另一点P', 过P'作y 轴的平行线交于R [5].
规定: R Q P =+, 定义:
P L P kP ++= (5)
对于椭圆曲线上的一个基点)(,P P y x P , 给定一个整数d , 计算Q dP =是容易的. 但是, 要是从Q 点及P 点推导出整数d , 则是非常困难的[6]. 在),(b a E p 中挑选生成元点)(,G G y x G =, G 应使得满足0=nG 的最小的n 是一个非常大的素数(N 表示椭圆群),(b a E p 的元素个数, n 是N 的素因子). 选择一个小于n 的整
数S n 作为其私钥, 然后生成公钥G n P B B =, 则B 的公钥为),,,(P G n E , 私钥为S n .
加密过程:
1)A 将明文信息编码成一个数P m <, 并在椭圆群),(b a E p 中选择一点),(t t t y x P =;
2)在区间[]1,1-n 内, A 选取一个随机数k , 计算点kG y x P P ==),(:1111;
胆小先生故事
3)依据接收方B 的公钥B P , A 计算点B kP y x P ==),(222;
4)A 计算密文t t y mx C +=;
5)A 传送加密数据{}C kP P kG C B t m ,,+=给接收方B.
解密过程:
1)接收方B 收到加密数据{}C kP P kG C B t m ,,+= 2)接收方B 使用自己的私钥S n 作如下计算: t s t s S t P kG n G n k P kG n kP P =-+=-+)(),()(; 3)B 计算t t x y C m )(-=, 得明文m .
2 AES 算法原理
AES(Advanced Encryption Standard 高级数据加密标准)又称Rijndael 加密法, 是一种对称密钥的分组迭代加密算法, 分组长度固定为128 bits, 使用的密钥可以分为128 bits, 192 bits 或256 bits 三种不同的长度[7]. AES 算法将明文数据块看成是字节的二维矩阵(称为状态矩阵), 它有4行, b N 列(b N 等于数据块长除以32), 在标准AES 里4=b N . 密钥也同样表示为二维字节数组, 4行,
k N 列(k N 等于密钥块长除以32). 算法转换的轮数r
N 由r N 决定, 对应于128位, 192位和256位不同的密钥长度, 运算的轮数分别为10轮, 12轮和14轮. AES 对数据的加密是通过把输入的明文和密钥由轮函数经1+r N 轮迭代来实现的, 初始轮和结尾轮与中间的1-r N 轮不同
[8]
. 整个加密算法机制如图1所示.
图1 AES 算法加密机制结构框图
初始轮只对明文和密钥进行异或操作: 中间1-r N 轮依次对状态矩阵进行SubbBytes 、ShiftRows 、MixColumns 和AddRoundKey 变换; 结尾轮不进行Mix Columns 变换. 加密过程为: a 、S-盒变换SubbByte
(其中, s 盒内的元素用ij a 来表示)
b 、行移位变换ShiftRow
c 、列混淆变换MixColumn
把经过行移位后的状态矩阵C 与固定的矩阵E 相乘, 得到混合后的状态矩阵C'. 其中固定矩阵E 为
÷÷÷÷÷ø
与朱元思书通假字öççç
ççè
æ=0201
0103030201010103020101010302E d 、圈密钥加变换AddRoundKey
经过列混淆变换得到的状态矩阵C'经过与下面的矩阵进行异或变换, 得到新的变换矩阵C .
依次循环进行变换, 直到最后一轮不做列混淆变换MixColumn, 即可得到密文, 存入共享扇区. 解密密文:
首先, 对接收到的密文进行分组( 128 位), 得
44*矩阵, 然后对此矩阵进行9 轮的圈密钥加变换、反列变换、反行变换和反S 盒变换; 接着进行1 轮的圈密钥加变换、反行变换、反S 盒变换, 输出明文数据.
3 加密结构及实验验证
船越义珍实验选用Microchip 公司的一款通用小型PIC 单片机-PIC16F883, 内有128字节的数据EEPROM, 可用于存储可变数据, 频率选择范围从1KHZ 到8MHZ, 支持在线调试.
目前市场上现有的CPU 卡内部携带的大多是DES 或3DES 协处理器, 极少数的如龙杰ACOS5密钥智能卡内部采用AES-128bits 或RSA-2048bits 的加密, 而采用ECC 加密协处理器的CPU 卡则还没有见到过. 因此实验采用虚拟CPU 卡实现对ECC 加密算法的模拟. 设计混合加密结构如下图2所示.
图2 混合加密结构框图
由于CPU 卡内部自带有微处理器, 可以在卡内部实现对信息的加密, 因此, 我们在CPU 内部设计ECC 加密协处理器对内部信息进行加密. 从混合加密结构图可以很清楚地看出在CPU 卡的内部我们进行ECC 加密处理, 对卡内的不需要经常被读取或进行通讯的重要信息进行加密; 对于外部通讯信息和ECC 加密密钥进行AES 加密, 这样相当于对内部重要信息进行了两次加密, 从而提高了卡内存储信息的安全性.
实验以ECC 加密卡内明文信息, AES 加密128位通信随机数据信息为例给出相应的实验结果:
椭圆曲线的参数如下(以十六进制显示): 有限域P 是:f2a391 曲线参数a 是:9db27 曲线参数b 是:b5f8f
曲线G 点坐标是:(a9cd7, 2cc80) 私钥K 是:77364b4ec144c 公钥坐标是:(2c77e53, 2c77e53) 取随机数)1,(,b P c k t == 明文信息为:112244779955886600 加密数据结果为:1122825c00c99e59 AES 加密:161122825c00c99e59
AES 密钥
:000102030405060708090A0B0C0D0E
0F
加密密文:BE1180C587FC0BE4A4379224F995D A92
解密:161122825C00C99E5900000000000000(位数不够用0补足)
个人年度考核总结ECC解密得明文:112244779955886600
本实验的测试结果与其他实验相关结果对比如下表1.
表1实验加解密速度对比表
从实验结果对比表格中我们可以看出, 混合加密算法的加解密速度相对还是比较快的, 能够满足射频CPU卡对加密的要求, 另外, 双重的加密效果增加了存储信息的安全级别, 使这种混合加密算法具有更广泛的应用性.
4结论房屋买卖协议
在实际应用中, 公钥密码算法通常被用来加密关键性的、核心的机密数据(如本论文中的CPU卡内的重要敏感信息), 而对称密码算法通常被用来加密大量的数据(如明文数据). 将AES算法和ECC算法相结合, 充分体现了两种算法存储空间小、带宽需求低、用更短密钥加密信息等优点, 同时又具有很强的抗攻击性, 大大提高了RFID系统信息的安全性, 发挥了混合加密的整体优势, 也将会在保密数据的传输领域得到广泛应用.
(上接第174页)
9 陈勇,马纯永,陈戈.基于VC/OpenGL的虚拟海大校园导航系统.计算机辅助设计与图形学学报,2007,19:263-266.
10 唐琏,谷士文,费耀平,等.全方位全景图像的一种映射方式.
计算机工程,2000,26(8):95-97.
11 王娟,师军.一种柱面全景图像自动拼接算法.计算机仿真,
参考文献
1 Feldhofer M, Dominikuc S, Wolkerstorfer J. Strong authen- tication for RFID systems using the AES algorithm. Crypto- graphic Hardware and Embedded Systems. Cambridge, MA. Springer, 2004. 357-370.
2 徐志.基于DES加密算法的射频识别系统的设计.电工电气, 2009(4):6-9.
3 谢高生,易灵芝,王根平.动态密钥在Mifare射频IC卡识别系统中的应用.计算机测量与控制,2009,17(4):725-726,737.
4 Miller V. Us of Elliptic Curves in Cryptography. Advances in Cryptology-CRYPTO, 85, LNCS21. Santa Barbara, Calif: Springer-Verlag,1986. 417-426.
5 俞经善,王晶,杨川龙.基于ECC和AES相结合的加密系统的实现.信息技术,2006,2:44-46.
6 Koblitz N. Elliptic Curve Cryptosystems. Mathematics of Computation,1987,48(177):203-209.
7 Lucc T. Integrated design of AES(Advanced En- cryption Standard) encrypter and decrypter. IEEE Transactions on Information Theory, 1991,37(5):1241-1260.
8 Sucp L, Huang CT, et al. A high through put low-cost AES Processor. Communications Magazine, IEEE, 2003,41(12): 86-91.
9 曾少林,易灵芝,王根平,赵吉清.高级加密标准算法在RFID 数据安全中的应用.计算机测量与控制,2007,1(6):792-793, 797.
10 张红南,刘晓巍,邓蓉,张卫青,胡锦,赵欢.IC卡的优化设计
及FPGA仿真.湖南大学学报(自然科学版),2006,33(2): 66-69.
2008,25(7):213-215.
12 Lowe, DG. Distinctive image features from scale-invariant
keypoints. International Journal of Computer Vision, 2004,
60 (2):91-110.