デジタル通信を容易にするためのシステム、方法、装置およびコンピュータプログラム
コンピュータで実装される方法および装置により、コンピュータへのセキュリティで保護されたアクセスが提供される。本発明のある側面によれば、ユーザーからユーザーIDおよびパスワードを含む信用情報が受け取られる。信用情報は暗号化アルゴリズムを使って暗号化される。その暗号化された信用情報を含んだ、コンピュータへのアクセスの要求が生成される。コンピュータへのアクセス要求はネットワークを通じて送信される。そのコンピュータへのアクセスが認められたという検証が受信される。そのコンピュータへのアクセスが受信される。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、2003年8月15日に出願された“System, Method, Apparatus and Computer Program Product for Facilitating Digital Communications”と題する米国仮出願第60/495,131号、および、2004年6月23日に出願された“System, Method, Apparatus and Computer Program Product for Facilitating Digital Communications”と題する米国仮出願第60/581,729号の利益を主張するものであり、両者の全体がここに参照によって組み込まれる。
【0002】
本発明は一般にコンピュータネットワークを通じた安全なデジタル通信を提供するためのシステムおよび方法に関するものである。
【背景技術】
【0003】
仮想私設ネットワーク(VPN: Virtual Private Network)は公共ネットワーク上に創り出された、排他的なクライアント‐ホスト通信が行われる私設ネットワークである。従来のVPNはユーザーまたはサイトを公共ネットワーク、通例インターネットを通じて接続する。仮想的なプライバシーは、データが共有回線を通じて移動する際にそのデータをカプセル化するセキュリティで保護されたトンネルから導かれる。VPNにより、ユーザーは、共有の公共ネットワークを通じて二つのコンピュータの間で、ポイントツーポイント・リンクのセキュリティ属性を模した形でデータを安全に送ることが可能になる。
【0004】
しかし、リモートアクセス(RA: remote access)クライアント(インターネット接続を生成する側のクライアント)のための従来のプロトコルがユーザーのログイン信用情報を伝達する仕方はセキュリティ保護されていない。ユーザーがRA認証とVPN認証のために同一のログイン信用情報を維持していた場合、そのユーザーのRA信用情報が盗まれればVPNが危殆化される。したがって、従来のVPNクライアントを使っているVPNは、ユーザーのRA信用情報が脆弱である程度には脆弱である。
【0005】
図1および図2は従来のRA認証法およびセキュリティレベルを示している。コンピュータ11上で走っているRAクライアント10はインターネット40を通じてサーバー90にアクセスする。たとえば、典型的なインターネットダイヤルアップ接続は、インターネットサービスプロバイダー(ISP: Internet service Provider)のダイヤルアクセスサーバー30またはネットワークアクセスサーバー(NAS: network access server)42にユーザーの信用情報を転送するためにパスワード認証プロトコル(PAP: Password Authentication Protocol)またはチャレンジ・ハンドシェーク認証プロトコル(CHAP: Challenge-Handshake Authentication Protocol)のいずれかをポイントツーポイント・プロトコル(PPP: Point-to-Point Protocol)上で使用する。NAS、ISPおよびサーバー90の間でユーザーの信用情報を転送するためにはリモート認証ダイヤルインユーザーサービス(RADIUS: Remote Authentication Dial-In User Service)が使用される。PAPはユーザーの識別情報(ID: identification)およびパスワード信用情報をパソコン11(PC: personal computer)とNASとの間で平文で送信する。NASとRADIUSサーバーとの間では、ユーザー名は平文であり(すなわち、暗号化されない)、それにNASとRADIUSサーバーとの間で共有されている秘密設定を使ってハッシュされたパスワードが続く。
【0006】
CHAPは3方向ハンドシェークプロセスを利用する。ひとたびリンクが確立したら、サーバーはチャレンジメッセージを起点デバイスに送る。起点デバイスはユーザーパスワードと一方向性ハッシュ関数とを使って計算された値をもって応答を返す。サーバーは応答を自分で計算した期待されるハッシュ値と突き合わせて検査する。値が一致すれば認証は合格する。CHAPはユーザーIDを平文のテキストで送信するが、パスワードについてはハッシュ値を送信する。RADIUSは平文のユーザー名とそれに続くNASとRADIUSサーバーとの間で共有されている秘密設定を使ってハッシュされたパスワードとを送信する。
【0007】
認証トランザクションには一つまたは複数のISPが関わっていることもある。特にプロバイダ間ネットワークローミングサービスが使われている場合はそうである。そうした状況では、RADIUSプロトコルは通常、認証要求と応答とを認証エンティティ間で中継するために使われる。これらのトランザクションにおいては、ユーザーIDは通常平文で送信される一方、パスワードは暗号化された形で送信される。ところが、パスワードはトランザクションに関わる各ISPで復号され、再暗号化される。
【0008】
ユーザーが無線ネットワーク(Wi-Fi)ホットスポット、ローミングブロードバンドまたは他の何らかの方法を通じてインターネットにアクセスしており、認証プロセスの最初の区間の転送でユーザーのIDとパスワードが安全なソケットレイヤー(SSL: Secure Sockets Layer)の暗号化によりセキュリティで保護されている場合であっても、IDおよびパスワードはやはり各地のISPによってRADIUSを通じた送信の前に復号されなければならない。よって、こうした状況であってさえ、暗号化されたユーザーIDとパスワードは必ずしも盗聴から保護されてはいないのである。実際、ユーザーIDおよびパスワードが平文で伝達されて限り、不心得なISP従業員によってであろうとISPネットワークに侵入したその他の者によってであろうと、常に盗聴のおそれがある。これらの従来のRA認証プロセスは図3に示されている。したがって、RA信用情報は、インターネットアクセスサービスの不正使用につながる可能性をはらむ危殆化に対して、また該RA信用情報と同一の信用情報によってアクセスされるVPNの危殆化に対して脆弱である。
【0009】
ローカルエリアネットワーク(LAN: local area network)への接続を認証するために創り出された二つのセキュリティ製品は、ACESERVERおよびSECUREIDと呼ばれるものである(業界大手の認証製品販売元であるRSAセキュリティ社によって発売されている)。これら二つの製品は密接に結合したシステムである。SECUREIDは擬似乱数発生器であり、毎分新しい値を出力する。SECUREIDのユーザーがログインを認証しようとするとき、ユーザーは通常通りユーザーIDを入力する。しかし、繰り返し使えるパスワードを入力する代わりに、暗証番号(PIN: personal identification number)をSECUREIDデバイス上に表示されるその時点での乱数とともに入力する。擬似乱数とPINとの組み合わせはしばしばパスコードと称される。認証要求はネットワーク(単数または複数)上を、最終的にはACESERVERに送信される。ACESERVERはあるアルゴリズムを利用してそのユーザーに対するその時点での乱数がいくつであるべきかを決定し、それから認証判定を行う。
【0010】
ACESERVERは、管理上強制された定期的なPINリセット機能をサポートしている。他の認証アプリケーションが管理上強制されたパスワードリセット機能をサポートしているのと同じである。これは「新PINチャレンジ」と呼ばれる。PINリセットが必要とされるとき、ACESERVERは認証要求を承認する代わりに「新PIN」チャレンジコマンドをユーザーに送る。ACESERVERはまた、ユーザーへの定期的なランダムチャレンジをもサポートしている。これは「次トークンチャレンジ」と呼ばれる。これは認証失敗(すなわち、ユーザーによって入力されたPINまたは乱数がACESERVERが計算した値と一致しない)が発生したときに行われる。新しい乱数(「トークン」)が要求されると、認証要求を承認する代わりに、ACESERVERは「次トークン」チャレンジコマンドをユーザーに送る。
【0011】
従来のダイヤルアップインターネットネットワークおよびインターネットプロトコル(たとえばPAPおよびCHAP)は、ユーザーにチャレンジを送るという考えはサポートしていない。ユーザーのコンピュータは接続要求を発生させ、ダイヤルインサーバーはユーザーのコンピュータに、PAPまたはCHAPダイヤル認証プロトコルを通じてユーザーIDおよびパスワードを用いて応答するよう命令する。ユーザーのコンピュータは適切な値を用いて応答し、ダイヤルインサーバーはその値をISPに送信する。そのときダイヤルインサーバーは認証成功または認証失敗のいずれかの応答を待つ。それ以外の種類の応答は、RSA ACESERVERから発されるチャレンジコマンドを含め、サポートされていない。これらのメッセージ型のいずれかがACESERVERからダイヤルインサーバーに返された場合、認識されないメッセージ型であるので認証は失敗となる。本発明人らの知る限り、ACESERVERやSECUREIDのようなチャレンジ・レスポンス・システムをインターネットアクセスの認証のために使うシステムはない。
【0012】
さらに、従来のVPNクライアントアプリケーションは、リモートユーザーが会社の敷地にいなくても社内ネットワークへの直接接続を確立することを許容している。このやり方で接続するとき、接続は通常の企業ネットワークセキュリティ対策(たとえばファイアウォールおよびウイルス対策サーバー)をバイパスする。リモートユーザーがネットワークセキュリティ境界をバイパスすることを認めることによって、企業は、社内ネットワークへのVPN接続を確立するユーザーが安全でない、および/またはすでに「感染されている」マシンから行っているという著しいリスクを冒している。安全でないコンピュータからのこうした接続可能性は、そのコンピュータがエンドユーザーが気づかないうちにネットワークへの攻撃の発信地として使われうるというリスクを創り出している。
【0013】
したがって、コンピュータシステムへのリモートアクセスの安全な手段が必要とされている。
【発明の開示】
【発明が解決しようとする課題】
【0014】
本発明は、一般に、コンピュータへの安全なリモートアクセスのための方法、装置、コンピュータシステムおよびソフトウェアプロダクトに向けられている。
【課題を解決するための手段】
【0015】
ある実施形態では、本発明の方法は、ユーザーIDおよびパスワードを含む信用情報を暗号化アルゴリズムを用いて暗号化することを含む。
【0016】
別の実施形態では、本発明のある側面は、インターネットデータ通信ネットワークを通じて、暗号化されたユーザーIDおよび暗号化されたパスワードを含む暗号化された信用情報を受信し、該信用情報を復号し、該復号された信用情報が有効であればコンピュータへのクライアントのアクセスを提供することを含む。
【0017】
別の実施形態では、本発明のある側面は、インターネットデータ通信ネットワークを通じてパスワードではなくパスコードを認証サーバーに送信することを含む。
【0018】
別の実施形態では、本発明のある側面は、認証チャレンジをクライアントに送信し、パスコード、PINまたは擬似乱数をクライアントからインターネットデータ通信ネットワークを通じて受信し、与えられた値が認証サーバーによって検証された場合に検証メッセージをクライアントに送信することを含む。
【0019】
別の実施形態では、本発明のある側面は、クライアントを走らせているリモートコンピュータがあるクライアントポリシーに従っていることを、前記クライアントをコンピュータに接続する前に検証することを含む。
【0020】
別の実施形態では、本発明のある側面は、クライアントを走らせているリモートコンピュータの位置種別を判定し、クライアントポリシーおよび接続構成設定をそのリモートコンピュータの位置種別に基づいて選択し、前記リモートコンピュータがクライアントポリシーに従っていることを前記クライアントをコンピュータに接続する前に検証することを含む。
【0021】
本発明およびそれに付随する利点の多くについてのより完全な理解は、以下の詳細な記述を付属の図面とともに参照することによってよりよく理解されるであろうから、容易に得られるであろう。
【発明を実施するための最良の形態】
【0022】
ここで図面を参照する。いくつかの図を通じて同様の参照符号は同一または対応する部分を示す。
【0023】
本発明の代表例としての実施形態が図4に示されている。図4の示すコンピュータシステムは、NAS42を通じてインターネット40への接続をもつコンピュータ110上で走るクライアント100を含んでいる。プラットフォーム150もインターネット40に接続されている。リモートのRADIUSサーバー190はプラットフォー150にIPSecトンネル188を通じて接続されている。プラットフォーム150は認証・復号・経路制御システム200およびシングルサインオン・アプリケーションサーバー(SSOS: Single Sign On Application Server)160を含んでいる。コンピュータ110はSECUREID120が関連付けられている。
【0024】
ユーザーがコンピュータ110からリモートサーバー210にアクセスを要求するとき、ユーザーはログイン信用情報(ユーザーIDおよびパスワード)をコンピュータ110に入力する。クライアント100はユーザーのIDを暗号化し、別にユーザーのパスワードを暗号化してから、コンピュータ110に暗号化された信用情報を渡す。するとコンピュータ110はそれ以上の修正なしにその信用情報をネットワークを通じて送信する。暗号化プロセスはシードと暗号化鍵とを利用する(図7に示されている)。シードは、ユーザーの信用情報をNAS42に送信するのに先立って、暗号化されたIDの前もしくは後ろに付加され、またはアルゴリズムを用いて該IDに混ぜ込まれる文字列である。ひとたび暗号化プロセスが完了すると、RADIUS認証要求の適切な経路制御に必要とされる標準的なプレフィックス(単数または複数)および/またはサフィックス(単数または複数)が付加されてから、クライアント100はそのNAIをコンピュータ110に渡す。ひとたびNAIが構築されると、NAIとパスワードはコンピュータ110に渡される。プラットフォーム150を目的地として識別する経路制御に関係する情報(たとえばroaming_partner/および/または@domainname.com)は、その経路制御要求がプラットフォーム150に関連付けられたユーザーが起点であることをISP30が識別し、その後その認証要求をプラットフォーム150に処理のために経路制御できるよう、平文テキストで送信される必要がある。roaming_partner/ユーザーID@domainname.comの文字列は多くの形を取ることができ、当技術分野ではネットワークアクセス識別子(NAI: Network Access Identifier)として知られている。暗号化されたユーザーID、シード、経路制御情報および暗号化されたパスワードを含む認証要求が次いでコンピュータ110からNAS42に送られる。
【0025】
コンピュータ110とNAS42が使っている認証プロトコルがPAPまたはSSLである場合には、クライアント100によって生成された信用情報に対してこれ以上の修正は起こらず、コンピュータ110は該信用情報をセキュリティで保護された、または暗号化されていない通信リンク220を通じてNAS42に送信する。しかし、 コンピュータ110とNAS42が使っている認証プロトコルがCHAPである場合(図5に示されている)、CHAP NAS350は乱数(「チャレンジ」と呼ばれる)を生成し、このチャレンジをコンピュータ110に送信する。コンピュータ110はクライアント100によって与えられた前記信用情報を通信リンク310を通じてNAS350にCHAPを使って送信するために、クライアント100によって提供された暗号化されたパスワードとCHAP NAS350によって与えられたチャレンジとをMD-5のような一方向性ハッシュ関数を使ってアルゴリズム的に混合する。他のハッシュ関数を使うこともでき、それも本発明の範囲内である。コンピュータ110はクライアントから渡されたとおりのNAIおよびハッシュされた暗号化パスワードをCHAP NAS350に通信リンク310を通じて送信する。
【0026】
ユーザーの信用情報を受信するためにPAPまたはSSLを使うNAS42の場合、NAS42はユーザーID属性およびパスワード属性を含むRADIUS認証要求を生成する。ユーザーID属性は鍵ID、キャラクタマッピングID、暗号化アルゴリズムID、シード、経路制御情報および暗号化されたユーザーIDを含むことになる。パスワード属性は、暗号化されたパスワードを含むことになる。ユーザーの信用情報を受信するためにCHAPを使うCHAP NAS350の場合、CHAP NAS350はユーザーID属性、パスワード属性およびCHAPチャレンジ属性を含んでいるRADIUS認証要求を生成する。CHAPチャレンジ属性は、CHAP NAS350からコンピュータに通信リンク310を通じて送られたのと同じ乱数を含む。ユーザーID属性は鍵ID、キャラクタマッピングID、暗号化アルゴリズムID、シード、経路制御情報および暗号化されたユーザーIDを含むことになる。パスワード属性はハッシュされた暗号化パスワードを含むことになる。
【0027】
NAS42またはCHAP NAS350はRADIUS認証要求をISP30に送信する。ISP30はNAIの一部として含まれている経路制御情報を調べ、RADIUS認証要求が処理のためにプラットフォーム150に転送されなければならないと判断する。ISP30はパスワード属性やCHAPチャレンジ属性が存在しても調べることはしない。RADIUS認証要求は認証・復号・経路制御システム200にインターネット40を通じて、あるいは私設データ通信回線222を通じて転送される。
【0028】
認証・復号・経路制御システム200がこの認証要求を受信すると、認証・復号・経路制御システム200は、認証要求を復号するための正しい復号アルゴリズム、正しい復号鍵および正しいシードを必要とする。追加的に、認証・復号・経路制御システム200はCHAPが使われているかどうかを判定する。それによって適用すべきパスワード復号プロセスが変わってくるからである。
【0029】
NAS42がコンピュータ110を認証するためにPAPまたはSSLを使う実施形態では、認証・復号・経路制御システム200は、安全な暗号化されたデータベース中にある鍵テーブルから復号鍵を取得する。鍵は復号パフォーマンスを改善するためメモリに常駐する。シードは認証要求のNAI部分に対してあるアルゴリズムを適用して経路制御情報、シード値およびユーザーIDを分離することによって決定される。ひとたびユーザーIDおよびパスワードの両方が復号されると、両者は認証・復号・経路制御システム200からリモートのRADIUSサーバー190に新しいRADIUS認証要求の形で渡される。認証・復号・経路制御システム200とリモートのRADIUSサーバー190との間の認証要求の安全性を保証するため、これらの要求の転送にはIPSecトンネル188が使われる。ひとたび認証要求がサーバー190によって処理され終わると、応答がプラットフォーム150に、次いでISPに、そして最後にはNAS42に返される。
【0030】
CHAP NAS350がコンピュータ110を認証するためにCHAPを使う別の実施形態では、認証・復号・経路制御システム200は、安全な暗号化されたデータベース中にある鍵テーブルから復号鍵を取得する。鍵は復号パフォーマンスを改善するためメモリに常駐する。シードは認証要求のNAI部分に対してあるアルゴリズムを適用して経路制御情報、シード値およびユーザーIDを分離することによって決定される。ひとたびユーザーIDが復号されると、認証・復号・経路制御システム200は平文のユーザーIDおよび平文のパスワードを含んでいるデータベース300に問い合わせをする。認証・復号・経路制御システム200はRADIUS認証要求の形で与えられたパスワードを検証する。認証・復号・経路制御システム200は、受信された暗号化されたユーザーIDを復号するのに使われたのと同じ鍵、シード、復号アルゴリズムおよびキャラクタマッピングを取り、データベース300から取得したばかりの平文パスワードを暗号化する。この時点で、認証・復号・経路制御システム200は、クライアント100がコンピュータ110に渡す前にユーザーIDを暗号化したときに生成されたのと同一の暗号文文字列を有している。認証・復号・経路制御システム200は次いでRADIUS認証要求に含まれていたCHAPチャレンジ属性から乱数を取得する。その乱数は、CHAP NAS350によって生成されたものである。認証・復号・経路制御システム200は次いでその乱数を取って、コンピュータ110によって当初用いられたのと同じMD-5のようなハッシュ関数を使って、前記乱数を計算したばかりの暗号化されたパスワードと混合する。この演算の結果は、RADIUS認証要求中のパスワード属性の内容と比較される。二つの値が一致すれば、ユーザーのパスワードは認証されたことになる。二つの値が一致しなければ、認証・復号・経路制御システム200はそれを無効なパスワードとして扱い、認証失敗になる。ひとたび認証要求が認証・復号・経路制御システム200によって処理され終わると、応答がプラットフォーム150に、次いでISP30に、そして最後にはCHAP NAS350に返される。
【0031】
認証が成功であれば、ユーザーはインターネットアクセスが認められる。認証要求への応答はユーザーの信用情報は何も含んでおらず、含まれるのはRADIUSトランザクション識別子およびアクセス承認/アクセス拒否の指示のみである。したがって、認証要求に対する応答の暗号化は必要とされない。
【0032】
NAS42およびCHAP NAS350は認証要求において暗号化されたユーザー名を呈示されるので、あらゆるRADIUSアカウント処理メッセージおよびプロバイダ呼び出し記録は暗号化されたユーザーIDを参照するようになっている。アカウント処理情報の交換には一つまたは複数の仲介者が関わることがありうるので、アカウント処理記録において暗号化されたユーザーIDを使用することはユーザーIDの危殆化や盗用を防止するさらなる助けとなる。アカウント処理記録復号システム250はRADIUSアカウント処理メッセージおよびプロバイダ呼び出し記録に含まれるユーザー名の復号を、認証・復号・経路制御システム200が認証要求を復号するに使うのと同じ方法を用いて行う。プラットフォーム150は復号されたRADIUSアカウント処理メッセージをリモートのRADIUSサーバー190にリアルタイムで転送する。図6Aおよび図6Bは、ユーザーIDおよびパスワードがクライアントによって暗号化され、認証サーバーによって復号される、本発明のある実施形態のデータの流れを示している。
【0033】
ある実施形態では、暗号化はRSAによるAES暗号化アルゴリズムの実装を使って実行され、256ビットの鍵と128ビットのシードを使って公共の、すなわち信頼されないデータ通信ネットワークを通じて送信されるユーザーインターネット認証信用情報のセキュリティを確保する。そのようなネットワークには、これに限られるものではないが:ダイヤルアップ、LAN、Wi-Fi、有線ローミングブロードバンド、遠隔通勤ブロードバンド(telecommuter broadband)、2.5G/3G無線、符号分割多重アクセス(CDMA: Code Division Multiple Access)、汎用パケット無線サービス(GPRS: General Packet Radio Service)およびパーソナル・ハンディフォン・システム(PHS: Personal Handyphone System)のネットワークが含まれる。(暗号化および復号のプロセスは図7および図8で示す。)代替的に、異なる暗号化アルゴリズム、たとえばRC4もしくはECC、および/または異なる鍵長を利用する実施形態も考えられる。これらの修正は本発明の範囲内である。
【0034】
本発明のある実施形態の暗号化プロセスの図が図7に示されている。図示した実施形態では、暗号化鍵およびキャラクタマッピングシステムがパスワードおよびIDの暗号化および復号に使われている。暗号化鍵および対応する鍵IDはクライアント100上の暗号化されたデータ記憶に保存される。キャラクタマッピングシステムはサポートされていない文字をサポートされている文字にマッピングするために使われる。ユーザーIDおよびパスワードが完全に英数字からなる場合には、信用情報を扱うどのアプリケーションも正しく認識しそこなうことは考えにくい。しかし、英数字以外のある種の文字が使われる場合、一つまたは複数のアプリケーションでエラーが引き起こされることがある。たとえば、文字“#”がユーザーIDまたはパスワードの一部として使われた場合、ユーザー認証トランザクションは失敗することがある。ある種の文字を使うと、そのトランザクションに関与する一つまたは複数の中継コンピュータ、ネットワークデバイスまたはコンピュータプログラムにおいて失敗またはエラーの条件が引き起こされることがあるからである。したがって、ある実施形態では、一つまたは複数のアプリケーションによってサポートされていない文字がサポートされている文字にマッピングされる。こうして、結果として得られる暗号文にはサポートされているキャラクタのみが存在することになる。たとえば、文字は数字にマッピングされてもよい(すなわち、“#”を“255”にマッピングする)。本発明は、サポートされている文字へのマッピング対象とするサポートされていない文字がなくても、一部でも、全部でも実施できる。サポートされていない文字の一部または全部をサポートされている文字にマッピングする実施形態は、ユーザーIDおよびパスワードに利用できる選択肢が広がるため、より高い安全性を可能にする。これはまた、英数字以外の文字を信用情報に含めることができるため、権限のない人物が一般的または明らかな単語を使った信用情報を推測する可能性を減らす。(図19A〜図19Cは、いくつかのサポートされていない文字のサポートされている文字へのマッピングの例を示している。)
ある実施形態では、シードは各認証要求に対して、クライアントソフトウェアID、クライアントセッションIDおよび追加的なランダムビットからのビットを使って動的に生成される。図4、5、6AおよびBに示した実施形態では、16バイトのシード値が次のデータを組み合わせて構築される:セッション番号から4文字、クライアントシリアル番号から4文字、ハードウェア識別子から4文字、内部コストコード(internal cost code)から2文字、ランダムな16ビット(65536通りの可能な値)。あるいはまた、異なるデータ要素、異なる長さのデータ要素を使った、あるいはランダムビットのみを使った16バイトのシードも考えられる。さらに、異なる長さまたは大きさのシードを生成する実施形態も考えられる。これらの修正も本発明の範囲内である。
【0035】
セッションIDは接続試行のたびに変化するので、プラットフォーム150はそのユーザーから見た最後の良好なセッションIDを決め、それをベースラインとすることができる。その後プラットフォーム150が同じまたはより若いセッションIDをもつ認証要求を受け取ってもそれは拒否される。セッションIDは暗号化および復号プロセスで使われるので、セッションIDを不正に除去したり修正したりすると、暗号化プロセスで使われた入力と復号プロセスで使われる入力との間に相違が生じる。この相違は暗号文を復号したものが暗号化された平文とは異なる原因となる。暗号文を復号したものがユーザーによって入力されたユーザーIDおよびパスワードと一致しないので、誤った「信用情報」が認証データベースに対して呈示され、認証は失敗する。したがって、クライアント100から発し、良好なセッションIDを含んでいる認証要求のみがプラットフォーム150による処理で成功となる。
【0036】
ある実施形態では、認証・復号・経路制御システム200はクライアントIDとドメインとを直前のセッションIDと最後に使用された時刻を常時追跡しているローカルなテーブル中で検索する。クライアントIDおよびドメインがデータベースにみつからなければ、セッションIDは受理される。要求に含まれるセッションIDの値が保存されているセッションIDよりも大きければ、セッションIDは受理される。直前のセッションIDが可能なセッションIDの最大値に等しければ、セッションカウンタが一巡したことになるのでIDが受理される。セッションIDの値が保存されているセッション鍵よりも若ければ認証は失敗し、その要求はそれ以上処理されない。セッションIDが直前のセッションIDと等しく、最後に使用された時刻が所定の時間間隔以内であれば、IDは受理される。セッション鍵が直前のセッションIDに等しく、最後に使われた時刻が所定の時間区間外であれば、認証は失敗し、その要求はそれ以上処理されない。IDが受理される場合には、アクセス要求に含まれるパスワードおよびユーザー名が復号されてRADIUSサーバー190に認証のために転送される。(ただし、復号が失敗する可能性があり、その場合も認証失敗となる。)RADIUSサーバー190はアクセス拒否またはアクセス許可応答をもって応える。応答が拒否であれば、それ以上のセッションの処理はない。アクセス拒否パケットがISP30に返される。応答がアクセス許可でセッションIDレコードがマスターデータベースに存在しなければ、現在のユーザー名、ドメイン、セッションIDおよびタイムスタンプをもつレコードが生成される。そのクライアントIDおよびドメインについてのセッションIDレコードがマスターデータベースに存在している場合には、現在の要求のセッションIDが保存されているセッションIDに上書きされて、最終使用のタイムスタンプは現在時刻に設定される。次いでアクセス許可パケットがISP30に返される。
【0037】
認証要求には暗号化のために使われたシードを決定するためにプラットフォーム150によって必要とされる情報もアルゴリズムを使って埋め込まれる。シードは認証要求のたびに変化する。各認証要求についての異なるシードは二つの個別の要求が同じ暗号文にならないことを保証する。これにより、認証プロセスを複製してハッキングすることがきわめて困難になる。
【0038】
安全性を高めるため、鍵は有限の期待寿命をもつことができる。鍵の寿命は、それぞれの鍵について管理上定義される属性である。鍵の寿命は何日、何か月、何年に設定してもよい。鍵の寿命はいつでも認証・復号・経路制御システム200を通じて変更することができ、非常時には鍵をただちに無効にすることもできる。鍵がその寿命の終わりに近づくと、新たな鍵が発行されて自動更新機能によりクライアント100に自動的に配送される。ある時間がたってユーザーが接続すると、新たな鍵と新たなキャラクタマッピングテーブルを含む更新情報を受信し、クライアント100は古い鍵および古いキャラクタマッピングテーブルの使用を停止する。二つ以上の有効な鍵およびマッピングテーブルが存在する期間が長いほど自動的に新しい鍵およびマッピングテーブルに移行されるユーザーの割合が高くなる。クライアント100は、鍵の期限切れの日時が近づくとユーザーのコンピュータ110に更新通知(パスワードの期限切れ通知と同様のもの)を表示してユーザーに設定を「X」日以内に更新しなければならないと通知することによって、スムーズな鍵移行プロセスを容易にする。ユーザーのほうでも、手動でクライアントのワンクリック更新機能を立ち上げることによってLAN接続を通じていつでも鍵とマッピングテーブルを更新することができる。鍵が管理上失効した時点で更新された鍵を受け取っていないユーザーは、認証ができなくなる。そのユーザーはそれでも、手動でブロードバンド接続を通じて更新を立ち上げることによって新しい鍵を受け取ることができる。
【0039】
認証・復号・経路制御システム200上でマッピングテーブルが管理上変更された時点で更新されたキャラクタマッピングテーブルを受け取っていないユーザーは、認証ができなくなる。認証・復号・経路制御システム200上での変更があると、クライアント100で暗号化プロセスに使われた入力と復号プロセスで使われる入力との間の相違を生じる(図8)。この相違は暗号文を復号したものが暗号化された平文とは異なる原因となる。暗号文を復号したものがユーザーによって入力されたユーザーIDおよびパスワードと一致しないので、誤った「信用情報」が認証データベースに対して呈示され、認証は失敗する。したがって、クライアント100から発し、良好なキャラクタマッピングテーブルを含んでいる認証要求のみがプラットフォーム150による処理で成功となる。
【0040】
緊急時には、鍵失効のために認証できないユーザーは認証・復号・経路制御システム200にアクセスできる管理者に連絡することができる。管理者は認証・復号・経路制御システム200に保存されている鍵の失効日時を変更することができる。失効日時をたとえば先週からたとえば明日などに変更することによって、鍵は有効な状態に戻る。ユーザーはこれで、自分が暗号化したユーザーIDとパスワードを復号するために必要とされる鍵が今では有効になったとわかれば、認証トランザクションを再び試みることができる。
【0041】
複数の鍵およびキャラクタマッピングテーブルが同時に存在している可能性があるので、認証・復号・経路制御システム200は、暗号化された認証要求を受け取ったときにはどの復号鍵およびキャラクタマッピングテーブルを使うかを判断する。認証要求の中身には、適切な復号鍵およびキャラクタマッピングテーブルを決定するために認証・復号・経路制御システム200が使用する指標が埋め込まれている。認証要求において参照されている認証鍵が期限切れになっているか、存在しないかした場合には、復号プロセスは実行されない。その代わり、認証拒否メッセージがNASに返され、NASは接続を終了する。
【0042】
図8は本発明のある実施形態の復号プロセスを示している。認証要求に含まれている平文テキストのRADIUSレルムおよび鍵IDを使って、サーバー鍵データベースが参照され、正しい復号鍵およびキャラクタマッピングテーブルが取得される。鍵が期限切れでなければ、サーバーベースのAES復号アルゴリズムはその復号鍵、キャラクタマッピングテーブル、シードおよび与えられた暗号化されたユーザー名およびパスワード文字列を使って、ユーザーによって入力されたもとの信用情報を再構築する。鍵が期限切れになっていたら、復号は実行されない。その代わり、認証拒否メッセージがNASに返され、NASは接続を終了する。
【0043】
ある実施例では、暗号化鍵はRSA BSAFETM SDKからの鍵生成ライブラリを使って生成される。あるいはまた、鍵を生成するために別のソフトウェアツールを使うこともできるし、鍵をシステム管理者が手動で生成することもできる。生成された鍵はプラットフォーム150上で暗号化されたデータベース内に保存される。生成されたそれぞれの鍵は単一のレルムについて有効であり、決まった失効期日をもつ。同じ鍵は望むなら異なるレルムに使うこともできる。鍵は更新においてクライアント100に配送され、ユーザーの信用情報の復号においてプラットフォーム150によって使用される。鍵データベースは単一のRADIUSレルムについて複数の鍵の保存を許容する。鍵が失効する前に、新しい鍵が定義され、クライアント100に次のセッションの間にダウンロードされる。これは定義により、複数の鍵が有効で(失効していない)クライアント100によって使われるということを意味している。鍵の失効と回転は迅速な鍵再割り当て率を許容している。
【0044】
ある実施形態では、安全性を高めるために二要素認証および/またはワンタイムパスワード(すなわち、一度しか使えないパスワード)が使用される。たとえば、RSAセキュリティ社によって販売されているACESERVER260およびSECUREID120は図9に示すようなシステムに組み込まれる。この実施形態では、図4に示したリモートRADIUSサーバー190はリモートACESERVER260によって置き換えられている。認証・復号・経路制御システム200とリモートACESERVER260との間を行き交うすべてのメッセージはSSOS160の手を経る。復号されたユーザーIDおよび復号されたパスワードを含む認証要求がSSOS160によって受信され、ACESERVER260へのメッセージで手を加えずに送信される。ACESERVER260からの「アクセス許可」または「アクセス拒否」メッセージの形の認証応答もSSOS160を通るが、手を加えずに認証・復号・経路制御システム200に送信される。しかし、SSOS160はACESERVER260からの「新PIN」または「次トークン」メッセージの形の応答メッセージには介入する。SSOS160はACESERVERの「新PIN」または「次トークン」メッセージを中継する代わりに、SSOS160は「アクセス許可」メッセージを発し、それが認証・復号・経路制御システム200に送られる。それに加えてSSOS160はACESERVERがある特定のユーザーに対して未処理の「新PIN」または「次トークン」要求を有しているという事実を記憶する。
【0045】
「アクセス許可」がユーザーにインターネットへのアクセスを認めるためにNAS42が必要とするメッセージである。NAS42はこのメッセージを受け取ると、コンピュータ110にインターネットアクセスを許可する。この時点で、コンピュータ110は今インターネットアクセスがあることがわかる。しかし、クライアント100は、ユーザーが今インターネットに接続されているということを示すOSのメッセージをインターセプトし、その結果、ユーザーはまだ認証段階にあるものと思うことになる。クライアント100はひとたびコンピュータ110がインターネットに接続されていると検知すると、クライアントはインターネット上の他のいかなるアプリケーションまたはサーバーとも自由に通信できる。クライアントは状態問い合わせメッセージを直接SSOS160に送信して、未処理の「新PIN」または「次トークン」チャレンジが存在しているかどうかを問い合わせる。SSOS160は、未処理のチャレンジはない、「新PIN」チャレンジが未処理である、または「次トークン」チャレンジが未処理である、のいずれかを示す状態応答メッセージを返す。クライアント100がSSOS160から未処理のACESERVERチャレンジがないことを示す状態応答メッセージを受け取った場合、クライアント100はユーザーにこれでインターネットに接続されたことを伝え、その結果ユーザーは認証段階が無事完了し、インターネット40にアクセスできることを理解する。これでユーザーはVPNクライアント230を立ち上げることができる。あるいはまた、クライアント100がVPNクライアント230を立ち上げることができる。さらに、ある実施形態では、クライアント100がVPNクライアント機能を含んでいてもよく、その場合VPNクライアント230は不要になる。そのような実施形態では、クライアント100はインターネット接続が生成されたときに自動的に自らのVPN機能を立ち上げてもよいし、あるいはユーザーからの指示を待ってVPN接続を生成してもよい。これらの修正は本発明の範囲内である。
【0046】
クライアント100がSSOS160から「新PIN」チャレンジが未処理であることを示すメッセージを受け取った場合には、クライアント100は新しいPINを入力する必要があるというメッセージをユーザーに表示する。クライアント100はユーザーによって提出された情報を含むメッセージをSSOS160に送信する。するとSSOS160が「新PIN」応答メッセージを発してそれをあたかもユーザーから発したかのようにACESERVER260に送る。ACESERVER260はトランザクションの成功/失敗の状態のメッセージを生成してそれをSSOS160に送信する。するとSSOS160はトランザクションの成功/失敗の状態のメッセージを生成してそれをクライアント100に送信する。トランザクションが成功であれば、クライアント100はユーザーにこれでインターネットに接続されていることを伝え、その結果ユーザーは認証段階が無事完了したことを理解する。トランザクションが失敗であれば、クライアント100はエンドユーザーにエラーメッセージを表示し、再試行または中止の機会を提供する。設定可能なある回数の再試行ののち、クライアント100はコンピュータ110をインターネット140から切断してもよい。
【0047】
クライアント100がSSOS160から「次トークン」チャレンジが未処理であることを示すメッセージを受け取った場合には、クライアント100はSECUREID120からの新しい乱数を入力する必要があるというメッセージをユーザーに表示する。クライアント100はユーザーによって提出された情報を含むメッセージをSSOS160に送信する。するとSSOS160が「次トークン」応答メッセージを発してそれをあたかもエンドユーザーから発したかのようにACESERVER260に送る。ACESERVER260はトランザクションの成功/失敗の状態のメッセージを生成してそれをSSOS160に送信する。SSOS160はトランザクションの成功/失敗の状態のメッセージを生成してそれをクライアント100に送信する。トランザクションが成功であれば、クライアント100はユーザーにこれでインターネットに接続されていることを伝え、その結果ユーザーは認証段階が無事完了したことを理解する。トランザクションが失敗であれば、クライアント100はエンドユーザーにエラーメッセージを表示し、再試行または中止の機会を提供する。設定可能なある回数の再試行ののち、クライアント100はコンピュータ110をインターネット140から切断してもよい。
【0048】
ある実施形態では、認証メッセージはトークン(SECUREID120からの擬似乱数)およびPINから作成されるパスコードを要求する。インターネット認証トランザクションに関わる仲介エンティティの立場からすると、パスコードはパスワードとは何ら変わるところはない。それはRADIUS認証要求および従来のRADIUS認証要求処理においてはパスワードと名付けられる一連の文字である。代替的に、実施形態によってはトークンだけ、またはPINだけを含むパスコードを要求することも考えられる。さらに、SECUREID120はコンピュータ110の一部であるソフトウェアとして構成され、クライアント100に自動的にトークンを提供したり、SECUREID120はコンピュータ110とは別個のものでSECUREID120によって表示されるトークンをユーザーがコンピュータ110に入力することを要求してもよい。これらの修正も本発明の範囲内である。
【0049】
このように、SSOS160およびクライアント100はRSAのACESERVERおよびSECUREIDというソリューションを許容する。これは、インターネットダイヤル、インターネットISDN、ローミングWi-Fi、ローミングブロードバンド、セルラー、および/またはPHS認証に対してもLANベースの認証が使われるようにするために設計されたものである。これによりRSAの二要素認証およびワンタイムパスワードのソリューションの強力なセキュリティ特徴がインターネットダイヤル環境において使えるようになる。図10および図11は認証にワンタイムトークンを使った本発明のある実施形態を示している。
【0050】
本発明のある実施形態では、クライアント100はコンピュータ110のリモートサーバー210への接続がサーバー210を「感染」させないことを保証するよう構成されている。これは、ユーザーがインターネットに接続されたり、あるいはユーザーのコンピュータ110上で走っているVPNクライアント230とVPNサーバー240(VPNコンセントレータまたはVPNゲートウェイともいう)との間のVPN接続280を通じてサーバー210に接続されたりしたときに、実行を許される特定の、名前を指定されたアプリケーションを定義することによって達成される。さらに、インターネットまたはVPN接続の間に実行していなければならない特定のアプリケーションのリストも定義される。クライアントはインターネットまたはサーバー210に接続されるときにこれらのアプリケーションをモニターして、規定通りでないことが検知されたら適切な措置を取る。禁止されているアプリケーションが見つかったときにクライアントが取ることのできる執行措置としては:イベントの記録、ユーザーへの通知、インターネットからの切断および/またはVPNトンネルからの切断が含まれる。インターネットからの切断はVPNクライアント230とVPNサーバー240との間のVPN接続を維持するために必要とされる転送が失われることにつながり、よってVPN接続280もエラーになる。
【0051】
クライアントがモニターする名前を指定された禁止および必須のアプリケーションのリストは、構成設定または「ポリシー」設定を通じて定義される。たとえば、禁止アプリケーションのリストには、ウイルス、スパイウェア、ファイル共有アプリケーション、インスタントメッセージ交換アプリケーション、ライセンスを受けていないアプリケーション、または、システム管理者がエンドユーザーにコンピュータ110で決して実行できないようにしたい、インターネット40に接続されているときに実行できないようにしたい、および/もしくはリモートサーバー210へのVPNトンネル280を通じた接続中には実行できないようにしたいその他のアプリケーションが含まれうる。必須アプリケーションのリストには、ファイアウォールアプリケーション、ウイルス対策アプリケーション、ならびに、システム管理者がエンドユーザーにコンピュータ110で常に実行していてほしい、インターネット40に接続されているときに実行していてほしい、および/またはリモートサーバー210へのVPNトンネル280を通じた接続中には実行していてほしいその他のアプリケーションが含まれうる。禁止および必須のアプリケーションのリストはクライアントがインターネットにアクセスするたびにクライアントにポリシー更新をダウンロードすることによって修正され、そのためいつでも修正できるものである。実際、ある実施形態では、クライアント100がインターネットに接続するたびにクライアントは更新サーバーに問い合わせをして、ダウンロードして適用すべきペンディングのポリシー、ソフトウェアまたは電話帳更新があるかどうかを見きわめる。ユーザーのほうでも、いつでも手動で設定を更新する機能がある。この機能を使って、暗号化鍵(上で議論したような)も、ユーザーによる介入を必要とすることなく、ポリシー更新と一緒に、あるいは別個に、自動的に配送され、更新されるようにすることもできる。
【0052】
さらに、クライアント100およびサーバー210のユーザーは複数のユーザーグループに分けられることがある。ポリシーは個々人について作成されてもよいし、グループについて作成されてもよい。また、個人ごとに更新されてもよいし、グループについて更新されてもよい。そのとき、グループの各メンバーは上で議論したようにポリシー更新を受け取り、サーバー210のアクセスセキュリティを効率的に管理する。特定の暗号化/復号鍵も特定のグループまたは個人に割り当てられることができ、グループまたは個人のポリシーに含めることができる。鍵はまた、上述したように、ポリシーとは別個にユーザーに割り当てられ、配布されることもできる。鍵の寿命、暗号化アルゴリズム、キャラクタマッピング、鍵長、シード長、シード/ユーザーID混合アルゴリズム、および/またはシードコンポーネントはみな特定のグループまたは個人に割り当てられることができ、グループまたは個人のポリシーに含められることができる。これらの修正は本発明の範囲内である。
【0053】
クライアント100は、コンピュータ110上に存在する他のクライアントアプリケーションを起動し、停止し、および/または再起動することを、該クライアントの実行中、ユーザーが特定の転送を使用中、ユーザーがインターネットに接続中、および/または、リモートサーバー210およびVPNサーバー240へのVPNトンネル280を通じた接続中のいずれの点においても行えるための一般化された拡張可能なフレームワークを提供する。クライアント100の機能はVPNクライアント、パーソナルファイアウォール、ウイルス対策製品のようなセキュリティアプリケーションに合うように仕立てられているが、クライアントの機能は任意のいかなるアプリケーションのために使われることもできる。
【0054】
起動すべきアプリケーションのリスト、いつ起動するか、いつ停止するか、再起動するかどうか、いかにして起動するか、ユーザーがインターネットに接続できるために走っている必要があるかどうか、ユーザーがVPNトンネル280を通じてサーバー210に接続するために走っている必要があるかどうか、などはみなポリシー設定を通じて定義される。
【0055】
ある実施形態では、このことは以下のプロセスによって実装される。多くのスタンドアローンのIPSec VPNクライアント230は、他の多くのアプリケーション一般と同様、自らの振る舞いと動作を構成設定に基づいて自己制御することができる。これらの構成設定はしばしば初期化ファイルに保存される。これらの初期化ファイルはしばしば平文で保存され、よってユーザーにとって直接アクセス可能である。これらのアプリケーションは通常、アプリケーションの起動時に初期化ファイルにアクセスできない場合には正しく実行できないか、全く実行できない。
【0056】
クライアント100は、図4または図9で示したVPNクライアント230によって使われる初期化ファイルを生成するために必要なパラメータのすべてを含んでいる。クライアント100はまた、ひとたびインターネットへの接続が確立されたら、VPNクライアント230を起動するためのユーザーコントロールおよび自動化されたコントロールをも提供する。VPNクライアント230がクライアント100とともにインストールされるときには、VPNクライアントは必要な初期化ファイルなしでインストールされる。さらに、クライアント100はVPNクライアント初期化ファイルを探してみつかったものをすべて削除する。VPN230を起動するのが適切になったときに、クライアント100はある必要条件(たとえば禁止アプリケーションが実行中でない、必須アプリケーションが実行中であるなど)が満たされていることを検証し、これらの前提条件が満たされたときにのみクライアント100はVPNクライアント230によって必要とされる初期化ファイルを生成し、それをコンピュータ上のVPNクライアント230が検索するディレクトリに入れる。クライアント100は次いでVPNクライアントを起動する。VPNクライアントは必要な初期化ファイルを検索し、みつけ、読み込み、そのファイルの内容に基づいて自らを初期化する。クライアント100は次いで初期化ファイルを再び削除し、該初期化ファイルが不正に使われることを防ぐ。
【0057】
この機能のため、ユーザーは、VPNクライアント230によって必要とされる初期化ファイルがクライアント100によって生成されるまでVPN接続280を確立することができない。クライアント100は他の必要条件(たとえばファイアウォールおよびウイルス対策アプリケーションが実行中である)が満たされるまで初期化ファイルを生成しないので、これにより、コンピュータ110がセキュリティ上の脅威から安全であると検証される、および/またはすべての必須アプリケーションポリシーおよび/もしくは禁止アプリケーションポリシーに完全に従っていると検証されるまでユーザーがVPN接続280を開始できないことを保証する。こうして、サーバー210は信頼できるコンピュータのみがVPN接続280を確立してくることを確信できる。ある実施形態では、VPNクライアント初期化ファイルの内容はクライアント100に暗号化されたデータ記憶中のポリシー設定として保存される。これらは暗号化されたデータ記憶に保存されており、ユーザーはそのデータ記憶の復号鍵を利用できないので、コンピュータ110のユーザーによって修正することはできない。
【0058】
ある実施例では、クライアント100はVisual C++で書かれたウィンドウズ(登録商標)ベースのアプリケーションで、ハイパーテキスト転送プロトコル‐安全なソケットレイヤー(HTTP‐SSL)を通じてHTTPベースのVPNサーバー240に通信するために使えるSSLベースのVPNクライアント230を含んでいる。TLSのような暗号化/トンネル化の他のプロトコルをVPNクライアントとVPNサーバーとの間に使うこともでき、そのような修正は本発明の範囲内である。この機能は、ユーザーがウェブブラウザを開いて適切な一様リソース位置指定子(URL)を入力または選択し、アクセスゲートウェイのログインページにたどり着いたときにログイン信用情報を入力するといった必要なしに、ひとたびユーザーがインターネットに接続されたら、そのユーザーを自動的にHTTPベースのアクセス制御ゲートウェイにログインさせるのに使うことができる。別の実施例では、クライアント100は、インターネット技術特別調査委員会(IETF: Internet Engineering Task Force)によるIPSecプロトコルを通じてIPSecベースでVPNクライアント240に通信するのに使えるIPSecベースのVPNクライアント230を含んでいる。この機能を使えば、ユーザーはサードパーティーによる外部のIPSecベースVPNクライアント230をインストール、保有または使用する必要なしに、ひとたびユーザーがインターネットに接続されたら、IPSecベースのVPNサーバー240へのIPSec VPN接続を自動的に確立することができる。
【0059】
クライアント100はコンピュータ110上で走る他のアプリケーションをモニターし、定義されたポリシーに全体的に従っているかどうかを評価することができるので、クライアント100は、実行している必要のあるアプリケーション(たとえばファイアウォールアプリケーション)のどれが実行されていないか、および逆に実行が禁じられているアプリケーション(たとえばスパイウェア、ライセンスを受けていないアプリケーションまたはシステム管理者によって望ましくないと見なされるその他のアプリケーション)のどれが実行されているかをログイン要求中に含めることもできるし、あるいは任意の時点でVPNアクセス制御ゲートウェイ240に通知することもできる。クライアント100はまた、コンピュータ110の相対的な物理位置(たとえば自宅、支店、ホテル、社内ネットワークに直接接続など)をも伝達できる。アクセス制御ゲートウェイはこの情報を使って動的にそのユーザーに認められる許可のリストを適応させ、たとえばユーザーがウイルス対策ソフトウェアのないキオスクコンピュータにいるときには一つまたは複数の特定のアプリケーションへのアクセスを拒否したり、あるいはVPNサーバー240またはサーバー210へのアクセスを完全に拒否したりすることができる。
【0060】
クライアント100が特に心配なポリシー違反を検出した場合、たとえばウイルス対策アプリケーションによって報告されるウイルスが検出された場合などには、クライアント100は自動的にVPNアクセス制御ゲートウェイ240にログアウトコマンドを送ることができる。他のウェブアクセス制御ゲートウェイソリューションはユーザーが新しいウェブページを開くかリンクをクリックするかし、それから前記情報をウェブブラウザからウェブアクセス制御ゲートウェイに向かう次の要求に便乗させるのを待つが、上記の動作はそれとは異なるものである。
【0061】
ある実施形態では、ポリシー設定は使用される接続方法を決定するために使用される。クライアント100の起動時に、クライアントは自動的にどんな接続ハードウェア(ネットワークアダプタやモデム)が現在そのマシンで利用可能であるかを問い合わせる。クライアント100は次いで自動的に、検出されたハードウェア装置のいずれかが利用可能なネットワーク接続を有しているかどうかの問い合わせをする。これらの結果を使って、どの接続方法(アナログダイヤル、統合サービスデジタル通信網(ISDN)ダイヤル、PHSセルラー、Wi-Fi無線、LAN、符号分割多重アクセス(CDMA)セルラー、汎ヨーロッパデジタル移動通信システム(GSM)セルラー、GPRSセルラーなど)が現在利用可能であるかに関するユーザーフィードバックが提供される。クライアント100はポリシー設定または手動コントロールを通じたユーザー入力に基づいて複数の接続方法を順位付けする。クライアント100はこれらの順位を利用して、利用可能な接続方法のうちで最も好ましい接続方法のユーザーインターフェースを自動的に表示する。ポリシー設定に基づいて、クライアント100は一つまたは複数の特定の転送について状態または接続コントロールの表示を制限したり防止したりするよう構成されうる。これにより、一つのコードベースによって、サポートされている接続方法の組み合わせをいくらでもサポートすることができるようになる。
【0062】
ある実施形態では、クライアント100は、コンピュータ110が有線または無線のLAN接続を有するときにユーザーの物理的な位置の位置種別を決定する位置種別評価を自動的に実行する。サポートされている位置種別としては:社外/非ローミング、社内/非ローミングおよび社外/ローミングが含まれる。ユーザーの位置種別に基づいて、クライアント100はユーザーがインターネット接続を開始するときに使われるべき適切な認証方法を自動的に決定する。クライアント100はまた位置固有ポリシーを自動的に適用する。たとえば許可されるアプリケーション、禁止されるアプリケーション、VPNクライアント230を自動的に立ち上げるかどうか、どの情報(たとえばユーザーの位置、実行中のアプリケーション、ユーザーのポリシーグループなど)をHTTPベース、TLSベース、IPSecベースまたはその他の暗号化方法ベースのVPNサーバー240またはその他のポリシーが定義されたアプリケーションに送るか、など関するものである。追加的に、前記評価に続いて、クライアント100はユーザーのためにその実際の物理的位置の名前を突き止め、このユーザーフレンドリーな位置名称をユーザーに表示しようとする。これは、位置名称評価方法を使って達成される。適切なポリシーが決められていれば、クライアント100は上述したようにインターネットおよびVPNサーバー240にアクセスする。
【0063】
ユーザーがある商業ローミングブロードバンド位置にいると決定された場合、クライアント100はユーザーがインターネット接続を開始したときに自動的にローミングブロードバンド認証方法を選択する。ユーザーが商業ローミングブロードバンド位置にいるのではないと決定された場合、クライアント100は自動的に社内/非社内LAN評価を開始する。社内/非社内LAN評価の目的は、ユーザーが社内ブロードバンド位置(たとえば、本社、支店、部局、製造施設など)にいるかどうかを決定することである。ユーザーが社内ブロードバンド位置にいると決定された場合、クライアント100はユーザーがインターネット接続を開始したときに自動的にいかなるブロードバンド認証方法をも無効にする。ユーザーが社内ブロードバンド位置にいるのではないと決定された場合、クライアント100はユーザーがインターネット接続を開始したときに直接アクセスブロードバンド認証方法を自動的に選択する。
【0064】
クライアント100は、ユーザーのコンピュータが有線または無線のLAN接続を有しているときにユーザーの物理的位置の位置名称を決定する位置名称評価を自動的に実行する。クライアント100は、ユーザーのコンピュータが有線LAN接続を有しているときにユーザーまたはコンピュータ管理者が有線もしくは無線LAN接続に名前を付けたり個人設定したりすることを許し、その同じ有線もしくは無線LAN接続のその後の使用に際して正しい名前を自動的に選択して表示することができる。クライアント100は、ユーザーのコンピュータが有線もしくは無線LAN接続を有しているときに、位置種別に基づいてユーザーのコンピュータ上でセキュリティポリシー設定が自動的かつ動的に調整されることを許す。
【0065】
さらに、ある実施形態では、ユーザーは名前を与えることに加えて有線または無線LAN接続の属性を設定する。ユーザーは名前の付いた、あるいは名前の付いていない接続をリストから選択する。次いでユーザーは、接続の名称、位置(たとえば自宅またはローミング中)、ブロードバンド接続が確立されたときのVPNクライアント230の自動立ち上げの有効化/無効化(この属性はクライアントポリシーによって設定/オーバーライドされてもよい)、VPNサーバーの選択、および/またはデバイスの選択といった接続の属性を定義/再定義する。この情報はブックマークとして保存される。保存されたブックマークによって、ユーザーはそれぞれの利用可能な接続の属性を素早く決定することができ、自分の環境のために最適な接続を選択することができる。ユーザーまたは管理者は、以前に定義されたブックマークを削除または修正してもよい。
【0066】
図12は、本発明の例示的な方法において、ユーザーIDおよびパスワードがクライアントによって暗号化されるステップを示している。ステップ1210において、クライアント100はユーザーにユーザーIDおよびパスワードを要求する。ステップ1220でクライアントはユーザーIDとパスワードを受け取る。ステップ1230でユーザーIDおよびパスワードがワンタイムシードを使って暗号化され、平文の経路制御情報、鍵IDおよびシードが付加される。これで認証要求が生成される。ステップ1240で認証要求が送信される。ステップ1250で認証判定が行われる。認証メッセージが検証されないと、クライアント100はステップ1260で「アクセス拒否」メッセージを受け取る。認証メッセージが検証されると、クライアントはステップ1270で「アクセス許可」メッセージを受け取る。
【0067】
図13は、本発明の例示的な方法において、認証にワンタイムトークンを使うステップを示している。ステップ1310において、クライアント100はSSOS160に問い合わせをする。ステップ1320においてSSOS160が未処理のチャレンジがあると示した場合、クライアントはステップ1330でPIN、トークンまたはパスコードを求めるプロンプトを受け取る。未処理のチャレンジがなければ、クライアントはステップ1370でインターネット接続が完了したとユーザーに通知する。PIN、トークンまたはパスコードが必要とされる場合、それはステップ1340でSSOS160に送られる。ステップ1350でこのPIN、トークンまたはパスコードがACESERVER260によって受理された場合、クライアントはステップ1360で受理メッセージを受け取る。するとクライアント100はステップ1370でインターネット接続が完了したとユーザーに通知する。
【0068】
図14は、本発明の例示的な方法において、ユーザーIDおよびパスワードが認証サーバーによって復号されるステップを示している。ステップ1410において、プラットフォーム150は暗号化された認証要求を受信し、それを認証・復号・経路制御システム200に送る。認証・復号・経路制御システム200はステップ1420でその要求を復号する。ステップ1430において認証・復号・経路制御システム200が認証メッセージを検証すると、ISP30を通じてNAS42に「アクセス許可」メッセージが送信され、コンピュータ110はインターネットにアクセスすることが許される。認証要求が検証されないと、認証・復号・経路制御システム200は「アクセス拒否」メッセージをISP30を通じてNAS42に送信する。
【0069】
図15は、本発明の例示的な方法において、認証にワンタイムトークンを使うステップを示している。ステップ1510において、SSOSサーバー160はクライアント100からチャレンジ問い合わせを受信する。するとステップ1520でSSOSが未処理のチャレンジがあるかどうかを判定する。もしあれば、SSOS160はステップ1530でクライアントに新しいPIN、トークンまたはパスコードを求めるプロンプトを送る。次いでステップ1540においてSSOS160はその新しいPIN、トークンまたはパスコードメッセージを受信し、それをメッセージの形でACESERVER260に送信する。もしステップ1550でACESERVER260が新しいPIN、トークンまたはパスコードを拒否した場合、ステップ1560でSSOS160はクライアント100に失敗メッセージを送る。もしステップ1550でACESERVER260が新しいPIN、トークンまたはパスコードを受理した場合には、ステップ1570でSSOS160はクライアント100に成功メッセージを送る。
【0070】
図16は、本発明の例示的な方法において、サーバーの安全性を保証するためのあるポリシーの遵守が使われるステップを示している。ステップ1610において、クライアント100はユーザーからインターネットに接続する要求を受け取る。次いでクライアント100はステップ1615でそのポリシーを検査する。クライアント100はステップ1620ですべてのポリシーが従われているかどうかを判定する。すべてのポリシーが従われていたら、クライアントはステップ1640でインターネットに接続する。そうでなければ、クライアント100はステップ1625でコンピュータ110の構成設定を前記ポリシーに従うよう修正する。次いでクライアント100はステップ1630でコンピュータ110が前記ポリシーに従っているかどうかを改めて評価する。従っていなければ、1635でポリシーに基づく行動がとられる。ポリシーに基づく行動はインターネット接続の拒否および/またはユーザーへの視覚的な通知の提供を含みうる。コンピュータ110がこの時点で前記ポリシーに従っている場合には、クライアント100はステップ1640でインターネット接続をする。
【0071】
ステップ1640でインターネット接続が構築されたのち、クライアント100はステップ1645でプラットフォーム150からポリシー更新を受信する。次いでクライアント100はステップ1650で現在のポリシーの遵守を保証するよう継続的にコンピュータ110をモニターする。クライアント100がステップ1655で不遵守を見出した場合、ステップ1660でコンピュータ110は現在のポリシーに従うよう修正される。これでステップ1665においてコンピュータ110が遵守状態になっていれば、クライアント100はステップ1650に戻ってコンピュータ110をモニターする。しかし、クライアント100を遵守状態にすることができなかった場合、ステップ1670でポリシーに基づく行動が取られる。ポリシーに基づく行動はアプリケーションの開始もしくは終了、VPN接続の停止、インターネット接続の停止および/またはユーザーへの視覚的な通知の提供を含みうる。
【0072】
図17は、本発明の例示的な方法において、ユーザーのコンピュータ位置および状態を用いて適切なポリシーを決定するステップを示している。クライアント100はステップ1710においてユーザーからインターネット40またはVPNサーバー240への接続要求を受け取る。次いでクライアント100はステップ1720でコンピュータ110の位置および状態を決定する。ステップ1720で決定された位置および状態に基づいて、クライアント100はステップ1730で最良の接続方法を決定する。クライアント100はステップ1740でコンピュータ110の位置および状態のための最良のポリシーを決定する。次いでクライアント100は図16に示された、ステップ1615に始まるプロセスを実行する。
【0073】
図18は、本発明の実施形態を実装しうるコンピュータシステム1801を示している。コンピュータシステム1801には、情報を伝達するためのバス1802またはその他の通信機構と、前記情報を処理するための前記バス1802に結合されたプロセッサ1803とが含まれる。コンピュータシステム1801にはまた、情報やプロセッサ1803によって実行されるべき命令を保存するための前記バス1802に結合された、ランダムアクセスメモリ(RAM)またはその他の動的記憶装置(たとえば、動的RAM(DRAM)、静的RAM(SRAM)および同期DRAM(SDRAM))のようなメインメモリ1804が含まれる。さらに、メインメモリ1804は前記プロセッサ1803による命令実行中に一時変数またはその他の中間情報を保存するために使われうる。コンピュータシステム1801にはさらに、静的な情報および前記プロセッサ1803のための命令を保存するための前記バス1802に結合された、読み出し専用メモリ(ROM)1805またはその他の静的記憶装置(たとえば、プログラム可能ROM(PROM)、消去可能PROM(EPROM)および電気的に消去可能PROM(EEPROM))が含まれる。
【0074】
コンピュータシステム1801にはまた、磁気ハードディスク1807およびリムーバブルメディアドライブ1808(たとえばフロッピー(登録商標)ディスクドライブ、読み出し専用コンパクトディスクドライブ、読み出し/書き込みコンパクトディスクドライブ、コンパクトディスクジュークボックス、テープドライブおよびリムーバブル光磁気ドライブ)といった、情報および命令を保存するための一つまたは複数の記憶装置を制御するための、前記バス1802に結合されたディスクコントローラ1806が含まれる。記憶装置はコンピュータシステム1801に適切なデバイスインターフェース(たとえば小型コンピュータシステムインターフェース(SCSI: small computer system interface))、統合デバイスエレクトロニクス(IDE: integrated device electronics)、エンハンストIDE(E-IDE)、直接メモリアクセス(DMA)またはウルトラDMAを使って追加しうる。
【0075】
コンピュータシステム1801にはまた、特殊目的論理素子(たとえば、特定用途向けIC(ASIC: application specific integrated circuit))または構成設定可能な論理素子(たとえば、単純なプログラム可能論理素子(SPLD: simple programmable logic device)、複雑なプログラム可能論理素子(CPLD: complex programmable logic device)および現場でプログラム可能なゲートアレイ(FPGA: field programmable gate array))が含まれうる。
【0076】
コンピュータシステム1801にはまた、情報をコンピュータユーザーに表示するための陰極線管(CRT)のようなディスプレイ1810を制御するための、前記バス1802に結合されたディスプレイコントローラ1809が含まれうる。当該コンピュータシステムはキーボード1811およびポインティングデバイス1812といった、コンピュータユーザーと対話し、プロセッサ1803に情報を提供するための入力装置を含む。ポインティングデバイス1812はたとえば、方向情報およびコマンド選択をプロセッサ1803に伝達し、ディスプレイ1810上でのカーソルの動きを制御するための、マウス、トラックボールまたはポインティングスティックでありうる。さらに、コンピュータシステム1801によって保存または生成されるデータの印字出力を提供するプリンタがあってもよい。
【0077】
コンピュータシステム1801は、プロセッサ1803がメインメモリ1804のようなメモリに含まれる一つまたは複数の命令の一つまたは複数のシーケンスを実行するのに反応して本発明の処理ステップの一部分または全部を実行する。そのような情報は、ハードディスク1807またはリムーバブルメディアドライブ1808のような別のコンピュータ可読媒体からメインメモリ1804に読み込まれることができる。ハードディスク1807はクライアント100によって使用される一つまたは複数のデータベースおよびデータファイルを含むことができる。データベースの内容およびデータファイルは安全性向上のために暗号化されていてもよい。メインメモリ1804に含まれる命令のシーケンスを実行するためにマルチプロセシング構成における一つまたは複数のプロセッサを用いてもよい。代替的な実施形態では、ソフトウェア命令の代わりに、あるいはそれと組み合わせて配線による回路が使用されうる。このように、実施形態はハードウェア回路とソフトウェアのいかなる特定の組み合わせに限定されるものでもない。
【0078】
上述したように、コンピュータシステム1801には、本発明の思想に従ってプログラムされた命令を保持するための、そしてデータ構造、テーブル、レコードまたはここに記載されるその他のデータを含むための少なくとも一つのコンピュータ可読媒体またはメモリが含まれる。コンピュータ可読媒体の例は、コンパクトディスク、ハードディスク、フロッピー(登録商標)ディスク、テープ、光磁気ディスク、PROM(EPROM、EEPROM、フラッシュEPROM)、DRAM、SRAM、SDRAMまたは他のいかなる磁気媒体でもよく、コンパクトディスク(たとえばCD-ROM)または他のいかなる光学式媒体でもよく、パンチカード、紙テープまたはその他の孔のパターンのある物理媒体でもよく、搬送波(後述)またはその他コンピュータが読むことのできるいかなる媒体でもよい。
【0079】
コンピュータ可読媒体のいかなる一つまたは組み合わせに保存されていようと、本発明はコンピュータシステム1801を制御し、本発明を実装するために単数または複数のデバイスを駆動し、コンピュータシステム1801が人間のユーザー(たとえば印刷作成人員)と対話できるようにするためのソフトウェアを含む。そのようなソフトウェアは、これに限定されるものではないが、デバイスドライバ、オペレーティングシステム、開発ツールおよびアプリケーションソフトウェアが含まれうる。そのようなコンピュータ可読媒体はさらに、本発明を実施する際に実行される処理の全部または(分散処理の場合には)一部分を実行するための本発明のコンピュータプログラムプロダクトを含む。
【0080】
本発明のコンピュータコードデバイスは、いかなる解釈可能または実行可能なコード機構であってもよく、これに限定されるわけではないが、スクリプト、インタープリタプログラム、ダイナミックリンクライブラリ(DLL)、ジャバクラスおよび完全な実行可能プログラムが含まれうる。さらに、本発明の処理の一部は効率、信頼性および/またはコストの改善のために分散されてもよい。
【0081】
ここで使われる「コンピュータ可読媒体」の用語は、プロセッサ1803に実行のための命令を与えることに関わるいかなる媒体をも指すものである。コンピュータ可読媒体は多くの形を取りうる。これに限定されるものではないが、不揮発性媒体、揮発性媒体および伝送媒体がそれに含まれる。不揮発性媒体には、たとえば光学式、磁気式ディスク、光磁気ディスクが含まれ、具体的にはハードディスク1807またはリムーバブルメディアドライブ1808などである。揮発性媒体にはメインメモリ1804のような動的メモリが含まれる。伝送媒体は同軸ケーブル、銅線および光ファイバーが含まれ、バス1802をなす導線もこれに当たる。伝送媒体はまた、音波または、電波および赤外線データ通信の際に生成されるような電磁波の形をとりうる。
【0082】
プロセッサ1803が実行するための一つまたは複数の命令の一つまたは複数のシーケンスを担うのには、さまざまな形のコンピュータ可読媒体が関わる可能性がある。たとえば、命令は最初はリモートコンピュータの磁気ディスク上に保存されていてもよい。リモートコンピュータは、本発明の全部または一部を実装するための命令をリモートに動的メモリに読み込み、前記命令を電話回線を通じてモデムを使って送信することができる。コンピュータシステム1801にあるローカルモデムは、電話回線上のデータを受信し、赤外線送信機を使って前記データを赤外線信号に変換するなどする。バス1802に結合された赤外線検出器は前記赤外線信号中で搬送されているデータを受信し、該データをバス1802に載せることができる。バス1802はデータをメインメモリ1804に伝え、該メインメモリからプロセッサ1803が命令を取得して実行する。メインメモリ1804によって受信される命令は、プロセッサ1803による実行の前または後に任意的に記憶装置1807または1808に保存されてもよい。
【0083】
コンピュータシステム1801はまた、バス1802に結合した通信インターフェース1813を含む。通信インターフェース1813は、たとえば構内ネットワーク(LAN)1815に、あるいはインターネットのような別の通信ネットワーク1816に接続されているネットワークリンク1814への双方向データ通信結合を提供する。たとえば、通信インターフェース1813は、いかなるパケット交換LANに取り付けるためのネットワークインターフェースカードであってもよい。別の例として、通信インターフェース1813は、対応する種類の通信回線へのデータ通信接続を提供するための非対称デジタル加入者線(ADSL: asymmetrical digital subscriber line)カード、統合サービスデジタル通信網(ISDN)カードまたはモデムであってもよい。無線リンクを実装してもよい。そのようないかなる実装であれ、通信インターフェース1813はさまざまな種類の情報を表すデジタルデータストリームを搬送する電気的、電磁的または光学的信号を送受信する。
【0084】
ネットワークリンク1814は典型的には一つまたは二つのネットワークを通じて他のデータ装置へのデータ通信を提供する。たとえば、ネットワークリンク1814はローカルネットワーク1815(たとえばLAN)を通じて、あるいは通信ネットワーク1816を通じて通信サービスを提供するサービスプロバイダによって運営される装置を通じて別のコンピュータへの接続を提供しうる。ローカルネットワーク1814および通信ネットワーク1816はたとえば、デジタルデータストリームを搬送する電気的、電磁的または光学的信号および対応する物理層(たとえば、CAT5ケーブル、同軸ケーブル、光ファイバーなど)を使う。さまざまなネットワークを通る信号ならびにネットワークリンク1814上および通信インターフェース1813を通る信号はデジタルデータをコンピュータシステム1801との間で搬送するものだが、該信号はベースバンド信号の形で実装してもよいし、搬送波ベースの信号として実装されてもよい。ベースバンド信号はデジタルデータを、デジタルデータビットのストリームを表す変調されていない電気パルスとして伝送する。ここで、「ビット」の語は広く、少なくとも一つまたは複数の情報ビットを伝えるシンボルを意味するものと解釈されるものとする。デジタルデータはまた、搬送波を変調するために用いてもよい。伝導性媒体を通じて伝搬されたり電磁波として伝搬媒質を通じて伝送されたりする振幅、位相および/または周波数変位符号化された(amplitude, phase and/or frequency shift keyed)信号の場合がそうである。このように、デジタルデータは「有線」の通信回線を通じて変調されないベースバンドとして送信されてもよいし、および/または搬送波を変調することによってベースバンドとは異なる所定の周波数体内で送信されてもよい。コンピュータシステム1801はプログラムコードを含むデータをネットワーク1815および1816、ネットワークリンク1814ならびに通信インターフェース1813を通じて送受信することができる。さらに、ネットワークリンク1814は、携帯情報端末(PDA)、ラップトップパソコン、または携帯電話のような携帯機器1817へのLANを通じた接続を提供することもできる。
【0085】
明らかに、上記の思想に照らせば本発明の数多くの修正および変更が可能である。したがって、本発明はここに明示的に記載された以外の仕方で実施することも付属の特許請求の範囲内で可能であると理解されるべきものである。
【図面の簡単な説明】
【0086】
【図1】従来のVPNシステムのブロック図である。
【図2】従来のVPNシステムの概略図である。
【図3】従来のVPNシステムの認証プロセスの概略図である。
【図4】ユーザーIDおよびパスワードがクライアントによって暗号化され、認証サーバーによって復号される、本発明のある実施形態のブロック図である。
【図5】ユーザーIDおよびパスワードがクライアントによって暗号化され、認証サーバーによって復号され、コンピュータ110およびNASによって使われる認証プロトコルがCHAPである、本発明のある実施形態のブロック図である。
【図6A】ユーザーIDおよびパスワードがクライアントによって暗号化され、認証サーバーによって復号される、本発明のある実施形態の概略図の前半である。
【図6B】ユーザーIDおよびパスワードがクライアントによって暗号化され、認証サーバーによって復号される、本発明のある実施形態の概略図の後半である。
【図7】本発明のある実施形態の暗号化プロセスのブロック図である。
【図8】本発明のある実施形態の復号プロセスのブロック図である。
【図9】認証のためにワンタイムトークンを使用する本発明のある実施形態のブロック図である。
【図10】認証のためにワンタイムトークンを使用する本発明のある実施形態の概略図である。
【図11】認証のためにワンタイムトークンを使用する本発明のある実施形態の概略図である。
【図12】ユーザーIDおよびパスワードがクライアントによって暗号化される、本発明のある方法のある実施形態のブロック図である。
【図13】認証のためにワンタイムトークンを使用する本発明のある方法のある実施形態のブロック図である。
【図14】ユーザーIDおよびパスワードが認証サーバーによって復号される、本発明のある方法のある実施形態のブロック図である。
【図15】認証のためにワンタイムトークンを使用する本発明のある方法のある実施形態のブロック図である。
【図16】サーバー安全性を保証するためにあるポリシーの遵守が使われる、本発明のある方法のある実施形態のブロック図である。
【図17】適切なポリシーを決定するためにユーザーのコンピュータの位置および状態が使用される、本発明のある方法のある実施形態のブロック図である。
【図18】本発明の実施形態を実装する基礎となるコンピュータのある実施形態のブロック図である。
【図19A】いくつかのサポートされていないキャラクタのサポートされているキャラクタへのマッピングの代表例を示す表の最初の部分である。
【図19B】いくつかのサポートされていないキャラクタのサポートされているキャラクタへのマッピングの代表例を示す表の第2の部分である。
【図19C】いくつかのサポートされていないキャラクタのサポートされているキャラクタへのマッピングの代表例を示す表の最後の部分である。
【技術分野】
【0001】
本出願は、2003年8月15日に出願された“System, Method, Apparatus and Computer Program Product for Facilitating Digital Communications”と題する米国仮出願第60/495,131号、および、2004年6月23日に出願された“System, Method, Apparatus and Computer Program Product for Facilitating Digital Communications”と題する米国仮出願第60/581,729号の利益を主張するものであり、両者の全体がここに参照によって組み込まれる。
【0002】
本発明は一般にコンピュータネットワークを通じた安全なデジタル通信を提供するためのシステムおよび方法に関するものである。
【背景技術】
【0003】
仮想私設ネットワーク(VPN: Virtual Private Network)は公共ネットワーク上に創り出された、排他的なクライアント‐ホスト通信が行われる私設ネットワークである。従来のVPNはユーザーまたはサイトを公共ネットワーク、通例インターネットを通じて接続する。仮想的なプライバシーは、データが共有回線を通じて移動する際にそのデータをカプセル化するセキュリティで保護されたトンネルから導かれる。VPNにより、ユーザーは、共有の公共ネットワークを通じて二つのコンピュータの間で、ポイントツーポイント・リンクのセキュリティ属性を模した形でデータを安全に送ることが可能になる。
【0004】
しかし、リモートアクセス(RA: remote access)クライアント(インターネット接続を生成する側のクライアント)のための従来のプロトコルがユーザーのログイン信用情報を伝達する仕方はセキュリティ保護されていない。ユーザーがRA認証とVPN認証のために同一のログイン信用情報を維持していた場合、そのユーザーのRA信用情報が盗まれればVPNが危殆化される。したがって、従来のVPNクライアントを使っているVPNは、ユーザーのRA信用情報が脆弱である程度には脆弱である。
【0005】
図1および図2は従来のRA認証法およびセキュリティレベルを示している。コンピュータ11上で走っているRAクライアント10はインターネット40を通じてサーバー90にアクセスする。たとえば、典型的なインターネットダイヤルアップ接続は、インターネットサービスプロバイダー(ISP: Internet service Provider)のダイヤルアクセスサーバー30またはネットワークアクセスサーバー(NAS: network access server)42にユーザーの信用情報を転送するためにパスワード認証プロトコル(PAP: Password Authentication Protocol)またはチャレンジ・ハンドシェーク認証プロトコル(CHAP: Challenge-Handshake Authentication Protocol)のいずれかをポイントツーポイント・プロトコル(PPP: Point-to-Point Protocol)上で使用する。NAS、ISPおよびサーバー90の間でユーザーの信用情報を転送するためにはリモート認証ダイヤルインユーザーサービス(RADIUS: Remote Authentication Dial-In User Service)が使用される。PAPはユーザーの識別情報(ID: identification)およびパスワード信用情報をパソコン11(PC: personal computer)とNASとの間で平文で送信する。NASとRADIUSサーバーとの間では、ユーザー名は平文であり(すなわち、暗号化されない)、それにNASとRADIUSサーバーとの間で共有されている秘密設定を使ってハッシュされたパスワードが続く。
【0006】
CHAPは3方向ハンドシェークプロセスを利用する。ひとたびリンクが確立したら、サーバーはチャレンジメッセージを起点デバイスに送る。起点デバイスはユーザーパスワードと一方向性ハッシュ関数とを使って計算された値をもって応答を返す。サーバーは応答を自分で計算した期待されるハッシュ値と突き合わせて検査する。値が一致すれば認証は合格する。CHAPはユーザーIDを平文のテキストで送信するが、パスワードについてはハッシュ値を送信する。RADIUSは平文のユーザー名とそれに続くNASとRADIUSサーバーとの間で共有されている秘密設定を使ってハッシュされたパスワードとを送信する。
【0007】
認証トランザクションには一つまたは複数のISPが関わっていることもある。特にプロバイダ間ネットワークローミングサービスが使われている場合はそうである。そうした状況では、RADIUSプロトコルは通常、認証要求と応答とを認証エンティティ間で中継するために使われる。これらのトランザクションにおいては、ユーザーIDは通常平文で送信される一方、パスワードは暗号化された形で送信される。ところが、パスワードはトランザクションに関わる各ISPで復号され、再暗号化される。
【0008】
ユーザーが無線ネットワーク(Wi-Fi)ホットスポット、ローミングブロードバンドまたは他の何らかの方法を通じてインターネットにアクセスしており、認証プロセスの最初の区間の転送でユーザーのIDとパスワードが安全なソケットレイヤー(SSL: Secure Sockets Layer)の暗号化によりセキュリティで保護されている場合であっても、IDおよびパスワードはやはり各地のISPによってRADIUSを通じた送信の前に復号されなければならない。よって、こうした状況であってさえ、暗号化されたユーザーIDとパスワードは必ずしも盗聴から保護されてはいないのである。実際、ユーザーIDおよびパスワードが平文で伝達されて限り、不心得なISP従業員によってであろうとISPネットワークに侵入したその他の者によってであろうと、常に盗聴のおそれがある。これらの従来のRA認証プロセスは図3に示されている。したがって、RA信用情報は、インターネットアクセスサービスの不正使用につながる可能性をはらむ危殆化に対して、また該RA信用情報と同一の信用情報によってアクセスされるVPNの危殆化に対して脆弱である。
【0009】
ローカルエリアネットワーク(LAN: local area network)への接続を認証するために創り出された二つのセキュリティ製品は、ACESERVERおよびSECUREIDと呼ばれるものである(業界大手の認証製品販売元であるRSAセキュリティ社によって発売されている)。これら二つの製品は密接に結合したシステムである。SECUREIDは擬似乱数発生器であり、毎分新しい値を出力する。SECUREIDのユーザーがログインを認証しようとするとき、ユーザーは通常通りユーザーIDを入力する。しかし、繰り返し使えるパスワードを入力する代わりに、暗証番号(PIN: personal identification number)をSECUREIDデバイス上に表示されるその時点での乱数とともに入力する。擬似乱数とPINとの組み合わせはしばしばパスコードと称される。認証要求はネットワーク(単数または複数)上を、最終的にはACESERVERに送信される。ACESERVERはあるアルゴリズムを利用してそのユーザーに対するその時点での乱数がいくつであるべきかを決定し、それから認証判定を行う。
【0010】
ACESERVERは、管理上強制された定期的なPINリセット機能をサポートしている。他の認証アプリケーションが管理上強制されたパスワードリセット機能をサポートしているのと同じである。これは「新PINチャレンジ」と呼ばれる。PINリセットが必要とされるとき、ACESERVERは認証要求を承認する代わりに「新PIN」チャレンジコマンドをユーザーに送る。ACESERVERはまた、ユーザーへの定期的なランダムチャレンジをもサポートしている。これは「次トークンチャレンジ」と呼ばれる。これは認証失敗(すなわち、ユーザーによって入力されたPINまたは乱数がACESERVERが計算した値と一致しない)が発生したときに行われる。新しい乱数(「トークン」)が要求されると、認証要求を承認する代わりに、ACESERVERは「次トークン」チャレンジコマンドをユーザーに送る。
【0011】
従来のダイヤルアップインターネットネットワークおよびインターネットプロトコル(たとえばPAPおよびCHAP)は、ユーザーにチャレンジを送るという考えはサポートしていない。ユーザーのコンピュータは接続要求を発生させ、ダイヤルインサーバーはユーザーのコンピュータに、PAPまたはCHAPダイヤル認証プロトコルを通じてユーザーIDおよびパスワードを用いて応答するよう命令する。ユーザーのコンピュータは適切な値を用いて応答し、ダイヤルインサーバーはその値をISPに送信する。そのときダイヤルインサーバーは認証成功または認証失敗のいずれかの応答を待つ。それ以外の種類の応答は、RSA ACESERVERから発されるチャレンジコマンドを含め、サポートされていない。これらのメッセージ型のいずれかがACESERVERからダイヤルインサーバーに返された場合、認識されないメッセージ型であるので認証は失敗となる。本発明人らの知る限り、ACESERVERやSECUREIDのようなチャレンジ・レスポンス・システムをインターネットアクセスの認証のために使うシステムはない。
【0012】
さらに、従来のVPNクライアントアプリケーションは、リモートユーザーが会社の敷地にいなくても社内ネットワークへの直接接続を確立することを許容している。このやり方で接続するとき、接続は通常の企業ネットワークセキュリティ対策(たとえばファイアウォールおよびウイルス対策サーバー)をバイパスする。リモートユーザーがネットワークセキュリティ境界をバイパスすることを認めることによって、企業は、社内ネットワークへのVPN接続を確立するユーザーが安全でない、および/またはすでに「感染されている」マシンから行っているという著しいリスクを冒している。安全でないコンピュータからのこうした接続可能性は、そのコンピュータがエンドユーザーが気づかないうちにネットワークへの攻撃の発信地として使われうるというリスクを創り出している。
【0013】
したがって、コンピュータシステムへのリモートアクセスの安全な手段が必要とされている。
【発明の開示】
【発明が解決しようとする課題】
【0014】
本発明は、一般に、コンピュータへの安全なリモートアクセスのための方法、装置、コンピュータシステムおよびソフトウェアプロダクトに向けられている。
【課題を解決するための手段】
【0015】
ある実施形態では、本発明の方法は、ユーザーIDおよびパスワードを含む信用情報を暗号化アルゴリズムを用いて暗号化することを含む。
【0016】
別の実施形態では、本発明のある側面は、インターネットデータ通信ネットワークを通じて、暗号化されたユーザーIDおよび暗号化されたパスワードを含む暗号化された信用情報を受信し、該信用情報を復号し、該復号された信用情報が有効であればコンピュータへのクライアントのアクセスを提供することを含む。
【0017】
別の実施形態では、本発明のある側面は、インターネットデータ通信ネットワークを通じてパスワードではなくパスコードを認証サーバーに送信することを含む。
【0018】
別の実施形態では、本発明のある側面は、認証チャレンジをクライアントに送信し、パスコード、PINまたは擬似乱数をクライアントからインターネットデータ通信ネットワークを通じて受信し、与えられた値が認証サーバーによって検証された場合に検証メッセージをクライアントに送信することを含む。
【0019】
別の実施形態では、本発明のある側面は、クライアントを走らせているリモートコンピュータがあるクライアントポリシーに従っていることを、前記クライアントをコンピュータに接続する前に検証することを含む。
【0020】
別の実施形態では、本発明のある側面は、クライアントを走らせているリモートコンピュータの位置種別を判定し、クライアントポリシーおよび接続構成設定をそのリモートコンピュータの位置種別に基づいて選択し、前記リモートコンピュータがクライアントポリシーに従っていることを前記クライアントをコンピュータに接続する前に検証することを含む。
【0021】
本発明およびそれに付随する利点の多くについてのより完全な理解は、以下の詳細な記述を付属の図面とともに参照することによってよりよく理解されるであろうから、容易に得られるであろう。
【発明を実施するための最良の形態】
【0022】
ここで図面を参照する。いくつかの図を通じて同様の参照符号は同一または対応する部分を示す。
【0023】
本発明の代表例としての実施形態が図4に示されている。図4の示すコンピュータシステムは、NAS42を通じてインターネット40への接続をもつコンピュータ110上で走るクライアント100を含んでいる。プラットフォーム150もインターネット40に接続されている。リモートのRADIUSサーバー190はプラットフォー150にIPSecトンネル188を通じて接続されている。プラットフォーム150は認証・復号・経路制御システム200およびシングルサインオン・アプリケーションサーバー(SSOS: Single Sign On Application Server)160を含んでいる。コンピュータ110はSECUREID120が関連付けられている。
【0024】
ユーザーがコンピュータ110からリモートサーバー210にアクセスを要求するとき、ユーザーはログイン信用情報(ユーザーIDおよびパスワード)をコンピュータ110に入力する。クライアント100はユーザーのIDを暗号化し、別にユーザーのパスワードを暗号化してから、コンピュータ110に暗号化された信用情報を渡す。するとコンピュータ110はそれ以上の修正なしにその信用情報をネットワークを通じて送信する。暗号化プロセスはシードと暗号化鍵とを利用する(図7に示されている)。シードは、ユーザーの信用情報をNAS42に送信するのに先立って、暗号化されたIDの前もしくは後ろに付加され、またはアルゴリズムを用いて該IDに混ぜ込まれる文字列である。ひとたび暗号化プロセスが完了すると、RADIUS認証要求の適切な経路制御に必要とされる標準的なプレフィックス(単数または複数)および/またはサフィックス(単数または複数)が付加されてから、クライアント100はそのNAIをコンピュータ110に渡す。ひとたびNAIが構築されると、NAIとパスワードはコンピュータ110に渡される。プラットフォーム150を目的地として識別する経路制御に関係する情報(たとえばroaming_partner/および/または@domainname.com)は、その経路制御要求がプラットフォーム150に関連付けられたユーザーが起点であることをISP30が識別し、その後その認証要求をプラットフォーム150に処理のために経路制御できるよう、平文テキストで送信される必要がある。roaming_partner/ユーザーID@domainname.comの文字列は多くの形を取ることができ、当技術分野ではネットワークアクセス識別子(NAI: Network Access Identifier)として知られている。暗号化されたユーザーID、シード、経路制御情報および暗号化されたパスワードを含む認証要求が次いでコンピュータ110からNAS42に送られる。
【0025】
コンピュータ110とNAS42が使っている認証プロトコルがPAPまたはSSLである場合には、クライアント100によって生成された信用情報に対してこれ以上の修正は起こらず、コンピュータ110は該信用情報をセキュリティで保護された、または暗号化されていない通信リンク220を通じてNAS42に送信する。しかし、 コンピュータ110とNAS42が使っている認証プロトコルがCHAPである場合(図5に示されている)、CHAP NAS350は乱数(「チャレンジ」と呼ばれる)を生成し、このチャレンジをコンピュータ110に送信する。コンピュータ110はクライアント100によって与えられた前記信用情報を通信リンク310を通じてNAS350にCHAPを使って送信するために、クライアント100によって提供された暗号化されたパスワードとCHAP NAS350によって与えられたチャレンジとをMD-5のような一方向性ハッシュ関数を使ってアルゴリズム的に混合する。他のハッシュ関数を使うこともでき、それも本発明の範囲内である。コンピュータ110はクライアントから渡されたとおりのNAIおよびハッシュされた暗号化パスワードをCHAP NAS350に通信リンク310を通じて送信する。
【0026】
ユーザーの信用情報を受信するためにPAPまたはSSLを使うNAS42の場合、NAS42はユーザーID属性およびパスワード属性を含むRADIUS認証要求を生成する。ユーザーID属性は鍵ID、キャラクタマッピングID、暗号化アルゴリズムID、シード、経路制御情報および暗号化されたユーザーIDを含むことになる。パスワード属性は、暗号化されたパスワードを含むことになる。ユーザーの信用情報を受信するためにCHAPを使うCHAP NAS350の場合、CHAP NAS350はユーザーID属性、パスワード属性およびCHAPチャレンジ属性を含んでいるRADIUS認証要求を生成する。CHAPチャレンジ属性は、CHAP NAS350からコンピュータに通信リンク310を通じて送られたのと同じ乱数を含む。ユーザーID属性は鍵ID、キャラクタマッピングID、暗号化アルゴリズムID、シード、経路制御情報および暗号化されたユーザーIDを含むことになる。パスワード属性はハッシュされた暗号化パスワードを含むことになる。
【0027】
NAS42またはCHAP NAS350はRADIUS認証要求をISP30に送信する。ISP30はNAIの一部として含まれている経路制御情報を調べ、RADIUS認証要求が処理のためにプラットフォーム150に転送されなければならないと判断する。ISP30はパスワード属性やCHAPチャレンジ属性が存在しても調べることはしない。RADIUS認証要求は認証・復号・経路制御システム200にインターネット40を通じて、あるいは私設データ通信回線222を通じて転送される。
【0028】
認証・復号・経路制御システム200がこの認証要求を受信すると、認証・復号・経路制御システム200は、認証要求を復号するための正しい復号アルゴリズム、正しい復号鍵および正しいシードを必要とする。追加的に、認証・復号・経路制御システム200はCHAPが使われているかどうかを判定する。それによって適用すべきパスワード復号プロセスが変わってくるからである。
【0029】
NAS42がコンピュータ110を認証するためにPAPまたはSSLを使う実施形態では、認証・復号・経路制御システム200は、安全な暗号化されたデータベース中にある鍵テーブルから復号鍵を取得する。鍵は復号パフォーマンスを改善するためメモリに常駐する。シードは認証要求のNAI部分に対してあるアルゴリズムを適用して経路制御情報、シード値およびユーザーIDを分離することによって決定される。ひとたびユーザーIDおよびパスワードの両方が復号されると、両者は認証・復号・経路制御システム200からリモートのRADIUSサーバー190に新しいRADIUS認証要求の形で渡される。認証・復号・経路制御システム200とリモートのRADIUSサーバー190との間の認証要求の安全性を保証するため、これらの要求の転送にはIPSecトンネル188が使われる。ひとたび認証要求がサーバー190によって処理され終わると、応答がプラットフォーム150に、次いでISPに、そして最後にはNAS42に返される。
【0030】
CHAP NAS350がコンピュータ110を認証するためにCHAPを使う別の実施形態では、認証・復号・経路制御システム200は、安全な暗号化されたデータベース中にある鍵テーブルから復号鍵を取得する。鍵は復号パフォーマンスを改善するためメモリに常駐する。シードは認証要求のNAI部分に対してあるアルゴリズムを適用して経路制御情報、シード値およびユーザーIDを分離することによって決定される。ひとたびユーザーIDが復号されると、認証・復号・経路制御システム200は平文のユーザーIDおよび平文のパスワードを含んでいるデータベース300に問い合わせをする。認証・復号・経路制御システム200はRADIUS認証要求の形で与えられたパスワードを検証する。認証・復号・経路制御システム200は、受信された暗号化されたユーザーIDを復号するのに使われたのと同じ鍵、シード、復号アルゴリズムおよびキャラクタマッピングを取り、データベース300から取得したばかりの平文パスワードを暗号化する。この時点で、認証・復号・経路制御システム200は、クライアント100がコンピュータ110に渡す前にユーザーIDを暗号化したときに生成されたのと同一の暗号文文字列を有している。認証・復号・経路制御システム200は次いでRADIUS認証要求に含まれていたCHAPチャレンジ属性から乱数を取得する。その乱数は、CHAP NAS350によって生成されたものである。認証・復号・経路制御システム200は次いでその乱数を取って、コンピュータ110によって当初用いられたのと同じMD-5のようなハッシュ関数を使って、前記乱数を計算したばかりの暗号化されたパスワードと混合する。この演算の結果は、RADIUS認証要求中のパスワード属性の内容と比較される。二つの値が一致すれば、ユーザーのパスワードは認証されたことになる。二つの値が一致しなければ、認証・復号・経路制御システム200はそれを無効なパスワードとして扱い、認証失敗になる。ひとたび認証要求が認証・復号・経路制御システム200によって処理され終わると、応答がプラットフォーム150に、次いでISP30に、そして最後にはCHAP NAS350に返される。
【0031】
認証が成功であれば、ユーザーはインターネットアクセスが認められる。認証要求への応答はユーザーの信用情報は何も含んでおらず、含まれるのはRADIUSトランザクション識別子およびアクセス承認/アクセス拒否の指示のみである。したがって、認証要求に対する応答の暗号化は必要とされない。
【0032】
NAS42およびCHAP NAS350は認証要求において暗号化されたユーザー名を呈示されるので、あらゆるRADIUSアカウント処理メッセージおよびプロバイダ呼び出し記録は暗号化されたユーザーIDを参照するようになっている。アカウント処理情報の交換には一つまたは複数の仲介者が関わることがありうるので、アカウント処理記録において暗号化されたユーザーIDを使用することはユーザーIDの危殆化や盗用を防止するさらなる助けとなる。アカウント処理記録復号システム250はRADIUSアカウント処理メッセージおよびプロバイダ呼び出し記録に含まれるユーザー名の復号を、認証・復号・経路制御システム200が認証要求を復号するに使うのと同じ方法を用いて行う。プラットフォーム150は復号されたRADIUSアカウント処理メッセージをリモートのRADIUSサーバー190にリアルタイムで転送する。図6Aおよび図6Bは、ユーザーIDおよびパスワードがクライアントによって暗号化され、認証サーバーによって復号される、本発明のある実施形態のデータの流れを示している。
【0033】
ある実施形態では、暗号化はRSAによるAES暗号化アルゴリズムの実装を使って実行され、256ビットの鍵と128ビットのシードを使って公共の、すなわち信頼されないデータ通信ネットワークを通じて送信されるユーザーインターネット認証信用情報のセキュリティを確保する。そのようなネットワークには、これに限られるものではないが:ダイヤルアップ、LAN、Wi-Fi、有線ローミングブロードバンド、遠隔通勤ブロードバンド(telecommuter broadband)、2.5G/3G無線、符号分割多重アクセス(CDMA: Code Division Multiple Access)、汎用パケット無線サービス(GPRS: General Packet Radio Service)およびパーソナル・ハンディフォン・システム(PHS: Personal Handyphone System)のネットワークが含まれる。(暗号化および復号のプロセスは図7および図8で示す。)代替的に、異なる暗号化アルゴリズム、たとえばRC4もしくはECC、および/または異なる鍵長を利用する実施形態も考えられる。これらの修正は本発明の範囲内である。
【0034】
本発明のある実施形態の暗号化プロセスの図が図7に示されている。図示した実施形態では、暗号化鍵およびキャラクタマッピングシステムがパスワードおよびIDの暗号化および復号に使われている。暗号化鍵および対応する鍵IDはクライアント100上の暗号化されたデータ記憶に保存される。キャラクタマッピングシステムはサポートされていない文字をサポートされている文字にマッピングするために使われる。ユーザーIDおよびパスワードが完全に英数字からなる場合には、信用情報を扱うどのアプリケーションも正しく認識しそこなうことは考えにくい。しかし、英数字以外のある種の文字が使われる場合、一つまたは複数のアプリケーションでエラーが引き起こされることがある。たとえば、文字“#”がユーザーIDまたはパスワードの一部として使われた場合、ユーザー認証トランザクションは失敗することがある。ある種の文字を使うと、そのトランザクションに関与する一つまたは複数の中継コンピュータ、ネットワークデバイスまたはコンピュータプログラムにおいて失敗またはエラーの条件が引き起こされることがあるからである。したがって、ある実施形態では、一つまたは複数のアプリケーションによってサポートされていない文字がサポートされている文字にマッピングされる。こうして、結果として得られる暗号文にはサポートされているキャラクタのみが存在することになる。たとえば、文字は数字にマッピングされてもよい(すなわち、“#”を“255”にマッピングする)。本発明は、サポートされている文字へのマッピング対象とするサポートされていない文字がなくても、一部でも、全部でも実施できる。サポートされていない文字の一部または全部をサポートされている文字にマッピングする実施形態は、ユーザーIDおよびパスワードに利用できる選択肢が広がるため、より高い安全性を可能にする。これはまた、英数字以外の文字を信用情報に含めることができるため、権限のない人物が一般的または明らかな単語を使った信用情報を推測する可能性を減らす。(図19A〜図19Cは、いくつかのサポートされていない文字のサポートされている文字へのマッピングの例を示している。)
ある実施形態では、シードは各認証要求に対して、クライアントソフトウェアID、クライアントセッションIDおよび追加的なランダムビットからのビットを使って動的に生成される。図4、5、6AおよびBに示した実施形態では、16バイトのシード値が次のデータを組み合わせて構築される:セッション番号から4文字、クライアントシリアル番号から4文字、ハードウェア識別子から4文字、内部コストコード(internal cost code)から2文字、ランダムな16ビット(65536通りの可能な値)。あるいはまた、異なるデータ要素、異なる長さのデータ要素を使った、あるいはランダムビットのみを使った16バイトのシードも考えられる。さらに、異なる長さまたは大きさのシードを生成する実施形態も考えられる。これらの修正も本発明の範囲内である。
【0035】
セッションIDは接続試行のたびに変化するので、プラットフォーム150はそのユーザーから見た最後の良好なセッションIDを決め、それをベースラインとすることができる。その後プラットフォーム150が同じまたはより若いセッションIDをもつ認証要求を受け取ってもそれは拒否される。セッションIDは暗号化および復号プロセスで使われるので、セッションIDを不正に除去したり修正したりすると、暗号化プロセスで使われた入力と復号プロセスで使われる入力との間に相違が生じる。この相違は暗号文を復号したものが暗号化された平文とは異なる原因となる。暗号文を復号したものがユーザーによって入力されたユーザーIDおよびパスワードと一致しないので、誤った「信用情報」が認証データベースに対して呈示され、認証は失敗する。したがって、クライアント100から発し、良好なセッションIDを含んでいる認証要求のみがプラットフォーム150による処理で成功となる。
【0036】
ある実施形態では、認証・復号・経路制御システム200はクライアントIDとドメインとを直前のセッションIDと最後に使用された時刻を常時追跡しているローカルなテーブル中で検索する。クライアントIDおよびドメインがデータベースにみつからなければ、セッションIDは受理される。要求に含まれるセッションIDの値が保存されているセッションIDよりも大きければ、セッションIDは受理される。直前のセッションIDが可能なセッションIDの最大値に等しければ、セッションカウンタが一巡したことになるのでIDが受理される。セッションIDの値が保存されているセッション鍵よりも若ければ認証は失敗し、その要求はそれ以上処理されない。セッションIDが直前のセッションIDと等しく、最後に使用された時刻が所定の時間間隔以内であれば、IDは受理される。セッション鍵が直前のセッションIDに等しく、最後に使われた時刻が所定の時間区間外であれば、認証は失敗し、その要求はそれ以上処理されない。IDが受理される場合には、アクセス要求に含まれるパスワードおよびユーザー名が復号されてRADIUSサーバー190に認証のために転送される。(ただし、復号が失敗する可能性があり、その場合も認証失敗となる。)RADIUSサーバー190はアクセス拒否またはアクセス許可応答をもって応える。応答が拒否であれば、それ以上のセッションの処理はない。アクセス拒否パケットがISP30に返される。応答がアクセス許可でセッションIDレコードがマスターデータベースに存在しなければ、現在のユーザー名、ドメイン、セッションIDおよびタイムスタンプをもつレコードが生成される。そのクライアントIDおよびドメインについてのセッションIDレコードがマスターデータベースに存在している場合には、現在の要求のセッションIDが保存されているセッションIDに上書きされて、最終使用のタイムスタンプは現在時刻に設定される。次いでアクセス許可パケットがISP30に返される。
【0037】
認証要求には暗号化のために使われたシードを決定するためにプラットフォーム150によって必要とされる情報もアルゴリズムを使って埋め込まれる。シードは認証要求のたびに変化する。各認証要求についての異なるシードは二つの個別の要求が同じ暗号文にならないことを保証する。これにより、認証プロセスを複製してハッキングすることがきわめて困難になる。
【0038】
安全性を高めるため、鍵は有限の期待寿命をもつことができる。鍵の寿命は、それぞれの鍵について管理上定義される属性である。鍵の寿命は何日、何か月、何年に設定してもよい。鍵の寿命はいつでも認証・復号・経路制御システム200を通じて変更することができ、非常時には鍵をただちに無効にすることもできる。鍵がその寿命の終わりに近づくと、新たな鍵が発行されて自動更新機能によりクライアント100に自動的に配送される。ある時間がたってユーザーが接続すると、新たな鍵と新たなキャラクタマッピングテーブルを含む更新情報を受信し、クライアント100は古い鍵および古いキャラクタマッピングテーブルの使用を停止する。二つ以上の有効な鍵およびマッピングテーブルが存在する期間が長いほど自動的に新しい鍵およびマッピングテーブルに移行されるユーザーの割合が高くなる。クライアント100は、鍵の期限切れの日時が近づくとユーザーのコンピュータ110に更新通知(パスワードの期限切れ通知と同様のもの)を表示してユーザーに設定を「X」日以内に更新しなければならないと通知することによって、スムーズな鍵移行プロセスを容易にする。ユーザーのほうでも、手動でクライアントのワンクリック更新機能を立ち上げることによってLAN接続を通じていつでも鍵とマッピングテーブルを更新することができる。鍵が管理上失効した時点で更新された鍵を受け取っていないユーザーは、認証ができなくなる。そのユーザーはそれでも、手動でブロードバンド接続を通じて更新を立ち上げることによって新しい鍵を受け取ることができる。
【0039】
認証・復号・経路制御システム200上でマッピングテーブルが管理上変更された時点で更新されたキャラクタマッピングテーブルを受け取っていないユーザーは、認証ができなくなる。認証・復号・経路制御システム200上での変更があると、クライアント100で暗号化プロセスに使われた入力と復号プロセスで使われる入力との間の相違を生じる(図8)。この相違は暗号文を復号したものが暗号化された平文とは異なる原因となる。暗号文を復号したものがユーザーによって入力されたユーザーIDおよびパスワードと一致しないので、誤った「信用情報」が認証データベースに対して呈示され、認証は失敗する。したがって、クライアント100から発し、良好なキャラクタマッピングテーブルを含んでいる認証要求のみがプラットフォーム150による処理で成功となる。
【0040】
緊急時には、鍵失効のために認証できないユーザーは認証・復号・経路制御システム200にアクセスできる管理者に連絡することができる。管理者は認証・復号・経路制御システム200に保存されている鍵の失効日時を変更することができる。失効日時をたとえば先週からたとえば明日などに変更することによって、鍵は有効な状態に戻る。ユーザーはこれで、自分が暗号化したユーザーIDとパスワードを復号するために必要とされる鍵が今では有効になったとわかれば、認証トランザクションを再び試みることができる。
【0041】
複数の鍵およびキャラクタマッピングテーブルが同時に存在している可能性があるので、認証・復号・経路制御システム200は、暗号化された認証要求を受け取ったときにはどの復号鍵およびキャラクタマッピングテーブルを使うかを判断する。認証要求の中身には、適切な復号鍵およびキャラクタマッピングテーブルを決定するために認証・復号・経路制御システム200が使用する指標が埋め込まれている。認証要求において参照されている認証鍵が期限切れになっているか、存在しないかした場合には、復号プロセスは実行されない。その代わり、認証拒否メッセージがNASに返され、NASは接続を終了する。
【0042】
図8は本発明のある実施形態の復号プロセスを示している。認証要求に含まれている平文テキストのRADIUSレルムおよび鍵IDを使って、サーバー鍵データベースが参照され、正しい復号鍵およびキャラクタマッピングテーブルが取得される。鍵が期限切れでなければ、サーバーベースのAES復号アルゴリズムはその復号鍵、キャラクタマッピングテーブル、シードおよび与えられた暗号化されたユーザー名およびパスワード文字列を使って、ユーザーによって入力されたもとの信用情報を再構築する。鍵が期限切れになっていたら、復号は実行されない。その代わり、認証拒否メッセージがNASに返され、NASは接続を終了する。
【0043】
ある実施例では、暗号化鍵はRSA BSAFETM SDKからの鍵生成ライブラリを使って生成される。あるいはまた、鍵を生成するために別のソフトウェアツールを使うこともできるし、鍵をシステム管理者が手動で生成することもできる。生成された鍵はプラットフォーム150上で暗号化されたデータベース内に保存される。生成されたそれぞれの鍵は単一のレルムについて有効であり、決まった失効期日をもつ。同じ鍵は望むなら異なるレルムに使うこともできる。鍵は更新においてクライアント100に配送され、ユーザーの信用情報の復号においてプラットフォーム150によって使用される。鍵データベースは単一のRADIUSレルムについて複数の鍵の保存を許容する。鍵が失効する前に、新しい鍵が定義され、クライアント100に次のセッションの間にダウンロードされる。これは定義により、複数の鍵が有効で(失効していない)クライアント100によって使われるということを意味している。鍵の失効と回転は迅速な鍵再割り当て率を許容している。
【0044】
ある実施形態では、安全性を高めるために二要素認証および/またはワンタイムパスワード(すなわち、一度しか使えないパスワード)が使用される。たとえば、RSAセキュリティ社によって販売されているACESERVER260およびSECUREID120は図9に示すようなシステムに組み込まれる。この実施形態では、図4に示したリモートRADIUSサーバー190はリモートACESERVER260によって置き換えられている。認証・復号・経路制御システム200とリモートACESERVER260との間を行き交うすべてのメッセージはSSOS160の手を経る。復号されたユーザーIDおよび復号されたパスワードを含む認証要求がSSOS160によって受信され、ACESERVER260へのメッセージで手を加えずに送信される。ACESERVER260からの「アクセス許可」または「アクセス拒否」メッセージの形の認証応答もSSOS160を通るが、手を加えずに認証・復号・経路制御システム200に送信される。しかし、SSOS160はACESERVER260からの「新PIN」または「次トークン」メッセージの形の応答メッセージには介入する。SSOS160はACESERVERの「新PIN」または「次トークン」メッセージを中継する代わりに、SSOS160は「アクセス許可」メッセージを発し、それが認証・復号・経路制御システム200に送られる。それに加えてSSOS160はACESERVERがある特定のユーザーに対して未処理の「新PIN」または「次トークン」要求を有しているという事実を記憶する。
【0045】
「アクセス許可」がユーザーにインターネットへのアクセスを認めるためにNAS42が必要とするメッセージである。NAS42はこのメッセージを受け取ると、コンピュータ110にインターネットアクセスを許可する。この時点で、コンピュータ110は今インターネットアクセスがあることがわかる。しかし、クライアント100は、ユーザーが今インターネットに接続されているということを示すOSのメッセージをインターセプトし、その結果、ユーザーはまだ認証段階にあるものと思うことになる。クライアント100はひとたびコンピュータ110がインターネットに接続されていると検知すると、クライアントはインターネット上の他のいかなるアプリケーションまたはサーバーとも自由に通信できる。クライアントは状態問い合わせメッセージを直接SSOS160に送信して、未処理の「新PIN」または「次トークン」チャレンジが存在しているかどうかを問い合わせる。SSOS160は、未処理のチャレンジはない、「新PIN」チャレンジが未処理である、または「次トークン」チャレンジが未処理である、のいずれかを示す状態応答メッセージを返す。クライアント100がSSOS160から未処理のACESERVERチャレンジがないことを示す状態応答メッセージを受け取った場合、クライアント100はユーザーにこれでインターネットに接続されたことを伝え、その結果ユーザーは認証段階が無事完了し、インターネット40にアクセスできることを理解する。これでユーザーはVPNクライアント230を立ち上げることができる。あるいはまた、クライアント100がVPNクライアント230を立ち上げることができる。さらに、ある実施形態では、クライアント100がVPNクライアント機能を含んでいてもよく、その場合VPNクライアント230は不要になる。そのような実施形態では、クライアント100はインターネット接続が生成されたときに自動的に自らのVPN機能を立ち上げてもよいし、あるいはユーザーからの指示を待ってVPN接続を生成してもよい。これらの修正は本発明の範囲内である。
【0046】
クライアント100がSSOS160から「新PIN」チャレンジが未処理であることを示すメッセージを受け取った場合には、クライアント100は新しいPINを入力する必要があるというメッセージをユーザーに表示する。クライアント100はユーザーによって提出された情報を含むメッセージをSSOS160に送信する。するとSSOS160が「新PIN」応答メッセージを発してそれをあたかもユーザーから発したかのようにACESERVER260に送る。ACESERVER260はトランザクションの成功/失敗の状態のメッセージを生成してそれをSSOS160に送信する。するとSSOS160はトランザクションの成功/失敗の状態のメッセージを生成してそれをクライアント100に送信する。トランザクションが成功であれば、クライアント100はユーザーにこれでインターネットに接続されていることを伝え、その結果ユーザーは認証段階が無事完了したことを理解する。トランザクションが失敗であれば、クライアント100はエンドユーザーにエラーメッセージを表示し、再試行または中止の機会を提供する。設定可能なある回数の再試行ののち、クライアント100はコンピュータ110をインターネット140から切断してもよい。
【0047】
クライアント100がSSOS160から「次トークン」チャレンジが未処理であることを示すメッセージを受け取った場合には、クライアント100はSECUREID120からの新しい乱数を入力する必要があるというメッセージをユーザーに表示する。クライアント100はユーザーによって提出された情報を含むメッセージをSSOS160に送信する。するとSSOS160が「次トークン」応答メッセージを発してそれをあたかもエンドユーザーから発したかのようにACESERVER260に送る。ACESERVER260はトランザクションの成功/失敗の状態のメッセージを生成してそれをSSOS160に送信する。SSOS160はトランザクションの成功/失敗の状態のメッセージを生成してそれをクライアント100に送信する。トランザクションが成功であれば、クライアント100はユーザーにこれでインターネットに接続されていることを伝え、その結果ユーザーは認証段階が無事完了したことを理解する。トランザクションが失敗であれば、クライアント100はエンドユーザーにエラーメッセージを表示し、再試行または中止の機会を提供する。設定可能なある回数の再試行ののち、クライアント100はコンピュータ110をインターネット140から切断してもよい。
【0048】
ある実施形態では、認証メッセージはトークン(SECUREID120からの擬似乱数)およびPINから作成されるパスコードを要求する。インターネット認証トランザクションに関わる仲介エンティティの立場からすると、パスコードはパスワードとは何ら変わるところはない。それはRADIUS認証要求および従来のRADIUS認証要求処理においてはパスワードと名付けられる一連の文字である。代替的に、実施形態によってはトークンだけ、またはPINだけを含むパスコードを要求することも考えられる。さらに、SECUREID120はコンピュータ110の一部であるソフトウェアとして構成され、クライアント100に自動的にトークンを提供したり、SECUREID120はコンピュータ110とは別個のものでSECUREID120によって表示されるトークンをユーザーがコンピュータ110に入力することを要求してもよい。これらの修正も本発明の範囲内である。
【0049】
このように、SSOS160およびクライアント100はRSAのACESERVERおよびSECUREIDというソリューションを許容する。これは、インターネットダイヤル、インターネットISDN、ローミングWi-Fi、ローミングブロードバンド、セルラー、および/またはPHS認証に対してもLANベースの認証が使われるようにするために設計されたものである。これによりRSAの二要素認証およびワンタイムパスワードのソリューションの強力なセキュリティ特徴がインターネットダイヤル環境において使えるようになる。図10および図11は認証にワンタイムトークンを使った本発明のある実施形態を示している。
【0050】
本発明のある実施形態では、クライアント100はコンピュータ110のリモートサーバー210への接続がサーバー210を「感染」させないことを保証するよう構成されている。これは、ユーザーがインターネットに接続されたり、あるいはユーザーのコンピュータ110上で走っているVPNクライアント230とVPNサーバー240(VPNコンセントレータまたはVPNゲートウェイともいう)との間のVPN接続280を通じてサーバー210に接続されたりしたときに、実行を許される特定の、名前を指定されたアプリケーションを定義することによって達成される。さらに、インターネットまたはVPN接続の間に実行していなければならない特定のアプリケーションのリストも定義される。クライアントはインターネットまたはサーバー210に接続されるときにこれらのアプリケーションをモニターして、規定通りでないことが検知されたら適切な措置を取る。禁止されているアプリケーションが見つかったときにクライアントが取ることのできる執行措置としては:イベントの記録、ユーザーへの通知、インターネットからの切断および/またはVPNトンネルからの切断が含まれる。インターネットからの切断はVPNクライアント230とVPNサーバー240との間のVPN接続を維持するために必要とされる転送が失われることにつながり、よってVPN接続280もエラーになる。
【0051】
クライアントがモニターする名前を指定された禁止および必須のアプリケーションのリストは、構成設定または「ポリシー」設定を通じて定義される。たとえば、禁止アプリケーションのリストには、ウイルス、スパイウェア、ファイル共有アプリケーション、インスタントメッセージ交換アプリケーション、ライセンスを受けていないアプリケーション、または、システム管理者がエンドユーザーにコンピュータ110で決して実行できないようにしたい、インターネット40に接続されているときに実行できないようにしたい、および/もしくはリモートサーバー210へのVPNトンネル280を通じた接続中には実行できないようにしたいその他のアプリケーションが含まれうる。必須アプリケーションのリストには、ファイアウォールアプリケーション、ウイルス対策アプリケーション、ならびに、システム管理者がエンドユーザーにコンピュータ110で常に実行していてほしい、インターネット40に接続されているときに実行していてほしい、および/またはリモートサーバー210へのVPNトンネル280を通じた接続中には実行していてほしいその他のアプリケーションが含まれうる。禁止および必須のアプリケーションのリストはクライアントがインターネットにアクセスするたびにクライアントにポリシー更新をダウンロードすることによって修正され、そのためいつでも修正できるものである。実際、ある実施形態では、クライアント100がインターネットに接続するたびにクライアントは更新サーバーに問い合わせをして、ダウンロードして適用すべきペンディングのポリシー、ソフトウェアまたは電話帳更新があるかどうかを見きわめる。ユーザーのほうでも、いつでも手動で設定を更新する機能がある。この機能を使って、暗号化鍵(上で議論したような)も、ユーザーによる介入を必要とすることなく、ポリシー更新と一緒に、あるいは別個に、自動的に配送され、更新されるようにすることもできる。
【0052】
さらに、クライアント100およびサーバー210のユーザーは複数のユーザーグループに分けられることがある。ポリシーは個々人について作成されてもよいし、グループについて作成されてもよい。また、個人ごとに更新されてもよいし、グループについて更新されてもよい。そのとき、グループの各メンバーは上で議論したようにポリシー更新を受け取り、サーバー210のアクセスセキュリティを効率的に管理する。特定の暗号化/復号鍵も特定のグループまたは個人に割り当てられることができ、グループまたは個人のポリシーに含めることができる。鍵はまた、上述したように、ポリシーとは別個にユーザーに割り当てられ、配布されることもできる。鍵の寿命、暗号化アルゴリズム、キャラクタマッピング、鍵長、シード長、シード/ユーザーID混合アルゴリズム、および/またはシードコンポーネントはみな特定のグループまたは個人に割り当てられることができ、グループまたは個人のポリシーに含められることができる。これらの修正は本発明の範囲内である。
【0053】
クライアント100は、コンピュータ110上に存在する他のクライアントアプリケーションを起動し、停止し、および/または再起動することを、該クライアントの実行中、ユーザーが特定の転送を使用中、ユーザーがインターネットに接続中、および/または、リモートサーバー210およびVPNサーバー240へのVPNトンネル280を通じた接続中のいずれの点においても行えるための一般化された拡張可能なフレームワークを提供する。クライアント100の機能はVPNクライアント、パーソナルファイアウォール、ウイルス対策製品のようなセキュリティアプリケーションに合うように仕立てられているが、クライアントの機能は任意のいかなるアプリケーションのために使われることもできる。
【0054】
起動すべきアプリケーションのリスト、いつ起動するか、いつ停止するか、再起動するかどうか、いかにして起動するか、ユーザーがインターネットに接続できるために走っている必要があるかどうか、ユーザーがVPNトンネル280を通じてサーバー210に接続するために走っている必要があるかどうか、などはみなポリシー設定を通じて定義される。
【0055】
ある実施形態では、このことは以下のプロセスによって実装される。多くのスタンドアローンのIPSec VPNクライアント230は、他の多くのアプリケーション一般と同様、自らの振る舞いと動作を構成設定に基づいて自己制御することができる。これらの構成設定はしばしば初期化ファイルに保存される。これらの初期化ファイルはしばしば平文で保存され、よってユーザーにとって直接アクセス可能である。これらのアプリケーションは通常、アプリケーションの起動時に初期化ファイルにアクセスできない場合には正しく実行できないか、全く実行できない。
【0056】
クライアント100は、図4または図9で示したVPNクライアント230によって使われる初期化ファイルを生成するために必要なパラメータのすべてを含んでいる。クライアント100はまた、ひとたびインターネットへの接続が確立されたら、VPNクライアント230を起動するためのユーザーコントロールおよび自動化されたコントロールをも提供する。VPNクライアント230がクライアント100とともにインストールされるときには、VPNクライアントは必要な初期化ファイルなしでインストールされる。さらに、クライアント100はVPNクライアント初期化ファイルを探してみつかったものをすべて削除する。VPN230を起動するのが適切になったときに、クライアント100はある必要条件(たとえば禁止アプリケーションが実行中でない、必須アプリケーションが実行中であるなど)が満たされていることを検証し、これらの前提条件が満たされたときにのみクライアント100はVPNクライアント230によって必要とされる初期化ファイルを生成し、それをコンピュータ上のVPNクライアント230が検索するディレクトリに入れる。クライアント100は次いでVPNクライアントを起動する。VPNクライアントは必要な初期化ファイルを検索し、みつけ、読み込み、そのファイルの内容に基づいて自らを初期化する。クライアント100は次いで初期化ファイルを再び削除し、該初期化ファイルが不正に使われることを防ぐ。
【0057】
この機能のため、ユーザーは、VPNクライアント230によって必要とされる初期化ファイルがクライアント100によって生成されるまでVPN接続280を確立することができない。クライアント100は他の必要条件(たとえばファイアウォールおよびウイルス対策アプリケーションが実行中である)が満たされるまで初期化ファイルを生成しないので、これにより、コンピュータ110がセキュリティ上の脅威から安全であると検証される、および/またはすべての必須アプリケーションポリシーおよび/もしくは禁止アプリケーションポリシーに完全に従っていると検証されるまでユーザーがVPN接続280を開始できないことを保証する。こうして、サーバー210は信頼できるコンピュータのみがVPN接続280を確立してくることを確信できる。ある実施形態では、VPNクライアント初期化ファイルの内容はクライアント100に暗号化されたデータ記憶中のポリシー設定として保存される。これらは暗号化されたデータ記憶に保存されており、ユーザーはそのデータ記憶の復号鍵を利用できないので、コンピュータ110のユーザーによって修正することはできない。
【0058】
ある実施例では、クライアント100はVisual C++で書かれたウィンドウズ(登録商標)ベースのアプリケーションで、ハイパーテキスト転送プロトコル‐安全なソケットレイヤー(HTTP‐SSL)を通じてHTTPベースのVPNサーバー240に通信するために使えるSSLベースのVPNクライアント230を含んでいる。TLSのような暗号化/トンネル化の他のプロトコルをVPNクライアントとVPNサーバーとの間に使うこともでき、そのような修正は本発明の範囲内である。この機能は、ユーザーがウェブブラウザを開いて適切な一様リソース位置指定子(URL)を入力または選択し、アクセスゲートウェイのログインページにたどり着いたときにログイン信用情報を入力するといった必要なしに、ひとたびユーザーがインターネットに接続されたら、そのユーザーを自動的にHTTPベースのアクセス制御ゲートウェイにログインさせるのに使うことができる。別の実施例では、クライアント100は、インターネット技術特別調査委員会(IETF: Internet Engineering Task Force)によるIPSecプロトコルを通じてIPSecベースでVPNクライアント240に通信するのに使えるIPSecベースのVPNクライアント230を含んでいる。この機能を使えば、ユーザーはサードパーティーによる外部のIPSecベースVPNクライアント230をインストール、保有または使用する必要なしに、ひとたびユーザーがインターネットに接続されたら、IPSecベースのVPNサーバー240へのIPSec VPN接続を自動的に確立することができる。
【0059】
クライアント100はコンピュータ110上で走る他のアプリケーションをモニターし、定義されたポリシーに全体的に従っているかどうかを評価することができるので、クライアント100は、実行している必要のあるアプリケーション(たとえばファイアウォールアプリケーション)のどれが実行されていないか、および逆に実行が禁じられているアプリケーション(たとえばスパイウェア、ライセンスを受けていないアプリケーションまたはシステム管理者によって望ましくないと見なされるその他のアプリケーション)のどれが実行されているかをログイン要求中に含めることもできるし、あるいは任意の時点でVPNアクセス制御ゲートウェイ240に通知することもできる。クライアント100はまた、コンピュータ110の相対的な物理位置(たとえば自宅、支店、ホテル、社内ネットワークに直接接続など)をも伝達できる。アクセス制御ゲートウェイはこの情報を使って動的にそのユーザーに認められる許可のリストを適応させ、たとえばユーザーがウイルス対策ソフトウェアのないキオスクコンピュータにいるときには一つまたは複数の特定のアプリケーションへのアクセスを拒否したり、あるいはVPNサーバー240またはサーバー210へのアクセスを完全に拒否したりすることができる。
【0060】
クライアント100が特に心配なポリシー違反を検出した場合、たとえばウイルス対策アプリケーションによって報告されるウイルスが検出された場合などには、クライアント100は自動的にVPNアクセス制御ゲートウェイ240にログアウトコマンドを送ることができる。他のウェブアクセス制御ゲートウェイソリューションはユーザーが新しいウェブページを開くかリンクをクリックするかし、それから前記情報をウェブブラウザからウェブアクセス制御ゲートウェイに向かう次の要求に便乗させるのを待つが、上記の動作はそれとは異なるものである。
【0061】
ある実施形態では、ポリシー設定は使用される接続方法を決定するために使用される。クライアント100の起動時に、クライアントは自動的にどんな接続ハードウェア(ネットワークアダプタやモデム)が現在そのマシンで利用可能であるかを問い合わせる。クライアント100は次いで自動的に、検出されたハードウェア装置のいずれかが利用可能なネットワーク接続を有しているかどうかの問い合わせをする。これらの結果を使って、どの接続方法(アナログダイヤル、統合サービスデジタル通信網(ISDN)ダイヤル、PHSセルラー、Wi-Fi無線、LAN、符号分割多重アクセス(CDMA)セルラー、汎ヨーロッパデジタル移動通信システム(GSM)セルラー、GPRSセルラーなど)が現在利用可能であるかに関するユーザーフィードバックが提供される。クライアント100はポリシー設定または手動コントロールを通じたユーザー入力に基づいて複数の接続方法を順位付けする。クライアント100はこれらの順位を利用して、利用可能な接続方法のうちで最も好ましい接続方法のユーザーインターフェースを自動的に表示する。ポリシー設定に基づいて、クライアント100は一つまたは複数の特定の転送について状態または接続コントロールの表示を制限したり防止したりするよう構成されうる。これにより、一つのコードベースによって、サポートされている接続方法の組み合わせをいくらでもサポートすることができるようになる。
【0062】
ある実施形態では、クライアント100は、コンピュータ110が有線または無線のLAN接続を有するときにユーザーの物理的な位置の位置種別を決定する位置種別評価を自動的に実行する。サポートされている位置種別としては:社外/非ローミング、社内/非ローミングおよび社外/ローミングが含まれる。ユーザーの位置種別に基づいて、クライアント100はユーザーがインターネット接続を開始するときに使われるべき適切な認証方法を自動的に決定する。クライアント100はまた位置固有ポリシーを自動的に適用する。たとえば許可されるアプリケーション、禁止されるアプリケーション、VPNクライアント230を自動的に立ち上げるかどうか、どの情報(たとえばユーザーの位置、実行中のアプリケーション、ユーザーのポリシーグループなど)をHTTPベース、TLSベース、IPSecベースまたはその他の暗号化方法ベースのVPNサーバー240またはその他のポリシーが定義されたアプリケーションに送るか、など関するものである。追加的に、前記評価に続いて、クライアント100はユーザーのためにその実際の物理的位置の名前を突き止め、このユーザーフレンドリーな位置名称をユーザーに表示しようとする。これは、位置名称評価方法を使って達成される。適切なポリシーが決められていれば、クライアント100は上述したようにインターネットおよびVPNサーバー240にアクセスする。
【0063】
ユーザーがある商業ローミングブロードバンド位置にいると決定された場合、クライアント100はユーザーがインターネット接続を開始したときに自動的にローミングブロードバンド認証方法を選択する。ユーザーが商業ローミングブロードバンド位置にいるのではないと決定された場合、クライアント100は自動的に社内/非社内LAN評価を開始する。社内/非社内LAN評価の目的は、ユーザーが社内ブロードバンド位置(たとえば、本社、支店、部局、製造施設など)にいるかどうかを決定することである。ユーザーが社内ブロードバンド位置にいると決定された場合、クライアント100はユーザーがインターネット接続を開始したときに自動的にいかなるブロードバンド認証方法をも無効にする。ユーザーが社内ブロードバンド位置にいるのではないと決定された場合、クライアント100はユーザーがインターネット接続を開始したときに直接アクセスブロードバンド認証方法を自動的に選択する。
【0064】
クライアント100は、ユーザーのコンピュータが有線または無線のLAN接続を有しているときにユーザーの物理的位置の位置名称を決定する位置名称評価を自動的に実行する。クライアント100は、ユーザーのコンピュータが有線LAN接続を有しているときにユーザーまたはコンピュータ管理者が有線もしくは無線LAN接続に名前を付けたり個人設定したりすることを許し、その同じ有線もしくは無線LAN接続のその後の使用に際して正しい名前を自動的に選択して表示することができる。クライアント100は、ユーザーのコンピュータが有線もしくは無線LAN接続を有しているときに、位置種別に基づいてユーザーのコンピュータ上でセキュリティポリシー設定が自動的かつ動的に調整されることを許す。
【0065】
さらに、ある実施形態では、ユーザーは名前を与えることに加えて有線または無線LAN接続の属性を設定する。ユーザーは名前の付いた、あるいは名前の付いていない接続をリストから選択する。次いでユーザーは、接続の名称、位置(たとえば自宅またはローミング中)、ブロードバンド接続が確立されたときのVPNクライアント230の自動立ち上げの有効化/無効化(この属性はクライアントポリシーによって設定/オーバーライドされてもよい)、VPNサーバーの選択、および/またはデバイスの選択といった接続の属性を定義/再定義する。この情報はブックマークとして保存される。保存されたブックマークによって、ユーザーはそれぞれの利用可能な接続の属性を素早く決定することができ、自分の環境のために最適な接続を選択することができる。ユーザーまたは管理者は、以前に定義されたブックマークを削除または修正してもよい。
【0066】
図12は、本発明の例示的な方法において、ユーザーIDおよびパスワードがクライアントによって暗号化されるステップを示している。ステップ1210において、クライアント100はユーザーにユーザーIDおよびパスワードを要求する。ステップ1220でクライアントはユーザーIDとパスワードを受け取る。ステップ1230でユーザーIDおよびパスワードがワンタイムシードを使って暗号化され、平文の経路制御情報、鍵IDおよびシードが付加される。これで認証要求が生成される。ステップ1240で認証要求が送信される。ステップ1250で認証判定が行われる。認証メッセージが検証されないと、クライアント100はステップ1260で「アクセス拒否」メッセージを受け取る。認証メッセージが検証されると、クライアントはステップ1270で「アクセス許可」メッセージを受け取る。
【0067】
図13は、本発明の例示的な方法において、認証にワンタイムトークンを使うステップを示している。ステップ1310において、クライアント100はSSOS160に問い合わせをする。ステップ1320においてSSOS160が未処理のチャレンジがあると示した場合、クライアントはステップ1330でPIN、トークンまたはパスコードを求めるプロンプトを受け取る。未処理のチャレンジがなければ、クライアントはステップ1370でインターネット接続が完了したとユーザーに通知する。PIN、トークンまたはパスコードが必要とされる場合、それはステップ1340でSSOS160に送られる。ステップ1350でこのPIN、トークンまたはパスコードがACESERVER260によって受理された場合、クライアントはステップ1360で受理メッセージを受け取る。するとクライアント100はステップ1370でインターネット接続が完了したとユーザーに通知する。
【0068】
図14は、本発明の例示的な方法において、ユーザーIDおよびパスワードが認証サーバーによって復号されるステップを示している。ステップ1410において、プラットフォーム150は暗号化された認証要求を受信し、それを認証・復号・経路制御システム200に送る。認証・復号・経路制御システム200はステップ1420でその要求を復号する。ステップ1430において認証・復号・経路制御システム200が認証メッセージを検証すると、ISP30を通じてNAS42に「アクセス許可」メッセージが送信され、コンピュータ110はインターネットにアクセスすることが許される。認証要求が検証されないと、認証・復号・経路制御システム200は「アクセス拒否」メッセージをISP30を通じてNAS42に送信する。
【0069】
図15は、本発明の例示的な方法において、認証にワンタイムトークンを使うステップを示している。ステップ1510において、SSOSサーバー160はクライアント100からチャレンジ問い合わせを受信する。するとステップ1520でSSOSが未処理のチャレンジがあるかどうかを判定する。もしあれば、SSOS160はステップ1530でクライアントに新しいPIN、トークンまたはパスコードを求めるプロンプトを送る。次いでステップ1540においてSSOS160はその新しいPIN、トークンまたはパスコードメッセージを受信し、それをメッセージの形でACESERVER260に送信する。もしステップ1550でACESERVER260が新しいPIN、トークンまたはパスコードを拒否した場合、ステップ1560でSSOS160はクライアント100に失敗メッセージを送る。もしステップ1550でACESERVER260が新しいPIN、トークンまたはパスコードを受理した場合には、ステップ1570でSSOS160はクライアント100に成功メッセージを送る。
【0070】
図16は、本発明の例示的な方法において、サーバーの安全性を保証するためのあるポリシーの遵守が使われるステップを示している。ステップ1610において、クライアント100はユーザーからインターネットに接続する要求を受け取る。次いでクライアント100はステップ1615でそのポリシーを検査する。クライアント100はステップ1620ですべてのポリシーが従われているかどうかを判定する。すべてのポリシーが従われていたら、クライアントはステップ1640でインターネットに接続する。そうでなければ、クライアント100はステップ1625でコンピュータ110の構成設定を前記ポリシーに従うよう修正する。次いでクライアント100はステップ1630でコンピュータ110が前記ポリシーに従っているかどうかを改めて評価する。従っていなければ、1635でポリシーに基づく行動がとられる。ポリシーに基づく行動はインターネット接続の拒否および/またはユーザーへの視覚的な通知の提供を含みうる。コンピュータ110がこの時点で前記ポリシーに従っている場合には、クライアント100はステップ1640でインターネット接続をする。
【0071】
ステップ1640でインターネット接続が構築されたのち、クライアント100はステップ1645でプラットフォーム150からポリシー更新を受信する。次いでクライアント100はステップ1650で現在のポリシーの遵守を保証するよう継続的にコンピュータ110をモニターする。クライアント100がステップ1655で不遵守を見出した場合、ステップ1660でコンピュータ110は現在のポリシーに従うよう修正される。これでステップ1665においてコンピュータ110が遵守状態になっていれば、クライアント100はステップ1650に戻ってコンピュータ110をモニターする。しかし、クライアント100を遵守状態にすることができなかった場合、ステップ1670でポリシーに基づく行動が取られる。ポリシーに基づく行動はアプリケーションの開始もしくは終了、VPN接続の停止、インターネット接続の停止および/またはユーザーへの視覚的な通知の提供を含みうる。
【0072】
図17は、本発明の例示的な方法において、ユーザーのコンピュータ位置および状態を用いて適切なポリシーを決定するステップを示している。クライアント100はステップ1710においてユーザーからインターネット40またはVPNサーバー240への接続要求を受け取る。次いでクライアント100はステップ1720でコンピュータ110の位置および状態を決定する。ステップ1720で決定された位置および状態に基づいて、クライアント100はステップ1730で最良の接続方法を決定する。クライアント100はステップ1740でコンピュータ110の位置および状態のための最良のポリシーを決定する。次いでクライアント100は図16に示された、ステップ1615に始まるプロセスを実行する。
【0073】
図18は、本発明の実施形態を実装しうるコンピュータシステム1801を示している。コンピュータシステム1801には、情報を伝達するためのバス1802またはその他の通信機構と、前記情報を処理するための前記バス1802に結合されたプロセッサ1803とが含まれる。コンピュータシステム1801にはまた、情報やプロセッサ1803によって実行されるべき命令を保存するための前記バス1802に結合された、ランダムアクセスメモリ(RAM)またはその他の動的記憶装置(たとえば、動的RAM(DRAM)、静的RAM(SRAM)および同期DRAM(SDRAM))のようなメインメモリ1804が含まれる。さらに、メインメモリ1804は前記プロセッサ1803による命令実行中に一時変数またはその他の中間情報を保存するために使われうる。コンピュータシステム1801にはさらに、静的な情報および前記プロセッサ1803のための命令を保存するための前記バス1802に結合された、読み出し専用メモリ(ROM)1805またはその他の静的記憶装置(たとえば、プログラム可能ROM(PROM)、消去可能PROM(EPROM)および電気的に消去可能PROM(EEPROM))が含まれる。
【0074】
コンピュータシステム1801にはまた、磁気ハードディスク1807およびリムーバブルメディアドライブ1808(たとえばフロッピー(登録商標)ディスクドライブ、読み出し専用コンパクトディスクドライブ、読み出し/書き込みコンパクトディスクドライブ、コンパクトディスクジュークボックス、テープドライブおよびリムーバブル光磁気ドライブ)といった、情報および命令を保存するための一つまたは複数の記憶装置を制御するための、前記バス1802に結合されたディスクコントローラ1806が含まれる。記憶装置はコンピュータシステム1801に適切なデバイスインターフェース(たとえば小型コンピュータシステムインターフェース(SCSI: small computer system interface))、統合デバイスエレクトロニクス(IDE: integrated device electronics)、エンハンストIDE(E-IDE)、直接メモリアクセス(DMA)またはウルトラDMAを使って追加しうる。
【0075】
コンピュータシステム1801にはまた、特殊目的論理素子(たとえば、特定用途向けIC(ASIC: application specific integrated circuit))または構成設定可能な論理素子(たとえば、単純なプログラム可能論理素子(SPLD: simple programmable logic device)、複雑なプログラム可能論理素子(CPLD: complex programmable logic device)および現場でプログラム可能なゲートアレイ(FPGA: field programmable gate array))が含まれうる。
【0076】
コンピュータシステム1801にはまた、情報をコンピュータユーザーに表示するための陰極線管(CRT)のようなディスプレイ1810を制御するための、前記バス1802に結合されたディスプレイコントローラ1809が含まれうる。当該コンピュータシステムはキーボード1811およびポインティングデバイス1812といった、コンピュータユーザーと対話し、プロセッサ1803に情報を提供するための入力装置を含む。ポインティングデバイス1812はたとえば、方向情報およびコマンド選択をプロセッサ1803に伝達し、ディスプレイ1810上でのカーソルの動きを制御するための、マウス、トラックボールまたはポインティングスティックでありうる。さらに、コンピュータシステム1801によって保存または生成されるデータの印字出力を提供するプリンタがあってもよい。
【0077】
コンピュータシステム1801は、プロセッサ1803がメインメモリ1804のようなメモリに含まれる一つまたは複数の命令の一つまたは複数のシーケンスを実行するのに反応して本発明の処理ステップの一部分または全部を実行する。そのような情報は、ハードディスク1807またはリムーバブルメディアドライブ1808のような別のコンピュータ可読媒体からメインメモリ1804に読み込まれることができる。ハードディスク1807はクライアント100によって使用される一つまたは複数のデータベースおよびデータファイルを含むことができる。データベースの内容およびデータファイルは安全性向上のために暗号化されていてもよい。メインメモリ1804に含まれる命令のシーケンスを実行するためにマルチプロセシング構成における一つまたは複数のプロセッサを用いてもよい。代替的な実施形態では、ソフトウェア命令の代わりに、あるいはそれと組み合わせて配線による回路が使用されうる。このように、実施形態はハードウェア回路とソフトウェアのいかなる特定の組み合わせに限定されるものでもない。
【0078】
上述したように、コンピュータシステム1801には、本発明の思想に従ってプログラムされた命令を保持するための、そしてデータ構造、テーブル、レコードまたはここに記載されるその他のデータを含むための少なくとも一つのコンピュータ可読媒体またはメモリが含まれる。コンピュータ可読媒体の例は、コンパクトディスク、ハードディスク、フロッピー(登録商標)ディスク、テープ、光磁気ディスク、PROM(EPROM、EEPROM、フラッシュEPROM)、DRAM、SRAM、SDRAMまたは他のいかなる磁気媒体でもよく、コンパクトディスク(たとえばCD-ROM)または他のいかなる光学式媒体でもよく、パンチカード、紙テープまたはその他の孔のパターンのある物理媒体でもよく、搬送波(後述)またはその他コンピュータが読むことのできるいかなる媒体でもよい。
【0079】
コンピュータ可読媒体のいかなる一つまたは組み合わせに保存されていようと、本発明はコンピュータシステム1801を制御し、本発明を実装するために単数または複数のデバイスを駆動し、コンピュータシステム1801が人間のユーザー(たとえば印刷作成人員)と対話できるようにするためのソフトウェアを含む。そのようなソフトウェアは、これに限定されるものではないが、デバイスドライバ、オペレーティングシステム、開発ツールおよびアプリケーションソフトウェアが含まれうる。そのようなコンピュータ可読媒体はさらに、本発明を実施する際に実行される処理の全部または(分散処理の場合には)一部分を実行するための本発明のコンピュータプログラムプロダクトを含む。
【0080】
本発明のコンピュータコードデバイスは、いかなる解釈可能または実行可能なコード機構であってもよく、これに限定されるわけではないが、スクリプト、インタープリタプログラム、ダイナミックリンクライブラリ(DLL)、ジャバクラスおよび完全な実行可能プログラムが含まれうる。さらに、本発明の処理の一部は効率、信頼性および/またはコストの改善のために分散されてもよい。
【0081】
ここで使われる「コンピュータ可読媒体」の用語は、プロセッサ1803に実行のための命令を与えることに関わるいかなる媒体をも指すものである。コンピュータ可読媒体は多くの形を取りうる。これに限定されるものではないが、不揮発性媒体、揮発性媒体および伝送媒体がそれに含まれる。不揮発性媒体には、たとえば光学式、磁気式ディスク、光磁気ディスクが含まれ、具体的にはハードディスク1807またはリムーバブルメディアドライブ1808などである。揮発性媒体にはメインメモリ1804のような動的メモリが含まれる。伝送媒体は同軸ケーブル、銅線および光ファイバーが含まれ、バス1802をなす導線もこれに当たる。伝送媒体はまた、音波または、電波および赤外線データ通信の際に生成されるような電磁波の形をとりうる。
【0082】
プロセッサ1803が実行するための一つまたは複数の命令の一つまたは複数のシーケンスを担うのには、さまざまな形のコンピュータ可読媒体が関わる可能性がある。たとえば、命令は最初はリモートコンピュータの磁気ディスク上に保存されていてもよい。リモートコンピュータは、本発明の全部または一部を実装するための命令をリモートに動的メモリに読み込み、前記命令を電話回線を通じてモデムを使って送信することができる。コンピュータシステム1801にあるローカルモデムは、電話回線上のデータを受信し、赤外線送信機を使って前記データを赤外線信号に変換するなどする。バス1802に結合された赤外線検出器は前記赤外線信号中で搬送されているデータを受信し、該データをバス1802に載せることができる。バス1802はデータをメインメモリ1804に伝え、該メインメモリからプロセッサ1803が命令を取得して実行する。メインメモリ1804によって受信される命令は、プロセッサ1803による実行の前または後に任意的に記憶装置1807または1808に保存されてもよい。
【0083】
コンピュータシステム1801はまた、バス1802に結合した通信インターフェース1813を含む。通信インターフェース1813は、たとえば構内ネットワーク(LAN)1815に、あるいはインターネットのような別の通信ネットワーク1816に接続されているネットワークリンク1814への双方向データ通信結合を提供する。たとえば、通信インターフェース1813は、いかなるパケット交換LANに取り付けるためのネットワークインターフェースカードであってもよい。別の例として、通信インターフェース1813は、対応する種類の通信回線へのデータ通信接続を提供するための非対称デジタル加入者線(ADSL: asymmetrical digital subscriber line)カード、統合サービスデジタル通信網(ISDN)カードまたはモデムであってもよい。無線リンクを実装してもよい。そのようないかなる実装であれ、通信インターフェース1813はさまざまな種類の情報を表すデジタルデータストリームを搬送する電気的、電磁的または光学的信号を送受信する。
【0084】
ネットワークリンク1814は典型的には一つまたは二つのネットワークを通じて他のデータ装置へのデータ通信を提供する。たとえば、ネットワークリンク1814はローカルネットワーク1815(たとえばLAN)を通じて、あるいは通信ネットワーク1816を通じて通信サービスを提供するサービスプロバイダによって運営される装置を通じて別のコンピュータへの接続を提供しうる。ローカルネットワーク1814および通信ネットワーク1816はたとえば、デジタルデータストリームを搬送する電気的、電磁的または光学的信号および対応する物理層(たとえば、CAT5ケーブル、同軸ケーブル、光ファイバーなど)を使う。さまざまなネットワークを通る信号ならびにネットワークリンク1814上および通信インターフェース1813を通る信号はデジタルデータをコンピュータシステム1801との間で搬送するものだが、該信号はベースバンド信号の形で実装してもよいし、搬送波ベースの信号として実装されてもよい。ベースバンド信号はデジタルデータを、デジタルデータビットのストリームを表す変調されていない電気パルスとして伝送する。ここで、「ビット」の語は広く、少なくとも一つまたは複数の情報ビットを伝えるシンボルを意味するものと解釈されるものとする。デジタルデータはまた、搬送波を変調するために用いてもよい。伝導性媒体を通じて伝搬されたり電磁波として伝搬媒質を通じて伝送されたりする振幅、位相および/または周波数変位符号化された(amplitude, phase and/or frequency shift keyed)信号の場合がそうである。このように、デジタルデータは「有線」の通信回線を通じて変調されないベースバンドとして送信されてもよいし、および/または搬送波を変調することによってベースバンドとは異なる所定の周波数体内で送信されてもよい。コンピュータシステム1801はプログラムコードを含むデータをネットワーク1815および1816、ネットワークリンク1814ならびに通信インターフェース1813を通じて送受信することができる。さらに、ネットワークリンク1814は、携帯情報端末(PDA)、ラップトップパソコン、または携帯電話のような携帯機器1817へのLANを通じた接続を提供することもできる。
【0085】
明らかに、上記の思想に照らせば本発明の数多くの修正および変更が可能である。したがって、本発明はここに明示的に記載された以外の仕方で実施することも付属の特許請求の範囲内で可能であると理解されるべきものである。
【図面の簡単な説明】
【0086】
【図1】従来のVPNシステムのブロック図である。
【図2】従来のVPNシステムの概略図である。
【図3】従来のVPNシステムの認証プロセスの概略図である。
【図4】ユーザーIDおよびパスワードがクライアントによって暗号化され、認証サーバーによって復号される、本発明のある実施形態のブロック図である。
【図5】ユーザーIDおよびパスワードがクライアントによって暗号化され、認証サーバーによって復号され、コンピュータ110およびNASによって使われる認証プロトコルがCHAPである、本発明のある実施形態のブロック図である。
【図6A】ユーザーIDおよびパスワードがクライアントによって暗号化され、認証サーバーによって復号される、本発明のある実施形態の概略図の前半である。
【図6B】ユーザーIDおよびパスワードがクライアントによって暗号化され、認証サーバーによって復号される、本発明のある実施形態の概略図の後半である。
【図7】本発明のある実施形態の暗号化プロセスのブロック図である。
【図8】本発明のある実施形態の復号プロセスのブロック図である。
【図9】認証のためにワンタイムトークンを使用する本発明のある実施形態のブロック図である。
【図10】認証のためにワンタイムトークンを使用する本発明のある実施形態の概略図である。
【図11】認証のためにワンタイムトークンを使用する本発明のある実施形態の概略図である。
【図12】ユーザーIDおよびパスワードがクライアントによって暗号化される、本発明のある方法のある実施形態のブロック図である。
【図13】認証のためにワンタイムトークンを使用する本発明のある方法のある実施形態のブロック図である。
【図14】ユーザーIDおよびパスワードが認証サーバーによって復号される、本発明のある方法のある実施形態のブロック図である。
【図15】認証のためにワンタイムトークンを使用する本発明のある方法のある実施形態のブロック図である。
【図16】サーバー安全性を保証するためにあるポリシーの遵守が使われる、本発明のある方法のある実施形態のブロック図である。
【図17】適切なポリシーを決定するためにユーザーのコンピュータの位置および状態が使用される、本発明のある方法のある実施形態のブロック図である。
【図18】本発明の実施形態を実装する基礎となるコンピュータのある実施形態のブロック図である。
【図19A】いくつかのサポートされていないキャラクタのサポートされているキャラクタへのマッピングの代表例を示す表の最初の部分である。
【図19B】いくつかのサポートされていないキャラクタのサポートされているキャラクタへのマッピングの代表例を示す表の第2の部分である。
【図19C】いくつかのサポートされていないキャラクタのサポートされているキャラクタへのマッピングの代表例を示す表の最後の部分である。
【特許請求の範囲】
【請求項1】
ネットワークを通じてクライアントからコンピュータに安全にアクセスするための、コンピュータで実装される方法であって:
・ユーザーからユーザーIDおよびパスワードを含む信用情報を受け取り、
・前記信用情報を暗号化プロセスを用いて暗号化し、
・前記の暗号化された信用情報を含んだ、前記コンピュータへのアクセスの要求メッセージを生成し、
・前記要求メッセージを前記ネットワークを通じて送信し、
・前記コンピュータへのアクセスが認められたという検証メッセージを受信し、
・前記コンピュータにアクセスする、
ことを含んでおり、前記ユーザーIDおよび前記ユーザーパスワードが前記ネットワークを通じて送信される際に暗号化されたままであることを特徴とする方法。
【請求項2】
前記暗号化ステップが、キャラクタマッピングテーブルを使って前記信用情報を有効な暗号化可能キャラクタにマッピングすることを含むことを特徴とする、請求項1記載の方法。
【請求項3】
前記暗号化ステップが前記信用情報を256ビットの鍵を使って暗号化することを含むことを特徴とする、請求項1記載の方法。
【請求項4】
前記暗号化ステップが前記信用情報を128ビットのシードを使って暗号化することを含むことを特徴とする、請求項1記載の方法。
【請求項5】
前記暗号化ステップが:
クライアントソフトウェア識別番号、クライアントセッション識別番号、クライアントハードウェア識別番号およびランダムビット
のうちの少なくとも一つの少なくとも一部分を含むシードを使って前記信用情報を暗号化することを含むことを特徴とする、請求項1記載の方法。
【請求項6】
前記生成ステップが、経路制御プレフィックスまたはサフィックスのうちの少なくとも一つを前記の暗号化されたユーザーIDに付加することを含むことを特徴とする、請求項1記載の方法。
【請求項7】
前記鍵を定期的に更新する、
ことをさらに含むことを特徴とする、請求項3記載の方法。
【請求項8】
前記更新ステップが、前記コンピュータにアクセスしたのちに前記鍵を更新することを含むことを特徴とする、請求項7記載の方法。
【請求項9】
前記送信ステップが、前記ネットワークを通じて前記要求メッセージを送信することをSSL、CHAPまたはPAPを使って行うことを含むことを特徴とする、請求項1記載の方法。
【請求項10】
前記送信ステップが、前記ネットワークを通じて前記要求メッセージを送信することを、前記の暗号化されたパスワードを乱数と一方向性ハッシュ関数を用いてアルゴリズム的に混合したのちにCHAPを使って行うことを含むことを特徴とする、請求項9記載の方法。
【請求項11】
前記送信ステップが、前記ネットワークを通じて前記要求メッセージを送信することを、前記の暗号化されたパスワードを乱数とハッシュ関数MD-5を用いてアルゴリズム的に混合したのちにCHAPを使って行うことを含むことを特徴とする、請求項9記載の方法。
【請求項12】
前記送信ステップが、ダイヤルアップ、構内ネットワーク、Wi-Fi、有線ローミングブロードバンド、遠隔通勤ブロードバンド、2.5G/3G無線、GPRSおよびPHSネットワークのうちの少なくとも一つを含む前記ネットワークを通じて前記要求メッセージを送信することを含むことを特徴とする、請求項1記載の方法。
【請求項13】
前記ネットワークの少なくとも一部分がインターネット通信リンクを含んでいることを特徴とする、請求項1記載の方法。
【請求項14】
前記ネットワークの少なくとも一部分がプライベートなデータ通信回線を含んでいることを特徴とする、請求項1記載の方法。
【請求項15】
ネットワークを通じてクライアントからコンピュータへのアクセスを安全に認証するための、コンピュータで実装される方法であって:
・前記クライアントから前記コンピュータへのアクセスのための、前記ネットワークを通じて送信された要求メッセージを受信し、該要求メッセージは暗号化されたユーザーIDおよび暗号化されたパスワードを含む暗号化された信用情報を含んでおり、
・前記暗号化された信用情報を復号して復号された信用情報を形成し、
・前記復号された信用情報が有効であることを検証し、
・前記クライアントに検証メッセージを送信し、
・前記クライアントに前記コンピュータへのアクセスを承認する、
ことを含んでおり、前記ユーザーIDおよび前記ユーザーパスワードが前記ネットワークを通じて送信される際に暗号化されたままであることを特徴とする方法。
【請求項16】
前記検証ステップが、前記暗号化された信用情報が以前に提示された信用情報のコピーではないことを検証することを含むことを特徴とする、請求項15記載の方法。
【請求項17】
前記復号ステップが、キャラクタマッピングテーブルを使って復号されたキャラクタを逆マッピングすることを含むことを特徴とする、請求項15記載の方法。
【請求項18】
前記復号ステップが256ビットの鍵を使って前記信用情報を復号することを含むことを特徴とする、請求項17記載の方法。
【請求項19】
前記復号ステップが128ビットのシードを使って前記信用情報を復号することを含むことを特徴とする、請求項15記載の方法。
【請求項20】
前記復号ステップが:
クライアントソフトウェア識別番号、クライアントセッション識別番号、クライアントハードウェア識別番号およびランダムビット
のうちの少なくとも一つの少なくとも一部分を含むシードを使って前記信用情報を復号することを含むことを特徴とする、請求項15記載の方法。
【請求項21】
前記鍵および前記キャラクタマッピングテーブルを定期的に更新する、
ことをさらに含むことを特徴とする、請求項18記載の方法。
【請求項22】
前記更新ステップが、前記クライアントに前記コンピュータへのアクセスを承認したのちに前記鍵および前記キャラクタマッピングテーブルを送信することを含むことを特徴とする、請求項21記載の方法。
【請求項23】
前記受信ステップが、前記ネットワークを通じて前記要求メッセージを受信することをSSL、CHAPまたはPAPを使って行うことを含むことを特徴とする、請求項15記載の方法。
【請求項24】
・平文のパスワードをデータベースから取得し、
・前記要求メッセージの内容に基づいて前記パスワードを暗号化して第二の暗号化されたパスワードを形成し、
・前記第二の暗号化されたパスワードに乱数をハッシュ関数を用いてアルゴリズム的に混合してハッシュされたパスワードを形成し、
・前記ハッシュされたパスワードが前記要求メッセージに含まれる前記暗号化されたパスワードに一致することを検証する、
ことを含むことを特徴とする、請求項15記載の方法。
【請求項25】
前記受信ステップが、ダイヤルアップ、構内ネットワーク、Wi-Fi、有線ローミングブロードバンド、遠隔通勤ブロードバンド、2.5G/3G無線、GPRSおよびPHSネットワークのうちの少なくとも一つを含む前記ネットワークを通じて前記要求メッセージを受信することを含むことを特徴とする、請求項15記載の方法。
【請求項26】
前記ネットワークの少なくとも一部分がインターネット通信リンクを含んでいることを特徴とする、請求項15記載の方法。
【請求項27】
前記ネットワークの少なくとも一部分がプライベートなデータ通信回線を含んでいることを特徴とする、請求項15記載の方法。
【請求項28】
コンピュータ記憶媒体と、ネットワークを通じてクライアントからコンピュータに安全にアクセスするための、前記コンピュータ記憶媒体に埋め込まれたコンピュータプログラムコード機構とを含むコンピュータプログラムプロダクトであって、前記コンピュータコード機構が:
・ユーザーからユーザーIDおよびパスワードを含む信用情報を受け取るよう構成されたコンピュータコードデバイスと、
・前記信用情報を暗号化プロセスを用いて暗号化するよう構成されたコンピュータコードデバイスと、
・前記の暗号化された信用情報を含んだ、前記コンピュータへのアクセスの要求メッセージを生成するよう構成されたコンピュータコードデバイスと、
・前記要求メッセージを前記ネットワークを通じて送信するよう構成されたコンピュータコードデバイスと、
・前記コンピュータへのアクセスが認められたという検証メッセージを受信するよう構成されたコンピュータコードデバイスと、
・前記コンピュータにアクセスするよう構成されたコンピュータコードデバイス、
とを有しており、前記ユーザーIDおよび前記ユーザーパスワードが前記ネットワークを通じて送信される際に暗号化されたままであることを特徴とするコンピュータプログラムプロダクト。
【請求項29】
コンピュータ記憶媒体と、ネットワークを通じてクライアントからコンピュータへのアクセスを安全に認証するための、前記コンピュータ記憶媒体に埋め込まれたコンピュータプログラムコード機構とを含むコンピュータプログラムプロダクトであって、前記コンピュータコード機構が:
・前記ネットワークを通じて送信された、暗号化されたユーザーIDおよび暗号化されたパスワードを含む暗号化された信用情報を含んでいる、前記クライアントから前記コンピュータへのアクセスのための要求メッセージを受信するよう構成されたコンピュータコードデバイスと、
・前記暗号化された信用情報を復号して復号された信用情報を形成するよう構成されたコンピュータコードデバイスと、
・前記復号された信用情報が有効であることを検証するよう構成されたコンピュータコードデバイスと、
・前記クライアントに検証メッセージを送信するよう構成されたコンピュータコードデバイスと、
・前記クライアントに前記コンピュータへのアクセスを承認するよう構成されたコンピュータコードデバイス、
とを有しており、前記ユーザーIDおよび前記ユーザーパスワードが前記ネットワークを通じて送信される際に暗号化されたままであることを特徴とするコンピュータプログラムプロダクト。
【請求項30】
ネットワークを通じてクライアントからコンピュータに安全にアクセスするための装置であって:
・ユーザーからユーザーIDおよびパスワードを含む信用情報を受け取る手段と、
・前記信用情報を暗号化プロセスを用いて暗号化する手段と、
・前記の暗号化された信用情報を含んだ、前記コンピュータへのアクセスの要求メッセージを生成する手段と、
・前記要求メッセージを前記ネットワークを通じて送信する手段と、
・前記コンピュータへのアクセスが認められたという検証メッセージを受信する手段と、
・前記コンピュータに保存されているデータにアクセスするよう構成されたデータアクセス機構、
とを有しており、前記ユーザーIDおよび前記ユーザーパスワードが前記ネットワークを通じて送信される際に暗号化されたままであることを特徴とする装置。
【請求項31】
ネットワークを通じてクライアントからコンピュータへのアクセスを安全に認証するための装置であって:
・前記ネットワークを通じて送信された、暗号化されたユーザーIDおよび暗号化されたパスワードを含む暗号化された信用情報を含んでいる、前記クライアントから前記コンピュータへのアクセスのための要求メッセージを受信する手段と、
・前記暗号化された信用情報を復号して復号された信用情報を形成する手段と、
・前記復号された信用情報が有効であることを検証する手段と、
・前記クライアントに検証メッセージを送信する手段と、
・前記クライアントに前記コンピュータへのアクセスを承認する手段、
とを有しており、前記ユーザーIDおよび前記ユーザーパスワードが前記ネットワークを通じて送信される際に暗号化されたままであることを特徴とする装置。
【請求項32】
ネットワークを通じてクライアントからコンピュータに安全にアクセスするための装置であって:
・ユーザーからユーザーIDおよびパスワードを含む信用情報を受け取るよう構成された入出力装置と、
・前記信用情報を暗号化プロセスを用いて暗号化するよう構成された暗号化機構と、
・前記の暗号化された信用情報を含んだ、前記コンピュータへのアクセスの要求メッセージを生成するよう構成された要求メッセージ生成機構を含んでいるプロセッサ、
とを有しており、前記入出力装置が前記要求メッセージを前記ネットワークを通じて送信し、前記コンピュータへのアクセスが認められたという検証メッセージを受信するよう構成されており、前記ユーザーIDおよび前記ユーザーパスワードが前記ネットワークを通じて送信される際に暗号化されたままであることを特徴とする装置。
【請求項33】
前記暗号化機構が前記信用情報を256ビットの鍵を使って暗号化するよう構成されていることを特徴とする、請求項32記載の装置。
【請求項34】
前記暗号化機構が前記信用情報を128ビットのシードを使って暗号化するよう構成されていることを特徴とする、請求項32記載の装置。
【請求項35】
前記入出力装置が、前記ネットワークを通じて前記要求メッセージを送信することをSSL、CHAPまたはPAPを使って行うよう構成されていることを特徴とする、請求項32記載の装置。
【請求項36】
前記入出力装置が、ダイヤルアップ、構内ネットワーク、Wi-Fi、有線ローミングブロードバンド、遠隔通勤ブロードバンド、2.5G/3G無線、GPRSおよびPHSネットワークのうちの少なくとも一つを含む前記ネットワークを通じて前記要求メッセージを送信するよう構成されていることを特徴とする、請求項32記載の装置。
【請求項37】
ネットワークを通じてクライアントからコンピュータへのアクセスを安全に認証するための装置であって:
・前記ネットワークを通じて送信された、暗号化されたユーザーIDおよび暗号化されたパスワードを含む暗号化された信用情報を含んでいる、前記クライアントから前記コンピュータへのアクセスのための要求メッセージを受信するよう構成された入出力装置と、
・前記暗号化された信用情報を復号して復号された信用情報を形成するよう構成された復号機構と、
・前記復号された信用情報が有効であることを検証するよう構成された検証機構を含んでいるプロセッサ、
とを有しており、前記入出力装置が前記クライアントに検証メッセージを送信するよう構成されており、前記プロセッサが前記クライアントに前記コンピュータへのアクセスを承認するよう構成されたアクセス制御機構を含んでおり、前記ユーザーIDおよび前記ユーザーパスワードが前記ネットワークを通じて送信される際に暗号化されたままであることを特徴とする装置。
【請求項38】
前記復号機構が256ビットの鍵を使って前記信用情報を復号するよう構成されていることを特徴とする、請求項37記載の装置。
【請求項39】
前記復号機構が128ビットのシードを使って前記信用情報を復号するよう構成されていることを特徴とする、請求項37記載の装置。
【請求項40】
前記入出力装置が、前記ネットワークを通じて前記要求メッセージを受信することをSSL、CHAPまたはPAPを使って行うよう構成されていることを特徴とする、請求項37記載の装置。
【請求項41】
前記入出力装置が、ダイヤルアップ、構内ネットワーク、Wi-Fi、有線ローミングブロードバンド、遠隔通勤ブロードバンド、2.5G/3G無線、GPRSおよびPHSネットワークのうちの少なくとも一つを含む前記ネットワークを通じて前記要求メッセージを受信するよう構成されていることを特徴とする、請求項37記載の装置。
【請求項42】
ネットワークを通じてリモートコンピュータのユーザーを認証するための、コンピュータで実装される方法であって:
・前記リモートコンピュータにて、少なくとも一部がインターネット通信リンクを含んでいる前記ネットワークを通じて認証サーバーから認証チャレンジメッセージを受信し、
・前記リモートコンピュータにてパスコードを受信し、
・前記認証チャレンジに対して前記パスコードを含む応答メッセージを生成し、
・前記応答メッセージを前記リモートコンピュータから前記認証サーバーに前記ネットワークを通じて送信し、
・前記リモートコンピュータにて前記認証サーバーから前記応答メッセージが検証されたという検証メッセージを受信する、
ことを含むことを特徴とする方法。
【請求項43】
前記リモートコンピュータにてパスコードを受信する前記ステップが、個人識別番号(personal identification number)と擬似乱数発生器によって生成された擬似乱数とを含むパスコードを受信することを含むことを特徴とする、請求項42記載の方法。
【請求項44】
前記リモートコンピュータにてパスコードを受信する前記ステップが、個人識別番号を含むパスコードを受信することを含むことを特徴とする、請求項42記載の方法。
【請求項45】
前記リモートコンピュータにてパスコードを受信する前記ステップが、擬似乱数発生器によって生成された擬似乱数を含むパスコードを受信することを含むことを特徴とする、請求項42記載の方法。
【請求項46】
前記リモートコンピュータにてパスコードを受信する前記ステップが、SECUREIDによって生成された擬似乱数を受信することを含むことを特徴とする、請求項43記載の方法。
【請求項47】
前記リモートコンピュータにて認証サーバーから認証チャレンジメッセージを前記ネットワークを通じて受信する前記ステップが、該認証チャレンジメッセージをACESERVERから受信することを含むことを特徴とする、請求項42記載の方法。
【請求項48】
前記送信ステップが、前記インターネット通信リンクを通じて前記応答メッセージを送信することをSSL、CHAPまたはPAPを使って行うことを含むことを特徴とする、請求項42記載の方法。
【請求項49】
前記送信ステップが、ダイヤルアップ、構内ネットワーク、Wi-Fi、有線ローミングブロードバンド、遠隔通勤ブロードバンド、2.5G/3G無線、GPRSおよびPHSネットワークのうちの少なくとも一つを含む前記インターネット通信リンクを通じて前記応答メッセージを送信することを含むことを特徴とする、請求項42記載の方法。
【請求項50】
ネットワークを通じてコンピュータに安全にアクセスするクライアントに認証チャレンジメッセージを提供するための、コンピュータで実装される方法であって:
・少なくとも一部がインターネット通信リンクを含んでいる前記ネットワークを通じて前記クライアントに前記認証チャレンジメッセージを送信し、
・前記クライアントから前記ネットワークを通じてパスコードを含んでいる応答メッセージを受信し、
・前記パスコードを検証し、
・前記パスコードが認証サーバーによって検証された場合には前記クライアントに検証メッセージを送信する、
ことを含むことを特徴とする方法。
【請求項51】
前記受信ステップが、個人識別番号(personal identification number)と擬似乱数発生器によって生成された擬似乱数とを含むパスコードを含む応答メッセージを受信することを含むことを特徴とする、請求項50記載の方法。
【請求項52】
前記受信ステップが、SECUREIDによって生成された擬似乱数を含むパスコードを含む応答メッセージを受信することを含むことを特徴とする、請求項51記載の方法。
【請求項53】
前記検証ステップが、ACESERVERによって前記パスコードを検証することを含むことを特徴とする、請求項50記載の方法。
【請求項54】
前記送信ステップが、前記インターネット通信リンクを通じて前記応答メッセージを送信することをSSL、CHAPまたはPAPを使って行うことを含むことを特徴とする、請求項50記載の方法。
【請求項55】
前記送信ステップが、ダイヤルアップ、構内ネットワーク、Wi-Fi、有線ローミングブロードバンド、遠隔通勤ブロードバンド、2.5G/3G無線、GPRSおよびPHSネットワークのうちの少なくとも一つを含む前記インターネット通信リンクを通じて応答メッセージを送信することを含むことを特徴とする、請求項50記載の方法。
【請求項56】
コンピュータ記憶媒体と、ネットワークを通じてリモートコンピュータのユーザーを認証するための、前記コンピュータ記憶媒体に埋め込まれたコンピュータプログラムコード機構とを含むコンピュータプログラムプロダクトであって、前記コンピュータコード機構が:
・前記リモートコンピュータにて、少なくとも一部がインターネット通信リンクを含んでいる前記ネットワークを通じて認証サーバーから認証チャレンジメッセージを受信するよう構成されたコンピュータコードデバイスと、
・前記リモートコンピュータにてパスコードを受信するよう構成されたコンピュータコードデバイスと、
・前記認証チャレンジに対して前記パスコードを含む応答メッセージを生成するよう構成されたコンピュータコードデバイスと、
・前記応答メッセージを前記リモートコンピュータから前記認証サーバーに前記ネットワークを通じて送信するよう構成されたコンピュータコードデバイスと、
・前記リモートコンピュータにて前記認証サーバーから前記応答メッセージが検証されたという検証メッセージを受信するよう構成されたコンピュータコードデバイス、
とを有することを特徴とするコンピュータプログラムプロダクト。
【請求項57】
コンピュータ記憶媒体と、ネットワークを通じてコンピュータに安全にアクセスするクライアントに認証チャレンジメッセージを提供するための、前記コンピュータ記憶媒体に埋め込まれたコンピュータプログラムコード機構とを含むコンピュータプログラムプロダクトであって、前記コンピュータコード機構が:
・少なくとも一部がインターネット通信リンクを含んでいる前記ネットワークを通じて前記クライアントに前記認証チャレンジメッセージを送信するよう構成されたコンピュータコードデバイスと、
・前記クライアントから前記ネットワークを通じてパスコードを含んでいる応答メッセージを受信するよう構成されたコンピュータコードデバイスと、
・前記パスコードを検証するよう構成されたコンピュータコードデバイスと、
・前記パスコードが認証サーバーによって検証された場合には前記クライアントに検証メッセージを送信するよう構成されたコンピュータコードデバイス、
とを有することを特徴とするコンピュータプログラムプロダクト。
【請求項58】
ネットワークを通じてリモートコンピュータのユーザーを認証するための装置であって:
・前記リモートコンピュータにて、少なくとも一部がインターネット通信リンクを含んでいる前記ネットワークを通じて認証サーバーから認証チャレンジメッセージを受信する手段と、
・前記リモートコンピュータにてパスコードを受信する手段と、
・前記認証チャレンジに対して前記パスコードを含む応答メッセージを生成する手段と、
・前記応答メッセージを前記リモートコンピュータから前記認証サーバーに前記ネットワークを通じて送信する手段と、
・前記リモートコンピュータにて前記認証サーバーから前記応答メッセージが検証されたという検証メッセージを受信する手段、
とを有することを特徴とする装置。
【請求項59】
ネットワークを通じてコンピュータに安全にアクセスするクライアントに認証チャレンジメッセージを提供するための装置であって:
・少なくとも一部がインターネット通信リンクを含んでいる前記ネットワークを通じて前記クライアントに前記認証チャレンジメッセージを送信する手段と、
・前記クライアントから前記ネットワークを通じてパスコードを含んでいる応答メッセージを受信する手段と、
・前記パスコードを検証する手段と、
・前記パスコードが認証サーバーによって検証された場合には前記クライアントに検証メッセージを送信する手段、
とを有することを特徴とする装置。
【請求項60】
ネットワークを通じてリモートコンピュータのユーザーを認証するための装置であって:
・前記リモートコンピュータにて、少なくとも一部がインターネット通信リンクを含んでいる前記ネットワークを通じて認証サーバーから認証チャレンジメッセージを受信するよう構成され、前記リモートコンピュータにてパスコードを受信するよう構成された入出力装置と、
・前記認証チャレンジに対して前記パスコードを含む応答メッセージを生成するよう構成された応答メッセージ生成機構を含んでいるプロセッサ、
とを有しており、前記入出力装置が前記応答メッセージを前記リモートコンピュータから前記認証サーバーに前記ネットワークを通じて送信し、前記リモートコンピュータにて前記認証サーバーから前記応答メッセージが検証されたという検証メッセージを受信するよう構成されていることを特徴とする装置。
【請求項61】
前記入出力装置が、個人識別番号と擬似乱数発生器によって生成された擬似乱数とを含むパスコードを受信するよう構成されていることを特徴とする、請求項60記載の装置。
【請求項62】
擬似乱数発生器、
をさらに有していることを特徴とする、請求項60記載の装置。
【請求項63】
前記擬似乱数発生器がSECUREIDであることを含むことを特徴とする、請求項62記載の装置。
【請求項64】
前記入出力装置が、ACESERVERから認証チャレンジメッセージを受信するよう構成されていることを特徴とする、請求項60記載の装置。
【請求項65】
ネットワークを通じてコンピュータに安全にアクセスするクライアントに認証チャレンジメッセージを提供するための装置であって:
・少なくとも一部がインターネット通信リンクを含んでいる前記ネットワークを通じて前記クライアントに前記認証チャレンジメッセージを送信するよう構成され、前記クライアントから前記ネットワークを通じてパスコードを含んでいる応答メッセージを受信するよう構成された入出力装置と、
・前記パスコードを検証するよう構成された検証機構を含むプロセッサ、
とを有しており、前記入出力装置が、前記パスコードが認証機構によって検証された場合には前記クライアントに検証メッセージを送信するよう構成されている、ことを特徴とする装置。
【請求項66】
前記パスコードが、個人識別番号と擬似乱数発生器によって生成された擬似乱数とを含むパスコードを含むことを特徴とする、請求項65記載の装置。
【請求項67】
前記擬似乱数発生器がSECUREIDであることを特徴とする、請求項66記載の装置。
【請求項68】
前記検証機構が前記パスコードを認証サーバーを使って検証することを特徴とする、請求項65記載の装置。
【請求項69】
前記認証サーバーがACESERVERであることを特徴とする、請求項68記載の装置。
【請求項70】
コンピュータへの、リモートコンピュータ上で走っているクライアントによる、ネットワークを通じた、セキュリティで保護されていないアクセスを防止するための、コンピュータで実装される方法であって:
・前記リモートコンピュータが当該コンピュータにアクセスした結果当該コンピュータのセキュリティが破られるという可能性を減らすような前記リモートコンピュータの構成設定を含んでいるクライアントポリシーを、前記リモートコンピュータ上に保存し、
・当該コンピュータへのアクセスの要求をユーザーから受信し、
・前記リモートコンピュータが前記クライアントポリシーに従っていることを検証し、
・前記クライアントを当該コンピュータに接続する、
ことを含むことを特徴とする方法。
【請求項71】
前記検証ステップが、禁止されたアプリケーションのリストに含まれるものが何も前記リモートコンピュータ上で走っていないことを検証することを含むことを特徴とする、請求項70記載の方法。
【請求項72】
前記検証ステップが、禁止されたアプリケーションのリストに含まれるものが何も前記リモートコンピュータ上で走っていないことを検証することを含み、前記禁止されたアプリケーションのリストが:ウイルス、スパイウェア、インスタントメッセージ交換アプリケーション、ライセンスを受けていないアプリケーションおよびファイル共有アプリケーションのうちの少なくとも一つを含むことを特徴とする、請求項70記載の方法。
【請求項73】
前記検証ステップが、要求されるアプリケーションのリストに含まれるすべてが前記リモートコンピュータ上で走っていることを検証することを含むことを特徴とする、請求項70記載の方法。
【請求項74】
前記検証ステップが、要求されるアプリケーションのリストに含まれるすべてが前記リモートコンピュータ上で走っていることを検証することを含み、前記要求されるアプリケーションのリストが:ファイアウォール、ウイルス対策およびスパイウェア対策アプリケーションのうちの少なくとも一つを含むことを特徴とする、請求項70記載の方法。
【請求項75】
・前記リモートコンピュータが前記クライアントポリシーに従っていることを定期的に判定し、
・不遵守状態を正すことおよび当該ユーザーに前記不遵守状態を通知することのうちの少なくとも一つを含むポリシーに基づく行動を起こす、
ことをさらに含むことを特徴とする、請求項70記載の方法。
【請求項76】
・前記不遵守状態が正せない場合には当該コンピュータおよびインターネット接続のうちの少なくとも一つから前記クライアントを切断する、
ことをさらに含むことを特徴とする、請求項75記載の方法。
【請求項77】
ポリシー違反のリストをアクセス制御ゲートウェイに送信する、
ことをさらに含むことを特徴とする、請求項70記載の方法。
【請求項78】
コンピュータへの、リモートコンピュータ上で走っているクライアントによる、ネットワークを通じた、セキュリティで保護されていないアクセスを防止するための、コンピュータで実装される方法であって:
・前記リモートコンピュータが当該コンピュータにアクセスした結果当該コンピュータのセキュリティが破られるという可能性を減らすような前記リモートコンピュータの構成設定を含んでいるクライアントポリシーを少なくとも一つ保存し、
・当該コンピュータへのアクセスの要求をユーザーから受信し、
・前記リモートコンピュータの位置種別を決定し、
・前記リモートコンピュータの前記位置種別に基づいて前記少なくとも一つのクライアントポリシーのうちから所望のポリシーを選択し、
・前記所望のポリシーに基づいて当該コンピュータへの利用可能な接続から接続種別を選択し、
・前記リモートコンピュータが前記所望のポリシーに従っていることを検証し、
・前記クライアントを当該コンピュータに接続する、
ことを含むことを特徴とする方法。
【請求項79】
前記決定ステップが、非社内/非ローミング、社内/非ローミングおよび非社内/ローミングのうちの一つの前記位置種別を決定することを含むことを特徴とする、請求項78記載の方法。
【請求項80】
前記検証ステップが、禁止されたアプリケーションのリストに含まれるものが何も前記リモートコンピュータ上で走っていないことを検証することを含むことを特徴とする、請求項78記載の方法。
【請求項81】
前記検証ステップが、禁止されたアプリケーションのリストに含まれるものが何も前記リモートコンピュータ上で走っていないことを検証することを含み、前記禁止されたアプリケーションのリストが:ウイルス、スパイウェア、インスタントメッセージ交換アプリケーション、ライセンスを受けていないアプリケーションおよびファイル共有アプリケーションのうちの少なくとも一つを含むことを特徴とする、請求項78記載の方法。
【請求項82】
前記検証ステップが、要求されるアプリケーションのリストに含まれるすべてが前記リモートコンピュータ上で走っていることを検証することを含むことを特徴とする、請求項78記載の方法。
【請求項83】
前記検証ステップが、要求されるアプリケーションのリストに含まれるすべてが前記リモートコンピュータ上で走っていることを検証することを含み、前記要求されるアプリケーションのリストが:ファイアウォール、ウイルス対策およびスパイウェア対策アプリケーションのうちの少なくとも一つを含むことを特徴とする、請求項78記載の方法。
【請求項84】
・前記リモートコンピュータが前記クライアントポリシーに従っていることを定期的に判定し、
・不遵守状態を正すことおよび当該ユーザーに前記不遵守状態を通知することのうちの少なくとも一つを含むポリシーに基づく行動を起こす、
ことをさらに含むことを特徴とする、請求項78記載の方法。
【請求項85】
・前記不遵守状態が正せない場合には当該コンピュータおよびインターネット接続のうちの少なくとも一つから前記クライアントを切断する、
ことをさらに含むことを特徴とする、請求項84記載の方法。
【請求項86】
ポリシー違反のリストをアクセス制御ゲートウェイに送信する、
ことをさらに含むことを特徴とする、請求項78記載の方法。
【請求項87】
コンピュータへの、リモートコンピュータ上で走っているクライアントによる、ネットワークを通じた、セキュリティで保護されていないアクセスを防止するための、コンピュータで実装される方法であって:
・前記リモートコンピュータが当該コンピュータにアクセスした結果当該コンピュータのセキュリティが破られるという可能性を減らすような前記リモートコンピュータの構成設定を含んでいるクライアントポリシーを、前記リモートコンピュータに送信し、
・前記リモートコンピュータからポリシー違反のリストを受信し、
・前記リモートコンピュータを操作しているユーザーのアクセス権を修正する、
ことを含むことを特徴とする方法。
【請求項88】
前記修正ステップが、前記リモートコンピュータに当該コンピュータへのアクセスを拒否することを含むことを特徴とする、請求項87記載の方法。
【請求項89】
コンピュータ記憶媒体と、コンピュータへの、リモートコンピュータ上で走っているクライアントによる、ネットワークを通じた、セキュリティで保護されていないアクセスを防止するための、前記コンピュータ記憶媒体に埋め込まれたコンピュータプログラムコード機構とを含むコンピュータプログラムプロダクトであって、前記コンピュータコード機構が:
・前記リモートコンピュータが当該コンピュータにアクセスした結果当該コンピュータのセキュリティが破られるという可能性を減らすような前記リモートコンピュータの構成設定を含んでいるクライアントポリシーを、前記リモートコンピュータ上に保存するよう構成されたコンピュータコードデバイスと、
・当該コンピュータへのアクセスの要求をユーザーから受信するよう構成されたコンピュータコードデバイスと、
・前記リモートコンピュータが前記クライアントポリシーに従っていることを検証するよう構成されたコンピュータコードデバイスと、
・前記クライアントを当該コンピュータに接続するよう構成されたコンピュータコードデバイス、
とを有することを特徴とするコンピュータプログラムプロダクト。
【請求項90】
コンピュータ記憶媒体と、コンピュータへの、リモートコンピュータ上で走っているクライアントによる、ネットワークを通じた、セキュリティで保護されていないアクセスを防止するための、前記コンピュータ記憶媒体に埋め込まれたコンピュータプログラムコード機構とを含むコンピュータプログラムプロダクトであって、前記コンピュータコード機構が:
・前記リモートコンピュータが当該コンピュータにアクセスした結果当該コンピュータのセキュリティが破られるという可能性を減らすような前記リモートコンピュータの構成設定を含んでいるクライアントポリシーを少なくとも一つ保存するよう構成されたコンピュータコードデバイスと、
・当該コンピュータへのアクセスの要求をユーザーから受信するよう構成されたコンピュータコードデバイスと、
・前記リモートコンピュータの位置種別を決定するよう構成されたコンピュータコードデバイスと、
・前記リモートコンピュータの前記位置種別に基づいて前記少なくとも一つのクライアントポリシーのうちから所望のポリシーを選択するよう構成されたコンピュータコードデバイスと、
・前記所望のポリシーに基づいて当該コンピュータへの利用可能な接続から接続種別を選択するよう構成されたコンピュータコードデバイスと、
・前記リモートコンピュータが前記所望のポリシーに従っていることを検証するよう構成されたコンピュータコードデバイスと、
・前記クライアントを当該コンピュータに接続するよう構成されたコンピュータコードデバイス、
とを有することを特徴とするコンピュータプログラムプロダクト。
【請求項91】
コンピュータ記憶媒体と、コンピュータへの、リモートコンピュータ上で走っているクライアントによる、ネットワークを通じた、セキュリティで保護されていないアクセスを防止するための、前記コンピュータ記憶媒体に埋め込まれたコンピュータプログラムコード機構とを含むコンピュータプログラムプロダクトであって、前記コンピュータコード機構が:
・前記リモートコンピュータが当該コンピュータにアクセスした結果当該コンピュータのセキュリティが破られるという可能性を減らすような前記リモートコンピュータの構成設定を含んでいるクライアントポリシーを、前記リモートコンピュータに送信するよう構成されたコンピュータコードデバイスと、
・前記リモートコンピュータからポリシー違反のリストを受信するよう構成されたコンピュータコードデバイスと、
・前記リモートコンピュータを操作しているユーザーのアクセス権を修正するよう構成されたコンピュータコードデバイス、
とを有することを特徴とするコンピュータプログラムプロダクト。
【請求項92】
コンピュータへの、リモートコンピュータ上で走っているクライアントによる、ネットワークを通じた、セキュリティで保護されていないアクセスを防止するための装置であって:
・前記リモートコンピュータが当該コンピュータにアクセスした結果当該コンピュータのセキュリティが破られるという可能性を減らすような前記リモートコンピュータの構成設定を含んでいるクライアントポリシーを、前記リモートコンピュータ上に保存する手段と、
・当該コンピュータへのアクセスの要求をユーザーから受信する手段と、
・前記リモートコンピュータが前記クライアントポリシーに従っていることを検証する手段と、
・前記クライアントを当該コンピュータに接続する手段、
とを有することを特徴とする装置。
【請求項93】
コンピュータへの、リモートコンピュータ上で走っているクライアントによる、ネットワークを通じた、セキュリティで保護されていないアクセスを防止するため装置であって:
・前記リモートコンピュータが当該コンピュータにアクセスした結果当該コンピュータのセキュリティが破られるという可能性を減らすような前記リモートコンピュータの構成設定を含んでいるクライアントポリシーを少なくとも一つ保存する手段と、
・当該コンピュータへのアクセスの要求をユーザーから受信する手段と、
・前記リモートコンピュータの位置種別を決定する手段と、
・前記リモートコンピュータの前記位置種別に基づいて前記少なくとも一つのクライアントポリシーのうちから所望のポリシーを選択する手段と、
・前記所望のポリシーに基づいて当該コンピュータへの利用可能な接続から接続種別を選択する手段と、
・前記リモートコンピュータが前記所望のポリシーに従っていることを検証する手段と、
・前記クライアントを当該コンピュータに接続する手段、
とを有することを特徴とする装置。
【請求項94】
コンピュータへの、リモートコンピュータ上で走っているクライアントによる、ネットワークを通じた、セキュリティで保護されていないアクセスを防止するための装置であって:
・前記リモートコンピュータが当該コンピュータにアクセスした結果当該コンピュータのセキュリティが破られるという可能性を減らすような前記リモートコンピュータの構成設定を含んでいるクライアントポリシーを、前記リモートコンピュータに送信する手段と、
・前記リモートコンピュータからポリシー違反のリストを受信する手段と、
・前記リモートコンピュータを操作しているユーザーのアクセス権を修正する手段、
とを有することを特徴とする装置。
【請求項95】
コンピュータへの、リモートコンピュータ上で走っているクライアントによる、ネットワークを通じた、セキュリティで保護されていないアクセスを防止するための装置であって:
・前記リモートコンピュータが当該コンピュータにアクセスした結果当該コンピュータのセキュリティが破られるという可能性を減らすような前記リモートコンピュータの構成設定を含んでいるクライアントポリシーを、前記リモートコンピュータ上に保存するよう構成された保存機構と、
・当該コンピュータへのアクセスの要求をユーザーから受信するよう構成された入出力装置と、
・前記リモートコンピュータが前記クライアントポリシーに従っていることを検証するよう構成された検証機構を含むプロセッサ、
と有しており、前記入出力装置が前記クライアントを当該コンピュータに接続するよう構成されていることを特徴とする装置。
【請求項96】
前記検証機構が、禁止されたアプリケーションのリストに含まれるものが何も前記リモートコンピュータ上で走っていないことを検証するよう構成されていることを特徴とする、請求項95記載の装置。
【請求項97】
前記禁止されたアプリケーションのリストが:ウイルス、スパイウェア、インスタントメッセージ交換アプリケーション、ライセンスを受けていないアプリケーションおよびファイル共有アプリケーションのうちの少なくとも一つを含むことを特徴とする、請求項96記載の装置。
【請求項98】
前記検証機構が、要求されるアプリケーションのリストに含まれるすべてが前記リモートコンピュータ上で走っていることを検証するよう構成されていることを特徴とする、請求項95記載の装置。
【請求項99】
前記要求されるアプリケーションのリストが:ファイアウォール、ウイルス対策およびスパイウェア対策アプリケーションのうちの少なくとも一つを含むことを特徴とする、請求項98記載の装置。
【請求項100】
コンピュータへの、リモートコンピュータ上で走っているクライアントによる、ネットワークを通じた、セキュリティで保護されていないアクセスを防止するため装置であって:
・前記リモートコンピュータが当該コンピュータにアクセスした結果当該コンピュータのセキュリティが破られるという可能性を減らすような前記リモートコンピュータの構成設定を含んでいるクライアントポリシーを少なくとも一つ保存するよう構成された保存機構と、
・当該コンピュータへのアクセスの要求をユーザーから受信するよう構成された入出力装置と、
前記リモートコンピュータの位置種別を決定するよう構成された位置決定機構および、
前記リモートコンピュータの前記位置種別に基づいて前記少なくとも一つのクライアントポリシーのうちから所望のポリシーを選択するよう構成されたポリシー選択機構および、
前記所望のポリシーに基づいて当該コンピュータへの利用可能な接続から接続種別を選択するよう構成された接続選択機構および、
前記リモートコンピュータが前記所望のポリシーに従っていることを検証するよう構成された検証機構、
を含むプロセッサ、
とを有しており、前記入出力装置が前記クライアントを当該コンピュータに接続するよう構成されていることを特徴とする装置。
【請求項101】
前記検証機構が、禁止されたアプリケーションのリストに含まれるものが何も前記リモートコンピュータ上で走っていないことを検証するよう構成されていることを特徴とする、請求項100記載の装置。
【請求項102】
前記禁止されたアプリケーションのリストが:ウイルス、スパイウェア、インスタントメッセージ交換アプリケーション、ライセンスを受けていないアプリケーションおよびファイル共有アプリケーションのうちの少なくとも一つを含むことを特徴とする、請求項101記載の装置。
【請求項103】
前記検証機構が、要求されるアプリケーションのリストに含まれるすべてが前記リモートコンピュータ上で走っていることを検証するよう構成されていることを特徴とする、請求項100記載の装置。
【請求項104】
前記要求されるアプリケーションのリストが:ファイアウォール、ウイルス対策およびスパイウェア対策アプリケーションのうちの少なくとも一つを含むことを特徴とする、請求項103記載の装置。
【請求項105】
コンピュータへの、リモートコンピュータ上で走っているクライアントによる、ネットワークを通じた、セキュリティで保護されていないアクセスを防止するための装置であって:
・前記リモートコンピュータが当該コンピュータにアクセスした結果当該コンピュータのセキュリティが破られるという可能性を減らすような前記リモートコンピュータの構成設定を含んでいるクライアントポリシーを、前記リモートコンピュータに送信するよう構成された入出力装置であって、前記リモートコンピュータからポリシー違反のリストを受信するよう構成された入出力装置と、
・前記リモートコンピュータを操作しているユーザーのアクセス権を修正するよう構成されたアクセス制御機構を含むプロセッサ、
とを有することを特徴とする装置。
【請求項106】
前記アクセス制御機構が、前記リモートコンピュータに当該コンピュータへのアクセスを拒否するよう構成されていることを特徴とする、請求項105記載の方法。
【請求項1】
ネットワークを通じてクライアントからコンピュータに安全にアクセスするための、コンピュータで実装される方法であって:
・ユーザーからユーザーIDおよびパスワードを含む信用情報を受け取り、
・前記信用情報を暗号化プロセスを用いて暗号化し、
・前記の暗号化された信用情報を含んだ、前記コンピュータへのアクセスの要求メッセージを生成し、
・前記要求メッセージを前記ネットワークを通じて送信し、
・前記コンピュータへのアクセスが認められたという検証メッセージを受信し、
・前記コンピュータにアクセスする、
ことを含んでおり、前記ユーザーIDおよび前記ユーザーパスワードが前記ネットワークを通じて送信される際に暗号化されたままであることを特徴とする方法。
【請求項2】
前記暗号化ステップが、キャラクタマッピングテーブルを使って前記信用情報を有効な暗号化可能キャラクタにマッピングすることを含むことを特徴とする、請求項1記載の方法。
【請求項3】
前記暗号化ステップが前記信用情報を256ビットの鍵を使って暗号化することを含むことを特徴とする、請求項1記載の方法。
【請求項4】
前記暗号化ステップが前記信用情報を128ビットのシードを使って暗号化することを含むことを特徴とする、請求項1記載の方法。
【請求項5】
前記暗号化ステップが:
クライアントソフトウェア識別番号、クライアントセッション識別番号、クライアントハードウェア識別番号およびランダムビット
のうちの少なくとも一つの少なくとも一部分を含むシードを使って前記信用情報を暗号化することを含むことを特徴とする、請求項1記載の方法。
【請求項6】
前記生成ステップが、経路制御プレフィックスまたはサフィックスのうちの少なくとも一つを前記の暗号化されたユーザーIDに付加することを含むことを特徴とする、請求項1記載の方法。
【請求項7】
前記鍵を定期的に更新する、
ことをさらに含むことを特徴とする、請求項3記載の方法。
【請求項8】
前記更新ステップが、前記コンピュータにアクセスしたのちに前記鍵を更新することを含むことを特徴とする、請求項7記載の方法。
【請求項9】
前記送信ステップが、前記ネットワークを通じて前記要求メッセージを送信することをSSL、CHAPまたはPAPを使って行うことを含むことを特徴とする、請求項1記載の方法。
【請求項10】
前記送信ステップが、前記ネットワークを通じて前記要求メッセージを送信することを、前記の暗号化されたパスワードを乱数と一方向性ハッシュ関数を用いてアルゴリズム的に混合したのちにCHAPを使って行うことを含むことを特徴とする、請求項9記載の方法。
【請求項11】
前記送信ステップが、前記ネットワークを通じて前記要求メッセージを送信することを、前記の暗号化されたパスワードを乱数とハッシュ関数MD-5を用いてアルゴリズム的に混合したのちにCHAPを使って行うことを含むことを特徴とする、請求項9記載の方法。
【請求項12】
前記送信ステップが、ダイヤルアップ、構内ネットワーク、Wi-Fi、有線ローミングブロードバンド、遠隔通勤ブロードバンド、2.5G/3G無線、GPRSおよびPHSネットワークのうちの少なくとも一つを含む前記ネットワークを通じて前記要求メッセージを送信することを含むことを特徴とする、請求項1記載の方法。
【請求項13】
前記ネットワークの少なくとも一部分がインターネット通信リンクを含んでいることを特徴とする、請求項1記載の方法。
【請求項14】
前記ネットワークの少なくとも一部分がプライベートなデータ通信回線を含んでいることを特徴とする、請求項1記載の方法。
【請求項15】
ネットワークを通じてクライアントからコンピュータへのアクセスを安全に認証するための、コンピュータで実装される方法であって:
・前記クライアントから前記コンピュータへのアクセスのための、前記ネットワークを通じて送信された要求メッセージを受信し、該要求メッセージは暗号化されたユーザーIDおよび暗号化されたパスワードを含む暗号化された信用情報を含んでおり、
・前記暗号化された信用情報を復号して復号された信用情報を形成し、
・前記復号された信用情報が有効であることを検証し、
・前記クライアントに検証メッセージを送信し、
・前記クライアントに前記コンピュータへのアクセスを承認する、
ことを含んでおり、前記ユーザーIDおよび前記ユーザーパスワードが前記ネットワークを通じて送信される際に暗号化されたままであることを特徴とする方法。
【請求項16】
前記検証ステップが、前記暗号化された信用情報が以前に提示された信用情報のコピーではないことを検証することを含むことを特徴とする、請求項15記載の方法。
【請求項17】
前記復号ステップが、キャラクタマッピングテーブルを使って復号されたキャラクタを逆マッピングすることを含むことを特徴とする、請求項15記載の方法。
【請求項18】
前記復号ステップが256ビットの鍵を使って前記信用情報を復号することを含むことを特徴とする、請求項17記載の方法。
【請求項19】
前記復号ステップが128ビットのシードを使って前記信用情報を復号することを含むことを特徴とする、請求項15記載の方法。
【請求項20】
前記復号ステップが:
クライアントソフトウェア識別番号、クライアントセッション識別番号、クライアントハードウェア識別番号およびランダムビット
のうちの少なくとも一つの少なくとも一部分を含むシードを使って前記信用情報を復号することを含むことを特徴とする、請求項15記載の方法。
【請求項21】
前記鍵および前記キャラクタマッピングテーブルを定期的に更新する、
ことをさらに含むことを特徴とする、請求項18記載の方法。
【請求項22】
前記更新ステップが、前記クライアントに前記コンピュータへのアクセスを承認したのちに前記鍵および前記キャラクタマッピングテーブルを送信することを含むことを特徴とする、請求項21記載の方法。
【請求項23】
前記受信ステップが、前記ネットワークを通じて前記要求メッセージを受信することをSSL、CHAPまたはPAPを使って行うことを含むことを特徴とする、請求項15記載の方法。
【請求項24】
・平文のパスワードをデータベースから取得し、
・前記要求メッセージの内容に基づいて前記パスワードを暗号化して第二の暗号化されたパスワードを形成し、
・前記第二の暗号化されたパスワードに乱数をハッシュ関数を用いてアルゴリズム的に混合してハッシュされたパスワードを形成し、
・前記ハッシュされたパスワードが前記要求メッセージに含まれる前記暗号化されたパスワードに一致することを検証する、
ことを含むことを特徴とする、請求項15記載の方法。
【請求項25】
前記受信ステップが、ダイヤルアップ、構内ネットワーク、Wi-Fi、有線ローミングブロードバンド、遠隔通勤ブロードバンド、2.5G/3G無線、GPRSおよびPHSネットワークのうちの少なくとも一つを含む前記ネットワークを通じて前記要求メッセージを受信することを含むことを特徴とする、請求項15記載の方法。
【請求項26】
前記ネットワークの少なくとも一部分がインターネット通信リンクを含んでいることを特徴とする、請求項15記載の方法。
【請求項27】
前記ネットワークの少なくとも一部分がプライベートなデータ通信回線を含んでいることを特徴とする、請求項15記載の方法。
【請求項28】
コンピュータ記憶媒体と、ネットワークを通じてクライアントからコンピュータに安全にアクセスするための、前記コンピュータ記憶媒体に埋め込まれたコンピュータプログラムコード機構とを含むコンピュータプログラムプロダクトであって、前記コンピュータコード機構が:
・ユーザーからユーザーIDおよびパスワードを含む信用情報を受け取るよう構成されたコンピュータコードデバイスと、
・前記信用情報を暗号化プロセスを用いて暗号化するよう構成されたコンピュータコードデバイスと、
・前記の暗号化された信用情報を含んだ、前記コンピュータへのアクセスの要求メッセージを生成するよう構成されたコンピュータコードデバイスと、
・前記要求メッセージを前記ネットワークを通じて送信するよう構成されたコンピュータコードデバイスと、
・前記コンピュータへのアクセスが認められたという検証メッセージを受信するよう構成されたコンピュータコードデバイスと、
・前記コンピュータにアクセスするよう構成されたコンピュータコードデバイス、
とを有しており、前記ユーザーIDおよび前記ユーザーパスワードが前記ネットワークを通じて送信される際に暗号化されたままであることを特徴とするコンピュータプログラムプロダクト。
【請求項29】
コンピュータ記憶媒体と、ネットワークを通じてクライアントからコンピュータへのアクセスを安全に認証するための、前記コンピュータ記憶媒体に埋め込まれたコンピュータプログラムコード機構とを含むコンピュータプログラムプロダクトであって、前記コンピュータコード機構が:
・前記ネットワークを通じて送信された、暗号化されたユーザーIDおよび暗号化されたパスワードを含む暗号化された信用情報を含んでいる、前記クライアントから前記コンピュータへのアクセスのための要求メッセージを受信するよう構成されたコンピュータコードデバイスと、
・前記暗号化された信用情報を復号して復号された信用情報を形成するよう構成されたコンピュータコードデバイスと、
・前記復号された信用情報が有効であることを検証するよう構成されたコンピュータコードデバイスと、
・前記クライアントに検証メッセージを送信するよう構成されたコンピュータコードデバイスと、
・前記クライアントに前記コンピュータへのアクセスを承認するよう構成されたコンピュータコードデバイス、
とを有しており、前記ユーザーIDおよび前記ユーザーパスワードが前記ネットワークを通じて送信される際に暗号化されたままであることを特徴とするコンピュータプログラムプロダクト。
【請求項30】
ネットワークを通じてクライアントからコンピュータに安全にアクセスするための装置であって:
・ユーザーからユーザーIDおよびパスワードを含む信用情報を受け取る手段と、
・前記信用情報を暗号化プロセスを用いて暗号化する手段と、
・前記の暗号化された信用情報を含んだ、前記コンピュータへのアクセスの要求メッセージを生成する手段と、
・前記要求メッセージを前記ネットワークを通じて送信する手段と、
・前記コンピュータへのアクセスが認められたという検証メッセージを受信する手段と、
・前記コンピュータに保存されているデータにアクセスするよう構成されたデータアクセス機構、
とを有しており、前記ユーザーIDおよび前記ユーザーパスワードが前記ネットワークを通じて送信される際に暗号化されたままであることを特徴とする装置。
【請求項31】
ネットワークを通じてクライアントからコンピュータへのアクセスを安全に認証するための装置であって:
・前記ネットワークを通じて送信された、暗号化されたユーザーIDおよび暗号化されたパスワードを含む暗号化された信用情報を含んでいる、前記クライアントから前記コンピュータへのアクセスのための要求メッセージを受信する手段と、
・前記暗号化された信用情報を復号して復号された信用情報を形成する手段と、
・前記復号された信用情報が有効であることを検証する手段と、
・前記クライアントに検証メッセージを送信する手段と、
・前記クライアントに前記コンピュータへのアクセスを承認する手段、
とを有しており、前記ユーザーIDおよび前記ユーザーパスワードが前記ネットワークを通じて送信される際に暗号化されたままであることを特徴とする装置。
【請求項32】
ネットワークを通じてクライアントからコンピュータに安全にアクセスするための装置であって:
・ユーザーからユーザーIDおよびパスワードを含む信用情報を受け取るよう構成された入出力装置と、
・前記信用情報を暗号化プロセスを用いて暗号化するよう構成された暗号化機構と、
・前記の暗号化された信用情報を含んだ、前記コンピュータへのアクセスの要求メッセージを生成するよう構成された要求メッセージ生成機構を含んでいるプロセッサ、
とを有しており、前記入出力装置が前記要求メッセージを前記ネットワークを通じて送信し、前記コンピュータへのアクセスが認められたという検証メッセージを受信するよう構成されており、前記ユーザーIDおよび前記ユーザーパスワードが前記ネットワークを通じて送信される際に暗号化されたままであることを特徴とする装置。
【請求項33】
前記暗号化機構が前記信用情報を256ビットの鍵を使って暗号化するよう構成されていることを特徴とする、請求項32記載の装置。
【請求項34】
前記暗号化機構が前記信用情報を128ビットのシードを使って暗号化するよう構成されていることを特徴とする、請求項32記載の装置。
【請求項35】
前記入出力装置が、前記ネットワークを通じて前記要求メッセージを送信することをSSL、CHAPまたはPAPを使って行うよう構成されていることを特徴とする、請求項32記載の装置。
【請求項36】
前記入出力装置が、ダイヤルアップ、構内ネットワーク、Wi-Fi、有線ローミングブロードバンド、遠隔通勤ブロードバンド、2.5G/3G無線、GPRSおよびPHSネットワークのうちの少なくとも一つを含む前記ネットワークを通じて前記要求メッセージを送信するよう構成されていることを特徴とする、請求項32記載の装置。
【請求項37】
ネットワークを通じてクライアントからコンピュータへのアクセスを安全に認証するための装置であって:
・前記ネットワークを通じて送信された、暗号化されたユーザーIDおよび暗号化されたパスワードを含む暗号化された信用情報を含んでいる、前記クライアントから前記コンピュータへのアクセスのための要求メッセージを受信するよう構成された入出力装置と、
・前記暗号化された信用情報を復号して復号された信用情報を形成するよう構成された復号機構と、
・前記復号された信用情報が有効であることを検証するよう構成された検証機構を含んでいるプロセッサ、
とを有しており、前記入出力装置が前記クライアントに検証メッセージを送信するよう構成されており、前記プロセッサが前記クライアントに前記コンピュータへのアクセスを承認するよう構成されたアクセス制御機構を含んでおり、前記ユーザーIDおよび前記ユーザーパスワードが前記ネットワークを通じて送信される際に暗号化されたままであることを特徴とする装置。
【請求項38】
前記復号機構が256ビットの鍵を使って前記信用情報を復号するよう構成されていることを特徴とする、請求項37記載の装置。
【請求項39】
前記復号機構が128ビットのシードを使って前記信用情報を復号するよう構成されていることを特徴とする、請求項37記載の装置。
【請求項40】
前記入出力装置が、前記ネットワークを通じて前記要求メッセージを受信することをSSL、CHAPまたはPAPを使って行うよう構成されていることを特徴とする、請求項37記載の装置。
【請求項41】
前記入出力装置が、ダイヤルアップ、構内ネットワーク、Wi-Fi、有線ローミングブロードバンド、遠隔通勤ブロードバンド、2.5G/3G無線、GPRSおよびPHSネットワークのうちの少なくとも一つを含む前記ネットワークを通じて前記要求メッセージを受信するよう構成されていることを特徴とする、請求項37記載の装置。
【請求項42】
ネットワークを通じてリモートコンピュータのユーザーを認証するための、コンピュータで実装される方法であって:
・前記リモートコンピュータにて、少なくとも一部がインターネット通信リンクを含んでいる前記ネットワークを通じて認証サーバーから認証チャレンジメッセージを受信し、
・前記リモートコンピュータにてパスコードを受信し、
・前記認証チャレンジに対して前記パスコードを含む応答メッセージを生成し、
・前記応答メッセージを前記リモートコンピュータから前記認証サーバーに前記ネットワークを通じて送信し、
・前記リモートコンピュータにて前記認証サーバーから前記応答メッセージが検証されたという検証メッセージを受信する、
ことを含むことを特徴とする方法。
【請求項43】
前記リモートコンピュータにてパスコードを受信する前記ステップが、個人識別番号(personal identification number)と擬似乱数発生器によって生成された擬似乱数とを含むパスコードを受信することを含むことを特徴とする、請求項42記載の方法。
【請求項44】
前記リモートコンピュータにてパスコードを受信する前記ステップが、個人識別番号を含むパスコードを受信することを含むことを特徴とする、請求項42記載の方法。
【請求項45】
前記リモートコンピュータにてパスコードを受信する前記ステップが、擬似乱数発生器によって生成された擬似乱数を含むパスコードを受信することを含むことを特徴とする、請求項42記載の方法。
【請求項46】
前記リモートコンピュータにてパスコードを受信する前記ステップが、SECUREIDによって生成された擬似乱数を受信することを含むことを特徴とする、請求項43記載の方法。
【請求項47】
前記リモートコンピュータにて認証サーバーから認証チャレンジメッセージを前記ネットワークを通じて受信する前記ステップが、該認証チャレンジメッセージをACESERVERから受信することを含むことを特徴とする、請求項42記載の方法。
【請求項48】
前記送信ステップが、前記インターネット通信リンクを通じて前記応答メッセージを送信することをSSL、CHAPまたはPAPを使って行うことを含むことを特徴とする、請求項42記載の方法。
【請求項49】
前記送信ステップが、ダイヤルアップ、構内ネットワーク、Wi-Fi、有線ローミングブロードバンド、遠隔通勤ブロードバンド、2.5G/3G無線、GPRSおよびPHSネットワークのうちの少なくとも一つを含む前記インターネット通信リンクを通じて前記応答メッセージを送信することを含むことを特徴とする、請求項42記載の方法。
【請求項50】
ネットワークを通じてコンピュータに安全にアクセスするクライアントに認証チャレンジメッセージを提供するための、コンピュータで実装される方法であって:
・少なくとも一部がインターネット通信リンクを含んでいる前記ネットワークを通じて前記クライアントに前記認証チャレンジメッセージを送信し、
・前記クライアントから前記ネットワークを通じてパスコードを含んでいる応答メッセージを受信し、
・前記パスコードを検証し、
・前記パスコードが認証サーバーによって検証された場合には前記クライアントに検証メッセージを送信する、
ことを含むことを特徴とする方法。
【請求項51】
前記受信ステップが、個人識別番号(personal identification number)と擬似乱数発生器によって生成された擬似乱数とを含むパスコードを含む応答メッセージを受信することを含むことを特徴とする、請求項50記載の方法。
【請求項52】
前記受信ステップが、SECUREIDによって生成された擬似乱数を含むパスコードを含む応答メッセージを受信することを含むことを特徴とする、請求項51記載の方法。
【請求項53】
前記検証ステップが、ACESERVERによって前記パスコードを検証することを含むことを特徴とする、請求項50記載の方法。
【請求項54】
前記送信ステップが、前記インターネット通信リンクを通じて前記応答メッセージを送信することをSSL、CHAPまたはPAPを使って行うことを含むことを特徴とする、請求項50記載の方法。
【請求項55】
前記送信ステップが、ダイヤルアップ、構内ネットワーク、Wi-Fi、有線ローミングブロードバンド、遠隔通勤ブロードバンド、2.5G/3G無線、GPRSおよびPHSネットワークのうちの少なくとも一つを含む前記インターネット通信リンクを通じて応答メッセージを送信することを含むことを特徴とする、請求項50記載の方法。
【請求項56】
コンピュータ記憶媒体と、ネットワークを通じてリモートコンピュータのユーザーを認証するための、前記コンピュータ記憶媒体に埋め込まれたコンピュータプログラムコード機構とを含むコンピュータプログラムプロダクトであって、前記コンピュータコード機構が:
・前記リモートコンピュータにて、少なくとも一部がインターネット通信リンクを含んでいる前記ネットワークを通じて認証サーバーから認証チャレンジメッセージを受信するよう構成されたコンピュータコードデバイスと、
・前記リモートコンピュータにてパスコードを受信するよう構成されたコンピュータコードデバイスと、
・前記認証チャレンジに対して前記パスコードを含む応答メッセージを生成するよう構成されたコンピュータコードデバイスと、
・前記応答メッセージを前記リモートコンピュータから前記認証サーバーに前記ネットワークを通じて送信するよう構成されたコンピュータコードデバイスと、
・前記リモートコンピュータにて前記認証サーバーから前記応答メッセージが検証されたという検証メッセージを受信するよう構成されたコンピュータコードデバイス、
とを有することを特徴とするコンピュータプログラムプロダクト。
【請求項57】
コンピュータ記憶媒体と、ネットワークを通じてコンピュータに安全にアクセスするクライアントに認証チャレンジメッセージを提供するための、前記コンピュータ記憶媒体に埋め込まれたコンピュータプログラムコード機構とを含むコンピュータプログラムプロダクトであって、前記コンピュータコード機構が:
・少なくとも一部がインターネット通信リンクを含んでいる前記ネットワークを通じて前記クライアントに前記認証チャレンジメッセージを送信するよう構成されたコンピュータコードデバイスと、
・前記クライアントから前記ネットワークを通じてパスコードを含んでいる応答メッセージを受信するよう構成されたコンピュータコードデバイスと、
・前記パスコードを検証するよう構成されたコンピュータコードデバイスと、
・前記パスコードが認証サーバーによって検証された場合には前記クライアントに検証メッセージを送信するよう構成されたコンピュータコードデバイス、
とを有することを特徴とするコンピュータプログラムプロダクト。
【請求項58】
ネットワークを通じてリモートコンピュータのユーザーを認証するための装置であって:
・前記リモートコンピュータにて、少なくとも一部がインターネット通信リンクを含んでいる前記ネットワークを通じて認証サーバーから認証チャレンジメッセージを受信する手段と、
・前記リモートコンピュータにてパスコードを受信する手段と、
・前記認証チャレンジに対して前記パスコードを含む応答メッセージを生成する手段と、
・前記応答メッセージを前記リモートコンピュータから前記認証サーバーに前記ネットワークを通じて送信する手段と、
・前記リモートコンピュータにて前記認証サーバーから前記応答メッセージが検証されたという検証メッセージを受信する手段、
とを有することを特徴とする装置。
【請求項59】
ネットワークを通じてコンピュータに安全にアクセスするクライアントに認証チャレンジメッセージを提供するための装置であって:
・少なくとも一部がインターネット通信リンクを含んでいる前記ネットワークを通じて前記クライアントに前記認証チャレンジメッセージを送信する手段と、
・前記クライアントから前記ネットワークを通じてパスコードを含んでいる応答メッセージを受信する手段と、
・前記パスコードを検証する手段と、
・前記パスコードが認証サーバーによって検証された場合には前記クライアントに検証メッセージを送信する手段、
とを有することを特徴とする装置。
【請求項60】
ネットワークを通じてリモートコンピュータのユーザーを認証するための装置であって:
・前記リモートコンピュータにて、少なくとも一部がインターネット通信リンクを含んでいる前記ネットワークを通じて認証サーバーから認証チャレンジメッセージを受信するよう構成され、前記リモートコンピュータにてパスコードを受信するよう構成された入出力装置と、
・前記認証チャレンジに対して前記パスコードを含む応答メッセージを生成するよう構成された応答メッセージ生成機構を含んでいるプロセッサ、
とを有しており、前記入出力装置が前記応答メッセージを前記リモートコンピュータから前記認証サーバーに前記ネットワークを通じて送信し、前記リモートコンピュータにて前記認証サーバーから前記応答メッセージが検証されたという検証メッセージを受信するよう構成されていることを特徴とする装置。
【請求項61】
前記入出力装置が、個人識別番号と擬似乱数発生器によって生成された擬似乱数とを含むパスコードを受信するよう構成されていることを特徴とする、請求項60記載の装置。
【請求項62】
擬似乱数発生器、
をさらに有していることを特徴とする、請求項60記載の装置。
【請求項63】
前記擬似乱数発生器がSECUREIDであることを含むことを特徴とする、請求項62記載の装置。
【請求項64】
前記入出力装置が、ACESERVERから認証チャレンジメッセージを受信するよう構成されていることを特徴とする、請求項60記載の装置。
【請求項65】
ネットワークを通じてコンピュータに安全にアクセスするクライアントに認証チャレンジメッセージを提供するための装置であって:
・少なくとも一部がインターネット通信リンクを含んでいる前記ネットワークを通じて前記クライアントに前記認証チャレンジメッセージを送信するよう構成され、前記クライアントから前記ネットワークを通じてパスコードを含んでいる応答メッセージを受信するよう構成された入出力装置と、
・前記パスコードを検証するよう構成された検証機構を含むプロセッサ、
とを有しており、前記入出力装置が、前記パスコードが認証機構によって検証された場合には前記クライアントに検証メッセージを送信するよう構成されている、ことを特徴とする装置。
【請求項66】
前記パスコードが、個人識別番号と擬似乱数発生器によって生成された擬似乱数とを含むパスコードを含むことを特徴とする、請求項65記載の装置。
【請求項67】
前記擬似乱数発生器がSECUREIDであることを特徴とする、請求項66記載の装置。
【請求項68】
前記検証機構が前記パスコードを認証サーバーを使って検証することを特徴とする、請求項65記載の装置。
【請求項69】
前記認証サーバーがACESERVERであることを特徴とする、請求項68記載の装置。
【請求項70】
コンピュータへの、リモートコンピュータ上で走っているクライアントによる、ネットワークを通じた、セキュリティで保護されていないアクセスを防止するための、コンピュータで実装される方法であって:
・前記リモートコンピュータが当該コンピュータにアクセスした結果当該コンピュータのセキュリティが破られるという可能性を減らすような前記リモートコンピュータの構成設定を含んでいるクライアントポリシーを、前記リモートコンピュータ上に保存し、
・当該コンピュータへのアクセスの要求をユーザーから受信し、
・前記リモートコンピュータが前記クライアントポリシーに従っていることを検証し、
・前記クライアントを当該コンピュータに接続する、
ことを含むことを特徴とする方法。
【請求項71】
前記検証ステップが、禁止されたアプリケーションのリストに含まれるものが何も前記リモートコンピュータ上で走っていないことを検証することを含むことを特徴とする、請求項70記載の方法。
【請求項72】
前記検証ステップが、禁止されたアプリケーションのリストに含まれるものが何も前記リモートコンピュータ上で走っていないことを検証することを含み、前記禁止されたアプリケーションのリストが:ウイルス、スパイウェア、インスタントメッセージ交換アプリケーション、ライセンスを受けていないアプリケーションおよびファイル共有アプリケーションのうちの少なくとも一つを含むことを特徴とする、請求項70記載の方法。
【請求項73】
前記検証ステップが、要求されるアプリケーションのリストに含まれるすべてが前記リモートコンピュータ上で走っていることを検証することを含むことを特徴とする、請求項70記載の方法。
【請求項74】
前記検証ステップが、要求されるアプリケーションのリストに含まれるすべてが前記リモートコンピュータ上で走っていることを検証することを含み、前記要求されるアプリケーションのリストが:ファイアウォール、ウイルス対策およびスパイウェア対策アプリケーションのうちの少なくとも一つを含むことを特徴とする、請求項70記載の方法。
【請求項75】
・前記リモートコンピュータが前記クライアントポリシーに従っていることを定期的に判定し、
・不遵守状態を正すことおよび当該ユーザーに前記不遵守状態を通知することのうちの少なくとも一つを含むポリシーに基づく行動を起こす、
ことをさらに含むことを特徴とする、請求項70記載の方法。
【請求項76】
・前記不遵守状態が正せない場合には当該コンピュータおよびインターネット接続のうちの少なくとも一つから前記クライアントを切断する、
ことをさらに含むことを特徴とする、請求項75記載の方法。
【請求項77】
ポリシー違反のリストをアクセス制御ゲートウェイに送信する、
ことをさらに含むことを特徴とする、請求項70記載の方法。
【請求項78】
コンピュータへの、リモートコンピュータ上で走っているクライアントによる、ネットワークを通じた、セキュリティで保護されていないアクセスを防止するための、コンピュータで実装される方法であって:
・前記リモートコンピュータが当該コンピュータにアクセスした結果当該コンピュータのセキュリティが破られるという可能性を減らすような前記リモートコンピュータの構成設定を含んでいるクライアントポリシーを少なくとも一つ保存し、
・当該コンピュータへのアクセスの要求をユーザーから受信し、
・前記リモートコンピュータの位置種別を決定し、
・前記リモートコンピュータの前記位置種別に基づいて前記少なくとも一つのクライアントポリシーのうちから所望のポリシーを選択し、
・前記所望のポリシーに基づいて当該コンピュータへの利用可能な接続から接続種別を選択し、
・前記リモートコンピュータが前記所望のポリシーに従っていることを検証し、
・前記クライアントを当該コンピュータに接続する、
ことを含むことを特徴とする方法。
【請求項79】
前記決定ステップが、非社内/非ローミング、社内/非ローミングおよび非社内/ローミングのうちの一つの前記位置種別を決定することを含むことを特徴とする、請求項78記載の方法。
【請求項80】
前記検証ステップが、禁止されたアプリケーションのリストに含まれるものが何も前記リモートコンピュータ上で走っていないことを検証することを含むことを特徴とする、請求項78記載の方法。
【請求項81】
前記検証ステップが、禁止されたアプリケーションのリストに含まれるものが何も前記リモートコンピュータ上で走っていないことを検証することを含み、前記禁止されたアプリケーションのリストが:ウイルス、スパイウェア、インスタントメッセージ交換アプリケーション、ライセンスを受けていないアプリケーションおよびファイル共有アプリケーションのうちの少なくとも一つを含むことを特徴とする、請求項78記載の方法。
【請求項82】
前記検証ステップが、要求されるアプリケーションのリストに含まれるすべてが前記リモートコンピュータ上で走っていることを検証することを含むことを特徴とする、請求項78記載の方法。
【請求項83】
前記検証ステップが、要求されるアプリケーションのリストに含まれるすべてが前記リモートコンピュータ上で走っていることを検証することを含み、前記要求されるアプリケーションのリストが:ファイアウォール、ウイルス対策およびスパイウェア対策アプリケーションのうちの少なくとも一つを含むことを特徴とする、請求項78記載の方法。
【請求項84】
・前記リモートコンピュータが前記クライアントポリシーに従っていることを定期的に判定し、
・不遵守状態を正すことおよび当該ユーザーに前記不遵守状態を通知することのうちの少なくとも一つを含むポリシーに基づく行動を起こす、
ことをさらに含むことを特徴とする、請求項78記載の方法。
【請求項85】
・前記不遵守状態が正せない場合には当該コンピュータおよびインターネット接続のうちの少なくとも一つから前記クライアントを切断する、
ことをさらに含むことを特徴とする、請求項84記載の方法。
【請求項86】
ポリシー違反のリストをアクセス制御ゲートウェイに送信する、
ことをさらに含むことを特徴とする、請求項78記載の方法。
【請求項87】
コンピュータへの、リモートコンピュータ上で走っているクライアントによる、ネットワークを通じた、セキュリティで保護されていないアクセスを防止するための、コンピュータで実装される方法であって:
・前記リモートコンピュータが当該コンピュータにアクセスした結果当該コンピュータのセキュリティが破られるという可能性を減らすような前記リモートコンピュータの構成設定を含んでいるクライアントポリシーを、前記リモートコンピュータに送信し、
・前記リモートコンピュータからポリシー違反のリストを受信し、
・前記リモートコンピュータを操作しているユーザーのアクセス権を修正する、
ことを含むことを特徴とする方法。
【請求項88】
前記修正ステップが、前記リモートコンピュータに当該コンピュータへのアクセスを拒否することを含むことを特徴とする、請求項87記載の方法。
【請求項89】
コンピュータ記憶媒体と、コンピュータへの、リモートコンピュータ上で走っているクライアントによる、ネットワークを通じた、セキュリティで保護されていないアクセスを防止するための、前記コンピュータ記憶媒体に埋め込まれたコンピュータプログラムコード機構とを含むコンピュータプログラムプロダクトであって、前記コンピュータコード機構が:
・前記リモートコンピュータが当該コンピュータにアクセスした結果当該コンピュータのセキュリティが破られるという可能性を減らすような前記リモートコンピュータの構成設定を含んでいるクライアントポリシーを、前記リモートコンピュータ上に保存するよう構成されたコンピュータコードデバイスと、
・当該コンピュータへのアクセスの要求をユーザーから受信するよう構成されたコンピュータコードデバイスと、
・前記リモートコンピュータが前記クライアントポリシーに従っていることを検証するよう構成されたコンピュータコードデバイスと、
・前記クライアントを当該コンピュータに接続するよう構成されたコンピュータコードデバイス、
とを有することを特徴とするコンピュータプログラムプロダクト。
【請求項90】
コンピュータ記憶媒体と、コンピュータへの、リモートコンピュータ上で走っているクライアントによる、ネットワークを通じた、セキュリティで保護されていないアクセスを防止するための、前記コンピュータ記憶媒体に埋め込まれたコンピュータプログラムコード機構とを含むコンピュータプログラムプロダクトであって、前記コンピュータコード機構が:
・前記リモートコンピュータが当該コンピュータにアクセスした結果当該コンピュータのセキュリティが破られるという可能性を減らすような前記リモートコンピュータの構成設定を含んでいるクライアントポリシーを少なくとも一つ保存するよう構成されたコンピュータコードデバイスと、
・当該コンピュータへのアクセスの要求をユーザーから受信するよう構成されたコンピュータコードデバイスと、
・前記リモートコンピュータの位置種別を決定するよう構成されたコンピュータコードデバイスと、
・前記リモートコンピュータの前記位置種別に基づいて前記少なくとも一つのクライアントポリシーのうちから所望のポリシーを選択するよう構成されたコンピュータコードデバイスと、
・前記所望のポリシーに基づいて当該コンピュータへの利用可能な接続から接続種別を選択するよう構成されたコンピュータコードデバイスと、
・前記リモートコンピュータが前記所望のポリシーに従っていることを検証するよう構成されたコンピュータコードデバイスと、
・前記クライアントを当該コンピュータに接続するよう構成されたコンピュータコードデバイス、
とを有することを特徴とするコンピュータプログラムプロダクト。
【請求項91】
コンピュータ記憶媒体と、コンピュータへの、リモートコンピュータ上で走っているクライアントによる、ネットワークを通じた、セキュリティで保護されていないアクセスを防止するための、前記コンピュータ記憶媒体に埋め込まれたコンピュータプログラムコード機構とを含むコンピュータプログラムプロダクトであって、前記コンピュータコード機構が:
・前記リモートコンピュータが当該コンピュータにアクセスした結果当該コンピュータのセキュリティが破られるという可能性を減らすような前記リモートコンピュータの構成設定を含んでいるクライアントポリシーを、前記リモートコンピュータに送信するよう構成されたコンピュータコードデバイスと、
・前記リモートコンピュータからポリシー違反のリストを受信するよう構成されたコンピュータコードデバイスと、
・前記リモートコンピュータを操作しているユーザーのアクセス権を修正するよう構成されたコンピュータコードデバイス、
とを有することを特徴とするコンピュータプログラムプロダクト。
【請求項92】
コンピュータへの、リモートコンピュータ上で走っているクライアントによる、ネットワークを通じた、セキュリティで保護されていないアクセスを防止するための装置であって:
・前記リモートコンピュータが当該コンピュータにアクセスした結果当該コンピュータのセキュリティが破られるという可能性を減らすような前記リモートコンピュータの構成設定を含んでいるクライアントポリシーを、前記リモートコンピュータ上に保存する手段と、
・当該コンピュータへのアクセスの要求をユーザーから受信する手段と、
・前記リモートコンピュータが前記クライアントポリシーに従っていることを検証する手段と、
・前記クライアントを当該コンピュータに接続する手段、
とを有することを特徴とする装置。
【請求項93】
コンピュータへの、リモートコンピュータ上で走っているクライアントによる、ネットワークを通じた、セキュリティで保護されていないアクセスを防止するため装置であって:
・前記リモートコンピュータが当該コンピュータにアクセスした結果当該コンピュータのセキュリティが破られるという可能性を減らすような前記リモートコンピュータの構成設定を含んでいるクライアントポリシーを少なくとも一つ保存する手段と、
・当該コンピュータへのアクセスの要求をユーザーから受信する手段と、
・前記リモートコンピュータの位置種別を決定する手段と、
・前記リモートコンピュータの前記位置種別に基づいて前記少なくとも一つのクライアントポリシーのうちから所望のポリシーを選択する手段と、
・前記所望のポリシーに基づいて当該コンピュータへの利用可能な接続から接続種別を選択する手段と、
・前記リモートコンピュータが前記所望のポリシーに従っていることを検証する手段と、
・前記クライアントを当該コンピュータに接続する手段、
とを有することを特徴とする装置。
【請求項94】
コンピュータへの、リモートコンピュータ上で走っているクライアントによる、ネットワークを通じた、セキュリティで保護されていないアクセスを防止するための装置であって:
・前記リモートコンピュータが当該コンピュータにアクセスした結果当該コンピュータのセキュリティが破られるという可能性を減らすような前記リモートコンピュータの構成設定を含んでいるクライアントポリシーを、前記リモートコンピュータに送信する手段と、
・前記リモートコンピュータからポリシー違反のリストを受信する手段と、
・前記リモートコンピュータを操作しているユーザーのアクセス権を修正する手段、
とを有することを特徴とする装置。
【請求項95】
コンピュータへの、リモートコンピュータ上で走っているクライアントによる、ネットワークを通じた、セキュリティで保護されていないアクセスを防止するための装置であって:
・前記リモートコンピュータが当該コンピュータにアクセスした結果当該コンピュータのセキュリティが破られるという可能性を減らすような前記リモートコンピュータの構成設定を含んでいるクライアントポリシーを、前記リモートコンピュータ上に保存するよう構成された保存機構と、
・当該コンピュータへのアクセスの要求をユーザーから受信するよう構成された入出力装置と、
・前記リモートコンピュータが前記クライアントポリシーに従っていることを検証するよう構成された検証機構を含むプロセッサ、
と有しており、前記入出力装置が前記クライアントを当該コンピュータに接続するよう構成されていることを特徴とする装置。
【請求項96】
前記検証機構が、禁止されたアプリケーションのリストに含まれるものが何も前記リモートコンピュータ上で走っていないことを検証するよう構成されていることを特徴とする、請求項95記載の装置。
【請求項97】
前記禁止されたアプリケーションのリストが:ウイルス、スパイウェア、インスタントメッセージ交換アプリケーション、ライセンスを受けていないアプリケーションおよびファイル共有アプリケーションのうちの少なくとも一つを含むことを特徴とする、請求項96記載の装置。
【請求項98】
前記検証機構が、要求されるアプリケーションのリストに含まれるすべてが前記リモートコンピュータ上で走っていることを検証するよう構成されていることを特徴とする、請求項95記載の装置。
【請求項99】
前記要求されるアプリケーションのリストが:ファイアウォール、ウイルス対策およびスパイウェア対策アプリケーションのうちの少なくとも一つを含むことを特徴とする、請求項98記載の装置。
【請求項100】
コンピュータへの、リモートコンピュータ上で走っているクライアントによる、ネットワークを通じた、セキュリティで保護されていないアクセスを防止するため装置であって:
・前記リモートコンピュータが当該コンピュータにアクセスした結果当該コンピュータのセキュリティが破られるという可能性を減らすような前記リモートコンピュータの構成設定を含んでいるクライアントポリシーを少なくとも一つ保存するよう構成された保存機構と、
・当該コンピュータへのアクセスの要求をユーザーから受信するよう構成された入出力装置と、
前記リモートコンピュータの位置種別を決定するよう構成された位置決定機構および、
前記リモートコンピュータの前記位置種別に基づいて前記少なくとも一つのクライアントポリシーのうちから所望のポリシーを選択するよう構成されたポリシー選択機構および、
前記所望のポリシーに基づいて当該コンピュータへの利用可能な接続から接続種別を選択するよう構成された接続選択機構および、
前記リモートコンピュータが前記所望のポリシーに従っていることを検証するよう構成された検証機構、
を含むプロセッサ、
とを有しており、前記入出力装置が前記クライアントを当該コンピュータに接続するよう構成されていることを特徴とする装置。
【請求項101】
前記検証機構が、禁止されたアプリケーションのリストに含まれるものが何も前記リモートコンピュータ上で走っていないことを検証するよう構成されていることを特徴とする、請求項100記載の装置。
【請求項102】
前記禁止されたアプリケーションのリストが:ウイルス、スパイウェア、インスタントメッセージ交換アプリケーション、ライセンスを受けていないアプリケーションおよびファイル共有アプリケーションのうちの少なくとも一つを含むことを特徴とする、請求項101記載の装置。
【請求項103】
前記検証機構が、要求されるアプリケーションのリストに含まれるすべてが前記リモートコンピュータ上で走っていることを検証するよう構成されていることを特徴とする、請求項100記載の装置。
【請求項104】
前記要求されるアプリケーションのリストが:ファイアウォール、ウイルス対策およびスパイウェア対策アプリケーションのうちの少なくとも一つを含むことを特徴とする、請求項103記載の装置。
【請求項105】
コンピュータへの、リモートコンピュータ上で走っているクライアントによる、ネットワークを通じた、セキュリティで保護されていないアクセスを防止するための装置であって:
・前記リモートコンピュータが当該コンピュータにアクセスした結果当該コンピュータのセキュリティが破られるという可能性を減らすような前記リモートコンピュータの構成設定を含んでいるクライアントポリシーを、前記リモートコンピュータに送信するよう構成された入出力装置であって、前記リモートコンピュータからポリシー違反のリストを受信するよう構成された入出力装置と、
・前記リモートコンピュータを操作しているユーザーのアクセス権を修正するよう構成されたアクセス制御機構を含むプロセッサ、
とを有することを特徴とする装置。
【請求項106】
前記アクセス制御機構が、前記リモートコンピュータに当該コンピュータへのアクセスを拒否するよう構成されていることを特徴とする、請求項105記載の方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6A】
【図6B】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19A】
【図19B】
【図19C】
【図2】
【図3】
【図4】
【図5】
【図6A】
【図6B】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19A】
【図19B】
【図19C】
【公表番号】特表2007−503136(P2007−503136A)
【公表日】平成19年2月15日(2007.2.15)
【国際特許分類】
【出願番号】特願2006−523381(P2006−523381)
【出願日】平成16年8月16日(2004.8.16)
【国際出願番号】PCT/US2004/026211
【国際公開番号】WO2005/020002
【国際公開日】平成17年3月3日(2005.3.3)
【出願人】(506053054)ファイバーリンク コミュニケーションズ コーポレーション (2)
【Fターム(参考)】
【公表日】平成19年2月15日(2007.2.15)
【国際特許分類】
【出願日】平成16年8月16日(2004.8.16)
【国際出願番号】PCT/US2004/026211
【国際公開番号】WO2005/020002
【国際公開日】平成17年3月3日(2005.3.3)
【出願人】(506053054)ファイバーリンク コミュニケーションズ コーポレーション (2)
【Fターム(参考)】
[ Back to top ]