CN106790074A - 一种基于hls协议的细粒度流媒体视频加密、解密方法 - Google Patents

一种基于hls协议的细粒度流媒体视频加密、解密方法 Download PDF

Info

Publication number
CN106790074A
CN106790074A CN201611192815.XA CN201611192815A CN106790074A CN 106790074 A CN106790074 A CN 106790074A CN 201611192815 A CN201611192815 A CN 201611192815A CN 106790074 A CN106790074 A CN 106790074A
Authority
CN
China
Prior art keywords
key
video
encryption
index
access control
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201611192815.XA
Other languages
English (en)
Other versions
CN106790074B (zh
Inventor
杨成
李皓
刘剑波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Communication University of China
Original Assignee
Communication University of China
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Communication University of China filed Critical Communication University of China
Priority to CN201611192815.XA priority Critical patent/CN106790074B/zh
Publication of CN106790074A publication Critical patent/CN106790074A/zh
Application granted granted Critical
Publication of CN106790074B publication Critical patent/CN106790074B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0478Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload applying multiple layers of encryption, e.g. nested tunnels or encrypting the content with a first key and then with at least a second key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/045Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply hybrid encryption, i.e. combination of symmetric and asymmetric encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明公开了一种基于HLS协议的细粒度流媒体视频加密、解密方法。该加密方法包括,第一层加密步骤,根据对称加密算法,利用视频密钥对由HLS协议分片服务器生成的视频分片进行加密,并将视频密钥存入m3u8索引文件;第二层加密步骤,根据对称加密算法,利用索引密钥对m3u8索引文件进行加密;第三层加密步骤,根据属性加密算法和用户访问控制策略,对索引密钥进行加密。本发明通过三层的流媒体视频加密方案,实现了细粒度的视频接入权限控制,同时还保证了流媒体数据传输的安全性。

Description

一种基于HLS协议的细粒度流媒体视频加密、解密方法
技术领域
本发明涉及流媒体视频处理技术领域,尤其涉及一种基于HLS协议的细粒度流媒体视频加密、解密方法。
背景技术
随着互联网技术的深入发展,流媒体技术的应用越来越普及,如远程教育、视频会议、互联网直播等等。然而,流媒体的传输离不开协议的承载。针对流媒体的传输协议大体可以分为两类,一种基于UDP/TCP协议,另外一种基于HTTP协议。基于HTTP协议的技术由于其部署容易,可以自适应调整码流以及防火墙穿透性好等优点,被广泛的应用在各个商业的直播和点播网络中。其中,支持流媒体视频使用HTTP协议传输的技术有多种多样(HLS协议是所有此类协议中使用最广泛的技术),基本原理都是将视频流的数据进行分片,然后通过索引的方式定位,用户通过拉取不同的视频分片实现视频流的传输。然而,在这些协议中都没有对其传输过程中的安全性进行考量,或者只定义了相应的接口。如何保护这些琐碎的视频小片段,同时提供相应的用户条件访问机制是亟需要解决的问题。
另一方面,目前针对视频内容的加密方案主要有两类,一类是传统的完全加密算法,另一类是选择性加密算法。然而,无论是完全加密技术还是选择性加密技术,都是以整个视频为单位来进行操作的。因此,用户接入视频的最小粒度为整个视频。若要实现更细粒度的权限访问控制,比如有的网站或者内容提供商可以提供某些VIP视频限时体验的业务,这就需要另外一套权限控制的机制来实现。
发明内容
针对上述技术问题,本发明提出了一种基于HLS协议的细粒度流媒体视频加密、解密方法,以在保护安全传输流媒体数据的同时,实现细粒度的视频接入权限控制。本发明的技术方案为:
一种基于HLS协议的细粒度流媒体视频加密方法,包括:
第一层加密步骤,根据对称加密算法,利用视频密钥对由HLS协议分片服务器生成的视频分片进行加密,并将视频密钥存入m3u8索引文件;
第二层加密步骤,根据对称加密算法,利用索引密钥对所述m3u8索引文件进行加密;
第三层加密步骤,根据属性加密算法和用户访问控制策略,对所述索引密钥进行加密。
根据本发明的实施例,在上述第一层加密步骤中,根据块加密或流加密算法,利用所述视频密钥对所述视频分片进行选择性加密。
根据本发明的实施例,在上述第二层加密步骤中,根据块加密或流加密算法,利用所述索引密钥对所述m3u8索引文件进行选择性加密。
根据本发明的实施例,在上述第二层加密步骤中,所述索引密钥根据所述视频分片对应的视频节目的时间线访问控制策略生成。
根据本发明的实施例,在上述第三层加密步骤中,所述用户访问控制策略根据所述视频分片对应的视频节目的时间线访问控制策略和用户属性集合制定。
根据本发明的实施例,上述第三层加密步骤包括:
初始化步骤,生成乘法循环群,并计算公钥和私钥;
加密索引密钥步骤,利用秘密数、双线性映射函数和所述公钥对所述索引密钥进行加密,并根据用户访问控制策略树分享所述秘密数,获得密文集合;其中,所述用户访问控制策略树是通过对所述用户访问控制策略进行二叉树描述获得的;
存储步骤,将所述密文集合存入加密的m3u8索引文件中。
进一步地,所述密文集合包括所述用户访问控制策略树、加密所述索引密钥获得的密文和所述用户访问控制策略树中每个叶子节点的共享参数。
根据本发明的实施例,在上述加密索引密钥步骤中,根据所述用户访问控制策略树,利用拉格朗日定理分享所述秘密数。
还提供了一种基于HLS协议的细粒度流媒体视频解密方法,包括:
第一层解密步骤,根据用户属性集合计算索引密钥;
第二层解密步骤,利用所述索引密钥对加密的m3u8索引文件进行解密,获得解密的m3u8索引文件;
第三层解密步骤,利用所述解密的m3u8索引文件中的视频密钥,对加密的视频分片进行解密。
根据本发明的实施例,上述第一层解密步骤包括:
读取步骤,读取加密的m3u8索引文件中的密文集合;
解密索引密钥步骤,利用用户属性集合树、秘密字和所述密文集合计算所述用户属性集合树的根节点的份额值,并根据所述根节点的份额值计算所述索引密钥;其中,所述用户属性集合树是通过对所述用户属性集合进行二叉树描述获得的。
与现有技术相比,上述方案中的一个或多个实施例可以具有如下优点或有益效果:
1)应用本发明实施例提供的流媒体视频加密方法,实现了细粒度的视频接入权限控制,同时还保证了流媒体数据传输的安全性。
2)本发明的第一层加密通过以视频分片为粒度,采用视频密钥对视频分片进行加密,使整个系统对视频访问权限的控制达到了视频分片的级别。
3)本发明采用双层选择性加密的策略。用户在选择加密视频的深度时,可以在第一层的加密中选择不同的加密感兴趣区域进行加密,同时也可以在第二层选择不同的视频流片段进行加密。实现了对单个视频基于时长或者码率的细粒度控制。
4)本发明的第三层采用基于属性加密的方案,实现了针对不同的用户达到不同的访问权限控制。同时将众多用户通过用户属性集合的方式进行定义,这样只需针对不同的用户属性集合提供不同的访问权限,省去了对每个用户都要分配一套公私密钥带来的大量密钥管理工作。并且在减少密钥管理的同时,还可以和web系统中常用的基于角色的访问控制(Role-Based Access Control,RBAC)方案对接。
5)本发明通过AND和OR的控制树方案,将文字的权限控制字段表达为树的结构,使得用户将其属性放入用户访问控制策略树中解析就可以得到自己是否具有访问权限,为终端节省了大量的运算。
本发明的其它特征和优点将在随后的说明书中阐述,并且部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例共同用于解释本发明,并不构成对本发明的限制。在附图中:
图1是本发明的实施例中基于HLS协议的细粒度流媒体视频加密方法的流程图;
图2是图1所示实施例中步骤S30所示的对索引密钥进行加密的方法的流程图;
图3是本发明的实施例中基于HLS协议的细粒度流媒体视频解密方法的流程图;
图4是本发明的另一实施例中基于HLS协议的细粒度流媒体视频整个加密和解密方法的流程图;
图5是本发明的另一实施例中基于HLS协议的细粒度流媒体视频加密方法的流程图;
图6是本发明的又一实施例中前六分钟的用户访问控制策略树的结构示意图;
图7是本发明的又一实施例中六分钟后的用户访问控制策略树的结构示意图;
图8是本发明的又一实施例中基于HLS协议的细粒度流媒体视频解密方法的流程图;
图9是本发明的又一实施例中用户属性集合树的结构示意图。
具体实施方式
以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。需要说明的是,只要不构成冲突,本发明中的各个实施例以及各实施例中的各个特征可以相互结合,所形成的技术方案均在本发明的保护范围之内。
实施例一
图1是本发明的实施例中基于HLS协议的细粒度流媒体视频加密方法的流程图。下面结合图1详细地说明对流媒体视频加密的各个步骤及其原理。
步骤S110,即第一层加密步骤,根据对称加密算法,利用视频密钥对由HLS协议分片服务器生成的视频分片进行加密,并将视频密钥存入m3u8索引文件。
在该步骤中,优选使用传统的块加密或者流加密算法对经HLS协议分片生成的视频分片内容进行加密。进一步地,本层优选传统的选择性视频加密方案。由于HLS协议分片的视频流格式为ts的,因此针对性的分析ts的视频结构,优选采用I帧或者DCT系数对视频分片进行加密,并将视频密钥存储在m3u8索引文件中。应当说明的是,本实施例不对视频密钥做具体的限定,只要保证其具有足够的随机性即可。
本层完成了对视频分片的加密保护,以视频分片为粒度,不同的视频分片对应不同的视频加密密钥(即视频密钥),使整个系统对视频访问权限的控制达到了视频分片的级别。
步骤S120,即第二层加密步骤,根据对称加密算法,利用索引密钥对所述m3u8索引文件进行加密。
在该步骤中,优选使用传统的块加密或者流加密算法对包括视频密钥的m3u8索引文件进行加密。进一步地,本层优选传统的选择性视频加密方案。并且,本层中根据视频分片对应的视频节目的时间线访问控制策略生成索引密钥。
本实施例中,采用双层选择性加密的策略。用户在选择加密视频的深度时,可以在第一层的加密中选择不同的加密感兴趣区域进行加密,同时也可以在第二层选择不同的视频流片段进行加密。实现了对单个视频基于时长或者码率的细粒度控制。
步骤S130,即第三层加密步骤,根据属性加密算法和用户访问控制策略,对所述索引密钥进行加密。
图2示出了本发明的实施例中对索引密钥进行加密的方法的流程图。具体过程如下:
步骤S131,即初始化步骤,生成一个乘法循环群,并计算公钥和私钥。
步骤S132,即加密索引密钥步骤,利用秘密数、双线性映射函数和公钥对索引密钥进行加密,并根据用户访问控制策略树分享秘密数,获得密文集合。
其中,用户访问控制策略树是通过对用户访问控制策略进行二叉树描述获得的。进一步地,本实施例中的用户访问控制策略是根据视频分片对应的视频节目的时间线访问控制策略和用户属性集合制定的。该步骤具体过程如下:
首先,生成一个随机数,该随机数属于阶为p的有限域,并将该随机数作为秘密数。应当说明的是p为大质数,在具体实施过程中,本领域的技术人员可以根据实际需要对其进行设定。
然后,利用秘密数、双线性映射函数和公钥对索引密钥进行加密,得到加密索引密钥的密文。同时,利用用户访问控制策略树分享秘密数,得到用户访问控制策略树中每个叶子节点的共享参数。
最后,用户访问控制策略树、得到的加密索引密钥的密文和用户访问控制策略树中每个叶子节点的共享参数组成了密文集合。
步骤S133,即存储步骤,将密文集合存入加密的m3u8索引文件中。
本层采用基于属性加密的方案,实现了针对不同的用户达到不同的访问权限控制。同时将众多用户通过用户属性集合的方式进行定义,这样只需针对不同的用户属性集合提供不同的访问权限,省去了对每个用户都要分配一套公私密钥带来的大量密钥管理工作。
另外,本实施例还提供了一种与上述加密方法相对应的基于HLS协议的细粒度流媒体视频解密方法,具体如图3所示。下面结合图3详细地说明对流媒体视频解密的各个步骤及其原理。
步骤S210,即第一层解密步骤,根据用户属性集合计算索引密钥。具体过程如下:
读取步骤,读取加密的m3u8索引文件中的密文集合。
解密索引密钥步骤,利用用户属性集合树、秘密字和密文集合计算所述用户属性集合树的根节点的份额值,并根据所述根节点的份额值计算索引密钥。
其中,用户属性集合树是通过对用户属性集合进行二叉树描述获得的。进一步地,本实施例中的用户属性集合是指申请视频节目的用户的属性集合。该步骤具体过程如下:
首先,根据用户属性集合和私钥生成秘密字。
然后,利用用户属性集合树、秘密字和密文集合,优选采用迭代的方式计算用户属性集合树的根节点的份额值。
最后,根据用户属性集合树的根节点的份额值,计算出循环群中的密钥,并将其转换为索引密钥。
步骤S220,即第二层解密步骤,利用索引密钥对加密的m3u8索引文件进行解密,获得解密的m3u8索引文件。
步骤S230,即第三层解密步骤,利用解密的m3u8索引文件中的视频密钥,对加密的视频分片进行解密。
本实施例通过三层的流媒体视频加密和解密方案,实现了细粒度的视频接入权限控制,同时还保证了流媒体数据传输的安全性。
实施例二
图4是本发明的实施例中基于HLS协议的细粒度流媒体视频整个加密和解密方法的流程图。下面结合图4详细地从服务器加密和终端解密两个角度说明各个步骤及其原理。
图5示出了本发明的实施例中基于HLS协议的细粒度流媒体视频加密方法的流程图。下面结合图4和图5从服务器加密角度详细地说明加密流媒体视频的各个步骤及其原理。
第一层加密步骤:加密对象为视频分片,加密算法优选高级加密标准(AES,Advanced Encryption Standard)算法,视频加密密钥keyvideo随机生成,加密具体过程如下:
首先,接受经过HLS协议分片服务器生成的流媒体视频片段(即视频分片)。
其次,生成需要加密当前视频分片的视频加密密钥keyvideo
然后,使用视频加密密钥keyvideo对视频分片进行加密,获得加密的视频分片。
最后,将加密的视频分片存入存储云,同时将视频加密密钥keyvideo存入数据库。
第二层加密步骤:加密对象为包括keyvideo的m3u8索引文件,加密算法使用AES算法,索引加密密钥(即索引密钥)keym3u8根据视频节目的时间线访问控制策略生成。加密具体过程如下:
首先,读取视频节目的时间线访问控制策略,生成索引加密密钥keym3u8
其次,读取视频加密密钥keyvideo,将其存入m3u8索引文件,生成包括keyvideo的m3u8索引文件。
然后,使用索引加密密钥keym3u8加密包括keyvideo的m3u8索引文件,获得加密的m3u8索引文件。
最后,将加密的m3u8索引文件存入存储云。
第三层加密步骤:加密对象为索引加密密钥keym3u8,加密算法使用属性加密(ABE,Attribute-basedEncryption)算法。具体的加密过程如下:
首先,初始化,生成一个乘法循环群,并计算公钥和私钥。
其次,为视频节目的时间线访问控制策略制定不同的用户访问属性集合,该用户访问属性集合为用户访问控制策略。
然后,以用户访问控制策略、公钥和索引加密密钥keym3u8作为输入,使用ABE算法加密keym3u8,获得密文集合。
最后,将密文集合存入加密的m3u8索引文件中,并将其存入存储云。
下面结合图4从终端解密角度详细地说明解密流媒体视频的各个步骤及其原理。
第一层解密步骤:解密对象为索引密钥,解密具体过程如下:
终端(用户)向RBAC权限控制服务器申请访问。
RBAC权限控制服务器将终端属性集合发送给ABE加密服务器。
ABE加密服务器根据终端属性集合和私钥生成秘密字,并将秘密字发送给RBAC权限控制服务器。
RBAC权限控制服务器将终端属性集合和秘密字发送给终端。
终端向存储云申请点播视频节目,即申请该视频节目的m3u8索引文件。
存储云将与该视频节目相对应的加密的m3u8索引文件发送给终端,其中该加密的m3u8索引文件包括密文集合。
终端读取密文集合,并根据终端属性集合、秘密字和密文集合计算索引密钥。
第二层解密步骤:解密对象为加密的m3u8索引文件,终端利用索引密钥对加密的m3u8索引文件进行解密,获得解密的m3u8索引文件。
第三层解密步骤:解密对象为加密的视频分片,终端利用解密的m3u8索引文件中的视频密钥,对加密的视频分片进行解密,获得相应的视频分片。
应用本发明实施例提供的流媒体视频加密和解密方法,实现了细粒度的视频接入权限控制,同时还保证了流媒体数据传输的安全性。并且基于属性加密的方案,将众多用户通过属性的方式进行定义,而不是从单个用户的层面进行权限的控制。这样在减少密钥管理量的同时,还实现了和web系统中常用的RBAC方案对接。
实施例三
下面以某普通用户点播一个超清视频为例,进一步对本发明加密、解密流媒体视频方法的工作过程进行详细的描述。
为了清楚展示本发明实施例的方案和有益效果,在具体展开说明本发明的第三个具体实施例之前,首先对视频的属性和用户的属性进行一些定义,如表1所示。从中,可以确定不同用户观看视频的权限范围。
表1 对视频的属性和用户的属性的定义
加密流程:
对于一个超清的视频,根据HLS协议将其分成不同的视频分片之后,每一个视频分片选择不同的视频加密密钥进行加密。保存加密以后的视频分片,同时保存视频加密密钥,完成第一层的加密保护。
同一个超清视频,在视频的不同时间段上有不同的访问控制策略(以普通用户只可以观看前6分钟之前的内容,包月用户可以观看整个视频内容为例),即视频节目的时间线访问控制策略。因此,该视频节目的时间线访问控制策略分为两部分,前六分钟和六分钟以后。根据视频节目的时间线访问控制策略生成两个索引密钥,分别为索引密钥keym3u81和索引密钥keym3u82。索引密钥keym3u81和索引密钥keym3u82与视频节目的时间线访问控制策略的对应关系如表2所示。
表2 keym3u81和keym3u82与视频时间段的对应关系
keym3u81 前六分钟
keym3u82 六分钟后
使用索引密钥keym3u81加密该视频六分钟之前的索引文件m3u81,使用索引密钥keym3u82加密该视频六分钟之后的索引文件m3u82。保存加密以后的索引文件m3u81和索引文件m3u82,同时保存索引密钥keym3u81和索引密钥keym3u82,完成第二层的加密保护。
同时,该视频节目的时间线访问控制策略对应的不同用户属性集合为表3所示:
表3 超清视频节目的时间线访问控制策略对应的不同用户属性集合
前六分钟 {user=‘vip’or user=‘normal’}
六分钟后 {user=‘vip’}
因此,定义两种不同的用户访问控制策略:
前六分钟的用户访问控制策略a:{{vFmt=2}and{{user=’vip’}or user=’normal’}}。
六分钟后的用户访问控制策略b:{{vFmt=2}and{user=’vip’}}。
其中,前六分钟的用户访问控制策略a表示:视频格式为超清(即2)、用户属性为包月用户(即vip)或者普通用户(即normal)。六分钟后的用户访问控制策略b表示:视频格式为超清(即2)、用户属性为包月用户(即vip)。在本实施例中,可以优选地通过二叉树分别对前六分钟的用户访问控制策略a和六分钟后的用户访问控制策略b进行描述,获得前六分钟的用户访问控制策略树a'和六分钟后的用户访问控制策略树b',如图6和图7所示。
进一步地,使用ABE算法加密索引密钥keym3u81和keym3u82,具体流程如下:
初始化步骤,具体地:
选择阶为大质数q,生成元为整数g的群G1;e为双线性映射函数,满足:e:G1×G1=GT
选择两个随机数α,β∈Zp,Zp为阶为p的有限域。
计算公钥PK:PK={q,g,h,e(g,g)α};h=gβ
计算私钥MK:MK={β,gα}。
加密索引密钥keym3u81和keym3u82步骤,具体地:
下面以前六分钟的用户访问控制策略a为例,详细说明加密索引密钥keym3u81的具体步骤:
首先,生成随机数s∈Zp,并将其作为秘密数。利用前六分钟的用户访问控制策略树a'分享该秘密数s。在本实施中,分享算法可以优选使用拉格朗日插值定理来实现。进而,对于策略树a'的每一个叶子节点(c1,c2,c3,c4),分别计算:
其中,Cy和C'y为叶子节点y的共享参数,H()为求哈希值,attr(y)为当前叶子节点y的属性值,策略树a'的叶子节点c1对应的是策略树a'的叶子节点vFmt:1*,策略树a'的叶子节点c2对应的是策略树a'的叶子节点vFmt:*0,策略树a'的叶子节点c3对应的是策略树a'的叶子节点user=‘vip’,策略树a'的叶子节点c4对应的是策略树a'的叶子节点user=’normal’。
然后,组成密文集合CTa'
其中,Y为策略树a'叶子节点的集合,func()为将索引密钥keym3u81转换到GT群内,和C为加密索引密钥keym3u81获得的密文。
进一步地,将密文集合CTa'存入加密的m3u81索引文件中。
需要说明的是,加密索引密钥keym3u82的具体实施方式与加密索引密钥keym3u81的具体实施方式类似,具体请参见加密索引密钥keym3u81的部分的描述。为了减少冗余,在此不做赘述。
存储步骤:将包括密文集合CTa'的加密的m3u81索引文件和包括密文集合CTb'的加密的m3u82索引文件存入该超清视频的m3u8索引文件,同时保存m3u8索引文件,完成第三层的加密保护。
解密流程:
下面以某普通用户为例结合图8,详细说明解密该高清视频的具体步骤:
首先,根据用户属性集合和私钥生成秘密字SK:
其中,S为用户属性集合,r为任意数,满足r∈Zp,且rj∈Zp,D为秘密字SK主要字段,Dj,D'j为第j个用户集合对应秘密分片。
然后,用户申请点播该高清视频,即申请该高清视频的m3u8索引文件。
最后,用户得到该高清视频加密之后的m3u8索引文件、相应的属性集合S和秘密字SK之后,读取m3u8索引文件中的密文集合CTa'。根据用户属性集合S、秘密字SK,密文集合CTa'三部分计算func(keym3u81)。再运算func()-1,最终得到索引密钥keym3u81,完成第一层的解密。
在本实施例中,索引密钥keym3u81的计算过程具体如下:
终端的输入有密文集合CTa'、秘密字SK和用户属性集合S。进一步地,可以优选地通过二叉树对用户属性集合S进行描述,获得用户属性集合树S',如图9所示。由图9可知,其叶子节点即实际的属性集合为{vFmt:1*}、{vFmt:*0}和{user=’normal’}。
设i为用户属性集合树S'的叶子节点属性,若i∈Y,则计算如下公式:
然后,将户属性集合树S'整体使用迭代的方式求得最终结果。
如果当前节点为AND,左节点值为x,右节点值为y,则该节点值为z:
z=2x-y
如果当前节点为OR,左节点值为x,右节点为y,则该节点的值为z:
z=xORy
最终符合条件的用户在得到根节点的份额值A=e(g,g)rs之后,计算GT群内最终的密钥func(keym3u81):
进一步地,通过执行func()-1最终得到索引密钥keym3u81的值。
用户在获得索引密钥keym3u81之后,可以完全解密m3u8文件中前6分钟的索引字段,同时获得相应的视频分片的视频密钥,完成第二层的解密。
用户在获得视频密钥后,解密视频分片即可观看视频,即得到了授权,完成第三层的解密。但是,当视频达到6分钟之后,由于{{vFmt>0}AND{user=‘normal’}}并不满足用户访问控制策略树b'的需求,因此终端无法解密keym3u82,继而无法获得相应视频的解密密钥,无法对6分钟以后的视频内容进行访问,即没有得到授权。
需要说明的是,用户访问控制策略并不局限于本实施中的用户访问控制策略a和b两种。在具体实施过程中,本领域技术人员可根据实际需要设定用户访问的控制策略,例如还可以设置按次点播的用户以及加密的时间等等。
综上所述,应用本发明实施例提供的流媒体视频加密和解密方法,实现了细粒度的视频接入权限控制,同时还保证了流媒体数据传输的安全性。并且,通过AND和OR的控制树方案,将文字的权限控制字段表达为树的结构,使得用户将其属性放入用户访问控制策略树中解析就可以得到自己是否具有访问权限,为终端节省了大量的运算。
虽然本发明所公开的实施方式如上,但所述的内容只是为了便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属技术领域内的技术人员,在不脱离本发明所公开的精神和范围的前提下,可以在实施的形式上及细节上作任何的修改与变化,但本发明的保护范围,仍须以所附的权利要求书所界定的范围为准。

