一种基于p2p网络的直播流媒体的鉴权方法

文档序号:7693189阅读:174来源:国知局
专利名称:一种基于p2p网络的直播流媒体的鉴权方法
技术领域
本发明涉及基于P2P网络直播流媒体数字加密及用户鉴权的实现方法。
背景技术
随着互联网技术的迅速发展,在网络上传输视频和音频慢慢地成为一种趋势。网络视频直 播适应了这种发展,并越来越得到大家的重视,主要用于实现多用户对网络多媒体文件的共享 播放。
P2P (Peer to Peer),即为网络节点对等互联之意。应该说,平行于目前因特网上流行的客 户端/服务器的主从互联模式,P2P实现了分布式资源利用与共享,每一节点可进行对等通信, 可具备同时对信息内容进行接收、发送、存储和集成,并对信息元数据(Metadata)进行搜索和被 搜索等功能,各节点对等协同完成任务。
P2P技术突破了传统的Client/Server模式,服务器的地位和作用大大减弱,充分地利用了 网络上的空闲资源,在共享、协同工作、网络存储等方面取得了良好的应用。随着P2P技术的 发展,出现了基于P2P的文件传输与下载,每台计算机既是客户端又是服务器,在下载的同时 又向别人传输文件内容。这种传输方式在一定的时期弥补了网络带宽瓶颈的问题,提高了传输 效率,减轻了服务器的负担。这种方式也成为了目前网络上大文件传输(共享下载)的非常流 行的方式之一。
P2P与传统的流媒体视频点播相结合,可以充分发挥众多客户机的作用,Internet上的众多 用户可以直接进行信息交换,减轻了服务器的负担,降低了网络带宽的占用率,具有很大的应用 前景。P2P技术与流媒体技术相结合产生了IPTV、网络电视、网络广播等多种形式的网络直播 的应用。这种应用与文件传输有着很大不同,主要是传输具有实时性,传输的内容具有连续性, 每个客户端都有一个缓冲区,里面存放一个时间段内可供播放的流式媒体内容,随着时间的延 续,新的数据不断读入,过期的数据被丢弃。与文件传输的方式相比,它的数据块数相对比较 少,传输过程中对计算机和网络资源的占用相对较少。在基于P2P的网络上传输过程中不断复 制和传输的是和一个时间段相对应的、连续的数据包。
对于一个流媒体的传输,每个人都充当了接收和发送的角色,由于这种方式的灵活性,使 得对于一些流媒体的合法性、版权保护等权益的保护变得更加困难。就好比始做俑者放了一把 火,便在网络上烧起了在规模和生命周期上都不可控的大火。 一个人把一份媒体文件或流媒体直播在非授权的情况下就可以在传输的过程中不断地复制和传播,而在整个过程中每个人都充 当了非法复制和传输的角色。
目前P2P网络直播方案中采用了调度的方法技术对P2P网络中客户之间的P2P传输进行控 第L常用的控制策略包括客户端的认证、授权、计费、审计、分组、流媒体功能限制、通信加 密等方法。通过一系列的技术措施来实现对P2P网络的控制,对参与到P2P网络传输的客户进 行认证、收费、授权,对于通信加密是在客户和调度服务器之间的信息传递采用加密协议的方 式进行,而流媒体限制是控制用户对某些流媒体资源进行传输上的限制。
这种可控的P2P的技术方法存在着以下不足首先是对P2P网络的限制和施加的控制策略 大大降低了P2P网络的自由度,P2P网络的高效来源于高度的开放和自由传输,所以这必然会 大大降低P2P网络传输的效率,且控制及限制越多,效率越低。突破限制后的用户以及部分合 法的用户就可以播放了,对于用户通过对软件破解,边播放边下载,下载后恶意修改、重新编 码、转换、传播等行为无法避免。所以就目前而言还没有从技术上实现对流媒体版权的保护。
所以, 一种能够实现P2P网络传输和鉴权和方法对于数字产品的授权传播与复制、保护数 字产品的版权有着非常重要的意义。

