CN1823513A - 用于升级到基于证书的认证而不打断现有ssl会话的方法和*** - Google Patents
用于升级到基于证书的认证而不打断现有ssl会话的方法和*** Download PDFInfo
- Publication number
- CN1823513A CN1823513A CNA2004800203123A CN200480020312A CN1823513A CN 1823513 A CN1823513 A CN 1823513A CN A2004800203123 A CNA2004800203123 A CN A2004800203123A CN 200480020312 A CN200480020312 A CN 200480020312A CN 1823513 A CN1823513 A CN 1823513A
- Authority
- CN
- China
- Prior art keywords
- server
- client
- certificate
- response
- resource
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 67
- 230000004044 response Effects 0.000 claims abstract description 88
- 230000008569 process Effects 0.000 claims description 40
- 238000012795 verification Methods 0.000 claims description 34
- 238000004590 computer program Methods 0.000 claims 13
- 238000012545 processing Methods 0.000 description 38
- 238000004891 communication Methods 0.000 description 11
- 230000005540 biological transmission Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000012423 maintenance Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 238000013475 authorization Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000008676 import Effects 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 210000001525 retina Anatomy 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/40—User authentication by quorum, i.e. whereby two or more security principals are required
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/22—Arrangements for preventing the taking of data from a data transmission channel without authorisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/16—Implementing security features at a particular protocol layer
- H04L63/166—Implementing security features at a particular protocol layer at the transport layer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2113—Multi-level security, e.g. mandatory access control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer And Data Communications (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Treatment And Processing Of Natural Fur Or Leather (AREA)
- Devices For Checking Fares Or Tickets At Control Points (AREA)
Abstract
本发明公开了一种用于执行认证操作的方法。当客户端向服务器请求资源时,在服务器和客户端之间通过SSL(安全套接字层)会话来执行非基于证书的认证操作。当客户端请求另一资源时,服务器确定要升级到具有更大限制性的认证级别,并且通过SSL会话执行基于证书的认证操作,而无需在完成基于证书的认证操作之前退出或重新协商SSL会话。在基于证书的认证过程期间,通过SSL会话将可执行模块从服务器下载到客户端,此后服务器通过SSL会话接收在客户端由可执行模块使用数字证书而生成的数字签名。响应于在服务器处成功验证了数字签名,服务器提供对所请求资源的访问。
Description
技术领域
本发明涉及一种改进的数据处理***,特别涉及一种用于多计算机数据传输的方法和装置。更具体地说,本发明提供了一种用于使用加密技术的多计算机通信的方法和装置。
背景技术
电子商务网站和万维网应用代表用户在计算机网络上执行事务。为了安全起见,用户通常必须通过认证过程,以便在适当的可靠级别上证实用户的身份。
很多计算机***针对不同的安全级别具有不同类型的认证。例如,在成功完成由用户提供正确的用户名和密码组合的第一级认证之后,***可以提供对网站上的特定一组资源的访问。第二级认证可能要求用户提供例如智能卡的硬件令牌(token),此后用户被提供对网站上的受到更严格控制的资源的访问。第三级认证可能要求用户提供某种形式的生物测量数据,例如通过指纹扫描或视网膜扫描,此后***提供对网站上的非常敏感或机密的资源的访问。
从一个认证级别上升到下一个级别的处理称为“升级认证”。换句话说,为了获得对更敏感的资源的访问,用户按照***的要求从一个认证级别升级到更高的级别。
在基于万维网的电子商务环境中,计算机***通常将认证服务实现为用于访问网站的前门或岗哨口的形式。这些认证服务位于应用程序的前端,即,在用户和应用程序之间,以便确保用户在获得对任何资源的访问之前被认证。可以将这些认证服务实现为万维网服务器的插件、反向代理、或其它类似技术。关于这些认证服务的潜在问题是它们通常使用用户名/密码认证并且不能升级到使用基于客户端的证书的认证方法。一般认为基于证书的认证过程实现了比基于用户名/密码的认证过程更高的安全级别。
基于证书的认证涉及使用公开/私有非对称加密密钥对;数字证书将被证明用户的身份与公开加密密钥绑定在一起。在基于证书的认证过程期间,用户将他或她的数字证书提供给认证服务,并且用户被要求证实该用户具有对与公开密钥相对应的私有加密密钥的访问权。例如,认证服务将某种形式的询问数据提供给用户的客户端计算机,然后该客户端计算机用用户的私有加密密钥对询问数据进行签名,并且认证服务可以用用户的公开密钥来验证数字签名。如果认证服务确定了以用户的私有密钥对询问数据进行了正确的签名,则由于私有密钥应当总是由其身份被存储在证书中的用户保密,因此认证服务在很高的程度上验证了用户的身份。
升级到基于证书的认证过程的操作通常是不可能的。出现问题的典型原因是为了较低级别的非基于证书的认证如用户名/密码组合而在客户端和服务器之间已经建立了相互认证的SSL会话。如果需要基于证书的认证过程的认证服务不能控制SSL堆栈,这对于大多数可购得产品而言都是如此,例如,它可能以某种方式被嵌入到操作***中,则认证服务不能强制建立新的SSL会话。因此,认证服务不能在保持活动的SSL会话的同时,从在活动的SSL会话上已经发生的基于用户名/密码的认证过程升级到基于证书的认证过程。
因此,具有这样一种方法和***将是有利的,其能够从非基于证书的认证过程升级到基于证书的认证过程而无需退出或重新协商先前建立的SSL会话,以便为了某种目的而获得由认证服务要求的较高的安全级别。
发明内容
提出了一种用于执行认证操作的方法。当客户端向服务器请求资源时,在服务器和客户端之间通过SSL(安全套接字层)会话来执行非基于证书的认证操作。当客户端请求另一资源时,服务器确定要升级到具有更大限制性的认证级别,并且通过SSL会话执行基于证书的认证操作,而无需在完成基于证书的认证操作之前退出或重新协商SSL会话。在基于证书的认证过程期间,通过SSL会话将可执行模块从服务器下载到客户端,此后服务器通过SSL会话接收在客户端由可执行模块使用数字证书而生成的数字签名。响应于在服务器处成功验证了数字签名,服务器提供对所请求资源的访问。
附图说明
被认为是本发明的特征的具有新颖性的特征在所附权利要求中加以阐述。通过参考下面结合附图阅读的详细描述,将最佳地理解本发明本身、及其另外的目的和优点,其中:
图1A示出了典型的数据处理***的网络,其中每个数据处理***都可以实现本发明;
图1B示出了可以在可实现本发明的数据处理***中使用的典型计算机架构;
图1C示出了当客户端企图访问服务器上的受保护资源时可以使用的典型认证处理的数据流图;
图1D示出了用于包括多个认证服务器的企业域的典型数据处理***的方框图;
图2示出了根据本发明的已被扩展为包括升级认证处理的认证服务的方框图;
图3示出了用于在保持活动的、相互认证的SSL会话的同时,从较低级别、非基于证书的认证过程升级到较高级别、基于证书的认证过程的处理的流程图;
图4示出了根据本发明实施例的基于证书的升级认证操作在服务器上的具体处理的更多详情的流程图;以及
图5示出了根据本发明实施例的基于证书的升级认证操作在客户端上的处理的流程图。
具体实施方式
一般而言,可以包括或涉及本发明的设备包括多种数据处理技术。因此,作为背景,在更详细描述本发明之前,描述在分布式数据处理***内的硬件和软件组件的典型组织。
现在参考附图,图1A示出了典型的数据处理***的网络,其中每个数据处理***可以实现本发明的一部分。分布式数据处理***100包含网络101,其是可以用来在分布式数据处理***100内连接在一起的各种设备和计算机之间提供通信链路的介质。网络101可以包括诸如电线或光缆的永久连接、或通过电话或无线通信而创建的临时连接。在所示例子中,服务器102和服务器103随同存储单元104一起连接到网络101。此外,客户端105-107也连接到网络101。客户端105-107和服务器102-103可以由各种计算设备来代表,例如大型机、个人计算机、个人数字助手(PDA)等。分布式数据处理***100可以包括未示出的附加的服务器、客户端、路由器、其它设备、以及对等架构。
在所示例子中,分布式数据处理***100可包括因特网,其中网络101代表使用各种协议相互通信的网络和网关的全球集合,例如,轻量级目录访问协议(LDAP)、传输控制协议/网际协议(TCP/IP)、超文本传输协议(HTTP)、无线应用协议(WAP)等。当然,分布式数据处理***100还可包括大量不同类型的网络,例如内联网、局域网(LAN)或广域网(WAN)。例如,服务器102直接支持客户端109和包括无线通信链路的网络110。支持网络的电话111通过无线链路112连接到网络110,并且PDA 113通过无线链路114连接到网络110。电话111和PDA 113还可使用适当的技术如蓝牙TM无线技术跨越无线链路115相互直接传输数据,以创建所谓的个人区域网(PAN)或个人专用网。以类似的方式,PDA 113可通过无线通信链路116传输数据到PDA 107。
本发明可在各种硬件平台上实现;图1A旨在作为异构计算环境的示例,而不作为对本发明的架构限制。
现在参考图1B,其是示出了可实现本发明的如图1A所示的数据处理***的典型计算机架构的图。数据处理***120包含一个或多个连接到内部***总线123的中央处理单元(CPU)122,其中内部***总线123互连随机存取存储器(RAM)124、只读存储器126和输入/输出适配器128,输入/输出适配器128支持各种I/O设备如打印机130、盘单元132,或者未示出的其它设备如音频输出***等。***总线123还连接通信适配器134,其提供对通信链路136的访问。用户接口适配器148连接各种用户设备如键盘140和鼠标142或者未示出的其它设备如触摸屏、输入笔、麦克风等。显示适配器144将***总线123连接到显示设备146。
本领域的普通技术人员应当理解,图1B中的硬件可根据***实现而变化。例如,该***可具有一个或多个处理器,如基于IntelPentium的处理器和数字信号处理器(DSP),以及一种或多种类型的易失性和非易失性存储器。作为图1B所示的硬件的补充或替代,可使用其它***设备。所示例子并不意味着作为对本发明的架构限制。
除了能够在各种硬件平台上实现之外,本发明还可在各种软件环境中实现。典型的操作***可用来控制每个数据处理***内的程序执行。例如,一个设备可运行Unix操作***,而另一个设备包含简单Java运行时环境。代表性计算机平台可包括浏览器,其是用于访问采用各种格式和语言的超文本文档如图形文件、字处理文件、可扩展标记语言(XML)、超文本标记语言(HTML)、手持设备标记语言(HDML)、无线标记语言(WML)以及各种其它格式和类型的文件的公知软件应用程序。
本发明可在各种硬件和软件平台上实现,如上面参照图1A和图1B所述。更具体地说,本发明针对一种改进的认证服务。在详细描述该改进的认证服务之前,首先描述一种典型的认证服务。
附图描述在此包括客户端设备或客户端设备用户的特定操作。本领域的普通技术人员应当理解,到/从客户端的响应/请求有时由用户发起,而有时由客户端通常代表客户端用户自动发起。因此,当在附图描述中提到客户端或客户端用户时,应当理解,术语“客户端”和“用户”可通用而不严重影响所述处理的含义。
现在参考图1C,一个数据流图示出了当客户端企图访问服务器上的受保护资源时可以使用的典型认证处理。如图所示,客户端工作站150的用户通过在客户端工作站上执行的用户的万维网浏览器,试图在计算机网络上访问服务器151上的受保护资源。受保护资源是指对其的访问受到控制或限制的资源(应用程序、对象、文档、页面、文件、可执行代码、或其它计算资源、通信类型的资源等)。受保护资源由统一资源***(URL)标识,或者更一般地由统一资源标识符(URI)标识,其只能被经认证和授权的用户访问。如图1A或1B所示,计算机网络可以是因特网、内联网或其它网络,并且服务器可以是万维网应用服务器(WAS)、服务器应用程序、小服务程序(servlet)处理等。
当用户请求服务器侧受保护资源如域“ibm.com”内的网页(步骤152)时,启动该处理。术语“服务器侧”和“客户端侧”分别是指在网络化环境内服务器或客户端处的操作或实体。万维网浏览器(或相关联的应用程序或小应用程序)生成被发送到驻留(host)域“ibm.com”的万维网服务器的HTTP请求(步骤153)。术语“请求”和“响应”应当被理解成包括数据格式化,其适于在特定操作中所涉及的信息的传输,例如消息、通信协议信息或其它关联信息。
服务器确定它没有客户端的活动会话(步骤154),从而服务器启动并且完成在服务器和客户端之间建立SSL(安全套接字层)会话(步骤155),这需要在客户端和服务器之间的多个信息传输。在建立SSL会话之后,在SSL会话内传输随后的通信消息;由于SSL会话内的通信消息经过加密,因此任何秘密信息都保持安全。
然而,在允许用户具有对受保护资源的访问权之前,服务器需要确定用户的身份,从而服务器通过向客户端发送某种类型的认证询问来要求用户执行认证处理(步骤156)。认证询问可以为诸如HTML形式的各种形式。然后,用户提供所请求或所要求的信息(步骤157),例如用户名或其它类型的用户标识符以及相关联的密码或其它形式的秘密信息。
将认证响应信息发送到服务器(步骤158),此时,服务器例如通过检索先前提交的注册信息并且将所提供的认证信息与用户的所存储信息相匹配,认证用户或客户端(步骤159)。假定认证成功,则为已认证的用户或客户端建立活动会话。
然后,服务器检索原先请求的网页并且将HTTP响应消息发送到客户端(步骤160),从而完成用户对受保护资源的原先请求。此时,用户可以通过点击浏览器窗口内的超文本链接来请求“ibm.com”,内的另一页面(步骤161),并且浏览器将另一HTTP请求消息发送到服务器(步骤162)。此时,服务器识别到用户具有活动会话(步骤163),并且服务器在另一HTTP响应消息中将所请求的网页发送回到客户端(步骤164)。
现在参考图1D,一个方框图示出了用于包括多个认证服务器的企业域的典型数据处理***。如同在典型的公司计算环境或基于因特网的计算环境中一样,企业域170驻留受控资源,其可以由用户171例如通过网络174、使用客户端设备173上的浏览器应用程序172来访问。应用服务器175通过基于万维网的应用程序或包括传统应用程序的其它类型的应用程序来支持可访问资源。认证服务器176支持各种认证机制,例如用户名/密码、X.509证书、或安全令牌。企业域170支持多个服务器。代理服务器177执行用于企业域170的多种功能。可以通过配置文件和企业策略数据库178来管理性地配置代理服务器177,以控制代理服务器177的功能性,例如缓存网页以便镜像来自应用服务器的内容,或者通过输入数据流过滤器单元179和输出数据流过滤器单元180来过滤进入和外出的数据流。输入数据流过滤器单元179可以对进入的请求执行多重检查,而外出数据流过滤器单元180可以对外出的响应执行多重检查;可以根据在各种企业策略内所指定的目标和条件来执行每个检查。
企业域170包括授权服务器181。授权服务器181的授权策略管理单元182在用户注册表183和访问控制列表(ACL)数据库184内管理信息。策略管理单元182通过以下方式确定用户是否被授权访问在域170内由应用服务器175提供的特定服务,即通过针对对这些服务的用户请求检查策略。应当注意,虽然这里的例子假定在用户已被认证之后,用户被授权访问所有受控资源,但是本发明的各个实施例可以加入可选的认证处理,而不影响本发明的范围。
企业域170内的上述实体代表很多计算环境内的典型实体。如图1C所示,基于万维网的应用程序可以利用各种手段提示用户输入认证信息,其通常是HTML表单内的用户名/密码组合。在图1D所示的例子中,在客户端173可以具有对资源的访问权之前,可以要求用户171进行认证,此后以类似于上面在图1C中所述的方式为客户端173建立会话。在图1D中,在从客户端173接收到进入的请求之后,输入数据流过滤器单元179可以确定客户端173是否已经建立会话;如果否,则可以调用认证服务器176上的认证服务,以便认证用户171。如果客户端173已经建立了会话,则在准予访问受控资源之前,可以对进入的请求执行附加检查;可以在企业认证策略中指定该附加检查。
现在转向本发明,上面提到了一些***需要执行升级认证过程。然而,还提到了在认证服务和用户浏览器或类似客户端应用程序之间保持活动的、相互认证的SSL会话的同时,从较低级别、非基于证书的认证过程升级到较高级别、基于证书的认证过程的操作是不可能的,其中,SSL会话是针对较低级别、非基于证书的认证过程例如用户名/密码组合而在客户端和服务器之间建立的。本发明通过使服务器侧认证服务通过现有的SSL会话对用户或用户的客户端设备执行基于证书的认证过程,从而提供了对该问题的解决方案。下面参照其余的附图对本发明进行更详细的描述。
现在参考图2,一个方框图示出了根据本发明的已被扩展成包括升级认证处理的认证服务。以类似于上面参照图1D所述的方式,客户端200执行万维网浏览器应用程序202或类似的客户端应用程序,其用于从各种万维网应用程序访问资源和服务。浏览器202支持运行时环境204,其可以包括虚拟机;运行时环境204可以执行各种类型的可下载、可执行的软件模块,例如小应用程序或插件。浏览器202和所支持的小应用程序/插件可以访问密钥数据存储库206,其中客户端维护用户的数字证书和/或加密密钥。另外,浏览器202和所支持的可执行模块可以访问签名日志208,其包含在客户端200处已经生成的签名的日志。签名日志208还可以包含响应于来自客户端200的签名提交而从万维网服务器返回的签名记录/收据。
域210包括应用服务器和认证服务器,其中至少一个支持认证服务212,该认证服务212包括用于实现本发明的升级认证功能性的升级认证处理单元214。如下面更详细说明的那样,认证服务212还支持数字签名验证单元216和签名日志218,其中数字签名验证单元216用于验证从客户端接收的数字签名,并且签名日志218用于存储所接收的签名的记录,其是响应于来自认证服务212的要求而从客户端返回的。
现在参考图3,一个流程图示出了用于在保持活动、相互认证的SSL会话的同时,从较低级别、非基于证书的认证过程升级到较高级别、基于证书的认证过程的处理。如上面参照图1C所述,响应于接收到访问受保护资源的用户请求,例如作为响应于客户端设备上的浏览器应用程序中的用户操作而生成的HTTP请求消息形式的网页请求的结果,在服务器上可能发生典型的非基于证书的认证操作(步骤302)。在客户端和服务器之间建立相互认证的SSL会话之后,服务器通过SSL会话来执行非基于证书的认证操作(步骤304),例如询问客户端/用户,以提供有效的用户名/密码组合或某种其它秘密信息。假定成功完成非基于证书的认证操作,则服务器例如通过返回响应消息或执行某种其它操作而将原先请求的资源提供给客户端(步骤306)。
不过,图3与图1C的不同之处在于图1C仅示出了非基于证书的认证操作,而图3继续示出了本发明提供用于升级到通过基于证书的认证操作而提供的较高安全级别的处理的方式。
在完成了非基于证书的认证操作并且服务器在由先前的非基于证书的认证操作保护的客户端会话期间提供了受保护资源之后的某个时间点,服务器接收对由较高安全级别控制的受保护资源的请求(步骤308),即,对特定资源的访问更加受限。作为响应,服务器通过在服务器和客户端之间先前建立的SSL会话对客户端执行基于证书的认证操作(步骤310);这是在不打断当前SSL会话、重新协商当前SSL会话或退出当前SSL会话的情况下完成的。假定成功完成了基于证书的认证操作,则服务器例如通过返回响应消息或执行某种其它操作,将更受限的资源提供给客户端(步骤312),并且该处理结束。以这种方式,通过与先前用于非基于证书的认证操作的SSL会话相同的SSL会话来发生基于证书的认证操作。
应当注意,术语“非基于证书的认证操作”的使用是指这样的事实,即用于确定用户/客户端身份的第一认证操作没有采用数字证书。使用客户端侧数字证书以便建立SSL会话(其可以用来安全地传送在非基于证书的认证操作中采用的秘密信息例如密码)在此不被视为在非基于证书的认证操作中使用证书。
现在参考图4,一个流程图示出了根据本发明实施例的基于证书的升级认证操作在服务器上的具体处理的更多详情。图4所示的处理主要提供了图3中的步骤308-312的更多详情。图4的处理中的步骤发生在服务器侧数据处理***中,例如,与图2所示的分布式数据处理***类似的***;虽然该处理可以跨越多个服务器、应用程序、和/或设备而实现,但是为了易于描述起见,将该处理描述成似乎整个处理都发生在一个服务器内一样。虽然这些例子描述了HTTP消息和HTML页面的使用,但是本发明可以被实现为支持其它协议和消息/文档格式。
该处理以这样的步骤开始,即在通过SSL会话发生了非基于证书的认证操作,例如,如图3的步骤302-306所示的非基于证书的认证操作之后,服务器从客户端接收资源请求(步骤402)。因此,服务器识别出该资源请求是从已经与服务器建立了活动会话的客户端接收到的,并且与图1C相反,服务器继续响应请求而不是立即询问客户端以完成认证操作。
然后,服务器确定对所请求资源的访问是否要求可以由基于证书的认证操作提供的较高安全级别,而不是由先前已经与客户端完成的非基于证书的认证操作提供的较低安全级别(步骤404)。服务器可以通过各种处理来执行该确定,而不影响本发明的范围。作为一个例子,进入的资源请求可以由诸如图2中的服务器177的代理服务器过滤或扫描。在从进入的请求消息提取所请求的URI之后,匹配所提取的URL和与所提取URI相关联的策略。相关联的策略表示应当被执行以便适当地响应URI的适当操作,包括任何认证要求或其它安全过程。如果该策略表示在响应请求之前,必须成功完成基于证书的认证操作,并且如果尚未与请求客户端完成基于证书的认证操作,则启动用于升级认证级别的过程,如图4所示的处理的其余步骤所示。在本例中,应用服务器不知道认证要求,但是其它实施例可以以某种方式涉及应用服务器,而不影响本发明的范围。
然后,服务器继续将软件模块从服务器下载到客户端并且/或者触发在客户端处执行软件模块(步骤406)。下载或触发软件模块以便执行的方式可以变化。在第一实施例中,例如,通过将Java小应用程序嵌入到HTML网页内,服务器将小应用程序或插件下载到诸如浏览器的客户端应用程序,其中该HTML网页是作为对来自客户端的原始请求即已被确定为要求基于证书的认证操作的请求的HTTP响应消息的内容有效荷载而返回的。作为响应,浏览器作为其正常解释和处理网页的一部分而装载该小应用程序。
在可选实施例中,服务器可以将消息主体返回给客户端,其中该消息主体表示它包含具有特定MIME类型(多用途因特网邮件扩充)的内容。作为响应,客户端的浏览器应用程序装载先前已向浏览器注册为能够处理该特定MIME类型的适当插件。在某些情况下,如果没有为该特定MIME类型注册插件,则浏览器提示用户查找适当的插件。以这样的方式,浏览器可能已经具有能够执行如下所述的处理步骤的软件模块,从而不要求服务器将软件模块下载到客户端。
无论如何,发送对受保护资源的请求的客户端应用程序都还保持先前激活的SSL会话,并且服务器通过SSL会话将适当的消息发送到客户端应用程序,以便使客户端应用程序执行将执行用于基于证书的认证过程的客户端侧步骤的软件模块;在某些情况下,服务器还可以下载软件模块,并且在其它情况下,软件模块可能已经存在于客户端处。由于本发明遵循标准的因特网相关协议和规范,因此本发明提供了升级认证操作的方式,而没有假定客户端应用程序具有用于响应服务器侧认证要求的内置功能性。服务器能够通过公知的因特网相关技术和万维网相关技术,利用浏览器和类似客户端应用程序的可扩展性,向软件模块提供所需功能性。
继续图4,服务器然后下载要由软件模块数字签名的询问数据(步骤408)。询问数据是某种类型的数据项,其可以用作客户端的小应用程序、插件或其它软件模块内的数字签名算法的输入,其中,该数字签名算法在询问数据上生成数字签名。询问数据的格式可以取决于所采用的数字签名算法,并且本发明可以支持一个或多个标准或私有的数字签名算法。
服务器可以随同所下载的小应用程序一起下载询问数据,或者可以在后继的消息中发送询问数据。可选地,客户端的小应用程序、插件或其它软件模块可以请求询问数据,并且作为响应,服务器返回询问数据。可选地,客户端可能已经拥有询问数据,例如先前由服务器返回给客户端的已缓存网页。
在随后的某个时间点,服务器从客户端接收数字签名(步骤410),并且服务器用用户/客户端的适当公开密钥证书验证数字签名(步骤412)。该服务器可以从目录检索公开密钥证书,或者公开密钥证书可以伴随来自客户端的具有数字签名的消息;公开密钥证书的真实性可通过证书主管机构和各种证书废除机构来验证。如果数字签名被验证,则客户端示出了它拥有非对称公开/私有加密密钥对中与公开密钥相对应的私有密钥,从而确定了客户端/用户的身份,这是因为只有在有效的公开密钥证书中表示的个人/实体才应当拥有对应于公开密钥的私有密钥。假定成功验证了数字签名,则服务器可以例如通过以数字签名的拷贝、可验证的时间戳、以及从其接收到数字签名的IP地址生成数据库记录,把数字签名的接收记入日志,以便用于非否认的目的(步骤414)。数字签名的成功验证完成了基于证书的认证操作,结果,服务器提供对在服务器企图基于证书的认证操作之前由客户端请求的资源的访问(步骤416),从而结束图4所示的处理。
现在参考图5,一个流程图示出了根据本发明实施例的基于证书的升级认证操作在客户端上的处理。与示出了服务器侧处理的图4相反,图5示出了客户端侧处理。该处理以这样的步骤开始,即在客户端已经与服务器建立了SSL会话并且已经成功地完成了与服务器的非基于证书的认证操作之后,客户端将对资源的请求消息发送到服务器(步骤502_)。响应于该请求,客户端接收响应消息,其包含软件模块或者触发支持基于证书的认证操作的软件模块的执行(步骤504)。客户端可以接收可在由诸如浏览器的客户端应用程序支持的虚拟机内执行的小应用程序,例如Java小应用程序。可选地,客户端可以接收包含特定MTME类型的内容的消息,从而触发客户端应用程序启动处理具有所表示的MIME类型的对象的插件。
此外,客户端应用程序可以接收在生成数字签名时要被使用的询问数据(步骤506)。可选地,客户端应用程序可能已经拥有可用作数字签名算法的输入的数据项。无论如何,由客户端使用的到数字签名算法的输入数据必须为服务器所知,以便让服务器验证在输入数据上生成的数字签名。因此,数字签名算法的输入数据可以由客户端选择,并且随后例如通过SSL会话与所生成的数字签名一起传递给服务器。
在被触发以生成数字签名之后或者在确定了生成数字签名之后的某个随后时间点,客户端应用程序生成数字签名(步骤508)并且将数字签名发送到服务器(步骤510)。此外,客户端应用程序可以将数字签名的生成与时间戳和可能帮助非否认过程的可能其它信息一起记入日志(步骤512)。假定正确地生成了数字签名,则客户端通过先前建立的SSL会话成功地完成了基于证书的升级认证操作,然后,客户端例如通过接收网页来接收对所请求资源的访问(步骤514),从而结束客户端侧的处理。
生成并验证数字签名的方式可以根据公知标准或私有处理而变化,而不影响本发明的范围。例如,当响应于服务器确定通过先前建立的SSL会话来执行基于证书的升级认证处理,客户端上的浏览器接收带有嵌入的小应用程序的HTML页面时,可以发生客户端侧处理。浏览器处理该网页并且执行小应用程序,这可能提示用户输入密钥数据存储库的标识符如客户端上的文件,以及对密钥数据存储库进行解锁的密码。小应用程序提示用户或者以其它方式操作的机制可以根据本发明的实现而变化。小应用程序可以通过在浏览器窗口内提供说明需要为未决请求产生数字签名的网页来提示用户,并且所提供的网页可以具有允许用户同意或不同意对数字签名的请求的确定按钮和取消按钮。此外,所提供的网页可以回显正被签名的询问数据,以便用户可以查阅询问数据。
典型地,密钥数据存储库保存用于非对称加密功能的私有/公开密钥对的私有密钥。密钥数据存储库可以由各种实体例如浏览器应用程序、小应用程序或客户端操作***管理。浏览器可以遵循关于加密信息使用的各种标准。例如,“PKCS#7:加密消息语法”、RFC(请求注释)2315、因特网工程任务组(IETF)是PKCS(公开密钥加密***)规范,其描述了被施加有对其的加密的数据的一般语法,例如数字签名和数字信封。作为另一例子,“PKCS#11:加密令牌(token)接口标准”、RSA安全公司是描述了用于保存加密信息并执行加密功能的应用编程接口(API)的PKCS规范。
在用户输入了所请求的信息并且表示了用户同意使用用户的私有密钥之后,小应用程序优选地以由万维网协会(W3C)标准化的XML数字签名的形式生成数字签名。通过将适当的签名算法应用于随后要被验证的一组数据项,即所谓的“被签名信息”,从而创建数字签名;在这个场景中,被签名的数据最少将要包括询问数据。XML签名还包括所谓的“密钥信息”,其可以包括应当用于验证数字签名的用户公开密钥证书。然后,小应用程序将XML签名发送到万维网服务器,并且完成生成数字签名的处理。
鉴于上面提供的详细描述,本发明的优点应当变得清楚。本发明提供了一种用于在认证服务和用户的浏览器或类似的客户端应用程序之间保持相互认证的活动SSL会话的同时,从较低级别的非基于证书的认证过程升级到较高级别的基于证书的认证过程的认证操作,其中SSL会话是针对诸如用户名/密码组合的较低级别、非基于证书的认证过程而在客户端和服务器之间建立的。
本发明通过使服务器侧认证服务通过现有的SSL会话对用户或用户的客户端设备执行基于证书的认证过程,从而提供了对此问题的解决方案。必要时,认证服务通过现有的SSL会话将可执行模块下载到客户端。然后,可执行模块使用客户端侧数字证书而生成数字签名,并且通过先前建立的SSL会话返回数字签名。在认证服务验证了数字签名之后,完成了基于证书的认证过程。以这种方式,认证服务可以升级到基于证书的认证而无需退出或重新协商现有的SSL会话。
值得注意的是,虽然本发明是在全功能数据处理***的上下文中描述的,但是本领域的普通技术人员应当理解,本发明的处理能够以计算机可读介质中的指令的形式和各种其它形式分发,而不管实际用来执行分发的信号承载介质的特定类型。计算机可读介质的例子包括诸如EPROM、ROM、磁带、纸、软盘、硬盘驱动器、RAM和CD-ROM的介质以及诸如数字和模拟通信链路的传输型介质。
方法一般地被表达为自相容的产生期望结果的步骤序列。这些步骤需要对物理量的物理操纵。通常但不一定,这些量采取能够被存储、传输、组合、比较和按照其它方式操纵的电或磁信号的形式。主要是由于常用的原因,有时将这些信号称作位、值、参数、项目、元素、对象、符号、字符、术语、数字等是方便的。然而,应当注意的是,所有这些术语和类似术语要与适当的物理量相关联,并且它们仅是应用于这些量的方便标注。
本发明的描述是为了示例说明的目的而提供的,而不旨在是彻底无遗漏的,或者局限于所公开的实施例。很多修改和变更对于本领域的普通技术人员将是清楚的。选择这些实施例是为了说明本发明的原理及其实际应用,并且使得本领域的其他普通技术人员能够理解本发明,以便实现可能适于其它预期用途的具有各种修改的各种实施例。
Claims (33)
1.一种用于执行认证操作的方法,该方法包括:
在服务器和客户端之间通过SSL(安全套接字层)会话执行非基于证书的认证操作;以及
在执行非基于证书的认证操作之后,在服务器和客户端之间通过SSL会话执行基于证书的认证操作,而无需在完成基于证书的认证操作之前退出或重新协商SSL会话。
2.如权利要求1所述的方法,其中SSL会话的协商使用来自客户端的第一数字证书,其中基于证书的认证操作使用来自客户端的第二数字证书,并且其中第一数字证书和第二数字证书不相同。
3.如权利要求1或2所述的方法,还包括:与非基于证书的认证操作相关联地由服务器向客户端提供对第一资源的访问。
4.如权利要求3所述的方法,其中提供对第一资源的访问的步骤还包括:
在服务器处接收来自客户端的第一资源请求;
响应于确定第一资源请求要求在响应第一资源请求之前完成非基于证书的认证操作,在服务器和客户端之间建立SSL(安全套接字层)会话;以及
响应于通过SSL会话在服务器和客户端之间成功地执行非基于证书的认证操作,将第一资源响应从服务器发送到客户端。
5.如权利要求1到4中的任一项所述的方法,还包括:与基于证书的认证操作相关联地由服务器向客户端提供对第二资源的访问。
6.如权利要求5所述的方法,其中提供对第二资源的访问的步骤还包括:
在服务器处通过SSL会话接收来自客户端的第二资源请求;
响应于确定第二资源请求要求基于证书的认证过程,通过SSL会话将可执行模块从服务器下载到客户端;
在服务器处接收在客户端处由可执行模块使用数字证书生成的数字签名;以及
响应于在服务器处成功验证了数字签名,将第二资源响应从服务器发送到客户端。
7.如权利要求5所述的方法,其中提供对第二资源的访问的步骤还包括:
在服务器处通过SSL会话接收来自客户端的第二资源请求;
响应于确定第二资源请求要求基于证书的认证过程,由服务器通过SSL会话触发在客户端处执行可下载的软件模块;
在服务器处接收在客户端处通过使用数字证书执行可下载的软件模块而生成的数字签名;以及
响应于在服务器处成功验证了数字签名,将第二资源响应从服务器发送到客户端。
8.如权利要求1到7中的任一项所述的方法,还包括:与基于证书的认证操作相关联地由客户端获得对服务器上的第二资源的访问。
9.如权利要求8所述的方法,其中获得对第二资源的访问的步骤还包括:
通过SSL会话将第二资源请求从客户端发送到服务器;
在客户端处通过SSL会话从服务器接收可执行模块,其中可执行模块包括用于执行基于证书的认证操作的功能性;
通过SSL会话将在客户端处由可执行模块使用数字证书而生成的数字签名发送到服务器;以及
在客户端处从服务器接收第二资源响应。
10.如权利要求8所述的方法,其中获得对第二资源的访问的步骤还包括:
通过SSL会话将第二资源请求从客户端发送到服务器;
在客户端处通过SSL会话从服务器接收具有带有关联内容类型指示符的内容的响应消息;
响应于确定内容的内容类型,在客户端处执行可下载软件模块;
通过SSL会话将在客户端处由可执行模块使用数字证书而生成的数字签名发送到服务器;以及
在客户端处从服务器接收第二资源响应。
11.一种用于执行认证操作的装置,该装置包括:
用于在服务器和客户端之间通过SSL(安全套接字层)会话执行非基于证书的认证操作的部件;以及
用于在执行非基于证书的认证操作之后,在服务器和客户端之间通过SSL会话执行基于证书的认证操作,而无需在完成基于证书的认证操作之前退出或重新协商SSL会话的部件。
12.如权利要求11所述的装置,其中SSL会话的协商使用来自客户端的第一数字证书,其中基于证书的认证操作使用来自客户端的第二数字证书,并且其中第一数字证书和第二数字证书不相同。
13.如权利要求11或12所述的装置,还包括:用于与非基于证书的认证操作相关联地由服务器向客户端提供对第一资源的访问的部件。
14.如权利要求13所述的装置,其中用于提供对第一资源的访问的部件还包括:
用于在服务器处接收来自客户端的第一资源请求的部件;
用于响应于确定第一资源请求要求在响应第一资源请求之前完成非基于证书的认证操作,在服务器和客户端之间建立SSL(安全套接字层)会话的部件;以及
用于响应于通过SSL会话在服务器和客户端之间成功地执行非基于证书的认证操作,将第一资源响应从服务器发送到客户端的部件。
15.如权利要求11到14中的任一项所述的装置,还包括:用于与基于证书的认证操作相关联地由服务器向客户端提供对第二资源的访问的部件。
16.如权利要求15所述的装置,其中用于提供对第二资源的访问的部件还包括:
用于在服务器处通过SSL会话接收来自客户端的第二资源请求的部件;
用于响应于确定第二资源请求要求基于证书的认证过程,通过SSL会话将可执行模块从服务器下载到客户端的部件;
用于在服务器处接收在客户端处由可执行模块使用数字证书生成的数字签名的部件;以及
用于响应于在服务器处成功验证了数字签名,将第二资源响应从服务器发送到客户端的部件。
17.如权利要求15所述的装置,其中用于提供对第二资源的访问的部件还包括:
用于在服务器处通过SSL会话接收来自客户端的第二资源请求的部件;
用于响应于确定第二资源请求要求基于证书的认证过程,由服务器通过SSL会话触发在客户端处执行可下载的软件模块的部件;
用于在服务器处接收在客户端处通过使用数字证书执行可下载的软件模块而生成的数字签名的部件;以及
用于响应于在服务器处成功验证了数字签名,将第二资源响应从服务器发送到客户端的部件。
18.如权利要求11到17中的任一项所述的装置,还包括:用于与基于证书的认证操作相关联地由客户端获得对服务器上的第二资源的访问的部件。
19.如权利要求18所述的装置,其中用于获得对第二资源的访问的部件还包括:
用于通过SSL会话将第二资源请求从客户端发送到服务器的部件;
用于在客户端处通过SSL会话从服务器接收可执行模块的部件,其中可执行模块包括用于执行基于证书的认证操作的功能性;
用于通过SSL会话将在客户端处由可执行模块使用数字证书而生成的数字签名发送到服务器的部件;以及
用于在客户端处从服务器接收第二资源响应的部件。
20.如权利要求18所述的装置,其中用于获得对第二资源的访问的部件还包括:
用于通过SSL会话将第二资源请求从客户端发送到服务器的部件;
用于在客户端处通过SSL会话从服务器接收具有带有关联内容类型指示符的内容的响应消息的部件;
用于响应于确定内容的内容类型,在客户端处执行可下载软件模块的部件;
用于通过SSL会话将在客户端处由可执行模块使用数字证书而生成的数字签名发送到服务器的部件;以及
用于在客户端处从服务器接收第二资源响应的部件。
21.一种计算机可读介质中的计算机程序产品,用于数据处理***中,以便执行认证操作,该计算机程序产品包括:
用于在服务器和客户端之间通过SSL(安全套接字层)会话执行非基于证书的认证操作的单元;以及
用于在执行非基于证书的认证操作之后,在服务器和客户端之间通过SSL会话执行基于证书的认证操作,而无需在完成基于证书的认证操作之前退出或重新协商SSL会话的单元。
22.如权利要求21所述的计算机程序产品,其中SSL会话的协商使用来自客户端的第一数字证书,其中基于证书的认证操作使用来自客户端的第二数字证书,并且其中第一数字证书和第二数字证书不相同。
23.如权利要求21或22所述的计算机程序产品,还包括:用于与非基于证书的认证操作相关联地由服务器向客户端提供对第一资源的访问的单元。
24.如权利要求23所述的计算机程序产品,其中用于提供对第一资源的访问的单元还包括:
用于在服务器处接收来自客户端的第一资源请求的单元;
用于响应于确定第一资源请求要求在响应第一资源请求之前完成非基于证书的认证操作,在服务器和客户端之间建立SSL(安全套接字层)会话的单元;以及
用于响应于通过SSL会话在服务器和客户端之间成功地执行非基于证书的认证操作,将第一资源响应从服务器发送到客户端的单元。
25.如权利要求21到24中的任一项所述的计算机程序产品,还包括:用于与基于证书的认证操作相关联地由服务器向客户端提供对第二资源的访问的单元。
26.如权利要求25所述的计算机程序产品,其中用于提供对第二资源的访问的单元还包括:
用于在服务器处通过SSL会话接收来自客户端的第二资源请求的单元;
用于响应于确定第二资源请求要求基于证书的认证过程,通过SSL会话将可执行模块从服务器下载到客户端的单元;
用于在服务器处接收在客户端处由可执行模块使用数字证书生成的数字签名的单元;以及
用于响应于在服务器处成功验证了数字签名,将第二资源响应从服务器发送到客户端的单元。
27.如权利要求25所述的计算机程序产品,其中用于提供对第二资源的访问的单元还包括:
用于在服务器处通过SSL会话接收来自客户端的第二资源请求的单元;
用于响应于确定第二资源请求要求基于证书的认证过程,由服务器通过SSL会话触发在客户端处执行可下载的软件模块的单元;
用于在服务器处接收在客户端处通过使用数字证书执行可下载的软件模块而生成的数字签名的单元;以及
用于响应于在服务器处成功验证了数字签名,将第二资源响应从服务器发送到客户端的单元。
28.如权利要求21到27中的任一项所述的计算机程序产品,还包括:用于与基于证书的认证操作相关联地由客户端获得对服务器上的第二资源的访问的单元。
29.如权利要求28所述的计算机程序产品,其中用于获得对第二资源的访问的单元还包括:
用于通过SSL会话将第二资源请求从客户端发送到服务器的单元;
用于在客户端处通过SSL会话从服务器接收可执行模块的单元,其中可执行模块包括用于执行基于证书的认证操作的功能性;
用于通过SSL会话将在客户端处由可执行模块使用数字证书而生成的数字签名发送到服务器的单元;以及
用于在客户端处从服务器接收第二资源响应的单元。
30.如权利要求28所述的计算机程序产品,其中用于获得对第二资源的访问的单元还包括:
用于通过SSL会话将第二资源请求从客户端发送到服务器的单元;
用于在客户端处通过SSL会话从服务器接收具有带有关联内容类型指示符的内容的响应消息的单元;
用于响应于确定内容的内容类型,在客户端处执行可下载软件模块的单元;
用于通过SSL会话将在客户端处由可执行模块使用数字证书而生成的数字签名发送到服务器的单元;以及
用于在客户端处从服务器接收第二资源响应的单元。
31.一种用于执行认证操作的方法,该方法包括:
在服务器处接收来自客户端的第一资源请求;
响应于确定第一资源请求要求在响应第一资源请求之前完成非基于证书的认证操作,在服务器和客户端之间建立SSL(安全套接字层)会话;
通过SSL会话执行非基于证书的认证操作;
响应于成功地执行非基于证书的认证操作,将第一资源响应从服务器发送到客户端;
在执行非基于证书的认证操作之后,在服务器处通过SSL会话接收来自客户端的第二资源请求;
响应于确定第二资源请求要求基于证书的认证过程,通过SSL会话将可执行模块从服务器下载到客户端;
在服务器处通过SSL会话接收在客户端处由可执行模块使用数字证书生成的数字签名;以及
响应于在服务器处成功验证了数字签名,将第二资源响应从服务器发送到客户端。
32.一种用于执行认证操作的装置,该装置包括:
用于在服务器处接收来自客户端的第一资源请求的部件;
用于响应于确定第一资源请求要求在响应第一资源请求之前完成非基于证书的认证操作,在服务器和客户端之间建立SSL(安全套接字层)会话的部件;
用于通过SSL会话执行非基于证书的认证操作的部件;
用于响应于成功地执行非基于证书的认证操作,将第一资源响应从服务器发送到客户端的部件;
用于在执行非基于证书的认证操作之后,在服务器处通过SSL会话接收来自客户端的第二资源请求的部件;
用于响应于确定第二资源请求要求基于证书的认证过程,通过SSL会话将可执行模块从服务器下载到客户端的部件;
用于在服务器处通过SSL会话接收在客户端处由可执行模块使用数字证书生成的数字签名的部件;以及
用于响应于在服务器处成功验证了数字签名,将第二资源响应从服务器发送到客户端的部件。
33.一种计算机可读介质中的计算机程序产品,用于数据处理***中,以便执行认证操作,该计算机程序产品包括:
用于在服务器处接收来自客户端的第一资源请求的单元;
用于响应于确定第一资源请求要求在响应第一资源请求之前完成非基于证书的认证操作,在服务器和客户端之间建立SSL(安全套接字层)会话的单元;
用于通过SSL会话执行非基于证书的认证操作的单元;
用于响应于成功地执行非基于证书的认证操作,将第一资源响应从服务器发送到客户端的单元;
用于在执行非基于证书的认证操作之后,在服务器处通过SSL会话接收来自客户端的第二资源请求的单元;
用于响应于确定第二资源请求要求基于证书的认证过程,通过SSL会话将可执行模块从服务器下载到客户端的单元;
用于在服务器处通过SSL会话接收在客户端处由可执行模块使用数字证书生成的数字签名的单元;以及
用于响应于在服务器处成功验证了数字签名,将第二资源响应从服务器发送到客户端的单元。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/621,927 | 2003-07-17 | ||
US10/621,927 US7395424B2 (en) | 2003-07-17 | 2003-07-17 | Method and system for stepping up to certificate-based authentication without breaking an existing SSL session |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1823513A true CN1823513A (zh) | 2006-08-23 |
CN100534092C CN100534092C (zh) | 2009-08-26 |
Family
ID=34063095
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004800203123A Expired - Lifetime CN100534092C (zh) | 2003-07-17 | 2004-07-09 | 用于执行认证操作的方法及其装置 |
Country Status (9)
Country | Link |
---|---|
US (1) | US7395424B2 (zh) |
EP (1) | EP1661362B1 (zh) |
JP (1) | JP4886508B2 (zh) |
KR (1) | KR100946110B1 (zh) |
CN (1) | CN100534092C (zh) |
AT (1) | ATE446638T1 (zh) |
CA (1) | CA2528486C (zh) |
DE (1) | DE602004023728D1 (zh) |
WO (1) | WO2005015872A1 (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101877700A (zh) * | 2009-04-28 | 2010-11-03 | 惠普开发有限公司 | 在应用与数据库之间传递机密信息 |
CN101388771B (zh) * | 2007-09-10 | 2010-12-15 | 捷德(中国)信息科技有限公司 | 一种下载数字证书的方法和*** |
CN102195781A (zh) * | 2011-05-30 | 2011-09-21 | 武汉理工大学 | 一种基于电子记录关联签名的电子证据取证*** |
CN101388772B (zh) * | 2007-09-10 | 2011-11-30 | 捷德(中国)信息科技有限公司 | 一种数字签名方法和*** |
CN101828358B (zh) * | 2007-06-27 | 2012-07-04 | 环球标志株式会社 | 服务器认证书发行*** |
CN101925920B (zh) * | 2008-08-27 | 2012-09-26 | 环球标志株式会社 | 服务器证书发行***和本人认证方法 |
CN105393256A (zh) * | 2013-03-13 | 2016-03-09 | 英特尔公司 | 基于策略的安全web引导 |
CN109923525A (zh) * | 2016-11-18 | 2019-06-21 | 华睿泰科技有限责任公司 | 用于执行安全备份操作的***和方法 |
CN112333134A (zh) * | 2019-08-05 | 2021-02-05 | 维萨国际服务协会 | 密码安全的动态第三方资源 |
CN112751825A (zh) * | 2020-12-07 | 2021-05-04 | 湖南麒麟信安科技股份有限公司 | 基于ssl证书的软件源发布权限控制方法及*** |
Families Citing this family (62)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7403995B2 (en) * | 2003-01-08 | 2008-07-22 | Outhink, Inc. | Symmetrical bi-directional communication |
JP2004334330A (ja) * | 2003-04-30 | 2004-11-25 | Sony Corp | 端末機器、提供サーバ、電子情報利用方法、電子情報提供方法、端末機器プログラム、提供サーバプログラム、仲介プログラム、及び記憶媒体 |
US9614772B1 (en) | 2003-10-20 | 2017-04-04 | F5 Networks, Inc. | System and method for directing network traffic in tunneling applications |
US20050228999A1 (en) * | 2004-04-09 | 2005-10-13 | Arcot Systems, Inc. | Audit records for digitally signed documents |
US8185945B1 (en) * | 2005-03-02 | 2012-05-22 | Crimson Corporation | Systems and methods for selectively requesting certificates during initiation of secure communication sessions |
US8397287B2 (en) | 2006-08-21 | 2013-03-12 | Citrix Systems, Inc. | Method and system for authorizing a level of access of a client to a virtual private network connection, based on a client-side attribute |
US9407608B2 (en) | 2005-05-26 | 2016-08-02 | Citrix Systems, Inc. | Systems and methods for enhanced client side policy |
US9692725B2 (en) | 2005-05-26 | 2017-06-27 | Citrix Systems, Inc. | Systems and methods for using an HTTP-aware client agent |
US9621666B2 (en) | 2005-05-26 | 2017-04-11 | Citrix Systems, Inc. | Systems and methods for enhanced delta compression |
US8943304B2 (en) * | 2006-08-03 | 2015-01-27 | Citrix Systems, Inc. | Systems and methods for using an HTTP-aware client agent |
US20060294366A1 (en) * | 2005-06-23 | 2006-12-28 | International Business Machines Corp. | Method and system for establishing a secure connection based on an attribute certificate having user credentials |
NL1030558C2 (nl) * | 2005-11-30 | 2007-05-31 | Sdu Identification Bv | Systeem en werkwijze voor het aanvragen en verstrekken van een autorisatiedocument. |
US8316429B2 (en) * | 2006-01-31 | 2012-11-20 | Blue Coat Systems, Inc. | Methods and systems for obtaining URL filtering information |
FR2897489B1 (fr) * | 2006-02-15 | 2008-04-25 | Credit Lyonnais Sa | Authentification en toute confiance d'un utilisateur par un serveur |
US20070283142A1 (en) * | 2006-06-05 | 2007-12-06 | Microsoft Corporation | Multimode authentication using VOIP |
US20070283143A1 (en) * | 2006-06-06 | 2007-12-06 | Kabushiki Kaisha Toshiba | System and method for certificate-based client registration via a document processing device |
US8566925B2 (en) | 2006-08-03 | 2013-10-22 | Citrix Systems, Inc. | Systems and methods for policy based triggering of client-authentication at directory level granularity |
US8413229B2 (en) * | 2006-08-21 | 2013-04-02 | Citrix Systems, Inc. | Method and appliance for authenticating, by an appliance, a client to access a virtual private network connection, based on an attribute of a client-side certificate |
US8181227B2 (en) * | 2006-08-29 | 2012-05-15 | Akamai Technologies, Inc. | System and method for client-side authenticaton for secure internet communications |
US20080091817A1 (en) * | 2006-10-12 | 2008-04-17 | Technology Patents, Llc | Systems and methods for locating terrorists |
US8051475B2 (en) * | 2006-11-01 | 2011-11-01 | The United States Of America As Represented By The Secretary Of The Air Force | Collaboration gateway |
US20080215675A1 (en) * | 2007-02-01 | 2008-09-04 | Worklight Ltd. | Method and system for secured syndication of applications and applications' data |
CN100512313C (zh) * | 2007-08-08 | 2009-07-08 | 西安西电捷通无线网络通信有限公司 | 一种增强安全性的可信网络连接*** |
US8230435B2 (en) | 2008-02-12 | 2012-07-24 | International Business Machines Corporation | Authenticating a processing system accessing a resource |
US8412932B2 (en) * | 2008-02-28 | 2013-04-02 | Red Hat, Inc. | Collecting account access statistics from information provided by presence of client certificates |
US9832069B1 (en) | 2008-05-30 | 2017-11-28 | F5 Networks, Inc. | Persistence based on server response in an IP multimedia subsystem (IMS) |
US20100031312A1 (en) * | 2008-07-29 | 2010-02-04 | International Business Machines Corporation | Method for policy based and granular approach to role based access control |
JP2010108237A (ja) * | 2008-10-30 | 2010-05-13 | Nec Corp | 情報処理システム |
US8418079B2 (en) | 2009-09-01 | 2013-04-09 | James J. Nicholas, III | System and method for cursor-based application management |
US8887264B2 (en) * | 2009-09-21 | 2014-11-11 | Ram International Corporation | Multi-identity access control tunnel relay object |
JP5105291B2 (ja) * | 2009-11-13 | 2012-12-26 | セイコーインスツル株式会社 | 長期署名用サーバ、長期署名用端末、長期署名用端末プログラム |
US10015286B1 (en) | 2010-06-23 | 2018-07-03 | F5 Networks, Inc. | System and method for proxying HTTP single sign on across network domains |
JP2012043154A (ja) * | 2010-08-18 | 2012-03-01 | Canon Inc | 情報処理装置及びその制御方法 |
US20120079278A1 (en) * | 2010-09-28 | 2012-03-29 | Microsoft Corporation | Object security over network |
CN101964800B (zh) * | 2010-10-21 | 2015-04-22 | 神州数码网络(北京)有限公司 | 一种在ssl vpn中对数字证书用户认证的方法 |
JP5569440B2 (ja) * | 2011-03-11 | 2014-08-13 | ブラザー工業株式会社 | 通信装置およびコンピュータプログラム |
CA2831617C (en) * | 2011-04-01 | 2018-06-26 | Clawd Technologies Inc. | System, method, server and computer-readable medium for real-time verification of a status of a member of an organization |
JP5417628B2 (ja) * | 2011-04-08 | 2014-02-19 | 株式会社日立製作所 | 署名サーバ、署名システム、および、署名処理方法 |
US8584224B1 (en) * | 2011-04-13 | 2013-11-12 | Symantec Corporation | Ticket based strong authentication with web service |
US9047456B2 (en) | 2012-03-20 | 2015-06-02 | Canon Information And Imaging Solutions, Inc. | System and method for controlling access to a resource |
US9165126B1 (en) * | 2012-10-30 | 2015-10-20 | Amazon Technologies, Inc. | Techniques for reliable network authentication |
WO2014142857A1 (en) | 2013-03-14 | 2014-09-18 | Hewlett-Packard Development Company, L.P. | Wireless communication of a user identifier and encrypted time-sensitive data |
US9288208B1 (en) | 2013-09-06 | 2016-03-15 | Amazon Technologies, Inc. | Cryptographic key escrow |
US9130996B1 (en) | 2014-03-26 | 2015-09-08 | Iboss, Inc. | Network notifications |
US9300656B2 (en) | 2014-08-21 | 2016-03-29 | International Business Machines Corporation | Secure connection certificate verification |
US10250594B2 (en) | 2015-03-27 | 2019-04-02 | Oracle International Corporation | Declarative techniques for transaction-specific authentication |
US10257205B2 (en) * | 2015-10-22 | 2019-04-09 | Oracle International Corporation | Techniques for authentication level step-down |
US10225283B2 (en) | 2015-10-22 | 2019-03-05 | Oracle International Corporation | Protection against end user account locking denial of service (DOS) |
US10164971B2 (en) | 2015-10-22 | 2018-12-25 | Oracle International Corporation | End user initiated access server authenticity check |
WO2017070412A1 (en) | 2015-10-23 | 2017-04-27 | Oracle International Corporation | Password-less authentication for access management |
JP6108246B2 (ja) * | 2015-11-04 | 2017-04-05 | ブラザー工業株式会社 | プリンタ |
JP6551176B2 (ja) * | 2015-11-10 | 2019-07-31 | 富士通株式会社 | 認証制御方法、認証プログラム、エージェントプログラム、サーバ装置、及びクライアント装置 |
US11107068B2 (en) | 2017-08-31 | 2021-08-31 | Bank Of America Corporation | Inline authorization structuring for activity data transmission |
US10523658B2 (en) * | 2017-09-05 | 2019-12-31 | Citrix Systems, Inc. | Securing a data connection for communicating between two end-points |
US11005971B2 (en) * | 2018-08-02 | 2021-05-11 | Paul Swengler | System and method for user device authentication or identity validation without passwords or matching tokens |
CA3108917A1 (en) * | 2018-10-02 | 2020-04-09 | Capital One Services, Llc | Systems and methods for cryptographic authentication of contactless cards |
FR3111203B1 (fr) * | 2020-06-08 | 2023-02-10 | Evidian | Dispositif informatique et procédé pour l’authentification d’un utilisateur |
CN111970301B (zh) * | 2020-08-27 | 2022-11-04 | 北京浪潮数据技术有限公司 | 一种容器云平台安全通信*** |
US11341796B1 (en) | 2021-01-04 | 2022-05-24 | Bank Of America Corporation | System for secure access and initiation using a remote terminal |
CN113032829B (zh) * | 2021-03-26 | 2022-06-10 | 山东英信计算机技术有限公司 | 多通道并发的文件权限管理方法、装置、服务器和介质 |
CN113347010B (zh) * | 2021-08-05 | 2021-11-05 | 深圳市财富趋势科技股份有限公司 | 基于ssl-tls协议的双向认证方法、*** |
CN117544318A (zh) * | 2023-11-29 | 2024-02-09 | 中金金融认证中心有限公司 | 协同签名增强认证方法及增强认证*** |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6380365A (ja) * | 1986-09-24 | 1988-04-11 | Hitachi Ltd | 端末装置における不正取引防止方法 |
JP3505058B2 (ja) * | 1997-03-28 | 2004-03-08 | 株式会社日立製作所 | ネットワークシステムのセキュリティ管理方法 |
US6094485A (en) | 1997-09-18 | 2000-07-25 | Netscape Communications Corporation | SSL step-up |
GB2337671B (en) | 1998-05-16 | 2003-12-24 | Ibm | Security mechanisms in a web server |
AU1236800A (en) | 1998-10-30 | 2000-05-22 | Lockstar, Inc. | Secure authentication for access to back-end resources |
US6367009B1 (en) | 1998-12-17 | 2002-04-02 | International Business Machines Corporation | Extending SSL to a multi-tier environment using delegation of authentication and authority |
WO2000072506A1 (en) * | 1999-05-21 | 2000-11-30 | International Business Machines Corporation | Method and apparatus for initializing secure communications among, and for exclusively pairing wireless devices |
US6584567B1 (en) * | 1999-06-30 | 2003-06-24 | International Business Machines Corporation | Dynamic connection to multiple origin servers in a transcoding proxy |
US6609198B1 (en) | 1999-08-05 | 2003-08-19 | Sun Microsystems, Inc. | Log-on service providing credential level change without loss of session continuity |
US6928550B1 (en) * | 2000-01-06 | 2005-08-09 | International Business Machines Corporation | Method and system for generating and using a virus free file certificate |
JP2001202437A (ja) * | 2000-01-20 | 2001-07-27 | Kyocera Communication Systems Co Ltd | サービスシステム |
WO2001060012A2 (en) * | 2000-02-11 | 2001-08-16 | Verimatrix, Inc. | Web based human services conferencing network |
AU2001255183A1 (en) | 2000-04-14 | 2001-10-30 | Wu Wen | Delayed commitment scheme to prevent attacks based on compromised certificates |
JP2002007345A (ja) * | 2000-06-16 | 2002-01-11 | Osaka Gas Co Ltd | ユーザ認証方法 |
US7134137B2 (en) * | 2000-07-10 | 2006-11-07 | Oracle International Corporation | Providing data to applications from an access system |
KR100702421B1 (ko) | 2000-11-09 | 2007-04-04 | 인터내셔널 비지네스 머신즈 코포레이션 | 웹 기반의 교차 도메인 단일 사용 승인의 인증 방법 및시스템 |
WO2002091662A1 (en) | 2001-05-01 | 2002-11-14 | Vasco Data Security, Inc. | Use and generation of a session key in a secure socket layer connection |
US6920556B2 (en) | 2001-07-20 | 2005-07-19 | International Business Machines Corporation | Methods, systems and computer program products for multi-packet message authentication for secured SSL-based communication sessions |
GB2378010A (en) | 2001-07-27 | 2003-01-29 | Hewlett Packard Co | Mulit-Domain authorisation and authentication |
CN1268088C (zh) * | 2001-11-29 | 2006-08-02 | 东南大学 | 基于pki的vpn密钥交换的实现方法 |
-
2003
- 2003-07-17 US US10/621,927 patent/US7395424B2/en active Active
-
2004
- 2004-07-09 DE DE602004023728T patent/DE602004023728D1/de not_active Expired - Lifetime
- 2004-07-09 WO PCT/EP2004/051435 patent/WO2005015872A1/en active Search and Examination
- 2004-07-09 EP EP04766174A patent/EP1661362B1/en not_active Expired - Lifetime
- 2004-07-09 AT AT04766174T patent/ATE446638T1/de not_active IP Right Cessation
- 2004-07-09 CN CNB2004800203123A patent/CN100534092C/zh not_active Expired - Lifetime
- 2004-07-09 CA CA2528486A patent/CA2528486C/en not_active Expired - Lifetime
- 2004-07-09 JP JP2006519925A patent/JP4886508B2/ja not_active Expired - Lifetime
- 2004-07-09 KR KR1020067000100A patent/KR100946110B1/ko not_active IP Right Cessation
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101828358B (zh) * | 2007-06-27 | 2012-07-04 | 环球标志株式会社 | 服务器认证书发行*** |
CN101388771B (zh) * | 2007-09-10 | 2010-12-15 | 捷德(中国)信息科技有限公司 | 一种下载数字证书的方法和*** |
CN101388772B (zh) * | 2007-09-10 | 2011-11-30 | 捷德(中国)信息科技有限公司 | 一种数字签名方法和*** |
CN101925920B (zh) * | 2008-08-27 | 2012-09-26 | 环球标志株式会社 | 服务器证书发行***和本人认证方法 |
CN101877700A (zh) * | 2009-04-28 | 2010-11-03 | 惠普开发有限公司 | 在应用与数据库之间传递机密信息 |
CN102195781B (zh) * | 2011-05-30 | 2013-07-10 | 武汉理工大学 | 一种基于电子记录关联签名的电子证据取证*** |
CN102195781A (zh) * | 2011-05-30 | 2011-09-21 | 武汉理工大学 | 一种基于电子记录关联签名的电子证据取证*** |
CN105393256A (zh) * | 2013-03-13 | 2016-03-09 | 英特尔公司 | 基于策略的安全web引导 |
US10205750B2 (en) | 2013-03-13 | 2019-02-12 | Intel Corporation | Policy-based secure web boot |
CN105393256B (zh) * | 2013-03-13 | 2019-06-04 | 英特尔公司 | 用于基于策略的安全web引导的计算设备和方法 |
CN109923525A (zh) * | 2016-11-18 | 2019-06-21 | 华睿泰科技有限责任公司 | 用于执行安全备份操作的***和方法 |
CN109923525B (zh) * | 2016-11-18 | 2023-05-30 | 华睿泰科技有限责任公司 | 用于执行安全备份操作的***和方法 |
CN112333134A (zh) * | 2019-08-05 | 2021-02-05 | 维萨国际服务协会 | 密码安全的动态第三方资源 |
CN112751825A (zh) * | 2020-12-07 | 2021-05-04 | 湖南麒麟信安科技股份有限公司 | 基于ssl证书的软件源发布权限控制方法及*** |
Also Published As
Publication number | Publication date |
---|---|
JP2009514262A (ja) | 2009-04-02 |
KR20060032625A (ko) | 2006-04-17 |
ATE446638T1 (de) | 2009-11-15 |
EP1661362A1 (en) | 2006-05-31 |
CA2528486C (en) | 2012-07-24 |
JP4886508B2 (ja) | 2012-02-29 |
US7395424B2 (en) | 2008-07-01 |
KR100946110B1 (ko) | 2010-03-10 |
EP1661362B1 (en) | 2009-10-21 |
WO2005015872A1 (en) | 2005-02-17 |
CA2528486A1 (en) | 2005-02-17 |
DE602004023728D1 (de) | 2009-12-03 |
CN100534092C (zh) | 2009-08-26 |
US20050015594A1 (en) | 2005-01-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100534092C (zh) | 用于执行认证操作的方法及其装置 | |
US7496755B2 (en) | Method and system for a single-sign-on operation providing grid access and network access | |
US8185938B2 (en) | Method and system for network single-sign-on using a public key certificate and an associated attribute certificate | |
KR100800339B1 (ko) | 제휴 환경에서 사용자에 의해 결정된 인증 및 단일 사인온을 위한 방법 및 시스템 | |
JP4864289B2 (ja) | ネットワークユーザ認証システムおよび方法 | |
CN101009561B (zh) | 用于imx会话控制和认证的***和方法 | |
JP5658745B2 (ja) | Httpベースの認証 | |
US20060294366A1 (en) | Method and system for establishing a secure connection based on an attribute certificate having user credentials | |
US20060021004A1 (en) | Method and system for externalized HTTP authentication | |
CN1878170A (zh) | 用于管理会话标识符的方法和设备 | |
US20020112162A1 (en) | Authentication and verification of Web page content | |
CN1820481A (zh) | 在客户机-服务器环境中认证客户机的***和方法 | |
US20070204156A1 (en) | Systems and methods for providing access to network resources based upon temporary keys | |
KR20030093305A (ko) | 준 신뢰성 웹 서버로부터 컨텐츠를 서비스하는 방법 및 장치 | |
EP1964360A1 (en) | Method and system for extending authentication methods | |
JP2002123492A (ja) | 既存の強力な認証pkiシステムを用いて外部pkiシステムからシングル・サインオン認証を取得する技法 | |
US20030163694A1 (en) | Method and system to deliver authentication authority web services using non-reusable and non-reversible one-time identity codes | |
WO2021107755A1 (en) | A system and method for digital identity data change between proof of possession to proof of identity | |
US20030065920A1 (en) | Method and apparatus for using host authentication for automated public key certification | |
WO2004099949A1 (en) | Web site security model | |
JP2004078622A (ja) | ユーザ認証の統合管理 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CX01 | Expiry of patent term | ||
CX01 | Expiry of patent term |
Granted publication date: 20090826 |