JP2004173285A - リソースへのウェブ・ベースのアクセスに使用されるクライアントの資格証明書の安全な処理 - Google Patents

リソースへのウェブ・ベースのアクセスに使用されるクライアントの資格証明書の安全な処理 Download PDF

Info

Publication number
JP2004173285A
JP2004173285A JP2003391491A JP2003391491A JP2004173285A JP 2004173285 A JP2004173285 A JP 2004173285A JP 2003391491 A JP2003391491 A JP 2003391491A JP 2003391491 A JP2003391491 A JP 2003391491A JP 2004173285 A JP2004173285 A JP 2004173285A
Authority
JP
Japan
Prior art keywords
computer system
key
act
user
credentials
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
JP2003391491A
Other languages
English (en)
Other versions
JP4647200B2 (ja
JP2004173285A5 (ja
Inventor
Shawn Derek Bracewell
デリク ブレースウェル ショーン
Richard B Ward
リチャード ビー.ウォード
Russell Lee Simpson Jr
リー シンプソン ジュニア ラッセル
Karim Michel Batthish
ミシェル バティシュ カリム
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.)
Microsoft Corp
Original Assignee
Microsoft 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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2004173285A publication Critical patent/JP2004173285A/ja
Publication of JP2004173285A5 publication Critical patent/JP2004173285A5/ja
Application granted granted Critical
Publication of JP4647200B2 publication Critical patent/JP4647200B2/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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/068Network architectures or network communication protocols for network security for supporting key management in a packet data network using time-dependent keys, e.g. periodically changing keys
    • 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
    • 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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/30Compression, e.g. Merkle-Damgard construction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless
    • 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/0435Network 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 symmetric encryption, i.e. same key used 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/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity

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)

Abstract

【課題】 リソースへのウェブ・ベースのアクセスに使用されるクライアントの資格証明書の安全な処理を提供すること。
【解決手段】 ユーザの資格証明書を入力するインターフェースを有するログイン・ページがクライアントで提示され、入力されたユーザの資格証明書がサーバに送信される。ユーザの資格証明書の受信に呼応して、サーバはクライアントに対する一意のセッションIDを生成する。サーバはまた循環鍵ストアの現在の鍵と一意のセッションIDとに基づいてユーザの資格証明書に対するデジタル署名を導出する。次いでサーバは現在の鍵と一意のセッションIDから導出された暗号鍵に基づいてデジタル署名とユーザの資格証明書とを暗号化する。暗号化された資格証明書がクライアントに返信されると、循環鍵ストアの鍵を使用して資格証明書の有効性確認を試みる。ユーザの資格証明書の有効性が確認不可であると、ユーザには再びログイン・ページが提示される。
【選択図】 図2A

Description

本発明は、コンピュータ・ネットワークに関し、より詳細には、リソースに対するウェブ・ベースのアクセスに使用されるクライアントの資格証明書(credentials)を安全に処理することに関する。
コンピュータ・システムおよび関連技術は、社会の多くの側面に影響を与える。実際、情報を処理するコンピュータ・システムの機能は、我々の生活および仕事の方法に変化を与えてきた。現在、コンピュータ・システムは、一般に、コンピュータ・システムが出現する前には手作業で行われていた多くの作業(例えば、文書処理、スケジューリング、およびデータベース管理)を実行している。さらに最近では、コンピュータ・システムは相互に結合されて、コンピュータ・システムが有線と無線のコンピュータ・ネットワークの両方を構成し、それを介してコンピュータ・システムが電子的に通信し、データを共有することができるようになった。その結果、コンピュータ・システムで実行される多くのタスク(例えば、音声通信、電子メールへのアクセス、電子会議、ウェブ・ブラウジング)には、1つまたは複数の他のコンピュータ・システムとの無線および/または有線コンピュータ・ネットワークを介した電子通信が含まれている。
特に、電子メールは、通信のための重要な方法になった。電子メールのシステムは、通常、電子メール・クライアント装置と電子メール・サーバ装置とを含む。これらの装置は、通常、コンピュータ・システム(例えば、サーバ、PC、ラップトップ、およびPDA)上で実行されるように構成されたソフトウェア・アプリケーションである。電子メール・クライアント装置と電子メール・サーバ装置は、通常、相互の特定動作用に設計・構成されている。電子メール・クライアント装置と電子メール・サーバ装置は、一般に、例えばクライアント・コンピュータ・システムのアプリケーション・プログラムがサーバ・コンピュータ・システム上のプログラムを実行することを可能にする、リモート・プロシージャ・コール(「RPC:Remote Procedure Calls」)のような独自開発のプロトコルを使用して相互に通信する。例えば、電子メール・クライアント装置は、電子メール・サーバ装置に適切な引数によってメッセージを送信することができ、電子メール・サーバ装置は電子メール・メッセージを返信する。
電子メール・サーバの一部の種類は、専用電子メール・クライアントではなく、例えばウェブ・ブラウザを有するクライアント・コンピュータ・システムのような「ゼロタッチ(zero-touch)」クライアントを介して電子メールにアクセスできるよう構成されている。これらの種類の電子メール・サーバでは、ウェブ・ブラウザは電子メール・サーバと対話し、クライアントシステム上で実行することが必要な機能ならばどのような機能でもウェブ・ブラウザを介して実行される。例えば、クライアント・コンピュータ・システムは、ウェブ・ブラウザが電子メール・サーバと適切に対話することを可能にするハイパー・テキスト・マークアップ言語(「HTML」)命令とスクリプト(アクティブ・サーバ・ページのような技術によって動的に生成される)をダウンロードすることができる。すなわち、ゼロタッチのブラウザ・ベースのクライアントは、ユーザが、自分の電子メールと、ゼロタッチのブラウザ・ベースのクライアントによって共通ネットワーク(例えば、ワールドワイドウェブ(「WWW」))に接続されている任意のサーバ・コンピュータ・システムからの他のメール関連情報(例えば、カレンダーおよび共用フォルダ)とにアクセスすることを可能にする。したがって、例えばWWW上のウェブ・ベースのコンテンツにアクセスするために使用されるハイパー・テキスト転送プロトコル(「HTTP」)のようなプロトコルを、電子メールおよび他のメール関連情報にアクセスするために使用することもできる。
しかし、電子メールおよび他のメール関連情報へのブラウザ・ベースのアクセス可能性は潜在的なセキュリティ問題をもたらし、いくつかのセキュリティ問題はウェブ・ブラウザ・メモリ内のユーザの資格証明書のキャッシングに関連している。ウェブ環境において、コンテンツおよびコンテンツに対する要求(request)は、一般にHTTPを使用して配送される。例えば、コンテンツへのアクセスを求めるHTTP要求がブラウザ・ベースのクライアントのユーザからネットワークに向けて配送される。次いで要求はサーバ・コンピュータ・システムのウェブ・サーバで受信され、そこでその要求を処理して要求したコンテンツにアクセスすることをブラウザ・ベースのクライアントのユーザが許可されているか否かを判定する。ユーザが要求したコンテンツにアクセスすることを許可されている場合、ウェブ・サーバはコンテンツをHTTPメッセージでブラウザ・ベースのクライアントに返信する。
HTTPの一部のバージョン(例えば、HTTP/1.0)はステートレス(stateless)である。すなわち、HTTPを介した通信(例えば、電子メール・メッセージの要求)は、サーバによる以前のいかなる通信に関する知識(例えば、電子メール・メッセージに対する他の以前の要求)なしに実行される。したがって、HTTPのこれらのバージョンは、ユーザが「ログイン」または「ログアウト」する「セッション」の概念をサポートしない。HTTPの他のバージョン(例えば、HTTP/1.1)は、HTTP接続を存続状態(alive)に保つよう試みるためにクライアントとサーバの間で送信される「キープアライブ(keep-alive)」メッセージをサポートする。しかし、キープアライブ・メッセージの使用は、やや信頼性に乏しく、キープアライブ・メッセージが使用される場合であっても、HTTP接続がアクティブに保たれる保証はない。さらに、クライアントの要求が複数のユーザ間でキープアライブ・リンクを共用する中間プロキシ・サーバを介して頻繁に送り込まれるので、受信した要求が以前に認証されたクライアントによって送信されたか否かをサーバが判定することはない。したがって、HTTP接続がステートレスか、またはキープアライブ・メッセージを使用しているかに関わらず、HTTPを介して配送されるコンテンツへのアクセスを求める各要求(以下、「HTTP要求」と呼ぶ)は、適切なHTTP認証情報(authentication information)を含む必要がある。
したがって、HTTP認証情報は、WWW−許可(Authorization)ヘッダーと呼ばれ、「WWW−許可:[認証―タイプ][資格証明書(Credentials)]」というフォーマットを有する特別なヘッダーを介してHTTP要求に含めることができる。ウェブ・ブラウザが最初に認証を必要とするコンテンツ(例えば、ユーザが入力した資格証明書の提出)へのアクセスを試みると、ウェブ・サーバは、通常、要求されたコンテンツを提供することを拒否し、代わりにステータス・コード401「無許可(Unauthorized)」を有するHTTPメッセージを返信する。このHTTP応答(responce)メッセージには、「WWW−認証(Authenticate):[認証方法][領域=領域値][任意選択情報]」というフォーマットのヘッダーが含まれる。
ウェブ・ブラウザで返信を受信すると、HTTP応答メッセージは、ウェブ・ブラウザに、例えばユーザ名およびパスワードのような資格証明書を要求するダイヤログボックスを提示させる。ユーザが資格証明書を入力した後、ウェブ・ブラウザは、元のHTTP要求を、入力された資格証明書を含むHTTP WWW−認証ヘッダーと共に再送する。ウェブ・サーバが、ユーザの入力した資格証明書を有効であるとして受け入れて、要求されたコンテンツ(例えば、電子メール・メッセージ)を返信した場合、ウェブ・ブラウザは、ユーザが入力した資格証明書をブラウザのメモリにキャッシュする。したがって、同じユニフォーム・リソース・ロケータ(「URL」)または同じコンテンツに関連付けられた対応する派生的な関連URLへのそれ以降の要求では、キャッシュされた資格証明書がブラウザのメモリから取り出され、対応するHTTP WWW−許可ヘッダーに含められる。この結果、HTTPがステートレスであっても、ユーザは、同じまたは対応する派生的な関連URLに対するそれぞれの要求について資格証明書を再入力する必要から、開放される。
残念ながら、ウェブ・ブラウザは、一般に、(ウェブブラウザプログラムを終了する(quitting)か、またはコンピュータ・システムまたはクライアントのデバイスを再起動(re-booting)またはターン・オフすることによって)ウェブ・ブラウザが終了されるまで、キャッシュされた資格証明書を基本的に無期限でブラウザのメモリに保持する。したがって、保護されたコンテンツにアクセスした特権のあるユーザの資格証明書は、そのユーザがそのウェブ・ブラウザを使用しなくなった後でもブラウザのメモリにキャッシュされている可能性がある。次いで特権のあるユーザがコンピュータ・システムのそばを離れた場合、別の特権のないユーザがやってきて、ブラウザの戻りボタンまたは履歴機能を使用して保護されたコンテンツへのアクセスを試みる可能性がある。特権のあるユーザの資格証明書がブラウザのメモリに依然としてキャッシュされているので、ウェブ・ブラウザは、キャッシュされた資格証明書を取り出し、それらを保護されたコンテンツにアクセスする特権のないユーザの要求と共に提出する。したがって、特権のないユーザが、ウェブ・ブラウザで適切な資格証明書を入力することを必要とせずに、保護されたコンテンツへのアクセスを得る可能性がある。
キャッシュされた資格証明書は、ウェブ・ブラウザを終了することを許可しない公共のコンピュータおよび/またはコンピュータ・システムのある場所では特に問題となり得る。そのようなコンピュータ・システムの一例としてインターネット・キオスクがある。インターネット・キオスクは、一般大衆にインターネットへのアクセスを提供するために、例えば図書館、インターネットカフェ、および会議センターのような公共の場所に置かれることがしばしばある。インターネット・キオスクは、キオスクのある場所に来た人なら誰でも、最初にウェブ・ブラウザを探して起動することを必要とせずに迅速にインターネットにアクセスすることを可能にするよう設計されている。したがって、多くのインターネット・キオスクは、ウェブ・ブラウザが常時活動状態にあり終了されることがないように構成されている。
この結果、インターネットへの効率的なアクセスが提供されるが、またキャッシュされた資格証明書が基本的に無期限でブラウザのメモリに残存することにもなる。例えば特権のあるユーザが(例えば、保護されたコンテンツにアクセスするために)インターネット・キオスクに資格証明書を入力する場合、その特権のあるユーザの資格証明書はブラウザのメモリにキャッシュされる。ウェブ・ブラウザは終了されるはずがないので、その公共のキオスクの電源を切らずにキャッシュされた資格証明書を除去する方法は基本的にない。したがって、特権のあるユーザがキャッシュされた資格証明書を消す方法を知っていたとしても(例えば、ウェブ・ブラウザを終了することによって)、特権のあるユーザがそれを実行することから、防止されているかもしれない。
保護されたコンテンツにアクセスするためにキャッシュされた資格証明書を使用することは、ブラウザ・ベースの電子メールアプリケーションにとって特別重要な問題である。例えば、特権のないユーザは、ページを戻して個人的なデータを含んでいる可能性のある特権のあるユーザの電子メール・メッセージにアクセスすることができる。特権のあるユーザの電子メールにアクセスすることに加え、キャッシュされた資格証明書は特権のないユーザが特権のあるユーザになりすますことを可能にする場合もある。例えば、特権のないユーザは、特権のあるユーザに関連付けられたアカウントから電子メール・メッセージを送信することができる場合がある。
この問題に対する1つの可能な解決法は、コンテンツが要求されるたびにユーザに再認証を強制することである。しかしこれにより、ユーザはコンテンツにアクセスするHTTP要求ごとに認証情報を手動で再入力することが要求される。ウェブ・サイトとの通常の対話は数十または場合によっては数百のHTTP要求から構成される場合があるので、ユーザは数十回、または数百回も資格証明書を再入力しなければならないことになる。したがって、HTTP要求ごとに資格証明書を再入力することは、コンテンツにアクセスするために必要な時間とデータ入力の量を大幅に増加させることになる。この解決法は多くのユーザにとってあまりにも煩雑すぎ、ユーザは、1回のセッションに自分の資格証明書を1回だけ入力することを好む。したがって、ウェブ・ベースのリソースへのアクセスに使用されるクライアントの資格証明書を安全に処理するシステム、方法、コンピュータ・プログラム製品が有利になるであろう。
従来技術における前述の問題は、本発明の原理によって解決され、本発明の原理は、リソースへのウェブ・ベースのアクセスのために使用されるクライアントの資格証明書を安全に処理する方法、システム、コンピュータ・プログラム製品、およびデータ構造に向けられている。クライアント・コンピュータ・システム(以下、「クライアント」と呼ぶ)と、サーバ・コンピュータ・システム(以下、「サーバ」と呼ぶ)は、例えばインターネットのような共通のネットワークに接続されている。サーバは、例えば電子メール・メッセージおよび関連するメール・データのようなリソースへのウェブ・ベースのアクセスを可能にするように構成されている。クライアントは、ウェブ・ベースのリソースへのアクセスを要求し、ウェブ・ベースのリソースをそのクライアントのユーザに提示することのできる、ブラウザを含んで構成されている。
クライアントは、サーバのリソースにアクセスすることを求める第1の要求を送信する。例えば、クライアントは、サーバに記憶されている電子メール・メッセージへのアクセスを求める要求を送信することができる。サーバは第1の要求を受信するが、クライアントが無許可であるため、サーバは第1の要求の受信に呼応してそのクライアントをログイン・ページにリダイレクトする。クライアントをリダイレクトすることは、サーバがクライアントに、ログイン・ページへのユニフォーム・リソースID(Identifier)(「URI」)と共にリダイレクション・インジケータ(例えば、ステータス・コード302「一時移動」を有するハイパー・テキスト転送プロトコル(「HTTP」)メッセージ)を含む応答を送信することを含むことができる。このログイン・ページは、クライアントのユーザがユーザの資格証明書を入力するためのインターフェースを提供するアクティブ・サーバ・ページ(「ASP」)ページであってよい。クライアントはこのログイン・ページにアクセスし、そのログイン・ページを使用してユーザの資格証明書をサーバに提出する。クライアントは、例えばHTTPポストをセキュリティ保護するためにセキュア・ソケット・レイヤ(「SSL」)を使用して、資格証明書を提出することができる。
サーバは提出された資格証明書を受信する。サーバは、ユーザの資格証明書と時間依存デジタル署名を表す暗号化された情報を送信する。サーバは、認証を実行する信頼された機関に、提出された資格証明書についての認証を委任した後、暗号化された情報を送信する場合がある。サーバは、循環鍵ストア(rotating key store)の鍵を使用して暗号化されたデータを生成する。循環鍵ストアの各鍵は指定時間間隔(例えば10分)後に自動的に期限が切れる。指定時間間隔後、サーバは循環鍵ストア内に新しい鍵を循環させ、期限切れの鍵を循環鍵ストアから取り外すように循環させることができる。循環鍵ストアで保持される鍵の数と指定時間間隔は管理者が構成することができる。
ユーザの資格証明書が受信されると、サーバはユーザの資格証明書を一意識別子(例えば、グローバル一意識別子(「GUID」))に関連付ける。サーバは、循環鍵ストアの最新の鍵と一意識別子と第1の定数列との組み合わせを(例えば、SHA−1またはMD−5ハッシング・アルゴリズムを使用して)ハッシュすることによって、データにデジタル的に署名するために使用することができる、署名鍵を導出する。次いでサーバは、この署名鍵を使用して、一意識別子とユーザの資格証明書の組み合わせからデジタル署名(例えば、ハッシュ・メッセージ認証コード(「HMAC」))を導出する。
サーバは、データを暗号化するために使用することのできる暗号鍵も、循環鍵ストアの最新の鍵と一意識別子と第2の定数列との組み合わせをハッシュすることによって、導出する。次いでサーバは、この暗号鍵を使用して、デジタル署名とユーザの資格証明書の組み合わせを、暗号化された情報の中に暗号化する。サーバは、一意識別子と暗号化された情報とをクライアントに送信する。クライアントは、この一意識別子と暗号化された情報を受信し、一意識別子と暗号化された情報を(例えば対応するクッキーに)格納する。
クライアントは、サーバのリソースへのアクセスを求める、一意識別子と暗号化された情報を含む第2の要求を送信する。サーバは、第2の要求を受信し、循環鍵ストア中の最新の鍵を使用してユーザの資格証明書の有効性確認を試みる。サーバは、循環鍵ストアの最新の鍵と一意識別子と第2の定数列との組み合わせをハッシュすることによって、データを暗号解読するために使用することのできる、暗号解読鍵を導出する。サーバは、暗号解読鍵を使用して暗号化された情報を暗号解読し、それによってデジタル署名とユーザの資格証明書を明らかにする(平文にする)。サーバは、循環鍵ストアの最新の鍵と一意識別子と第1の定数列との組み合わせとをハッシュすることによって、データを認証するために使用することのできる、有効性確認鍵を導出する。サーバは、有効性確認署名鍵を使用して、一意識別子とユーザの資格証明書の組み合わせから有効性確認デジタル署名を導出する。
サーバは、有効性確認デジタル署名をデジタル署名と比較する。有効性確認デジタル署名とデジタル署名が一致した場合、ユーザの資格証明書は有効であるとされる。一方、有効性確認デジタル署名とデジタル署名が一致しない場合、資格証明書は有効であるとされない。ユーザの資格証明書が、循環鍵ストアの最新の鍵を使用して有効であるとされない場合、循環鍵ストア内で次の最も新しい鍵が使用され(例えば、次の最も新しい鍵を使用して暗号解読鍵と有効性確認デジタル署名を生成することにより)、ユーザの資格証明書の有効性確認が試みられる。サーバは、循環鍵ストアの各鍵を使用してユーザの資格証明書の有効性確認を試みることができる。有効であるとされたユーザの資格証明書は、要求されたリソース(例えば、電子メール・メッセージ)へのアクセスを制御するモジュール(例えば、電子メール・サーバ)に転送される。
ユーザの資格証明書が、循環鍵ストアの最新の鍵ではない鍵によって有効であるとされた場合、サーバはリフレッシュされた暗号化された情報を導出すべきであると判定する。サーバは、循環鍵ストアの最新の鍵を使用して、(例えば、リフレッシュされたデジタル署名とリフレッシュされた暗号鍵を最新の鍵から導出することにより)リフレッシュされた暗号化された情報を導出する。有効であるとされたユーザの資格証明書が適切である場合、要求されたリソースが、リフレッシュされた暗号化された情報を適宜ともなってクライアントに返信される。クライアントは、リソースと任意のリフレッシュされた暗号化された情報を受信する。クライアントは、任意のリフレッシュされた暗号化された情報で一意識別子に対応する以前に暗号化された情報を上書きして記憶する。ユーザの資格証明書が循環鍵ストアのいかなる循環鍵を使用しても有効であるとすることができない場合、クライアントは、新しいユーザの資格証明書を入力することができるログイン・ページにリダイレクトされる。
いくつかの実施形態では、ログイン・ページはHTTPメッセージの処理方法を変更することができる通信プロパティ(例えば、gzip圧縮に対するサポートについて、クライアント・コンピュータ・システムがプライベートであるかまたは信頼性のないクライアントであるかについて、クライアントが簡素化したコンテンツを好む上級のクライアントであることについてのプロパティ)を選択するためのインターフェースを含む。通信プロパティはログイン・ページで選択され、クライアントとのHTTP通信の処理方法を通信フィルタに示すために通信フィルタに送信される。選択された通信プロパティがサーバで受信される。
サーバは、選択された通信プロパティをクライアントがサポートしているか否かを判定するため、また他の関連通信プロパティを特定するため、クライアントに問い合わせる。サーバは、任意の選択された通信プロパティとクライアントがサポートすると特定された他の関連通信プロパティに従ってクライアントとのHTTP通信を処理するよう通信フィルタを構成する。クライアントが安全でない場所にいるということに基づいて、サーバは、循環間隔が短く、より少数の鍵を保持する別の循環鍵ストアを使用することができる。
本発明のさらなる機能および利点は、以下の説明で述べることとし、また一部は以下の説明から明らかになろうし、あるいは本発明を実践することによって知ることができよう。本発明の機能および利点は、特に特許請求の範囲で指摘された機器および組み合わせを使用して実現し、得ることができる。本発明のこれらおよび他の機能は、以下の説明および特許請求の範囲からより完全に明らかになろうし、また以下で述べるように本発明を実践することによって知ることができよう。
本発明の上記および他の利点および機能を得ることができる方法を説明するために、上記で概説した本発明のより具体的な説明が、添付の図面に示す本発明の具体的な実施形態を参照することによって提供される。これらの図面は本発明の典型的な実施形態だけを示しており、したがって本発明の範囲を限定するものとみなされるべきではないということを理解して、本発明は、添付の図面を使用してさらなる特殊性および詳細を以って記載し説明される。
本発明の原理は、リソースに対するウェブ・ベースのアクセスのために使用されるクライアントの資格証明書の安全な処理を提供する。サーバは、1つまたは複数の鍵のうち少なくとも1つの循環鍵ストアを保持する。循環鍵ストア中の各鍵は指定時間間隔(例えば10分)後に自動的に有効期限が切れる。指定時間間隔後、サーバは循環鍵ストア内部に循環新しい鍵を循環させ、循環期限切れの鍵を循環鍵ストアから取り外すように循環させる。循環鍵ストアで保持される鍵の数と指定時間間隔は管理者が構成することができる(例えば、3つの鍵を保持して5分ごとに鍵を循環する)。サーバは、ユーザの資格証明書に対するデジタル署名を生成し、循環鍵ストアの鍵に基づいてユーザの資格証明書を暗号化することによってユーザの資格証明書をセキュリティ保護する。
ユーザの資格証明書を入力するためのインターフェースを有するログイン・ページがクライアントで提示される。クライアントで入力されたユーザの資格証明書はサーバに送信される。ユーザの資格証明書の受信に呼応して、サーバはクライアントに対する一意のセッションIDを生成する。サーバは、循環鍵ストアの最新の鍵と一意のセッションIDに基づいてユーザの資格証明書に対するデジタル署名を導出する。次いでサーバは、循環鍵ストアの最新の鍵と一意のセッションIDから導出した暗号鍵に基づいてデジタル署名とユーザの資格証明書を暗号化する。暗号化された資格証明書がクライアントに返信されると、循環鍵ストアからの鍵が使用されて、資格証明書の有効性確認を試みられる。ユーザの資格証明書を暗号化するために元々使用された循環鍵ストアからの鍵が、循環鍵ストアから取り外すように循環すると、クライアントは、新しい資格証明書を入力するためのログイン・ページにリダイレクトされる。
本発明の範囲にある実施形態は、コンピュータ実行可能命令を搬送し、またはデータ構造を格納するためのコンピュータ可読媒体を含む。このようなコンピュータ可読媒体は、汎用または専用コンピュータ・システムによってアクセス可能な任意の入手可能な媒体であってよい。限定ではなく一例として、このようなコンピュータ可読媒体は、RAM、ROM、EPROM、CD−ROMまたは他の光ディスク・ストレージ、磁気ディスク・ストレージまたは他の磁気記憶装置、または所望のプログラム・コード手段をコンピュータ実行可能命令、コンピュータ可読命令、またはデータ構造の形式で搬送または記憶するために使用することができ、汎用または専用コンピュータ・システムによってアクセスすることができるいかなる他の媒体でも含むことができる。
本明細書および特許請求の範囲では、「ネットワーク」をコンピュータ・システムおよび/またはモジュール間で電子データの転送を可能にする1つまたは複数のデータリンクと定義する。情報がネットワークまたは他の通信接続(ハード・ワイヤード、無線、またはハード・ワイヤードと無線の組み合わせのどれか)を介してコンピュータ・システムに送信すなわち提供される場合、接続はコンピュータ可読媒体と厳密にみなされる。したがって、このような接続はどれでも厳密にはコンピュータ可読媒体と呼ばれる。上記の組み合わせもコンピュータ可読媒体の範囲に含まれるべきである。コンピュータ実行可能命令は、例えば汎用コンピュータ・システムまたは専用コンピュータ・システムに特定の関数または一群の関数を実行させる命令およびデータを含んでいる。コンピュータ実行可能命令は、例えばバイナリ、アセンブリ言語のような中間形式の命令、または場合によってはソース・コードであってよい。
本明細書および首記の特許請求の範囲では、「コンピュータ・システム」を、協同して電子データに対していくつかの動作を実行する1つまたは複数のソフトウェア・モジュール、1つまたは複数のハードウェア・モジュール、またはこれらの組み合わせと定義する。例えばコンピュータ・システムの定義は、パーソナル・コンピュータのハードウェア構成要素、並びにパーソナル・コンピュータのオペレーティング・システムのようなソフトウェア・モジュールを含む。モジュールの物理的レイアウトは重要ではない。コンピュータ・システムは、ネットワークを介して結合された1つまたは複数のコンピュータを含むことができる。同様に、コンピュータ・システムは、(メモリおよびプロセッサのような)内部モジュールが協同して電子データに対していくつかの動作を実行する(携帯電話またはパーソナル・デジタル・アシスタント「PDA」のような)単一の物理デバイスを含むことができる。
当業者には、本発明が、パーソナル・コンピュータ、ラップトップ・コンピュータ、ハンドヘルド装置、マルチ・プロセッサ・システム、マイクロプロセッサ・ベースの、すなわちプログラム可能な家庭用電化製品、ネットワークPC、ミニ・コンピュータ、メインフレーム・コンピュータ、携帯電話、PDA、ページャなどを含めて多くのタイプのコンピュータ・システム構成を有するネットワーク・コンピューティング環境で実施することができるということが理解されよう。本発明は、(ハード・ワイヤード・データリンク、無線データリンク、またはハード・ワイヤード・データリンクと無線データリンクの組み合わせのどれかによって)ネットワークを介してリンクされたローカル・コンピュータ・システムと遠隔コンピュータ・システムがどちらもタスクを実行する分散型システム環境で実施することもできる。分散型システム環境では、プログラム・モジュールはローカル・メモリ・ストレージ・デバイスと遠隔メモリ・ストレージ・デバイスの両方に置くことができる。
図1および以下の説明は、本発明を実装することができる適切なコンピューティング環境の簡単で一般的な説明を提供することを意図している。必ずしもこの通りである必要はないが、本発明は、コンピュータ・システムが実行しているプログラム・モジュールのようなコンピュータ実行可能命令という一般的な状況で説明する。一般に、プログラム・モジュールは、特定のタスクを実行し、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、構成要素、データ構造などを含む。データ構造に関連付けられたコンピュータ実行可能命令とプログラム・モジュールとは、本明細書で開示された方法の動作を実行するためのプログラム・コード手段の例を表している。
図1を参照すると、本発明を実装するシステム例は、汎用コンピューティング・デバイスを、処理装置121とシステム・メモリ122と、システム・メモリ122を含む様々なシステム構成要素を処理装置121に結合するシステム・バス123とを含めてコンピュータ・システム120の形式で含む。処理装置121は、本発明の機能を含めてコンピュータ・システム120の機能を実装するように設計されたコンピュータ実行可能命令を実行することができる。システム・バス123は、メモリ・バスまたはメモリ・コントローラ、周辺バス、および様々なバス・アーキテクチャのどれかを使用するローカルバスを含めたいくつかのタイプのバス構造のどれであってもよい。システム・メモリは、読取専用メモリ(「ROM」)124とランダム・アクセス・メモリ(「RAM」)125を含む。起動時などにコンピュータ・システム120内の素子間で情報を転送することに役立つ基本ルーチンを含んでいる基本入出力システム(「BIOS」)126をROM124に記憶することができる。
コンピュータ・システム120は、磁気ハードディスク139から読み取る/に書き込むための磁気ハードディスク・ドライブ127、取り外し可能な磁気ディスク129から読み取る/に書き込むための磁気ディスク・ドライブ128、CD−ROMまたは他の光媒体のような取り外し可能な光ディスク131から読み取る/に書き込むための光ディスク・ドライブ130も含むことができる。磁気ハードディスク・ドライブ127、磁気ディスク・ドライブ128、および光ディスク・ドライブ130は、それぞれにハードディスク・インターフェース132、磁気ディスクドライブ・インターフェース133、および光ドライブ・インターフェース134によってシステム・バス123に接続される。これらドライブおよびこれらの関連するコンピュータ可読媒体は、コンピュータ・システム120に対してコンピュータ実行可能命令、データ構造、プログラム・モジュール、および他のデータの不揮発性ストレージを提供する。本明細書で説明される実施形態は磁気ハードディスク139、取り外し可能な磁気ディスク129、および取り外し可能な光ディスク131を使用しているが、磁気カセット、フラッシュ・メモリ・カード、デジタル多用途ディスク、ベルヌーイ・カートリッジ、RAM、ROMなどを含めてデータを記憶するための他のタイプのコンピュータ可読媒体を使用することもできる。
1つまたは複数のプログラム・モジュールを含んでいるプログラム・コード手段は、オペレーティング・システム135、1つまたは複数のアプリケーション・プログラム136、他のプログラム・モジュール137、およびプログラム・データ138を含めて、ハードディスク139、磁気ディスク129、光ディスク131、ROM124、またはRAM125に記憶することができる。ユーザは、キーボード140、ポインティング・デバイス142、または例えばマイクロフォン、ジョイスティック、ゲームパッド、スキャナーなどのような他の入力装置(図示せず)を介してコンピュータ・システム120にコマンドおよび情報を入力することができる。これらおよび他の入力装置は、システム・バス123に結合されている入出力インターフェース146を介して処理装置121に接続することができる。入出力インターフェース146は、例えばシリアル・ポート・インターフェース、PS/2インターフェース、パラレル・ポート・インターフェース、ユニバーサル・シリアル・バス(「USB」)インターフェース、または米国電気電子学会(「IEEE」)1394インターフェース(すなわち、FireWireインターフェース)のような幅広い様々な異なるインターフェースのどれでも論理的に表し、または異なるインターフェースの組み合わせを論理的に表すことさえできる。
モニタ147または他の表示装置もビデオ・アダプタ148を介してシステム・バス123に接続される。スピーカー169または他の音声出力装置も、音声インターフェース149を介してシステム・バス123に接続される。例えばプリンターのような他の周辺装置(図示せず)も、コンピュータ・システム120に接続することができる。コンピュータ・システム120は、例えば事務所全体または企業全体のコンピュータ・ネットワーク、ホームネットワーク、イントラネット、および/またはインターネットのようなネットワークに接続可能である。コンピュータ・システム120は、例えば遠隔コンピュータ・システム、遠隔アプリケーション、および/または遠隔データベースのような外部ソースとそのようなネットワークを介してデータを交換することができる。
コンピュータ・システム120は、それを介して外部ソースからデータを受信し、かつ/または外部ソースにデータを送信するネットワーク・インターフェース153を含む。図1に示すように、ネットワーク・インターフェース153は、リンク153を介した遠隔コンピュータ・システム183とのデータの交換に役立つ。ネットワーク・インターフェース153は、ネットワーク・インターフェース・カードおよび対応するネットワーク・ドライバ・インターフェース規約(「NDIS」)スタックのような1つまたは複数のソフトウェアおよび/またはハードウェア・モジュールを論理的に表すことができる。リンク151はネットワークの一部(例えば、イーサネット(登録商標)のセグメント)を表し、遠隔コンピュータ・システム183はネットワークのノードを表す。例えば遠隔コンピュータ・システム183は、コンピュータ・システム120にリソース(例えば、電子メール・メッセージ)へのウェブ・ベースのアクセスを提供するサーバ・コンピュータ・システムであってよい。一方、遠隔コンピュータ・システム183は、コンピュータ・システム120からリソースにアクセスするためにウェブ・ベースのアクセスを使用するクライアント・コンピュータ・システムであってよい。
同様に、コンピュータ・システム120は、コンピュータ・システム120自体が外部ソースからデータを受信し、かつ/または外部ソースにデータを送信する入出力インターフェース146を含む。入出力インターフェース146は、コンピュータ・システム120がそれを介して外部ソースからデータを受信し、かつ/または外部ソースにデータを送信するリンク159を介してモデム154(例えば、標準モデム、ケーブルモデム、またはデジタル加入者回線(「DSL」)モデム)に結合されている。図1に示すように、入出力インターフェース146とモデム154は、リンク152を介した遠隔コンピュータ・システム193とのデータの交換に役立つ。リンク152はネットワークの一部を表し、遠隔コンピュータ・システム193はネットワークのノードを表す。例えば遠隔コンピュータ・システム193は、コンピュータ・システム120にリソース(例えば、電子メール・メッセージ)へのウェブ・ベースのアクセスを提供するサーバ・コンピュータ・システムであってよい。一方、遠隔コンピュータ・システム193は、コンピュータ・システム120からリソースにアクセスするためにウェブ・ベースのアクセスを使用するクライアント・コンピュータ・システムであってよい。
図1は本発明に適したオペレーティング環境を表しているが、本発明の原理は、必要に応じて適切な修正を行い本発明の原理を実装することができるどのシステムでも使用することができる。図1に示した実施形態は説明のみを目的としており、本発明の原理を実装することができる幅広い様々な環境のほんの一部さえも表すものではない。
本発明のモジュール並びに関連するプログラム・データは、コンピュータ・システム120に関連付けられたコンピュータ可読媒体のどれからでも記憶し、アクセスすることができる。例えばそのようなモジュールの一部および関連するプログラム・データの一部は、システム・メモリ122での記憶用に、オペレーティング・システム135、アプリケーション・プログラム136、プログラム・モジュール137、および/またはプログラム・データ138に含めることができる。例えば磁気ハードディスク139のような大容量記憶装置がコンピュータ・システム120に結合されている場合、そのようなモジュールおよび関連するプログラム・データも大容量記憶装置に記憶することができる。ネットワーク接続された環境で、コンピュータ・システム120に関連して示されたプログラム・モジュールまたはその一部は、遠隔コンピュータ・システム183および/または遠隔コンピュータ・システム193に関連付けられたシステム・メモリおよび/または大容量記憶装置のような遠隔メモリ・ストレージ・デバイスに記憶することができる。そのようなモジュールの実行は、前述のような分散環境で実行することができる。
図2Aおよび図2Bは、クライアントがサーバのリソースへのアクセスを要求する際にクライアント側の資格証明書をセキュリティ保護することに役立つネットワーク・アーキテクチャ200の一例を示している。クライアント・コンピュータ・システム201とサーバ・コンピュータ・システム211は、例えばローカル・エリア・ネットワーク(「LAN」)、ワイドエリアネットワーク(「WAN」)、または場合によってはインターネットのような共通ネットワークに接続することができる。クライアント・コンピュータ・システム201は、リソースへのウェブ・ベースのアクセスを要求し、受信したリソースをクライアント・コンピュータ・システム201で提示するために使用することのできるブラウザ202を含む。クッキー203は、サーバ・コンピュータ・システムから以前に受信したデータの一部を記憶する1つまたは複数のクッキーを含むことができる。クッキー203内のデータは、個人的な情報または好みをサーバ・コンピュータ・システムに示し、かつ/または記憶されている情報の一部を手動で入力するユーザの手間を省くために、対応するサーバ・コンピュータ・システムに送信されることがある。
サーバ・コンピュータ・システム211は、例えば電子メール・メッセージ、アドレスブック情報、およびカンレンダリング情報のような電子メール・リソースへのアクセスを提供する電子メール・サーバ212を含む。電子メール・リソースにアクセスする許可を得るには、ユーザは電子メール・サーバ212によって認証するために電子メール・サーバ212に資格証明書を提供することが要求される場合がある。電子メール・サーバ212は、電子メール・リソースへのアクセスを求める要求が承諾されるべきか否かを判定するために、受信した資格証明書を資格証明書データベース213の許可された資格証明書と比較することができる。ユーザが許可されている場合、電子メール・サーバ212は、要求された電子メール・リソースを要求側のクライアント・コンピュータ・システムに返信することができる。ユーザが許可されていない場合、電子メール・サーバ212は、無許可メッセージ(例えば、ステータス・コード401「無許可」を有するハイパー・テキスト転送プロトコル(「HTTP」)メッセージ)を要求側クライアント・コンピュータ・システムに返信することができる。
サーバ・コンピュータ・システム211は、鍵(キー)生成モジュール214も含むことができる。鍵生成モジュール214は、循環鍵(キー)群220に新しい鍵を生成して循環させることができ、期限切れの鍵を循環鍵群220から取り外すように循環させることができる。鍵生成モジュール214は、1つまたは複数の循環鍵ストアを保持するように構成することができる。例えばネットワーク・アーキテクチャ200で、鍵生成モジュール214は、非信頼用の循環鍵(キー)ストア221とプライベート循環鍵(キー)ストア231を保持する。
鍵が循環される際の指定時間間隔は設定可能である。すなわち、指定された間隔で循環鍵ストア内に新たに生成された鍵を循環させ、期限切れになった鍵を循環鍵ストアから除去するよう鍵生成モジュール214を構成することができる。例えば、鍵生成モジュール124は、10分ごとに、新しい鍵をプライベート循環鍵ストア231に挿入し、期限切れの鍵をプライベート循環鍵ストア231から除去することができる。循環鍵ストアで保持されている鍵の数も構成可能である。すなわち鍵(キー)生成モジュール214は、循環鍵ストア内に指定された数の鍵を保持するように構成することもできる。例えば、鍵生成モジュール214は、非信頼用の循環鍵ストア221内に3つの鍵を保持するように構成することができる。
保持される鍵の数と指定された間隔は循環鍵ストアによって異なる場合がある。例えば、鍵生成モジュール214は、非信頼用の鍵ストア221内に5分という指定された循環間隔で3つの鍵を保持し、プライベート鍵ストア231内に1時間という指定された循環間隔で4つの鍵を保持することができる。クライアント・コンピュータ・システムに関連付けられたプロパティに応じて、本発明の原理を実装するために異なる鍵ストアを使用することができる。循環鍵ストアの鍵の下に示した矢印は、循環鍵ストアが循環して最終的に期限切れの鍵が出るまで、新しい鍵が追加されるとこれらの鍵が循環に従って送られていくことを示している。例えば、プライベート循環鍵ストア231に新しい鍵が追加されると、鍵232は循環に従って鍵233の位置に入る。
サーバ・コンピュータ・システム211はログイン・ページ217も含む。ログイン・ページ217は、ユーザの資格証明書を提出し、クライアント・コンピュータ・システムに関連付けられた通信プロパティを選択するためのインターフェースを提供するウェブ・ページ(例えば、アクティブ・サーバ・ページ「ASP」ページ)であってよい。クライアント・コンピュータ・システムがログイン・ページ217に対応するユニフォーム・リソースID(「URI」)にアクセスすることに呼応して、サーバ・コンピュータ・システム211はログイン・ページ217をクライアント・コンピュータ・システムに送信することができる。クライアント側のブラウザはクライアント・コンピュータ・システムでログイン・ページ217を提示することができる。ログイン・ページ217で提出されたユーザの資格証明書と通信プロパティの選択は、サーバ・コンピュータ・システム211に送信することができる。
サーバ・コンピュータ・システムは通信フィルタ243も含む。通信フィルタ243は、例えばサーバ・コンピュータ・システム211の中へ/から外へ送信される要求、応答、およびメッセージのようなHTTP通信をインターセプト(intercept)することができる。通信フィルタ243は、暗号化されたクッキーに含まれるクライアント状態情報を参照して、サーバ・コンピュータ・システム211とクライアント・コンピュータ・システムの間のHTTP通信を(例えば、HTTPヘッダーを修正することによって)変更すべきか否かを判定すすることができる。通信フィルタ243は、循環鍵ストアの鍵を使用して)暗号アルゴリズムを実装して、ユーザの資格証明書を暗号解読し有効性確認することもできる。
サーバ・コンピュータ・システム211は、ログイン要素バリデータ(validator;検証器)216も含む。ログイン要素バリデータ216は、ログイン・ページ217で入力されて提出されたユーザの資格証明書を受信することができ、(循環鍵ストアの鍵を使用して)暗号アルゴリズムを実装して、提出されたユーザの資格証明書をデジタル署名し、暗号化することができる。ログイン要素バリデータ216は、サーバ・コンピュータ・システム211のリソースへのウェブ・ベースのアクセスを要求するクライアント・コンピュータ・システムのために、一意のセッションID(例えば、グローバル一意識別子(「GUID」))を生成することもできる。ログイン要素バリデータ216は、一意のセッションIDと、ユーザの資格証明書および時間依存デジタル署名を含む暗号化された情報とをクライアント・コンピュータ・システムに送信することができる。例えば、ログイン要素バリデータ216は、一意のセッションIDと暗号化されたユーザの資格証明書を、クッキー203での記憶用にクライアント・コンピュータ・システム201に送信することができる。
図3は、クライアントがサーバのリソースへのアクセスを要求する際にクライアント側の資格証明書をセキュリティ保護する方法300の流れ図の一例を示している。その方法300を、図2Aに示すクライアント・コンピュータ・システムとサーバ・コンピュータ・システムに関して説明する。方法300は、第1の要求をサーバに送信する動作(動作301)を含む。動作301は、クライアント・コンピュータ・システムが、サーバのリソース(例えば、電子メール・メッセージ)へのウェブ・ベースのアクセスを求める第1の要求を送信することを含むことができる。
例えば、クライアント・コンピュータ・システム201は、メール・サーバのURI267を含む要求251をサーバ・コンピュータ・システム211に送信することができる。メール・サーバのURI267は、電子メール・サーバ212に対応するURIであってよい。すなわち、電子メール・サーバが保持している電子メール・リソースにアクセスすることを望むユーザは、メール・サーバのURI267にアクセスすることによって電子メール・リソースへのウェブ・ベースのアクセスを試みることができる。したがって、クライアント・コンピュータ・システム201のユーザは、クライアント・コンピュータ・システム201に要求251を送信させるようブラウザ202にコマンドを入力する。
方法300は、第1の要求をクライアントから受信する動作(動作306)を含む。動作306は、サーバ・コンピュータ・システムが、サーバのリソース(例えば、電子メール・メッセージ)へのウェブ・ベースのアクセスを求める第1の要求を受信することを含むことができる。例えば、サーバ・コンピュータ・システム211は、メール・サーバのURI267を含む要求251をクライアント・コンピュータ・システム201から受信することができる。通信フィルタ243を通過する破線で示すように、通信フィルタ243は要求251を変更せずに通過させることができるよう構成することができる。この結果、要求251は修正なしに電子メール・サーバ212に転送することができる。
方法300は、クライアント側の資格証明書をセキュリティ保護する機能結果志向(functional result-oriented)のステップ(ステップ311)を含む。ステップ311は、クライアント側の資格証明書をセキュリティ保護するすべての対応する動作をも含むことができる。しかし図3に示す例では、ステップ311は、第1の要求に呼応してクライアントをログイン・ページにリダイレクトする対応する動作(動作307)を含む。動作307は、第1の要求に呼応してサーバ・コンピュータ・システムがクライアント・コンピュータ・システムをログイン・ページにリダイレクトすることを含むことができる。
要求251に呼応して、電子メール・サーバ212は、無許可インジケータ272を含む応答(レスポンス)252を送信することができる。応答252は、ユーザの資格証明書を含んでいない要求251の結果として返信されたステータス・コード401「無許可」を有するHTTPメッセージであってよい。通信フィルタ243は、無許可インジケータを含むメッセージをインターセプトするように構成することができる。この結果、通信フィルタ243は応答252をインターセプトすることができる。
通信フィルタ243は、クライアント・コンピュータ・システム201を、ユーザの資格証明書を入力するためのインターフェースを提供するログイン・ページにリダイレクトさせるために、応答252のコンテンツを(例えば、HTTPヘッダーを変更することによって)修正することができる。例えば、通信フィルタ243は、応答252から無許可インジケータ272を除去し、ログイン・ページのURI263とリダイレクト・インジケータ271を応答252に挿入することができ、これにより応答252Aが生じる。応答252Aは、ステータス・コード302「発見」を有するHTTPメッセージであってよい。ログイン・ページのURI263は、ログイン・ページ271にアクセスするために使用されるURIであってよい。この結果、応答252Aは、要求されたリソース(例えば、電子メール・メッセージ)の代わりにログイン・ページのURI263にアクセスされるということをクライアント・コンピュータ・システム201に示すことができる。
方法300は、ログイン・ページにリダイレクトされる動作(動作(act)302)を含む。動作(act)302は、クライアント・コンピュータ・システムが、ユーザの資格証明書を受け入れるためのインターフェースを提供するログイン・ページにリダイレクトされることを含むことができる。例えば、クライアント・コンピュータ・システム201はログイン・ページ217にリダイレクトすることができる。要求252Aの受信に呼応して、クライアント・コンピュータ・システム201は、ログイン・ページのURI263を含む要求(リクエスト)257をサーバ・コンピュータ・システム211に送信することができる。要求257に呼応して、サーバ・コンピュータ・システム211は、ログイン・ページ217を含む応答(レスポンス)258をクライアント・コンピュータ・システム201に送信することができる。ログイン・ページは、例えばアクティブ・サーバ・ページ(「ASP」)ページのようなウェブ・ページであってよい。
ブラウザ202はクライアント・コンピュータ・システム201でログイン・ページ217を提示することができる。図3から移動して次に図6を参照すると、図6は、本発明の原理により、ユーザの資格証明書と通信プロパティの選択を受け入れることのできるログイン・ページの一例600を示している。ログイン・ページ217はログイン・ページ600に類似していてよい。ログイン・ページ600は、ユーザIDを受け入れることのできるフィールド606と、対応するパスワードを受諾することのできるフィールド607、を含む。
クライアント側のブラウザが「上級のクライアント」であることを示す通信プロパティ選択を受け入れるためにラジオ・ボタン601を使用することができる。クライアント側のブラウザが「ダウン・レベル・クライアント」であることを示す通信プロパティ選択を受け入れるためにラジオ・ボタン602を使用することができる。上級クライアントは、例えばスクリプトを実行すること、またはマルチメディア出力を提示することのようなさらに高度な処理を実行する機能を含むことができる。一方、ダウン・レベル・クライアントは、高度な処理を実行する機能を含むことはできない。この結果、サーバから返信されたコンテンツの豊かさは、クライアント側のブラウザの機能に応じて適切に調整することができる。上級クライアントが短縮された帯域幅および/または長い待ち時間接続(例えば、ダイヤルアップ接続)を介してサーバに接続されている場合、ダウン・レベル・クライアントの選択はサーバから返信されるコンテンツ量を低減することができる。
クライアント側のブラウザが「信頼のない(非信頼の)クライアント・コンピュータ・システム」であることを示す通信プロパティ選択を受け入れるために、ラジオ・ボタン603を使用することができる。クライアント側のブラウザが「プライベート・クライアント・コンピュータ・システム」にあることを示す通信プロパティ選択を受け入れるために、ラジオ・ボタン604を使用することができる。プライベート・クライアント・コンピュータ・システムは、公共アクセス(public access)が限定された(あるいはまったくない)家庭用または企業用のクライアント・コンピュータ・システムであってよい。「信頼のないクライアント・コンピュータ・システム」は、例えばホテルまたは空港のインターネット・キオスクのようなさらに多くの公共アクセスを有するクライアント・コンピュータ・システムであってよい。この結果、サーバから返信されたコンテンツに関連付けられたセキュリティは、クライアント・コンピュータ・システムの信頼性に応じて適切に調整することができる。入力されたユーザの資格証明書と選択された通信プロパティをサーバ・コンピュータ・システムに送信するためにボタン608を選択することができる。
図6から移動して次に図5を参照すると、図5は、本発明の原理により、クライアントに関連付けられた通信プロパティを決定するための方法500の流れ図の一例を示している。方法500を、ネットワーク・アーキテクチャ200に示すクライアント・コンピュータ・システムとサーバ・コンピュータ・システムに関して示す。方法500は、ログイン・ページをクライアントに送信する動作(act)(動作(act)501)を含む。動作501は、サーバ・コンピュータ・システムが、HTTPメッセージの処理方法を変更することができる1つまたは複数の通信プロパティを選択するためのインターフェースを含むログイン・ページを送信することを含むことができる。例えば、サーバ・コンピュータ・システム211は、ログイン・ページ600(または類似のログインページ)をクライアント・コンピュータ・システム201に送信することができる。
方法500は、サーバからログイン・ページを受信する動作(動作505)を含む。動作500は、クライアント・コンピュータ・システムが、サーバによるHTTPメッセージの処理方法を変更することができる1つまたは複数の通信プロパティを選択するためのインターフェースを含むログイン・ページを受信することを含むことができる。例えば、クライアント・コンピュータ・システム201はログイン・ページ600(または類似のログインページ)を受信することができる。方法500は、クライアントでログイン・ページを提示する動作(動作506)を含む。動作506は、クライアント・コンピュータ・システムのブラウザがクライアント・コンピュータ・システムでログイン・ページを提示することを含むことができる。例えば、ブラウザ202は、クライアント・コンピュータ・システム201でログイン・ページ600(または類似のログイン・ページ)を提示することができる。
方法500は、1つまたは複数の通信プロパティの少なくとも1つで選択を受信する動作(動作507)を含む。動作507は、クライアント・コンピュータ・システムが、ログイン・ページで1つまたは複数の通信プロパティの少なくとも1つの選択を受け取ることを含むことができる。例えば、ユーザはクライアント・コンピュータ・システム201で、ログイン・ページ600に通信プロパティ選択を入力するために入力装置(例えば、キーボードおよび/またはマウス)を操作することができる。ログイン・ページ600は、ユーザが入力した選択を受け取ることができる。例えば、ログイン・ページ600は、ラジオ・ボタン601またはラジオ・ボタン602のユーザが入力した選択、およびラジオ・ボタン603またはラジオ・ボタン604のユーザが入力した選択を受け取ることができる(場合によっては、フィールド606および607でユーザが入力した資格証明書の受け取りと共に)。
方法500は、サーバの通信フィルタに通信プロパティ選択を送信する動作(動作508)を含む。動作508は、クライアント・コンピュータ・システムが、サーバ・コンピュータ・システムの通信フィルタに通信プロパティ選択を送信することを含むことができる。例えば、クライアント・コンピュータ・システム201は、サーバ・コンピュータ・システム211に通信プロパティ選択(例えば、ユーザが入力した資格証明書と共に)を送信することができる。方法500は、クライアントから少なくとも1つの通信プロパティ選択を受信する動作(動作502)を含む。動作502は、サーバ・コンピュータ・システムがログイン・ページから選択可能な1つまたは複数の選択可能な通信プロパティの少なくとも1つの選択を受信することを含むことができる。例えば、通信フィルタ243は、クライアント・コンピュータ・システム201から(例えば、ログイン・ページ600で選択された)1つまたは複数の通信プロパティ選択を受信することができる。
方法500は、受信した少なくとも1つの通信プロパティ選択がサポートされているか否かを判定するために、またクライアントがサポートする他の関連通信プロパティを特定するために、クライアントに問い合わせる動作(動作503)を含む。動作503は、サーバ・コンピュータ・システムが、受信した通信プロパティ選択がサポートされているか否かを判定するため、またクライアントがサポートする他の関連通信プロパティを特定するために、クライアント・コンピュータ・システムに問い合わせることを含むことができる。例えば、サーバ・コンピュータ・システムは、ユーザ−エージェントのHTTPヘッダーとクライアント・コンピュータ・システムの以前の知識を使用してクライアント・コンピュータ・システムの機能を決定することができる。クライアント・コンピュータ・システムの追加の機能は、ログイン・ページを介して、またクライアント・コンピュータ・システムのログイン・ページ内で実行されているスクリプト(例えば、Java(登録商標)Scriptのスクリプト)から、決定することができる。
別法として、クライアント・コンピュータ・システムに対する問い合わせは、クライアント・コンピュータ・システムに構成情報をサーバ・コンピュータ・システムに対して明らかにさせる要求をクライアント・コンピュータ・システムに送信することを含むことができる。例えば、サーバ・コンピュータ・システム211は、ブラウザ202の構成を求める要求をクライアント・コンピュータ・システム201に送信することができる。これに呼応して、ブラウザ202は、例えば、バージョン番号とブラウザ202がgzip圧縮のようなHTTP圧縮をサポートするか否かのような構成情報を示すことができる。バージョン番号に基づいて、サーバ・コンピュータ・システム211は、ログイン・ページ600での「上級クライアント」の選択が適切であったか否かを判定することができる。例えば、サーバ・コンピュータ・システムは、ブラウザ202のバージョンがスクリプトをサポートしないと判定することができる場合がある。したがって、「上級クライアント」が選択された場合でも、サーバ・コンピュータ・システムは、簡素化したコンテンツをクライアント・コンピュータ・システム201に提供することができる。
コンテンツを簡素化することは、クライアント・コンピュータ・システムに配信されるコンテンツの量を低減することを含むことができる。例えば、ヘルプ情報に対するダウン・レベル・クライアント要求に呼応して、サーバ・コンピュータ・システムは、縮小した(冗長でない)ヘルプ情報を返信することができる。一方、ヘルプ情報に対する上級クライアント要求に呼応して、サーバ・コンピュータ・システムは、より充実させたヘルプ情報、例えば、検索スクリプトおよび他の拡張機能を含む情報を返信することができる。サーバ・コンピュータ・システムは、クライアント・コンピュータ・システムの信頼性に基づいて配信されたコンテンツを変更することができる。例えば、サーバ・コンピュータ・システムは、機密に関わる企業データへのアクセス方法に関するヘルプ情報をプライベート・クライアント・コンピュータシステムに提供することができるが、同じ情報を信頼のないクライアント・コンピュータ・システムには提供することができない。
サーバ・コンピュータ・システム211は、知らされた機能が適切にサポートされていることを検証するためにブラウザ202をテストする場合がある。例えば、ブラウザ202がgzip圧縮に対するサポートを示す場合、サーバ・コンピュータ・システム211は、ブラウザ202がgzip圧縮コンテンツを適切に処理するか否かを判定するためにgzip圧縮コンテンツをクライアント・コンピュータ・システム201に送信することができる。クライアント・コンピュータ・システム201が、gzip圧縮に対するサポートを指示する適切な要求ヘッダーを構成することがあってよい。クライアント・コンピュータ・システム201は、サーバ・コンピュータ・システム211へ送信され/サーバ・コンピュータ・システム211で受信されるクライアント要求に、適切な要求ヘッダーを含めることができる。これに呼応して、サーバ・コンピュータ・システム211は、クライアント・コンピュータ・システム201がgzip圧縮したコンテンツを適切にキャッシュして、ウェブ・ベースのアプリケーションのセキュリティと保全性(integrity)を害さない方法でgzip圧縮したコンテンツを処理するか否かを判定するために、クライアント・コンピュータ・システムに問い合わせすることができる。
方法500は、選択され、特定された通信プロパティに従って通信フィルタを構成する動作(動作504)を含む。動作504は、サーバ・コンピュータ・システムが、任意の選択された通信プロパティとクライアントがサポートするものであると特定された他の関連プロパティに従ってクライアントとのHTTP通信を処理するよう通信フィルタを構成することを含むことができる。例えば、サーバ・コンピュータ・システム211は、ブラウザ202の通信プロパティ選択(例えば、上級クライアントおよび信頼のないクライアント・コンピュータ・システム)と特定された他の関連通信プロパティ(例えば、HTTP圧縮サポート)に従ってクライアント・コンピュータ・システム201とのHTTP通信を処理するように通信フィルタ243を構成することができる。
HTTPメッセージがサーバ・コンピュータ・システム211からクライアント・コンピュータ・システム201に送信される場合、通信フィルタ243は、コンテンツがクライアント・コンピュータ・システム201の通信プロパティに準拠するようにHTTPメッセージ・ヘッダーとHTTPメッセージのコンテンツを変更することができる。例えば、電子メール・サーバ212が圧縮されていない電子メール情報を有するメッセージをクライアント・コンピュータ・システム201に送信する場合、通信フィルタ243は、メッセージをインターセプトし、コンテンツをgzip圧縮し、その電子メール情報がgzip圧縮されていることを示すようにメッセージ・ヘッダーを変更することができる。別法として、例えば、インターネット情報サーバ(「IIS」)のモジュールのようなサーバ・コンピュータ・システムの他のモジュールは、gzip圧縮を実装することができる。この結果、コンテンツを、クライアント・コンピュータ・システムの機能を最大限に活用し、ユーザの望みに従うように、クライアント・コンピュータ・システムで提示することができる。
サーバ・コンピュータ・システム211が、クライアント側のブラウザが「プライベート・クライアント・コンピュータ・システム」にあることを指示する選択を受信する場合、ユーザの資格証明書をセキュリティ保護するために、例えばプライベート鍵ストア231のようなプライベート循環鍵ストアを使用することができる。一方、サーバ・コンピュータ・システム211が、クライアント側のブラウザが「信頼のないクライアント・コンピュータ・システム」にあることを指示する選択を受信する場合、ユーザの資格証明書をセキュリティ保護するために、信頼のない鍵ストア221のような信頼のない循環鍵ストアを使用することができる。
次に再び図3を参照すると、方法300は、資格証明書をサーバに提出するためにログイン・ページを使用する動作(動作303)を含む。動作303は、クライアント・コンピュータ・システムが、資格証明書をサーバ・コンピュータ・システムに提出するためにログイン・ページを使用することを含むことができる。例えば、クライアント・コンピュータ・システム201は、資格証明書を(場合によっては、通信プロパティ選択と共に)サーバ・コンピュータ・システム211に提出するためにログイン・ページ217を使用することができる。ユーザの資格証明書と通信プロパティ選択を、ログイン要素のフォーマット・バリデータ(format validator)に提出されるポスト・メッセージにログイン要素として含めることができる。例えば、クライアント・コンピュータ・システム201は、ログイン要素273を含むポスト・メッセージ254をサーバ・コンピュータ・システムに送信することができる。
方法300は、ログイン・ページで提出されたユーザの資格証明書を受信する動作(動作308)を含む。動作308は、サーバ・コンピュータ・システムが、ログイン・ページで提出されたユーザの資格証明書を受信することを含むことができる。例えば、サーバ・コンピュータ・システム211は、クライアント・コンピュータ・システム201から(場合によっては、通信プロパティ選択と共に)ユーザの資格証明書を受信することができる。資格証明書と通信プロパティ選択は、ポスト・メッセージでログイン要素として受信することができる。例えば、サーバ・コンピュータ・システム211は、ログイン要素273を含むポスト・メッセージ254をクライアント・コンピュータ・システム201から受信することができる。通信フィルタ243を通過する破線で示すように、通信フィルタ243を、ポスト・メッセージ254を変更せずにポスト・メッセージ254を通過させることができるように構成することができる。この結果、ポスト・メッセージ254を、修正なしにログイン要素バリデータ216に転送することができる。その修正の可能性、悪質な処理またはパケットに対するユーザの「スニッフィング(sniffing)」を低減し、また媒介者攻撃の可能性を低減するために、例えばトランスポート・レイヤ・セキュリティ(「TLS」)またはセキュア・ソケット・レイヤ(「SSL」)を使用した相互に認証された接続を、適宜、クライアント・コンピュータ・システムとサーバ・コンピュータ・システムの間に設定することができる。
ログイン要素バリデータ(検証器)216は、クライアント・コンピュータ・システム201に対する例えばグローバル一意識別子(「GUID」)のような一意識別子を生成することもできる。ログイン要素バリデータ216は、受信したユーザの資格証明書(例えば、ログイン要素273に含まれる)をセキュリティ保護するために、デジタル署名と暗号アルゴリズムを使用することができる。例えば、ログイン要素バリデータ216は、受信したユーザの資格証明書の有効性を引き続いて確認するのに使用されるデジタル署名を生成することができる。ログイン要素バリデータ216は、循環鍵ストアの最新の鍵と生成された一意識別子と第1の定数列との組み合わせを(例えば、SHA−1またはMD−5ハッシング・アルゴリズムを使用して)ハッシュすることにより、データにデジタル署名するために使用することのできる署名鍵を導出することができる。いくつかの実施形態では、デジタル署名はハッシュ・メッセージ認証コードとして表される。したがって、次の式1によって署名鍵を導出することができる。
SIG=SHA−1(KMOST CURRENT ROTATING、GUID、HMACKeyString)・・・式1
式1で、KMOST CURRENT ROTATINGは、適切な循環鍵ストアの最新の鍵を表している。例えば、ブラウザ202が(例えば、通信プロパティ選択によって指示されるように)「プライベート・クライアント・コンピュータ・システム」にある場合、KMOST CURRENT ROTATINGはプライベート循環鍵ストア231の最新の鍵(例えば、鍵232)を表す。GUIDは、クライアント・コンピュータ・システム201に対応する一意識別子を表す。HMACKeyStringは、テキストの定数列を表す。次の式2によってKSIGからハッシュ・メッセージ認証コードを生成することができる。
デジタル署名=HMAC(KSIG、(GUID、{ユーザ名:パスワード}、フラグ))・・・式2
式2で、HMACは、例えばRequest For Comments(「RFC」)2104に記載のようなハッシュ・メッセージ認証コード・アルゴリズムを表す。式2の(GUID、{ユーザ名:パスワード}、フラグ)部分は、GUIDとユーザの資格証明書と通信プロパティ選択がハッシュ・メッセージ認証コード・アルゴリズムに入力されるテキストとして含まれることを表すフラグとを表す。ユーザの資格証明書を、適宜、ハッシュ・メッセージ認証コード・アルゴリズムに準拠させるためにテキスト形式に(例えば、ユーザの資格証明書をbese64符号化することによって)変換することができる。ハッシュ・メッセージ認証コード・アルゴリズムに関して説明したが、デジタル署名を生成するために使用されるアルゴリズムは重要ではなく、事実上いかなるデジタル署名、ダイジェスト、または認証コード・アルゴリズムを使用することもできる。
ログイン要素バリデータ216は、循環鍵ストアの最新の鍵と一意識別子と第2の定数列との組み合わせをハッシュすることによって、データを暗号化するために使用することのできる暗号鍵を導出することもできる。したがって、次の式3によって暗号鍵を導出することができる。
ENC=SHA―1(KMOST CURRENT ROTATING、GUID、EncryptKeyStirng)・・・式3
式3で、KMOST CURRENT ROTATINGは、署名鍵を生成する際に使用された循環鍵ストアからの最新の鍵を表す。したがって、KSIGを生成するために鍵232が使用された場合、鍵232はKENCを生成するためにも使用することができる。GUIDは、クライアント・コンピュータ・システム201に対応する一意識別子を表す。EncryptKeyStringは、HMACKeyStringとは異なるテキストの定数列を表す。したがって、次の式4によって暗号化された情報を生成することができる。
暗号化された情報=KENC[デジタル署名、{ユーザ名:パスワード}、フラグ]・・・式4
式4では、デジタル署名は、式2によって生成されたデジタル署名を表し、{ユーザ名:パスワード}はユーザの資格証明書を表し、フラグは通信プロパティ選択を表す。
ステップ311は、ユーザの資格証明書の少なくとも一部と時間依存署名を表す暗号化された情報を送信する対応する動作(動作309)を含む。動作309は、サーバ・コンピュータ・システムが、ユーザの資格証明書の少なくとも一部と時間依存署名を表す暗号化された情報をクライアント・コンピュータ・システムに送信することを含むことができる。例えば、ログイン要素バリデータ216は、GUID274および暗号化された資格証明書275を含むメッセージ255をクライアント・コンピュータ・システム201に送信することができる。通信フィルタ243を通過する破線で示すように、通信フィルタ243を、メッセージ255を変更せずに通過させるように構成することができる。したがって、メッセージ255を修正なしにクライアント・コンピュータ・システム201に転送することができる。
方法300は、ユーザの資格証明書の少なくとも一部と時間依存署名を表す暗号化された情報を受信する動作(動作304)を含む。動作304は、クライアント・コンピュータ・システムが、ユーザの資格証明書の少なくとも一部と時間依存署名を表す暗号化された情報をサーバ・コンピュータ・システムから受信することを含むことができる。例えば、クライアント・コンピュータ・システム201は、GUID274と暗号化された資格証明書275を含むメッセージ255をサーバ・コンピュータ・システム211から受信することができる。クライアント・コンピュータ・システム201がGUID274と暗号化された資格証明書275をクッキー203に記憶するように、メッセージ255を構成することができる。例えば、メッセージ255は次のように構成することができる。
Set−Cookie:sessionid={GUID};パス=/
Set−Cookie:creddata={暗号化された情報};パス=/
方法300は、暗号化された情報を含む第2の要求を送信する動作(動作305)を含む。動作305は、クライアント・コンピュータ・システムが、リソース(例えば、第1の要求で要求された電子メール・メッセージ)へのウェブ・ベースのアクセスを求める第2の要求を送信することを含むことができる。例えば、クライアント・コンピュータ・システム201は、メール・サーバのURI267とGUID274と暗号化された資格証明書275とを含む要求256をサーバ・コンピュータ・システム211に送信することができる。方法300は、暗号化された情報を含む第2の要求を受信する動作(動作310)を含む。動作310は、サーバ・コンピュータ・システムが、リソース(例えば、第1の要求で要求された電子メール・メッセージ)へのウェブ・ベースのアクセスを求める第2の要求を受信することを含むことができる。例えば、サーバ・コンピュータ・システム211は、メール・サーバのURI267とGUID274と暗号化された資格証明書275とを含む要求256をクライアント・コンピュータ・システム201から受信することができる。
いくつかの実施形態では、クライアント・コンピュータ・システムは、GUIDと暗号化された情報を有する対応するクッキーをブラウザ・メモリに既に記憶している。この記憶されているGUIDと暗号化された情報とを、サーバのリソース(例えば、電子メールのデータ)へのウェブ・ベースのアクセスを要求する場合に、使用することができる。図2Bは、本発明により、サーバのリソースにアクセスするためにセキュリティ保護されたクライアント側の資格証明書を使用することに役立つネットワーク・アーキテクチャ200の一例を示している。図4は、本発明による、セキュリティ保護されたクライアント側の資格証明書をサーバのリソースへのアクセスに使用することを容易にする方法400の流れ図の一例を示している。方法400を、図2Bに示すクライアント・コンピュータ・システムとサーバ・コンピュータ・システムに関して説明する。
図400は、サーバのリソースへのウェブ・ベースのアクセスを求める、セッションIDと暗号化されたユーザの資格証明書を含む、要求を送信する動作(動作401)を含む。動作401は、クライアント・コンピュータ・システムが、サーバ・コンピュータ・システムのリソースへのウェブ・ベースのアクセスを求める要求を送信することを含むことができる。例えば、クライアント・コンピュータ・システム201は、メール・サーバのURI267とGUID274と暗号化された資格証明書275とを含む要求(リクエスト)291をサーバ・コンピュータ・システム211に送信することができる。メール・サーバのURI267は、電子メール・サーバ212によって制御されている電子メール・リソースへのアクセスを提供するURIを表す。GUID274は、以前にサーバ・コンピュータ・システム211からクライアント・コンピュータ・システム201に送信された一意のセッションIDを表す。暗号化された資格証明書275は、以前にサーバ・コンピュータ・システム211からクライアント・コンピュータ・システム201に送信された暗号化されたユーザの資格証明書と時間依存署名とを表す。暗号化された資格証明書275は、適切な循環鍵ストアの鍵から既に生成済みである。
方法400は、サーバのリソースへのウェブ・ベースのアクセスを求める、セッションIDと暗号化されたユーザの資格証明書とを含む要求を受信する動作(動作404)を含む。動作404は、サーバ・コンピュータ・システムが、サーバ・コンピュータ・システムのリソースへのウェブ・ベースのアクセスを求める要求を受信することを含むことができる。例えば、サーバ・コンピュータ・システム211は、メール・サーバのURI267とGUID274と暗号化された資格証明書275とを含む要求291をクライアント・コンピュータ・システム201から受信することができる。
方法400は、循環鍵ストアの最新の鍵を使用して暗号化されたユーザの資格証明書の有効性確認を試みる動作(動作405)を含む。動作405は、サーバ・コンピュータ・システムが、循環鍵ストアの最新の鍵を使用してユーザの資格証明書の少なくとも一部の有効性確認を試みることを含むことができる。例えば、ブラウザ202がプライベート・クライアント・コンピュータ・システムにあることが示された場合、サーバ・コンピュータ・システムは鍵232を使用して暗号化された資格証明書275の有効性確認を試みることができる。一方、ブラウザ202が信頼のないクライアント・コンピュータ・システムにあることが示された場合、サーバ・コンピュータ・システムは、鍵222を使用して暗号化された資格証明書275の有効性確認を試みることができる。資格証明書バリデータ237は、適切な循環鍵ストアの最新の鍵と一意識別子と第2の定数列(暗号鍵を導出する際に使用される)との組み合わせをハッシュすることによって、データを暗号解読するために使用される暗号解読鍵を導出することができる。したがって、次の式5によって暗号解読鍵を導出することができる。
DCR=SHA−1(KMOST CURRENT ROTATING、GUID、EncryptKeyString)・・・式5
式5では、KMOST CURRENT ROTATINGは適切な循環鍵ストアの最新の鍵(例えば、鍵232または鍵222)を表す。GUIDは、クライアント・コンピュータ・システム201に対応する一意識別子を表す。EncryptKeyStringは、KENCの導出中に使用される定数列を表す。したがって、資格証明書バリデータ237は、次の式6によって、デジタル署名とユーザの資格証明書と通信プロパティ選択を表すフラグとを明らかにするために暗号化された情報を暗号解読することができる。
デジタル署名、{ユーザ名:パスワード}、フラグ=KDCR[暗号化された情報]・・・式6
資格証明書バリデータ237は、適切な循環鍵ストアの最新の鍵と一意識別子と第1の定数列との組み合わせをハッシュすることによって、有効性確認デジタル署名を生成するために使用することができる有効性確認鍵を導出することができる。いくつかの実施形態では、有効性確認デジタル署名はハッシュ・メッセージ認証コードとして表される。したがって、次の式7によって有効性確認鍵を導出することができる。
VAL=SHA―1(KMOST CURRENT ROTATING、GUID、HMACKeyString)・・・式7
式7では、KMOST CURRENT ROTATINGは、適切な循環鍵ストアの最新の鍵を表す。GUIDは、クライアント・コンピュータ・システム201に対応する一意識別子を表す。HMACKeyStringは、署名鍵を導出する場合に使用されるテキストの定数列を表す。KVALから、また式6から明らかになったユーザの資格証明書とフラグを使用して、ハッシュ・メッセージ認証コードを次の式8によって生成することができる。
有効性確認デジタル署名=HMAC(KVAL、(GUID、{ユーザ名:パスワード}、フラグ))・・・式8
式8では、HMACはハッシュ・メッセージ認証コード・アルゴリズムを表す。式8の(GUID、{ユーザ名:パスワード}、フラグ)の部分は、GUIDとユーザの資格証明書と通信プロパティ選択を表すフラグがハッシュ・メッセージ認証コード・アルゴリズムに入力されるテキストとして含まれていることを表す。ハッシュ・メッセージ認証コード・アルゴリズムに関して説明しているが、有効性確認デジタル署名を生成するために使用されるこのアルゴリズムは重要ではなく、事実上いかなるデジタル署名、ダイジェスト、または認証コード・アルゴリズムでも使用することができる。
有効性確認デジタル署名がデジタル署名と等しい場合、暗号化された資格証明書275で表されたユーザの資格証明書は有効であるとされる。したがって、通信フィルタ243は、有効であるとされたユーザの資格証明書を含む許可ヘッダー(例えば、HTTP許可ヘッダー)を構築する。通信フィルタ243は、リソースへのウェブ・ベースのアクセスを求める要求に許可ヘッダーを挿入することができる。例えば、通信フィルタ243は、要求291から暗号化された資格証明書275を除去し、要求291に資格証明書289を挿入することができ、この結果、要求291Aが生じる。
有効性確認デジタル署名がデジタル署名に等しくない場合、ユーザの資格証明書は有効であるとされない。したがって、資格証明書バリデータ237は、適切な循環鍵ストアの次に新しい鍵に基づいて式5、6、7および8の機能を反復する。例えば、プライベート・クライアント・コンピュータ・システムのクライアント側のブラウザに対して、資格証明書バリデータ237は鍵233を使用することができる。一方、信頼のないクライアントのクライアント側のブラウザに対しては、資格証明書バリデータ237は鍵223を使用することができる。資格証明書バリデータは、適切な循環鍵ストアの各鍵を使用してユーザの資格証明書の有効性確認を試みることができる。有効であるとされたユーザの資格証明書は、適切な認証ヘッダーに含めることができる。
いくつかの実施形態では、暗号化された資格証明書の有効性確認を試みるために使用されるべき循環鍵(例えば、資格証明書を暗号化するために以前使用された循環)を指示するために、インデックスが、暗号化された資格証明書と共に含まれる。例えば、クライアント・コンピュータ・システム201は、信頼のない循環鍵ストア221またはプライベート循環鍵ストア231の循環鍵を特定するインデックスを、要求291に含めることができる。インデックスは、使用されるべき循環鍵の生成を特定する数値(例えば、0、1、2など)であってよい。例えば、クライアント・コンピュータ・システム201がプライベート・クライアント・コンピュータ・システムである場合、インデックス0は鍵232を特定することができる。同様に、クライアント・コンピュータ・システム201が信頼のないクライアント・コンピュータ・システムである場合、インデックス2は鍵224を特定することができる。したがって、インデックスを使用することによって有効性確認プロセスの効率が高まる。資格証明書がインデックスで特定された循環鍵によって有効であるとされない場合、対応する循環鍵ストアの他の鍵を使用して資格証明書の有効性確認を試みることができる。
方法400は、要求されたリソースへのウェブ・ベースのアクセスを制御するモジュールに要求を転送する動作(動作406)を含む。動作406は、サーバ・コンピュータ・システムが、リソースへのウェブ・ベースのアクセスを制御するモジュールに要求を転送することを含むことができる。例えば、通信フィルタ243は、(暗号化された資格証明書275から明らかになるような)メール・サーバのURI267と資格証明書289とを含む要求291Aを電子メール・サーバ212に転送することができる。電子メール・サーバ212は、電子メール・リソースへのウェブ・ベースのアクセスを制御するモジュールであってよい。電子メール・サーバ212は、要求された電子メール・リソースへのウェブ・ベースのアクセスが許可されているか否かを判定するために資格証明書289を資格証明書データベース213と比較することができる。
方法400は、リフレッシュされた暗号化されたユーザの資格証明書を循環鍵ストアの最新の鍵から導出すべきか否かを判定する動作(動作407)を含む。動作407は、サーバ・コンピュータ・システムが、ユーザの資格証明書と時間依存署名を表すリフレッシュされた暗号化された情報を循環鍵ストアの最新の鍵から導出すべきか否かを判定することを含むことができる。ユーザの資格証明書が循環鍵ストアの最新の鍵以外の鍵によって有効であるとされる場合、サーバはリフレッシュされた暗号化された情報が導出されるべきであると決定する。例えば、資格証明書バリデータ237が暗号化された資格証明書を鍵224によって有効であるとする場合、通信フィルタ243は、暗号化された資格証明書に表されたユーザの資格証明書に関して、リフレッシュされた暗号化された資格証明書が導出されるべきであると決定することができる。
したがって、破線で示したように、通信フィルタ243は、要素バリデータ216にログインするために任意選択でクッキー・リフレッシュ要求294を送信することができる。ログイン要素バリデータ216は、(例えば、最新の鍵からリフレッシュされたデジタル署名とリフレッシュされた暗号鍵を導出することによって)リフレッシュされた暗号化された情報を導出するために適切な循環鍵ストアの最新の鍵を使用することができる。ログイン要素バリデータ216は、更新されたGUIDとリフレッシュされた暗号化された資格証明書とを通信フィルタ243に返信することができる。例えば、破線で示すように、ログイン要素バリデータ216は、更新されたGUID296とリフレッシュされた暗号化された資格証明書297を含むメッセージ295を通信フィルタ243に返信する。
資格証明書289が、電子メール・サーバ212の電子メール・リソースへのウェブ・ベースのアクセスに適切である場合、電子メール・サーバ212は、要求291Aに呼応して電子メール・リソースを返信することができる。例えば、電子メール・サーバ212は、リソース293(例えば、電子メール・メッセージ)を含む応答(レスポンス)292を通信フィルタ243に返信することができる。一方、資格証明書289が、電子メール・サーバ212の電子メール・リソースへのウェブ・ベースのアクセスに適切でない場合、電子メール・サーバ212は、要求291Aに呼応して無許可であるという指示を返信することができる。例えば破線で示すように、電子メール・サーバ212は、無許可インジケータ272を含む応答(レスポンス)294を通信フィルタ243に返信することができる。通信フィルタ243が無許可インジケータを受信する場合、通信フィルタ243はクライアント・コンピュータ・システム201をログイン・ページ217にリダイレクトすることができる。
有効性確認されたユーザの資格証明書が適切である場合、通信フィルタ243は要求されたリソースをクライアント・コンピュータ・システム201に送信することができる。例えば、暗号化された資格証明書275が適切な循環鍵ストアからの最新の鍵によって有効性確認される場合、リソース293を含む応答292は通信フィルタ243で受信される。通信フィルタ243は、応答292をクライアント・コンピュータ・システム201に転送することができる。したがって、リソース293がブラウザ202で提示される。
有効性確認されたユーザの資格証明書が適切である場合、通信フィルタ243は、リフレッシュされた暗号化された資格証明書と更新されたGUIDもリソースと共にクライアント・コンピュータ・システム201に送信することができる。例えば、暗号化された資格証明書275が循環鍵ストアの最新の鍵ではない鍵によって有効性確認される場合、リソース293と更新されたGUID296とリフレッシュされた暗号化された資格証明書297をすべて通信フィルタ243で受信することができる。破線で示すように、次いで通信モジュール243は、リソース293と更新されたGUID296とリフレッシュされた暗号化された資格証明書297とを含む応答(レスポンス)276をクライアント・コンピュータ・システム201に送信することができる。
方法400は、リソースを、更新されたセッションIDとリフレッシュされた暗号化されたユーザの資格証明書と共に、クライアント側のブラウザで受信する動作(動作402)を含む。動作402は、クライアント・コンピュータ・システムが、要求されたものを、更新されたセッションIDと、ユーザの資格証明書の少なくとも一部とリフレッシュされた時間依存署名を表すリフレッシュされた暗号化された情報と共に、受信することを含むことができる。例えば、クライアント・コンピュータ・システム201は、リソース293と更新されたGUID296とリフレッシュされた暗号化された資格証明書297とを含む応答276をサーバ・コンピュータ・システム201から受信することができる。
方法400は、更新されたセッションIDとリフレッシュされた暗号化されたユーザの資格証明書を対応するクッキーに記憶する動作(動作403)を含む。動作403は、クライアント・コンピュータ・システムが、更新されたセッションIDとリフレッシュされた暗号化された情報をクライアント・コンピュータ・システムの対応するクッキーに記憶することを含むことができる。例えば、更新されたGUID296とリフレッシュされた暗号化された資格証明書297でGUID274と暗号化された資格証明書275を上書きして、クッキー203の対応するクッキーに記憶することができる。
本発明は、その趣旨または本質的な特性から逸脱せずに他の特定の形式で実施することができる。記載した実施形態は、すべての点で説明のみを目的としたものであり限定を目的としたものではないとみなされるべきである。したがって、本発明の範囲は上記の説明ではなく特許請求の範囲によって示される。特許請求の範囲と等価の意味および範囲内のすべての変更は、本特許請求の範囲に包含されるべきである。
本発明の原理に適した動作環境を示す図である。 本発明による、クライアントがサーバのリソースへのアクセスを要求する場合にクライアント側の資格証明書をセキュリティ保護することに役立つネットワーク・アーキテクチャの一例を示す図である。 本発明による、サーバのリソースにアクセスするためにセキュリティ保護されたクライアント側の資格証明書を使用することに役立つネットワーク・アーキテクチャの一例を示す図である。 本発明による、クライアントがサーバのリソースへのアクセスを要求する場合にクライアント側の資格証明書をセキュリティ保護する方法の流れ図の一例を示す図である。 本発明による、サーバのリソースにアクセスするためにセキュリティ保護されたクライアント側の資格証明書を使用する方法の流れ図の一例を示す図である。 本発明の原理による、クライアントに関連付けられた通信プロパティを決定する方法の流れ図の一例を示す図である。 本発明の原理による、資格証明書と通信プロパティ選択を受諾することができるログイン・ページの一例を示す図である。
符号の説明
120 コンピュータ・システム
121 処理装置
122 システム・メモリ
123 システム・バス
132 ハードディスク・ドライブ・インターフェース
133 磁気ディスクドライブ・インターフェース
134 光ディス・クインターフェース
135 オペレーティング・システム
136 アプリケーション・プログラム
137 他のプログラム・モジュール
138 プログラム・データ
140 キーボード
146 入出力インターフェース
147 モニタ
148 ビデオ・アダプタ
149 音声インターフェース
153 ネットワーク・インターフェース
154 モデム
169 スピーカー
183 遠隔コンピュータ・システム
193 遠隔コンピュータ・システム

Claims (47)

  1. サーバ・コンピュータ・システムのリソースへのウェブ・ベースのアクセスを試みるクライアント・コンピュータ・システムにおいて、前記リソースへのアクセスが許可されるために使用されるべきクライアント側の資格証明書をセキュリティ保護する方法であって、
    前記クライアント・コンピュータ・システムが、前記リソースへのウェブ・ベースのアクセスを求める第1の要求を送信する動作(act)と、
    前記クライアント・コンピュータ・システムが、ユーザの資格証明書を受け入れるためのインターフェースを提供するログイン・ページにリダイレクトされる動作(act)と、
    前記クライアント・コンピュータ・システムが、前記ログイン・ページを使用して、前記ユーザの資格証明書を前記サーバ・コンピュータ・システムに提出する動作(act)と、
    前記クライアント・コンピュータ・システムが、提出されたユーザの資格証明書の少なくとも一部と時間依存署名とを表す暗号化された情報であって、前記時間依存署名は、前記提出されたユーザの資格証明書の少なくとも一部と署名時間依存鍵とから導出され、前記暗号化された情報は、暗号時間依存鍵を使用して暗号化され、前記署名時間依存鍵と前記暗号時間依存鍵は両方とも循環鍵ストアの鍵から引き出されている、前記暗号化された情報を受信する動作(act)と、
    前記クライアント・コンピュータ・システムが、前記リソースへのウェブ・ベースのアクセスを求める、前記暗号化された情報をこの時点で含んでいる、第2の要求を送信する動作(act)と
    を備えることを特徴とする方法。
  2. 前記クライアント・コンピュータ・システムが、前記リソースへのウェブ・ベースのアクセスを求める第1の要求を送信する前記動作(act)は、以前に受信した暗号化された情報と以前に受信した一意のセッションIDとを送信する動作(act)を備えることを特徴とする請求項1に記載の方法。
  3. 前記クライアント・コンピュータ・システムが前記ログイン・ページにリダイレクトされる前記動作(act)は、前記サーバ・コンピュータ・システムによって前記以前に受信した暗号化された情報が有効であるとされなかった結果、前記クライアント・コンピュータ・システムが前記ログイン・ページにリダイレクトされる動作(act)を備えることを特徴とする請求項2に記載の方法。
  4. 前記クライアント・コンピュータ・システムが、前記リソースへのウェブ・ベースのアクセスを求める第1の要求を送信する前記動作(act)は、電子メール・サーバの電子メール・リソースへのウェブ・ベースのアクセスを求めるHTTPメッセージを送信する動作(act)を備えることを特徴とする請求項1に記載の方法。
  5. 前記クライアント・コンピュータ・システムが、前記提出されたユーザの資格証明書の少なくとも一部と時間依存署名とを表す暗号化された情報を受信する前記動作(act)は、前記暗号化された情報を一意のセッションIDと共に受信する動作(act)を備えることを特徴とする請求項1に記載の方法。
  6. 前記受信した暗号化された情報と前記受信した一意のセッションIDとを前記クライアント・コンピュータ・システムの対応するクッキーに記憶する動作(act)をさらに備えることを特徴とする請求項5に記載の方法。
  7. 前記クライアント・コンピュータ・システムが、前記リソースへのウェブ・ベースのアクセスを求める第2の要求を送信する前記動作(act)は、前記暗号化された情報を一意のセッションIDと共に送信する動作(act)を備えることを特徴とする請求項1に記載の方法。
  8. 前記クライアント・コンピュータ・システムが、前記ログイン・ページを使用して、ユーザの資格証明書を前記サーバ・コンピュータ・システムに提出する前記動作(act)は、前記クライアント・コンピュータ・システムが、前記ログイン・ページを使用して、ユーザの資格証明書を安全な相互に認証された接続を介して前記サーバ・コンピュータ・システムに提出する動作(act)を備えることを特徴とする請求項1に記載の方法。
  9. サーバ・コンピュータ・システムのリソースへのウェブ・ベースのアクセスを求める要求をクライアント・コンピュータ・システムから受信する前記サーバ・コンピュータ・システムにおいて、前記リソースへのアクセスが許可されるために使用されるべきクライアント側の資格証明書をセキュリティ保護する方法であって、
    前記サーバ・コンピュータ・システムが、前記リソースへのウェブ・ベースのアクセスを求める、前記クライアント・コンピュータ・システムから送信された第1の要求を受信する動作(act)と、
    前記サーバ・コンピュータ・システムが、前記第1の要求に呼応して、前記クライアント・コンピュータ・システムがユーザの資格証明書を入力することのできるログイン・ページに、前記クライアント・コンピュータ・システムをリダイレクトする動作(act)と、
    前記サーバ・コンピュータ・システムが、前記ログイン・ページで提出されたユーザの資格証明書を受信する動作(act)と、
    前記サーバ・コンピュータ・システムが、前記提出されたユーザの資格証明書の少なくとも一部と時間依存署名とを表す暗号化された情報であって、前記時間依存署名は、前記ユーザの提出した資格証明書の少なくとも一部と署名時間依存鍵とから導出され、前記暗号化された情報は、暗号時間依存鍵を使用して暗号化され、前記署名時間依存鍵と前記暗号時間依存鍵は両方とも循環鍵ストアの鍵から引き出されている、前記暗号化された情報を送信する動作(act)と、
    前記サーバ・コンピュータ・システムが、前記リソースへのウェブ・ベースのアクセスを求める、前記クライアント・コンピュータ・システムから送信され、前記暗号化された情報を含んでいる、第2の要求を受信する動作(act)と
    を備えることを特徴とする方法。
  10. 前記サーバ・コンピュータ・システムが、リソースへのウェブ・ベースのアクセスを求める第1の要求を受信する前記動作(act)は、以前に生成された暗号化された情報と以前に生成された一意のセッションIDとを受信する動作(act)を備えることを特徴とする請求項9に記載の方法。
  11. 前記サーバ・コンピュータ・システムが前記第1の要求に呼応してログイン・ページに前記クライアント・コンピュータ・システムをリダイレクトする前記動作(act)は、以前に生成された前記暗号化された情報が前記サーバ・コンピュータ・システムによって有効であるとされなかった結果、前記サーバ・コンピュータ・システムが前記クライアント・コンピュータ・システムをログイン・ページにリダイレクトする動作(act)を備えることを特徴とする請求項9に記載の方法。
  12. 前記サーバ・コンピュータ・システムが、前記リソースへのウェブ・ベースのアクセスを求める第1の要求を受信する前記動作(act)は、電子メール・サーバの電子メール・リソースへのウェブ・ベースのアクセスを求めるHTTPメッセージを受信する動作(act)を備えることを特徴とする請求項9に記載の方法。
  13. 前記サーバ・コンピュータ・システムが、前記提出されたユーザの資格証明書の少なくとも一部と時間依存署名とを表す暗号化された情報を送信する前記動作(act)は、前記暗号化された情報を一意のセッションIDと共に送信する動作(act)を備えることを特徴とする請求項9に記載の方法。
  14. 前記サーバ・コンピュータ・システムが、前記リソースへのウェブ・ベースのアクセスを求める第2の要求を受信する前記動作(act)は、前記暗号化された情報を一意のセッションIDと共に受信する動作(act)を備えることを特徴とする請求項9に記載の方法。
  15. 前記クライアント・コンピュータ・システムから、サーバ・コンピュータ・システムのリソースへのウェブ・ベースのアクセスを求める要求を受信するサーバ・コンピュータ・システムにおいて、前記リソースへのアクセスが許可されるために使用されるべきクライアント側の資格証明書をセキュリティ保護する方法であって、
    前記サーバ・コンピュータ・システムが、前記リソースへのウェブ・ベースのアクセスを求める、前記クライアント・コンピュータ・システムによって送信された第1の要求を受信する動作(act)と、
    前記クライアント側の資格証明書がリソースへの無許可のアクセスを悪意のあるユーザに提供する可能性を低減するように、循環鍵ストアからの鍵を使用して前記クライアント側の資格証明書をセキュリティ保護する動作(act)と、
    前記サーバ・コンピュータ・システムが、前記リソースへのウェブ・ベースのアクセスを求める、前記クライアント・コンピュータ・システムから送信された、暗号化された情報を含んでいる、第2の要求を受信する動作(act)と
    を備えることを特徴とする方法。
  16. クライアント・コンピュータ・システムにおいて、サーバ・コンピュータ・システムのリソースへのウェブ・ベースのアクセスのために使用されるユーザの資格証明書を維持する方法であって、
    前記クライアント・コンピュータ・システムが、リソースへのウェブ・ベースのアクセスを求める要求であって、前記要求は、一意のセッションIDとユーザの資格証明書の少なくとも一部および時間依存署名を表す暗号化された情報とを含み、前記時間依存署名は、前記ユーザの資格証明書の前記少なくとも一部と署名時間依存鍵とから導出され、前記暗号化された情報は暗号時間依存鍵を使用して暗号化され、前記署名時間依存鍵と前記暗号時間依存鍵は両方とも循環鍵ストアの鍵から引き出されている、前記要求を送信する動作(act)と、
    前記ユーザの資格証明書の前記少なくとも一部とリフレッシュされた時間依存署名とを表すリフレッシュされた暗号化された情報であって、前記時間依存署名は、前記ユーザの資格証明書の前記少なくとも一部とリフレッシュされた署名時間依存鍵とから導出されており、前記暗号化された情報は、リフレッシュされた暗号化された時間依存鍵を使用して暗号化され、前記リフレッシュされた署名時間依存鍵と前記リフレッシュされた暗号化された時間依存鍵は両方とも循環鍵ストアの最新の鍵から引き出されている、前記リフレッシュされた暗号化された情報と更新された一意のセッションIDとともに前記要求されたリソースを、前記クライアント・コンピュータ・システムがクライアント側のブラウザで受信する動作(act)と、
    前記クライアント・コンピュータ・システムが、前記更新されたセッションIDと前記リフレッシュされた暗号化された情報とをクライアント・コンピュータ・システムの対応するクッキーに記憶する動作(act)と
    を備えることを特徴とする方法。
  17. 前記クライアント・コンピュータ・システムが、リソースへのウェブ・ベースのアクセスを求める要求を送信する前記動作(act)は、電子メール・サーバの電子メール・リソースへのウェブ・ベースのアクセスを求めるHTTPメッセージを送信する動作(act)を備えることを特徴とする請求項16に記載の方法。
  18. 前記クライアント・コンピュータ・システムが、前記要求されたリソースを更新された一意のセッションIDとリフレッシュされた暗号化された情報と共にクライアント側のブラウザで受信する前記動作(act)は、前記暗号化された情報の生成で使用されている鍵が循環鍵ストアの前記最新の鍵でないということに起因して、更新されたセッションIDとリフレッシュされた暗号化された情報とを受信する動作(act)を備えることを特徴とする請求項16に記載の方法。
  19. 前記クライアント・コンピュータ・システムが、前記更新された一意のセッションIDと前記リフレッシュされた暗号化された情報とを前記クライアント・コンピュータ・システムの対応するクッキーに記憶する前記動作(act)は、前記一意のセッションIDと前記リフレッシュされた暗号化された情報をブラウザ・メモリ内の前記一意のセッションIDと暗号化された情報に上書きする動作(act)を備えることを特徴とする請求項16に記載の方法。
  20. サーバ・コンピュータ・システムで、前記サーバ・コンピュータ・システムのリソースへのウェブ・ベースのアクセスに使用されるユーザの資格証明書の有効性を決定する方法において、
    前記サーバ・コンピュータ・システムが、前記サーバ・コンピュータ・システムのリソースへのウェブ・ベースのアクセスを求める要求であって、前記要求は、一意のセッションIDと、前記ユーザの資格証明書の少なくとも一部および時間依存署名を表す暗号化された情報とを含み、前記時間依存署名は、前記ユーザの資格証明書の前記少なくとも一部と署名時間依存鍵とから導出され、前記暗号化された情報は暗号時間依存鍵を使用して暗号化され、前記署名時間依存鍵と前記暗号時間依存鍵は両方とも循環鍵ストアの鍵から引き出されている、前記要求を受信する動作(act)と、
    前記サーバ・コンピュータ・システムが、循環鍵ストアの前記最新の鍵を使用して前記ユーザの資格証明書の少なくとも一部の有効性確認を試みる動作(act)と、
    前記サーバ・コンピュータ・システムが、前記要求されたリソースへのウェブ・ベースのアクセスを制御するモジュールに前記要求を転送する動作(act)と、
    前記サーバ・コンピュータ・システムが、前記ユーザの資格証明書の前記少なくとも一部と前記時間依存署名とを表すリフレッシュされた暗号化された情報が前記循環鍵ストアの前記最新の鍵から導出されるべきか否かを判定する動作(act)と
    を備えることを特徴とする方法。
  21. 前記循環鍵ストアの前記最新の鍵を使用して前記ユーザの資格証明書の少なくとも一部の有効性確認を試みる前記動作(act)は、前記循環鍵ストアの前記最新の鍵に基づいて前記ユーザの資格証明書の前記少なくとも一部が有効であると判定する動作(act)を備えることを特徴とする請求項20に記載の方法。
  22. 前記循環鍵ストアの前記最新の鍵を使用して前記ユーザの資格証明書の前記少なくとも一部の有効性確認を試みる前記動作(act)は、前記循環鍵ストアの前記最新の鍵に基づいて前記ユーザの資格証明書の前記少なくとも一部が有効でないと判定する動作(act)を備えることを特徴とする請求項20に記載の方法。
  23. 前記サーバ・コンピュータ・システムが、前記循環鍵ストア内の以前に生成された鍵で前記循環鍵ストア内に前記最新の鍵よりも前に挿入された鍵、に基づいて前記ユーザの資格証明書の前記少なくとも一部が有効であると判定する動作(act)をさらに備えることを特徴とする請求項20に記載の方法。
  24. 前記サーバ・コンピュータ・システムが、前記ユーザの資格証明書の前記少なくとも一部と時間依存署名とを表すリフレッシュされた暗号化された情報が前記循環鍵ストアの前記最新の鍵から導出されるべきか否かを判定する前記動作(act)は、前記ユーザの資格証明書の前記少なくとも一部と時間依存署名とを表すリフレッシュされた暗号化された情報が前記循環鍵ストアの前記最新の鍵から導出されるべきであると判定する動作(act)を備えることを特徴とする請求項20に記載の方法。
  25. 前記ユーザの資格証明書の前記少なくとも一部と時間依存署名とを表すリフレッシュされた暗号化された情報が前記循環鍵ストアの前記最新の鍵から導出されるべきであると判定する前記動作(act)は、前記サーバ・コンピュータ・システムが、前記循環鍵ストア内の以前に生成された鍵で、前記循環鍵ストア内に最新の鍵より前に挿入された鍵、に基づいて前記ユーザの資格証明書の少なくとも一部を有効であると判定する動作(act)を備えることを特徴とする請求項24に記載の方法。
  26. 前記ユーザの資格証明書の前記少なくとも一部と時間依存署名とを表すリフレッシュされた暗号化された情報とが前記循環鍵ストアの前記最新の鍵から導出されるべきであると判定する前記動作(act)は、前記サーバ・コンピュータ・システムが、前記循環鍵ストア内のいかなる鍵によっても前記ユーザの資格証明書の前記少なくとも一部を有効であるとすることができなかったと判定する動作(act)を備えることを特徴とする請求項24に記載の方法。
  27. 前記サーバ・コンピュータ・システムは、ユーザの資格証明書を受信するためのインターフェースを提供するログイン・ページに前記クライアント・コンピュータ・システムをリダイレクトする動作をさらに備えることを特徴とする請求項26に記載の方法。
  28. 前記サーバ・コンピュータ・システムが、前記ユーザの資格証明書の前記少なくとも一部と時間依存署名とを表すリフレッシュされた暗号化された情報が前記循環鍵ストアの前記最新の鍵から導出されているか否かを判定する前記動作(act)は、リフレッシュされた暗号化された情報と時間依存署名とを前記循環鍵ストアの前記最新の鍵から導出する動作(act)を備えることを特徴とする請求項20に記載の方法。
  29. 前記サーバ・コンピュータ・システムは、前記要求されたリソースと前記更新された一意のセッションIDとリフレッシュされた暗号化された情報とを前記クライアント・コンピュータ・システムに送信する動作(act)をさらに備えることを特徴とする請求項28に記載の方法。
  30. メッセージ・ヘッダーを変更することができる通信フィルタを含むサーバ・コンピュータ・システムにおいて、クライアント・コンピュータ・システムに関連付けられた通信プロパティを決定する方法において、
    HTTPメッセージの処理方法を変更することのできる1つまたは複数の選択可能な通信プロパティを選択するためのインターフェースを含むログイン・ページを前記クライアント・コンピュータ・システムに送信する動作(act)と、
    前記ログイン・ページから選択可能な前記1つまたは複数の選択可能な通信プロパティで、前記クライアント・コンピュータ・システムとのHTTP通信の処理方法を前記通信フィルタに指示する通信プロパティ、の少なくとも1つの選択を受信する動作(act)と、
    前記受信した少なくとも1つの通信プロパティ選択がサポートされているか否かを判定するため、また前記クライアント・コンピュータ・システムがサポートする他の関連通信プロパティを特定するために、前記クライアント・コンピュータ・システムに問い合わせる動作(act)と、
    任意の選択された通信プロパティと前記クライアント・コンピュータ・システムがサポートする特定された他の関連通信プロパティとに従って前記クライアント・コンピュータ・システムとのHTTP通信を処理するように前記通信フィルタを構成する動作(act)と
    を備えることを特徴とする方法。
  31. 前記ログイン・ページから選択可能な前記1つまたは複数の選択可能な通信プロパティの少なくとも1つの選択を受信する前記動作(act)は、前記クライアント・コンピュータ・システムの信頼性を指示する通信プロパティ選択を受信する動作(act)を備えることを特徴とする請求項30に記載の方法。
  32. 前記ログイン・ページから選択可能な前記1つまたは複数の選択可能な通信プロパティの少なくとも1つの選択を受信する前記動作(act)は、前記クライアント・コンピュータ・システムのコンテンツ処理能力および/または所望の機能レベルを指示する通信プロパティ選択を受信する動作(act)を備えることを特徴とする請求項30に記載の方法。
  33. 前記クライアント・コンピュータ・システムに問い合わせる前記動作(act)は、前記クライアント・コンピュータ・システムがHTTP圧縮をサポートすると決定する動作(act)を備えることを特徴とする請求項30に記載の方法。
  34. クライアント・コンピュータ・システムにおいて、サーバ・コンピュータ・システムに求められる通信プロパティを指示する方法であって、
    前記サーバによるHTTPメッセージの処理方法を変更することができる1つまたは複数の選択可能な通信プロパティを選択するためのインターフェースを含むログイン・ページをサーバ・コンピュータ・システムから受信する動作(act)と、
    前記クライアント・コンピュータ・システムで前記ログイン・ページを提示する動作(act)と、
    前記ログイン・ページで前記1つまたは複数の通信プロパティの少なくとも1つの選択を受信する動作(act)と、
    前記クライアント・コンピュータ・システムとのHTTP通信の処理方法を通信フィルタに指示する前記通信プロパティ選択を前記サーバ・コンピュータ・システムの前記通信フィルタに送信する動作(act)と
    を備えることを特徴とする方法。
  35. 前記ログイン・ページで前記1つまたは複数の通信プロパティの少なくとも1つの選択を受信する前記動作は、前記クライアント・コンピュータ・システムの信頼性を示す選択を受信する動作(act)を備えることを特徴とする請求項34に記載の方法。
  36. 前記ログイン・ページで前記1つまたは複数の通信プロパティの少なくとも1つの選択を受信する前記動作(act)は、前記クライアント・コンピュータ・システムのコンテンツ処理能力および/または所望の機能レベルを指示する選択を受信する動作(act)を備えることを特徴とする請求項34に記載の方法。
  37. 前記通信プロパティ選択を前記サーバ・コンピュータ・システムの通信フィルタに送信する前記動作(act)は、前記通信プロパティ選択をユーザの資格証明書と共に送信する動作(act)を備えることを特徴とする請求項34に記載の方法。
  38. サーバ・コンピュータ・システムのリソースへのウェブ・ベースのアクセスを試みるクライアント・コンピュータ・システムで使用するための、前記リソースへのアクセスが許可されるために使用されるクライアント側の資格証明書をセキュリティ保護する方法を実装するための、コンピュータ・プログラム製品であって、プロセッサによって実行された場合に、前記クライアント・コンピュータ・システムに、
    前記リソースへのウェブ・ベースのアクセスを求める第1の要求を送信すること、
    ユーザの資格証明書を受け入れるためのインターフェースを提供するログイン・ページにリダイレクトされること、
    前記ログイン・ページを使用して、前記サーバ・コンピュータ・システムにユーザの資格証明書を提出すること、
    前記提出されたユーザの資格証明書の少なくとも一部と時間依存署名とを表す暗号化された情報であって、前記時間依存署名は前記ユーザの資格証明書の前記少なくとも一部と署名時間依存鍵とから導出され、前記暗号化された情報は暗号時間依存鍵を使用して暗号化され、前記署名時間依存鍵と前記暗号時間依存鍵とは両方とも循環鍵ストアの鍵から引き出されている、前記暗号化された情報を受信すること、および
    前記リソースへのウェブ・ベースのアクセスを求める、前記暗号化された情報をこの時点で含む、第2の要求を送信すること
    を実行させるコンピュータ実行可能命令を記憶している1つまたは複数のコンピュータ可読媒体を備えることを特徴とするコンピュータ・プログラム製品。
  39. 前記1つまたは複数のコンピュータ可読媒体は、物理媒体であることを特徴とする請求項38に記載のコンピュータ・プログラム製品。
  40. クライアント・コンピュータ・システムから、サーバ・コンピュータ・システムのリソースへのウェブ・ベースのアクセスを求める要求を受信するサーバ・コンピュータ・システムで使用するための、前記リソースへのアクセスが許可されるために使用されるべきクライアント側の資格証明書をセキュリティ保護する方法を実施するための、コンピュータ・プログラム製品であって、プロセッサによって実行された場合に、前記サーバ・コンピュータ・システムに、
    前記クライアント・コンピュータ・システムによって送信された、前記リソースへのウェブ・ベースのアクセスを求める第1の要求を受信すること、
    前記第1の要求に呼応して、前記クライアント・コンピュータ・システムがユーザの資格証明書を入力することのできるログイン・ページに前記クライアント・コンピュータ・システムをリダイレクトすること、
    前記ログイン・ページで提出された前記ユーザの資格証明書を受信すること、
    前記提出されたユーザの資格証明書の少なくとも一部と時間依存署名とを表す暗号化された情報であって、前記時間依存署名は前記ユーザの資格証明書の前記少なくとも一部と署名時間依存鍵とから導出され、前記暗号化された情報は暗号時間依存鍵を使用して暗号化され、前記署名時間依存鍵と前記暗号時間依存鍵は両方とも循環鍵ストアの鍵から引き出されている、前記暗号化された情報を送信すること、および
    前記リソースへのウェブ・ベースのアクセスを求める、前記クライアント・コンピュータ・システムから送信された、前記暗号化された情報を含む、第2の要求を受信すること
    を実行させるコンピュータ実行可能命令を記憶している1つまたは複数のコンピュータ可読媒体を備えるコンピュータ・プログラム製品。
  41. 前記1つまたは複数のコンピュータ可読媒体は、物理媒体であることを特徴とする請求項40に記載のコンピュータ・プログラム製品。
  42. サーバ・コンピュータ・システムで使用するための、サーバ・コンピュータ・システムのリソースへのウェブ・ベースのアクセスのために使用されるユーザの資格証明書の有効性を決定する方法を実装するための、コンピュータ・プログラム製品であって、プロセッサによって実行された場合に、前記サーバ・コンピュータ・システムに、
    前記サーバ・コンピュータ・システムの前記リソースへのウェブ・ベースへのアクセスを求める、一意のセッションIDと、ユーザの資格証明書の少なくとも一部および時間依存署名を表す暗号化された情報とを含む要求であって、前記時間依存署名は、前記ユーザの資格証明書の前記少なくとも一部と署名時間依存鍵とから導出され、前記暗号化された情報は暗号時間依存鍵を使用して暗号化され、前記署名時間依存鍵と前記暗号時間依存鍵は両方とも循環鍵ストアの鍵から引き出されていること、
    前記循環鍵ストアの前記最新の鍵を使用して前記ユーザの資格証明書の前記少なくとも一部の有効性確認を試みること、
    前記要求されたリソースへのウェブ・ベースのアクセスを制御するモジュールに前記要求を転送すること、および
    前記ユーザの資格証明書の前記少なくとも一部と時間依存署名とを表すリフレッシュされた暗号化された情報が前記循環鍵ストアの前記最新の鍵から導出されているか否かを判定すること
    を実行させるコンピュータ実行可能命令を記憶している1つまたは複数のコンピュータ可読媒体を備えることを特徴とするコンピュータ・プログラム製品。
  43. 前記1つまたは複数のコンピュータ可読媒体は、物理媒体であることを特徴とする請求項42に記載のコンピュータ・プログラム製品。
  44. メッセージ・ヘッダーを変更することができる通信フィルタを含むサーバ・コンピュータ・システムで使用するための、クライアント・コンピュータ・システムに関連付けられた通信プロパティを決定する方法を実施するための、コンピュータ・プログラム製品であって、プロセッサによって実行された場合に、前記サーバ・コンピュータ・システムに、
    HTTPメッセージの処理方法を変更することのできる1つまたは複数の選択可能な通信プロパティを選択するためのインターフェースを含むログイン・ページを前記クライアント・コンピュータ・システムに送信すること、
    前記ログイン・ページから選択可能な前記1つまたは複数の選択可能な通信プロパティで、前記クライアント・コンピュータ・システムとのHTTP通信の処理方法を前記通信フィルタに示すプロパティ、の少なくとも1つの選択を受信すること、
    前記受信した少なくとも1つの通信プロパティ選択がサポートされているか否かを判定するため、また前記クライアント・コンピュータ・システムがサポートする他の関連通信プロパティを特定するために、前記クライアント・コンピュータ・システムに問い合わせること、
    任意の選択された通信プロパティと前記クライアント・コンピュータ・システムがサポートする特定された他の関連通信プロパティとに従って前記クライアント・コンピュータ・システムとのHTTP通信を処理するように前記通信フィルタを構成すること
    を実行させるコンピュータ実行可能命令を記憶している1つまたは複数のコンピュータ可読媒体を備えることを特徴とするコンピュータ・プログラム製品。
  45. 前記1つまたは複数のコンピュータ可読媒体は、物理媒体であることを特徴とする請求項44に記載のコンピュータ・プログラム製品。
  46. HTTPメッセージをフィルタリングするよう構成されたサーバ・コンピュータ・システムであって、
    1つまたは複数の処理装置と、
    1つまたは複数のコンピュータ可読媒体であって、
    HTTPメッセージを受信し、
    前記HTTPメッセージに含まれる一意のセッションIDに基づいて前記HTTPメッセージを送信したクライアント・コンピュータ・システムを特定し、
    前記クライアント・コンピュータ・システムに関連付けられたクライアントの状態情報にアクセスし、
    ユーザの資格証明書と時間依存署名とを表す暗号化された情報の有効性確認を試み、
    前記クライアントの状態情報で示された通信プロパティに基づいて前記HTTPメッセージが変更されるべきか否かを判定する
    ように構成されている1つまたは複数のコンピュータ可読媒体と
    を備えることを特徴とするサーバ・コンピュータ・システム。
  47. リソースへのウェブ・ベースのアクセスのための資格証明書情報を安全に表記するためのフォーマットを規定するデータ構造を記憶している1つまたは複数のコンピュータ可読媒体であって、前記データ構造は、
    前記リソースへのウェブ・ベースのアクセスを制御するモジュールで認証するためのユーザの資格証明書を表記する資格証明書フィールドと、
    前記モジュールと前記資格証明書フィールドに表されている前記ユーザの資格証明書を提出したクライアント・コンピュータ・システムとの間でHTTPメッセージを転送する場合に使用されるべき1つまたは複数の通信プロパティを表記するフラグ・フィールドと、
    前記資格証明書フィールドに表されている前記ユーザの資格証明書と前記フラグ・フィールドに表されている前記通信プロパティとを有効性確認するために使用することができる時間依存デジタル署名を表すハッシュ・メッセージ認証コード・フィールドと
    を備えることを特徴とする1つまたは複数のコンピュータ可読媒体。
JP2003391491A 2002-11-20 2003-11-20 リソースへのウェブ・ベースのアクセスに使用されるクライアントの資格証明書の安全な処理 Expired - Fee Related JP4647200B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US42815202P 2002-11-20 2002-11-20
US10/459,863 US7360096B2 (en) 2002-11-20 2003-06-12 Securely processing client credentials used for Web-based access to resources

Publications (3)

Publication Number Publication Date
JP2004173285A true JP2004173285A (ja) 2004-06-17
JP2004173285A5 JP2004173285A5 (ja) 2006-12-28
JP4647200B2 JP4647200B2 (ja) 2011-03-09

Family

ID=32233681

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003391491A Expired - Fee Related JP4647200B2 (ja) 2002-11-20 2003-11-20 リソースへのウェブ・ベースのアクセスに使用されるクライアントの資格証明書の安全な処理

Country Status (13)

Country Link
US (1) US7360096B2 (ja)
EP (1) EP1422907B1 (ja)
JP (1) JP4647200B2 (ja)
KR (1) KR101071132B1 (ja)
CN (1) CN100581103C (ja)
AU (1) AU2003257894B8 (ja)
BR (2) BR0305140A (ja)
CA (1) CA2450056C (ja)
DK (1) DK1422907T3 (ja)
ES (1) ES2423824T3 (ja)
MX (1) MXPA03010477A (ja)
RU (2) RU2332711C2 (ja)
SI (1) SI1422907T1 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006094510A (ja) * 2004-09-21 2006-04-06 Microsoft Corp レートを同期させたクロックを使用した高信頼メッセージング
JP2008083937A (ja) * 2006-09-27 2008-04-10 Ntt Data Corp 情報処理装置、管理方法、及びコンピュータプログラム
US7496751B2 (en) * 2001-10-29 2009-02-24 Sun Microsystems, Inc. Privacy and identification in a data communications network
JP2009541894A (ja) * 2006-06-23 2009-11-26 マイクロソフト コーポレーション モバイルデバイスユーザ経験の仮想化
US9667423B2 (en) 2010-09-27 2017-05-30 Nokia Technologies Oy Method and apparatus for accelerated authentication
JP2018110445A (ja) * 2013-03-15 2018-07-12 パナソニックIpマネジメント株式会社 コンテンツ配信方法、コンテンツ配信システム、及びソース機器

Families Citing this family (160)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7350228B2 (en) * 2001-01-23 2008-03-25 Portauthority Technologies Inc. Method for securing digital content
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
US20030084302A1 (en) * 2001-10-29 2003-05-01 Sun Microsystems, Inc., A Delaware Corporation Portability and privacy with data communications network browsing
US7941533B2 (en) 2002-02-19 2011-05-10 Jpmorgan Chase Bank, N.A. System and method for single sign-on session management without central server
US7412539B2 (en) * 2002-12-18 2008-08-12 Sonicwall, Inc. Method and apparatus for resource locator identifier rewrite
US20060179305A1 (en) * 2004-03-11 2006-08-10 Junbiao Zhang WLAN session management techniques with secure rekeying and logoff
US7805366B2 (en) * 2003-03-21 2010-09-28 Ebay Inc. Method and system to facilitate payments to satisfy payment obligations resulting from purchase transactions
US10535049B2 (en) * 2003-03-21 2020-01-14 Paypal, Inc. Payment transactions via substantially instant communication system
US7809843B1 (en) * 2003-09-18 2010-10-05 Intel Corporation Globally unique identification in communications protocols and databases
US20050138367A1 (en) * 2003-12-19 2005-06-23 Robert Paganetti System and method for storing user credentials on a server copyright notice
US8954420B1 (en) 2003-12-31 2015-02-10 Google Inc. Methods and systems for improving a search ranking using article information
US7373502B2 (en) * 2004-01-12 2008-05-13 Cisco Technology, Inc. Avoiding server storage of client state
US7665147B2 (en) * 2004-02-05 2010-02-16 At&T Mobility Ii Llc Authentication of HTTP applications
US7333976B1 (en) 2004-03-31 2008-02-19 Google Inc. Methods and systems for processing contact information
US8386728B1 (en) 2004-03-31 2013-02-26 Google Inc. Methods and systems for prioritizing a crawl
US8275839B2 (en) 2004-03-31 2012-09-25 Google Inc. Methods and systems for processing email messages
US7941439B1 (en) * 2004-03-31 2011-05-10 Google Inc. Methods and systems for information capture
US7680888B1 (en) 2004-03-31 2010-03-16 Google Inc. Methods and systems for processing instant messenger messages
US7725508B2 (en) * 2004-03-31 2010-05-25 Google Inc. Methods and systems for information capture and retrieval
US8161053B1 (en) 2004-03-31 2012-04-17 Google Inc. Methods and systems for eliminating duplicate events
US8099407B2 (en) * 2004-03-31 2012-01-17 Google Inc. Methods and systems for processing media files
US7581227B1 (en) 2004-03-31 2009-08-25 Google Inc. Systems and methods of synchronizing indexes
US20050234929A1 (en) * 2004-03-31 2005-10-20 Ionescu Mihai F Methods and systems for interfacing applications with a search engine
US7412708B1 (en) 2004-03-31 2008-08-12 Google Inc. Methods and systems for capturing information
US8631076B1 (en) 2004-03-31 2014-01-14 Google Inc. Methods and systems for associating instant messenger events
US8346777B1 (en) 2004-03-31 2013-01-01 Google Inc. Systems and methods for selectively storing event data
US7823192B1 (en) * 2004-04-01 2010-10-26 Sprint Communications Company L.P. Application-to-application security in enterprise security services
US20050288952A1 (en) * 2004-05-18 2005-12-29 Davis Bruce L Official documents and methods of issuance
US7676834B2 (en) * 2004-07-15 2010-03-09 Anakam L.L.C. System and method for blocking unauthorized network log in using stolen password
ES2420158T3 (es) 2004-07-15 2013-08-22 Anakam, Inc. Sistema y método para bloquear un inicio de sesión de red no autorizado usando una contraseña robada
US20100100967A1 (en) * 2004-07-15 2010-04-22 Douglas James E Secure collaborative environment
US8296562B2 (en) * 2004-07-15 2012-10-23 Anakam, Inc. Out of band system and method for authentication
US8533791B2 (en) 2004-07-15 2013-09-10 Anakam, Inc. System and method for second factor authentication services
US8528078B2 (en) * 2004-07-15 2013-09-03 Anakam, Inc. System and method for blocking unauthorized network log in using stolen password
US9426651B2 (en) * 2004-08-18 2016-08-23 Sk Planet Co., Ltd. Method for providing contents in a mobile communication system and apparatus thereof
US20060168054A1 (en) * 2004-12-13 2006-07-27 Ebay Inc. Messaging method and apparatus
CA2648523C (en) * 2005-04-21 2018-09-04 Securedpay Solutions, Inc. Portable handheld device for wireless order entry and real time payment authorization and related methods
US7810143B2 (en) * 2005-04-22 2010-10-05 Microsoft Corporation Credential interface
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
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
US7877789B2 (en) * 2005-06-01 2011-01-25 Goodmail Systems, Inc. E-mail stamping with from-header validation
US7917943B1 (en) * 2006-12-01 2011-03-29 Goodmail Systems, Inc. E-mail Stamping with accredited entity name
JP2008546317A (ja) * 2005-06-01 2008-12-18 グッドメール システムズ,インク. フロムヘッダの検証による電子メールのスタンピング
US7730523B1 (en) * 2005-06-17 2010-06-01 Oracle America, Inc. Role-based access using combinatorial inheritance and randomized conjugates in an internet hosted environment
US7650505B1 (en) * 2005-06-17 2010-01-19 Sun Microsystems, Inc. Methods and apparatus for persistence of authentication and authorization for a multi-tenant internet hosted site using cookies
CN1929367B (zh) * 2005-09-10 2010-08-25 腾讯科技(深圳)有限公司 一种游戏数据传输方法及系统
US9262446B1 (en) 2005-12-29 2016-02-16 Google Inc. Dynamically ranking entries in a personal data book
GB2434947B (en) * 2006-02-02 2011-01-26 Identum Ltd Electronic data communication system
US8332627B1 (en) * 2006-02-08 2012-12-11 Cisco Technology, Inc. Mutual authentication
CN101101687B (zh) * 2006-07-05 2010-09-01 山谷科技有限责任公司 用生物特征进行身份认证的方法、设备、服务器和系统
US7698242B2 (en) * 2006-08-16 2010-04-13 Fisher-Rosemount Systems, Inc. Systems and methods to maintain process control systems using information retrieved from a database storing general-type information and specific-type information
US8197323B2 (en) 2006-08-21 2012-06-12 Scientific Games International, Inc. System and method for implementing an additional game to players of a lottery game
CN101155028B (zh) * 2006-09-26 2010-09-15 阿里巴巴集团控股有限公司 一种安全登录网站的方法和系统
WO2008108564A1 (en) * 2007-03-02 2008-09-12 Lg Electronics Inc. Method and system for transferring resource
CN101267299B (zh) * 2007-03-14 2010-11-03 阿里巴巴集团控股有限公司 一种安全显示网页中数据的方法和系统
US8763136B2 (en) * 2007-03-22 2014-06-24 Red Hat, Inc. Privacy enhanced browser
US7941405B2 (en) * 2007-03-30 2011-05-10 Data Center Technologies Password protection for file backups
US9319220B2 (en) * 2007-03-30 2016-04-19 Intel Corporation Method and apparatus for secure network enclaves
CN101335622B (zh) * 2007-06-27 2012-08-29 日电(中国)有限公司 使用匿名柔性凭证的用于分布式授权的方法和装置
US8094812B1 (en) * 2007-09-28 2012-01-10 Juniper Networks, Inc. Updating stored passwords
CA2700569A1 (en) * 2007-10-18 2009-04-23 Goodmail Systems, Inc. Certification of e-mails with embedded code
US9495561B2 (en) * 2008-01-08 2016-11-15 International Business Machines Corporation Target of opportunity recognition during an encryption related process
US8682470B2 (en) * 2008-01-08 2014-03-25 International Business Machines Corporation Data storage drive with target of opportunity recognition
US9349410B2 (en) 2008-01-08 2016-05-24 International Business Machines Corporation Automated data storage library with target of opportunity recognition
CN101247232B (zh) * 2008-03-27 2012-09-26 上海金鑫计算机系统工程有限公司 数据交换传输中基于数字签名的加密技术方法
CN101309278B (zh) * 2008-06-27 2011-07-06 腾讯科技(深圳)有限公司 一种在客户端保存加密数据的方法及系统
US8924362B2 (en) * 2008-06-30 2014-12-30 Microsoft Corporation B-file abstraction for efficiently archiving self-expiring data
US8352519B2 (en) * 2008-07-31 2013-01-08 Microsoft Corporation Maintaining large random sample with semi-random append-only operations
US8181861B2 (en) 2008-10-13 2012-05-22 Miri Systems, Llc Electronic transaction security system and method
WO2010043024A1 (en) * 2008-10-19 2010-04-22 Research In Motion Limited Web application framework for enabling optimum rendering performance on a client based upon detected parameters of the client
US20100287231A1 (en) * 2008-11-11 2010-11-11 Esignet, Inc. Method and apparatus for certifying hyperlinks
US8271536B2 (en) * 2008-11-14 2012-09-18 Microsoft Corporation Multi-tenancy using suite of authorization manager components
US20100226526A1 (en) * 2008-12-31 2010-09-09 Modro Sierra K Mobile media, devices, and signaling
US9449195B2 (en) * 2009-01-23 2016-09-20 Avow Networks Incorporated Method and apparatus to perform online credential reporting
CA2753576A1 (en) * 2009-02-25 2010-09-02 Miri Systems, Llc Payment system and method
JP5124527B2 (ja) * 2009-05-26 2013-01-23 株式会社日立製作所 メール中継装置
US9178858B1 (en) * 2009-08-05 2015-11-03 West Corporation Method and system for message delivery security validation
IN2012DN03242A (ja) * 2009-10-05 2015-10-23 Miri Systems Llc
US20110179270A1 (en) * 2010-01-20 2011-07-21 The Provost, Fellows and Scholars of the College of the Holy and Undivided Trinity of Queen Elizab Data Retrieval System
US8442235B2 (en) * 2010-04-14 2013-05-14 Microsoft Corporation Extensible management of self-encrypting storage devices
US8505083B2 (en) 2010-09-30 2013-08-06 Microsoft Corporation Remote resources single sign on
US8646062B2 (en) * 2010-11-09 2014-02-04 International Business Machines Corporation Remote authentication based on challenge-response using digital certificates
GB2481663B (en) * 2010-11-25 2012-06-13 Richard H Harris Handling encoded information
WO2012092261A2 (en) 2010-12-29 2012-07-05 Citrix Systems, Inc. Systems and methods for multi-level tagging of encrypted items for additional security and efficient encrypted item determination
US8683560B1 (en) * 2010-12-29 2014-03-25 Amazon Technologies, Inc. Techniques for credential generation
US9838392B2 (en) * 2011-02-28 2017-12-05 Nokia Technologies Oy Method and apparatus for providing proxy-based access controls
US8869279B2 (en) * 2011-05-13 2014-10-21 Imperva, Inc. Detecting web browser based attacks using browser response comparison tests launched from a remote source
WO2013013291A1 (en) * 2011-07-28 2013-01-31 Certicom Corp. System, device, and method for authentication of a user accessing an on-line resource
US9058467B2 (en) 2011-09-01 2015-06-16 Microsoft Corporation Distributed computer systems with time-dependent credentials
US9032492B2 (en) 2011-09-01 2015-05-12 Microsoft Corporation Distributed computer systems with time-dependent credentials
US8640210B2 (en) 2011-09-01 2014-01-28 Microsoft Corporation Distributed computer systems with time-dependent credentials
CN103002439B (zh) * 2011-09-13 2015-06-17 联芯科技有限公司 保密通话的通信方法及用户终端
US9830435B2 (en) * 2011-10-04 2017-11-28 Salesforce.Com, Inc. Method and system for providing login as a service
US8955079B2 (en) * 2011-10-31 2015-02-10 Avaya Inc. Single sign-on for applications
US9298837B2 (en) 2011-11-10 2016-03-29 Room 77, Inc. Efficient indexing and caching infrastructure for metasearch
US8819444B2 (en) * 2011-12-27 2014-08-26 Majid Shahbazi Methods for single signon (SSO) using decentralized password and credential management
US9356924B1 (en) * 2011-12-27 2016-05-31 Majid Shahbazi Systems, methods, and computer readable media for single sign-on (SSO) using optical codes
US10742634B1 (en) 2011-12-27 2020-08-11 Majid Shahbazi Methods for single sign-on (SSO) using optical codes
US8898796B2 (en) * 2012-02-14 2014-11-25 International Business Machines Corporation Managing network data
US9166777B2 (en) * 2012-03-05 2015-10-20 Echoworx Corporation Method and system for user authentication for computing devices utilizing PKI and other user credentials
CN102638580A (zh) * 2012-03-30 2012-08-15 奇智软件(北京)有限公司 一种网页信息处理方法和装置
US9576064B2 (en) * 2012-04-13 2017-02-21 Yahoo! Inc. Third party program integrity and integration control in web-based applications
US8997193B2 (en) * 2012-05-14 2015-03-31 Sap Se Single sign-on for disparate servers
US8880885B2 (en) * 2012-10-09 2014-11-04 Sap Se Mutual authentication schemes
US11178126B2 (en) * 2013-01-15 2021-11-16 Schneider Electric USA, Inc. Systems and methods for securely accessing programmable devices
WO2014124014A1 (en) * 2013-02-05 2014-08-14 Vynca, L.L.C. Method and apparatus for collecting an electronic signature on a first device and incorporating the signature into a document on a second device
WO2014126493A1 (ru) * 2013-02-13 2014-08-21 Sherbakov Andrei Yuryevich Способ использования ресурса в компьютерной системе
US9954843B2 (en) * 2013-02-28 2018-04-24 Microsoft Technology Licensing, Llc Web ticket based upon a symmetric key usable for user authentication
US9344426B2 (en) 2013-05-14 2016-05-17 Citrix Systems, Inc. Accessing enterprise resources while providing denial-of-service attack protection
CN104217136B (zh) * 2013-06-05 2017-05-03 北京齐尔布莱特科技有限公司 防止网页文本信息被自动抓取的方法和系统
CN103458037A (zh) * 2013-09-06 2013-12-18 南京南自信息技术有限公司 一种在资源受限环境下提供复杂网页应用的方法和设备
US9237019B2 (en) * 2013-09-25 2016-01-12 Amazon Technologies, Inc. Resource locators with keys
US9722801B2 (en) 2013-09-30 2017-08-01 Juniper Networks, Inc. Detecting and preventing man-in-the-middle attacks on an encrypted connection
US9215064B2 (en) 2013-10-21 2015-12-15 Adobe Systems Incorporated Distributing keys for decrypting client data
EP3069465B1 (en) * 2013-11-14 2019-07-31 Pleasant Solutions Inc. System and method for credentialed access to a remote server
CN104767719B (zh) 2014-01-07 2018-09-18 阿里巴巴集团控股有限公司 确定登录网站的终端是否是移动终端的方法及服务器
US9882884B1 (en) * 2014-01-15 2018-01-30 United States Automobile Association (USAA) Authenticating mobile traffic
US10108168B2 (en) 2014-06-01 2018-10-23 Si-Ga Data Security (2014) Ltd. Industrial control system smart hardware monitoring
US10182046B1 (en) * 2015-06-23 2019-01-15 Amazon Technologies, Inc. Detecting a network crawler
US9489508B2 (en) 2014-11-13 2016-11-08 Seagate Technology Llc Device functionality access control using unique device credentials
US9853977B1 (en) * 2015-01-26 2017-12-26 Winklevoss Ip, Llc System, method, and program product for processing secure transactions within a cloud computing system
US10158480B1 (en) 2015-03-16 2018-12-18 Winklevoss Ip, Llc Autonomous devices
US10915891B1 (en) 2015-03-16 2021-02-09 Winklevoss Ip, Llc Autonomous devices
US10165004B1 (en) 2015-03-18 2018-12-25 Cequence Security, Inc. Passive detection of forged web browsers
US11418520B2 (en) 2015-06-15 2022-08-16 Cequence Security, Inc. Passive security analysis with inline active security device
US10290022B1 (en) 2015-06-23 2019-05-14 Amazon Technologies, Inc. Targeting content based on user characteristics
US9887848B2 (en) * 2015-07-02 2018-02-06 Gn Hearing A/S Client device with certificate and related method
US10509900B1 (en) 2015-08-06 2019-12-17 Majid Shahbazi Computer program products for user account management
US11082849B2 (en) * 2015-08-07 2021-08-03 Qualcomm Incorporated Validating authorization for use of a set of features of a device
CN105490813B (zh) * 2015-11-26 2019-03-01 广州华多网络科技有限公司 一种用户安全访问web的方法及装置
US10237080B2 (en) * 2015-12-08 2019-03-19 Verizon Patent And Licensing Inc. Tracking data usage in a secure session
US10931713B1 (en) 2016-02-17 2021-02-23 Cequence Security, Inc. Passive detection of genuine web browsers based on security parameters
US9600656B1 (en) * 2016-03-09 2017-03-21 Sailpoint Technologies, Inc. System and method for domain password reset in a secured distributed network environment
US10461942B1 (en) * 2016-07-20 2019-10-29 United Services Automobile Association Multi-factor authentication with code rotation
US20180145959A1 (en) * 2016-11-22 2018-05-24 Synergex Group Method for determining access privilege using username, IP address, App ID, App Key, and biometric signature sample.
US10805080B2 (en) 2017-01-06 2020-10-13 Microsoft Technology Licensing, Llc Strong resource identity in a cloud hosted system
SE543061C2 (en) * 2017-01-31 2020-09-29 Telia Co Ab Methods for providing continuity in chatbot communications
US10931686B1 (en) 2017-02-01 2021-02-23 Cequence Security, Inc. Detection of automated requests using session identifiers
PH12017000064A1 (en) * 2017-03-03 2018-09-17 Jr Eugenio S Ynion Access control method, system, device, terminal, and computer program product uisng multimodal authenticity determination
CN108632021A (zh) 2017-03-15 2018-10-09 阿里巴巴集团控股有限公司 一种密钥加密方法、装置和系统
CN108632213B (zh) * 2017-03-20 2021-12-31 腾讯科技(北京)有限公司 设备信息处理方法及装置
CN109286932B (zh) * 2017-07-20 2021-10-19 阿里巴巴集团控股有限公司 入网认证方法、装置及系统
US10891372B1 (en) 2017-12-01 2021-01-12 Majid Shahbazi Systems, methods, and products for user account authentication and protection
US10949564B2 (en) 2018-05-07 2021-03-16 Apple Inc. Contact discovery service with privacy aspect
CN108600268B (zh) * 2018-05-09 2020-09-22 聚龙股份有限公司 一种应用于非授信认证的加密解密方法及非授信认证系统
CN108600266B (zh) * 2018-05-09 2020-09-22 聚龙股份有限公司 一种声明过滤认证方法及认证系统
CN110968413A (zh) * 2018-09-28 2020-04-07 华为技术有限公司 一种数据管理方法、装置和服务器
CN109359252B (zh) * 2018-10-30 2021-11-30 北京小米移动软件有限公司 浏览器选择方法及装置
CN111249740A (zh) * 2020-01-07 2020-06-09 上海米哈游天命科技有限公司 一种资源数据的访问方法及系统
US11398901B2 (en) * 2020-03-26 2022-07-26 Walmart Apollo, Llc Restricted partial key storage
US11552802B2 (en) * 2020-04-15 2023-01-10 Salesforce, Inc. Stateless mutual authentication between services
US11314876B2 (en) 2020-05-28 2022-04-26 Bank Of America Corporation System and method for managing built-in security for content distribution
US11233802B1 (en) * 2020-06-11 2022-01-25 Amazon Technologies, Inc. Cookie and behavior-based authentication
CN112417401A (zh) * 2020-11-26 2021-02-26 深圳创维-Rgb电子有限公司 账号验证方法、装置、系统及计算机可读存储介质
US11665002B2 (en) * 2020-12-11 2023-05-30 International Business Machines Corporation Authenticated elevated access request
KR102486585B1 (ko) * 2021-10-21 2023-01-09 주식회사 엔디에스 네트워크를 통한 사용자 자격 검증 방법 및 이에 사용되는 서비스 제공 서버
US20230319025A1 (en) * 2022-03-31 2023-10-05 T-Mobile Usa, Inc. Methods and systems for implementing unique session number sharing to ensure traceability
US11528144B1 (en) * 2022-06-09 2022-12-13 Uab 360 It Optimized access in a service environment

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5237614A (en) * 1991-06-07 1993-08-17 Security Dynamics Technologies, Inc. Integrated network security system
JPH11213104A (ja) * 1998-01-22 1999-08-06 Fuji Xerox Co Ltd 電子チケットシステム
JP2001265743A (ja) * 1999-12-27 2001-09-28 Hewlett Packard Co <Hp> 電子メッセージ認証システムと電子メッセージを認証する方法
JP2002117350A (ja) * 2000-07-21 2002-04-19 Hitachi Ltd サービス発行方法並びにサービス提供方法及びそのシステム
WO2002044858A2 (en) * 2000-11-03 2002-06-06 Citrix Systems, Inc. System and method for securing a non-secure communication channel

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5168520A (en) * 1984-11-30 1992-12-01 Security Dynamics Technologies, Inc. Method and apparatus for personal identification
US4972472A (en) * 1985-03-15 1990-11-20 Tandem Computers Incorporated Method and apparatus for changing the master key in a cryptographic system
US5657388A (en) * 1993-05-25 1997-08-12 Security Dynamics Technologies, Inc. Method and apparatus for utilizing a token for resource access
US6047357A (en) * 1995-01-27 2000-04-04 Digital Equipment Corporation High speed method for maintaining cache coherency in a multi-level, set associative cache hierarchy
US6041357A (en) * 1997-02-06 2000-03-21 Electric Classified, Inc. Common session token system and protocol
RU2163745C2 (ru) * 1999-04-29 2001-02-27 Щеглов Андрей Юрьевич Система защиты виртуального канала корпоративной сети с аутентифицирующим маршрутизатором, построенной на каналах и средствах коммутации сети связи общего пользования
US6957334B1 (en) * 1999-06-23 2005-10-18 Mastercard International Incorporated Method and system for secure guaranteed transactions over a computer network
US6834271B1 (en) * 1999-09-24 2004-12-21 Kryptosima Apparatus for and method of secure ATM debit card and credit card payment transactions via the internet
RU2166792C1 (ru) * 1999-10-25 2001-05-10 Щеглов Андрей Юрьевич Система защиты рабочих станций, информационных и функциональных серверов вычислительных систем и сетей с динамическими списками санкционированных событий
US6954799B2 (en) * 2000-02-01 2005-10-11 Charles Schwab & Co., Inc. Method and apparatus for integrating distributed shared services system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5237614A (en) * 1991-06-07 1993-08-17 Security Dynamics Technologies, Inc. Integrated network security system
JPH11213104A (ja) * 1998-01-22 1999-08-06 Fuji Xerox Co Ltd 電子チケットシステム
JP2001265743A (ja) * 1999-12-27 2001-09-28 Hewlett Packard Co <Hp> 電子メッセージ認証システムと電子メッセージを認証する方法
JP2002117350A (ja) * 2000-07-21 2002-04-19 Hitachi Ltd サービス発行方法並びにサービス提供方法及びそのシステム
WO2002044858A2 (en) * 2000-11-03 2002-06-06 Citrix Systems, Inc. System and method for securing a non-secure communication channel

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7496751B2 (en) * 2001-10-29 2009-02-24 Sun Microsystems, Inc. Privacy and identification in a data communications network
JP2006094510A (ja) * 2004-09-21 2006-04-06 Microsoft Corp レートを同期させたクロックを使用した高信頼メッセージング
JP2009541894A (ja) * 2006-06-23 2009-11-26 マイクロソフト コーポレーション モバイルデバイスユーザ経験の仮想化
US8560595B2 (en) 2006-06-23 2013-10-15 Microsoft Corporation Virtualization of mobile device user experience
US9542062B2 (en) 2006-06-23 2017-01-10 Microsoft Technology Licensing, Llc Virtualization of mobile device user experience
JP2008083937A (ja) * 2006-09-27 2008-04-10 Ntt Data Corp 情報処理装置、管理方法、及びコンピュータプログラム
JP4607082B2 (ja) * 2006-09-27 2011-01-05 株式会社エヌ・ティ・ティ・データ 情報処理装置、管理方法、及びコンピュータプログラム
US9667423B2 (en) 2010-09-27 2017-05-30 Nokia Technologies Oy Method and apparatus for accelerated authentication
US9979545B2 (en) 2010-09-27 2018-05-22 Nokia Technologies Oy Method and apparatus for accelerated authentication
JP2018110445A (ja) * 2013-03-15 2018-07-12 パナソニックIpマネジメント株式会社 コンテンツ配信方法、コンテンツ配信システム、及びソース機器

Also Published As

Publication number Publication date
CA2450056A1 (en) 2004-05-20
RU2008114665A (ru) 2009-10-20
MXPA03010477A (es) 2004-10-15
DK1422907T3 (da) 2013-08-26
JP4647200B2 (ja) 2011-03-09
BRPI0305140B1 (pt) 2018-05-29
AU2003257894A1 (en) 2004-06-10
US7360096B2 (en) 2008-04-15
US20040098609A1 (en) 2004-05-20
EP1422907A3 (en) 2011-11-23
CN1505309A (zh) 2004-06-16
RU2447490C2 (ru) 2012-04-10
BR0305140A (pt) 2004-08-31
KR20040044375A (ko) 2004-05-28
SI1422907T1 (sl) 2013-10-30
AU2003257894B2 (en) 2009-07-02
RU2003133768A (ru) 2005-05-10
CA2450056C (en) 2013-05-14
ES2423824T3 (es) 2013-09-24
CN100581103C (zh) 2010-01-13
KR101071132B1 (ko) 2011-10-10
RU2332711C2 (ru) 2008-08-27
EP1422907A2 (en) 2004-05-26
EP1422907B1 (en) 2013-07-03
AU2003257894B8 (en) 2009-08-13

Similar Documents

Publication Publication Date Title
JP4647200B2 (ja) リソースへのウェブ・ベースのアクセスに使用されるクライアントの資格証明書の安全な処理
JP4864289B2 (ja) ネットワークユーザ認証システムおよび方法
US7836121B2 (en) Dynamic executable
EP1577736B1 (en) Efficient and secure authentication of computing systems
EP1703694B1 (en) Trusted third party authentication for web services
US7581244B2 (en) IMX session control and authentication
KR100615793B1 (ko) 준 신뢰성 웹 서버를 통한 오리진 웹 서버로부터의 정보 액세스 방법과 그 장치 및 컴퓨터 판독 가능 기록 매체
US9813382B2 (en) Cryptographic binding of multiple secured connections
US20060294366A1 (en) Method and system for establishing a secure connection based on an attribute certificate having user credentials
US20030005118A1 (en) Method and system for secure server-based session management using single-use HTTP cookies
US20030065956A1 (en) Challenge-response data communication protocol
US11178109B1 (en) File sharing over secure connections
US11218317B1 (en) Secure enclave implementation of proxied cryptographic keys
EP4268101A1 (en) Authentication using device and user identity
EP4096160A1 (en) Shared secret implementation of proxied cryptographic keys
He et al. On one-time cookies protocol based on one-time password
US12034699B1 (en) File sharing over secure connections

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061115

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061115

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100402

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100702

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100806

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101104

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: 20101203

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101208

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

Free format text: PAYMENT UNTIL: 20131217

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4647200

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees