(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-02-16
(45)【発行日】2024-02-27
(54)【発明の名称】画像形成装置、制御方法、およびプログラム
(51)【国際特許分類】
H04N 1/00 20060101AFI20240219BHJP
B41J 29/42 20060101ALI20240219BHJP
B41J 29/46 20060101ALI20240219BHJP
B41J 29/387 20060101ALI20240219BHJP
G03G 21/00 20060101ALI20240219BHJP
【FI】
H04N1/00 838
H04N1/00 127A
B41J29/42 F
B41J29/46 Z
B41J29/387
G03G21/00 500
G03G21/00 386
(21)【出願番号】P 2020014210
(22)【出願日】2020-01-30
【審査請求日】2023-01-13
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100126240
【氏名又は名称】阿部 琢磨
(74)【代理人】
【識別番号】100223941
【氏名又は名称】高橋 佳子
(74)【代理人】
【識別番号】100159695
【氏名又は名称】中辻 七朗
(74)【代理人】
【識別番号】100172476
【氏名又は名称】冨田 一史
(74)【代理人】
【識別番号】100126974
【氏名又は名称】大朋 靖尚
(72)【発明者】
【氏名】相馬 英智
【審査官】豊田 好一
(56)【参考文献】
【文献】特開2015-165651(JP,A)
【文献】特開2001-109593(JP,A)
【文献】特開2019-053427(JP,A)
【文献】特開2017-132169(JP,A)
【文献】特開2017-058846(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 1/00
B41J 29/42
B41J 29/46
B41J 29/387
G03G 21/00
(57)【特許請求の範囲】
【請求項1】
ネットワークを介して文書を受信し格納する管理サービスと、前記文書に関する情報をブロック単位で管理し夫々のブロックごとに前および/または後のブロックとの関連を定義したうえで複数のブロックを複数のノードで管理するブロックチェーンサービスと連携する画像形成装置であって、
前記管理サービスに格納された前記文書に関する情報が前記ブロックチェーンサービスに登録されていることを確認したことを条件に、前記管理サービスから受信した前記文書を印刷する印刷手段を有し、
前記文書の印刷中にエラーが発生した場合、前記文書の印刷が完了することで登録される新たな情報は前記ブロックチェーンサービスに登録せずに、印刷を停止してエラー処理を行うことを特徴とする画像形成装置。
【請求項2】
前記管理サービスに格納された前記文書は前記画像形成装置が備えるスキャン手段により原稿をスキャンすることで生成された文書であり、前記文書に関する情報は前記管理サービスに格納される際に前記ブロックチェーンサービスに登録されることを特徴とする請求項1に記載の画像形成装置。
【請求項3】
前記文書の印刷中に発生したエラーの内容に応じた警告内容を、前記画像形成装置の操作部に表示、および/または外部装置へ通知することを特徴とする請求項1または2に記載の画像形成装置。
【請求項4】
前記文書の印刷中に発生したエラーの内容が印刷キャンセルを必要とするエラーの内容の場合は、前記文書の印刷が完了することで登録される新たな情報は前記ブロックチェーンサービスに登録することなく、印刷を終了してしまうことを特徴とする請求項1乃至3の何れか1項に記載の画像形成装置。
【請求項5】
前記文書の印刷中に発生したエラーが第1の時間内に解消された場合は、前記文書の印刷を再開することで印刷を継続し、印刷が完了すれば、前記文書に関する新たな情報は前記ブロックチェーンサービスに登録されることを特徴とする請求項1乃至4の何れか1項に記載の画像形成装置。
【請求項6】
前記文書の印刷中に発生したエラーが前記第1の時間を超えて第2の時間内に解消された場合は、前記文書に関する新たな情報を生成し直し、前記文書の印刷を最初から行い、印刷が完了すれば、生成し直された前記文書に関する新たな情報は前記ブロックチェーンサービスに登録されることを特徴とする請求項5に記載の画像形成装置。
【請求項7】
前記文書の印刷中に発生したエラーが前記第2の時間内に解消されなかった場合は、前記文書の印刷が完了することで登録される新たな情報は前記ブロックチェーンサービスに登録することなく、印刷を終了してしまうことを特徴とする請求項6に記載の画像形成装置。
【請求項8】
前記文書に関する情報には、前記文書のハッシュ値が少なくとも含まれていることを特徴とする請求項1乃至7の何れか1項に記載の画像形成装置。
【請求項9】
ネットワークを介して文書を受信し格納する管理サービスと、前記文書に関する情報をブロック単位で管理し夫々のブロックごとに前および/または後のブロックとの関連を定義したうえで複数のブロックを複数のノードで管理するブロックチェーンサービスと連携する画像形成装置の制御方法であって、
前記管理サービスに格納された前記文書に関する情報が前記ブロックチェーンサービスに登録されていることを確認したことを条件に、前記管理サービスから受信した前記文書を印刷する印刷ステップを含み、
前記文書の印刷中にエラーが発生した場合、前記文書の印刷が完了することで登録される新たな情報は前記ブロックチェーンサービスに登録せずに、印刷を停止してエラー処理を行うことを特徴とする
制御方法。
【請求項10】
ネットワークを介して文書を受信し格納する管理サービスと、前記文書に関する情報をブロック単位で管理し夫々のブロックごとに前および/または後のブロックとの関連を定義したうえで複数のブロックを複数のノードで管理するブロックチェーンサービスと連携する画像形成装置のプログラムであって、
前記管理サービスに格納された前記文書に関する情報が前記ブロックチェーンサービスに登録されていることを確認したことを条件に、前記管理サービスから受信した前記文書を印刷させる印刷ステップを含み、
前記文書の印刷中にエラーが発生した場合、前記文書の印刷が完了することで登録される新たな情報は前記ブロックチェーンサービスに登録させずに、印刷を停止してエラー処理を行わせることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ブロックチェーンを使用した電子文書の記録改ざんを検知するための画像形成装置、制御方法、およびプログラムに関する。
【背景技術】
【0002】
公文書や経営文書など、国や企業などではそれぞれにとって重要な文書を保持しているが、その重要な文書に対しての改ざんが問題になっており、文書を改ざんできない、もしくは改ざんを検知できる仕組みが必要となっている。そのため、文書ファイルを電子化して格納し、格納された文書ファイルに対する操作(誰がいつどのような操作をしたか)を記録する機能を有する文書管理装置を用いることが一般的に知られている(特許文献1を参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、特許文献1では、悪意を持った人が文書管理装置の文書ファイルを強制的に差し替え、および/または特定の操作記録を削除するといった不正行為を防ぐことはできない。そのため、登録した文書が正しい状態であることを検証できるように画像系絵師装置がブロックチェーンを利用する方法が考えられるが、印刷のエラーによって失敗印刷物が発生した場合の画像形成装置の制御について考えられていない。
【0005】
そこで、本発明の目的は、印刷によるエラーなどで失敗印刷物が生じた場合、失敗印刷物に関する情報が正常な情報として登録されないように制御する。
【課題を解決するための手段】
【0006】
本発明の一実施形態に係る画像形成装置は、ネットワークを介して文書を受信し格納する管理サービスと、前記文書に関する情報をブロック単位で管理し夫々のブロックごとに前および/または後のブロックとの関連を定義したうえで複数のブロックを複数のノードで管理するブロックチェーンサービスと連携する画像形成装置であって、前記管理サービスに格納された前記文書に関する情報が前記ブロックチェーンサービスに登録されていることを確認したことを条件に、前記管理サービスから受信した前記文書を印刷する印刷手段を有し、前記文書の印刷中にエラーが発生した場合、前記文書の印刷が完了することで登録される新たな情報は前記ブロックチェーンサービスに登録せずに、印刷を停止してエラー処理を行うことを特徴とする。
【発明の効果】
【0007】
印刷によるエラーなどで失敗印刷物が生じた場合、失敗印刷物に関する情報が正常な情報として登録されないように制御する。
【図面の簡単な説明】
【0008】
【
図2】画像形成装置のハードウェア構成を示す図である。
【
図3】PCおよび文書管理装置のハードウェア構成を示す図である。
【
図4】画像形成装置のソフトウェア構成を示す図である。
【
図5】文書管理装置のソフトウェア構成を示す図である。
【
図6】ブロックチェーン装置のデータ構成を示す図である。
【
図10】アプリケーションAの文書登録画面の画面例である。
【
図11】アプリケーションAの登録文書の保存/印刷画面の画面例である。
【
図12】アプリケーションAの登録文書の検証画面の画面例である。
【
図13】文書の情報をブロックチェーン装置に登録する処理を示すフローチャート。
【
図14】電子文書を文書管理装置から取得し保存する処理を示すフローチャート。
【
図15】電子文書を画像形成装置で印刷する処理を示すフローチャート。
【
図16】電子文書を検証する処理を示すフローチャート。
【
図17】ブロックチェーン装置へのトランザクション処理を示すフローチャート。
【発明を実施するための形態】
【0009】
以下、本発明を実施するための形態について図面を用いて説明する。
【0010】
図1は、画像形成装置101と関連するシステムの全体図である。画像形成装置101、PC102、文書管理装置103がLAN100に接続されイントラネット内に存在し、インターネット110を介して、ブロックチェーン装置111と通信を行う。PC102はウェブブラウザを利用した画像形成装置101の管理やプリントドライバを利用した画像形成装置101からの印刷に利用される。
【0011】
ブロックチェーン装置111は画像形成装置101やPC102と連携することで、生成された文書に関する情報をブロック単位にまとめて管理することが可能になるので、文書の正当性を保障するために利用される。ブロックチェーン装置111は単一の装置で図示しているが、ノードと呼ばれる
図3に示した複数の情報処理装置で構成されており、ブロックチェーンサービスを提供するシステム群である。文書管理装置103は画像形成装置101やPC102で生成された電子文書を保存する装置であり、管理サービスを提供する。
【0012】
図2は、画像形成装置101のハードウェア構成を示すブロック図である。CPU201を含む制御部200は、画像形成装置101全体の動作を制御する。CPU201は、ROM202に記憶された制御プログラムを読み出して読取制御や送信制御などの各種制御を行う。
【0013】
RAM203は、CPU201の主メモリ、ワークエリア等の一時記憶領域として用いられる。HDD204は、画像データや各種プログラム、あるいは後述する各種データを記憶する。操作部I/F205は、操作部209と制御部200とを接続する。
【0014】
プリンタI/F206は、プリンタ210と制御部200とを接続する。プリンタ210で印刷すべき画像データはプリンタI/F206を介して制御部200から転送され、プリンタ210において記録媒体上に印刷される。
【0015】
スキャナI/F207は、スキャナ211と制御部200とを接続する。スキャナ211は、原稿上の画像を読み取って画像データを生成し、スキャナI/F207を介して制御部200に入力する。ネットワークI/F208は、制御部200(画像形成装置101)をLAN100に接続する。ネットワークI/F208は、LAN100上の外部装置に画像データや情報を送信したり、LAN100上の外部装置から各種情報を受信したりする。
【0016】
図3は、PC102、および文書管理装置103のコンピューターのハードウェア構成を表すブロック図である。Central Processing Unit(以降CPU)302は装置全体の制御を行う。CPU302はハードディスク(以降HDD)305に格納されているアプリケーションプログラムやOS等を実行し、Randam Access Memory(以降RAM)303にプログラムの実行に必要な情報、ファイル等を一時的に格納する制御を行う。
【0017】
Read Only Memory(以降ROM)304は記憶手段であり、内部には、基本I/Oプログラム等の各種データを記憶する。RAM303は一時記憶手段であり、CPU302の主メモリ、ワークエリア等として機能する。HDD305は外部記憶手段の一つであり、大容量メモリとして機能し、オフィスアプリケーションやWebブラウザー等のアプリケーションプログラム、OS、関連プログラム等を格納している。
【0018】
ディスプレイ306は表示手段であり、指示入力手段であるキーボード/マウス307から入力したコマンド等を表示したりするものである。インターフェース308は外部装置I/Fであり、プリンタ、USB機器、周辺機器を接続する。システムバス301は、装置内におけるデータの流れを司るものである。ネットワークインターフェースカード(以降NIC)309は、LAN100を介して外部装置とのデータのやり取りを行う。なお、上記コンピューターの構成はその一例であり、
図3の構成例に限定されるものではない。
【0019】
例えば、データやプログラムの格納先は、その特徴に応じてROM304、RAM303、HDD305などで変更することも可能である。本実施例中で特に明記しない場合は、各種処理はROM304等に記憶されているプログラムをRAM303等にロードし、CPU302で実行することによって実現されるものとする。
【0020】
図4は、画像形成装置101において本発明に関連するソフトウェア構成について示したブロック図である。特に断りのない限り、各処理部はROM202に記憶されたプログラムを実行することで実現されるソフトウェア機能である。
【0021】
ローカルUI制御部400は、操作部I/F205を介して操作部209を制御する機能を提供する。ローカルUI制御部400はユーザが操作部209で操作した内容をユーザ認証処理部402やアプリケーションに通知する。ローカルUI制御部400は機能選択画面900を操作部209に表示する。
【0022】
機能選択画面900の例を
図9(A)に示す。ローカルUI制御部400はユーザ認証処理部402やアプリケーションからの画面表示依頼を受けて、操作部209へ画面を表示するための制御を行う。特に断りのない限り、ユーザ認証処理部402とアプリケーションA404はローカルUI制御部400を介して操作部209に画面を表示する。
【0023】
リモートUI制御部401は、ネットワークI/F208を介してPC102上のウェブブラザに対してウェブページを提供する。リモートUI制御部401はユーザがウェブブラウザで操作した内容をユーザ認証処理部402やアプリケーションに通知する。リモートUI制御部401は機能選択画面910をPC102上のウェブブラザに表示する。
【0024】
機能選択画面910の例を
図9(B)に示す。リモートUI制御部401はユーザ認証処理部402やアプリケーションからの依頼を受けて、ウェブブラウザに対してウェブページを表示するための制御を行う。特に断りのない限り、ユーザ認証処理部402、アプリケーションA404、アプリケーションB405はリモートUI制御部401を介してウェブブラウザに対してウェブページを表示する。
【0025】
ユーザ認証処理部402は、画像形成装置101を利用するユーザを認証するための機能を提供する。そのため、ユーザ認証処理部402は認証画面700(画面例を
図7に示す)を操作部209に表示する。ユーザ認証処理部402は認証画面700を介して、ユーザからユーザ名とパスワードの入力を受信し、ユーザ情報DB403内に保持しているユーザ情報と比較することでユーザ認証を行う。
【0026】
ユーザ情報DB403は、画像形成装置101を利用するユーザに関する情報であるユーザ情報を保持する機能を提供する。ユーザ情報DB403は、HDD204内に構築され、格納される情報はHDD204に記憶される。ユーザ情報DB403に格納している情報の例を表1と表2に示す。
【0027】
【0028】
表1のユーザ情報テーブルは、「ユーザ名」と「パスワード」、「ロール」から構成される。「ユーザ名」はユーザを一意に識別するための名称である。「パスワード」はユーザ認証で利用するパスワードであり、ユーザ毎に任意の値を設定することができる。「ロール」は画像形成装置101のユーザに付与する権限であるロールの名称であり、本実施例ではAdministrator、General User、Guest Userの3つが存在する。
【0029】
Administratorは画像形成装置101の管理者ユーザに割り当てるロールであり、General Userは画像形成装置101を利用する一般的なユーザに割り当てるロールである。Guest Userは利用できる機能を制限したいユーザに割り当てるロールである。ログインしたユーザの「ロール」の値に従って、ロールごとに機能制限を行うことができる。
【0030】
【0031】
表2のロール情報テーブルは、「ロール」と「コピー」、「送信」、「保存」、「BC登録」、「BC保存/印刷」、「BC検証」から構成される。「ロール」はユーザに付与する権限であるロールの名称である。「コピー」、「送信」、「保存」、「BC登録」、「BC保存/印刷」、「BC検証」は画像形成装置101が有するそれぞれの機能を表し、その値はそれぞれのロールに対してその機能の利用が許可されているか、禁止されているかを表す。
【0032】
「コピー」、「送信」、「保存」はコピー機能、スキャンした文書をPC102に送信する機能、スキャンした電子文書をHDD204に保存する機能に対する権限を表している。「BC登録」は文書の情報をブロックチェーン装置111に登録する機能に対する権限を表している。「BC保存/印刷」はブロックチェーン装置111に登録されている文書情報に紐付いている文書管理装置103に保存されている文書を画像形成装置101に保存したり、印刷したりする機能に対する権限を表している。
【0033】
「BC検証」はブロックチェーン装置111に登録されている文書情報を基にして、スキャナなどで読み取った原稿もしくは管理サービスに保存されている文書が正式な文書か否かを検証する機能に対する権限を表している。画像形成装置101のアプリケーションはログインしているユーザのロールに該当するロール情報テーブルのロールの権限に従って、それぞれの機能の制限を行う。
【0034】
アプリケーションA404は、スキャンした文書を電子文書に変換し、ブロックチェーンアプリケーション406を介してブロックチェーン装置111に文書の情報を文書管理装置103に文書を登録する機能を提供する。アプリケーションA404はスキャナI/F207を介してスキャナ211を制御したり、ネットワークI/F208を介してLAN100へデータを送信したりすることで外部装置へスキャンデータの送信を行う。
【0035】
アプリケーションA404はローカルUI制御部400を介して操作部209に表示された画面への入力を受け付け、それに応じて処理を行う。アプリケーションA404は登録画面1000、登録文書の保存/印刷画面1100、文書検証画面1200を操作部209に表示する。
【0036】
登録画面1000の例を
図10(A)に、登録文書の保存/印刷画面1100の例を
図11(A)に、文書検証画面1200の例を
図12(A)に示す。また、アプリケーションA404はリモートUI制御部401を介してPC102上のウェブブラザからの入力を受け付け、それに応じて処理を行う。アプリケーションA404は登録画面1020、登録文書の保存/印刷画面1110、検証画面1210をPC102上のウェブブラザに表示する。登録画面1020の例を
図10(C)に、登録文書の保存/印刷画面1110の例を
図11(B)に、検証画面1210の例を
図12(B)に示す。
【0037】
アプリケーションB405は、アプリケーションA404と同様にスキャンした文書を電子文書に変換し、ブロックチェーンアプリケーション406を介してブロックチェーン装置111に文書情報を登録するとともに、文書管理装置103には文書を登録する機能を提供する。アプリケーションA404はローカルUI制御部400とリモートUI制御部401を介してローカルUIとリモートUIの両方からの入出力に対応するが、アプリケーションB405はリモートUIからだけの入出力に対応する点が異なる。
【0038】
ブロックチェーンアプリケーション406は、アプリケーションA404やアプリケーションB405からの指示を受けて、ブロックチェーン装置111に文書の情報を登録、取得、検証する機能を提供する。ブロックチェーンアプリケーション406がブロックチェーン装置111に登録するトランザクション601とブロックのデータ構造の例を
図6に示す。
【0039】
ブロックチェーンアプリケーション406は、アプリーションからブロックチェーン装置111に対する指示を受けた際にクレデンシャル情報管理部410からクレデンシャル情報も受け取る。ブロックチェーンアプリケーション406は、受け取ったクレデンシャル情報の検証を行って、検証が成功した場合だけ、ブロックチェーン装置111に対して処理を実行する。
【0040】
クレデンシャル情報A408は、アプリケーションA404がブロックチェーン装置111を利用する正規のアプリケーションであることを保証するためのクレデンシャル情報である。クレデンシャル情報A408は正しい処理を行っていることが検証されたアプリケーションに対して発行され、アプリケーションはクレデンシャル情報が組み込まれた状態で画像形成装置101に搭載される。クレデンシャル情報A408の実体はデジタル証明書や秘密鍵と公開鍵の鍵ペアでもよいし、予め定められたデータ値でもよい。クレデンシャル情報A408の中身はアプリケーションごとに異なるものでもよい。
【0041】
クレデンシャル情報B409は、アプリケーションB405がブロックチェーン装置111を利用する正規のアプリケーションであることを保証するためのクレデンシャル情報である。クレデンシャル情報C407は、画像形成装置101がブロックチェーン装置111を利用する正規の装置であることを保証するためのクレデンシャル情報である。クレデンシャル情報C407は例えば本システムを運営する団体が装置のメーカーごとに発行してもよい。クレデンシャル情報C407は画像形成装置101のファームウェア内に組み込んだ状態で出荷してもよし、出荷後に画像形成装置101へインストールしてもよい。
【0042】
クレデンシャル情報管理部410は、画像形成装置101内のクレデンシャル情報を管理する機能を提供する。本実施例ではクレデンシャル情報管理部410は、ブロックチェーンアプリケーション406からの指示を受けて、ブロックチェーンアプリケーション406にクレデンシャル情報C407を渡す。
【0043】
図5は、文書管理装置103において、本発明に関連するソフトウェア構成について示したブロック図である。文書管理装置103で管理する電子文書は、ファイル保持部501に保存する文書ファイルと、文書情報保持部502に保存する文書を表す情報とで構成される。文書情報保持部502に格納するデータは、表3の文書情報テーブルに記載した情報である。
【0044】
【0045】
表3の文書情報テーブルは、「ID」と「文書名」、「登録日時」、「ファイルパス」から構成される。「ID」は、電子文書を一意に管理するための識別情報である。「文書名」は電子文書をユーザが識別するために付与する名称である。この文書名は複数の電子文書で重複してもよい。「登録日時」は、電子文書を文書管理装置103に保存した日時である。「ファイルパス」はファイル保持部501に格納された文書ファイルを保存している位置を表す。本実施例ではファイルシステム上のパスとして示しているが、保存場所を一意に表す情報であればパスでなくても良い。これらの項目は、本実施例の説明のために示したものであり、これらの項目以外に文書を分類するための情報なども合わせて保持しても良い。
【0046】
電子文書処理部503は、ファイル保持部501と文書情報保持部502へアクセスを行い、電子文書の登録や取得、リストの取得といった処理を制御するための機能を有する。この電子文書処理部503での処理は、画像形成装置101やPC102など文書管理装置103の外部からの電子文書に関する入出力処理の要求を受け付けた電子文書送受信部504から起動されることにより実行される。
【0047】
図6は、ブロックチェーン装置111に保持するトランザクション601とそのトランザクションを複数格納したブロックのデータ構造について示したブロック図である。ブロックチェーン装置111は、ブロックチェーンと呼ばれる方式でデータを管理する装置である。このブロックチェーンは、情報をトランザクションという単位で取り扱い、そのトランザクションを複数まとめたブロックという単位で管理する。個々のブロックはその前後のブロックとの関連を保持し、ブロックが数珠繋ぎの状態を保つように構成される。例えば、ブロック614とブロック611は前後の関係が定義されている状態を示している。
【0048】
また、ブロックチェーン装置111はノードと呼ばれる複数のコンピューターで構成されており、それぞれのノードがすべて等しいブロックデータの管理を行う非中央集権的な装置構造となる。このため、ブロックデータの改ざんを行う場合には構成されている複数のノードに対して更新を行わなければならず、対改ざん性の強いデータ管理方法として知られている。
【0049】
本実施例では、画像形成装置101において電子文書処理を行う際にブロックチェーン装置111に文書に関する情報であるトランザクションを生成し、送信する。結果、ブロック単位で文書に関する情報は管理されるので、電子文書の正しい状態が保持される。これにより、文書管理装置103内の電子文書に対する改ざんが行われていないかを確認できる。
【0050】
文書管理装置103への電子文書の登録や出力の処理を表すトランザクション601には、以下の6情報を含む。文書ハッシュ値602は、対象の電子文書を一意に表すために算出されたハッシュ値である。この文書ハッシュ値602は、文書ファイル全体から算出されるものであり、電子文書自体に変更が入る事で算出されるハッシュ値が変わるものである。ただし、これ以外の算出方法を制限するものではない。
【0051】
文書識別情報603は、文書管理装置103で管理されている電子文書との紐付けを行うために保持する情報であり、本実施例では表3のID値を格納する。登録デバイス識別情報604は、文書登録を行った画像形成装置101を識別する情報であり、本実施例ではクレデンシャル情報C407のハッシュ値を格納する。文書登録日時605は、文書を登録した時点を表す情報であり、本実施例では表3の登録日時の値を格納する。
【0052】
文書登録者606は、文書登録を行ったユーザを表す情報であり、本実施例では画像形成装置101へログインしたユーザのユーザ名のハッシュ値を格納する。画像形成装置101を利用するために既に登録されているユーザ名などの情報をブロックチェーン装置111に登録する情報としてそのまま利用できるため、システムの管理者の管理業務負荷を少なくすることが可能となる。
【0053】
元文書ハッシュ値607は、文書間の関連を表す情報である。これは、文書管理装置103に格納されている電子文書に対して、印刷や電子データ保存などを行った場合に元となる電子文書と紐付けを行うために使用する。
【0054】
続けて、トランザクション601を保持するブロックの構造についてブロック611を用いて説明する。これは一般的なブロックチェーン構造を模式化したものである。
【0055】
ブロック611には、複数のトランザクション601(a)~601(c)と、それらのトランザクション601から算出するブロックのハッシュ値612を保持する。本実施例ではブロックに含むトランザクション601の数は3つとしたがトランザクション数を制限するものではない。また、ブロック間を連結するための前ブロックのハッシュ値613を保持する。本実施例においては、ブロック614のブロックのハッシュ値を前ブロックのハッシュ値613に格納し、ブロックが関連を持っていることを表している。
【0056】
図7は、認証画面の画面例である。
図7(A)の認証画面700はユーザが画像形成装置101の機能を利用するためにユーザ認証を行う機能を提供するための画面である。ユーザ名入力フィールド701は画像形成装置101のユーザがユーザ名を入力するためのフィールドである。パスワード入力フィールド702は画像形成装置101のユーザがパスワードを入力するためのフィールドである。ログインボタン703はユーザ認証を実行するためのボタンである。ユーザがこのボタンを押下した場合、ユーザ認証処理部402はユーザ名入力フィールド701とパスワード入力フィールド702に入力された値を元にユーザ認証を行う。
【0057】
図7(B)の認証画面(ゲストログイン)710はゲストログインを設けた認証画面の画面例であり、ユーザが画像形成装置101の機能を利用するためにユーザ認証を行う機能を提供するための画面である。以下、認証画面700との違いのみ説明する。ゲストログインボタン711はゲストユーザとしてユーザ認証を実行するためのボタンである。ユーザがこのボタンを押下した場合、ユーザ認証処理部402はユーザ名とパスワードによる認証は行わず、ログインを許可する。ゲストログインボタン711を押下してログインしたユーザは、ユーザ名がGuestでロールがGuest Userとなり、表2のロール情報テーブルの権限に従って利用できる機能が制限される。なお、本実施例では詳細の説明は省くが、ユーザ認証処理部402の設定で認証画面700と認証画面(ゲストログイン)710のどちらの画面を表示するかを切り替えてもよい。
【0058】
図8はリモート認証画面の画面例である。
図8(A)のリモート認証画面800はユーザがPC102上のウェブブラウザから画像形成装置101の機能を利用するために、ユーザ認証を行うための画面である。ユーザ名入力フィールド801は画像形成装置101のユーザがユーザ名を入力するためのフィールドである。パスワード名入力フィールド802は画像形成装置101のユーザがパスワードを入力するためのフィールドである。ログインボタン803はユーザ認証を実行するためのボタンである。ユーザがこのボタンを押下した場合、ユーザ認証処理部402はユーザ名入力フィールド801とパスワード名入力フィールド802に入力された値を元にユーザ認証を行う。
【0059】
図8(B)のリモート認証画面(ゲストログイン)810はユーザが画像形成装置101の機能を利用するためにユーザ認証を行う機能を提供するための画面である。以下、リモート認証画面800との違いのみ説明する。ゲストログインボタン811はゲストユーザとしてユーザ認証を実行するためのボタンである。ユーザがこのボタンを押下した場合、ユーザ認証処理部402はユーザ名とパスワードによる認証は行わず、ログインを許可する。ゲストログインボタン811を押下してログインしたユーザは、ユーザ名がGuestでロールがGuest Userとなり、表2のロール情報テーブルの権限に従って利用できる機能が制限される。なお、本実施例では詳細の説明は省くが、ユーザ認証処理部402の設定でリモート認証画面800とリモート認証画面(ゲストログイン)810のどちらの画面を表示するかを切り替えてもよい。
【0060】
図9はローカルUI制御部400およびリモートUI制御部401が表示する機能を選択する画面の画面例である。
図9に示す機能を選択する画面は画像形成装置101に搭載されている機能の一覧である。画像形成装置101のユーザはこの画面に表示されているボタンを押下することで、画像形成装置101に搭載されている各機能を利用することができる。
【0061】
図9(A)の機能選択画面900は、認証画面700または認証画面(ゲストログイン)710でログインした直後にローカルUI制御部400によって操作部209に表示される画面である。複数の機能選択ボタン901は画像形成装置101の各機能を利用するためのボタンである。コピーボタンはコピー機能を利用する画面を、送信ボタンはスキャンした文書をPC102に送信する機能を利用する画面を、保存ボタンはスキャンした電子文書をHDD204に保存する機能を利用する画面を表示するためのボタンである。本実施例ではそれぞれのボタンが押下された後に表示する画面の説明は省略する。
【0062】
文書登録ボタンが押下された場合は、登録画面1000または登録画面1010を表示する。登録文書保存/印刷ボタンが押下された場合は、登録文書の保存/印刷画面1100を表示する。文書検証ボタンが押下された場合は、文書検証画面1200を表示する。ログアウトボタン902は、ログイン中に表示されるログアウト処理を実行するためのボタンである。このボタンが押下されるとログアウト処理が実行され、その後、認証画面700または認証画面(ゲストログイン)710が表示される。
【0063】
図9(B)の機能選択画面910はリモート認証画面800またはリモート認証画面(ゲストログイン)810でログインした直後にリモートUI制御部401によってPC102上のウェブブラウザに表示する画面の例である。機能選択ボタン911はそれぞれの機能を利用するためのボタンである。機能選択画面900と同様に保存ボタンが押下された後に表示する画面の説明は省略する。文書登録ボタンが押下された場合は、登録画面1020または登録画面1030を表示する。登録文書保存/印刷ボタンが押下された場合は、登録文書の保存/印刷画面1110を表示する。文書検証ボタンが押下された場合は、検証画面1210を表示する。
【0064】
図10はアプリケーションA404およびアプリケーションB405が表示する登録画面の画面例である。本実施例ではアプリケーションA404はローカルUI制御部400とリモートUI制御部401を介して操作部209とPC102上のウェブブラウザに画面を表示し、アプリケーションB405はPC102上のウェブブラウザにだけ画面を表示する。尚、アプリケーションB405も操作部209とPC102上のウェブブラウザの両方に画面を表示してもよい。
【0065】
図10(A)の登録画面1000は文書に関する情報をブロックチェーン装置111および文書を文書管理装置103に登録する機能を提供するための画面である。文書選択設定1001は登録の対象となる文書をスキャンした紙文書または画像形成装置101に保存されている文書から選択する設定であり、スキャンまたは保存文書のどちらか一方が選択できる。スキャン設定1002はスキャンに関する各種の設定である。
【0066】
ブロックチェーンボタン1003は文書の情報をブロックチェーン装置111に登録するか否かを選択するボタンである。ブロックチェーンボタン1003が選択されている場合は文書の情報をブロックチェーン装置111に登録し、選択されていない場合はブロックチェーン装置111に登録しない。登録するボタン1004は文書選択設定1001でスキャンが選択されていた場合は文書のスキャンを実行して電子文書を生成する。保存文書が選択されていた場合は保存文書のリストを表示し、そのリストからユーザが選択した文書を取得する。その後、ブロックチェーンボタン1003が選択されている場合は、電子文書を文書管理装置103に登録し、電子文書の情報をブロックチェーン装置111へ登録する。ブロックチェーンボタン1003が選択されていない場合は、電子文書を文書管理装置103に登録し、ブロックチェーン装置111には登録しない。保存先設定1005は文書を文書管理装置103のどのパスに保存するかを指定する設定である。
【0067】
図10(B)の登録画面1010は文書を文書管理装置103に登録する機能を提供するための画面であって、ゲストログインしたユーザに対して表示される画面である。本実施例ではゲストユーザにはブロックチェーン装置111に文書情報を登録する権限が無いため、本画面にはブロックチェーンボタン1003は表示しない点が登録画面1000とは異なる。
【0068】
図10(C)の登録画面1020は文書に関する情報をブロックチェーン装置111および文書を文書管理装置103に登録する機能を提供するための画面であって、PC102上のウェブブラウザに表示する画面の例である。
図10(D)の登録画面1030は文書を文書管理装置103に登録する機能を提供するための画面であって、ゲストログインしたユーザに対してPC102上のウェブブラウザに表示する画面である。
【0069】
図11は、アプリケーションA404が表示する登録された文書を保存または印刷する画面の画面例である。
図11(A)の登録文書の保存/印刷画面1100は文書管理装置103で管理されている文書を保存または印刷する機能を提供するための画面である。文書選択リスト1101は、保存または印刷する文書を選択するためのリストであり、アプリケーションA404は文書管理装置103で管理されている文書を文書選択リスト1101に表示する。
【0070】
プリントする(簡易)ボタン1102は、文書選択リスト1101で選択した文書の簡易的な印刷を実行するボタンである。簡易的な印刷というのは、文書管理装置103で管理されている文書に対し、ブロックチェーンサービスを利用した検証をしない印刷物を印刷するためのもので一般に行われている印刷と同じである。
【0071】
プリントする(配布)ボタン1104は、文書選択リスト1101で選択した文書の検証を行えるように印刷物を作成させるためのボタンである。検証を行えるような印刷物とは、印刷時に文書の検証を可能とする情報を印刷物に埋め込むことを行う。また、ブロックチェーン装置111および文書管理装置103を利用し、印刷物に埋め込んだ情報を利用して正しい印刷物であることを検証できるようにするのである。この詳細については、後述するものとする。保存するボタン1103は、文書選択リスト1101で選択した文書を画像形成装置101のHDD204に保存するボタンである。
【0072】
図11(B)の登録文書の保存/印刷画面1110はブロックチェーン装置111および文書管理装置103で管理されている文書を保存または印刷する機能を提供するための画面であって、PC102上のウェブブラウザに表示する画面の例である。
【0073】
図12はアプリケーションA404が表示する文書を検証するための画面の画面例である。
図12(A)の文書検証画面1200はスキャンした文書または画像形成装置101に保存されている文書をブロックチェーン装置111の利用により正式な文書であることを検証する機能を提供するための画面である。文書選択設定1201は検証の対象となる文書をスキャンした紙文書または画像形成装置101に保存されている文書から選択する設定である。文書選択リスト1202は検証対象となる文書を選択するためのリストであり、HDD204に保存されている文書の一覧である。
【0074】
検証するボタン1203は文書選択設定1201でスキャンが選択されていた場合は、文書のスキャンを実行し、その後、ブロックチェーン装置111を利用して文書の検証を実行するボタンである。検証するボタン1203は文書選択設定1201で保存文書が選択されていた場合は、文書選択リスト1202で選択されている文書の検証を行う。
【0075】
図12(B)の検証画面1210はHDD204に保存されている文書をブロックチェーン装置111の利用により正式な文書であることを検証する機能を提供するための画面であって、PC102上のウェブブラウザに表示する画面の例である。
【0076】
図13は、画像形成装置101において文書に関する情報をブロックチェーン装置111に登録する処理のフローチャートである。本実施例では、ユーザが制御部200を介して画像形成装置101を利用するケースを説明するが、PC102上のウェブブラウザを介して画像形成装置101を利用してもよい。本フローチャートは、認証画面700でログインボタン703が押下されたことにより起動され、まず、ユーザ認証処理部402としてCPU201において実行される。
【0077】
本フローチャート開始地点では、認証画面700から画像形成装置101のユーザによって入力されたユーザ名とパスワードがユーザ認証処理部402に渡される。ステップS1301では、ログイン依頼としてユーザ名とパスワードを受け付ける。ステップS1302では、受信したユーザ名とパスワードが表1のユーザ情報テーブル内のユーザ名とパスワードと一致するか確認し、一致する場合はユーザ認証が成功したと見なし、ステップS1303へ進む。一致しなかった場合はユーザ認証が失敗したと見なし、ステップS1314へ進む。
【0078】
ステップS1303では、ログイン処理として現在ログインしているユーザとしてステップS1301で受け付けたユーザ名をRAM203に保持し、処理をローカルUI制御部400に渡す。処理を引き継いだローカルUI制御部400は機能選択画面900を操作部209に表示する。
【0079】
本フローチャートでは、その後、機能選択画面900においてユーザによって文書登録ボタン901が押下され、それ以降の処理はアプリケーションA404としてCPU201において実行される。処理を引き継いだアプリケーションA404は現在ログインしているユーザのロールを元に機能制限を反映した画面を表示する。具体的には、ログインしているユーザのユーザ名がGuestの場合は該当するロールであるGuest UserはBC登録が禁止されているため、ブロックチェーン装置111への文書登録機能が制限されている登録画面1010を操作部209に表示する。ログインしているユーザのユーザ名がGuest以外の場合はBC登録が許可されているため、登録画面1000を操作部209に表示する。
【0080】
ステップS1314では、エラー処理としてユーザ認証の失敗やブロックチェーン装置111を利用する権限が無いことを操作部I/F205を経由して操作部209に表示して処理を終了する。ステップS1304では、アプリケーションA404は登録画面1000において登録するブロックチェーンボタン1003が押下されるまで待ち、押下された場合はステップS1305に進む。ステップS1305では、登録画面1000でスキャンが選択されていた場合は、ステップS1306に進み、保存文書が選択されていた場合は、ステップS1308に進む。
【0081】
ステップS1306では、スキャナ211を用いて紙文書に対してスキャン処理を実行する。ステップS1307では、ステップS1306でスキャンしたデータを基にしてスキャン設定1002に従って電子文書を生成し、一時的にHDD204に保存する。この一時的なデータについては、本フローチャート終了時に削除する。
【0082】
ステップS1308では、ログインしているユーザのユーザ名がGuest以外の場合、かつ、登録画面1000でブロックチェーンボタン1003が選択されていた場合はステップS1309に進む。ログインしているユーザのユーザ名がGuestの場合、または、Guest以外の場合かつ登録画面1000でブロックチェーンボタン1003が選択されていなかった場合はステップS1315に進む。
【0083】
ステップS1309では、画像形成装置101のユーザにブロックチェーン装置111を利用する権限があるかを確認し、権限がある場合はステップS1310に進み、権限がない場合はステップS1314に進む。なお、画像形成装置101の正規ユーザにのみ、ブロックチェーン装置111を利用させたい場合、ステップS1303で保持したユーザ名のロールがGuest Userではない場合に権限があると見なす方法もある。また、ブロックチェーン装置111を利用する権限は、ブロックチェーン専用のロールを作成し、それを基に判断しても良い。
【0084】
ステップS1310では、ステップS1307で生成した電子文書のハッシュ値を算出する。ステップS1311では、ステップS1307で生成した電子文書を文書管理装置103に登録を依頼し、結果として、登録が完了した電子文書を表すIDと登録が完了した日時を表す日時情報を取得する。
【0085】
ステップS1311まではアプリケーションA404で処理を行っていたが、ステップS1312はブロックチェーンアプリケーション406が処理を実行する。ステップS1312では、電子文書をブロックチェーン装置111に登録する。ブロックチェーン装置111への登録処理は後述の
図17で説明する。ここでは、登録するためのトランザクション601へ指定する値と、クレデンシャル情報について説明する。
【0086】
文書ハッシュ値602にはステップS1310で算出したハッシュ値を指定する。文書識別情報603にはステップS1311で受け取った電子文書を表すIDを指定する。登録デバイス識別情報604には印刷を行った画像形成装置101のクレデンシャル情報C407のハッシュ値を指定する。文書登録日時605にはステップS1311で受け取った登録が完了した日時を表す日時情報を指定する。文書登録者606には登録操作を行った画像形成装置101へログインしているユーザ名のハッシュ値を指定する。なお、本フローでは元文書は存在しないため、元文書ハッシュ値607には値を指定しない。
【0087】
アプリケーションA404はトランザクション601で指定する値に加えて、クレデンシャル情報A408もブロックチェーンアプリケーション406に渡す。クレデンシャル情報A408は、登録に関する一連の処理が正規なアプリケーションによって行われていることを検証するためにブロックチェーンアプリケーション406によって利用される。
【0088】
ステップS1313では、アプリケーションA404がブロックチェーン装置111への登録処理の結果をブロックチェーンアプリケーション406から取得する。ステップS1315では、ステップS1311と同じ処理を実行して、ステップS1316に進む。ステップS1316では、アプリケーションA404がステップS1313で取得した登録結果を操作部I/F205を経由して操作部209に表示する。これについては画面上に文書管理装置103への登録の成否やブロックチェーン装置111への登録の成否などの情報(不図示)を表示する。その後、処理を終了する。
【0089】
図14は、文書管理装置103に保存されている電子文書を画像形成装置101に保存する処理のフローチャートである。本実施例では、ユーザが制御部200を介して画像形成装置101を利用するケースを説明するが、PC102上のウェブブラウザを介して画像形成装置101を利用してもよい。本フローチャートは、認証画面700でログインボタン703が押下されたことにより起動され、まずユーザ認証処理部402としてCPU201において実行される。
【0090】
本フローチャート開始時には、認証画面700から画像形成装置101のユーザによって入力されたユーザ名とパスワードがユーザ認証処理部402に渡される。ステップS1401では、ログイン依頼としてユーザ名とパスワードを受け付ける。ステップS1402では、受信したユーザ名とパスワードが表1のユーザ情報テーブル内のユーザ名とパスワードと一致するか確認し、一致する場合はユーザ認証が成功したと見なし、ステップS1403へ進む。一致しなかった場合はユーザ認証が失敗したと見なし、ステップS1411へ進む。
【0091】
ステップS1403では、現在ログインしているユーザとしてステップS1401で受け付けたユーザ名をRAM203に保持し、処理をローカルUI制御部400に渡す。処理を引き継いだローカルUI制御部400は機能選択画面900を操作部209に表示する。本フローチャートでは、その後、機能選択画面900においてユーザによって登録文書保存/印刷ボタン901が押下され、それ以降の処理はアプリケーションA404としてCPU201において実行される。処理を引き継いだアプリケーションA404は登録文書の保存/印刷画面1100を操作部209に表示する。
【0092】
ステップS1404では、アプリケーションA404は
図11に示した登録文書の保存/印刷画面1100を操作部I/F205を経由して操作部209に表示し、保存するボタン1103が押下されるまで待ち、押下された場合はステップS1405に進む。ステップS1405では、登録文書の保存/印刷画面1100の文書選択リスト1101で選択された電子文書を画像形成装置101から取得する。取得した電子文書の文書情報はRAM203に、文書ファイルはHDD204に一時的に保存する。ステップS1405まではアプリケーションA404で処理を行っていたが、ステップS1406はブロックチェーンアプリケーション406が処理を実行する。
【0093】
ステップS1406では、RAM203に保存した文書情報のIDを文書識別情報603に保持するトランザクション601を取得する。この取得処理については、後述の
図17において説明する。ここで、アプリケーションA404はクレデンシャル情報A408をブロックチェーンアプリケーション406に渡す。クレデンシャル情報A408は、電子文書の取得に関する一連の処理が正規なアプリケーションによって行われていることを検証するためにブロックチェーンアプリケーション406によって利用される。
【0094】
ステップS1407では、ステップS1406で該当するトランザクション情報を取得できたかどうかを判定する。トランザクション情報が存在しない場合には、ブロックチェーン装置111で管理されていない情報であるため、ステップS1410に進む。トランザクション情報が存在する場合には、ステップS1408に進む。
【0095】
ステップS1408では、HDD204に保存した文書データからハッシュ値を算出する。そのハッシュ値は、ステップS1409においてステップS1406で取得したトランザクション情報の文書ハッシュ値602と同一値であるかどうかを判定する。同一値でなければ、文書管理装置103に保存されている文書ファイルは不正なデータであるため、ステップS1411のエラー表示に進む。同一値である場合には、ステップS1410に進む。
【0096】
ステップS1410では、ステップS1405でHDD204に一時的に保存した文書データをHDD204内の正規な保存場所に移動する。本実施例においては、画像形成装置101のHDD204に保存する構成としたが、登録文書の保存/印刷画面1100に保存先のパスを指定するようにして、指定された場所へ保存するように構成しても良い。ステップS1411では、本処理フローチャートにおいて取得を許可できない場合のエラー表示を行う。これについては画面上にエラーダイアログ(不図示)を表示する。この際、HDD204に一時的に保存した文書ファイルは削除する。
【0097】
図15は、文書管理装置103に保存されている電子文書を画像形成装置101から印刷処理を行うフローチャートである。本実施例では、ユーザが制御部200を介して画像形成装置101を利用するケースを説明するが、PC102上のウェブブラウザを介して画像形成装置101を利用してもよい。本フローチャートは、認証画面700でログインボタン703が押下されたことにより起動され、まずユーザ認証処理部402としてCPU201において実行される。
【0098】
本フローチャート開始の際には、認証画面700から画像形成装置101のユーザによって入力されたユーザ名とパスワードがユーザ認証処理部402に渡される。ステップS1501では、ログイン依頼としてユーザ名とパスワードを受け付ける。ステップS1502では、受信したユーザ名とパスワードが表1のユーザ情報テーブル内のユーザ名とパスワードと一致するか確認し、一致する場合はユーザ認証が成功したと見なし、ステップS1503へ進む。一致しなかった場合はユーザ認証が失敗したと見なし、ステップS1515へ進む。
【0099】
ステップS1503では、現在ログインしているユーザとしてステップS1501で受け付けたユーザ名をRAM203に保持し、処理をローカルUI制御部400に渡す。処理を引き継いだローカルUI制御部400は機能選択画面900を操作部209に表示する。本フローチャートでは、その後、機能選択画面900においてユーザによって登録文書保存/印刷ボタン901が押下され、それ以降の処理はアプリケーションA404としてCPU201において実行される。処理を引き継いだアプリケーションA404は登録文書の保存/印刷画面1100を操作部209に表示する。
【0100】
ステップS1504では、アプリケーションA404は
図11に示した登録文書の保存/印刷画面1100を操作部I/F205を経由して操作部209に表示し、プリントする(簡易)ボタン1102あるいはプリントする(配布)ボタン1104が押下されるまで待ち、押下された場合はステップS1505に進む。
【0101】
ステップS1505では、登録文書の保存/印刷画面1100の文書選択リスト1101で選択された電子文書を画像形成装置101から取得する。取得した電子文書の文書情報はRAM203に、文書ファイルはHDD204に一時的に保存する。ステップS1505まではアプリケーションA404で処理を行っていたが、ステップS1506はブロックチェーンアプリケーション406が処理を実行する。
【0102】
ステップS1506では、RAM203に保存した文書情報のIDを文書識別情報603に保持するトランザクション601を取得する。この取得処理については、後述の
図17において説明する。ここで、アプリケーションA404はクレデンシャル情報A408をブロックチェーンアプリケーション406に渡す。クレデンシャル情報A408は、電子文書の取得に関する一連の処理が正規なアプリケーションによって行われていることを検証するためにブロックチェーンアプリケーション406によって利用される。
【0103】
ステップS1507では、ステップS1506で該当するトランザクション情報を取得できたかどうかと、S1505で配布印刷を指定されたかを判定する。トランザクション情報が存在しない場合か、配布印刷でない簡易印刷の場合には、ブロックチェーン装置111で管理されていない文書である、あるいは、検証を行わない簡易印刷が指示されたため、ステップS1508に進む。トランザクション情報が存在し検証を行う配布印刷が指定された場合には、ステップS1509に進む。ステップS1508では、HDD204に保存した文書データを画像形成装置101のプリンタI/F206を経由して、プリンタ210から印刷処理を行う。
【0104】
ステップS1509では、HDD204に保存した文書データからハッシュ値を算出する。そのハッシュ値は、ステップS1510においてステップS1507で取得したトランザクション情報の文書ハッシュ値602と同一値であるかどうかを判定する。同一値でなければ、文書管理装置103に保存されている文書ファイルは不正なデータであるため、ステップS1515のエラー表示に進む。同一値である場合には、ステップS1511に進む。
【0105】
ステップS1511では、印刷文書に設定するためのハッシュ値を算出する。これには、ステップS1507で取得したトランザクション情報の文書ハッシュ値602と処理を行う画像形成装置101のクレデンシャル情報C407と本ステップ処理時点の画像形成装置内の日時情報を使用して計算する。
【0106】
ステップS1512では、ステップS1511で算出された印刷物を表すハッシュ値と、元の画像を表すトランザクション情報の文書ハッシュ値602をステップS1513で印刷するファイル内に設定する。ここで設定する形式は、後述の検証で印刷した紙をスキャンした際に読み取れる形式であり、二次元バーコードのような印刷物上で判断できる情報であっても良いし、印刷画像内に不可視情報として埋め込んでもよい。
【0107】
ステップS1513では、ハッシュ値を設定した文書ファイルを画像形成装置101のプリンタI/F206を経由してプリンタ210から印刷処理を行う。この際、文書ハッシュ値602が印刷物に記録されることとなる。また、印刷時に使用する印刷用紙自体が電子情報などを格納できる機能を有する場合には、それを利用しても記録する方式でもよい。あるいは、印刷用紙そのものから得られる識別情報と合わせて、印刷物を表すハッシュ値を更新するものでもよい。あるいは、印刷用紙そのものから得られる物理的な情報を識別情報として扱い、これと合わせて、印刷物を表すハッシュ値を更新するものでもよい。
【0108】
ステップS1516では、ステップS1513で開始した印刷が完了したかどうかで分岐を行う。問題なく全部印刷できた場合には、ステップS1514へ進むが、紙切れやインク切れ、紙詰まりなどのプリンタのエラーやユーザ指示によって印刷が中断、あるいは印刷の確認が必要な場合にはステップS1517へ進む。
【0109】
ステップS1517では、印刷中断の原因やユーザ指示の内容から、回復が行われるべき時間制限や回復方法などを選択することを行う。表4は、ステップS1517の処理を行うための情報テーブルである。表4中のIDは印刷中断の原因やユーザ指示の内容等の識別番号であり、エラー・確認名称は、その名称である。また、それぞれに警告内容があり、この内容が機器の画面や電子メールで通知されることとなる。なお、外部装置へ通知する方法は電子メールの形態に限られずメッセージ通知ができればどのような方法であっても良い。この警告内容は主な部分だけが記載されている。また、個々の警告内容の中のXXXやYYY記載部分は、消耗品の名称はエラーコードなどが実際には入るのであるが、簡略してこのように記載している。印刷確認は、印刷エラーなどの場合には不要となっているが、ユーザが印刷物の確認指示を行った場合には、必要となっている。
【0110】
対応方法はこの時点で行う処理である。ステップS1517では、この表4の中から該当する印刷エラー処理などを選択することを行うのである。詳しくは後述するが、表4の場合、IDの1の印刷設定異常の場合、印刷作業開始そのものができないのでその旨を電子メールで通知し(ステップS1518)、印刷は停止されキャンセルされる(ステップS1518、S1519)こととなる。
【0111】
また、IDの2の用紙なしの場合、印刷開始か印刷中に用紙がなくなり、刷作ができなくなくなる場合である。この場合、その旨を電子メールで通知し(ステップS1518)、そのあとはユーザが用紙を追加してくれるか、また、その作業の時間によって対応が異なることになる(ステップS1519で分岐後の処理)。
【0112】
また、IDの6の機器が電源断で印刷処理が中断させられた場合は、機器の再開後に、その旨を電子メールで通知し(ステップS1518)、印刷は停止されキャンセルされる(ステップS1518、S1519)となる。その際に、電子メールに再印刷指示用の情報を付加し、それを利用してユーザは再印刷指示が容易に出すことで、
図15の処理を再度行うことができる。
【0113】
また、IDの8は印刷指示時にユーザが印刷物の確認を指示した場合で、印刷中にエラーなどがあれば、IDの1から7までとなるが、問題なく印刷が完了時点で、その旨を電子メールで通知し(ステップS1518)、ユーザ確認内容によって処理が分岐する(ステップS1519)ことになる。
【0114】
【0115】
ステップS1518では、ステップS1517で選択された表4の対応方法の処理を実際に行い、印刷が中断した原因、回復方法、制限時間を利用者に通知する。これは、それらの情報を、
図11(A)の登録文書の保存/印刷画面1100へのエラーメッセージや、利用者への電子メールの送信で行われる。この後、この配布用の印刷については利用者による作業により回復できるか、ユーザ確認などが行われ結果によって変化する(ステップS1519)ことになる。
【0116】
ステップS1519では、利用者による作業により、制限時間内に回復できたかどうかやユーザの指示内容に応じてその後の処理を決めるための判定を行う。表5は、その際の判定条件等の情報を記載したテーブル情報である。表5中のIDは表4のIDと同一のものであり、識別番号が同じものは同一の印刷中断の原因やユーザ指示の内容等となる。再開制限は、印刷エラー発生時からそのエラーの原因対処によりエラーが解消し印刷再開に至るまでの時間に関するものであり、再開制限の時間以下で再開できた場合は、表5中の再開制限内の対応に記載された処理を行うことにある。
【0117】
印刷再開に至るまでの時間が、表5中の再開制限の時間を超えるが再開最大時間以内の場合には、表5中の再開最大時間内の対応の処理を行うことになる。IDの2、3,4、5の場合、表5中の再開制限の時間内に用紙や消耗品が補充されるか用紙詰まり等が解決されて印刷再開が可能になれば、ステップS1513に進んで印刷が継続される(この場合、印刷された印刷物に不要なものは存在しない)。
【0118】
印刷再開に至るまでの時間が、表5中の再開制限の時間を超えるが再開最大時間以内の場合には、ステップS1520経由でステップS1511に進んで印刷文書のハッシュ値を再度算出して、再度印刷が行われることになる。表5中の再開最大時間を超過しても、紙や消耗品が補充されるか用紙詰まり等が解決されて印刷再開が可能にならなかった場合、表5中の再開最大時間超過の対応が行われることとなり、印刷がキャンセルされる(ステップS1521)。IDの1、6、7、8の場合は、再開の時間の制限がないので表5中では情報がない状態になっている。なお、IDの1、6、7、8の場合は、再開の時間の制限がないので表5中では情報がない状態になっている。
【0119】
表6は印刷後の対応に関する情報を記載したテーブル情報である。表6中、印刷・確認終了後の処理は印刷完了時あるいは印刷確認指示の際の確認成功時の処理の内容が記されている。また、印刷再開や印刷キャンセルなどを行った場合に、それまでの印刷物が残ってしまう際はこれを不要印刷物とする。
【0120】
エラーの内容により印刷が開始できなかった場合は、IDの1がこれに相当する。それ以外は、エラーやキャンセル操作の発生時点で、印刷がどこまで行われたで不要印刷物の状態が異なり、状態を確認して不要印刷物があるか否かの判定を行う。この情報が表6中の不要印刷物に記載されている。そして、不要印刷物発生時に、画面表示および/またはメール通知でユーザに提示する警告内容がユーザ警告に記載されている。
【0121】
これら、表5、表6の情報に従い、ステップS1519では、その後の処理を決めるための判定を行う。この結果に従い、印刷エラーなどの場合に再開制限の時間内に印刷再開できた場合か、印刷確認指示時に確認成功の場合は、ステップS1513へ進む。再開最大時間内に印刷再開できた場合には、ステップS1520経由でステップS1511へ進み、印刷文書のハッシュ値計算からやり直しになるが、文書の印刷は継続される。再開最大時間を超過した場合、印刷確認時に確認失敗した場合、またはユーザにより印刷キャンセル指示があった場合は、ステップS1521へ進む。
【0122】
ステップS1520は、表6に基づき不要印刷物があれば警告内容を画面表示および/またはメール通知でユーザに提示する。その後、ステップS1511へ進む。ステップS1521は、印刷をキャンセルする処理を行う部分で、印刷のキャンセルと表6に基づき警告内容を画面表示やメール通知でユーザに提示する。その後、処理の終了へ進む。
【0123】
このようにすることで、印刷エラー発生時に、再開制限の時間内に印刷再開できた場合は、通常の印刷同様の印刷再開となり、不要印刷物は発生しない。しかし、そうでない場合には、印刷文書のハッシュ値が再作成されて印刷が継続されるか、印刷キャンセルとなりユーザが再印刷を指示することで最初から印刷をやり直し新しい印刷文書のハッシュ値が作成されて印刷されることとなる。
【0124】
この際には、不要印刷物が発生するが、この不要印刷物の印刷文書のハッシュ値はステップ1514のBCサービスへのトランザクション登録が行われないことになり(印刷文書のハッシュ値は使われないこととなり)、検証時に、印刷物のハッシュ値に該当するハッシュ値が見つからず、検証は失敗することとなる。これにより、印刷再開までに印刷したものの印刷文書は、正しい配布物とみなされないこととなり、その間違った配布や悪用時などの抑止につながる。
【0125】
【0126】
【0127】
これまでのステップは、アプリケーションA404で処理を行っていたが、ステップS1514はブロックチェーンアプリケーション406が処理を実行する。ステップS1514では、印刷処理の情報をブロックチェーン装置111に登録する。この登録処理は後述の
図17で説明する。ここでは、登録するためのトランザクション601へ指定する値について説明する。
【0128】
文書ハッシュ値602にはステップS1511で算出した印刷文書のハッシュ値を、文書識別情報603には引数で受け取った電子文書を表すIDを指定する。登録デバイス識別情報604には印刷を行った画像形成装置101のクレデンシャル情報C407のハッシュ値を指定する。文書登録日時605にはS1511でハッシュ値を検索した際の日時情報を指定する。文書登録者606は、印刷を行った画像形成装置101へログインしているユーザ名のハッシュ値を指定する。元文書ハッシュ値607には、S1506で取得した元の画像を表すトランザクション情報の文書ハッシュ値602を指定する。
【0129】
ここで、アプリケーションA404はクレデンシャル情報A408をブロックチェーンアプリケーション406に渡す。クレデンシャル情報A408は、電子文書の取得に関する一連の処理が正規なアプリケーションによって行われていることを検証するためにブロックチェーンアプリケーション406によって利用される。ステップS1515では、本処理フローチャートにおいて印刷を許可できない場合のエラー表示を行う。これについては画面上にエラーダイアログ(不図示)を表示する。
【0130】
図16は、ユーザが指定した文書ファイル、もしくは印刷された紙文書を画像形成装置101から検証処理を行うフローチャートである。本フローチャートは、
図7に示した画像形成装置101の認証画面700でログインボタン703もしくは、ゲストログインボタン711が押下されたことにより起動され、まずユーザ認証処理部402としてCPU201において実行される。本フローチャート開始の際に、認証画面700から画像形成装置101のユーザによって入力されたユーザ名とパスワードがユーザ認証処理部402に渡される。
【0131】
ステップS1601では、ログイン依頼としてユーザ名とパスワードを受け付ける。ステップS1602では、受信したユーザ名とパスワードが表1のユーザ情報テーブル内のユーザ名とパスワードと一致するか確認し、一致する場合はユーザ認証が成功したと見なし、ステップS1603へ進む。一致しなかった場合はユーザ認証が失敗したと見なし、ステップS1614へ進む。
【0132】
ステップS1603では、ログイン処理として現在ログインしているユーザとしてステップS1601で受け付けたユーザ名をRAM203に保持し、処理をローカルUI制御部400に渡す。処理を引き継いだローカルUI制御部400は機能選択画面900を操作部209に表示する。本フローチャートでは、その後、機能選択画面900においてユーザによって文書検証ボタン901が押下され、それ以降の処理はアプリケーションA404としてCPU201において実行される。処理を引き継いだアプリケーションA404は文書検証画面1200を操作部209に表示する。
【0133】
ステップS1604では、アプリケーションA404は
図12に示した文書検証画面1200を操作部I/F205を経由して操作部209に表示し、検証するボタン1203が押下されるまで待ち、押下された場合はステップS1605に進む。ステップS1605では、起動時に受け取った文書選択設定1201の値で対象文書が紙データかどうかを判定する。紙データの場合にはステップS1607へ進み、電子データである場合にはステップS1606へ進む。ステップS1606では、選択されたHDD204内の電子データを特定し、その電子データのハッシュ値を算出する。このハッシュ値が検証対象の文書を表すものであり、ステップS1611での検証処理に使用される。
【0134】
ステップS1607では、画像形成装置101にセットされた紙文書をスキャンする。スキャンは、スキャナI/F207を通じてスキャナ211で紙文書を読み込み、画像データを生成する。ステップS1608では、スキャナ211によって画像化されたデータを電子化し、電子データとして一時的にHDD204に保存する。この一時的なデータについては、本フローチャート終了時に削除する。
【0135】
ステップS1609では、ステップS1608でHDD204に保存した電子データに埋め込まれたハッシュ値を取得する。この取得は、前述の
図15で説明した印刷フローチャートのステップS1512で埋め込んだ方法に合わせたハッシュ値を取得する処理を行う。ステップS1610では、電子データからハッシュ値を取得できたかを判定する。ハッシュ値がある場合にはステップS1611へ進み、ハッシュ値がない場合には検証処理ができないためステップS1614へ進む。
【0136】
ステップS1610まではアプリケーションA404で処理を行っていたが、ステップS1611はブロックチェーンアプリケーション406が処理を実行する。ステップS1611では、ブロックチェーン装置111に記録されているトランザクション情報を使用した文書検証処理を行う。この文書検証処理は後述の
図17で説明する。その際には、処理種別として文書検証を指定し、ステップS1606もしくはステップS1609において算出/取得した文書ハッシュ値と、クレデンシャル情報A408とを渡す。依頼した処理結果を受け取ったら、ステップS1612で検証結果を判定する。
【0137】
検証が成功した場合には、ステップS1613で検証が成功した等のメッセージを表示する標準ダイアログ(不図示)を表示する。また、検証が失敗した場合には、ステップS1614で検証が失敗したもしくは検証不可能である旨のメッセージを表示する標準ダイアログ(不図示)を表示する。それぞれのメッセージ表示後、ユーザがダイアログを閉じる指示を行ったら本フローチャートを終了する。
【0138】
図17は、画像形成装置101のブロックチェーンアプリケーション406がブロックチェーン装置111に対してトランザクション処理を行うフローチャートである。本フローチャートは、
図13から
図16までのアプリケーションA404の処理中にブロックチェーンアプリケーション406として起動され、実行される。
【0139】
本フローチャート開始の際に、アプリケーションA404からは、ブロックチェーン装置111への処理種別の指定と、処理種別ごとに必要な情報が渡される。処理種別ごとに必要な情報は、トランザクション登録時にはトランザクション601、文書検証時には検証が必要な文書ハッシュ値602、トランザクション取得時には文書識別情報603である。
【0140】
ステップS1701では、ブロックチェーンアプリケーション406はクレデンシャル情報C407とクレデンシャル情報A408をブロックチェーン装置111に渡して、正しいクレデンシャル情報であることを確認する。ここで、クレデンシャル情報C407はブロックチェーンアプリケーション406の起動時にクレデンシャル情報管理部410から取得したものを、クレデンシャル情報A408はアプリケーションA404から取得したものを用いる。
【0141】
ステップS1702では、ステップS1701で確認したクレデンシャル情報が正しいものであるかどうかを判定する。正しいか否かの判定は、クレデンシャル情報がデジタル証明書の場合は証明書の検証を行って検証が成功した場合に、正しいクレデンシャル情報であると判断する。また、予め定められたデータ値の場合は値が一致する場合に、正しいクレデンシャル情報であると判断する。正しいクレデンシャルであった場合にはブロックチェーン装置111へのアクセスが可能な状況であるため、ステップS1703に進み、正しいクレデンシャルでなかった場合にはステップS1704に進む。
【0142】
ステップS1703では、ブロックチェーンアプリケーション406が受信した処理種別を判定する。トランザクション登録であればステップS1705へ、トランザクション取得であればステップS1710へ、文書検証であればステップS1713へ進む。ステップS1704では、本処理フローチャートにおいてブロックチェーン装置111へのアクセス権限を満たしていない旨のエラー情報を生成する。
【0143】
ステップS1705では、処理起動時に受け取ったトランザクション情報がそろっているかどうかを確認する。また、文書ハッシュ値602についてはブロックチェーン装置111内に登録されていない事を、元文書ハッシュ値607についてはブロックチェーン装置111内に登録されている事をブロックチェーン装置111で検索することで確認する。情報がそろっていない、もしくはハッシュ値が正しい状態ではない場合には、トランザクション情報は不正なものとなる。このチェック結果をステップS1706で判定し、トランザクション情報が正当であればステップS1707へ、不正な情報であればステップS1709のエラー処理へ進む。
【0144】
ステップS1707では、ブロックチェーン装置111に対してチェック済みのトランザクション601の登録を依頼する。本ステップではブロックチェーン装置111から登録処理の結果として成功/失敗を受け取る。ステップS1708では、そのブロックチェーン装置111からの処理結果を判定し、失敗の場合にはステップS1709のエラー処理へ進み、成功であれば結果通知S1719へ進む。ステップS1709では、本処理フローチャートにおいてトランザクション登録ができない旨のエラー情報を生成する。
【0145】
ステップS1710では、処理起動時に受け取った文書識別番号を保持するトランザクションをブロックチェーン装置111から検索し、取得する。検索結果はステップS1711で判定し、トランザクションデータを取得できなかった場合には、対象の文書はブロックチェーン装置111に登録されていないため、ステップS1712のエラー処理へ進む。トランザクションデータを取得できた場合には、ステップS1719へ進む。ステップS1712では、本処理フローチャートにおいてトランザクション取得に失敗した旨のエラー情報を生成する。
【0146】
ステップS1713では、処理起動時に受け取ったハッシュ値を文書ハッシュ値として保持するトランザクションをブロックチェーン装置111から検索し取得する。検索結果はステップS1714で判定し、トランザクションデータを取得できなかった場合には、正当なハッシュ値としてステップS1715へ進み、取得できなかった場合には、不正なハッシュ値としてステップS1718のエラー処理へ進む。
【0147】
ステップS1715では、ステップS1713で取得したトランザクションに元文書ハッシュ値を持っているかどうかを判定する。元文書ハッシュ値を持っていない場合には、ステップS1707で確認したハッシュ値が一番先頭の文書であるため検証処理は終了となり、ステップS1719へ進む。元文書ハッシュ値を持っている場合、その元文書の存在を確認する必要があるため、ステップS1716へ進む。
【0148】
ステップS1716では、処理種別として文書検証を、処理に必要な情報として元文書ハッシュ値を指定し、本
図17のフローチャートを再帰実行する。この実行結果はステップS1717で判定し、元文書まで含めた検証が成功した場合には、ステップS1719へ進む。検証が失敗した場合には、ステップS1718のエラー処理へ進む。
【0149】
ステップS1718では、本処理フローチャートにおいて文書検証に失敗した旨のエラー情報を生成する。
【0150】
ステップS1719では、それぞれの処理種別ごとの処理成功時の情報として、トランザクション登録の場合には登録完了ステータスを、文書検証の場合には検証成功ステータスを呼び出し元となる処理に通知する。トランザクション取得の場合には取得したトランザクション情報を、またエラー処理が行われている場合にはエラー情報を呼び出し元に通知する。
【0151】
以上、本実施例により、印刷によるエラーなどで失敗印刷物が生じた場合、失敗印刷物に関する情報が正常な情報として登録されないように制御する。結果、失敗印刷物の配布などによる原本保障を無視した悪用を抑止できる。
【0152】
[その他の実施例]
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施例の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【符号の説明】
【0153】
400 ローカルUI制御部
401 リモートUI制御部
402 ユーザ認証処理部
403 ユーザ情報DB
404 アプリケーションA
405 アプリケーションB
406 ブロックチェーンアプリケーション
407 クレデンシャル情報C
408 クレデンシャル情報A
409 クレデンシャル情報B
410 クレデンシャル情報管理部