具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明超文本传输协议流媒体传输中实现业务保护的方法一个实施例的流程图,如图1所示,该方法可以包括:
步骤101,通过生成的业务密钥对媒体分片进行加密,并根据加密的媒体分片生成该加密的媒体分片对应的媒体描述文件和/或业务指南,该媒体描述文件和/或业务指南包括该业务密钥对应的业务密钥标识和该业务密钥的获取地址。
本实施例中,在通过生成的业务密钥对媒体分片进行加密之前,服务器需要先对媒体文件进行重编码生成媒体分片;为媒体文件生成业务密钥,并为该业务密钥分配业务密钥标识,本实施例中,一个业务密钥对应唯一的业务密钥标识。
另外,服务器可以定时、周期性或根据事件触发为媒体文件生成待更新业务密钥,并为该待更新业务密钥分配待更新业务密钥标识;例如:服务器可以在预定时刻,或者按照预定周期,或者在接收到触发消息之后为媒体文件生成待更新业务密钥,并为该待更新业务密钥分配待更新业务密钥标识。然后,在服务器接收到客户端发送的媒体分片获取请求之后,服务器可以根据该媒体分片获取请求向客户端发送媒体分片获取响应,该媒体分片获取响应携带上述待更新业务密钥标识,以触发客户端根据上述待更新业务密钥标识获得待更新业务密钥。
步骤102,接收到客户端根据该业务密钥的获取地址发送的业务密钥获取请求之后,根据该业务密钥获取请求中携带的业务密钥标识,向客户端发送被通用自启动架构(Generic Bootstrapping Architecture;以下简称:GBA)共享密钥保护的业务密钥。
本实施例中的服务器可以为HTTP Streaming服务器。
上述实施例中,服务器通过业务密钥对媒体分片进行加密,并在加密的媒体分片对应的媒体描述文件和/或业务指南中携带加密的媒体分片采用业务保护的指示信息、业务密钥标识和业务密钥的获取地址,接收到客户端根据该业务密钥的获取地址发送的业务密钥获取请求之后,根据该业务密钥获取请求中携带的业务密钥标识,向客户端发送被GBA共享密钥保护的业务密钥,从而实现了在HTTP Streaming传输方式中,为媒体文件提供业务保护。
图2为本发明超文本传输协议流媒体传输中实现业务保护的方法另一个实施例的流程图,如图2所示,该方法可以包括:
步骤201,客户端从加密的媒体分片对应的媒体描述文件和/或业务指南中,获得加密的媒体分片的业务密钥标识和该业务密钥标识对应的业务密钥的获取地址。
本实施例中,在客户端从加密的媒体分片对应的媒体描述文件和/或业务指南中,获得加密的媒体分片的业务密钥标识和该业务密钥标识对应的业务密钥的获取地址之前,服务器预先对媒体文件进行重编码生成媒体分片,并为媒体文件生成业务密钥,然后为该业务密钥分配业务密钥标识。本实施例中,一个业务密钥对应唯一的业务密钥标识。接下来,服务器通过业务密钥对媒体分片进行加密,并根据加密的媒体分片生成加密的媒体分片对应的媒体描述文件和/或业务指南,该媒体描述文件和/或该业务指南包括上述业务密钥标识和该业务密钥标识对应的业务密钥的获取地址。
本实施例中的服务器可以为HTTP Streaming服务器。
步骤202,客户端根据上述业务密钥标识对应的业务密钥的获取地址,向服务器发送业务密钥获取请求,该业务密钥获取请求包括加密的媒体分片的业务密钥标识。
步骤203,客户端接收服务器根据上述业务密钥标识发送的被GBA共享密钥保护的业务密钥,并通过获得的GBA共享密钥对被GBA共享密钥保护的业务密钥进行解密,获得解密后的业务密钥。
步骤204,客户端根据获得的媒体描述文件中加密的媒体分片的获取地址从服务器获取加密的媒体分片,通过解密后的业务密钥对加密的媒体分片进行解密,获得解密后的媒体分片。
本实施例中,媒体描述文件包括媒体文件的格式、编码、质量等级、时长、媒体分片时长和加密的媒体分片的获取地址等媒体信息。具体地,根据获得的媒体描述文件中加密的媒体分片的获取地址从服务器获取加密的媒体分片可以为:客户端根据获得的媒体描述文件中加密的媒体分片的获取地址向服务器发送媒体分片获取请求,并接收服务器根据该媒体分片获取请求发送的媒体分片获取响应,该媒体分片获取响应携带加密的媒体分片。
另外,服务器可以定时、周期性或根据事件触发为媒体文件生成待更新业务密钥,并为该待更新业务密钥分配待更新业务密钥标识;例如:服务器可以在预定时刻,或者按照预定周期,或者在接收到触发消息之后为媒体文件生成待更新业务密钥,并为该待更新业务密钥分配待更新业务密钥标识。然后,在服务器接收到客户端发送的媒体分片获取请求之后,服务器可以根据该媒体分片获取请求向客户端发送媒体分片获取响应,该媒体分片获取响应携带上述待更新业务密钥标识,从而在客户端接收到服务器发送的媒体分片获取响应之后,客户端可以根据待更新业务密钥标识获得并保存待更新业务密钥。
在本实施例的一种实现方式中,媒体描述文件不仅包括媒体文件的格式、编码、质量等级、时长、媒体分片时长和加密的媒体分片的获取地址等媒体信息,还包括加密的媒体分片采用业务保护的指示信息、加密的媒体分片的业务密钥标识和业务密钥标识对应的业务密钥的获取地址;在获得加密的媒体分片采用业务保护的指示信息、加密的媒体分片的业务密钥标识和业务密钥标识对应的业务密钥的获取地址之前,客户端可以接收并解析业务指南,该业务指南包括媒体描述文件的获取地址;然后,客户端可以根据媒体描述文件的获取地址向服务器发送媒体描述文件获取请求,并接收服务器根据该媒体描述文件获取请求发送的媒体描述文件,该媒体描述文件还包括自启动功能(Bootstrapping Function;以下简称:BSF)地址。
在根据服务器发送的进行业务注册时需要GBA共享密钥进行完整性保护的指示信息,确定进行业务注册时需要GBA共享密钥进行完整性保护,并且确定GBA共享密钥不存在,或者存在的GBA共享密钥过期之后,客户端可以根据BSF地址与服务器进行GBA过程,获得GBA共享密钥。其中,服务器向客户端发送进行业务注册时需要GBA共享密钥进行完整性保护的指示信息可以为:服务器接收到客户端发送的未使用GBA共享密钥进行完整性保护的业务注册请求之后,服务器向客户端发送业务注册响应,该业务注册响应携带验证失败的指示信息,以指示客户端进行业务注册时需要GBA共享密钥进行完整性保护;以上仅为服务器向客户端发送进行业务注册时需要GBA共享密钥进行完整性保护的指示信息的一种示例,本发明实施例并不仅限于此,本发明实施例对服务器向客户端发送进行业务注册时需要GBA共享密钥进行完整性保护的指示信息的实现方式不作限定。
另外,在媒体描述文件中还可以包括业务保护的注册地址,获得GBA共享密钥之后,客户端可以根据业务保护的注册地址向服务器发送业务注册请求,该业务注册请求通过GBA共享密钥进行完整性保护。
服务器收到客户端的业务注册请求之后,对客户端的业务注册请求进行业务注册;这里是对客户端进行验证,验证客户端是否有收看该业务的权利,如果该业务是按包年包月的销售模式,就检查客户端是否订阅了该业务,订阅是否过期;如果该业务是按次消费的模式,就检查客户端是否订购了该节目,是否还在本次可用范围内。
验证完成,服务器向客户端返回业务注册响应,该业务注册响应中包含验证结果的状态码;如果验证通过,状态码为OK,后面可携带业务列表,指示该客户端可用的业务;如果验证不通过,服务器给出验证失败的状态码,并可以针对不同的失败原因给出不同的状态码。
本实施例中,如果商业模式支持,可能可以省略业务注册模式。例如:网络运营商或平台运营商开展的HTTP Streaming业务,默认合法用户都可以接入HTTP Streaming业务,这时可以省略业务注册的步骤,只需要在接入网络或接入平台时通过验证即可;或者,业务验证步骤也可以和其他的网络接入验证或平台接入验证一起进行。
在本实施例的另一种实现方式中,业务指南中不仅可以包括加密的媒体分片采用业务保护的指示信息、加密的媒体分片的业务密钥标识和业务密钥标识对应的业务密钥的获取地址;还可以包括BSF地址;客户端接收到业务指南之后,对该业务指南进行解析,即可获得上述信息。
在根据服务器发送的获得媒体描述文件时需要GBA共享密钥进行完整性保护的指示信息,确定获得媒体描述文件时需要GBA共享密钥进行完整性保护,并且确定GBA共享密钥不存在,或者存在的GBA共享密钥过期之后,客户端可以根据BSF地址与服务器进行GBA过程,获得GBA共享密钥。其中,服务器向客户端发送获得媒体描述文件时需要GBA共享密钥进行完整性保护的指示信息可以为:服务器接收到客户端发送的未使用GBA共享密钥进行完整性保护的媒体描述文件获取请求之后,服务器向客户端发送媒体描述文件获取响应,该媒体描述文件获取响应携带获得媒体描述文件时需要GBA共享密钥进行完整性保护的指示信息,以指示客户端获得媒体描述文件时需要GBA共享密钥进行完整性保护;以上仅为服务器向客户端发送获得媒体描述文件时需要GBA共享密钥进行完整性保护的指示信息的一种示例,本发明实施例并不仅限于此,本发明实施例对服务器向客户端发送获得媒体描述文件时需要GBA共享密钥进行完整性保护的指示信息的实现方式不作限定。
另外,在上述业务指南中还可以包括媒体描述文件的获取地址,获得GBA共享密钥之后,客户端可以根据上述媒体描述文件的获取地址向服务器发送媒体描述文件获取请求,该媒体描述文件获取请求通过GBA共享密钥进行完整性保护;然后,客户端可以接收服务器根据上述媒体描述文件获取请求发送的媒体描述文件获取响应,该媒体描述文件获取响应携带媒体描述文件,该媒体描述文件获取响应通过GBA共享密钥保护进行完整性保护。
上述业务指南中还可以包括业务保护的注册地址,获得媒体描述文件之后,客户端可以根据该业务保护的注册地址向服务器发送业务注册请求,该业务注册请求同样可以通过GBA共享密钥进行完整性保护,后续过程如前所述,在此不再赘述。
上述实施例中,客户端在获得媒体分片之前,先从服务器获得被GBA共享密钥保护的业务密钥,然后通过该GBA共享密钥对上述业务密钥进行解密,最后客户端可以通过解密后的业务密钥对加密的媒体分片进行解密,获得解密后的媒体分片;本发明实施例实现了在HTTP Streaming传输方式中,为媒体文件提供业务保护。
图3为本发明超文本传输协议流媒体传输中实现业务保护的方法再一个实施例的流程图,本实施例中,运营商提供基于HTTP Streaming技术的在线视频业务,用户可以通过电脑、手机或电视访问并消费在线视频业务;本实施例假设运营商准备提供电影《阿凡达》的在线视频业务,用户可以按次收费的方式,收看电影《阿凡达》。
如图3所示,该超文本传输协议流媒体传输中实现业务保护的方法可以包括:
步骤301,服务器获取原始的媒体文件,并对该媒体文件进行重编码生成媒体分片。
具体地,服务器可以获得电影《阿凡达》的原始拷贝,并将电影《阿凡达》按照2秒的时间间隔或其他设定的时间间隔生成媒体分片。
步骤302,服务器为上述媒体文件生成业务密钥,并为该业务密钥分配业务密钥标识。
具体地,服务器为电影《阿凡达》生成一个业务密钥,并为该业务密钥分配业务密钥标识;本实施例中,一个业务密钥对应唯一的业务密钥标识。
步骤303,服务器通过上述业务密钥对媒体分片进行加密,并对加密的媒体分片进行封装。
具体地,服务器可以通过业务密钥对媒体分片进行加密,然后服务器可以使用第三代合作伙伴计划(3rd Generation Partnership Project;以下简称:3GPP)格式对加密的媒体分片进行封装。
步骤304,服务器根据加密的媒体分片生成该加密的媒体分片对应的媒体展现描述,该媒体展现描述包括业务密钥标识和上述业务密钥的获取地址,还可以包括加密的媒体分片采用业务保护的指示信息。
本实施例中,媒体展现描述即为媒体描述文件。
本实施例中的服务器可以为HTTP Streaming服务器。
上述实施例,服务器通过业务密钥对媒体分片进行加密,并在加密的媒体分片对应的媒体描述文件中携带业务密钥标识和业务密钥的获取地址,从而实现了在HTTP Streaming传输方式中,为媒体文件提供业务保护。
图4为本发明超文本传输协议流媒体传输中实现业务保护的方法又一个实施例的流程图,如图4所示,该超文本传输协议流媒体传输中实现业务保护的方法可以包括:
步骤401,客户端开机,启动。
步骤402,客户端接收并解析业务指南,获得节目信息。
步骤403,通过浏览业务指南,客户端选择点播电影《阿凡达》。
上述业务指南中给出了电影《阿凡达》的接入方式为HTTP Streaming传输方式,以及电影《阿凡达》对应的媒体展现描述的获取地址。
本实施例中的媒体展现描述即为媒体描述文件。
步骤404,客户端根据上述媒体展现描述的获取地址向服务器发送媒体展现描述获取请求,并接收服务器根据该媒体展现描述获取请求发送的媒体展现描述。
本实施例中,媒体展现描述除了给出加密的媒体分片采用业务保护的指示信息、加密的媒体分片的业务密钥标识和该业务密钥标识对应的业务密钥的获取地址之外,还给出了BSF地址。
步骤405,客户端根据服务器发送的进行业务注册时需要GBA共享密钥进行完整性保护的指示信息,确定进行业务注册时需要GBA共享密钥进行完整性保护。其中,服务器向客户端发送进行业务注册时需要GBA共享密钥进行完整性保护的指示信息的实现方式请参照本发明图2所示实施例提供的方式,在此不再赘述。
步骤406,客户端判断GBA共享密钥是否存在;如果存在,则执行步骤407;如果GBA共享密钥不存在,则执行步骤408。
步骤407,客户端判断存在的GBA共享密钥是否过期;如果存在的GBA共享密钥过期,则执行步骤408;如果存在的GBA共享密钥未过期,则执行步骤409。
步骤408,客户端根据BSF地址与服务器进行GBA过程,获得GBA共享密钥。
这时,客户端与服务器可以共享上述GBA共享密钥。
步骤409,客户端根据媒体展现描述中业务保护的注册地址进行业务注册。
具体地,客户端可以根据上述业务保护的注册地址向服务器发送业务注册请求,该业务注册请求通过GBA共享密钥进行完整性保护。
服务器收到客户端的业务注册请求之后,对客户端的业务注册请求进行业务注册;这里是对客户端进行验证,验证客户端是否有收看该业务的权利,如果该业务是按包年包月的销售模式,就检查客户端是否订阅了该业务,订阅是否过期;如果该业务是按次消费的模式,就检查客户端是否订购了该节目,是否还在本次可用范围内。
验证完成,服务器向客户端返回业务注册响应,该业务注册响应中包含验证结果的状态码;如果验证通过,状态码为OK,后面可携带业务列表,指示该客户端可用的业务;如果验证不通过,服务器给出验证失败的状态码,并可以针对不同的失败原因给出不同的状态码。
步骤410,验证通过之后,客户端根据媒体展现描述中业务密钥标识对应的业务密钥的获取地址,向服务器发送业务密钥获取请求,该业务密钥获取请求包括加密的媒体分片的业务密钥标识。
步骤411,客户端接收服务器根据上述业务密钥标识发送的被GBA共享密钥保护的业务密钥。
步骤412,客户端通过获得的GBA共享密钥对上述被GBA共享密钥保护的业务密钥进行解密,获得解密后的业务密钥。
步骤413,客户端根据媒体展现描述中加密的媒体分片的获取地址从服务器获取加密的媒体分片。
具体地,客户端可以根据获得的媒体展现描述中加密的媒体分片的获取地址向服务器发送媒体分片获取请求,并接收服务器根据该媒体分片获取请求发送的媒体分片获取响应,该媒体分片获取响应携带加密的媒体分片。
步骤414,客户端通过解密后的业务密钥对加密的媒体分片进行解密,获得解密后的媒体分片。
步骤415,客户端播放解密后的媒体分片。
本实施例中的服务器可以为HTTP Streaming服务器。
上述实施例中,客户端在获得媒体分片之前,先从服务器获得被GBA共享密钥保护的业务密钥,然后通过该GBA共享密钥对上述业务密钥进行解密,最后客户端可以通过解密后的业务密钥对加密的媒体分片进行解密,获得解密后的媒体分片;本发明实施例实现了在HTTP Streaming传输方式中,为媒体文件提供业务保护。
图5为本发明超文本传输协议流媒体传输中实现业务保护的方法又一个实施例的流程图,本实施例中,运营商提供基于HTTP Streaming技术的在线视频业务,用户可以通过电脑、手机或电视访问并消费在线视频业务;本实施例假设运营商准备提供电影《阿凡达》的在线视频业务,用户可以按次收费的方式,收看电影《阿凡达》。
如图5所示,该超文本传输协议流媒体传输中实现业务保护的方法可以包括:
步骤501,服务器获取原始的媒体文件,并对该媒体文件进行重编码生成媒体分片。
具体地,服务器可以获得电影《阿凡达》的原始拷贝,并将电影《阿凡达》按照2秒的时间间隔生成媒体分片。
步骤502,服务器为上述媒体文件生成业务密钥,并为该业务密钥分配业务密钥标识。
具体地,服务器可以为电影《阿凡达》生成一个业务密钥,并为该业务密钥分配业务密钥标识;本实施例中,一个业务密钥对应唯一的业务密钥标识。
步骤503,服务器通过上述业务密钥对媒体分片进行加密,并对加密的媒体分片进行封装。
具体地,服务器可以通过业务密钥对媒体分片进行加密,然后服务器可以使用3GPP格式对加密的媒体分片进行封装。
步骤504,服务器根据加密的媒体分片生成该加密的媒体分片对应的业务指南和媒体展现描述,该业务指南包括业务密钥标识和业务密钥的获取地址,还可以包括加密的媒体分片采用业务保护的指示信息。
本实施例中,媒体展现描述即为媒体描述文件。
本实施例中的服务器可以为HTTP Streaming服务器。
上述实施例,服务器通过业务密钥对媒体分片进行加密,并在加密的媒体分片对应的业务指南中携带业务密钥标识和业务密钥的获取地址,从而实现了在HTTP Streaming传输方式中,为媒体文件提供业务保护。
图6为本发明超文本传输协议流媒体传输中实现业务保护的方法又一个实施例的流程图,如图6所示,该超文本传输协议流媒体传输中实现业务保护的方法可以包括:
步骤601,客户端开机,启动。
步骤602,客户端接收并解析业务指南,获得节目信息。
步骤603,通过浏览业务指南,客户端选择点播电影《阿凡达》。
上述业务指南中给出了电影《阿凡达》的接入方式为HTTP Streaming传输方式,以及电影《阿凡达》对应的媒体展现描述的获取地址;该业务指南还包括加密的媒体分片采用业务保护的指示信息、业务密钥标识、业务密钥的获取地址、业务保护的注册地址和BSF地址。
本实施例中的媒体展现描述即为媒体描述文件。
步骤604,客户端根据服务器发送的获得媒体展现描述时需要GBA共享密钥进行完整性保护的指示信息,确定获得媒体展现描述时需要GBA共享密钥进行完整性保护。其中,服务器向客户端发送获得媒体展现描述时需要GBA共享密钥进行完整性保护的指示信息的实现方式请参照本发明图2所示实施例提供的方式,在此不再赘述。
步骤605,客户端判断GBA共享密钥是否存在;如果存在,则执行步骤606;如果GBA共享密钥不存在,则执行步骤607。
步骤606,客户端判断存在的GBA共享密钥是否过期;如果存在的GBA共享密钥过期,则执行步骤607;如果存在的GBA共享密钥未过期,则执行步骤608。
步骤607,客户端根据BSF地址与服务器进行GBA过程,获得GBA共享密钥。
这时,客户端与服务器可以共享上述GBA共享密钥。
步骤608,客户端根据业务指南中媒体展现描述的获取地址向服务器发送媒体展现描述获取请求,该媒体展现描述获取请求通过GBA共享密钥进行完整性保护。
步骤609,客户端接收服务器根据上述媒体展现描述获取请求发送的媒体展现描述获取响应,该媒体展现描述获取响应携带媒体展现描述,该媒体展现描述获取响应通过GBA共享密钥进行完整性保护。
步骤610,客户端根据业务指南中业务保护的注册地址进行业务注册。
具体的注册过程与本发明图4所示实施例步骤409描述的过程相同,在此不再赘述。
步骤611,验证通过之后,客户端根据业务指南中业务密钥标识对应的业务密钥的获取地址,向服务器发送业务密钥获取请求,该业务密钥获取请求包括加密的媒体分片的业务密钥标识。
步骤612,客户端接收服务器根据上述业务密钥标识发送的被GBA共享密钥保护的业务密钥。
步骤613,客户端通过获得的GBA共享密钥对上述被GBA共享密钥保护的业务密钥进行解密,获得解密后的业务密钥。
步骤614,客户端根据媒体展现描述中加密的媒体分片的获取地址从服务器获取加密的媒体分片。
具体地,客户端可以根据获得的媒体展现描述中加密的媒体分片的获取地址向服务器发送媒体分片获取请求,并接收服务器根据该媒体分片获取请求发送的媒体分片获取响应,该媒体分片获取响应携带加密的媒体分片。
步骤615,客户端通过解密后的业务密钥对加密的媒体分片进行解密,获得解密后的媒体分片。
步骤616,客户端播放解密后的媒体分片。
本实施例中的服务器可以为HTTP Streaming服务器。
上述实施例中,客户端在获得媒体分片之前,先从服务器获得被GBA共享密钥保护的业务密钥,然后通过该GBA共享密钥对上述业务密钥进行解密,最后客户端可以通过解密后的业务密钥对加密的媒体分片进行解密,获得解密后的媒体分片;本发明实施例实现了在HTTP Streaming传输方式中,为媒体文件提供业务保护。
图7为本发明超文本传输协议流媒体传输中实现业务保护的方法又一个实施例的流程图,本实施例中假设运营商准备提供英超直播的视频业务,签约的用户可以以包月的方式,收看英超足球联赛的现场直播。
如图7所示,该超文本传输协议流媒体传输中实现业务保护的方法可以包括:
步骤701,服务器接收直播节目,获取直播的媒体流,并对该媒体流进行重编码生成媒体分片。
具体地,服务器可以获得英超足球联赛现场直播的媒体流,将该媒体流按照2秒的时间间隔生成媒体分片。
步骤702,服务器为上述媒体流生成业务密钥,并为该业务密钥分配业务密钥标识。
具体地,服务器可以为英超足球联赛现场直播的媒体流每月生成一个业务密钥,并为该业务密钥分配业务密钥标识;本实施例中,一个业务密钥对应唯一的业务密钥标识。
并且,本实施例中,服务器每月进行业务密钥更新。
步骤703,服务器通过上述业务密钥对媒体分片进行加密,并对加密的媒体分片进行封装。
具体地,服务器可以通过业务密钥对媒体分片进行加密,然后服务器可以使用3GPP格式对加密的媒体分片进行封装。
步骤704,服务器根据加密的媒体分片生成该加密的媒体分片对应的媒体展现描述,该媒体展现描述包括业务密钥标识和业务密钥的获取地址,还可以包括加密的媒体分片采用业务保护的指示信息。
本实施例中,由于英超足球联赛是现场直播的节目,因此服务器会定时或周期性生成新的媒体展现描述,更新时刻或更新周期会在媒体展现描述中给出,以便客户端根据给出的更新时刻或更新周期,向服务器获取新的媒体展现描述。
步骤705,服务器根据加密的媒体分片生成该加密的媒体分片对应的业务指南,该业务指南包括加密的媒体分片采用业务保护的指示信息、业务密钥标识、业务密钥的获取地址、业务保护的注册地址和媒体展现描述的获取地址。
本实施例中,媒体展现描述即为媒体描述文件。
本实施例中的服务器可以为HTTP Streaming服务器。
上述实施例,服务器通过业务密钥对媒体分片进行加密,并在加密的媒体分片对应的业务指南和媒体展现描述中携带业务密钥标识和业务密钥的获取地址,从而实现了在HTTP Streaming传输方式中,为媒体文件提供业务保护。
图8为本发明超文本传输协议流媒体传输中实现业务保护的方法又一个实施例的流程图,如图8所示,该超文本传输协议流媒体传输中实现业务保护的方法可以包括:
步骤801,客户端开机,启动。
步骤802,客户端接收并解析业务指南,获得节目信息。
本实施例中,该业务指南包括加密的媒体分片采用业务保护的指示信息、业务密钥标识、业务密钥的获取地址、业务保护的注册地址和媒体展现描述的获取地址。
本实施例中的媒体展现描述即为媒体描述文件。
步骤803,客户端根据服务器发送的进行业务注册时需要GBA共享密钥进行完整性保护的指示信息,确定进行业务注册时需要GBA共享密钥进行完整性保护。其中,服务器向客户端发送进行业务注册时需要GBA共享密钥进行完整性保护的指示信息的实现方式请参照本发明图2所示实施例提供的方式,在此不再赘述。
步骤804,客户端判断GBA共享密钥是否存在;如果存在,则执行步骤805;如果GBA共享密钥不存在,则执行步骤806。
步骤805,客户端判断存在的GBA共享密钥是否过期;如果存在的GBA共享密钥过期,则执行步骤806;如果存在的GBA共享密钥未过期,则执行步骤807。
步骤806,客户端根据BSF地址与服务器进行GBA过程,获得GBA共享密钥。
这时,客户端与服务器可以共享上述GBA共享密钥。
步骤807,客户端根据业务指南中业务保护的注册地址进行业务注册。
具体的注册过程与本发明图4所示实施例步骤409描述的过程相同,在此不再赘述。
步骤808,验证通过后,客户端选择收看英超足球联赛的现场直播节目。
步骤809,客户端根据业务指南中媒体展现描述的获取地址向服务器发送媒体展现描述获取请求,并接收服务器根据该媒体展现描述获取请求发送的媒体展现描述获取响应,该媒体展现描述获取响应携带媒体展现描述。
本实施例中,媒体展现描述给出了加密的媒体分片的获取地址。
步骤810,客户端根据业务指南中业务密钥标识对应的业务密钥的获取地址,向服务器发送业务密钥获取请求,该业务密钥获取请求包括加密的媒体分片的业务密钥标识。
步骤811,客户端接收服务器根据上述业务密钥标识发送的被GBA共享密钥保护的业务密钥。
步骤812,客户端通过获得的GBA共享密钥对上述被GBA共享密钥保护的业务密钥进行解密,获得解密后的业务密钥。
步骤813,客户端根据媒体展现描述中加密的媒体分片的获取地址从服务器获取加密的媒体分片。
具体地,客户端可以根据媒体展现描述中加密的媒体分片的获取地址向服务器发送媒体分片获取请求,并接收服务器根据该媒体分片获取请求发送的媒体分片获取响应,该媒体分片获取响应携带加密的媒体分片。
步骤814,客户端通过解密后的业务密钥对加密的媒体分片进行解密,获得解密后的媒体分片。
步骤815,客户端播放解密后的媒体分片。
本实施例中的服务器可以为HTTP Streaming服务器。
本实施例中,由于英超足球联赛是现场直播的节目,因此服务器会定时或周期性生成新的媒体展现描述,更新时刻或更新周期会在媒体展现描述中给出,从而客户端可以根据给出的更新时刻或更新周期,向服务器获取新的媒体展现描述。
上述实施例中,客户端在获得媒体分片之前,先从服务器获得被GBA共享密钥保护的业务密钥,然后通过该GBA共享密钥对上述业务密钥进行解密,最后客户端可以通过解密后的业务密钥对加密的媒体分片进行解密,获得解密后的媒体分片;本发明实施例实现了在HTTP Streaming传输方式中,为媒体文件提供业务保护。
对于HTTP Streaming的直播场景,由于业务密钥会定期更新,如果在业务密钥更换过程中,用户正在收看直播节目,没有及时更新媒体展现描述,因此没有及时获得最新的业务密钥,这样可能会导致客户端接收到媒体分片之后,不能解密该媒体分片,需要临时获取新的业务密钥,造成收视停顿,延时等不良效果。
因此,本发明实施例针对现场直播场景,提供了一种业务密钥更新方法。
图9为本发明业务密钥更新方法一个实施例的流程图,如图9所示,该业务密钥更新方法可以包括:
步骤901,服务器定时、周期性或根据事件触发为媒体文件生成待更新业务密钥,并为该待更新业务密钥分配待更新业务密钥标识。
例如:服务器可以在预定时刻,或者按照预定周期,或者在接收到触发消息之后为媒体文件生成待更新业务密钥,并为该待更新业务密钥分配待更新业务密钥标识。
步骤902,服务器接收客户端发送的媒体分片获取请求。
步骤903,服务器根据该媒体分片获取请求向客户端发送媒体分片获取响应,该媒体分片获取响应携带上述待更新业务密钥标识。
步骤904,客户端根据上述待更新业务密钥标识向服务器发送业务密钥获取请求,以请求待更新业务密钥。
步骤905,客户端接收并保存服务器发送的与上述待更新业务密钥标识对应的待更新业务密钥。
确定待更新业务密钥生效之后,服务器使用更新后的业务密钥加密媒体分片,客户端使用更新后的业务密钥解密媒体分片。
本实施例中,确定待更新业务密钥生效可以为:服务器在生成待更新业务密钥时设置待更新业务密钥的生效时间,在到达该生效时间之后,服务器和客户端确定该待更新业务密钥生效。当然本发明实施例并不仅限于此,还可采用其他方式确定待更新业务密钥生效,只要服务器和客户端约定好即可。本发明实施例对此不做限定。
需要说明的是,本实施例中,在待更新的业务密钥生效之前,服务器仍使用更新前的业务密钥加密媒体分片,客户端仍可以使用更新前的业务密钥对媒体分片进行解密。
本实施例中的服务器可以为HTTP Streaming服务器。
上述实施例实现了客户端可以及时获得更新后的业务密钥,可以保证收视流畅,减小了延时,避免了收视停顿。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
图10为本发明超文本传输协议流媒体传输中实现业务保护的服务器一个实施例的结构示意图,本实施例中的服务器可以实现本发明图1所示实施例的流程。如图10所示,该服务器可以包括:加密模块1001、生成模块1002、接收模块1003和发送模块1004。
其中,加密模块1001,用于通过生成的业务密钥对媒体分片进行加密;
生成模块1002,用于根据加密模块1001加密的媒体分片生成加密的媒体分片对应的媒体描述文件和/或业务指南,该媒体描述文件和/或业务指南包括上述业务密钥对应的业务密钥标识和上述业务密钥的获取地址;
接收模块1003,用于接收客户端根据业务密钥的获取地址发送的业务密钥获取请求;
发送模块1004,用于在接收模块1003接收到客户端根据业务密钥的获取地址发送的业务密钥获取请求之后,根据该业务密钥获取请求中携带的业务密钥标识,向客户端发送被GBA共享密钥保护的业务密钥。
本实施例中的服务器可以为HTTP Streaming服务器。
上述服务器中,加密模块1001通过业务密钥对媒体分片进行加密,并在生成模块1002生成的该加密的媒体分片对应的媒体描述文件和/或业务指南中携带加密的媒体分片采用业务保护的指示信息、业务密钥标识和业务密钥的获取地址,接收模块1003接收到客户端根据该业务密钥的获取地址发送的业务密钥获取请求之后,发送模块1004根据该业务密钥获取请求中携带的业务密钥标识,向客户端发送被GBA共享密钥保护的业务密钥,从而实现了在HTTP Streaming传输方式中,为媒体文件提供业务保护。
图11为本发明超文本传输协议流媒体传输中实现业务保护的服务器另一个实施例的结构示意图,与图10所示的服务器相比,不同之处在于,图11所示的服务器还可以进一步包括:媒体分片生成模块1005、业务密钥生成模块1006和标识分配模块1007。
其中,媒体分片生成模块1005,用于对媒体文件进行重编码生成媒体分片;
业务密钥生成模块1006,用于为该媒体文件生成业务密钥;
标识分配模块1007,用于为业务密钥生成模块1006生成的业务密钥分配业务密钥标识。
本实施例中,业务密钥生成模块1006还可以定时、周期性或根据事件触发为媒体文件生成待更新业务密钥;标识分配模块1007还可以为待更新业务密钥分配待更新业务密钥标识;接收模块1003还可以接收客户端发送的媒体分片获取请求;发送模块1004还可以在接收模块1003接收到客户端发送的媒体分片获取请求之后,根据该媒体分片获取请求向客户端发送媒体分片获取响应,该媒体分片获取响应携带待更新业务密钥标识,以触发客户端根据待更新业务密钥标识获得待更新业务密钥。
上述服务器实现了在HTTP Streaming传输方式中,为媒体文件提供业务保护。
图12为本发明超文本传输协议流媒体传输中实现业务保护的客户端一个实施例的结构示意图,本实施例中的客户端可以实现本发明图2所示实施例的流程,如图12所示,该客户端可以包括:获得模块1201、请求发送模块1202、密钥接收模块1203、解密模块1204和媒体分片获得模块1205;
其中,获得模块1201,用于从加密的媒体分片对应的媒体描述文件和/或业务指南中,获得该加密的媒体分片的业务密钥标识和该业务密钥标识对应的业务密钥的获取地址;
请求发送模块1202,用于根据获得模块1201获得的业务密钥标识对应的业务密钥的获取地址,向服务器发送业务密钥获取请求,该业务密钥获取请求包括加密的媒体分片的业务密钥标识;
密钥接收模块1203,用于接收服务器根据请求发送模块1202发送的业务密钥标识发送的被GBA共享密钥保护的业务密钥;
解密模块1204,用于通过获得的GBA共享密钥对上述被GBA共享密钥保护的业务密钥进行解密,获得解密后的业务密钥;
媒体分片获得模块1205,用于根据获得的媒体描述文件中加密的媒体分片的获取地址从服务器获取加密的媒体分片,通过解密模块1204获得的解密后的业务密钥对加密的媒体分片进行解密,获得解密后的媒体分片。
本实施例中的服务器可以为HTTP Streaming服务器。
上述客户端在获得媒体分片之前,先从服务器获得被GBA共享密钥保护的业务密钥,然后通过该GBA共享密钥对上述业务密钥进行解密,最后该客户端可以通过解密后的业务密钥对加密的媒体分片进行解密,获得解密后的媒体分片;本发明实施例实现了在HTTP Streaming传输方式中,为媒体文件提供业务保护。
图13为本发明超文本传输协议流媒体传输中实现业务保护的客户端另一个实施例的结构示意图,与图12所示的客户端相比,不同之处在于,图13所示的客户端还可以包括:业务指南接收模块1206、业务指南解析模块1207和媒体描述文件获得模块1208、确定模块1209、共享密钥获得模块1210和业务注册模块1211;
其中,业务指南接收模块1206,用于接收业务指南;
业务指南解析模块1207,用于解析业务指南接收模块1206接收的业务指南,该业务指南包括媒体描述文件的获取地址;
媒体描述文件获得模块1208,用于根据媒体描述文件的获取地址向服务器发送媒体描述文件获取请求,接收该服务器根据媒体描述文件获取请求发送的媒体描述文件,该媒体描述文件包括加密的媒体分片的业务密钥标识和该业务密钥标识对应的业务密钥的获取地址,该媒体描述文件还包括BSF地址和业务保护的注册地址;
确定模块1209,用于根据服务器发送的进行业务注册时需要GBA共享密钥进行完整性保护的指示信息,确定进行业务注册时需要GBA共享密钥进行完整性保护,并确定该GBA共享密钥不存在,或者存在的GBA共享密钥过期;
共享密钥获得模块1210,用于在确定模块1209确定GBA共享密钥不存在,或者存在的GBA共享密钥过期之后,根据BSF地址与服务器进行GBA过程,获得GBA共享密钥。
业务注册模块1211,用于根据媒体描述文件中业务保护的注册地址向服务器发送业务注册请求,该业务注册请求通过上述GBA共享密钥进行完整性保护,后续业务注册过程可以参见本发明图4所示实施例步骤409的描述,在此不再赘述。
另外,本实施例中,业务指南解析模块1207解析的业务指南还包括加密的媒体分片的业务密钥标识和该业务密钥标识对应的业务密钥的获取地址;该业务指南还包括BSF地址;
确定模块1209还可以根据服务器发送的获得媒体描述文件时需要GBA共享密钥进行完整性保护的指示信息,确定获得媒体描述文件时需要GBA共享密钥进行完整性保护,并确定该GBA共享密钥不存在,或者存在的GBA共享密钥过期;这时,共享密钥获得模块1210同样可以在确定模块1209确定GBA共享密钥不存在,或者存在的GBA共享密钥过期之后,根据BSF地址与服务器进行GBA过程,获得GBA共享密钥。
该客户端还可以包括:媒体描述文件接收模块1212;
其中,请求发送模块1202还可以根据业务指南中媒体描述文件的获取地址向服务器发送媒体描述文件获取请求,该媒体描述文件获取请求通过上述GBA共享密钥进行完整性保护;
媒体描述文件接收模块1212,用于接收服务器根据请求发送模块1202发送的媒体描述文件获取请求发送的媒体描述文件获取响应,该媒体描述文件获取响应携带媒体描述文件,该媒体描述文件获取响应通过GBA共享密钥进行完整性保护。
本实施例中,媒体分片获得模块1205可以根据获得的媒体描述文件中加密的媒体分片的获取地址向服务器发送媒体分片获取请求,并接收服务器根据该媒体分片获取请求发送的媒体分片获取响应,该媒体分片获取响应携带加密的媒体分片。
另外,该媒体分片获取响应还可以携带待更新业务密钥标识,该客户端还可以包括:业务密钥更新模块1213,用于根据媒体分片获取响应中的待更新业务密钥标识,获得并保存待更新业务密钥;该待更新业务密钥是由服务器定时、周期性或根据事件触发为媒体文件生成的,待更新业务密钥标识是服务器为生成的待更新业务密钥分配的。
上述客户端在获得媒体分片之前,先从服务器获得被GBA共享密钥保护的业务密钥,然后通过该GBA共享密钥对上述业务密钥进行解密,最后该客户端可以通过解密后的业务密钥对加密的媒体分片进行解密,获得解密后的媒体分片;本发明实施例实现了在HTTP Streaming传输方式中,为媒体文件提供业务保护。
图14为本发明超文本传输协议流媒体传输中实现业务保护的系统一个实施例的结构示意图,如图14所示,该系统可以包括:服务器1401和客户端1402;
其中,服务器1401,用于通过生成的业务密钥对媒体分片进行加密,并根据加密的媒体分片生成该加密的媒体分片对应的媒体描述文件和/或业务指南,该媒体描述文件和/或业务指南包括上述业务密钥对应的业务密钥标识和上述业务密钥的获取地址;具体地,服务器1401可以通过本发明图10或图11所示的超文本传输协议流媒体传输中实现业务保护的服务器实现;
客户端1402,用于从加密的媒体分片对应的媒体描述文件和/或业务指南中,获得加密的媒体分片的业务密钥标识和该业务密钥标识对应的业务密钥的获取地址;根据该业务密钥标识对应的业务密钥的获取地址,向服务器1401发送业务密钥获取请求,该业务密钥获取请求包括加密的媒体分片的业务密钥标识;接收服务器1401根据业务密钥标识发送的被GBA共享密钥保护的业务密钥,并通过获得的GBA共享密钥对被GBA共享密钥保护的业务密钥进行解密,获得解密后的业务密钥;根据获得的媒体描述文件中加密的媒体分片的获取地址从服务器1401获取加密的媒体分片,通过解密后的业务密钥对加密的媒体分片进行解密,获得解密后的媒体分片。具体地,客户端1402可以通过本发明图12或图13所示的超文本传输协议流媒体传输中实现业务保护的客户端实现。
上述实施例中,服务器1401通过生成的业务密钥对媒体分片进行加密,客户端1402在获得媒体分片之前,先从服务器1401获得被GBA共享密钥保护的业务密钥,然后通过该GBA共享密钥对上述业务密钥进行解密,最后客户端1402可以通过解密后的业务密钥对加密的媒体分片进行解密,获得解密后的媒体分片;本发明实施例实现了在HTTP Streaming传输方式中,为媒体文件提供业务保护。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。