JP2021190964A - 情報処理システム、サーバー装置及びクライアント装置 - Google Patents
情報処理システム、サーバー装置及びクライアント装置 Download PDFInfo
- Publication number
- JP2021190964A JP2021190964A JP2020097840A JP2020097840A JP2021190964A JP 2021190964 A JP2021190964 A JP 2021190964A JP 2020097840 A JP2020097840 A JP 2020097840A JP 2020097840 A JP2020097840 A JP 2020097840A JP 2021190964 A JP2021190964 A JP 2021190964A
- Authority
- JP
- Japan
- Prior art keywords
- content data
- signature
- server device
- client device
- key
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Facsimiles In General (AREA)
Abstract
【課題】セキュリティを上げる。【解決手段】サーバー装置は、ノンスを、クライアント装置から受信し、受信したノンスとコンテンツデータとを結合することにより、第1の結合コンテンツデータを生成し、第1の結合コンテンツデータ及び第1の鍵を用いて第1の署名を生成し、第1の署名とコンテンツデータとを結合することにより、第1の署名済みコンテンツデータを生成し、第1の署名済みコンテンツデータを、クライアント装置に送信し、クライアント装置は、第1の署名済みコンテンツデータを、サーバー装置から受信し、第1の署名済みコンテンツデータを、第1の署名とコンテンツデータとに分割し、生成したノンスとコンテンツデータとを結合することにより、第2の結合コンテンツデータを生成し、第2の結合コンテンツデータ及び第2の鍵を用いて第2の署名を生成し、第2の署名に基づき第1の署名の検証に成功すると、コンテンツデータを出力する。【選択図】図6
Description
本開示は、サーバー装置と、サーバー装置からコンテンツデータを受信するクライアント装置と、サーバー装置及びクライアント装置を有する情報処理システムとに関する。
サーバー装置からコンテンツデータを受信して処理するクライアント装置が知られる。例えば、文書管理サーバー装置から印刷データを受信して印刷する画像形成装置が知られる。
サーバー装置からコンテンツデータを受信して処理するクライアント装置のセキュリティを上げることが望ましい。
本開示の一形態に係る情報処理システムは、
サーバー装置と、
前記サーバー装置とネットワークを介して通信可能に接続されたクライアント装置と
を具備し、
前記サーバー装置は、第1の鍵と、前記クライアント装置に供給すべきコンテンツデータとを記憶する記憶装置を有し、
前記クライアント装置は、前記第1の鍵に対応する第2の鍵を記憶する記憶装置を有し、
前記クライアント装置は、
前記サーバー装置以外から取得したコンテンツデータを出力する機能を無効にしてから、
ノンスを生成し、
前記ノンスを、前記サーバー装置に送信し、
前記サーバー装置は、
前記ノンスを、前記クライアント装置から受信し、
受信した前記ノンスと前記コンテンツデータとを結合することにより、第1の結合コンテンツデータを生成し、
前記第1の結合コンテンツデータ及び前記第1の鍵を用いて第1の署名を生成し、
前記第1の署名と前記コンテンツデータとを結合することにより、第1の署名済みコンテンツデータを生成し、
前記第1の署名済みコンテンツデータを、前記クライアント装置に送信し、
前記クライアント装置は、
前記第1の署名済みコンテンツデータを、前記サーバー装置から受信し、
前記第1の署名済みコンテンツデータを、前記第1の署名と前記コンテンツデータとに分割し、
生成した前記ノンスと前記コンテンツデータとを結合することにより、第2の結合コンテンツデータを生成し、
前記第2の結合コンテンツデータ及び前記第2の鍵を用いて第2の署名を生成し、
前記第2の署名に基づき前記第1の署名の検証に成功すると、前記コンテンツデータを出力する。
サーバー装置と、
前記サーバー装置とネットワークを介して通信可能に接続されたクライアント装置と
を具備し、
前記サーバー装置は、第1の鍵と、前記クライアント装置に供給すべきコンテンツデータとを記憶する記憶装置を有し、
前記クライアント装置は、前記第1の鍵に対応する第2の鍵を記憶する記憶装置を有し、
前記クライアント装置は、
前記サーバー装置以外から取得したコンテンツデータを出力する機能を無効にしてから、
ノンスを生成し、
前記ノンスを、前記サーバー装置に送信し、
前記サーバー装置は、
前記ノンスを、前記クライアント装置から受信し、
受信した前記ノンスと前記コンテンツデータとを結合することにより、第1の結合コンテンツデータを生成し、
前記第1の結合コンテンツデータ及び前記第1の鍵を用いて第1の署名を生成し、
前記第1の署名と前記コンテンツデータとを結合することにより、第1の署名済みコンテンツデータを生成し、
前記第1の署名済みコンテンツデータを、前記クライアント装置に送信し、
前記クライアント装置は、
前記第1の署名済みコンテンツデータを、前記サーバー装置から受信し、
前記第1の署名済みコンテンツデータを、前記第1の署名と前記コンテンツデータとに分割し、
生成した前記ノンスと前記コンテンツデータとを結合することにより、第2の結合コンテンツデータを生成し、
前記第2の結合コンテンツデータ及び前記第2の鍵を用いて第2の署名を生成し、
前記第2の署名に基づき前記第1の署名の検証に成功すると、前記コンテンツデータを出力する。
本開示によれば、サーバー装置からコンテンツデータを受信して処理するクライアント装置のセキュリティを上げることを図れる。
なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれかの効果であってもよい。
以下、図面を参照しながら、本開示の実施形態を説明する。
I.第1の実施形態
1.情報処理システムの概要
図1は、本開示の第1の実施形態に係る情報処理システムを示す。
情報処理システム1は、サーバー装置20と、クライアント装置10とを有する。サーバー装置20と、クライアント装置10とは、インターネット等のネットワークNを介して通信可能に接続される。
サーバー装置20は、本実施形態では、文書管理サーバー装置である。サーバー装置20は、コンテンツデータ(本実施形態では、印刷データ)をクライアント装置10にネットワークNを介して送信する。
クライアント装置10は、本実施形態では、MFP(Multifunction Peripheral)等の画像形成装置である。クライアント装置10は、コンテンツデータ(印刷データ)を、ネットワークNを介してサーバー装置20から受信し、出力(印刷)する。以下、クライアント装置10を画像形成装置10と称する。
2.画像形成装置のハードウェア構成
図2は、画像形成装置のハードウェア構成を示す。
画像形成装置10は、制御回路100を備える。制御回路100は、プロセッサーであるCPU11a(Central Processing Unit)、RAM11b(Random Access Memory)、メモリーであるROM11c(Read Only Memory)及び専用のハードウェア回路等から構成され、画像形成装置10の全体的な動作制御を司る。CPU11aは、ROM11cが記憶する情報処理プログラムをRAM11bにロードして実行する。ROM11cは、CPU11aが実行するプログラムやデータなどを固定的に記憶する。ROM11cは、非一過性のコンピューター読み取り可能な記録媒体の一例である。
制御回路100は、画像読取部12(イメージスキャナー)、画像処理部14(GPU(Graphics Processing Unit)を含む)、画像メモリー15、画像形成部16(プリンター)、表示部17aを備える操作部17(タッチパネル)、HDD(Hard Disk Drive)やSSD(Solid State Drive)等の大容量の不揮発性の記憶装置18、ファクシミリ通信部19及びネットワーク通信インターフェース13等と接続されている。制御回路100は、接続されている上記各部の動作制御や、各部との間での信号又はデータの送受信を行う。操作部17(タッチパネル)は、入力装置の一形態であり、入力装置として、マイクロフォンを含む音声入力装置が設けられてもよい。
3.サーバー装置のハードウェア構成
図3は、サーバー装置のハードウェア構成を示す。
サーバー装置20は、CPU21、ROM22、RAM23、記憶装置24、ネットワーク通信インターフェース25、操作装置26及び表示装置27と、これらを相互に接続するバス28とを有する。
CPU21、ROM22、及びRAM23は、制御回路200を構成する。CPU21は、ROM22が記憶する情報処理プログラムをRAM23にロードして実行する。ROM22は、CPU21が実行するプログラムやデータなどを固定的に記憶する。ROM22は、非一過性のコンピューター読み取り可能な記録媒体の一例である。
4.情報処理システムの機能的構成
図4は、情報処理システムの機能的構成を示す。
画像形成装置10の制御回路100において、CPU11aは、ROM11cが記憶する情報処理プログラムをRAM11bにロードして実行することにより、印刷経路設定管理部101、ノンス生成部102、データ受信部103、署名再現部104、署名検証部105及び印刷ジョブ制御部106として動作する。
サーバー装置20の制御回路200において、CPU21は、ROM22が記憶する情報処理プログラムをRAM23にロードして実行することにより、印刷要求取得部201、ノンス取得部202、署名生成部203及びデータ送信部204として動作する。
5.画像形成装置の動作フロー(印刷経路の無効化処理)
図5は、画像形成装置の動作フロー(印刷経路の無効化処理)を示す。
画像形成装置10の印刷経路設定管理部101は、サーバー装置20(文書管理サーバー装置)との連携機能(即ち、サーバー装置20から受信したデータを印刷する機能)が有効か否かを判断する(ステップS1)。印刷経路設定管理部101は、サーバー装置20との連携機能が有効であると判断すると、サーバー装置20以外から取得した印刷データを出力する機能を全て無効にする(ステップS1、YES)。
具体的には、印刷経路設定管理部101は、RAW印刷機能が有効であれば(ステップS2、YES)、RAWポートをクローズし(ステップS3)、FTP印刷機能が有効であれば(ステップS4、YES)、FTPポートをクローズし(ステップS5)、USBメモリー印刷機能が有効であれば(ステップS6、YES)、USBポートをクローズする(ステップS7)。印刷経路設定管理部101は、サーバー装置20との連携機能が有効である限り、サーバー装置20以外から取得した印刷データを出力する機能を全て無効になっているか監視し続ける(Loop)。
6.情報処理システムの動作フロー
図6は、情報処理システムの動作フローを示す。
図6の処理は、図5の処理の後に行われる。サーバー装置20の印刷要求取得部201は、画像形成装置10又は端末装置(パーソナルコンピューター、タブレットコンピューター、スマートフォン等。図示せず)から、印刷要求を受信する(ステップS201)。印刷要求は、サーバー装置20が記憶するコンテンツデータD11(以下、印刷データD11と称する)と、この印刷データD11を出力すべき画像形成装置10を指定する。印刷要求取得部201は、受信した印刷要求により指定される印刷データD11を、記憶装置24から読み出す(ステップS202)。
サーバー装置20の署名生成部203は、第1の鍵K1を記憶装置24から読み出す(ステップS203)。第1の鍵K1は、ハッシュ関数の共通鍵である。なお、受信した印刷要求により指定される画像形成装置10も、ハッシュ関数の共通鍵である第2の鍵K2を記憶している。ハッシュ関数の共通鍵である第1の鍵K1及び第2の鍵K2は、同じ値である。
サーバー装置20のノンス取得部202は、受信した印刷要求により指定される画像形成装置10に、ノンスを生成するための指示であるノンス生成指示を送信する(ステップS203)。ノンスは、リプレイ攻撃を防止するための固定長のランダムデータである。
画像形成装置10のノンス生成部102は、ノンス生成指示をサーバー装置20から受信する(ステップS101)。ノンス生成部102は、ノンスN1を生成し、RAM11bに記憶する(ステップS102)。ノンス生成部102は、ノンス生成指示に対するレスポンスとして、ノンスN1を、サーバー装置20に送信する(ステップS103)。
サーバー装置20のノンス取得部202は、ノンスN1を画像形成装置10から受信する。サーバー装置20の署名生成部203は、受信したノンスN1と、記憶装置24から読み出された印刷データD11(ステップS202)とを結合することにより、第1の結合印刷データD12を生成する(ステップS205)。署名生成部203は、第1の結合印刷データD12と、記憶装置24から読み出した第1の鍵K1(ステップS203)とを用いて第1の署名D13を生成する。具体的には、署名生成部203は、ハッシュ関数に第1の鍵K1(共通鍵)を入力することにより、第1の署名D13としてメッセージ認証コード(MAC)を生成する(ステップS206)。メッセージ認証コード(MAC)の一例として、HMAC(Hash-based Message Authentication Code)が挙げられる。
サーバー装置20の署名生成部203は、第1の署名D13(メッセージ認証コード)と印刷データD11とを結合することにより、第1の署名済み印刷データD14を生成する(ステップS207)。サーバー装置20のデータ送信部204は、第1の署名済み印刷データD14を、画像形成装置10に送信する(ステップS208)。
画像形成装置10のデータ受信部103は、第1の署名済み印刷データD14を、サーバー装置20から受信する(ステップS104)。
画像形成装置10の署名再現部104は、第1の署名済み印刷データD14を、第1の署名D13(メッセージ認証コード)と印刷データD11とに分割する(ステップS105)。署名再現部104は、生成し記憶したノンスN1(ステップS102)と、第1の署名済み印刷データD14から分割された印刷データD11(ステップS105)とを結合することにより、第2の結合印刷データD22を生成する(ステップS106)。署名再現部104は、第2の鍵K2(ハッシュ関数の共通鍵)を記憶装置18から読み出す(ステップS107)。署名再現部104は、第2の結合印刷データD22と、記憶装置18から読み出した第2の鍵K2とを用いて第2の署名D23を再現生成する。具体的には、署名再現部104は、ハッシュ関数に第2の鍵K2(共通鍵)を入力することにより、第2の署名D23としてメッセージ認証コード(HMAC)を生成する(ステップS108)。
画像形成装置10の署名検証部105は、再現生成した第2の署名D23(ステップS108)に基づき、サーバー装置20から受信した第1の署名済み印刷データD14から分割された第1の署名D13(ステップS105)を検証する。具体的には、署名検証部105は、第1の署名D13(メッセージ認証コード)と、第2の署名D23(メッセージ認証コード)とが一致するか否かを判断する(ステップS109)。上述のように、サーバー装置20が有する第1の鍵K1と、画像形成装置10が有する第2の鍵K2は、ハッシュ関数の共通鍵であり同じ値である。従って、サーバー装置20から受信した第1の署名済み印刷データD14が正当であれば(正当なサーバー装置から受信したデータであれば)、第1の署名D13と、第2の署名D23とが一致し、検証が成功する(ステップS109、YES)。
検証が成功すると(ステップS109、YES)、画像形成装置10の印刷ジョブ制御部106は、第1の署名済み印刷データD14から分割された印刷データD11(ステップS105)を印刷するための印刷ジョブを生成する(ステップS110)。印刷ジョブ制御部106は、生成した印刷ジョブを画像形成部16(プリンター)に出力して印刷させる(ステップS111)。
一方、第1の署名D13と第2の署名D23とが一致せず、検証が失敗した場合(ステップS109、NO)を説明する。画像形成装置10は、登録されるサーバー装置20の1台につき、1個の第2の鍵K2(共通鍵)を記憶している。即ち、画像形成装置10に複数のサーバー装置20が登録されていれば、画像形成装置10は、同じ数だけの(複数の)第2の鍵K2(共通鍵)を記憶している。
そこで、署名再現部104は、複数の第2の鍵K2(共通鍵)が記憶されている場合(ステップS112、NO)、複数の第2の鍵K2について、1個ずつ順に、第2の鍵K2を読み出し(ステップS107)、第2の鍵K2を用いて第2の署名D23を生成する(ステップS108)。署名検証部105が何れかの第2の署名D23に基づき第1の署名D13の検証に成功すれば(ステップS109、YES)、印刷ジョブ制御部106は、印刷ジョブを生成し(ステップS110)、印刷する(ステップS111)。しかしながら、署名検証部105が全ての第2の署名D23に基づき第1の署名D13の検証に成功しなければ(ステップS109、NO)、署名検証部105はエラーを記録し、印刷データD11は印刷されない(ステップS113)。エラーを記録することで、システム管理者が不正行為に気づき、対処することができる。「全ての第2の署名D23に基づき第1の署名D13の検証に成功しない場合(ステップS109、NO)」とは、要するに、第1の署名済み印刷データD14が、画像形成装置10に登録されていないサーバー装置から受信したものであった場合に限定される。これにより、画像形成装置10は、画像形成装置10に登録されているサーバー装置20が記憶する印刷データD11を印刷できるとともに、画像形成装置10に登録されていないサーバー装置からデータを受信しても印刷できないことになる。
II.第2の実施形態
以下の説明において、既に説明した構成及び動作と同様の構成及び動作は、同様又は類似の参照符号を付して説明及び図示を省略し、異なる点を中心に説明する。
第1の実施形態では、第1の鍵K1及び第2の鍵K2は、ハッシュ関数の共通鍵であり、第1の署名D13及び第2の署名D23は、メッセージ認証コード(HMAC)である。
これに対して、第2の実施形態では、第1の鍵K1は、公開鍵暗号の秘密鍵であり、第2の鍵K2は、公開鍵暗号の公開鍵である。第1の署名D13及び第2の署名D23は、暗号ダイジェスト(デジタル署名)である。公開鍵暗号の一例として、RSA暗号が挙げられる。
図7は、第2の実施形態に係る情報処理システムの機能的構成を示す。
図8は、第2の実施形態に係る情報処理システムの動作フローを示す。
サーバー装置20の署名生成部203は、第1の鍵K1を記憶装置24から読み出す(ステップS203)。第1の鍵K1は、RSA暗号の秘密鍵である。なお、受信した印刷要求により指定される画像形成装置10は、RSA暗号の公開鍵である第2の鍵K2を記憶している。
サーバー装置20の署名生成部203は、第1の結合印刷データD12(ステップS205)と、記憶装置24から読み出した第1の鍵K1(ステップS203)とを用いて第1の署名D13を生成する。具体的には、署名生成部203は、一方向ハッシュ関数(SHA等)を用いて、第1の結合印刷データD12から第1の署名を生成する。署名生成部203は、第1の鍵K1(RSA暗号の秘密鍵)を用いて、生成した第1の署名を暗号化することにより、暗号化した第1の署名D13として暗号ダイジェストを生成する(ステップS206)。
サーバー装置20の署名生成部203は、暗号化した第1の署名D13(暗号ダイジェスト)と印刷データD11とを結合することにより、第1の署名済み印刷データD14を生成する(ステップS207)。サーバー装置20のデータ送信部204は、第1の署名済み印刷データD14を、画像形成装置10に送信する(ステップS208)。
画像形成装置10のデータ受信部103は、第1の署名済み印刷データD14を、サーバー装置20から受信する(ステップS104)。
画像形成装置10の署名再現部104は、第1の署名済み印刷データD14を、暗号化した第1の署名D13(暗号ダイジェスト)と印刷データD11とに分割する(ステップS105)。署名再現部104は、生成し記憶したノンスN1(ステップS102)と、第1の署名済み印刷データD14から分割された印刷データD11(ステップS105)とを結合することにより、第2の結合印刷データD22を生成する(ステップS106)。署名再現部104は、第2の鍵K2(RSA暗号の公開鍵)を記憶装置18から読み出す(ステップS107)。署名再現部104は、第2の鍵K2(RSA暗号の公開鍵)を用いて、暗号化した第1の署名D13(暗号ダイジェスト)を復号することにより、第1のダイジェストD13'を生成する(ステップS107')。署名再現部104は、一方向ハッシュ関数(SHA等)を用いて、第2の結合印刷データD22から、第2の署名D23として第2のダイジェストD23を再現生成する(ステップS108)。
画像形成装置10の署名検証部105は、再現生成した第2の署名D23(第2のダイジェストD23)(ステップS108)に基づき、復号により得られた第1の署名D13(第1のダイジェストD13')(ステップS107')を検証する。具体的には、署名検証部105は、復号により得られた第1の署名D13(第1のダイジェストD13')と、第2の署名D23(第2のダイジェストD23)とが一致するか否かを判断する(ステップS109)。上述のように、サーバー装置20が有する第1の鍵K1はRSA暗号の秘密鍵であり、画像形成装置10が有する第2の鍵K2はRSA暗号の公開鍵である。従って、サーバー装置20から受信した第1の署名済み印刷データD14が正当であれば(正当なサーバー装置から受信したデータであれば)、第1の署名D13(第1のダイジェストD13')と、第2の署名D23(第2のダイジェストD23)とが一致し、検証が成功する(ステップS109、YES)。
III.第3の実施形態
第1の実施形態では、サーバー装置20は、印刷データD11の全体に基づき第1の署名済み印刷データD14を生成した。これに対して、第3の実施形態は、サーバー装置20は、印刷データD11を複数の印刷データブロックに分割した上で、第1の実施形態と同様に処理する。
図9は、第3の実施形態に係る情報処理システムの機能的構成を示す。
図10は、第3の実施形態に係る情報処理システムの動作フローを示す。
サーバー装置20の印刷要求取得部201は、記憶装置24から読み出した印刷データD11(ステップS202)を、複数に分割することにより、複数の印刷データブロックD11Bを生成する(ステップS202')。
サーバー装置20の署名生成部203は、複数の印刷データブロックD11B(ステップS202')から、1個目の印刷データブロックD11Bを選択する(ステップS205')。署名生成部203は、受信したノンスN1と、選択した印刷データブロックD11Bとを結合することにより、第1の結合印刷データブロックD12を生成する(ステップS205)。署名生成部203は、第1の結合印刷データブロックD12と、記憶装置24から読み出した第1の鍵K1(ステップS203)とを用いて第1の署名D13(メッセージ認証コード)を生成する(ステップS206)。
署名生成部203は、第1の署名D13(メッセージ認証コード)と印刷データブロックD11Bとを結合することにより、第1の署名済み印刷データブロックD14を生成する(ステップS207)。サーバー装置20のデータ送信部204は、第1の署名済み印刷データブロックD14を、画像形成装置10に送信する(ステップS208)。
署名生成部203は、複数の印刷データブロックD11Bの全てについて(ステップS209のLoop)、1個ずつ順に、第1の結合印刷データブロックD12を生成し(ステップS205)、第1の署名D13を生成し(ステップS206)、第1の署名済み印刷データブロックD14を生成し(ステップS207)、送信する(ステップS208)。
画像形成装置10のデータ受信部103は、複数の第1の署名済み印刷データブロックD14を、順に、サーバー装置20から受信する(ステップS104)。画像形成装置10は、複数の第1の署名済み印刷データブロックD14の全てについて、1個ずつ順に、以下の処理を行う。
画像形成装置10の署名再現部104は、第1の署名済み印刷データブロックD14を、第1の署名D13(メッセージ認証コード)と印刷データブロックD11Bとに分割する(ステップS105)。署名再現部104は、生成し記憶したノンスN1(ステップS102)と、第1の署名済み印刷データブロックD14から分割された印刷データブロックD11B(ステップS105)とを結合することにより、第2の結合印刷データブロックD22を生成する(ステップS106)。署名再現部104は、第2の鍵K2(ハッシュ関数の共通鍵)を記憶装置18から読み出す(ステップS107)。署名再現部104は、第2の結合印刷データブロックD22と、記憶装置18から読み出した第2の鍵K2とを用いて第2の署名D23を再現生成する。具体的には、署名再現部104は、ハッシュ関数に第2の鍵K2(共通鍵)を入力することにより、第2の署名D23としてメッセージ認証コード(HMAC)を生成する(ステップS108)。
画像形成装置10の署名検証部105は、再現生成した第2の署名D23(ステップS108)に基づき、サーバー装置20から受信した第1の署名済み印刷データブロックD14から分割された第1の署名D13(ステップS105)を検証する(ステップS109)。サーバー装置20から受信した第1の署名済み印刷データブロックD14が正当であれば(正当なサーバー装置から受信したデータであれば)、第1の署名D13と、第2の署名D23とが一致し、検証が成功する(ステップS109、YES)。
検証が成功すると(ステップS109、YES)、画像形成装置10の印刷ジョブ制御部106は、1個目(ステップS114、YES)の印刷データブロックD11B(ステップS105)を印刷するための印刷ジョブを生成する(ステップS110)。印刷ジョブ制御部106は、生成した印刷ジョブを画像形成部16(プリンター)に出力して印刷させる(ステップS111)。印刷ジョブ制御部106は、2個目以降(ステップS114、NO)の印刷データブロックD11Bも、画像形成部16(プリンター)に出力して印刷させる(ステップS111)。これにより、印刷ジョブ制御部106は、全ての印刷データブロックD11Bを印刷する。
IV.変形例
画像形成装置10は、第2の鍵K2を、ローカルに記憶してもよいし、外部のサーバー装置(図示せず)から必要時に取得してもよい。
第1の実施形態及び第2の実施形態の変形例として、サーバー装置20から画像形成装置10に送信する第1の署名済み印刷データD14は、暗号化されてもよい。具体的には、サーバー装置20は、第1の署名済み印刷データD14を暗号化し、暗号化した第1の署名済み印刷データD14を画像形成装置10に送信する(ステップS208)。画像形成装置10は、暗号化した第1の署名済み印刷データD14を、サーバー装置20から受信し(ステップS104)、暗号化した第1の署名済み印刷データD14を復号し、復号した第1の署名済み印刷データD14を、第1の署名D13と印刷データD11とに分割する(ステップS105)。
さらに、サーバー装置20は、第1の署名済み印刷データD14を圧縮してから、暗号化し、暗号化した第1の署名済み印刷データD14を画像形成装置10に送信してもよい(ステップS208)。画像形成装置10は、暗号化した第1の署名済み印刷データD14を、サーバー装置20から受信し(ステップS104)、暗号化した第1の署名済み印刷データD14を復号し、復号した第1の署名済み印刷データD14を、伸長してから、第1の署名D13と印刷データD11とに分割してもよい(ステップS105)。
第3の実施形態の変形例として、サーバー装置20から画像形成装置10に送信する第1の署名済み印刷データブロックD14は、暗号化されてもよい。全ての第1の署名済み印刷データブロックD14が暗号化されてもよいし、あるいは、少なくとも1個目の第1の署名済み印刷データブロックD14が暗号化されればよい。具体的には、サーバー装置20は、複数の第1の署名済み印刷データブロックD14のうち、少なくとも1個目の第1の署名済み印刷データブロックD14を暗号化し、暗号化した少なくとも1個目の第1の署名済み印刷データブロックD14を画像形成装置10に送信する(ステップS208)。画像形成装置10は、暗号化した少なくとも1個目の第1の署名済み印刷データブロックD14を含む、複数の第1の署名済み印刷データブロックD14を、サーバー装置20から受信し(ステップS104)、暗号化した少なくとも1個目の第1の署名済み印刷データブロックD14を復号し、復号した少なくとも1個目の第1の署名済み印刷データブロックD14を含む、複数の第1の署名済み印刷データブロックD14を、それぞれ、複数の第1の署名D13と複数の印刷データブロックとに分割する(ステップS105)。この場合も、サーバー装置20及び画像形成装置10は、第1の署名済み印刷データブロックD14を、圧縮後に暗号化し、復号後に伸長してもよい。
第3の実施形態の変形例として、サーバー装置20は、全ての印刷データブロックD11Bから第1の署名済み印刷データブロックD14を生成しなくてもよい。サーバー装置20は、少なくとも1個目のデータブロックD11Bから、少なくとも1個目の第1の署名済み印刷データブロックD14を生成すればよい。この場合、画像形成装置10は、少なくとも1個目の第1の署名済み印刷データブロックD14と、残りの印刷データブロックD11Bを受信し、少なくとも1個目の第1の署名済み印刷データブロックD14のみ検証する。検証に成功すれば、画像形成装置10は、全ての印刷データブロックD11Bを出力する。一方、検証に失敗すれば、画像形成装置10は、全ての印刷データブロックD11Bを出力しない。
サーバー装置20が、少なくとも1個目の第1の署名済み印刷データブロックD14を生成する場合の変形例を挙げる。サーバー装置20は、少なくとも1個目の第1の署名済みコンテンツデータブロックD14と、残りのコンテンツデータブロックとD11Bを、暗号化し、暗号化した少なくとも1個目の第1の署名済みコンテンツデータブロックD14と、暗号化した残りのコンテンツデータブロックD11Bとを、画像形成装置10に送信すればよい。画像形成装置10は、暗号化した少なくとも1個目の第1の署名済みコンテンツデータブロックD14と、暗号化した残りのコンテンツデータブロックD11Bとを、サーバー装置20から受信し、暗号化した少なくとも1個目の第1の署名済みコンテンツデータブロックD14と、暗号化した残りのコンテンツデータブロックD11Bとを、復号すればよい。
署名と暗号化を組み合わせるとき、必ずしもすべての印刷データブロックD11Bに署名をする必要はなく、例えば最初のブロックに暗号化に用いるセッション鍵を含めて署名し、それ以降のブロックはこのセッション鍵での暗号化のみを行うという方法をとることができる。この場合、2つ目以降のブロックは復号をするのみで良い。
V.結語
画像形成装置において暗号技術が様々な用途に利用されている。例えば、データ盗聴を防止するために、サーバー(又はパーソナルコンピューター)と画像形成装置間の通信経路を暗号化したり、画像形成装置内のHDDの盗難対策として、HDD内データを暗号化することが知られている。
公知の技術によれば、サーバー装置は、クライアント装置(画像形成装置)に対応する暗号鍵を保持し、暗号鍵を用いてデータを暗号化する。これにより、対応する復号鍵を持つクライアント装置(画像形成装置)だけがデータを印刷できる。しかしながら、この方法では、サーバー装置が管理する画像が不正に印刷されることを防止できるが、不正なサーバー装置や不正な端末が、画像形成装置にデータを送信すれば、画像形成装置はそのデータを印刷し得る。さらに、画像形成装置は、多数の印刷データ形式を受け付ける。このため、画像形成装置は、復号に失敗したことを正確に検知できないおそれがある。画像形成装置が復号の失敗を検知できず、印刷データとして受理すると、画像形成装置はこのデータをランダムデータとして印刷する。その結果、画像形成装置は、紙やトナーを無駄に消費する。
別の公知の技術によれば、公開鍵暗号を用い、ドキュメントサーバー装置、クライアント装置、画像形成装置を相互に認証する。しかしながら、例えば、仮に、不正なサーバー装置が、正当な公開鍵証明書を有する場合には、不正なサーバー装置が画像形成装置にアクセスするおそれがある。また、不正なサーバー装置や端末装置が、画像形成装置の有する複数の印刷経路のうちの1つを介して、画像形成装置にアクセスするおそれがある。
別の公知の技術によれば、画像形成装置は、認証サーバー装置から得た情報をもとに、印刷を禁止する。しかしながら、この方法でも、上記問題に加えて、リプレイ攻撃に対し脆弱である、という問題もある。
従来技術の多くは、公開鍵暗号を用いて安全性を保とうとしているが、現在のように多数の動的に増減するサーバー装置を用いてシステムを構成する環境で、かつ公開鍵証明書の有効期限が短く設定される状況では公開鍵証明書の管理が複雑になるという問題もある。
セキュリティ向上やコスト管理を目的として、認証機能付き文書管理サーバー装置を導入し、これと画像形成装置を連携させる場合がある。連携させると、ユーザーは次のようにして印刷を行うことになる。まず、(a)ユーザーは印刷データを文書管理サーバー装置に登録する。その後ユーザーは画像形成装置に向かい、(b)画像形成装置上で自身の認証を行う。(c)認証に成功した場合、画像形成装置は文書管理サーバー装置から印刷データを取得する。(d)画像形成装置は取得した印刷データを印刷する。
公知の技術を用いると、(a)、(b)及び(c)の通信を通信経路の暗号化で守り、盗聴を防止することを図れる。(c)で取得したデータをHDDに保存し、かつHDDを暗号化していた場合、HDDが盗難されても安全である。不正なユーザーによる印刷は(b)での認証によって防止される。上記の各公知技術を用いると、不正に追加された画像形成装置で印刷されることを防ぐことを図れる。
しかしながら、これらの従来技術を利用しても、正当な文書管理サーバー装置を迂回した印刷を、防ぐことは難しい。例えば不正なサーバー装置から画像形成装置に印刷データを直接送信し、印刷させることは可能である。
以上のような事情に鑑み、正当なサーバー装置を迂回した印刷を防止することが望ましい。
そこで、本実施形態では、サーバー装置20との連携機能が有効になっている間、画像形成装置10のサポートしている複数の印刷経路(例えば、RAW印刷、FTP印刷、USBメモリーからの印刷)を無効にすることで、サーバー装置20を介さない印刷を無効にする。さらに、本実施形態では、印刷データへの署名とその検証により、不正なサーバー装置20から印刷データを入手したり、改ざんされたりすることを防げる。署名とは公知の暗号技術であるHMACで生成したメッセージ認証コード(第1の実施形態)や、RSAを用いて生成したデジタル署名(第3の実施形態)である。
画像形成装置10は、サーバー装置20の認証情報である第2の鍵K2を用いて署名の検証を行う。このため、署名が公開鍵暗号を用いたものであっても、画像形成装置10は、不正なサーバー装置20のもつ正当な公開鍵暗号を受け入れることが無い。認証情報となる第2の鍵K2は、メッセージ認証コードの場合は共通鍵(第1の実施形態)、デジタル署名の場合は公開鍵証明書(第2の実施形態)である。画像形成装置10や認証情報管理サーバー装置は受け入れるべき認証情報の一覧を持っている。
サーバー装置20は、不正防止用データ(ノンスN1)を画像形成装置10から取得し、ノンスN1に基づき第1の署名D13を生成する。これにより、リプレイ攻撃を防ぐことができる。
サーバー装置20が負荷量に応じて増減する場合、署名にメッセージ認証コードを利用すれば(第1の実施形態)、認証情報の数を減らせる。このため、画像形成装置10が複数のサーバー装置20を容易に管理できる。言い換えれば、複数のサーバー装置20に共通の共通鍵を設定する場合、画像形成装置10は、1個の共通の第2の鍵K2を保持するだけでよい。一方、署名にデジタル署名(公開鍵暗号)を利用する場合には(第2の実施形態)、認証情報管理サーバー装置(図示せず)を経由すれば、画像形成装置10が複数のサーバー装置20を容易に管理できる。言い換えれば、サーバー装置20が増減するたびに、全ての画像形成装置10の認証情報リストを更新する必要がなくなる。
印刷データD11を分割したうえで署名することにより(第3の実施形態)、印刷開始までの時間を短縮できる。特に印刷データが大きいとき、全ての印刷データD11を受信した上で署名の検証をしなくてよいためである。検証が終わった印刷データブロックD11Bから印刷を始めることで、ユーザーの体感的な遅延を減らすことができる。
本実施形態によれば、画像形成装置10は、サポートしている複数の印刷経路(RAWやFTP印刷など)を無効する。さらに、印刷データを保持しているサーバー装置20が暗号技術で印刷データに署名を施し、印刷する側である画像形成装置10がこの署名を検証し、成功すれば印刷データを印刷する。これにより、画像形成装置10は、認められたサーバー装置20から取得した印刷データのみを印刷し、対象外のサーバー装置や端末装置から得た印刷データの印刷を拒否することができる。これにより、サーバー装置20を迂回した印刷を防止できる。
本技術の各実施形態及び各変形例について上に説明したが、本技術は上述の実施形態にのみ限定されるものではなく、本技術の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
情報処理システム1
画像形成装置10
サーバー装置20
印刷経路設定管理部101
ノンス生成部102
データ受信部103
署名再現部104
署名検証部105
印刷ジョブ制御部106
印刷要求取得部201
ノンス取得部202
署名生成部203
データ送信部204
画像形成装置10
サーバー装置20
印刷経路設定管理部101
ノンス生成部102
データ受信部103
署名再現部104
署名検証部105
印刷ジョブ制御部106
印刷要求取得部201
ノンス取得部202
署名生成部203
データ送信部204
Claims (9)
- サーバー装置と、
前記サーバー装置とネットワークを介して通信可能に接続されたクライアント装置と
を具備し、
前記サーバー装置は、第1の鍵と、前記クライアント装置に供給すべきコンテンツデータとを記憶する記憶装置を有し、
前記クライアント装置は、前記第1の鍵に対応する第2の鍵を記憶する記憶装置を有し、
前記クライアント装置は、
前記サーバー装置以外から取得したコンテンツデータを出力する機能を無効にしてから、
ノンスを生成し、
前記ノンスを、前記サーバー装置に送信し、
前記サーバー装置は、
前記ノンスを、前記クライアント装置から受信し、
受信した前記ノンスと前記コンテンツデータとを結合することにより、第1の結合コンテンツデータを生成し、
前記第1の結合コンテンツデータ及び前記第1の鍵を用いて第1の署名を生成し、
前記第1の署名と前記コンテンツデータとを結合することにより、第1の署名済みコンテンツデータを生成し、
前記第1の署名済みコンテンツデータを、前記クライアント装置に送信し、
前記クライアント装置は、
前記第1の署名済みコンテンツデータを、前記サーバー装置から受信し、
前記第1の署名済みコンテンツデータを、前記第1の署名と前記コンテンツデータとに分割し、
生成した前記ノンスと前記コンテンツデータとを結合することにより、第2の結合コンテンツデータを生成し、
前記第2の結合コンテンツデータ及び前記第2の鍵を用いて第2の署名を生成し、
前記第2の署名に基づき前記第1の署名の検証に成功すると、前記コンテンツデータを出力する
情報処理システム。 - 請求項1に記載の情報処理システムであって、
前記コンテンツデータは、印刷データであり、
前記クライアント装置は、画像形成装置であり、
前記クライアント装置は、前記サーバー装置以外から取得した印刷データを出力する機能を無効にしてから、前記ノンスを生成及び送信する
情報処理システム。 - 請求項1又は2に記載の情報処理システムであって、
前記第1の鍵及び前記第2の鍵は、ハッシュ関数の共通鍵であり、
前記サーバー装置及び前記クライアント装置は、前記ハッシュ関数に前記共通鍵を入力することにより、前記第1の署名及び前記第2の署名としてメッセージ認証コード(MAC、Message Authentication Code)を生成し、
前記クライアント装置は、前記第1の署名である前記メッセージ認証コードと、前記第2の署名である前記メッセージ認証コードとが一致すると、検証に成功したとして、前記コンテンツデータを出力する
情報処理システム。 - 請求項1又は2に記載の情報処理システムであって、
前記第1の鍵は、公開鍵暗号の秘密鍵であり、
前記第2の鍵は、前記公開鍵暗号の公開鍵であり、
前記サーバー装置は、
前記第1の結合コンテンツデータから、前記第1の署名である第1のダイジェストを生成し、
前記第1の鍵である前記秘密鍵を用いて前記第1のダイジェストを暗号化することにより、暗号化した前記第1の署名である暗号ダイジェストを生成し、
前記クライアント装置は、
前記第1の署名済みコンテンツデータを、前記暗号化した第1の署名である前記暗号ダイジェストと前記コンテンツデータとに分割し、
生成した前記ノンスと前記コンテンツデータとを結合することにより、第2の結合コンテンツデータを生成し、
前記第2の鍵である前記公開鍵を用いて前記暗号ダイジェストを復号することにより、前記第1の署名である第1のダイジェストを生成し、
前記第2の結合コンテンツデータから、前記第2の署名である第2のダイジェストを生成し、
前記第1の署名である前記第1のダイジェストと、前記第2の署名である前記第2のダイジェストとが一致すると、検証に成功したとして、前記コンテンツデータを出力する
情報処理システム。 - 請求項1乃至4の何れか一項に記載の情報処理システムであって、
前記サーバー装置は、
前記第1の署名済みコンテンツデータを暗号化し、
暗号化した前記第1の署名済みコンテンツデータを前記クライアント装置に送信し、
前記クライアント装置は、
前記暗号化した第1の署名済みコンテンツデータを、前記サーバー装置から受信し、
前記暗号化した第1の署名済みコンテンツデータを復号し、
復号した前記第1の署名済みコンテンツデータを、前記第1の署名と前記コンテンツデータとに分割する
情報処理システム。 - 請求項1乃至4の何れか一項に記載の情報処理システムであって、
前記サーバー装置は、
前記コンテンツデータを複数に分割することにより、複数のコンテンツデータブロックを生成し、
受信した前記ノンスと前記複数のコンテンツデータブロックのうち少なくとも1個目のコンテンツデータブロックとを結合することにより、少なくとも1個目の第1の結合コンテンツデータブロックを生成し、
前記少なくとも1個目の第1の結合コンテンツデータブロック及び前記第1の鍵を用いて少なくとも1個目の第1の署名を生成し、
前記少なくとも1個目の第1の署名と前記少なくとも1個目のコンテンツデータブロックとを結合することにより、少なくとも1個目の第1の署名済みコンテンツデータブロックを生成し、
前記少なくとも1個目の第1の署名済みコンテンツデータブロックと、前記複数のコンテンツデータブロックのうち残りのコンテンツデータブロックとを、前記クライアント装置に送信し、
前記クライアント装置は、
前記少なくとも1個目の第1の署名済みコンテンツデータブロックと、前記残りのコンテンツデータブロックとを、前記サーバー装置から受信し、
前記少なくとも1個目の第1の署名済みコンテンツデータブロックを、前記少なくとも1個目の第1の署名と前記少なくとも1個目のコンテンツデータブロックとに分割し、
生成した前記ノンスと前記少なくとも1個目のコンテンツデータブロックとを結合することにより、少なくとも1個目の第2の結合コンテンツデータブロックを生成し、
前記少なくとも1個目の第2の結合コンテンツデータブロック及び前記第2の鍵を用いて少なくとも1個目の第2の署名を生成し、
前記少なくとも1個目の第2の署名に基づき前記少なくとも1個目の第1の署名の検証に成功すると、前記複数のコンテンツデータブロックを出力する
情報処理システム。 - 請求項6に記載の情報処理システムであって、
前記サーバー装置は、
前記少なくとも1個目の第1の署名済みコンテンツデータブロックと、前記残りのコンテンツデータブロックとを、暗号化し、
暗号化した前記少なくとも1個目の第1の署名済みコンテンツデータブロックと、暗号化した前記残りのコンテンツデータブロックとを、前記クライアント装置に送信し、
前記クライアント装置は、
前記暗号化した少なくとも1個目の第1の署名済みコンテンツデータブロックと、前記暗号化した残りのコンテンツデータブロックとを、前記サーバー装置から受信し、
前記暗号化した少なくとも1個目の第1の署名済みコンテンツデータブロックと、前記暗号化した残りのコンテンツデータブロックとを、復号する
情報処理システム。 - サーバー装置と、
前記サーバー装置とネットワークを介して通信可能に接続されたクライアント装置と
を有する情報処理システムの、前記サーバー装置であって、
前記サーバー装置は、第1の鍵と、前記クライアント装置に供給すべきコンテンツデータとを記憶する記憶装置を有し、
前記クライアント装置は、前記第1の鍵に対応する第2の鍵を記憶する記憶装置を有し、
前記クライアント装置は、
前記サーバー装置以外から取得したコンテンツデータを出力する機能を無効にしてから、
ノンスを生成し、
前記ノンスを、前記サーバー装置に送信し、
前記サーバー装置は、
前記ノンスを、前記クライアント装置から受信し、
受信した前記ノンスと前記コンテンツデータとを結合することにより、第1の結合コンテンツデータを生成し、
前記第1の結合コンテンツデータ及び前記第1の鍵を用いて第1の署名を生成し、
前記第1の署名と前記コンテンツデータとを結合することにより、第1の署名済みコンテンツデータを生成し、
前記第1の署名済みコンテンツデータを、前記クライアント装置に送信し、
前記クライアント装置は、
前記第1の署名済みコンテンツデータを、前記サーバー装置から受信し、
前記第1の署名済みコンテンツデータを、前記第1の署名と前記コンテンツデータとに分割し、
生成した前記ノンスと前記コンテンツデータとを結合することにより、第2の結合コンテンツデータを生成し、
前記第2の結合コンテンツデータ及び前記第2の鍵を用いて第2の署名を生成し、
前記第2の署名に基づき前記第1の署名の検証に成功すると、前記コンテンツデータを出力する
サーバー装置。 - サーバー装置と、
前記サーバー装置とネットワークを介して通信可能に接続されたクライアント装置と
を有する情報処理システムの、前記クライアント装置であって、
前記サーバー装置は、第1の鍵と、前記クライアント装置に供給すべきコンテンツデータとを記憶する記憶装置を有し、
前記クライアント装置は、前記第1の鍵に対応する第2の鍵を記憶する記憶装置を有し、
前記クライアント装置は、
前記サーバー装置以外から取得したコンテンツデータを出力する機能を無効にしてから、
ノンスを生成し、
前記ノンスを、前記サーバー装置に送信し、
前記サーバー装置は、
前記ノンスを、前記クライアント装置から受信し、
受信した前記ノンスと前記コンテンツデータとを結合することにより、第1の結合コンテンツデータを生成し、
前記第1の結合コンテンツデータ及び前記第1の鍵を用いて第1の署名を生成し、
前記第1の署名と前記コンテンツデータとを結合することにより、第1の署名済みコンテンツデータを生成し、
前記第1の署名済みコンテンツデータを、前記クライアント装置に送信し、
前記クライアント装置は、
前記第1の署名済みコンテンツデータを、前記サーバー装置から受信し、
前記第1の署名済みコンテンツデータを、前記第1の署名と前記コンテンツデータとに分割し、
生成した前記ノンスと前記コンテンツデータとを結合することにより、第2の結合コンテンツデータを生成し、
前記第2の結合コンテンツデータ及び前記第2の鍵を用いて第2の署名を生成し、
前記第2の署名に基づき前記第1の署名の検証に成功すると、前記コンテンツデータを出力する
クライアント装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020097840A JP2021190964A (ja) | 2020-06-04 | 2020-06-04 | 情報処理システム、サーバー装置及びクライアント装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020097840A JP2021190964A (ja) | 2020-06-04 | 2020-06-04 | 情報処理システム、サーバー装置及びクライアント装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2021190964A true JP2021190964A (ja) | 2021-12-13 |
Family
ID=78847708
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020097840A Pending JP2021190964A (ja) | 2020-06-04 | 2020-06-04 | 情報処理システム、サーバー装置及びクライアント装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2021190964A (ja) |
-
2020
- 2020-06-04 JP JP2020097840A patent/JP2021190964A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8935528B2 (en) | Techniques for ensuring authentication and integrity of communications | |
US7353393B2 (en) | Authentication receipt | |
US7587045B2 (en) | System and method for securing document transmittal | |
CN110690956B (zh) | 双向认证方法及***、服务器和终端 | |
CN110868291B (zh) | 一种数据加密传输方法、装置、***及存储介质 | |
JP2009277184A (ja) | Icカード、icカードシステムおよびその方法 | |
US8817977B2 (en) | Method for generating a digital signature | |
JP2014174560A (ja) | 情報処理装置及びサーバとその制御方法、プログラム及び記憶媒体 | |
KR102578428B1 (ko) | 생체 인식 템플릿 보호 키 업데이트 | |
CN112565205B (zh) | 可信认证和度量方法、服务器、终端及可读存储介质 | |
JP6627043B2 (ja) | Ssl通信システム、クライアント、サーバ、ssl通信方法、コンピュータプログラム | |
JP6751545B1 (ja) | 電子署名システム及び耐タンパ装置 | |
CN111740995B (zh) | 一种授权认证方法及相关装置 | |
WO2021111824A1 (ja) | 電子署名システム及び耐タンパ装置 | |
JP2022521525A (ja) | データを検証するための暗号方法 | |
KR20000006633A (ko) | 개인키 및 사용자 인증서 관리 시스템 및 그 관리 방법 | |
US8250661B2 (en) | Image processing apparatus, information processing apparatus, and methods thereof | |
JP2014022920A (ja) | 電子署名システム、電子署名方法および電子署名プログラム | |
JP2021111925A (ja) | 電子署名システム | |
JP5296220B2 (ja) | 署名データサーバ及びユーザ端末 | |
KR101933090B1 (ko) | 전자 서명 제공 방법 및 그 서버 | |
JP2008124987A (ja) | 暗号通信装置及び暗号通信システム及び暗号通信方法及びプログラム | |
JP2021190964A (ja) | 情報処理システム、サーバー装置及びクライアント装置 | |
CN108985079B (zh) | 数据验证方法和验证*** | |
WO2009153846A1 (ja) | 認証システム、登録装置および認証装置 |