CN1713106B - 为应用程序提供保密和授权应用程序访问保密对象的方法 - Google Patents

为应用程序提供保密和授权应用程序访问保密对象的方法 Download PDF

Info

Publication number
CN1713106B
CN1713106B CN2005100814585A CN200510081458A CN1713106B CN 1713106 B CN1713106 B CN 1713106B CN 2005100814585 A CN2005100814585 A CN 2005100814585A CN 200510081458 A CN200510081458 A CN 200510081458A CN 1713106 B CN1713106 B CN 1713106B
Authority
CN
China
Prior art keywords
application program
account
application
mark
security information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN2005100814585A
Other languages
English (en)
Other versions
CN1713106A (zh
Inventor
G·乔伊
M·达斯古普塔
S·谢尔
Y·谷帕尔兰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN1713106A publication Critical patent/CN1713106A/zh
Application granted granted Critical
Publication of CN1713106B publication Critical patent/CN1713106B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/54Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by adding security routines or objects to programs

Abstract

本发明提供了一种有效的面向应用程序的保密模型。在执行前,验证一应用程序,并且检取与该应用程序相关联的保密信息。保密信息接着用来生成被附加到该应用程序的标记。保密信息可以包括与应用程序相关的基本账户、一列群组账户以及相应的特权列表。

Description

为应用程序提供保密和授权应用程序访问保密对象的方法
技术领域
本发明涉及电子保密领域,尤其涉及面向应用程序的保密模型。 
背景技术
随着个人和企业越来越依赖于使用电子计算设备,日渐需要为电子应用程序和它们的数据提供保密。计算设备的用户必须对他们的私人数据不会暴露给其它未经授权的个人或组织感到自信。此外,电子服务的提供商必须也对结合他们的服务使用的应用程序不会被来自其它提供商的其它应用程序所破坏而感到自信。这种破坏会导致差的服务质量或完全不能提供服务,从而为消费者带来不便并且玷污了服务提供商的名誉。 
在传统的台式计算环境中,大多数应用程序或者由单个开发者提供、或者被特别设计成与来自其它开发者的应用程序合作。例如,在台式环境中,诸如字处理器、电子数据表、电子邮件应用程序以及互联网浏览器这样的公共应用程序通常由单个开发者设计。此外,即使由不同的开发者设计,一般相互信任台式应用程序会彼此有效地工作。因而,台式保密性问题一般主要集中在访问系统的未受信用户、而非系统内未受信的应用程序。这样,台式保密性系统一般调用面向用户的保密模型。 
在示例性的台式保密模型中,每个用户或每一组用户都有一个相应的保密账户。当用户登录到计算设备上或计算设备的网络上时,用户输入一密码以验证其身份。然后为用户生成一标记,该标记包括用户相应的账户和特权。特权是账户执行各种系统相关操作的权利,例如关闭系统、加载设备驱动程序以及改变系统时间。图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与LAN 171相连。当用于WAN联网环境中时,计算机110一般包括用于在诸如互联网这样的WAN 173上建立通信的调制解调器172或其它装置。调制解调器172可以是内部或外部的,它可以通过用户输入接口160或其它适当机制与系统总线121相连。在网络化环境中,关于计算机110所述的程序模块或其部分可以存储在远程内存存储设备中。通过示例但非限制,图9说明了驻留在内存设备181上的远程应用程序185。可以理解,所示网络连接是示例性的,也可以使用在计算机间建立通信连接的其它装置。 
结论 
至此已经公开了用于为应用程序提供保密的系统和方法。应用程序被验证、与应用程序相关联的保密信息被检取。然后使用保密信息来生成附加到应用程序的标记。保密信息可以包括基本账户、一列群组账户以及相应的特权列表。 
虽然已经结合各个附图的优选实施例描述了本发明,然而应该理解,可以使 用其它类似的实施例,并且对所述实施例作出修改和添加,用于在不背离本发明的情况下执行本发明的相同功能。因此,本发明不应限于任何单个实施例,而是应被视为符合与所附权利要求相一致的最宽泛的范围。 

Claims (19)

1.一种用于为应用程序提供保密的方法,所述方法包括:
基于与应用程序相关联的验证信息来验证所述应用程序;
从保存在账户数据库内的保密信息中检取与应用程序相关联的保密信息,其中保存在账户数据库内的保密信息包括一列应用程序以及它们相应的基本账户、群组账户和特权;以及
为应用程序生成包括所检取的与所述应用程序相关联的保密信息在内的标记,其中所述标记包括标识在一系统上所述应用程序被授权访问的全局资源的特权列表、与所述应用程序关联的基本账户以及所述应用程序作为其成员的一列群组账户;
把所述标记附加到所述应用程序;以及
用所附加的标记装入所述应用程序。
2.如权利要求1所述的方法,其特征在于包括:验证用于在便携式计算设备上执行的应用程序。
3.如权利要求1所述的方法,其特征在于包括:基于与应用程序相关的数字签名来验证所述应用程序。
4.如权利要求3所述的方法,其特征在于包括:使用证书存储器中保存的数字证书来验证数字签名,所述证书存储器可由其上执行所述应用程序的便携式计算设备所访问。
5.如权利要求1所述的方法,其特征在于,检取与所述应用程序相关联的保密信息包括标识一特权列表,所述特权列表包括应用程序被授权访问的资源。
6.如权利要求1所述的方法,其特征在于,检取与所述应用程序相关联的保密信息包括标识与所述应用程序相关联的基本账户。
7.如权利要求1所述的方法,其特征在于,检取与所述应用程序相关联的保密信息包括标识与所述应用程序相关联的一列群组账户。
8.如权利要求1所述的方法,其特征在于包括:使用保密加载程序来附加所述标记。
9.如权利要求1所述的方法,其特征在于包括:为所述应用程序生成一个包括对应于另一应用程序的保密信息在内的模仿标记。
10.如权利要求1所述的方法,其特征在于包括:结合账户数据库使用标记生成器来生成所述标记。
11.一种用于授权应用程序来访问资源的方法,所述方法包括:
检取被附加到应用程序的标记,其中所述标记包括从保存在账户数据库内的保密信息检取的与所述应用程序相关联的保密信息,其中保存在账户数据库内的保密信息包括一列应用程序以及它们相应的基本账户、群组账户和特权,其中检取的与所述应用程序相关联的保密信息标识在一系统上所述应用程序被授权访问的资源的特权列表、与所述应用程序关联的基本账户以及所述应用程序作为其成员的一列群组账户;
确定资源是否被包括在标记内的特权列表中;以及
如果所选的资源被包括在特权列表中,则授权应用程序来访问所述资源。
12.如权利要求11所述的方法,其特征在于还包括:如果所选的资源未包括在特权列表中,则拒绝应用程序访问所述资源。
13.如权利要求11所述的方法,其特征在于还包括:在执行应用程序前生成所述标记。
14.如权利要求13所述的方法,其特征在于还包括:在生成所述标记前验证所述应用程序。
15.一种用于授权应用程序访问保密对象的方法,所述方法包括:
检取被附加到应用程序的标记,其中所述标记包括从保存在账户数据库内的保密信息检取的与所述应用程序相关联的保密信息,其中保存在账户数据库内的保密信息包括一列应用程序以及它们相应的基本账户、群组账户和特权,其中检取的与所述应用程序相关联的保密信息包括标识在一系统上所述应用程序被授权访问的全局资源的特权列表、与所述应用程序关联的基本账户以及所述应用程序作为其成员的一列群组账户;
标识在标记内列出的基本账户;以及
确定保密对象的账户控制列表是否授权了所述基本账户;以及
如果保密对象的账户控制列表授权了所述基本账户,则许可应用程序访问保密对象。
16.如权利要求15所述的方法,其特征在于还包括:如果保密对象的账户控制列表未授权基本账户,则拒绝应用程序访问保密对象。
17.如权利要求15所述的方法,其特征在于还包括:
标识在标记内列出的群组账户;以及
确定保密对象的账户控制列表是否授权了群组账户;
如果保密对象的账户控制列表授权了群组账户,则许可应用程序访问保密对象;以及
如果保密对象的账户控制列表未授权群组账户,则拒绝应用程序来访问保密对象。
18.如权利要求15所述的方法,其特征在于还包括:在执行应用程序前生成所述标记。
19.如权利要求18所述的方法,其特征在于还包括:在生成标记前验证所述应用程序。
CN2005100814585A 2004-06-23 2005-06-22 为应用程序提供保密和授权应用程序访问保密对象的方法 Active CN1713106B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/874,830 US7509497B2 (en) 2004-06-23 2004-06-23 System and method for providing security to an application
US10/874,830 2004-06-23

Publications (2)

Publication Number Publication Date
CN1713106A CN1713106A (zh) 2005-12-28
CN1713106B true CN1713106B (zh) 2012-02-08

Family

ID=34940157

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2005100814585A Active CN1713106B (zh) 2004-06-23 2005-06-22 为应用程序提供保密和授权应用程序访问保密对象的方法

Country Status (5)

Country Link
US (1) US7509497B2 (zh)
EP (1) EP1610201A3 (zh)
JP (1) JP4916136B2 (zh)
KR (1) KR101076911B1 (zh)
CN (1) CN1713106B (zh)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7587755B2 (en) * 2004-07-02 2009-09-08 Citrix Systems, Inc. System and method for executing interactive applications with minimal privileges
US8799757B2 (en) * 2005-07-01 2014-08-05 Microsoft Corporation Synchronization aspects of interactive multimedia presentation management
US7941522B2 (en) * 2005-07-01 2011-05-10 Microsoft Corporation Application security in an interactive media environment
US8656268B2 (en) * 2005-07-01 2014-02-18 Microsoft Corporation Queueing events in an interactive media environment
US20070006238A1 (en) * 2005-07-01 2007-01-04 Microsoft Corporation Managing application states in an interactive media environment
US8020084B2 (en) * 2005-07-01 2011-09-13 Microsoft Corporation Synchronization aspects of interactive multimedia presentation management
US7721308B2 (en) * 2005-07-01 2010-05-18 Microsoft Corproation Synchronization aspects of interactive multimedia presentation management
US8305398B2 (en) * 2005-07-01 2012-11-06 Microsoft Corporation Rendering and compositing multiple applications in an interactive media environment
US8108787B2 (en) 2005-07-01 2012-01-31 Microsoft Corporation Distributing input events to multiple applications in an interactive media environment
US20070006062A1 (en) * 2005-07-01 2007-01-04 Microsoft Corporation Synchronization aspects of interactive multimedia presentation management
US20070006078A1 (en) * 2005-07-01 2007-01-04 Microsoft Corporation Declaratively responding to state changes in an interactive multimedia environment
US20070006079A1 (en) * 2005-07-01 2007-01-04 Microsoft Corporation State-based timing for interactive multimedia presentations
US20080082626A1 (en) * 2006-09-29 2008-04-03 Microsoft Corporation Typed authorization data
US8327428B2 (en) 2006-11-30 2012-12-04 Microsoft Corporation Authenticating linked accounts
JP2009199253A (ja) * 2008-02-20 2009-09-03 Canon Inc 印刷システム、印刷方法、及び、印刷装置
US9183377B1 (en) * 2008-06-18 2015-11-10 Symantec Corporation Unauthorized account monitoring system and method
US8788809B2 (en) * 2009-04-27 2014-07-22 Qualcomm Incorporated Method and apparatus to create a secure web-browsing environment with privilege signing
US20120079278A1 (en) * 2010-09-28 2012-03-29 Microsoft Corporation Object security over network
US8650550B2 (en) 2011-06-07 2014-02-11 Blackberry Limited Methods and devices for controlling access to computing resources
US9053337B2 (en) 2011-06-07 2015-06-09 Blackberry Limited Methods and devices for controlling access to a computing resource by applications executable on a computing device
US8763080B2 (en) 2011-06-07 2014-06-24 Blackberry Limited Method and devices for managing permission requests to allow access to a computing resource
JP5357927B2 (ja) * 2011-06-14 2013-12-04 ドコモ・システムズ株式会社 通信装置、データアクセス方法、およびデータアクセスプログラム
US9225538B2 (en) * 2011-09-01 2015-12-29 Microsoft Technology Licensing, Llc Stateless application notifications
US9118686B2 (en) * 2011-09-06 2015-08-25 Microsoft Technology Licensing, Llc Per process networking capabilities
US8990561B2 (en) 2011-09-09 2015-03-24 Microsoft Technology Licensing, Llc Pervasive package identifiers
US9773102B2 (en) 2011-09-09 2017-09-26 Microsoft Technology Licensing, Llc Selective file access for applications
US9183361B2 (en) * 2011-09-12 2015-11-10 Microsoft Technology Licensing, Llc Resource access authorization
US9800688B2 (en) 2011-09-12 2017-10-24 Microsoft Technology Licensing, Llc Platform-enabled proximity service
JP2013065114A (ja) * 2011-09-15 2013-04-11 Fujitsu Ltd 情報処理システムの制御方法、中継装置の制御プログラム及びクライアント装置の制御プログラム
US9098726B2 (en) * 2012-04-24 2015-08-04 Samsung Electronics Co., Ltd. Scalable and secure application resource management and access control for multicore operating systems
KR101451870B1 (ko) * 2012-08-20 2014-10-16 네이버 주식회사 인증 공유에 의한 애플리케이션 로그인 시스템, 방법 및 컴퓨터 판독 가능한 기록 매체
US10356204B2 (en) 2012-12-13 2019-07-16 Microsoft Technology Licensing, Llc Application based hardware identifiers
JP2014199634A (ja) * 2013-03-12 2014-10-23 株式会社デンソー 情報端末装置
US9858247B2 (en) 2013-05-20 2018-01-02 Microsoft Technology Licensing, Llc Runtime resolution of content references
US9838424B2 (en) * 2014-03-20 2017-12-05 Microsoft Technology Licensing, Llc Techniques to provide network security through just-in-time provisioned accounts
CN106599676A (zh) * 2016-12-22 2017-04-26 北京元心科技有限公司 可信进程识别方法及装置
US10652227B2 (en) 2017-05-17 2020-05-12 Microsoft Technology Licensing, Llc Impersonating target account via account redirection
US11070540B1 (en) 2018-12-28 2021-07-20 Juniper Networks, Inc. Dynamic provisioning of user groups within computer networks based on user attributes
US11516220B1 (en) * 2018-12-28 2022-11-29 Juniper Networks, Inc. Creating roles and controlling access within a computer network
US11516254B2 (en) 2019-06-20 2022-11-29 Juniper Networks, Inc. Controlling access to microservices within a multi-tenancy framework

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1238653A (zh) * 1998-06-08 1999-12-15 电话通有限公司 移动用户帐务服务的可视接口
US20020099952A1 (en) * 2000-07-24 2002-07-25 Lambert John J. Policies for secure software execution
CN1453701A (zh) * 2002-04-23 2003-11-05 株式会社Ntt都科摩 便携终端、访问控制方法以及访问控制程序

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5941947A (en) * 1995-08-18 1999-08-24 Microsoft Corporation System and method for controlling access to data entities in a computer network
US6151590A (en) * 1995-12-19 2000-11-21 Pitney Bowes Inc. Network open metering system
JPH10320287A (ja) * 1997-05-16 1998-12-04 Nippon Telegr & Teleph Corp <Ntt> 計算機資源へのアクセス管理システム及びその方法
US6965999B2 (en) * 1998-05-01 2005-11-15 Microsoft Corporation Intelligent trust management method and system
JP2000049766A (ja) * 1998-07-27 2000-02-18 Hitachi Ltd 鍵管理サーバシステム
GB2342195A (en) * 1998-09-30 2000-04-05 Xerox Corp Secure token-based document server
US6571335B1 (en) * 1999-04-01 2003-05-27 Intel Corporation System and method for authentication of off-chip processor firmware code
US6810525B1 (en) * 1999-08-17 2004-10-26 General Instrument Corporation Impulse pay per use method and system for data and multimedia services
DE10000826A1 (de) 2000-01-12 2001-07-19 Alcatel Sa Verfahren, Diensterechner, Vermittlungsstelle, Endgeräte und Programm-Module zur Behandlung ankommender Telefonanrufe während einer eine Teilnehmeranschlussleitung blockierenden Online-Datennetzwerk-Sitzung
AU2001228235A1 (en) * 2000-01-27 2001-08-07 Hummingbird Ltd. A method and system for implementing an enterprise information portal
JP2002041170A (ja) * 2000-07-27 2002-02-08 Matsushita Electric Ind Co Ltd プログラム実行制御装置
US20020026578A1 (en) * 2000-08-22 2002-02-28 International Business Machines Corporation Secure usage of digital certificates and related keys on a security token
US20020124170A1 (en) * 2001-03-02 2002-09-05 Johnson William S. Secure content system and method
US7010600B1 (en) * 2001-06-29 2006-03-07 Cisco Technology, Inc. Method and apparatus for managing network resources for externally authenticated users
JP2003337630A (ja) * 2002-05-17 2003-11-28 Ntt Docomo Inc 通信端末、プログラム、記録媒体、通信端末のアクセス制御方法およびコンテンツの提供方法
US20040064708A1 (en) * 2002-09-30 2004-04-01 Compaq Information Technologies Group, L.P. Zero administrative interventions accounts
US7222363B2 (en) * 2002-10-18 2007-05-22 American Express Travel Related Services Company, Inc. Device independent authentication system and method
US7024689B2 (en) * 2002-12-13 2006-04-04 Intuit, Inc. Granting access rights to unattended software
US7194664B1 (en) * 2003-09-08 2007-03-20 Poon Fung Method for tracing application execution path in a distributed data processing system
US20050138388A1 (en) * 2003-12-19 2005-06-23 Robert Paganetti System and method for managing cross-certificates copyright notice

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1238653A (zh) * 1998-06-08 1999-12-15 电话通有限公司 移动用户帐务服务的可视接口
US20020099952A1 (en) * 2000-07-24 2002-07-25 Lambert John J. Policies for secure software execution
CN1453701A (zh) * 2002-04-23 2003-11-05 株式会社Ntt都科摩 便携终端、访问控制方法以及访问控制程序

Also Published As

Publication number Publication date
EP1610201A2 (en) 2005-12-28
JP2006024205A (ja) 2006-01-26
KR20060048474A (ko) 2006-05-18
US7509497B2 (en) 2009-03-24
US20050289348A1 (en) 2005-12-29
KR101076911B1 (ko) 2011-10-25
EP1610201A3 (en) 2012-03-14
CN1713106A (zh) 2005-12-28
JP4916136B2 (ja) 2012-04-11

Similar Documents

Publication Publication Date Title
CN1713106B (zh) 为应用程序提供保密和授权应用程序访问保密对象的方法
US11531732B2 (en) Systems and methods for providing identity assurance for decentralized applications
TWI748387B (zh) 用於驗證可驗證聲明的系統和方法
CN111095865B (zh) 用于发布可验证声明的系统和方法
CN111213350B (zh) 用于创建去中心化标识的系统和方法
KR101298293B1 (ko) 제1 플랫폼으로부터 제2 플랫폼으로의 디지털 라이센스이주
Hafiz et al. Growing a pattern language (for security)
JP3753885B2 (ja) 国際暗号体系のホストシステム要素
CN111066020A (zh) 用于创建去中心化标识的系统和方法
KR100971854B1 (ko) 보안 서버 키 동작을 제공하기 위한 시스템 및 방법
RU2332704C2 (ru) Публикация цифрового содержания в определенном пространстве, таком как организация, в соответствии с системой цифрового управления правами (цуп)
US7467415B2 (en) Distributed dynamic security for document collaboration
RU2344469C2 (ru) Публикация цифрового содержания в определенном пространстве, таком, как организация, в соответствии с системой цифрового управления правами (цуп)
CA2457291C (en) Issuing a publisher use license off-line in a digital rights management (drm) system
US6374357B1 (en) System and method for regulating a network service provider&#39;s ability to host distributed applications in a distributed processing environment
CN111316303A (zh) 用于基于区块链的交叉实体认证的系统和方法
CN111213147A (zh) 用于基于区块链的交叉实体认证的系统和方法
KR20190004310A (ko) 분산 해시 테이블 및 개인대개인 분산 대장을 사용한 계약의 성능을 제어하는 방법 및 시스템
US20030196085A1 (en) System and method for authenticating an operating system
CN110674128B (zh) 区块链的链上治理
KR20040076627A (ko) 디지털 콘텐츠 권리 관리 아키텍처로의 drm 서버등록/부등록 방법
Rahman et al. Protecting personal data using smart contracts
CN115705571A (zh) 保护可审计的帐户的隐私
WO2007035327A2 (en) System and method for component trust model in peer-to-peer service composition
JP2002077138A (ja) 遷移状態に基づく暗号化システムおよび方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150428

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150428

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.