CN101171782B - 对等认证和授权 - Google Patents

对等认证和授权 Download PDF

Info

Publication number
CN101171782B
CN101171782B CN2005800492397A CN200580049239A CN101171782B CN 101171782 B CN101171782 B CN 101171782B CN 2005800492397 A CN2005800492397 A CN 2005800492397A CN 200580049239 A CN200580049239 A CN 200580049239A CN 101171782 B CN101171782 B CN 101171782B
Authority
CN
China
Prior art keywords
computing equipment
certificate
user
trusted
certificates
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.)
Expired - Fee Related
Application number
CN2005800492397A
Other languages
English (en)
Other versions
CN101171782A (zh
Inventor
R·古普塔
T·R·曼尼恩
R·T·拉奥
S·K·辛格豪尔
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 CN101171782A publication Critical patent/CN101171782A/zh
Application granted granted Critical
Publication of CN101171782B publication Critical patent/CN101171782B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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/321Cryptographic 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 involving a third party or a trusted authority
    • 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/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • 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/0869Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
    • 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/3263Cryptographic 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 involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3265Cryptographic 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 involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate chains, trees or paths; Hierarchical trust model
    • 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)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Computer And Data Communications (AREA)

Abstract

认证机制使用可由计算设备的用户个别地填充、并可包括用户想要允许其用作证书授权机构的实体的证书的受信任者存储。因此,即使没有设备提交由第三方证书授权机构签名的证书或证书链,只要每个设备提交了由存在于受信任者存储中的设备签名的证书或证书链,就可进行对等连接。一旦获得认证,远程用户就可通过使本地进程模拟该用户来访问主机设备上的受信任资源,并通过将用户的口令或口令类型改成用户证书的散列、然后使该用户登录来创建一适当令牌。该令牌可用一标准方式参考,以确定该远程用户是否获得访问受信任资源的授权。

Description

