网络中软件下载的方法和装置的制作方法

文档序号:6476944阅读:203来源:国知局
专利名称:网络中软件下载的方法和装置的制作方法
技术领域
本文提出的实施例总体涉及可以用于为多居住单元(MDU)网络 中的客户端设备提供服务的网关设备,更具体地,涉及在该网络中下 载与网关和客户端设备的操作相关联的文件的机制。
背景技术
己经部署用于提供服务(如卫星电视服务)的系统,该系统釆用 满足单一位置多用户操作(如多居住建筑或者公寓)的需要的结构。 用于安装(如MDU安装)的系统的配置通常包括通过本地网络与中 央设备或者网关设备连接的客户端设备,所述中央设备或者网关设备 与服务提供商的网络相连。
当这些系统包括现场可升级设备或者这些系统指的是现场可升级 系统时,问题可能经常涉及这些系统。具体地,现场可升级系统可以 需要以每单元为基础的运营商干预来发起软件升级。因此,升级所需 的工作量与现场单元的数目成比例。此外,典型的现场可升级系统并 没有提供一种在一个或者更多所选安装处或者在给定安装处的一个或 者更多网关设备处引入高级特征/能力的自动化方法。
另外,在升级网络设备中使用的不同类型文件(例如,可执行文 件、配置文件、密钥文件、等等)的安全性和真实性还可能存在问题。 网关设备可以维持用于在客户端设备重启之后下载至客户端设备的客 户端设备文件的更新目录。每种客户端设备型号的制造商提供可执行 代码文件,其中出于安全目的使用由服务运营商或者制造商生成的密钥来对该可执行代码文件进行签名。 一种处理该问题的方式是使网关 设备维持用于对客户端设备文件进行签名的密钥和算法的列表,或者 等价地维持签名验证例程集合,每种客户端设备型号一个。然而,随 着现场系统中客户端型号和制造商的数目增大,该要求难于管理。此 外,服务运营商和制造商并不愿意释放用于对客户端设备文件进行签 名的密钥或者算法信息。
总而言之,需要一种方法来验证客户端设备文件的数据完整性以
及源(认可(nonrepudiation)),而不招致每型号密钥/算法列表的开销, 假定运营商或者制造商甚至使该信息可用的话。
如果使用公-私钥加密系统来执行签名,则标准方法是网关设备 维持公钥或者X.509设备证书的列表,该列表包含用于对客户端设备 文件进行签名的公钥,或者等价地,网关设备维持包含嵌入式公钥在 内的一个或者更多签名验证功能(每个公/私钥对需要一个签名验证功 能)。同样地,如果使用密钥对客户端设备文件进行签名,则必须提供 嵌入密钥和验证算法的签名验证功能。必须管理这些验证功能并且将 它们应用至相应的客户端型号。
在向系统添加另外的客户端设备型号时,存在其它的问题。现场 网关设备需要管理增长的客户端密钥/验证功能列表并且将它们应用 至相应的客户端设备型号。因此,需要一种供网络中设备使用的改进 的下载文件方法,并且还需要一种供网络中多个设备使用的改进的安 全或认证系统。所公开的实施例处理这些问题当中的一个或者更多个。

发明内容
根据本实施例的方面,公开了一种在网络中从信号源向网关设备
提供数据的方法。根据示例实施例,该方法包括下列步骤接收第一
文件、第一认证元、以及第二认证元,第一认证元对于与网关设备相
关联的客户端设备是唯一的;确定第二认证元对于网关设备是否有效; 以及如果第二认证元对于网关设备有效,则存储针对客户端设备的第 二文件和第一认证元。
根据本实施例的另一方面,公开了一种网关设备。根据示例实施例,该网关设备包括终端,接收包括第一认证元和第二认证元在内 的数据,第一认证元对于与网关设备相关联的客户端设备是唯一的; 处理器,确定第二认证元对于网关设备是否有效;以及存储器,如果 第二认证元对于网关设备有效,则存储针对客户端设备的接收数据部 分和第一认证元。


