(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-05
(45)【発行日】2024-01-16
(54)【発明の名称】印刷制御装置、印刷装置、印刷制御システム及びプログラム
(51)【国際特許分類】
G06F 3/12 20060101AFI20240109BHJP
B41J 29/38 20060101ALI20240109BHJP
H04N 1/00 20060101ALI20240109BHJP
G06F 21/00 20130101ALI20240109BHJP
【FI】
G06F3/12 338
G06F3/12 322
G06F3/12 329
B41J29/38 301
H04N1/00 838
G06F21/00
(21)【出願番号】P 2020036948
(22)【出願日】2020-03-04
【審査請求日】2023-02-20
(73)【特許権者】
【識別番号】000005496
【氏名又は名称】富士フイルムビジネスイノベーション株式会社
(74)【代理人】
【識別番号】110001210
【氏名又は名称】弁理士法人YKI国際特許事務所
(72)【発明者】
【氏名】梶谷 典之
【審査官】征矢 崇
(56)【参考文献】
【文献】特開2011-164810(JP,A)
【文献】特開2011-039948(JP,A)
【文献】特開2012-015749(JP,A)
【文献】特開2007-220070(JP,A)
【文献】特開2018-056840(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F3/12
B41J29/00-29/70
H04N1/00
G06F9/445
G06F21/00
(57)【特許請求の範囲】
【請求項1】
プロセッサを備え、
前記プロセッサは、
印刷装置の識別情報に基づくチェックサム値の生成条件を含む生成条件データを印刷装置へ送信し、
前記生成条件に従って前記印刷装置により生成されたチェックサム値と、前記印刷装置の識別情報に基づき前記生成条件に従って生成したチェックサム値と、を照合することによって前記印刷装置の真正性を確認する、
ことを特徴とする印刷制御装置。
【請求項2】
前記プロセッサは、所定のタイミングにて前記生成条件データを前記印刷装置へ送信することを特徴とする請求項1に記載の印刷制御装置。
【請求項3】
前記所定のタイミングは、ユーザからの印刷指示を受信したときであり、
前記プロセッサは、前記印刷装置の真正性の確認後に、印刷指示された印刷データを前記印刷装置へ送信する、
ことを特徴とする請求項2に記載の印刷制御装置。
【請求項4】
前記所定のタイミングは、印刷データの前記印刷装置への送信中に前記印刷装置との接続が切断された場合に、その切断から復旧したときであることを特徴とする請求項2に記載の印刷制御装置。
【請求項5】
前記プロセッサは、
前記印刷装置の識別情報を入力とするアルゴリズムにより出力されるデータを前記生成条件に従って生成したチェックサム値に付加することによって基準データを生成し、
前記印刷装置が前記アルゴリズムと同じアルゴリズムにより出力したデータを前記生成条件に従って生成したチェックサム値に付加することで生成したデータを検証用データとして取得し、
前記基準データと前記検証用データとを照合することによって前記印刷装置の真正性を確認する、
ことを特徴とする請求項1に記載の印刷制御装置。
【請求項6】
前記アルゴリズムは、ハッシュ関数であることを特徴とする請求項5に記載の印刷制御装置。
【請求項7】
前記印刷装置の識別情報は、前記印刷装置のファームウェアバージョンであることを特徴とする請求項1または5に記載の印刷制御装置。
【請求項8】
前記生成条件データは、印刷データに類似した形式を採るものの印刷の実行を伴わない疑似的な印刷データであることを特徴とする請求項1に記載の印刷制御装置。
【請求項9】
プロセッサを備え、
前記プロセッサは、
自装置の識別情報に基づくチェックサム値の生成条件を含む生成条件データを受信し、
前記生成条件に従ってチェックサム値を生成し、
生成したチェックサム値を印刷制御装置が取得可能に保存する、
ことを特徴とする印刷装置。
【請求項10】
プロセッサを備え、印刷を実行する印刷装置と、
プロセッサを備え、前記印刷装置における印刷を制御する印刷制御装置と、
を有し、
前記印刷制御装置が備えるプロセッサは、
前記印刷装置の識別情報に基づくチェックサム値の生成条件を含む生成条件データを印刷装置へ送信し、
前記生成条件に従って前記印刷装置により生成されたチェックサム値と、前記印刷装置の識別情報に基づき前記生成条件に従って生成したチェックサム値と、を照合することによって前記印刷装置の真正性を確認し、
前記印刷装置が備えるプロセッサは、
前記印刷装置の識別情報に基づくチェックサム値の生成条件を含む生成条件データを前記印刷制御装置から受信し、
前記生成条件に従ってチェックサム値を生成し、
生成したチェックサム値を前記印刷制御装置が取得可能に保存する、
ことを特徴とする印刷制御システム。
【請求項11】
コンピュータに、
印刷装置の識別情報に基づくチェックサム値の生成条件を含む生成条件データを印刷装置へ送信する機能、
前記生成条件に従って前記印刷装置により生成されたチェックサム値と、前記印刷装置の識別情報に基づき前記生成条件に従って生成したチェックサム値と、を照合することによって前記印刷装置の真正性を確認する機能、
を実現させるためのプログラム。
【請求項12】
コンピュータに、
自装置の識別情報に基づくチェックサム値の生成条件を含む生成条件データを受信する機能、
前記生成条件に従ってチェックサム値を生成する機能、
生成したチェックサム値を印刷制御装置が取得可能に保存する機能、
を実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、印刷制御装置、印刷装置、印刷制御システム及びプログラムに関する。
【背景技術】
【0002】
近年、働き方改革の影響により、シェアオフィスや公共の場に複合機等の印刷機能が搭載された装置(以下、「印刷装置」)が設置される場合がある。シェアオフィス等の利用者は、印刷装置を共用することになるが、印刷物が盗難されたりすると機密情報が漏洩してしまう可能性がある。
【0003】
このような機密情報の漏洩を防止するために、例えば、特許文献1では、印刷装置への不正アクセスを自動的に検知した場合に電力供給を停止することで不正に印刷されることを防ぐ技術が提案されている。
【0004】
また、特許文献2では、プリンタドライバーで画像形成とデータの転送が1ページずつ行われるような環境において、1ページ送信するたびにプリンタIDをチェックする技術が提案されている。
【先行技術文献】
【特許文献】
【0005】
【文献】特開2003-341181号公報
【文献】特開2000-313156号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1では、印刷装置そのものが不正に置き換えられてしまった場合には不正な印刷を防止することができない。また、特許文献2では、不正なプログラムが仕込まれた印刷装置に置き換えられ、その不正なプログラムが正規の印刷装置のプリンタIDを返すように動作すると、不正な印刷を防止することができない。また、印刷装置の真正性の確認を行うためには、1ページ送信するたびにプリンタIDをチェックする処理が必要となる。
【0007】
本発明は、印刷装置の真正性の確認を印刷データの印刷装置への送信の度に行うことなく不正な印刷装置との置き換えを検出できるようにすることを目的とする。
【課題を解決するための手段】
【0008】
本発明に係る印刷制御装置は、プロセッサを備え、前記プロセッサは、印刷装置の識別情報に基づくチェックサム値の生成条件を含む生成条件データを印刷装置へ送信し、前記生成条件に従って前記印刷装置により生成されたチェックサム値と、前記印刷装置の識別情報に基づき前記生成条件に従って生成したチェックサム値と、を照合することによって前記印刷装置の真正性を確認する、ことを特徴とする。
【0009】
また、前記プロセッサは、所定のタイミングにて前記生成条件データを前記印刷装置へ送信することを特徴とする。
【0010】
また、前記所定のタイミングは、ユーザからの印刷指示を受信したときであり、前記プロセッサは、前記印刷装置の真正性の確認後に、印刷指示された印刷データを前記印刷装置へ送信する、ことを特徴とする。
【0011】
また、前記所定のタイミングは、印刷データの前記印刷装置への送信中に前記印刷装置との接続が切断された場合に、その切断から復旧したときであることを特徴とする。
【0012】
また、前記プロセッサは、前記印刷装置の識別情報を入力とするアルゴリズムにより出力されるデータを前記生成条件に従って生成したチェックサム値に付加することによって基準データを生成し、前記印刷装置が前記アルゴリズムと同じアルゴリズムにより出力したデータを前記生成条件に従って生成したチェックサム値に付加することで生成したデータを検証用データとして取得し、前記基準データと前記検証用データとを照合することによって前記印刷装置の真正性を確認する、ことを特徴とする。
【0013】
また、前記アルゴリズムは、ハッシュ関数であることを特徴とする。
【0014】
また、前記印刷装置の識別情報は、前記印刷装置のファームウェアバージョンであることを特徴とする。
【0015】
また、前記生成条件データは、印刷データに類似した形式を採るものの印刷の実行を伴わない疑似的な印刷データであることを特徴とする。
【0016】
本発明に係る印刷装置は、プロセッサを備え、前記プロセッサは、自装置の識別情報に基づくチェックサム値の生成条件を含む生成条件データを受信し、前記生成条件に従ってチェックサム値を生成し、生成したチェックサム値を印刷制御装置が取得可能に保存する、ことを特徴とする。
【0017】
本発明に係る印刷制御システムは、プロセッサを備え、印刷を実行する印刷装置と、プロセッサを備え、前記印刷装置における印刷を制御する印刷制御装置と、を有し、前記印刷制御装置が備えるプロセッサは、前記印刷装置の識別情報に基づくチェックサム値の生成条件を含む生成条件データを印刷装置へ送信し、前記生成条件に従って前記印刷装置により生成されたチェックサム値と、前記印刷装置の識別情報に基づき前記生成条件に従って生成したチェックサム値と、を照合することによって前記印刷装置の真正性を確認し、前記印刷装置が備えるプロセッサは、前記印刷装置の識別情報に基づくチェックサム値の生成条件を含む生成条件データを前記印刷制御装置から受信し、前記生成条件に従ってチェックサム値を生成し、生成したチェックサム値を前記印刷制御装置が取得可能に保存する、ことを特徴とする。
【0018】
本発明に係るプログラムは、コンピュータに、印刷装置の識別情報に基づくチェックサム値の生成条件を含む生成条件データを印刷装置へ送信する機能、前記生成条件に従って前記印刷装置により生成されたチェックサム値と、前記印刷装置の識別情報に基づき前記生成条件に従って生成したチェックサム値と、を照合することによって前記印刷装置の真正性を確認する機能、を実現させる。
【0019】
本発明に係るプログラムは、コンピュータに、自装置の識別情報に基づくチェックサム値の生成条件を含む生成条件データを受信する機能、前記生成条件に従ってチェックサム値を生成する機能、生成したチェックサム値を印刷制御装置が取得可能に保存する機能、を実現させる。
【発明の効果】
【0020】
請求項1に記載の発明によれば、印刷装置の真正性の確認を印刷データの印刷装置への送信の度に行うことなく不正な印刷装置との置き換えを検出することができる。
【0021】
請求項2に記載の発明によれば、所定のタイミングでのみ印刷装置の真正性を確認することができる。
【0022】
請求項3に記載の発明によれば、印刷を印刷装置に実行させる直前に印刷装置の真正性を確認することができる。
【0023】
請求項4に記載の発明によれば、前記印刷装置との接続が切断されている間に不正な印刷装置に置き換えられたことを検出することができる。
【0024】
請求項5に記載の発明によれば、印刷装置の真正性をより確度良く確認することができる。
【0025】
請求項6に記載の発明によれば、照合するデータを、よりユニークな値とすることができる。
【0026】
請求項7に記載の発明によれば、照合するデータを、よりユニークな値とすることができる。
【0027】
請求項8に記載の発明によれば、生成条件データと外部から検出されにくい形式にして生成条件データを印刷装置へ送信することができる。
【0028】
請求項9に記載の発明によれば、印刷装置の真正性の確認を印刷データの印刷装置への送信の度に行わせることなく不正な印刷装置との置き換えを検出させることができる。
【0029】
請求項10に記載の発明によれば、印刷装置の真正性の確認を印刷データの印刷装置への送信の度に行うことなく不正な印刷装置との置き換えを検出することができる。
【0030】
請求項11に記載の発明によれば、印刷装置の真正性の確認を印刷データの印刷装置への送信の度に行うことなく不正な印刷装置との置き換えを検出することができる。
【0031】
請求項12に記載の発明によれば、印刷装置の真正性の確認を印刷データの印刷装置への送信の度に行わせることなく不正な印刷装置との置き換えを検出させることができる。
【図面の簡単な説明】
【0032】
【
図1】本実施の形態における印刷制御システムの機能ブロックを示す図である。
【
図2】本実施の形態においてユーザからの要求に応じて印刷が実行されるまでの印刷管理サーバーと印刷装置との間の通信シーケンス図である。
【
図3】本実施の形態における印刷管理サーバーが実施する印刷装置の検証処理を示すフローチャートである。
【
図4】本実施の形態において検証用データの生成を説明するための図である。
【発明を実施するための形態】
【0033】
以下、図面に基づいて、本発明の好適な実施の形態について説明する。
【0034】
図1は、本実施の形態における印刷制御システムの機能ブロックを示す図である。
図1には、印刷管理サーバー10と印刷装置20とが示されている。印刷管理サーバー10及び印刷装置20は、シェアハウス等一般にセキュリティ上の契約関係のない複数のユーザによって利用される環境に設置される。印刷管理サーバー10は、管理者以外の者によって操作されないように管理室等に設置されるが、印刷装置20は、上記複数のユーザが利用可能な場所に設置される。従って、印刷装置20は、企業の事業所内に設置される場合と異なり、不正者によって不正な印刷装置に置き換えられてしまう可能性がある。
【0035】
印刷管理サーバー10は、ユーザがパーソナルコンピュータ(PC)等の情報処理装置(図示せず)を使用してネットワーク経由で送信してくる印刷ジョブを受け付け、管理し、また印刷の実行を制御する印刷制御装置である。本実施の形態における印刷管理サーバー10は、従前からある汎用的なサーバーコンピュータで実現してよい。すなわち、印刷管理サーバー10は、プロセッサ(例えば、CPU)、ROM、RAM、ハードディスクドライブ(HDD)等印刷ジョブを保存するための記憶手段、ネットワークインタフェース、また必要に応じてユーザインタフェースを有する。
【0036】
印刷装置20は、プリンタ、複合機等印刷機能を搭載する装置である。印刷装置20は、印刷管理サーバー10からネットワークを介して送信されてくる印刷ジョブを受信して印刷を実行する。本実施の形態における印刷装置20は、従前からある汎用的な装置構成を有している。すなわち、印刷装置20は、プロセッサ(例えば、CPU)、ROM、RAM、ハードディスクドライブ(HDD)等印刷ジョブを保存するための記憶手段、CPUで実行される制御プログラムからの指示に従い出力用紙上に画像を印字するプリントエンジン、ネットワークインタフェース、また必要に応じてユーザインタフェースを有する。
【0037】
図1に戻り、印刷管理サーバー10は、受信部11、ダミー印刷データ生成部12、送信部13、検証部14、印刷制御部15、ファームウェアバージョン(FWV)保持部16及びジョブ保存部17を有している。なお、本実施の形態の説明に用いない構成要素については図から省略している。
【0038】
受信部11は、ユーザが使用するPCから送信されてくる印刷ジョブ及び印刷指示を受信する。ダミー印刷データ生成部12は、ユーザからの印刷指示に応じてダミー印刷データを生成する。ダミー印刷データというのは、印刷装置20の識別情報に基づくチェックサム値の生成条件を含む生成条件データの一形態である。本実施の形態では、印刷データ(すなわち、印刷ジョブ)に類似した形式を採るものの印刷の実行を伴わない疑似的な印刷データの形態にて生成条件データを生成し、印刷装置20へ送信するため、「ダミー印刷データ」と称している。疑似的な印刷データの形態にして印刷装置20へ送信することによって、印刷装置20へ送信するデータが生成条件データであることを外部から検出されにくくしている。なお、本実施の形態では、印刷装置20の識別情報としてファームウェアバージョンを用いる場合を例にして説明するが、ファームウェアバージョンに限定する必要はない。例えば、製造番号等装置固有の情報であればよい。
【0039】
送信部13は、印刷データを印刷装置20へ送信する。印刷データとしては、印刷ジョブ及び前述した印刷を伴わないダミー印刷データがある。検証部14は、印刷管理サーバー10においてファームウェアバージョン保持部16が保持する印刷装置20のファームウェアバージョンに基づき生成した基準データと、印刷装置20のファームウェアバージョン及びダミー印刷データに含まれる生成条件に従って印刷装置20により生成された検証用データと、を照合することによって印刷装置20の真正性を検証する。基準データ及び検証用データの詳細については、後述する。
【0040】
印刷制御部15は、前述した構成要素11~14の動作を制御し、後述する本実施の形態において特徴的な処理の実行制御を含む印刷管理サーバー10における動作を制御する。本実施の形態において特徴的な処理の詳細は後述するが、本実施の形態では、検証部14による検証により印刷装置20の真正性が確認されてはじめて印刷ジョブを印刷装置20へ送信することになる。ファームウェアバージョン保持部16は、印刷装置20のファームウェアバージョンを保持する。ジョブ保存部17には、受信部11が受信した印刷ジョブが保存される。
【0041】
印刷管理サーバー10における各構成要素11~15は、印刷管理サーバー10を形成するコンピュータと、コンピュータに搭載されたCPUで動作するプログラムとの協調動作により実現される。また、ファームウェアバージョン保持部16及びジョブ保存部17は、印刷管理サーバー10に搭載されたHDDまたはRAMにて実現される。
【0042】
印刷装置20は、受信部21、データ解析部22、検証用データ生成部23、印刷処理部24、検証用データ保持部25、ファームウェアバージョン(FWV)保持部26及びジョブ保存部27を有している。なお、本実施の形態の説明に用いない構成要素については図から省略している。
【0043】
受信部21は、印刷管理サーバー10から送信されてくる印刷データを受信する。印刷データとしては、印刷ジョブ及びダミー印刷データがある。データ解析部22は、受信部21が受信した印刷データを解析する。そして、受信した印刷データがダミー印刷データの場合、検証用データ生成部23に検証用データの生成を指示する。また、受信した印刷データが印刷ジョブの場合、印刷処理部24に印刷ジョブに従い印刷を実行させる。
【0044】
検証用データ生成部23は、データ解析部22からの指示に従い、ダミー印刷データに含まれている生成条件に従って検証用データを生成する。印刷処理部24は、データ解析部22からの指示に従い印刷を実行する。検証用データ保持部25は、印刷管理サーバー10が取得可能なように検証用データ生成部23が生成した検証用データをMIB(Management Information Base)の規格に従ったデータとして保持する。
【0045】
ファームウェアバージョン保持部26は、自装置のファームウェアバージョンを保持する。ジョブ保存部27には、受信部21が受信した印刷ジョブが保存される。
【0046】
印刷装置20における各構成要素21~24は、印刷装置20を形成するコンピュータと、コンピュータに搭載されたCPUで動作するプログラムとの協調動作により実現される。また、各構成要素25~27は、印刷装置20に搭載されたHDDまたはRAMにて実現される。
【0047】
また、本実施の形態で用いるプログラムは、通信手段により提供することはもちろん、CD-ROMやUSBメモリ等のコンピュータ読み取り可能な記録媒体に格納して提供することも可能である。通信手段や記録媒体から提供されたプログラムはコンピュータにインストールされ、コンピュータのCPUがプログラムを順次実行することで各種処理が実現される。
【0048】
前述したように、印刷装置20は、シェアハウス等一般にセキュリティ上の契約関係のない複数のユーザによって利用される環境に設置される。この場合、不正者が他人の印刷物を取得する可能性がある。印刷装置20が人目に付きにくい場所に設置されている場合には、印刷装置20が不正な印刷装置に置き換えられる場合も想定しうる。本実施の形態では、この不正な印刷装置との置き換えを検出できるようにしたことを特徴としている。
【0049】
図2は、本実施の形態においてユーザからの要求に応じて印刷が実行されるまでの印刷管理サーバー10と印刷装置20との間の通信シーケンス図である。また、
図3は、本実施の形態における印刷管理サーバー10が実施する印刷装置20の検証処理を示すフローチャートである。以下、これらの図を用いて本実施の形態において特徴的な不正な印刷装置との置き換えを検出する処理について説明する。なお、
図2と
図3において、同じ処理には同じステップ番号を付けている。
【0050】
図2において、ユーザがPCから印刷ジョブを印刷管理サーバー10に投入すると、印刷管理サーバー10における受信部11は、その投入により送信されてきた印刷ジョブを受信し(ステップ101)、ジョブ保存部17に保存する(ステップ102)。
【0051】
ユーザがPCから投入済みの印刷ジョブに対する印刷を指示すると、印刷管理サーバー10における受信部11は、その印刷指示を受け付ける(ステップ103)。
【0052】
印刷指示が受け付けられたことを認識すると、印刷制御部15は、ダミー印刷データ生成部12に、ダミー印刷データの生成を指示する。ダミー印刷データ生成部12は、この指示に応じてダミー印刷データを生成する(ステップ106)。
【0053】
図4は、本実施の形態において検証用データの生成を説明するための図であるが、この図の左側にダミー印刷データに含まれるジョブプロパティヘッダの一部を示している。ジョブプロパティヘッダは、PJL(Printer Job Language)というプリンタジョブ制御言語で記述されるが、ダミー印刷データには、
図4に示す行「@PJL SET JOBATTR=“@CHECKSUM=1.3”」が記述される。本実施の形態では、この1行が印刷装置20のファームウェアバージョンに基づくチェックサム値の生成条件に相当する。印刷装置20は、ジョブプロパティヘッダにこの1行が含まれていることで受信した印刷データがダミー印刷データと認識できる。チェックサム値の生成条件は、この1行の“1.3”の部分が変数(つまり、設定値)であり、ダミー印刷データ生成部12が自動的に、あるいは管理者等により指定された値を受け付けて設定される。ダミー印刷データの更なる詳細については後述する。
【0054】
送信部13は、以上のようにしてダミー印刷データ生成部12が生成したダミー印刷データを印刷装置20へ送信する(ステップ105)。
【0055】
印刷装置20における受信部21は、印刷管理サーバー10から送信されてきたダミー印刷データを受信する(ステップ201)。データ解析部22は、受信部21が受信したデータを解析する。そして、ジョブプロパティヘッダに「@PJL SET JOBATTR=“@CHECKSUM=1.3”」が含まれていることによって受信したデータがダミー印刷データであると認識する。この場合、データ解析部22は、検証用データ生成部23に検証用データの生成を指示する。
【0056】
検証用データ生成部23は、この指示に応じて次のようにして検証用データを生成する(ステップ202)。
【0057】
図4には、“1.202.6”というファームウェアバージョンが例示されている。 検証用データ生成部23は、このファームウェアバージョンを入力とし、予め設定されているハッシュ関数を使用してハッシュ値を得る。このハッシュ関数は、印刷管理サーバー10が保持しているのと同じである。
【0058】
なお、本実施の形態では、ハッシュ関数を利用して検証用データを生成するようにしたが、印刷装置20の識別情報であるファームウェアバージョンを入力とし、何らかの値を出力するアルゴリズムであれば、必ずしもハッシュ関数を利用して検証用データを生成する必要はない。
【0059】
また、
図4に示すように、印刷装置20のファームウェアバージョンは、ピリオドで区切られた3組の数字の列により構成される。“@CHECKSUM=1.3”の“1.3”は、チェックサム値の生成に1番目と3番目の数字の列を用いることを示している。従って、検証用データ生成部23は、ファームウェアバージョン“1.202.6”の1番目の“1”と3番目の“6”の和を求めることでチェックサム値“7”を算出する。そして、検証用データ生成部23は、チェックサム値をハッシュ値の最後尾に付加することで検証用データを生成する。
【0060】
検証用データ生成部23は、以上のようにして生成した検証用データを検証用データ保持部25に保存する(ステップ203)。そして、検証用データ生成部23は、検証用データを生成し、検証用データ保持部25に保存した旨を印刷管理サーバー10に通知する(ステップ204)。
【0061】
印刷管理サーバー10において、検証用データを生成した旨の通知を受信すると(ステップ106)、検証部14は、検証用データ保持部25にアクセスして検証用データを取得する(ステップ107)。続いて、検証部14は、検証用データと照合するための基準データを生成する。すなわち、検証部14は、印刷装置20において検証用データ生成部23がハッシュ値の生成に用いたのと同じハッシュ関数を保持しているので、ファームウェアバージョン保持部16から印刷装置20のファームウェアバージョンを取り出し、ハッシュ関数に入力してハッシュ値を得る。また、印刷装置20へ送信したダミー印刷データに含まれている生成条件に従って印刷装置20のファームウェアバージョンからチェックサム値を得る。そして、検証部14は、チェックサム値をハッシュ値の最後尾に付加することで基準データを生成する。
【0062】
そして、検証部14は、基準データと検証用データとを照合することによって検証用データを検証する(ステップ108)。印刷装置20が正規の印刷装置であれば、印刷管理サーバー10と印刷装置20は、同じハッシュ関数及び同じチェックサム値の生成条件に、同じ印刷装置20のファームウェアバージョンを入力してハッシュ値及びチェックサム値を得ていることから基準データと検証用データは一致するはずである。
【0063】
従って、基準データと検証用データが一致することによって、印刷装置20は不正な印刷装置に置き換えられていないことが検証できる。すなわち、印刷装置20の真正性を確認することができる。
【0064】
印刷装置20の真正性が確認できると(ステップ110でY)、送信部13は、印刷指示された印刷ジョブをジョブ保存部17から取り出して印刷装置20へ送信する(ステップ109)。
【0065】
なお、印刷装置20の真正性が確認できなければ(ステップ110でN)、印刷制御部15は、送信部13に印刷ジョブを印刷装置20へ送信させることなく、処理を終了する。この場合、印刷装置20が不正に置き換えられたことを管理者等に通知する機能を印刷管理サーバー10に持たせるようにしてもよい。
【0066】
印刷管理サーバー10から印刷ジョブが送られてくると、受信部21は、その印刷ジョブを受信してジョブ保存部27に保存する(ステップ205)。なお、データ解析部22は、受信部21が受信した印刷データのジョブプロパティヘッダにチェックサム値の生成条件が設定されていないことから通常の印刷データ、すなわち印刷ジョブと判断できる。印刷処理部24は、データ解析部22からの指示に応じて印刷指示対象の印刷ジョブをジョブ保存部27から取り出して印刷を実行する(ステップ206)。
【0067】
本実施の形態によれば、ユーザからの印刷指示に応じてチェックサム値の生成条件を含むダミー印刷データを印刷装置20へ送信して、印刷装置20のファームウェアバージョンに基づき検証用データをその都度生成させ、その生成された検証用データに基づき印刷装置20の真正性を確認できるようにした。このため、印刷指示に応じて印刷ジョブを印刷装置20へ送信する前に印刷装置20が不正な印刷装置に置き換えられたかどうかを検証することができる。
【0068】
ただ、本実施の形態では、上記説明したように印刷ジョブを送信する前に印刷装置20の真正性を確認するが、印刷ジョブの送信を開始した後のデータ送信中に印刷装置20が不正な印刷装置に置き換えられる可能性もある。そこで、本実施の形態においては、印刷ジョブの送信を開始した後における印刷装置の置き換えも検出できるようにした。
【0069】
ところで、印刷装置20を置き換えるためには、印刷装置20の印刷管理サーバー10との接続をいったん切断する必要がある。これは、印刷管理サーバー10が印刷装置20との通信回線を常時監視しておくことで接続断を検出できる。
【0070】
印刷管理サーバー10と印刷装置20との接続が切断されることでデータ送信中にエラーが発生する。この場合(ステップ111でY)、印刷制御部15は、データ送信エラーからの復旧後(つまり、印刷管理サーバー10と印刷装置20との再接続の確認後)、処理をステップ104に移行させて、ダミー印刷データを印刷装置20へ再度送信するよう制御する。このとき、ダミー印刷データに含まれるチェックサム値の生成条件に設定する変数、すなわちチェックサム値の生成に用いる前回の設定値“1.3”を変えるようにするのが好ましい。
【0071】
ここで、印刷管理サーバー10と印刷装置20との間の接続断が印刷装置20の置き換えではないのにもかかわらず発生したと仮定する。この場合、正規の印刷装置20は、前述したようにファームウェアバージョン保持部26に保持されているファームウェアバージョンに従ってハッシュ値と、新たに送信されてきた生成条件に従ってチェックサム値を算出するため、正当な検証用データが生成される。一方、印刷管理サーバー10における検証部14では、ファームウェアバージョン保持部16に保持されている正しいファームウェアバージョンに従ってハッシュ値と、新たに送信した生成条件に従ってチェックサム値を算出することにより基準データを生成する。これにより、印刷管理サーバー10は、印刷装置20の真正性を確認でき、印刷ジョブの送信を再開することができる。
【0072】
一方、印刷管理サーバー10と印刷装置20との間の接続断が印刷装置20の置き換えによって発生したと仮定する。この場合、不正の印刷装置は、正規な印刷装置20と異なるファームウェアバージョンを記憶しているので、ファームウェアバージョンに基づき生成される検証用データは、印刷管理サーバー10によって生成される基準データと一致しない。
【0073】
仮に、正規な印刷装置20のファームウェアバージョンを不正に取得して、不正の印刷装置に記憶させるようにすることも考えられる。しかしながら、本実施の形態においては、検証用データにはチェックサム値が含まれているので正規な印刷装置20のファームウェアバージョンだけが不正に取得されても印刷装置20の置き換えを検出することができる。
【0074】
また、仮に、印刷装置20の置き換え前に検証用データが不正に取得されたとする。しかしながら、本実施の形態では、データ送信エラー発生後にダミー印刷データに含める生成条件を、印刷指示に応じてダミー印刷データに含めた生成条件と異ならせることができる。つまり、新たに生成される検証用データに含まれるチェックサム値が、印刷指示時の検証用データに含まれるチェックサム値と一致しないように制御できる。本実施の形態では、このようにチェックサム値の生成条件を動的に設定し、印刷装置20には、受信したダミー印刷データに含まれる生成条件に従って検証用データをその都度生成させるようにしたので、印刷指示時における検証用データが不正に取得されたとしても印刷装置20の置き換えを検出することができる。
【0075】
なお、本実施の形態においては、印刷装置20の真正性をより確度良く確認できるように検証用データをハッシュ値とチェックサム値との組合せで生成するようにしたが、チェックサム値のみを検証用データとして用いてもよい。
【0076】
以上説明したように、ユーザからの印刷指示を受信したときだけでなく、印刷データの印刷装置20への送信中に印刷装置20との接続が切断された場合、その切断から復旧したときという所定のタイミングでもダミー印刷データを送信するようにしたので、印刷データの印刷装置20への送信中に行われた印刷装置の置き換えを検出することができる。
【0077】
上記実施の形態において、プロセッサとは広義的なプロセッサを指し、汎用的なプロセッサ(例えばCPU:Central Processing Unit等)や、専用のプロセッサ(例えばGPU:Graphics Processing Unit、ASIC:Application Specific Integrated Circuit、FPGA:Field Programmable Gate Array、プログラマブル論理デバイス等)を含むものである。
【0078】
また上記実施の形態におけるプロセッサの動作は、1つのプロセッサによって成すのみでなく、物理的に離れた位置に存在する複数のプロセッサが協働して成すものであってもよい。また、プロセッサの各動作の順序は上記各実施の形態において記載した順序のみに限定されるものではなく、適宜変更してもよい。
【符号の説明】
【0079】
10 印刷管理サーバー、11,21 受信部、12 ダミー印刷データ生成部、13 送信部、14 検証部、15 印刷制御部、16,26 ファームウェアバージョン(FWV)保持部、17,27 ジョブ保存部、20 印刷装置、22 データ解析部、23 検証用データ生成部、24 印刷処理部、25 検証用データ保持部。