保证媒体流安全性的方法、设备和系统的制作方法

文档序号:7772143阅读:195来源:国知局
保证媒体流安全性的方法、设备和系统的制作方法
【专利摘要】本发明公开了保证媒体流安全性的方法、设备和系统。本发明中,对传输的媒体流使用内容密钥进行加密;对于对媒体流加密使用的内容密钥,将其进行加密然后在不同设备间进行传输,以便内容密钥在不同设备中同步共享;内容密钥进行加密使用的临时共享用密钥,也将其进行加密后再传输,该临时共享用密钥是内容密钥共享过程中临时生成的,临时共享用密钥辅助内容密钥实现在不同设备间同步共享。而临时共享用密钥是用共享双方其中一方传过来的公钥进行加密的,只有掌握私钥的一方能够解密。可见,整个密钥共享过程中涉及到的敏感参数均进行了加密传输,因此本发明大大提高了媒体流传输过程中的安全性。
【专利说明】保证媒体流安全性的方法、设备和系统

【技术领域】
[0001]本发明涉及网络通信【技术领域】,尤其涉及保证媒体流安全性的方法、设备和系统。

【背景技术】
[0002]视频监控系统是利用视频技术探测、监视设防区域,并实时显示、记录现场视频的电子系统或网络系统。随着IP网络的快速兴起,IP网络作为传输视频、语音成本最低的承载网,也广泛应用于视频监控领域。在媒体流通过IP网络传输给终端用户的过程中,可能存在媒体流被人截取解码,导致媒体内容泄露;并且,在媒体流存储过程中,如果磁盘被盗,也将导致录像内容泄露。另外,在视频监控系统中,往往需要在一些敏感区域安装监控摄像头,采集到的相应媒体流很可能会涉及个人隐私信息。因此,基于IP网络的视频监控系统中,保证媒体流的安全性则成为了一个重要的问题。
[0003]目前,在基于IP网络的视频监控系统中,保证媒体流安全性的方法是:在传输媒体流之前,在各个不同的设备中同步内容密钥,然后,使用内容密钥对媒体流进行加密,并最终发送给视频监控系统客户端。
[0004]但是在现有技术中,将内容密钥在不同设备中进行同步时,传输的是内容密钥的明文,因此,很容易使得内容密钥被盗,从而很容易解密媒体流。因此,大大降低了媒体流传输过程中的安全性。


【发明内容】

