一种基于Android设备的安全视频监控系统的制作方法

文档序号:11778862阅读:774来源:国知局
一种基于Android设备的安全视频监控系统的制作方法与工艺

本发明涉及安全视频监控领域,特别是涉及基于android设备的安全视频监控系统,该系统适用于移动执法记录、隐蔽跟踪拍摄等场景。



背景技术:

随着安防监控系统的不断发展,视频监控系统的高清化、智能化、网络化已经成为必然的发展趋势。目前已经出现了大量基于因特网的网络视频监控系统,其通过rtp/udp等协议来传输音视频码流以及各种控制信号。这些安防系统中,大多数监控设备等设备不具备安全的保密措施,既没有合法的身份认证体系确定其合法身份,也没有对采集的音视频流以及与软件平台交互的通信协议进行加密保护。这些不安全因素给侵入者提供了大量可以利用的攻击点,不法分子能够轻易的通过身份伪造、数据截取等多种手段对现有监控系统进行攻击,从而窃取监控数据,甚至导致监控系统无法正常工作。这对国家政府部门、保密单位、企业核心部门等构成了巨大的威胁。

目前android设备的市场占有率越来越大,基于android设备的视频采集设备,如单兵设备、行车记录仪、移动执法仪等也越来越普及。这些监控设备向后端传输数据时同样面临安防视频监控系统存在的安全威胁。



技术实现要素:

本发明的目的在于一种基于android设备的安全视频监控系统,用于解决上述安全威胁。

本发明一种基于android设备的安全视频监控系统,其中,所述系统包括前端监控设备、视频转发服务器和视频监控客户端;前端监控设备包括android设备、android设备的tf加密卡以及摄像头,用于进行前端视频数据的采集;视频转发服务器,用于进行视频数据本地存储和中继转发;视频监控客户端,包括密码服务器和视频解码客户端,用于通信密钥的协商、视频数据解密、解码与播放显示;密码服务器用于对各android设备、视频转发服务器以及视频监控客户端的证书进行验证,没有证书或者证书无效将拒绝此设备的密钥协商请求;视频解码客户端,用于对视频数据解密、解码与播放显示。

根据本发明的基于android设备的安全视频监控系统的一实施例,其中,密码服务器当验证证书有效时,密码服务器产生一对sm2公私钥对,利用证书公钥加密后传给发起申请的android设备、转发服务器和视频监控客户端三类设备;密码服务器维护一个用于存储验证信息的数据库,发起申请的设备接收到协商的sm2公私钥对后将私钥导入自身搭载的加密模块。

根据本发明的基于android设备的安全视频监控系统的一实施例,其中,android设备rtp数据包加密发送过程为:android设备向密码服务器申请转发服务器的sm2公钥,密码服务器查询到指定转发服务器的sm2公钥后发送给android设备,android设备收到转发服务器的sm2公钥数据后,android设备的tf加密卡定时自动产生一个sm4密钥对rtp数据包进行加密,接着用转发服务器的sm2公钥对sm4密钥进行加密,组成新的rtp数据包,发送至转发服务器供视频监控客户端申请。

根据本发明的基于android设备的安全视频监控系统的一实施例,其中,转发服务器缓存接收rtp数据包后,从rtp数据包队列中取一包数据后先拆包提取加密后的密钥,判断密钥数据是否发生变化,如果发生变化则利用自己的sm2私钥解密sm4密钥,转发服务器一方面开启h264数据提取线程,用sm4密钥解密rtp包数据,然后提取h264数据进行存储;另一方面则等待用户申请码流,有用户申请码流则转发服务器向密码服务器申请用户sm2公钥,用该用户sm2公钥重新加密sm4密钥并置于加密后的rtp包之前组成新的rtp数据包,最后发送给该用户的视频监控客户端。

根据本发明的基于android设备的安全视频监控系统的一实施例,其中,视频监控客户端缓存接收rtp数据包后,从rtp数据包队列中取一包数据后先拆包提取加密后的密钥,判断密钥数据是否发生变化,如果发生变化则利用自己的sm2私钥解密sm4密钥,否则利用原sm4密钥解密rtp包数据,对解密后的rtp数据包拆包提取h264数据进行解码并显示。

