您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 广告经营 > 基于商密算法的北斗短报文安全通信协议研究-吴克河
2018年第11期计算机与数字工程收稿日期:2018年5月10日,修回日期:2018年6月15日基金项目:国家电网总部科技项目“新能源厂站网络安全防护关键技术研究”(编号:522722180007)资助。作者简介:吴克河,男,博士,教授,研究方向:智能电网软件技术、电力信息安全。李岩,男,硕士研究生,研究方向:电力信息安全与网络安全。崔文超,男,博士,讲师,研究方向:电力信息安全、电力智能软件技术。李为,女,硕士,教授,研究方向:电力信息技术、计算机应用技术。∗总第349期2018年第11期计算机与数字工程Computer&DigitalEngineeringVol.46No.111引言北斗卫星导航系统BDS(BeiDouNavigationSatelliteSystem,BDS)是中国自行研制的全球卫星导航系统与通信系统[1],为军民用户提供了快速定位、实时导航、精密授时、位置报告、短信服务“五位一体”的服务功能,具备安全可靠的优势[2]。北斗短报文是北斗卫星导航系统的特色功能,区别于世界上的其他几大导航定位系统。北斗短报文通信具有覆盖范围广、建设周期短、投资成本低等优势,逐渐在智能交通、森林防火、农业精耕、电力监控、水文监测等诸多行业已经有了较为广泛的应用(以电力监控为例,截止2016年7月,北斗短报文通信已在国家电网公司的青海、冀北、四川、重庆、安徽、蒙东、福建、山西、浙江共9个省公司应用,共建设北斗数据传输终端1996台)。因此需要针对北斗短报文通信设计适用的安全防护方案,确保敏感数据能够通过北斗短报文进行安全的传输。基于商密算法的北斗短报文安全通信协议研究∗吴克河李岩崔文超李为(华北电力大学控制与计算机工程学院北京102206)摘要北斗短报文通信具有覆盖范围广、建设周期短、投资成本低的优点,在智能交通、森林防火、农业精耕、电力监控、水文监测等诸多行业已经有了较为广泛的应用。但是应用数据都是明文进行传输,存在信息泄漏、数据篡改的安全风险,针对此问题,根据北斗短报文通信的特点和限制设计出一种基于商密算法的北斗短报文安全通信协议。能够解决北斗短报文通信的数据安全性问题。应用测试结果表明,安全通信协议能够满足敏感数据传输过程中的安全防护要求。关键词商密算法;北斗短报文通信;安全通信中图分类号TP393DOI:10.3969/j.issn.1672-9722.2018.11.027ResearchofBeidouShortMessageSecurityCommunicationProtocolBasedonCommercialPasswordWUKeheLIYanCUIWenchaoLIWei(SchoolofControlandComputerEngineering,NorthChinaElectricPowerUniversity,Beijing102206)AbstractBeidoushortmessagecommunicationhastheadvantagesofwidecoverage,shortconstructionperiodandlowinvest⁃mentcost.Ithasbeenwidelyusedinmanyindustries,suchasintelligenttransportation,forestfireprevention,agriculturalinten⁃sivefarming,electricpowermonitoring,hydrologicalmonitoringandsoon.Theapplicationdataareallplaintexttransmission,thereisthesecurityriskofinformationleakageanddatatampering.Aimingatthisproblem,accordingtothecharacteristicsandlim⁃itationsoftheBeidoushortmessagecommunication,asafecommunicationprotocolforshortmessageofBeidoubasedonquotiental⁃gorithmisdesigned.ItcansolvethedatasecurityproblemofBeidoushortmessagecommunication.Theapplicationtestresultsshowthatthesecuritycommunicationprotocolcanmeettherequirementsofsecurityprotectionintheprocessofsensitivedatatransmis⁃sion.KeyWordscommercialpassword,beidoushortmessagecommunication,securitycommunicationClassNumberTP3932291第46卷2相关技术理论2.1商密算法商密算法即国家密码局认定的商用密码算法。商用密码的应用领域十分广泛,主要用于对不涉及国家秘密内容但又具有敏感性的内部信息、行政事务信息、经济信息等进行加密保护。比如:商用密码可用于企业门禁管理、企业内部的各类敏感信息的传输加密、存储加密,防止非法第三方获取信息内容[3];也可用于各种安全认证、网上银行、数字签名等[4]。商密算法能够实现商用密码算法的加密、解密和认证等功能的技术[5]。常用的商密算法包括SM1算法、SM2算法、SM3算法和SM4算法,其密码类型、密码特征和密码用途如下表1所示。表1常用商密算法密码算法SM1算法SM2算法SM3算法SM4算法密码类型对称算法非对称算法杂凑算法对称算法密码特性分组算法;分组长度与密钥长度均为128bit;算法未公开;椭圆曲线公钥密码算法;密钥长度为256bit;算法公开;杂凑值的长度为256bit;算法公开;分组算法;分组长度与密钥长度均为128bit;算法公开;密码用途数据加密与解密,以保证数据和信息的机密性数字证书、身份鉴别与认证、交换对称密钥算法、数据加密数字签名、验证消息认证码的生成与验证、随机数的生成数据加密与解密,以保证数据和信息的机密性2.2北斗短报文通信北斗卫星通信是指利用北斗导航卫星作为中继站转发无线电波,在两个或多个地球站之间进行的通信,它是在微波通信和航天技术基础上发展起来的一门新兴的无线通信技术,所使用的无线电波频率为微波频段(300MHz~300GHz,即波段1m~1mm)。这种利用北斗导航卫星在地球站之间进行通信的通信系统,则称为北斗卫星通信系统[6~11]。北斗通信网络是基于北斗卫星导航系统的空地结合无线通信网络,该网络的传输单元是北斗通信协议下的短报文[12]。北斗系统最大的特色在于有源定位和短报文特色服务,不止解决了中国有无卫星导航系统的问题,还能将短信和导航结合,是中国北斗卫星导航系统的独特发明,也是一大优势[13]。北斗短报文通信从应用角度来看,存在一些限制:1)通信容量限制。采用短报文通信方式,其一次通信有容量的限制,即每次通信内容的长度是受限的。一般情况下,民用通信每条短报文信息最大容量为78字节数据[14]。2)通信频次限制。北斗在使用时,对频度有要求。一般的设备使用频度基本是1min,也就是1min可以使用一次,如果需要更高频度,需要在入网时提出特殊申请。3)通信不可靠性。北斗卫星通信链路是不可靠的通信链路,而且北斗民用通信系统是没有通信回执的。3安全通信协议由于北斗短报文通信长度和频率的限制,原有的对于SSL、TLS等安全传输协议难以适用北斗短报文通信。针对北斗卫星通道的技术特色,基于现有安全通信技术,设计适应短报文通信的安全通信协议。主要实现的安全防护功能包括通过基于商密算法的认证协商协议认证通信双方和利用硬件加密芯片实现数据加解密。3.1通信流程安全通信协议包括两个主要的通信流程,分别是密钥协商流程和加密通信流程。通信双方要进行安全通信,需要初始化北斗终端获取北斗卫星信号确保能够进行北斗短报文通信。一旦初始化完毕后,就进行密钥协商流程,双方通过密钥协商流程进行双向身份认证和协商出一个公共的会话密钥。如果在密钥协商流程中出错,整个安全通信协议流程退出。身份认证和会话密钥协商完成后,密钥协商流程结束,通信双方就可以使用会话密钥进行加密通信,从而进入加密通信流程。在加密通信流程中,通信双方把自己想要发送的数据使用会话密钥加密后,通过北斗短报文发送给对方。当接收到来自对方的北斗短报文数据后,要进行身份认证和数据完整性校验,认证和校验成功后,使用会话密钥进行解密操作获得明文数据。如果在加密通信流程中出错,销毁会话密钥并且结束整个安全通信协议流程,下一次使用安全通信协议进行通信,还要进行密钥协商流程,保证会话密钥的安全性。整个安全通信协议的通信流程如图1所示。吴克河等:基于商密算法的北斗短报文安全通信协议研究22922018年第11期计算机与数字工程初始化北斗终端进行北斗短报文通信开始进行密钥协商协商成功?NY使用协商的会许密钥进行加密通信身份认证和完整性校验是否成功?NYYN是否继续?退出图1安全通信协议通信流程图3.2密钥协商密钥协商有两个或多个实体协商,共同建立会话密钥[15],任何一个参与者均对结果产生影响,不需要任何可信的第三方。可分为证书型和无证书型。本文设计的安全通信协议采用证书型密钥协商方式,使用SM2证书来实现通信双方的双向身份认证。图和文字中出现的符号见表2。表2安全通信协议符号说明符号rNDKCertNSKeyNkeySX(Y)EX(Y)H(Y)||说明装置N产生的随机数回话密钥装置N的SM2算法的公钥装置N的SM2算法的私钥通信双方统一的SM1算法密钥,可以由外部的密钥管理系统产生用X对Y进行SM2算法的签名运算用X对Y进行SM1算法的加密运算对Y进行SM3算法散列运算数据拼接异或运算密钥协商的通信流程如图2所示。通信过程中使用商密算法的具体操作总共七个步骤。步骤一,装置1产生随机数r1,随机数r1为16字节的数据,之后使用key作密钥,通过SM1算法加密随机数r1,生成A=Ekey(r1),将A发送到装置2。步骤二,装置1对随机数r1的进行SM3算法的杂凑值计算,并将结果进行SM2算法的签名运算,生成B=SSkey1(H(r1)),将B发送到装置2。步骤三,装置2对A使用key进行SM1算法的解密操作得到明文的随机数r1并用B通过SM2算法的验签操作验证装置1产生的随机数r1和装置1的身份。之后装置2产生随机数r2,随机数r2为16字节的数据,之后使用key作密钥,通过SM1算法加密随机数r2,生成C=Ekey(r2),将C发送到装置1。装置1装置2①Request:Ekey(r1)②Request:SSKey1(H(r1))③Response:Ekey(r2)④Response:SSKey2(H(r2))⑤Request:H(DK)⑥Response:H(DK)图2密钥协商通信流程步骤四,装置2对随机数r2的进行SM3算法的杂凑值计算,并将结果进行SM2算法的签名运算,生成D=SSkey2(H(r2)),将D发送到装置1。步骤五,装置1对C使用key进行SM1算法的解密操作得到明文的随机数r2并用D通过SM2算法的验签操作验证装置2产生的随机数r2和装置2的身份。之后装置1将随机数r1和随机数r2进行异或操作,生成会话密钥DK=r1r2。装置1对回话密钥DK进行SM3算法的杂凑值计算,生成E=H(DK),将E发送到装置2。步骤六,装置2将随机数r1和随机数r2进行异或操作,生成会话密钥DK=r1r2。装置2对回话密钥DK进行SM3算法的杂凑值计算,生成F=H(DK),判断接收到E是否与F一致,进行数据完整性校验。如果一致将F发送到装置1,否则密钥协商失败。步骤七,装置1判断接收到F是否与E一致,进行数据完整性校验。如果F与E一致,则密钥协商
本文标题:基于商密算法的北斗短报文安全通信协议研究-吴克河
链接地址:https://www.777doc.com/doc-3936579 .html