发明内容
本发明的目的是克服P2P网络直播现有技术的缺点,提出一种P2P网络上流媒体直播的数 字鉴权及实现方法,实现直播流媒体内容通过数字证书的保护实现在P2P网络上安全的,自由 而灵活地分发和传输,同时直播媒体的提供者可以根据需要实现自己的用户管理及收费,可以 自行开发数字证书。有效地防止非授权用户对直播流媒体内容的传输和播放,从技术上更好地 保护直播流媒体的版权。 _
本发明所述的基于P2P网络直播系统共包括三个子系统对象P2P索引提供者、直播流媒 体提供者、最终直播用户。其中,直播流媒体提供者包括流媒体服务器l、数据库服务器2、证 书服务器3; P2P索引服务提供者包括数据库服务器4、索引服务器5、 HTTP服务器6;最终直 播用户是指用户端软件,包含P2P网络组件和媒体播放器。
本发明所述P2P网络直播系统各子系统功能及流程如下-
第l步流程开始,启动P2P索引服务;第2步启动直播流媒体提供者的服务,完成对
直播流媒体内容的编码和利用密钥加密直播媒体数据流,启动证书服务器的服务,向P2P索引 服务器注册节目号ChandID及所需证书信息CAID;第3步用户访问从P2P索引提供者得到 节目列表,发出所选节目播放请求;第4步用户根据査询P2P索引服务得到节目流媒体直播 提供者的信息MSPID,査找本地所存储的数字证书中是否有所选节目所需的数字证书CAID; 第5步如果没有所需证书,则向直播流媒体提供者申请数字证书,接受用户身份验证,获得数字证书或者退出当前直播节目;如果成功获取所需证书,则向P2P索引服务提供者申请参于 P2P网络数据转输;第6步索引服务提供者校验用户是否具有节目所需的数字证书,比对数 字证书识别号CAID,如果相同,则通过用户申请,提供种子列表,允许用户加入到P2P网络传 输。第7步缓冲接收到的数据流,利用获取的数字证书,进行直播流媒体的解密和解码;第8 步进行播放直播媒体,流程结束。
本发明所述的方法主要通过开发四个功能模块来实现上述三个子系统的功能以及所述流 程,它们分别是用户鉴权功能模块、数字证书管理模块、索引服务扩展模块、客户端处理模 块。其中用户鉴权功能模块、数字证书管理模块部署在直播流媒体提供者子系统中,索引扩展 模块部署在索引服务器中,客户端处理模块部署在最终用户终端。各模块实现的功能如下
用户鉴权功能模块主要完成的功能是处理用户对于数字证书的申请,对于用户进行管理和 授权,对于授权的用户将请求传递给数字证书管理模块;数字证书管理模块主要完成的功能是 生成用户证书,并分发给用户,并完成把节目数据加密后提供给P2P网络上的用户;索引扩展
模块主要完成的功能是存储节目信息MSPID、 ChanelID,数字证书相关信息,每个节目合法授 权用户种子队列,鉴别申请注册到P2P的用户是否具有节目ChandID所需的数字证书CAID, 并把具有数字证书的用户分配到对应节目ChanelID的P2P种子队列中去;客户端处理模块的功 能主要是处理每个用户接收到以P2P方式传输的数据后,用节目所需的数字证书解密后将流式 数据传递给媒体播放软件进行视频解码和播放。 本发明具有以下特征-
1、 根据数据在P2P网络上传输的自由、开放、传播过程不可准确控制的特点,采用加密直 播媒体源端数据流的方法实现了在P2P网络上安全、自由、开放、高效的数据传送。
优点在于采用基于源端数据流的加密,增加了 P2P网络上数据的安全性,实现了对直播 流媒体的数字版权保护,实现了数据安全与网络高效的结合。
2、 通过把网络高效传输与用户严格鉴权分离的做法实现了用户严格精准的管理,授权与网 络自由、开放、高效的结合,大大提高了系统的可靠性及兼容性,可以在同一系统体系中实现 多种直播媒体、多种数据库管理、多种身份验证机制的共存,对于目前P2P与流媒体技术发展 的百花齐放的态势具有很好的包容性。
3、 P2P索引服务提供者和直播流媒体提供者相对独立,这使得直播流媒体提供者有更广阔 的技术空间和更灵活的技术手段来实现自己的数字证书和加密方法,这种数字证书也可以是独 立于操作系统的文件。
4、 在用户端解密、解码和播放不可分离,这保证了直播流媒体数据不会被截流、存储和分 发,保证了直播流媒体数据时安全性。


