JP2004514996A - ウェブサイトのための安全なセッション管理および認証 - Google Patents
ウェブサイトのための安全なセッション管理および認証 Download PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network 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/0442—Network 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0807—Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network 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
【選択図】図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】
【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】
【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】
【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】
【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】
【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】
【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】
【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】
【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】
【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)
- ウェブサイトとウェブクライアントとの間の安全なセッション管理および認証の方法であって、前記ウェブサイトは保護されたウェブページおよび無保護のウェブページを有し、前記方法は、
a)前記ウェブクライアントが前記無保護のウェブページに対するアクセスを要求した場合に無保護の通信プロトコルおよびセッションクッキーを利用するステップと、
b)前記ウェブクライアントが前記保護されたウェブページに対するアクセスを要求した場合に保護された通信プロトコルおよびオースコードクッキーを利用するステップと、
を具備する、方法。 - 前記方法は、更に、
c)前記ウェブクライアントが前記無保護のウェブページに対するアクセスを要求した場合に前記ウェブクライアントから前記セッションクッキーを要求し、前記要求したセッションクッキーを検証するステップと、
d)前記ウェブクライアントが前記保護されたウェブページに対するアクセスを要求した場合に前記ウェブクライアントから前記オースコードクッキーを要求し、前記要求したオースコードクッキーを検証するステップと、
を具備する、請求項1の方法。 - 前記方法は、更に、前記ウェブクライアントが前記保護されたウェブページおよび前記無保護のウェブページに対するアクセスの要求を交互に行った場合、前記保護された通信プロトコルおよび前記無保護の通信プロトコルを交互に用いるステップを具備する、請求項2の方法。
- 前記保護された通信プロトコルおよび前記無保護の通信プロトコルを交互に用いることは、前記無保護のウェブページおよび前記保護されたウェブページの状況を常に記録しているテーブルによって容易になる、請求項3の方法。
- 前記ウェブクライアントが前記無保護のウェブページまたは前記保護されたウェブページのどちらに対するアクセスを要求したかに応じて、前記ウェブサイトは、前記テーブルを用いて、前記保護された通信プロトコルまたは前記無保護の通信プロトコルのいずれかを用いるように前記ウェブクライアントに指示する、請求項4の方法。
- 前記方法は、更に、前記ウェブクライアントがゲストクライアントまたは登録クライアントになることを可能とするステップを具備する、請求項3の方法。
- 前記方法は、更に、前記セッションクッキーに含まれるデータ、前記オースコードクッキーに含まれるデータ、および前記ウェブクライアントに関するデータを含む格納された情報を生成するステップを具備する、請求項6の方法。
- 前記無保護の通信プロトコルはHTTPである、請求項3の方法。
- 前記保護された通信プロトコルはHTTPSである、請求項3の方法。
- 前記セッションクッキーはポインタおよび暗号化部分を含み、前記ポインタは前記格納された情報を示し、前記暗号化部分はランダムな部分および日付部分を有する、請求項7の方法。
- 前記セッションクッキーは一時的なクッキーまたは永久的なクッキーのいずれかである、請求項10の方法。
- 前記オースコードクッキーは暗号化部分を含み、前記暗号化部分はランダムな部分および日付部分を有する、請求項7の方法。
- 前記オースコードクッキーは一時的なものである、請求項12の方法。
- 前記ウェブクライアントから前記要求したセッションクッキーを検証するステップは、前記格納された情報を用いて第2のセッションクッキーを発生し、前記第2のセッションクッキーを前記ウェブクライアントから要求した前記セッションクッキーと比較することを含む、請求項10の方法。
- 前記ウェブクライアントから前記要求したオースコードクッキーを検証するステップは、前記格納された情報を用いて第2のオースコードクッキーを発生し、前記第2のオースコードクッキーを前記ウェブクライアントから要求した前記オースコードクッキーと比較することを含む、請求項12の方法。
- ウェブサイトとウェブクライアントとの間の安全なセッション管理および認証のためのシステムであって、前記システムは、ウェブサーバと、ウェブクライアントと、通信チャネルとを具備し、前記ウェブサーバは前記通信チャネルを介して前記ウェブクライアントに結合され、前記ウェブサーバはウェブサイトを有し、前記ウェブサイトは、
a)保護されたウェブページおよび無保護のウェブページと、
b)前記ウェブクライアントが前記無保護のウェブページにアクセスすることを可能とする無保護の通信プロトコルおよびセッションクッキーと、
c)前記ウェブクライアントが前記保護されたウェブページにアクセスすることを可能とする保護された通信プロトコルおよびオースコードクッキーと、
を具備する、システム。 - 前記ウェブサイトは、更に、
d)前記ウェブクライアントから前記セッションクッキーが要求された場合に前記セッションクッキーを検証するための検証手段と、
d)前記ウェブクライアントから前記オースコードクッキーが要求された場合に前記オースコードクッキーを検証するための検証手段と、
を含む、請求項16のシステム。 - 前記ウェブサーバは、更に、前記保護された通信プロトコルおよび前記無保護の通信プロトコルを交互に用いるためのセキュリティ交替手段を具備する、請求項17のシステム。
- 前記ウェブサーバは、更に、前記無保護のウェブページおよび前記保護されたウェブページの状況を常に記録しておくためのテーブルを具備する、請求項18のシステム。
- 前記ウェブサイトは、前記ウェブクライアントがゲストクライアントまたは登録クライアントとして前記ウェブサイトにアクセスすることを可能とするためのアクセス手段を含む、請求項17のシステム。
- 前記ウェブシステムは、前記ウェブクライアントに関する格納された情報、前記セッションクッキーに含まれるデータ、および前記オースコードクッキーに含まれるデータを含むための記憶手段を有する、請求項20のシステム。
- 前記無保護の通信プロトコルはHTTPである、請求項18のシステム。
- 前記保護された通信プロトコルはHTTPSである、請求項18のシステム。
- 前記セッションクッキーはポインタおよび暗号化部分を含み、前記ポインタは前記格納された情報を示し、前記暗号化部分はランダムな部分および日付部分を有する、請求項21のシステム。
- 前記セッションクッキーは一時的なクッキーまたは永久的なクッキーのいずれかである、請求項24のシステム。
- 前記オースコードクッキーは暗号化部分を含み、前記暗号化部分はランダムな部分および日付部分を有する、請求項21のシステム。
- 前記オースコードクッキーは一時的なものである、請求項26のシステム。
- コンピュータ読み取り可能媒体上で具現化されるコンピュータプログラムであって、前記コンピュータプログラムは、ウェブサイトとウェブクライアントとの間の安全なセッション管理および認証のために提供され、前記ウェブサイトは保護されたウェブページおよび無保護のウェブページを有し、前記コンピュータプログラムは、
a)前記ウェブクライアントが前記無保護のウェブページに対するアクセスを要求した場合に無保護の通信プロトコルおよびセッションクッキーを用い、
b)前記ウェブクライアントが前記保護されたウェブページに対するアクセスを要求した場合に保護された通信プロトコルおよびオースコードクッキーを用いる、
ように適合されている、コンピュータプログラム。 - 前記コンピュータプログラムは、更に、
c)前記ウェブクライアントが前記無保護のウェブページに対するアクセスを要求した場合に前記ウェブクライアントから前記セッションクッキーを要求し、前記要求したセッションクッキーを検証し、
d)前記ウェブクライアントが前記保護されたウェブページに対するアクセスを要求した場合に前記ウェブクライアントから前記オースコードクッキーを要求し、前記要求したオースコードクッキーを検証する、
ように適合されている、請求項28のコンピュータプログラム。 - 前記コンピュータプログラムは、更に、前記ウェブクライアントが前記保護されたウェブページおよび前記無保護のウェブページに対するアクセスの要求を交互に行った場合、前記保護された通信プロトコルおよび前記無保護の通信プロトコルを交互に用いるように適合されている、請求項29のコンピュータプログラム。
- 前記保護された通信プロトコルおよび前記無保護の通信プロトコルを交互に用いることは、前記無保護のウェブページおよび前記保護されたウェブページの状況を常に記録しておくテーブルによって容易になる、請求項30のコンピュータプログラム。
- 前記ウェブクライアントが前記無保護のウェブページまたは前記保護されたウェブページのどちらに対するアクセスを要求したかに応じて、前記コンピュータプログラムは、前記テーブルを用いて、前記保護された通信プロトコルまたは前記無保護の通信プロトコルのいずれかを用いるように前記ウェブクライアントに指示する、請求項31のコンピュータプログラム。
- 前記コンピュータプログラムは、更に、前記ウェブクライアントがゲストクライアントまたは登録クライアントになることを可能とするように適合されている、請求項30のコンピュータプログラム。
- 前記コンピュータプログラムは、更に、前記セッションクッキーに含まれるデータ、前記オースコードクッキーに含まれるデータ、および前記ウェブクライアントに関するデータを含む格納された情報を生成するように適合されている、請求項33のコンピュータプログラム。
- 前記無保護の通信プロトコルはHTTPである、請求項30のコンピュータプログラム。
- 前記保護された通信プロトコルはHTTPSである、請求項30のコンピュータプログラム。
- 前記セッションクッキーはポインタおよび暗号化部分を含み、前記ポインタは前記格納された情報を示し、前記暗号化部分はランダムな部分および日付部分を有する、請求項34のコンピュータプログラム。
- 前記セッションクッキーは一時的なクッキーまたは永久的なクッキーのいずれかである、請求項34のコンピュータプログラム。
- 前記オースコードクッキーは暗号化部分を含み、前記暗号化部分はランダムな部分および日付部分を有する、請求項34のコンピュータプログラム。
- 前記オースコードクッキーは一時的なものである、請求項39のコンピュータプログラム。
- 前記ウェブクライアントから前記要求したセッションクッキーを検証するステップは、前記格納された情報を用いて第2のセッションクッキーを発生し、前記第2のセッションクッキーを前記ウェブクライアントから要求した前記セッションクッキーと比較することを含む、請求項37のコンピュータプログラム。
- 前記ウェブクライアントから前記要求したオースコードクッキーを検証するステップは、前記格納された情報を用いて第2のオースコードクッキーを発生し、前記第2のオースコードクッキーを前記ウェブクライアントから要求した前記オースコードクッキーと比較することを含む、請求項39のコンピュータプログラム。
- 請求項1、2、3、6、および7のステップの全てを実行するように適合されたコンピュータコード手段を具備する、コンピュータプログラム。
- コンピュータ読み取り可能媒体上に具現化された、請求項43に記載のコンピュータプログラム。
- セッションクッキーにおいてNAME属性を生成するためのコンピュータプログラムであって、前記コンピュータプログラムは、
a)user_idを発生するステップと、
b)session_stringを発生するステップと、
c)session_timestampを発生するステップと、
d)前記session_timestampを前記session_stringの最後に追加して中間値を生成するステップと、
e)前記中間値に一方向ハッシュ関数を適用して最終値を生成するステップと、
f)前記最終値を前記NAME属性に格納するステップと、
を具備する、コンピュータプログラム。 - オースコードクッキーにおいてNAME属性を生成するためのコンピュータプログラムであって、前記コンピュータプログラムは、
a)authcodeを発生するステップと、
b)authcode_timestampを発生するステップと、
c)前記authcode_timestampを前記authcodeの最後に追加して中間値を生成するステップと、
d)前記中間値に一方向ハッシュ関数を適用して最終値を生成するステップと、
e)前記最終値を前記NAME属性に格納するステップと、
を具備する、コンピュータプログラム。 - コンピュータプログラムプロダクトであって、
コンピュータ読み取り可能信号記録媒体と、
請求項1ないし15のいずれかの方法を達成するための前記媒体における手段と、
を具備する、コンピュータプログラムプロダクト。 - 前記媒体は記録可能データ記憶媒体である、請求項49のプロダクト。
- 前記媒体は変調された搬送信号である、請求項49のプロダクト。
- 前記信号はネットワーク上の送信である、請求項51のプロダクト。
- 前記ネットワークはインターネットである、請求項52のプロダクト。
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)
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)
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)
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 |
-
2000
- 2000-11-30 CA CA002327078A patent/CA2327078C/en not_active Expired - Fee Related
-
2001
- 2001-03-16 US US09/810,288 patent/US7216236B2/en not_active Expired - Fee Related
- 2001-11-09 JP JP2002546382A patent/JP4056390B2/ja not_active Expired - Fee Related
- 2001-11-09 EP EP01999093A patent/EP1346548B1/en not_active Expired - Lifetime
- 2001-11-09 AT AT01999093T patent/ATE316731T1/de not_active IP Right Cessation
- 2001-11-09 AU AU2002217011A patent/AU2002217011A1/en not_active Abandoned
- 2001-11-09 WO PCT/EP2001/012963 patent/WO2002045370A2/en active IP Right Grant
- 2001-11-09 DE DE60116903T patent/DE60116903T2/de not_active Expired - Lifetime
- 2001-11-09 CN CNB018197027A patent/CN100486243C/zh not_active Expired - Fee Related
Cited By (7)
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 |