用于检测直播源合法性的方法和系统与流程

文档序号:20062169发布日期:2020-03-06 08:05阅读:463来源:国知局
用于检测直播源合法性的方法和系统与流程

本公开涉及网络视频应用技术领域,特别涉及一种用于检测直播源合法性的方法和系统。



背景技术:

随着网络运营商的宽带提速和三网融合的不断推进,iptv(internetprotocoltelevision,互联协议电视)业务的网络模式正从专网向互联网转变。互联网为iptv业务带来了丰富的内容和应用的同时,也带来了安全播放的风险。

直播服务是用户通过个人终端持续接收网络传输的直播码流后,连续解码播放,达到观看实时视频的效果。但是在目前的网络环境中,暴露在公网上为用户提供直播服务的媒体服务器及其发出的直播码流,存在较高的网络环境安全风险。由于直播码流是在公网上传输,会存在攻击者非法插入或篡改直播码流内容的可能,因此服务商需要对此风险进行防范。

组播可以有效地利用网络资源进行内容分发,大大减少了cdn(contentdeliverynetwork,内容分发网络)建设投入,所以有组播条件的视频运营商一般都采用组播来承载直播业务。但由于标准组播协议的限制,对直播内容的保护和校验通常只能通过部署drm(digitalrightsmanagement,数字版权保护)系统来达到防御非法篡改直播码流的目的。但drm系统部署复杂,投资很大,因此部署难度和成本都比较高。



技术实现要素:

本公开实施例解决的一个技术问题是:提供一种用于检测直播源合法性的方法。

根据本公开实施例的一个方面,提供了一种用于检测直播源合法性的方法,包括:服务器生成公私密钥对,将所述公私密钥对中的公钥发送到终端,并利用所述公私密钥对中的私钥对直播节目的直播业务信息进行签名以生成签名信息;所述服务器在对直播节目内容进行打包以生成实时传输协议rtp组播数据的过程中,将与直播节目对应的签名信息插入到组播数据的rtp扩展包头中,将所述组播数据发送到终端;以及所述终端从所述组播数据的所述rtp扩展包头中提取所述签名信息,利用所述公钥对所述签名信息解密以获得所述直播业务信息,并将解密得到的该直播业务信息与从业务平台获取的直播节目的直播业务信息进行比较验证;其中,在验证通过的情况下确定直播源合法并允许播放所述组播数据,在验证不通过的情况下确定直播源非法并停止播放所述组播数据。

在一些实施例中,所述直播业务信息包括所述直播节目的组播地址、组播端口号、频道名称和频道号中的至少一个。

在一些实施例中,服务器利用所述私钥对直播业务信息进行签名以生成签名信息的步骤包括:所述服务器根据组播地址、组播端口号、频道名称和频道号生成特征字符串,并利用所述私钥对所述特征字符串进行加密以生成签名信息。

在一些实施例中,所述终端利用所述公钥对所述签名信息解密所获得的直播业务信息包括所述特征字符串;所述终端将解密得到的该直播业务信息与从业务平台获取的直播业务信息进行比较验证的步骤包括:所述终端将所述特征字符串与从业务平台获取的直播业务信息进行比较验证,其中,在这二者相一致的情况下确定验证通过,在这二者不一致的情况下确定验证不通过。

在一些实施例中,服务器利用所述私钥对直播业务信息进行签名以生成签名信息的步骤包括:所述服务器根据组播地址、组播端口号、频道名称和频道号生成特征字符串,利用哈希算法对所述特征字符串进行处理,并利用所述私钥对处理后的特征字符串进行加密以生成签名信息。

在一些实施例中,所述终端利用所述公钥对所述签名信息解密所获得的直播业务信息包括经过所述哈希算法处理后的特征字符串;所述终端将解密得到的该直播业务信息与从业务平台获取的直播业务信息进行比较验证的步骤包括:所述终端利用所述哈希算法对从业务平台获取的直播业务信息进行处理;以及将解密得到的经过所述哈希算法处理后的特征字符串与经过所述哈希算法处理后的从业务平台获取的直播业务信息进行比较,其中,在这二者相一致的情况下确定验证通过,在这二者不一致的情况下确定验证不通过。

在一些实施例中,所述终端周期性地将解密得到的该直播业务信息与从业务平台获取的直播业务信息进行比较验证。

