(57)【要約】【課題】電子署名を施すデータを生成する機器に対して、電子署名データを渡すことなく電子署名を行う。【解決手段】ＭＦＰ（情報処理装置）の署名対象データ送信部（署名対象データ送信手段）が、秘密鍵（機密情報）を保持したＩＣカード（電子署名装置）に対して、電子化された署名対象電子データ（署名対象データ）を送信する。そして、署名指示部（署名指示手段）が、ＩＣカードに、ＩＣカードの内部において、受信した署名対象電子データに対して秘密鍵に基づく電子的な署名を行わせる。さらに、署名済データ受信部（取得手段）が、ＩＣカードから、署名済電子データ（署名済データ）を取得する。すなわち、ＭＦＰは、ＩＣカードに対して電子署名の実行を指示して、ＩＣカードは、当該ＩＣカード内で署名の付与を完了させる。【選択図】図５
2019161514.tif 000002
【特許請求の範囲】
【請求項１】
機密情報を保持した電子署名装置に対して、電子化された署名対象データを送信する署名対象データ送信手段と、
前記電子署名装置に、当該電子署名装置の内部において、受信した前記署名対象データに対して、前記機密情報に基づく電子的な署名を行わせる署名指示手段と、
前記電子署名装置から、署名済データを取得する取得手段と、
を備える情報処理装置。
【請求項２】
前記取得手段が取得した前記署名済データを受け取って、前記ユーザが指定したワークフローに沿って処理するワークフロー処理手段を、更に備える、
請求項１に記載の情報処理装置。
【請求項３】
前記ワークフロー処理手段が処理した前記署名済データの配信を行う配信手段を、更に備える、
請求項２に記載の情報処理装置。
【請求項４】
前記電子署名装置は、ＩＣカードである、
請求項１から請求項３のいずれか１項に記載の情報処理装置。
【請求項５】
機密情報を保持して、電子化された署名対象データに対して電子的に署名を行う電子署名装置と、
前記電子署名装置に対して前記署名対象データを送信するとともに、前記電子署名装置に署名を行わせて、当該電子署名装置から署名済データを取得する情報処理装置と、
を備える情報処理システム。
【請求項６】
機密情報を保持した電子署名装置に対して、電子化された署名対象データを送信する送信ステップと、
前記電子署名装置に、当該電子署名装置の内部において、受信した前記署名対象データに対して、前記機密情報に基づく電子的な署名を行わせる署名指示ステップと、
前記電子署名装置から、署名済データを取得する取得ステップと、
を含む情報処理方法。
【請求項７】
請求項１から請求項４のいずれか１項に記載の情報処理装置を制御するコンピュータに、
機密情報を保持した電子署名装置に対して、電子化された署名対象データを送信する署名対象データ送信手段と、
前記電子署名装置に、当該電子署名装置の内部において、受信した前記署名対象データに対して、前記機密情報に基づく電子的な署名を行わせる署名指示手段と、
前記電子署名装置から、署名済データを取得する取得手段と、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理システム、情報処理方法およびプログラムに関する。
【背景技術】
【０００２】
ＭＦＰ（Multi-Functional  Printer）でスキャンされた文書を配信するシステムがある。このシステムを用いることで、スキャンによって生成された電子データ（以下、単に電子データと呼ぶ）に対して画像処理を施して、予め決めたルールに従って指定の配信先に配信することができる。電子データに対する処理は、ワークフローによって定義されており、ワークフローには様々な組み合わせの内部処理方法を指定することが可能である。用途に応じたワークフローを定義することにより、利用者の目的に沿った処理を、電子データに施すことができる。昨今では、電子データの非改竄性を証明するために、電子データに対して暗号化による電子署名を行う技術が広く利用されており、電子データ作成時、もしくはワークフロー内で電子データに対して署名を行う事が可能である。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
例えば、特許文献１のジョブ処理制御装置では、複合機内に署名データを生成する回路を備え、ＩＣカードが保持しているユーザの秘密鍵に基づいて、ＩＣカード内で生成した電子署名データを、署名対象である電子化された文書データを生成する複合機内で、文書データに付加させている。したがって、ＩＣカードから複合機に、付加される前の電子署名データが渡されるため、当該電子署名データが、複合機から外部に流出するリスクがあった。
【０００４】
本発明は、上記に鑑みてなされたものであり、電子署名を施すデータを生成する機器に対して、電子署名データを渡すことなく電子署名を行うことを目的とする。
【課題を解決するための手段】
【０００５】
前記した課題を解決し、目的を達成するために、本発明の情報処理装置は、機密情報を保持した電子署名装置に対して、電子化された署名対象データを送信する送信手段と、前記電子署名装置に、当該電子署名装置の内部において、受信した前記署名対象データに対して、前記機密情報に基づく電子的な署名を行わせる署名指示手段と、前記電子署名装置から、署名済データを取得する取得手段と、を備える。
【発明の効果】
【０００６】
本発明によれば、電子署名装置（例えば、ＩＣカード）の内部において署名対象データに対する電子的な署名が行われるため、署名対象データを生成する情報処理装置に対して電子署名データを渡すことなく電子署名を行うことが可能となる。したがって、電子署名を行う際の安全性を向上させることができる。
【図面の簡単な説明】
【０００７】
【図１】図１は、本実施形態に係る情報処理システムの概略構成の一例を示すブロック図である。
【図２】図２は、情報処理システムのハードウェア構成の一例を示す第１のハードウェアブロック図である。
【図３】図３は、情報処理システムのハードウェア構成の一例を示す第２のハードウェアブロック図である。
【図４】図４は、電子署名の付与および検証の流れについて説明する図である。
【図５】図５は、情報処理システムの機能構成の一例を示す機能ブロック図である。
【図６】図６は、本実施形態に係る情報処理システムの内部におけるメッセージの流れの一例を示すシーケンス図である。
【図７】図７は、実施形態に係る情報処理システムにおいて、ＭＦＰ、ＩＣカードおよびワークフローサーバが行う処理の流れの一例を示すフローチャートである。
【発明を実施するための形態】
【０００８】
以下、添付図面を参照して、本発明の実施形態について説明する。
【０００９】
（情報処理システムの概略構成の説明）
以下、添付図面を参照しながら、本発明に係る情報処理装置、情報処理システム、情報処理方法およびプログラムの実施形態を詳細に説明する。なお、情報処理装置の一例として、複合機（ＭＦＰ）を例に挙げて説明するが、これに限定されるものではなく、情報処理装置は、例えば、ＰＣ（Personal  Computer）等であってもよい。
【００１０】
図１は、本実施形態に係る情報処理システム１の概略構成の一例を示すブロック図である。図１に示すように、情報処理システム１は、ＭＦＰ１０と、ユーザが所持するＩＣカード４０と、ＩＣカード４０に対して情報の読み書きを行うカードリーダー５０と、ＭＦＰ１０とネットワークＮを介して接続される、ワークフローサーバ６０と配信先サーバ７０と、を備える。なお、一般的に、配信先サーバ７０は複数台が備えられるが、以後の説明では、情報処理システム１は、１台の配信先サーバ７０を備えるものとする。
【００１１】
ＭＦＰ１０は、例えば、コピー機能、スキャナ機能、プリンタ機能、ファクス機能等の複数の機能のうち、少なくとも２つの機能を有する複合機であるが、本実施形態のＭＦＰ１０は、少なくともスキャナ機能を利用する。なお、ＭＦＰ１０は、情報処理装置の一例である。
【００１２】
すなわち、ＭＦＰ１０は、スキャナ１００と、操作部２００とを備える。スキャナ１００は、原稿を読み取って、ユーザによって指定された形式の電子データを生成する。操作部２００は、ユーザの操作を受け付ける。
【００１３】
カードリーダー５０は、ＭＦＰ１０と、例えばＵＳＢ（Universal  Serial  Bus）ケーブルで接続されて、ユーザが所持するＩＣカード４０に対して、情報の読み書きを行う。また、カードリーダー５０は、ＭＦＰ１０が生成した電子データ、すなわち、電子署名を行う対象となる署名対象電子データＤ１を、ＩＣカード４０に送信する際のインタフェースとして機能する。なお、カードリーダー５０とＭＦＰ１０とは、一体型の構成であってもよい。
【００１４】
ＩＣカード４０は、カードリーダー５０と、例えば無線通信で接続されて、カードリーダー５０を介して、ＭＦＰ１０から署名対象電子データＤ１を受け取る。また、ＩＣカード４０は、受け取った署名対象電子データＤ１に電子署名を行って、署名済電子データＤ２を生成する。さらに、ＩＣカード４０は、署名済電子データＤ２を、カードリーダー５０を介して、ＭＦＰ１０に返信する。
【００１５】
ワークフローサーバ６０は、ＭＦＰ１０からネットワークＮを介して送信された署名済電子データＤ２に対して、予め決められたワークフローで定義された中間処理を行い、配信電子データＤ３を生成する。なお、中間処理とは、例えば、画像補正、画像変換、ＰＤＦ（Portable  Document  Format）変換、ＯＣＲ（Optical  Character  Recognition）処理等の定型化された処理である。また、本実施形態でワークフローサーバ６０が実行可能な中間処理は、例えば書誌情報の付与等、署名済電子データＤ２の内容に影響を与えないものに限られる。また、ワークフローサーバ６０は、配信電子データＤ３を、配信先サーバ７０に配信する配信処理を行う。
【００１６】
配信先サーバ７０は、配信電子データＤ３を、ワークフローサーバ６０から受信する。また、配信先サーバ７０は、配信電子データＤ３に施された電子署名が正しいかを検証する。さらに、配信先サーバ７０は、配信電子データＤ３になされている電子署名が正しい場合に、配信電子データＤ３をユーザに閲覧させる。また、配信先サーバ７０は、配信電子データＤ３に施された電子署名を検証するための公開鍵を有する。なお、ＩＣカード４０が行う電子署名の付与と、配信先サーバ７０が行う電子署名の検証について、詳しくは後述する（図４参照）。
【００１７】
（情報処理システムのハードウェア構成の説明）
次に、図２、図３を用いて、情報処理システム１のハードウェア構成について説明する。図２は、情報処理システム１のハードウェア構成の一例を示す第１のハードウェアブロック図である。また、図３は、情報処理システム１のハードウェア構成の一例を示す第２のハードウェアブロック図である。
【００１８】
図２に示すように、ＭＦＰ１０のスキャナ１００と操作部２００とは、専用の通信路３０で接続されている。通信路３０は、例えばＵＳＢ（Universal  Serial  Bus）規格のものを用いることができるが、有線か無線かを問わず、任意の規格のものであってよい。なお、本実施形態のＭＦＰ１０は、スキャナ機能を利用するため、ハードウェアの構成要素としてスキャナ１００のみを記載したが、ＭＦＰ１０は、実際には、プリンタ、コピー、ファクス等の機能を実現するためのハードウェアも備えている。
【００１９】
スキャナ１００は、操作部２００が受け付けた操作に応じて、ＭＦＰ１０にセットされた原稿を読み取るスキャン動作を行う。また、スキャナ１００は、通信Ｉ／Ｆ１５を介して、クライアントＰＣ（パーソナルコンピュータ）等の外部機器と通信可能であり、外部機器から受信した指示に応じた動作を行うこともできる。
【００２０】
まず、スキャナ１００のハードウェア構成について説明する。図２に示すように、スキャナ１００は、ＣＰＵ（Central  Processing  Unit）１１と、ＲＯＭ（Read  Only  Memory）１２と、ＲＡＭ（Random  Access  Memory）１３と、ＨＤＤ（Hard  Disk  Drive）１４と、通信Ｉ／Ｆ１５と、接続Ｉ／Ｆ（Interface）１６と、スキャナエンジン１７とを備え、これらがシステムバス１８を介して相互に接続されている。
【００２１】
ＣＰＵ１１は、スキャナ１００の動作を統括的に制御する。すなわち、ＣＰＵ１１は、ＲＡＭ１３をワークエリア（作業領域）として、ＲＯＭ１２またはＨＤＤ１４等に格納された制御プログラムを実行することで、スキャナ１００全体の動作を制御し、スキャナ機能を実現する。
【００２２】
通信Ｉ／Ｆ１５は、例えばインターネット等のネットワークＮと接続するためのインタフェースである。スキャナ１００は、通信Ｉ／Ｆ１５を介して、クライアントＰＣ等の外部装置と接続される。接続Ｉ／Ｆ１６は、通信路３０を介して操作部２００と通信するためのインタフェースである。
【００２３】
スキャナエンジン１７は、スキャナ機能を実現させるための、汎用的な情報処理及び通信以外の処理を行うハードウェアである。
【００２４】
次に、操作部２００のハードウェア構成について説明する。図２に示すように、操作部２００は、ＣＰＵ２１と、ＲＯＭ２２と、ＲＡＭ２３と、フラッシュメモリ２４と、通信Ｉ／Ｆ２５と、接続Ｉ／Ｆ２６と、操作パネル２７と、外部接続Ｉ／Ｆ２８とを備え、これらがシステムバス２９を介して相互に接続されている。
【００２５】
ＣＰＵ２１は、操作部２００の動作を統括的に制御する。すなわち、ＣＰＵ２１は、ＲＡＭ２３をワークエリアとして、ＲＯＭ２２またはフラッシュメモリ２４等に格納された制御プログラムを実行することで、操作部２００全体の動作を制御する。そして、ＣＰＵ２１は、ユーザから受け付けた入力に応じて、情報（画像）の表示等の各種機能を実現する。
【００２６】
通信Ｉ／Ｆ２５は、例えばインターネット等のネットワークＮと接続するためのインタフェースである。特に、本実施形態において、操作部２００は、ネットワークＮを介して、ワークフローサーバ６０と接続される。また、接続Ｉ／Ｆ２６は、通信路３０を介して、スキャナ１００と通信するためのインタフェースである。
【００２７】
操作パネル２７は、ユーザの操作に応じた各種の入力を受け付けるとともに、各種の情報（例えば受け付けた操作に応じた情報、ＭＦＰ１０の動作状況を示す情報、設定状態などを示す情報等）を表示する。本実施形態では、操作パネル２７は、タッチパネル機能を搭載した液晶表示装置（ＬＣＤ）で構成されるが、これに限られるものではない。例えばタッチパネル機能が搭載された有機ＥＬ表示装置で構成されてもよい。
【００２８】
外部接続Ｉ／Ｆ２８は、操作部２００と周辺機器とを接続するためのインタフェースであり、画像処理装置（カメラ等）、音声入出力装置（マイク、スピーカ等）等のハードウェアと接続するためのインタフェースである。本実施形態では、操作部２００は、外部接続Ｉ／Ｆ２８を介して、ＵＳＢ規格等の通信路５８によって、カードリーダー５０と接続されている。
【００２９】
なお、本実施形態では、機能の独立性を保つために、スキャナ１００と操作部２００は、別々のオペレーティングシステムで互いに独立して動作する。例えば、スキャナ１００はＯＳ層のソフトウェアとしてＬｉｎｕｘ（登録商標）を用い、操作部２００はＯＳ層のソフトウェアとしてＡｎｄｒｏｉｄ（登録商標）を用いる。
【００３０】
次に、カードリーダー５０のハードウェア構成について説明する。カードリーダー５０は、ＣＰＵ５１と、ＲＯＭ５２と、ＲＡＭ５３と、通信Ｉ／Ｆ５４と、アンテナコイル５５と、接続Ｉ／Ｆ５６とを備え、これらがシステムバス５７を介して相互に接続されている。
【００３１】
ＣＰＵ５１は、カードリーダー５０の動作を統括的に制御する。すなわち、ＣＰＵ５１は、ＲＡＭ５３をワークエリアとして、ＲＯＭ５２等に格納された制御プログラムを実行することで、カードリーダー５０全体の動作を制御する。そして、ＣＰＵ５１は、ユーザが所持するＩＣカード４０に対して、情報の読み書きを行う等の各種機能を実現する。
【００３２】
通信Ｉ／Ｆ５４は、アンテナコイル５５を制御することによって、ＩＣカード４０と無線通信を行う。また、接続Ｉ／Ｆ５６は、通信路５８を介して、操作部２００と通信するためのインタフェースである。
【００３３】
次に、ＩＣカード４０のハードウェア構成について説明する。ＩＣカード４０は、ＣＰＵ４１と、ＲＯＭ４２と、ＲＡＭ４３と、通信Ｉ／Ｆ４４と、アンテナコイル４５とを備え、これらがシステムバス４６を介して相互に接続されている。
【００３４】
なお、ＩＣカード４０は、電子署名装置の一例である。電子署名装置は、ユーザの秘密鍵等の機密情報を含むユーザ情報を保持可能な記録媒体を備え、自装置内で電子署名の生成及び署名対象データへの当該電子署名の付与を実行可能な装置である。電子署名装置は、ユーザが持ち運べるような小型の装置であることが望ましい。なお、電子署名装置はＩＣカード４０に限定されるものではなく、ユーザが持ち運べる小型の装置であれば、例えば、スマートフォン、または時計や眼鏡のようなウェアラブル端末等であってもよい。
【００３５】
ＣＰＵ４１は、ＩＣカード４０の動作を統括的に制御する。すなわち、ＣＰＵ４１は、ＲＡＭ４３をワークエリアとして、ＲＯＭ４２等に格納された制御プログラムを実行することで、ＩＣカード４０全体の動作を制御する。そして、ＣＰＵ４１は、署名対象電子データＤ１の受信、署名対象電子データＤ１に対する電子署名の実行、電子署名された署名済電子データＤ２のカードリーダー５０への返信等の各種機能を実現する。
【００３６】
通信Ｉ／Ｆ４４は、アンテナコイル４５を制御することによって、カードリーダー５０と無線通信を行う。なお、ＩＣカード４０とカードリーダー５０との通信形態は、無線通信、すなわち非接触型に限定されるものではない。例えば、ＩＣカード４０をカードリーダー５０に挿入することによって、両者を機械的に接触させることで接続する形態（接触型）であってもよい。なお、接触型の場合は、前記したアンテナコイル４５、５５は不要である。
【００３７】
次に、図３を用いて、ワークフローサーバ６０と配信先サーバ７０のハードウェア構成について説明する。ワークフローサーバ６０は、ＣＰＵ６１と、ＲＯＭ６２と、ＲＡＭ６３と、ＨＤＤ６４と、通信Ｉ／Ｆ６５とを備え、これらがシステムバス６６を介して相互に接続されている。
【００３８】
ＣＰＵ６１は、ワークフローサーバ６０の動作を統括的に制御する。すなわち、ＣＰＵ６１は、ＲＡＭ６３をワークエリアとして、ＲＯＭ６２等に格納された制御プログラムを実行することで、ワークフローサーバ６０全体の動作を制御する。そして、ＣＰＵ６１は、署名済電子データＤ２の受信、署名済電子データＤ２に対する中間処理の実施、中間処理がなされた配信電子データＤ３の配信先サーバ７０への配信等の各種機能を実現する。
【００３９】
通信Ｉ／Ｆ６５は、例えばインターネット等のネットワークＮと接続するためのインタフェースである。特に、本実施形態において、ワークフローサーバ６０は、ネットワークＮを介して、ＭＦＰ１０および配信先サーバ７０と接続される。
【００４０】
次に、配信先サーバ７０は、ＣＰＵ７１と、ＲＯＭ７２と、ＲＡＭ７３と、ＨＤＤ７４と、通信Ｉ／Ｆ７５とを備え、これらがシステムバス７６を介して相互に接続されている。
【００４１】
ＣＰＵ７１は、配信先サーバ７０の動作を統括的に制御する。すなわち、ＣＰＵ７１は、ＲＡＭ７３をワークエリアとして、ＲＯＭ７２等に格納された制御プログラムを実行することで、配信先サーバ７０全体の動作を制御する。そして、ＣＰＵ７１は、配信電子データＤ３の受信、配信電子データＤ３に施された電子署名の検証、ユーザに対する配信電子データＤ３の閲覧許可等の各種機能を実現する。
【００４２】
通信Ｉ／Ｆ７５は、ネットワークＮを介して、配信先サーバ７０とワークフローサーバ６０とを接続する。
【００４３】
（電子署名の付与および検証方法の説明）
次に、図４を用いて、本実施形態の情報処理システム１が行う電子署名の付与方法および検証方法について簡単に説明する。図４は、電子署名の付与および検証の流れについて説明する図である。
【００４４】
電子署名を付与する署名者は、まず、署名対象電子データＤ１を準備する（ステップＳ１０）。なお、本実施形態の情報処理システム１では、電子署名はＩＣカード４０が行う。すなわち、署名者はＩＣカード４０である。
【００４５】
ＩＣカード４０は、署名対象電子データＤ１から、ハッシュ値を算出する（ステップＳ１１）。ハッシュ値とは、署名対象電子データＤ１の内容から計算される、当該署名対象電子データＤ１を代表する数値である。より具体的には、ハッシュ値は、署名対象電子データＤ１から一定の計算手順により算出される、規則性のない固定のデータ長を有する値である。ハッシュ値は、元のデータの大きさによらずに一定のデータ長を有する。そして、同じデータからは必ず同じハッシュ値が得られる一方、異なるデータからは異なるハッシュ値が得られる。
【００４６】
続いて、署名者であるＩＣカード４０は、電子署名を生成する（ステップＳ１２）。このとき、ＩＣカード４０は、自身が有する秘密鍵を用いて、電子署名を生成する。秘密鍵とは、公開鍵暗号方式における一対の鍵のうち、持ち主によって秘密に保持される鍵である。なお、秘密鍵には、当該秘密鍵と対になる公開鍵が存在する。そして、秘密鍵を用いて暗号化したデータは、公開鍵によってのみ復号化できる。本実施形態の情報処理システム１では、配信先サーバ７０が、公開鍵を有している。
【００４７】
ＩＣカード４０は、署名対象電子データＤ１に電子署名を添付する（ステップＳ１３）。電子署名が添付された署名対象電子データＤ１が、署名済電子データＤ２である。
【００４８】
ＩＣカード４０は、署名済電子データＤ２を閲覧者に送信する（ステップＳ１４）。なお、本実施形態では、閲覧者は配信先サーバ７０である。
【００４９】
配信先サーバ７０は、署名済電子データＤ２を受信する（ステップＳ１５）。
【００５０】
配信先サーバ７０は、署名済電子データＤ２からハッシュ値を算出する（ステップＳ１６）。
【００５１】
また、配信先サーバ７０は、署名済電子データＤ２の電子署名を、公開鍵を用いて復号して、ステップＳ１１で算出したハッシュ値を読み出す（ステップＳ１７）。
【００５２】
配信先サーバ７０は、ステップＳ１６で算出したハッシュ値と、ステップＳ１７で読み出したハッシュ値とを比較する（ステップＳ１８）。
【００５３】
ステップＳ１８において、ハッシュ値が一致した場合は、配信先サーバ７０が受信した署名済電子データＤ２は改竄されていないと判定されて、署名済電子データＤ２の閲覧が許される（ステップＳ１９）。一方、ステップＳ１８において、ハッシュ値が一致しない場合は、配信先サーバ７０が受信した署名済電子データＤ２は改竄されていると判定されて、配信先サーバ７０は改竄警告を発する（ステップＳ２０）。
【００５４】
このように、本実施形態の情報処理システム１は、署名対象電子データＤ１に対する電子署名をＩＣカード４０の内部で行う。したがって、秘密鍵はＩＣカード４０の外に流出しない。
【００５５】
（情報処理システムの機能構成の説明）
次に、図５を用いて、情報処理システム１の機能構成について説明する。図５は、情報処理システム１の機能構成の一例を示す機能ブロック図である。
【００５６】
ＭＦＰ１０のＣＰＵ２１は、ＲＯＭ２２に記憶された制御プログラムを読み出して、ＲＡＭ２３に展開して実行する。これによって、ＭＦＰ１０には、図５に示す操作受付部１０ａと、スキャナ制御部１０ｂと、署名対象データ送信部１０ｃと、署名指示部１０ｄと、署名済データ受信部１０ｅと、署名済データ送信部１０ｆとが、機能部として生成される。
【００５７】
操作受付部１０ａは、ユーザが操作部２００に対して行った操作を受け付ける。また、操作受付部１０ａは、ユーザが操作部２００に対して行った操作を、ＭＦＰ１０に実行させる。
【００５８】
スキャナ制御部１０ｂは、スキャナ１００でスキャンしたアナログデータ（署名対象データ）を、スキャナエンジン１７によって、例えばＰＤＦ（Portable  Document  Format）ファイル等の電子データである署名対象電子データＤ１に変換する。
【００５９】
署名対象データ送信部１０ｃは、ユーザが所持する、秘密鍵（機密情報）を保持したＩＣカード４０（電子署名装置の一例）に対して、署名対象電子データＤ１を送信する。なお、署名対象データ送信部１０ｃは、署名対象データ送信手段の一例である。
【００６０】
署名指示部１０ｄは、ＩＣカード４０に対して、ＩＣカード４０が保持する秘密鍵（機密情報）に基づいて、署名対象データに対する電子的な署名を行う指示を与える。なお、署名指示部１０ｄは、署名指示手段の一例である。
【００６１】
署名済データ受信部１０ｅは、ＩＣカード４０から、署名済電子データＤ２（署名済データ）を取得する。なお、署名済データ受信部１０ｅは、取得手段の一例である。
【００６２】
署名済データ送信部１０ｆは、署名済電子データＤ２をワークフローサーバ６０に送信する。
【００６３】
また、カードリーダー５０のＣＰＵ５１は、ＲＯＭ５２に記憶された制御プログラムを読み出して、ＲＡＭ５３に展開して実行する。これによって、カードリーダー５０には、図５に示す署名対象データ受渡部５０ａと、署名済データ受渡部５０ｂとが、機能部として生成される。
【００６４】
署名対象データ受渡部５０ａは、ＭＦＰ１０から署名対象電子データＤ１を受け取って、ＩＣカード４０に渡す。
【００６５】
署名済データ受渡部５０ｂは、ＩＣカード４０から署名済電子データＤ２を受け取って、ＭＦＰ１０に渡す。
【００６６】
また、ＩＣカード４０のＣＰＵ４１は、ＲＯＭ４２に記憶された制御プログラムを読み出して、ＲＡＭ４３に展開して実行する。これによって、ＩＣカード４０には、図５に示す機密情報保持部４０ａと、署名対象データ受信部４０ｂと、署名実行部４０ｃと、署名済データ送信部４０ｄとが、機能部として生成される。
【００６７】
機密情報保持部４０ａは、ＩＣカード４０に秘密鍵（機密情報）を保持させる。なお、機密情報保持部４０ａは、機密情報保持手段の一例である。
【００６８】
署名対象データ受信部４０ｂは、ＭＦＰ１０から、カードリーダー５０を介して、署名対象電子データＤ１を受信する。なお、署名対象データ受信部４０ｂは、受信手段の一例である。
【００６９】
署名実行部４０ｃは、署名指示部１０ｄの指示を受けて、署名対象データ受信部４０ｂが受信した署名対象電子データＤ１（署名対象データ）に対して、秘密鍵（機密情報）を用いて電子署名データを生成して、電子署名を行う。なお、署名実行部４０ｃは、署名実行手段の一例である。
【００７０】
署名済データ送信部４０ｄは、署名実行部４０ｃが署名した署名済電子データＤ２（署名済データ）を、カードリーダー５０を介して、ＭＦＰ１０に送信する。なお、署名済データ送信部４０ｄは、署名済データ送信手段の一例である。
【００７１】
また、ワークフローサーバ６０のＣＰＵ６１は、ＲＯＭ６２に記憶された制御プログラムを読み出して、ＲＡＭ６３に展開して実行する。これによって、ワークフローサーバ６０には、図５に示す署名済データ受信部６０ａと、ワークフロー処理部６０ｂと、署名済データ配信部６０ｃとが、機能部として生成される。
【００７２】
署名済データ受信部６０ａは、ＭＦＰ１０から、ネットワークＮを介して、署名済電子データＤ２を受信する。
【００７３】
ワークフロー処理部６０ｂは、署名済電子データＤ２を、ユーザが指定したワークフローに沿って処理する。ワークフロー処理部６０ｂは、予め設定された複数の中間処理機能を備えており、その中から、ワークフローとして選択された中間処理を実行する。なお、ワークフロー処理部６０ｂは、ワークフロー処理手段の一例である。
【００７４】
署名済データ配信部６０ｃは、ワークフロー処理部６０ｂが処理した署名済電子データＤ２を、ネットワークＮを介して、配信電子データＤ３として配信先サーバ７０に配信する。なお、署名済データ配信部６０ｃは、配信手段の一例である。
【００７５】
また、配信先サーバ７０のＣＰＵ７１は、ＲＯＭ７２に記憶された制御プログラムを読み出して、ＲＡＭ７３に展開して実行する。これによって、配信先サーバ７０には、図５に示す配信データ受信部７０ａと、署名検証部７０ｂと、データ閲覧部７０ｃとが、機能部として生成される。
【００７６】
配信データ受信部７０ａは、ワークフローサーバ６０から、ネットワークＮを介して、配信電子データＤ３を受信する。
【００７７】
署名検証部７０ｂは、配信先サーバ７０が有する公開鍵を用いて電子署名を復号する。そして、署名検証部７０ｂは、配信電子データＤ３が改竄されていないかを検証する。
【００７８】
データ閲覧部７０ｃは、ユーザに、配信電子データＤ３を閲覧させる。
【００７９】
（情報処理システムが行う処理の流れの説明）
次に、図６を用いて、情報処理システム１を構成するオブジェクト間でなされるメッセージのやり取りについて説明する。図６は、本実施形態に係る情報処理システム１の内部におけるメッセージの流れの一例を示すシーケンス図である。
【００８０】
本シーケンスは、情報処理システム１が、画像データをＰＤＦ形式の電子データに変換し、そのＰＤＦファイルに対して電子署名を行うことを前提としたものである。まず、ユーザは、ＭＦＰ１０に接続されたカードリーダー５０に対して、ＩＣカード４０をかざす、または挿入する等してログインを実施する（メッセージＳ３０、Ｓ３１）。
【００８１】
そして、ユーザは、署名済電子データＤ２を配信する際に実施するワークフローを選択する（メッセージＳ３２）。
【００８２】
ユーザは、ＭＦＰ１０に原稿を載置して、スキャンを実行させる（メッセージＳ３３）。ＭＦＰ１０はスキャン動作を行って、ＭＦＰ１０内で電子画像を生成する（メッセージＳ３４）。そして、ＭＦＰ１０は、当該電子画像をＰＤＦ化する（メッセージＳ３５）。ＰＤＦ化されたデータが、署名対象電子データＤ１である。
【００８３】
次にＭＦＰ１０はＩＣカード４０に対して、カードリーダー５０を介して電子署名依頼を出し、ＰＤＦデータを送る（メッセージＳ３６）。ＰＤＦデータは、カードリーダー５０を経て、署名依頼とともにＩＣカード４０に渡される（メッセージＳ３７）。そして、ＩＣカード４０の署名実行部４０ｃにおいて、電子署名データが生成されて、電子的な署名が実施される。
【００８４】
ＩＣカード４０で生成された署名済電子データＤ２は、カードリーダー５０を介してＭＦＰ１０に返される（メッセージＳ３８、Ｓ３９）。電子署名が行われたことは、例えば、操作パネル２７に表示を行うことによってユーザに通知される（メッセージＳ４０）。
【００８５】
ＭＦＰ１０は、署名済電子データＤ２をワークフローの設定に応じてワークフローサーバ６０に送付する（メッセージＳ４１）。送付された署名済電子データＤ２は、ワークフロー処理部６０ｂにおいて、ワークフローの設定に応じた中間処理を施される（メッセージＳ４２）。なお、中間処理には、例えば、書誌情報の追加等が含まれる。その後、中間処理を施されたデータは、配信電子データＤ３として配信先サーバ７０に配信される（メッセージＳ４３）。
【００８６】
配信先サーバ７０は、ユーザから配信電子データＤ３の閲覧指示を受けると（メッセージＳ４４）、配信先サーバ７０に送られた配信電子データＤ３は、配信先サーバ７０において、公開鍵を用いて、改竄されたか否かの検証を受ける（メッセージＳ４５）。なお、閲覧指示を行うユーザは、原稿をスキャンしたユーザ以外であってもよい。
【００８７】
そして、配信電子データＤ３の改竄が行われていないと判定されると、ユーザは、配信電子データＤ３を閲覧することができる（メッセージＳ４６）。
【００８８】
なお、本実施形態において、ユーザは、電子署名が行われた後であれば、いつでも、情報処理システム１からログアウトしてよい（メッセージＳ４７、Ｓ４８）。なお、ログアウトする際には、ＩＣカード４０をかざす、またはＩＣカード４０をカードリーダー５０から抜去することによって行ってもよいし、操作パネル２７を操作することによって行ってもよい。なお、原稿のスキャンが完了していたとしても、電子署名を行っている間は、ユーザはＭＦＰ１０からログアウトすることができない。電子署名を行っている間にログアウトした場合は、電子署名の処理が途中で中断されて、電子データの配信は行なわれない。
【００８９】
（ＭＦＰ、ＩＣカードおよびワークフローサーバが行う処理の流れの説明）
次に、図７を用いて、ＭＦＰ１０、ＩＣカード４０およびワークフローサーバ６０が行う処理の流れについて説明する。図７は、実施形態に係る情報処理システム１において、ＭＦＰ１０、ＩＣカード４０およびワークフローサーバ６０が行う処理の流れの一例を示すフローチャートである。
【００９０】
ユーザは、まず、ＭＦＰ１０に接続されたカードリーダー５０に対して、ＩＣカード４０をかざす、挿入する等してログインを実施する（ステップＳ５０）。
【００９１】
続いて、ユーザは、署名済電子データＤ２を配信先サーバ７０に配信する際に実施するワークフローを選択する（ステップＳ５１）。
【００９２】
さらに、ユーザは、ＭＦＰ１０のスキャナ制御部１０ｂに、電子化したい原稿のスキャンを実行させる（ステップＳ５２）。
【００９３】
スキャナ制御部１０ｂは、スキャンした原稿の電子画像を生成する（ステップＳ５３）。
【００９４】
さらに、スキャナ制御部１０ｂは、電子画像をＰＤＦ化して、署名対象ＰＤＦデータである署名対象電子データＤ１を生成する（ステップＳ５４）。
【００９５】
ＭＦＰ１０の操作受付部１０ａは、ＩＣカード４０を認識したかを判定する（ステップＳ５５）。ＩＣカード４０を認識したと判定する（ステップＳ５５：Ｙｅｓ）と、ステップＳ５６に移行する。一方、ＩＣカード４０を認識したと判定しない（ステップＳ５５：Ｎｏ）と、ステップＳ５８に移行する。
【００９６】
ステップＳ５５においてＹｅｓと判定されると、ステップＳ５６において、ＭＦＰ１０の署名対象データ送信部１０ｃは、署名対象電子データＤ１を、カードリーダー５０を介して、ＩＣカード４０に送付する。その際、ＭＦＰ１０の署名指示部１０ｄは、ＩＣカード４０に対して、署名対象電子データＤ１に対する電子署名の実行を指示する。その後、ステップＳ５７に移行する。
【００９７】
ステップＳ５５においてＮｏと判定されると、ステップＳ５８において、ＭＦＰ１０の操作受付部１０ａは、ユーザに対して、ＩＣカード４０の入力を要求する。具体的には、操作パネル２７に、ＩＣカード４０の入力を要求するメッセージを表示する。
【００９８】
続いて、ＭＦＰ１０の操作受付部１０ａは、ＩＣカード４０を認識したかを判定する（ステップＳ５９）。ＩＣカード４０を認識したと判定する（ステップＳ５９：Ｙｅｓ）と、前記したステップＳ５６に移行する。一方、ＩＣカード４０を認識したと判定しない（ステップＳ５９：Ｎｏ）と、ステップＳ６０に移行する。
【００９９】
ステップＳ５９においてＮｏと判定されると、ステップＳ６０において、ＭＦＰ１０の操作受付部１０ａは、ユーザに対して、署名を継続するかを確認する。具体的には、ＭＦＰ１０の操作受付部１０ａは、操作パネル２７に、署名を継続するかをユーザに確認する表示を行い、ユーザの選択操作を待つ。そして、操作受付部１０ａは、ユーザの選択操作を受けて、署名を継続すると判定する（ステップＳ６０：Ｙｅｓ）と、前記したステップＳ５８に移行する。一方、操作受付部１０ａが、ユーザの選択操作を受けて、署名を継続しないと判定する（ステップＳ６０：Ｎｏ）と、前記したステップＳ５２に戻る。
【０１００】
ステップＳ５６に続いて、ＩＣカード４０の署名実行部４０ｃは、署名対象電子データＤ１に対して、ＩＣカード４０が保持する秘密鍵を用いて電子署名データを生成して、電子署名を実行する（ステップＳ５７）。
【０１０１】
ＩＣカード４０の署名実行部４０ｃは、電子署名が成功したかを判定する（ステップＳ６１）。電子署名が成功したと判定される（ステップＳ６１：Ｙｅｓ）と、ステップＳ６２に移行する。一方、電子署名が成功したと判定されない（ステップＳ６１：Ｎｏ）と、ステップＳ６７に移行する。
【０１０２】
ステップＳ６１においてＮｏと判定されると、ステップＳ６７において、ＩＣカード４０の署名実行部４０ｃは、電子署名に失敗した旨を、ＭＦＰ１０の操作受付部１０ａに通知する。
【０１０３】
そして、電子署名の失敗を通知された操作受付部１０ａは、ユーザから署名のリトライ要求があるかを判定する（ステップＳ６８）。署名のリトライ要求があると判定される（ステップＳ６８：Ｙｅｓ）と、前記したステップＳ６１に移行する。一方、署名のリトライ要求があると判定されない（ステップＳ６８：Ｎｏ）と、前記したステップＳ５２に移行する。
【０１０４】
ステップＳ６１においてＹｅｓと判定されると、ステップＳ６２において、ＩＣカード４０の署名済データ送信部４０ｄは、署名済電子データＤ２をＭＦＰ１０に送付する。
【０１０５】
ＭＦＰ１０の署名済データ受信部１０ｅは、署名済電子データＤ２を受信して、署名済電子データＤ２に対して実施するジョブを生成する（ステップＳ６３）。
【０１０６】
ＭＦＰ１０の署名済データ送信部１０ｆは、作成したジョブをワークフローサーバ６０に送付して、前記したステップＳ５１で選択したワークフローに投入する（ステップＳ６４）。
【０１０７】
ワークフローサーバ６０の署名済データ受信部６０ａは、署名済電子データＤ２を受信して、ワークフロー処理部６０ｂは、ワークフローを実行する（ステップＳ６５）。
【０１０８】
ワークフローサーバ６０の署名済データ配信部６０ｃは、ワークフローの実行結果を、配信電子データＤ３として配信先サーバ７０に配信する（ステップＳ６６）。なお、本実施形態では、ＰＤＦファイルに対して電子署名を行うものとして説明したが、署名対象は、電子データであればＰＤＦファイルに限ることはない。
【０１０９】
以上説明したように、本実施の形態に係るＭＦＰ１０（情報処理装置）によれば、署名対象データ送信部１０ｃ（署名対象データ送信手段）が、秘密鍵（機密情報）を保持したＩＣカード４０（電子署名装置）に対して、電子化された署名対象電子データＤ１（署名対象データ）を送信する。そして、署名指示部１０ｄ（署名指示手段）が、ＩＣカード４０に、ＩＣカード４０の内部において、受信した署名対象電子データＤ１に対して秘密鍵に基づく電子的な署名を行わせる。さらに、署名済データ受信部１０ｅ（取得手段）が、ＩＣカード４０から、署名済電子データＤ２（署名済データ）を取得する。すなわち、ＭＦＰ１０は、ＩＣカード４０に対して電子署名の実行を指示して、ＩＣカード４０は、当該ＩＣカード４０内で署名の付与を完了させる。したがって、電子署名を行う際に、電子署名データがＩＣカード４０から外に出ることがないため、機密情報の外部への流出のリスクを下げることができる。
【０１１０】
また、本実施の形態に係るＭＦＰ１０（情報処理装置）によれば、ワークフロー処理部６０ｂ（ワークフロー処理手段）が、署名済データ受信部１０ｅ（取得手段）が取得した署名済電子データＤ２（署名済データ）を受け取って、ユーザが指定したワークフローに沿って処理する。したがって、署名済電子データＤ２に対して、ユーザが所望する処理を確実に施すことができる。
【０１１１】
また、本実施の形態に係るＭＦＰ１０（情報処理装置）によれば、署名済データ配信部６０ｃ（配信手段）が、ワークフロー処理部６０ｂ（ワークフロー処理手段）が処理した署名済電子データＤ２（署名済データ）を配信先サーバ７０に配信する。したがって、署名済電子データＤ２を、指定した配信先サーバ７０に確実に配信することができる。
【０１１２】
また、本実施の形態に係るＭＦＰ１０（情報処理装置）によれば、電子署名装置はＩＣカード４０である。したがって、ユーザは、秘密鍵（機密情報）を記憶したＩＣカード４０を自ら保持することができるため、機密情報の外部への流出のリスクを下げることができる。
【０１１３】
また、本実施の形態に係る情報処理システム１によれば、ＭＦＰ１０（情報処理装置）が、ＩＣカード４０（電子署名装置）に対して、署名対象電子データＤ１（署名対象データ）を送信する。秘密鍵（機密情報）を保持するＩＣカード４０は、ユーザに所持されて、署名対象電子データＤ１に対して電子的に署名を行う。そして、ＭＦＰ１０は、ＩＣカード４０から、署名済電子データＤ２（署名済データ）を取得する。したがって、電子署名を行う際に、秘密鍵がＩＣカード４０から外に出ることがないため、機密情報の流出のリスクを下げることができる。
【０１１４】
以上、本発明の実施の形態について説明したが、前記した実施の形態は、例として提示したものであり、本発明の範囲を限定することは意図していない。この新規な実施の形態は、その他の様々な形態で実施されることが可能である。また、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。また、この実施の形態は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【０１１５】
例えば、本実施形態の例では、情報処理装置の例としてＭＦＰ１０（複合機）を例にあげて説明したが、電子署名が付与された電子データを取り扱う機器であれば、ＭＦＰ１０に限らずに本発明を適用することが可能である。例えば、本発明は、ＰＣ（パーソナルコンピュータ）、ＩＷＢ（インタラクティブ  ホワイトボード）等の機器に適用することも可能である。
【０１１６】
また、本実施形態の例では、ワークフローサーバ６０が、ワークフロー処理を行うものとして説明したが、ワークフロー処理を行う場所はワークフローサーバ６０に限定されない。すなわち、ＭＦＰ１０の内部でワークフロー処理を行ってもよい。
【０１１７】
また、署名対象電子データＤ１は、ＭＦＰ１０の外部、例えば、ＭＦＰ１０とネットワークＮを介して接続された外部サーバ等で生成してもよい。その場合、ＭＦＰ１０は、スキャナ１００によって生成した電子データを、一旦外部サーバに送信する。そして、外部サーバ等において、電子データの形式を変換する等して、所望の形式の電子データを作成した後で、作成した電子データを、再度ＭＦＰ１０に戻すようにしてもよい。
【０１１８】
また、本実施形態の例では、情報処理システム１は、ＣＰＵ１１（２１、４１、５１、６１、７１）が、各種処理を制御プログラムで実現することとしたが、制御プログラムの一部または全部を、ＩＣ（Integrated  Circuit）等のハードウェアで実現してもよい。また、制御プログラムは、インストール可能な形式、または実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ、ブルーレイディスク（登録商標）、半導体メモリ等のコンピュータ装置で読み取り可能な記録媒体に記録して提供してもよい。ＤＶＤは、「Digital  Versatile  Disc」の略記である。また、制御プログラムは、インターネット等のネットワーク経由でインストールする形態で提供してもよい。
【符号の説明】
【０１１９】
１    情報処理システム
１０    ＭＦＰ（情報処理装置、複合機）
１０ｃ    署名対象データ送信部（署名対象データ送信手段）
１０ｄ    署名指示部（署名指示手段）
１０ｅ    署名済データ受信部（取得手段）
４０    ＩＣカード（電子署名装置、機密情報保持手段）
４０ａ    機密情報保持部（機密情報保持手段）
４０ｂ    署名対象データ受信部（受信手段）
４０ｃ    署名実行部（署名実行手段）
４０ｄ    署名済データ送信部（署名済データ送信手段）
５０    カードリーダー
６０    ワークフローサーバ
６０ｂ    ワークフロー処理部（ワークフロー処理手段）
６０ｃ    署名済データ配信部
７０    配信先サーバ
１００    スキャナ
２００    操作部
Ｄ１    署名対象電子データ（署名対象データ）
Ｄ２    署名済電子データ（署名済データ）
Ｄ３    配信電子データ
【先行技術文献】
【特許文献】
【０１２０】
【特許文献１】特開２００４−１５１８９７号公報
【図１】
2019161514.tif 000003
【図２】
2019161514.tif 000004
【図３】
2019161514.tif 000005
【図４】
2019161514.tif 000006
【図５】
2019161514.tif 000007
【図６】
2019161514.tif 000008
【図７】
2019161514.tif 000009