点对点直播流传递的方法、系统、数据签名装置及客户端的制作方法

文档序号:7918688阅读:213来源:国知局

专利名称::点对点直播流传递的方法、系统、数据签名装置及客户端的制作方法
技术领域
:本发明涉及通讯
技术领域
,具体而言是涉及一种点对点(P2P,PeertoPeer)直播流传递的方法、系统、数字签名装置及P2P客户端。
背景技术
:数据加密技术按作用不同,可分为数据传输、数据存储、数据完整性的鉴别以及密钥管理技术。在网络应用中一般采取两种加密算法对称密钥算法和非对称密钥算法。所谓对称密钥算法是指一个加密算法的加密密钥和解密密钥相同,或者虽然不相同,但是可由其中的任意一个很容易地推导出另一个,即密钥是双方共享的。所谓非对称密钥算法是指一个加密算法的加密密钥和解密密钥是不一样的,或者说不能由其中一个密钥推导出另一个密钥,这两个密钥其中一个称为公钥,用于解密,是公开的,另一个称为私钥,用于加密,是保密的,由公钥计算私钥在计算上不可行的。信息-摘要算法(MD5,message-digestalgorithm5)是指对一段信息(message)产生信息摘要(message-digest),以防止^皮篡改。MD5将整个文件当作一个大文本信息,通过其不可逆的字符串变换算法,产生唯一的MD5信息摘要。MD5属于一种对称密钥算法。在Internet中使用更多的是非对称密钥算法,常用的非对称密钥算法是RSA算法,其加密强度很高,而且并不要求通信双方事先要建立某种信任关系或共享某种秘密,因此十分适合Internet网上使用。数字签名(DigitalSignature)技术是非对称密钥算法的典型应用。所谓数字签名(DigitalSignature),就是附加在数据单元上的一些数据,或是对数据单元所作的密码变换。这些数据或变换允许数据单元的接收者用以确认数据单元的来源和数据单元的完整性并保护数据,防止被人(例如接收者)进行伪造。它是对电子形式的消息进行签名的一种方法,一个签名消息能在一个通信网络5中传输。数字签名主要的功能是保证信息传输的完整性、发送者的身份认证、防止交易中的抵赖发生。基于MD5算法的数字签名(例如RSA算法)应用过程是,将摘要信息使用发送者的私钥加密,与原文一起传送给接收者。接收者只有使用发送的公钥才能解密被加密的摘要信息,并用HASH函数对收到的原文产生一个摘要信息,与解密的摘要信息对比。如果相同,则说明收到的信息是完整的,在传输过程中没有被修改,否则说明信息被修改过,因此基于MD5算法的数字签名能够验证信息的完整性。P2P的典型特征是用户节点(Peer)间内容共享,子节点的内容数据由父节点提供,尤其是对于一些低码率的直播,一个子节点可能只从一个父节点获取内容。现有技术中,一种防止P2P直播流被篡改的方法是采用信息-摘要算法MD5,对于文件格式存在的P2P下载内容,用户下载前通过先获取MD5校验码,然后在下载过程中进行^交-睑,可以有效防止内容在P2P下载过程中^皮恶意篡改,并且基于P2P的切片技术,可以对各个切片单独进行校验,这样能够在下载过程中就及时发现内容是否被恶意篡改,而不需要将完整内容下载完成后再进行MD5校验。在实现本发明过程中,发明人发现现有技术中至少存在这样的问题由于P2P直播流是一个实时业务,P2P服务器需要实时生成P2P直播流切片的校验码提供给用户,如果采用所有用户都实时到服务器取校验码的方式,将对系统性能造成较大的冲击;如果采用节点传递校验码的方式,由于MD5采用对称密钥,父节点可以在对直播流切片内容篡改后重新生成校验码,从而为子节点提供不同的内容,这样则没有达到内容防篡改的目的。
发明内容本发明实施例提供了一种P2P直播流传递的方法、系统及数字签名装置和P2P客户端,能够防止P2P直播流在传递过程中被恶意篡改,同时避免对P2P系统性能造成较大的冲击。为实现上述目的,本发明实施例是通过如下技术方案实现的一种点对点直播流传递的方法,包括生成公钥和私钥数字签名算法密钥对;根据所述私钥对源直播流进行签名,对签名后的源直播流进行切片,并将切片后的直播流下发到点对点客户端;发送所述公钥到点对点客户端,以便该点对点客户端根据该公钥对接收的点对点直播流进行签名验证。一种数字签名装置,包括签名密钥生成单元,用于生成公钥和私钥数字签名算法密钥对;签名密钥下发单元,用于将所述私钥下发到内容发布服务器,由内容发布服务器使用所述私钥对源直播流进行签名,并对签名后的源直播流进行切片;还用于将所述公钥下发到资源管理服务器,以便点对点客户端到资源管理服务器上获取所述公钥并使用该公钥对接收的点对点直播流进行签名验证。一种点对点直播流传递的系统,包括数字签名装置,用于生成公钥和私钥数字签名算法密钥对,将该私钥下发到内容发布服务器,该公钥下发到资源管理服务器;内容发布服务器,用于使用私钥对源直播流进行签名,并对签名后的源直播流进行切片;资源管理服务器,用于点对点客户端侧密钥的维护和下发,以便点对点客户端到资源管理服务器上获取公钥并使用所述7>钥对接收的点对点直播流进行签名验证。一种点对点客户端,包括签名密钥获取单元,用于到资源管理服务器获取数字签名算法公钥;签名验证单元,用于使用获取的数字签名算法公钥对接收的点对点直播流进行签名验证。由以上技术方案可知,通过在P2P架构中引入数字签名技术,由数字签名装置生成数字签名算法密钥对,私钥下发到内容发布服务器,公钥下发到资源管理服务器,内容发布服务器使用私钥对源直播流进行签名,并对签名后的源直播流进行切片,P2P客户端到资源管理服务器获取公钥并使用获取的公钥对接收的P2P直播流进行签名验证,达到防止P2P直播流净皮篡改的目的;本发明实施例采用非对称密钥算法,可以确保P2P直播业务开展过程P2P直播流内容不会在传递过程中被恶意篡改,同时由于P2P客户端无需实时到内容发布服务器获取校验码,可以避免对P2P系统性能造成较大的冲击。图1为本发明实施例提供的一种P2P直播流传递的方法的流程图;图2为本发明实施例提供的另一种P2P直播流传递的方法的流程图;图3为本发明实施例提供的一种数字签名装置的结构图;图4为本发明实施例提供的一种P2P直播流传递的系统的结构图;图5为本发明实施例提供的一种P2P客户端的结构图。具体实施例方式下面结合附图对本发明实施例提供的技术方案进一步详细描述。参见图1,图1为本发明实施例提供的一种P2P直播流传递的方法的流程图,包括步骤IOI,生成公钥和私钥数字签名算法密钥对。在进行直播频道分发操作之前,系统可以灵活配置数字签名类型和签名方式,其中,数字签名的类型包括所有报文签名、关键帧签名、帧头签名或关键帧帧头签名;数字签名的方式包括数字签名算法、基于信息-摘要算法的数字签名算法。如果配置的数字签名类型为基于信息-摘要算法的数字签名算法,系统还生成信息-摘要算法密钥。步骤102,根据所述私钥对源直播流进行签名,对签名后的源直播流进行切片,并将切片后的直播流下发到点对点客户端。系统根据配置的数字签名类型和签名方式,对源直播流进行签名。根据签名类型和签名方式组合可进行的签名种类如表l所示系统对签名后的源直播流进行切片,并将切片后的直播流下发到点对点客户端。表1签名类型和签名方式組合表<table>tableseeoriginaldocumentpage9</column></row><table>步骤103,发送所述公钥到点对点客户端,以便该点对点客户端根据该公钥对接收的点对点直播流进行签名验证。本发明实施例提供的P2P直播流传递的方法,通过#:字签名密钥的生成和分发、签名生成和签名验证来完成对P2P直播流的数字签名,达到防止P2P直播流在传递过程中^f皮篡改的目的。由于采用了非对称密钥算法的数字签名技术,因此可以确保P2P直播业务开展过程P2P直播流内容不会在传送过程中被恶意篡改,同时由于P2P客户端无需实时到系统中获取校验码,可以避免对P2P系统性能造成较大的冲击。参见图2,本发明实施例提供了另一种点对点直播流传递的方法,包括步骤201,数字签名装置生成数字签名算法密钥对,私钥下发到内容发布服务器,公钥下发到资源管理服务器。在进行直播频道分发操作之前,数字签名装置可以灵活配置数字签名类型和签名方式,其中,数字签名的类型包括所有报文签名、关键帧签名、帧头签名或关键帧帧头签名;数字签名的方式包括数字签名算法、基于信息-摘要算法的数字签名算法。例如配置的数字签名类型和签名方式可以为数字签名类型0x00-不签名;0x01-所有报文签名;0x02-仅关键帧签名;0x03-仅帧头签名;0x04-仅关键帧帧头签名。签名方式0x01-RSA;0x02-RSAoverMD5。才艮据配置的数字签名类型和签名方式,进行相应的4喿作如果需要签名,则生成数字签名算法密钥对,例如RSA密钥对,私钥下发到内容发布服务器,公钥下发到资源管理服务器。如果配置的签名方式为基于信息-摘要算法的数字签名算法,还生成信息-摘要算法密钥,例如MD5密钥,该信息-摘要算法密钥同时下发到内容发布服务器和资源管理服务器。在本发明实施例中,内容发布服务器可以为P2P中心々某体服务器CS-P,负责直播流的数字签名和切片,如果在分布式P2P组网架构下,内容发布服务器还包括P2P边缘内容服务器ES-P,CS-P将签名和切片后的源直播流切片分发到P2P边缘内容服务器ES-P,ES-P作为P2P组网的超级节点,为P2P客户端提供服务保障。资源管理服务器作为P2P客户端服务管理部件,负责整网节点Peer的信息维护和P2P客户端资源的调度。步骤202,内容发布服务器根据所述私钥对源直播流进行签名,对签名后的源直播流进行切片,并将切片后的直播流下发到点对点客户端。内容发布服务器从直播源获取源直播流,根据配置的数字签名类型和签名方式,对源直播流进行签名。根据签名类型和签名方式组合可进行的签名种类可如上表表l所示。步骤203,P2P客户端到资源管理服务器获取公钥,并使用获取的公钥对接收的P2P直播流进行签名验证。当P2P客户端向P2P门户网站发起直播请求,P2P客户端向P2P资源管理服务器请求P2P资源列表,资源管理服务器根据配置的签名类型和签名方式,在响应消息中携带公钥。如果签名方式为基于信息-摘要算法的数字签名算法时,例如RSAoverMD5签名方式,在响应消息中还将携带信息-摘要算法密钥,例如MD5密钥。P2P客户端根据返回的P2P资源列表信息,从P2P边缘内容服务器ES-P或其它P2P客户端接收P2P直播流。P2P客户端使用获取的公钥,例如RSA公钥对接收的P2P直播流进行签名验证。步骤204,如杲签名验证失败,P2P客户端记录P2P直播流的父节点信息,并上报到内容管理系统进行告警。以及,步骤205,如果签名验证失败,P2P客户端从其它父节点重新接收P2P直播流。本发明实施例提供的P2P直播流传递的方法,通过数字签名密钥的生成和分发、签名生成和签名验证来完成对P2P直播流的数字签名,达到防止P2P直播流在传递过程中^f皮篡改的目的。由于采用了非对称密钥算法的数字签名技术,因此可以确保P2P直播业务开展过程P2P直播流内容不会在传送过程中被避免对P2P系统性能造成较大的冲击。更进一步的,本发明实施例通过采用基于信息-摘要算法的数字签名方式,可先对要加密内容进行摘要再签名的方式,减少引入签名算法对系统造成的性能损耗。而且,P2P客户端根据签名验证的结果,可对签名验证失败的P2P直播流记录其父节点信息,并上报到内容管理系统进行告警,以及如果签名验证失败,可自动从其它父节点重新接收P2P直播流,以保障用户服务和体验。本发明实施例的方法既适用于集中式的P2P组网,也适用于基于内容发布网络(CDN,ContentDeliveryNetwork)架构的分布式的P2P组网。本发明实施例还提供了一种数字签名装置,参见图3,包括签名密钥生成单元301,用于生成公钥和私钥数字签名算法密钥对;签名密钥下发单元302,用于将所述私钥下发到内容发布服务器,由内容发布服务器使用所述私钥对源直播流进行签名,并对签名后的源直播流进行切片;还用于将所述公钥下发到资源管理服务器,以便客户端到资源管理服务器上获取所述公钥,由客户端使用该公钥对接收的点对点直播流进行签名验证。如果是基于信息-摘要算法的数字签名算法所述签名密钥生成单元301,还用于生成信息-摘要算法密钥,例如MD5密钥。所述签名密钥下发单元302,还用于将所述信息-摘要算法密钥下发到内容发布服务器,由内容发布服务器使用该信息-摘要算法密钥和所述私钥对源直播流进行签名;还用于将所述信息-摘要算法密钥同时下发到资源管理服务器,以便客户端到资源管理服务器上获取所述信息-摘要算法密钥,并由客户端使用该信息-摘要算法密钥和所述公钥对接收的点对点直播流进行签名验证。所述数字签名装置还包括签名类型配置单元303,用于配置数字签名类型。所述的数字签名类型包括所有报文签名、关键帧签名、帧头签名或关键帧帧头签名。根据签名类型和签名方式组合可进行的签名种类可参见上表表1所示。该数字签名装置既可设置在P2P建构中的内容管理系统CMS上,也可以独在以上本发明实施例方法和装置的基础上,本发明实施例提供了一种P2P直播流传递的系统,参见图4,包括数字签名装置401,用于生成公钥和私钥数字签名算法密钥对,私钥下发到内容发布服务器402,公钥下发到资源管理服务器403;内容发布服务器402,用于使用私钥对源直播流进行签名,并对签名后的源直播-流进4亍切片;资源管理服务器403,用于客户端侧密钥的维护和下发,以便客户端到资源管理服务器403获取公钥,由客户端使用所述公钥对接收的P2P直播流进行签名验证。如果是基于信息-摘要算法的数字签名算法所述数字签名装置401还用于生成信息-摘要算法密钥,将该信息-摘要算法密钥同时下发到内容发布服务器和资源管理服务器;所述内容发布服务器402,还用于使用所述信息-摘要算法密钥和所述私钥对源直播流进行签名;所迷资源管理服务器403,还用于客户端到资源管理服务器上获取所述信息-摘要算法密钥,并由客户端使用该信息-摘要算法密钥与所述公钥对接收的点对点直播流进行签名-验证。该数字签名装置401,还用于配置数字签名类型;所述的数字签名类型包括:所有报文签名、关键帧签名、帧头签名或关键帧帧头签名;立设置。所述内容发布服务器402,还用于根据配置的数字签名类型对源直播流进行签名。本发明实施例还4是供了一种P2P客户端,参见图5,包括签名密钥获取单元501,用于到P2P资源管理服务器获取数字签名算法公钥;所述获取公钥的方法可以为P2P客户端向资源管理服务器请求P2P资源信息列表;接收资源管理服务器返回的P2P资源信息列表的请求响应消息,在所述请求响应消息中携带公钥。签名验证单元502,用于使用获取的数字签名算法公钥对接收的P2P直播流进行签名验证。如果是基于信息-摘要算法的数字签名算法,例如基于MD5的RSA数字签名算法所述签名密钥获取单元501,还用于到资源管理服务器获取信息-摘要算法密钥;所述签名验证单元502,还用于使用获取的信息-摘要算法密钥和所述数字签名算法公钥对接收的点对点直播流进行签名验证。本发明实施例的P2P客户端还包括记录告警单元503,用于签名验证失败时记录P2P直播流的父节点信息,并上报到内容管理系统进行告警。以及,直播流重新4姿收单元504,用于签名一验证失败时乂人其它父节点重新接收P2P直播流。本发明实施例是在P2P架构中引入数字签名技术,以防止P2P直播流被恶意篡改,增强P2P直播的安全性。通过数字签名装置生成数字签名密钥对,将私钥下发到内容发布服务器,公钥下发到资源管理服务器,由内容发布服务器对源直播流进行数字签名并切片,由P2P客户端到资源管理服务器上获取签名公钥对接收的P2P直播流进行签名验证,可以达到防止P2P直播流被篡改的目的。由于采用了非对称密钥算法的数字签名技术,因此可以确保P2P直播流在13传递过程中P2P直播流内容不会被恶意篡改,且P2P客户端无需实时到内容发布服务器上获取校验码,可以避免对P2P系统性能造成较大的冲击。更进一步的,本发明实施例通过数字签名装置生成信息-摘要算法密钥,可先对要加密内容进行摘要再签名的方式,减少引入签名算法对系统造成的性能损耗。而且,P2P客户端根据签名验证的结果,可对签名验证失败的P2P直播流记录其父节点信息,并上报到内容管理系统进行告警,以及可自动从其它父节点重新接收P2P直播流,以保障用户服务和体验。通过以上实施例的描述,本领域的技术人员可以清楚地了解到需要说明的是,本发明实施例不需要引入独立的功能部件,可借助软件加必需的通用硬件平台的方式来实现,因此不会对已有的P2P系统架构造成架构上的影响。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若千指令用以使得防止P2P直播流被篡改的系统或P2P客户端执行本发明各个实施例所述的方法。这里所称的存储介质,如R0M/RAM、》兹盘、光盘等。以上对本发明实施例所提供的P2P直播流传递的方法、系统、数字签名装置及P2P客户端进行了详细介绍,实施例的说明只是用于帮助理解本发明的方法及其思想;任何熟悉本
技术领域
的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。权利要求1、一种点对点直播流传递的方法,其特征在于,包括生成公钥和私钥数字签名算法密钥对;根据所述私钥对源直播流进行签名,对签名后的源直播流进行切片,并将切片后的直播流下发到点对点客户端;发送所述公钥到点对点客户端,以便该点对点客户端根据该公钥对接收的点对点直播流进行签名验证。2、根据权利要求1所述的方法,其特征在于,所述方法还包括生成信息-摘要算法密钥;根据所述信息-摘要算法密钥和所述私钥对源直播流进行签名,对签名后的源直播流进行切片,并将切片后的直播流下发到点对点客户端;发送所述信息-摘要算法密钥到点对点客户端,以便该点对点客户端使用该信息-摘要算法密钥和所述公钥对接收的点对点直播流进行签名验证。3、根据权利要求1或2所述的方法,其特征在于,所述方法还包括配置数字签名类型;根据配置的数据签名类型对源直播流进行签名。4、根据权利要求1或2所述的方法,其特征在于,由数字签名装置生成所述公钥和私钥数字签名算法密钥对;所述数字签名装置将所述私钥下发到内容发布服务器,将所述公钥下发到资源管理服务器。5、根据权利要求2所述的方法,其特征在于,由数字签名装置生成所述信息-摘要算法密钥;所述数字签名装置将所述信息-摘要算法密钥分别下发给内容发布服务器和资源管理服务器。6、根据权利要求3所述的方法,其特征在于,所述数字签名类型包括所有报文签名、关键帧签名、帧头签名或关键帧帧头签名。7、根据权利要求1或2所述的方法,其特征在于,所述方法还包括如果签名验证失败,点对点客户端记录点对点直播流的父节点信息,并上报到内容管理系统进行告警。8、根据权利要求7所述的方法,其特征在于,所述方法还包括如果签名验证失败,点对点客户端从其它父节点重新接收点对点直播流。9、一种数字签名装置,其特征在于,包括签名密钥生成单元,用于生成公钥和私钥数字签名算法密钥对;签名密钥下发单元,用于将所述私钥下发到内容发布服务器,由内容发布服务器使用所述私钥对源直播流进行签名,并对签名后的源直播流进行切片;还用于将所述公钥下发到资源管理服务器,以便点对点客户端到资源管理服务器上获取所述公钥并使用该公钥对接收的点对点直播流进行签名验证。10、根据权利要求9所述的装置,其特征在于,所述签名密钥生成单元,还用于生成信息-摘要算法密钥;所述签名密钥下发单元,还用于将所述信息-摘要算法密钥下发到内容发布服务器,由内容发布服务器使用该信息-摘要算法密钥和所述私钥对源直播流进行签名;还用于将所述信息-摘要算法密钥同时下发到资源管理服务器,以便点对点客户端到资源管理服务器上获取所述信息-摘要算法密钥,以便点对点客户端使用该信息-摘要算法密钥和所述公钥对接收的点对点直播流进行签名验证。11、根据权利要求9或10所述的装置,其特征在于,所迷装置还包括签名类型配置单元,用于配置数字签名类型。12、一种点对点直播流传递的系统,其特征在于,包括数字签名装置,用于生成公钥和私钥数字签名算法密钥对,将该私钥下发到内容发布服务器,该公钥下发到资源管理服务器;内容发布服务器,用于使用私钥对源直播流进行签名,并对签名后的源直播流进行切片;资源管理服务器,用于点对点客户端侧密钥的维护和下发,以^更点对点客户端到资源管理服务器上获取公钥并使用所述公钥对接收的点对点直播流进行签名验证。13、根据权利要求12所述的系统,其特征在于,所述数字签名装置,还用于生成信息-摘要算法密钥,将该信息-摘要算法密钥同时下发到内容发布服务器和资源管理服务器;所述内容发布服务器,还用于使用所述信息-摘要算法密钥和所述私钥对源直播流进行签名;所述资源管理服务器,还用于点对点客户端到资源管理服务器上获取所迷信息-摘要算法密钥,并由点对点客户端使用该信息-摘要算法密钥与所述公钥对接收的点对点直播流进行签名验证。14、根据权利要求12或13所迷的系统,其特征在于,所述数字签名装置,还用于配置数字签名类型;所述内容发布服务器,还用于根据配置的数字签名类型对源直播流进行签名。15、一种点对点客户端,其特征在于,包括签名密钥获取单元,用于向资源管理服务器获取数字签名算法公钥;签名验证单元,用于使用获取的数字签名算法公钥对接收的点对点直播流进行签名验证。16、根据权利要求15所述的客户端,其特征在于,所述签名密钥获取单元,还用于向资源管理服务器获取信息-摘要算法密钥;所述签名验证单元,还用于根据获取的信息-摘要算法密钥和所述数字签名算法公钥对接收的点对点直播流进行签名验证。17、根据权利要求15或16所述的客户端,其特征在于,所述客户端还包括记录告警单元,用于签名验证失败时记录点对点直播流的父节点信息,并上报到内容管理系统进行告警;直播流重新接收单元,用于签名验证失败时从其它父节点重新接收点对点直播流。全文摘要本发明的实施例公开了一种P2P直播流传递的方法、系统、数字签名装置及P2P客户端,涉及通讯
技术领域
,能够防止P2P直播流在传递过程中被恶意篡改,同时避免对P2P系统性能造成较大的冲击。本发明实施例提供的方法包括生成公钥和私钥数字签名算法密钥对;根据所述私钥对源直播流进行签名,对签名后的源直播流进行切片,并将切片后的直播流下发到点对点客户端;发送所述公钥到点对点客户端,由该点对点客户端根据该公钥对接收的点对点直播流进行签名验证。本发明的实施例既适用于集中式的P2P组网,也适用于基于CDN架构的分布式的P2P组网。文档编号H04L29/06GK101667999SQ200810146670公开日2010年3月10日申请日期2008年9月4日优先权日2008年9月4日发明者姜海军,王志兵申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1