根据本公开实施例的另一个方面,提供了一种用于检测直播源合法性的系统,包括:服务器,用于生成公私密钥对,将所述公私密钥对中的公钥发送到终端,并利用所述公私密钥对中的私钥对直播节目的直播业务信息进行签名以生成签名信息,以及在对直播节目内容进行打包以生成实时传输协议rtp组播数据的过程中,将与直播节目对应的签名信息插入到组播数据的rtp扩展包头中,将所述组播数据发送到终端;以及所述终端,用于从所述组播数据的所述rtp扩展包头中提取所述签名信息,利用所述公钥对所述签名信息解密以获得所述直播业务信息,并将解密得到的该直播业务信息与从业务平台获取的直播节目的直播业务信息进行比较验证;其中,在验证通过的情况下确定直播源合法并允许播放所述组播数据,在验证不通过的情况下确定直播源非法并停止播放所述组播数据。

在一些实施例中,所述直播业务信息包括所述直播节目的组播地址、组播端口号、频道名称和频道号中的至少一个。

在一些实施例中,所述服务器用于根据组播地址、组播端口号、频道名称和频道号生成特征字符串,并利用所述私钥对所述特征字符串进行加密以生成签名信息。

在一些实施例中,所述终端利用所述公钥对所述签名信息解密所获得的直播业务信息包括所述特征字符串;所述终端用于将所述特征字符串与从业务平台获取的直播业务信息进行比较验证,其中,在这二者相一致的情况下确定验证通过,在这二者不一致的情况下确定验证不通过。

在一些实施例中,所述服务器用于根据组播地址、组播端口号、频道名称和频道号生成特征字符串,利用哈希算法对所述特征字符串进行处理,并利用所述私钥对处理后的特征字符串进行加密以生成签名信息。

在一些实施例中,所述终端利用所述公钥对所述签名信息解密所获得的直播业务信息包括经过所述哈希算法处理后的特征字符串;所述终端用于利用所述哈希算法对从业务平台获取的直播业务信息进行处理,以及将解密得到的经过所述哈希算法处理后的特征字符串与经过所述哈希算法处理后的从业务平台获取的直播业务信息进行比较,其中,在这二者相一致的情况下确定验证通过,在这二者不一致的情况下确定验证不通过。

在一些实施例中,所述终端用于周期性地将解密得到的该直播业务信息与从业务平台获取的直播业务信息进行比较验证。

根据本公开实施例的另一个方面,提供了一种用于检测直播源合法性的系统,包括:存储器;以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器的指令执行如前所述的方法。

根据本公开实施例的另一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序指令,该指令被处理器执行时实现如前所述的方法的步骤。

在上述方法中,服务器生成公私密钥对,将公钥发送到终端,并利用私钥对直播节目的直播业务信息进行签名以生成签名信息。该服务器在对直播节目内容进行打包以生成rtp组播数据的过程中,将与直播节目对应的签名信息插入到组播数据的rtp扩展包头中,将该组播数据发送到终端。该终端从该组播数据的rtp扩展包头中提取签名信息,利用公钥对该签名信息解密以获得直播业务信息,并将解密得到的该直播业务信息与从业务平台获取的直播节目的直播业务信息进行比较验证。在验证通过的情况下确定直播源合法并允许播放组播数据,在验证不通过的情况下确定直播源非法并停止播放组播数据。该方法实现了对直播源合法性的验证,从而避免播出非法插播或被篡改过的内容源。

通过以下参照附图对本公开的示例性实施例的详细描述,本公开的其它特征及其优点将会变得清楚。

附图说明

构成说明书的一部分的附图描述了本公开的实施例,并且连同说明书一起用于解释本公开的原理。

参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:

图1是示出根据本公开一些实施例的用于检测直播源合法性的方法的流程图;

图2是示出根据本公开一些实施例的用于检测直播源合法性的系统的结构图;

图3是示出根据本公开另一些实施例的用于检测直播源合法性的系统的结构图;

图4是示出根据本公开另一些实施例的用于检测直播源合法性的系统的结构图。

具体实施方式

现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。

同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。

以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。

对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。

在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

图1是示出根据本公开一些实施例的用于检测直播源合法性的方法的流程图。如图1所示,该方法包括步骤s102~s106。

在步骤s102,服务器生成公私密钥对,将该公私密钥对中的公钥发送到终端,并利用该公私密钥对中的私钥对直播节目的直播业务信息进行签名以生成签名信息。

