密钥合成方法、装置、系统及计算机可读存储介质与流程

文档序号:27755356发布日期:2021-12-03 21:51阅读:383来源:国知局
密钥合成方法、装置、系统及计算机可读存储介质与流程

1.本技术涉及但不限于计算机领域,尤其是涉及一种密钥合成方法、装置、系统及计算机可读存储介质。


背景技术:

2.随着时代的发展与科技的进步,人们对于电影、电视等视频清晰度的要求越来越高,促进了视频技术由传统的模拟技术向高清晰度的数字技术快速的转变。与此同时,由于数字内容的易复制性,导致了许多高清视频的知识产权遭到破坏,源于市场对于数字内容保护的迫切需求,hdcp(high bandwidth digital content protection,高带宽数字内容保护技术)被广泛应用于音视频转换领域中。
3.hdcp的方案是分级的,包括发送方、合成方和接收方,由合成方生成和分发密钥,而对合成方以下级别的设备的密钥生成和分发缺少发送方的参与,从而导致数据的安全性较低。


技术实现要素:

4.本技术旨在至少解决现有技术中存在的技术问题之一。为此,本技术提出一种密钥合成方法、装置、系统及计算机可读存储介质,能够提高数据的安全性较低的问题。
5.本技术第一方面实施例提供一种密钥合成方法,由转换端执行,包括:与至少一个发送端进行共享认证,得到至少一个第一认证密钥;接收所述至少一个发送端发送的至少一个第一已加密密钥;根据所述第一认证密钥对所述至少一个第一已加密密钥进行解密处理,得到至少一个内容流密钥;对所述至少一个内容流密钥进行密钥合成,得到目标密钥。
6.根据本技术实施例的密钥合成方法,至少具有如下技术效果:本技术提供的密钥合成方法,每个发送端分别已加密密钥给转换端和每个接收端,转换端和接收端对接收到的已加密密钥进行解密,得到至少一个内容流密钥,再对内容流进行密钥合成,得到目标密钥,并使用目标密钥完成对视频数据的加密和解密,提高了数据传输的安全性。
7.根据本技术的一些实施例,所述方法还包括:监听节点拓扑信息的变化情况以获取节点拓扑变化信息;根据节点拓扑变化信息重新接收所述至少一个发送端发送的哈希认证码和对应的第一已加密密钥;根据所述第一认证密钥、所述第一已加密密钥对所述哈希认证码进行验证,得到验证结果;根据所述验证结果对所述至少一个内容流密钥进行密钥合成或结束密钥合成。
8.本技术第二方面实施例提供一种密钥合成方法,由发送端执行,包括:获取至少一个内容流密钥;与转换端进行共享认证,得到第一认证密钥;与至少一个接收端进行共享认证,得到第二认证密钥;根据所述第一认证密钥对所述内容流密钥进行加密处理,得到第一已加密密钥;发送所述第一已加密密钥给转换端,以使所述转换端根据至少一个发送端发送的至少一个所述第一已加密密钥进行密钥合成;根据所述第二认证密钥对所述内容流密钥进行加密处理,得到第二已加密密钥;发送所述第二已加密密钥给至少一个接收端,以使
所述接收端根据至少一个发送端发送的至少一个所述第二已加密密钥进行密钥合成。
9.根据本技术的一些实施例,所述方法还包括:监听节点拓扑信息的变化情况以获取节点拓扑变化信息;根据节点拓扑变化信息更新所述第一已加密密钥和所述第二已加密密钥;根据所述节点拓扑变化信息对所述第一已加密密钥、所述第二已加密密钥进行哈希运算处理,得到哈希认证码;发送所述哈希认证码和更新的第一已加密密钥给所述转换端,发送所述哈希认证码和所述第二已加密密钥给所述接收端。
10.本技术第三方面实施例提供一种密钥合成方法,由接收端执行,包括:与至少一个发送端进行共享认证,得到至少一个第二认证密钥;接收至少一个发送方发送的至少一个第二已加密密钥;根据所述至少一个第二认证密钥对至少一个所述第二已加密密钥进行解密处理,得到至少一个内容流密钥;将所述至少一个内容流密钥进行密钥合成,得到目标密钥。
11.本技术第四方面实施例提供了一种密钥合成装置,用于转换端,所述装置包括:认证模块,用于与至少一个发送端进行共享认证,得到至少一个第一认证密钥;密钥接收模块,用于接收所述至少一个发送端发送的至少一个第一已加密密钥;解密模块,用于根据所述第一认证密钥对所述至少一个第一已加密密钥进行解密处理,得到至少一个内容流密钥;合成模块,用于对所述至少一个内容流密钥进行密钥合成,得到目标密钥。
12.本技术第五方面实施例提供了一种密钥合成装置,用于发送端,所述装置包括:内容流密钥获取模块,用于获取至少一个内容流密钥;第一认证模块,用于与转换端进行共享认证,得到第一认证密钥;第二认证模块,用于与至少一个接收端进行共享认证,得到第二认证密钥;第一加密模块,用于根据所述第一认证密钥对所述内容流密钥进行加密处理,得到第一已加密密钥;第一合成模块,用于发送所述第一已加密密钥给转换端,以使所述转换端根据至少一个发送端发送的至少一个所述第一已加密密钥进行密钥合成;第二加密模块,用于根据所述第二认证密钥对所述内容流密钥进行加密处理,得到第二已加密密钥;第二合成模块,用于发送所述第二已加密密钥给至少一个接收端,以使所述接收端根据至少一个发送端发送的至少一个所述第二已加密密钥进行密钥合成。
13.本技术第六方面实施例提供了一种密钥合成装置,用于接收端,所述装置包括:认证模块,用于与至少一个发送端进行共享认证,得到至少一个第二认证密钥;密钥接收模块,用于接收至少一个发送方发送的至少一个第二已加密密钥;解密模块,用于根据所述至少一个第二认证密钥对至少一个所述第二已加密密钥进行解密处理,得到至少一个内容流密钥;合成模块,用于将所述至少一个内容流密钥进行密钥合成,得到目标密钥。
14.根据本技术第七方面实施例的系统,所述系统包括转换端、至少一个发送端、至少一个接收端;
15.所述转换端包括:第一存储器、第一处理器及存储在第一存储器上并可在第一处理器上运行的计算机程序,所述第一处理器执行所述程序时实现如第一方面所述的密钥合成方法;
16.所述发送端包括:第二存储器、第二处理器及存储在第二存储器上并可在第二处理器上运行的计算机程序,所述第二处理器执行所述程序时实现如第二方面所述的密钥合成方法;
17.所述接收端包括:第三存储器、第三处理器及存储在第三存储器上并可在第三处
理器上运行的计算机程序,所述第三处理器执行所述程序时实现如第三方面所述的密钥合成方法。
18.根据本技术第八方面实施例的计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于:
19.执行上述第一方面实施例所述的密钥合成方法;或,执行上述第二方面实施例所述的密钥合成方法;或,执行上述第三方面实施例所述的密钥合成方法。
20.本技术的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过申请的实践了解到。
附图说明
21.下面结合附图和实施例对本技术做进一步的说明,其中:
22.图1是本技术一个实施例提供的密钥合成方法的流程图;
23.图2是本技术另一个实施例提供的密钥合成方法的流程图;
24.图3是本技术另一个实施例提供的密钥合成方法的流程图;
25.图4是本技术另一个实施例提供的密钥合成方法的流程图;
26.图5是本技术另一个实施例提供的密钥合成方法的流程图;
27.图6为本技术一个实施例提供的内容流传输示意图;
28.图7是本技术一个实施例提供的分发密钥示意图;
29.图8是本技术一个实施例提供的内容流分发示意图;
30.图9是本技术一个实施例提供的发送端更新示意图;
31.图10是本技术一个实施例提供的接收端退出示意图;
32.图11是本技术一个实施例提供的密钥合成系统的数据流向示意图;
33.图12是本技术一个实施例提供的密钥合成系统的密钥分发与合成示意图。
具体实施方式
34.下面详细描述本技术的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本技术,而不能理解为对本技术的限制。
35.在本技术的描述中,若干的含义是一个以上,多个的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。如果有描述到第一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。
36.本技术的描述中,除非另有明确的限定,设置、安装、连接等词语应做广义理解,所属技术领域技术人员可以结合技术方案的具体内容合理确定上述词语在本技术中的具体含义。
37.本技术的描述中,参考术语“一个实施例”、“一些实施例”、“示意性实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本技术的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点
可以在任何的一个或多个实施例或示例中以合适的方式结合。
38.在视频及转换领域中,包括发送方si(i=1

n)、转换器vp(video processer,音视频转换器)和接收方ti(i=1

m)。为了保证内容流传输的安全性,首先要求各个si和vp之间能够建立安全通信,且要求各个si和各个ti之间也都能建立安全通信。因此,在传输内容流之前,各个si需要和vp之间建立起各自的共享认证密钥,各个si和各个ti之间也要建立起各自的共享认证密钥。
39.对内容保护的实现要求si到vp之间的内容传输加密,以及vp到ti之间的内容传输加密,就要求有一个可靠的内容流安全传输方法,使得在vp处能够使用解密密钥解密从si接收到的音视频流,并使用新的加密密钥加密转转后的新内容流给接收端。
40.当前存在的一个方案是由hdcp(high bandwidth digital content protection,高带宽数字内容保护技术),hdcp的方案是分级的,在hdcp方案中,多个si(i=1

n)发送端内容经过vp合成为一条流传输至其他节点然后发送给多个接收端ti(i=1

m)呈现。其中,vp的主要功能包括:(1)合成不同的音视频流为一条音视频流,具体是将传输过来的多条音视频流进行处理组合成为一条音视频流再传输出去。一个典型的应用场景是将音频流和无声的视频流合成为一条流给其中接口设备呈现;(2)实现pip(picture in picture,画中画),pip是一些电视机和摄像头的一项功能,通过在主窗口中插入一个或多个小窗口,使得用户可以同时观看多个节目。
41.hdcp系统架构包括hdcp transmitter(发射机)、hdcp repeter(中继器)、hdcp receiver(接收机);其中,hdcp transmitter(发射机)为si,hdcp repeter(中继器)为vp,hdcp receiver(接收机)为ti。
42.为了实现多内容流经vp合成为一条流再分发,hdcp的方案具体包括:(1)在内容流传输之前,s1、s2