根据本发明的基于android设备的安全视频监控系统的一实施例,其中,摄像头包括:无线wifi摄像头以及外接usb摄像头。

根据本发明的基于android设备的安全视频监控系统的一实施例,其中,android设备根据当前网络信号强度自动调节前端采集设备的码率和发送节奏。

根据本发明的基于android设备的安全视频监控系统的一实施例,其中,视频解码客户端接收rtp数据包采用缓存机制,针对3g/4g网络中rtp包乱序与丢包问题,视频解码客户端对收到的rtp包进行排序,每个rtp包根据序列号从小到大插入到缓存队列中。

根据本发明的基于android设备的安全视频监控系统的一实施例,其中,android设备端软件和视频转发服务器启动后与密码服务器建立安全连接,连接建立后进行双向证书认证,认证后进行sm2算法的动态密钥协商与传输;tf加密卡自动生成对称加密算法密钥,并利用该对称加密算法密钥对打包的rtp包进行加密,其中对称加密算法密钥可以定时更新;视频转发服务器的sm2公钥对加密卡生成的对称加密算法密钥进行加密,加密后的数据置于加密后的rtp包数据前;发送rtp包数据至视频转发服务器,视频转发服务器接收到rtp包数据后对对称加密算法密钥部分进行解密;当有解码客户端申请码流时,首先与密码服务器建立安全连接,连接建立后进行证书认证,认证后进行sm2算法的动态密钥协商与传输;转发服务器利用解码客户端的sm2公钥对对称加密算法密钥重新加密后置于rtp包数据前,并将码流转发给指定的解码客户端;解码客户端接收到rtp包后先解密对称加密算法密钥,利用该密钥解密rtp包,然后进行rtp包解包、组帧以及解码显示码流。

本发明的基于android设备的安全视频监控系统,可以利用现有的android设备安全隐蔽地执行一些特殊任务的视频监控任务,例如移动执法记录、隐蔽跟踪拍摄等。本发明针对目前基于android设备的视频监控系统存在的视频欺骗、视频非法截获与监听、弱口令漏洞、网络非法接入等安全威胁,充分利用数据加密、身份认证、密钥管理等信息安全相关技术构建可应用于具有较高安全级别要求场景的安全视频监控系统。

附图说明

图1所示为本发明一种基于android设备的安全视频监控系统框架图;

图2所示为android设备软件rtp数据包加密发送流程图;

图3所示为新rtp数据包的格式图;

图4所示为转发服务器rtp数据包转发流程图;

图5所示为视频监控客户端rtp数据包解密、解码和显示流程图。

具体实施方式

为使本发明的目的、内容、和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。

图1所示为本发明一种基于android设备的安全视频监控系统的框架图,包括:无线wifi摄像头1、android设备和tf加密卡2、外接usb摄像头3、视频转发服务器4、密码服务器5、视频监控客户端6等设备。

如图1所示,无线wifi摄像头1通过android设备2建立的wifi热点接入,android设备2内的软件可以实时显示接入的无线wifi摄像头1的在线状态,也可以通过rtsp/rtp协议获取码流后将rtp数据包发送至视频转发服务器;

如图1所示,android设备2通过otg或usb外接uvc摄像头,android设备2内的软件利用android的接口实现android设备与前后置摄像头和外接uvc摄像头的视频流采集、摄像头图像参数(如帧率、码率、视频压缩格式等)设置、视频显示模式(缩放或裁减)设置等功能后,可以控制摄像头采集视频流进行相应格式转换,将视频流压缩成h264格式,根据rtp协议的格式添加rtp包头,打成rtp包后发送至视频转发服务器。

如图1所示,android设备通过3g/4g网络与转发服务器、密码服务器和视频监控客户端接入同一个internet中,各设备在互相通信前需通过密码服务器进行身份认证与密钥协商。密码服务器首先对各android设备、转发服务器、视频监控客户端的证书进行验证,没有证书或者证书无效将拒绝此设备的密钥协商请求。证书有效时则密码服务器将产生一对sm2公私钥对,利用证书公钥加密后传给发起申请的android设备、转发服务器和视频监控客户端三类设备。密码服务器维护一个(id、ip、sm2公私钥对)数据库。发起申请的三类设备接收到协商的sm2公私钥对后将私钥导入自身搭载的加密模块。

