1.本发明属于视频监控数据安全领域,为强视频监控系统的安全性和可靠性,设计并实现了视频监控终端国产密码应用系统。
背景技术:
2.随着信息技术和安保的发展,视频监控技术的应用领域越来越广泛,不仅在政府、交通等领域熠熠生光,而且已经在家庭老幼人员看护都有广泛的应用。然而,越来越多的黑客利用系统漏洞入侵视频监控系统,窃取政府、交通和家庭的视频数据,视频数据安全问题也日益凸显,进而威胁国家安全、社会稳定及个人的生命财产安全。因此,加强视频监控系统的安全性已经刻不容缓。
技术实现要素:
3.本文通过总结现有的视频监控终端技术特点及其安全需求,搭建国产密码算法加密通信信道,最终实现一套视频监控终端国产密码应用系统,从而极大地增强了视频监控系统的安全性和可靠度。
4.本发明的一种视频监控终端国产密码应用系统,包括:
5.路由器:用于搭建局域网环境,连接摄像头;
6.网络摄像头:用于拍摄视频数据,通过配置ip地址使其加入到由路由器构建的局域网中,与web服务器连接;
7.web服务器:web服务器为nginx、apache、iis三种web服务器之一,使用web服务器的代理转发功能,代理访问摄像头,将摄像头拍摄的视频数据加密传输,转发到客户端;
8.客户端:使用浏览器访问web服务器,与web服务器建立安全的通信信道,用来传输视频数据;
9.加密通信信道:基于opensssl库,实现支持sm2、sm3、sm4的国产密码算法及支持sm2国密数字证书、基于sm2证书的加密传输协议的静态连接库,然后将其配置到web服务器上,由web服务器代理访问,完成支持国密的加密通信信道的搭建。
10.本发明还提供一种视频监控终端国产密码应用方法,包括:
11.s1:使用sm2椭圆曲线公钥密码算法、sm3杂凑密码算法、sm4 对称密码算法这三种密码算法实现密码套件及加密传输协议,然后将其配置到web服务器上,搭建支持国产密码算法的加密通信信道;
12.s2:在接收到摄像头传输过来的实时数据后,通过所述的加密通信信道对所拍摄的视频数据进行加密传输,并上传到服务器上;
13.s3:使用浏览器,与web服务器建立安全的通信信道,访问web 服务器及视频数据。
14.例如,本发明的实施例提供一种视频监控终端国产密码应用方法,其中,步骤s1的具体步骤包括:
15.s11:将摄像头插到路由器上,进行ip配置,使其与服务器处于同一局域网中;
16.s12:在服务器上安装docker容器web_server,完成编译环境的配置;
17.s13:将openssl库进行扩展,编译生成静态链接库文件协议库 (libssl.a)、密码算法库(libcrypto.a),并将这两个静态库文件和包含一些必要头文件的include文件夹一起放到gmssl文件夹,完成整个系统的加密部分;
18.s14:将上述两个静态库文件及头文件配置到web服务器上,搭建一个支持国产密码算法的web服务器;
19.s15:通过握手层协议完成信息通信中客户端与服务端的身份验证、通信中要使用的相关参数的选择,完成加密通信信道的建立;其中,所述握手协议过程包括:交换hello消息来协商以决定密码套件;交换必要的参数以协商主密钥;交换证书以验证对方身份;向记录层提供后续通信过程中的安全参数;
20.s16:记录层协议将上层传递下来的要发送的数据进行封装,然后将封装好的数据包传输给tcp层协议,并最终在底层传输层完成视频数据端到端的安全传输;
21.例如,本发明的实施例提供一种视频监控终端国产密码应用方法,其中,步骤s3的具体步骤包括:
22.s31:客户端向服务端发送client hello消息,其中携带客户端的信息,包括客户端所支持的密码套件列表等;
23.s32:服务端向客户端发送确认信息,确认收到客户端发送的信息,然后再向客户端发送client hello消息,其中携带服务端的信息,包括服务器根据客户端所提供的密码套件列表选择的用于后续通信的密码套件;
24.s33:客户端向服务端发送确认信息,确认收到服务端发送的信息。
25.s34:服务端向客户端发送确认信息,确认收到客户端发送的信息,然后再向客户端发送证书、密钥、握手结束信息;
26.s35:客户端向服务端发送确认信息,确认收到服务端发送的信息,然后再向服务端发送自己的主密钥等信息;
27.s36:服务端向客户端发送确认信息,确认收到客户端发送的信息,然后再向客户端发送加密数据,进行数据传输。
28.与现有技术相比,本发明构造的视频监控终端国产密码应用方法及系统具有以下优点:采用国产密码,有效避了免由于国际密码技术植入的“后门系统”所带来的安全风险,极大地提高了我国视频监控技术的安全性。
29.该视频终端国产密码应用方法主要解决了一个问题:通过将国产加密算法应用到视频监控系统上,填补了国内密码算法在视频监控领域的空白。
附图说明
30.为了更清楚地说明本发明实施例的技术方案,下面将对实施例的附图作简单地介绍,显而易见地,下面描述中的附图仅仅涉及本发明的一些实施例,而非对本发明的限制。
31.图1为本发明实施例提供的视频监控终端国产密码算法应用系统流程示意图;
32.图2位为本发明实施例提供的视频监控终端国产密码算法应用系统nginx服务器安装图;
33.图3为本发明实施例提供的视频监控终端国产密码算法应用系统加密传输协议的
层次结构图;
34.图4为本发明实施例提供的视频监控终端国产密码算法应用系统结构图;
35.图5为本发明实施例提供的视频监控终端国产密码算法应用系统加密通信信道测试图,图中,transportlayersecurity中contenttype为applicationdata(23),version为tls.1.2(0x0303),length为601;
36.图6为本发明实施例提供的视频监控终端国产密码算法应用系统通信过程数据包分析图。
具体实施方式
37.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例的附图,对本发明实施例的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例,基于所描述的本发明的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
38.在传统的视频监控终端中,引入了国外人设计的安全通信协议和密码算法来保证视频数据传输的安全性。但在这种方案中,我们会面临由于国际密码技术植入的“后门系统”所带来的安全风险,无法保证一些重要系统和仪器的可靠度。
39.密码技术是解决信息安全问题的关键,是实现视频监控数据安全传输的重要工具。本发明实例提供的视频监控终端国产密码算法应用系统,通过使用国产密码搭建加密通信信道,极大提高了我国视频监控技术的安全性。
40.如附图1所示,本发明实例例提供的视频监控终端国产密码算法应用方法包括以下步骤:
41.s1:配置web服务器,搭建支持国产密码算法的加密通信信道。
42.其中,配置web服务器的方法为:
43.首先,将摄像头插到路由器上,进行ip配置,使其与服务器处于同一局域网中,并根据服务器的防火墙情况及规则,配置防火墙,使之可以监听来自客户端的访问请求;
44.在服务器中安装docker工具,然后在终端执行dockerrun-di
‑‑
nameweb_server
‑‑
nethostcdaa14a12dfc命令生成本系统所需的docker容器web_server,并用yum-yinstallgccgcc-c++kernel-devel命令安装gcc工具、c++编译器以及内核文件,再使用yum-yinstallgccautomakeautoconflibtoolmake命令安装make工具,以此完成编译环境的配置;
45.将openssl库进行扩展,使用./config-fpicno-shared配置静态编译,使用make命令进行编译运行,运行无误后便会生成本系统需要的静态库文件协议库(libssl.a)、密码算法库(libcrypto.a),将这两个静态库文件和包含一些必要头文件的include文件夹一起放到gmssl文件夹,完成整个系统的加密部分;
46.将上述提及的支持国产密码算法的加密工具文件夹gmssl复制到/usr/local目录下,将web服务器复制到系统的/root目录下,并使用yuminstallpcre-devel命令安装pcre-devel;
47.如附图2所示,对服务器进行安装配置,首先禁用http模块,导入ssl模块,然后调用定义在协议库协议库(libssl.a)的加密传输协议,在urls中部分使用https;
48.指定nginx ssl模块依赖的openssl库文件路径,即为前文提到的支持国产密码算法的加密工具文件夹gmssl的路径;
49.指定必要的include文件路径,即为前文提到的支持国产密码算法的加密工具文件夹gmssl中头文件的路径;
50.最后使用make install命令编译安装,在/usr/loacl目录下生成了 nginx文件夹,其包含四个子文件夹:conf文件夹为配置文件夹,用来存储一些配置文件;html文件夹为页面文件夹,用来存储一些测试用例中的默认页面,如nginx的欢迎页面等;logs文件夹为日志文件夹,用来存放一些运行过程中产生的错误日志或其他日志等; sbin文件夹为运行文件夹,其目录下只有一个可执行文件nginx,用来启动nginx服务器,由此完成支持国产密码算法的web服务器的安装;
51.通过握手层协议完成信息通信中客户端与服务端的身份验证、通信中要使用的相关参数的选择,完成加密通信信道的建立;其中,所述握手协议过程包括:交换hello消息来协商以决定密码套件;交换必要的参数以协商主密钥;交换证书以验证对方身份;向记录层提供后续通信过程中的安全参数;
52.记录层协议将上层传递下来的要发送的数据进行封装,然后将封装好的数据包传输给tcp层协议,并最终在底层传输层完成视频数据端到端的安全传输。
53.s2:在接收到摄像头传输过来的实时数据后,通过所述的加密通信信道对所拍摄的视频数据进行加密传输,并上传到服务器上,使用服务器的代理访问功能,为后续客户端的访问做准备。
54.其中,服务器的代理访问功能具体实现方法为,在服务器中用 nginx-s reload命令重启本系统所搭建的web服务器,在配置文件中打开相关的日志调试文件,然后把日志级别开启调试模式,将会产生日志文件到usr/local/nginx/logs目录下;
55.在客户端中用360安全浏览器通过443端口访问的web服务器, web服务器会将摄像头的实况数据加密转发给客户端;
56.s3:使用浏览器,与web服务器建立安全的通信信道,访问web 服务器及视频数据。
57.客户端向服务端发送client hello消息,其中携带客户端的信息,包括客户端所支持的密码套件列表等;
58.服务端向客户端发送确认信息,确认收到客户端发送的信息,然后再向客户端发送client hello消息,其中携带服务端的信息,包括服务器根据客户端所提供的密码套件列表选择的用于后续通信的密码套件;
59.客户端向服务端发送确认信息,确认收到服务端发送的信息。
60.服务端向客户端发送确认信息,确认收到客户端发送的信息,然后再向客户端发送证书、密钥、握手结束信息;
61.客户端向服务端发送确认信息,确认收到服务端发送的信息,然后再向服务端发送自己的主密钥等信息;
62.服务端向客户端发送确认信息,确认收到客户端发送的信息,然后再向客户端发送加密数据,进行数据传输。
63.如附图3所示,静态库文件协议库(libssl.a)、密码算法库 (libcrypto.a)支持本系统所需要的密传输协议、密码套件,其中加密传输协议包括握手协议、密码规格变更协
议、报警协议、网关到网关协议和下层的记录层协议。握手层协议负责完成信息通信中客户端与服务端的身份验证、通信中要使用的相关参数的选择等;密码规格变更协议在通信过程中的相关参数需要发送变更时发挥作用,负责完成通知通信中另一方新的安全参数;报警协议服务完成结束通信和对通信过程中产生的问题发出警告信号;网关到网关协议负责搭建客户端的网关与服务端的网关之间的传输信道;记录层协议负责完成对要发送的信息的拆分、压缩及解压缩、加密及解密、信息的准确性验证等任务。
64.如附图4所示,本发明实施例提供的视频监控终端国产密码算法应用系统包括以下模块:
65.路由器:用于搭建局域网环境,连接摄像头;
66.网络摄像头:用于拍摄视频数据,通过配置ip地址使其加入到由路由器构建的局域网中,与web服务器连接;
67.web服务器:web服务器为nginx、apache、iis三种web服务器之一,使用web服务器的代理转发功能,代理访问摄像头,将摄像头拍摄的视频数据加密传输,转发到客户端;
68.客户端:使用浏览器访问web服务器,与web服务器建立安全的通信信道,用来传输视频数据;
69.加密通信信道:基于opensssl库,实现支持sm2、sm3、sm4的国产密码算法及支持sm2国密数字证书、基于sm2证书的加密传输协议的静态连接库,然后将其配置到web服务器上,由web服务器代理访问,完成支持国密的加密通信信道的搭建。
70.如附图5所示,使用淘宝网站对本实例提供的加密通信信道进行测试,由web服务器代理客户端访问淘宝网站,通过在主机1的 /usr/local目录下的nginx文件夹中,更改conf目录下的nginx.conf 文件,使用proxy_pass http://www.taobao.com命令,将通过支持国产密码算法的加密通信信道访问淘宝网站。
71.如附图6所示,通过对wires hark所抓数据包的深入分析,以上步骤搭建的支持国密的加密通信信道基本符合本系统的要求,能够完成本系统中加密传输视频数据的任务,符合设计的安全要求。
技术特征:
1.一种视频监控终端国产密码应用系统,包括:路由器:用于搭建局域网环境,连接摄像头;网络摄像头:用于拍摄视频数据,连接路由器通过配置路由器ip地址,连接到web服务器;网络摄像头:用于拍摄视频数据,通过配置ip地址使其加入到由路由器构建的局域网中,与web服务器连接;web服务器:web服务器为nginx、apache、iis三种web服务器之一,使用web服务器的代理转发功能,代理访问摄像头,将摄像头拍摄的视频数据加密传输,转发到客户端;客户端:使用浏览器访问web服务器,与web服务器建立安全的通信信道,用来传输视频数据;加密通信信道:基于opensssl库,实现支持sm2、sm3、sm4的国产密码算法及支持sm2国密数字证书、基于sm2证书的加密传输协议的静态连接库,然后将其配置到web服务器上,由web服务器代理访问,完成支持国密的加密通信信道的搭建。2.一种视频监控终端国产密码应用方法,包括:s1:使用sm2椭圆曲线公钥密码算法、sm3杂凑密码算法、sm4对称密码算法这三种密码算法实现密码套件及加密传输协议,然后将其配置到web服务器上,搭建支持国产密码算法的加密通信信道;s2:在接收到摄像头传输过来的实时数据后,通过所述的加密通信信道对所拍摄的视频数据进行加密传输,并上传到服务器上;s3:使用浏览器,与web服务器建立安全的通信信道,访问web服务器及视频数据。3.如权利要求2所述的一种视频监控终端国产密码应用方法,其中,步骤s1具体包括:s11:将摄像头插到路由器上,进行ip配置,使其与服务器处于同一局域网中;s12:在服务器上安装docker容器web_server,完成编译环境的配置;s13:将openssl库进行扩展,编译生成静态链接库文件协议库(libssl.a)、密码算法库(libcrypto.a),并将这两个静态库文件和包含一些必要头文件的include文件夹一起放到gmssl文件夹,完成整个系统的加密部分;s14:将上述两个静态库文件及头文件配置到web服务器上,搭建一个支持国产密码算法的web服务器;s15:通过握手层协议完成信息通信中客户端与服务端的身份验证、通信中要使用的相关参数的选择,完成加密通信信道的建立;其中,所述握手协议过程包括:交换hello消息来协商以决定密码套件;交换必要的参数以协商主密钥;交换证书以验证对方身份;向记录层提供后续通信过程中的安全参数;s16:记录层协议将上层传递下来的要发送的数据进行封装,然后将封装好的数据包传输给tcp层协议,并最终在底层传输层完成视频数据端到端的安全传输。4.如权利要求2所述的一种视频监控终端国产密码应用方法,其中,步骤s3具体包括:s31:客户端向服务端发送client hello消息,其中携带客户端的信息,包括客户端所支持的密码套件列表等;s32:服务端向客户端发送确认信息,确认收到客户端发送的信息,然后再向客户端发送client hello消息,其中携带服务端的信息,包括服务器根据客户端所提供的密码套件
列表选择的用于后续通信的密码套件;s33:客户端向服务端发送确认信息,确认收到服务端发送的信息。s34:服务端向客户端发送确认信息,确认收到客户端发送的信息,然后再向客户端发送证书、密钥、握手结束信息;s35:客户端向服务端发送确认信息,确认收到服务端发送的信息,然后再向服务端发送自己的主密钥等信息;s36:服务端向客户端发送确认信息,确认收到客户端发送的信息,然后再向客户端发送加密数据,进行数据传输。
技术总结
一种视频监控终端国产密码应用系统,该系统包括:路由器:用于搭建局域网环境,连接摄像头;网络摄像头:用于拍摄视频数据,通过配置IP地址使其加入到由路由器构建的局域网中,与web服务器连接;web服务器:使用web服务器的代理转发功能,代理访问摄像头,将摄像头拍摄的视频数据加密传输,转发到客户端;客户端:使用浏览器访问web服务器并与其建立安全的通信信道,以传输视频数据;加密通信信道:基于opensssl库,实现支持SM2、SM3、SM4的国产密码算法及支持SM2国密数字证书、基于SM2证书的加密传输协议的静态连接库,并将其配置到web服务器上,由web服务器代理访问。该系统极大地增强了视频监控系统的安全性和可靠度。强了视频监控系统的安全性和可靠度。强了视频监控系统的安全性和可靠度。
技术研发人员:何云华 赵福会 石红博 肖珂 杨光灿
受保护的技术使用者:北方工业大学
技术研发日:2021.11.05
技术公布日:2022/3/7