sn分别和vp进行认证,以分别建立共享认证密钥(比如s1与vp共享k1;s2与vp共享k2

);(2)在内容流传输之前,vp分别和t1、t2

tn进行认证,以分别建立共享认证密钥(比如vp与t1共享m1;s2与vp共享m2

);(3)s1、s2

sn处各自生成自己的内容流密钥,用与vp共享的认证密钥加密内容流密钥,用内容流密钥加密流,然后将经加密的内容流密钥和经加密的流传输给vp;(4)vp利用和s1、s2

sn建立的共享认证密钥,解密得到s1,s2,

sn的内容流密钥,分别解密内容流后得到各条明文流;(5)vp生成新的一个内容流密钥,用和t1、t2

tn建立的共享认证密钥加密,用该内容流密钥加密各条流,然后将经加密的内容流密钥和经加密的流分别传给t1、t2

tn;(6)t1,t2,

,tn使用和vp建立的共享认证密钥,解密后得到对应的内容流密钥,并用该内容流密钥解密内容流呈现。
43.对于多级的hdcp结构,每层的加解密过程与以上过程类似,hdcp transmitter对hdcp repeater和hdcp receiver加密,hdcp repeater负责对下级的hdcp repeater和hdcp receiver加密,hdcp transmitter不参与hdcp repeater对下级的hdcp repeater和hdcp receiver的加密,这样,对repeater下的设备的密钥生成和分发过程,就缺少内容源transmitter的参与,从而导致数据的安全性较低。
44.本技术提出了一种密钥合成方法、装置、系统及计算机可读存储介质,密钥合成方法是一种新的由内容源主导的音视频合成内容流的安全传输方法,其实现方法简单、清晰,提升了音视频转换过程的数据安全性。
45.需要说明的是,本技术提供的密钥合成方法应用于带数字接口的设备产品,尤其
是音视频转换器。当前的典型数字接口包括hdmi、dp、dvi、ieee1394、miracast等。设备产品主要包括电视、pc、机顶盒等传输音视频内容的终端设备。
46.首先,对本技术中的专业术语进行解释:
47.(1)hmac
48.hmac是密钥相关的哈希运算消息认证码(hash

based message authentication code)的缩写,由h.krawezyk,m.bellare,r.canetti于1996年提出的一种基于hash函数和密钥进行消息认证的方法,并于1997年作为rfc2104被公布,并在ipsec和其他网络协议(如ssl)中得以广泛应用,现在已经成为事实上的internet安全标准,它可以与任何迭代散列函数捆绑使用。
49.(2)hkdf
50.hkdf是基于hmac的密钥导出函数(key derivation function),hkdf(input_key_material,info,out_len)遵循rfc5869中的说明,它有三个参数,第一个参数是密钥材料,第二个参数是附加说明,第三个参数是输出密钥的字节长度。
51.(3)对称加密算法
52.对称加密算法是一种高效的加密/解密算法,它使用同样的密钥进行加密和解密。在本技术中,用enc
k
(text)表示使用密钥k和某特定的对称加密函数加密了数据text。常用的对称加密函数有aes