Claims (10)

1.一种基于HLS协议的细粒度流媒体视频加密方法,其特征在于,包括:
第一层加密步骤,根据对称加密算法,利用视频密钥对由HLS协议分片服务器生成的视频分片进行加密,并将视频密钥存入m3u8索引文件;
第二层加密步骤,根据对称加密算法,利用索引密钥对所述m3u8索引文件进行加密;
第三层加密步骤,根据属性加密算法和用户访问控制策略,对所述索引密钥进行加密。
2.根据权利要求1所述的加密方法,其特征在于,在所述第一层加密步骤中,根据块加密或流加密算法,利用所述视频密钥对所述视频分片进行选择性加密。
3.根据权利要求1或2所述的加密方法,其特征在于,在所述第二层加密步骤中,根据块加密或流加密算法,利用所述索引密钥对所述m3u8索引文件进行选择性加密。
4.根据权利要求1至3中任一项所述的加密方法,其特征在于,在所述第二层加密步骤中,所述索引密钥根据所述视频分片对应的视频节目的时间线访问控制策略生成。
5.根据权利要求1至4中任一项所述的加密方法,其特征在于,在所述第三层加密步骤中,所述用户访问控制策略根据所述视频分片对应的视频节目的时间线访问控制策略和用户属性集合制定。
6.根据权利要求1至5中任一项所述的加密方法,其特征在于,所述第三层加密步骤包括:
初始化步骤,生成乘法循环群,并计算公钥和私钥;
加密索引密钥步骤,利用秘密数、双线性映射函数和所述公钥对所述索引密钥进行加密,并根据用户访问控制策略树分享所述秘密数,获得密文集合;其中,所述用户访问控制策略树是通过对所述用户访问控制策略进行二叉树描述获得的;
存储步骤,将所述密文集合存入加密的m3u8索引文件中。
7.根据权利要求6所述的加密方法,其特征在于,所述密文集合包括所述用户访问控制策略树、加密所述索引密钥获得的密文和所述用户访问控制策略树中每个叶子节点的共享参数。
8.根据权利要求6所述的加密方法,其特征在于,在所述加密索引密钥步骤中,根据所述用户访问控制策略树,利用拉格朗日定理分享所述秘密数。
9.一种基于HLS协议的细粒度流媒体视频解密方法,其特征在于,包括:
第一层解密步骤,根据用户属性集合计算索引密钥;
第二层解密步骤,利用所述索引密钥对加密的m3u8索引文件进行解密,获得解密的m3u8索引文件;
第三层解密步骤,利用所述解密的m3u8索引文件中的视频密钥,对加密的视频分片进行解密。
10.根据权利要求9所述的解密方法,其特征在于,所述第一层解密步骤包括:
读取步骤,读取加密的m3u8索引文件中的密文集合;
解密索引密钥步骤,利用用户属性集合树、秘密字和所述密文集合计算所述用户属性集合树的根节点的份额值,并根据所述根节点的份额值计算所述索引密钥;其中,所述用户属性集合树是通过对所述用户属性集合进行二叉树描述获得的。
CN201611192815.XA 2016-12-21 2016-12-21 一种基于hls协议的细粒度流媒体视频加密、解密方法 Active CN106790074B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611192815.XA CN106790074B (zh) 2016-12-21 2016-12-21 一种基于hls协议的细粒度流媒体视频加密、解密方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611192815.XA CN106790074B (zh) 2016-12-21 2016-12-21 一种基于hls协议的细粒度流媒体视频加密、解密方法