对等认证和授权
技术领域
本发明一般涉及对等通信,尤其涉及用于对对等网络中的各对等端认证和授权的机制。
背景技术
通常,网络连接在客户机计算设备和服务器计算设备之间形成,其中服务器将用作数据的中央储存库。因而,客户机将选择会满足客户机需求的特定服务器,并将尝试连接该服务器。在尝试连接服务器时,客户机将提供一种标识形式,且在适当时提供将允许客户机访问受保护信息的口令或类似保密信息。服务器将客户机的标识以及(必要时)保密信息与该服务器已同意准许访问的客户机的数据库作比较。如果客户机的标识和保密信息与数据库中的条目相匹配,则服务器准许客户机访问。
然而,以上***假定客户机具有它可借以验证服务器身份的某种机制。例如,许多客户机通过拨号由电话公司分配给一特定服务器的电话号码经由调制解调器连接与该服务器相连。在这样的情形中,客户机可确保适当的服务器在接收客户机的认证信息,因为电话号码由电话公司保证仅与指定目的地相连。然而,随着因特网和万维网的重要性日益彰显,越来越多的客户机与服务器之间的连接经由通过被称为路由器的中间计算设备的专用网络连接形成。这些路由器将基于路由表或使人类可读服务器名称与常常可变的因特网地址相关的类似信息来引导与特定服务器的客户机通信。如果一个或多个路由表遭到破坏,则客户机的通信会被导向不当的服务器。这样的不当服务器常常将它们自己呈现为适当服务器以努力获取客户机的认证信息。因此,需要服务器可借以向客户机证明该服务器确实是它自己所表示的那个服务器的一种机制。
证书授权机构(CA)可用作客户机与之通信的服务器确实是它自己所表示的那个服务器的独立验证。具体地,服务器可向客户机提供客户机可向其信任的第三方CA验证的受保护标识符,诸如经签名的证书。在当今采用的一种通用机制中,客户机可验证受保护标识符,因为客户机已经以可信赖方式接收到了CA的公钥,客户机可使用该CA公钥来对受保护标识符解码。使用这种机制,服务器提供给客户机的受保护标识符可以是该服务器的由CA私钥签名的证书。因为只有CA才可访问CA的私钥,并且只有CA的公钥可对诸如经签名证书解码,所以如果经签名证书由客户机使用CA公钥正确解码,则客户机确定CA已对该证书签名并验证了其中所包含的信息。一旦客户机对服务器是它所声称的服务器满意,客户机就可继续如上所示地向服务器标识自己。
但是在对等网络中,不存在客户机可与之相连的中央服务器。相反,客户机计算设备彼此通信,从而从一连串的客户机到客户机连接形成网络。尽管客户机到客户机连接可以上述方式得到保护,但对每个单独的客户机设备而言向独立的第三方CA注册自己是不切实际的。因此,所需要的是一客户机在不需要向第三方CA注册的成本和复杂性的情况下可借以向另一客户机认证自己的一种机制。类似地,一旦客户机得到认证,就存在对可使一个客户机访问另一客户机的数据和资源的授权机制的需要。
发明内容
因此,在本发明的一个实施例中,受信任者存储可手动地填充以证书,从而提供与受信任者存储中的证书相匹配的证书的客户机可在不需要第三方证书认证码的情况下得到认证。
在另一实施例中,一组客户机可经由特别创建的组证书得到认证。
在又一实施例中,一个客户机或一组客户机可通过证明从客户机的证书到受信任者存储或受信任根存储中提供的证书的信任链的证书链来得到认证。
在再一实施例中,一旦一个客户机被另一个客户机认证,就通过将第二客户机上第一客户机帐户的口令改成已知值、然后登录第一客户机来创建可用来准许对第二客户机的数据和资源的进行访问的用户令牌,而可被准许访问另一客户机上的数据和资源。
尽管本文中的描述主要集中于对等网络中计算设备的认证和授权,但可以理解,该描述可等同地应用于更常规的客户机服务器网络环境、或在使用第三方证书授权机构是不切实际的任何网络拓扑。此外,尽管以下描述参考了在单独计算设备上运行的进程,但本文中所描述的机制可等同地应用于具有多个处理器、或以多处理方式运行的单个计算设备。本发明的其它特征和优点从以下参阅附图进行的对说明性实施例的详细描述中将变得显而易见。
附图说明
尽管所附权利要求具体地阐述了本发明的特征,但从以下参阅附图进行的详细描述中本发明及其目的和优点可得到最佳的理解,在附图中:
图1是一般地示出本发明各实施例可用之实现的一示例性计算设备的框图;
图2一般地示出根据本发明一实施例的认证机制的操作;
图3一般地示出根据本发明一实施例的认证机制所执行的操作;
图4一般地示出本发明一实施例构想的授权机制所使用的软件组件;以及
图5一般地示出根据本发明一实施例的授权机制所执行的操作。
具体实施方式
计算设备上的受信任者存储可手动地填充以关于受信任设备的信息,并可用来使那些受信任设备能在无需凭借由第三方证书授权机构(CA)签名的证书的开销和复杂性的情况下向计算设备认证自己。实质上,CA的功能可由用户、或计算设备上的受信任进程在判定哪些设备是受信任的以便使其信息将被置于受信任者存储中时来手动地执行。一旦位于受信任者存储中,该信息即可与从其它设备接收到的标识信息进行比较,使计算设备能够确定发送标识信息的设备是否的确是受信任的设备。
一旦设备已得到认证,它就可得到通过创建适合经认证设备的用户令牌来访问数据和计算资源的准许。与受信任设备相对应的帐户的口令可由以内核模式运行的进程改变成已知量,诸如可从存储在受信任者存储中的信息导出的标识符。一旦被改变,用户令牌就可通过登录到经认证设备来创建,由此授权它访问某些资源和数据。
对于设备的认证及其对访问***资源和数据的授权而言,现有的软件和硬件组件可被用来提供最大量的反向兼容性,并使得认证和授权功能能尽可能有效地设计。
参看附图,其中同样的参考标号表示同样的元件,本发明被说明性地描述为在诸如图1所示计算设备100的互连计算设备的环境中实现。尽管不是必需的,本发明也可在诸如程序模块的由这样的计算设备执行的计算机可执行指令的一般环境中描述。通常,程序模块包括执行具体任务或实现具体抽象数据类型的例程、程序、对象、组件、数据结构等。此外,本领域技术人员将理解,本发明可用许多不同的计算设备实践,包括手持式设备、多处理器***、基于微处理器的或可编程的消费电器、网络PC、小型计算机、大型计算机等。如上所述,本发明也可在任务由经通信网络连接的远程处理设备执行的分布式计算环境中实践。在分布式计算环境中,程序模块可置于本地和远程存储器存储设备中。
参看图1,示出了本发明可在其上实现的一示例性计算设备100。该计算设备100仅是适当计算设备的一个示例,并非旨在提出本发明用途或功能范围的任何限制。该示例性计算设备100可诸如通过存储器分区、虚拟机、多处理器或类似的编程技术实现一个或多个虚拟计算设备,从而使一个物理计算结构能执行以下所述多个计算设备所进行的动作。
本发明可在诸如程序模块的由计算机执行的计算机可执行指令的一般上下文中进行说明。一般而言,程序模块包括执行具体任务或实现具体抽象数据类型的例程、程序、对象、组件、数据结构等等。在分布式计算环境中,任务可由经通信网络链接的远程处理设备执行。在分布式计算环境中,程序模块可置于包括存储器存储装置的本地和远程计算机存储介质中。
计算机设备100的组件可包括,但不限于,处理单元120、***存储器130以及将包括***存储器在内的各种***组件耦合到处理单元120的***总线121。***总线121可能是若干总线结构类型中的任一种,包括存储器总线或存储器控制器、***总线、以及使用多种总线体系结构的任一种的本地总线。作为示例,而非限制,这些体系结构包括工业标准体系结构(ISA)总线、微信道体系结构(MCA)总线、扩展ISA(EISA)总线、视频电子标准协会(VESA)局部总线和也称为Mezzanine总线的***部件互连(PCI)总线。此外,处理单元120可包括一个或多个物理处理器或处理核心。
计算设备100通常包括各种计算机可读介质。计算机可读介质可以是能被计算设备100访问的任何可用介质,并包括易失性和非易失性介质、可移动和不可移动介质。作为示例,而非限制,计算机可读介质可包括计算机存储介质和通信介质。计算机存储介质包括以任何方法或技术实现、用于存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息的易失性和非易失性介质、可移动和不可移动介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字化多功能光盘(DVD)或其它光盘存储、磁卡、磁带、磁盘存储或其它磁性存储设备、或任何其它可用于存储所需信息并可由计算设备100访问的介质。通信介质通常在诸如载波或其它传输机制的已调制数据信号中体现计算机可读指令、数据结构、程序模块、或其它数据,且包括任何信息输送介质。术语“已调制数据信号”意指在信号中用对信息编码方式设置或改变其一个或多个特征的信号。作为示例,而非限制,通信介质包括诸如有线网络或直线连接的有线介质,和诸如声学、RF、红外线和其它无线介质的无线介质。以上任何介质的组合也应包括在计算机可读介质的范围中。
***存储器130包括诸如只读存储器(ROM)131和随机存取存储器(RAM)132的易失性和/或非易失性存储器形式的计算机存储介质。包含有助于如起动时在计算机110内的元件间传送信息的基本例程的基本输入/输出***(BIOS)133通常存储在ROM 131中。RAM 132通常包含可被处理单元120立即访问和/或当时正***作的数据和/或程序模块。作为示例,而非限制,图1示出了操作***134、应用程序135、其它程序模块136、和程序数据137。
计算设备100还可包括其它可移动/不可移动、易失性/非易失性计算机存储介质。仅作为示例,图1图示了读取和写入不可移动、非易失性磁性介质的硬盘驱动器141,读取和写入可移动、非易失性磁盘152的磁盘驱动器151,读取和写入可移动、非易失性光盘156,诸如CD-ROM或其它光学介质的光盘驱动器155。其它也用在示例性计算环境中的可移动/不可移动、易失性/非易失性计算机存储介质包括,但不限于,如磁带、闪存卡、数字化多功能盘、数字化录像带、固态RAM、固态ROM等等。硬盘驱动器141通常通过诸如接口140的不可移动存储器接口与***总线121连接,而磁盘驱动器151和光盘驱动器155通常通过诸如接口150的可移动存储器接口与***总线121连接。
如上所述并如图1所示的驱动器及其相关联的计算机存储介质为计算设备100提供计算机可读指令、数据结构、程序模块、和其它数据的存储。在图1中,例如,硬盘驱动器141被示为存储操作***144、应用程序145、其它程序模块146、和程序数据147。注意,这些组件可以与操作***134、应用程序135、其它程序模块136、和程序数据137相同或不同。在此给予操作***144、应用程序145、其它程序模块146、和程序数据147的数字不同说明他们至少是不同的副本。用户可通过如键盘162、和诸如鼠标、跟踪球或触摸板等定位装置161的输入装置向计算设备100输入命令和信息。其它输入装置(未示出)可包括话筒、操纵杆、游戏垫、***、扫描仪等等。这些和其它输入设备常常通过与***总线121耦合的用户输入接口160与处理单元120相连,但也可通过诸如并行端口、游戏端口或通用串行总线(USB)的其它接口连接。监视器191或其它类型的显示设备也可通过诸如视频接口190的接口与***总线121相连。除了监视器,计算机还可包括诸如扬声器197和打印机196的其它***输出设备,它们通过输出***接口195相连。
计算设备100可使用与一台或多台远程计算机的逻辑连接在网络化环境中运行。图1示出与远程计算设备180的一般网络连接171。一般网络连接171和图1所示的网络连接可以是各种不同类型的网络和网络连接的任一类,包括:局域网(LAN)、广域网(WAN)、无线网络、符合以太网协议的网络、令牌环协议、或包括因特网或万维网的其它逻辑、物理或无线网络。
当用于网络化环境中时,计算设备100通过网络接口或适配器170与一般网络连接171相连,该网络接口或适配器170可以是有线或无线网络接口卡、调制解调器、或类似的网络设备。在网络化环境中,相关于计算设备100所述的程序模块或其一部分可存储在远程存储器存储设备中。可以理解,所示网络连接是示例性的,并可使用在计算机之间建立通信链接的其它手段。
在以下的描述中,本发明将参照由一个或多个计算设备执行的动作和操作的符号表示进行描述,除非另有指明。这样,可以理解,有时称为计算机正在执行的这些动作和操作包括由计算设备的处理单元对以结构化形式表示数据的电信号的操纵。该操纵转换数据或将其保存在计算设备的存储器***中的单元内,以本领域技术人员能很好理解的方式重新配置或以其它方式改变计算设备的操作。维护数据的数据结构是存储器中其具体属性根据数据的格式定义的物理单元。然而,尽管本发明在前述上下文中进行描述但这并不表示是限制性的,因为本领域技术人员将理解以下描述的各种动作和操作也可用硬件来实现。
参看图2,示出了计算设备201和计算设备202之间的一系列通信。计算设备201和计算设备202可以是与以上详细描述的计算设备100类型相同的计算设备,或者它们可以是任一种以上列示的其它类型计算设备,包括但不限于手持式计算设备、膝上型计算设备、大型计算设备、任务专用计算设备等。如图2所示,就没有计算设备用作设计成为多客户机网络的集线器的专用服务器而言,计算设备201和202是“对等设备”。相反,计算设备201和202有可能包括类似的计算能力,并有可能直接由一个或多个用户使用。然而,如对本领域技术人员显而易见的,对等计算设备无需为了用作对等设备而在计算上也相似。
对等网络通信连接可在计算设备201和计算设备202之间形成。图2示出称为“传输层安全”(TLS)协议的通用安全协议。尽管以下的描述将集中于TLS协议,但本发明并不限于这样的协议,并且如本领域技术人员所知,许多其它协议可分别向计算设备201和202提供足以使该计算设备201和202能执行本发明各实施例所构想的认证机制的信息。
如图2所示,TLS协议由一个对等设备(在本示例中为计算设备201)发起,从而向另一对等设备发送一个或多个包括ClientHello结构的发起消息210。ClientHello结构可包括当前时间、随机值、设备201所支持的密码算法列表、以及设备201所支持的压缩算法列表等。为了描述图2中所示的通信,术语“客户机”和“服务器”将像它们被TLS协议使用一样使用;即“客户机”是发起通信的计算设备,而“服务器”是对其发起通信的计算设备。此外,如本领域技术人员所众所周知的,尽管包括ClientHello结构的消息210被示为是发起消息,但图2中所示的通信可等同地由来自计算设备202对计算设备201向计算设备202发送ClientHello结构的请求发起。在该情形中,来自计算设备202的请求将由包括上述ClientHello结构的消息210响应。
响应于消息210,计算设备202可发送包括ServerHello结构、设备202的证书或证书链、ServerKeyExchange结构、CertificateRequest结构以及ServerHelloDone消息的消息212。ServerHello结构可包括随机值(与ClientHello中的随机值不同)、会话标识符、从ClientHello提供的列表中选择的选定密码算法、以及从ClientHello提供的列表中选择的选定压缩算法等。如以下更详细地描述地,设备202的证书可包括适于ServerHello结构中指定的选定密码算法的证书或证书链。ServerKeyExchange结构可包括诸如公钥的信息,该信息可由计算设备201用来保护前主(premaster)机密的通信或完成能得到前主机密的密钥交换。如果证书或证书链包含能足以允许计算设备201交换前主机密的信息,则消息212无须包含ServerKeyExchange结构。CertificateRequest结构可包括计算设备201提供其证书的请求,并可进一步包括所请求的证书类型的列表和可接受证书授权机构的列表。并且ServerHelloDone消息可指示已完成对作为消息212发送的以上所述信息的传输。
响应于消息212,计算设备201可使用经由消息212接收的证书或证书链来通过参考存储在受信任者存储203或受信任根存储205的证书认证计算设备202。更具体地,如以下更详细地描述地,计算设备201可将经由消息212接收的证书或证书链与存储在受信任者存储203中或链接回受信任根存储205中的证书作比较。如果计算设备202被认证,则计算设备201可发送消息214,包括计算设备201的证书或证书链、ClientKeyExchange结构、CertificateVerify结构、ChangeCipherSpec消息以及Finished消息。如以下更详细地描述地,设备201的证书可包括适于在消息212的ServerHello结构中指定的选定密码算法的证书或证书链。ClientKeyExchange结构可包括前主机密的经加密版本、或足以使计算设备201和202独立导出相同前主机密的信息。CertificateVerify结构提供对设备201的证书的显式验证。ChangeCipherSpec消息指示计算设备201已采用商定的加密算法,并将以商定的密钥使用这些算法来发送后续消息,该后续消息如上所述是Finished消息,指示已完成了消息214中所包含信息的传输。
当在消息214中接收到来自设备201的证书或证书链之后,计算设备202可通过将在以下更详细描述的方式参考存储在受信任根存储206或受信任者存储204中的证书来使用该证书或证书链以认证计算设备201。如果计算设备201得到认证,则设备202可确认作为消息214的一部分发送的Finished消息,以确保正在使用适当的加密算法和加密密钥。计算设备202随后可发送消息214,该消息包括对设备202将使用商定的加密算法和密钥来对后续通信加密的指示,以及如所指示地加密的Finished消息。
如果计算设备201可正确地解码作为消息214的一部分发送的Finished消息,则它可验证设备202正在使用正确的加密算法和密钥。因为设备201和202均已向彼此认证了自己,并且建立了一公共的加密算法和密钥组,所以它们可继续以安全方式交换数据220。
如上所述,通常因为证书由证书授权结构(CA)签名,所以证书认证一计算设备。在一公知机制中,CA将通过使用CA的私钥对诸如来自证书本身的数据的某数据加密来签名证书。如本领域技术人员所知的,私钥由单个实体秘密保存、并用来加密可通过相应公钥解密的信息。因为私钥不能从公钥中导出,所以公钥可广泛地分发。因而,如果计算设备知道CA的公钥,并且如果它能正确地对证书中的加密数据解码,则计算设备可确定CA签名了该证书。此外,如果计算设备“信任”该CA,则计算设备可将信任延及提供经签名证书的设备,并且由此认证该设备。
传统的CA包括其业务是验证信息和签名证书、以及对于内部网络而言包括信息技术(IT)部门的公司。例如,在由公司IT部门维护并保护的公司网络中,IT部门可用作CA并可对公司员工的证书签名以表示他们可被其他员工所信任。然而,这样的CA将仅对公司内部通信有用。如果员工需要与公司外部的计算设备相连,则有可能外部设备不会将该公司的IT部门视为受信任授权机构、因此不会基于该公司的IT部门所签名的证书认证该员工。在这种情形中,可使用诸如其业务是验证信息的第三方CA。例如,第三方公司可用作独立的CA,且想要提供该CA签名的证书的任何人都需要提交各种信息使该公司可在签名请求者的证书之前验证该请求者的身份和合法性。如果公司在对证书签名之前已勤勉地验证了信息,则它可形成作为可信任CA的信誉,并可用来使来自不同环境(诸如不同的公司实体)的两个或多个计算设备来彼此认证。
来自CA的证书被称为是“自签名的”,因为该证书内所包含的经加密信息通过CA自己的私钥来加密。这种来自CA的自签名证书被称为“根”证书,并以可信任的方式向一个或多个计算设备传递。例如,在上述公司情形中,使公司IT部门能用作CA的根证书可由IT部门预先安装在每台计算设备上,或者可由IT部门的员工使用便携式存储介质手动安装。在该情形中,当公司的计算设备之一想要与另一计算设备相连时,它可提交由公司的IT部门签名的证书。该另一设备可验证证书,因为对经加密信息解密并由此验证证书所需的公钥已作为根证书的一部分存在于该设备上。类似地,独立第三方CA的根证书可由制造商预先安装在计算设备上,或可与来自个人用户可信任的源的软件捆绑在一起,这些软件诸如来自著名软件公司或组织的web浏览器或文件传送程序。在这些情形中,如果一个计算设备向另一个计算设备提交由已知第三方CA签名的证书,则该另一计算设备可验证该证书并认证第一计算设备,因为:第三方CA的自签名证书被预先安装并由此向另一计算设备提供CA的公钥,并且使其能验证经加密信息是使用CA的私钥加密的并由此认证提交设备。
不幸的是,如上所述,独立第三方CA常常要求签名证书的报酬,从而使得个人、小组织、教育机构、慈善团体等使用这样的CA变得不切实际。例如,一个小型天文俱乐部可能想要使其成员能通过由对等连接构成的网络共享其数字天文照片,从而使该俱乐部能不必购买专用服务器计算设备而节约费用。类似地,个人可能想要建立对等网络以便于与朋友玩游戏或共享文件。在任一情形中,都需要一种不基于昂贵的第三方CA而认证想要建立这样的对等连接的计算设备的机制。
参看图3,示出了根据本发明一实施例的一种用于认证设备的机制。通常,如上所述,CA的根证书可通过一些受信任手段预先存储在计算设备上。这些证书标识CA及其公钥,并且使用相应的私钥来自签名。当存储在设备上时,根证书可被存储在可称作“受信任根存储”的一个公共位置。如本领域技术人员将认识到的,诸如图2所示的受信任根存储205和受信任根存储206的受信任根存储不必是一特定文件夹或类似的文件***实体,而可以不论其在给定计算设备的文件***内的位置仅仅指根证书的概念化集合。
因而,如图3所示,为了根据本发明一实施例认证一连接设备,接收设备首先可如步骤301所示接收证书。随后,在步骤303,接收设备可尝试确定它所接收到的证书是否由其证书被存储在受信任根存储中的CA签名。通常,连接设备将提供一证书链,其中它自己的证书为该链的第一个证书。该第一证书可包含一加密部分,该加密部分可使用在证书链中的后续证书中指定的公钥来解密。因为只有有私钥的处理器可制作该加密部分,所以第一证书的该加密部分用作与第二证书相对应的实体对第一证书的验证。用这种方式,每个证书由证书链中后来的证书来确认。然而,最终,除非该链以由其证书存储在受信任根存储内的CA签名的证书结束,否则接收计算设备不会认证该连接设备。
因而,在步骤303,接收设备首先可确定由连接设备发送的证书是否由该接收设备所信任的CA认证。如上所述,如果CA的证书被存储在客户机的受信任根存储中,则该CA被该客户机信任。同样如上所述,当证书包括仅能通过由CA证书指定的公钥解密的加密数据,从而因为只有该CA能访问它自己的私钥而指示该加密数据是由CA加密时,该证书可被确定为被该CA认证。如果发送了证书链,则接收设备可在步骤303确定该链中的最后一个证书是否被该接收设备所信任的CA认证。
如果证书被接收设备所信任的CA认证,则接收设备接着可确定该证书是否对应于连接设备,如步骤307所示。如果证书仅仅是证书链中的最后一个证书,则它将不标识连接设备。然而,如果连接设备仅发送单个证书,则该证书不仅应被接收设备所信任的CA认证,而且还应当正确地标识连接设备。如果它的确做了这两件事,则接收设备可准许该连接,如图3中的步骤317所示。
然而,如果连接设备仅发送了一个证书,并且它不标识连接设备,则接收设备将在步骤307确定该证书不标识连接设备,并且在步骤309确定该链中没有其它证书,因此将如步骤315所示拒绝连接设备所尝试的连接。如果证书链不以标识连接设备的证书开始,则接收设备将类似地拒绝连接。
如果在步骤309接收设备确定其最后一个证书被受信任CA认证的证书链中有其它证书,则接收设备可在步骤311检查前一个证书,并如步骤313所示地确定前一个证书是否由后一个证书证明。如本领域技术人员所公知的,如果证书链中的每个证书都不证明前一个证书则信任关系将断裂,并且该证书链不能证明发送它的设备。因此,如果在步骤313接收设备确定证书链中有一裂口,则它可在如图所示的步骤315拒绝连接。但是,如果现在所检查的证书被后一个证书所证明,则接收设备回到步骤307,以确定现在所检查的证书是否标识了连接设备。如上所述,如果是,则接收设备可认证发送设备并在步骤317准许连接,而如果不是,则接收设备可检查该链中的其它证书,如同样如上所述的步骤309所示。
然而,如上所述,要求不同的对等网络情形中的各个设备提交由第三方CA签名的证书会是不切实际的。因此,可使用本发明一实施例所构想的“受信任者存储”以及受信任根存储。类似于受信任根存储,受信任者存储可由来自给定计算设备上特定用户所信任的实体的证书填充。然而,与受信任根存储不同,其证书位于受信任者存储中的实体将不被允许用作该用户的CA。如以上参照受信任根存储所述,受信任者存储不必指计算设备的文件***的具体片段或要素,而是相反指被视为受信任者存储的一部分的所有证书的概念性集合,不管它们驻留在文件***内的什么地方。
受信任根存储与受信任者存储之间的另一个不同之处在于受信任者存储可由个人用户更容易地填充。因为使个人用户能选择信任谁可减少可能的安全措施,所以任何的风险增长都可通过将受信任者存储的适用性仅仅限制于一开始选择放置哪些证书的用户来补偿。
用户可通过各种机制来接收证书,并可个别确定是否要信任那些证书。例如,两个朋友可通过电话或亲自交谈来同意通过电子邮件互相发送其证书,以使他们的计算机能形成对等连接。如果这两个朋友之一随后接收到声称来自对方的包括一个证书的一封电子邮件,则存在接收者可选择将该证书添加到其受信任者存储的充分可信任标记。或者,可信任证书可在频带外接收,诸如通过物理地在便携式计算机可读介质上携带证书并将其复制到计算设备中,或通过包裹递送服务发送便携式计算机可读介质上的证书。
一旦计算设备上的受信任者存储包括受信任实体的证书,该实体就可在无需首先获得第三方CA签名的证书的情况下形成与该计算设备的对等连接。具体地,如果实体的证书位于受信任者存储中,则该证书可被用来认证该实体。例如,如果发送计算设备已在接收计算设备的受信任者存储中具有标识它自己的自签名证书,则该发送计算设备可通过提供自签名证书来获得认证。如以上详细所述,这样的自签名证书包括有关发送设备的信息,并包括通过发送设备的私钥加密的加密信息。因为发送设备的自证书已位于受信任者存储中,所以接收设备可使用受信任者存储中的证书所提供的公钥,并可对作为发送设备所发送的自签名证书的一部分的加密信息解密,由此可确定该自签名证书确实是通过发送设备的私钥签名的,由此认证该发送设备。
作为另一示例,发送计算设备可在接收计算设备的受信任者存储中存储标识它自己的第三方签名证书。在这样的情形中,发送计算设备可以与以上详细描述相似的方式通过提供该第三方签名证书来获得认证。这样的安排增加了在不需要用户接受第三方签名的任一证书的情况下允许用户用第三方签名证书填充其受信任者存储的益处(与仅将第三方加入受信任根存储的情况相同)。因此,可以看出,存储在受信任者存储中的证书仅需标识一实体,并且基于本发明不存在这些证书应为自签名证书的要求。
再参看图3,如果在步骤303接收设备确定所接收的证书或证书链没有经其证书位于受信任根存储内任何CA签名,则在步骤305它可检查该受信任者存储。因而,如果那些设备之一想要发送例如自签名证书以尝试与接收设备形成对等网络,则自签名证书将足以认证它,因为该设备的证书位于受信任者存储中,且该设备本身可用作该设备的CA。以这种方式,想要形成对等连接的设备不会造成其证书由第三方CA签名的开支和低效。
如以上详细所述地,并如图3的步骤307-313所示,连接设备可发送一证书链以向接收设备认证它自己。这样的证书链在它具有作为根证书的分组证书时同样有效,如以下可看到地该分组证书可使个人能创建一分组的单个证书,从而简化小型组织、俱乐部、慈善团体等中各实体之间的对等连接。例如,返回到以上想要在其部分成员之间建立对等网络以便于图像共享的天文俱乐部的假设,成员之一可创建类似于如上所详述的自签名证书的一分组证书,然后使其他成员接受该分组证书。具体地,当其他成员各自“接受”分组证书时,他们表示他们愿意认证该组中的任一个成员。因此,分组证书可以类似于如上详述的根证书的方式发挥作用。然而,为了避免将分组证书添加到受信任根存储或受信任者存储时所伴随的安全问题,本发明一实施例所构想的一种机制可将分组证书保存在它自己的存储中,并在需要时向认证进程提供该证书。因此,认证进程可如上所述地进行,并可将该分组证书视为根证书。例如,对于分组中要与任一其它成员形成对等连接的任一个成员而言,每个成员可简单地向其它成员提交他们的由分组证书签名的证书。因为分组证书被视为根证书,所以由分组证书签名的证书足以认证发送成员。但是,由于分组证书实际上并不存在于根存储或受信任者存储中,所以对该分组成员的认证可在个人基础上进行,这可通过向认证进程提供分组证书的机制来控制。
此外,不能与分组创建者接触的其它成员可简单地请有权签发证书的其它参与组员之一(诸如管理员)来对其证书签名。当那些成员想要形成对等连接时,他们可提交包括其证书和另一成员的证书的证书链,其中他们的证书由另一成员的证书签名,而该另一成员的证书通过分组证书来签名。如图3所示,如果在步骤301接收设备接收这样的一个证书链,则它可确定该链中的最后一个证书是否由用作根证书的分组证书签名,如步骤303所示。如果是,则接收设备可如步骤307-313所示的迭代整条链,从而确保每个证书由下一个证书签名,并且该链中的第一个证书标识想要进行对等连接的设备。在以上示例中,这样的一个进程将揭示该链中的最后一个证书,即另一成员的证书由可用作CA的分组证书签名,并且加入成员的证书由另一成员签名,由此完成该链并认证加入成员。
如上所述,作为诸如前面详述的TLS算法的各种算法的一部分,证书或证书链交换。因此,本发明一实施例所构想的机制可通过发挥诸如TLS的算法的能力以及简单地***其它机制以在交换了证书之后执行上述步骤来有效地实现。因为这样的***会影响诸如基于存储在受信任存储中的CA来认证设备的TLS的算法的要素,所以本发明一实施例所构想的其它机制可执行此类认证,诸如图3中的步骤303所示。或者,本发明一实施例所构想的机制可排他性地集中在对提交证书或证书链最终基于存储在受信任者存储中的CA得到认证的实体的认证上。
参看图4,上述机制的一种可能实现可通过动态链接库(DLL)或类似组件,诸如图4所示的peerssp.dll 403。该peerssp.dll 403可提供一安全服务供应商(SSP)接口405,该接口405使应用程序能访问peerssp.dll 403的能力,包括例如通过参考受信任根存储、受信任者存储或分组证书来认证对等连接中各实体的能力。
一旦两个或多个设备通过对等网络连接,这些设备之一就可设法访问另一设备的受信任资源。在这样的情形中,提供受信任资源的设备可通过确定请求设备是否获得访问它的授权,来确定是否准许请求设备的访问。一般而言,在对等连接环境之外,如果用户具有允许用户访问计算设备资源的帐户,则该用户获得访问这些资源的授权。这样的帐户许可可在用户在计算设备上登录其帐户时由该计算设备的操作***的本地***授权机构(LSA)组件所生成的令牌中得到反映。通常,用户通过向LSA提供用户名和口令来登录到其帐户中。如果用户名和口令与分配给特定帐户的用户名和口令相匹配,则用户通过LSA登录到该帐户中并生成一适当令牌。
然后当用户想要访问-受信任资源时,将准许用户访问资源的操作***或其它进程可首先检查用户的令牌,以确定该用户是否获得访问受信任资源的授权。如果用户获得授权,则操作***或其它进程将对用户的请求作出响应。更具体地,访问资源的用户请求通常通过诸如图4所示应用程序401的应用程序作出。应用程序401可在用户的指示下通过使用“打开文件”命令或类似命令、将该受信任资源指定为请求的一个参数来设法访问受信任资源。将准许访问资源的操作***或其它进程可在检查用户的令牌之后确定是否要准许用户访问资源。如果用户获得授权,则操作***或其它进程可用成功指示符作出响应。在接收到该指示符时,应用程序401然后可发出“发送字节”或类似的请求以实际接收受信任资源的内容,以便于处理它们并向用户提供这样的信息。然而,如果用户未获授权,则操作***或其它进程可用失败指示符作出响应,该失败指示符可以对话框或类似通知的形式由应用程序401呈现给用户。
对等网络中的用户可通过类似手段得到访问远程计算设备上受信任资源的准许。具体地,在对等网络上通信的应用程序可使在所访问计算设备上运行的一远程进程模拟访问用户。然而,为了在所访问的计算设备上生成该访问用户的令牌,可允许访问用户登录到该计算设备上。为了避免在每个计算设备上手动地创建每个用户的帐户,本发明的各个实施例构想一种自动化机制,通过这种自动化机制用户可在不手动创建一帐户的情况下登录。
参看图5,示出了本发明一实施例所构想的使用户自动登录到远程计算设备上的一种机制。如图所示,在步骤501用户的信息可用如上详述的方式添加到受信任用户存储。一旦用户已被添加到受信任用户存储,就可在其受信任用户存储中添加了该用户的计算设备上为该用户创建帐户,如步骤503所示。随后,在请求设备上工作的用户与主机设备形成对等连接之后,用户可请求诸如受信任资源的要求认证的资源,如步骤505所示。
为了在主机设备上模拟该用户,以便于确定是否要准许用户对所请求资源的访问,本发明一实施例所构想的一个或多个进程可通过使用在步骤503创建的帐户和进程可改成一已知值的口令使远程用户登录到主机设备而使针对该远程用户的令牌得以创建。因为执行模拟的一个或多个进程可作为本地***进程执行,所以它们可改变在步骤503创建的帐户的口令。具体地,口令可被改成可由模拟用户的一个或多个进程自动确定的值,诸如远程用户的证书内所包含的部分或全部信息的散列。因而,如步骤507所示,在远程用户在步骤505请求受信任资源之后,在主机计算设备上模拟远程用户的一个或多个进程可将用户帐户的口令改成一已知值,然后可通过使用新选择口令登录到用户帐户而在步骤509创建用户令牌。在一些操作***中,不改变与远程用户的帐户相对应的口令,模拟远程用户的一个或多个进程而是在用户登录时仅指定诸如证书散列的一不同类口令,而非诸如Kerberos口令的更常规口令。
一旦创建了用户令牌,就可尝试以类似于以上详述的方式访问受信任资源。具体地,在主机计算设备上模拟远程用户的一个或多个进程可使用“打开文件”命令使控制访问受信任资源的操作***或其它进程检查用户的令牌,以确定用户是否获得访问受信任资源的授权。如果用户未获得访问受信任资源的授权,则控制访问受信任投资源的操作***或其它进程可向模拟远程用户的一个或多个进程返回一失败指示符,并且所指示的失败可经由对等连接转发给请求设备上的一个或多个进程,从而可向用户通知失败。然而,如果用户获得了访问受信任资源的授权,则控制访问受信任投资源的操作***或其它进程可向模拟远程用户的一个或多个进程返回一成功指示符,基于该成功指示符一个或多个模拟进程可使用“发送字节”命令来请求包含在受信任资源内的数据。然而,代替在主机计算设备上消费数据,作为“发送字节”命令的结果接收的数据可简单地经由对等连接转发给远程计算设备,在该远程计算设备中一个或多个本地进程可消费该数据并将其呈现给用户。
返回到图4,诸如peerssp.dll 403的单个DLL可提供上述模拟功能中的大多数。例如,除远程设备上的之外的诸如应用程序401的应用程序可请求通过调用在应用程序的进程空间内实例化的、由远程设备上诸如peerssp.dll 403的DLL展现的适当功能来访问主机设备上的受信任资源。该请求可被转发给主机设备上的DLL,诸如图4所示的peerssp.dll 403,该DLL可在主机设备上模拟远程用户。由于令牌的生成可以是一个享有高度特权的进程,因此peerssp.dll 403可与具有更高特权的组件通信,诸如认证服务411。因而,在模拟远程用户时,诸如peerssp.dll 403的进程可经由远程过程调用407传递必要的凭证,以使用户登录到高特权的认证服务411。如果用户登录成功,则高特权的认证服务411可经由相似的远程过程调用机制将结果所得的令牌返回给诸如peerssp.dll的一用户模式进程。
一些现代的操作***允许多个用户同时登录到计算设备上。在这种情形中,一个用户可将对等计算设备的证书添加到其受信任者存储中,而其它用户则不作添加。本发明一实施例所构想的机制允许进行确定哪个用户目前正在访问计算设备资源的检查,并将该用户的受信任者存储用作认证远程设备的基础。
如可见,本发明的各个实施例构想可在用户控制之下填充的受信任者存储,并能使对等设备在不需要最终由第三方CA签名的证书或证书链的情况下得到认证。此外,本发明的各个实施例构想了在主机计算设备上模拟远程用户,以发挥用于确定远程用户是否获得访问受信任资源的授权的现有机制的作用。尽管以上详细描述是基于特定算法的,但本发明没有任何东西是仅基于那些算法而排除其它相似算法的。例如,尽管上述证书是使用公钥/私钥密码术签名的,但通过任何适当密码算法保护的任何证书同样适用于本发明。类似地,尽管以上详细描述引用了单个DLL模块,但本发明的各个实施例可用库、例程、子例程、操作***进程、或任何其它可编程结构的任何组合来实现。
考虑到本发明原理可应用的许多可能实施例,应当认识到本文中参考附图描述的实施例仅仅意在是说明性的,而不应被视为限制本发明的范围。例如,本领域技术人员将认识到,例示实施例中以软件示出的一些要素可用硬件实现,反之亦然,或者可在配置和细节上对例示实施例作修改而不背离本发明的精神。因此,本文中所述的本发明构想了落入所附权利要求及其等效方案的范围内的所有这些实施例。