图l本发明适用的P2P直播流媒体系统结构示意图; 图2 P2P直播流媒体系统流程框图3 P2P直播流媒体系统的时序图。
具体实施例方式
如图1所示,本发明适用的P2P直播流媒体系统共包括三个子系统对象P2P索引提供者,
直播流媒体提供者,最终直播用户。其中直播流媒体提供者包括流媒体服务器l,数据库服务器
2,证书服务器3; P2P索引服务提供者包括数据库服务器4,索引服务器5, HTTP服务器6; 最终直播用户是指用户端软件,包含P2P网络组件和媒体播放器。
图2所示是本发明所涉及的系统流程框图首先启动P2P索引服务,启动直播流媒体提供 者的服务,完成对直播流媒体内容的编码和数字加密,准备好证书服务器,向P2P索引服务器 注册节目及所需证书;用户查询节目列表,发出播放请求,并根据査询P2P索引服务得到节目 流媒体直播提供者的信息,查验是否有所需数字证书;如果没有所需证书,则向直播流媒体提 供者申请数字证书,向P2P索引服务提供者注册,参加P2P网络数据转输,缓冲接收到的数据 流,利用获取的数字证书进行直播流媒体的解密和解码;然后进行播放直播媒体。
本发明P2P直播流媒体系统的实现方法时序如图3所示首先启动P2P索引服务器2,依 次启动直播流媒体提供者的数据库服务器3、数字证书服务器4、直播服务器5,由直播服务器 5在启动过程中完成对直播流媒体内容的编码和数字加密19,根据节目向证书服务器准备好证 书18,完成后向索引服务器注册节目及所需证书并成为P2P网络中的媒体流种子20,系统启动 完成。终端用户1通过HTTP服务査询节目列表6,发出播放请求,接收返回的节目提供者的信 息和所需数字证书的信息7,并根据査询P2P索引服务得到节目流媒体直播提供者的信息,査 验是否有所需数字证书如果没有所需证书,则向直播流媒体提供者申请数字证书9,由直播流 媒体提供者通过数据库服务器3实现对用户的鉴权及管理10,根据用户ID生成数字证书并发布 ll到数字证书服务器,由数字证书服务器进行证书的分发12,终端用户接收申请返回的数字证 书并保存到本地系统中13,并向P2P索引服务器注册为成P2P网络中的一员14,参加P2P网络 数据转输,缓冲接收到的数据流15,利用获取的数字证书,进行直播流媒体的解密和解码然 后进行播放直播媒体16。
以下为采用本发明方法的实施例
1. 本发明实施例的系统环境包括直播流媒体系统(直播流媒体提供者),P2P网络系统(P2P 索引服务者),客户端直播流媒体解密、解码及播放系统。
2. 配置系统服务器,对于直播流媒体服务本实例采用VideoLAN-VLC media player软件包进行部署流媒体直播系统。部署MySQL数据库系统用于对用户的管理及收费。部署Apache HTTP服务用于发布数字证书。对于P2P索引服务提供者本实例采用mini-SAP-server索引发布, 进行apache扩展模块开发。对于用户终端采用VLC media player进行播放,并采用C有语言进 行客户端模块的开发。3.基于步骤2选择,选用MicrosoftVisualStudio.net进行开发和调试。开发语言选用C/C++, 主要开发的模块有用户鉴权功能模块、数字证书管理模块、索引服务扩展模块、客户端处理模 块。用户鉴权功能模块主要完成的功能是处理用户对于数字证书的申请,对于用户进行管理和 授权,对于授权的用户将请求传递给数字证书管理模块,实现方式是进行进行Apache扩展模块 幵发,使用MYSQL数据库的API函数进行数据库相关操作,主要函数接口定义如下GetUInfo():取得客户的信息;CerCurUser(uID):完成当前用户的管理,签别是否是合法用户; GetUKey(uID):得到客户端认证码; CenCAData(uID):生成数字证书文件;数字证书管理模块主要完成的功能是生成用户证书,并分发给用户,并完成把节目数据加 密后提供给P2P网络上的用户,主要函数接口定义如下GenCAdata(ukey,沐ey):产生数字证书,生成数字证书;EncodeStreamModule(pStre咖Buf): 加密数据流;RegStreamProfile(chaneIID):向索引服务器注册节目信息;索引扩展模块主要完成的功能是存储节目信息,数字证书相关信息,每个节目合法授权用户种子队列,鉴别申请注册到P2P的用户是否具有节目所需的数字证书,并把具有数字证书的用户分配到对应节目的P2P种子队列中去,主要函数接口定义如下 ProcStreamProfile(chanelID):处理提供者提交的节目信息; GetStreamCAID(chanelID):得到节目所需的数字证书识别号; CerCurUserCA(userID,CAID):校验当前用户是否有所需证书; RegSeedGroup(userID,chanelID):注册用户到相应节目的P2P种子队列; 客户端处理模块的功能主要是处理每个用户接收到以P2P方式传输的数据后,用节目所需的数字证书解密后将流式数据传递给媒体播放软件进行视频解码和播放,主要函数接口定义如下ValideCA(chanelID):査验本地数是否数字证书 RequestCA(chanelID,uID):申请数字证书文件DecoderStreamModule(pStreamBuf):解密数据流; ParseStreamModule(pStreamBuf):解码媒体流。4. 加密数据流的方法可以采用BlowFish、 MD5、 Secretl6、 AES、 SHA、 CRC32、 RSA、 DES、 Vernam等,本实例采用Vernam的方法是首先从密钥文件中得到密钥值,然后从这段 密钥中截取和我们需要加密的明文同样长度的密钥。然后使用一个简单的异或操作将明文和密 钥进行运算,那么得到的结果就是加密后的密文了。解密过程是由于是使用了异或操作,所 以解密将非常简单,只要使用同样的密钥对密文再次进行异或操作就能够解密了。5. 基于步骤3的确定,粮据图2及图3所述的思路和步骤进行功能开发和实现。 本发明对于实现基于P2P网络的直播流媒体的数字加密及用户鉴权,保护了直播流媒体在自由、开放的P2P网络上进行安全的传输和播放。对于P2P网络直播流媒体的数字版权保护的 发展有着重要的促进作用和现实意义。
权利要求
1、一种基于P2P网络的直播流媒体的鉴权方法,其特征在于第1步流程开始,用户终端从索引服务器查看直播节目信息,发起播放某个节目的请求;第2步索引服务器提供节目源提供者的连接信息以及节目播放所需数字证书的信息给用户终端;第3步由客户端软件查验本地是否安装有所需数字证书,如果已经安装了数字证书,则向索引服务器请求转发者列表,并加入到P2P网络中进行下载和播放,如果没有安装数字证书,则根据所需数字证书信息到节目提供者的数字证书服务器进行申请;第4步节目提供者根据用户请求进行用户鉴权,对于合法用户进行数字证书分发,每个节目提供者可根据自己的情况进行计费及用户鉴权和管理;第5步用户得到数字证书后注册到P2P网络中进行直播流媒体的传输,接收流媒体数据进行解密、解码和播放。
2、 按照权利要求1所述的流媒体的动态认证及授权方法,其特征在于节目提供者把节目 数据加密后提供给P2P网络上的用户,每个用户在接收到P2P方式传输的数据后,需要用节目 提供者的数字证书解密后方可进行视频解码和播放。
3、 按照权利要求1或2所述的流媒体的动态认证及授权方法,其特征在于只有申请到所 选节目所需的数字证书的用户才允许注册到P2P网络中进行传输;P2P网络节点上每个用户都 有不同的授权,拥有同一节目的授权的用户成为一组,可以自由的进行数据传输,实现节目的 P2P直播。
4、 按照权利要求1或2所述的流媒体的动态认证及授权方法,其特征在于-. 在节目提供服务里,在节目向己签权用户传输前,首先交由用户鉴权功能模块进行数字处理,该模块功能有将客户的信息传递给用户认证系统;根据客户端认证码生成数字证书,进 行数字证书的发布;对数据流进行加密;向索引服务器注册节目信息。
5、 按照权利要求1所述的流媒体的动态认证及授权方法,其特征在于客户端软件接收P2P 方式传输的数据首先经过数字证书管理模块进行处理,解密;所用模块功能有根据节目号和 所需数字证书识别号査验本地是否有所需节目的数字证书;申请所需节目的数字证书;利用数 字证书解密数据流。
6、 按照权利要求1所述的流媒体的动态认证及授权方法,其特征在于在索引服务器上增 加节目提供者所有节目的鉴权信息,包括节目提供者识别号MSPID、视频节目号ChandID、 节目所需证书识别号CAID;索引服务器上增加只对授权用户提供P2P网络传输的服务,收到用 户P2P网络传输请求的时候,比对用户提供的证书识别号CAID,如果和节目要求的证书识别号 相同,则允许注册,加入到种子对队列,进行P2P数据传输。
全文摘要
一种基于P2P网络的直播流媒体的鉴权方法,第1步流程开始时,用户终端从索引服务器查看直播节目信息,发起播放某个节目的请求;第2步索引服务器提供节目源提供者的连接信息及节目播放所需数字证书的信息给用户终端;第3步由客户端软件查验本地是否安装有所需数字证书,如果已经安装数字证书,则向索引服务器请求转发者列表,并加入到P2P网络中进行下载和播放,如未安装数字证书,则根据所需数字证书信息到节目提供者的数字证书服务器申请;第4步节目提供者根据用户请求进行用户鉴权,对合法用户分发数字证书,同时对用户进行鉴权和管理;第5步用户得到数字证书后注册到P2P网络中进行直播流媒体的传输,接收流媒体数据进行解密、解码和播放。
文档编号H04L12/18GK101247409SQ20081010239
公开日2008年8月20日 申请日期2008年3月21日 优先权日2008年3月21日
发明者王新立 申请人:中国科学院电工研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1