CN101449257B - 用于对网络资源的单次登入和安全访问的策略驱动的凭证委托 - Google Patents

用于对网络资源的单次登入和安全访问的策略驱动的凭证委托 Download PDF

Info

Publication number
CN101449257B
CN101449257B CN2007800188076A CN200780018807A CN101449257B CN 101449257 B CN101449257 B CN 101449257B CN 2007800188076 A CN2007800188076 A CN 2007800188076A CN 200780018807 A CN200780018807 A CN 200780018807A CN 101449257 B CN101449257 B CN 101449257B
Authority
CN
China
Prior art keywords
server
voucher
user
client computer
client
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
CN2007800188076A
Other languages
English (en)
Other versions
CN101449257A (zh
Inventor
G·梅德文斯基
C·伊尔卡
C·哈古
J·E·帕森斯
M·E·E·D·法萨拉
P·J·里奇
T·B·E-D·M·卡梅尔
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 CN101449257A publication Critical patent/CN101449257A/zh
Application granted granted Critical
Publication of CN101449257B publication Critical patent/CN101449257B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0815Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • 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
    • 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
    • H04L9/3271Cryptographic 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 using challenge-response
    • H04L9/3273Cryptographic 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 using challenge-response for mutual authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)
  • Storage Device Security (AREA)

Abstract

凭证安全支持提供者(Cred SSP)使得任何应用程序能经由客户机侧安全支持提供者(SSP)软件将用户的凭证从客户机经由服务器侧SSP软件安全地委托给目标服务器。该Cred SSP提供了部分地基于一组策略的安全解决方案。策略可以用于任何类型的用户凭证,并且设计不同的策略以缓解各种各样的攻击,使得可对给定委托环境、网络条件、信任等级等发生适当的委托。另外,仅可信子系统,例如本地安全认证机构(LSA)的可信子系统能够访问明文凭证,使得服务器侧上的Cred SSP API的调用应用程序和客户机侧上的Cred SSPAPI的调用应用程序都不能访问明文凭证。

Description