在一些实施例中,服务器可以基于非对称密钥算法生成公私密钥对。

在一些实施例中,直播业务信息可以包括直播节目的组播地址、组播端口号和频道号中的至少一个。

在一些实施例中,服务器利用私钥对直播业务信息进行签名以生成签名信息的步骤可以包括:该服务器根据组播地址、组播端口号、频道名称和频道号生成特征字符串,并利用私钥对该特征字符串进行加密(即签名)以生成签名信息。

例如,服务器基于非对称密钥算法为直播服务生成pki(publickeyinfrastructure,公钥基础设施)公私密钥对,将公钥发送到终端(例如机顶盒)以使得终端保存该公钥,将私钥保存在服务器端。服务器使用私钥对每个直播节目使用的组播ip(internetprotocol,网络协议)地址、组播端口号、频道名称和频道号等直播业务信息进行签名以生成签名信息。例如,服务器根据“组播地址+‘$’+组播端口号+‘$’+频道名称+‘$’+频道号”的规则为每个直播节目频道生成一个特征字符串。假设iptv服务商提供一个100频道号的“中央一台”直播服务,分配的组播地址是239.0.0.1,组播端口号是12345,则100号频道的特征字符串为“239.0.0.1$12345$中央一台$100”。服务器使用私钥对该特征字符串进行加密以生成签名信息。该签名信息也可以被称为签名信息字符串。

需要说明的是,上述规则顺序“组播地址+‘$’+组播端口号+‘$’+频道名称+‘$’+频道号”仅是示例性的,本公开的范围并不仅限于此。例如,服务器可以根据“组播端口号+‘$’+组播地址+‘$’+频道名称+‘$’+频道号”或者“组播端口号+‘$’+频道号+‘$’+组播地址+‘$’+频道名称”等规则顺序为每个直播节目频道生成一个特征字符串。

还需要说明的是,上面描述了服务器可以根据组播地址、组播端口号、频道名称和频道号来生成特征字符串。但是本公开的范围并不仅限于此。服务器可以根据组播地址、组播端口号、频道名称和频道号中的一个或多个来生成特征字符串。例如,服务器可以根据“组播地址+‘$’+组播端口号+‘$’+频道号”的规则为每个直播节目频道生成一个特征字符串。

在另一些实施例中,服务器利用私钥对直播业务信息进行签名以生成签名信息的步骤可以包括:服务器根据组播地址、组播端口号、频道名称和频道号生成特征字符串,利用哈希(hash)算法对该特征字符串进行处理,并利用私钥对处理后的特征字符串进行加密以生成签名信息。

在步骤s104,服务器在对直播节目内容进行打包以生成rtp(real-timetransportprotocol,实时传输协议)组播数据的过程中,将与直播节目对应的签名信息插入到组播数据的rtp扩展包头中,将该组播数据发送到终端。

在一些实施例中,服务器在对直播节目内容进行打包之前,还可以对直播节目内容进行编码。例如,服务器在对直播节目内容进行编码和打包以生成rtp组播数据(例如组播流)的过程中,将对应节目的签名信息插入到rtp扩展包头中,随组播数据分发到终端上。

例如,可以利用直播编码服务器采用rtp封装视频编码,并在媒体流服务器发送组播流之前将对应节目的签名信息插入到rtp扩展包头中。这样,例如频道号为100的签名信息就随组播流以组播传输方式分发到终端。

在步骤s106,终端从组播数据的rtp扩展包头中提取签名信息,利用公钥对该签名信息解密以获得直播业务信息,并将解密得到的该直播业务信息与从业务平台获取的直播节目的直播业务信息进行比较验证。其中,在验证通过的情况下确定直播源合法并允许播放组播数据,在验证不通过的情况下,确定直播源非法并停止播放组播数据。

在一些实施例中,终端利用公钥对签名信息解密所获得的直播业务信息包括所述特征字符串。该特征字符串是没有经过哈希算法处理的特征字符串。在这样的情况下,终端将解密得到的该直播业务信息与从业务平台获取的直播业务信息进行比较验证的步骤可以包括:终端将该特征字符串与从业务平台获取的直播业务信息进行比较验证,其中,在这二者相一致的情况下确定验证通过,在这二者不一致的情况下确定验证不通过。

