IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社リコーの特許一覧

特許7155553情報処理装置、情報処理システム、情報処理方法およびプログラム
<>
  • 特許-情報処理装置、情報処理システム、情報処理方法およびプログラム 図1
  • 特許-情報処理装置、情報処理システム、情報処理方法およびプログラム 図2
  • 特許-情報処理装置、情報処理システム、情報処理方法およびプログラム 図3
  • 特許-情報処理装置、情報処理システム、情報処理方法およびプログラム 図4
  • 特許-情報処理装置、情報処理システム、情報処理方法およびプログラム 図5
  • 特許-情報処理装置、情報処理システム、情報処理方法およびプログラム 図6
  • 特許-情報処理装置、情報処理システム、情報処理方法およびプログラム 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-10-11
(45)【発行日】2022-10-19
(54)【発明の名称】情報処理装置、情報処理システム、情報処理方法およびプログラム
(51)【国際特許分類】
   H04N 1/00 20060101AFI20221012BHJP
【FI】
H04N1/00 838
【請求項の数】 7
(21)【出願番号】P 2018047334
(22)【出願日】2018-03-14
(65)【公開番号】P2019161514
(43)【公開日】2019-09-19
【審査請求日】2020-12-11
(73)【特許権者】
【識別番号】000006747
【氏名又は名称】株式会社リコー
(74)【代理人】
【識別番号】100089118
【弁理士】
【氏名又は名称】酒井 宏明
(72)【発明者】
【氏名】木村 鷹之
【審査官】花田 尚樹
(56)【参考文献】
【文献】特開2004-151897(JP,A)
【文献】特開2007-028072(JP,A)
【文献】特開2004-151896(JP,A)
【文献】特開2010-093469(JP,A)
【文献】特開2010-074736(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 1/00
G09C 1/00 - 5/00
H04K 1/00 - 3/00
H04L 9/00 - 9/04
(57)【特許請求の範囲】
【請求項1】
機密情報を保持したICカードを用いて、情報処理装置にログインするログイン手段と、
前記ICカードに対して、電子化された署名対象データを送信する署名対象データ送信手段と、
前記ICカードに、当該ICカードの内部において、受信した前記署名対象データに対して、前記機密情報に基づく電子的な署名を行わせる署名指示手段と、
前記ICカードから、署名済データを取得する取得手段と、
前記情報処理装置に対するログアウトの指示を取得した際に、前記署名が終了したことを条件として、前記情報処理装置からログアウトするログアウト手段と、
を備える情報処理装置。
【請求項2】
前記取得手段が取得した前記署名済データを受け取って、ユーザが指定したワークフローに沿って処理するワークフロー処理手段を、更に備える、
請求項1に記載の情報処理装置。
【請求項3】
前記ワークフロー処理手段が処理した前記署名済データの配信を行う配信手段を、更に備える、
請求項2に記載の情報処理装置。
【請求項4】
前記ログアウト手段は、前記情報処理装置に対するログアウトの指示を取得した際に、前記署名を行っている場合は、前記署名を中断して、前記情報処理装置からログアウトする、
請求項1から請求項3のいずれか1項に記載の情報処理装置。
【請求項5】
機密情報を保持するICカードと、当該ICカードを用いてログインする情報処理装置と、を備える情報処理システムであって、
前記情報処理装置は、前記ICカードを用いて前記情報処理装置にログインするログイン手段と、前記ICカードに対して、電子化された署名対象データを送信する署名対象データ送信手段と、前記ICカードに、当該ICカードの内部において、受信した前記署名対象データに対して、前記機密情報に基づく電子的な署名を行わせる署名指示手段と、前記ICカードから、署名済データを取得する取得手段と、前記情報処理装置に対するログアウトの指示を取得した際に、前記署名が終了したことを条件として、前記情報処理装置からログアウトするログアウト手段と
を備える情報処理システム。
【請求項6】
機密情報を保持したICカードを用いて、情報処理装置にログインするログインステップと、
前記ICカードに対して、電子化された署名対象データを送信する送信ステップと、
前記ICカードに、当該ICカードの内部において、受信した前記署名対象データに対して、前記機密情報に基づく電子的な署名を行わせる署名指示ステップと、
前記ICカードから、署名済データを取得する取得ステップと、
前記署名が終了したことを条件として、前記情報処理装置からログアウトするログアウトステップと、
を含む情報処理方法。
【請求項7】
請求項1から請求項3のいずれか1項に記載の情報処理装置を制御するコンピュータに、
機密情報を保持したICカードを用いて、情報処理装置にログインするログインステップと、
前記ICカードに対して、電子化された署名対象データを送信する署名対象データ送信手段と、
前記ICカードに、当該ICカードの内部において、受信した前記署名対象データに対して、前記機密情報に基づく電子的な署名を行わせる署名指示手段と、
前記ICカードから、署名済データを取得する取得手段と、
前記署名が終了したことを条件として、前記情報処理装置からログアウトするログアウト手段と、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理システム、情報処理方法およびプログラムに関する。
【背景技術】
【0002】
MFP(Multi-Functional Printer)でスキャンされた文書を配信するシステムがある。このシステムを用いることで、スキャンによって生成された電子データ(以下、単に電子データと呼ぶ)に対して画像処理を施して、予め決めたルールに従って指定の配信先に配信することができる。電子データに対する処理は、ワークフローによって定義されており、ワークフローには様々な組み合わせの内部処理方法を指定することが可能である。用途に応じたワークフローを定義することにより、利用者の目的に沿った処理を、電子データに施すことができる。昨今では、電子データの非改竄性を証明するために、電子データに対して暗号化による電子署名を行う技術が広く利用されており、電子データ作成時、もしくはワークフロー内で電子データに対して署名を行う事が可能である。
【発明の概要】
【発明が解決しようとする課題】
【0003】
例えば、特許文献1のジョブ処理制御装置では、複合機内に署名データを生成する回路を備え、ICカードが保持しているユーザの秘密鍵に基づいて、ICカード内で生成した電子署名データを、署名対象である電子化された文書データを生成する複合機内で、文書データに付加させている。したがって、ICカードから複合機に、付加される前の電子署名データが渡されるため、当該電子署名データが、複合機から外部に流出するリスクがあった。
【0004】
本発明は、上記に鑑みてなされたものであり、電子署名を施すデータを生成する機器に対して、電子署名データを渡すことなく電子署名を行うことを目的とする。
【課題を解決するための手段】
【0005】
前記した課題を解決し、目的を達成するために、本発明の情報処理装置は、機密情報を保持したICカードを用いて、情報処理装置にログインするログイン手段と、前記ICカードに対して、電子化された署名対象データを送信する送信手段と、前記ICカードに、当該ICカードの内部において、受信した前記署名対象データに対して、前記機密情報に基づく電子的な署名を行わせる署名指示手段と、前記ICカードから、署名済データを取得する取得手段と、前記署名が終了したことを条件として、前記情報処理装置からログアウトするログアウト手段と、を備える。
【発明の効果】
【0006】
本発明によれば、電子署名装置(例えば、ICカード)の内部において署名対象データに対する電子的な署名が行われるため、署名対象データを生成する情報処理装置に対して電子署名データを渡すことなく電子署名を行うことが可能となる。したがって、電子署名を行う際の安全性を向上させることができる。
【図面の簡単な説明】
【0007】
図1図1は、本実施形態に係る情報処理システムの概略構成の一例を示すブロック図である。
図2図2は、情報処理システムのハードウェア構成の一例を示す第1のハードウェアブロック図である。
図3図3は、情報処理システムのハードウェア構成の一例を示す第2のハードウェアブロック図である。
図4図4は、電子署名の付与および検証の流れについて説明する図である。
図5図5は、情報処理システムの機能構成の一例を示す機能ブロック図である。
図6図6は、本実施形態に係る情報処理システムの内部におけるメッセージの流れの一例を示すシーケンス図である。
図7図7は、実施形態に係る情報処理システムにおいて、MFP、ICカードおよびワークフローサーバが行う処理の流れの一例を示すフローチャートである。
【発明を実施するための形態】
【0008】
以下、添付図面を参照して、本発明の実施形態について説明する。
【0009】
(情報処理システムの概略構成の説明)
以下、添付図面を参照しながら、本発明に係る情報処理装置、情報処理システム、情報処理方法およびプログラムの実施形態を詳細に説明する。なお、情報処理装置の一例として、複合機(MFP)を例に挙げて説明するが、これに限定されるものではなく、情報処理装置は、例えば、PC(Personal Computer)等であってもよい。
【0010】
図1は、本実施形態に係る情報処理システム1の概略構成の一例を示すブロック図である。図1に示すように、情報処理システム1は、MFP10と、ユーザが所持するICカード40と、ICカード40に対して情報の読み書きを行うカードリーダー50と、MFP10とネットワークNを介して接続される、ワークフローサーバ60と配信先サーバ70と、を備える。なお、一般的に、配信先サーバ70は複数台が備えられるが、以後の説明では、情報処理システム1は、1台の配信先サーバ70を備えるものとする。
【0011】
MFP10は、例えば、コピー機能、スキャナ機能、プリンタ機能、ファクス機能等の複数の機能のうち、少なくとも2つの機能を有する複合機であるが、本実施形態のMFP10は、少なくともスキャナ機能を利用する。なお、MFP10は、情報処理装置の一例である。
【0012】
すなわち、MFP10は、スキャナ100と、操作部200とを備える。スキャナ100は、原稿を読み取って、ユーザによって指定された形式の電子データを生成する。操作部200は、ユーザの操作を受け付ける。
【0013】
カードリーダー50は、MFP10と、例えばUSB(Universal Serial Bus)ケーブルで接続されて、ユーザが所持するICカード40に対して、情報の読み書きを行う。また、カードリーダー50は、MFP10が生成した電子データ、すなわち、電子署名を行う対象となる署名対象電子データD1を、ICカード40に送信する際のインタフェースとして機能する。なお、カードリーダー50とMFP10とは、一体型の構成であってもよい。
【0014】
ICカード40は、カードリーダー50と、例えば無線通信で接続されて、カードリーダー50を介して、MFP10から署名対象電子データD1を受け取る。また、ICカード40は、受け取った署名対象電子データD1に電子署名を行って、署名済電子データD2を生成する。さらに、ICカード40は、署名済電子データD2を、カードリーダー50を介して、MFP10に返信する。
【0015】
ワークフローサーバ60は、MFP10からネットワークNを介して送信された署名済電子データD2に対して、予め決められたワークフローで定義された中間処理を行い、配信電子データD3を生成する。なお、中間処理とは、例えば、画像補正、画像変換、PDF(Portable Document Format)変換、OCR(Optical Character Recognition)処理等の定型化された処理である。また、本実施形態でワークフローサーバ60が実行可能な中間処理は、例えば書誌情報の付与等、署名済電子データD2の内容に影響を与えないものに限られる。また、ワークフローサーバ60は、配信電子データD3を、配信先サーバ70に配信する配信処理を行う。
【0016】
配信先サーバ70は、配信電子データD3を、ワークフローサーバ60から受信する。また、配信先サーバ70は、配信電子データD3に施された電子署名が正しいかを検証する。さらに、配信先サーバ70は、配信電子データD3になされている電子署名が正しい場合に、配信電子データD3をユーザに閲覧させる。また、配信先サーバ70は、配信電子データD3に施された電子署名を検証するための公開鍵を有する。なお、ICカード40が行う電子署名の付与と、配信先サーバ70が行う電子署名の検証について、詳しくは後述する(図4参照)。
【0017】
(情報処理システムのハードウェア構成の説明)
次に、図2図3を用いて、情報処理システム1のハードウェア構成について説明する。図2は、情報処理システム1のハードウェア構成の一例を示す第1のハードウェアブロック図である。また、図3は、情報処理システム1のハードウェア構成の一例を示す第2のハードウェアブロック図である。
【0018】
図2に示すように、MFP10のスキャナ100と操作部200とは、専用の通信路30で接続されている。通信路30は、例えばUSB(Universal Serial Bus)規格のものを用いることができるが、有線か無線かを問わず、任意の規格のものであってよい。なお、本実施形態のMFP10は、スキャナ機能を利用するため、ハードウェアの構成要素としてスキャナ100のみを記載したが、MFP10は、実際には、プリンタ、コピー、ファクス等の機能を実現するためのハードウェアも備えている。
【0019】
スキャナ100は、操作部200が受け付けた操作に応じて、MFP10にセットされた原稿を読み取るスキャン動作を行う。また、スキャナ100は、通信I/F15を介して、クライアントPC(パーソナルコンピュータ)等の外部機器と通信可能であり、外部機器から受信した指示に応じた動作を行うこともできる。
【0020】
まず、スキャナ100のハードウェア構成について説明する。図2に示すように、スキャナ100は、CPU(Central Processing Unit)11と、ROM(Read Only Memory)12と、RAM(Random Access Memory)13と、HDD(Hard Disk Drive)14と、通信I/F15と、接続I/F(Interface)16と、スキャナエンジン17とを備え、これらがシステムバス18を介して相互に接続されている。
【0021】
CPU11は、スキャナ100の動作を統括的に制御する。すなわち、CPU11は、RAM13をワークエリア(作業領域)として、ROM12またはHDD14等に格納された制御プログラムを実行することで、スキャナ100全体の動作を制御し、スキャナ機能を実現する。
【0022】
通信I/F15は、例えばインターネット等のネットワークNと接続するためのインタフェースである。スキャナ100は、通信I/F15を介して、クライアントPC等の外部装置と接続される。接続I/F16は、通信路30を介して操作部200と通信するためのインタフェースである。
【0023】
スキャナエンジン17は、スキャナ機能を実現させるための、汎用的な情報処理及び通信以外の処理を行うハードウェアである。
【0024】
次に、操作部200のハードウェア構成について説明する。図2に示すように、操作部200は、CPU21と、ROM22と、RAM23と、フラッシュメモリ24と、通信I/F25と、接続I/F26と、操作パネル27と、外部接続I/F28とを備え、これらがシステムバス29を介して相互に接続されている。
【0025】
CPU21は、操作部200の動作を統括的に制御する。すなわち、CPU21は、RAM23をワークエリアとして、ROM22またはフラッシュメモリ24等に格納された制御プログラムを実行することで、操作部200全体の動作を制御する。そして、CPU21は、ユーザから受け付けた入力に応じて、情報(画像)の表示等の各種機能を実現する。
【0026】
通信I/F25は、例えばインターネット等のネットワークNと接続するためのインタフェースである。特に、本実施形態において、操作部200は、ネットワークNを介して、ワークフローサーバ60と接続される。また、接続I/F26は、通信路30を介して、スキャナ100と通信するためのインタフェースである。
【0027】
操作パネル27は、ユーザの操作に応じた各種の入力を受け付けるとともに、各種の情報(例えば受け付けた操作に応じた情報、MFP10の動作状況を示す情報、設定状態などを示す情報等)を表示する。本実施形態では、操作パネル27は、タッチパネル機能を搭載した液晶表示装置(LCD)で構成されるが、これに限られるものではない。例えばタッチパネル機能が搭載された有機EL表示装置で構成されてもよい。
【0028】
外部接続I/F28は、操作部200と周辺機器とを接続するためのインタフェースであり、画像処理装置(カメラ等)、音声入出力装置(マイク、スピーカ等)等のハードウェアと接続するためのインタフェースである。本実施形態では、操作部200は、外部接続I/F28を介して、USB規格等の通信路58によって、カードリーダー50と接続されている。
【0029】
なお、本実施形態では、機能の独立性を保つために、スキャナ100と操作部200は、別々のオペレーティングシステムで互いに独立して動作する。例えば、スキャナ100はOS層のソフトウェアとしてLinux(登録商標)を用い、操作部200はOS層のソフトウェアとしてAndroid(登録商標)を用いる。
【0030】
次に、カードリーダー50のハードウェア構成について説明する。カードリーダー50は、CPU51と、ROM52と、RAM53と、通信I/F54と、アンテナコイル55と、接続I/F56とを備え、これらがシステムバス57を介して相互に接続されている。
【0031】
CPU51は、カードリーダー50の動作を統括的に制御する。すなわち、CPU51は、RAM53をワークエリアとして、ROM52等に格納された制御プログラムを実行することで、カードリーダー50全体の動作を制御する。そして、CPU51は、ユーザが所持するICカード40に対して、情報の読み書きを行う等の各種機能を実現する。
【0032】
通信I/F54は、アンテナコイル55を制御することによって、ICカード40と無線通信を行う。また、接続I/F56は、通信路58を介して、操作部200と通信するためのインタフェースである。
【0033】
次に、ICカード40のハードウェア構成について説明する。ICカード40は、CPU41と、ROM42と、RAM43と、通信I/F44と、アンテナコイル45とを備え、これらがシステムバス46を介して相互に接続されている。
【0034】
なお、ICカード40は、電子署名装置の一例である。電子署名装置は、ユーザの秘密鍵等の機密情報を含むユーザ情報を保持可能な記録媒体を備え、自装置内で電子署名の生成及び署名対象データへの当該電子署名の付与を実行可能な装置である。電子署名装置は、ユーザが持ち運べるような小型の装置であることが望ましい。なお、電子署名装置はICカード40に限定されるものではなく、ユーザが持ち運べる小型の装置であれば、例えば、スマートフォン、または時計や眼鏡のようなウェアラブル端末等であってもよい。
【0035】
CPU41は、ICカード40の動作を統括的に制御する。すなわち、CPU41は、RAM43をワークエリアとして、ROM42等に格納された制御プログラムを実行することで、ICカード40全体の動作を制御する。そして、CPU41は、署名対象電子データD1の受信、署名対象電子データD1に対する電子署名の実行、電子署名された署名済電子データD2のカードリーダー50への返信等の各種機能を実現する。
【0036】
通信I/F44は、アンテナコイル45を制御することによって、カードリーダー50と無線通信を行う。なお、ICカード40とカードリーダー50との通信形態は、無線通信、すなわち非接触型に限定されるものではない。例えば、ICカード40をカードリーダー50に挿入することによって、両者を機械的に接触させることで接続する形態(接触型)であってもよい。なお、接触型の場合は、前記したアンテナコイル45、55は不要である。
【0037】
次に、図3を用いて、ワークフローサーバ60と配信先サーバ70のハードウェア構成について説明する。ワークフローサーバ60は、CPU61と、ROM62と、RAM63と、HDD64と、通信I/F65とを備え、これらがシステムバス66を介して相互に接続されている。
【0038】
CPU61は、ワークフローサーバ60の動作を統括的に制御する。すなわち、CPU61は、RAM63をワークエリアとして、ROM62等に格納された制御プログラムを実行することで、ワークフローサーバ60全体の動作を制御する。そして、CPU61は、署名済電子データD2の受信、署名済電子データD2に対する中間処理の実施、中間処理がなされた配信電子データD3の配信先サーバ70への配信等の各種機能を実現する。
【0039】
通信I/F65は、例えばインターネット等のネットワークNと接続するためのインタフェースである。特に、本実施形態において、ワークフローサーバ60は、ネットワークNを介して、MFP10および配信先サーバ70と接続される。
【0040】
次に、配信先サーバ70は、CPU71と、ROM72と、RAM73と、HDD74と、通信I/F75とを備え、これらがシステムバス76を介して相互に接続されている。
【0041】
CPU71は、配信先サーバ70の動作を統括的に制御する。すなわち、CPU71は、RAM73をワークエリアとして、ROM72等に格納された制御プログラムを実行することで、配信先サーバ70全体の動作を制御する。そして、CPU71は、配信電子データD3の受信、配信電子データD3に施された電子署名の検証、ユーザに対する配信電子データD3の閲覧許可等の各種機能を実現する。
【0042】
通信I/F75は、ネットワークNを介して、配信先サーバ70とワークフローサーバ60とを接続する。
【0043】
(電子署名の付与および検証方法の説明)
次に、図4を用いて、本実施形態の情報処理システム1が行う電子署名の付与方法および検証方法について簡単に説明する。図4は、電子署名の付与および検証の流れについて説明する図である。
【0044】
電子署名を付与する署名者は、まず、署名対象電子データD1を準備する(ステップS10)。なお、本実施形態の情報処理システム1では、電子署名はICカード40が行う。すなわち、署名者はICカード40である。
【0045】
ICカード40は、署名対象電子データD1から、ハッシュ値を算出する(ステップS11)。ハッシュ値とは、署名対象電子データD1の内容から計算される、当該署名対象電子データD1を代表する数値である。より具体的には、ハッシュ値は、署名対象電子データD1から一定の計算手順により算出される、規則性のない固定のデータ長を有する値である。ハッシュ値は、元のデータの大きさによらずに一定のデータ長を有する。そして、同じデータからは必ず同じハッシュ値が得られる一方、異なるデータからは異なるハッシュ値が得られる。
【0046】
続いて、署名者であるICカード40は、電子署名を生成する(ステップS12)。このとき、ICカード40は、自身が有する秘密鍵を用いて、電子署名を生成する。秘密鍵とは、公開鍵暗号方式における一対の鍵のうち、持ち主によって秘密に保持される鍵である。なお、秘密鍵には、当該秘密鍵と対になる公開鍵が存在する。そして、秘密鍵を用いて暗号化したデータは、公開鍵によってのみ復号化できる。本実施形態の情報処理システム1では、配信先サーバ70が、公開鍵を有している。
【0047】
ICカード40は、署名対象電子データD1に電子署名を添付する(ステップS13)。電子署名が添付された署名対象電子データD1が、署名済電子データD2である。
【0048】
ICカード40は、署名済電子データD2を閲覧者に送信する(ステップS14)。なお、本実施形態では、閲覧者は配信先サーバ70である。
【0049】
配信先サーバ70は、署名済電子データD2を受信する(ステップS15)。
【0050】
配信先サーバ70は、署名済電子データD2からハッシュ値を算出する(ステップS16)。
【0051】
また、配信先サーバ70は、署名済電子データD2の電子署名を、公開鍵を用いて復号して、ステップS11で算出したハッシュ値を読み出す(ステップS17)。
【0052】
配信先サーバ70は、ステップS16で算出したハッシュ値と、ステップS17で読み出したハッシュ値とを比較する(ステップS18)。
【0053】
ステップS18において、ハッシュ値が一致した場合は、配信先サーバ70が受信した署名済電子データD2は改竄されていないと判定されて、署名済電子データD2の閲覧が許される(ステップS19)。一方、ステップS18において、ハッシュ値が一致しない場合は、配信先サーバ70が受信した署名済電子データD2は改竄されていると判定されて、配信先サーバ70は改竄警告を発する(ステップS20)。
【0054】
このように、本実施形態の情報処理システム1は、署名対象電子データD1に対する電子署名をICカード40の内部で行う。したがって、秘密鍵はICカード40の外に流出しない。
【0055】
(情報処理システムの機能構成の説明)
次に、図5を用いて、情報処理システム1の機能構成について説明する。図5は、情報処理システム1の機能構成の一例を示す機能ブロック図である。
【0056】
MFP10のCPU21は、ROM22に記憶された制御プログラムを読み出して、RAM23に展開して実行する。これによって、MFP10には、図5に示す操作受付部10aと、スキャナ制御部10bと、署名対象データ送信部10cと、署名指示部10dと、署名済データ受信部10eと、署名済データ送信部10fとが、機能部として生成される。
【0057】
操作受付部10aは、ユーザが操作部200に対して行った操作を受け付ける。また、操作受付部10aは、ユーザが操作部200に対して行った操作を、MFP10に実行させる。
【0058】
スキャナ制御部10bは、スキャナ100でスキャンしたアナログデータ(署名対象データ)を、スキャナエンジン17によって、例えばPDF(Portable Document Format)ファイル等の電子データである署名対象電子データD1に変換する。
【0059】
署名対象データ送信部10cは、ユーザが所持する、秘密鍵(機密情報)を保持したICカード40(電子署名装置の一例)に対して、署名対象電子データD1を送信する。なお、署名対象データ送信部10cは、署名対象データ送信手段の一例である。
【0060】
署名指示部10dは、ICカード40に対して、ICカード40が保持する秘密鍵(機密情報)に基づいて、署名対象データに対する電子的な署名を行う指示を与える。なお、署名指示部10dは、署名指示手段の一例である。
【0061】
署名済データ受信部10eは、ICカード40から、署名済電子データD2(署名済データ)を取得する。なお、署名済データ受信部10eは、取得手段の一例である。
【0062】
署名済データ送信部10fは、署名済電子データD2をワークフローサーバ60に送信する。
【0063】
また、カードリーダー50のCPU51は、ROM52に記憶された制御プログラムを読み出して、RAM53に展開して実行する。これによって、カードリーダー50には、図5に示す署名対象データ受渡部50aと、署名済データ受渡部50bとが、機能部として生成される。
【0064】
署名対象データ受渡部50aは、MFP10から署名対象電子データD1を受け取って、ICカード40に渡す。
【0065】
署名済データ受渡部50bは、ICカード40から署名済電子データD2を受け取って、MFP10に渡す。
【0066】
また、ICカード40のCPU41は、ROM42に記憶された制御プログラムを読み出して、RAM43に展開して実行する。これによって、ICカード40には、図5に示す機密情報保持部40aと、署名対象データ受信部40bと、署名実行部40cと、署名済データ送信部40dとが、機能部として生成される。
【0067】
機密情報保持部40aは、ICカード40に秘密鍵(機密情報)を保持させる。なお、機密情報保持部40aは、機密情報保持手段の一例である。
【0068】
署名対象データ受信部40bは、MFP10から、カードリーダー50を介して、署名対象電子データD1を受信する。なお、署名対象データ受信部40bは、受信手段の一例である。
【0069】
署名実行部40cは、署名指示部10dの指示を受けて、署名対象データ受信部40bが受信した署名対象電子データD1(署名対象データ)に対して、秘密鍵(機密情報)を用いて電子署名データを生成して、電子署名を行う。なお、署名実行部40cは、署名実行手段の一例である。
【0070】
署名済データ送信部40dは、署名実行部40cが署名した署名済電子データD2(署名済データ)を、カードリーダー50を介して、MFP10に送信する。なお、署名済データ送信部40dは、署名済データ送信手段の一例である。
【0071】
また、ワークフローサーバ60のCPU61は、ROM62に記憶された制御プログラムを読み出して、RAM63に展開して実行する。これによって、ワークフローサーバ60には、図5に示す署名済データ受信部60aと、ワークフロー処理部60bと、署名済データ配信部60cとが、機能部として生成される。
【0072】
署名済データ受信部60aは、MFP10から、ネットワークNを介して、署名済電子データD2を受信する。
【0073】
ワークフロー処理部60bは、署名済電子データD2を、ユーザが指定したワークフローに沿って処理する。ワークフロー処理部60bは、予め設定された複数の中間処理機能を備えており、その中から、ワークフローとして選択された中間処理を実行する。なお、ワークフロー処理部60bは、ワークフロー処理手段の一例である。
【0074】
署名済データ配信部60cは、ワークフロー処理部60bが処理した署名済電子データD2を、ネットワークNを介して、配信電子データD3として配信先サーバ70に配信する。なお、署名済データ配信部60cは、配信手段の一例である。
【0075】
また、配信先サーバ70のCPU71は、ROM72に記憶された制御プログラムを読み出して、RAM73に展開して実行する。これによって、配信先サーバ70には、図5に示す配信データ受信部70aと、署名検証部70bと、データ閲覧部70cとが、機能部として生成される。
【0076】
配信データ受信部70aは、ワークフローサーバ60から、ネットワークNを介して、配信電子データD3を受信する。
【0077】
署名検証部70bは、配信先サーバ70が有する公開鍵を用いて電子署名を復号する。そして、署名検証部70bは、配信電子データD3が改竄されていないかを検証する。
【0078】
データ閲覧部70cは、ユーザに、配信電子データD3を閲覧させる。
【0079】
(情報処理システムが行う処理の流れの説明)
次に、図6を用いて、情報処理システム1を構成するオブジェクト間でなされるメッセージのやり取りについて説明する。図6は、本実施形態に係る情報処理システム1の内部におけるメッセージの流れの一例を示すシーケンス図である。
【0080】
本シーケンスは、情報処理システム1が、画像データをPDF形式の電子データに変換し、そのPDFファイルに対して電子署名を行うことを前提としたものである。まず、ユーザは、MFP10に接続されたカードリーダー50に対して、ICカード40をかざす、または挿入する等してログインを実施する(メッセージS30、S31)。
【0081】
そして、ユーザは、署名済電子データD2を配信する際に実施するワークフローを選択する(メッセージS32)。
【0082】
ユーザは、MFP10に原稿を載置して、スキャンを実行させる(メッセージS33)。MFP10はスキャン動作を行って、MFP10内で電子画像を生成する(メッセージS34)。そして、MFP10は、当該電子画像をPDF化する(メッセージS35)。PDF化されたデータが、署名対象電子データD1である。
【0083】
次にMFP10はICカード40に対して、カードリーダー50を介して電子署名依頼を出し、PDFデータを送る(メッセージS36)。PDFデータは、カードリーダー50を経て、署名依頼とともにICカード40に渡される(メッセージS37)。そして、ICカード40の署名実行部40cにおいて、電子署名データが生成されて、電子的な署名が実施される。
【0084】
ICカード40で生成された署名済電子データD2は、カードリーダー50を介してMFP10に返される(メッセージS38、S39)。電子署名が行われたことは、例えば、操作パネル27に表示を行うことによってユーザに通知される(メッセージS40)。
【0085】
MFP10は、署名済電子データD2をワークフローの設定に応じてワークフローサーバ60に送付する(メッセージS41)。送付された署名済電子データD2は、ワークフロー処理部60bにおいて、ワークフローの設定に応じた中間処理を施される(メッセージS42)。なお、中間処理には、例えば、書誌情報の追加等が含まれる。その後、中間処理を施されたデータは、配信電子データD3として配信先サーバ70に配信される(メッセージS43)。
【0086】
配信先サーバ70は、ユーザから配信電子データD3の閲覧指示を受けると(メッセージS44)、配信先サーバ70に送られた配信電子データD3は、配信先サーバ70において、公開鍵を用いて、改竄されたか否かの検証を受ける(メッセージS45)。なお、閲覧指示を行うユーザは、原稿をスキャンしたユーザ以外であってもよい。
【0087】
そして、配信電子データD3の改竄が行われていないと判定されると、ユーザは、配信電子データD3を閲覧することができる(メッセージS46)。
【0088】
なお、本実施形態において、ユーザは、電子署名が行われた後であれば、いつでも、情報処理システム1からログアウトしてよい(メッセージS47、S48)。なお、ログアウトする際には、ICカード40をかざす、またはICカード40をカードリーダー50から抜去することによって行ってもよいし、操作パネル27を操作することによって行ってもよい。なお、原稿のスキャンが完了していたとしても、電子署名を行っている間は、ユーザはMFP10からログアウトすることができない。電子署名を行っている間にログアウトした場合は、電子署名の処理が途中で中断されて、電子データの配信は行なわれない。
【0089】
(MFP、ICカードおよびワークフローサーバが行う処理の流れの説明)
次に、図7を用いて、MFP10、ICカード40およびワークフローサーバ60が行う処理の流れについて説明する。図7は、実施形態に係る情報処理システム1において、MFP10、ICカード40およびワークフローサーバ60が行う処理の流れの一例を示すフローチャートである。
【0090】
ユーザは、まず、MFP10に接続されたカードリーダー50に対して、ICカード40をかざす、挿入する等してログインを実施する(ステップS50)。
【0091】
続いて、ユーザは、署名済電子データD2を配信先サーバ70に配信する際に実施するワークフローを選択する(ステップS51)。
【0092】
さらに、ユーザは、MFP10のスキャナ制御部10bに、電子化したい原稿のスキャンを実行させる(ステップS52)。
【0093】
スキャナ制御部10bは、スキャンした原稿の電子画像を生成する(ステップS53)。
【0094】
さらに、スキャナ制御部10bは、電子画像をPDF化して、署名対象PDFデータである署名対象電子データD1を生成する(ステップS54)。
【0095】
MFP10の操作受付部10aは、ICカード40を認識したかを判定する(ステップS55)。ICカード40を認識したと判定する(ステップS55:Yes)と、ステップS56に移行する。一方、ICカード40を認識したと判定しない(ステップS55:No)と、ステップS58に移行する。
【0096】
ステップS55においてYesと判定されると、ステップS56において、MFP10の署名対象データ送信部10cは、署名対象電子データD1を、カードリーダー50を介して、ICカード40に送付する。その際、MFP10の署名指示部10dは、ICカード40に対して、署名対象電子データD1に対する電子署名の実行を指示する。その後、ステップS57に移行する。
【0097】
ステップS55においてNoと判定されると、ステップS58において、MFP10の操作受付部10aは、ユーザに対して、ICカード40の入力を要求する。具体的には、操作パネル27に、ICカード40の入力を要求するメッセージを表示する。
【0098】
続いて、MFP10の操作受付部10aは、ICカード40を認識したかを判定する(ステップS59)。ICカード40を認識したと判定する(ステップS59:Yes)と、前記したステップS56に移行する。一方、ICカード40を認識したと判定しない(ステップS59:No)と、ステップS60に移行する。
【0099】
ステップS59においてNoと判定されると、ステップS60において、MFP10の操作受付部10aは、ユーザに対して、署名を継続するかを確認する。具体的には、MFP10の操作受付部10aは、操作パネル27に、署名を継続するかをユーザに確認する表示を行い、ユーザの選択操作を待つ。そして、操作受付部10aは、ユーザの選択操作を受けて、署名を継続すると判定する(ステップS60:Yes)と、前記したステップS58に移行する。一方、操作受付部10aが、ユーザの選択操作を受けて、署名を継続しないと判定する(ステップS60:No)と、前記したステップS52に戻る。
【0100】
ステップS56に続いて、ICカード40の署名実行部40cは、署名対象電子データD1に対して、ICカード40が保持する秘密鍵を用いて電子署名データを生成して、電子署名を実行する(ステップS57)。
【0101】
ICカード40の署名実行部40cは、電子署名が成功したかを判定する(ステップS61)。電子署名が成功したと判定される(ステップS61:Yes)と、ステップS62に移行する。一方、電子署名が成功したと判定されない(ステップS61:No)と、ステップS67に移行する。
【0102】
ステップS61においてNoと判定されると、ステップS67において、ICカード40の署名実行部40cは、電子署名に失敗した旨を、MFP10の操作受付部10aに通知する。
【0103】
そして、電子署名の失敗を通知された操作受付部10aは、ユーザから署名のリトライ要求があるかを判定する(ステップS68)。署名のリトライ要求があると判定される(ステップS68:Yes)と、前記したステップS61に移行する。一方、署名のリトライ要求があると判定されない(ステップS68:No)と、前記したステップS52に移行する。
【0104】
ステップS61においてYesと判定されると、ステップS62において、ICカード40の署名済データ送信部40dは、署名済電子データD2をMFP10に送付する。
【0105】
MFP10の署名済データ受信部10eは、署名済電子データD2を受信して、署名済電子データD2に対して実施するジョブを生成する(ステップS63)。
【0106】
MFP10の署名済データ送信部10fは、作成したジョブをワークフローサーバ60に送付して、前記したステップS51で選択したワークフローに投入する(ステップS64)。
【0107】
ワークフローサーバ60の署名済データ受信部60aは、署名済電子データD2を受信して、ワークフロー処理部60bは、ワークフローを実行する(ステップS65)。
【0108】
ワークフローサーバ60の署名済データ配信部60cは、ワークフローの実行結果を、配信電子データD3として配信先サーバ70に配信する(ステップS66)。なお、本実施形態では、PDFファイルに対して電子署名を行うものとして説明したが、署名対象は、電子データであればPDFファイルに限ることはない。
【0109】
以上説明したように、本実施の形態に係るMFP10(情報処理装置)によれば、署名対象データ送信部10c(署名対象データ送信手段)が、秘密鍵(機密情報)を保持したICカード40(電子署名装置)に対して、電子化された署名対象電子データD1(署名対象データ)を送信する。そして、署名指示部10d(署名指示手段)が、ICカード40に、ICカード40の内部において、受信した署名対象電子データD1に対して秘密鍵に基づく電子的な署名を行わせる。さらに、署名済データ受信部10e(取得手段)が、ICカード40から、署名済電子データD2(署名済データ)を取得する。すなわち、MFP10は、ICカード40に対して電子署名の実行を指示して、ICカード40は、当該ICカード40内で署名の付与を完了させる。したがって、電子署名を行う際に、電子署名データがICカード40から外に出ることがないため、機密情報の外部への流出のリスクを下げることができる。
【0110】
また、本実施の形態に係るMFP10(情報処理装置)によれば、ワークフロー処理部60b(ワークフロー処理手段)が、署名済データ受信部10e(取得手段)が取得した署名済電子データD2(署名済データ)を受け取って、ユーザが指定したワークフローに沿って処理する。したがって、署名済電子データD2に対して、ユーザが所望する処理を確実に施すことができる。
【0111】
また、本実施の形態に係るMFP10(情報処理装置)によれば、署名済データ配信部60c(配信手段)が、ワークフロー処理部60b(ワークフロー処理手段)が処理した署名済電子データD2(署名済データ)を配信先サーバ70に配信する。したがって、署名済電子データD2を、指定した配信先サーバ70に確実に配信することができる。
【0112】
また、本実施の形態に係るMFP10(情報処理装置)によれば、電子署名装置はICカード40である。したがって、ユーザは、秘密鍵(機密情報)を記憶したICカード40を自ら保持することができるため、機密情報の外部への流出のリスクを下げることができる。
【0113】
また、本実施の形態に係る情報処理システム1によれば、MFP10(情報処理装置)が、ICカード40(電子署名装置)に対して、署名対象電子データD1(署名対象データ)を送信する。秘密鍵(機密情報)を保持するICカード40は、ユーザに所持されて、署名対象電子データD1に対して電子的に署名を行う。そして、MFP10は、ICカード40から、署名済電子データD2(署名済データ)を取得する。したがって、電子署名を行う際に、秘密鍵がICカード40から外に出ることがないため、機密情報の流出のリスクを下げることができる。
【0114】
以上、本発明の実施の形態について説明したが、前記した実施の形態は、例として提示したものであり、本発明の範囲を限定することは意図していない。この新規な実施の形態は、その他の様々な形態で実施されることが可能である。また、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。また、この実施の形態は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【0115】
例えば、本実施形態の例では、情報処理装置の例としてMFP10(複合機)を例にあげて説明したが、電子署名が付与された電子データを取り扱う機器であれば、MFP10に限らずに本発明を適用することが可能である。例えば、本発明は、PC(パーソナルコンピュータ)、IWB(インタラクティブ ホワイトボード)等の機器に適用することも可能である。
【0116】
また、本実施形態の例では、ワークフローサーバ60が、ワークフロー処理を行うものとして説明したが、ワークフロー処理を行う場所はワークフローサーバ60に限定されない。すなわち、MFP10の内部でワークフロー処理を行ってもよい。
【0117】
また、署名対象電子データD1は、MFP10の外部、例えば、MFP10とネットワークNを介して接続された外部サーバ等で生成してもよい。その場合、MFP10は、スキャナ100によって生成した電子データを、一旦外部サーバに送信する。そして、外部サーバ等において、電子データの形式を変換する等して、所望の形式の電子データを作成した後で、作成した電子データを、再度MFP10に戻すようにしてもよい。
【0118】
また、本実施形態の例では、情報処理システム1は、CPU11(21、41、51、61、71)が、各種処理を制御プログラムで実現することとしたが、制御プログラムの一部または全部を、IC(Integrated Circuit)等のハードウェアで実現してもよい。また、制御プログラムは、インストール可能な形式、または実行可能な形式のファイルでCD-ROM、フレキシブルディスク(FD)、CD-R、DVD、ブルーレイディスク(登録商標)、半導体メモリ等のコンピュータ装置で読み取り可能な記録媒体に記録して提供してもよい。DVDは、「Digital Versatile Disc」の略記である。また、制御プログラムは、インターネット等のネットワーク経由でインストールする形態で提供してもよい。
【符号の説明】
【0119】
1 情報処理システム
10 MFP(情報処理装置、複合機)
10c 署名対象データ送信部(署名対象データ送信手段)
10d 署名指示部(署名指示手段)
10e 署名済データ受信部(取得手段)
40 ICカード(電子署名装置、機密情報保持手段)
40a 機密情報保持部(機密情報保持手段)
40b 署名対象データ受信部(受信手段)
40c 署名実行部(署名実行手段)
40d 署名済データ送信部(署名済データ送信手段)
50 カードリーダー
60 ワークフローサーバ
60b ワークフロー処理部(ワークフロー処理手段)
60c 署名済データ配信部
70 配信先サーバ
100 スキャナ
200 操作部
D1 署名対象電子データ(署名対象データ)
D2 署名済電子データ(署名済データ)
D3 配信電子データ
【先行技術文献】
【特許文献】
【0120】
【文献】特開2004-151897号公報
図1
図2
図3
図4
図5
図6
図7