基于商密算法的视频终端安全接入系统的研究与实现
2020-04-02唐子焯吴克河张宪康崔阿军
唐子焯,吴克河,李 为,张宪康,崔阿军
(1.华北电力大学控制与计算机工程学院,北京 102206; 2.国家电网甘肃省电力公司,甘肃 兰州 730030)
0 引 言
21世纪,科学技术发展迅速,中国的监控系统建设在实际应用和技术水平上都取得了长足的进步,视频监控系统已经广泛地应用于社会的各个领域。电网视频监控系统广泛运用于电网生产、调度、综合管理等各个环节中,实现对电力系统中设备及周边环境等重要要素的实时监测。电网视频监控系统建设已经逐渐成为推动智能电网发展极其重要的一部分。目前,以IP作为承载网的综合视频监控平台已经占据了视频监控系统的主流地位[1]。但是由于网络协议的开放性和其本身在安全上的脆弱性,致使了与数据安全、身份验证、防御攻击以及访问控制等有关的一系列的安全性问题,严重威胁着电力系统的安全、稳定和可持续发展[2]。
图1 视频监控系统示意图
目前电网视频监控系统结构如图1所示,存在的安全风险主要体现在以下3个方面[3]:
1)视频终端本身的安全问题。支持IP网络接入的IP视频终端已成为主流。每一个摄像机就是一个网络接入点,分布在各处,难于管理。这就产生了许多安全隐患:缺乏保护视频终端数据文件的有效手段,视频中的敏感数据容易泄露;无法对视频终端进行身份认证;容易被恶意挟持进而渗透内网等。
2)数据传输过程中的安全问题。数据传输所用的链路面临着被干扰、破坏、篡改数据和拦截数据等威胁。
3)视频终端的访问控制问题。视频终端成功接入电力内网后,它就可以被视作电力内网可信终端访问电力内网的资源,如不进行访问控制,其潜在的安全威胁是不可预估的。
目前,在视频监控系统和电力信息安全领域已经有了大量的研究。文献[4]针对传统电力监控系统结构和管理繁杂的问题,提出了基于云计算平台的电力视频监控网络系统,但未考虑到电力信息安全的问题。文献[5]基于媒体分离和软交换技术控制的核心思想,提出了一种电力内外网视频安全隔离技术的策略,但是未涉及电力视频数据本身加密与访问控制。文献[6]针对视频监控系统的安全问题,提出了基于SIP的无线视频监控系统安全传输的解决方案,方案采用RSA加密算法对视频流进行加密,使得该视频系统具有比较高的安全性,然而由于如今计算机技术的不断发展,RSA的安全性已经受到了严重的威胁,而且由于电力视频数据属于国家重要基础设施的相关信息,所以电力视频信息安全防护手段应采用更加安全的国产密码算法及国产设备。文献[7]提出了一种基于网络客户端的SSL VPN实施模式和安全加密机制,以确保视频资源访问的安全,但是VPN认证时需要交互大量数据包且需要安装VPN客户端,不能满足嵌入式的电力视频终端需求。
本文针对电力视频监控系统所存在的安全问题,设计了一种运用于电力视频监控的视频终端安全接入系统,结合电力系统安全防护中的要求,有效提升了视频终端接入电力视频监控系统的安全性。
1 相关技术理论
1.1 商密算法
商密算法即商用密码算法,用于加密或保护不涉及国家机密的信息或者用于安全认证[8]。商密算法用途广泛,可用于企业内的各类敏感信息的传输加密和存储加密[9],也可用于各种数字签名、安全认证等[10]。其中SM1、SM2和SM3算法的密码类型、密码特征和密码用途如表1所示[11]。
表1 商密算法
密码算法密码类型密码特性密码用途SM1对称算法分组算法;分组长度与密钥长度均为128 bit;算法未公开数据加密与解密,以确保数据的机密性SM2非对称算法椭圆曲线公钥密码算法;密钥长度为256 bit;算法公开数字证书、身份认证、交换对称密钥算法、数据加密SM3杂凑算法杂凑值的长度为256 bit;算法公开数字签名、随机数的生成、消息认证码的生成与验证
1.2 B接口
B接口为电力视频监控系统中3种基本接口之一,提供视频监控平台与前端系统之间的接口[12],如图2所示。
图2 B接口示意图
B接口可分为媒体流接口、信令接口以及数据接口。数据接口进行数据的查询和获取,采用SIP(会话初始协议)标准协议[13];信令接口进行会话的建立和控制,采用SIP、RTSP(实时流传输协议)标准协议;媒体流接口进行媒体流的传输,采用RTP(实时传输协议)/RTCP(实时传输控制协议)标准协议[14],B接口协议结构如图3所示。
图3 B接口协议结构图
B接口的主要功能[15]包括:注册认证、资源信息获取、资源状态上报、历史告警查询、实时视频调阅、录像检索、录像回放、云镜控制、语音对讲和广播、事件订阅及通知。
2 系统总体设计
针对以上提出的安全威胁,本文设计了含安全接入终端层、安全传输通道层以及安全接入服务层的3层结构的安全接入系统,实施双向身份认证、接入控制、数据硬件加密传输、日志回放等安全防范措施,确保视频终端接入系统中终端接入的安全性。视频终端接入系统示意图如图4所示。
图4 视频终端安全接入系统总体架构
2.1 安全接入终端层
安全接入终端是指经过特殊安全加固(如增加硬件加密模块等安全防护措施)的视频终端,通过制定终端安全检查、数字证书、安全通信模块、主机行为检测以及硬件加密芯片等安全机制,实现通信链路保护、身份认证、数据加密,从接入终端层入手,做好终端接入第一步。
2.2 安全传输通道层
通过制定安全传输通道策略,避免数据在传输的过程中被篡改、窃取和破坏。传输通道的安全从2个方面保证:1)承载网络可从互联网改为专线方式,如采用无线方式的APN;2)通过双向身份认证和数据加密技术,建立从视频终端到安全接入服务层的安全传输通道,确保了视频业务的安全性[16]。
2.3 安全接入服务层
安全接入服务层的核心组件为安全接入平台,主要负责建立安全通道和对终端的接入控制。通过双向身份认证和动态会话密钥协商建立平台与终端之间的安全通道,可确保接入终端的可信性以及数据在传输过程中的安全性。根据配置的规则,平台能对不同的终端进行接入控制,赋予其相应的访问权限,确保终端只能访问与其权限对应的内网资源。
3 系统安全策略
3.1 双向身份认证及密钥协商
通过在视频终端中添加安全模块(模块中有可信机构颁发的证书),实现身份认证与密钥协商功能。当视频终端和安全接入平台建立连接之后,视频终端根据制定安全协议上报自身的一些信息,安全接入平台解析终端信息并对终端进行认证,同时生成会话密钥,如未通过认证,将拒绝终端接入且不允许终端与平台间传输任何数据,并生成告警信息传送至平台。在双向身份认证及密钥协商中使用SM2、SM3算法。
在对身份认证和密钥协商过程进行描述之前,先将用到的一些符号进行说明,如表2所示。
表2 符号说明
符号说明rN装置N产生的随机数DK会话密钥CertN装置N的自身证书(X509格式)PkeyN装置N的公钥(SM2公钥)SkeyN装置N的私钥(SM2私钥)EX(Y)用X对Y作加密运算H(Y)对Y作散列运算(SM3算法)‖连接^异或
身份认证过程由视频终端发起,其过程的描述如图5所示(装置1表示视频终端,装置2表示安全接入平台)。
图5 认证过程
协商过程[17]的简述如下:
Step1装置1产生随机数r1,作:
A=EPkey2(r1)‖ESkey1(H(r1)),将消息A发送到安全接入平台。
Step2装置2解密消息A,然后对装置1的签名进行验证,产生随机数r2,作:
B=EPkey1(r2)‖EPkey2(H(r2)),将消息B发送到装置1。
合成会话密钥:DK=r1^r2。
Step3装置1解密消息B并对装置2的签名进行验证,作:
合成会话密钥:DK=r1^r2,
C=H(r1^r2)(SM3散列运算),将C发送到装置2;
装置2做D=H(r1^r2)(SM3散列运算),并比较C与D是否相同。
若结果相同,则此时装置1与装置2已经互相验证了对方身份,并持有相同会话密钥:DK=r1^r2,成功建立安全通道;若结果不同,则由装置2向装置1发送认证协商失败信息。SN由发起协商方随机设置,SN的添加可以抗重放攻击。
3.2 数据加密通信
通过给视频终端添加安全通信模块,实现视频终端和内网之间的数据加密。安全通信模块负责加解密视频终端与安全接入平台间的传输数据,它通过与安全接入平台的密钥协商过程获得动态会话密钥,对数据进行SM1算法[18]加密,并通过SM3消息认证码对数据进行完整性检查,加密过程如图6所示。
图6 加密过程
加密过程的详细描述如下:
1)用1~16个字节填充原始数据消息,使其成为16的倍数(原始长度为16的倍数时填充16个字节)。并在数据包前添加加密报文的头部信息及初始向量IV,其中附加头部中包含对原始数据进行SM3运算得到的消息认证码,用于验证消息完整性。
2)使用之前协商好的会话密钥DK对填充后的报文进行加密。
3.3 接入控制
安全接入平台实施的接入控制策略主要包括以下几个方面:
1)严格控制终端的接入时间。根据配置规则,安全接入平台对终端的接入时间进行严格规定,通过对终端接入时间的严格控制,可以在一定程度上避免恶意攻击或者合法终端误操作对系统造成的破坏。
2)严格检查每个终端的接入。安全接入平台根据配置的安全检查策略,在视频终端接入内网前对其进行安全性检查,比如检查终端的硬件信息、系统的启动项、特殊位置的文件等信息[19],依据安全检查策略判断是否允许该终端连接安全接入平台,不符合要求的终端将被禁止接入内网。
3)严格控制终端访问的资源。安全接入平台基于强制运行控制技术[20],仅允许终端访问规定的服务和特定的资源。对每一个通过身份认证的终端都进行严格的访问控制[21],能够有效保证企业内网的安全。
4 应用测试
4.1 测试环境搭建
为验证视频终端接入系统设计的安全性和可靠性,本文搭建了视频终端接入系统测试环境,对文中提出的安全机制进行验证,其中包括:视频采集终端、安全接入模块、安全接入平台以及模拟视频监控主站[22]。安全接入平台所采用的加密卡型号为SJK1238,其加解密速率为800 Mbps;安全模块采用加解密速率为8 Mbps的加密芯片;视频采集终端为4 Mbps码率的摄像头。如图7所示。
图7 测试环境示意图
4.2 功能测试
测试结果如图8和图9所示。
图8 安全模块通信结果
图9 安全接入平台通信结果
安全接入平台和安全模块先通过验证对方的签名完成了双向身份认证,并分别得到了对方生成的随机数。接着,通过将这2个随机数进行异或运算得到相同的会话密钥DK,从而完成了会话密钥协商。通过得到的会话密钥可以进行数据的安全传输。
之后在模拟视频监控主站上,可以看到经过安全传输的视频数据,如图10所示。
图10 模拟视频监控主站画面
综上所述,安全接入系统实现了对数据的加密传输、通信双方的身份认证,能够确保业务数据安全到达内网主站。
4.3 性能测试
安全接入平台日常平均CPU占用率约为24%,高并发时约为49%,平均内存占用率约为21%,高并发时约为43%。
在PC上通过模拟视频终端软件,增加同时接入平台的终端数量,测试在加入安全接入系统前后视频传输的延时,结果如图11所示。
图11 视频延时测试
单个终端接入的处理延时差约为18 ms,随着模拟终端接入的数量不断增多,延时差不断增长,200个终端接入时延时约增加390 ms,符合电力视频监控系统的性能要求。
5 结束语
随着电力公司的视频业务不断扩展,越来越多不同类型的视频终端需要接入电力内网,如何保证电力视频终端接入电力内网时的安全,成为电力公司推动智能电网发展过程中亟待解决的问题[23]。为此,本文基于电力视频监控B接口标准,设计了一套视频终端安全接入系统,基于商密算法,从终端、传输通道和服务层3个层面,确保了视频终端接入的安全性。最后通过测试,说明本系统能够满足电力视频终端接入业务的安全性与实时性需求。