(57)【要約】【課題】簡易な手法でＵＳＢメモリデバイスを使用可能なユーザを制限する。【解決手段】  ＵＳＢデバイスの接続を検出し、ＵＳＢデバイスのＵＳＢデバイスクラスを判定するＵＳＢデバイス認識部１２３と、ＵＳＢデバイスクラスがメモリデバイスを示すクラスであるとき、ユーザ認証を行うユーザ認証プログラム１３６と、を備える。ＵＳＢデバイス認識部１２３はユーザ認証が成功したときＵＳＢデバイスを有効化する。【選択図】図１
2018106254.tif 000002
【特許請求の範囲】
【請求項１】
ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）デバイスの接続を検出し、前記ＵＳＢデバイスのＵＳＢデバイスクラスを判定するＵＳＢデバイス認識部と、
前記ＵＳＢデバイスクラスがメモリデバイスを示すクラスであるとき、ユーザ認証を行うユーザ認証部と、を備え、
前記ＵＳＢデバイス認識部は、前記ユーザ認証部でユーザ認証が成功したとき、前記ＵＳＢデバイスを有効化する、制御サーバ。
【請求項２】
前記ユーザ認証部は、さらに、前記ユーザに対応付けられている所定の有効化条件が満たされるか否かを判定し、
前記ＵＳＢデバイス認識部は、前記ユーザ認証部でユーザ認証が成功し、かつ、前記有効化条件が満たされるときは、前記ＵＳＢデバイスを有効化する、請求項１記載の制御サーバ。
【請求項３】
前記有効化条件は、少なくとも、時刻に関する条件及びＵＳＢポートに関する条件のいずれか一方を含む、請求項２記載の制御サーバ。
【請求項４】
ユーザとアプリケーションとを対応付けるアプリケーション情報を記憶する記憶部と、
前記ＵＳＢデバイスが有効化されているときに前記ユーザからアプリケーションの起動要求を受け付けると、前記アプリケーション情報に基づいて前記アプリケーションの起動可否を判定するアプリケーション管理部と、をさらに備える請求項１記載の制御サーバ。
【請求項５】
前記ユーザ認証部は、少なくとも、ユーザに関する情報及び前記ＵＳＢデバイスが挿入されたＵＳＢポートの識別情報に基づいてユーザ認証を行う、請求項１記載の制御サーバ。
【請求項６】
前記ユーザ認証処理は、ユーザ別ＵＳＢポート別に定められた識別情報に基づいてユーザ認証を行う、請求項５記載の制御サーバ。
【請求項７】
制御サーバがＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）ポートに接続されたＵＳＢメモリデバイスを有効化するためのコンピュータプログラムであって、
ＵＳＢデバイスの接続を検出し、前記ＵＳＢデバイスのＵＳＢデバイスクラスを判定する処理と、
前記ＵＳＢデバイスクラスがメモリデバイスを示すクラスであるとき、ユーザ認証を行う処理と、
前記ユーザ認証部でユーザ認証が成功したとき、前記ＵＳＢデバイスを有効化する処理と、を前記制御サーバに実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＵＳＢメモリデバイスを使用可能にする制御サーバに関する。
【背景技術】
【０００２】
情報処理装置に着脱可能なＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）メモリデバイスは、大容量の記憶容量と可搬性に優れているため、情報処理装置のデータをコピーして保存する場合及び情報処理装置間でデータを移動する場合などに使用されることが多い。
【０００３】
しかしながら、情報処理装置で不特定多数の人がＵＳＢメモリデバイスを使用することは、ＵＳＢメモリデバイスを介したウィルス感染及び故意または過失による情報漏えいなど様々なリスクがある。
【０００４】
企業、地方自治体及び政府機関などの業務用システムを構成し、様々な制御を実行するサーバ（以下、制御サーバ）におけるＵＳＢメモリデバイスの使用についても同様のリスクがある。
【０００５】
そこで、情報処理装置において予め、使用可能なＵＳＢメモリデバイスを管理ファイルなどに登録しておき、ＵＳＢメモリデバイスが接続されたときに、接続されたＵＳＢメモリデバイスが管理ファイルに登録されている使用可能なＵＳＢメモリデバイスか判断することで、使用可能なＵＳＢメモリデバイスを制限する技術が特許文献１−３に記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１０−１２８７０７
【特許文献２】特開２０１０−１４７５７３
【特許文献３】特開２０１３−２４７６３１
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１,２の方式では、プロダクトＩＤおよびベンダＩＤが同じであるＵＳＢメモリデバイスの使用を制限することが困難である。さらに、特許文献１,２の方式では、また、使用可能なＵＳＢメモリデバイスを事前に登録する管理ファイルなどが必要となる。このため、新しいＵＳＢメモリデバイスを追加する場合には、システムを構成するすべての制御サーバへ新しいＵＳＢメモリデバイスの情報(プロダクトＩＤおよびベンダＩＤ)を登録する必要があり、システムを構成する制御サーバの台数が多くなるにつれて、維持・管理コストが増加する問題がある。
【０００８】
特許文献３の方式では、起動時にＢＩＯＳで書き込まれた情報を元にＯＳがＵＳＢメモリデバイスの認証し、ＵＳＢメモリデバイスが使用可能かを判断する。このため、ＯＳが既に起動している状態のときにＵＳＢメモリデバイスが新たに接続された場合には、ＢＩＯＳは動作しないためＵＳＢメモリデバイスを認識することができない。
【０００９】
そこで、本発明の目的は、簡易な手法でＵＳＢメモリデバイスの使用を管理することである。
【課題を解決するための手段】
【００１０】
本発明の一つの実施態様に従う制御サーバは、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）デバイスの接続を検出し、前記ＵＳＢデバイスのＵＳＢデバイスクラスを判定するＵＳＢデバイス認識部と、前記ＵＳＢデバイスクラスがメモリデバイスを示すクラスであるとき、ユーザ認証を行うユーザ認証部と、を備え、前記ＵＳＢデバイス認識部は、前記ユーザ認証部でユーザ認証が成功したとき、前記ＵＳＢデバイスを有効化する。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施形態に係る制御サーバの構成図。
【図２】ＵＳＢデバイス管理テーブルの構成図。
【図３】ユーザ権限テーブルの構成図。
【図４】ユーザ属性テーブルの構成図。
【図５】ＵＳＢポート管理テーブルの構成図。
【図６】ＵＳＢデバイス認識部のＵＳＢコントローラの制御情報を受信した際の処理のフローチャート。
【図７】ＵＳＢメモリデバイス認識プログラムの処理のフローチャート。
【図８】第一態様のユーザ認証処理のフローチャート。
【図９】第二態様のユーザ認証処理のフローチャート。
【図１０】第三態様のユーザ認証処理のフローチャート。
【図１１】ＵＳＢデバイス認識部の再認識通知を受信したときの処理のフローチャート。
【図１２】アプリケーション管理プログラム１３３の処理フローを示す。
【図１３】ＵＳＢアクセスファイル管理部のアクセスファイル作成通知を受信したときの処理のフローチャート。
【図１４】本発明によるＵＳＢアクセスファイル管理部のアクセスファイル削除通知を受信したときの処理のフローチャート。
【発明を実施するための形態】
【００１２】
以下、本発明の実施形態について図面を参照して説明する。なお、以下に説明する実施形態は本発明を実施できる例示的な実施形態を示すものであって本発明を限定するものではない。これらの図面において、複数の図を通じて同一の符号は同一の構成要素を示している。更に、詳細な説明は各種の例示的な実施形態を提供するが、以下に記述及び図示するように、本発明は本明細書に記述及び図示する実施形態に限定されるものではなく、当業者には公知または将来公知となる他の実施形態に拡張できる点に注意されたい。
【００１３】
本発明は、本明細書における動作を実行する制御サーバに関する。この制御サーバは、必要な目的のために特別に構築されてもよいし、または、１つ以上のコンピュータプログラムにより選択的に起動または再設定される１つ以上の汎用コンピュータを含んでいてもよい。そのようなコンピュータプログラムは、例えば、光ディスク、磁気ディスク、読出し専用メモリ、ランダムアクセスメモリ、固体装置及びドライブ等のコンピュータ可読記憶媒体、または電子情報の保存に適している他の任意の媒体に保存できるが、これらに限定されない。
【００１４】
本明細書に示すアルゴリズムは、いかなる特定のコンピュータまたは他の装置にも本質的には関係していない。各種の汎用システムを、本明細書の教示によるプログラム及びモジュールと共に用いてもよいが、所望の方法ステップを実行するためのより特化した装置を構築した方が便利なことが分かる場合がある。これら各種のシステムの構造は以下に開示する説明で明らかになる。本発明はまた、いかなる特定のプログラミング言語も前提としては記述していない。以下に記述するように、本発明の教示を実行するために各種のプログラミング言語を用いてもよいことが理解されよう。プログラム言語のコマンドは、１つ以上の処理装置、例えば中央処理装置（ＣＰＵ）、プロセッサ、またはコントローラにより実行できる。
【００１５】
図１は、本発明の一実施形態に係る制御サーバ１００の構成図を示す。
【００１６】
制御サーバ１００は、例えば汎用的な計算機でよい。制御サーバ１００は、主記憶装置であるメモリ１１０と、ＵＳＢコントローラ１５０と、一つ以上のＵＳＢポート１６０とを備える。
【００１７】
図１では、メモリ１１０上にＯＳ１２０のプログラムがロードされている。ＯＳ１２０は、ＵＳＢデバイスの管理を行うＵＳＢデバイス管理部１２１を有する。ＵＳＢデバイス管理部１２１は、ＵＳＢデバイス管理テーブル１２２と、ＵＳＢデバイス認識部１２３と、ＵＳＢアクセスファイル管理部１２４と、ユーザ権限テーブル１２５と、ユーザ属性テーブル１２６と、ＵＳＢポート管理テーブル１２７とを備える。
【００１８】
また、メモリ１１０上のアプリケーション空間１３０には複数のプログラムがロードされている。アプリケーション空間１３０は、ＵＳＢメモリデバイスの認識処理を行うＵＳＢメモリデバイス認識プログラム１３１と、ＵＳＢデバイスアクセスプログラム１３２と、アプリケーション管理プログラム１３３と、複数の業務アプリケーションプログラム１３５と、ユーザ認証プログラム１３６とを具備している。なお、ＵＳＢデバイスアクセスプログラム１３２は省略可能である。
【００１９】
さらに、メモリ１１０には、ＵＳＢアクセスファイル管理部１２４により作成及び削除されるＵＳＢデバイスアクセスファイル１４０が格納される。
【００２０】
ＵＳＢデバイスアクセスプログラム１３２は、ＵＳＢデバイスアクセスファイル１４０を介して、いずれかのＵＳＢポート１６０に接続されたＵＳＢデバイスにアクセスを行う。
【００２１】
ＵＳＢコントローラ１５０は、複数のＵＳＢポート１６０と接続されている。
【００２２】
各ＵＳＢポート１６０には、個々を識別するためのＵＳＢポート番号が割り当てられている。
【００２３】
図２は、ＵＳＢデバイス管理テーブル１２２の構成の一例を示す。
【００２４】
ＵＳＢデバイス管理テーブル１２２は、各ＵＳＢポート１６０に接続されたＵＳＢデバイスから取得したＵＳＢデバイスの管理情報を保持する。
【００２５】
図示するように、ＵＳＢデバイス管理テーブル１２２は、ＵＳＢポート番号２０１と、接続状態２０２と、認識状態２０３と、ＵＳＢデバイスアクセスファイル名称２０４と、ＵＳＢクラス２０５と、使用ユーザ属性２０６とをデータ項目として有する。
【００２６】
ＵＳＢポート番号２０１は、ＵＳＢポート１６０を一意に特定可能な識別番号である。
【００２７】
接続状態２０２は、各ＵＳＢポート１６０にＵＳＢデバイスが接続されているか否かを示す。例えば、接続状態２０２には、ＵＳＢデバイスの接続状態として、「接続」または「未接続」が登録され得る。
【００２８】
認識状態２０３は、各ＵＳＢポート１６０に接続されたＵＳＢデバイスの認識状態を示す。例えば、認識状態２０３には、ＵＳＢデバイスの認識状態として、「認識済」または「未認識」が登録され得る。
【００２９】
ＵＳＢデバイスアクセスファイル名称２０４は、認識済のＵＳＢデバイスに対して一意にアクセス可能なＵＳＢデバイスアクセスファイル１４０の名称が登録される。
【００３０】
ＵＳＢクラス２０５は、認識済のＵＳＢデバイスから取得した、そのＵＳＢデバイスのＵＳＢクラスを示す情報が登録される。例えば、ＵＳＢクラス２０５には、ＭＳＣ（ＭａＳＳ  Ｓｔｏｒａｇｅ  ＣｌａＳＳ）、ＨＩＤ（Ｈｕｍａｎ  Ｉｎｔｅｒｆａｃｅ  ＤｅｖｉｃｅＳ）、ＰｒｉｎｔｅｒなどのＵＳＢデバイスクラスの名称が登録され得る。
【００３１】
使用ユーザ属性２０６は、ユーザ認証プログラム１３６により認証されたユーザのユーザ属性を示す情報が登録される。例えば、使用ユーザ属性２０６には、ユーザ属性として、「事業者」または「協力会社Ａ」等が登録され得る。
【００３２】
図３は、ユーザ権限テーブル１２５の構成の一例を示す。
【００３３】
ユーザ権限テーブル１２５は、いずれかのＵＳＢポート１６０に接続されたＵＳＢメモリデバイスに関して、ユーザに認められる権限を示す。ユーザ権限テーブル１２５は、ユーザ属性ごとの権限を定義するが、ユーザ個人ごとの権限を定義してもよい。
【００３４】
図示するように、ユーザ権限テーブル１２５は、ユーザ属性２１１と、作業属性２１２と、時間２１３と、ＵＳＢポート番号２１４とをデータ項目として有する。
【００３５】
ユーザ属性２１１は、ユーザ属性としてユーザの所属企業に関する属性が登録されてもよい。例えば、ユーザ属性２１１には、「事業者」または「協力会社Ａ」等が登録され得る。
【００３６】
作業属性２１２は、ＵＳＢメモリデバイスを接続して行うことが許容される作業の属性に関する情報が登録される。例えば、作業属性２１２には、作業の種類を示す情報が登録されてもよく、「ログ取得」、「アプリ追加、削除」等が登録され得る。
【００３７】
時間２１３は、ＵＳＢメモリデバイスを有効化することが許容され得る時間が登録される。
【００３８】
ＵＳＢポート番号２１４は、ＵＳＢメモリデバイスを有効化することが許容され得るＵＳＢポート番号が登録される。
【００３９】
図４は、ユーザ属性テーブル１２６の構成の一例を示す。
【００４０】
図示するように、ユーザ属性テーブル１２６は、ユーザＩＤ２２１と、ユーザ属性２２２とをデータ項目として有する。つまり、ユーザ属性テーブル１２６は、ユーザＩＤ２２１とユーザ属性２２２とを対応付ける。
【００４１】
図５は、ＵＳＢポート管理テーブル１２７の構成の一例を示す。
【００４２】
ＵＳＢポート管理テーブル１２７は、各ＵＳＢポート１６０に対して割り当てられるパスワードを示す。
【００４３】
図示するように、ＵＳＢポート管理テーブル１２７は、ＵＳＢポート番号２３１と、事業用パスワード２３２と、協力会社用パスワード２３３とをデータ項目として有する。ここでは、ＵＳＢポート別のパスワードはユーザ属性別であるが、ユーザ別であってもよいし、全ユーザに共通であってもよい。
【００４４】
図６は、ＵＳＢデバイス認識部１２３がＵＳＢコントローラ１５０からＵＳＢデバイスの制御情報を受信したときの処理フローを示す。
【００４５】
ＵＳＢデバイス認識部１２３は、ＵＳＢコントローラ１５０からＵＳＢポート１６０に接続されたＵＳＢデバイスの制御情報の受信を待ち合わせ、制御情報を受信する（Ｓ３０１）。
【００４６】
ＵＳＢデバイス認識部１２３は、受信した制御情報から、ＵＳＢポート番号、ＵＳＢデバイスの接続または抜去の別を示す接続情報、及びＵＳＢデバイスの種別を表すＵＳＢデバイスクラスの情報を取得する（Ｓ３０２）。
【００４７】
ＵＳＢデバイス認識部１２３は、ＵＳＢデバイス管理テーブル１２２においてＵＳＢポート番号２０１がステップＳ３０２で取得したＵＳＢポート番号と一致するレコードを選択する（Ｓ３０３）。以下、ここで選択されたレコードを「対象レコード」と称する。
【００４８】
ステップＳ３０２で取得した接続情報が「ＵＳＢデバイスの接続」であったときは（Ｓ３０４：Ｙｅｓ）、ＵＳＢデバイス認識部１２３は、ＵＳＢデバイス管理テーブル１２２の対象レコードの接続状態２０２を「接続」に設定する（Ｓ３０５）。
【００４９】
ＵＳＢデバイス認識部１２３は、ＯＳ１２０が生成したＵＳＢデバイスアクセスファイル１４０の名称を決定し（Ｓ３０６）、ＵＳＢデバイス管理テーブル１２２の対象レコードのＵＳＢデバイスアクセスファイル名称２０４に設定する（Ｓ３０７）。
【００５０】
次に、ＵＳＢデバイス認識部１２３は、ステップＳ３０２で取得したＵＳＢデバイスクラスがメモリデバイスであることを示すマスストレージクラス(ＭＳＣ)であるか否かを判断する（Ｓ３０８）。
【００５１】
ＵＳＢデバイスクラスがマスストレージクラス(ＭＳＣ)以外の場合は（Ｓ３０８：Ｎｏ）、ＵＳＢデバイス認識部１２３は、ＵＳＢポート１６０に接続されたＵＳＢデバイスを有効化する（Ｓ３０９）。
【００５２】
ＵＳＢデバイス認識部１２３は、ＵＳＢアクセスファイル管理部１２４にＵＳＢデバイスアクセスファイル１４０の作成を要求する（Ｓ３１０）。その結果、ＵＳＢアクセスファイル管理部１２４によりＵＳＢデバイスアクセスファイル１４０が生成されると、ＵＳＢデバイスアクセスプログラム１３２が、ＵＳＢデバイスアクセスファイル１４０を介してＵＳＢデバイスにアクセス可能となる。ＵＳＢアクセスファイル管理部１２４の詳細な処理は後述する（図１３参照）。
【００５３】
ＵＳＢデバイス認識部１２３は、ＵＳＢデバイス管理テーブル１２２の対象レコードの認識状態２０３を「認識済」に設定する（Ｓ３１１）。
【００５４】
ステップＳ３０８で、ＵＳＢデバイスクラスがマスストレージクラス(ＭＳＣ)である場合は（Ｓ３０８：Ｙｅｓ）、ステップＳ３０９以降の処理をスキップする。
【００５５】
ステップＳ３０４で、取得した接続情報が「ＵＳＢデバイスの接続」でないとき（Ｓ３０４：Ｎｏ）、すなわち、ＵＳＢデバイスが抜去された場合には、ＵＳＢデバイス認識部１２３は、ＵＳＢデバイス管理テーブル１２２の対象レコードの接続状態２０２を「未接続」に設定する（Ｓ３１３）。
【００５６】
ＵＳＢデバイス認識部１２３は、ＵＳＢデバイス管理テーブル１２２の対象レコードの認識状態２０３が「認識済」であるか否かを判断する（Ｓ３１４）。
【００５７】
「認識済」である場合（Ｓ３１４：Ｙｅｓ）、ＵＳＢデバイス認識部１２３は、ＵＳＢアクセスファイル管理部１２４に対して、対象レコードのＵＳＢデバイスアクセスファイル名称２０４のＵＳＢデバイスアクセスファイル１４０の削除を要求する（Ｓ３１５）。その結果、ＵＳＢアクセスファイル管理部１２４によりＵＳＢデバイスアクセスファイル１４０が削除されると、それ以降ＵＳＢデバイスアクセスプログラム１３２が、ＵＳＢデバイスアクセスファイル１４０を介してＵＳＢデバイスへアクセスできなくなる。ＵＳＢアクセスファイル管理部１２４の詳細な処理は後述する（図１４参照）。
【００５８】
ＵＳＢデバイス認識部１２３は、ＵＳＢデバイス管理テーブル１２２の対象レコードの認識状態２０３を「未認識」に設定する（Ｓ３１６）。
【００５９】
ＵＳＢデバイス認識部１２３は、ＵＳＢポート１６０に接続されたＵＳＢデバイスを無効化する（Ｓ３１７）。
【００６０】
この処理により、マスストレージクラス以外のＵＳＢデバイスが有効化される。マスストレージクラスのＵＳＢメモリデバイスは、以下に説明するＵＳＢメモリデバイス認識プログラム１３１の処理を経て有効化される。
【００６１】
図７は、ＵＳＢメモリデバイス認識プログラム１３１の処理フローを示す。
【００６２】
ＵＳＢメモリデバイス認識プログラム１３１は、制御サーバ１００がＵＳＢメモリデバイスを有効化することを要求するコマンドの入力を受け付けると起動される。ＵＳＢメモリデバイス認識プログラム１３１によりＵＳＢメモリデバイス認識処理部が構成されるようにしてもよい。
【００６３】
ＵＳＢメモリデバイス認識プログラム１３１は、ユーザ認証プログラム１３６に対してユーザ認証処理の実行を要求する（Ｓ４０１）。ユーザ認証処理の詳細については後述する。
【００６４】
ＵＳＢメモリデバイス認識プログラム１３１は、ユーザ認証プログラム１３６からユーザ認証処理の結果を取得する。そして、ユーザ認証プログラム１３６の処理でユーザ認証に成功しなかった場合は（Ｓ４０２：Ｎｏ）、ステップＳ４０１へ戻る。
【００６５】
ユーザ認証プログラム１３６の処理でユーザ認証に成功した場合は（Ｓ４０２：Ｙｅｓ）、ＵＳＢメモリデバイス認識プログラム１３１が、ＵＳＢデバイス認識部１２３にＵＳＢメモリデバイスの再認識通知を送信する（Ｓ４０４）。これにより、再認識通知を受けたＵＳＢデバイス認識部１２３がマスストレージクラスのＵＳＢメモリデバイスを有効化する。ＵＳＢデバイス認識部１２３によるＵＳＢメモリデバイスの再認識処理の詳細については後述する（図１１）。
【００６６】
これにより、認証された特定のユーザに対してＵＳＢメモリデバイスを有効化することができる。
【００６７】
次に、ユーザ認証処理について説明する。ユーザ認証プログラム１３６が実行されるとユーザ認証を行うユーザ認証部が構成されるようにしてもよい。ユーザ認証プログラム１３６が行うユーザ認証処理は、図８〜図１０に示すように３つの態様がある。以下、それぞれについて説明する。
【００６８】
図８は、ユーザ認証処理の第一の態様に係る処理フローを示す。
【００６９】
ユーザ認証プログラム１３６は、ユーザからユーザ識別情報の入力を待ち合わせ、入力を受け付ける（Ｓ４１１）。ユーザは、例えば、制御サーバ１００が有する図示しないキーボード等に対してユーザＩＤ及びパスワード入力を行うようにしてもよい。
【００７０】
ユーザ認証プログラム１３６は、入力を受け付けたユーザ識別情報に基づいてユーザの個人認証を行う（Ｓ４１２）。
【００７１】
ユーザの個人認証に成功した場合、ユーザ認証プログラム１３６は認証成功をＵＳＢメモリデバイス認識プログラム１３１へ通知する（Ｓ４１３）。ユーザの個人認証に失敗した場合は、ユーザ認証プログラム１３６は認証失敗をＵＳＢメモリデバイス認識プログラム１３１へ通知する（Ｓ４１４）。
【００７２】
これにより、ユーザ個人認証がされたユーザに対してＵＳＢメモリデバイスの利用が許可される。
【００７３】
図９は、ユーザ認証処理の第二の態様に係る処理フローを示す。
【００７４】
ユーザ認証プログラム１３６は、ユーザからユーザ識別情報の入力を待ち合わせ、入力を受け付ける（Ｓ４２１）。ユーザは、例えば、制御サーバ１００が有する図示しないキーボード等に対してユーザＩＤ及びパスワード入力を行うようにしてもよい。
【００７５】
ユーザ認証プログラム１３６は、入力を受け付けたユーザ識別情報に基づいてユーザの個人認証を行う（Ｓ４２２）。
【００７６】
ユーザの個人認証に成功した場合には（Ｓ４２２：Ｙｅｓ）、ユーザ認証プログラム１３６は、ＵＳＢデバイスが接続されたＵＳＢポート１６０のポート番号を取得する（Ｓ４２３）。例えば、ユーザ認証プログラム１３６は、ＵＳＢデバイス管理テーブル１２２を参照して、接続状態２０２が「接続」かつ認識状態２０３が「未認証」かつＵＳＢクラス２０５が「ＭＳＣ」であるＵＳＢポート番号２０１を特定する。
【００７７】
ユーザ認証プログラム１３６は、ＵＳＢポートに関する有効化の条件が満たされるか否かを判断する（Ｓ４２４）。例えば、ユーザ認証プログラム１３６は、ユーザ属性テーブル１２６を参照して個人認証されたユーザのユーザＩＤ２２１に対応するユーザ属性２２２を取得する。ユーザ認証プログラム１３６は、さらにユーザ権限テーブル１２５を参照して、個人認証されたユーザのユーザ属性２１１に対応するＵＳＢポート番号２１４を取得する。そして、ユーザ認証プログラム１３６は、ＵＳＢデバイスが接続されたＵＳＢポート番号２０１がＵＳＢポート番号２１４に含まれていれば、ＵＳＢポートの有効化条件を満たすと判断する。
【００７８】
ＵＳＢポートの有効化条件を満たす場合には（Ｓ４２４：Ｙｅｓ）、ユーザ認証プログラム１３６はさらに、時間に関する有効化条件が満たされるか否かを判断する（Ｓ４２５）。例えば、ユーザ認証プログラム１３６は、ユーザ属性テーブル１２６を参照して個人認証されたユーザのユーザＩＤ２２１に対応するユーザ属性２２２を取得する。さらにユーザ認証プログラム１３６は、ユーザ権限テーブル１２５を参照して認証されたユーザのユーザ属性２１１に対応する時間２１３を取得する。そして、ＵＳＢメモリデバイス認識プログラム１３１は、現在時刻が時間２１３の時間内であれば時間の有効化条件を満たすと判断する。
【００７９】
時間の有効化条件を満たす場合には（Ｓ４２５：Ｙｅｓ）、ユーザ認証プログラム１３６は認証成功をＵＳＢメモリデバイス認識プログラム１３１へ通知する（Ｓ４２６）。
【００８０】
一方、ユーザの個人認証に失敗した場合（Ｓ４２２：Ｎｏ）、ＵＳＢポートの有効化条件を満たさない場合（Ｓ４２４：Ｎｏ）、または時間の有効化条件を満たさない場合（Ｓ４２５：Ｎｏ）は、ユーザ認証プログラム１３６は認証失敗をＵＳＢメモリデバイス認識プログラム１３１へ通知する（Ｓ４２７）。
【００８１】
これにより、ユーザに応じて定められている条件を満たすときにＵＳＢメモリデバイスを有効化することができる。例えば、ＵＳＢメモリデバイスを利用可能な時間帯を制限することができるし、ユーザに応じて定めた特定のＵＳＢポートに接続されたときにだけＵＳＢメモリデバイスを有効化させることもできる。
【００８２】
なお、上記の第二の態様では、ＵＳＢポート番号の有効化条件及び時間の有効化条件について条件判断を行っているが、これらのいずれか一方のみの条件判断を行うようにしてもよい。
【００８３】
なお、上記の第一及び第二の態様では、ユーザＩＤ及びパスワードを用いたユーザ認証を例に説明したが、これ以外のユーザ識別情報、例えば指紋などの生体情報を用いた認証でもよい。ユーザ認証は任意の方法を採用することができる。
【００８４】
図１０は、ユーザ認証処理の第三の態様に係る処理フローを示す。この態様では、ＵＳＢポート別に識別情報が設定されている。
【００８５】
ユーザ認証プログラム１３６は、ユーザからＵＳＢポート別のユーザ識別情報の入力を待ち合わせ、入力を受け付ける（Ｓ４３１）。このとき、ユーザは、制御サーバ１００が有する図示しないキーボード等に対してユーザＩＤ及びＵＳＢポート別のパスワード入力を行うようにしてもよい。
【００８６】
ユーザ認証プログラム１３６は、ＵＳＢデバイスが接続されたＵＳＢポート１６０のポート番号を取得する（Ｓ４３２）。例えば、ユーザ認証プログラム１３６は、ＵＳＢデバイス管理テーブル１２２を参照して、接続状態２０２が「接続」かつ認識状態２０３が「未認証」かつＵＳＢクラス２０５が「ＭＳＣ」であるＵＳＢポート番号２０１を特定する。
【００８７】
ユーザ認証プログラム１３６は、ＵＳＢポート別のユーザ認証を行う（Ｓ４３３）。つまり、ユーザ認証プログラム１３６は、ステップＳ４３１で入力された識別情報が、ステップ４３２で特定されたＵＳＢポート番号２０１に対応する識別情報であるか否かを判定する。
【００８８】
ＵＳＢポート別の識別情報でユーザ認証に成功した場合、ユーザ認証プログラム１３６は認証成功をＵＳＢメモリデバイス認識プログラム１３１へ通知する（Ｓ４３４）。ＵＳＢポート別の識別情報でユーザ認証に失敗した場合は、ユーザ認証プログラム１３６は認証失敗をＵＳＢメモリデバイス認識プログラム１３１へ通知する（Ｓ４３５）。
【００８９】
これにより、例えば、同一ユーザであってもＵＳＢポートごとに異なるパスワード等の識別情報を用いて認証をすることができ、セキュリティが高まる。
【００９０】
図１１は、ＵＳＢメモリデバイス認識プログラム１３１から再認識通知を受信したときに、ＵＳＢデバイス認識部１２３が行う処理フローを示す。
【００９１】
ＵＳＢデバイス認識部１２３は、ＵＳＢメモリデバイス認識プログラム１３１からの再認識通知を待ち合わせ、再認識通知を受信する（Ｓ５０１）。
【００９２】
ＵＳＢデバイス認識部１２３は、ＵＳＢデバイス管理テーブル１２２の認識状態２０３を読み込む（Ｓ５０２）。ＵＳＢデバイス認識部１２３は、ＵＳＢデバイス管理テーブル１２２の認識状態２０３より「未認識」のＵＳＢデバイスがあるか否かを判断する（Ｓ５０３）。
【００９３】
認識状態２０３が「未認識」のＵＳＢデバイスがない場合は、ステップＳ５０１へ戻る（Ｓ５０３：Ｎｏ）。
【００９４】
認識状態２０３が「未認識」のＵＳＢデバイスがある場合は（Ｓ５０３：Ｙｅｓ）、ＵＳＢデバイス認識部１２３は、ＵＳＢデバイス管理テーブル１２２を参照して、その「未認識」のＵＳＢデバイスが接続されているＵＳＢポート番号２０１を特定する（Ｓ５０４）。
【００９５】
ＵＳＢデバイス認識部１２３は、そのＵＳＢポート番号２０１のＵＳＢポート１６０に接続されたＵＳＢデバイスを有効化する（Ｓ５０５）。
【００９６】
ＵＳＢデバイス認識部１２３は、ＵＳＢアクセスファイル管理部１２４にＵＳＢデバイスアクセスファイル１４０の作成を要求する（Ｓ５０６）。その結果、ＵＳＢアクセスファイル管理部１２４によりＵＳＢデバイスアクセスファイル１４０が生成されると、ＵＳＢデバイスアクセスプログラム１３２が、ＵＳＢデバイスアクセスファイル１４０を介してＵＳＢデバイスにアクセス可能となる。ＵＳＢアクセスファイル管理部１２４の詳細な処理は後述する（図１３参照）。
【００９７】
ＵＳＢデバイス認識部１２３は、ＵＳＢデバイス管理テーブル１２２において、有効化したＵＳＢデバイスが接続されているＵＳＢポート番号の認識状態２０３に「認識済」を設定する（Ｓ５０７）。
【００９８】
これにより、ＵＳＢメモリデバイスを有効化するか否かをユーザに応じて制御することができる。
【００９９】
次に、業務アプリケーションプログラムの実行管理について説明する。アプリケーション管理プログラム１３３がアプリケーションの実行管理を行う。アプリケーション管理プログラム１３３が起動されるとアプリケーションの実行管理を行うアプリケーション管理部が構成されるようにしてもよい。
【０１００】
図１２は、アプリケーション管理プログラム１３３の処理フローを示す。
【０１０１】
アプリケーション管理プログラム１３３は、制御サーバ１００が受け付ける任意の業務アプリケーションプログラム１３５の起動要求を監視し、その起動要求を検知する（Ｓ５５１）。
【０１０２】
アプリケーション管理プログラム１３３は、業務アプリケーションプログラム１３５の起動を要求したユーザのユーザＩＤに基づいて、ユーザ属性テーブル１２６を参照してそのユーザのユーザ属性２２２を特定する（Ｓ５５２）。
【０１０３】
アプリケーション管理プログラム１３３は、ユーザ権限テーブル１２５を参照して、ステップＳ５５２で特定されたユーザ属性２１１に対応する作業属性２１２を特定する（Ｓ５５３）。
【０１０４】
アプリケーション管理プログラム１３３は、ステップＳ５２３で特定された作業属性２１２と起動要求された業務アプリケーションプログラム１３５の作業属性とが合致するか否かを判断する（Ｓ５５４）。例えば、各業務アプリケーションプログラム１３５には、その処理の内容に応じて作業属性が定められていてもよい。ユーザ権限テーブル１２５では、ユーザ属性ごとに許可されている作業属性が登録されている。従って、ここでは、それらが合致するか否かが判断される。
【０１０５】
ユーザの作業属性２１２が起動された業務アプリケーションプログラムの作業属性に合致する場合は（Ｓ５５４：Ｙｅｓ）、起動要求に係る業務アプリケーションプログラム１３５の起動が許可される（Ｓ５５５）。
【０１０６】
これにより、ユーザ属性に対応して予め許可されている作業属性の業務アプリケーションプログラム１３５の処理が実行させる。
【０１０７】
作業属性が合致しない場合は（Ｓ５５４：Ｎｏ）、起動要求に係る業務アプリケーションプログラム１３５を起動させずに、ステップＳ５５１へ戻る。
【０１０８】
これにより、ユーザに応じて予め定められている業務アプリケーションのみが起動可能である。つまり、ユーザ個人またはユーザ属性により、起動できるアプリケーションを制御することができる。
【０１０９】
図１３は、ＵＳＢアクセスファイル管理部１２４のＵＳＢデバイスアクセスファイルの作成の通知の受信の処理フローを示す。
【０１１０】
ＵＳＢアクセスファイル管理部１２４は、ＵＳＢデバイス認識部１２３からＵＳＢデバイスアクセスファイル１４０の作成通知を待ち合わせ、作成通知を受信する（Ｓ６０１）。
【０１１１】
ＵＳＢアクセスファイル管理部１２４は、受信したＵＳＢデバイスアクセスファイル１４０の作成通知に含まれる、ＵＳＢデバイスアクセスファイル１４０の名称を取得し（Ｓ６０２）、その名称のＵＳＢデバイスアクセスファイル１４０を作成する（Ｓ６０３）。
【０１１２】
図１４は、ＵＳＢアクセスファイル管理部１２４のＵＳＢアクセスファイルの削除の通知の受信の処理フローを示す。
【０１１３】
ＵＳＢアクセスファイル管理部１２４は、ＵＳＢデバイス認識部１２３からＵＳＢデバイスアクセスファイル１４０の削除通知を受信する（Ｓ７０１）。
【０１１４】
ＵＳＢアクセスファイル管理部１２４は、受信したＵＳＢデバイスアクセスファイル１４０の削除通知に含まれる、ＵＳＢデバイスアクセスファイル１４０名称を取得し（Ｓ７０２）、その名称ＵＳＢデバイスアクセスファイル１４０を削除する（Ｓ７０３）。
【０１１５】
ＵＳＢアクセスファイル管理部１２４は、ＵＳＢデバイス管理テーブル１２２を参照し、削除した名称のＵＳＢデバイスアクセスファイルが接続されているＵＳＢポート番号を特定する（Ｓ７０４）。
【０１１６】
ＵＳＢアクセスファイル管理部１２４は、ＵＳＢデバイス管理テーブル１２２から、特定したＵＳＢポート番号２０１のＵＳＢデバイスアクセスファイル名称２０４を削除する（Ｓ７０５）。
【０１１７】
本実施形態によれば、制御サーバ１００にＵＳＢメモリデバイスが接続された後、認証されたユーザであればＵＳＢメモリデバイスを使用可能にする。本方式は、制御サーバ１００でＵＳＢメモリデバイスを使用可能なユーザを制限することが可能である。これにより、制御サーバ１００で不特定多数の人がＵＳＢメモリデバイスを使用できないため、ウィルス感染、情報漏えいなど様々なリスクを軽減することが可能である。
【０１１８】
さらに本実施形態では、ＵＳＢメモリデバイスの情報(プロダクトＩＤおよびベンダＩＤ)を事前に登録する必要がないので、システムの維持・管理コストを抑えることができる。
【符号の説明】
【０１１９】
１００  制御サーバ
１１０  メモリ
１２０  ＯＳ
１２１  ＵＳＢデバイス管理部
１２２  ＵＳＢデバイス管理テーブル
１２３  ＵＳＢデバイス認識部
１２５  ユーザ権限テーブル
１２６  ユーザ属性テーブル
１２７  ＵＳＢポート管理テーブル
１３０  アプリケーション部
１３１  ＵＳＢメモリデバイス認識プログラム
１３２  ＵＳＢデバイスアクセスプログラム
１３３  アプリケーション管理プログラム
１３６  ユーザ認証プログラム
１５０ ＵＳＢコントローラ
１６０ ＵＳＢポート
【図１】
2018106254.tif 000003
【図２】
2018106254.tif 000004
【図３】
2018106254.tif 000005
【図４】
2018106254.tif 000006
【図５】
2018106254.tif 000007
【図６】
2018106254.tif 000008
【図７】
2018106254.tif 000009
【図８】
2018106254.tif 000010
【図９】
2018106254.tif 000011
【図１０】
2018106254.tif 000012
【図１１】
2018106254.tif 000013
【図１２】
2018106254.tif 000014
【図１３】
2018106254.tif 000015
【図１４】
2018106254.tif 000016