适于付费电视系统的基于密钥管理的访问控制方法与流程

文档序号:18162430发布日期:2019-07-13 09:24阅读:179来源:国知局
适于付费电视系统的基于密钥管理的访问控制方法与流程

本发明涉及计算机技术领域,具体而言涉及一种适于付费电视系统的基于密钥管理的访问控制方法。



背景技术:

随着无线技术的发展和智能设备的普及,付费电视作为一种新型商业模式迅速被大众所接受。基于订阅的服务作为付费电视系统中最常见的服务模式之一,能够支持用户订阅任意数量的电视节目,同时允许服务提供方(如,视频网站管理者)根据所提供的服务向用户收取一定的费用,以达到用户获得服务、服务方盈利的效果。为保护服务方的利益和用户的隐私数据(如宗教信仰、兴趣爱好等信息),用户所订阅的内容不得以明文的形式在信道上传播。服务方需要利用会话密钥对广播节目进行加密处理,并规定只有同时持有解密密钥和节目密文的付费用户才能获得节目的明文。具体而言,同一视频网站的所有用户构成一个小组。在订阅行为开始时,组内用户共同协商出一个会话密钥和各自的解密密钥。根据用户的请求,服务方利用会话密钥对数据进行加密并把密文发给相应的用户。用户在得到密文后,利用自己的解密密钥对密文进行解密,从而享受服务方提供的服务。

然而,在付费电视系统中,网站管理者需要不断更新节目单以吸引更多潜在用户,用户的喜好也会随时会发生改变。因此,一个良好的访问控制方案应至少满足以下三个条件:首先,它能够保护用户的隐私数据,即除用户自身以外,任何人都无法获知用户的身份和所喜欢的节目等隐私信息;其次,它能够支持视频网站管理者和用户对节目的动态操作,即允许视频网站管理者增加或删除一定数量的节目,同时支持用户增加订阅或取消订阅的行为;最后,它能够保证只有合法用户才能享受服务提供者提供的服务,即需对会话密钥进行不定期更新,以保证访问控制方案的前向安全和后向安全。

由上述分析可得,一旦用户所订阅的电视节目发生改变,就需对会话密钥进行更新以保证非法用户无法获得数据的访问权限。然而,由于付费电视中节目众多,访问控制过程复杂,为服务提供方和用户均带来了巨大的计算开销和通信开销。为解决这一问题,已有很多访问控制方案被提出。现有付费电视中使用的访问控制方案可大致分为两类:基于密钥树结构的访问控制方案和基于密钥协商技术的访问控制方案。基于密钥树结构的访问控制方案能够灵活地支持服务提供者和用户的动态订阅行为,但每一个用户的行为发生改变会导致平均o(logn)个密钥被更新,给用户和服务提供者带来了巨大的开销;基于密钥协商技术的访问控制方案在通信开销方面优于基于密钥树结构的访问控制方案,但不能很好地支持所有地订阅行为。因此,在付费电视系统中设计一个同时满足动态性和密钥管理高效性的访问控制方案是很有必要的。



技术实现要素:

本发明目的在于提供一种适于付费电视系统的基于密钥管理的访问控制方法,能够在满足付费电视系统中对访问控制的需求的前提下,保证用户的隐私数据不会被窃取,在不损害所提方案安全的情况下,支持用户和服务提供者对电视节目的动态操作;同时,本发明仅需进行一次完整的密钥协商操作,当有动态行为发生时,用户和服务提供者需要管理的密钥数从o(logn)降低到o(1),节省了用户和服务提供者的计算和通信开销;另外发明适用于但不仅限于付费电视系统,还可用于多种需要进行访问控制的环境,如无线广播系统、智能电网等。

为达成上述目的,结合图1,本发明提出一种适于付费电视系统的基于密钥管理的访问控制方法,所述访问控制方法包括:

s1:接收用户发送的订阅请求,所述订阅请求中包括加密后的用户身份信息和该用户请求订阅的电视节目的索引。

s2:根据用户请求订阅的电视节目信息对用户进行分类,生成请求汇总表,所述请求汇总表中包括若干个用户子集,每个用户子集包括至少一个用户身份信息。

s3:针对每个用户子集生成其所独有的会话密钥。

s4:采用用户协商出的组加密密钥对每个用户子集的会话密钥进行加密,将会话密钥的密文发送至相应的用户子集所包含的所有用户。

s5:采用会话密钥和对称加密算法对电视节目数据进行加密,将加密后的电视节目数据和该电视节目所对应的合法用户的身份信息上传至云服务器。

进一步的实施例中,步骤s3中,针对每个用户子集生成其所独有的会话密钥是指,针对每个电视节目,生成子会话密钥;根据请求汇总表生成每个用户子集所独有的会话密钥。

进一步的实施例中,所述方法还包括:

当任意一个视频网站的用户信息发生变更时,该视频网站的所有用户采用密钥协商技术协商出新的组加密密钥和各自的解密密钥,公开新的组加密密钥。

进一步的实施例中,所述任意一个视频网站的用户信息发生变更包括:

出现新的订阅用户,和/或任意一个已有订阅用户请求退出。

进一步的实施例中,步骤s5中,所述采用会话密钥和对称加密算法对电视节目数据进行加密,将加密后的电视节目数据和该电视节目所对应的合法用户的身份信息上传至云服务器包括以下步骤:

根据对称加密算法中的密钥生成技术,和云服务器协商生成各自的公钥和私钥。

采用自身私钥和云服务器的公钥,对加密后的电视节目数据和该电视节目所对应的合法用户的身份信息再次进行签名加密,将加密结果上传至服务器。

进一步的实施例中,所述方法还包括:

所述云服务器对加密结果进行解密,获取加密后的电视节目数据的密文和该电视节目所对应的合法用户的身份信息,生成数据存储表。

进一步的实施例中,所述方法还包括:

所述云服务器响应于接收到用户发送的访问请求,所述访问请求中包括请求访问的电视节目数据和用户的身份信息,根据数据存储表以判断该用户是否为该电视节目数据所对应的合法用户,如果是,返回其请求访问的电视节目数据的密文。

进一步的实施例中,所述视频网站的所有用户采用密钥协商技术协商出组加密密钥和各自的解密密钥的过程包括以下步骤:

对系统进行初始化,生成并公开系统参数其中,p为大质数,为所有小于p的正整数的集合,g1,gt为两个p阶的循环群,代表g1,gt之间的双线性映射,p是g1的生成元,h代表不同的哈希函数h1:{0,1}*→g1,h3:gt→g1,m和n分别为电视节目和用户的数量。

每个用户ui选择一个随机数计算qi=h2(uidi‖xi)并公开qi=qi·p。

每个用户ui选取两个随机数计算ηi=h2(sp‖uidi‖yi)和di=h1(uidi‖zi),保存ηi为私有,公开di,其中0<i≤n,uidi为第i个用户的身份编号,sp为该用户所订阅节目的集合。

对0<j≤n,每个用户ui选择一个随机数计算dki,j=ηi·p+αi·dj,并公开{dki,1,dki,2,…,dki,i-1,dki,i+1,…,dki,n}。

每个用户计算自己的解密密钥为dki=dki,i+∑0<i≤nqi+∑0<j≤n,i≠jdkj,i=∑0<i≤nqi+∑0<j≤ndkj,i。

用户ui选取随机数计算xi=(ρi·ηi+(1-ρi)·qi)·p,yi=((1-ρi)·ηi+ρi·qi)·p和zi=αi·p。

令组加密密钥为gek=((x1,y1,z1),(x2,y2,z2),…,(xn,yn,zn)),公开组加密密钥gek。

所述针对每个用户子集生成其所独有的会话密钥的过程包括如下步骤:

在g1和里分别选择m+1个随机元素,计算令每个电视节目对应的子会话密钥为

根据请求汇总表,为每个用户子集生成会话密钥ω=∑i∈(cj)modm+1,j∈sωi,其中为只有视频网站管理者可知的大质数。

进一步的实施例中,所述方法还包括:

当任意一个用户ut请求退出时,所述视频网站的所有用户采用密钥协商技术协商出新的组加密密钥和各自的解密密钥的过程包括以下步骤:

选择随机数计算并公开

选取两个随机数保存为私有,公开

选择一个随机数计算并公开

选取随机数计算并公开

通知用户对组加密密钥和解密密钥进行更新,接收更新后的组加密密钥。

将会话密钥更新为其中为一个新的随机数。

进一步的实施例中,当出现新的订阅用户un+1时,所述视频网站的所有用户采用密钥协商技术协商出新的组加密密钥和各自的解密密钥的过程包括以下步骤:

用户un+1选取随机数计算qn+1=h2(uidn+1‖xn+1)并公开qn+1=qn+1·p;选取随机数计算ηn+1=h2(sp‖uidn+1‖yn+1)和dn+1=h1(uidn+1‖zn+1),保存ηn+1为私有,公开dn+1,0<i≤(n+1)。

对0<j≤n,用户un+1选择随机数计算dkn+1,j=ηn+1·p+αn+1·dj,并公开{dkn+1,1,dkn+1,2,…,dkn+1,n},用户ui计算并公开dki,n+1。