Publications (2)

Publication Number Publication Date
CN106790074A true CN106790074A (zh) 2017-05-31
CN106790074B CN106790074B (zh) 2020-08-11

Family

ID=58897067

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611192815.XA Active CN106790074B (zh) 2016-12-21 2016-12-21 一种基于hls协议的细粒度流媒体视频加密、解密方法

Country Status (1)

Country Link
CN (1) CN106790074B (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108111876A (zh) * 2017-12-21 2018-06-01 北京四达时代软件技术股份有限公司 一种局域网流媒体视频内容安全保护方法、终端及服务器
CN108881205A (zh) * 2018-06-08 2018-11-23 西安理工大学 一种hls流媒体的安全播放系统及播放方法
CN109120998A (zh) * 2018-08-28 2019-01-01 苏州科达科技股份有限公司 媒体数据传输方法、装置及存储介质
WO2019153433A1 (zh) * 2018-02-09 2019-08-15 网宿科技股份有限公司 一种密钥的提供、视频播放方法、服务器及客户端
CN110278210A (zh) * 2019-06-24 2019-09-24 北京邮电大学 一种云环境下基于属性的可扩展视频数据访问控制方法
CN110446108A (zh) * 2019-06-28 2019-11-12 中国传媒大学 一种媒体云系统及视频加密、解密方法
CN112738560A (zh) * 2020-12-28 2021-04-30 厦门市美亚柏科信息股份有限公司 一种视频数据传输方法、接收方法、服务端以及客户端
CN113014956A (zh) * 2019-12-20 2021-06-22 腾讯科技(深圳)有限公司 视频播放方法以及装置
US11316662B2 (en) * 2018-07-30 2022-04-26 Koninklijke Philips N.V. Method and apparatus for policy hiding on ciphertext-policy attribute-based encryption
US11356246B2 (en) 2019-02-01 2022-06-07 Pegatron Corporation Data analysis system and data analysis method

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102255886A (zh) * 2011-04-02 2011-11-23 南京邮电大学 一种流媒体点播系统的加密和解密方法
CN103701833A (zh) * 2014-01-20 2014-04-02 深圳大学 一种基于云计算平台的密文访问控制方法及系统
CN103825885A (zh) * 2014-01-23 2014-05-28 广东顺德中山大学卡内基梅隆大学国际联合研究院 一种互联网内容加密发布方法及系统
US20150033023A1 (en) * 2013-07-25 2015-01-29 Adobe Systems Incorporated Preventing playback of streaming video if ads are removed
CN106231346A (zh) * 2016-08-05 2016-12-14 中国传媒大学 一种针对离线视频的分布式加密方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102255886A (zh) * 2011-04-02 2011-11-23 南京邮电大学 一种流媒体点播系统的加密和解密方法
US20150033023A1 (en) * 2013-07-25 2015-01-29 Adobe Systems Incorporated Preventing playback of streaming video if ads are removed
CN103701833A (zh) * 2014-01-20 2014-04-02 深圳大学 一种基于云计算平台的密文访问控制方法及系统
CN103825885A (zh) * 2014-01-23 2014-05-28 广东顺德中山大学卡内基梅隆大学国际联合研究院 一种互联网内容加密发布方法及系统
CN106231346A (zh) * 2016-08-05 2016-12-14 中国传媒大学 一种针对离线视频的分布式加密方法

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108111876A (zh) * 2017-12-21 2018-06-01 北京四达时代软件技术股份有限公司 一种局域网流媒体视频内容安全保护方法、终端及服务器
US11055429B2 (en) 2018-02-09 2021-07-06 Wangsu Science & Technology Co., Ltd. Key providing method, video playing method, server and client
CN110138716B (zh) * 2018-02-09 2020-11-27 网宿科技股份有限公司 一种密钥的提供、视频播放方法、服务器及客户端
WO2019153433A1 (zh) * 2018-02-09 2019-08-15 网宿科技股份有限公司 一种密钥的提供、视频播放方法、服务器及客户端
CN110138716A (zh) * 2018-02-09 2019-08-16 网宿科技股份有限公司 一种密钥的提供、视频播放方法、服务器及客户端
CN108881205B (zh) * 2018-06-08 2020-11-17 西安理工大学 一种hls流媒体的安全播放系统及播放方法
CN108881205A (zh) * 2018-06-08 2018-11-23 西安理工大学 一种hls流媒体的安全播放系统及播放方法
US11316662B2 (en) * 2018-07-30 2022-04-26 Koninklijke Philips N.V. Method and apparatus for policy hiding on ciphertext-policy attribute-based encryption
CN109120998A (zh) * 2018-08-28 2019-01-01 苏州科达科技股份有限公司 媒体数据传输方法、装置及存储介质
CN109120998B (zh) * 2018-08-28 2021-04-02 苏州科达科技股份有限公司 媒体数据传输方法、装置及存储介质
US11356246B2 (en) 2019-02-01 2022-06-07 Pegatron Corporation Data analysis system and data analysis method
CN110278210B (zh) * 2019-06-24 2020-04-17 北京邮电大学 一种云环境下基于属性的可扩展视频数据访问控制方法
CN110278210A (zh) * 2019-06-24 2019-09-24 北京邮电大学 一种云环境下基于属性的可扩展视频数据访问控制方法
CN110446108A (zh) * 2019-06-28 2019-11-12 中国传媒大学 一种媒体云系统及视频加密、解密方法
CN110446108B (zh) * 2019-06-28 2022-04-22 中国传媒大学 一种媒体云系统及视频加密、解密方法
CN113014956A (zh) * 2019-12-20 2021-06-22 腾讯科技(深圳)有限公司 视频播放方法以及装置
CN113014956B (zh) * 2019-12-20 2022-06-03 腾讯科技(深圳)有限公司 视频播放方法以及装置
CN112738560A (zh) * 2020-12-28 2021-04-30 厦门市美亚柏科信息股份有限公司 一种视频数据传输方法、接收方法、服务端以及客户端

Also Published As

Publication number Publication date
CN106790074B (zh) 2020-08-11

Similar Documents

Publication Publication Date Title
CN106790074A (zh) 一种基于hls协议的细粒度流媒体视频加密、解密方法
CN110224986B (zh) 一种基于隐藏策略cp-abe的高效可搜索访问控制方法
Li et al. A lightweight secure data sharing scheme for mobile cloud computing
Han et al. A data sharing protocol to minimize security and privacy risks of cloud storage in big data era
Xiong et al. A full lifecycle privacy protection scheme for sensitive data in cloud computing
CN104168108B (zh) 一种泄露密钥可追踪的属性基混合加密方法
Zaghloul et al. P-MOD: Secure privilege-based multilevel organizational data-sharing in cloud computing
CN104158880B (zh) 一种用户端云数据共享解决方法
Shen et al. Multi-security-level cloud storage system based on improved proxy re-encryption
He et al. Lightweight attribute based encryption scheme for mobile cloud assisted cyber-physical systems
CN104735070B (zh) 一种通用的异构加密云间的数据共享方法
CN109327448B (zh) 一种云端文件共享方法、装置、设备及存储介质
Xiong et al. A secure re‐encryption scheme for data services in a cloud computing environment
CN105721146B (zh) 一种面向云存储基于smc的大数据共享方法
Belguith et al. Lightweight Attribute-Based Encryption Supporting Access Policy Update for Cloud Assitsed IoT
Deng et al. Tracing and revoking leaked credentials: accountability in leaking sensitive outsourced data
Huang et al. Secure data group sharing and conditional dissemination with multi-owner in cloud computing
Athena et al. An identity attribute–based encryption using elliptic curve digital signature for patient health record maintenance
Qinlong et al. Improving security and efciency for encrypted data sharing in online social networks
CN114697042A (zh) 一种基于区块链的物联网安全数据共享代理重加密方法
AboDoma et al. Adaptive time-bound access control for internet of things in fog computing architecture
Rawal Proxy re-encryption architect for storing and sharing of cloud contents
Arshad et al. Design and FPGA implementation of an efficient security mechanism for mobile pay‐TV systems
He et al. Secure independent-update concise-expression access control for video on demand in cloud
Wu et al. Efficient access control with traceability and user revocation in IoT

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant