(57)【要約】【課題】事前に鍵を共有していない場合であっても、鍵が漏洩することのない共通鍵暗号方式による暗号化処理を実現することを目的とする。【解決手段】暗号化装置３０は、受信者情報と、１〜１０のいずれかの値（識別情報）とを鍵生成サーバ２０へ送信する。すると、鍵生成サーバ２０は、送信された値に対応して記憶した受信者の指紋情報を取得し、指紋情報と乱数値とから一方向性関数により暗号化鍵を生成する。暗号化装置３０は、生成された暗号化鍵で暗号化した暗号文と、識別情報と、乱数値とを復号装置４０へ送信する。復号装置４０は、識別情報に対応する指の指紋情報を受信者に入力させ、指紋情報と、受信した乱数値とから一方向性関数により復号鍵（暗号化鍵と同じ）を生成する。そして、復号装置４０は、生成した復号鍵で暗号文を復号する。【選択図】図１
2012080152.tif 000002
【特許請求の範囲】
【請求項１】
鍵生成サーバと暗号化装置とを備える暗号化システムであり、
前記暗号化装置は、
識別情報を入力する識別情報入力部と、
前記識別情報入力部が入力した識別情報を前記鍵生成サーバへ送信する識別情報送信部と
を備え、
前記鍵生成サーバは、
識別情報毎に秘密情報を記憶装置に記憶した秘密情報記憶部と、
前記識別情報送信部が送信した識別情報に対応する秘密情報を前記秘密情報記憶部から取得する秘密情報取得部と、
前記秘密情報取得部が取得した秘密情報と所定の値とを入力として、所定の一方向性関数を計算して暗号化鍵を生成する暗号化鍵生成部と、
前記暗号化鍵生成部が生成した暗号化鍵と、前記所定の値とを前記暗号化装置へ送信する暗号化鍵送信部と
を備え、
前記暗号化装置は、さらに、
前記暗号化鍵送信部が送信した暗号化鍵でメッセージを暗号化して暗号文を生成する暗号化部と、
前記暗号化部が生成した暗号文と、前記識別情報入力部が入力した識別情報と、前記暗号化鍵送信部が送信した所定の値とを復号装置へ送信する暗号文送信部と
を備えることを特徴とする暗号化システム。
【請求項２】
前記識別情報入力部は、人間の指を識別する識別情報を入力し、
前記識別情報送信部は、前記識別情報入力部が入力した識別情報と、前記暗号文の受信者を示す宛先情報とを送信し、
前記秘密情報記憶部は、受信者毎に、その受信者の各指の指紋情報を秘密情報として記憶し、
前記秘密情報取得部は、前記識別情報送信部が送信した宛先情報が示す受信者についての、前記識別情報に対応する指の指紋情報を取得し、
前記暗号化鍵生成部は、前記秘密情報取得部が取得した指紋情報と所定の値とを入力として、暗号化鍵を生成する
ことを特徴とする請求項１に記載の暗号化システム。
【請求項３】
前記暗号化システムは、さらに、復号装置を備え、
前記復号装置は、
前記暗号文送信部が送信した識別情報に対応する指の指紋情報を受信者に入力させる秘密情報入力部と、
前記秘密情報入力部が入力させた指紋情報と、前記暗号文送信部が送信した所定の値とから前記一方向性関数を計算して復号鍵を生成する復号鍵生成部と、
前記復号鍵生成部が生成した復号鍵で前記暗号文送信部が送信した暗号文を復号してメッセージを生成する復号部と
を備えることを特徴とする請求項２に記載の暗号化システム。
【請求項４】
前記秘密情報取得部は、複数の識別情報が送信された場合には、各識別情報に対応する秘密情報を取得し、
前記暗号化鍵生成部は、前記秘密情報取得部が取得した各識別情報に対応する秘密情報の排他的論理和を計算するとともに、排他的論理和を計算して得た値と、前記所定の値とを入力として、所定の一方向性関数を計算して暗号化鍵を生成する
ことを特徴とする請求項１から３までのいずれかに記載の暗号化システム。
【請求項５】
識別情報を入力する識別情報入力部と、
前記識別情報入力部が入力した識別情報を前記鍵生成サーバへ送信する識別情報送信部と、
前記識別情報送信部が送信した識別情報に対応する秘密情報と所定の値とを入力として所定の一方向性関数を計算して生成された暗号化鍵と、前記所定の値とを前記鍵生成サーバから取得する暗号化鍵取得部と、
前記暗号化鍵取得部が取得した暗号化鍵でメッセージを暗号化して暗号文を生成する暗号化部と、
前記暗号化部が生成した暗号文と、前記識別情報入力部が入力した識別情報と、前記暗号化鍵送信部が送信した所定の値とを、受信者が使用する復号装置へ送信する暗号文送信部と
を備えることを特徴とする暗号化装置。
【請求項６】
暗号文と、人間の指を識別する識別情報と、所定の値とを、暗号化装置から受信する暗号文受信部と、
前記暗号文受信部が受信した識別情報に対応する指の指紋情報を受信者に入力させる秘密情報入力部と、
前記秘密情報入力部が入力させた指紋情報と、前記暗号文受信部が受信した所定の値とから一方向性関数を計算して復号鍵を生成する復号鍵生成部と、
前記復号鍵生成部が生成した復号鍵で前記暗号文送信部が送信した暗号文を復号してメッセージを生成する復号部と
を備えることを特徴とする復号装置。
【請求項７】
鍵生成サーバ用の鍵生成プログラムと暗号化装置用の暗号化プログラムとを備える暗号化システムプログラムであり、
前記暗号化プログラムは、
識別情報を入力する識別情報入力処理と、
前記識別情報入力処理で入力した識別情報を前記鍵生成サーバへ送信する識別情報送信処理と
をコンピュータに実行させ、
前記鍵生成プログラムは、
識別情報毎に秘密情報を記憶した記憶装置から、前記識別情報送信処理で送信した識別情報に対応する秘密情報を取得する秘密情報取得処理と、
前記秘密情報取得処理で取得した秘密情報と所定の値とを入力として、所定の一方向性関数を計算して暗号化鍵を生成する暗号化鍵生成処理と、
前記暗号化鍵生成処理で生成した暗号化鍵と、前記所定の値とを前記暗号化装置へ送信する暗号化鍵送信処理と
をコンピュータに実行させ、
前記暗号化プログラムは、さらに、
前記暗号化鍵送信処理で送信した暗号化鍵でメッセージを暗号化して暗号文を生成する暗号化処理と、
前記暗号化処理で生成した暗号文と、前記識別情報入力処理で入力した識別情報と、前記暗号化鍵送信処理で送信した所定の値とを復号装置へ送信する暗号文送信処理と
をコンピュータに実行させることを特徴とする暗号化システムプログラム。
【請求項８】
前記識別情報入力処理では、人間の指を識別する識別情報を入力し、
前記識別情報送信処理では、前記識別情報入力処理で入力した識別情報と、前記暗号文の受信者を示す宛先情報とを送信し、
前記秘密情報取得処理では、受信者毎に、その受信者の各指の指紋情報を秘密情報として記憶した記憶装置から、前記識別情報送信処理で送信した宛先情報が示す受信者についての、前記識別情報に対応する指の指紋情報を取得し、
前記暗号化鍵生成処理では、前記秘密情報取得処理で取得した指紋情報と所定の値とを入力として、暗号化鍵を生成する
ことを特徴とする請求項７に記載の暗号化システムプログラム。
【請求項９】
前記暗号化システムプログラムは、さらに、復号装置用の復号プログラムを備え、
前記復号プログラムは、
前記暗号文送信処理で送信した識別情報に対応する指の指紋情報を受信者に入力させる秘密情報入力処理と、
前記秘密情報入力処理で入力させた指紋情報と、前記暗号文送信処理で送信した所定の値とから前記一方向性関数を計算して復号鍵を生成する復号鍵生成処理と、
前記復号鍵生成処理で生成した復号鍵にて前記暗号文送信処理で送信した暗号文を復号してメッセージを生成する復号処理と
をコンピュータに実行させることを特徴とする請求項８に記載の暗号化システムプログラム。
【請求項１０】
前記秘密情報取得処理では、複数の識別情報が送信された場合には、各識別情報に対応する秘密情報を取得し、
前記暗号化鍵生成処理では、前記秘密情報取得処理で取得した各識別情報に対応する秘密情報の排他的論理和を計算するとともに、排他的論理和を計算して得た値と、前記所定の値とを入力として、所定の一方向性関数を計算して暗号化鍵を生成する
ことを特徴とする請求項７から９までのいずれかに記載の暗号化システムプログラム。
【請求項１１】
暗号化装置が、識別情報を入力する識別情報入力工程と、
前記暗号化装置が、前記識別情報入力工程で入力した識別情報を鍵生成サーバへ送信する識別情報送信工程と、
前記鍵生成サーバが、識別情報毎に秘密情報を記憶した記憶装置から、前記識別情報送信工程で送信した識別情報に対応する秘密情報を取得する秘密情報取得工程と、
前記鍵生成サーバが、前記秘密情報取得工程で取得した秘密情報と所定の値とを入力として、所定の一方向性関数を計算して暗号化鍵を生成する暗号化鍵生成工程と、
前記暗号化鍵生成工程で生成した暗号化鍵と、前記所定の値とを前記暗号化装置へ送信する暗号化鍵送信工程と、
前記暗号化装置が、前記暗号化鍵送信工程で送信した暗号化鍵でメッセージを暗号化して暗号文を生成する暗号化工程と、
前記暗号化装置が、前記暗号化工程で生成した暗号文と、前記識別情報入力工程で入力した識別情報と、前記暗号化鍵送信工程で送信した所定の値とを復号装置へ送信する暗号文送信工程と
を備えることを特徴とする暗号化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、情報を暗号化して安全に配送する技術に関する。
【背景技術】
【０００２】
機密情報を受信者へ送信する場合、機密情報を暗号化した上で受信者へ送信する。この際、暗号化方式としては、送信者と受信者とが同じ鍵を共有する共通鍵暗号方式が広く利用されている。
共通鍵暗号方式では、事前に送信者と受信者とで鍵を共有していることが原則である。しかし、実際には、事前に鍵の共有がされておらず、機密情報を暗号化する際、送信者が適当な文字列を鍵として指定して機密情報を暗号化し、暗号化後に鍵（指定した文字列）を受信者へ伝えることがある。この場合、鍵は電話やメールによって受信者へ伝えられる場合が多い。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−２６９０４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、電話やメールにより鍵を受信者へ伝えた場合、鍵が漏洩する虞がある。鍵が漏洩すれば、機密情報も漏洩する虞がある。
この発明は、事前に鍵を共有していない場合であっても、鍵が漏洩することのない共通鍵暗号方式による暗号化処理を実現することを目的とする。
【課題を解決するための手段】
【０００５】
この発明に係る暗号化システムは、
鍵生成サーバと暗号化装置とを備える暗号化システムであり、
前記暗号化装置は、
識別情報を入力する識別情報入力部と、
前記識別情報入力部が入力した識別情報を前記鍵生成サーバへ送信する識別情報送信部と
を備え、
前記鍵生成サーバは、
識別情報毎に秘密情報を記憶装置に記憶した秘密情報記憶部と、
前記識別情報送信部が送信した識別情報に対応する秘密情報を前記秘密情報記憶部から取得する秘密情報取得部と、
前記秘密情報取得部が取得した秘密情報と所定の値とを入力として、所定の一方向性関数を計算して暗号化鍵を生成する暗号化鍵生成部と、
前記暗号化鍵生成部が生成した暗号化鍵と、前記所定の値とを前記暗号化装置へ送信する暗号化鍵送信部と
を備え、
前記暗号化装置は、さらに、
前記暗号化鍵送信部が送信した暗号化鍵でメッセージを暗号化して暗号文を生成する暗号化部と、
前記暗号化部が生成した暗号文と、前記識別情報入力部が入力した識別情報と、前記暗号化鍵送信部が送信した所定の値とを復号装置へ送信する暗号文送信部と
を備えることを特徴とする。
【０００６】
前記識別情報入力部は、人間の指を識別する識別情報を入力し、
前記識別情報送信部は、前記識別情報入力部が入力した識別情報と、前記暗号文の受信者を示す宛先情報とを送信し、
前記秘密情報記憶部は、受信者毎に、その受信者の各指の指紋情報を秘密情報として記憶し、
前記秘密情報取得部は、前記識別情報送信部が送信した宛先情報が示す受信者についての、前記識別情報に対応する指の指紋情報を取得し、
前記暗号化鍵生成部は、前記秘密情報取得部が取得した指紋情報と所定の値とを入力として、暗号化鍵を生成する
ことを特徴とする。
【０００７】
前記暗号化システムは、さらに、復号装置を備え、
前記復号装置は、
前記暗号文送信部が送信した識別情報に対応する指の指紋情報を受信者に入力させる秘密情報入力部と、
前記秘密情報入力部が入力させた指紋情報と、前記暗号文送信部が送信した所定の値とから前記一方向性関数を計算して復号鍵を生成する復号鍵生成部と、
前記復号鍵生成部が生成した復号鍵で前記暗号文送信部が送信した暗号文を復号してメッセージを生成する復号部と
を備えることを特徴とする。
【０００８】
前記秘密情報取得部は、複数の識別情報が送信された場合には、各識別情報に対応する秘密情報を取得し、
前記暗号化鍵生成部は、前記秘密情報取得部が取得した各識別情報に対応する秘密情報の排他的論理和を計算するとともに、排他的論理和を計算して得た値と、前記所定の値とを入力として、所定の一方向性関数を計算して暗号化鍵を生成する
ことを特徴とする。
【０００９】
この発明に係る暗号化装置は、
識別情報を入力する識別情報入力部と、
前記識別情報入力部が入力した識別情報を前記鍵生成サーバへ送信する識別情報送信部と、
前記識別情報送信部が送信した識別情報に対応する秘密情報と所定の値とを入力として所定の一方向性関数を計算して生成された暗号化鍵と、前記所定の値とを前記鍵生成サーバから取得する暗号化鍵取得部と、
前記暗号化鍵取得部が取得した暗号化鍵でメッセージを暗号化して暗号文を生成する暗号化部と、
前記暗号化部が生成した暗号文と、前記識別情報入力部が入力した識別情報と、前記暗号化鍵送信部が送信した所定の値とを、受信者が使用する復号装置へ送信する暗号文送信部と
を備えることを特徴とする。
【００１０】
この発明に係る復号装置は、
暗号文と、人間の指を識別する識別情報と、所定の値とを、暗号化装置から受信する暗号文受信部と、
前記暗号文受信部が受信した識別情報に対応する指の指紋情報を受信者に入力させる秘密情報入力部と、
前記秘密情報入力部が入力させた指紋情報と、前記暗号文受信部が受信した所定の値とから一方向性関数を計算して復号鍵を生成する復号鍵生成部と、
前記復号鍵生成部が生成した復号鍵で前記暗号文送信部が送信した暗号文を復号してメッセージを生成する復号部と
を備えることを特徴とする。
【００１１】
この発明に係る暗号化システムプログラムは、
鍵生成サーバ用の鍵生成プログラムと暗号化装置用の暗号化プログラムとを備える暗号化システムプログラムであり、
前記暗号化プログラムは、
識別情報を入力する識別情報入力処理と、
前記識別情報入力処理で入力した識別情報を前記鍵生成サーバへ送信する識別情報送信処理と
をコンピュータに実行させ、
前記鍵生成プログラムは、
識別情報毎に秘密情報を記憶した記憶装置から、前記識別情報送信処理で送信した識別情報に対応する秘密情報を取得する秘密情報取得処理と、
前記秘密情報取得処理で取得した秘密情報と所定の値とを入力として、所定の一方向性関数を計算して暗号化鍵を生成する暗号化鍵生成処理と、
前記暗号化鍵生成処理で生成した暗号化鍵と、前記所定の値とを前記暗号化装置へ送信する暗号化鍵送信処理と
をコンピュータに実行させ、
前記暗号化プログラムは、さらに、
前記暗号化鍵送信処理で送信した暗号化鍵でメッセージを暗号化して暗号文を生成する暗号化処理と、
前記暗号化処理で生成した暗号文と、前記識別情報入力処理で入力した識別情報と、前記暗号化鍵送信処理で送信した所定の値とを復号装置へ送信する暗号文送信処理と
をコンピュータに実行させることを特徴とする。
【００１２】
前記識別情報入力処理では、人間の指を識別する識別情報を入力し、
前記識別情報送信処理では、前記識別情報入力処理で入力した識別情報と、前記暗号文の受信者を示す宛先情報とを送信し、
前記秘密情報取得処理では、受信者毎に、その受信者の各指の指紋情報を秘密情報として記憶した記憶装置から、前記識別情報送信処理で送信した宛先情報が示す受信者についての、前記識別情報に対応する指の指紋情報を取得し、
前記暗号化鍵生成処理では、前記秘密情報取得処理で取得した指紋情報と所定の値とを入力として、暗号化鍵を生成する
ことを特徴とする。
【００１３】
前記暗号化システムプログラムは、さらに、復号装置用の復号プログラムを備え、
前記復号プログラムは、
前記暗号文送信処理で送信した識別情報に対応する指の指紋情報を受信者に入力させる秘密情報入力処理と、
前記秘密情報入力処理で入力させた指紋情報と、前記暗号文送信処理で送信した所定の値とから前記一方向性関数を計算して復号鍵を生成する復号鍵生成処理と、
前記復号鍵生成処理で生成した復号鍵にて前記暗号文送信処理で送信した暗号文を復号してメッセージを生成する復号処理と
をコンピュータに実行させることを特徴とする。
【００１４】
前記秘密情報取得処理では、複数の識別情報が送信された場合には、各識別情報に対応する秘密情報を取得し、
前記暗号化鍵生成処理では、前記秘密情報取得処理で取得した各識別情報に対応する秘密情報の排他的論理和を計算するとともに、排他的論理和を計算して得た値と、前記所定の値とを入力として、所定の一方向性関数を計算して暗号化鍵を生成する
ことを特徴とする。
【００１５】
この発明に係る暗号化方法は、
暗号化装置が、識別情報を入力する識別情報入力工程と、
前記暗号化装置が、前記識別情報入力工程で入力した識別情報を鍵生成サーバへ送信する識別情報送信工程と、
前記鍵生成サーバが、識別情報毎に秘密情報を記憶した記憶装置から、前記識別情報送信工程で送信した識別情報に対応する秘密情報を取得する秘密情報取得工程と、
前記鍵生成サーバが、前記秘密情報取得工程で取得した秘密情報と所定の値とを入力として、所定の一方向性関数を計算して暗号化鍵を生成する暗号化鍵生成工程と、
前記暗号化鍵生成工程で生成した暗号化鍵と、前記所定の値とを前記暗号化装置へ送信する暗号化鍵送信工程と、
前記暗号化装置が、前記暗号化鍵送信工程で送信した暗号化鍵でメッセージを暗号化して暗号文を生成する暗号化工程と、
前記暗号化装置が、前記暗号化工程で生成した暗号文と、前記識別情報入力工程で入力した識別情報と、前記暗号化鍵送信工程で送信した所定の値とを復号装置へ送信する暗号文送信工程と
を備えることを特徴とする。
【発明の効果】
【００１６】
この発明に係る暗号化システムでは、予め秘密情報を鍵生成サーバに登録しておくことにより、事前に鍵を共有していない場合であっても、鍵が漏洩することのない共通鍵暗号方式による暗号化処理を実現できる。
【図面の簡単な説明】
【００１７】
【図１】実施の形態１に係る暗号化システム１０の構成図。
【図２】秘密情報記憶部２１が記憶する情報の一例を示す図。
【図３】実施の形態１に係る暗号化システム１０の動作を示すフローチャート。
【図４】鍵生成サーバ２０、暗号化装置３０、復号装置４０のハードウェア構成の一例を示す図。
【発明を実施するための形態】
【００１８】
以下、図に基づき、発明の実施の形態を説明する。
以下の説明において、処理装置は後述するＣＰＵ９１１等である。記憶装置は後述するＲＯＭ９１３、ＲＡＭ９１４、磁気ディスク９２０等の記憶装置である。入力装置は後述するキーボード９０２、マウス９０３等である。つまり、処理装置、記憶装置、入力装置はハードウェアである。
【００１９】
実施の形態１．
図１は、実施の形態１に係る暗号化システム１０の構成図である。
図１に示すように、実施の形態１に係る暗号化システム１０は、鍵生成サーバ２０、暗号化装置３０、復号装置４０を備える。鍵生成サーバ２０は、暗号化装置３０及び復号装置４０と専用回線等の安全な回線で接続されているとする。また、暗号化装置３０と復号装置４０とは、インターネット等のネットワークを介して接続されているとする。
鍵生成サーバ２０は、秘密情報記憶部２１、識別情報受信部２２、秘密情報取得部２３、暗号化鍵生成部２４、暗号化鍵送信部２５を備える。
暗号化装置３０は、識別情報入力部３１、識別情報送信部３２、暗号化鍵受信部３３、機密情報入力部３４、暗号化部３５、暗号文送信部３６を備える。
復号装置４０は、暗号文受信部４１、秘密情報入力部４２、復号鍵生成部４３、復号部４４を備える。
【００２０】
図２は、秘密情報記憶部２１が記憶する情報の一例を示す図である。
図２に示すように、秘密情報記憶部２１は、ユーザ毎に、そのユーザの各指の指紋情報を秘密情報として記憶した記憶装置である。ここでは、１を右手の小指、２を右手の薬指、・・・、６を左手の小指、７を左手の薬指、・・・という順に１から１０までの各値が各指の識別情報として割り当てられている。そして、秘密情報記憶部２１は、各ユーザについて、１から１０までの値毎にその指の指紋情報を記憶する。なお、指紋情報は、同一ビット数の２進数の値として記憶されている。
【００２１】
図３は、実施の形態１に係る暗号化システム１０の動作を示すフローチャートである。
まず、暗号化装置３０が動作する。
識別情報入力部３１が、送信者に、入力装置により、受信者情報（宛先情報）と、１から１０までの値とを入力させる（Ｓ１）。なお、この際、１から１０までの値に関しては複数入力してもよいが、原則として同じ値を２回以上入力できないことにする。識別情報送信部３２は、（Ｓ１）で入力された受信者情報及び値を、鍵生成サーバ２０へ安全な回線を介して送信する（Ｓ２）。
【００２２】
次に、鍵生成サーバ２０が動作する。
識別情報受信部２２は、（Ｓ２）で送信された受信者情報及び値を受信する（Ｓ３）。すると、秘密情報取得部２３は、（Ｓ３）で受信した受信者情報が示す受信者についての、受信した値に対応する指の指紋情報を、秘密情報記憶部２１から取得する（Ｓ４）。なお、（Ｓ３）で複数の値を受信した場合には、秘密情報取得部２３は複数の値に対応する各指の指紋情報を取得する。
次に、暗号化鍵生成部２４は、（Ｓ４）で取得した指紋情報と乱数値とを入力として、ハッシュ関数等の一方向性関数を処理装置により計算し、暗号化鍵を生成する（Ｓ５）。なお、（Ｓ４）で複数の指紋情報を取得した場合には、取得した指紋情報について、排他的論理和を計算し、計算した値と乱数値とを入力として一方向性関数を計算する。また、乱数値は、（Ｓ５）の処理を実行する度に生成し、毎回異なる値とする。なお、毎回異なる値であれば、乱数値に限らず他の値であってもよい。
そして、暗号化鍵送信部２５は、（Ｓ５）で生成した暗号化鍵と、暗号化鍵の生成に用いた乱数値とを暗号化装置３０へ安全な回線を介して送信する（Ｓ６）。
【００２３】
次に、再び暗号化装置３０が動作する。
暗号化鍵受信部３３は、（Ｓ６）で送信された暗号化鍵及び乱数値を受信する（Ｓ７）。次に、機密情報入力部３４は、送信者に、入力装置により、受信者へ送信する機密情報（メッセージ）を入力させる（Ｓ８）。例えば、機密情報入力部３４は、入力装置により機密情報を直接入力させてもよいし、記憶装置に記憶されたファイル等を指定させてもよい。
暗号化部３５は、処理装置により、（Ｓ７）で受信した暗号化鍵を用いて、所定の共通鍵暗号化方式で、（Ｓ８）で入力された機密情報を暗号化して暗号文を生成する（Ｓ９）。すると、暗号文送信部３６は、（Ｓ９）で生成された暗号文と、（Ｓ１）で入力された値とを、（Ｓ６）で送信された乱数値とをネットワークを介して復号装置４０へ送信する（Ｓ１０）。
【００２４】
次に、復号装置４０が動作する。
暗号文受信部４１は、（Ｓ１０）で送信された暗号文、乱数値及び値をネットワークを介して受信する（Ｓ１１）。すると、秘密情報入力部４２は、指紋情報入力装置により、（Ｓ１１）で受信した値に対応する指の指紋情報を受信者に入力させる（Ｓ１２）。なお、（Ｓ１１）で複数の値を受信した場合には、各値に対応する指の指紋情報を入力させる。指紋情報入力装置により入力された指紋情報は、秘密情報記憶部２１に記憶された指紋情報と同様に、同一ビット数の２進数の値に変換される。また、指紋情報入力装置とは、指紋を読み取るセンサのことである。
次に、復号鍵生成部４３は、（Ｓ１２）で入力された指紋情報と、（Ｓ１１）で受信した乱数値とを入力として、処理装置により一方向性関数を計算し、復号鍵を生成する（Ｓ１３）。なお、ここで用いる一方向性関数は、（Ｓ５）で用いた一方向性関数と同じ関数である。つまり、一方向性関数は、鍵生成サーバ２０と復号装置４０との間で、事前に共有されていることが前提である。（Ｓ１２）で複数の指紋情報が入力された場合には、入力された指紋情報について、排他的論理和を計算し、計算した値と乱数値とを入力として一方向性関数を計算する。
そして、復号部４４は、処理装置により、（Ｓ１３）で生成した復号鍵を用いて、所定の共通鍵暗号化方式で、（Ｓ１１）で受信した暗号文を復号する（Ｓ１４）。
【００２５】
ここで、インターネット等のネットワークを介して送受信された情報は、第三者に漏洩する虞がある。つまり、暗号文、どの指かを示す値、乱数値を第三者に入手される可能性がある。また、その暗号文が誰宛であるかも第三者に知られる虞がある。
しかし、第三者は、指紋情報を入力できないため、復号鍵を生成することはできない。また、第三者が送信者になりすまして、受信者情報とどの指かを示す値とを、鍵生成サーバ２０へ送信したとしても、一方向性関数へ入力される乱数値が異なるため、復号鍵（暗号化鍵）を得ることはできない。
【００２６】
以上のように、実施の形態１に係る暗号化システム１０では、予め暗号化装置３０（送信者）と復号装置４０（受信者）とが鍵を共有していなくても、鍵が漏洩することのない共通鍵暗号方式による暗号化処理を実現できる。
【００２７】
なお、（Ｓ１）において原則として同じ値を２回以上入力できないことにした。これは、鍵の生成において、取得した指紋情報について排他的論理和を計算することで、値のばらつきがなくなるのを防止するためである。つまり、同じ値を２回入力された場合、同じ指の指紋情報についての排他的論理和を計算することになる。この場合、同じ指の指紋情報は同じ値であるため、計算結果は全ビット０になってしまい、値のばらつきがなくなってしまう。
【００２８】
また、上記説明では、取得した指紋情報について排他的論理和を計算することにしたが、排他的論理和に代えて、論理和や論理積としてもよい。しかし、論理和や論理積では、計算を繰り返す度に、論理和であれば全てのビットが１に近づき、論理積であれば全てのビットが０に近づいてしまう。そのため、排他的論理和が望ましい。
また、排他的論理和ではなく、取得した指紋情報を加算してもよいし、積をとってもよい。
【００２９】
また、上記説明では、秘密情報として、受信者の指紋情報を用いることにした。しかし、秘密情報は、受信者の指紋情報に限らず、鍵生成サーバ２０及び受信者（復号装置４０）のみが知りえる情報であれば他の情報であってもよい。
例えば、受信者となり得る者が、予め鍵生成サーバ２０に何らかの情報を識別情報（１〜１０の値）とともに登録しておいてもよい。
【００３０】
また、上記説明では、鍵生成サーバ２０が暗号化鍵を生成し、暗号化装置３０が暗号化鍵で機密情報を暗号化して復号装置４０へ送信した。しかし、鍵生成サーバ２０へ機密情報を平文状態で送信しても、機密情報が漏洩しないのであれば、以下のような処理としてもよい。
まず、暗号化装置３０から受信者情報及び識別情報とともに、機密情報も鍵生成サーバ２０へ送信し、鍵生成サーバ２０が送信された機密情報を暗号化鍵で暗号化して暗号文を生成する。そして、鍵生成サーバ２０は、生成した暗号文と、乱数値とを暗号化装置３０へ送信し、暗号化装置３０は、暗号文と乱数値と識別情報とを復号装置４０へ送信する。復号装置４０は、上述した処理と同様に、復号鍵を生成し、暗号文を復号鍵で復号する。
なお、この場合、第三者が送信者になりすまして、鍵生成サーバ２０から暗号化鍵を取得することはできない。そのため、暗号化鍵（復号鍵）の生成に乱数値を用いなくてもよい。
【００３１】
次に、実施の形態における鍵生成サーバ２０、暗号化装置３０、復号装置４０のハードウェア構成について説明する。
図４は、鍵生成サーバ２０、暗号化装置３０、復号装置４０のハードウェア構成の一例を示す図である。
図４に示すように、鍵生成サーバ２０、暗号化装置３０、復号装置４０は、プログラムを実行するＣＰＵ９１１（Ｃｅｎｔｒａｌ・Ｐｒｏｃｅｓｓｉｎｇ・Ｕｎｉｔ、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう）を備えている。ＣＰＵ９１１は、バス９１２を介してＲＯＭ９１３、ＲＡＭ９１４、ＬＣＤ９０１（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）、キーボード９０２（Ｋ／Ｂ）、通信ボード９１５、指紋情報入力装置９１６、磁気ディスク装置９２０と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置９２０（固定ディスク装置）の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。磁気ディスク装置９２０は、所定の固定ディスクインタフェースを介して接続される。
【００３２】
磁気ディスク装置９２０又はＲＯＭ９１３などには、オペレーティングシステム９２１（ＯＳ）、ウィンドウシステム９２２、プログラム群９２３、ファイル群９２４が記憶されている。プログラム群９２３のプログラムは、ＣＰＵ９１１、オペレーティングシステム９２１、ウィンドウシステム９２２により実行される。
【００３３】
プログラム群９２３には、上記の説明において「識別情報受信部２２」、「秘密情報取得部２３」、「暗号化鍵生成部２４」、「暗号化鍵送信部２５」、「識別情報入力部３１」、「識別情報送信部３２」、「暗号化鍵受信部３３」、「機密情報入力部３４」、「暗号化部３５」、「暗号文送信部３６」、「暗号文受信部４１」、「秘密情報入力部４２」、「復号鍵生成部４３」、「復号部４４」等として説明した機能を実行するソフトウェアやプログラムやその他のプログラムが記憶されている。プログラムは、ＣＰＵ９１１により読み出され実行される。
ファイル群９２４には、上記の説明において「秘密情報記憶部２１」に格納される情報やデータや信号値や変数値やパラメータが、「データベース」の各項目として記憶される。「データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ９１１によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのＣＰＵ９１１の動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のＣＰＵ９１１の動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
【００３４】
また、上記の説明におけるフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、ＲＡＭ９１４のメモリ、その他光ディスク等の記録媒体やＩＣチップに記録される。また、データや信号は、バス９１２や信号線やケーブルその他の伝送媒体や電波によりオンライン伝送される。
また、上記の説明において「〜部」として説明するものは、「〜回路」、「〜装置」、「〜機器」、「〜手段」、「〜機能」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。また、「〜装置」として説明するものは、「〜回路」、「〜機器」、「〜手段」、「〜機能」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。さらに、「〜処理」として説明するものは「〜ステップ」であっても構わない。すなわち、「〜部」として説明するものは、ＲＯＭ９１３に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、ＲＯＭ９１３等の記録媒体に記憶される。プログラムはＣＰＵ９１１により読み出され、ＣＰＵ９１１により実行される。すなわち、プログラムは、上記で述べた「〜部」としてコンピュータ等を機能させるものである。あるいは、上記で述べた「〜部」の手順や方法をコンピュータ等に実行させるものである。
【符号の説明】
【００３５】
１０  暗号化システム、２０  鍵生成サーバ、２１  秘密情報記憶部、２２  識別情報受信部、２３  秘密情報取得部、２４  暗号化鍵生成部、２５  暗号化鍵送信部、３０  暗号化装置、３１  識別情報入力部、３２  識別情報送信部、３３  暗号化鍵受信部、３４  機密情報入力部、３５  暗号化部、３６  暗号文送信部、４０  復号装置、４１  暗号文受信部、４２  秘密情報入力部、４３  復号鍵生成部、４４  復号部。
【図１】
2012080152.tif 000003
【図２】
2012080152.tif 000004
【図３】
2012080152.tif 000005
【図４】
2012080152.tif 000006