Web站点的安全会话管理和认证的制作方法

文档序号:6475569阅读:255来源:国知局

专利名称::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会话它就被擦除。NetscapeNavigatorweb浏览器将永久cookie存储在文本文件中(即cookie.txt),每个cookie都使用文件中的一行,而MicrosoftInternetExplorerweb浏览器针对每个永久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,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。该方法最好还包括如下步骤当web客户请求访问非安全web页面时从web客户请求会话cookie,并验证所请求的会话cookie;和当web客户请求访问安全web页面时从web客户请求授权代码cookie,并验证所请求的授权代码cookie。该方法最好还包括,当web客户交替请求访问安全和非安全web页面时,在安全和非安全通信协议之间进行交替。另一方面,本发明是用于web站点与web客户之间的安全会话管理和认证的一种系统。该系统包括web服务器、web客户和通信信道。Web服务器通过通信信道与web客户连接。Web服务器具有web站点,它包括安全和非安全web页面;允许web客户访问非安全web页面的非安全通信协议和会话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_GISTRYtable)38。Cookie生成程序26能产生会话cookie40和授权代码cookie42。在与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公司所销售的WCS5.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)。在本发明的优选实施方式中,这些字段是用户ID50,会话ID52,会话时间标记54,授权代码56,授权代码时间标记58,用户类型60,登录ID62,和口令64。对于特定的web客户16,用户ID50含有唯一的密钥值,以标识用户会话表36中的web客户16。会话ID52含有一个字符串,以标识web客户16与web站点20之间的当前web会话,会话时间标记54含有一个指示何时生成或修改会话cookie40的时间标记。授权代码56含有web客户16的授权代码。授权代码时间标记58含有一个指示何时生成或修改授权代码cookie42的时间标记。用户类型60指示web客户16是宾客客户44还是注册客户46。如果web客户16注册到了web站点20,那么,登录ID62含有一个登录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之间所传送的会话cookie40和授权代码cookie42。当传送会话cookie40时,通信协议可以是HTTP或者是HTTPS,然而,当传送授权代码cookie42时,通信协议必须是HTTPS。在优选实施方式中,web站点20采用具有40或128位密钥的HTTPS作为安全通信协议。web站点20的管理者决定采用多大的密钥。最好应当采用128位的密钥。将密钥大小限定为40或128位并不是本发明人的意图,而只是基于在本发明时所使用的通用技术的一种建议。HTTPS可在许多web浏览器上实现,比如在NetscapeNavigator、SecureMosaic和MicrosoftInternetExplorer上实现。HTTPS还可以在Netscape、Microsoft和IBMQuarterdeck所制作的web服务器上实现。会话cookie40负责会话管理,而授权代码cookie42负责认证。在优选实施方式中,会话cookie40和授权代码cookie42是临时cookie,当web客户16关闭了其web浏览器时,这些cookie被擦除。另外,可以规定会话cookie40永久地存储在web客户16的计算机系统中,然而,出于安全性考虑,授权代码cookie42应当总是临时性的。如前面所述,cookie包括如下属性名称、日期、路径、域和安全。会话cookie40的“名称嘱性中所用的数据最好包括用户ID50、会话ID52和会话时间标记54中所含的数据。如果要求的话,会话cookie40的“名称”属性中还可以包含其他可选信息(未示出)。用户ID50中的数据是唯一的密钥,用于访问用户会话表36中所存储的web客户16的数据。会话ID52含有由密码随机数生成程序随机产生的字符串。密码随机数生成程序具有十分重要的特性,即没有人能预知将要产生的数字的值。在本发明的优选实施方式中,密码随机数生成程序是所有商用C编译器中可用的C标准库中的rand()函数。尽管rand()函数只产生数字,然而,通过将随机产生的数字映射到字母表的字母,还可以产生随机字符串,其方法是通过将随机产生的数字除以26并将这一除法运算得到的余数映射到字母,据此,余数0将映射到字母A,余数1将映射到字母B,余数2将映射到字母C,依次类推。举例来说,如果要求10个字符的字符串,那么,重复10次下述过程,即数字产生、除以26并将余数映射到字母。会话时间标记54中的数据是指示生成或修改会话cookie40的时间的时间标记,所述生成或修改会话cookie发生在web客户16作为宾客客户44登录时、注册成为注册客户46时或者作为注册客户46登录时。会话时间标记54中的数据包含在会话cookie40中,以提供时间敏感信息,这种信息由于可使会话cookie40更独特并且更难以复制,从而提高了web站点20的安全性。会话cookie40中的“名称”属性中所含的数据是这样产生的将会话时间标记54中的数据附加到会话ID52中,运用单向MD5散列函数,并将MD5散列函数的结果附加到用户ID50的数据中。MD5单向散列函数采取了可变长输入字符串并将其转换成128位的二进制序列。所设计的MD5单向散列函数难以逆转散列过程来获得被散列的输入字符串。在优选实施方式中,采用了RSA实验室所开发的BSAFE工具包中的MD5单向散列函数。会话cookie40的“路径”属性用“/”指定,这意味着,当web客户16请求接入web站点20上的任何URL路径时,web客户16的web浏览器都必须将会话cookie40发回给web服务器12。没有规定“到期”属性是因为会话cookie40是临时的,而没有规定“域”属性是因为web客户16的web浏览器将使用web服务器12的域名。另外,没有规定“安全”属性是因为,当在web客户16的web浏览器与web站点12之间传送会话cookie40时不需要安全通信协议。如果web客户16是注册客户46,那么,下次web客户16将访问web站点20,用会话ID52中所含的数据来产生会话cookie40,然而,如果web客户16只是宾客客户44,那么,当产生会话cookie40时,使用会话ID52中所存储的新数据。授权代码cookie42的“名称”属性中所用的数据最好包括授权代码56和授权代码时间标记58中所存储的数据。如果要求的话,授权代码cookie42的“名称”属性中还可以包含其他可选信息(未示出)。授权代码56中的数据最好是随机产生的字符串或整数,它由用来产生会话cookie40的会话ID52中所含数据的相同的密码随机数生成程序所产生。或者,也可以使用不同的密码随机数生成程序。授权代码时间标记58中所含的数据是指示生成或修改授权代码cookie42的时间的时间标记,所述生成或修改发生在web客户16作为宾客客户44第一次访问安全web页面32时、成为注册客户46时或者作为注册客户46登录web站点20时。出于以上针对会话cookie40所述的同样的安全目的,授权代码时间标记58中所含的数据包含在授权代码cookie42中。授权代码42的“名称”属性中的数据是这样产生的将授权代码时间标记58中所存储的数据附加到授权代码56中,并运用单向MD5散列函数。没有规定“到期”属性是因为授权代码cookie42是临时的,而没有规定“域”属性是因为web客户16的web浏览器将使用web服务器12的域名。规定“安全”属性是因为,当在web客户16的web浏览器与web服务器12之间传送授权代码cookie42时需要安全通信协议。授权代码cookie42的“路径”属性用“/”指定,这意味着,每当web客户16请求接入web站点20上的任何URL路径时,web客户16的web浏览器都必须将授权代码cookie42发给web服务器12。然而,由于设置了“安全”属性,因此,只有当web客户16的web浏览器所用的通信协议安全时,才能发送授权代码cookie42。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浏览器可以是NetscapeNavigator、MicrosoftInternetExplorer或其他任何合适的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所示。过程B建立宾客帐户和会话cookie。当web服务器12通过添加一个新记录在用户会话表36中建立宾客客户条目时,过程B开始。用户会话表36中的新记录的建立包括产生一个新密钥值,并将其存储在用户会话表36中新建立记录中的用户ID50中。下一个“宾客”或另一个合适的标识符被存储在新建立宾客客户条目的用户类型60中。然后,由前面所述的密码随机数生成程序随机产生会话ID52的数据(最好是字符串),并将其存储在会话ID52中。接着,计算出会话时间标记54的数据,并将其存储在会话时间标记54中。然后,最好运用单向MD5散列函数来连结会话ID52和会话时间标记54中所含的数据(在会话ID52中所含的数据上附加会话时间标记54中所含的数据)。此外,也可以采用不同的散列函数。很多散列函数在技术上是众所周知的,一种基本的参考文献是DonaldE.Knuth所著的“TheArtofComputerProgramming,Volume3SearchingandSorting”,在该文献中,Knuth教授提供了关于建立散列函数的数学的基本讨论。MD5散列函数的结果与用户ID50中所含的数据相连结,并被存储在会话cookie40的“名称”属性中。然后,web服务器12指定会话cookie40的其他属性,并将会话cookie40发送给web客户16的web浏览器。另一种分过程用来建立授权代码cookie42。这一过程通常发生在宾客客户44请求访问安全web页面32并正在使用HTTPS通信协议但没有授权代码cookie42的时候。这一过程的伪代码如过程C所示。过程C建立授权代码cookie。从与用户ID50中所存储的数据相应的会话cookie40的“名称”属性中提取数据时,过程C开始。然后,这一数据作为进入用户会话表36的密钥,以判断宾客客户44的授权代码56中是否含有授权代码。如果授权代码56中含有授权代码,那么,web客户16可能是非授权用户,因此,web服务器12拒绝这一请求,产生一个错误web页面,并将这一错误web页面发送给宾客客户44的web浏览器。此外,如果授权代码56是空的,那么,由前面所述的密码随机数生成程序随机产生授权代码56的数据(最好是字符串或整数)。然后,将这一数据存储在授权代码56中。接着,将当前时间标记存储在授权代码时间标记58中。然后,最好运用MD5单向散列函数来连结授权代码56和授权代码时间标记58中所含的数据(在授权代码56中所含的数据上附加授权代码时间标记58中所含的数据)。此外,如上所述,也可以采用不同的散列函数。然后,将MD5散列函数的结果存储在授权代码cookie42的“名称”属性中。指定授权代码cookie42的其余属性,然后,web服务器12将授权代码cookie42发送给宾客客户44的web浏览器。另一分过程处理当宾客客户44在浏览web站点20时决定成为注册客户46时的情况。伪代码如以下过程D所示。过程D宾客客户选择成为注册客户。通过引导宾客客户44到注册web页面,过程D开始,在此,他们提供机密信息并选择登录ID和口令。然后,从与用户ID50中所存储的数据相应的会话cookie40的“名称”属性中提取数据,并利用该数据访问用户会话表36中正确的宾客客户条目。然后,再为宾客客户44将用户类型60中的值变为“注册的”或别的合适的标识符。此时,宾客客户44被认为是注册客户46。更新会话时间标记84中的时间标记。然后,利用会话时间标记54中所含的新数据来修改会话cookie40。接着,如果授权代码cookie42不存在,则建立该授权代码cookie42,否则,修改授权代码cookie42。然后,通过更新授权代码时间标记58中所存储的时间标记并利用这一更新时间标记修改授权代码cookie42的“名称”属性,来修改授权代码cookie42。然后,将会话cookie40和授权代码cookie42发送给注册客户46的web浏览器。然后,再从注册web页面上所输入的数据中获得注册客户46所输入的登录ID、口令以及其他重要信息。将登录ID存储在用户会话表36中的登录ID62中,将口令存储在用户会话表36的口令64中。将所获得的其他信息存储在数据库24的其他地方。另一分过程处理已向web站点20注册的宾客客户44登录以被识别为是注册客户46的情况。伪代码如过程E所示。过程E宾客客户作为注册客户登录。当引导宾客客户44到web站点20上的登录web页面时,过程E开始,在此,他们输入其登录ID和口令。如果登录ID和口令无效,那么,web服务器12告知宾客客户44输入了无效的登录ID和/或口令,宾客客户44必须重新输入这一信息。正如熟练技术人员所知,一定次数的无效登录尝试后,可以终止登录过程。当输入了正确的登录ID和口令时,利用该登录ID和口令寻找用户会话表36中正确的宾客客户条目。接着,更新会话时间标记54中的时间标记,然后根据这一新时间标记值更新会话cookie40。接着,更新授权代码时间标记58中的时间标记,然后根据这一新时间标记值更新授权代码cookie42。接着,再将会话cookie40和授权代码cookie42发送给宾客客户44的web浏览器。最后的步骤是一个可选步骤,以便删除当第一次访问web站点20时为宾客客户44所建立的宾客客户帐户。此外,web站点20的管理者可以利用web服务器软件包18所提供的其他实用工具移除已经陈旧的(即预定时间段比如两天内不使用的)宾客客户帐户。当web客户16请求访问web站点20上的非安全web页面34时,利用另一分过程来验证会话cookie40。这一过程确保会话cookie40未被篡改。伪代码如以下过程F所示。过程F会话cookie验证。从与用户ID50中所存储的数据相应的会话cookie40的“名称”属性中提取数据时,过程F开始。然后,利用这一数据来寻找用户会话表36中的web客户16的条目,以获得会话ID52和会话时间标记54中的存储数值。这些存储数值用来重建会话cookie40。然后将重建的会话cookie40与web客户16所提供的会话cookie40进行比较。如果比较结果表明相等,那么处理web客户16的请求。然而,如果比较结果表明不相等,那么web客户16可能是一个非授权用户,于是,web服务器12拒绝web客户16访问非安全web页面34的请求,并向web客户16的web浏览器发送一个错误web页面。当web客户16请求访问web站点20上的安全web页面32时,利用另一分过程来验证授权代码cookie42。这一过程确保授权代码cookie42未被篡改。在这一过程中,web客户16在使用HTTPS通信协议并且具有会话cookie40和授权代码cookie42。伪代码如以下过程G所示。过程G授权代码cookie验证。从与用户ID50中所存储的数据相应的会话cookie40的“名称”属性中提取数据时,过程G开始。然后,利用这一数据来寻找用户会话表36中的web客户16的条目,以获得授权代码56和授权代码时间标记58中所含的存储数值。这些存储数值用来重建授权代码cookie42。然后将重建的授权代码cookie42与web客户16所提供的授权代码cookie42进行比较。如果比较结果表明相等,那么web服务器12处理web客户16的请求。如果比较结果表明不相等,那么web客户16可能是一个非授权用户,于是,web服务器12拒绝web客户16访问安全web页面32的请求,并向web客户16的web浏览器发送一个错误web页面。另一分过程用来处理当注册客户46从web站点20中注销时的情况。伪代码如以下过程H所示。过程H注册客户注销。当注册客户46选择从web站点20中注销时,过程H开始。接着,web服务器12更新会话cookie40和授权代码cookie42,这样,所有属性包含空值。然后,web服务器12将更新的会话cookie40和更新的授权代码cookie42发送给注册客户46的web浏览器。此外,注册客户46可以不注销,而只是访问另一个web站点,在这种情况下,会话cookie40和授权代码cookie42仍将保留在注册客户46所用的web浏览器的存储器中。如果注册客户46再次访问web站点20,那么,注册客户46所用的web浏览器将会话cookie40发回给web服务器12。此外,注册客户46可以只退出web浏览器应用程序,而无需从web站点20中注销,在这种情况下,会话cookie40和授权代码cookie42将被破坏,这是因为优选情况下它们是临时cookie。另一分过程处理注册客户46请求访问安全web页面32但不具有授权代码cookie42的情况。伪代码如以下过程I所示。过程I注册客户在没有授权代码cookie情况下访问安全web页面。当已经向web站点20注册的web客户16(即以前注册的web客户16)试图访问安全web页面32但还没有登录到web站点20以指示他们是注册客户46时,过程I开始。接着,检查以前注册的web客户16,判断他们有没有授权代码cookie42。由于以前注册的web客户16没有授权代码cookie42,因此,通过在登录web页面上输入他们的登录ID和口令,迫使以前注册的web客户16登录到web站点20。接着,验证登录ID和口令。如果验证失败,那么web服务器12拒绝以前注册的web客户16访问安全web页面32的请求,并向以前注册的web客户16的web浏览器发送一个错误web页面。然而,如果登录ID和口令有效,那么,建立授权代码cookie42并将其发送给以前注册的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中的宾客客户帐户和会话cookie40。然后,在步骤84中,宾客客户44继续请求访问非安全web页面34。然后,在步骤86中,验证会话cookie40。如果会话cookie40无效,那么控制进至步骤88,在该步骤中,web服务器12拒绝宾客客户44访问非安全web页面34的请求,并向宾客客户44的web浏览器发送一个错误web页面。或者,如果会话cookie40有效,那么控制进至步骤90,在该步骤中,宾客客户44访问非安全web页面34。然后,宾客客户44可以访问一些非安全web页面34(其中,每个访问请求都验证会话cookie40)。最终,在步骤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是否需要授权代码cookie42。如果宾客客户44已经有授权代码,那么控制进至步骤104,在该步骤中,web服务器12拒绝宾客客户44访问安全web页面32的请求(因为宾客客户44此时可能是非授权用户),并向宾客客户44的web浏览器发送一个错误web页面。然而,如果宾客客户44没有授权代码,那么控制进至步骤106,在该步骤中,建立授权代码cookie42并发送给宾客客户44。于是,宾客客户44可以访问安全web页面32。接着,在步骤108中,宾客客户44请求访问web站点20上的另一个安全web页面32,然后,在步骤110中,检查宾客客户44的授权代码cookie42,查看它是否有效。如果授权代码cookie42无效,那么过程进至步骤112,在该步骤中,web服务器12拒绝访问安全web页面32的请求,并向宾客客户44的web浏览器发送一个错误web页面。或者,如果授权代码cookie42有效,那么,在步骤114中,宾客客户44可以访问安全web页面32。然后,宾客客户44可以访问一些其他安全web页面32(其中,每个访问请求都验证授权代码cookie42)。接着,在步骤118中,宾客客户44进行一些购物,再在步骤120中,为所购买的任何商品付款并提供运输信息。然后,在步骤122中,宾客客户44通过简单地关闭其web浏览器或访问不同的web站点的方式离开web站点20。一旦关闭了宾客客户44的web浏览器,就将擦除会话cookie40和授权代码cookie42,因为它们都是临时cookie。下面参照图5a、5b和5c,这种情况从步骤130开始,在该步骤中,web客户16访问web站点20。Web客户16被默认为是宾客客户44。接着,在步骤132中,在用户会话表36中建立宾客客户帐户,还建立会话cookie40。然后,将会话cookie40发送给宾客客户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建立授权代码cookie42。接着,在步骤146中,将宾客客户44引向web站点20上的注册web页面,在此,宾客客户44提供客户信息。在步骤148中,建立注册客户帐户,并且宾客客户44成为注册客户46。然后,如步骤150中所示,注册客户46可以访问非安全web页面34,此时,在步骤152中,web服务器12验证注册客户46的会话cookie40。如果会话cookie40无效,那么控制进至步骤154,在该步骤中,web服务器12拒绝注册客户46访问非安全web页面34的请求,并向注册客户46的web浏览器发送一个错误web页面。或者,如果会话cookie40有效,那么,在步骤156中,注册客户46可以访问非安全web页面34。然后,注册客户46可以继续访问其他非安全web页面34(其中,每个访问请求都验证会话cookie40)。在步骤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验证授权代码cookie42。如果授权代码cookie42无效,那么过程进至步骤172,在该步骤中,web服务器12拒绝注册客户46访问安全web页面32的请求,并向注册客户46的web浏览器发送一个错误web页面。或者,如果授权代码cookie42有效,那么,在步骤174中,注册客户46可以访问安全web页面32。然后,注册客户46可以继续访问一些安全web页面32(其中,每个访问请求都验证授权代码cookie42)。如步骤178中所示,注册客户46还可以进行购物。如果注册客户46购买了东西,那么,在步骤180中,注册客户46为购买品付款,并且web服务器12将关于所进行的购买的数据存储在数据库24中。接着,在步骤182中,注册客户46可以从web站点20中注销,访问另一个web站点,或者只是退出其web浏览器应用程序。无论注册客户46作出什么选择,一旦注册客户46退出其web浏览器应用程序,会话cookie40和授权代码cookie42就被破坏,因为按优选方式它们都被定义为是临时cookie。下面参照图6a和6b,这种情况从步骤190开始,在该步骤中,已经向web站点20进行注册的web客户16访问web站点20。Web客户16被默认为是宾客客户44。然后,在用户会话表36中建立宾客客户帐户,还建立会话cookie40并将其发送给宾客客户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,在该步骤中,建立或更新授权代码cookie42,并将其发送给宾客客户44的web浏览器。接着,在步骤204中,宾客客户44登录成为注册客户46。然后,在步骤206中,注册客户46可以访问web站点20上的非安全web页面34,此时,在步骤208中,web服务器12验证会话cookie40。如果验证失败,那么过程进至步骤210,在该步骤中,web服务器12拒绝注册客户46访问非安全web页面34的请求,并向注册客户46的web浏览器发送一个错误web页面。或者,如果会话cookie40有效,那么,过程进至步骤212,在该步骤中,注册客户46访问非安全web页面34。然后,注册客户46可以继续访问一些非安全web页面34(其中,每个访问请求都验证会话cookie40)。接着,在步骤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,在该步骤中,验证授权代码cookie42。如果验证失败,那么过程进至步骤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浏览器应用程序,会话cookie40和授权代码cookie42就被破坏,因为按优选方式它们都被定义为是临时cookie。按本发明所实现的系统和方法可以防止非授权用户访问关于web站点20或web客户16的敏感信息。例如,如果web客户16是没有授权代码cookie42的宾客客户44,即宾客客户44还没有访问任何安全web页面32,那么,没有与宾客客户44有关的安全信息。在这种情况下,非授权用户无法做任何有害的事情。另一种情况是如果web客户16是具有授权代码cookie42的宾客客户44(即web客户16已经访问过安全web页面32)。在这种情况下,非授权用户的尝试将失败,这是因为,非授权用户只能使用会话cookie40,没有授权代码cookie42,而web服务器12已知道宾客客户44有授权代码cookie42(通过检查用户会话表36中的授权代码56)。还有一种情况是如果web客户16是注册客户46而非授权用户试图使用会话cookie40来浏览安全web页面32。由于非授权用户没有授权代码cookie42,因此,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。应当理解,所描述的是本发明的一些优选实施方式。然而,完全可以理解,根据上述本发明的精神以及以下所述的权利要求的范围,本发明容许有某些变化和可选择的实施方式。权利要求1.一种用于web站点与web客户之间的安全会话管理和认证的方法,所述web站点具有安全和非安全web页面,所述方法包括如下步骤a)当所述web客户请求访问所述非安全web页面时,采用非安全通信协议和会话cookie;和b)当所述web客户请求访问所述安全web页面时,采用安全通信协议和授权代码cookie。2.权利要求1的方法,其中,所述方法还包括如下步骤c)当所述web客户请求访问所述非安全web页面时,从所述web客户请求所述会话cookie,并验证所述请求的会话cookie;和d)当所述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客户连接,所述web服务器具有web站点,所述web站点包括a)安全和非安全web页面;b)允许所述web客户访问所述非安全web页面的非安全通信协议和会话cookie;和c)允许所述web客户访问所述安全web页面的安全通信协议和授权代码cookie。17.权利要求16的系统,其中,所述web站点还包括d)当向所述web客户请求所述会话cookie时用于验证所述会话cookie的验证装置;和e)当向所述web客户请求所述授权代码cookie时用于验证所述授权代码cookie的验证装置。18.权利要求17的系统,其中,所述web服务器还包括用于在所述安全通信协议和所述非安全通信协议之间进行交替的安全性交替装置。19.权利要求18的系统,其中,所述web服务器还包括一个对所述非安全web页面和所述安全web页面进行跟踪的表。20.权利要求17的系统,其中,所述web站点包括访问装置,允许所述web客户作为宾客客户或注册客户来访问所述web站点。21.权利要求20的系统,其中,所述web系统具有存储装置,用于容纳关于所述web客户的存储信息、所述会话cookie中所含的数据和所述授权代码cookie中所含的数据。22.权利要求18的系统,其中,所述非安全通信协议是HTTP。23.权利要求18的系统,其中,所述安全通信协议是HTTPS。24.权利要求21的系统,其中,所述会话cookie包括指针和加密部分,所述指针指向所述存储信息,所述加密部分具有随机部分和日期部分。25.权利要求24的系统,其中,所述会话cookie是临时cookie或永久cookie。26.权利要求21的系统,其中,所述授权代码cookie包括加密部分,所述加密部分具有随机部分和日期部分。27.权利要求26的系统,其中,所述授权代码cookie是临时的。28.一种包含在计算机可读媒体上的计算机程序,所述计算机程序提供了web站点与web客户之间的安全会话管理和认证,所述web站点具有安全和非安全web页面,所述计算机程序适应于a)当所述web客户请求访问所述非安全web页面时,采用非安全通信协议和会话cookie;和b)当所述web客户请求访问所述安全web页面时,采用安全通信协议和授权代码cookie。29.权利要求28的计算机程序,其中,所述计算机程序还适应于c)当所述web客户请求访问所述非安全web页面时,从所述web客户请求所述会话cookie,并验证所述请求的会话cookie;和d)当所述web客户请求访问所述安全web页面时,从所述web客户请求所述授权代码cookie,并验证所述请求的授权代码cookie。30.权利要求29的计算机程序,其中,所述计算机程序还适应于当所述web客户交替请求访问所述安全web页面和所述非安全web页面时,在所述安全通信协议和所述非安全通信协议之间进行交替。31.权利要求30的计算机程序,其中,所述在所述安全通信协议和所述非安全通信协议之间进行交替通过一个对所述非安全web页面和所述安全web页面进行跟踪的表来实现。32.权利要求31的计算机程序,其中,取决于所述web客户是请求访问所述非安全web页面还是请求访问所述安全web页面,所述计算机程序利用所述表来引导所述web客户采用所述安全通信协议或所述非安全通信协议。33.权利要求30的计算机程序,其中,所述计算机程序适应于允许所述web客户是宾客客户或注册客户。34.权利要求33的计算机程序,其中,所述计算机程序适应于建立存储信息,这些信息包括所述会话cookie中所含的数据、所述授权代码cookie中所含的数据和关于所述web客户的数据。35.权利要求30的计算机程序,其中,所述非安全通信协议是HTTP。36.权利要求30的计算机程序,其中,所述安全通信协议是HTTPS。37.权利要求34的计算机程序,其中,所述会话cookie包括指针和加密部分,所述指针指向所述存储信息,所述加密部分具有随机部分和日期部分。38.权利要求37的计算机程序,其中,所述会话cookie可以是临时cookie或是永久cookie。39.权利要求34的计算机程序,其中,所述授权代码cookie包括加密部分,所述加密部分具有随机部分和日期部分。40.权利要求39的计算机程序,其中,所述授权代码cookie是临时的。41.权利要求37的计算机程序,其中,验证从所述web客户请求的会话cookie包括利用所述存储信息产生第二会话cookie,并将所述第二会话cookie与从所述web客户请求的所述会话cookie进行比较。42.权利要求39的计算机程序,其中,验证从所述web客户请求的授权代码cookie包括利用所述存储信息产生第二授权代码cookie,并将所述第二授权代码cookie与从所述web客户所请求的所述授权代码cookie进行比较。43.一种计算机程序,包括计算机代码装置,适应于完成权利要求1、2、3、6和7的所有步骤。44.如权利要求43所述的计算机程序包含在一种计算机可读媒体上。45.一种计算机程序,用于建立会话cookie中的“名称”属性,所述计算机程序包括如下步骤a)产生用户id;b)产生会话字符串;c)产生会话时间标记;d)将所述会话时间标记附加到所述会话字符串中以形成中间值;e)将单向散列函数运用到所述中间值以形成最终值;和f)将所述最终值存储到所述“名称”属性中。46.权利要求45的计算机程序,其中,形成所述会话cookie中的“路径”属性、“到期”属性、“域”属性和“安全”属性包括如下步骤a)将斜杠(□/□)存储到所述“路径”属性中;b)将空字符串(□□)存储到所述“到期”属性中;c)将空字符串(□□)存储到所述“域”属性中;和d)将空字符串(□□)存储到所述“安全”属性中。47.一种计算机程序,用于建立授权代码cookie中的“名称”属性,所述计算机程序包括如下步骤a)产生授权代码;b)产生授权代码时间标记;c)将所述授权代码时间标记附加到所述授权代码中以形成中间值;d)将单向散列函数运用到所述中间值以形成最终值;和e)将所述最终值存储到所述“名称”属性中。48.权利要求47的计算机程序,其中,形成授权代码cookie中的“路径”属性、“到期”属性、“域”属性和“安全”属性包括如下步骤a)将斜杠(□/□)存储到所述“路径”属性中;b)将空字符串(□□)存储到所述“到期”属性中;c)将空字符串(□□)存储到所述“域”属性中;和d)将字符串□安全□存储到所述“安全”属性中。49.一种计算机程序产品,包括计算机可读信号承载媒体;所述媒体中的用于实现权利要求1-15中任一权利要求的方法的装置。50.权利要求49的产品,其中,所述媒体是可记录的数据存储媒体。51.权利要求49的产品,其中,所述媒体是已调载波信号。52.权利要求51的产品,其中,所述信号通过网络的传输。53.权利要求52的产品,其中,所述网络是因特网。全文摘要本发明包括一种用于web站点与web客户之间的安全会话管理和认证的系统和方法。这种方法包括安全和非安全通信协议,用于在安全和非安全通信协议之间进行切换的装置,会话cookie和授权代码cookie。会话cookie用于会话管理,而授权代码cookie用于认证。当web客户访问非安全web页面时,采用非安全通信协议来发送会话cookie,而当web客户访问安全web页面时,采用安全通信协议来发送授权代码cookie。会话管理体系结构和两种不同的cookie及安全和非安全通信协议的使用可防止非授权用户访问敏感的web客户或web站点的信息。文档编号G06F15/00GK1478348SQ01819702公开日2004年2月25日申请日期2001年11月9日优先权日2000年11月30日发明者寇卫东,利弗·莫拉斯,赵彦淳,莫拉斯申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1