CN101502042A - 用户账户内应用程序专用数据的隔离 - Google Patents

用户账户内应用程序专用数据的隔离 Download PDF

Info

Publication number
CN101502042A
CN101502042A CNA2006800256844A CN200680025684A CN101502042A CN 101502042 A CN101502042 A CN 101502042A CN A2006800256844 A CNA2006800256844 A CN A2006800256844A CN 200680025684 A CN200680025684 A CN 200680025684A CN 101502042 A CN101502042 A CN 101502042A
Authority
CN
China
Prior art keywords
data
handle
application program
application
described data
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.)
Granted
Application number
CNA2006800256844A
Other languages
English (en)
Other versions
CN101502042B (zh
Inventor
D·萨姆伯廷
K·特鲁玛莱
R·B·沃德
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 CN101502042A publication Critical patent/CN101502042A/zh
Application granted granted Critical
Publication of CN101502042B publication Critical patent/CN101502042B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2147Locking files

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

提供了一种在多个应用程序共享同一用户账户的环境中隔离应用程序专用数据的机制。这一机制能够让一应用程序专用的数据仅可由该应用程序访问。当一应用程序请求应用程序专用数据时,加载该数据并将该数据的句柄返回给该应用程序。仅允许通过该句柄对数据进行访问。因此,只有拥有该句柄的应用程序才能够访问该数据。计数器可与所加载的数据相关联。该计数器的值在为该数据创建句柄时递增,并在该数据的句柄终止时递减。当该计数器的值到达零时,自动卸载该数据。

Description

用户账户内应用程序专用数据的隔离
背景技术
习惯上,操作系统以用户账户为单位隔离应用程序专用的数据。也就是说,对不同用户账户运行的各应用程序彼此隔离。结果,对一用户账户运行的应用程序无法访问对另一用户账户运行的相同应用程序的数据。然而,对同一用户账户执行的各应用程序的数据彼此并不隔离。结果,对一用户账户执行的应用程序能够访问甚至修改对同一用户账户执行的另一应用程序的数据。这会引起潜在的稳定性、安全性和管理问题。因此,期望提供一种在共享同一用户账户的各应用程序之间分离应用程序专用数据的机制。
发明内容
提供本概述是为了以简化形式介绍概念精选,这些概念在下面的详细描述中被进一步描述。本概述并不旨在标识要求保护主题的关键特征或基本特征,也不旨在用于帮助确定要求保护的主题的范围。
本发明能够在有多个应用程序与同一用户账户相关联的环境中使对一应用程序专用的数据与其它应用程序隔离。例如,本发明使用基于句柄的方法来访问数据。如果应用程序拥有数据的句柄,则该应用程序能够访问该数据。如果数据是应用程序专用的,则对该数据只能创建一个句柄。该句柄被传递给标识该数据所针对的应用程序。只有拥有该句柄的应用程序能够访问该数据。来自与该应用程序共享同一用户账户的其它应用程序的访问请求会被拒绝。
根据本发明的一个方面,当应用程序需要访问数据并且该数据尚未被加载时,首先加载该数据。较佳地,为该数据生成唯一标识符。该唯一标识符随后被用于形成该数据的访问路径。访问路径指示该数据可被加载的位置。数据被加载到该位置。为已加载的数据创建句柄并将其传递给该应用程序。该应用程序能够通过句柄访问该数据。如果只有该应用程序能够访问该数据,则该数据就被认为是应用程序专用的。与该应用程序共享同一用户账户的其它应用程序都不能创建到已加载数据的句柄也无法通过句柄访问该数据。另一方面,如果数据不是应用程序专用的,其它应用程序就能够创建到该数据的句柄并能通过该句柄访问该数据。
根据本发明的另一方面,在加载数据时为该数据创建一计数器。只要为该数据创建句柄就递增该计数器的值,而只要该数据的句柄终止就递减该计数器的值。当计数器的值为零时就自动卸载该数据。
根据本发明的又一方面,为应用程序专用数据访问提供应用编程接口。该应用编程接口包括一函数,在多个应用程序共享同一用户账户的环境下,该函数在收到来自计算进程(即,应用程序)的访问请求之时提供对数据对象的访问。该函数可被配置成使该数据对象只能由请求该访问的计算进程所访问。也就是说,其它计算进程无法访问该数据对象。较佳地,该函数包括一参数,该参数可被配置成只有正在调用该函数的计算进程才能够访问该数据对象。该参数还可被配置成为访问该用户对象而调用该函数的任何计算进程都可以访问该用户对象。
更具体地,在被请求访问数据对象的计算进程所调用时,该函数为该数据对象创建唯一标识符。该唯一标识符随后可用于生成指示加载该数据对象的位置的路径。于是,该函数相应地加载该数据对象。该函数随后将到已加载数据对象的句柄返回给计算进程。只要计算进程完成访问请求,相应的句柄就终止。当不存在与此数据对象相关联的句柄时,该函数就卸载该数据对象。
总而言之,本发明防止一应用程序专用的数据被与该应用程序共享同一用户账户的其它应用程序所访问。本发明能够让一应用程序专用的数据仅由该应用程序访问。于是,与该应用程序共享同一用户账户的其它应用程序就无法干扰该应用程序专用数据的完整性。
附图描述
结合附图,参考以下详细描述,就更容易认识并更好地理解本发明的上述各方面和许多附带的优点,在附图中:
图1是示出了用于实现本发明各方面的一个示例性计算系统的框图,其中使用同一用户账户的多个应用程序的应用程序专用数据被分离;
图2示出了用于实现本发明各方面的一个示例性
Figure A200680025684D00051
API的框图;以及
图3A和3B是示出了用于隔离用户账户内应用程序专用数据的一个示例性进程的流程图。
详细描述
一般而言,本发明的实施例在与同一用户账户相关联的各应用程序之间分离应用程序专用数据。更具体地,本发明的实施例采用一种基于句柄的方法,用以在多个应用程序与同一用户账户相关联的环境中访问数据。当应用程序需要访问该应用程序专用的数据时,该数据被加载,为该数据创建句柄并将其传递给该应用程序。该应用程序通过句柄访问该数据。其它应用程序无法创建用于该数据的句柄,并由此被拒绝访问该数据。在本发明的各实施例中,数据可以包括可由共享同一用户账户的各应用程序使用的任何数据。
图1示出了主存用于用户101的多个应用程序的计算系统100。多个应用程序包括应用程序A(102A)和应用程序B(102B)。在示出的实施例中,应用程序数据A(104A)专用于应用程序A(102A),而应用程序数据B(104B)则专用于应用程序B(102B)。在本发明的各个实施例中,在从应用程序收到对该应用程序专用的数据对象的访问请求时,动态生成唯一标识符("UID")。UID用于生成数据对象的访问路径。例如,一旦应用程序A(102A)请求应用程序数据A(104A),就动态生成UIDA(106A)。随后使用UID A(106A)生成诸如/root/app/UID A/应用程序数据A的访问路径,这可用于将应用程序数据A(104A)加载到由该访问路径所指定的位置。类似地,当应用程序B(102B)想要访问应用程序数据B(104B)时,计算系统100就动态生成UID B(106B),该UID B(106B)用于形成应用程序数据B(104B)的访问路径。这一访问路径例如可以是/root/app/UID B/应用程序数据B。应用程序数据B(104B)可以被加载到由该访问路径指定的位置。
在本发明的实施例中,在为应用程序专用数据对象生成UID和相应的访问路径之后,计算系统100就把该数据对象加载到由访问路径指定的位置。计算系统100随后创建指向所加载数据对象的句柄并将该句柄传递给请求该数据对象的应用程序。例如,如图1所示,应用程序A(102A)接收指向应用程序数据A(104A)的句柄A(110A);应用程序B(102B)则接收指向应用程序数据B(104B)的句柄B(110B)。在本发明的实施例中,只有拥有指向数据对象的句柄的该应用程序才能够访问该数据对象并,且只有标识数据对象所专门针对的该应用程序才能够拥有指向该数据对象的句柄。因此,在图1所示的示例中,只有应用程序A(102A)能够访问应用程序数据A(104A),同时也只有应用程序B(102B)能够访问应用程序数据B(104B)。
理论上,其它应用程序可以通过其访问路径来访问数据对象。在本发明的实施例中,如果一应用程序尝试通过其访问路径访问数据对象,这种访问将被拒绝。例如,如上所述,应用程序数据A(104A)的访问路径是/root/app/UID A/应用程序数据A。理论上,应用程序B(102B)能够通过该访问路径来访问应用程序数据A(104A),本发明的实施例拒绝这种访问,并且只允许通过句柄A(110A)访问该应用程序数据A(104A)。于是,只有应用程序A(102A)可以访问应用程序数据A(104A)。
本发明的实施例还为所加载的数据对象提供计数器。只要为所加载的数据对象创建句柄,就递增该计数器的值。只要指向所加载的数据对象的句柄被终止,就递减该计数器的值。在本发明的各实施例中,当计数器的值到达零时,就卸载相应的数据对象。例如,如图1所示,所加载的应用程序数据A(104A)与计数器112A相关联,而所加载的应用程序数据B(104B)则与计数器112B相关联。在本发明的实施例中,当数据对象被加载时,另一应用程序就无法用另一数据对象来代替所加载的数据对象。
在本发明的一个示例性实施例中,计算系统100使用
Figure A200680025684D00072
操作系统。如本领域普通技术人员所知,
Figure A200680025684D00073
Figure A200680025684D00074
操作系统使用
Figure A200680025684D00075
注册表作为系统和用户相关数据的中央储存库。在磁盘上,
Figure A200680025684D00076
注册表被组织成一组离散文件、数据对象和所谓的hive(巢)。每个hive都含有数据层次。当hive被加载到计算机系统的文件系统内时,指向该hive的路径就被记录在HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/hivelist下。如果该hive被卸载则移除该访问路径。
当前,在 操作系统启动时,
Figure A200680025684D00079
注册表默认加载某些hive。通常情况下,RegLoadKey API已被用于允许用户按需加载特定的hive。当使用RegLoadKey API加载hive时,该hive在系统范围内可见。结果,该hive内的数据可由任何具有足够访问权限的人访问。然而,RegLoadKey API在未要求特定特权的情况下不允许常规用户加载hive。RegLoadKey API也不阻止对同一用户账户运行的其它应用程序操控该hive内的数据。
为了解决由RegLoadKey API造成的限制,本发明的一个示例性实施例提供了一种新的hive加载API,例如名为RegLoadAppKey。该RegLoadAppKey API在未要求特定特权的情况下允许用户加载hive。RegLoadAppKey API还允许对使用该API加载的hive进行应用程序级隔离。与在系统范围可见的情况下加载hive的现有RegLoadKey API不同,RegLoadAppKey API仅在进程范围可见的情况下加载hive。也就是说,只有调用该RegLoadAppKey API的进程才会得到指向该hive的句柄。该RegLoadAppKey API将该hive仅暴露于成功加载该hive的第一进程。因此,通过使用该RegLoadAppKey API,应用程序就能够加载含有仅与该应用程序相关的设置的hive,并且确保在同一或不同用户账户下运行的其它应用程序都不能访问该hive。在该应用程序终止时,或者当对与该hive相关联的句柄的最后引用被关闭时,自动卸载该hive。
图2示出了RegLoadAppKey API200的一个示例性应用。当应用程序202调用RegLoadAppKey API200以加载特定hive时,应用程序202向RegLoadAppKeyAPI200提供要加载hive的文件名。RegLoadAppKey API200根据所提供的文件名加载所指定的hive并将该hive的句柄204返回给应用程序202。应用程序202随后能够通过句柄204对所加载的hive进行操作。
在RegLoadAppKey API200的一个示例性实现中,在接收到要加载的hive的文件名时,RegLoadAppKey API200生成UID206。如果hive已被加载,则忽略该UID206。否则,使用该UID206来形成指示hive所被加载的位置的“加载放置路径”208。例如,hive可被加载到/registry/app/UID。
在本发明的示例性实施例中,RegLoadAppKey API200随后可以调用NtLoadKeyEx API210来加载该hive。NtLoadKeyEx API210将该hive加载到由“加载放置路径”208指定的位置并返回该hive的句柄204。较佳地,只要应用程序202调用RegLoadAppKey API200以访问该hive,就为该hive创建句柄。当应用程序202放弃访问时,就关闭相应的句柄。当该hive的所有句柄都被关闭时,就自动卸载该hive。
操作上,RegLoadAppKey API200可以包括用于指定对该hive的访问被限制在调用应用程序202的参数。当该参数被指定时,其它应用程序加载同一hive的后续尝试会失败,从而使得该hive仅可由加载它的应用程序202访问。如果该参数未被指定,则多个应用程序,即多个进程,都可以加载同一hive。此外,如果访问请求尝试通过“加载放置路径”208而非从该hive的句柄204访问hive,则RegLoadAppKey API200拒绝该访问请求。
图3A和3B示出了用于将一应用程序专用的数据同与该应用程序共享同一用户账户的其它应用程序隔离的一个示例性进程300。实质上,进程300在被请求数据被卸载的情况下加载该数据,创建指向所加载数据的句柄,并将该句柄传递给请求该数据的应用程序。进程300还使用计数器来跟踪与该数据相关联的句柄个数。只要为该数据创建一句柄就递增该计数器的值,而只要该应用程序终止与该数据相关联的句柄就递减该计数器的值。当该计数器的值到达零时,就自动卸载该数据。更具体地,应用程序可以在指定其它应用程序不能访问该数据的情况下加载数据。在此情况下,来自另一应用程序的访问请求将被拒绝。
更具体地,如图3A所示,该进程300在应用程序A请求访问某些数据时启动。见判定框301。在本发明的示例性实施例中,在接收到这一请求时,进程300就生成该数据的唯一标识符。见框302。进程300随后使用该唯一标识符生成该数据的访问路径。见框304。例如,如上所述,具有UID A(106A)的应用程序数据A(104A)的访问路径是/Root/App/UIDA/应用程序数据A。
进程300随后对该数据是否已被另一应用程序加载进行判定。见判定框305。如果判定框305的答案为是,则进程300对所加载的数据是否为应用程序专用进行判定,即只有已加载该数据的应用程序才能访问该数据。见判定框306。如果判定框306的答案为是,这意味着数据是应用程序专用的并且已被另一应用程序加载,则进程300结束。应用程序A的访问请求被拒绝。
如果判定框306的答案为否,这意味着数据可由多个应用程序访问,则进程300前进以创建指向所加载数据的句柄。见框308。
另一方面,如果判定框305的答案为否,意味着该数据尚未被任何应用程序加载,则进程300就将数据加载到已生成的访问路径所标识的位置。见框307。进程300随后创建与所加载的数据相关联的计数器。见框308。该计数器的初始值被设置为零。进程300随后创建指向该数据的句柄。见框309。进程300将该句柄传递给该应用程序。见框310。从框310,进程300行进至延续端A。
在本发明的实施例中,如果数据的应用程序专用的,则仅为该数据创建一个句柄,并且只有拥有该句柄的应用程序才能访问该数据。其它应用程序因为没有指向该数据的句柄,所以无法访问该数据。如上所述,理论上,其它应用程序可以通过生成的访问路径访问该数据。然而,本发明的实施例拒绝通过访问路径对数据进行访问。因此,只有拥有指向该数据句柄的应用程序才能够访问该数据。
在本发明的实施例中,计数器用于跟踪有多少句柄与该加载的数据相关联。只要为该加载的数据创建句柄就递增该计数器的值,而只要指向该的句柄被终止就递减该计数器的值。当该计数器的值到达零时,就自动卸载该数据。结果,如图3B所示,从延续端A,计数器在为该数据创建句柄时递增。见框314。此外,计数器在指向该数据的句柄被终止时递减。见框316。在本发明的实施例中,进程300周期性地检查计数器的值以判定其是否已到达零。见判定框318。当计数器的值到达零时,这意味着没有句柄与该数据相关联,进程300就卸载该数据。见框320。如果判定框318的答案为否,这意味着计数器的值不为零,则进程300循环回到框314以等待对该计数器值的任何调整。一旦该数据被卸载,则进程300终止。
因此,本发明的实施例隔离了在同一用户账户下运行的应用程序专用数据。本发明的实施例还在对数据对象的最后引用被关闭时自动卸载该数据对象。
虽然已示出并描述了本发明例示的实施例,但是将会认识到可对其做出各种改变而不背离本发明的精神和范围。

Claims (14)

1.一种在将多个应用程序与同一用户账户(101A)相关联的计算系统中,用于将第一应用程序专用的数据与第二应用程序隔离的方法,其中所述第一应用程序和所述第二应用程序共享所述同一用户账户,所述方法包括:
在收到来自所述第一应用程序对所述数据的请求时,加载所述数据;
创建指向所述数据的句柄;
将所述句柄传递给所述第一应用程序;以及
拒绝来自所述第二应用程序对所述数据的访问请求。
2.如权利要求1所述的方法,其特征在于,加载所述数据包括:
对所述数据创建唯一标识符;
使用所述唯一标识符,生成所述数据的访问路径;以及
将所述数据加载到由所述访问路径指定的位置。
3.如权利要求1所述的方法,其特征在于,还包括:
在加载所述数据之后为所述数据创建计数器,其中所述计数器的值被初始化为零;
当为所述数据创建所述句柄时,递增所述计数器的值;以及
当所述句柄被终止时,递减所述计数器的值。
4.如权利要求3所述的方法,其特征在于,还包括:
当所述计数器的值到达到零时,卸载所述数据。
5.如权利要求1所述的方法,其特征在于,所述计算系统包括MicrosoftWindows
Figure A200680025684C0002084415QIETU
注册表,并且所述数据是Windows
Figure A200680025684C0002084415QIETU
注册表的一个或多个hive。
6.一种在一个或多个计算机可读介质上具体化的应用编程接口,包括一函数,所述函数涉及在多个应用程序共享同一用户账户的环境中提供应用程序专用数据的访问,其中所述函数在收到来自计算进程的访问请求时提供对数据对象的访问,并且所述函数可被配置成使所述数据对象仅可由所述计算进程(202)来访问。
7.如权利要求6所述的应用编程接口,其特征在于,所述函数包括可配置参数,所述参数指示对所述数据对象的访问是否被限制于调用所述函数的所述计算进程。
8.如权利要求6所述的应用编程接口,其特征在于,在被所述计算进程调用时,所述函数:
对所述数据对象创建唯一标识符;
使用所述唯一标识符生成路径;以及
将所述数据对象加载到由所述路径指定的位置。
9.如权利要求8所述的应用编程接口,其特征在于,所述函数将指向所述数据对象的句柄返回给所述计算进程。
10.如权利要求9所述的应用编程接口,其特征在于,所述函数:
在所述计算进程完成所述句柄的使用时关闭所述句柄;以及
当没有句柄与所述数据对象相关联时卸载所述数据对象。
11.一种用于将一应用程序专用的数据同与所述应用程序共享同一用户账户的其它应用程序隔离的计算机实现的方法,包括:
在收到来自所述应用程序对所述数据的访问请求时,加载所述数据;
创建指向所述数据的句柄;
将所述句柄传递给所述应用程序;以及
拒绝来自所述其它应用程序对所述数据的任何访问请求。
12.如权利要求11所述的计算机实现的方法,其特征在于,加载所述数据包括:
对所述数据创建唯一标识符;
使用所述唯一标识符生成所述数据的访问路径;以及
将所述数据加载到由所述访问路径指定的位置。
13.如权利要求11所述的计算机实现的方法,其特征在于,还包括:
在加载所述数据时,为所述数据创建计数器,其中所述计数器的值被初始化为零;
当为所述数据创建句柄时,递增所述计数器的值;以及
当所述句柄被终止时,递减所述计数器的值。
14.如权利要求13所述的计算机实现的方法,其特征在于,还包括:
当所述计数器的值到达到零时,卸载所述数据。
CN2006800256844A 2005-07-15 2006-07-13 用户账户内应用程序专用数据的隔离 Active CN101502042B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US69996305P 2005-07-15 2005-07-15
US60/699,963 2005-07-15
US11/274,023 2005-11-15
US11/274,023 US8074288B2 (en) 2005-07-15 2005-11-15 Isolation of application-specific data within a user account
PCT/US2006/027523 WO2007011800A2 (en) 2005-07-15 2006-07-13 Isolation of application-specific data within a user account

Publications (2)

Publication Number Publication Date
CN101502042A true CN101502042A (zh) 2009-08-05
CN101502042B CN101502042B (zh) 2012-03-07

Family

ID=37669429

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006800256844A Active CN101502042B (zh) 2005-07-15 2006-07-13 用户账户内应用程序专用数据的隔离

Country Status (6)

Country Link
US (1) US8074288B2 (zh)
EP (1) EP1905190B1 (zh)
JP (1) JP5118638B2 (zh)
KR (1) KR101279671B1 (zh)
CN (1) CN101502042B (zh)
WO (1) WO2007011800A2 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8650658B2 (en) 2010-10-25 2014-02-11 Openpeak Inc. Creating distinct user spaces through user identifiers
US20170060112A1 (en) * 2015-08-24 2017-03-02 Katrina Danielle PIRNER Control program for accessing browser data and for controlling appliance
US10241776B2 (en) 2016-04-08 2019-03-26 Microsoft Technology Licensing, Llc User settings across programs
US10325116B2 (en) * 2017-06-30 2019-06-18 Vmware, Inc. Dynamic privilege management in a computer system
US11675902B2 (en) 2018-12-05 2023-06-13 Vmware, Inc. Security detection system with privilege management

Family Cites Families (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02195453A (ja) * 1989-01-25 1990-08-02 Toshiba Corp ファイルアクセス制御方式
JPH1021097A (ja) * 1996-07-02 1998-01-23 Canon Inc プログラムの起動方法および記憶媒体およびコンピュータ装置
US5842015A (en) * 1996-07-26 1998-11-24 Hewlett-Packard Company System and method for real-time control of hardware in a multiprocessing environment
JPH10240589A (ja) * 1997-02-21 1998-09-11 Hitachi Ltd 実データ遅延取出しを行うデータベース処理方法
US6085030A (en) * 1997-05-02 2000-07-04 Novell, Inc. Network component server
US6032216A (en) * 1997-07-11 2000-02-29 International Business Machines Corporation Parallel file system with method using tokens for locking modes
US6148336A (en) * 1998-03-13 2000-11-14 Deterministic Networks, Inc. Ordering of multiple plugin applications using extensible layered service provider with network traffic filtering
DE19839847A1 (de) * 1998-09-02 2000-03-09 Ibm Speichern von Datenobjekten im Speicher einer Chipkarte
FR2784479B1 (fr) * 1998-10-09 2000-11-17 Bull Cp8 Protocole d'echange interne de donnees entre applications d'un objet portatif multi-applications et objet portatif multi-applications correspondant
KR20010080427A (ko) * 1998-11-12 2001-08-22 매클린토크 샤운 엘 사용자 관리를 위한 어플리케이션 프로그래밍인터페이스를 갖춘 디지털 텔레비전 수신기
US6578045B1 (en) * 1999-04-20 2003-06-10 Microsoft Corporation System and method for retrieving registry data
US6347331B1 (en) * 1999-04-26 2002-02-12 International Business Machines Corporation Method and apparatus to update a windows registry from a hetrogeneous server
US6513107B1 (en) * 1999-08-17 2003-01-28 Nec Electronics, Inc. Vector transfer system generating address error exception when vector to be transferred does not start and end on same memory page
US6779179B1 (en) * 2000-03-20 2004-08-17 Exent Technologies, Inc. Registry emulation
US6651123B1 (en) * 2000-03-30 2003-11-18 International Business Machines Corporation File system locking
US7039801B2 (en) * 2000-06-30 2006-05-02 Microsoft Corporation System and method for integrating secure and non-secure software objects
US20020055923A1 (en) * 2000-11-01 2002-05-09 Sun Microsystems, Inc. Mandatory locking mechanisms for UNIX file systems
US20020066021A1 (en) * 2000-11-29 2002-05-30 Chien Andrew A. Method and process for securing an application program to execute in a remote environment
US7246135B2 (en) * 2001-01-08 2007-07-17 Intel Corporation Sharing classes between programs
US7461148B1 (en) * 2001-02-16 2008-12-02 Swsoft Holdings, Ltd. Virtual private server with isolation of system components
US7620731B1 (en) * 2001-02-21 2009-11-17 Microsoft Corporation Isolated persistent storage
US20020172363A1 (en) * 2001-05-15 2002-11-21 Dierks Timothy M. Data security on a mobile device
JP3932838B2 (ja) * 2001-08-06 2007-06-20 ヤマハ株式会社 パーソナルコンピュータにおける著作権保護装置および保護方法
IL160395A0 (en) * 2001-08-13 2004-07-25 Qualcomm Inc Application level access privilege to a storage area on a computer device
US7257815B2 (en) * 2001-09-05 2007-08-14 Microsoft Corporation Methods and system of managing concurrent access to multiple resources
US20030118188A1 (en) * 2001-12-26 2003-06-26 Collier David C. Apparatus and method for accessing material using an entity locked secure registry
US6745307B2 (en) * 2001-10-31 2004-06-01 Hewlett-Packard Development Company, L.P. Method and system for privilege-level-access to memory within a computer
US20030115476A1 (en) * 2001-10-31 2003-06-19 Mckee Bret Hardware-enforced control of access to memory within a computer using hardware-enforced semaphores and other similar, hardware-enforced serialization and sequencing mechanisms
FR2833374A1 (fr) * 2001-12-12 2003-06-13 Cp8 Procede et dispositif de controle d'acces dans un systeme embarque
US7844994B2 (en) * 2002-03-22 2010-11-30 The Directv Group, Inc. System and method for persistent storage of common user information for interactive television using a centrally located repository
US7062764B2 (en) * 2002-06-17 2006-06-13 Microsoft Corporation System and method for manipulating offline software
US20040107199A1 (en) * 2002-08-22 2004-06-03 Mdt Inc. Computer application backup method and system
US7020653B2 (en) * 2002-11-06 2006-03-28 Oracle International Corporation Techniques for supporting application-specific access controls with a separate server
JP4322021B2 (ja) * 2003-02-06 2009-08-26 株式会社ルネサステクノロジ メモリカード
US20040162807A1 (en) * 2003-02-14 2004-08-19 Montagne Michael D. Cooperative, simultaneous operation on data by many processes, with concurrent retention of process status, resumed processing, and minimal consumption of inter-nodal throughput
WO2005003969A1 (en) * 2003-06-27 2005-01-13 Sun Microsystems, Inc. Hybrid system implementing distinct and co-existing application execution environments and methods for implementing the same
JP4490917B2 (ja) * 2003-07-24 2010-06-30 パナソニック株式会社 ファイル管理方法及び情報処理装置
US20050081204A1 (en) * 2003-09-25 2005-04-14 International Business Machines Corporation Method and system for dynamically bounded spinning threads on a contested mutex
BRPI0415264A (pt) * 2003-10-13 2006-12-12 Koninkl Philips Electronics Nv dispositivo, e, método para gerenciar um arranjo de armazenagem local em um dispositivo
US20050091658A1 (en) * 2003-10-24 2005-04-28 Microsoft Corporation Operating system resource protection
US20050114870A1 (en) * 2003-11-21 2005-05-26 Song Dong H. System and method for executing an application on a secured run-time environment
US20050160276A1 (en) * 2004-01-16 2005-07-21 Capital One Financial Corporation System and method for a directory secured user account
US7610322B2 (en) * 2004-05-25 2009-10-27 Microsoft Corporation Safe handle
US7853947B2 (en) * 2004-09-30 2010-12-14 Citrix Systems, Inc. System for virtualizing access to named system objects using rule action associated with request
US7765548B2 (en) * 2005-02-17 2010-07-27 Red Hat, Inc. System, method and medium for using and/or providing operating system information to acquire a hybrid user/operating system lock

Also Published As

Publication number Publication date
EP1905190A4 (en) 2010-12-08
JP5118638B2 (ja) 2013-01-16
WO2007011800A2 (en) 2007-01-25
US8074288B2 (en) 2011-12-06
JP2009503633A (ja) 2009-01-29
KR101279671B1 (ko) 2013-06-28
CN101502042B (zh) 2012-03-07
WO2007011800A3 (en) 2009-04-16
US20070033638A1 (en) 2007-02-08
KR20080034118A (ko) 2008-04-18
EP1905190A2 (en) 2008-04-02
EP1905190B1 (en) 2015-12-09

Similar Documents

Publication Publication Date Title
US6795967B1 (en) Changing user identities without closing applications
US6606711B2 (en) Object security boundaries
JP4788711B2 (ja) ワークフロー実行システム、ワークフロー実行方法、及び、プログラム
US20080244736A1 (en) Model-based access control
CN101502042B (zh) 用户账户内应用程序专用数据的隔离
WO2007090833A1 (en) Extensible role based authorization for manageable resources
US20120296684A1 (en) Task assignment in a workflow system
US7870270B1 (en) Methods and systems for providing capability management and user administration
US20050193213A1 (en) Metered execution of code
US20020103904A1 (en) Method and apparatus for controlling access to files associated with a virtual server
GB2364143A (en) Resource allocation
CN111352737A (zh) 一种基于资源池的容器云计算服务平台
US7788706B2 (en) Dynamical dual permissions-based data capturing and logging
US7363293B2 (en) Access control method and device in an embedded system
US20020184406A1 (en) Method and system for handling window-based graphical events
US7574438B2 (en) Database access with multilevel lock
US20100058466A1 (en) Systems and methods for providing security for software applications
US8561071B2 (en) Process instance serialization
US20060195586A1 (en) Sessions and terminals configured for binding in an extensible manner
US9767275B2 (en) Method of enforcing control of access by a device to a secure element, and corresponding secure element
CN110443529A (zh) 资源调度方法、装置、设备与计算机可读存储介质
CN114049005A (zh) 工作流任务的分配及控制方法、装置和电子设备
US20020171676A1 (en) Multiple user application entry process
CN109460300A (zh) 一种银行外部请求的处理方法及系统
JP2006099317A (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: 20150514

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

Effective date of registration: 20150514

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.