为应用程序提供保密的系统和方法

文档序号:7620149阅读:146来源:国知局
专利名称:为应用程序提供保密的系统和方法
技术领域
本发明涉及电子保密领域,尤其涉及面向应用程序的保密模型。
背景技术
随着个人和企业越来越依赖于使用电子计算设备,日渐需要为电子应用程序和它们的数据提供保密。计算设备的用户必须对他们的私人数据不会暴露给其它未经授权的个人或组织感到自信。此外,电子服务的提供商必须也对结合他们的服务使用的应用程序不会被来自其它提供商的其它应用程序所破坏而感到自信。这种破坏会导致差的服务质量或完全不能提供服务,从而为消费者带来不便并且玷污了服务提供商的名誉。
在传统的台式计算环境中,大多数应用程序或者由单个开发者提供、或者被特别设计成与来自其它开发者的应用程序合作。例如,在台式环境中,诸如字处理器、电子数据表、电子邮件应用程序以及互联网浏览器这样的公共应用程序通常由单个开发者设计。此外,即使由不同的开发者设计,一般相互信任台式应用程序会彼此有效地工作。因而,台式保密性问题一般主要集中在访问系统的未受信用户、而非系统内未受信的应用程序。这样,台式保密性系统一般调用面向用户的保密模型。
在示例性的台式保密模型中,每个用户或每一组用户都有一个相应的保密账户。当用户登录到计算设备上或计算设备的网络上时,用户输入一密码以验证其身份。然后为用户生成一标记,该标记包括用户相应的账户和特权。特权是账户执行各种系统相关操作的权利,例如关闭系统、加载设备驱动程序以及改变系统时间。图1示出一种示例性的现有技术标记100。标记100包括用户账户条目102和群组账户列表104,所述用户账户条目102包括用户的账户,所述群组账户列表104包括用户作为其成员的每个群组的账户。标记100也包括特权列表106,该列表列出了每个用户的相关特权。
标记用来确定它相应的用户是否被授权访问系统内的保密对象。特别是,系统内的每个保密对象都有一任意访问控制列表(DACL),该列表标识了每个账户对于保密对象的访问权利。DACL有多个条目,称为访问控制条目(ACE),每个访问控制条目都指定了一特定账户的访问权利。图2示出一示例性的现有技术DACL210。DACL 210包括ACE 212-216。用户标记100和101都尝试再次访问保密对象200。用户标记100被拒绝访问保密对象200,因为如ACE 212所示,安德鲁不能访问保密对象200。标记100被拒绝的访问由图2所示的虚线表示。相反,用户标记101被许可访问保密对象200,因为如ACE 214所示,群组A能对保密对象200进行写访问。
不像台式计算机,便携式计算设备一般包括来自多个不同服务提供商的多个不同的应用程序,所述便携式计算设备比如蜂窝电话和个人数据助理(PDA)。例如,一个蜂窝电话可能包括来自电话服务提供商、软件提供商以及向雇员分发该电话的公司等等的应用程序。服务提供商和公司会关注允许未受信的应用程序在其网络上或与其企业系统相连的设备上执行。因此,如上所述的面向用户的保密模型对于便携式设备不理想,因为面向用户的保密模型不能必要的保护一个应用程序及其数据不受系统上运行的其它应用程序的干扰。因而,本领域中需要一种有效的面向应用程序的保密模型。本发明满足了这些及其它需求。