128和aes

256,它们都是nist所支持并提供的标准对称加密算法。
53.(4)共享认证密钥
54.共享密钥认证(shared key authentication)是指通过判决双方是否掌握相同的密钥来确定对方身份是否合法。密钥是网络上所有合法用户共有的,而不从属于单个用户,故称为“共享”密钥。密钥对应的加密方法是有线等效保密(wired equivalent privacy,wep),用以防止非法用户窃听或侵入无线网络。
55.(5)音视频转换器
56.vp(video processer,音视频转换器)是一种特殊的数据接口设备产品,支持对接收到的数字接口内容进行转换后输出给其他数字接口设备产品。转换过程包括分辨率调整、内容合成等过程。
57.(6)模运算
58.模运算是一类代数运算。一般地,模运算涉及一个被称为模空间的集合s和一个固定的模n。s中的元素是0,1,2,

n

1。s中的元素可以相加,相减,或者相乘,具体运算过程是首先按照一般的加减乘法计算,然后取除以n所得的余数。例如,当n=5时,我们有2+3mod 5=5mod 5=0,2*3mod 5=6mod 5=1。特别地,不断地复合加减乘法,我们能在基本的模运算的基础上建立起模空间中的多项式运算。比如f(x)=x^2mod n,则当n=5时,我们有f(3)=3^2mod 5=9mod 5=4。
59.(7)素域
60.素域表示一个有p个元素的域,其中p是一个素数。它是一种基本的代数结构,在计算机科学中常被利用来作为一个能提供加减乘除运算的有限的基础空间。素域上的运算可以被视为mod p运算,和一般的模运算不同的是,除了加减乘法,它还允许做除法。
61.(8)方阵的逆
62.方阵是线性代数中的一个基本概念,它代表着一个线性变换,可以简单地认为,它
是向量空间之间的一种特殊的映射。假设a是一个方阵,它将线性空间v映射到w中。则a有可能有一个逆,它将线性空间w映射到线性空间v中,称为a的逆方阵。在a的逆方阵存在的时候,我们用b记a的逆,则对v中的任何元素x,都会有:b(a(x))=x成立;对w中的任何元素y,都会有:a(b(y))=y成立。
63.(9)miller

rabin素性检验
64.miller

rabin素性检验这是一种特殊的、高效的素性检验。素性检验是用来检验一个正整数n是否是素数的检验。
65.本技术实施例提供一种密钥合成方法,由转换端执行,包括:与至少一个发送端进行共享认证,得到至少一个第一认证密钥;接收至少一个发送端发送的至少一个第一已加密密钥;根据第一认证密钥对至少一个第一已加密密钥进行解密处理,得到至少一个内容流密钥;对至少一个内容流密钥进行密钥合成,得到目标密钥。
66.如图1所示,图1是本技术一个实施例提供的密钥合成方法的流程图,用于转换端,密钥合成方法包括但不限于步骤s110至步骤s140,具体包括:
67.s110,与至少一个发送端进行共享认证,得到至少一个第一认证密钥;
68.s120,接收至少一个发送端发送的至少一个第一已加密密钥;
69.s130,根据第一认证密钥对至少一个第一已加密密钥进行解密处理,得到至少一个内容流密钥;
70.s140,对至少一个内容流密钥进行密钥合成,得到目标密钥。
71.在步骤s110中,发送端的数量包括但不限于一个,每个发送端分别与转换端进行共享认证,双方各自获得共享的第一认证密钥,分别存储在发送端和转换端,第一认证密钥用于对内容流密钥进行加密,保证内容流密钥在通信过程中的安全性。
72.在步骤s120中,接收到的第一已加密密钥为发送端用第一认证密钥加密内容流密钥得到的,具体地,每个发送端拥有一个完整音视频数据的不同部分,即不同的内容流,要完成视频的发送,就要依赖每个发送端的内容流发送,所以要保障整个数据传输过程的安全性,就必须保证每个发送端与转换端间内容流传输的安全性,因此,需要为每个发送端和转换端之间分配一个内容流密钥,进而,为了保证内容流密钥的安全性,需要为每个内容流密钥分配一个第一认证密钥,用于对其对应的内容流密钥进行加密和解密。
73.在步骤s130中,转换端接收到每个发送端发送的第一已加密密钥后,用第一认证密钥进行解密,得到每个发送端被分配的内容流密钥,需要说明的是,在具体的实施例中,发送端的数量、第一已加密密钥的数量、内容流密钥的数量相等且包括但不限于一个。
74.在步骤s140中,转换端解密得到每个内容流密钥之后,利用密钥合成算法对至少一个内容流密钥进行密钥合成,得到目标密钥,目标密钥用于后续对合成后的视频的加密。
75.在步骤s140中,具体地,记发送端为si(i=1,2

n),即n个发送端分别为s1、s2

sn;记转换端为vp;记接收端为ti(i=1,2

n),即m个接收端分别为t1、t2

tn;记内容流密钥为ki(i=1,2

n),n个内容流密钥分别为k1、k2

kn。转换端的密钥合成过程具体包括:vp采用密钥合成算法将由n个si发送过来的密钥n个ki合成为目标密钥k,目标密钥k用于vp对内容流的加密,然后发送给接收端。
76.本技术提供的密钥合成方法,每个发送端分别已加密密钥给转换端和每个接收端,转换端和接收端对接收到的已加密密钥进行解密,得到至少一个内容流密钥,再对内容
流进行密钥合成,得到目标密钥,并使用目标密钥完成对视频数据的加密和解密,提高了数据传输的安全性。
77.根据本技术的一些实施例,方法还包括:监听节点拓扑信息的变化情况以获取节点拓扑变化信息;根据节点拓扑变化信息重新接收至少一个发送端发送的哈希认证码和对应的第一已加密密钥;根据第一认证密钥、第一已加密密钥对哈希认证码进行验证,得到验证结果;根据验证结果对至少一个内容流密钥进行密钥合成或结束密钥合成。
78.如图2所示,图2是本技术另一个实施例提供的密钥合成方法的流程图,用于转换端,密钥合成方法还包括:
79.s210,监听节点拓扑信息的变化情况以获取节点拓扑变化信息;
80.s220,根据节点拓扑变化信息重新接收至少一个发送端发送的哈希认证码和对应的第一已加密密钥;
81.s230,根据第一认证密钥、第一已加密密钥对哈希认证码进行验证,得到验证结果;
82.s240,根据验证结果对至少一个内容流密钥进行密钥合成或结束密钥合成。
83.在步骤210至s240中,节点拓扑信息的变化情况包括但不限于以下两类:任一节点的加入和退出、任一节点的更新;具体地,任一节点的加入和退出包括(1)发送端加入、(2)接收端加入、(3)发送端退出、(4)接收端退出;任一节点的更新包括(5)发送端更新、(6)接收端更新。对应地,节点拓扑变化信息即为对应上述不同变化情况的变化记录,用于对变化类型进行判断并执行不同的安全决策。
84.其中,对于(1)发送端加入和(2)接收端加入的变化情况,若监测到发送端或加入,即发送端或接收端的数量增加,对应的内容流密钥也需要增加,需要每个发送端和转换端、接收端重新共享认证,得到第一认证密钥和第二认证密钥,进而完成密钥的分发、合成、内容流的加密和解密过程。
85.对于(3)发送端退出的变化情况,发送端的退出不会对数据传输的安全性产生威胁,只需要转换端和接收端根据接收到的内容流密钥合成目标密钥,对内容流进行加密和解密即可。
86.对于(4)接收端退出的变化情况,当任一接收端退出时,为避免其此前接收到的密钥和内容流数据的泄露,从而对数据传输的安全性产生威胁,须完成重新分发内容流密钥、合成目标密钥和内容流加密的步骤。
87.此外,在重新分发内容流密钥过程中,发送端对转换端发送的除了第一已加密密钥之外,还需要发送一个对第一已加密密钥进行哈希运算处理得到的哈希认证码;转换端首先对接收到的第一已加密密钥使用第一认证密钥进行哈希计算,其中哈希计算以hmac算法进行计算,将计算出来的各个hmac值和接收到的相应的哈希认证码的hmac值进行比对,如果所有的hmac值都相同,则合成新的目标密钥;如果有一个hmac值不同,则退出并终止密钥合成流程,以保证数据传输的安全性。
88.对于(5)发送端更新的变化情况,任一发送端更新时,为避免出现“虽然该发送端已经更新,但仍旧采用原有的密钥进行密钥的分发”的情况出现,须完成重新分发内容流密钥、合成目标密钥和内容流加密的步骤。
89.此外,在重新分发内容流密钥过程中,发送端对转换端发送的除了第一已加密密
钥之外,还需要发送一个对第一已加密密钥进行哈希运算处理得到的哈希认证码;转换端首先对接收到的第一已加密密钥使用第一认证密钥进行哈希计算,其中哈希计算以hmac算法进行计算,将计算出来的各个hmac值和接收到的相应的哈希认证码的hmac值进行比对,如果所有的hmac值都相同,则合成新的目标密钥;如果有一个hmac值不同,则退出并终止密钥合成流程,以保证数据传输的安全性。
90.对于的(6)接收端更新的变化情况,接收端的数据量没有发生变化,仅仅是自身数据的更新,也不会对数据传输的安全性产生威胁,因此,不会影响到密钥及内容流的分发、合成过程,若监测到接收端更新,则继续进行原有的密钥分发与合成流程。
91.本技术实施例提供一种密钥合成方法,由发送端执行,包括:获取至少一个内容流密钥;与转换端进行共享认证,得到第一认证密钥;与至少一个接收端进行共享认证,得到第二认证密钥;根据第一认证密钥对内容流密钥进行加密处理,得到第一已加密密钥;发送第一已加密密钥给转换端,以使转换端根据至少一个发送端发送的至少一个第一已加密密钥进行密钥合成;根据第二认证密钥对内容流密钥进行加密处理,得到第二已加密密钥;发送第二已加密密钥给至少一个接收端,以使接收端根据至少一个发送端发送的至少一个第二已加密密钥进行密钥合成。
92.如图3所示,图3是本技术另一个实施例提供的密钥合成方法的流程图,用于发送端,密钥合成方法包括但不限于步骤s310至步骤s370,具体包括:
93.s310,获取至少一个内容流密钥;
94.s320,与转换端进行共享认证,得到第一认证密钥;
95.s330,与至少一个接收端进行共享认证,得到第二认证密钥;
96.s340,根据第一认证密钥对内容流密钥进行加密处理,得到第一已加密密钥;
97.s350,发送第一已加密密钥给转换端,以使转换端根据至少一个发送端发送的至少一个第一已加密密钥进行密钥合成;
98.s360,根据第二认证密钥对内容流密钥进行加密处理,得到第二已加密密钥;
99.s370,发送第二已加密密钥给至少一个接收端,以使接收端根据至少一个发送端发送的至少一个第二已加密密钥进行密钥合成。
100.在步骤s310中,内容流密钥的数量与、发送端的数量和接收端的数量相等。
101.在步骤s320中,每个发送端分别与转换端进行共享认证,双方各自获得共享的第一认证密钥,分别存储在发送端和转换端,第一认证密钥用于对内容流密钥进行加密,保证内容流密钥在通信过程中的安全性。例如,若有n个发送端,则发送端和转换端需要建立的共享认证次数和第一认证密钥的数量为n。
102.在步骤s330中,每个发送端分别与每个接收端进行共享认证,双方各自获得共享的第二认证密钥,分别存储在发送端和转换端,第二认证密钥用于对内容流密钥进行加密,保证内容流密钥在通信过程中的安全性。例如,若有n个发送端和m个接收端,则发送端与接收端需要建立的共享认证次数和第二认证密钥的数量为n
×
m。
103.在步骤s340至s350中,发送端用n个第一认证密钥对n个内容流密钥进行加密,得到n个第一已加密密钥,并将n个第一已加密密钥发送给转换端,用于转换端进行密钥合成。
104.具体地,记发送端为si(i=1,2

n),即n个发送端分别为s1、s2