Claims (20)

1.一种用于在第二计算设备上认证第一计算设备的方法,包括:
在所述第二计算设备上接收来自所述第一计算设备的一个或多个证书,所述第二计算设备包括受信任者存储和受信任根存储,所述受信任者存储包括与所述受信任根存储中的证书不同的证书;
确定所述一个或多个证书中的任何一个是否包含所述受信任者存储中所包含的一个证书;
如果所述受信任者存储中的任何一个证书标识了所述第一计算设备,则认证所述第一计算设备,否则
确定所述一个或多个证书的最后一个证书是否由受信任根存储实体签名,其中所述受信任根存储实体由置于所述第二计算设备的受信任根存储中的签名证书标识;
确定所述一个或多个证书的第一个证书是否标识了所述第一计算设备;
确定所述一个或多个证书的每个证书是否被所述一个或多个证书中的前一个证书认证;以及
如果所述一个或多个证书的所述最后一个证书由所述受信任根存储实体签名、所述一个或多个证书的所述第一个证书标识了所述第一计算设备、并且所述一个或多个证书的每个证书由所述一个或多个证书中的前一个证书认证,则认证所述第一计算设备。
2.如权利要求1所述的方法,其特征在于,所述第二计算设备的所述受信任者存储包括所述第二计算设备的用户认为可信任的实体的签名证书,这些签名证书在所述第二计算设备的用户的指引下已被置入所述第二计算设备的受信任者存储中。
3.如权利要求1所述的方法,其特征在于,所述一个或多个证书包括以一分组证书结束的一证书链,其中所述分组证书作为根证书被个别地提供而不存储于所述受信任根存储或所述受信任者存储中。
4.如权利要求1所述的方法,其特征在于,所述第二计算设备的所述受信任者存储是与当前登录到所述第二计算设备上的用户相对应的已登录用户的受信任者存储,且其中所述第二计算设备的每个用户都具有一相应的受信任者存储。
5.如权利要求1所述的方法,其特征在于,由所述第二计算设备的所述受信任者存储中的签名证书标识的每个实体在所述第二计算设备上具有一相应帐户。
6.如权利要求1所述的方法,其特征在于,还包括:
从所述第一计算设备的用户处接收对访问所述第二计算设备上的受信任资源的请求;
改变所述用户在所述第二计算设备上的帐户的口令元;
通过使用改变后的口令元登录到所述用户的帐户来模拟所述用户,其中所述登录到所述用户的帐户的步骤生成一令牌;
用所述令牌访问所述受信任资源;以及
向所述第一计算设备上的用户提供所述访问的结果。
7.如权利要求6所述的方法,其特征在于,所述登录到所述用户的帐户包括经由一远程过程调用向内核模式进程提供凭证和所述改变后的口令元。
8.一种用于授权第一计算设备上的用户访问第二计算设备上的受信任资源的方法,包括:
从所述用户处接收对访问所述第二计算设备上的受信任资源的请求;
改变所述用户在所述第二计算设备上的帐户的口令元;
通过使用改变后的口令元登录到所述用户的帐户来模拟所述用户,其中所述登录到所述用户的帐户的步骤生成一令牌;
用所述令牌访问所述受信任资源;以及
向所述第一计算设备上的用户提供所述访问的结果。
9.如权利要求8所述的方法,其特征在于,所述改变所述用户的帐户的口令元包括改变一口令协议,以便于使用所述用户的证书的散列来登录到所述用户的帐户。
10.如权利要求8所述的方法,其特征在于,所述登录到所述用户的帐户包括经由一远程过程调用向一高特权进程提供凭证和所述改变后的口令元。
11.如权利要求8所述的方法,其特征在于,提供所述结果包括:如果用所述令牌访问所述受信任资源不成功,则向所述第一计算设备上的用户提供一失败指示,而如果用所述令牌访问所述受信任资源成功,则向所述第一计算设备上的用户提供来自所述受信任资源的数据,所述数据是经由发送字节型命令获得的。
12.如权利要求8所述的方法,其特征在于,还包括:
在所述第二计算设备上接收来自所述第一计算设备的一个或多个证书;
确定所述一个或多个证书的最后一个证书是否由受信任根存储实体签名,其中所述受信任根存储实体由置于所述第二计算设备的受信任根存储中的签名证书标识,并且其中所述第二计算设备的受信任根存储还包括与所述第二计算设备的受信任者存储不同的证书;
确定所述一个或多个证书的第一个证书是否标识了所述第一计算设备;
确定所述一个或多个证书的每个证书是否被所述一个或多个证书中的前一个证书认证;以及
如果所述一个或多个证书的所述最后一个证书由所述受信任根存储实体签名、所述一个或多个证书的所述第一个证书标识了所述第一计算设备、并且所述一个或多个证书的每个证书由所述一个或多个证书中的前一个证书认证,则认证所述第一计算设备。
13.如权利要求12所述的方法,其特征在于,所述第二计算设备的所述受信任者存储包括所述第二计算设备的用户认为可信任的实体的签名证书,这些签名证书在所述第二计算设备的用户的指引下已被置入所述第二计算设备的受信任者存储中。
14.如权利要求12所述的方法,其特征在于,所述第二计算设备的所述受信任者存储是与当前登录到所述第二计算设备上的用户相对应的已登录用户的受信任者存储,且其中所述第二计算设备的每个用户都具有一相应的受信任者存储。
15.一种计算设备,包括:
受信任根存储,包括不同于受信任者存储的签名证书;
所述受信任者存储,包括所述计算设备的用户认为可信任的实体的签名证书,所述签名证书在所述用户的指引下已被置入所述受信任者存储;
网络接口,配置成从另一计算设备接收一个或多个证书;以及
处理单元,配置成如果所述受信任者存储的任何一个证书标识了所述另一计算设备,则认证所述另一计算设备,否则如果所述一个或多个证书的最后一个证书由受信任根存储实体签名、所述一个或多个证书的第一个证书标识了所述另一计算设备、并且所述一个或多个证书的每个证书由所述一个或多个证书中的前一个证书认证,则认证所述另一计算设备,其中所述受信任根存储实体由所述受信任根存储中的一签名证书标识。
16.如权利要求15所述的计算设备,其特征在于,所述网络接口还配置成从所述另一计算设备的用户处接收对访问所述计算设备上的受信任资源的请求,且其中所述处理单元还配置成改变所述用户在所述计算设备上的帐户的口令元;通过使用改变后的口令元登录到所述用户的帐户来模拟所述用户,其中所述登录到所述用户的帐户生成一令牌;用所述令牌访问所述受信任资源;以及向所述另一计算设备上的用户提供所述访问的结果。
17.如权利要求16所述的计算设备,其特征在于,所述改变所述用户的帐户的口令元包括改变一口令协议,以便于使用所述用户的证书的散列来登录到所述用户的帐户。
18.如权利要求16所述的计算设备,其特征在于,所述登录到所述用户的帐户包括经由一远程过程调用向所述计算设备上的内核模式进程提供凭证和所述改变后的口令元。
19.如权利要求15所述的计算设备,其特征在于,所述受信任者存储为所述计算设备的每个用户专用的。
20.如权利要求15所述的计算设备,其特征在于,由所述受信任者存储中的签名证书标识的每个实体在所述计算设备上具有一相应帐户。
CN2005800492397A 2005-04-20 2005-08-01 对等认证和授权 Expired - Fee Related CN101171782B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/110,592 2005-04-20
US11/110,592 US7350074B2 (en) 2005-04-20 2005-04-20 Peer-to-peer authentication and authorization
PCT/US2005/027273 WO2006115522A1 (en) 2005-04-20 2005-08-01 Peer-to-peer authentication and authorization