用于对网络资源的单次登入和安全访问的策略驱动的凭证委托
技术领域
本发明涉及用于对联网计算环境中的应用程序、资源和/或服务的单次登入和安全访问的策略驱动的凭证委托。
背景
有时,经由客户机访问的服务器应用程序要求将客户机用户的凭证委托给服务器以支持服务器应用程序所允许的情形。在这一委托情形中,在服务器侧需要远程终端用户的口令以使服务器应用程序仿真当用户仅仅作为服务器应用程序的本地用户登录时可用的功能。
然而,用于将凭证从客户机委托给服务器应用程序以便访问服务器应用程序的能力的现有系统不够安全,即,当将用户的凭证从客户机委托/发送给服务器时不存在充足的保护,这使得用户的凭证易受某些形式的攻击。例如,当前,服务器或客户机侧的调用应用程序有时能够访问用户的明文凭证,并且因此用户的凭证是相当不安全的。另外,当前没有应用于任何类型的用户凭证,即用户名/口令、智能卡个人识别号、一次性通行码(OTP)等的、控制并限制用户凭证从客户机到服务器的委托的策略驱动的方式。
如以下对于本发明更详细描述的,改进现有技术的这些和其它缺陷将是合乎需要的。
概述
鉴于以上原因,本发明提供了一种在联网计算环境中使得任何应用程序能经由客户机侧安全支持提供者(SSP)软件将用户凭证从客户机经由服务器侧SSP软件委托给目标服务器的凭证安全支持提供者(Cred SSP)。在一个实施例中,使该Cred SSP经由可作为客户机的操作系统的一部分包括的安全支持提供者接口(SSPI)软件对用户可用。本发明的Cred SSP提供了部分地基于一组策略的安全解决方案,这些策略包括对于各种各样的攻击安全的默认策略,并用于控制并限制用户凭证从客户机到服务器的委托。策略可以用于任何类型的用户凭证,并且设计不同的策略以缓解各种各样的攻击,使得可对给定委托环境、网络条件、信任等级等发生适当的委托。另外,仅可信子系统,例如本地安全认证机构(LSA)的可信子系统能够访问明文凭证,使得服务器侧上使用Cred SSP的SSPI API的调用应用程序和客户机侧上使用Cred SSP的SSPI API的调用应用程序都不能访问明文凭证。
以下描述了本发明的其它特征。
附图
用于对联网计算环境中的资源的单次登入和安全访问的策略驱动的凭证委托将参考附图来进一步描述,附图中:
图1是允许从客户机到服务器的安全凭证委托的本发明的凭证安全支持提供者体系结构的框图概览;
图2A和2B示出了用于将凭证委托给终端服务器的凭证安全支持提供者体系结构的示例性、非限制性实现。
图3是本发明的凭证安全支持提供者体系结构所利用的示例性、非限制性协议的流程图;
图4是本发明的凭证安全支持提供者体系结构所利用的协议的示例性、非限制性实现的流程图;
图5是根据本发明的允许基于组策略从客户机到服务器的安全凭证委托的凭证安全支持提供者体系结构的框图概览;
图6是根据本发明的可根据攻击威胁在策略等级处考虑的三种不同类型的凭证的框图概览;
图7A是表示其中可实现本发明的示例性网络环境的框图;以及
图7B是表示其中可实现本发明的示例性、非限制性计算系统环境的框图。
详细描述
概览
如在背景中所提到的,存在需要将用户的凭证委托给服务器以便支持服务器情形的某些客户机/服务器应用程序。终端服务器是一个这样的示例,其中有时候在服务器侧使用用户的口令以仿真其在客户机侧的功能。然而,如上所述,现有的委托技术在发送到服务器时并未提供对用户凭证的充足保护。
本发明的Cred SSP是一种新的“安全支持提供者”,其有时候被称为“安全服务提供者”,它可经由客户机的操作系统的现有安全支持提供者接口(SSPI)基础结构而可用。本发明的Cred SSP使得应用程序能例如经由客户机侧SSP软件将用户的凭证从客户机例如经由服务器侧SSP软件委托给目标服务器。在一个示例性、非限制性实施例中,本发明的Cred SSP可被包括在终端服务器中。然而,本发明的Cred SSP可由其它应用程序使用,并且可以使用适用的操作系统的SSPI而对任何内部或第三方应用程序可用。
Cred SSP解决方案是提供一组可用于控制并限制用户凭证从客户机到服务器的委托的策略的更安全的解决方案。策略被设计成着眼于各种各样的攻击,包括在客户机器上运行的恶意软件。本发明的Cred SSP包括“默认安全”策略,它是允许客户机器默认地缓解各种各样攻击的经由策略设置的特定配置。本发明的该组策略适用于保护任何类型的用户凭证,包括但不限于,用户名/口令、智能卡个人识别号、一次性通行码(OTP)等等。本发明的Cred SSP保护用户的凭证,使得服务器或客户机侧的(Cred SSP API的)调用应用程序都不能访问明文凭证,因为仅可信子系统能够访问明文凭证。
例如,微软的终端服务器(TS)是有时需要用户提供终端/客户机处的登入凭证,并将这些登入凭证委托给服务器以授权对终端/客户机的应用程序和微软Windows操作系统产品的“桌面”体验的供应的服务器/客户机产品的一个示例。TS可被认为一般包括了三个主要部分:多用户核心服务器、使Windows桌面界面能由服务器发送给终端的远程桌面协议(RDP)、以及在每一终端上执行的客户机软件。在本发明的一个非限制性实施例中,本发明的凭证安全支持提供者的协议可以结合终端服务器软件来实现。
补充上下文
各实施例中的某一些在此参考认证和凭证委托领域的普通技术人员一般理解的术语来描述。尽管本节并不旨在取代本领域普通技术人员的知识,并且被认为是非穷尽概览,但本节被认为有利地提供了关于在以下更详细描述的本发明的各实施例的操作的上下文中使用的某些术语的一些附加上下文和背景。
关于以下术语的附加上下文和背景一般是本领域普通技术人员已知的,并且因而在此提供:Kerberos、Windows NT局域网(LAN)管理器(NTLM)、简单和受保护通用安全性服务应用程序接口(GSSAPI)协商机制(简称SPNEGO)、本地安全性认证机构(LSA)、安全支持提供者接口(SSPI)和安全套接字层(SSL)协议以及示例性Windows认证基础结构。
Kerberos
Kerberps是用于认证对计算机网络中的服务的请求的安全方法。Kerberos的名字来源于神话中保护冥界入口的三头狗,其让用户向认证过程请求加密的“权证”,该权证然后可用于向服务器请求特定服务,使得用户的口令不必通过网络。Kerberos包括允许访问服务器的客户机和服务器侧软件,包括客户机处用户的登录请求。然而,服务器在其兑现访问其应用程序、资源和/或服务的请求之前需要Kerberos“权证”。为了获得正确的Kerberos权证,客户机向认证服务器(AS)做出认证请求。AS创建“会话密钥”,它也是加密密钥,从而将会话密钥基于从用户名获得的用户口令以及表示所请求的服务的随机值。在这一意义上,会话密钥实际上是“权证授予权证”。
接着,将所获得的权证授予权证发送给权证授予服务器(TGS)。TSG可以物理上是与AS相同的服务器,但是功能上执行不同的服务。TGS返回可被发送给服务器以获得所请求的服务的权证。服务或者在权证无效的情况下拒绝权证,或者接受作为有效权证的权证并执行服务。由于从TGS接收到的权证加了时间戳,因此该权证允许在一特定时间段内使用同一权证的附加请求,而不必重新认证用户对服务器的服务的使用。另一方面,使得权证在有限的时间段内有效使除了授权用户之外的某人较不可能能够重复使用权证。本领域的普通技术人员可以理解,接口、协议、净荷和驱动程序级处的Kerberos认证过程的细节可能要复杂得多,并且用户过程可以根据实现而略微变化。
Windows NT LAN管理器(NTLM)
作为对Kerberos的替换的NTLM是在各种微软网络协议实现中使用并得到NTLM安全支持提供者(NTLMSSP)支持的认证协议。NTLM最初用于安全分布式计算环境(DCE)/远程过程调用(RPC)通信的认证和协商,并且还用作集成的单次登入机制。
NTLM采用了质询—响应机制来进行认证,其中客户机能够证明其身份而无需向服务器发送口令。该质询—响应机制包括三个消息,通常称为类型1(协商)、类型2(质询)和类型3(认证)。在高级别处,采用NTLM,首先,客户机向服务器发送类型1消息,该消息包括客户机支持的且向服务器请求的特征的列表。服务器用类型2消息向客户机响应,该消息包括服务器支持并协定的特征的列表以及服务器生成的质询。客户机用类型3消息来回复该质询,该消息具有关于客户机的若干信息,包括客户机用户的域和用户名以及对类型2质询的一个或多个响应。类型3消息中的响应是重要的片断,因为其向服务器证明客户机用户了解帐户口令。
安全通道(Schannel)
安全通道,也称为Schannel,是包含提供身份认证和通过加密的增强的通信安全性的一组安全协议的安全支持/服务提供者(SSP)。Schannel主要用于对超文本传输协议(HTTP)通信需要增强的安全性的因特网应用程序。其中服务器向客户机提供其身份的证明的服务器认证是Schannel安全协议所需的。由此,Schannel协议利用了可用于认证服务器并可任选地认证客户机的Schannel凭证。服务器可在任何时刻请求客户机认证。Schannel凭证是X.509凭证。使用来自凭证的公钥和私钥信息来认证服务器且可任选地认证客户机。这些密钥也用于在客户机和服务器交换生成和交换会话密钥所需的信息时提供消息完整性。Schannel实现以下更详细提到的SSL和TLS协议。
简单和受保护GSSAPI协商机制(SPNEGO)
SPNEGO是供对等体确定共享哪些GSSAPI机制、选择一个GSSAPI机制、然后用共享的GSSAPI机制来建立安全上下文的标准通用安全服务应用程序接口(GSSAPI)伪机制。对于SPNEGO的规范可在1998年12月的题为“GSS-APINeotiation Mechanism”(GSS-API协商机制)的因特网工程任务组草案RFC2478中找到。
SPNEGO的使用可在例如“HTTP Negotiate”(HTTP协商)扩展中找到,该扩展是首先在浏览软件Internet Explorer中实现并提供了被称为Windows集成认证的单次登入能力的认证扩展。SPNEGO的可协商子机制包括NTLM和Kerberos,它们都可使用现用目录(Active Directory)。
GSSAPI提供了可分层叠加在不同安全机制之上的通用接口,使得如果通信对等体获取了用于同一安全机制的GSSAPI凭证,则可在它们之间建立安全上下文。然而,GSSAPI未规定GSSAPI对等体能确定其是否具有公共安全机制的方法。
SPNEGO使得GSSAPI对等体能够在带内确定其凭证是否共享公共GSSAPI安全机制,并且如果是,则调用对所选公共安全机制的普通安全上下文建立,从而允许不同安全机制、给定安全机制内的不同选项、或来自若干安全机制的不同选项的协商。这对于基于GSSAPI实现、支持多个安全机制的应用程序最为有用。一旦标识了公共安全机制,该安全机制也可在其上下文建立期间协商机制专用选项。
有了SPNEGO,协商数据被封装在上下文级令牌内。由此,GSSAPI的调用者不需要知晓协商令牌的存在,而仅需知晓伪安全机制的存在。
SPNEGO的协商模型如下工作:发起者提议一个安全机制或安全机制的有序列表,并且目标或者接受所提议的安全机制,或者从所提供的集中选择一个机制,或者拒绝所提议的值。目标然后告知发起者其选择。
在其最基本的形式中,该协议需要额外的往返。网络连接设置是任何网络基础结构的关键性能特性,并且WAN链路、分组无线电网络等上的额外往返的确能产生不同。为了避免这一额外往返,可将发起者的优选机制的初始安全令牌嵌入在初始令牌中。如果目标优选机制匹配发起者的优选机制,则不会通过使用协商协议而招致另外的往返。
SPNEGO还提供了在目标选择的底层机制能够进行完整性保护时保护协商的技术。当发起者提议的所有机制都支持完整性保护时,或当所选机制支持完整性保护时,则协商机制变为受保护的,因为这确保选择了两个对等体都支持的适当机制。
本地安全性认证机构(LSA)
尽管是一般化的概念,但是LSA是用于微软Windows操作系统技术的登录过程的关键组件,它负责为本地和远程登录确认用户。LSA还维护本地安全策略。
在对机器的本地、交互式登录期间,个人向登录对话框输入其名字和口令。该信息被传递给LSA,后者然后调用适当的认证包。口令使用单向散列函数以不可逆密钥的格式发送。LSA然后向安全帐户管理器(SAM)数据库查询用户的帐户信息。如果所提供的密钥匹配SAM中的密钥,则SAM返回用户的安全标识符(SID)以及用户所属的任何组的SID。LSA然后使用这些SID来生成安全访问令牌。本说明书适用于用户具有本地帐户而非域帐户的情况,在域帐户情况中,获得Kerberos服务权证以向机器认证用户。
安全支持提供者接口(SSPI)
SSPI定义了认证用户的机制,即,验证用户是该用户所声称的人,或者最低限度,用户知道与特定用户帐户相关联的秘密,例如口令。
用于这一已认证连接的凭证可以是:(1)用于客户机和服务器机器之间的现有的已认证链路(例如,现有驱动器映射)的凭证,(2)用于客户机用户的帐户的凭证,如果服务器识别出与该帐户相关联的SID的话;这意味着客户机和服务器两者都信任同一域,并且用户帐户来自该域,(3)用于服务器上的本地帐户的原始凭证(例如,名字和口令),如果它同时匹配客户机用户的名字和口令的话(在这一情况下,客户机用户的帐户和其在服务器上使用的帐户是不同的),以及(4)用户显式地传入的凭证(例如,名字和口令)。SSPI通过要求调用应用程序(客户机和服务器进程)来回发送数据块,直到满足底层的安全性提供者来工作。
在加载了安全动态链接库(DLL)并选择了包(对诸如NTLM、Kerberos等安全性提供者的另一术语)之后,客户机初始化本地或客户机SSPI并检索要发送给服务器的第一组数据。同时,服务器初始化了服务器SSPI,并在接收第一组数据之后,服务器将其反馈给服务器SSPI,该服务器SSPI处理第一组数据,得到第二组数据。在返回时,服务器对所得的第二组数据执行校验,并且如果数据大于0,则服务器将该第二组数据发送给客户机,后者进而将该组数据馈送给客户机SSPI。客户机SSPI然后或者请求将第三组数据发送给服务器,或者告知应用程序认证完成。这继续直到客户机和服务器SSPI都对从对方接收到的数据感到满意。
此时,服务器持有一上下文句柄,(特别地)可向该上下文句柄查询客户机的用户名。取决于客户机所使用的选项,可允许服务器使用该上下文来扮演客户机、签署或加密消息等等。还有一可被执行的可任选步骤。为结束发送—接收循环,某些安全提供者可请求称为CompleteAuthToken(完成认证令牌,CAT)的预定义完成步骤。
安全套接字层(SSL)和传输层安全(TLS)协议
安全套接字层(SSL)协议和传输层安全(TLS)协议及其后继协议都是由Schannel实现的,它们是提供因特网上的安全通信的密码协议。在SSL3.0和TLS1.0之间有略微不同,但是协议基本上保持相同。除非上下文阐明,否则术语“SSL”有时指的是两个协议。
SSL/TSL协议使用密码术提供了因特网上的端点认证和通信私密性。在典型的使用中,服务器被认证(即,其身份被确保),而客户机保持未被认证,然而可经由对客户机的公钥基础结构(PKI)部署来执行互认证。协议允许客户机/服务器应用程序以被设计成防止窃听、篡改和消息伪造的方式来通信。
示例性、非限制性Windows认证基础结构
一个示例性、非限制性认证基础结构是由支持经由安全服务/支持提供者(SSP)软件的不同认证方法的Windows操作系统技术来提供的。
在一个实现中,Windows支持上述三个主要SSP:Kerberos、NTLM质询/响应和SChannel安全协议。尽管Kerberos是Windows2000中的默认认证方法,但是可通过安全支持提供者接口,即SSPI来使用其它方法。另外,例如,Windows可使用以下网络SSP来提供使用数字证书的认证服务:分布式口令认证(DPA)—一种因特网认证协议,可扩展认证协议(EAP)—对点对点(PPP)协议和基于公钥的协议的扩展,包括SSL、TLS和专用通信技术。
用于对网络资源的单次登入和安全访问的策略驱动的凭证委托
如上所述,本发明提供了使得应用程序能例如经由客户机侧SSP软件将用户的凭证从客户机例如经由服务器侧SSP软件委托给目标服务器的增强的凭证安全支持提供者(Cred SSP)软件。本发明的Cred SSP可由操作系统的任何本机应用程序或使用适用的SSPI,例如与操作系统应用程序平台集成的SSPI的任何第三方应用程序来使用。
图1是本发明的Cred SSP体系结构的框图概览,该Cred SSP使得凭证能从客户机安全委托给服务器,而不会向调用应用程序展示明文凭证。在一个实施例中,该Cred SSP被实现为两个包的集合:对客户机计算设备或服务器计算设备的任一个,设备D的客户机(或应用程序)侧CredSSP包Client-Side_CredSSP和LSA侧CredSSP包LSA_CredSSP。
客户机侧包Client-side_CredSSP是被展示给客户机侧安全支持提供者接口Client-side_CredSSP接口I1的调用者的客户机侧安全支持提供者软件,它提供Schannel协商并展示Schannel包功能,以及经由LSA侧CreedSSP接口I2与LSA侧包LSA_CredSSP通信。根据本发明,在用户进程中处理Schannel协商和功能有助于比LSA的执行更快的encryptMessage(加密消息)和decryptMessage(解密消息)操作。
根据本发明,LSA包LSA_CredSSP提供了SPNEGO协商和凭证加密/解密以及凭证转发,并执行对根据本发明的上述策略集定义的策略的策略检验。
如上所述,且如示例性、非限制性实施例中的图2A和2B所示,本发明结合将凭证委托给终端服务器250的终端服务器客户机200来实现。
如图2A所示,终端服务器客户机200的实现利用包括跨进程边界220发送数据的本地过程调用(LPC)215经由安全认证库205与LSA服务器进程225交互。函数210在安全认证库205中执行,并且可包括CredSSP初始化安全上下文(CredSSP.ISC)函数,该函数包括安全套接字层/初始化安全上下文(SSL.ISC)函数和安全套接字层/加密消息(SSL.EM)函数。函数230在LSA服务器进程225中执行,并且可包括CredSSP初始化安全上下文(CredSSP.ISC)函数,该函数包括SPNEGO/初始化安全上下文(SPNEGO.ISC)函数和SPNEGO/加密消息(SPNEGO.EM)函数。
如图2B所示,终端服务器250的实现利用包括穿越进程边界270的本地过程调用(LPC)265经由安全认证库225与LSA服务器进程275交互。函数260在安全认证进程205中执行,并且可包括CredSSP接受安全上下文(CredSSP.ASC)函数,该函数包括安全套接字层/接受安全上下文(SSL.ASC)函数和安全套接字层/解密消息(SSL.DM)函数。函数280在LSA服务器进程275中执行,并且可包括CredSSP接受安全上下文(CredSSP.ASC)函数,该函数包括SPNEGO/接受安全上下文(SPNEGO.ASC)函数和SPNEGO/解密消息(SPNEGO.DM)函数。
本发明的Cred SSP利用的一个示例性、非限制性协议在图3的流程图中以示例性方式示出。在300处,在客户机和服务器之间发生初始SSL/TLS握手。在305处,发生SPNEGO协商以选择一认证机制(例如,Kerberos或NTLM,或客户机和服务器理解的其它合适的协商机制)。在310和315处,使用协商的认证机制,向客户机认证服务器,并向服务器认证客户机。
在320处,如果根据步骤310和/或315在客户机和服务器之间实现了适当的认证,则在330处对所有进一步的话务建立共享秘密(例如,共享密钥)。然而,有利的是,在320处,如果未在客户机和服务器之间建立适当的认证,则在325处不创建会话,并且避免了许多计算花费和通信量。在过去,例如,对于终端服务器的过去的实现,认证的执行要更昂贵,因为执行认证的尝试是在创建了会话之后开始的。相反,根据本发明的Cred SSP的协议,除非实现了根据SPNEGO所选的认证机制的客户机和服务器的认证,否则不创建客户机和服务器之间的会话。
由此,在320处假定已经使用所选认证机制执行了适当的认证,在330处为客户机和服务器之间所有进一步的话务建立共享密钥。然而,仅仅因为发生了阈值认证并不意味着服务器必定是客户机所信任的。由此,此时,当在客户机和服务器之间创建了会话时,该服务器可被认为是可信或不可信的。因此,使用本发明的组策略335,客户机器上的LSA Cred SSP在340处执行策略检验来确定是否委托用户凭证。如果服务器不可信,则在345处,不委托凭证。如果服务器关系按照340处的策略检验是可信的,则在350处,认证服务器的公钥以帮助避免“中间人”攻击,在该攻击中,欺诈性软件对象模仿服务器的行为和公钥。由此,如果服务器的公钥未在350处得到认证,则在355处根据中间人攻击的风险不委托凭证。在360处,向凭证应用仅被LSA的可信子系统理解的加密格式。在465处,将加密的凭证从客户机委托给服务器。通过使得加密格式仅被LSA的可信子系统理解,客户机和服务器上对LSA和本发明的Cred SSP的调用应用程序有利地不会不恰当地访问明文凭证。
图4作为一个示例性、非限制性流程图,示出了本发明的凭证委托协议的更详细实现。在400处,在客户机和服务器之间完成SSL/TLS握手,并且在客户机和服务器之间建立SSL/TLS加密密钥KSSL/TLS。Kpub是服务器的证书中的公钥。然后,在410处,通过加密的SSL/TLS信道,使用SPNEGO包来完成客户机和服务器的互认证。取决于客户机/服务器信任关系,协商并使用Kerberos或NTLM包中的任一个。要注意,在协商NTLM的情况下,服务器向客户机证明对口令的了解,但是同一域中的其它服务器能访问该口令。Kspnego或者是Kerberos子会话,或者是在完成SPNEGO交换时两方共享的NTLM会话密钥。
在420处,客户机器上的LSA Cred SSP基于服务器的服务主体名(SPN)、服务器认证信息(PKI/KRB对比NTLM)和组策略设置来执行策略检验,以确定是否将用户的凭证委托给服务器。然后,在430处,通过执行以下示例性认证交换来验证KSSL/TLS属于目标服务器且不是中间人:
C→S:{{Kpub}Kspnego}KSSL/TLS
S→C:{{Kpub+1}Kspnego}KSSL/TLS
注意,使用KSSL/TLS来加密所有的客户机/服务器通信。此外,如果没有基于PKI的信任,则该服务器认证步骤可以基于Kerberos或NTLM。如所描述的,可在SSL/TLS上实现SSL/TLS认证的信道向基于Kerberos的认证的安全绑定。换言之,本发明可以安全地利用基于Kerberos的凭证来认证SSL/TLS协商的主/会话密钥,这在SSL/TLS客户机和SSL/TLS服务器之间没有PKI信任的情况下尤其有用。
最后,在440处,根据以下符号数据交换,可将用户的凭证(例如,口令)以防止明文凭证被除了本发明的可信LSA子系统之外的系统查阅的方式委托给服务器:
C→S:{{口令}Kspnego}KSSL/TLS
如上所述,例如,分别在图3和4的步骤340(以及组策略335)和420,利用策略来控制并限制根据本发明的客户机凭证委托以缓解各种各样的安全攻击。如上所述,本发明的LSA包提供了SPNEGO协商、凭证加密/解密和凭证转发。本发明的LSA包还执行对根据本发明定义的策略的策略检验。本发明的组策略设置的目的是确保用户的凭证不被委托给非授权服务器,例如在欺诈的管理控制下的或服从攻击者的机器。应当注意,尽管可存在信任以便于客户机和服务器之间的认证,例如基于PKI、Kerberos或NTLM认证,但这些信任并不意味着目标服务器对于用户凭证是可信的。由此,本发明包括策略咨询以确保目标服务器对于委托的凭证是可信的。
图5是本发明的Cred SSP体系结构的示例性、非限制性框图,该Cred SSP使得凭证能从客户机安全委托给服务器,而不会向调用应用程序展示明文凭证。类似于图1,该Cred SSP被实现为客户机C和服务器S两者上的两个包的集合:客户机侧包和LSA侧包。在客户机C,这转换为Client侧CredSSP和LSA侧CredSSP。在服务器S上,这转换为Client侧CredSSP′和LSA侧CredSSP′。图5示出根据本发明,用户的明文凭证从不存储在请求服务器510的服务器应用程序、资源或服务ARS的客户机500的调用应用程序CA上或对其可访问。分出LSA的可信子系统部分的虚线示出仅LSA的可信子系统部分能够访问用户的明文凭证,即解密/加密的能力。另外,图5示出客户机器上的LSA侧CredSSP咨询本发明的组策略GP,如以下更详细描述的。
在这一点上,以下表III中示出的组策略设置定义了哪些服务器对于用户凭证是可信的,其中每一设置是服务主体名(SPN)的列表;在一个实施例中,允许通配符。如串识别领域的普通技术人员能理解的,通配符指的是诸如“*”等可代表SPN的字母表中可准许的任何字符或串的字符。由此,根据本发明,Cred SSP(客户机侧)仅在服务器向客户机认证且服务器的SPN通过例如以下表III所示的组策略(GP)设置所定义的策略检验时,才委托用户的凭证。
以下表III中定义的用于委托用户凭证的策略设置被设计成缓解各种攻击,包括但不限于表I中列出的攻击:
 
1 特洛伊木马或恶意软件可能在客户机器上运行,例如在受限用户访问(LUA)模式而非管理模式下运行。
2 默认GP设置对比可由管理员配置的其它GP值(包括通配符的误用)。
3 域名服务(DNS)中毒。当客户机解析主机名时,它可能与欺诈服务器在通信。
4 Kerberos密钥分发中心(KDC)上的服务拒绝攻击。
表I—策略设置所缓解的攻击类型
关于根据本发明定义(在以下表III中以示例性、非限制性方式定义)的策略中的哪一个应用于给定情形的决定取决于如以上关于图3到5所描述的在客户机和服务器之间协商的认证协议以及凭证的类型。图6示出了根据本发明可作为策略的基础的示例性凭证类型,包括新鲜凭证、默认凭证和保存的凭证。新鲜凭证是经由诸如CredUI 610等凭证用户界面实时输入的凭证。保存的凭证是先前作为新鲜凭证输入的、并且被存储以供诸如CredMan 600等凭证管理器附加地重复使用例如有限的时间段的凭证。保存的凭证从安全观点来看被认为比新鲜凭证弱。默认凭证则还要不安全,如其名字所蕴含的,默认凭证是被设计成由LSA 620在没有使用其它凭证的其它指令的情况下使用的默认凭证。例如,默认凭证可包括在登录时输入的凭证。默认凭证对于诸如某些网站凭证的不需要提升的安全性的某些情况是没问题的。并且,尽管较不安全,但默认凭证具有立即对LSA 620可用的优点。由此,如图6所示,存在可结合终端服务器客户机TSC的请求利用的三种类型的凭证。表II阐明了在该示例性、非限制性实施例中考虑的三种类型的凭证:新鲜、保存的和默认。
 
新鲜凭证 经由诸如CredUI等用户界面收集的、并直接传递给SSPI(例如,传入AcquireCredentialsHandle(获取凭证句柄)调用中)的用
 
