(57)【要約】      （修正有）【課題】データを暗号化する際に用いた暗号鍵を暗号化装置内に保持せず、ユーザーによるパスワード入力などを必要とすることなく暗号データを復号できるようにする。【解決手段】暗号化装置２は、ベースデータを取得するベースデータ取得部２６２と、ユーザーを認証する認証部２６０と、ベースデータと認証されたユーザーのユーザー情報とに基づいて生成される暗号鍵を取得する暗号鍵取得部２６４と、暗号鍵を使用して暗号データを生成する暗号化実行部２６５と、暗号化実行部によって暗号データが生成された後に暗号鍵を破棄する暗号鍵破棄部２６７と、暗号データにベースデータを付加して保存する出力部２６６とを備える構成である。【選択図】図２
2020113835.tif 000002
【特許請求の範囲】
【請求項１】
ベースデータを取得するベースデータ取得手段と、
ユーザーを認証する認証処理を行う認証手段と、
前記ベースデータと前記認証処理において認証されたユーザーのユーザー情報とに基づいて生成される暗号鍵を取得する暗号鍵取得手段と、
前記暗号鍵取得手段によって取得される前記暗号鍵を使用し、データを暗号化する暗号化手段と、
前記暗号化手段によって使用された前記暗号鍵を破棄する暗号鍵破棄手段と、
前記暗号化手段によって生成された暗号データに、前記ベースデータを特定可能な付加情報を付加して出力する出力手段と、
を備えることを特徴とする暗号化装置。
【請求項２】
前記付加情報は、前記ベースデータであることを特徴とする請求項１に記載の暗号化装置。
【請求項３】
前記ベースデータは、乱数であることを特徴とする請求項１又は２に記載の暗号化装置。
【請求項４】
前記ベースデータは、日時を示す情報を含むことを特徴とする請求項１乃至３のいずれかに記載の暗号化装置。
【請求項５】
前記認証手段は、ユーザーの生体情報を取得して前記認証処理を行うことを特徴とする請求項１乃至４のいずれかに記載の暗号化装置。
【請求項６】
前記ユーザー情報は、前記認証処理において取得される認証情報であることを特徴とする請求項１乃至５のいずれかに記載の暗号化装置。
【請求項７】
他の機器と通信を行う通信手段と、
前記ベースデータ取得手段によって取得される前記ベースデータを、前記他の装置に送信するベースデータ送信手段と、
を更に備え、
前記暗号鍵取得手段は、前記ユーザー情報と前記ベースデータ送信手段によって送信される前記ベースデータとに基づいて生成される前記暗号鍵を、前記通信手段を介して前記他の機器から取得することを特徴とする請求項１乃至６のいずれかに記載の暗号化装置。
【請求項８】
前記通信手段は、前記他の機器が所定距離の範囲内にあるときに前記他の機器と１対１の近距離無線通信を行うことを特徴とする請求項７に記載の暗号化装置。
【請求項９】
前記ユーザー情報と前記ベースデータとに基づいて前記暗号鍵を生成する暗号鍵生成手段と、
を更に備え、
前記暗号鍵取得手段は前記暗号鍵生成手段から前記暗号鍵を取得することを特徴とする請求項１乃至６のいずれかに記載の暗号化装置。
【請求項１０】
前記暗号鍵生成手段は、前記暗号鍵のデータ長を所定のデータ長とすることを特徴とする請求項９に記載の暗号化装置。
【請求項１１】
ユーザーを認証する認証処理を行う認証手段と、
ベースデータと前記認証処理において認証されたユーザーのユーザー情報とに基づいて生成される暗号鍵によって暗号化された暗号データを入力する入力手段と、
前記暗号データに付加される付加情報から前記ベースデータを特定する特定手段と、
前記ユーザー情報と前記特定手段によって特定される前記ベースデータとに基づいて生成される復号鍵を取得する復号鍵取得手段と、
前記復号鍵取得手段によって取得される前記復号鍵を使用し、前記暗号データを復号して平文データを生成する復号手段と、
を備えることを特徴とする復号装置。
【請求項１２】
前記認証手段は、ユーザーの生体情報を取得して前記認証処理を行うことを特徴とする請求項１１に記載の復号装置。
【請求項１３】
前記ユーザー情報は、前記認証処理において取得される認証情報であることを特徴とする請求項１１又は１２に記載の復号装置。
【請求項１４】
他の機器と通信を行う通信手段と、
前記特定手段によって特定される前記ベースデータを、前記他の装置に送信するベースデータ送信手段と、
を更に備え、
前記復号鍵取得手段は、前記ユーザー情報と前記特定手段によって特定される前記ベースデータとに基づいて生成される前記復号鍵を、前記通信手段を介して前記他の機器から取得することを特徴とする請求項１１乃至１３のいずれかに記載の復号装置。
【請求項１５】
前記通信手段は、前記他の機器が所定距離の範囲内にあるときに前記他の機器と１対１の近距離無線通信を行うことを特徴とする請求項１４に記載の復号装置。
【請求項１６】
前記ユーザー情報と前記特定手段によって特定される前記ベースデータとに基づいて前記復号鍵を生成する復号鍵生成手段と、
を更に備え、
前記復号鍵取得手段は、前記復号鍵生成手段から前記復号鍵を取得することを特徴とする請求項１１乃至１３のいずれかに記載の復号装置。
【請求項１７】
前記復号鍵生成手段は、前記復号鍵のデータ長を所定のデータ長とすることを特徴とする請求項１６に記載の復号装置。
【請求項１８】
ベースデータを取得するベースデータ取得手段と、
ユーザーを認証する認証処理を行う認証手段と、
前記ベースデータと前記認証処理において認証されたユーザーのユーザー情報とに基づいて生成される暗号鍵を取得する暗号鍵取得手段と、
前記暗号鍵取得手段によって取得される前記暗号鍵を使用し、データを暗号化する暗号化手段と、
前記暗号化手段によって使用された前記暗号鍵を破棄する暗号鍵破棄手段と、
前記暗号化手段によって生成された暗号データに、前記ベースデータを特定可能な付加情報を付加する出力手段と、
前記付加情報を参照して前記ベースデータを特定する特定手段と、
前記ユーザー情報と前記特定手段によって特定される前記ベースデータとに基づいて生成される復号鍵を取得する復号鍵取得手段と、
前記復号鍵取得手段によって取得される前記復号鍵を使用し、前記暗号データを復号して平文データを生成する復号手段と、
を備えることを特徴とする情報処理装置。
【請求項１９】
ベースデータを取得するベースデータ取得手段と、
ユーザーを認証する認証処理を行う認証手段と、
前記ベースデータと前記認証処理において認証されたユーザーのユーザー情報とに基づいて暗号鍵を生成する暗号鍵生成手段と、
前記暗号鍵生成手段によって生成された前記暗号鍵を出力する鍵出力手段と、
を備えることを特徴とする暗号鍵生成装置。
【請求項２０】
コンピュータに、
ベースデータを取得するベースデータ取得ステップと、
ユーザーを認証する認証処理を行う認証ステップと、
前記ベースデータと前記認証ステップにおいて認証されたユーザーのユーザー情報とに基づいて生成される暗号鍵を取得する暗号鍵取得ステップと、
前記暗号鍵取得ステップにおいて取得される前記暗号鍵を使用し、データを暗号化する暗号化ステップと、
前記暗号化ステップにおいて使用された前記暗号鍵を破棄する暗号鍵破棄ステップと、
前記暗号化ステップにおいて生成された暗号データに、前記ベースデータを特定可能な付加情報を付加して出力する出力ステップと、
を実行させることを特徴とするプログラム。
【請求項２１】
コンピュータに、
ユーザーを認証する認証処理を行う認証ステップと、
ベースデータと前記認証ステップにおいて認証されたユーザーのユーザー情報とに基づいて生成される暗号鍵によって暗号化された暗号データを入力する入力ステップと、
前記暗号データに付加される付加情報から前記ベースデータを特定する特定ステップと、
前記ユーザー情報と前記特定ステップにおいて特定される前記ベースデータとに基づいて生成される復号鍵を取得する復号鍵取得ステップと、
前記復号鍵取得ステップにおいて取得される前記復号鍵を使用し、前記暗号データを復号して平文データを生成する復号ステップと、
を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、暗号化装置、復号装置、鍵生成装置、情報処理装置及びプログラムに関し、特に暗号データ及び平文データを生成する技術に関する。
【背景技術】
【０００２】
従来、ネットワークに接続される情報処理装置や、オフィスなどに設置され複数のユーザーに利用される情報処理装置などに、秘匿しておきたいデータを記憶させる際、当該データが他人に見られたり、改竄されないようにするための技術として様々な技術が提案されている。例えば特許文献１には、プログラム内に隠蔽された複数の秘密鍵に基づいて暗号鍵を生成し、当該暗号鍵を用いてデータを暗号化することでセキュリティを確保する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−１５１５４６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、特許文献１の情報処理装置は、その内部に、データを暗号化する際に用いる暗号鍵を保持することになる。そのため、例えば、情報処理装置がネットワークに接続されている場合、悪意ある第三者に不正にアクセスされて内部の暗号鍵を盗まれるといった事態が生じる可能性がある。また、暗号鍵と復号鍵が共通する共通鍵方式を用いていることも考えられる。そのような場合には、暗号鍵が盗まれると、その暗号鍵を用いて暗号化されたデータを復号することができ、悪意ある第三者は暗号化されたデータの中身を見たり、改竄したりできるという問題がある。
【０００５】
また、悪意ある第三者に暗号鍵が盗まれることを防止するため、例えば、ユーザー自身がパスワード（暗号鍵）を記憶しておくなど、情報処理装置に暗号鍵を保持させないことも考えられる。この場合、情報処理装置に暗号鍵を保持させないため、情報処理装置から暗号鍵が盗まれるという可能性はない。しかし、ユーザーがパスワード（暗号鍵）を忘れてしまうと、情報処理装置に、暗号化されたデータを復号させることができなくなってしまうという問題がある。
【０００６】
そこで本発明は、上記課題を解決するためになされたものであり、データを暗号化する際に用いた暗号鍵を情報処理装置内に保持せず、しかも暗号化されたデータを復号する際に、ユーザーによるパスワード入力などを必要とすることなく、暗号化されたデータを復号することが可能な暗号化装置、復号装置、鍵生成装置、情報処理装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、請求項１に係る発明は、暗号化装置であって、ベースデータを取得するベースデータ取得手段と、ユーザーを認証する認証処理を行う認証手段と、前記ベースデータと前記認証処理において認証されたユーザーのユーザー情報とに基づいて生成される暗号鍵を取得する暗号鍵取得手段と、前記暗号鍵取得手段によって取得される前記暗号鍵を使用し、データを暗号化する暗号化手段と、前記暗号化手段によって使用された前記暗号鍵を破棄する暗号鍵破棄手段と、前記暗号化手段によって生成された暗号データに、前記ベースデータを特定可能な付加情報を付加して出力する出力手段と、を備えることを特徴とする構成である。
【０００８】
請求項２に係る発明は、請求項１の暗号化装置において、前記付加情報は、前記ベースデータであることを特徴とする構成である。
【０００９】
請求項３に係る発明は、請求項１又は２の暗号化装置において、前記ベースデータは、乱数であることを特徴とする構成である。
【００１０】
請求項４に係る発明は、請求項１乃至３のいずれかの暗号化装置において、前記ベースデータは、日時を示す情報を含むことを特徴とする構成である。
【００１１】
請求項５に係る発明は、請求項１乃至４のいずれかの暗号化装置において、前記認証手段は、ユーザーの生体情報を取得して前記認証処理を行うことを特徴とする構成である。
【００１２】
請求項６に係る発明は、請求項１乃至５のいずれかの暗号化装置において、前記ユーザー情報は、前記認証処理において取得される認証情報であることを特徴とする構成である。
【００１３】
請求項７に係る発明は、請求項１乃至６のいずれかの暗号化装置において、他の機器と通信を行う通信手段と、前記ベースデータ取得手段によって取得される前記ベースデータを、前記他の装置に送信するベースデータ送信手段と、を更に備え、前記暗号鍵取得手段は、前記ユーザー情報と前記ベースデータ送信手段によって送信される前記ベースデータとに基づいて生成される前記暗号鍵を、前記通信手段を介して前記他の機器から取得することを特徴とする構成である。
【００１４】
請求項８に係る発明は、請求項７の暗号化装置において、前記通信手段は、前記他の機器が所定距離の範囲内にあるときに前記他の機器と１対１の近距離無線通信を行うことを特徴とする構成である。
【００１５】
請求項９に係る発明は、請求項１乃至６のいずれかの暗号化装置において、前記ユーザー情報と前記ベースデータとに基づいて前記暗号鍵を生成する暗号鍵生成手段と、を更に備え、前記暗号鍵取得手段は前記暗号鍵生成手段から前記暗号鍵を取得することを特徴とする構成である。
【００１６】
請求項１０に係る発明は、請求項９の暗号化装置において、前記暗号鍵生成手段は、前記暗号鍵のデータ長を所定のデータ長とすることを特徴とする構成である。
【００１７】
請求項１１に係る発明は、復号装置であって、ユーザーを認証する認証処理を行う認証手段と、ベースデータと前記認証処理において認証されたユーザーのユーザー情報とに基づいて生成される暗号鍵によって暗号化された暗号データを入力する入力手段と、前記暗号データに付加される付加情報から前記ベースデータを特定する特定手段と、前記ユーザー情報と前記特定手段によって特定される前記ベースデータとに基づいて生成される復号鍵を取得する復号鍵取得手段と、前記復号鍵取得手段によって取得される前記復号鍵を使用し、前記暗号データを復号して平文データを生成する復号手段と、を備えることを特徴とする構成である。
【００１８】
請求項１２に係る発明は、請求項１１の復号装置において、前記認証手段は、ユーザーの生体情報を取得して前記認証処理を行うことを特徴とする構成である。
【００１９】
請求項１３に係る発明は、請求項１１又は１２の復号装置において、前記ユーザー情報は、前記認証処理において取得される認証情報であることを特徴とする構成である。
【００２０】
請求項１４に係る発明は、請求項１１乃至１３のいずれかの復号装置において、他の機器と通信を行う通信手段と、前記特定手段によって特定される前記ベースデータを、前記他の装置に送信するベースデータ送信手段と、を更に備え、前記復号鍵取得手段は、前記ユーザー情報と前記特定手段によって特定される前記ベースデータとに基づいて生成される前記復号鍵を、前記通信手段を介して前記他の機器から取得することを特徴とする構成である。
【００２１】
請求項１５に係る発明は、請求項１４の復号装置において、前記通信手段は、前記他の機器が所定距離の範囲内にあるときに前記他の機器と１対１の近距離無線通信を行うことを特徴とする構成である。
【００２２】
請求項１６に係る発明は、請求項１１乃至１３のいずれかの復号装置において、前記ユーザー情報と前記特定手段によって特定される前記ベースデータとに基づいて前記復号鍵を生成する復号鍵生成手段と、を更に備え、前記復号鍵取得手段は、前記復号鍵生成手段から前記復号鍵を取得することを特徴とする構成である。
【００２３】
請求項１７に係る発明は、請求項１６の復号装置において、前記復号鍵生成手段は、前記復号鍵のデータ長を所定のデータ長とすることを特徴とする構成である。
【００２４】
請求項１８に係る発明は、情報処理装置であって、ベースデータを取得するベースデータ取得手段と、ユーザーを認証する認証処理を行う認証手段と、前記ベースデータと前記認証処理において認証されたユーザーのユーザー情報とに基づいて生成される暗号鍵を取得する暗号鍵取得手段と、前記暗号鍵取得手段によって取得される前記暗号鍵を使用し、データを暗号化する暗号化手段と、前記暗号化手段によって使用された前記暗号鍵を破棄する暗号鍵破棄手段と、前記暗号化手段によって生成された暗号データに、前記ベースデータを特定可能な付加情報を付加する出力手段と、前記付加情報を参照して前記ベースデータを特定する特定手段と、前記ユーザー情報と前記特定手段によって特定される前記ベースデータとに基づいて生成される復号鍵を取得する復号鍵取得手段と、前記復号鍵取得手段によって取得される前記復号鍵を使用し、前記暗号データを復号して平文データを生成する復号手段と、を備えることを特徴とする構成である。
【００２５】
請求項１９に係る発明は、暗号鍵生成装置であって、ベースデータを取得するベースデータ取得手段と、ユーザーを認証する認証処理を行う認証手段と、前記ベースデータと前記認証処理において認証されたユーザーのユーザー情報とに基づいて暗号鍵を生成する暗号鍵生成手段と、前記暗号鍵生成手段によって生成された前記暗号鍵を出力する鍵出力手段と、を備えることを特徴とする構成である。
【００２６】
請求項２０に係る発明は、プログラムであって、コンピュータに、ベースデータを取得するベースデータ取得ステップと、ユーザーを認証する認証処理を行う認証ステップと、前記ベースデータと前記認証ステップにおいて認証されたユーザーのユーザー情報とに基づいて生成される暗号鍵を取得する暗号鍵取得ステップと、前記暗号鍵取得ステップにおいて取得される前記暗号鍵を使用し、データを暗号化する暗号化ステップと、前記暗号化ステップにおいて使用された前記暗号鍵を破棄する暗号鍵破棄ステップと、前記暗号化ステップにおいて生成された暗号データに、前記ベースデータを特定可能な付加情報を付加して出力する出力ステップと、を実行させることを特徴とする構成である。
【００２７】
請求項２１に係る発明は、プログラムであって、コンピュータに、ユーザーを認証する認証処理を行う認証ステップと、ベースデータと前記認証ステップにおいて認証されたユーザーのユーザー情報とに基づいて生成される暗号鍵によって暗号化された暗号データを入力する入力ステップと、前記暗号データに付加される付加情報から前記ベースデータを特定する特定ステップと、前記ユーザー情報と前記特定ステップにおいて特定される前記ベースデータとに基づいて生成される復号鍵を取得する復号鍵取得ステップと、前記復号鍵取得ステップにおいて取得される前記復号鍵を使用し、前記暗号データを復号して平文データを生成する復号ステップと、を実行させることを特徴とする構成である。
【発明の効果】
【００２８】
本発明によれば、データを暗号化する際に用いた暗号鍵を情報処理装置内に保持せず、暗号化されたデータを復号する際に、ユーザーによるパスワード入力などを必要とすることなく、暗号化されたデータを復号することができる。
【図面の簡単な説明】
【００２９】
【図１】情報処理システムによる処理の概念を例示する図である。
【図２】暗号化装置のハードウェア構成及び機能構成の一例を示す図である。
【図３】復号装置のハードウェア構成及び機能構成の一例を示す図である。
【図４】鍵生成装置のハードウェア構成及び機能構成の一例を示す図である。
【図５】暗号化時の動作プロセスの一例を示す図である。
【図６】復号時の動作プロセスの一例を示す図である。
【図７】暗号化装置による暗号化処理の処理手順の一例を示すフローチャートである。
【図８】復号装置による復号処理の処理手順の一例を示すフローチャートである。
【図９】鍵生成装置による鍵生成処理の処理手順の一例を示すフローチャートである。
【図１０】第２実施形態の情報処理システムによる処理の概念を例示する図である。
【図１１】第２実施形態の情報処理装置のハードウェア構成及び機能構成の一例を示す図である。
【図１２】第３実施形態の情報処理装置のハードウェア構成及び機能構成の一例を示す図である。
【発明を実施するための形態】
【００３０】
以下、本発明に関する好ましい実施形態について図面を参照しつつ詳細に説明する。尚、以下に説明する実施形態において互いに共通する要素には同一符号を付しており、それらについての重複する説明は省略する。
【００３１】
（第１実施形態）
図１は、本発明の第１実施形態である情報処理システム１による処理の概念を例示する図である。図１（ａ）は、情報処理システム１による暗号化処理の概念を例示する図である。情報処理システム１は、暗号化装置２と、復号装置３と、鍵生成装置４とを備えている。暗号化装置２及び復号装置３は、例えばオフィスなどのローカル環境に設置される。また、暗号化装置２及び復号装置３は、ＬＡＮ（Local Area Network）などのネットワーク５を介して相互に通信を行うことができる構成である。鍵生成装置４は、例えばユーザーの腕などに装着されるウェアラブルデバイスであり、ＮＦＣ（Near Field Communication）やＢｌｕｅｔｏｏｔｈ（登録商標）などの規格に基づいて暗号化装置２及び復号装置３と近距離無線通信を行うことができる構成である。尚、暗号化装置２と鍵生成装置４との間で通信を確立させる際、ユーザーは、例えば腕など体の一部に装着した鍵生成装置４を暗号化装置２に近づける必要がある。
【００３２】
暗号化装置２は、例えば一般的なパーソナルコンピュータ（ＰＣ）で構成され、画像データやその他のデータを暗号化することにより暗号データ９０を生成することができる装置である。暗号化装置２は、生成した暗号データ９０を、ネットワーク５を介して復号装置３に送信する。尚、暗号化装置２は、パーソナルコンピュータに限られず、タブレット端末やスマートフォンなどで構成される装置であっても構わない。
【００３３】
鍵生成装置４は、ベースデータ９１とユーザー情報とを使用して、暗号鍵９２及び、暗号データ９０を復号するための復号鍵９３を生成することができる装置である。ここで、ベースデータ９１とは、暗号鍵９２及び復号鍵９３を生成するために必要なデータである。例えばベースデータ９１は、暗号化装置２によって生成される乱数などのランダムなデータである。またユーザー情報とは、暗号鍵９２及び復号鍵９３を生成するために必要なデータであり、鍵生成装置４によって認証されるユーザーに関する情報である。例えばユーザー情報は、ユーザー毎に登録されるユーザーＩＤなどであり、鍵生成装置４の所定の記憶領域に予めユーザーもしくは管理者などによって登録される情報である。暗号鍵９２及び復号鍵９３は所定の鍵生成アルゴリズムに基づいて生成され、暗号鍵９２の生成時と復号鍵９３の生成時とで、用いられるベースデータ９１及びユーザー情報が同一である場合、暗号鍵９２と復号鍵９３とは一対の鍵となる。暗号鍵９２と復号鍵９３とが一対の鍵である場合、当該暗号鍵９２で暗号化した暗号データ９０は、当該復号鍵９３によって復号することができる。
【００３４】
また、鍵生成装置４は、生体情報などの認証情報を取得してユーザー認証を行うことができる装置である。上述したように、本実施形態の鍵生成装置４は、ユーザーの腕に装着されるリストバンド型のウェアラブルデバイスである。本実施形態の鍵生成装置４は、ユーザーの心拍情報を認証情報として取得して認証処理を行う。尚、鍵生成装置４はリストバンド型のウェアラブルデバイスに限られない。ユーザーの虹彩情報を取得可能なメガネ型のウェアラブルデバイスや、ユーザーの指紋情報を取得する携帯可能な指紋認証装置などであっても構わない。その場合、鍵生成装置４はユーザーの虹彩情報や指紋情報を認証情報として取得する。
【００３５】
本実施形態の暗号化装置２は、データを暗号化するための暗号鍵９２を保持していない。そこで、暗号化装置２は、鍵生成装置４から暗号鍵９２を取得することによって、データの暗号化を行う。例えば、暗号化装置２は、ユーザーからデータを暗号化する指示を受け付けると、まずユーザーの認証処理を行う。ここでは、暗号化装置２が鍵生成装置４に認証確認要求を送信する。認証確認要求を受信した鍵生成装置４は、ユーザーの認証情報を取得してユーザー認証を行い、その結果を暗号化装置２に送信する。認証に成功した場合には、暗号化装置２は、鍵生成装置４から暗号鍵９２を取得するために鍵生成装置４にベースデータ９１を送信する。
【００３６】
鍵生成装置４は、暗号化装置２からベースデータ９１を受信すると、所定の記憶領域に記憶される認証ユーザーに関するユーザー情報を取得する。鍵生成装置４は、所定の鍵生成アルゴリズムに基づいて、ベースデータ９１及び所定の記憶領域から取得したユーザー情報を用いて暗号鍵９２を生成する。暗号鍵９２を生成すると、鍵生成装置４は生成した暗号鍵９２を暗号化装置２に送信する。
【００３７】
暗号化装置２は、鍵生成装置４から暗号鍵９２を受信すると、受信した暗号鍵９２を用いてデータの暗号化を行う。この際、暗号化装置２は、所定の暗号化アルゴリズムに基づいて暗号データ９０を生成する。暗号データ９０を生成した後、暗号化装置２は、当該暗号データ９０を生成する際に使用した暗号鍵９２を破棄する。暗号鍵９２を破棄することで、暗号鍵９２が盗まれることを防ぐことができる。
【００３８】
次に、暗号化装置２は生成した暗号データ９０を出力または保存する。本実施形態では、暗号化装置２が生成した暗号データ９０を復号装置３に送信する場合について説明する。暗号化装置２は、生成した暗号データ９０を復号装置３に送信する場合、暗号鍵９２のもととなったベースデータ９１を、暗号データ９０に付加して送信する。このベースデータ９１は、暗号データ９０を生成する際に用いられる暗号鍵９２の生成時に使用されるとともに、暗号データ９０を復号する際に用いられる復号鍵９３の生成時にも使用される。
【００３９】
図１（ｂ）は、情報処理システム１による復号処理の概念を例示する図である。復号装置３は、暗号化装置２によって暗号化された暗号データ９０を復号することにより、平文データを生成することができる装置である。復号装置３は、例えばＭＦＰ（Multifunction Peripherals）などの画像形成装置によって構成され、コピー機能、スキャン機能、印刷機能及びＦＡＸ機能など画像処理に関する複数の機能を有している。尚、本実施形態では復号装置３が画像処理に関する複数の機能を有している画像処理装置である場合を説明するが、これに限られるものではない。復号装置３は、画像処理に関する機能を有していないＰＣなどの情報処理装置であっても構わない。
【００４０】
復号装置３は、暗号データ９０を復号するための復号鍵９３を装置内部に保持していない。そこで、復号装置３は鍵生成装置４から復号鍵９３を取得することによって、暗号データ９０を復号する。復号装置３は、ユーザーによる暗号データ９０の復号指示を受け付けると、まずユーザーの認証処理を行う。ここでは、復号装置３が鍵生成装置４に認証確認要求を送信する。認証確認要求を受信した鍵生成装置４は、ユーザーの認証情報を取得してユーザー認証を行い、その結果を復号装置３に送信する。認証に成功した場合には、復号装置３は、鍵生成装置４から復号鍵９３を取得するために、復号鍵９３の生成に必要なベースデータ９１を鍵生成装置４に送信する。このベースデータ９１は、暗号化装置２から受信する暗号データ９０に付加されているものであり、暗号鍵９２を生成する際に使用されたベースデータ９１と同一のデータである。
【００４１】
鍵生成装置４は、復号装置３からベースデータ９１を受信すると、所定の記憶領域に記憶される認証ユーザーに関するユーザー情報を取得する。このとき、暗号化処理を指示したユーザーと、復号処理を指示したユーザーとが同一であれば、所定の記憶領域から取得されるユーザー情報は同一のものとなる。次に、鍵生成装置４は、所定の鍵生成アルゴリズムに基づいて、ベースデータ９１及びユーザー情報を用いて復号鍵９３を生成する。この復号鍵９３は、暗号化処理を指示したユーザーと、復号処理を指示したユーザーとが同一であれば、暗号鍵９２と対になる復号鍵９３となる。これは、同一のベースデータ９１及びユーザー情報に基づいて、暗号鍵９２及び復号鍵９３が生成されるためである。復号鍵９３を生成すると、鍵生成装置４は生成した復号鍵９３を復号装置３に送信する。
【００４２】
復号装置３は、鍵生成装置４から復号鍵９３を受信すると、受信した復号鍵９３を使用して暗号データ９０の復号処理を行う。上述したとおり、ここで使用される復号鍵９３は、暗号データ９０を暗号化した暗号鍵９２と対になるものである。そのため、復号装置３は、受信した復号鍵９３を使用して当該暗号データ９０を復号し、平文データを生成することができるのである。
【００４３】
上述したように、本実施形態の情報処理システム１は、暗号化処理を指示したユーザーと復号処理を指示するユーザーとが同一である場合、暗号データ９０を復号するための復号鍵９３を生成することが可能である。以下、このような情報処理システム１について更に詳しく説明する。
【００４４】
まず、暗号化装置２について詳しく説明する。図２は、暗号化装置２のハードウェア構成及び機能構成の一例を示す図である。暗号化装置２は、そのハードウェア構成として、通信インタフェース２０、カラー液晶ディスプレイなどで構成される表示部２１、キーボードやマウス、タッチパネルなどで構成される操作部２２、記憶部２３及び制御部２４を備えており、これらがデータバス２５を介して相互にデータの入出力を行うことができる構成である。
【００４５】
通信インタフェース２０は、暗号化装置２をネットワーク５に接続するためのインタフェースである。暗号化装置２は、この通信インタフェース２０を介して復号装置３と通信を行う。また、通信インタフェース２０は、近距離無線通信部２０ａを備えている。暗号化装置２は、この近距離無線通信部２０ａを介して鍵生成装置４と１対１の近距離無線通信を行う。１対１の近距離無線通信で鍵生成装置４とデータの入出力を行うことにより、セキュリティを確保しつつ、無線通信を行うことが可能となる。
【００４６】
記憶部２３は、例えばハードディスクドライブ（ＨＤＤ）又はソリッドステートドライブ（ＳＳＤ）で構成される不揮発性の記憶手段である。この記憶部２３には暗号化プログラム１００が記憶される。
【００４７】
制御部２４は、図示を省略するＣＰＵやメモリなどを備えて構成される。ＣＰＵは記憶部２３に記憶される暗号化プログラム１００を実行するためのものである。メモリは、ＣＰＵが暗号化プログラム１００を実行する際に発生する一時的なデータなどを記憶するためのものである。制御部２４のＣＰＵによって、暗号化プログラム１００が実行されると、制御部２４は、認証部２６０、ベースデータ生成部２６１、ベースデータ取得部２６２、ベースデータ送信部２６３、暗号鍵取得部２６４、暗号化実行部２６５、出力部２６６及び暗号鍵破棄部２６７として機能する、以下、これら各部の詳細について説明する。
【００４８】
認証部２６０は、ユーザーを認証する認証処理を行う処理部である。本実施形態の認証部２６０は、鍵生成装置４と通信を行って認証処理を行う。上述したように本実施形態の鍵生成装置４は、ユーザーの心拍情報を認証情報として取得し、取得した認証情報をもとにユーザーを認証することが可能である。ユーザーによって暗号化処理の指示が行われると、認証部２６０は暗号化処理を指示したユーザーが装着している鍵生成装置４と通信を行う。そして、認証部２６０は鍵生成装置４に認証確認要求を送信する。認認証確認要求を受信した鍵生成装置４は、ユーザーの認証情報を取得してユーザー認証を行い、認証の結果を暗号化装置２に送信する。鍵生成装置４において行われるユーザー認証の結果、認証部２６０が認証成功通知を受信した場合、認証部２６０はユーザーの認証に成功したと判断する。認証部２６０はユーザーの認証に成功したと判断した場合、ベースデータ生成部２６１にベースデータを生成するよう指示する。一方、認証部２６０が認証失敗通知を受信した場合、認証部２６０はユーザーの認証に失敗したと判断する。この場合、認証部２６０はベースデータ生成部２６１にベースデータ生成の指示を行わない。尚、認証部２６０が認証失敗通知を受信した場合、認証部２６０はユーザー認証に失敗したことをユーザーに通知するための画像を表示部２１に表示させるようにしてもよい。これにより、ユーザーは自身の認証に失敗したことを把握することができる。
【００４９】
ベースデータ生成部２６１は、ベースデータ９１を生成する処理部である。ベースデータ生成部２６１は、認証部２６０からベースデータ生成の指示を入力すると、ベースデータ９１を生成する。この際、ベースデータ生成部２６１は、毎回異なるベースデータ９１を生成することが好ましい。ベースデータ９１を毎回異なるデータとして生成することにより、それに応じてベースデータ９１とユーザー情報とに基づいて生成される暗号鍵９２も毎回異なるようになる。データの暗号化を行う度に異なる暗号鍵９２を生成することで、セキュリティを強化することができるからである。ベースデータ生成部２６１は、暗号化処理毎に異なるベースデータ９１を生成するために、例えば、乱数を生成し、生成した乱数をベースデータ９１としてもよい。また、ベースデータ生成部２６１は、所定のデータに現在の日時を示す情報を含ませたものをベースデータ９１としてもよい。そして、ベースデータ生成部２６１は、ベースデータ９１を生成すると、生成したベースデータ９１をベースデータ取得部２６２に出力する。
【００５０】
ベースデータ取得部２６２は、ベースデータ９１を取得する処理部である。ベースデータ取得部２６２は、ベースデータ生成部２６１からベースデータ９１を取得すると、当該ベースデータ９１をベースデータ送信部２６３に出力する。
【００５１】
ベースデータ送信部２６３は、ベースデータ取得部２６２によって取得されるベースデータ９１を、鍵生成装置４に送信する処理部である。ベースデータ送信部２６３は、ベースデータ取得部２６２からベースデータ９１を入力すると、入力したベースデータ９１を鍵生成装置４に送信する。
【００５２】
暗号鍵取得部２６４は、ベースデータ９１と認証ユーザーのユーザー情報とに基づいて生成される暗号鍵９２を取得する処理部である。本実施形態の暗号鍵取得部２６４は、鍵生成装置４から暗号鍵９２を取得する。暗号鍵取得部２６４は、暗号鍵９２を鍵生成装置４から取得すると、取得した暗号鍵９２を暗号化実行部２６５に出力する。
【００５３】
暗号化実行部２６５は、例えばユーザーによって指定されたデータを暗号化対象データとして取得し、そのデータに対する暗号化処理を行う。このとき、暗号化実行部２６５は、暗号鍵取得部２６４によって取得される暗号鍵９２を使用してデータを暗号化する。暗号化実行部２６５は、暗号鍵９２を使用し、所定の暗号化アルゴリズムに基づいてデータを暗号化し暗号データ９０を生成する。暗号化実行部２６５は、暗号データ９０を生成すると、当該暗号データ９０を出力部２６６に出力する。
【００５４】
暗号鍵破棄部２６７は、暗号化実行部２６５によって暗号データ９０が生成された際に機能し、暗号化実行部２６５によって暗号データ９０が生成される際に使用された暗号鍵９２を破棄する処理部である。暗号鍵９２を破棄することにより、暗号化装置２に使用済みの暗号鍵９２を保持させないようにする。そうすることで、暗号鍵９２が他人に盗まれるような事態を防止することが可能である。暗号鍵９２が盗まれないようにすることにより、悪意ある第三者による閲覧や内容の改竄を防ぐことができるのである。
【００５５】
出力部２６６は、暗号化実行部２６５によって生成された暗号データ９０に、ベースデータ９１を特定可能な付加情報を付加して、暗号データ９０及び付加情報を復号装置３に出力する処理部である。暗号化実行部２６５によって暗号データ９０が生成されると、暗号データ９０の生成に使用された暗号鍵９２は暗号鍵破棄部２６７によって破棄される。そのため、暗号データ９０を復号する際には、暗号鍵９２を生成する際に使用されたベースデータ９１とユーザー情報とに基づいて復号鍵９３を生成する必要がある。そこで、本実施形態では、暗号鍵９２を生成する際に使用されたベースデータ９１を特定可能な付加情報を暗号データ９０に付加して、復号装置３に暗号データ９０とともに送信する。それにより、復号装置３は、復号鍵９３の生成に必要なベースデータ９１を特定することができるのである。尚、本実施形態では、付加情報としてベースデータ９１自体を付加する場合を例示する。付加情報としてベースデータ９１を付加することで、付加情報に基づいてベースデータ９１を特定するための処理を省略することができる。
【００５６】
次に、復号装置３について詳しく説明する。図３は、復号装置３のハードウェア構成及び機能構成の一例を示す図である。復号装置３は、そのハードウェア構成として、通信インタフェース３０、操作パネル３１、記憶部３２、原稿の画像を光学的に読み取るスキャナ部３３、印刷出力を行うプリンタ部３４、図示を省略する公衆電話網を介してＦＡＸデータの送受信を行うＦＡＸ部３５及び制御部３６を備えており、これらがデータバス３７を介して相互にデータの入出力を行うことができる構成である。
【００５７】
通信インタフェース３０は、復号装置３をネットワーク５に接続するためのインタフェースである。復号装置３は、この通信インタフェース３０を介して暗号化装置２と通信を行う。また、通信インタフェース３０は、近距離無線通信部３０ａを備えている。復号装置３は、この近距離無線通信部３０ａを介して鍵生成装置４と１対１の近距離無線通信を行う。１対１の近距離無線通信で鍵生成装置４とデータの入出力を行うことにより、セキュリティを確保しつつ、無線通信を行うことが可能となる
【００５８】
操作パネル３１は、表示部３１ａと操作部３１ｂとを備えている。表示部３１ａは、例えばカラー液晶ディスプレイなどによって構成され、ユーザーに対して操作を促すための各種の操作画面を表示する。操作部３１ｂは、表示部３１ａの画面上に配置されるタッチパネルキーや表示部３１ａの画面周囲に配置される押しボタンキーなどによって構成され、ユーザーによる操作を受け付ける。
【００５９】
記憶部３２は、例えばハードディスクドライブ（ＨＤＤ）又はソリッドステートドライブ（ＳＳＤ）で構成される不揮発性の記憶手段である。この記憶部３２には、基本プログラム１０１、復号プログラム１０２、暗号データ９０及び暗号データ９０に関連付けられたベースデータ９１が記憶される。
【００６０】
制御部３６は、図示を省略するＣＰＵやメモリなどを備えて構成される。ＣＰＵは、記憶部３２に記憶される基本プログラム１０１及び復号プログラム１０２を実行するためのものである。メモリは、ＣＰＵが基本プログラム１０１及び復号プログラム１０２を実行する際に発生する一時的なデータなどを記憶するためのものである。制御部３６のＣＰＵが基本プログラム１０１を実行することで、復号装置３は、コピー機能や印刷機能など画像処理に関する複数の機能を有する画像処理装置として機能する。
【００６１】
また、制御部３６のＣＰＵによって復号プログラム１０２が実行されると、制御部３６は、入力部３６１、認証部３６２、ベースデータ特定部３６３、ベースデータ送信部３６４、復号鍵取得部３６５及び復号実行部３６６として機能する。以下、これら各部の詳細について説明する。
【００６２】
入力部３６１は、暗号データ９０と、暗号データ９０に付加される付加情報とを入力する処理部である。本実施形態の入力部３６１は、暗号データ９０と、暗号データ９０に付加される付加情報を通信インタフェース３０を介して暗号化装置２から入力する。尚、本実施形態の付加情報はベースデータ９１である。入力部３６１は、暗号データ９０と付加情報とを入力すると、暗号データ９０と付加情報とを関連付けて記憶部３２に保存する。例えば入力部３６１は、記憶部３２に保存する暗号データ９０毎にフォルダを作成し、作成したフォルダの中に対応する暗号データ９０及び付加情報を保存するようにする。
【００６３】
認証部３６２は、ユーザーを認証する認証処理を行う処理部である。本実施形態の認証部３６２は、鍵生成装置４と通信を行って認証処理を行う。上述したように本実施形態の鍵生成装置４は、ユーザーの心拍情報を認証情報として取得し、取得した認証情報をもとに認証処理を行う。ユーザーによる復号処理の指示が受け付けられると、認証部３６２が機能する。認証部３６２は、復号処理を指示したユーザーが装着している鍵生成装置４と通信を行う。そして、認証部３６２は鍵生成装置４に認証確認要求を送信する。認証確認要求を受信した鍵生成装置４は、ユーザーの認証情報を取得してユーザー認証を行い、認証の結果を復号装置３に送信する。鍵生成装置４において行われるユーザー認証の結果、認証部３６２が認証成功通知を受信した場合、認証部３６２はユーザーの認証に成功したと判断する。認証部３６２はユーザーの認証に成功したと判断した場合、ベースデータ特定部３６３に対してベースデータ特定の指示を行う。これにより、認証部３６２は、ベースデータ特定部３６３に、復号処理の対象となる暗号データ９０の復号に必要なベースデータ９１を特定させる。一方、認証確認要求に対する返信として、認証部３６２が認証失敗通知を受信した場合、認証部３６２はユーザーの認証に失敗したと判断する。この場合、認証部３６２はベースデータ特定部３６３にベースデータ特定の指示を行わない。尚、認証部３６２が認証失敗通知を受信した場合、認証部３６２はユーザー認証に失敗したことをユーザーに通知するための画像を表示部３１ａに表示させるようにしてもよい。これにより、ユーザーは自身の認証に失敗したことを把握することができる。
【００６４】
ベースデータ特定部３６３は、暗号データ９０に付加されている付加情報に基づいて、当該暗号データ９０を復号する際に必要となるベースデータ９１を特定する処理部である。ベースデータ特定部３６３は、認証部３６２からベースデータ特定の指示を入力すると、ベースデータ９１を特定するための処理を行う。本実施形態では、付加情報であるベースデータ９１は、暗号データ９０に関連づけられて記憶部３２に記憶されている。上述したとおり、例えば、ベースデータ９１は、記憶部３２の所定記憶領域内に作成される各暗号データ９０のフォルダ内に、対応する暗号データ９０とともに保存される。そのため、ベースデータ特定部３６３は、暗号データ９０に関連付けられているベースデータ９１を、当該暗号データ９０を復号する際に必要となるベースデータ９１であると特定することができる。ベースデータ特定部３６３は、暗号データ９０を復号するために必要なベースデータ９１を特定すると、特定したベースデータ９１をベースデータ送信部３６４に出力する。
【００６５】
ベースデータ送信部３６４は、ベースデータ特定部３６３によって特定されるベースデータ９１を鍵生成装置４に送信する処理部である。ベースデータ送信部３６４は、ベースデータ特定部３６３からベースデータ９１を入力すると、当該ベースデータ９１を鍵生成装置４に送信する。
【００６６】
復号鍵取得部３６５は、認証部３６２がユーザーの認証に成功したと判断した場合に機能し、認証されたユーザーに関するユーザー情報とベースデータ特定部３６３によって特定されるベースデータ９１とに基づいて生成される復号鍵９３を取得する処理部である。本実施形態の復号鍵取得部３６５は、鍵生成装置４によって生成される復号鍵９３を鍵生成装置４から取得する。復号鍵取得部３６５は、復号鍵９３を鍵生成装置４から取得すると、取得した復号鍵９３を復号実行部３６６に出力する。
【００６７】
復号実行部３６６は、復号鍵取得部３６５によって取得される復号鍵９３を使用して暗号データ９０を復号する処理部である。復号実行部３６６は、復号鍵９３を使用し、所定の復号アルゴリズムに基づいて暗号データ９０を復号することにより平文データを生成する。例えば、平文データが画像データである場合、復号装置３は、平文データに基づく画像を表示部３１ａに表示したり、平文データに基づく印刷出力を行ったりすることが可能となる。
【００６８】
次に、鍵生成装置４について詳しく説明する。図４は、鍵生成装置４のハードウェア構成及び機能構成の一例を示す図である。鍵生成装置４は、そのハードウェア構成として、近距離無線通信部４０、認証情報取得部４１、記憶部４２及び制御部４３を備えており、これらがデータバス４４を介して相互にデータの入出力を行うことができる構成である。
【００６９】
近距離無線通信部４０は、鍵生成装置４が暗号化装置２又は復号装置３と１対１の近距離無線通信を行うためのインタフェースである。
【００７０】
認証情報取得部４１は、ユーザーの認証情報を取得するものである。上述したように、本実施形態の認証情報取得部４１は、鍵生成装置４を装着したユーザーの心拍情報を認証情報として取得する。認証情報取得部４１は、取得した認証情報を後述する認証部３６２に出力する。
【００７１】
記憶部４２は、例えばソリッドステートドライブ（ＳＳＤ）で構成される不揮発性の記憶手段である。この記憶部４２には、鍵生成プログラム１０３及びユーザー情報９４が記憶される。
【００７２】
ユーザー情報９４には、鍵生成装置４を所持するユーザーに関する様々な情報がユーザーや管理者などによって予め登録されている。例えば、ユーザー情報９４には、ユーザーＩＤ、所属部署及び生年月日などのユーザーを識別（特定）するための識別情報が登録される。また、ユーザー情報９４には、ユーザーの心拍情報、静脈情報、指紋情報及び虹彩情報などの生体情報が登録されていてもよい。また、ユーザー情報９４には、秘密鍵（パスワード）などの暗号鍵９２及び復号鍵９３を生成するとき専用の情報が登録されていてもよい。また、複数のユーザーによって構成される例えば所属部署のようなグループがある場合、当該グループに属する複数のユーザーに共通のユーザー情報９４を割り当てるようにしてもよい。このようにすることで、グループに属するユーザーの指示によって暗号化された暗号データ９０を、グループに属する他のユーザーの指示によって復号することが可能となり、複数のユーザーで共通の仕事などを行う際の利便性を向上させることができるのである。
【００７３】
制御部４３は、図示を省略するＣＰＵやメモリなどを備えて構成される。ＣＰＵは記憶部４２に記憶される鍵生成プログラム１０３を実行するためのものである。メモリは、ＣＰＵが鍵生成プログラム１０３を実行する際に発生する一時的なデータなどを記憶するためのものである。制御部４３のＣＰＵが鍵生成プログラム１０３を実行することにより、制御部４３は、認証部４３１、ベースデータ取得部４３２、鍵生成部４３３及び鍵出力部４３４として機能する。以下、これら各部の詳細について説明する。
【００７４】
認証部４３１は、ユーザーを認証する認証処理を行う処理部である。認証部４３１は、暗号化装置２又は復号装置３から認証確認要求を受信すると、認証情報取得部４１を機能させ、ユーザーの認証情報を取得する。本実施形態では、認証処理をユーザーの心拍情報に基づいて行うため、認証情報取得部４１にユーザーの認証情報として、心拍情報を取得させる。認証部４３１は、認証情報取得部４１から入力する認証情報が、記憶部４２に記憶されるユーザー情報９４に登録されている情報と一致するか否かを判別することにより、ユーザー認証を行う。認証情報取得部４１から入力する認証情報がユーザー情報９４に登録されている情報と一致する場合、認証処理は成功する。この場合、認証部４３１は、認証成功通知を暗号化装置２又は復号装置３に送信する。一方、認証情報取得部４１から入力する認証情報がユーザー情報９４に登録されている情報と一致しない場合、認証処理は失敗する。この場合、認証部４３１は、認証失敗通知を暗号化装置２又は復号装置３に送信する。
【００７５】
ベースデータ取得部４３２は、ベースデータ９１を取得する処理部である。本実施形態のベースデータ取得部４３２は、暗号化装置２及び復号装置３からベースデータ９１を取得する。ベースデータ取得部４３２は、ベースデータ９１を取得すると、鍵生成部４３３に出力する。
【００７６】
鍵生成部４３３は、ユーザーの認証処理に成功した場合に機能する。鍵生成部４３３は、ベースデータ取得部４３２によって取得されるベースデータ９１と認証されたユーザーのユーザー情報９４とを使用して暗号鍵９２又は復号鍵９３を生成する処理部である。鍵生成部４３３は、ベースデータ取得部４３２からベースデータ９１を取得すると、記憶部４２に記憶される認証ユーザーに関するユーザー情報９４を取得する。尚、本実施形態では、ユーザー情報９４が複数の情報を含む場合、複数の情報のうちのどの情報を、暗号鍵９２及び復号鍵９３の生成に使用するかを予め決定しているものとする。この場合、鍵生成部４３３は、ユーザー情報９４のうち鍵の生成に使用する際に必要な情報のみを取得するようにしてもよい。また、鍵生成部４３３によって取得される情報は、必ずしも記憶部４２に記憶されるユーザー情報９４に含まれる情報でなくてもよい。具体的には、認証情報取得部４１によって取得される認証情報、すなわち本実施形態では心拍情報を、暗号鍵９２及び復号鍵９３を生成するための情報としてもよい。この場合、すでに認証情報取得部４１によって認証情報は取得されているため、認証処理の後に、鍵生成部４３３が記憶部４２からユーザー情報９４を別途取得する必要がなくなる。認証情報取得部４１によって取得される認証情報を鍵の生成に使用する情報とする場合、鍵生成部４３３はベースデータ９１と認証情報取得部４１によって取得される認証情報とを使用して暗号鍵９２又は復号鍵９３を生成することができる。
【００７７】
鍵生成部４３３は、所定の鍵生成アルゴリズムに基づいて暗号鍵９２及び復号鍵９３の生成を行う。鍵生成部４３３によって生成される暗号鍵９２及び復号鍵９３のデータ長は所定のデータ長に統一される。所定の鍵生成アルゴリズムは、暗号鍵９２の生成時と復号鍵９３の生成時とで、使用されるベースデータ９１及びユーザー情報９４が同一である場合、当該暗号鍵９２で暗号化された暗号データ９０を復号することができる復号鍵９３を生成するアルゴリズムであればよい。ただし、暗号鍵９２と対になる復号鍵９３とが共通である共通鍵方式を採用することが好ましい。例えば、ベースデータ９１を所定のハッシュ関数に入力することでハッシュ値を算出し、所定の暗号化アルゴリズムに基づいて、ユーザー情報９４を秘密鍵として使用して当該ハッシュ値を暗号化した電子署名を、暗号鍵９２及び復号鍵９３とするようなアルゴリズムである。共通鍵方式が好ましい理由は、暗号鍵９２と対になる復号鍵９３とが異なる公開鍵方式を採用する場合、共通鍵方式を採用する場合と比べて暗号化装置２がデータを暗号化する際の暗号化アルゴリズムが複雑になり、暗号化装置２の負荷が大きくなってしまうからである。鍵生成部４３３は、生成した暗号鍵９２又は復号鍵９３を、鍵出力部４３４に出力する。
【００７８】
鍵出力部４３４は、鍵生成部４３３によって生成された暗号鍵９２又は復号鍵９３を出力する処理部である。本実施形態の鍵出力部４３４は、鍵生成部４３３によって暗号鍵９２が生成された場合、暗号鍵９２を暗号化装置２に送信する。また、鍵出力部４３４は、鍵生成部４３３によって復号鍵９３が生成された場合、復号鍵９３を復号装置３に送信する。
【００７９】
次に、本実施形態の情報処理システム１を構成する暗号化装置２、復号装置３及び鍵生成装置４の動作を説明する。図５は、情報処理システム１がデータを暗号化する際の動作プロセスの一例を示す図である。暗号化装置２から所定距離の範囲内に鍵生成装置４が位置する場合、暗号化装置２は、鍵生成装置４と１対１の近距離無線通信状態を確立する（プロセスＰ１）。ユーザーが所定の操作を行うことにより暗号化の指示を行うと、暗号化装置２はユーザーからの指示に基づいて暗号化処理を受け付ける（プロセスＰ２）。暗号化処理を受け付けると、暗号化装置２は暗号化の指示を入力したユーザーの認証確認要求を鍵生成装置４に送信する（プロセスＰ３）。鍵生成装置４は認証確認要求を受信すると、認証処理を開始する（プロセスＰ４）。鍵生成装置４は、ユーザーの心拍情報を認証情報として取得し、ユーザー情報９４に登録されている心拍情報と一致するか否かを確認する。認証処理の結果、取得した心拍情報がユーザー情報９４に登録されている心拍情報と一致する場合、認証処理は成功する。この場合、鍵生成装置４はユーザーの認証が成功したことを知らせる認証成功通知を暗号化装置２に送信する（プロセスＰ５）。
【００８０】
暗号化装置２は、認証成功通知を受信すると、ベースデータ９１を生成する（プロセスＰ６）。そして暗号化装置２は、生成したべースデータ９１を鍵生成装置４に送信する（プロセスＰ７）。鍵生成装置４は、ベースデータ９１を受信すると、認証されたユーザーのユーザー情報９４を取得し、ベースデータ９１とユーザー情報９４とに基づいて暗号鍵９２を生成する（プロセスＰ８）。その後、鍵生成装置４は、生成した暗号鍵９２を暗号化装置２に送信する（プロセスＰ９）。暗号化装置２は、暗号鍵９２を受信すると、暗号鍵９２を使用してデータを暗号化し、暗号データ９０を生成する（プロセスＰ１０）。暗号データ９０を生成した後、暗号化装置２は暗号データ９０を生成する際に使用した暗号鍵９２を破棄する（プロセスＰ１１）。そして、暗号化装置２は、暗号データ９０に、暗号鍵９２を生成する際に使用したベースデータ９１を付加情報として付加し、暗号データ９０及びベースデータ９１を復号装置３に送信する（プロセスＰ１２）。復号装置３は、受信した暗号データ９０及びベースデータ９１を、互いに関連付けた状態で保存する。
【００８１】
次に、復号装置３及び鍵生成装置４の動作を説明する。図６は、情報処理システム１が暗号データ９０を復号する際の動作プロセスの一例を示す図である。復号装置３から所定距離の範囲内に鍵生成装置４が位置する場合、復号装置３は鍵生成装置４と１対１の近距離無線通信状態を確立する（プロセスＰ２０）。ユーザーが所定の操作を行うことにより復号の指示を行うと、復号装置３はユーザー操作に基づいて暗号データ９０を復号する処理の指示を受け付ける（プロセスＰ２１）。復号処理の指示を受け付けると、復号装置３は復号の指示を入力したユーザーの認証確認要求を鍵生成装置４に送信する（プロセスＰ２２）。鍵生成装置４は認証確認要求を受信すると、認証処理を開始する（プロセスＰ２３）。鍵生成装置４は、ユーザーの心拍情報を認証情報として取得し、ユーザー情報９４に登録されている心拍情報と一致するか否かを確認する。認証処理の結果、取得した心拍情報がユーザー情報９４に登録されている心拍情報と一致する場合、ユーザーの認証処理は成功する。この場合、鍵生成装置４はユーザーの認証が成功したことを知らせる認証成功通知を復号装置３に送信する（プロセスＰ２４）。
【００８２】
復号装置３は、認証成功通知を受信すると、復号処理の対象となる暗号データ９０を復号するための復号鍵９３を生成するために必要なベースデータ９１を、付加情報に基づいて特定する（プロセスＰ２５）。復号装置３は、特定したベースデータ９１を鍵生成装置４に送信する（プロセスＰ２６）。鍵生成装置４は、ベースデータ９１を受信すると、認証されたユーザーのユーザー情報９４を取得し、ベースデータ９１とユーザー情報９４とに基づいて復号鍵９３を生成する（プロセスＰ２７）。鍵生成装置４は、生成した復号鍵９３を復号装置３に送信する（プロセスＰ２８）。復号装置３は、復号鍵９３を受信すると、受信した復号鍵９３を使用して暗号データ９０を復号することにより、平文データを生成する（プロセスＰ２９）。
【００８３】
次に、暗号化装置２における具体的な動作の一例について説明する。図７は、暗号化装置２において行われる暗号化処理の処理手順の一例を示すフローチャートである。この処理は、ユーザーからの暗号化の指示に基づいて暗号化処理を開始することに伴い行われる処理である。この処理を開始すると、暗号化装置２は、鍵生成装置４との接続状態が確立されているか否かを確認する（ステップＳ１１）。鍵生成装置４と近距離無線通信状態が確立されていない場合（ステップＳ１１でＮＯ）、暗号化装置２は、鍵生成装置４と近距離無線通信状態が確立されるまで待機する。一方、鍵生成装置４と近距離無線通信状態が確立されている場合（ステップＳ１１でＹＥＳ）、暗号化装置２は、認証処理を開始する（ステップＳ１２）。この認証処理は、暗号化装置２が認証確認要求を鍵生成装置４に送信することによって行われる。認証確認要求に対して、鍵生成装置４から認証失敗通知を受信した場合（ステップＳ１３でＮＯ）、暗号化処理は終了する。一方、鍵生成装置４から認証成功通知を受信した場合（ステップＳ１３でＹＥＳ）、暗号化装置２はベースデータ９１を生成して取得する（ステップＳ１４）。そして、暗号化装置２は、取得したベースデータ９１を鍵生成装置４に送信する（ステップＳ１５）。
【００８４】
次に、暗号化装置２は、鍵生成装置４から暗号鍵９２を受信するまで待機する（ステップＳ１６）。鍵生成装置４から暗号鍵９２を受信した場合（ステップＳ１６でＹＥＳ）、暗号化装置２は、受信した暗号鍵９２を使用してデータを暗号化することにより、暗号データ９０を生成する（ステップＳ１７）。そして暗号化装置２は、暗号データ９０を生成する際に使用した暗号鍵９２を破棄する（ステップＳ１８）。暗号化装置２は、当該暗号データ９０を暗号化するために使用した暗号鍵９２を生成する基となったベースデータ９１を、付加情報として暗号データ９０に付加して出力、又は暗号データ９０に関連づけて保存する（ステップＳ１９）。そして、暗号化装置２は暗号化処理を終了する。尚、本実施形態の暗号化装置２は、生成した暗号データ９０にベースデータ９１を付加して復号装置３に送信する。
【００８５】
次に復号装置３における具体的な動作の一例について説明する。図８は、復号装置３において行われる復号処理の処理手順の一例を示すフローチャートである。この処理は、ユーザーからの復号の指示に基づいて復号処理を開始することに伴い行われる処理である。まず、復号装置３は、鍵生成装置４との接続状態が確立されているか否かを確認する（ステップＳ２１）。鍵生成装置４との近距離無線通信状態が確立されていない場合（ステップＳ２１でＮＯ）、復号装置３は、鍵生成装置４との近距離無線通信状態が確立されるまで待機する。一方、鍵生成装置４との近距離無線通信状態が確立されている場合（ステップＳ２１でＹＥＳ）、復号装置３は、認証処理を開始する（ステップＳ２２）。この認証処理は、復号装置３が認証確認要求を鍵生成装置４に送信することによって行われる。認証確認要求に対して、鍵生成装置４から認証失敗通知を受信した場合（ステップＳ２３でＮＯ）、復号処理は終了する。一方、鍵生成装置４から認証成功通知を受信した場合（ステップＳ２３でＹＥＳ）、復号装置３は、暗号データ９０に付加されている付加情報に基づきベースデータ９１を特定する（ステップＳ２４）。復号装置３は、特定したベースデータ９１を鍵生成装置４に送信する（ステップＳ２５）。復号装置３は、鍵生成装置４から復号鍵９３を受信するまで待機する（ステップＳ２６）。鍵生成装置４から復号鍵９３を受信すると（ステップＳ２６でＹＥＳ）、復号装置３は、受信した復号鍵９３を使用して暗号データ９０を復号することにより、平文データを生成する（ステップＳ２７）。そして、復号装置３は復号処理を終了する。
【００８６】
次に鍵生成装置４における具体的な動作の一例について説明する。図９は、鍵生成装置４において行われる鍵生成処理の処理手順の一例を示すフローチャートである。この処理は、暗号化装置２又は復号装置３から送信される認証確認要求を受信することに伴い行われる処理である。まず鍵生成装置４は、ユーザーの認証情報を取得する（ステップＳ３１）。本実施形態では、鍵生成装置４はユーザーの心拍情報を取得する。そして鍵生成装置４は、ユーザーから取得した認証情報がユーザー情報９４に登録されている情報と一致するか否かを判断することにより認証処理を行う（ステップＳ３２）。本実施形態では、鍵生成装置４によって取得されるユーザーの心拍情報が、ユーザー情報９４に登録されているユーザーの心拍情報と一致するか否かを確認する。認証処理の結果、ユーザーから取得する認証情報がユーザー情報９４と一致しない場合、認証処理は失敗する。認証処理に失敗した場合（ステップＳ３３でＮＯ）、鍵生成装置４は、認証失敗通知を暗号化装置２又は復号装置３に送信する（ステップＳ３９）。そして、鍵生成処理を終了する。一方、認証処理の結果、ユーザーから取得する認証情報がユーザー情報９４と一致する場合、認証処理は成功する。認証に成功した場合（ステップＳ３３でＹＥＳ）、鍵生成装置４は認証成功通知を暗号化装置２又は復号装置３に送信する（ステップＳ３４）。
【００８７】
次に、鍵生成装置４は、暗号化装置２又は復号装置３からベースデータ９１を受信するまで待機する（ステップＳ３５）。暗号化装置２又は復号装置３からベースデータ９１を受信すると（ステップＳ３５でＹＥＳ）、鍵生成装置４は、認証ユーザーに関するユーザー情報９４を記憶部４２から取得する（ステップＳ３６）。そして、鍵生成装置４は、所定の鍵生成アルゴリズムに基づいて、ベースデータ９１及びユーザー情報９４を使用して暗号鍵９２又は復号鍵９３を生成する（ステップＳ３７）。ステップＳ３７において暗号鍵９２を生成した場合、鍵生成装置４は、生成した暗号鍵９２を暗号化装置２に送信する（ステップ３８）。一方、ステップＳ３７において復号鍵９３を生成した場合、鍵生成装置４は、生成した復号鍵９３を復号装置３に送信する（ステップＳ３８）。そして、鍵生成処理を終了する。
【００８８】
上述したように、本実施形態の情報処理システム１は、使用済みの暗号鍵９２を破棄することにより、暗号化装置２に暗号鍵９２を保持させないようにすることが可能となる。したがって、暗号鍵９２が他人に盗まれる可能性は無くなり、セキュリティを確保することができる。情報処理システム１は、暗号鍵９２を生成する際に使用したベースデータ９１を特定可能な付加情報を暗号データ９０に付加したうえで暗号データ９０を保存する。また、情報処理システム１は、暗号データ９０を復号する際、復号鍵９３を生成するのに必要なベースデータ９１を、付加情報に基づいて特定することができる。そして、本実施形態の情報処理システム１は、暗号鍵９２を生成した際に使用したベースデータ９１と、暗号鍵９２を生成した際に使用したユーザー情報９４とを使用して、当該暗号鍵９２と対になる復号鍵９３を生成することができる。そのため、暗号鍵９２を生成した際に使用したユーザー情報９４を取得することができれば、情報処理システム１は、暗号鍵９２と対になる復号鍵９３を生成して暗号データ９０を復号することができる。このユーザー情報９４は、情報処理システム１に認証されるユーザー毎又はグループ毎に登録される情報である。そのため、暗号化処理を指示したユーザーと、復号処理を指示したユーザーとが、同一ユーザー又は同一グループに所属するユーザーである場合、当該ユーザーは、情報処理システム１による認証処理を経るだけで、平文データの確認や編集を行うことができるのである。また、本実施形態の復号装置３は、ＭＦＰなどの画像形成装置で構成されている。本発明によれば、暗号化処理を指示したユーザーと、復号処理を指示したユーザーとが同一ユーザー又は同一グループに所属するユーザーでないと暗号データ９０を復号することができない。そのため、秘匿性の高い文書を暗号化した暗号データ９０を復号装置３に記憶している場合でも、悪意ある第三者の復号指示によって暗号データ９０が復号されることがない。したがって、平文データに基づいて印刷出力が行われることにより、秘匿性の高い文書を盗まれるといったことを防止することができるのである。
【００８９】
（第２実施形態）
次に、本発明の第２実施形態について説明する。上述した第１実施形態では、暗号化処理を行う暗号化装置２と、復号処理を行う復号装置３とが別の装置である形態について説明した。本実施形態では暗号化装置２と復号装置３とが一体となった情報処理装置について説明する。
【００９０】
図１０は、本実施形態の情報処理システム１ａによる処理の概念を例示する図である。情報処理システム１ａは、情報処理装置６と鍵生成装置４とを備えている。情報処理装置６は、第１実施形態において説明した暗号化装置２及び復号装置３が一体となった装置である。鍵生成装置４は、第１実施形態において説明した鍵生成装置４と同様である。情報処理装置６及び鍵生成装置４は互いに近距離無線通信を行うことができる構成である。
【００９１】
情報処理装置６は、例えば一般的なパーソナルコンピュータ（ＰＣ）で構成され、画像データやその他のデータを暗号化して暗号データ９０を生成することができる装置である。また、情報処理装置６は、暗号データ９０を復号して平文データを生成することができる装置である。尚、情報処理装置６は、パーソナルコンピュータに限られず、タブレット端末やスマートフォンで構成される装置であっても構わないし、ＭＦＰなどの画像処理装置であっても構わない。
【００９２】
情報処理装置６は、ユーザーによって暗号化処理の指示が行われると、ユーザーの認証処理を行う。認証に成功したと判断した場合、情報処理装置６は、鍵生成装置４にベースデータ９１を送信し、鍵生成装置４から暗号鍵９２を取得する。情報処理装置６は、鍵生成装置４から暗号鍵９２を受信すると、受信した暗号鍵９２を使用してデータを暗号化することにより暗号データ９０を生成する。また、情報処理装置６は、ユーザーによって復号処理の指示が行われると、ユーザーの認証処理を行う。認証に成功したと判断した場合、情報処理装置６は、鍵生成装置４にベースデータ９１を送信し、鍵生成装置４から復号鍵９３を取得する。情報処理装置６は、鍵生成装置４から復号鍵９３を受信すると、受信した復号鍵９３を使用して暗号データ９０を復号することにより平文データを生成する。以下、このような情報処理装置６について更に詳しく説明する。
【００９３】
図１１は、情報処理装置６のハードウェア構成及び機能構成の一例を示す図である。情報処理装置６は、そのハードウェア構成として、通信インタフェース６０、表示部６１、操作部６２、記憶部６３及び制御部６４を備えており、これらがデータバス６５を介して相互にデータの入出力を行うことができる構成である。
【００９４】
通信インタフェース６０、表示部６１及び操作部６２については、第１実施形態において説明した通信インタフェース２０、表示部２１及び操作部２２と同様である。
【００９５】
記憶部６３は、例えばハードディスクドライブ（ＨＤＤ）又はソリッドステートドライブ（ＳＳＤ）で構成される不揮発性の記憶手段である。この記憶部２３にはプログラム１００ａ、暗号データ９０及びベースデータ９１が記憶される。
【００９６】
制御部６４は、図示を省略するＣＰＵやメモリなどを備えて構成される。制御部６４のＣＰＵによってプログラム１００ａが実行されると、制御部６４は、認証部６４０、ベースデータ生成部６４１、ベースデータ取得部６４２、ベースデータ送信部６４３、暗号鍵取得部６４４、暗号化実行部６４５、出力部６４６、暗号鍵破棄部６４７、ベースデータ特定部６４８、復号鍵取得部６４９及び復号実行部６５０として機能する。以下、これら各部の詳細について説明する。
【００９７】
認証部６４０は、ユーザーを認証する認証処理を行う処理部である。認証部６４０は、ユーザーからの暗号化処理又は復号処理の指示を受け付けると、機能する。認証部６４０は、鍵生成装置４と通信を行って、鍵生成装置４に認証確認要求を行う。暗号化処理を指示したユーザーの認証成功を確認できた場合、認証部６４０は、ベースデータ生成部６４１にベースデータ９１を生成するよう指示する。また、復号処理を指示したユーザーの認証成功を確認できた場合、認証部６４０は、ベースデータ特定部６４８にベースデータ９１を特定するよう指示する。
【００９８】
ベースデータ生成部６４１は、認証部６４０からベースデータ生成の指示を入力することに伴って機能し、ベースデータ９１を生成する処理部である。ベースデータ生成部６４１は、認証部６４０からベースデータ生成の指示を入力すると、ベースデータ９１を生成し、生成したベースデータ９１をベースデータ取得部６４２に出力する。
【００９９】
ベースデータ取得部６４２は、ベースデータ生成部６４１からベースデータ９１を取得する処理部である。ベースデータ取得部６４２は、ベースデータ生成部６４１からベースデータ９１を取得すると、取得したベースデータ９１をベースデータ送信部６４３に出力する。
【０１００】
ベースデータ送信部６４３は、ベースデータ取得部６４２によって取得されるベースデータ９１又は後述するベースデータ特定部６４８によって特定されるベースデータ９１を、鍵生成装置４に送信する処理部である。ベースデータ送信部６４３は、ベースデータ取得部６４２又はベースデータ特定部６４８からベースデータ９１を入力すると、入力したベースデータ９１を鍵生成装置４に送信する。
【０１０１】
暗号鍵取得部６４４は、ベースデータ９１と認証されたユーザーのユーザー情報９４とに基づいて生成される暗号鍵９２を鍵生成装置４から取得する処理部である。暗号鍵取得部６４４は、暗号鍵９２を鍵生成装置４から取得すると、取得した暗号鍵９２を暗号化実行部６４５に出力する。
【０１０２】
暗号化実行部６４５は、暗号鍵取得部６４４によって取得される暗号鍵９２を使用して、データを暗号化する処理部である。暗号化実行部６４５は、暗号鍵９２を使用し、所定の暗号化アルゴリズムに基づいてデータを暗号化することにより、暗号データ９０を生成する。暗号化実行部６４５は、暗号データ９０を生成すると、生成した暗号データ９０を出力部６４６に出力する。
【０１０３】
出力部６４６は、暗号化実行部６４５によって生成された暗号データ９０に、その暗号データ９０を生成する際に用いた暗号鍵９２を生成するもととなったベースデータ９１を付加して記憶部６３に保存する処理部である。このとき、暗号データ９０とベースデータ９１は互いに関連づけられて、記憶部６３に保存される。例えば出力部６４６は、記憶部６３に保存する各暗号データ９０に対応するフォルダを作成し、対応するフォルダの中に暗号データ９０及びベースデータ９１を保存するようにする。尚、出力部６４６は、暗号データ９０とベースデータ９１とを、記憶部６３に保存せずに、図示しない他の装置に出力するようにしてもよい。
【０１０４】
暗号鍵破棄部６４７は、暗号化実行部６４５によって使用された暗号鍵９２を破棄する処理部である。暗号鍵破棄部６４７は、暗号化実行部６４５によって暗号データ９０が生成された際に機能し、暗号化実行部６４５によって使用された暗号鍵９２を破棄する。
【０１０５】
ベースデータ特定部６４８は、認証部６４０からベースデータ９１の特定指示を入力した際に機能する。ベースデータ特定部６４８は、暗号データ９０に付加される付加情報に基づいて、ベースデータ９１を特定する処理部である。ベースデータ特定部６４８は、認証部６４０からベースデータ特定の指示を入力すると、ベースデータ９１を特定する。本実施形態では、暗号データ９０には付加情報としてベースデータ９１が付加されている。したがって、ベースデータ９１と暗号データ９０は、互いに関連づけられて記憶部６３に記憶されている。そのため、ベースデータ特定部６４８は、暗号データ９０に関連付けられているベースデータ９１を、当該暗号データ９０を復号する際に用いる復号鍵９３を生成するために必要なベースデータ９１であると特定する。ベースデータ特定部６４８は、暗号データ９０を復号する際に用いる復号鍵９３を生成するために必要なベースデータ９１を特定すると、特定したベースデータ９１をベースデータ送信部６４３に出力する。
【０１０６】
復号鍵取得部６４９は、認証されたユーザーのユーザー情報９４とベースデータ特定部６４８によって特定されるベースデータ９１とに基づいて生成される復号鍵９３を鍵生成装置４から取得する処理部である。復号鍵取得部６４９は、復号鍵９３を鍵生成装置４から取得すると、取得した復号鍵９３を復号実行部６５０に出力する。
【０１０７】
復号実行部６５０は、復号鍵取得部６４９によって鍵生成装置４から取得される復号鍵９３を使用して暗号データ９０を復号する処理部である。復号実行部６５０は、復号鍵９３を使用し、所定の復号アルゴリズムに基づいて暗号データ９０を復号することにより、平文データを生成する。
【０１０８】
上述したように、本実施形態の情報処理システム１ａは、暗号化装置２と復号装置３とが一体となった情報処理装置６を備えている。これにより、ユーザーは情報処理装置６に対して所定の操作を行うことで、暗号化処理又は復号処理を指示することができる。すなわち、暗号化装置２と復号装置３とが別の装置である場合と比べて、同一の装置でデータの暗号化及び復号を行うことができるといったメリットがある。
【０１０９】
尚、本実施形態において上述した点以外については、第１実施形態で説明したものと同様であるため、説明を省略する。
【０１１０】
（第３実施形態）
次に、本発明の第３実施形態について説明する。上述した第１実施形態では、暗号化処理を行う暗号化装置２と、復号処理を行う復号装置３と、暗号鍵９２及び復号鍵９３を生成する鍵生成装置４とがそれぞれ別の装置である形態について説明した。本実施形態では、暗号化装置２と復号装置３と鍵生成装置４とが一体となった情報処理装置について説明する。
【０１１１】
本実施形態の情報処理装置は、例えば一般的なパーソナルコンピュータ（ＰＣ）で構成され、ベースデータ９１及びユーザー情報９４を使用して暗号鍵９２を生成し、画像データやその他のデータを、暗号鍵９２を用いて暗号化することにより、暗号データ９０を生成することができる装置である。また、情報処理装置は、ベースデータ９１及びユーザー情報９４を使用して復号鍵９３を生成し、生成した復号鍵９３を用いて暗号データ９０を復号することにより、平文データを生成することができる装置である。尚、情報処理装置は、パーソナルコンピュータに限られず、タブレット端末やスマートフォンで構成される装置であっても構わないし、ＭＦＰなどの画像処理装置であっても構わない。
【０１１２】
図１２は、情報処理装置７のハードウェア構成及び機能構成の一例を示す図である。情報処理装置７は、そのハードウェア構成として、通信インタフェース７１、表示部７２、操作部７３、認証情報取得部７４、記憶部７５及び制御部７６を備えており、これらがデータバス７７を介して相互にデータの入出力を行うことができる構成である。
【０１１３】
通信インタフェース７１、表示部７２及び操作部７３については、第１実施形態において説明した通信インタフェース２０、表示部２１及び操作部２２と同様である。尚、通信インタフェース７１は、近距離無線通信部を備えていないものであっても構わない。
【０１１４】
認証情報取得部７４は、ユーザーの認証情報を取得するものである。認証情報取得部７４は、ユーザーの心拍情報を認証情報として取得するものであってもよいし、他の認証情報を取得するものであっても構わない。例えば認証情報取得部７４は、ユーザーの指紋情報を認証情報として取得する生体情報取得装置や、ユーザーが所持するＩＣカードからユーザーＩＤなどの認証情報を取得するカードリーダー装置などであってもよい。ただし、セキュリティ強化の観点から、認証情報取得部７４は生体認証装置とすることが好ましい。
【０１１５】
記憶部７５は、例えばハードディスクドライブ（ＨＤＤ）又はソリッドステートドライブ（ＳＳＤ）で構成される不揮発性の記憶手段である。この記憶部７５にはプログラム１００ｂ、ユーザー情報９４、暗号データ９０及びベースデータ９１が記憶される。
【０１１６】
制御部７６は図示を省略するＣＰＵやメモリなどを備えて構成される。制御部７６のＣＰＵによってプログラム１００ｂが実行されると、制御部７６は、認証部７６０、ベースデータ生成部７６１、ベースデータ取得部７６２、鍵生成部７６３、暗号鍵取得部７６４、暗号化実行部７６５，出力部７６６、暗号鍵破棄部７６７、ベースデータ特定部７６８、復号鍵取得部７６９及び復号実行部７７０として機能する。以下、これら各部の詳細について説明する。
【０１１７】
認証部７６０は、ユーザーを認証する認証処理を行う処理部である。認証部７６０は、ユーザーによる暗号化処理又は復号処理の指示を受け付けることに伴って機能する。認証部７６０は、認証処理を開始すると、認証情報取得部７４を機能させ、ユーザーの認証情報を取得する。認証情報取得部７４から入力する認証情報がユーザー情報９４に登録されている情報と一致する場合、認証部７６０は認証に成功したと判断する。暗号化処理を指示したユーザーが認証された場合、認証部７６０は、ベースデータ生成部７６１にベースデータ９１を生成するよう指示する。また、復号処理を指示したユーザーが認証された場合、認証部７６０はベースデータ特定部７６８にベースデータ９１を特定するよう指示する。
【０１１８】
ベースデータ生成部７６１は、ベースデータ９１を生成する処理部である。ベースデータ生成部７６１は、認証部７６０からベースデータ生成の指示を入力すると、ベースデータ９１を生成し、生成したベースデータ９１をベースデータ取得部７６２に出力する。
【０１１９】
ベースデータ取得部７６２は、ベースデータ９１を取得する処理部である。ベースデータ取得部７６２は、ベースデータ生成部７６１又は後述するベースデータ特定部７６８からベースデータ９１を取得すると、取得したベースデータ９１を鍵生成部７６３に出力する。
【０１２０】
鍵生成部７６３は、ベースデータ取得部７６２によって取得されるベースデータ９１と認証されたユーザーのユーザー情報９４とに基づいて、暗号鍵９２又は復号鍵９３を生成する処理部である。鍵生成部７６３は、ベースデータ取得部７６２からベースデータ９１を取得すると、記憶部７５に記憶される認証されたユーザーに関するユーザー情報９４を取得する。そして、鍵生成部７６３は、所定の鍵生成アルゴリズムに基づいて、ベースデータ９１とユーザー情報９４とを使用して暗号鍵９２又は復号鍵９３を生成する。暗号鍵９２を生成した場合、鍵生成部７６３は、生成した暗号鍵９２を暗号鍵取得部７６４に出力する。一方、復号鍵９３を生成した場合、鍵生成部７６３は、生成した復号鍵９３を復号鍵取得部７６９に出力する。
【０１２１】
暗号鍵取得部７６４は、暗号鍵９２を生成する際に機能する。暗号鍵取得部７６４は、ベースデータ９１と認証されたユーザーのユーザー情報９４とに基づいて生成される暗号鍵９２を鍵生成部７６３から取得する処理部である。暗号鍵取得部７６４は、暗号鍵９２を鍵生成部７６３から取得すると、取得した暗号鍵９２を暗号化実行部７６５に出力する。
【０１２２】
暗号化実行部７６５は、暗号鍵取得部７６４によって取得される暗号鍵９２を使用してデータを暗号化する処理部である。暗号化実行部７６５は、暗号鍵９２を使用し、所定の暗号化アルゴリズムに基づいてデータを暗号化することにより、暗号データ９０を生成する。暗号化実行部７６５は、暗号データ９０を生成すると、生成した暗号データ９０を出力部７６６に出力する。
【０１２３】
出力部７６６は、暗号化実行部７６５によって生成された暗号データ９０に、ベースデータ９１を付加して記憶部７５に保存する処理部である。例えば出力部７６６は、記憶部７５に各暗号データ９０に対応するフォルダを作成し、対応するフォルダの中に暗号データ９０及びベースデータ９１を保存するようにする。尚、暗号データ９０及びベースデータ９１は互いに関連づけられて記憶される。尚、出力部７６６は、暗号データ９０及びベースデータ９１を記憶部７５に保存せず、他の装置に出力しても構わない。
【０１２４】
暗号鍵破棄部７６７は、暗号化実行部７６５によって使用された暗号鍵９２を破棄する処理部である。暗号鍵破棄部７６７は、暗号化実行部７６５によって暗号データ９０が生成された際に機能し、暗号化実行部７６５によって暗号データ９０が生成される際に使用された暗号鍵９２を破棄する。
【０１２５】
ベースデータ特定部７６８は、暗号データ９０に付加される付加情報から、復号鍵９３を生成するために必要となるベースデータ９１を特定する処理部である。ベースデータ特定部７６８は、認証部７６０からベースデータ特定の指示を入力すると、復号鍵９３を生成するために必要なベースデータ９１を特定する。本実施形態では、暗号データ９０に付加情報として付加されているベースデータ９１と暗号データ９０は互いに関連づけられて記憶部７５に記憶されている。そのため、ベースデータ特定部７６８は暗号データ９０に関連付けられているベースデータ９１を、当該暗号データ９０を復号する際に用いる復号鍵９３を生成するために必要となるベースデータ９１であると特定する。ベースデータ特定部７６８は、暗号データ９０を復号するために用いる復号鍵９３を生成するために必要なベースデータ９１を特定すると、特定したベースデータ９１をベースデータ取得部７６２に出力する。
【０１２６】
復号鍵取得部７６９は、認証されたユーザーのユーザー情報９４とベースデータ特定部７６８によって特定されるベースデータ９１とに基づいて生成される復号鍵９３を、鍵生成部７６３から取得する処理部である。復号鍵取得部７６９は、復号鍵９３を鍵生成部７６３から取得すると、取得した復号鍵９３を復号実行部７７０に出力する。
【０１２７】
復号実行部７７０は、復号鍵取得部７６９によって取得される復号鍵９３を使用して暗号データ９０を復号する処理部である。復号実行部７７０は、復号鍵９３を使用し、所定の復号アルゴリズムに基づいて暗号データ９０を復号することにより平文データを生成する。
【０１２８】
上述したように、本実施形態の情報処理装置７は、暗号化装置２と復号装置３と鍵生成装置４とが一体となっている。そのため、暗号鍵９２及び復号鍵９３の生成、暗号化処理及び復号処理を同一の装置で行うことが可能である。したがって、これらのすべての処理を情報処理装置７で行う場合は、これらの処理をそれぞれ別の装置（暗号化装置２、復号装置３及び鍵生成装置４）で行う場合と比べて、各装置間で通信を行う必要がなくなり、各装置にかかる負荷を軽減することができる。また、各装置間でベースデータ９１などの情報を送受信する際に、第三者に傍受されるといった事態を回避することができ、高いセキュリティを実現することが可能となる。
【０１２９】
尚、本実施形態において上述した点以外については、第１実施形態又は第２実施形態で説明したものと同様であるため、説明を省略する。
【０１３０】
（変形例）
以上、本発明に関する幾つかの実施形態について説明した。しかし、本発明は、上記各実施形態において説明した内容のものに限られるものではなく、種々の変形例が適用可能である。
【０１３１】
上記実施形態では、暗号鍵９２のもととなったベースデータ９１を特定するための付加情報が、暗号鍵９２を生成する際に使用したベースデータ９１そのものである場合を例示したが、これに限られるものではない。例えば付加情報は、ベースデータ９１を所定の暗号化アルゴリズムに基づいて暗号化したものであってもよい。この場合、出力部によって所定の暗号化アルゴリズムに基づいてベースデータ９１が暗号化されて付加情報が生成され、ベースデータ特定部が当該付加情報を所定の復号アルゴリズムに基づいて復号することでベースデータ９１を特定することができればよい。
【０１３２】
上記実施形態では、暗号化プログラム１００、プログラム１００ａ、プログラム１００ｂ、復号プログラム１０２及び鍵生成プログラム１０３が情報処理装置７などに予めインストールされている場合を例示した。しかし、暗号化プログラム１００、プログラム１００ａ、プログラム１００ｂ、復号プログラム１０２及び鍵生成プログラム１０３は、情報処理装置７などに予めインストールされているものに限られず、それ単独で取引の対象となるものであっても構わない。この場合、暗号化プログラム１００、プログラム１００ａ、プログラム１００ｂ、復号プログラム１０２及び鍵生成プログラム１０３は、インターネットなどを介してユーザー自身がダウンロードする形態で情報処理装置７などに提供されるものであっても良いし、ＣＤ−ＲＯＭなどのコンピュータ読み取り可能な記録媒体に記録された状態で情報処理装置７などに提供されるものであっても構わない。
【符号の説明】
【０１３３】
１  情報処理システム
２  暗号化装置（暗号化装置）
３  復号装置（復号装置）
４  鍵生成装置（暗号鍵生成装置）
６  情報処理装置（情報処理装置）
２０  通信インタフェース（通信手段）
２０ａ  近距離無線通信部（通信手段）
３０  通信インタフェース（通信手段）
３０ａ  近距離無線通信部（通信手段）
４０  近距離無線通信部（通信手段）
４１  認証情報取得部（認証手段）
９０  暗号データ
９１  ベースデータ
９２  暗号鍵
９３  復号鍵
９４  ユーザー情報
９５  付加情報
１００  暗号化プログラム（プログラム）
１００ａ  プログラム
１００ｂ  プログラム
１０２  復号プログラム（プログラム）
１０３  鍵生成プログラム
２６０  認証部（認証手段）
２６１  ベースデータ生成部
２６２  ベースデータ取得部（ベースデータ取得手段）
２６３  ベースデータ送信部（ベースデータ送信手段）
２６４  暗号鍵取得部（暗号鍵取得手段）
２６５  暗号化実行部（暗号化手段）
２６６  出力部（出力手段）
２６７  暗号鍵破棄部（暗号鍵破棄手段）
３６１  入力部（入力手段）
３６２  認証部（認証手段）
３６３  ベースデータ特定部（特定手段）
３６４  ベースデータ送信部（ベースデータ送信手段）
３６５  復号鍵取得部（復号鍵取得手段）
３６６  復号実行部（復号手段）
４３１  認証部（認証手段）
４３２  ベースデータ取得部（ベースデータ取得手段）
４３３  鍵生成部（暗号鍵生成手段、復号鍵生成手段）
４３４  鍵出力部（鍵出力手段）
６４０  認証部（認証手段）
６４２  ベースデータ取得部（ベースデータ取得手段）
６４４  暗号鍵取得部（暗号鍵取得手段）
６４５  暗号化実行部（暗号化実行手段）
６４６  出力部（出力手段）
６４７  暗号鍵破棄部（暗号鍵破棄手段）
６４８  ベースデータ特定部（特定手段）
６４９  復号鍵取得部（復号鍵取得手段）
６５０  復号実行部（復号手段）
【図１】
2020113835.tif 000003
【図２】
2020113835.tif 000004
【図３】
2020113835.tif 000005
【図４】
2020113835.tif 000006
【図５】
2020113835.tif 000007
【図６】
2020113835.tif 000008
【図７】
2020113835.tif 000009
【図８】
2020113835.tif 000010
【図９】
2020113835.tif 000011
【図１０】
2020113835.tif 000012
【図１１】
2020113835.tif 000013
【図１２】
2020113835.tif 000014