CN1278082A - 与主操作系统的安全子系统交互的方法 - Google Patents

与主操作系统的安全子系统交互的方法 Download PDF

Info

Publication number
CN1278082A
CN1278082A CN00108987.0A CN00108987A CN1278082A CN 1278082 A CN1278082 A CN 1278082A CN 00108987 A CN00108987 A CN 00108987A CN 1278082 A CN1278082 A CN 1278082A
Authority
CN
China
Prior art keywords
local system
program
request
java
sign
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
CN00108987.0A
Other languages
English (en)
Other versions
CN1114858C (zh
Inventor
A·J·纳达林
B·A·里奇
T·J·L·施雷德
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1278082A publication Critical patent/CN1278082A/zh
Application granted granted Critical
Publication of CN1114858C publication Critical patent/CN1114858C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Storage Device Security (AREA)

Abstract

通过分步的登录协议,使非信任码(比如Java)编写的程序能够访问本机操作系统资源(比如Windows NT中支持的)。具体操作时,信用登录服务程序监听登录信用凭证的请求。信用登录服务程序响应登录请求,申请一个本机操作系统标志符。这个本机操作系统标志符送至程序,用这个标志符,就在认证框架中创建信用凭证对象。信用凭证对象用于登录到本机操作系统,使程序能访问资源。这项技术在运行Java程序的用户身份下,使Java程序能够访问Windows NT操作系统资源。

Description

与主操作系统的安全子系统交互的方法
本发明一般地涉及使非信任码(比如,Java)编写的程序能够访问封闭操作系统(比如Windows NT)管理的资源。
Java,最早是由太阳微系统公司开发的,是一种面向对象的、多线程的、可移植的、独立于平台的安全编程环境,用于开发、测试和维护软件程序。Java程序广泛应用于作为因特网多媒体信息检索系统的万维网。这些程序包括全方位交互的,独立的应用程序以及较小的程序,称为小程序,它在支持Java的万维网浏览器或小程序浏览器中运行。
最初,用Java编写的程序就广泛应用于因特网。由于因特网是以浏览器程序为核心,由Java引起的安全性问题主要包括Java砂盒(sandbox)安全和可执行原码(即类)的安全。最近,Java逐步移出浏览器,进入服务器后端程序环境。由于这一变化,更多的关注传统环境的安全性变得必要了,比如,识别Java程序用户和给用户以何种权限。因此,提议在Java开发工具集(JDK)1.2上,将Java认证服务程序框架定义为标准扩展程序。
Java的最初被接受主要靠万维网,并希望万维网服务器有活动内容,但,由于Java缺乏与基础操作系统服务程序的结合,其继续溶入信息技术基础的受到某种程度的限制。同时,与之并行的,Windows NT操作系统,有相当复杂的安全机制的支持(对商业操作系统),越来越多地作为新的应用程序基础。
由于NT安全机制环境,它不可能允许Java程序访问NT操作系统资源。由于Windows NT的“封闭”环境,客户机用户只能通过机器上的帐户登录运行Windows NT操作系统的服务器或登录由任何其它该客户配置了的被NT服务器信任的服务器。登录过程只提供这些选项,而没有有效界面允许来自非本机服务器域的用户确认。这种封闭的结构,以及Java的安全范例,使得Java程序难以访问Windows NT资源。
具体地,Windows NT不允许在除程序开始时的身份以外的身份下运行正常程序。一旦用户登录了,所有程序继承原始身份。具体的,Windows NT强化这种禁止,是通过要求LogonUser和这个权限只提供给被信任的用户,其中对LogonUser API的调用程序将产生一个新的访问标志符(token)。
希望在易于编程的Java与NT提供的充分安全模型之间提供桥梁。
本发明解决这个问题。
本发明的一个目的是,在运行Java程序的用户身份下,允许Java程序访问NT操作系统资源。
本发明的一个更特殊的目的是,从基于Java的认证服务接通Windows NT登录。
本发明的另一个目的是,允许运行Java程序的应用服务器作为独立的线程运行,并且每个线程作为不同的NT用户运行。
本发明的另一更特殊的目的是,提供一种机制:将特殊的WindowsNT身份与在Java虚拟机(JVM)中执行的特殊线程捆邦在一起。
本发明的另一个目的是,使Java程序能利用来自NT操作系统平台的充分安全模式。
本发明的一个更基本的目的是,使非信任码编写的程序可以登录到封闭操作系统环境,并访问其资源。
本发明的另一个基本目的是提供一种机制,它使企业能够同时在Java和NT安全保护上平衡投资。
根据本发明,通过分步的登录协议,使非信任码(即不属于信任的计算基础的代码)编写的程序可以访问本机操作系统资源。具体操作时,比如在命名管道上,信任登录服务程序监听登录信用登录凭证的请求。响应登录请求,信任登录服务程序申请一个本机操作系统标志。之后,这个本机操作系统标志送到程序。使用这个标志,在认证框架中创建信用凭证(credential)对象。然后,信用凭证对象用于登录到本机操作系统,从而,使程序能访问资源。
这项技术,使非信任码(比如Java)编写的程序,在运行程序的用户身份下,能够访问操作系统资源(比如Windows NT中支持的)。
前面简述了本发明的众多的有关目的和特点的一部分。这些目的仅仅是本发明众多卓越特点和应用的一部分的示意性解释。用不同的方式应用公开的发明和改进将要描述的本发明,可以得到更多有益的结果。因此,参考随后的优选的实施方案的详细描述,可以达到其它目的和更完整的理解本发明。
为了更完整的理解本发明及其优点,参考下列附图的详细描述,其中:
图1是本发明主要操作过程的框图;
图2是一详细流程图,解释本发明协议的操作;
图3是一流程图,它示出在信任码服务例程中执行的服务线程的处理步骤;
图4是一流程图,它解释Java认证服务程序的确认例程的处理步骤;和
图5图示一个常规的客户服务器操作环境,本发明在此环境中的实施。
如前面所描述的,本发明在运行Java程序的用户身份下,使Java程序能够访问Windows NT操作系统资源。尽管并不意味着限制,本发明可以在运行基于Java程序的万维网应用服务器中实施。正如将要看到的,本发明允许服务器象将每一程序作为一个线程运行,每一线程作为不同的Windows NT用户运行。因此,假定每一Java程序(或每个用户)必须从基于Java的认证服务程序执行Windows NT登录。本发明最好是乔装(underneath)或“掩蔽”(under the cover)实施Windows NT登录。
图1示意了本发明可能实施的操作环境。正如下面将要描述的,有三个功能组件用来从基于Java的认证服务程序能够登录到WindowsNT。具体地,有两个非信任码组件,即组件NTLoginModule 30和组件MUJLogin.dll 32。以及一信任码组件,也就是组件MUJSerice.exe34。组件NTLoginModule 30可以是用Java写的。组件MUJLogin 32可以是本机码程序库。请求访问本机操作系统的程序由标号35来标识。在示意的实施方案中,程序35是用Java写的,本机操作系统是Windows NT。对操作系统内核及其资源而言,Java程序35是非信任码。
组件NTLoginModule 30最好包括一套应用软件编程接口(APIs),也就是Login()API 38,commit()API 40,abort()API 42和Logout()API 44。总体说来,这些APIs构成了认证框架。在优选的实施方案中,认证框架符合Java认证和授权服务框架,它是Javal.2Java开发集(JDK)上的一个标准扩展。换句话说,认证框架是任何可插接认证机制(PAM)。
组件MUJLogin.dll(多用户Java登录模式)32包括初始化例程46,以及一套相应的APIs,即Login()API 48,commit()API50,abort()API 52和Logout()API 54。
组件MUJService.exe(多用户Java登录服务程序)34包括监听例程56和一套单个或多个服务线程58。MUJService.exe 34组件封装了只能由信任码调用的LogonUser API 60。
发明协议在图2所示的流程图中描述。这些功能所涉及的是非信任码。假定MUJLogin.dll 32的初始化例程46初始化。打开了服务管道,创建了唯一命名响应管道。还有,组件MUJService.exe 34也初始化创建服务管道,该管道具有能查找的特殊名字。之后,例程在步骤70开始,调用组件NTLogin Module 30的Login()API 38。在步骤72,API提示用户输入ID和口令。用户输入这些信息后,Login()API 38调用本机码Login()API 48,传递用户输入的信息。在步骤74,将控制传送给本机码组件。在步骤76,MUJLogin.dll 32的Login()API 48格式化请求,并将请求通过由初始化例程46初始化的服务管道送到MUJService.exe 34。然后,控制在MUJService.exe组件34中继续。
具体地,MUJService.exe组件34在其服务管道上监听,确定请求已被接收,这是步骤78。在步骤80,MUJService.exe创建服务线程以处理请求。之后,例程循环返回监听其它请求。在步骤82,执行测试以判定线程是否结束。如果没结束,例程循环。如果已结束,在步骤84,由Login()API 48送出的请求的应答被送回该API。这时,控制返回MUJLogin.dll组件32。
图3是服务线程的流程图。其中包含的函数是信任的。例程从步骤81开始,接收某些数据,即,一个动词(登录),一个用户身份(new_user)、一个口令以及一个响应管道名。在步骤83,服务线程激活LoginUser()API。如果调用成功,例程继续,在步骤85打开响应管道。在步骤87,服务线程激活ImpersonateLoggedonUser()API。在步骤89,用户的新身份,new_user,或任何其它文本被写到响应管道。在步骤91,响应管道关闭。在步骤93,RevertToself()API被激活,将线程回复到原来的身份。服务线程结束,控制返回到MUJLogin.dll 32。
返回参考图2,服务程序写入响应管道时,它作为new_user运行。MUJLogin.dll API继续运行。在步骤85激活ImporsonateNamedpipeClient()API。在步骤86,Login()API48激活OpenThreadToken()API,在步骤88激活DuplicateTokenEx()API,复制标志符。之后,在步骤90激活ReverToself()API使线程能返回原来的身份。在步骤92,Login()API48将复制的标志符返回给JavaLogin()API38。复制的标志符最好是一个整型值,具体的,是一个进入NT操作系统中的程序定位表的索引。之后,控制返回NTLoginModule30。
具体的,在步骤94,NTLoginModule 30中的Login()API 38创建主对象。在步骤96,Login()API 38创建信用凭证对象。在步骤98,整型值(也就是复制的标志符)存贮在信用凭证对象中。随后,Login()API 38在步骤100返回。这时,Login()API 38已经认证Java程序可以成为NT用户,因而可以访问本机NT操作系统环境的资源。
NTLoginModule 30的commit()API 40的功能是用来使Java程序成为NT用户。图4解释了这一功能。当激活commit()API 40时,例程继续在步骤102激活本机commit()API。随后控制再次传递给MUJLogin.dll组件32。在步骤104,激活本机commit()API 50。然后执行该API。在步骤106,该API定位信用凭证。在步骤108,该API检索标志符。例程在步骤110调用ImpersonateLoggedonUser()API,控制返回NTLoginModule 30,过程结束。
因此,根据优选的实施方案,Java程序通过分步的登录程序可以访问Windows NT操作系统资源。在本地系统帐户下运行的Windows NT服务程序,具有发出LogonUser调用的必要的权限。但是,正常程序通过命名管道或远程过程调用(RPCs)可以访问该服务。因此,本发明,如前所述,定义了一项协议,从Java程序传递用户名和口令至Windows NT服务。具体操作中,在熟知的命名管道上,服务程序监听“登录”请求。收到请求后,服务程序发出LogonUser调用以获取信用凭证,为避免访问标识符的交叉过程传输问题,对每一登录请求,协议在每个登录请求上传递唯一命名的命名管道名。本机调用程序(在这里是一个dll)作为命名管道服务器监听本管道NT服务程序的响应。服务程序一旦获得新的访问标志符,它发出一个ImpersonateLoggedonUser()调用,将新访问标志符与当前服务线程关联起来。现在,服务程序已成了新的用户。服务程序打开其名字被传送给服务程序的管道并送回响应(任何数据都可以)。在其命名管道上等待响应的本机Java程序,发出ImpersonateNamedPipeClient()调用,它允许任何命名管道服务器在其调用程序所执行的权限下运行。由于NT服务器已变为新用户,本机Java程序作为新用户运行。
随后,本机程序(作为新用户运行),在当前线程发出OpenThreadToken()调用,紧跟着是DuplicateTokenEx()调用以复制当前线程的访问标志符。这一操作在当前程序基础内核结构上创建引用,允许协议往后继续引用这个访问标志符。由于标志符引用被存贮,它就可以送回认证框架用作信用凭证。当前程序执行ReverToself()调用(它回复到原先的身份),断开链接并关闭命名管道,将标志符引用(一个整数)返回认证框架。当登录链结束运行时,它回到commit()API。之后,整数被传送用于SetThreadToken()调用中。这样NT身份改变就生效了。
本发明协议允许Java程序在运行Java程序的用户身份下,访问Windows NT操作系统资源。这一功能使得Java程序与基础NT操作系统服务程序集成到一起。因此,本发明的一个示意性操作环境是运行Java程序的应用服务器(例如万维网服务器)。图5示意了这一结构。
本例中,多个客户机10,通过计算机网络,比如因特网、内部网或其它计算机网络访问应用服务器12。有代表性的客户机是一台个人计算机,诸如:x86、基于PowerPC、或基于RISC,它们包括操作系统,比如Windows NT、IBM、OS/2或Microsoft Windows95或更高版本,以及包括万维网浏览器,比如Netscape Navigator4.0(或更高版本),它包括Java虚拟机(JVM)和支持应用插件或帮助应用程序(helper)。一般地,服务器12是另一台个人机或工作站平台,比如基于Intel,PowerPC或RISC,以及包括操作系统,比如Windows NT4.0。服务器运行提供不同的服务的Java程序16a-16n。每一Java程序能在单独线程中执行。根据如前面所描述的本发明,每一线程能作为不同用户运行。这使得服务器操作者能在Java与基础NT安全保护二者之间平衡投入。
但是,发明协议不局限于在万维网服务器平台上实施。相反地,协议可以在NT客户中实施,或更一般地,在Java程序试图获得本机NT操作系统资源访问的任何操作环境中实施。但是,本发明的技术并不局限于Java程序和Windows NT操作系统。这项技术可以随时适用于这样的情形,希望非信任码编写的程序能与主操作系统的安全子系统交互。进一步说,该技术适用于任何可以生成进入本机码命令的编程结构和语言。因此,程序可以是ActiveX程序,也可以是用VisualBasic等编写的程序。并且,认证框架也不局限于上面示例所给的框架。认证框架也可以是本领域所熟悉的任何可插接认证机制(比如,DCE,PAM)。
本发明相对现有技术,有许多优越性,正如前面所提到的,它能使Java写的程序与主机操作系统(即Windows NT)的安全子系统交互,在Windows NT中,它一般不允许在除它们开始时的身份以外的身份下运行。本发明可以不改变执行Java程序的Java虚拟机(JVM)基础而实施,以及协议允许流行的商业操作系统上的JVM中的多用户框架。
正如已经介绍过的,本发明在Java的易于编程和NT使用的充分安全模式之间提供了桥梁。具体地,在运行Java程序用户的身份下,允许Java访问操作系统资源,本技术允许每一套NT平台上运行的Java程序作为不同NT用户在自己的线程内执行。这样,本发明能够使企业在Java和NT中建立适当的安全保护二者之间平衡投入。
前面所描述的不同例程的一个优选实施是一套驻留在计算机随机存贮器内的代码模块中的指令集(程序码)。计算机发出请求前,这套指令集都可以存贮在其它计算机存贮器中,比如硬盘驱动或可更换存贮器,比如光盘(最终用于CD ROM中)或软盘(最终用于软驱中)或通过计算机网络下载。
另外,虽然所描述的各种方法,在一台通用计算机上,通过软件选择性执行或重新配置,可以方便地实施,但本领域的一名普通技术人员也可以认识到:这些方法可以在硬件,固化件或别的为实施所要求的方法步骤的专用设备上实现。
进一步说,尽管本发明是利用在特殊应用环境中的优选实施方案来描述的,那些本领域的技术人员可以认识到:在随后权利要求的实质和范围内,本发明可以通过改进,在其它不同的硬件和操作系统结构下实施。因此,比如,虽然本发明优先地实施允许Java程序访问Windows NT资源,但其原理同样的适用于其它已知的结构。一个示例是Java小服务程序环境。
已经描述了我们的发明,我们所声明的新的和通过专利申请希望得到保护的内容,将在随后的权利要求中陈述。

Claims (23)

1.一种使非信任码编写的程序能够访问本机操作系统资源的方法,包括步骤:
监听登录信用凭证请求;
响应登录请求,请求本机操作系统标志;
将本机操作系统标志送至程序;
用本机操作系统标志创建信用凭证对象;和
用信用凭证对象登录到本机操作系统,使程序能访问系统资源。
2.如权利要求1的方法,其中的程序是Java程序,本机操作系统的Windows NT。
3.如权利要求1的方法,其中的监听步骤是由登录服务程序执行的。
4.如权利要求3的方法中,登录服务程序在命名管道上监听请求。
5.如权利要求3的方法中,登录服务程序监听通过远程过程调用发出的请求。
6.如权利要求3的方法中,请求的发布是由登录服务程序来完成。
7.如权利要求1的方法中,本机操作系统标志符由响应管道传送。
8.如权利要求1的方法中,信用凭证对象在认证框架中创建。
9.如权利要求8的方法,其中,认证框架是可插接认证机制(PAM)。
10.如权利要求8的方法,其中的认证框架符合Java认证和授权服务。
11.一种使非信任码编写的程序能访问本机操作系统资源的方法,包括步骤:
被信任登录服务程序在命名管道上监听请求登录信用凭证的请求;
响应登录请求,被信任登录服务程序请求一个本机操作系统标志符;
通过响应管道,将本机操作系统标志符返回程序;
在认证框架中,用本机操作系统标志符创建信用凭证对象;和
用信用凭证对象登录到本机操作系统,使程序能够访问资源。
12.如权利要求11的方法,其中的本机操作系统是Windows NT。
13.如权利要求12的方法,其中,编写程序的语言可以从Java、ActiveX和Visual Basic中选择。
14.如权利要11的方法,其中,认证框架是具有一套应用编程接口(APIs)的可插接认证机制(PAM)。
15.如权利要14的方法,其中的应用编程接口包括登录、提交、中止和注销APIs。
16.如权利要求14,其中的认证框架符合Java认证服务。
17.一种计算机可读媒介中的计算机程序产品,使非信任码编写的程序能够访问本机操作系统资源,包括步骤:
监听登录信用凭证请求的手段;
响应登录请求,请求本机操作系统标志符的手段;
向程序传送本机操作系统标志符的手段;
用本机操作系统标志符创建信用凭证对象的手段;和
用信用凭证对象登录到本机操作系统使程序能够访问资源的手段。
18.如权利要求17的计算机程序产品,其中的程序是Java程序,本机操作系统是Windows NT。
19.如权利要求17的计算机程序产品,其中的监听步骤的手段是一登录服务程序。
20.如权利要求17的计算机程序产品,其中的信用凭证对象在认证框架中创建。
21.一种应用服务器,包括:
一套Java程序;
一个运行本机操作系统的处理器,该系统提供执行该套Java程序的支持;和
使每一Java程序作为不同本机操作系统用户在操作系统线程中运行的装置。
22.如权利要求21的应用服务器,其中的本机操作系统是WindowsNT。
23.如权利要求21的应用服务器,还包括,由该处理器执行的服务器应用程序,它从客户机接收服务请求,并在给定的操作系统线程中开始执行一个Java程序。
CN00108987A 1999-05-27 2000-05-25 与主操作系统的安全子系统交互的方法 Expired - Lifetime CN1114858C (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/321,788 1999-05-27
US09/321788 1999-05-27
US09/321,788 US7451484B1 (en) 1999-05-27 1999-05-27 Method for enabling a program written in untrusted code to interact with a security subsystem of a hosting operating system

Publications (2)

Publication Number Publication Date
CN1278082A true CN1278082A (zh) 2000-12-27
CN1114858C CN1114858C (zh) 2003-07-16

Family

ID=23252030

Family Applications (1)

Application Number Title Priority Date Filing Date
CN00108987A Expired - Lifetime CN1114858C (zh) 1999-05-27 2000-05-25 与主操作系统的安全子系统交互的方法

Country Status (2)

Country Link
US (1) US7451484B1 (zh)
CN (1) CN1114858C (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1627679B (zh) * 2003-11-14 2010-04-28 微软公司 网络上的安全动态凭证分发
US7784088B2 (en) 2004-07-30 2010-08-24 Research In Motion Limited Method and system for managing delayed user authentication
US7996908B2 (en) 2004-07-30 2011-08-09 Research In Motion Limited Method and system for coordinating client and host security modules
CN102930368A (zh) * 2011-09-27 2013-02-13 微软公司 容错外部应用服务器
CN105046163A (zh) * 2014-05-02 2015-11-11 美国博通公司 保护嵌入式管理程序系统中的重要数据结构

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1967981A4 (en) * 2005-12-27 2009-04-22 Nec Corp DEVICE, PROGRAM EXECUTION MONITORING METHOD, AND EXECUTION MONITORING PROGRAM
US8707337B2 (en) * 2006-10-31 2014-04-22 Motorola Mobility Llc Dispatch API that permits midlets to initiate dispatch calls
US8375440B2 (en) * 2007-10-15 2013-02-12 Microsoft Corporation Secure bait and switch resume
US8533797B2 (en) 2008-06-12 2013-09-10 Microsoft Corporation Using windows authentication in a workgroup to manage application users
US8429741B2 (en) * 2008-08-29 2013-04-23 Google, Inc. Altered token sandboxing
US8874935B2 (en) 2011-08-30 2014-10-28 Microsoft Corporation Sector map-based rapid data encryption policy compliance
US8924443B2 (en) * 2012-10-05 2014-12-30 Gary Robin Maze Document management systems and methods
US20140344570A1 (en) 2013-05-20 2014-11-20 Microsoft Corporation Data Protection For Organizations On Computing Devices
US10615967B2 (en) 2014-03-20 2020-04-07 Microsoft Technology Licensing, Llc Rapid data protection for storage devices
US9825945B2 (en) * 2014-09-09 2017-11-21 Microsoft Technology Licensing, Llc Preserving data protection with policy
US9853812B2 (en) 2014-09-17 2017-12-26 Microsoft Technology Licensing, Llc Secure key management for roaming protected content
US9900295B2 (en) 2014-11-05 2018-02-20 Microsoft Technology Licensing, Llc Roaming content wipe actions across devices
US9853820B2 (en) 2015-06-30 2017-12-26 Microsoft Technology Licensing, Llc Intelligent deletion of revoked data
US9900325B2 (en) 2015-10-09 2018-02-20 Microsoft Technology Licensing, Llc Passive encryption of organization data
US11102188B2 (en) * 2016-02-01 2021-08-24 Red Hat, Inc. Multi-tenant enterprise application management
CN108170485B (zh) * 2016-12-05 2021-06-11 腾讯科技(深圳)有限公司 一种插件加载方法、装置及移动终端

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4918653A (en) * 1988-01-28 1990-04-17 International Business Machines Corporation Trusted path mechanism for an operating system
US5187790A (en) * 1989-06-29 1993-02-16 Digital Equipment Corporation Server impersonation of client processes in an object based computer operating system
US5421011A (en) 1991-12-20 1995-05-30 International Business Machines Corporation Method and system for access and accounting control in a data processing system by using a single resource account for a user or a group of users
US6157961A (en) * 1992-12-21 2000-12-05 Sun Microsystems, Inc. Client-side stub interpreter
US5623601A (en) 1994-11-18 1997-04-22 Milkway Networks Corporation Apparatus and method for providing a secure gateway for communication and data exchanges between networks
US5682478A (en) 1995-01-19 1997-10-28 Microsoft Corporation Method and apparatus for supporting multiple, simultaneous services over multiple, simultaneous connections between a client and network server
US5689708A (en) * 1995-03-31 1997-11-18 Showcase Corporation Client/server computer systems having control of client-based application programs, and application-program control means therefor
US5678041A (en) 1995-06-06 1997-10-14 At&T System and method for restricting user access rights on the internet based on rating information stored in a relational database
US5708780A (en) 1995-06-07 1998-01-13 Open Market, Inc. Internet server access control and monitoring systems
US5802367A (en) * 1995-07-07 1998-09-01 Microsoft Corporation Method and system for transparently executing code using a surrogate process
US6684259B1 (en) 1995-10-11 2004-01-27 Citrix Systems, Inc. Method for providing user global object name space in a multi-user operating system
US5684951A (en) 1996-03-20 1997-11-04 Synopsys, Inc. Method and system for user authorization over a multi-user computer system
US6308225B1 (en) * 1996-07-11 2001-10-23 724 Solutions, Inc. Method for performing distributed object calls
US6553428B1 (en) * 1996-11-18 2003-04-22 International Business Machines Corporation Distributed object instantiation of native objects in java
US6317742B1 (en) * 1997-01-09 2001-11-13 Sun Microsystems, Inc. Method and apparatus for controlling software access to system resources
US6298370B1 (en) * 1997-04-04 2001-10-02 Texas Instruments Incorporated Computer operating process allocating tasks between first and second processors at run time based upon current processor load
US6275938B1 (en) * 1997-08-28 2001-08-14 Microsoft Corporation Security enhancement for untrusted executable code
US5974566A (en) * 1997-10-07 1999-10-26 International Business Machines Corporation Method and apparatus for providing persistent fault-tolerant proxy login to a web-based distributed file service
US6182142B1 (en) * 1998-07-10 2001-01-30 Encommerce, Inc. Distributed access management of information resources
US6453362B1 (en) * 1998-08-12 2002-09-17 International Business Machines Corporation Systems, methods and computer program products for invoking server applications using tickets registered in client-side remote object registries
US6529962B1 (en) * 1999-02-05 2003-03-04 International Business Machines Corporation Preserving thread identity during remote calls

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1627679B (zh) * 2003-11-14 2010-04-28 微软公司 网络上的安全动态凭证分发
US7784088B2 (en) 2004-07-30 2010-08-24 Research In Motion Limited Method and system for managing delayed user authentication
US7996908B2 (en) 2004-07-30 2011-08-09 Research In Motion Limited Method and system for coordinating client and host security modules
US8250371B2 (en) 2004-07-30 2012-08-21 Research In Motion Limited Method and system for managing delayed user authentication
CN101002180B (zh) * 2004-07-30 2012-09-05 捷讯研究有限公司 用于协调客户和主机安全模块的方法和系统
US8713706B2 (en) 2004-07-30 2014-04-29 Blackberry Limited Method and system for coordinating client and host security modules
CN102930368A (zh) * 2011-09-27 2013-02-13 微软公司 容错外部应用服务器
CN102930368B (zh) * 2011-09-27 2017-05-03 微软技术许可有限责任公司 容错外部应用服务器
CN105046163A (zh) * 2014-05-02 2015-11-11 美国博通公司 保护嵌入式管理程序系统中的重要数据结构
US10318765B2 (en) 2014-05-02 2019-06-11 Avago Technologies International Sales Pte. Limited Protecting critical data structures in an embedded hypervisor system

Also Published As

Publication number Publication date
US7451484B1 (en) 2008-11-11
CN1114858C (zh) 2003-07-16

Similar Documents

Publication Publication Date Title
CN1114858C (zh) 与主操作系统的安全子系统交互的方法
US6668327B1 (en) Distributed authentication mechanisms for handling diverse authentication systems in an enterprise computer system
US5872915A (en) Computer apparatus and method for providing security checking for software applications accessed via the World-Wide Web
EP0762289B1 (en) Method and system for securely controlling access to system resources in a distributed system
CN1124550C (zh) 对受保护存储系统中的服务的访问进行控制的方法及设备
EP0972234B1 (en) Method and apparatus for providing security for servers executing application programs received via a network
US5918228A (en) Method and apparatus for enabling a web server to impersonate a user of a distributed file system to obtain secure access to supported web documents
CN102495750B (zh) 用于部署虚拟桌面的方法和系统
US5664098A (en) Dual decor capability for a host system which runs emulated application programs to enable direct access to host facilities for executing emulated system operations
EP1047992B1 (en) System and method for authenticating peer components
US5649099A (en) Method for delegating access rights through executable access control program without delegating access rights not in a specification to any intermediary nor comprising server security
US7636851B2 (en) Providing user on computer operating system with full privileges token and limited privileges token
US20030041198A1 (en) Authorization model for administration
US20030159059A1 (en) Apparatus and method for security object enhancement and management
US20070006325A1 (en) Method, system and computer program for controlling access to resources in web applications
US20020169878A1 (en) Secured system for accessing application services from a remote station
JPH10254783A (ja) システムリソースへのソフトウェアアクセスを制御する方法及び装置
WO1999049380A1 (en) System for intercepting file accesses and for automatic decryption and re-encryption of file data on a per-use basis
EP1290856A2 (en) Security architecture for integration of enterprise information system with j2ee platform
US7650627B1 (en) Abstract configuration files for efficient implementation of security services
US6993665B2 (en) Applet permissions manager
Bayer Embedding speech in web interfaces
US7150041B2 (en) Disk management interface
US7337318B2 (en) Method and apparatus for preventing rogue implementations of a security-sensitive class interface
US20050138435A1 (en) Method and system for providing a login and arbitrary user verification function to applications

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C06 Publication
PB01 Publication
C14 Grant of patent or utility model
GR01 Patent grant
CX01 Expiry of patent term

Granted publication date: 20030716

CX01 Expiry of patent term