以下、本発明に係る画像処理装置の一例としての複合機1、及び、画像処理装置に接続される可搬型記憶装置の一例としてのUSBメモリ2について説明する。複合機1は、スキャナ機能、印刷機能、複写機能、ファクシミリ通信機能、電子メール通信機能等を備えている。また、USBメモリ2は、いわゆるUSBメモリとして種々の情報を記憶することができ、複合機1のスキャナ機能により読取られた原稿画像のスキャンファイル(画像データ)を記憶することもできる。
図1は、複合機1の構成例を示したブロック図である。この複合機1は、図1に示すように、制御部(CPU:Central Processing Unit)101、ROM(Read Only Memory)102、RAM(Random Access Memory)103、原稿読取部104、画像処理部105、コーデック(CODEC:Coder and Decoder)106、画像メモリ107、プリンタ108、操作部109、報知部110、FAX通信部112、LAN−I/F(Local Area Network Interface)113、及び、USBホストコントローラ114を備えており、各部101乃至114は、バス116によって通信可能に接続されている。
CPU101は、ROM102に格納されている制御プログラムに従って、複合機1の各部の動作を制御する。ROM102は、CPU101によりこの複合機1の各部の動作を制御するための前記制御プログラム等を格納する。また、このROM102には、共通鍵暗号方式による暗号化プログラムおよび復号プログラムが記憶されており、これによりCPU101は所定の暗号化鍵によってスキャンファイルを暗号化および復号することができる。RAM103は、複合機1の動作に用いる設定情報等の各種データ等を、読み出し及び書き込みが可能な状態で記憶するものであり、例えば、画像処理装置のユーザ認証や画像処理装置に接続される媒体毎の認証に用いられる認証用テーブルが記憶される。また、このRAM103には予め複合機1に固有の暗号化鍵も記憶されている。
原稿読取部104は、原稿の画像を読み取ってスキャンデータを生成するものであり、図示しないが、例えば、透明な原稿載置板に載置された原稿を読み取るフラット・ベッド・スキャナ(FBS:Flat Bed Scanner)や、原稿トレイに載置された原稿を読み取るべく、その原稿を搬送する自動原稿給送装置(ADF:Automatic Document Feeder)を備えている。
画像処理部105は、原稿読取部104から出力されたスキャンデータに対して、色調整、色空間変換、2値化等の処理を行うものである。コーデック106は、画像処理部105等によって処理されたスキャンデータを符号化(エンコード)してスキャンファイルを生成するとともに、符号化されたスキャンファイル(画像データ)を復号(デコード)するものである。コーデック106に入力されたスキャンデータは、JPEG、MH、MR、MMR、JBIG方式等に基づいて符号化されたスキャンファイルにされ、画像メモリ107に記憶される。
プリンタ108は、画像メモリ107から読み出され、コーデック106によって復号された画像を印刷出力するものである。
操作部109は、図示しないが、原稿の読み取り動作の開始を指示するためのスタートキー、ファクシミリ番号、コピー部数等を入力するためのテンキー、操作対象を指定するためのカーソルキー、操作の決定を行う決定キー等の入力キーを備えている。また、この操作部109を操作して、ユーザIDとパスワードとを入力することでユーザ認証を行っている。報知部110は、各種の設定状態や自装置1及び自装置に接続されたUSBメモリ2の動作状態等を表示するディスプレイ111(タッチパネル式の液晶表示装置 LCD:Liquid Crystal Display)(オペレーションパネル)や、点灯又は消灯で表示するLED(Light Emitting Diode)ランプ、所定の警告音を鳴動するスピーカ等を備えている。なお、ディスプレイ111は、本実施形態においては原稿読取部104で読取った画像データを表示することができるカラー液晶表示装置である。
FAX通信部112は、原稿画像をファクシミリ通信するものであり、図示しないが、モデム(MODEM:MOdulator-DEModulator)及びNCU(Network Control Unit)を備えている。モデムは、例えばITU−T(国際電気通信連合電気通信標準化部門)の勧告V.34規格又はこれと同様のものに従った送受信データの変調及び復調を行うものである。NCUは、電話回線を制御して電話をかけたり、切ったりする回線網制御装置であり、図示しないPSTNに接続される。PSTNには、複合機1の他にG3ファクシミリ装置等が通信可能に接続され、複合機1は、G3ファクシミリ装置等との間で画像をファクシミリ送受信することが可能である。
LAN−I/F112は、複合機1を図示しないLANに接続可能にするものである。LANには、図示しないパーソナルコンピュータ等が接続され、複合機1はパーソナルコンピュータ等との間でデータの通信が可能である。また、LANは、図示しないルータを介してインターネットに接続されている。したがって、複合機1は、他の複合機との間でインターネットファクシミリ通信(電子メール通信)を行うことも可能である。
USBホストコントローラ114は、USBのホストコントローラ機能を実現するものである。USBホストコントローラ114に設けられたUSBポート115に、USBメモリ2のUSBポート203が接続されることにより、複合機1とUSBメモリ2とが通信可能に接続される。
図2は、USBメモリ2の構成例を示したブロック図である。このUSBメモリ2は、図2に示すように、記憶部201及びUSBデバイスコントローラ202を備えており、記憶部201とUSBデバイスコントローラ202とはバス204によって通信可能に接続されている。
記憶部201はUSBデバイスコントローラ202のUSBポート203を介して外部装置から受信した各種データを記憶するものであり、本実施形態においてはフラッシュメモリ(flash memory)が採用されている。なお、この記憶部201にはUSBメモリ2に固有のIDおよびパスワードが予め記憶されている。
USBデバイスコントローラ202は、USBのデバイスコントローラ機能を実現するものであり、USBメモリ2をUSB接続による通信においてデバイスとして機能させるものである。
このような構成の複合機1およびUSBメモリ2において、複合機1のユーザ(操作者)は、複合機1の利用に先立って、ユーザ認証を行うことができる。このユーザ認証は操作部109を操作することで、ユーザIDとパスワードとを入力し、入力されたユーザIDとパスワードとが、RAM103のユーザ認証用テーブル(図3)に記憶されているユーザIDとパスワードとに一致するか否かをCPU101が判断することでなされるものである。また、複合機1は、USBメモリ2のUSBポート203に複合機1のUSBポート115が接続されたときにはUSBメモリ2の認証を行う。USBメモリ2が接続されると複合機1はUSBメモリ2にアクセスして、USBメモリ2の記憶部201に予め記憶されているUSBメモリ2に固有のIDとパスワードを読み出す。そして、読み出されたUSBメモリ2固有のIDとパスワードとが複合機1のRAM103に記憶されている媒体認証用テーブル(図4)に記憶されているIDとパスワードとに一致するか否かをCPU101が判断することでなされるものである。
また、このような構成からなる複合機1において、原稿画像を読取ってUSBメモリ2に記憶させるときには、原稿読取部104において原稿画像を読取り、画像処理部105において各種の調整を行った後、コーデック106において符号化したスキャンファイルを生成する。そして、CPU101が暗号化設定のON・OFFを判断し、暗号化設定がONであれば、RAM103に記憶されている各暗号化鍵とROM102に記憶されている暗号化プログラムとを用いて、CPU101がスキャンファイルの暗号化を行い、USBメモリ2に暗号化されたスキャンファイルを送信する。
一方、スキャンファイルをUSBメモリ2から読み出すときには、まず、USBメモリ2にアクセスしてスキャンファイルを読み出す。そして、認証の有無などの状態に応じてROM102に記憶されている復号プログラムおよびRAM103に記憶されている各種暗号化鍵とを用いて、CPU101がスキャンファイルの復号を行う。復号されたスキャンファイルはコーデック106により印刷データに変換されて印刷され、また、報知部110のディスプレイ111に表示される。なお、詳しくは後述する。
次に、図3に基いて複合機1のRAM103に記憶されているユーザ認証用テーブルについて説明する。図3はRAMの所定領域に記憶されているユーザ認証用テーブルの説明図である。ユーザ認証用テーブルにはユーザID毎にパスワード、権限、鍵が記憶されている。これらのユーザ情報は予め複合機1の管理者が複合機1の使用を許可するユーザ毎に設定し、ユーザがそれぞれパスワードなどの変更を行ったものである。ユーザIDは複合機1を利用するユーザを一意に識別する情報であり、パスワードはユーザの認証に用いられる情報である。
また、権限はa、b、cのいずれかの情報が記憶されており、例えばaの権限を有するユーザは複合機1の設定、各ユーザの登録削除などの操作を含む全ての操作が可能な権限を有するものであり、bの権限を有するユーザは例えばスキャナ機能、印刷機能、複写機能、ファクシミリ通信機能、電子メール通信機能の操作が可能な権限を有するものであり、cの権限を有するユーザは例えばスキャナ機能、印刷機能、複写機能の操作が可能な権限を有するものであるといったように各権限に応じて、可能となる操作の種類が異なる。
また、鍵はユーザが認証されたときに読取った画像データ等の暗号化および復号に用いるものである。なお、本実施形態においては、暗号化及び復号に用いられる鍵は複合機1のRAMに記憶される構成となっているが、例えば、ユーザがその都度入力するものであっても良く、また、暗号化をする際にユーザIDやパスワード等の情報に基いて生成するものであっても良い。
これらの情報のほかにユーザ認証用テーブルはユーザID毎にON・OFFのいずれかが記憶されるフラグが用意されている。このフラグはユーザが認証されるとONとなり、ユーザが認証されてから所定時間(例えば5分)複合機1が操作されない状態がつづくとき、認証されたユーザと異なるユーザが認証されたときおよび認証されたユーザが操作部109を操作して認証を解除したときにOFFとされる。これによりCPU101は画像処理装置1がユーザ認証された状態か否か判断できる。
次に図4に基いて、複合機1のRAM103に記憶される媒体認証用テーブルについて説明する。図4はRAM103の所定領域に記憶されている媒体認証用テーブルの説明図である。媒体認証用テーブルには媒体ID毎にパスワード、権限、鍵が記憶されている。これらの媒体情報は予め複合機1の管理者が複合機1に接続を許可する媒体毎に設定したものである。媒体IDは複合機1に接続される媒体を識別する情報であり、パスワードは媒体認証に用いられる情報である。また、権限はd、e、fのいずれかの情報が記憶されており、各権限に応じて記憶できるデータの種類が異なる。
また、鍵は媒体が認証されたときに読取った画像データ等の暗号化および復号に用いるものである。なお、本実施形態においては、暗号化及び復号に用いられる鍵は複合機1のRAMに記憶される構成となっているが、暗号化をする際に媒体IDやパスワード、データの作成日等の情報に基いて生成するものであっても良い。
これらの情報のほかに媒体認証用テーブルは媒体ID毎にON・OFFのいずれかが記憶されるフラグが用意されている。このフラグは媒体が認証されるとONとなり、媒体が取り外されたときにOFFとされる。これによりCPU101は画像処理装置1がUSBメモリ2などの媒体を認証した状態か否か判断できる。
なお、ここで媒体認証がなされる媒体は、USBメモリ2に限られるものではなく、USBメモリ2以外の各種フラッシュメモリも含み、また、MO(magneto-optical disk)等の光磁気ディスクや磁気ディスクであっても良い。また、複合機1のLAN−I/FからLAN等を介して接続されているパーソナルコンピュータなどの接続に際しても認証を行う構成であっても良い。
なお、図3および図4に示すように、複合機1のRAM103はユーザ毎に鍵を記憶し、媒体毎に鍵を記憶しているが、これとは別に複合機1固有の鍵も記憶している。
次に図5に基いて、複合機1のCPU101が主に行うユーザ認証処理について説明する。図5はユーザ認証処理のルーチンの一例を示すフローチャートである。このユーザ認証処理は、複合機1の使用を開始するときにユーザが操作部の操作によって自己のユーザIDおよびパスワードを入力することにより開始される。
ユーザ認証処理では、まず、操作部109においてユーザIDとパスワードの入力がなされたか否か判断する(S301)。ユーザIDとパスワードの入力がなされなかったと判断すると(S301:NO)、そのまま待機する。一方、ユーザIDとパスワードの入力がなされたと判断すると(S301:YES)、次に、複合機1のRAM103に記憶されているユーザIDの中に入力されたユーザIDと一致するユーザIDがあるか否か判断する(S302)。すなわち、図3において例示した複合機1のRAM103のユーザ認証用テーブルのユーザIDの欄に、操作部109において入力されたユーザIDと同一のIDがあるか否か判断する。
一致するユーザIDがないと判断すると(S302:NO)、ステップ305に進み、エラーメッセージを表示する。すなわち、報知部110のスピーカが所定の警告音を発するとともに、報知部110のディスプレイ111がユーザIDまたはパスワードの入力間違いである旨表示する。エラーメッセージを表示すると(S305)、その後、ユーザ認証処理処理を終了する。
一致するユーザIDがあると判断すると(S302:YES)、次に、操作部109において入力されたパスワードとステップ302において一致したユーザIDの行に記憶されているパスワードとが一致するか否か判断する(S303)。すなわち、図3において例示した複合機1のRAM103のユーザ認証用テーブルを参照して、一致するユーザIDに関連付けられて記憶されているパスワードが、操作部109において入力されたパスワードと同一か否か判断する。そして、パスワードが一致しないと判断すると(S303)、エラーメッセージを表示する(S305)。すなわち、報知部110のスピーカが所定の警告音を発するとともに、報知部110のディスプレイがユーザIDまたはパスワードの入力間違いである旨表示する。エラーメッセージを表示すると(S305)、その後、ユーザ認証処理を終了する。
パスワードが一致すると判断すると(S303:YES)、一致したユーザIDおよびパスワードと関連付けられているフラグをONし(S304)、報知部110のディスプレイ111には認証に成功した旨のメッセージを表示し、その後、ユーザ認証処理のルーチンを終了する。
このように、ユーザ認証処理では、操作部109において入力されたユーザIDおよびパスワードが予め複合機1のRAM103のユーザ認証用テーブルに記憶されたユーザIDおよびパスワードと一致するときにユーザ認証を行い、ユーザ認証されると認証されたユーザIDに関連付けられたフラグをONすることで、ユーザ認証されたことを記憶し、認証されたユーザの権限に応じて複合機1の処理を可能とすることができる。
なお、このようにしてなされたユーザ認証は、新たに別のユーザが複合機1の操作部109を操作してユーザ認証を行うとき、認証されたユーザ自身が複合機の操作部109を操作してユーザ認証を解除するときおよび複合機の操作がされない状態で所定時間(例えば5分)経過したときには解除する。すなわち、認証されたユーザIDに関連付けられてONしたフラグをOFFする。
また、本実施形態においてはユーザIDとパスワードとを用いてユーザ認証を行うものであるがこれでなくとも良い。例えば、予めユーザの指紋、声紋、虹彩又は静脈等といった生体情報をユーザIDと関連付けて複合機1のRAM103のユーザ認証テーブルに記憶し、複合機1が生体情報入力装置を備え、当該生体情報入力装置に生体情報を入力することでユーザ認証を行うものであっても良い。また、本実施形態では、複合機1のRAM103にユーザ認証用テーブルを記憶させているが、これでなくとも良い。例えは、複合機1が接続されるLAN上に構成されたサーバPCやクライアントPCなどにユーザ認証用テーブルを設け、複合機1がユーザ認証を行うときにユーザ認証用テーブルを設けたPCなどにLANを通してアクセスする構成としても良く、この場合にはLAN上に形成された複数の複合機やPCなどがこのユーザ認証用テーブルを用いてユーザ認証できるので、管理が容易になる。
次に、図6に基いて、複合機1のCPU101が主に行う媒体認証処理について説明する。図6は媒体認証処理のルーチンの一例を示すフローチャートである。この媒体認証処理は、例えば複合機1のUSBポート115にUSBメモリ2のUSBポート203が差し込まれることにより開始される。
この媒体認証処理ではまず、USBメモリ2の挿入があったか否か判断する(S401)。すなわち、複合機1のUSBホストコントローラ114がUSBメモリ2を検知したか否か判断する。そして、USBメモリ2の挿入が無かったと判断すると(S401:NO)、そのまま待機する。一方、USBメモリ2の挿入が有ったと判断すると(S401:YES)、次に、USBメモリ2の記憶部201にアクセスして、記憶部201に記憶されているUSBメモリ2の媒体IDおよびパスワードを読み出す(S402)。
記憶部201に記憶されている媒体IDおよびパスワードを読み出すと(S402)、次に、複合機1のRAM103に記憶されている媒体IDの中から読み出した媒体IDと一致するIDはあるか否か判断する(S403)。すなわち、図4に例示した複合機1のRAM103に記憶されている媒体認証用テーブルの媒体IDの欄に、USBメモリ2の記憶部201から読み出した媒体IDと一致する媒体IDがあるか否か判断する。
媒体認証用テーブルの媒体IDと記憶部201から読み出した媒体IDとが一致しないと(S403:NO)、エラーメッセージを表示して(S406)媒体認証処理を終了する。すなわち、報知部110のスピーカが所定の警告音を発するとともに、報知部110のディスプレイ111がUSBメモリ2が認証できなかった旨を表示する。
一方、媒体認証用テーブルの媒体IDと記憶部201から読み出した媒体IDとが一致すると(S403:YES)、次に、一致した媒体IDと関連付けて複合機1のRAM103の媒体認証用テーブルに記憶されている媒体パスワードが、USBメモリ2の記憶部201から読み出したパスワードと一致するか否か判断する(S404)。記憶部201から読み出したパスワードとRAM103に記憶されているパスワードとが一致しないと判断すると(S404:NO)、エラーメッセージを表示して(S406)媒体認証処理を終了する。すなわち、報知部110のスピーカが所定の警告音を発するとともに、報知部110のディスプレイ111がUSBメモリ2が認証できなかった旨を表示する。
記憶部201から読み出したパスワードとRAM103に記憶されているパスワードとが一致すると判断すると(S404:YES)、一致した媒体IDとパスワードに関連付けられて媒体認証用テーブルに記憶されているフラグをONし(S405)、報知部110のディスプレイ111に認証に成功した旨のメッセージを表示した上で、媒体認証処理のルーチンを終了する。
このように、媒体認証処理では、複合機1に接続されたUSBメモリ2の記憶部201に予め記憶された媒体IDおよびパスワードが予め複合機1のRAM103の媒体認証用テーブルに記憶された媒体IDおよびパスワードと一致するときに媒体を認証し、媒体が認証されると認証された媒体IDに関連付けられたフラグをONすることで、媒体認証されたことを記憶し、認証された媒体の権限に応じて複合機1の処理を可能とすることができる。
なお、本実施形態においては、USBメモリ2の媒体認証について説明したが、認証される媒体はこれに限られず、フラッシュメモリ、光磁気ディスクおよび磁気ディスクなどを接続するドライブや接続端子などを複合機1が備える構成として、これらの接続の際にUSBメモリ2の媒体認証と同様の認証を行う構成とすることもできる。また、LANを介して接続されているPCなどとの接続に際しても同様の認証を行う構成としても良い。
また、本実施形態では、複合機1のRAM103に媒体認証用テーブルを記憶させているが、これでなくとも良い。例えば、複合機1が接続されるLAN上に構成されたPCなどに媒体認証用テーブルを設け、複合機1が媒体認証を行うときに媒体認証用テーブルを設けたPCなどにLANを通してアクセスする構成としても良く、この場合にはLAN上に形成された複数の複合機やPCなどがこの媒体認証用テーブルを用いて媒体認証できるので、管理が容易になる利点がある。
なお、このように認証されたUSBメモリ2は複合機1のUSBポート115から取り外されると認証を解除される。すなわち、複合機1のRAM103の媒体認証用テーブルにおいて、ONされていたフラグをOFFにする。
次に図7に基いて、スキャンファイルの記憶処理について説明する。図7はスキャンファイルの記憶処理のルーチンの一例を示すフローチャートである。ユーザは、まず、原稿読取部104において、紙媒体などの原稿を例えばフラット・ベット・スキャナの原稿載置板の上にセットし、操作部109において、処理内容をスキャンに設定し、スキャンファイルの保存先や原稿のサイズ等を設定し、スタートキーを押下することでスキャナ処理を開始する。なお、スキャンファイルの保存先としては、例えば複合機1がLAN−I/F112により接続されているLANに構成された外部記憶装置などを指定することもできるが、本実施形態においてはUSBポート114に接続されたUSBメモリ2が選択される。
スキャンファイルの記憶処理において、まず、CPU101は、原稿読取部104により原稿画像の読み取り(スキャン)を行う(S501)。そして、制御部101は読取ったスキャンデータに対して、画像処理部105により、色調整、色空間変換、2値化等の処理を行い、コーデック106において、例えばJPEG等のファイル形式に符号化されたスキャンファイル(画像データ)を生成する(S502)。
次にCPU101は、スキャンファイルを保存する際に暗号化する設定となっているか否か判断する(S503)。すなわち、複合機1の管理者などが予め操作部109などを操作して、スキャンファイルをUSBメモリ2に保存する際に、所定の暗号化をする設定としているか否か判断する。そして、スキャンファイルを保存する際の設定が暗号化しないとなっていると判断すると(S503:NO)そのまま、USBメモリ2にスキャンファイルを送信して(S512)、スキャンファイルの記憶処理を終了する。
一方、スキャンファイルを保存する際に暗号化する設定となっていると判断すると(S503:YES)、次に、ユーザ又は接続されているUSBメモリ2が認証されているか否か判断する(S504)。すなわち複合機1のRAM103のユーザ認証用テーブルおよび媒体認証用テーブルにおいて全てのフラグがOFFとなっていると、ユーザおよび接続されているUSBメモリ2はいずれも認証されていないと判断され、いずれかのフラグがONとなっていると、ユーザ又は接続されているUSBメモリ2が認証されていると判断する。
ユーザ認証およびUSBメモリ2の認証のいずれもされていないと判断すると(S504:NO)、スキャンファイルを複合機1に固有の鍵により暗号化する(S505)。すなわち、複合機1のRAM103に記憶されている複合機1に固有の暗号化鍵を用いて、複合機1のROM102に記憶されている暗号化プログラムにしたがって、暗号化を行う。そして、暗号化されたスキャンファイルをUSBメモリ2に送信し(S512)、スキャンファイルの記憶処理を終了する。
一方、ユーザ又は接続されているUSBメモリ2が認証されていると判断すると(S504:NO)、次に、ユーザ認証されており、且つ、USBメモリ2の認証がなされていない状態か否か判断する(S506)。すなわち、複合機1のRAM103に記憶されているユーザ認証用テーブルの中にONとなっているフラグがある場合であって、複合機1のRAM103に記憶されている媒体認証用テーブルの中のフラグが全てOFFとなっているか否か判断する。ユーザ認証されており、且つ、USBメモリ2の認証がなされていない状態であると判断すると(S506:YES)、スキャンファイルをユーザ固有の鍵により暗号化する(S507)。すなわち、認証されているユーザIDと関連付けられて、複合機1のRAM103に記憶されている暗号化鍵を用いて、複合機1のROMに記憶されている暗号化プログラムにしたがって、暗号化する。そして、暗号化されたスキャンファイルをUSBメモリ2に送信し(S512)、スキャンファイルの記憶処理を終了する。
一方、ユーザが認証されており、且つ、USBメモリ2の認証がなされていない状態ではないと判断すると(S506:NO)、次に、ユーザ認証がなされておらず、且つ、USBメモリ2が認証されている状態であるか否か判断する(S508)。すなわち、複合機1のRAMに記憶されたユーザ認証用テーブルのフラグが全てOFFの状態であって、媒体認証用テーブルにONとなっているフラグがある状態か否か判断する。
ユーザ認証なされておらず、且つ、USBメモリ2が認証されている状態であると判断すると(S508:YES)、複合機1のRAM103の媒体認証用テーブルに記憶されている暗号化鍵で、スキャンファイルを暗号化する(S509)。すなわち、複合機1のRAM103の媒体認証用テーブルに記憶されている暗号化鍵の内、認証されているUSBメモリ2固有の暗号化鍵を用いて、複合機1のROM102に記憶されている暗号化プログラムにしたがって暗号化する。スキャンファイルが媒体認証用テーブルの鍵で暗号化されると(S509)、USBメモリ2に暗号化されたスキャンファイルを送信して(S512)、スキャンファイルの記憶処理を終了する。
ステップ508においてユーザ認証なされておらず、且つ、USBメモリ2が認証されている状態ではないと判断されると(S508:NO)、ユーザ認証がなされており、且つ、USBメモリ2が認証されている状態であるので、スキャンファイルを認証されたユーザに固有の鍵で暗号化し(S510)、更に認証されたUSBメモリ2固有の鍵で暗号化する(S511)。すなわち、複合機1のRAM103のユーザ認証用テーブルおよび媒体認証用テーブルのそれぞれにONとなっているフラグがあるときには、複合機1のRAM103のユーザ認証用テーブルにおいて認証されているユーザIDに関連付けられている暗号化鍵を用いて、複合機1のROM102に記憶されている暗号化プログラムにしたがって、スキャンファイルを暗号化する。そして、この暗号化されたスキャンファイルを更に複合機1のRAM103の媒体認証用テーブルにおいて認証されているUSBメモリ2のIDに関連付けられている暗号化鍵を用いて、複合機1のROM102に記憶されている暗号化プログラムにしたがって、暗号化する。そして、二重に暗号化されたスキャンファイルをUSBメモリ2に送信し(S512)、スキャンファイルの記憶処理のルーチンを終了する。
次に、図8に基いて、図7のスキャンファイルの記憶処理においてUSBメモリ2に記憶されたスキャンファイルを読み出す処理について説明する。図8はスキャンファイルの読み出し処理のルーチンの一例を示すフローチャートである。スキャンされて、USBメモリ2に記憶されたスキャンファイルを読み出す時には、まず、ユーザがIDとパスワードを保有しているときには、図5のユーザ認証処理を行いユーザ認証を行う。なお、ユーザIDとパスワードを保有していない場合はユーザ認証処理は行わない。そして、次に、USBメモリ2を複合機1のUSBポート115に挿入する。USBポート115にUSBメモリ2のUSBポート203を挿入すると、図6で示した媒体認証処理が行われる。そして、ユーザは操作部109を操作して、複合機1にUSBメモリ2に記憶されているスキャンファイルのうち、任意のファイルを表示するように指示する。
ユーザが操作部109を操作することによってスキャンファイルの表示を指示すると、複合機1のCPU101はUSBメモリ2の記憶部201から指示されたスキャンファイルを読み出し、このスキャンファイルが暗号化されているか否か判断する(601)。すなわち、前述のステップ503において、複合機1がスキャンファイルを暗号化する設定であったときには、スキャンファイルは暗号化されている。なお、CPU101が行うスキャンファイルが暗号化されているか否かの判断は、例えば、スキャンファイルに所定のパターンがあるときは暗号化されていると判断できるものであっても良く、または、ファイルのヘッダに暗号化の有無などの所定の情報を記述したものであっても良い。
スキャンファイルが暗号化されていないと判断すると(S601:NO)、そのまま、ステップ611に処理を進め、スキャンファイルの画像を報知部110のディスプレイ111に表示するとともに、ユーザが操作部109を操作することにより、プリンタ108により、スキャンファイルの画像を紙媒体に印字する。一方スキャンファイルが暗号化されたファイルであると判断すると(S601:YES)、ユーザ認証がなされており、且つ、USBメモリ2が認証された状態であるか否か判断する(S602)。すなわち、複合機1のRAMのユーザ認証用テーブルおよび媒体認証用テーブルのいずれもONとなっているフラグがあるか否か判断される。
そして、ユーザ認証がなされており、且つ、USBメモリ2が認証された状態であると判断すると(S602:YES)、スキャンファイルをUSBメモリ2固有の復号鍵で復号し(S603)、更に、ユーザ固有の復号鍵で復号する(S604)。すなわち複合機1のRAM103に記憶されている媒体認証用テーブルの鍵のうち認証されたUSBメモリ2の媒体IDに対応する鍵を用いて、複合機1のROM102に記憶されている復号プログラムにしたがって復号する。そして、複合機1のRAM103に記憶されているユーザ認証用テーブルの鍵のうち認証されたユーザIDと関連付けられて記憶されている鍵を用いて、複合機1のROM102に記憶されている復号プログラムにしたがって復号する。なお、本実施形態においては、暗号化および復号は共通鍵暗号方式によりなされているので、暗号化鍵と復号鍵は同じものである。また、暗号化及び復号を例えば公開鍵暗号方式で行うものであっても良い。この場合には、暗号化鍵と復号鍵はそれぞれ異なるものとなるので、複合機1のRAM103の認証用テーブルはそれぞれの鍵を保有する構成とすることができる。ステップ603およびステップ604においてスキャンファイルを復号すると、次にステップ610に処理を進める。
ステップ602において、ユーザ認証がなされており、且つ、USBメモリ2が認証された状態でないと判断すると(S602:NO)、次に、ユーザ認証がなされているか判断する(S605)。すなわち、ユーザ認証はなされているが、USBメモリ2は認証されていない状態であるか否か判断されることとなる。換言すると、複合機1のRAM103に記憶されているユーザ認証用テーブルにおいてONとなっているフラグがあるが、媒体認証用テーブルにおいて全てのフラグがOFFとなっている状態であるか否か判断する。ステップ605において、ユーザ認証されていると判断すると(S605:YES)、スキャンファイルを認証されたユーザ固有の鍵で復号する(606)。すなわち、複合機1のRAM103のユーザ認証テーブルにおいて認証されているユーザIDに関連付けられて記憶されている鍵を用いて、複合機1のROM102に記憶されている復号プログラムにしたがってスキャンファイルを復号する。スキャンファイルを復号するとステップ610に処理を進める。
ステップ605において、ユーザ認証がなされていないと判断すると(S605:NO)、次に、媒体認証がなされたか否か判断する(S607)。すなわち、ユーザ認証はなされていないが、USBメモリ2が認証されているか否か判断する。換言すると、複合機1のRAM103のユーザ認証用テーブルのフラグは全てOFFであるが、媒体認証用テーブルのフラグはONされたものがある状態であるか否か判断する。ステップ607において、媒体認証されたと判断されると(S607:YES)、スキャンファイルをUSBメモリ2固有の復号鍵で復号する(S608)。すなわち、複合機1のRAMの媒体認証用テーブルに記憶されている鍵のうち、認証されているUSBメモリ2に関連付けられて記憶されている鍵を用いて、複合機1のROM102に記憶されている復号プログラムにしたがって復号する。スキャンファイルが復号されると、ステップ610に処理を進める。
ステップS607において、媒体認証がなされていないと判断すると(S607)、複合機1の固有の鍵で復号する(S609)。すなわち、ステップ602、605、607のいずれもNOであった場合には、ユーザ認証も媒体認証もいずれもされていないものであり、複合機1に固有の鍵で暗号化されているので、複合機1のRAM103に記憶されている複合機1の固有の鍵を用いて、複合機1のROM102に記憶されている復号プログラムにしたがって、スキャンデータを復号し、ステップ610に進む。
ステップ610に進むと復号に成功したか否か判断する。すなわち、ステップ603、604、606、608、609においてなされた復号の結果、暗号化される前のスキャンデータが復元されたか否か判断される。復号に成功したか否かは、例えば暗号化される前に予めファイルヘッダに所定情報を書き込んでおき、復号処理を行った後のスキャンファイルのファイルヘッダの所定情報を確認することで行う。
復号に失敗したと判断すると(S610:NO)、報知部110のスピーカが所定の警告音を発し、ディスプレイ111にスキャンファイルを表示できない旨のメッセージを表示し(S612)、スキャンファイルの読み出し処理を終了する。
一方、復号に成功したと判断すると(S610:YES)、復号されたスキャンファイルが報知部110のディスプレイ111に表示され、ユーザが操作部109を操作することにより、プリンタ108により、紙媒体へスキャンファイルの画像を印字して(S611)、スキャンファイルの読み出し処理を終了する。
このように図7および図8に示すような処理を行うことで、認証がなされていないときにスキャンデータは必ず複合機1に固有の暗号化鍵で暗号化するので、他の装置で復号することはできない。したがって、ユーザ認証がなされず、且つ、USBメモリ2の認証もなされていないときに、スキャンされたデータが不正にUSBメモリ2などに記憶されて持ち出されたとしても、復号することができないのでスキャンファイルの機密性を高めることとなる。
また、ユーザ認証があるときには複合機1内に記憶されたユーザに固有の鍵で暗号化し、USBメモリ2が認証されているときには複合機1内に記憶されたUSBメモリ2に固有の鍵で暗号化するので例えばUSBメモリ2を紛失した場合や盗難された場合にもスキャンファイルの機密性を高めることができる。なお、このユーザ固有の鍵やUSBメモリ2に固有の鍵は例えば同一部署内に設置された複数の複合機1にそれぞれ記憶させるなどすることができ、この場合には、同一部署内から持ち出さない限り復号できるようになる。
また、本実施形態においては、USBメモリ2などの媒体毎の暗号化鍵および復号鍵を複合機1のRAMに記憶する構成としているが、例えばUSBメモリ2毎に鍵を設ける構成とはせずに、USBメモリ2が認証された場合であっても、複合機1に固有の鍵を用いて暗号化および復号する構成としても良い。このように構成すると、USBメモリ2が認証されているときでも、必ずスキャンデータを記憶したときに使用した複合機1でなければ復号できないので、より機密性を高めることができる。
また、本実施形態においては、スキャンファイルの暗号化および復号は、複合機1のROMに記憶されている暗号化プログラムおよび復号プログラムが行うものであるが、例えば、コーデック106が暗号化および復号を行う構成であってもよい。
また、例えば、図9および図10に示すようにユーザが認証された場合やUSBメモリ2が認証された場合にはスキャンファイルの暗号化を行わずにそのままUSBメモリ2に送信する構成としても良い。以下において、この場合におけるスキャンファイルの記憶処理及びスキャンファイルの読み出し処理について簡単に説明する。
図9に示すようにスキャンファイルの記憶処理では、まず、原稿画像の読み取り(S701)、色調整、色空間変換、2値化等の処理を行い、例えばJPEG等のファイル形式に符号化されたスキャンファイル(画像データ)を生成する(S702)。そして、次にCPU101は、スキャンファイルを保存する際に暗号化する設定となっているか否か判断する(S703)。すなわち、複合機1の管理者などが予め操作部109などを操作して、スキャンファイルをUSBメモリ2に保存する際に、所定の暗号化をする設定としているか否か判断する。そして、スキャンファイルを保存する際の設定が暗号化しないとなっていると判断すると(S703:NO)そのまま、USBメモリ2にスキャンファイルを送信して(S706)、スキャンファイルの記憶処理を終了する。
一方、スキャンファイルを保存する際に暗号化する設定となっていると判断すると(S703:YES)、次にユーザまたはUSBメモリ2が認証されているか否か判断する(S704)。いずれの認証もされていないと判断すると(S704:YES)、複合機1のRAMに記憶されている複合機1に固有の鍵を用いて、複合機1のROMに記憶されている暗号化プログラムにしたがって、スキャンファイルを暗号化する(S705)。そして、暗号化されたスキャンファイルをUSBメモリ2に送信して(S706)、スキャンファイルの記憶処理を終了する。
ステップS704において、ユーザまたはUSBメモリ2の少なくともいずれか1が認証されていると判断すると(S704:NO)、暗号化せずにそのままスキャンデータをUSBメモリ2に送信し(S706)、スキャンデータの記憶処理を終了する。
次に、図10に示すようにスキャンファイルの読み出し処理においては、読み出すスキャンデータが暗号化されたデータか否か判断する(S801)。暗号化データでないと判断すると(S801:NO)、そのまま、ステップ804に処理を進め、スキャンファイルの画像を報知部110のディスプレイ111に表示して、スキャンファイル読み出し処理を終了する。
暗号化されたデータであると判断すると(S801:YES)、複合機1のRAM103に記憶されている複合機1に固有の鍵で復号する(S802)。そして、復号に成功したか否か判断し(S803)、復号に成功したと判断すると(S803:YES)、報知部110のディスプレイ111にスキャンデータの画像を表示して(S804)、スキャンファイルの読み出し処理を終了する。復号に失敗したと判断すると(S803:NO)、エラー表示をしてスキャン読み出し処理を終了する。
このように、ユーザが認証された場合やUSBメモリ2が認証された場合にはスキャンファイルの暗号化を行わずにそのままUSBメモリ2に送信する構成とすることで、認証されたユーザや、認証されたUSBメモリ2を使用するユーザは信頼できるユーザであるので、外部の複合機1やパーソナルコンピュータなどを用いて、スキャンファイルを見ることができるようになる。
なお、上述の実施の形態は一例であり、実施の形態は、上述の形態に限ることなく、本発明の思想の範囲を逸脱しない範囲で適宜変更することができる。
なお、本発明における「認証手段」は、本実施形態においては、複合機1のRAM103に記憶されているユーザ認証用テーブル、媒体認証用テーブルおよびCPU101に相当する。また、本発明における「画像読取手段」は、本実施形態においては、原稿読取部104がこれに相当する。また、本発明の「暗号化手段」は本実施形態においては、複合機1のROM102に記憶されている暗号化プログラムおよびCPU101がこれに相当する。また本発明の「復号手段」は、本実施形態においては、複合機1のROM102に記憶されている復号プログラムおよびCPU101がこれに相当する。また本発明の「送信手段」は、本実施形態においては、複合機1のCPU101およびUSBホストコントローラ114がこれに相当する。
以上のような構成とすることで、スキャンファイルがUSBメモリ2に記憶されて持ち出されても、スキャンファイルは暗号化されているので、データを見ることができず、データの漏洩を防止できる。また、例えば暗号化されたスキャンデータの復号鍵を特定の装置に備えさせることで、認証をなされていないユーザやUSBメモリ2の複合機1の使用であっても、特定の装置を用いれば復号することができるので、認証されていないユーザ等でも複合機1をスキャナ処理に利用することができる。さらに、例えば暗号化されたスキャンファイルの復号鍵を特定の管理者のみが管理することで、認証されていないユーザやUSBメモリ2が複合機1を使用する場合に、特定の管理者の許可を受けることで暗号化されたスキャンデータを復号できるものとすることもできる。
暗号化および復号は複合機1に固有の鍵を用いて行われるようにすることで、認証されずに行われたスキャナ処理により暗号化されたスキャンファイルがUSBメモリ2に送信されると、そのスキャナ処理を行った複合機1でのみ復号できる。したがって、他の装置では復号できないのでデータの漏洩を防止できるとともに、スキャナ処理を行った装置で復号できるので、認証されていないユーザやUSBメモリ2であってもスキャナ処理を行うことができる。
また、ユーザ固有の情報により認証が行われたときには、スキャンファイルをユーザ固有の鍵で暗号化して、USBメモリ2に送信する設定とすることで、ユーザが認証されたときにもスキャンファイルの機密性を高めることができ、例えば、USBメモリ2を紛失した場合などにおいてもスキャンデータの漏洩を防ぐことができる。