用于确定设备完整性的方法和装置的制作方法

文档序号:7608500阅读:258来源:国知局
专利名称:用于确定设备完整性的方法和装置的制作方法
技术领域
本发明主要涉及无线数据网络,尤其涉及用于动态地确定设备完整性的方法和装置。
背景技术
技术进步已经促成了大量数据网络的发展和应用。这些网络既包括公共数据网络比如因特网,也包括专用网络比如无线电信网络。这些网络的用户具有访问可作为网络资源利用的多样化信息和服务的能力。
在无线网络环境中有一个例子,其中对于网络资源有着越来越多的需求。在无线环境中,多种无线设备,比如无线电话、个人数字助理(PDA)和寻呼设备,通过无线网络进行通信。该无线网络也可以包括可用于向无线设备提供各种网络资源的网络服务器。而且,无线网络也可以耦合到公共网络,比如因特网,从而能够使公共网络上的资源可为无线网络上的无线设备所用。
通常,无线设备可以使用无线网络从网络服务器下载应用程序或多媒体内容。该应用或内容可以免费下载或者由无线设备的用户购买,该用户有效地获得在无限的、固定的或者基于使用次数的有效期限内使用该应用或内容的权利。
遗憾的是,由于访问网络资源的简易和方便,目前存在各种设备完整性问题。例如,在正常的操作和使用期间,对于设备有可能以病毒、蠕虫、错误等形式下载危害设备操作的恶意代码。还有可能的是该设备已经通过下载非法版本,比如使其安全或许可特性无效的非法制造版本,接收了未授权的应用或内容。该设备还可以具有设计为规避网络安全特性的应用或其他软件,由此允许该设备以未授权的方式获得网络服务。
用来解决这些问题的一种解决方案包括使用静态的基于客户机的软件,该软件周期性地“致电本部”以报告该客户机设备的状态。然而,这种静态的基于客户机的软件方式是有缺陷的,因为它们倚赖于静态的基于客户机的代码的完整性。客户机环境可能极为不友好,并且基于客户机的代码可能被进行反向工程和/或被修改为隐藏或忽略任何控告证据或者规避任何有意义的功能。因此,客户机软件的周期性更新形成了部分的解决方案,但是这些更新不可避免地遭受相同的命运。
因此,需要的是一种操作用来检查设备完整性的系统,其中完整性检查是以动态方式进行的,由此防止完整性检查过程被进行反向工程或者被规避。

发明内容
在一个或多个实施方式中,提供了用于执行动态的设备完整性检查的完整性系统。例如,在一个实施方式中,提供了如下机制,该机制执行动态的客户机设备完整性检查,以检测不友好活动的迹象、非法应用或内容的存在、或者与数字内容或应用相关联的权利滥用。在一个实施方式中,由完整性系统提供的机制是动态的,因此极为难以进行反向工程或规避,因为任一这样的攻击必须实时有效地进行。
在一个实施方式中,提供了一种用于在服务器中提供动态的客户机设备完整性检查的方法。该方法包括从一个或多个完整性应用中选择所选完整性应用,其中该所选完整性应用用于生成唯一的预选完整性响应。该方法还包括下载该所选完整性应用用于在该客户机设备上执行,以及接收来自该所选完整性应用的响应。该方法还包括确定该响应是否为该预选完整性响应。
在另一实施方式中,提供了一种用于提供动态的客户机设备完整性检查的装置。该装置包括选择逻辑,该选择逻辑用于从一个或多个完整性应用中选择所选完整性应用,其中该所选完整性应用用于生成唯一的预选完整性响应。该装置还包括发送逻辑,该发送逻辑用于下载该所选完整性应用用于在该客户机设备上执行。该装置还包括接收逻辑,该接收逻辑用于接收来自该所选完整性应用的响应。该装置还包括确定逻辑,该确定逻辑用于确定该响应是否为该预选完整性响应。
在另一实施方式中,提供了一种用于提供动态的客户机设备完整性检查的装置。该装置包括用于从一个或多个完整性应用中选择所选完整性应用的装置,其中该所选完整性应用用于生成唯一的预选完整性响应。该装置还包括用于下载该所选完整性应用以在该客户机设备上执行的装置。该装置还包括用于接收来自该所选完整性应用的响应的装置。该装置还包括用于确定该响应是否为该预选完整性响应的装置。
在另一实施方式中,提供了一种包括以下指令的计算机可读介质,这些指令在由完整性系统中的处理器执行时用于动态地检查设备的完整性。该计算机可读介质包括用于从一个或多个完整性应用中选择所选完整性应用的指令,其中该所选完整性应用用于生成唯一的预选完整性响应。该计算机可读介质还包括用于下载该所选完整性应用以在该客户机设备上执行的指令。该计算机可读介质还包括用于接收来自该所选完整性应用的响应的指令。该计算机可读介质还包括用于确定该响应是否为该预选完整性响应的指令。
在查阅下面所阐述的


