(57)【特許請求の範囲】
【請求項１】
デジタル署名生成サブシステムとデジタル署名検証サブシステムを含む認証システムであって、
前記デジタル署名生成サブシステムは、
メッセージＭ及びデジタル署名用秘密鍵が記憶された第１の記憶部と、
参照パラメータｘ１及び検証基準パラメータｘ２を生成し、前記参照パラメータｘ１を前記第１の記憶部に記憶させるパラメータ生成部と、
関数ｙ＝ｆ(ｘ)に基づいて、関数値差Δｙ＝ｆ(ｘ２)−ｆ(ｘ１)を算出する関数値差算出部と、
前記検証基準パラメータｘ２とメッセージＭを含む署名対象データのハッシュ値ｈを算出する第１のハッシュ値算出部と、
前記署名対象データのハッシュ値ｈ、前記メッセージＭ、及び前記関数値差Δｙを前記デジタル署名用秘密鍵により暗号化し、暗号化データを生成する暗号化データ生成部と、
前記暗号化データを前記デジタル署名検証サブシステムに送信する送信部と、
を含み、
前記デジタル署名検証サブシステムは、
ハッシュ値ｈ'、メッセージＭ'、及び関数値差Δｙ’を含む暗号化データを受信する受信部と、
前記デジタル署名生成サブシステムのパラメータ生成部により生成された前記参照パラメータｘ１と、前記デジタル署名生成サブシステムの前記第１の記憶部に記憶された前記デジタル署名用秘密鍵に対応するデジタル署名用公開鍵が記憶された第２の記憶部と、    受信された前記暗号化データを前記デジタル署名用公開鍵によって復号化し、復号化データを生成する復号化データ生成部と、
前記復号化データの関数値差Δｙ’と前記第２の記憶部に記憶された前記参照パラメータｘ１から、前記関数ｙ＝ｆ(ｘ)に基づいて、検証パラメータｘ２'＝ｆ-1{ｆ(ｘ１)＋Δｙ’}を算出する検証パラメータ算出部と、
前記検証パラメータｘ２'とメッセージＭ'を含む署名対象データのハッシュ値ｈ''を算出する第２のハッシュ値算出部と、
前記第２のハッシュ値算出部により算出された前記ハッシュ値ｈ''と、前記復号化データのハッシュ値ｈ'とを比較し、両者が一致するかを検証する検証部と、
を含む、
認証システム。
【請求項２】
前記第２のハッシュ値算出部により算出された前記ハッシュ値ｈ''と、前記復号化データのハッシュ値ｈ'とが一致した場合、
前記検証部は、前記第２の記憶部に記憶されていた前記参照パラメータｘ１の値を前記検証基準パラメータｘ２又は前記検証パラメータｘ２'の値に書き換え、
前記パラメータ生成部は、前記第１の記憶部に記憶されていた前記参照パラメータｘ１の値を前記検証基準パラメータｘ２又は前記検証パラメータｘ２'の値に書き換える請求項１に記載の認証システム。
【請求項３】
前記パラメータ生成部は、参照パラメータｘ１及びパラメータ差Δｘを生成し、前記参照パラメータｘ１及び前記パラメータ差Δｘから検証基準パラメータｘ２＝ｘ１＋Δｘを生成する請求項１又は２に記載の認証システム。
【請求項４】
前記パラメータ生成部は、
原子核の崩壊に伴って放出されるα粒子、ベータ線（粒子）、及びガンマ線の少なくとも１つを放出する放出体と、
前記原子核の崩壊に伴って放出されるα粒子、ベータ線（粒子）、及びガンマ線の少なくとも１つの個数を計数する計数器と、
第１の時刻から第２の時刻の間の前記放出体の崩壊原子数と所定の時刻の前記放出体未崩壊原子数を前記計数器の計数結果から推定する推定器と、
更に含み、
前記参照パラメータｘ１、前記パラメータ差Δｘは、それぞれ、前記推定器により推定された時刻Ｔ１の前記放出体の未崩壊原子数、時刻Ｔ１〜Ｔ２の間の前記放出体の崩壊原子数であり、
前記関数ｙ＝ｆ(ｘ)は、ｙ＝−(１／λ)・ln(ｘ／ｘ０)（ｘ０は、時刻０における前記放出体の未崩壊原子数）である請求項３に記載の認証システム。
【請求項５】
ハッシュ値ｈ'、メッセージＭ'、及び関数値差Δｙ’を含む暗号化データを受信する受信部と、
デジタル署名生成サブシステムにより生成された参照パラメータｘ１と、前記デジタル署名生成サブシステムに記憶されたデジタル署名用秘密鍵に対応するデジタル署名用公開鍵が記憶された第２の記憶部と、
受信された前記暗号化データを前記デジタル署名用公開鍵によって復号化し、復号化データを生成する復号化データ生成部と、
前記復号化データの関数値差Δｙ’と前記第２の記憶部に記憶された前記参照パラメータｘ１から、前記関数ｙ＝ｆ(ｘ)に基づいて、検証パラメータｘ２'＝ｆ-1{ｆ(ｘ１)＋Δｙ’}を算出する検証パラメータ算出部と、
前記検証パラメータｘ２'とメッセージＭ'を含む署名対象データのハッシュ値ｈ''を算出する第２のハッシュ値算出部と、
前記第２のハッシュ値算出部により算出された前記ハッシュ値ｈ''と、前記復号化データのハッシュ値ｈ'とを比較し、両者が一致するかを検証する検証部と、
を含む、
デジタル署名検証サブシステム。
【請求項６】
前記デジタル署名生成サブシステムは、
メッセージＭ及びデジタル署名用秘密鍵が記憶された第１の記憶部と、
参照パラメータｘ１、パラメータ差Δｘ、及び検証基準パラメータｘ２＝ｘ１＋Δｘを生成するパラメータ生成部と、
関数ｙ＝ｆ(ｘ)に基づいて、関数値差Δｙ＝ｆ(ｘ２)−ｆ(ｘ１)を算出する関数値差算出部と、
前記検証基準パラメータｘ２とメッセージＭを含む署名対象データのハッシュ値ｈを算出する第１のハッシュ値算出部と、
前記署名対象データのハッシュ値ｈ、前記メッセージＭ、及び前記関数値差Δｙを前記デジタル署名用秘密鍵により暗号化し、暗号化データを生成する暗号化データ生成部と、
前記暗号化データを前記デジタル署名検証サブシステムに送信する送信部と、
を含み、
前記パラメータ生成部は、
原子核の崩壊に伴って放出されるα粒子、ベータ線（粒子）、及びガンマ線の少なくとも１つを放出する放出体と、
前記原子核の崩壊に伴って放出されるα粒子、ベータ線（粒子）、及びガンマ線の少なくとも１つの個数を計数する計数器と、
第１の時刻から第２の時刻の間の前記放出体の崩壊原子数と所定の時刻の前記放出体未崩壊原子数を前記計数器の計数結果から推定する推定器と、
更に含み、
前記参照パラメータｘ１、前記パラメータ差Δｘは、それぞれ、前記推定器により推定された時刻Ｔ１の前記放出体の未崩壊原子数、時刻Ｔ１〜Ｔ２の間の前記放出体の崩壊原子数であり、
前記関数ｙ＝ｆ(ｘ)は、ｙ＝−(１／λ)・ln(ｘ／ｘ０)（ｘ０は、時刻０における前記放出体の未崩壊原子数）である請求項５に記載のデジタル署名検証サブシステム。
【請求項７】
第１の記憶部を含むデジタル署名生成サブシステムと、第２の記憶部を含むデジタル署名検証サブシステムとの間で行われる認証方法であって、
前記デジタル署名生成サブシステムが、メッセージＭ及びデジタル署名用秘密鍵を前記デジタル署名生成サブシステムの前記第１の記憶部に記憶させるステップと、
前記デジタル署名生成サブシステムが、参照パラメータｘ１を生成し、前記第１の記憶部に記憶させるステップと、
前記デジタル署名検証サブシステムが、前記デジタル署名生成サブシステムのパラメータ生成部により生成された前記参照パラメータｘ１と、前記デジタル署名用秘密鍵に対応するデジタル署名用公開鍵とを前記デジタル署名検証サブシステムの前記第２の記憶部に記憶するステップと、
前記デジタル署名生成サブシステムが、検証基準パラメータｘ２を生成するステップと、
前記デジタル署名生成サブシステムが、関数ｙ＝ｆ(ｘ)に基づいて、関数値差Δｙ＝ｆ(ｘ２)−ｆ(ｘ１)を算出するステップと、
前記デジタル署名生成サブシステムが、前記検証基準パラメータｘ２とメッセージＭを含む署名対象データのハッシュ値ｈを算出するステップと、
前記デジタル署名生成サブシステムが、前記署名対象データのハッシュ値、前記メッセージ、及び前記関数値差Δｙを前記デジタル署名用秘密鍵により暗号化し、暗号化データを生成するステップと、
前記デジタル署名生成サブシステムが、前記暗号化データを前記デジタル署名検証サブシステムに送信するステップと、
前記デジタル署名検証サブシステムが、ハッシュ値ｈ'、メッセージＭ'、及び関数値差Δｙ'を含む暗号化データを受信するステップと、
前記デジタル署名検証サブシステムが、受信された前記暗号化データを前記デジタル署名用公開鍵によって復号化し、復号化データを生成するステップと、
前記デジタル署名検証サブシステムが、前記復号化データの前記関数値差Δｙ'と前記第２の記憶部に記憶された前記参照パラメータｘ１から、前記関数ｙ＝ｆ(ｘ)に基づいて、検証パラメータｘ２'＝ｆ-1{ｆ(ｘ１)＋Δｙ’}を算出するステップと、
前記デジタル署名検証サブシステムが、前記検証パラメータｘ２'とメッセージＭ'を含む署名対象データのハッシュ値ｈ''を算出するステップと、
前記デジタル署名検証サブシステムが、前記算出されたハッシュ値ｈ''と、前記復号化データの前記署名対象データのハッシュ値ｈ'とを比較し、両者が一致するかを検証するステップと、
を含む認証方法。
【請求項８】
前記算出された前記ハッシュ値ｈ''と、前記復号化データのハッシュ値ｈ'とが一致した場合、
前記デジタル署名検証サブシステムが、前記第２の記憶部に記憶されていた前記参照パラメータｘ１の値を前記検証基準パラメータｘ２又は前記検証基準パラメータｘ２'の値に書き換えるステップと、
前記デジタル署名生成サブシステムが、前記第１の記憶部に記憶されていた前記参照パラメータｘ１の値を前記検証基準パラメータｘ２又は前記検証パラメータｘ２'の値に書き換えるステップと、
を更に含む請求項７に記載の認証方法。
【請求項９】
前記デジタル署名生成サブシステムが、検証基準パラメータｘ２を生成するステップは、パラメータ差Δｘを生成し、前記参照パラメータｘ１及び前記パラメータ差Δｘから検証基準パラメータｘ２＝ｘ１＋Δｘを生成するステップである請求項７又は８に記載の認証方法。
【請求項１０】
前記デジタル署名生成サブシステムは、
原子核の崩壊に伴って放出されるα粒子、ベータ線（粒子）、及びガンマ線の少なくとも１つを放出する放出体と、
前記原子核の崩壊に伴って放出されるα粒子、ベータ線（粒子）、及びガンマ線の少なくとも１つの個数を計数する計数器と、
第１の時刻から第２の時刻の間の前記放出体の崩壊原子数と所定の時刻の前記放出体未崩壊原子数を前記計数器の計数結果から推定する推定器と、
更に含み、
前記参照パラメータｘ１、前記パラメータ差Δｘは、それぞれ、前記推定器により推定された時刻Ｔ１の前記放出体の未崩壊原子数、時刻Ｔ１〜Ｔ２の間の前記放出体の崩壊原子数であり、
前記関数ｙ＝ｆ(ｘ)は、ｙ＝−(１／λ)・ln(ｘ／ｘ０)（ｘ０は、時刻０における前記放出体の未崩壊原子数）である請求項９に記載の認証方法。
【請求項１１】
デジタル署名検証サブシステムが、デジタル署名生成サブシステムにより生成された参照パラメータｘ１と、デジタル署名用秘密鍵に対応するデジタル署名用公開鍵とを前記デジタル署名検証サブシステムの前記第２の記憶部に記憶させるステップと、
前記デジタル署名検証サブシステムが、ハッシュ値ｈ'、メッセージＭ'、及び関数値差Δｙ'を含む暗号化データを受信するステップと、
前記デジタル署名検証サブシステムが、受信された前記暗号化データを前記デジタル署名用公開鍵によって復号化し、復号化データを生成するステップと、
前記デジタル署名検証サブシステムが、前記復号化データの前記関数値差Δｙ'と前記第２の記憶部に記憶された前記参照パラメータｘ１から、関数ｙ＝ｆ(ｘ)に基づいて、検証パラメータｘ２'＝ｆ-1{ｆ(ｘ１)＋Δｙ’}を算出するステップと、
前記デジタル署名検証サブシステムが、前記検証パラメータｘ２'とメッセージＭ'を含む署名対象データのハッシュ値ｈ''を算出するステップと、
前記デジタル署名検証サブシステムが、前記算出されたハッシュ値ｈ''と、前記復号化データの前記署名対象データのハッシュ値ｈ'とを比較し、両者が一致するかを検証するステップと、
を含むデジタル署名検証方法。
【請求項１２】
前記デジタル署名生成サブシステムは、
メッセージＭ及びデジタル署名用秘密鍵が記憶された第１の記憶部と、
参照パラメータｘ１、パラメータ差Δｘ、及び検証基準パラメータｘ２＝ｘ１＋Δｘを生成するパラメータ生成部と、
関数ｙ＝ｆ(ｘ)に基づいて、関数値差Δｙ＝ｆ(ｘ２)−ｆ(ｘ１)を算出する関数値差算出部と、
前記検証基準パラメータｘ２とメッセージＭを含む署名対象データのハッシュ値ｈを算出する第１のハッシュ値算出部と、
前記署名対象データのハッシュ値ｈ、前記メッセージＭ、及び前記関数値差Δｙを前記デジタル署名用秘密鍵により暗号化し、暗号化データを生成する暗号化データ生成部と、
前記暗号化データを前記デジタル署名検証サブシステムに送信する送信部と、
を含み、
前記パラメータ生成部は、
原子核の崩壊に伴って放出されるα粒子、ベータ線（粒子）、及びガンマ線の少なくとも１つを放出する放出体と、
前記原子核の崩壊に伴って放出されるα粒子、ベータ線（粒子）、及びガンマ線の少なくとも１つの個数を計数する計数器と、
第１の時刻から第２の時刻の間の前記放出体の崩壊原子数と所定の時刻の前記放出体未崩壊原子数を前記計数器の計数結果から推定する推定器と、
更に含み、
前記参照パラメータｘ１、前記パラメータ差Δｘは、それぞれ、前記推定器により推定された時刻Ｔ１の前記放出体の未崩壊原子数、時刻Ｔ１〜Ｔ２の間の前記放出体の崩壊原子数であり、
前記関数ｙ＝ｆ(ｘ)は、ｙ＝−(１／λ)・ln(ｘ／ｘ０)（ｘ０は、時刻０における前記放出体の未崩壊原子数）である請求項１１に記載のデジタル署名検証方法。
【請求項１３】
請求項７〜１２に記載の方法をコンピュータに実行させるためのプログラム。
【請求項１４】
請求項１３に記載のプログラムを記憶したコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、認証のためのシステム、方法、プログラム、プログラムを記憶した記憶媒体に関する。
【背景技術】
【０００２】
従来の認証システムにおいては、データの受信側でデータの検証に用いるための検証基準パラメータを、暗号化処理を行うもののそのままデータの送信側から送信する場合がある。また、従来の認証システムにおいては、公開鍵の正当性を担保するために認証局等の第三者による認証が用いられている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１１−８６１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、検証基準パラメータが、暗号化処理が行われるもののそのまま送信される場合、暗号化されたデータが解読されると、検証基準パラメータが盗まれてしまう。
【０００５】
また、認証局等の第三者による認証には時間がかかる。特に、ネットワークに接続されるＩｏＴデバイスの爆発的な増加が見込まれるところ、そのような膨大な数で入れ替わり（新規追加・取り外し）の激しいＩｏＴデバイスについて、認証局等の第三者の認証を待つ時間的余裕はない。
【０００６】
そこで、本発明は、検証基準パラメータの漏洩に強い認証システムを提供することを目的の１つとする。
【０００７】
また、本発明は、第三者の認証が不要な認証システムを提供することを目的の１つとする。
【課題を解決するための手段】
【０００８】
本発明の１つの態様は、参照パラメータｘ１及び検証基準パラメータｘ２を生成するパラメータ生成部と、関数ｙ＝ｆ(ｘ)に基づいて、関数値差Δｙ＝ｆ(ｘ２)−ｆ(ｘ１)を算出する関数値差算出部と、データ送信サブシステムと、データ検証サブシステムと、を含み、前記データ送信サブシステムは、前記関数値差算出部により算出された前記関数値差Δｙ及び／又は前記関数値差Δｙに基づいて生成された値、並びにメッセージを含むデータを前記データ検証サブシステムに送信し、前記データ検証サブシステムは、前記関数値差算出部により算出された前記関数値差Δｙ及び／又は前記関数値差Δｙに基づいて生成された値を用いて、受信したデータを検証する認証システムを提供するものである。
【０００９】
前記パラメータ生成部は、参照パラメータｘ１及びパラメータ差Δｘを生成し、前記参照パラメータｘ１及び前記パラメータ差Δｘから検証基準パラメータｘ２＝ｘ１＋Δｘを生成することができる。
【００１０】
前記認証システムは、原子核の崩壊に伴って放出されるα粒子、ベータ線（粒子）、及びガンマ線の少なくとも１つを放出する放出体と、前記原子核の崩壊に伴って放出されるα粒子、ベータ線（粒子）、及びガンマ線の少なくとも１つの個数を計数する計数器と、第１の時刻から第２の時刻の間の前記放出体の崩壊原子数と所定の時刻の前記放出体未崩壊原子数を前記計数器の計数結果から推定する推定器と、更に含み、前記参照パラメータｘ１、前記パラメータ差Δｘは、それぞれ、前記推定器により推定された時刻Ｔ１の前記放出体の未崩壊原子数、時刻Ｔ１〜Ｔ２の間の前記放出体の崩壊原子数であり、前記関数ｙ＝ｆ(ｘ)は、ｙ＝−(１／λ)・ln(ｘ／ｘ０)（ｘ０は、時刻０における前記放出体の未崩壊原子数）であることができる。
【００１１】
本発明の１つの態様は、デジタル署名生成サブシステムとデジタル署名検証サブシステムを含む認証システムであって、前記デジタル署名生成サブシステムは、メッセージＭ及びデジタル署名用秘密鍵が記憶された第１の記憶部と、参照パラメータｘ１及び検証基準パラメータｘ２を生成し、前記参照パラメータｘ１を前記第１の記憶部に記憶させるパラメータ生成部と、関数ｙ＝ｆ(ｘ)に基づいて、関数値差Δｙ＝ｆ(ｘ２)−ｆ(ｘ１)を算出する関数値差算出部と、前記検証基準パラメータｘ２とメッセージＭを含む署名対象データのハッシュ値ｈを算出する第１のハッシュ値算出部と、前記署名対象データのハッシュ値ｈ、前記メッセージＭ、及び前記関数値差Δｙを前記デジタル署名用秘密鍵により暗号化し、暗号化データを生成する暗号化データ生成部と、前記暗号化データを前記デジタル署名検証サブシステムに送信する送信部と、を含み、前記デジタル署名検証サブシステムは、ハッシュ値ｈ'、メッセージＭ'、及び関数値差Δｙ’を含む暗号化データを受信する受信部と、前記デジタル署名生成サブシステムのパラメータ生成部により生成された前記参照パラメータｘ１と、前記デジタル署名生成サブシステムの前記第１の記憶部に記憶された前記デジタル署名用秘密鍵に対応するデジタル署名用公開鍵が記憶された第２の記憶部と、受信された前記暗号化データを前記デジタル署名用公開鍵によって復号化し、復号化データを生成する復号化データ生成部と、前記復号化データの関数値差Δｙ’と前記第２の記憶部に記憶された前記参照パラメータｘ１から、前記関数ｙ＝ｆ(ｘ)に基づいて、検証パラメータｘ２'＝ｆ−１{ｆ(ｘ１)＋Δｙ’}を算出する検証パラメータ算出部と、前記検証パラメータｘ２'とメッセージＭ'を含む署名対象データのハッシュ値ｈ''を算出する第２のハッシュ値算出部と、前記第２のハッシュ値算出部により算出された前記ハッシュ値ｈ''と、前記復号化データのハッシュ値ｈ'とを比較し、両者が一致するかを検証する検証部と、を含む認証システムを提供するものである。
【００１２】
前記第２のハッシュ値算出部により算出された前記ハッシュ値ｈ''と、前記復号化データのハッシュ値ｈ'とが一致した場合、前記検証部は、前記第２の記憶部に記憶されていた前記参照パラメータｘ１の値を前記検証基準パラメータｘ２又は前記検証パラメータｘ２'の値に書き換え、前記パラメータ生成部は、前記第１の記憶部に記憶されていた前記参照パラメータｘ１の値を前記検証基準パラメータｘ２又は前記検証パラメータｘ２'の値に書き換えることができる。
【００１３】
前記パラメータ生成部は、参照パラメータｘ１及びパラメータ差Δｘを生成し、前記参照パラメータｘ１及び前記パラメータ差Δｘから検証基準パラメータｘ２＝ｘ１＋Δｘを生成することができる。
【００１４】
前記パラメータ生成部は、原子核の崩壊に伴って放出されるα粒子、ベータ線（粒子）、及びガンマ線の少なくとも１つを放出する放出体と、前記原子核の崩壊に伴って放出されるα粒子、ベータ線（粒子）、及びガンマ線の少なくとも１つの個数を計数する計数器と、第１の時刻から第２の時刻の間の前記放出体の崩壊原子数と所定の時刻の前記放出体未崩壊原子数を前記計数器の計数結果から推定する推定器と、更に含み、前記参照パラメータｘ１、前記パラメータ差Δｘは、それぞれ、前記推定器により推定された時刻Ｔ１の前記放出体の未崩壊原子数、時刻Ｔ１〜Ｔ２の間の前記放出体の崩壊原子数であり、前記関数ｙ＝ｆ(ｘ)は、ｙ＝−(１／λ)・ln(ｘ／ｘ０)（ｘ０は、時刻０における前記放出体の未崩壊原子数）であることができる。
【００１５】
本発明の１つの態様は、メッセージＭ及びデジタル署名用秘密鍵が記憶された第１の記憶部と、参照パラメータｘ１及び検証基準パラメータｘ２を生成するパラメータ生成部と、関数ｙ＝ｆ(ｘ)に基づいて、関数値差Δｙ＝ｆ(ｘ２)−ｆ(ｘ１)を算出する関数値差算出部と、前記検証基準パラメータｘ２とメッセージＭを含む署名対象データのハッシュ値ｈを算出する第１のハッシュ値算出部と、前記署名対象データのハッシュ値ｈ、前記メッセージＭ、及び前記関数値差Δｙを前記デジタル署名用秘密鍵により暗号化し、暗号化データを生成する暗号化データ生成部と、前記暗号化データを前記デジタル署名検証サブシステムに送信する送信部と、を含むデジタル署名生成サブシステムを提供するものである。
【００１６】
前記パラメータ生成部は、参照パラメータｘ１及びパラメータ差Δｘを生成し、前記参照パラメータｘ１及び前記パラメータ差Δｘから検証基準パラメータｘ２＝ｘ１＋Δｘを生成することができる。
【００１７】
前記パラメータ生成部は、原子核の崩壊に伴って放出されるα粒子、ベータ線（粒子）、及びガンマ線の少なくとも１つを放出する放出体と、前記原子核の崩壊に伴って放出されるα粒子、ベータ線（粒子）、及びガンマ線の少なくとも１つの個数を計数する計数器と、第１の時刻から第２の時刻の間の前記放出体の崩壊原子数と所定の時刻の前記放出体未崩壊原子数を前記計数器の計数結果から推定する推定器と、更に含み、前記参照パラメータｘ１、前記パラメータ差Δｘは、それぞれ、前記推定器により推定された時刻Ｔ１の前記放出体の未崩壊原子数、時刻Ｔ１〜Ｔ２の間の前記放出体の崩壊原子数であり、前記関数ｙ＝ｆ(ｘ)は、ｙ＝−(１／λ)・ln(ｘ／ｘ０)（ｘ０は、時刻０における前記放出体の未崩壊原子数）であることができる。
【００１８】
本発明の１つの態様は、ハッシュ値ｈ'、メッセージＭ'、及び関数値差Δｙ’を含む暗号化データを受信する受信部と、デジタル署名生成サブシステムにより生成された参照パラメータｘ１と、前記デジタル署名生成サブシステムに記憶されたデジタル署名用秘密鍵に対応するデジタル署名用公開鍵が記憶された第２の記憶部と、受信された前記暗号化データを前記デジタル署名用公開鍵によって復号化し、復号化データを生成する復号化データ生成部と、前記復号化データの関数値差Δｙ’と前記第２の記憶部に記憶された前記参照パラメータｘ１から、前記関数ｙ＝ｆ(ｘ)に基づいて、検証パラメータｘ２'＝ｆ−１{ｆ(ｘ１)＋Δｙ’}を算出する検証パラメータ算出部と、前記検証パラメータｘ２'とメッセージＭ'を含む署名対象データのハッシュ値ｈ''を算出する第２のハッシュ値算出部と、前記第２のハッシュ値算出部により算出された前記ハッシュ値ｈ''と、前記復号化データのハッシュ値ｈ'とを比較し、両者が一致するかを検証する検証部と、を含むデジタル署名検証サブシステムを提供するものである。
【００１９】
前記デジタル署名生成サブシステムは、メッセージＭ及びデジタル署名用秘密鍵が記憶された第１の記憶部と、参照パラメータｘ１、パラメータ差Δｘ、及び検証基準パラメータｘ２＝ｘ１＋Δｘを生成するパラメータ生成部と、関数ｙ＝ｆ(ｘ)に基づいて、関数値差Δｙ＝ｆ(ｘ２)−ｆ(ｘ１)を算出する関数値差算出部と、前記検証基準パラメータｘ２とメッセージＭを含む署名対象データのハッシュ値ｈを算出する第１のハッシュ値算出部と、前記署名対象データのハッシュ値ｈ、前記メッセージＭ、及び前記関数値差Δｙを前記デジタル署名用秘密鍵により暗号化し、暗号化データを生成する暗号化データ生成部と、前記暗号化データを前記デジタル署名検証サブシステムに送信する送信部と、を含み、前記パラメータ生成部は、原子核の崩壊に伴って放出されるα粒子、ベータ線（粒子）、及びガンマ線の少なくとも１つを放出する放出体と、前記原子核の崩壊に伴って放出されるα粒子、ベータ線（粒子）、及びガンマ線の少なくとも１つの個数を計数する計数器と、第１の時刻から第２の時刻の間の前記放出体の崩壊原子数と所定の時刻の前記放出体未崩壊原子数を前記計数器の計数結果から推定する推定器と、更に含み、前記参照パラメータｘ１、前記パラメータ差Δｘは、それぞれ、前記推定器により推定された時刻Ｔ１の前記放出体の未崩壊原子数、時刻Ｔ１〜Ｔ２の間の前記放出体の崩壊原子数であり、前記関数ｙ＝ｆ(ｘ)は、ｙ＝−(１／λ)・ln(ｘ／ｘ０)（ｘ０は、時刻０における前記放出体の未崩壊原子数）であることができる。
【００２０】
本発明の１つの態様は、データ送信サブシステムとデータ検証サブシステムとの間で行われる認証方法であって、前記データ送信サブシステムが、参照パラメータｘ１及び検証基準パラメータｘ２を生成するステップと、前記データ送信サブシステムが、関数ｙ＝ｆ(ｘ)に基づいて、関数値差Δｙ＝ｆ(ｘ２)−ｆ(ｘ１)を算出するステップと、前記データ送信サブシステムが、算出された前記関数値差Δｙ及び／又は前記関数値差Δｙに基づいて生成された値、並びにメッセージを含むデータを前記データ検証サブシステムに送信するステップと、前記データ検証サブシステムが、算出された前記関数値差Δｙ及び／又は前記関数値差Δｙに基づいて生成された値を用いて、受信したデータを検証するステップと、を含む認証方法を提供するものである。
【００２１】
前記データ送信サブシステムが、参照パラメータｘ１及び検証基準パラメータｘ２を生成するステップは、参照パラメータｘ１及びパラメータ差Δｘを生成し、前記参照パラメータｘ１及び前記パラメータ差Δｘから検証基準パラメータｘ２＝ｘ１＋Δｘを生成するステップであることができる。
【００２２】
前記データ送信サブシステムは、原子核の崩壊に伴って放出されるα粒子、ベータ線（粒子）、及びガンマ線の少なくとも１つを放出する放出体と、前記原子核の崩壊に伴って放出されるα粒子、ベータ線（粒子）、及びガンマ線の少なくとも１つの個数を計数する計数器と、第１の時刻から第２の時刻の間の前記放出体の崩壊原子数と所定の時刻の前記放出体未崩壊原子数を前記計数器の計数結果から推定する推定器と、更に含み、前記参照パラメータｘ１、前記パラメータ差Δｘは、それぞれ、前記推定器により推定された時刻Ｔ１の前記放出体の未崩壊原子数、時刻Ｔ１〜Ｔ２の間の前記放出体の崩壊原子数であり、前記関数ｙ＝ｆ(ｘ)は、ｙ＝−(１／λ)・ln(ｘ／ｘ０)（ｘ０は、時刻０における前記放出体の未崩壊原子数）であることができる。
【００２３】
本発明の１つの態様は、第１の記憶部を含むデジタル署名生成サブシステムと、第２の記憶部を含むデジタル署名検証サブシステムとの間で行われる認証方法であって、前記デジタル署名生成サブシステムが、メッセージＭ及びデジタル署名用秘密鍵を前記デジタル署名生成サブシステムの前記第１の記憶部に記憶させるステップと、前記デジタル署名生成サブシステムが、参照パラメータｘ１を生成し、前記第１の記憶部に記憶させるステップと、前記デジタル署名検証サブシステムが、前記デジタル署名生成サブシステムのパラメータ生成部により生成された前記参照パラメータｘ１と、前記デジタル署名用秘密鍵に対応するデジタル署名用公開鍵とを前記デジタル署名検証サブシステムの前記第２の記憶部に記憶するステップと、前記デジタル署名生成サブシステムが、検証基準パラメータｘ２を生成するステップと、前記デジタル署名生成サブシステムが、関数ｙ＝ｆ(ｘ)に基づいて、関数値差Δｙ＝ｆ(ｘ２)−ｆ(ｘ１)を算出するステップと、前記デジタル署名生成サブシステムが、前記検証基準パラメータｘ２とメッセージＭを含む署名対象データのハッシュ値ｈを算出するステップと、前記デジタル署名生成サブシステムが、前記署名対象データのハッシュ値、前記メッセージ、及び前記関数値差Δｙを前記デジタル署名用秘密鍵により暗号化し、暗号化データを生成するステップと、前記デジタル署名生成サブシステムが、前記暗号化データを前記デジタル署名検証サブシステムに送信するステップと、前記デジタル署名検証サブシステムが、ハッシュ値ｈ'、メッセージＭ'、及び関数値差Δｙ'を含む暗号化データを受信するステップと、前記デジタル署名検証サブシステムが、受信された前記暗号化データを前記デジタル署名用公開鍵によって復号化し、復号化データを生成するステップと、前記デジタル署名検証サブシステムが、前記復号化データの前記関数値差Δｙ'と前記第２の記憶部に記憶された前記参照パラメータｘ１から、前記関数ｙ＝ｆ(ｘ)に基づいて、検証パラメータｘ２'＝ｆ-1{ｆ(ｘ１)＋Δｙ’}を算出するステップと、前記デジタル署名検証サブシステムが、前記検証パラメータｘ２'とメッセージＭ'を含む署名対象データのハッシュ値ｈ''を算出するステップと、前記デジタル署名検証サブシステムが、前記算出されたハッシュ値ｈ''と、前記復号化データの前記署名対象データのハッシュ値ｈ'とを比較し、両者が一致するかを検証するステップとを含む認証方法を提供するものである。
【００２４】
前記認証方法は、前記算出された前記ハッシュ値ｈ''と、前記復号化データのハッシュ値ｈ'とが一致した場合、前記デジタル署名検証サブシステムが、前記第２の記憶部に記憶されていた前記参照パラメータｘ１の値を前記検証基準パラメータｘ２又は前記検証基準パラメータｘ２'の値に書き換えるステップと、前記デジタル署名生成サブシステムが、前記第１の記憶部に記憶されていた前記参照パラメータｘ１の値を前記検証基準パラメータｘ２又は前記検証パラメータｘ２'の値に書き換えるステップと、を更に含むことができる。
【００２５】
前記デジタル署名生成サブシステムが、検証基準パラメータｘ２を生成するステップは、パラメータ差Δｘを生成し、前記参照パラメータｘ１及び前記パラメータ差Δｘから検証基準パラメータｘ２＝ｘ１＋Δｘを生成するステップであることができる。
【００２６】
前記デジタル署名生成サブシステムは、原子核の崩壊に伴って放出されるα粒子、ベータ線（粒子）、及びガンマ線の少なくとも１つを放出する放出体と、前記原子核の崩壊に伴って放出されるα粒子、ベータ線（粒子）、及びガンマ線の少なくとも１つの個数を計数する計数器と、第１の時刻から第２の時刻の間の前記放出体の崩壊原子数と所定の時刻の前記放出体未崩壊原子数を前記計数器の計数結果から推定する推定器と、更に含み、前記参照パラメータｘ１、前記パラメータ差Δｘは、それぞれ、前記推定器により推定された時刻Ｔ１の前記放出体の未崩壊原子数、時刻Ｔ１〜Ｔ２の間の前記放出体の崩壊原子数であり、前記関数ｙ＝ｆ(ｘ)は、ｙ＝−(１／λ)・ln(ｘ／ｘ０)（ｘ０は、時刻０における前記放出体の未崩壊原子数）であることができる。
【００２７】
本発明の１つの態様は、デジタル署名生成サブシステムが、メッセージＭ及びデジタル署名用秘密鍵を前記デジタル署名生成サブシステムの前記第１の記憶部に記憶させるステップと、前記デジタル署名生成サブシステムが、参照パラメータｘ１を生成し、前記第１の記憶部に記憶させるステップと、前記デジタル署名生成サブシステムが、検証基準パラメータｘ２を生成するステップと、前記デジタル署名生成サブシステムが、関数ｙ＝ｆ(ｘ)に基づいて、関数値差Δｙ＝ｆ(ｘ２)−ｆ(ｘ１)を算出するステップと、前記デジタル署名生成サブシステムが、前記検証基準パラメータｘ２とメッセージＭを含む署名対象データのハッシュ値ｈを算出するステップと、前記デジタル署名生成サブシステムが、前記署名対象データのハッシュ値、前記メッセージ、及び前記関数値差Δｙを前記デジタル署名用秘密鍵により暗号化し、暗号化データを生成するステップと、前記デジタル署名生成サブシステムが、前記暗号化データを前記デジタル署名検証サブシステムに送信するステップと、を含むデジタル署名生成方法を提供するものである。
【００２８】
前記デジタル署名検証サブシステムが、参照パラメータｘ１及び検証基準パラメータｘ２を生成するステップは、参照パラメータｘ１及びパラメータ差Δｘを生成し、前記参照パラメータｘ１及び前記パラメータ差Δｘから検証基準パラメータｘ２＝ｘ１＋Δｘを生成するステップであることができる。
【００２９】
前記デジタル署名生成サブシステムは、原子核の崩壊に伴って放出されるα粒子、ベータ線（粒子）、及びガンマ線の少なくとも１つを放出する放出体と、前記原子核の崩壊に伴って放出されるα粒子、ベータ線（粒子）、及びガンマ線の少なくとも１つの個数を計数する計数器と、第１の時刻から第２の時刻の間の前記放出体の崩壊原子数と所定の時刻の前記放出体未崩壊原子数を前記計数器の計数結果から推定する推定器と、更に含み、前記参照パラメータｘ１、前記パラメータ差Δｘは、それぞれ、前記推定器により推定された時刻Ｔ１の前記放出体の未崩壊原子数、時刻Ｔ１〜Ｔ２の間の前記放出体の崩壊原子数であり、前記関数ｙ＝ｆ(ｘ)は、ｙ＝−(１／λ)・ln(ｘ／ｘ０)（ｘ０は、時刻０における前記放出体の未崩壊原子数）であることができる。
【００３０】
本発明の１つの態様は、デジタル署名検証サブシステムが、デジタル署名生成サブシステムにより生成された参照パラメータｘ１と、デジタル署名用秘密鍵に対応するデジタル署名用公開鍵とを前記デジタル署名検証サブシステムの前記第２の記憶部に記憶させるステップと、前記デジタル署名検証サブシステムが、ハッシュ値ｈ'、メッセージＭ'、及び関数値差Δｙ'を含む暗号化データを受信するステップと、前記デジタル署名検証サブシステムが、受信された前記暗号化データを前記デジタル署名用公開鍵によって復号化し、復号化データを生成するステップと、前記デジタル署名検証サブシステムが、前記復号化データの前記関数値差Δｙ'と前記第２の記憶部に記憶された前記参照パラメータｘ１から、関数ｙ＝ｆ(ｘ)に基づいて、検証パラメータｘ２'＝ｆ-1{ｆ(ｘ１)＋Δｙ’}を算出するステップと、前記デジタル署名検証サブシステムが、前記検証パラメータｘ２'とメッセージＭ'を含む署名対象データのハッシュ値ｈ''を算出するステップと、前記デジタル署名検証サブシステムが、前記算出されたハッシュ値ｈ''と、前記復号化データの前記署名対象データのハッシュ値ｈ'とを比較し、両者が一致するかを検証するステップと、を含むデジタル署名検証方法を提供するものである。
【００３１】
前記デジタル署名生成サブシステムは、メッセージＭ及びデジタル署名用秘密鍵が記憶された第１の記憶部と、参照パラメータｘ１、パラメータ差Δｘ、及び検証基準パラメータｘ２＝ｘ１＋Δｘを生成するパラメータ生成部と、関数ｙ＝ｆ(ｘ)に基づいて、関数値差Δｙ＝ｆ(ｘ２)−ｆ(ｘ１)を算出する関数値差算出部と、前記検証基準パラメータｘ２とメッセージＭを含む署名対象データのハッシュ値ｈを算出する第１のハッシュ値算出部と、前記署名対象データのハッシュ値ｈ、前記メッセージＭ、及び前記関数値差Δｙを前記デジタル署名用秘密鍵により暗号化し、暗号化データを生成する暗号化データ生成部と、前記暗号化データを前記デジタル署名検証サブシステムに送信する送信部と、を含み、前記パラメータ生成部は、原子核の崩壊に伴って放出されるα粒子、ベータ線（粒子）、及びガンマ線の少なくとも１つを放出する放出体と、前記原子核の崩壊に伴って放出されるα粒子、ベータ線（粒子）、及びガンマ線の少なくとも１つの個数を計数する計数器と、第１の時刻から第２の時刻の間の前記放出体の崩壊原子数と所定の時刻の前記放出体未崩壊原子数を前記計数器の計数結果から推定する推定器と、更に含み、前記参照パラメータｘ１、前記パラメータ差Δｘは、それぞれ、前記推定器により推定された時刻Ｔ１の前記放出体の未崩壊原子数、時刻Ｔ１〜Ｔ２の間の前記放出体の崩壊原子数であり、前記関数ｙ＝ｆ(ｘ)は、ｙ＝−(１／λ)・ln(ｘ／ｘ０)（ｘ０は、時刻０における前記放出体の未崩壊原子数）であることができる。
【００３２】
上記認証方法、デジタル署名生成方法、デジタル署名検証方法における各ステップは、適切な場合、同時又は順序を変えて行うことができる。
【００３３】
本発明の１つの態様は、前記方法をコンピュータに実行させるためのプログラムを提供するものである。
【００３４】
本発明の１つの態様は、前記プログラムを記録したコンピュータ読み取り可能な記録媒体を提供するものである。
【００３５】
本明細書及び特許請求の範囲において、「署名対象データ」とは、検証基準パラメータｘ２又はそれに対応するデータ、メッセージＭ又はそれに対応するデータ、及び任意的にその他の所定のデータ又はそれに対応するデータが所定のデータ構造で構成されるデータをいう。
【発明の効果】
【００３６】
上記構成を有する本発明によれば、検証基準パラメータの漏洩に強い認証システムを提供することができる。
【００３７】
また、上記構成を有する本発明によれば、第三者の認証が不要な認証システムを提供することができる。
【図面の簡単な説明】
【００３８】
【図１】本発明の第１の実施形態に係る認証システムの全体構成図である。
【図２】本発明の第１の実施形態に係るデジタル署名生成サブシステムのハードウエア構成図である。
【図３Ａ】本発明の第１の実施形態に係る認証システムの認証処理のフローチャートである。
【図３Ｂ】本発明の第１の実施形態に係る認証システムの認証処理のフローチャートである。
【図４】本発明の第２の実施形態に係る認証システムのパラメータ生成部の構成図である。
【発明を実施するための形態】
【００３９】
以下、本発明の実施形態について図面を参照して説明する。
【００４０】
（第１の実施形態）
図１は、本発明の第１の実施形態に係る認証システム１の全体構成を示す図である。認証システム１は、デジタル署名生成サブシステム１０とデジタル署名検証サブシステム２０を含む。デジタル署名生成サブシステム１０は、例えばサーバ、ＰＣ、スマートフォンやタブレット型コンピュータ等のモバイルデバイス、ＩＣカード、家電製品、自動車、スマートハウス、ＩＣタグとすることができる。また、デジタル署名検証サブシステム２０は、例えばＰＣ、スマートフォンやタブレット型コンピュータ等のモバイルデバイス、ＩＣカード、家電製品、自動車、スマートハウス、ＩＣタグとすることができる。デジタル署名生成サブシステム１０、デジタル署名検証サブシステム２０は、これらに限定されるものではなく、適切な任意のデバイスとすることができる。また、デジタル署名生成サブシステム１０は、１つの物理的な装置として構成される必要はなく、複数の物理的な装置から構成されてもよい。このことは、デジタル署名検証サブシステム２０についても同様である。デジタル署名生成サブシステム１０とデジタル署名検証サブシステム２０は、ネットワークを介して、又は直接接続される。
【００４１】
デジタル署名生成サブシステム１０は、第１の記憶部１０１、パラメータ生成部１０２、関数値差算出部１０３、第１のハッシュ値算出部１０４、暗号化データ生成部１０５、送信部１０６を含む。
【００４２】
第１の記憶部１０１は、デジタル署名検証サブシステム２０へ送信するメッセージＭ、デジタル署名用秘密鍵、参照パラメータｘ１を記憶する。メッセージＭは、デジタル署名検証後の暗号通信に使用するための暗号通信用公開鍵を含むことができる。第１の記憶部１０１は、後述のＲＡＭ、ＲＯＭ、及び外部メモリを含むものとすることができる。
【００４３】
パラメータ生成部１０２は、参照パラメータｘ１とパラメータ差Δｘを生成し、これらの参照パラメータｘ１とパラメータ差Δｘから検証基準パラメータｘ２＝ｘ１＋Δｘを生成する。検証基準パラメータｘ２は、パラメータ差Δｘを生成することなくパラメータ差Δｘを用いずに生成してもよい。パラメータ生成部１０２は、後述のように、デジタル署名生成サブシステム１０が検証成功の旨の通知を受信すると、第１の記憶部１０１に記憶されている参照パラメータｘ１の値を検証パラメータｘ２'の値に書き換えることができる。
【００４４】
関数値差算出部１０３は、関数ｙ＝ｆ(ｘ)に基づいて、パラメータ生成部１０２により生成された参照パラメータｘ１、ｘ２を用いて、それぞれの関数値ｆ(ｘ１)、ｆ(ｘ２)の差である関数値差Δｙ＝ｆ(ｘ２)−ｆ(ｘ１)を算出する。
【００４５】
第１のハッシュ値算出部１０４は、パラメータ生成部１０２により生成された検証基準パラメータｘ２とメッセージＭから構成される署名対象データについて、そのハッシュ値ｈを、所定のハッシュ関数により算出する。署名対象データは、検証基準パラメータｘ２とメッセージＭ以外のデータを含むデータ構造を有してもよい。
【００４６】
暗号化データ生成部１０５は、署名対象データのハッシュ値ｈ、メッセージＭ、及び関数値差Δｙをデジタル署名用秘密鍵により暗号化し、暗号化データを生成する。
【００４７】
送信部１０６は、暗号化データ生成部１０５により生成された暗号化データをデジタル署名検証サブシステム２０に送信する。
【００４８】
デジタル署名検証サブシステム２０は、受信部２０１と、第２の記憶部２０２と、復号化データ生成部２０３と、検証パラメータ算出部２０４と、第２のハッシュ値算出部２０５と、検証部２０６とを含む。
【００４９】
受信部２０１は、ハッシュ値ｈ'、メッセージＭ'、及び関数値差Δｙ’を含む暗号化データを受信する。ここで、受信した暗号化データが、デジタル署名生成サブシステム１０から送信されたものである場合は、ハッシュ値ｈ'、メッセージＭ'、及び関数値差Δｙ’は、それぞれハッシュ値ｈ、メッセージＭ、及び関数値差Δｙとなる。
【００５０】
第２の記憶部２０２は、デジタル署名生成サブシステム１０のパラメータ生成部１０２により生成された参照パラメータｘ１と、デジタル署名生成サブシステム１０の第１の記憶部１０１に記憶されたデジタル署名用秘密鍵に対応するデジタル署名用公開鍵を記憶する。第２の記憶部２０２は、後述のＲＡＭ、ＲＯＭ、及び外部メモリを含むものとすることができる。
【００５１】
復号化データ生成部２０３は、受信部２０１により受信された暗号化データを、第２の記憶部２０２に記憶されたデジタル署名用公開鍵によって復号化し、復号化データを生成する。これにより、ハッシュ値ｈ'、メッセージＭ'、及び関数値差Δｙ’が得られる。
【００５２】
検証パラメータ算出部２０４は、復号化データ生成部２０３により生成された復号化データの関数値差Δｙ’と、第２の記憶部２０２に記憶された参照パラメータｘ１から、関数ｙ＝ｆ(ｘ)に基づいて、検証パラメータｘ２'＝ｆ-1{ｆ(ｘ１)＋Δｙ’}を算出する。すなわち、関数値差Δｙの算出に用いた式Δｙ＝ｆ(ｘ２)−ｆ(ｘ１)を変形すると、ｘ２＝ｆ-1{ｆ(ｘ１)＋Δｙ}となるが、この式においてΔｙをΔｙ'として得られるｘ２を検証パラメータｘ２'として算出する。Δｙが改ざんされていなければ、ｘ２'＝ｘ２となる。
【００５３】
第２のハッシュ値算出部２０５は、検証パラメータ算出部２０４により算出された検証パラメータｘ２'とメッセージＭ'を含む署名対象データのハッシュ値ｈ''を、第１のハッシュ値算出部１０４で使用したのと同じハッシュ関数により算出する。
【００５４】
検証部２０６は、第２のハッシュ値算出部２０５により算出されたハッシュ値ｈ''と、復号化データのハッシュ値ｈ'とを比較し、両者が一致するかを検証する。すなわち、ハッシュ値ｈ、Δｙ及びメッセージＭが改ざんされていなければ、ｈ'＝ｈ、ｘ２'＝ｘ２及びＭ'＝Ｍとなるから、ハッシュ値ｈ''＝ｈ＝ｈ'となり、ｈ''はｈ'と一致する。一方、ハッシュ値ｈ、Δｙ及びメッセージＭのいずれかが改ざんされた場合、ｈ'及びｈ''の値はｈとは異なることとなる。したがって、第２のハッシュ値算出部により算出された前記ハッシュ値ｈ''と、前記復号化データのハッシュ値ｈ'が一致するか否かによって、データの改ざんの有無が検証できる。
【００５５】
検証部２０６は、第２のハッシュ値算出部２０５により算出されたハッシュ値ｈ''と、復号化データのハッシュ値ｈ'とが一致した場合、第２の記憶部２０２に記憶されていた参照パラメータｘ１をｘ２に書き換えると共に、検証成功の旨の通知をデジタル署名生成サブシステム１０に送信する。
【００５６】
図２は、本実施形態に係るデジタル署名生成サブシステム１０のハードウエア構成の例を示す図である。デジタル署名生成サブシステム１０は、ＣＰＵ１０ａ、ＲＡＭ１０ｂ、ＲＯＭ１０ｃ、外部メモリ１０ｄ、入力部１０ｅ、出力部１０ｆ、通信部１０ｇを含む。ＲＡＭ１０ｂ、ＲＯＭ１０ｃ、外部メモリ１０ｄ、入力部１０ｅ、出力部１０ｆ、通信部１０ｇは、システムバス１０ｈを介して、ＣＰＵ１０ａに接続されている。
【００５７】
ＣＰＵ１０ａは、システムバス１０ｈに接続される各デバイスを統括的に制御する。
【００５８】
ＲＯＭ１０ｃや外部メモリ１０ｄには、ＣＰＵ１０ａの制御プログラムであるＢＩＯＳやＯＳ、コンピュータが実行する機能を実現するために必要な各種プログラムやデータ等が記憶されている。
【００５９】
ＲＡＭ１０ｂは、ＣＰＵの主メモリや作業領域等として機能する。ＣＰＵ１０ａは、処理の実行に際して必要なプログラム等をＲＯＭ１０ｃや外部メモリ１０ｄからＲＡＭ１０ｂにロードして、ロードしたプログラムを実行することで各種動作を実現する。
【００６０】
外部メモリ１０ｄは、例えば、フラッシュメモリ、ハードディスク、ＤＶＤ−ＲＡＭ、ＵＳＢメモリ等から構成される。
【００６１】
入力部１０ｅは、ユーザ等からの操作指示等を受け付ける。入力部１０ｅは、例えば、入力ボタン、キーボード、ポインティングデバイス、ワイヤレスリモコン、マイクロフォン、カメラ等の入力デバイスから構成される。
【００６２】
出力部１０ｆは、ＣＰＵ１０ａで処理されるデータや、ＲＡＭ１０ｂ、ＲＯＭ１０ｃや外部メモリ１０ｄに記憶されるデータを出力する。出力部１０ｆは、例えば、ＣＲＴディスプレイ、ＬＣＤ、有機ＥＬパネル、プリンタ、スピーカ等の出力デバイスから構成される。
【００６３】
通信部１０ｇは、ネットワークを介して又は直接、外部機器と接続・通信するためのインタフェースである。通信部１０ｇは、例えばシリアルインタフェース、ＬＡＮインタフェース等のインタフェースから構成される。
【００６４】
デジタル署名検証サブシステム２０のハードウエア構成も同様である。
【００６５】
図１に示されるデジタル署名生成サブシステム１０やデジタル署名検証サブシステム２０の各部は、ＲＯＭ１０ｃや外部メモリ１０ｄに記憶された各種プログラムが、ＣＰＵ１０ａ、ＲＡＭ１０ｂ、ＲＯＭ１０ｃ、外部メモリ１０ｄ、入力部１０ｅ、出力部１０ｆ、通信部１０ｇ等を資源として使用することで実現される。
【００６６】
以上のシステム構成を前提に、本発明の第１の実施形態に係る認証システムの認証処理の例を、図１、３等を参照して、以下に説明する。図３は、本実施形態に係る認証システムの認証処理のフローチャートである。
【００６７】
＜暗号化データの生成、送信処理＞
まず、デジタル署名生成サブシステム１０が、メッセージＭ及びデジタル署名用秘密鍵をデジタル署名生成サブシステム１０の第１の記憶部１０１に記憶させる（Ｓ１０１）。メッセージＭは、デジタル署名検証後の暗号通信に使用するための暗号通信用公開鍵を含むことができる。メッセージＭとデジタル署名用秘密鍵を第１の記憶部１０１に記憶させるタイミングは、同じでも異なっていてもよい。
【００６８】
次に、デジタル生成検証サブシステム１０のパラメータ生成部１０２が、参照パラメータｘ１を生成し、第１の記憶部１０１に記憶させる（Ｓ１０２）。参照パラメータｘ１は、後述の計数された崩壊原子数に基づいて生成されるものに限定されるものではなく、適切な任意の手法によって生成することができる。
【００６９】
デジタル署名生成サブシステム１０のパラメータ生成部１０２により生成された参照パラメータｘ１と、デジタル署名生成サブシステム１０の第１の記憶部１０１に記憶されたデジタル署名用秘密鍵に対応するデジタル署名用公開鍵とが、例えばデジタル署名検証サブシステム２０の出荷時に、デジタル署名検証サブシステム２０の第２の記憶部２０２に記憶される（Ｓ１０３）。
【００７０】
デジタル署名検証サブシステム１０のパラメータ生成部１０２が、パラメータ差Δｘ、及び検証基準パラメータｘ２＝ｘ１＋Δｘを生成する（Ｓ１０４）。パラメータ差Δｘ、及び検証基準パラメータｘ２は、後述の計数された崩壊原子数に基づいて生成されるものに限定されるものではなく、適切な任意の手法によって生成することができる。検証基準パラメータｘ２は、パラメータ差Δｘを生成することなくパラメータ差Δｘを用いずに生成してもよい。
【００７１】
デジタル署名生成サブシステム１０の関数値差算出部１０３が、関数ｙ＝ｆ(ｘ)に基づいて、パラメータ生成部１０２により生成された参照パラメータｘ１、ｘ２を用いて、それぞれの関数値ｆ(ｘ１)、ｆ(ｘ２)の差である関数値差Δｙ＝ｆ(ｘ２)−ｆ(ｘ１)を算出する（Ｓ１０５）。関数ｙ＝ｆ(ｘ)は、適切な任意の関数とすることができる。
【００７２】
デジタル署名生成サブシステム１０の第１のハッシュ値算出部１０４が、パラメータ生成部１０２により生成された検証基準パラメータｘ２とメッセージＭから構成される署名対象データについて、そのハッシュ値ｈを、所定のハッシュ関数により算出する（Ｓ１０６）。署名対象データは、検証基準パラメータｘ２とメッセージＭ以外のデータを含むデータ構造を有してもよい。
【００７３】
デジタル署名生成サブシステム１０の暗号化データ生成部１０５が、署名対象データのハッシュ値ｈ、メッセージＭ、及び関数値差Δｙをデジタル署名用秘密鍵により暗号化し、暗号化データを生成する（Ｓ１０７）。
【００７４】
デジタル署名生成サブシステム１０の送信部１０６が、暗号化データ生成部１０５により生成された暗号化データをデジタル署名検証サブシステム２０に送信する（Ｓ１０８）。
【００７５】
＜暗号化データの受信、検証処理＞
デジタル署名検証サブシステム２０の受信部２０１が、ハッシュ値ｈ'、メッセージＭ'、及び関数値差Δｙ'を含む暗号化データを受信する（Ｓ２０１）。受信した暗号化データが、デジタル署名生成サブシステム１０から送信されたものである場合は、ハッシュ値ｈ'、メッセージＭ'、及び関数値差Δｙ’は、それぞれハッシュ値ｈ、メッセージＭ、及び関数値差Δｙとなる。
【００７６】
デジタル署名検証サブシステム２０の復号化データ生成部２０３が、受信部２０１により受信された暗号化データを、第２の記憶部２０２に記憶されたデジタル署名用公開鍵によって復号化し、復号化データを生成する（Ｓ２０２）。これにより、ハッシュ値ｈ'、メッセージＭ'、及び関数値差Δｙ’が得られる。
【００７７】
デジタル署名検証サブシステム２０の検証パラメータ算出部２０４が、復号化データ生成部２０３により生成された復号化データの前記関数値差Δｙ'と、第２の記憶部２０２に記憶された参照パラメータｘ１から、関数ｙ＝ｆ(ｘ)に基づいて、検証パラメータｘ２'＝ｆ-1{ｆ(ｘ１)＋Δｙ’}を算出する（Ｓ２０３）。すなわち、関数値差Δｙの算出に用いた式Δｙ＝ｆ(ｘ２)−ｆ(ｘ１)を変形すると、ｘ２＝ｆ-1{ｆ(ｘ１)＋Δｙ}となるが、この式においてΔｙをΔｙ'として得られるｘ２を検証パラメータｘ２'として算出する。Δｙが改ざんされていなければ、ｘ２'＝ｘ２となる。
【００７８】
デジタル署名検証サブシステム２０の第２のハッシュ値算出部２０５が、検証パラメータ算出部２０４により算出された検証パラメータｘ２'と、復号化データのメッセージＭ'を含む署名対象データのハッシュ値ｈ''を、第１のハッシュ値算出部１０４で使用したのと同じハッシュ関数により算出する（Ｓ２０４）。
【００７９】
デジタル署名検証サブシステム２０の検証部２０６が、第２のハッシュ値算出部２０５により算出された前記ハッシュ値ｈ''と、復号化データのハッシュ値ｈ'とを比較し、両者が一致するかを検証する（Ｓ２０５）。すなわち、ハッシュ値ｈ、Δｙ及びメッセージＭが改ざんされていなければ、ｈ'＝ｈ、ｘ２'＝ｘ２及びＭ'＝Ｍとなるから、ハッシュ値ｈ''＝ｈ＝ｈ'となり、ｈ''はｈ'と一致する。一方、ハッシュ値ｈ、Δｙ及びメッセージＭのいずれかが改ざんされた場合、ｈ'及びｈ''の値はｈとは異なることとなる。したがって、第２のハッシュ値算出部により算出された前記ハッシュ値ｈ''と、前記復号化データのハッシュ値ｈ'が一致するか否かによって、データの改ざんの有無が検証できる。
【００８０】
＜パラメータ更新処理＞
Ｓ２０５において、第２のハッシュ値算出部により算出された前記ハッシュ値ｈ''と、復号化データのハッシュ値ｈ'とが一致した場合、第２の記憶部２０２に記憶されていた参照パラメータｘ１の値を検証パラメータｘ２'の値に書き換えると共に、検証成功の旨の通知をデジタル署名生成サブシステム１０に送信する（Ｓ２０６）。
【００８１】
デジタル署名生成サブシステム１０が検証成功の旨の通知を受信すると、パラメータ生成部１０２は、第１の記憶部１０１に記憶されていた参照パラメータｘ１の値を検証基準パラメータｘ２の値に書き換える（Ｓ２０７）。これにより、パラメータ生成部１０２は、書き換えられた参照パラメータの値に基づいて、次回に使用する検証基準パラメータを生成することになる。
【００８２】
第２の記憶部２０２に記憶されていた参照パラメータｘ１の書き換え、及び第１の記憶部１０１に記憶されていた参照パラメータｘ１の書き換えは、それぞれ、検証成功の判定後且つ次回に使用する検証基準パラメータ生成前に、任意のタイミングで行うことができる。また、第１の記憶部１０１に記憶されていた参照パラメータｘ１の書き換えは、検証成功の旨の通知をデジタル署名生成サブシステムが受信することにより行う構成に限定されず、検証成功の判定後且つ次回に使用する検証基準パラメータ生成前に、適切な任意の方法で行うことができる。また、参照パラメータｘ１に置き換えられる値としては、置き換えの手法によって、検証基準パラメータｘ２、検証パラメータｘ２'のいずれかを任意に選択することができる。
【００８３】
本実施形態によれば、検証基準パラメータｘ２または関数ｙ＝ｆ(ｘ)をそのまま送信せずに、関数ｙ＝ｆ(ｘ)に基づいて関数値差Δｙ＝ｆ(ｘ２)−ｆ(ｘ１)を算出して、これを送信し、関数値差Δｙ及び／又は関数値差Δｙに基づいて生成された値を用いて、受信したデータを検証するので、漏洩に強い認証システムを構築することができる。
【００８４】
また、本実施形態によれば、デジタル署名用公開鍵と、デジタル署名検証パラメータの算出に必要な数値の１つをセットで、デジタル署名検証サブシステムに予め記憶させておくので、認証局等の第三者による認証によらずとも、受信した暗号通信用公開鍵の正当性や完全性を検証することができる。
【００８５】
また、本実施形態によれば、異なるデジタル署名検証サブシステムに対して異なるｘ２又はΔｘを割り当てれば、デジタル署名用公開鍵は共通としつつ、デジタル署名検証サブシステム毎に検証基準パラメータを異なるものとすることができる。したがって、複数のデジタル署名検証サブシステムを製造する場合、以下のような利点があり、特にＩｏＴデバイスのような多数で入れ替わりの激しいデジタル署名検証サブシステムの製造に有利である。
（１）デジタル署名用公開鍵に係る実装コストを小さくしつつ、デジタル署名検証サブシステム毎に検証基準パラメータを異なるものとすることができる。
（２）あるデジタル署名検証サブシステムの情報が漏洩しても、他のデジタル署名検証サブシステムの検証基準パラメータが異なるため、漏洩した情報を用いても他のデジタル署名検証サブシステムは破られない。
（３）デジタル署名用公開鍵が共通であるので、異なるｘ２又はΔｘを割り当てるだけで簡単にデジタル署名検証サブシステムを増やすことができる。
【００８６】
また、本実施形態によれば、検証成功毎に、デジタル署名生成サブシステムとデジタル署名検証サブシステムのそれぞれに記憶されている参照パラメータｘ１を検証基準パラメータｘ２で置き換えるので、デジタル署名検証サブシステムの情報が漏洩しても、デジタル署名検証サブシステムは破られない。また、デジタル署名検証サブシステムが複数ある場合は、時間が経つにつれて、異なるデジタル署名検証サブシステムの検証基準パラメータは異なる値をとるようになるので、あるデジタル署名検証サブシステムの情報が漏洩しても、その漏洩した情報を用いて他のデジタル署名検証サブシステムが破られることはない。
【００８７】
（第２の実施形態）
本発明の第２の実施形態は、第１の実施形態のパラメータ生成に放射性物質（放射体）の放射性崩壊現象を利用するものである。以下に、本実施形態のパラメータ生成の原理を説明する。
【００８８】
いま、時刻ｙにおける放射体の未崩壊原子数をｘ(ｙ)、当該放射体の崩壊定数をλとすると、ｘ(ｙ)は、式ｘ(ｙ)＝ｘ０・ｅ-λy（ここで、時刻ｙ＝０のとき、ｘ(０)＝ｘ０とする）で表されることが知られている。この式を変形すると、ｙ＝−(１／λ)・ln(ｘ／ｘ０)となる。
【００８９】
一方、放射線の計数器は、ガイガー・ミュラー計数管や半導体検出器等周知であり、ＩＣチップに実装した計数器も、例えば特表２０００−５１５６９９号公報、特開２００１−１１７７５６号公報、特開２００５−２８２３４６号公報、公報等に示されるように公知である。放射性崩壊は偶発的な事象であるので、計数器の生の計数値には統計的揺らぎが存在するが、第１の時刻から第２の時刻の間の放出体の崩壊原子数は、例えば、放出体の崩壊原子数の計数器の計数結果の分布がほぼ正規分布となるのに十分な時間分の計数結果に基づいて推定することができる。
【００９０】
したがって、実施形態１における関数ｙ＝ｆ(ｘ)を、ｙ＝−(１／λ)・ln(ｘ／ｘ０)（ｘ０は、時刻０における前記放出体の未崩壊原子数）とした場合、実施形態１における参照パラメータｘ１、パラメータ差Δｘを、それぞれ、推定された時刻Ｔ１の放出体の未崩壊原子数、時刻Ｔ１〜Ｔ２の間の放出体の崩壊原子数とすることにより、実施形態１において必要なパラメータを生成することができる。
【００９１】
図４は、本発明の第２の実施形態に係る認証システムのパラメータ生成部の構成図である。この図４を参照して、本発明の第２の実施形態の構成及び動作原理を説明する。図４において図１と対応する部分には同一の符号を付し、第１の実施形態と重複する説明は省略する。
【００９２】
パラメータ生成部１０２は、放出体１０２ａ、計数器１０２ｂ、推定器１０３ｃを含む。
【００９３】
放出体１０２ａは、原子核の崩壊に伴って放出されるα粒子、ベータ線（粒子）、及びガンマ線の少なくとも１つを放出する。
【００９４】
計数器１０２ｂは、放出体１０２ａの原子核の崩壊に伴って放出されるα粒子、ベータ線（粒子）、及びガンマ線の少なくとも１つの個数を計数する。
【００９５】
推定器１０２ｃは、第１の時刻から第２の時刻の間の放出体１０２ａの崩壊原子数と所定の時刻の放出体１０２ａの未崩壊原子数を計数器１０２ｂの計数結果から、上述の原理により推定する。
【００９６】
推定器１０２ｃにより、時刻Ｔ１の前記放出体の未崩壊原子数、時刻Ｔ１〜Ｔ２の間の前記放出体の崩壊原子数が推定されると、パラメータ生成部１０２は、それらをそれぞれ、参照パラメータｘ１、パラメータ差Δｘとして生成し、検証基準パラメータｘ２＝ｘ１＋Δｘを生成する。
【００９７】
パラメータ生成後の認証処理は、実施形態１と同様であるので、説明は省略する。
【００９８】
本実施形態によれば、第１の実施形態の利点に加えて、以下の利点がある。すなわち、関数に従うパラメータを生成しようとすると、適切な関数の選択やパラメータ生成のアルゴリズムの作成にコストがかかるが、本実施形態によれば、関数に従うパラメータの生成に自然現象を利用しているので、簡単に関数に従うパラメータを生成することができる。
【００９９】
以上、本発明について、例示のためにいくつかの実施形態に関して説明してきたが、本発明はこれに限定されるものでなく、本発明の範囲及び精神から逸脱することなく、形態及び詳細について、様々な変形及び修正を行うことができることは、当業者に明らかであろう。
【符号の説明】
【０１００】
１  認証システム
１０  デジタル署名生成サブシステム
１０ａ  ＣＰＵ
１０ｂ  ＲＡＭ
１０ｃ  ＲＯＭ
１０ｄ  外部メモリ
１０ｅ  入力部
１０ｆ  出力部
１０ｇ  通信部
１０ｈ  システムバス
１０１  第１の記憶部
１０２  パラメータ生成部
１０２ａ  放出体
１０２ｂ  計数器
１０２ｃ  推定器
１０３  関数値差算出部
１０４  第１のハッシュ値算出部
１０５  暗号化データ生成部
１０６  送信部
２０  デジタル署名検証サブシステム
２０１  受信部
２０２  第２の記憶部
２０３  復号化データ生成部
２０４  検証パラメータ算出部
２０５  第２のハッシュ値算出部
２０６  検証部
【図１】
0006761677.tif 000002
【図２】
0006761677.tif 000003
【図３Ａ】
0006761677.tif 000004
【図３Ｂ】
0006761677.tif 000005
【図４】
0006761677.tif 000006