sn;记转换端为vp;记接收端为tj(j=1,2

m),即m个接收端分别为t1、t2

tn;记内容流密钥为ki(i=1,
2

n),n个内容流密钥分别为k1、k2

kn。记n个第一已加密内容流密钥为u1、u2

u n;记n
×
m个第二已加密内容流密钥为u11、u12

u21、u22

u nm。则发送端与转换端之间的密钥分发过程具体包括:
105.s1把k1经u1加密后发送给vp,把k2经u2加密后发送给vp

把k3经u 3加密后发送给vp。
106.在步骤s360至s370中,发送端用n
×
m个第二认证密钥对n个内容流密钥进行加密,得到n
×
m个第一已加密密钥,并将n
×
m个第一已加密密钥发送给n接收端,用于转换端进行密钥合成。
107.具体地,记发送端为si(i=1,2

n),即n个发送端分别为s1、s2

sn;记转换端为vp;记接收端为tj(j=1,2

m),即m个接收端分别为t1、t2

tn;记内容流密钥为ki(i=1,2

n),n个内容流密钥分别为k1、k2

kn。记n个第一已加密内容流密钥为u1、u2

u n;记n
×
m个第二已加密内容流密钥为u11、u12

u21、u22

u nm。则发送端与接收端之间的密钥分发过程具体包括:
108.s1把k1经u11加密后发送给t1,把k1经u12加密后发送给t2

把k1经u 1m加密后发送给tm;
109.s2把k2经u21加密后发送给t1,把k2经u22加密后发送给t2

把k2经u 2m加密后发送给tm;
110.……
111.sn把k2经u21加密后发送给t1,把k2经u22加密后发送给t2

把k2经u 2m加密后发送给tm。
112.本技术提供的密钥合成方法,每个发送端分别已加密密钥给转换端和每个接收端,转换端和接收端对接收到的已加密密钥进行解密,得到至少一个内容流密钥,再对内容流进行密钥合成,得到目标密钥,并使用目标密钥完成对视频数据的加密和解密,提高了数据传输的安全性。
113.根据本技术的一些实施例,方法还包括:监听节点拓扑信息的变化情况以获取节点拓扑变化信息;根据节点拓扑变化信息更新第一已加密密钥和第二已加密密钥;根据节点拓扑变化信息对第一已加密密钥、第二已加密密钥进行哈希运算处理,得到哈希认证码;发送哈希认证码和更新的第一已加密密钥给转换端,发送哈希认证码和第二已加密密钥给接收端。
114.如图4所示,图4是本技术另一个实施例提供的密钥合成方法的流程图,用于发送端,密钥合成方法还包括:
115.s410,监听节点拓扑信息的变化情况以获取节点拓扑变化信息;
116.s420,根据节点拓扑变化信息更新第一已加密密钥和第二已加密密钥;
117.s430,根据节点拓扑变化信息对第一已加密密钥、第二已加密密钥进行哈希运算处理,得到哈希认证码;
118.s440,发送哈希认证码和更新的第一已加密密钥给转换端,发送哈希认证码和第二已加密密钥给接收端。
119.在步骤410至s440中,若监测到节点拓扑信息的变化情况为上述实施例中的(4)接收端退出、(5)发送端更新,即存在任一接收端退出或者任一发送端更新时,须完成重新分
发内容流密钥、合成目标密钥和内容流加密的步骤,在重新分发内容流密钥过程中,发送端对转换端发送的除了第一已加密密钥之外,还需要发送一个对第一已加密密钥进行哈希运算处理得到的哈希认证码;发送端对接收端发送的除了第二已加密密钥之外,还需要发送一个对第二已加密密钥进行哈希运算处理得到的哈希认证码;哈希认证码用于转换端和接收端保证数据传输的安全性。
120.本技术实施例提供一种密钥合成方法,由接收端执行,包括:与至少一个发送端进行共享认证,得到至少一个第二认证密钥;接收至少一个发送方发送的至少一个第二已加密密钥;根据至少一个第二认证密钥对至少一个第二已加密密钥进行解密处理,得到至少一个内容流密钥;将至少一个内容流密钥进行密钥合成,得到目标密钥。
121.如图5所示,图5是本技术另一个实施例提供的密钥合成方法的流程图,用于接收端,密钥合成方法包括但不限于步骤s510至步骤s540,具体包括:
122.s510,与至少一个发送端进行共享认证,得到至少一个第二认证密钥;
123.s520,接收至少一个发送方发送的至少一个第二已加密密钥;
124.s530,根据至少一个第二认证密钥对至少一个第二已加密密钥进行解密处理,得到至少一个内容流密钥;
125.s540,将至少一个内容流密钥进行密钥合成,得到目标密钥。
126.在步骤s510中,发送端的数量包括但不限于一个,每个发送端分别与每个接收端进行共享认证,双方各自获得共享的第二认证密钥,分别存储在发送端和接收端,第二认证密钥用于对内容流密钥进行加密,保证内容流密钥在通信过程中的安全性。
127.在步骤s520中,接收到的第二已加密密钥为发送端用第二认证密钥加密内容流密钥得到的。
128.在步骤s530中,每个接收端接收到每个发送端发送的第二已加密密钥后,用第二认证密钥进行解密,得到每个发送端被分配的内容流密钥。
129.在步骤s540中,接收端解密得到每个内容流密钥之后,利用密钥合成算法对至少一个内容流密钥进行密钥合成,得到目标密钥,目标密钥用于后续对接收到的合成后的视频的解密。
130.在步骤s540中,具体地,记发送端为si(i=1,2

n),即n个发送端分别为s1、s2

