基于自签名隐式证书的认证密钥协商协议研究

2017-06-05 14:15江凌云李占军
计算机技术与发展 2017年5期
关键词:服务器端公钥密钥

赵 敏,江凌云,李占军

(1.南京邮电大学 通信与信息工程学院,江苏 南京 210000;2.国家电网辽宁省电力有限公司,辽宁 沈阳 110006)

基于自签名隐式证书的认证密钥协商协议研究

赵 敏1,江凌云1,李占军2

(1.南京邮电大学 通信与信息工程学院,江苏 南京 210000;2.国家电网辽宁省电力有限公司,辽宁 沈阳 110006)

用户的身份认证和数据的保密传输是物联网信息安全中最基本的需求,而物联网中的终端设备一般呈分布式设置,大多数设备无人值守,因此需要有一个端到端的安全机制来保护物联网中的信息传输;物联网终端受带宽、计算能力和内存等限制,无法部署开销太大的安全协议。为了解决上述问题,提出并设计了一种基于ECQV(Elliptic Curve Qu-Vanstone)自签名隐式证书的认证密钥协商协议,主要基于ECQV自签名隐式证书生成机制和公钥提取机制,可完成感知节点和用户之间的相互认证及安全传输通道的建立,占用内存小,认证效率高。以C语言编写的双向认证密钥协商协议基于Contiki操作系统在WiSMote节点上接受了实验验证和评估分析。实验结果表明,由于ECQV证书比传统证书所需要的数据量小,故减少了带宽的占用,且时间和能量消耗也有降低,效率大幅提升。所设计的协议完全可以部署在资源限制型物联网上,且具有良好的安全性。

物联网;ECQV;隐式证书;安全性

0 引 言

物联网(Internet of Things,IoT)致力于实现人物互连、物物互连。尽管IoT的概念和一些应用对大众来说已不再陌生,但是物联网安全目前还处于研究的初级阶段。无线传感网(Wireless Sensor Network,WSN)是物联网中一个很重要的技术领域,在物联网环境中,WSN架构可分为集中式和分布式[1]。分布式网络的特点是设备分散化,这就需要安全管理身份信息,并验证连接用户的身份。在大多数物联网应用中,多个实体(比如感知节点、服务提供商和消息处理者)应通过彼此认证来首先建立一个受信任的网络,后续节点在成功完成身份验证后才可加入网络。设计这样的认证协议,不仅要能抵抗恶意攻击[2],还应该能在无线传感网中低性能的节点上轻量化部署。

为了解决物联网中的设备认证和数据加密传输问题,到目前为止学者们已经做出了大量研究[3]。提出的协议有:主机标识协议(Host Identity Protocol,HIP)[4],基于轻量级主机交换协议的、用于主机和用户之间的认证协议[5],Smart协议[6]—基于双线性配对的身份基密钥协商协议。

对于处理能力不足的物联网节点来说,通常使用的X.509证书和RSA公钥产生的开销太大,于是文献[7]中提出了基于椭圆曲线(Elliptic Curve Cryptography,ECC)算法的隐式证书,使得引入限制型网络的开销减少。该隐式证书可以用于分布式IoT的一般认证机制中。

因此,基于ECQV(Elliptic Curve Qu-Vanstone)自签名隐式证书机制设计了一种双向认证密钥协商协议,该ECQV隐式证书的生成基于ECC算法,它的证书更小,计算速度更快,可以显著提高认证效率[8]。传统证书中,公钥和数字签名是分开的,而在ECQV自签名隐式证书中,数字签名是嵌入到公钥中的,这也是“自签名”的含义,接收方可以从中提取公钥来验证其身份。由于边缘节点和终端用户在相互认证时使用的是隐式证书,所以该协议也是轻量级的,最终实现了这个机制,并且在资源限制的感知节点上进行了性能测试和安全分析。

1 系统模型

图1为所提认证密钥协商机制的网络架构,这里的终端用户可以与不同的感知节点通信,来获得特定的数据或服务。WSN中可能包括不同类型的感知节点,终端用户可以是人,也可以是虚拟实体。

