CN114245183B - 推流数据鉴权方法及装置 - Google Patents

推流数据鉴权方法及装置 Download PDF

Info

Publication number
CN114245183B
CN114245183B CN202111528784.1A CN202111528784A CN114245183B CN 114245183 B CN114245183 B CN 114245183B CN 202111528784 A CN202111528784 A CN 202111528784A CN 114245183 B CN114245183 B CN 114245183B
Authority
CN
China
Prior art keywords
authentication
push
information
server
push data
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
CN202111528784.1A
Other languages
English (en)
Other versions
CN114245183A (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.)
Shanghai Bilibili Technology Co Ltd
Original Assignee
Shanghai Bilibili 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 Shanghai Bilibili Technology Co Ltd filed Critical Shanghai Bilibili Technology Co Ltd
Priority to CN202111528784.1A priority Critical patent/CN114245183B/zh
Publication of CN114245183A publication Critical patent/CN114245183A/zh
Application granted granted Critical
Publication of CN114245183B publication Critical patent/CN114245183B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/254Management at additional data server, e.g. shopping server, rights management server
    • H04N21/2541Rights Management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • 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/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)
  • Storage Device Security (AREA)

Abstract

本申请公开了一种推流数据鉴权方法。所述方法包括:接收主播终端发送的推流数据,所述推流数据中携带有鉴权参数,所述鉴权参数包括目标摘要信息与版本信息,其中,所述目标摘要信息为采用预设的消息摘要算法对所述鉴权参数中的版本信息与所述主播终端中存储的推流码进行消息摘要计算后得到的;采用所述消息摘要算法对服务器中存储的推流码与所述鉴权参数中的版本信息进行消息摘要计算,得到摘要信息;比较所述摘要信息和所述目标摘要信息是否相同,若相同,则鉴权通过,并存储所述推流数据。本申请可提高安全性。

Description

