基于蓝牙设备地址的分组净荷签密方案设计
2015-12-20耿君峰
耿君峰,郁 滨
(信息工程大学三院,河南 郑州450001)
0 引 言
蓝牙[1,2]规范在底层协议中设计了认证和加密机制,但研究表明,PIN 码配对协议易受到字典攻击[3];安全简单配对协议因存在多种关联模型且设备I/O 信息易篡改,易受到中间人攻击和中继攻击等攻击[4,5];E0 算法因密钥流序列的相关性易受到攻击[6]。这些安全机制不能保证加密密钥和加密算法安全。对此,文献 [7]提出通过带外传输方式来提高蓝牙简单配对协议的安全性,但该方案需要一个安全可靠的带外通道,易受设备性能和环境条件限制。文献 [8]在简单配对协议中设计了射频指纹认证过程,有效抵抗了地址假冒攻击和中间人攻击,但该方案在每次通信过程中必须有第三方服务器进行射频指纹信息认证。为增强方案的通用性,一些蓝牙传输安全增强方案[9,10]在配对过程后,分别通过公钥密码算法和对称密码算法实现了加密密钥协商和分组信息加密传输,增强了蓝牙通信的安全性,但其加密后的分组信息与设备特征信息无关。外部攻击者能够假冒主设备,实施地址假冒攻击和分组伪造攻击,内部攻击者也能够否认自身已发出的分组而无法被证实。
解决上述安全问题的关键是增强分组净荷信息与蓝牙设备特征信息的相关性。文献 [11]指出基于身份的公钥密码体制能够实现传输信息与设备身份的绑定,是最适合此类无线传感器网络的公钥体制。但大多基于身份的无证书签密方案[12,13]采用椭圆曲线上的双线性对或指数运算实现,计算开销较大。为降低计算复杂度,文献 [14,15]提出并改进了一种无双线性对的无证书签密方案,其密钥生成、签密和解密验证等过程都是通过椭圆曲线上的点乘运算完成的,但该方案是一个通用签密方案,不能直接应用于蓝牙协议之中。
综上所述,本文依据上述无证书签密方案,建立基于蓝牙设备地址的分组净荷签密模型,实现分组净荷信息与蓝牙设备地址的绑定。在此基础上,结合蓝牙通信协议特点,设计蓝牙分组净荷签密方案,实现蓝牙设备间分组净荷信息的加密传输,其能通过分组净荷信息验证分组来源,保证分组信息的真实性。
1 分组净荷签密模型建立
为方便表述,本文使用的符号及含义见表1。
表1 本文使用的符号及含义
其中,模型涉及的椭圆曲线密码算法参数为{p,q,E(Fp),G,P,H1,H2,H3}。3个安全哈希函数分别为H1:{0,1}*×G×G →Z*q,H2:{0,1}*→Z*q和H3:G →{0,1}* 。H1是一个将蓝牙设备地址映射为密钥空间中某个元素的单向钥控哈希函数,实现蓝牙设备地址与设备认证公钥的绑定;H2是一个将传输数据映射为密钥空间中某个元素的哈希函数,生成蓝牙设备传输信息的摘要;H3是一个将椭圆曲线上某个点映射为二进制数据流的哈希函数,用于明文信息的加解密过程。
1.1 模型假设
在基于身份的无证书密码体制下,通信双方的密钥信息由3部分组成,分别为用户选择的长期私钥、密钥生成中心 (key generation centre,KGC)分配的设备认证私钥以及会话期间用户随机选择的临时会话私钥。因此,本文根据方案需要,现作如下假设:
(1)用户不能修改蓝牙设备地址;
(2)设备认证密钥由可信第三方离线服务器生成并分配。
1.2 模型建立
根据上文设置的椭圆曲线密码算法,随机选择秘密值z∈Z*q,计算Z =zP 并保存(z,Z)至离线服务器作为其密钥。在此基础上,本文建立了基于蓝牙设备地址的分组净荷签密模型,如图1所示。
图1 基于蓝牙设备地址的分组净荷签密模型
在上述模型中,Qi和Qj代表两个正在通信的蓝牙设备,i∈N,j∈N。m 为两设备传输的分组净荷明文信息,c为处理后的密文信息。
每个蓝牙设备在通信过程中拥有的密钥信息为{d1,d2,d3,D1,D2,D3}。其中{d1,D1}和{d3,D3}分别是该蓝牙设备生成的长期密钥和临时密钥,用于信息签密过程;{d2,D2}是离线服务器为蓝牙设备分配的与其蓝牙设备地址绑定的设备认证密钥,用于认证分组信息来源。蓝牙设备长期公钥和临时公钥分别由D1=d1P 和D3=d3P 计算得出,其中d1∈Z*q和d3∈Z*q都是蓝牙设备随机选择的秘密值。蓝牙设备认证密钥由D2=rP 和d2=r+zH1(A,D1,D2)计算得出,其中A 为其蓝牙设备地址,r∈Z*q为离线服务器随机选择的秘密值。
信息传输过程中,(h,s)是蓝牙设备Qi对明文信息m 的签名,通过h=H2(m)和s=di3/(di1+di2+h)计算得出。Vi∈G 和Vj∈G 是临时变量,分别由通信双方各自计算得出,用于生成加解密过程中的二进制密钥流序列,并且Vi=Vj。蓝牙 设 备Qj能 够 通 过Di3=s(Di1+Di2+h′1Z+hP)来验证分组信息来源是否为蓝牙设备Qi,进而决定是否接收该分组。
1.3 模型安全性分析
引理1 椭圆曲线离散对数问题 (ECDLP):G 是椭圆曲线E(Fp)上阶为q的一个循环群,P 是群G 的一个生成元,对任意未知的x∈Z*q,已知P 和X =xP ∈G,计算x 是不可行的。
基于上述引理,可证明如下定理。
定理1 已知函数H1和参数A,D1,D2,D3,求解d1,d2,d3是计算上不可行的。
证明:因为D1=d1P,D3=d3P 和D2=r2P,由引理可知,已知D1,D2,D3,P 求解d1,d3,r2是ECDLP问题,计算上是不可行的。由于r2和z 未知,则通过d2=r2+zH1(A,D1,D2)计算d2是不可行的。
同理可以证明定理2。
定理2 已知函数H1和A,d2,D1,D2,求解z是计算上不可行的。
定理3 已知函数H2和参数h,A,D3,求解m 是计算上不可行的。
证明:因为H2是哈希函数,h=,由哈希函数的单向性可知,已知h,A,D3求解m 是计算上不可行的。
推论1 攻击者求解某蓝牙设备或离线服务器的私钥信息等价于求解椭圆曲线离散对数问题。
证明:攻击者通过监听某蓝牙设备通信过程能够获得其蓝牙设备地址和公钥信息,由定理1可知,求解该设备的私钥信息是ECDLP问题,是计算上不可行的。另外,攻击者根据自身设备的蓝牙设备地址和密钥信息求解离线服务器的私钥,由定理2可知,也是ECDLP问题,是计算上不可行的。证毕。
推论2 攻击者伪造某蓝牙设备的分组信息等价于求解离线服务器的私钥,是计算上不可行的。
证明:若攻击者欲伪造某蓝牙设备的分组信息,必须获得被伪造设备的认证密钥,才能够通过接收方设备的分组验证。而认证密钥是由离线服务器根据被伪造设备的蓝牙设备地址生成的,攻击者只有获得离线服务器私钥,才可成功伪造分组。因此,攻击者伪造某蓝牙设备分组等价于求解离线服务器私钥,由推论1可知,这是计算上不可行的。证毕。
推论3 攻击者得到蓝牙设备间传输的明文信息等价于求解通信双方的设备私钥,是计算上不可行的。
证明:由定理3可知,攻击者无法通过传输的信息摘要h获得明文信息m 。若攻击者欲得到明文信息m,必须计算出通信设备双方的临时变量Vi=di3(Dj1+Dj2+H1(Aj,Dj1,Dj2)Z)和Vj=s(dj1+dj2)(Di1+Di2+H1(Ai,Di1,Di2)Z+hP),即需要得到通信双方的私钥di3或dj1,dj2。因此,攻击者获得蓝牙设备间传输的明文信息等价于求解通信双方的设备私钥信息,由推论1 可知,这是计算上不可行的。证毕。
2 分组净荷签密方案设计
依据上文建立的模型,本节从蓝牙设备密钥分配和分组签密传输两个阶段入手,设计了蓝牙分组净荷签密方案。
2.1 密钥分配协议设计
离线服务器为每个蓝牙设备分配认证密钥,用以判断设备身份,设计的蓝牙设备密钥分配协议如图2所示。
协议具体流程如下:
图2 蓝牙设备密钥分配协议
(1)离线服务器通过查询寻呼过程获得蓝牙设备Qi的设备地址Ai,并通过配对过程建立起逻辑链路。
(2)蓝牙设备Qi随机选择秘密值di1∈Zq*,计算Di1=di1P,并发送Di1至离线服务器。
(3)离线服务器收到Di1分组后,随机选择秘密值ri∈Zq*,计算Di2=riP 和di2=ri+zH1(Ai,Di1,Di2)。在此基础上,计 算(k1,k2)=riDi1和k =di2k1modp,并 发 送k至蓝牙设备Qi。其中,k,k1,k2是临时变量。
(4)蓝牙设备Qi收到该分组后,通过(k1,k2)=di1Di2和di2=kk1-1modp 解 密 得 到di2。之 后 验 证di2P =Di2+H1(Ai,Di1,Di2)Z 是否成立。若成立则证明离线服务器分配的蓝牙设备认证私钥di2有效,蓝牙设备Qi接收该分组,得到设备公钥(Di1,Di2)及对应私钥(di1,di2),密钥分配成功;否则蓝牙设备Qi拒绝接收该分组,密钥分配失败。
2.2 签密传输协议设计
蓝牙设备间进行通信时,双方能够通按照签密传输协议要求进行数据传输。设计的签密传输协议如图3所示。
协议具体流程如下:
(1)蓝牙设备Qi和Qj通过查询寻呼过程获得对方的蓝牙设备地址Ai和Aj,并通过配对过程建立起逻辑链路,双方交换公钥信息Di1Di2和Dj1Dj2。
(2)当设备Qi欲传输明文信息m 至Qj时,首先根据明文信息m 的长度选择合适的数据分组。然后随机选取di3∈Zq*,计算Di3=di3P 和h1=H1(Aj,Dj1,Dj2),并结合当前主设备蓝牙时钟生成设备Qi对m 的签名(h,s),其中h=H2(Di3Aiclk m),s=di3/(di1+di2+h)。最后,计算Vi=di3(Dj1+Dj2+h1Z)和c=H3(Vi)⊕m,完成对m的加密操作,并发送信息clk h s c至设备Qj。
图3 蓝牙设备签密传输协议
(3)设备Qj收到分组clk h s c后,先后计算h′1=H1(Ai,Di1,Di2)和Vj=s(dj1+dj2)(Di1+Di1+h′1Z+hP),通过解密操作m =c⊕H3(Vj)恢复出明文信息。然后,设备Qj验证h =H2(s(Di1+Di2+h′1Z+hP)Aiclk m)是否成立,若成立则设备Qj接收消息m ,交由上层协议处理;否则拒绝接收m,通知设备Qi重新加密传输该分组信息,并记录下该设备的分组传输错误次数。若错误次数达到门限值,则认为信道质量太差或遭受了恶意攻击,停止传输,并断开连接。
3 理论分析及实验
3.1 理论分析
(1)方案安全性分析
依据模型设计的分组净荷签密方案继承了模型的安全性,由推论1和推论3可知,方案可抵抗窃听攻击。由推论2可知,即使攻击者通过修改蓝牙设备地址来假冒其他蓝牙设备,也无法伪造该设备的蓝牙分组,因此,方案可抵抗分组伪造攻击和主设备地址假冒攻击。由于蓝牙分组净荷中含有发送方设备的特征信息,因此,蓝牙设备不能否认自己所发出的分组,方案可抵抗内部蓝牙设备的分组否认攻击。另外,方案在分组签密传输过程中加入了当前主设备蓝牙时钟信息,保证了分组的新鲜性,能够有效抵抗重放攻击。各方案安全性分析见表2,其中√表示可抵抗,×表示不可抵抗。
表2 各方案安全性分析
(2)方案计算开销分析
文献 [9]通过RSA 算法保证蓝牙设备间加密密钥的安全传输,而本文方案中蓝牙设备的密钥信息由离线服务器预先分配,当蓝牙设备间进行通信时,只需交换双方的公钥信息即可,当多个设备进行通信时,能够有效降低该过程的计算开销。本文方案在蓝牙分组传输过程中采用了公钥密码算法,而文献 [9]则通过对称密码算法实现,因此,在分组净荷加解密过程中,文献 [9]的计算开销比本文小。
文献 [12]在加解密过程中共需进行2次双线性对运算、2次点乘运算和4次哈希运算,而本文方案只需进行6次点乘运算和6次哈希运算。由于椭圆曲线上双线性对运算、指数运算和哈希运算的计算复杂度分别是点乘运算的约20倍、3倍和1倍[16],因此,本文方案的计算开销优于文献 [12]。
各方案的计算开销比较见表3。
表3 各方案计算开销比较
3.2 实验及结果分析
为测试方案性能,本文搭建了实验环境,如图4所示。其中,射频模块选用PT8R1002 蓝牙无线收发器,FPGA芯片选用ALTERA 公司的CycloneⅡEP2C20Q240C8,运行蓝牙底层协议和本文设计的分组净荷签密方案。计算机通过串口与FPGA 开发平台相连,用于显示实验结果。实验中,蓝牙设备C作为离线服务器,生成和分配设备认证密钥;蓝牙设备A 和B作为通信设备,按照方案要求进行数据传输。
图4 实验环境
实验结果表明,蓝牙设备A 和B 间采用DM5 分组进行通信时,本文方案的净荷加密和解密的速率分别为81.6 Kbps和80.4Kpbs。本文方案未对点乘运算的优化进行研究,虽然降低了蓝牙数据通信速率,但基本满足嵌入式蓝牙应用需求,并能够通过密文信息验证分组来源,提高分组传输过程的安全性。若选择性能合适的FPGA 芯片并优化点乘实现算法,将能够大幅降低点乘运算时间[17],数十倍地提高本文方案的加解密速率,更加满足蓝牙通信需求。
4 结束语
本文在分析蓝牙安全缺陷和现有安全方案的基础上,提出了一种基于蓝牙设备地址的分组净荷签密方案,保证了蓝牙加密密钥和加密过程的安全。方案通过绑定分组净荷信息与蓝牙设备地址,在分组净荷处理过程中引入了设备认证机制,能够有效抵抗主设备地址假冒攻击、否认攻击等。同时,方案对设备的存储和运算能力要求较低,适合于高安全领域的嵌入式蓝牙应用。
[1]Bluetooth SIG specification of the bluetooth system:Core package version 4.0 [EB/OL]. (2009-12-17) [2013-3-2].http://www.bluetooth.org.
[2]Pandikirupa G,Nisha K,Vidhya V,et al.Advanced system for accessing electronic health records of patients using Android mobile and sensors [J].International Journal of Engineering Research &Technology,2013,4 (2):639-643.
[3]Chaudhari P,Diwanji H.Enhanced SAFER+algorithm for bluetooth to withstand against key pairing attack [M]//Advances in Computing and Information Technology.Berlin:Springer Berlin Heidelberg,2012:651-660.
[4]Suomalainen J,Valkonen J,Asokan N.Security associations in personal networks:A comparative analysis[M]//Security and Privacy in Ad-hoc and Sensor Networks.Berlin:Springer Berlin Heidelberg,2007:43-57.
[5]Barnickel J,Wang J,Meyer U.Implementing an attack on bluetooth 2.1+secure simple pairing in passkey entry mode[C]//Proceeding of IEEE 11th International Conference on Trust,Security and Privacy in Computing and Communications.IEEE,2012:17-24.
[6]ZHAN Yingjie,DING Lin,GUAN Jie.Guess and determine attack on E0 algorithm [J].Journal on Communications.2013,33 (11):185-190 (in Chinese). [詹英杰,丁林,关杰.基于E0算法的猜测决定攻击 [J].通信学报,2012,33(11):185-190.]
[7]Sharmila D,Neelaveni R,Kiruba K.Bluetooth man-in-themiddle attack based on secure simple pairing using out of band association model[C]//International Conference on Control,Automation,Communication and Energy Conservation.IEEE,2009:1-6.
[8]Pasanen S,Haataja K,Paivinen N,et al.New efficient rf fingerprint-based security solution for bluetooth secure simple pairing [C]//Proceedings of the 43rd IEEE Hawaii International Conference on System Sciences.IEEE,2010:1-8.
[9]Kakarla V,Govind N S.FPGA implementation of hybrid encryption algorithm based on triple DES and RSA in bluetooth communication [J].International Journal of Applied Research&Studies,2012,1 (1):113-117.
[10]Bhoopendra S R,Prashanna G S Y.An integrated encryption scheme used in bluetooth communication mechanism [J].International Journal of Computer Technology and Electronics Engineering,2012,1 (2):68-71.
[11]Oliveira L B,Dahab R,Lopez J,et a1.Identity-based encryption for sensor networks [C]//Proceedings of the 5th Annual IEEE Internationa1 Conference on PerCom Workshops,2007:290-294.
[12]SUN Yinxia,LI Hui.Efficient certificateless hybrid signcryption [J].Journal of Software,2011,22 (7):1690-1698(in Chinese). [孙银霞,李辉.高效无证书混合签密 [J].软件学报,2011,22 (7):1690-1698.]
[13]Xie Wenjian,Zhang Zhang.Certificateless signcryption without pairing [J].IACR Cryptology ePrint Archive,2010.
[14]LIU Wenhao,XU Chunxiang.Certificateless signcryption scheme without bilinear pairing [J].Journal of Software,2011,22 (8):1918-1926 (in Chinese). [刘文浩,许春香.无双线性配对的无证书签密机制 [J].软件学报,2011,22(8):1918-1926.]
[15]HE Debiao.Security analysis of a certificateless signcryption scheme[J].Journal of Software,2013,24 (3):618-622(in Chinese).[何德彪,无证书签密机制的安全性分析 [J].软件学报,2013,24 (3):618-622.]
[16]Chen Liqun,Zhaohui Cheng,Nigel P S.Identity-based key agreement protocols from pairings [J].International Journal of Information Security,2007,6 (4):213-241.
[17]Sujoy S R,Chester R,Debdeep M.Theoretical modeling of elliptic curve scalar multiplier on LUT-based FPGAs for area and speed [J].IEEE Transactions on Very Large Scale Integration Systems,2013,21 (5):901-909.