每个用户计算自己的解密密钥为dki=dki,i+∑0<i≤n+1qi+∑0<j≤n+1,i≠jdkj,i=∑0<i≤n+1qi+∑0<j≤n+1dkj,i。

用户un+1选取随机数计算xn+1=(ρn+1·ηn+1+(1-ρn+1)·qn+1)·p,yn+1=((1-ρn+1)·ηn+1+ρn+1·qn+1)·p和zn+1=αn+1·p。

将组加密密钥更新为gek=((x1,y1,z1),(x2,y2,z2),…,(xn,yn,zn),(xn+1,yn+1,zn+1)),公开组加密密钥gek。

将会话密钥更新为其中为一个新的随机数。

本发明提出一种适于付费电视系统的基于密钥管理的访问控制方法,将同一视频网站的所有用户构成一个组,再根据用户的喜好将这些用户划分为不同的用户子集,相同用户子集里的用户所订阅的电视节目相同。如果用户想要订阅某节目,需事先将自己的加密后身份信息和喜欢的节目发给视频网站管理者。在收到用户的请求后,网站管理者根据用户的需求对用户进行分类,并创建请求汇总表。网站管理者对电视节目和会话密钥进行加密,并把节目的密文和会话密钥的密文分别发给云服务器和相应用户。随后,云服务器根据网站管理者上传的数据更新数据存储表,并根据数据存储表判断用户的请求是否合法。只有合法的用户才能够同时获得会话密钥和电视节目的密文,并进一步通过解密得到电视节目的明文。

以上本发明的技术方案,与现有相比,其显著的有益效果在于:

1)能够在满足付费电视系统中对访问控制的需求的前提下,保证用户的隐私数据不会被窃取,在不损害所提方案安全的情况下,支持用户和服务提供者对电视节目的动态操作。

2)本发明仅需进行一次完整的密钥协商操作,当有动态行为发生时,用户和服务提供者需要管理的密钥数从o(logn)降低到o(1),节省了用户和服务提供者的计算和通信开销。

3)另外发明适用于但不仅限于付费电视系统,还可用于多种需要进行访问控制的环境,如无线广播系统、智能电网等。

应当理解,前述构思以及在下面更加详细地描述的额外构思的所有组合只要在这样的构思不相互矛盾的情况下都可以被视为本公开的发明主题的一部分。另外,所要求保护的主题的所有组合都被视为本公开的发明主题的一部分。

结合附图从下面的描述中可以更加全面地理解本发明教导的前述和其他方面、实施例和特征。本发明的其他附加方面例如示例性实施方式的特征和/或有益效果将在下面的描述中显见,或通过根据本发明教导的具体实施方式的实践中得知。

附图说明

附图不意在按比例绘制。在附图中,在各个图中示出的每个相同或近似相同的组成部分可以用相同的标号表示。为了清晰起见,在每个图中,并非每个组成部分均被标记。现在,将通过例子并参考附图来描述本发明的各个方面的实施例,其中:

图1是本发明的一种适于付费电视系统的基于密钥管理的访问控制方法的流程图。

图2是本发明的用户、网站管理者和云服务器三者之间的通信过程示意图。

具体实施方式

为了更了解本发明的技术内容,特举具体实施例并配合所附图式说明如下。

本发明提及一种适于付费电视系统的基于密钥管理的访问控制方法,所述访问控制方法包括:

s1:接收用户发送的订阅请求,所述订阅请求中包括加密后的用户身份信息和该用户请求订阅的电视节目的索引。

s2:根据用户请求订阅的电视节目信息对用户进行分类,生成请求汇总表,所述请求汇总表中包括若干个用户子集,每个用户子集包括至少一个用户身份信息。

s3:针对每个用户子集生成其所独有的会话密钥。

s4:采用用户协商出的组加密密钥对每个用户子集的会话密钥进行加密,将会话密钥的密文发送至相应的用户子集所包含的所有用户。

s5:采用会话密钥和对称加密算法对电视节目数据进行加密,将加密后的电视节目数据和该电视节目所对应的合法用户的身份信息上传至云服务器。

结合图2,本发明提供的方法涉及用户、网站管理者和云服务器三个部分,其中用户、网站管理者和云服务器三者之间的通信过程如图2所示。

本发明提出了一个适于付费电视系统的基于密钥管理的访问控制方法,该方法可分为用户子集划分、密钥生成、密文生成、密文获取和解密五个阶段。在该方法正式实施前,需对系统进行初始化,生成并公开系统参数其中,p为大质数,g1,gt为两个p阶的循环群,代表g1,gt之间的双线性映射,p是g1的生成元,h代表不同的哈希函数h1:{0,1}*→g1,h3:gt→g1,m和n分别为电视节目和用户的数量。