Publications (2)

Publication Number Publication Date
CN101171782A CN101171782A (zh) 2008-04-30
CN101171782B true CN101171782B (zh) 2012-08-15

Family

ID=37188454

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2005800492397A Expired - Fee Related CN101171782B (zh) 2005-04-20 2005-08-01 对等认证和授权

Country Status (11)

Country Link
US (1) US7350074B2 (zh)
EP (1) EP1872502B1 (zh)
JP (1) JP4965558B2 (zh)
KR (1) KR101150108B1 (zh)
CN (1) CN101171782B (zh)
BR (1) BRPI0520174A2 (zh)
MX (1) MX2007011601A (zh)
MY (1) MY149418A (zh)
RU (1) RU2390945C2 (zh)
TW (1) TWI407750B (zh)
WO (1) WO2006115522A1 (zh)

Families Citing this family (69)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7065587B2 (en) * 2001-04-02 2006-06-20 Microsoft Corporation Peer-to-peer name resolution protocol (PNRP) and multilevel cache for use therewith
US20060294381A1 (en) * 2005-06-22 2006-12-28 Mitchell Douglas P Method and apparatus for establishing a secure connection
US8417949B2 (en) * 2005-10-31 2013-04-09 Microsoft Corporation Total exchange session security
JP4983165B2 (ja) * 2006-09-05 2012-07-25 ソニー株式会社 通信システムおよび通信方法、情報処理装置および方法、デバイス、プログラム、並びに記録媒体
US8091134B2 (en) * 2006-11-29 2012-01-03 Lenovo (Singapore) Pte. Ltd. System and method for autonomic peer-to-peer virus inoculation
US8590002B1 (en) 2006-11-29 2013-11-19 Mcafee Inc. System, method and computer program product for maintaining a confidentiality of data on a network
US8621008B2 (en) 2007-04-26 2013-12-31 Mcafee, Inc. System, method and computer program product for performing an action based on an aspect of an electronic mail message thread
SE531820C2 (sv) * 2007-06-13 2009-08-18 Headweb Ab Förfarande och system för legal fildelning
US8199965B1 (en) 2007-08-17 2012-06-12 Mcafee, Inc. System, method, and computer program product for preventing image-related data loss
US7949771B1 (en) * 2007-09-05 2011-05-24 Trend Micro Incorporated Authentication of unknown parties in secure computer communications
US20130276061A1 (en) 2007-09-05 2013-10-17 Gopi Krishna Chebiyyam System, method, and computer program product for preventing access to data with respect to a data access attempt associated with a remote data sharing session
GB2456290B (en) * 2007-10-05 2011-03-30 Iti Scotland Ltd Distributed protocol for authorisation
EP2056563B1 (en) 2007-11-05 2012-09-26 Alcatel Lucent Peer-to-peer network
CN100553212C (zh) 2007-11-16 2009-10-21 西安西电捷通无线网络通信有限公司 一种基于三元对等鉴别的可信网络接入控制***
US8893285B2 (en) * 2008-03-14 2014-11-18 Mcafee, Inc. Securing data using integrated host-based data loss agent with encryption detection
US8353053B1 (en) * 2008-04-14 2013-01-08 Mcafee, Inc. Computer program product and method for permanently storing data based on whether a device is protected with an encryption mechanism and whether data in a data structure requires encryption
US7979899B2 (en) 2008-06-02 2011-07-12 Microsoft Corporation Trusted device-specific authentication
US8996726B2 (en) 2008-06-19 2015-03-31 Qualcomm Incorporated Methods and apparatus for event distribution and routing in peer-to-peer overlay networks
US9077684B1 (en) 2008-08-06 2015-07-07 Mcafee, Inc. System, method, and computer program product for determining whether an electronic mail message is compliant with an etiquette policy
JP5347403B2 (ja) * 2008-09-22 2013-11-20 ソニー株式会社 情報処理装置および方法、プログラム、並びに、情報処理システム
US8412930B2 (en) 2008-10-09 2013-04-02 Microsoft Corporation Device authentication within deployable computing environment
US8032930B2 (en) 2008-10-17 2011-10-04 Intuit Inc. Segregating anonymous access to dynamic content on a web server, with cached logons
US20100235625A1 (en) * 2009-03-13 2010-09-16 Ravi Kant Pandey Techniques and architectures for preventing sybil attacks
CN101534262B (zh) * 2009-03-30 2011-04-20 成都市华为赛门铁克科技有限公司 消息传输方法、网络装置及网络***
US8281381B2 (en) * 2009-08-03 2012-10-02 Novell, Inc. Techniques for environment single sign on
US8914628B2 (en) 2009-11-16 2014-12-16 At&T Intellectual Property I, L.P. Method and apparatus for providing radio communication with an object in a local environment
US8875285B2 (en) * 2010-03-24 2014-10-28 Microsoft Corporation Executable code validation in a web browser
US10482254B2 (en) * 2010-07-14 2019-11-19 Intel Corporation Domain-authenticated control of platform resources
US8826010B2 (en) * 2010-09-17 2014-09-02 Skype Certificate revocation
US8856516B2 (en) 2010-09-17 2014-10-07 Skype Certificate revocation
US9270471B2 (en) 2011-08-10 2016-02-23 Microsoft Technology Licensing, Llc Client-client-server authentication
EP2600274B1 (en) * 2011-12-02 2019-04-24 BlackBerry Limited Method Of Sending A Self-Signed Certificate From A Communication Device
EP2842258B1 (en) * 2012-03-08 2017-03-01 Intel Corporation Multi-factor certificate authority
US8811950B2 (en) * 2012-03-30 2014-08-19 Qualcomm Incorporated Methods and apparatus for controlling devices with no or limited WWAN capability in peer to peer communication
US9202016B2 (en) * 2012-08-15 2015-12-01 Verizon Patent And Licensing Inc. Management of private information
CN103873248B (zh) * 2012-12-16 2017-04-12 航天信息股份有限公司 带有证书的基于身份的加密方法和装置
US9197700B2 (en) * 2013-01-18 2015-11-24 Apple Inc. Keychain syncing
US9077759B2 (en) 2013-01-18 2015-07-07 Apple Inc. Conflict resolution for keychain syncing
US20140281502A1 (en) * 2013-03-15 2014-09-18 General Instrument Corporation Method and apparatus for embedding secret information in digital certificates
US10404520B2 (en) 2013-05-29 2019-09-03 Microsoft Technology Licensing, Llc Efficient programmatic memory access over network file access protocols
US9641614B2 (en) * 2013-05-29 2017-05-02 Microsoft Technology Licensing, Llc Distributed storage defense in a cluster
US9838424B2 (en) 2014-03-20 2017-12-05 Microsoft Technology Licensing, Llc Techniques to provide network security through just-in-time provisioned accounts
US20150281225A1 (en) * 2014-03-27 2015-10-01 Microsoft Corporation Techniques to operate a service with machine generated authentication tokens
US9716716B2 (en) 2014-09-17 2017-07-25 Microsoft Technology Licensing, Llc Establishing trust between two devices
US10489309B2 (en) * 2014-10-21 2019-11-26 Intel Corporation Memory protection key architecture with independent user and supervisor domains
TW201626767A (zh) * 2015-01-15 2016-07-16 Universal Global Scient Ind Co 物聯網裝置離線分享之存取權限控制方法
GB2535165B (en) * 2015-02-09 2021-09-29 Arm Ip Ltd A method of establishing trust between a device and an apparatus
CN104703252B (zh) * 2015-02-13 2018-06-22 小米科技有限责任公司 终端设备接入无线网络的方法及装置
CN106209734B (zh) * 2015-04-30 2019-07-19 阿里巴巴集团控股有限公司 进程的身份认证方法和装置
US9979553B2 (en) * 2015-08-06 2018-05-22 Airwatch Llc Secure certificate distribution
US9667427B2 (en) 2015-10-14 2017-05-30 Cambridge Blockchain, LLC Systems and methods for managing digital identities
US10614532B1 (en) 2016-03-11 2020-04-07 Opower, Inc. Interactive analytics platform responsive to data inquiries
US10050963B2 (en) * 2016-03-29 2018-08-14 Microsoft Technology Licensing, Llc Securing remote authentication
EP3446266A4 (en) * 2016-07-29 2020-01-22 Hewlett-Packard Development Company, L.P. AUTHENTICATION OF COMPUTER DEVICE FOR AUTHORIZING WORKFLOW
US10320571B2 (en) * 2016-09-23 2019-06-11 Microsoft Technology Licensing, Llc Techniques for authenticating devices using a trusted platform module device
US11182349B2 (en) 2017-06-04 2021-11-23 Apple Inc. Synchronizing content
GB2565282B (en) * 2017-08-02 2021-12-22 Vnc Automotive Ltd Remote control of a computing device
US11290466B2 (en) * 2017-08-16 2022-03-29 Cable Television Laboratories, Inc. Systems and methods for network access granting
EP3585028A1 (de) * 2018-06-20 2019-12-25 Siemens Aktiengesellschaft Verfahren zur anbindung eines endgerätes in eine vernetzbare rechner-infrastruktur
US11316857B2 (en) * 2018-07-11 2022-04-26 Cyber Ark Software Ltd. Automated creation of dynamic privileged access resources
CN108833445B (zh) * 2018-07-31 2021-04-16 ***股份有限公司 一种适用于物联网***的认证方法及装置
US10965676B2 (en) * 2018-10-02 2021-03-30 Ca, Inc. Peer authentication by source devices
US11068598B2 (en) * 2018-11-01 2021-07-20 Dell Products L.P. Chassis internal device security
US10756908B1 (en) * 2019-02-22 2020-08-25 Beyond Identity Inc. User authentication with self-signed certificate and identity verification
US11172362B2 (en) 2019-05-09 2021-11-09 Samsung Electronics Co., Ltd. Method and apparatus for managing and verifying certificate
CN110728611A (zh) * 2019-08-28 2020-01-24 中铁程科技有限责任公司 接送站服务的提供方法、装置和计算机设备
CN110728386A (zh) * 2019-08-28 2020-01-24 中铁程科技有限责任公司 信息验证方法、装置和计算机设备
WO2021230636A1 (en) * 2020-05-11 2021-11-18 Samsung Electronics Co., Ltd. System and method for certificate based authentication for tethering
CN114168924B (zh) * 2022-02-10 2022-07-12 亿次网联(杭州)科技有限公司 一种基于数字证书的群成员相互认证的方法和***

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6308266B1 (en) * 1998-03-04 2001-10-23 Microsoft Corporation System and method for enabling different grades of cryptography strength in a product

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5638448A (en) * 1995-10-24 1997-06-10 Nguyen; Minhtam C. Network with secure communications sessions
US6144959A (en) * 1997-08-18 2000-11-07 Novell, Inc. System and method for managing user accounts in a communication network
US6134327A (en) * 1997-10-24 2000-10-17 Entrust Technologies Ltd. Method and apparatus for creating communities of trust in a secure communication system
US6615347B1 (en) * 1998-06-30 2003-09-02 Verisign, Inc. Digital certificate cross-referencing
US6304974B1 (en) * 1998-11-06 2001-10-16 Oracle Corporation Method and apparatus for managing trusted certificates
US6363376B1 (en) * 1999-08-02 2002-03-26 Individual Software, Inc. Method and system for querying and posting to multiple career websites on the internet from a single interface
US7065587B2 (en) * 2001-04-02 2006-06-20 Microsoft Corporation Peer-to-peer name resolution protocol (PNRP) and multilevel cache for use therewith
US7380279B2 (en) * 2001-07-16 2008-05-27 Lenel Systems International, Inc. System for integrating security and access for facilities and information systems
US7068789B2 (en) * 2001-09-19 2006-06-27 Microsoft Corporation Peer-to-peer name resolution protocol (PNRP) group security infrastructure and method
US7299351B2 (en) * 2001-09-19 2007-11-20 Microsoft Corporation Peer-to-peer name resolution protocol (PNRP) security infrastructure and method
US7493363B2 (en) * 2001-09-19 2009-02-17 Microsoft Corporation Peer-to-peer group management and method for maintaining peer-to-peer graphs
TWI221722B (en) * 2001-11-15 2004-10-01 Ind Tech Res Inst Access control system of work-flow proceeded on basis of electronic certificate and method thereof
US7120691B2 (en) * 2002-03-15 2006-10-10 International Business Machines Corporation Secured and access controlled peer-to-peer resource sharing method and apparatus
US7130999B2 (en) * 2002-03-27 2006-10-31 Intel Corporation Using authentication certificates for authorization
US7051102B2 (en) * 2002-04-29 2006-05-23 Microsoft Corporation Peer-to-peer name resolution protocol (PNRP) security infrastructure and method
US20030236976A1 (en) * 2002-06-19 2003-12-25 Microsoft Corporation Efficient membership revocation by number
US7392375B2 (en) * 2002-09-18 2008-06-24 Colligo Networks, Inc. Peer-to-peer authentication for real-time collaboration
US7461260B2 (en) * 2002-12-31 2008-12-02 Intel Corporation Methods and apparatus for finding a shared secret without compromising non-shared secrets
US7397922B2 (en) * 2003-06-27 2008-07-08 Microsoft Corporation Group security
US7188254B2 (en) * 2003-08-20 2007-03-06 Microsoft Corporation Peer-to-peer authorization method
US7546373B2 (en) * 2003-11-14 2009-06-09 Microsoft Corporation Secure dynamic credential distribution over a network

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6308266B1 (en) * 1998-03-04 2001-10-23 Microsoft Corporation System and method for enabling different grades of cryptography strength in a product

