JP2004532468A - アクセス・デバイスによるコンピュータ・システムへのリプレイ攻撃を識別する方法およびシステム - Google Patents
アクセス・デバイスによるコンピュータ・システムへのリプレイ攻撃を識別する方法およびシステム Download PDFInfo
- Publication number
- JP2004532468A JP2004532468A JP2002584528A JP2002584528A JP2004532468A JP 2004532468 A JP2004532468 A JP 2004532468A JP 2002584528 A JP2002584528 A JP 2002584528A JP 2002584528 A JP2002584528 A JP 2002584528A JP 2004532468 A JP2004532468 A JP 2004532468A
- Authority
- JP
- Japan
- Prior art keywords
- session data
- user
- access
- protocol
- request
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 82
- 238000004891 communication Methods 0.000 claims description 20
- 238000012546 transfer Methods 0.000 claims description 18
- 230000004044 response Effects 0.000 claims description 8
- 239000000284 extract Substances 0.000 claims 1
- 230000006870 function Effects 0.000 description 29
- 238000010586 diagram Methods 0.000 description 20
- 230000008569 process Effects 0.000 description 15
- 238000012795 verification Methods 0.000 description 13
- 238000012545 processing Methods 0.000 description 9
- 230000002441 reversible effect Effects 0.000 description 9
- 238000003860 storage Methods 0.000 description 8
- 230000006855 networking Effects 0.000 description 7
- 230000001010 compromised effect Effects 0.000 description 6
- 238000007726 management method Methods 0.000 description 6
- 238000012360 testing method Methods 0.000 description 5
- 239000008186 active pharmaceutical agent Substances 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 4
- 239000000523 sample Substances 0.000 description 4
- 238000012384 transportation and delivery Methods 0.000 description 4
- 238000013475 authorization Methods 0.000 description 3
- 238000013499 data model Methods 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000010606 normalization Methods 0.000 description 3
- 230000002776 aggregation Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000013523 data management Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000012550 audit Methods 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000011990 functional testing Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 230000005923 long-lasting effect Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 230000001404 mediated effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0442—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/08—Payment architectures
- G06Q20/14—Payment architectures specially adapted for billing systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/108—Network architectures or network communication protocols for network security for controlling access to devices or network resources when the policy decisions are valid for a limited amount of time
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
- H04L9/0841—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
- H04L9/0844—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols with user authentication or key authentication, e.g. ElGamal, MTI, MQV-Menezes-Qu-Vanstone protocol or Diffie-Hellman protocols using implicitly-certified keys
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Computing Systems (AREA)
- Accounting & Taxation (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Finance (AREA)
- Physics & Mathematics (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Economics (AREA)
- Development Economics (AREA)
- Software Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
コンピュータ・システム(255)へのアクセスを要求しているユーザのデバイス(205)を認証する方法が提供される。この方法は、ユーザがそれを介してコンピュータ・システム(245)へのアクセスを要求するユーザのデバイス(105)の接続アプリケーションで、ユーザの要求ごとに変わる現行セッション・データを暗号化することを含む。次いで、暗号化された現行セッション・データが、次いで暗号解読される平文で通信されるアクセス要求のユーザ認証データに含められる。次いで、基準セッション・データが暗号解読された現行セッション・データと比較され、ユーザ要求は比較の結果に応じて分類される。
Description
【技術分野】
【0001】
本発明は、一般に、コンピュータ・ネットワーク・セキュリティに関する。より詳細には、本発明は、コンピュータ・ネットワークを無認可のアクセスから保護することに関し、またアクセス・デバイスによるコンピュータ・ネットワークへのリプレイ攻撃を防止する方法およびシステムに関する。
【背景技術】
【0002】
過去十年間に、インターネットのようなコンピュータ・ネットワークにアクセスするユーザの数は激増した。通常、ユーザはインターネット・サービス・プロバイダ(ISP)を介してインターネットにアクセスする。インターネットまたは企業のローカル・エリア・ネットワーク(LAN)にアクセスしようとしているネットワーク・ユーザは、一般にIDを検証するためにユーザ名とパスワードを入力する必要がある。この過程に関する問題は、多くの標準認証プロトコルを使用しているISPに送信される際にパスワードが一般的に安全ではないということである。
【0003】
図1は従来技術のISPネットワーク構成100を示す図であるが、ここではネットワーク・ユーザの信用証明書が安全でない方法で認証されている。ISPネットワーク145は、モデム・プール115に接続されており、またゲートウェイ125を介してインターネット150に接続されているネットワーク・アクセス・サーバ(NAS)120を含む。ISPネットワーク145は、認証サーバ(AAAサーバ)135にも接続されている。AAAサーバ135は、ISPネットワーク145に局所的にあってもよく、あるいはISPネットワーク145から非常に離れた遠隔位置にあってもよい。
【0004】
インターネット接続を確立するために、ネットワーク・ユーザは、通常、ネットワーク・アクセス・デバイス105でダイヤルアップ・ネットワーキング・アプリケーションを実行する。ダイヤルアップ・ネットワーキング・アプリケーションは、公衆交換電話網(PSTN)140を介してモデム・プール115とモデム・セッションを開始するために、ネットワーク・ユーザ名とネットワーク・パスワードを入力し、モデム110を操作するようユーザを促す。モデム・セッションが確立されると、ダイヤルアップ・ネットワーキング・アプリケーションは、データ接続を確立し、ネットワーク・ユーザを認証するためにNAS120との通信を開始する。
【0005】
コンピュータ間で接続を確立するために使用されるさらに一般的なデータ通信プロトコルの1つはポイント・ツー・ポイント・プロトコル(PPP)である。一般にPPPと共に使用される1つの特に良く知られた認証プロトコルは、パスワード認証プロトコル(PAP)である。PAPを使用するよう構成されたダイヤルアップ・ネットワーキング・アプリケーションは、認可確認応答信号が受信されるか、または接続が終了するまで、確立したデータ接続を介してユーザ名とパスワードの対を繰り返し送信する。ダイヤルアップ・ネットワーキング・アプリケーションは、ユーザ名とパスワードを送信する頻度とタイミングを制御するよう構成されている。
【0006】
PAPに関する問題は、パスワードがデータ接続を介して送信される前に暗号化されず、平文として送信されるということである。つまり、パスワードがハッカーによる傍受を受けやすいということである。例えば、データ接続にアクセスするハッカーは、ネットワーク監視アプリケーションを使用して、データ接続全体で送信されているデータ・パケットを補足し表示することができる。このようなネットワーク監視アプリケーションは一般的であり、その使用が違法であるためにこれらはしばしばパケット・スニッフィング・アプリケーションまたはパケット・スヌーピング・アプリケーションと呼ばれている。
【0007】
再度図1を参照すると、NAS120でユーザ名とパスワードの対が一度受信されると、通常、別の標準認証プロトコルであるリモート認証ダイヤルイン・ユーザ・サービス(RADIUS)が、ISP認証システム155にネットワーク・ユーザ名とパスワードの対を送信するために使用される。RADIUSプロトコルは、パスワードがISP認証システム155のAAAサーバ135に送信される前にそのパスワードの対称暗号化を提供する。この暗号化方法は、NAS120とAAAサーバ135が暗号化アルゴリズムで使用される秘密鍵を共有するので対称と見なされる。NAS120は、パスワードを「ロック」すなわち暗号化するために秘密鍵を使用し、AAAサーバ135は、当該パスワードを認証データベース130に記憶されているパスワードと照合する前に当該パスワードを「アンロック」すなわち暗号解読するために秘密鍵を使用する。
【0008】
RADIUS対称暗号化方法に関する問題は、「辞書」攻撃として知られている一形態の攻撃を受けやすいということである。辞書攻撃では、暗号化アルゴリズムの知識のあるハッカーは、暗号化されたパスワードをパケット・スニッフィング・アプリケーションによって傍受する。次いでハッカーは、可読文字を生じる鍵が見つかるまで一連の鍵を繰り返し試みる。さらに問題を深刻化させるのは、秘密鍵が一度漏洩すると、NAS120とAAAサーバ135の間で傍受したいかなるパスワードでもハッカーは容易に暗号解読することができるということである。
【0009】
上述のPAP/RADIUS認証方法に固有の弱点を受けて、チャレンジ・ハンドシェーク認証プロトコル(CHAP)が開発された。CHAPを使用するように実装されたシステムで、ネットワーク・アクセス・デバイス105のダイヤルアップ・アプリケーションは、認証プロトコルとしてPAPではなくCHAPを使用することをNASと交渉する。次にNAS120は乱数を生成し、それをネットワーク・アクセス・デバイス105に送信する。ネットワーク・アクセス・デバイス105で実行されているダイヤルアップ・ネットワーキング・アプリケーションは、乱数を使用してパスワードのノンリバーシブル・ハッシュを生成し、そのノンリバーシブル・ハッシュは次いでNAS120に送信される。次いでNAS120は、RADIUSプロトコルを使用して、ノンリバーシブル・ハッシュとそのハッシュを生成するために使用された乱数をAAAサーバ135に送信する。AAAサーバ135は、認証データベース130から平文パスワードを取り出し、NAS120から受信した乱数を使用してハッシュ・オペレーションを繰り返す。最後に、AAAサーバ135は、その生成されたハッシュ値をNAS120から受信したハッシュ値と比較する。ハッシュ値が同一である場合、認証は成功と見なされ、AAAサーバ135はネットワーク・アクセス・デバイス105に適切な確認応答信号を送信する。
【発明の開示】
【発明が解決しようとする課題】
【0010】
ユーザ認証のためのCHAP/RADIUS方法に関する問題は、これら3つのシステム、すなわちネットワーク・アクセス・デバイス105、NAS120、およびAAAサーバ135は、安全性が付加されたことを利用するためにCHAPを使用するよう構成しなければならないということである。これら3つのうちどれかがCHAPを使用するように構成されていない場合、ネットワーク・アクセス・デバイス105のダイヤルアップ・ネットワーキング・アプリケーションは、PAPを認証プロトコルとして使用することをNAS120と交渉するためにPPPプロトコルを使用する。
【0011】
CHAP/RADIUS方法を使用することのもう1つの不利な点は、CHAPを適切に実施するために、AAAサーバ135は平文パスワードにアクセスしなければならないということである。多くの認証システムは、システムに漏洩が発生しパスワードが盗まれた場合に安全性のリスクが増すので、パスワードは平文形式では記憶しない。
【0012】
さらに最近では、認証システムは、拡張認証プロトコル(EAP)と呼ばれる認証プロトコルを採用している。EAPは、パスワードをハッシュするためにネットワーク・アクセス・デバイス105が使用する乱数をNAS120ではなくAAAサーバ135が生成するということを除いて、CHAPと略同様に機能する。その結果、EAPはCHAPと同じ短所を有することになる。具体的には、認証チェーンのすべてのシステムがEAPを採用している場合にだけEAPは有効である。
【0013】
ブロードバンド・アクセスの出現により、無線のアクセス・プロバイダと有線(イーサネット(登録商標))のアクセス・プロバイダはどちらも、ウェブ・ブラウザ・ベースの認証システムを採用する。ウェブ・ブラウザは、ユーザの信用証明書をアクセス・ポイントに送信するためにハイパーテキスト転送プロトコル(HTTP)またはセキュア・ソケット・レイヤを介したハイパーテキスト転送プロトコル(HTTPS)を使用する。HTTPに関する問題は、パスワードがデータ接続を介して送信される前に暗号化されず、平文として送信されるということである。つまり、パスワードがハッカーによる傍受を受けやすいということである。例えば、データ接続にアクセスするハッカーは、ネットワーク監視アプリケーションを使用して、データ接続全体で送信されているデータ・パケットを捕足し表示することができる。このようなネットワーク監視アプリケーションは一般的であり、その使用が違法であるためにこれらはしばしばパケット・スニッフィング・アプリケーションまたはパケット・スヌーピング・アプリケーションと呼ばれている。HTTPSに関する問題は、アクセス・ポイントが良く知られた認証局(CA)から信用証明書を取得する必要があるということである。これは、アクセス・ポイントを設定する費用を上昇させる。HTTPSによって使用される暗号化の強度は、政府の輸出規制の制限を受ける。ウェブ・ブラウザは、ディフォルトの場合は比較的脆弱な鍵を含み、ユーザには輸出規制に応じて暗号化の強度をアップグレードすることが求められる。本明細書の目的のために、用語「接続アプリケーション」は、限定はしないが、ピアツーピア認証アレンジメント、ダイヤラー、スマート・クライアント、ブラウザ、サプリカント、スマート・カード、トークン・カード、PDA接続アプリケーション、無線接続、組み込み型認証クライアント、イーサネット接続などの、データを認証する機能を含むいかなるデバイス(ハードウェアとソフトウェアの両方)を含むものと解釈されるべきである。
【0014】
しばしば発生するさらなる問題は、いわゆる「リプレイ攻撃」である。リプレイ攻撃は、一般に、無認可の人物またはデバイス、例えば認証されていないデバイスが、ネットワークの合法的ユーザのログインidおよびパスワードを入手するためにネットワーク(例えば、インターネット)上で盗聴する場合に行われる。捕捉されたログインidおよびパスワードは、後でいわゆるリプレイ攻撃でシステムにアクセスするために使用される。
【課題を解決するための手段】
【0015】
本発明により、
ユーザがそれを介してコンピュータ・システムへのアクセスを要求するユーザのデバイスの接続アプリケーションで、ユーザの要求ごとに変わる現行セッション・データを暗号化するステップと、
暗号化された現行セッション・データを、平文で通信されるアクセス要求のユーザ認証データに含めるステップと、
アクセス要求を暗号解読し、基準セッション・データを暗号解読された現行セッション・データと比較するステップと、
比較の結果に応じてユーザの要求を選択的に分類するステップと
を含むコンピュータ・システムへのアクセスを要求しているユーザのデバイスを認証する方法が提供される。
【0016】
さらに本発明により、
暗号化されたアクセス要求を平文でアクセス・デバイスから受信するステップと、
アクセス要求を暗号解読し、アクセス・デバイスによって生成された、アクセス要求内の現行セッション・データを識別するステップと、
暗号解読された現行セッション・データを基準セッション・データと比較するステップと、
比較の結果に応じてユーザの要求をリプレイ攻撃として選択的に分類するステップと
含むコンピュータ・システムへのアクセスを要求しているアクセス・デバイスによるリプレイ攻撃を識別する方法が提供される。
【0017】
さらに本発明により、
ユーザがコンピュータへのアクセスを要求する、ユーザのデバイスの接続アプリケーションで、ユーザの要求ごとに変わる現行セッション・データを生成するセッション・データ・ジェネレータと、
平文で通信される暗号化されたアクセス要求を提供するために、現行セッション・データを暗号化し、これをユーザ認証データに含める暗号化モジュールと、
暗号化されたアクセス要求を暗号解読するプロセッサと、
基準セッション・データを暗号解読された現行セッション・データと比較するコンパレータであって、プロセッサが比較の結果に応じてユーザの要求を選択的に分類するコンパレータと
を含むコンピュータへのアクセスを要求しているユーザのデバイスを認証するシステムが提供される。
【0018】
さらに本発明により、
平文である暗号化されたアクセス要求をアクセス・デバイスから受信するレシーバーと、
アクセス・デバイスによって生成された、アクセス要求内の現行セッション・データを暗号解読し、識別するプロセッサと、
暗号解読された現行セッション・データを基準セッション・データと比較するコンパレータであって、プロセッサが比較の結果に応じてユーザの要求をリプレイ攻撃として選択的に分類するコンパレータと
を含むコンピュータ・システムへのアクセスを要求しているアクセス・デバイスによるリプレイ攻撃を識別するコンピュータ・サーバが提供される。
【0019】
本発明は、本明細書で記述された方法のどれでも実行するように一連の命令を組み込んだ機械可読媒体に拡張される。
【0020】
本発明の他の特徴および利点は、図面および以下の詳細な説明から明らかになろう。
【0021】
本発明は、一例として説明するものであり、添付の図面の各図によって限定されることを意図するものではない。尚、添付の図面では、同様の参照は同一または類似の要素を示している。
【発明を実施するための最良の形態】
【0022】
ネットワーク・ユーザの信用証明書またはユーザを安全に認証する方法およびシステムが開示される。ネットワーク・アクセス・デバイスは、ネットワーク・ユーザによって入力されたパスワードのようなネットワーク・ユーザの信用証明書を暗号化する。ネットワーク・アクセス・デバイスは、強力な暗号化アルゴリズムによって生成された公開/秘密鍵対の一部である公開鍵によってネットワーク・ユーザの信用証明書を暗号化する。ネットワーク・アクセス・デバイスは、暗号化されたネットワーク・パスワードをネットワーク暗号解読サーバに送信する。ネットワーク暗号解読サーバは、公開/秘密鍵対の秘密鍵を使用してネットワーク・ユーザの信用証明書を暗号解読する。ネットワーク暗号解読サーバは、暗号解読されたパスワードを検証するために認証サーバ(AAA)に送信する。パスワードがAAAサーバで肯定的に検証された場合、AAAサーバは、パスワードが適切に検証されたこと、すなわち認証されたことを示す適切な確認応答信号をネットワーク・アクセス・デバイスに送信する。この確認応答信号に基づいて、ネットワーク・アクセス・デバイスは、インターネットまたは何らかの他のソースに対するアクセスを得る。
【0023】
ネットワーク・アクセス・デバイスで強力なアルゴリズムに基づき非対称公開鍵を使用してネットワーク・パスワードを暗号化することにより、パスワードをネットワーク・アクセス・デバイスからネットワーク暗号解読サーバに安全に送信することができる。暗号化されたパスワードが、ネットワーク・アクセス・デバイスとネットワーク暗号解読サーバの間のある地点でスニッフィング・アプリケーションまたはスヌーピング・アプリケーションによって捕足される場合、暗号化されたパスワードは正確な秘密鍵の知識と暗号化アルゴリズムによってのみ暗号解読することができる。ユーザの信用証明書の暗号解読は、ユーザがアクセスすることを希望しているソースのできる限り近くで行われることが好ましい。
【0024】
図示した本発明の実施形態は基礎となる認証プロトコルには依存せず、したがって様々な新しい認証プロトコルと既存の認証プロトコルと共に機能するよう実現することができる。さらに本発明の実施形態は、認証チェーンの機能を完全に標準化する必要性を解決しながら、安全な認証を提供する。例えば暗号化されたデータを標準PPP/RADIUS情報フィールドを通過させることによって、本発明は、CHAPやEAPのようなさらに複雑な認証プロトコルと共に機能するようネットワーク機器を実装し、構成する労力と費用を掛けずに安全な認証方法を提供する。しかし、本発明はCHAP、EAP、および他のプロトコルと共に使用することができ、PAP/RADIUS環境のアプリケーションに限定されるものではないということを理解されたい。
【0025】
図2は、本発明の一実施形態と一致する、ISPネットワーク255、ネットワーク・アクセス・デバイス205、およびネットワーク暗号解読サーバ240を含むネットワーク構成200を示す図である。ISPネットワーク255は、NAS220、モデム・プール215、およびゲートウェイ225を含む。ISPネットワーク255はゲートウェイ225を介してインターネットに接続されており、NAS220とネットワーク暗号解読サーバ240の間の接続を介してISP認証システム265に接続されている。一実施形態では、ISPネットワーク255とISP認証システム265は物理的に同じファシリティ内に配置されている。しかし代替形態では、ISP認証システム265は1つのファシリティ内に配置されており、ワイド・エリア・ネットワーク(WAN)を介してISPネットワーク255のような1つまたは複数のISPネットワークに接続されている。この種の構成は、個々のISPネットワークを異なる地理的領域内に戦略的に配置することを可能にし、したがって安全性を増すために認証システムを集中化しながら顧客はローカルな電話の呼によってネットワークにアクセスすることができる。
【0026】
本発明の一実施形態では、インターネット260にアクセスするために、ネットワーク・ユーザはネットワーク・アクセス・デバイス205でダイヤルアップ接続アプリケーションを実行する。代替形態では、インターネットにアクセスするために他のタイプのネットワーク接続アプリケーションを利用することができる。ダイヤルアップ接続アプリケーションは、ネットワーク・ユーザ名とネットワーク・パスワードを入力し、モデム210を操作してモデム・プール215との音声通信セッションを確立するようネットワーク・ユーザを促す。図2ではモデム210は外部デバイスとして示してあるが、本発明の代替形態では、モデム210はネットワーク・アクセス・デバイス205に内蔵した内部デバイスであってよい。音声通信セッションが確立されると、NAS220はネットワーク・ユーザを認証するためにネットワーク・アクセス・デバイス205との通信を開始する。
【0027】
ネットワーク・アクセス・デバイス205がネットワーク・ユーザによって入力されたネットワーク信用証明書を送信する前に、ネットワーク・パスワードが暗号化される。パスワードは公開/秘密鍵対の公開鍵を使用して暗号化される。この暗号化技術は当技術分野では良く知られており、一般には非対称公開鍵暗号法と呼ばれている。非対称公開鍵暗号法では、人は1つの鍵を公的に使用可能とし、第2の秘密鍵を保持する。メッセージは公開鍵によって「ロック」すなわち暗号化され、送信され、次いで秘密鍵によって「アンロック」すなわち暗号解読される。
【0028】
図示する本発明の本実施形態では、公開/秘密鍵対を生成するために強力な暗号化アルゴリズムが使用される。公開鍵と秘密鍵は楕円曲線に基づく数学的関係を有している。この暗号化技術は当技術分野では良く知られており、一般には楕円曲線暗号法またはECCと呼ばれている。公開鍵暗号化アルゴリズムは、秘密鍵から公開鍵を生成することは容易になるが、公開鍵が与えられて秘密鍵を推論することは困難な一方向性の数学的な問題に依存している。楕円曲線システムは、楕円曲線によって作成された母集団内の公開鍵と秘密鍵の間の関係を決定するために数式を使用する。楕円曲線暗号法は、他の強力な暗号技術と比べて鍵のサイズが小さいので有利である。これはパスワードを強力な暗号化方法で暗号化することを可能にしながら、暗号化されたパスワードは尚もPAP、CHAP、EAP、およびRADIUSのような普及している認証プロトコルによって定義されるパスワード・データ・フィールドに適合する。
【0029】
再度図2を参照すると、秘密鍵は秘密鍵データベース245に記憶させておき、公開鍵はネットワーク・アクセス・デバイス205に知られている。ネットワーク・アクセス・デバイス205は、ネットワーク・ユーザ名と暗号化されたネットワーク・パスワードをNAS220に送信する前に公開鍵を使用してパスワードを暗号化する。NAS220は、ネットワーク・ユーザ名と暗号化されたネットワーク・パスワードをネットワーク暗号解読サーバ240に転送する。ネットワーク暗号解読サーバ240は、秘密鍵データベース245へのインデックスとしてネットワーク・ユーザ名を使用し、ネットワーク・ユーザ名に関連付けられた秘密鍵を取り出す。次いでネットワーク暗号解読サーバ240は、秘密鍵を使用して、暗号化されたネットワーク・パスワードを暗号解読し、ネットワーク・ユーザによって入力されたオリジナルの平文パスワードを生成する。
【0030】
最後に、ネットワーク暗号解読サーバ240は、ネットワーク・ユーザ名と平文ネットワーク・パスワードを検証するためにAAAサーバ235に転送する。AAAサーバ235は、ネットワーク・ユーザ名に関連付けられた公式パスワードを取り出すために、認証データベース230へのインデックスとしてネットワーク・ユーザ名を使用する。公式パスワードがネットワーク・ユーザによって入力され、ネットワーク・アクセス・デバイス205によって送信されたパスワードと一致する場合、AAAサーバ235は適切な確認応答信号をNAS220に送信し、NAS220はその信号をネットワーク・アクセス・デバイス205に転送し、これにより成功した検証の確認応答を行い、インターネットまたはある種の他のソースへのアクセスを認める。
【0031】
本発明の一実施形態は、ネットワーク・アクセス・デバイス205からNAS220に、最終的にはAAAサーバ235に信用証明書を送信するために使用される認証プロトコルには依存しない。例えば、本発明は、特にPAP、CHAP、EAP、およびRADIUSのような普及している認証プロトコルと共に機能するように実施することができる。
【0032】
本発明の一実施形態に関して、NAS220はネットワーク・ユーザの信用証明書を認証するためにPAPおよびRADIUSを使用するよう構成されている。PAP/RADIUS用に構成されている場合、NAS220は、NAS220とネットワーク・アクセス・デバイス205の間で通信セッションが開始される際に、PAPの使用についてネットワーク・アクセス・デバイス205と交渉する。NAS220は、RADIUSサーバであるAAAサーバ235のRADIUSクライアントとして構成される。ネットワーク暗号解読サーバ240はRADIUSサーバとしても構成されているが、AAAサーバ235に対してRADIUSプロキシ・クライアントとして動作する。この構成では、ネットワーク・アクセス・デバイス205は、ネットワーク・ユーザによって入力された際にパスワードを暗号解読する。次いでネットワーク・アクセス・デバイス205はPAPパケットを作成し、ネットワーク・ユーザ名と暗号化されたネットワーク・パスワードをパケット内の適切なフィールドに置く。次にネットワーク・アクセス・デバイス205はPAPパケットをNAS220に送信する。NAS220は、RADIUSパケットを使用してデータをネットワーク暗号解読サーバ240に転送する。ネットワーク暗号解読サーバ240はパスワードを暗号解読し、RADIUSを使用して検証のために平文パスワードをAAAサーバ235に転送する。
【0033】
代替形態では、NAS220は、ネットワーク・ユーザの信用証明書を認証するためにCHAPとRADIUSを使用するように構成される。CHAP/RADIUSを使用するように構成されているネットワークでは、NAS220はPAPではなくCHAPを認証プロトコルとして使用することをネットワーク・アクセス・デバイス205と交渉する。次にNAS220は乱数を生成し、それをネットワーク・アクセス・デバイス205に送信する。ネットワーク・アクセス・デバイス205上で実行されているダイヤルアップ接続アプリケーションは、事前設定された暗号化アルゴリズムを使用してパスワードのノンリバーシブル・ハッシュを生成するために乱数を使用する。実際のパスワードを暗号化するのではなく、ネットワーク・アクセス・デバイス205は、上記の本発明の本実施形態によりネットワーク・パスワードのノンリバーシブル・ハッシュを暗号化する。ネットワーク・アクセス・デバイス205はCHAPパケットを作成し、ネットワーク・ユーザ名と暗号化されたノンリバーシブル・ハッシュをNAS220に送信する。
【0034】
NAS220は、ネットワーク・ユーザ名、暗号化されたノンリバーシブル・ハッシュ、およびノンリバーシブル・ハッシュを生成するために使用されたオリジナルの乱数を含むデータを、RADIUSプロトコルを使用してネットワーク暗号解読サーバ240に送信する。ネットワーク暗号解読サーバ240はそのノンリバーシブル・ハッシュを暗号解読し、RADIUSパケット内のノンリバーシブル・ハッシュと置き換え、これがAAAサーバ235に転送される。
【0035】
AAAサーバ235はこのパケットを受信し、認証データベース230からネットワーク・ユーザ名に関連付けられたパスワードを取り出す。AAAサーバ235は、NAS220で元々生成された乱数を使用して、認証データベース230から取り出されたオリジナルのパスワードに対してハッシュ・オペレーションを実行する。次にAAAサーバ235は、それ自体が生成したハッシュを、ネットワーク・アクセス・デバイス205から受信したハッシュと比較する。2つのハッシュが一致する場合、検証は成功し、AAAサーバ235は、適切な確認応答信号をネットワーク・アクセス・デバイス205に送信し、インターネット260またはある種の他のソースへのアクセスを与える。
【0036】
本発明の別の実施形態では、NAS220はEAPおよびRADIUSを使用するように構成されている。EAPは、ネットワーク・アクセス・デバイス205に送信される乱数がNAS220ではなくAAAサーバ235によって生成されることを除いて、CHAPと略同様に機能する。本発明はいかなる認証プロトコルとでも共に機能するので、本発明は様々なネットワーク構成と共に機能するように容易に実現することができ、LEGACYシステムを使用した非常に強力な最低レベルの安全性を提供することができる。
【0037】
図3は、本発明の一実施形態と調和する、遠隔ISPネットワーク365、ネットワーク・アクセス・デバイス305、およびネットワーク暗号解読サーバ350を含むネットワーク構成300を示す図である。遠隔ISPネットワーク365は、NAS320、モデム・プール315、およびゲートウェイ325を含む。遠隔ISPネットワーク365は、ゲートウェイ325を介してインターネット370に接続されており、NAS320とAAAサーバ335の間の接続を介して遠隔ISP認証システム375に接続されている。遠隔ISP認証システム375は、AAAサーバ335とネットワーク暗号解読サーバ350との間のWAN接続を介してローカルISP認証システム380に接続されている。
【0038】
構成300は、ネットワーク・ユーザがネットワーク・アクセス・デバイス305を使用して遠隔ISPネットワーク365によってインターネット370にアクセスすることができる。ローカルISP認証システム380を運営・維持管理するローカルISPは、ローカルISPのネットワーク・ユーザが、遠隔ISPによって維持管理・運営されている遠隔ISPネットワーク365を介してインターネットにアクセスすることができるように、遠隔ISPと協定を結ぶ。この種の業務協定は、遠隔ISPが遠隔の地理的領域またはローカルISPと異なる国家に配置されている場合に発生する場合がある。図3に示す本発明の実施形態は、ローカルISPの運営者が、遠隔ISPネットワーク365と遠隔ISP認証システム375から構成される機器にアクセスした人物を制御することが不可能なので、この種の構成では特に有利である。さらに遠隔ISPネットワーク365は、パスワードの暗号化されたバージョンにだけアクセスし、これにより安全性は強化される。
【0039】
図3に示す本発明の実施形態は、暗号化されたパスワードが遠隔ISPネットワーク365と遠隔ISP認証システム375を通過することを除いて、図2に関して上述した方法と略同様の方法で機能する。図3を参照すると、インターネット370にアクセスするために、ネットワーク・ユーザは、ネットワーク・アクセス・デバイス305のダイヤルアップ接続アプリケーションを実行する。ダイヤルアップ接続アプリケーションは、ネットワーク・ユーザ名とネットワーク・パスワードを入力し、モデム310を操作してモデム・プール315と音声通信セッションを確立するようネットワーク・ユーザを促す。一度音声通信セッションが確立されると、NAS320はネットワーク・ユーザを認証する目的でネットワーク・アクセス・デバイス305との通信を開始する。
【0040】
ネットワーク・パスワードをNAS320に送信する前に、ネットワーク・アクセス・デバイス305は、上記のように公開鍵によってネットワーク・パスワードを暗号化する。次いでネットワーク・アクセス・デバイス305は、ローカルISP認証システム380宛てのデータ・パケットを作成し、そのパケットを遠隔ISP365のNAS320に転送する。NAS320は、暗号化されたパスワードを含んでいるそのデータ・パケットを受信し、それを特に遠隔ISP認証システム375とAAAサーバ335に転送する。AAAサーバ335はそのデータ・パケットを検査し、それがローカルISP認証システム380宛てであることを発見し、そのデータ・パケットをネットワーク暗号解読サーバ350に転送する。
【0041】
ネットワーク暗号解読サーバ350はそのデータ・パケットを受信し、秘密鍵データベース335からネットワーク・ユーザ名に関連付けられた秘密鍵を取り出す。次いでネットワーク暗号解読サーバ350は、暗号化されたパスワードを暗号解読し、検証するためにそのデータ・パケットを平文パスワードと共にAAAサーバ345に転送する。AAAサーバ345は、認証データベース340からユーザ名に関連付けられた平文パスワードを取り出すために、認証データベース340へのインデックスとしてネットワーク・ユーザ名を使用する。取り出されたパスワードが、ネットワーク・アクセス・デバイス305から受信したパスワードと一致する場合、AAAサーバ345は、適切な確認応答信号を遠隔ISP365のAAAサーバ335に送信する。AAAサーバ335は、その信号をNAS320に転送する。NAS320は、その信号をネットワーク・アクセス・デバイス305に転送し、成功した検証を確認応答し、インターネットまたはある種の他のソースへのアクセスを認める。したがって、ユーザに関連付けられたローカルISPの近くで暗号解読が行われ、暗号化された認証データにアクセスするのは任意の1つまたは複数の中間ISPだけである。
【0042】
図4は、本発明の一実施形態と調和する、ネットワーク・ユーザの信用証明書を安全に認証する方法の動作400の流れ図である。この方法は動作405から開始される。動作405で、ネットワーク・アクセス・デバイスは、公開/秘密鍵対の一部である公開鍵を使用してパスワードのようなネットワーク信用証明書を暗号化する。公開/秘密鍵対は、楕円曲線暗号法のような強力な暗号化アルゴリズムに基づいて前もって生成されている。
【0043】
動作410で、ネットワーク・アクセス・デバイスは暗号化されたネットワーク信用証明書をネットワーク暗号解読サーバに送信する。暗号化されたパスワードは、最終的にネットワーク暗号解読サーバに到達する前にネットワーク・アクセス・サーバとAAAサーバを含む複数のネットワーク・ノードを介して転送される。
【0044】
動作415で、ネットワーク暗号解読サーバは、上記の公開/秘密鍵対の秘密鍵を使用して暗号化されたネットワーク信用証明書を暗号解読する。ネットワーク暗号解読サーバは、ユーザ名を秘密鍵データベースへのインデックスとして使用して秘密鍵データベースから秘密鍵を取り出す。
【0045】
最後に、動作420で、ネットワーク暗号解読サーバは、暗号解読されたネットワーク信用証明書を検証するためにAAAサーバに送信する。最終的に検証のためAAAサーバに到達する前に、ネットワーク・アクセス・サーバまたは他のAAAサーバのようないくつかのネットワーク・ノードを介して暗号解読されたネットワーク信用証明書を転送することができる。
【0046】
本発明の典型的な適用例はマルチパーティ・サービス・アクセス環境であるが、そのアプリケーションについては後述する。このような適用例は、通常、ローミング・ユーザ、複数のサービス・プロバイダ、および複数の顧客を含む。さらに、このような適用例は、通常は、PAP、CHAP、EAP、RADIUS、またはユーザの信用証明書を安全でない方法で通信する類似のプロトコルを使用する。しかし、後述する実施形態は、LEGACYシステムでの安全な認証を可能にする。
【0047】
用語
本明細書の目的で、「サービス・アクセス・トランザクション」という用語は、ユーザ・セッションに関するサービス顧客とサービス・プロバイダとの間のいかなるトランザクションをも含んでいる。このようなサービスの一例として、任意の媒体またはプロトコルを介した任意の通信ネットワークへのアクセスをあげることができる。例えば通信ネットワークは、パケット交換ネットワーク、回線交換ネットワーク、ケーブル・ネットワーク、衛星ネットワーク、地上ネットワーク、有線ネットワーク、または無線ネットワークを含むことができる。しかし「サービス・アクセス・トランザクション」という用語は、ネットワーク・アクセス・トランザクションに限定されるものではなく、コンテンツ・サービス、商取引サービス、および通信サービスのような多数の他のサービスの任意の1つへのアクセスに関するトランザクションを含むものである。
【0048】
本発明の目的のために、「顧客」という用語は、サービス・アクセスが顧客によって行われるか否かに関わらず、サービス・アクセスの購入および/または消費に関与する任意のエンティティを含む。例えば「顧客」は、実際にサービス・アクセスを利用するエンド・ユーザ消費者、またはそのようなエンド・ユーザが属している企業体、インターネット・サービス・プロバイダ、インターネット通信事業者、再販業者、またはチャネルであってよい。
【0049】
マルチパーティ・サービス・アクセス環境
本発明の本実施形態は、サービス・プロバイダ(例えばISP、無線サービス・プロバイダ、VPNサービス・プロバイダ、コンテンツ配信サービス・プロバイダ、電子商取引サービス・プロバイダ、またはアプリケーション・サービス・プロバイダ)が標準通信プロトコル(例えばPPP、HTTP)および標準認証プロトコル(例えばRADIUS、PAP、EAPなど)を使用してマルチパーティ・アクセス環境で比較的安全なサービス・アクセスを提供できるようにする、サービス・アクセス(例えばインターネット・アクセス、コンテンツ・アクセス、商取引アクセス、または通信アクセス)サービス用のマルチパーティ・アクセス・ブローカー/設定システムを開示する。このようなプロトコルは、通常、最大長のユーザ・フィールドを規定し、本発明の実施形態は、特に上記の最大長のフィールド内で安全な認証を提供する方法およびシステムを記述する。したがって、本発明はLEGACYシステムに適用することができる。
【0050】
概要
図5は、多数のサービス・プロバイダ452、アクセス・ブローカー・システム454、および複数の顧客(または消費者)456を含むネットワーク・アクセス環境の一形態であるマルチパーティ・サービス・アクセス環境例450のブロック図である。高レベルでは、サービス・プロバイダ452は、アクセス・ブローカー・システム454を介して複数の顧客456に販売されるサービス(例えばアクセス・サービス、コンテンツ・サービス、電子商取引サービスなどの)・キャパシティを有する。したがって、アクセス・ブローカー・システム454は、顧客456に転売されるサービス・キャパシティ(例えばサービス・アクセス)を購入すると見なすことができる。サービスへのアクセスはネットワーク・アクセスとして後述されているが、アクセスはサービスの一例として後述されており、本明細書の目的では上記のアクセスのどの形態でも含むものと見るべきであるということが理解されよう。本実施形態では、サービス・プロバイダ452は、ISP458(例えばUUNet技術、Genuity、CompuServe Network Services、EQUANT、Hong Kong Telecomなど)、無線アクセス・プロバイダ460(例えばVerizon、Sprint、Pacific Bell)、コンテンツ配信プロバイダ462、および電子商取引プロバイダ464のような任意の通信ネットワーク・サービス・プロバイダを含むことができる。しかしサービス・プロバイダ452は、任意の数のサービス(数例をあげるならば、例えばアクセス・サービス、コンテンツ・サービス、通信サービス、または電子商取引サービス)を提供する任意の種類のサービス・プロバイダをいくつでも含むことができる。
【0051】
アクセス・ブローカー・システム例454は多数の構成要素を含む。接続アプリケーションは、通常、ダイヤルアップ・アプリケーションまたは接続ダイヤラー466の形態で、通信ネットワークへの便利なアクセスに役立つ顧客456のサービスまたはネットワーク・アクセス・デバイス(例えば図2および3のアクセス・デバイス205、305のようなコンピュータ・システム)にインストールされているクライアント・アプリケーションである。一実施形態では、接続ダイヤラー466は、アクセス・ブローカー・システム454の世界規模の接続ネットワークへのダイヤリングのために簡単なポイント・アンド・クリック・インターフェースを提供することができる。この目的のために、接続ダイヤラー466は、潜在的に異なる設定とダイヤルアップ・スクリプト記述情報と共に世界中の複数のISPに対する複数の電話番号を記憶することができる。図1から4に関して上記で概説したように、ポイント・ツー・ポイント・プロトコル(PPP)、パスワード認証プロトコル(PAP)、チャレンジ・ハンドシェーク認証プロトコル(CHAP)、遠隔認証ダイヤルイン・ユーザ・サービス(RADIUS)プロトコル、ターミナル・アクセス・コントローラ・アクセス制御システム(TACACS)プロトコル、ライトウェイト・ディレクトリ・アクセス・プロトコル(LDAP)、NTドメイン認証プロトコル、Unix(登録商標)パスワード認証プロトコル、ハイパーテキスト転送プロトコル(HTTP)、セキュア・ソケット・レイヤを介したハイパーテキスト転送プロトコル(HTTPS)、拡張認証プロトコル(EAP)、転送レイヤ・セキュリティ(TLS)プロトコル、トークン・リング・プロトコルおよび/またはセキュア遠隔パスワード・プロトコル(SRP)のような周知のプロトコルによって許可または可能とされるユーザ・ストリングにユーザ・データとカウンター・データを含むことができるような方法で接続ダイヤラー466はユーザ・データとカウンター・データを暗号化する。
【0052】
環境450は、ユーザ識別情報、認証応答および使用法、およびアカウンティング情報を経路指定し、ロギングする信頼あるサードパーティの機能を提供する複数のトランザクション・サーバ468も含む。トランザクション・サーバ468は、暗号解読機能を含むので、暗号解読サーバを規定することができる。
【0053】
接続ダイヤラー466がクライアントまたはユーザのネットワーク・アクセス・デバイス205、305にインストールされるのに対し、ネットサーバ470はローミング・ユーザにPOPを利用することを許可している「遠隔」ISPにインストールされ、またローム・サーバ472は関連付けられたホーム・ネットワークにローム・ユーザがアクセスすることを許可するために「ホーム」ISPに常駐する。トランザクション・サーバ468は、ネットワークとローム・サーバ470と472の間でメッセージを経路指定するように動作するということに留意されたい。
【0054】
柔軟な価格設定エンジン476を含む設定システム474は、サービス・プロバイダ452と顧客456の間でサービス・アクセス・トランザクションの金銭上の決済を実行する。アクセス・ブローカー・システム454は、顧客456に提供されるサービスに関するサービス品質(QoS)情報の収集・分析に役立つサービス品質モニタ478(SQM)と顧客456が使用する複数の接続ダイヤラー466の管理に役立つ電話帳管理システム480も含む。トランザクション・サーバ468は、トランザクション・データをロードするために設定システム474によってアクセスされる。環境450の様々な構成要素は、周知の機能の態様を含むことができ、本発明の特定の実施形態によってはある種の構成要素を省略することができる。
【0055】
顧客
図示する実施形態で顧客456はマルチティア顧客構造で構成されており、これによってアクセス・ブローカー・システム454は様々な事業計画とニーズに従って運営する顧客456と対話することができる。この範囲の一端で、顧客456はアクセス・ブローカー・システム454を介してローミング・システムに加入している個々のエンド・ユーザを含むことができる。別法として、顧客456は、企業の従業員のためにローミング・インターネット・アクセスを購入する法人顧客482(例えば法人または企業)の形態であってよい。
【0056】
各顧客456は、それ自体の顧客(例えばエンド・ユーザ486および法人顧客482)に転売するためにローミング・インターネット・アクセスを購入するISP顧客484を含むこともできる。各顧客456は、ソリューション・パートナーまたはアクセス・ブローカー・システム454によって仲介されるローミング・インターネット・アクセスを市場に出しエンド・ユーザ486、法人顧客482、および/またはISP顧客484に転売する再販業者488として運営することができる。
【0057】
顧客456は、インターネット通信事業者490(例えばIXC、RBO、CLEC、ILEC、およびISP)と見なされる関係者を含むこともできる。したがって、マルチパーティ・アクセス環境450では、多数の異なるサービス・プロバイダが、ローミング・ユーザにアクセスを提供することに参加することができ、したがって顧客のセキュリティ問題と、特にユーザの安全な認証が重要な課題になるということが理解されよう。また、参加者数の増加に伴い、アカウンティングの問題はより複雑化する傾向がある。
【0058】
ローミング・サービス・アクセス
特に図6を参照すると、参照番号500は、アクセス・ブローカー・システム454が本発明の一実施形態によって比較的安全な方式でローミング・インターネット・アクセスを提供することができる方法の一例を全般的に示している。「ホーム」ISP504の加入者として示されているローミング・ユーザ502が、特定の地理的領域510内のローカルPOP508を提供する遠隔ISP506に接続すると、ローミング・ユーザ502は「ホーム」ISP504のPOP509を介して接続している際に使用されるのと同じユーザ名512とパスワード514(すなわち、認証データまたはユーザの信用証明書)を入力する。しかし、標準またはLEGACYマルチパーティ・アクセス環境は、通常、ダイヤルアップ認証にはPAPを、有線および無線ブロードバンド認証にはHTTP POSTベースの認証を使用する。この結果、パスワードは安全でない媒体を介して転送されることになり、そのパスワードの機密性は損なわれ、それ以後、アクセス・ブローカー・システム454および顧客456の両方のネットワークに不正にアクセスするために使用される可能性がある。この問題を改善するために、本発明の一実施形態により、上記で図1から4を参照して説明し、図5から13を参照してマルチパーティ環境について説明したように、接続ダイヤラー466はユーザのデータをPOP508に通信する前にそれを暗号化する。
【0059】
図示する実施形態では、顧客456は接続ダイヤラー466を要求するためにウェブ形式を使用する。このウェブ形式は、必要となるカスタマイゼーションを指定するために使用することができるフィールドを含む。例えば次のフィールドは、平文形式のセキュアード・パスワード認証(以下では「セキュアPAP」と称する)用のウェブ形式に含まれる。
セキュアPAP暗号化をイネーブルする:(Y/N)
公開鍵:****
鍵ID:(0−9)
【0060】
顧客456がローミング・ユーザ502に対するセキュアPAPをイネーブルするよう希望する場合(図6を参照のこと)、かれらは自分たちの関連付けられたローム・サーバ472に含まれるECCユーティリティを使用する。ローム・サーバ472は、アクセス・ブローカー・システム454から顧客456に提供されたアプリケーションを実行し、公開/秘密鍵対を生成する。秘密鍵は通常、esp_key_pair.txtファイルに追加される。公開鍵は通常、適切な形式を使用してアクセス・ブローカー・システム454のダイヤラー・サポート・チームに送信される。ダイヤラー・サポート・チームは、本発明の一実施形態により接続ダイヤラー466を構築するためにダイヤラー・カスタマイゼーション・ツール(DCT)を使用する。DCTツールは、使用されるべき暗号化/暗号解読アルゴリズムとECC公開/秘密鍵を指定するためのウェブ・ページを含む。
【0061】
接続ダイヤラー466は、ユーザ・アクセス・セッションを一意に識別する一意のセッションid(ブロック522を参照のこと)を生成するために、ダイヤラーidとカウンター(図7のブロック520を参照のこと)を維持する。接続ダイヤラー466は、例えばアクセス・ブローカー・システム454のウェブ・サーバからダイヤラーidを取得し、使用時には、接続ダイヤラー466は各ユーザ・アクセス・セッションが一意に識別されるようダイヤル試行ごとにカウンターを増分する。ダイヤラーidとカウンターの値は、一意のセッションidプレフィックスを作成するために使用される。ダイヤラーidとカウンターの値またはカウント(平文で送信される)の整合性を保証するために、これらのフィールドはチェックサム文字を生成するために使用される。このチェックサム文字を生成するために使用されるアルゴリズムは、以下で図12を参照してより詳細に説明される。一意のセッションidの実施形態については、本明細書でより詳細に後述される。
【0062】
ネットサーバ470は、認証されたユーザidとパスワードのキャッシュを限られた期間だけ維持し、したがってそれ以後の認証はそのキャッシュから実行することができる(ブロック538を参照のこと)。安全なPAPはユーザidとパスワードを認証ごとに変更するので、それはネットサーバ470でいかなるキャッシング機能をもブレークする。したがって、特定の実施形態では、標準化されたネットサーバのキャッシュとの整合性を維持するために、ダイヤラー466は限られた期間だけランダム・ポイントをローカルに記憶し、これを再利用することができる(ブロック540を参照のこと)。上記処理の後で、ネットサーバ470は認証データをトランザクション・サーバ468に通信する。
【0063】
特に図8を参照すると、参照番号550は、トランザクション・サーバ468によって実行される機能例を全般的に示している。トランザクション・サーバ468は、ダイヤラーid、カウンターで最後に使用された値、およびテーブルでの最後のアクセス・タイムを維持する(ブロック552を参照のこと)。テーブルは、ネットワークをリプレイ攻撃から保護するために使用される。このテーブルは、通常、すべてのトランザクション・サーバ468全体で複製される。
【0064】
ユーザの信用証明書または認証データをネットサーバ470から受信する際、本発明の一実施形態では、トランザクション・サーバ468はパスワードを暗号解読し、受信したカウンターの値をデータベースに記憶されている値と比較する(ブロック554を参照のこと)。ダイヤラー466によって送信されるカウントがデータベースに記憶されている最後のカウント値よりも大きい場合、それは本物の要求であると見なされる(ブロック556を参照のこと)。ダイヤラー466によって送信されたカウントがデータベースに記憶されている最後のカウント値と等しく、現在のシステム・タイムとデータベースに記憶されている最後のアクセス・タイムとの間のデルタすなわち時間差が許可されたタイム・ウィンドウよりも少ない場合、ここでもまた要求は本物と見なされる(ブロック558を参照のこと)。ダイヤラー466によって送信されたカウントがこれら2つの条件を満たさない場合、トランザクション・サーバ468は認証要求を起こりうるリプレイ攻撃として拒否する(ブロック560を参照のこと)。トランザクション・サーバ468は、平文パスワードと共に認証要求を図9のローム・サーバ472に送信する。
【0065】
図8に示す実施形態では、トランザクション・サーバ468は顧客の秘密鍵の記録を維持し、したがって認証データの暗号解読は暗号解読サーバを規定することのできるトランザクション・サーバ468で行われる。しかし特定の顧客が、トランザクション・サーバ468のようないかなる仲介者にも自分の秘密鍵を提供することを希望しない場合がある。このような場合、顧客の秘密鍵はトランザクション・サーバ468には提供されないが、一般に企業内の位置にある顧客のローム・サーバ472には提供される。したがって、上記に加えて、または上記の代わりに、認証データの暗号解読は顧客のローム・サーバ472で上記の方法と同様の方法で行うことができる。暗号化機能を含むローム・サーバ472の一実施形態を図9に示す。
【0066】
特に図9を参照すると、参照番号570は、ローム・サーバ472によって実行される機能例を全般的に示す。この機能は図8の機能550に略類似しているので、同一または類似の機能を示すためには類似の参照番号を使用した。トランザクション・サーバ468が特定の顧客の秘密鍵にアクセスしない場合、トランザクション・サーバ468は必須のECC属性を認証要求パケットに追加し、それをローム・サーバ472に送信する(ブロック572を参照のこと)。ローム・サーバ472は、ローカルに記憶されているECC情報と秘密鍵を使用してパスワードとチェックサム文字を暗号解読する(ブロック552を参照のこと)。次いでローム・サーバ472は、カウントが有効であるか否かを判定するために上記と同様の機能テストを実行する(ブロック554〜560を参照のこと)。トランザクション・サーバ468がそのデータベースをカウントの最新値で更新することができるように(ブロック576参照のこと)、ローム・サーバ472は、暗号解読されたカウントを認証返信パケットに追加する(ブロック574を参照のこと)。カウンター機能を実施するためのテーブルの一例を以下に示す。
【0067】
dialer_counter_tsテーブルは、通常は複製用に使用される。このテーブルは各トランザクション・サーバ468で作成される。
【0068】
【表1】
【0069】
最後に使用された値は、通常、例えば「SESSION」マシン上のデータベース・インスタンスに記憶される。SESSIONマシンは、通常、トランザクション・サーバ468のdialer_counter_tsテーブルからエントリをプルし、それらを単一テーブルに蓄積するために使用される。SESSIONマシンは、トランザクション・サーバ468内のすべてのdialer_counter_tsテーブルに対応する一意のスナップショットの作成もする。これらのスナップショットは、通常、dialer_counter_ts<ServerId>と呼ばれる。ここでServerIdは、特定のトランザクション・サーバ468のidである。データベース・インスタンスの一例であるSESSIONは、故障耐性を強化するために両方の沿岸で2つの同一マシンにより作成される。
【0070】
【表2】
【0071】
各トランザクション・サーバ468は、通常、Oracleのスナップショットを使用してdialer_counterテーブルを複製する。本発明の本実施形態に適応するように標準システムがアップグレードされる場合、一般に以下の変更例が作成される。
【0072】
【表3】
【0073】
【表4】
【0074】
【表5】
【0075】
暗号化/暗号解読機能
図7から9を参照して上記で説明した本実施形態では、ダイヤラー466、トランザクション・サーバ468、およびローム・サーバ472は、ECCアルゴリズムを実施し、パスワードの暗号化と暗号解読のためにAPIを提供するECC APIを含む。通常、ECC実施態様は、暗号化/暗号解読のために最適な正規基底の数学を使用する。ある種の実施形態では、数学的反転の回数を1回の乗算の犠牲に縮小するように、多項式基底の数学と最適な正規基底の数学が組み合わされる。
【0076】
特に図10を参照すると、参照番号580は、ダイヤラー466の暗号化機能の一例を全般的に示す。ブロック582で示すように、暗号化アルゴリズムはECC曲線上にランダムな点を生成する。次いでこのランダムな点は、ECCストリングの一部<暗号化されたパスワード>を作るためにパスワードとチェックサム文字(ブロック584を参照のこと)を暗号化するために使用される。ダイヤラー466はランダムな点を暗号化し、それをネットサーバ470に送信する(ブロック586および587を参照のこと)。通常、この暗号化には後述するように記号変換方式が使用される。
【0077】
既存のプロトコル、例えばPPP、PAP、RADIUSなどに対応するために、パスワード・フィールドは印刷可能なUS−ASCII文字を有する。ある種の実施形態では、文字はRFC2486標準に準拠するような方法で生成される。これらの実施形態では、パスワードおよびチェックサム・フィールドが暗号化される際、標準プロトコルを使用しているネットワークに適用することができるようにストリングを許容可能な文字で生成するよう配慮がなされる(ブロック588を参照のこと)。したがって、この符号化を実行するために以下の文字変換方式を使用することができる。符号化されるべき各文字は、まず以下に示すテーブルに従う値にマッピングされる。
【0078】
【表6】
【0079】
マッピングされた値は次いでランダムな点の対応するバイトに加えられ、モデュラス95が計算される(ブロック590を参照のこと)。この結果、文字は上記テーブルの別の文字にマッピングされる。暗号解読サーバで文字を暗号解読するには、符号化された文字からランダムな点の対応するバイトが引かれ(図11のブロック581を参照のこと)、結果のモデュラス95が計算される(ブロック583を参照のこと)。結果が負の数である場合、オリジナルの文字を得るためにその結果に値95が加えられる(ブロック585を参照のこと)。一例として、「r」を符号化に使用されるランダムな点のバイトとし、「x」をオリジナルの文字として、
符号化:y=(x+r)%95
復号:x=(y−r)%95
(x<0)の場合、
x=x+95である。
【0080】
ダイヤラー466での暗号化プロセス中に、パスワード・フィールドとチェックサム文字はランダムな点で暗号化される。これらのフィールドのそれぞれは、符号化のためにランダムな点の異なるバイトの組を使用する。パスワード・フィールドは、その符号化のために第1のバイトの組を使用し、チェックサム・フィールドはその符号化のためにバイト10を使用する。
【0081】
ダイヤラーidとカウンター値の整合性を確認するためにチェックサム文字が使用される。ダイヤラーidとカウンター値が平文で送信される場合、悪意のある人物は、これらの値を変更して、リプレイ攻撃に対する保護を破ることができる。この問題に対処するため、チェックサム文字がダイヤラーidとカウンター値から生成され、その後、それはランダムな点を使用して符号化される(図12のブロック592を参照のこと)。暗号化されたチェクサム文字は次いで、ユーザidストリングの一部として送信される。
【0082】
チェックサム文字は、カウント値、ダイヤラーid、およびランダムな点のMD5ハッシュによって生成される(図12のブロック592および594を参照のこと)。次いで7ビットがハッシュから選択され、上記の符号化方法を使用してランダムな点からの単一バイトによって符号化される(バイト#10)(ブロック596を参照のこと)。符号化されたビットは次いで、暗号化された点の最後の7バイトに分散され(ブロック598を参照のこと)、ユーザのストリングの一部として送信される(ブロック599を参照のこと)。ダイヤラー466が符号化されたデータをトランザクション・サーバ468またはローム・サーバ472に送信する際、場合によっては、これらはチェックサムを独立して生成することによって(図8および9のブロック588を参照のこと)ダイヤラーidとカウンター値を検証し、それをダイヤラー466から送信されたチェックサムと比較し(ブロック590を参照のこと)、それらが一致しない場合には拒絶する。
【0083】
図10のダイヤラー466に戻ると、符号化されたストリングは次いで以下のように連結されてECCストリングを形成する。
<符号化されたパスワード><最後の7バイトにおける符号化されたチェックサム・ビットを有するランダムな点の暗号化され符合化されたx座標>
【0084】
その後、ダイヤラー466はECCストリングをダイヤラーidとカウンター値に連結し、それをPAPなどのプロトコルのユーザidとパスワード・フィールドで送信する。例えば<符号化されたパスワード><最後の7バイトにおける符号化されたチェックサム・ビットを有するランダムな点の暗号化され符号化されたx座標><ダイヤラーid><カウンター値>。
【0085】
図10で説明した方法は、そのようなストリング長を有する暗号化されたストリングを作り、暗号化されたストリングをLEGACYシステムを使用して通信することができるような性質を特徴として含むということに留意されたい。
【0086】
暗号化論理は、通常、以下の署名によってip_spap_暗号()メソッドにカプセル化される。
char*ip_spap_encrypt(const char*algorithm、const char public_key、const char password、const char*dialar_id、const char*counter、char**plain_point、char**encrypted_point、int*returnCode)
ここで、
algorithmは使用されるべきアルゴリズムである。SecurePAP public_keyの「S」はECC公開鍵(config.iniより)であり、
passwordは平文パスワードであり、
dialer_idはダイヤラーのidであり(ダイヤラーidサーブレットから取得)、
coutnerはダイヤル試行カウント(ダイヤル試行ごとにダイヤラーによって増分される)であり、
plain_point−このフィールドが空のままである場合は、新しいランダムな点が生成される。このフィールドは、戻る際に符号化するために使用されるランダムな点を指し示す。
encrypted_point−このフィールドが空のままである場合は、暗号化された点を生成するためにプレーンな点と公開鍵が使用される。このフィールドは、戻る際にメソッドが使用する暗号化された点を指し示す。
戻りコード0−呼が成功した場合、非ゼロ・コードが提供される。このメソッドは、成功の場合にはECCストリングを戻し、そうでない場合にはヌルを戻す。
【0087】
暗号解読論理はip_spap_暗号解読()メソッドにカプセル化される。この方法は以下の署名を有する。
char*ip_spap_decrypt(const char*algorithm、const char private_key、const char ecc_string、const char*dialar_id、const char*counter、int*returnCode)、ここで、
algorithmは使用されるべきアルゴリズムである。SecurePAP private_keyの「S」はECC秘密鍵(securepapテーブルまたはesp_key_pair.txtファイルより)であり、
ecc_stringは暗号()メソッドによって戻されるストリングであり、
dialer_idはダイヤラーのid(ダイヤラーidサーブレットから取得)であり、
counterはダイヤル試行カウント(ダイヤル試行ごとにダイヤラーによって増分される)であり、
戻りコード0−呼が成功した場合であり、そうでない場合は非ゼロ・コードである。
この方法は、成功の場合には平文パスワードを戻し、そうでない場合にはヌルを戻す。
【0088】
ダイヤラーのカスタマイゼーション形式
上述のように、顧客456は、SecurePAPを使用して通信するよう構成されたカスタマイズされたダイヤラーを要求するためにウェブ形式を使用する。このウェブ形式は、通常、必要なカスタマイゼーションを指定するために使用することのできるフィールドを含んでいる。このウェブ形式は、以下のフィールドの例を含むことができる。
SecurePAP暗号化をイネーブルする:(Y/N)
公開鍵:
鍵Id:(0−9)
【0089】
ダイヤラーのカスタマイゼーション・ツール
カスタマイゼーションプロセス中、アクセス・ブローカー・システム454の管理者は、SecurePAPを使用するダイヤラー466を生成するという選択肢を有している。イネーブルされた場合、以下のフィールドの例を、通常はダイヤラー466にパッケージされているconfig.iniに設定することができる。
[iPassなどの処理機能ID]
暗号化フラグ=yes
アルゴリズム=S
鍵のバージョン=0
公開鍵=BwAAAMGdqYx21xhWtEQMdDHhwvU=&AQAAAFdd40uLQMD1UTtyBqDHY=
【0090】
特定の顧客456の対応するダイヤラー466から送信されたパスワードをトランザクション・サーバ468が暗号解読できるように、これらの値はトランザクション・データベースにも記憶されている。本実施形態では、このファイルには公開鍵しか記憶されておらず、秘密鍵は暗号化の安全のために秘密にされる。
【0091】
SecurePAPをイネーブルすることに加えて、カスタマイゼーション・ツールは、使用されるアルゴリズムと鍵のバージョンを設定するという選択肢も提供する。例えば、以下の暗号化アルゴリズムをサポートすることができる。
暗号化しない場合にはA
楕円曲線暗号化の場合にはE
一意のセッションIDに適合するECCの場合にはS
一意のセッションIDの場合にはU
【0092】
実際には、Aは主としてテストおよびデバッグのためのものである。Eは、ダイヤラーがダイヤラーidを有しない場合にパスワードを暗号化するために使用される。Uは、暗号化アルゴリズムではないが、後で詳述するように一意のセッションidを識別するために使用される。鍵のバージョンは0から開始されるが、既存のダイヤラー・プロファイルに新しい鍵対が求められるたびに増分される。ダイヤラー466は、secure_papテーブルにECC鍵および他の情報を記憶する。次いでこのテーブルはOracleのスナップショットを介してトランザクション・サーバ468に複製される。秘密鍵が漏洩すると、新しい鍵対が生成される。秘密鍵の安全性が損なわれると、ダイヤラー・サポート・チームは以下の行動を取るべきである。
1.漏洩した鍵に対して適切な失効期日を設定する。漏洩した鍵を使用しているすべてのダイヤラー466がその鍵をもう1回だけ使用することができるよう保証するにはこれで十分であるはずである。ダイヤラー466は古い鍵を使用してインターネットに接続し、アップデート・サーバから新しい鍵を有するconfig.iniファイルを取り出す。顧客456がパスワードを暗号解読するためにローム・サーバ472を使用している場合、顧客456は、通常、失効期日以後はesp_key_pair.txtファイルから漏洩した鍵を手動で除去する。
2.新しい鍵対を生成するか、または新しい鍵対を生成するよう顧客456に要求し、公開鍵をアクセス・ブローカー・システム454に送信する。
3.DCTツールを使用し、公開鍵を置き換える(新しい鍵idを使用して)。ダイヤラーを構築する。
【0093】
ダイヤラー
ダイヤラー466は、パスワードを暗号化すべきか否かを判定するためにconfig.iniファイルをチェックする。SecurePAPがイネーブルされている場合、ダイヤラー466はconfig.iniファイルの公開鍵を使用し、ip_spap_暗号化()メソッドを呼び出すことによってパスワードを暗号化する。このメソッドはECCストリングを作成し、これを戻す。ダイヤラー466はECCストリングをダイヤラーidとカウンター値に連結する。ECCストリングの最初の16文字がパスワード・フィールドに置かれ、ストリング内の残りの文字はプレフィックス・フィールド(0Sまたは0Eプレフィックスと共に)に置かれる。ダイヤラー466はダイヤラーidを取得するまではアルゴリズム「E」を使用する。このプレフィックスは、すべてのシステムおよび経路指定プレフィックスの後、顧客のプレフィックスの前に含まれる。ダイヤルされているPOPが電話帳内のPAPプレフィックスに適合しないプレフィックスを有している場合、ダイヤラー466はパスワードを暗号化せず、SecurePAPプレフィックスを作成しない。暗号化プレフィックスを含むサンプルのユーザ名を以下に示す。
ユーザID:IPASS/0S Axrt50zTxca546hjdgkbxcjc?_d0we/joe@ipass.com
パスワード:x35〜!4Qu{xy71]D8
ここで、鍵のバージョン=0でありアルゴリズム=Sである。
【0094】
アクセス・ブローカー・システム454は、暗号化が必要ないと判定した場合、ダイヤラー・カウントから一意のセッションidを作成し、それをプレフィックス・フィールドに置く。一意のセッションidプレフィックスを含むサンプルのユーザ名を以下に示す。
ユーザID:IPASS/0UAxrt5AB2/joe@ipass.com
パスワード:thisisabigsecret
ここで、鍵のバージョン=0であり、アルゴリズム=Uである。
ダイヤラー466はそのローカル・ストレージにplain_pointと暗号化された点を記憶する。
【0095】
リダイヤルが試行された場合、ダイヤラー466はカウンターを増分し、プレーンな点と暗号化された点を使用してip_spsp_暗号化()メソッドを呼び出す。
【0096】
顧客ソリューション
顧客ソリューション・プロセスは[0−9][A−Z]*/形式のプレフィックスの有無をチェックする。そのようなプレフィックスが発見されず、顧客456がパスワードの暗号解読を要求しない場合、顧客ソリューションは正常に動作する。プレフィックスが発見された場合、最初のスラッシュ(/)までの後ろから8バイトが取り除かれ、一意のセッションidフィールドとして記憶される。顧客ソリューションコードは、0S<dialer_id><couter>というコンテンツを有する一意のセッションidフィールドを作成することができる。整数が取り除かれ、鍵識別フィールドとして記憶される。アルゴリズムが取り除かれ、別個のフィールドとして記憶される。
【0097】
ダイヤラー・カウンターの複製
図示する安全なPAPの実施形態は、リプレイ攻撃に対する保護のためにdialer_counterテーブルを使用する。各トランザクション・サーバ・データベースは、dialer_couner_tsテーブルを含んでいる。トランザクション・サーバ468は、SecurePAPプレフィックスを有する正常な認証要求を受信するか否かに関わらず、新しい行をこのテーブルに挿入する。この行の内容は、server_id、dialer_id、カウンターおよびシステム・タイム(GMTで)を含む。
【0098】
SESSIONデータベースは、すべてのトランザクション・サーバ468でのdialer_counter_tsテーブルに対するスナップショットを含んでいる。これらのスナップショットは、通常、dialer_counter_ts<SERVER_ID>と呼ばれる。ここで、<SERVER_ID>は特定のトランザクション・サーバ468のidである。
【0099】
トランザクション・サーバ468からのスナップショットをリフレッシュするために「リフレッシュ」ツールが提供される。dialer_counter_ts_<SERVER_ID>は、挿入されているカウンターの値がdialer_counterテーブルのカウンターの値と等しいかまたはそれよりも大きい場合、挿入される行のdialer_id、カウンター、およびaccess_timeをdialer_counterテーブルに更新/挿入する「ON INSERT」PL/SQLトリガーを有する。トランザクション・サーバ468は、SESSIONデータベースのdialer_counterスナップショットをリフレッシュするためにリフレッシュ・ツールを使用する。次いでdialer_counterテーブルは、より高速なアクセスのためにトランザクション・サーバ468によりキャッシュされる。実行中にdialer_counterテーブルの記録に何らかの変更が加えられた場合、その影響は即座に現れる。これは、データベース・トリガーとchache_updateテーブルを使用するアクセス・ブローカー・システム454の他の構成要素で使用されているのと同じ機構を使用することによって達成される。
【0100】
トランザクション・サーバ
起動時、効率的なルックアップのためにアクセス・ブローカー・システム454は、データベースのすべての秘密鍵をローカル・キャッシュに読み込む。これは、特定の顧客456がパスワードの暗号化を要求しているか否かを示すために顧客のキャッシュに追加の属性も有する。トランザクション・サーバ468は、dialer_counterテーブルもキャッシュする。実行中にこれらのテーブルに何らかの変更が加えられた場合、その影響は即座に現れる。これは、データベース・トリガーとchache_updateテーブルを使用するアクセス・ブローカー・システム454の他の構成要素で使用されているのと同じ機構を使用することによって達成される。
【0101】
暗号化されたプレフィックス・フィールドが「S」アルゴリズムを指定する場合、トランザクション・サーバ468はパスワード・フィールドの内容を、顧客ソリューション・プロセスによって構築された暗号化されたプレフィックス・フィールドに連結し、「ECCフィールド」を作成する。ECCフィールドは以下を含んでいる。
<符号化されたパスワード><ランダムな点の暗号化され符号化されたx座標><符号化されたチェックサム文字>
【0102】
トランザクション・サーバ468は、鍵インデックスを使用して適切な顧客456に対する秘密鍵を探し出す。秘密鍵がデータベースで発見された場合、パスワードを暗号解読し復号するためにトランザクション・サーバ468はip_spap_暗号解読()メソッドを呼び出す。次いでパスワード・フィールドはローム・サーバ472に送信される前に平文パスワードによって上書きされる。
【0103】
秘密鍵がキャッシュで発見されない場合、トランザクション・サーバ468は、通常、認証要求パケットに以下のフィールドを付加し、それをローム・サーバ472に送信する。そのフィールドとはすなわち、アルゴリズム、鍵インデックス、ECCフィールド(パスワードとして)、ダイヤラーid、カウンター、最後に使用されたカウンターの値およびアクセス・タイム(データベースから)、および「yes」に設定された「decrpt_at_roamServer」フラグである。
【0104】
次いでトランザクション・サーバ468は、認証の細目をip_auth_transテーブルに、dialer_counterの細目をdialer_counter_tsテーブルに記憶する。トランザクション・サーバ468は、通常、挿入が更新よりも一般に高速の場合にはいつでも新しいdialer_counter_ts記録を挿入する。
【0105】
トランザクション・サーバ468は、アカウント要求を受信すると、一意のセッションidを作成するために顧客ソリューション・プロセスを使用し、それをパケットに「ipass_session_id」として付加する。tr_useridフィールドは、raw_useridを含んでいる。
【0106】
ESPツール
公開/秘密鍵対を生成し、暗号化アルゴリズムと暗号解読アルゴリズムをテストするために、顧客456はそのローム・サーバ472、DCTチーム、およびQAチームと共にESPコマンド行ツールを使用する。
esp_genkey(ローム・サーバ472を有する顧客456の場合)
【0107】
このツールは、esp_key_pair.txtと呼ばれるファイルに公開/秘密ESP鍵対をプリントする。このファイルは、Unixの/usr/ipass/keysディレクトリとWindows(登録商標)用のIPASS_HOME/keysディレクトリに常駐する。ダイヤラー466を公開鍵で構築することができるように、鍵はアクセス・ブローカー・システム454に、例えば安全なウェブサイトを介しても提出される。通常、秘密鍵の安全なバックアップも維持される。
esp_genkey_dct:
【0108】
このツールは、公開/秘密ESP鍵対を標準出力にプリントする。これはDCTの要件を満たす形式でプリントされる。出力例を以下に示す。
1
公開
鍵:BgAYVK1azUt8comk41GzLw=&ADIkGfMgNChM4vY6+nLgTqo=
秘密鍵:AQAAAAZOSNH13PaG3NuqGbU7TY0=
【0109】
最初の行は、鍵の生成が成功したことを示す「1」を含んでいる。エラーが発生した場合、出力は「0」の値を有する。
esp_qa:
このツールは、ECC APIをテストするために使用可能な複数のコマンド行の選択肢を有している。サポートされる選択肢のサンプルの一例を以下に示す。
esp_qa genkey
esp_qa encrypt[−a<algorithm>−d<dialer_id>−c<counter>]−k<public_key>−t<text>
esp_qa decrypt[−a<algorithm>−d<dialer_id>−c<counter>]−k<private_key>−t<text>
esp_qa testipg[−a<algorithm>−d<dialer_id>−c<counter>]−k<public_key>−t<text>−u<uid
@domain>
esp_qa test −t<text>
括弧[]内の選択肢は任意選択である。各esp_qaコマンドは以下のように記述される。
genkey−公開/秘密鍵対を生成する。
encrypt−所与のpublic_keyによってテキスト(パスワード)を暗号化する。
decrypt−所与の秘密鍵によってテキスト(パスワード)を暗号解読する。
testipg−「暗号化」を実行し、次いで所与のユーザに対してcheck−ipenコマンドを実行する。
test−基本的なECC APIテスト。アルゴリズムSに対してgenkey、encrypt、およびdecryptを実行する。
【0110】
ローム・サーバ
ローム・サーバ472は、通常、トランザクション・サーバ468から受信したパケットの「decrypt_at_roamserver」フィールドの有無をチェックする。このフィールドがある場合、ローム・サーバはパケットの「鍵インデックス」フィールドを使用し、esp_key_pair.txtファイルの秘密鍵をフェッチする。秘密鍵、ダイヤラーid、およびカウンター値を有するECCストリングが、ip_spap_暗号解読()メソッドに送られる。ip_spap_暗号解読()メソッドは、このパスワードを復号し暗号解読する。次いでユーザを認証するためにローム・サーバ472によって平文パスワードが使用される。
【0111】
図6に戻り、ダイヤラー466が一度上記の方法を実行すると、認証データは、遠隔ISP506の認証サーバ600に送信された後でNAS532に通信される。動作の正規のコースでは、遠隔ISP506のNAS532は提供された認証情報を拒絶する。しかし図6に示すように、ネットサーバ470は、この認証情報を正規のユーザ要求ではなくローミング・ユーザの認証要求として認識することを容易にするために認証情報を代行受信する。
【0112】
認証サーバ600は、ネットサーバ470と共に、ローミング・ユーザ502に関連付けられたローミング・ドメイン名または経路指定プレフィックスを決定するために、受信した認証情報を構文解析する。そのようなドメイン名またはプレフィックスが存在する場合、ユーザの認証情報は上記のように暗号化され、ネットサーバ470からセキュア・ソケット・レイヤ(SSL)を介してトランザクション・サーバ468に送信される。
【0113】
トランザクション・サーバ468は、要求を経路指定するためにセッションIDの顧客経路指定プレフィックスを使用することができる。代わりに、トランザクション・サーバ468は、インターネット・プロトコル(IP)ルックアップを実行することができ、認証要求を適切なホームISP504に経路指定する。より具体的には、トランザクション・サーバ468は、遠隔ISP502のネットサーバ470から暗号化された認証要求を受信し、この要求を図7から9を参照して上記で説明したように暗号解読する。次いでトランザクション・サーバ468は、所望のホームISP504のローミング・ドメイン名または経路指定プレフィックスを参加者ドメイン名およびIPアドレスの現行リストと照合することによって「ホーム」ISP504を決定する。照合が成功した場合、認証要求は暗号化され、ホームISP504に常駐しているローム・サーバ472にSSLを介して送信される。識別されたローム・サーバ472が指定期間内に応答しない場合、トランザクション・サーバ468は、関連ドメインのISPの代替ローム・サーバ472に接触するよう試みる。
【0114】
次いでホームISP504のローム・サーバ472は、上記のようにトランザクション・サーバ468から送信された認証要求を暗号解読し、その認証要求をホームISPの正規の認証サーバ602に、あたかもそれが顧客プレフィックスを使用するホームISP504の所有するターミナル・サーバまたはNAS532であるかのように提出する。ホームISP504の認証サーバ602は、その要求に応えて、認証要求に含まれるユーザ名およびパスワードの有効性に基づいて「アクセス許可」または「アクセス拒否」応答を提供する(図8を参照のこと)。ホームISPの認証サーバ602からの応答は、ローム・サーバ472によって受信され、暗号化され、トランザクション・サーバ468に送信されて戻される。
【0115】
一意のセッションID
複数のトランザクション・データ記録を関連付ける方法およびシステムの一例を以下に示す。この方法およびシステムは、通常上記の暗号化/暗号解読方法と共に使用される一意のセッションidの生成および使用を記載する。
【0116】
上記のように、ポイント・ツー・ポイント(PPP)、パスワード認証プロトコル(PAP)、チャレンジ・ハンドシェーク認証プロトコル(CHAP)、遠隔認証ダイヤルイン・ユーザ・サービス(RADIUS)プロトコル、ターミナル・アクセス・コントローラ・アクセス制御システム(TACACS)プロトコル、ライトウェイト・ディレクトリ・アクセス・プロトコル(LDAP)、NTドメイン認証プロトコル、Unixパスワード認証プロトコル、ハイパーテキスト転送プロトコル(HTTP)、セキュア・ソケット・レイヤを介したハイパーテキスト転送プロトコル(HTTPS)、拡張認証プロトコル(EAP)、転送レイヤ・セキュリティ(TLS)プロトコル、トークン・リング・プロトコル、およびセキュア遠隔パスワード・プロトコル(SRP)などのような通信プロトコルは、ユーザIDストリングに備える。それぞれの異なるプロトコルが許可する文字のサイズまたは長さは異なる場合があるが、上記に列挙したプロトコル例がサポートするサイズの最小共通分母は通常は約63文字である。この場合、一意のユーザ・セッションIDを提供することによって、認証、アカウンティング、およびSQM処理が強化される。
【0117】
例示のマルチパーティ・サービス・アクセス環境450に対する上記プロトコルの適用にはユーザIDストリングが含まれおり、したがってこれは様々な参加者が生成したすべての関連するトランザクション・データ記録、例えばトランザクション・サーバ468、サービス・プロバイダ452、および顧客456に共通している。しかしある種の環境では、それらのプロトコルで使用されている従来技術のユーザIDストリングはマルチパーティ・サービス・アクセス環境450の特定のユーザに一意に関連付けることができるが、特定の単一ユーザ・セッションには一意に関連付けられない。例えばネットワーク・タイムアウトおよびパケット再試行アルゴリズムが原因で、単一トランザクション・データ記録がトランザクション・サーバ468に複数回送信され、それらの記録のどれか1つまたは複数が不良である場合、同一の単一ユーザ・セッションに関連する記録の複数のインスタンスが設定システム474に存在する場合がしばしばある。さらに、認知された失敗した通信の試行を再送する試みにおいて、ある種のNAS470(図6を参照のこと)は実際にユーザ・セッションIDストリングを変更し、その結果、同一の単一ユーザ・セッションに対して異なるトランザクション・データ記録が生じることになる。上記説明は、不十分なアカウンティング記録の2つの例にすぎないが、多数の他の状況があるということが理解されよう。
【0118】
本発明の別の実施形態によれば、単一ユーザ・セッションに応答して生成された関連トランザクション・データ記録は、共通の一意のセッションIDを含む。場合によっては、このセッションIDは、個々のユーザの使用情報の強力だが必ずしも絶対的ではないIDを提供する場合があり、この一意のユーザ・セッションIDは少なくともある種のパラメータ内では一意であるべきである。例えば、所与の期間中に生成されたすべての記録を、一意のユーザ・セッションIDを使用して関連付け、処理することができるように、一意のユーザIDはその所与の期間だけは一意であってよい。
【0119】
通常、上記のプロトコル例の場合、ユーザIDストリングは、ネットワークにアクセスしているユーザのユーザ名とパスワードだけでなく、顧客領域を含む経路指定情報を含む。例示のマルチパーティ・サービス・アクセス環境450で使用されるユーザIDまたはIDストリングは、通常は以下に示す通りである。
<FacilityRoutingPrefix>/[<FacilityLocationPrefix>]/[<CustomerRoutingPrefix>]/[CustormerPrefix(s)]/<EndUserName>@[<NonRoutingCustomerDomain>]|[<CustomerRoutingDomain>]
ここで、
<FaclityRoutingPrefix>は、トラフィックをアクセス・ブローカー・システムまたはファシリティ454のネットワークに経路指定するためにISP458、無線アクセス・プロバイダ460、コンテンツ配信プロバイダ462、電子商取引プロバイダ464など(アクセス・プロバイダ)が使用する独自開発のプレフィックスである。
<FacilityLocationPrefix>は、ファシリティ454にアクセスを提供する点またはノードの位置を決定するためにファシリティが使用するプレフィックスである。
<CustomerRoutingPrefix>は、トラフィックを顧客のサイトに経路指定するためにアクセスまたはサービス・プロバイダ452が使用するプレフィックスである。
<CustormerPrefix(s)>は、内部経路指定のために顧客456が使用するプレフィックスである。
<EndUserName>は、ファシリティ454を使用しているエンド・ユーザ502のログイン・ユーザ名である。
<CustomerRoutingDomain>は、トラフィックを顧客のサイトに経路指定するためにシステム454が使用するドメインである。ユーザIDストリングは<CustomerRoutingPrefix>または<CustomerRoutingDomain>を含む。
<NonRoutingCustomerDomain>は、内部経路指定のために顧客456が使用するドメインである。
【0120】
次に、一意のセッションIDを上記プロトコルの1つのプロトコルのユーザIDフィールドに適合させる実現可能な方法の一例を説明する。しかし一意のセッションIDを含めることを他の方法で実施することができるということが理解されよう。ダイヤラーがパスワードの暗号化にEタイプのアルゴリズムを使用する場合、代わりの解決法の例が実施される。Eタイプのアルゴリズムは、ユーザ名の暗号化されたランダムな点を含む。暗号化されたランダムな点は、個々のユーザ・セッションの強力だが必ずしも絶対的ではないIDを提供し、したがって一意のセッションidとして使用される。
【0121】
上記のように、例示のプロトコルがサポートする独自開発の情報に対する最小共通分母の使用可能なストリング長は、通常、約63文字である。一意のセッションidはユーザ名フィールドが科す制限内に適合すべきである。
【0122】
一意のセッションIDを生成するために(図20のブロック802を参照のこと)、各サービス・プロバイダ452に常駐する接続ダイヤラーの一形態である接続アプリケーション466は、アクセス・ブローカー・システム454のウェブ・サーバ806のサーブレットから接続アプリケーション466を識別するダイヤラーIDを取得する(図15を参照のこと)。ダイヤラーIDは、通常、一意のダイヤラーIDでもある。ダイヤラーIDは、ユーザ優先ファイルに記憶されており、ダイヤラーが最初にインストールされた際には、ユーザ優先ファイルのダイヤラーIDは通常は空である。ダイヤラー466が最初に、例えばインターネットに接続した時点では、ダイヤラー466は、通常、ウェブ・サーバ806に新しいダイヤラーIDを要求する(ブロック800を参照のこと)。図示する実施形態では、ダイヤラーは、ウェブ・サーバ806から一意のダイヤラーIDを取得するまでは一意のセッションIDを作成しない。したがって、ダイヤラーIDが一意のセッションIDの一部を構成している本実施形態では、ダイヤラー466からの最初の正常なセッションは一意のセッションIDを含んでいない。しかしダイヤラー466は、いかなる後続の試行に対してもそのダイヤラーIDを有する。
【0123】
ダイヤラー466は、固有のダイヤラーIDに加え、内部的に維持され、ユーザ優先ファイルに記憶されているカウンター467も含む。カウンター467はダイヤル試行のたびに増分される(ブロック802を参照のこと)。ダイヤラー466は、ダイヤラーIDとカウンターを使用して本実施形態では11文字で定義される(図18を参照のこと)セッションIDインジケーターを後続のダイヤル試行のたびに生成する。カウンター467がダイヤル試行のたびに増分されるので、ダイヤラーは大域的に一意のセッションIDである<dialer id><counter>を生成する(ブロック802を参照のこと)。本実施形態では、セッションIDには、識別子、例えばユーザIDストリングがローミング・サーバ472に渡される前にトランザクション・サーバ468によって取り除かれた、ファシリティまたはアクセス・ブローカー・システム454に関連付けられた「OU」などの3文字によってプレフィックスが付けられる(図5を参照のこと)。したがって、一意のセッションIDに11文字が含まれる場合、8文字はダイヤラーIDとカウンター用に使用可能であるということになる。
【0124】
例示のダイヤラーIDとカウンターの両方が基数64を有する数を使用する。この番号付け方式に使用される記号はA〜Z、a〜z、0〜9、&および?を含む。カウンター467は、各ダイヤルの試行以前に増分され、ダイヤラーIDは0で事前充填され、本実施形態では5桁の入力によって定義される。したがって、カウンター467用には3桁が残っている。したがって、ダイヤラーID用に使用される5桁は1073741824(十億以上)の一意のダイヤラーのインストールを可能にし、3桁のカウンターは262144のダイヤル試行を可能にする(一日あたり20の試行と仮定して、カウンターは23年後にリセットされることになっている)。したがってこの期間中、セッションIDは各ユーザ・セッションを一意に定義することになる。しかし、一意のセッションIDに割り振られ、または使用される文字数は、システムが対応するプロトコルの1つまたは複数のタイプによってシステムごとに異なる場合があるということを理解されたい。
【0125】
トランザクション記録の処理
図14は、アクセス・ブローカー・システム454が役立つ場合がある、本発明の一実施形態によるアカウンティングおよび設定手順を示すブロック図である。
【0126】
ローミング・ユーザ502が遠隔ISP506に接続する際、セッションを管理しているターミナル・サーバ(またはNAS)470は、ユーザIDストリングを含むトランザクション・データ記録、つまり11文字の一意のセッションIDを生成し、この情報を認証サーバ600に送信する。認証サーバ600は、ネットサーバ470と共にローミング・ユーザに関連付けられたローミング・ドメイン名とプレフィックスを決定するためにアカウンティング情報を構文解析する。そのようなドメイン名またはプレフィックスがある場合、ユーザのアカウンティング情報はRSAデータ・セキュリティーズからのアルゴリズムを使用して暗号化され、ネットサーバ470からセキュア・ソケット・レイヤ(SSL)を介してトランザクション・サーバ468に送信される。
【0127】
ローミング・ユーザ502が遠隔ISP506から切断する際、セッションを管理しているターミナル・サーバ(またはNAS)470は、ユーザIDストリングを含むトランザクション・データ記録、つまり11文字の一意のセッションIDを生成し、この情報を認証サーバ600に送信する。認証サーバ600は、ネットサーバ470と共にローミング・ユーザに関連付けられたローミング・ドメイン名とプレフィックスを決定するためにアカウンティング情報を構文解析する。そのようなドメイン名とプレフィックスがある場合、ユーザのアカウンティング情報はRSAデータ・セキュリティーズからのアルゴリズムを使用して暗号化され、ネットサーバ470からセキュア・ソケット・レイヤ(SSL)を介してトランザクション・サーバ468に送信される。
【0128】
トランザクション・データまたはアカウンティング記録は、アカウンティング情報がデータベースに記憶されている場合に、SSLを利用しているトランザクション・サーバ468に略リアルタイムで通信される。マルチパーティ・サービス・アクセス環境450のすべての様々な構成要素または参加者は、ユーザIDストリング、つまり一意のセッションIDを受信するが、これはトランザクション・データ記録が設定システム476に送信される際に、単一ユーザ・セッションに関連付けられたトランザクション・データ記録に付随する。したがって、様々な異なる参加者から送信されたトランザクション・データ記録は、それら自体が発生する元になった単一ユーザ・セッションを識別する識別子を含む。
【0129】
これらのアカウンティング情報は、通話詳細記録(CDR)を作るために設定システム476によってさらに処理される。各通話詳細記録は、関連サービス・アクセスが行われた場合にローミング・ユーザ502の識別に関する詳細な使用報告と、サービス・アクセスの位置と、各サービス・アクセス・セッションの長さおよびコストと、サービス・アクセスの時間(例えばローカル時間またはGMT時間)とを提供する。
【0130】
複数のトランザクション・サーバ468は、アカウンティングまたはトランザクション・データ記録を設定システム476に提供し、設定システム476はこれらの記録を利用して顧客456に対する請求書(またはインボイス)を作成し、サービス・プロバイダ504への支払いを行う。しかし、トランザクション・サーバ468に送信されたアカウンティング情報は、様々な理由から、不完全であり、あるISPと次のISPでは異なり、複数回送信される、などの可能性があるということを理解されたい。したがって、同一の単一ユーザ・セッションに関する様々な異なる、また不完全である可能性のある記録が、トランザクション・サーバ468によって受信される場合がある。
【0131】
当然ながら、特定のユーザ・セッションから発生するすべてのトランザクション・データ記録を識別または関連付けることは、設定システム474が請求書を作成し、それらを顧客456に分配し、その結果、顧客456が設定システム474に支払うことができ、同様に自身の顧客に対しても適宜請求書を作成することができるという点で有利である。同様に、設定システム474は、ローミング・ユーザが使用する利益を生むアクセス・タイムに関して遠隔(またはビジター)ISPまたは他のサービス・プロバイダ452に対して支払いを行う。設定システム474は、ローミング・ユーザが認可した使用に対する支払いもさらに保証することができる。したがって設定システム476の運営者は、複数の関係者間でサービス・アクセス・トランザクションの金銭上の決済を容易にするための機構を提供する安全で信頼性のあるエンティティとして動作する。設定システム476は、タイムリーで自動的かつ便利な方法で設定を可能にするために多数の自動機能および動作を実現する。そのような設定またはサービス・アクセス・トランザクションを容易にする設定システムの動作に関するさらなる詳細について以下で説明する。
【0132】
物理的アーキテクチャ
図15は、本発明の一実施形態によるアクセス・ブローカー・システム454の物理的アーキテクチャを示す図である。複数のトランザクション・サーバ468は、それぞれが関連するデータベース812にアクセスする1つまたは複数のサーバ・マシン810に常駐しているように示されている。サーバ・マシン806に常駐しているウェブ・サーバと電話帳サーバは、遠隔内部ユーザ814および顧客456によってアクセス可能である。ウェブ・サーバは、ウェブ・ページ(例えばHTML文書)を生成し、遠隔内部ユーザ814と顧客456の両方に配信するように動作する。上記のように、本発明の一実施形態では、マシン806に常駐しているウェブ・サーバ上のサーブレットは、一意の接続アプリケーションIDをダイヤラーIDの一例である形態で、サービス・プロバイダ452に常駐している各ダイヤラーまたは接続アプリケーション466に提供する。電話帳サーバ(電話帳管理システム480の一部)は、顧客452の電子電話帳を維持・更新するように動作し、したがってサービス・プロバイダ452への/からの更新を受信/発行し、そのような更新を顧客456に発行する。
【0133】
設定システム476および内部ユーザ816の集合は、ファイヤーウォール818の背後に常駐しているように示されている。具体的には、設定システム474は、中央データベース822にアクセスする1つまたは複数のサーバ・マシン820上のホストとなる。
【0134】
概要−設定システム
図16は、本発明の一実施形態による設定システム474のアーキテクチャを示すブロック図である。設定システム474は、バックエンド・アプリケーション824、フロントエンド・アプリケーション826、データ蓄積/報告アプリケーション828、およびシステム・インターフェース830を含んでいる。
【0135】
バックエンド(またはサーバ側)・アプリケーション824は、トランザクションの価格を設定し、1つのトランザクションに関与するすべての関係者の残高を更新し、信用限度を検証する設定アプリケーション832と、アカウンティング・サイクルを終了し、定期料金を適用し、インボイスおよび通話詳細記録(CDR)を含む請求書報告を生成し、請求書報告をウェブに発行する請求書作成アプリケーション834と、ビジネス・ルールと中央データベース822の構造上の保全性とを検証する監査アプリケーション836とを含むように示されている。設定アプリケーション832は、柔軟な価格設定エンジン476を実施するように示されている。
【0136】
本実施形態では、設定アプリケーション832は、正規化機能、集計機能、および検証機能を担当する。正規化機能には、複数のトランザクション・サーバ468から受信したアカウンティング・データを請求書作成のために使用される単一形式CDRに変換すること、サービス・アクセス・トランザクションに関与する関係者を識別すること、および特定のサービス・アクセス・トランザクションに関してアクセス・ブローカー・システム454がプロバイダ452に対して支払い義務のある価格と顧客456がアクセス・ブローカー・システム454に対して支払い義務のある価格とを定義することが含まれる。集計機能には、サービス・アクセス・トランザクションに関与するすべての関係者について購入価格と販売価格を残高に記入すること、および適切な残高を更新することを必要とする。検証機能には、信用限度の検証が含まれる。
【0137】
設定システム474は、プロバイダ452と顧客456の両方による略リアルタイムの収入/勘定追跡を可能にするサービス・アクセス・トランザクションの略リアルタイムの設定を提供するよう動作する。
【0138】
本発明のある種の実施形態では、設定システム474は、以下の特徴を有する柔軟な価格設定モデルをサポートする柔軟な価格設定エンジン476を含む。
1.顧客456、サービス・プロバイダ452、サービス・アクセスの位置、サービス・アクセスの種類(例えばダイヤルアップ・モデム、ISDN、DSL)、または特定の顧客456について特定周期中に蓄積された使用量などによって異なる多彩なデータ構造。
2.(a)使用量による(例えば速度およびセッションの長さに応じた)価格設定、(b)トランザクションによる(トランザクションあたりいくらという)価格設定、および(c)加入ベースの、すなわち均一な価格設定(例えば顧客456に対する1回の請求書作成周期中の全使用量に対する1つの価格、または請求書作成周期中の顧客に対するユーザごとの1つまたは複数の価格)。
3.申し込まれた割引および販売促進。
4.開業料金、月次料金、および最低月次手数料のような様々な料金。
5.マルチティアの価格設定方式、または内部プロバイダ・ローミング。ここで特定の位置に関する買い相場と売り相場はプロバイダ452によって異なり、またサービス・アクセスのサービス・ユーザ/顧客456がさらに別の顧客456、その提携者、またはそれらの顧客に属しているか否かによって異なる。
【0139】
この柔軟な価格設定エンジン476はデータベース主導によるものであり、したがって適切な計画を中央データベース822内で維持されている価格設定テーブル(図示せず)にロードすることによって新しい価格設定モデルの実施を可能にしている。より具体的には、柔軟な価格設定エンジン476は、マルチティアの価格設定モデルに役立ち、それによって単一サービス・アクセス・トランザクションに対する相場は、複数の基準によって消費者(または顧客)の複数のティア(tier)全体に適用することができる。これらの基準には、特に、使用量(例えば蓄積された使用時間または値の合計)による価格設定、およびトランザクション(例えば蓄積されたトランザクションの合計数)による価格設定の任意の組み合わせを含めることができる。
【0140】
図16およびフロントエンド・アプリケーション826に戻ると、データ管理アプリケーション838は、ビジネス・プロセスを実行し、情報目的でデータを閲覧するためにアクセス・ブローカーの様々な機能ユニットによって使用される。この目的で、データ管理アプリケーション838は、顧客456およびアクセス・ポイントに関する情報を管理し、アカウンティング機能および経営管理機能を実行するために様々なユーザ・インターフェースを提供することができる。
【0141】
注文処理アプリケーション840は、新しい法人顧客に注文を出すために顧客456(例えばソリューション・パートナー488または再販業者)にユーザ・インターフェースを提供する。
【0142】
データ蓄積/報告アプリケーション828は、運営報告、機能報告、およびネットワーク・ロード報告を可能にするように日毎、または月毎にデータを集計する複数の処理を含む。
【0143】
システム・インターフェース830は、トランザクション・サーバ・ローダー842、プロバイダ・ローダー844、およびアカウンティング・システム・インターフェース(図示せず)を含むローダー・アプリケーションを有する。まずトランザクション・サーバ・ローダー842を扱うことによって、「データ・ローダー」構成要素は、それぞれのトランザクション・サーバ468のデータベース812から中央データベース822に、一意のセッションIDを含めてトランザクション・データ記録の形式でアカウンティング記録を処理するためにプルする。複数のトランザクション・サーバまたはバッチ・ローダー842は、分散型データベース・リンクとして実施することができ、アカウンティングまたはトランザクション・データ記録は略リアルタイムでローダー842を介してプルされる。
【0144】
概要−データ・モデル
図17Aは、顧客テーブル846、アクセス・ポイント・テーブル848、価格設定テーブル850、CDRテーブル852、アカウンティング・テーブル854、認証トランザクション記憶領域またはテーブル856、バッチ履歴記憶領域またはテーブル858、およびSQM記憶領域またはテーブル860を含むデータ・モデル例845を示すブロック図である。
【0145】
アクセス・ブローカー・システム454のネットワーク構成要素は、ある種の実施形態では、トランザクション・データ記録から経路指定プレフィックスを取り除くことができる。これらの構成要素のいくつかは、ユーザIDストリングの末尾を切り捨てることもできる。一意のセッションidプレフィックスは、経路指定プレフィックスではなく、またユーザ名の末尾にあるわけでもないので、取り除かれることも末尾が切り捨てられることもない。したがってユーザIDストリングは、それがユーザ・セッションを一意に定義するよう使用される前にこれらの欠点を除去するために処理される。変更されたユーザ・セッションIDは、使用可能な以下の構成要素の多くを使用して構築される。
<AuthCustomerId>/<UniqueID>/[CustomerPrefix(s)]/<EndUserName>@<NonRoutingCustomer Domain>
ここで、
<AuthCustomerId>は、顧客ソリューション・プロセスによって作られた認証顧客IDである。
<UniqueID>は、上記のような接続アプリケーション466によって生成された一意のセッションIDコード、0Uxxxxxxxx/、プレフィックスである。
<CustomerPrefix(s)>は、上記のような内部経路指定のために顧客が使用するプレフィックスである。
<EndUserName>は、上記のようなアクセス・ブローカー・システム454に接続しているエンド・ユーザのユーザIDである。
<NonRoutingCustomerDomain>は、上記のような内部経路指定のために顧客が使用するドメインである。
【0146】
特に図17Bを参照すると、プロバイダ・ローダー844は、一意のセッションIDを含む通話詳細記録(CDR)またはトランザクション・データ記録をプロバイダ452からバッチ形式で受信する。CDRデータはプロバイダ・ローダー844によって処理される。プロバイダ・ローダー844は適切なFTPサイトからデータを取り出し、それをトランザクション・サーバ468から受信したデータと同じ形式に変換することができる。具体的には、トランザクション・サーバ468は、ユーザ・アクセス・セッションが上記のように認証されるたびに変更されたユーザ・セッションIDを構築し、それを認証トランザクション・テーブル856のsession_idフィールドに、またアカウント・トランザクション・テーブル854のsession_idフィールドに記憶する(図17Aを参照のこと)。認証トランザクション・テーブル856に記憶されている変更されたセッションIDごとに、対応するトランザクション・データ記録は、処理するために設定システム474によって受信されるべきであるということが理解されよう。トランザクション・サーバ468と類似の仕方で、バッチ・ローダー842、844はそれぞれに、サービス・プロバイダ452のトランザクション・サーバ468から受信した各トランザクション・データ記録から変更されたトランザクション・データ記録を組み立て、または構築する(図5および17Bを参照のこと)。ローダー842、844からの変更されたセッションIDは、バッチ履歴テーブルのsession_idフィールドに記憶される。同様にして、SQMプロセスは、変更されたセッションIDを構築し、それをSQMテーブル860のsession_idフィールドに記憶する。
【0147】
一意のコードを含めて一意のセッションIDの使用は、以下の問題に対処する際に使用することができる。
【0148】
欠落したアカウンティング記録
欠落したアカウンティング/トランザクション・データ記録(図19のブロック862を参照のこと)は、配信の失敗、変形した記録、誤った経路指定など様々な理由で発生する可能性がある。配信の失敗は、ISPからのインターネット接続(例えば図6のネットサーバ470)が中断され、したがって設定システム476へのトランザクション・データ記録の配信がブロックされた場合に発生する可能性がある。数分以上の長期にわたって続く接続の停止は、通常、最低限の送信再試行機能が原因でネットサーバ476にトランザクション・データ記録を破棄させることになる。RADIUSプロトコルを使用する際、変形した記録は、通常、サービス・プロバイダの認証サーバを含めて複数の中間点のどこでも破棄される(例えば認証/認可サーバ602またはネットサーバ470(図6を参照のこと))。誤って経路指定された記録は、偶然または不正な目的でISP認証サーバ602の構成が不適切であるために送信されない記録である。
【0149】
ユーザによるすべてのアクセス・セッションは最初に認証を必要とするので、認証トランザクション・テーブル856の各session_idフィールドはacct_transテーブルに対応するsession_idフィールドを含むべきである。したがって、session_idフィールドを関連付け、照合し、相関関係を証明し、精査することにより、欠落したアカウンティング/トランザクション・データ記録を決定することができる。図示する実施形態では、欠落したアカウンティング/トランザクション・データ記録は、通常、認証トランザクションすなわちauth_transテーブル856に認証要求記録を有するが、アカウンティングすなわちacct_transテーブル854には一致するアカウンティング開始および/またはアカウンティング停止記録は有しない。したがって、auth_transテーブルの各session_idフィールドに対応するacct_transテーブルのすべてのsession_idフィールドを検索することによって、欠落したアカウンティング/トランザクション・データ記録を発見することができる(ブロック864〜872を参照のこと)。
【0150】
不適切なアカウンティング記録
不適切なアカウンティング/トランザクション・データ記録は、一般に図6のサーバ600などのプロバイダの認証サーバ(AAAサーバ)の不適切な構成が原因で設定システム474(図6を参照のこと)によって受信される場合がある。不適切な構成により、通常、プロバイダの認証サーバ600は、すべてのアカウンティング/トランザクション・データ記録をユーザ・アクセス・セッションの認証を担当するプロキシだけにではなく、すべてのプロキシに送信することになる。この場合、不正確な受信者のauth_transテーブルにはsession_idフィールドがまったくない。これらのアカウンティング/トランザクション・データ記録は、通常、対応する認証記録を有していないので、これらは比較的容易に識別することができ、また例えば顧客サポート・チームは、プロバイダの構成上の問題を解決することができ、そのような不正確な伝送の再発を防止することができる。これらの場合、図19に示す方法を使用することができる。ただし、acct_transテーブルのエントリに対応する一意のセッションIDを見つけるためにauth_transテーブルが検索される。
【0151】
重複したアカウンティング記録
重複したアカウンティング記録は、同一の単一アクセス・セッションを記述する複数のトランザクション・データ記録である。図示する実施形態では、重複したトランザクション・データ記録は、各リアルタイムのアカウンティング/トランザクション・データ記録の6個の「鍵」フィールドを過去30日以内に受信したすべての他のリアルタイム・アカウンティング/トランザクション・データ記録と照合する比較的単純なアルゴリズムを使用して設定システム474によってアクティブにフィルタリングされる。使用されるフィールドの例としては、RADIUSセッションID、プロバイダID、NAS IPアドレス、ユーザ、ドメイン(ユーザauth領域)およびセッション・タイムがある。
【0152】
ある種の実施形態では、すべての6個のフィールドがCDRテーブルの格付け済み記録内のフィールドと一致した場合、現行の記録は重複とマーク付けされ、破棄される。
【0153】
重複したアカウンティング記録は、以下の様々な理由から生じる可能性がある。
【0154】
アカウンティング/トランザクション・データ記録は、送信者に対してアカウンティング−応答メッセージを適宜送信することによって確認応答する必要がある。残念ながら、「適宜」はRADIUSの仕様によっては定義されず、数秒後、数時間後、または数日後に異なるベンダーおよび構成が確認応答していないアカウンティング・トランザクションを再送する場合がある。アカウンティング要求は設定システムによって実際に受信されたが、確認応答が消失または変形した場合、発信者はアカウンティング記録の複数のコピーを再送する場合がある。そのような記録はすべて、受信側トランザクション・サーバ468によって補足され、最終的には処理するために設定システム474によって取り出される。このクラス特有の変形が発生する場合があるが、これは設定重複フィルタリング・アルゴリズムを逃れるものであり、送信側NAS532は再送のたびに更新された(例えば増分されて長くなった)セッション・タイムを送信するか、またはRADIUSセッションIdが再送と再送の間で変更される。場合により、NAS532は一定したNAS IPアドレスを送信せず、その場合、アクセス・セッションをサービス・プロバイダすなわちISPに関連付けるために別の属性(例えばコールド・セッションIdまたはプロバイダId)が使用される。このような場合、重複した検出のためにNAS IPの有用性が低減される。
【0155】
重複したアカウンティング記録は「バッチ」プロバイダによって送信することができるが、この「バッチ」プロバイダのアカウンティング供給は重複のないものと仮定される。上記理由の1つにより、リアルタイム・アカウンティング・プロバイダがアカウンティング記録を配信することに失敗した場合、そのアカウンティングの責任を全うするためにそのリアルタイム・アカウンティング・プロバイダによって記録のバッチが送信された場合、重複したアカウンティング記録を設定システム474に手動で挿入することができる。これらの場合、サービス・プロバイダ452は任意のデータセットを送信することができるが、この任意のデータセットはデータ正規化プロセスへの提出に備えてアクセス・ブローカー・システム454の要員が特別に処理する必要がある。このようなデータセットは、以前に報告されたセッションと、訂正が試行されている欠落したセッションの両方を記述するデータを含むことができる。これらの記録バッチは通常は単発で事前処理されるので、重複した挿入を防止するための管理はほとんどない。このプロセスは、一意のセッションIDに鑑みて自動化することができるということが理解されよう。
【0156】
いくつかのサービス・プロバイダは、鍵重複フィールドを不規則に使用することを原因に重複したトランザクション・データ記録をアクセス・ブローカー・システム454に入れることを許可する場合がある。例えばある種の状況では、サービス・プロバイダはNAS IP属性をランダムなデータで充填し、したがって重複フィルタリング基準が悪影響を受ける。矛盾したセッションidの生成またはユーザ切断時におけるセッション期間の調整失敗のような他の変則事項により、別個のセッションに対応するように見える重複が生成される場合がある。ここでもまた、一意のセッションIDはこれらの問題を解決する際に役立つ場合がある。
【0157】
本明細書で例示するように、重複アカウンティング/トランザクション記録は、各リアルタイム・アカウンティング/トランザクション・データ記録の6個の「鍵」フィールドを過去30日以内に受信されたすべての他のリアルタイム・アカウンティング/トランザクション・データ記録と照合するアルゴリズムを使用して設定システム474によってアクティブにフィルタリングされる。それぞれの承認された単一セッションを一意に識別する一意のsession_idフィールドを使用することによって、精度を高めることができる。
【0158】
重複エイリアス記録
重複を検出するアルゴリズムがある記録を重複であると不適切に識別した場合、重複エイリアス記録が発生する。例えばサービス・プロバイダのNAS(例えば図6のISP 510のNAS532)が短期間にセッションIDデータ値を生成または再利用しない場合、このようなケースが生じる可能性がある。信頼性のないサービス・プロバイダによって生成されたいかなるセッションIDに加えて、またはこれの代わりに、各単一アクセス・セッションを一意に定義する本発明の実施形態の一意のセッションIDは、重複したエイリアス記録の発生を低減させるために重複検出アルゴリズムによって使用することができる。具体的には、各セッションが一意に識別される際に重複エイリアス記録を少なくとも実質的に低減するためにsession_idテーブル内の変更された一意のセッションIDを使用することができる。
【0159】
無効セッション−長さ記録
アクセス・セッションの期間に関する設定システム474によって受信されたすべてのアカウンティング/トランザクション・データ記録は、いつも完全であるとは限らないということが理解されよう。例えばアカウンティング/トランザクション・データ記録は、セッション期間データ(例えばAcct−Session−Time属性)が欠落しており、0値を含んでおり、セッションに対する不正確な値(例えばあるセッションは実際には3分の長さなのに4分の長さであると報告すること)を含んでおり、RFC 2139、セクション5.7で規定されるような過度に大きな値を含んでいるか、または無効であるなどの場合がある。無効アクセス期間は、例えばサービス・プロバイダのモデム・バンクがユーザによる切断を報告せず、別のセッションが同じ物理的なモデム・ポートで開始されるか、または何らかの他の理由からタイムアウトが発生するまでNAS532がセッション・タイムを蓄積し続ける場合に発生する可能性がある。
【0160】
重複した無効セッションの長さを有するアカウンティング/トランザクション・データ記録は、例えば以下のような様々な理由から生じる場合がある。
【0161】
欠落したAcct−Session−Time
アカウンティング/トランザクション・データ記録がネットサーバ470によって受信され、Acct−Session−Time属性が欠落している場合、ネットサーバ470は、通常、0セッション長を有するアカウンティング/トランザクション・データ記録を転送する。
【0162】
不正確なAcct−Session−Time
NAS532による不正確な時間のアカウンティング、またはサービス・プロバイダによる意図的な不正行為によって、不正確なセッション期間を有するアカウンティング/トランザクション・データ記録が生成される場合がある。
【0163】
Acct−Session−Time0
0値のSession−Time属性を有するアカウンティング/トランザクション・データ記録がネットサーバ470によって受信されると、ネットサーバ470は、通常、0セッション長を有するアカウンティング/トランザクション・データ記録を転送する。
【0164】
長いAcct−Session−Time
不正行為、誤作動、または不適切な構成が原因でセッション・タイム・アカウンティングは法外な長さのセッションを識別する場合がある。
【0165】
切断検出の失敗
「長い」セッションまたは同一期間を有する複数のセッションは、サービス・プロバイダのモデム・バンクの誤動作および/またはユーザが長期間切断されていることを検出することができないその不適切な構成が原因で発生する場合がよくある。
【0166】
不正アクセス
長期のセッション・タイムは、悪意のあるユーザによる連続した使用が原因で発生する場合もある。
【0167】
破損したAcct−Session−Time
NAS532、サービス・プロバイダの認可/認証サーバ600、またはサービス・プロバイダのネットサーバ470によるフィールド処理でのエラーは、アカウンティング/トランザクション・データ記録のセッション・タイム属性を破損する可能性がある。実際のサンプルに基づき、何らかの先行RADIUSパケットに長い、ベンダー特有のデータがある場合に発生することが多い。
【0168】
本物の長いセッション
長いセッションのフィルタリングの精度は、フィルター閾値(通常は約100時間)によって異なる。
【0169】
SQM記録に提供されたセッション長をアカウンティング記録に提供されたセッション長に対して相関関係を証明し、関連付けるなどによって精度を強化することができる。各トランザクション・データ記録はその一意のセッションIDを有しているので、セッション長はacct_trnsテーブルのsession_idフィールドとSQMテーブル860のsession_idフィールドを使用して関連付けられた記録から取得することができる。したがって、あるトランザクション・データ記録で欠落しているデータは、一意のセッションIDを有する別のトランザクション・データ記録から取得することができる。
【0170】
アカウンティング記録のオーバーラッピング
ある場合には、トランザクション・データ記録は、時間的にオーバーラップしている同じユーザの信用証明書(例えば同じユーザ名およびパスワード)を含むサービス・プロバイダから受信される。本発明の本実施形態では、各アクセス・セッションは一意のセッションIDを含むので、オーバーラップしているトランザクション・データ記録の分析が容易になる場合がある。具体的には、それらの記録のセッションの詳細を決定するためにacct_transテーブル854のsession_idフィールドとSQMテーブル860のsession_idフィールドを使用することができる。例えば、一意のセッションIDを使用することによって、そのようなセッションが2つの本物の別個のセッションであるか否か、あるいはそのセッションが異常なNAS532が原因で生成されたものか否かを判定することができる。
【0171】
真偽が問われる記録
セッションIDは各単一のセッションを一意に識別し、一意のセッションIDを含むセッションに関するデータはシステム内の様々な異なるサーバに送信されるので、真偽問題の解決が容易になる場合がある。具体的には、顧客サポート・チームは、認証または認可されたトランザクション、アカウンティングおよびSQMテーブル856、854、および860のセッション詳細をそれぞれに比較することができ、これによって単一ユーザ・アクセス・セッションに一意に関連付けられたトランザクション・データの3つの異なるソースが提供される。これらテーブルのsession_idフィールドは、特定ユーザのアクセス・セッションの詳細を裏付けるために関連付けまたは相関関係の証明などに役立つ。
【0172】
チャレンジ・プロバイダ記録の記録品質
各セッションは一意に識別され、様々な異なるサーバはトランザクション・データ記録を設定システム474に独立して通信するので、特定のサービス・プロバイダから受信したトランザクション・データ記録の品質は、その特定のサービス・プロバイダからのトランザクション・データ記録を他のソースからの記録と比較することによって評価することができる。これは、そのようなアカウンティング機能に関する問題、またはサービス・プロバイダの技術問題に関する問題を分離する際にネットワーク・アクセス・チームに役立つ場合がある。
【0173】
複数人員による合法的Idの使用
一意のセッションIDが各単一のユーザ・セッションを一意に識別するので、単一ユーザIDデータの合法的使用法が複数のユーザによって使用される別個のユーザ・アクセスの発生を識別するために使用することができる。したがって、456顧客は、例えば組織が小規模であり、かつ/またはそのような仕方で動作することを選択するという理由で、同一のログイン名を共有する場合がある。このような場合、開始時が同時でセッション長が同じ複数の位置からのログインがある場合がある。一意のセッションIDの内包は、それらの状態を高度な精度をもって精査するために使用される。
【0174】
ダイヤラーのポリシー管理バージョニング
SQM記録をアカウンティング記録に関連付け、相関関係を証明するなどのために一意のセッションIDを使用することができる。これにより、SQM記録なしに作成されたアカウンティング記録を、アクセス・ブローカー・システム454によって関連付けられない、あるいは提供されない、接続アプリケーション(例えば接続アプリケーション466)の使用、またはそのサポートされていないバージョンの使用を明らかにするために使用することができる。通常、接続アプリケーション466のサポートされていないバージョン(例えば接続ダイヤラー技術)を使用している顧客および個別ユーザに関して報告が作成される。これは、そのようなユーザをより最新のバージョンに移動させるために役立つ。このような状況では、顧客456が不適切な接続アプリケーション466を使用している場合、その顧客に関連付けられたアカウントを自動的にディセーブルすることができる。したがって、その問題を識別するために、アクセス・ブローカー・システム454に連絡を取り、その結果バージョンの移動を強制することを顧客456に強制することができる。
【0175】
全体的な請求書作成プロセスの品質の改善
したがって、単一ユーザ・セッションに関連付けられたすべてのトランザクション・データ記録を一意に識別する一意のセッションIDを包含することによって、トランザクション記録の処理の精度が高められるということが理解されよう。したがって、請求書作成の真偽の問題が生じることは少なくなり、発生する可能性のあるいかなる真偽の問題の解決法もより迅速に確定することができる。
【0176】
図13は、205、305、または405のようなネットワーク・アクセス・デバイス、ネットワーク・ダイヤラー466、または240、350、468、または472のようなネットサーバとして構成することができるコンピュータ・システム700を示す図である。コンピュータ・システム700は、システム・バス745を介してランダム・アクセス・メモリ(RAM)735および読み出し専用メモリ(ROM)740に動作可能に接続されているプロセッサ750を含む。プロセッサ750は、入出力バス730を介して、光ディスクまたは他の記憶媒体であってよい固定ディスク720にも接続されている。あるいは、プロセッサ750は、入出力バス730を介して複数の記憶デバイスに接続することができる。プロセッサ750は、システム・バス745および入出力バス730を使用してデータを通信する。
【0177】
システム・バス745と入出力バス730は、キーパッド725または入力デバイス710からの入力を受信することもできる。システム・バス745と入出力バス730は、ディスプレイ705、固定ディスク720、および/または出力デバイス715に出力を提供することができる。メモリおよび記憶媒体735、740は、フラッシュ・メモリ、EEPROM、または上記のいかなる組み合わせも含むことができる。
【0178】
コンピュータ・システム700は、オペレーティング・システム・ソフトウェアの一部であるディスク・オペレーティング・システムのようなファイル管理システムを含むオペレーティング・システム・ソフトウェアによって制御することができる。ファイル管理システムは、ROM740のような不揮発性記憶デバイスに記憶することができ、データを入力および出力し、そのデータをRAM735およびROM740上に記憶するためにオペレーティング・システムによって要求される様々な機能をプロセッサ750に実行させるよう構成することができる。コンピュータ・システム700の一実施形態では、プロセッサ750に、ネットワーク・アクセス・デバイス205または305のようなネットワーク・アクセス・デバイスの機能を実行させる命令を固定ディスク720またはROM740に記憶することができる。代替形態では、プロセッサ750に、ネットサーバ240、350、472、または468のようなネットワーク暗号解読サーバの機能を実行させる命令を固定ディスク720またはROM740に記憶することができる。
【0179】
以上、コンピュータ・システムへのアクセスを要求しているユーザのデバイスを認証する方法およびシステムを開示した。上記の詳細な説明では、本発明はその特定の実施形態を参照して説明した。しかし、首記の特許請求の範囲に示す本発明のより広範な範囲および趣旨を逸脱せずに、本発明に様々な修正形態および変更を行うことができることが明らかになろう。したがって本明細書および図面は、限定の意味ではなく説明の意味でみなされたい。
【図面の簡単な説明】
【0180】
【図1】安全でない方法を使用してネットワーク・ユーザの信用証明書が認証される従来技術のISPネットワーク構成を示す図である。
【図2】本発明の一実施形態と調和する、ISPネットワーク、ネットワーク・アクセス・デバイス、およびネットワーク暗号解読サーバ含むネットワーク構成を示す図である。
【図3】本発明の一実施形態と調和する、遠隔ISPネットワーク、ネットワーク・アクセス・デバイス、およびネットワーク暗号解読サーバを含むネットワーク構成を示す図である。
【図4】ネットワーク・ユーザの信用証明書を安全に認証する方法の一例としての動作の流れ図である。
【図5】多数のサービス・プロバイダ、アクセス・ブローカー・システム、および複数の顧客を含む、本発明の一実施形態によるマルチパーティ・サービス・アクセス環境を示すブロック図である。
【図6】ローミング・インターネット・アクセスを提供するための、本発明の一実施形態によるアクセス・ブローカー・システムの動作を示す概略図である。
【図7】本発明の一実施形態による接続ダイヤラーの概略的な機能ブロック図である。
【図8】暗号解読機能を含む、本発明の一実施形態によるトランザクション・サーバの概略的な機能ブロック図である。
【図9】暗号解読機能を含む、本発明の別の一実施形態による顧客またはローム・サーバの概略的な機能ブロック図である。
【図10】接続ダイヤラーによって実行される暗号化メソッドの一例の概略的な流れ図である。
【図11】トランザクション・サーバまたは顧客サーバによって実行される暗号解読方法の一例の概略的な流れ図である。
【図12】チェックサム・データの暗号化メソッドの一例の概略的な流れ図である。
【図13】ネットワーク・アクセス・デバイスまたはネットワーク暗号解読サーバとして構成することができるコンピュータ・システムの概略図である。
【図14】本発明の一実施形態による、ローミング・インターネット・アクセスを提供するアクセス・ブローカー・システムの動作を示す概略的なブロック図である。
【図15】図14のアクセス・ブローカー・システムの物理的アーキテクチャ例の概略的なブロック図である。
【図16】設定システム例の概略的なブロック図である。
【図17A】アクセス・ブローカー・システムで使用されるデータ・モデル例を示す図である。
【図17B】本発明による一意のセッションIDを使用した、同様に本発明による処理を示す概略図である。
【図18】本発明の一実施形態による一意のセッションID例を示す図である。
【図19】一意のセッションIDを使用して欠損しているトランザクション・データ記録を識別する方法の概略的な流れ図である。
【図20】同様に本発明の一実施形態による接続アプリケーションでの一意のセッション識別方法の概略的な流れ図である。
【0001】
本発明は、一般に、コンピュータ・ネットワーク・セキュリティに関する。より詳細には、本発明は、コンピュータ・ネットワークを無認可のアクセスから保護することに関し、またアクセス・デバイスによるコンピュータ・ネットワークへのリプレイ攻撃を防止する方法およびシステムに関する。
【背景技術】
【0002】
過去十年間に、インターネットのようなコンピュータ・ネットワークにアクセスするユーザの数は激増した。通常、ユーザはインターネット・サービス・プロバイダ(ISP)を介してインターネットにアクセスする。インターネットまたは企業のローカル・エリア・ネットワーク(LAN)にアクセスしようとしているネットワーク・ユーザは、一般にIDを検証するためにユーザ名とパスワードを入力する必要がある。この過程に関する問題は、多くの標準認証プロトコルを使用しているISPに送信される際にパスワードが一般的に安全ではないということである。
【0003】
図1は従来技術のISPネットワーク構成100を示す図であるが、ここではネットワーク・ユーザの信用証明書が安全でない方法で認証されている。ISPネットワーク145は、モデム・プール115に接続されており、またゲートウェイ125を介してインターネット150に接続されているネットワーク・アクセス・サーバ(NAS)120を含む。ISPネットワーク145は、認証サーバ(AAAサーバ)135にも接続されている。AAAサーバ135は、ISPネットワーク145に局所的にあってもよく、あるいはISPネットワーク145から非常に離れた遠隔位置にあってもよい。
【0004】
インターネット接続を確立するために、ネットワーク・ユーザは、通常、ネットワーク・アクセス・デバイス105でダイヤルアップ・ネットワーキング・アプリケーションを実行する。ダイヤルアップ・ネットワーキング・アプリケーションは、公衆交換電話網(PSTN)140を介してモデム・プール115とモデム・セッションを開始するために、ネットワーク・ユーザ名とネットワーク・パスワードを入力し、モデム110を操作するようユーザを促す。モデム・セッションが確立されると、ダイヤルアップ・ネットワーキング・アプリケーションは、データ接続を確立し、ネットワーク・ユーザを認証するためにNAS120との通信を開始する。
【0005】
コンピュータ間で接続を確立するために使用されるさらに一般的なデータ通信プロトコルの1つはポイント・ツー・ポイント・プロトコル(PPP)である。一般にPPPと共に使用される1つの特に良く知られた認証プロトコルは、パスワード認証プロトコル(PAP)である。PAPを使用するよう構成されたダイヤルアップ・ネットワーキング・アプリケーションは、認可確認応答信号が受信されるか、または接続が終了するまで、確立したデータ接続を介してユーザ名とパスワードの対を繰り返し送信する。ダイヤルアップ・ネットワーキング・アプリケーションは、ユーザ名とパスワードを送信する頻度とタイミングを制御するよう構成されている。
【0006】
PAPに関する問題は、パスワードがデータ接続を介して送信される前に暗号化されず、平文として送信されるということである。つまり、パスワードがハッカーによる傍受を受けやすいということである。例えば、データ接続にアクセスするハッカーは、ネットワーク監視アプリケーションを使用して、データ接続全体で送信されているデータ・パケットを補足し表示することができる。このようなネットワーク監視アプリケーションは一般的であり、その使用が違法であるためにこれらはしばしばパケット・スニッフィング・アプリケーションまたはパケット・スヌーピング・アプリケーションと呼ばれている。
【0007】
再度図1を参照すると、NAS120でユーザ名とパスワードの対が一度受信されると、通常、別の標準認証プロトコルであるリモート認証ダイヤルイン・ユーザ・サービス(RADIUS)が、ISP認証システム155にネットワーク・ユーザ名とパスワードの対を送信するために使用される。RADIUSプロトコルは、パスワードがISP認証システム155のAAAサーバ135に送信される前にそのパスワードの対称暗号化を提供する。この暗号化方法は、NAS120とAAAサーバ135が暗号化アルゴリズムで使用される秘密鍵を共有するので対称と見なされる。NAS120は、パスワードを「ロック」すなわち暗号化するために秘密鍵を使用し、AAAサーバ135は、当該パスワードを認証データベース130に記憶されているパスワードと照合する前に当該パスワードを「アンロック」すなわち暗号解読するために秘密鍵を使用する。
【0008】
RADIUS対称暗号化方法に関する問題は、「辞書」攻撃として知られている一形態の攻撃を受けやすいということである。辞書攻撃では、暗号化アルゴリズムの知識のあるハッカーは、暗号化されたパスワードをパケット・スニッフィング・アプリケーションによって傍受する。次いでハッカーは、可読文字を生じる鍵が見つかるまで一連の鍵を繰り返し試みる。さらに問題を深刻化させるのは、秘密鍵が一度漏洩すると、NAS120とAAAサーバ135の間で傍受したいかなるパスワードでもハッカーは容易に暗号解読することができるということである。
【0009】
上述のPAP/RADIUS認証方法に固有の弱点を受けて、チャレンジ・ハンドシェーク認証プロトコル(CHAP)が開発された。CHAPを使用するように実装されたシステムで、ネットワーク・アクセス・デバイス105のダイヤルアップ・アプリケーションは、認証プロトコルとしてPAPではなくCHAPを使用することをNASと交渉する。次にNAS120は乱数を生成し、それをネットワーク・アクセス・デバイス105に送信する。ネットワーク・アクセス・デバイス105で実行されているダイヤルアップ・ネットワーキング・アプリケーションは、乱数を使用してパスワードのノンリバーシブル・ハッシュを生成し、そのノンリバーシブル・ハッシュは次いでNAS120に送信される。次いでNAS120は、RADIUSプロトコルを使用して、ノンリバーシブル・ハッシュとそのハッシュを生成するために使用された乱数をAAAサーバ135に送信する。AAAサーバ135は、認証データベース130から平文パスワードを取り出し、NAS120から受信した乱数を使用してハッシュ・オペレーションを繰り返す。最後に、AAAサーバ135は、その生成されたハッシュ値をNAS120から受信したハッシュ値と比較する。ハッシュ値が同一である場合、認証は成功と見なされ、AAAサーバ135はネットワーク・アクセス・デバイス105に適切な確認応答信号を送信する。
【発明の開示】
【発明が解決しようとする課題】
【0010】
ユーザ認証のためのCHAP/RADIUS方法に関する問題は、これら3つのシステム、すなわちネットワーク・アクセス・デバイス105、NAS120、およびAAAサーバ135は、安全性が付加されたことを利用するためにCHAPを使用するよう構成しなければならないということである。これら3つのうちどれかがCHAPを使用するように構成されていない場合、ネットワーク・アクセス・デバイス105のダイヤルアップ・ネットワーキング・アプリケーションは、PAPを認証プロトコルとして使用することをNAS120と交渉するためにPPPプロトコルを使用する。
【0011】
CHAP/RADIUS方法を使用することのもう1つの不利な点は、CHAPを適切に実施するために、AAAサーバ135は平文パスワードにアクセスしなければならないということである。多くの認証システムは、システムに漏洩が発生しパスワードが盗まれた場合に安全性のリスクが増すので、パスワードは平文形式では記憶しない。
【0012】
さらに最近では、認証システムは、拡張認証プロトコル(EAP)と呼ばれる認証プロトコルを採用している。EAPは、パスワードをハッシュするためにネットワーク・アクセス・デバイス105が使用する乱数をNAS120ではなくAAAサーバ135が生成するということを除いて、CHAPと略同様に機能する。その結果、EAPはCHAPと同じ短所を有することになる。具体的には、認証チェーンのすべてのシステムがEAPを採用している場合にだけEAPは有効である。
【0013】
ブロードバンド・アクセスの出現により、無線のアクセス・プロバイダと有線(イーサネット(登録商標))のアクセス・プロバイダはどちらも、ウェブ・ブラウザ・ベースの認証システムを採用する。ウェブ・ブラウザは、ユーザの信用証明書をアクセス・ポイントに送信するためにハイパーテキスト転送プロトコル(HTTP)またはセキュア・ソケット・レイヤを介したハイパーテキスト転送プロトコル(HTTPS)を使用する。HTTPに関する問題は、パスワードがデータ接続を介して送信される前に暗号化されず、平文として送信されるということである。つまり、パスワードがハッカーによる傍受を受けやすいということである。例えば、データ接続にアクセスするハッカーは、ネットワーク監視アプリケーションを使用して、データ接続全体で送信されているデータ・パケットを捕足し表示することができる。このようなネットワーク監視アプリケーションは一般的であり、その使用が違法であるためにこれらはしばしばパケット・スニッフィング・アプリケーションまたはパケット・スヌーピング・アプリケーションと呼ばれている。HTTPSに関する問題は、アクセス・ポイントが良く知られた認証局(CA)から信用証明書を取得する必要があるということである。これは、アクセス・ポイントを設定する費用を上昇させる。HTTPSによって使用される暗号化の強度は、政府の輸出規制の制限を受ける。ウェブ・ブラウザは、ディフォルトの場合は比較的脆弱な鍵を含み、ユーザには輸出規制に応じて暗号化の強度をアップグレードすることが求められる。本明細書の目的のために、用語「接続アプリケーション」は、限定はしないが、ピアツーピア認証アレンジメント、ダイヤラー、スマート・クライアント、ブラウザ、サプリカント、スマート・カード、トークン・カード、PDA接続アプリケーション、無線接続、組み込み型認証クライアント、イーサネット接続などの、データを認証する機能を含むいかなるデバイス(ハードウェアとソフトウェアの両方)を含むものと解釈されるべきである。
【0014】
しばしば発生するさらなる問題は、いわゆる「リプレイ攻撃」である。リプレイ攻撃は、一般に、無認可の人物またはデバイス、例えば認証されていないデバイスが、ネットワークの合法的ユーザのログインidおよびパスワードを入手するためにネットワーク(例えば、インターネット)上で盗聴する場合に行われる。捕捉されたログインidおよびパスワードは、後でいわゆるリプレイ攻撃でシステムにアクセスするために使用される。
【課題を解決するための手段】
【0015】
本発明により、
ユーザがそれを介してコンピュータ・システムへのアクセスを要求するユーザのデバイスの接続アプリケーションで、ユーザの要求ごとに変わる現行セッション・データを暗号化するステップと、
暗号化された現行セッション・データを、平文で通信されるアクセス要求のユーザ認証データに含めるステップと、
アクセス要求を暗号解読し、基準セッション・データを暗号解読された現行セッション・データと比較するステップと、
比較の結果に応じてユーザの要求を選択的に分類するステップと
を含むコンピュータ・システムへのアクセスを要求しているユーザのデバイスを認証する方法が提供される。
【0016】
さらに本発明により、
暗号化されたアクセス要求を平文でアクセス・デバイスから受信するステップと、
アクセス要求を暗号解読し、アクセス・デバイスによって生成された、アクセス要求内の現行セッション・データを識別するステップと、
暗号解読された現行セッション・データを基準セッション・データと比較するステップと、
比較の結果に応じてユーザの要求をリプレイ攻撃として選択的に分類するステップと
含むコンピュータ・システムへのアクセスを要求しているアクセス・デバイスによるリプレイ攻撃を識別する方法が提供される。
【0017】
さらに本発明により、
ユーザがコンピュータへのアクセスを要求する、ユーザのデバイスの接続アプリケーションで、ユーザの要求ごとに変わる現行セッション・データを生成するセッション・データ・ジェネレータと、
平文で通信される暗号化されたアクセス要求を提供するために、現行セッション・データを暗号化し、これをユーザ認証データに含める暗号化モジュールと、
暗号化されたアクセス要求を暗号解読するプロセッサと、
基準セッション・データを暗号解読された現行セッション・データと比較するコンパレータであって、プロセッサが比較の結果に応じてユーザの要求を選択的に分類するコンパレータと
を含むコンピュータへのアクセスを要求しているユーザのデバイスを認証するシステムが提供される。
【0018】
さらに本発明により、
平文である暗号化されたアクセス要求をアクセス・デバイスから受信するレシーバーと、
アクセス・デバイスによって生成された、アクセス要求内の現行セッション・データを暗号解読し、識別するプロセッサと、
暗号解読された現行セッション・データを基準セッション・データと比較するコンパレータであって、プロセッサが比較の結果に応じてユーザの要求をリプレイ攻撃として選択的に分類するコンパレータと
を含むコンピュータ・システムへのアクセスを要求しているアクセス・デバイスによるリプレイ攻撃を識別するコンピュータ・サーバが提供される。
【0019】
本発明は、本明細書で記述された方法のどれでも実行するように一連の命令を組み込んだ機械可読媒体に拡張される。
【0020】
本発明の他の特徴および利点は、図面および以下の詳細な説明から明らかになろう。
【0021】
本発明は、一例として説明するものであり、添付の図面の各図によって限定されることを意図するものではない。尚、添付の図面では、同様の参照は同一または類似の要素を示している。
【発明を実施するための最良の形態】
【0022】
ネットワーク・ユーザの信用証明書またはユーザを安全に認証する方法およびシステムが開示される。ネットワーク・アクセス・デバイスは、ネットワーク・ユーザによって入力されたパスワードのようなネットワーク・ユーザの信用証明書を暗号化する。ネットワーク・アクセス・デバイスは、強力な暗号化アルゴリズムによって生成された公開/秘密鍵対の一部である公開鍵によってネットワーク・ユーザの信用証明書を暗号化する。ネットワーク・アクセス・デバイスは、暗号化されたネットワーク・パスワードをネットワーク暗号解読サーバに送信する。ネットワーク暗号解読サーバは、公開/秘密鍵対の秘密鍵を使用してネットワーク・ユーザの信用証明書を暗号解読する。ネットワーク暗号解読サーバは、暗号解読されたパスワードを検証するために認証サーバ(AAA)に送信する。パスワードがAAAサーバで肯定的に検証された場合、AAAサーバは、パスワードが適切に検証されたこと、すなわち認証されたことを示す適切な確認応答信号をネットワーク・アクセス・デバイスに送信する。この確認応答信号に基づいて、ネットワーク・アクセス・デバイスは、インターネットまたは何らかの他のソースに対するアクセスを得る。
【0023】
ネットワーク・アクセス・デバイスで強力なアルゴリズムに基づき非対称公開鍵を使用してネットワーク・パスワードを暗号化することにより、パスワードをネットワーク・アクセス・デバイスからネットワーク暗号解読サーバに安全に送信することができる。暗号化されたパスワードが、ネットワーク・アクセス・デバイスとネットワーク暗号解読サーバの間のある地点でスニッフィング・アプリケーションまたはスヌーピング・アプリケーションによって捕足される場合、暗号化されたパスワードは正確な秘密鍵の知識と暗号化アルゴリズムによってのみ暗号解読することができる。ユーザの信用証明書の暗号解読は、ユーザがアクセスすることを希望しているソースのできる限り近くで行われることが好ましい。
【0024】
図示した本発明の実施形態は基礎となる認証プロトコルには依存せず、したがって様々な新しい認証プロトコルと既存の認証プロトコルと共に機能するよう実現することができる。さらに本発明の実施形態は、認証チェーンの機能を完全に標準化する必要性を解決しながら、安全な認証を提供する。例えば暗号化されたデータを標準PPP/RADIUS情報フィールドを通過させることによって、本発明は、CHAPやEAPのようなさらに複雑な認証プロトコルと共に機能するようネットワーク機器を実装し、構成する労力と費用を掛けずに安全な認証方法を提供する。しかし、本発明はCHAP、EAP、および他のプロトコルと共に使用することができ、PAP/RADIUS環境のアプリケーションに限定されるものではないということを理解されたい。
【0025】
図2は、本発明の一実施形態と一致する、ISPネットワーク255、ネットワーク・アクセス・デバイス205、およびネットワーク暗号解読サーバ240を含むネットワーク構成200を示す図である。ISPネットワーク255は、NAS220、モデム・プール215、およびゲートウェイ225を含む。ISPネットワーク255はゲートウェイ225を介してインターネットに接続されており、NAS220とネットワーク暗号解読サーバ240の間の接続を介してISP認証システム265に接続されている。一実施形態では、ISPネットワーク255とISP認証システム265は物理的に同じファシリティ内に配置されている。しかし代替形態では、ISP認証システム265は1つのファシリティ内に配置されており、ワイド・エリア・ネットワーク(WAN)を介してISPネットワーク255のような1つまたは複数のISPネットワークに接続されている。この種の構成は、個々のISPネットワークを異なる地理的領域内に戦略的に配置することを可能にし、したがって安全性を増すために認証システムを集中化しながら顧客はローカルな電話の呼によってネットワークにアクセスすることができる。
【0026】
本発明の一実施形態では、インターネット260にアクセスするために、ネットワーク・ユーザはネットワーク・アクセス・デバイス205でダイヤルアップ接続アプリケーションを実行する。代替形態では、インターネットにアクセスするために他のタイプのネットワーク接続アプリケーションを利用することができる。ダイヤルアップ接続アプリケーションは、ネットワーク・ユーザ名とネットワーク・パスワードを入力し、モデム210を操作してモデム・プール215との音声通信セッションを確立するようネットワーク・ユーザを促す。図2ではモデム210は外部デバイスとして示してあるが、本発明の代替形態では、モデム210はネットワーク・アクセス・デバイス205に内蔵した内部デバイスであってよい。音声通信セッションが確立されると、NAS220はネットワーク・ユーザを認証するためにネットワーク・アクセス・デバイス205との通信を開始する。
【0027】
ネットワーク・アクセス・デバイス205がネットワーク・ユーザによって入力されたネットワーク信用証明書を送信する前に、ネットワーク・パスワードが暗号化される。パスワードは公開/秘密鍵対の公開鍵を使用して暗号化される。この暗号化技術は当技術分野では良く知られており、一般には非対称公開鍵暗号法と呼ばれている。非対称公開鍵暗号法では、人は1つの鍵を公的に使用可能とし、第2の秘密鍵を保持する。メッセージは公開鍵によって「ロック」すなわち暗号化され、送信され、次いで秘密鍵によって「アンロック」すなわち暗号解読される。
【0028】
図示する本発明の本実施形態では、公開/秘密鍵対を生成するために強力な暗号化アルゴリズムが使用される。公開鍵と秘密鍵は楕円曲線に基づく数学的関係を有している。この暗号化技術は当技術分野では良く知られており、一般には楕円曲線暗号法またはECCと呼ばれている。公開鍵暗号化アルゴリズムは、秘密鍵から公開鍵を生成することは容易になるが、公開鍵が与えられて秘密鍵を推論することは困難な一方向性の数学的な問題に依存している。楕円曲線システムは、楕円曲線によって作成された母集団内の公開鍵と秘密鍵の間の関係を決定するために数式を使用する。楕円曲線暗号法は、他の強力な暗号技術と比べて鍵のサイズが小さいので有利である。これはパスワードを強力な暗号化方法で暗号化することを可能にしながら、暗号化されたパスワードは尚もPAP、CHAP、EAP、およびRADIUSのような普及している認証プロトコルによって定義されるパスワード・データ・フィールドに適合する。
【0029】
再度図2を参照すると、秘密鍵は秘密鍵データベース245に記憶させておき、公開鍵はネットワーク・アクセス・デバイス205に知られている。ネットワーク・アクセス・デバイス205は、ネットワーク・ユーザ名と暗号化されたネットワーク・パスワードをNAS220に送信する前に公開鍵を使用してパスワードを暗号化する。NAS220は、ネットワーク・ユーザ名と暗号化されたネットワーク・パスワードをネットワーク暗号解読サーバ240に転送する。ネットワーク暗号解読サーバ240は、秘密鍵データベース245へのインデックスとしてネットワーク・ユーザ名を使用し、ネットワーク・ユーザ名に関連付けられた秘密鍵を取り出す。次いでネットワーク暗号解読サーバ240は、秘密鍵を使用して、暗号化されたネットワーク・パスワードを暗号解読し、ネットワーク・ユーザによって入力されたオリジナルの平文パスワードを生成する。
【0030】
最後に、ネットワーク暗号解読サーバ240は、ネットワーク・ユーザ名と平文ネットワーク・パスワードを検証するためにAAAサーバ235に転送する。AAAサーバ235は、ネットワーク・ユーザ名に関連付けられた公式パスワードを取り出すために、認証データベース230へのインデックスとしてネットワーク・ユーザ名を使用する。公式パスワードがネットワーク・ユーザによって入力され、ネットワーク・アクセス・デバイス205によって送信されたパスワードと一致する場合、AAAサーバ235は適切な確認応答信号をNAS220に送信し、NAS220はその信号をネットワーク・アクセス・デバイス205に転送し、これにより成功した検証の確認応答を行い、インターネットまたはある種の他のソースへのアクセスを認める。
【0031】
本発明の一実施形態は、ネットワーク・アクセス・デバイス205からNAS220に、最終的にはAAAサーバ235に信用証明書を送信するために使用される認証プロトコルには依存しない。例えば、本発明は、特にPAP、CHAP、EAP、およびRADIUSのような普及している認証プロトコルと共に機能するように実施することができる。
【0032】
本発明の一実施形態に関して、NAS220はネットワーク・ユーザの信用証明書を認証するためにPAPおよびRADIUSを使用するよう構成されている。PAP/RADIUS用に構成されている場合、NAS220は、NAS220とネットワーク・アクセス・デバイス205の間で通信セッションが開始される際に、PAPの使用についてネットワーク・アクセス・デバイス205と交渉する。NAS220は、RADIUSサーバであるAAAサーバ235のRADIUSクライアントとして構成される。ネットワーク暗号解読サーバ240はRADIUSサーバとしても構成されているが、AAAサーバ235に対してRADIUSプロキシ・クライアントとして動作する。この構成では、ネットワーク・アクセス・デバイス205は、ネットワーク・ユーザによって入力された際にパスワードを暗号解読する。次いでネットワーク・アクセス・デバイス205はPAPパケットを作成し、ネットワーク・ユーザ名と暗号化されたネットワーク・パスワードをパケット内の適切なフィールドに置く。次にネットワーク・アクセス・デバイス205はPAPパケットをNAS220に送信する。NAS220は、RADIUSパケットを使用してデータをネットワーク暗号解読サーバ240に転送する。ネットワーク暗号解読サーバ240はパスワードを暗号解読し、RADIUSを使用して検証のために平文パスワードをAAAサーバ235に転送する。
【0033】
代替形態では、NAS220は、ネットワーク・ユーザの信用証明書を認証するためにCHAPとRADIUSを使用するように構成される。CHAP/RADIUSを使用するように構成されているネットワークでは、NAS220はPAPではなくCHAPを認証プロトコルとして使用することをネットワーク・アクセス・デバイス205と交渉する。次にNAS220は乱数を生成し、それをネットワーク・アクセス・デバイス205に送信する。ネットワーク・アクセス・デバイス205上で実行されているダイヤルアップ接続アプリケーションは、事前設定された暗号化アルゴリズムを使用してパスワードのノンリバーシブル・ハッシュを生成するために乱数を使用する。実際のパスワードを暗号化するのではなく、ネットワーク・アクセス・デバイス205は、上記の本発明の本実施形態によりネットワーク・パスワードのノンリバーシブル・ハッシュを暗号化する。ネットワーク・アクセス・デバイス205はCHAPパケットを作成し、ネットワーク・ユーザ名と暗号化されたノンリバーシブル・ハッシュをNAS220に送信する。
【0034】
NAS220は、ネットワーク・ユーザ名、暗号化されたノンリバーシブル・ハッシュ、およびノンリバーシブル・ハッシュを生成するために使用されたオリジナルの乱数を含むデータを、RADIUSプロトコルを使用してネットワーク暗号解読サーバ240に送信する。ネットワーク暗号解読サーバ240はそのノンリバーシブル・ハッシュを暗号解読し、RADIUSパケット内のノンリバーシブル・ハッシュと置き換え、これがAAAサーバ235に転送される。
【0035】
AAAサーバ235はこのパケットを受信し、認証データベース230からネットワーク・ユーザ名に関連付けられたパスワードを取り出す。AAAサーバ235は、NAS220で元々生成された乱数を使用して、認証データベース230から取り出されたオリジナルのパスワードに対してハッシュ・オペレーションを実行する。次にAAAサーバ235は、それ自体が生成したハッシュを、ネットワーク・アクセス・デバイス205から受信したハッシュと比較する。2つのハッシュが一致する場合、検証は成功し、AAAサーバ235は、適切な確認応答信号をネットワーク・アクセス・デバイス205に送信し、インターネット260またはある種の他のソースへのアクセスを与える。
【0036】
本発明の別の実施形態では、NAS220はEAPおよびRADIUSを使用するように構成されている。EAPは、ネットワーク・アクセス・デバイス205に送信される乱数がNAS220ではなくAAAサーバ235によって生成されることを除いて、CHAPと略同様に機能する。本発明はいかなる認証プロトコルとでも共に機能するので、本発明は様々なネットワーク構成と共に機能するように容易に実現することができ、LEGACYシステムを使用した非常に強力な最低レベルの安全性を提供することができる。
【0037】
図3は、本発明の一実施形態と調和する、遠隔ISPネットワーク365、ネットワーク・アクセス・デバイス305、およびネットワーク暗号解読サーバ350を含むネットワーク構成300を示す図である。遠隔ISPネットワーク365は、NAS320、モデム・プール315、およびゲートウェイ325を含む。遠隔ISPネットワーク365は、ゲートウェイ325を介してインターネット370に接続されており、NAS320とAAAサーバ335の間の接続を介して遠隔ISP認証システム375に接続されている。遠隔ISP認証システム375は、AAAサーバ335とネットワーク暗号解読サーバ350との間のWAN接続を介してローカルISP認証システム380に接続されている。
【0038】
構成300は、ネットワーク・ユーザがネットワーク・アクセス・デバイス305を使用して遠隔ISPネットワーク365によってインターネット370にアクセスすることができる。ローカルISP認証システム380を運営・維持管理するローカルISPは、ローカルISPのネットワーク・ユーザが、遠隔ISPによって維持管理・運営されている遠隔ISPネットワーク365を介してインターネットにアクセスすることができるように、遠隔ISPと協定を結ぶ。この種の業務協定は、遠隔ISPが遠隔の地理的領域またはローカルISPと異なる国家に配置されている場合に発生する場合がある。図3に示す本発明の実施形態は、ローカルISPの運営者が、遠隔ISPネットワーク365と遠隔ISP認証システム375から構成される機器にアクセスした人物を制御することが不可能なので、この種の構成では特に有利である。さらに遠隔ISPネットワーク365は、パスワードの暗号化されたバージョンにだけアクセスし、これにより安全性は強化される。
【0039】
図3に示す本発明の実施形態は、暗号化されたパスワードが遠隔ISPネットワーク365と遠隔ISP認証システム375を通過することを除いて、図2に関して上述した方法と略同様の方法で機能する。図3を参照すると、インターネット370にアクセスするために、ネットワーク・ユーザは、ネットワーク・アクセス・デバイス305のダイヤルアップ接続アプリケーションを実行する。ダイヤルアップ接続アプリケーションは、ネットワーク・ユーザ名とネットワーク・パスワードを入力し、モデム310を操作してモデム・プール315と音声通信セッションを確立するようネットワーク・ユーザを促す。一度音声通信セッションが確立されると、NAS320はネットワーク・ユーザを認証する目的でネットワーク・アクセス・デバイス305との通信を開始する。
【0040】
ネットワーク・パスワードをNAS320に送信する前に、ネットワーク・アクセス・デバイス305は、上記のように公開鍵によってネットワーク・パスワードを暗号化する。次いでネットワーク・アクセス・デバイス305は、ローカルISP認証システム380宛てのデータ・パケットを作成し、そのパケットを遠隔ISP365のNAS320に転送する。NAS320は、暗号化されたパスワードを含んでいるそのデータ・パケットを受信し、それを特に遠隔ISP認証システム375とAAAサーバ335に転送する。AAAサーバ335はそのデータ・パケットを検査し、それがローカルISP認証システム380宛てであることを発見し、そのデータ・パケットをネットワーク暗号解読サーバ350に転送する。
【0041】
ネットワーク暗号解読サーバ350はそのデータ・パケットを受信し、秘密鍵データベース335からネットワーク・ユーザ名に関連付けられた秘密鍵を取り出す。次いでネットワーク暗号解読サーバ350は、暗号化されたパスワードを暗号解読し、検証するためにそのデータ・パケットを平文パスワードと共にAAAサーバ345に転送する。AAAサーバ345は、認証データベース340からユーザ名に関連付けられた平文パスワードを取り出すために、認証データベース340へのインデックスとしてネットワーク・ユーザ名を使用する。取り出されたパスワードが、ネットワーク・アクセス・デバイス305から受信したパスワードと一致する場合、AAAサーバ345は、適切な確認応答信号を遠隔ISP365のAAAサーバ335に送信する。AAAサーバ335は、その信号をNAS320に転送する。NAS320は、その信号をネットワーク・アクセス・デバイス305に転送し、成功した検証を確認応答し、インターネットまたはある種の他のソースへのアクセスを認める。したがって、ユーザに関連付けられたローカルISPの近くで暗号解読が行われ、暗号化された認証データにアクセスするのは任意の1つまたは複数の中間ISPだけである。
【0042】
図4は、本発明の一実施形態と調和する、ネットワーク・ユーザの信用証明書を安全に認証する方法の動作400の流れ図である。この方法は動作405から開始される。動作405で、ネットワーク・アクセス・デバイスは、公開/秘密鍵対の一部である公開鍵を使用してパスワードのようなネットワーク信用証明書を暗号化する。公開/秘密鍵対は、楕円曲線暗号法のような強力な暗号化アルゴリズムに基づいて前もって生成されている。
【0043】
動作410で、ネットワーク・アクセス・デバイスは暗号化されたネットワーク信用証明書をネットワーク暗号解読サーバに送信する。暗号化されたパスワードは、最終的にネットワーク暗号解読サーバに到達する前にネットワーク・アクセス・サーバとAAAサーバを含む複数のネットワーク・ノードを介して転送される。
【0044】
動作415で、ネットワーク暗号解読サーバは、上記の公開/秘密鍵対の秘密鍵を使用して暗号化されたネットワーク信用証明書を暗号解読する。ネットワーク暗号解読サーバは、ユーザ名を秘密鍵データベースへのインデックスとして使用して秘密鍵データベースから秘密鍵を取り出す。
【0045】
最後に、動作420で、ネットワーク暗号解読サーバは、暗号解読されたネットワーク信用証明書を検証するためにAAAサーバに送信する。最終的に検証のためAAAサーバに到達する前に、ネットワーク・アクセス・サーバまたは他のAAAサーバのようないくつかのネットワーク・ノードを介して暗号解読されたネットワーク信用証明書を転送することができる。
【0046】
本発明の典型的な適用例はマルチパーティ・サービス・アクセス環境であるが、そのアプリケーションについては後述する。このような適用例は、通常、ローミング・ユーザ、複数のサービス・プロバイダ、および複数の顧客を含む。さらに、このような適用例は、通常は、PAP、CHAP、EAP、RADIUS、またはユーザの信用証明書を安全でない方法で通信する類似のプロトコルを使用する。しかし、後述する実施形態は、LEGACYシステムでの安全な認証を可能にする。
【0047】
用語
本明細書の目的で、「サービス・アクセス・トランザクション」という用語は、ユーザ・セッションに関するサービス顧客とサービス・プロバイダとの間のいかなるトランザクションをも含んでいる。このようなサービスの一例として、任意の媒体またはプロトコルを介した任意の通信ネットワークへのアクセスをあげることができる。例えば通信ネットワークは、パケット交換ネットワーク、回線交換ネットワーク、ケーブル・ネットワーク、衛星ネットワーク、地上ネットワーク、有線ネットワーク、または無線ネットワークを含むことができる。しかし「サービス・アクセス・トランザクション」という用語は、ネットワーク・アクセス・トランザクションに限定されるものではなく、コンテンツ・サービス、商取引サービス、および通信サービスのような多数の他のサービスの任意の1つへのアクセスに関するトランザクションを含むものである。
【0048】
本発明の目的のために、「顧客」という用語は、サービス・アクセスが顧客によって行われるか否かに関わらず、サービス・アクセスの購入および/または消費に関与する任意のエンティティを含む。例えば「顧客」は、実際にサービス・アクセスを利用するエンド・ユーザ消費者、またはそのようなエンド・ユーザが属している企業体、インターネット・サービス・プロバイダ、インターネット通信事業者、再販業者、またはチャネルであってよい。
【0049】
マルチパーティ・サービス・アクセス環境
本発明の本実施形態は、サービス・プロバイダ(例えばISP、無線サービス・プロバイダ、VPNサービス・プロバイダ、コンテンツ配信サービス・プロバイダ、電子商取引サービス・プロバイダ、またはアプリケーション・サービス・プロバイダ)が標準通信プロトコル(例えばPPP、HTTP)および標準認証プロトコル(例えばRADIUS、PAP、EAPなど)を使用してマルチパーティ・アクセス環境で比較的安全なサービス・アクセスを提供できるようにする、サービス・アクセス(例えばインターネット・アクセス、コンテンツ・アクセス、商取引アクセス、または通信アクセス)サービス用のマルチパーティ・アクセス・ブローカー/設定システムを開示する。このようなプロトコルは、通常、最大長のユーザ・フィールドを規定し、本発明の実施形態は、特に上記の最大長のフィールド内で安全な認証を提供する方法およびシステムを記述する。したがって、本発明はLEGACYシステムに適用することができる。
【0050】
概要
図5は、多数のサービス・プロバイダ452、アクセス・ブローカー・システム454、および複数の顧客(または消費者)456を含むネットワーク・アクセス環境の一形態であるマルチパーティ・サービス・アクセス環境例450のブロック図である。高レベルでは、サービス・プロバイダ452は、アクセス・ブローカー・システム454を介して複数の顧客456に販売されるサービス(例えばアクセス・サービス、コンテンツ・サービス、電子商取引サービスなどの)・キャパシティを有する。したがって、アクセス・ブローカー・システム454は、顧客456に転売されるサービス・キャパシティ(例えばサービス・アクセス)を購入すると見なすことができる。サービスへのアクセスはネットワーク・アクセスとして後述されているが、アクセスはサービスの一例として後述されており、本明細書の目的では上記のアクセスのどの形態でも含むものと見るべきであるということが理解されよう。本実施形態では、サービス・プロバイダ452は、ISP458(例えばUUNet技術、Genuity、CompuServe Network Services、EQUANT、Hong Kong Telecomなど)、無線アクセス・プロバイダ460(例えばVerizon、Sprint、Pacific Bell)、コンテンツ配信プロバイダ462、および電子商取引プロバイダ464のような任意の通信ネットワーク・サービス・プロバイダを含むことができる。しかしサービス・プロバイダ452は、任意の数のサービス(数例をあげるならば、例えばアクセス・サービス、コンテンツ・サービス、通信サービス、または電子商取引サービス)を提供する任意の種類のサービス・プロバイダをいくつでも含むことができる。
【0051】
アクセス・ブローカー・システム例454は多数の構成要素を含む。接続アプリケーションは、通常、ダイヤルアップ・アプリケーションまたは接続ダイヤラー466の形態で、通信ネットワークへの便利なアクセスに役立つ顧客456のサービスまたはネットワーク・アクセス・デバイス(例えば図2および3のアクセス・デバイス205、305のようなコンピュータ・システム)にインストールされているクライアント・アプリケーションである。一実施形態では、接続ダイヤラー466は、アクセス・ブローカー・システム454の世界規模の接続ネットワークへのダイヤリングのために簡単なポイント・アンド・クリック・インターフェースを提供することができる。この目的のために、接続ダイヤラー466は、潜在的に異なる設定とダイヤルアップ・スクリプト記述情報と共に世界中の複数のISPに対する複数の電話番号を記憶することができる。図1から4に関して上記で概説したように、ポイント・ツー・ポイント・プロトコル(PPP)、パスワード認証プロトコル(PAP)、チャレンジ・ハンドシェーク認証プロトコル(CHAP)、遠隔認証ダイヤルイン・ユーザ・サービス(RADIUS)プロトコル、ターミナル・アクセス・コントローラ・アクセス制御システム(TACACS)プロトコル、ライトウェイト・ディレクトリ・アクセス・プロトコル(LDAP)、NTドメイン認証プロトコル、Unix(登録商標)パスワード認証プロトコル、ハイパーテキスト転送プロトコル(HTTP)、セキュア・ソケット・レイヤを介したハイパーテキスト転送プロトコル(HTTPS)、拡張認証プロトコル(EAP)、転送レイヤ・セキュリティ(TLS)プロトコル、トークン・リング・プロトコルおよび/またはセキュア遠隔パスワード・プロトコル(SRP)のような周知のプロトコルによって許可または可能とされるユーザ・ストリングにユーザ・データとカウンター・データを含むことができるような方法で接続ダイヤラー466はユーザ・データとカウンター・データを暗号化する。
【0052】
環境450は、ユーザ識別情報、認証応答および使用法、およびアカウンティング情報を経路指定し、ロギングする信頼あるサードパーティの機能を提供する複数のトランザクション・サーバ468も含む。トランザクション・サーバ468は、暗号解読機能を含むので、暗号解読サーバを規定することができる。
【0053】
接続ダイヤラー466がクライアントまたはユーザのネットワーク・アクセス・デバイス205、305にインストールされるのに対し、ネットサーバ470はローミング・ユーザにPOPを利用することを許可している「遠隔」ISPにインストールされ、またローム・サーバ472は関連付けられたホーム・ネットワークにローム・ユーザがアクセスすることを許可するために「ホーム」ISPに常駐する。トランザクション・サーバ468は、ネットワークとローム・サーバ470と472の間でメッセージを経路指定するように動作するということに留意されたい。
【0054】
柔軟な価格設定エンジン476を含む設定システム474は、サービス・プロバイダ452と顧客456の間でサービス・アクセス・トランザクションの金銭上の決済を実行する。アクセス・ブローカー・システム454は、顧客456に提供されるサービスに関するサービス品質(QoS)情報の収集・分析に役立つサービス品質モニタ478(SQM)と顧客456が使用する複数の接続ダイヤラー466の管理に役立つ電話帳管理システム480も含む。トランザクション・サーバ468は、トランザクション・データをロードするために設定システム474によってアクセスされる。環境450の様々な構成要素は、周知の機能の態様を含むことができ、本発明の特定の実施形態によってはある種の構成要素を省略することができる。
【0055】
顧客
図示する実施形態で顧客456はマルチティア顧客構造で構成されており、これによってアクセス・ブローカー・システム454は様々な事業計画とニーズに従って運営する顧客456と対話することができる。この範囲の一端で、顧客456はアクセス・ブローカー・システム454を介してローミング・システムに加入している個々のエンド・ユーザを含むことができる。別法として、顧客456は、企業の従業員のためにローミング・インターネット・アクセスを購入する法人顧客482(例えば法人または企業)の形態であってよい。
【0056】
各顧客456は、それ自体の顧客(例えばエンド・ユーザ486および法人顧客482)に転売するためにローミング・インターネット・アクセスを購入するISP顧客484を含むこともできる。各顧客456は、ソリューション・パートナーまたはアクセス・ブローカー・システム454によって仲介されるローミング・インターネット・アクセスを市場に出しエンド・ユーザ486、法人顧客482、および/またはISP顧客484に転売する再販業者488として運営することができる。
【0057】
顧客456は、インターネット通信事業者490(例えばIXC、RBO、CLEC、ILEC、およびISP)と見なされる関係者を含むこともできる。したがって、マルチパーティ・アクセス環境450では、多数の異なるサービス・プロバイダが、ローミング・ユーザにアクセスを提供することに参加することができ、したがって顧客のセキュリティ問題と、特にユーザの安全な認証が重要な課題になるということが理解されよう。また、参加者数の増加に伴い、アカウンティングの問題はより複雑化する傾向がある。
【0058】
ローミング・サービス・アクセス
特に図6を参照すると、参照番号500は、アクセス・ブローカー・システム454が本発明の一実施形態によって比較的安全な方式でローミング・インターネット・アクセスを提供することができる方法の一例を全般的に示している。「ホーム」ISP504の加入者として示されているローミング・ユーザ502が、特定の地理的領域510内のローカルPOP508を提供する遠隔ISP506に接続すると、ローミング・ユーザ502は「ホーム」ISP504のPOP509を介して接続している際に使用されるのと同じユーザ名512とパスワード514(すなわち、認証データまたはユーザの信用証明書)を入力する。しかし、標準またはLEGACYマルチパーティ・アクセス環境は、通常、ダイヤルアップ認証にはPAPを、有線および無線ブロードバンド認証にはHTTP POSTベースの認証を使用する。この結果、パスワードは安全でない媒体を介して転送されることになり、そのパスワードの機密性は損なわれ、それ以後、アクセス・ブローカー・システム454および顧客456の両方のネットワークに不正にアクセスするために使用される可能性がある。この問題を改善するために、本発明の一実施形態により、上記で図1から4を参照して説明し、図5から13を参照してマルチパーティ環境について説明したように、接続ダイヤラー466はユーザのデータをPOP508に通信する前にそれを暗号化する。
【0059】
図示する実施形態では、顧客456は接続ダイヤラー466を要求するためにウェブ形式を使用する。このウェブ形式は、必要となるカスタマイゼーションを指定するために使用することができるフィールドを含む。例えば次のフィールドは、平文形式のセキュアード・パスワード認証(以下では「セキュアPAP」と称する)用のウェブ形式に含まれる。
セキュアPAP暗号化をイネーブルする:(Y/N)
公開鍵:****
鍵ID:(0−9)
【0060】
顧客456がローミング・ユーザ502に対するセキュアPAPをイネーブルするよう希望する場合(図6を参照のこと)、かれらは自分たちの関連付けられたローム・サーバ472に含まれるECCユーティリティを使用する。ローム・サーバ472は、アクセス・ブローカー・システム454から顧客456に提供されたアプリケーションを実行し、公開/秘密鍵対を生成する。秘密鍵は通常、esp_key_pair.txtファイルに追加される。公開鍵は通常、適切な形式を使用してアクセス・ブローカー・システム454のダイヤラー・サポート・チームに送信される。ダイヤラー・サポート・チームは、本発明の一実施形態により接続ダイヤラー466を構築するためにダイヤラー・カスタマイゼーション・ツール(DCT)を使用する。DCTツールは、使用されるべき暗号化/暗号解読アルゴリズムとECC公開/秘密鍵を指定するためのウェブ・ページを含む。
【0061】
接続ダイヤラー466は、ユーザ・アクセス・セッションを一意に識別する一意のセッションid(ブロック522を参照のこと)を生成するために、ダイヤラーidとカウンター(図7のブロック520を参照のこと)を維持する。接続ダイヤラー466は、例えばアクセス・ブローカー・システム454のウェブ・サーバからダイヤラーidを取得し、使用時には、接続ダイヤラー466は各ユーザ・アクセス・セッションが一意に識別されるようダイヤル試行ごとにカウンターを増分する。ダイヤラーidとカウンターの値は、一意のセッションidプレフィックスを作成するために使用される。ダイヤラーidとカウンターの値またはカウント(平文で送信される)の整合性を保証するために、これらのフィールドはチェックサム文字を生成するために使用される。このチェックサム文字を生成するために使用されるアルゴリズムは、以下で図12を参照してより詳細に説明される。一意のセッションidの実施形態については、本明細書でより詳細に後述される。
【0062】
ネットサーバ470は、認証されたユーザidとパスワードのキャッシュを限られた期間だけ維持し、したがってそれ以後の認証はそのキャッシュから実行することができる(ブロック538を参照のこと)。安全なPAPはユーザidとパスワードを認証ごとに変更するので、それはネットサーバ470でいかなるキャッシング機能をもブレークする。したがって、特定の実施形態では、標準化されたネットサーバのキャッシュとの整合性を維持するために、ダイヤラー466は限られた期間だけランダム・ポイントをローカルに記憶し、これを再利用することができる(ブロック540を参照のこと)。上記処理の後で、ネットサーバ470は認証データをトランザクション・サーバ468に通信する。
【0063】
特に図8を参照すると、参照番号550は、トランザクション・サーバ468によって実行される機能例を全般的に示している。トランザクション・サーバ468は、ダイヤラーid、カウンターで最後に使用された値、およびテーブルでの最後のアクセス・タイムを維持する(ブロック552を参照のこと)。テーブルは、ネットワークをリプレイ攻撃から保護するために使用される。このテーブルは、通常、すべてのトランザクション・サーバ468全体で複製される。
【0064】
ユーザの信用証明書または認証データをネットサーバ470から受信する際、本発明の一実施形態では、トランザクション・サーバ468はパスワードを暗号解読し、受信したカウンターの値をデータベースに記憶されている値と比較する(ブロック554を参照のこと)。ダイヤラー466によって送信されるカウントがデータベースに記憶されている最後のカウント値よりも大きい場合、それは本物の要求であると見なされる(ブロック556を参照のこと)。ダイヤラー466によって送信されたカウントがデータベースに記憶されている最後のカウント値と等しく、現在のシステム・タイムとデータベースに記憶されている最後のアクセス・タイムとの間のデルタすなわち時間差が許可されたタイム・ウィンドウよりも少ない場合、ここでもまた要求は本物と見なされる(ブロック558を参照のこと)。ダイヤラー466によって送信されたカウントがこれら2つの条件を満たさない場合、トランザクション・サーバ468は認証要求を起こりうるリプレイ攻撃として拒否する(ブロック560を参照のこと)。トランザクション・サーバ468は、平文パスワードと共に認証要求を図9のローム・サーバ472に送信する。
【0065】
図8に示す実施形態では、トランザクション・サーバ468は顧客の秘密鍵の記録を維持し、したがって認証データの暗号解読は暗号解読サーバを規定することのできるトランザクション・サーバ468で行われる。しかし特定の顧客が、トランザクション・サーバ468のようないかなる仲介者にも自分の秘密鍵を提供することを希望しない場合がある。このような場合、顧客の秘密鍵はトランザクション・サーバ468には提供されないが、一般に企業内の位置にある顧客のローム・サーバ472には提供される。したがって、上記に加えて、または上記の代わりに、認証データの暗号解読は顧客のローム・サーバ472で上記の方法と同様の方法で行うことができる。暗号化機能を含むローム・サーバ472の一実施形態を図9に示す。
【0066】
特に図9を参照すると、参照番号570は、ローム・サーバ472によって実行される機能例を全般的に示す。この機能は図8の機能550に略類似しているので、同一または類似の機能を示すためには類似の参照番号を使用した。トランザクション・サーバ468が特定の顧客の秘密鍵にアクセスしない場合、トランザクション・サーバ468は必須のECC属性を認証要求パケットに追加し、それをローム・サーバ472に送信する(ブロック572を参照のこと)。ローム・サーバ472は、ローカルに記憶されているECC情報と秘密鍵を使用してパスワードとチェックサム文字を暗号解読する(ブロック552を参照のこと)。次いでローム・サーバ472は、カウントが有効であるか否かを判定するために上記と同様の機能テストを実行する(ブロック554〜560を参照のこと)。トランザクション・サーバ468がそのデータベースをカウントの最新値で更新することができるように(ブロック576参照のこと)、ローム・サーバ472は、暗号解読されたカウントを認証返信パケットに追加する(ブロック574を参照のこと)。カウンター機能を実施するためのテーブルの一例を以下に示す。
【0067】
dialer_counter_tsテーブルは、通常は複製用に使用される。このテーブルは各トランザクション・サーバ468で作成される。
【0068】
【表1】
【0069】
最後に使用された値は、通常、例えば「SESSION」マシン上のデータベース・インスタンスに記憶される。SESSIONマシンは、通常、トランザクション・サーバ468のdialer_counter_tsテーブルからエントリをプルし、それらを単一テーブルに蓄積するために使用される。SESSIONマシンは、トランザクション・サーバ468内のすべてのdialer_counter_tsテーブルに対応する一意のスナップショットの作成もする。これらのスナップショットは、通常、dialer_counter_ts<ServerId>と呼ばれる。ここでServerIdは、特定のトランザクション・サーバ468のidである。データベース・インスタンスの一例であるSESSIONは、故障耐性を強化するために両方の沿岸で2つの同一マシンにより作成される。
【0070】
【表2】
【0071】
各トランザクション・サーバ468は、通常、Oracleのスナップショットを使用してdialer_counterテーブルを複製する。本発明の本実施形態に適応するように標準システムがアップグレードされる場合、一般に以下の変更例が作成される。
【0072】
【表3】
【0073】
【表4】
【0074】
【表5】
【0075】
暗号化/暗号解読機能
図7から9を参照して上記で説明した本実施形態では、ダイヤラー466、トランザクション・サーバ468、およびローム・サーバ472は、ECCアルゴリズムを実施し、パスワードの暗号化と暗号解読のためにAPIを提供するECC APIを含む。通常、ECC実施態様は、暗号化/暗号解読のために最適な正規基底の数学を使用する。ある種の実施形態では、数学的反転の回数を1回の乗算の犠牲に縮小するように、多項式基底の数学と最適な正規基底の数学が組み合わされる。
【0076】
特に図10を参照すると、参照番号580は、ダイヤラー466の暗号化機能の一例を全般的に示す。ブロック582で示すように、暗号化アルゴリズムはECC曲線上にランダムな点を生成する。次いでこのランダムな点は、ECCストリングの一部<暗号化されたパスワード>を作るためにパスワードとチェックサム文字(ブロック584を参照のこと)を暗号化するために使用される。ダイヤラー466はランダムな点を暗号化し、それをネットサーバ470に送信する(ブロック586および587を参照のこと)。通常、この暗号化には後述するように記号変換方式が使用される。
【0077】
既存のプロトコル、例えばPPP、PAP、RADIUSなどに対応するために、パスワード・フィールドは印刷可能なUS−ASCII文字を有する。ある種の実施形態では、文字はRFC2486標準に準拠するような方法で生成される。これらの実施形態では、パスワードおよびチェックサム・フィールドが暗号化される際、標準プロトコルを使用しているネットワークに適用することができるようにストリングを許容可能な文字で生成するよう配慮がなされる(ブロック588を参照のこと)。したがって、この符号化を実行するために以下の文字変換方式を使用することができる。符号化されるべき各文字は、まず以下に示すテーブルに従う値にマッピングされる。
【0078】
【表6】
【0079】
マッピングされた値は次いでランダムな点の対応するバイトに加えられ、モデュラス95が計算される(ブロック590を参照のこと)。この結果、文字は上記テーブルの別の文字にマッピングされる。暗号解読サーバで文字を暗号解読するには、符号化された文字からランダムな点の対応するバイトが引かれ(図11のブロック581を参照のこと)、結果のモデュラス95が計算される(ブロック583を参照のこと)。結果が負の数である場合、オリジナルの文字を得るためにその結果に値95が加えられる(ブロック585を参照のこと)。一例として、「r」を符号化に使用されるランダムな点のバイトとし、「x」をオリジナルの文字として、
符号化:y=(x+r)%95
復号:x=(y−r)%95
(x<0)の場合、
x=x+95である。
【0080】
ダイヤラー466での暗号化プロセス中に、パスワード・フィールドとチェックサム文字はランダムな点で暗号化される。これらのフィールドのそれぞれは、符号化のためにランダムな点の異なるバイトの組を使用する。パスワード・フィールドは、その符号化のために第1のバイトの組を使用し、チェックサム・フィールドはその符号化のためにバイト10を使用する。
【0081】
ダイヤラーidとカウンター値の整合性を確認するためにチェックサム文字が使用される。ダイヤラーidとカウンター値が平文で送信される場合、悪意のある人物は、これらの値を変更して、リプレイ攻撃に対する保護を破ることができる。この問題に対処するため、チェックサム文字がダイヤラーidとカウンター値から生成され、その後、それはランダムな点を使用して符号化される(図12のブロック592を参照のこと)。暗号化されたチェクサム文字は次いで、ユーザidストリングの一部として送信される。
【0082】
チェックサム文字は、カウント値、ダイヤラーid、およびランダムな点のMD5ハッシュによって生成される(図12のブロック592および594を参照のこと)。次いで7ビットがハッシュから選択され、上記の符号化方法を使用してランダムな点からの単一バイトによって符号化される(バイト#10)(ブロック596を参照のこと)。符号化されたビットは次いで、暗号化された点の最後の7バイトに分散され(ブロック598を参照のこと)、ユーザのストリングの一部として送信される(ブロック599を参照のこと)。ダイヤラー466が符号化されたデータをトランザクション・サーバ468またはローム・サーバ472に送信する際、場合によっては、これらはチェックサムを独立して生成することによって(図8および9のブロック588を参照のこと)ダイヤラーidとカウンター値を検証し、それをダイヤラー466から送信されたチェックサムと比較し(ブロック590を参照のこと)、それらが一致しない場合には拒絶する。
【0083】
図10のダイヤラー466に戻ると、符号化されたストリングは次いで以下のように連結されてECCストリングを形成する。
<符号化されたパスワード><最後の7バイトにおける符号化されたチェックサム・ビットを有するランダムな点の暗号化され符合化されたx座標>
【0084】
その後、ダイヤラー466はECCストリングをダイヤラーidとカウンター値に連結し、それをPAPなどのプロトコルのユーザidとパスワード・フィールドで送信する。例えば<符号化されたパスワード><最後の7バイトにおける符号化されたチェックサム・ビットを有するランダムな点の暗号化され符号化されたx座標><ダイヤラーid><カウンター値>。
【0085】
図10で説明した方法は、そのようなストリング長を有する暗号化されたストリングを作り、暗号化されたストリングをLEGACYシステムを使用して通信することができるような性質を特徴として含むということに留意されたい。
【0086】
暗号化論理は、通常、以下の署名によってip_spap_暗号()メソッドにカプセル化される。
char*ip_spap_encrypt(const char*algorithm、const char public_key、const char password、const char*dialar_id、const char*counter、char**plain_point、char**encrypted_point、int*returnCode)
ここで、
algorithmは使用されるべきアルゴリズムである。SecurePAP public_keyの「S」はECC公開鍵(config.iniより)であり、
passwordは平文パスワードであり、
dialer_idはダイヤラーのidであり(ダイヤラーidサーブレットから取得)、
coutnerはダイヤル試行カウント(ダイヤル試行ごとにダイヤラーによって増分される)であり、
plain_point−このフィールドが空のままである場合は、新しいランダムな点が生成される。このフィールドは、戻る際に符号化するために使用されるランダムな点を指し示す。
encrypted_point−このフィールドが空のままである場合は、暗号化された点を生成するためにプレーンな点と公開鍵が使用される。このフィールドは、戻る際にメソッドが使用する暗号化された点を指し示す。
戻りコード0−呼が成功した場合、非ゼロ・コードが提供される。このメソッドは、成功の場合にはECCストリングを戻し、そうでない場合にはヌルを戻す。
【0087】
暗号解読論理はip_spap_暗号解読()メソッドにカプセル化される。この方法は以下の署名を有する。
char*ip_spap_decrypt(const char*algorithm、const char private_key、const char ecc_string、const char*dialar_id、const char*counter、int*returnCode)、ここで、
algorithmは使用されるべきアルゴリズムである。SecurePAP private_keyの「S」はECC秘密鍵(securepapテーブルまたはesp_key_pair.txtファイルより)であり、
ecc_stringは暗号()メソッドによって戻されるストリングであり、
dialer_idはダイヤラーのid(ダイヤラーidサーブレットから取得)であり、
counterはダイヤル試行カウント(ダイヤル試行ごとにダイヤラーによって増分される)であり、
戻りコード0−呼が成功した場合であり、そうでない場合は非ゼロ・コードである。
この方法は、成功の場合には平文パスワードを戻し、そうでない場合にはヌルを戻す。
【0088】
ダイヤラーのカスタマイゼーション形式
上述のように、顧客456は、SecurePAPを使用して通信するよう構成されたカスタマイズされたダイヤラーを要求するためにウェブ形式を使用する。このウェブ形式は、通常、必要なカスタマイゼーションを指定するために使用することのできるフィールドを含んでいる。このウェブ形式は、以下のフィールドの例を含むことができる。
SecurePAP暗号化をイネーブルする:(Y/N)
公開鍵:
鍵Id:(0−9)
【0089】
ダイヤラーのカスタマイゼーション・ツール
カスタマイゼーションプロセス中、アクセス・ブローカー・システム454の管理者は、SecurePAPを使用するダイヤラー466を生成するという選択肢を有している。イネーブルされた場合、以下のフィールドの例を、通常はダイヤラー466にパッケージされているconfig.iniに設定することができる。
[iPassなどの処理機能ID]
暗号化フラグ=yes
アルゴリズム=S
鍵のバージョン=0
公開鍵=BwAAAMGdqYx21xhWtEQMdDHhwvU=&AQAAAFdd40uLQMD1UTtyBqDHY=
【0090】
特定の顧客456の対応するダイヤラー466から送信されたパスワードをトランザクション・サーバ468が暗号解読できるように、これらの値はトランザクション・データベースにも記憶されている。本実施形態では、このファイルには公開鍵しか記憶されておらず、秘密鍵は暗号化の安全のために秘密にされる。
【0091】
SecurePAPをイネーブルすることに加えて、カスタマイゼーション・ツールは、使用されるアルゴリズムと鍵のバージョンを設定するという選択肢も提供する。例えば、以下の暗号化アルゴリズムをサポートすることができる。
暗号化しない場合にはA
楕円曲線暗号化の場合にはE
一意のセッションIDに適合するECCの場合にはS
一意のセッションIDの場合にはU
【0092】
実際には、Aは主としてテストおよびデバッグのためのものである。Eは、ダイヤラーがダイヤラーidを有しない場合にパスワードを暗号化するために使用される。Uは、暗号化アルゴリズムではないが、後で詳述するように一意のセッションidを識別するために使用される。鍵のバージョンは0から開始されるが、既存のダイヤラー・プロファイルに新しい鍵対が求められるたびに増分される。ダイヤラー466は、secure_papテーブルにECC鍵および他の情報を記憶する。次いでこのテーブルはOracleのスナップショットを介してトランザクション・サーバ468に複製される。秘密鍵が漏洩すると、新しい鍵対が生成される。秘密鍵の安全性が損なわれると、ダイヤラー・サポート・チームは以下の行動を取るべきである。
1.漏洩した鍵に対して適切な失効期日を設定する。漏洩した鍵を使用しているすべてのダイヤラー466がその鍵をもう1回だけ使用することができるよう保証するにはこれで十分であるはずである。ダイヤラー466は古い鍵を使用してインターネットに接続し、アップデート・サーバから新しい鍵を有するconfig.iniファイルを取り出す。顧客456がパスワードを暗号解読するためにローム・サーバ472を使用している場合、顧客456は、通常、失効期日以後はesp_key_pair.txtファイルから漏洩した鍵を手動で除去する。
2.新しい鍵対を生成するか、または新しい鍵対を生成するよう顧客456に要求し、公開鍵をアクセス・ブローカー・システム454に送信する。
3.DCTツールを使用し、公開鍵を置き換える(新しい鍵idを使用して)。ダイヤラーを構築する。
【0093】
ダイヤラー
ダイヤラー466は、パスワードを暗号化すべきか否かを判定するためにconfig.iniファイルをチェックする。SecurePAPがイネーブルされている場合、ダイヤラー466はconfig.iniファイルの公開鍵を使用し、ip_spap_暗号化()メソッドを呼び出すことによってパスワードを暗号化する。このメソッドはECCストリングを作成し、これを戻す。ダイヤラー466はECCストリングをダイヤラーidとカウンター値に連結する。ECCストリングの最初の16文字がパスワード・フィールドに置かれ、ストリング内の残りの文字はプレフィックス・フィールド(0Sまたは0Eプレフィックスと共に)に置かれる。ダイヤラー466はダイヤラーidを取得するまではアルゴリズム「E」を使用する。このプレフィックスは、すべてのシステムおよび経路指定プレフィックスの後、顧客のプレフィックスの前に含まれる。ダイヤルされているPOPが電話帳内のPAPプレフィックスに適合しないプレフィックスを有している場合、ダイヤラー466はパスワードを暗号化せず、SecurePAPプレフィックスを作成しない。暗号化プレフィックスを含むサンプルのユーザ名を以下に示す。
ユーザID:IPASS/0S Axrt50zTxca546hjdgkbxcjc?_d0we/joe@ipass.com
パスワード:x35〜!4Qu{xy71]D8
ここで、鍵のバージョン=0でありアルゴリズム=Sである。
【0094】
アクセス・ブローカー・システム454は、暗号化が必要ないと判定した場合、ダイヤラー・カウントから一意のセッションidを作成し、それをプレフィックス・フィールドに置く。一意のセッションidプレフィックスを含むサンプルのユーザ名を以下に示す。
ユーザID:IPASS/0UAxrt5AB2/joe@ipass.com
パスワード:thisisabigsecret
ここで、鍵のバージョン=0であり、アルゴリズム=Uである。
ダイヤラー466はそのローカル・ストレージにplain_pointと暗号化された点を記憶する。
【0095】
リダイヤルが試行された場合、ダイヤラー466はカウンターを増分し、プレーンな点と暗号化された点を使用してip_spsp_暗号化()メソッドを呼び出す。
【0096】
顧客ソリューション
顧客ソリューション・プロセスは[0−9][A−Z]*/形式のプレフィックスの有無をチェックする。そのようなプレフィックスが発見されず、顧客456がパスワードの暗号解読を要求しない場合、顧客ソリューションは正常に動作する。プレフィックスが発見された場合、最初のスラッシュ(/)までの後ろから8バイトが取り除かれ、一意のセッションidフィールドとして記憶される。顧客ソリューションコードは、0S<dialer_id><couter>というコンテンツを有する一意のセッションidフィールドを作成することができる。整数が取り除かれ、鍵識別フィールドとして記憶される。アルゴリズムが取り除かれ、別個のフィールドとして記憶される。
【0097】
ダイヤラー・カウンターの複製
図示する安全なPAPの実施形態は、リプレイ攻撃に対する保護のためにdialer_counterテーブルを使用する。各トランザクション・サーバ・データベースは、dialer_couner_tsテーブルを含んでいる。トランザクション・サーバ468は、SecurePAPプレフィックスを有する正常な認証要求を受信するか否かに関わらず、新しい行をこのテーブルに挿入する。この行の内容は、server_id、dialer_id、カウンターおよびシステム・タイム(GMTで)を含む。
【0098】
SESSIONデータベースは、すべてのトランザクション・サーバ468でのdialer_counter_tsテーブルに対するスナップショットを含んでいる。これらのスナップショットは、通常、dialer_counter_ts<SERVER_ID>と呼ばれる。ここで、<SERVER_ID>は特定のトランザクション・サーバ468のidである。
【0099】
トランザクション・サーバ468からのスナップショットをリフレッシュするために「リフレッシュ」ツールが提供される。dialer_counter_ts_<SERVER_ID>は、挿入されているカウンターの値がdialer_counterテーブルのカウンターの値と等しいかまたはそれよりも大きい場合、挿入される行のdialer_id、カウンター、およびaccess_timeをdialer_counterテーブルに更新/挿入する「ON INSERT」PL/SQLトリガーを有する。トランザクション・サーバ468は、SESSIONデータベースのdialer_counterスナップショットをリフレッシュするためにリフレッシュ・ツールを使用する。次いでdialer_counterテーブルは、より高速なアクセスのためにトランザクション・サーバ468によりキャッシュされる。実行中にdialer_counterテーブルの記録に何らかの変更が加えられた場合、その影響は即座に現れる。これは、データベース・トリガーとchache_updateテーブルを使用するアクセス・ブローカー・システム454の他の構成要素で使用されているのと同じ機構を使用することによって達成される。
【0100】
トランザクション・サーバ
起動時、効率的なルックアップのためにアクセス・ブローカー・システム454は、データベースのすべての秘密鍵をローカル・キャッシュに読み込む。これは、特定の顧客456がパスワードの暗号化を要求しているか否かを示すために顧客のキャッシュに追加の属性も有する。トランザクション・サーバ468は、dialer_counterテーブルもキャッシュする。実行中にこれらのテーブルに何らかの変更が加えられた場合、その影響は即座に現れる。これは、データベース・トリガーとchache_updateテーブルを使用するアクセス・ブローカー・システム454の他の構成要素で使用されているのと同じ機構を使用することによって達成される。
【0101】
暗号化されたプレフィックス・フィールドが「S」アルゴリズムを指定する場合、トランザクション・サーバ468はパスワード・フィールドの内容を、顧客ソリューション・プロセスによって構築された暗号化されたプレフィックス・フィールドに連結し、「ECCフィールド」を作成する。ECCフィールドは以下を含んでいる。
<符号化されたパスワード><ランダムな点の暗号化され符号化されたx座標><符号化されたチェックサム文字>
【0102】
トランザクション・サーバ468は、鍵インデックスを使用して適切な顧客456に対する秘密鍵を探し出す。秘密鍵がデータベースで発見された場合、パスワードを暗号解読し復号するためにトランザクション・サーバ468はip_spap_暗号解読()メソッドを呼び出す。次いでパスワード・フィールドはローム・サーバ472に送信される前に平文パスワードによって上書きされる。
【0103】
秘密鍵がキャッシュで発見されない場合、トランザクション・サーバ468は、通常、認証要求パケットに以下のフィールドを付加し、それをローム・サーバ472に送信する。そのフィールドとはすなわち、アルゴリズム、鍵インデックス、ECCフィールド(パスワードとして)、ダイヤラーid、カウンター、最後に使用されたカウンターの値およびアクセス・タイム(データベースから)、および「yes」に設定された「decrpt_at_roamServer」フラグである。
【0104】
次いでトランザクション・サーバ468は、認証の細目をip_auth_transテーブルに、dialer_counterの細目をdialer_counter_tsテーブルに記憶する。トランザクション・サーバ468は、通常、挿入が更新よりも一般に高速の場合にはいつでも新しいdialer_counter_ts記録を挿入する。
【0105】
トランザクション・サーバ468は、アカウント要求を受信すると、一意のセッションidを作成するために顧客ソリューション・プロセスを使用し、それをパケットに「ipass_session_id」として付加する。tr_useridフィールドは、raw_useridを含んでいる。
【0106】
ESPツール
公開/秘密鍵対を生成し、暗号化アルゴリズムと暗号解読アルゴリズムをテストするために、顧客456はそのローム・サーバ472、DCTチーム、およびQAチームと共にESPコマンド行ツールを使用する。
esp_genkey(ローム・サーバ472を有する顧客456の場合)
【0107】
このツールは、esp_key_pair.txtと呼ばれるファイルに公開/秘密ESP鍵対をプリントする。このファイルは、Unixの/usr/ipass/keysディレクトリとWindows(登録商標)用のIPASS_HOME/keysディレクトリに常駐する。ダイヤラー466を公開鍵で構築することができるように、鍵はアクセス・ブローカー・システム454に、例えば安全なウェブサイトを介しても提出される。通常、秘密鍵の安全なバックアップも維持される。
esp_genkey_dct:
【0108】
このツールは、公開/秘密ESP鍵対を標準出力にプリントする。これはDCTの要件を満たす形式でプリントされる。出力例を以下に示す。
1
公開
鍵:BgAYVK1azUt8comk41GzLw=&ADIkGfMgNChM4vY6+nLgTqo=
秘密鍵:AQAAAAZOSNH13PaG3NuqGbU7TY0=
【0109】
最初の行は、鍵の生成が成功したことを示す「1」を含んでいる。エラーが発生した場合、出力は「0」の値を有する。
esp_qa:
このツールは、ECC APIをテストするために使用可能な複数のコマンド行の選択肢を有している。サポートされる選択肢のサンプルの一例を以下に示す。
esp_qa genkey
esp_qa encrypt[−a<algorithm>−d<dialer_id>−c<counter>]−k<public_key>−t<text>
esp_qa decrypt[−a<algorithm>−d<dialer_id>−c<counter>]−k<private_key>−t<text>
esp_qa testipg[−a<algorithm>−d<dialer_id>−c<counter>]−k<public_key>−t<text>−u<uid
@domain>
esp_qa test −t<text>
括弧[]内の選択肢は任意選択である。各esp_qaコマンドは以下のように記述される。
genkey−公開/秘密鍵対を生成する。
encrypt−所与のpublic_keyによってテキスト(パスワード)を暗号化する。
decrypt−所与の秘密鍵によってテキスト(パスワード)を暗号解読する。
testipg−「暗号化」を実行し、次いで所与のユーザに対してcheck−ipenコマンドを実行する。
test−基本的なECC APIテスト。アルゴリズムSに対してgenkey、encrypt、およびdecryptを実行する。
【0110】
ローム・サーバ
ローム・サーバ472は、通常、トランザクション・サーバ468から受信したパケットの「decrypt_at_roamserver」フィールドの有無をチェックする。このフィールドがある場合、ローム・サーバはパケットの「鍵インデックス」フィールドを使用し、esp_key_pair.txtファイルの秘密鍵をフェッチする。秘密鍵、ダイヤラーid、およびカウンター値を有するECCストリングが、ip_spap_暗号解読()メソッドに送られる。ip_spap_暗号解読()メソッドは、このパスワードを復号し暗号解読する。次いでユーザを認証するためにローム・サーバ472によって平文パスワードが使用される。
【0111】
図6に戻り、ダイヤラー466が一度上記の方法を実行すると、認証データは、遠隔ISP506の認証サーバ600に送信された後でNAS532に通信される。動作の正規のコースでは、遠隔ISP506のNAS532は提供された認証情報を拒絶する。しかし図6に示すように、ネットサーバ470は、この認証情報を正規のユーザ要求ではなくローミング・ユーザの認証要求として認識することを容易にするために認証情報を代行受信する。
【0112】
認証サーバ600は、ネットサーバ470と共に、ローミング・ユーザ502に関連付けられたローミング・ドメイン名または経路指定プレフィックスを決定するために、受信した認証情報を構文解析する。そのようなドメイン名またはプレフィックスが存在する場合、ユーザの認証情報は上記のように暗号化され、ネットサーバ470からセキュア・ソケット・レイヤ(SSL)を介してトランザクション・サーバ468に送信される。
【0113】
トランザクション・サーバ468は、要求を経路指定するためにセッションIDの顧客経路指定プレフィックスを使用することができる。代わりに、トランザクション・サーバ468は、インターネット・プロトコル(IP)ルックアップを実行することができ、認証要求を適切なホームISP504に経路指定する。より具体的には、トランザクション・サーバ468は、遠隔ISP502のネットサーバ470から暗号化された認証要求を受信し、この要求を図7から9を参照して上記で説明したように暗号解読する。次いでトランザクション・サーバ468は、所望のホームISP504のローミング・ドメイン名または経路指定プレフィックスを参加者ドメイン名およびIPアドレスの現行リストと照合することによって「ホーム」ISP504を決定する。照合が成功した場合、認証要求は暗号化され、ホームISP504に常駐しているローム・サーバ472にSSLを介して送信される。識別されたローム・サーバ472が指定期間内に応答しない場合、トランザクション・サーバ468は、関連ドメインのISPの代替ローム・サーバ472に接触するよう試みる。
【0114】
次いでホームISP504のローム・サーバ472は、上記のようにトランザクション・サーバ468から送信された認証要求を暗号解読し、その認証要求をホームISPの正規の認証サーバ602に、あたかもそれが顧客プレフィックスを使用するホームISP504の所有するターミナル・サーバまたはNAS532であるかのように提出する。ホームISP504の認証サーバ602は、その要求に応えて、認証要求に含まれるユーザ名およびパスワードの有効性に基づいて「アクセス許可」または「アクセス拒否」応答を提供する(図8を参照のこと)。ホームISPの認証サーバ602からの応答は、ローム・サーバ472によって受信され、暗号化され、トランザクション・サーバ468に送信されて戻される。
【0115】
一意のセッションID
複数のトランザクション・データ記録を関連付ける方法およびシステムの一例を以下に示す。この方法およびシステムは、通常上記の暗号化/暗号解読方法と共に使用される一意のセッションidの生成および使用を記載する。
【0116】
上記のように、ポイント・ツー・ポイント(PPP)、パスワード認証プロトコル(PAP)、チャレンジ・ハンドシェーク認証プロトコル(CHAP)、遠隔認証ダイヤルイン・ユーザ・サービス(RADIUS)プロトコル、ターミナル・アクセス・コントローラ・アクセス制御システム(TACACS)プロトコル、ライトウェイト・ディレクトリ・アクセス・プロトコル(LDAP)、NTドメイン認証プロトコル、Unixパスワード認証プロトコル、ハイパーテキスト転送プロトコル(HTTP)、セキュア・ソケット・レイヤを介したハイパーテキスト転送プロトコル(HTTPS)、拡張認証プロトコル(EAP)、転送レイヤ・セキュリティ(TLS)プロトコル、トークン・リング・プロトコル、およびセキュア遠隔パスワード・プロトコル(SRP)などのような通信プロトコルは、ユーザIDストリングに備える。それぞれの異なるプロトコルが許可する文字のサイズまたは長さは異なる場合があるが、上記に列挙したプロトコル例がサポートするサイズの最小共通分母は通常は約63文字である。この場合、一意のユーザ・セッションIDを提供することによって、認証、アカウンティング、およびSQM処理が強化される。
【0117】
例示のマルチパーティ・サービス・アクセス環境450に対する上記プロトコルの適用にはユーザIDストリングが含まれおり、したがってこれは様々な参加者が生成したすべての関連するトランザクション・データ記録、例えばトランザクション・サーバ468、サービス・プロバイダ452、および顧客456に共通している。しかしある種の環境では、それらのプロトコルで使用されている従来技術のユーザIDストリングはマルチパーティ・サービス・アクセス環境450の特定のユーザに一意に関連付けることができるが、特定の単一ユーザ・セッションには一意に関連付けられない。例えばネットワーク・タイムアウトおよびパケット再試行アルゴリズムが原因で、単一トランザクション・データ記録がトランザクション・サーバ468に複数回送信され、それらの記録のどれか1つまたは複数が不良である場合、同一の単一ユーザ・セッションに関連する記録の複数のインスタンスが設定システム474に存在する場合がしばしばある。さらに、認知された失敗した通信の試行を再送する試みにおいて、ある種のNAS470(図6を参照のこと)は実際にユーザ・セッションIDストリングを変更し、その結果、同一の単一ユーザ・セッションに対して異なるトランザクション・データ記録が生じることになる。上記説明は、不十分なアカウンティング記録の2つの例にすぎないが、多数の他の状況があるということが理解されよう。
【0118】
本発明の別の実施形態によれば、単一ユーザ・セッションに応答して生成された関連トランザクション・データ記録は、共通の一意のセッションIDを含む。場合によっては、このセッションIDは、個々のユーザの使用情報の強力だが必ずしも絶対的ではないIDを提供する場合があり、この一意のユーザ・セッションIDは少なくともある種のパラメータ内では一意であるべきである。例えば、所与の期間中に生成されたすべての記録を、一意のユーザ・セッションIDを使用して関連付け、処理することができるように、一意のユーザIDはその所与の期間だけは一意であってよい。
【0119】
通常、上記のプロトコル例の場合、ユーザIDストリングは、ネットワークにアクセスしているユーザのユーザ名とパスワードだけでなく、顧客領域を含む経路指定情報を含む。例示のマルチパーティ・サービス・アクセス環境450で使用されるユーザIDまたはIDストリングは、通常は以下に示す通りである。
<FacilityRoutingPrefix>/[<FacilityLocationPrefix>]/[<CustomerRoutingPrefix>]/[CustormerPrefix(s)]/<EndUserName>@[<NonRoutingCustomerDomain>]|[<CustomerRoutingDomain>]
ここで、
<FaclityRoutingPrefix>は、トラフィックをアクセス・ブローカー・システムまたはファシリティ454のネットワークに経路指定するためにISP458、無線アクセス・プロバイダ460、コンテンツ配信プロバイダ462、電子商取引プロバイダ464など(アクセス・プロバイダ)が使用する独自開発のプレフィックスである。
<FacilityLocationPrefix>は、ファシリティ454にアクセスを提供する点またはノードの位置を決定するためにファシリティが使用するプレフィックスである。
<CustomerRoutingPrefix>は、トラフィックを顧客のサイトに経路指定するためにアクセスまたはサービス・プロバイダ452が使用するプレフィックスである。
<CustormerPrefix(s)>は、内部経路指定のために顧客456が使用するプレフィックスである。
<EndUserName>は、ファシリティ454を使用しているエンド・ユーザ502のログイン・ユーザ名である。
<CustomerRoutingDomain>は、トラフィックを顧客のサイトに経路指定するためにシステム454が使用するドメインである。ユーザIDストリングは<CustomerRoutingPrefix>または<CustomerRoutingDomain>を含む。
<NonRoutingCustomerDomain>は、内部経路指定のために顧客456が使用するドメインである。
【0120】
次に、一意のセッションIDを上記プロトコルの1つのプロトコルのユーザIDフィールドに適合させる実現可能な方法の一例を説明する。しかし一意のセッションIDを含めることを他の方法で実施することができるということが理解されよう。ダイヤラーがパスワードの暗号化にEタイプのアルゴリズムを使用する場合、代わりの解決法の例が実施される。Eタイプのアルゴリズムは、ユーザ名の暗号化されたランダムな点を含む。暗号化されたランダムな点は、個々のユーザ・セッションの強力だが必ずしも絶対的ではないIDを提供し、したがって一意のセッションidとして使用される。
【0121】
上記のように、例示のプロトコルがサポートする独自開発の情報に対する最小共通分母の使用可能なストリング長は、通常、約63文字である。一意のセッションidはユーザ名フィールドが科す制限内に適合すべきである。
【0122】
一意のセッションIDを生成するために(図20のブロック802を参照のこと)、各サービス・プロバイダ452に常駐する接続ダイヤラーの一形態である接続アプリケーション466は、アクセス・ブローカー・システム454のウェブ・サーバ806のサーブレットから接続アプリケーション466を識別するダイヤラーIDを取得する(図15を参照のこと)。ダイヤラーIDは、通常、一意のダイヤラーIDでもある。ダイヤラーIDは、ユーザ優先ファイルに記憶されており、ダイヤラーが最初にインストールされた際には、ユーザ優先ファイルのダイヤラーIDは通常は空である。ダイヤラー466が最初に、例えばインターネットに接続した時点では、ダイヤラー466は、通常、ウェブ・サーバ806に新しいダイヤラーIDを要求する(ブロック800を参照のこと)。図示する実施形態では、ダイヤラーは、ウェブ・サーバ806から一意のダイヤラーIDを取得するまでは一意のセッションIDを作成しない。したがって、ダイヤラーIDが一意のセッションIDの一部を構成している本実施形態では、ダイヤラー466からの最初の正常なセッションは一意のセッションIDを含んでいない。しかしダイヤラー466は、いかなる後続の試行に対してもそのダイヤラーIDを有する。
【0123】
ダイヤラー466は、固有のダイヤラーIDに加え、内部的に維持され、ユーザ優先ファイルに記憶されているカウンター467も含む。カウンター467はダイヤル試行のたびに増分される(ブロック802を参照のこと)。ダイヤラー466は、ダイヤラーIDとカウンターを使用して本実施形態では11文字で定義される(図18を参照のこと)セッションIDインジケーターを後続のダイヤル試行のたびに生成する。カウンター467がダイヤル試行のたびに増分されるので、ダイヤラーは大域的に一意のセッションIDである<dialer id><counter>を生成する(ブロック802を参照のこと)。本実施形態では、セッションIDには、識別子、例えばユーザIDストリングがローミング・サーバ472に渡される前にトランザクション・サーバ468によって取り除かれた、ファシリティまたはアクセス・ブローカー・システム454に関連付けられた「OU」などの3文字によってプレフィックスが付けられる(図5を参照のこと)。したがって、一意のセッションIDに11文字が含まれる場合、8文字はダイヤラーIDとカウンター用に使用可能であるということになる。
【0124】
例示のダイヤラーIDとカウンターの両方が基数64を有する数を使用する。この番号付け方式に使用される記号はA〜Z、a〜z、0〜9、&および?を含む。カウンター467は、各ダイヤルの試行以前に増分され、ダイヤラーIDは0で事前充填され、本実施形態では5桁の入力によって定義される。したがって、カウンター467用には3桁が残っている。したがって、ダイヤラーID用に使用される5桁は1073741824(十億以上)の一意のダイヤラーのインストールを可能にし、3桁のカウンターは262144のダイヤル試行を可能にする(一日あたり20の試行と仮定して、カウンターは23年後にリセットされることになっている)。したがってこの期間中、セッションIDは各ユーザ・セッションを一意に定義することになる。しかし、一意のセッションIDに割り振られ、または使用される文字数は、システムが対応するプロトコルの1つまたは複数のタイプによってシステムごとに異なる場合があるということを理解されたい。
【0125】
トランザクション記録の処理
図14は、アクセス・ブローカー・システム454が役立つ場合がある、本発明の一実施形態によるアカウンティングおよび設定手順を示すブロック図である。
【0126】
ローミング・ユーザ502が遠隔ISP506に接続する際、セッションを管理しているターミナル・サーバ(またはNAS)470は、ユーザIDストリングを含むトランザクション・データ記録、つまり11文字の一意のセッションIDを生成し、この情報を認証サーバ600に送信する。認証サーバ600は、ネットサーバ470と共にローミング・ユーザに関連付けられたローミング・ドメイン名とプレフィックスを決定するためにアカウンティング情報を構文解析する。そのようなドメイン名またはプレフィックスがある場合、ユーザのアカウンティング情報はRSAデータ・セキュリティーズからのアルゴリズムを使用して暗号化され、ネットサーバ470からセキュア・ソケット・レイヤ(SSL)を介してトランザクション・サーバ468に送信される。
【0127】
ローミング・ユーザ502が遠隔ISP506から切断する際、セッションを管理しているターミナル・サーバ(またはNAS)470は、ユーザIDストリングを含むトランザクション・データ記録、つまり11文字の一意のセッションIDを生成し、この情報を認証サーバ600に送信する。認証サーバ600は、ネットサーバ470と共にローミング・ユーザに関連付けられたローミング・ドメイン名とプレフィックスを決定するためにアカウンティング情報を構文解析する。そのようなドメイン名とプレフィックスがある場合、ユーザのアカウンティング情報はRSAデータ・セキュリティーズからのアルゴリズムを使用して暗号化され、ネットサーバ470からセキュア・ソケット・レイヤ(SSL)を介してトランザクション・サーバ468に送信される。
【0128】
トランザクション・データまたはアカウンティング記録は、アカウンティング情報がデータベースに記憶されている場合に、SSLを利用しているトランザクション・サーバ468に略リアルタイムで通信される。マルチパーティ・サービス・アクセス環境450のすべての様々な構成要素または参加者は、ユーザIDストリング、つまり一意のセッションIDを受信するが、これはトランザクション・データ記録が設定システム476に送信される際に、単一ユーザ・セッションに関連付けられたトランザクション・データ記録に付随する。したがって、様々な異なる参加者から送信されたトランザクション・データ記録は、それら自体が発生する元になった単一ユーザ・セッションを識別する識別子を含む。
【0129】
これらのアカウンティング情報は、通話詳細記録(CDR)を作るために設定システム476によってさらに処理される。各通話詳細記録は、関連サービス・アクセスが行われた場合にローミング・ユーザ502の識別に関する詳細な使用報告と、サービス・アクセスの位置と、各サービス・アクセス・セッションの長さおよびコストと、サービス・アクセスの時間(例えばローカル時間またはGMT時間)とを提供する。
【0130】
複数のトランザクション・サーバ468は、アカウンティングまたはトランザクション・データ記録を設定システム476に提供し、設定システム476はこれらの記録を利用して顧客456に対する請求書(またはインボイス)を作成し、サービス・プロバイダ504への支払いを行う。しかし、トランザクション・サーバ468に送信されたアカウンティング情報は、様々な理由から、不完全であり、あるISPと次のISPでは異なり、複数回送信される、などの可能性があるということを理解されたい。したがって、同一の単一ユーザ・セッションに関する様々な異なる、また不完全である可能性のある記録が、トランザクション・サーバ468によって受信される場合がある。
【0131】
当然ながら、特定のユーザ・セッションから発生するすべてのトランザクション・データ記録を識別または関連付けることは、設定システム474が請求書を作成し、それらを顧客456に分配し、その結果、顧客456が設定システム474に支払うことができ、同様に自身の顧客に対しても適宜請求書を作成することができるという点で有利である。同様に、設定システム474は、ローミング・ユーザが使用する利益を生むアクセス・タイムに関して遠隔(またはビジター)ISPまたは他のサービス・プロバイダ452に対して支払いを行う。設定システム474は、ローミング・ユーザが認可した使用に対する支払いもさらに保証することができる。したがって設定システム476の運営者は、複数の関係者間でサービス・アクセス・トランザクションの金銭上の決済を容易にするための機構を提供する安全で信頼性のあるエンティティとして動作する。設定システム476は、タイムリーで自動的かつ便利な方法で設定を可能にするために多数の自動機能および動作を実現する。そのような設定またはサービス・アクセス・トランザクションを容易にする設定システムの動作に関するさらなる詳細について以下で説明する。
【0132】
物理的アーキテクチャ
図15は、本発明の一実施形態によるアクセス・ブローカー・システム454の物理的アーキテクチャを示す図である。複数のトランザクション・サーバ468は、それぞれが関連するデータベース812にアクセスする1つまたは複数のサーバ・マシン810に常駐しているように示されている。サーバ・マシン806に常駐しているウェブ・サーバと電話帳サーバは、遠隔内部ユーザ814および顧客456によってアクセス可能である。ウェブ・サーバは、ウェブ・ページ(例えばHTML文書)を生成し、遠隔内部ユーザ814と顧客456の両方に配信するように動作する。上記のように、本発明の一実施形態では、マシン806に常駐しているウェブ・サーバ上のサーブレットは、一意の接続アプリケーションIDをダイヤラーIDの一例である形態で、サービス・プロバイダ452に常駐している各ダイヤラーまたは接続アプリケーション466に提供する。電話帳サーバ(電話帳管理システム480の一部)は、顧客452の電子電話帳を維持・更新するように動作し、したがってサービス・プロバイダ452への/からの更新を受信/発行し、そのような更新を顧客456に発行する。
【0133】
設定システム476および内部ユーザ816の集合は、ファイヤーウォール818の背後に常駐しているように示されている。具体的には、設定システム474は、中央データベース822にアクセスする1つまたは複数のサーバ・マシン820上のホストとなる。
【0134】
概要−設定システム
図16は、本発明の一実施形態による設定システム474のアーキテクチャを示すブロック図である。設定システム474は、バックエンド・アプリケーション824、フロントエンド・アプリケーション826、データ蓄積/報告アプリケーション828、およびシステム・インターフェース830を含んでいる。
【0135】
バックエンド(またはサーバ側)・アプリケーション824は、トランザクションの価格を設定し、1つのトランザクションに関与するすべての関係者の残高を更新し、信用限度を検証する設定アプリケーション832と、アカウンティング・サイクルを終了し、定期料金を適用し、インボイスおよび通話詳細記録(CDR)を含む請求書報告を生成し、請求書報告をウェブに発行する請求書作成アプリケーション834と、ビジネス・ルールと中央データベース822の構造上の保全性とを検証する監査アプリケーション836とを含むように示されている。設定アプリケーション832は、柔軟な価格設定エンジン476を実施するように示されている。
【0136】
本実施形態では、設定アプリケーション832は、正規化機能、集計機能、および検証機能を担当する。正規化機能には、複数のトランザクション・サーバ468から受信したアカウンティング・データを請求書作成のために使用される単一形式CDRに変換すること、サービス・アクセス・トランザクションに関与する関係者を識別すること、および特定のサービス・アクセス・トランザクションに関してアクセス・ブローカー・システム454がプロバイダ452に対して支払い義務のある価格と顧客456がアクセス・ブローカー・システム454に対して支払い義務のある価格とを定義することが含まれる。集計機能には、サービス・アクセス・トランザクションに関与するすべての関係者について購入価格と販売価格を残高に記入すること、および適切な残高を更新することを必要とする。検証機能には、信用限度の検証が含まれる。
【0137】
設定システム474は、プロバイダ452と顧客456の両方による略リアルタイムの収入/勘定追跡を可能にするサービス・アクセス・トランザクションの略リアルタイムの設定を提供するよう動作する。
【0138】
本発明のある種の実施形態では、設定システム474は、以下の特徴を有する柔軟な価格設定モデルをサポートする柔軟な価格設定エンジン476を含む。
1.顧客456、サービス・プロバイダ452、サービス・アクセスの位置、サービス・アクセスの種類(例えばダイヤルアップ・モデム、ISDN、DSL)、または特定の顧客456について特定周期中に蓄積された使用量などによって異なる多彩なデータ構造。
2.(a)使用量による(例えば速度およびセッションの長さに応じた)価格設定、(b)トランザクションによる(トランザクションあたりいくらという)価格設定、および(c)加入ベースの、すなわち均一な価格設定(例えば顧客456に対する1回の請求書作成周期中の全使用量に対する1つの価格、または請求書作成周期中の顧客に対するユーザごとの1つまたは複数の価格)。
3.申し込まれた割引および販売促進。
4.開業料金、月次料金、および最低月次手数料のような様々な料金。
5.マルチティアの価格設定方式、または内部プロバイダ・ローミング。ここで特定の位置に関する買い相場と売り相場はプロバイダ452によって異なり、またサービス・アクセスのサービス・ユーザ/顧客456がさらに別の顧客456、その提携者、またはそれらの顧客に属しているか否かによって異なる。
【0139】
この柔軟な価格設定エンジン476はデータベース主導によるものであり、したがって適切な計画を中央データベース822内で維持されている価格設定テーブル(図示せず)にロードすることによって新しい価格設定モデルの実施を可能にしている。より具体的には、柔軟な価格設定エンジン476は、マルチティアの価格設定モデルに役立ち、それによって単一サービス・アクセス・トランザクションに対する相場は、複数の基準によって消費者(または顧客)の複数のティア(tier)全体に適用することができる。これらの基準には、特に、使用量(例えば蓄積された使用時間または値の合計)による価格設定、およびトランザクション(例えば蓄積されたトランザクションの合計数)による価格設定の任意の組み合わせを含めることができる。
【0140】
図16およびフロントエンド・アプリケーション826に戻ると、データ管理アプリケーション838は、ビジネス・プロセスを実行し、情報目的でデータを閲覧するためにアクセス・ブローカーの様々な機能ユニットによって使用される。この目的で、データ管理アプリケーション838は、顧客456およびアクセス・ポイントに関する情報を管理し、アカウンティング機能および経営管理機能を実行するために様々なユーザ・インターフェースを提供することができる。
【0141】
注文処理アプリケーション840は、新しい法人顧客に注文を出すために顧客456(例えばソリューション・パートナー488または再販業者)にユーザ・インターフェースを提供する。
【0142】
データ蓄積/報告アプリケーション828は、運営報告、機能報告、およびネットワーク・ロード報告を可能にするように日毎、または月毎にデータを集計する複数の処理を含む。
【0143】
システム・インターフェース830は、トランザクション・サーバ・ローダー842、プロバイダ・ローダー844、およびアカウンティング・システム・インターフェース(図示せず)を含むローダー・アプリケーションを有する。まずトランザクション・サーバ・ローダー842を扱うことによって、「データ・ローダー」構成要素は、それぞれのトランザクション・サーバ468のデータベース812から中央データベース822に、一意のセッションIDを含めてトランザクション・データ記録の形式でアカウンティング記録を処理するためにプルする。複数のトランザクション・サーバまたはバッチ・ローダー842は、分散型データベース・リンクとして実施することができ、アカウンティングまたはトランザクション・データ記録は略リアルタイムでローダー842を介してプルされる。
【0144】
概要−データ・モデル
図17Aは、顧客テーブル846、アクセス・ポイント・テーブル848、価格設定テーブル850、CDRテーブル852、アカウンティング・テーブル854、認証トランザクション記憶領域またはテーブル856、バッチ履歴記憶領域またはテーブル858、およびSQM記憶領域またはテーブル860を含むデータ・モデル例845を示すブロック図である。
【0145】
アクセス・ブローカー・システム454のネットワーク構成要素は、ある種の実施形態では、トランザクション・データ記録から経路指定プレフィックスを取り除くことができる。これらの構成要素のいくつかは、ユーザIDストリングの末尾を切り捨てることもできる。一意のセッションidプレフィックスは、経路指定プレフィックスではなく、またユーザ名の末尾にあるわけでもないので、取り除かれることも末尾が切り捨てられることもない。したがってユーザIDストリングは、それがユーザ・セッションを一意に定義するよう使用される前にこれらの欠点を除去するために処理される。変更されたユーザ・セッションIDは、使用可能な以下の構成要素の多くを使用して構築される。
<AuthCustomerId>/<UniqueID>/[CustomerPrefix(s)]/<EndUserName>@<NonRoutingCustomer Domain>
ここで、
<AuthCustomerId>は、顧客ソリューション・プロセスによって作られた認証顧客IDである。
<UniqueID>は、上記のような接続アプリケーション466によって生成された一意のセッションIDコード、0Uxxxxxxxx/、プレフィックスである。
<CustomerPrefix(s)>は、上記のような内部経路指定のために顧客が使用するプレフィックスである。
<EndUserName>は、上記のようなアクセス・ブローカー・システム454に接続しているエンド・ユーザのユーザIDである。
<NonRoutingCustomerDomain>は、上記のような内部経路指定のために顧客が使用するドメインである。
【0146】
特に図17Bを参照すると、プロバイダ・ローダー844は、一意のセッションIDを含む通話詳細記録(CDR)またはトランザクション・データ記録をプロバイダ452からバッチ形式で受信する。CDRデータはプロバイダ・ローダー844によって処理される。プロバイダ・ローダー844は適切なFTPサイトからデータを取り出し、それをトランザクション・サーバ468から受信したデータと同じ形式に変換することができる。具体的には、トランザクション・サーバ468は、ユーザ・アクセス・セッションが上記のように認証されるたびに変更されたユーザ・セッションIDを構築し、それを認証トランザクション・テーブル856のsession_idフィールドに、またアカウント・トランザクション・テーブル854のsession_idフィールドに記憶する(図17Aを参照のこと)。認証トランザクション・テーブル856に記憶されている変更されたセッションIDごとに、対応するトランザクション・データ記録は、処理するために設定システム474によって受信されるべきであるということが理解されよう。トランザクション・サーバ468と類似の仕方で、バッチ・ローダー842、844はそれぞれに、サービス・プロバイダ452のトランザクション・サーバ468から受信した各トランザクション・データ記録から変更されたトランザクション・データ記録を組み立て、または構築する(図5および17Bを参照のこと)。ローダー842、844からの変更されたセッションIDは、バッチ履歴テーブルのsession_idフィールドに記憶される。同様にして、SQMプロセスは、変更されたセッションIDを構築し、それをSQMテーブル860のsession_idフィールドに記憶する。
【0147】
一意のコードを含めて一意のセッションIDの使用は、以下の問題に対処する際に使用することができる。
【0148】
欠落したアカウンティング記録
欠落したアカウンティング/トランザクション・データ記録(図19のブロック862を参照のこと)は、配信の失敗、変形した記録、誤った経路指定など様々な理由で発生する可能性がある。配信の失敗は、ISPからのインターネット接続(例えば図6のネットサーバ470)が中断され、したがって設定システム476へのトランザクション・データ記録の配信がブロックされた場合に発生する可能性がある。数分以上の長期にわたって続く接続の停止は、通常、最低限の送信再試行機能が原因でネットサーバ476にトランザクション・データ記録を破棄させることになる。RADIUSプロトコルを使用する際、変形した記録は、通常、サービス・プロバイダの認証サーバを含めて複数の中間点のどこでも破棄される(例えば認証/認可サーバ602またはネットサーバ470(図6を参照のこと))。誤って経路指定された記録は、偶然または不正な目的でISP認証サーバ602の構成が不適切であるために送信されない記録である。
【0149】
ユーザによるすべてのアクセス・セッションは最初に認証を必要とするので、認証トランザクション・テーブル856の各session_idフィールドはacct_transテーブルに対応するsession_idフィールドを含むべきである。したがって、session_idフィールドを関連付け、照合し、相関関係を証明し、精査することにより、欠落したアカウンティング/トランザクション・データ記録を決定することができる。図示する実施形態では、欠落したアカウンティング/トランザクション・データ記録は、通常、認証トランザクションすなわちauth_transテーブル856に認証要求記録を有するが、アカウンティングすなわちacct_transテーブル854には一致するアカウンティング開始および/またはアカウンティング停止記録は有しない。したがって、auth_transテーブルの各session_idフィールドに対応するacct_transテーブルのすべてのsession_idフィールドを検索することによって、欠落したアカウンティング/トランザクション・データ記録を発見することができる(ブロック864〜872を参照のこと)。
【0150】
不適切なアカウンティング記録
不適切なアカウンティング/トランザクション・データ記録は、一般に図6のサーバ600などのプロバイダの認証サーバ(AAAサーバ)の不適切な構成が原因で設定システム474(図6を参照のこと)によって受信される場合がある。不適切な構成により、通常、プロバイダの認証サーバ600は、すべてのアカウンティング/トランザクション・データ記録をユーザ・アクセス・セッションの認証を担当するプロキシだけにではなく、すべてのプロキシに送信することになる。この場合、不正確な受信者のauth_transテーブルにはsession_idフィールドがまったくない。これらのアカウンティング/トランザクション・データ記録は、通常、対応する認証記録を有していないので、これらは比較的容易に識別することができ、また例えば顧客サポート・チームは、プロバイダの構成上の問題を解決することができ、そのような不正確な伝送の再発を防止することができる。これらの場合、図19に示す方法を使用することができる。ただし、acct_transテーブルのエントリに対応する一意のセッションIDを見つけるためにauth_transテーブルが検索される。
【0151】
重複したアカウンティング記録
重複したアカウンティング記録は、同一の単一アクセス・セッションを記述する複数のトランザクション・データ記録である。図示する実施形態では、重複したトランザクション・データ記録は、各リアルタイムのアカウンティング/トランザクション・データ記録の6個の「鍵」フィールドを過去30日以内に受信したすべての他のリアルタイム・アカウンティング/トランザクション・データ記録と照合する比較的単純なアルゴリズムを使用して設定システム474によってアクティブにフィルタリングされる。使用されるフィールドの例としては、RADIUSセッションID、プロバイダID、NAS IPアドレス、ユーザ、ドメイン(ユーザauth領域)およびセッション・タイムがある。
【0152】
ある種の実施形態では、すべての6個のフィールドがCDRテーブルの格付け済み記録内のフィールドと一致した場合、現行の記録は重複とマーク付けされ、破棄される。
【0153】
重複したアカウンティング記録は、以下の様々な理由から生じる可能性がある。
【0154】
アカウンティング/トランザクション・データ記録は、送信者に対してアカウンティング−応答メッセージを適宜送信することによって確認応答する必要がある。残念ながら、「適宜」はRADIUSの仕様によっては定義されず、数秒後、数時間後、または数日後に異なるベンダーおよび構成が確認応答していないアカウンティング・トランザクションを再送する場合がある。アカウンティング要求は設定システムによって実際に受信されたが、確認応答が消失または変形した場合、発信者はアカウンティング記録の複数のコピーを再送する場合がある。そのような記録はすべて、受信側トランザクション・サーバ468によって補足され、最終的には処理するために設定システム474によって取り出される。このクラス特有の変形が発生する場合があるが、これは設定重複フィルタリング・アルゴリズムを逃れるものであり、送信側NAS532は再送のたびに更新された(例えば増分されて長くなった)セッション・タイムを送信するか、またはRADIUSセッションIdが再送と再送の間で変更される。場合により、NAS532は一定したNAS IPアドレスを送信せず、その場合、アクセス・セッションをサービス・プロバイダすなわちISPに関連付けるために別の属性(例えばコールド・セッションIdまたはプロバイダId)が使用される。このような場合、重複した検出のためにNAS IPの有用性が低減される。
【0155】
重複したアカウンティング記録は「バッチ」プロバイダによって送信することができるが、この「バッチ」プロバイダのアカウンティング供給は重複のないものと仮定される。上記理由の1つにより、リアルタイム・アカウンティング・プロバイダがアカウンティング記録を配信することに失敗した場合、そのアカウンティングの責任を全うするためにそのリアルタイム・アカウンティング・プロバイダによって記録のバッチが送信された場合、重複したアカウンティング記録を設定システム474に手動で挿入することができる。これらの場合、サービス・プロバイダ452は任意のデータセットを送信することができるが、この任意のデータセットはデータ正規化プロセスへの提出に備えてアクセス・ブローカー・システム454の要員が特別に処理する必要がある。このようなデータセットは、以前に報告されたセッションと、訂正が試行されている欠落したセッションの両方を記述するデータを含むことができる。これらの記録バッチは通常は単発で事前処理されるので、重複した挿入を防止するための管理はほとんどない。このプロセスは、一意のセッションIDに鑑みて自動化することができるということが理解されよう。
【0156】
いくつかのサービス・プロバイダは、鍵重複フィールドを不規則に使用することを原因に重複したトランザクション・データ記録をアクセス・ブローカー・システム454に入れることを許可する場合がある。例えばある種の状況では、サービス・プロバイダはNAS IP属性をランダムなデータで充填し、したがって重複フィルタリング基準が悪影響を受ける。矛盾したセッションidの生成またはユーザ切断時におけるセッション期間の調整失敗のような他の変則事項により、別個のセッションに対応するように見える重複が生成される場合がある。ここでもまた、一意のセッションIDはこれらの問題を解決する際に役立つ場合がある。
【0157】
本明細書で例示するように、重複アカウンティング/トランザクション記録は、各リアルタイム・アカウンティング/トランザクション・データ記録の6個の「鍵」フィールドを過去30日以内に受信されたすべての他のリアルタイム・アカウンティング/トランザクション・データ記録と照合するアルゴリズムを使用して設定システム474によってアクティブにフィルタリングされる。それぞれの承認された単一セッションを一意に識別する一意のsession_idフィールドを使用することによって、精度を高めることができる。
【0158】
重複エイリアス記録
重複を検出するアルゴリズムがある記録を重複であると不適切に識別した場合、重複エイリアス記録が発生する。例えばサービス・プロバイダのNAS(例えば図6のISP 510のNAS532)が短期間にセッションIDデータ値を生成または再利用しない場合、このようなケースが生じる可能性がある。信頼性のないサービス・プロバイダによって生成されたいかなるセッションIDに加えて、またはこれの代わりに、各単一アクセス・セッションを一意に定義する本発明の実施形態の一意のセッションIDは、重複したエイリアス記録の発生を低減させるために重複検出アルゴリズムによって使用することができる。具体的には、各セッションが一意に識別される際に重複エイリアス記録を少なくとも実質的に低減するためにsession_idテーブル内の変更された一意のセッションIDを使用することができる。
【0159】
無効セッション−長さ記録
アクセス・セッションの期間に関する設定システム474によって受信されたすべてのアカウンティング/トランザクション・データ記録は、いつも完全であるとは限らないということが理解されよう。例えばアカウンティング/トランザクション・データ記録は、セッション期間データ(例えばAcct−Session−Time属性)が欠落しており、0値を含んでおり、セッションに対する不正確な値(例えばあるセッションは実際には3分の長さなのに4分の長さであると報告すること)を含んでおり、RFC 2139、セクション5.7で規定されるような過度に大きな値を含んでいるか、または無効であるなどの場合がある。無効アクセス期間は、例えばサービス・プロバイダのモデム・バンクがユーザによる切断を報告せず、別のセッションが同じ物理的なモデム・ポートで開始されるか、または何らかの他の理由からタイムアウトが発生するまでNAS532がセッション・タイムを蓄積し続ける場合に発生する可能性がある。
【0160】
重複した無効セッションの長さを有するアカウンティング/トランザクション・データ記録は、例えば以下のような様々な理由から生じる場合がある。
【0161】
欠落したAcct−Session−Time
アカウンティング/トランザクション・データ記録がネットサーバ470によって受信され、Acct−Session−Time属性が欠落している場合、ネットサーバ470は、通常、0セッション長を有するアカウンティング/トランザクション・データ記録を転送する。
【0162】
不正確なAcct−Session−Time
NAS532による不正確な時間のアカウンティング、またはサービス・プロバイダによる意図的な不正行為によって、不正確なセッション期間を有するアカウンティング/トランザクション・データ記録が生成される場合がある。
【0163】
Acct−Session−Time0
0値のSession−Time属性を有するアカウンティング/トランザクション・データ記録がネットサーバ470によって受信されると、ネットサーバ470は、通常、0セッション長を有するアカウンティング/トランザクション・データ記録を転送する。
【0164】
長いAcct−Session−Time
不正行為、誤作動、または不適切な構成が原因でセッション・タイム・アカウンティングは法外な長さのセッションを識別する場合がある。
【0165】
切断検出の失敗
「長い」セッションまたは同一期間を有する複数のセッションは、サービス・プロバイダのモデム・バンクの誤動作および/またはユーザが長期間切断されていることを検出することができないその不適切な構成が原因で発生する場合がよくある。
【0166】
不正アクセス
長期のセッション・タイムは、悪意のあるユーザによる連続した使用が原因で発生する場合もある。
【0167】
破損したAcct−Session−Time
NAS532、サービス・プロバイダの認可/認証サーバ600、またはサービス・プロバイダのネットサーバ470によるフィールド処理でのエラーは、アカウンティング/トランザクション・データ記録のセッション・タイム属性を破損する可能性がある。実際のサンプルに基づき、何らかの先行RADIUSパケットに長い、ベンダー特有のデータがある場合に発生することが多い。
【0168】
本物の長いセッション
長いセッションのフィルタリングの精度は、フィルター閾値(通常は約100時間)によって異なる。
【0169】
SQM記録に提供されたセッション長をアカウンティング記録に提供されたセッション長に対して相関関係を証明し、関連付けるなどによって精度を強化することができる。各トランザクション・データ記録はその一意のセッションIDを有しているので、セッション長はacct_trnsテーブルのsession_idフィールドとSQMテーブル860のsession_idフィールドを使用して関連付けられた記録から取得することができる。したがって、あるトランザクション・データ記録で欠落しているデータは、一意のセッションIDを有する別のトランザクション・データ記録から取得することができる。
【0170】
アカウンティング記録のオーバーラッピング
ある場合には、トランザクション・データ記録は、時間的にオーバーラップしている同じユーザの信用証明書(例えば同じユーザ名およびパスワード)を含むサービス・プロバイダから受信される。本発明の本実施形態では、各アクセス・セッションは一意のセッションIDを含むので、オーバーラップしているトランザクション・データ記録の分析が容易になる場合がある。具体的には、それらの記録のセッションの詳細を決定するためにacct_transテーブル854のsession_idフィールドとSQMテーブル860のsession_idフィールドを使用することができる。例えば、一意のセッションIDを使用することによって、そのようなセッションが2つの本物の別個のセッションであるか否か、あるいはそのセッションが異常なNAS532が原因で生成されたものか否かを判定することができる。
【0171】
真偽が問われる記録
セッションIDは各単一のセッションを一意に識別し、一意のセッションIDを含むセッションに関するデータはシステム内の様々な異なるサーバに送信されるので、真偽問題の解決が容易になる場合がある。具体的には、顧客サポート・チームは、認証または認可されたトランザクション、アカウンティングおよびSQMテーブル856、854、および860のセッション詳細をそれぞれに比較することができ、これによって単一ユーザ・アクセス・セッションに一意に関連付けられたトランザクション・データの3つの異なるソースが提供される。これらテーブルのsession_idフィールドは、特定ユーザのアクセス・セッションの詳細を裏付けるために関連付けまたは相関関係の証明などに役立つ。
【0172】
チャレンジ・プロバイダ記録の記録品質
各セッションは一意に識別され、様々な異なるサーバはトランザクション・データ記録を設定システム474に独立して通信するので、特定のサービス・プロバイダから受信したトランザクション・データ記録の品質は、その特定のサービス・プロバイダからのトランザクション・データ記録を他のソースからの記録と比較することによって評価することができる。これは、そのようなアカウンティング機能に関する問題、またはサービス・プロバイダの技術問題に関する問題を分離する際にネットワーク・アクセス・チームに役立つ場合がある。
【0173】
複数人員による合法的Idの使用
一意のセッションIDが各単一のユーザ・セッションを一意に識別するので、単一ユーザIDデータの合法的使用法が複数のユーザによって使用される別個のユーザ・アクセスの発生を識別するために使用することができる。したがって、456顧客は、例えば組織が小規模であり、かつ/またはそのような仕方で動作することを選択するという理由で、同一のログイン名を共有する場合がある。このような場合、開始時が同時でセッション長が同じ複数の位置からのログインがある場合がある。一意のセッションIDの内包は、それらの状態を高度な精度をもって精査するために使用される。
【0174】
ダイヤラーのポリシー管理バージョニング
SQM記録をアカウンティング記録に関連付け、相関関係を証明するなどのために一意のセッションIDを使用することができる。これにより、SQM記録なしに作成されたアカウンティング記録を、アクセス・ブローカー・システム454によって関連付けられない、あるいは提供されない、接続アプリケーション(例えば接続アプリケーション466)の使用、またはそのサポートされていないバージョンの使用を明らかにするために使用することができる。通常、接続アプリケーション466のサポートされていないバージョン(例えば接続ダイヤラー技術)を使用している顧客および個別ユーザに関して報告が作成される。これは、そのようなユーザをより最新のバージョンに移動させるために役立つ。このような状況では、顧客456が不適切な接続アプリケーション466を使用している場合、その顧客に関連付けられたアカウントを自動的にディセーブルすることができる。したがって、その問題を識別するために、アクセス・ブローカー・システム454に連絡を取り、その結果バージョンの移動を強制することを顧客456に強制することができる。
【0175】
全体的な請求書作成プロセスの品質の改善
したがって、単一ユーザ・セッションに関連付けられたすべてのトランザクション・データ記録を一意に識別する一意のセッションIDを包含することによって、トランザクション記録の処理の精度が高められるということが理解されよう。したがって、請求書作成の真偽の問題が生じることは少なくなり、発生する可能性のあるいかなる真偽の問題の解決法もより迅速に確定することができる。
【0176】
図13は、205、305、または405のようなネットワーク・アクセス・デバイス、ネットワーク・ダイヤラー466、または240、350、468、または472のようなネットサーバとして構成することができるコンピュータ・システム700を示す図である。コンピュータ・システム700は、システム・バス745を介してランダム・アクセス・メモリ(RAM)735および読み出し専用メモリ(ROM)740に動作可能に接続されているプロセッサ750を含む。プロセッサ750は、入出力バス730を介して、光ディスクまたは他の記憶媒体であってよい固定ディスク720にも接続されている。あるいは、プロセッサ750は、入出力バス730を介して複数の記憶デバイスに接続することができる。プロセッサ750は、システム・バス745および入出力バス730を使用してデータを通信する。
【0177】
システム・バス745と入出力バス730は、キーパッド725または入力デバイス710からの入力を受信することもできる。システム・バス745と入出力バス730は、ディスプレイ705、固定ディスク720、および/または出力デバイス715に出力を提供することができる。メモリおよび記憶媒体735、740は、フラッシュ・メモリ、EEPROM、または上記のいかなる組み合わせも含むことができる。
【0178】
コンピュータ・システム700は、オペレーティング・システム・ソフトウェアの一部であるディスク・オペレーティング・システムのようなファイル管理システムを含むオペレーティング・システム・ソフトウェアによって制御することができる。ファイル管理システムは、ROM740のような不揮発性記憶デバイスに記憶することができ、データを入力および出力し、そのデータをRAM735およびROM740上に記憶するためにオペレーティング・システムによって要求される様々な機能をプロセッサ750に実行させるよう構成することができる。コンピュータ・システム700の一実施形態では、プロセッサ750に、ネットワーク・アクセス・デバイス205または305のようなネットワーク・アクセス・デバイスの機能を実行させる命令を固定ディスク720またはROM740に記憶することができる。代替形態では、プロセッサ750に、ネットサーバ240、350、472、または468のようなネットワーク暗号解読サーバの機能を実行させる命令を固定ディスク720またはROM740に記憶することができる。
【0179】
以上、コンピュータ・システムへのアクセスを要求しているユーザのデバイスを認証する方法およびシステムを開示した。上記の詳細な説明では、本発明はその特定の実施形態を参照して説明した。しかし、首記の特許請求の範囲に示す本発明のより広範な範囲および趣旨を逸脱せずに、本発明に様々な修正形態および変更を行うことができることが明らかになろう。したがって本明細書および図面は、限定の意味ではなく説明の意味でみなされたい。
【図面の簡単な説明】
【0180】
【図1】安全でない方法を使用してネットワーク・ユーザの信用証明書が認証される従来技術のISPネットワーク構成を示す図である。
【図2】本発明の一実施形態と調和する、ISPネットワーク、ネットワーク・アクセス・デバイス、およびネットワーク暗号解読サーバ含むネットワーク構成を示す図である。
【図3】本発明の一実施形態と調和する、遠隔ISPネットワーク、ネットワーク・アクセス・デバイス、およびネットワーク暗号解読サーバを含むネットワーク構成を示す図である。
【図4】ネットワーク・ユーザの信用証明書を安全に認証する方法の一例としての動作の流れ図である。
【図5】多数のサービス・プロバイダ、アクセス・ブローカー・システム、および複数の顧客を含む、本発明の一実施形態によるマルチパーティ・サービス・アクセス環境を示すブロック図である。
【図6】ローミング・インターネット・アクセスを提供するための、本発明の一実施形態によるアクセス・ブローカー・システムの動作を示す概略図である。
【図7】本発明の一実施形態による接続ダイヤラーの概略的な機能ブロック図である。
【図8】暗号解読機能を含む、本発明の一実施形態によるトランザクション・サーバの概略的な機能ブロック図である。
【図9】暗号解読機能を含む、本発明の別の一実施形態による顧客またはローム・サーバの概略的な機能ブロック図である。
【図10】接続ダイヤラーによって実行される暗号化メソッドの一例の概略的な流れ図である。
【図11】トランザクション・サーバまたは顧客サーバによって実行される暗号解読方法の一例の概略的な流れ図である。
【図12】チェックサム・データの暗号化メソッドの一例の概略的な流れ図である。
【図13】ネットワーク・アクセス・デバイスまたはネットワーク暗号解読サーバとして構成することができるコンピュータ・システムの概略図である。
【図14】本発明の一実施形態による、ローミング・インターネット・アクセスを提供するアクセス・ブローカー・システムの動作を示す概略的なブロック図である。
【図15】図14のアクセス・ブローカー・システムの物理的アーキテクチャ例の概略的なブロック図である。
【図16】設定システム例の概略的なブロック図である。
【図17A】アクセス・ブローカー・システムで使用されるデータ・モデル例を示す図である。
【図17B】本発明による一意のセッションIDを使用した、同様に本発明による処理を示す概略図である。
【図18】本発明の一実施形態による一意のセッションID例を示す図である。
【図19】一意のセッションIDを使用して欠損しているトランザクション・データ記録を識別する方法の概略的な流れ図である。
【図20】同様に本発明の一実施形態による接続アプリケーションでの一意のセッション識別方法の概略的な流れ図である。
Claims (34)
- コンピュータ・システムへのアクセスを要求しているユーザのデバイスを認証する方法において、
ユーザがコンピュータ・システムへのアクセスを要求するユーザのデバイスの接続アプリケーションで、ユーザの要求ごとに変わる現行セッション・データを暗号化するステップと、
暗号化された現行セッション・データを、平文で通信されるアクセス要求のユーザ認証データに含めるステップと、
アクセス要求を暗号解読し、基準セッション・データを暗号解読された現行セッション・データと比較するステップと、
比較の結果に応じてユーザの要求を選択的に分類するステップと
を含む方法。 - ユーザの要求が有効なユーザの要求として分類された場合、暗号解読された現行セッション・データを基準セッション・データとして記憶するステップを含む請求項1に記載の方法。
- セッション・データが、ユーザ・セッションごとに変更される番号を含む請求項2に記載の方法。
- 番号がユーザの要求ごとに増分され、番号が基準番号よりも大きくない場合、ユーザの要求がリプレイ攻撃として分類される請求項3に記載の方法。
- 現行セッション・データが基準セッション・データとして記憶されている場合、基準の日付および時刻を記憶するステップと、
現行セッション・データに関連付けられた現行の日付および時刻を基準の日付および時刻と比較するステップと、
基準の日付および時刻の現行の日付および時刻の間の差が所定のウィンドウ期間内である時に現行セッション・データが基準セッション・データと同一である場合、ユーザの要求を有効な要求として分類するステップと
を含む請求項2に記載の方法。 - ポイント・ツー・ポイント・プロトコル(PPP)、パスワード認証プロトコル(PAP)、チャレンジ・ハンドシェーク認証プロトコル(CHAP)、遠隔認証ダイヤルイン・ユーザ・サービス(RADIUS)プロトコル、ターミナル・アクセス・コントローラ・アクセス制御システム(TACACS)プロトコル、ライトウェイト・ディレクトリ・アクセス・プロトコル(LDAP)、NTドメイン認証プロトコル、Unixパスワード認証プロトコル、ハイパーテキスト転送プロトコル(HTTP)、セキュア・ソケット・レイヤを介したハイパーテキスト転送プロトコル(HTTPS)、拡張認証プロトコル(EAP)、転送レイヤ・セキュリティ(TLS)プロトコル、トークン・リング・プロトコルおよびセキュア遠隔パスワード・プロトコル(SRP)のうちの1つのプロトコルを使用して通信に適した形式で暗号化セッション・データを提供するステップを含む請求項1に記載の方法。
- 楕円曲線暗号法と共に使用するのに適した公開/秘密鍵対を使用してセッション・データを暗号化するステップを含む請求項1に記載の方法。
- セッション・データが、単一のユーザ・セッションに一意に関連付けられた一意のセッションIDを含む請求項1に記載の方法。
- 暗号解読された現行セッション・データと基準セッション・データを比較するステップが、複数のサービス・プロバイダを含むサービス・アクセス・システムのネットワーク・アクセス・サーバ、トランザクション・サーバ、および認証サーバの少なくとも1つで実行される請求項1に記載の方法。
- コンピュータ・システムへのアクセスを要求しているアクセス・デバイスによるリプレイ攻撃を識別する方法において、
暗号化されたアクセス要求を平文でアクセス・デバイスから受信するステップと、
アクセス要求を暗号解読し、アクセス・デバイスによって生成された、アクセス要求内の現行セッション・データを識別するステップと、
暗号解読された現行セッション・データを基準セッション・データと比較するステップと、
比較の結果に応じてユーザの要求をリプレイ攻撃として選択的に分類するステップと
含む方法。 - ユーザの要求が有効なユーザの要求として分類された場合、暗号解読された現行セッション・データを基準セッション・データとして記憶するステップを含む請求項10に記載の方法。
- セッション・データがユーザ・セッションごとに変更される番号を含み、現行の番号を基準の番号と比較するステップと、現行の番号が基準の番号よりも小さい場合、ユーザの要求をリプレイ攻撃として分類するステップとを含む請求項11に記載の方法。
- 現行セッション・データが基準セッション・データとして記憶されている場合、基準の日付および時刻を記憶するステップと、
現行セッション・データに関連付けられた現行の日付および時刻を基準の日付および時刻と比較するステップと、
基準の日付および時刻の現行の日付および時刻の間の差が所定のウィンドウ期間外である時に現行セッション・データが基準セッション・データと同一である場合、ユーザの要求をリプレイ攻撃として分類するステップと
を含む請求項11に記載の方法。 - ポイント・ツー・ポイント・プロトコル(PPP)、パスワード認証プロトコル(PAP)、チャレンジ・ハンドシェーク認証プロトコル(CHAP)、遠隔認証ダイヤルイン・ユーザ・サービス(RADIUS)プロトコル、ターミナル・アクセス・コントローラ・アクセス制御システム(TACACS)プロトコル、ライトウェイト・ディレクトリ・アクセス・プロトコル(LDAP)、NTドメイン認証プロトコル、Unixパスワード認証プロトコル、ハイパーテキスト転送プロトコル(HTTP)、セキュア・ソケット・レイヤを介したハイパーテキスト転送プロトコル(HTTPS)、拡張認証プロトコル(EAP)、転送レイヤ・セキュリティ(TLS)プロトコル、トークン・リング・プロトコルおよびセキュア遠隔パスワード・プロトコル(SRP)のうちの1つのプロトコルを使用して、アクセス要求を受信するステップと、
プロトコルのユーザ・ストリングから現在セッション・データを取り出すステップとを含む、請求項10に記載の方法。 - 楕円曲線暗号法と共に使用するのに適した公開/秘密鍵対の秘密鍵を使用してセッション・データを暗号解読するステップを含む請求項10に記載の方法。
- 現行セッション・データと基準セッション・データを比較するステップが、複数のサービス・プロバイダを含むサービス・アクセス・システムのネットワーク・アクセス・サーバ、トランザクション・サーバ、および認証サーバの少なくとも1つで実行される請求項10に記載の方法。
- コンピュータへのアクセスを要求しているユーザのデバイスを認証するシステムにおいて、
ユーザがそれを介してコンピュータへのアクセスを要求するユーザのデバイスの接続アプリケーションで、ユーザの要求ごとに変わる現行セッション・データを生成するセッション・データ・ジェネレータと、
平文で通信される暗号化されたアクセス要求を提供するために、現行セッション・データを暗号化し、これをユーザ認証データに含める暗号化モジュールと、
暗号化されたアクセス要求を暗号解読するプロセッサと、
基準セッション・データを暗号解読された現行セッション・データと比較するコンパレータであって、プロセッサが比較の結果に応じてユーザの要求を選択的に分類するコンパレータと
を含むシステム。 - ユーザの要求が有効なユーザの要求として分類された場合、現行セッション・データを基準セッション・データとして記憶するメモリを含む請求項17に記載のシステム。
- セッション・データ・ジェネレータがユーザ・セッションごとに変更される番号として現行セッション・データを生成する請求項18に記載のシステム。
- セッション・データ・ジェネレータがユーザの要求ごとに番号を増分し、番号が基準セッション・データよりも大きくない場合、ユーザの要求がリプレイ攻撃として分類される請求項19に記載のシステム。
- 現行セッション・データが基準セッション・データとして記憶されている場合、基準の日付および時刻が記憶され、コンパレータが、現行セッション・データに関連付けられた現行の日付および時刻を基準の日付および時刻と比較し、プロセッサが、基準の日付および時刻の現行の日付および時刻の間の差が所定のウィンドウ期間内である時に現行セッション・データが基準セッション・データと同一である場合、ユーザの要求を有効な要求として分類する請求項18に記載のシステム。
- コンピュータ・システムへのアクセスを要求しているアクセス・デバイスによるリプレイ攻撃を識別するコンピュータ・サーバにおいて、
平文である暗号化されたアクセス要求をアクセス・デバイスから受信するレシーバーと、
アクセス・デバイスによって生成された、アクセス要求内の現行セッション・データを暗号解読し、識別するプロセッサと、
暗号解読された現行セッション・データを基準セッション・データと比較するコンパレータであって、プロセッサが比較の結果に応じてユーザの要求をリプレイ攻撃として選択的に分類するコンパレータと
を含むコンピュータ・サーバ。 - ユーザの要求が有効なユーザの要求として分類された場合、現行セッション・データを基準セッション・データとして記憶するメモリを含む請求項22に記載のコンピュータ・サーバ。
- セッション・データがユーザ・セッションごとに変更される番号であり、コンパレータが現行の番号を基準の番号と比較し、プロセッサが、現行の番号が基準の番号よりも小さい場合、ユーザの要求をリプレイ攻撃として分類する請求項23に記載のコンピュータ・サーバ。
- 現行セッション・データが基準セッション・データとして記憶されている場合、基準の日付および時刻がメモリに記憶され、コンパレータが現行セッション・データに関連付けられた現行の日付および時刻を基準の日付および時刻と比較し、プロセッサが、基準の日付および時刻の現行の日付および時刻の間の差が所定のウィンドウ期間外である時に現行セッション・データが基準セッション・データと同一である場合、ユーザの要求をリプレイ攻撃として分類する請求項24に記載のコンピュータ・サーバ。
- レシーバーが、ポイント・ツー・ポイント・プロトコル(PPP)、パスワード認証プロトコル(PAP)、チャレンジ・ハンドシェーク認証プロトコル(CHAP)、遠隔認証ダイヤルイン・ユーザ・サービス(RADIUS)プロトコル、ターミナル・アクセス・コントローラ・アクセス制御システム(TACACS)プロトコル、ライトウェイト・ディレクトリ・アクセス・プロトコル(LDAP)、NTドメイン認証プロトコル、Unixパスワード認証プロトコル、ハイパーテキスト転送プロトコル(HTTP)、セキュア・ソケット・レイヤを介したハイパーテキスト転送プロトコル(HTTPS)、拡張認証プロトコル(EAP)、転送レイヤ・セキュリティ(TLS)プロトコル、トークン・リング・プロトコルおよびセキュア遠隔パスワード・プロトコル(SRP)のうちの1つのプロトコルを使用してアクセス要求を受信するように構成されており、プロセッサが、プロトコルのユーザ・ストリングからセッション・データを抽出する請求項22に記載のコンピュータ・サーバ。
- 楕円曲線暗号法を使用してセッション・データを暗号解読するのに適した暗号解読構成要素を含む請求項22に記載のコンピュータ・サーバ。
- 複数のサービス・プロバイダを含むサービス・アクセス・システムのネットワーク・アクセス・サーバ、トランザクション・サーバ、および認証サーバの1つを定義する請求項22に記載のコンピュータ・サーバ。
- コンピュータ・システムへのアクセスを要求しているアクセス・デバイスによるリプレイ攻撃を識別するコンピュータ・サーバにおいて、
アクセス要求をアクセス・デバイスから受信する手段と、
アクセス・デバイスによって生成された、アクセス要求内の現行セッション・データを識別する手段と、
現行セッション・データを基準データと比較し、比較の結果に応じてユーザの要求をリプレイ攻撃として選択的に分類する手段と
を含むコンピュータ・サーバ。 - コンピュータ・システムへのアクセスを要求しているアクセス・デバイスによるリプレイ攻撃を識別する一連の命令を組み込んだ機械可読媒体において、命令は、機械によって実行されると、機械に、
暗号化されたアクセス要求を平文でアクセス・デバイスから受信させ、
アクセス・デバイスによって生成された、アクセス要求内の現行セッション・データを暗号解読、識別させ、
現行セッション・データを基準データと比較させ、
比較の結果に応じてユーザの要求をリプレイ攻撃として選択的に分類させる
機械可読媒体。 - ユーザの要求が有効なユーザの要求として分類された場合、現行セッション・データを基準セッション・データとして記憶させる請求項30に記載の機械可読媒体。
- セッション・データがユーザ・セッションごとに変更される番号であり、命令が、現行の番号を基準の番号と比較させ、現行の番号が基準の番号よりも小さい場合、ユーザの要求をリプレイ攻撃として分類させる請求項30に記載の機械可読媒体。
- 命令が、
現行セッション・データが基準セッション・データとして記憶されている場合、基準の日付および時刻を記憶させ、
現行セッション・データに関連付けられた現行の日付および時刻を基準の日付および時刻と比較させ、
基準の日付および時刻の現行の日付および時刻の間の差が所定のウィンドウ期間外である時に現行セッション・データが基準セッション・データと同一である場合、ユーザの要求をリプレイ攻撃として分類させる
請求項32に記載の機械可読媒体。 - ポイント・ツー・ポイント・プロトコル(PPP)、パスワード認証プロトコル(PAP)、チャレンジ・ハンドシェーク認証プロトコル(CHAP)、遠隔認証ダイヤルイン・ユーザ・サービス(RADIUS)プロトコル、ターミナル・アクセス・コントローラ・アクセス制御システム(TACACS)プロトコル、ライトウェイト・ディレクトリ・アクセス・プロトコル(LDAP)、NTドメイン認証プロトコル、Unixパスワード認証プロトコル、ハイパーテキスト転送プロトコル(HTTP)、セキュア・ソケット・レイヤを介したハイパーテキスト転送プロトコル(HTTPS)、拡張認証プロトコル(EAP)、転送レイヤ・セキュリティ(TLS)プロトコル、トークン・リング・プロトコルおよびセキュア遠隔パスワード・プロトコル(SRP)のうちの1つのプロトコルを使用してアクセス要求を受信させ、セッション・データをプロトコルのユーザ・ストリングから抽出させる請求項32に記載の機械可読媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US28491401P | 2001-04-18 | 2001-04-18 | |
US10/118,406 US20030065919A1 (en) | 2001-04-18 | 2002-04-05 | Method and system for identifying a replay attack by an access device to a computer system |
PCT/US2002/012343 WO2002087143A1 (en) | 2001-04-18 | 2002-04-18 | Method and system for identifying a replay attack by an access device to a computer system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004532468A true JP2004532468A (ja) | 2004-10-21 |
JP2004532468A5 JP2004532468A5 (ja) | 2005-08-04 |
Family
ID=26816319
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002584528A Withdrawn JP2004532468A (ja) | 2001-04-18 | 2002-04-18 | アクセス・デバイスによるコンピュータ・システムへのリプレイ攻撃を識別する方法およびシステム |
Country Status (4)
Country | Link |
---|---|
US (1) | US20030065919A1 (ja) |
EP (1) | EP1386444A1 (ja) |
JP (1) | JP2004532468A (ja) |
WO (1) | WO2002087143A1 (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006004321A (ja) * | 2004-06-21 | 2006-01-05 | Base Technology Inc | セキュリティシステム |
JP2012019511A (ja) * | 2010-07-09 | 2012-01-26 | Tata Consultancy Services Ltd | 無線通信機器とサーバとの間でのデータの安全なトランザクションのためのシステムおよび方法 |
KR20190008333A (ko) * | 2016-05-13 | 2019-01-23 | 알리바바 그룹 홀딩 리미티드 | 복제 공격을 방지하기 위한 처리 방법, 및 서버 및 클라이언트 |
JP2020516089A (ja) * | 2017-05-12 | 2020-05-28 | アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited | ブロックチェーンベースのデータ処理方法およびデバイス |
JP2022526934A (ja) * | 2019-03-25 | 2022-05-27 | マイクロン テクノロジー,インク. | ブロックチェーンを基にしたメモリコマンドの正当性確認 |
Families Citing this family (105)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020087884A1 (en) * | 2000-06-12 | 2002-07-04 | Hovav Shacham | Method and apparatus for enhancing network security protection server performance |
US20020039420A1 (en) * | 2000-06-12 | 2002-04-04 | Hovav Shacham | Method and apparatus for batched network security protection server performance |
US7137143B2 (en) | 2000-08-07 | 2006-11-14 | Ingrian Systems Inc. | Method and system for caching secure web content |
US20040015725A1 (en) * | 2000-08-07 | 2004-01-22 | Dan Boneh | Client-side inspection and processing of secure content |
US8219662B2 (en) * | 2000-12-06 | 2012-07-10 | International Business Machines Corporation | Redirecting data generated by network devices |
US7054946B2 (en) * | 2000-12-06 | 2006-05-30 | Intelliden | Dynamic configuration of network devices to enable data transfers |
US6978301B2 (en) * | 2000-12-06 | 2005-12-20 | Intelliden | System and method for configuring a network device |
US20020069367A1 (en) * | 2000-12-06 | 2002-06-06 | Glen Tindal | Network operating system data directory |
US7757278B2 (en) * | 2001-01-04 | 2010-07-13 | Safenet, Inc. | Method and apparatus for transparent encryption |
US7150037B2 (en) * | 2001-03-21 | 2006-12-12 | Intelliden, Inc. | Network configuration manager |
US8296400B2 (en) * | 2001-08-29 | 2012-10-23 | International Business Machines Corporation | System and method for generating a configuration schema |
US8140845B2 (en) * | 2001-09-13 | 2012-03-20 | Alcatel Lucent | Scheme for authentication and dynamic key exchange |
US7065562B2 (en) * | 2001-11-26 | 2006-06-20 | Intelliden, Inc. | System and method for generating a representation of a configuration schema |
US6993393B2 (en) * | 2001-12-19 | 2006-01-31 | Cardiac Pacemakers, Inc. | Telemetry duty cycle management system for an implantable medical device |
US6985773B2 (en) | 2002-02-07 | 2006-01-10 | Cardiac Pacemakers, Inc. | Methods and apparatuses for implantable medical device telemetry power management |
US8332650B2 (en) * | 2002-03-22 | 2012-12-11 | Microsoft Corporation | Systems and methods for setting and resetting a password |
US7464145B2 (en) * | 2002-07-11 | 2008-12-09 | Intelliden, Inc. | Repository-independent system and method for asset management and reconciliation |
US20040028069A1 (en) * | 2002-08-07 | 2004-02-12 | Tindal Glen D. | Event bus with passive queuing and active routing |
US20040030771A1 (en) * | 2002-08-07 | 2004-02-12 | John Strassner | System and method for enabling directory-enabled networking |
AU2003262857A1 (en) * | 2002-08-24 | 2004-03-11 | Ingrian Networks, Inc. | Selective feature activation |
US20040078457A1 (en) * | 2002-10-21 | 2004-04-22 | Tindal Glen D. | System and method for managing network-device configurations |
US20040230681A1 (en) * | 2002-12-06 | 2004-11-18 | John Strassner | Apparatus and method for implementing network resources to provision a service using an information model |
US7284062B2 (en) * | 2002-12-06 | 2007-10-16 | Microsoft Corporation | Increasing the level of automation when provisioning a computer system to access a network |
GB0313530D0 (en) * | 2003-06-12 | 2003-07-16 | Applied Card Technologies Ltd | Electronic transaction system |
US7155290B2 (en) * | 2003-06-23 | 2006-12-26 | Cardiac Pacemakers, Inc. | Secure long-range telemetry for implantable medical device |
US20060149962A1 (en) * | 2003-07-11 | 2006-07-06 | Ingrian Networks, Inc. | Network attached encryption |
WO2005015935A1 (en) * | 2003-08-07 | 2005-02-17 | Pervenio Limited | Server for determining and storing mobile device capability data |
US7533407B2 (en) | 2003-12-16 | 2009-05-12 | Microsoft Corporation | System and methods for providing network quarantine |
US8364957B2 (en) | 2004-03-02 | 2013-01-29 | International Business Machines Corporation | System and method of providing credentials in a network |
US7228182B2 (en) * | 2004-03-15 | 2007-06-05 | Cardiac Pacemakers, Inc. | Cryptographic authentication for telemetry with an implantable medical device |
US7359753B2 (en) | 2004-04-07 | 2008-04-15 | Cardiac Pacemakers, Inc. | System and method for RF wake-up of implantable medical device |
US20050267954A1 (en) * | 2004-04-27 | 2005-12-01 | Microsoft Corporation | System and methods for providing network quarantine |
US7519835B2 (en) * | 2004-05-20 | 2009-04-14 | Safenet, Inc. | Encrypted table indexes and searching encrypted tables |
US7562052B2 (en) * | 2004-06-07 | 2009-07-14 | Tony Dezonno | Secure customer communication method and system |
US7890180B2 (en) | 2004-08-09 | 2011-02-15 | Cardiac Pacemakers, Inc. | Secure remote access for an implantable medical device |
US20060085850A1 (en) * | 2004-10-14 | 2006-04-20 | Microsoft Corporation | System and methods for providing network quarantine using IPsec |
EP1864426A4 (en) * | 2005-03-09 | 2016-11-23 | Korea Electronics Telecomm | AUTHENTICATION PROCESSES AND KEY PRODUCTION METHODS IN A WIRELESS TRACKABLE INTERNET SYSTEM |
US7716724B2 (en) * | 2005-06-16 | 2010-05-11 | Verizon Business Global Llc | Extensible authentication protocol (EAP) state server |
US20070067833A1 (en) * | 2005-09-20 | 2007-03-22 | Colnot Vincent C | Methods and Apparatus for Enabling Secure Network-Based Transactions |
US20070079140A1 (en) * | 2005-09-26 | 2007-04-05 | Brian Metzger | Data migration |
US20070079386A1 (en) * | 2005-09-26 | 2007-04-05 | Brian Metzger | Transparent encryption using secure encryption device |
US7526677B2 (en) * | 2005-10-31 | 2009-04-28 | Microsoft Corporation | Fragility handling |
US7814538B2 (en) * | 2005-12-13 | 2010-10-12 | Microsoft Corporation | Two-way authentication using a combined code |
US7827545B2 (en) * | 2005-12-15 | 2010-11-02 | Microsoft Corporation | Dynamic remediation of a client computer seeking access to a network with a quarantine enforcement policy |
US8386768B2 (en) * | 2006-02-08 | 2013-02-26 | Safenet, Inc. | High performance data encryption server and method for transparently encrypting/decrypting data |
US9438570B2 (en) * | 2006-02-10 | 2016-09-06 | Fair Isaac Corporation | Consumer-driven secure sockets layer modulator |
US20070198525A1 (en) * | 2006-02-13 | 2007-08-23 | Microsoft Corporation | Computer system with update-based quarantine |
US7958091B2 (en) | 2006-02-16 | 2011-06-07 | Ingrian Networks, Inc. | Method for fast bulk loading data into a database while bypassing exit routines |
US7793096B2 (en) * | 2006-03-31 | 2010-09-07 | Microsoft Corporation | Network access protection |
CN101064616A (zh) * | 2006-04-28 | 2007-10-31 | 华为技术有限公司 | 一种网络计费方法、系统及设备 |
CN100466524C (zh) * | 2006-07-06 | 2009-03-04 | 华为技术有限公司 | 一种上网状态控制方法及系统 |
US8191131B2 (en) * | 2006-08-23 | 2012-05-29 | International Business Machines Corporation | Obscuring authentication data of remote user |
US8086845B2 (en) * | 2006-09-26 | 2011-12-27 | Microsoft Corporation | Secure tunnel over HTTPS connection |
US7996376B2 (en) * | 2006-10-27 | 2011-08-09 | Verizon Patent And Licensing Inc. | Method and apparatus for managing session data across multiple applications |
US8379865B2 (en) * | 2006-10-27 | 2013-02-19 | Safenet, Inc. | Multikey support for multiple office system |
US9800614B2 (en) * | 2007-05-23 | 2017-10-24 | International Business Machines Corporation | Method and system for global logoff from a web-based point of contact server |
US8121114B2 (en) * | 2009-02-12 | 2012-02-21 | Cisco Technology, Inc. | Prevention of voice over IP spam |
US9225684B2 (en) * | 2007-10-29 | 2015-12-29 | Microsoft Technology Licensing, Llc | Controlling network access |
US20090132804A1 (en) * | 2007-11-21 | 2009-05-21 | Prabir Paul | Secured live software migration |
US9569770B1 (en) | 2009-01-13 | 2017-02-14 | Amazon Technologies, Inc. | Generating constructed phrases |
US8826397B2 (en) * | 2009-01-15 | 2014-09-02 | Visa International Service Association | Secure remote authentication through an untrusted network |
US20100185843A1 (en) * | 2009-01-20 | 2010-07-22 | Microsoft Corporation | Hardware encrypting storage device with physically separable key storage device |
US9330282B2 (en) * | 2009-06-10 | 2016-05-03 | Microsoft Technology Licensing, Llc | Instruction cards for storage devices |
US8321956B2 (en) | 2009-06-17 | 2012-11-27 | Microsoft Corporation | Remote access control of storage devices |
US9298700B1 (en) | 2009-07-28 | 2016-03-29 | Amazon Technologies, Inc. | Determining similar phrases |
US10007712B1 (en) | 2009-08-20 | 2018-06-26 | Amazon Technologies, Inc. | Enforcing user-specified rules |
US8510835B1 (en) * | 2009-09-18 | 2013-08-13 | Trend Micro Incorporated | Techniques for protecting data in cloud computing environments |
US8799658B1 (en) | 2010-03-02 | 2014-08-05 | Amazon Technologies, Inc. | Sharing media items with pass phrases |
US9772834B2 (en) * | 2010-04-27 | 2017-09-26 | Red Hat, Inc. | Exportable encoded identifications of networked machines |
JP2011238062A (ja) * | 2010-05-11 | 2011-11-24 | Sony Corp | サーバ装置、プログラム、情報処理システム |
US8800058B2 (en) | 2011-07-27 | 2014-08-05 | Microsoft Corporation | Licensing verification for application use |
US9984250B2 (en) * | 2012-06-22 | 2018-05-29 | Microsoft Technology Licensing, Llc | Rollback protection for login security policy |
US9203818B1 (en) * | 2012-08-23 | 2015-12-01 | Amazon Technologies, Inc. | Adaptive timeouts for security credentials |
US9552492B2 (en) | 2013-08-01 | 2017-01-24 | Bitglass, Inc. | Secure application access system |
US10122714B2 (en) * | 2013-08-01 | 2018-11-06 | Bitglass, Inc. | Secure user credential access system |
US9553867B2 (en) | 2013-08-01 | 2017-01-24 | Bitglass, Inc. | Secure application access system |
CN104378333B (zh) * | 2013-08-15 | 2018-09-21 | 华为终端有限公司 | 调制解调器拨号方法及宽带设备 |
US10212136B1 (en) | 2014-07-07 | 2019-02-19 | Microstrategy Incorporated | Workstation log-in |
US11200560B2 (en) | 2014-12-19 | 2021-12-14 | Capital One Services, Llc | Systems and methods for contactless and secure data transfer |
US9686273B2 (en) * | 2015-02-24 | 2017-06-20 | Avatier Corporation | Aggregator technology without usernames and passwords |
US10735404B2 (en) | 2015-02-24 | 2020-08-04 | Avatier Corporation | Aggregator technology without usernames and passwords implemented in a service store |
US10701067B1 (en) | 2015-04-24 | 2020-06-30 | Microstrategy Incorporated | Credential management using wearable devices |
US10817593B1 (en) * | 2015-12-29 | 2020-10-27 | Wells Fargo Bank, N.A. | User information gathering and distribution system |
US10855664B1 (en) | 2016-02-08 | 2020-12-01 | Microstrategy Incorporated | Proximity-based logical access |
US10231128B1 (en) | 2016-02-08 | 2019-03-12 | Microstrategy Incorporated | Proximity-based device access |
EP3438860B1 (en) | 2016-03-29 | 2020-06-03 | Ricoh Company, Ltd. | Service provision system, service exchange system, service provision method, and program |
CN109074327B (zh) * | 2016-03-29 | 2022-02-15 | 株式会社理光 | 服务提供系统、服务递送系统、服务提供方法和程序 |
CN108780426B (zh) | 2016-03-29 | 2022-06-21 | 株式会社理光 | 服务提供系统、服务递送系统、服务提供方法和程序 |
EP3319277B1 (en) * | 2016-11-08 | 2019-05-29 | Telia Company AB | Provision of access to a network |
US10645086B1 (en) * | 2016-12-30 | 2020-05-05 | Charles Schwab & Co., Inc. | System and method for handling user requests for web services |
US10657242B1 (en) | 2017-04-17 | 2020-05-19 | Microstrategy Incorporated | Proximity-based access |
US11140157B1 (en) | 2017-04-17 | 2021-10-05 | Microstrategy Incorporated | Proximity-based access |
US10771458B1 (en) | 2017-04-17 | 2020-09-08 | MicoStrategy Incorporated | Proximity-based user authentication |
WO2019240817A1 (en) * | 2018-06-15 | 2019-12-19 | Hewlett-Packard Development Company, L.P. | Storing numerical identifiers in data structures |
US11659001B2 (en) | 2019-12-12 | 2023-05-23 | General Electric Company | Non-intrusive replay attack detection system |
US11303672B2 (en) * | 2020-04-02 | 2022-04-12 | International Business Machines Corporation | Detecting replay attacks using action windows |
CN111669380B (zh) * | 2020-05-28 | 2022-07-19 | 成都安恒信息技术有限公司 | 一种基于运维审计系统的免密登录方法 |
CN111767543B (zh) * | 2020-06-15 | 2024-04-05 | 招商银行股份有限公司 | 重放攻击漏洞确定方法、装置、设备及可读存储介质 |
CN113918906B (zh) * | 2020-07-07 | 2024-10-18 | 瑞昱半导体股份有限公司 | 认证数据传输方法与系统 |
CN113010911B (zh) * | 2021-02-07 | 2024-05-10 | 腾讯科技(深圳)有限公司 | 一种数据访问控制方法、装置及计算机可读存储介质 |
JP2022137795A (ja) * | 2021-03-09 | 2022-09-22 | キオクシア株式会社 | ストレージ装置、ストレージクライアント装置および制御方法 |
US20230046788A1 (en) * | 2021-08-16 | 2023-02-16 | Capital One Services, Llc | Systems and methods for resetting an authentication counter |
CN113807963B (zh) * | 2021-09-16 | 2024-05-03 | 南京金宁汇科技有限公司 | 一种账户体系下的联盟链交易的重放攻击防范方法 |
CN113572793B (zh) * | 2021-09-26 | 2021-12-21 | 苏州浪潮智能科技有限公司 | 访问请求捕获方法、装置、计算机设备和存储介质 |
CN113992363B (zh) * | 2021-10-11 | 2024-02-27 | 杭州迪普科技股份有限公司 | 一种基于iec104规约通信的方法、装置 |
Family Cites Families (94)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5560008A (en) * | 1989-05-15 | 1996-09-24 | International Business Machines Corporation | Remote authentication and authorization in a distributed data processing system |
US5202921A (en) * | 1991-04-01 | 1993-04-13 | International Business Machines Corporation | Method and apparatus for authenticating users of a communication system to each other |
US5331574A (en) * | 1991-08-06 | 1994-07-19 | International Business Machines Corporation | System and method for collecting response times for exception response applications |
JPH0815277B2 (ja) * | 1991-08-09 | 1996-02-14 | インターナショナル・ビジネス・マシーンズ・コーポレイション | パフォーマンス測定値を得るためのシステムおよび方法 |
US5418854A (en) * | 1992-04-28 | 1995-05-23 | Digital Equipment Corporation | Method and apparatus for protecting the confidentiality of passwords in a distributed data processing system |
US5521949A (en) * | 1992-05-29 | 1996-05-28 | At&T Corp. | Synchronization scheme for digital communications systems transporting data at a customer-controlled rate |
US5611048A (en) * | 1992-10-30 | 1997-03-11 | International Business Machines Corporation | Remote password administration for a computer network among a plurality of nodes sending a password update message to all nodes and updating on authorized nodes |
JP3042940B2 (ja) * | 1992-11-20 | 2000-05-22 | 富士通株式会社 | 伝送装置集中監視システム |
JP2596361B2 (ja) * | 1993-12-24 | 1997-04-02 | 日本電気株式会社 | パスワード更新方式 |
US5412723A (en) * | 1994-03-01 | 1995-05-02 | International Business Machines Corporation | Mechanism for keeping a key secret from mobile eavesdroppers |
US5564017A (en) * | 1994-06-30 | 1996-10-08 | International Business Machines Corporation | Procedure for safely terminating network programs during network logoff |
NZ513722A (en) * | 1994-12-02 | 2001-09-28 | British Telecomm | Communications terminal |
US5892900A (en) * | 1996-08-30 | 1999-04-06 | Intertrust Technologies Corp. | Systems and methods for secure transaction management and electronic rights protection |
US5781189A (en) * | 1995-05-05 | 1998-07-14 | Apple Computer, Inc. | Embedding internet browser/buttons within components of a network component system |
US5794221A (en) * | 1995-07-07 | 1998-08-11 | Egendorf; Andrew | Internet billing method |
US5826244A (en) * | 1995-08-23 | 1998-10-20 | Xerox Corporation | Method and system for providing a document service over a computer network using an automated brokered auction |
US5852812A (en) * | 1995-08-23 | 1998-12-22 | Microsoft Corporation | Billing system for a network |
US5726883A (en) * | 1995-10-10 | 1998-03-10 | Xerox Corporation | Method of customizing control interfaces for devices on a network |
US6006333A (en) * | 1996-03-13 | 1999-12-21 | Sun Microsystems, Inc. | Password helper using a client-side master password which automatically presents the appropriate server-side password to a particular remote server |
US5815665A (en) * | 1996-04-03 | 1998-09-29 | Microsoft Corporation | System and method for providing trusted brokering services over a distributed network |
US6049671A (en) * | 1996-04-18 | 2000-04-11 | Microsoft Corporation | Method for identifying and obtaining computer software from a network computer |
US5793952A (en) * | 1996-05-17 | 1998-08-11 | Sun Microsystems, Inc. | Method and apparatus for providing a secure remote password graphic interface |
US6023470A (en) * | 1996-05-17 | 2000-02-08 | Lee; Warren S. | Point of presence (POP) for digital facsimile network with virtual POPs used to communicate with other networks |
US5802592A (en) * | 1996-05-31 | 1998-09-01 | International Business Machines Corporation | System and method for protecting integrity of alterable ROM using digital signatures |
FI972718A0 (fi) * | 1996-07-02 | 1997-06-24 | More Magic Software Mms Oy | Foerfaranden och arrangemang foer distribution av ett anvaendargraenssnitt |
US5832228A (en) * | 1996-07-30 | 1998-11-03 | Itt Industries, Inc. | System and method for providing multi-level security in computer devices utilized with non-secure networks |
US5845267A (en) * | 1996-09-06 | 1998-12-01 | At&T Corp | System and method for billing for transactions conducted over the internet from within an intranet |
FI113224B (fi) * | 1996-11-11 | 2004-03-15 | Nokia Corp | Laskutuksen toteuttaminen tietoliikennejärjestelmässä |
US5818665A (en) * | 1996-11-26 | 1998-10-06 | Western Digital Corporation | Rotary actuator arrangement and method of manufacture |
US5953422A (en) * | 1996-12-31 | 1999-09-14 | Compaq Computer Corporation | Secure two-piece user authentication in a computer network |
CA2228185C (en) * | 1997-01-31 | 2007-11-06 | Certicom Corp. | Verification protocol |
US5923756A (en) * | 1997-02-12 | 1999-07-13 | Gte Laboratories Incorporated | Method for providing secure remote command execution over an insecure computer network |
US6047179A (en) * | 1997-02-21 | 2000-04-04 | Bellsouth Intellectua Property Corporation | Debit service systems and methods for wireless units |
US5991292A (en) * | 1997-03-06 | 1999-11-23 | Nortel Networks Corporation | Network access in multi-service environment |
CA2285190A1 (en) * | 1997-03-31 | 1998-10-08 | Bellsouth Intellectual Property Corporation | A system and method for generating an invoice to rebill charges to the elements of an organization |
US6028917A (en) * | 1997-04-04 | 2000-02-22 | International Business Machines Corporation | Access to extended telephone services via the internet |
US6029143A (en) * | 1997-06-06 | 2000-02-22 | Brightpoint, Inc. | Wireless communication product fulfillment system |
US6035281A (en) * | 1997-06-16 | 2000-03-07 | International Business Machines Corporation | System and method of multiparty billing for Web access |
US6112239A (en) * | 1997-06-18 | 2000-08-29 | Intervu, Inc | System and method for server-side optimization of data delivery on a distributed computer network |
US6571290B2 (en) * | 1997-06-19 | 2003-05-27 | Mymail, Inc. | Method and apparatus for providing fungible intercourse over a network |
FI104667B (fi) * | 1997-07-14 | 2000-04-14 | Nokia Networks Oy | Liittymäpalvelun toteuttaminen |
US6307837B1 (en) * | 1997-08-12 | 2001-10-23 | Nippon Telegraph And Telephone Corporation | Method and base station for packet transfer |
US5910988A (en) * | 1997-08-27 | 1999-06-08 | Csp Holdings, Inc. | Remote image capture with centralized processing and storage |
US5987430A (en) * | 1997-08-28 | 1999-11-16 | Atcom, Inc. | Communications network connection system and method |
US6055503A (en) * | 1997-08-29 | 2000-04-25 | Preview Systems | Software program self-modification |
US6064736A (en) * | 1997-09-15 | 2000-05-16 | International Business Machines Corporation | Systems, methods and computer program products that use an encrypted session for additional password verification |
US6023502A (en) * | 1997-10-30 | 2000-02-08 | At&T Corp. | Method and apparatus for providing telephone billing and authentication over a computer network |
US6094721A (en) * | 1997-10-31 | 2000-07-25 | International Business Machines Corporation | Method and apparatus for password based authentication in a distributed system |
US6026375A (en) * | 1997-12-05 | 2000-02-15 | Nortel Networks Corporation | Method and apparatus for processing orders from customers in a mobile environment |
US6925182B1 (en) * | 1997-12-19 | 2005-08-02 | Koninklijke Philips Electronics N.V. | Administration and utilization of private keys in a networked environment |
US6175869B1 (en) * | 1998-04-08 | 2001-01-16 | Lucent Technologies Inc. | Client-side techniques for web server allocation |
EP0949788B1 (en) * | 1998-04-10 | 2006-03-22 | Sun Microsystems, Inc. | Network access authentication system |
US6141756A (en) * | 1998-04-27 | 2000-10-31 | Motorola, Inc. | Apparatus and method of reading a program into a processor |
FR2778294B1 (fr) * | 1998-04-30 | 2000-06-09 | Alsthom Cge Alcatel | Profil d'abonne internet |
NL1009083C2 (nl) * | 1998-05-06 | 1999-11-09 | Telematica Holdings Ltd | Stelsel voor het koppelen van het openbare telefoonnet met het Internet. |
US6189096B1 (en) * | 1998-05-06 | 2001-02-13 | Kyberpass Corporation | User authentification using a virtual private key |
US6032132A (en) * | 1998-06-12 | 2000-02-29 | Csg Systems, Inc. | Telecommunications access cost management system |
US6219790B1 (en) * | 1998-06-19 | 2001-04-17 | Lucent Technologies Inc. | Centralized authentication, authorization and accounting server with support for multiple transport protocols and multiple client types |
US6269401B1 (en) * | 1998-08-28 | 2001-07-31 | 3Com Corporation | Integrated computer system and network performance monitoring |
US6216117B1 (en) * | 1998-09-21 | 2001-04-10 | Electronic Data Systems Corp. | Automated network sizing and pricing system for satellite network |
US6256733B1 (en) * | 1998-10-08 | 2001-07-03 | Entrust Technologies Limited | Access and storage of secure group communication cryptographic keys |
US6212561B1 (en) * | 1998-10-08 | 2001-04-03 | Cisco Technology, Inc. | Forced sequential access to specified domains in a computer network |
AU2020300A (en) * | 1998-10-23 | 2000-05-15 | L-3 Communications Corporation | Apparatus and methods for managing key material in heterogeneous cryptographic assets |
US6167126A (en) * | 1998-11-04 | 2000-12-26 | Northern Telecom Limited | Method for flexibly provisioning switching devices and a switching device incorporating the same |
US6208977B1 (en) * | 1998-12-04 | 2001-03-27 | Apogee Networks, Inc. | Accounting and billing based on network use |
US6317792B1 (en) * | 1998-12-11 | 2001-11-13 | Webtv Networks, Inc. | Generation and execution of scripts for enabling cost-effective access to network resources |
US6157618A (en) * | 1999-01-26 | 2000-12-05 | Microsoft Corporation | Distributed internet user experience monitoring system |
US6640242B1 (en) * | 1999-01-29 | 2003-10-28 | Microsoft Corporation | Voice access through a data-centric network to an integrated message storage and retrieval system |
US6792464B2 (en) * | 1999-02-18 | 2004-09-14 | Colin Hendrick | System for automatic connection to a network |
US6546492B1 (en) * | 1999-03-26 | 2003-04-08 | Ericsson Inc. | System for secure controlled electronic memory updates via networks |
US6463534B1 (en) * | 1999-03-26 | 2002-10-08 | Motorola, Inc. | Secure wireless electronic-commerce system with wireless network domain |
US6327707B1 (en) * | 1999-06-01 | 2001-12-04 | Micron Technology, Inc. | Method, programmed medium and system for customizing pre-loaded software |
US6748439B1 (en) * | 1999-08-06 | 2004-06-08 | Accelerated Networks | System and method for selecting internet service providers from a workstation that is connected to a local area network |
US6725037B1 (en) * | 1999-09-10 | 2004-04-20 | Bellsouth Intellectual Property Corporation | Method and process for validating roaming, international cellular users |
US6785823B1 (en) * | 1999-12-03 | 2004-08-31 | Qualcomm Incorporated | Method and apparatus for authentication in a wireless telecommunications system |
US6405028B1 (en) * | 1999-12-08 | 2002-06-11 | Bell Atlantic Mobile Inc. | Inetwork architecture for calling party pays wireless service |
GB2357229B (en) * | 1999-12-08 | 2004-03-17 | Hewlett Packard Co | Security protocol |
US20010021915A1 (en) * | 1999-12-29 | 2001-09-13 | Beenz . Com Ireland Ltd. | Compensation driven network based exchange system and method |
US6522884B2 (en) * | 2000-02-23 | 2003-02-18 | Nexterna, Inc. | System and method for dynamically routing messages transmitted from mobile platforms |
EP1133132B1 (en) * | 2000-03-10 | 2007-07-25 | Alcatel Lucent | Method to perfom end-to-end authentication, and related customer premises network termination and access network server |
WO2001071567A1 (en) * | 2000-03-20 | 2001-09-27 | At & T Corp. | Method for dynamically displaying brand information in a user interface |
US6947992B1 (en) * | 2000-05-01 | 2005-09-20 | International Business Machines Corporation | Maintaining HTTP session affinity in a cluster environment |
JP4511684B2 (ja) * | 2000-05-16 | 2010-07-28 | 日本電気株式会社 | バイオメトリクス本人確認サービス提供システム |
US6510463B1 (en) * | 2000-05-26 | 2003-01-21 | Ipass, Inc. | Service quality monitoring process |
US6549770B1 (en) * | 2000-05-26 | 2003-04-15 | Cellco Partnership | Over the air programming and/or service activation |
US6732270B1 (en) * | 2000-10-23 | 2004-05-04 | Motorola, Inc. | Method to authenticate a network access server to an authentication server |
US20020114346A1 (en) * | 2001-02-21 | 2002-08-22 | Nexterna, Inc. | Selective modem negotiation operation for data reporting calls |
US7020645B2 (en) * | 2001-04-19 | 2006-03-28 | Eoriginal, Inc. | Systems and methods for state-less authentication |
US6687560B2 (en) * | 2001-09-24 | 2004-02-03 | Electronic Data Systems Corporation | Processing performance data describing a relationship between a provider and a client |
US6851062B2 (en) * | 2001-09-27 | 2005-02-01 | International Business Machines Corporation | System and method for managing denial of service attacks |
US7281128B2 (en) * | 2001-10-22 | 2007-10-09 | Extended Systems, Inc. | One pass security |
US20050055371A1 (en) * | 2003-06-05 | 2005-03-10 | Singam Sunder | Method and system to manage a network connection application |
US8606885B2 (en) * | 2003-06-05 | 2013-12-10 | Ipass Inc. | Method and system of providing access point data associated with a network access point |
US7539862B2 (en) * | 2004-04-08 | 2009-05-26 | Ipass Inc. | Method and system for verifying and updating the configuration of an access device during authentication |
-
2002
- 2002-04-05 US US10/118,406 patent/US20030065919A1/en not_active Abandoned
- 2002-04-18 EP EP02764234A patent/EP1386444A1/en not_active Withdrawn
- 2002-04-18 WO PCT/US2002/012343 patent/WO2002087143A1/en active Application Filing
- 2002-04-18 JP JP2002584528A patent/JP2004532468A/ja not_active Withdrawn
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006004321A (ja) * | 2004-06-21 | 2006-01-05 | Base Technology Inc | セキュリティシステム |
JP2012019511A (ja) * | 2010-07-09 | 2012-01-26 | Tata Consultancy Services Ltd | 無線通信機器とサーバとの間でのデータの安全なトランザクションのためのシステムおよび方法 |
KR20190008333A (ko) * | 2016-05-13 | 2019-01-23 | 알리바바 그룹 홀딩 리미티드 | 복제 공격을 방지하기 위한 처리 방법, 및 서버 및 클라이언트 |
KR102218572B1 (ko) * | 2016-05-13 | 2021-02-23 | 어드밴스드 뉴 테크놀로지스 씨오., 엘티디. | 복제 공격을 방지하기 위한 처리 방법, 및 서버 및 클라이언트 |
US10999321B2 (en) | 2016-05-13 | 2021-05-04 | Advanced New Technologies Co., Ltd. | Processing method for preventing copy attack, and server and client |
JP2020516089A (ja) * | 2017-05-12 | 2020-05-28 | アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited | ブロックチェーンベースのデータ処理方法およびデバイス |
US11281661B2 (en) | 2017-05-12 | 2022-03-22 | Advanced New Technologies Co., Ltd. | Blockchain-based data processing method and device |
JP2022526934A (ja) * | 2019-03-25 | 2022-05-27 | マイクロン テクノロジー,インク. | ブロックチェーンを基にしたメモリコマンドの正当性確認 |
JP7150195B2 (ja) | 2019-03-25 | 2022-10-07 | マイクロン テクノロジー,インク. | ブロックチェーンを基にしたメモリコマンドの正当性確認 |
Also Published As
Publication number | Publication date |
---|---|
EP1386444A1 (en) | 2004-02-04 |
US20030065919A1 (en) | 2003-04-03 |
WO2002087143A1 (en) | 2002-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2004532468A (ja) | アクセス・デバイスによるコンピュータ・システムへのリプレイ攻撃を識別する方法およびシステム | |
JP2004532570A (ja) | ユーザのためのネットワーク・アクセス信用証明書を安全に認証する方法およびシステム | |
JP2004533751A (ja) | データ記録を関連付けるためのシステムおよび方法 | |
US7398551B2 (en) | System and method for the secure enrollment of devices with a clearinghouse server for internet telephony and multimedia communications | |
US9124576B2 (en) | Configuring a valid duration period for a digital certificate | |
US9172542B2 (en) | System and method to pass a private encryption key | |
US7961884B2 (en) | Method and system for changing security information in a computer network | |
CA2573171C (en) | Host credentials authorization protocol | |
US20110170696A1 (en) | System and method for secure access | |
JP2005522937A (ja) | コンピュータ・ネットワークでセキュリティ情報を変更する方法とシステム | |
CN107347073B (zh) | 一种资源信息处理方法 | |
EP1961149B1 (en) | Method for securely associating data with http and https sessions | |
Melnikov et al. | A protocol for remotely managing sieve scripts | |
Carrel et al. | Operations T. Dahm Internet-Draft A. Ota Intended status: Informational Google Inc Expires: September 21, 2020 D. Medway Gash Cisco Systems, Inc. | |
Carrel et al. | Operations T. Dahm Internet-Draft A. Ota Intended status: Informational Google Inc Expires: March 16, 2019 D. Medway Gash Cisco Systems, Inc. | |
Carrel et al. | Operations T. Dahm Internet-Draft A. Ota Intended status: Informational Google Inc Expires: June 5, 2019 D. Medway Gash Cisco Systems, Inc. | |
CN118827749A (zh) | 一种通过绑定码绑定智能网关的方法 | |
Alliance | Wireless Application Protocol Public Key Infrastructure Definition | |
Martin | RFC 5804: A Protocol for Remotely Managing Sieve Scripts | |
KR20010055494A (ko) | 전용선 인터넷 사용자를 위한 웹 인포샵 서비스 제공 방법 | |
WO2000069115A1 (en) | A method and apparatus for accessing a computer using a browser |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050215 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20080723 |