【課題を解決するための手段】
【0006】
この目的は、請求項1に記載の特徴を有するサーバシステムによって解決される。
【0007】
前述のようなサーバシステムはサーバ保護システムを持ち、このサーバ保護システムは、認証手段による認証に成功した後に、ユーザコンピュータ特有の追加識別データと、サーバ上に事前に記憶された識別データとを比較し、ユーザコンピュータ特有の識別データの比較に応じて、ユーザコンピュータに、少なくとも1つのサービスを受けることを許可するように設計される。
【0008】
また、この目的は、サーバシステムを介したサービスの提供方法によっても解決され、この方法では、ユーザはサーバによって提供されるサービスへのアクセス権を取得するために、ユーザコンピュータを介してサーバに接続し、サーバは認証のためにユーザの個人識別データを要求し、認証に成功した場合に、サーバはユーザコンピュータにアクセスを許可する。これにより、認証に成功した後で、ユーザコンピュータ特有の追加識別データと事前にサーバ上に記憶された識別データとが比較され、そのユーザコンピュータ特有の識別データの比較に応じて、ユーザコンピュータに、少なくとも1つのサービスを受けることが許可される。
【0009】
本発明では、個人識別データの証明として、ユーザコンピュータ特有の追加識別データの認証を要求し、そのユーザコンピュータ特有の追加識別データの証明に応じて、サーバからサービスへのアクセスが許可されるという基本的な考えに基づいている。ユーザの個人識別データとして、ユーザの名前およびパスワードを使用することができる。一方、ユーザコンピュータ特有の追加識別データとして、例えば、ユーザの追加個人データ、ユーザコンピュータのネットワークアドレス、ユーザコンピュータの所定のアプリケーションプログラムの識別および/または所定の時間窓を使用することができる。ユーザの個人識別データはユーザ自身に由来するものであり、一方で、ユーザコンピュータ特有の追加識別データはユーザ自身に由来するもの、あるいはユーザコンピュータに直接由来するものである。
【0010】
ユーザコンピュータ特有の識別データがユーザの追加の個人情報である場合、サーバ保護システムは、ユーザに、追加の個人情報、例えばユーザの誕生日や、ユーザの住所などを入力するよう要求し、ユーザは、このユーザコンピュータ特有の識別データをユーザのコンピュータを介してサーバに転送する。
【0011】
他方、ユーザコンピュータ特有の追加識別データがユーザコンピュータのネットワークアドレスである場合、サーバは、これらのデータを、いわゆるMACアドレスまたはIPアドレスとして、(接続プロトコルのいわゆる「ハンドシェーク」から)サーバへの接続時に自動的に直接ユーザコンピュータから取得する。
【0012】
ユーザコンピュータ特有の追加識別データがアプリケーションプログラムの識別である場合、例えば、アプリケーションプログラムの名前あるいはアプリケーションプログラムの名前とパスワードといった識別が、アプリケーションプログラムからサーバに直接転送される。
【0013】
ユーザコンピュータ特有の追加識別データが事前に記述された所定の時間窓の順守である場合、ユーザは、所定の時間窓以内に限ってアクセスすることができ、サーバは、内部時間によってその時間窓の順守を監視する。
【0014】
また、ユーザコンピュータ特有の追加識別データは、ユーザまたはユーザグループに対して個別に用意することもできる。
【0015】
したがって、ユーザからのサービスへのアクセスが許可されるのは、ユーザの個人識別データによって認証された後、別のステップにおいて、ユーザコンピュータ特有の追加識別データが証明された場合に限られる。したがって、サービスへのアクセスが許可されるまでの処理は、2つのステップに分けられる。第1のステップでは、いわゆる弱い認証が行われ、個人識別データ、例えばユーザのユーザ名とパスワードだけが要求される。この第1の認証に成功した場合、第2のステップで、ユーザコンピュータ特有の追加識別データの証明が行われる。例えば、ユーザがサーバへのアクセスを試みる時に使用されるユーザコンピュータのネットワークアドレス(MACアドレスまたはIPアドレス)と、サーバ上に事前に記憶されたネットワークアドレスとが一致するかどうかの証明が行われる。これが該当する場合には、ユーザに、所望のサービスへのアクセスが許可される。言い換えると、この場合、ユーザは、特定のネットワークアドレスを有する所定のユーザコンピュータからのサーバへのアクセスだけが許可される。同様に、例えば、特定のアプリケーションプログラムだけを介して、あるいは特定の時間窓以内に限ってユーザアクセスを許可するには、ユーザの更なる個人情報、ユーザアプリケーションプログラムの識別、または時間窓を、ユーザコンピュータ特有の追加識別データとして要求することもできる。
【0016】
少なくとも1つのサービスを受けられる権限が、ユーザコンピュータ特有の識別データの証明に応じて、ユーザに許可される。その証明の結果に応じて、異なる対応が取られる。
【0017】
考えられる例として、証明に成功した場合、すなわち、ユーザコンピュータ特有の追加識別データとサーバ上に事前に記憶された識別データとが整合する場合のみ、ユーザにサービスへのアクセスが許可される。
【0018】
あるいは、アクセスが許可されるものの、ユーザには別の(偽の)サービスが提供されることも考えられる。これを「ハニーポット(honey pot)」ともいう。
【0019】
第3の変形例として考えられるのは、ユーザコンピュータ特有の追加識別データ認証のモニタリングに失敗したとしても、アクセスを許可し、正しいサービスが提供される。しかしながら、そのユーザは特定の監督下に置かれる。
【0020】
第4の変形例として考えられるのは、認証に失敗した場合に、アクセスはまだ許可されないが、代わりに、ユーザコンピュータ特有の識別データが、追加認証のために更に要求される。この追加認証ステップにも失敗した場合に限り、アクセスが最終的に拒絶される。
【0021】
前述の対応に加えて、サーバは、正しく認証されないユーザがサーバへアクセスしようと試みている事を、例えばシステム管理者またはその他所定の場所に知らせるという対応を取ることもできる。
【0022】
サーバは、例えば、所定のデータを提供するデータベースサーバとして設計される。基本的に、ここで述べられているサーバ保護システムは、サービスを提供し、データネットワークを介してユーザコンピュータ(クライアント)からアクセスされ得る、あらゆるサーバシステムにおいて使用することができる。
【0023】
好ましい実施形態として、少なくとも1つのサービスを受ける許可は、サーバからユーザコンピュータへの接続を遮断した後に削除される。これは、提供された接続がその接続を終了した後で完全に取り除かれ、新たに接続する場合には、第1のステップにおけるユーザの個人識別データの要求と、第2のステップにおけるユーザコンピュータ特有の追加識別データの要求または証明を伴う完全な認証が再度行われるというものである。
【0024】
サーバは、ユーザコンピュータ特有の識別データを、出来れば検出段階において、認識し、それらのデータをレジストリに記憶する。サーバ上のサーバ保護システムの初期設定の後、最初に検出段階が行われる。検出段階では、ユーザからのユーザコンピュータ特有の識別データ、例えば、ユーザがサーバにログオンする時に使用されるユーザコンピュータのネットワークアドレスが判定され、記憶される。よって、サーバ保護システムの検出段階も、サーバがバックグラウンドで実際に行っている動作と共に処理され、例えば、ユーザコンピュータ特有の識別データを、事前に記録されたデータから読み出すこともできる。
【0025】
更に、検出段階では、レジストリに記憶された識別データとユーザコンピュータ特有の識別データとが不整合である場合にどのように応答すべきか、調整することで決定することもできる。
【0026】
検出段階を終了した後に、前述のように通常の動作段階が実行され、検出段階で記憶されたユーザコンピュータ特有の追加識別データが、所望のサービスを受けるアクセス許可のために証明され、この証明の結果に応じてアクセスが許可される。
【0027】
また、好ましい実施形態として、サーバには、ユーザコンピュータ上の特定のアプリケーションプログラムを介して排他的にアクセスすることができ、その場合、サーバへの接続は、ユーザコンピュータ上のアプリケーションプログラムを介して提供されなければならない。ユーザコンピュータ上のアプリケーションプログラムは、保護機能をさらに高めるために、ユーザコンピュータ上にインストールされたアプリケーション保護システムを介して実行されなければならず、その保護システムは、アプリケーションプログラムを起動し監視するための、管理モジュールと実行時間モニタとを備える。
【0028】
サーバには、特定のアプリケーションプログラムを介してのみアクセスすることができ、そのアプリケーションプログラムは、ユーザコンピュータ上のアプリケーション保護システムという手段でのみ実施されるので、不正ユーザがサーバにアクセスできないように保護される。よって、このユーザコンピュータ上のアプリケーション保護システムは、そのアプリケーションプログラムの操作および不正実行を防止するように設けられ、従って、ユーザコンピュータ側では、不正ユーザによるサーバへのアクセスが出来ないようにすでに保護されている。
【0029】
管理モジュールと実行時間モニタとを備えるアプリケーション保護システムは、初期設定段階において、ユーザコンピュータ上のすべてのシステムファイルが管理モジュールによって検出され、それらシステムファイルは識別が付与され、そしてユーザコンピュータ上の第1のレジストリに記憶されるように設計される。初期設定段階において、ユーザコンピュータ上にインストールされたアプリケーションプログラムは事前に管理モジュールに通知されている。次いで、管理モジュールは、どのシステムファイルおよびモジュールがそのアプリケーションプログラムによって使用されているか証明し、そのシステムファイルおよびモジュールは追加的に識別が付与され、そしてユーザコンピュータ上の第2のレジストリに参照リストとして記憶される。
【0030】
アプリケーションプログラムが管理モジュールを介して排他的に起動されるように、それらの動作が調整され、そして決定される。
【0031】
アプリケーションプログラムの実施は、実行時間モニタによって監視される。最初に、実行時間モニタはアプリケーションプログラムの識別を作成し、この識別が、事前に管理モジュールに送られているアプリケーションプログラムの識別と一致するかどうかを証明する。この識別が一致しない場合、例えば、プログラムの起動が中断されるといった所定の対応が行われる。識別が一致する場合、アプリケーションプログラムが実行され、そして、実行時間モニタは、システムファイルへのアプリケーションプログラムのアクセスを監視する。
【0032】
実行時間モニタは、さらに、保護オブジェクトを生成する。保護オブジェクトでは、アプリケーションプログラムが実施されたり、そのアプリケーションプログラムが他のプログラムおよび処理から隔離されたり、といった事が行われる。保護オブジェクトは、そのアプリケーションプログラムが他のプログラムおよび処理からアクセスされることを防止し、例えば、特定のキーボードと特定のモニタを使用するといったように、排他的な動作手段を組み合わせて行われる。従って、他の動作手段を介して、例えば、別のキーボードを使用して、アプリケーションプログラムにアクセスすることはできない。このように、アプリケーション保護システムによって、外部からアプリケーションプログラムへのいかなるコンタクトも防止される。
【0033】
プログラムを終了させた後で、実行時間モニタは、その保護オブジェクトを完全に除去する。
【0034】
したがって、アプリケーションプログラムは、安全な環境下で実施される。同時に、アプリケーションプログラムのシステムファイルおよびモジュールへのアクセスが監視され、そのシステムファイルおよびモジュールは、管理モジュールによって事前に検出されたシステムファイルおよびモジュールと一致する必要がある。アプリケーションプログラムがアクセスしようとするシステムファイルの識別と、事前に記憶されたシステムファイルの識別とが一致する場合、アプリケーションプログラムに、システムファイルへのアクセスが許可され、システムファイルがロードされる。これにより、(ユーザコンピュータ上のすべてのシステムファイルを取り扱う)第1のレジストリ内、または(事前にアプリケーションプログラムと関連付けられたシステムファイルを取り扱う)第2のレジストリ内に、そのシステムファイルの識別が存在するかどうかが証明される。システムファイルが見つかり、一致した場合、そのシステムファイルは消去される。他方、システムファイルが一方のまたは両方のレジストリで見つからない場合、アプリケーションプログラムの実施は中断される。
【0035】
出来れば、相互認証のために、サーバとユーザコンピュータ上のアプリケーション保護システムに、相互通信を行わせる。この認証は、ISO/IEC9798−3規格に準拠して行われ、サーバとアプリケーション保護システムは相互に認証し合い、そのサーバとアプリケーション保護システムの相互認証が成功した場合にのみ、ユーザコンピュータはサーバへの接続が許可される。
【0036】
また、この目的は、ユーザコンピュータ上のアプリケーションプログラムを実施する方法によっても解決される。この方法では、ユーザコンピュータ上のアプリケーションプログラムは、ユーザコンピュータ上にインストールされたアプリケーション保護システムを介して実施され、そのアプリケーション保護システムは、管理モジュールと、アプリケーションプログラムを起動させ監視するための実行時間モニタとを備える。そのアプリケーションプログラムは、管理モジュールを介して起動され、その実行時間モニタは、アプリケーションプログラムが実施されるときに、アプリケーションプログラムのシステムファイルへのアクセスを監視する。
【0037】
管理モジュールは、初期設定段階においてシステムファイルを検出し、それらのシステムファイルに識別を付与し、そしてユーザコンピュータ上の第1のレジストリに記憶することができる。初期設定段階において、さらに、どのシステムファイルがアプリケーションプログラムによって使用されるかが証明され、これらのシステムファイルは追加的に識別が付与され、そしてユーザコンピュータ上の第2のレジストリに記憶される。
【0038】
さらに、アプリケーション保護システムは、保護オブジェクトを提供することができる。保護オブジェクトでは、アプリケーションプログラムが実施されたり、そのアプリケーションプログラムが他のプログラムおよび処理から隔離されたり、といったことが行われる。アプリケーション保護システムを使用してユーザコンピュータ上のアプリケーションプログラムを実施する方法では、外部攻撃から選択されたアプリケーションプログラム、特に、有害なソフトウェアによる操作からの保護が行われる。第2に考えられる可能性として、バージョンおよびライセンシングの制御が考えられ、例えば、ライセンス番号が要求され、そのライセンス番号が一致する場合のみ、アプリケーションプログラムの実施が可能になる。
【0039】
この方法は2つの基本原理に基づいている。第1の基本原理によれば、正式なあるいは変更が行われたシステムファイル、モジュールまたはデータを含むプログラムが、データ機能を作動するかどうかという認識作業が、アプリケーション保護システムを介して行われる。この作業は、実行時間モニタを使って行われる。第2の基本原理によれば、アプリケーションプログラムが実施される時、そのアプリケーションプログラムを他のプログラムおよび処理から隔離し、外部からアプリケーションプログラムへのアクセスを不可能にする保護オブジェクト内で実施される。保護オブジェクトは、例えば、所定のキーボードと所定のモニタを使用するといったような排他的な動作手段のセットを介してのみ、アプリケーションプログラムへのアクセスを許可し、外部からの他の手段によるアクセスは不可能とする。
【0040】
特に利点として、ユーザコンピュータ上のアプリケーション保護システムとサーバ上のサーバ保護システム間の相互認証のための協働作業がある。その作業では、アプリケーション保護システムは、サーバへの保護として、アプリケーションプログラムが操作されず、特に安全な環境下で実行されるように保証する。一方で、ユーザコンピュータに対して、サーバシステムは、そのユーザコンピュータが正式なサーバと通信するように保証する。