JP2004528624A - A device for pre-authenticating a user using a one-time password - Google Patents

A device for pre-authenticating a user using a one-time password Download PDF

Info

Publication number
JP2004528624A
JP2004528624A JP2002558715A JP2002558715A JP2004528624A JP 2004528624 A JP2004528624 A JP 2004528624A JP 2002558715 A JP2002558715 A JP 2002558715A JP 2002558715 A JP2002558715 A JP 2002558715A JP 2004528624 A JP2004528624 A JP 2004528624A
Authority
JP
Japan
Prior art keywords
user
server
password
code
authentication server
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.)
Withdrawn
Application number
JP2002558715A
Other languages
Japanese (ja)
Inventor
ロバート ジャードネク,
Original Assignee
アルコット システムズ インコーポレイテッド
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
Priority claimed from US09/896,560 external-priority patent/US6983381B2/en
Priority claimed from US09/896,163 external-priority patent/US7181762B2/en
Application filed by アルコット システムズ インコーポレイテッド filed Critical アルコット システムズ インコーポレイテッド
Publication of JP2004528624A publication Critical patent/JP2004528624A/en
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0272Virtual private networks
    • 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/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • 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/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • H04L63/0838Network architectures or network communication protocols for network security for authentication of entities using passwords using one-time-passwords
    • 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
    • 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/3226Cryptographic 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 using a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3228One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-key
    • 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/3263Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • 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/3271Cryptographic 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 using challenge-response
    • 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/56Financial cryptography, e.g. electronic payment or e-cash
    • 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

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)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

プロセッサを含むクライアントコンピューティングシステムのコンピュータプログラム製品は、プロセッサに指示して認証サーバからのチャレンジをリクエストさせるコードと、第1の安全な通信チャンネルを介して認証サーバからの識別コードを含むチャレンジを受信させるコードと、ユーザからユーザ認証データを受信させるコードと、ユーザ認証データに応答して秘密鍵およびデジタル証明書を判定させるコードと、識別コードおよび秘密鍵に応答してデジタル署名を形成させるコードと、デジタル署名を認証サーバに伝達させるコードと、暗号化された形態の公開鍵で含むデジタル証明書を認証サーバに伝達させるコードと、ネットワークユーザ認証データおよび識別コードをセキュリティサーバを介して認証サーバに伝達させるコードとを含み、認証サーバは、デジタル署名が検証されると識別コードを活性化し、そのコードはタンジブル媒体上に常駐する。
【選択図】図3
A computer program product of a client computing system that includes a processor receives a code that directs the processor to request a challenge from an authentication server and a challenge that includes an identification code from the authentication server via a first secure communication channel. A code for receiving user authentication data from a user, a code for determining a secret key and a digital certificate in response to the user authentication data, and a code for forming a digital signature in response to the identification code and the secret key. A code for transmitting a digital signature to an authentication server, a code for transmitting a digital certificate containing an encrypted form of a public key to the authentication server, and network user authentication data and an identification code to the authentication server via the security server. To be transmitted And a de authentication server activates the identification code digital signature is verified, the code resides on a tangible medium.
[Selection diagram] FIG.

Description

