(57)【特許請求の範囲】
【請求項１】
特権を提供する方法であって、コンピューティング・システムが、
前記コンピューティング・システムの第１のユーザ識別子を無効にすることであって、前記第１のユーザ識別子は前記コンピューティング・システムに対する第１の特権を有する、無効にすることと、
前記コンピューティング・システムの前記第１のユーザ識別子を無効にした後、及び、前記コンピューティング・システムに関連する問題を解決するために前記コンピューティング・システムに対する前記第１の特権が必要となると判断することに応答して、
サードパーティから、前記コンピューティング・システム上にインストールするためのコード・パッチを受け取ることであって、前記コード・パッチは、前記第１の特権の少なくともサブセットを、前記第１のユーザ識別子以外の前記コンピューティング・システムの第２のユーザ識別子に一時的に提供するためのものであり、前記第２のユーザ識別子は、前記コンピューティング・システムに対する前記第１の特権より低い、前記コンピューティング・システムに対する第２の特権を有し、前記コード・パッチは、前記コンピューティング・システム上にインストール可能なコンピュータ・コードを含む、受け取ることと、
前記コンピューティング・システム上に前記コード・パッチをインストールし、前記第２のユーザ識別子が、前記コンピューティング・システムに対する前記第１の特権の少なくとも前記サブセットを一時的に有するようにすることと、
を含む、方法。
【請求項２】
前記コンピューティング・システムが、前記コンピューティング・システム上に前記コード・パッチがインストールされた後、前記第２のユーザ識別子についてのパスワードを前記サードパーティに提供することをさらに含み、これによって、前記サードパーティが、前記コンピューティング・システムに対する前記第１の特権の少なくとも前記サブセットを一時的に有する前記第２のユーザ識別子によって、前記コンピューティング・システムに対する前記第１の特権の少なくとも前記サブセットを用いて、前記コンピューティング・システムに関連する前記問題を解決できるようになる、請求項１に記載の方法。
【請求項３】
前記サードパーティにより、前記コンピューティング・システムに対する第１のルート特権を一時的に有する前記第２のユーザ識別子によって、前記コンピューティング・システムに対する前記第１の特権の少なくとも前記サブセットを用いて、前記コンピューティング・システムに関連する前記問題が解決された後、前記コンピューティング・システムが、
前記コード・パッチを前記コンピューティング・システムからアンインストールし、前記第２のユーザ識別子が、もはや前記コンピューティング・システムに対する前記第１の特権の少なくとも前記サブセットを有さないようにすることと、
前記第２のユーザ識別子についての前記パスワードを変更し、これによって、前記サードパーティがもはや前記第２のユーザ識別子についての前記パスワードを知らない状態にすることと、
をさらに含む、請求項２に記載の方法。
【請求項４】
前記コード・パッチは有効期限を有し、前記コンピューティング・システムが、前記コード・パッチの前記有効期限が経過した後、前記コード・パッチを前記コンピューティング・システムから自動的にアンインストールし、前記第２のユーザ識別子が、もはや前記コンピューティング・システムに対する前記第１の特権の少なくとも前記サブセットを有さないようにすることをさらに含む、請求項１から請求項３までのいずれかに記載の方法。
【請求項５】
前記コンピューティング・システムの前記第１のユーザ識別子を無効にすることは、前記コンピューティング・システムが、前記第１のユーザ識別子についてのパスワードを、複数の未知のランダムな文字に設定することを含む、請求項１から請求項４までのいずれかに記載の方法。
【請求項６】
前記コンピューティング・システム上に前記コード・パッチをインストールすることは、
前記コンピューティング・システムが、前記コード・パッチの識別子と前記コンピューティング・システムの識別子とを比較して、前記コード・パッチの前記識別子が前記コンピューティング・システムの前記識別子と一致する場合、前記コード・パッチを前記コンピューティング・システム上にインストールすること、
前記コンピューティング・システムが、前記コード・パッチのデジタル署名を検証して、前記コード・パッチの前記デジタル署名が有効である場合、前記コード・パッチを前記コンピューティング・システム上にインストールすること、及び、
前記コンピューティング・システムが、前記コード・パッチの日付を検証して、前記コード・パッチの前記日付が有効である場合、前記コード・パッチを前記コンピューティング・システム上にインストールすること、
のうちの少なくとも１つを含む、請求項１から請求項５までのいずれかに記載の方法。
【請求項７】
前記コンピューティング・システムを提供するエンティティではなく、前記サードパーティが、前記コード・パッチを前記コンピューティング・システム上にインストールすることを可能にするため前記コード・パッチに署名するための前記デジタル署名を知っていることを特徴とする、請求項６に記載の方法。
【請求項８】
前記コード・パッチは、所定ユーザ識別子によって他のユーザ識別子の特権を有した状態でプログラムが実行されることを可能とするコンピュータ・プログラムの実行を用いて、前記第２のユーザ識別子の特権を、前記第１のユーザ識別子の前記第１の特権の少なくとも前記サブセットと同等である特権にまで一時的に高めることによって、前記第１の特権の少なくとも前記サブセットを、前記コンピューティング・システムの前記第２のユーザ識別子に一時的に提供するものである、請求項１から請求項７までのいずれかに記載の方法。
【請求項９】
前記第１のユーザ識別子を用いて前記コンピューティング・システムにアクセスすることなく、前記サードパーティが、前記コンピューティング・システムに関連する前記問題を解決することが可能である、請求項１から請求項８までのいずれかに記載の方法。
【請求項１０】
パスワード・エスクロー・サービスを用いて前記第２のユーザ識別子についてのパスワードにアクセスすることなく、前記サードパーティが、前記コンピューティング・システムに関連する前記問題を解決することが可能である、請求項１から請求項９までのいずれかに記載の方法。
【請求項１１】
前記コード・パッチが前記コンピューティング・システム上にインストールされなかった場合、前記第２の所定のユーザ識別子についてパスワードを知っているユーザは、前記コンピューティング・システムに対する前記第１の特権の少なくとも前記サブセットを有することができない、請求項１から請求項１０までのいずれかに記載の方法。
【請求項１２】
前記第２のユーザ識別子についてのパスワードが提供されなかった場合、前記コンピューティング・システム上にインストールされた前記コード・パッチを提供する前記サードパーティは、前記コンピューティング・システムに対する前記第１の特権の少なくとも前記サブセットを有することができない、請求項１から請求項１１までのいずれかに記載の方法。
【請求項１３】
特権を提供するための装置であって、
コンピューティング・システムの第１のユーザ識別子を無効にするための手段であって、前記第１のユーザ識別子は前記コンピューティング・システムに対する第１の特権を有する、無効にするための手段と、
前記コンピューティング・システムの前記第１のユーザ識別子を無効にすること、及び、前記コンピューティング・システムに関連する問題が、解決するために前記コンピューティング・システムに対する前記第１の特権を必要とすると判断することに応答して、サードパーティから、前記コンピューティング・システム上にインストールするためのコード・パッチを受け取るための手段であって、前記コード・パッチは、前記第１の特権の少なくともサブセットを、前記第１のユーザ識別子以外の前記コンピューティング・システムの第２のユーザ識別子に一時的に提供するためのものであり、前記第２のユーザ識別子は、前記コンピューティング・システムに対する前記第１の特権よりも低い、前記コンピューティング・システムに対する第２の特権を有し、前記コード・パッチは、前記コンピューティング・システム上にインストール可能なコンピュータ・コードを含む、
受け取るための手段と、
前記コード・パッチを前記コンピューティング・システム上にインストールし、前記第２のユーザ識別子が、前記コンピューティング・システムに対する前記第１の特権の少なくとも前記サブセットを一時的に有するようにするための手段と、
を含む装置。
【請求項１４】
前記コンピューティング・システム上に前記コード・パッチをインストールすることに応答して、前記第２のユーザ識別子についてのパスワードを前記サードパーティに提供し、前記サードパーティが、前記コンピューティング・システムに対する前記第１の特権の少なくとも前記サブセットを一時的に有する前記第２のユーザ識別子によって、前記コンピューティング・システムに対する前記第１の特権の少なくとも前記サブセットを用いて、前記コンピューティング・システムに関連する前記問題を解決することを可能にするための手段をさらに含む、請求項１３に記載の装置。
【請求項１５】
前記サードパーティが、前記コンピューティング・システムに対する第１のルート特権を一時的に有する前記第２のユーザ識別子によって、前記コンピューティング・システムに対する前記第１の特権の少なくとも前記サブセットを用いて、前記コンピューティング・システムに関連する前記問題を解決することに応答して、前記コード・パッチを前記コンピューティング・システムからアンインストールし、前記第２のユーザ識別子が、もはや前記コンピューティング・システムに対する前記第１の特権の少なくとも前記サブセットを有さないようにするための手段と、
前記第２のユーザ識別子についての前記パスワードを変更して、前記サードパーティが、もはや前記第２のユーザ識別子についての前記パスワードを知らない状態にするための手段と、
をさらに含む、請求項１４に記載の装置。
【請求項１６】
前記コード・パッチは有効期限を有し、前記コード・パッチの前記有効期限が経過した後、前記コード・パッチを前記コンピューティング・システムから自動的にアンインストールし、前記第２のユーザ識別子が、もはや前記コンピューティング・システムに対する前記第１の特権の少なくとも前記サブセットを有さないようにする、請求項１３から請求項１５までのいずれかに記載の装置。
【請求項１７】
前記コンピューティング・システムの前記第１のユーザ識別子を無効にするための前記手段は、前記第１のユーザ識別子についてのパスワードを、複数の未知のランダムな文字に設定するための手段を含む、請求項１３から請求項１６までのいずれかに記載の装置。
【請求項１８】
前記コンピューティング・システム上に前記コード・パッチをインストールするための前記手段は、
前記コード・パッチの識別子と前記コンピューティング・システムの識別子とを比較して、前記コード・パッチの前記識別子が前記コンピューティング・システムの前記識別子と一致する場合、前記コード・パッチを前記コンピューティング・システム上にインストールするための手段と、
前記コード・パッチのデジタル署名を検証して、前記コード・パッチの前記デジタル署名が有効である場合、前記コード・パッチを前記コンピューティング・システム上にインストールするための手段、及び、
前記コード・パッチの日付を検証して、前記コード・パッチの前記日付が有効である場合、前記コード・パッチを前記コンピューティング・システム上にインストールするための手段、
のうちの少なくとも１つを含む、請求項１３から請求項１７までのいずれかに記載の装置。
【請求項１９】
前記コンピューティング・システムを提供するエンティティではなく、前記サードパーティが、前記コード・パッチに署名するためのデジタル署名を知っており、前記コード・パッチを前記コンピューティング・システム上にインストールすることを可能にする、請求項１８に記載の装置。
【請求項２０】
コンピューティング・システム内にロードされ、そこで実行されるとき、前記コンピューティング・システムに、請求項１から請求項１２までのいずれかに記載の方法の全てのステップを実行させるためのコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、通常はコンピューティング・システムの第１のユーザ識別子と関連したより高い特権を用いてコンピューティング・システムにアクセスすることに関し、より具体的には、こうしたより高い特権を、第１のユーザ識別子以外のコンピューティング・システムの第２のユーザ識別子に一時的に提供することに関する。
【背景技術】
【０００２】
企業のようなビジネス組織などの多くのエンティティ（事業体）は、政府機関のような外部の第三者による審査のためにも保持されている、そのエンティティの効率的な運営にとって重要なデータを格納するために、コンピューティング・システムに依存している。例えば、証券取引委員会（ＳＥＣ）のような政府機関が、必要に応じて後の時点で財務データを審査できるように、企業の財務データを、履歴情報が事後に修正されないような方法で保持しなければならない場合がある。従って、企業のユーザは、自分達がそのような履歴データを潜在的に変更できるような方法で、自分達のコンピューティング・システムにアクセスすることを禁止されている。
【０００３】
エンティティのユーザは、他の様々な理由でも、自分達がそのような履歴データを潜在的に変更できるような方法で自分達のコンピューティング・システムにアクセスすることを禁止されることがある。さらに、エンティティのユーザは、様々な方法及び／又は他の理由でも、自分達のコンピューティング・システムにアクセスすることを禁止されることがある。こうした他の方法及び／又は他の理由には、数ある他の方法、理由の中でも、特定のデータに対する読み取りアクセスでさえも防ぐこと、このようなデータが変更されていないとしても、特定のデータの伝送の遅延を防ぐこと、及び特定のデータを１つのコンピュータ可読ストレージ媒体から別のものに移動させるのを防ぐことが含まれる。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
コンピューティング・システムに対するより高い特権をユーザ識別子に一時的に提供する方法を提供する。
【課題を解決するための手段】
【０００５】
本発明の実施形態の方法が、コンピューティング・システムの第１のユーザ識別子を無効にし、この第１のユーザ識別子はコンピューティング・システムに対する第１の特権を有する。コンピューティング・システムの第１のユーザ識別子を無効にした後、コンピューティング・システムに関連する問題が解決するためにコンピューティング・システムに対する第１の特権を必要とすると判断することに応答して、方法は、以下のことを実行する。方法は、サードパーティ（第三者）から、コンピューティング・システム上にインストールするためのコード・パッチを受け取る。コード・パッチは、コンピューティング・システム上にインストール可能なコンピュータ・コードである。コード・パッチは、第１の特権の少なくともサブセットを、第１のユーザ識別子以外のコンピューティング・システムの第２のユーザ識別子に一時的に提供するためのものであり、第２のユーザ識別子は、通常は、第１の特権より低い、コンピューティング・システムに対する第２の特権を有する。方法は、コンピューティング・システム上にコード・パッチをインストールして、第２のユーザ識別子が、コンピューティング・システムに対する第１の特権の少なくともサブセットを一時的に有するようにする。
【０００６】
本発明の実施形態のコンピュータ・プログラム製品が、コンピュータ可読プログラム・コードが内部に具体化されたコンピュータ可読ストレージ媒体を含む。コンピュータ可読プログラム・コードは、コンピューティング・システムのルートユーザ識別子を無効にするためのコンピュータ可読プログラム・コードを含む。コンピュータ可読プログラム・コードは、コンピューティング・システムに関連する問題が、解決するためにコンピューティング・システムに対するルート特権（root-privilege）を必要とすると判断することに応答して、コンピューティング・システム上にコード・パッチをインストールするコンピュータ可読プログラム・コードをさらに含む。コード・パッチは、コンピューティング・システム上にインストール可能なコンピュータ・コードである。コード・パッチは、ルート特権を、ルートユーザ識別子以外の、コンピューティング・システムの所定のユーザ識別子に一時的に提供するためのものである。コード・パッチは、サードパーティによって提供され、コンピューティング・システムを提供するエンティティによって提供することはできない。コード・パッチがコンピューティング・システム上にインストールされなかった場合、所定のユーザ識別子についてのパスワードを知っているユーザは、コンピューティング・システムに対するルート特権を有することはできない。
【０００７】
好ましくは、コード・パッチは有効期限を有し、有効期限が経過した後、コード・パッチは、コンピューティング・システムから自動的にアンインストールされ、ユーザ識別子は、もはやコンピューティング・システムに対するルート特権を有さなくなる。より好ましくは、コンピュータ・プログラム・コードは、ルートユーザ識別子についてのパスワードを複数の未知のランダムな文字に設定することによって、コンピューティング・システムのルートユーザ識別子を無効にするように動作可能である。さらにより好ましくは、コンピュータ・プログラム・コードは、コード・パッチの識別子がコンピューティング・システムの識別子と一致する場合、コード・パッチのデジタル署名が有効である場合、及びコード・パッチの日付が有効である場合にのみ、コンピューティング・システム上にコード・パッチをインストールするように動作可能であり、コンピューティング・システムを提供するエンティティではなく、サードパーティだけが、コード・パッチに署名するためのデジタル署名を知っており、コード・パッチをコンピューティング・システム上にインストールすることが可能になる。さらにより好ましくは、コード・パッチは、擬似コンピュータ・プログラムの実行を介して、ユーザ識別子の特権をルートユーザ識別子の特権と同等である特権にまで一時的に高めることによって、ルート特権をコンピューティング・システムのユーザ識別子に一時的に提供する。
【０００８】
本発明の実施形態のコンピューティング・システムは、ハードウェアと、ハードウェア上で実行するためのソフトウェアと、セキュリティ・コンポーネントとを含む。ソフトウェアへのアクセスは、ルート特権を有するルートユーザ識別子によって、及び、ルート特権を有さない所定のユーザ識別子によって管理される。所定のユーザ識別子は、ルートユーザ識別子とは異なるユーザ識別子である。セキュリティ・コンポーネントは、ルートユーザ識別子を無効にし、その後、ソフトウェアに関連する問題が、解決するためにルート特権を必要とすると判断することに応答して、コード・パッチをインストールするためのものである。コード・パッチは、コンピューティング・システム上にインストール可能なコンピュータ・コードである。コード・パッチは、ルート特権を所定のユーザ識別子に一時的に提供するためのものであり、サードパーティによって提供され、コンピューティング・システムを提供するエンティティが提供することはできない。コード・パッチがコンピューティング・システム上にインストールされなかった場合、所定のユーザ識別子についてのパスワードを知っているユーザが、ルート特権を有することはできない。
【０００９】
ここで参照される図面は、明細書の一部を形成する。図面に示される特徴は、特に明示的に示されない限り、本発明の全ての実施形態ではなく本発明の幾つかの実施形態のみの説明を意味しており、逆の意味合いは、その他の方法では示されない。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施形態による、方法のフローチャートである。
【図２】本発明の実施形態による、コンピューティング・システムの図である。
【図３】本発明の実施形態による、図２のコンピューティング・システムの部分の詳細な図である。
【発明を実施するための形態】
【００１１】
本発明の例示的な実施形態の以下の詳細な説明において、その一部を形成する添付の図面が参照され、ここにおいて、本発明を実施することができる特定の例示的な実施形態が例証として示される。これらの実施形態は、当業者が本発明を実施することができるように十分に詳細に説明される。他の実施形態を利用することもでき、本発明の範囲から逸脱することなく、論理的変更、機械的変更、及び他の変更をなすこともできる。従って、以下の詳細な説明は、限定する意味で受けとられるべきものではなく、本発明の範囲は、添付の特許請求の範囲によってのみ定められる。
【００１２】
背景技術に記載されるように、エンティティは、事後にデータを修正できないような方法でデータを保持しなければならない場合があるので、エンティティのユーザは、自分達がこの履歴データを潜在的に変更できるような方法で、自分達のコンピューティング・システムにアクセスすることを禁止される。通常、エンティティの１又は複数のユーザは、エンティティのコンピューティング・システムのルートユーザとすることができる。ルートユーザは、コンピューティング・システムに完全にアクセスすることができ、かつ、コンピューティング・システム上に格納されたあらゆるデータを変更することができる。従って、エンティティのユーザが、自分達がコンピューティング・システム上に格納されたデータを潜在的に変更できるような方法でコンピューティング・システムにアクセスすることが禁止されている場合、常にルートユーザであることが許可されるユーザはいない。しかしながら、このことは、コンピューティング・システムがどのように機能しているかに関連する問題を解決するために、コンピューティング・システムに対するルート特権を必要とすることがあるため、潜在的に問題になる。
【００１３】
本発明の実施形態は、コンピューティング・システムに関連するこうした問題を解決することができるが、システムに自由にアクセスできるこの所定のユーザ識別子と関連したユーザのリスクを最小限にするように、コンピューティング・システムの所定のユーザ識別子にルート特権を一時的に提供する。所定のユーザ識別子は、通常はコンピューティング・システムに対するルート特権を有しておらず、システムに対するルートユーザ識別子は恒久的に無効にされる。しかしながら、コンピューティング・システムにより、解決するためにこうしたルート特権を必要とする問題が識別されると、サードパーティがコード・パッチを提供し、このコード・パッチは、システム上にインストールされたときにルート特権を所定のユーザ識別子に一時的に提供する。サードパーティがコード・パッチを提供するので、所定のユーザ識別子を有するユーザが単独でルート特権を取得することはできない。コード・パッチは、コンピュータ・コードの一部、即ちソフトウェアであり、一時的なルート特権を所定のユーザ識別子に提供するために特にシステム上にインストールされる。次いで、この所定のユーザ識別子と関連したユーザは、自分のパスワードをサードパーティに提供するので、サードパーティは、問題を解決することができる。問題が解決されると、コード・パッチはコンピューティング・システムからアンインストールされ、ユーザ識別子は、もはやルート特権を有さなくなり、ユーザはパスワードを変更し、サードパーティは、もはやパスワードを知らない状態になる。
【００１４】
従って、本発明の実施形態は、所定のユーザ識別子を有するユーザが、自分で識別子と関連した特権をルート特権にまで高めることができないことを保証する。むしろ、サードパーティのみが提供できるコード・パッチが必要とされる。さらに、サードパーティは、自分でコンピューティング・システムに対し、ルート特権を有する（root-privileged）アクセスを行うことができず、ユーザにより提供されるパスワードなしに、サードパーティがコンピューティング・システムにアクセスすることはできない。従って、コンピューティング・システムに対するルート特権を有するアクセスを達成するために、ユーザとサードパーティの両方の黙認が必要である。さらに、このようなルート特権を有するアクセスは寿命が短く、システムに関連する問題が解決されると、コード・パッチは自動的に又は手動でコンピューティング・システムからアンインストールされ、所定のユーザ識別子は、もはやルート特権を有さなくなる。
【００１５】
この点において、本発明の手法は、この問題に対する従来技術の解決策とは有利に異なるものであることが留意される。１つの従来技術の手法は、コンピューティング・システムのルートユーザ識別子を恒久的に無効にはせず、むしろ、ルートユーザ識別子についてのパスワードをエスクロー(escrow)する。ルート特権が必要とされる場合、エンティティのユーザとサードパーティの両方がこのような解放を許可するといった、多数の所定の条件が満たされた場合にのみ、ルートユーザ識別子についてのパスワードを解放することができる。しかしながら、パスワードのエスクローは、慎重に扱うべきパスワードのための中央リポジトリの保守を必要とし、この中央リポジトリが、ハッカー、及びエンティティのコンピューティング・システムへのアクセスを望む他の不埒な個人を必然的に引き付けるので、問題がある。
【００１６】
別の従来技術の解決策は、ルートユーザ識別子の使用が、認可された状況のためだけに利用されることを保証するために、セキュリティ管理及びロギング機能の多数のソフトウェア又はハードウェア層をエンティティのコンピューティング・システム内に付加する。しかしながら、こうした付加的な層がコンピューティング・システムに付加されることにより、複雑さとオーバーヘッドがシステムに付加される。結果として、コンピューティング・システムの性能に悪影響を及ぼすことがあり、最悪の場合は、これらの付加的な層のために、コンピューティング・システム内に問題がもたらされることがある。本発明の手法は、本発明の手法がパスワードをエスクローせず、かつ、セキュリティ管理及びロギング機能のソフトウェア又はハードウェア層をコンピューティング・システムに付加しないという点において、両方のこれらの従来技術の解決策とは異なる。
【００１７】
以下に説明される例示的な実施形態において、ルートユーザ識別子以外のユーザ識別子に、コンピューティング・システムに対するルート特権が一時的に提供され、ルートユーザ識別子は無効にされる。しかしながら、より一般的には、第１のユーザ識別子以外の第２のユーザ識別子に、通常は第１のユーザ識別子に与えられる、コンピューティング・システムに対する第１の特権の少なくともサブセットが提供され、第１のユーザ識別子は無効にされる。第２のユーザ識別子は、通常は、第１のユーザ識別子の第１の特権の少なくともサブセットより低い、コンピューティング・システムに対する第２の特権を有する。このように、本発明の実施形態は、より一般的には、通常は、異なる（第１の）ユーザ識別子に与えられるより高い（第１の）特権（例えば、これらのより高い第１の特権の少なくともサブセット）を、コンピューティング・システムの（第２の）ユーザ識別子に一時的に提供し、異なる（第１の）ユーザ識別子を無効にすることに関する。
【００１８】
図１は、本発明の実施形態による方法１００を示す。左欄における方法１００の部分は、エンティティのために提供されたコンピューティング・システムによって又はそのコンピューティング・システムにおいて実行される。例えば、エンティティは、企業、又は別のタイプのビジネス組織若しくは他の組織とすることができる。コンピューティング・システムは、エンティティがコンピューティング・システムを制御することができる点、エンティティにおいてインストールされたコンピューティング・システムを有することができる点、及び／又は、エンティティの効率的な運営のために、タスクを実行するためのコンピューティング・システムの主たるユーザを含むことができる点において、エンティティのために提供されるものである。右欄における方法１００の部分は、エンティティ以外のサードパーティによって又はそのサードパーティにおいて実行される。例えば、サードパーティは、コンピューティング・システムを維持するためにエンティティが契約した支援組織、或いは、コンピューティング・システムをエンティティに対して又はエンティティのために製造又は提供した組織とすることができる。
【００１９】
コンピューティング・システムに対するルートユーザ識別子が無効にされる（１０２）。コンピューティング・システムに対するルートユーザ識別子により、コンピューティング・システムに対する完全かつ自由なアクセスが許可される。ルートユーザ識別子を有するユーザは、格納された全てのデータ、及び、コンピューティング・システムが実行する全てのコンピュータ・プログラムに対する全ての権利及び許可を有する。このようなユーザは、ファイルの所有権の変更、及び１０２４未満の番号が付されたネットワーク・ポートへの結合といった、ルートユーザ識別子を有していない他のユーザができない多くのことを行うことができる。ルートユーザ識別子を有するユーザが実行できる機能は、本明細書においては、ルート特権と呼ばれる。ルートユーザ識別子は、大部分のＵＮＩＸ（登録商標）（ＵＮＩＸは、米国及び他の国々におけるＴｈｅ  Ｏｐｅｎ  Ｇｒｏｕｐの登録商標である）、及び、ＬＩＮＵＸ（登録商標）（Ｌｉｎｕｘは、米国、他の国々、又はその両方におけるＬｉｎｕｓ  Ｔｏｒｖａｌｄｓの登録商標である）オペレーティング・システムを含む、ＵＮＩＸ（登録商標）系オペレーティング・システムにおける、そのような「スーパー・ユーザ」と関連した名前である。ルートユーザ識別子と同等であり、本明細書ではこの用語の下に包含される他のユーザ識別子には、ＭＩＣＲＯＳＯＦＴ（登録商標）ＷＩＮＤＯＷＳ（登録商標）（Ｍｉｃｒｏｓｏｆｔ、Ｗｉｎｄｏｗｓ、Ｗｉｎｄｏｗｓ  ＮＴ及びＷｉｎｄｏｗｓロゴは、米国、他の国々、又はその両方におけるＭｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎ社の登録商標である）オペレーティング・システムのバージョンにおける管理者(administrator)ユーザ識別子が含まれる。ルートユーザ識別子と同等であり、本明細書ではこの用語の下に包含される他のユーザ識別子には、ＢＥＯＳ（登録商標）オペレーティング・システムのバージョンにおけるバロン(baron)・ユーザ識別子、幾つかのＵＮＩＸ（登録商標）オペレーティング・システムにおけるアバター(avatar)・ユーザ識別子、及びＵＮＩＸ（登録商標）オペレーティング・システムのバージョンであるＢＳＤ（登録商標）オペレーティング・システムにおけるｔｏｏｒユーザ識別子も含まれる。
【００２０】
一実施形態において、ルートユーザ識別子についてのパスワードを未知のランダムな文字の長い文字列に設定することによって、コンピューティング・システムに対するルートユーザ識別子が無効にされる。この文字は、マシンによってランダムに選択することができ、それらがどのユーザにも明らかされていないという点で未知のものである。未知のランダムな文字の文字列が長いほど、そのパスワードが不埒なユーザによってハッキングされる可能性が低くなる。例えば、パスワードを、妥当な時間内にハッキングされる可能性が極めて低い、６３以上の未知のランダムな文字に設定することができる。しかしながら、そのパスワードを未知のランダムな文字の長い文字列に設定する以外の他の方法で、ルートユーザ識別子を無効にできることが留意される。
【００２１】
ある時点で、ルートユーザ識別子が無効にされた後、それでもやはり、解決するためにルート特権を必要とする、コンピューティング・システムに関連する問題があるとの判断がなされる（１０４）。場合によっては、部分１０２の実行と部分１０４の実行との間に、数ヶ月又は数年といったかなりの時間が経過し得ると考えられることが留意される。ルートユーザ識別子は、本質的には、ルート特権と関連付けられるが、詳細な説明において後で説明されるように、他のユーザ識別子が一時的にルート特権を与えられることができ、このようなユーザ識別子を有するユーザが、あたかもルートユーザ識別子を有しているようにコンピューティング・システムにアクセスすることができる。コンピューティング・システムのソフトウェアが意図したように動作していないといった、コンピューティング・システムに関連する大部分の問題は、コンピューティング・システムに対するルート特権を必要とせずに解決される可能性が高いと、本発明者が考えていることが留意される。それにもかかわらず、コンピューティング・システムに関連する全ての問題を、ルート特権なしに解決できると保証することはできない。しかしながら、こうした問題に遭遇することは、めったにないと予想される。
【００２２】
解決するためにルート特権を必要とする、コンピューティング・システムに関連する問題があると判断することに応答して、サードパーティに通知され、これに応答して、サードパーティがコード・パッチを提供する（１０６）。コード・パッチは、ルート特権を所定のユーザ識別子に一時的に提供する。例えば、コンピューティング・システムを提供されたエンティティの特定のユーザが、問題を解決するためにサードパーティとの連携に関与することがある。従って、コード・パッチは、このユーザの所定のユーザ識別子に、ルート特権を一時的に提供し、ここでこの所定のユーザ識別子は、ルートユーザ識別子とは異なるものである。コード・パッチは、コンピューティング・システムにおいて受け取られ、インストールされ（１０８）、この所定のユーザ識別子が、コンピューティング・システムに対するルート特権を有するようになる。
【００２３】
一実施形態においては、サードパーティがコード・パッチを開発する前に、所定のユーザ識別子がサードパーティに提供されるので、コード・パッチは、ルート特権を特に所定のユーザ識別子に一時的に提供するように開発される又は書かれる。上述のように、コード・パッチは、コンピューティング・システム上にインストールされたコンピュータ・コードの一部、即ちコンピュータ・ソフトウェアである。さらに、サードパーティがコード・パッチを開発するので、エンティティ自体のユーザは、自分で自分の特権を高めることができない。別の実施形態においては、サードパーティがコード・パッチを開発する前に、所定のユーザ識別子がサードパーティに提供されるわけではないので、コード・パッチは、ルート特権を特に所定のユーザ識別子に一時的に提供するようには開発されない又は書かれない。むしろ、コンピューティング・システムにおいてコード・パッチをインストールする時、コード・パッチは、ルート特権を一時的に提供するユーザ識別子について、ユーザに照会することができる。これに応答して、次にユーザは、その時に所定のユーザ識別子を入力する。
【００２４】
本発明の一実施形態において、コード・パッチは、以下のうちの１つ又は複数を含む。第一に、コード・パッチは、コード・パッチがインストールされるコンピューティング・システムに対応する識別子を有することができる。従って、コンピューティング・システム上にコード・パッチをインストールするプロセスの間、コード・パッチは、この識別子がコンピューティング・システムの識別子と一致する場合にのみ、インストールすることが許可される。識別子は、例えば、コンピューティング・システムの特定のコンピューティング装置の一意のシリアル・ナンバーとすることができる。
【００２５】
第二に、コード・パッチは、サードパーティだけが知っているデジタル署名を有することができる。コンピューティング・システム上にコード・パッチをインストールするプロセスの間、コード・パッチはまた、このデジタル署名が有効であると検証された場合にのみ、インストールすることが許可される。例えば、コンピューティング・システムは、公開キーにアクセスすることができ、サードパーティは、対応する秘密キーにアクセスすることができる。サードパーティがコード・パッチに署名した秘密キーが、コンピューティング・システムに署名された公開キーと一致する場合、そのとき初めて、コード・パッチをコンピューティング・システム上にインストールすることが許可される。エンティティではなく、サードパーティのみが秘密キーにアクセスでき、例えば、エンティティのユーザは、秘密キーにアクセスすることができない。
【００２６】
第三に、コード・パッチは、開始日及び終了日のような日付を有することができる。コンピューティング・システム上にコード・パッチをインストールするプロセスの間、コード・パッチはまた、この日付が有効であると検証された場合にのみ、インストールすることが許可される。例えば、コード・パッチのインストールが許可されるには、現在の日付と時刻は、コード・パッチに付加された開始日から終了日までの間に含まれなければならない。
【００２７】
コード・パッチのこれらのセキュリティ態様は、サードパーティのみが、コンピューティング・システム上へのインストールのためにこうしたコード・パッチを提供することができ、エンティティ及びエンティティのユーザのような他のパーティは、こうしたコード・パッチを提供できないことを保証する。コード・パッチは、所定のユーザ識別子に与えられた特権を一時的にルート特権まで高めるので、コード・パッチは、この識別子についてのパスワードと共に、最終的には、所定のユーザ識別子及びそのパスワードを用いて、コンピューティング・システムに自由にアクセスすることを可能にする。従って、識別子、デジタル署名及び日付は、サードパーティのみがコード・パッチを提供できることを保証する。例えば、パッチをコンピューティング・システム上にインストールすることを可能にするように、エンティティではなく、サードパーティのみが、コード・パッチに署名するためのデジタル署名を知っている。
【００２８】
サードパーティのみがコンピューティング・システム上へのインストールのためのコード・パッチを提供できることを保証するために、コード・パッチは、これらのセキュリティ態様の１つだけ、これらのセキュリティ態様の２つだけ、又はこれらのセキュリティ態様の３つ全てを有し得ることが、さらに留意される。サードパーティだけが、コンピューティング・システム上にインストールするためのコード・パッチを提供できることを保証するために、コード・パッチに関連して他のタイプのセキュリティ態様を実装することもできる。他のタイプのセキュリティ態様を、上述のコード・パッチのセキュリティ態様の１つ又は複数に付加してもよく、或いはその代わりとしてもよい。
【００２９】
コード・パッチは、コンピューティング・システム上にインストールされた（即ち、実行された）とき、所定のユーザ識別子の特権をルートユーザ識別子の特権と同等の特権にまで一時的に高めることなどによって、ルート特権を所定のユーザ識別子に一時的に提供するコンピュータ可読プログラム・コードを含む。一実施形態において、このコンピュータ可読プログラム・コードは、ルートユーザ識別子とは異なる所定のユーザ識別子に関連したｓｕｄｏコンピュータ・プログラムを実行することによって、これを達成する。ｓｕｄｏコンピュータ・プログラムは、大部分のＵＮＩＸ（登録商標）オペレーティング・システム、及び、ＬＩＮＵＸ（登録商標）オペレーティング・システムを含むＵＮＩＸ（登録商標）系オペレーティング・システムにおいて使用可能なコマンドライン・プログラムであり、これにより、プログラムが、ユーザ識別子によって、しかしながら、ルートユーザ識別子のような他のユーザ識別子の特権を有した状態で実行されることが可能になる。
【００３０】
このように、コード・パッチがインストールされると、所定のユーザ識別子は、コンピューティング・システムに対するルート特権を有する。従って、一実施形態において、この所定のユーザ識別子についてのパスワードが、サードパーティに提供される（１１０）。サードパーティは、所定のユーザ識別子についてのパスワードを受け取り、コンピューティング・システムに関連する識別された問題を解決するために、ルート特権を一時的に有するこの識別子、及び、提供されたパスワードを介して、ルート特権を使用する（１１２）。従って、無効にされたルートユーザ識別子自体を介してコンピューティング・システムにアクセスする必要なく、及び、従来技術におけるように、パスワード・エスクロー・サービスを介して識別された所定のユーザについてのパスワードにアクセスする必要なく、サードパーティが、問題を解決することが可能になる。
【００３１】
コード・パッチがコンピューティング・システム上にインストールされなかった場合、この識別子に関連付けられたユーザのような、所定のユーザ識別子についてのパスワードを知っているユーザは、コンピューティング・システムに対するルート特権を有さず、また有することができないことが留意される。これは、通常、所定のユーザ識別子がルートユーザ識別子ではないためである。このようなユーザは、サードパーティからの手助けなしに、コード・パッチを開発し、インストールすることができないので、このことは、ユーザが、通常はコンピューティング・システムに対するルート特権を有することができないことを意味する。
【００３２】
同様に、所定のユーザ識別子についてのパスワードがサードパーティに提供されなかった場合、コード・パッチを提供するサードパーティは、コンピューティング・システムに対するルート特権を有さず、また有することができないことが留意される。これは、通常、サードパーティが所定のユーザ識別子についてのパスワードを有さないためである。通常、サードパーティはこのパスワードを有さないので、このことは、サードパーティもまた、通常はコンピューティング・システムに対するルート特権を有することができないことを意味する。
【００３３】
サードパーティが問題を成功裏に解決すると、コード・パッチがアンインストールされ（１１４）、所定のユーザ識別子についてのパスワードが変更される（１１６）。コード・パッチをアンインストールすることにより、所定のユーザ識別子は、もはやコンピューティング・システムに対するルート特権を有さなくなるので、この識別子に関連付けられたエンティティのユーザは、もはやコンピューティング・システムに自由にアクセスすることができない。さらに、この識別子に関連付けられたエンティティのユーザが所定のユーザ識別子についてのパスワードを変更することにより、サードパーティは、もはや所定のユーザ識別子についてのパスワードを知らない状態になる。このように、サードパーティは、所定のユーザ識別子に関連付けられたユーザの知識及びこのユーザによる支援なしに、この所定のユーザ識別子を用いて、コンピューティング・システムに対するルート特権を後で取得することはできない。
【００３４】
サードパーティがコンピューティング・システムに関連する問題を成功裏に解決すると、コード・パッチを手動でアンインストールすることができる。例えば、コンピューティング・システムに関連する問題を解決した後、サードパーティがコード・パッチを手動でアンインストールすることができ、又は、所定のユーザ識別子に関連付けられたユーザのようなエンティティのユーザが、コード・パッチを手動でアンインストールすることもできる。さらに、コード・パッチは、有効期限を有することができる。有効期限が経過した後、コード・パッチは、エンティティのいずれかのユーザ又はサードパーティによるやりとりなしに、コンピューティング・システムから自動的にアンインストールされる。最良の実施は、コンピューティング・システムに関連する問題が解決された直後に手動でアンインストールが実行されるが、それにもかかわらず、コード・パッチ内に有効期限を与え、このような手動のアンインストールが実行されない場合、最終的には、コード・パッチをそれでもコンピューティング・システムからアンインストールすることができるものとすることができる。
【００３５】
上述した本発明の実施形態においては、コード・パッチがコンピューティング・システム上にインストールされた後、所定のユーザ識別子についてのパスワードがサードパーティに提供され、サードパーティが、コンピューティング・システムに関連する問題を解決することができる。しかしながら、別の実施形態においては、コード・パッチがコンピューティング・システム上にインストールされた後、サードパーティに、所定のユーザ識別子についてのパスワードは提供されない。こうした実施形態においては、サードパーティは、例えば、代わりに問題を解決する方法に関する命令をエンティティのユーザに提供し、これにより、サードパーティに所定のユーザ識別子についてのパスワードを提供しなくても、問題を解決できるようになる。
【００３６】
図２は、本発明の実施形態によるコンピューティング・システム２００を示す。コンピューティング・システム２００は、エンティティの又はエンティティのためのコンピューティング装置２０２を含み、これをエンティティ・コンピューティング装置２０２と呼ぶ。コンピューティング・システム２００は、サードパーティの又はサードパーティのためのコンピューティング装置２０４をさらに含み、これをサードパーティ・コンピューティング装置２０４と呼ぶ。コンピューティング装置２０２及び２０４は、ネットワーク２０６を介して、互いに通信可能に接続される。
【００３７】
エンティティ・コンピューティング装置２０２は、解決するためにルート特権を必要とする、問題が発生したコンピューティング装置である。コード・パッチは、サードパーティ・コンピューティング装置２０４において開発することができる。コード・パッチは、サードパーティ・コンピューティング装置２０４からエンティティ・コンピューティング装置２０２に伝送され、エンティティ・コンピューティング装置２０２においてインストールされる。サードパーティは、コード・パッチをインストールした結果得られるルート特権を有する所定のユーザ識別子についてのエンティティが提供したパスワードを用いて、サードパーティ・コンピューティング装置２０４においてネットワーク上でエンティティ・コンピューティング装置２０２にアクセスすることができる。エンティティ・コンピューティング装置２０２へのこうしたアクセスを介して、サードパーティは、コンピューティング装置２０２に関連する問題を解決し、その後、コード・パッチが装置２０２からアンインストールされ、所定のユーザ識別子についてのパスワードが変更される。
【００３８】
図３は、本発明の実施形態によるエンティティ・コンピューティング装置２０２をより詳細に示す。エンティティ・コンピューティング装置２０２は、ハードウェア３０２及びソフトウェア３０４を含む。ハードウェア３０２は、１つ又は複数のプロセッサ、揮発性メモリ、不揮発性ストレージ・デバイス、及び他のタイプのハードウェアを含むことができる。ソフトウェア３０４は、１つ又は複数のオペレーティング・システム、１つ又は複数のアプリケーション・コンピュータ・プログラム、及び他のタイプのソフトウェアを含むことができる。ソフトウェア３０４は、ハードウェア３０２によって実行され、ハードウェア３０２上で実行される。ソフトウェア３０４へのアクセスは、ルート特権を有するルートユーザ識別子、及び、通常はルート特権を有さない少なくとも１つの所定のユーザ識別子によって管理される。所定のユーザ識別子は、ルートユーザ識別子とは異なる。
【００３９】
エンティティ・コンピューティング装置２０２はまた、ハードウェア３０２の部分とすることができる、コンピュータ可読ストレージ媒体３０６を含むこともできる。コンピュータ可読ストレージ媒体３０６は、ソフトウェア３０４の部分とすることができる、コンピュータ可読プログラム・コード３０８を格納する。コンピュータ可読プログラム・コード３０８は、セキュリティ・コンポーネント３１０を実装する。セキュリティ・コンポーネント３１０は、ルートユーザ識別子を無効にする。その後、ソフトウェア３０４に関連する問題が、解決するためにルート特権を必要とするとの判断がなされることに応答して、セキュリティ・コンポーネント３１０が、コード・パッチをインストールする。
【００４０】
説明したように、コード・パッチは、ルート特権を所定のユーザ識別子に一時的に提供する。コード・パッチは、サードパーティによって提供され、当該エンティティによって提供することはできない。コード・パッチがインストールされなかった場合、所定のユーザ識別子についてのパスワードを知っているユーザは、ルート特権を有さず、また有することができない。サードパーティは、所定のユーザ識別子についてのパスワードが提供され、サードパーティがコード・パッチ及びこのパスワードによりルート特権を有するようになった後、問題を解決するためにソフトウェア３０４にアクセスする。このパスワードが提供されなかった場合、コード・パッチを提供するサードパーティは、ルート特権を有さず、また有することができない。図１の方法に関連して説明されたコード・パッチの他の態様はまた、図２のシステム及び図３のコンピューティング装置に関連した実装にも適している。
【００４１】
本発明の態様を、本発明の実施形態による方法、装置（システム）及びコンピュータ・プログラム製品のフローチャート図及び／又はブロック図を参照して、上述した。フローチャート図及び／又はブロック図の各ブロック、及びフローチャート図及び／又はブロック図内のブロックの組み合わせは、コンピュータ・プログラム命令によって実施することができることが理解されるであろう。これらのコンピュータ・プログラム命令を、汎用コンピュータ、専用コンピュータ、又は他のプログラマブル・データ処理装置のプロセッサに与えてマシンを作製し、コンピュータ又は他のプログラマブル・データ処理装置のプロセッサを介して実行される命令が、フローチャート及び／又はブロック図の１つ又は複数のブロックにおいて指定された機能／行為を実施するための手段を作り出すようにすることができる。
【００４２】
これらのコンピュータ・プログラム命令を、コンピュータ、他のプログラマブル・データ処理装置、又は他のデバイスを特定の方式で機能させるよう指示することができるコンピュータ可読媒体内に格納し、その結果、コンピュータ可読媒体内に格納された命令が、フローチャート及び／又はブロック図の１つ又は複数のブロックにおいて指定された機能／行為を実施する命令を含む製品を生成するようにすることもできる。
【００４３】
コンピュータ・プログラム命令をコンピュータ又は他のプログラム可能データ処理装置上にロードして、一連の動作ステップをコンピュータ又は他のプログラマブル装置、又は他のデバイス上で実行させ、コンピュータ又は他のプログラマブル装置上で実行される命令が、フローチャート及び／又はブロック図の１つ又は複数のブロックにおいて指定された機能／行為を実施するためのプロセスを提供するように、コンピュータにより実施されるプロセスを生成することもできる。
【００４４】
図面内のフローチャート及びブロック図は、本発明の種々の実施形態による、システム、方法及びコンピュータ・プログラム製品の可能な実装の、アーキテクチャ、機能及び動作を示す。この点に関して、フローチャート又はブロック図内の各ブロックは、指定された論理機能を実装するための１つ又は複数の実行可能な命令を含む、モジュール、セグメント又はコードの一部を表すことができる。
【００４５】
幾つかの代替的な実装において、ブロック内に記された機能は、図面に記された順序とは異なる順序で行われることもあることにも留意すべきである。例えば、連続して図示された２つのブロックが実際には実質的に同時に実行されることもあり、又はこれらのブロックは、関与する機能に応じて、ときには逆順で実行されることもある。ブロック図及び／又はフローチャート図の各ブロック、並びにブロック図及び／又はフローチャート図内のブロックの組合せは、指定された機能又は行為を実行する専用ハードウェア・ベースのシステム、又は専用ハードウェアとコンピュータ命令との組合せによって実装することができることにも留意される。
【００４６】
本明細書において特定の実施形態を例示し、説明してきたが、当業者であれば、示される特定の実施形態を、同じ目的を達成することが推定されるどのような配置でも置き換えることもできることが認識されることに、最終的に留意されたい。従って、本出願は、本発明の実施形態のあらゆる適応又は変化を網羅することを意図している。従って、本発明は、特許請求の範囲及びその均等物によってのみ制限されることが明らかに意図されている。
【符号の説明】
【００４７】
１００：方法
２００：コンピューティング・システム
２０２：エンティティ・コンピューティング装置
２０４：サードパーティ・コンピューティング装置
２０６：ネットワーク
３０２：ハードウェア
３０４：ソフトウェア
３０６：コンピュータ可読ストレージ媒体
３０８：コンピュータ可読プログラム・コード
３１０：セキュリティ・コンポーネント
【図１】
0005579856.tif 000002
【図２】
0005579856.tif 000003
【図３】
0005579856.tif 000004