(57)【要約】【課題】デジタル複合機の処理負荷を大きくすることなく、ＷＥＢコンテンツの正当性、整合性をチェックする技術を提供することを課題とする。【解決手段】ネットワークデジタル複合機１の第１記憶部１３には固定コンテンツデータ５１が格納され、第２記憶部１４には、第１記憶部１３に格納されるべき固定コンテンツデータ５１のハッシュ値が記録されたハッシュ値テーブル５３が格納されている。複合機１の電源投入時、第１記憶部１３に格納されている固定コンテンツデータ５１からハッシュ値が演算され（ステップＳ１）、ハッシュ値テーブル５３に格納されているハッシュ値と比較される（ステップＳ２）。ハッシュ値が一致しない場合には、モニタにその旨表示される（ステップＳ３）。このような処理が全ての固定コンテンツデータ５１に対して実行される（ステップＳ４）。【選択図】図３
2008052321.tif 000002
【特許請求の範囲】
【請求項１】
ＷＥＢサーバ機能を備えたネットワークデジタル複合機であって、
ＷＥＢコンテンツデータを格納する第１記憶部と、
前記第１記憶部に格納されるべきＷＥＢコンテンツデータから演算されたハッシュ値を格納する第２記憶部と、
前記ネットワークデジタル複合機の電源が投入されたとき、前記第１記憶部に格納されているＷＥＢコンテンツデータのハッシュ値を演算し、前記第２記憶部に格納されているハッシュ値と一致するか否かを判定する手段と、
を備えることを特徴とするネットワークデジタル複合機。
【請求項２】
請求項１に記載のネットワークデジタル複合機において、さらに、
電源投入時に前記第１記憶部に格納されているＷＥＢコンテンツデータから演算されたハッシュ値が、前記第２記憶部に格納されているハッシュ値と一致しない場合、データが正しくないことを示す情報をモニタに表示する手段、
を備えることを特徴とするネットワークデジタル複合機。
【請求項３】
請求項１または請求項２に記載のネットワークデジタル複合機において、
前記第２記憶部には、前記第１記憶部に格納されているＷＥＢコンテンツデータから呼び出されて実行されるプログラムが格納されていることを特徴とするネットワークデジタル複合機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＷＥＢサーバが提供するデータの正当性を維持する技術に関する。
【背景技術】
【０００２】
ＷＥＢサーバは、インターネットなどで各種の情報を公開、発信する用途に用いられる他、ネットワーク機能を備えた装置のユーザインタフェースを提供する用途にも用いられている。プリンタ、ファックス、コピー、電子メール機能などを備えたデジタル複合機についても同様である。デジタル複合機は、ＷＥＢサーバ機能を備えており、デジタル複合機の各種機能を利用するためのユーザインタフェースをＷＥＢサーバにより提供するようにしている。このデジタル複合機とＬＡＮで接続されたＰＣを利用するユーザは、ＷＥＢブラウザを起動してデジタル複合機に接続することで、モニタ上にユーザインタフェースを表示し、デジタル複合機の各種機能を利用することが可能となっている。
【０００３】
このように、デジタル複合機が蓄積するＷＥＢコンテンツデータは、ユーザインタフェースを提供するものであるから重要なデータである。もし、メンテナンス時に、オペレータが正しいデータをインストールしなかった場合、ユーザがデジタル複合機を正常に利用できなくなる。したがって、デジタル複合機が蓄積しているＷＥＢコンテンツが、正しいデータであるかどうかのチェックシステムが必要である。
【０００４】
下記特許文献１は、ＷＥＢコンテンツの改竄を検出するシステムに関するものである。一般に、ＷＥＢサーバについては、悪意ある者によってＷＥＢコンテンツが改竄される恐れがあり、そのようなコンテンツがネットワーク上で公開されることを防止する必要がある。
【０００５】
【特許文献１】特開２００２−１４９４９６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上記特許文献１で開示されている技術は、改竄に対する防御策である。したがって、データが改竄されたかどうかのチェックを定期的に実行するようにしている。あるいは、ユーザがＷＥＢコンテンツにアクセスするたびに、改竄の有無をチェックするようにしている。このため、データの改竄を検出可能とする一方で、データの正当性をチェックするための処理負荷が大きいという問題がある。
【０００７】
一方、デジタル複合機のユーザインタフェースを提供するＷＥＢサーバについては、改竄を防止するという意図はあまりない。
【０００８】
ただし、上述したように、メンテナンス時に正しいデータがインストールされなかった場合などに、そのままデジタル複合機が稼動してしまうことを防止することは必要である。
【０００９】
しかし、特許文献１で行われているように、定期的あるいはアクセスごとにデータチェックを実行するとすれば、ＷＥＢサーバの処理負荷が大きくなる。特に、デジタル複合機では、ファックス機能やコピー機能など、その他の処理を実行する必要があるため、ＷＥＢサーバに大きな処理負荷が掛かるのは最適な解決案ではない。
【００１０】
また、デジタル複合機において、ＨＴＭＬデータなどの固定データと、ＣＧＩプログラムなどが異なる記憶媒体に格納される形態がある。このような装置構成において、ＣＧＩプログラムなどを更新するメンテナンス時に、ＨＴＭＬデータなどの更新を忘れるといったケースも想定される。このようなケースが発生すると、データの整合性がとれなくなるため、やはり、ユーザは、デジタル複合機を正常に利用できなくなる。
【００１１】
そこで、本発明は前記問題点に鑑み、処理負荷を大きくすることなく、ＷＥＢコンテンツの正当性、整合性をチェックする技術を提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記課題を解決するため、請求項１記載の発明は、ＷＥＢサーバ機能を備えたネットワークデジタル複合機であって、ＷＥＢコンテンツデータを格納する第１記憶部と、前記第１記憶部に格納されるべきＷＥＢコンテンツデータから演算されたハッシュ値を格納する第２記憶部と、前記ネットワークデジタル複合機の電源が投入されたとき、前記第１記憶部に格納されているＷＥＢコンテンツデータのハッシュ値を演算し、前記第２記憶部に格納されているハッシュ値と一致するか否かを判定する手段と、を備えることを特徴とする。
【００１３】
請求項２記載の発明は、請求項１に記載のネットワークデジタル複合機において、さらに、電源投入時に前記第１記憶部に格納されているＷＥＢコンテンツデータから演算されたハッシュ値が、前記第２記憶部に格納されているハッシュ値と一致しない場合、データが正しくないことを示す情報をモニタに表示する手段、を備えることを特徴とする。
【００１４】
請求項３記載の発明は、請求項１または請求項２に記載のネットワークデジタル複合機において、前記第２記憶部には、前記第１記憶部に格納されているＷＥＢコンテンツデータから呼び出されて実行されるプログラムが格納されていることを特徴とする。
【発明の効果】
【００１５】
本発明のネットワークデジタル複合機によれば、電源が投入されたとき、第１記憶部に格納されているＷＥＢコンテンツデータのハッシュ値を演算し、第２記憶部に格納されている正当性が確保されたハッシュ値と一致するか否かを判定する。これにより、正しくないデータがインストールされたまま、ネットワークデジタル複合機が起動し、誤った情報をユーザに提供することを防止できる。
【００１６】
また、本発明のネットワークデジタル複合機は、ハッシュ値が一致しない場合、データが正しくないことを示す情報をモニタに表示するので、ユーザは、サービスセンターに連絡するなど、即座に復旧作業を行うことができる。
【００１７】
また、第２記憶部には、第１記憶部に格納されているＷＥＢコンテンツデータから呼び出されて実行されるプログラムが格納されている。第２記憶部に対するプログラムの更新時に、ＷＥＢコンテンツに対応した最新のハッシュ値を格納するようにすれば、プログラムの更新時にＷＥＢコンテンツの更新を忘れた場合であっても、データの正当性をチェックすることが可能である。
【発明を実施するための最良の形態】
【００１８】
以下、図面を参照しつつ本発明の実施の形態について説明する。図１は、本実施の形態に係るネットワークデジタル複合機１を含むネットワークシステムを示す図である。このネットワークシステムは、ＬＡＮ２に接続されたネットワークデジタル複合機１と複数のパーソナルコンピュータ（以下、ＰＣと略す。）３とから構成されている。このようなネットワークシステムが、たとえばオフィス内に構築されている。
【００１９】
ネットワークデジタル複合機１は、コピー機能、ファックス機能、プリンタ機能、電子メール機能、ＷＥＢサーバ機能などの機能を備えた多機能装置である。オフィスの社員は、実際にネットワークデジタル複合機１の場所に移動し、コピーやファックス機能を利用することができる。また、オフィスの社員は、ＰＣ３を利用して、ＬＡＮ２経由でネットワークデジタル複合機１にアクセスし、ネットワークデジタル複合機１の各種機能を利用可能である。
【００２０】
図に示すように、ネットワークデジタル複合機１は、ＷＥＢサーバ１１、通信部１２、第１記憶部１３、第２記憶部１４、ハッシュ値演算部１５、比較部１６、モニタ１７を備えている。なお、コピー機能部、ファックス機能部など、複合機として機能するための各機能部は図示省略している。
【００２１】
ＷＥＢサーバ１１は、ネットワークデジタル複合機１が蓄積している各種のＷＥＢコンテンツを提供する。具体的には、ネットワークデジタル複合機１に格納されているＷＥＢサーバプログラムがＣＰＵ上で実行されることにより、ＷＥＢサーバ機能が実現されている。
【００２２】
通信部１２は、ＬＡＮ２に接続された各コンピュータとＴＣＰ／ＩＰなどのプロトコルを利用してデータの送受信を行う。
【００２３】
第１記憶部１３は、ＨＴＭＬデータやＪＡＶＡ（登録商標）スクリプトなどの固定コンテンツデータ５１を格納している。本実施の形態においては、第１記憶部１３として、Compact Flash（商標）メモリを利用している。
【００２４】
第２記憶部１４は、ＣＧＩプログラム５２とハッシュ値テーブル５３を格納している。ＣＧＩプログラム５２は、固定コンテンツデータ５１から呼び出されて実行するプログラムである。本実施の形態においては、各固定コンテンツデータ５１に対して、１つのＣＧＩプログラム５２が対応して作成されている。第２記憶部１４としては、たとえば、各種のフラッシュメモリが利用される。
【００２５】
本実施の形態のネットワークデジタル複合機１は、これら固定コンテンツデータ５１と、固定コンテンツデータ５１から呼び出されて実行されるＣＧＩプログラム５２により、ユーザインタフェースを構成している。つまり、ＰＣ３を利用するユーザが、ＷＥＢブラウザを起動して、ＷＥＢサーバ１１にアクセスすることで、これら固定コンテンツデータ５１とＣＧＩプログラム５２で構成されるユーザインタフェースがＰＣ３のモニタに表示される。そして、ＰＣ３のユーザは、このユーザインタフェースを利用して、ＬＡＮ経由で、ネットワークデジタル複合機１の各種の機能を利用可能となっている。
【００２６】
具体的には、ＰＣ３のブラウザから送信されたＨＴＴＰのＧＥＴリクエストに応じて、固定コンテンツデータ５１がＰＣ３に転送され、ユーザインタフェースがモニタ１７に表示される。あるいは、ＰＣ３のブラウザから送信されたＨＴＴＰのＰＯＳＴリクエストに応じて、ＣＧＩプログラム５２が実行され、その処理結果がレスポンスとしてブラウザに返されるのである。
【００２７】
ハッシュ値テーブル５３は、第１記憶部１３に格納されるべき固定コンテンツデータ５１のハッシュ値を格納するテーブルである。ハッシュ値テーブル５３には、第１記憶部１３に格納されるべき全ての固定コンテンツデータ５１，５１・・・のハッシュ値が予め演算されて格納されている。ここで、「格納されるべき」と表現したのは、実際に第１記憶部１３に格納されている固定コンテンツデータ５１のハッシュ値ではなく、本来格納されている必要のある固定コンテンツデータ５１のハッシュ値という意味である。
【００２８】
図２は、第１記憶部１３に格納された固定コンテンツデータ５１の格納形態と、第２記憶部１４に格納されたハッシュ値テーブル５３のデータ内容例を示す図である。なお、図に示すように、本実施の形態においては、第１記憶部１３と第２記憶部１４とは、ネットワーク基板１０に装着される構成となっている。メンテナンス時には、サービスマンによって、このネットワーク基板１０に装着された第１記憶部１３や第２記憶部１４に格納されたデータの書き換え操作が行われる。あるいは、サービスマンによって、第１記憶部１３や第２記憶部１４を交換する操作が行われる。
【００２９】
固定コンテンツデータ５１は、ディレクトリで管理されている。図で示す例では、「ＨＴＤＡＴＡ」というフォルダの下に、「１．ｊｓ」、「２．ｊｓ」、「１．ｈｔｍ」、「２．ｈｔｍ」・・・といったファイル名の固定コンテンツデータ５１が格納されている。なお、拡張子「ｊｓ」のファイルは、ＪＡＶＡ（登録商標）スクリプトであり、拡張子「ｈｔｍ」のファイルは、ＨＴＭＬデータファイルである。
【００３０】
そして、図に示すように、第２記憶部１４に格納されるハッシュ値テーブル５３には、それら４つのファイル（「１．ｊｓ」、「２．ｊｓ」、「１．ｈｔｍ」、「２．ｈｔｍ」・・・）のハッシュ値が演算されて格納されている。
【００３１】
つまり、メンテナンス時に、サービスマンによって、第２記憶部１４のデータが更新されたとき、あるいは第２記憶部１４が交換されたとき、この時点で、第１記憶部１３に格納されるべき固定コンテンツデータ５１のハッシュ値を全て記録したハッシュ値テーブル５３が第２記憶部１４に格納されるのである。
【００３２】
再び、図１を参照する。ハッシュ値演算部１５は、第１記憶部１３に格納されている固定コンテンツデータ５１のハッシュ値を演算する処理部である。上述したように、ハッシュ値テーブル５３に記録されているハッシュ値は、データメンテナンス時に予め演算されている。このハッシュ値演算部１５は、ネットワークデジタル複合機１に電源が投入された時点で、実際に第１記憶部１３に格納されている固定コンテンツデータ５１のハッシュ値を計算するのである。
【００３３】
比較部１６は、ハッシュ値演算部１５が演算したハッシュ値と、ハッシュ値テーブル５３に記録されているハッシュ値とを比較し、固定コンテンツデータ５１の正当性をチェックする処理部である。
【００３４】
上述したように、ハッシュ値演算部１５は、ネットワークデジタル複合機１の電源が投入された時点で、第１記憶部１３に格納されている固定コンテンツデータ５１のハッシュ値を演算する。比較部１６は、電源投入時において、ハッシュ値演算部１５による演算結果と、予めハッシュ値テーブル５３に格納されているハッシュ値との比較を行うのである。
【００３５】
以上の通り構成されたネットワークデジタル複合機１におけるデータ正当性のチェック処理の流れについて、図３のフローチャートを参照しながら説明する。図３で示す処理を実行する前提として、第１記憶部１３に格納されるべき全ての固定コンテンツデータ５１，５１・・・に対してハッシュ値が演算され、そのハッシュ値が記録されたハッシュ値テーブル５３が第２記憶部１４に格納されている。つまり、正当性のある固定コンテンツデータ５１に基づいて演算された最新のハッシュ値がハッシュ値テーブル５３に格納されていることが前提である。
【００３６】
まず、ユーザによりネットワークデジタル複合機１の電源がＯＮされる。電源がＯＮされると、ハッシュ値演算部１５が、第１記憶部１３に実際に格納されている固定コンテンツデータ５１のハッシュ値を演算する（ステップＳ１）。
【００３７】
次に、比較部１６が、ステップＳ１で演算された固定コンテンツデータ５１のハッシュ値と、ハッシュ値テーブル５３に格納されている同じファイル名のハッシュ値とを比較する（ステップＳ２）。
【００３８】
つまり、図２で示した例であれば、「１．ｊｓ」、「２．ｊｓ」、「１．ｈｔｍ」、「２．ｈｔｍ」・・・などの固定コンテンツデータ５１に対してハッシュ値が演算され、ハッシュ値テーブル５３から同じファイル名に対応して記録されているハッシュ値が読み出され、比較される。
【００３９】
そして、比較の結果、ハッシュ値が一致しなければ（ステップＳ２でＮＯ）、モニタ１７に、固定コンテンツデータ５１が不正であることを示す情報を表示する（ステップＳ３）。たとえば、モニタ１７に、「正しいデータがインストールされていません。」といったようなメッセージを表示すればよい。
【００４０】
このようなメッセージが表示されると、ユーザは、メンテナンスセンターに連絡するなどして、正しいデータを再度インストールすることができる。つまり、誤った固定コンテンツデータがインストールされたまま、ネットワークデジタル複合機１が起動すると、ユーザに誤ったユーザインタフェースが表示され、ユーザに誤った操作をさせるなどの可能性があるが、電源投入時点で、データの正当性のチェックをするので、このような問題を回避することができる。ユーザは、モニタ１７に表示された情報を見て、即座に復旧作業を開始することができるのである。
【００４１】
このように、ハッシュ値が一致しない場合としては、次のような場合が想定される。上述したように、本実施の形態のネットワークデジタル複合機１については、ＨＴＭＬデータやＪＡＶＡ（登録商標）スクリプトなどの固定コンテンツデータ５１が第１記憶部１３に格納され、それら固定コンテンツデータ５１から呼び出されるＣＧＩプログラム５２が第２記憶部１４に格納されている。
【００４２】
そして、ネットワークデジタル複合機１のユーザインタフェースがバージョンアップされた場合、これら固定コンテンツデータ５１やＣＧＩプログラム５２を更新する操作がサービスマンによって行われる。このとき、サービスマンがネットワーク基板１０に装着されている第２記憶部１４だけを更新し、第１記憶部１３の更新を忘れるような場合が想定される。
【００４３】
そこで、このような場合にも、データの正当性が維持されるようにするため、第２記憶部１４の更新時には、必ずハッシュ値テーブル５３のデータを最新のものに更新するようにしておくのである。つまり、ＣＧＩプログラム５２の更新とともに、固定コンテンツデータ５１が更新されれば、ハッシュ値テーブル５３が最新のものに更新され、ＣＧＩプログラム５２を第２記憶部１４において更新するとときには、必ずハッシュ値テーブル５３についても更新するようにするのである。
【００４４】
これにより、たとえ第１記憶部１３の更新を忘れた場合、つまり、固定コンテンツデータ５１の更新を忘れた場合であっても、電源投入時に、データの正当性がチェックされるので、誤動作を防止することができるのである。
【００４５】
ステップＳ２において比較した結果、ハッシュ値演算部１５が演算したハッシュ値と、ハッシュ値テーブル５３に格納されているハッシュ値が一致した場合、全ての固定コンテンツデータ５１について正当性のチェックが終了したかどうかを判定する（ステップＳ４）。そして、未チェックの固定コンテンツデータ５１が存在する場合には、ステップＳ１に戻り、当該固定コンテンツデータ５１についてもハッシュ値のチェック処理を実行する。そして、全ての固定コンテンツデータ５１について、正当性のチェックが終了すると（ステップＳ４でＹＥＳ）、起動時のチェック処理を終了する。これにより、ユーザは、データが正しくインストールされている状態でネットワークデジタル複合機１を利用可能となる。
【００４６】
このように、本実施の形態のネットワークデジタル複合機１は、第１記憶部１３に格納されるべき固定コンテンツデータ５１のハッシュ値を記録したハッシュ値テーブル５３が、第２記憶部１４に格納されており、電源投入時、第１記憶部１３に実際に格納されている固定コンテンツデータ５１のハッシュ値を演算し、ハッシュ値テーブル５３に記録されているハッシュ値と比較する。これにより、固定コンテンツデータ５１として正しくないデータが格納されている状態を見過ごすことを防止できる。これにより、ユーザに誤ったユーザインタフェースや情報を表示させることを防止できる。
【００４７】
また、本実施の形態においては、ハッシュ値テーブル５３は、ＣＧＩプログラム５２とともに第２記憶部１４に格納される形態となっている。したがって、ＣＧＩプログラム５２を更新するメンテナンス処理に合わせてハッシュ値テーブル５３を更新するようにすることができるので、固定コンテンツデータ５１の更新処理を忘れ、ＣＧＩプログラム５２だけを更新した場合などにおいても、更新すべき固定コンテンツデータ５１のハッシュ値テーブル５３が更新されるので、データの正当性を維持することが可能である。
【００４８】
上記実施の形態においては、メンテナンス時における作業ミスが発生した場合を１つの例として説明したが、たとえば、ＬＡＮ２に接続されたＰＣ２を利用するユーザが、誤って、第１記憶部１３に格納されている固定コンテンツデータ５１の内容を変更してしまった場合などにも有効である。もちろん、悪意ある第三者によるデータの改竄に対しても、効果を奏するものである。
【００４９】
また、上記実施の形態においては、固定コンテンツデータの正当性をチェックする場合を例に説明したが、固定コンテンツデータのみならず、ＣＧＩプログラムなども含め、一般にＷＥＢコンテンツデータの正当性チェックに本発明は適用可能である。
【図面の簡単な説明】
【００５０】
【図１】本実施の形態に係るネットワークデジタル複合機を含むネットワークシステムを示す図である。
【図２】第１記憶部に格納された固定コンテンツデータの格納態様と第２記憶部に格納されたハッシュ値テーブルのテーブル内容例を示す図である。
【図３】本実施の形態に係るネットワークデジタル複合機におけるデータ正当性チェックのフローチャートである。
【符号の説明】
【００５１】
１    ネットワークデジタル複合機
２    ＬＡＮ
３    ＰＣ
１３  第１記憶部
１４  第２記憶部
５１  固定コンテンツデータ
５２  ＣＧＩプログラム
５３  ハッシュ値テーブル
【図１】
2008052321.tif 000003
【図２】
2008052321.tif 000004
【図３】
2008052321.tif 000005