sn;记转换端为vp;记接收端为tj(j=1,2

m),即m个接收端分别为t1、t2

tn;记内容流密钥为ki(i=1,2

n),n个内容流密钥分别为k1、k2

kn。则接收端的密钥合成过程具体包括:tj采用密钥合成算法将由si发送过来的密钥ki合成为目标密钥k,目标密钥k用于接收端对从vp接收到的内容流的解密。
131.本技术提供的密钥合成方法,每个发送端分别已加密密钥给转换端和每个接收端,转换端和接收端对接收到的已加密密钥进行解密,得到至少一个内容流密钥,再对内容流进行密钥合成,得到目标密钥,并使用目标密钥完成对视频数据的加密和解密,提高了数据传输的安全性。
132.目前,在内容流加密领域中常用的密钥合成过程中,合成后的目标密钥k的字节长度(out_len)与合成前的内容流密钥k1,k2

kn相同,当任一ti不安全或者有恶意的时候,将会对数据的加密及分发过程造成严重的威胁。
133.本技术提供的密钥合成方法在目标密钥的合成过程中,采用了新的密钥合成算
法,根据密钥字节长度的特征完成密钥合成过程,即使在任一ti不安全或者有恶意的情况下,仍然能保证在“多个发送端的内容流经过设备vp合成后输出一个新的内容流给多个接收端”场景下数据传输的安全性。
134.本技术采用的密钥合成算法包括但不限于:(1)hkdf方法、(2)分别hkdf后再异或方法、(3)分组加密方法、(4)模运算方法、(5)素域多项式

拉格朗日插值方法、(6)素域多项式

范德蒙逆矩阵方法,各算法具体包括:
135.(1)hkdf方法具体包括:
136.1.1将各个密钥进行黏合得到text=k1||k2||

kn,||为拼接符;
137.1.2计算出k=hkdf(text,“vp encryption”,out_len)。
138.需要说明的是,在本技术具体的实施例中,hkdf也可能为hmac、cmac、hash等单向不可逆算法或它们的组合。
139.(2)分别hkdf后再异或方法具体包括:
140.2.1计算ti=hkdf(ki,“vp encryption”,out_len),i=1,2,

,n;
141.2.2计算出2.2计算出为异或运算。
142.(3)分组加密方法具体包括:
143.假设密钥的比特长度为128位或者256位
144.3.1计算
145.3.2如果密钥的比特长度为128位;使用对称加密算法aes

128,计算出k=aes

128
t
(t);如果密钥的比特长度为256位;使用对称加密算法aes

256,计算出k=aes

256
t
(t)。
146.(4)模运算方法具体包括:
147.4.1取m=2^(8*out_len);
148.4.2计算k=k1+k2+

+kn mod m。
149.(5)素域多项式

拉格朗日插值方法具体包括:
150.假设输入密钥的个数n有一个上界n,这个假设在通常情况下都会被满足。取m=2^(8*out_len);取一素数p,满足p=m

t;t是一个非常小的整数,可以使用miller

rabin素性检验来逐个测试以获得满足以上要求的t。
151.此外,该方法还需要假设接收端在接收到每个密钥ki,i=1,2,

,n的时候,同时得到每个密钥相应的时间戳ti,i=1,2,

,n。
152.本方法的计算分两个环节,一个是预计算环节,它在整个流程发生之前就发生,并将计算出的值储存起来,因此只需要做一次预计算。另一个环节是正式的计算环节,它发生在本方法每次被调用的时候。
153.预计算环节:对n=1,2,

,n,分别计算素域上的n个多项式
154.正式计算环节:
155.5.1计算对i=1,2,

,n,分别计算pi=ki*qi(0)mod p;
156.5.2计算k=p1+p2+

+pn mod p。
157.(6)素域多项式

范德蒙逆矩阵方法
158.本方法和方法(5)一样用到了素域上的多项式代数。同样,本方法假设输入密钥的个数n有一个上界n,这个假设在通常情况下都会被满足。
159.取m=2^(8*out_len);取一素数p,满足p=m

t;t是一个非常小的整数,可以使用miller