例如,当用户通过操作遥控器和epg(electronicprogramguide,电子节目指南)界面将要收看100号频道时,epg界面会通知终端发起加入100号频道对应的组播组。终端从业务平台接收直播节目(例如100频道号的直播节目)的组播地址、组播端口号、频道名称和频道号等直播业务信息。终端在接收到组播数据后,提取rtp扩展包头中的签名信息,利用公钥对该签名信息解密以获得特征字符串,并将该特征字符串与从业务平台获取的直播节目的直播业务信息进行比较验证,判断该特征字符串与从业务平台获取的直播业务信息是否一致。如果一致,则确定直播源合法,继续提取rtppayload(有效载荷)数据进行后续解码播放的处理。如果不一致则确定直播源非法,并停止播放组播数据。

在上述实施例中,如果在签名前没有利用哈希算法对特征字符串处理过,终端利用公钥对签名信息进行解密即可获得所述特征字符串,将该特征字符串与从业务平台获取的数据进行比较,这二者一致即可以确定验证通过,否则验证不通过。

例如,如果攻击者在组播流传输过程中插入非法视频流,由于没有在rtp扩展包头中插入签名信息,终端验签失败就会拒绝播放。如果攻击者在引导终端访问其他内容源地址,终端也会验签失败,同样会拒绝播放。

在另一些实施例中,如果服务器利用哈希算法对前面所述的特征字符串进行了处理,则终端利用公钥对签名信息解密所获得的直播业务信息包括经过哈希算法处理后的特征字符串。

在这样的情况下,终端将解密得到的该直播业务信息与从业务平台获取的直播业务信息进行比较验证的步骤可以包括:终端利用所述哈希算法对从业务平台获取的直播业务信息进行处理;以及将解密得到的经过所述哈希算法处理后的特征字符串与经过所述哈希算法处理后的从业务平台获取的直播业务信息进行比较,其中,在这二者相一致的情况下确定验证通过,在这二者不一致的情况下确定验证不通过。

在该实施例中,如果在签名前利用哈希算法对特征字符串处理过,终端就先用相同的哈希算法对从业务平台获取的直播业务信息进行计算处理,将计算结果与解密结果进行比较,这二者一致即验证通过,否则验证不通过。

至此,提供了根据本公开一些实施例的用于检测直播源合法性的方法。在该方法中,服务器生成公私密钥对,将公钥发送到终端,并利用私钥对直播节目的直播业务信息进行签名以生成签名信息。该服务器在对直播节目内容进行打包以生成rtp组播数据的过程中,将与直播节目对应的签名信息插入到组播数据的rtp扩展包头中,将该组播数据发送到终端。该终端从该组播数据的rtp扩展包头中提取签名信息,利用公钥对该签名信息解密以获得直播业务信息,并将解密得到的该直播业务信息与从业务平台获取的直播节目的直播业务信息进行比较验证。在验证通过的情况下确定直播源合法并允许播放组播数据,在验证不通过的情况下确定直播源非法并停止播放组播数据。该方法实现了对直播源合法性的验证,从而避免播出非法插播或被篡改过的内容源。

另外,上述方法无需建设drm系统,在对现有直播系统改造很少的情况下就能实现防止非法插播和防止篡改视频的效果。因此,该方法简单且容易实施。

在一些实施例中,终端可以周期性地将解密得到的直播业务信息与从业务平台获取的直播业务信息进行比较验证。在该实施例中,终端不需要对每个rtp扩展包头进行验签,例如可以只需要对刚加入组播时第一个rtp包进行验签,后续周期性地采样验签,采样频率可视业务安全等级而定。这样可以减少终端消耗、提高效率。

在一些实施例中,rtp包头可以由标准包头和扩展包头两部分组成,扩展包头的长度和内容可以自定义。对于一些没有使用本公开实施例的上述方法的接收方,如果不理解扩展包头数据的含义,可以忽略,从而不影响rtppayload数据的获取和使用。

图2是示出根据本公开一些实施例的用于检测直播源合法性的系统的结构图。如图2所示,该系统可以包括服务器202和终端204。

该服务器202可以用于生成公私密钥对,将该公私密钥对中的公钥发送到终端204,并利用该公私密钥对中的私钥对直播节目的直播业务信息进行签名以生成签名信息,以及在对直播节目内容进行打包以生成rtp组播数据的过程中,将与直播节目对应的签名信息插入到组播数据的rtp扩展包头中,将该组播数据发送到终端204。