推流数据鉴权方法及装置
技术领域
本申请涉及计算机技术领域,尤其涉及一种推流数据鉴权方法及装置。
背景技术
在目前业内主流的直播架构中,主播推流时都需要带上推流码用于服务器鉴权。然而,在一些活动中或者主播个人原因经常会需要别人帮忙推流,此时推流码就会被泄漏。别人可以在没有经过主播许可的情况下进行推流。通常针对这种情况都是在发现推流码泄漏的时候联系运营对推流码进行重置。虽然,此方案可以一定程度上解决越权推流问题,但该解决方案耗费人力且不能从根本上杜绝越权推流的问题。
发明内容
有鉴于此,现提供一种推流数据鉴权方法、装置、计算机设备及计算机可读存储介质,以解决现有推流解决方案耗费人力且不能从根本上杜绝越权推流的问题。
本申请提供了一种推流数据鉴权方法,包括:
接收主播终端发送的推流数据,所述推流数据中携带有鉴权参数,所述鉴权参数包括目标摘要信息与版本信息,其中,所述目标摘要信息为采用预设的消息摘要算法对所述鉴权参数中的版本信息与所述主播终端中存储的推流码进行消息摘要计算后得到的;
采用所述消息摘要算法对服务器中存储的推流码与所述鉴权参数中的版本信息进行消息摘要计算,得到摘要信息;
比较所述摘要信息和所述目标摘要信息是否相同;
若相同,则鉴权通过,并存储所述推流数据。
可选地,,所述若所述摘要信息和所述目标摘要信息相同的步骤之后,还包括:
检测所述鉴权参数中的版本信息与所述服务器中存储的版本信息是否匹配,其中,当所述鉴权参数中的版本信息与所述服务器中存储的版本信息匹配时,鉴权通过。
可选地,所述方法还包括:
若所述摘要信息和所述目标摘要信息不相同,则返回鉴权失败消息给所述主播终端,并拒绝接收所述主播终端发送的推流数据;或
若所述鉴权参数中的版本信息与所述服务器中存储的版本信息不匹配,则返回鉴权失败消息给所述主播终端,并拒绝接收所述主播终端发送的推流数据。
可选地,所述鉴权参数中的版本信息为版本号,所述检测所述鉴权参数中的版本信息与所述服务器中存储的版本信息是否匹配包括:
检测所述推流数据中的版本号是否大于或者等于所述服务器中存储的版本号。
可选地,所述若匹配,则鉴权通过,并存储所述推流数据的步骤之后,还包括:
更新所述服务器中存储的版本号。
可选地,所述方法还包括:
生成推流码,并将生成的推流码返回给所述主播终端,以供主播终端存储所述生成的推流码。
可选地,所述消息摘要算法为MD5算法,所述采用所述消息摘要算法对服务器中存储的推流码与所述鉴权参数中的版本信息进行消息摘要计算,得到摘要信息包括:
将所述服务器中存储的推流码与所述鉴权参数中的版本信息进行拼接,得到拼接后的字符串;
采用MD5算法对拼接后的字符串进行消息摘要计算,得到摘要信息。
本申请还提供了一种推流数据鉴权装置,包括:
接收模块,用于接收主播终端发送的推流数据,所述推流数据中携带有鉴权参数,所述鉴权参数包括目标摘要信息与版本信息,其中,所述目标摘要信息为采用预设的消息摘要算法对所述鉴权参数中的版本信息与所述主播终端中存储的推流码进行消息摘要计算后得到的;
计算模块,用于采用所述消息摘要算法对服务器中存储的推流码与所述鉴权参数中的版本信息进行消息摘要计算,得到摘要信息;
比较模块,用于比较所述摘要信息和所述目标摘要信息是否相同;
存储模块,用于若相同,则鉴权通过,并存储所述推流数据。
本申请还提供了一种计算机设备,所述计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
本申请通过接收主播终端发送的推流数据,所述推流数据中携带有鉴权参数,所述鉴权参数包括目标摘要信息与版本信息,其中,所述目标摘要信息为采用预设的消息摘要算法对所述鉴权参数中的版本信息与所述主播终端中存储的推流码进行消息摘要计算后得到的;采用所述消息摘要算法对服务器中存储的推流码与所述鉴权参数中的版本信息进行消息摘要计算,得到摘要信息;比较所述摘要信息和所述目标摘要信息是否相同,若相同,则鉴权通过,并存储所述推流数据。本申请,在进行推流鉴权时,由于无需对推流码进行明文传输,就能实现推流鉴权,因此,本申请中的推流数据鉴权方法可以避免推流码被泄露,提高安全性。
附图说明
图1为本申请实施例的推流数据鉴权方法的环境示意图;
图2为本申请所述的推流数据鉴权方法的一种实施例的流程图;
图3为本申请一实施方式中采用所述消息摘要算法对服务器中存储的推流码与所述鉴权参数中的版本信息进行消息摘要计算,得到摘要信息的步骤细化流程示意图;
图4为本申请所述的推流数据鉴权装置的一种实施例的程序模块图;
图5为本申请实施例提供的执行推流数据鉴权方法的计算机设备的硬件结构示意图。
具体实施方式
以下结合附图与具体实施例进一步阐述本申请的优点。
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“所述”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
在本申请的描述中,需要理解的是,步骤前的数字标号并不标识执行步骤的前后顺序,仅用于方便描述本申请及区别每一步骤,因此不能理解为对本申请的限制。
图1示意性示出了根据本申请实施例的推流数据鉴权方法的应用环境示意图。在示例性的实施例中,所述应用环境的***可包括主播终端10、服务器20。其中,主播终端10与服务器20形成无线或有线连接。主播终端10可以为手机、iPAD,平板电脑等。服务器20可以为一台服务器或多台服务器组成的服务器集群或云计算中心等,具体此处不作限定。主播终端10中安装有应用程序,所述应用程序可以运行所述推流数据鉴权方法的程序代码,从而实现对推流数据进行鉴权。
参阅图2,其为本申请一实施例的推流数据鉴权方法的流程示意图。本申请的推流数据鉴权方法应用于服务器中,可以理解,本方法实施例中的流程图不用于对执行步骤的顺序进行限定。从图中可以看出,本实施例中所提供的推流数据鉴权方法包括:
步骤S20、接收主播终端发送的推流数据,所述推流数据中携带有鉴权参数,所述鉴权参数包括目标摘要信息与版本信息,其中,所述目标摘要信息为采用预设的消息摘要算法对所述鉴权参数中的版本信息与所述主播终端中存储的推流码进行消息摘要计算后得到的。
具体地,所述推流数据为主播终端向服务器发送的音视频数据。
所述鉴权参数用于鉴定主播终端是否具有向服务器发送的音视频数据的权限。
所述推流码为主播直播时通过主播终端推送音视频数据的鉴权凭证,接收推流数据的服务器会对推流码进行鉴权,如果鉴权失败,则主播终端不能向服务器发送推流数据。在本实施例中,所述推流码是主播终端和服务器事先约定的用于对推送的音视频数据进行鉴权的鉴权凭证。
所述目标摘要信息和版本信息都是用于鉴定主播终端是否具有向服务器发送的音视频数据的权限的一个参数。其中,所述鉴权参数中的版本信息可以根据实际情况进行设定与修改。在本实施例中,主播通过主播终端推流之前,可以先设定所述鉴权参数中的版本信息的值。当然,该版本信息的具体值也可以不由主播手动设定,而是可以采用数据生成器进行自动生成,在本实施例中不作限定。
所述消息摘要算法是一种可以把任意长度的输入揉和而产生长度固定的伪随机输出的算法。消息摘要的主要特点有:
①无论输入的消息有多长,计算出来的消息摘要的长度总是固定的。例如应用MD5算法摘要的消息有128个比特位,用SHA-1算法摘要的消息最终有160比特位的输出,SHA-1的变体可以产生192比特位和256比特位的消息摘要。一般认为,摘要的最终输出越长,该摘要算法就越安全。
②消息摘要看起来是“随机的”。这些比特看上去是胡乱的杂凑在一起的。可以用大量的输入来检验其输出是否相同,一般,不同的输入会有不同的输出,而且输出的摘要消息可以通过随机性检验。但是,一个摘要并不是真正随机的,因为用相同的算法对相同的消息求两次摘要,其结果必然相同;而若是真正随机的,则无论如何都是无法重现的。因此消息摘要是“伪随机的”。
③一般地,只要输入的消息不同,对其进行摘要以后产生的摘要消息也必不相同;但相同的输入必会产生相同的输出。这正是好的消息摘要算法所具有的性质:输入改变了,输出也就改变了;两条相似的消息的摘要确不相近,甚至会大相径庭。
④消息摘要函数是无陷门的单向函数,即只能进行正向的信息摘要,而无法从摘要中恢复出任何的消息,甚至根本就找不到任何与原信息相关的信息。当然,可以采用强力攻击的方法,即尝试每一个可能的信息,计算其摘要,看看是否与已有的摘要相同,如果这样做,最终肯定会恢复出摘要的消息。但实际上,要得到的信息可能是无穷个消息之一,所以这种强力攻击几乎是无效的。
在本实施例中,所述消息摘要算法可以为MD算法,比如MD5算法(Message Digestalgorithm 5,消息摘要算法版本5)。所述消息摘要算法也可以为SHA算法(Secure HashAlgorithm,安全散列算法)、MAC算法(Hash Message Authentication Code,散列消息鉴别码)等。
步骤S21,采用所述消息摘要算法对服务器中存储的推流码与所述鉴权参数中的版本信息进行消息摘要计算,得到摘要信息。
具体地,所述摘要信息是一串固定位数(如128bit)的密文,这一串密文亦称为数字指纹(Finger Print),它有固定的长度,且不同的明文通过消息摘要算法进行消息摘要计算后生成的密文总是不同的,而同样的明文通过消息摘要算法进行消息摘要计算后生成的密文必定一致。这样这串摘要信息便可成为验证明文是否是“真身”的“指纹”了。
在一示例性的实施方式中,所述消息摘要算法为MD5算法,参阅图3,所述采用所述消息摘要算法对服务器中存储的推流码与所述鉴权参数中的版本信息进行消息摘要计算,得到摘要信息可以包括:
步骤S30,将所述服务器中存储的推流码与所述鉴权参数中的版本信息进行拼接,得到拼接后的字符串。
作为示例,所述服务器中存储的推流码为“abc”,所述鉴权参数中的版本信息为“ef”,则拼接后的字符串为“abcef”。可以理解的是,也可以将所述鉴权参数中的版本信息拼接在服务器中存储的推流码的前面,则拼接后的字符串为“efabc”。
步骤S31,采用MD5算法对拼接后的字符串进行消息摘要计算,得到摘要信息。
具体地,MD5算法是一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。MD5由美国密码学家罗纳德·李维斯特(Ronald Linn Rivest)设计,于1992年公开,用以取代MD4算法。
在本实施例中,通过MD5算法对该字符串进行消息摘要计算后,可以得到所述消息摘要,也即得到一个128位(16字节)的散列值(hash value)。
需要说明的是,目标摘要信息和所述消息摘要的生成方式是一致的,也就是说,在生成目标摘要信息时,也需要先将所述鉴权参数中的版本信息与所述主播终端中存储的推流码进行拼接,从而生成一个拼接后的字符串,之后,再采用所述MD5算法对拼接后的字符串进行消息摘要计算,从而生成所述目标摘要信息。
本实施例中,通过MD5算法对拼接后的字符串进行消息摘要计算,可以减少推流码被泄露的风险,提高安全性。
步骤S22,比较所述摘要信息和所述目标摘要信息是否相同。
具体地,在生成所述摘要信息后,可以将所述摘要信息与所述目标摘要信息进行对比,若所述摘要信息与所述目标摘要信息相同,则表明服务器中存储的推流码与主播终端中存储的推流码是一致的,推流码没有被篡改。
在一示例性的实施方式中,为了提高数据的安全性,所述若所述摘要信息和所述目标摘要信息相同的步骤之后,还包括:
检测所述鉴权参数中的版本信息与所述服务器中存储的版本信息是否匹配,其中,当所述鉴权参数中的版本信息与所述服务器中存储的版本信息匹配时,鉴权通过。
具体地,当所述摘要信息和所述目标摘要信息相同时,可以进一步检测所述鉴权参数中的版本信息与所述服务器中存储的版本信息是否匹配,以进一步验证所述推流数据是否合法,即验证当前主播是否具有权限进行直播推流。
在一示例性的实施方式中,若所述摘要信息和所述目标摘要信息不相同,则可以返回鉴权失败消息给所述主播终端,以提示主播其不具有权限进行直播推流。同时,由于主播不具有权限进行直播推流,即主播终端当前的推流是非法的,因此,为了避免继续接收推流数据,服务器会拒绝接收所述主播终端发送的推流数据。在一实施方式中,服务器可以通过断开与主播终端建立的通信链路的方式来实现拒绝接收所述主播终端发送的推流数据。
在一实施方式中,服务器在拒绝接收所述主播终端发送的推流数据后,为了节省存储空间,可以将已经存储的推流数据进行删除。
在一实施方式中,当服务器在拒绝接收所述主播终端发送的推流数据时,为了后续可以了解非法推流操作,可以对本次的推流操作进行记录。
在一示例性的实施方式中,所述鉴权参数中的版本信息为版本号Version,所述检测所述鉴权参数中的版本信息与所述服务器中存储的版本信息是否匹配可以包括:
检测所述推流数据中的版本号是否大于或者等于所述服务器中存储的版本号。
具体地,每一次推流操作都会对应一个权限版本号,不同的推流操作对应的版本号一般不同,且不同的推流操作对应的版本号一般都是随着推流的次数进行更新的,即下一次推流操作对应的版本号是大于上一次推流操作对应的版本号的。
在本实施例中,服务器中会保存最新的版本号,当从推流数据中获取到版本号后,会将该获取到的版本号与服务器中存储的版本号进行比较,以判断获取到版本号是否大于或者等于服务器中存储的版本号。当获取到版本号是否小于服务器中存储的版本号,则表明版本已过期,不具有推流权限。
步骤S23,若相同,则鉴权通过,并存储所述推流数据。
具体地,当所述鉴权参数中的版本信息与所述服务器中存储的版本信息匹配,则表明鉴权通过,主播终端具有发送所述推流数据的权限,服务器可以对接收到的推流数据进行存储。
在一示例性的实施方式中,若所述鉴权参数中的版本信息与所述服务器中存储的版本信息不匹配,则可以返回鉴权失败消息给所述主播终端,以提示主播其不具有权限进行直播推流。同时,由于主播不具有权限进行直播推流,即主播终端当前的推流是非法的,因此,为了避免继续接收推流数据,服务器会拒绝接收所述主播终端发送的推流数据。在一实施方式中,服务器可以通过断开与主播终端建立的通信链路的方式来实现拒绝接收所述主播终端发送的推流数据。
在一实施方式中,服务器在拒绝接收所述主播终端发送的推流数据后,为了节省存储空间,可以将已经存储的推流数据进行删除。
在一实施方式中,当服务器在拒绝接收所述主播终端发送的推流数据时,为了后续可以了解非法推流操作,可以对本次的推流操作进行记录。
在一示例性的实施方式中,当所述鉴权参数中的版本信息为版本号时,若检测到所述推流数据中的版本号大于所述服务器中存储的版本号时,会更新所述服务器中存储的版本号,以使得服务器中存储的版本号是最新的版本号。
在一示例性的实施方式中,所述方法还包括:
生成推流码,并将生成的推流码返回给所述主播终端,以供主播终端存储所述生成的推流码。
具体地,服务器可以通过生成并将推流码返回给主播终端的方式来给主播终端授予推流的权限。
在一实施方式中,当运营人员想回收主播终端的推流权限时,运营人员可以通过服务器重新生成新的推流码的形式来回收主播终端的推流权限,即运营人员通过生成新的推流码,但不将该新的推流码返回给主播终端,这样,主播终端中存储的推流码将是无效的推流码,从而可以达到回收主播终端的推流权限的目的。
需要说明的是,上述实施例中的推流指的是主播通过主播终端向服务器推送音视频数据的过程。
在本申请中,当主播A想授权其他主播(主播B)替主播A进行直播推流时,主播A可以通过主播A的主播终端生成最新的目标摘要信息和版本信息,然后,将该目标摘要信息和版本信息告知主播B,这样主播B即可以通过该最新的目标摘要信息和版本信息来实现推流,而无需主播A告知主播B其推流码,从而可以避免推流码被泄露,提高安全性。
在一实施方式中,为了方便主播A生成新的目标摘要信息和版本信息,可以提供一个推流链接生成器来生成新的目标摘要信息和版本信息。
在本申请中,当主播A想回收授予主播B的推流权限时,主播A也可以通过生成新的目标摘要信息和版本信息的方式来进行直播推流,并在进行直播推流时,通过服务器更新新的版本信息,这样,由于服务器中存储的版本信息已发生更新,因此,主播B获取的版本信息将过期,使得主播B不能再通过之前获取到的目标摘要信息和版本信息进行直播推流,从而达到主播A回收授予出的推流权限的目的。
本申请通过接收主播终端发送的推流数据,所述推流数据中携带有鉴权参数,所述鉴权参数包括目标摘要信息与版本信息,其中,所述目标摘要信息为采用预设的消息摘要算法对所述鉴权参数中的版本信息与所述主播终端中存储的推流码进行消息摘要计算后得到的;采用所述消息摘要算法对服务器中存储的推流码与所述鉴权参数中的版本信息进行消息摘要计算,得到摘要信息;比较所述摘要信息和所述目标摘要信息是否相同,若相同,则鉴权通过,并存储所述推流数据。本申请,在进行推流鉴权时,由于无需对推流码进行明文传输,就能实现推流鉴权,因此,本申请中的推流数据鉴权方法可以避免推流码被泄露,提高安全性。
参阅图4所示,是本申请推流数据鉴权装置40一实施例的程序模块图。
本实施例中,所述推流数据鉴权装置40包括一系列的存储于存储器上的计算机程序指令,当所述计算机程序指令被处理器执行时,可以实现本申请各实施例的推流数据鉴权功能。在一些实施例中,基于所述计算机程序指令各部分所实现的特定的操作,推流数据鉴权装置40可以被划分为一个或多个模块,具体可以划分的模块如下:
接收模块41,用于接收主播终端发送的推流数据,所述推流数据中携带有鉴权参数,所述鉴权参数包括目标摘要信息与版本信息,其中,所述目标摘要信息为采用预设的消息摘要算法对所述鉴权参数中的版本信息与所述主播终端中存储的推流码进行消息摘要计算后得到的;
计算模块42,用于采用所述消息摘要算法对服务器中存储的推流码与所述鉴权参数中的版本信息进行消息摘要计算,得到摘要信息;
比较模块43,用于比较所述摘要信息和所述目标摘要信息是否相同;
存储模块44,用于若相同,则鉴权通过,并存储所述推流数据。
在一示例性的实施方式中,所述比较模块43,还用于检测所述鉴权参数中的版本信息与所述服务器中存储的版本信息是否匹配,其中,当所述鉴权参数中的版本信息与所述服务器中存储的版本信息匹配时,鉴权通过。
在一示例性的实施方式中,所述推流数据鉴权装置40还包括返回模块。
所述返回模块,用于若所述摘要信息和所述目标摘要信息不相同,则返回鉴权失败消息给所述主播终端,并拒绝接收所述主播终端发送的推流数据;或
所述返回模块,还用于若所述鉴权参数中的版本信息与所述服务器中存储的版本信息不匹配,则返回鉴权失败消息给所述主播终端,并拒绝接收所述主播终端发送的推流数据。
在一示例性的实施方式中,版本信息为版本号,所述比较模块43,还用于检测所述推流数据中的版本号是否大于或者等于所述服务器中存储的版本号。
在一示例性的实施方式中,所述推流数据鉴权装置40还包括更新模块。
所述更新模块,用于更新所述服务器中存储的版本号。
在一示例性的实施方式中,所述推流数据鉴权装置40还包括生成模块。
所述生成模块,用于生成推流码,并将生成的推流码返回给所述主播终端,以供主播终端存储所述生成的推流码。
在一示例性的实施方式中,所述消息摘要算法为MD5算法,所述计算模块42,还用于将所述服务器中存储的推流码与所述鉴权参数中的版本信息进行拼接,得到拼接后的字符串;采用MD5算法对拼接后的字符串进行消息摘要计算,得到摘要信息。
本申请通过接收主播终端发送的推流数据,所述推流数据中携带有鉴权参数,所述鉴权参数包括目标摘要信息与版本信息,其中,所述目标摘要信息为采用预设的消息摘要算法对所述鉴权参数中的版本信息与所述主播终端中存储的推流码进行消息摘要计算后得到的;采用所述消息摘要算法对服务器中存储的推流码与所述鉴权参数中的版本信息进行消息摘要计算,得到摘要信息;比较所述摘要信息和所述目标摘要信息是否相同,若相同,则鉴权通过,并存储所述推流数据。本申请,在进行推流鉴权时,由于无需对推流码进行明文传输,就能实现推流鉴权,因此,本申请中的推流数据鉴权方法可以避免推流码被泄露,提高安全性。
图5示意性示出了根据本申请实施例的适于实现推流数据鉴权方法的计算机设备5的硬件架构示意图。本实施例中,计算机设备5是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。例如,可以是平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图5所示,计算机设备5至少包括但不限于:可通过***总线相互通信链接存储器120、处理器121、网络接口122。其中:
存储器120至少包括一种类型的计算机可读存储介质,所述可读存储介质可以是易失性的,也可以是非易失性的,具体而言,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器120可以是计算机设备5的内部存储模块,例如所述计算机设备5的硬盘或内存。在另一些实施例中,存储器120也可以是计算机设备5的外部存储设备,例如所述计算机设备5上配备的插接式硬盘,智能存储卡(Smart Media Card,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(Flash Card)等。当然,存储器120还可以既包括计算机设备5的内部存储模块也包括其外部存储设备。本实施例中,存储器120通常用于存储安装于计算机设备5的操作***和各类应用软件,例如推流数据鉴权方法的程序代码等。此外,存储器120还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器121在一些实施例中可以是中央处理器(Central Processing Unit,简称为CPU)、控制器、微控制器、微处理器、或其它推流数据鉴权芯片。所述处理器121通常用于控制计算机设备5的总体操作,例如执行与计算机设备5进行数据交互或者通信相关的控制和处理等。本实施例中,处理器121用于运行存储器120中存储的程序代码或者处理数据。
网络接口122可包括无线网络接口或有线网络接口,所述网络接口122通常用于在计算机设备5与其它计算机设备之间建立通信链接。例如,网络接口122用于通过网络将计算机设备5与外部终端相连,在计算机设备5与外部终端之间的建立数据传输通道和通信链接等。网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯***(GlobalSystem of Mobile communication,简称为GSM)、宽带码分多址(Wideband Code DivisionMultiple Access,简称为WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。
需要指出的是,图5仅示出了具有部件120~122的计算机设备,但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。
在本实施例中,存储于存储器120中的推流数据鉴权方法可以被分割为一个或者多个程序模块,并由一个或多个处理器(本实施例为处理器121)所执行,以完成本申请。
本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质其上存储有计算机程序,计算机程序被处理器执行时实现实施例中的推流数据鉴权方法的步骤。
本实施例中,计算机可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,计算机可读存储介质可以是计算机设备的内部存储单元,例如所述计算机设备的硬盘或内存。在另一些实施例中,计算机可读存储介质也可以是计算机设备的外部存储设备,例如所述计算机设备上配备的插接式硬盘,智能存储卡(Smart MediaCard,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(Flash Card)等。当然,计算机可读存储介质还可以既包括计算机设备的内部存储单元也包括其外部存储设备。本实施例中,计算机可读存储介质通常用于存储安装于计算机设备的操作***和各类应用软件,例如实施例中的推流数据鉴权方法的程序代码等。此外,计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的各类数据。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到至少两个网络单元上。可以根据实际的需要筛选出其中的部分或者全部模块来实现本申请实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域普通技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)或随机存储记忆体(RandomAccessMemory,RAM)等。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (10)

1.一种推流数据鉴权方法,其特征在于,包括:
接收主播终端发送的推流数据,所述推流数据中携带有鉴权参数,所述鉴权参数包括目标摘要信息与版本信息,其中,所述目标摘要信息为采用预设的消息摘要算法对所述鉴权参数中的版本信息与所述主播终端中存储的推流码进行消息摘要计算后得到的;
采用所述消息摘要算法对服务器中存储的推流码与所述鉴权参数中的版本信息进行消息摘要计算,得到摘要信息;
比较所述摘要信息和所述目标摘要信息是否相同;
若相同,则鉴权通过,并存储所述推流数据。
2.根据权利要求1所述的推流数据鉴权方法,所述若所述摘要信息和所述目标摘要信息相同的步骤之后,还包括:
检测所述鉴权参数中的版本信息与所述服务器中存储的版本信息是否匹配,其中,当所述鉴权参数中的版本信息与所述服务器中存储的版本信息匹配时,鉴权通过。
3.根据权利要求2所述的推流数据鉴权方法,其特征在于,所述方法还包括:
若所述摘要信息和所述目标摘要信息不相同,则返回鉴权失败消息给所述主播终端,并拒绝接收所述主播终端发送的推流数据;或
若所述鉴权参数中的版本信息与所述服务器中存储的版本信息不匹配,则返回鉴权失败消息给所述主播终端,并拒绝接收所述主播终端发送的推流数据。
4.根据权利要求3所述的推流数据鉴权方法,其特征在于,所述鉴权参数中的版本信息为版本号,所述检测所述鉴权参数中的版本信息与所述服务器中存储的版本信息是否匹配包括:
检测所述推流数据中的版本号是否大于或者等于所述服务器中存储的版本号,其中,当所述推流数据中的版本号大于或者等于所述服务器中存储的版本号,判定所述鉴权参数中的版本信息与所述服务器中存储的版本信息匹配。
5.根据权利要求4所述的推流数据鉴权方法,其特征在于,所述若相同,则鉴权通过,并存储所述推流数据的步骤之后,还包括:
更新所述服务器中存储的版本号。
6.根据权利要求1至5任一项所述的推流数据鉴权方法,其特征在于,所述方法还包括:
生成推流码,并将生成的推流码返回给所述主播终端,以供主播终端存储所述生成的推流码。
7.根据权利要求1至5任一项所述的推流数据鉴权方法,其特征在于,所述消息摘要算法为MD5算法,所述采用所述消息摘要算法对服务器中存储的推流码与所述鉴权参数中的版本信息进行消息摘要计算,得到摘要信息包括:
将所述服务器中存储的推流码与所述鉴权参数中的版本信息进行拼接,得到拼接后的字符串;
采用MD5算法对拼接后的字符串进行消息摘要计算,得到摘要信息。
8.一种推流数据鉴权装置,其特征在于,包括:
接收模块,用于接收主播终端发送的推流数据,所述推流数据中携带有鉴权参数,所述鉴权参数包括目标摘要信息与版本信息,其中,所述目标摘要信息为采用预设的消息摘要算法对所述鉴权参数中的版本信息与所述主播终端中存储的推流码进行消息摘要计算后得到的;
计算模块,用于采用所述消息摘要算法对服务器中存储的推流码与所述鉴权参数中的版本信息进行消息摘要计算,得到摘要信息;
比较模块,用于比较所述摘要信息和所述目标摘要信息是否相同;
存储模块,用于若相同,则鉴权通过,并存储所述推流数据。
9.一种计算机设备,所述计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现权利要求1至7任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7任一项所述的方法的步骤。
CN202111528784.1A 2021-12-14 2021-12-14 推流数据鉴权方法及装置 Active CN114245183B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111528784.1A CN114245183B (zh) 2021-12-14 2021-12-14 推流数据鉴权方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111528784.1A CN114245183B (zh) 2021-12-14 2021-12-14 推流数据鉴权方法及装置

Publications (2)

Publication Number Publication Date
CN114245183A CN114245183A (zh) 2022-03-25
CN114245183B true CN114245183B (zh) 2023-11-14

Family

ID=80755894

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111528784.1A Active CN114245183B (zh) 2021-12-14 2021-12-14 推流数据鉴权方法及装置

Country Status (1)

Country Link
CN (1) CN114245183B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106028062A (zh) * 2016-06-24 2016-10-12 乐视控股(北京)有限公司 一种视频应用程序控制方法及视频应用程序控制***
CN108965939A (zh) * 2017-05-26 2018-12-07 腾讯科技(深圳)有限公司 媒体数据处理方法、装置、***及可读存储介质
CN109005204A (zh) * 2017-06-07 2018-12-14 腾讯科技(深圳)有限公司 一种直播处理方法、装置及***

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106028062A (zh) * 2016-06-24 2016-10-12 乐视控股(北京)有限公司 一种视频应用程序控制方法及视频应用程序控制***
CN108965939A (zh) * 2017-05-26 2018-12-07 腾讯科技(深圳)有限公司 媒体数据处理方法、装置、***及可读存储介质
CN109005204A (zh) * 2017-06-07 2018-12-14 腾讯科技(深圳)有限公司 一种直播处理方法、装置及***

Also Published As

Publication number Publication date
CN114245183A (zh) 2022-03-25

Similar Documents

Publication Publication Date Title
CN106534160B (zh) 基于区块链的身份认证方法及***
KR100823738B1 (ko) 컴퓨팅 플랫폼의 설정 정보를 은닉하면서 무결성 보증을제공하는 방법
CN109829294B (zh) 一种固件验证方法、***、服务器及电子设备
CN110059089B (zh) 数据同步方法、装置、存储介质及电子设备
EP3270318B1 (en) Dynamic security module terminal device and method for operating same
EP2885737B1 (en) Storing and accessing data
US20220224546A1 (en) Software integrity protection method and apparatus, and software integrity verification method and apparatus
CN113360868A (zh) 应用程序登录方法、装置、计算机设备和存储介质
EP4150444A1 (en) Controlled scope of authentication key for software update
CN112468291A (zh) 一种同步敏感数据的方法、装置、***、计算机设备及计算机可读存储介质
US11269540B2 (en) Method, apparatus, and computer program product for managing application system
CN109302442B (zh) 一种数据存储证明方法及相关设备
CN112699416B (zh) 文件存储方法、文件验证方法及电子设备
CN112131041A (zh) 用于管理数据放置的方法、设备和计算机程序产品
CN107979579B (zh) 一种安全认证方法和安全认证设备
CN111224826B (zh) 基于分布式***的配置更新方法、设备、***及介质
CN110392083B (zh) 文件秒传的控制方法、装置及终端设备
CN114245183B (zh) 推流数据鉴权方法及装置
CN115118504B (zh) 知识库更新方法、装置、电子设备及存储介质
CN117041048A (zh) 车辆***升级方法、ota升级文件云端处理方法及电子设备
CN116055111A (zh) 递进式ota***、实现方法、介质及设备
CN113868628A (zh) 一种签名验证方法、装置、计算机设备和存储介质
CN107292172B (zh) 用于相对于参考计算机文件自动验证目标计算机文件的方法
CN111240885A (zh) 一种嵌入式在线升级防错检测方法
CN114650175B (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