rabin素性检验来逐个测试以获得满足以上要求的t。
160.本方法的计算分两个环节,一个是预计算环节,它在整个流程发生之前就发生,并将计算出的值储存起来,因此只需要做一次预计算。另一个环节是正式的计算环节,它发生在本方法每次被调用的时候。
161.预计算环节:对n=1,2,

,n,分别计算矩阵的逆矩阵,事实上,只要分别计算出每个逆矩阵的第一行(a1,a2,

,an)就可以了。
162.正式计算环节:计算k=a1*k1+a2*k2+

+an*kn mod p。
163.需要说明的是,以上的密钥合成算法中,方法(1)、(5)、(6)的应用需要满足一个前提,即n个发送端有一个固定的次序,使得不同的接收端能够将收到的n个密钥按照固定的顺序进行排列。
164.需要说明的是,本技术提供的密钥合成方法除了包括了密钥、内容流传输机制之外,还为多内容流合成为单内容流后再传输提供了一种可行且安全的实现方法。
165.下面参考图6至图10,以一个具体的实施例详细描述密钥合成方法。值得理解的是,下述描述仅是示例性说明,而不是对申请的具体限制。
166.在具体的实施例中,设定有两个发送端为s1、s2;两个接收端为t1、t2;转换端为vp;设定s1、s2都已经和vp、t1、t2之间都完成了认证完成了认证。记s1和vp之间建立的认证密钥为u1;记s2和vp之间建立的认证密钥为u2;记s1和t1之间建立的认证密钥为v11;记s1和t2之间建立的认证密钥为v12;记s2和t1之间建立的认证密钥为v21,即s2和t2之间建立的认证密钥为v22。
167.如图6所示,图6是本技术一个实施例提供的内容流传输示意图,s1把内容流stream1发送给vp,s2把内容流stream2发送给vp,vp将stream1和stream2合成为stream3,分别发送给t1和t2。
168.在具体的实施例中,整个密钥分发及合成过程包括但不限于以下三个步骤:(1)分发密钥过程、(2)合成密钥过程、(3)内容流加密及解密过程。
169.如图7所示,图7是本技术一个实施例提供的分发密钥示意图,在(1)分发密钥过程中,s1产生一个密钥k1,s2产生一个密钥k2,并分别将它们经第一认证密钥加密后传输给vp和t1、t2。
170.需要说明的是,图7中s1指向vp有两条连线,其中上方的直线标识密钥的传输过程,下方的曲线表示内容流的加密传输过程;对应地,s2指向vp也有两条连线,其中上方的直线标识密钥的传输过程,下方的曲线表示内容流的加密传输过程。
171.在(2)合成密钥过程中,vp、t1、t2都使用密钥合成算法合成新的内容密钥k。
172.如图8所示,图8是本技术一个实施例提供的内容流分发示意图,在(3)内容流加密及解密过程中,vp将新的流stream3使用新的内容流密钥k加密之后,传输给t1和t2;t1、t2则使用新的内容流密钥k解密该加密流,最终t1和t2都安全地获取内容流stream3。
173.在具体的实施例中,如果有一新的接收端t3加入,则在s1、s2已经和t3建立好共享认证密钥的前提下,发生以下流程:
174.(1)分发密钥:s1,s2各自产生新的内容流密钥k1’,k2’,并分别用认证密钥加密后传输给vp,t1,t2,t3。
175.(2)合成密钥:vp使用上文所述密钥合成方法,由k1’,k2’合成新的内容流密钥k;t1,t2,t3也都使用上文所述密钥合成方法,由k1’,k2’合成新的内容流密钥k’。
176.(3)内容流加密及解密:vp使用k’加密内容流,传输给t1、t2、t3;t1、t2、t3都使用k’解密传输过来的内容流。
177.在具体的实施例中,如图9所示,图9是本技术一个实施例提供的发送端更新示意图,如果s1更新,则发生以下流程:
178.(1)分发密钥:s1、s2各自产生新的内容流密钥k1’,k2’,并使用hmac和认证密钥作用于加密后的密钥,得到相应的哈希值。s1、s2将加密后的密钥和上述哈希值分别传输给vp;s1、s2将加密后的密钥分别传输给t1、t2。需要说明的是,为图示的清晰性考虑,只具体示意了s1和vp、t1、t2之间的传输过程。
179.(2)合成密钥:首先,vp使用u1对从s1传来的加密密钥计算出一个hmac值,如果和s1传来的hmac值不同,则退出并终止该流程;vp使用u2对从s2传来的加密密钥计算出一个hmac值,如果和s2传来的hmac值不同,则退出并终止该流程。如果以上两个hmac比对的结果都是相同,则vp使用上文所述密钥合成方法,由k1’,k2’合成新的内容流密钥k;t1,t2也都使用上文所述密钥合成方法,由k1’,k2’合成新的内容流密钥k’。
180.(3)内容流加密及解密:vp使用k’加密内容流,传输给t1,t2;t1,t2都使用k’解密传输过来的流。
181.在具体的实施例中,如图10所示,图10是本技术一个实施例提供的接收端退出示意图,如果t1退出,则发生以下流程:
182.(1)分发密钥:s1、s2各自产生新的内容流密钥k1’、k2’,并使用hmac和认证密钥作用于加密后的密钥,得到相应的哈希值。s1,s2将加密后的密钥和上述哈希值分别传输给vp,t,t2。,需要说明的是,为图示的清晰性考虑,只具体示意了s1和vp、t2之间的传输。
183.(2)合成密钥:首先,vp使用u1对从s1传来的加密密钥计算出一个hmac值,如果和s1传来的hmac值不同,则退出并终止该流程;vp使用u2对从s2传来的加密密钥计算出一个hmac值,如果和s2传来的hmac值不同,则退出并终止该流程。如果以上两个hmac比对的结果都是相同,则vp使用上文所述密钥合成方法,由k1’,k2’合成新的内容流密钥k’;t2使用上文所述密钥合成方法,由k1’,k2’合成新的内容流密钥k’。
184.(3)内容流加密及解密:vp使用k’加密内容流,传输给t2,;t2使用k’解密传输过来的流。
185.在具体的实施例中,如果s1退出,则发生以下流程:
186.(1)合成密钥:vp使用上文所述密钥合成方法,由k2合成新的内容流密钥k’;t1,t2也都使用上文所述密钥合成方法,由k2合成新的内容流密钥k’。
187.(2)内容流加密及解密:vp使用k’加密内容流,传输给t1,t2;t1,t2都使用k’解密传输过来的流。
188.本技术实施例提供了一种密钥合成装置,用于转换端,装置包括:认证模块,用于与至少一个发送端进行共享认证,得到至少一个第一认证密钥;密钥接收模块,用于接收至少一个发送端发送的至少一个第一已加密密钥;解密模块,用于根据第一认证密钥对至少一个第一已加密密钥进行解密处理,得到至少一个内容流密钥;合成模块,用于对至少一个内容流密钥进行密钥合成,得到目标密钥。
189.本技术提供的密钥合成装置实现了密钥合成方法,每个发送端分别已加密密钥给转换端和每个接收端,转换端和接收端对接收到的已加密密钥进行解密,得到至少一个内容流密钥,再对内容流进行密钥合成,得到目标密钥,并使用目标密钥完成对视频数据的加密和解密,提高了数据传输的安全性。
190.本技术实施例提供了一种密钥合成装置,用于发送端,装置包括:内容流密钥获取模块,用于获取至少一个内容流密钥;第一认证模块,用于与转换端进行共享认证,得到第一认证密钥;第二认证模块,用于与至少一个接收端进行共享认证,得到第二认证密钥;第一加密模块,用于根据第一认证密钥对内容流密钥进行加密处理,得到第一已加密密钥;第一合成模块,用于发送第一已加密密钥给转换端,以使转换端根据至少一个发送端发送的至少一个第一已加密密钥进行密钥合成;第二加密模块,用于根据第二认证密钥对内容流密钥进行加密处理,得到第二已加密密钥;第二合成模块,用于发送第二已加密密钥给至少一个接收端,以使接收端根据至少一个发送端发送的至少一个第二已加密密钥进行密钥合成。
191.本技术提供的密钥合成装置实现了密钥合成方法,每个发送端分别已加密密钥给转换端和每个接收端,转换端和接收端对接收到的已加密密钥进行解密,得到至少一个内容流密钥,再对内容流进行密钥合成,得到目标密钥,并使用目标密钥完成对视频数据的加密和解密,提高了数据传输的安全性。
192.本技术实施例提供了一种密钥合成装置,用于接收端,装置包括:认证模块,用于与至少一个发送端进行共享认证,得到至少一个第二认证密钥;密钥接收模块,用于接收至少一个发送方发送的至少一个第二已加密密钥;解密模块,用于根据至少一个第二认证密钥对至少一个第二已加密密钥进行解密处理,得到至少一个内容流密钥;合成模块,用于将至少一个内容流密钥进行密钥合成,得到目标密钥。
193.本技术提供的密钥合成装置实现了密钥合成方法,每个发送端分别已加密密钥给转换端和每个接收端,转换端和接收端对接收到的已加密密钥进行解密,得到至少一个内容流密钥,再对内容流进行密钥合成,得到目标密钥,并使用目标密钥完成对视频数据的加密和解密,提高了数据传输的安全性。
194.根据本技术实施例的系统,系统包括转换端、至少一个发送端、至少一个接收端;其中,每个发送端与转换端通信连接,转换端与每个接收端通信连接,每个发送端与每个接收端通信连接。
195.其中,转换端包括:第一存储器、第一处理器及存储在第一存储器上并可在第一处理器上运行的计算机程序,第一处理器执行程序时实现用于转换端的密钥合成方法;
196.发送端包括:第二存储器、第二处理器及存储在第二存储器上并可在第二处理器
上运行的计算机程序,第二处理器执行程序时实现用于发送端的密钥合成方法;
197.接收端包括:第三存储器、第三处理器及存储在第三存储器上并可在第三处理器上运行的计算机程序,第三处理器执行程序时实现用于接收端的密钥合成方法。
198.如图11所示,图11是本技术一个实施例提供的密钥合成系统的数据流向示意图,其中记发送端为si(i=1,2

n),即n个发送端分别为s1、s2