该终端204可以用于从组播数据的rtp扩展包头中提取签名信息,利用公钥对该签名信息解密以获得直播业务信息,并将解密得到的该直播业务信息与从业务平台获取的直播节目的直播业务信息进行比较验证。其中,在验证通过的情况下确定直播源合法并允许播放组播数据,在验证不通过的情况下确定直播源非法并停止播放组播数据。

至此,提供了根据本公开一些实施例的用于检测直播源合法性的系统。该系统实现了对直播源合法性的验证,从而避免播出非法插播或被篡改过的内容源。另外,上述系统无需建设drm系统,在对现有直播系统改造很少的情况下就能实现防止非法插播和防止篡改视频的效果。因此,该系统简单且容易实施。

在一些实施例中,直播业务信息可以包括直播节目的组播地址、组播端口号、频道名称和频道号中的至少一个。

在一些实施例中,该服务器202可以用于根据组播地址、组播端口号、频道名称和频道号生成特征字符串,并利用私钥对该特征字符串进行加密以生成签名信息。

在一些实施例中,该终端204利用公钥对签名信息解密所获得的直播业务信息包括所述特征字符串。该特征字符串是没有经过哈希算法处理的特征字符串。在这样的情况下,该终端204可以用于将该特征字符串与从业务平台获取的直播业务信息进行比较验证,其中,在这二者相一致的情况下确定验证通过,在这二者不一致的情况下确定验证不通过。

在另一些实施例中,服务器202可以用于根据组播地址、组播端口号、频道名称和频道号生成特征字符串,利用哈希算法对该特征字符串进行处理,并利用私钥对处理后的特征字符串进行加密以生成签名信息。

在另一些实施例中,终端204利用公钥对签名信息解密所获得的直播业务信息包括经过哈希算法处理后的特征字符串。该终端204可以用于利用该哈希算法对从业务平台获取的直播业务信息进行处理,以及将解密得到的经过该哈希算法处理后的特征字符串与经过该哈希算法处理后的从业务平台获取的直播业务信息进行比较,其中,在这二者相一致的情况下确定验证通过,在这二者不一致的情况下确定验证不通过。

在一些实施例中,该终端204可以用于周期性地将解密得到的直播业务信息与从业务平台获取的直播业务信息进行比较验证。

图3是示出根据本公开另一些实施例的用于检测直播源合法性的系统的结构图。该系统包括存储器310和处理器320。其中:

存储器310可以是磁盘、闪存或其它任何非易失性存储介质。存储器用于存储图1所对应实施例中的指令。

处理器320耦接至存储器310,可以作为一个或多个集成电路来实施,例如微处理器或微控制器。该处理器320用于执行存储器中存储的指令,从而实现了对直播源合法性的验证,从而避免播出非法插播或被篡改过的内容源。

需要说明的是,本公开实施例的存储器310和处理器320可以分别有多个,从而可以将这些存储器310和处理器320成套地设置在不同的位置以作为终端和服务器等的构成部件。

在一些实施例中,还可以如图4所示,该系统400包括存储器410和处理器420。处理器420通过bus总线430耦合至存储器410。该系统400还可以通过存储接口440连接至外部存储装置450以便调用外部数据,还可以通过网络接口460连接至网络或者另外一台计算机系统(未标出),此处不再进行详细介绍。

在该实施例中,通过存储器存储数据指令,再通过处理器处理上述指令,从而实现了对直播源合法性的验证,从而避免播出非法插播或被篡改过的内容源。

需要说明的是,本公开实施例的存储器410、处理器420、bus总线430、存储接口440、外部存储装置450和网络接口460可以分别有多个,从而可以将这些存储器410、处理器420、bus总线430、存储接口440、外部存储装置450和网络接口460成套地设置在不同的位置以作为终端和服务器等的构成部件。

在另一些实施例中,本公开还提供了一种计算机可读存储介质,其上存储有计算机程序指令,该指令被处理器执行时实现图1所对应实施例中的方法的步骤。本领域内的技术人员应明白,本公开的实施例可提供为方法、装置、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本公开是参照根据本公开实施例的方法、设备(系统)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

至此,已经详细描述了本公开。为了避免遮蔽本公开的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。

可能以许多方式来实现本公开的方法和系统。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和系统。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。

虽然已经通过示例对本公开的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本公开的范围。本领域的技术人员应该理解,可在不脱离本公开的范围和精神的情况下,对以上实施例进行修改。本公开的范围由所附权利要求来限定。

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