户凭证。
默认凭证 最初在用户首次登入到系统时由用户提供的凭证(对SSP可用)。
保存的凭证 用户选择保存在凭证管理器(例如,CredMan)中的对于特定目标服务器的凭证。
表II—凭证类型
如上所述,以下的表III包括根据本发明的用于控制/限制客户机向服务器的用户凭证委托的示例性、非限制性组策略(GP)设置集合。计算机联网领域的普通技术人员可以理解,Termsrv/*代表了其中服务是Termsrv而正斜杠“/”之后列出的主机可以是匹配*通配符的任何目标服务器的一组SPN。
 
# GP设置(SPN列表) 默认值 注释
1 AllowDefCredentials含义:口令可在用默认凭证认证时转递给列出的目标 默认设置:默认地,不对任何机器准许默认凭证(当用户首次登入时输入的凭证)委托。这意味着在客户机器上运行(在LUA模式下)的恶意软件将不能通过访问Cred SSP来委托默认凭证(不考虑所有其它因素,即认证方案),因为策略检验将会失败。
2 AllowSavedCredentials含义:口令可在用保存的凭证认证时转递给列出的目标 Termsrv/* 默认设置:默认值准许将用户保存的凭证委托给在任何机器上运行的终端服务。应当注意,这应用于用户先前登录过并选
 
择将该凭证保存在CredMan中的服务器。(目标服务器名连同用户的凭证一起存储在CredMan中)。
 
3 AllowFreshCredentials含义:口令可在用新鲜凭证认证时转递给目标 Termsrv/* 作为与以上设置的比较,采用AllowFreshCredentials,恶意软件不可能执行无声登录(不首先提示用户,假定不启用AllowSavedCredentials和AllowDefCredentials策略设置)。
4 DenyDefCredentials含义:口令在用默认凭证认证时不能转递给列出的目标 该设置用于进一步限制用户的默认凭证可被委托给哪些服务器,并且本身并不提供恶意利用的机会。然而,管理员在经由DenyDefCredentials和AllowDefCredentials设置的组合构造用于默认凭证的策略时应仍小心。如果AllowDefCredentials覆盖了一组较宽的服务器,则经由DenyDefCredentials表达的异常列表不能全面覆盖给定环境中的所有不可信服务器。这在新服务器上线时随着时间的问题会尤其成问题。另外,具有管理特权的恶意软件可从DenyDefCredentials列表中移除不可
 
信服务器。然而,具有管理特权的恶意软件是“游戏结束”状况,因为存在若干方式来在这一情况下获得用户的口令。
5 DenySavedCredentials含义:口令在用保存的凭证认证时不能转递给列出的目标 该设置用于进一步限制用户的保存的凭证可被委托给哪些服务器,并且本身并不提供恶意利用的机会。
6 DenyFreshCredentials含义:口令在用新鲜凭证认证时不能转递给列出的目标 该设置用于进一步限制用户的新鲜凭证可被委托给哪些服务器,并且本身并不提供恶意利用的机会。
 
7 AllowDefCredentialsWhenNTLMOnly含义:如果仅认证包是NTLM并且用户用默认凭证认证,则允许口令传递给列出的列表。 默认地,该设置是关闭的,因为基于Kerberos和PKI的信任提供了比NTLM更强的认证方法。
8 AllowSavedCredentialsWhenNTLMOnly含义:如果仅认证是NTLM并且用户用保存的凭证认证,则允许口令传递给列出的列 Termsrv/*(未联接)空(已联接) 为应对NTLM协议中固有的弱点,用户凭证的委托默认地仅对域未联接的机器允许(在这一情况下,确保服务器认证由目标独立机器实现)。默认地,对于域联接的情况,NTLM本身不被允许(服务器认证基于
 
表。 Kerberos或PKI)。
9 AllowFreshCredentialsWhenNTLMOnly含义:如果仅认证是NTLM并且用户用新鲜凭证认证,则允许口令传递给列出的目标。 Termsrv/*
表III—用于控制/限制用户凭证委托的组策略设置
概括而言,本发明的Cred SSP解决方案通过提供一组可用于控制并限制用户凭证从客户机到服务器的委托的策略而提供了比以往更安全的解决方案。对于表III所示的示例性、非限制性策略集,这些策略被设计成着眼于各种各样的攻击,包括运行在客户机器上的恶意软件。另外,本发明的Cred SSP包括“默认安全”策略,它是允许客户机器默认地缓解各种各样攻击的经由策略设置的特定配置。此外,本发明的该组策略适用于保护任何类型的用户凭证,包括但不限于,用户名/口令、智能卡个人识别号、一次性通行码(OTP)等等。本发明的Cred SSP提供对用户的凭证的额外保护,因为服务器或客户机侧的(Cred SSP API的)调用应用程序永远不能访问用户的明文凭证,因为仅LSA的可信子系统能够访问明文凭证。
示例性联网和分布式环境
本领域的普通技术人员可以理解,本发明可以结合任何计算机或可作为计算机网络的一部分来部署的其它客户机或服务器设备来实现,或可在分布式计算环境中实现。在这一点上,本发明涉及任何计算机系统或环境,其具有任意数目的存储器或存储单元,以及发生在任意数目的存储单元或卷上的任意数目的应用程序和进程,它们可结合根据本发明的用于将凭证从客户机委托给服务器的过程来使用。本发明可应用于具有部署在具有远程或本地存储的网络环境或分布式计算环境中的服务器计算机和客户计算机的环境。本发明也可应用于具有编程语言功能、用于生成、接受和发送关于远程或本地服务和进程的信息的解释和执行能力的独立计算设备。
分布式计算通过计算设备和系统之间的交换提供了计算机资源和服务的共享。这些资源和服务包括信息的交换、对于诸如文件等对象的高速缓存存储和盘存储。分布式计算利用网络连接,允许客户机利用它们的集体力量来使整个企业受益。在这一点上,各种设备可具有可包含本发明的用于将凭证从客户机委托给服务器的系统和方法的应用程序、对象或资源。
图7A提供了示例性联网或分布式计算环境的示意图。分布式计算环境包括计算对象10a、10b等,以及计算对象或设备110a、110b、110c等。这些对象可包括程序、方法、数据存储、可编程逻辑等等。这些对象可包括诸如PDA、音频/视频设备、MP3播放器、个人计算机等的相同或不同设备的各部分。每一对象可通过通信网络14与另一对象通信。该网络本身可以包括向图7A的系统提供服务的其它计算对象和计算设备,且其本身可以表示多个互连的网络。根据本发明的一方面,每一对象10a、10b等,或110a、110b、110c等,可包含可利用适用于根据本发明的用于将凭证从客户机委托给服务器的系统和方法的API、或其它对象、软件、固件和/或硬件的应用程序。
还可以理解,诸如110c等对象可以主存在另一计算设备10a、10b等或110a、110b等上。因此,尽管所示的物理环境可以将所连接的设备示为计算机,但是这样的说明仅是示例性的,并且该物理环境可以被替换地描述或描绘成含有诸如PDA、电视机、MP3播放器等的各种数字设备,以及诸如接口、COM对象等软件对象。
存在支持分布式计算环境的各种系统、组件和网络配置。例如,计算系统可以由有线或无线系统、本地网络或广泛分布的网络连接在一起。当前,许多网络耦合至因特网,后者为广泛分布的计算提供了基础结构并包含许多不同的网络。任一基础结构可用于与根据本发明的将凭证从客户机委托给服务器有关的示例性通信。
在家庭网络环境中,有至少四个全异的网络传输媒体,其每一个可支持一种唯一的协议,这些媒体如电力线、数据(无线和有线)、语音(如,电话)和娱乐媒体。诸如电灯开关和电器设备等大多数家庭控制设备可使用电力线来连接。数据服务可通过宽带(如,DSL或电缆调制解调器)进入家庭,并可在家庭内使用无线(如,HomeRF或802.11B)或有线(如,家庭PNA、Cat5、以太网、甚至是电力线)连接来访问。语音话务可通过有线(如,Cat3)或无线(如,蜂窝电话)进入家庭,并可在家庭中使用Cat3连线来分布。娱乐媒体或其它图形数据可通过卫星或电缆进入家庭,并通常在家庭中使用同轴电缆来分布。IEEE1394和DVI也是用于媒体设备群集的数字互联。可作为协议标准浮现或已经浮现的所有这些网络环境和其它环境可被互联来形成可通过诸如因特网等广域网连接到外部世界的网络,诸如内联网。简言之,存在用于存储和传输数据的各种不同的源,且因此,进一步而言,计算设备需要诸如在根据本发明的将凭证从客户机委托给服务器期间共享诸如所访问或利用的与程序对象有关的数据等数据的方式。
因特网通常指使用传输控制协议/网际协议(TCP/IP)协议套件的网络和网关的集合,该协议在计算机联网领域中是公知的。因特网可被描述为由执行允许用户通过网络交互和共享信息的联网协议的计算机互连的地理上分布的远程计算机网络的系统。由于这类广泛分布的信息共享,诸如因特网等远程网络至今发展成一种开放式系统,开发者可用该开放式系统设计用于执行专用操作或服务的软件应用程序,在本质上没有限制。
由此,网络基础结构启用了诸如客户机/服务器、对等或混合体系结构等大量网络拓朴结构。“客户机”是使用它无关的另一类或组的服务的一个类或组中的成员。由此,在计算时,客户机是进程,即,粗略地而言是一组请求由另一程序提供的服务的指令或任务。客户机进程利用所请求的服务,而不必“知道”有关其它程序或服务本身的任何工作细节。在客户机/服务器体系结构中,尤其在网络化系统中,客户机通常是访问由例如服务器等另一计算机提供的共享的网络资源的计算机。在图7A的图示中,作为一个示例,计算机110a、110b等可以被认为是客户机,而计算机10a、10b等可以被认为是服务器,其中服务器10a、10b等维护随后被复制到客户计算机110a、110b等的数据,然而任何计算机都可被认为是客户机、服务器或两者,取决于环境。这些计算设备中的任一个可以处理数据或请求可包含根据本发明的从客户机到服务器的凭证委托的服务或任务。
服务器通常是可通过诸如因特网等远程网络或本地网络访问的远程计算机系统。客户机进程可以在第一计算机系统中活动,而服务器进程可以在第二计算机系统中活动,它们通过通信介质彼此通信,从而提供分布式功能并允许多个客户机利用服务器的信息收集能力。根据本发明的用于将凭证从客户机委托给服务器的技术所使用的任何软件对象可分布在多个计算设备或对象上。
客户机和服务器利用由协议层提供的功能来彼此通信。例如,超文本传输协议(HTTP)是结合万维网(WWW)或“Web”使用的常见协议。通常,诸如网际协议(IP)地址或诸如统一资源定位器(URL)等其它引用的计算机网络地址可以用于彼此标识服务器或客户计算机。网络地址可以被称为URL地址。可以通过通信介质来提供通信,例如客户机和服务器可以通过用于大容量通信的TCP/IP连接来彼此耦合。
由此,图7A示出了其中可采用本发明的具有通过网络/总线与客户计算机通信的服务器的示例性联网或分布式环境。更详细而言,根据本发明,多个服务器10a、10b等经由通信网络/总线14互连,通信网络/总线14可以是LAN、WAN、内联网、因特网等,它具有多个客户机或远程计算设备110a、110b、110c、110d、110e等,如便携式计算机、手持式计算机、瘦客户机、联网设备或其它设备,如VCR、TV、烤箱、灯、加热器等等。因此,构想了本发明可应用于对于其期望将用户凭证委托给服务器的任何计算设备。
例如,在其中通信网络/总线14是因特网的网络环境中,服务器10a、10b等可以是客户机110a、110b、110c、110d、110e等通过诸如HTTP等多种已知协议中的任一种与其通信的web服务器。服务器10a、10b等也可担当客户机110a、110b、110c、110d、110e等,这是分布式计算环境的特性。
如上所述,通信可以是有线或无线的,或者在适当时是两者的组合。客户机设备110a、110b、110c、110d、110e等可以通过或不通过通信网络/总线14通信,并可具有与其相关联的独立通信。例如,在TV或VCR的情况下,可以有或没有其控制的网络化方面。每一客户计算机110a、110b、110c、110d、110e等以及服务器计算机10a、10b等可以具备各种应用程序模块或对象135a、135b、135c等,并具有对各种类型的存储元件或对象的连接或访问,在这些存储元件或对象上可储存文件或数据流,或者可向其下载、发送或迁移文件或数据流的各部分。计算机10a、10b、110a、110b等中的任何一个或多个可负责维护并更新数据库20或其它存储元件,诸如用于储存根据本发明处理或保存的数据的数据库或存储器20。由此,本发明可以用于具有可访问计算机网络/总线14并与其交互的客户计算机110a、110b等,以及可与客户机计算机110a、110b等交互的服务器计算机10a、10b等,以及其它类似的设备111和数据库20的计算机网络环境中。
示例性计算设备
如上所述,本发明适用于其中期望屏蔽主应用程序干扰设备的次要应用程序的任何设备。因此,应当理解,构想了所有种类的手持式、便携式和其它计算设备和计算对象来用于本发明,即,设备希望将凭证委托给服务器的任何地方(例如,经由诸如移动电话等便携式设备的GSM网络)。因此,在下面的图7B中描述的以下通用远程计算机仅是一个示例,且本发明可用具有网络/总线互操作性和交互的任何客户机来实现。由此,本发明可在其中蕴含了极少或最小客户机资源的联网的主存服务的环境,例如其中客户机设备仅用作到网络/总线的接口—如置于电器中的对象—的联网环境中实现。
尽管并非所需,但本发明可以部分地经由操作系统来实现,以供设备或对象的服务开发者使用,和/或被包括在结合本发明的组件操作的应用软件中。软件可以在由诸如客户机工作站、服务器或其它设备等一个或多个计算机执行的诸如程序模块等计算机可执行指令的通用上下文中描述。本领域的技术人员可以理解,本发明可以用其它计算机系统配置和协议来实施。
图7B由此示出了其中可实现本发明的合适的计算系统环境100a的一个示例,但如以上清楚地描述的,计算系统环境100a仅为用于计算设备的合适的计算环境的一个示例,并非对本发明的使用范围或功能提出任何局限。也不应将计算系统100a解释为对示例性操作环境100a中示出的任何组件或其组合具有任何依赖性或需求。
参见图7B,用于实现本发明的示例性远程设备包括计算机110a形式的通用计算设备。计算机110a的组件可以包括,但不限于,处理单元120a、系统存储器130a和将包括系统存储器在内的各种系统组件耦合至处理单元120a的系统总线121a。系统总线121a可以是几种类型的总线结构中的任一种,包括存储器总线或存储控制器、外围总线、以及使用各种总线体系结构中的任一种的局部总线。
计算机110a通常包括各种计算机可读介质。计算机可读介质可以是可由计算机110a访问的任何可用介质。作为示例而非局限,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括但不限于,RAM、ROM、EEPROM、闪存或其它存储器技术、CDROM、数字多功能盘(DVD)或其它光盘存储、磁盒、磁带、磁盘存储或其它磁存储设备、或可以用来储存所期望的信息并可由计算机110a访问的任何其它介质。通信介质通常以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并包括任意信息传送介质。
系统存储器130a可以包括诸如只读存储器(ROM)131和/或随机存取存储器(RAM)132等易失性和/或非易失性存储器形式的计算机存储介质。基本输入/输出系统(BIOS)可被存储在存储器130a中,它包含帮助在诸如启动期间在计算机110a内元件之间传递信息的基本例程。存储器130a通常还包含处理单元120a可以立即访问和/或目前正操作的数据和/或程序模块。作为示例而非局限,存储器130a还可以包括操作系统、应用程序、其它程序模块、和程序数据。
计算机110a也可以包括其它可移动/不可移动、易失性/非易失性计算机存储介质。例如,计算机110a可以包括对不可移动、非易失性磁介质进行读写的硬盘驱动器,对可移动、非易失性磁盘进行读写的磁盘驱动器,和/或对诸如CD-ROM或其它光学介质等可移动、非易失性光盘进行读写的光盘驱动器。可以在示例性操作环境中使用的其它可移动/不可移动、易失性/非易失性计算机存储介质包括但不限于,磁带盒、闪存卡、数字多功能盘、数字录像带、固态RAM、固态ROM等等。硬盘驱动器通常由诸如接口等不可移动存储器接口连接至系统总线121a,而磁盘驱动器或光盘驱动器通常由诸如接口等可移动存储器接口连接至系统总线121a。
用户可以通过输入设备,如键盘和定点设备(通常指鼠标、跟踪球或触摸板)向计算机110a输入命令和信息。其他输入设备可以包括话筒、操纵杆、游戏手柄、圆盘式卫星天线、扫描仪等等。这些和其它输入设备通常由耦合至系统总线121a的用户输入140a和相关联的接口连接到处理单元120a,但是也可由诸如并行端口、游戏端口或通用串行总线(USB)之类的其它接口和总线结构连接。图形子系统也可以被连接到系统总线121a。监视器或其它类型的显示设备也通过接口,如输出接口150a连接至系统总线121a,而输出接口150a又与视频存储器通信。除监视器之外,计算机还可以包括其它外围输出设备,如扬声器和打印机,它们可以通过输出接口150a连接。
计算机110a可使用至诸如远程计算机170a等的一个或多个远程计算机的逻辑连接在网络化或分布式环境中操作,远程计算机170a又可以具有与设备110a不相同能力,诸如媒体能力。远程计算机170a可以是个人计算机、服务器、路由器、网络PC、对等设备或其它常见的网络节点、或任何其它远程媒体消费或传输设备,并且可以包括上面关于计算机110a所描述的任何或全部元件。图7B所示的逻辑连接包括诸如局域网(LAN)或广域网(WAN)等的网络171a,但也可以包括其它网络/总线。这样的联网环境在家庭、办公室、企业范围计算机网络、内联网和因特网中是常见的。
当在LAN联网环境中使用时,计算机110a通过网络接口或适配器连接至LAN171a。当在WAN联网环境中使用时,计算机110a通常包括网络组件(网卡、调制解调器等)或用于通过诸如因特网等的WAN建立通信的其它装置。连接到网络的装置可以是内置或外置的,它可以通过输入140a的用户输入接口或其它适当的机制连接至系统总线121a。在网络化环境中,相对于计算机110a所描述的程序模块或其部分可被储存在远程存储器存储设备中。可以理解,所示和所述的网络连接是示例性的,且可以使用在计算机之间建立通信链路的其它手段。
示例性分布式计算框架或体系结构
鉴于个人计算和因特网的交汇,已经开发且正在开发各种分布式计算框架。个人和商业用户同样地拥有用于应用程序和计算设备的无缝的互操作和启用web的接口,使得计算活动越来越面向web浏览器和网络。
例如,MICROSOFT
Figure G2007800188076D0024162353QIETU
的托管代码平台,即.NET包括服务器、诸如基于web的数据存储等构件块服务、以及可下载设备软件。一般而言,.NET平台提供(1)令整个范围的计算设备共同工作并在所有设备上自动更新并同步用户信息的能力,(2)提高的网页交互能力,通过大量使用XML而不是HTML来实现,(3)从用于各种应用,如电子邮件,或软件,如Office.NET的管理的中央起点到用户的具有产品和服务的定制访问和传送的特点的在线服务,(4)中央化数据存储,将增加对信息访问以及用户和设备间的信息同步的效率和简易性,(5)集成各种通信介质,如电子邮件、传真和电话的能力,(6)对开发员来说,创建可重复使用模块的能力,借此提高生产力并降低编程错误数,以及(7)还有许多其它跨平台和语言综合特性。
尽管此处的某些示例性实施例是结合诸如应用程序编程接口(API)等驻留在计算设备上的软件来描述的,但本发明的一个或多个部分也可以通过操作系统、“中间人”对象、控制对象、硬件、固件、中间语言指令或对象等来实现,使根据本发明的用于将凭证从客户机委托给服务器的方法可以被包括在由诸如.NET代码等托管代码启用的所有语言和服务中,以及在其它分布式计算框架中,在其中得到支持或经由它们来访问。
有多种实现本发明的方法,例如适当的API、工具箱、驱动程序代码、操作系统、控件、独立或可下载软件对象等,它们使得应用程序和服务能够使用本发明的用于将凭证从客户机委托给服务器的系统和方法。本发明从API(或其它软件对象)的观点以及从接收下载的根据本发明的程序的软件或硬件对象的观点构想了对本发明的使用。由此,此处描述的本发明的各种实现都可以具有完全采用硬件、部分采用硬件且部分采用软件、以及采用软件的方面。
如上所述,尽管结合各种计算设备和网络体系结构描述了本发明的示例性实施例,但基本概念可被应用于其中期望将凭证从客户机委托给服务器的任何计算设备或系统。例如,本发明的算法和硬件实现可被应用于计算设备的操作系统,可作为设备上的独立对象、作为另一对象的一部分、作为可重复使用的控件、作为可从服务器下载的对象、作为设备或对象和网络之间的“中间人”、作为分布式对象、作为硬件、以存储器、以上任何的组合等来提供。尽管此处选择了示例性编程语言、名称和示例来表示各种选择,但这些语言、名称和示例不旨在为限制性的。本领域的普通技术人员将认识到,有多种方法来提供实现本发明的各实施例所实现的相同、相似或等效的功能的目标代码和命名法。
如上所述,此处所述的各种技术可结合硬件或软件,或在适当时以两者的组合来实现。由此,本发明的方法和装置或其特定方面或部分可采取包含在诸如软盘、CD-ROM、硬盘驱动器或任何其它机器可读存储介质等有形介质中的程序代码(即,指令)的形式,其中当程序代码被加载到诸如计算机等机器内并由其执行时,该机器成为用于实现本发明的装置。在程序代码在可编程计算机上运行的情况下,计算设备通常包括处理器、该处理器可读的存储介质(包括易失性和非易失性的存储器和/或存储元件)、至少一个输入设备、以及至少一个输出设备。可例如通过使用数据处理API、可重复使用控件等来实现或利用本发明的用于将凭证从客户机委托给服务器的方法的一个或多个程序较佳地用高级过程语言或面向对象的编程语言来实现以与计算机系统通信。然而,如果需要,程序可以用汇编语言或机器语言来实现。在任何情形中,语言可以是编译的或解释的语言,且与硬件实现相结合。
本发明的方法和装置也可以经由以通过某种传输介质传输的程序代码的形式体现的通信来实现,比如通过电线或电缆、通过光纤或经由任何其它传输形式,其中,当程序代码由诸如EPROM、门阵列、可编程逻辑器件(PLD)、客户计算机等机器接收、加载并执行时,该机器成为用于实现本发明的装置。当在通用处理器上实现时,程序代码与处理器相结合来提供一种用于调用本发明的功能的独特装置。另外,结合本发明使用的任何存储技术总是可以是硬件和软件的组合。
尽管结合各附图的优选实施例描述了本发明,但是可以理解,可以使用其它类似的实施例,或可以对所述实施例进行修改或添加来执行本发明的相同功能而不背离本发明。例如,在诸如对等联网环境等联网环境的上下文中描述了本发明的示例性网络环境,但是本领域的技术人员将认识到,本发明不限于此,并且本申请中所描述的方法可应用于任何计算设备或环境,诸如游戏控制台、手持式计算机、便携式计算机等等,不论其是有线还是无线的,并且该方法可应用于经由通信网络连接并通过网络交互的任意数量的此类计算设备。此外,应当强调,构想了包括手持式设备操作系统和其它应用专用操作系统的各种计算机平台,尤其是在无线联网设备的数量持续增长时。
尽管各示例性实施例涉及在特定编程语言构造的上下文中利用本发明,但是本发明不限于此,而是可用任何语言实现来提供用于将凭证从客户机委托给服务器的方法。而且,本发明可以在多个处理芯片或设备中实现或跨多个处理芯片或设备实现,且存储可以类似地跨多个设备来实现。因此,本发明不应限于任何单个实施例,而是应该根据所附权利要求书的广度和范围来解释。

Claims (22)

1.一种用于在联网计算环境中将用户凭证从客户机委托给服务器的方法,包括:
在所述联网计算环境中,从客户机请求服务器的应用程序、服务或资源,所述请求涉及用户凭证从所述客户机向所述服务器的委托;
发起所述客户机和所述服务器之间的握手;
协商以选择在所述客户机和服务器之间共享的认证包,以用作用于认证所述客户机和所述服务器之间的通信的认证机制;
利用所选认证包作为所述认证机制来互认证所述服务器和所述客户机;
根据所述互认证步骤确定是否发生了互认证,并且如果发生了互认证,则在所述客户机和服务器之间建立会话,包括建立用于加密在所述客户机和服务器之间传送的消息的共享秘密;
在发送针对所述请求的凭证之前,根据为用户凭证定义的至少一个预定义策略来执行策略检验,以确定所述服务器对于所述用户凭证是否是可信的;以及
如果所述服务器是可信的,则将所述用户凭证发送给所述服务器以获得从所述客户机对所请求的所述服务器的应用程序、服务或资源的访问。
2.如权利要求1所述的方法,其特征在于,所述预定义策略是用于控制和限制所述从客户机到服务器的用户凭证委托的策略。
3.如权利要求2所述的方法,其特征在于,所述策略着眼于缓解各种各样的攻击,所述攻击包括运行在所述客户机上的特洛伊木马或恶意软件、可由所述客户机的管理员配置的默认组策略设置和组策略值、避免解析到欺诈服务器的域名服务DNS中毒以及服务拒绝攻击中的至少一个。
4.如权利要求2所述的方法,其特征在于,所述策略包括基于所述服务器的服务主体名SPN列表进行允许或拒绝委托中的至少一个的策略。
5.如权利要求1所述的方法,其特征在于,所述执行包括根据所述认证机制的相对强度来执行策略检验。
6.如权利要求1所述的方法,其特征在于,所述执行包括根据基于用户凭证的类型定义的至少一个预定义策略来执行策略检验。
7.如权利要求6所述的方法,其特征在于,所述执行包括根据基于所述用户凭证是新鲜的、保存的还是默认凭证定义的至少一个预定义策略来执行策略检验。
8.如权利要求1所述的方法,其特征在于,所述发送用户凭证包括以仅本地安全系统的可信子系统能够访问明文格式的所述用户凭证的格式来发送所述用户凭证。
9.如权利要求8所述的方法,其特征在于,所述执行策略检验是由本地安全认证机构LSA来执行的,并且所述可信子系统是所述LSA的可信子系统。
10.如权利要求1所述的方法,其特征在于,还包括:
在所述客户机和服务器之间建立了所述会话之后,认证所述服务器的公钥。
11.如权利要求1所述的方法,其特征在于,所述步骤是经由对经由安全支持提供者接口SSPI做出所述请求的所述客户机可用的凭证安全支持提供者组件来执行的。
12.如权利要求1所述的方法,其特征在于,所述握手是根据安全套接字层SSL或传输层安全TLS协议的握手。
13.如权利要求1所述的方法,其特征在于,所述协商包括使用简单和受保护通用安全服务应用程序接口GSSAPI协商机制SPNEGO协商的协商。
14.如权利要求1所述的方法,其特征在于,所选认证包是Kerberos或NT局域网LAN管理器NTLM中的任一个。
15.如权利要求1所述的方法,其特征在于,所述共享秘密是共享会话密钥。
16.一种用于在联网计算环境中将用户凭证从客户机委托给服务器的系统,包括:
用于在所述联网计算环境中,从客户机请求服务器的应用程序、服务或资源的装置,所述请求涉及用户凭证从所述客户机向所述服务器的委托;
用于发起所述客户机和所述服务器之间的握手的装置;
用于协商以选择在所述客户机和服务器之间共享的认证包,以用作用于认证所述客户机和所述服务器之间的通信的认证机制的装置;
用于利用所选认证包作为所述认证机制来互认证所述服务器和所述客户机的装置;
用于根据所述互认证步骤确定是否发生了互认证,并且如果发生了互认证,则在所述客户机和服务器之间建立会话的装置,包括建立用于加密在所述客户机和服务器之间传送的消息的共享秘密;
用于在发送针对所述请求的凭证之前,根据为用户凭证定义的至少一个预定义策略来执行策略检验,以确定所述服务器对于所述用户凭证是否是可信的的装置;以及
用于如果所述服务器是可信的,则将所述用户凭证发送给所述服务器以获得从所述客户机对所请求的所述服务器的应用程序、服务或资源的访问的装置。
17.一种在联网计算环境中将用户凭证从客户机委托给服务器的方法,包括:
处理来自所述客户机计算设备的、对联网环境中的服务器的应用程序、服务或资源的请求,其中所述请求涉及从所述客户机计算设备到所述服务器的用户凭证委托;
发起所述客户机和所述服务器之间的握手,协商对所述客户机和服务器之间共享的、要用作用于认证所述客户机和所述服务器之间的通信的认证包的安全支持提供者的选择,利用所述认证包来互认证所述服务器和所述客户机,
其中,如果发生了互认证,则在所述客户机和服务器之间建立会话以及用于加密根据所述会话在所述客户机和服务器之间传送的消息的共享秘密,根据用于控制和限制所述从客户机计算设备到服务器的用户凭证委托的至少一个预定义策略来执行策略检验,以及仅当通过所述策略检验时将所述用户凭证发送给所述服务器以获得从所述客户机对所请求的所述服务器的应用程序、服务或资源的访问。
18.如权利要求17所述的方法,其特征在于,将所述用户凭证以仅本地安全认证机构LSA的可信子系统能够解码为明文格式的格式发送所述用户凭证。
19.如权利要求17所述的方法,其特征在于,所述至少一个预定义策略着眼于缓解各种各样攻击中的任何一个或多个,所述攻击包括在所述客户机上运行的特洛伊或恶意软件、可由所述客户机的管理员配置的默认组策略设置和组策略值、避免解析到欺诈服务器的域名服务DNS中毒以及服务拒绝攻击。
20.如权利要求17所述的方法,其特征在于,所述至少一个预定义策略包括基于所述认证机制的相对强度的委托策略。
21.如权利要求17所述的方法,其特征在于,所述至少一个预定义策略包括基于所述用户凭证是新鲜的、保存的还是默认凭证的委托策略。
22.一种用于在联网计算环境中将用户凭证从客户机委托给服务器作为对服务器资源的单次登入的一部分的方法,包括:
经由客户机的用户界面组件的单次登入接收用户凭证以访问所述服务器的一组资源,并且作为响应,
根据传输层安全TSL协议发起所述客户机和所述服务器之间的握手;
协商以选择在所述客户机和服务器之间共享的认证包以用作用于认证所述客户机和所述服务器之间的通信的认证机制;
利用所选认证包作为所述认证机制来互认证所述服务器和所述客户机;
如果发生了互认证,则在所述客户机和服务器之间建立会话,包括建立用于加密在所述客户机和服务器之间传送的消息的共享秘密;以及
安全地将所述用户凭证委托给所述服务器以获得对所述一组资源的访问。
CN2007800188076A 2006-05-26 2007-05-25 用于对网络资源的单次登入和安全访问的策略驱动的凭证委托 Active CN101449257B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/441,588 US7913084B2 (en) 2006-05-26 2006-05-26 Policy driven, credential delegation for single sign on and secure access to network resources
US11/441,588 2006-05-26
PCT/US2007/012512 WO2007139944A2 (en) 2006-05-26 2007-05-25 Policy driven, credential delegation for single sign on and secure access to network resources

Publications (2)

Publication Number Publication Date
CN101449257A CN101449257A (zh) 2009-06-03
CN101449257B true CN101449257B (zh) 2011-05-11

Family

ID=38750973

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007800188076A Active CN101449257B (zh) 2006-05-26 2007-05-25 用于对网络资源的单次登入和安全访问的策略驱动的凭证委托

Country Status (17)

Country Link
US (1) US7913084B2 (zh)
EP (1) EP2021938B1 (zh)
JP (1) JP5139423B2 (zh)
KR (1) KR101414312B1 (zh)
CN (1) CN101449257B (zh)
AU (1) AU2007267836B2 (zh)
BR (1) BRPI0711702A2 (zh)
CA (1) CA2654381C (zh)
CL (1) CL2007001510A1 (zh)
IL (1) IL194962A (zh)
MX (1) MX2008014855A (zh)
MY (1) MY148801A (zh)
NO (1) NO20084500L (zh)
RU (1) RU2439692C2 (zh)
TW (1) TWI439103B (zh)
WO (1) WO2007139944A2 (zh)
ZA (1) ZA200809318B (zh)

Families Citing this family (129)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10181953B1 (en) 2013-09-16 2019-01-15 Amazon Technologies, Inc. Trusted data verification
WO2003058879A1 (en) 2002-01-08 2003-07-17 Seven Networks, Inc. Secure transport for mobile communication network
US7742582B2 (en) 2005-02-17 2010-06-22 Core Systems (Ni) Limited Offender message delivery system
US8438633B1 (en) 2005-04-21 2013-05-07 Seven Networks, Inc. Flexible real-time inbox access
WO2006136660A1 (en) 2005-06-21 2006-12-28 Seven Networks International Oy Maintaining an ip connection in a mobile network
US8028325B2 (en) * 2005-08-08 2011-09-27 AOL, Inc. Invocation of a third party's service
US7792792B2 (en) * 2006-05-22 2010-09-07 Microsoft Corporation Synchronizing structured web site contents
JP2008052578A (ja) * 2006-08-25 2008-03-06 Seiko Epson Corp アクセス制御装置、画像表示装置及びプログラム
US8467527B2 (en) 2008-12-03 2013-06-18 Intel Corporation Efficient key derivation for end-to-end network security with traffic visibility
US8528058B2 (en) * 2007-05-31 2013-09-03 Microsoft Corporation Native use of web service protocols and claims in server authentication
US8805425B2 (en) 2007-06-01 2014-08-12 Seven Networks, Inc. Integrated messaging
US8291481B2 (en) * 2007-09-18 2012-10-16 Microsoft Corporation Sessionless redirection in terminal services
US8387130B2 (en) * 2007-12-10 2013-02-26 Emc Corporation Authenticated service virtualization
US8539568B1 (en) 2007-10-03 2013-09-17 Courion Corporation Identity map creation
WO2009076447A1 (en) * 2007-12-10 2009-06-18 Courion Corporaton Policy enforcement using esso
US9002828B2 (en) 2007-12-13 2015-04-07 Seven Networks, Inc. Predictive content delivery
US8434149B1 (en) * 2007-12-21 2013-04-30 Symantec Corporation Method and apparatus for identifying web attacks
US8862657B2 (en) 2008-01-25 2014-10-14 Seven Networks, Inc. Policy based content service
US20090193338A1 (en) 2008-01-28 2009-07-30 Trevor Fiatal Reducing network and battery consumption during content delivery and playback
US9218469B2 (en) * 2008-04-25 2015-12-22 Hewlett Packard Enterprise Development Lp System and method for installing authentication credentials on a network device
US8943560B2 (en) * 2008-05-28 2015-01-27 Microsoft Corporation Techniques to provision and manage a digital telephone to authenticate with a network
US8799630B2 (en) * 2008-06-26 2014-08-05 Microsoft Corporation Advanced security negotiation protocol
TW201011587A (en) * 2008-09-03 2010-03-16 Wayi Internat Digital Entertainment Co Ltd Computer tied-in system and its method
US7941549B2 (en) * 2008-09-16 2011-05-10 Microsoft Corporation Protocol exchange and policy enforcement for a terminal server session
US8909759B2 (en) 2008-10-10 2014-12-09 Seven Networks, Inc. Bandwidth measurement
US8413210B2 (en) * 2008-12-09 2013-04-02 Microsoft Corporation Credential sharing between multiple client applications
US20100175113A1 (en) * 2009-01-05 2010-07-08 International Business Machine Corporation Secure System Access Without Password Sharing
US8844040B2 (en) 2009-03-20 2014-09-23 Citrix Systems, Inc. Systems and methods for using end point auditing in connection with traffic management
US8458732B2 (en) * 2009-08-19 2013-06-04 Core Systems (Ni) Limited Inmate information center for correctional facility processing
US8555054B2 (en) 2009-10-12 2013-10-08 Palo Alto Research Center Incorporated Apparatus and methods for protecting network resources
US8156546B2 (en) * 2009-10-29 2012-04-10 Satyam Computer Services Limited Of Mayfair Centre System and method for flying squad re authentication of enterprise users
TW201126371A (en) * 2010-01-27 2011-08-01 Hui Lin Online gaming authentication framework and method
US20110231670A1 (en) * 2010-03-16 2011-09-22 Shevchenko Oleksiy Yu Secure access device for cloud computing
KR101102855B1 (ko) * 2010-04-26 2012-01-10 엔에이치엔(주) 게임 클라이언트 독립적인 게임 인증을 제공하기 위한 시스템, 방법 및 컴퓨터 판독 가능한 기록 매체
US9160738B2 (en) 2010-05-27 2015-10-13 Microsoft Corporation Delegation-based authorization
US8688994B2 (en) 2010-06-25 2014-04-01 Microsoft Corporation Federation among services for supporting virtual-network overlays
US20120017274A1 (en) * 2010-07-15 2012-01-19 Mcafee, Inc. Web scanning site map annotation
CA2806527A1 (en) 2010-07-26 2012-02-09 Seven Networks, Inc. Mobile network traffic coordination across multiple applications
US8838783B2 (en) 2010-07-26 2014-09-16 Seven Networks, Inc. Distributed caching for resource and mobile network traffic management
US8505083B2 (en) 2010-09-30 2013-08-06 Microsoft Corporation Remote resources single sign on
JP5620781B2 (ja) * 2010-10-14 2014-11-05 キヤノン株式会社 情報処理装置、その制御方法、及びプログラム
US8843153B2 (en) 2010-11-01 2014-09-23 Seven Networks, Inc. Mobile traffic categorization and policy for network use optimization while preserving user experience
WO2012060995A2 (en) 2010-11-01 2012-05-10 Michael Luna Distributed caching in a wireless network of content delivered for a mobile application over a long-held request
AU2010246354B1 (en) 2010-11-22 2011-11-03 Microsoft Technology Licensing, Llc Back-end constrained delegation model
WO2012071384A2 (en) 2010-11-22 2012-05-31 Michael Luna Optimization of resource polling intervals to satisfy mobile device requests
US9258312B1 (en) 2010-12-06 2016-02-09 Amazon Technologies, Inc. Distributed policy enforcement with verification mode
US9237155B1 (en) 2010-12-06 2016-01-12 Amazon Technologies, Inc. Distributed policy enforcement with optimizing policy transformations
CN103403707B (zh) * 2010-12-28 2017-11-14 思杰系统有限公司 用于数据库代理请求交换的系统和方法
EP2661697B1 (en) 2011-01-07 2018-11-21 Seven Networks, LLC System and method for reduction of mobile network traffic used for domain name system (dns) queries
US20120254972A1 (en) * 2011-04-04 2012-10-04 International Business Machines Corporation Trust system
US20120271903A1 (en) 2011-04-19 2012-10-25 Michael Luna Shared resource and virtual resource management in a networked environment
WO2012149216A2 (en) 2011-04-27 2012-11-01 Seven Networks, Inc. Mobile device which offloads requests made by a mobile application to a remote entity for conservation of mobile device and network resources and methods therefor
GB2505585B (en) 2011-04-27 2015-08-12 Seven Networks Inc Detecting and preserving state for satisfying application requests in a distributed proxy and cache system
US8769642B1 (en) * 2011-05-31 2014-07-01 Amazon Technologies, Inc. Techniques for delegation of access privileges
US8973108B1 (en) * 2011-05-31 2015-03-03 Amazon Technologies, Inc. Use of metadata for computing resource access
DE102011077218B4 (de) 2011-06-08 2023-12-14 Servicenow, Inc. Zugriff auf in einer Cloud gespeicherte Daten
US8719571B2 (en) * 2011-08-25 2014-05-06 Netapp, Inc. Systems and methods for providing secure multicast intra-cluster communication
US9178701B2 (en) 2011-09-29 2015-11-03 Amazon Technologies, Inc. Parameter based key derivation
US9203613B2 (en) 2011-09-29 2015-12-01 Amazon Technologies, Inc. Techniques for client constructed sessions
US9197409B2 (en) 2011-09-29 2015-11-24 Amazon Technologies, Inc. Key derivation techniques
US9038155B2 (en) 2011-12-02 2015-05-19 University Of Tulsa Auditable multiclaim security token
US8918503B2 (en) 2011-12-06 2014-12-23 Seven Networks, Inc. Optimization of mobile traffic directed to private networks and operator configurability thereof
EP2789138B1 (en) 2011-12-06 2016-09-14 Seven Networks, LLC A mobile device and method to utilize the failover mechanisms for fault tolerance provided for mobile traffic management and network/device resource conservation
GB2498064A (en) 2011-12-07 2013-07-03 Seven Networks Inc Distributed content caching mechanism using a network operator proxy
WO2013086447A1 (en) 2011-12-07 2013-06-13 Seven Networks, Inc. Radio-awareness of mobile device for sending server-side control signals using a wireless network optimized transport protocol
US8861354B2 (en) 2011-12-14 2014-10-14 Seven Networks, Inc. Hierarchies and categories for management and deployment of policies for distributed wireless traffic optimization
WO2013090212A1 (en) 2011-12-14 2013-06-20 Seven Networks, Inc. Mobile network reporting and usage analytics system and method using aggregation of data in a distributed traffic optimization system
GB2499306B (en) 2012-01-05 2014-10-22 Seven Networks Inc Managing user interaction with an application on a mobile device
US9215076B1 (en) 2012-03-27 2015-12-15 Amazon Technologies, Inc. Key generation for hierarchical data access
US8739308B1 (en) 2012-03-27 2014-05-27 Amazon Technologies, Inc. Source identification for unauthorized copies of content
US8892865B1 (en) 2012-03-27 2014-11-18 Amazon Technologies, Inc. Multiple authority key derivation
US8812695B2 (en) 2012-04-09 2014-08-19 Seven Networks, Inc. Method and system for management of a virtual network connection without heartbeat messages
WO2013155208A1 (en) 2012-04-10 2013-10-17 Seven Networks, Inc. Intelligent customer service/call center services enhanced using real-time and historical mobile application and traffic-related statistics collected by a distributed caching system in a mobile network
US9660972B1 (en) 2012-06-25 2017-05-23 Amazon Technologies, Inc. Protection from data security threats
US9258118B1 (en) 2012-06-25 2016-02-09 Amazon Technologies, Inc. Decentralized verification in a distributed system
WO2014011216A1 (en) 2012-07-13 2014-01-16 Seven Networks, Inc. Dynamic bandwidth adjustment for browsing or streaming activity in a wireless network based on prediction of user behavior when interacting with mobile applications
US9176838B2 (en) 2012-10-19 2015-11-03 Intel Corporation Encrypted data inspection in a network environment
US9161258B2 (en) 2012-10-24 2015-10-13 Seven Networks, Llc Optimized and selective management of policy deployment to mobile clients in a congested network to prevent further aggravation of network congestion
US20140177497A1 (en) 2012-12-20 2014-06-26 Seven Networks, Inc. Management of mobile device radio state promotion and demotion
US9241314B2 (en) 2013-01-23 2016-01-19 Seven Networks, Llc Mobile device with application or context aware fast dormancy
US8874761B2 (en) 2013-01-25 2014-10-28 Seven Networks, Inc. Signaling optimization in a wireless network for traffic utilizing proprietary and non-proprietary protocols
US8750123B1 (en) 2013-03-11 2014-06-10 Seven Networks, Inc. Mobile device equipped with mobile network congestion recognition to make intelligent decisions regarding connecting to an operator network
EP3681125A1 (en) * 2013-05-30 2020-07-15 Intel Corporation Adaptive authentication systems and methods
US9407440B2 (en) 2013-06-20 2016-08-02 Amazon Technologies, Inc. Multiple authority data security and access
US9521000B1 (en) 2013-07-17 2016-12-13 Amazon Technologies, Inc. Complete forward access sessions
US9065765B2 (en) 2013-07-22 2015-06-23 Seven Networks, Inc. Proxy server associated with a mobile carrier for enhancing mobile traffic management in a mobile network
CN104468074A (zh) * 2013-09-18 2015-03-25 北京三星通信技术研究有限公司 应用程序之间认证的方法及设备
US9311500B2 (en) 2013-09-25 2016-04-12 Amazon Technologies, Inc. Data security using request-supplied keys
US9237019B2 (en) 2013-09-25 2016-01-12 Amazon Technologies, Inc. Resource locators with keys
US9112846B2 (en) * 2013-10-11 2015-08-18 Centrify Corporation Method and apparatus for transmitting additional authorization data via GSSAPI
US10243945B1 (en) 2013-10-28 2019-03-26 Amazon Technologies, Inc. Managed identity federation
US10575347B2 (en) 2013-11-04 2020-02-25 Microsoft Technology Licensing, Llc Delivery of shared WiFi credentials
US9420007B1 (en) 2013-12-04 2016-08-16 Amazon Technologies, Inc. Access control using impersonization
US9369461B1 (en) 2014-01-07 2016-06-14 Amazon Technologies, Inc. Passcode verification using hardware secrets
US9374368B1 (en) 2014-01-07 2016-06-21 Amazon Technologies, Inc. Distributed passcode verification system
US9292711B1 (en) 2014-01-07 2016-03-22 Amazon Technologies, Inc. Hardware secret usage limits
US9270662B1 (en) 2014-01-13 2016-02-23 Amazon Technologies, Inc. Adaptive client-aware session security
US9467441B2 (en) * 2014-02-25 2016-10-11 Dell Products, L.P. Secure service delegator
US10771255B1 (en) 2014-03-25 2020-09-08 Amazon Technologies, Inc. Authenticated storage operations
US9413738B2 (en) * 2014-06-19 2016-08-09 Microsoft Technology Licensing, Llc Securing communications with enhanced media platforms
US9258117B1 (en) 2014-06-26 2016-02-09 Amazon Technologies, Inc. Mutual authentication with symmetric secrets and signatures
US10326597B1 (en) 2014-06-27 2019-06-18 Amazon Technologies, Inc. Dynamic response signing capability in a distributed system
US11275861B2 (en) * 2014-07-25 2022-03-15 Fisher-Rosemount Systems, Inc. Process control software security architecture based on least privileges
US9942229B2 (en) * 2014-10-03 2018-04-10 Gopro, Inc. Authenticating a limited input device via an authenticated application
US10225245B2 (en) 2014-11-18 2019-03-05 Auth0, Inc. Identity infrastructure as a service
TW201619866A (zh) 2014-11-20 2016-06-01 萬國商業機器公司 客製化資訊設備的方法
CN104660583B (zh) * 2014-12-29 2018-05-29 国家电网公司 一种基于Web加密服务的加密服务方法
CN104780154B (zh) * 2015-03-13 2018-06-19 小米科技有限责任公司 设备绑定方法和装置
TWI563412B (en) * 2015-04-30 2016-12-21 Taiwan Ca Inc System for using trust token to make application obtain digital certificate signature from another application on device and method thereof
US10122689B2 (en) 2015-06-16 2018-11-06 Amazon Technologies, Inc. Load balancing with handshake offload
US10122692B2 (en) 2015-06-16 2018-11-06 Amazon Technologies, Inc. Handshake offload
WO2017079980A1 (zh) * 2015-11-13 2017-05-18 华为技术有限公司 一种计费欺诈的检测方法及装置
US10075424B2 (en) * 2016-03-28 2018-09-11 Airwatch Llc Application authentication wrapper
CN106101054A (zh) * 2016-04-29 2016-11-09 乐视控股(北京)有限公司 一种多系统的单点登录方法和集中管控系统
US10372484B2 (en) * 2016-06-27 2019-08-06 Microsoft Technology Licensing, Llc Secured computing system
US10116440B1 (en) 2016-08-09 2018-10-30 Amazon Technologies, Inc. Cryptographic key management for imported cryptographic keys
US10387681B2 (en) * 2017-03-20 2019-08-20 Huawei Technologies Co., Ltd. Methods and apparatus for controlling access to secure computing resources
RU2658894C1 (ru) * 2017-07-26 2018-06-25 Открытое Акционерное Общество "Информационные Технологии И Коммуникационные Системы" Способ управления доступом к данным с защитой учетных записей пользователей
CN107451477A (zh) * 2017-07-28 2017-12-08 腾讯科技(深圳)有限公司 一种恶意程序检测的方法、相关装置及系统
US11032287B1 (en) * 2018-07-02 2021-06-08 Amazon Technologies, Inc. Delegated administrator with defined permission boundaries in a permission boundary policy attachment for web services and resources
CN110971576A (zh) * 2018-09-30 2020-04-07 北京国双科技有限公司 一种安全认证的方法和相关装置
WO2020073267A1 (en) * 2018-10-11 2020-04-16 Entit Software Llc Asymmetric-man-in-the-middle capture based application sharing protocol traffic recordation
US11477239B1 (en) * 2018-10-16 2022-10-18 Styra, Inc. Simulating policies for authorizing an API
US11038881B2 (en) * 2018-11-01 2021-06-15 Cisco Technology, Inc. Anonymously generating an encrypted session for a client device in a wireless network
US11258756B2 (en) * 2018-11-14 2022-02-22 Citrix Systems, Inc. Authenticating to a hybrid cloud using intranet connectivity as silent authentication factor
TWI746920B (zh) * 2019-01-04 2021-11-21 臺灣網路認證股份有限公司 透過入口伺服器跨網域使用憑證進行認證之系統及方法
US11323480B2 (en) * 2019-05-07 2022-05-03 Cisco Technology, Inc. Policy enforcement and introspection on an authentication system
TWI791144B (zh) * 2020-03-17 2023-02-01 林金源 具會員身分等級之帳號管理系統
CN112887359B (zh) * 2020-12-31 2022-12-02 北京思特奇信息技术股份有限公司 一种跨域session共享方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1400779A (zh) * 2001-08-06 2003-03-05 平实数位股份有限公司 具有安全性的网络交易方法
CN1635738A (zh) * 2003-12-26 2005-07-06 鸿富锦精密工业(深圳)有限公司 通用认证授权服务系统及方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7228291B2 (en) * 2000-03-07 2007-06-05 International Business Machines Corporation Automated trust negotiation
US20020150253A1 (en) * 2001-04-12 2002-10-17 Brezak John E. Methods and arrangements for protecting information in forwarded authentication messages
US7243370B2 (en) * 2001-06-14 2007-07-10 Microsoft Corporation Method and system for integrating security mechanisms into session initiation protocol request messages for client-proxy authentication
KR20030033630A (ko) * 2001-10-24 2003-05-01 주식회사 오앤이시스템 커버로스 기반의 인증에이전트를 이용한 단일인증 시스템
US7644275B2 (en) * 2003-04-15 2010-01-05 Microsoft Corporation Pass-thru for client authentication
JP2005123996A (ja) * 2003-10-17 2005-05-12 National Institute Of Information & Communication Technology デバイス間において認証用情報を委譲する情報処理方法及び情報処理システム
WO2005043282A2 (en) * 2003-10-31 2005-05-12 Electronics And Telecommunications Research Institute Method for authenticating subscriber station, method for configuring protocol thereof, and apparatus thereof in wireless portable internet system
US7181761B2 (en) * 2004-03-26 2007-02-20 Micosoft Corporation Rights management inter-entity message policies and enforcement
US20090055642A1 (en) * 2004-06-21 2009-02-26 Steven Myers Method, system and computer program for protecting user credentials against security attacks
IL165416A0 (en) * 2004-11-28 2006-01-15 Objective data regarding network resources

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1400779A (zh) * 2001-08-06 2003-03-05 平实数位股份有限公司 具有安全性的网络交易方法
CN1635738A (zh) * 2003-12-26 2005-07-06 鸿富锦精密工业(深圳)有限公司 通用认证授权服务系统及方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JP特开2005-27312A 2005.01.27

Also Published As

Publication number Publication date
US20070277231A1 (en) 2007-11-29
IL194962A (en) 2014-03-31
TW200810488A (en) 2008-02-16
US7913084B2 (en) 2011-03-22
WO2007139944A3 (en) 2008-02-14
ZA200809318B (en) 2010-02-24
EP2021938A4 (en) 2012-04-04
EP2021938B1 (en) 2014-01-01
WO2007139944A2 (en) 2007-12-06
BRPI0711702A2 (pt) 2011-11-29
CA2654381C (en) 2016-11-01
TWI439103B (zh) 2014-05-21
KR20090012244A (ko) 2009-02-02
CA2654381A1 (en) 2007-12-06
RU2439692C2 (ru) 2012-01-10
EP2021938A2 (en) 2009-02-11
MY148801A (en) 2013-05-31
AU2007267836B2 (en) 2011-08-25
JP2009538478A (ja) 2009-11-05
AU2007267836A1 (en) 2007-12-06
RU2008146517A (ru) 2010-05-27
KR101414312B1 (ko) 2014-07-04
CN101449257A (zh) 2009-06-03
CL2007001510A1 (es) 2008-01-25
MX2008014855A (es) 2008-12-01
IL194962A0 (en) 2009-08-03
JP5139423B2 (ja) 2013-02-06
NO20084500L (no) 2008-11-26

Similar Documents

Publication Publication Date Title
CN101449257B (zh) 用于对网络资源的单次登入和安全访问的策略驱动的凭证委托
JP6687641B2 (ja) サーバまたは他の装置からのエントロピーに基づくクライアント装置の認証
US9654453B2 (en) Symmetric key distribution framework for the Internet
CN105027493B (zh) 安全移动应用连接总线
Hameed et al. A scalable key and trust management solution for IoT sensors using SDN and blockchain technology
US20070118879A1 (en) Security protocol model for ubiquitous networks
CN1885771A (zh) 用于建立安全通信会话的方法与装置
Urien An OpenID provider based on SSL smart cards
CN103716280B (zh) 数据传输方法、服务器及系统
CN114661485A (zh) 基于零信任架构的应用程序接口访问控制的系统及方法
Sousa et al. FedAAA-SDN: Federated Authentication, Authorization and Accounting in SDN controllers
US7702799B2 (en) Method and system for securing a commercial grid network over non-trusted routes
Algaradi et al. Big data security: a progress study of current user authentication schemes
Kandil et al. Mobile agents' authentication using a proposed light Kerberos system
Montesano et al. Outsourcing Access Control for a Dynamic Access Configuration of IoT Services.
WO2016124302A1 (en) User opt-in computer implemented method for monitoring network traffic data, network traffic controller and computer programs
Lugo-Cordero et al. A secured distribution of server loads to clients
WO2024073843A1 (en) Systems and methods for establishing a secure digital network environment
Lemaire et al. Secure remote access to industrial control systems with mobile devices
Arnedo-Moreno et al. A security framework for JXTA-overlay
Arnedo-Moreno et al. Securing a Java P2P framework: the JXTA-overlay case
Turnbull Securing an FTP Server

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: 20150505

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

Effective date of registration: 20150505

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.