图2所示为android设备软件rtp数据包加密发送流程图,图3所示为新rtp数据包的格式图,如图1至图3所示,以sm4密钥为例展示android设备软件rtp数据包加密发送过程为:android设备软件启动后向密码服务器申请转发服务器的sm2公钥,密码服务器查询到指定转发服务器的sm2公钥后发送给android设备。android设备收到转发服务器的sm2公钥数据后,android设备的tf加密卡定时自动产生一个sm4密钥对rtp数据包进行加密,接着用转发服务器的sm2公钥对sm4密钥进行加密,然后按照图3所示格式组成新的rtp数据包,其中第一个字节表示所采用的算法,结构体如下:

第二个字节表示加密后的密钥数据长度,从第三个字节开始为加密后的密钥数据,新的rtp数据包长度不大于mtu(1500)字节。最后将数据发送至转发服务器供客户端申请。

图4所示为转发服务器rtp数据包转发流程图,如图4所示,转发服务器缓存接收rtp数据包后,从rtp数据包队列中取一包数据后先拆包提取加密后的密钥,判断密钥数据是否发生变化,如果发生变化则利用自己的sm2私钥解密sm4密钥。此时服务器一方面开启h264数据提取线程,用sm4密钥解密rtp包数据,然后提取h264数据进行存储;另一方面则等待用户申请码流,有用户申请码流则转发服务器向密码服务器申请该用户sm2公钥,用该用户sm2公钥重新加密sm4密钥并置于加密后的rtp包之前组成新的rtp数据包,最后发送给该用户。

图5所示为视频监控客户端rtp数据包解密、解码和显示流程图,如图5所示,视频监控客户端缓存接收rtp数据包后,从rtp数据包队列中取一包数据后先拆包提取加密后的密钥,判断密钥数据是否发生变化,如果发生变化则利用自己的sm2私钥解密sm4密钥,否则利用原sm4密钥解密rtp包数据,对解密后的rtp数据包拆包提取h264数据进行解码并显示。

本发明的一种基于android设备的安全视频监控系统,该系统包括前端监控设备、视频转发服务器和视频监控客户端三部分:

前端监控设备:包括android设备、tf加密卡、android设备端软件、无线wifi摄像头、外接usb摄像头等,主要实现了前端视频数据的采集功能。android设备有两种视频采集方式:

(1)无线方式:android设备自身开启热点,无线wifi摄像头连接热点后,android设备利用rtsp/rtp方式获取码流后直接将rtp数据包发送至视频转发服务器;

(2)有线方式:android设备利用自身前后置摄像头或通过otg或usb与免驱动uvc摄像头相连,运用android系统接口控制摄像头采集视频流,并进行相应格式转换,满足不同需求的预览和录像;同时可以将视频流压缩成h264格式,根据rtp协议的格式添加rtp包头,打成rtp包后发送至视频转发服务器。

视频转发服务器主要实现了视频数据的本地存储和中继转发。

视频监控客户端包括密码服务器和视频解码客户端等设备,主要实现了通信密钥的协商、视频数据解密、解码与播放显示;

鉴于利用3g/4g网络进行视频传输时,网络的不稳定性可能导致后端解码出现卡顿和马赛克现象。为降低上述两种现象的发生概率,所述系统采用两种优化机制:(1)android设备软件会根据当前网络信号强度自动调节前端采集设备的码率和发送节奏,保证视频的流畅性。(2)视频解码客户端接收rtp数据包采用缓存机制,针对3g/4g网络中rtp包乱序与丢包问题,客户端对收到的rtp包进行排序,每个rtp包根据序列号从小到大插入到缓存队列中。

本发明基于android设备的安全视频监控系统,针对目前视频监控系统的安全性问题,特别是移动android终端设备的安全问题,本发明对其加装了tf加密卡,实现了用户身份认证、动态密钥的协商、传输数据和本地存储数据的加解密等功能。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1