(58)【調査した分野】(Int.Cl.,DB名)
利用者の利用権限を管理し且つ前記利用者の指示とインストーラーを含むファイルとを受け取るログオン処理部と、オペレーティングシステムが記憶される領域を有するドライブ装置と、を有するデータ管理装置であって、
システム権限でアプリケーションのインストールを行うインストール処理部と、
前記利用者の利用権限に拘わらず前記システム権限以外の権限では前記アプリケーションの前記ドライブ装置への書き込みを禁止するデータ処理部と、
を備え、
前記インストール処理部は、
前記利用者が前記アプリケーションのインストールを指示したことを検出したとき、前記ファイルに含まれる前記インストーラーを前記システム権限で起動し、前記データ処理部の影響を受けずに前記システム権限で前記アプリケーションを前記ドライブ装置にインストールする、
データ管理装置。
利用者の利用権限を管理し且つ前記利用者の指示とインストーラーを含むファイルとを受け取るログオン処理部と、オペレーティングシステムが記憶される領域を有するドライブ装置と、を有するデータ管理装置のデータ管理方法であって、
前記利用者がアプリケーションのインストールを指示したことを検出したとき、前記ログオン処理部からプロセス間通信によって前記ファイルを取得する取得手順と、
前記ファイルのハッシュ値が正しいか否かを判別する判別手順と、
前記判別手順によって前記ファイルのハッシュ値が正しいと判別された場合に、取得した前記ファイルを前記ドライブ装置の一時領域に保存する一時領域保存手順と、
前記判別手順で判別した結果、前記ファイルのハッシュ値が正しい場合、公開鍵を用いて、前記ファイルの署名が正しいか否かを判別する署名判別手順と、
前記署名判別手順によって前記ファイルの署名が正しいと判別された場合に、前記一時領域に保存した前記ファイルに含まれる前記インストーラーを起動し、前記利用者の利用権限に拘わらず前記システム権限以外の権限では前記アプリケーションの前記ドライブ装置への書き込みを禁止するデータ処理部の影響を受けずにシステム権限で前記アプリケーションを前記ドライブ装置にインストールするインストール手順と、
前記判別手順によって前記ファイルのハッシュ値が正しくないと判別された場合に、取得した前記ファイルを前記一時領域に保存せず、または前記署名判別手順によって前記ファイルの署名が正しくないと判別された場合に、前記ファイルに含まれる前記インストーラーを起動せず、前記アプリケーションを前記ドライブ装置にインストールできないことを報知する報知手順と、
を含むデータ管理方法。
利用者の利用権限を管理し且つ前記利用者の指示とインストーラーを含むファイルとを受け取るログオン処理部と、オペレーティングシステムが記憶される領域を有するドライブ装置と、を有するデータ管理装置として機能させるデータ管理プログラムをコンピュータに実行させるデータ管理プログラムであって、
前記利用者がアプリケーションのインストールを指示したことを検出したとき、前記ログオン処理部からプロセス間通信によって前記ファイルを取得する取得手順と、
前記ファイルのハッシュ値が正しいか否かを判別する判別手順と、
前記判別手順によって前記ファイルのハッシュ値が正しいと判別された場合に、取得した前記ファイルを前記ドライブ装置の一時領域に保存する一時領域保存手順と、
前記判別手順で判別した結果、前記ファイルのハッシュ値が正しい場合、公開鍵を用いて、前記ファイルの署名が正しいか否かを判別する署名判別手順と、
前記署名判別手順によって前記ファイルの署名が正しいと判別された場合に、前記一時領域に保存した前記ファイルに含まれる前記インストーラーを起動し、前記利用者の利用権限に拘わらず前記システム権限以外の権限では前記アプリケーションの前記ドライブ装置への書き込みを禁止するデータ処理部の影響を受けずにシステム権限で前記アプリケーションを前記ドライブ装置にインストールするインストール手順と、
前記判別手順によって前記ファイルのハッシュ値が正しくないと判別された場合に、取得した前記ファイルを前記一時領域に保存せず、または前記署名判別手順によって前記ファイルの署名が正しくないと判別された場合に、前記ファイルに含まれる前記インストーラーを起動せず、前記アプリケーションを前記ドライブ装置にインストールできないことを報知する報知手順と、
を実行するデータ管理プログラム。
【発明を実施するための形態】
【0019】
以下、図面を参照しながら本発明の実施形態について説明する。
【0020】
<第1実施形態>
図1は、本実施形態に係るデータ管理装置1のハードウェア構成を示すブロック図である。
図1に示すように、データ管理装置1は、操作部11、表示部12、通信部13、CPU(中央処理装置)14、入出力部15、光学ドライブ装置16、記憶部17、及びドライブ装置18を備える。
【0021】
データ管理装置1は、パーソナルコンピュータ(以下、PCという)であり、例えばデスクトップ型あるいはノート型のPCである。データ管理装置1は、有線または無線のネットワーク2を介して、サーバー装置(不図示)、他のPC(不図示)、ネットワークドライブ装置3と接続される。
【0022】
操作部11は、例えばキーボード、マウス、タッチパネル等である。操作部11は、データ管理装置1を使用する利用者の操作に応じた指示を検出し、検出した指示をCPU14に出力する。なお、指示は、アプリケーションのインストール指示、インストール処理中の画面操作結果等を含む。
【0023】
表示部12は、例えば液晶表示装置や有機EL表示装置等である。表示部12は、CPU14が出力する各種情報を表示する。
通信部13は、有線または無線の通信装置である。
【0024】
CPU14は、ドライブ装置18が記憶するOS(オペレーションシステム)、各種ドライバの制御に応じて、
図1に示したブロックの各々を制御する。CPU14は、操作部11がアプリケーションをインストールする指示を出力したとき、アプリケーションのインストール処理を行う。なお、各種ドライバ及びアプリケーションのインストール処理については、後述する。
【0025】
入出力部15は、例えばUSB(Universal Serial Bus;ユニバーサル・シリアル・バス)端子を含む。入出力部15は、CPU14の制御に応じて、記録媒体Uから情報を読み出し、記録媒体Uに情報を書き込む。記録媒体Uは、例えばUSBメモリ(フラッシュドライブともいう)である。
光学ドライブ装置16は、例えばCD−ROM又はDVD(登録商標)−ROM等の読み取り可能な記録媒体Dに記録されているデータの読み出しを行う。
なお、本実施形態では、記録媒体Dまたは記録媒体Uに、利用者がデータ管理装置1にインストールしたいアプリケーションのインストーラー、インストールに必要なファイル等が記憶または記録されている。
【0026】
記憶部17は、RAM(Random Access Memory)等の揮発性を有する半導体メモリである。なお、記憶部17が記憶する各種データは、データ管理装置1がシャットダウン(電源遮断)され、再起動され、あるいはログオフ等されると消去される。
【0027】
ドライブ装置18は、HDD(ハードディスクドライブ)やSSD(ソリッドステートドライブ)等の不揮発性の二次記憶装置である。ドライブ装置18は、予めインストールされたOSを記憶する。なお、以下の説明では、OSが、Windows(登録商標)の例を説明する。
【0028】
なお、
図1に示した構成は一例であり、データ管理装置1の構成はこれに限られない。例えば、データ管理装置1は、入出力部15と光学ドライブ装置16のうち、少なくとも1つを備えていればよい。
【0029】
次に、データ管理装置1のソフトウェア構成例を説明する。なお、以下の説明では、OSがWindows(登録商標)の例を説明する。
図2は、本実施形態に係るデータ管理装置1のソフトウェア構成を示すブロック図である。
図2に示すように、データ管理装置1は、ULP101(ログオン処理部)、サービス102(インストール処理部)、インストールプロセス103(インストール処理部)、及びフィルタドライバー104(データ処理部)を備える。
【0030】
なお、サービス102、インストールプロセス103、及びフィルタドライバー104は、データ管理装置1にインストールされている。そして、サービス102、インストールプロセス103、及びフィルタドライバー104は、CPU14が実行することによって実現される。また、ドライブ装置18は、アプリケーションやOSの領域181と一時領域182を備える。また、ネットワークドライブ装置3は、ユーザーデータの領域31を備える。
【0031】
ULP101(ユーザーログオンプロセス)は、利用者の利用権限が管理者権限であるか否かを管理する。ULP101は、例えばOSが提供する。また、ULP101は、利用者の指示とインストーラーを含むファイルを受け取り、受け取ったファイルをサービス102に渡す(ロード(load)する)。利用権限が管理者権限である場合、ULP101は、ドライブ装置18のアプリケーションやOSの領域181へのアプリケーションの書き込み(インストール)を許可し、ネットワークドライブ装置3のユーザーデータの領域31へのファイルの書き込みを許可する。利用権限が管理者権限ではない場合、ULP101は、ドライブ装置18のアプリケーションやOSの領域181へのアプリケーションの書き込みを禁止し、ネットワークドライブ装置3のユーザーデータの領域31へのファイルの書き込みを許可する。
【0032】
サービス102は、OSに常駐し利用者とのやりとり無しで特定機能をシステム(SYSYEM)権限で実行する。なお、サービス102は、Windows(登録商標)におけるWindows(登録商標)サービスである。また、システム権限とは、Windows(登録商標)におけるサービスを起動するために用意された専用のビルトイン・アカウントで、管理者権限と同様の権限を有している。本実施形態では、システム権限でインストール処理が実施される場合、フィルタドライバー104によるドライブ装置18のアプリケーションの禁止の制約を受けずに、ドライブ装置18のアプリケーションのインストールを行う。また、サービス102は、OSのブート時に起動するよう設定でき、OSが動作中、常にバックグラウンドで動作する。サービス102は、アプリケーションのインストール時、ULP101がプロセス間通信によってロードしたアプリケーションインストーラー121を、システム権限でドライブ装置18の一時領域182に書き込む。なお、アプリケーションインストーラー121には、アプリケーションのインストールを実行するインストーラー、インストールに必要なファイル等が含まれる。サービス102は、一時領域182に記憶したアプリケーションインストーラー121に含まれるインストーラーをシステム権限で起動することで、インストールプロセス103を実行する。
【0033】
インストールプロセス103は、ULP101に指示し、インストール作業時に表示される表示画像(ウィンドウステーション)を、利用者権限の表示画像に対応つけ、利用者の指示に応じて、ドライブ装置18のアプリケーションやOSの領域181へアプリケーションを書き込む(インストールする)。なお、ウィンドウステーションの画像は、アプリケーションのライセンス許諾の画像、アプリケーションのインストール先の選択画像、アプリケーションで使用する言語の選択画像等である。そして、これらの画像それぞれには、「はい」と「いいえ」等のボタンが含まれる。利用者は、ウィンドウステーションに含まれる「はい」と「いいえ」等のボタンを選択することで、インストールを進める指示を行う。
【0034】
フィルタドライバー104は、利用権限が管理者権限であっても、ドライブ装置18のアプリケーションやOSの領域181へのアプリケーションのインストールを禁止し、ネットワークドライブ装置3のユーザーデータの領域31へのファイルの書き込みを許可する。なお、フィルタドライバー104は、Windows(登録商標)において、デバイス、デバイスクラス、またはバスに対する入出力要求をフィルター処理するオプションタイプのドライバーである。
【0035】
次に、アプリケーションのインストール処理の手順を説明する。
図3は、本実施形態に係るアプリケーションのインストール処理のフローチャートである。なお、利用者は、例えば記録媒体Uに記録されたアプリケーションのインストーラーを含むファイルを、例えばデータ管理装置1の管理者から入手する。また、記録媒体Uに記録されたアプリケーションは、インストーラー、インストールに必要なファイル等がまとめられた1つのファイルアーカイブ(アプリケーションインストーラー121)にまとめられている。ファイルの拡張子は、例えば.tpkである。
【0036】
(ステップS1、取得手順)ULP101は、利用者がデータ管理装置1に利用者権限でログイン作業を行った結果に応じて、利用者権限でログインしていることをOSへ伝達する。続けて、利用者は、記録媒体Uを、データ管理装置1に挿す。続けて、ULP101は、記録媒体Uが記録している拡張子が.tpkのファイルに対応するアイコンを表示部12に表示する。続けて、利用者は、拡張子が.tpkのファイルに対応するアイコンを、操作部11を操作してダブルクリックする。続けて、ULP101は、拡張子が.tpkのファイルに対応するファイルアーカイブ(アプリケーションインストーラー121)を記録媒体Uから読み出し、読み出したファイルアーカイブ(アプリケーションインストーラー121)をプロセス間通信によってサービス102にロードする。
【0037】
(ステップS2、抽出手順)サービス102は、ULP101がロードしたファイルアーカイブからインストーラー等のファイルを取り出す。
(ステップS3、判別手順)サービス102は、ファイル毎のハッシュ値をハッシュ関数を用いて算出し、算出したハッシュ値を確認することで、取り出したファイルが正しいか否かを判別する。なお、本実施形態におけるハッシュ値とは、ファイルアーカイブに含まれるすべてのファイル個々のハッシュ値である。サービス102は、ファイル毎にハッシュ値が正しいか否かを判別することで、ハッシュ値とファイルの実体が正しいか否かを判別する。サービス102は、ファイルが正しいと判別した場合(ステップS3;YES)、ステップS5の処理に進め、ファイルが正しくないと判別した場合(ステップS3;NO)、ステップS4の処理に進める。
【0038】
(ステップS4、報知手順)サービス102は、ファイルが正しくないと判別した場合、「インストールが許可されていないアプリケーションであるため、インストールができません」等のエラーメッセージを表示部12に表示することで報知する。報知後、サービス102は、処理を終了する。
【0039】
(ステップS5、インストール手順)サービス102は、ULP101がロードしたファイルアーカイブから取り出したファイルを、システム権限でドライブ装置18の一時領域182に書き込むことで移動させる。
(ステップS6、インストール手順)サービス102は、ファイルアーカイブが含む複数のファイルの全てに対して、ステップS2〜S5の処理を行う。サービス102は、ファイルアーカイブの最後(複数のファイルのうちの最後のファイル)に到達したか否かを判別する。サービス102は、ファイルアーカイブの最後に到達したと判別した場合、ファイルアーカイブのロード処理を終了する。サービス102は、ファイルアーカイブの最後に到達していないと判別した場合、ステップS2に処理を戻す。
【0040】
(ステップS7、インストール手順)ファイルアーカイブのロード処理{ステップS0(ステップS1〜S6)}終了後、ファイルが全て正しい場合、サービス102は、一時領域182に記憶させたファイルに含まれるインストーラーをシステム権限で起動することで、インストールプロセス103を実行する。続けて、インストールプロセス103は、ULP101に指示し、インストール作業時に表示される表示画像(ウィンドウステーション)を、利用者権限の表示画像に対応つけ、利用者の指示に応じて、ドライブ装置18のアプリケーションやOSの領域181へアプリケーションを書き込むことでインストールする。インストールプロセス103は、インストール完了後、インストールが完了したことを示す情報をサービス102に渡す。
【0041】
(ステップS8)サービス102は、インストールが完了したことを示す情報を受信したとき、一時領域182に記憶したファイルをシステム権限で削除する。
以上で、アプリケーションのインストール処理を終了する。その後、利用者は、データ管理装置1から記録媒体Uを抜く。
【0042】
図3に示した処理では、管理者から提供されたアプリの拡張子が決まっている例を示したが、これに限られない。例えば、管理者が、予めウィルスやマルウェアが混入されるおそれがないことを確認済みのアプリケーションを記録媒体Dや記録媒体Uに記録して、利用者に渡しようにしてもよい。この場合、CPU14は、
図3のステップS1の処理後、S2、S3の処理を飛ばしてステップS5の処理に進むようにしてもよい。また、拡張子は.tpkに限られず、予め定められた拡張子であってもよい。
これにより、管理者権限を有さない利用者が、データ管理装置1に安全にアプリケーションをインストールすることができる。また、管理者のインストールの作業を低減することができる。
【0043】
ここで、データ管理装置1に利用者権限でログインして、インストーラーが実行されたときにデスクトップに表示されるウィンドウステーションの例を説明する。
【0044】
図4は、インストーラーが実行されたときにデスクトップに表示されるウィンドウステーションの例を示す図である。
図4において、画像g100は、サービス102とフィルタドライバー104がインストールさているデータ管理装置1において、インストーラーがシステム権限でサービス102によって実行されたときにデスクトップに表示されるウィンドウステーションg101の例である。画像g110は、仮にフィルタドライバー104のみがインストールさているデータ管理装置1において、インストーラーが実行されたときにデスクトップに表示されるウィンドウステーションg111の例である。
【0045】
サービス102とフィルタドライバー104がインストールさているデータ管理装置1において、インストーラーが実行された場合、ウィンドウステーションg101が表示される。この場合、サービス102がシステム権限でインストールの処理を実行する。このため、ウィンドウステーションg101には、例えば、インストール先のディレクトリを選択する欄やボタンの画像、1つ前の処理に戻す「戻る」ボタンg102、インストール作業を中止する「キャンセル」ボタンg103、処理を次に進める「次へ」ボタンg104が含まれる。すなわち、利用者権限でログインしていても、インストール作業がサービス102によってシステム権限で実行されているため、管理者権限でログインしてインストール作業を行ったときの表示画像であるウィンドウステーションg101が表示される。
【0046】
一方、仮にフィルタドライバー104のみがインストールさているデータ管理装置1において、インストーラーが実行された場合、ウィンドウステーションg111が表示される。この場合、サービス102がインストールされていないので、利用者権限でインストールの処理が実行される。このため、ウィンドウステーションg111には、例えば、「このコンピュータの制限により、処理は取り消されました。システム管理者に問い合わせてください。」等のインストールができないことを報知する画像が含まれる。また、仮にデータ管理装置1に管理者権限でログインしてアプリケーションのインストール作業を行っても、フィルタドライバー104によって、ドライブ装置18への書き込み(インストール)が拒否される。
【0047】
以上のように、本実施形態では、利用者が利用者権限でデータ管理装置1にログインし、アプリケーションのインストールを行う場合、OSに常駐するサービス102がシステム権限でドライブ装置18にアプリケーションをインストールする。
これにより、本実施形態によれば、利用者に管理者権限のユーザー名やパスワードを知らせることなく、ドライブ装置18にアプリケーションをインストールすることができる。これにより、データ管理装置1に安全にアプリケーションを安全にインストールすることができ、且つデータ管理装置1の管理者のインストール作業を低減することができる。
【0048】
また、本実施形態では、サービス102が、ファイルアーカイブに含まれるファイル毎にハッシュ値を確認し、ハッシュ値が正しいファイルを一時領域182に記憶させるようにした。これにより、本実施形態では、例えば改さんされたファイルアーカイブを実行しようとしても、サービス102がインストールを許可しない(または実行しない)ので、ライセンス違反やマルウェアの進入を防ぐことができる。
【0049】
また、本実施形態では、アプリケーションインストーラー121を、プロセス通信によってULP101からサービス102へロードする。この時点では、まだサービス102によるファイルアーカイブに含まれるファイル毎のハッシュ値の確認等が行われていない。このため、ドライブ装置18に書き込むとウィルスやマルウェアの感染のおそれがある。このため、本実施形態では、アプリケーションインストーラー121を、プロセス通信によってULP101からサービス102へロードすることで、ドライブ装置18に書き込むとウィルスやマルウェアの感染を防ぐことができる。
【0050】
<第2実施形態>
第1実施形態では、管理者が確認済のアプリケーションインストーラー121が記録された記録媒体Dまたは記録媒体Uから、ファイルアーカイブに含まれるファイル毎のハッシュ値を確認することで、サービス102がシステム権限でアプリケーションをインストールする例を説明した。本実施形態では、記録媒体Dや記録媒体Uに記録されたアプリケーションインストーラー121が暗号鍵で暗号化されている例を説明する。
【0051】
まず、管理者のコンピュータ4の構成について説明する。
図5は、本実施形態に係る管理者のコンピュータ4のハードウェア構成を示すブロック図である。
図5に示すように、管理者のコンピュータ4は、操作部41、表示部42、通信部43、CPU44、入出力部45、光学ドライブ装置46、記憶部47、及びドライブ装置48を含んで構成される。操作部41は操作部11(
図1)と同等であり、表示部42は表示部12(
図1)と同等であり、通信部43は通信部13(
図1)と同等である。また、入出力部45は入出力部15(
図1)と同等であり、記憶部47は記憶部17(
図1)と同等であり、光学ドライブ装置46は光学ドライブ装置16(
図1)と同等である。
【0052】
CPU44は、ドライブ装置48が記憶するOS、各種ドライバの制御に応じて、
図1に示したブロックの各々を制御する。CPU44は、操作部41がファイルアーカイブを作成する指示を出力したとき、ドライブ装置48が記憶する秘密鍵を用いてファイルアーカイブを作成する。なお、ファイルアーカイブ、およびファイルアーカイブの作成については、後述する。
【0053】
ドライブ装置48は、HDDやSSD等の不揮発性の二次記憶装置である。ドライブ装置48は、予めインストールされたOSを記憶する。ドライブ装置48は、後述する秘密鍵と公開鍵を記憶する。
【0054】
次に、管理者のコンピュータ4におけるファイルアーカイブの作成手順を説明する。
図6は、本実施形態に係る管理者のコンピュータ4におけるファイルアーカイブの作成手順と、データ管理装置1におけるファイルアーカイブのインストール手順を示す図である。なお、管理者のコンピュータ4は、管理者が管理者権限でログインして操作しているとする。
【0055】
(ステップS201)管理者のコンピュータ4のCPU44は、インストールするアプリケーションのインストーラーやインストールに必要なアプリケーションファイルを取得する。
(ステップS202)CPU44は、公開鍵202と秘密鍵を取得する。なお、公開鍵202と秘密鍵は、予め管理者のコンピュータ4のドライブ装置に記憶されていてもよい。
【0056】
(ステップS203)CPU44は、公開鍵202をデータ管理装置1に、例えば記録媒体Dや記録媒体Uを介して渡す。
(ステップS204)CPU44は、取得したアプリケーションファイルに対してファイル毎にハッシュ関数を用いてハッシュ値を生成し、生成したハッシュ値を例えば横に並べて統合する。続けて、CPU44は、統合したハッシュ値を秘密鍵を用いて暗号化することでデジタル署名を行う。なお、ファイルアーカイブ204には、インストーラー、アプリケーションのインストールに必要なファイル等が含まれている。また、デジタル著名により、ファイルアーカイブ204には、著名データが含まれていると言える。なお、ファイルアーカイブ204の拡張子は、例えば予め定められている.tpkである。
【0057】
ここで、ファイルアーカイブの作成時に、管理者のコンピュータ4の表示部42上に表示される操作画面の例を説明する。
図7は、本実施形態に係るファイルアーカイブの作成時に、管理者のコンピュータ4の表示部42上に表示される操作画面g200の例である。
図7に示すように、操作画面g200には、アプリケーション名欄g201、インストール実行コマンドライン欄g202、アンインストール登録名欄g203、タブg204、コメント欄g205、およびファイル登録欄g206が含まれる。
【0058】
アプリケーション名欄g201は、アプリケーション名を入力する欄である。インストール実行コマンドライン欄g202は、インストールの実行時のオプション等を設定する欄である。アンインストール登録名欄g203は、アンインストールする際にどのアプリケーションをアンインストールするのか判定させるために表示される名称を入力する欄である。タブg204は、管理者のコンピュータに既にインストールされているアプリケーションを表示させ、その中からアンインストールするアプリケーション名を選択するタブである。コメント欄g205は、コメントを入力する欄である。ファイル登録欄g206は、ファイルアーカイブに含めるファイルの登録を行う欄である。
【0059】
上述した例では、暗号鍵を用いてファイルアーカイブ204に署名を埋め込む例を説明したが、これに限られない。ファイルアーカイブ204に署名を埋め込む他の例を説明する。
CPU44は、ファイルアーカイブ204に含まれるすべてのファイル個々のハッシュ値を算出する。なお、CPU44は、例えばハッシュ関数によってハッシュ値を算出する。次に、CPU44は、算出した個々のハッシュ値を、例えば横一列に並べて統合する。次に、CPU44は、統合されたハッシュ値にデジタル署名を付与する。すなわち、CPU44は、元のファイルやアーカイブファイルそのものに署名するのではなく、統合されたハッシュ値に対して署名を行う。
【0060】
これにより、データ管理装置1のCPU14は、含まれたファイルが1つでも改ざんされたり、破壊されたりしたことを検知することができる。また、ファイル1つ1つにデジタル署名をした場合は、その検証にはファイル全体を読み込む必要があるため、署名の確認処理にCPU14の演算量や演算に用いる記憶部17の領域が大きい。一方、統合されたハッシュ値に対して署名することで、署名の確認処理にCPU14の演算量や演算に用いる記憶部17の領域を低減することができる。
【0061】
次に、データ管理装置1におけるファイルアーカイブのインストール手順について、
図6を参照しつつ、
図8を用いて説明する。
図8は、本実施形態に係るアプリケーションのインストール処理のフローチャートである。なお、
図3の処理と同じ処理については同じ符号を用いる。また、データ管理装置1において、予めサービス102に公開鍵202が組み込まれている。また、データ管理装置1の構成は、
図1に示した構成と同様である。
【0062】
(ステップS0)ULP101およびサービス102は、ファイルアーカイブのロード処理(
図3、ステップS1〜S6)を行う。
【0063】
ステップS0の処理の結果、全てのファイルのハッシュ値が正しい、すなわちファイルが正しい場合、サービス102は、署名の確認処理(ステップS10;ステップS11〜S14)を開始する。
【0064】
(ステップS11、署名判別手順)サービス102は、一時領域182に記憶させた各ファイルのハッシュ値を統合する。
(ステップS12、署名判別手順)サービス102は、一時領域182に記憶させたファイルアーカイブ204に含まれている暗号化されたハッシュ値を著名データとして抜き出す(抽出する)。
【0065】
(ステップS13、署名判別手順)サービス102は、ステップS12で抽出した著名データであるハッシュ値を、組み込まれている公開鍵を用いて復号する。続けて、サービス102は、ステップS11で統合したハッシュ値と、復号したハッシュ値とを比較する。続けて、サービス102は、比較した結果、両方が一致する、すなわち著名データが正しいか否かを判別する。サービス102は、署名データが正しいと判別した場合(ステップS13;YES)、著名データである暗号化されたハッシュ値が管理者が持つ秘密鍵で暗号化すなわち著名されたものであると判別し、署名の確認処理を終了する。また、サービス102は、署名データが正しくないと判別した場合(ステップS13;NO)、ステップS14に処理を進める。
【0066】
(ステップS14、報知手順)サービス102は、例えば
図3のステップS4と同様に処理を行って、報知後、処理を終了する。
【0067】
(ステップS7〜ステップS8、インストール手順)署名の確認処理(ステップS10)終了後、サービス102は、ファイルの著名が正しい場合、
図3のステップS7〜ステップS8と同様に処理を行い、ドライブ装置18のアプリケーションやOSの領域181へアプリケーションを書き込むことでインストールする。
【0068】
なお、利用者が使用するデータ管理装置1の表示部12上に表示される画像は、例えば
図4に示した画像g100と同様である。
【0069】
次に、データ管理装置1において、インストールされたアプリケーションを削除する場合の手順を説明する。
上述したサービス102やフィルタドライバー104がインストールされていないOSの場合、利用者権限でログインしている利用者がインストールされているアプリケーションを削除するために、利用者は操作部11を操作して、例えばコントロールパネルの中にあるプログラムを選択する。次に、利用者は、表示されたプログラムのリストから削除したいアプリケーションを選択する。
サービス102やフィルタドライバー104がインストールされていないデータ管理装置1では、アンインストールを実行しようとしても、OSによって例えば「管理者権限がないため、アンインストールできません。管理者権限のあるユーザーでアンインストールを行って下さい。」と報知される。
【0070】
一方、サービス102やフィルタドライバー104がインストールされている場合、利用者は、サービス102を起動する。サービス102は、データ管理装置1にサービス102が管理者権限でインストールしたアプリケーションのリストを表示する。
図9は、本実施形態に係るアンインストール時にサービス102によって表示される操作画面g300の例である。
図9に示す例では、1つのアプリケーション「photo office pro」がインストールされている例である。利用者は、操作部11を操作して、「photo office pro」を示す画像g301を選択する。サービス102は、「photo office pro」を示す画像g301が選択されたことを検出し、検出した結果に応じて「photo office pro」を管理者権限でドライブ装置18からアンインストール作業を行う。
【0071】
これにより、第2実施形態によれば、第1実施形態と同様に利用者に管理者権限のユーザー名やパスワードを知らせることなく、ドライブ装置18にアプリケーションを安全にインストールすることができる。これにより、データ管理装置1の管理者のインストール作業を低減することができる。
【0072】
また、本実施形態では、サービス102が、ファイルアーカイブ204が正しいか否かを、ファイルアーカイブ204に含まれる著名に対して公開鍵を用いて判別するようにした。これにより、本実施形態では、管理者の署名が正しくない、すなわち不適切なアプリケーションのインストールを実行しようとしても、サービス102がインストールを許可しないので、ライセンス違反やマルウェアの進入を防ぐことができる。
【0073】
また、本実施形態によれば、管理者が署名したファイルアーカイブ204を、例えば記録媒体Dや記録媒体Uに記録して利用者に渡すことで、利用者権限でログインされているデータ管理装置1において、サービス102がシステム権限で安全にアプリケーションをインストールすることができる。これにより、本実施形態によれば、管理者のインストール作業を低減することができる。
【0074】
<変形例>
ここで、第1実施形態または第2実施形態の変形例を説明する。
図10は、変形例のブロック図である。
図10に示すように、データ管理装置1は、ネットワーク2を介してサーバー6に接続されている。また、サーバー6には、データベース5が接続されている。データベース5は、アプリケーション毎にインストール可能な数、現在インストールされている数が対応付けて格納している。また、ネットワーク2には、複数のデータ管理装置1が接続されているとする。
【0075】
次に、サービス102が行う処理の一例を、
図8を参照しつつ説明する。
サービス102は、ステップS13の処理後、インストールしようとしているアプリケーションが契約しているライセンス数以内であるかを、ネットワーク2を介してサーバー6に問い合わせる。サーバー6は、データ管理装置1からの問い合わせに応じて、ライセンス数以内であるか否かを、データベース5を参照して判別する。サーバー6は、判別した結果を、ネットワーク2を介してデータ管理装置1に送信する。サービス102は、サーバー6から受け取った結果がライセンス数以内であることを示す場合、処理をステップS5に進める。一方、サービス102は、サーバー6から受け取った結果がライセンス数以内でないことを示す場合、処理をステップS4に進める。
【0076】
例えば、第1の利用者が、管理者から提供された記録媒体Dを入手する。そして、第1の利用者が使用しているデータ管理装置1は、記録媒体Dに記録されているアプリケーションを自装置にインストールする。この時点で、アプリケーションのライセンス数が、契約数の上限に達したとする。その後、第1の利用者が、管理者に無断で第2の利用者に記録媒体Dを渡したとする。この場合、第2の利用者が使用しているデータ管理装置1は、記録媒体Dに記録されているアプリケーションを自装置にインストールしようとしても、サーバー6に問い合わせた結果がライセンス数以上であるため、インストール作業を行わない。
【0077】
以上のように、変形例によれば、アプリケーションのインストール数を、ライセンスを受けている数が越えないように管理することができるので、ライセンス違反を防ぐことができる。
【0078】
なお、上述した実施例では、データ管理装置1が、パーソナルコンピュータの例を説明したが、これに限られない。データ管理装置1は、入出力部15を備える例えばタブレット端末等であってもよい。
【0079】
また、上述した例では、OSがWindows(登録商標)の例を説明したが、これに限られない。他のOSにおいては、利用者権限ではなく管理者権限と同様の権限で処理実行するサービスに相当する機能であってもよい。