一、用户子集划分

本步骤的目的在于用户子集划分,具体如下:

步骤1.1,用户对自己的身份进行加密处理,并把自己想要订阅电视节目的索引和身份的密文一起发送给网站管理者。

具体的,如果用户想要在某视频网站订阅相关电视节目,他要先对自己的身份进行加密得到ri=ri·h1(uidi),其中ri为只有该用户可知的随机数,uidi代表该用户的身份编号。然后,再把想要订阅的电视节目的索引sp={…,pidi,…}(0<i<m)和自己的身份信息以{ri,sp}的形式发送给视频网站管理者,其中pidi为第i个节目对应的编号。

步骤1.2,网站管理者在收到用户的订阅请求后,根据用户的需求进行分类,即把具有相同需求的用户分为一个用户子集,并更新请求汇总表如表1所示。

表1请求汇总表

二、密钥生成

密钥生成包括三个部分,视频网站管理者和云服务器协商生成的用于两者之间数据加密传输的密钥、同一视频网站的用户之间协商出的组加密密钥和各自的解密密钥、视频网站管理者创建的针对每个用户子集的会话密钥。

步骤2.1.视频网站管理者和云服务器各自生成自己的公钥和私钥,用于保证电视节目的安全性和完整性。

为保证视频网站管理者和云服务器之间的通信安全,需对通信数据利用对称加密算法(如rsa)进行签名加密。以根据rsa加密算法中密钥生成原理为例,视频网站管理者生成公钥pum={em,nm}和私钥prm={dm,nm},云服务器生成公钥puc={ec,nc}和私钥prm={dc,nc}。

步骤2.2.同一视频网站的用户之间利用密钥协商技术协商出一个组加密密钥和各自的解密密钥,并将组加密密钥公开。

为保证网站管理者和用户之间的通信安全,需对通信数据进行加密。这里,该视频网站中的所有用户共同协商出一个组加密密钥和各自的解密密钥。具体过程如下:首先,每个用户ui,其中,0<i≤n,选择一个随机数计算qi=h2(uidi‖xi)并公开qi=qi·p;其次,用户ui选取两个随机数基于自己所订阅的节目sp及身份编号uidi,计算ηi=h2(sp‖uidi‖yi)和di=h1(uidi‖zi),保存ηi为私有,公开di;随后,对0<j≤n,每个用户ui选择一个随机数计算dki,j=ηi·p+αi·dj,并公开{dki,1,dki,2,…,dki,i-1,dki,i+1,…,dki,n};接着,每个用户计算自己的解密密钥为dki=dki,i+∑0<i≤nqi+∑0<j≤n,i≠jdkj,i=∑0<i≤nqi+∑0<j≤ndkj,i;最后,用户ui选取随机数计算xi=(ρi·ηi+(1-ρi)·qi)·p,yi=((1-ρi)·ηi+ρi·qi)·p和zi=αi·p,令组加密密钥为gek=((x1,y1,z1),(x2,y2,z2),…,(xn,yn,zn)),公开组加密密钥gek。

步骤2.3.视频网站管理者首先生成每个电视节目的子会话密钥,再根据请求汇总表生成每个用户子集的会话密钥。

为保证电视节目在传输过程中不被窃取,需利用会话密钥对节目进行加密。生成会话密钥的具体过程如下:网站管理者首先在g1和里分别选择m+1个随机元素,计算令每个电视节目对应的子会话密钥为再根据请求汇总表,为每个用户子集生成会话密钥ω=∑i∈(cj)modm+1,j∈sωi,其中为只有视频网站管理者可知的大质数,s为与该用户订阅了相同节目的用户的集合。

三、密钥更新

步骤3.1.当用户余额不足或者欠费时,则默认该用户退出。由于用户在退出时并没有删除旧解密密钥,为防止该用户在退出网络后依然能够利用旧密钥正常通信,其它用户需对组加密密钥和解密密钥进行更新。

当用户ut退出网站时,网站管理者和用户需对通信所用的密钥进行更新。网站管理者首先选择随机数计算并公开其次,两个随机数保存为私有,公开接着,选择一个随机数计算并公开随后,选取随机数计算并公开最后,用户对组加密密钥和解密密钥进行更新(如步骤2.2所示)。此外,为保证通信的前向安全,会话密钥被更新为其中为一个新的随机数。

步骤3.2.除老用户退出之外,也会不断有新用户加入。为防止新用户能够解密该用户加入前的通信内容,其它用户也需对组加密密钥和解密密钥进行更新。