通过结合附图对本公开实施例的以下描述,本公开内容的上述和 其它特征以及优点、以及获得它们的方式将变得更显而易见,并且将 更好地理解本公开内容,其中
图1是示出了使用本公开的实施例的示例系统的框图; 图2是示出了图1的网关设备之一的相关部分的框图; 图3是示出了图1的网关设备之一的示例实施例的框图; 图4是示出了使用本公开的实施例的示例方法的流程图; 图5示出了使用本公开的实施例的示例方法的图4的流程图的后 续部分;
图6是示出了使用本公开的实施例的示例方法的图5的流程图的
后续部分;以及
图7是示出了使用本公开的实施例的示例数据结构的图。 本文陈述的范例说明了本公开内容的优选实施例,并且不应当将
该范例理解为对本公开的范围有任何形式的限制。
具体实施例方式
描述的实施例主要针对在多居住单元中存在的安装系统。还可以 在使用头端或者网关接口的任何网络信息分发系统中使用并且应用该 实施例,所述头端或者网关接口在数据网络上向客户端设备、机顶盒、 或者接收电路提供内容。例如,可以使用对本领域技术人员众所周知 的技术来将所描述的实施例修改为在飞机或者公共汽车乘客娱乐分发 系统中工作。
现在参见附图,更具体地,参见图l,示出了使用本公开的实施例的示例系统100。如图1所示,示例系统100包括网关设备10、主配线
架(MDF) 20、以及中间配线架(IDF) 30。示例系统100还包括一个 或者更多信号源以及客户端设备(图中未示出)。根据示例实施例,图 l代表可以在使用以太网或者其它类型网络(如同轴电缆、数字订户线 (DSL)、电力线网络、无线技术等)的MDU中部署的典型系统。 在图1中,每一个网关设备10可操作地耦合至诸如卫星的头端、 陆地、线缆、因特网和/或其它类型的广播系统之类的信号源(即,服 务提供商)并与所述信号源通信。根据示例实施例,每一个网关设备 IO从信号源接收包括音频、视频和/或数据内容在内的多个信号,转换 接收到的信号的信号格式,然后基于相应居住单元中的用户作出的请 求,经由MDF20和IDF30通过网络向客户端设备(例如,机顶盒、电 视等等)发送诸如因特网协议(IP)格式之类的格式的恰当数据流。 如现有技术已知的,MDF20和IDF30用作切换和路由设备。在给定的 MDU安装中包括的网关设备IO、 MDF 20和IDF 30的数目可以根据设 计选择而变化。每一个IDF30可以为给定楼层禾n/或MDU的其它限定部 分上存在的客户端设备服务。尽管本文将系统100示出并描述为使用特 定网络格式的以太网网络,然而本领域技术人员将意识到,也可以将 本实施例的原理应用于其它类型的网络(如使用同轴电缆的网络、数 字订户线路(DSL)、电力线网络、禾n/或无线技术)以及多种可能的 网络格式。根据下文将描述的本公开的示例实施例,每一个网关设备 IO操作用于使能以最小运营商干预来下载与网关设备IO和客户端设备
的操作相关联的文件。
重要的是要注意到,多于一个的网关设备10可以连接至相同的系 统服务提供商头端。由于单个网关设备10的大小或者容量的设计限制, 所以可能需要多个网关设备10以便接收和分发来自服务提供商的全部 可用内容。此外,网关设备10可以包括与至MDF20的本地网络连接无 关或者与所述本地网络连接相结合在彼此之间连接和通信的能力。
除了与管理信号源和客户端设备之间的数据相关联的其他功能 之外,网关设备当中的一个或更多可以包括以硬件、软件、固件或 者它们某种组合的形式实现的、用于接收第一文件、第一认证元、以
8及第二认证元的元件,所述第一认证元对于与网关设备相关联的客户
端设备是唯一的。网关设备io当中的一个或更多个还可以包括以硬件、
软件、固件或者它们某种组合的形式实现的、用于确定第二认证元对 于网关设备是否有效元件。如果第二认证元对于网关设备有效,则该 元件还可以用于存储针对客户端设备的数据文件(如可执行程序文件)
和第一认证元。此外,网关设备io当中的一个或更多个可以包括以硬 件、软件、固件或者它们某种组合的形式实现的、用于从网关设备io
向客户端设备当中的一个或更多个发送第一认证元和数据文件的元 件。
参见图2,示出了说明图1的网关设备10之一的相关部分的框图。 图2的网关设备10包括输入/输出(1/0)块12、处理器14以及存储器16。 为了描述清晰,在图2中可以不示出与网关设备10相关联的特定常规元
素,如特定控制信号、电源信号和/或其它元素。
1/O块12操作用于执行网关设备10的I/O功能,包括接收来自信号
源的信号以及接收和发送信号至客户端设备。根据示例实施例,1/0块 12操作用于从诸如卫星、陆地、线缆或者因特网之类的一个或更多信 号源接收诸如模拟和/或数字格式的音频、视频和/或数据信号之类的 信号。1/0块12还操作用于向一个或者更多信号源输出信号。1/0块12 还操作用于通过MDF 20向客户端设备发送信号以及从客户端设备接 收信号。
处理器14操作用于执行网关设备10的不同信号处理和控制功能。 根据示例实施例,处理器14操作用于处理由I/0块2接收到的音频、视 频和/或数据信号,以便将所述信号置于适合向客户端设备发送和由客 户端设备处理的格式。
处理器14还操作用于执行软件代码,该软件代码使得可以以最小 运营商干预来下载与网关设备10和客户端设备的操作相关联的文件。 稍后本文将提供与处理器14这方面及其相关功能相关的其他细节。处 理器14还操作用于执行和/或使能网关设备10的其它功能,包括但不限 于处理经由用户输入设备(图中未示出)做出的用户输入、从存储 器16读取数据以及向存储器16写入数据、以及本领域技术人员已知的
9其它操作。在优选实施例中,处理器14包括能够从I/0块12接收包括第 一文件、第一认证元、以及第二认证元在内的信息的微处理器设备。 处理器14确定该第二认证元对于网关设备是否有效,并且在第二认证 元对于网关设备是有效的情况下提供第一认证元以及与第一文件相关 联的第二文件,以供存储、发送以及稍后由一个或者更多客户端设备 使用。第一文件和第二文件之间的关联可以包括但不限于第一文件 包含标识第二文件的元数据,以及第二文件包含在第一文件内。
存储器16与处理器14可操作地耦合并且存储器16执行网关设备 IO的数据存储功能。根据示例实施例,存储器16可以存储数据,所述
数据包括但不限于包括可执行和配置文件在内的不同类型的文件、
针对网关设备10以及所有关联客户端设备的不同类型的标识信息、以 及本文描述的其它数据。存储器16的至少一部分可以是非易失性的。
网关设备io可以被配置为接收包括多个卫星信号在内的多种不
同类型的广播信号。网关设备10还可以被配置为产生包含以广播信
号形式提供的音频和视频内容在内的多个网络数据信号,以及在将网
关设备10连接至客户端设备的网络上提供该网络数据信号。
现在参见图3,示出了示例卫星网关设备300的框图。卫星网关设 备300与图1所示的网关设备10相似。如图所示,卫星网关设备300包括 电源340、两个前端341a和341b以及后端352。电源340可以是可被配置 为使得前端341a、b以及后端352能够执行下述功能的多个工业标准AC 或者DC电源当中的任意一个。
卫星网关设备300还可以包括两个前端341a、 b。在一个实施例中, 前端341a、 b中的每一个可被配置为接收从l:2分路器(图中未示出) 提供的两个信号。例如,前端341a可以接收来自l:2分路器之一的两个 信号,前端341b可以接收来自第二l:2分路器的两个信号。
然后前端341a、 b可以使用l:4分路器342a、 342b、 342c以及342d 对信号进行进一步的再划分。 一旦被再划分,信号就可以进入四个双 调谐器链路组344a、 344b、 344c以及344d中。组344a至344d中的每一 个双调谐器链路可被配置为调谐至由该独立双调谐器链路接收到的信 号中的两个服务,以产生一个或者更多传输流。双调谐器链路344a、344b、 344c以及344d中的每一个向低电压差分信号传递("LVDS")驱 动器348a、 348b、 348c以及348d之一发送传输流。LVDS驱动器348a 至348d可被配置为放大传输信号以发送至后端352。在备选实施例中, 可以采用不同形式的差分驱动器和/或放大器来代替LVDS驱动器348a 至348d。其它实施例可以采用将所有传输信号串行化在一起路由至后 端352。
如所示的,前端341a、 b还可以包括微处理器346a和346b。在一个 实施例中,微处理器346a、 b控制和/或转发命令至双调谐器链路组344a 至344d以及l:4分路器342a至342d。微处理器346a、 b可以包括例如由 ST微电子生产的ST10微处理器。在其它实施例中,可以使用不同的处 理器或者所述控制可以得自于后端352中的处理器。微处理器346a、 b 可以耦合至LVDS接收器和发送器模块350a和350b。如下面还将描述, LVDS接收器/发送器模块350a、 b便于在双调谐器链路组344a至344d与 后端352上的组件之间传送传输信号。
接下来转到后端352,后端352包括被配置为接收由LVDS驱动器 348a至348d发送的传输流信号的LVDS接收器354a、 354b、 354c以及 354d。后端352还包括被配置为与LVDS接收器/发送器模块350a、 b进 行通信的LVDS接收器/发送器模块356a和356b。
如所示的,LVDS接收器354a至354d以及LVDS接收器/发送器
3556a、 b被配置为与控制器或者传输处理器358a和358b进行通信。在
一个实施例中,传输处理器358a、 b被配置为接收由前端341a、 b中的
双调谐器链路产生的传输流。传输处理器358a、 b还可以被配置为将传
输流重新打包成可以在前述本地网络上组播的因特网协议(IP)分组。
例如,传输处理器358a、b可以将广播协议分组重新打包成IP协议分组,
然后在IP地址上将这些IP分组组播至客户端设备当中的一个或者更多 个。
传输处理器358a、 b还可以耦合至总线362,如,32比特、66MHz 外围设备互连("PCI")总线。通过总线362,传输处理器358a、 b可以 与另一个控制器或者网络处理器370、以太网接口384、和/或扩展插槽 366进行通信。网络处理器370可以被配置为从本地网络接收服务请求
ii并且指导传输处理器358a、 b组播所请求的服务。网络处理器370还可 以管理由客户端设备使用的软件的下载。在一个实施例中,网络处理 器是由Inte性产的IXP425并且执行用于从前端341a、 b接收信息(如数 据)的软件代码。还可以使用以太网接口368或者调制解调器372来实 现数据下载。所述数据可以包括元数据、 一个或者更多可执行文件、 第一认证元和第二认证元。网络处理器370确定第二认证元对于网关设 备是否有效,并且在第二认证元对于网关设备有效的情况下提供第一 认证元和与第一文件相关联的第二文件,以供存储、发送、以及稍后 由一个或者更多客户端设备使用。第一文件和第二文件之间的关联可 以包括但不限于第一文件包含标识第二文件的元数据,以及第一文 件中包含第二文件。尽管没有说明,然而网络处理器370还可以被配置 为向卫星网关设备300的前面板发送状态数据或者支持通过调试端口 对卫星网关设备300进行调试或者监控。
如所示的,传输处理器358a、 b经由总线362耦合至以太网接口 368。在一个实施例中,以太网接口368是向本地网络提供铜线或者光 纤接口的千兆以太网接口。在其它实施例中,可以使用其他接口,如 在数字家庭网络应用中使用的接口。此外,总线362还可以耦合至扩展 插槽,如外围设备互连(PCI)扩展插槽,以使能对卫星网关设备300 的更新或者扩展。
传输处理器358a、 b还可以耦合至主机总线364。在一个实施例中, 主机总线364是将传输处理器358a、b连接至调制解调器372的16比特数 据总线,所述调制解调器372可以被配置为在公共交换电话网络 (PSTN) 28上进行通信。在备选实施例中,调制解调器372还可以耦 合至总线362。
网络处理器370还可以包含用于存储与网关设备300的操作的不 同方面相关的信息的存储器。该存储器可以驻留在网络处理器370中或 者可以是位于外部的(尽管图中未显示)。该存储器可以用于存储状态 信息(如,与定时器和网络公告有关的信息)以及用于接收资源的调 谐信息。
重要的是注意到,传输处理器358a、 b、网络处理器370、以及微
12处理器346a、 b可以包含在一个更大的控制器或者处理单元中,所述更 大的控制器或者处理单元能够执行对于卫星网关设备300的操作而言 必要的控制功能当中的任何或全部。还可以将所述控制功能当中的一 些或全部分发给其它块并且不影响卫星网关设备300中的主要操作。
参见图4至6,示出了说明本公开的示例方法的流程图。为了举例 和解释的目的,将参考图1的系统100和图2中网关设备10的元件来描述 图4至6的方法。应当注意到,可以同样通过图3的网关设备300来描述 图4至6的方法。同样为了举例和解释的目的,仅参考一个网关设备IO 来主要描述图4至6的步骤。然而实际上可以预期的是,在给定的MDU 安装中的每一个网关设备10可以单独地并且独立地执行图4至6的步骤 中的一些或者全部。图4至6的步骤仅是示例性的,并且不旨在以任何 方式限制本公开。
在步骤410,启动自动更新定时器。根据示例实施例,每一个网 关设备10维持自动更新定时器以确定何时开始文件升级过程。如图4 所示,自动更行定时器的到期使定时器在步骤420重新启动。从步骤420 开始,处理流程进行至步骤430,在步骤430文件升级过程开始。
在步骤430,从诸如预定的文件服务器(例如,sftp.mfh3xom等等) 之类的信号源将数据文件下载至网关设备IO。可以由网关设备10的输 入(如1/0 12)来接收所下载的数据文件。接收到的数据文件包含元 数据,该元数据包括对可用于从相同或者不同远程文件服务器下载的 文件的描述。根据示例实施例,所使用的数据文件格式是可扩展标记 语言(XML),尽管还可以使用不同类型的文件格式。XML提供了创 建文档和文档系统的基础。XML在两个主要级别上操作首先,XML 提供用于文档标记的语法;其次,XML提供用于声明文档结构的语法。 最重要地,XML提供了可用于在不同类型的计算机、不同应用以及不 同组织之间共享信息而无需通过很多层转换的基本语法。根据本示例 实施例,在步骤430下载的数据文件中的每一个条目可以包含一个或者 更多XML信息类型。XML信息类型的例子包括文件名、文件版本、文 件大小、文件类型、文件信息以及认证信息(如签名标志)。除了以上 列出的以外,其它文件属性也是可能的。根据示例实施例,XML文件还包含"超控"部分。如本文稍后将解 释的,依赖于由网关设备10存储的特定标识信息,该超控部分允许头 端运营商指定某个网关设备10应当下载特定文件。
从步骤430以及"A"开始,处理流程进行至步骤440,在步骤440网 关设备10解析所下载的数据文件。根据示例实施例,在步骤440,处理 器14解析并且检验数据文件的内容。如上所述,该数据文件包含可用 于下载的文件的描述。例如,这样的文件可以包括针对网关设备10的 可执行文件、针对网关设备10的配置文件、针对网关设备10的密钥文 件、针对一个或者更多客户端设备的可执行文件、和/或其它类型的文 件。本文还可以将可执行文件称作"映像"。在本实施例中可以利用的 XML特定信息如下
文件信息类型由XML标签来指示如下-<tag name>/"/orw<3//ow</tag name> 针对一个文件的完整XML结构是 <Gateway Image=,,X4^,,> <Manufacturer ID=, W,> 〈Model 1。=,窗#">
<Version>##.##.##</Version>
〈Size〉絲將絲/K/Size〉
<Signed>#</Signed〉
<FileType>#</FileType>
<Info></Info>
<Filename>AAA^_####—絲.zip〈/Filename〉 </Modd> </Manufacture> </MFH3>
例如,针对给定型号的客户端设备的文件可以被详细描述如下 <Gateway Image="Client,,> <!— Thomson —> ^Manufacturer ID=,,7d">
14<!— Dili —> <Model ID="000e">
<Version>01.02.03 </Version> <Size>1234567</Size> <Signed>Y</Signed> <FileType〉Zip</FileType> <Info></Info>
<Filename>mid7d—OOOe.01.02.03 .zip</Filename> </Model> </Manufacturer> </Gateway>
可以在概念上认为XML结构是目录结构,该目录结构具有作为目 录名称一部分的属性。换言之,针对上述文件的信息在概念上是在目 录"Gateway: Client / Manufacturer:7d / Model:000e"中。
通过在々Manufacturer〉标签之前添加下列信息来指示针对给定型 号的第二客户端设备的文件
<!-- ClientOl —>
<Model ID="000f ,>
<Version>01.02.03</Version>
<Size>1234567</Size>
<Signed>N</Signed>
<FileType>Bin</FileType>
<Info></Info>
<Filename>mid7d 000f.01.02.03.bin</Filename>
</Model>
该XML文件可以创建"目录"一次。换言之,所有客户端设备条目 可以在标签〈Gateway Image二"Client"〉和标签〈/Gateway〉之间。来自 Thomson的所有客户端映像可以在标签〈Manufacturer 10="7『>和标 签〈/Manufacturer〉之间。
前述"超控"部分的语法如下
15<Override>
<CAM ID="00157卯46168">UseBeta</CAM〉 <CAM ID="00157卯46169">UsePrevious</CAM> <Site ID="Alpha"〉UseAlpha</Site> <Market ID=,,93">UseIndy</Market> </Override>
重要的是注意到,除了包含可用于下载的文件的信息和描述之 外,数据文件还可以包括部分或者全部的可用文件本身。将作为原始 数据文件下载一部分的文件包含在内潜在地消除了附加的下载和通信 步骤。
由"B"所指示,处理流程从步骤440进行至图5的步骤510。在步骤 510,网关设备IO确定针对网关设备IO (如果是网关文件)或者可应用 客户端设备(如果是客户端文件)的市场标识是否与数据文件的超控 部分中的相应条目相匹配。根据示例实施例,处理器14通过将数据文 件的超控部分中的相应条目与存储器16中存储的针对网关设备10或者 可应用客户端设备的市场标识相比较,来执行步骤510。
如果步骤510的确定是否定的,则处理流程进行至步骤520,在步 骤520网关设备10确定针对网关设备10 (如果是网关文件)或者可应用 客户端设备(如果是客户端文件)的地点标识是否与数据文件的超控 部分中的相应条目相匹配。根据示例实施例,处理器14通过将数据文 件的超控部分中的相应条目与存储器16中存储的针对网关设备10或者 可应用客户端设备的地点标识数据相比较,来执行步骤410。
如果步骤520的确定是否定的,则处理流程进行至步骤530,在步 骤530网关设备10确定针对网关设备10 (如果是网关文件)或者可应用 客户端设备(如果是客户端文件)的条件接入模块(CAM)标识是否 与数据文件的超控部分中的相应条目相匹配。根据示例实施例,处理 器14通过将数据文件的超控部分中的相应条目与存储器16中存储的针 对网关设备10或者可应用客户端设备的CAM标识数据相比较,来执行 步骤410。
如果在步骤510、 520或者530的确定是肯定的,则处理流程进行至步骤540,在步骤540处理器14确定网关设备10将使用超控文件信息来从原始数据文件中标识要下载或者要解析的文件版本的名称。艮口,从数据文件的超控部分获得要下载或者解析的文件版本的名称。在上面的例子中,如果在步骤510的确定是肯定的(即,市场标识匹配),则要下载的文件版本的名称是"Uselndy"。类似的,如果在步骤520的确定是肯定的(即,地点标识匹配),则要下载的文件版本的名称是"UseAlpha"。此外,如果在步骤530的确定是肯定的(即,CAM标识匹配),并且网关设备10或者可应用客户端设备的CAM标识是"001579046168",则要下载的文件版本的名称是"UseBeta"。相反地,如果在步骤510、 520以及530当中每个步骤的确定都是否定的,则处理流程进行至步骤550,在步骤550处理器14确定网关设备10将使用默认文件信息来标识要下载的文件版本的名称。在数据文件中还指定了默认文件信息,但是没有在上面清楚地示出该默认文件信息。如果从原始数据文件中解析所标识的可执行文件,则采取类似的步骤。
如"C"所指示的,从步骤540或者步骤550开始,处理流程进行至图6的步骤610。在步骤610确定文件信息(即步骤540的超控信息或者步骤550的默认信息)是否与针对网关设备10或者特定客户端设备的制造商标识以及型号标识相匹配。根据示例实施例,处理器14通过将数据文件的制造商标识和型号标识与存储器16中存储的针对网关设备10
或者特定客户端设备的制造商标识和型号标识相比较,来执行步骤610。
如果在步骤610的确定是肯定的,处理流程进行至步骤620,在步骤620确定网关设备10是否已经存储由超控或者默认信息指定的文件的版本。根据示例实施例,处理器14通过将由超控或者默认信息指定的文件的版本与存储器16中当前存储的文件版本相比较,来执行步骤620。
如果在步骤610的确定是否定的,或者在步骤620的确定是肯定的,则处理流程进行至步骤630,在步骤630确定网关设备10完成对数据文件的解析。根据示例实施例,处理器14通过确定是否已经解析整个数据文件来执行步骤630。如果在步骤630的确定是肯定的,则处理流程进行至步骤640,在步骤640该方法结束。备选地,如果在步骤630 的确定是否定的,则如"A"所指示的,处理流程循环回图4的步骤440,
并且重复前述步骤直到解析了针对所有感兴趣的文件类型的整个数据 文件(即,针对网关设备10以及针对任何关联的客户端设备的文件)为止。
现在回到步骤620,如果在步骤620的确定是否定的,处理流程进 行至步骤650,在步骤650向网关设备10下载新的文件版本,并且在处 理器14的控制下检验附加在新文件版本上的、与网关设备10相关联的 认证元(即,签名)。可以采用类似于步骤430描述的方式来接收新下 载的文件。备选地,在步骤650,如果将文件版本作为原始数据文件的 一部分包括在内并且检验了认证元,则可以从原始数据文件中解析新 的文件版本。在步骤660,处理器14确定与网关设备10相关联的认证元 (即,签名)是否有效。根据示例实施例,处理器14通过使用在存储 器16中存储的、网关设备10的公钥对认证元(即,签名)进行解密以 恢复文件的哈希值,来执行步骤660。然后处理器14计算它自己的该文 件上的哈希值(不包括签名部分)。处理器14不计算它自己的签名部分 上的哈希值,这是由于已经将该部分解密以确定第一哈希值。然后处 理器14比较两个哈希值。如果两个哈希值一致,则认为签名有效。相 反地,如果两个哈希值不一致,认为该签名无效。重要的是注意到可 以完成该认证过程而与可以包含在供客户端设备使用的文件中的认证 元(即,签名)无关并且不改变该认证元(即,签名)。这样,网关设 备10的操作不改变、不影响或不标识客户端认证元的安全性和完整性。
根据示例实施例,针对网关10的下载文件仅包括一个认证元,而 针对客户端设备的下载文件包括两个不同的认证元。在图7中,针对网 关设备10的下载文件的示例数据结构70包括附加于网关文件74的网关 签名72。此外,针对客户端设备的下载文件的示例数据结构80包括附 加于客户端文件84的客户端签名82,并且还包括由网关设备10制造商 或者服务提供商附加于客户端文件84的网关签名72。如上所述,图7 中示出的数据结构代表在下载网关文件和所附网关签名中使用的数据 结构。接收到的网关文件可以包含针对一个或者更多客户端文件的标
18识,所述一个或者更多客户端文件是与所附的客户端签名和网关签名一起在相同步骤或者在单独步骤中下载的。例如当多个客户端设备供应商提供客户端文件和客户端签名时,使用单独的网关文件以标识客户端文件是重要的。
在数据结构80中,不改变客户端签名82和客户端文件84,但是将
它们看作是不透明数据文件,其中不关于所述不透明数据文件的格式或者内容作出任何假设。对客户端签名82和客户端文件84添加网关签
名72代表由网关设备10制造商或者服务提供商作出的额外签名(over-signature)。使用为了供特定网关设备供应商和/或网关设备型号专用而选择的签名密钥来生成该额外签名。根据示例实施例,使用相同的网关签名密钥来对所有客户端设备文件(与制造商或者型号无
关)进行额外签名。当网关设备io接收新的或者更新后的客户端设备
文件时,网关设备10使用网关签名密钥(如果使用公/私加密系统,则为公钥)和/或网关签名验证例程来验证该网关设备的额外签名。根据示例实施例,在图6的步骤660处处理器14仅确定最外层的签名是否有效。即,在步骤660处理器14仅检验网关签名72的有效性。
重要的是注意到可以将图7所示的数据结构合并成单一数据结构中。在合并后的结构的一个实施例中, 一个或者更多独立的客户端设备文件同所附的独立客户端签名一起与网关设备文件相连接。网关签名附加于所连接的结构并充当针对该合并后的结构的额外签名。此处描述的合并结构代表以下数据结构如上所述,在该数据结构中,从下载的文件中解析出客户端文件。对于更有效率地下载,特别是对于涉及来自单一设备制造商的多个客户端设备型号的设备文件下载来说,需要该合并结构。
转回图6,如果在步骤660处的确定是肯定的,则处理流程进行至步骤670,在步骤670在处理器14的控制下在存储器16的非易失性部分中存储新下载的文件版本。在存储器16的非易失性部分中存储新下载的文件版本防止由于例如未预料到的操作中断(如断电)所引起的潜在的网络和设备安全问题。根据示例实施例,当在步骤670存储针对客户端设备的文件版本时,网关设备10丢弃额外签名字节(即,网关签名72),保持原始客户端签名82和客户端文件84完好。网关设备10将该原始签名的客户端文件存储至存储器16的非易失性部分,并且可以稍后在接收到来自客户端设备的重启/文件下载请求之后将该原始签名的客户端文件发送或者下载至一个或者更多客户端设备。如上所述,从步骤670,处理流程进行至步骤630。
上面描述的实施例的一个优点是可以用单一网关签名密钥对所有型号的客户端设备进行额外签名而与制造商无关,从而简化多个型号/制造商的管理,同时保留客户端文件签名所提供的所有安全权益。除了其它特征之外,上面描述的额外签名还允许下列两种签名密钥的
共存供在网关设备10中使用的签名密钥,以及在预期用于客户端设
备的文件被传递至客户端设备时使用的单独签名密钥。
本文描述的实施例涉及以最小运营商干预来自动升级网关设备文件以及客户端设备文件的机制。该机制使用首先从远程文件服务器下载的元数据文件。该元数据文件包含对可用于从相同或者不同远程文件服务器下载的文件的描述。该元数据文件包含许可向所有网关设备全局下载或者基于特定参数(如特定区域、特定地点和/或特定单元)进行有目标下载的信息。
此外,实施例描述了应用的额外签名技术,使得可以验证第三方文件而无需访问或者了解用于对第三方文件进行签名的原始密钥或者算法。额外签名技术极大地简化了对这些映像的管理,同时保留了映像签名所提供的所有安全性权益。额外签名技术可以与本文描述的下载机制一起使用,或者与其它下载控制机制一起使用。
尽管己经将实施例描述为具有优选设计,然而可以在本公开内容的精神和范围内进一步修改本实施例。因此本申请旨在覆盖使用它们的一般原理的实施例的任意变型、使用、或者调整。此外,本申请旨在覆盖属于本公开所属技术领域中并且落入附加权利要求范围内的已知或者惯用手段的与本公开的偏离。
20
权利要求
1、一种方法,包括步骤接收第一文件、第一认证元、以及第二认证元,所述第一认证元对于与网关设备相关联的客户端设备是唯一的(430、650);确定所述第二认证元对于所述网关设备是否有效(660);以及如果所述第二认证元对于所述网关设备是有效的,则存储针对所述客户端设备的第二文件和所述第一认证元(670)。
2、 根据权利要求l所述的方法,还包括从所述网关设备向所述客 户端设备发送所述第一认证元和所述第二文件的步骤。
3、 根据权利要求l所述的方法,其中,所述第一文件的一部分包 含元数据,并且所述第二文件是可执行文件。
4、 根据权利要求l所述的方法,其中,所述第二文件包含在所述 第一文件的一部分中。
5、 根据权利要求l所述的方法,其中,将所述第一认证元和所述 第二认证元附加至所述第二文件。
6、 根据权利要求5所述的方法,其中,在所述第一认证元上签名所述第二认证元,而不改变所述第一认证元。
7、 根据权利要求5所述的方法,其中,由服务提供商以及所述网 关设备(10)的制造商当中的至少一个将所述第二认证元附加至所述 第二文件和所述第一认证元。
8、 根据权利要求l所述的方法,其中,所述确定步骤还包括步骤 确定所述第一文件是否包括与跟所述客户端设备相关联的至少一个相应标识元相匹配的至少一个标识元(510、 520、 530);以及 基于所述确定使用所述第一文件中的信息来标识所述第二文件。
9、 根据权利要求8所述的方法,还包括基于所述标识来接收(650)所述第二文件的步骤。
10、 一种网关设备(10),包括用于接收包括第一文件、第一认证元(82)、以及第二认证元(72) 在内的数据的装置(12),所述第一文件与第二文件(84)相关联,所述第一认证元(82)对于与所述网关设备(10)相关联的客户端设备 是唯一的;用于确定所述第二认证元对于所述网关设备(10)是否有效的装置(14);以及用于在所述第二认证元(72)对于所述网关设备(10)有效的情 况下向所述客户端设备提供(12)所述第一认证元(82)和所述第二 文件(84)的装置(16)。
11、 根据权利要求10所述的网关设备(10),还包括用于在所述 第二认证元(62)对于所述网关设备(10)有效的情况下存储针对所 述客户端设备的第二文件(84)和包括所述第一认证元(82)在内的 接收数据部分的装置。
12、 根据权利要求10所述的网关设备(10),其中,将所述第一 认证元(82)和所述第二认证元(72)附加至所述第二文件(84)。
13、 根据权利要求10所述的网关设备(10),其中,由服务提供 商以及所述网关设备(10)的制造商当中的至少一个将所述第二认证 元(72)附加至所述第二文件(84)和所述第一认证元(82)。
14、 根据权利要求10所述的网关设备(10),其中,用于确定的 所述装置还包括用于确定所述第一文件是否包括与跟所述客户端设备相关联的 至少一个相应标识元相匹配的至少一个标识元(510、 520、 530)的装 置;以及用于基于所述确定使用所述第一文件中的信息来标识所述第二 文件的装置。
15、 一种网关设备(10),包括接收器(12),接收数据,所述数据包括第一认证元(82)以及 第二认证元(72),所述第一认证元(82)对于与所述网关设备(10) 相关联的客户端设备是唯一的;处理器(14),耦合至所述接收器(12),确定所述第二认证元对 于所述网关设备(10)是否有效;以及存储器(16),耦合至所述处理器(14),在所述第二认证元(72)对于所述网关设备(10)是有效的情况下存储针对所述客户端设备的 接收数据部分和所述第一认证元(82)。
16、 根据权利要求15所述的网关设备(10),还包括发送器(12), 耦合至所述处理器,从所述网关设备(10)向所述客户端设备发送所 述第一认证元(82)以及所述接收数据部分(84)。
17、 根据权利要求15所述的网关设备(10),其中,所述数据还 包括包含元数据文件在内的第一文件和作为可执行文件的第二文件(84)。
18、 根据权利要求17所述的网关设备(10),其中,将所述第一 认证元(82)和所述第二认证元(72)附加至所述第二文件(84)。
19、 根据权利要求18所述的网关设备(10),其中,由服务提供 商以及所述网关设备(10)的制造商中的至少一个将所述第二认证元(72)附加至所述第二文件(84)和所述第一认证元(82)。
20、 根据权利要求15所述的网关设备(10),其中,所述处理器 (14)还确定所述第一文件是否包括至少一个标识元,所述至少一个标识元和与所述客户端设备相关联的至少一个相应标识元匹配,并且 所述处理器(14)以所述确定为基础使用所述第一文件中的信息来标 识所述第二文件。
全文摘要
可以以最小运营商干预来下载与网络中的网关和客户端设备的操作相关联的文件。因此,一种方法包括接收包括第一文件、第一认证元、以及第二认证元在内的数据,所述第一认证元对于与所述网关设备相关联的客户端设备是唯一的(430、650)。所述方法还包括确定所述第二认证元对于所述网关设备是否有效(660),并且如果所述第二认证元对于所述网关设备有效,则存储针对所述客户端设备的第二文件和第一认证元(670)。一种装置包括接收器(12),接收数据的;处理器(14),确定第二认证元对于所述网关设备(10)是否有效;以及存储器(16),如果所述第二认证元(72)对于所述网关设备(10)有效,则存储针对所述客户端设备的数据部分和第一认证元(82)。
文档编号G06F9/445GK101681264SQ200880013079
公开日2010年3月24日 申请日期2008年4月16日 优先权日2007年4月23日
发明者凯斯·R·布勒尔曼, 史蒂文·C·罗兹, 阿龙·M·史密斯 申请人:汤姆森许可贸易公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1