(57)【要約】  クライアントとサーバシステムとの間で送信されるメッセージの発信者を識別する方法が提供される。方法は、クライアントとサーバシステムとの間で送信されるメッセージを、（例えば、メッセージの最後に）セッション識別フラグ及び／又はセッション識別子が含まれるように修正する段階（５００）を含む。方法は、メッセージの制御部分を再演算してセッション識別フラグとセッション識別子とが付加されたことを反映させる段階（５０２）、クライアントとサーバシステムとの間でメッセージを送信する段階（５０４）、セッション識別フラグについて送信メッセージを調べる段階（５０６）、送信メッセージのセッション識別子を読取ってメッセージの発信者を判断する段階（５０８）、セッション識別フラグとセッション識別子とを送信メッセージから除去する段階（５１０）、及びメッセージの制御部分を再演算してセッション識別フラグとセッション識別子とが除去されたことを反映させる段階（５１２）の１つ又は複数をオプション的に含む。
2007523401.tif 000002
【特許請求の範囲】
【請求項１】
クライアントとサーバシステムとの間で送信されるメッセージの発信者を識別する方法であって、
クライアントとサーバシステムとの間のセッション中に送信されるメッセージを、セッション識別フラグ及びサーバシステム上のセッションの発信者に対応し当該セッションの発信者がサーバシステム上の全部のセッションの発信者からユニークに識別されるようにするセッション識別子とが付加されたメッセージに修正する段階と、
クライアントとサーバシステムとの間でメッセージを送信する段階と、
セッション識別フラグについて送信メッセージを調べる段階と、
送信メッセージのセッション識別子を読取ってメッセージの発信者を判断する段階と、
を有することを特徴とする方法。
【請求項２】
前記メッセージを修正する段階は、メッセージの制御部分を再演算してセッション識別フラグとセッション識別子とが付加されたことを反映させる段階を有する、請求項１に記載の方法。
【請求項３】
セッション識別フラグとセッション識別子とを送信メッセージから除去する段階と、
メッセージの制御部分を再演算してセッション識別フラグとセッション識別子とが除去されたことを反映させる段階と、
を更に有する、請求項２に記載の方法。
【請求項４】
前記メッセージを修正する段階は、セッション識別フラグとセッション識別子とをメッセージの最後に付加することを有する、請求項１に記載の方法。
【請求項５】
前記メッセージを修正する段階は、通信毎にセッション識別子を変更する段階及び所定の間隔でセッション識別子を変更する段階の少なくとも一方を更に有する、請求項１に記載の方法。
【請求項６】
クライアント・サーバシステムにおいてクライアントとサーバとの間で送信される通信パケットの発信者を識別する方法であって、
通信パケットにセッション識別子と機密保護タグとを付加する段階であって、前記セッション識別子はクライアントとサーバシステム内のクライアントをユニークに識別するためのものであり、
機密保護タグを用いてセッション識別子を認証する段階と、
付加されたセッション識別子が認証された場合、付加されたセッション識別子に基づいて送信された通信パケットの発信者を判断する段階と、
を有することを特徴とする方法。
【請求項７】
クライアントとサーバとに共通機密保護タグを設定する段階を更に有し、
前記セッション識別子を付加する段階は、クライアントとサーバとの間で送信される通信パケットに共通機密保護タグを付加して、送信された通信パケットにおける共通機密保護タグの存在によってセッション識別子が認証されたことを示すことを含む、請求項６に記載の方法。
【請求項８】
送信された通信パケット中の付加された前記セッション識別子が認証された場合、認証済みセッション識別子を伴う送信された通信パケットに関する所定の規則に従って送信された通信パケットを処理する段階と、
送信された通信パケット中の付加された前記セッション識別子が認証されていない場合、認証済みセッション識別子を伴わない送信された通信パケットに関する所定の規則に従って送信された通信パケットを処理する段階と、
を更に有する、請求項７に記載の方法。
【請求項９】
前記通信パケットにセッション識別子と共通機密保護タグとを付加する段階は、送信対象の通信パケットの制御部分を再演算して共通機密保護タグとセッション識別子とが付加されたことを反映させる段階を有し、
共通機密保護タグとセッション識別子とを送信された通信パケットから除去する段階と、
送信された通信パケットの制御部分を再演算して共通機密保護タグとセッション識別子とが除去されたことを反映させる段階と、
を更に有する、請求項８に記載の方法。
【請求項１０】
前記セッション識別子と共通機密保護タグとを付加する段階の後に送信対象の通信パケットを暗号化する段階と、
前記送信された通信パケットの発信者を判断する段階、前記共通機密保護タグとセッション識別子とを除去する段階、及び前記送信された通信パケットの制御部分を再演算する段階の前に、送信された通信パケットを解読する段階と、
を更に有する、請求項９に記載の方法。
【請求項１１】
前記セッション識別子と共通機密保護タグとを付加する段階の前に、送信対象の通信パケットを暗号化する段階と、
前記送信された通信パケットの制御部分を再演算する段階の後に、送信された通信パケットを解読する段階と、
を更に有する、請求項９に記載の方法。
【請求項１２】
誤って認証されたセッション識別子を削減あるいは実質的に削除するために、共通機密保護タグの長さを所定の長さより大きく設定する段階を更に有する、請求項７に記載の方法。
【請求項１３】
機密保護タグの長さはおよそ8ビットから64ビットの範囲の長さに設定される、請求項１２に記載の方法。
【請求項１４】
アプリケーションプログラムを用いてクライアントとサーバシステムとの間で送信される通信パケット全部の発信者を識別する方法であって、発信者は実際のネットワークアドレスを持ち、
クライアントとサーバシステムとの間で送信される通信パケットそれぞれを、使用中のアプリケーションプログラムあるいは各通信パケットの送信中に発信者の実際のネットワークアドレスに取って代わるネットワークアドレスとしての見かけネットワークアドレスにかかわらず各通信パケットの発信者を識別するための情報が付加された通信パケットに修正する段階と、
クライアントとサーバシステムとの間で各修正済み通信パケットを送信する段階と、
発信者を識別するための情報に基づいて、各送信された通信パケットの発信者を判断する段階と、
を有することを特徴とする方法。
【請求項１５】
メッセージの発信者を識別するためのコンピュータシステムであって、
サーバと、
サーバに作動可能に接続されたクライアントと、を有し、
クライアントとサーバとは、セッション中一つ以上のメッセージを送信し合い、送信対象のメッセージはそれぞれクライアントとサーバとのどちらか一方によって修正されてセッション識別フラグとセッション識別子とが付加されたメッセージにされるように構成され、
更に、クライアントとサーバとは、
修正済みメッセージがクライアントとサーバとの内の他方へ送信され、
送信済みメッセージのセッション識別フラグがクライアントとサーバとの内の他方によって調べられて、セッション識別子が検証され、及び
セッション識別子が有効になれば、送信メッセージのセッション識別子が読取られて送信済みメッセージの発信者が判断され、セッション識別子は、サーバシステム上のセッションの発信者に対応し、セッションの発信者がサーバシステム上の複数のセッションの発信者からユニークに識別されるように構成される、
ことを特徴とするコンピュータシステム。
【請求項１６】
クライアントとサーバとの間に作動可能に配置され、サーバがクライアントから遠隔的にアクセス可能なようにサーバへのアクセスを可能にするネットワークゲートウェイを更に有する、請求項１５に記載のコンピュータシステム。
【請求項１７】
前記ネットワークゲートウェイの一方の側に配置されて、送信対象のメッセージを暗号化する暗号化部を更に有する、請求項１６に記載のコンピュータシステム。
【請求項１８】
ネットワークゲートウェイの別の側に配置されて送信メッセージを解読する解読部を更に有する、請求項１７に記載のコンピュータシステム。
【請求項１９】
送信対象のメッセージが前記暗号化部によって暗号化されてその後修正され、さらに、送信メッセージが読取られてその後前記解読部によって解読されるか、または、送信対象のメッセージが修正されてその後前記暗号化部によって暗号化され、さらに、送信メッセージが前記解読部によって解読されその後読取られるかの何れか一方が行われるように、メッセージは連続的に処理される、請求項１８に記載のコンピュータシステム。
【請求項２０】
前記ネットワークゲートウェイは、ユーザ識別子を調べることによってセッション識別子を検証するためのデータベースを含み、セッション識別子が有効ではない場合、コンピュータシステムはユーザがサーバにアクセスする前にログインするよう促し、セッション識別子が有効ならば、コンピュータシステムは対応するユーザ識別子を検索し、サーバは送信メッセージを処理する、請求項１６に記載のコンピュータシステム。
【請求項２１】
少なくともクライアントとサーバとで構成されるコンピュータシステムに、クライアントとサーバとの間で送信されるメッセージの発信者を識別する方法を実行させるコンピュータプログラム命令を有するコンピュータで読取り可能な媒体であって、前記方法は、
クライアントとサーバとの間のセッション中に送信されるメッセージを、セッション識別フラグとセッション識別子とが付加されたメッセージに修正する段階であって、セッション識別子はサーバシステム上のセッションの発信者に対応し、当該セッションの発信者がサーバシステム上の複数のセッションの発信者からユニークに識別されるように割り当てられており、
メッセージの制御部分を再演算して、セッション識別フラグとセッション識別子とが付加されたことを反映させる段階と、
クライアントとサーバとの間でメッセージを送信する段階と、
セッション識別フラグについて送信メッセージを調べる段階と、
送信メッセージのセッション識別子を読取ってメッセージの発信者を判断する段階と、
セッション識別フラグとセッション識別子とを送信メッセージから除去する段階と、
メッセージの制御部分を再演算して、セッション識別フラグとセッション識別子とが除去されたことを反映させる段階と、
を有することを特徴とするコンピュータで読取り可能な媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータシステムの機密保護に関し、より具体的には、コンピュータトランザクションの発信者の識別に関する。
【背景技術】
【０００２】
LANやWANやインターネットなどのネットワークと介してアクセス可能なコンピュータシステムリソースのアクセス可能性を制御することが望まれる。最近、悪意のこもった侵入の多発でアクセス制御の改良に対する要望が強くなってきたのに伴い、機密保護やアクセスについての懸念が増幅した。更に、サイバーテロの脅威に関する認識が高まり、現存する脆弱性を低減したいという要望がかつて無いほど強くなっている。
【０００３】
ネットワークリソースへのアクセスを規制する鍵は、同定された多数のユーザを識別する機能である。従来の方法では、識別されたユーザ人ひとりのセッション識別子を作成する。クライアント・サーバアプリケーション次第では、クライアントとサーバとの間を行ったり来たりするクライアント・サーバアプリケーションデータにセッション識別子を埋込むことも可能である。クッキーがウェブブラウザに埋込まれているのが一つの例である。しかし、セッション識別子を処理するように構成されておらず、セッション識別子を実際に収容するように作成されていないアプリケーションは多い。このようなアプリケーションの場合、現在のところ、クライアントのネットワークアドレスからセッション識別子を得て使用している。また、ネットワークアドレスはネットワークゲートウェイによって無視されることが多く、そのため、識別情報の信頼性も実質的に低下する。
【０００４】
図１は、共通ゲートウェイ40（すなわち、192.168.1.1）を介してネットワークと通信するユーザ数人（すなわち、ネットワークアドレス192.168.10.10、192.168.10.11及び192.168.10.12と持つ第１ユーザ、第２ユーザ及び第３ユーザ）を示すブロック図である。ゲートウェイ40が、ユーザ10とユーザ20とユーザ30とのネットワークアドレス192.168.10.10、192.168.10.11及び192.168.10.12とに自身のネットワークアドレス192.168.1.1を上書きするので、サーバ50（すなわち、ネットワークアドレス192.168.1.13をもつ）は、ゲートウェイ40を介して入ってくる全てのユーザ10と20と30を同一のネットワークアドレス（すなわち、192.168.1.1）を持っていると見なす。
【０００５】
セッション識別子をクライアント・サーバアプリケーションに乗せるのが不可能あるいは非現実的な構成の場合、上記の欠点のうちの少なくとも一つを克服できるような、コンピュータトランザクションの発信者を同定する方法を提供することが求められる。
【発明の開示】
【０００６】
本発明に係る例示的実施形態によれば、クライアントとサーバ装置との間で送信されるメッセージの発信者を識別する方法が提供される。本方法は、クライアントとサーバ装置との間で送信されるメッセージを修正して、セッション識別フラグおよび／あるいはセッション識別子とが（例えば、メッセージの最後に）付加されたメッセージとすること、メッセージをクライアントとサーバ装置との間で送信すること、セッション識別フラグについて送信メッセージを調べること、送信メッセージのセッション識別子を読取ってメッセージの発信者を判断すること、を含む。
【０００７】
本方法は、選択的に、送信メッセージからセッション識別フラグとセッション識別子とを除去する段階と、メッセージの制御部分を再演算してセッション識別フラグとセッション識別名との除去を反映させる段階とのうちの一つ以上を含む。
【０００８】
本発明に係る他の例示的実施形態によれば、クライアントとサーバ装置との間で送信されるメッセージの発信者を識別する方法が提供される。本方法は、クライアントとサーバシステムとに共通機密保護識別子を設定すること、クライアントとサーバシステムとの間で送信されるメッセージを修正して、セッション識別子と共通機密保護識別子とが付加されたメッセージとすることであって、共通機密保護識別子の存在でセッション識別子が修正済みメッセージに埋め込まれていることを示すこと、クライアントとサーバシステムとの間で修正済みメッセージを送信すること、送信メッセージ内の共通機密保護識別子を比較してセッション識別子を検証すること、埋め込まれた機密保護識別子が有効にされれば、埋め込まれたセッション識別子に基づいて送信メッセージの発信者を判断し、セッション識別子が埋め込まれた送信メッセージに関する所定の規則に従って送信メッセージを処理すること、を含む。
【０００９】
本発明に係る更に他の例示的実施形態によれば、アプリケーションプログラムを用いてクライアントとサーバシステムとの間で送信される通信パケット全部の発信者を識別する方法が提供される。本方法は、クライアントとサーバシステムとの間で送信される各通信パケットを修正して、使用アプリケーションプログラムや発信者の見かけネットワークアドレスに係わりなく、各通信パケットの発信者を識別するための情報が付加された通信パケットとすること、クライアントとサーバシステムとの間で各修正済み通信パケットを送信すること、発信者を識別するための情報に基づいて送信された各通信パケットの発信者を判断すること、を含む。
【００１０】
本発明に係る更に他の例示的実施形態によれば、メッセージの発信者を識別するためのコンピュータシステムが提供される。本コンピュータシステムは、サーバと、サーバに作動可能に接続されるクライアントとで構成される。クライアントとサーバとは互いに一つ以上のメッセージを送信し合う。メッセージはそれぞれ、クライアントとサーバとのどちらか一方によって修正され、セッション識別フラグとセッション識別子とが付加されたメッセージとされる。修正済みメッセージは、クライアントとサーバとの他方へ送信される。そして、送信メッセージのセッション識別フラグがクライアントとサーバとの他方によって調べられて、セッション識別子が検証される。セッション識別子が有効にされれば、送信メッセージのセッション識別子が読取られて送信メッセージの発信者が判断される。
【００１１】
本発明に係る更に他の例示的実施形態によれば、少なくともクライアントとサーバとで構成されるコンピュータシステムに、クライアントとサーバとの間で送信されるメッセージの発信者を識別する方法を実施させるためのコンピュータプログラム命令で構成されるコンピュータで読取り可能な媒体が提供される。ここで本方法は、クライアントとサーバとの間で送信されるメッセージを修正して、セッション識別フラグとセッション識別子とが付加されたメッセージとすること、メッセージの制御部分を再演算してメッセージの最後にセッション識別フラグとセッション識別子とが付加されたことを反映させること、クライアントとサーバとの間でメッセージを送信すること、セッション識別フラグについて送信メッセージを調べること、送信メッセージのセッション識別子を読取ってメッセージの発信者を判断すること、セッション識別フラグとセッション識別子とを送信メッセージから除去すること、メッセージの制御部分を再演算して、セッション識別フラグとセッション識別子とが除去されたことを反映させること、を含む。
【発明を実施するための最良の形態】
【００１２】
〔関連事例の相互参照〕
本PCT出願は、2003年12月31日付で米国特許商標庁に提出され、その内容が本書において引用される米国仮出願第60/533,769号の恩恵を享受する。
【００１３】
図面を参照して本発明に係る選択された実施形態の好ましい特徴について以下に述べる。本発明の精神と範囲とは説明のために選択された実施形態には限定されるものではない。以下に述べる実施形態の何れかは本発明の範囲内で修正されうるものである。
【００１４】
本発明はコンピュータシステムの機密保護に係わる。「コンピュータ機密保護システム」と題され2003年4月25日に提出された米国特許出願第10/423,444号も、コンピュータシステムの機密保護に係わり本明細書において引用される。「コンピュータ機密保護システム」と題され2004年12月15日に提出されたPCT国際出願（代理人整理番号第SYNC‐101WO）も、コンピュータシステムの機密保護に係わり本明細書において引用される。「コンピュータネットワーク資源へのアクセスを行う代理人を任命する方法とシステム」と題され同時に提出されたPCT国際出願（代理人整理番号第SYNC‐102WO）も、コンピュータシステムの機密保護に係わり本明細書において引用される。
【００１５】
概して、本発明に係る例示的な実施形態は、使用アプリケーションやユーザの見かけネットワークアドレス（すなわち、ネットワークゲートウェイなどのネットワーク装置によって上書きされる可能性のあるネットワークアドレス）に係わりなく、ユニークなセッション識別子でユーザ一人、数人あるいは全員を同定できる機密保護システムに係わる。真のネットワークアドレスを覆い隠す共通ネットワークゲートウェイを通過するユーザ通信は、ユニークなセッション識別子で区別される。セッション識別子は、サーバセッションの開始時にユーザあるいはクライアントに割当てられる。これによって、ユーザあるいはクライアントは、サーバの現在のユーザあるいはクライアント全員の中からユニークに同定される。好しくは、クライアントＩＰアドレスを使用してセッション識別子を生成する。更に、セッション識別子は、例えば当該セッションの終了で失効する。
【００１６】
本発明に係る特定の例示的実施形態においては、ネットワークプロトコルを修正する方法であって、演算が簡単で、現存のネットワークプロトコルとの互換性があり現存のネットワークプロトコル上で拡張でき、様々な暗号化方法とも互換性がある方法が提供される。例えば、本方法は選択的にユーザを同定することと対応するセッション識別子を作成することとで構成される。セッション識別子は、通信毎に変更されるか、所定の間隔で変更されるか、あるいは、ユーザ毎に一定である。
【００１７】
通信あるいはメッセージがクライアントからサーバへ送信される場合、メッセージはクライアント側（すなわち、クライアントにおいて、あるいはクライアントのネットワークゲートウェイ側で）で修正されて、メッセージの最後にセッション識別フラグとセッション識別子とが付加される。メッセージの制御部分は、クライアント側で再演算されて、メッセージの最後にセッション識別フラグとセッション識別子とが付加されたことが考慮される。
【００１８】
サーバへの送信後、メッセージはセッション識別フラグについてサーバ側で（すなわち、サーバにおいて、あるいはサーバのネットワークゲートウェイ側で）調べられる。セッション識別フラグが存在する場合、セッション識別子はサーバ側で読取られる。セッション識別フラグが存在する場合、セッション識別フラグとセッション識別子とがサーバ側で除去される。メッセージの制御部分は再演算されて、セッション識別フラグとセッション識別子とが除去されたことが考慮される。
【００１９】
言うまでも無く、上記の処理は、サーバ側からクライアント側へのメッセージにも適用される。更に、一方の側（すなわち、クライアント側かサーバ側）に関して述べた特定の処理については、必要ならば、別の側で実行してもよい。
【００２０】
他の実施形態においては、サーバとクライアントとに上記の方法を実施させるコンピュータプログラム命令で構成されるクライアント・サーバアルゴリズムが、コンピュータ読取り可能媒体で提供される。
【００２１】
本書において開示される様々な例示的実施形態を通して、情報の機密保護を行う機密保護システムが提供される。更に、情報へのアクセスを提供する方法、情報へのアクセスを規制する方法、機密保護システムを使用する方法も開示される。開示の発明は、好ましい実施形態によれば、ネットワークへの接続により遠隔地からアクセスされるネットワーク環境の機密保護に最適である。ただし、別の用途も同様に意図される。
【００２２】
本発明に係る特定の例示的実施形態によれば、メッセージは、外部発信源（例えばユーザ）から機密保護システムへ送信される。メッセージにセッション識別子が埋め込まれているかどうかが判断される。メッセージにセッション識別子が埋め込まれている場合、識別子を用いてメッセージを処理する方法を判断する。セッション識別子をメッセージから取り除き、メッセージを元の修正されていない形態に再パッケージ化して適宜通過させる。メッセージにセッション識別子が埋め込まれていない場合、そのメッセージは拒絶されるか、あるいは、セッション識別子が埋め込まれていないメッセージに関する規則に従って処理される。
【００２３】
機密保護システムの一部として使用される本発明に係る特定の例示的実施形態によれば、セッション識別子が埋め込まれることによって、使用アプリケーションの如何に係わらずネットワークの遠隔ユーザに対するネットワークリソースの可視性を確実に制御できる。例えば、ユーザのネットワークアドレスではなく埋め込まれたセッション識別子からユーザ識別子を判断するようにネットワークを構成することも可能である。ネットワークアドレス変換とネットワークゲートウェイとの拡張的な使用によって、ネットワークアドレスに任意性をもたせることができる。しかし、特定の例示的実施形態に係わる機密保護システムは、遠隔地からアクセスされるネットワークを覆う傘のような働きをし（すなわち、無許可のユーザを除外する働きをし）、見かけのネットワークアドレスではなくユニークなセッション識別子によってユーザを同定できる。
【００２４】
本発明に係る一つの例示的実施形態によれば、保護されたネットワークへの接続は全部機密保護システムを通過させるが、少なくとも保護されたネットワークへの選択的接続だけは機密保護システムを通過させないことも考えられる。ユーザが認証されると、セッション識別子が作成されて、本発明の一つに具体的実施例に従ってユーザへのメッセージあるいはユーザからのメッセージ全部に埋め込まれる。機密保護システムは、セッション識別子について着信メッセージ全部を調べる。メッセージにセッション識別名が埋め込まれている場合、そのメッセージは読取られる。セッション識別子が有効な場合、メッセージは、元の修正前の形式に再パッケージ化されて、当該セッション識別子に対応するユーザに関する規則に従って処理される。セッション識別子が有効でない場合、メッセージは破棄される。メッセージにセッション識別子が埋め込まれていない場合、当該メッセージは二通りの方法のどちらかに従って処理される。すなわち、破棄されるか、あるいは、セッション識別名が埋め込まれていないメッセージに関する規則に従って処理される。
【００２５】
特定の例示的実施形態においては、ユーザとネットワークとの間の通信全部が暗号化されて、他の認証されたユーザおよび認証されていないユーザ（インターネットを介して接続されたユーザも含む）からの通信が隠蔽される。このように、セッション識別修正は、暗号化の後か前に実行される。修正が暗号化の後に実行される場合、セッション識別が読取られ、メッセージは解読される前に再パッケージ化される。修正が暗号化の前に実行される場合、メッセージは、セッション識別が読取られる前に解読されて、再パッケージ化される。すなわち、暗号化部をネットワークケーとウェイの一方の側に配置して送信対象メッセージを暗号化する。また、解読部をネットワークゲートウェイの他方の側に配置して送信メッセージを解読する。暗号化部および／あるいは解読部は、例えば、クライアントとサーバシステムとに、あるいは、ネットワークのクライアント側とサーバ側とに設置される。
【００２６】
タイムアウト機能も設置される。これによって、所定の不活性期間の満了に基づいてセッション（およびセッションＩＤ）を終了させる時期かどうかを判断する。ユーザのセッション中、不活性期間あるいはタイムアウト期間を絶えず更新する。タイムアウト期間はネットワーク内のリソースによって設定される。ユーザが所定のタイムアウト期間内に処理あるいは対話を行わない場合、ネットワーク内の上記のリソースからセッションを削除することによって、セッションを終了させる。これによって、意味のある情報がユーザのコンピュータに格納されないので、高水準の機密保護が維持される。更に、ユーザのコンピュータに誰かがアクセスしても、タイムアウト期間の満了後、ユーザのコンピュータのファイル（例えば、クッキー）に格納される情報はもはや有効ではない。
【００２７】
本発明に係る特定の実施形態では、ユーザのログイン後、ユーザが、どのリソースにアクセスできるかを判断するためにシステム内を移動する度に、多数の検査が行われる。例えば、機密保護システムは、当該システムにアクセスするユーザが本人であるかどうかを判断する。セッションは、ネットワーク上のユーザＩＤデータベースに照らし合わせてユーザＩＤを調べることによって検証される。セッションＩＤが無効の場合、セッションは無効で、ユーザはシステムにアクセスする前にログインするよう促される。セッションＩＤが有効ならば、システムは、対応するユーザＩＤを検索し、立証済みの情報の表示を終了させるために必要な処理を実行し続ける。
【００２８】
様々な例示的実施形態全てにおいて、遠隔サーバのリソース（例えばアプリケーション）にアクセスする処理は、ユーザが機密保護システムにログインすることから（例えば、機密保護システムに直接にユーザをログインさせるソフトウェア上の単一の記号を使ってログインする）始まる。一旦ログインすると、セッション識別子が作成されユーザとネットワークとの間の通信全部に埋め込まれる。ユーザは、アプリケーションサーバに収容されたアプリケーションに接続するクライアントアプリケーションを実行し、クライアントアプリケーションがアプリケーションサーバのアドレスで事前に構成された場合にはオブジェクトを調べる。クライアントアプリケーションがアプリケーションサーバのアドレスで事前に構成されたのではなければ、ユーザは、アプリケーションサーバへのシングル・ユース（single use）リンクを提供するユニークなトークンが与えられる。トークンにはアプリケーションサーバへ接続するのに必要な情報が含まれるか、あるいは、トークンでアプリケーションサーバへ接続するのに必要な情報が検索される。クライアントアプリケーションは、アプリケーションサーバに接続する。アプリケーションサーバは、ユーザに対して承認されたオブジェクトとアプリケーション全部を表示する。
【００２９】
本書で説明される図形はネットワークプロトコルに対する修正を図解し、また図形に共通プログラミング言語が利用されることもある。本機密保護システムは、遠隔地のアプリケーションやソフトウェアやコンテンツ全部への心配の無いアクセスを提供しようとするものである。本機密保護システムは、また、遠隔地のユーザの装置にサービスをインストールすることに係わる実施例を提供するものである。
【００３０】
本発明の機密保護システムは、多数の媒体で実現される。例えば、本システムは現存のコンピュータシステムあるいはサーバにソフトウェアとしてインストールされる。更に、本システムは、別のコンピュータシステム（例えばアプリケーションサーバ）と別のコンピュータシステムへのアクセスポイントとの間に設置される独立型コンピュータシステム（例えば機密保護サーバ）上で動作する。更に、本システムは、本機密保護システムに係わるコンピュータ命令（例えばコンピュータプログラム命令）で構成されるコンピュータで読取り可能な媒体（例えば、固体記憶装置、光学ディスク、磁気ディスク、ラジオ周波数搬送波、可聴周波数搬送波など）で動作する。
【００３１】
図面に示すために選択された例示的実施形態によれば、本発明は、クライアントとサーバとの間を行き来するメッセージにセッション識別子を埋め込むための現存のネットワークプロトコルの修正に係わる。図２は、コンピュータネットワークを介して送信される典型的なメッセージ200を示す。メッセージ200は制御部分210とペイロード部分220とで構成される。制御部分210は、メッセージ200が適当なネットワーク位置にルーティングされその適当なネットワーク位置で受信されるようにする情報で構成される（例えば、発送情報とハードウェアアドレスデータなどの別の制御情報）。ペイロード部分220は実際の通信対象データで構成される。
【００３２】
ネットワークプロトコル修正処理はクライアント処理とサーバ処理とで構成される。メッセージがクライアントによってサーバへ送信されると、クライアント処理として三段階で修正が行われる。第一段階では、メッセージにセッション識別子が埋め込まれていることを示すフラグをメッセージ（メッセージの最後に）に付加する。第二段階では、メッセージにセッション識別子を付加する（フラグの後などに）。最後に、第三段階では、第一と第二段階においてメッセージに付加されたデータを考慮してメッセージの制御部分を再演算する。修正済みネットワークプロトコルで構成されるメッセージは、図１に示すもののようなコンピュータシステム（例えばネットワーク）を介して通信される。すなわち、コンピュータシステム（図１参照）は、サーバと、一つ以上のメッセージを送信し合うために作動可能にサーバに接続されたクライアントとで構成される。送信対象のメッセージはそれぞれ、クライアントとサーバとのどちらか一方によって修正されて、セッション識別フラグ（機密保護識別子あるいはタグ）とセッション識別子とが付加されたメッセージとされる。修正済みのメッセージは、クライアントとサーバとの内の他方へ送信される。そして、送信メッセージのセッション識別フラグがクライアントとサーバとの内の他方によって調べられて、セッション識別子が検証される。更に、セッション識別名が有効にされれば、送信メッセージのセッション識別子が読取られて送信メッセージの発信者が判断される。
【００３３】
コンピュータシステムは、更に、クライアントとサーバとの間に作動可能に配置されサーバへのアクセスを可能にするネットワークゲートウェイで構成される。サーバは遠隔地からクライアントがアクセス可能である。更に、ネットワークゲートウェイは、ユーザ識別子を調べることによってセッション識別子を検証するためのデータベースで構成される。セッション識別子が有効ではない場合、コンピュータシステムは、ユーザがサーバにアクセスする前にログインするよう促す。あるいは、セッション識別子が有効ならば、コンピュータシステムは対応のユーザ識別子を検索する。また、サーバは送信メッセージを処理する。
【００３４】
図３は、ネットワークプロトコル修正処理後の図２のメッセージ300を示す。フラグ310が元のメッセージの最後に付加された。セッション識別子320はフラグ310の後に付加された。メッセージ300の制御部分330は、付加されたフラグ310とセッション識別子320とを考慮して変更された。例えば、制御部分330は、データ部分の長さに関するデータあるいはチェックサム計算に関するデータで構成される。データ部分の長さを増やすことによって（セッション識別子とフラグとを付加することによって）、制御部分330の数値は影響をうけそれなりに再演算される。
【００３５】
図４は、サーバがメッセージを読取る例示的方法を示す流れ図である。サーバは、望ましくは、受信したメッセージを全て分析する。通信パケットがサーバに受信されると、ステップ1で、メッセージの最後からセッション識別子の長さ分戻ることによって、メッセージに識別子が埋め込まれていることを示すフラグが付加されているかどうかを判断する。例えば、この長さは検討して決められる（例えば予め決められる）。サーバはこの長さについて知っていることが望ましい。ステップ1の後、ステップ2で、フラグの長さ分だけ戻ってデータを読取る。ステップ2の後、ステップ3で、データがセッション識別フラグに整合するかどうかが判断される。フラグが整合しない場合、メッセージはプロトコルに従って修正されていないので、ステップ4へ進む。ステップ4では、メッセージはそのまま処理される。フラグがセッション識別フラグに整合する場合、メッセージはプロトコルに基づいて修正されているので、ステップ5へ進む。ステップ5では、メッセージの最後（すなわち、セッション識別子）を読取る。ステップ5の後、ステップ6で、フラグとセッション識別子とをメッセージの最後から除去する。ステップ6の後、ステップ7で、フラグとセッション識別子とがメッセージの最後から除去されたことを考慮にいれるためにメッセージの制御部分を再演算する。ステップ7の後、ステップ8で、メッセージとセッション識別子とを処理する。
【００３６】
図５は、本発明に係る例示的実施形態におけるクライアントとサーバシステムとの間で送信されるメッセージの発信者を識別する方法を示す流れ図である。ステップ500で、クライアントとサーバシステムとの間で送信されるメッセージを修正して、メッセージの最後にセッション識別フラグとセッション識別子とが付加されたメッセージにする。ステップ502で、メッセージの制御部分を再演算して、メッセージの最後にセッション識別フラグとセッション識別子とが付加されたことを反映させる。ステップ504で、クライアントとサーバシステムとの間でメッセージが送信される。ステップ506で、セッション識別フラグについて送信メッセージを調べる。すなわち、送信メッセージからのセッション識別フラグと設定値とを比較して、セッション識別子を検証する。ステップ508で、送信メッセージのセッション識別子を読取ってメッセージの発信者を判断する。ステップ510で、セッション識別フラグとセッション識別子とを送信メッセージから除去する。ステップ512で、メッセージの制御部分を再演算してセッション識別フラグとセッション識別子とが除去されたことを反映させる。
【００３７】
特定の状況においては、未修正メッセージ中のデータがセッション識別フラグに整合する可能性もある。メッセージ中のデータはランダムであるので、可能性はフラグの長さで決まる。セッション識別フラグの長さが8ビットである場合、無作為整合の可能性は28回に1回すなわち256回に1回の割合である。この場合、間違ったセッション識別子が使用中の実際のセッション識別子に整合する可能性を算出する。セッション識別子の長さが符号の無い長い整数の長さに匹敵するのであれば、典型的なシステムでは、長さは8バイトとなる。この場合、セッション識別子の個数はおよそ1.8×1019個となる。この種のシステムが10,000個もの活性セッションを収容すると仮定すると、間違ったセッション識別子が活性セッションと整合する可能性は1.8×1014回に1回に過ぎない。このように、メッセージが間違って処理される可能性は、およそ4.0×1016回に1回に過ぎない。しかし、セッション識別子を間違って抽出するのに余分な作業が行われる可能性は、256回に1回である。
【００３８】
このように、メッセージを間違って処理して実行される作業量を減らす可能性を低下させるのに有効な方法は、セッション識別フラグの長さを増加させることである。セッション識別フラグの長さが整数の長さに匹敵する場合（たいていのシステムで長さは4バイトか32ビットである）、無作為整合の可能性は232回に1回すなわちおよそ40億回に1回である。
【００３９】
機密保護システムと本書で開示されるネットワークプロトコルにセッション識別子を埋め込む方法とは、金融サービス、水平無線ＬＡＮ（例えば、無線営業力自動化および請負業者サービス）および銀行業や健康管理などの行政で規制された市場など多くの市場で様々な用途に適用される。しかも、これらの具体的な用途は一例であって、本発明はそれらに限定されない。
【００４０】
本発明について、コンピュータシステム（例えばアプリケーションサーバ）上のリソースあるいはアプリケーションへの接続やそれとのメッセージの通信を試みるユーザに識別データを与えることに関して主に説明したが、本発明はそれに限定されない。例えば、本発明は、ソフトウェア、記憶装置にソフトウェアを備えた機械（例えば、コンピュータシステムやマイクロプロセッサ基盤の装置など）、あるいは、保護方法を実行するよう構成されたコンピュータで読取り可能な媒体（例えば、内臓型シリコン素子、固体記憶装置、光学ディスク、磁気ディスク、ラジオ周波数搬送波、可聴周波数搬送波など）において具現化される。
【００４１】
本発明について主としてクライアントとサーバとの間で送信されるメッセージに関して説明してきたが、本発明はそれに限定されない。本書に開示された識別方法は、多くのコンピュータアプリケーションに対してなされる通信に適用され、サーバアプリケーションに限定されない。
【００４２】
本書で使用されたメッセージや通信といった用語は、コンピュータシステム間あるいはその一部の間で実行される広い意味での送信に該当し、例えば、問合せ、データ更新、データ編集、データ要求などに該当する。
【００４３】
本発明について特定の実施例に関連付けて図示し説明したが、本発明は図示の詳細には限定されない。むしろ、請求の範囲と同等の範囲内で本発明から逸脱しない範囲で様々に修正可能である。
【図面の簡単な説明】
【００４４】
【図１】共通ネットワークゲートウェイを介しての３ユーザからのサーバシステムへの通信を示すブロック図である。
【図２】典型的なコンピュータネットワークプロトコルに基づくメッセージの内容を示すブロック図である。
【図３】本発明に係る例示的実施形態における修正される図２のメッセージを示す。
【図４】本発明に係る例示的実施形態におけるサーバによるメッセージの読取り方法を示す流れ図である。
【図５】本発明に係る例示的実施形態におけるクライアントとサーバとの間で送信されるメッセージの発信者を識別する方法を示す流れ図である。
【図１】
2007523401.tif 000003
【図２】
2007523401.tif 000004
【図３】
2007523401.tif 000005
【図４】
2007523401.tif 000006
【図５】
2007523401.tif 000007
【国際調査報告】
2007523401.tif 000008
2007523401.tif 000009
2007523401.tif 000010