CN110662091B - 第三方直播视频接入方法、存储介质、电子设备及系统 - Google Patents

第三方直播视频接入方法、存储介质、电子设备及系统 Download PDF

Info

Publication number
CN110662091B
CN110662091B CN201810718804.3A CN201810718804A CN110662091B CN 110662091 B CN110662091 B CN 110662091B CN 201810718804 A CN201810718804 A CN 201810718804A CN 110662091 B CN110662091 B CN 110662091B
Authority
CN
China
Prior art keywords
party
live broadcast
live
request
private key
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
Application number
CN201810718804.3A
Other languages
English (en)
Other versions
CN110662091A (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.)
Shenzhen Haoyu Technology Co ltd
Original Assignee
Wuhan Douyu Network Technology Co Ltd
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 Wuhan Douyu Network Technology Co Ltd filed Critical Wuhan Douyu Network Technology Co Ltd
Priority to CN201810718804.3A priority Critical patent/CN110662091B/zh
Publication of CN110662091A publication Critical patent/CN110662091A/zh
Application granted granted Critical
Publication of CN110662091B publication Critical patent/CN110662091B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management 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/258Client 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/25866Management of end-user data
    • H04N21/25875Management of end-user data involving end-user authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management 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/254Management at additional data server, e.g. shopping server, rights management server
    • H04N21/2541Rights Management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management 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/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/26613Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel for generating or managing keys in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/441Acquiring end-user identification, e.g. using personal code sent by the remote control or by inserting a card

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Graphics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明公开了一种第三方直播视频接入方法、存储介质、电子设备及系统,涉及信息处理领域,该方法步骤包括:接收第三方直播登录请求,对第三方直播登录请求进行鉴权,如果第三方为已授权用户,则向第三方发送授权标识。接收经过第三方私钥加密的开播请求,使用公钥进行解密,并校验开播请求是否合法,如果合法,使用公钥加密直播视频流接口地址信息,并发送给第三方,所述开播请求包括授权标识、第三方注册账户时预授的身份标识。本发明能够为直播平台和第三方提供一套安全的直播环境。

Description