[0005]本发明实施例提供保证媒体流安全性的方法、设备和系统,能够提高媒体流传输过程中的安全性。
[0006]为了解决上述技术问题,本发明实施例公开了如下技术方案:
[0007]第一方面,提供一种在视频监控系统中保证媒体流传输安全性的方法,在服务器侧执行:
[0008]生成第一内容密钥、第一公钥及对应的私钥;
[0009]向视频监控系统客户端发送第一公钥;
[0010]接收加密后的第一临时共享用密钥,用第一公钥对应的私钥进行解密后获得第一临时共享用密钥;
[0011]用获得的第一临时共享用密钥对第一内容密钥进行加密,发送给视频监控系统客户端;
[0012]将使用第一内容密钥加密后的媒体流发送给视频监控系统客户端。
[0013]在第一方面的第一种可能的实现方式中,在所述生成第一内容密钥之前,进一步包括:接收到视频监控系统客户端发来的实时浏览请求或者平台录像回放请求;
[0014]如果接收到所述平台录像回放请求,在所述将使用第一内容密钥加密后的媒体流发送给视频监控系统客户端之后,在服务器侧进一步执行:
[0015]检测到存储的媒体流的内容密钥从第一内容密钥变更为第二内容密钥;
[0016]将更新后的加密算法发送给视频监控系统客户端;
[0017]将生成的第二公钥发送给视频监控系统客户端;
[0018]接收到加密后的第二临时共享用密钥后,利用第二公钥对应的私钥解密,获得第二临时共享用密钥;
[0019]利用第二临时共享用密钥对第二内容密钥进行加密,发送给视频监控系统客户端。。
[0020]在第一方面的第二种可能的实现方式中,在所述接收到所述平台录像回放请求之前,在服务器侧进一步执行:
[0021]接收到视频监控系统客户端发来的平台录像请求;从摄像设备获取第一内容密钥加密后的媒体流;通过PBKDF2函数生成存储用的密钥SEK,PBKDF2函数中,P为硬盘ID,盐值S为从文件服务器中获取,仅保存在内存中,C值及dkLen参数作为系统参数配置或编码在程序代码中;利用SEK加密第一内容密钥,保存加密后的第一内容密钥以及利用第一内容密钥加密后的媒体流。
[0022]在第一方面的第三种可能的实现方式中,在所述将使用第一内容密钥加密后的媒体流发送给视频监控系统客户端之前,在服务器侧进一步执行:
[0023]当摄像设备不支持媒体加密时,接收摄像设备发来的媒体流,使用所述第一内容密钥对媒体流进行加密;
[0024]或者,
[0025]当摄像设备支持媒体加密时,向摄像设备请求第三公钥;生成第三临时共享用密钥,并用第三公钥对第三临时共享用密钥进行加密,然后发送给摄像设备;利用生成的第三临时共享用密钥加密第一内容密钥,发送给摄像设备;接收摄像设备发来的使用第一内容密钥加密后的媒体流。
[0026]在第一方面的第四种可能的实现方式中,当摄像设备不支持媒体加密时,
[0027]所述使用所述第一内容密钥对媒体流进行加密包括:根据预先设置的加密比例,对媒体流中每一个数据包的所述加密比例的数据使用第一内容密钥加密;相应地,所述使用第一内容密钥加密媒体流的步骤进一步包括:将每一个数据包中未被加密的数据进行扰码处理;
[0028]或者,
[0029]所述使用第一内容密钥加密媒体流包括:使用第一内容密钥对媒体流的全码流进行加密。
[0030]第二方面,提供一种摄像设备,包括:
[0031]公钥处理单元,用于生成第三公钥及对应的私钥,将第三公钥发送给服务器侧;
[0032]临时密钥获取单元,接收到服务器侧发来的加密后的第三临时共享用密钥后,用第三公钥对应的私钥进行解密,获得第三临时共享用密钥,发送给内容密钥获取单元;
[0033]内容密钥获取单元,用于利用第三临时共享用密钥对服务器侧发来的加密后的第一内容密钥进行解密,获得第一内容密钥,发送给媒体流处理单元;
[0034]媒体流处理单元,使用第一内容密钥加密媒体流,发送给服务器侧。
[0035]在第二方面的第一种可能的实现方式中,所述媒体流处理单元包括:
[0036]第一加密模块,用于根据预先设置的加密比例,对媒体流中每一个数据包的所述加密比例的数据使用第一内容密钥加密,发送给发送模块;
[0037]扰码模块,用于将媒体流的每一个数据包中未被加密的数据进行扰码处理,发送给发送模块;
[0038]第一发送模块,用于接收第一加密模块发来的加密后的数据以及扰码模块发来的扰码处理后的数据,发送给服务器侧。
[0039]在第六方面的第二种可能的实现方式中,所述媒体流处理单元包括:
[0040]第二加密模块,使用第一内容密钥对媒体流的全码流进行加密,发送给第二发送模块;
[0041 ] 第二发送模块,用于将接收到的全码流加密后的媒体流,发送给服务器侧。
[0042]第三方面,提出一种在视频监控系统中保证媒体流传输安全性的系统,包括上述第二方面中提出的任意一种摄像设备、服务器以及视频监控系统客户端,其中,
[0043]所述视频监控系统客户端包括:
[0044]请求单元,用于向外部服务器发送第一公钥请求,将接收到的第一公钥发送给临时密钥处理单元;
[0045]临时密钥处理单元,用于生成第一临时共享用密钥并发送给内容密钥处理单元;以及用外部服务器发来的第一公钥对第一临时共享用密钥进行加密,然后发送给外部服务器;
[0046]内容密钥处理单元,用于接收外部服务器发来的加密后的内容密钥,用接收到的第一临时共享用密钥进行解密,得到第一内容密钥,发送给媒体流获取单元;
[0047]媒体流获取单元,用于利用接收到的第一内容密钥对接收到的媒体流进行解密;
[0048]所述服务器包括:
[0049]媒体处理单元,用于生成第一内容密钥、第一公钥及对应的私钥,将第一公钥发送给视频管理单元;接收加密后的第一临时共享用密钥,用第一公钥对应的私钥进行解密后获得第一临时共享用密钥;用获得的第一临时共享用密钥对第一内容密钥进行加密,发送给视频管理单元;以及将使用第一内容密钥加密后的媒体流发送给视频监控系统客户端;
[0050]视频管理单元,用于将接收到的第一公钥、加密后的第一内容密钥转发给视频监控系统客户端,以及将视频监控系统客户端发来的加密后的第一临时共享用密钥发给媒体处理单元。
[0051]在第三方面的第一种可能的实现中,在所述视频监控系统客户端中,
[0052]所述请求单元还包括:
[0053]业务请求模块,用于向服务器发送平台录像回放请求;
[0054]第二公钥请求模块,用于向外部服务器发送第二公钥请求,将接收到的第二公钥请求发送给第二临时密钥处理模块;
[0055]所述临时密钥处理单元包括:
[0056]第二临时密钥处理模块,用于生成第二临时共享用密钥并发送给第二内容密钥处理模块;以及用接收到的第二公钥对第二临时共享用密钥进行加密,然后发送给服务器;
[0057]所述内容密钥处理单元包括:
[0058]第二内容密钥处理模块,用于接收到加密后的内容密钥后,用接收到的第二临时共享用密钥进行解密,得到第二内容密钥,发送给媒体流更新模块;
[0059]所述媒体流获取单元包括:
[0060]媒体流更新模块,用于接收到更新后的加密算法后,缓存实时接收的媒体流,并暂停播放;在接收到第二内容密钥后,用第二内容密钥对缓存及当前接收的媒体流进行解密,然后继续播放。
[0061]在第三方面的第二种可能的实现中,在所述服务器中,
[0062]当所述摄像设备不支持媒体加密时,所述媒体处理单元接收摄像设备发来的媒体流,利用第一内容密钥对媒体流进行加密;
[0063]当所述摄像设备支持媒体加密时,
[0064]所述视频管理单元进一步包括:设备管理模块;所述媒体处理单元包括:密钥管理模块和媒体安全转发模块;
[0065]设备管理模块,用于生成第四公钥及对应的私钥,接收到第四公钥请求后,将第四公钥发送给密钥管理模块,接收到加密后的第四临时共享用密钥后,利用第四公钥对应的私钥进行解密,获得第四临时共享用密钥;接收到加密后的第一内容密钥后,利用第四临时共享用密钥进行解密,获得第一内容密钥;以及向摄像设备请求第三公钥;生成第三临时共享用密钥,并用第三公钥对第三临时共享用密钥进行加密,然后发送给摄像设备;利用生成的第三临时共享用密钥加密第一内容密钥,发送给摄像设备;
[0066]密钥管理模块,用于生成第一内容密钥,向设备管理模块发送第四公钥请求;生成第四临时共享用密钥,使用收到的第四公钥对该第四临时共享用密钥加密然后发送给设备管理模块;以及用第四临时共享用密钥对第一内容密钥加密后发送给设备管理模块;
[0067]所述媒体安全转发模块,进一步接收摄像设备发来的使用第一内容密钥加密后的媒体流。
[0068]在第三方面的第三种可能的实现中,当所述摄像设备不支持媒体加密时,
[0069]所述媒体安全转发模块,根据预先设置的加密比例,对媒体流中每一个数据包的所述加密比例的数据使用第一内容密钥加密,并将每一个数据包中未被加密的数据进行扰码处理;
[0070]或者,
[0071]所述媒体安全转发模块,使用第一内容密钥对媒体流的全码流进行加密。
[0072]在第三方面的第四种可能的实现中,所述媒体处理单元中进一步包括:媒体安全存储模块,用于从摄像设备获取第一内容密钥加密后的媒体流;通过PBKDF2函数生成存储用的密钥SEK,PBKDF2函数中,P为硬盘ID,盐值S为从文件服务器中获取,仅保存在内存中,C值及dkLen参数作为系统参数配置或编码在程序代码中;利用SEK加密第一内容密钥,保存加密后的第一内容密钥以及利用第一内容密钥加密后的媒体流。
[0073]本发明实施例的保证媒体流安全性的方法、设备和系统,采用了下述三种处理来保证媒体流的安全性:处理1:对传输的媒体流使用内容密钥进行加密;处理2:对于对媒体流加密使用的内容密钥,将其进行加密然后在不同设备间进行传输,以便内容密钥在不同设备中同步共享,由于对内容密钥也进行了加密传输,因此,进一步提高了媒体流传输过程中的安全性;处理3:在处理2中对内容密钥进行加密使用的临时共享用密钥,也将其进行加密后在不同设备间进行传输,该临时共享用密钥是内容密钥共享过程中临时生成的,并且仅使用一次,下次共享时将重新生成新的临时共享用密钥,临时共享用密钥辅助内容密钥实现在不同设备间同步共享。临时共享用密钥用共享双方其中一方传过来的公钥进行加密,只有掌握私钥的一方能够解密。综上所述,由于整个密钥共享过程中涉及到的敏感参数均进行了加密传输,因此,大大提高了媒体流传输过程中的安全性。

【专利附图】

【附图说明】
[0074]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0075]图1为本发明实施例1中视频监控系统客户端的处理流程图;
[0076]图2是本发明实施例2中服务器侧的处理流程图;
[0077]图3是本发明实施例3中摄像设备的处理流程图;
[0078]图4是本发明实施例4中摄像设备的结构示意图;
[0079]图5是本发明实施例5中视频监控系统客户端的一种结构示意图;
[0080]图6是本发明实施例5中服务器的一种结构不意图;
[0081]图7是本发明实施例6中VSClient请求实况播放媒体流的处理流程图;
[0082]图8是本发明实施例7中服务器侧预先对媒体流进行录像及存储的处理流程图;
[0083]图9是本发明实施例8中服务器侧将之前录像并存储的媒体流进行回放处理的流程图;
[0084]图10是本发明实施例9中将之前存储的媒体流回放给VSClient的过程中变换MEK的实施流程图。

