説明

少なくとも1つのサービスを提供するためのサーバシステムおよびその方法

【課題】
【解決手段】本発明は、サーバをユーザコンピュータに接続するためのインターフェースと、ユーザコンピュータを介してサーバにログオンするユーザの個人識別データを要求し、認証に成功した場合に、ユーザコンピュータにアクセスを許可するように設計され、提供された認証手段とを有する、少なくとも1つのサービスを提供するためのサーバシステムに関するものである。本発明によれば、サーバ保護システムは、認証手段による認証に成功した後で、ユーザコンピュータ特有の追加識別データとサーバ(1)上に事前に記憶された識別データとを比較し、そのユーザコンピュータ特有の識別データの比較に応じて、ユーザコンピュータ(2)に、1つまたは複数のサービス(103、113)へのアクセスを許可するように設計され、提供される。また、本発明は、少なくとも1つのサービスを提供する方法、およびアプリケーションプログラムを実行する方法にも関するものである。よって、本発明は、サーバシステム動作中でのセキュリティ強化を可能にし、不正ユーザによるサービスへのアクセスをより確実な方法で防止する、サーバシステム、サービスを提供する方法、およびアプリケーションプログラムを実行する方法を提供する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、請求項1のプリアンブルに記載の、少なくとも1つのサービスを提供するためのサーバシステム、請求項2のプリアンブルに記載の、サーバシステムを介してサービスを提供する方法、およびユーザコンピュータ上でアプリケーションプログラムを実行する方法に関する。
【背景技術】
【0002】
少なくとも1つのサービスを提供するためのそのようなサーバシステムは、サーバをユーザコンピュータに接続するためのインターフェースと、ユーザコンピュータを介してサーバにログオンしようとするユーザの個人識別データを要求するように設計された認証手段とを有し、認証に成功した場合、そのサーバシステムはユーザコンピュータにアクセスを許可する。
【0003】
ここで、サーバとはコンピュータまたはコンピュータシステムと考えられ、それらはサービスまたはデータの形態をしたサービスを提供し、別のユーザコンピュータ、いわゆるクライアントによってアクセスされ得る。このため、サーバは、例えばインターネットなどの通信ネットワークの中心部に設置され、サーバを介して多数のコンピュータおよびコンピュータシステムが相互に接続されてデータのやり取りが行われる。ユーザは、ユーザコンピュータを介してサーバに接続することができ、それによりサーバにアクセスすることができる。
【0004】
不正ユーザがサーバにアクセスするのを回避するために、従来のサーバでは、ユーザの個人識別データ、例えば事前に決定されたユーザ名とパスワードを求める認証方法が使用されている。そのため、サーバは、ユーザに、ユーザの名前とパスワードを入力するよう要求し、ユーザ名とパスワードが確認された場合にだけ、そのユーザにサーバのサービスへのアクセスを許可する。この認証を弱い認証ともいう。
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明の目的は、サーバシステムおよびサービスを提供する方法、ならびにアプリケーションプログラムを実行するための方法を提供することであり、それによってサーバシステム動作時の保護が強化され、不正ユーザによるサービスへのアクセスをより高い信頼度で回避することができる。
【課題を解決するための手段】
【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】
特に利点として、ユーザコンピュータ上のアプリケーション保護システムとサーバ上のサーバ保護システム間の相互認証のための協働作業がある。その作業では、アプリケーション保護システムは、サーバへの保護として、アプリケーションプログラムが操作されず、特に安全な環境下で実行されるように保証する。一方で、ユーザコンピュータに対して、サーバシステムは、そのユーザコンピュータが正式なサーバと通信するように保証する。
【図面の簡単な説明】
【0041】
本発明は、以下の図を用いた例によって説明される。
【図1A】弱い認証を使用した、ユーザコンピュータのサーバへの接続を示す概略図である。
【図1B】弱い認証を使用した、ユーザコンピュータのサーバへの接続を示す概略図である。
【図1C】弱い認証を使用した、ユーザコンピュータのサーバへの接続を示す概略図である。
【図2A】弱い認証とその後の強い認証を使用した、ユーザコンピュータのサーバへの接続を示す概略図である。
【図2B】弱い認証とその後の強い認証を使用した、ユーザコンピュータのサーバへの接続を示す概略図である。
【図2C】弱い認証とその後の強い認証を使用した、ユーザコンピュータのサーバへの接続を示す概略図である。
【図2D】弱い認証とその後の強い認証を使用した、ユーザコンピュータのサーバへの接続を示す概略図である。
【図3】アプリケーション保護システムを使用した、ユーザコンピュータ上のアプリケーションプログラムの実施を示す概略図である。
【発明を実施するための形態】
【0042】
図1A〜1Cによる概略図は、従来の弱い認証を使用した、ユーザコンピュータ2とサーバ1の間の接続を取得するときの過程を示す。サーバ1は、異なるデータベース10、11を有するデータベースサーバとして設計される。
【0043】
サーバ1は、ユーザがユーザコンピュータ2(クライアント)およびサーバ1のインターフェース13を介してアクセスすることのできるデータ103、113を、サービスとして提供する。サーバ1のログインアカウント12が各ユーザに指定され、それを介して、ユーザはサーバ1に接続しログオンすることが出来る。ログインアカウント12は、さらに、1つまたは複数のデータベース10、11のユーザアカウント101、111に接続される。各ユーザアカウント101、111は、さらに、1つまたは複数のいわゆるスクローリング102、112に接続されており、それを介して、データ103、113のあるデータ量分のアクセスが行われ、ユーザがデータ103、113にアクセスすることができ、このデータ103、113を用いて作業できるように、データ103、113は設計されている。
【0044】
したがって、データ103、113へのアクセスは、ユーザコンピュータ2、インターフェース13、ユーザに指定されたログインアカウント12、ログインアカウント12に接続された1つまたは複数のユーザアカウント101、111、およびスクローリング102、112を介して、ユーザに許可される。図1Aは、接続を取得する前の状況を示している。この状況では、ユーザのログインアカウント12と、ユーザアカウント101、111、およびスクローリング102、112との間の接続がすでに取得されている。したがって、これらの接続により、ユーザは、どのデータベース10、11へ、どのスクローリング102、112およびデータ103、113を用いてアクセスできるかが定義される。
【0045】
図1Aに示した例の場合、ログインアカウント12aは、ユーザアカウント101aと、ユーザアカウント101aを介してスクローリング102aとに接続されている。したがって、ログインアカウント12aを取り扱うユーザは、ログインアカウント12aを介して、関連付けられたデータ103を含むデータベース10のスクローリング102aにアクセスすることができる。他方、ログインアカウント12bは、データベース10のユーザアカウント101bおよびデータベース11のユーザアカウント111aに接続され、データベース10のユーザアカウント101bは、スクローリング102a、102bに接続され、データベース11のユーザアカウント111aは、スクローリング112a、112bに接続されている。したがって、ログインアカウント12bに割り当てられたユーザは、データベース10のスクローリング102a、102bおよびデータベース11のスクローリング112a、112bに関連付けられたデータ103、113にアクセスすることができる。
【0046】
接続を取得するために、ユーザは、ユーザコンピュータ2およびインターフェース13を介して、ユーザに指定されたログインアカウント12にアクセスする。この接続は図1Bに概略的に示されており、例えば、ユーザは、ユーザコンピュータ2aおよびインターフェース13を介して、ログインアカウント12aにアクセスする。サーバ1は、ユーザのユーザ名とパスワードを要求する、いわゆる弱い認証を実行する。そのユーザ名とパスワードが、事前に決定されたログインアカウント12のユーザ名とパスワードに一致する場合に認証は成功し、ユーザに、事前に定義された相互接続に従ってデータベース10、11にアクセスする許可が付与される。
【0047】
接続を遮断した後、すなわち、ユーザがログアウトした後、ユーザコンピュータ2から各指定されたログインアカウント12への接続は中断される。しかしながら、ログインアカウント12と各ユーザアカウント101、111との相互接続は維持される。この状況は図1Cに示されている。
【0048】
通常、サーバ1は、ユーザ名とパスワードを要求して弱い認証を行うだけである。しかしながら、これによって実現されるセキュリティの度合いは低い。特に、外部からの攻撃および不正ユーザによるアクセスを防ぐのには不十分であり、ユーザは、指定のログインアカウント12を介してアクセス権が許可されるやいなや、データ103、113に無制限にアクセスすることができ、上記データを操作し、最悪の場合には、サーバ1の動作に強い影響を及ぼしてしまう。
【0049】
したがって、図2A〜2Dに示す実施形態では、前述の弱い認証に加えて、強い認証として設計された追加認証ステップが実行される。図2A〜図2Dに示す実施形態では、サーバ1はさらに、レジストリ14を有し、その中に、ユーザコンピュータ2のユーザコンピュータ特有の識別データおよび指定のユーザを参照リストとして記憶している。図2A〜図2Dに示すように、ユーザコンピュータ2のサーバ1への接続を取得し、サーバ1がデータ103、113としてサービスを提供するための認証が実行される。
【0050】
図2Aには、接続を取得する前の初期状態が示されている。この状態では、ログインアカウント12と指定のユーザアカウント101、111との相互接続は存在しない。
【0051】
第1のステップで、ユーザは、ユーザコンピュータ2およびサーバ1のインターフェース13を介した指定のログインアカウント12への接続を取得し、第1の認証ステップ内では、ユーザの名前とパスワードを要求することにより弱い認証が実行される。これは図2Bに示されている。図示の例では、ユーザは、例えば、ユーザコンピュータ2aを介して指定のログインアカウント12aへの接続を取得する。
【0052】
図2Bに示す状況では、ユーザコンピュータ2は、インターフェース13を介してサーバ1と指定のログインアカウント12とに接続されている。しかしながら、ログインアカウント12と指定のユーザアカウント101、111との相互接続がまだ取得されていないため、ユーザにはデータ103、113へのアクセスは許可されていない。
【0053】
第2のステップでは、いわゆる強い認証が行われ、ユーザコンピュータ特有の追加識別データが要求され、そのデータとレジストリ14に事前に記憶された識別データとが比較される。このユーザコンピュータ特有の識別データは、例えば、ユーザがユーザコンピュータ2を介してサーバ1に転送する、ユーザの追加個人情報とすることができる。あるいは、またはこれに加えて、ユーザコンピュータ2のネットワークアドレス(IPアドレスまたはMACアドレス)を、ユーザコンピュータ特有の識別データとして監視することもできる。これは、ユーザには、所定のネットワークアドレスを有する特定のユーザコンピュータ2を介したサーバ1へのアクセスだけが許可されるということに基づいている。さらに、事前に定義されたアプリケーションプログラムまたは時間窓の識別を、ユーザコンピュータ特有の追加識別データとして使用することもできる。これにより、特定のアプリケーションプログラムを介してのみ、または事前に定義された時間窓内においてのみ、ユーザのアクセスが許可される。
【0054】
この第2の認証に成功した場合、ログインアカウント12のユーザアカウント101、111への、事前に定義されていた接続が取得される。図2Cに示す例では、ログインアカウント12aは、例えば、ユーザアカウント101aに接続され、ログインアカウント12bはユーザアカウント101b、111aに接続される。したがって、ユーザは、ユーザアカウント101、111および指定のスクローリング102、112を介してデータ103、113にアクセスすることができ、データ103、113を受け取ることができる。
【0055】
レジストリ14に記憶されたユーザコンピューに特有の識別データを使用した第2の認証ステップは、サーバ1上にインストールされたサーバ保護システムを介して行われる。これにより、サーバ1は、まず、ユーザコンピュータ2を指定のログインアカウント12に接続するための弱い認証を実行することが重要である。これにより、サーバ1に対する認証は終了する。ユーザの、指定されたログインアカウント12への接続が取得される。しかしながら、この状況では、ログインアカウント12と指定のユーザアカウント101、111との間の相互接続がまだ確立されていないため、ユーザは、データ103、113にアクセスすることができない。さらに別の認証が、サーバ保護システムとユーザコンピュータ特有の追加識別データの監視によってレジストリ14を介して引き続き行われ、各ログインアカウント12の監視に応じて、指定のユーザアカウント101、111に接続される。したがって認証は2段階に分けられる。サーバ1によって実行される第1の認証ステップの後で、サーバ保護システムにより、レジストリ14を介して第2の認証ステップが行われ、第1および第2の認証の成功に応じて、データ103、113へのアクセスが許可される。
【0056】
インターフェース13を介してユーザコンピュータ2から指定のログインアカウント12への接続を取得するためのサーバ1の第1の認証、およびユーザコンピュータ特有の識別データを監視することによる第2の認証に成功した場合に、図2Cに示されるように、ログインアカウント12と指定のユーザアカウント101、111との相互接続が取得され、ユーザはデータベース10、11にアクセスすることができる。
【0057】
一方で、図2Dに示すような接続が終了後、ユーザコンピュータ2と指定のログインアカウント12との間の接続は遮断され、同時に、ログインアカウント12とユーザアカウント101、111との間のあらゆる相互接続も削除される。したがって、ログインアカウント12とユーザアカウント101、111との間の相互接続は完全に除去され、この相互接続は、新たなログインと新たな認証の成功によって再度取得される。
【0058】
追加の、強いと名付けられた認証は、ユーザコンピュータ特有の追加識別データを証明することにより実行されるため、サーバ1を動作させるための安全性が大幅に高まる。ユーザコンピュータ特有の識別データの追加証明により、不正ユーザのサーバ1へのアクセスを、特に防止する事が出来る。これによって、例えば、定義されたネットワークアドレスを有する事前に定義されたコンピュータを介してのみ、または特定のアプリケーションプログラムを介してのみ、アクセスが保証される。さらに、アクセスは、特定の時間中にだけ許可されることもできる。
【0059】
追加認証に成功しない場合には、様々な対応を取ることができる。例えば、認証に成功しない場合には、ユーザのアクセスが完全に拒否されることも考えられる。例えば、ユーザ名とパスワードの要求によって行われる第1の認証にすでに失敗している場合、そのユーザのアクセスは完全に拒否される。同様に、第1の認証に成功したものの、例えば、ユーザからサーバ1へのアクセス時に介されるユーザコンピュータ2のネットワークアドレスと、事前に記憶されたネットワークアドレスとが一致しないという理由から、ユーザコンピュータ特有の識別データの要求によって行われる追加認証に成功しない場合もあてはまる。
【0060】
しかしながら、アクセスを拒否するのではなく、より柔軟な対応も考えられる。例えば、認証に成功しなかったにも関わらず、ユーザはアクセスを許可される。しかしながら、このユーザには、所望のデータ以外(いわゆるハニーポット)が提供される。また、アクセスが許可され、更に正しい所望のデータも提供されるが、そのユーザは監視下に置かれるような、すなわち、ユーザの行動が特定の方法で監視されることも考えられる。あるいは、最初はアクセスが許可されず、追加認証のための別の識別データが要求され、この追加認証の結果によってのみ、アクセスを許可されるかまたは最終的に拒否されるようなことも考えられる。
【0061】
追加認証の場合に要求されるユーザコンピュータ特有の識別データは、サーバ1の実動作前の検出段階において検出されることができ、それはレジストリ14に記憶される。検出段階では、例えば、使用されるべきネットワークアドレスとアプリケーションプログラムが決定されてレジストリ14に保管される。その場合、サーバ1へのアクセスは、サーバ1の実動作時の後の動作段階において、事前に定義されたネットワークアドレスとアプリケーションプログラムとを用いて、事前に定義されたユーザコンピュータ2を介してのみ可能となる。検出段階では、バックグラウンドにおいてサーバ保護システムも動作し、強い認証または少なくとも完全な強い認証は実行されない。そして、検出段階を終了した後の動作段階において、前述のような認証が成功した場合のみ、アクセスが許可される。
【0062】
事前に定義されたアプリケーションプログラムを介してのみ、ユーザが排他的にサーバへアクセス許可される場合には、追加保護を行うことが出来る。この追加保護では、アプリケーションプログラムがアプリケーション保護システムによってユーザコンピュータ2上で実施される場合には、任意のユーザコンピュータおよび任意のアプリケーションプログラムを介した、不正ユーザのサーバ1へのアクセスを最初から排除することが出来る。
【0063】
図3に、ユーザコンピュータ2上にインストールされたアプリケーションプログラム24の概略図を示す。ここでは、ユーザコンピュータ2上に、プロテクションウォール21(ファイアウォール)およびウィルススキャナ22がインストールされており、外部からユーザコンピュータ2へのアクセス、ならびに有害なソフトウェアによる操作を、公知の方法で可能な限り防止している。加えて、ユーザコンピュータ2上には、管理モジュール230と、アプリケーションプログラム24の起動および実施を監視する実行時間モニタ231とを備えるアプリケーション保護システム23もインストールされている。
【0064】
アプリケーション保護システム23の管理モジュール230は管理機能として動作する。管理モジュール230は、初期設定段階において、ユーザコンピュータ2上のすべてのシステムファイルを検出し、そのファイルを参照リストとしてレジストリに記憶する。それによって、管理モジュール230は、システムファイルごと、モジュールごとに、例えば、暗号学的ハッシュ値やディジタル署名のような識別を検出し、それらをレジストリに保管する。保護されるべきアプリケーションプログラム24の識別が管理モジュール230に伝えられ、管理モジュール230は、アプリケーションプログラム24がアクセスすることのできるユーザコンピュータ2上のシステムファイルおよびモジュールを、アプリケーションプログラム24に対して検出する。さらに、管理モジュール230は、そのように検出されたシステムファイルごとに識別を検出し、それらの識別結果を、アプリケーションプログラム24の識別と共に異なるレジストリに記憶する。
【0065】
さらに、アプリケーションプログラム24の排他的起動が、管理モジュール230を介して決定される。これに伴い、管理モジュール230を介さずにアプリケーションプログラム24を起動させようとするいかなる試みも最初から排除される。
【0066】
アプリケーションプログラム24は、このアプリケーションプログラムを実行するための管理モジュール230を介して起動される。次いで、アプリケーションプログラム24の実施は実行時間モニタ231によって監視される。実行時間モニタ231は、まず、この時のアプリケーションプログラム24の識別を、管理モジュール230によってレジストリに事前に記憶されたアプリケーションプログラム24の識別と比較する。この識別が一致した場合に限り、アプリケーションプログラム24の起動および実施が許可される。
【0067】
実行時間モニタ231は、オペレーティングシステムオブジェクトとして保護オブジェクト25を生成し、これに特定の保護特性を与える。アプリケーションプログラム24はこの保護オブジェクト25において実施され、保護オブジェクト25は、アプリケーションプログラム24を、ユーザコンピュータ2上の他のすべてのプログラムおよび処理から隔離し、外部からのアプリケーションプログラム24へのあらゆるコンタクトを不可能にする。そのため、保護オブジェクト25は、アプリケーションプログラム24を制御するために、排他的な動作手段のセット、例えば、特定のキーボードと特定のモニタを有する。
【0068】
アプリケーションプログラム24は、動作終了するまで保護オブジェクト25において実行される。アプリケーションプログラム24が終了した後、保護オブジェクト25は完全に除去される。
【0069】
アプリケーションプログラム24が実施される間、実行時間モニタ231は、ユーザコンピュータ2上のシステムファイルまたはモジュールに対するアプリケーションプログラム24の要求をその都度監視し、そのシステムファイルまたはモジュールの識別が、初期設定段階で管理モジュール230によって事前に記憶したレジストリに存在するかどうかの証明を行う。ここで、実行時間モニタ231は、そのシステムファイルの識別が、ユーザコンピュータ2上のすべてのシステムファイルのレジストリに、またはアプリケーションプログラム24に指定されたシステムファイルまたはモジュールのレジストリに含まれているかどうかを証明する。要求されたシステムファイルがこれらのレジストリの一方または両方に含まれていない場合、アプリケーションプログラム24の実施は中断される。システムファイルが両方のレジストリに存在する場合、要求されたシステムファイルまたは要求されたモジュールは承認され、アプリケーションプログラム24の実施が続行される。
【0070】
アプリケーションプログラム24の実施は、アプリケーション保護システム23によって監視、制御され、このようにして、外部からの、例えば、有害なソフトウェアによる攻撃から保護される。同時に、例えば、アプリケーションプログラム24の実施時に有効なライセンス番号が使用されているかどうかチェックすることにより、アプリケーション保護システム23は、バージョンおよびライセンス制御を行うことができる。
【0071】
好ましい実施形態では、ユーザコンピュータ2のアプリケーション保護システム23とサーバ1のサーバ保護システムとが協働する。アプリケーション保護システム23はサーバ1と通信し、サーバ1とアプリケーション保護システム23とが相互に認証し合う。この通信は、例えば、ISO/IEC9798−3規格によって行われる。その場合、アプリケーション保護システムは、第1のステップでサーバ1にコンタクトする。第2のステップで、アプリケーション保護システム23とサーバ1とは相互認証を行い、相互認証によって、サーバ1はアプリケーションプログラム24が操作されていないことを認識し、一方、ユーザコンピュータ2は正しいサーバ1と確実に通信することができる。
【0072】
好ましくは、異なるコンピュータ同士やコンピュータシステム同士のデータ交換のための周知な通信ネットワークであるインターネットを介して、前述の例におけるサーバ1とユーザコンピュータ2の間の通信が行われる。
【0073】
本発明の基礎的な考えとして、前述の実施形態だけに限定されるものではなく、全く異なる実施形態によっても実現され得る。前述の保護システムは、特に、データベースサーバの用途だけに限定されるものではなく、サーバを保護するために一般的に使用することもできる。さらに、前述のシステムは、アクセス規則違反を分析するための法的手段として使用することもできる。
【符号の説明】
【0074】
1 サーバ
10、11 データベース
101、111、101a、101b、111a、111b ユーザのアカウント
102、112、102a、102b、112a、112b スクローリング
103、113 データ
12、12a、12b、12c ログインアカウント
13 インターフェース
14 レジストリ
2、2a、2b、2c ユーザコンピュータ
21 ファイアウォール
22 ウィルススキャナ
23 アプリケーション保護システム
230 管理モジュール
231 実行時間モニタ
24 アプリケーションプログラム
25 保護オブジェクト

