刘 威 马文平 刘小雪
(西安电子科技大学综合业务网国家重点实验室 陕西 西安 710071)
随着智能家居设备的增多,智能家居系统的安全问题也逐渐浮出水面,智能门锁被远程控制,智能摄像头被攻击者入侵后,家庭隐私视频被公开直播等问题不断被曝光。目前,大部分的智能家居系统使用嵌入式系统进行控制。可信任设备身份认证技术结合数字签名技术可以让智能家居设备的授权和认证自动化进行,数据传输双重加密,被授权终端也公开透明,可以做到从根源上防止被黑客控制和攻击[1]。
在这里,简要介绍一个典型的智能家居场景下的通信架构,如图1所示。在系统中,用户通过无线智能终端设备连接到互联网,实现与家庭网关的远程通信。当家庭网关接收到访问或控制指令等相关信息时,家庭网关将使用相关家庭设备执行相应的任务[2]。因此家庭网关不仅提供与设备节点的网络连接,同时还可以将各种智能家居设备形成的无线传感器网络相互连接[2]。
图1 智能家居基本通信架构
如上所述,可以针对智能家居设备和无线通信信道进行开发,在资源受限的设备中,保证设备和通信安全将更加具有挑战性。其中的安全风险包括从这些设备中收集和过滤敏感信息。这也再次凸显出远程用户身份认证系统的重要性,该系统对于在资源受限条件下设备上的部署也是轻量级的。针对无线传感器网络中的节点认证问题[3],有许多远程身份验证方法,最简单和最直接的方法是基于密码的身份验证,这种方法的成本较低,但是,如果没有一个秘密、安全的信道就不能防止被窃听。一次性密码验证(OTP)是最流行的身份验证之一,似乎可以抵御常见攻击。通过智能卡的远程用户身份验证方案凭借其高效、计算成本低等优点,在涉及远程用户登录、Web访问等在线服务的场景中得到广泛的应用[4]。然而,攻击者可以窃取合法用户的智能卡来非法访问该系统。为了解决这些问题,Vaidya等[5]利用HOTP和智能卡实现了一种基于密码的认证方案,用于智能家居设备的安全访问。然而,这却需要较高的计算成本。最近,出现许多为其他应用场景提出的认证协议,但这些认证服务几乎都存在以下局限性:
(1) 终端智能设备的密钥安全风险较大,密钥在使用过程中容易被攻击者窃取盗用;
(2) 对智能家居所构成的群成员匿名性无法保证,而且不能实现对群成员的高效管理和身份追踪。
为了解决这些问题,提出了一套基于SM2国产密码算法的门限群签名方案,密钥由系统和用户自己共同生成,可以大大提高密钥的安全性,攻击者即使获得部分密钥仍然无法完成签名过程,所以不能通过系统的验证[6]。而且门限群签名可以保证用户的匿名性、签名者的可追踪性,以及可以快速撤销群成员等安全特性。这将使智能家居的身份认证过程更加安全高效[7]。
基于SM2的门限群签名系统的参与者由智能家居终端设备用户Ui、家庭网关HGi、用户信息列表、签名信息列表、验证者构成。
如图2所示,门限群签名系统包括系统初始化、成员注册、分布式签名生成、门限群签名生成、签名验证、签名打开和用户撤销七个部分。签名系统的具体流程如下[8]:
(1) 在签名系统的初始化过程中,HGi首先选择系统安全参数,并生成群密钥和HGi自己的公私钥对;
(2) 在用户Ui的注册过程中,包括用户身份信息和密钥信息的交互验证。并对用户的真实身份进行盲化处理,实现了用户身份的匿名性;
(3) 用户使用步骤(2)中生成的用户密钥di和匿名身份IDi2,生成用户自己的分布式群签名;
(4) 在HGi验证过分布式签名的合法性之后,生成门限群签名;
(5) 验证者可以利用群公钥对门限群签名的的合法性进行验证;
(6)HGi可以在发生争议时打开签名,追踪到签名者的真实身份;
(7) 当想要对群中的成员进行撤销操作时,HGi可以通过更新用户密钥来撤销用户Ui。
有限域GF(p)上一个非超奇异椭圆曲线E(其中p为大素数,且p>3)。定义曲线的魏尔斯特拉斯方程为:
y2=x3+ax+b
(1)
式中:(x,y)∈E;a,b∈GF(p),并且4a3+27b2≠0。满足魏尔斯特拉斯方程的点集(x,y)和无穷远处的点构成的Abel群[9]。
在Shamir(t,n)门限秘密分享方案中,可信中心将秘密d差分成n份,分发给n个参与者U1,U2,…,Un。任意t+1或t+1个以上的参与者一起可恢复秘密d,任意t个参与者一起不能得到秘密d的任何信息,详细方案如下:
(2) 可信中心计算di=f(i),并秘密把di发送给参与者Ui,1≤i≤n;
(3)Ui将di作为份额保存。
智能家居系统初始化工作由家庭网关完成,该步骤需要执行两个过程:构建系统模型,设置(t,n)门限群签名系统参数;为家庭网关生成密钥,并为系统选择所需的安全函数。该步骤的具体实现过程如下[13]:
(1) 选择系统参数并生成椭圆曲线:设定第i个群Gi的大小为n,门限值为t,其中t (3) 家庭网关生成群密钥和安全参数:家庭网关随机生成一个t-1次多项式: f(x)=at-1xt-1+at-2xt-2+…+a2x2+a1x2+a0 (2) 式中:整数ai∈[1,p-1](i=0,1,2,…,t-1)。这样可以得到群私钥为skG=f(0)=a0,群公钥为pkG=f(0)G=a0G。最后,选择一个单向哈希函数h()。 当非本群成员想要加入该群成为群成员时,需要与家庭网关执行一个交互注册协议过程。具体过程如下: U=uG=(xu,yu) (3) IDi1=(xu+skHGi)h(IDi)+umodp (4) V=vG=(xv,yv) (5) (6) 门限群签名过程参与的群成员集合P={U1,U2,…,Ui}(t ZA=H256(ENTLA‖IDi2‖a‖b‖xG‖yG‖xA‖yG); (3) 用随机数发生器产生随机数k∈[1,n-1],计算椭圆曲线点K=kG=(x1,y1); (4) 假设Ui已经分享了K,并在群内广播,之后计算r=(e+x1)modp,若r=0或r+k=n则返回步骤(3); (6) 成员Ui生成消息M的分布式群签名为(r,si),之后将(r,si)和IDi2发送给HGi。 该过程由家庭网关HGi完成,由分布式群签名的验证和门限群签名生成两个步骤构成。之后,HGi将Ui的签名信息添加到本地用户信息列表中,以便之后对成员身份进行追踪。 签名验证者接收到M和(r,s)后,作为验证者的用户需要实现以下运算步骤: (1) 先检查r,s∈[1,p-1]且r+s≠p; 当发现群内存在非法成员或有成员想要离开时,家庭网关需要执行以下步骤实现Ui的撤销: (1) 重新选择一个t-1次多项式: 验证门限签名的正确性需要对签名算法生成的数字签名对应的签名算法进行检验。本文设计的改进SM2门限群签名算法主要涉及的过程有分布式密钥生成、分布式签名和门限签名过程组成,对提出的签名算法的具体验证为以下三个证明过程[14]: skuiyi=fi(IDj)G=ai0G+ai1IDjG+ai2IDj2G+…+aitIDjtG 利用用户Ui在群内公开的aiG的值,HGi可以通过验证上面的公式是否成立来确保每个参与签名用户所生成的分布式密钥是正确有效的。因此,最终可以确认用户Ui通过插值计算获得了正确的分布式密钥。 定理2在分布式签名产生的过程中,签名者Uj可以验证群内任何一名合法的签名者Ui在群中公布的分布式签名si的正确性。因此,确保用户Ui获取的分布式签名是正确的。 定理3门限群签名的验证者可通过验证R=(e+x1)modp=r是否成立来确定门限群签名是否正确。 本方案通过门限签名技术提升智能设备密钥的安全性,结合群签名技术实现用户的匿名性和的可跟踪性安全特性。下面将从敌手的欺骗攻击和抗不安全集合合谋攻击,以及门限签名的匿名性和可跟踪性四个方面对该签名方案的安全性进行证明。 定理4本文提出的SM2门限群签名方案可以抵御欺骗攻击。 定理5本文提出的SM2门限群签名方案可以抵御合谋攻击。 定理6本文提出的SM2门限群签名方案除了管理者HGi,任何成员无法确定签名者的真实身份。 证明在本方案中,Ui申请加入群时,向家庭网关HGi发送自己的身份标识IDi,之后计算IDi的匿名身份IDi1=(xu+skHGi)h(IDi)+umodp。由上述公式可以看出,计算用户Ui的匿名身份,需要HGi的私钥skHGi和他选择的随机数u,他们只有HGi自己知道。任何其他攻击者无法获取skHGi和u的值,进而保证用户身份的匿名性。 定理7在发生争议时,家庭网关HGi可以打开群签名,并追踪到签名者的真实身份。 基于本文提出的门限群签名,在(t,n)门限的条件下,我们对基于SM2的门限群签名方案和普通群签名方案进行性能仿真测试,测试结果如图3所示。系统硬件由一个智能终端移动设备、通信服务器、密钥服务器构成[15],它们的硬件配置参数如表1所示,同时运行SM2门限群签名方案和普通签名方案。图3(a)、图3(b)和图3(c)中纵坐标为执行方案所用平均耗时,横坐标中A、B、C分别表示在普通签名方案中的密钥生成、签名生成和签名验证这三个阶段。A1、B1、C1表示本文所提方案对应的几个签名过程。图3(d)为3个硬件智能终端分别执行两种签名算法的总平均耗时[16]。 表1 系统硬件配置参数 图3 仿真测试结果图 从图3(a)、图3(b)和图3(c)中可以看出,终端设备执行两种签名方案耗时和图3(d)中的平均耗时相近。说明本文提出的智能家居场景下的门限群签名方案在正常的网络环境下具有良好的性能。由图3(d)可以看出,在(2,3)门限条件下,普通签名方案在密钥生成阶段的平均耗时大约为35.492 ms,签名生成阶段平均耗时为31.168 ms,签名验证阶段约为3.495 ms;基于SM2的门限群签名方案在密钥生成阶段平均耗时为37.117 ms,签名生成阶段平均耗时为32.768 ms,签名与验证阶段平均耗时为4.184 ms。因此可以推测,本文所提出的签名方案在满足实现安全特性的前提下,增加了一定的运行时间,但所增加的时间在实际应用场景可接受。因此,该签名方案具有良好的实用性和应用价值。 本文提出了一种在智能家居场景下基于SM2的门限群签名方案。在该方案在签名过程中对用户的真实身份进行盲化保证隐私性,通过门限签名技术可以提升智能设备在密钥使用过程中的安全性。而且可以通过签名来追踪成员的真实身份信息,并通过更新密钥来实现高效快速的群成员撤销。最后,通过对现有普通签名方案和本文提出的门限群签名方案进行对比仿真实验,结果表明在满足安全特性的前提下,该签名方案具有良好的性能。由于本文通过本地数据库进行签名信息的存储,而且基于中心化的认证模型。在未来的工作中可以将本文的方案与区块链技术相结合[17],使整个签名验证过程更加安全。2.2 成员注册
2.3 分布式群签名生成
2.4 门限群签名生成
2.5 签名验证
2.6 打开签名
2.7 成员撤销
3 方案分析
3.1 正确性分析
3.2 安全性证明
4 性能分析
5 结 语