一种流媒体数据传输的系统、方法及装置的制作方法

文档序号:7720059阅读:134来源:国知局
专利名称:一种流媒体数据传输的系统、方法及装置的制作方法
技术领域
本发明涉及流媒体服务应用技术领域,特别涉及一种流媒体数据传输系统、方法
及装置。
背景技术
随着多媒体技术和网络技术的快速发展与广泛应用,人们对流媒体业务的需求与 日倶增,视频点播、视频共享、视频会议、在线娱乐等流媒体业务已经渗透到互联网的各个 角落。然而,由于流媒体数据在开放的网络环境中传输,且具有格式复杂、数据量大等特点, 流媒体数据传输的安全性正面临严峻挑战。如何实现对流媒体数据的访问控制并保证数据 的机密性、私有性和完整性等安全特性成为亟待解决的问题。 目前,大多数流媒体应用系统采用单独的密钥消息管理中心负责流媒体系统全局 密钥的生成乃至密钥分发与更新。其过程包括密钥消息管理中心为每个客户端生成密钥, 并下发给对应的客户端,这样,当客户端发起访问流媒体数据的访问请求后,流媒体服务器 从密钥消息管理中心获得该客户端的密钥,然后利用该密钥对待传输的流媒体数据进行加 密,并发送加密后的流媒体数据。而客户端也利用该密钥对接收到的流媒体数据进行解密。
可见上述这种方法结构简单、容易实现,但密钥消息管理中心需生成所有的密钥, 并且要分发以及更新所有的密钥,并且,流媒体服务器、以及客户端都需要与密钥消息管理 中心进行大量的信令交换,从而易造成密钥消息管理中心成为流媒体数据传输系统的瓶 颈。同时现有的密钥管理拓扑结构往往独立于流媒体数据传输的拓扑结构,需要单独构建 密钥分发和更新网络,使得整个系统的实现开销增大。

发明内容
本发明实施例提供一种流媒体数据传输的系统、方法及装置,用以解决现有技术
流媒体数据传输过程中,安全认证信令多,且系统开销大的问题。
本发明实施例提供一种流媒体数据传输的系统,包括 流媒体服务器,用于接收到客户端发送的访问流媒体数据的访问请求后,对所述 客户端进行身份认证,当认证通过时,根据与所述客户端对应的密钥,对待传输的流媒体数 据进行加密,并发送加密后的流媒体数据; 客户端,用于向所述流媒体服务器发送访问流媒体数据的访问请求,并对获得的
流媒体数据进行解密,得到解密后的流媒体数据。 本发明实施例提供一种流媒体数据传输的的方法,包括 流媒体服务器接收到客户端发送的访问流媒体数据的访问请求后,对所述客户端 进行身份认证; 当认证通过时,所述流媒体服务器根据与所述客户端对应的密钥,对待传输的流 媒体数据进行加密,并发送加密后的流媒体数据。
本发明实施例提供一种流媒体服务器,包括
接收单元,用于接收客户端发送的访问流媒体数据的访问请求;
认证单元,用于对所述客户端进行身份认证; 加密单元,用与当认证通过时,根据与所述客户端对应的密钥,对待传输的流媒体 数据进行加密; 发送单元,用于发送加密后的流媒体数据。 本发明实施例中,流媒体服务器接收到客户端发送的访问流媒体数据的访问请求 后,对所述客户端进行身份认证,当认证通过时,根据与所述客户端对应的密钥,对待传输 的流媒体数据进行加密,并发送加密后的流媒体数据,可见,在流媒体数据传输系统内部直 接进行安全认证,并将密钥的生成,管理功能整合在流媒体服务器中,减少了安全认证所带 来的信令开销,也不需要单独构建密钥分发和更新网络,极大的减少了系统的开销