【特許請求の範囲】
【請求項1】
サーバをユーザコンピュータに接続するためのインターフェースと、
前記ユーザコンピュータを介して前記サーバにログオンする前記ユーザの個人識別データを要求し、認証に成功した場合に、前記ユーザコンピュータのアクセスを許可するように設計された認証手段と
を備える、少なくとも1つのサービスを提供するためのサーバシステムであって、
前記認証手段による認証に成功した後で、ユーザコンピュータ特有の追加識別データと前記サーバ(1)上に事前に記憶された識別データとを比較し、
前記ユーザコンピュータ特有の識別データの前記比較に応じて、前記ユーザコンピュータ(2)に前記少なくとも1つのサービス(103、113)へのアクセスする権限を許可するように設計されたサーバ保護システムを特徴とする、サーバシステム。
【請求項2】
ユーザが、サーバによって提供されるサービスへのアクセス権を取得するために、ユーザコンピュータを介してサーバにログオンし、
前記サーバが認証のために前記ユーザの個人識別データを要求し、
認証に成功した後で、前記サーバが前記ユーザコンピュータへアクセスを許可する、サーバシステムを介した少なくとも1つのサービスを提供する方法であって、
認証に成功した後で、ユーザコンピュータ特有の追加識別データと、前記サーバ(1)上に事前に記憶された識別データとが比較されるステップと、
前記ユーザコンピュータ特有の識別データの前記比較に応じて、前記ユーザコンピュータ(2)に前記少なくとも1つのサービス(103、113)へアクセスする権限が許可されるステップと、を特徴とする、方法。
【請求項3】
前記ユーザコンピュータ特有の追加識別データと事前に記憶された前記識別データとが相関関係を有する場合に限り、前記少なくとも1つのサービス(103、113)に前記ユーザコンピュータ(2)はアクセスできることを特徴とする、請求項2に記載の方法。
【請求項4】
前記ユーザの前記個人識別データは、ユーザ名とパスワードであることを特徴とする、請求項2または3に記載の方法。
【請求項5】
前記ユーザコンピュータ特有の追加識別データは、ユーザの個人データ、前記ユーザコンピュータ(2)のネットワークアドレス、前記ユーザコンピュータ(2)のアプリケーションプログラム(24)、および/または所定の時間窓であることを特徴とする、請求項2から4のいずれか一項に記載の方法。
【請求項6】
前記ユーザは、前記ユーザコンピュータ(2)を介して前記サーバ(1)に前記ユーザコンピュータ特有の識別データを転送することを特徴とする、請求項2から5のいずれか一項に記載の方法。
【請求項7】
前記ユーザコンピュータ(2)は、前記ユーザコンピュータ特有の識別データを前記サーバ(1)に自動的に転送することを特徴とする、請求項2から5のいずれか一項に記載の方法。
【請求項8】
前記サーバはデータベースサーバ(1)として設けられ、前記データベースサーバ(1)によって提供される前記サービスは所定のデータ(103、113)の提供から成ることを特徴とする、請求項2から7のいずれか一項に記載の方法。
【請求項9】
前記サーバ(1)の前記ユーザコンピュータ(2)への前記接続を遮断した後で、前記少なくとも1つのサービス(103、113)を受けられるための前記権限が削除されることを特徴とする、請求項2から8のいずれか一項に記載の方法。
【請求項10】
検出段階において、前記ユーザコンピュータ特有の識別データは、前記サーバ(1)によって登録され、レジストリ(14)に記憶されることを特徴とする、請求項2から9のいずれか一項に記載の方法。
【請求項11】
前記検出段階において、前記ユーザコンピュータ特有の識別データと、前記レジストリ(14)に記憶された前記識別データとの不整合に対してどのように応答すべきかが決定されることを特徴とする、請求項10に記載の方法。
【請求項12】
前記ユーザコンピュータ(2)のアプリケーションプログラム(24)が、前記サーバ(1)への前記接続を提供することを特徴とする、請求項2から11のいずれか一項に記載の方法。
【請求項13】
前記ユーザコンピュータ(2)の前記アプリケーションプログラム(24)は、前記ユーザコンピュータ(2)上にインストールされた、管理モジュール(230)と、前記アプリケーションプログラム(24)を起動し監視する実行時間モニタ(231)とを備えるアプリケーション保護システム(23)によって実施されることを特徴とする、請求項12に記載の方法。
【請求項14】
前記管理モジュール(230)は、初期設定段階においてシステムファイルを検出し、前記システムファイルに識別を付与し、前記システムファイルを前記ユーザコンピュータ(2)の第1のレジストリに記憶することを特徴とする、請求項13に記載の方法。
【請求項15】
前記初期設定段階において、アプリケーションプログラム(24)に対して、どのシステムファイルが前記アプリケーションプログラム(24)に使用されるかが調べられ、前記システムファイルに追加の識別が付与され、前記システムファイルは前記ユーザコンピュータ(2)の第2のレジストリに記憶されることを特徴とする、請求項14に記載の方法。
【請求項16】
前記アプリケーションプログラム(24)は、前記管理モジュール(230)を介して排他的に起動されることを特徴とする、請求項13から15のいずれか一項に記載の方法。
【請求項17】
前記実行時間モニタ(231)は、前記アプリケーションプログラム(24)が実施されると、前記アプリケーションプログラム(24)による前記システムファイルへの前記アクセスを監視することを特徴とする、請求項13から16のいずれか一項に記載の方法。
【請求項18】
前記アプリケーション保護システム(23)は、前記アプリケーションプログラム(24)がそこで実行され、前記アプリケーションプログラム(24)を他のプログラムおよび処理から隔離する保護オブジェクト(25)を提供することを特徴とする、請求項13から17のいずれか一項に記載の方法。
【請求項19】
前記アプリケーション保護システム(23)と前記サーバ(1)とは、相互認証のために相互に通信し合うことを特徴とする、請求項13から18のいずれか一項に記載の方法。
【請求項20】
前記アプリケーション保護システム(23)と前記サーバ(1)との前記通信は、ISO/IEC9798/3/規格に従って行われることを特徴とする、請求項19に記載の方法。
【請求項21】
ユーザコンピュータ上でアプリケーションプログラムを実行する方法であって、前記ユーザコンピュータ(2)の前記アプリケーションプログラム(24)は、前記ユーザのコンピュータ(2)上にインストールされた、管理モジュール(230)と、前記アプリケーションプログラム(24)を起動し監視する実行時間モニタ(231)とを備えるアプリケーション保護システム(23)を介して実行され、
その方法は、前記アプリケーションプログラム(24)が前記管理モジュール(230)を介して起動されるステップと、
前記実行時間モニタ(231)が、前記アプリケーションプログラム(24)が実行されると、前記アプリケーションプログラム(24)のシステムファイルへのアクセスを監視するステップと、
を含む、方法。
【請求項22】
前記管理モジュール(230)は、初期設定段階においてシステムファイルを検出し、前記システムファイルに識別を付与し、前記システムファイルを前記ユーザコンピュータ(2)の第1のレジストリに記憶することを特徴とする、請求項21に記載の方法。
【請求項23】
前記初期設定段階において、アプリケーションプログラム(24)に対して、どのシステムファイルが前記アプリケーションプログラム(24)に使用されるかが証明され、前記システムファイルに追加の識別が付与され、前記システムファイルは前記ユーザコンピュータ(2)の第2のレジストリに記憶されることを特徴とする、請求項21または22に記載の方法。
【請求項24】
前記アプリケーション保護システム(23)は、前記アプリケーションプログラム(24)がそこで実施され、前記アプリケーションプログラム(24)を他のプログラムおよび処理から隔離する保護オブジェクト(25)を提供することを特徴とする、請求項21から23のいずれか一項に記載の方法。

【図1A】
image rotate

【図1B】
image rotate

【図1C】
image rotate

【図2A】
image rotate

【図2B】
image rotate

【図2C】
image rotate

【図2D】
image rotate

【図3】
image rotate


【公表番号】特表2012−502338(P2012−502338A)
【公表日】平成24年1月26日(2012.1.26)
【国際特許分類】
【出願番号】特願2011−525576(P2011−525576)
【出願日】平成21年9月9日(2009.9.9)
【国際出願番号】PCT/EP2009/061701
【国際公開番号】WO2010/029111
【国際公開日】平成22年3月18日(2010.3.18)
【出願人】(511061671)
【氏名又は名称原語表記】SPALKA, Adrian
【Fターム(参考)】