如图1所示,双向认证和数据保护一般发生在以下三种通信场景中:

(1)Link A:同一WSN内的两个感知节点之间;

(2)Link B:不同WSNs内的两个感知节点之间;

(3)Link C:一个终端用户和一个感知节点之间。

在两个网络实体开始相互认证之前,有必要首先对每个通信端进行注册,目的是将在认证阶段使用的加密证书分发给各个通信端,这样才能保证两个实体可以成功完成相互认证。可见,每个末梢节点和终端用户必须在注册阶段就获得加密证书(比如,密码套件和隐式证书),加密证书的来源是可信的第三方,如证书管理中心(Certificate Authority,CA),它是一个资源丰富的服务器。假设CA可以识别网络实体身份的合法性,也可以与网络实体通信。如图1所示,网络实体首先通过互联网云与CA通信;之后,末梢节点和终端用户可以相互认证并建立安全的通信信道。低层通信的安全性要依靠其他安全机制,这里不做赘述。

图1 认证密钥协商机制应用的网络场景

2 双向认证密钥协商协议

协议中的隐式证书机制使用在以下三个实体中:证书中心CA、证书请求者U和证书处理者V。证书请求者U从CA获取一个隐式证书,该证书可以证明U的身份,该过程称为ECQV自签名隐式证书生成机制;并且V可以从隐式证书中提取U的公钥,该过程称为公钥提取机制[9]。

使用到的符号如表1所示。

表1 认证密钥协商协议中使用的符号及含义

椭圆曲线的域参数包含q,a,b,G和n。q代表有限域Fq;变量a和b是椭圆曲线y2=x3+ax+b的系数,这里4a3+27b2≠0;G是基点发生器[10]。首先由CA生成一条椭圆曲线,并选择基点G,满足它的阶是整数n。

双向认证机制包含两个阶段:注册阶段和认证阶段。注册阶段,网络实体从可信第三方获取加密证书;认证阶段,使用该加密证书建立两个网络实体之间的安全通信。

2.1 注册阶段

图2为协议的流程图,图中的未加框文字代表实体要完成的动作,加框的文字代表使用到的变量和相关公式。图2(a)为注册阶段的协议流程图,末梢节点(如感知节点)和终端用户从CA请求安全材料和证书。只有证书请求者的身份得到确认后,CA才发行隐式证书[11]。证书请求者(节点U)可以是感知节点,也可以是终端用户。

注册阶段的信息传递与处理过程如下:

(1)握手的一开始由证书请求者发送一个Requestor Hello消息、节点身份(U)和密码套件。

假定密码套件是嵌入到感知节点中的,并且在部署阶段或授予网络接入权利阶段对终端用户是已知的。密码套件包含请求者一端可用的密码选项,比如EC参数、MAC的消息认证密钥(K)、哈希函数(H)和分组加密的AES密钥大小。例如,CERT_ECC160_K1_SHA1_AES128代表160bitEC曲线,K1是消息认证密钥,使用SHA1和128bitAES。

(2)CA使用证书请求者的身份信息来验证其合法性,当验证成功后,CA从发来的密码套件选项中选择一个,并将CAHello消息连同它的公钥QCA发送给证书请求者,该消息不受保护。

(3)接收到CAHello消息后,证书请求者生成一个证书请求(RU)和一个随机数(NU),rU作为临时私钥,计算它们的消息认证码(MAC)值并将CertificateRequest消息一并发送给CA。随机数和MAC值分别用来保证消息的新鲜性和完整性。

(4)CA首先确认MAC值来鉴定请求消息的完整性,然后计算隐式证书(CertU)和用于计算私钥的整数(s),该过程即ECQV自签名隐式证书生成机制。计算过程如下:

根据证书请求者U的临时私钥rU计算出临时公钥GU=rUG;

计算CA自己的临时密钥对(d,Q),其中d是临时私钥,Q是临时公钥,满足Q=dG;

计算公钥重建值BU=Q+GU;

构造U的证书信息IU(比如身份和其他有效性信息);

构造隐式证书CertU,包含BU和IU;

计算s=ed+dCA(modn),其中dCA是CA的私钥,e=Hash(CertU)。

