説明

装置、アクセス制御方法、アクセス制御プログラム及び記録媒体

【課題】簡便にかつ適切にアクセス制御を行うことのできる画像形成装置、アクセス制御方法、アクセス制御プログラム及び記録媒体の提供を目的とする。
【解決手段】複数のアプリケーションを実行可能な装置であって、前記アプリケーションから利用される複数のソフトウェア資源又は複数のハードウェア資源のそれぞれについて、ユーザによる利用の可否が定義されたアクセス制御情報に基づいて、前記複数のアプリケーションのうちの第一のアプリケーションに関して、前記第一のアプリケーションが利用するソフトウェア資源又はハードウェア資源に対する前記ユーザによる利用の可否に基づいて、前記ユーザによる前記第一のアプリケーションの利用の可否を判定する判定手段を有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、装置、アクセス制御方法、アクセス制御プログラム及び記録媒体に関し、特に携帯型の記録媒体に対するインタフェースを備えた装置、アクセス制御方法、アクセス制御プログラム及び記録媒体に関する。
【背景技術】
【0002】
近年の画像形成装置は、複合機又は融合機(以下「融合機」で統一する)といわれる機器に代表されるように、各種のアプリケーションの実行が可能となっている(例えば、特許文献1)。また、ハードディスク等の比較的大容量な記憶装置を備え、コピー時等にスキャンされた画像データの蓄積が可能となっている。オフィス等における画像形成装置が複数のユーザによって利用することに鑑みれば、これらの資源(アプリケーションや画像データ等)に対するセキュリティが適切に確保されることが望まれる。すなわち、悪意のあるユーザからこれらの資源を保護するため、各資源に対する操作権限をユーザに応じて制限する必要がある。また、善意のユーザであっても、ユーザに応じて利用できる機能を制限したい場合がある。例えば、モノクロコピーとカラーコピーとでは、コピーに必要とされるコスト(料金)が異なる。したがって、無条件にカラーコピーの使用を許可してしまうのは、経費節減等の観点から望ましくない。そこで、例えば、ユーザの役職等に応じてカラーコピーの利用を制限することが考えられる。
【0003】
かかる制御を実現する機能は、アクセス制御機能といわれ、一般的にACL(Access Control List)やポリシーデータ等のアクセス制御情報を用いて実現される。
【0004】
従来、画像形成装置に対するアクセス制御情報は、ネットワークを介して接続されているサーバコンピュータにおいて一元的に管理されていたり、各画像形成装置ごとに管理されていたりした。前者は、例えば、百台以上の大規模ユーザに適した運用形態であるといえる。一方、後者は、例えば、数台程度の小規模ユーザに適した運用形態であるといえる。
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、例えば、数十台程度の中規模なユーザにとっては、いずれの形態も運用しづらいものであった。すなわち、サーバコンピュータによって一元管理する形態については、サーバコンピュータの導入費用等を考慮すると、費用対効果の面で疑問があった。一方、画像形成装置ごとに管理する形態では、人事異動等に応じて頻繁に変更され得るアクセス制御情報の保守作業が画像形成装置ごとに必要とされ、非常に煩雑になるという問題があった。
【0006】
本発明は、上記の点に鑑みてなされたものであって、簡便にかつ適切にアクセス制御を行うことのできる装置、アクセス制御方法、アクセス制御プログラム及び記録媒体の提供を目的とする。
【課題を解決するための手段】
【0007】
そこで上記課題を解決するため、本発明は、複数のアプリケーションを実行可能な装置であって、前記アプリケーションから利用される複数のソフトウェア資源又は複数のハードウェア資源のそれぞれについて、ユーザによる利用の可否が定義されたアクセス制御情報に基づいて、前記複数のアプリケーションのうちの第一のアプリケーションに関して、前記第一のアプリケーションが利用するソフトウェア資源又はハードウェア資源に対する前記ユーザによる利用の可否に基づいて、前記ユーザによる前記第一のアプリケーションの利用の可否を判定する判定手段を有する。
【0008】
このような装置では、簡便にかつ適切にアクセス制御を行うことができる。
【0009】
また、上記課題を解決するため、本発明は、上記装置におけるアクセス制御方法、前記アクセス制御方法を装置に実行させるためのアクセス制御プログラム、又は前記アクセス制御プログラムを記録した記録媒体としてもよい。
【発明の効果】
【0010】
本発明によれば、簡便にかつ適切にアクセス制御を行うことのできる装置、アクセス制御方法、アクセス制御プログラム及び記録媒体を提供することができる。
【図面の簡単な説明】
【0011】
【図1】本発明の実施の形態における融合機のソフトウェア実行時の構成例を示す図である。
【図2】本発明の実施の形態における融合機のハードウェア構成例を示す図である。
【図3】オペレーションパネルを表す図である。
【図4】第一の実施の形態の融合機において利用されるソフトウェアの静的な配置構成例を示す図である。
【図5】本発明の実施の形態におけるポリシーデータの定義例を示す図である。
【図6】第一の実施の形態における融合機の起動時の処理手順を説明するためのフローチャートである。
【図7】第一の実施の形態において標準アプリを利用する際の融合機の処理手順を説明するためのフローチャートである。
【図8】USBメモリの挿入を検知するための仕組みの例を示す図である。
【図9】第二の実施の形態の融合機において利用されるソフトウェアの静的な配置構成例を示す図である。
【図10】第二の実施の形態においてSDKアプリを利用する際の融合機の処理手順を説明するためのフローチャートである。
【図11】第三の実施の形態の融合機において利用されるソフトウェアの静的な配置構成例を示す図である。
【図12】第三の実施の形態における融合機の起動時の処理手順を説明するためのフローチャートである。
【図13】第三の実施の形態においてUSBメモリが起動時に挿し込まれていない場合に標準アプリを利用する際の融合機の処理手順を説明するためのフローチャートである。
【図14】第三の実施の形態においてUSBメモリが起動時に挿し込まれている場合に標準アプリを利用する際の融合機の処理手順を説明するためのフローチャートである。
【図15】コピーアプリのフィルタ構成の例を示す図である。
【図16】スキャンによるftp転送アプリのフィルタ構成の例を示す図である。
【図17】アプリケーションレベルのポリシーデータの例を示す図である。
【図18】フィルタレベルのポリシーデータの例を示す図である。
【図19】ハードウェア資源レベルのポリシーデータの例を示す図である。
【図20】第四の実施の形態において利用可能なアプリケーションの判定処理を説明するためのフローチャートである。
【発明を実施するための形態】
【0012】
以下、図面に基づいて本発明の実施の形態を説明する。図1は、本発明の実施の形態における融合機のソフトウェア実行時の構成例を示す図である。図1の融合機101は、種々のハードウェア111と、種々のソフトウェア112とより構成される。
【0013】
融合機101のハードウェア111としては、撮像部121と、印刷部122と、その他のハードウェア123が存在する。撮像部121は、読取原稿から画像(画像データ)を読み取るためのハードウェアである。印刷部122は、画像(画像データ)を印刷用紙に印刷するためのハードウェアである。
【0014】
融合機101のソフトウェア112としては、種々のアプリケーション131と、種々のプラットフォーム132が存在する。これらのプログラムは、UNIX(登録商標)等のOS(オペレーティングシステム)によりプロセス単位で並列的に実行される。
【0015】
アプリケーション131としては、コピー用のアプリケーションであるコピーアプリ141、プリンタ用のアプリケーションであるプリンタアプリ142、スキャナ用のアプリケーションであるスキャナアプリ143、ファクシミリ用のアプリケーションであるファクシミリアプリ144が存在する。そしてさらに、Webページの閲覧用のソフトウェアであるWebブラウザ146、Webページの配信用のソフトウェアであるWebサーバソフト147、CSDKアプリ181やJSDKアプリ182の制御用のソフトウェアであるSDKアプリケーションサービス(SAS)148が存在する。但し、これらのアプリケーションは、必ずしも融合機101のROMやハードウェアディスク等にインストールされているわけではない。すなわち、当該アプリケーションは実行時に融合機101の外部の記録媒体より読み込まれて起動される場合もある。かかる意味において、図1の構成例は、定常的に融合機101にインストールされているアプリケーションの構成を示すものではなく、アプリケーションの実行時にRAM上に展開された状態として実現され得る構成を示すものである。
【0016】
アプリケーション131の中には、融合機101が提供する専用のSDK(ソフトウェア開発キット)を使用することにより、融合機101の出荷後にユーザやソフトウェアベンダ等によって開発及び追加されるものもある。SDKを使用して開発したアプリケーション131をSDKアプリと呼ぶ。専用のSDKとしては、C言語でアプリケーション131を開発するための「CSDK」や、Java(登録商標)言語でアプリケーション131を開発するための「JSDK」が提供される。CSDKを使用して開発したアプリケーション131を「CSDKアプリ」と呼び、JSDKを使用して開発したアプリケーション131を「JSDKアプリ」と呼ぶ。図1の融合機101にも、CSDKアプリ181と、JSDKアプリ182が存在する。図1の融合機101にはさらに、Java(登録商標)言語で記述されたJSDKアプリ182とC言語で記述された他のソフトウェア112との仲介を行うソフトウェア112として、JSDKプラットフォーム183が存在する。
【0017】
プラットフォーム132としては、種々のコントロールサービス151、システムリソースマネージャ152、種々のハンドラ153が存在する。コントロールサービス151としては、オペレーションパネルコントロールサービス(OCS)161及びサーティフィケーションコントロールサービス(CCS)162等が存在する。ハンドラ153としては、ファクシミリコントロールユニットハンドラ(FCUH)171、イメージメモリハンドラ(IMH)172が存在する。
【0018】
OCS161のプロセスは、オペレーションパネルに関する制御を行う。CCS162のプロセスは、認証処理、アクセス制御、及び課金処理に関する制御を行う。その他、非図示のコントロールサービス151としては、例えば、ネットワーク通信の仲介を行うプロセス、ファクシミリのAPIを提供するプロセス、蓄積文書の配信処理に関する制御を行うプロセス、撮像部121や印刷部122に関する制御を行うプロセス、メモリやハードディスクドライブに関する制御を行うプロセス、ユーザ情報の管理に関する制御を行うプロセス、システムの管理に関する制御を行うプロセス等が存在する。
【0019】
アプリケーション131とプラットフォーム132の仲介を行うソフトウェア112として、仮想アプリケーションサービス(VAS)135が存在する。VAS135は、アプリケーション131をクライアントとするサーバプロセスとして動作すると共に、プラットフォーム132をサーバとするクライアントプロセスとして動作する。VAS135は、アプリケーション131から見てプラットフォーム132を隠蔽するラッピング機能を備え、プラットフォーム132のバージョンアップに伴うバージョン差を吸収する役割等を担う。
【0020】
図2は、本発明の実施の形態における融合機のハードウェア構成例を示す図である。融合機101のハードウェア111としては、CPU211と、SDカードスロット234と、USBデバイス242と、ROM231aと、RAM231bと、NVRAM231cと、HDD233と、NIC(ネットワークインタフェースコントローラ)241と、オペレーションパネル202と、撮像部121と、印刷部122と等が存在する。
【0021】
CPU211は、種々の情報処理用のICである。SDカードスロット234は、SDカード235をセットするためのスロットである。USBデバイス242は、USB規格の接続端子を提供するためのデバイスであり、USBメモリ2422が接続される。HDD233は、融合機101のストレージである。NIC241は、MACアドレスによるネットワーク通信用のコントローラである。オペレーションパネル202は、オペレータが融合機101に入力を行うためのハードウェア(操作部)であると共に、オペレータが融合機101から出力を得るためのハードウェア(表示部)である。
【0022】
オペレーションパネル202は、図3のように、タッチパネル311と、テンキー312と、スタートボタン313と、リセットボタン314と、機能キー315と、初期設定ボタン316により構成される。タッチパネル311は、タッチ操作で入力を行うためのハードウェア(タッチ操作部)であると共に、画面表示で出力を得るためのハードウェア(画面表示部)である。テンキー312は、キー(ボタン)操作で数字入力を行うためのハードウェアである。スタートボタン313は、ボタン操作でスタート操作を行うためのハードウェアである。リセットボタン314は、ボタン操作でリセット操作を行うためのハードウェアである。機能キー315は、キー(ボタン)操作でCSDKアプリ181やJSDKアプリ182による操作画面を表示させるためのハードウェアである。初期設定ボタン316は、ボタン操作で初期設定画面を表示させるためのハードウェアである。
【0023】
図4は、第一の実施の形態の融合機において利用されるソフトウェアの静的な配置構成例を示す図である。
【0024】
図4は、図2のハードウェア構成図より以下の説明において必要なものだけを抜き出したハードウェア構成図上において、代表的なソフトウェアの静的な状態(実行されていない状態)における配置構成例を示すものである。
【0025】
図4に示されるように、第一の実施の形態においては、OSと、種々のコントロールサービス(CS)151(OCS161、CCS162等)と、標準アプリ140は、ROM231aに格納されている。また、SDKアプリ180は、SDカード235に格納されている。また、ポリシーデータ501aは、携帯型の記録媒体の一例であるUSBメモリ2422に格納されている。
【0026】
なお、標準アプリ140とは、アプリケーション131のうちのSDKアプリ以外のアプリケーションをいい、図1に示されるコピーアプリ141、プリンタアプリ142、スキャナアプリ143、ファクシミリアプリ144、ネットワークアプリ145、Webブラウザ146、及びWebサーバソフト147等が含まれる。
【0027】
また、ポリシーデータ501aは、融合機101の各種資源(ソフトウェア資源及びハードウェア資源)に対するアクセス制御情報が定義されたデータをいう。ポリシーデータ501aの定義形式は所定のものに限定されないが、本実施の形態(第一の実施の形態のみならず以降の実施の形態も含む)では、図5に示されるものを用いる。
【0028】
図5は、本発明の実施の形態におけるポリシーデータの定義例を示す図である。図5のポリシーデータ501では、融合機101において、ユーザに対して提供されるアプリケーション(標準アプリ140、SDKアプリ180等)ごと、又は、アプリケーションを構成する処理単位ごとにユーザの利用権限(実行権(x)、読み取り権(r)、書き込み権(w))が定義されている。なお、「ユーザに対して提供される」とは、ユーザから直接操作されることをいう。
【0029】
例えば、user1は、1行目より、コピーアプリ141の操作は実行(x)できる。また、4行目より、コピーの際にカラースキャンによって原稿より画像データを読み取らせる(r)ことができる。また、5行目より、コピーの際にカラー印刷によって印刷用紙に画像データを書き込ませる(w)ことができる。
【0030】
なお、図5において、参照番号2422−n(nは、1〜5)は、それぞれ異なるUSBメモリ2422を示す。例えば、USBメモリ2422−1には、user1のポリシーデータ501−1aが格納されている。また、USBメモリ2422−2には、user2のポリシーデータ501−2aが格納されている。他のUSBメモリ2422−nについても、それぞれ、一ユーザ分のポリシーデータ501−na(nは、1〜5)が格納されている。
【0031】
すなわち、図4では、従来、融合機101のNVRAM231c若しくはHDD233、又は融合機101とネットワークを介して接続されるサーバコンピュータ等において一元的に管理されていたポリシーデータ501が、携帯型の記録媒体であるUSBメモリ2422にユーザごとに格納されている点が特徴である。但し、ポリシーデータ501の一部又は全部は、NVRAM213cにも格納されていてもよい。かかる観点(NVRAM231c内に、ポリシーデータ501は必ずしも存在するわけではないという意味)より、NVRAM231cにおけるポリシーデータ501bは、破線によって表現されている。
【0032】
なお、ポリシーデータ501aとポリシーデータ501bとの定義内容は重複していてもよし、重複していなくてもよい。すなわち、ポリシーデータ501aには、user1〜user9について定義されている場合に、ポリシーデータ501bには、user10以降のユーザについて定義されていてもよいし、user5以降のユーザについて定義されていてもよい。以下において、ポリシーデータ501aとポリシーデータ501bとを特に区別しない場合、ポリシーデータ501という。
【0033】
以下、第一の実施の形態における融合機101の処理手順について説明する。図6は、第一の実施の形態における融合機の起動時の処理手順を説明するためのフローチャートである。
【0034】
ユーザによって融合機101の主電源が投入されると(S101)、CPU211が起動する(S102)。CPU211は、ROM231aよりブートストラップを読み出し(S103)、ROM231aのファイルシステムを認識し、ブートセクタを読み出す(S104)。続いて、CPU211は、UNIX(登録商標)OSのカーネルをロードし、UNIX(登録商標)システムを起動する(S105)。続いて、OS内のルートプロセス(initプロセスに相当するプロセス)が、予め定められたプロセスを子プロセスとして起動する(S106)。例えば、ROM231aよりCS151における各種コントロールサービスがロードされ、起動される(S107)。
【0035】
続いて、CS151のうち、認証機能及びアクセス制御機能を担うCCS162は、オペレーションパネル202におけるタッチパネル311の表示制御を占有し、タッチパネル311に認証画面をグレーアウトで表示させる(S108)。ここで、認証画面とは、ユーザに認証情報(例えば、ユーザID及びパスワード等)を入力させるための画面をいう。
【0036】
続いて、CPU211は、ROM231aより標準アプリ140をロードし、起動する(S109)。ここで、標準アプリ140は当該標準アプリ140を操作させるための初期画面をタッチパネル311に表示させようとするが、タッチパネル311は、CCS162によって占有されているため、認証画面が表示されたまま融合機101は待機状態となる。但し、認証画面はグレーアウトされているため、ユーザは認証情報を入力できず、融合機101の各種資源を利用することはできない。
【0037】
次に、ユーザが融合機101の標準アプリ140を利用する際の融合機101による処理手順について説明する。図7は、第一の実施の形態において標準アプリを利用する際の融合機の処理手順を説明するためのフローチャートである。
【0038】
融合機101を利用するユーザが、ポリシーデータ501aの格納されたUSBメモリ2422を融合機101のUSBデバイス242に挿し込むと(接続すると)(S151)、融合機101のCCS162は、USBメモリ2422の挿入(接続)を検知する(S152)。
【0039】
図8は、USBメモリの挿入を検知するための仕組みの例を示す図である。図8に示されるように、USBメモリ2422が、USBデバイス242に挿し込まれると(S501)、その旨は、OS内のUSBドライバ2423によって、usbhd(USBハードウェアデーモン)2424に通知される。usbhd2424は、USBメモリの自動マウント及びアンマウントや、USBメモリの接続監視や、USBメモリ内に格納されているアプリケーションの起動等を行うデーモンプロセスであり、各種コントロールサービス151と同じ層において動作する。
【0040】
usbhd2424は、USBメモリ2422が挿し込まれた旨を、umassライブラリをリンクしているモジュールに通知する。したがって、CCS162がUSBメモリ2422が挿し込まれた旨の通知を受けるためには、CCS162は、umassライブラリをリンクしている必要がある(S503)。その後CCS162は、USBドライバ2423を介してUSBメモリ2422に対してアクセスするための準備が完了しているか否かを確認する(S504)。
【0041】
CCS162は、USBメモリ2422の挿入を検知すると、認証画面のグレーアウトを解除し、認証画面を入力可能とする(S153)。そこで、ユーザが、認証画面において認証情報を入力すると(S154)、CCS162は、入力された認証情報に基づいてユーザの認証を行う(S155)。
【0042】
ユーザが認証された場合(S155でYes)、CCS162は、挿入されたUSBメモリ2422よりポリシーデータ501aを取得し、RAM231b上に展開する(S156)。CCS162は、また、NVRAM231cにポリシーデータ501bが格納されている場合は、当該ポリシーデータ501bを取得し、RAM231b上に展開する。
【0043】
続いて、CCS162は、上記の仕組みによってRAM231c上に展開されたポリシーデータ501に基づいて、カレントユーザが操作可能な標準アプリ140を判定する(S157)。例えば、カレントユーザが「user1」であれば、図5のポリシーデータ501−1aに基づけば、コピーアプリ141及びスキャナアプリ143の操作が可能であると判定される。なお、NVRAM231cにポリシーデータ501bが格納されていた場合であって、当該ポリシーデータ501bの定義内容と、USBメモリ2422におけるポリシーデータ501aの定義内容との間に重複部分がある場合、USBメモリ2422の定義内容が優先的に適用される。
【0044】
続いて、カレントユーザが操作可能であると判定された標準アプリ140は、当該アプリケーションの操作画面をタッチパネル311に表示させる(S158)。なお、操作可能であると判定された標準アプリ140が複数ある場合、いずれのアプリケーションの操作画面を表示させるかは予め定めておけばよい。また、ステップS158において特定のアプリケーションの操作画面を表示させるのではなく、利用するアプリケーションを選択させるための画面を表示させ、その画面においてユーザによって選択されたアプリケーションの操作画面を表示させるようにしてもよい。ここでは、コピーアプリ141によって、コピーアプリ141の操作画面が表示される場合を例とする。
【0045】
続いて、ユーザが、例えば融合機101のADF(自動原稿搬送装置)に原稿をセットし、オペレーションパネル202を介してカラーコピー機能(原稿をカラーでスキャンし、スキャンされた画像を蓄積すると共に、印刷用紙に出力する機能)の実行を指示したとする(S159)。この場合、まず、コピーアプリ141は、カレントユーザの「コピーによるカラースキャン」による画像データの読み取り権限(r)の有無を確認する(S160)。より詳しくは、コピーアプリ141は、CCS162に対してカレントユーザについて当該権限の有無を問い合わせる。CCS162は、RAM231bに展開されたポリシーデータ501に基づいて、当該権限の有無を確認し、その確認結果をコピーアプリ141に返信する。例えば、カレントユーザが「user1」である場合、当該権限は認められているため、当該権限は有ると判定される。
【0046】
カレントユーザに当該権限が無い場合(S160でNo)、コピーアプリ141は、アプリケーションとしての処理を終了させる(S166)。これによって、タッチパネル311の表示は、コピーアプリ141の操作画面に戻る。
【0047】
一方、カレントユーザに当該権限が有る場合、コピーアプリ141は、カラースキャンを撮像部121に実行させる(S161)。
【0048】
続いて、コピーアプリ141は、ステップS160と同様にCCS162に問い合わせることにより、カレントユーザの「コピーによる画像蓄積」による画像データの書き込み権限(w)の有無を確認する(S162)。カレントユーザに当該権限が有る場合(S162でYes)、コピーアプリ141は、原稿からスキャンされた画像データをUSBメモリに2422に保存する(S163)。
【0049】
ところで、コピー時にスキャンされた画像データの保存先は、一時的な場合も含めて、従来はHDD233であった。しかし、機密文書等がコピーされる場合を考えると、HDD233に画像データが蓄積されるのはセキュリティ上の観点より問題があった。すなわち、融合機101は、多数のユーザよりアクセス可能であるため、当該融合機101のHDD233内を参照したり、HDD233自体を持ち出したりすることは、それほど困難なことではないからである。
【0050】
そこで、本実施の形態における融合機101のコピーアプリ141は、USBメモリ2422に画像データを保存する。例えば、USBメモリ2422を、ユーザごとにそれぞれ配布しておけば、あるユーザによるコピー時にスキャンされた画像データは、当該ユーザのUSBメモリ2422に保存されるため、他のユーザによって当該画像データが参照されることを防止することができる。
【0051】
一方、カレントユーザに「コピーによる画像蓄積」による画像データの書き込み権限が無い場合は(S162でNo)、USBメモリ2422への画像データの保存は行われない。
【0052】
ステップS162又はS163に続いてステップS164に進み、コピーアプリ141は、ステップS160と同様にCCS162に問い合わせることにより、カレントユーザの「コピーによるカラー印刷」による画像データの書き込み権限(w)の有無を確認する。
【0053】
カレントユーザに当該権限が無い場合(S164でNo)、コピーアプリ141は、アプリケーションとしての処理を終了させる(S166)。これによって、タッチパネル311の表示は、コピーアプリ141の操作画面に戻る。一方、カレントユーザに当該権限が有る場合、コピーアプリ141は、印刷部122にスキャンされた画像データのカラー印刷を実行させ、処理を終了させる(S165)。これによって、タッチパネル311の表示は、コピーアプリ141の操作画面に戻る。
【0054】
なお、図7の処理の途中においてUSBメモリ2422が抜かれた場合は、CCS162にその旨が通知され、それ以降の処理は中止される。その場合、CCS162は、起動後の待機状態の際と同様にグレーアウトさせた認証画面をタッチパネル311表示させる。すなわち、融合機101を利用するためには、USBメモリ2422が挿し込まれていなければならない。
【0055】
上述したように、第一の実施の形態における融合機101によれば、USBメモリ2422に格納されたポリシーデータ501aを用いてアクセス制御を行うことができる。したがって、例えば、USBメモリ2422を、融合機101の操作を許可するユーザのそれぞれに配布しておけば、融合機101内の記録媒体や、融合機101とネットワークを介して接続されるサーバコンピュータにおいてポリシーデータ501を管理する必要はない。よって、融合機101ごとに保守作業を行う手間や、サーバコンピュータを導入するためのコスト等をより軽減させることができる。また、ユーザごとに配布されるUSBメモリ2422には、当該ユーザのみに関するアクセス制御情報が格納されている。したがって、各ユーザのUSBメモリ2422内のポリシーデータ501aの独立性を高めることができ、他のユーザのアクセス制御情報に変更が生じた場合であっても、当該他のユーザ以外のUSBメモリ2422内のポリシーデータ501aを変更する必要はなく、アクセス制御情報に関する保守作業をより簡略化することができる。
【0056】
なお、例えば、ユーザごとでなく、複数のユーザより構成されるグループ単位でUSBメモリ2422を配布するようにしてもよい。斯かる場合、USBメモリ2422内のポリシーデータ501aには、当該グループに対するポリシーデータ、又は当該グループを構成する各ユーザのポリシーデータを格納するようにすればよい。
【0057】
次に、第二の実施の形態について説明する。図9は、第二の実施の形態の融合機において利用されるソフトウェアの静的な配置構成例を示す図である。図9中、図4と同一部分には同一符号を付し、その説明は省略する。図9において図4と異なる点は、SDKアプリ180の格納場所にある。すなわち、図9において、SDKアプリ180は、SDカード235ではなく、USBメモリ2422に格納されている。
【0058】
以下、第二の実施の形態における融合機101の処理手順について説明する。第二の実施の形態において、融合機101の起動時の処理手順は第一の実施の形態(図6)と同様であるため、ここでの説明は省略する。
【0059】
第二の実施の形態では、ユーザがSDKアプリ180を利用する際の融合機101による処理手順について説明する。図10は、第二の実施の形態においてSDKアプリを利用する際の融合機の処理手順を説明するためのフローチャートである。図10中、図7と同一ステップには同一ステップ番号を付し、その説明は省略する。すなわち、図10において、ステップS151からステップS158までは、第一の実施の形態と同様である。
【0060】
ステップS158に続いてステップS259に進み、ユーザが、オペレーションパネル202の機能キー315を操作することにより、SDKアプリ180の操作画面の表示を指示すると、CCS162は、ポリシーデータ501に基づいて、カレントユーザが操作可能なSDKアプリ180を判定する(S260)。なお、図5には、標準アプリ140に対する定義のみが表示されているが、SDKアプリ180に対する定義も同様にポリシーデータ501内に行っておけばよい。
【0061】
続いて、OCS161は、CCS162によって操作可能であると判定されたSDKアプリ180を操作させるための画面(例えば、カレントユーザが操作可能なSDKアプリ180の一覧が示された画面)をタッチパネル311に表示させる(S261)。ユーザが、表示された画面上において、任意のSDKアプリ180の実行を指示すると(S262)、usbhd2424は、USBメモリ2422より当該SDKアプリ180をロードし(S263)、プロセスとして起動する(S264)。
【0062】
上述したように、第二の実施の形態における融合機101によれば、USBメモリ2422に格納されたSDKアプリ180を実行させることができる。したがって、例えば、各ユーザには、当該ユーザに対応するポリシーデータ501aと、当該ユーザが利用可能なSDKアプリ180が格納されたUSBメモリ2422を配布するようにすれば、成りすましによるSDKアプリ180の不正な実行を効果的に防止することができる。すなわち、仮にパスワード等の認証情報が盗まれたとしても、当該SDKアプリ180が格納されたUSBメモリ2422を入手できなければ、そもそも融合機101に当該SDKアプリ180をロードすることができないからである。
【0063】
なお、USBメモリ2422がユーザごと又はグループごとに配布される場合、権限の無いユーザによるSDKアプリ180の不正利用をより効果的に防止するために、当該ユーザ又はグループに利用可能なSDKアプリ180のみをUSBメモリ2422に格納するようにするとよい。この場合、CCS162は、USBメモリ2422に格納されているSDKアプリ180については、ポリシーデータ501の定義に拘わらず利用可能と判定するようにしてもよい。
【0064】
次に、第三の実施の形態について説明する。図11は、第三の実施の形態の融合機において利用されるソフトウェアの静的な配置構成例を示す図である。図11中、図9と同一部分には同一符号を付し、その説明は省略する。図11において図9と異なる点は、標準アプリ140の格納場所にある。すなわち、図11において、標準アプリ140は、ROM231aではなく、USBメモリ2422に格納されている。
【0065】
以下、第三の実施の形態における融合機101の処理手順について説明する。図12は、第三の実施の形態における融合機の起動時の処理手順を説明するためのフローチャートである。図12中、図6と同一ステップには同一ステップ番号を付し、その説明は省略する。
【0066】
ステップS107に続いてステップS308に進み、CCS162は、USBドライバ2423を介してUSBデバイス242にUSBメモリ2422が既に挿し込まれているか否かを確認する。この処理は、融合機101に電源が投入される際に、ユーザが予めUSBメモリ2422を挿し込むことがあり得ることを考慮したものである。
【0067】
USBメモリ2422が挿し込まれていない場合(S308でNo)、CCS162は、オペレーションパネル202におけるタッチパネル311の表示制御を占有し、タッチパネル311に認証画面をグレーアウトで表示させる(S312)。融合機101は、この状態で待機する。
【0068】
一方、USBメモリ2422が既に挿し込まれている場合(S308でYes)、CCS162は、オペレーションパネル202におけるタッチパネル311の表示制御を占有し、タッチパネル311に認証画面を入力可能な状態で表示させる(S309)。続いて、usbhd2424が、USBメモリ2422より標準アプリ140をロードし(S310)、プロセスとして起動する(S311)。融合機101は、この状態で待機する。
【0069】
次に、ユーザが、標準アプリ140を利用する際の融合機101による処理手順について説明する。図13は、第三の実施の形態においてUSBメモリが起動時に挿し込まれていない場合に標準アプリを利用する際の融合機の処理手順を説明するためのフローチャートである。すなわち、図13の処理は、図12において、ステップS312実行後に融合機101が待機状態となっている場合の処理手順を示すものである。なお、図13中、図7と同一ステップには同一ステップ番号を付し、その説明は省略する。
【0070】
図13においては、ステップS157とステップS158との間に、ステップS357−1及びステップS357−2が新たに追加されている。
【0071】
すなわち、usbhd2424は、ステップS157において判定された、カレントユーザが操作可能な標準アプリ140をUSBメモリ2422よりロードし(S357−1)、ロードされた標準アプリ140をプロセスとして起動する(S357−2)。その他の処理は、第一の実施の形態と同様である。
【0072】
また、図14は、第三の実施の形態においてUSBメモリが起動時に挿し込まれている場合に標準アプリを利用する際の融合機の処理手順を説明するためのフローチャートである。すなわち、図14の処理は、図12において、ステップS311において標準アプリ140が起動された後に融合機101が待機状態となっている場合の処理手順を示すものである。なお、図14中、図7と同一ステップには同一ステップ番号を付し、その説明は省略する。
【0073】
図14の処理手順は、図7処理手順からステップS151からステップS153を削除したものと同様である。すなわち、図14においては、融合機101の起動時に既にUSBメモリ2422が挿し込まれており、認証画面は入力可能な状態となっている。更に、USBメモリ2422よりロードされた標準アプリ140は、既に起動されている。したがって、ユーザが認証情報を入力し(S154)、認証されれば(S155でYes)、第一の実施の形態と同様の手順で標準アプリ140(コピーアプリ141)が実行され得る。
【0074】
上述したように、第三の実施の形態における融合機101によれば、USBメモリ2422に格納された標準アプリ140を実行させることができる。したがって、例えば、各ユーザには、当該ユーザに対応するポリシーデータ501aと、当該ユーザが利用可能な標準アプリ140が格納されたUSBメモリ2422を配布するようにすれば、成りすましによる標準アプリ140の不正な実行を効果的に防止することができる。
【0075】
また、標準アプリ140をROM231aに格納する必要性が軽減されるため、ROM231aのメモリ消費量を低減させることができる。
【0076】
なお、USBメモリ2422がユーザごと又はグループごとに配布される場合、権限の無いユーザによる標準アプリ140の不正利用をより効果的に防止するために、当該ユーザ又はグループに利用可能な標準アプリ140のみをUSBメモリ2422に格納するようにするとよい。この場合、CCS162は、USBメモリ2422に格納されている標準アプリ140については、ポリシーデータ501の定義に拘わらず利用可能と判定するようにしてもよい。
【0077】
次に、第四の実施の形態について説明する。第四の実施の形態では、融合機101において動作可能なアプリケーション(SDKアプリ180や標準アプリ140等)を「パイプ&フィルタ」と呼ばれるアーキテクチャで構築する場合のアクセス制御について考える。ここで、フィルタとは、アプリケーションを構成する部品(機能モジュール)となるプログラムをいう。「パイプ&フィルタ」と呼ばれるアーキテクチャにおいて、アプリケーションは、フィルタの接続によって構成される。また、フィルタとフィルタとの間を接続する媒体をパイプという。パイプは、先に実行されるフィルタより出力される情報を次に実行されるフィルタへの入力するための仮想的な伝達媒体である。パイプは、例えば、ハードディスク、RAM、又はUSBメモリ等によって提供されるメモリ空間によって実現される。
【0078】
例えば、図15は、コピーアプリのフィルタ構成の例を示す図である。図15において、コピーアプリ141は、スキャンフィルタ191と印刷フィルタ192との接続によって構成されている。スキャンフィルタ191は、撮像部121によって原稿より読み取られた画像データをパイプ(例えば、USBメモリ2422)に出力する。印刷フィルタ192は、パイプへの画像データの入力を検知すると当該画像データを印刷部122に印刷させる。したがって、スキャンフィルタ191と印刷フィルタ192との動作が連続的に行われることにより、コピー機能が実現される。
【0079】
また、図16は、スキャンによるftp転送アプリのフィルタ構成の例を示す図である。図16において、スキャンによるftp転送アプリ1801は、スキャンフィルタ191とftp転送フィルタ193との接続によって構成されている。図16中、図15と同一部分には同一符号を付している。したがって、図16におけるスキャンフィルタ191は、図15におけるものと同じである。ftp転送フィルタ193は、パイプへの画像データの入力を検知すると当該画像データをNIC241を利用してftp転送する。
【0080】
融合機101のアプリケーションが、パイプ&フィルタによって構成される場合、ポリシーデータ501には、アプリケーションレベルでの利用権限と、フィルタレベルでの利用権限と、ハードウェア資源レベルでの利用権限とをそれぞれ定義するようにするとよい。
【0081】
図17は、アプリケーションレベルのポリシーデータの例を示す図である。図17のポリシーデータ501L1には、コピーアプリ、スキャナアプリ、スキャンによるftp転送アプリ、及びスキャンによるmail転送アプリ等のアプリケーションごとに利用の可否が定義されている。図17の例では、user1は、コピーアプリとスキャンアプリの利用が許可されている。
【0082】
図18は、フィルタレベルのポリシーデータの例を示す図である。図18のポリシーデータ501L2には、スキャンフィルタ、印刷フィルタ、ftp転送フィルタ、及びmail転送フィルタ等のフィルタごとに利用の可否が定義されている。図18の例では、user1は、スキャンフィルタと印刷フィルタとの利用が許可されている。
【0083】
図19は、ハードウェア資源レベルのポリシーデータの例を示す図である。図19のポリシーデータ501L3には、撮像部121、印刷部122、HDD233、NIC241、及びUSBメモリ2422等のハードウェア資源ごとに利用の可否が定義されている。図19の例では、user1は、撮像部121、印刷部122、及びUSBメモリ2422の利用が許可されている。
【0084】
第四の実施の形態では、図17〜図19に示されるポリシーデータ510L1、501L2、及び501L3が、図4のポリシーデータ501aとしてユーザごとにUSBメモリ2422に格納されている。
【0085】
図20は、第四の実施の形態において利用可能なアプリケーションの判定処理を説明するためのフローチャートである。すなわち、図20は、図7、図10、又は図14等のステップS157における操作可能な標準アプリの判定処理や、図10のステップS260における操作可能なSDKアプリの判定処理に相当する処理を説明するものである。したがって、図20の処理の前提として、USBメモリ2422に格納されているポリシーデータ501L1、501L2及び501L3は、RAM231b上に展開されていることとする。
【0086】
まず、CCS162は、RAM231c上に展開されたポリシーデータ501L1に基づいて、判定対象とされているアプリケーション(以下「対象アプリ」という。)の利用の可否を判定する(S401)。ポリシーデータ501L1において、対象アプリの利用が許可されている場合(S402でYes)、CCS162は、RAM231c上に展開されたポリシーデータ501L2に基づいて、対象アプリを構成する各フィルタの利用の可否を判定する(S403)。対象アプリを構成する各フィルタの判別は、アプリケーションとフィルタとの利用関係を示す情報をHDD233等に記録しておき、当該情報に基づいて行えばよい。
【0087】
ポリシーデータ501L2において、対象アプリを構成する全てのフィルタの利用が許可されている場合(S404でYes)、CCS162は、RAM231c上に展開されたポリシーデータ501L3に基づいて、各フィルタより利用される(すなわち、対象アプリより利用される)各ハードウェア資源の利用の可否を判定する(S405)。各フィルタより利用されるハードウェア資源の判別は、フィルタとハードウェア資源との利用関係を示す情報をHDD233等に記録しておき、当該情報に基づいて行えばよい。
【0088】
ポリシーデータ501L3において、各フィルタより利用される全てのハードウェア資源の利用が許可されている場合(S406でYes)、CCS162は、対象アプリの利用は可能であると判定する(対象アプリの利用を許可する)(S407)。
【0089】
一方、ポリシーデータ501L1において、対象アプリの利用が許可されていない場合(S402でNo)、ポリシーデータ501L2において、対象アプリを構成するフィルタのうち少なくとも一つのフィルタの利用が許可されていない場合(S404でNo)、又は、ポリシーデータ501L3において、対象アプリより利用されるハードウェア資源のうち少なくとも一つのハードウェア資源の利用が許可されていない場合(S406でNo)、CCS162は、対象アプリの利用は不可能であると判定する(対象アプリの利用を禁止する)(S408)。
【0090】
上述したように、第四の実施の形態によれば、例えば、既存のフィルタの組み合わせによって新たなアプリケーションが作成された場合、当該新たなアプリケーションに関するアクセス制御情報がポリシーデータ501L1に定義されていなくても、フィルタレベルのポリシーデータ(ポリシーデータ501L2)又はハードウェア資源レベルのポリシーデータ(ポリシーデータ501L3)に基づいて当該アプリケーションに対するアクセス制御を行うことができる。また、新たなフィルタが作成され、融合機101にインストールされた場合に、当該新たなフィルタに関するアクセス制御情報がポリシーデータ501L2に定義されていなくても、ハードウェア資源レベルのポリシーデータ(ポリシーデータ501L3)に基づいて当該フィルタに対するアクセス制御を行うことができる。
【0091】
なお、上記では、アクセス制御情報は、単に利用(操作)の可否のみが定義された例について説明したが、例えば、所定の条件が満たされる場合に利用を許可するように定義されてもよい。例えば、所定の料金が支払われた場合に利用を許可したり、所定の時間帯に限って利用を許可したりといった具合である。
【0092】
なお、本実施の形態では、USBメモリを携帯型の記録媒体の一例として説明したが、ポリシーデータ501や、標準アプリ140、又はSDKアプリ180等を格納するための携帯型の記録媒体は、USBメモリに限定されない。例えば、SDカード又はICカード等、各種の記録媒体を適用させることができる。
【0093】
以上、本発明の実施例について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【0094】
101 融合機
111 ハードウェア
112 ソフトウェア
121 撮像部
122 印刷部
123 その他のハードウェア
131 アプリケーション
132 プラットフォーム
133 アプリケーションプログラムインタフェース
134 エンジンインタフェース
135 仮想アプリケーションサービス
140 標準アプリ
141 コピーアプリ
142 プリンタアプリ
143 スキャナアプリ
144 ファクシミリアプリ
146 Webブラウザ
147 Webサーバソフト
148 SDKアプリケーションサービス
151 コントロールサービス
152 システムリソースマネージャ
153 ハンドラ
161 オペレーションパネルコントロールサービス
162 サーティフィケーションコントロールサービス
171 ファクシミリコントロールユニットハンドラ
172 イメージメモリハンドラ
180 SDKアプリ
181 CSDKアプリ
182 JSDKアプリ
183 JSDKプラットフォーム
191 スキャンフィルタ
192 印刷フィルタ
193 ftp転送フィルタ
202 オペレーションパネル
211 CPU
233 HDD
234 SDカードスロット
235 SDカード
241 NIC
242 USBデバイス
311 タッチパネル
312 テンキー
313 スタートボタン
314 リセットボタン
315 機能キー
316 初期設定ボタン
501、501a、501b ポリシーデータ
2422 USBメモリ
2423 USBドライバ
2424 usbhd
【先行技術文献】
【特許文献】
【0095】
【特許文献1】特開2005−269619号公報

【特許請求の範囲】
【請求項1】
複数のアプリケーションを実行可能な装置であって、
前記アプリケーションから利用される複数のソフトウェア資源又は複数のハードウェア資源のそれぞれについて、ユーザによる利用の可否が定義されたアクセス制御情報に基づいて、前記複数のアプリケーションのうちの第一のアプリケーションに関して、前記第一のアプリケーションが利用するソフトウェア資源又はハードウェア資源に対する前記ユーザによる利用の可否に基づいて、前記ユーザによる前記第一のアプリケーションの利用の可否を判定する判定手段を有する装置。
【請求項2】
前記アクセス制御情報には、前記アプリケーション単位で前記ユーザによる利用の可否が定義され、
前記判定手段は、更に、前記第一のアプリケーションに対して前記アクセス制御情報に定義されている利用の可否に基づいて、前記ユーザによる前記第一のアプリケーションの利用の可否を判定し、前記第一のアプリケーションに関する利用の可否が前記アクセス制御情報に定義されていない場合は、前記第一のアプリケーションが利用するソフトウェア資源又はハードウェア資源に対する前記ユーザによる利用の可否に基づいて、前記ユーザによる前記第一のアプリケーションの利用の可否を判定する請求項1記載の装置。
【請求項3】
前記判定手段は、前記第一のアプリケーションが利用するソフトウェア資源に関する利用の可否が前記アクセス制御情報に定義されていない場合は、当該ソフトウェア資源が利用するハードウェア資源に対する前記ユーザによる利用の可否に基づいて、前記ユーザによる当該ソフトウェア資源の利用の可否を判定する請求項1又は2記載の装置。
【請求項4】
複数のアプリケーションを実行可能な装置が、
前記アプリケーションから利用される複数のソフトウェア資源又は複数のハードウェア資源のそれぞれについて、ユーザによる利用の可否が定義されたアクセス制御情報に基づいて、前記複数のアプリケーションのうちの第一のアプリケーションに関して、前記第一のアプリケーションが利用するソフトウェア資源又はハードウェア資源に対する前記ユーザによる利用の可否に基づいて、前記ユーザによる前記第一のアプリケーションの利用の可否を判定する判定手順を実行するアクセス制御方法。
【請求項5】
複数のアプリケーションを実行可能な装置に、
前記アプリケーションから利用される複数のソフトウェア資源又は複数のハードウェア資源のそれぞれについて、ユーザによる利用の可否が定義されたアクセス制御情報に基づいて、前記複数のアプリケーションのうちの第一のアプリケーションに関して、前記第一のアプリケーションが利用するソフトウェア資源又はハードウェア資源に対する前記ユーザによる利用の可否に基づいて、前記ユーザによる前記第一のアプリケーションの利用の可否を判定する判定手順を実行させるアクセス制御プログラム。
【請求項6】
請求項5記載のアクセス制御プログラムを記録したコンピュータ読み取り可能な記録媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate


【公開番号】特開2013−101688(P2013−101688A)
【公開日】平成25年5月23日(2013.5.23)
【国際特許分類】
【出願番号】特願2013−20116(P2013−20116)
【出願日】平成25年2月5日(2013.2.5)
【分割の表示】特願2011−123086(P2011−123086)の分割
【原出願日】平成18年11月30日(2006.11.30)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】