CN100486243C - Web站点的安全会话管理、认证方法和系统 - Google Patents

Web站点的安全会话管理、认证方法和系统 Download PDF

Info

Publication number
CN100486243C
CN100486243C CNB018197027A CN01819702A CN100486243C CN 100486243 C CN100486243 C CN 100486243C CN B018197027 A CNB018197027 A CN B018197027A CN 01819702 A CN01819702 A CN 01819702A CN 100486243 C CN100486243 C CN 100486243C
Authority
CN
China
Prior art keywords
web
cookie
client
authorization code
web page
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
CNB018197027A
Other languages
English (en)
Other versions
CN1478348A (zh
Inventor
寇卫东
利弗·莫拉斯
赵彦淳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1478348A publication Critical patent/CN1478348A/zh
Application granted granted Critical
Publication of CN100486243C publication Critical patent/CN100486243C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • 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
    • 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/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • 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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload

Abstract

本发明包括一种用于web站点与web客户之间的安全会话管理和认证的系统和方法。这种方法包括安全和非安全通信协议,用于在安全和非安全通信协议之间进行切换的装置,会话cookie和授权代码cookie。会话cookie用于会话管理,而授权代码cookie用于认证。当web客户访问非安全web页面时,采用非安全通信协议来发送会话cookie,而当web客户访问安全web页面时,采用安全通信协议来发送授权代码cookie。会话管理体系结构和两种不同的cookie及安全和非安全通信协议的使用可防止非授权用户访问敏感的web客户或web站点的信息。

Description

WEB站点的安全会话管理、认证方法和系统
技术领域
本发明涉及web站点与web客户之间的通信,尤其涉及用于web站点与web客户之间的会话、采用安全和非安全通信协议的会话管理和认证装置。
背景技术
许多企业都采纳因特网作为减少费用和向广大消费者宣传其服务或产品的方式。这些企业(即web商人)已建立了在线购物web站点来销售软商品(比如,信息或软件)和/或硬商品。这有助于不断增加的使用因特网的消费者(即web客户),因为他们可以容易地在线购物。事实上,web商人与web客户之间的在线交易正在日益增多。
尽管电子商务很方便,然而,由于web客户的web浏览器与电子商务web站点之间的通信基于HTTP(超文本传输协议),因此电子商务仍存在问题。HTTP是无状态的,这意味着,从一个访问到下一个访问,HTTP协议不保留关于web客户的信息。因此,电子商务web站点必须采取措施来记住过几天再次访问的web客户。另一个问题是,HTTP并不安全,这很麻烦,因为web客户为了付款得到产品必须提供敏感信息,比如信用卡号或帐号。非授权用户可以看到该HTTP通信从而窃取这一敏感信息。因此,非授权用户可能以web客户身份定购商品,并要求将商品发送到不同的地址,或者访问敏感的web客户数据,比如地址和信用卡信息。
为了纠正这些问题,电子商务web站点必须考虑在与web客户进行会话时进行认证和会话管理。再者,当在web客户与电子商务web站点之间传送敏感信息时,必须采用安全通信协议。会话管理使得web站点可以在不同登录会话之间记住一个web客户,而认证是一种使web站点可以确保一个请求来自于原来登录到该web站点的同一web客户的安全性措施。安全通信协议加密了电子商务web站点与web客户之间所传送的数据。为了进行认证和会话管理,可以利用HTTP基本认证、名称-值对认证或会话cookie。
HTTP基本认证总是要求web客户进行登录,才进行会话管理。为此,当web客户第一次访问web站点时,登录窗口将会弹出。这一登录窗口不易被web站点管理者所定制。因此,不支持宾客客户对安全web页面的访问,这是因为web服务器迫使web客户进行登录。因此,大多数电子商务web站点都不采用HTTP基本认证。
名称-值对认证包括将安全性信息嵌入到每个URL(统一资源定位符)中,或者嵌入到电子商务web站点上的每个web页面中的数据中。
因此,web站点开发者需要通过将授权数据从一个web页面传递到另一个web页面来进行对每个web页面的认证。当web客户从安全web页面跳至非安全web页面时,这一授权数据容易被丢失。名称-值对也不支持宾客客户对安全web页面的访问,这是因为,当访问安全web网页时,web服务器迫使web客户进行注册或登录。授权数据即使被附加到web页面URL上,它也是不安全的,这是因为,它可能暴露在web服务器日志中,或者显示在web客户的web浏览器上。此外,web页面数据中所含的授权数据也不安全,这是因为,通过查看web浏览器高速缓存文件可能看到它。
Cookie是web站点与web客户之间的会话管理和认证的最普及的方法。可以在web客户的计算机上存储和检索cookie。永久cookie被存储在计算机的硬驱动上,同时,临时cookie被存储在易失性存储器中,一旦完成web会话它就被擦除。Netscape Navigator web浏览器将永久cookie存储在文本文件中(即cookie.txt),每个cookie都使用文件中的一行,而Microsoft Internet Explorer web浏览器针对每个永久cookie都使用一个单独的文本文件。Cookie用来向web服务器提供关于web客户的有用信息,比如web客户最后访问的那些web页面。Cookie还可以用来提供web站点上的某些预定级别的web客户访问和定制。Cookie还可以包括cookie有效的URL集合的描述。Web客户所发出的任何进一步的HTTP请求(与cookie中所含的URL集合相符合)都将包括将cookie的当前值从该web客户传回到web服务器。
Web客户第一次使用cookie请求web服务器中的信息时,web服务器将传送所请求的信息以及一个cookie。Cookie从web服务器发送到web客户,其方式是包括设置cookie头标作为HTTP响应的一部分。设置cookie头标由CGI脚本程序产生,它包括以下属性:名称、日期、路径、域和安全。“名称”属性包括web站点所使用的web客户相关数据。Cookie中可以有许多“名称”属性,并且在单一web服务器响应中可以发出许多设置cookie头标。“日期”属性指定一个日期,该日期指示cookie何时将到期。“路径”属性指定cookie有效的域中的URL的子集。“域”属性是web站点的因特网域名。“安全”属性指示发送cookie的条件。例如,如果cookie的“安全”属性被标记为安全,那么,它只有当web服务器与web客户之间的通信信道安全时才被发送。
基于cookie的会话管理必须结合安全通信协议,以防非授权用户窃取cookie中所含的敏感数据。一种这样的协议是HTTPS(SSL上的HTTP)。缩写SSL表示作为工业标准的加密套接字协议层,用于在使用HTTP时安全地发送信息。HTTPS包括web服务器认证(向web客户验证web服务器的身份)、数据加密和web客户认证(向web服务器验证web客户的身份)的一些规定。每个HTTPS启动的web服务器都安装有编码器和解码器,编码器和解码器采用了独特的密钥和数据加密。数据加密将字和数字变换成一系列字母数字的字符,这种数据加密只能由许可web商人使用的web服务器中的解码器来解密。安全级取决于是采用40还是128位的密钥。破译密码(或密钥)的难度随密钥中所含位数的增加而增加。在现有技术中,已经描述了基于cookie的会话管理和认证方案。
美国5,966,705“Tracking A User Across Both Secure AndNon-Secure Areas On The Internet,Wherein The User Is InitiallyTracked Using A Globally Unique Identifier”公开了这样一种情况,当用户第一次访问站点上的非安全区比如公用区时,为用户分配一个唯一代表该用户的记号,比如GUID。这一记号作为在站点上与该用户有关的数据库条目的密钥。当用户第一次访问同一站点上的安全区时,提示用户输入用户标识和口令。在接收到这一信息后,站点将这一用户标识而不是该记号作为在非安全和安全区上的数据库条目的密钥。然后,将用户标识存储在cookie中,并且每当客户计算机将该cookie传送给站点时,由站点进行接收。因此,将用户标识作为密钥,只需要一个数据库条目就可以通过非安全和安全区来跟踪用户。
WO 00/69110“Method And Apparatus For AuthenticatingUsers”提出了以登录服务器的形式将一个应用的认证机制具体化,这样,该应用不必对任何用户进行认证。登录服务器可以用来负责认证。具有该应用的应用服务器检查一个请求是否具有激活和有效的会话,如果没有有效的会话,那么该应用服务器将用户重新引向登录服务器。登录服务器利用任何认证机制尝试对用户进行认证。一旦经认证,登录服务器就将用户重新引回到应用服务器,并且一旦经验证,应用服务器就对该请求进行处理。
美国5,693,915“Secure,Convenient And Efficient System AndMethod Of Performing Trans-Internet Purchase Transactions”公开了一种通过通用计算机网络在客户浏览器与商业服务器之间进行购买交易的方法。首先,在与商业服务器所存储的帐号记录相应的客户浏览器上建立一个持久固定的预定编码的标识符。然后,提供web页面的服务,包括为所述客户浏览器标识可购买产品或服务的预定URL,所述预定URL包括对所述持久固定的预定编码的标识符的引用。所述商业服务器接收包括该持久固定的预定编码的标识符的预定URL。接着,对照所述帐号记录,确认所述预定编码的标识符,并且所述商业服务器记录从所述预定URL所得到的所述可购买产品或服务的身份。
美国专利5,875,296公开了一种方法,用于提供通过web站点对分布式文件系统的安全访问。该方法利用一种含有用户标识符的单一cookie来访问分布式文件系统中的文件。这种cookie使得用户可以避免每当访问分布式文件系统的信息时都要重新输入用户ID和口令。此外,这种方法对分布式文件系统来说还是专用的,并且没有使用安全通信协议。
美国专利6,047,268公开了一种系统和方法,用于认证在线购买的web客户。认证由单一cookie来提供,该cookie包括标识web客户的帐号的静态部分和标识web客户所作的最后交易的加密动态部分。每一新的交易后,该cookie都用一个新的动态部分来更新,然而,这一专利公开了利用cookie中的敏感信息和web客户的计算机系统上的永久cookie存储器。此外,本专利中所公开的电子商务方法在使宾客客户进行在线购物时不太灵活;所有web客户必须按序注册来进行在线购物。美国专利6,047,268公开了HTTPS的使用,但没有陈述是否只能使用HTTPS或者通信协议是否可在HTTPS与HTTP之间进行切换。
美国专利6,076,069公开了一种系统和方法,用于补偿电子优待券。当web客户访问为web商人的宣传材料做广告的web站点时,以cookie的方式将优待券保存在web客户的计算机系统中。如果web客户以后再访问web商人的web站点,那么web站点将识别cookie中所存储的电子优待券,并为web客户提供折扣。这一专利没有说明安全通信协议的使用。此外,这一专利还公开了使用cookie中的敏感信息,比如web客户的帐号,以及使用持久固定的cookie(即cookie被永久地保存在web客户的计算机系统中)。这些特征使得出现了安全性问题。
由于每当访问web页面时都要进行编码和解码,因此,单独使用HTTPS必然导致性能降低。这将导致效率低下,因为许多web页面(比如获得web客户最多访问的产品目录web页面)都不需要保护。此外,对web客户来说,针对web站点主页URL使用HTTPS可能也不方便,这是因为,web客户不习惯在web站点的URL中使用“https”而不使用“http”。再者,在HTTP与HTTPS之间进行切换也很麻烦,这是因为,目前当web客户在利用HTTPS登录web站点时,要发出cookie来认证web客户,然而,如果web客户以后利用HTTP浏览web站点的非安全web页面,则会以明文形式将同一cookie发送给web客户。此时,非授权用户可能窃取该cookie。因此,在这些情况下使用单一cookie将危及web站点的安全性。
因此,需要一种改进的使用cookie的安全会话管理和认证方法,以保护web站点和web客户免受非授权用户访问。本发明解决这些需求。
发明内容
本发明提供了一种用于web站点与web客户之间的安全会话管理和认证的方法,所述web站点具有安全和非安全web页面,所述方法包括如下步骤:当所述web客户请求访问所述非安全web页面时,采用非安全通信协议和会话cookie;当所述web客户请求访问所述安全web页面时,采用安全通信协议并创建一个授权代码cookie,以便在所述会话cookie使用期间分散使用所述的授权代码Cookie;所述的授权代码只用于允许所述的web客户访问安全web页面;以及创建所述授权代码cookie之后,使用所述会话cookie访问特定的非安全web页面,为了访问所述特定的非安全web页面,首次不需要使用所述的授权代码cookie。
该方法最好还包括如下步骤:当web客户请求访问非安全web页面时从web客户请求会话cookie,并验证所请求的会话cookie;和当web客户请求访问安全web页面时从web客户请求授权代码cookie,并验证所请求的授权代码cookie。
该方法最好还包括,当web客户交替请求访问安全和非安全web页面时,在安全和非安全通信协议之间进行交替。
本发明提供了一种用于web站点与web客户之间的安全会话管理和认证的系统,所述web站点具有安全和非安全web页面,所述系统包括:用于当所述web客户请求访问所述非安全web页面时,采用非安全通信协议和会话cookie的装置;用于当所述web客户请求访问所述安全web页面时,采用安全通信协议并创建一个授权代码cookie,以便在所述会话Cookie使用期间分散使用所述的授权代码Cookie的装置;用于所述的授权代码只用于允许所述的web客户访问安全web页面的装置;以及用于创建所述授权代码cookie之后,使用所述会话cookie访问特定的非安全web页面,为了访问所述特定的非安全web页面,首次不需要使用所述的授权代码cookie的装置。
Web站点最好还包括:用于验证向web客户所请求的会话cookie的验证工具;和用于验证向web客户所请求的授权代码cookie的验证装置。
Web服务器最好还包括用于在非安全和安全通信协议之间进行交替的安全性交替装置。
熟练技术人员应当理解,本发明可以体现在计算机程序中,该计算机程序可以被存储在存储器中或作为信号被发送,比如在计算机系统中所用的已调载波信号中,或在计算机系统中所用的网络(比如因特网)中。
附图说明
为了更好地理解本发明,并为了更清楚地说明本发明是如何被实施的,下面将参照附图举例说明,其中:
图1是本发明的组成部分的示意图;
图2是用户会话表中所含的字段的数据结构图;
图3是URL注册表中所含的字段的数据结构图;
图4a和图4b一起包括了本发明的第一种使用情况的流程图;
图5a、图5b和图5c一起包括了本发明的第二种使用情况的流程图;
图6a和图6b一起包括了本发明的第三种使用情况的流程图。
具体实施方式
根据本发明的安全会话管理系统通常如图1中的10所示。系统10包括web服务器12、通信信道14和web客户16。Web服务器12含有用于生成和保持web站点20的web服务器软件包18。web站点20包括web页面22、数据库24和cookie生成程序26。web页面22包括I型web页面28和II型web页面30。II型web页面30还可划分为IIa型web页面32和IIb型web页面34。数据库24包括适当地操作web站点20所需的一些表,然而,本发明所关心的表是用户会话表36和URL注册表(URL_REGISTRY table)38。Cookie生成程序26能产生会话cookie 40和授权代码cookie 42。在与web站点20会话时,web客户16被认为是宾客客户44或者是注册客户46。以下,在说明书和权利要求书中,术语“web客户”是指宾客客户44或注册客户46。可以有众多同时访问web站点20的web客户16,不过,为了简明起见,在图1中只示出了一个web客户16。正如熟练技术人员所知,web客户16还包括web浏览器(未示出),以使web客户16访问和查看web站点20的内容。
通信信道14使web客户16与web服务器12连接,它最好是基于TCP/IP(传输通信协议/因特网协议)的网络,比如因特网。TCP/IP是这样一族协议,它们可使协同操作的计算机通过网络共享资源或数据。正如熟练技术人员所知,web客户16可以利用众多方式中的任一方式连接到通信信道14。例如,web客户16可以经电话、电缆或无线调制解调器通过因特网接入提供商连接到通信信道14。此外,该连接还可以通过有线电视网络或别的接入媒体。通信信道14还可以是与因特网直接连接的内部网、局域网或广域网。
Web服务器12使用标准的应用协议HTTP(超文本传输协议),使得web客户16可以访问位于web站点20上的web页面22、文件或其他数据。web页面22呈HTML(超文本标记语言)格式,这种HTML格式是一种工业标准web页面描述语言。HTML提供了基本文档格式化,并可使web服务器12指定与其他web站点和/或文件的链接。此外,还可以将其他格式用于web页面22,比如,ASP(活动服务器网页)或JSP(Java服务器网页)。Web服务器12还包括web服务器软件包18,它帮助生成和保持web站点20。一种这样的web服务器软件包18是IBM公司所销售的WCS 5.1版本。
Web站点20包括I型web页面28和II型web页面30。I型web页面28对所有web客户16来说都是相同的,它们包括静态的和一些动态产生的web页面。另外,II型web页面30对给定web客户16来说唯一的,它们包括购物车web页面和帐户信息web页面。购物车web页面包括有关web客户16将进行的即将发生的购买的信息,而帐户信息web页面包括web客户信息,比如地址信息。II型web页面30还可划分为IIa型web页面32和IIb型web页面34。IIa型web页面32是安全web页面,它们含有要求防止非授权用户访问的敏感信息,而IIb型web页面34是非安全web页面,因为它们含有对防止非授权用户访问来说不太重要的信息。IIa型web页面32和IIb型web页面34之间的界线不明显,它取决于web站点20的管理者所规定的安全策略。为了便于说明,IIa型web页面32的例子是信用卡输入web页面,IIb型web页面34的例子是产品描述web页面。
在本发明的优选实施方式中,数据库24是一种关系数据库,它含有多个管理和操作web页面20所需的表。正如熟练技术人员所知,数据库24不必驻留在web站点20中,实际上可以包括多个系统中的多个文件。此外,熟练技术人员将知道,可以使用多种类型的数据库结构,例如,面向对象的数据库、网络数据库、分层数据库甚至单调文件的集合。
在本发明中,为了便于认证和会话管理,数据库24包括用户会话表36和URL注册表38。用户会话表36用于管理web客户16的会话信息,而URL注册表38用于判断当web客户16请求访问web站点20上的特定web页面22时需要安全的还是非安全的通信协议。
用户会话表36中的每个记录都含有关于特定web客户16的信息。这一信息被存储在用户会话表36中所含的多个字段中(参见图2)。在本发明的优选实施方式中,这些字段是:用户ID 50,会话ID 52,会话时间标记54,授权代码56,授权代码时间标记58,用户类型60,登录ID 62,和口令64。对于特定的web客户16,用户ID 50含有唯一的密钥值,以标识用户会话表36中的web客户16。会话ID 52含有一个字符串,以标识web客户16与web站点20之间的当前web会话,会话时间标记54含有一个指示何时生成或修改会话cookie 40的时间标记。授权代码56含有web客户16的授权代码。授权代码时间标记58含有一个指示何时生成或修改授权代码cookie 42的时间标记。用户类型60指示web客户16是宾客客户44还是注册客户46。如果web客户16注册到了web站点20,那么,登录ID 62含有一个登录ID,而口令64含有一个口令。此外,还可以将其他字段加到用户会话表36中,以提供更多的关于web客户16的信息,或者提供更多的功能性,或者提供web站点20的更高的安全级。
URL注册表38中的每个记录都含有关于web站点20上的不同web页面22的信息。下面参见图3,URL注册表38中最好所含的字段是URL地址70和HTTPS标志72。对于web站点20上的特定web页面22,URL地址70含有web页面22的URL地址,而HTTPS标志72含有值1(如果web页面22需要安全通信协议),或值0(如果web页面22不需要安全通信协议)。此外,还可以将其他字段加到URL注册表38中,以提供更多的关于web页面22的信息,或者提高web站点20的安全级。
Web服务器12允许web客户16在访问web站点20时可以是宾客客户44或者是注册客户46,然而,web客户16每次访问web站点20时都被默认为是宾客客户44。web站点20允许只想浏览web站点20或者进行一次购买后不再访问web站点20的web客户16为匿名宾客客户状态。宾客客户44不需要web站点20的登录ID或口令,然而,宾客客户44可以浏览web站点20,访问安全和非安全web页面,以及定购产品。宾客客户44每当在web站点20上购买时都必须不断地重新输入与具体客户相关的信息,比如,运输地址和信用卡号。此外,宾客客户44不能再次访问web站点20并查询以前的购买情况(即定购历史)。
注册客户46是已注册到了web站点20并且已作为注册客户登录的web客户16。注册客户可以建立定制在线购物经历的定制帐户。宾客客户44可以通过完成注册表格(该表格可以由web站点20的管理者所定制)进行注册。注册表格可以要求web客户的名称、居住地址、电子邮件地址、优选付款方式、登录ID和口令以及其他信息。这一信息以表的形式被存储在数据库24中,包括web客户信息,以便将来检索或修改。注册客户46特定的信用卡信息也被存储在数据库24中。通过存储这一信息,注册客户46每次购买时不需要重新输入信用卡号。
Web服务器12具有cookie生成程序26,该生成程序可以产生在web服务器12与web客户16之间所传送的会话cookie 40和授权代码cookie 42。当传送会话cookie 40时,通信协议可以是HTTP或者是HTTPS,然而,当传送授权代码cookie 42时,通信协议必须是HTTPS。在优选实施方式中,web站点20采用具有40或128位密钥的HTTPS作为安全通信协议。web站点20的管理者决定采用多大的密钥。最好应当采用128位的密钥。将密钥大小限定为40或128位并不是本发明人的意图,而只是基于在本发明时所使用的通用技术的一种建议。HTTPS可在许多web浏览器上实现,比如在NetscapeNavigator、Secure Mosaic和Microsoft Internet Explorer上实现。HTTPS还可以在Netscape、Microsoft和IBM Quarterdeck所制作的web服务器上实现。
会话cookie 40负责会话管理,而授权代码cookie 42负责认证。在优选实施方式中,会话cookie 40和授权代码cookie 42是临时cookie,当web客户16关闭了其web浏览器时,这些cookie被擦除。另外,可以规定会话cookie 40永久地存储在web客户16的计算机系统中,然而,出于安全性考虑,授权代码cookie 42应当总是临时性的。
如前面所述,cookie包括如下属性:名称、日期、路径、域和安全。会话cookie 40的“名称”属性中所用的数据最好包括用户ID 50、会话ID 52和会话时间标记54中所含的数据。如果要求的话,会话cookie 40的“名称”属性中还可以包含其他可选信息(未示出)。用户ID 50中的数据是唯一的密钥,用于访问用户会话表36中所存储的web客户16的数据。会话ID 52含有由密码随机数生成程序随机产生的字符串。密码随机数生成程序具有十分重要的特性,即没有人能预知将要产生的数字的值。在本发明的优选实施方式中,密码随机数生成程序是所有商用C编译器中可用的C标准库中的rand()函数。尽管rand()函数只产生数字,然而,通过将随机产生的数字映射到字母表的字母,还可以产生随机字符串,其方法是:通过将随机产生的数字除以26并将这一除法运算得到的余数映射到字母,据此,余数0将映射到字母A,余数1将映射到字母B,余数2将映射到字母C,依次类推。举例来说,如果要求10个字符的字符串,那么,重复10次下述过程,即数字产生、除以26并将余数映射到字母。会话时间标记54中的数据是指示生成或修改会话cookie 40的时间的时间标记,所述生成或修改会话cookie发生在web客户16作为宾客客户44登录时、注册成为注册客户46时或者作为注册客户46登录时。会话时间标记54中的数据包含在会话cookie 40中,以提供时间敏感信息,这种信息由于可使会话cookie 40更独特并且更难以复制,从而提高了web站点20的安全性。
会话cookie 40中的“名称”属性中所含的数据是这样产生的:将会话时间标记54中的数据附加到会话ID 52中,运用单向MD5散列函数,并将MD5散列函数的结果附加到用户ID 50的数据中。MD5单向散列函数采取了可变长输入字符串并将其转换成128位的二进制序列。所设计的MD5单向散列函数难以逆转散列过程来获得被散列的输入字符串。在优选实施方式中,采用了RSA实验室所开发的BSAFE工具包中的MD5单向散列函数。会话cookie 40的“路径”属性用“/”指定,这意味着,当web客户16请求接入web站点20上的任何URL路径时,web客户16的web浏览器都必须将会话cookie 40发回给web服务器12。没有规定“到期”属性是因为会话cookie 40是临时的,而没有规定“域”属性是因为web客户16的web浏览器将使用web服务器12的域名。另外,没有规定“安全”属性是因为,当在web客户16的web浏览器与web站点12之间传送会话cookie 40时不需要安全通信协议。如果web客户16是注册客户46,那么,下次web客户16将访问web站点20,用会话ID52中所含的数据来产生会话cookie 40,然而,如果web客户16只是宾客客户44,那么,当产生会话cookie 40时,使用会话ID 52中所存储的新数据。
授权代码cookie 42的“名称”属性中所用的数据最好包括授权代码56和授权代码时间标记58中所存储的数据。如果要求的话,授权代码cookie 42的“名称”属性中还可以包含其他可选信息(未示出)。授权代码56中的数据最好是随机产生的字符串或整数,它由用来产生会话cookie 40的会话ID 52中所含数据的相同的密码随机数生成程序所产生。或者,也可以使用不同的密码随机数生成程序。授权代码时间标记58中所含的数据是指示生成或修改授权代码cookie42的时间的时间标记,所述生成或修改发生在web客户16作为宾客客户44第一次访问安全web页面32时、成为注册客户46时或者作为注册客户46登录web站点20时。出于以上针对会话cookie 40所述的同样的安全目的,授权代码时间标记58中所含的数据包含在授权代码cookie 42中。
授权代码42的“名称”属性中的数据是这样产生的:将授权代码时间标记58中所存储的数据附加到授权代码56中,并运用单向MD5散列函数。没有规定“到期”属性是因为授权代码cookie 42是临时的,而没有规定“域”属性是因为web客户16的web浏览器将使用web服务器12的域名。规定“安全”属性是因为,当在web客户16的web浏览器与web服务器12之间传送授权代码cookie42时需要安全通信协议。授权代码cookie 42的“路径”属性用“/”指定,这意味着,每当web客户16请求接入web站点20上的任何URL路径时,web客户16的web浏览器都必须将授权代码cookie 42发给web服务器12。然而,由于设置了“安全”属性,因此,只有当web客户16的web浏览器所用的通信协议安全时,才能发送授权代码cookie 42。
Web客户16当访问web站点20时可能是宾客客户44也可能是注册客户46。每当web客户16访问web站点20时,web客户16都被默认为是宾客客户44。于是,web客户16可以仍然是宾客客户44或注册成为注册客户46,或者,如果web客户16以前已注册到了web站点20,那么作为注册客户46登录。在所有实例中,web客户16都利用web浏览器来查看web站点20上的web页面22。web浏览器可以是Netscape Navigator、Microsoft Internet Explorer或其他任何合适的web浏览器。Web客户16通过请求其URL连接到web站点20,该URL是定义网络地址的特殊语法。当web客户16请求URL时,web客户16的web浏览器将所请求的URL与web客户16的计算机系统中所存储的所有cookie进行比较,含有所有匹配cookie的名称/值对的行将包含在对web站点20的请求中。如果web客户16禁止在其web浏览器中的cookie的使用,那么,web客户16将不能访问web站点20。在这种情况下,web服务器12将通知web客户16必须在其web浏览器中启动cookie的使用。
本发明的方法依赖于几个分过程和基本定义。首先,当web客户16请求访问安全web页面32时,web站点20必须强制使用HTTPS。其次,将web站点20上的登录和注册web页面定义为安全web页面32。下面将以伪代码格式来表示这些分过程并加以讨论。
Web站点20用于判断web客户16与web站点20之间需要安全的还是非安全的通信协议的过程的伪代码如以下过程A所示。
过程A:需要安全的还是非安全的通信协议的确定。
当web客户16请求访问web站点20上的web页面22时,过程A开始。然后,web服务器12确定web页面22的URL,并将该URL作为URL注册表38的密钥,以获得与web页面22相应的HTTPS标志72中所含的值。如果HTTPS标志72中所含的值为0,则不需要HTTPS,因此,不管web客户16在使用HTTP还是HTTPS,都可处理web客户16的请求。否则,如果HTTPS标志72包含值1,那么,web服务器12指令web客户16的web浏览器转到与web页面22相应的安全web站点URL。这可以通过在web服务器12发送给web客户16的web浏览器的HTTP头标中提供安全web站点URL来实现。Web客户16的web浏览器知道使用HTTPS,这是因为“https”包含在所发送的URL中。然后,web客户16的web浏览器使用HTTPS来请求访问web页面22,之后该请求被处理。在优选实施方式中,如果当web客户16在使用HTTP时请求访问安全web页面32,那么必须将通信协议从HTTP切换到HTTPS,然而,如果当web客户16在使用HTTPS时请求访问非安全web页面34,那么通信协议保持原样。此外,web站点20的管理者还可以利用web服务器软件18来改变这一特性,这样,如果在使用HTTPS时web客户16请求访问非安全web页面34,那么将通信协议切换到HTTP。
用于在web客户16第一次访问web站点20或再次访问web站点20时建立宾客客户帐户或会话cookie的另一个过程没有会话cookie40并且不是注册客户46。这一过程的伪代码如过程B所示。
Figure C01819702D00191
过程B:建立宾客帐户和会话cookie。
当web服务器12通过添加一个新记录在用户会话表36中建立宾客客户条目时,过程B开始。用户会话表36中的新记录的建立包括:产生一个新密钥值,并将其存储在用户会话表36中新建立记录中的用户ID 50中。下一个“宾客”或另一个合适的标识符被存储在新建立宾客客户条目的用户类型60中。然后,由前面所述的密码随机数生成程序随机产生会话ID 52的数据(最好是字符串),并将其存储在会话ID 52中。接着,计算出会话时间标记54的数据,并将其存储在会话时间标记54中。然后,最好运用单向MD5散列函数来连结会话ID 52和会话时间标记54中所含的数据(在会话ID 52中所含的数据上附加会话时间标记54中所含的数据)。此外,也可以采用不同的散列函数。很多散列函数在技术上是众所周知的,一种基本的参考文献是Donald E.Knuth所著的“The Art of Computer Programming,Volume 3:Searching and Sorting”,在该文献中,Knuth教授提供了关于建立散列函数的数学的基本讨论。MD5散列函数的结果与用户ID 50中所含的数据相连结,并被存储在会话cookie 40的“名称”属性中。然后,web服务器12指定会话cookie 40的其他属性,并将会话cookie 40发送给web客户16的web浏览器。
另一种分过程用来建立授权代码cookie 42。这一过程通常发生在宾客客户44请求访问安全web页面32并正在使用HTTPS通信协议但没有授权代码cookie 42的时候。这一过程的伪代码如过程C所示。
Figure C01819702D00201
过程C:建立授权代码cookie。
从与用户ID 50中所存储的数据相应的会话cookie 40的“名称”属性中提取数据时,过程C开始。然后,这一数据作为进入用户会话表36的密钥,以判断宾客客户44的授权代码56中是否含有授权代码。如果授权代码56中含有授权代码,那么,web客户16可能是非授权用户,因此,web服务器12拒绝这一请求,产生一个错误web页面,并将这一错误web页面发送给宾客客户44的web浏览器。此外,如果授权代码56是空的,那么,由前面所述的密码随机数生成程序随机产生授权代码56的数据(最好是字符串或整数)。然后,将这一数据存储在授权代码56中。接着,将当前时间标记存储在授权代码时间标记58中。然后,最好运用MD5单向散列函数来连结授权代码56和授权代码时间标记58中所含的数据(在授权代码56中所含的数据上附加授权代码时间标记58中所含的数据)。此外,如上所述,也可以采用不同的散列函数。然后,将MD5散列函数的结果存储在授权代码cookie 42的“名称”属性中。指定授权代码cookie 42的其余属性,然后,web服务器12将授权代码cookie 42发送给宾客客户44的web浏览器。
另一分过程处理当宾客客户44在浏览web站点20时决定成为注册客户46时的情况。伪代码如以下过程D所示。
Figure C01819702D00211
过程D:宾客客户选择成为注册客户。
通过引导宾客客户44到注册web页面,过程D开始,在此,他们提供机密信息并选择登录ID和口令。然后,从与用户ID50中所存储的数据相应的会话cookie 40的“名称”属性中提取数据,并利用该数据访问用户会话表36中正确的宾客客户条目。然后,再为宾客客户44将用户类型60中的值变为“注册的”或别的合适的标识符。此时,宾客客户44被认为是注册客户46。更新会话时间标记84中的时间标记。然后,利用会话时间标记54中所含的新数据来修改会话cookie 40。接着,如果授权代码cookie 42不存在,则建立该授权代码cookie 42,否则,修改授权代码cookie 42。然后,通过更新授权代码时间标记58中所存储的时间标记并利用这一更新时间标记修改授权代码cookie 42的“名称”属性,来修改授权代码cookie 42。然后,将会话cookie 40和授权代码cookie 42发送给注册客户46的web浏览器。然后,再从注册web页面上所输入的数据中获得注册客户46所输入的登录ID、口令以及其他重要信息。将登录ID存储在用户会话表36中的登录ID 62中,将口令存储在用户会话表36的口令64中。将所获得的其他信息存储在数据库24的其他地方。
另一分过程处理已向web站点20注册的宾客客户44登录以被识别为是注册客户46的情况。伪代码如过程E所示。
Figure C01819702D00221
过程E:宾客客户作为注册客户登录。
当引导宾客客户44到web站点20上的登录web页面时,过程E开始,在此,他们输入其登录ID和口令。如果登录ID和口令无效,那么,web服务器12告知宾客客户44:输入了无效的登录ID和/或口令,宾客客户44必须重新输入这一信息。正如熟练技术人员所知,一定次数的无效登录尝试后,可以终止登录过程。当输入了正确的登录ID和口令时,利用该登录ID和口令寻找用户会话表36中正确的宾客客户条目。接着,更新会话时间标记54中的时间标记,然后根据这一新时间标记值更新会话cookie 40。接着,更新授权代码时间标记58中的时间标记,然后根据这一新时间标记值更新授权代码cookie 42。接着,再将会话cookie 40和授权代码cookie 42发送给宾客客户44的web浏览器。最后的步骤是一个可选步骤,以便删除当第一次访问web站点20时为宾客客户44所建立的宾客客户帐户。此外,web站点20的管理者可以利用web服务器软件包18所提供的其他实用工具移除已经陈旧的(即预定时间段比如两天内不使用的)宾客客户帐户。
当web客户16请求访问web站点20上的非安全web页面34时,利用另一分过程来验证会话cookie 40。这一过程确保会话cookie 40未被篡改。伪代码如以下过程F所示。
过程F:会话cookie验证。
从与用户ID 50中所存储的数据相应的会话cookie 40的“名称”属性中提取数据时,过程F开始。然后,利用这一数据来寻找用户会话表36中的web客户16的条目,以获得会话ID 52和会话时间标记54中的存储数值。这些存储数值用来重建会话cookie 40。然后将重建的会话cookie 40与web客户16所提供的会话cookie 40进行比较。如果比较结果表明相等,那么处理web客户16的请求。然而,如果比较结果表明不相等,那么web客户16可能是一个非授权用户,于是,web服务器12拒绝web客户16访问非安全web页面34的请求,并向web客户16的web浏览器发送一个错误web页面。
当web客户16请求访问web站点20上的安全web页面32时,利用另一分过程来验证授权代码cookie 42。这一过程确保授权代码cookie 42未被篡改。在这一过程中,web客户16在使用HTTPS通信协议并且具有会话cookie 40和授权代码cookie 42。伪代码如以下过程G所示。
Figure C01819702D00241
过程G:授权代码cookie验证。
从与用户ID 50中所存储的数据相应的会话cookie 40的“名称”属性中提取数据时,过程G开始。然后,利用这一数据来寻找用户会话表36中的web客户16的条目,以获得授权代码56和授权代码时间标记58中所含的存储数值。这些存储数值用来重建授权代码cookie 42。然后将重建的授权代码cookie 42与web客户16所提供的授权代码cookie 42进行比较。如果比较结果表明相等,那web服务器12处理web客户16的请求。如果比较结果表明不相等,那么web客户16可能是一个非授权用户,于是,web服务器12拒绝web客户16访问安全web页面32的请求,并向web客户16的web浏览器发送一个错误web页面。
另一分过程用来处理当注册客户46从web站点20中注销时的情况。伪代码如以下过程H所示。
Figure C01819702D00242
过程H:注册客户注销。
当注册客户46选择从web站点20中注销时,过程H开始。接着,web服务器12更新会话cookie 40和授权代码cookie 42,这样,所有属性包含空值。然后,web服务器12将更新的会话cookie 40和更新的授权代码cookie 42发送给注册客户46的web浏览器。此外,注册客户46可以不注销,而只是访问另一个web站点,在这种情况下,会话cookie 40和授权代码cookie 42仍将保留在注册客户46所用的web浏览器的存储器中。如果注册客户46再次访问web站点20,那么,注册客户46所用的web浏览器将会话cookie 40发回给web服务器12。此外,注册客户46可以只退出web浏览器应用程序,而无需从web站点20中注销,在这种情况下,会话cookie 40和授权代码cookie 42将被破坏,这是因为优选情况下它们是临时cookie。
另一分过程处理注册客户46请求访问安全web页面32但不具有授权代码cookie 42的情况。伪代码如以下过程I所示。
Figure C01819702D00251
过程I:注册客户在没有授权代码cookie情况下访问安全web页面。
当已经向web站点20注册的web客户16(即以前注册的web客户16)试图访问安全web页面32但还没有登录到web站点20以指示他们是注册客户46时,过程I开始。接着,检查以前注册的web客户16,判断他们有没有授权代码cookie 42。由于以前注册的web客户16没有授权代码cookie 42,因此,通过在登录web页面上输入他们的登录ID和口令,迫使以前注册的web客户16登录到web站点20。接着,验证登录ID和口令。如果验证失败,那么web服务器12拒绝以前注册的web客户16访问安全web页面32的请求,并向以前注册的web客户16的web浏览器发送一个错误web页面。然而,如果登录ID和口令有效,那么,建立授权代码cookie 42并将其发送给以前注册的web客户16的web浏览器。然后,以前注册的web客户16被识别为是注册客户46。于是,准许注册客户46访问安全web页面32的请求。
实际上,根据本发明中所概述的会话管理和授权方案,web站点20共有三种一般使用情况。通常,web客户16访问web站点20并且在整个与web站点20的会话中都是宾客客户44(参见图4a和4b),或者,web客户16访问web站点20并成为注册客户46(参见图5a、5b和5c),或者,web客户16访问web站点20,已经被注册,并且作为注册客户46进行登录(参见图6a和6b)。注意,尽管图4a、4b、5a、5b、5c、6a和6b说明了web客户16先访问多个非安全web页面34后访问多个安全web页面32,然而,情况也可以相反,即web客户16先访问多个安全web页面32后访问多个非安全web页面34。或者,web客户16可以交替访问非安全web页面34和安全web页面32。实际上,可以有许多使用情况,但为了简明起见,在图6-8中只示出了几种情况。
下面参照图4a和4b,这种情况从步骤80开始,在该步骤中,web客户16访问web站点20。Web客户16被默认为是宾客客户44。接着,在步骤82中,为宾客客户44建立用户会话表36中的宾客客户帐户和会话cookie 40。然后,在步骤84中,宾客客户44继续请求访问非安全web页面34。然后,在步骤86中,验证会话cookie 40。如果会话cookie 40无效,那么控制进至步骤88,在该步骤中,web服务器12拒绝宾客客户44访问非安全web页面34的请求,并向宾客客户44的web浏览器发送一个错误web页面。或者,如果会话cookie40有效,那么控制进至步骤90,在该步骤中,宾客客户44访问非安全web页面34。然后,宾客客户44可以访问一些非安全web页面34(其中,每个访问请求都验证会话cookie 40)。最终,在步骤94中,宾客客户44请求访问安全web页面32。然后,在步骤95中,web服务器12检查宾客客户44是否在使用HTTPS。如果不在使用HTTPS,那么,在步骤96中,web服务器12通知宾客客户44的web浏览器使用HTTPS。如果在步骤98中没有验证HTTPS连接,那么,在步骤100中,web服务器12拒绝宾客客户44查看安全web页面32的请求,并向宾客客户44的web浏览器发送一个错误web页面。否则,如果宾客客户44在使用HTTPS,那么,在步骤102中,web服务器12通过检查用户会话表36中的授权代码56中是否有授权代码来检查宾客客户44是否需要授权代码cookie 42。如果宾客客户44已经有授权代码,那么控制进至步骤104,在该步骤中,web服务器12拒绝宾客客户44访问安全web页面32的请求(因为宾客客户44此时可能是非授权用户),并向宾客客户44的web浏览器发送一个错误web页面。然而,如果宾客客户44没有授权代码,那么控制进至步骤106,在该步骤中,建立授权代码cookie 42并发送给宾客客户44。于是,宾客客户44可以访问安全web页面32。接着,在步骤108中,宾客客户44请求访问web站点20上的另一个安全web页面32,然后,在步骤110中,检查宾客客户44的授权代码cookie 42,查看它是否有效。如果授权代码cookie 42无效,那么过程进至步骤112,在该步骤中,web服务器12拒绝访问安全web页面32的请求,并向宾客客户44的web浏览器发送一个错误web页面。或者,如果授权代码cookie42有效,那么,在步骤114中,宾客客户44可以访问安全web页面32。然后,宾客客户44可以访问一些其他安全web页面32(其中,每个访问请求都验证授权代码cookie 42)。接着,在步骤118中,宾客客户44进行一些购物,再在步骤120中,为所购买的任何商品付款并提供运输信息。然后,在步骤122中,宾客客户44通过简单地关闭其web浏览器或访问不同的web站点的方式离开web站点20。一旦关闭了宾客客户44的web浏览器,就将擦除会话cookie 40和授权代码cookie 42,因为它们都是临时cookie。
下面参照图5a、5b和5c,这种情况从步骤130开始,在该步骤中,web客户16访问web站点20。Web客户16被默认为是宾客客户44。接着,在步骤132中,在用户会话表36中建立宾客客户帐户,还建立会话cookie 40。然后,将会话cookie 40发送给宾客客户44的web浏览器。然后,在步骤134中,宾客客户44决定成为注册客户46。然后,在步骤136中,web服务器12检查宾客客户44是否在使用HTTPS。如果不在使用HTTPS,那么,过程进至步骤138,在该步骤中,web服务器12通知宾客客户44的web浏览器使用HTTPS。在步骤140中,检查HTTPS连接的使用情况。如果没有使用HTTPS,那么,过程进至步骤142,在该步骤中,web服务器12拒绝宾客客户44成为注册用户的请求,并向宾客客户44的web浏览器发送一个错误web页面。或者,如果宾客客户44在使用HTTPS,那么,控制进至步骤144,在该步骤中,为宾客客户44建立授权代码cookie 42。接着,在步骤146中,将宾客客户44引向web站点20上的注册web页面,在此,宾客客户44提供客户信息。在步骤148中,建立注册客户帐户,并且宾客客户44成为注册客户46。然后,如步骤150中所示,注册客户46可以访问非安全web页面34,此时,在步骤152中,web服务器12验证注册客户46的会话cookie 40。如果会话cookie 40无效,那么控制进至步骤154,在该步骤中,web服务器12拒绝注册客户46访问非安全web页面34的请求,并向注册客户46的web浏览器发送一个错误web页面。或者,如果会话cookie 40有效,那么,在步骤156中,注册客户46可以访问非安全web页面34。然后,注册客户46可以继续访问其他非安全web页面34(其中,每个访问请求都验证会话cookie 40)。在步骤160中,注册客户46请求访问安全web页面32,然后,在步骤162中,web服务器12判断注册客户46是否在使用HTTPS。如果不在使用HTTPS,那么,在步骤164中,web服务器12通知注册客户46的web浏览器切换到HTTPS。在步骤166中,检查HTTPS的使用情况。如果注册客户46不在使用HTTPS,那么,过程进至步骤168,在该步骤中,web服务器12拒绝注册客户46访问安全web页面32的请求,并向注册客户46的web浏览器发送一个错误web页面。或者,如果在使用HTTPS,那么,控制进至步骤170,在该步骤中,web服务器12验证授权代码cookie 42。如果授权代码cookie 42无效,那么过程进至步骤172,在该步骤中,web服务器12拒绝注册客户46访问安全web页面32的请求,并向注册客户46的web浏览器发送一个错误web页面。或者,如果授权代码cookie 42有效,那么,在步骤174中,注册客户46可以访问安全web页面32。然后,注册客户46可以继续访问一些安全web页面32(其中,每个访问请求都验证授权代码cookie 42)。如步骤178中所示,注册客户46还可以进行购物。如果注册客户46购买了东西,那么,在步骤180中,注册客户46为购买品付款,并且web服务器12将关于所进行的购买的数据存储在数据库24中。接着,在步骤182中,注册客户46可以从web站点20中注销,访问另一个web站点,或者只是退出其web浏览器应用程序。无论注册客户46作出什么选择,一旦注册客户46退出其web浏览器应用程序,会话cookie 40和授权代码cookie 42就被破坏,因为按优选方式它们都被定义为是临时cookie。
下面参照图6a和6b,这种情况从步骤190开始,在该步骤中,已经向web站点20进行注册的web客户16访问web站点20。Web客户16被默认为是宾客客户44。然后,在用户会话表36中建立宾客客户帐户,还建立会话cookie 40并将其发送给宾客客户44。然后,在步骤192中,宾客客户44决定登录,此时,在步骤194中,web服务器12必须判断宾客客户44是否在使用HTTPS。如果不在使用HTTPS,那么,在步骤196中,web服务器12通知宾客客户44的web浏览器使用HTTPS。在步骤198中,检查HTTPS的使用情况。如果不在使用HTTPS,那么,过程进至步骤200,在该步骤中,web服务器12拒绝宾客客户44登录的请求,并向宾客客户44的web浏览器发送一个错误web页面。或者,如果宾客客户44在使用HTTPS,那么,过程进至步骤202,在该步骤中,建立或更新授权代码cookie 42,并将其发送给宾客客户44的web浏览器。接着,在步骤204中,宾客客户44登录成为注册客户46。然后,在步骤206中,注册客户46可以访问web站点20上的非安全web页面34,此时,在步骤208中,web服务器12验证会话cookie 40。如果验证失败,那么过程进至步骤210,在该步骤中,web服务器12拒绝注册客户46访问非安全web页面34的请求,并向注册客户46的web浏览器发送一个错误web页面。或者,如果会话cookie 40有效,那么,过程进至步骤212,在该步骤中,注册客户46访问非安全web页面34。然后,注册客户46可以继续访问一些非安全web页面34(其中,每个访问请求都验证会话cookie 40)。接着,在步骤216中,注册客户46请求访问安全web页面32。然后,在步骤218中,web服务器12检查注册客户46是否在使用HTTPS。如果不在使用HTTPS,那么,在步骤220中,web服务器12通知注册客户46的web浏览器使用HTTPS。在步骤222中,检查HTTPS的使用情况。如果不在使用HTTPS,那么,过程进至步骤224,在该步骤中,web服务器12拒绝注册客户46访问安全web页面32的请求,并向注册客户46的web浏览器发送一个错误web页面。或者,如果注册客户46在使用HTTPS,那么,过程进至步骤226,在该步骤中,验证授权代码cookie 42。如果验证失败,那么过程进至步骤228,在该步骤中,web服务器12拒绝注册客户46访问安全web页面32的请求,并向注册客户46的web浏览器发送一个错误web页面。或者,如果验证成功,那么,在步骤230中,注册客户46可以访问安全web页面32。如步骤234中所示,注册客户46可以进行购物和/或检查其定购历史。如果购买了一些东西,那么,在步骤236中,注册客户46为这些购买付款,并且web服务器12将关于这些购买的数据存储在数据库24中。然后,在步骤238中,注册客户46可以通过注销、访问不同的web站点或者只是退出其web浏览器应用程序而离开web站点20。无论注册客户46作出什么选择,一旦注册客户46退出其web浏览器应用程序,会话cookie 40和授权代码cookie 42就被破坏,因为按优选方式它们都被定义为是临时cookie。
按本发明所实现的系统和方法可以防止非授权用户访问关于web站点20或web客户16的敏感信息。例如,如果web客户16是没有授权代码cookie 42的宾客客户44,即宾客客户44还没有访问任何安全web页面32,那么,没有与宾客客户44有关的安全信息。在这种情况下,非授权用户无法做任何有害的事情。另一种情况是如果web客户16是具有授权代码cookie 42的宾客客户44(即web客户16已经访问过安全web页面32)。在这种情况下,非授权用户的尝试将失败,这是因为,非授权用户只能使用会话cookie 40,没有授权代码cookie 42,而web服务器12已知道宾客客户44有授权代码cookie 42(通过检查用户会话表36中的授权代码56)。还有一种情况是如果web客户16是注册客户46而非授权用户试图使用会话cookie 40来浏览安全web页面32。由于非授权用户没有授权代码cookie 42,因此,web服务器12会重新将非授权用户引向登录web页面,此时,非授权用户由于他们没有注册客户46的登录ID或口令从而不能登录。
概括来说,本发明考虑到了当web客户在web站点上分别访问非安全web页面或安全web页面时使用非安全(HTTP)或安全(HTTPS)通信协议。这就保证了web客户与web站点之间的安全有效的会话。此外,使用了两种不同的cookie:会话cookie(用于会话管理)和授权代码cookie(用于认证)。再者,会话cookie还可以设计成不含web客户的敏感信息。最后,web站点还考虑到了宾客客户或注册客户访问,这提高了web站点的灵活性和对用户的吸引力。
应当指出,尽管本发明根据电子商务web站点的环境进行描述,然而本发明人的意图并不限定本发明只使用于电子商务。例如,本发明可以用来保护非电子商务功能(比如在线投票、发放信用卡号、在线股票交易等)的数据交换的安全。
本发明的还可以容易地用来将名称-值对用于web站点与web客户之间的认证和会话管理,其方式是,引导web服务器12产生会话名称-值对并将这一会话名称-值对传送给web站点20上的每个web页面22。Web服务器12还可以产生授权代码名称-值对并将它传送给web站点20上的每个安全web页面32。
应当理解,所描述的是本发明的一些优选实施方式。然而,完全可以理解,根据上述本发明的精神以及以下所述的权利要求的范围,本发明容许有某些变化和可选择的实施方式。

Claims (30)

1.一种用于web站点与web客户之间的安全会话管理和认证的方法,所述web站点具有安全和非安全web页面,所述方法包括如下步骤:
当所述web客户请求访问所述非安全web页面时,采用非安全通信协议和会话cookie;
当所述web客户请求访问所述安全web页面时,采用安全通信协议并创建一个授权代码cookie,以便在所述会话cookie使用期间分散使用所述的授权代码cookie;
所述的授权代码cookie只用于允许所述的web客户访问安全web页面;以及
创建所述授权代码cookie之后,使用所述会话cookie访问特定的非安全web页面,为了访问所述特定的非安全web页面,首次不需要使用所述的授权代码cookie。
2.权利要求1的方法,其中,所述方法还包括如下步骤:
当所述web客户请求访问所述非安全web页面时,从所述web客户请求所述会话cookie,并验证所述请求的会话cookie;和
当所述web客户请求访问所述安全web页面时,从所述web客户请求所述授权代码cookie,并验证所述请求的授权代码cookie。
3.权利要求2的方法,其中,所述方法还包括:当所述web客户交替请求访问所述安全和所述非安全web页面时,在所述安全通信协议和所述非安全通信协议之间进行交替。
4.权利要求3的方法,其中,所述在所述安全通信协议和所述非安全通信协议之间进行交替通过一个对所述非安全web页面和所述安全web页面进行跟踪的表来实现。
5.权利要求4的方法,其中,取决于所述web客户是请求访问所述非安全web页面还是请求访问所述安全web页面,所述web站点利用所述表来引导所述web客户使用所述安全通信协议或所述非安全通信协议。
6.权利要求3的方法,其中,所述方法还包括:允许所述web客户是宾客客户或注册客户。
7.权利要求6的方法,其中,所述方法还包括:建立存储信息,这些信息包括所述会话cookie中所含的数据、所述授权代码cookie中所含的数据和关于所述web客户的数据。
8.权利要求3的方法,其中,所述非安全通信协议是HTTP。
9.权利要求3的方法,其中,所述安全通信协议是HTTPS。
10.权利要求7的方法,其中,所述会话cookie包括指针和加密部分,所述指针指向所述存储信息,所述加密部分具有随机部分和日期部分。
11.权利要求10的方法,其中,所述会话cookie可以是临时cookie或是永久cookie。
12.权利要求7的方法,其中,所述授权代码cookie包括加密部分,所述加密部分具有随机部分和日期部分。
13.权利要求12的方法,其中,所述授权代码cookie是临时的。
14.权利要求10的方法,其中,验证从所述web客户请求的会话cookie包括:利用所述存储信息产生第二会话cookie,并将所述第二会话cookie与从所述web客户所请求的所述会话cookie进行比较。
15.权利要求12的方法,其中,验证从所述web客户请求的授权代码cookie包括:利用所述存储信息产生第二授权代码cookie,并将所述第二授权代码cookie与从所述web客户所请求的所述授权代码cookie进行比较。
16.一种用于web站点与web客户之间的安全会话管理和认证的系统,所述web站点具有安全和非安全web页面,所述系统包括:
用于当所述web客户请求访问所述非安全web页面时,采用非安全通信协议和会话cookie的装置;
用于当所述web客户请求访问所述安全web页面时,采用安全通信协议并创建一个授权代码cookie,以便在所述会话cookie使用期间分散使用所述的授权代码cookie的装置;
用于所述的授权代码cookie只用于允许所述的web客户访问安全web页面的装置;以及
用于创建所述授权代码cookie之后,使用所述会话cookie访问特定的非安全web页面,为了访问所述特定的非安全web页面,首次不需要使用所述的授权代码cookie的装置。
17.权利要求16的系统,其中,所述系统还包括:
用于当所述web客户请求访问所述非安全web页面时,从所述web客户请求所述会话cookie,并验证所述请求的会话cookie的装置;和
用于当所述web客户请求访问所述安全web页面时,从所述web客户请求所述授权代码cookie,并验证所述请求的授权代码cookie的装置。
18.权利要求17的系统,其中,所述系统还包括:用于当所述web客户交替请求访问所述安全和所述非安全web页面时,在所述安全通信协议和所述非安全通信协议之间进行交替的装置。
19.权利要求18的系统,其中,所述系统还包括:
用于在所述安全通信协议和所述非安全通信协议之间进行交替通过一个对所述非安全web页面和所述安全web页面进行跟踪的表来实现的装置。
20.权利要求19的系统,其中,还包括:
取决于所述web客户是请求访问所述非安全web页面还是请求访问所述安全web页面,用于所述web站点利用所述表来引导所述web客户使用所述安全通信协议或所述非安全通信协议的装置。
21.权利要求18的系统,其中,所述系统还包括:用于允许所述web客户是宾客客户或注册客户的装置。
22.权利要求21的系统,其中,所述系统还包括:用于建立存储信息的装置,这些信息包括所述会话cookie中所含的数据、所述授权代码cookie中所含的数据和关于所述web客户的数据。
23.权利要求18的系统,其中,所述非安全通信协议是HTTP。
24.权利要求18的系统,其中,所述安全通信协议是HTTPS。
25.权利要求22的系统,其中,所述会话cookie包括指针和加密部分,所述指针指向所述存储信息,所述加密部分具有随机部分和日期部分。
26.权利要求25的系统,其中,所述会话cookie可以是临时cookie或是永久cookie。
27.权利要求22的系统,其中,所述授权代码cookie包括加密部分,所述加密部分具有随机部分和日期部分。
28.权利要求27的系统,其中,所述授权代码cookie是临时的。
29.权利要求25的系统,其中验证从所述web客户请求的会话cookie包括:用于利用所述存储信息产生第二会话cookie的单元,用于将所述第二会话cookie与从所述web客户所请求的所述会话cookie进行比较的单元。
30.权利要求27的系统,其中验证从所述web客户请求的授权代码cookie包括:用于利用所述存储信息产生第二授权代码cookie的单元,用于将所述第二授权代码cookie与从所述web客户所请求的所述授权代码cookie进行比较的单元。
CNB018197027A 2000-11-30 2001-11-09 Web站点的安全会话管理、认证方法和系统 Expired - Fee Related CN100486243C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CA2,327,078 2000-11-30
CA002327078A CA2327078C (en) 2000-11-30 2000-11-30 Secure session management and authentication for web sites

Publications (2)

Publication Number Publication Date
CN1478348A CN1478348A (zh) 2004-02-25
CN100486243C true CN100486243C (zh) 2009-05-06

Family

ID=4167768

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB018197027A Expired - Fee Related CN100486243C (zh) 2000-11-30 2001-11-09 Web站点的安全会话管理、认证方法和系统

Country Status (9)

Country Link
US (1) US7216236B2 (zh)
EP (1) EP1346548B1 (zh)
JP (1) JP4056390B2 (zh)
CN (1) CN100486243C (zh)
AT (1) ATE316731T1 (zh)
AU (1) AU2002217011A1 (zh)
CA (1) CA2327078C (zh)
DE (1) DE60116903T2 (zh)
WO (1) WO2002045370A2 (zh)

Families Citing this family (170)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7058817B1 (en) 1999-07-02 2006-06-06 The Chase Manhattan Bank System and method for single sign on process for websites with multiple applications and services
US8571975B1 (en) 1999-11-24 2013-10-29 Jpmorgan Chase Bank, N.A. System and method for sending money via E-mail over the internet
US7426530B1 (en) 2000-06-12 2008-09-16 Jpmorgan Chase Bank, N.A. System and method for providing customers with seamless entry to a remote server
US10185936B2 (en) 2000-06-22 2019-01-22 Jpmorgan Chase Bank, N.A. Method and system for processing internet payments
CA2342578A1 (en) * 2001-03-29 2002-09-29 Ibm Canada Limited-Ibm Canada Limitee Method and apparatus for security of a network server
DE10115895C1 (de) * 2001-03-30 2002-12-19 Siemens Ag Verfahren zur Erzeugung einer Darstellung für das Wiederfinden einer bereits aufgerufenen Informationsseite
US8849716B1 (en) 2001-04-20 2014-09-30 Jpmorgan Chase Bank, N.A. System and method for preventing identity theft or misuse by restricting access
US6741990B2 (en) * 2001-05-23 2004-05-25 Intel Corporation System and method for efficient and adaptive web accesses filtering
WO2002099598A2 (en) 2001-06-07 2002-12-12 First Usa Bank, N.A. System and method for rapid updating of credit information
US7054939B2 (en) * 2001-06-28 2006-05-30 Bellsouth Intellectual Property Corportion Simultaneous visual and telephonic access to interactive information delivery
US7266839B2 (en) 2001-07-12 2007-09-04 J P Morgan Chase Bank System and method for providing discriminated content to network users
US7058673B2 (en) * 2001-08-02 2006-06-06 America Online, Inc. Method for generating positive integer number in Chinese number system
JP2003108520A (ja) * 2001-09-28 2003-04-11 Canon Inc 情報提供サーバ、端末装置及びその制御方法並びに情報提供システム
US7275260B2 (en) 2001-10-29 2007-09-25 Sun Microsystems, Inc. Enhanced privacy protection in identification in a data communications network
US20030084171A1 (en) * 2001-10-29 2003-05-01 Sun Microsystems, Inc., A Delaware Corporation User access control to distributed resources on a data communications network
US20030084172A1 (en) * 2001-10-29 2003-05-01 Sun Microsystem, Inc., A Delaware Corporation Identification and privacy in the World Wide Web
US20030084302A1 (en) * 2001-10-29 2003-05-01 Sun Microsystems, Inc., A Delaware Corporation Portability and privacy with data communications network browsing
CA2466071C (en) 2001-11-01 2016-04-12 Bank One, Delaware, N.A. System and method for establishing or modifying an account with user selectable terms
US7315944B2 (en) * 2001-11-13 2008-01-01 Ericsson Inc. Secure handling of stored-value data objects
US7987501B2 (en) 2001-12-04 2011-07-26 Jpmorgan Chase Bank, N.A. System and method for single session sign-on
US20180165441A1 (en) 2002-03-25 2018-06-14 Glenn Cobourn Everhart Systems and methods for multifactor authentication
US20030208594A1 (en) * 2002-05-06 2003-11-06 Urchin Software Corporation. System and method for tracking unique visitors to a website
US7100049B2 (en) * 2002-05-10 2006-08-29 Rsa Security Inc. Method and apparatus for authentication of users and web sites
US7143174B2 (en) * 2002-06-12 2006-11-28 The Jpmorgan Chase Bank, N.A. Method and system for delayed cookie transmission in a client-server architecture
US7058660B2 (en) * 2002-10-02 2006-06-06 Bank One Corporation System and method for network-based project management
US8301493B2 (en) 2002-11-05 2012-10-30 Jpmorgan Chase Bank, N.A. System and method for providing incentives to consumers to share information
US7264411B2 (en) * 2002-11-06 2007-09-04 Matsushita Electric Industrial Co., Ltd. Print system, print device and print instruction method
US7233927B1 (en) * 2002-11-27 2007-06-19 Microsoft Corporation Method and system for authenticating accounts on a remote server
CN100518176C (zh) * 2002-12-02 2009-07-22 Sap股份公司 实现有状态网络应用的会话返回
US20040193605A1 (en) * 2003-03-25 2004-09-30 Weisman Mitchell T. Control of access to computers in a computer network
US7254542B2 (en) 2003-03-31 2007-08-07 International Business Machines Corporation Portal data passing through non-persistent browser cookies
US7299492B2 (en) * 2003-06-12 2007-11-20 International Business Machines Corporation Multi-level multi-user web services security system and method
CA2686265A1 (en) * 2003-06-17 2004-12-17 Ibm Canada Limited - Ibm Canada Limitee Multiple identity management in an electronic commerce site
US7490237B1 (en) * 2003-06-27 2009-02-10 Microsoft Corporation Systems and methods for caching in authentication systems
US8429249B2 (en) * 2003-07-11 2013-04-23 Ca, Inc. System and method for configuring servlet-based components as dynamic content components
US20050076230A1 (en) * 2003-10-02 2005-04-07 George Redenbaugh Fraud tracking cookie
DE10349015A1 (de) * 2003-10-17 2005-05-19 Siemens Ag Betriebsverfahren für einen Server und hiermit korrespondierende Gegenstände
US7886032B1 (en) * 2003-12-23 2011-02-08 Google Inc. Content retrieval from sites that use session identifiers
US20050166053A1 (en) * 2004-01-28 2005-07-28 Yahoo! Inc. Method and system for associating a signature with a mobile device
EP1870814B1 (en) 2006-06-19 2014-08-13 Texas Instruments France Method and apparatus for secure demand paging for processor devices
WO2006002068A2 (en) * 2004-06-15 2006-01-05 Passmark Security, Inc. Method and apparatus for making accessible a set of services to users
US8346593B2 (en) 2004-06-30 2013-01-01 Experian Marketing Solutions, Inc. System, method, and software for prediction of attitudinal and message responsiveness
US7487361B2 (en) * 2004-06-30 2009-02-03 International Business Machines Corporation Dynamic cache lookup based on dynamic data
JP2006023827A (ja) * 2004-07-06 2006-01-26 Fujitsu Ltd 文書データ管理装置、文書データ管理方法および文書データ管理プログラム
JP4710267B2 (ja) * 2004-07-12 2011-06-29 株式会社日立製作所 ネットワークシステム、データ中継装置、セッションモニタシステム、およびパケットモニタ中継装置
US7571322B2 (en) * 2004-08-10 2009-08-04 Microsoft Corporation Enhanced cookie management
JP2006092116A (ja) * 2004-09-22 2006-04-06 Canon Inc Webサーバ及びその制御方法
US8732004B1 (en) 2004-09-22 2014-05-20 Experian Information Solutions, Inc. Automated analysis of data to generate prospect notifications based on trigger events
US7848749B2 (en) * 2004-11-08 2010-12-07 Alcatel-Lucent Usa Inc. Method and apparatus for activating a dormant mobile unit in a distributed network
JP2006243924A (ja) * 2005-03-01 2006-09-14 Nec Corp ウェブサイトのための安全なセッション管理用プログラム、セッション管理方法、及びセッション管理システム
US20060224518A1 (en) * 2005-04-05 2006-10-05 International Business Machines Corporation Partial credential processing for limited commerce interactions
CA2648523C (en) 2005-04-21 2018-09-04 Securedpay Solutions, Inc. Portable handheld device for wireless order entry and real time payment authorization and related methods
US9407608B2 (en) 2005-05-26 2016-08-02 Citrix Systems, Inc. Systems and methods for enhanced client side policy
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
US9692725B2 (en) 2005-05-26 2017-06-27 Citrix Systems, Inc. Systems and methods for using an HTTP-aware client agent
US20070022015A1 (en) * 2005-07-22 2007-01-25 Tarinelli Gillian J System and method for the on-line purchase of products through a guest registration
US8583926B1 (en) 2005-09-19 2013-11-12 Jpmorgan Chase Bank, N.A. System and method for anti-phishing authentication
JP2007140901A (ja) * 2005-11-18 2007-06-07 Fuji Xerox Co Ltd 画像処理システム
US7765275B2 (en) * 2006-01-27 2010-07-27 International Business Machines Corporation Caching of private data for a configurable time period
JP2007213397A (ja) * 2006-02-10 2007-08-23 Fuji Xerox Co Ltd データ管理プログラム、データ管理装置およびプロトコルの切り替え方法
US20070204167A1 (en) * 2006-02-28 2007-08-30 Aladdin Knowledge Systems Ltd. Method for serving a plurality of applications by a security token
US20070204156A1 (en) * 2006-02-28 2007-08-30 Mark Jeghers Systems and methods for providing access to network resources based upon temporary keys
US20070299928A1 (en) * 2006-06-22 2007-12-27 Pooja Kohli Maintaining sessions using cookie updation
US8561155B2 (en) 2006-08-03 2013-10-15 Citrix Systems, Inc. Systems and methods for using a client agent to manage HTTP authentication cookies
EP2070297B1 (en) * 2006-08-03 2019-05-22 Citrix Systems Inc. Systems and methods for using an http-aware client agent
US8036979B1 (en) 2006-10-05 2011-10-11 Experian Information Solutions, Inc. System and method for generating a finance attribute from tradeline data
US10110687B2 (en) * 2006-10-06 2018-10-23 International Business Machines Corporation Session based web usage reporter
CA2662098A1 (en) * 2006-10-23 2008-05-02 Real Enterprise Solutions Development B.V. Methods, programs and a system of providing remote access
US20080141352A1 (en) * 2006-12-11 2008-06-12 Motorola, Inc. Secure password distribution to a client device of a network
US8079067B2 (en) * 2007-01-05 2011-12-13 Seiko Epson Corporation Streaming content in guest mode
US9912766B2 (en) * 2007-03-23 2018-03-06 Yahoo Holdings, Inc. System and method for identifying a link and generating a link identifier for the link on a webpage
JP4946564B2 (ja) * 2007-03-27 2012-06-06 富士通株式会社 認証処理方法及びシステム
US8285656B1 (en) 2007-03-30 2012-10-09 Consumerinfo.Com, Inc. Systems and methods for data verification
US20080262937A1 (en) * 2007-04-18 2008-10-23 Kerry Wayne Willis Method and system for performing automated group purchasing
US8473735B1 (en) 2007-05-17 2013-06-25 Jpmorgan Chase Systems and methods for managing digital certificates
US8452882B2 (en) * 2007-05-18 2013-05-28 Red Hat, Inc. Method and an apparatus to validate a web session in a proxy server
US8489740B2 (en) * 2007-05-18 2013-07-16 Red Hat, Inc. Method and an apparatus to generate message authentication codes at a proxy server for validating a web session
US20080294540A1 (en) 2007-05-25 2008-11-27 Celka Christopher J System and method for automated detection of never-pay data sets
US8266062B2 (en) * 2007-06-27 2012-09-11 Microsoft Corporation Server side reversible hash for telephone-based licensing mechanism
CN101127603B (zh) * 2007-08-16 2010-08-04 中兴通讯股份有限公司 一种实现门户网站单点登录的方法及ims客户端
US8543638B2 (en) * 2007-09-24 2013-09-24 Microsoft Corporation Security system for a browser-based environment
US20090089311A1 (en) * 2007-09-28 2009-04-02 Yahoo! Inc. System and method for inclusion of history in a search results page
US7996521B2 (en) 2007-11-19 2011-08-09 Experian Marketing Solutions, Inc. Service for mapping IP addresses to user segments
US8997076B1 (en) 2007-11-27 2015-03-31 Google Inc. Auto-updating an application without requiring repeated user authorization
US7970946B1 (en) * 2007-11-27 2011-06-28 Google Inc. Recording and serializing events
US8533852B2 (en) * 2007-12-19 2013-09-10 The Directv Group, Inc. Method and system for securely communicating between a primary service provider and a partner service provider
US9137018B2 (en) * 2007-12-19 2015-09-15 The Directv Group, Inc. Method and system for providing a generic program guide data from a primary content provider to a user network device through a partner service provider
US8453251B2 (en) * 2007-12-19 2013-05-28 The Directv Group, Inc. Method and system for securely communicating between a user network device, a primary service provider and a partner service provider
US8621646B2 (en) * 2007-12-19 2013-12-31 The Directv Group, Inc. Method and system for authenticating a user receiving device into a primary service provider system to communicate with a partner service provider
US8321682B1 (en) 2008-01-24 2012-11-27 Jpmorgan Chase Bank, N.A. System and method for generating and managing administrator passwords
WO2009094657A1 (en) 2008-01-26 2009-07-30 Citrix Systems, Inc. Systems and methods for fine grain policy driven cookie proxying
US8229969B1 (en) * 2008-03-04 2012-07-24 Open Invention Network Llc Maintaining web session data spanning multiple application servers in a session database
CN101251858B (zh) * 2008-03-12 2010-04-14 腾讯科技(深圳)有限公司 多页面浏览器中数据管理的方法及浏览器
GB2459529A (en) * 2008-04-28 2009-11-04 Ice Organisation Online transaction authentication using two servers
US8103607B2 (en) * 2008-05-29 2012-01-24 Red Hat, Inc. System comprising a proxy server including a rules engine, a remote application server, and an aspect server for executing aspect services remotely
US8312033B1 (en) 2008-06-26 2012-11-13 Experian Marketing Solutions, Inc. Systems and methods for providing an integrated identifier
US8438622B2 (en) * 2008-07-10 2013-05-07 Honesty Online, Llc Methods and apparatus for authorizing access to data
US8204180B1 (en) * 2008-08-08 2012-06-19 Intervoice Limited Partnership Systems and methods for preventing sensitive information from being communicated into a non-secure environment
US9262147B1 (en) 2008-12-30 2016-02-16 Google Inc. Recording client events using application resident on removable storage device
US7941550B1 (en) * 2009-02-12 2011-05-10 Sprint Communications Company L.P. Multiple cookie handling
WO2010132492A2 (en) 2009-05-11 2010-11-18 Experian Marketing Solutions, Inc. Systems and methods for providing anonymized user profile data
US8195818B2 (en) * 2009-06-22 2012-06-05 Oracle International Corporation Enforcing communication security for selected resources
US9608826B2 (en) 2009-06-29 2017-03-28 Jpmorgan Chase Bank, N.A. System and method for partner key management
US8924553B2 (en) * 2009-08-31 2014-12-30 Red Hat, Inc. Multifactor validation of requests to thwart cross-site attacks
US8775818B2 (en) * 2009-11-30 2014-07-08 Red Hat, Inc. Multifactor validation of requests to thwart dynamic cross-site attacks
US8904521B2 (en) * 2009-11-30 2014-12-02 Red Hat, Inc. Client-side prevention of cross-site request forgeries
US8850219B2 (en) * 2010-05-13 2014-09-30 Salesforce.Com, Inc. Secure communications
US9152727B1 (en) * 2010-08-23 2015-10-06 Experian Marketing Solutions, Inc. Systems and methods for processing consumer information for targeted marketing applications
JP5669497B2 (ja) * 2010-09-22 2015-02-12 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、及びプログラム
US9147042B1 (en) 2010-11-22 2015-09-29 Experian Information Solutions, Inc. Systems and methods for data verification
US9965613B2 (en) * 2010-12-03 2018-05-08 Salesforce.Com, Inc. Method and system for user session discovery
CN103392320B (zh) 2010-12-29 2016-08-31 思杰系统有限公司 对加密项目进行多层标记以提供额外的安全和有效的加密项目确定的系统和方法
US8661519B2 (en) 2011-06-03 2014-02-25 Microsoft Corporation Redirection using token and value
JP5677899B2 (ja) * 2011-06-16 2015-02-25 株式会社三菱東京Ufj銀行 情報処理装置及び情報処理方法
US8955078B2 (en) 2011-06-30 2015-02-10 Cable Television Laboratories, Inc. Zero sign-on authentication
FR2985400B1 (fr) * 2012-01-03 2013-12-20 Alcatel Lucent Transmission securisee de donnees
US8949952B2 (en) * 2012-04-25 2015-02-03 Cisco Technology, Inc. Multi-stack subscriber sign on
US9705729B2 (en) 2012-06-01 2017-07-11 Dell Products L.P. General client engine with load balancing for client-server communication
CN102769625A (zh) * 2012-07-25 2012-11-07 亿赞普(北京)科技有限公司 客户端Cookie信息获取方法和装置
CN102970297B (zh) * 2012-11-27 2015-03-04 飞天诚信科技股份有限公司 一种行程记录方法
US9697263B1 (en) 2013-03-04 2017-07-04 Experian Information Solutions, Inc. Consumer data request fulfillment system
US9533213B2 (en) * 2013-03-14 2017-01-03 Chris M. Clark Web-based scoring system for golf tournaments
US9419957B1 (en) 2013-03-15 2016-08-16 Jpmorgan Chase Bank, N.A. Confidence-based authentication
JP6128958B2 (ja) 2013-05-28 2017-05-17 キヤノン株式会社 情報処理サーバーシステム、制御方法、およびプログラム
US10193993B2 (en) 2013-05-30 2019-01-29 Ebay Inc. Systems and methods of token piggybacking
US9300669B2 (en) 2013-06-14 2016-03-29 Dell Products L.P. Runtime API framework for client-server communication
US9407725B2 (en) 2013-06-14 2016-08-02 Dell Products L.P. Generic transcoding service for client-server communication
US9716740B2 (en) * 2013-06-14 2017-07-25 Dell Products L.P. Web-based transcoding to clients for client-server communication
KR101492821B1 (ko) 2013-07-30 2015-02-12 캠프모바일 주식회사 Http 페이지로 안전하게 키를 전달하기 위한 키 전달 방법 및 시스템
EP2849110A1 (en) * 2013-09-13 2015-03-18 Gemalto SA Server using unpredictable scrambled cookie names
CN103577585B (zh) * 2013-11-08 2018-02-23 北京国双科技有限公司 互联网中用户的标识方法和装置
US10102536B1 (en) 2013-11-15 2018-10-16 Experian Information Solutions, Inc. Micro-geographic aggregation system
US9529851B1 (en) 2013-12-02 2016-12-27 Experian Information Solutions, Inc. Server architecture for electronic data quality processing
US10148726B1 (en) 2014-01-24 2018-12-04 Jpmorgan Chase Bank, N.A. Initiating operating system commands based on browser cookies
US10262362B1 (en) 2014-02-14 2019-04-16 Experian Information Solutions, Inc. Automatic generation of code for attributes
US9576030B1 (en) 2014-05-07 2017-02-21 Consumerinfo.Com, Inc. Keeping up with the joneses
US9929995B2 (en) * 2014-05-21 2018-03-27 Go Daddy Operating Company, LLC Third party messaging system for monitoring and managing domain names and websites
US9646104B1 (en) 2014-06-23 2017-05-09 Amazon Technologies, Inc. User tracking based on client-side browse history
US9712520B1 (en) * 2015-06-23 2017-07-18 Amazon Technologies, Inc. User authentication using client-side browse history
US10182046B1 (en) 2015-06-23 2019-01-15 Amazon Technologies, Inc. Detecting a network crawler
US11257117B1 (en) 2014-06-25 2022-02-22 Experian Information Solutions, Inc. Mobile device sighting location analytics and profiling system
US10242019B1 (en) 2014-12-19 2019-03-26 Experian Information Solutions, Inc. User behavior segmentation using latent topic detection
US9614816B2 (en) * 2015-03-23 2017-04-04 Oracle International Corporation Dynamic encryption for tunneled real-time communications
US10290022B1 (en) 2015-06-23 2019-05-14 Amazon Technologies, Inc. Targeting content based on user characteristics
US10243957B1 (en) * 2015-08-27 2019-03-26 Amazon Technologies, Inc. Preventing leakage of cookie data
US10218698B2 (en) * 2015-10-29 2019-02-26 Verizon Patent And Licensing Inc. Using a mobile device number (MDN) service in multifactor authentication
US9767309B1 (en) 2015-11-23 2017-09-19 Experian Information Solutions, Inc. Access control system for implementing access restrictions of regulated database records while identifying and providing indicators of regulated database records matching validation criteria
CN106844288B (zh) 2015-12-07 2022-03-22 创新先进技术有限公司 一种随机字符串生成方法及装置
CN107025563A (zh) * 2016-01-29 2017-08-08 福建天晴数码有限公司 追踪投放广告的方法及系统
WO2017149159A1 (en) * 2016-03-03 2017-09-08 Afilias Technologies Limited Counterfeit electronic device detection
CN107547468B (zh) * 2016-06-23 2020-03-03 广州市动景计算机科技有限公司 网络协议切换装置、方法及终端
WO2018039377A1 (en) 2016-08-24 2018-03-01 Experian Information Solutions, Inc. Disambiguation and authentication of device users
US10600108B2 (en) * 2016-09-26 2020-03-24 Target Brands, Inc. Web session security and computational load management
CN108153772A (zh) * 2016-12-05 2018-06-12 天脉聚源(北京)科技有限公司 一种免密码登录网页的方法和系统
CN116205724A (zh) 2017-01-31 2023-06-02 益百利信息解决方案公司 大规模异构数据摄取和用户解析
US10348701B2 (en) * 2017-03-02 2019-07-09 Citrix Systems, Inc. Protecting clients from open redirect security vulnerabilities in web applications
US10645177B2 (en) 2017-04-19 2020-05-05 International Business Machines Corporation Cookie based session timeout detection and management
CN107332821B (zh) * 2017-05-27 2020-11-13 北京奇虎科技有限公司 一种实现客户端与服务器之间通信的方法、装置和服务器
US11263283B1 (en) * 2018-06-22 2022-03-01 Proof of Concept LLC Method and system for asynchronous correlation of data entries in spatially separated instances of heterogeneous databases
CN109802925B (zh) * 2017-11-17 2021-10-29 阿里巴巴(中国)有限公司 一种公共WiFi接入的认证方法和系统
US11500948B1 (en) 2018-06-01 2022-11-15 Proof of Concept, LLC Method and system for asynchronous correlation of data entries in spatially separated instances of heterogeneous databases
US10963434B1 (en) 2018-09-07 2021-03-30 Experian Information Solutions, Inc. Data architecture for supporting multiple search models
CN111274516B (zh) * 2018-12-04 2024-04-05 阿里巴巴新加坡控股有限公司 页面展示方法、页面配置方法和装置
CN110619071B (zh) * 2019-08-06 2022-08-05 微梦创科网络科技(中国)有限公司 一种帐号的访问安全监测和处理方法及装置
US11941065B1 (en) 2019-09-13 2024-03-26 Experian Information Solutions, Inc. Single identifier platform for storing entity data
US11682041B1 (en) 2020-01-13 2023-06-20 Experian Marketing Solutions, Llc Systems and methods of a tracking analytics platform
US11165586B1 (en) * 2020-10-30 2021-11-02 Capital One Services, Llc Call center web-based authentication using a contactless card
US11880377B1 (en) 2021-03-26 2024-01-23 Experian Information Solutions, Inc. Systems and methods for entity resolution
US11861023B2 (en) * 2021-08-25 2024-01-02 International Business Machines Corporation Matching cryptographic computing resources to the predicted requirements for decrypting encrypted communications

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5875296A (en) * 1997-01-28 1999-02-23 International Business Machines Corporation Distributed file system web server user authentication with cookies
US5963915A (en) * 1996-02-21 1999-10-05 Infoseek Corporation Secure, convenient and efficient system and method of performing trans-internet purchase transactions
US5966705A (en) * 1997-06-30 1999-10-12 Microsoft Corporation Tracking a user across both secure and non-secure areas on the Internet, wherein the users is initially tracked using a globally unique identifier
WO2000069110A1 (en) * 1999-05-11 2000-11-16 Sun Microsystems, Inc. Method and apparatus for authenticating users

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6535880B1 (en) * 2000-05-09 2003-03-18 Cnet Networks, Inc. Automated on-line commerce method and apparatus utilizing a shopping server verifying product information on product selection
US6049877A (en) * 1997-07-16 2000-04-11 International Business Machines Corporation Systems, methods and computer program products for authorizing common gateway interface application requests
US6101482A (en) 1997-09-15 2000-08-08 International Business Machines Corporation Universal web shopping cart and method of on-line transaction processing
US6574661B1 (en) * 1997-09-26 2003-06-03 Mci Communications Corporation Integrated proxy interface for web based telecommunication toll-free network management using a network manager for downloading a call routing tree to client
US6092196A (en) * 1997-11-25 2000-07-18 Nortel Networks Limited HTTP distributed remote user authentication system
JP2000276444A (ja) 1999-03-19 2000-10-06 Canon Inc 通信装置、通信システム及びコンピュータ読み取り可能な記憶媒体
GB2349960A (en) 1999-05-08 2000-11-15 Ibm Secure password provision
US6701438B1 (en) * 1999-06-14 2004-03-02 Sun Microsystems, Inc. Methods and apparatus for providing customizable security and logging protocols in a servlet engine
US6691232B1 (en) * 1999-08-05 2004-02-10 Sun Microsystems, Inc. Security architecture with environment sensitive credential sufficiency evaluation
US6892307B1 (en) * 1999-08-05 2005-05-10 Sun Microsystems, Inc. Single sign-on framework with trust-level mapping to authentication requirements
US6601169B2 (en) * 1999-12-30 2003-07-29 Clyde Riley Wallace, Jr. Key-based secure network user states

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5963915A (en) * 1996-02-21 1999-10-05 Infoseek Corporation Secure, convenient and efficient system and method of performing trans-internet purchase transactions
US5875296A (en) * 1997-01-28 1999-02-23 International Business Machines Corporation Distributed file system web server user authentication with cookies
US5966705A (en) * 1997-06-30 1999-10-12 Microsoft Corporation Tracking a user across both secure and non-secure areas on the Internet, wherein the users is initially tracked using a globally unique identifier
WO2000069110A1 (en) * 1999-05-11 2000-11-16 Sun Microsystems, Inc. Method and apparatus for authenticating users

Also Published As

Publication number Publication date
WO2002045370A3 (en) 2003-03-13
CA2327078C (en) 2005-01-11
EP1346548B1 (en) 2006-01-25
JP2004514996A (ja) 2004-05-20
JP4056390B2 (ja) 2008-03-05
CA2327078A1 (en) 2002-05-30
ATE316731T1 (de) 2006-02-15
WO2002045370A2 (en) 2002-06-06
EP1346548A2 (en) 2003-09-24
US7216236B2 (en) 2007-05-08
DE60116903D1 (de) 2006-04-13
DE60116903T2 (de) 2006-08-17
AU2002217011A1 (en) 2002-06-11
CN1478348A (zh) 2004-02-25
US20020099936A1 (en) 2002-07-25

Similar Documents

Publication Publication Date Title
CN100486243C (zh) Web站点的安全会话管理、认证方法和系统
US8661557B2 (en) Method and system for granting access to system and content
US7673045B1 (en) Multiple site automated logout
US6615353B1 (en) User authentication method and user authentication system
US6360254B1 (en) System and method for providing secure URL-based access to private resources
US10454923B2 (en) System and method for providing limited access to data
US7500099B1 (en) Method for mitigating web-based “one-click” attacks
US7610390B2 (en) Distributed network identity
US20080313469A1 (en) Stateless methods for resource hiding and access control support based on uri encryption
US8214510B2 (en) Maintaining state information on a client
US20020059364A1 (en) Content certification
CN102244674B (zh) 使用标准演示引擎作数字权限管理的系统
CA2250468A1 (en) Pre-paid links to network servers
WO2001065387A1 (fr) Procede destine a limiter l'exploration d'une page web et systeme de serveur
JP4719480B2 (ja) アンケート実施システム及びアンケート実施サーバ
Zhu et al. User agent and privacy compromise
JP5216904B2 (ja) ユーザ確認装置、方法及びプログラム
JP4918170B2 (ja) ユーザ確認装置、方法及びプログラム
JP2006202162A (ja) 通信端末装置及び電子メール転送方法
KR20170106067A (ko) 사용자 장치, 이를 이용한 개인 정보 처리 방법 및 컴퓨터 프로그램
JP2004362003A (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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090506

Termination date: 20181109

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