【具体实施方式】
[0085]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0086]下面结合附图和实施例,对本发明的【具体实施方式】作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
[0087]为了提高视频监控系统中媒体流传输过程的安全性,本发明实施例的处理包括:处理1:对传输的媒体流进行加密;处理2:对于对媒体流加密使用的内容密钥,将其进行加密然后在不同设备间进行传输,以便内容密钥在不同设备中同步共享,由于是对内容密钥进行加密传输,因此,进一步提高了媒体流传输过程中的安全性;处理3:在处理2中对内容密钥进行加密使用的临时共享用密钥,也将其进行加密后在不同设备间进行传输,该临时共享用密钥是内容密钥共享过程中临时生成的,临时共享用密钥辅助内容密钥实现在不同设备间同步共享。临时共享用密钥用共享双方其中一方传过来的公钥进行加密,只有掌握私钥的一方能够解密。综上所述,由于整个密钥共享过程中涉及到的敏感参数均进行了加密传输,因此,大大提高了媒体流传输过程中的安全性。
[0088]下面针对视频监控系统中,不同的设备(包括视频监控系统客户端、服务器装置、摄像设备)在媒体流传输过程中的处理,分别举实施例进行说明。在下述各个实施例中,使用到了多个公钥、临时共享用密钥和内容密钥,为了便于理解,下面解释如下:
[0089]第一公钥:由服务器侧生成,并发送给视频监控系统客户端,供交互第一临时共享用密钥时的加密使用;
[0090]第一临时共享用密钥:由视频监控系统客户端生成,发送给服务器侧,供交互第一内容密钥时的加密使用;
[0091]第一内容密钥:由服务器侧生成,发送给视频监控系统客户端和摄像设备(当摄像设备支持媒体流加密功能时);
[0092]第二公钥:由服务器侧生成,针对内容密钥变更的情况,并发送给视频监控系统客户端,供交互第二临时共享用密钥时的加密使用;
[0093]第二临时共享用密钥:由视频监控系统客户端生成,针对内容密钥变更的情况,发送给服务器侧,供交互第二内容密钥时的加密使用;
[0094]第二内容密钥:由服务器侧生成,针对内容密钥变更的情况,发送给视频监控系统;
[0095]第三公钥:由摄像设备生成,并发送给服务器侧,供交互第三临时共享用密钥时的加密使用;
[0096]第三临时共享用密钥:由服务器侧生成,发送给摄像设备,供交互第一内容密钥时的加密使用;
[0097]第四公钥:在服务器侧包括不同逻辑单元时,两个逻辑单元交互第四临时共享用密钥时的加密使用;
[0098]第四临时共享用密钥:在服务器侧包括不同逻辑单元时,两个逻辑单元交互第一内容密钥时的加密使用。
[0099]需要说明的是,一个设备一般只有一对公私钥对,只要机器不重启,这对公私钥对就不变。在该设备重启后,会重新生成新的公私钥对。因此,同一个设备在上述不同业务中使用的公私钥对可能相同或不同,比如,对于服务器侧生成的第一公钥和第二公钥,可能相同或不同。
[0100]实施例1:
[0101]本实施例描述的是:在视频监控系统中,为了保证媒体流传输安全性,视频监控系统客户端的处理,参见图1,该过程包括:
[0102]步骤101:向服务器侧请求第一公钥。
[0103]步骤102:生成第一临时共享用密钥,并用请求得到的第一公钥对第一临时共享用密钥进行加密,然后发送给服务器侧。
[0104]至此,使得服务器侧获取了加密后的第一临时共享用密钥。该第一临时共享用密钥是后续为了保证传输内容密钥的安全性,服务器侧对内容密钥进行加密而使用的,因此,必须通过上述步骤101至步骤102的处理使得视频监控系统客户端与服务器侧两者都获知该第一临时共享用密钥,以保证后续该两者能够均获知加密媒体流应该使用的内容密钥。
[0105]临时共享用密钥是内容密钥共享过程中临时生成的,较佳地,仅使用一次,下次共享时可以重新生成新的临时共享用密钥。
[0106]上述步骤101至步骤102中,通过非对称加密算法完成对第一临时共享用密钥进行加密。
[0107]步骤103:接收到加密后的内容密钥后,用第一临时共享用密钥进行解密,得到第一内容密钥。
[0108]步骤104:利用第一内容密钥对接收到的媒体流进行解密。
[0109]上述图1所示的视频监控系统客户端的处理,至少可以应用于如下两个业务场旦牙、:
[0110]业务场景一、视频监控系统客户端请求实况浏览媒体流。
[0111]当应用于该业务场景时,在步骤101之前进一步包括:视频监控系统客户端向服务器侧发送实时浏览请求,以触发服务器侧的相关处理及图1中所示的视频监控系统客户端的处理。
[0112]业务场景二、视频监控系统客户端请求服务器侧将之前录像并存储的媒体流进行回放,以便观看。
[0113]当应用于该业务场景时,在步骤101之前进一步包括:视频监控系统客户端向服务器侧发送平台录像回放请求,以触发服务器侧的相关处理及图1中所示的视频监控系统客户端的处理。
[0114]在该业务场景中,可能会发生服务器侧之前录像并存储的媒体流是在不同阶段中录像并存储的,也就是说,存储并回放给视频监控系统客户端的媒体流的加密密钥可能会发生改变,这样,在上述步骤104之后,视频监控系统客户端需要进一步执行如下处理:接收到更新后的加密算法(即表示回放的媒体流的加密密钥发生了改变),缓存实时接收的媒体流,并暂停播放;向服务器侧请求第二公钥(即改变后的内容密钥);生成第二临时共享用密钥,并用请求得到的第二公钥对该第二临时共享用密钥进行加密,然后发送给服务器侧;接收到加密后的内容密钥后,用第二临时共享用密钥进行解密,得到第二内容密钥;利用第二内容密钥对缓存及当前接收的媒体流进行解密,从而实现了在回放的媒体流的内容密钥发生改变时,仍然能够解密并播放媒体流。
[0115]实施例2:
[0116]本实施例描述的是:在视频监控系统中,为了保证媒体流传输安全性,服务器侧的处理,参见图2,该过程包括:
[0117]步骤201:生成第一内容密钥、第一公钥及对应的私钥。
[0118]这里,服务器侧可以是在每次启动时,执行生成第一公钥及对应的私钥的处理。
[0119]步骤202:向视频监控系统客户端发送第一公钥。
[0120]步骤203:接收加密后的第一临时共享用密钥,用第一公钥对应的私钥进行解密后获得第一临时共享用密钥。
[0121]这里,对照上述图1所示流程,可以知道,由于视频监控系统客户端使用第一公钥对第一临时共享用密钥进行了加密,因此本步骤中,需要使用第一公钥对应的私钥进行解密,获得后续加密第一内容密钥需要使用的第一临时共享用密钥。
[0122]步骤204:用获得的第一临时共享用密钥对第一内容密钥进行加密,发送给视频监控系统客户端。
[0123]步骤205:将使用第一内容密钥加密后的媒体流发送给视频监控系统客户端。
[0124]与上述实施例1相对应,图2所示的服务器侧的处理,也至少可以应用于上述两个业务场景:
[0125]业务场景一、视频监控系统客户端请求实况浏览媒体流。
[0126]当应用于该业务场景时,在步骤201之前,进一步包括:服务器侧接收到视频监控系统客户端发来的实时浏览请求。
[0127]业务场景二、视频监控系统客户端请求服务器侧将之前录像并存储的媒体流进行回放,以便观看。
[0128]当应用于该业务场景时,在步骤201之前进一步包括步骤200:接收到视频监控系统客户端发来的平台录像回放请求,根据该请求触发服务器侧图2中所示的相关处理。
[0129]在该业务场景二中,可能会发生服务器侧之前录像并存储的媒体流是在不同阶段中录像并存储的,也就是说,存储并回放给视频监控系统客户端的媒体流的加密密钥可能会发生改变,这样,在上述步骤205之后,服务器侧需要进一步执行如下处理:检测到存储的媒体流的内容密钥从第一内容密钥变更为第二内容密钥;将更新后的加密算法发送给视频监控系统客户端;将生成的第二公钥发送给视频监控系统客户端;接收到加密后的第二临时共享用密钥后,利用第二公钥对应的私钥解密,获得第二临时共享用密钥;利用第二临时共享用密钥对第二内容密钥进行加密,发送给视频监控系统客户端。
[0130]当图2所示流程应用于业务场景二时,在上述步骤200之前,还进一步包括服务器侧预先对媒体流进行录像及存储的处理,该处理包括:
[0131]服务器侧接收到视频监控系统客户端发来的平台录像请求;之后,执行与摄像设备交互从而获得第一内容密钥加密后的媒体流;服务器侧通过PBKDF2函数生成存储用的密钥SEK,PBKDF2函数中,P为硬盘ID,盐值S为从文件服务器中获取,仅保存在内存中,C值及dkLen参数作为系统参数配置或编码在程序代码中;利用SEK加密第一内容密钥,保存加密后的第一内容密钥以及利用第一内容密钥加密后的媒体流。可见,在该处理中,通过存储用密钥SEK以及生成该SEK的算法,能够进一步保证所存储录像的安全性。
[0132]在上述各业务场景中,为了响应视频监控系统客户端的请求,需要从摄像设备获取对应的媒体流,因此,在步骤205之前服务器侧需要进一步执行如下处理,分为两种情况:
[0133]情况1:摄像设备不支持媒体加密。
[0134]此种情况下,在步骤205之前,服务器侧接收摄像设备发来的媒体流,使用第一内容密钥对媒体流进行加密,也就是说,使用内容密钥对媒体流进行加密的处理是由服务器侧完成的。
[0135]此种情况下,服务器支持的加密方案有2种,第一种是部分码流加密,第二种是全码流加密。
[0136]对于第一种部分码流加密,是综合考虑安全性与处理速度性能的问题,服务器侧对媒体流的每一个数据包进行选择性加密,也就是说,针对每一个媒体流数据包选取部分数据进行加密,比如,一种实现方式是:服务器侧根据预先设置的加密比例,比如可以是20%加密比例,对媒体流中每一个数据包的所述加密比例的数据使用第一内容密钥进行加密;对于每一个数据包中未被加密的数据,可以进行扰码处理。
[0137]对于第二种全码流加密,比如,可以调用AES-NI指令(第二代Core i5/i7支持全新的AES-NI加密解密指令集)进行硬件加速。
[0138]情况2:摄像设备支持媒体加密。
[0139]此种情况下,在步骤205之前,服务器侧向摄像设备请求第二公钥;生成第二临时共享用密钥,并用第二公钥对第二临时共享用密钥进行加密,然后发送给摄像设备;利用生成的第二临时共享用密钥加密第一内容密钥,发送给摄像设备;接收摄像设备发来的使用第一内容密钥加密后的媒体流,也就是说,使用内容密钥对媒体流进行加密的处理是由摄像设备完成的。
[0140]此种情况下,摄像设备支持的加密方案也有2种,第一种是部分码流加密,第二种是全码流加密。
[0141]对于第一种部分码流加密,是综合考虑安全性与处理速度性能的问题,摄像设备对媒体流的每一个数据包进行选择性加密,也就是说,针对每一个媒体流数据包选取部分数据进行加密,比如,一种实现方式是:摄像设备根据预先设置的加密比例,比如可以是25%加密比例,对媒体流中每一个数据包的所述加密比例的数据使用第一内容密钥进行加密;对于每一个数据包中未被加密的数据,可以进行扰码处理。
[0142]对于第二种全码流加密,比如,可以在ARM核中配一个独立的运算单元ALU,实现媒体加密的加速。
[0143]实施例3:
[0144]本实施例描述的是:在视频监控系统中,当摄像设备支持媒体加密时,为了保证媒体流传输安全性,摄像设备的处理。首先摄像设备接收到服务器侧发来的公钥请求,之后参见图3,该过程还包括:
[0145]步骤301:生成第三公钥及对应的私钥。
[0146]步骤302:向服务器侧发送第三公钥。
[0147]步骤303:接收到加密后的第三临时共享用密钥后,用第三公钥对应的私钥进行解密,获得第三临时共享用密钥。
[0148]步骤304:用获得的第三临时共享用密钥对接收到的加密后的第一内容密钥进行解密,获得第一内容密钥。
[0149]步骤305:使用第一内容密钥加密媒体流,发送给服务器侧。
[0150]在本实施例的一个优选实现过程中,综合考虑安全性与处理速度性能的问题,可以考虑对媒体流的每一个数据包进行选择性加密,也就是说,针对每一个媒体流数据包选取部分数据进行加密,比如,上述步骤305中,在使用第一内容密钥加密媒体流时,一种实现方式是:摄像设备根据预先设置的加密比例,比如可以是20%加密比例,对媒体流中每一个数据包的所述加密比例的数据使用第一内容密钥进行加密;对于每一个数据包中未被加密的数据,可以进行扰码处理。
[0151]当然,在本实施例的实现过程中,上述步骤305中,也可以对媒体流进行全码流加密,比如,可以在ARM核中配一个独立的运算单元ALU,实现媒体加密的加速。
[0152]实施例4:
[0153]本实施例描述的是:在视频监控系统中,为了保证媒体流传输安全性,摄像设备的结构和功能处理,参见图4,本实施例提出的摄像设备,包括:
[0154]公钥处理单元401,用于生成第三公钥及对应的私钥,将第三公钥发送给服务器;
[0155]临时密钥获取单元402,接收到服务器侧发来的加密后的第三临时共享用密钥后,用第三公钥对应的私钥进行解密,获得第三临时共享用密钥,发送给内容密钥获取单元403 ;
[0156]内容密钥获取单元403,用于利用第三临时共享用密钥对服务器发来的加密后的第一内容密钥进行解密,获得第一内容密钥,发送给媒体流处理单元404 ;
[0157]媒体流处理单元404,使用第一内容密钥加密媒体流,发送给服务器。
[0158]在使用第一内容密钥加密媒体流时,媒体流处理单元404的两种可选的实现包括:
[0159]第一种实现:媒体流处理单元404包括:
[0160]第一加密模块,用于根据预先设置的加密比例,对媒体流中每一个数据包的所述加密比例的数据使用第一内容密钥加密,发送给发送模块;
[0161]扰码模块,用于将媒体流的每一个数据包中未被加密的数据进行扰码处理,发送给发送模块;
[0162]第一发送模块,用于接收第一加密模块发来的加密后的数据以及扰码模块发来的扰码处理后的数据,发送给服务器。
[0163]第二种实现:媒体流处理单元404包括:
[0164]第二加密模块,使用第一内容密钥对媒体流的全码流进行加密,发送给第二发送模块;
[0165]第二发送模块,用于将接收到的全码流加密后的媒体流,发送给服务器侧。
[0166]实施例5:
[0167]本实施例提出了一种在视频监控系统中保证媒体流传输安全性的系统,包括摄像设备、服务器以及视频监控系统客户端。
[0168]其中,摄像设备可以参见图4,并采用上述实施例4中任——种摄像设备。
[0169]参见图5,本实施例的系统中,视频监控系统客户端可以包括:
[0170]请求单元501,用于向外部服务器侧发送第一公钥请求,将接收到的第一公钥发送给临时密钥处理单元502 ;
[0171]临时密钥处理单元502,用于生成第一临时共享用密钥并发送给内容密钥处理单元503 ;以及用接收到的第一公钥对第一临时共享用密钥进行加密,然后发送给服务器侧;
[0172]内容密钥处理单元503,用于接收服务器侧发来的加密后的内容密钥,用接收到的第一临时共享用密钥进行解密,得到第一内容密钥,发送给媒体流获取单元504 ;
[0173]媒体流获取单元504,用于利用接收到的第一内容密钥对接收到的媒体流进行解密;
[0174]参见图6,本实施例的系统中,服务器可以包括:
[0175]媒体处理单元MPU601,用于生成第一内容密钥、第一公钥及对应的私钥,将第一公钥发送给视频管理单元SMU602 ;接收加密后的第一临时共享用密钥,用第一公钥对应的私钥进行解密后获得第一临时共享用密钥;用获得的第一临时共享用密钥对第一内容密钥进行加密,发送给SMU602 ;以及将使用第一内容密钥加密后的媒体流发送给视频监控系统客户端;
[0176]SMU602,用于将接收到的第一公钥、加密后的第一内容密钥转发给视频监控系统客户端,以及将视频监控系统客户端发来的加密后的第一临时共享用密钥发给MPU601。
[0177]与上述图1所示的流程相同,本实施例的系统也可以应用于上述的业务场景一(视频监控系统客户端请求实况浏览媒体流)和业务场景二 (视频监控系统客户端请求服务器侧将之前录像并存储的媒体流进行回放,以便观看)。当应用于上述业务场景二时,在一个较佳的实现中,
[0178]请求单元501中还包括:
[0179]业务请求模块,用于向服务器侧发送平台录像回放请求;
[0180]第二公钥请求模块,用于向外部服务器侧发送第二公钥请求,将接收到的第二公钥请求发送给第二临时密钥处理模块;
[0181]所述临时密钥处理单元502包括:
[0182]第二临时密钥处理模块,用于生成第二临时共享用密钥并发送给第二内容密钥处理模块;以及用接收到的第二公钥对第二临时共享用密钥进行加密,然后发送给服务器侧;
[0183]所述内容密钥处理单元503包括:
[0184]第二内容密钥处理模块,用于接收到加密后的内容密钥后,用接收到的第二临时共享用密钥进行解密,得到第二内容密钥,发送给媒体流更新模块;
[0185]所述媒体流获取单元504包括:
[0186]媒体流更新模块,用于接收到更新后的加密算法后,缓存实时接收的媒体流,并暂停播放;在接收到第二内容密钥后,用第二内容密钥对缓存及当前接收的媒体流进行解密,然后继续播放。
[0187]对于上述使用第一内容密钥加密后的媒体流,服务器可以是从摄像设备处接收的,也可以是自己加密生成的,也就是说,分为如下两种情况:
[0188]情况1:当所述摄像设备不支持媒体加密时,所述MPU601接收摄像设备发来的媒体流,利用第一内容密钥对媒体流进行加密;
[0189]情况2:当所述摄像设备支持媒体加密时,
[0190]所述SMU602进一步包括设备管理模块;MPU601包括:密钥管理模块和媒体安全转发丰吴块;
[0191]设备管理模块,用于生成第四公钥及对应的私钥,接收到第四公钥请求后,将第四公钥发送给密钥管理模块,接收到加密后的第四临时共享用密钥后,利用第四公钥对应的私钥进行解密,获得第四临时共享用密钥;接收到加密后的第一内容密钥后,利用第四临时共享用密钥进行解密,获得第一内容密钥;以及向摄像设备请求第三公钥;生成第三临时共享用密钥,并用第三公钥对第三临时共享用密钥进行加密,然后发送给摄像设备;利用生成的第三临时共享用密钥加密第一内容密钥,发送给摄像设备;
[0192]密钥管理模块,用于生成第一内容密钥,向设备管理模块发送第四公钥请求;生成第四临时共享用密钥,使用收到的第四公钥对该第四临时共享用密钥加密然后发送给设备管理模块;以及用第四临时共享用密钥对第一内容密钥加密后发送给设备管理模块;
[0193]所述媒体安全转发模块,进一步接收摄像设备发来的使用第一内容密钥加密后的媒体流。
[0194]当摄像设备不支持媒体加密时,
[0195]所述媒体安全转发模块,根据预先设置的加密比例,对媒体流中每一个数据包的所述加密比例的数据使用第一内容密钥加密,并将每一个数据包中未被加密的数据进行扰码处理;
[0196]或者,
[0197]所述媒体安全转发模块,使用第一内容密钥对媒体流的全码流进行加密。
[0198]当本实施例应用于上述业务场景二时,服务器还需要预先进行对媒体流进行录像及存储的处理,该处理包括:
[0199]所述MPU601中进一步包括:媒体安全存储模块MSM,用于从摄像设备获取第一内容密钥加密后的媒体流;通过PBKDF2函数生成存储用的密钥SEK,PBKDF2函数中,P为硬盘ID,盐值S为从文件服务器中获取,仅保存在内存中,C值及dkLen参数作为系统参数配置或编码在程序代码中;利用SEK加密第一内容密钥,保存加密后的第一内容密钥以及利用第一内容密钥加密后的媒体流。
[0200]参见图5, MPU601和SMU602可以集成于同一服务器中,也可以设置于不同服务器中。
[0201]为了更加清楚地体现在视频监控系统中,不同的设备(包括视频监控系统客户端、服务器装置、摄像设备)在媒体流传输过程中的配合处理,下面分别针对不同的业务流程举实施例进行说明。
[0202]实施例6:
[0203]本实施例描述的是:在将媒体流传输给请求实况播放媒体流的视频监控系统客户端VSClient的过程中(对应于上述业务场景一),为了保证媒体流传输的安全性,服务器装置、VSClient和摄像头VSCamera三者配合的完成的处理过程。其中,以服务器装置中包括SMU和MPU,并且,MPU中包括密钥管理模块(KMM)和媒体安全转发模块(MDM),SMU中包括业务转发模块和设备管理模块为例,进行详细说明。参见图7,前置条件:用户登陆成功,VSClient请求实况浏览;MPU_KMM、SMU- “设备管理模块”、VSCamera- “MEK获取模块”启动时生成公私钥对,模块重启后将重新生成公私钥对。该过程包括:
[0204]步骤701、MPU-KMM收到实时浏览的请求后调用安全随机数生成函数生成媒体加密内容密钥MEK;
[0205]步骤702、MPU-KMM模块向SMU-设备管理模块请求公钥,SMU-设备管理模块将模块启动时生成的公钥返回给MPU-KMM ;
[0206]步骤703、MPU-KMM生成临时共享用密钥RTEK,该密钥一次有效,每次需要使用时调用安全随机数生成函数生成;
[0207]步骤704、MPU-KMM用请求回来的公钥加密RTEK传给SMU-设备管理模块;
[0208]步骤705、SMU-设备管理模块用模块启动时生成的私钥解密获得明文的RTEK,完成RTEK的密钥交换;
[0209]步骤706、MPU-KMM利用临时共享用密钥RTEK加密内容密钥MEK得到MEK密文值,并将该值作为参数向SMU-设备管理模块请求实时浏览,同时,MPU-KMM将当前实时浏览的参数传给MPU-MDM ;
[0210]步骤707、SMU_设备管理模块利用密钥交换过程获得的RTEK明文值解密获得MEK明文;
[0211]步骤708、SMU_设备管理模块向VSCamera请求公钥,VSCamera将启动时生成的公钥返回给SMU-设备管理模块;
[0212]步骤709、SMU_设备管理模块生成临时共享用密钥RTEKi,该密钥一次有效,每次需要使用时调用安全随机数生成函数生成;
[0213]步骤710、SMU-设备管理模块用请求回来的公钥加密RTEf传给VSCamera ;
[0214]步骤711、VSCamera用模块启动时生成的私钥解密获得明文的RTEK',完成RTEr的密钥交换;
[0215]步骤712、SMU_设备管理模块利用临时共享用密钥RTEKi加密内容密钥MEK得到MEK密文值,并将该值作为参数向VSCamera请求实时浏览;
[0216]步骤713、VSCamera利用密钥交换过程获得的RTEK明文值解密获得MEK明文,并返回通用响应消息给SMU-设备管理模块,SMU-设备管理模块返回通用响应消息给MPU-KMM ;
[0217]步骤714、MPU_KMM向VSClient发送RTSP Announce通知,告知当前实况加密的算法;
[0218]步骤715、VSClient向MPU-KMM请求公钥,MPU-KMM将启动时生成的公钥返回给VSClient, SMU-业务转发模块仅负责转发消息;
[0219]步骤716、VSClient生成临时共享用密钥RTEK",该密钥一次有效,每次需要使用时调用安全随机数生成函数生成;
[0220]步骤717、VSClient用请求回来的公钥加密RTEK"传给MPU-KMM,SMU-业务转发模块仅负责转发消息;
[0221 ] 步骤718、MPU_KMM用模块启动时生成的私钥解密获得明文的RTEK ",完成RTEK "的密钥交换;
[0222]步骤719、VSClient向MPU-KMM请求媒体加密内容密钥MEK,MPU-KMM利用临时共享用密钥RTEK"加密内容密钥MEK得到MEK密文值,并将该值作为参数返回给VSClient ;
[0223]步骤720、VSClient利用密钥交换过程获得的RTEK"明文值解密获得MEK明文;
[0224]步骤721、VSClient向MPU-MDM发起Play请求,MPU-MDM通过SMU-设备管理模块向VSCamera请求关键巾贞开始打流;
[0225]步骤722、VSCamera利用MEK加密实时视频流发往MPU-MDM,MPU-MDM根据MPU-KMM同步过来的实时浏览的参数将加密流转发给VSClient ;
[0226]步骤723、VSClient利用MEK解密视频流进行播放。
[0227]实施例7:
[0228]本实施例描述的是:服务器侧根据VSClient的请求,预先对媒体流进行录像及存储的处理过程,以及在该过程中,为了保证媒体流传输的安全性,服务器装置、VSClient和摄像头VSCamera三者配合的完成的处理过程。其中,以服务器装置中包括SMU和MPU,并且,MPU中包括KMM和MSM,SMU中包括业务转发模块和设备管理模块为例,进行详细说明。参见图8,前置条件:用户登陆成功,VSClient请求录像;MPU_KMM、SMU-设备管理模块、VSCamera启动时生成公私钥对,模块重启后将重新生成公私钥对;该过程包括:
[0229]步骤801、MPU-KMM收到录像的请求后调用安全随机数生成函数生成媒体加密内容密钥MEK ;
[0230]步骤802、MPU-KMM模块向SMU-设备管理模块请求公钥,SMU-设备管理模块将模块启动时生成的公钥返回给MPU-KMM ;
[0231]步骤803、MPU-KMM生成临时共享用密钥RTEK,该密钥一次有效,每次需要使用时调用安全随机数生成函数生成;
[0232]步骤804、MPU-KMM用请求回来的公钥加密RTEK传给SMU-设备管理模块;
[0233]步骤805、SMU-设备管理模块用模块启动时生成的私钥解密获得明文的
[0234]RTEK,完成RTEK的密钥交换;
[0235]步骤806、MPU_KMM利用临时共享用密钥RTEK加密内容密钥MEK得到MEK密文值,并将该值作为参数向SMU-设备管理模块请求录像,同时,
[0236]MPU-KMM将当前录像的参数传给MPU-MSM,包括MEK ;
[0237]步骤807、SMU_设备管理模块利用密钥交换过程获得的RTEK明文值解密获得MEK明文;
[0238]步骤808、SMU_设备管理模块向VSCamera请求公钥,VSCamera将启动时生成的公钥返回给SMU-设备管理模块;
[0239]步骤809、SMU_设备管理模块生成临时共享用密钥RTEKi,该密钥一次有效,每次需要使用时调用安全随机数生成函数生成;
[0240]步骤810、SMU-设备管理模块用请求回来的公钥加密RTEKi传给
[0241]VSCamera ;
[0242]步骤811、VSCamera用模块启动时生成的私钥解密获得明文的RTEK',完成RTEr的密钥交换;
[0243]步骤812、SMU-设备管理模块利用临时共享用密钥RTEKi加密内容密钥
[0244]MEK得到MEK密文值,并将该值作为参数向VSCamera请求录像;
[0245]步骤813、VSCamera利用密钥交换过程获得的RTEK明文值解密获得MEK明文,并响应SMU-设备管理模块,SMU-设备管理模块将响应消息返回给
[0246]MPU-KMM ;
[0247]步骤814、MPU-MSM向VSCamera请求关键巾贞打流,VSCamera利用MEK加密视频流发往 MPU-MSM ;
[0248]步骤815、MPU-MSM通过密钥导出函数生成存储用的密钥SEK。
[0249]例如:可以选用PBKDF2函数生成,其中P为硬盘ID,盐值S可从文件服务器中获取,仅保存在内存中,C值及dkLen参数可作为系统参数配置或编码在程序代码中;考虑到硬盘可能存在损坏更换的风险,因此首次运算时,将硬盘ID加密后备份到备份服务器上,加密硬盘ID的密钥可编码在代码中;
[0250]步骤816、MPU-MSM利用SEK加密MEK保存在服务器上;
[0251]步骤817、MPU-MSM直接保存MEK加密的视频流。
[0252]实施例8:
[0253]本实施例描述的是:视频监控系统客户端请求服务器侧将之前录像并存储的媒体流进行回放,以便观看(对应于上述业务场景二),以及在该过程中,为了保证媒体流传输的安全性,服务器装置和VSClient配合的完成的处理过程。其中,以服务器装置中包括SMU和MPU,并且,MPU中包括KMM和MDM,SMU中包括业务转发模块为例,进行详细说明。参见图9,前置条件:用户登陆成功,VSClient请求录像回放;MPU_KMM模块启动时生成公私钥对,模块重启后将重新生成公私钥对。
[0254]步骤901、MPU-KMM通知MPU-MDM读取录像文件参数;
[0255]步骤902、MPU-MDM从服务器中读取录像文件参数,包括MEK密文值;
[0256]步骤903、MPU_MDM获取硬盘ID,从文件服务器上获取盐值S,通过密钥导出函数生成存储用的密钥SEK ;说明:从备份服务器获取硬盘ID,并获取本机的的硬盘ID,如果ID值不同,则可以判断硬盘曾损坏,以备份服务器的硬盘ID为准;
[0257]步骤904、MPU-MDM利用生成的SEK解密MEK得到其明文值;
[0258]步骤905、MPU-MDM将录像文件参数包括明文MEK返回给MPU-KMM ;
[0259]步骤906、MPU_KMM向VSClient发送RTSP Announce通知,告知当前录像文件加密的算法;
[0260]步骤907、VSClient向MPU-KMM请求公钥,MPU-KMM将启动时生成的公钥返回给VSClient, SMU-业务转发模块仅负责转发消息;
[0261]步骤908、VSClient生成临时共享用密钥RTEK,该密钥一次有效,每次需要使用时调用安全随机数生成函数生成;
[0262]步骤909、VSClient用请求回来的公钥加密RTEK传给MPU-KMM,SMU-业务转发模块仅负责转发消息;
[0263]步骤910、MPU-KMM用模块启动时生成的私钥解密获得明文的RTEK,完成RTEK的密钥交换;
[0264]步骤911、VSClient向MPU-KMM请求媒体加密内容密钥MEK,MPU-KMM利用临时共享用密钥RTEK加密内容密钥MEK得到MEK密文值,并将该值作为参数返回给VSClient ;
[0265]步骤912、VSClient利用密钥交换过程获得的RTEK明文值解密获得MEK明文;
[0266]步骤913、VSClient 向 MPU-MDM 发起 Play 请求;
[0267]步骤914、MPU-MDM从磁阵上获取视频文件,将MEK加密的视频流发给VSClient ;
[0268]步骤915、VSClient利用MEK解密视频流进行播放。
[0269]实施例9:
[0270]本实施例描述的是:在将之前存储的媒体流回放给VSClient的过程中变换MEK的实施流程,以及在该过程中,为了保证媒体流传输的安全性,服务器装置和VSClient配合的完成的处理过程。其中,以服务器装置中包括SMU和MPU,并且,MPU中包括KMM和MDM, SMU中包括业务转发模块为例,进行详细说明。参见图10,前置条件:用户登陆成功,VSClient-媒体解密模块正在进行回放;MPU_KMM模块启动时生成公私钥对,模块重启后将重新生成公私钥对。
[0271]步骤1001、MPU-MDM发现当前录像段内容密钥为:MEK',而上一段录像内容密钥为:ΜΕΚ ;
[0272]步骤1002、MPU-MDM通知MPU-KMM内容密钥变为MEK';
[0273]步骤1003、MPU-KMM向VSClient发送RTSP Announce通知,告知当前录像文件的加密的算法;
[0274]步骤1004、VSClient缓存新录像段的视频流暂停播放;
[0275]步骤1005、VSClient向MPU-KMM请求公钥,MPU-KMM将启动时生成的公钥返回给VSClient, SMU-业务转发模块仅负责转发消息;
[0276]步骤1006、VSClient生成临时共享用密钥RTEK,该密钥一次有效,每次需要使用时调用安全随机数生成函数生成;
[0277]步骤1007、VSClient用请求回来的公钥加密RTEK传给MPU-KMM,SMU-业务转发模块仅负责转发消息;
[0278]步骤1008、MPU_KMM用模块启动时生成的私钥解密获得明文的RTEK,完成RTEK的密钥交换;
[0279]步骤1009、VSClient向MPU-KMM请求媒体加密内容密钥MEK ',MPU-KMM利用临时共享用密钥RTEK加密内容密钥MEK'得到ΜΕΓ密文值,并将该值作为参数返回给VSClient ;
[0280]步骤1010、VSClient利用密钥交换过程获得的RTEK明文值解密获得MEK'明文;
[0281]步骤1011、VSClient利用MEK'解密新录像段的视频流继续播放。
[0282]本领域普通技术人员将会理解,本发明的各个方面、或各个方面的可能实现方式可以被具体实施为系统、方法或者计算机程序产品。因此,本发明的各方面、或各个方面的可能实现方式可以采用完全硬件实施例、完全软件实施例(包括固件、驻留软件等等),或者组合软件和硬件方面的实施例的形式,在这里都统称为“电路”、“单元”或者“系统”。此夕卜,本发明的各方面、或各个方面的可能实现方式可以采用计算机程序产品的形式,计算机程序产品是指存储在计算机可读介质中的计算机可读程序代码。
[0283]计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质包含但不限于电子、磁性、光学、电磁、红外或半导体系统、设备或者装置,或者前述的任意适当组合,如随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPR0M或者快闪存储器)、光纤、便携式只读存储器(CD-ROM)。
[0284]计算机中的处理器读取存储在计算机可读介质中的计算机可读程序代码,使得处理器能够执行在流程图中每个步骤、或各步骤的组合中规定的功能动作;生成实施在框图的每一块、或各块的组合中规定的功能动作的装置。
[0285]计算机可读程序代码可以完全在用户的计算机上执行、部分在用户的计算机上执行、作为单独的软件包、部分在用户的计算机上并且部分在远程计算机上,或者完全在远程计算机或者服务器上执行。也应该注意,在某些替代实施方案中,在流程图中各步骤、或框图中各块所注明的功能可能不按图中注明的顺序发生。例如,依赖于所涉及的功能,接连示出的两个步骤、或两个块实际上可能被大致同时执行,或者这些块有时候可能被以相反顺序执行。
[0286]显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
【权利要求】
1.一种在视频监控系统中保证媒体流传输安全性的方法,其特征在于,在服务器侧执行: 生成第一内容密钥、第一公钥及对应的私钥; 向视频监控系统客户端发送第一公钥; 接收加密后的第一临时共享用密钥,用第一公钥对应的私钥进行解密后获得第一临时共享用密钥; 用获得的第一临时共享用密钥对第一内容密钥进行加密,发送给视频监控系统客户端; 将使用第一内容密钥加密后的媒体流发送给视频监控系统客户端。
2.根据权利要求1所述的方法,其特征在于,在所述生成第一内容密钥之前,进一步包括:接收到视频监控系统客户端发来的实时浏览请求或者平台录像回放请求; 如果接收到所述平台录像回放请求,在所述将使用第一内容密钥加密后的媒体流发送给视频监控系统客户端之后,在服务器侧进一步执行: 检测到存储的媒体流的内容密钥从第一内容密钥变更为第二内容密钥; 将更新后的加密算法发送给视频监控系统客户端; 将生成的第二公钥发送给视频监控系统客户端; 接收到加密后的第二临时共享用密钥后,利用第二公钥对应的私钥解密,获得第二临时共享用密钥; 利用第二临时共享用密钥对第二内容密钥进行加密,发送给视频监控系统客户端。
3.根据权利要求2所述的方法,其特征在于,在所述接收到所述平台录像回放请求之前,在服务器侧进一步执行: 接收到视频监控系统客户端发来的平台录像请求;从摄像设备获取第一内容密钥加密后的媒体流;通过PBKDF2函数生成存储用的密钥SEK,PBKDF2函数中,P为硬盘ID,盐值S为从文件服务器中获取,仅保存在内存中,C值及dkLen参数作为系统参数配置或编码在程序代码中;利用SEK加密第一内容密钥,保存加密后的第一内容密钥以及利用第一内容密钥加密后的媒体流。
4.根据权利要求1至3中任一所述的方法,其特征在于,在所述将使用第一内容密钥加密后的媒体流发送给视频监控系统客户端之前,在服务器侧进一步执行: 当摄像设备不支持媒体加密时,接收摄像设备发来的媒体流,使用所述第一内容密钥对媒体流进行加密; 或者, 当摄像设备支持媒体加密时,向摄像设备请求第三公钥;生成第三临时共享用密钥,并用第三公钥对第三临时共享用密钥进行加密,然后发送给摄像设备;利用生成的第三临时共享用密钥加密第一内容密钥,发送给摄像设备;接收摄像设备发来的使用第一内容密钥加密后的媒体流。
5.根据权利要求4所述的方法,其特征在于,当摄像设备不支持媒体加密时, 所述使用所述第一内容密钥对媒体流进行加密包括:根据预先设置的加密比例,对媒体流中每一个数据包的所述加密比例的数据使用第一内容密钥加密;相应地,所述使用第一内容密钥加密媒体流的步骤进一步包括:将每一个数据包中未被加密的数据进行扰码处理; 或者, 所述使用第一内容密钥加密媒体流包括:使用第一内容密钥对媒体流的全码流进行加LU O
6.一种摄像设备,其特征在于,包括: 公钥处理单元,用于生成第三公钥及对应的私钥,将第三公钥发送给服务器侧; 临时密钥获取单元,接收到服务器侧发来的加密后的第三临时共享用密钥后,用第三公钥对应的私钥进行解密,获得第三临时共享用密钥,发送给内容密钥获取单元; 内容密钥获取单元,用于利用第三临时共享用密钥对服务器侧发来的加密后的第一内容密钥进行解密,获得第一内容密钥,发送给媒体流处理单元; 媒体流处理单元,使用第一内容密钥加密媒体流,发送给服务器侧。
7.根据权利要求6所述的摄像设备,其特征在于,所述媒体流处理单元包括: 第一加密模块,用于根据预先设置的加密比例,对媒体流中每一个数据包的所述加密比例的数据使用第一内容密钥加密,发送给发送模块; 扰码模块,用于将媒体流的每一个数据包中未被加密的数据进行扰码处理,发送给发送模块; 第一发送模块,用于接收第一加密模块发来的加密后的数据以及扰码模块发来的扰码处理后的数据,发送给服务器侧。
8.根据权利要求6所述的摄像设备,其特征在于,所述媒体流处理单元包括: 第二加密模块,使用第一内容密钥对媒体流的全码流进行加密,发送给第二发送模块; 第二发送模块,用于将接收到的全码流加密后的媒体流,发送给服务器侧。
9.一种在视频监控系统中保证媒体流传输安全性的系统,其特征在于,包括如权利要求6至8中任一所述的摄像设备、服务器以及视频监控系统客户端,其中, 所述视频监控系统客户端包括: 请求单元,用于向外部服务器发送第一公钥请求,将接收到的第一公钥发送给临时密钥处理单元; 临时密钥处理单元,用于生成第一临时共享用密钥并发送给内容密钥处理单元;以及用外部服务器发来的第一公钥对第一临时共享用密钥进行加密,然后发送给外部服务器;内容密钥处理单元,用于接收外部服务器发来的加密后的内容密钥,用接收到的第一临时共享用密钥进行解密,得到第一内容密钥,发送给媒体流获取单元; 媒体流获取单元,用于利用接收到的第一内容密钥对接收到的媒体流进行解密; 所述服务器包括: 媒体处理单元,用于生成第一内容密钥、第一公钥及对应的私钥,将第一公钥发送给视频管理单元;接收加密后的第一临时共享用密钥,用第一公钥对应的私钥进行解密后获得第一临时共享用密钥;用获得的第一临时共享用密钥对第一内容密钥进行加密,发送给视频管理单元;以及将使用第一内容密钥加密后的媒体流发送给视频监控系统客户端; 视频管理单元,用于将接收到的第一公钥、加密后的第一内容密钥转发给视频监控系统客户端,以及将视频监控系统客户端发来的加密后的第一临时共享用密钥发给媒体处理单元。
10.根据权利要求9所述的系统,其特征在于,在所述视频监控系统客户端中, 所述请求单元还包括: 业务请求模块,用于向服务器发送平台录像回放请求; 第二公钥请求模块,用于向外部服务器发送第二公钥请求,将接收到的第二公钥请求发送给第二临时密钥处理模块; 所述临时密钥处理单元包括: 第二临时密钥处理模块,用于生成第二临时共享用密钥并发送给第二内容密钥处理模块;以及用接收到的第二公钥对第二临时共享用密钥进行加密,然后发送给服务器; 所述内容密钥处理单元包括: 第二内容密钥处理模块,用于接收到加密后的内容密钥后,用接收到的第二临时共享用密钥进行解密,得到第二内容密钥,发送给媒体流更新模块; 所述媒体流获取单元包括: 媒体流更新模块,用于接收到更新后的加密算法后,缓存实时接收的媒体流,并暂停播放;在接收到第二内容密钥后,用第二内容密钥对缓存及当前接收的媒体流进行解密,然后继续播放。
11.根据权利要求9所述的系统,其特征在于,在所述服务器中, 当所述摄像设备不支持媒体加密时,所述媒体处理单元接收摄像设备发来的媒体流,利用第一内容密钥对媒体流进行加密; 当所述摄像设备支持媒体加密时, 所述视频管理单元进一步包括:设备管理模块;所述媒体处理单元包括:密钥管理模块和媒体安全转发模块; 设备管理模块,用于生成第四公钥及对应的私钥,接收到第四公钥请求后,将第四公钥发送给密钥管理模块,接收到加密后的第四临时共享用密钥后,利用第四公钥对应的私钥进行解密,获得第四临时共享用密钥;接收到加密后的第一内容密钥后,利用第四临时共享用密钥进行解密,获得第一内容密钥;以及向摄像设备请求第三公钥;生成第三临时共享用密钥,并用第三公钥对第三临时共享用密钥进行加密,然后发送给摄像设备;利用生成的第三临时共享用密钥加密第一内容密钥,发送给摄像设备; 密钥管理模块,用于生成第一内容密钥,向设备管理模块发送第四公钥请求;生成第四临时共享用密钥,使用收到的第四公钥对该第四临时共享用密钥加密然后发送给设备管理模块;以及用第四临时共享用密钥对第一内容密钥加密后发送给设备管理模块; 所述媒体安全转发模块,进一步接收摄像设备发来的使用第一内容密钥加密后的媒体流。
12.根据权利要求11所述的系统,其特征在于,当所述摄像设备不支持媒体加密时, 所述媒体安全转发模块,根据预先设置的加密比例,对媒体流中每一个数据包的所述加密比例的数据使用第一内容密钥加密,并将每一个数据包中未被加密的数据进行扰码处理; 或者, 所述媒体安全转发模块,使用第一内容密钥对媒体流的全码流进行加密。
13.根据权利要求9至12中任一所述的系统,其特征在于,所述媒体处理单元中进一步包括:媒体安全存储模块,用于从摄像设备获取第一内容密钥加密后的媒体流;通过PBKDF2函数生成存储用的密钥SEK,PBKDF2函数中,P为硬盘ID,盐值S为从文件服务器中获取,仅保存在内存中,C值及dkLen参数作为系统参数配置或编码在程序代码中;利用SEK加密第一内容密钥,保存加密后的第一内容密钥以及利用第一内容密钥加密后的媒体流。
【文档编号】H04L29/06GK104519013SQ201310452050
【公开日】2015年4月15日 申请日期:2013年9月27日 优先权日:2013年9月27日
【发明者】李花 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1