CA发送Certificate消息和随机数(NCA)与MAC值,Certificate消息中包含隐式证书CertU和s。

(a)注册阶段

(b)认证阶段

(5)证书请求者接收到Certificate消息后确认MAC值,然后计算它自己的私钥(dU)与公钥(QU),即ECQV公钥提取机制。计算过程如下:

从CertU消息中解析出BU和IU,并且确认其有效性;

计算e=Hash(CertU),并确认e≠0;

计算U的私钥dU=erU+s(modn);

计算U的公钥QU=eBU+QCA。

其他节点(比如V)也可以通过同样的方法从U的隐式证书CertU中计算出U的公钥QU。

证书请求者发送Finished消息,包含用公钥QU加密之前握手消息的加密消息摘要。

(6)根据用于计算密钥的EC数学算法,CA可以计算出QU,并用它来加密之前的消息,生成Finished消息并发送,注册阶段的握手便完成了。

2.2 认证阶段

在认证阶段,一个感知节点或终端用户作为客户端,另一感知节点作为服务器端,如图2(b)所示,这里考虑的是客户端节点U和服务器端节点V之间的认证过程。

认证阶段的信息传递与处理过程如下:

(1)客户端首先向服务器端发送Client Hello消息、密码套件选项和身份信息(U),客户端的隐式证书由密码套件组成。

(2)如果服务器端获得的证书与客户端所给的密码套件相匹配,服务器端将选择一个密码套件,并回应Server Hello消息和身份消息。否则,服务器端将发送End消息和它的密码套件选项来结束此次握手,客户端只能重新获取新的证书,并从头开始握手过程。

(3)接收到Server Hello消息后,客户端发送它的证书信息、加密随机数和MAC值。

(4)如果MAC值验证成功,服务器端用接收到的证书(CertU)和CA的公钥(QCA)来计算客户端的公钥(QU);用它的私钥dV和客户端的公钥QU计算双方的共用密钥KUV=dVQU。服务器端发送它的证书CertV、随机数NV和MAC值。

(5)客户端作相似的处理。

最后交换Finished消息,包含用共用密钥KUV加密的原握手消息。

在六个握手消息传输完成后,两个节点便可以验证彼此的身份,并建立一个共用的密钥和一条安全通信链路,可以用于保护客户端和服务器端数据交换的安全。

3 实验环境

双向认证密钥协商协议用C语言编写,运行在Contiki[12]操作系统上;部署在WiSMote[13]感知节点上,WiSMote硬件平台的配置有:MSP430 5-系列微控制器;128/16kB的ROM/RAM;1个IEEE802.15.4 (CC2520)收发器;光照、温度传感器。

利用开源软件OpenSSL在Linux下创建了一个简单的CA认证中心,来为服务器端和客户端颁发数字证书。

在物联网的感知层WSN中,源节点到目的节点之间的典型路径是由多跳组成的,该路径上的中间节点充当转发节点,因此,WSN中的任何无线设备节点都可以同时作为无线访问接入点和路由器。性能评估实验的网络结构图可参见图1。

4 性能分析和安全性分析

对所提出的认证密钥协商协议的性能和安全性做出分析,并证明该解决方法可以部署在分布式IoT应用中的资源限制型设备上。

文献[14]比较了隐式证书与传统证书在相同安全级别时的公钥、证书长度。比如,在安全级别是192时,RSA的证书大小为15 360bit加上身份信息数据,而ECQV隐式证书的大小为385bit加上身份信息数据。可见,隐式证书在传输过程中可以减少带宽占用,而且安全级别越高,这种优势越明显,所以更适合传感器网络等资源受限环境。

4.1 内存占用

使用MSP430工具链中的msp430-size和msp430-objdump工具分析RAM和ROM的消耗情况,如表2所示,内存占用值按每个通信节点的两个阶段来分别列出。

表2 内存占用测量值

由表2可见,一个WiSMote感知节点在整个认证协议中消耗约2 983字节RAM和23 393字节ROM,仍然低于WiSMote节点提供的16 kB RAM和128 kB ROM。虽然CA操作消耗的内存更大,但CA是资源丰富的设备,不受资源局限。