sn;记转换端为vp;记接收端为tj(j=1,2

m),即m个接收端分别为t1、t2

tn。
199.如图12所示,图12是本技术一个实施例提供的密钥合成系统的密钥分发与合成示意图,其中,实线箭头所描述的是密钥的传输过程;虚线箭头描述的是密钥的合成过程。α是si和vp经认证协商出的认证密钥;β是si和tj经认证协商出的认证密钥;enc是某个对称加密函数。在具体的实施例中,si使用enc和α加密内容流密钥ki,传输给vp;si使用enc和β加密内容流密钥ki,传输给tj。vp端自己合成目标密钥k;tj也自己合成目标密钥k;目标密钥k就是vp和tj之间进行内容流传传输时所使用的内容流密钥。
200.根据本技术实施例的计算机可读存储介质,存储有计算机可执行指令,计算机可执行指令用于:
201.执行上述任一实施例的用于发送端的密钥合成方法;或,执行上述任一实施例的用于转换端的密钥合成方法;或,执行上述任一实施例的用于接收端的密钥合成方法。
202.以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
203.本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、装置可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术、cd

rom、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
204.上面结合附图对本技术实施例作了详细说明,但是本技术不限于上述实施例,在所属技术领域普通技术人员所具备的知识范围内,还可以在不脱离本技术宗旨的前提下作出各种变化。此外,在不冲突的情况下,本技术的实施例及实施例中的特征可以相互组合。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1