图1为本发明实施例中流媒体数据传输系统的架构图; 图2为本发明实施例中流媒体数据传输的流程图; 图3为本发明实施例一中流媒体数据传输系统的架构图; 图4为本发明实施例一中基于内容分发网络服务器集群的架构图; 图5为本发明实施例一中流媒体数据传输系统的具体结构图; 图6为本发明实施例一中流媒体数据传输的流程图; 图7为本发明实施例中流媒体服务器的结构图。
具体实施例方式
本发明实施例提供了一种流媒体数据传输的系统及方法,用于减少安全认证过程 的信令交换,有效保证流媒体数据传输的安全性。 本发明实施例中,在流媒体服务应用系统内部直接进行安全认证,其流媒体服务 安全认证的系统拓扑结构与流媒体数据传输的拓扑结构相同,参见图l,本发明实施例中流 媒体数据传输的系统包括流媒体服务器100、客户端200、以及辅助管理平台300。当然, 本发明实施例中,也可是流媒体服务器100与辅助管理平台300结合在一起。
其中,当客户端发起访问流媒体数据的访问请求后,流媒体服务器通过辅助管理 平台对客户端进行认证,认证通过后,利用与该客户端对应的密钥对待传输的流媒体数据 进行加密,而客户端也利用该密钥对接收到的流媒体数据进行解密,从而确保了流媒体数 据的安全性。 当然,流媒体服务器100可以是一个或多个服务器,而一个流媒体服务器可以为 一个或多个客户端服务, 一个流媒体服务器,与它服务的客户端组成一个域,每个流媒体服 务器可以为对应的域中每个客户端生成加密流媒体数据的密钥。其中,密钥包括私钥d, 或公钥PK。私钥d与客户端一一对应,而一个域内的客户端的公钥PK都是一样的。
流媒体服务器还对密钥进行更新,可以每隔一段时间对密钥进行更新,或者,流媒 体服务器服务的客户端发生了变化进行更新,即有客户端加入或离开该流媒体服务器对应 的域进行更新。还可以每隔一段时间间隔且在该时间间隔内流媒体服务器服务的客户端发 生了变化时,对密钥进行更新。
参见图2,在上述系统架构下,流媒体数据的传输过程包括 步骤201 :客户端向流媒体服务器发送访问流媒体数据的访问请求。该访问请求
中包括客户端的身份认证数据。这里,身份认证数据中有客户端的唯一标识ID。 当流媒体服务器有多个时,可以先向辅助管理平台提交访问请求,辅助管理平台
根据系统的配置数据,确定一个流媒体服务器,例如,可以确定一个离客户端最近的一个流
媒体服务器,或者,确定一个"空闲"的流媒体服务器。从而客户端向确定的流媒体服务器
发送携带身份认证数据的访问请求。 步骤202 :流媒体服务器对客户端进行身份认证,当认证通过时,执行步骤203,否 则本安全认证流程结束。 这里,流媒体服务器可以与辅助管理平台相结合,也可以两者分离,当两者分离 时,流媒体服务器可以通过辅助管理平台对客户端进行身份认证,包括 流媒体服务器将接收到的访问请求发送给辅助管理平台,辅助管理平台对发起请 求的客户端机进行身份认证,并向流媒体服务器返回认证结果,当流媒体服务器接收的认 证结果为认证通过,则执行步骤203,否则,本安全认证流程结束。 步骤203 :流媒体服务器根据与客户端对应的密钥,对待传输的流媒体数据进行 加密,并发送加密后的流媒体数据。 这里,流媒体服务器可以首先生成与客户端对应的密钥,然后根据该密钥对待传 输的流媒体数据进行加密,最后发送加密后的流媒体数据。 或者,当客户端加入该流媒体服务器对应的域时,流媒体服务器已经为对应的域 中每个客户端生成了加密流媒体数据的密钥,这样,当发起访问请求的客户端通过认证后, 流媒体服务器就可以根据保存的与该客户端对应的密钥,对待传输的流媒体数据进行加 密,然后发送加密后的流媒体数据。 这里,可以采用广播加密算法对流媒体数据进行加密,广播加密是一种通过单向 通信完成密钥协商的加密算法,授权中心可向任一授权集合广播加密的数据信息,并保证 只有合法用户才能正确解密这些信息。这里,流媒体服务器在其对应的域内广播加密后的 流媒体数据,但是只有经过认证授权的客户端才能对加密后的流媒体数据进行解密,才能 获得有效的流媒体数据。 加密后的流媒体数据的格式如表1所示,包括
标识位加密后的媒体数据内容密钥消息公钥变换量 表1 其中,标识位Flag用标识是否为密钥更新; 密钥消息用于广播加密或解密计算,密钥消息中可以携带生成的密钥,也可以不 携带密钥。 当然,加密后的流媒体数据中也可以不包括公钥变换量APK。
步骤204 :客户端获得加密后的流媒体数据。 客户端既可采用客户端/服务器(Client/Server,C/S)方式直接接收由边缘服务 器传输的流媒体数据,也可通过端对端P2P的方式从其它客户端获取流媒体数据。
步骤205 :客户端对获得的流媒体数据进行解密,得到解密后的流媒体数据。
这里,客户端可以先从获得的流媒体数据中提取密钥,根据提取到的密钥,对获得 的流媒体数据进行解密,得到解密后的流媒体数据。 或者,客户端加入流媒体服务器对应的域时,已通过安全通道获得并保存了密钥, 则获得的流媒体数据后,客户端只需要根据保存的密钥,对其进行解密,从而获得了解密后 的流媒体数据。 这里,同样可以通过广播解密算法对获得的流媒体数据进行解密。 本发明实施例中,客户端退出流媒体服务器对应的域时,需向流媒体服务器发送
离开消息,从而,流媒体服务器对密钥进行更新。 可见,参见图l,本发明实施例流媒体数据传输的系统包括流媒体服务器100和 客户端200。 流媒体服务器100,用于接收到客户端发送的访问流媒体数据的访问请求后,对所 述客户端进行身份认证,当认证通过时,根据与所述客户端对应的密钥,对待传输的流媒体 数据进行加密,并发送加密后的流媒体数据; 客户端200 ,用于向所述流媒体服务器发送访问流媒体数据的访问请求,并对获得 的流媒体数据进行解密,得到解密后的流媒体数据。
系统还可以包括辅助管理平台300。这样, 流媒体服务器100,还用于接收到访问请求后,向所述辅助管理平台300发送认证 请求,并接收所述辅助管理平台300返回的认证结果。 辅助管理平台300,用于根据所述认证请求,对所述客户端200进行身份认证,并 向所述流媒体服务器100返回认证结果。 流媒体服务器IOO,还用于生成与客户端200对应的密钥。 流媒体服务器100还对密钥进行更新,可以每隔一段时间对密钥进行更新,或者, 流媒体服务器服务的客户端发生了变化进行更新。还可以每隔一段时间间隔且在该时间间 隔内流媒体服务器服务的客户端发生了变化时,对密钥进行更新。 流媒体服务器100,还用于利用所述密钥,采用广播加密算法对待传输的流媒体数 据进行加密。 客户端200,还用于获得密钥。这里,可以通过安全通道接收流媒体服务器100下 发的密钥,或者从获得的流媒体数据进行解密提取到密钥。 当客户端200退出流媒体服务器100对应的域时,需向流媒体服务器发送离开消 息,从而,流媒体服务器对密钥进行更新。 下面结合说明书附图对本发明实施例作进一步详细描述。 实施例1,本实施例中,流媒体数据传输的系统基于内容分发网络 (ContentDelivery Network, CDN)的流媒体数据传输系统,参加图3包括CDN服务器集群、
客户端和辅助管理平台。 本发明实施例中的CDN服务器集群即为流媒体数据传输系统中的流媒体服务器, CDN服务器集群具体是一种分层结构集群,由多媒体数据源、中间层服务器和边缘服务器构 成。参见图4。 多媒体数据源提供流媒体服务的内容,它是发布视频、音频等多媒体数据的服务器,其音视频来源既可以是预先存储在服务器上的音视频内容,也可以是通过网络摄像机、 DV等获取到的音视频并通过网络发布到服务器上形成的发布URL。 中间层服务器是预先部署在CDN网络上的若干基于流媒体传输协议的可靠服务 器节点,多媒体数据经过中间服务器被"推送"到边缘服务器,在集群规模不是很大的情况 下,也可以不用中间服务器,直接将数据推送到边缘服务器。由于中间服务器节点都是可信 的,所以在从数据源到边缘服务器的传输过程中多媒体数据不需要加密。
边缘服务器由若干直接与客户端相连的流媒体服务器组成,并与所服务的客户端 构成一个域,每台边缘服务器为对应的域生成加密流媒体数据的密钥,以此作为广播加密 算法的密钥对流媒体数据进行加密,并将密钥消息与加密后的流媒体数据一起传输给域内 客户端。本发明实施例中采用的广播加密算法包括由边缘服务器预先产生足够多用以分 发给客户端的私钥d,并且在传递给客户端的密钥消息包括其所对应域的信息、公钥变化量 APK等。从而,客户端在获得加密后的数据后,可以根据该客户端对应的私钥d,以及密钥 消息进行解密,得到有效的流媒体数据。边缘服务器也管理密钥的更新,密钥的更新采用时 间与事件共同驱动的方式进行,即每隔一定的时间间隔且在该时间间隔内有客户端加入或 离开系统时,进行密钥更新。 客户端既可采用客户端/服务器方式接收由CDN服务器集群传输的流媒体数据, 也可通过P2P的方式从其它客户端获取流媒体数据。 本发明实施例中的辅助管理平台包括若干台提供用户身份认证和网络状态监控 等服务的管理服务器。边缘服务器将认证请求发送给用户身份认证管理服务器并接收返回 的认证结果。网络状态监控服务器监控CDN服务器集群的负载情况及客户端网络连接质 量,同时记录客户端对流媒体服务的使用状态等信息。当客户端与边缘服务器的连接意外 中断时,网络状态监控服务器可以发现这种状况,在客户端主动发出新的域名解析请求时, 通知全局负载均衡(Gobal Server Load Balance, GSLB)引导客户端至新的边缘服务器,并 根据客户端对流媒体服务使用的状态信息保证服务质量。 参见图5,本发明实施例中流媒体数据传输系统的具体包括CDN服务器集群510、 客户端520和辅助管理平台530。其中,多媒体数据源511采集的多媒体内容经过中间层服 务器节点512分发到各边缘服务器513上。辅助管理平台530包括GSLB531、网络状态监 控服务器532和用户身份认证服务器533。 在上述架构下,参见图6,实现流媒体数据传输的过程包括 步骤601 :客户端提交的访问多媒体数据的访问请求被重定向到GSLB。 步骤602 :GSLB将客户端引导至"最近"的边缘服务器,即将访问请求转发至边缘
服务器。访问请求中携带客户端的身份认证信息。 步骤603 :边缘服务器根据身份认证信息,向用户身份认证服务器发送认证请求, 并接收返回的认证结果。 步骤604 :边缘服务器判断认证是否通过,若通过执行步骤605,否则,本次访问过 程结束。 若边缘服务器接收到认证通过,则客户端通过身份认证,则及客户端位于该边缘 服务器所对应的域。 步骤605 :边缘服务器对待传输的流媒体数据进行加密,并发送加密后的流媒体数据。 这里,边缘服务器可以为对应的域种的客户端生成加密流媒体数据的密钥,以此 作为广播加密算法的密钥对流媒体数据进行广播加密,并将加密后的流媒体数据传输给域 内的客户端。
步骤606 :客户端获得加密后的流媒体数据。 客户端可用C/S方式接收边缘服务器传输的加密后的流媒体数据,也可用P2P方 式从其它客户端获取流媒体数据。 步骤607 :客户端对获得的加密后的流媒体数据进行广播加密的解密运算获取原 始的流媒体数据。 客户端可以先从获得的流媒体数据中提取密钥,根据提取到的密钥,对获得的流 媒体数据进行解密,得到解密后的流媒体数据。 或者在此之前,客户端已通过安全通道获得并保存了密钥,则获得的流媒体数据 后,客户端只需要根据保存的密钥,对其进行解密,从而获得了解密后的流媒体数据。
上述实施例中、当客户端与边缘服务器的连接意外中断时,网络状态监控服务器 可以发现这种状况,在客户端主动重新发出域名解析请求时,通知GSLB引导客户端至新的 边缘服务器,并根据客户端对流媒体服务使用的状态信息保证服务质量。这样,新的边缘服 务器将为客户端服务。 当然,在上述如图5所示的架构下,当客户端加入到一个边缘服务器对应的域中 时,边缘服务器即可生成对应密钥,并通过安全通道发送到客户端进行保存。这样,当客户 端发起访问请求,且通过身份认证后,边缘服务器即可采用该密钥对流媒体数据进行加密, 并广播发送解密后的流媒体数据。而客户端获得加密后的流媒体数据后,利用保存的密钥 进行广播解密,从而得到原始的流媒体数据。 根据上述流媒体数据传输的方法的方法,参见图7,其对应的流媒体服务器包括
接收单元710,认证单元720,加密单元730和发生单元740。其中, 接收单元710,用于接收客户端发送的访问流媒体数据的访问请求。 认证单元720,用于对所述客户端进行身份认证。 加密单元730,用与当认证通过时,根据与所述客户端对应的密钥,对待传输的流 媒体数据进行加密。 发送单元740,用于发送加密后的流媒体数据。 而发送单元740,还用于接收到访问请求后,向辅助管理平台发送认证请求。则接 收单元710,还用于接收所述辅助管理平台返回的认证结果。当然,该流媒体服务器中,还可 以包括生成单元,用于生成与所述客户端对应的密钥。即在客户端加入该流媒体服务器对 应的域中时,即生成与客户端对应的密钥。 在另一实施例中,加密单元730包括生成子单元及加密子单元
生成子单元,用于生成与所述客户端对应的密钥。 加密子单元,用于利用所述密钥,采用广播加密算法对待传输的流媒体数据进行 加密。 这里,当客户端通过认证后,流媒体服务器才生成与所述客户端对应的密钥。
综上所述,本发明实施例中通过安全认证机制和对流媒体数据进行加密保证了数据机密性;系统中密钥更新由时间和时间共同驱动,保证了数据的前后向安全性;系统所 采用的广播加密算法是一种可扩展的并可以很好抵抗同谋破解的加密算法;系统不存在专 门的密钥管理服务器,而将密钥管理功能整合在边缘服务器中,减少了密钥更新所带来的 开销。当客户端与边缘服务器的连接意外中断时,在保证一定服务质量的前提下,客户端可 以连接到其它边缘服务器,这保证了系统的鲁棒性。 显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精 神和范围。这样,倘若对本发明的这些修改和变型属于本发明权利要求及其等同技术的范 围之内,则本发明也意图包含这些改动和变型在内。
权利要求
一种流媒体数据传输的系统,其特征在于,包括流媒体服务器,用于接收到客户端发送的访问流媒体数据的访问请求后,对所述客户端进行身份认证,当认证通过时,根据与所述客户端对应的密钥,对待传输的流媒体数据进行加密,并发送加密后的流媒体数据;客户端,用于向所述流媒体服务器发送访问流媒体数据的访问请求,并对获得的流媒体数据进行解密,得到解密后的流媒体数据。
2. 如权利要求1所述的系统,其特征在于,还包括辅助管理平台;所述流媒体服务器,还用于接收到访问请求后,向所述辅助管理平台发送认证请求,并 接收所述辅助管理平台返回的认证结果;所述辅助管理平台,用于根据所述认证请求,对所述客户端进行身份认证,并向所述流 媒体服务器返回认证结果。
3. 如权利要求l所述的系统,其特征在于,所述流媒体服务器,还用于生成与所述客户端对应的密钥,利用所述密钥,采用广播加 密算法对待传输的流媒体数据进行加密;所述客户端,还用于获得所述密钥,利用所述密钥,采用广播解密算法对获得的流媒体 数据进行解密。
4. 一种流媒体数据传输的方法,其特征在于,包括流媒体服务器接收到客户端发送的访问流媒体数据的访问请求后,对所述客户端进行 身份认证;当认证通过时,所述流媒体服务器根据与所述客户端对应的密钥,对待传输的流媒体 数据进行加密,并发送加密后的流媒体数据。
5. 如权利要求4所述的方法,其特征在于,所述流媒体服务器对所述客户端进行身份 认证包括所述流媒体服务器接收到访问请求后,向辅助管理平台发送认证请求; 所述辅助管理平台根据所述认证请求,对所述客户端进行身份认证,并向所述流媒体 服务器返回认证结果。
6. 如权利要求4所述的方法,其特征在于,所述对待传输的流媒体数据进行加密包括 生成与所述客户端对应的密钥;利用所述密钥,采用广播加密算法对待传输的流媒体数据进行加密。
7. —种流媒体服务器,其特征在于,包括接收单元,用于接收客户端发送的访问流媒体数据的访问请求; 认证单元,用于对所述客户端进行身份认证;加密单元,用与当认证通过时,根据与所述客户端对应的密钥,对待传输的流媒体数据 进行加密;发送单元,用于发送加密后的流媒体数据。
8. 如权利要求7所述的服务器,其特征在于,所述发送单元,还用于接收到访问请求后,向辅助管理平台发送认证请求; 所述接收单元,还用于接收所述辅助管理平台返回的认证结果。
9. 如权利要求7、或8所述的服务器,其特征在于,还包括生成单元,用于生成与所述客户端对应的密钥。
10.如权利要求7、或8所述的服务器,其特征在于,所述加密单元包括 生成子单元,用于生成与所述客户端对应的密钥;加密子单元,用于利用所述密钥,采用广播加密算法对待传输的流媒体数据进行加密。
全文摘要
本发明公开了一种流媒体数据传输的系统、方法及装置,用以解决现有技术流媒体数据传输过程中,安全认证信令多,且系统开销大的问题。该系统包括流媒体服务器,用于接收到客户端发送的访问流媒体数据的访问请求后,对所述客户端进行身份认证,当认证通过时,根据与所述客户端对应的密钥,对待传输的流媒体数据进行加密,并发送加密后的流媒体数据;客户端,用于向所述流媒体服务器发送访问流媒体数据的访问请求,并对获得的流媒体数据进行解密,得到解密后的流媒体数据。
文档编号H04L9/32GK101702725SQ20091023759
公开日2010年5月5日 申请日期2009年11月12日 优先权日2009年11月12日
发明者尹浩, 张赫 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1