4.2 时间与能量消耗

由于传输时间依赖于网络的规模和两个节点之间的距离,所以表3只列出了边缘节点或CA某些特定操作的执行时间。

能量消耗的计算公式为V*I*t,其中V=3V是WiSMote节点上的电压,I=1.8mA是电流,t是操作的执行时间。

由表3可知,注册阶段证书请求者消耗的时间是8 286ms,CA消耗10 893ms;认证阶段每个节点消耗8 396ms。一个WiSMote节点在注册阶段和认证阶段消耗的能量分别是43.71mJ和46.12mJ。

所以,实验结果表明使用更加优化的ECC操作可以减少时间、能量和内存消耗,所提的机制可以很容易部署在低能量低性能的设备上。而且,在该双向认证协议中,隐式证书作为160位EC点来使用,因此证书的长度仅为44字节。使用优化设计的EC曲线可以减小证书长度,未来使用压缩技术也可以减小整个消息的长度。

表3 特定操作的时间消耗和能量消耗值

4.3 安全性分析

所提端到端认证密钥协商协议基于ECQV隐式证书,而该隐式证书使用的是ECC算法,这为协议的设计带来了很大的好处:它提供与RSA相同的安全性,而且开销更小(比如,160 bit的ECC与1 024密钥长度的RSA的安全性等同),具有可靠的安全性。

在分布式物联网中很容易遇到DoS攻击。在方案的注册阶段,第一个Hello消息中包含证书请求者的身份信息,这个身份信息经过CA的鉴定。如果非法请求者尝试接入,CA可以在身份验证的一开始就识别出来,保护网络免受DoS攻击。而且,在认证阶段,仅在成功交换Hello消息后才交换加密证书,这也可以避免DoS攻击。另外,随后传送的消息都包含MAC,这也可以避免由入侵者和DoS攻击导致的非法信息交换,并且MAC中的通用密钥K可以保证数据完整性,随机数用于保证握手期间的消息新鲜性。

根据以上的性能与安全性分析可以看出,所提的认证密钥协商协议可以很容易地部署在资源限制型设备上,并且具有较高程度的安全保护。因为该协议是基于标准ECC操作的,而所有感知节点都支持ECC算法,所以不论感知节点的生产商是否一样,都可以部署该协议。

5 结束语

为了解决物联网环境中用户认证和数据传输的不安全性,提出并分析了一种适用于分布式物联网的认证密钥协商协议,可以很容易地部署在资源限制型节点上,且具有较高的安全性。实验结果表明,该认证协议可以部署在WSNs中的低性能资源限制型网络设备上,并且可以抵抗DoS等攻击。

[1]GubbiJ,BuyyaR,MarusicS,etal.InternetofThings(IoT):avision,architecturalelements,andfuturedirections[J].FutureGenerationComputerSystems,2013,29(7):1645-1660.

[2]RomanR,ZhouJ,LopezJ.Onthefeaturesandchallengesofsecurityandprivacyindistributedinternetofthings[J].ComputerNetworks,2013,57(10):2266-2279.

[3]HuW,TanH,CorkeP,etal.Towardtrustedwirelesssensornetworks[J].ACMTransactionsonSensorNetworks,2010,7(1):2019-2021.

[4]GurtovA,KomuM,MoskowitzR.HostIdentityProtocol(HIP):identifier/locatorsplitforhostmobilityandmultihoming[J].InternetProtocolJournal,2009,12(1):27-32.

[5]PellikkaJ,FaiglZ,GurtovA.LightweighthostanduserauthenticationprotocolforAll-IPtelecomnetworks[C]//Proceedingsof3rdIEEEworkshopondatasecurityandprivacyinwirelessnetworks.[s.l.]:IEEE,2012.

[6]SmartNP.AnidentitybasedauthenticatedkeyagreementprotocolbasedontheWeilpariring[J].ElectronicsLetters,2002,38(13):630-632.

[7]KotzanikolaouP,MagkosE.Hybridkeyestablishmentformultiphaseself-organizedsensornetworks[C]//Proceedingsofthe6thIEEEinternationalsymposiumonaworldofwirelessmobileandmultimedianetworks.[s.l.]:IEEE,2005:581-587.

