CN111586442B - 流媒体加密方法、装置、计算机设备和存储介质 - Google Patents
流媒体加密方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN111586442B CN111586442B CN202010324983.XA CN202010324983A CN111586442B CN 111586442 B CN111586442 B CN 111586442B CN 202010324983 A CN202010324983 A CN 202010324983A CN 111586442 B CN111586442 B CN 111586442B
- Authority
- CN
- China
- Prior art keywords
- key
- streaming media
- identification code
- ciphertext
- timestamp
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000004422 calculation algorithm Methods 0.000 claims description 35
- 239000013598 vector Substances 0.000 claims description 29
- 238000004458 analytical method Methods 0.000 claims description 26
- 238000004590 computer program Methods 0.000 claims description 24
- 238000012795 verification Methods 0.000 claims description 20
- 238000001514 detection method Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 7
- 230000006835 compression Effects 0.000 description 6
- 238000007906 compression Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 230000006837 decompression Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000005336 cracking Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/23418—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0866—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0872—Generation of secret information including derivation or calculation of cryptographic keys or passwords using geo-location information, e.g. location data, time, relative position or proximity to other entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/233—Processing of audio elementary streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2347—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/258—Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
- H04N21/25866—Management of end-user data
- H04N21/25875—Management of end-user data involving end-user authentication
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Multimedia (AREA)
- Databases & Information Systems (AREA)
- Computer Graphics (AREA)
- Power Engineering (AREA)
- Storage Device Security (AREA)
Abstract
本申请涉及一种流媒体加密方法、装置、计算机设备和存储介质。所述方法包括:接收用户终端发送的流媒体获取请求;获取所述流媒体获取请求指定的流媒体;对所述流媒体的帧格式进行检测,得到所述流媒体的关键帧;利用所述流媒体密钥对所述流媒体的关键帧进行加密,得到加密后流媒体;所述流媒体密钥是对随机数进行运算所得;将所述加密后流媒体发送到所述用户终端。采用本方法能够有效防止流媒体文件被窃取或篡改。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种流媒体加密方法、装置、计算机设备和存储介质。
背景技术
随着计算机技术的发展,流媒体在网络中广泛传播。现阶段大部分流媒体在传输时都没有经过加密处理,以明文形式直接在网络中透传,只需要通过简单的身份识别码认证即可获取流媒体数据。造成流媒体数据容易被窃取、篡改,从而引起一系列安全隐患。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高流媒体传输安全性的流媒体加密方法、装置、计算机设备和存储介质。
一种流媒体加密方法,所述方法包括:
接收用户终端发送的流媒体获取请求;
获取所述流媒体获取请求指定的流媒体;
对所述流媒体的帧格式进行检测,得到所述流媒体的关键帧;
利用所述流媒体密钥对所述流媒体的关键帧进行加密,得到加密后流媒体;所述流媒体密钥是对随机数进行运算所得;
将所述加密后流媒体发送到所述用户终端。
在一个实施例中,所述方法还包括:
接收用户终端发送的身份识别码密文和时间戳密文;
调用密码引擎的解密接口;
通过所述密码引擎分别对所述身份识别码密文和所述时间戳密文进行解密,得到所述身份识别码和所述时间戳;
对所述身份识别码进行验证;
若所述身份识别码验证通过,则对所述身份识别码和所述时间戳进行运算,得到共享密钥;所述共享密钥用于对所述流媒体密钥进行加密。
在一个实施例中,所述方法还包括:
从所述流媒体获取请求提取密钥获取指令;
响应于所述密钥获取指令,向所述用户终端发送信息加密密钥;所述信息加密密钥用于对所述身份识别码和所述时间戳分别进行加密,以得到所述身份识别码密文和所述时间戳密文。
在一个实施例中,所述共享密钥是国密SM4算法密钥;所述方法还包括:
若所述身份识别码验证通过,则对所述身份识别码进行子段划分,得到第一子身份识别码和第二子身份识别码;
对所述第一子身份识别码和所述时间戳进行运算,得到子密钥;
对所述第二子身份识别码和所述时间戳进行运算,得到向量;
对所述子密钥和所述向量进行运算,得到所述共享密钥。
在一个实施例中,所述方法还包括:
对所述时间戳进行哈希运算,得到所述时间戳的哈希值;
所述对所述第一子身份识别码和所述时间戳进行运算,得到子密钥包括:
对所述第一子身份识别码和所述哈希值进行运算,得到子密钥;
所述对所述第二子身份识别码和所述时间戳进行运算,得到向量包括:
对所述第二子身份识别码和所述哈希值进行运算,得到向量。
在一个实施例中,所述流媒体包括视频流;所述对所述流媒体的帧格式进行检测,得到所述流媒体的关键帧包括:
调用视频分析接口;
通过所述视频分析接口对应的视频分析算法对所述视频流的帧格式进行检测,得到所述视频流的I帧;
所述利用所述流媒体密钥对所述流媒体的关键帧进行加密,得到加密后流媒体包括:
调用所述密码引擎的加密接口;
通过所述密码引擎对所述视频流的I帧进行加密,得到加密后视频流。
在一个实施例中,所述将所述加密后流媒体发送到所述用户终端之前,所述方法还包括:
用所述共享密钥加密所述流媒体密钥,得到流媒体密钥密文;
将所述流媒体密钥密文添加于所述加密后视频流的I帧之后;所述流媒体密钥密文用于指示所述用户终端对所述流媒体密钥密文进行解密,并利用解密所得的流媒体密钥对所述加密后视频流进行解密。
装置
一种流媒体加密装置,其特征在于,所述装置包括:
接收模块,用于接收用户终端发送的流媒体获取请求;
获取模块,用于获取所述流媒体获取请求指定的流媒体;
检测模块,用于对所述流媒体的帧格式进行检测,得到所述流媒体的关键帧;
加密模块,用于利用所述流媒体密钥对所述流媒体的关键帧进行加密,得到加密后流媒体;所述流媒体密钥是对随机数进行运算所得;
发送模块,用于将所述加密后流媒体发送到所述用户终端。
在一个实施例中,所述装置还包括:
所述接收模块,还用于接收用户终端发送的身份识别码密文和时间戳密文;
调用模块,用于调用密码引擎的解密接口;
解密模块,用于通过所述密码引擎分别对所述身份识别码密文和所述时间戳密文进行解密,得到所述身份识别码和所述时间戳;
验证模块,用于对所述身份识别码进行验证;
运算模块,用于若所述身份识别码验证通过,则对所述身份识别码和所述时间戳进行运算,得到共享密钥;所述共享密钥用于对所述流媒体密钥进行加密。
在一个实施例中,所述装置还包括:
提取模块,用于从所述流媒体获取请求提取密钥获取指令;
发送模块,响应于所述密钥获取指令,用于向所述用户终端发送信息加密密钥;所述信息加密密钥用于对所述身份识别码和所述时间戳分别进行加密,以得到所述身份识别码密文和所述时间戳密文。
在一个实施例中,所述共享密钥是国密SM4算法密钥;所述装置还包括:
划分模块,若所述身份识别码验证通过,则用于对所述身份识别码进行子段划分,得到第一子身份识别码和第二子身份识别码;
所述运算模块,还用于对所述第一子身份识别码和所述时间戳进行运算,得到子密钥;
所述运算模块,还用于对所述第二子身份识别码和所述时间戳进行运算,得到向量;
所述运算模块,还用于对所述子密钥和所述向量进行运算,得到所述共享密钥。
在一个实施例中,所述运算模块还用于:
对所述时间戳进行哈希运算,得到所述时间戳的哈希值;
对所述第一子身份识别码和所述哈希值进行运算,得到子密钥;
对所述第二子身份识别码和所述哈希值进行运算,得到向量。
在一个实施例中,所述流媒体包括视频流;所述检测模块,还用于:
调用视频分析接口;
通过所述视频分析接口对应的视频分析算法对所述视频流的帧格式进行检测,得到所述视频流的I帧;
所述利用所述流媒体密钥对所述流媒体的关键帧进行加密,得到加密后流媒体包括:
调用所述密码引擎的加密接口;
通过所述密码引擎对所述视频流的I帧进行加密,得到加密后视频流。
在一个实施例中,所述装置还包括:
所述加密模块,还用于用所述共享密钥加密所述流媒体密钥,得到流媒体密钥密文;
添加模块,用于将所述流媒体密钥密文添加于所述加密后视频流的I帧之后;所述流媒体密钥密文用于指示所述用户终端对所述流媒体密钥密文进行解密,并利用解密所得的流媒体密钥对所述加密后视频流进行解密。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
在上述实施例中,边缘计算设备获得流媒体之后,对流媒体的帧格式进行检测,识别出流媒体的关键帧,并且对关键帧进行加密处理后再发送给用户终端。用户终端在获得流媒体数据之后,首先需要对流媒体的关键帧进行解密,然后才能根据关键帧解压缩得到完整的流媒体。由于流媒体的关键帧经过了加密处理,所以非法的用户终端即使窃取了流媒体数据,在没有解密密钥的情况下也不能解密得到关键帧的明文,所以也无法根据关键帧解压缩得到流媒体的完整的内容,有效防止了流媒体数据被窃取、篡改。
附图说明
图1为一个实施例中流媒体加密方法的应用环境图;
图2为一个实施例中流媒体加密方法的流程示意图;
图3为一个实施例中边缘计算设备的结构图;
图4为一个实施例中边缘计算设备和用户终端获得共享密钥的时序图;
图5为一个实施例中流媒体加密装置的结构框图;
图6为另一个实施例中流媒体加密装置的结构框图;
图7为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的流媒体加密方法,可以应用于如图1所示的应用环境中。其中,用户终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。边缘计算设备104接收流媒体采集设备106采集的流媒体。边缘计算设备104在对流媒体进行加密处理后,将加密后的流媒体发送至用户终端102。
在一个实施例中,如图2所示,提供了一种流媒体加密方法,以该方法应用于图1中的边缘计算设备104为例进行说明,包括以下步骤:
S202,接收用户终端发送的流媒体获取请求。
用户终端在获取流媒体文件时,首先向边缘计算设备发送流媒体获取请求,请求边缘计算设备向其发送流媒体。
其中,流媒体是经过压缩编码的视音频文件,支持采用流式文件格式传输及播放。
在一个实施例中,S202之前,还包括:边缘计算设备接收用户终端发送的身份识别码密文和时间戳密文;调用密码引擎的解密接口;通过密码引擎分别对身份识别码密文和时间戳密文进行解密,得到身份识别码和时间戳;对身份识别码进行验证;若身份识别码验证通过,则对身份识别码和时间戳进行运算,得到共享密钥;共享密钥用于对流媒体密钥进行加密。
在一个实施例中,在流媒体为视频流时,如图3所示,边缘计算设备304与用户终端302之间通过命令通道进行通信、传输命令数据,进行密钥分发、身份验证的流程。边缘计算设备304包括路由模块3042、密码引擎3044、IPC接入服务单元3046和视频流分析模块3048。
其中,IPC接入服务单元3046接收视频流采集设备采集的视频流,并调用视频分析模块3048对视频帧格式进行检测。然后通过调用密码引擎3044的加密接口对视频流的关键帧进行加密。最后,将加密后的视频流通过路由模块3042发送到用户终端302。
其中,密码引擎3044内部集成了密码算法模块,边缘计算设备通过调用密码引擎的访问接口可以实现数据加密、解密或者生成加密密钥等算法。
在一个实施例中,密码引擎是UKey,边缘计算设备通过USB接口(例如USB2.0或者USB3.0)接入UKey。Ukey又被称为UsbKey,是一种硬件设备,内置单片机或者智能卡芯片,通过USB接口与外部通信。通过硬件对数据进行加密和解密处理,运算速度快,效率高。
在一个实施例中,UKey主要采用国密芯片作为数据安全模块的CPU,同时集成了支持SM2、SM3、SM4密码算法的硬件密码算法引擎。
其中,身份识别码是用户终端的使用者在边缘计算设备中注册的身份信息,每个用户终端的使用者都注册有唯一的身份识别码。边缘计算设备通过身份识别码可以验证用户终端的使用者是否是经过注册的合法的使用者。
在一个实施例中,用户终端的使用者在登录用户终端时输入用户名,用户终端将用户名转换为二进制字符序列作为身份识别码。
在另一个实施例中,用户终端的使用者在登录用户终端时输入指纹,用户终端对指纹进行图像处理并提取指纹特征,将指纹特征转换为二进制字符序列作为身份识别码。
其中,时间戳(Timestamp),是一个能表示一份数据在某个特定时间之前已经存在的、完整的、可验证的数据,通常是一个字符序列,唯一地标识某一刻的时间。用户终端每次向边缘计算设备请求获取流媒体数据时发送的时间戳都不相同。
在一个实施例中,时间戳是用户终端对其发送流媒体获取请求时的时间进行运算所得。由于用户终端每次发送流媒体获取请求时的时间都不相同,所以每次运算得到的时间戳也不相同。
在一个实施例中,时间戳是用户终端对一个随机数进行运算后得到的。
在一个实施例中,时间戳是时间戳服务器对通过时间接收设备(如GPS,CDMA通信系统,北斗卫星)获取的时间进行计算生成的。时间戳服务器通过计算生成时间戳之后将其发送至用户终端。
用户终端在将身份识别码发送给边缘计算设备之前,为防止身份信息被泄露和盗用,对身份识别码进行了加密处理,得到对应的身份识别码密文和时间戳密文。边缘计算设备收到用户终端发送的身份识别码密文和时间戳密文之后调用密码引擎的解密接口对密文进行解密得到身份识别码和时间戳。
在一个实施例中,边缘计算设备接收所述用户终端发送的密钥获取指令;响应于密钥获取指令,向用户终端发送信息加密密钥;信息加密密钥用于对身份识别码和时间戳分别进行加密,以得到身份识别码密文和时间戳密文。
用户终端为了对身份识别码和时间戳进行加密处理,向边缘计算设备发送密钥获取指令以请求获取信息加密密钥。边缘计算设备接收到密钥获取指令之后,响应于该指令,向用户终端发送信息加密密钥。
在一个实施例中,边缘计算设备收到用户终端发送的密钥获取指令之后,向密码引擎发送密钥获取指令。密码引擎接收到密钥获取指令之后,通过内部封装的算法计算产生信息加密密钥,并将其发送至边缘计算设备的IPC接入服务单元。密码引擎同时通过计算产生信息解密密钥并存储。当边缘计算设备调用密码引擎对应的解密接口时,密码引擎通过内部封装的解密算法用信息解密密钥对输入的身份识别码密文和时间戳密文进行解密。
在一个实施例中,边缘计算设备中的密码引擎通过对称加密算法产生相同的信息加密密钥和信息解密密钥。
在另一个实施例中,边缘计算设备中的密码引擎通过非对称加密算法产生不同的信息加密密钥和信息解密密密钥。
在另一个实施例中,边缘计算设备中的密码引擎通过SM2密码算法产生信息密钥对。
在一个实施例中,边缘计算设备通过计算生成信息加密密钥和信息解密密钥。边缘计算设备将信息加密密钥发送至用户终端,并存储信息解密密钥。在接收到用户终端发送的身份识别码密文之后用信息解密密钥进行解密。
为防止非法的用户终端访问边缘计算设备并窃取或者篡改流媒体数据,边缘计算设备对用户终端的身份识别码进行验证。如果验证通过,则说明发送访问请求的用户终端的使用者具有合法的身份识别码,边缘计算设备可以通过对该身份识别码进行计算获得共享密钥,并且可以向该用户终端发送流媒体文件。
在一个实施例中,边缘计算设备将接收到的身份识别码和数据库中存储的身份识别码进行比对。如果能够在数据库中存储的身份识别码中检索到和接收到的用户终端的身份识别码匹配的身份识别码,则接受该身份识别码的用户终端的访问请求并通过对身份识别码和时间戳进行运算产生共享密钥。由于用户终端每次访问边缘计算设备时向其发送的时间戳都不同,所以通过对时间戳进行运算产生的共享密钥也不相同。
在一个实施例中,边缘计算设备通过调用密码引擎的密钥产生接口获得共享密钥。密码引擎通过内部封装的密钥产生算法对身份识别码和时间戳进行运算得到共享密钥。用户终端通过同样的运算得到和密码引擎相同的共享密钥。在用户终端收到用共享密钥加密的流媒体密钥后,用计算得到的共享密钥对流媒体密钥密文进行解密得到流媒体密钥,然后就可以用流媒体密钥对加密后的流媒体文件进行解密。
在一个实施例中,边缘计算设备和用户终端获得共享密钥的时序图如图4所示。其中,IPC接入服务单元和密码引擎属于边缘计算设备的模块。
S402、用户终端发送密钥获取指令。
S404、IPC接入服务单元发送密钥获取指令。
S406、密码引擎通过计算产生信息加密密钥。
S408、密码引擎向IPC接入服务单元发送信息加密密钥。
S410、IPC接入服务单元接收信息加密密钥。
S412、IPC接入服务单元发送接收到的密码引擎发送的信息加密密钥。
S414、用户终端用信息加密密钥分别对身份识别码和时间戳进行加密。
S416、用户终端发送用信息加密密钥加密的身份识别码密文和时间戳密文。
S418、IPC接入服务单元接收用信息加密密钥加密的身份识别码密文和时间戳密文。
S420、IPC接入服务单元向密码引擎发送用信息加密密钥加密的身份识别码密文和时间戳密文。
S422、密码引擎解密身份识别码密文和时间戳密文,得到身份识别码明文和时间戳明文。
S424、密码引擎向IPC接入服务单元发送身份识别码明文和时间戳明文。
S426、IPC接入服务单元对身份识别码进行验证。
S428、IPC接入服务单元向用户终端发送身份验证结果。
S430、IPC接入服务单元向密码引擎发送身份验证结果。
S432、密码引擎对身份识别码和时间戳进行运算产生共享密钥。
S434、用户终端对身份识别码和时间戳进行运算产生共享密钥。
S402至S434的具体内容如上文所述。
在另一个实施例中,边缘计算设备通过对身份识别码和时间戳进行计算产生共享密钥。
在一个实施例中,共享密钥是国密SM4算法密钥;视频加密方法还包括:若身份识别码验证通过,则边缘计算设备对身份识别码进行子段划分,得到第一子身份识别码和第二子身份识别码;对第一子身份识别码和时间戳进行运算,得到子密钥;对第二子身份识别码和时间戳进行运算,得到向量;对子密钥和向量进行运算,得到共享密钥。
其中,国密SM4算法是一个迭代分组密码算法。采用非平衡Feistel结构,分组长度为128比特,密钥长度为128比特。加密算法采用32轮非线性迭代结构,加密算法和解密算法的算法结构相同。
若身份识别码通过验证,则边缘计算设备将身份识别码分成两部分,分别和时间戳进行运算得到SM4密钥的子密钥和向量。对子密钥和向量进行运算得到SM4的加密密钥,即为共享密钥。
在一个实施例中,边缘计算设备对时间戳进行哈希运算,得到时间戳的哈希值;边缘计算设备对第一子身份识别码和哈希值进行运算,得到子密钥;对第二子身份识别码和哈希值进行运算,得到向量。
其中,哈希运算把任意长度的输入通过散列算法变换成固定长度的输出,该输出就是哈希值。
在一个实施例中,身份识别码是32字节的二进制字符串。边缘计算设备对时间戳进行哈希运算,得到32字节的时间戳的哈希值。边缘计算设备将身份识别码的前16字节和时间戳的哈希值进行异或运算得到共享密钥的子密钥。边缘计算设备将身份识别码的后16字节和时间戳的哈希值进行异或运算得到共享密钥的向量。边缘计算设备对共享密钥的子密钥和向量进行运算得到共享密钥。
边缘计算设备在允许用户终端访问之前,对用户终端的使用者的身份识别码进行验证。未注册的身份识别码因不能通过边缘计算设备的验证而不能访问边缘计算设备。对身份识别码的验证的过程能够防止非法的用户访问边缘计算设备并窃取流媒体文件。
用户终端在向边缘计算设备发送身份识别码和时间戳之前,对二者进行了加密处理,所以即使身份识别码和时间戳密文在传输过程中泄露,在没有解密密钥的情况下,窃取者也不能对密文解密获得身份识别码和时间戳。对身份识别码和时间戳进行加密处理能够防止身份识别码和时间戳被非法窃取和利用,增加了身份识别码和时间戳在传输过程中的安全性。
S204,获取流媒体获取请求指定的流媒体。
在一个实施例中,边缘计算设备在接收到用户终端发送的流媒体获取请求之后,从流媒体采集设备获取流媒体获取请求指定的流媒体。
在一个实施例中,边缘计算设备将从流媒体采集设备获取的流媒体存储在本地。当接收到用户终端发送的流媒体获取请求之后,从本地存储的流媒体中获得用户终端请求获得的流媒体。
S206,对流媒体的帧格式进行检测,得到流媒体的关键帧。
其中,流媒体的帧格式用于指示对该帧解压缩时是否用到其他帧的信息。如果该帧是关键帧,则对该帧解压缩时不需要依赖其他帧的数据信息。如果该帧是非关键帧,则对该帧解压缩时需要依赖其他帧的数据信息。
S208,边缘计算设备利用流媒体密钥对流媒体的关键帧进行加密,得到加密后流媒体;流媒体密钥是对随机数进行运算所得。
边缘计算设备根据帧格式的检测结果,用流媒体密钥对流媒体的关键帧进行加密处理。流媒体密钥是对随机数进行运算所得。
在一个实施例中,边缘计算设备通过调用密码引擎的密钥生成接口获得流媒体密钥。密码引擎先通过内部封装的随机数生成算法生成随机数,然后通过密钥生成算法对随机数进行运算得到流媒体密钥。
在一个实施例中,流媒体包括视频流;对流媒体的帧格式进行检测,得到流媒体的关键帧包括:调用视频分析接口;通过视频分析接口对应的视频分析算法对视频流的帧格式进行检测,得到视频流的I帧;利用所述流媒体密钥对流媒体的关键帧进行加密,得到加密后流媒体包括:调用密码引擎的加密接口;通过密码引擎对视频流的I帧进行加密,得到加密后视频流。
其中,视频流是由一个个数据包组成。数据包包括包头部分和数据部分,包头部分包括编码控制参数和校验数据。数据部分包括视频图像数据。解析数据包的信息可以得到当前数据包所属帧的帧格式。
在一个实施例中,在对数字视频进行压缩时,将数字视频的数帧图像组合成一个GOP组,每个GOP组包括一个I帧和数个B帧和P帧。其中I帧是帧内编码帧,也就是关键帧。I帧在压缩编码时不进行帧间运动预测,仅进行帧内预测。所以在解码时不需要参考帧的像素数据,仅用I帧的像素数据即可重构完整的图像。P帧是前向预测编码帧,在压缩编码时以前一帧为参考帧进行运动预测补偿。B帧是双向预测编码帧,在压缩编码时以前一帧和后一帧为参考帧进行运动预测补偿。在解压缩B帧和P帧时,都需要用到参考帧的像素数据,所以P帧和B帧都是非关键帧。在一个视频GOP组中,只有得到I帧的像素数据,才能解压缩得到B帧和P帧的像素数据。
在一个实施例中,视频流是数字视频经过MPEG-2(Moving Picture ExpertsGroup)压缩编码方式压缩而成。
在另一个实施例中,视频流是数字视频经过H.264的压缩编码方式压缩而成。
视频经过H.264压缩编码分成VCL层(Video Coding Layer,视频编码层)和NAL层(Network Abstraction Layer,网络抽象层)。VCL层主要负责对数字视频进行压缩编码生成压缩码流。NAL层是将视频码流数据、编码控制数据(视频序列参数、图像参数等)以NALU(NAL unit,NAL单元)为单位进行封装,以便于网络传输。NALU是由一定的语法元素组成的可变长字符串,其长度与该NALU的类型及该NALU中编码之后的数据量有直接的关系。NAL单元包括NAL头和RBSP。NAL头为一个字节长度,用于标识后续RBSP数据的类型。RBSP(RawByte Sequence Payloads)是原始字节序列有效载荷。对NAL单元进行解析,可以得到当前NAL单元所属视频帧的帧格式。
在一个实施例中,仅对NAL单元的RBSP数据进行加密,NALU的头部数据不加密。
S210,将加密后流媒体发送到用户终端。
边缘计算设备在对流媒体进行加密处理后,将加密后流媒体发送到用户终端。用户终端接收到加密后的流媒体,用流媒体密钥对加密后流媒体进行解密。
在上述实施例中,边缘计算设备获得流媒体之后,对流媒体的帧格式进行检测,识别出流媒体的关键帧,并且对关键帧进行加密处理后再发送给用户终端。用户终端在获得流媒体数据之后,首先需要对流媒体的关键帧进行解密,然后才能根据关键帧解压缩得到完整的流媒体。由于流媒体的关键帧经过了加密处理,所以非法的用户终端即使窃取了流媒体数据,在没有解密密钥的情况下也不能解密得到关键帧的明文,所以也无法根据关键帧解压缩得到流媒体的完整的内容,有效防止了流媒体数据被窃取、篡改。
在一个实施例中,将加密后流媒体发送到用户终端之前,还包括:用共享密钥加密流媒体密钥,得到流媒体密钥密文;将流媒体密钥密文添加于加密后视频流的I帧之后;流媒体密钥密文用于指示用户终端对流媒体密钥密文进行解密,并利用解密所得的流媒体密钥对加密后视频流进行解密。
因为流媒体密钥的安全是防止流媒体被窃取和篡改的关键,所以边缘计算设备在将流媒体密钥发送至用户终端时,用共享密钥对流媒体密钥进行加密处理,以防止流媒体密钥被非法窃取。边缘计算设备将加密后的流媒体密钥添加在I帧的数据之后发送至用户终端。用户终端在接收到加密后的流媒体数据之后,首先通过对帧格式进行检测,检测出I帧数据。然后,在I帧的数据之后提取出经过加密的流媒体密钥。用计算产生的共享密钥对流媒体密钥进行解密得到流媒体密钥,然后用流媒体密钥解密加密后的I帧数据。
流媒体密钥在发送给用户终端时,用共享密钥进行加密处理,防止流媒体密钥泄露。共享密钥是密码引擎对身份识别码和时间戳进行运算产生的。用户终端每次访问边缘计算设备时发送的时间戳都不相同,所以访问请求中携带的时间戳也都不相同。所以对身份识别码和时间戳进行运算产生的共享密钥也不相同。也就是说边缘计算设备每次发送流媒体密钥时都使用更新了的共享密钥对其进行加密处理。所以即使非法的用户终端破解了一个共享密钥,也只能用其解密一个流媒体密钥的密文,而无法用其解密其他的流媒体密钥密文,增加了流媒体密钥被破解的难度,相应的增加了流媒体文件的安全性。
在一个实施例中,如图3所示。当流媒体为视频流时,IPC接入服务单元3046调用密码引擎3044获得对用户终端的身份识别码和时间戳进行加密的信息加密密钥,将信息加密密钥通过命令通道发送到用户终端302。然后接收用户终端302加密后的身份识别码并对用户终端302的身份进行验证。同时,IPC接入服务单元3046接收IPC摄像机发送的视频流,并调用视频流分析模块3048对视频流的帧格式进行检测。最后,IPC接入服务单元3046调用密码引擎3044对视频流的数据进行加密。
路由模块3042提供NAT(Network Address Translation,网络地址转换)方式和因特网连接。NAT路由方式将局域网内的IP映射到因特网,实现内部地址外部访问。NAT路由方式是在专用网连接到因特网的路由器上安装NAT软件。装有NAT软件的路由器叫做NAT路由器,它至少有一个有效的外部全球IP地址。这样,所有使用本地地址的主机在和外界通信时,都通过NAT路由器将其本地地址转换成全球IP地址,实现和因特网连接。NAT路由方式通过使用少量的公有IP地址代表较多的私有IP地址的方式,有助于减缓可用的IP地址空间的枯竭。NAT路由器连接的主机联机到因特网上面时,它所显示的IP地址是NAT主机的公共IP,外界在进行端口扫描的时候,就只能侦测到NAT主机,有效地避免了来自网络外部的攻击,隐藏并保护网络内部的计算机。
密码引擎3044提供密钥生成、加密以及解密算法。通过调用密码引擎的算法接口获得加密密钥,以及对数据进行加密和解密。
视频流分析模块3048用来分析视频流的帧格式。将视频流的当前数据包输入视频流分析模块,视频流分析模块通过对视频流的数据包进行解析,检测出当前数据包的帧格式。
应该理解的是,虽然图2、4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2、4中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图5所示,提供了一种流媒体加密装置,包括:接收模块502、获取模块504、检测模块506、加密模块508、发送模块510,其中:
接收模块502,用于接收用户终端发送的流媒体获取请求;
获取模块504,用于获取流媒体获取请求指定的流媒体;
检测模块506,用于对流媒体的帧格式进行检测,得到流媒体的关键帧;
加密模块508,用于利用流媒体密钥对流媒体的关键帧进行加密,得到加密后流媒体;所述流媒体密钥是对随机数进行运算所得;
发送模块510,用于将加密后流媒体发送到用户终端。
在上述实施例中,边缘计算设备获得流媒体之后,对流媒体的帧格式进行检测,识别出流媒体的关键帧,并且对关键帧进行加密处理后再发送给用户终端。用户终端在获得流媒体数据之后,首先需要对流媒体的关键帧进行解密,然后才能根据关键帧解压缩得到完整的流媒体。由于流媒体的关键帧经过了加密处理,所以非法的用户终端即使窃取了流媒体数据,在没有解密密钥的情况下也不能解密得到关键帧的明文,所以也无法根据关键帧解压缩得到流媒体的完整的内容,有效防止了流媒体数据被窃取、篡改。
在一个实施例中,如图6所示,装置还包括:
接收模块502,还用于接收用户终端发送的身份识别码密文和时间戳密文;
调用模块512,用于调用密码引擎的解密接口;
解密模块514,用于通过密码引擎分别对身份识别码密文和时间戳密文进行解密,得到身份识别码和所述时间戳;
验证模块516,用于对身份识别码进行验证;
运算模块518,用于若身份识别码验证通过,则对身份识别码和时间戳进行运算,得到共享密钥;共享密钥用于对流媒体密钥进行加密。
在一个实施例中,装置还包括
提取模块520,用于从流媒体获取请求提取密钥获取指令;
发送模块510,响应于密钥获取指令,还用于向用户终端发送信息加密密钥;信息加密密钥用于对身份识别码和时间戳分别进行加密,以得到身份识别码密文和时间戳密文。
在一个实施例中,共享密钥是国密SM4算法密钥;装置还包括:
划分模块522,若身份识别码验证通过,则用于对身份识别码进行子段划分,得到第一子身份识别码和第二子身份识别码;
运算模块518,还用于对第一子身份识别码和时间戳进行运算,得到子密钥;对第二子身份识别码和时间戳进行运算,得到向量;对子密钥和向量进行运算,得到共享密钥。
在一个实施例中,运算模块518还用于:对时间戳进行哈希运算,得到时间戳的哈希值;对第一子身份识别码和哈希值进行运算,得到子密钥;对第二子身份识别码和哈希值进行运算,得到向量。
在一个实施例中,流媒体包括视频流;检测模块506,还用于:调用视频分析接口;通过视频分析接口对应的视频分析算法对视频流的帧格式进行检测,得到视频流的I帧;利用流媒体密钥对流媒体的关键帧进行加密,得到加密后流媒体包括:调用密码引擎的加密接口;通过密码引擎对视频流的I帧进行加密,得到加密后视频流。
在一个实施例中,装置还包括:
加密模块508,还用于用共享密钥加密流媒体密钥,得到流媒体密钥密文;
添加模块524,用于将流媒体密钥密文添加于加密后视频流的I帧之后;流媒体密钥密文用于指示用户终端对流媒体密钥密文进行解密,并利用解密所得的流媒体密钥对加密后视频流进行解密。
关于流媒体加密装置的具体限定可以参见上文中对于流媒体加密方法的限定,在此不再赘述。上述流媒体加密装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是边缘计算设备,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储流媒体加密数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种流媒体加密方法。
本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:接收用户终端发送的流媒体获取请求;获取流媒体获取请求指定的流媒体;对流媒体的帧格式进行检测,得到流媒体的关键帧;利用流媒体密钥对流媒体的关键帧进行加密,得到加密后流媒体;流媒体密钥是对随机数进行运算所得;将加密后流媒体发送到用户终端。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:接收用户终端发送的身份识别码密文和时间戳密文;调用密码引擎的解密接口;通过密码引擎分别对身份识别码密文和时间戳密文进行解密,得到身份识别码和时间戳;对身份识别码进行验证;若身份识别码验证通过,则对身份识别码和时间戳进行运算,得到共享密钥;共享密钥用于对流媒体密钥进行加密。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:从流媒体获取请求提取密钥获取指令;响应于密钥获取指令,向用户终端发送信息加密密钥;信息加密密钥用于对身份识别码和时间戳分别进行加密,以得到身份识别码密文和时间戳密文。
在一个实施例中,共享密钥是国密SM4算法密钥;处理器执行计算机程序时还实现以下步骤:若身份识别码验证通过,则对身份识别码进行子段划分,得到第一子身份识别码和第二子身份识别码;对第一子身份识别码和时间戳进行运算,得到子密钥;对第二子身份识别码和时间戳进行运算,得到向量;对子密钥和向量进行运算,得到共享密钥。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:对时间戳进行哈希运算,得到时间戳的哈希值;对第一子身份识别码和时间戳进行运算,得到子密钥包括:对第一子身份识别码和哈希值进行运算,得到子密钥;对第二子身份识别码和时间戳进行运算,得到向量包括:对第二子身份识别码和哈希值进行运算,得到向量。
在一个实施例中,处理器执行对流媒体的帧格式进行检测,得到流媒体的关键帧时还实现以下步骤:调用视频分析接口;通过视频分析接口对应的视频分析算法对视频流的帧格式进行检测,得到视频流的I帧;利用流媒体密钥对流媒体的关键帧进行加密,得到加密后流媒体包括:调用密码引擎的加密接口;通过密码引擎对视频流的I帧进行加密,得到加密后视频流。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:用共享密钥加密流媒体密钥,得到流媒体密钥密文;将流媒体密钥密文添加于加密后视频流的I帧之后;流媒体密钥密文用于指示用户终端对流媒体密钥密文进行解密,并利用解密所得的流媒体密钥对加密后视频流进行解密。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:接收用户终端发送的流媒体获取请求;获取流媒体获取请求指定的流媒体;对流媒体的帧格式进行检测,得到流媒体的关键帧;利用流媒体密钥对流媒体的关键帧进行加密,得到加密后流媒体;流媒体密钥是对随机数进行运算所得;将加密后流媒体发送到用户终端。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:接收用户终端发送的身份识别码密文和时间戳密文;调用密码引擎的解密接口;通过密码引擎分别对身份识别码密文和时间戳密文进行解密,得到身份识别码和时间戳;对身份识别码进行验证;若身份识别码验证通过,则对身份识别码和时间戳进行运算,得到共享密钥;共享密钥用于对流媒体密钥进行加密。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:从流媒体获取请求提取密钥获取指令;响应于密钥获取指令,向用户终端发送信息加密密钥;信息加密密钥用于对身份识别码和时间戳分别进行加密,以得到身份识别码密文和时间戳密文。
在一个实施例中,共享密钥是国密SM4算法密钥;计算机程序被处理器执行时还实现以下步骤:若身份识别码验证通过,则对身份识别码进行子段划分,得到第一子身份识别码和第二子身份识别码;对第一子身份识别码和时间戳进行运算,得到子密钥;对第二子身份识别码和时间戳进行运算,得到向量;对子密钥和向量进行运算,得到共享密钥。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:对时间戳进行哈希运算,得到时间戳的哈希值;对第一子身份识别码和时间戳进行运算,得到子密钥包括:对第一子身份识别码和哈希值进行运算,得到子密钥;对第二子身份识别码和时间戳进行运算,得到向量包括:对第二子身份识别码和哈希值进行运算,得到向量。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:调用视频分析接口;通过视频分析接口对应的视频分析算法对视频流的帧格式进行检测,得到视频流的I帧;利用流媒体密钥对流媒体的关键帧进行加密,得到加密后流媒体包括:调用密码引擎的加密接口;通过密码引擎对视频流的I帧进行加密,得到加密后视频流。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:用共享密钥加密流媒体密钥,得到流媒体密钥密文;将流媒体密钥密文添加于加密后视频流的I帧之后;流媒体密钥密文用于指示用户终端对流媒体密钥密文进行解密,并利用解密所得的流媒体密钥对加密后视频流进行解密。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种流媒体加密方法,其特征在于,所述方法包括:
接收用户终端发送的身份识别码密文和时间戳密文;
调用密码引擎的解密接口;
通过所述密码引擎分别对所述身份识别码密文和所述时间戳密文进行解密,得到身份识别码和时间戳;
对所述身份识别码进行验证;
若所述身份识别码验证通过,则对所述身份识别码和所述时间戳进行运算,得到共享密钥;
接收用户终端发送的流媒体获取请求;
获取所述流媒体获取请求指定的流媒体;
对所述流媒体的帧格式进行检测,得到所述流媒体的关键帧;
利用流媒体密钥对所述流媒体的关键帧进行加密,得到加密后流媒体;所述流媒体密钥是对随机数进行运算所得;
用所述共享密钥加密所述流媒体密钥,得到流媒体密钥密文;
将所述流媒体密钥密文添加于所述加密后流媒体的关键帧之后;所述流媒体密钥密文用于指示所述用户终端对所述流媒体密钥密文进行解密,并利用解密所得的流媒体密钥对所述加密后流媒体进行解密;
将添加了所述流媒体密钥密文的所述加密后流媒体发送到所述用户终端。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
通过密码引擎生成随机数;
对所述随机数进行运算,得到所述流媒体密钥。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
接收所述用户终端发送的密钥获取指令;
响应于所述密钥获取指令,向所述用户终端发送信息加密密钥;所述信息加密密钥用于对所述身份识别码和所述时间戳分别进行加密,以得到所述身份识别码密文和所述时间戳密文。
4.根据权利要求2所述的方法,其特征在于,所述共享密钥是国密SM4算法密钥;所述方法还包括:
若所述身份识别码验证通过,则对所述身份识别码进行子段划分,得到第一子身份识别码和第二子身份识别码;
对所述第一子身份识别码和所述时间戳进行运算,得到子密钥;
对所述第二子身份识别码和所述时间戳进行运算,得到向量;
对所述子密钥和所述向量进行运算,得到所述共享密钥。
5.根据权利要求4所述的方法,其特征在于,还包括:
对所述时间戳进行哈希运算,得到所述时间戳的哈希值;
所述对所述第一子身份识别码和所述时间戳进行运算,得到子密钥包括:
对所述第一子身份识别码和所述哈希值进行运算,得到子密钥;
所述对所述第二子身份识别码和所述时间戳进行运算,得到向量包括:
对所述第二子身份识别码和所述哈希值进行运算,得到向量。
6.根据权利要求2至5任一项所述的方法,其特征在于,所述流媒体包括视频流;所述对所述流媒体的帧格式进行检测,得到所述流媒体的关键帧包括:
调用视频分析接口;
通过所述视频分析接口对应的视频分析算法对所述视频流的帧格式进行检测,得到所述视频流的I帧;
所述利用所述流媒体密钥对所述流媒体的关键帧进行加密,得到加密后流媒体包括:
调用所述密码引擎的加密接口;
通过所述密码引擎对所述视频流的I帧进行加密,得到加密后视频流。
7.根据权利要求6所述的方法,其特征在于,所述身份识别码为二进制字符序列。
8.一种流媒体加密装置,其特征在于,所述装置包括:
接收模块,用于接收用户终端发送的身份识别码密文和时间戳密文;
调用模块,用于调用密码引擎的解密接口;
解密模块,用于通过所述密码引擎分别对所述身份识别码密文和所述时间戳密文进行解密,得到所述身份识别码和所述时间戳;
验证模块,用于对所述身份识别码进行验证;
运算模块,用于若所述身份识别码验证通过,则对所述身份识别码和所述时间戳进行运算,得到共享密钥;
所述接收模块,还用于接收用户终端发送的流媒体获取请求;
获取模块,用于获取所述流媒体获取请求指定的流媒体;
检测模块,用于对所述流媒体的帧格式进行检测,得到所述流媒体的关键帧;
加密模块,用于利用所述流媒体密钥对所述流媒体的关键帧进行加密,得到加密后流媒体;所述流媒体密钥是对随机数进行运算所得;
所述加密模块,还用于用所述共享密钥加密所述流媒体密钥,得到流媒体密钥密文;
添加模块,用于将所述流媒体密钥密文添加于所述加密后流媒体的关键帧之后;所述流媒体密钥密文用于指示所述用户终端对所述流媒体密钥密文进行解密,并利用解密所得的流媒体密钥对所述加密后流媒体进行解密;
发送模块,用于将添加了所述流媒体密钥密文的所述加密后流媒体发送到所述用户终端。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010324983.XA CN111586442B (zh) | 2020-04-23 | 2020-04-23 | 流媒体加密方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010324983.XA CN111586442B (zh) | 2020-04-23 | 2020-04-23 | 流媒体加密方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111586442A CN111586442A (zh) | 2020-08-25 |
CN111586442B true CN111586442B (zh) | 2022-05-20 |
Family
ID=72111603
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010324983.XA Active CN111586442B (zh) | 2020-04-23 | 2020-04-23 | 流媒体加密方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111586442B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113079149A (zh) * | 2021-03-25 | 2021-07-06 | 深圳前海茂佳软件科技有限公司 | 流媒体数据加密传输方法、解密方法、发送端、接收端 |
CN113259718B (zh) * | 2021-04-27 | 2023-06-09 | 深圳市锐明技术股份有限公司 | 视频流的加密方法、装置、通信设备及存储介质 |
CN117499040B (zh) * | 2023-12-28 | 2024-03-19 | 苏州元脑智能科技有限公司 | 视频流加、解密装置、方法、设备及介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1761948A (zh) * | 2003-03-18 | 2006-04-19 | 威德万技术公司 | 在安全设备上安全地提供可视内容的系统、方法及装置 |
CN1933580A (zh) * | 2005-09-14 | 2007-03-21 | 乐金电子(中国)研究开发中心有限公司 | 数字内容加密及解密方法及装置 |
CN101202631A (zh) * | 2007-12-21 | 2008-06-18 | 任少华 | 基于密钥和时间戳的身份认证系统和方法 |
CN103200387A (zh) * | 2013-02-16 | 2013-07-10 | 北京视博数字电视科技有限公司 | 一种监控录像内容保护方法及系统 |
CN104581201A (zh) * | 2014-12-31 | 2015-04-29 | 乐视网信息技术(北京)股份有限公司 | 一种视频加密方法及装置 |
CN104683824A (zh) * | 2013-11-29 | 2015-06-03 | 航天信息股份有限公司 | flv格式视频文件的加密传输方法和系统 |
CN106658061A (zh) * | 2016-12-06 | 2017-05-10 | 讯美科技股份有限公司 | 一种视频数据安全加密传输方法和系统 |
CN106788983A (zh) * | 2017-03-01 | 2017-05-31 | 深圳市中博睿存信息技术有限公司 | 一种基于客户端/服务器模式的通讯数据加密方法及装置 |
CN108243181A (zh) * | 2017-10-09 | 2018-07-03 | 北京车和家信息技术有限公司 | 一种车联网终端、数据加密方法及车联网服务器 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101005359B (zh) * | 2006-01-18 | 2010-12-08 | 华为技术有限公司 | 一种实现终端设备间安全通信的方法及装置 |
KR101029969B1 (ko) * | 2009-12-24 | 2011-04-19 | 고려대학교 산학협력단 | 멀티미디어 데이터의 선택적 암호화 장치 및 방법, 멀티미디어 데이터 검증 방법, 및 그 기록 매체 |
CN103220141B (zh) * | 2012-01-18 | 2016-07-06 | 中国移动通信集团辽宁有限公司 | 一种基于组密钥策略的敏感数据保护方法和系统 |
CN104735457A (zh) * | 2015-03-27 | 2015-06-24 | 南京中新赛克科技有限责任公司 | 一种基于h.264编码的视频加解密方法 |
KR102008424B1 (ko) * | 2017-09-27 | 2019-08-08 | 주식회사 에이치앤비트 | 프레임 선별적 동영상 암호화 방법 |
CN108156152B (zh) * | 2017-12-22 | 2019-08-02 | 北京百度网讯科技有限公司 | 流媒体下载与播放的方法、装置、存储介质及终端设备 |
CN109635586B (zh) * | 2018-12-13 | 2021-07-06 | 苏州科达科技股份有限公司 | 媒体文件加密密钥管理方法、系统、设备及存储介质 |
CN110149209B (zh) * | 2019-04-15 | 2022-06-28 | 深圳奇迹智慧网络有限公司 | 物联网设备及其提高数据传输安全性的方法和装置 |
-
2020
- 2020-04-23 CN CN202010324983.XA patent/CN111586442B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1761948A (zh) * | 2003-03-18 | 2006-04-19 | 威德万技术公司 | 在安全设备上安全地提供可视内容的系统、方法及装置 |
CN1933580A (zh) * | 2005-09-14 | 2007-03-21 | 乐金电子(中国)研究开发中心有限公司 | 数字内容加密及解密方法及装置 |
CN101202631A (zh) * | 2007-12-21 | 2008-06-18 | 任少华 | 基于密钥和时间戳的身份认证系统和方法 |
CN103200387A (zh) * | 2013-02-16 | 2013-07-10 | 北京视博数字电视科技有限公司 | 一种监控录像内容保护方法及系统 |
CN104683824A (zh) * | 2013-11-29 | 2015-06-03 | 航天信息股份有限公司 | flv格式视频文件的加密传输方法和系统 |
CN104581201A (zh) * | 2014-12-31 | 2015-04-29 | 乐视网信息技术(北京)股份有限公司 | 一种视频加密方法及装置 |
CN106658061A (zh) * | 2016-12-06 | 2017-05-10 | 讯美科技股份有限公司 | 一种视频数据安全加密传输方法和系统 |
CN106788983A (zh) * | 2017-03-01 | 2017-05-31 | 深圳市中博睿存信息技术有限公司 | 一种基于客户端/服务器模式的通讯数据加密方法及装置 |
CN108243181A (zh) * | 2017-10-09 | 2018-07-03 | 北京车和家信息技术有限公司 | 一种车联网终端、数据加密方法及车联网服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN111586442A (zh) | 2020-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111586442B (zh) | 流媒体加密方法、装置、计算机设备和存储介质 | |
KR101760092B1 (ko) | 하드웨어 보안모듈을 이용한 cctv 보안강화 장치 및 그 방법 | |
US10154014B2 (en) | Method and system for efficient encryption, transmission, and decryption of video data | |
US5907619A (en) | Secure compressed imaging | |
CN109218825B (zh) | 一种视频加密系统 | |
CN107707504B (zh) | 一种流媒体的播放方法、系统以及服务器和客户端 | |
CN104349135B (zh) | 监控服务器、监控服务器的处理数据的方法以及监控系统 | |
KR101355057B1 (ko) | 전자 장치에서의 소프트웨어 업데이트들의 집행 | |
US20100064138A1 (en) | Apparatus and method for providing security service of user interface | |
CN109151508B (zh) | 一种视频加密方法 | |
US20050193206A1 (en) | Digital watermarking system using a cryptographic key | |
JPH09270785A (ja) | 情報処理装置 | |
CN111917540B (zh) | 一种数据加解密方法、装置、移动终端和存储介质 | |
US20170353745A1 (en) | Secure media player | |
CN110690956B (zh) | 双向认证方法及系统、服务器和终端 | |
CN106998475B (zh) | 视频传输路径跟踪方法及装置 | |
WO2016041641A1 (en) | Encoder, decoder and methods employing partial data encryption | |
WO2022193620A1 (zh) | 一种用于网络文件保护的编解码方法、装置 | |
CN112804560A (zh) | 视频加密传输方法、中间件及计算机可读存储介质 | |
CN112804215A (zh) | 一种基于零信任机制的视频采集安全处理系统及方法 | |
CN116405734B (zh) | 确保数据安全的数据传输方法和系统 | |
CN115955310B (zh) | 信源加密多媒体数据导出安全保护方法、装置及设备 | |
Singh et al. | Recovering tampered regions in encrypted video using POB number system | |
JP2012114654A (ja) | 監視カメラおよび蓄積装置、並びに監視画像改ざん検出方法 | |
Rashid et al. | A secure video deduplication scheme in cloud storage environments using h. 264 compression |
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 |