【技術分野】
【0001】
(関連出願のクロスリファレンス)
本発明の開示は、「Method and Apparatus for Pre−Authentication of Users Using One−Time Passwords」と称される米国特許仮出願第60/262875号(2001年1月17日出願)の優先権を主張する。本出願は、本明細書中において参考のため援用される。
【背景技術】
【0002】
(発明の背景)
本発明は、安全なコンピュータネットワークアクセスに関する。特に、本発明は、安全なコンピュータネットワークのためのワンタイムパスワードを発行および使用する方法および装置に関する。
【0003】
コンピュータネットワークへの安全なリモートアクセスは、エンドユーザがネットワークへのアクセスを許可される前に認証されることを必要とする。現在の安全なリモートアクセスシステムにおいて、エンドユーザは、種々の方法を用いて認証される。1方法において、エンドユーザがリモートサーバにアクセスした場合、エンドユーザは、ユーザネームまたはログイン名、パスワード、個人暗証番号(「PIN」)等を組み合わせるよう促される。ユーザのログイン名とPINが登録されていることが検証されると、コンピュータネットワークへのアクセスがエンドユーザに許可される。
【0004】
この仕組みの不利な点は、一旦ユーザ名およびパスワードが侵犯されるかまたは盗まれると、コンピュータシステムへの非認証アクセスが容易に行われ得る。別の不利な点は、方策を推測する単純なパスワードが、パスワードを推測するために用いられ得ることを含む。
【0005】
コンピュータシステムへのユーザのアクセスを制限する別の方法は、電子「キーカード」または「トークン」を使用することによる。このような解決策において、ユーザには、通常、ユーザがデータを入力することを可能にする物理ハードウェアデバイスまたはソフトウェアが提供される。このようなユーザデータに応答して、これらのデバイスは、次に、ログインの試みのために用いられるパスワード等を出力する。
【0006】
このようなデバイスの不利な点は、このようなハードウェアデバイスが非常に置き間違えられるかまたは失われることである。別の不利な点は、子供、ペット等がこのような「玩具」に不正変更を加え、この玩具を動かなくし得ることである。さらに別の不利な点は、このようなシステムにおいて、キーカードが動作する前に、システム管理者がキーカードを手動で予め登録することを必要とすることである。さらに別の不利な点は、ハードウェアデバイスが盗まれる等の場合、盗人が、結局、コンピュータネットワークにアクセスするために必要な電子身分証明を所有することである。
【0007】
別の不利な点は、このようなシステムが、「キーカード」または「トークン」と、サーバ機器との間の正確な時間の同期化に依存するということである。これは、多くの場合、実行および維持が困難である。なぜなら、クロックが種々のデバイス内でずれるからである。
【0008】
従って、上述の説明を考慮して、業界において必要とされるのは、上述の不利な点を低減する一方で、コンピュータネットワークのワンタイムパスワードを発行および使用する方法および装置を改善することである。
【発明の開示】
【課題を解決するための手段】
【0009】
(発明の要旨)
本発明は、ワンタイムパスワードを安全に取得かつ使用する方法および装置に関する。本発明の実施形態は、ファイアウォール、VPNゲートウェイ、電子メールサーバ、ウェブサーバ、データベースシステム、アプリケーションサーバ、ワイヤレスアプリケーション、安全に配布されるサービスアクセス、組み込まれたアプリケーション等に適用され得る。実施形態は、有利にも、ファイアウォール、VPNゲートウェイ等を含む、現在採用されるコンピュータシステムを改変することなく、このコンピュータシステムに適用され得る。
【0010】
実施形態は、検証サーバ(認証サーバ)が、チャレンジとして、外部サーバを介してユーザにワンタイムパスワードを送信する方法および装置を含む。検証サーバと外部サーバとユーザとのクライアントシステム間の通信は、IPSec、SSL、S−HTTPといった暗号化それ自体の「強力」な形態を用いる。検証サーバは、その後、チャレンジ応答を受信する。1実施形態において、チャレンジ応答は、デジタル署名を含む。1実施形態において、チャレンジ応答は、暗号化された形態の公開鍵を含むデジタル証明書をさらに含む。他の実施形態において、鍵のペアを用いる以外の他の暗号の形態がさらに用いられ得る。
【0011】
一旦検証(認証)サーバが、デジタル署名およびデジタル証明書を介してユーザを検証すると、検証サーバは、ワンタイムパスワードを事前認証または活性化させる。ユーザは、その後、ユーザ識別およびワンタイムパスワードを用いて、パスワードベースのセキュリティを用いてサインオンし得る。ワンタイムパスワードが検証サーバによって事前認証または活性化されたので、パスワードベースのセキュリティシステムは、接続を承認する。添付のドキュメントに記載されるように、ワンタイムパスワードを活性化した後の期間内にログインの試みがなされなかった場合、ワンタイムパスワードが非認証、削除、不活性化等がされるように、検証サーバ内でタイムリミットが設定され得る。
【0012】
本発明の1局面によると、プロセッサを含むクライアントコンピューティングシステムのためのコンピュータプログラム製品が開示される。コンピュータプログラム製品は、タンジブル媒体を含む。タンジブル媒体は、プロセッサに指示して認証サーバからのチャレンジをリクエストさせるコード、プロセッサに指示して第1の安全な通信チャネルを介して認証サーバから識別コードを含むチャレンジを受信させるコード、プロセッサに指示してユーザからのユーザ認証データを受信させるコード、およびプロセッサに指示してユーザ認証データに応答して秘密鍵およびデジタル証明書を判定させるコードとを含み得る。さらに、タンジブルメモリは、プロセッサに指示して識別コードおよび秘密鍵に応答してデジタル署名を形成させるコード、プロセッサに指示してデジタル署名を認証サーバに伝達させるコード、プロセッサに指示して暗号化された形態の公開鍵を含むデジタル証明書を認証サーバに伝達させるコード、およびプロセッサに指示してセキュリティサーバを介してネットワークユーザ認証データおよび識別コードを認証サーバに伝達させるコードを含み得る。1実施形態において、認証サーバは、デジタル署名が検証されると識別コードを活性化する。
【0013】
本発明の別の局面によると、プライベートサーバと通信するためのクライアントコンピューティングシステムが開示される。クライアントコンピュータシステムは、鍵財布(key wallet)を格納するように構成されたタンジブルメモリを含み得る。鍵財布は、ユーザと関連する秘密鍵およびユーザと関連するデジタル証明書を含み、この秘密鍵およびデジタル証明書は、暗号化された形態で格納され、プロセッサは、タンジブルメモリと結合される。このプロセッサは、第1の安全な通信チャネルを介して認証サーバからチャレンジを受け取るように構成される。このチャレンジは識別コードを含む。プロセッサは、ユーザからユーザ認証データを受け取るように構成され、ユーザからの認証データに応答して、鍵財布から取り出された秘密鍵および取り出されたデジタル証明書を判定するように構成される。プロセッサは、識別コードおよび取り出された秘密鍵に応答して、デジタル署名を形成するように構成され、デジタル署名を認証サーバに伝達するように構成され、デジタル証明書を認証サーバに伝達するように構成され、かつセキュリティサーバを介してネットワークユーザ認証データおよび識別コードを認証サーバに伝達するように構成される。1つのクライアントコンピューティングシステムにおいて、認証サーバは、デジタル署名が検証されると識別コードを活性化し、セキュリティサーバは、識別コードが活性化されると、クライアントコンピューティングシステムがプライベートサーバと通信することを可能にする。
【0014】
本発明のさらに別の局面によると、リモートサーバと通信するためのクライアントシステムが開示される。クライアントシステムは、ユーザと関連する秘密鍵、およびユーザと関連するデジタル証明書を暗号化された形態で格納するように構成される鍵財布プログラムを格納するように構成されたタンジブルメモリと、第1の安全な通信チャネルを介して、不活性である少なくとも1つのネットワークパスワードを含むチャレンジを検証サーバから受け取る手段と、ユーザから少なくとも1つのPINを受け取る手段とを含み得る。さらなるクライアントシステムは、少なくともユーザからのPINに応答して、鍵財布から戻された秘密鍵および戻されたデジタル証明書を判定するタンジブルメモリと結合される手段と、ネットワークパスワードおよび秘密鍵に応答して、デジタル署名を形成する手段と、デジタル証明書およびデジタル署名を認証サーバに伝達する手段と、セキュリティサーバに少なくともネットワークパスワードを伝達する手段とをさらに含む。1つのクライアントシステムにおいて、ネットワークパスワードは、デジタル署名およびデジタル証明書がユーザを認証すると活性化され、ネットワークパスワードが活性化されると、セキュリティサーバは、クライアントシステムがリモートサーバと通信することを可能にする。
【0015】
本発明および発明に付随する有利な点の多くをより完全に理解することは、以下の詳細な説明を添付の図面と関連付けて考えながら参照することによってより良好に理解されるので、容易になされ得る。
【0016】
(特定の実施形態の説明)
添付のドキュメントは、本発明の実施形態を説明する。より具体的には、本ドキュメントは、公開鍵暗号等の暗号の「強い(strong)」形態がワンタイムパスワードを取得するために用いられる実施形態を記載する。このようなパスワードは、従来のパスワードベースのセキュリティシステム等により有利に用いられ得る。
【0017】
図1は、本発明の実施形態によるブロック図を示す。図1は、外部サーバ100、プライベートコンピュータネットワーク110、プライベートサーバ120および複数のクライアントシステム130〜150を示す。示されるように、このようなシステムは、コンピュータネットワーク160を介して互いに結合され得る。
【0018】
本実施形態において、コンピュータネットワーク160は、インターネットである。本発明の代替的実施形態において、コンピュータネットワーク160は、イントラネット、ワイヤレスネットワーク、ローカルエリアネットワーク、インターネット等の任意のコンピュータネットワークであり得る。コンピュータネットワーク160は、クライアントシステム130〜150、外部サーバ100および私企業のネットワーク110間にデータ通信を提供する。データ通信は、HTMLベースのデータ、テキストデータ、バイナリデータ、書式送信(form submission)、プラグインプログラムまたはビューア、アプレット、音声データ、ビデオデータ、暗号化されたデータ等の転送を含み得る。コンピュータネットワーク160は、単一のエンティティとして示されるが、インターネットの場合と同様に、コンピュータネットワーク160は、実際に、個々のルータおよびコンピュータサーバのネットワークであり得ると理解されるべきである。
【0019】
本実施例において、外部サーバ100、プライベートコンピュータネットワーク110およびクライアントシステム130〜150は、T1接続、毎秒384キロビット(kbps)、56kbps接続、14.4kbpsといった、種々の帯域幅特性を有し得るネットワーク接続を含み得る。
【0020】
本実施形態において、クライアントシステム130、140および150は、HP、Compaq、IBM等の企業によって販売されるもの等、通常のデスクトップパーソナルコンピュータとして具体化され得る。代替的実施形態において、AppleまたはDellによって販売されるもの等の他のパーソナルコンピュータもまた用いられ得る。あるいは、クライアントシステム130〜150は、ノートブックコンピュータ、テレビセットトップボックス(例えば、WebTV(登録商標))、ゲームコンソール(例えば、PlayStation2(登録商標))、ネットワークコンピュータ、またはプロセッサ、マイクロコントローラ、ASIC等を組み込む他のタイプのユニットとして具体化され得る。別の実施形態において、クライアントシステム130〜150は、PDA、またはPalmOS、Windows(登録商標)CE等上で動作する他の移動型コンピューティングプラットフォームとして具体化され得るか、またはセルラー技術、CDMA、TDMA、および他の技術を用い、かつWAP等のワイヤレスアプリケーションプロトコルを用いるワイヤレスデバイスとして具体化され得る。さらに別の実施形態において、クライアントシステム130〜150は、キオスク、腕時計、ポケットサイズまたは携帯型ディスプレイ、ポケットサイズまたは携帯型端末、ウェアラブルコンピュータ、網膜移植、監視機器、台所器具等の範囲内で具体化され得る。
【0021】
本実施形態において、外部サーバ100、プライベートコンピュータネットワーク110、プライベートサーバ120、クライアントシステム130〜150間の通信は、安全な−IPSec、HTTP(S−HTTP)、TCP/IP、Secure Socket Layer(SSL)プロトコル、RTP/RTSPプロトコル、またはUDP等の他のプロトコルを支援するアプリケーションソフトウェアを用いて実行される。これらの通信プロトコルは周知であり、従って、本明細書中には記載されない。さらに、クライアントシステム130〜150は、後述されるように、認証されたユーザと関連する暗号化された公開/秘密鍵ペアを格納および使用する。
【0022】
図1における図式は例示にすぎず、本明細書中の請求の範囲を限定しない。当業者は、複数の他の変形、改変および代替案があることを認識する。
【0023】
図2は、本発明の実施形態による、典型的な外部サーバ200のブロック図である。外部サーバ200は、通常、モニタ210、コンピュータ220、キーボード230、グラフィカル入力デバイス240、ネットワークインターフェース250等を備える。
【0024】
本実施形態において、グラフカル入力デバイス240は、通常、コンピュータマウス、トラックボール、トラックパッド、ワイヤレスリモート等として具体化される。グラフィカル入力デバイスは、ユーザが、通常、モニタ210上に出力されるオブジェクト、アイコン、テキストなどをカーソルと組み合わせてグラフィカルに選択することを可能にする。
【0025】
ネットワークインターフェース250の実施形態は、イーサネット(登録商標)カード、モデム(電話、衛星、ケーブル、ISDN)、(非同期)デジタル加入者線(DSL)ユニット等を含む。ネットワークインターフェース250は、示されるような通常のネットワークと結合される。
【0026】
コンピュータ220は、プロセッサ260等の普通のコンピュータコンポーネント、ランダムアクセスメモリ(RAM)270等のメモリ記憶デバイス、ディスクドライブ280、および上述のコンポーネントを相互接続するシステムバス290を備える。
【0027】
1実施形態において、コンピュータ220は、Microsoft Corporation製のWindouwNT(登録商標)オペレーティングシステムを走行させるAdvanced Micro Devices,Inc.製のAthlon(登録商標)マイクロプロセッサといったx86ベースのマイクロプロセッサを有するPC互換のコンピュータである。
【0028】
RAM270およびディスクドライブ280は、データ、音声メッセージファイル、コンピュータプログラムを格納するためのタンジブル媒体の例であり、本発明の明細書中の実施形態は、バイナリファイル、暗号化されたデータ、アプレットインタープリタまたはコンパイラ、バーチャルマシン等である。他のタイプのタンジブル媒体は、フロッピー(登録商標)ディスク、リムーバブルなハードディスク、CD−ROMおよびバーコードといった光学式格納媒体、フラッシュメモリ、読み出し専用メモリ(ROMS)およびバッテリーバックアップ付き不揮発性メモリ等の半導体メモリを含む。本発明の実施形態において、セットトップボックス等、ディスクドライブ280等のマスストレージは省かれ得る。
【0029】
本実施形態において、外部サーバ200は、このサーバが、HTTP、S−HTTP、TCP/IP、IPSec、SSL、RTP/RTSP等を含む通信プロトコルを用いて、データをクライアントシステム130〜140およびプライベートコンピュータネットワーク110に送信し、かつこれらから受信することを可能にするソフトウェアをさらに含む。本発明の代替的実施形態において、例えば、IPX、UDP等の他のソフトウェアならびに転送および通信プロトコルもまた用いられ得る。
【0030】
図2は、本発明を具体化するシステムの代表的であるが1タイプである。複数の他のハードウェアおよびソフトウェア構成が、本発明と共に用いるために適切であることが当業者に容易に明らかになる。例えば、Intel Corporation製のPentium(登録商標)クラスまたはCeleron(登録商標)クラス、Motorola,Inc.製のPowerPC(登録商標)G3またはG4マイクロプロセッサ、Transmeta,Inc.製のCrusoe(登録商標)等のような他のタイプのプロセッサが考えられる。さらに、代替的実施形態において、Apple Computer Corporation製のSolaris、LINUX、UNIX(登録商標)、MAC OS X、BeOS(登録商標)等を含む、他のタイプのオペレーティングシステムが考えられる。プライベートサーバ120およびクライアントシステム130〜150の実施形態は、図2に示されるものと同様に構成され得る。
【0031】
図3は、本発明のより詳細な実施形態を示す。特に、図3は、クライアントシステム300、外部サーバ310およびプライベートネットワーク320を含む。プライベートネットワーク320は、ファイアウォール(またはVPN)サーバ340、認証サーバ350およびルータ330を介して結合されるプライベートサーバ360を含む。
【0032】
本実施形態において、かなり詳細に後述されるように、クライアントシステム300は、外部サーバ310およびプライベートネットワーク320の両方と、多くの場合、異なった時間に結合される。示されるように、プライベートネットワーク320内のファイアウォールサーバ340は、クライアントシステム300とのインターフェースを提供する。本実施形態において、認証サーバ350と組み合わされたファイアウォールサーバ340は、クライアントシステム300のユーザを認証するために用いられる。さらに、この組み合わせは、通常、プライベートサーバ360への非認証アクセスを防止するために用いられる。
【0033】
図4A〜図4Dは、図3に示される要素を参照する、本発明の実施形態によるフローチャートのブロック図を示す。
【0034】
最初に、ユーザは、非対称的な暗号鍵ペアを受け取るか、または設定する(ステップ400)。例えば、ユーザには、秘密鍵および公開鍵が割り当てられ得るか、またはこれを取得し得る。鍵ペアのコンセプトは、業界において周知である。次に、ユーザは、認証局(CA)等からデジタル証明書を取得する(ステップ410)。1実施形態において、デジタル証明書は、CAの「ドメイン鍵」(通常、対称鍵)を用いて暗号化されるユーザの公開鍵を含む。ユーザの秘密鍵およびデジタル証明書は、その後、通常、ユーザのコンピュータ上の「鍵財布」内に格納される(ステップ420)。
【0035】
本発明の1実施形態において、鍵財布は、秘密鍵およびデジタル証明書を安全に格納するソフトウェアアプリケーションである。1実施形態において、鍵財布から秘密鍵およびデジタル証明書を取り出すために、ユーザは、1つ以上のユーザ名および個人暗証番号(PIN)等を最初に入力する必要がある。ある場合において、ユーザ名/PINの組み合わせが正しい場合、ユーザと関連する鍵およびデジタル証明書が返される。
【0036】
他の実施形態において、鍵財布は、ユーザと関連しない鍵および証明書を返し得る。このような例において、鍵およびデジタル証明書が検証されるように思われるが、これらは、ユーザを認証するための機能をない。このような実施形態は、「Method and Apparatus for Cryptographically Camouflaged Cryptographic Key Storage,Certification and Use」と称され、同一譲受人の、米国特許出願第08/996,758号(1997年12月23日出願)に記載される、Arcot Systemsブランドの「Cryptographic Camouflage」鍵保護システムを含む。同出願は、本明細書中において参考のため援用される。
【0037】
他の実施形態において、鍵財布は、例えば、生体計測データ等の、ユーザ名/パスワード以外のタイプのデータを必要とし得る。生体計測データの例は、指紋、網膜走査、音声テキスト(spoken text)、物理タスクの実行等を含む。
【0038】
本実施形態において、ユーザのコンピュータは、秘密鍵およびデジタル証明書の自動的使用を提供し得るさらなるソフトウェアを含み得る。さらなるソフトウェアのこのような1実施形態は、Arcot Systems,Inc.により現在販売されているArcot for Virtual Private Networksと呼ばれる。本発明の実施形態において、さらなるソフトウェアがコンピュータネットワークからダウンロードまたは物理的媒体(CD−ROM)等を介してインストールされる(ステップ430)。
【0039】
図3を参照して、クライアントシステム300を用いるユーザは、次に、プライベートサーバ360にアクセスすることを所望する(ステップ440)。ユーザは、自身のユーザネーム、PIN、生体計測データ等を入力してそれらを自身で確認する(ステップ450)。このようなデータが検証され、すなわち、ユーザが認証されると(ステップ460)、鍵財布は、データを復号化し、ユーザに関連する秘密鍵およびデジタル証明書を取り出す(ステップ470)。データが無効である場合、上述の米国特許出願に記載されるように、機能しない鍵および証明書が生成され得る(ステップ480)。
【0040】
本実施例において、クライアントシステム300におけるアプリケーションソフトウェアは、外部サーバ310に連絡して、ワンタイムパスワード(または、任意の他の識別コード)をリクエストする(ステップ490)。クライアントシステム300と外部サーバ310との間の接続は、インターネット、ダイレクトダイヤルアップ接続、またはワイヤレスを含む任意の他の手段を介し得る。この接続は、通常、IPSec、S−HTTP、SSLといった、クライアントシステム300と外部サーバ310との間のデータの暗号化を含む安全接続である。
【0041】
リクエストに応答して、外部サーバ310は、認証サーバ350に連絡してワンタイムパスワードをリクエストする(ステップ500)。外部サーバ310と認証サーバ350との間の接続は、インターネット、ダイレクトダイヤルアップ接続、またはワイヤレスを含む任意の他の手段を介し得る。この接続は、さらに、通常、IPSec、S−HTTP、SSLといった、クライアントシステム300と外部サーバ310との間のデータの暗号化の強い形態を含む安全接続である。1実施形態において、外部サーバ310と認証サーバ350との間の通信は、直接的、または、例えば、ファイアウォールサーバ340を介する間接的であり得る。
【0042】
認証サーバ350は、次に、リクエストに応答して、ワンタイムパスワード(事前認証されたパスワードとしても知られる)を生成する(ステップ510)。この実施形態において、ワンタイムパスワードは、活性化されず、すなわち、認証サーバ350は、ワンタイムパスワードに基づいてプライベートサーバ360にアクセスすることを許可しない。
【0043】
その後、ワンタイムパスワードが外部サーバ310に伝達され(ステップ520)、その後、外部サーバ310がこのワンタイムパスワードをクライアントシステム300に伝達する(ステップ530)。このワンタイムパスワードは、「認証サーバ350からクライアントサーバ300への「チャレンジ(challenge)」と考えられ得る。
【0044】
本実施形態において、クライアントシステム300におけるさらなるソフトウェアは、ワンタイムパスワードを受け取り、デジタル署名を作成する(ステップ540)。1実施形態において、デジタル署名は、ほとんど偽造できない秘密鍵を有するワンタイムパスワードの変形である。別の実施形態において、デジタル署名を形成する他の従来の方法には、ハッシング等が用いられ得る。
【0045】
次に、クライアントシステム300は、デジタル署名およびデジタル証明書を外部サーバ310に送信する(ステップ550)。上述のように、データの転送は、通常、安全な通信チャネルを介する。デジタル署名およびデジタル証明書は、その後、認証サーバ350に伝達される(ステップ560)。再び、通信を保護するために、暗号化の強い形態が用いられ得る。クライアントシステム300からのこの応答は、認証サーバ350への「チャレンジ応答」と考えられ得る。
【0046】
本実施形態において、認証サーバ350は、デジタル証明書を受け取り、認証局(CA)のドメイン鍵を用いてこれを復号化する(ステップ570)。1実施形態において、認証サーバは、ドメイン鍵を安全に認証サーバ機器上に格納する。ドメイン鍵は、パスワードによって保護されたファイル、ハードウェアトークン等の形態で認証サーバ上に格納され得る。代替的実施形態において、認証サーバ350は、ドメイン鍵のデジタル証明書を発行した適切なCAにアクセスする。どちらの実施形態においても、認証サーバ350は、その後、CAのドメイン鍵を用い、デジタル証明書を復号化するためにこのドメイン鍵を用いる。復号化に応答して、ユーザの公開鍵が元に戻される。
【0047】
公開鍵は、デジタル署名を検証して、対応する秘密鍵を有するユーザのみがデジタル署名を生成することができ得ることを確認する(ステップ580)。このステップは、RSA等のアルゴリズムによって支援される標準オペレーションである。
【0048】
本実施形態において、検証は、署名を生成したユーザを識別する(ステップ590)。デジタル署名が検証された場合、特定のユーザに対してチャレンジが活性化され、このチャレンジが、認証サーバ350内でワンタイムパスワードになる(ステップ600)。これらが一致しない場合、ワンタイムパスワードは、不活性の状態で留まる(ステップ610)。
【0049】
従って、本方法は、発明の背景において述べられたように、ハードウェア「鍵」または「トークン」を予め登録するために、認証サーバ350も外部サーバ310も必要としない。さらに、同様に、発明の背景で述べられたように、本方法は、デバイス間の正確な同期化を必要としない。
【0050】
1実施形態において、エラーメッセージ等の、デジタル署名の一致の成功または失敗の通知がクライアントシステム300に戻される。さらに、デジタル署名が検証されない場合、プロセスは、代替的に、ステップ450に戻り得る。
【0051】
1実施形態において、認証サーバ350によって提供されたチャレンジは、ワンタイムパスワードではなく、その代わりに、チャレンジは、任意のランダムまたは擬似ランダムメッセージ、キャラクタ等であり得る。チャレンジは、デジタルで署名され、上述のように、認証サーバ350に戻される。ユーザが認証された場合、認証サーバ350は、その後、活性化されたワンタイムパスワードを、外部サーバ310を介して同じ安全な通信チャネルを用いてクライアントシステム300に送信し得る。
【0052】
どちらの実施形態においても、認証が成功した後、このステージで、クライアントシステム300は、活性化されたワンタイムパスワードを有する。次に、クライアントシステム300は、ネットワーク320と結合される(ステップ620)。通信チャネルは、通常、IPSec、S−HTTP、SSL等を用いて暗号化される。示されるように、プライベートネットワーク320は、通常、プライベートサーバ360への非認証アクセスを防止するためのファイアウォールを含む。
【0053】
本実施形態において、クライアントシステム300は、認証データをファイアウォールサーバ340に転送する(ステップ630)。本実施例において、認証データは、ユーザ名とパスワードとの別の組み合わせ、および認証サーバ350から受信されたワンタイムパスワードを含み得る。
【0054】
応答して、ファイアウォールサーバ340は、認証サーバ350と連絡する(ステップ640)。本実施形態において、ファイアウォールサーバ340と認証サーバ350との間の通信は、Remote Authentication Dial In User Service(RADIUS)、TACACS+等といったセキュリティ技術を用い得る。ファイアウォールサーバ340は、その後、認証データおよびワンタイムパスワードを認証サーバ350に通信する(ステップ650)。本実施形態において、認証サーバ350は、ワンタイムパスワードが活性で、かつ認証データが正しいかどうかを判定する(ステップ660)。一致がなされた場合、認証サーバ350は、アクセスが承認されていることをファイアウォールサーバに通知する(ステップ670)。そうでない場合、アクセスは拒否される(ステップ680)。
【0055】
アクセスが承認された場合、クライアントシステム300に、プライベートサーバ360等へのアクセスが提供される(ステップ690)。1実施例において、ワンタイムパスワードが成功裡に用いられた後、ワンタイムパスワードは不活性化される。他の実施形態において、パスワードは、認証サーバ350によって用いられた後であっても活性化した状態である。このような実施形態は、パスワードを「新しい」ユーザへのアクセスを提供および割り当てるか、または「最初」の訪問において、ユーザにパスワードを付与する方法である。
【0056】
本発明の1実施形態において、複数のステップがユーザに隠され、かつ自動であり得る。1実施例において、ユーザは、ステップ450を実行し、その後、ステップ680またはステップ690が実行されるまで単に待つ。本実施例において、ステップ620およびステップ630は、ユーザのために自動的に実行される。別の実施形態において、ステップ600の後、クライアントシステム300と認証サーバ350との間の安全な通信が終了される。その後、ユーザは、ステップ620およびステップ630を手動で実行する。
【0057】
図5Aおよび図5Bは、本発明の他の実施形態を示す。特に、図5Aおよび図5Bは、クライアントシステム、外部サーバおよび認証サーバ間の通信に関する他のスキームを示す。
【0058】
1実施形態において、図5Aに示されるように、クライアントシステム400は、外部サーバ310と直接的に連絡しない。その代わり、示されるように、フィルタリングモジュール470がファイアウォールサーバ440にインストールされる。フィルタリングモジュール470がクライアントシステム400からのワンタイムパスワードについてのリクエストを検出すると、フィルタリングモジュール470は、外部サーバ410にリクエストを転送する。
【0059】
図5Bに示される実施形態において、外部サーバ310は、認証サーバ350と直接的に連絡しない。その代わり、示されるように、通信は、ファイアウォールサーバ440を通って運ばれる。
【0060】
さらなる実施形態が当業者にイメージされ得る。例えば、1実施形態において、パスワードセキュリティシステムは、ファイアウォール、VPN等と一体化され得る。別の実施形態において、外部サーバは、ファイアウォール等を通過することなく、検証サーバと通信する。別の場合、外部サーバおよび検証サーバは、両方ともファイアウォール、VPN等の背後にある。さらに別の実施形態において、検証サーバおよびファイアウォールは、1つのサーバに一体化され得る。
【0061】
本発明の1実施形態において、認証サーバ350は、ワンタイムパスワードおよびチャレンジを送信し得る。このような実施形態において、チャレンジは、デジタルで署名され、検証目的でデジタル証明書と共に認証サーバ350に戻され得る。ユーザが検証された場合、認証サーバ350は、ワンタイムパスワードを活性化させる。従って、本実施形態において、ワンタイムパスワードは、上述の開示に記載されるようにデジタルで署名される必要がない。
【0062】
本発明の1実施形態において、ワンタイムパスワードの活性化は時間制限され得る。従って、ワンタイムパスワードおよび認証データは正確であり得るが、認証サーバ350は、依然として、ネットワークへのアクセスを拒否する。1例として、認証サーバがワンタイムパスワードを発行した場合、このサーバは、ワンタイムパスワードが活性である最長期間を例えば5分と設定する。従って、クライアントシステム300を用いるユーザが次の日に再びプライベートネットワーク320へのアクセスを達成しようとした場合、そのアクセスは拒否される。
【0063】
さらに別の実施形態において、ワンタイムパスワードは、限られた数のログインの試みに対してのみ活性であり得る。従って、ワンタイムパスワードおよび認証データが正確であり得るが、認証サーバ350は、依然としてネットワークへのアクセスを拒否し得る。1例として、認証サーバがワンタイムパスワードを発行した場合、このサーバは、試みの最大数を例えば3回と設定する。従って、クライアントシステム300を用いるユーザが不正確なユーザ名およびパスワード、しかしながら、正確なワンタイムパスワードを用いてプライベートネットワーク320へのアクセスを達成しようする場合、3回試みた後、ワンタイムパスワードは不活性化される。このような使用が制限されたワンタイムパスワードを提供することによって、ネットワークアクセスが侵犯されるリスクが低減されると考えられる。
【0064】
本特許出願の開示を考慮して、本発明の実施形態は、クレジットカードトランザクションシステム等の金融トランザクションに適用され得る。例えば、ワンタイムクレジットカード番号、ワンタイムデビットカード番号等は、ワンタイムパスワードに関して上述されたものとほぼ同じ態様で可能にされ得る。従って、クライアントは、最初に、ワンタイムクレジットカード番号についてのリクエストを行い得る。これに応答して、クレジットカード認証サーバが外部サーバを介して、ワンタイムクレジットカード番号の形態でチャレンジを送出し得る。クライアントは、ユーザの秘密鍵を用いてワンタイムクレジットカード番号に署名し、その署名されたカード番号をユーザのデジタル証明書と共に送信する。認証サーバが署名および証明書を検証した場合、ワンタイムクレジットカード番号が活性化される。その後、ユーザが製品、サービス等に対して支払うことを決定すると、ユーザは、ワンタイムクレジットカード番号を送出する。上述のように検証された場合、金融トランザクションは、ワンタイムクレジットカード番号を用いて完了される。他の実施形態において、例えば、ワンタイム銀行口座番号、仲介業者口座番号、電話アクセスカード等、他の金融トランザクションデータが認証サーバによって提供され得る。
【0065】
本発明の1実施形態において、クライアントシステムは、鍵財布パスワードを点検するレベルを含み得る。上述の実施形態において、ユーザが不正確な鍵財布パスワードを入力した場合、機能しない秘密鍵およびデジタル証明書がステップ480において鍵財布から取り出される。この実施形態において、不正確な鍵財布パスワードに対して、鍵財布アプリケーションは、パスワードが不正確であることをレポートし得、この方法は、ステップ450に戻る。このような比較は、ユーザの鍵財布パスワード等のハッシュまたは部分的ハッシュを用いることによって達成され得る。異なった実施形態において、鍵財布アプリケーションは、半分の時間、4分の1の時間または任意の他の所望される頻度で不正確なパスワードをレポートし得る。さらに、鍵財布アプリケーションは、パスワードの打ち間違い(typographic error)の派生物のみを含む不正確なパスワード等をレポートし得る。
【0066】
本発明の他の実施形態において、上述の開示された発明の組み合わせまたは部分的組み合わせが有利になされ得る。アーキテクチャおよびフローチャートのブロック図は、容易に理解されるようにまとめられる。しかしながら、ブロックの組み合わせ、新しいブロックの追加、ブロックの再構成等が本発明の代替的実施形態に考慮されることが理解されるべきである。
【0067】
従って、本明細書および図面は、限定的意味ではなくむしろ例示であるとみなされるべきである。しかしながら、種々の改変および変更が、請求項に示されるように、本発明の広義および範囲から逸脱することなくなされ得ることが明らかである。
【図面の簡単な説明】
【0068】
【図1】図1は、本発明の実施形態によるブロック図を示す。
【図2】図2は、本発明の実施形態による、典型的な外部サーバのブロック図である。
【図3】図3は、本発明のより詳細な実施形態を示す。
【図4A】図4Aは、本発明の実施形態による、フローチャートのブロック図を示す。
【図4B】図4Bは、本発明の実施形態による、フローチャートのブロック図を示す。
【図4C】図4Cは、本発明の実施形態による、フローチャートのブロック図を示す。
【図4D】図4Dは、本発明の実施形態による、フローチャートのブロック図を示す。
【図5A】図5Aは、本発明の他の実施形態を示す。
【図5B】図5Bは、本発明の他の実施形態を示す。
【Technical field】
[0001]
(Cross reference of related applications)
This disclosure claims priority to US Provisional Patent Application No. 60/262875, filed January 17, 2001, entitled "Method and Apparatus for Pre-Authentication of Users Using One-Time Passwords." . This application is incorporated herein by reference.
[Background Art]
[0002]
(Background of the Invention)
The present invention relates to secure computer network access. In particular, the invention relates to a method and apparatus for issuing and using a one-time password for a secure computer network.
[0003]
Secure remote access to a computer network requires that end users be authenticated before being allowed access to the network. In current secure remote access systems, end users are authenticated using various methods. In one method, when an end user accesses a remote server, the end user is prompted to combine a username or login name, a password, a personal identification number ("PIN"), and the like. Once the user's login name and PIN have been verified, access to the computer network is granted to the end user.
[0004]
A disadvantage of this scheme is that once the username and password have been breached or stolen, unauthorized access to the computer system can be facilitated. Another disadvantage includes that simple password guessing strategies can be used to guess passwords.
[0005]
Another way to limit a user's access to a computer system is by using electronic "key cards" or "tokens." In such a solution, the user is typically provided with a physical hardware device or software that allows the user to enter data. In response to such user data, these devices then output passwords and the like used for login attempts.
[0006]
A disadvantage of such devices is that such hardware devices are very misplaced or lost. Another disadvantage is that children, pets, etc. can tamp these "toys" and make them toy. Yet another disadvantage is that such a system requires a system administrator to manually pre-register the key card before the key card can operate. Yet another disadvantage is that in the event that a hardware device is stolen, etc., the thief will eventually have the necessary electronic credentials to gain access to the computer network.
[0007]
Another disadvantage is that such systems rely on precise time synchronization between the "key card" or "token" and the server equipment. This is often difficult to implement and maintain. Because the clocks are shifted in the various devices.
[0008]
Accordingly, in light of the above description, what is needed in the industry is an improved method and apparatus for issuing and using one-time passwords in computer networks, while reducing the aforementioned disadvantages. .
DISCLOSURE OF THE INVENTION
[Means for Solving the Problems]
[0009]
(Summary of the Invention)
The present invention relates to a method and apparatus for securely obtaining and using a one-time password. Embodiments of the present invention can be applied to firewalls, VPN gateways, email servers, web servers, database systems, application servers, wireless applications, securely distributed service access, embedded applications, and the like. Embodiments may be advantageously applied to currently employed computer systems, including firewalls, VPN gateways, etc., without modification.
[0010]
Embodiments include a method and apparatus in which a verification server (authentication server) sends a one-time password to a user via an external server as a challenge. Communication between the client system between the verification server, the external server, and the user uses a "strong" form of encryption itself, such as IPSec, SSL, S-HTTP. The verification server then receives the challenge response. In one embodiment, the challenge response includes a digital signature. In one embodiment, the challenge response further includes a digital certificate that includes the public key in an encrypted form. In other embodiments, other forms of encryption other than using a key pair may further be used.
[0011]
Once the verification (authentication) server verifies the user via the digital signature and digital certificate, the verification server pre-authenticates or activates the one-time password. The user can then sign on with password-based security using the user identification and one-time password. Now that the one-time password has been pre-authenticated or activated by the verification server, the password-based security system approves the connection. As described in the attached document, if no login attempt is made within the period after activating the one-time password, the one-time password will be de-authenticated, deleted, deactivated, etc. A time limit may be set in the verification server.
[0012]
According to one aspect of the present invention, a computer program product for a client computing system including a processor is disclosed. The computer program product includes a tangible medium. The tangible medium includes code for instructing the processor to request a challenge from the authentication server, code for instructing the processor to receive the challenge including the identification code from the authentication server via the first secure communication channel, And a code for instructing a processor to determine a secret key and a digital certificate in response to the user authentication data. In addition, the tangible memory includes a code for instructing the processor to form a digital signature in response to the identification code and the secret key, a code for instructing the processor to transmit the digital signature to the authentication server, and a code for instructing the processor. And a code for instructing the processor to transmit network user authentication data and an identification code to the authentication server via the security server. In one embodiment, the authentication server activates the identification code when the digital signature is verified.
[0013]
According to another aspect of the present invention, a client computing system for communicating with a private server is disclosed. The client computer system may include a tangible memory configured to store a key wallet. The key wallet includes a private key associated with the user and a digital certificate associated with the user, wherein the private key and the digital certificate are stored in an encrypted form, and the processor is coupled with the tangible memory. The processor is configured to receive a challenge from an authentication server via a first secure communication channel. This challenge includes an identification code. The processor is configured to receive user authentication data from the user, and is responsive to the authentication data from the user, configured to determine the secret key retrieved from the key wallet and the retrieved digital certificate. The processor is configured to form a digital signature in response to the identification code and the retrieved private key, configured to communicate the digital signature to the authentication server, and to communicate the digital certificate to the authentication server. And configured to communicate the network user authentication data and the identification code to the authentication server via the security server. In one client computing system, the authentication server activates the identification code when the digital signature is verified, and the security server causes the client computing system to communicate with the private server when the identification code is activated. enable.
[0014]
According to yet another aspect of the present invention, a client system for communicating with a remote server is disclosed. The client system includes a tangible memory configured to store a key wallet program configured to store a private key associated with the user and a digital certificate associated with the user in an encrypted form; Receiving from the verification server a challenge including at least one network password that is inactive via the secure communication channel, and means for receiving at least one PIN from the user. A further client system is responsive to the network password and the secret key, at least in response to the PIN from the user, means responsive to the tangible memory for determining the private key returned from the key wallet and the returned digital certificate. Means for forming a digital signature, means for transmitting the digital certificate and the digital signature to the authentication server, and means for transmitting at least the network password to the security server. In one client system, the network password is activated when the digital signature and digital certificate authenticate the user, and when the network password is activated, the security server allows the client system to communicate with the remote server. I do.
[0015]
A more complete understanding of the present invention and of many of the advantages associated with the invention will be readily obtained as it is better understood by reference to the following detailed description when considered in conjunction with the accompanying drawings. obtain.
[0016]
(Description of a specific embodiment)
The accompanying documents describe embodiments of the invention. More specifically, this document describes an embodiment in which a "strong" form of encryption, such as public key cryptography, is used to obtain a one-time password. Such passwords can be advantageously used by conventional password-based security systems and the like.
[0017]
FIG. 1 shows a block diagram according to an embodiment of the present invention. FIG. 1 shows an external server 100, a private computer network 110, a private server 120, and a plurality of client systems 130-150. As shown, such systems may be coupled to one another via a computer network 160.
[0018]
In the present embodiment, the computer network 160 is the Internet. In alternative embodiments of the invention, computer network 160 may be any computer network, such as an intranet, a wireless network, a local area network, the Internet, and so on. Computer network 160 provides data communication between client systems 130-150, external server 100 and private company network 110. Data communications can include the transfer of HTML-based data, text data, binary data, form submission, plug-in programs or viewers, applets, audio data, video data, encrypted data, and the like. Although computer network 160 is shown as a single entity, it should be understood that, as in the case of the Internet, computer network 160 may actually be a network of individual routers and computer servers.
[0019]
In this embodiment, the external server 100, the private computer network 110, and the client systems 130-150 are network connections that may have various bandwidth characteristics, such as T1 connection, 384 kilobits per second (kbps), 56 kbps connection, 14.4 kbps. May be included.
[0020]
In this embodiment, client systems 130, 140 and 150 may be embodied as ordinary desktop personal computers, such as those sold by companies such as HP, Compaq, and IBM. In alternative embodiments, other personal computers, such as those sold by Apple or Dell, may also be used. Alternatively, the client systems 130-150 may be a notebook computer, a television set-top box (eg, WebTV®), a game console (eg, PlayStation2®), a network computer, or a processor, microcontroller, ASIC, etc. May be embodied as other types of units that incorporate In another embodiment, the client systems 130-150 may be embodied as a PDA or other mobile computing platform running on PalmOS, Windows CE, etc., or may use cellular technology, CDMA, TDMA , And other technologies and as a wireless device using a wireless application protocol such as WAP. In yet another embodiment, the client systems 130-150 are embodied within a kiosk, a watch, a pocket-sized or portable display, a pocket-sized or portable terminal, a wearable computer, a retinal implant, a monitoring device, a kitchen appliance, etc. Can be done.
[0021]
In the present embodiment, communication between the external server 100, the private computer network 110, the private server 120, and the client systems 130 to 150 is performed using secure IPSec, HTTP (S-HTTP), TCP / IP, and Secure Socket Layer (SSL). It is implemented using application software that supports other protocols, such as a protocol, RTP / RTSP protocol, or UDP. These communication protocols are well known and therefore will not be described herein. Further, client systems 130-150 store and use an encrypted public / private key pair associated with the authenticated user, as described below.
[0022]
The diagram in FIG. 1 is merely exemplary and does not limit the scope of the claims herein. One skilled in the art will recognize that there are a number of other variations, modifications, and alternatives.
[0023]
FIG. 2 is a block diagram of an exemplary external server 200, according to an embodiment of the present invention. The external server 200 generally includes a monitor 210, a computer 220, a keyboard 230, a graphical input device 240, a network interface 250, and the like.
[0024]
In this embodiment, the graphical input device 240 is typically embodied as a computer mouse, trackball, trackpad, wireless remote, and the like. A graphical input device allows a user to graphically select objects, icons, text, etc., typically output on monitor 210, in combination with a cursor.
[0025]
Embodiments of the network interface 250 include Ethernet cards, modems (telephone, satellite, cable, ISDN), (asynchronous) digital subscriber line (DSL) units, and the like. Network interface 250 is coupled to a regular network as shown.
[0026]
Computer 220 includes common computer components such as processor 260, memory storage devices such as random access memory (RAM) 270, disk drives 280, and a system bus 290 that interconnects the components described above.
[0027]
In one embodiment, the computer 220 comprises an Advanced Micro Devices, Inc. running Windows NT® operating system from Microsoft Corporation. It is a PC compatible computer with an x86-based microprocessor, such as the Athlon® microprocessor manufactured by Philips.
[0028]
RAM 270 and disk drive 280 are examples of tangible media for storing data, voice message files, and computer programs, and embodiments herein describe binary files, encrypted data, applet interpreters, or the like. Compiler, virtual machine, etc. Other types of tangible media include floppy disks, removable hard disks, optical storage media such as CD-ROMs and barcodes, semiconductors such as flash memory, read only memory (ROMS) and non-volatile memory with battery backup. Including memory. In embodiments of the present invention, mass storage such as a disk drive 280, such as a set-top box, may be omitted.
[0029]
In the present embodiment, the external server 200 transmits data to the client systems 130 to 140 and the private computer by using a communication protocol including HTTP, S-HTTP, TCP / IP, IPSec, SSL, RTP / RTSP, and the like. It further includes software that allows it to transmit to and receive from the network 110. In alternative embodiments of the present invention, other software such as, for example, IPX, UDP, and transfer and communication protocols may also be used.
[0030]
FIG. 2 is a representative but one type of system embodying the present invention. It will be readily apparent to one skilled in the art that a number of other hardware and software configurations are suitable for use with the present invention. For example, the Pentium® class or Celeron® class, available from Intel Corporation, Motorola, Inc. PowerPC® G3 or G4 microprocessor from Transmeta, Inc. Other types of processors are conceivable, such as Crusoe (R) manufactured by Philips. Further, in alternative embodiments, other types of operating systems are contemplated, including Solaris, LINUX, UNIX, MAC OS X, BeOS, and the like from Apple Computer Corporation. Embodiments of the private server 120 and the client systems 130-150 may be configured similarly to that shown in FIG.
[0031]
FIG. 3 shows a more detailed embodiment of the present invention. In particular, FIG. 3 includes a client system 300, an external server 310, and a private network 320. Private network 320 includes a private server 360 coupled via a firewall (or VPN) server 340, an authentication server 350 and a router 330.
[0032]
In this embodiment, as will be described in greater detail below, the client system 300 is coupled to both the external server 310 and the private network 320, often at different times. As shown, firewall server 340 in private network 320 provides an interface with client system 300. In this embodiment, the firewall server 340 combined with the authentication server 350 is used to authenticate the user of the client system 300. Further, this combination is typically used to prevent unauthorized access to private server 360.
[0033]
4A-4D show block diagrams of flowcharts according to embodiments of the present invention, which reference the elements shown in FIG.
[0034]
Initially, the user receives or sets an asymmetric encryption key pair (step 400). For example, a user may be assigned or obtain a private key and a public key. The concept of a key pair is well known in the art. Next, the user obtains a digital certificate from a certificate authority (CA) or the like (step 410). In one embodiment, the digital certificate includes the user's public key, which is encrypted using the CA's "domain key" (typically, a symmetric key). The user's private key and digital certificate are then typically stored in a "key wallet" on the user's computer (step 420).
[0035]
In one embodiment of the present invention, a key wallet is a software application that securely stores private keys and digital certificates. In one embodiment, to retrieve the private key and digital certificate from the key wallet, the user must first enter one or more usernames, personal identification numbers (PINs), and the like. In some cases, if the username / PIN combination is correct, the key and digital certificate associated with the user are returned.
[0036]
In other embodiments, the key wallet may return keys and certificates that are not associated with the user. In such an example, the keys and digital certificates seem to be verified, but they have no function to authenticate the user. Such an embodiment is referred to as "Method and Apparatus for Cryptographically Camouflaged Cryptographic Key Storage, Certification and Use," commonly assigned U.S. patent application Ser. Includes the "Cryptographic Camouflage" key protection system of the Arcot Systems brand, described in US Pat. This application is incorporated herein by reference.
[0037]
In other embodiments, a key wallet may require a type of data other than a username / password, such as, for example, biometric data. Examples of biometric data include fingerprints, retinal scans, spoken texts, performing physical tasks, and the like.
[0038]
In this embodiment, the user's computer may include additional software that may provide for automatic use of private keys and digital certificates. One such embodiment of additional software is Arcot Systems, Inc. Called Arcot for Virtual Private Networks, currently sold by the Company. In an embodiment of the present invention, additional software is downloaded from a computer network or installed, such as via a physical medium (CD-ROM) (step 430).
[0039]
Referring to FIG. 3, the user using client system 300 next desires to access private server 360 (step 440). The user inputs his / her user name, PIN, biometric data and the like, and confirms them himself (step 450). Once such data is verified, ie, the user is authenticated (step 460), the key wallet decrypts the data and retrieves the private key and digital certificate associated with the user (step 470). If the data is invalid, a non-functioning key and certificate may be generated as described in the aforementioned US patent application (step 480).
[0040]
In this embodiment, the application software on the client system 300 contacts the external server 310 and requests a one-time password (or any other identification code) (step 490). The connection between client system 300 and external server 310 may be via the Internet, a direct dial-up connection, or any other means including wireless. This connection is typically a secure connection, such as IPSec, S-HTTP, SSL, that includes the encryption of data between the client system 300 and the external server 310.
[0041]
In response to the request, external server 310 contacts authentication server 350 and requests a one-time password (step 500). The connection between the external server 310 and the authentication server 350 may be via the Internet, a direct dial-up connection, or any other means including wireless. The connection is also a secure connection that typically includes a strong form of data encryption between the client system 300 and the external server 310, such as IPSec, S-HTTP, or SSL. In one embodiment, the communication between the external server 310 and the authentication server 350 may be direct or indirect, for example, via a firewall server 340.
[0042]
Authentication server 350 then generates a one-time password (also known as a pre-authenticated password) in response to the request (step 510). In this embodiment, the one-time password is not activated, ie, the authentication server 350 does not allow access to the private server 360 based on the one-time password.
[0043]
Thereafter, the one-time password is transmitted to the external server 310 (Step 520), and then the external server 310 transmits the one-time password to the client system 300 (Step 530). This one-time password can be considered a “challenge” from the authentication server 350 to the client server 300.
[0044]
In this embodiment, further software at client system 300 receives the one-time password and creates a digital signature (step 540). In one embodiment, a digital signature is a variant of a one-time password with a private key that is hardly forged. In another embodiment, other conventional methods of forming a digital signature may use hashing or the like.
[0045]
Next, the client system 300 sends the digital signature and the digital certificate to the external server 310 (Step 550). As mentioned above, the transfer of data is typically over a secure communication channel. The digital signature and digital certificate are then communicated to authentication server 350 (step 560). Again, a strong form of encryption can be used to secure the communication. This response from client system 300 may be considered a “challenge response” to authentication server 350.
[0046]
In this embodiment, the authentication server 350 receives the digital certificate and decrypts it using the certificate authority (CA) domain key (step 570). In one embodiment, the authentication server securely stores the domain key on the authentication server device. The domain key may be stored on the authentication server in the form of a password protected file, a hardware token, or the like. In an alternative embodiment, the authentication server 350 accesses the appropriate CA that issued the digital certificate of the domain key. In either embodiment, the authentication server 350 then uses the CA's domain key and uses the domain key to decrypt the digital certificate. In response to the decryption, the user's public key is restored.
[0047]
The public key verifies the digital signature to ensure that only users with the corresponding private key can generate the digital signature (step 580). This step is a standard operation supported by an algorithm such as RSA.
[0048]
In the present embodiment, the verification identifies the user that generated the signature (step 590). If the digital signature is verified, a challenge is activated for the particular user, which becomes a one-time password in the authentication server 350 (step 600). If they do not match, the one-time password remains inactive (step 610).
[0049]
Therefore, the method does not require the authentication server 350 or the external server 310 to pre-register the hardware “key” or “token” as described in the background of the invention. Furthermore, as also mentioned in the background of the invention, the method does not require exact synchronization between the devices.
[0050]
In one embodiment, a notification of a successful or failed match of the digital signature, such as an error message, is returned to the client system 300. Further, if the digital signature is not verified, the process may alternatively return to step 450.
[0051]
In one embodiment, the challenge provided by the authentication server 350 is not a one-time password; instead, the challenge may be any random or pseudo-random message, character, etc. The challenge is digitally signed and returned to the authentication server 350 as described above. If the user is authenticated, the authentication server 350 may then send the activated one-time password to the client system 300 via the external server 310 using the same secure communication channel.
[0052]
In either embodiment, after successful authentication, at this stage, the client system 300 has an activated one-time password in either embodiment. Next, client system 300 is coupled to network 320 (step 620). The communication channel is usually encrypted using IPSec, S-HTTP, SSL, or the like. As shown, private network 320 typically includes a firewall to prevent unauthorized access to private server 360.
[0053]
In the present embodiment, the client system 300 transfers the authentication data to the firewall server 340 (Step 630). In this embodiment, the authentication data may include another combination of a user name and a password, and a one-time password received from the authentication server 350.
[0054]
In response, firewall server 340 contacts authentication server 350 (step 640). In the present embodiment, communication between the firewall server 340 and the authentication server 350 may use a security technology such as Remote Authentication Dial In User Service (RADIUS), TACACS +, or the like. Firewall server 340 then communicates the authentication data and the one-time password to authentication server 350 (step 650). In the present embodiment, the authentication server 350 determines whether the one-time password is active and whether the authentication data is correct (step 660). If a match is found, the authentication server 350 notifies the firewall server that access has been approved (step 670). Otherwise, access is denied (step 680).
[0055]
If the access is approved, the client system 300 is provided with access to the private server 360 or the like (step 690). In one embodiment, after the one-time password is successfully used, the one-time password is deactivated. In other embodiments, the password remains activated even after it has been used by the authentication server 350. Such an embodiment is a method of providing and assigning a password to a "new" user, or giving the user a password at the "first" visit.
[0056]
In one embodiment of the invention, multiple steps may be hidden from the user and automatic. In one embodiment, the user performs step 450 and then simply waits until step 680 or 690 is performed. In this embodiment, steps 620 and 630 are performed automatically for the user. In another embodiment, after step 600, the secure communication between client system 300 and authentication server 350 is terminated. Thereafter, the user manually performs steps 620 and 630.
[0057]
5A and 5B show another embodiment of the present invention. In particular, FIGS. 5A and 5B illustrate another scheme for communication between a client system, an external server, and an authentication server.
[0058]
In one embodiment, as shown in FIG. 5A, client system 400 does not contact external server 310 directly. Instead, a filtering module 470 is installed on the firewall server 440, as shown. When filtering module 470 detects a request for a one-time password from client system 400, filtering module 470 forwards the request to external server 410.
[0059]
In the embodiment shown in FIG. 5B, the external server 310 does not contact the authentication server 350 directly. Instead, as shown, communication is carried through firewall server 440.
[0060]
Further embodiments can be envisioned by those skilled in the art. For example, in one embodiment, the password security system may be integrated with a firewall, VPN, etc. In another embodiment, the external server communicates with the verification server without passing through a firewall or the like. In another case, the external server and the validation server are both behind a firewall, VPN, etc. In yet another embodiment, the validation server and the firewall may be integrated into one server.
[0061]
In one embodiment of the invention, authentication server 350 may send a one-time password and a challenge. In such an embodiment, the challenge may be digitally signed and returned to the authentication server 350 with a digital certificate for verification purposes. If the user is verified, authentication server 350 activates the one-time password. Thus, in this embodiment, the one-time password does not need to be digitally signed as described in the above disclosure.
[0062]
In one embodiment of the present invention, activation of a one-time password may be timed. Thus, although the one-time password and authentication data may be accurate, authentication server 350 still denies access to the network. As an example, if the authentication server issues a one-time password, the server sets the maximum period during which the one-time password is active, for example, to 5 minutes. Thus, if a user using the client system 300 attempts to gain access to the private network 320 again the next day, the access will be denied.
[0063]
In yet another embodiment, a one-time password may be active only for a limited number of login attempts. Thus, the one-time password and authentication data may be accurate, but the authentication server 350 may still deny access to the network. As an example, if the authentication server issues a one-time password, the server sets the maximum number of attempts to, for example, three. Thus, if a user using client system 300 attempts to gain access to private network 320 using an incorrect username and password, but an accurate one-time password, after three attempts, the one-time password will be incorrect. Be activated. Providing such a one-time password with restricted use would reduce the risk of network access being breached.
[0064]
In view of the disclosure of this patent application, embodiments of the present invention may be applied to financial transactions, such as credit card transaction systems. For example, one-time credit card numbers, one-time debit card numbers, etc. may be enabled in much the same manner as described above for one-time passwords. Thus, the client may first make a request for a one-time credit card number. In response, the credit card authentication server may send the challenge via the external server in the form of a one-time credit card number. The client signs the one-time credit card number with the user's private key and sends the signed card number along with the user's digital certificate. If the authentication server verifies the signature and certificate, the one-time credit card number is activated. Thereafter, when the user decides to pay for a product, service, etc., the user sends out a one-time credit card number. If verified as described above, the financial transaction is completed using a one-time credit card number. In other embodiments, other financial transaction data may be provided by the authentication server, for example, a one-time bank account number, a broker account number, a telephone access card, and the like.
[0065]
In one embodiment of the present invention, the client system may include a level to check the key wallet password. In the above embodiment, if the user enters an incorrect key wallet password, the non-functional private key and digital certificate are retrieved from the key wallet in step 480. In this embodiment, for an incorrect key wallet password, the key wallet application may report that the password is incorrect, and the method returns to step 450. Such a comparison may be accomplished by using a hash or partial hash, such as the user's key wallet password. In different embodiments, the key wallet application may report incorrect passwords in half an hour, a quarter of an hour, or any other desired frequency. In addition, the key wallet application may report incorrect passwords or the like that contain only a derivative of a typographic error.
[0066]
In other embodiments of the invention, combinations or sub-combinations of the above disclosed inventions may be advantageously made. The block diagrams of the architecture and flowcharts are grouped together for easy understanding. However, it should be understood that combinations of blocks, addition of new blocks, reconstruction of blocks, etc., are considered in alternative embodiments of the invention.
[0067]
Accordingly, the specification and drawings are to be regarded in an illustrative, rather than a restrictive, sense. It is apparent, however, that various modifications and changes may be made without departing from the broader scope and scope of the invention, as set forth in the following claims.
[Brief description of the drawings]
[0068]
FIG. 1 shows a block diagram according to an embodiment of the present invention.
FIG. 2 is a block diagram of an exemplary external server, according to an embodiment of the present invention.
FIG. 3 shows a more detailed embodiment of the present invention.
FIG. 4A shows a block diagram of a flowchart, according to an embodiment of the present invention.
FIG. 4B shows a block diagram of a flowchart, according to an embodiment of the present invention.
FIG. 4C shows a block diagram of a flowchart, according to an embodiment of the present invention.
FIG. 4D shows a block diagram of a flowchart, according to an embodiment of the present invention.
FIG. 5A shows another embodiment of the present invention.
FIG. 5B shows another embodiment of the present invention.

Claims (39)

プロセッサを含むクライアントコンピューティングシステムのためのコンピュータプログラム製品であって、
該プロセッサに指示して認証サーバからのチャレンジをリクエストさせるコードと、
該プロセッサに指示して第1の安全な通信チャネルを介して該認証サーバから該チャレンジを受信させるコードであって、該チャレンジは識別コードを含む、コードと、
該プロセッサに指示してユーザからのユーザ認証データを受信させるコードと、
該プロセッサに指示して該ユーザ認証データに応答して秘密鍵およびデジタル証明書を判定させるコードと、
該プロセッサに指示して該識別コードおよび該秘密鍵に応答してデジタル署名を形成させるコードと、
該プロセッサに指示して該デジタル署名を該認証サーバに伝達させるコードと、
該プロセッサに指示して該デジタル署名を該認証サーバに伝達させるコードであって、該デジタル証明書は、暗号化された形態の公開鍵を含む、コードと、
該プロセッサに指示してセキュリティサーバを介してネットワークユーザ認証データおよび該識別コードを該認証サーバに伝達させるコードとを含み、
該認証サーバは、該デジタル署名が検証された場合、該識別コードを活性化し、
該コードは、タンジブル媒体上に常駐する、コンピュータプログラム製品。
A computer program product for a client computing system including a processor, comprising:
A code for instructing the processor to request a challenge from the authentication server;
Code for instructing the processor to receive the challenge from the authentication server via a first secure communication channel, wherein the challenge includes an identification code;
A code for instructing the processor to receive user authentication data from a user;
Code for instructing the processor to determine a secret key and a digital certificate in response to the user authentication data;
Code instructing the processor to form a digital signature in response to the identification code and the secret key;
Code for instructing the processor to transmit the digital signature to the authentication server;
Code for instructing the processor to transmit the digital signature to the authentication server, wherein the digital certificate includes a public key in an encrypted form;
A code for instructing the processor to transmit network user authentication data and the identification code to the authentication server via a security server,
The authentication server activates the identification code when the digital signature is verified,
The code is resident on a tangible medium, a computer program product.
前記識別コードは、前記認証サーバが前記デジタル署名を検証しない場合、不活性の状態で留まる、請求項1に記載のコンピュータプログラム製品。The computer program product of claim 1, wherein the identification code remains inactive if the authentication server does not verify the digital signature. 前記セキュリティサーバは、ファイアウォールサーバ、VPNゲートウェイサーバのクラスから選択されるサーバを含む、請求項1に記載のコンピュータプログラム製品。The computer program product of claim 1, wherein the security server comprises a server selected from a class of a firewall server and a VPN gateway server. 前記プロセッサに指示して前記ユーザ認証データに応答して前記秘密鍵および前記デジタル証明書を判定させるコードは、該プロセッサに指示して該ユーザ認証データが正確である場合、前記ユーザと関連する秘密鍵を判定させるコードを含む、請求項1に記載のコンピュータプログラム製品。Code directing the processor to determine the secret key and the digital certificate in response to the user authentication data includes a secret associated with the user if the user authentication data is accurate. The computer program product of claim 1, comprising code for determining a key. 前記プロセッサに指示して前記ユーザ認証データに応答して前記秘密鍵および前記デジタル証明書を判定させるコードは、該プロセッサに指示して該ユーザ認証データが不正確である場合、前記ユーザと関連しない秘密鍵を判定させるコードをさらに含む、請求項4に記載のコンピュータプログラム製品。The code that instructs the processor to determine the secret key and the digital certificate in response to the user authentication data is not associated with the user if the user authentication data is incorrect. 5. The computer program product of claim 4, further comprising a code for determining a secret key. 前記プロセッサに指示して前記ユーザからネットワークユーザ認証データを受信させるコードをさらに含む、請求項1に記載のコンピュータプログラム製品。The computer program product of claim 1, further comprising code for instructing the processor to receive network user authentication data from the user. 前記プロセッサに指示して前記ユーザからユーザ認証データを受信させるコードは、該プロセッサに指示して該ユーザからユーザ認証データおよび前記ネットワーク認証データを受信させるコードを含む、請求項1に記載のコンピュータプログラム製品。The computer program according to claim 1, wherein the code instructing the processor to receive the user authentication data from the user includes a code instructing the processor to receive the user authentication data and the network authentication data from the user. Product. プライベートサーバと通信するクライアントコンピューティングシステムであって、
鍵財布を格納するように構成されるタンジブルメモリであって、該鍵財布はユーザと関連する秘密鍵およびユーザと関連するデジタル証明書を含み、該秘密鍵および該デジタル証明書は、暗号化された形態で格納される、タンジブルメモリと、
該タンジブルメモリと結合されるプロセッサであって、第1の安全な通信チャネルを介して認証サーバからチャレンジを受信するように構成され、該チャレンジは、識別コードを含む、プロセッサであって、該ユーザからユーザ認証データを受信するように構成され、該ユーザからの該ユーザ認証データに応答して該鍵財布から取り出された秘密鍵および取り出されたデジタル証明書を判定するように構成され、該識別コードおよび該取り出された秘密鍵に応答してデジタル署名を形成するように構成され、該デジタル署名を該認証サーバに伝達するように構成され、該デジタル証明書を該認証サーバに伝達するように構成され、ネットワークユーザ認証データおよび該識別コードを、セキュリティサーバを介して該認証サーバに伝達するように構成される、プロセッサとを備え、
該認証サーバは、該デジタル署名が検証された場合、該識別コードを活性化させ、
該セキュリティサーバは、該識別コードが活性された場合、該クライアントコンピューティングシステムが該プライベートサーバと通信することを可能にさせる、
クライアントコンピューティングシステム。
A client computing system that communicates with a private server,
A tangible memory configured to store a key wallet, the key wallet including a private key associated with the user and a digital certificate associated with the user, wherein the private key and the digital certificate are encrypted. Tangible memory stored in the form
A processor coupled to the tangible memory and configured to receive a challenge from an authentication server via a first secure communication channel, wherein the challenge includes an identification code, the processor comprising: And configured to determine a secret key and a retrieved digital certificate from the key purse in response to the user authentication data from the user; Responsive to the code and the retrieved private key to form a digital signature, configured to communicate the digital signature to the authentication server, and configured to communicate the digital certificate to the authentication server. Configured to communicate network user authentication data and said identification code to said authentication server via a security server. The constituted, and a processor,
The authentication server activates the identification code when the digital signature is verified,
The security server enables the client computing system to communicate with the private server when the identification code is activated;
Client computing system.
前記取り出された秘密鍵および前記ユーザに関連する前記秘密鍵は同一である、請求項8に記載のクライアントコンピューティングシステム。The client computing system of claim 8, wherein the retrieved secret key and the secret key associated with the user are the same. 前記取り出された秘密鍵および前記ユーザと関連する前記秘密鍵は異なり、そして
該取り出された秘密鍵および該ユーザと関連する該秘密鍵が異なる場合、前記識別コードは不活性の状態で留まる、請求項8に記載のクライアントコンピューティングシステム。
Wherein the retrieved secret key and the secret key associated with the user are different, and if the retrieved secret key and the secret key associated with the user are different, the identification code remains inactive. Item 10. A client computing system according to item 8.
前記セキュリティサーバは、ファイアウォールサーバ、VPNゲートウェイサーバ、電子メールサーバ、ウェブサーバ、データベースサーバ、データベースシステム、アプリケーションサーバのクラスから選択されるサーバを含む、請求項8に記載のクライアントコンピューティングシステム。9. The client computing system of claim 8, wherein the security server includes a server selected from a class of a firewall server, a VPN gateway server, an email server, a web server, a database server, a database system, and an application server. 前記タンジブルメモリは、前記クライアントコンピュータから除去され得る、請求項8に記載のクライアントコンピューティングシステム。The client computing system of claim 8, wherein the tangible memory can be removed from the client computer. 前記プロセッサは、前記ユーザからの前記ネットワークユーザ認証データを受信するようにさらに構成される、請求項8に記載のクライアントコンピューティングシステム。The client computing system of claim 8, wherein the processor is further configured to receive the network user authentication data from the user. リモートサーバと通信するためのクライアントシステムであって、
鍵財布プログラムを格納するように構成されるタンジブルメモリであって、該鍵財布プログラムは、ユーザと関連する秘密鍵およびユーザと関連するデジタル証明書を保護された形態で格納するように構成される、タンジブルメモリと、
第1の安全な通信チャネルを介して検証サーバからチャレンジを受信する手段であって、該チャレンジは、不活性である少なくとも1つのネットワークパスワードを含む、手段と、
該ユーザから少なくとも1つのPINを受信する手段と、
少なくとも該ユーザからのPINに応答して、該鍵財布から戻された秘密鍵および戻されたデジタル証明書を判定するためのタンジブルメモリと結合される手段と、
該ネットワークパスワードおよび該秘密鍵に応答して、デジタル署名を形成する手段と、
該デジタル証明書および該デジタル署名を該認証サーバに伝達する手段と、
少なくとも該ネットワークパスワードをセキュリティサーバに伝達する手段とを備え、
該ネットワークパスワードは、該デジタル署名および該デジタル証明書が該ユーザを認証した場合に活性化され、
該セキュリティサーバは、該ネットワークパスワードが活性化された場合、該クライアントシステムが該リモートサーバと通信することを可能にさせ、クライアントシステム。
A client system for communicating with a remote server,
A tangible memory configured to store a key wallet program, the key wallet program configured to store a private key associated with a user and a digital certificate associated with the user in a protected form. , Tangible memory,
Means for receiving a challenge from a verification server via a first secure communication channel, the challenge including at least one network password that is inactive;
Means for receiving at least one PIN from the user;
Means coupled to a tangible memory for determining a returned private key and a returned digital certificate from the key wallet at least in response to a PIN from the user;
Means for forming a digital signature in response to the network password and the secret key;
Means for transmitting the digital certificate and the digital signature to the authentication server;
Means for transmitting at least the network password to a security server,
The network password is activated when the digital signature and the digital certificate authenticate the user;
The security server allows the client system to communicate with the remote server when the network password is activated, the client system.
前記戻された秘密鍵および前記ユーザと関連する前記秘密鍵は同一である、請求項14に記載のクライアントシステム。15. The client system of claim 14, wherein the returned secret key and the secret key associated with the user are the same. 前記戻された秘密鍵および前記ユーザと関連する前記秘密鍵は異なり、そして
該戻された秘密鍵および該ユーザと関連する該秘密鍵が異なる場合、前記デジタル署名および前記デジタル証明書は、該ユーザを認証しない、請求項15に記載のクライアントシステム。
If the returned private key and the private key associated with the user are different, and if the returned private key and the private key associated with the user are different, then the digital signature and the digital certificate The client system according to claim 15, wherein the client system does not authenticate the client.
前記ユーザから該ユーザと関連する少なくとも1つのネットワークパスワードを受信する手段をさらに含み、
前記デジタル証明書および前記デジタル署名を前記認証サーバに伝達する前記手段は、該ユーザと関連する該ネットワークパスワードを該認証サーバに伝達する手段をまた含む、請求項14に記載のクライアントシステム。
Further comprising means for receiving from the user at least one network password associated with the user,
15. The client system of claim 14, wherein the means for communicating the digital certificate and the digital signature to the authentication server also includes means for communicating the network password associated with the user to the authentication server.
前記デジタル証明書および前記デジタル署名を前記認証サーバに伝達する前記手段は、前記ユーザと関連するネットワークパスワードを該認証サーバに伝達する手段をさらに含み、
該クライアントシステムは、少なくとも該ユーザからの前記PINに応答して、該ユーザと関連する該ネットワークパスワードを判定する手段をさらに含む、請求項14に記載のクライアントシステム。
The means for communicating the digital certificate and the digital signature to the authentication server further comprises means for communicating a network password associated with the user to the authentication server;
15. The client system of claim 14, wherein the client system further comprises means for determining the network password associated with the user at least in response to the PIN from the user.
デスクトップコンピュータ、携帯型コンピュータ、PDA、ワイヤレスデバイスのクラスから選択される、請求項14に記載のクライアントコンピューティングシステム。15. The client computing system of claim 14, wherein the client computing system is selected from a class of a desktop computer, a portable computer, a PDA, and a wireless device. パスワードを伝達する方法であって、
第1の安全な通信チャネルを介して認証サーバからのチャレンジをサーバにて受信するステップであって、該チャレンジは、不活性である少なくとも1つのランダムパスワードを含む、ステップと、
該チャレンジを第2の安全な通信チャネルを介して該サーバからクライアントコンピュータに伝達するステップと、
該第1の安全なチャネルを介して、該クライアントコンピュータからのチャレンジ応答を該サーバにて受信するステップであって、該チャレンジ応答は、デジタル証明書およびデジタル署名を含み、該デジタル証明書は、暗号化された形態の公開鍵を含み、該デジタル署名は、該チャレンジ応答および該秘密鍵の少なくとも一部分に応答して判定される、ステップと、
該第2の安全な通信チャネルを介して該チャレンジを該サーバから該認証サーバに伝達するステップとを包含し、
該ランダムパスワードは、該認証サーバが該チャレンジ応答を検証した場合に活性化される、方法。
A method of transmitting a password,
Receiving at the server a challenge from an authentication server via a first secure communication channel, the challenge including at least one random password that is inactive;
Communicating the challenge from the server to a client computer via a second secure communication channel;
Receiving at the server a challenge response from the client computer over the first secure channel, the challenge response including a digital certificate and a digital signature, wherein the digital certificate comprises: Including a public key in encrypted form, wherein the digital signature is determined in response to the challenge response and at least a portion of the private key;
Communicating said challenge from said server to said authentication server via said second secure communication channel;
The method, wherein the random password is activated when the authentication server verifies the challenge response.
前記クライアントコンピュータは、前記ランダムパスワードをパスワードベースのセキュリティシステムに伝達し、該パスワードベースのセキュリティシステムは、前記認証サーバと結合される、請求項20に記載の方法。21. The method of claim 20, wherein the client computer communicates the random password to a password-based security system, wherein the password-based security system is coupled with the authentication server. 前記パスワードベースのセキュリティシステムは、ファイアウォールを含む、請求項21に記載の方法。22. The method of claim 21, wherein the password-based security system includes a firewall. 前記公開鍵および前記秘密鍵は、認証されたユーザと関連する、請求項20に記載の方法。21. The method of claim 20, wherein the public key and the private key are associated with an authenticated user. 前記秘密鍵は認証されたユーザと関連せず、かつ前記認証サーバは前記チャレンジ応答を認証しない、請求項20に記載の方法。21. The method of claim 20, wherein the secret key is not associated with an authenticated user and the authentication server does not authenticate the challenge response. 前記第1の安全な通信チャネルは、安全なソケットレイヤおよび安全なHTTPの群から選択される、請求項20に記載の方法。21. The method of claim 20, wherein the first secure communication channel is selected from a group of a secure socket layer and a secure HTTP. クライアントコンピュータの方法であって、
第1の安全な通信チャネルを介して認証サーバからチャレンジデータを受信するステップであって、該チャレンジデータは、チャレンジおよび不活性であるパスワードを含む、ステップと、
ユーザPINを受信するステップと、
該ユーザPINに応答して秘密鍵およびデジタル証明書を元に戻すステップと、
該デジタル証明書を、外部サーバを介して該認証サーバに送信するステップであって、該デジタル証明書は、暗号化された形態の公開鍵を含む、ステップと、
デジタル署名を、該外部サーバを介して該認証サーバに送信するステップであって、該デジタル署名は、該チャレンジおよび該秘密鍵に応答して判定される、ステップと、その後、
ユーザログインおよび該パスワードを、該認証サーバと結合されたパスワードベースのセキュリティシステムに送信するステップとを包含し、
該認証サーバが該デジタル署名を検証した場合、該パスワードが活性化される、方法。
The method of a client computer,
Receiving challenge data from an authentication server via a first secure communication channel, the challenge data including a challenge and a password that is inactive;
Receiving a user PIN;
Restoring the private key and the digital certificate in response to the user PIN;
Transmitting the digital certificate to the authentication server via an external server, the digital certificate including a public key in an encrypted form;
Sending a digital signature to the authentication server via the external server, wherein the digital signature is determined in response to the challenge and the secret key; and
Sending the user login and the password to a password-based security system coupled to the authentication server;
The method wherein the password is activated if the authentication server verifies the digital signature.
前記認証サーバが前記デジタル署名を検証しない場合、前記パスワードは不活性の状態で留まる、請求項26に記載の方法。27. The method of claim 26, wherein the password remains inactive if the authentication server does not verify the digital signature. 前記パスワードベースのセキュリティシステムは、ファイアウォールおよびVPNゲートウェイの群から選択されたサーバを含む、請求項26に記載の方法。The method of claim 26, wherein the password-based security system includes a server selected from a group of a firewall and a VPN gateway. 前記ユーザPINに応答して前記秘密鍵および前記デジタル証明書を元に戻すステップは、
前記ユーザPINが正確である場合、該ユーザと関連する秘密鍵を元に戻すステップと、
該ユーザPINが不正確である場合、該ユーザと関連しない秘密鍵を生成するステップと
を包含する、請求項26に記載の方法。
Restoring the private key and the digital certificate in response to the user PIN,
If the user PIN is correct, reverting the private key associated with the user;
Generating a secret key not associated with the user if the user PIN is incorrect.
前記ユーザログインおよび前記パスワードを前記クライアントコンピュータに手動で入力するステップをさらに包含する、請求項29に記載の方法。30. The method of claim 29, further comprising manually entering the user login and the password into the client computer. 前記パスワードは、所定の期間の間活性化される、請求項26に記載の方法。The method of claim 26, wherein the password is activated for a predetermined period. 前記所定の期間の後、前記パスワードは不活性化される、請求項31に記載の方法。32. The method of claim 31, wherein after the predetermined period, the password is deactivated. 検証サーバの方法であって、
クライアントコンピュータからのワンタイムパスワードのリクエストを受信するステップと、
ワンタイムパスワードを判定するステップであって、該ワンタイムパスワードは不活性である、ステップと、
該ワンタイムパスワードを含むデータを該クライアントコンピュータに伝達する、ステップと、
ユーザからのユーザ識別データを該クライアントコンピュータにて受信するステップと、
該ユーザ識別データに応答して該ユーザを検証するステップと、
該ユーザが認証された場合、該ワンタイムパスワードを活性化するステップと
を包含する、方法。
A verification server method,
Receiving a request for a one-time password from a client computer;
Determining a one-time password, wherein the one-time password is inactive;
Communicating data including the one-time password to the client computer;
Receiving at the client computer user identification data from a user;
Verifying the user in response to the user identification data;
Activating the one-time password if the user is authenticated.
前記ワンタイムパスワードを含むデータを前記クライアントコンピュータに伝達するステップは、安全な通信チャネルを介する外部サーバを介して通信するステップを含む、請求項33に記載の方法。35. The method of claim 33, wherein communicating the data including the one-time password to the client computer comprises communicating via an external server via a secure communication channel. 前記ワンタイムパスワードは、ランダム、所定、擬似ランダムの群から選択される、請求項33に記載の方法。The method of claim 33, wherein the one-time password is selected from a group of random, predetermined, and pseudo-random. 前記ユーザ識別データは、デジタル署名を含む、請求項33に記載の方法。The method of claim 33, wherein the user identification data comprises a digital signature. 前記デジタル署名は、前記ユーザと関連する、該ユーザと関連しない群から選択される秘密鍵を含む、請求項36に記載の方法。37. The method of claim 36, wherein the digital signature includes a secret key associated with the user and selected from a group not associated with the user. 前記ユーザを検証するステップは、前記秘密鍵が前記ユーザと関連する場合、該ユーザを検証するステップを含む、請求項37に記載の方法。38. The method of claim 37, wherein verifying the user comprises verifying the user if the private key is associated with the user. パスワードベースのセキュリティシステムから検証リクエストを受信するステップであって、該検証リクエストは、ユーザログインおよび前記ワンタイムパスワードを含む、ステップと、
該ワンタイムパスワードが活性化されているか否かを判定するステップと、
該ワンタイムパスワードが活性であると判定されると、該検証リクエストを承認するステップと
を包含する、請求項33に記載の方法。
Receiving a verification request from a password-based security system, the verification request including a user login and the one-time password;
Determining whether the one-time password is activated;
Approving the verification request if the one-time password is determined to be active.
JP2002558715A 2001-01-17 2002-01-17 A device for pre-authenticating a user using a one-time password Withdrawn JP2004528624A (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US26287501P 2001-01-17 2001-01-17
US09/896,560 US6983381B2 (en) 2001-01-17 2001-06-28 Methods for pre-authentication of users using one-time passwords
US09/896,163 US7181762B2 (en) 2001-01-17 2001-06-28 Apparatus for pre-authentication of users using one-time passwords
PCT/US2002/001673 WO2002058357A2 (en) 2001-01-17 2002-01-17 Pre-authentication of users using one-time passwords

Publications (1)

Publication Number Publication Date
JP2004528624A true JP2004528624A (en) 2004-09-16

Family

ID=27401548

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002558715A Withdrawn JP2004528624A (en) 2001-01-17 2002-01-17 A device for pre-authenticating a user using a one-time password

Country Status (5)

Country Link
EP (1) EP1352502A2 (en)
JP (1) JP2004528624A (en)
CA (1) CA2435329A1 (en)
NO (1) NO20033202L (en)
WO (1) WO2002058357A2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008146328A1 (en) * 2007-05-25 2008-12-04 Sony Computer Entertainment Inc. Server system, communication method, computer, program and recording medium

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0119629D0 (en) 2001-08-10 2001-10-03 Cryptomathic As Data certification method and apparatus
US7452278B2 (en) * 2003-05-09 2008-11-18 Microsoft Corporation Web access to secure data
CN100428665C (en) * 2003-09-10 2008-10-22 联想(北京)有限公司 A safety data transmission method
US7653602B2 (en) 2003-11-06 2010-01-26 Visa U.S.A. Inc. Centralized electronic commerce card transactions
FR2865598B1 (en) * 2004-01-27 2006-09-08 Anevia SYSTEM FOR DIGITAL TRANSMISSION OF MULTIMEDIA SEQUENCES VIA AN INTERNET-TYPE COMMUNICATION NETWORK
EP1689144A1 (en) * 2005-02-04 2006-08-09 Thomson Licensing Security system and method for firewall and associated product
CN100389555C (en) * 2005-02-21 2008-05-21 西安西电捷通无线网络通信有限公司 An access authentication method suitable for wired and wireless network
EP2405377B1 (en) * 2010-07-09 2017-12-27 BlackBerry Limited Securing a component prior to manufacture of a device
CN106790250B (en) * 2017-01-24 2020-03-31 郝孟一 Data processing, encryption, integrity verification method and identity authentication method and system
CN107786411A (en) * 2017-10-19 2018-03-09 上海前隆信息科技有限公司 Inter-application communication tunnel connection/verification method/system, medium and equipment
CN112087302A (en) * 2017-11-05 2020-12-15 何淑山 Device for encrypting and decrypting algorithm of asymmetric dynamic token
US11252137B1 (en) 2019-09-26 2022-02-15 Joinesty, Inc. Phone alert for unauthorized email
US11296872B2 (en) 2019-11-07 2022-04-05 Micron Technology, Inc. Delegation of cryptographic key to a memory sub-system
US11924169B1 (en) 2021-01-29 2024-03-05 Joinesty, Inc. Configuring a system for selectively obfuscating data transmitted between servers and end-user devices

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5668876A (en) * 1994-06-24 1997-09-16 Telefonaktiebolaget Lm Ericsson User authentication method and apparatus
US5740361A (en) * 1996-06-03 1998-04-14 Compuserve Incorporated System for remote pass-phrase authentication
WO2001017310A1 (en) * 1999-08-31 2001-03-08 Telefonaktiebolaget L M Ericsson (Publ) Gsm security for packet data networks

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008146328A1 (en) * 2007-05-25 2008-12-04 Sony Computer Entertainment Inc. Server system, communication method, computer, program and recording medium
US8656477B2 (en) 2007-05-25 2014-02-18 Sony Corporation Server system, communication method, computer, program and recording medium

Also Published As

Publication number Publication date
EP1352502A2 (en) 2003-10-15
NO20033202L (en) 2003-08-29
WO2002058357A2 (en) 2002-07-25
NO20033202D0 (en) 2003-07-15
WO2002058357A3 (en) 2002-12-27
CA2435329A1 (en) 2002-07-25

Similar Documents

Publication Publication Date Title
US7181762B2 (en) Apparatus for pre-authentication of users using one-time passwords
US6983381B2 (en) Methods for pre-authentication of users using one-time passwords
CN1701295B (en) Method and system for a single-sign-on access to a computer grid
EP1255392B1 (en) Computer network security system employing portable storage device
US7603565B2 (en) Apparatus and method for authenticating access to a network resource
US7890767B2 (en) Virtual smart card system and method
US9294288B2 (en) Facilitating secure online transactions
US5923756A (en) Method for providing secure remote command execution over an insecure computer network
US7366900B2 (en) Platform-neutral system and method for providing secure remote operations over an insecure computer network
CA2463286C (en) Multi-factor authentication system
US8209753B2 (en) Universal secure messaging for remote security tokens
US20080077791A1 (en) System and method for secured network access
JP2004528624A (en) A device for pre-authenticating a user using a one-time password
EP1623551B1 (en) Network security method and system
WO2001011817A2 (en) Network user authentication protocol
Yasin et al. Enhancing anti-phishing by a robust multi-level authentication technique (EARMAT).
JP2004118377A (en) Authentication system
JP2002328905A (en) Client authentication method, authentication device, program and storage medium
AU2002243613A1 (en) Pre-authentication of users using one-time passwords

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20050405