论文部分内容阅读
【摘 要】 智能家居远程控制的安全性,直接或间接地关系到我们的生命财产安全,所以对智能家居的信息安全研究刻不容缓。本文论述了密钥管理技术的发展,分析了智能家居网络的特点,提出了一种基于标识认证的矩阵密钥管理方案。通过以ZigBee网络构建智能家居网络,并以FPGA做信息签名与认证处理的方式证明了其方案的可行性。
【关键词】 智能家居;密钥管理;ZigBee;FPGA
智能家居的远程控制系统,让我们能够随时随地而轻松快捷地了解家庭状况,并且进行远程遥控,极大方便了我们的生活,吸引了大量消费者的眼球。然而,这种远程控制是否可靠,是否会被不法分子非法控制,这一系列的不安因素让许多用户望而止步。
一、 密钥管理技术
现代信息安全技术是基于密钥完成的,因此密钥的安全管理和分配是现代信息安全的重要基础。有效的密钥管理机制也是其他安全机制,如安全路由、安全定位、安全数据融合及针对特定攻击的解决方案等的基础。密钥技术的发展,经历了一段曲折漫长的道路。从D-H 密钥分发体制,CA 认证机构概念的提出,到PGP、PEM ,提出了SPKI 解决方案。PKI 设立了证书授权中心机构(Certificate Authority,CA),证明公钥和标识的一体化,防止他人冒名 ;创立了多层 CA 架构,以解决密钥的规模化问题。PKI 的另一进展是利用提供数字签名的功能,構建在线认证系统,从而大大推动了认证理论的发展。由于需要数据库的在线支持,应用效率不高,维护代价过高。
2001 年,Boneh 和 Franklin 利 用 Weil 对 理 论, 将标识作为公钥,私钥由密钥中心产生配发的新体制,实现了Shamir 的基于标识密码(Identity Based Encryption,IBE)设想。此方案将个体的唯一标识符或网络地址作为它的公钥,从而两通信方不需要交换私钥或公钥来解密和验证签名,也无需保存密钥目录,取消了依靠第三方证明的层次化 CA 机构链。但是,该方案仍然需要数据库的在线支持,同样效率不高。
二、 矩阵密钥管理方案
智能家居的网路大部分都是无线传感网络 (Wireless Sensor Networks,WSN),相对于传统有线网络,WSN 的开放性使得网络更加地容易受到窃听、干扰等各种攻击。有线网络的网络连接是相对固定的,具有确定的边界,攻击者必须物理地接入网络或经过物理边界,如防火墙和网关,才能进入到有线网络。通过对接入端口的管理可以有效地控制非法用户的接入。而无线网络则没有一个明确的防御边界。
本文在南相浩教授的组合公钥算法的研究基础上,对算法进行改进,提出了一种矩阵密钥的认证方案。跟 IBE一样,矩阵密钥算法也是基于身份标识的公钥算法,不需要第三方证明的 CA 机构链,但是,它不需要保留与用户相关的参数,只要保留少量的公共参数即可处理大量的公钥,无需数据库的支持。矩阵密钥管理体制的安全基础是椭圆曲线上的离散对数难 题 (Elliptic Curve Discrete Logarithm Problem,ECDLP),即对椭圆曲线上的点 P,求 Q=kP 很容易,相反已知 P 和 Q求 k 却非常的困难。矩阵密钥管理体制在公开参数基础上建立公钥矩阵和私钥矩阵,采用散列映射函数将实体的标识映射为矩阵的行列坐标,将矩阵元素进行组合生成庞大的公钥与私钥。
2.1 椭圆曲线及其公开参数
由于本系统的有限域计算是在 FPGA上实施的,考虑二进制有限域在硬件上比素数域实现更加地方便,本系统选取了F2m上的 Koblitz 椭圆曲线 y2+xy=x3+ax2+b mod F。其中,F 为约减多项式(在南相浩教授的组合公钥方案里,采用的是素数域)。确定椭圆曲线后,适当地选取曲线上的点G作为生成元,成为基点。基点G=(Gx,Gy)的所有倍点构成子群 S={G,2G,3G,… ,(N - 1)G,NG}。其中 NG 即 O,N 称为子群 S 的阶。表明 N 是个殆素数(almost-prime),可以表示为 N=h×n,其中 n 是个大素数,h 是个小整数。椭圆曲线密码的公开参数组为 T={a,b,G,N,m}。
按照 NIST 推荐,本系统参数选取见表 1所列。椭圆曲线的计算可参见文献。
2.2 私钥矩阵、公钥矩阵的构建
公钥矩阵为16×32 的矩阵。矩阵中的16×32 个元素记为Xi,j(0 ≤ i ≤ 15,0 ≤ j ≤ 31)。它们都是子群 S 中的元素,即Xi,j=(xi,j,yi,j)∈S。公钥矩阵记为 PSK,则:
私钥矩阵也是16×32 矩阵,矩阵中的16×32 个元素记为ri,j(0 ≤ i ≤ 15,0 ≤ j ≤ 31)。私钥矩阵记为 SSK,则 :
公钥与私钥的对应关系为
2.3 基于标识的密钥的产生
密钥是根据实体标识产生的。每个实体都有一个唯一可以区分其他实体的标识,比如居民的身份证号。在网络中,每个节点都有一个网络地址,这地址在整个网络中是唯一的。我们首先对这个网络地址进行散列映射处理,使得标识更具有随机性。运算表达式如下:
identity 为实体的标识,ID 为标识的散列映射值。本系统中,HASH 为 SHA1 算法,影射值为 160 位。从 160 位的 ID 中取出后128 位,分割成 32 组,每组 4 位,每组依次为 W0,W1,…,W31。计算公钥为:
2.4 密钥管理
本系统中,有一个设备来负责密钥的产生和发放,该设备叫密钥管理中心(Key Manage Center,KMC)。KMC 首先选择系统的加密曲线参数以及基点,参数 T={a,b,G,N,m}向网络公布。然后随机产生16×32 的私钥矩阵。根据私钥矩阵和基点,计算出公钥矩阵。私钥矩阵由 KMC 秘密保留,公钥矩阵则公布。当网络节点申请入网时,KMC 根据节点的标识计算出节点的私钥,并通过安全信道告知节点私钥。公开参数和公钥矩阵则在公开信道告知。图1所示是其密钥管理方案示意图。 两节点之间通信时,发送方用自己的私钥对消息进行签名,将消息和签名在公开信道上发送给目标节点。接收方接收到消息和签名时,先根据发送者的标识,从公钥矩阵中计算出接收者的公钥,从而进行消息的验证。此过程无需第三方的参与,减少了网络信息流量,提高了效率。
三、系统设计
本系统完成对智能家居控制网络通信的地址认证。本系统的家居控制网络由 ZigBee 网络构成。ZigBee 网络是一种短距离、低功耗的无线通信技术,其近距离、低复杂度、自组织、低功耗、低数据速率、低成本等特点非常适合智能家居控制网络。ZigBee 节点的通信地址有64 位的 IEEE 地址(也叫扩展地址,由设备商固化在设备中)和 32 位的网络地址(也叫短地址,加入网络后由协调器分配,每次加入网络可能都不同)。在试验中,我们采用扩展地址通信方式。本系统中网络通信认证主要是對地址真实性的认证,能够正确地识别数据的来源,避免消息的伪造。消息的签名和认证算法则由 FPGA完成。ZigBee 模块与 FPGA 之间通过 SPI 总线通信。其硬件设计框图见图 2 所示。
FPGA 签名和认证流程图如图 3 所示。FPGA 模块有签名和验证两种模式,由 ZigBee 模块通知选择。在两种模式下分别进行 ECDSA 签名和 ECDSA 验证处理,将处理结果传送回 ZigBee 模块进行下一步处理。
四、 实验结果分析
在试验中,采用 CC2530 作为 ZigbBee 模块,签名认证算法由 EP2C5T144CB 完成,时钟频率为 40 MHz。发送方发送消息为“Hello!”,消息 HASH 值为表 2 中的 HASH(m)。发送方用自己的私钥 dA对消息进行签名,得到消息签名r 和 s。接收方收到带有签名的消息后,根据发送方的IEEE地址,通过公钥矩阵查询到发送方的公钥为坐标 (QA_x,QA_ y),经过 ECDSA 认证算法后得到 v。
分析实验数据表 2 可得 v=r,根据认证算法接收该签名。本方案实现了对消息的签名和认证,提高了网络通信的可靠安全性。
五、 结 语
本系统将基于标志认证的矩阵密钥算法应用到智能家居远程控制网络的真实性认证当中,实现了无需第三方的在线参与的本地认证,大大提高了认证效率。网络中的 KMC只需要在设备加入网络时分配密钥,平时并不参与认证活动;网络中的各个终端节点,也只是增加一些算法的实现,以很小的代价实现了对家庭网络的地址认证,为建立安全可信任的网络打下了良好的基础,确保了网络通信间的安全可靠。
参考文献:
[1] DIFFIE W,HELLMAN M E. New directions in cryptography [J].IEEE Transactions on Information Theory,1976,22(6) :644–654.
[2] KOHNFELDER L M. Towards a practical public-key cryptosystem[D]. Cambridge,Massachusetts :Massachusetts Institute of Tech-nology,1978.
[3] 肖凌,李之棠 . 公开密钥基础设施 (PKI) 结构 [J]. 计算机工程与应用,2002(10) :163-251.
[4] 南相浩 .CPK 标识认证 [M]. 北京 :国防工业出版社,2006.
[5] HANKERSON D,MENEZES A J,VANSTON S. Guide to EllipticCurve Cryptography [M]. New York :Springer-Verlag,2003.
【关键词】 智能家居;密钥管理;ZigBee;FPGA
智能家居的远程控制系统,让我们能够随时随地而轻松快捷地了解家庭状况,并且进行远程遥控,极大方便了我们的生活,吸引了大量消费者的眼球。然而,这种远程控制是否可靠,是否会被不法分子非法控制,这一系列的不安因素让许多用户望而止步。
一、 密钥管理技术
现代信息安全技术是基于密钥完成的,因此密钥的安全管理和分配是现代信息安全的重要基础。有效的密钥管理机制也是其他安全机制,如安全路由、安全定位、安全数据融合及针对特定攻击的解决方案等的基础。密钥技术的发展,经历了一段曲折漫长的道路。从D-H 密钥分发体制,CA 认证机构概念的提出,到PGP、PEM ,提出了SPKI 解决方案。PKI 设立了证书授权中心机构(Certificate Authority,CA),证明公钥和标识的一体化,防止他人冒名 ;创立了多层 CA 架构,以解决密钥的规模化问题。PKI 的另一进展是利用提供数字签名的功能,構建在线认证系统,从而大大推动了认证理论的发展。由于需要数据库的在线支持,应用效率不高,维护代价过高。
2001 年,Boneh 和 Franklin 利 用 Weil 对 理 论, 将标识作为公钥,私钥由密钥中心产生配发的新体制,实现了Shamir 的基于标识密码(Identity Based Encryption,IBE)设想。此方案将个体的唯一标识符或网络地址作为它的公钥,从而两通信方不需要交换私钥或公钥来解密和验证签名,也无需保存密钥目录,取消了依靠第三方证明的层次化 CA 机构链。但是,该方案仍然需要数据库的在线支持,同样效率不高。
二、 矩阵密钥管理方案
智能家居的网路大部分都是无线传感网络 (Wireless Sensor Networks,WSN),相对于传统有线网络,WSN 的开放性使得网络更加地容易受到窃听、干扰等各种攻击。有线网络的网络连接是相对固定的,具有确定的边界,攻击者必须物理地接入网络或经过物理边界,如防火墙和网关,才能进入到有线网络。通过对接入端口的管理可以有效地控制非法用户的接入。而无线网络则没有一个明确的防御边界。
本文在南相浩教授的组合公钥算法的研究基础上,对算法进行改进,提出了一种矩阵密钥的认证方案。跟 IBE一样,矩阵密钥算法也是基于身份标识的公钥算法,不需要第三方证明的 CA 机构链,但是,它不需要保留与用户相关的参数,只要保留少量的公共参数即可处理大量的公钥,无需数据库的支持。矩阵密钥管理体制的安全基础是椭圆曲线上的离散对数难 题 (Elliptic Curve Discrete Logarithm Problem,ECDLP),即对椭圆曲线上的点 P,求 Q=kP 很容易,相反已知 P 和 Q求 k 却非常的困难。矩阵密钥管理体制在公开参数基础上建立公钥矩阵和私钥矩阵,采用散列映射函数将实体的标识映射为矩阵的行列坐标,将矩阵元素进行组合生成庞大的公钥与私钥。
2.1 椭圆曲线及其公开参数
由于本系统的有限域计算是在 FPGA上实施的,考虑二进制有限域在硬件上比素数域实现更加地方便,本系统选取了F2m上的 Koblitz 椭圆曲线 y2+xy=x3+ax2+b mod F。其中,F 为约减多项式(在南相浩教授的组合公钥方案里,采用的是素数域)。确定椭圆曲线后,适当地选取曲线上的点G作为生成元,成为基点。基点G=(Gx,Gy)的所有倍点构成子群 S={G,2G,3G,… ,(N - 1)G,NG}。其中 NG 即 O,N 称为子群 S 的阶。表明 N 是个殆素数(almost-prime),可以表示为 N=h×n,其中 n 是个大素数,h 是个小整数。椭圆曲线密码的公开参数组为 T={a,b,G,N,m}。
按照 NIST 推荐,本系统参数选取见表 1所列。椭圆曲线的计算可参见文献。
2.2 私钥矩阵、公钥矩阵的构建
公钥矩阵为16×32 的矩阵。矩阵中的16×32 个元素记为Xi,j(0 ≤ i ≤ 15,0 ≤ j ≤ 31)。它们都是子群 S 中的元素,即Xi,j=(xi,j,yi,j)∈S。公钥矩阵记为 PSK,则:
私钥矩阵也是16×32 矩阵,矩阵中的16×32 个元素记为ri,j(0 ≤ i ≤ 15,0 ≤ j ≤ 31)。私钥矩阵记为 SSK,则 :
公钥与私钥的对应关系为
2.3 基于标识的密钥的产生
密钥是根据实体标识产生的。每个实体都有一个唯一可以区分其他实体的标识,比如居民的身份证号。在网络中,每个节点都有一个网络地址,这地址在整个网络中是唯一的。我们首先对这个网络地址进行散列映射处理,使得标识更具有随机性。运算表达式如下:
identity 为实体的标识,ID 为标识的散列映射值。本系统中,HASH 为 SHA1 算法,影射值为 160 位。从 160 位的 ID 中取出后128 位,分割成 32 组,每组 4 位,每组依次为 W0,W1,…,W31。计算公钥为:
2.4 密钥管理
本系统中,有一个设备来负责密钥的产生和发放,该设备叫密钥管理中心(Key Manage Center,KMC)。KMC 首先选择系统的加密曲线参数以及基点,参数 T={a,b,G,N,m}向网络公布。然后随机产生16×32 的私钥矩阵。根据私钥矩阵和基点,计算出公钥矩阵。私钥矩阵由 KMC 秘密保留,公钥矩阵则公布。当网络节点申请入网时,KMC 根据节点的标识计算出节点的私钥,并通过安全信道告知节点私钥。公开参数和公钥矩阵则在公开信道告知。图1所示是其密钥管理方案示意图。 两节点之间通信时,发送方用自己的私钥对消息进行签名,将消息和签名在公开信道上发送给目标节点。接收方接收到消息和签名时,先根据发送者的标识,从公钥矩阵中计算出接收者的公钥,从而进行消息的验证。此过程无需第三方的参与,减少了网络信息流量,提高了效率。
三、系统设计
本系统完成对智能家居控制网络通信的地址认证。本系统的家居控制网络由 ZigBee 网络构成。ZigBee 网络是一种短距离、低功耗的无线通信技术,其近距离、低复杂度、自组织、低功耗、低数据速率、低成本等特点非常适合智能家居控制网络。ZigBee 节点的通信地址有64 位的 IEEE 地址(也叫扩展地址,由设备商固化在设备中)和 32 位的网络地址(也叫短地址,加入网络后由协调器分配,每次加入网络可能都不同)。在试验中,我们采用扩展地址通信方式。本系统中网络通信认证主要是對地址真实性的认证,能够正确地识别数据的来源,避免消息的伪造。消息的签名和认证算法则由 FPGA完成。ZigBee 模块与 FPGA 之间通过 SPI 总线通信。其硬件设计框图见图 2 所示。
FPGA 签名和认证流程图如图 3 所示。FPGA 模块有签名和验证两种模式,由 ZigBee 模块通知选择。在两种模式下分别进行 ECDSA 签名和 ECDSA 验证处理,将处理结果传送回 ZigBee 模块进行下一步处理。
四、 实验结果分析
在试验中,采用 CC2530 作为 ZigbBee 模块,签名认证算法由 EP2C5T144CB 完成,时钟频率为 40 MHz。发送方发送消息为“Hello!”,消息 HASH 值为表 2 中的 HASH(m)。发送方用自己的私钥 dA对消息进行签名,得到消息签名r 和 s。接收方收到带有签名的消息后,根据发送方的IEEE地址,通过公钥矩阵查询到发送方的公钥为坐标 (QA_x,QA_ y),经过 ECDSA 认证算法后得到 v。
分析实验数据表 2 可得 v=r,根据认证算法接收该签名。本方案实现了对消息的签名和认证,提高了网络通信的可靠安全性。
五、 结 语
本系统将基于标志认证的矩阵密钥算法应用到智能家居远程控制网络的真实性认证当中,实现了无需第三方的在线参与的本地认证,大大提高了认证效率。网络中的 KMC只需要在设备加入网络时分配密钥,平时并不参与认证活动;网络中的各个终端节点,也只是增加一些算法的实现,以很小的代价实现了对家庭网络的地址认证,为建立安全可信任的网络打下了良好的基础,确保了网络通信间的安全可靠。
参考文献:
[1] DIFFIE W,HELLMAN M E. New directions in cryptography [J].IEEE Transactions on Information Theory,1976,22(6) :644–654.
[2] KOHNFELDER L M. Towards a practical public-key cryptosystem[D]. Cambridge,Massachusetts :Massachusetts Institute of Tech-nology,1978.
[3] 肖凌,李之棠 . 公开密钥基础设施 (PKI) 结构 [J]. 计算机工程与应用,2002(10) :163-251.
[4] 南相浩 .CPK 标识认证 [M]. 北京 :国防工业出版社,2006.
[5] HANKERSON D,MENEZES A J,VANSTON S. Guide to EllipticCurve Cryptography [M]. New York :Springer-Verlag,2003.