Also Published As

Publication number Publication date
TWI407750B (zh) 2013-09-01
JP4965558B2 (ja) 2012-07-04
KR101150108B1 (ko) 2012-06-11
US7350074B2 (en) 2008-03-25
EP1872502A1 (en) 2008-01-02
KR20070122495A (ko) 2007-12-31
TW200638723A (en) 2006-11-01
US20060242405A1 (en) 2006-10-26
BRPI0520174A2 (pt) 2009-04-22
EP1872502B1 (en) 2019-07-17
JP2008537256A (ja) 2008-09-11
MY149418A (en) 2013-08-30
MX2007011601A (es) 2007-11-22
CN101171782A (zh) 2008-04-30
RU2390945C2 (ru) 2010-05-27
EP1872502A4 (en) 2008-08-06
WO2006115522A1 (en) 2006-11-02
RU2007138936A (ru) 2009-04-27

Similar Documents

Publication Publication Date Title
CN101171782B (zh) 对等认证和授权
US11178128B2 (en) Integrating sensitive data from a data provider into instances of third-party applications executed on user devices
EP3788523B1 (en) System and method for blockchain-based cross-entity authentication
Yavari et al. An Improved Blockchain‐Based Authentication Protocol for IoT Network Management
Hameed et al. A scalable key and trust management solution for IoT sensors using SDN and blockchain technology
CN100580610C (zh) 动态网络中的安全链路管理方法
US9954866B2 (en) Parameter based key derivation
US9100171B1 (en) Computer-implemented forum for enabling secure exchange of information
US20090307486A1 (en) System and method for secured network access utilizing a client .net software component
RU2008141288A (ru) Аутентификация для коммерческой транзакции с помощью мобильного модуля
KR20140127303A (ko) 다중 팩터 인증 기관
JP2008503966A (ja) 匿名証明書呈示に関する匿名証明書
CN106576043A (zh) 病毒式可分配可信消息传送
CN102893575B (zh) 借助于ipsec和ike第1版认证的一次性密码
CN114329529A (zh) 一种基于区块链的资产数据管理方法及***
CN109815659A (zh) 基于web项目的安全认证方法、装置、电子设备及存储介质
CN114866323A (zh) 一种用户可控的隐私数据授权共享***及方法
US20220116384A1 (en) Microcontroller
CN107347073A (zh) 一种资源信息处理方法
US11170094B2 (en) System and method for securing a communication channel
WO2017130200A1 (en) System and method for securing a communication channel
Deng et al. A Secure and Efficient Access Control Scheme for Shared IoT Devices over Blockchain
Goel Access Control and Authorization Techniques wrt Client Applications
Hamid et al. A Scalable Key and Trust Management Solution for IoT Sensors Using SDN and Blockchain Technology
AU2008200824B2 (en) An anonymous decryption system, an anonymous decryption method, and program

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

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

Effective date of registration: 20150504

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120815

Termination date: 20200801