JP2004514996A - ウェブサイトのための安全なセッション管理および認証 - Google Patents

ウェブサイトのための安全なセッション管理および認証 Download PDF

Info

Publication number
JP2004514996A
JP2004514996A JP2002546382A JP2002546382A JP2004514996A JP 2004514996 A JP2004514996 A JP 2004514996A JP 2002546382 A JP2002546382 A JP 2002546382A JP 2002546382 A JP2002546382 A JP 2002546382A JP 2004514996 A JP2004514996 A JP 2004514996A
Authority
JP
Japan
Prior art keywords
cookie
web
client
session
computer program
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
Application number
JP2002546382A
Other languages
English (en)
Other versions
JP4056390B2 (ja
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 JP2004514996A publication Critical patent/JP2004514996A/ja
Application granted granted Critical
Publication of JP4056390B2 publication Critical patent/JP4056390B2/ja
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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Storage Device Security (AREA)

Abstract

本発明は、ウェブサイトとウェブクライアントとの間の安全なセッション管理および認証のためのシステムおよび方法を具備する。この方法は、保護された通信プロトコルおよび無保護の通信プロトコルの双方を含み、保護された通信プロトコルおよび無保護の通信プロトコルの切り替えのための手段、セッションクッキー、ならびにオースコードクッキーを含む。セッションクッキーはセッション管理のために用いられ、オースコードクッキーは認証のために用いられる。セッションクッキーは、ウェブクライアントが無保護のウェブページにアクセスする場合に無保護の通信プロトコルを用いて送信されるが、オースコードクッキーは、ウェブクライアントが保護されたウェブページにアクセスする場合に保護された通信プロトコルを用いて送信される。保護された通信プロトコルおよび無保護の通信プロトコルの双方と共に、セッション管理アーキテクチャおよび2つの別個のクッキーの使用によって、無許可のユーザが機密のウェブクライアントまたはウェブサイト情報にアクセスすることを防ぐ。
【選択図】図1

Description

【発明の属する技術分野】
【0001】
本発明は、ウェブサイトとウェブクライアントとの間の通信に関し、具体的には、ウェブサイトとウェブクライアントとの間のセッションのための、保護された通信プロトコルおよび無保護の通信プロトコルを用いたセッション管理および認証手段に関する。
【従来の技術】
【0002】
多くの企業は、費用を減らし、自社のサービスまたは製品を幅広い消費者層に宣伝するための方法として、インターネットを導入している。これらの企業(すなわちウェブ商人)は、オンラインショッピングのウェブサイトを設置して、情報またはソフトウエア等の非耐久財、および/または耐久消費財等を販売している。これは、オンラインで簡単に買い物ができるため、ますますインターネットを用いるようになっている多くの消費者(すなわちウェブクライアント)にとって利益となる。実際、ウェブ商人とウェブクライアントとの間のオンライントランザクションは、ますます多くなっている。
【0003】
電子商取引は便利であるが、ウェブクライアントのウェブブラウザと電子商取引ウェブサイトとの間の通信がHTTP(ハイパーテキスト転送プロトコル)に基づいているので、問題が無いわけではない。HTTPは、ステートレスである。これは、HTTPプロトコルが、ある訪問から次の訪問までウェブクライアントに関する情報を維持しないということを意味する。結果として、電子商取引ウェブサイトは、後日再び訪れるウェブクライアントを覚えておくための処置を取らなければならない。別の問題は、HTTPが安全でないことであり、これは厄介である。なぜなら、ウェブクライアントが製品の支払いをして受け取るためにクレジットカード番号または口座番号等の機密情報を提供しなければならないからである。無許可のユーザが、この機密情報を盗むために、HTTP通信を注視している可能性がある。そして、無許可のユーザは、ウェブクライアントのアイデンティティのもとで商品を注文し、その商品を異なる住所に送るよう要求したり、住所およびクレジットカード情報等の機密性の高いウェブクライアントのデータにアクセスしたりする恐れがある。
【0004】
これらの問題を解決するため、電子商取引ウェブサイトは、ウェブクライアントとの対話を続けつつ、認証およびセッション管理を可能としなければならない。更に、ウェブクライアントと電子商取引ウェブサイトとの間で機密情報を送信する場合、保護された通信プロトコルを用いなければならない。セッション管理によって、ウェブサイトは、異なるログインセッション間でウェブクライアントを覚えておくことができ、一方、認証は、あるウェブサイトに最初にログオンした同じウェブクライアントから要求が来たことをウェブサイトに保証するセキュリティ対策である。保護された通信プロトコルは、電子商取引ウェブサイトとウェブクライアントとの間で送信されるデータを暗号化する。認証およびセッション管理を達成するため、HTTPベーシック認証、名前−値ペア認証、またはセッションクッキーを利用することができる。
【0005】
HTTPベーシック認証では、ウェブクライアントは必ずセッション管理の前にログオンする必要がある。このため、ウェブクライアントが最初にウェブサイトにアクセスした時に、ログインウインドウがパッと開かれる。このログインウインドウは、ウェブサイト管理者によってカスタマイズすることが容易でない。このように、ウェブサーバがウェブクライアントにログオンを強制するので、保護されたウェブページへのゲストクライアントのアクセスはサポートされない。この結果、ほとんどの電子商取引ウェブサイトは、HTTPベーシック認証を用いていない。
【0006】
名前−値ペア認証は、あらゆるURL(ユニフォームリソースロケーター)内または電子商取引ウェブサイト上のあらゆるウェブページのデータ内にセキュリティ情報を埋め込むことを伴っている。
【0007】
この結果、ウェブサイト開発者は、あるウェブページから別のものへ認証データを移すことによって各ウェブページごとに認証を処理する必要がある。この認証データは、ウェブクライアントが保護されたウェブページから無保護のウェブページにジャンプする場合、簡単に喪失する恐れがある。また、名前−値ペアでは、保護されたウェブページにアクセスする場合にウェブサーバがウェブクライアントに登録またはログオンすることを強制するので、保護されたウェブページへのゲストクライアントのアクセスはサポートされない。また、認証データは、ウェブページURLの最後に追加されると、安全でない。なぜなら、これは、ウェブサーバのログであらわになったり、またはウェブクライアントのウェブブラウザ上に表示されたりする場合があるからである。更に、ウェブページデータに含まれる認証データは、ウェブブラウザのキャッシュファイルを閲覧することで見られる恐れがあるので、安全でない。
【0008】
クッキーは、ウェブサイトとウェブクライアントとの間のセッション管理および認証のための最も普及した方法である。クッキーは、ウェブクライアントのコンピュータ上に格納され、検索される。永久クッキーは、コンピュータのハードドライブ上に格納され、一方、一時クッキーは、揮発性メモリに格納され、いったんウェブセッションが終了すると消去される。Netscape Navigator(登録商標)のウェブブラウザは、永久クッキーを、テキストファイルに(すなわちcookie.txt)、各クッキーにファイルの1行を用いて格納し、一方、Microsoft Internet Explorer(登録商標)のウェブブラウザは、各永久クッキーごとに別個のテキストファイルを用いる。クッキーは、ウェブクライアントが最後にどのウェブページにアクセスしたか等、ウェブクライアントに関する有益な情報をウェブサーバに提供するように設計されている。また、クッキーを用いて、あるウェブサイトにおける何らかの所定のレベルのウェブクライアントアクセスおよびカスタマイゼーションを提供することができる。また、クッキーは、クッキーが有効であるURL集合の記述を含む。将来、ウェブクライアントによって、あるクッキーに含まれるURL集合と一致するHTTP要求が行われると、これは、ウェブクライアントからウェブサーバへのクッキーの現在値の返信を含むはずである。
【0009】
初めてウェブクライアントがウェブサーバから情報を要求し、これがクッキーを利用する時、ウェブサーバは、要求された情報をクッキーと共に送る。クッキーは、ウェブサーバからウェブクライアントへ、HTTP応答の一部としてSet−Cookieヘッダを含むことで送信される。Set−Cookieヘッダは、CGIスクリプトによって生成され、以下の属性を含む。すなわち、NAME、DATE、PATH、DOMAIN、およびSECUREである。NAME属性は、ウェブクライアントに関するデータを含み、ウェブサイトによって用いられる。1つのクッキー内に多くのNAME属性がある可能性があり、単一のウェブサーバ応答で多くのSet−Cookieヘッダを発行することができる。DATE属性は、クッキーの期限が切れる時を示す日付を規定する。PATH属性は、クッキーが有効であるドメインにおけるURLサブセットを規定する。DOMAIN属性は、ウェブサイトのインターネットドメイン名である。SECURE属性は、クッキーを送信する条件を示す。例えば、クッキーのSECURE属性に保護されていると示されていれば、これは、ウェブサーバとウェブクライアントとの間の通信チャネルが保護されている場合にのみ送信される。
【0010】
クッキーに基づくセッション管理は、無許可のユーザがクッキーに含まれる機密データを盗むのを防止するための保護された通信プロトコルを取り入れなければならない。そのようなプロトコルの1つは、HTTPS(HTTP over SSL)である。頭字語SSLは、Secure Socket Layer(セキュアソケットレイヤ)プロトコルを表し、これは、HTTPを用いつつ安全に情報を送信するための業界標準である。HTTPSは、ウェブサーバの認証(ウェブサーバのアイデンティティをウェブクライアントに対して検証する)、データ暗号化、およびウェブクライアントの認証(ウェブクライアントのアイデンティティをウェブサーバに対して検証する)のための機能を含む。HTTPSを使用可能な各ウェブサーバには、一意のキーおよびデータ暗号化を利用するコーダおよびデコーダの双方がインストールされている。単語および数字を一連の英数字に変換するデータ暗号化は、ウェブ商人に使用を許可されたウェブサーバに付属しているデコーダによってのみ解読することができる。セキュリティのレベルは、40または128ビットのキーのどちらを用いるかによって異なる。コード(またはキー)を解読する難しさは、キーに含まれるビット数と共に増大する。クッキーに基づくセッション管理および認証方式は、従来技術において説明されている。
【0011】
米国特許第5,875,296号は、ウェブサイトを介した分散ファイルシステムへの安全なアクセスを提供する方法を開示する。この方法は、分散ファイルシステムのファイルにアクセスするために、ユーザ識別子を含む単一のクッキーを利用する。このクッキーによって、ユーザは、分散ファイルシステム上の情報にアクセスするたびにユーザIDおよびパスワードを再入力する必要を回避することができる。また、この方法は、分散ファイルシステムに特化したものであり、保護された通信プロトコルを用いていない。
【0012】
米国特許第6,047,268号は、オンラインで買い物をするウェブクライアントを認証するためのシステムおよび方法を開示する。認証は、単一のクッキーによって提供される。このクッキーは、ウェブクライアントの口座番号を識別する静的部分と、ウェブクライアントによる最後のトランザクションを識別する暗号化された動的部分とを含む。このクッキーは、新たなトランザクションが各々行われた後に、新たな動的部分によって更新されるが、この特許は、クッキー内の機密情報を用いること、および、ウェブクライアントのコンピュータシステム上に永久クッキーを格納することを開示する。更に、この特許で開示された電子商取引方法は、ゲストクライアントがオンラインショッピングを行うことができるのに十分なほど柔軟ではない。ウェブクライアントは全て、オンラインで買い物をするために登録しなければならない。米国特許第6,047,268号は、HTTPSの使用を開示するが、HTTPSを排他的に用いるか否か、またはHTTPSとHTTPとの間で通信プロトコルを切り替えるのか否かについては、述べていない。
【0013】
米国特許第6,076,069号は、電子クーポンを引き換えるシステムおよび方法を開示する。ウェブクライアントが、ウェブ商人からの販売促進の物品を宣伝するウェブサイトを訪れた場合、ウェブクライアントのコンピュータシステム上に、クッキーの形態でクーポンを格納する。ウェブクライアントが後にそのウェブ商人のウェブサイトを訪れると、ウェブサイトは、クッキーに格納された電子クーポンを認識し、ウェブクライアントに割引を提供する。この特許は、保護された通信プロトコルの使用について教示していない。更に、この特許は、ウェブクライアントの口座番号等のクッキー内の機密情報の使用、および、永久クッキーの使用(すなわち、クッキーをウェブクライアントのコンピュータシステム上に永久に格納する)を開示する。これらの特徴は双方とも、セキュリティ上の問題を引き起こす。
【0014】
HTTPSだけを独占的に用いると、ウェブページにアクセスするたびに符号化および復号化を行うので、性能の低下を引き起こす。これは非効率的である。なぜなら、ウェブクライアントから偶発的に多くの訪問を受ける製品カタログのウェブページ等、多くのウェブページは、プロテクトを必要としないからである。更に、ウェブサイトのホームページURLにHTTPSを用いることは、ウェブクライアントにとって不都合となる恐れがある。なぜなら、ウェブクライアントは、ウェブサイトのURLにおいて「http」の代わりに「https」を用いることに慣れていないからである。更に、HTTPとHTTPSとの間の切り替えが厄介である場合がある。なぜなら、現在、ウェブクライアントがHTTPSを用いてウェブサイトにログオンすると、ウェブクライアントを認証するためにクッキーを発行するが、もしウェブクライアントが後にHTTPを用いてそのウェブサイトで無保護のウェブページをブラウズすると、同じクッキーがクリアなテキストでウェブクライアントに送信されるからである。この時、無許可のユーザがクッキーを盗む恐れがある。従って、こういった状況で単一のクッキーを用いると、ウェブサイトのセキュリティが脅かされる。
【発明が解決しようとする課題】
【0015】
従って、クッキーを用いて、無許可のユーザからウェブサイトおよびウェブクライアントの双方を守る、改良された安全なセッション管理および認証方法が必要とされている。本発明は、これらの必要性に対処する。
【発明を解決するための手段】
【0016】
本発明は、ウェブサイトとウェブクライアントとの間の安全なセッション管理および認証のための方法を提供する。ウェブサイトは、保護されたウェブページおよび無保護のウェブページを有する。この方法は、ウェブクライアントが無保護のウェブページに対するアクセスを要求した場合に無保護の通信プロトコルおよびセッションクッキーを利用するステップと、ウェブクライアントが保護されたウェブページに対するアクセスを要求した場合に保護された通信プロトコルおよびオースコードクッキーを利用するステップと、を有する。
【0017】
好ましくは、この方法は、更に、ウェブクライアントが無保護のウェブページに対するアクセスを要求した場合にウェブクライアントからセッションクッキーを要求し、要求したセッションクッキーを検証するステップと、ウェブクライアントが保護されたウェブページに対するアクセスを要求した場合にウェブクライアントからオースコードクッキーを要求し、要求したオースコードクッキーを検証するステップと、を含む。
【0018】
好ましくは、この方法は、更に、ウェブクライアントが保護されたウェブページおよび無保護のウェブページに対するアクセスの要求を交互に行った場合、保護された通信プロトコルおよび無保護の通信プロトコルを交互に用いるステップを含む。
【0019】
別の態様では、本発明は、ウェブサイトとウェブクライアントとの間の安全なセッション管理および認証のためのシステムである。このシステムは、ウェブサーバ、ウェブクライアント、および通信チャネルを含む。ウェブサーバは、通信チャネルを介してウェブクライアントに結合されている。ウェブサーバはウェブサイトを含み、このウェブサイトは、保護されたウェブページおよび無保護のウェブページと、ウェブクライアントが無保護のウェブページにアクセスすることを可能とする無保護の通信プロトコルおよびセッションクッキーと、ウェブクライアントが保護されたウェブページにアクセスすることを可能とする保護された通信プロトコルおよびオースコードクッキーと、を有する。
【0020】
好ましくは、ウェブサイトは、更に、ウェブクライアントから要求されたセッションクッキーを検証するための検証手段と、ウェブクライアントから要求されたオースコードクッキーを検証するための検証手段と、を含む。
【0021】
好ましくは、ウェブサーバは、更に、保護された通信プロトコルおよび無保護の通信プロトコルを交互に用いるためのセキュリティ交替手段を含む。
【0022】
記憶装置に格納可能な、またはコンピュータシステムにおいて用いる変調された搬送信号上もしくはコンピュータシステムにおいて用いるインターネット等のネットワーク上等で信号として送信可能なコンピュータプログラムにおいて、本発明を具現化することができることは、当業者に理解されよう。
【0023】
本発明をより良く理解するため、および、本発明をどのように実施可能であるかをよりいっそう明確に示すため、一例として添付図面を参照する。
【発明の実施の形態】
【0024】
図1に、本発明による保護されたセッション管理システムを、全体的に10として示す。システム10は、ウェブサーバ12、通信チャネル14、およびウェブクライアント16を備える。ウェブサーバ12は、ウェブサイト20を生成し維持するためのウェブサーバソフトウエアパッケージ18を含む。ウェブサイト20は、ウェブページ22、データベース24、およびクッキー発生器26を含む。ウェブページ22は、タイプIウェブページ28およびタイプIIウェブページ30を備える。タイプIIウェブページ30は、更に、タイプIIaウェブページ32およびタイプIIbウェブページ34に細分される。データベース24は、ウェブサイト20の適正な動作のために必要なテーブルを備えるが、本発明の対象となるテーブルは、USER_SESSIONテーブル36およびURL_REGISTRYテーブル38である。クッキー発生器26は、セッションクッキー40およびオースコードクッキー42を生成することができる。ウェブクライアント16は、ゲストクライアント44または登録クライアント46のいずれかとして考えられ、ウェブサイト20とのセッションを維持する。これより後、本明細書および特許請求の範囲において、「ウェブクライアント」という言葉は、ゲストクライアント44または登録クライアント46のいずれかを指す。複数のウェブクライアント16が同時にウェブサイト20にアクセスすることもあり得るが、簡略化のため、図1には1つのみのウェブクライアント16を示す。当業者には理解されようが、ウェブクライアント16は、更に、ウェブクライアント16がウェブサイト20のコンテンツにアクセスしこれを見ることを可能とするためのウェブブラウザ(図示せず)を備える。
【0025】
通信チャネル14は、ウェブクライアント16をウェブサーバ12に結合し、好ましくは、インターネット等の、TCP/IP(伝送通信プロトコル/インターネットプロトコル)に基づくネットワークである。TCP/IPは、協働するコンピュータがネットワークを介してリソースまたはデータを共有することを可能とするプロトコルファミリである。当業者には認められようが、ウェブクライアント16は、複数の手段のいずれかを用いて通信チャネル14に接続することができる。例えば、ウェブクライアント16は、電話、ケーブル、または無線モデムを通じて、インターネットアクセスプロバイダを介して通信チャネル14に接続することができる。あるいは、ケーブルTVネットワークまたは別のアクセス媒体を介して接続を行うことも可能である。また、通信チャネル14は、インターネットに直接接続されたイントラネット、ローカルエリアネットワーク、またはワイドエリアネットワークである場合もある。
【0026】
ウェブサーバ12は、標準的なアプリケーションプロトコルであるHTTP(ハイパーテキスト転送プロトコル)を用いて、ウェブクライアント16が、ウェブサイト20上に位置するウェブページ22、ファイル、または他のデータにアクセスすることを可能とする。ウェブページ22は、業界標準のウェブページ記述言語であるHTML(ハイパーテキストマークアップ言語)フォーマットである。HTMLは、基本的な文書フォーマッティングを提供し、これによって、ウェブサーバ12は、他のウェブサイトおよび/またはファイルへのリンクを規定することができる。あるいは、ウェブページ22に、ASP(アクティブサーバページ)またはJSP(Java(R)サーバページ)等の他のフォーマットも用いることができる。また、ウェブサーバ12は、ウェブサイト20の生成および維持に役立つウェブサーバソフトウエアパッケージ18を含む。かかるウェブサーバソフトウエアパッケージ18の1つは、IBM社が販売するWCS Version5.1(登録商標)である。
【0027】
ウェブサイト20は、タイプIウェブページ28およびタイプIIウェブページ30を含む。タイプIウェブページ28は、全てのウェブクライアント16について同一であり、静的ウェブページおよびいくつかの動的に発生したウェブページを含む。一方、タイプIIウェブページ30は、所与のウェブクライアント16に固有のものであり、ショッピングカートウェブページおよび課金情報ウェブページを含む。ショッピンカートウェブページは、ウェブクライアント16がもうすぐ行う買い物についての詳細を含み、課金情報ウエブページは、住所情報等のウェブクライアントの情報を含む。タイプIIウェブページ30は、更に、タイプIIaウェブページ32およびタイプIIbウェブページ34に細分することができる。タイプIIaウェブページ32は、保護されたウェブページであり、無許可のユーザから守る必要がある機密情報を含み、一方、タイプIIbウェブページ34は、無許可のユーザから守るほど重要ではない情報を含むので、無保護のウェブページである。タイプIIaウェブページ32とタイプIIbウェブページ34との間の境界は、明確でなく、ウェブサイト20の管理者が規定するセキュリティ方針に依存する。例示の目的のため、タイプIIaウェブページ32の一例は、クレジットカード入力ウェブページであり、タイプIIbウェブページ34の一例は、製品説明ウェブページである。
【0028】
本発明の好適な実施形態では、データベース24は、リレーショナルデータベースであり、ウェブサイト20の管理および動作に必要な複数のテーブルを含む。当業者には理解されるように、データベース24は、ウェブサイト20上に常駐している必要はなく、実際、複数のシステム上の複数のファイルから成る場合がある。更に、オブジェクト指向データベース、ネットワークデータベース、階層データベース、またはフラットファイル集合等の、多くのタイプのデータベース構造を利用可能であることを、当業者は理解するだろう。
【0029】
本発明では、データベース24は、認証およびセッション管理の目的のために、USER_SESSIONテーブル36およびURL_REGISTRYテーブル38を含む。USER_SESSIONテーブル36は、ウェブクライアント16のためのセッション情報を管理するために用いられ、一方、URL_REGISTRYテーブル38は、ウェブクライアント16がウェブサイト20上の特定のウェブページ22に対するアクセスを要求した場合に、保護された通信プロトコルまたは無保護の通信プロトコルのどちらが必要であるかを判定するために用いられる。
【0030】
USER_SESSIONテーブル36内の各レコードは、個別のウェブクライアント16に関する情報を含む。この情報は、USER_SESSIONテーブル36に含まれる複数のフィールドに格納される(参照:図2)。本発明の好適な実施形態では、これらのフィールドは、USER_ID50、SESSION_ID52、SESSION_TIMESTAMP54、AUTHCODE56、AUTHCODE_TIMESTAMP58、USER_TYPE60、LOGIN_ID62、およびPASSWORD64である。個々のウェブクライアント16について、USER_ID50は、USER_SESSIONテーブル36においてウェブクライアント16を識別するための一意のキー値を含む。SESSION_ID52は、ウェブクライアント16とウェブサイト20との間の現在のウェブセッションを識別するためのストリングを含む。SESSION_TIMESTAMP54は、セッションクッキー40が生成または変更された時を示すタイムスタンプを含む。AUTHCODE56は、ウェブクライアント16のためのオースコード(すなわち認証コード)を含む。AUTHCODE_TIMESTAMP58は、オースコードクッキー42が生成または変更された時を示すタイムスタンプを含む。USER_TYPE60は、クライアント16がゲストクライアント44または登録クライアント46のどちらであるかを示す。ウェブクライアント16がウェブサイト20に登録している場合、LOGIN_ID62はログインIDを含み、PASSWORD64はパスワードを含む。あるいは、USER_SESSIONテーブル36に他のフィールドを追加して、ウェブクライアント16に関する更に別の情報を提供したり、よりいっそうの機能性を提供したり、またはウェブサイト20にこれ以上の高レベルのセキュリティを提供したりすることも可能である。
【0031】
URL_REGISTRYテーブル38内の各レコードは、ウェブサイト20上の異なるウェブページ22に関する情報を含む。ここで図3を参照すると、URL_REGISTRYテーブル38に含まれると好ましいフィールドは、URL_ADDRESS70およびHTTPS_FLAG72である。ウェブサイト20上の個々のウェブページ22について、URL_ADDRESS70は、ウェブページ22のURLアドレスを含み、HTTPS_FLAG72は、ウェブページ22が保護された通信プロトコルを必要とする場合は1の値、またはウェブページ22が保護された通信プロトコルを必要としない場合は0の値を含む。あるいは、URL_REGISTRYテーブル38に他のフィールドを追加して、ウェブページ22に関する更に別の情報を提供したり、またはウェブサイト20のセキュリティレベルを高めたりすることも可能である。
【0032】
ウェブサーバ12によって、ウェブクライアント16は、ウェブサイト20にアクセスしながら、ゲストクライアント44または登録クライアント46のいずれかとなることができるが、ウェブクライアント16は、ウェブサイト20にアクセスするたびにデフォルトでゲストクライアント44となる。単にウェブサイト20をブラウズしたいか、または一度買い物をしてその後は二度とウェブサイト20にアクセスしないウェブクライアント16のために、ウェブサイト20は、匿名のゲストクライアントステータスを認める。ゲストクライアント44は、ウェブサイト20のためのログインIDもパスワードも必要としないが、ゲストクライアント44は、ウェブサイト20をブラウズし、保護されたウェブページおよび無保護のウェブページの双方にアクセスし、製品を注文することができる。ゲストクライアント44は、ウェブサイト20で買い物をするたびに、配達先住所およびクレジットカード番号等のクライアントに固有の情報をたびたび再入力しなければならない。更に、ゲストクライアント44は、ウェブサイト20を再び訪れることも、以前の買い物(すなわち注文履歴)に関して問い合わせることもできない。
【0033】
登録クライアント46は、ウェブサイト20に登録し、登録クライアントとしてログインしているウェブクライアント16である。登録クライアントは、カスタマイズしたオンラインショッピング経験についてカスタマイズした明細を設定することができる。ゲストクライアント44は、登録フォーム(これは、ウェブサイト20の管理者によってカスタマイズすることができる)に記入することによって登録をすることができる。登録フォームは、ウェブクライアントの名前、住所、電子メールアドレス、好ましい支払方法、ログインIDおよびパスワード、ならびに他の情報を要求する場合がある。この情報は、後に検索または変更を行うため、データベース24内の、ウェブクライアント情報を含むテーブルに格納される。また、登録クライアント46に固有のクレジットカード情報も、データベース24に格納する。この情報を格納することによって、登録クライアント46は、買い物のたびにクレジットカード番号を再入力する必要がなくなる。
【0034】
ウェブサーバ12は、ウェブサーバ12とウェブクライアント16との間で送信されるセッションクッキー40およびオースコードクッキー42を生成するクッキー発生器26を有する。セッションクッキー40を送信する場合、通信プロトコルはHTTPまたはHTTPSのいずれかとすることができるが、オースコードクッキー42を送信する場合、通信プロトコルはHTTPSでなければならない。好適な実施形態では、ウェブサイト20は、保護された通信プロトコルとして、40または128ビットのキーのいずれかによってHTTPSを利用する。ウェブサイト20の管理者は、どちらのキーサイズを用いるかを決定する。好ましくは、128ビットのキーを用いるものとする。キーサイズを40または128ビットに制限することは発明者の意図ではなく、発明の時点で用いられている一般的な技術に基づいた提案である。HTTPSは、Netscape Navigator(登録商標)、Secure Mosaic(登録商標)、およびMicrosoft Internet Explorer(登録商標)等、多くのウェブブラウザ上で実現される。また、HTTPSは、Netscape、Microsoft、およびIBM Quarterdeckによって製造されるウェブサーバ上で実現される。
【0035】
セッションクッキー40はセッション管理を担い、一方、オースコードクッキー42は認証を担う。好適な実施形態では、セッションクッキー40およびオースコードクッキー42は一時的なクッキーであり、ウェブクライアント16がウェブブラウザを閉じた場合に消去される。あるいは、セッションクッキー40を、ウェブクライアント16のコンピュータシステム上に永久に格納するように規定することも可能であるが、オースコードクッキー42は、セキュリティ上の理由のため、必ず一時的なものとする。
【0036】
先に説明したように、クッキーは以下の属性を備える。すなわち、NAME、DATE、PATH、DOMAIN、およびSECUREである。セッションクッキー40のNAME属性で用いられるデータは、好ましくは、USER_ID50、SESSION_ID52、およびSESSION_TIMESTAMP54に含まれるデータから成る。所望の場合は、他の任意選択的な情報(図示せず)をセッションクッキー40のNAME属性に含ませることも可能である。USER_ID50からのデータは、USER_SESSIONテーブル36に格納されたウェブクライアント16のためのデータにアクセスするのに用いられる一意のキーである。SESSION_ID52は、暗号乱数発生器によってランダムに発生されるストリングである。暗号乱数発生器は、発生する数の値を誰も予測することができないという極めて重要な特性を有する。本発明の好適な実施形態では、暗号乱数発生器は、あらゆる市販のCコンパイラにおいて利用可能なC標準ライブラリにおけるrand()関数である。rand()関数は数を発生するだけであるが、ランダムに発生した数を26で除算し、この除算動作の余りをアルファベットの文字にマッピングし、これによって、余り0が文字Aにマッピングされ、余り1が文字Bにマッピングされ、余り2が文字Cにマッピングされる等とすることで、ランダムに発生した数をアルファベットの文字にマッピングすることによって、ランダムなストリングも発生することができる。例示の目的のためであるが、10文字を有するストリングが望ましい場合、26で除算してその余りを文字にマッピングするというこの数発生プロセスを10回繰り返す。SESSION_TIMESTAMP54からのデータは、セッションクッキー40を生成または変更した時を示すタイムスタンプであり、これは、ウェブクライアント16がゲストクライアント44としてログオンし、登録して登録クライアント46になるか、または登録クライアント46としてログオンする場合に発生する。SESSION_TIMESTAMP54からのデータをセッションクッキー40に含めて、時間によって変化する情報を提供し、これによって、セッションクッキー40を更に固有のものとし、このため複製しにくくすることで、ウェブサイト20のセキュリティを高める。
【0037】
セッションクッキー40のNAME属性に含まれるデータを発生するには、SESSION_TIMESTAMP54からのデータをSESSION_ID52の最後に追加し、一方向MD5ハッシュ関数を適用し、MD5ハッシュ関数の結果をUSER_ID50からのデータの最後に追加する。MD5一方向ハッシュ関数は、様々な長さの入力ストリングを取り、それを128ビットの二進シーケンスに変換する。MD5一方向ハッシュ関数は、ハッシュプロセスを逆転させてハッシュされた入力ストリングを得ることが難しいように設計されている。好適な実施形態では、RSA Laboratoriesが開発したBSAFE(登録商標)ツールキットからのMD5一方向ハッシュ関数を用いる。セッションクッキー40のPATH属性は、「/」として規定される。これは、ウェブクライアント16がウェブサイト20上のいずれかのURLパスへのアクセスを要求した場合に、ウェブクライアント16のウェブブラウザがウェブサーバ12にセッションクッキー40を送り返さなければならないことを意味する。セッションクッキー40は一時的なものであるので、EXPIRES属性は規定されない。ウェブクライアント16のウェブブラウザはウェブサーバ12のドメイン名を用いるので、DOMAIN属性は規定されない。ウェブクライアント16のウェブブラウザとウェブサイト12との間でセッションクッキー40を送信する場合に保護された通信プロトコルは必要でないので、SECURE属性は規定されないままである。ウェブクライアント16が登録クライアント46である場合は、次回ウェブクライアント16がウェブサイト20にアクセスする時、SESSION_ID52に含まれるデータを用いてセッションクッキー40を発生するが、ウェブクライアント16が単にゲストクライアント44であるならば、セッションクッキー40を発生する場合、SESSION_ID52に格納された新たなデータを用いる。
【0038】
オースコードクッキー42のNAME属性に用いられるデータは、好ましくは、AUTHCODE56およびAUTHCODE_TIMESTAMP58に格納されたデータから成る。所望の場合は、他の任意選択的な情報(図示せず)をオースコードクッキー42のNAME属性に含ませることも可能である。AUTHCODE56におけるデータは、好ましくは、セッションクッキー40についてSESSION_ID52に含まれるデータを発生するために用いられる同じ暗号乱数発生器によって発生した、ランダムに発生したストリングまたは整数である。あるいは、異なる暗号乱数発生器を用いることも可能である。AUTHCODE_TIMESTAMP58に含まれるデータは、オースコードクッキー42を生成または変更した時を示すタイムスタンプである。これは、ウェブクライアント16が最初にゲストクライアントとして保護されたウェブページ32にアクセスし、登録クライアント46になったか、または登録クライアント46としてウェブサイト20にログオンする場合に発生する。AUTHCODE_TIMESTAMP58に含まれるデータは、セッションクッキー40について上述した同じセキュリティ上の目的で、オースコードクッキー42に含まれる。
【0039】
オースコード42のNAME属性におけるデータを発生するには、AUTHCODE_TIMESTAMP58に格納されたデータをAUTHCODE56の最後に追加し、一方向MD5ハッシュ関数を適用する。オースコードクッキー42が一時的なものであるため、EXPIRES属性は規定されない。ウェブクライアント16のウェブブラウザがウェブサーバ12のドメイン名を用いるので、DOMAIN属性は規定されない。ウェブクライアント16のウェブブラウザとウェブサーバ12との間でオースコードクッキー42を送信する場合に保護された通信プロトコルが必要であるので、SECURE属性は規定される。オースコードクッキー42のPATH属性は、「/」として規定され、これは、ウェブクライアント16がウェブサイト20上のいずれかのURLパスに対するアクセスを要求する場合はいつでも、ウェブクライアント16のウェブブラウザがオースコードクッキー42をウェブサーバ12に送信しなければならないことを意味する。しかしながら、SECURE属性が設定されるので、オースコードクッキー42は、ウェブクライアント16のウェブブラウザが用いる通信プロトコルが保護されている場合にのみ送信される。
【0040】
ウェブクライアント16は、ウェブサイト20にアクセスする場合、ゲストクライアント44または登録クライアント46のいずれかであり得る。デフォルトで、ウェブクライアント16がウェブサイト20にアクセスするたびに、ウェブクライアント16はゲストクライアント44として見なされる。そして、ウェブクライアント16は、ゲストクライアント44のままであるか、または登録して登録クライアント46になるか、またはウェブクライアント16が以前にウェブサイト20に登録していた場合には登録クライアント46としてログオンすることができる。あらゆる場合において、ウェブクライアント16は、ウェブブラウザを用いてウェブサイト20上のウェブページ22を見る。ウェブブラウザは、Netscape Navigator(登録商標)、Microsoft Internet Explorer(登録商標)、または他のいずれかの適切なウェブブラウザとすることができる。ウェブクライアント16は、ネットワークアドレスを規定する特別な構文であるウェブサイト20のURLを要求することで、ウェブサイト20に接続する。ウェブクライアント16がURLを要求すると、ウェブクライアント16のウェブブラウザは、要求されたURLを、ウェブクライアント16のコンピュータシステム上に格納された全てのクッキーと比較し、ウェブサイト20に対する要求には、全ての合致するクッキーの名前/値の対を含む行が含まれる。ウェブクライアント16がウェブブラウザにおいてクッキーの使用をディゼーブルしていると、ウェブクライアント16はウェブサイト20にアクセスすることができない。この場合、ウェブサーバ12は、ウェブクライアント16に、ウェブブラウザ上でクッキー使用をイネーブルしなければならないことを知らせる。
【0041】
本発明の方法は、いくつかのコンポーネントプロセスおよび基本的な定義に基づいている。第1に、ウェブサイト20は、ウェブクライアント16が保護されたウェブページ32へのアクセスを要求した場合、HTTPSの使用を強制する。第2に、ウェブサイト20上のログインおよび登録ウェブページは、保護されたウェブページ32として規定される。ここで、コンポーネントプロセスを、擬似コードフォーマットで示し、検討する。
【0042】
ウェブクライアント16とウェブサイト20との間で保護された通信プロトコルまたは無保護の通信プロトコルのどちらが必要であるかをウェブサイト20が判定するプロセスのための擬似コードを、プロセスAとして以下に示す。
【0043】
【表1】
Figure 2004514996
【0044】
プロセスAは、ウェブクライアント16がウェブサイト20上のウェブページ22に対するアクセスを要求すると開始する。次いで、ウェブサーバ12は、ウェブページ22のURLを判定し、これを、URL_REGISTRYテーブル38のキーとして用いて、ウェブページ22に対応したHTTPS_FLAG72に含まれる値を取得する。HTTPS_FLAG72に含まれる値がゼロである場合、HTTPSは必要でなく、ウェブクライアント16がHTTPまたはHTTPSのどちらを用いているかに関わらず、ウェブクライアント16の要求を処理する。または、HTTPS_FLAG72が1の値を含む場合、ウェブサーバ12は、ウェブクライアント16のウェブブラウザに、ウェブページ22に対応する保護されたウェブサイトURLに行くように指示する。これを行うには、ウェブサーバ12がウェブクライアント16のウェブブラウザに送信するHTTPヘッダ内に、保護されたウェブサイトURLを提供する。ウェブクライアント16のウェブブラウザは、送信されたURL内に「https」が含まれているので、HTTPSを用いることを知る。次いで、ウェブクライアント16のウェブブラウザは、HTTPSを用いてウェブページ22へのアクセスを要求し、その後、要求が処理される。好適な実施形態では、ウェブクライアント16がHTTPを用いている間に保護されたウェブページ32へのアクセスが要求されると、通信プロトコルをHTTPからHTTPSに切り替えなければならないが、ウェブクライアント16がHTTPSを用いていて無保護のウェブページ34へのアクセスを要求している場合、通信プロトコルはそのままにされる。あるいは、ウェブサイト20の管理者は、ウェブサーバソフトウエア18を用いてこの機構を変更して、HTTPSが用いられていてウェブクライアント16が無保護のウェブページ34にアクセスを要求した場合に通信プロトコルをHTTPに切り替えるようにすることができる。
【0045】
ウェブクライアント16が初めてウェブサイト20にアクセスするか、またはウェブサイト20を再び訪れ、セッションクッキー40を有しておらず、登録クライアント46ではない場合に、ゲストクライアントアカウントまたはセッションクッキーを生成するために用いられる別のプロセス。このプロセスのための擬似コードをプロセスBとして示す。
【0046】
【表2】
Figure 2004514996
【0047】
プロセスBは、ウェブサーバ12が、新たなレコードを追加することでUSER_SESSIONテーブル36においてゲストクライアントエントリを生成する場合に開始する。USER_SESSIONテーブル36における新たなレコードの生成は、新たなキー値を発生し、これをUSER_SESSIONテーブル36に新たに生成したレコードのUSER_ID50に格納することを含む。次に、新たに形成したゲストクライアントエントリのため、USER_TYPE60に、「ゲスト」または別の適切な識別子を格納する。次いで、SESSION_ID52のため、先に説明した暗号乱数発生器によって、好ましくはストリングであるデータをランダムに発生し、SESSION_ID52に格納する。次に、SESSION_TIMESTAMP54についてのデータを計算し、SESSION_TIMESTAMP54に格納する。次いで、好ましくは一方向のMD5ハッシュ関数を適用して、SESSION_ID52およびSESSION_TIMESTAMP54に含まれるデータを連結する(SESSION_TIMESTAMP54に含まれるデータを、SESSION_ID52に含まれるデータの最後に追加する)。あるいは、異なるハッシュ関数を用いることも可能である。当技術分野において、多くのハッシュ関数が周知であり、基本的な参考文献は、Donald E.Knuthによる「The Art of Computer Programming,Volume 3: Searching and Sorting」である。この中で、Knuth教授は、ハッシュ関数を生成する数学的処理に関して独創的な考察を行っている。MD5ハッシュ関数の結果を、USER_ID50に含まれるデータと連結し、セッションクッキー40のNAME属性に格納する。次いで、ウェブサーバ12は、セッションクッキー40の他の属性を指定し、セッションクッキー40をウェブクライアント16のウェブブラウザに送信する。
【0048】
オースコードクッキー42の生成のため、別のコンポーネントプロセスを用いる。これは、通常、ゲストクライアント44が保護されたウェブページ32にアクセスを要求し、HTTPS通信プロトコルを用いているがオースコードクッキー42を有しない場合に起こる。このプロセスのための擬似コードをプロセスCとして示す。
【0049】
【表3】
Figure 2004514996
【0050】
プロセスCは、USER_ID50に格納されたデータに対応するセッションクッキー40のNAME属性からのデータを抽出することで開始する。次いで、このデータを、USER_SESSIONテーブル36へのキーとして用いて、ゲストクライアント44のためのAUTHCODE56に認証コードが含まれているか否かを判定する。認証コードがAUTHCODE56に含まれている場合、ウェブクライアント16は無許可ユーザである場合があるので、ウェブサーバ12は要求を拒否し、エラーウェブページを発生し、このエラーウェブページをゲストクライアント44のウェブブラウザに送信する。あるいは、AUTHCODE56が空である場合には、先に説明した暗号乱数発生器によって、好ましくはストリングまたは整数であるAUTHCODE56のためのデータをランダムに発生する。次いで、このデータをAUTHCODE56に格納する。次に、現在のタイムストランプを、AUTHCODE_TIMESTAMP58に格納する。次いで、好ましくはMD5一方向ハッシュ関数を適用して、AUTHCODE56およびAUTHCODE_TIMESTAMP58に含まれるデータを連結する(AUTHCODE_TIMESTAMP58に含まれるデータを、AUTHCODE56に含まれるデータの最後に追加する)。あるいは、上述のように、異なるハッシュ関数を用いることも可能である。次いで、MD5ハッシュ関数の結果を、オースコードクッキー42のNAME属性に格納する。オースコードクッキー42の属性の残りを指定し、次いで、ウェブサーバ12は、オースコードクッキー42をゲストクライアント44のウェブブラウザに送信する。
【0051】
別のコンポーネントプロセスは、ゲストクライアント44がウェブサイト20をブラウズしている間に登録クライアント46になることを決めた場合を扱う。擬似コードを、プロセスDとして以下に示す。
【0052】
【表4】
Figure 2004514996
【0053】
プロセスDは、ゲストクライアント44を登録ウェブページに誘導することで開始し、このページで彼らは機密情報を提供すると共にログインIDおよびパスワードを選択する。次いで、USER_ID50に格納されたデータに対応するセッションクッキー40のNAME属性からのデータを抽出して、これを用いて、USER_SESSIONテーブル36の正しいゲストクライアントエントリにアクセスする。次いで、USER_TYPE60の値を、ゲストクライアント44のための「登録」または別の適切な識別子に変更する。ここから、ゲストクライアント44は登録クライアント46と見なされる。SESSION_TIMESTAMP84のタイムスタンプを更新する。次いで、SESSION_TIMESTAMP54に含まれる新たなデータを用いて、セッションクッキー40を変更する。次に、オースコードクッキー42が存在しない場合にはこれを生成し、その他の場合にはこれを変更する。次いで、AUTHCODE_TIMESTAMP58に格納されたタイムスタンプを更新し、この更新したタイムスタンプを用いてオースコードクッキー42のNAME属性を変更することで、オースコードクッキー42を変更する。次いで、セッションクッキー40およびオースコードクッキー42を、登録クライアント46のウェブブラウザに送信する。次いで、登録ウェブページにおいて入力されたデータから、登録クライアント46が入力したログインID、パスワード、および他の重要な情報を取得する。ログインIDを、USER_SESSIONテーブル36のLOGIN_ID62に格納し、パスワードを、USER_SESSIONテーブル36のPASSWORD64に格納する。他に取得した情報は、データベース24の他の場所に格納する。
【0054】
別のコンポーネントプロセスは、ウェブサイト20にすでに登録したゲストクライアント44がログオンして登録クライアント46として認識される状況を扱う。擬似コードを、プロセスEとして示す。
【0055】
【表5】
Figure 2004514996
【0056】
プロセスEは、ゲストクライアント44がウェブサイト20上のログインウェブページに誘導された場合に開始し、このページで彼らはログインIDおよびパスワードを入力する。ログインIDおよびパスワードが有効でない場合、ウェブサーバ12は、ゲストクライアント44に、無効なIDおよび/またはパスワードが入力されたこと、ならびに、ゲストクライアント44はこの情報を再入力しなければならないことを知らせる。当業者には認められようが、ログインプロセスは、ある回数の無効なログインの試みが行われた後に終了させることができる。正しいログインIDおよびパスワードが入力されると、このログインIDおよびパスワードを用いて、USER_SESSIONテーブル36において正しいゲストクライアントエントリを見つける。次に、SESSION_TIMESTAMP54のタイムスタンプを更新し、次いで、この新たなタイムスタンプ値に基づいてセッションクッキー40を更新する。次に、AUTHCODE_TIMESTAMP58のタイムスタンプを更新し、次いで、この新たなタイムスタンプ値に基づいてオースコードクッキー42を更新する。次に、セッションクッキー40およびオースコードクッキー42を、ゲストクライアント44のウェブブラウザに送信する。最後のステップは、ウェブサイト20に最初にアクセスした時にゲストクライアント44のために設置したゲストクライアントアカウントを削除する任意選択的なステップである。あるいは、ウェブサイト20の管理者は、ウェブサーバソフトウエアパッケージ18が提供する他のユーティリティを用いて、新鮮でなくなった(すなわち、2日間等、所定の時間量だけ用いられていない)ゲストクライアントアカウントを除去することも可能である。
【0057】
別のコンポーネントプロセスは、ウェブクライアント16がウェブサイト20上の無保護のウェブページ34に対するアクセスを要求した場合にセッションクッキー40を検証するために用いられる。このプロセスによって、セッションクッキー40が改ざんされていないことが保証される。擬似コードを、プロセスFとして以下に示す。
【0058】
【表6】
Figure 2004514996
【0059】
プロセスFは、USER_ID50に格納されたデータに対応するセッションクッキー40のNAME属性からのデータを抽出することで開始する。次いで、このデータを用いて、USER_SESSIONテーブル36においてウェブクライアント16のためのエントリを見つけて、SESSION_ID52およびSESSION_TIMESTAMP54の格納値を得る。これらの格納値を用いて、セッションクッキー40を再発生する。次いで、再発生したセッションクッキー40を、ウェブクライアント16が提供するセッションクッキー40と比較する。比較結果が等しい場合、ウェブクライアント16の要求を処理する。しかしながら、比較の結果が等しくない場合、ウェブクライアント16は無許可のユーザである場合があるので、ウェブサーバ12は、無保護のウェブページ34にアクセスするウェブクライアント16の要求を拒否し、ウェブクライアント16のウェブブラウザにエラーウェブページを送信する。
【0060】
別のコンポーネントプロセスは、ウェブクライアント16がウェブサイト20上の保護されたウェブページ32に対するアクセスする要求をした場合にオースコードクッキー42を検証するために用いられる。このプロセスは、オースコードクッキー42が改ざんされていないことを保証する。このプロセスでは、ウェブクライアント16は、HTTPS通信プロトコルを用いており、セッションクッキー40およびオースコードクッキー42の双方を有する。擬似コードを、プロセスGとして以下に示す。
【0061】
【表7】
Figure 2004514996
【0062】
プロセスGは、USER_ID50に格納されたデータに対応するセッションクッキー40のNAME属性からのデータを抽出することで開始する。次いで、このデータを用いて、USER_SESSIONテーブル36においてウェブクライアント16のためのエントリを見つけ、AUTHCODE56およびAUTHCODE_TIMESTAMP58に含まれた格納値を得る。これらの格納値を用いて、オースコードクッキー42を再発生する。次いで、再発生したオースコードクッキー42を、ウェブクライアント16が提供するオースコードクッキー42と比較する。比較の結果が等しければ、ウェブサーバ12はウェブクライアント16の要求を処理する。比較の結果が等しくなければ、ウェブクライアント16は無許可のユーザである場合があるので、ウェブサーバ12は保護されたウェブページ32にアクセスするウェブクライアント16の要求を拒否し、ウェブクライアント16のウェブブラウザにエラーウェブページを送信する。
【0063】
別のコンポーネントプロセスは、登録クライアント46がウェブサイト20からログアウトする場合を扱うために用いられる。擬似コードを、プロセスHとして以下に示す。
【0064】
【表8】
Figure 2004514996
【0065】
プロセスHは、登録クライアント46がウェブサイト20からログアウトすることを選択した場合に開始する。次に、ウェブサーバ21は、全ての属性がNULL値を含むように、セッションクッキー40およびオースコードクッキー42を更新する。次いで、ウェブサーバ12は、更新したセッションクッキー40および更新したオースコードクッキー42を、登録クライアント46のウェブブラウザに送信する。あるいは、登録クライアント46は、ログアウトせず、単に別のウェブサイトを訪問する場合もある。この場合、セッションクッキー40およびオースコードクッキー42は双方とも、登録クライアント46が用いるウェブブラウザのメモリに残る。登録クライアント46がウェブサイト20を再び訪問すると、登録クライアント46のウェブブラウザは、セッションクッキー40をウェブサーバ12に送り返す。あるいは、登録クライアント46は、ウェブサイト20をログアウトすることなく彼らのウェブブラウザアプリケーションを単に終了する場合もある。この場合、セッションクッキー40およびオースコードクッキー42は、好ましくは一時的なクッキーであるので、破棄される。
【0066】
別のコンポーネントプロセスは、登録クライアント46が保護されたウェブページ32に対するアクセスを要求するがオースコードクッキー42を有しない状況を扱う。擬似コードを、プロセスIとして以下に示す。
【0067】
【表9】
Figure 2004514996
【0068】
プロセスIは、すでにウェブサイト20に登録したウェブクライアント16(すなわち以前に登録したウェブクライアント16)が、保護されたウェブページ32にアクセスしようとするが、まだウェブサイト20にログオンしておらず、彼らが登録クライアント46であることが示される場合に開始する。次に、以前に登録したウェブクライアント16をチェックして、彼らがオースコードクッキー42を有するか否かを調べる。以前に登録したウェブクライアント16はオースコードクッキー42を有しないので、以前に登録したウェブクライアント16は、ログインウェブページにおいて彼らのログインIDおよびパスワードを入力することでウェブサイト20にログオンするよう強制される。次に、ログインIDおよびパスワードを検証する。検証ができないと、ウェブサーバ12は保護されたウェブページ32に対する以前に登録したウェブクライアント16のアクセスの要求を拒否し、以前に登録したウェブクライアント16のウェブブラウザにエラーウェブページを送信する。しかしながら、ログインIDおよびパスワードが有効であれば、オースコードクッキー42を生成し、以前に登録したウェブクライアント16のウェブブラウザに送信する。そして、以前に登録したウェブクライアント16は、登録クライアント46として認識される。次いで、保護されたウェブページ32に対する登録クライアント46のアクセスの要求を処理する。
【0069】
実際、本発明において概説するセッション管理および認証方式に従って、ウェブサイト20には3つの一般的な使用状況がある。概して、ウェブクライアント16がウェブサイト20にアクセスし、ウェブサイト20とのセッション全体を通じてゲストクライアント44である(図4および5を参照のこと)、または、ウェブクライアント16がウェブサイト20にアクセスし、登録クライアント46になる(図6、図7、および図8を参照のこと)、または、ウェブクライアント16がウェブサイト20にアクセスし、すでに登録されていて、登録クライアント46としてログオンする(図9および10を参照のこと)。図4、5、6、7、8、9、および10は、ウェブクライアント16が最初に複数の無保護のウェブページ34にアクセスし、その後で複数の保護されたウェブページ32にアクセスすることを図示するが、その逆もまた起こり得ること、すなわち、ウェブクライアント16が最初に複数の保護されたウェブページ32にアクセスし、その後で複数の無保護のウェブページ34にアクセスすることもあり得ることに留意されたい。あるいは、ウェブクライアント16は、無保護のウェブページ34および保護されたウェブページ32に対する要求を交互に行う場合もある。実際、多くの使用例があり得るが、簡略化のため、図6ないし8には少数のみを示す。
【0070】
ここで図4および5を参照すると、この状況は、ウェブクライアント16がウェブサイト20にアクセスするステップ80において開始する。デフォルトで、ウェブクライアント16は、ゲストクライアント44と規定される。次に、ステップ82で、ゲストクライアント44のために、USER_SESSIONテーブル36におけるゲストクライアントアカウントおよびセッションクッキー40を生成する。次いで、ゲストクライアント44は先へ進み、ステップ84において、無保護のウェブページ34へのアクセスを要求する。次いで、ステップ86で、セッションクッキー40を検証する。セッションクッキー40が有効でない場合、制御はステップ88に移り、ここで、ウェブサーバ12は、ゲストクライアント44の無保護のウェブページ34に対するアクセスの要求を拒否し、ゲストクライアント44のウェブブラウザにエラーウェブページを送信する。一方、セッションクッキー40が有効である場合には、制御はステップ90に移り、ここで、ゲストクライアント44は無保護のウエウページ34にアクセスする。そして、ゲストクライアント44は、多数の無保護のウェブページ34にアクセスすることができるが、セッションクッキー40の検証は各アクセス要求ごとに行われる。いずれ、ステップ94で、ゲストクライアントは、保護されたウェブページ32に対するアクセスを要求する。次いで、ステップ95で、ウェブサーバ12は、ゲストクライアント44がHTTPSを用いているか否かを調べる。HTTPSが用いられていない場合、ステップ96で、ウェブサーバ12は、ゲストクライアント44のウェブブラウザに、HTTPSの使用を知らせる。ステップ98でHTTPS接続が検証されない場合、ステップ100で、ウェブサーバ12は、保護されたウェブページ32を見るゲストクライアント44の要求を拒否し、ゲストクライアント44のウェブブラウザにエラーウェブページを送信する。あるいは、ゲストクライアント44がHTTPSを用いている場合、ステップ102で、ウェブサーバ12は、USER_SESSIONテーブル36のAUTHCODE56に認証コードがあるか否かを調べることで、ゲストクライアント44がオースコードクッキー42を必要とするか否かを調べる。ゲストクライアント44がすでに認証コードを有する場合、制御はステップ104に移り、ここでウェブサーバ12は保護されたウェブページ32に対するゲストクライアント44のアクセスの要求を拒否する。なぜなら、ゲストクライアント44はこの時点で無許可のユーザである恐れがあるからである。そして、ゲストクライアント44のウェブブラウザにエラーウェブページを送信する。しかしながら、ゲストクライアント44が認証コードを有しない場合、制御はステップ106に移り、ここでオースコードクッキー42を生成し、ゲストクライアント44に送信する。そして、ゲストクライアント44は、保護されたウェブページ32にアクセスすることができる。次に、ステップ108において、ゲストクライアント44は、ウェブサイト20上の別の保護されたウェブページ32に対するアクセスを要求する。この時、ステップ110で、ゲストクライアント44のオースコードクッキー42を調べて、これが有効であるか否かを見る。オースコードクッキー42が有効でない場合、プロセスはステップ112に移り、ここで、ウェブサーバ12は保護されたウェブページ32に対するアクセスの要求を拒否し、ゲストクライアント44のウェブブラウザにエラーウェブページを送信する。一方、オースコードクッキー42が有効である場合、ステップ114で、ゲストクライアント44は保護されたウェブページ32にアクセスすることができる。そして、ゲストクライアント44は、多数の他の保護されたウェブページ32にアクセスすることができるが、オースコードクッキー42の検証は各アクセス要求ごとに行われる。次に、ステップ118において、ゲストクライアント44は何か買い物をし、ステップ120で、購入した品物の支払いをし、配達情報を提供する。次いでステップ122で、ゲストクライアント44は、彼らのウェブブラウザを単に閉じるか、または異なるウェブサイトにアクセスするかによって、ウェブサイト20を去る。いったんゲストクライアント44のウェブブラウザが閉じると、セッションクッキー40およびオースコードクッキー42は一時的なクッキーであるので消去される。
【0071】
ここで図6、7、および8を参照すると、この状況は、ウェブクライアント16がウェブサイト20にアクセスするステップ130で開始する。デフォルトで、ウェブクライアント16は、ゲストクライアント44として規定される。次に、ステップ132では、USER_SESSIONテーブル36においてゲストクライアントアカウントを生成し、セッションクッキー40も生成する。次いで、セッションクッキー40を、ゲストクライアント44のウェブブラウザに送信する。次いで、ステップ134において、ゲストクライアント44は、登録クライアント46になることを決める。次いで、ステップ136において、ウェブサーバ12は、ゲストクライアント44によってHTTPSが用いられているか否かを調べる。用いられていない場合、プロセスはステップ138に移り、ここで、ウェブサーバ12は、ゲストクライアント44のウェブブラウザに、HTTPSの使用を知らせる。ステップ140で、HTTPS接続の使用を調べる。HTTPSが用いられていない場合、プロセスはステップ142に移り、ここで、ウェブサーバ12は、ゲストクライアント44の登録ユーザになる要求を拒否し、ゲストクライアント44のウェブブラウザにエラーウェブページを送信する。一方、ゲストクライアント44によってHTTPSが用いられている場合、制御はステップ144に移り、ここで、ゲストクライアント44のためにオースコードクッキー42を生成する。次に、ステップ146において、ゲストクライアント44は、ウェブサイト20上の登録ウェブページに誘導され、ここでゲストクライアント44はクライアント情報を提供する。ステップ148では、登録クライアントアカウントを生成し、ゲストクライアント44は登録クライアント46になる。次いで、ステップ150に示すように、登録クライアント46は無保護のウェブページ34にアクセスすることができる。この時、ステップ152において、ウェブサーバ12は登録クライアント46のセッションクッキー40を検証する。セッションクッキー40が有効でない場合、制御はステップ154に移り、ここで、ウェブサーバ12は、無保護のウェブページ34に対する登録クライアント46のアクセスの要求を拒否し、登録クライアント46のウェブブラウザにエラーウェブページを送信する。一方、セッションクッキー40が有効である場合、ステップ156で登録クライアント46は無保護のウェブページ34にアクセスすることができる。次いで、登録クライアント46は次に進んで、他の無保護のウェブページ34にアクセスすることができるが、セッションクッキー40の検証は各アクセス要求ごとに行われる。ステップ160では、登録クライアント46は保護されたウェブページ32に対するアクセスを要求し、この後、ステップ162で、ウェブサーバ12は、登録クライアント46がHTTPSを用いているか否かを調べる。HTTPSが用いられていない場合、ステップ164において、ウェブサーバ12は、登録クライアント46のウェブブラウザに、HTTPSに切り替えることを知らせる。次いで、ステップ166で、HTTPSの使用を調べる。登録クライアント46がHTTPSを用いていない場合、プロセスはステップ168に移り、ここで、ウェブサーバ12は、保護されたウェブページ32に対する登録クライアント46のアクセスの要求を拒否し、登録クライアント46のウェブブラウザにエラーウェブページを送信する。一方、HTTPSが用いられている場合、制御はステップ170に移り、ウェブサーバ12は、オースコードクッキー42を検証する。オースコードクッキー42有効でない場合、制御はステップ172に移り、ここで、ウェブサーバ12は、保護されたウェブページ32に対する登録クライアント46のアクセスの要求を拒否し、登録クライアント46のウェブブラウザにエラーウェブページを送信する。一方、オースコードクッキー42が有効である場合、ステップ174において、登録クライアント46は保護されたウェブページ32にアクセスすることができる。次いで、登録クライアント46は、次に進んで、多数の保護されたウェブページ32にアクセスすることができるが、オースコードクッキー42の検証は各アクセス要求ごとに行われる。ステップ178に見られるように、登録クライアント46は買い物を行うこともできる。次いで、ステップ180で登録クライアント46が買い物をすると、登録クライアント46はその買い物の支払いをし、ウェブサーバ12は行われた買い物に関するデータをデータベース24に格納する。次に、ステップ182において、登録クライアント46は、ウェブサイト20からログアウトするか、別のウェブサイトにアクセスするか、または単に彼らのウェブブラウザアプリケーションを終了する。登録クライアント46が行った選択に関わらず、いったん登録クライアント46が彼らのウェブブラウザアプリケーションを終了すると、セッションクッキー40およびオースコードクッキー42は好ましくは一時的なクッキーとして規定されているので、破棄される。
【0072】
ここで図9および10を参照すると、この状況は、すでにウェブサイト20に登録しているウェブクライアント16がウェブサイト20にアクセスするステップ190で開始する。ウェブクライアント16は、デフォルトで、ゲストクライアント44として規定される。次いで、USER_SESSIONテーブル36においてゲストクライアントアカウントを生成し、セッションクッキー40を生成し、ゲストクライアント44に送信する。次いで、ステップ192において、ゲストクライアント44はログオンすることを決め、この時、ステップ194で、ウェブサーバ12は、ゲストクライアント44がHTTPSを用いているか否かを判定しなければならない。用いていない場合、ステップ196で、ウェブサーバ12は、ゲストクライアント44のウェブブラウザに、HTTPSの使用を知らせる。ステップ198で、HTTPSの使用を調べる。HTTPSが用いられていない場合、プロセスはステップ200に移り、ここで、ウェブサーバ12は、ゲストクライアント44のログオンの要求を拒否し、ゲストクライアント44のウェブブラウザにエラーウェブページを送信する。一方、ゲストクライアント44がHTTPSを用いている場合、プロセスはステップ202に移り、ここで、オースコードクッキー42を生成または更新し、ゲストクライアント44のウェブブラウザに送信する。次に、ステップ204において、ゲストクライアント44はログオンし、登録クライアント46になる。次いで、ステップ206で、登録クライアント46は、ウェブサイト20上の無保護のウェブページ34にアクセスすることができる。この時、ステップ208で、ウェブサーバ12はセッションクッキー40を検証する。検証がうまくいかないと、プロセスはステップ210に移り、ウェブサーバ12は、無保護のウェブページ34に対する登録クライアント46のアクセスの要求を拒否し、登録クライアント46のウェブブラウザにエラーウェブページを送信する。一方、セッションクッキー40が有効である場合、プロセスはステップ212に移り、ここで、登録クライアント46は、無保護のウェブページ34にアクセスする。次いで、登録クライアント46は次に進んで、多数の無保護のウェブページ34にアクセスすることができるが、セッションクッキー40の検証は各アクセス要求ごとに行われる。次に、ステップ216は、登録クライアント46は、保護されたウェブページ32に対するアクセスを要求する。次いで、ステップ218において、ウェブサーバ21は、登録クライアント46によってHTTPSが用いられているか否かを調べる。HTTPSが用いられていない場合、ステップ220で、ウェブサーバ12は、登録クライアント46のウェブブラウザにHTTPSの使用を知らせる。ステップ222で、HTTPSの使用を調べる。HTTPSが用いられていない場合、プロセスはステップ224に移り、ここで、ウェブサーバ12は、保護されたウェブページ32に対する登録クライアント46のアクセスの要求を拒否し、登録クライアント46のウェブブラウザにエラーウェブページを送信する。一方、登録クライアント46がHTTPSを用いている場合、プロセスはステップ226に進み、ここでオースコードクッキー42を検証する。検証がうまくいかないと、プロセスはステップ228に進み、ウェブサーバ12は、保護されたウェブページ32に対する登録クライアント46のアクセスの要求を拒否し、登録クライアント46のウェブブラウザにエラーウェブページを送信する。一方、検証がうまくいくと、ステップ230で、登録クライアント46は、保護されたウェブページ32にアクセスすることができる。ステップ234に示すように、登録クライアント46は、買い物をすること、および/または彼らの注文履歴をチェックすることができる。何か買い物をした場合、ステップ236で、登録クライアント46は、これらの買い物の支払いをし、ウェブサーバ12は、これらの買い物に関するデータをデータベース24に格納する。次いで、ステップ238で、登録クライアント46は、ログアウトするか、異なるウェブサイトにアクセスするか、または単に彼らのウェブブラウザアプリケーションを終了することで、ウェブサイト20を去ることができる。登録クライアント46が行った選択に関わらず、いったん登録クライアント46が彼らのウェブブラウザアプリケーションを終了すると、セッションクッキー40およびオースコードクッキー42は、好ましくは一時的なクッキーとして規定されているので、破棄される。
【0073】
本発明において実現されるシステムおよび方法は、無許可のユーザがウェブサイト20またはウェブクライアント16に関する機密情報にアクセスすることを防ぐように設計されている。例えば、ウェブクライアント16がオースコードクッキー42を有しないゲストクライアント44である場合、すなわちゲストクライアント44が保護されたウェブページ32にアクセスしたことがない場合、ゲストクライアント44に関する秘密情報は存在しない。この場合、無許可のユーザは、有害な行為を行うことはできない。別の状況は、ウェブクライアント16がオースコードクッキー42を有するゲストクライアント44である(すなわち、ウェブクライアント16がすでに保護されたウェブページ32にアクセスしたことがある)という場合であろう。この場合、無許可のユーザの試みはうまくいかないはずである。なぜなら、無許可のユーザはセッションクッキー40を使用可能なだけであり、オースコードクッキー42を有しておらず、ウェブサーバ12はすでに、(USER_SESSIONテーブル36のAUTHCODE56を調べることで)ゲストクライアント44がオースコードクッキー42を有することを知っているからである。別の代替的な状況は、ウェブクライアント16が登録クライアント46であり、無許可のユーザがセッションクッキー40を用いて保護されたウェブページ32をブラウズしようとする場合であろう。無許可のユーザはオースコードクッキー42を有しないので、ウェブサーバ12は無許可のユーザをログインウェブページに再び誘導するが、この時点で、無許可のユーザは登録クライアント46のログインIDもパスワードも持っていないので、ログオンすることができない。
【0074】
要約すると、本発明は、ウェブクライアントがウェブサイトで無保護のウェブページまたは保護されたウェブページにそれぞれアクセスする場合に、無保護の(HTTP)または保護された(HTTPS)通信プロトコルのいずれかを使用可能とする。これによって、ウェブクライアントとウェブサイトとの間の安全かつ効率的なセッションを提供する。更に、2つの別個のクッキー、すなわちセッションクッキー(セッション管理用)およびオースコードクッキー(認証用)を用いる。また、セッションクッキーは、これがウェブクライアントに関する機密情報を含まないように設計されている。最後に、ウェブサイトは、ゲストクライアントまたは登録クライアントのいずれかのアクセスを可能とし、これによってウェブサイトの柔軟性が増し、ユーザにとって魅力が大きくなる。
【0075】
本発明を電子商取引ウェブサイトの文脈で説明したが、本発明の使用を電子商取引の使用のみに制限することは発明者の意図するところではないことを注記しておく。例えば、本発明を用いて、オンライン投票、クレジットカード番号の発行、オンライン株取引等、電子商取引でない機能のためのデータ交換を保証することができる。
【0076】
また、本発明は、ウェブサーバ12にセッション名前−値ペアを発生するよう指示して、このセッション名前−値ペアをウェブサイト20上の全てのウェブページ22に渡すことによって、ウェブサイトとウェブクライアントとの間の認証およびセッション管理のために名前−値ペアを利用するように容易に適合させることができる。また、ウェブサーバ12は、オースコード名前−値ペアを発生し、これをウェブサイト20上の全ての保護されたウェブページ32に渡す。
【0077】
ここで説明したことは、本発明の好適な実施形態として理解されよう。それにもかかわらず、本発明においては、上述の本発明の精神および上記の特許請求の範囲によって完全に理解されるいずれの変更および代替的な実施形態も可能である。
【図面の簡単な説明】
【図1】
本発明の構成要素の概略図である。
【図2】
USER_SESSIONテーブルに含まれるフィールドのデータ構成図である。
【図3】
URL_REGISTRYテーブルに含まれるフィールドのデータ構成図である。
【図4】
図5と共に、本発明の第1の使用状況のフローチャートを構成する。
【図5】
図4と共に、本発明の第1の使用状況のフローチャートを構成する。
【図6】
図7および8と共に、本発明の第2の使用状況のフローチャートを構成する。
【図7】
図6および7と共に、本発明の第2の使用状況のフローチャートを構成する。
【図8】
図6および7と共に、本発明の第2の使用状況のフローチャートを構成する。
【図9】
図10と共に、本発明の第3の使用状況のフローチャートを構成する。
【図10】
図9と共に、本発明の第3の使用状況のフローチャートを構成する。

Claims (53)

  1. ウェブサイトとウェブクライアントとの間の安全なセッション管理および認証の方法であって、前記ウェブサイトは保護されたウェブページおよび無保護のウェブページを有し、前記方法は、
    a)前記ウェブクライアントが前記無保護のウェブページに対するアクセスを要求した場合に無保護の通信プロトコルおよびセッションクッキーを利用するステップと、
    b)前記ウェブクライアントが前記保護されたウェブページに対するアクセスを要求した場合に保護された通信プロトコルおよびオースコードクッキーを利用するステップと、
    を具備する、方法。
  2. 前記方法は、更に、
    c)前記ウェブクライアントが前記無保護のウェブページに対するアクセスを要求した場合に前記ウェブクライアントから前記セッションクッキーを要求し、前記要求したセッションクッキーを検証するステップと、
    d)前記ウェブクライアントが前記保護されたウェブページに対するアクセスを要求した場合に前記ウェブクライアントから前記オースコードクッキーを要求し、前記要求したオースコードクッキーを検証するステップと、
    を具備する、請求項1の方法。
  3. 前記方法は、更に、前記ウェブクライアントが前記保護されたウェブページおよび前記無保護のウェブページに対するアクセスの要求を交互に行った場合、前記保護された通信プロトコルおよび前記無保護の通信プロトコルを交互に用いるステップを具備する、請求項2の方法。
  4. 前記保護された通信プロトコルおよび前記無保護の通信プロトコルを交互に用いることは、前記無保護のウェブページおよび前記保護されたウェブページの状況を常に記録しているテーブルによって容易になる、請求項3の方法。
  5. 前記ウェブクライアントが前記無保護のウェブページまたは前記保護されたウェブページのどちらに対するアクセスを要求したかに応じて、前記ウェブサイトは、前記テーブルを用いて、前記保護された通信プロトコルまたは前記無保護の通信プロトコルのいずれかを用いるように前記ウェブクライアントに指示する、請求項4の方法。
  6. 前記方法は、更に、前記ウェブクライアントがゲストクライアントまたは登録クライアントになることを可能とするステップを具備する、請求項3の方法。
  7. 前記方法は、更に、前記セッションクッキーに含まれるデータ、前記オースコードクッキーに含まれるデータ、および前記ウェブクライアントに関するデータを含む格納された情報を生成するステップを具備する、請求項6の方法。
  8. 前記無保護の通信プロトコルはHTTPである、請求項3の方法。
  9. 前記保護された通信プロトコルはHTTPSである、請求項3の方法。
  10. 前記セッションクッキーはポインタおよび暗号化部分を含み、前記ポインタは前記格納された情報を示し、前記暗号化部分はランダムな部分および日付部分を有する、請求項7の方法。
  11. 前記セッションクッキーは一時的なクッキーまたは永久的なクッキーのいずれかである、請求項10の方法。
  12. 前記オースコードクッキーは暗号化部分を含み、前記暗号化部分はランダムな部分および日付部分を有する、請求項7の方法。
  13. 前記オースコードクッキーは一時的なものである、請求項12の方法。
  14. 前記ウェブクライアントから前記要求したセッションクッキーを検証するステップは、前記格納された情報を用いて第2のセッションクッキーを発生し、前記第2のセッションクッキーを前記ウェブクライアントから要求した前記セッションクッキーと比較することを含む、請求項10の方法。
  15. 前記ウェブクライアントから前記要求したオースコードクッキーを検証するステップは、前記格納された情報を用いて第2のオースコードクッキーを発生し、前記第2のオースコードクッキーを前記ウェブクライアントから要求した前記オースコードクッキーと比較することを含む、請求項12の方法。
  16. ウェブサイトとウェブクライアントとの間の安全なセッション管理および認証のためのシステムであって、前記システムは、ウェブサーバと、ウェブクライアントと、通信チャネルとを具備し、前記ウェブサーバは前記通信チャネルを介して前記ウェブクライアントに結合され、前記ウェブサーバはウェブサイトを有し、前記ウェブサイトは、
    a)保護されたウェブページおよび無保護のウェブページと、
    b)前記ウェブクライアントが前記無保護のウェブページにアクセスすることを可能とする無保護の通信プロトコルおよびセッションクッキーと、
    c)前記ウェブクライアントが前記保護されたウェブページにアクセスすることを可能とする保護された通信プロトコルおよびオースコードクッキーと、
    を具備する、システム。
  17. 前記ウェブサイトは、更に、
    d)前記ウェブクライアントから前記セッションクッキーが要求された場合に前記セッションクッキーを検証するための検証手段と、
    d)前記ウェブクライアントから前記オースコードクッキーが要求された場合に前記オースコードクッキーを検証するための検証手段と、
    を含む、請求項16のシステム。
  18. 前記ウェブサーバは、更に、前記保護された通信プロトコルおよび前記無保護の通信プロトコルを交互に用いるためのセキュリティ交替手段を具備する、請求項17のシステム。
  19. 前記ウェブサーバは、更に、前記無保護のウェブページおよび前記保護されたウェブページの状況を常に記録しておくためのテーブルを具備する、請求項18のシステム。
  20. 前記ウェブサイトは、前記ウェブクライアントがゲストクライアントまたは登録クライアントとして前記ウェブサイトにアクセスすることを可能とするためのアクセス手段を含む、請求項17のシステム。
  21. 前記ウェブシステムは、前記ウェブクライアントに関する格納された情報、前記セッションクッキーに含まれるデータ、および前記オースコードクッキーに含まれるデータを含むための記憶手段を有する、請求項20のシステム。
  22. 前記無保護の通信プロトコルはHTTPである、請求項18のシステム。
  23. 前記保護された通信プロトコルはHTTPSである、請求項18のシステム。
  24. 前記セッションクッキーはポインタおよび暗号化部分を含み、前記ポインタは前記格納された情報を示し、前記暗号化部分はランダムな部分および日付部分を有する、請求項21のシステム。
  25. 前記セッションクッキーは一時的なクッキーまたは永久的なクッキーのいずれかである、請求項24のシステム。
  26. 前記オースコードクッキーは暗号化部分を含み、前記暗号化部分はランダムな部分および日付部分を有する、請求項21のシステム。
  27. 前記オースコードクッキーは一時的なものである、請求項26のシステム。
  28. コンピュータ読み取り可能媒体上で具現化されるコンピュータプログラムであって、前記コンピュータプログラムは、ウェブサイトとウェブクライアントとの間の安全なセッション管理および認証のために提供され、前記ウェブサイトは保護されたウェブページおよび無保護のウェブページを有し、前記コンピュータプログラムは、
    a)前記ウェブクライアントが前記無保護のウェブページに対するアクセスを要求した場合に無保護の通信プロトコルおよびセッションクッキーを用い、
    b)前記ウェブクライアントが前記保護されたウェブページに対するアクセスを要求した場合に保護された通信プロトコルおよびオースコードクッキーを用いる、
    ように適合されている、コンピュータプログラム。
  29. 前記コンピュータプログラムは、更に、
    c)前記ウェブクライアントが前記無保護のウェブページに対するアクセスを要求した場合に前記ウェブクライアントから前記セッションクッキーを要求し、前記要求したセッションクッキーを検証し、
    d)前記ウェブクライアントが前記保護されたウェブページに対するアクセスを要求した場合に前記ウェブクライアントから前記オースコードクッキーを要求し、前記要求したオースコードクッキーを検証する、
    ように適合されている、請求項28のコンピュータプログラム。
  30. 前記コンピュータプログラムは、更に、前記ウェブクライアントが前記保護されたウェブページおよび前記無保護のウェブページに対するアクセスの要求を交互に行った場合、前記保護された通信プロトコルおよび前記無保護の通信プロトコルを交互に用いるように適合されている、請求項29のコンピュータプログラム。
  31. 前記保護された通信プロトコルおよび前記無保護の通信プロトコルを交互に用いることは、前記無保護のウェブページおよび前記保護されたウェブページの状況を常に記録しておくテーブルによって容易になる、請求項30のコンピュータプログラム。
  32. 前記ウェブクライアントが前記無保護のウェブページまたは前記保護されたウェブページのどちらに対するアクセスを要求したかに応じて、前記コンピュータプログラムは、前記テーブルを用いて、前記保護された通信プロトコルまたは前記無保護の通信プロトコルのいずれかを用いるように前記ウェブクライアントに指示する、請求項31のコンピュータプログラム。
  33. 前記コンピュータプログラムは、更に、前記ウェブクライアントがゲストクライアントまたは登録クライアントになることを可能とするように適合されている、請求項30のコンピュータプログラム。
  34. 前記コンピュータプログラムは、更に、前記セッションクッキーに含まれるデータ、前記オースコードクッキーに含まれるデータ、および前記ウェブクライアントに関するデータを含む格納された情報を生成するように適合されている、請求項33のコンピュータプログラム。
  35. 前記無保護の通信プロトコルはHTTPである、請求項30のコンピュータプログラム。
  36. 前記保護された通信プロトコルはHTTPSである、請求項30のコンピュータプログラム。
  37. 前記セッションクッキーはポインタおよび暗号化部分を含み、前記ポインタは前記格納された情報を示し、前記暗号化部分はランダムな部分および日付部分を有する、請求項34のコンピュータプログラム。
  38. 前記セッションクッキーは一時的なクッキーまたは永久的なクッキーのいずれかである、請求項34のコンピュータプログラム。
  39. 前記オースコードクッキーは暗号化部分を含み、前記暗号化部分はランダムな部分および日付部分を有する、請求項34のコンピュータプログラム。
  40. 前記オースコードクッキーは一時的なものである、請求項39のコンピュータプログラム。
  41. 前記ウェブクライアントから前記要求したセッションクッキーを検証するステップは、前記格納された情報を用いて第2のセッションクッキーを発生し、前記第2のセッションクッキーを前記ウェブクライアントから要求した前記セッションクッキーと比較することを含む、請求項37のコンピュータプログラム。
  42. 前記ウェブクライアントから前記要求したオースコードクッキーを検証するステップは、前記格納された情報を用いて第2のオースコードクッキーを発生し、前記第2のオースコードクッキーを前記ウェブクライアントから要求した前記オースコードクッキーと比較することを含む、請求項39のコンピュータプログラム。
  43. 請求項1、2、3、6、および7のステップの全てを実行するように適合されたコンピュータコード手段を具備する、コンピュータプログラム。
  44. コンピュータ読み取り可能媒体上に具現化された、請求項43に記載のコンピュータプログラム。
  45. セッションクッキーにおいてNAME属性を生成するためのコンピュータプログラムであって、前記コンピュータプログラムは、
    a)user_idを発生するステップと、
    b)session_stringを発生するステップと、
    c)session_timestampを発生するステップと、
    d)前記session_timestampを前記session_stringの最後に追加して中間値を生成するステップと、
    e)前記中間値に一方向ハッシュ関数を適用して最終値を生成するステップと、
    f)前記最終値を前記NAME属性に格納するステップと、
    を具備する、コンピュータプログラム。
  46. 前記セッションクッキーにおいて、PATH属性、EXPIRES属性、DOMAIN属性、およびSECURE属性を生成するステップは、
    a)前記PATH属性にスラッシュ
    Figure 2004514996
    は、以降O grave/O acuteと記載する。
    を格納するステップと、
    b)前記EXPIRES属性にヌルストリング
    Figure 2004514996
    は、以降O grave O acuteと記載する。
    を格納するステップと、
    c)前記DOMAIN属性にヌルストリングO grave O acuteを格納するステップと、
    d)前記SECURE属性にヌルストリングO grave O acuteを格納するステップと、
    を具備する、請求項45のコンピュータプログラム。
  47. オースコードクッキーにおいてNAME属性を生成するためのコンピュータプログラムであって、前記コンピュータプログラムは、
    a)authcodeを発生するステップと、
    b)authcode_timestampを発生するステップと、
    c)前記authcode_timestampを前記authcodeの最後に追加して中間値を生成するステップと、
    d)前記中間値に一方向ハッシュ関数を適用して最終値を生成するステップと、
    e)前記最終値を前記NAME属性に格納するステップと、
    を具備する、コンピュータプログラム。
  48. 前記オースコードクッキーにおいて、PATH属性、EXPIRES属性、DOMAIN属性、およびSECURE属性を生成するステップは、
    a)前記PATH属性にスラッシュO grave/O acuteを格納するステップと、
    b)前記EXPIRES属性にヌルストリングO grave O acuteを格納するステップと、
    c)前記DOMAIN属性にヌルストリングO grave O acuteを格納するステップと、
    d)前記SECURE属性にストリング
    Figure 2004514996
    を格納するステップと、
    を具備する、請求項47のコンピュータプログラム。
  49. コンピュータプログラムプロダクトであって、
    コンピュータ読み取り可能信号記録媒体と、
    請求項1ないし15のいずれかの方法を達成するための前記媒体における手段と、
    を具備する、コンピュータプログラムプロダクト。
  50. 前記媒体は記録可能データ記憶媒体である、請求項49のプロダクト。
  51. 前記媒体は変調された搬送信号である、請求項49のプロダクト。
  52. 前記信号はネットワーク上の送信である、請求項51のプロダクト。
  53. 前記ネットワークはインターネットである、請求項52のプロダクト。
JP2002546382A 2000-11-30 2001-11-09 ウェブサイトのための安全なセッション管理および認証 Expired - Fee Related JP4056390B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CA002327078A CA2327078C (en) 2000-11-30 2000-11-30 Secure session management and authentication for web sites
PCT/EP2001/012963 WO2002045370A2 (en) 2000-11-30 2001-11-09 Secure session management and authentication for web sites

Publications (2)

Publication Number Publication Date
JP2004514996A true JP2004514996A (ja) 2004-05-20
JP4056390B2 JP4056390B2 (ja) 2008-03-05

Family

ID=4167768

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002546382A Expired - Fee Related JP4056390B2 (ja) 2000-11-30 2001-11-09 ウェブサイトのための安全なセッション管理および認証

Country Status (9)

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

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006243924A (ja) * 2005-03-01 2006-09-14 Nec Corp ウェブサイトのための安全なセッション管理用プログラム、セッション管理方法、及びセッション管理システム
JP2008242684A (ja) * 2007-03-27 2008-10-09 Fujitsu Ltd 認証処理方法及びシステム
JP2012068834A (ja) * 2010-09-22 2012-04-05 Canon Inc 情報処理装置、情報処理装置の制御方法、及びプログラム
JP2013003820A (ja) * 2011-06-16 2013-01-07 Bank Of Tokyo-Mitsubishi Ufj Ltd 情報処理装置及び情報処理方法
KR20180088895A (ko) * 2015-12-07 2018-08-07 알리바바 그룹 홀딩 리미티드 랜덤 문자열을 생성하기 위한 방법 및 장치

Families Citing this family (165)

* 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
US7689506B2 (en) 2001-06-07 2010-03-30 Jpmorgan Chase 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 情報提供サーバ、端末装置及びその制御方法並びに情報提供システム
US20030084302A1 (en) * 2001-10-29 2003-05-01 Sun Microsystems, Inc., A Delaware Corporation Portability and privacy with data communications network browsing
US20030084172A1 (en) * 2001-10-29 2003-05-01 Sun Microsystem, Inc., A Delaware Corporation Identification and privacy in the World Wide Web
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
AU2002363138A1 (en) 2001-11-01 2003-05-12 First Usa Bank, 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
WO2004042550A1 (ja) * 2002-11-06 2004-05-21 Matsushita Electric Industrial Co., Ltd. 印刷システム、印刷装置および印刷指示方法
US7233927B1 (en) * 2002-11-27 2007-06-19 Microsoft Corporation Method and system for authenticating accounts on a remote server
CA2508317C (en) 2002-12-02 2012-07-24 Sap Aktiengesellschaft Session-return enabling stateful web applications
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
CA2432483C (en) * 2003-06-17 2010-04-13 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
US8261336B2 (en) * 2004-06-15 2012-09-04 Emc Corporation System and method for making accessible a set of services to users
US7487361B2 (en) * 2004-06-30 2009-02-03 International Business Machines Corporation Dynamic cache lookup based on dynamic data
US8346593B2 (en) 2004-06-30 2013-01-01 Experian Marketing Solutions, Inc. System, method, and software for prediction of attitudinal and message responsiveness
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
US8732004B1 (en) 2004-09-22 2014-05-20 Experian Information Solutions, Inc. Automated analysis of data to generate prospect notifications based on trigger events
JP2006092116A (ja) * 2004-09-22 2006-04-06 Canon Inc Webサーバ及びその制御方法
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
US20060224518A1 (en) * 2005-04-05 2006-10-05 International Business Machines Corporation Partial credential processing for limited commerce interactions
WO2006115984A2 (en) * 2005-04-21 2006-11-02 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
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
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
CA2659285A1 (en) * 2006-08-03 2008-02-07 Citrix Systems, Inc. Systems and methods for using an http-aware client agent
US8561155B2 (en) 2006-08-03 2013-10-15 Citrix Systems, Inc. Systems and methods for using a client agent to manage HTTP authentication cookies
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
US20090254982A1 (en) * 2006-10-23 2009-10-08 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
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
US7970946B1 (en) * 2007-11-27 2011-06-28 Google Inc. Recording and serializing events
US8997076B1 (en) 2007-11-27 2015-03-31 Google Inc. Auto-updating an application without requiring repeated user authorization
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
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
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
EP2241081B1 (en) 2008-01-26 2018-05-02 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
US9122859B1 (en) * 2008-12-30 2015-09-01 Google Inc. Browser based event information delivery mechanism 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
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
EP2659650B1 (en) 2010-12-29 2022-06-22 Citrix Systems Inc. Systems and methods for multi-level tagging of encrypted items for additional security and efficient encrypted item determination
US8661519B2 (en) 2011-06-03 2014-02-25 Microsoft Corporation Redirection using token and value
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
US9716740B2 (en) * 2013-06-14 2017-07-25 Dell Products L.P. Web-based transcoding to clients for client-server communication
US9407725B2 (en) 2013-06-14 2016-08-02 Dell Products L.P. Generic transcoding service 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
US10182046B1 (en) 2015-06-23 2019-01-15 Amazon Technologies, Inc. Detecting a network crawler
US9712520B1 (en) * 2015-06-23 2017-07-18 Amazon Technologies, Inc. User authentication using client-side browse history
US11257117B1 (en) 2014-06-25 2022-02-22 Experian Information Solutions, Inc. Mobile device sighting location analytics and profiling system
US10445152B1 (en) 2014-12-19 2019-10-15 Experian Information Solutions, Inc. Systems and methods for dynamic report generation based on automatic modeling of complex data structures
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
CN107025563A (zh) * 2016-01-29 2017-08-08 福建天晴数码有限公司 追踪投放广告的方法及系统
US11244053B2 (en) * 2016-03-03 2022-02-08 Deviceatlas Limited Counterfeit electronic device detection
CN107547468B (zh) * 2016-06-23 2020-03-03 广州市动景计算机科技有限公司 网络协议切换装置、方法及终端
US10678894B2 (en) 2016-08-24 2020-06-09 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 天脉聚源(北京)科技有限公司 一种免密码登录网页的方法和系统
CN110383319B (zh) 2017-01-31 2023-05-26 益百利信息解决方案公司 大规模异构数据摄取和用户解析
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

Family Cites Families (15)

* 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
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
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
US6587836B1 (en) * 1997-09-26 2003-07-01 Worldcom, Inc. Authentication and entitlement for users of web based data management programs
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
US6226752B1 (en) 1999-05-11 2001-05-01 Sun Microsystems, Inc. Method and apparatus for authenticating users
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
US6892307B1 (en) * 1999-08-05 2005-05-10 Sun Microsystems, Inc. Single sign-on framework with trust-level mapping to authentication requirements
US6691232B1 (en) * 1999-08-05 2004-02-10 Sun Microsystems, Inc. Security architecture with environment sensitive credential sufficiency evaluation
US6920560B2 (en) * 1999-12-30 2005-07-19 Clyde Riley Wallace, Jr. Secure network user states

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006243924A (ja) * 2005-03-01 2006-09-14 Nec Corp ウェブサイトのための安全なセッション管理用プログラム、セッション管理方法、及びセッション管理システム
JP2008242684A (ja) * 2007-03-27 2008-10-09 Fujitsu Ltd 認証処理方法及びシステム
JP2012068834A (ja) * 2010-09-22 2012-04-05 Canon Inc 情報処理装置、情報処理装置の制御方法、及びプログラム
JP2013003820A (ja) * 2011-06-16 2013-01-07 Bank Of Tokyo-Mitsubishi Ufj Ltd 情報処理装置及び情報処理方法
KR20180088895A (ko) * 2015-12-07 2018-08-07 알리바바 그룹 홀딩 리미티드 랜덤 문자열을 생성하기 위한 방법 및 장치
US10489117B2 (en) 2015-12-07 2019-11-26 Alibaba Group Holding Limited Method and apparatus for generating random character string
KR102111871B1 (ko) 2015-12-07 2020-05-18 알리바바 그룹 홀딩 리미티드 랜덤 문자열을 생성하기 위한 방법 및 장치

Also Published As

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

Similar Documents

Publication Publication Date Title
JP4056390B2 (ja) ウェブサイトのための安全なセッション管理および認証
US6601169B2 (en) Key-based secure network user states
US6957334B1 (en) Method and system for secure guaranteed transactions over a computer network
US9917827B2 (en) Internet server access control and monitoring systems
AU694367B2 (en) Internet server access control and monitoring systems
US7496751B2 (en) Privacy and identification in a data communications network
US9355389B2 (en) Purchase transaction system with encrypted payment card data
JP4864289B2 (ja) ネットワークユーザ認証システムおよび方法
US20030163691A1 (en) System and method for authenticating sessions and other transactions
US7085840B2 (en) Enhanced quality of identification in a data communications network
US7275260B2 (en) Enhanced privacy protection in identification in a data communications network
EP0913789B1 (en) Pre-paid links to networks servers
US20060106802A1 (en) Stateless methods for resource hiding and access control support based on URI encryption
US20020112167A1 (en) Method and apparatus for transparent encryption
US20030084171A1 (en) User access control to distributed resources on a data communications network
US20030084302A1 (en) Portability and privacy with data communications network browsing
US20030221112A1 (en) Method and system for granting access to system and content
US20040059941A1 (en) Systems and methods for identifying users and providing access to information in a network environment
CN107872455A (zh) 一种跨域单点登录系统及其方法
WO2000079726A2 (en) Cryptographic representation of sessions
EP1440546A2 (en) Managing identification in a data communications network

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060221

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20060519

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20060526

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20060616

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20060616

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060817

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061121

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070216

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070327

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070620

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20070726

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20071211

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20071211

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071211

R150 Certificate of patent or registration of utility model

Ref document number: 4056390

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101221

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101221

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111221

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111221

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121221

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121221

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131221

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees