(57)【要約】【課題】任意のクラウド、特にダイジェスト等の作成・照合機能を有しないクラウドに情報を転送する場合においても、情報の完全性あるいは改竄なきことを簡易に保証できる装置及びプログラムを提供する。【解決手段】複合機１０は、画像データから第１ハッシュ値を生成し、画像データをクラウド１００側に転送する。その後、複合機は、転送した画像データをクラウド１００からダウンロードし、ダウンロードした画像データから第２ハッシュ値を生成する。複合機１０は、第１ハッシュ値と第２ハッシュ値を照合することで、転送した画像データの完全性を検証する。【選択図】図１
2013186613.tif 000002
【特許請求の範囲】
【請求項１】
転送すべき情報から所定方法で第１特徴情報を生成する第１生成手段と、
前記第１特徴情報を記憶する記憶手段と、
転送すべき前記情報を通信回線を介してサーバに転送する転送手段と、
転送された前記情報を前記サーバから受信する受信手段と、
受信した情報から前記所定方法で第２特徴情報を生成する第２生成手段と、
前記第１特徴情報と前記第２特徴情報を照合することで、転送された前記情報の完全性を検証する検証手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記転送手段は、転送すべき前記情報に加えて、さらに前記第１特徴情報を前記通信回線を介して前記サーバに転送し、
前記受信手段は、転送された前記情報に加えて、さらに転送された前記第１特徴情報を前記サーバから受信して第３特徴情報とし、
前記検証手段は、前記第１特徴情報と前記第２特徴情報と前記第３特徴情報を照合することで、転送された前記情報の完全性を検証する
ことを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記記憶手段は、前記第１特徴情報に加えて、さらに転送すべき前記情報を記憶し、
前記第１特徴情報と前記第２特徴情報が一致しない場合に、
前記転送手段は、転送すべき前記情報を前記記憶手段から読み出して再度、前記通信回線を介して前記サーバに転送し、
前記受信手段は、再度転送された前記情報を前記サーバから再度受信し、
前記第２生成手段は、再度受信した情報から前記所定方法で第２特徴情報を再度生成し、
前記検証手段は、前記第１特徴情報と再度生成された前記第２特徴情報を照合することで、再度転送された前記情報の完全性を検証する
ことを特徴とする請求項１記載の情報処理装置。
【請求項４】
前記転送すべき情報は画像データであり、
前記第１特徴情報及び前記第２特徴情報はハッシュ値である
ことを特徴とする請求項１〜３のいずれかに記載の情報処理装置。
【請求項５】
コンピュータを、
転送すべき情報から所定方法で第１特徴情報を生成する第１生成手段と、
前記第１特徴情報を記憶する記憶手段と、
転送すべき前記情報を通信回線を介してサーバに転送する転送手段と、
転送された前記情報を前記サーバから受信する受信手段と、
受信した情報から前記所定方法で第２特徴情報を生成する第２生成手段と、
前記第１特徴情報と前記第２特徴情報を照合することで、転送された前記情報の完全性を検証する検証手段
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及びプログラムに関する。
【背景技術】
【０００２】
近年のクラウドコンピューティングの進展により、オフィス内の種々の文書を含む画像データをクラウド上のサーバに保管する動きが加速している。文書を含む画像データをクラウドに転送する場合、転送された画像データの完全性、あるいは改竄がないことを確認する必要がある。
【０００３】
特許文献１には、送信者と受信者の間で通信される通信内容が途中通信経路の端末で検閲され、削除されるプロセスであって、検閲された通信内容であっても、検閲者若しくは検閲プロセスが修正・変更した通信内容を送信者に戻して新たに通信内容の一貫性を保証するデジタル署名を計算することにより、受信者が送信者の保証したデータの完全性を確認することが記載されている。
【０００４】
特許文献２には、文書をスキャンしたその場で文書に電子署名を行うことができ、かつセキュリティが強固な文書の電子署名可能な画像形成装置を提供することを目的とし、メッセージダイジェストを作成し、秘密鍵で暗号化して文書ファイルに合成することで電子署名を行うことが記載されている。
【０００５】
特許文献３には、画像データの送信時に、画像データを含む送信データのハッシュ値と、そのタイムスタンプデータでのハッシュ値とが一致するようにし、受信側で画像データの原本性を検証できるようにすることが記載されている。
【０００６】
特許文献４には、文書データ等をやり取りするシステムにおいて、文書データ等の送信側では送信対象の文書データについてハッシュ関数を用いてダイジェストを作成し、文書データとダイジェストを受信側に送信し、受信側では受信した文書データについてハッシュ関数を用いてダイジェストを作成し、作成したダイジェストと受信したダイジェストを照合して、一致すれば文書データは改竄されていないと判断することが記載されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平１０−１０５０５８号公報
【特許文献２】特開２００３−２２４７２８号公報
【特許文献３】特開２００６−２４５７７２号公報
【特許文献４】特開２００１−３０９１５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ところで、クラウド上の文書管理サーバに画像データ等の情報を転送する場合において、クラウド側でメッセージダイジェスト等を生成し、受信したメッセージダイジェストと照合する等の処理を行う等して情報の完全性や改竄なきことを保証するのでは、クラウド側での処理が前提となってしまい、かかる処理機能を有しないクラウドの場合には対応することができない。従って、汎用クラウドあるいは専用クラウド等のクラウド如何にかかわらず、情報の完全性あるいは改竄なきことを簡易に保証できる技術が望まれる。
【０００９】
本発明の目的は、任意のクラウド、特にダイジェスト等の作成・照合機能を有しないクラウドに情報を転送する場合においても、情報の完全性あるいは改竄なきことを簡易に保証できる装置及びプログラムを提供することにある。
【課題を解決するための手段】
【００１０】
請求項１記載の発明は、転送すべき情報から所定方法で第１特徴情報を生成する第１生成手段と、前記第１特徴情報を記憶する記憶手段と、転送すべき前記情報を通信回線を介してサーバに転送する転送手段と、転送された前記情報を前記サーバから受信する受信手段と、受信した情報から前記所定方法で第２特徴情報を生成する第２生成手段と、前記第１特徴情報と前記第２特徴情報を照合することで、転送された前記情報の完全性を検証する検証手段とを備えることを特徴とする情報処理装置である。
【００１１】
請求項２記載の発明は、前記転送手段は、転送すべき前記情報に加えて、さらに前記第１特徴情報を前記通信回線を介して前記サーバに転送し、前記受信手段は、転送された前記情報に加えて、さらに転送された前記第１特徴情報を前記サーバから受信して第３特徴情報とし、前記検証手段は、前記第１特徴情報と前記第２特徴情報と前記第３特徴情報を照合することで、転送された前記情報の完全性を検証することを特徴とする請求項１記載の情報処理装置である。
【００１２】
請求項３記載の発明は、前記記憶手段は、前記第１特徴情報に加えて、さらに転送すべき前記情報を記憶し、前記第１特徴情報と前記第２特徴情報が一致しない場合に、前記転送手段は、転送すべき前記情報を前記記憶手段から読み出して再度、前記通信回線を介して前記サーバに転送し、前記受信手段は、再度転送された前記情報を前記サーバから再度受信し、前記第２生成手段は、再度受信した情報から前記所定方法で第２特徴情報を再度生成し、前記検証手段は、前記第１特徴情報と再度生成された前記第２特徴情報を照合することで、再度転送された前記情報の完全性を検証することを特徴とする請求項１記載の情報処理装置である。
【００１３】
請求項４記載の発明は、前記転送すべき情報は画像データであり、前記第１特徴情報及び前記第２特徴情報はハッシュ値であることを特徴とする請求項１〜３のいずれかに記載の情報処理装置である。
【００１４】
請求項５記載の発明は、コンピュータを、転送すべき情報から所定方法で第１特徴情報を生成する第１生成手段と、前記第１特徴情報を記憶する記憶手段と、転送すべき前記情報を通信回線を介してサーバに転送する転送手段と、転送された前記情報を前記サーバから受信する受信手段と、受信した情報から前記所定方法で第２特徴情報を生成する第２生成手段と、前記第１特徴情報と前記第２特徴情報を照合することで、転送された前記情報の完全性を検証する検証手段として機能させるためのプログラムである。
【発明の効果】
【００１５】
請求項１、５記載の発明によれば、本構成を有しない場合に比べて、任意のクラウド、特に検証機能を有しないクラウドに対して転送した情報の完全性を検証することができる。
【００１６】
請求項２記載の発明によれば、一層確実に転送した情報の完全性を検証することができる。
【００１７】
請求項３記載の発明によれば、転送に失敗した場合でも情報を再度転送して情報の完全性を担保できる。
【００１８】
請求項４記載の発明によれば、転送した画像データの完全性を検証することができる。
【図面の簡単な説明】
【００１９】
【図１】実施形態の基本構成図である。
【図２】複合機の構成ブロック図である。
【図３】転送処理のフローチャートである。
【図４Ａ】転送処理の模式図である。
【図４Ｂ】転送処理の模式図である。
【図５】変形例１のフローチャートである。
【図６Ａ】変形例１の模式図である。
【図６Ｂ】変形例１の模式図である。
【図７】変形例２のフローチャートである。
【発明を実施するための形態】
【００２０】
以下、図面に基づき本発明の実施形態について、情報処理装置として画像処理装置を例にとり説明する。
【００２１】
＜基本構成＞
図１に、本実施形態のシステム構成図を示す。画像処理装置としての複合機１０は、インターネット１２等の通信回線を介してクラウド１００に接続される。なお、本実施形態における「クラウド」は、インターネット上に存在するコンピュータ群を意味し、特にインターネット上のサーバコンピュータを意味するものとする。
【００２２】
複合機１０は、書類をスキャンする機能、スキャンして得られた画像データをインターネット１２を介してクラウド１００上の文書管理サーバに転送する機能、クラウド１００上の文書管理サーバから画像データをダウンロードする機能、画像データを閲覧／印刷する機能の各種機能を有する。本実施形態では、複合機１０で書類をスキャンしてデータ化し、当該画像データをクラウド１００上の文書管理サーバに転送して保管する処理について説明する。
【００２３】
図２に、画像処理装置としての複合機１０の構成ブロック図を示す。複合機１０は、スキャナ１４、操作パネル１６、ＣＰＵ１８、ＲＡＭ２０、記憶装置２２、通信Ｉ／Ｆ（インタフェース）２４、印刷部２６及びバス２８を有する。複合機１０は、ＣＰＵ１８、ＲＡＭ２０、記憶装置２２を備え、記憶装置２２に記憶されたプログラムを読み込んで実行することで各種機能を実現するので、コンピュータ、特にクライアントコンピュータとして把握し得る。
【００２４】
スキャナ１４は、文書（書類）５０をスキャンして画像データとし、ＲＡＭ２０に記憶する。画像データの形式は任意であるが、例えばＰＤＦ形式とする。
【００２５】
操作パネル１６は、ユーザがスキャナ１４で文書５０をスキャンする際の各種パラメータを設定する。また、ユーザがスキャンした画像データをクラウド１００上に転送（アップロード）する際の各種設定を行う。さらに、ユーザがクラウド１００上に保管された文書を閲覧／印刷する際の各種設定を行う。
【００２６】
記憶装置２２は、処理プログラムを記憶するとともに、クラウド１００上の文書管理サーバからダウンロードした各種画像データを記憶する。
【００２７】
ＣＰＵ１８は、記憶装置２２に記憶された処理プログラムを読み込んで実行し、処理プログラムに従って複合機１０の各部の動作を制御する。具体的には、ＣＰＵ１８は、操作パネル１６で設定されたパラメータに従い、スキャナ１４の動作を制御して文書５０を設定されたパラメータでスキャンし、画像データとしてＲＡＭ２０に記憶する。また、ＣＰＵ１８は、画像データからその特徴情報を作成する。特徴情報の一例はハッシュ値であり、ハッシュ関数を用いて画像データのハッシュ値（あるいはメッセージダイジェスト）を生成し、画像データに関連付けてＲＡＭ２０に記憶する。また、ＣＰＵ１８は、操作パネル１６で設定された要求に従って、通信Ｉ／Ｆ２４を介してクラウド１００に接続し、作成してＲＡＭ２０に記憶された画像データをクラウド１００上の文書管理サーバに転送する。また、ＣＰＵ１８は、操作パネル１６で設定された要求に従ってクラウド１００上の文書管理サーバに保管されている画像データをダウンロードし、操作パネル１６に表示して閲覧を可能とするとともに、ダウンロードした画像データを印刷部２６に出力して印刷する。
【００２８】
本実施形態では、クラウド１００側に画像データのハッシュ値を生成する機能や、生成したハッシュ値を用いて画像データの完全性を検証する機能がない場合もあり得ることを想定し、クラウド１００側で検証できなくても、複合機１０側で転送した画像データの完全性を検証できるようにする。このため、複合機１０のＣＰＵ１８は、画像データをクラウド１００上の文書管理サーバに転送した後に、転送した当該画像データを文書管理サーバからダウンロードし、ダウンロードした画像データから上記ハッシュ関数を用いてハッシュ値を生成する。生成したハッシュ値は、ＲＡＭ２０に記憶される。画像データを転送する際には、転送前の画像データからハッシュ値を生成してＲＡＭ２０に記憶しているから、ＲＡＭ２０には、転送前の画像データから生成されたハッシュ値と、転送後の画像データから生成されたハッシュ値が記憶されることになる。そこで、ＣＰＵ１８は、転送前のハッシュ値と転送後のハッシュ値をＲＡＭ２０から読出し、両者を照合することで、転送前の画像データと転送後の画像データの一致、すなわち転送された画像データの完全性を検証する。
【００２９】
＜転送処理＞
図３に、本実施形態における転送処理のフローチャートを示す。まず、ユーザにより、複合機１０の操作パネル１６からスキャン時のパラメータが入力・設定される（Ｓ１０１）。スキャン時のパラメータは、具体的にはカラーモードや解像度、ファイルフォーマット等である。次に、ユーザにより、複合機１０の操作パネル１６からＩＤやパスワード等が入力され、転送先のクラウド１００にログインする（Ｓ１０２）。次に、設定されたパラメータを用いてスキャナ１４により文書５０をスキャンする（Ｓ１０３）。ＣＰＵ１８は、スキャンして得られたデータから画像データを生成しＲＡＭ２０に記憶する（Ｓ１０４）。また、所定のハッシュ関数を用いて当該画像データからハッシュ値を演算し、ＲＡＭ２０に記憶する（Ｓ１０５）。ＲＡＭ２０に記憶する際には、生成されたハッシュ値と画像データとを関連付けて記憶しておく。このハッシュ値を第１ハッシュ値とする。
【００３０】
ここで、Ｓ１０１〜Ｓ１０３の処理は相前後していてもよい。例えば、スキャンパラメータを設定し、文書５０をスキャンした後でクラウド１００にログインしてもよく、最初にクラウド１００にログインした後でパラメータを設定し、スキャンしてもよい。
【００３１】
画像データ及びそのハッシュ値を生成してＲＡＭ２０に記憶した後、ＣＰＵ１８は、ＲＡＭ２０から画像データを読出してクラウド１００上の文書管理サーバに転送する（Ｓ１０６）。
【００３２】
画像データを文書管理サーバに転送した後、ＣＰＵ１８は、文書管理サーバから当該画像データをダウンロードする（Ｓ１０７）。当該画像データをダウンロードするのは転送した直後が望ましいが、必ずしもこれに限定されるものではなく、一定時間経過後にダウンロードしてもよい。
【００３３】
文書管理サーバの画像データをダウンロードした後、ＣＰＵ１８は、ダウンロードした画像データから上記のハッシュ関数と同一のハッシュ関数を用いてハッシュ値を演算し、ＲＡＭ２０に記憶する（Ｓ１０８）。ＲＡＭ２０に記憶する際には、生成されたハッシュ値とダウンロードした画像データとを関連付けて記憶しておく。このハッシュ値を第２ハッシュ値とする。
【００３４】
次に、ＣＰＵ１８は、ＲＡＭ２０に記憶された第１ハッシュ値と第２ハッシュ値を読出し、両ハッシュ値が一致するか否かを判定する（Ｓ１０９）。両ハッシュ値が一致する場合には、転送前の画像データと、クラウド１００上の文書管理サーバに転送された画像データとが一致する、すなわち転送された画像データが完全であることを意味するから、ＣＰＵ１８は、その旨をユーザに通知する（Ｓ１１０）。なお、ユーザに通知する方法は任意であり、操作パネル１６上に「正常に転送されました。」等のメッセージを表示する他、ユーザが複合機１０から離れていることを考慮し、ユーザの端末（携帯電話等の携帯機器も含む）に当該メッセージをメールで通知してもよい。また、ＣＰＵ１８は、転送が正常に実行されたことから、ＲＡＭ２０に記憶されている画像データを削除し（Ｓ１１１）、ログアウトする（Ｓ１１２）。Ｓ１１１にて画像データを削除することは、この時点まではたとえＳ１０６で画像データを転送していたとしても、画像データをＲＡＭ２０から削除しないことを意味する。その理由は、以下の通り両ハッシュ値が一致しない場合の再転送処理を考慮したものである。
【００３５】
すなわち、Ｓ１０９にて両ハッシュ値が一致しない場合、転送前の画像データと、クラウド１００上の文書管理サーバに転送された画像データとが一致しない、すなわち転送された画像データが不完全である、あるいは改竄が行われた可能性があることを意味するから、ＣＰＵ１８は、Ｓ１０６の処理に戻り、Ｓ１０６以降の処理を繰り返し実行する。この際、ＲＡＭ２０にはＳ１０４で生成された画像データ、つまりクラウド１００上の文書管理サーバからダウンロードした画像データでないオリジナルの画像データが存在しているから、これをＲＡＭ２０から読み出して再度転送する。そして、再び当該画像データを文書管理サーバからダウンロードしてハッシュ値を生成し、第１ハッシュ値と照合する。両ハッシュ値が一致すればＳ１１０以降の処理を実行し、一致しなければ再びＳ１０６以降の処理を繰り返す。
【００３６】
なお、第１ハッシュ値と第２ハッシュ値が一致せず、ＲＡＭ２０に記憶されたオリジナルの画像データを再度転送する際には、既に文書管理サーバに存在する画像データを削除した上で再度転送するのが望ましいが、これに限定されるものではなく、再度転送した画像データを文書管理サーバで上書きして格納してもよく、両者を明確に区別できる態様で併存させてもよい。
【００３７】
また、Ｓ１０７以降の処理は、バックグラウンドで処理してもよい。すなわち、ユーザに意識させることなく、複合機１０のＣＰＵ１８がＳ１０７以降の処理を実行する。ユーザは、従前通り、文書５０をスキャンしてこれをクラウド１００上の文書管理サーバに転送する操作のみを行えばよい。
【００３８】
図４Ａ及び図４Ｂに、転送処理の模式図を示す。図４Ａに示すように、複合機１０において画像データ５２からその特徴情報であるハッシュ値５４を生成し、画像データ５２をインターネット１２を介してクラウド１００上の文書管理サーバに転送する。ハッシュ値５４は第１ハッシュ値に相当する。画像データの転送先フォルダは、ユーザが設定してもよく、あるいは複合機１０の管理者が予め設定したデフォルトのフォルダでもよい。転送され文書管理サーバに格納された画像データを画像データ１５２とする。転送された画像データを画像データ１５２としたのは、必ずしも画像データ５２と一致している保証はなく、互いに相違している可能性があることを考慮したものである。画像データ５２と画像データ１５２は符号が異なっているが、これは必ずしも異なる画像データを意味するものでないことは上記の説明から明らかであろう。
【００３９】
画像データ５２を転送した後、図４Ｂに示すように、複合機１０はクラウド１００上の文書管理サーバに格納されている画像データ１５２をダウンロードし、この画像データ１５２からその特徴情報であるハッシュ値１５３を生成する。ハッシュ値１５３は、第２ハッシュ値に相当する。
【００４０】
オリジナルの画像データ５２からハッシュ値５４が生成され、転送された画像データ１５２からハッシュ値１５３が生成され、いずれも複合機１０が生成して保持している値であるから、複合機１０において両者を照合することは容易であり、たとえクラウド１００側にハッシュ値を生成する機能やハッシュ値を照合する機能を有しない場合においても、複合機１０のみで画像データ１５２の完全性を検証することができる。
【００４１】
なお、ダウンロードした画像データ１５２は、ハッシュ値１５３を生成した後はもはや不要であるからＲＡＭ２０から直ちに削除してもよい。但し、後の処理のためにＲＡＭ２０にそのまま記憶してもよいのは言うまでもない。
【００４２】
また、クラウド１００側にハッシュ値を生成する機能やハッシュ値を照合する機能があったとしても、これとは独立に本実施形態の処理を実行して画像データ１５２の完全性を検証することができる。また、クラウド１００側で検証できる場合において、クラウド側での検証結果と、複合機１０での検証結果とを複合機１０において照合することも可能であり、これにより画像データ１５２の完全性がより担保されよう。但し、本実施形態において、クラウド側における検証機能は前提ではない点に留意されたい。
【００４３】
＜変形例１＞
上記の実施形態では、画像データ５２をクラウド１００上の文書管理サーバに転送し、ハッシュ値５４はＲＡＭ２０に記憶してクラウド１００に転送していないが、画像データ５２とともにハッシュ値５４もクラウド１００側に転送してもよい。
【００４４】
図５に、変形例１における転送処理のフローチャートを示す。まず、ユーザにより、複合機１０の操作パネル１６からスキャン時のパラメータが入力・設定される（Ｓ２０１）。次に、ユーザにより、複合機１０の操作パネル１６からＩＤやパスワード等が入力され、転送先のクラウド１００にログインする（Ｓ２０２）。次に、設定されたパラメータを用いてスキャナ１４により文書５０をスキャンする（Ｓ２０３）。ＣＰＵ１８は、スキャンして得られたデータから画像データを生成しＲＡＭ２０に記憶する（Ｓ２０４）。また、所定のハッシュ関数を用いて当該画像データからハッシュ値を演算し、ＲＡＭ２０に記憶する（Ｓ２０５）。ＲＡＭ２０に記憶する際には、生成されたハッシュ値と画像データとを関連付けて記憶しておく。このハッシュ値を第１ハッシュ値とする。Ｓ２０１〜Ｓ２０３の処理は相前後していてもよいのは上記の実施形態と同様である。
【００４５】
画像データ及びそのハッシュ値を生成してＲＡＭ２０に記憶した後、ＣＰＵ１８は、ＲＡＭ２０から画像データ及びハッシュ値を読出してクラウド１００上の文書管理サーバに転送する（Ｓ２０６）。
【００４６】
画像データ及びハッシュ値を文書管理サーバに転送した後、ＣＰＵ１８は、文書管理サーバから当該画像データ及びハッシュ値をダウンロードする（Ｓ２０７）。当該画像データ及びハッシュ値をダウンロードするのは転送した直後が望ましいが、必ずしもこれに限定されるものではなく、一定時間経過後にダウンロードしてもよい。
【００４７】
文書管理サーバの画像データ及びハッシュ値をダウンロードした後、ＣＰＵ１８は、ダウンロードした画像データから上記のハッシュ関数と同一のハッシュ関数を用いてハッシュ値を演算し、ＲＡＭ２０に記憶する（Ｓ２０８）。ＲＡＭ２０に記憶する際には、生成されたハッシュ値とダウンロードした画像データとを関連付けて記憶しておく。このハッシュ値を第２ハッシュ値とする。また、文書管理サーバからダウンロードしたハッシュ値を第３ハッシュ値とする。第３ハッシュ値もＲＡＭ２０に記憶しておく。
【００４８】
次に、ＣＰＵ１８は、ＲＡＭ２０に記憶された第１ハッシュ値と第２ハッシュ値と第３ハッシュ値を読出し、これらのハッシュ値が一致するか否かを判定する（Ｓ２０９）。これらのハッシュ値が一致する場合、つまり第１ハッシュ値＝第２ハッシュ値＝第３ハッシュ値である場合には、転送された画像データが完全であることを意味するから、ＣＰＵ１８は、その旨をユーザに通知する（Ｓ２１０）。また、ＣＰＵ１８は、転送が正常に実行されたことから、ＲＡＭ２０に記憶されている画像データを削除し（Ｓ２１１）、ログアウトする（Ｓ２１２）。
【００４９】
Ｓ２０９にてハッシュ値が一致しない場合、転送前の画像データと、クラウド１００上の文書管理サーバに転送された画像データとが一致しない、すなわち転送された画像データが不完全である、あるいは改竄が行われた可能性があることを意味するから、ＣＰＵ１８は、Ｓ２０６の処理に戻り、Ｓ２０６以降の処理を繰り返し実行する。この際、ＲＡＭ２０にはＳ２０４で生成された画像データ、つまりクラウド１００上の文書管理サーバからダウンロードした画像データでないオリジナルの画像データが存在しているから、これをＲＡＭ２０から読み出して再度転送する。また、ＲＡＭ２０に記憶されているこのオリジナル画像データのハッシュ値（第１ハッシュ値）も再度転送する。そして、再び当該画像データ及びハッシュ値を文書管理サーバからダウンロードしてハッシュ値を生成し、第１ハッシュ値と照合する。３つのハッシュ値が一致すればＳ２１０以降の処理を実行し、一致しなければ再びＳ２０６以降の処理を繰り返す。
【００５０】
このように、第１ハッシュ値、第２ハッシュ値、第３ハッシュ値の３つのハッシュ値を照合することで、転送された画像データが完全であることをより確実に検証することができる。なお、３つのハッシュ値が一致しない場合としては、
（Ａ）第１ハッシュ値と第２ハッシュ値と第３ハッシュ値が全て異なる場合
（Ｂ）第１ハッシュ値と第２ハッシュ値と第３ハッシュ値のいずれか１つが異なり残りの２つが一致する場合
がある。さらに、（Ｂ）の第１ハッシュ値と第２ハッシュ値と第３ハッシュ値のいずれか１つが異なり残りの２つが一致する場合としては、理論的には
（Ｂ−１）第１ハッシュ値＝第２ハッシュ値≠第３ハッシュ値
（Ｂ−２）第２ハッシュ値＝第３ハッシュ値≠第１ハッシュ値
（Ｂ−３）第３ハッシュ値＝第１ハッシュ値≠第２ハッシュ値
があり得る。第１ハッシュ値の転送自体に問題がない場合、第１ハッシュ値＝第３ハッシュ値が成り立つ。従って、上記（Ｂ−１）及び（Ｂ−２）の場合、第１ハッシュ値の転送自体に何らかの異常があったものとみなすことができる。（Ｂ−２）の場合には、第１ハッシュ値と第２ハッシュ値が一致していないので、転送された画像データは完全でないと判定することができる。（Ｂ−１）の場合、第１ハッシュ値と第２ハッシュ値は一致しているので、転送された画像データ自体は完全であると判定することもできる。従って、（Ｂ−１）の場合には、上記のようにＳ２０６の処理に戻って画像データと第１ハッシュ値を再転送する他に、これに代えてＳ２１０以降の処理に移行してもよい。（Ｂ−３）の場合、第１ハッシュ値と第２ハッシュ値は一致していないので、転送された画像データは完全でないと判定することができる。
【００５１】
図６Ａ及び図６Ｂに、変形例１の模式図を示す。図６Ａに示すように、複合機１０において画像データ５２からその特徴情報であるハッシュ値５４を生成し、画像データ５２及びハッシュ値５４をインターネット１２を介してクラウド１００上の文書管理サーバに転送する。ハッシュ値５４は第１ハッシュ値に相当する。画像データの転送先フォルダは、ユーザが設定してもよく、あるいは複合機１０の管理者が予め設定したデフォルトのフォルダでもよい。転送され文書管理サーバに格納された画像データを画像データ１５２とする。また、転送されたハッシュ値をハッシュ値１５４とする。転送されたハッシュ値をハッシュ値１５４としたのは、必ずしもハッシュ値５４と一致しているとは限らないことを考慮したものである。従って、ハッシュ値５４とハッシュ値１５４は符号が異なっていても、これは必ずしも異なるハッシュ値を意味するものでないことは画像データ５２、１５２の場合と同様である。
【００５２】
画像データ５２及びハッシュ値５４を転送した後、図６Ｂに示すように、複合機１０はクラウド１００上の文書管理サーバに格納されている画像データ１５２及びハッシュ値１５４をダウンロードし、画像データ１５２からその特徴情報であるハッシュ値１５３を生成する。ハッシュ値１５３は、第２ハッシュ値に相当する。また、ハッシュ値１５４は、第３ハッシュ値に相当する。
【００５３】
複合機１０は、ハッシュ値５４と、ハッシュ値１５３と、ハッシュ値１５４を有することになるから、複合機１０においてこれら３つのハッシュ値を照合することは容易であり、たとえクラウド１００側にハッシュ値を生成する機能やハッシュ値を照合する機能を有しない場合においても、複合機１０のみで画像データ１５２の完全性を検証することができる。
【００５４】
なお、ダウンロードした画像データ１５２は、ハッシュ値１５３を生成した後はもはや不要であるからＲＡＭ２０から直ちに削除してもよい。但し、後の処理のためにＲＡＭ２０にそのまま記憶してもよい。
【００５５】
また、クラウド１００側にハッシュ値を生成する機能やハッシュ値を照合する機能があ
るとしても、これとは独立に本実施形態の処理を実行して画像データ１５２の完全性を検証することができる。尤も、クラウド１００側で検証できる場合、クラウド側において画像データ１５２からハッシュ値を生成し、生成したハッシュ値と複合機１０から転送したハッシュ値１５４を照合することで、クラウド側で画像データ１５２の完全性を検証することは可能である。
【００５６】
＜変形例２＞
上記の実施形態では、ハッシュ値が一致しない場合に、ハッシュ値が一致するまで画像データの再転送を繰り返し実行しているが、再転送の回数を一定回数に制限することで無駄な転送処理を回避してもよい。
【００５７】
図７に、変形例２における転送処理のフローチャートを示す。まず、ユーザにより、複合機１０の操作パネル１６からスキャン時のパラメータが入力・設定される（Ｓ３０１）。次に、ユーザにより、複合機１０の操作パネル１６からＩＤやパスワード等が入力され、転送先のクラウド１００にログインする（Ｓ３０２）。次に、設定されたパラメータを用いてスキャナ１４により文書５０をスキャンする（Ｓ３０３）。ＣＰＵ１８は、スキャンして得られたデータから画像データを生成しＲＡＭ２０に記憶する（Ｓ３０４）。また、所定のハッシュ関数を用いて当該画像データからハッシュ値を演算し、ＲＡＭ２０に記憶する（Ｓ３０５）。ＲＡＭ２０に記憶する際には、生成されたハッシュ値と画像データとを関連付けて記憶しておく。このハッシュ値を第１ハッシュ値とする。Ｓ３０１〜Ｓ３０３の処理は相前後していてもよい。
【００５８】
画像データ及びそのハッシュ値を生成してＲＡＭ２０に記憶した後、ＣＰＵ１８は、ＲＡＭ２０から画像データを読出してクラウド１００上の文書管理サーバに転送する（Ｓ３０６）。
【００５９】
画像データを文書管理サーバに転送した後、ＣＰＵ１８は、文書管理サーバから当該画像データをダウンロードする（Ｓ３０７）。
【００６０】
文書管理サーバの画像データをダウンロードした後、ＣＰＵ１８は、ダウンロードした画像データから上記のハッシュ関数と同一のハッシュ関数を用いてハッシュ値を演算し、ＲＡＭ２０に記憶する（Ｓ３０８）。ＲＡＭ２０に記憶する際には、生成されたハッシュ値とダウンロードした画像データとを関連付けて記憶しておく。このハッシュ値を第２ハッシュ値とする。
【００６１】
次に、ＣＰＵ１８は、ＲＡＭ２０に記憶された第１ハッシュ値と第２ハッシュ値を読出し、両ハッシュ値が一致するか否かを判定する（Ｓ３０９）。両ハッシュ値が一致する場合には、転送前の画像データと、クラウド１００上の文書管理サーバに転送された画像データとが一致する、すなわち転送された画像データが完全であることを意味するから、ＣＰＵ１８は、その旨をユーザに通知する（Ｓ３１０）。また、ＣＰＵ１８は、転送が正常に実行されたことから、ＲＡＭ２０に記憶されている画像データを削除し（Ｓ３１１）、ログアウトする（Ｓ３１２）。
【００６２】
一方、Ｓ３０９にて両ハッシュ値が一致しない場合、転送前の画像データと、クラウド１００上の文書管理サーバに転送された画像データとが一致しない、すなわち転送された画像データが不完全である、あるいは改竄が行われた可能性があることを意味するから、Ｓ３０６の処理に戻るが、これに先立って、ＣＰＵ１８は、繰り返し回数を示す変数ｎを１だけインクリメントする（Ｓ３１３）。なお、変数ｎの初期値は０である。そして、ｎを１だけインクリメントした後、変数ｎを所定のしきい値と比較する（Ｓ３１４）。所定の閾値は任意に設定することができ、例えばしきい値＝４に設定する。変数ｎが未だしきい値に達していない場合には、Ｓ３０６の処理に戻ってＳ３０６以降の処理を繰り返し実行する。この際、ＲＡＭ２０にはＳ３０４で生成された画像データ、つまりクラウド１００上の文書管理サーバからダウンロードした画像データでないオリジナルの画像データが存在しているから、これをＲＡＭ２０から読み出して再度転送する。そして、再び当該画像データを文書管理サーバからダウンロードしてハッシュ値を生成し、第１ハッシュ値と照合する。両ハッシュ値が一致すればＳ３１０以降の処理を実行し、一致しなければ再びＳ３０６以降の処理を繰り返す。
【００６３】
また、変数ｎがしきい値に達した場合には、Ｓ３０６の処理に戻ることなく、ログアウトして（Ｓ３１２）、処理を終了する。この場合、ＲＡＭ２０に記憶された画像データは削除していないので、その後の適当なタイミングで再びＳ３０６以降の処理を繰り返すことができる。変数ｎがしきい値に達すると再転送処理を中断もしくは中止するので、しきい値は再転送リトライの上限値としての意義がある。
【００６４】
＜変形例３＞
上記の実施形態では、画像データの特徴情報としてハッシュ値（メッセージダイジェスト）を用いているが、これ以外の特徴情報を用いてもよい。ハッシュ値以外の特徴情報として、例えば簡易的にデータサイズを用いてもよい。
【００６５】
＜変形例４＞
上記の実施形態では、画像処理装置の場合について説明したが、本発明は画像処理装置に限定されず、任意の情報をクラウド１００に転送する情報処理装置に適用することができる。サーバクライアントシステムにおいて、クライアントコンピュータから情報をサーバに転送する任意の場合に適用できる。
【符号の説明】
【００６６】
１０  複合機、１２  インターネット、１４  スキャナ、１６  操作パネル、１８  ＣＰＵ、２０  ＲＡＭ、２２  記憶装置、２４  通信Ｉ／Ｆ、２６  印刷部、２８  バス、５０  文書、５２  画像データ、５４  ハッシュ値、１００  クラウド。
【図１】
2013186613.tif 000003
【図２】
2013186613.tif 000004
【図３】
2013186613.tif 000005
【図４Ａ】
2013186613.tif 000006
【図４Ｂ】
2013186613.tif 000007
【図５】
2013186613.tif 000008
【図６Ａ】
2013186613.tif 000009
【図６Ｂ】
2013186613.tif 000010
【図７】
2013186613.tif 000011