当新用户(设为un+1)加入视频网站时,通信所需密钥也需要被更新。首先,用户un+1选取随机数计算qn+1=h2(uidn+1‖xn+1)并公开qn+1=qn+1·p;其次,选取随机数计算ηn+1=h2(sp‖uidn+1‖yn+1)和dn+1=h1(uidn+1‖zn+1),保存ηn+1为私有,公开dn+1,0<i≤(n+1);随后,对0<j≤n,用户un+1选择随机数计算dkn+1,j=ηn+1·p+αn+1·dj,并公开{dkn+1,1,dkn+1,2,…,dkn+1,n},用户ui计算并公开dki,n+1;接着,每个用户计算自己的解密密钥为dki=dki,i+∑0<i≤n+1qi+∑0<j≤n+1,i≠jdkj,i=∑0<i≤n+1qi+∑0<j≤n+1dkj,i;最后,用户un+1选取随机数计算xn+1=(ρn+1·ηn+1+(1-ρn+1)·qn+1)·p,yn+1=((1-ρn+1)·ηn+1+ρn+1·qn+1)·p和zn+1=αn+1·p,将组加密密钥更新为gek=((x1,y1,z1),(x2,y2,z2),…,(xn,yn,zn),(xn+1,yn+1,zn+1)),公开组加密密钥gek。

此外,为保证通信的后向安全,将会话密钥更新为其中为一个新的随机数,s为所有订阅节目sp的用户集合。

四、密文生成

步骤4.1.网络管理者利用会话密钥和对称加密算法对电视节目进行加密,利用自己的私钥和云服务器的公钥对节目的密文和用户的身份信息进行签名加密,并将加密结果上传到云服务器。

在收到用户的订阅请求后,网站管理者根据用户的需求利用会话密钥算法对电视节目进行加密得到csp=encω(msp),令datas-sp={rs,csp}。此外,为防止恶意用户伪装成网站管理者,并谎称自己是合法的用户,网站管理者需要向云服务器证明自己的身份,即对datas-sp进行签名加密,得到最后,将上传到云服务器。

步骤4.2.网络管理者根据划分的用户子集,利用用户协商出的组加密密钥对会话密钥进行加密,并将会话密钥的密文发给相应的用户子集。

为保证合法用户能正常收看所订阅的电视节目,视频网站管理者还需将会话密钥以密文形式发送给相应用户。为此,网站管理者选择一个随机数并计算会话密钥cω=(c0,c1,c2),其中c0=τ·p,最后将cω发送给相应用户子集里的用户。

五、密文获取

步骤5.1.云服务器在收到网络管理者上传的数据之后,利用自己的私钥和网站管理者的公钥对数据进行验证和解密得到电视节目的密文和用户的身份信息,并更新数据存储表,数据存储表如表2所示。

表2数据存储表

云服务器在收到cs-sp之后,要先对该签名其进行认证,即计算认证成功后,可得到电视节目的密文和用户的身份,随后更新数据存储表。

步骤5.2.用户向云服务器发出访问请求,云服务器判断用户身份是否合法,并将电视节目的密文发给合法用户。

用户ui为获得电视节目的密文,需要云服务器证明自己的身份是合法的。为此,用户随机选取一个整数计算并将(ri·wi·vi)发给云服务器。云服务器在收到用户的请求后,计算并判断等式是否成立。只有等式成立时,才将csp发送给该用户。

六、解密

步骤6.1.用户在收到网站管理者发送的会话密钥的密文之后,利用自己的私钥对该密文进行解密,得到会话密钥的明文。

用户在从网站管理者收到会话密钥的密文cω之后,通过计算公式得到本次通信的会话密钥ω。

步骤6.2.用户在收到云服务器发送的电视节目的密文之后,利用会话密钥对该密文进行解密,得到电视节目的明文。

用户在解密出会话密钥ω之后,再利用该会话密钥对节目的密文csp进行解密,即msp=decω(csp)。至此,合法用户才能够获得网站管理者提供的服务。

在本公开中参照附图来描述本发明的各方面,附图中示出了许多说明的实施例。本公开的实施例不必定义在包括本发明的所有方面。应当理解,上面介绍的多种构思和实施例,以及下面更加详细地描述的那些构思和实施方式可以以很多方式中任意一种来实施,这是因为本发明所公开的构思和实施例并不限于任何实施方式。另外,本发明公开的一些方面可以单独使用,或者与本发明公开的其他方面的任何适当组合来使用。

虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明。本发明所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作各种的更动与润饰。因此,本发明的保护范围当视权利要求书所界定者为准。

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