发明内容
本发明针对用于向应用程序提供保密性的系统和方法。在执行应用程序以前,基于与应用程序相关联的验证信息来验证该应用程序。验证信息可以是例如数字签名。一旦验证了应用程序,就检取与该应用程序相关联的保密信息。保密信息可以包括一特权列表,该列表标识了应用程序被授权访问的全局资源。保密信息也可以包括与该应用程序相关的基本账户。保密信息还可以包括应用程序作为其成员的账户群组的列表。一旦被标识,保密信息就包括为该应用程序生成的标记内。然后装入应用程序并附加其相应的标记。
按照本发明一方面,所附加的标记可用来确定应用程序是否被授权访问系统上的资源。在接收到访问资源的请求后,检验标记内的特权列表。如果所选的资源包括在特权列表内,则应用程序被授权访问该资源。
按照本发明另一方面,所附加的标记可用来确定应用程序是否被授权访问系统上的保密对象。在接收到访问该对象的请求后,检取标记内的基本账户和一列群组账户。接着相对于对象的访问控制列表而参照所检取的账户,以确定应用程序是否被授权访问该对象。
从参照附图描述的以下说明性实施例的详细描述中,本发明的其它特征和优点将变得更为明显。


在参照附图阅读了以下详细描述后,将能更好地理解说明性的实施例,图中图1描述了一现有技术用户标记;图2描述了一现有技术任意访问控制列表;图3描述了按照本发明的示例性应用程序标记;图4是按照本发明、用于向应用程序提供保密的示例性系统的框图;图5是按照本发明、用于向应用程序提供保密的示例性方法的流程图;图6是按照本发明、用于授权应用程序访问资源的示例性方法的流程图;图7是按照本发明、用于授权应用程序访问保密对象的示例性方法的流程图;图8是表示一示例性网络环境的框图,所述环境具有其中能实现本发明的多种计算设备;以及图9是表示其中能实现本发明的示例性计算设备的框图。
具体实施例方式
本发明的主题特别依照规定的要求来描述。然而,描述本身不是为了限制该专利的范围。发明人而是构想到,所要求保护的主题也可以以其它方式体现,以便结合其它现有的或将来的技术、包括与该文献中所述的动作或元件不同的动作或相似的元件。
如上所述,本发明提供了一种面向应用程序的保密模型,而非面向用户的保密模型。因此,本发明适用于、但不限于便携式计算设备上的嵌入式系统,例如蜂窝电话和个人数据助理(PDA)。这种设备趋于表征来自多个不同提供商的多个不同应用程序。按照本发明,系统内每个参与的应用程序都被分配到一基本保密账户。基本保密账户类似于面向对象模型中的单独用户账户。此外,恰如单独用户可能是多个群组账户的成员那样,各个应用程序可能时一个或多个群组账户的成员。
在执行前,使用与应用程序相关联的验证信息来验证应用程序。一旦被验证,就生成应用程序标记并将其附加到应用程序。然后用所附加的标记装入应用程序。标记具有应用程序的保密信息,所述保密信息可以包括应用程序的相应账户和特权。在面向应用程序的环境中,特权就是应用程序访问全局资源的权利,比如访问网络、访问磁盘驱动器等等。图3示出按照本发明的示例性应用程序标记300。标记300包括基本账户条目302和一列群组账户304,条目302包括应用程序的基本账户,列表304包括应用程序作为其成员的每个群组的账户。标记300也包括一特权列表306,列表306列出了每个账户的相关特权。标记300用于为其相应的应用程序提供保密,下面将详述。
图4示出按照本发明、用于向应用程序提供保密的示例性系统的框图。一般而言,证书存储器410保存了签字当局的证书,用于验证应用程序的身份。账户数据库412保存保密信息,所述保密信息可以包括一列应用程序以及它们相应的基本账户、群组账户和特权。账户数据库服务器414提供到账户数据库412的接口。标记生成器416产生包括账户数据库412中保存的应用程序保密信息在内的应用程序标记。保密加载程序418把标记附加到它们相应的应用程序。
图5示出按照本发明、用于向应用程序提供保密的示例性方法的流程图。在步骤510,接收到执行应用程序的请求。在步骤512,在执行应用程序前,基于与应用程序相关联的验证信息来验证应用程序的身份。例如,应用程序可能有相关的数字签名。标记生成器416可以从应用程序检取数字签名,并且也从证书存储器410检取相应的数字证书。数字证书来自经授权的证书当局,并且用来验证数字签名。
在步骤514,标记生成器416检取应用程序的相应保密信息。保密信息可以经由账户数据库服务器414从账户数据库412检取。如上所述,保密信息可以包括基本账户、群组账户列表以及相关的特权列表。在步骤516,生成应用程序标记。应用程序标记包括应用程序的相应保密信息。在步骤518,保密加载程序418把标记附加到应用程序。在步骤520,应用程序用其附加的标记来装入。
应该理解,系统内的所有应用程序无需具有特定的相应标记,并且无需不必要地使用图4的方法。例如,如果正在执行的应用程序是在模块部份中,则可以生成一缺省标记并将其分配给该应用程序。缺省标记可以包括例如与系统级保密群组相对应的群组账户。
图6示出按照本发明、用于授权应用程序访问资源的示例性方法的流程图。在步骤610,接收到使应用程序访问全局资源的请求。例如,如果应用程序在蜂窝电话上执行,应用程序可能尝试访问所连接的电话网络。在步骤612,检取应用程序的相应标记。
在步骤614,检验标记中所包括的特权列表以确定它是否列出应用程序正尝试访问的资源。如果资源包括在特权列表中,则授权该应用程序访问该资源,并且在步骤616,许可应用程序访问该资源。如果资源未包括在特权列表中,则应用程序不被授权访问该资源,并且在步骤618,拒绝应用程序访问该资源。
图7示出按照本发明、用于授权应用程序访问保密对象的示例性方法的流程图。在步骤710,接收到使应用程序访问保密对象的请求。例如,互联网浏览器应用程序可能希望访问包含所保存密码的文件,所述文件是一保密对象。在步骤712,检取应用程序的相应标记。
在步骤714,标识了标记中列出的账户。如上所述,标记可能包括一基本账户以及应用程序作为其成员的一列群组账户。在步骤716,相对于保密对象的访问控制列表而索引标记中列出的账户,以确定账户是否被授权访问保密对象。保密对象的访问控制列表可以是一任意访问控制列表(DACL),该列表具有多个条目,称为访问控制条目(ACE),每个访问控制条目都指定了一特定账户的访问权利。
如果账户被索引作为访问控制列表中的授权账户,则在步骤718,许可应用程序访问该保密对象。如果账户未被索引作为访问控制列表中的授权账户,则在步骤720,拒绝应用程序访问保密对象。
本发明可以使一个应用程序模仿另一应用程序的保密证书。当服务器应用程序必须在允许客户机访问保密对象前确认客户机的访问权利时,该模仿过程特别有用。为了能进行模仿,服务器可以生成一模仿标记,该模仿标记模仿了客户机的保密证书。模仿标记内的账户被标识、并且相对于保密对象的访问控制列表被索引,如上参照图7所述。
本发明也能相对于应用程序标记而使用多个功能。这种功能可能类似于一功能子集,该子集相对于台式保密系统内生成的用户标记是可用的。这种功能可以包括例如、但不限于改变标记中的群组账户信息、启用或禁用在访问标记的特权列表内的所选特权、以及创建一新标记,该新标记是现有标记的受限形式。
从上面清楚可见,本发明各个系统、方法和方面的全部或部份可以体现在硬件、软件或两者的组合当中。在体现在软件中时,本发明的方法和装置、或其特定点方面或部份可以以程序代码(即指令)的形式体现。该程序代码可以被保存在计算机可读媒质上,比如磁性、电学或光学存储媒质,包括但不限于软盘、CD-ROM、CD-RW、DVD-ROM、DVD-RAM、磁带、闪存、硬盘驱动器或任何其它机器可读存储媒质,其中在程序代码被加载到机器内并由机器执行时,所述机器比如计算机或服务器,机器成为实现本发明的装置。程序代码在其上执行的计算机一般会包括处理器、处理器可读的存储媒质(包括易失性和非易失性的存储器和/或存储元件)、至少一个输入设备以及至少一个输出设备。程序代码可以用高级的面向过程或面向对象的编程语言来实现。或者,程序代码可以用汇编语言或机器语言来实现。在任一情况下,语言都可以是一经编译和解译的语言。
本发明的形式也可以是通过某一传输媒质发送的程序代码,比如通过电线或电缆、通过光纤、通过网络(包括局域网、广域网、互联网或企业内联网)、或通过任何其它形式的传输,其中当接收到程序代码并将其加载到机器并由机器执行时,所述机器比如计算机,机器就成为实现本发明的装置。
当在通用处理器上实现时,程序代码可以与处理器结合以便提供与特定逻辑电路类似操作的唯一装置。
此外,本发明可以结合任何计算机或其它客户机或服务器设备而实现,后者可以被用作计算机网络的一部分,或者用于分布式计算环境中。在这点上,本发明涉及任一计算机系统或环境,所述系统或环境具有任何数量的存储器或存储单元、以及出现在任何数量的存储单元或卷标上的任何数量的应用程序和进程,按照本发明,所述进程可以和数据库存储器中的永久对象进行结合使用。本发明可应用于这样的环境其中网络环境或分布式计算环境中部署的服务器计算机和客户机计算机具有远程或本地存储。本发明也可以应用于单独的计算设备,该设备具有用于结合远程或本地设备生成、接收和发送信息的编程语言功能、解译和执行能力。
分布式计算便于通过在计算设备和系统间的交换来共享计算机资源和服务。这些资源和服务包括、但不限于信息交换、高速缓存存储以及文件的磁盘存储。分布式计算利用网络连接、使客户机能调节它们总体功率以便有益于整个企业。在这点上,多种设备可能有含有结合本发明的对象保留方法而执行的处理在内的应用程序、对象或资源。
图8提供了一示例性联网或分布式计算环境的示意图。分布式计算环境包括计算对象10a、10b等等以及计算对象或设备110a、110b、110c等等。这些对象可以包括程序、方法、数据存储、可编程逻辑等等。对象可以包括相同或不同设备的各部份,所述设备比如PDA、电视、MP3播放器、个人电脑等等。每个对象可以通过通信网络14与另一对象通信。该网络自身可以包括向图8的系统提供服务的其它计算对象和计算设备,并且自身表示了多个互连网络。按照本发明一方面,各个对象10a、10b等或110a、110b、110c等可以包含一应用程序,该应用程序利用API或其它对象、软件、固件和/或硬件来请求使用实现本发明的对象保留方法所用的进程。
还可以理解,诸如110c这样的对象可以宿主在另一计算设备10a、10b等或110a、110b等上。因此,尽管所述的物理环境可能把连接的设备示出为计算机,然而这种说明仅仅是示例性的,物理环境也可以被描述为包括诸如PDA、电视、MP3播放器这样的各种数字设备、诸如接口、COM对象这样的软件对象等等。
存在多种支持分布式计算环境的系统、组件和网络配置。例如,计算系统可以通过有线或无线系统、通过本地网络或广泛分布的网络连在一起。目前,许多网络耦合到互联网,互联网提供了用于广泛分布计算的基础设施并且包含许多不同的网络。任一基础设施都可以用于与本发明相关联的示例性通信。
互联网通常是指使用TCP/IP协议包的网络和网关的总称,这使计算机联网领域中公知的。TCP/IP是“传输控制协议/互联网协议”的首字母缩写。互联网可以被描述为由通过执行联网协议的计算机互连的地理上分布的远程计算机网络组成的系统,该系统使用户能通过网络互相作用并共享信息。由于这种分布广泛的信息共享,因此互联网这样的远程网络一般已发展成一种开放式系统,开发者可以为该开放式系统设计用于执行专用操作或服务的软件应用程序,基本上没有任何限制。
因此,网络基础设施能成为网络拓扑逻辑的宿主,所述拓扑逻辑比如客户机/服务器、点对点、或混合结构。“客户机”是一个类或组的成员,它使用不相关的另一个类或组的服务。因此,在计算时,客户机是一进程,即基本上是请求另一程序所提供的服务的一组指令或认为。客户机进程使用所请求的服务,而无需“知道”与其它程序或服务自身有关的任何工作细节。在客户机/服务器结构中,特别是一联网系统,客户机通常是访问由另一计算机(比如服务器)所提供的共享网络资源的计算机。在图8的例子中,计算机110a、110b等等可以被认为是客户机,计算机10a、10b等等可以被认为是服务器,然而根据环境,任一计算机都可以被认为是客户机、服务器或两者。这些计算设备的任一个都可以以包含本发明对象保留技术的方式来处理数据。
服务器一般是可通过远程或本地网络(比如互联网)访问的远程计算机系统。客户机进程可能在第一计算机系统中是活动的,服务器进程可能在第二计算机系统中是活动的,通过通信媒质彼此通信,从而提供了分布式的功能并且使多个客户机能利用服务器的信息收集能力。依照本发明的保留机制使用的任何软件对象都可以分布在多个计算设备间。
客户机和服务器可以使用协议层所提供的功能彼此进行通信。例如,超文本传输协议(HTTP)是与万维网(WWW)即“Web”结合使用的公共协议。一般而言,像互联网协议(IP)地址这样的计算机网络地址或者像通用资源定位符(URL)这样的其它索引可以用来标识服务器或客户机计算机。网络地址可以被称为URL地址。通信可以通过任何可用的通信媒质来提供。
这样,图8说明了其中可采用本发明的示例性的联网或分布式环境,其中服务器经由网络/总线与客户机计算机通信。网络/总线14可以是局域网、广域网、企业内联网、互联网或者某些其它网络媒质,按照本发明,所述网络具有多个客户机或远程计算设备110a、110b、110c、110d、110e等等,比如便携式计算机、手提电脑、瘦客户机、联网设备,或者包括其它设备,比如VCR、TV、烤箱、灯、加热器等等。因此构想到,本发明可应用于期望维持持久对象的任何计算设备。
在通信网络/总线14为互联网的网络环境中,例如,服务器10a、10b等可以是这样的服务器客户机110a、110b、110c、110d、110e等等经由多个公知协议的任一个(比如HTTP)而与所述服务器通信。服务器10a、10b等也可以充当客户机110a、110b、110c、110d、110e等等,这正是分布式计算环境的特征。
通信可以根据需要是有线的或无线的。客户机设备110a、110b、110c、110d、110e等等可能或可能不经由通信网络/总线14进行通信,并且可能有与之相关联的独立通信。例如,在TV或VCR的情况下,可能有或可能没有用于控制的联网方面。每个客户机计算机110a、110b、110c、110d、110e等以及服务器计算机10a、10b等都可以装备有各种应用程序模块或对象135,并且连接或访问各种类型的存储元件或对象,文件或数据流可以被保存在所述存储元件或对象上,或者可以把文件或数据流的部份下载、发送到所述存储元件或对象上或从中消除。任一计算机10a、10b、110a、110b等都可能负责对用于保存按照本发明处理的数据的数据库、存储器或其它存储元件20进行维护和更新。因此,本发明可用于计算网络环境中,所述环境具有能访问计算机网络/总线14并与之交互的客户机计算机110a、110b等、还具有能与客户机计算机110a、110b等及其它类似设备交互的服务器计算机10a、10b、还具有数据库20。
图8和以下描述为适当的计算设备提供了简要的描述,结合该适当计算设备能实现本发明。例如,图8所示的任一个客户机或服务器计算机或设备都可采取该形式。然而应该理解,构想到本发明可使用所有类型的手提、便携式及其它计算设备和计算对象,即可以在计算环境中生成、处理、接收和/或发送数据的任何位置。虽然下面描述了一种通用计算机,但这仅仅是一个例子,本发明可以用具有网络/总线交互性和交互操作的瘦客户机来实现。因此,本发明可以在由联网宿主服务组成的环境中实现,其中包含了极少的或最少的客户机资源,所述环境例如其中客户机设备仅充当到网络/总线的接口的环境,比如位于设备上的对象。实质上,保存数据或从中检取数据或将数据发送到另一计算机的任何位置都是用于本发明对象保留方法的操作的期望的或适当的环境。
尽管不要求,然而本发明可以经由服务开发者为设备或对象使用的操作系统来实现,以及/或者被包括在按照本发明操作的应用程序或服务器软件内。软件可以用计算机可执行指令的一般上下文来描述,比如由一个或多个计算机执行的程序模块,所述计算机比如客户机工作站、服务器或其它设备。一般而言,程序模块包括执行特定的任务或实现特定的抽象数据类型的例程、程序、对象、组件、数据结构等等。一般而言,程序模块的功能可以根据需要在各个实施例中被组合或分布。此外,本发明可以用其它计算机系统配置和协议来实现。适用于本发明的其它公知计算系统、环境和/或配置包括但不限于个人电脑(PC)、自动售货机、服务器计算机、手提或膝上型设备、微处理器系统、基于微处理器的系统、可编程消费者电子设备、网络PC、设备、灯、环境控制元件、微型计算机、大型计算机等等。
因此,图9说明了其中可实现本发明的适当计算系统环境100的例子,然而上面已清楚说明,计算系统环境100仅仅是适当计算环境的一个例子,并且不对本发明的用途或功能范围作出任何限制。计算环境100也不应被解释为与示例性操作环境100中所示任一个组件或组件组合有任何相关性或相关要求。
参照图9,一种用于实现本发明的示例性系统包括以计算机110为形式的通用计算设备。计算机10的组件可以包括、但不限于处理单元120、系统内存130以及把包括系统内存在内的各个系统组件耦合到处理单元120的系统总线121。系统总线121可以是多种类型总线结构的任一种,包括内存总线或内存控制器、外围设备总线、及使用任一多种总线结构的本地总线。通过示例但非限制,这种结构包括工业标准结构(ISA)总线、微通道结构(MCA)总线、增强型ISA(EISA)总线、视频电子标准联盟(VESA)本地总线、及外围组件互连(PCI)总线(也称为Mezzanine总线)。
计算机110一般包括各种计算机可读媒质。计算机可读媒质可以是能由计算机110访问的任何可用媒质并包括易失性和非易失性的媒质、可移动和不可移动媒质。通过示例但非限制,计算机可读媒质可以包括计算机存储媒质和通信媒质。计算机存储媒质包括易失性和非易失性、可移动和不可移动媒质,它们以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据这样的信息的任意方法或技术来实现。计算机存储媒质包括、但不限于RAM、ROM、EEPROM、闪存或其它存储技术、CDROM、数字化通用光盘(DVD)或其它光盘存储器、磁带盒、磁带、磁盘存储器或其它磁性存储设备、或用于存储期望信息并能由计算机110访问的任意其它媒质。通信媒质一般在诸如载波或其它传输机制这样的已调数据信号中包含计算机可读指令、数据结构、程序模块或其它数据,并且包括任意信息传递媒质。术语“已调数据信号”意指其一个或多个特性以对信号内信息进行编码的方式被设置或改变的信号。通过示例但非限制,通信媒质包括诸如有线网络或直接线连接这样的有线媒质、以及诸如声音、RF、红外这样的无线媒质及其它无线媒质。上述的任意组合应该包含在计算机可读媒质的范围内。
系统内存130包括计算机存储媒质,其形式为易失性和/或非易失性内存,譬如只读内存(ROM)131和随机存取内存(RAM)132。基本输入/输出系统133(BIOS)一般存储在ROM131内,它包含例如启动期间帮助在计算机110内的组件间传输信息的基本例程。RAM132一般包含数据和/或程序模块,它们可以立即访问并且/或者当前由处理单元120在其上操作。通过示例但非限制,图9说明了操作系统134、应用程序135、其它程序模块136和程序数据137。
计算机110还可以包括其它可移动/不可移动、易失性/非易失性计算机存储媒质。仅仅通过示例,图8说明了对不可移动、非易失性磁性媒质进行读写的硬盘驱动器141、对可移动、非易失性磁盘152进行读写的磁盘驱动器151、以及对可移动、非易失性光盘156进行读写的光盘驱动器155,譬如CD-RW、DVD-RW或其它光学媒质。示例性操作环境中可用的其它可移动/不可移动、易失性/非易失性计算存储媒质包括、但不限于磁带盒、闪存卡、数字通用盘、数字视频磁带、固态RAM、固态ROM等等。硬盘驱动器141一般通过如接口140这样的不可移动存储器接口与系统总线121相连,且磁盘驱动器151和光盘驱动器155一般用如接口150这样的可移动存储器接口与系统总线121相连。
上面讨论并在图9中说明的驱动器和它们的相关计算机存储媒质为计算机110提供了计算机可读指令、数据结构、程序模块和其它数据的存储。在图9中,例如,所述硬盘驱动器141存储操作系统144、应用程序145、其它程序模块146和程序数据147。注意到这些组件或者可与操作系统134、应用程序135、其它程序模块136和程序数据137相同,或者与它们不同。这里为操作系统144、应用程序145、其它程序模块146和程序数据147给出不同数字以说明它们至少是不同的副本。用户可以通过诸如键盘162和指示设备161这样的输入设备把命令和信息输入到计算机110中,输入设备通常称为鼠标、轨迹球或触板。其它输入设备(未示出)可以包括麦克风、游戏杆、游戏板、卫星式转盘、扫描仪等等。这些和其它输入设备经常通过与系统总线121耦合的用户输入接口160与处理单元120相连,但也可以用其它接口和总线结构连接,譬如并行端口、游戏端口或通用串行总线(USB)。图形接口182也可以连到系统总线121。一个或多个图形处理单元(GPU)184可以与图形接口182通信。监视器191或其它类型的显示设备也通过诸如视频接口190这样的接口与系统总线121相连。除了监视器191之外,计算机还可以包括其它外围输出设备,如扬声器197和打印机196,它们可以通过输出外设接口195连接。
计算机110可以工作在网络化或分布式环境中,该环境使用与诸如远程计算机180这样的一个或多个远程计算机之间的逻辑连接。远程计算机180可以是个人计算机、服务器、路由器、网络PC、对等设备或其它公共网络节点,并且一般包括上述与计算机110有关的许多或全部元件,尽管图9中仅说明了内存存储设备181。图9所述的逻辑连接包括局域网(LAN)171和广域网(WAN)173,但可以还包括其它网络/总线。这种联网环境在家庭、办公室、企业范围计算机网络、企业内联网和互联网中是常见的。
当用于LAN网络环境中时,计算机110通过网络接口或适配器170与LAN171相连。当用于WAN联网环境中时,计算机110一般包括用于在诸如互联网这样的WAN 173上建立通信的调制解调器172或其它装置。调制解调器172可以是内部或外部的,它可以通过用户输入接口160或其它适当机制与系统总线121相连。在网络化环境中,关于计算机110所述的程序模块或其部分可以存储在远程内存存储设备中。通过示例但非限制,图9说明了驻留在内存设备181上的远程应用程序185。可以理解,所示网络连接是示例性的,也可以使用在计算机间建立通信连接的其它装置。
结论至此已经公开了用于为应用程序提供保密的系统和方法。应用程序被验证、与应用程序相关联的保密信息被检取。然后使用保密信息来生成附加到应用程序的标记。保密信息可以包括基本账户、一列群组账户以及相应的特权列表。
虽然已经结合各个附图的优选实施例描述了本发明,然而应该理解,可以使用其它类似的实施例,并且对所述实施例作出修改和添加,用于在不背离本发明的情况下执行本发明的相同功能。因此,本发明不应限于任何单个实施例,而是应被视为符合与所附权利要求相一致的最宽泛的范围。
权利要求
1.一种用于为应用程序提供保密的方法,所述方法包括基于与应用程序相关联的验证信息来验证所述应用程序;检取与应用程序相关联的保密信息;以及为应用程序生成包括保密信息在内的标记。
2.如权利要求1所述的方法,其特征在于包括验证用于在便携式计算设备上执行的应用程序。
3.如权利要求1所述的方法,其特征在于包括基于与应用程序相关的数字签名来验证所述应用程序。
4.如权利要求3所述的方法,其特征在于包括使用证书存储器中保存的数字证书来验证数字签名,所述证书存储器可由其上执行所述应用程序的便携式计算设备所访问。
5.如权利要求1所述的方法,其特征在于,检取保密信息包括标识一特权列表,所述特权列表包括应用程序被授权访问的资源。
6.如权利要求1所述的方法,其特征在于,检取保密信息包括标识与所述应用程序相关联的基本账户。
7.如权利要求1所述的方法,其特征在于,检取保密信息包括标识与所述应用程序相关联的一列群组账户。
8.如权利要求1所述的方法,其特征在于还包括把所述标记附加到所述应用程序;以及用所附加的标记装入所述应用程序。
9.如权利要求8所述的方法,其特征在于包括使用保密加载程序来附加所述标记。
10.如权利要求1所述的方法,其特征在于包括为所述应用程序生成一个包括对应于另一应用程序的保密信息在内的模仿标记。
11.如权利要求1所述的方法,其特征在于包括从账户数据库检取保密信息。
12.如权利要求11所述的方法,其特征在于包括结合账户数据库使用标记生成器来生成所述标记。
13.一种用于授权应用程序来访问资源的方法,所述方法包括检取被附加到应用程序的标记;确定资源是否被包括在标记内的特权列表中;以及如果所选的资源被包括在特权列表中,则授权应用程序来访问所述资源。
14.如权利要求13所述的方法,其特征在于还包括如果所选的资源未包括在特权列表中,则拒绝应用程序访问所述资源。
15.如权利要求13所述的方法,其特征在于还包括在执行应用程序前生成所述标记。
16.如权利要求15所述的方法,其特征在于还包括在生成所述标记前验证所述应用程序。
17.一种用于授权应用程序访问保密对象的方法,所述方法包括检取被附加到应用程序的标记;标识在标记内列出的基本账户;以及确定保密对象的账户控制列表是否授权了所述基本账户;以及如果保密对象的账户控制列表授权了所述基本账户,则许可应用程序访问保密对象。
18.如权利要求17所述的方法,其特征在于还包括如果保密对象的账户控制列表未授权基本账户,则拒绝应用程序访问保密对象。
19.如权利要求17所述的方法,其特征在于还包括标识在标记内列出的群组账户;以及确定保密对象的账户控制列表是否授权了群组账户;如果保密对象的账户控制列表授权了群组账户,则许可应用程序访问保密对象;以及如果保密对象的账户控制列表未授权群组账户,则拒绝应用程序来访问保密对象。
20.如权利要求17所述的方法,其特征在于还包括在执行应用程序前生成所述标记。
21.如权利要求20所述的方法,其特征在于还包括在生成标记前验证所述应用程序。
全文摘要
本发明提供了一种有效的面向应用程序的保密模型。在执行前,验证一应用程序,并且检取与该应用程序相关联的保密信息。保密信息接着用来生成被附加到该应用程序的标记。保密信息可以包括与应用程序相关的基本账户、一列群组账户以及相应的特权列表。
文档编号H04L9/00GK1713106SQ200510081458
公开日2005年12月28日 申请日期2005年6月22日 优先权日2004年6月23日
发明者G·乔伊, M·达斯古普塔, S·谢尔, Y·谷帕尔兰 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1