[8]PorambageP,KumarP,SchmittC,etal.Certificatebasedpairwisekeyestablishmentprotocolforwirelesssensornetworks[C]//ProceedingsofIEEE16thinternationalconferenceoncomputationalscienceandengineering.[s.l.]:IEEE,2013:667-674.

[9]SEC4:EllipticCurveQu-Vanstoneimplicitcertificatescheme(ECQV),version1.0.[EB/OL].2013.http://www.secg.org/sec4-1.0.pdf.

[10]HankersonD,VanstoneS,MenezesAJ.Guidetoellipticcurvecryptography[M].[s.l.]:Springer,2004.

[11]PorambageP,SchmittC,KumarP,etal.Two-phaseauthenticationprotocolforwirelesssensornetworksindistributedIoTapplications[C]//2014IEEEwirelesscommunicationsandnetworkingconference.[s.l.]:IEEE,2014:2728-2733.

[12]DunkelsA,GrönvallB,VoigtT.Contiki-alightweightandflexibleoperatingsystemfortinynetworkedsensors[C]//IEEEinternationalconferenceonlocalcomputernetworks.[s.l.]:IEEE,2004:455-462.

[13]LCISandAragosystems.WiSMotesensornode[EB/OL].2013.http://wismote.org/lib/exe/detail.php?id=start&media=wismote_small.png.

[14] 顾海华.隐式认证在移动设备中的应用[J].中国集成电路,2010,19(11):54-56.

Research on Authenticated Secret Key Agreement Protocol withSelf-signed Implicit Certificate

ZHAO Min1,JIANG Ling-yun1,LI Zhan-jun2

(1.School of Communication and Information Engineering,Nanjing University of Posts and Telecommunications,Nanjing 210000,China;2.State Grid Liaoning Electricity Power Company,Shenyang 110006,China)

As well known,among all the information security requirements in Internet of Things (IoT) network,user authentication and data transmission confidentiality both are the most essential.However,edge devices in IoT are commonly distributed,and most of them are unattended,so it has become pressing to create an end-to-end security mechanism to secure the information transmission in IoT.Considering the confinations of devices in IoT network are bandwidth,computing power and memory limit,the IoT nodes cannot support heavy security protocol.In order to solve the above problems,a new authenticated key agreement protocol based on ECQV (Elliptic Curve Qu-Vanstone) self-signed implicit certificate has been introduced,which is based primarily on ECQV self-signed certificate generation scheme and ECQV self-signed implicit certificate public key extraction scheme and can perform mutual authentication between the user and node,with smaller footprint and higher authenticate efficiency.This proposed protocol programmed with C language run by Contiki operation system has been tested and evaluated with WiSMote nodes.Experiment results show that the ECQV certificate is smaller than traditional certificate,and thus the system bandwidth has been reduced as well as the time and energy consumption.In general the proposed protocol can be deployed on resource-constrained devices in IoT,and with better secure performance.

Internet of Thing;ECQV;implicit certificate;security

2016-06-16

2016-09-28 网络出版时间:2017-03-13

国家自然科学基金资助项目(61271237)

赵 敏(1991-),女,硕士,研究方向为网络与应用技术、物联网安全;江凌云,副教授,研究方向为下一代网络技术。

http://kns.cnki.net/kcms/detail/61.1450.TP.20170313.1547.100.html

TP393

A

1673-629X(2017)05-0128-05

10.3969/j.issn.1673-629X.2017.05.027

猜你喜欢
服务器端公钥密钥
幻中邂逅之金色密钥
幻中邂逅之金色密钥
案例教学法在公钥密码体制难点教学中的应用——以ssh服务中双向认证为例
Linux环境下基于Socket的数据传输软件设计
密码系统中密钥的状态与保护*
TPM 2.0密钥迁移协议研究
神奇的公钥密码
国密SM2密码算法的C语言实现
P2X7 receptor antagonism in amyotrophic lateral sclerosis
基于Qt的安全即时通讯软件服务器端设计