第三方直播视频接入方法、存储介质、电子设备及系统
技术领域
本发明涉及信息处理领域,具体涉及第三方直播视频接入方法、存储介质、电子设备及系统。
背景技术
随着直播越来越收到大众的喜爱,观看直播的人数也越来越多。同时,除了坐在电脑前进行直播外,直播的形式也越来越多样。例如,使用手机进行直播,使用无人机进行直播,使用运动相机进行直播等等。因此,直播平台的也需要对这些设备进行开放,相对的一些第三方设备厂商也希望能够作为第三方平台直接进行直播。例如希望无人机拍摄的直播,能够通过接入直播平台,来在该直播平台上方便的进行直播。
然而对于直播平台来说,除了需要直接对直播的内容进行审核外,还需要能够追溯到进行直播的直播者,防止不法者利用直播间进行非法的信息发布。而在检验直播内容和直播者的同时,还需要对数据传输进行安全验证,防止信息被黑客截获,造成无法直播,或者直播内容被非法替换的结果。此外对于在直播平台进行直播的第三方来说,其还需要一些有用的信息,如直播间列表,个人信息等等。因此亟须一套安全的方案给第三方的使用者,使得其能够安全地在直播平台上进行直播。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供第三方直播视频接入方法、存储介质、电子设备及系统,能够校验并安全的接入第三方的直播视频数据流。
为达到以上目的,本发明提供一种第三方直播视频接入方法,其包括:
接收第三方直播登录请求,对第三方直播登录请求进行鉴权,如果第三方为已授权用户,则向第三方发送授权标识;
接收经过第三方私钥加密的开播请求,使用公钥进行解密,并校验开播请求是否合法,如果合法,使用公钥加密直播视频流接口地址信息,并发送给第三方,所述开播请求包括授权标识、第三方注册账户时预授的身份标识。
在上述技术方案的基础上,所述第三方注册账户时预授的身份标识以及公钥和私钥的具体算法包括以下步骤:
第三方在直播平台注册,记录注册名称及注册时间;
生成第一随机数,直播平台根据注册名称、注册时间、第一随机数以及预设的第一算法,计算身份标识APPID;
生成第二随机数,直播平台根据APPID、第二个随机数以及预设的第一算法计算生成一个数值,该数值作为私钥;
获取私钥,并根据预设的第二算法为私钥生成公钥,所述公钥和私钥为密钥对。
在上述技术方案的基础上,所述用户第一算法为MD5(Message Digest AlgorithmMD5,第五版消息摘要算法)。
在上述技术方案的基础上,所述第二算法为RSA加密算法。
在上述技术方案的基础上,所述视频流接收地址为CDN(Content DdistributeNetwork,内容分发网络)地址。
本发明还提供一种第三方直播视频接入方法,其包括:
第三方向直播平台发出登录请求后,直播平台对该登陆请求进行鉴权,如果有权,则直播平台向第三方发送的授权标识;
第三方使用私钥对开播请求进行加密,并发送至直播平台,所述开播请求包括授权标识、第三方注册账户时直播平台预授的身份标识;
直播平台使用公钥解密接收收到的开播请求,若校验授权标识和身份标识合法,则使用公钥加密直播视频流接口地址信息,并发送至第三方;
第三方接收直播视频流接口地址信息,使用私钥进行解密,获得直播视频流接口地址,向直播视频流接口地址发送直播视频流。
在上述技术方案的基础上,所述直播视频流接口地址信息还包括房间号、房间网址。
本发明还提供一种第三方直播视频接入系统,其包括:
校验模块,用于接收第三方发送的登陆请求,并对登陆请求进行鉴权,如果有权,则直播平台向第三方发送的授权标识;
开播请求模块,用于使用私钥对开播请求进行加密,并发送至直播平台,所述开播请求包括授权标识、第三方注册账户时直播平台预授的身份标识;
开播验证模块,用于使用公钥解密接收收到的开播请求,若校验授权标识和身份标识合法,则使用公钥加密直播视频流接口地址信息,并发送至第三方;
直播模块,用于接收直播视频流接口地址信息,使用私钥进行解密,获得直播视频流接口地址,向直播视频流接口地址发送直播视频流。
本发明还提供一种存储介质,该存储介质上存储有计算机程序:所述计算机程序被处理器执行时实现以下步骤:
第三方向直播平台发出登录请求后,直播平台对该登陆请求进行鉴权,如果有权,则直播平台向第三方发送的授权标识;
第三方使用私钥对开播请求进行加密,并发送至直播平台,所述开播请求包括授权标识、第三方注册账户时直播平台预授的身份标识;
直播平台使用公钥解密接收收到的开播请求,若校验授权标识和身份标识合法,则使用公钥加密直播视频流接口地址信息,并发送至第三方;
第三方接收直播视频流接口地址信息,使用私钥进行解密,获得直播视频流接口地址,向直播视频流接口地址发送直播视频流。
本发明还提供一种电子设备,包括存储器和处理器,存储器上储存有在处理器上运行的计算机程序:所述处理器执行所述计算机程序时实现以下步骤:
第三方向直播平台发出登录请求后,直播平台对该登陆请求进行鉴权,如果有权,则直播平台向第三方发送的授权标识;
第三方使用私钥对开播请求进行加密,并发送至直播平台,所述开播请求包括授权标识、第三方注册账户时直播平台预授的身份标识;
直播平台使用公钥解密接收收到的开播请求,若校验授权标识和身份标识合法,则使用公钥加密直播视频流接口地址信息,并发送至第三方;
第三方接收直播视频流接口地址信息,使用私钥进行解密,获得直播视频流接口地址,向直播视频流接口地址发送直播视频流。
与现有技术相比,本发明的优点在于:
(1)本发明通过为第三方设置身份标识和授权标识,保证直播平台能够二次验证第三方账号,以及登陆账户的当前用户的合法性,提高了接入的安全性;此外设置密钥对,使得在第三方和直播平台通信为加解密传输保证了其内容不会泄露,进一步提高了安全性。
(2)本发明通过第三方注册时间和名称以及随机数,计算密钥对,保证了身份标识和授权标识的特异性和安全性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面对实施例对应的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例第三方直播视频接入方法的流程图;
图2为本发明实施例第三方直播视频接入方法中第三方注册账户时预授的身份标识以及公钥和私钥的具体算法的流程图;
图3为本发明另一个实施例第三方直播视频接入方法的流程图
图4为本发明第三方直播视频接入系统的结构示意图。
图中:1-校验模块,2-开播请求模块3-开播验证模块,4-直播模块。
具体实施方式
以下结合附图对本发明的实施例作进一步详细说明。
技术术语解释:
MD5:即Message-Digest Algorithm 5,中文名称为信息摘要算法5。是计算机广泛使用的杂凑算法之一(又译摘要算法、哈希算法),主流编程语言普遍已有MD5实现。将数据(如汉字)运算为另一固定长度值,是杂凑算法的基础原理,MD5的前身有MD2、MD3和MD4。1991年,Rivest开发出技术上更为趋近成熟的md5算法。它在MD4的基础上增加了"安全-带子"(safety-belts)的概念。虽然MD5比MD4复杂度大一些,但却更为安全。
RSA加密算法:一种非对称加密算法。在公开密钥加密和电子商业中RSA被广泛使用。RSA是1977年由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的。RSA就是他们三人姓氏开头字母拼在一起组成的。公开密钥密码体制是一种“由已知加密密钥推导出解密密钥在计算上是不可行的”密码体制。在公开密钥密码体制中,加密密钥(即公开密钥)PK是公开信息,而解密密钥(即秘密密钥)SK是需要保密的。加密算法E和解密算法D也都是公开的。虽然解密密钥SK是由公开密钥PK决定的,但却不能根据PK计算出SK。正是基于这种理论,1978年出现了著名的RSA算法,它通常是先生成一对RSA密钥,其中之一是保密密钥,由用户保存;另一个为公开密钥,可对外公开,甚至可在网络服务器中注册。
CDN地址:全称是Content Delivery Network,即内容分发网络。CDN是构建在网络之上的内容分发网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的关键技术主要有内容存储和分发技术。CDN的基本原理是广泛采用各种缓存服务器,将这些缓存服务器分布到用户访问相对集中的地区或网络中,在用户访问网站时,利用全局负载技术将用户的访问指向距离最近的工作正常的缓存服务器上,由缓存服务器直接响应用户请求。
参见图1所示,本发明实施例提供第三方直播视频接入方法、存储介质、电子设备及系统,其通过验证第三方的授权标识和身份标识能够为直播平台和第三方提供一套安全的直播环境。
为达到上述技术效果,本申请的总体思路如下:
如图1所示,一种第三方直播视频接入方法,,该方法包括
接收第三方直播登录请求,对第三方直播登录请求进行鉴权,如果第三方为已授权用户,则向第三方发送授权标识;
接收经过第三方私钥加密的开播请求,使用公钥进行解密,并校验开播请求是否合法,如果合法,使用公钥加密直播视频流接口地址信息,并发送给第三方,所述开播请求包括授权标识、第三方注册账户时预授的身份标识。
具体来说,授权标识为第三方在直播平台登陆后,第三方平台即时给予的校验标识,而身份标识用于是需要在第三方注册时候就获取的,身份标识能够进一步的验证准备直播的是的之前注册用户本人,而不是窃取了用户名密码,并盗用登陆的黑客。公钥和私钥则保证了第三方和直播平台之间的通讯是保密的,就算被不法分子窃听,在没有破解算法之前,不法分子也是无法获知通讯内容的。
需要说明的是,本文中所说的第三方可以是第三方的应用,即应用需要与直播平台进行直播接入,也可以是第三方平台对直播平台进行视频接入,还可以是第三方设备。只要是在直播平台的系统/网络/架构的外部的另一方,且其需要从直播平台进行视频接入,均包含在第三方中。
为了更好的理解上述技术方案,下面结合具体实施方式进行详细说明。
实施例一
某第三方应用需要在直播平台进行直播,那么首先该第三方应用在直播平台注册账号以及密码,直播平台将为第三方应用平台授予身份标识APPID。
在第三方应用需要开播时:
第三方应用使用注册的账号和密码,在直播平台登陆。直播平台验证第三方应用的账户和密码,确认第三方应用为合法用户后,向第三方应用发送授权标识token,标识第三方应用账户为合法账户。
若不法分子能够介入到第三方应用和直播平台的通信中,在其没有token的情况下,直播平台能够直接判断出该发出信息是不具有token的,即为不法分子发送的信息。
因此,通过直播平台下发token,第三方应用能够使用token作为其账户合法的证明,和直播平台进行校验,提升第三方应用和直播平台通信的安全性。
第三方应用登陆成功后接收到直播平台的授权标识token。如果第三方应用需要进一步的开播,则需要提交开播请求,开播请求需求带上身份标识APPID并携带上授权标识token。直播平台在收到开波请求后,首先验证token,确认该信息为第三方应用的账户发送的,然后再验证APPID,确认目前登陆该账户为注册时的第三方应用,或者第三发的授权方。
若不法分子直接介入通信,企图通过发送假的开播请求,来骗取直播平台响应的视频流地址,直播平台能够通过验证开播请求中是否包含有token信息确认该开播请求不是账户发送的。
若不法分子通过盗取了第三方应用的账户和密码,通过该账户和密码登陆来获取token信息,然后使用该token信息申请开播,直播平台验证完成token后,会继续验证其APPID。而只盗取了账户和密码的不法分子发送的开播请求中是不包含APPID的,那么直播平台就能够通过APPID确认该账户不是本人登陆,其开播请求不是原第三方应用或者第三方应用授权发送的。
因此,通过token和APPID,直播平台能够两次验证开播请求是否是假冒信息。一次验证是否是合法账户发送,一次验证使用账户的是合法用户。通过授权标识和身份标识,第三方应用平台和直播平台能够更加的安全。
进一步的,第三方应用和直播平台之间的通信,通过加密解密进行。若第三方应用和直播平台之间的通信为不加密的直接传递消息,那么不法分子很容易就能够通过窃听得知第三方应用和直播平台通信目前处于哪一阶段,以及通信的内容是什么。而如果将发出通信信息进行加密,接收方再解密,能够很大程度上避免内容泄露,从而提供更加安全的接入方案。
作为一个优先的实施例,视频流接收地址为CDN(Content Ddistribute Network,内容分发网络)地址。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。其目的是使用户可就近取得所需内容,解决Internet网络拥挤的状况,提高用户访问网站的响应速度。
参见图2,作为一个可能的实施方式,本发明实施例提供一种第三方直播视频接入的方法,其在实施例一的基础上,进一步确认了直播平台授予第三方的身份标识以及直播平台和第三方之间通信使用的密钥对的算法:
包括以下步骤:
S101:第三方在直播平台注册,记录注册名称及注册时间。
由于不同的第三方,其在直播平台进行注册时间以及名称不可能完全相同,因此这些数据均具有特异性,能够作为计算身份标识或者密钥对的参数。
同时注册名称和注册时间一般仅仅为直播平台和第三方所了解,其他人员难以获得这些特殊信息,因此,这些信息也比较安全,能够进一步提高使用这些信息计算出来的标识或者密钥对的安全度。
S102:生成第一随机数,直播平台根据注册名称、注册时间、第一随机数以及预设的第一算法,计算身份标识APPID。
不同第三方在直播平台注册产生的名称和注册时间均不同,因此使用这些数据通过预设算法计算出来的身份标识是不同,达到不同第三方用户其身份标识是不同的。
进一步的,如果不法分子获得了第一算法的计算方式,那么其通过注册时间以及名称就能够计算出身份标识APPID。而在步骤S102中,还生成一个第一随机数,并将该第一随机数作为第一算法的参数加入的身份标识的运算中,由于该随机数是随机的不可知的,哪怕不法分子得知了注册时间和名称以及第一算法,其仍然无法计算出身份标识APPID,进一步的保证了身份标识的安全性,从而提高了第三方和直播平台之间的通信安全。
S103:生成第二随机数,直播平台根据APPID、第二个随机数以及预设的第一算法计算生成一个数值,该数值作为私钥。
同步骤S102,由于APPID是具有特异性和安全性的,其计算出来的私钥是特有的安全的。同样,设置第二随机数后,能够有效防止其他人获得APPID和第一算法后计算出私钥,破坏第三方和直播平台之间的安全性。
作为一个优先的实施例,上述的第一算法为MD5(Message Digest AlgorithmMD5,第五版消息摘要算法).MD5为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护。
其具有以下特点:
1、压缩性:任意长度的数据,算出的MD5值长度都是固定的。
2、容易计算:从原数据计算出MD5值很容易。
3、抗修改性:对原数据进行任何改动,哪怕只修改1个字节,所得到的MD5值都有很大区别。
4、强抗碰撞:已知原数据和其MD5值,想找到一个具有相同MD5值的数据(即伪造数据)是非常困难的。
因此使用MD5能够让大容量信息在用数字签名软件签署私人密钥前被"压缩"成一种保密的格式,即将一个任意长度的字节串转换成一定长的十六进制数字串。
S104:获取私钥,并根据预设的第二算法为私钥生成公钥,所述公钥和私钥为密钥对。
私钥的值已经确定,通过第二算法即可为该私钥进行配对,得到公钥。这样,第三方和直播平台之间就能够通过仅仅双方知道的公钥和私钥的密钥对进行通信,保证通信内容不会泄露,进一步提高了安全性。
作为一个优先的实施例,本申请中提及的第二算法为RSA加密算法。RSA加密算法是一种非对称加密算法。在公开密钥加密和电子商业中RSA被广泛使用。是一种“由已知加密密钥推导出解密密钥在计算上是不可行的”密码体制。使用RSA加密算法能够提高密钥对被破解的难度,保证第三方和直播平台之间通信安全。
基于同一发明构思,本申请提供实施例二,其根据图3所述的步骤进行具体实施。
实施例二
如图3所示,本实施例提供一种第三方直播视频接入方法,实现第三方安全的接入直播平台进行直播,其包括以下步骤:
S1:第三方向直播平台发出登录请求后,直播平台对该登陆请求进行鉴权,如果有权,则直播平台向第三方发送的授权标识;
S2:第三方使用私钥对开播请求进行加密,并发送至直播平台,所述开播请求包括授权标识、第三方注册账户时直播平台预授的身份标识;
S3:直播平台使用公钥解密接收收到的开播请求,若校验授权标识和身份标识合法,则使用公钥加密直播视频流接口地址信息,并发送至第三方;
S4:第三方接收直播视频流接口地址信息,使用私钥进行解密,获得直播视频流接口地址,向直播视频流接口地址发送直播视频流。
具体的,某第三方平台,如某通过加载摄像头的无人机进行直播的平台需要接入直播平台。
首先为该无人机注册账号以及密码,直播平台将注册时间以及名称保存下来,同时生成一随机数据,计算身份标识APPID:
具体代码实现如下:
Appid=Md5.Create(registername+timestamp+randdata);
那么其中Md5.Create则表示计算HASH值的接口,本文则是计算MD5值。
其中参数registername则表示注册者的名称。
其中参数timestamp则表示注册的时间戳信息。
其中参数randdata则表示生成的随机数据。
那么最终通过MD5值的计算则得到一个唯一身份标识APPID值。
此APPID的值则会告知第三方平台,后续第三方平台访问直播平台时则都会携带此APPID的值。
反过来,对于第三方平台来说,第三方平台会从直播平台来接收一些信息,那么第三方平台需要一种保障方案,使得其接收到的信息是直播平台发送过来的,不是黑客通过篡改的信息。即需要一种机制来给第三方平台验证直播平台发送的信息的合法性。在本实施例则会在直播平台上为所有注册的第三方平台生成一对公钥和私钥信息,并且将私钥告知第三方平台。并且只有第三方平台才有私钥信息。
非对称算法有很多,本实施例则采用非对称RSA加密算法来生成一对公钥和私钥。具体则私钥可以使用随机数生成,公钥则调用RSA的接口函数可以生成对应的公钥,私钥和公钥是唯一配对的关系。
密钥对的具体生成过程和代码如下:
1.生成随机数据
Randdata=rand();
通过调用系统函数rand来生成一段随机数据Randdata。
2.APPID和随机数一起生成其Md5值做为私钥。
ClientPrivatekey=Md5.Create(APPID+TimeStamp+randdata)
通过调用Md5函数的接口Md5.Create来对用户ID和任务号和当前时间戳信息以及随机数拼接到一起计算其Md5值,从而得到了私钥数据。
3.计算公钥。
ClientPublickey=RSA.CreatePair(ClientPrivatekey);
公钥则调用RSA的生成配对钥匙接口RSA.CreatePair来生成。
从而最终为该第三方平台生成了一对公钥和私钥信息。
那么最终公钥信息则会保存到直播平台和APPID信息一起存储的地方。而将私钥信息告知第三方平台。
这样通过上述步骤就完成了开播前的准备步骤。接下来进一步描述第三方平台接入直播平台进行直播的接入步骤:
当第三方平台进行直播时,由于其并不是在直接在客户端中发送视频流进行直播,其是在第三方平台上进行直播,那么其开播则需要获取房间信息,个人信息及直播时的推送视频流的地址如CDN服务器的地址。那么首先其需要在直播平台进行账号登陆,从而获取到直播平台的授权标识token信息,此授权标识token则会发送给第三方平台,以表示该用户的合法登陆信息。
第三方平台拿到token值后,则需要与appid一起来请求直播平台的个人信息及推流地址。
假设直播平台的请求接口是getinfo,那么请求此接口时需要携带token及appid,而为了保障信息的安全性,及使得直播平台能够识别对应的请求信息是真的来自第三方平台。所以此次第三方平台则会使用直播平台分配给自己的私钥来加密信息并将解密的数据携带到请求接口中。其通过以下代码实现:
Encryptdata=rsa.encrypt(appid+token+time,ClientPrivatekey);
其中rsa.encrypt则是加密的接口函数。
其中参数则是需要加密的数据appid+token+time,其中包括appid和token值以及当前的系统时间值。
而其中加密使用的key则是直播平台为该第三方分配生成的一个私钥来加密ClientPrivatekey。
最终将加密的数据Encryptdata携带到请求直播平台的请求接口参数中。
至此,实现了第三方平台请求直播平台的接口并校验数据。
直播平台接收到第三方平台的请求后,首先会对请求者的数据进行解密,一个是验证请求者的身份,一个是给请求者返回请求者需要的数据信息。对于直播平台来说,其中即有请求者注册时的信息,即具有其对应的APPID、应的注册信息以及对应的公钥信息。那么直播平台则会取出该公钥来对第三方平台的加密信息进行解密。从而进一步判断对应的appid是否合法。如果合法则会下发对应的用户信息及推流地址。具体实现如下:
首先对数据进行解密。
appid+token+time=rsa.decrypt(Encryptdata,ClientPublickey);
具体则使用非对称算法的解密算法rsa.decrypt来解密数据。
其中输入的数据则是第三方平台请求的加密数据Encryptdata。
其中解密的key值则是第三方平台的公钥信息。
最终解密出appid+token+time的值。
那么依据token服务器可以知道对应的用户是谁,从而得到对应用户的信息。
依据appid可以知道对应的第三方平台的身份信息。
同时直播平台服务器也会查询请求信息中appid和token是否是非法值,并且其对应的值是否确实存在。
如果信息非法则会拒绝该请求,否则会下发该第三方平台直播时所需要的信息。
至此,实现了直播平台对第三方平台请求信息解密及合法性判断。
在直播平台对第三方平台请求信息解密及合法性判断后,如果合法则会获取用户的信息以及推送视频流的CDN地址,从而该第三方平台会将视频信息上传到对应的CDN服务器上。从而其他观众可以观看到该第三方平台直播的内容。
为了保证第三方平台获取的信息是真实合法的直播平台同样的会使用公钥来对用户信息和视频流推送地址进行加密,再发送给第三方平台,同时第三方平台会使用私钥来进行解密。具体实现如下:
encryptData=rsa.encrypt(userinfo+rtmp//send//www.xxxx.234);
其中userinfo则是对应的用户个人信息。
其中“rtmp//send//www.xxxx.234”则是对应的直播平台该用户的推流地址。
那么第三方平台获取到地址后则可以进行直播。
至此,实现了直播平台对第三方平台下发个人信息及推流地址信息,进而第三方平台可以通过直播平台直播。
基于同一发明构思,本申请提供实施例三,其根据图4所述的结构示意图进行具体实施。
实施例三
如图4所示,本发明实施例提供一种第三方直播视频接入系统,该系统提供一套安全的结构给第三方的使用者,来在直播平台上进行直播,其包括校验模块1、开播请求模块2、开播验证模块3和直播模块4。
校验模块1,用于接收第三方发送的登陆请求,并对登陆请求进行鉴权,如果有权,则直播平台向第三方发送的授权标识;
开播请求模块2,用于使用私钥对开播请求进行加密,并发送至直播平台,所述开播请求包括授权标识、第三方注册账户时直播平台预授的身份标识;
开播验证模块3,用于使用公钥解密接收收到的开播请求,若校验授权标识和身份标识合法,则使用公钥加密直播视频流接口地址信息,并发送至第三方;
直播模块4,用于接收直播视频流接口地址信息,使用私钥进行解密,获得直播视频流接口地址,向直播视频流接口地址发送直播视频流。前述方法实施例中的各种变化方式和具体实例同样适用于本实施例的系统,通过前述方法的详细描述,本领域技术人员可以清楚的知道本实施例中系统的实施方法,所以为了说明书的简洁,在此不再详述。
基于同一发明构思,本申请提供实施例四,其结合方法实施例的步骤进行具体实施。
实施例四
对应上述第三方直播视频接入方法,本发明实施例还提供一种存储介质,存储介质上存储有计算机程序,计算机程序被处理器执行时实现一下具体步骤:
第三方向直播平台发出登录请求后,直播平台对该登陆请求进行鉴权,如果有权,则直播平台向第三方发送的授权标识。
第三方使用私钥对开播请求进行加密,并发送至直播平台,所述开播请求包括授权标识、第三方注册账户时直播平台预授的身份标识。
直播平台使用公钥解密接收收到的开播请求,若校验授权标识和身份标识合法,则使用公钥加密直播视频流接口地址信息,并发送至第三方。
第三方接收直播视频流接口地址信息,使用私钥进行解密,获得直播视频流接口地址,向直播视频流接口地址发送直播视频流。
需要说明的是,所述存储介质包括U盘、移动硬盘、ROM(Read-Only Memory,只读存储器)、RAM(Random Access Memory,随机存取存储器)、磁碟或者光盘等各种可以存储程序代码的介质。
基于同一发明构思,本申请提供实施例五,其结合方法实施例的步骤进行具体实施。
实施例五
对应上述第三方直播视频接入方法,本发明实施例还提供一种电子设备,该电子设备存储有计算机程序,计算机程序被处理器执行时实现一下具体步骤:
第三方向直播平台发出登录请求后,直播平台对该登陆请求进行鉴权,如果有权,则直播平台向第三方发送的授权标识。
第三方使用私钥对开播请求进行加密,并发送至直播平台,所述开播请求包括授权标识、第三方注册账户时直播平台预授的身份标识。
直播平台使用公钥解密接收收到的开播请求,若校验授权标识和身份标识合法,则使用公钥加密直播视频流接口地址信息,并发送至第三方。
第三方接收直播视频流接口地址信息,使用私钥进行解密,获得直播视频流接口地址,向直播视频流接口地址发送直播视频流。
需要说明的是,所述电子设备包括存储器和处理器,存储器上储存有在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例的方法。
前述方法实施例中的各种变化方式和具体实例同样适用于本实施例的系统,通过前述方法的详细描述,本领域技术人员可以清楚的知道本实施例中系统的实施方法,所以为了说明书的简洁,在此不再详述。
总体来说,本发明实施例提供的一种第三方直播视频接入方法、存储介质、电子设备及系统,通过使用密钥对加密传输信息,并辅以授权标识和唯一标识的校验,保证第三方的直播能够安全的接收直播接口,并传输直播视频流。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (9)

1.一种第三方直播视频接入方法,其特征在于,其包括:
接收第三方直播登录请求,对第三方直播登录请求进行鉴权,如果第三方为已授权用户,则向第三方发送授权标识;
接收经过第三方私钥加密的开播请求,使用公钥进行解密,并校验开播请求是否合法,如果合法,使用公钥加密直播视频流接口地址信息,并发送给第三方,所述开播请求包括授权标识、第三方注册账户时预授的身份标识;
所述第三方注册账户时预授的身份标识以及公钥和私钥的具体算法包括以下步骤:
第三方在直播平台注册,记录注册名称及注册时间;
生成第一随机数,直播平台根据注册名称、注册时间、第一随机数以及预设的第一算法,计算身份标识APPID;
生成第二随机数,直播平台根据APPID、第二个随机数以及预设的第一算法计算生成一个数值,该数值作为私钥;
获取私钥,并根据预设的第二算法为私钥生成公钥,所述公钥和私钥为密钥对;
所述校验开播请求是否合法包括:
直播平台首先验证授权标识,确认授权标识为第三方应用的账户发送的,然后再验证身份标识,确认目前登陆该账户为注册时的第三方应用,或者第三发的授权方;
所述身份标识不是登录使用的账户。
2.如权利要求1所述的一种第三方直播视频接入方法,其特征在于,所述用户第一算法为MD5(Message Digest Algorithm MD5,第五版消息摘要算法)。
3.如权利要求1所述的一种第三方直播视频接入方法,其特征在于:所述第二算法为RSA加密算法。
4.如权利要求1所述的第三方直播视频接入方法,其特征在于:所述视频流接收地址为CDN(Content Ddistribute Network,内容分发网络)地址。
5.一种第三方直播视频接入方法,其特征在于,其包括:
第三方向直播平台发出登录请求后,直播平台对该登陆请求进行鉴权,如果有权,则直播平台向第三方发送的授权标识;
第三方使用私钥对开播请求进行加密,并发送至直播平台,所述开播请求包括授权标识、第三方注册账户时直播平台预授的身份标识;
直播平台使用公钥解密接收收到的开播请求,校验开播请求是否合法,若校验授权标识和身份标识合法,则使用公钥加密直播视频流接口地址信息,并发送至第三方;
第三方接收直播视频流接口地址信息,使用私钥进行解密,获得直播视频流接口地址,向直播视频流接口地址发送直播视频流;
所述第三方注册账户时预授的身份标识以及公钥和私钥的具体算法包括以下步骤:
第三方在直播平台注册,记录注册名称及注册时间;
生成第一随机数,直播平台根据注册名称、注册时间、第一随机数以及预设的第一算法,计算身份标识APPID;
生成第二随机数,直播平台根据APPID、第二个随机数以及预设的第一算法计算生成一个数值,该数值作为私钥;
获取私钥,并根据预设的第二算法为私钥生成公钥,所述公钥和私钥为密钥对;
所述校验开播请求是否合法包括:
直播平台首先验证授权标识,确认授权标识为第三方应用的账户发送的,然后再验证身份标识,确认目前登陆该账户为注册时的第三方应用,或者第三发的授权方;
所述身份标识不是登录使用的账户。
6.如权利要求1所述的第三方直播视频接入方法,其特征在于:所述直播视频流接口地址信息还包括房间号、房间网址。
7.一种第三方直播视频接入系统,其特征在于,其包括:
校验模块(1),用于接收第三方发送的登陆请求,并对登陆请求进行鉴权,如果有权,则直播平台向第三方发送的授权标识;
开播请求模块(2),用于使用私钥对开播请求进行加密,并发送至直播平台,所述开播请求包括授权标识、第三方注册账户时直播平台预授的身份标识;
开播验证模块(3),用于使用公钥解密接收收到的开播请求,校验开播请求是否合法,若校验授权标识和身份标识合法,则使用公钥加密直播视频流接口地址信息,并发送至第三方;
直播模块(4),用于接收直播视频流接口地址信息,使用私钥进行解密,获得直播视频流接口地址,向直播视频流接口地址发送直播视频流;
所述开播请求模块(2)还用于:
第三方在直播平台注册,记录注册名称及注册时间;
生成第一随机数,直播平台根据注册名称、注册时间、第一随机数以及预设的第一算法,计算身份标识APPID;
生成第二随机数,直播平台根据APPID、第二个随机数以及预设的第一算法计算生成一个数值,该数值作为私钥;
获取私钥,并根据预设的第二算法为私钥生成公钥,所述公钥和私钥为密钥对;
所述校验开播请求是否合法包括:
直播平台首先验证授权标识,确认授权标识为第三方应用的账户发送的,然后再验证身份标识,确认目前登陆该账户为注册时的第三方应用,或者第三发的授权方;
所述身份标识不是登录使用的账户。
8.一种存储介质,该存储介质上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现以下步骤:
第三方向直播平台发出登录请求后,直播平台对该登陆请求进行鉴权,如果有权,则直播平台向第三方发送的授权标识;
第三方使用私钥对开播请求进行加密,并发送至直播平台,所述开播请求包括授权标识、第三方注册账户时直播平台预授的身份标识;
直播平台使用公钥解密接收收到的开播请求,校验开播请求是否合法,若校验授权标识和身份标识合法,则使用公钥加密直播视频流接口地址信息,并发送至第三方;
第三方接收直播视频流接口地址信息,使用私钥进行解密,获得直播视频流接口地址,向直播视频流接口地址发送直播视频流;
所述第三方注册账户时预授的身份标识以及公钥和私钥的具体算法包括以下步骤:
第三方在直播平台注册,记录注册名称及注册时间;
生成第一随机数,直播平台根据注册名称、注册时间、第一随机数以及预设的第一算法,计算身份标识APPID;
生成第二随机数,直播平台根据APPID、第二个随机数以及预设的第一算法计算生成一个数值,该数值作为私钥;
获取私钥,并根据预设的第二算法为私钥生成公钥,所述公钥和私钥为密钥对;
所述校验开播请求是否合法包括:
直播平台首先验证授权标识,确认授权标识为第三方应用的账户发送的,然后再验证身份标识,确认目前登陆该账户为注册时的第三方应用,或者第三发的授权方;
所述身份标识不是登录使用的账户。
9.一种电子设备,包括存储器和处理器,存储器上储存有在处理器上运行的计算机程序,其特征在于:所述处理器执行所述计算机程序时实现以下步骤:
第三方向直播平台发出登录请求后,直播平台对该登陆请求进行鉴权,如果有权,则直播平台向第三方发送的授权标识;
第三方使用私钥对开播请求进行加密,并发送至直播平台,所述开播请求包括授权标识、第三方注册账户时直播平台预授的身份标识;
直播平台使用公钥解密接收收到的开播请求,校验开播请求是否合法,若校验授权标识和身份标识合法,则使用公钥加密直播视频流接口地址信息,并发送至第三方;
第三方接收直播视频流接口地址信息,使用私钥进行解密,获得直播视频流接口地址,向直播视频流接口地址发送直播视频流;
所述第三方注册账户时预授的身份标识以及公钥和私钥的具体算法包括以下步骤:
第三方在直播平台注册,记录注册名称及注册时间;
生成第一随机数,直播平台根据注册名称、注册时间、第一随机数以及预设的第一算法,计算身份标识APPID;
生成第二随机数,直播平台根据APPID、第二个随机数以及预设的第一算法计算生成一个数值,该数值作为私钥;
获取私钥,并根据预设的第二算法为私钥生成公钥,所述公钥和私钥为密钥对;
所述校验开播请求是否合法包括:
直播平台首先验证授权标识,确认授权标识为第三方应用的账户发送的,然后再验证身份标识,确认目前登陆该账户为注册时的第三方应用,或者第三发的授权方;
所述身份标识不是登录使用的账户。
CN201810718804.3A 2018-06-29 2018-06-29 第三方直播视频接入方法、存储介质、电子设备及系统 Active CN110662091B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810718804.3A CN110662091B (zh) 2018-06-29 2018-06-29 第三方直播视频接入方法、存储介质、电子设备及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810718804.3A CN110662091B (zh) 2018-06-29 2018-06-29 第三方直播视频接入方法、存储介质、电子设备及系统

Publications (2)

Publication Number Publication Date
CN110662091A CN110662091A (zh) 2020-01-07
CN110662091B true CN110662091B (zh) 2022-03-25

Family

ID=69028379

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810718804.3A Active CN110662091B (zh) 2018-06-29 2018-06-29 第三方直播视频接入方法、存储介质、电子设备及系统

Country Status (1)

Country Link
CN (1) CN110662091B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111314725A (zh) * 2020-02-19 2020-06-19 安徽文香信息技术有限公司 一种直播访问的方法、系统、设备及计算机存储介质
CN112866727B (zh) * 2020-12-23 2024-03-01 贵阳叁玖互联网医疗有限公司 一种可接收第三方推流的流媒体直播方法及系统
CN113068055B (zh) * 2021-03-15 2023-08-18 广州虎牙科技有限公司 数据传输方法、装置、系统、电子设备和存储介质
KR102547745B1 (ko) * 2021-07-12 2023-06-26 주식회사 아이디스 사전 인증정보를 이용해 네트워크 응답속도를 개선한 영상 보안 시스템
CN113794895B (zh) * 2021-09-14 2023-07-21 上海哔哩哔哩科技有限公司 基于直播平台的虚拟物品信息推送方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050087997A (ko) * 2004-02-28 2005-09-01 이임영 브로드캐스트 메시지 암호화 방법
CN105847874A (zh) * 2016-04-20 2016-08-10 乐视控股(北京)有限公司 直播装置及直播终端
CN106028064A (zh) * 2016-06-24 2016-10-12 武汉斗鱼网络科技有限公司 一种直播视频流播放地址权限校验方法及系统
CN106358050A (zh) * 2016-08-30 2017-01-25 华南理工大学广州学院 基于安卓的音频视频流推送方法及装置、播放方法及装置
CN107613316A (zh) * 2017-09-07 2018-01-19 武汉斗鱼网络科技有限公司 一种网络直播推流验证方法及系统
CN107707357A (zh) * 2017-10-10 2018-02-16 武汉斗鱼网络科技有限公司 应用二次打包检测方法、存储介质、电子设备及系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050087997A (ko) * 2004-02-28 2005-09-01 이임영 브로드캐스트 메시지 암호화 방법
CN105847874A (zh) * 2016-04-20 2016-08-10 乐视控股(北京)有限公司 直播装置及直播终端
CN106028064A (zh) * 2016-06-24 2016-10-12 武汉斗鱼网络科技有限公司 一种直播视频流播放地址权限校验方法及系统
CN106358050A (zh) * 2016-08-30 2017-01-25 华南理工大学广州学院 基于安卓的音频视频流推送方法及装置、播放方法及装置
CN107613316A (zh) * 2017-09-07 2018-01-19 武汉斗鱼网络科技有限公司 一种网络直播推流验证方法及系统
CN107707357A (zh) * 2017-10-10 2018-02-16 武汉斗鱼网络科技有限公司 应用二次打包检测方法、存储介质、电子设备及系统

Also Published As

Publication number Publication date
CN110662091A (zh) 2020-01-07

Similar Documents

Publication Publication Date Title
US11128477B2 (en) Electronic certification system
CN110662091B (zh) 第三方直播视频接入方法、存储介质、电子设备及系统
JP6612358B2 (ja) ネットワークアクセスデバイスをワイヤレスネットワークアクセスポイントにアクセスさせるための方法、ネットワークアクセスデバイス、アプリケーションサーバ、および不揮発性コンピュータ可読記憶媒体
US8631481B2 (en) Access to a network for distributing digital content
US7818792B2 (en) Method and system for providing third party authentication of authorization
US20200320178A1 (en) Digital rights management authorization token pairing
WO2005025125A1 (ja) 機器認証システム
CN109996095B (zh) 一种网络视频点播防止盗链播放的方法、系统及介质
CN109525565B (zh) 一种针对短信拦截攻击的防御方法及系统
CN113572728B (zh) 认证物联网设备的方法、装置、设备及介质
US20220417241A1 (en) Methods, Systems, and Devices for Server Control of Client Authorization Proof of Possession
CN110138558B (zh) 会话密钥的传输方法、设备及计算机可读存储介质
CN111740995B (zh) 一种授权认证方法及相关装置
KR102413497B1 (ko) 보안 전자 데이터 전송을 위한 시스템 및 방법
KR101386962B1 (ko) 에뮬레이션 방지 메커니즘을 갖는 서비스 전달을 위한 디바이스, 시스템 및 방법
US8699710B2 (en) Controlled security domains
CN115766119A (zh) 通信方法、装置、通信系统及存储介质
CN112242976B (zh) 一种身份认证方法及装置
US8769280B2 (en) Authentication apparatus and method for non-real-time IPTV system
KR101256114B1 (ko) 다수의 mac검증서버에 의한 메시지인증코드 검증 방법 및 시스템
US9946855B2 (en) Method to detect cloned software
KR20170111809A (ko) 대칭키 기반의 보안 토큰을 이용한 양방향 인증 방법
CN113079506A (zh) 网络安全认证方法、装置及设备
Sciancalepore et al. Multi-Domain Access Rights Composition in Federated IoT Platforms.
CN110225011B (zh) 用户节点的认证方法、设备及计算机可读存储介质

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
TR01 Transfer of patent right

Effective date of registration: 20240401

Address after: 518000, Building 5, Building A, Building 1717, Huaqiang Creative Park, Biyan Community, Guangming Street, Guangming District, Shenzhen, Guangdong Province

Patentee after: Shenzhen Haoyu Technology Co.,Ltd.

Country or region after: China

Address before: 430000 East Lake Development Zone, Wuhan City, Hubei Province, No. 1 Software Park East Road 4.1 Phase B1 Building 11 Building

Patentee before: WUHAN DOUYU NETWORK TECHNOLOGY Co.,Ltd.

Country or region before: China

TR01 Transfer of patent right