(57)【要約】【課題】複数の装置での利用が可能な秘密鍵の安全性を向上させる。【解決手段】個人認証されたユーザの署名に必要な秘密鍵を第１分散鍵と第２分散鍵とに分散する分散部１０２と、第１分散鍵を記憶する記憶部１４と、ユーザの所定の操作に応じて第２分散鍵を分散機器に保存させる保存制御部１０３と、署名に関するタイミングで分散機器から第２分散鍵を収集する収集部１０４と、収集部１０４が収集した第２分散鍵と記憶部１４に記載している第１分散鍵とに基づいて秘密鍵を復元する復元部１０５と、復元部１０５が復元した秘密鍵で署名情報を生成する生成部１０６と、生成部１０６が署名情報を生成した後、秘密鍵と収集した第２分散鍵とを消去する消去部１０７と、を備える情報処理装置を提供する。【選択図】図４
2019161617.tif 000002
【特許請求の範囲】
【請求項１】
個人認証されたユーザの署名に必要な秘密鍵を第１分散鍵と第２分散鍵とに分散する分散部と、
前記第１分散鍵を記憶する記憶部と、
前記ユーザの所定の操作に応じて、前記第２分散鍵を分散機器に保存させる保存制御部と、
前記署名に関するタイミングで前記分散機器から前記第２分散鍵を収集する収集部と、
前記収集部が収集した前記第２分散鍵と前記記憶部に記載している前記第１分散鍵とに基づいて前記秘密鍵を復元する復元部と、
前記復元部が復元した前記秘密鍵で署名情報を生成する生成部と、
前記生成部が前記署名情報を生成した後、前記秘密鍵と収集した前記第２分散鍵とを消去する消去部と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記収集部は、前記ユーザの個人認証がされてから前記署名情報を生成する前に、前記分散機器から前記第２分散鍵を収集する
請求項１に記載の情報処理装置。
【請求項３】
前記収集部は、前記署名情報の作成が要求されたタイミングで、前記分散機器から前記第２分散鍵を収集する
請求項１に記載の情報処理装置。
【請求項４】
前記収集部は、前記署名情報の作成が必要となったタイミングで、前記分散機器から前記第２分散鍵を収集する
請求項１に記載の情報処理装置。
【請求項５】
前記消去部は、前記ユーザの利用が終了したタイミングで、前記秘密鍵と前記収集部が収集した前記第２分散鍵とを消去する
請求項１から４のいずれか１項に記載の情報処理装置。
【請求項６】
前記消去部は、前記秘密鍵を復元または前記署名情報の作成が終了してから一定時間が経過した場合に、前記秘密鍵と前記収集部が収集した前記第２分散鍵とを消去する
請求項１から５のいずれか１項に記載の情報処理装置。
【請求項７】
前記消去部は、前記秘密鍵を復元した後、前記署名情報の生成がキャンセルされたタイミングで、前記秘密鍵と前記収集部が収集した前記第２分散鍵とを消去する
請求項１から６のいずれか１項に記載の情報処理装置。
【請求項８】
情報処理装置と、分散機器とを備える情報処理システムであって、
前記情報処理装置は、
個人認証されたユーザの署名に必要な秘密鍵を第１分散鍵と第２分散鍵とに分散する分散部と、
前記第１分散鍵を記憶する記憶部と、
前記ユーザの所定の操作に応じて、前記第２分散鍵を分散機器に保存させる保存制御部と、
前記署名に関するタイミングで前記分散機器から前記第２分散鍵を収集する収集部と、
前記収集部が収集した前記第２分散鍵と前記記憶部に記載している前記第１分散鍵とに基づいて前記秘密鍵を復元する復元部と、
前記復元部が復元した前記秘密鍵で署名情報を生成する生成部と、
前記生成部が前記署名情報を生成した後、前記秘密鍵と収集した前記第２分散鍵とを消去する消去部と、
を備え、
前記分散機器は、
前記情報処理装置が分散した前記第２分散鍵を記憶する第２記憶部と、
前記情報処理装置からの要求に応じて、前記記憶部が記憶している前記第２分散鍵の前記情報処理装置への送信を制御する送信制御部と、
を備えることを特徴とする情報処理システム。
【請求項９】
個人認証されたユーザの署名に必要な秘密鍵を第１分散鍵と第２分散鍵とに分散する分散ステップと、
前記第１分散鍵を記憶部に記憶する記憶ステップと、
前記ユーザの所定の操作に応じて、前記第２分散鍵を分散機器に保存させる保存制御ステップと、
前記署名に関するタイミングで前記分散機器から前記第２分散鍵を収集する収集ステップと、
収集した前記第２分散鍵と前記記憶部に記載している前記第１分散鍵とに基づいて前記秘密鍵を復元する復元ステップと、
復元した前記秘密鍵で署名情報を生成する生成ステップと、
前記署名情報を生成した後、前記秘密鍵と収集した前記第２分散鍵とを消去する消去ステップと、
をコンピュータに実行させるための情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理システムおよび情報処理プログラムに関する。
【背景技術】
【０００２】
特許文献１には、携帯型記録媒体を所有する使用者のログイン時に、携帯型記憶媒体に記憶されている秘密鍵を読み取り、使用者が選択した秘密鍵を必要とするジョブを、秘密鍵を用いて実行するジョブ実行装置が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかし、このようなジョブ実行装置は、ジョブ実行装置が複数存在する環境における秘密鍵の扱いについては何も考慮されていないため、同じ秘密鍵をそれぞれのジョブ実行装置にインストールする必要があり、それに伴い秘密鍵が流出する懸念がある。
【０００４】
本発明は、上記に鑑みてなされたものであって、複数の装置での利用が可能な秘密鍵の安全性を向上させる情報処理装置、情報処理システムおよび情報処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
上述した課題を解決し、目的を達成するために、本発明は、個人認証されたユーザの署名に必要な秘密鍵を第１分散鍵と第２分散鍵とに分散する分散部と、前記第１分散鍵を記憶する記憶部と、前記ユーザの所定の操作に応じて、前記第２分散鍵を分散機器に保存させる保存制御部と、前記署名に関するタイミングで前記分散機器から前記第２分散鍵を収集する収集部と、前記収集部が収集した前記第２分散鍵と前記記憶部に記載している前記第１分散鍵とに基づいて前記秘密鍵を復元する復元部と、前記復元部が復元した前記秘密鍵で署名情報を生成する生成部と、前記生成部が前記署名情報を生成した後、前記秘密鍵と収集した前記第２分散鍵とを消去する消去部と、を備える。
【発明の効果】
【０００６】
本発明によれば、複数の装置での利用が可能な秘密鍵の安全性を向上させることができるという効果を奏する。
【図面の簡単な説明】
【０００７】
【図１】図１は、本実施形態にかかる情報処理システムの概要構成の例を示す図である。
【図２】図２は、実施形態に係る情報処理システムの動作の例を示す図である。
【図３】図３は、実施形態に係るＭＦＰのハードウェア構成の例を示すブロック図である。
【図４】図４は、実施形態に係るＭＦＰの機能構成の例を示すブロック図である。
【図５】図５は、秘密鍵の分散先を設定する画面の例を示す図である。
【図６】図６は、本実施形態に係る情報処理システムの分散先設定時の動作の例に係るシーケンス図である。
【図７】図７は、秘密鍵をインポートする画面の例を示す図である。
【図８】図８は、本実施形態に係る情報処理システムの秘密鍵分散時の動作の例に係るシーケンス図である。
【図９】図９は、ＭＦＰのスキャナを操作するスキャナ画面の例を示す図である。
【図１０】図１０は、本実施形態に係るＭＦＰの秘密鍵の復元動作の例を示すシーケンス図である。
【図１１】図１１は、本実施形態に係るＭＦＰの秘密鍵の復元タイミングの第１変形例を示すシーケンス図である。
【図１２】図１２は、本実施形態に係るＭＦＰの秘密鍵の復元タイミングの第２変形例を示すシーケンス図である。
【図１３】図１３は、本実施形態に係るＭＦＰの秘密鍵の消去動作の例を示すシーケンス図である。
【図１４】図１４は、本実施形態に係るＭＦＰの秘密鍵の消去タイミングの第１変形例を示すシーケンス図である。
【図１５】図１５は、本実施形態に係るＭＦＰの秘密鍵の消去タイミングの第２変形例を示すシーケンス図である。
【図１６】図１６は、本実施形態に係るＭＦＰの秘密鍵の消去タイミングの第３変形例を示すシーケンス図である。
【発明を実施するための形態】
【０００８】
以下に、本発明に係る実施形態を図面に基づいて詳細に説明する。なお、この実施形態によりこの発明が限定されるものではない。
【０００９】
（情報処理システム１の概略構成）
図１は、本実施形態にかかる情報処理システム１の概要構成の例を示す図である。図１に示すように、情報処理システム１は、複数のＭＦＰ（複合機：Ｍｕｌｔｉ−Ｆｕｎｃｔｉｏｎａｌ  Ｐｒｉｎｔｅｒ）１０と、認証サーバ３０と、メールサーバ４０、クライアント５０とを備える。複数のＭＦＰ１０、認証サーバ３０、メールサーバ４０およびクライアント５０は、ネットワーク２を介して互いに通信可能に構成されている。ネットワーク２は、例えば、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）またはインターネット等である。なお、ネットワーク２は、複数のネットワークを含むものとしてもよく、有線および無線のネットワークが混在して含まれているものとしてもよい。
【００１０】
ＭＦＰ１０は、用紙の表面をスキャンして画像データを生成する機能を有する。ＭＦＰ１０は、生成した画像データを、ネットワーク２を介してクライアント５０へ送信する。本実施形態のＭＦＰ１０は、コピー機能、プリンタ機能、スキャナ機能およびファクシミリ機能のうち少なくとも２つの機能を有する複合機であるが、これに限らず、スキャナ装置等を採用することができる。
【００１１】
図１に示す例では、情報処理システム１は、４台のＭＦＰ１０Ａ，１０Ｂ，１０Ｃ，１０Ｄを備えている。ＭＦＰ１０Ａは、ＩＰアドレスとしてａｄｄｒ＿Ａが割り当てられている。ＭＦＰ１０Ｂは、ＩＰアドレスとしてａｄｄｒ＿Ｂが割り当てられている。ＭＦＰ１０Ｃは、ＩＰアドレスとしてａｄｄｒ＿Ｃが割り当てられている。ＭＦＰ１０Ｄは、ＩＰアドレスとしてａｄｄｒ＿Ｄが割り当てられている。以下の説明では、４台のＭＦＰ１０Ａ，１０Ｂ，１０Ｃ，１０Ｄを区別しない場合、ＭＦＰ１０と記載する。また、ＭＦＰ１０またはＭＦＰ１０Ａ，１０Ｂ，１０Ｃ，１０Ｄを「自機」と表記する場合がある。
【００１２】
認証サーバ３０は、ユーザの個人認証の処理を行う装置である。ユーザは、ＭＦＰ１０を利用する利用者、ＭＦＰ１０を管理する管理者等を含む。メールサーバ４０は、メールの送受信、蓄積等を行う装置である。クライアント５０は、ＭＦＰ１０からのデータをメール等で受信する装置である。認証サーバ３０、メールサーバ４０及びクライアント５０は、例えば、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）等によって構成される。
【００１３】
（情報処理システム１の動作）
図２は、実施形態に係る情報処理システム１の動作の例を示す図である。図２に示す例では、ＭＦＰ１０Ａ，１０Ｂは、本発明の情報処理装置および分散機器として機能している。
【００１４】
ＭＦＰ１０Ａは、個人認証したユーザの秘密鍵Ｋを取得すると、秘密鍵Ｋを所定の分散規則で分散鍵ＢＫ１と分散鍵ＢＫ２とに分散する（ステップＳ１）。秘密鍵Ｋは、例えば、ユーザに付与された公開鍵等の鍵データである。分散規則は、例えば、分散させるＭＦＰ１０の台数に対応した数で分割する所定のアルゴリズムを含む。ＭＦＰ１０Ａは、分散が終了した後、秘密鍵Ｋを消去する（ステップＳ２）。なお、秘密鍵Ｋを消去するタイミングは、例えば、分散鍵ＢＫ１，ＢＫ２を保存した後でもよい。ＭＦＰ１０Ａは、分散した分散鍵ＢＫ１を、ユーザの識別情報、分散先情報等に紐付けて自機の記憶装置に永続的に保存する（ステップＳ３）。識別情報は、例えば、ユーザＩＤを含む。分散先情報は、例えば、ユーザＩＤに対応した分散鍵ＢＫ１，ＢＫ２を格納しているＭＦＰ１０Ａ，１０Ｂを示す情報を含む。ＭＦＰ１０Ａは、分散した分散鍵ＢＫ２とユーザの識別情報と分散先情報とをＭＦＰ１０Ｂに送信する（ステップＳ４）。ＭＦＰ１０Ｂは、ＭＦＰ１０Ａから受信した分散鍵ＢＫ２を、ユーザの識別情報に紐付けて自機の記憶装置に永続的に保存する（ステップＳ５）。
【００１５】
ＭＦＰ１０Ｂは、個人認証されたユーザからの要求に応じて、署名付きスキャン機能を実行する（ステップＳ６）。署名付きスキャン機能とは、スキャンした画像データに署名情報を貼付する機能である。署名情報は、例えば、保護対象が改ざんされているか否かを検証するための情報である。署名は、例えば、機器署名と、ユーザ署名とを含む。機器署名は、例えば、デバイスを証明する署名である。ユーザ署名は、ユーザを証明する署名（自己証明）である。ＭＦＰ１０Ｂは、ユーザのＭＦＰ１０Ａに対して分散鍵ＢＫ１を要求する。これに対し、ＭＦＰ１０Ａは、要求された分散鍵ＢＫ１をＭＦＰ１０Ｂに送信する（ステップＳ８）。
【００１６】
ＭＦＰ１０Ｂは、ＭＦＰ１０Ａから分散鍵ＢＫ１を受信すると、当該分散鍵ＢＫ１と自機の分散鍵ＢＫ２と分散規則とに基づいて、秘密鍵Ｋを復元する（ステップＳ９）。ＭＦＰ１０Ｂは、復元した秘密鍵Ｋで署名情報を生成し、スキャンした画像データに貼付する（ステップＳ１０）。ＭＦＰ１０Ｂは、署名情報を貼付した画像データを含む署名付きメールをメールサーバ４０に送信する（ステップＳ１１）。メールサーバ４０は、ＭＦＰ１０Ｂから受信した署名付きメールを蓄積する（ステップＳ１２）。また、ＭＦＰ１０Ｂは、署名付きメールを送信すると、秘密鍵Ｋ及び収集した分散鍵ＢＫ１を消去する（ステップＳ１３）。
【００１７】
メールサーバ４０は、クライアント５０から最新のメール取得要求を受けると、署名付きメールをクライアント５０に送信する（ステップＳ１４）。クライアント５０は、受信した署名付きメールを表示することで、個人認証されたユーザが間違えなくスキャンし、送信した画像データであることを確認させることができる。
【００１８】
以上のように、情報処理システム１は、個人認証されたユーザの秘密鍵Ｋを分散した分散鍵ＢＫ１，ＢＫ２をＭＦＰ１０Ａ，１０Ｂに分散して保存し、ユーザの署名が必要な場合に分散鍵ＢＫ１，ＢＫ２を収集して秘密鍵Ｋを復元させる。そして、分散鍵ＢＫ１を収集したＭＦＰ１０Ｂは、秘密鍵Ｋを復元させた後、当該秘密鍵Ｋ及び分散鍵ＢＫ１を消去する。その結果、情報処理システム１は、秘密鍵を複数のＭＦＰ１０で用いる場合に、全てのＭＦＰ１０に秘密鍵をインストールする必要がなくなるので、複数のＭＦＰ１０での利用が可能な秘密鍵の安全性を向上させることができる。
【００１９】
また、情報処理システム１は、ユーザが１台のＭＦＰ１０で秘密鍵の分散化を行うことで、複数のＭＦＰ１０に分散鍵ＢＫを保存させることできる。その結果、情報処理システム１は、例えば、ユーザが複数のＭＦＰ１０を選択的に利用する場合、署名情報の生成の都度、ＭＦＰ１０に秘密鍵を読み込ませる必要がないので、利便性を向上させることができる。
【００２０】
（ＭＦＰ１０のハードウェア構成）
図３は、実施形態に係るＭＦＰ１０のハードウェア構成の例を示すブロック図である。図３に示すように、ＭＦＰ１０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１３と、不揮発性メモリ１４と、通信Ｉ／Ｆ（インターフェース）１５と、接続Ｉ／Ｆ１６と、エンジン部１７と、リーダライタ１８と、操作表示部２０とを備える。ＣＰＵ１１と、ＲＯＭ１２と、ＲＡＭ１３と、不揮発性メモリ１４と、通信Ｉ／Ｆ１５と、接続Ｉ／Ｆ１６と、エンジン部１７と、リーダライタ１８とは、システムバス１９を介して相互に接続されている。
【００２１】
ＣＰＵ１１は、ＭＦＰ１０の動作を統括的に制御する。ＣＰＵ１１は、ＲＡＭ１３をワークエリア（作業領域）としてＲＯＭ１２等に格納されたプログラムを実行することで、ＭＦＰ１０全体の動作を制御し、例えば、コピー機構、スキャナ機構、ファクス機構、プリンタ機構などの各種機構を実現する。
【００２２】
ＲＯＭ１２は、プログラムおよびデータの格納用メモリとして用いる読み出し専用のメモリである。ＲＯＭ１２は、ＣＰＵ１１が実行する各種プログラムを記憶している。ＲＯＭ１２は、ＭＦＰ１０を情報処理装置及び分散機器の少なくとも一方として機能させるためのプログラムを記憶している。
【００２３】
ＲＡＭ１３は、ＣＰＵ１１がプログラムを実行する場合にその作業領域として使用されるメモリである。ＲＡＭ１３は、秘密鍵、他のＭＦＰ１０から収集した分散鍵等の消去する必要があるデータを一時的に記憶する。秘密鍵及び収集した分散鍵は、ＲＡＭ１３に記憶することで、万が一ＲＡＭ１３に残っていても、ＭＦＰ１０の電源ＯＦＦ／ＯＮのタイミングで消去される。
【００２４】
不揮発性メモリ１４は、電源遮断後においても記憶内容を保持可能なメモリである。不揮発性メモリ１４は、自機に保存する必要がある分散鍵を、ユーザの識別情報、分散先情報等に紐付けて永続的に記憶する。
【００２５】
通信Ｉ／Ｆ１５は、ネットワーク２と接続するためのインターフェースである。接続Ｉ／Ｆ１６は、通信路を介して操作表示部２０と通信するためのインターフェースである。ＣＰＵ１１と操作表示部２０とは、接続Ｉ／Ｆ１６を介して相互に通信可能に接続されている。通信路は、例えばＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）規格のものを用いることもできるが、有線か無線かを問わず任意の規格のものであってもよい。また、通信路は、インターネット等のネットワークや電話回線等であってもよい。
【００２６】
エンジン部１７は、コピー機構、スキャナ機構、ファクス機構、プリンタ機構、などの機構を実現させるための、汎用的な情報処理および通信以外の処理を行うハードウェアである。例えば、エンジン部１７は、原稿の画像をスキャンして読み取るスキャナ、読み取った画像の画像データや外部装置などから取得した画像データの画像を用紙等の媒体へ印刷するプロッタ、ファクス通信を行うファクスなどを備える。さらに、エンジン部１７は、印刷済み媒体を仕分けるフィニッシャや、原稿を自動給送するＡＤＦ（自動原稿給送装置：Ａｕｔｏ  Ｄｏｃｕｍｅｎｔ  Ｆｅｅｄｅｒ）のような特定のオプションを備えることもできる。
【００２７】
リーダライタ１８は、セット（挿入）されたメモリカード６０に記憶されている情報の読み取り、書き込み等を行う。メモリカード６０は、例えば、ＳＤメモリカード、ＵＳＢメモリ等を含む。リーダライタ１８は、読み取った情報をＣＰＵ１１に送信する。本実施形態では、リーダライタ１８は、メモリカード６０に記憶された秘密鍵Ｋの情報を読み取り、当該秘密鍵Ｋの情報をＣＰＵ１１に送信する。
【００２８】
操作表示部２０は、ユーザの操作入力を受け付けると共に、各種の表示画面を表示する。操作表示部２０は、例えば、タッチパネル等を有する。ＣＰＵ１１と操作表示部２０とは、接続Ｉ／Ｆ１６を介して通信を行う。
【００２９】
なお、上述のＭＦＰ１０のプログラムは、インストール可能な形式または実行可能な形式のファイルによって、コンピュータで読み取り可能な記録媒体に記録されて流通されるようにしてもよい。
【００３０】
また、図３に示すＭＦＰ１０の構成は、一例であり、すべての構成機器を備えている必要はなく、また、他の構成機器を備えているものとしてもよい。
【００３１】
（ＭＦＰ１０の機能構成）
図４は、実施形態に係るＭＦＰ１０の機能構成の例を示すブロック図である。図４に示すように、ＭＦＰ１０は、取得部１０１と、分散部１０２と、保存制御部１０３と、収集部１０４と、復元部１０５と、生成部１０６と、消去部１０７と、送信制御部１１０とを有する。
【００３２】
取得部１０１は、個人認証されたユーザの署名に必要な秘密鍵Ｋを取得する。例えば、取得部１０１は、メモリカード６０から読み取った秘密鍵Ｋを取得したり、操作表示部２０から入力された秘密鍵Ｋを取得したり、通信Ｉ／Ｆ１５を介して受信した秘密鍵Ｋを取得したりする。取得部１０１は、ユーザの識別情報を取得し、当該識別情報を認証サーバ３０に問い合わせる。認証サーバ３０は、識別情報が予め登録されている場合に認証し、登録されていない場合に認証しない。取得部１０１は、ユーザが認証された場合に、秘密鍵Ｋを取得する。なお、取得部１０１は、ユーザの個人認証を行う機能を有してもよい。
【００３３】
分散部１０２は、取得部１０１で取得した秘密鍵Ｋを第１の分散鍵ＢＫと第２の分散鍵ＢＫとに分散する。第１の分散鍵ＢＫは、秘密鍵Ｋを取得した情報処理装置に保存する分散鍵ＢＫである。第２の分散鍵ＢＫは、自機とは異なる他のＭＦＰ１０に保存する分散鍵ＢＫである。分散部１０２は、上述の分散規則に基づいて秘密鍵Ｋを分散する。例えば、４台のＭＦＰ１０に分散して保存する場合、分散部１０２は、秘密鍵Ｋを４つの分散鍵ＢＫに分散する。この場合、分散部１０２は、秘密鍵Ｋを１つの第１の分散鍵ＢＫと３つの第２の分散鍵ＢＫとに分散する。
【００３４】
保存制御部１０３は、ユーザの所定の操作に応じて、第２の分散鍵ＢＫを分散機器である他のＭＦＰ１０に保存させる。ユーザの所定の操作は、例えば、分散機器の設定の操作、操作表示部２０における認証付きスキャンの操作等を含む。保存制御部１０３は、通信Ｉ／Ｆ１５を介して、指定された分散機器に第２の分散鍵ＢＫの保存を要求する。指定された分散機器が複数存在する場合、保存制御部１０３は、全ての分散機器に第２の分散鍵ＢＫの保存を要求する。
【００３５】
保存制御部１０３は、分散鍵ＢＫをユーザが利用可能な複数の分散機器の一部または全てに保存させてもよい。例えば、保存制御部１０３は、ユーザが秘密鍵Ｋの分散先として設定した分散機器を、ユーザが利用可能な分散機器とする。この場合、情報処理システム１は、複数のＭＦＰ１０の各々で署名情報の生成が可能となるため、利便性を向上させることができる。
【００３６】
収集部１０４は、署名に関するタイミングで分散機器から分散鍵ＢＫを収集する。換言すると、収集部１０４は、自機とは異なる他の分散機器から分散鍵ＢＫを第２の分散鍵ＢＫとして収集する。署名に関するタイミングは、ユーザの個人認証がされてから署名情報を生成する前までのタイミングである。例えば、署名に関するタイミングは、署名情報の作成が必要となったタイミングを含んでもよい。署名情報の作成が必要となったタイミングとは、ユーザ署名の設定を行ったタイミングである。この場合、ＭＦＰ１０は、ユーザがスキャナのスタート操作を行う前に、前倒しで分散鍵ＢＫを収集することができる。また、例えば、署名に関するタイミングは、署名情報の作成が要求されたタイミングを含んでもよい。この場合、ＭＦＰ１０は、署名情報の作成が要求された時点で、前倒しで分散鍵ＢＫを収集することができる。
【００３７】
収集部１０４は、通信Ｉ／Ｆ１５を介して、指定されている分散機器に、ユーザに対応した分散鍵ＢＫの送信を要求する。例えば、収集部１０４は、ユーザに対応した分散先情報に基づいて、分散先情報が示す分散機器に対してユーザに対応した分散鍵ＢＫの送信を要求する。分散先情報は、例えば、分散機器のアドレス情報等を含み、ユーザの識別情報に紐付けられて不揮発性メモリ１４に記憶されている。収集部１０４は、送信を要求した分散機器から分散鍵ＢＫを受信すると、当該分散鍵ＢＫをＲＡＭ１３に記憶する。
【００３８】
復元部１０５は、収集部１０４が収集した分散鍵ＢＫと不揮発性メモリ１４に記載している自機の分散鍵ＢＫとに基づいて秘密鍵Ｋを復元する。復元部１０５は、上述の分散規則に基づいて秘密鍵Ｋを復元し、当該秘密鍵ＫをＲＡＭ１３に記憶する。
【００３９】
生成部１０６は、復元部１０５が復元した秘密鍵Ｋで署名情報を生成する。生成部１０６は、例えば、ユーザの電子署名を秘密鍵Ｋで暗号化して署名情報を生成する。署名情報の生成は、周知の手法を用いればよい。生成部１０６が生成した署名情報は、保証対象のデータに付加される。本実施形態では、ＭＦＰ１０は、生成した署名情報をスキャンした画像データに付加する。
【００４０】
消去部１０７は、生成部１０６が署名情報を生成した後、復元部１０５が復元した秘密鍵Ｋと収集部１０４が収集した分散鍵ＢＫとを消去する。換言すると、消去部１０７は、署名情報の生成に用いた秘密鍵Ｋと、分散機器から収集した分散鍵ＢＫとをＲＡＭ１３（ＭＦＰ１０）から消去する。
【００４１】
消去部１０７は、ユーザの利用が終了したタイミングで、秘密鍵Ｋと収集した分散鍵ＢＫとを消去してもよい。換言すると、消去部１０７は、ユーザのログアウトを検出した場合に、秘密鍵Ｋと収集した分散鍵ＢＫとを消去することができる。この場合、ＭＦＰ１０は、ユーザのログアウトまで秘密鍵Ｋ等を保存することで、再度、同じユーザが署名情報の生成を必要とする際に、再度秘密鍵Ｋを復元することなく、ユーザ署名を実行できるので、利便性を向上させることができる。
【００４２】
消去部１０７は、秘密鍵Ｋを復元または署名情報の作成が終了してから一定時間が経過した場合に、秘密鍵Ｋと収集部１０４が収集した分散鍵ＢＫとを消去してもよい。この場合、消去部１０７は、ユーザがログアウトを忘れても、秘密鍵Ｋを復元または署名情報の作成が終了してから一定時間が経過したときに、秘密鍵Ｋと収集した分散鍵ＢＫとを消去することができる。その結果、ＭＦＰ１０は、利便性を向上させ、かつセキュリティ性の低下を抑制することができる。
【００４３】
消去部１０７は、復元部１０５が秘密鍵Ｋを復元した後、署名情報が不要となったタイミングで、秘密鍵Ｋと収集部１０４が収集した分散鍵ＢＫとを消去してもよい。署名情報が不要となったタイミングは、例えば、ユーザのキャンセル操作を検出したタイミングを含む。例えば、ユーザは、ＭＦＰ１０のスキャン動作の途中で、当該スキャン動作をキャンセルする場合がある。このような場合、消去部１０７は、ユーザのキャンセル操作に応じて、秘密鍵Ｋと収集した分散鍵ＢＫとを消去することができる。その結果、ＭＦＰ１０は、署名情報を生成する前に、ユーザがキャンセル操作をしても、秘密鍵Ｋと収集した分散鍵ＢＫとが自機に残ることを防止できるので、セキュリティ性の低下を抑制することができる。
【００４４】
送信制御部１１０は、他のＭＦＰ１０からの要求に応じて、不揮発性メモリ１４が記憶している分散鍵ＢＫの他のＭＦＰ１０への送信を制御する。例えば、送信制御部１１０は、要求された分散鍵ＢＫを不揮発性メモリ１４から抽出し、当該分散鍵ＢＫを要求元の他のＭＦＰ１０へ通信Ｉ／Ｆ１５を介して送信する。送信制御部１１０は、他のＭＦＰ１０からの要求でユーザが指定されている場合、当該ユーザに紐付けられた分散鍵ＢＫを要求元の他のＭＦＰ１０へ送信する。
【００４５】
本実施形態では、ＭＦＰ１０は、取得部１０１、分散部１０２、保存制御部１０３、収集部１０４、復元部１０５、生成部１０６、消去部１０７及び送信制御部１１０としてＣＰＵ（コンピュータ）１１を機能させるための情報処理プログラムがＲＯＭ１２等に予め組み込まれている。情報処理プログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
【００４６】
さらに、本実施形態のＭＦＰ１０で実行される情報処理プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、本実施形態のＭＦＰ１０で実行される情報処理プログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
【００４７】
（秘密鍵分散先の設定）
図５は、秘密鍵Ｋの分散先を設定する画面の例を示す図である。図５に示す設定画面は、ＭＦＰ１０Ａが個人認証された鈴木さん（ユーザ）に対して、操作表示部２０に表示させる画面の一例である。設定画面は、鈴木さんに秘密鍵Ｋの分散先を設定させる画面の一例である。図５に示す例では、設定画面は、第１の分散機器として、ＭＦＰ１０Ｂのアドレス「ａｄｄｒ＿Ｂ」、第２の分散機器として、ＭＦＰ１０Ｃのアドレス「ａｄｄｒ＿Ｃ」が設定されている。ユーザが設定画面の「ＯＫ」のキーを選択すると、ＭＦＰ１０Ａは、設定されたＭＦＰ１０Ｂ，１０Ｃと自機であるＭＦＰ１０Ａとが分散機器であることを示す分散機器情報を生成し、鈴木さんの識別情報に紐付けて不揮発性メモリ１４に保存する。なお、図５に示す設定画面は、２つの分散先の設定を行う場合を示しているが、これに限定されない。例えば、設定画面は、１つの分散先または３つ以上の分散先を設定可能な画面としてもよい。
【００４８】
（情報処理システム１の分散機器の設定時の動作）
図６は、本実施形態に係る情報処理システム１の分散先設定時の動作の例に係るシーケンス図である。図６に示す処理手順は、ＭＦＰ１０Ａ，１０Ｂ，１０ＣのＣＰＵ１１が情報処理プログラムを実行することによって実現される。なお、以下の説明において、同様の構成要素について同一の符号を付すことがある。さらに、重複する説明は省略することがある。
【００４９】
図６に示すように、ＭＦＰ１０Ａは、ユーザＩＤとパスワードで認証を行う（ステップＳ１０１）。例えば、ＭＦＰ１０Ａは、操作表示部２０を介して入力されたユーザＩＤとパスワードとを認証サーバ３０に送信し、認証サーバ３０から認証結果を取得する。ＭＦＰ１０Ａは、ユーザが認証されたか否かを判定する（ステップＳ１０２）。例えば、ＭＦＰ１０Ａは、認証サーバ３０からの認証結果が認証を示している場合、認証されたと判定する。ＭＦＰ１０Ａは、認証されていないと判定した場合（ステップＳ１０２でＮｏ）、処理を既に説明したステップＳ１０１に戻し、再度認証を行う。
【００５０】
ＭＦＰ１０Ａは、認証されたと判定した場合（ステップＳ１０２でＹｅｓ）、処理をステップＳ１０３に進める。ＭＦＰ１０Ａは、認証されたユーザが管理者であるか否かを判定する（ステップＳ１０３）。例えば、ＭＦＰ１０Ａは、ユーザＩＤが予め登録された管理者のＩＤと一致する場合、管理者であると判定する。ＭＦＰ１０Ａは、管理者ではないと判定した場合（ステップＳ１０３でＮｏ）、処理を後述するステップＳ１０５に進める。
【００５１】
ＭＦＰ１０Ａは、管理者であると判定した場合（ステップＳ１０３でＹｅｓ）、処理をステップＳ１０４に進める。ＭＦＰ１０Ａは、インポートする秘密鍵Ｋを所有するユーザのユーザＩＤ入力を行う（ステップＳ１０４）。インポートとは、秘密鍵Ｋを情報処理システム１に取り込むことを意味する。例えば、ＭＦＰ１０Ａは、管理者に対して入力画面を操作表示部２０に表示させ、秘密鍵Ｋを所有するユーザのユーザＩＤを入力させる。ＭＦＰ１０Ａは、ユーザＩＤが入力されると、処理をステップＳ１０５に進める。
【００５２】
ＭＦＰ１０Ａは、分散先設定処理を実行する（ステップＳ１０５）。例えば、ＭＦＰ１０Ａは、分散先設定処理を実行することで、図５に示す設定画面を操作表示部２０に表示させ、設定画面で設定された分散先とユーザＩＤとを示す分散先情報を生成する。ＭＦＰ１０Ａは、分散先設定処理を終了すると、処理をステップＳ１０６に進める。なお、以下の説明では、図５に示した設定画面で、秘密鍵Ｋの分散先として、ＭＦＰ１０Ｂ，１０Ｃが設定された場合の例について説明する。
【００５３】
ＭＦＰ１０Ａは、分散先情報が示すアドレス「ａｄｄｒ＿Ｂ」に基づいて、通信Ｉ／Ｆ１５を介して、ＭＦＰ１０ＢにユーザＩＤを送信する（ステップＳ１０６）。この場合、ＭＦＰ１０Ｂは、通信Ｉ／Ｆ１５を介して、ＭＦＰ１０ＡからユーザＩＤを受信すると、ＭＦＰ１０Ａに対して、通信成功を通知する（ステップＳ１０７）。ＭＦＰ１０Ａは、ＭＦＰ１０Ｂから通信成功を示す情報を一定時間内に受信することで、ＭＦＰ１０Ｂとの通信が成功であると判断する。
【００５４】
次に、ＭＦＰ１０Ａは、分散先情報が示すアドレス「ａｄｄｒ＿Ｃ」に基づいて、通信Ｉ／Ｆ１５を介して、ＭＦＰ１０ＣにユーザＩＤを送信する（ステップＳ１０８）。この場合、ＭＦＰ１０Ｃは、通信Ｉ／Ｆ１５を介して、ＭＦＰ１０ＡからユーザＩＤを受信すると、ＭＦＰ１０Ａに対して、通信成功を通知する（ステップＳ１０９）。ＭＦＰ１０Ａは、ＭＦＰ１０Ｃから通信成功を示す情報を一定時間内に受信することで、ＭＦＰ１０Ｃとの通信が成功であると判断する。
【００５５】
次に、ＭＦＰ１０Ａは、ＭＦＰ１０Ｂ，１０Ｃの通信が可能である場合、ユーザＩＤと分散先情報を不揮発性メモリ１４に保存する（ステップＳ１１０）。ＭＦＰ１０Ａは、通信Ｉ／Ｆ１５を介して、ユーザＩＤと分散先情報をＭＦＰ１０Ｂに送信する（ステップＳ１１１）。この場合、ＭＦＰ１０Ｂは、ユーザＩＤと分散先情報を不揮発性メモリ１４に保存する（ステップＳ１１２）。
【００５６】
次に、ＭＦＰ１０Ａは、通信Ｉ／Ｆ１５を介して、ユーザＩＤと分散先情報をＭＦＰ１０Ｃに送信する（ステップＳ１１３）。この場合、ＭＦＰ１０Ｃは、ユーザＩＤと分散先情報を不揮発性メモリ１４に保存する（ステップＳ１１４）。
【００５７】
以上のように、ＭＦＰ１０Ａは、秘密鍵Ｋの分散先として設定されたＭＦＰ１０Ｂ，１０Ｃとの通信が可能であることを確認した後に、それぞれのＭＦＰ１０Ｂ，１０Ｃに秘密鍵Ｋの分散に関する情報の保存を要求することができる。その結果、情報処理システム１は、３台のＭＦＰ１０Ａ，１０Ｂ，１０Ｃに分散鍵ＢＫを保存できる環境となる。
【００５８】
（秘密鍵Ｋのインポート）
図７は、秘密鍵Ｋをインポートする画面の例を示す図である。図７に示す第１画面は、個人認証された鈴木さんに対して、ＭＦＰ１０Ａが操作表示部２０に表示させる画面の一例である。第１画面は、鈴木さんに秘密鍵Ｋを入れたメモリカード６０をリーダライタ１８のスロットに挿入することを促す画面である。ユーザが第１画面の「ＯＫ」のキーを選択すると、ＭＦＰ１０Ａは、リーダライタ１８を介してメモリカード６０から秘密鍵Ｋを取得する。
【００５９】
（情報処理システム１の秘密鍵の分散動作）
図８は、本実施形態に係る情報処理システム１の秘密鍵分散時の動作の例に係るシーケンス図である。図８に示す処理手順は、ＭＦＰ１０Ａ，１０Ｂ，１０ＣのＣＰＵ１１が情報処理プログラムを実行することによって実現される。
【００６０】
図８に示す例では、ステップＳ１０１からステップＳ１０４は、既に説明した図６に示すステップＳ１０１からステップＳ１０４と同一であるため、異なる部分のみを説明し、同一部分の説明は省略する。
【００６１】
図８に示すように、ＭＦＰ１０Ａは、管理者ではないと判定した場合（ステップＳ１０３でＮｏ）、処理をステップＳ１２１に進める。また、ＭＦＰ１０Ａは、ステップＳ１０４のユーザＩＤの入力が終了すると、処理をステップＳ１２１に進める。
【００６２】
ＭＦＰ１０Ａは、秘密鍵インポート処理を実行する（ステップＳ１２１）。例えば、ＭＦＰ１０Ａは、秘密鍵インポート処理を実行することで、図７に示す第１画面を操作表示部２０に表示させ、リーダライタ１８にメモリカード６０がセットされるのを待つ。ＭＦＰ１０Ａは、メモリカード６０がセットされると、処理をステップＳ１２２に進める。
【００６３】
ＭＦＰ１０Ａは、リーダライタ１８を介して、メモリカード６０から秘密鍵Ｋを読み出す（ステップＳ１２２）。ＭＦＰ１０Ａは、上述の分散規則等に基づいて、秘密鍵Ｋを分散鍵ＢＫ１，ＢＫ２，ＢＫ３に分散する（ステップＳ１２３）。この場合、分散鍵ＢＫ１は第１分散鍵の一例となり、分散鍵ＢＫ２，ＢＫ３は、第２分散鍵の一例となる。
【００６４】
次に、ＭＦＰ１０Ａは、分散先情報が示すアドレス「ａｄｄｒ＿Ｂ」に基づいて、通信Ｉ／Ｆ１５を介して、分散鍵ＢＫ２をＭＦＰ１０Ｂに送信する（ステップＳ１２４）。この場合、ＭＦＰ１０Ｂは、通信Ｉ／Ｆ１５を介して、ＭＦＰ１０Ａから分散鍵ＢＫ２を受信すると、ＭＦＰ１０Ａに対して、通信成功を通知する（ステップＳ１２５）。ＭＦＰ１０Ａは、ＭＦＰ１０Ｂから通信成功を示す情報を一定時間内に受信することで、ＭＦＰ１０Ｂに分散鍵ＢＫ２を送信できたと判断する。
【００６５】
次に、ＭＦＰ１０Ａは、分散先情報が示すアドレス「ａｄｄｒ＿Ｃ」に基づいて、通信Ｉ／Ｆ１５を介して、分散鍵ＢＫ３をＭＦＰ１０Ｃに送信する（ステップＳ１２６）。この場合、ＭＦＰ１０Ｃは、通信Ｉ／Ｆ１５を介して、ＭＦＰ１０Ａから分散鍵ＢＫ３を受信すると、ＭＦＰ１０Ａに対して、通信成功を通知する（ステップＳ１２７）。ＭＦＰ１０Ａは、ＭＦＰ１０Ｃから通信成功を示す情報を一定時間内に受信することで、ＭＦＰ１０Ｃに分散鍵ＢＫ３を送信できたと判断する。
【００６６】
次に、ＭＦＰ１０Ａは、分散鍵ＢＫ１を不揮発性メモリ１４に保存する（ステップＳ１２８）。例えば、ＭＦＰ１０Ａは、分散鍵ＢＫ１をユーザＩＤと分散先情報とに紐付けて不揮発性メモリ１４に記憶する。
【００６７】
ＭＦＰ１０Ａは、分散先情報が示すアドレス「ａｄｄｒ＿Ｂ」に基づいて、通信Ｉ／Ｆ１５を介して、ＭＦＰ１０Ｂに保存を要求する（ステップＳ１２９）。この場合、ＭＦＰ１０Ｂは、通信Ｉ／Ｆ１５を介して、ＭＦＰ１０Ａから保存の要求を受信すると、受信している分散鍵ＢＫ２を不揮発性メモリ１４に保存する（ステップＳ１３０）。例えば、ＭＦＰ１０Ｂは、分散鍵ＢＫ２を対応するユーザＩＤと分散先情報とに紐付けて不揮発性メモリ１４に記憶する。この場合、ＭＦＰ１０Ｂの不揮発性メモリ１４は、第２記憶部として機能する。
【００６８】
ＭＦＰ１０Ａは、分散先情報が示すアドレス「ａｄｄｒ＿Ｃ」に基づいて、通信Ｉ／Ｆ１５を介して、ＭＦＰ１０Ｃに保存を要求する（ステップＳ１３１）。この場合、ＭＦＰ１０Ｃは、通信Ｉ／Ｆ１５を介して、ＭＦＰ１０Ａから保存の要求を受信すると、受信している分散鍵ＢＫ３を不揮発性メモリ１４に保存する（ステップＳ１３２）。例えば、ＭＦＰ１０Ｃは、分散鍵ＢＫ３を対応するユーザＩＤと分散先情報とに紐付けて不揮発性メモリ１４に記憶する。この場合、ＭＦＰ１０Ｃの不揮発性メモリ１４は、第２記憶部として機能する。
【００６９】
以上のように、ＭＦＰ１０Ａは、取得した秘密鍵Ｋを３つの分散鍵ＢＫ１，ＢＫ２，ＢＫ３に分散させてＭＦＰ１０Ａ，１０Ｂ，１０Ｃのそれぞれに保存させ、３つの分散鍵ＢＫ１，ＢＫ２，ＢＫ３が揃わないと、秘密鍵Ｋを復元できないようにすることができる。
【００７０】
なお、図８に示す例では、ＭＦＰ１０Ｂ，１０Ｃは、送信された分散鍵ＢＫ２，ＢＫ３の不揮発性メモリ１４に対する保存が成功したか否かを示す情報をＭＦＰ１０Ａに送信するように構成してもよい。
【００７１】
（ＭＦＰ１０のスキャナ画面）
図９は、ＭＦＰ１０のスキャナを操作するスキャナ画面の例を示す図である。図９に示すスキャナ画面は、ＭＦＰ１０が個人認証されたユーザに対して、操作表示部２０に表示させる画面の一例である。スキャナ画面は、入力部Ｇ３０と、複数のキーＧ３１，Ｇ３２，Ｇ３３，Ｇ３４とを含む。入力部Ｇ３０は、スキャンした画像データを送信する宛先をユーザに入力させる。キーＧ３１は、スキャナのスタートキーである。キーＧ３２は、スキャナのキャンセルキーである。キーＧ３３は、ユーザ署名をユーザに選択させるキーである。キーＧ３４は、機器署名をユーザに選択させるキーである。ユーザがスキャナ画面のキーＧ３１を選択すると、ＭＦＰ１０Ａは、スキャン動作を開始し、スキャンした画像データに署名情報を付加して宛先に送信する。なお、本実施形態では、複数のキーＧ３１，Ｇ３２，Ｇ３３，Ｇ３４は、ソフトウェアキーである場合について説明するが、ハードウェアキーとしてもよい。
【００７２】
（ＭＦＰ１０の秘密鍵の復元処理）
図１０は、本実施形態に係るＭＦＰ１０の秘密鍵Ｋの復元動作の例を示すシーケンス図である。図１０に示す処理手順は、ＭＦＰ１０Ａ，１０Ｂ，１０ＣのＣＰＵ１１が情報処理プログラムを実行することによって実現される。ＭＦＰ１０Ａは、図９に示すスキャナ画面を操作表示部２０に表示させた状態で、図１０に示す処理手順を実行する。
【００７３】
図１０に示す例では、ステップＳ１０１からステップＳ１０２は、既に説明した図６に示すステップＳ１０１からステップＳ１０２と同一であるため、異なる部分のみを説明し、同一部分の説明は省略する。
【００７４】
図１０に示すように、ＭＦＰ１０Ａは、ユーザが認証されたと判定した場合（ステップＳ１０２でＹｅｓ）、処理をステップＳ１４１に進める。ＭＦＰ１０Ａは、ユーザの秘密鍵Ｋはインポート済みであるか否かを判定する（ステップＳ１４１）。例えば、ＭＦＰ１０Ａは、ユーザＩＤに対応した分散鍵ＢＫが不揮発性メモリ１４に存在する場合に、ユーザの秘密鍵Ｋはインポート済みであると判定する。ＭＦＰ１０Ａは、ユーザの秘密鍵Ｋはインポート済みではないと判定した場合（ステップＳ１４１でＮｏ）、秘密鍵の復元処理ＲＰを終了させる。
【００７５】
ＭＦＰ１０Ａは、ユーザの秘密鍵Ｋはインポート済みであると判定した場合（ステップＳ１４１でＹｅｓ）、処理をステップＳ１４２に進める。ＭＦＰ１０Ａは、ユーザＩＤに紐付く分散先情報が示すアドレス「ａｄｄｒ＿Ｂ」に基づいて、通信Ｉ／Ｆ１５を介して、ＭＦＰ１０Ｂに分散鍵ＢＫ２を要求する（ステップＳ１４２）。この場合、ＭＦＰ１０Ｂは、通信Ｉ／Ｆ１５を介して、ＭＦＰ１０Ａから分散鍵ＢＫ２の要求を受信すると、ＭＦＰ１０Ａに分散鍵ＢＫ２を送信する（ステップＳ１４３）。例えば、ＭＦＰ１０Ｂは、指定されたユーザＩＤに対応した分散鍵ＢＫ２を不揮発性メモリ１４から抽出し、当該分散鍵ＢＫ２をＭＦＰ１０Ａに送信する。そして、ＭＦＰ１０Ａは、ＭＦＰ１０Ｂから分散鍵ＢＫ２を受信した場合、ＲＡＭ１３に一時的に記憶する。
【００７６】
次に、ＭＦＰ１０Ａは、ユーザＩＤに紐付く分散先情報が示すアドレス「ａｄｄｒ＿Ｃ」に基づいて、通信Ｉ／Ｆ１５を介して、ＭＦＰ１０Ｃに分散鍵ＢＫ３を要求する（ステップＳ１４４）。この場合、ＭＦＰ１０Ｃは、通信Ｉ／Ｆ１５を介して、ＭＦＰ１０Ａから分散鍵ＢＫ３の要求を受信すると、ＭＦＰ１０Ａに分散鍵ＢＫ３を送信する（ステップＳ１４５）。例えば、ＭＦＰ１０Ｂは、指定されたユーザＩＤに対応した分散鍵ＢＫ３を不揮発性メモリ１４から抽出し、当該分散鍵ＢＫ３をＭＦＰ１０Ａに送信する。そして、ＭＦＰ１０Ａは、ＭＦＰ１０Ｃから分散鍵ＢＫ３を受信すると、ＲＡＭ１３に一時的に保存する。
【００７７】
次に、ＭＦＰ１０Ａは、分散鍵Ｋ２，Ｋ３を受信したか否かを判定する（ステップＳ１４６）。ＭＦＰ１０Ａは、分散鍵Ｋ２，Ｋ３を受信したと判定した場合（ステップＳ１４６でＹｅｓ）、処理をステップＳ１４７に進める。ＭＦＰ１０Ａは、ユーザＩＤに基づいて、不揮発性メモリ１４から分散鍵ＢＫ１を読み込む（ステップＳ１４７）。ＭＦＰ１０Ａは、分散鍵ＢＫ１，ＢＫ２，ＢＫ３に基づいて秘密鍵Ｋを復元する（ステップＳ１４８）。例えば、ＭＦＰ１０Ａは、上述の分散規則に基づいて、分散鍵ＢＫ１，ＢＫ２，ＢＫ３から秘密鍵Ｋを復元する。
【００７８】
ＭＦＰ１０Ａは、復元成功であるか否かを判定する（ステップＳ１４９）。例えば、ＭＦＰ１０Ａは、復元成功であると判定した場合（ステップＳ１４９でＹｅｓ）、処理をステップＳ１５０に進める。ＭＦＰ１０Ａは、復元した秘密鍵Ｋを一時的に記憶する（ステップＳ１５０）。ＭＦＰ１０Ａは、図１０に示す秘密鍵Ｋの復元処理ＲＰを終了させる。
【００７９】
また、ＭＦＰ１０Ａは、復元成功ではないと判定した場合（ステップＳ１４９でＮｏ）、処理をステップＳ１５１に進める。ＭＦＰ１０Ａは、秘密鍵Ｋの再インポートを通知する（ステップＳ１５１）。例えば、ＭＦＰ１０Ａは、秘密鍵Ｋの復元ができないために、秘密鍵Ｋの再インポートを促す画面を操作表示部２０に表示させる。このような画面を表示することで、分散鍵ＢＫがなんらかの影響で上書きされたり、削除されたりした場合に、ＭＦＰ１０Ａは、秘密鍵Ｋの再インポートを促して、分散鍵ＢＫの不具合を解消することができる。その後、ＭＦＰ１０Ａは、図１０に示す秘密鍵Ｋの復元処理ＲＰを終了させる。
【００８０】
また、ＭＦＰ１０Ａは、分散鍵Ｋ２，Ｋ３を受信していないと判定した場合（ステップＳ１４６でＮｏ）、処理をステップＳ１５２に進める。ＭＦＰ１０Ａは、分散機器の異常を通知する（ステップＳ１５２）。例えば、ＭＦＰ１０Ａは、連携しているＭＦＰ１０の状態の確認を促す画面を操作表示部２０に表示させる。例えば、ＭＦＰ１０Ａは、収集に失敗した分散鍵Ｋ２，Ｋ３またはＭＦＰ１０Ｂ，１０Ｃの確認を促す画面を操作表示部２０に表示させてもよい。ＭＦＰ１０Ａは、図１０に示す秘密鍵Ｋの復元処理ＲＰを終了させる。
【００８１】
（ＭＦＰ１０の秘密鍵Ｋの復元タイミングの第１変形例）
図１１は、本実施形態に係るＭＦＰ１０の秘密鍵Ｋの復元タイミングの第１変形例を示すシーケンス図である。図１１に示す処理手順は、ＭＦＰ１０Ａ，１０Ｂ，１０ＣのＣＰＵ１１が情報処理プログラムを実行することによって実現される。ＭＦＰ１０Ａは、図９に示すスキャナ画面を操作表示部２０に表示させた状態で、図１１に示す処理手順を実行する。
【００８２】
図１１に示す例では、ステップＳ１０１からステップＳ１０２は、既に説明した図６に示すステップＳ１０１からステップＳ１０２と同一であるため、異なる部分のみを説明し、同一部分の説明は省略する。
【００８３】
図１１に示すように、ＭＦＰ１０Ａは、ユーザが認証されたと判定した場合（ステップＳ１０２でＹｅｓ）、処理をステップＳ１６０に進める。ＭＦＰ１０Ａは、スキャナ画面でユーザ署名が選択されたか否かを判定する（ステップＳ１６０）。例えば、ＭＦＰ１０Ａは、図９で示したスキャナ画面のユーザ署名に対応したキーＧ３３が選択された場合、ユーザ署名が選択されたと判定する。ＭＦＰ１０Ａは、スキャナ画面でユーザ署名が選択されていないと判定した場合（ステップＳ１６０でＮｏ）、ステップＳ１６０を繰り返すことで、ユーザ署名の選択を待つ。また、ＭＦＰ１０Ａは、スキャナ画面でユーザ署名が選択されたと判定した場合（ステップＳ１６０でＹｅｓ）、処理を既に説明した秘密鍵Ｋの復元処理ＲＰに進める。
【００８４】
図１１に示したように、ＭＦＰ１０Ａは、ユーザ署名のキーＧ３３が選択されたときに、復元処理ＲＰを実行することで、スキャナのスタートキーが選択される前に、前倒しで秘密鍵Ｋを準備することができる。さらに、ＭＦＰ１０Ａは、前倒しで秘密鍵Ｋの準備を行うことで、スキャン動作の前に秘密鍵Ｋを復元できるか否かを確認できる。
【００８５】
（ＭＦＰ１０の秘密鍵Ｋの復元タイミングの第２変形例）
図１２は、本実施形態に係るＭＦＰ１０の秘密鍵Ｋの復元タイミングの第２変形例を示すシーケンス図である。図１２に示す処理手順は、ＭＦＰ１０Ａ，１０Ｂ，１０ＣのＣＰＵ１１が情報処理プログラムを実行することによって実現される。ＭＦＰ１０Ａは、図９に示すスキャナ画面を操作表示部２０に表示させた状態で、図１２に示す処理手順を実行する。
【００８６】
図１２に示す例では、ステップＳ１０１からステップＳ１０２は、既に説明した図６に示すステップＳ１０１からステップＳ１０２と同一であるため、異なる部分のみを説明し、同一部分の説明は省略する。
【００８７】
図１２に示すように、ＭＦＰ１０Ａは、ユーザが認証されたと判定した場合（ステップＳ１０２でＹｅｓ）、処理をステップＳ１７０に進める。ＭＦＰ１０Ａは、スキャナ動作のスタートキー操作が行われたか否かを判定する（ステップＳ１７０）。例えば、ＭＦＰ１０Ａは、図９で示したスキャナ画面のスタートキーに対応したキーＧ３１が選択された場合、スタートキー操作が行われたと判定する。ＭＦＰ１０Ａは、スキャナ動作のスタートキー操作が行われていないと判定した場合（ステップＳ１７０でＮｏ）、ステップＳ１７０を繰り返すことで、スタートキーが操作されるのを待つ。また、ＭＦＰ１０Ａは、スキャナ動作のスタートキー操作が行われたと判定した場合（ステップＳ１７０でＹｅｓ）、処理を既に説明した秘密鍵Ｋの復元処理ＲＰに進める。
【００８８】
図１２に示したように、ＭＦＰ１０Ａは、スキャナ動作のスタートキーが操作されたときに、復元処理ＲＰを実行することで、秘密鍵Ｋが必要になるまで復元しないので、秘密鍵Ｋのセキュリティ性を向上させることができる。
【００８９】
（ＭＦＰ１０の秘密鍵Ｋの消去タイミング）
図１３は、本実施形態に係るＭＦＰ１０の秘密鍵Ｋの消去動作の例を示すシーケンス図である。図１３に示す処理手順は、ＭＦＰ１０Ａ，１０Ｂ，１０ＣのＣＰＵ１１が情報処理プログラムを実行することによって実現される。図１３に示す例では、ステップＳ１０１からステップＳ１０２は、既に説明した図６に示すステップＳ１０１からステップＳ１０２と同一であり、主体がＭＦＰ１０ＡであるかＣＰＵ１１であるかのみが異なっている。
【００９０】
図１３に示すように、ＭＦＰ１０ＡのＣＰＵ１１は、ユーザＩＤとパスワードで認証を行う（ステップＳ１０１）。例えば、ＣＰＵ１１は、操作表示部２０を介して入力されたユーザＩＤとパスワードとを認証サーバ３０に送信し、認証サーバ３０から認証結果を取得する。ＣＰＵ１１は、ユーザが認証されたか否かを判定する（ステップＳ１０２）。例えば、ＣＰＵ１１は、認証サーバ３０からの認証結果が認証を示している場合、認証されたと判定する。ＣＰＵ１１は、認証されていないと判定した場合（ステップＳ１０２でＮｏ）、処理を既に説明したステップＳ１０１に戻し、再度認証を行う。
【００９１】
ＣＰＵ１１は、ユーザが認証されたと判定した場合（ステップＳ１０２でＹｅｓ）、処理をステップＳ２０１に進める。ＣＰＵ１１は、署名付きスキャンのスタート操作を検出すると（ステップＳ２０１）、処理をステップＳ２０２に進める。例えば、ＣＰＵ１１は、図９に示したスキャン画面で、ユーザ署名及びスタートに対するユーザのキー操作を検出する。
【００９２】
ＣＰＵ１１は、エンジン部１７に対して、スキャン動作開始を要求する（ステップＳ２０２）。その結果、エンジン部１７は、ＭＦＰ１０Ａのスキャン動作を実行する（ステップＳ２０３）。そして、エンジン部１７は、スキャン動作が終了すると、ＣＰＵ１１に対して、スキャン動作終了を通知する（ステップＳ２０４）。なお、エンジン部１７は、スキャンした画像データをＲＡＭ１３に記憶する。
【００９３】
ＣＰＵ１１は、画像データのダイジェスト計算を行う（ステップＳ２０５）。例えば、ＣＰＵ１１は、画像データのダイジェスト値を計算し、当該ダイジェスト値をＲＡＭ１３に記憶する。ＣＰＵ１１は、ダイジェスト値に対して秘密鍵Ｋで署名情報を生成する（ステップＳ２０６）。ＣＰＵ１１は、秘密鍵Ｋ及び収集した分散鍵ＢＫ２，ＢＫ３を消去する（ステップＳ２０７）。換言すると、ＣＰＵ１１は、ＲＡＭ１３に記憶している秘密鍵Ｋ及び収集した分散鍵ＢＫ２，ＢＫ３を消去する。
【００９４】
ＣＰＵ１１は、画像データに署名情報を付加してメールサーバ４０に送信する（ステップＳ２０８）。例えば、ＣＰＵ１１は、署名情報を貼付した画像データを含む署名付きメールを生成し、図９に示したスキャン画面で設定されたメールアドレス宛に当該署名付きメールを送信する。
【００９５】
図１３に示したように、ＭＦＰ１０Ａは、スキャナ動作が終了したときに、秘密鍵Ｋ及び収集した分散鍵ＢＫ２，ＢＫ３を消去することで、ユーザの利用後に秘密鍵ＫがＭＦＰ１０Ａに残ることを防止できる。
【００９６】
（ＭＦＰ１０の秘密鍵Ｋの消去タイミングの第１変形例）
図１４は、本実施形態に係るＭＦＰ１０Ａの秘密鍵Ｋの消去タイミングの第１変形例を示すシーケンス図である。図１４に示す処理手順は、ＭＦＰ１０のＣＰＵ１１が情報処理プログラムを実行することによって実現される。
【００９７】
図１４に示す例では、ステップＳ１０１からステップＳ１０２及びステップＳ２０１からステップＳ２０２は、既に説明した図１３に示すステップＳ１０１からステップＳ１０２及びステップＳ２０１からステップＳ２０２と同一であるため、異なる部分のみを説明し、同一部分の説明は省略する。
【００９８】
図１４に示すように、ＭＦＰ１０ＡのＣＰＵ１１は、エンジン部１７に対して、スキャン動作開始を要求する（ステップＳ２０２）。その結果、エンジン部１７は、ＭＦＰ１０Ａのスキャン動作を実行する（ステップＳ２０３）。そして、エンジン部１７がスキャン動作中に、ＣＰＵ１１は、スキャン動作のキャンセル操作を検出すると（ステップＳ２１１）、処理をステップＳ２１２に進める。例えば、ＣＰＵ１１は、図９に示したスキャン画面で、キャンセルに対するユーザのキー操作を検出する。
【００９９】
ＣＰＵ１１は、エンジン部１７に対して、スキャン動作のキャンセルを要求する（ステップＳ２１２）。その結果、エンジン部１７は、ＭＦＰ１０Ａのスキャン動作をキャンセルし、ＣＰＵ１１に対して、スキャン動作のキャンセルを通知する（ステップＳ２１３）。ＣＰＵ１１は、エンジン部１７からスキャン動作のキャンセルが通知されると、秘密鍵Ｋ及び収集した分散鍵ＢＫ２，ＢＫ３を消去する（ステップＳ２０７）。
【０１００】
図１４に示したように、ＭＦＰ１０Ａは、スキャナ動作中にユーザがキャンセル操作を行うと、秘密鍵Ｋ及び収集した分散鍵ＢＫ２，ＢＫ３を消去するので、キャンセル操作が行われても、秘密鍵ＫがＭＦＰ１０Ａに残ることを防止できる。
【０１０１】
（ＭＦＰ１０の秘密鍵Ｋの消去タイミングの第２変形例）
図１５は、本実施形態に係るＭＦＰ１０Ａの秘密鍵Ｋの消去タイミングの第２変形例を示すシーケンス図である。図１５に示す処理手順は、ＭＦＰ１０のＣＰＵ１１が情報処理プログラムを実行することによって実現される。
【０１０２】
図１５に示す例では、ステップＳ１０１からステップＳ１０２及びステップＳ２０１からステップＳ２０６は、既に説明した図１３に示すステップＳ１０１からステップＳ１０２及びステップＳ２０１からステップＳ２０６と同一であるため、異なる部分のみを説明し、同一部分の説明は省略する。
【０１０３】
図１５に示すように、ＭＦＰ１０ＡのＣＰＵ１１は、ダイジェスト値に対して秘密鍵Ｋで署名情報を生成すると（ステップＳ２０６）、画像データに署名情報を付加してメールサーバ４０に送信する（ステップＳ２０８）。
【０１０４】
次に、ＣＰＵ１１は、メールサーバ４０への送信が終了すると、ログアウト操作を検出したか否かを判定する（ステップＳ２２１）。例えば、ＣＰＵ１１は、操作表示部２０を介して、ユーザのログアウト操作を検出した場合に、ログアウト操作を検出したと判定する。ＣＰＵ１１は、ログアウト操作を検出していないと判定した場合（ステップＳ２２１でＮｏ）、この判定処理を繰り返すことで、ユーザのログアウト操作を待つ。
【０１０５】
ＣＰＵ１１は、ログアウト操作を検出したと判定した場合（ステップＳ２２１でＹｅｓ）、処理をステップＳ２０７に進める。ＣＰＵ１１は、秘密鍵Ｋ及び収集した分散鍵ＢＫ２，ＢＫ３を消去する（ステップＳ２０７）。
【０１０６】
図１５に示したように、ＭＦＰ１０Ａは、秘密鍵Ｋで署名情報を生成した後、ユーザのログアウト操作を検出するまでは、秘密鍵Ｋを消去しない。その結果、ＭＦＰ１０Ａは、同一のユーザが再度署名付きスキャン動作を実行する際に、再度秘密鍵Ｋを復元することなく、署名情報を生成することができるので、復元にかかる時間を不要とすることができる。
【０１０７】
（ＭＦＰ１０の秘密鍵Ｋの消去タイミングの第３変形例）
図１６は、本実施形態に係るＭＦＰ１０Ａの秘密鍵Ｋの消去タイミングの第３変形例を示すシーケンス図である。図１６に示す処理手順は、ＭＦＰ１０のＣＰＵ１１が情報処理プログラムを実行することによって実現される。
【０１０８】
図１６に示す例では、ステップＳ１０１からステップＳ１０２及びステップＳ２０１からステップＳ２０６は、既に説明した図１３に示すステップＳ１０１からステップＳ１０２及びステップＳ２０１からステップＳ２０６と同一であるため、異なる部分のみを説明し、同一部分の説明は省略する。
【０１０９】
図１６に示すように、ＭＦＰ１０ＡのＣＰＵ１１は、ダイジェスト値に対して秘密鍵Ｋで署名情報を生成すると（ステップＳ２０６）、画像データに署名情報を付加してメールサーバ４０に送信する（ステップＳ２０８）。
【０１１０】
次に、ＣＰＵ１１は、メールサーバ４０への送信が終了すると、一定時間経過したか否かを判定する（ステップＳ２３１）。例えば、ＣＰＵ１１は、秘密鍵Ｋを復元してから一定時間が経過したときに、一定時間経過したと判定する。例えば、ＣＰＵ１１は、ユーザの自動ログアウトのタイミングになったときに、一定時間経過したと判定する。ＣＰＵ１１は、一定時間経過していないと判定した場合（ステップＳ２３１でＮｏ）、この判定処理を繰り返すことで、一定時間が経過するのを待つ。
【０１１１】
ＣＰＵ１１は、一定時間経過したと判定した場合（ステップＳ２３１でＹｅｓ）、処理をステップＳＳ２０７に進める。ＣＰＵ１１は、秘密鍵Ｋ及び収集した分散鍵ＢＫ２，ＢＫ３を消去する（ステップＳ２０７）。
【０１１２】
図１６に示したように、ＭＦＰ１０Ａは、秘密鍵Ｋで署名情報を生成した後、一定時間が経過するまでは、秘密鍵Ｋを消去しない。例えば、ユーザは、ＭＦＰ１０を利用した後にログアウトし忘れる場合がある。このような場合、ＭＦＰ１０Ａは、一定時間が経過した際に、秘密鍵Ｋを消去するので、ユーザがログアウト操作を忘れても、秘密鍵Ｋが残ることを防止できる。
【０１１３】
上記実施形態のＭＦＰ１０は、リーダライタ１８を有する場合について説明したが、これに限定されない。ＭＦＰ１０は、自機及び分散機器の台数分の分散鍵ＢＫに分散できるので、複数のＭＦＰ１０の全てがリーダライタ１８を有する必要がなくなり、情報処理システム１のコストダウンを図ることができる。
【０１１４】
例えば、従来のシステムは、秘密鍵Ｋを端末装置に保存し、署名情報を生成するためのサーバ等を用いる必要があった。これに対し、上記実施形態に係る情報処理システム１は、複数のＭＦＰ１０の中の１台のＭＦＰ１０で秘密鍵Ｋをインポートして分散鍵ＢＫを分散させればよいので、従来のサーバ等は不要となり、システム構成を簡単化してコストダウンを図ることができる。
【０１１５】
なお、上記実施形態では、本発明の情報処理装置を、コピー機能、プリンタ機能、スキャナ機能およびファクシミリ機能のうち少なくとも２つの機能を有するＭＦＰ（複合機）に適用した例を挙げて説明したが、複写機、プリンタ、スキャナ装置、ファクシミリ装置等の署名が必要な情報処理装置であればいずれにも適用することができる。
【０１１６】
以上、本発明の実施形態を説明したが、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能である。
【符号の説明】
【０１１７】
１  情報処理システム
１０  ＭＦＰ（情報処理装置）
１１  ＣＰＵ
１２  ＲＯＭ
１３  ＲＡＭ
１４  不揮発性メモリ（記憶部）
１５  通信Ｉ／Ｆ
１６  接続Ｉ／Ｆ
１７  エンジン部
１８  リーダライタ
２０  操作表示部
３０  認証サーバ
４０  メールサーバ
５０  クライアント
６０  メモリカード
１０１  取得部
１０２  分散部
１０３  保存制御部
１０４  収集部
１０５  復元部
１０６  生成部
１０７  消去部
１１０  送信制御部
Ｋ  秘密鍵
ＢＫ  分散鍵
【先行技術文献】
【特許文献】
【０１１８】
【特許文献１】特許第４７６５６２１号公報
【図１】
2019161617.tif 000003
【図２】
2019161617.tif 000004
【図３】
2019161617.tif 000005
【図４】
2019161617.tif 000006
【図５】
2019161617.tif 000007
【図６】
2019161617.tif 000008
【図７】
2019161617.tif 000009
【図８】
2019161617.tif 000010
【図９】
2019161617.tif 000011
【図１０】
2019161617.tif 000012
【図１１】
2019161617.tif 000013
【図１２】
2019161617.tif 000014
【図１３】
2019161617.tif 000015
【図１４】
2019161617.tif 000016
【図１５】
2019161617.tif 000017
【図１６】
2019161617.tif 000018