、本发明的具体实施方式
和权利要求书之后,本发明的其他方面、优点和特征将变得明显。

通过在与附图相结合时参照如下具体的描述,这里所述实施方式的前述方面和附带优点将变得更为明显,在附图中图1示出了数据网络,该数据网络包括用于检查设备完整性的完整性系统的一个实施方式;图2示出了功能框图,该框示了用于进行动态的设备完整性检查的完整性系统的一个实施方式;以及图3示出了用于操作完整性系统以检查设备完整性的方法的一个实施方式。
具体实施例方式
如下具体描述对进行动态的客户机设备完整性检查的完整性系统进行了描述。在一个实施方式中,为给定的时间段创建了大量唯一和极小的完整性应用。每个应用当在客户机设备上执行时执行稍微不同的完整性检查操作集。这些完整性检查操作的结果回报给中央服务器。在一个实施方式中,当客户机连接到服务器以下载应用或请求其他服务器服务时,服务器选择或下载一个或多个完整性应用。针对这一情况发生的频率以及待下载应用的选择,标准可以包括但不限于客户机硬件的类型、地理位置、载体(carrier)标识符(ID)或客户机行为的统计分析。每个完整性应用检查客户机设备的一个或多个方面,并且创建唯一的响应消息,该响应消息在一个实施方式中被加密、认证并发送到中央服务器。应用接着将其自身从客户机去除。如果响应消息包含控告证据,如果认证失败,或者如果未收到认证或者在截止期间之后收到认证,则服务器可以采取适当的动作。例如,可以限制客户机与服务器的活动。
在一个或多个实施方式中,完整性应用比如通过为设备特定资源提供通用呼叫,来与用来简化客户机操作的在客户机上执行的运行时间环境进行交互。一个这样的运行时间环境是由加利福尼亚州圣地亚哥的QUALCOMM公司开发的用于WirelessTM(BREWTM)软件平台的二进制运行时间环境(Binary Runtime Environment)。在以下描述中,将假定客户机是正在执行运行时间环境比如BREW软件平台的无线设备。然而,在一个或多个实施方式中,完整性应用适合于与其他类型的运行时间环境一起使用,以提供动态的多种有线或无线设备的完整性检查。例如,无线设备可以是任一种无线设备,包括但不限于无线电话、寻呼机、PDA、电子邮件设备、手写式计算机或其他类型的无线设备。
图1示出了数据网络100,该数据网络100包括用于检查设备完整性的完整性系统的一个实施方式。网络100包括经由无线通信信道106与无线数据网络104通信的无线设备102。网络100还包括当局108,该当局108用于向与网络104通信的无线设备102和其他实体提供服务。例如,该当局可以是与电信网络相关联的网络服务器。当局108通过使用可以是有线或无线链路的链路110来与无线网络通信。例如,无线设备102可以是无线电话,而当局108可以是向设备102提供电信服务的全国性电信网络的一部分。
在操作期间,完整性系统用于动态地检查设备102的完整性。例如,在一个实施方式中,当局108用于选择完整性应用112中的一个或多个应用以便通过所示路径114下载到设备102。完整性应用112具有已知的唯一预定义的响应,该响应可以被设置、改变、更新或者另外以随机或周期性的间隔被确定。
一旦完整性应用下载到设备102,它就在该设备上运行以针对一个或多个方面确定该设备的完整性。例如,使用路径114将完整性应用118下载到该设备。在一个实施方式中,完整性应用118运行于正在设备102上执行的运行时间环境(例如BREW运行时间环境)下。在一个实施方式中,完整性应用118在设备102中搜寻已知病毒、蠕虫或其他恶意代码。在另一实施方式中,完整性应用118可以在设备102中搜寻所有权内容,并且当找到这样的内容时,完整性应用118接着检查以确定是否存在用于该内容的正当许可。事实上,完整性应用118可以检查设备102的任一方面,以确定设备102的完整性。
一旦完整性应用118已经确定设备102的完整性,应用118就用于生成通过所示路径116发回到当局108的响应。例如,如果完整性应用118确定设备完整生是可接受的,则预定义的完整性响应由完整性应用118生成并且发送到当局108。该响应也可以包括所发现的关于该设备的任何其他完整性信息。例如,该响应可以包括关于应用、内容的信息或者在设备上找到的其他信息。此外,在一个实施方式中,该响应是实时生成和发送的。如果设备完整性不可接受,则完整性应用118生成发回到当局108的否定响应消息。
在一个实施方式中,如果设备102包括妨碍完整性应用118操作的软件、硬件、软件和硬件的组合或者一些其他代理,则不生成完整性响应。在这一情况下,由于未收到响应,当局108自行假定设备完整性是不可接受的。例如,如果完整性系统在预定的时间间隔内未收到响应,则假定没有发送响应。
在一种情形中,设备102可能含有试图伪造预定义响应消息的代理。然而,由于完整性系统是动态的,并且该响应预期为实时的,所以该代理难以伪造响应。在一个实施方式中,当局108用于随机选择完整性应用用于下载到设备102。这就防止设备102上的代理预见到将进行什么样的完整性检查。在另一实施方式中,当局108用于改变所选完整性应用的预定义完整性响应。例如,当局可以在预定义的响应消息中包括实时指示符或数字签名。因此,即使设备上的代理获悉了在先的预定义完整性响应,将在先响应发送到当局也将造成失败的完整性检查。
完整性应用和/或完整性响应类型的选择能够动态地被调整为随机或周期性地变化,使得操作于该设备上的任一代理无法预先知道预定义的完整性响应。此外,将完整性应用进行反向工程以确定预定义的完整性响应是什么是极为困难的,因为这样的反向工程将不得不实时地完成。结果,极为难以规避完整性系统的操作。
图2示出了功能框图,该框示了用于进行动态的设备完整性检查的完整性系统200的一个实施方式。例如,完整性系统200适合于与当局108一起使用或者作为当局108的一部分,用以检查无线设备102的完整性。
完整性系统200包括耦合到内部数据总线204的处理逻辑202。存储器206、用户接口208和I/O接口210也耦合到内部数据总线204。完整性系统200还包括耦合到处理逻辑202的选择逻辑212和耦合到内部数据总线204的应用存储器214。应用存储器214包括完整性应用集(应用1、应用2、...应用N)。
在一个或多个实施方式中,处理逻辑202包括CPU、门阵列、硬件逻辑、软件或者硬件和软件的任一组合。因此,处理逻辑202一般包括用以执行机器可读指令的逻辑。
存储器206包括RAM、ROM、FLASH、EEROM或任一其他适当类型的存储器或其组合。在一个实施方式中,存储器206位于完整性系统200内部,而在另一实施方式中,存储器206包括可以有选择性地附加到完整性系统200、由此耦合到内部总线204的可移动式存储卡或存储设备。因此,事实上存储器206可以包括能够存储可以由处理逻辑202执行的指令的任一类型的存储器。
用户接口208接收例如来自小键盘、定位设备、触摸板或者其他输入机构的用户输入216,以允许用户与设备102交互。用户接口208也可以耦合到显示设备,比如CRT、LCD、LED或任何其他类型的显示设备,以向用户提供可视显示。任何其他类型的输入或输出设备也可以耦合到用户接口208,比如盘存储器、音频逻辑、视频设备等等。
I/O接口210用于使用通信链路218在完整性系统200与外部设备、系统和/或网络之间发送和接收信息。例如,I/O接口210在完整性系统200与当局108之间提供通信。在另一实施方式中,I/O接口210在完整性系统200与无线网络104之间提供通信,由此允许完整性系统200直接与设备102通信。
在一个实施方式中,I/O接口210包括用于使用通信链路218在无线数据网络上发送和接收信息的无线电收发器电路(未示出)。例如,通信链路218可以是图1中所示的通信链路110。例如,该收发器包括对于从处理逻辑202接收的信息进行调制并且将调制的信息转换成适合于无线发送的高频信号的电路。类似地,该收发器还包括用以将接收的高频通信信号转换成适合于解调以及由处理逻辑202进行后续处理的信号的电路。
在另一实施方式中,I/O接口210包括如下收发器,该收发器用于在硬接线通信链路(比如电话线)或其他类型数据线上发送和接收信息,以与公共数据网络(比如因特网)上的远程系统通信。
在又一实施方式中,I/O接口210包括用于与本地设备(比如本地工作站)通信的电路。I/O接口210还可以包括用于与打印机或其他本地计算机或设备(比如软盘或存储卡)通信的电路(比如串行或并行端口逻辑)。因此,I/O接口210可以包括任何类型的硬件、软件或其组合,用以允许完整性系统200与其他位于本地或远程的设备或系统通信。
在一个实施方式中,选择逻辑212包括CPU、处理器、逻辑、软件或者硬件和软件的任一组合。选择逻辑212经由选择链路220耦合到处理逻辑,并且用于向处理逻辑202提供选择信息。该选择信息标识将要发送到设备102的一个或多个完整性应用(应用1-应用N)。例如,选择逻辑212由处理逻辑202用来确定从应用存储器214取回哪些完整性应用,这些应用接着被发送到设备102。事实上,任何类型的选择处理或过程都能够由选择逻辑212用来选择完整性应用用于发送到该设备。例如,该选择逻辑可以使用时间、位置、随机或周期性的指示符来选择所选的完整性应用用于发送到设备102。
在选择将发送到该设备的完整性应用之后,处理逻辑202用于在该应用中包括基准指示符,该基准指示符是在由该应用生成的预定义响应消息中使用的。例如,该基准指示符可以是时间或日期基准、数字签名或任一其他类型的基准指示符。当应用试图将响应消息发回到完整性系统时,在该响应中使用该基准指示符。这样,完整性系统能使用基准指示符以区分真假响应。例如,伪或假响应将没有正确的基准指示符。
应当注意,完整性系统200的配置仅仅是一个适当的配置。可以在本发明的范围内使用其他配置、功能单元或单元配置来实施完整性系统200。
在完整性系统200的操作期间,处理逻辑202执行存储器206中存储的程序指令以执行这里所述的功能。例如,在一个实施方式中,完整性系统200在处理逻辑202执行存储器206中存储的程序指令时执行所述功能。在另一实施方式中,程序指令存储于计算机可读介质上,比如软盘、CD、存储卡、闪存设备、ROM或任一其他类型的存储设备上。程序指令经由I/O接口210加载到存储器206中。例如,完整性系统200可以经由I/O接口210将程序指令从计算机可读介质下载到存储器206中。
图3示出了用于对完整性系统的一个实施方式(例如完整性系统200)进行操作的方法的一个实施方式300。例如,参照图2中所示的完整性系统200来描述方法300。将假定完整性系统200耦合到数据网络,使得系统200可以与设备例如无线设备102通信。
在方框302,客户机设备登录到当局以从该当局获得服务。例如,该设备登录到该当局以下载应用、多媒体内容或接收某个其他服务。
在方框304,运行在当局上的完整性系统选择完整性应用以下载到该设备。例如,处理逻辑202接收来自选择逻辑212的选择信息,并且该信息用来从存储器214取回一个或多个完整性应用。每个完整性应用用于确定客户机完整性的一方面。例如,一个完整性应用可以确定客户机上是否存在病毒,而另一应用可以确定客户机上是否存在许可的多媒体内容。每个完整性应用具有对于当局是已知的预定义响应消息。
在方框306,完整性系统动态地调整所希望的完整性应用的响应消息。例如,在一个实施方式中,完整性系统将响应消息设置为包括实时基准,例如当前时间、数字签名或某个其他基准指示符。这样,当完整性应用将响应消息发回到当局时,完整性系统就能够检验该实时基准。事实上,任一实时基准或其他校验基准都可以被动态地包含于响应消息中。
在方框308,完整性系统将所选完整性应用下载到该设备。例如,处理逻辑202使用I/O接口210将应用发送到该设备。应用包括动态的基准指示符。
在方框310,所选完整性应用运行于该设备上并且获取完整性信息。例如,所选完整性应用在该设备上执行的运行时间环境下运行。例如,该运行时间环境可以是BREW环境。在操作期间,完整性应用获得与客户机完整性的一个或多个方面有关的信息。例如,应用可以确定设备是否有病毒,或者可以确定设备是否有未经许可的内容。事实上,客户机完整性的任一方面都可以由完整性应用确定。如果应用运行成功,则完整性应用将完整性响应消息发回到当局处的完整性系统。
在方框312,进行测试以确定完整性应用是否已将响应消息发回到完整性系统。例如,在确定客户机设备的完整性之后,完整性应用生成发回到完整性系统的响应消息。该响应消息包括初始由完整性系统提供的实时基准。如果从完整性应用接收到响应,则该方法继续到方框314。如果未接收到响应,则该方法继续到方框316。
在方框314,完整性系统接收从执行于客户机设备上的完整性应用发送的响应消息。完整性系统用于处理该响应消息以确定客户机设备的完整性。例如,该响应消息包括指示该响应来自于所下载的应用的基准指示符。事实上,任一其他信息可以包含于响应消息中以向完整性系统通报客户机设备的完整性。
在方框316,如果从完整性应用没有接收到响应,则完整性系统可以假定该设备已经妨碍完整性程序的操作,结果当局可用于采取恰当的动作。例如,可以限制该设备从当局接收进一步的服务。
已经描述了完整性系统,该完整性系统包括用以动态地检查客户机设备完整性的方法和装置。该系统适合于为所有类型的有线和无线设备提供动态的完整性检查,尤其很好地适合于与移动电话一起使用。
相应地,尽管这里已经图示和描述了用于完整性系统的方法和装置的一个或多个实施方式,但是将理解在不脱离其精神或实质特征的情况下能够对这些实施方式做出各种变化。因此,这里的公开和描述意在说明而非限制在所附权利要求中阐释的本发明的范围。
权利要求
1.一种用于在服务器中提供动态的客户机设备完整性检查的方法,该方法包括从一个或多个完整性应用中选择所选完整性应用,其中该所选完整性应用用于生成唯一的预选完整性响应;下载该所选完整性应用用于在该客户机设备上执行;接收来自该所选完整性应用的响应;以及确定该响应是否为该预选完整性响应。
2.权利要求1的方法,还包括动态地调整该预选完整性响应以包括基准值。
3.权利要求2的方法,其中该基准值是基于时间的基准值。
4.权利要求1的方法,其中该确定步骤包括将该响应匹配于该预选完整性响应。
5.权利要求1的方法,其中该响应包括在可选择的时间段内没有任何响应。
6.权利要求1的方法,其中该选择步骤包括从该一个或多个完整性应用中随机选择该所选完整性应用。
7.权利要求1的方法,其中该选择步骤包括基于设备位置从该一个或多个完整性应用中选择该所选完整性应用。
8.权利要求1的方法,其中该客户机设备是无线设备。
9.一种用于提供动态的设备完整性检查的装置,该装置包括选择逻辑,用于从一个或多个完整性应用中选择所选完整性应用,其中该所选完整性应用用于生成唯一的预选完整性响应;发送逻辑,用于下载该所选完整性应用用于在该设备上执行;接收逻辑,用于接收来自该所选完整性应用的响应;以及确定逻辑,用于确定该响应是否为该预选完整性响应。
10.权利要求9的装置,还包括用以动态地调整该预选完整性响应以包括基准值的逻辑。
11.权利要求10的装置,其中该基准值是基于时间的值。
12.权利要求9的装置,其中该设备是无线设备。
13.一种用于提供动态的设备完整性检查的装置,该装置包括用于从一个或多个完整性应用中选择所选完整性应用的装置,其中该所选完整性应用用于生成唯一的预选完整性响应;用于下载该所选完整性应用以在该设备上执行的装置;用于接收来自该所选完整性应用的响应的装置;以及用于确定该响应是否为该预选完整性响应的装置。
14.权利要求13的装置,还包括用于动态地调整该预选完整性响应以包括基准值的装置。
15.权利要求14的装置,其中该基准值是基于时间的值。
16.权利要求13的装置,其中该设备是无线设备。
17.一种包括以下指令的计算机可读介质,这些指令在由完整性系统中的处理器执行时用于动态地检查设备的完整性,该计算机可读介质包括用于从一个或多个完整性应用中选择所选完整性应用的指令,其中该所选完整性应用用于生成唯一的预选完整性响应;用于下载该所选完整性应用以在该设备上执行的指令;用于接收来自该所选完整性应用的响应的指令;以及用于确定该响应是否为该预选完整性响应的指令。
18.权利要求17的计算机可读介质,还包括用于动态地调整该预选完整性响应以包括基准值的指令。
19.权利要求18的计算机可读介质,其中该基准值是基于时间的值。
20.权利要求17的计算机可读介质,其中该设备是无线设备。
全文摘要
用于确定设备完整性的方法和装置。提供了一种用于在服务器中提供动态的客户机设备完整性检查的方法。该方法包括从一个或多个完整性应用中选择所选完整性应用,其中该所选完整性应用用于生成唯一的预选完整性响应。该方法还包括下载该所选完整性应用用于在该客户机设备上执行,以及接收来自该所选完整性应用的响应。该方法还包括确定该响应是否为该预选完整性响应。
文档编号H04L29/06GK1868153SQ200480029699
公开日2006年11月22日 申请日期2004年8月17日 优先权日2003年9月10日
发明者伊凡·休·麦克莱恩 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1