(57)【要約】  公開キー暗号化アルゴリズムを用いる認証装置を提示する。装置は、メッセージに対応する電子署名の生成リクエストに応答して、ランダムナンバーの生成過程で第１インスタント公開キーを生成する。そして、前記第１インスタント公開キーを用いて前記第１インスタント公開キーと対を成す第１インスタント個人キーを算出する。
2017511095.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つのプロセッサを含み、公開キー基盤暗号化アルゴリズムによる認証手続を行う認証装置において、前記認証装置は、前記少なくとも１つのプロセッサによって少なくとも一時的に実現される、
前記アルゴリズムに対応する電子署名が必要な場合に応答して、第１インスタント公開キーを生成する生成部と、
前記第１インスタント公開キーを用いて、前記アルゴリズムで前記第１インスタント公開キーと対を成す第１インスタント個人キーを算出する算出部と、
前記第１インスタント個人キーを用いて前記アルゴリズムによる電子署名を生成する処理部と、
を含む、認証装置。
【請求項２】
送信するメッセージを前記電子署名及び前記第１インスタント公開キーと共に相手機器に送信する通信部をさらに含む、請求項１に記載の認証装置。
【請求項３】
前記相手機器から再送信リクエストが受信されることに応答して、通信Ａｃｋが受信されて通信エラーがないものと判断される場合、前記生成部が前記第１インスタント公開キーと異なる第２インスタント公開キーを生成する、請求項２に記載の認証装置。
【請求項４】
前記生成部は、ランダムナンバーの生成過程で前記第１インスタント公開キーを生成する、請求項１に記載の認証装置。
【請求項５】
前記認証装置は、ランダムに発生する工程偏差を用いてハードウェアフィンガープリントを提供するＰＵＦ（Ｐｈｙｓｉｃａｌｌｙ  Ｕｎｃｌｏｎａｂｌｅ  Ｆｕｎｃｔｉｏｎ）をさらに含み、
前記ランダムナンバーの生成過程は、前記ハードウェアフィンガープリントをオリジナル値として用いるランダムナンバー生成アルゴリズムを含む、請求項４に記載の認証装置。
【請求項６】
前記算出の結果として、前記第１インスタント公開キーと対を成す前記第１インスタント個人キーが存在しないものと判断される場合、
前記生成部は、前記第１インスタント公開キーと異なる第２インスタント公開キーを生成し、前記算出部は、前記アルゴリズムで前記第２インスタント公開キーと対を成す第２インスタント個人キーを算出する、請求項４に記載の認証装置。
【請求項７】
前記生成部は、前記第２インスタント公開キーを生成するために前記ランダムナンバーの生成過程を行う代わりに、前記第１インスタント公開キーに整数２を加えた数を前記第２インスタント公開キーとして決定して提供する、請求項６に記載の認証装置。
【請求項８】
前記暗号化アルゴリズムがＲＳＡ−ＣＲＴ（Ｃｈｉｎｅｓｅ  Ｒｅｍａｉｎｄｅｒ  Ｔｈｅｏｒｅｍ）アルゴリズムである場合、前記算出部が算出する前記第１インスタント個人キーは第１ｄＰ値及び第１ｄＱ値を含み、
前記算出の結果として、前記第１ｄＰ値及び前記第１ｄＱ値のうちいずれか１つでも存在しないものと判断される場合、
前記生成部は、前記第１インスタント公開キーと異なる第２インスタント公開キーを生成し、前記算出部は、前記アルゴリズムで前記第２インスタント公開キーと対を成す第２ｄＰ値及び第２ｄＱ値を算出する、請求項６に記載の認証装置。
【請求項９】
少なくとも１つのプロセッサを含み、公開キー基盤暗号化アルゴリズムにより相手機器が送信した電子署名を検証する認証装置において、前記認証装置は、前記少なくとも１つのプロセッサによって少なくとも一時的に実現される、
保有していた前記相手機器の固定公開キー及び前記相手機器がインスタントに生成して前記電子署名と共に送信した第１インスタント公開キーを用いて、前記電子署名を検証する処理部を含む認証装置。
【請求項１０】
前記第１インスタント公開キーが３以上の奇数でなければ、前記第１インスタント公開キーを有効でないものと判断する判断部をさらに含む、請求項９に記載の認証装置。
【請求項１１】
前記第１インスタント公開キーが繰り返し生成されたものであれば、前記第１インスタント公開キーを有効でないものと判断する判断部をさらに含む、請求項９に記載の認証装置。
【請求項１２】
少なくとも１つのプロセッサを含む認証装置において、前記認証装置は、前記少なくとも１つのプロセッサによって少なくとも一時的に実現される、
相手機器から受信される第１インスタント公開キーが有効な値であるかを判断する判断部と、
前記第１インスタント公開キーが有効な値である場合、保有していた前記相手機器の固定公開キーと前記第１インスタント公開キーを用いて送信するデータを符号化する処理部と、
を含む認証装置。
【請求項１３】
前記第１インスタント公開キーは、前記相手機器でランダムナンバーの生成過程で生成されたものである、請求項１２に記載の認証装置。
【請求項１４】
前記判断部は、前記第１インスタント公開キーが３以上の奇数でなければ、前記第１インスタント公開キーを有効でないものと判断する、請求項１２に記載の認証装置。
【請求項１５】
前記判断部は、前記第１インスタント公開キーが予め指定された再使用回数以上に繰り返し用いられる場合、前記第１インスタント公開キーを有効でないものと判断する、請求項１２に記載の認証装置。
【請求項１６】
少なくとも１つのプロセッサを含み、公開キー基盤暗号化アルゴリズムによる認証手続を行う認証装置において、前記認証装置は前記少なくとも１つのプロセッサによって少なくとも一時的に実現される、
前記認証手続の実行に応答して、ランダムナンバーの生成過程で第１インスタント公開キーを生成する生成部と、
前記第１インスタント公開キーを用いて、前記アルゴリズムで前記第１インスタント公開キーと対を成す第１インスタント個人キーを算出する算出部と、
前記第１インスタント公開キーが送信された相手機器から、前記相手機器に予め保有している固定公開キーと前記第１インスタント公開キーを用いて符号化したメッセージが受信されれば、前記第１インスタント個人キーを用いて前記メッセージを復号化する処理部と、
を含む認証装置。
【請求項１７】
前記認証装置は、ランダムに発生する工程偏差を用いてハードウェアフィンガープリントを提供するＰＵＦをさらに含み、
前記ランダムナンバーの生成過程は、前記ハードウェアフィンガープリントをオリジナル値として用いるランダムナンバー生成アルゴリズムを含む、請求項１６に記載の認証装置。
【請求項１８】
前記算出の結果として、前記第１インスタント公開キーと対を成す前記第１インスタント個人キーが存在しないものと判断される場合、
前記生成部は、前記第１インスタント公開キーと異なる第２インスタント公開キーを生成し、前記算出部は、前記アルゴリズムで前記第２インスタント公開キーと対を成す第２インスタント個人キーを算出する、請求項１に記載の認証装置。
【請求項１９】
コンピュータで読み出し可能な記録媒体に格納される非一時的的なコンピュータプログラムにおいて、前記プログラムはプロセッサを含むコンピューティング装置で実行される場合に前記プロセッサが、
メッセージに対応する電子署名の生成リクエストに応答して、ランダムナンバーの生成過程で第１インスタント公開キーを生成させる命令語セットと、
前記第１インスタント公開キーを用いて、前記第１インスタント公開キーと対を成す第１インスタント個人キーを算出させる命令語セットと、
前記第１インスタント個人キーを用いて公開キーアルゴリズムによる電子署名を生成させる命令語セットと、
を含むコンピュータで読み出し可能な記録媒体に格納されるプログラム。
【請求項２０】
コンピュータで読み出し可能な記録媒体に格納される非一時的なコンピュータプログラムにおいて、前記プログラムは、プロセッサを含むコンピューティング装置で実行される場合に前記プロセッサが、
相手機器からメッセージ及び電子署名と共に受信された第１インスタント公開キーが有効であるかを判断させる命令語セットと、
前記第１インスタント公開キーが有効である場合、前記コンピューティング装置に格納されていた前記相手機器の固定公開キー及び受信した前記第１インスタント公開キーを用いて前記電子署名を検証させる命令語セットと、
を含むコンピュータで読み出し可能な記録媒体に格納されるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は認証装置及び方法に関し、より詳細に、公開キー暗号アルゴリズム基盤認証装置のセキュリティー攻撃に強く向上された発明に関する。
【背景技術】
【０００２】
機器認証やメッセージ電子署名で公開キー暗号アルゴリズムを用いた署名方式が用いられる。例えば、ＲＳＡ（Ｒｉｖｅｓｔ  Ｓｈａｍｉｒ  Ａｄｌｅｍａｎ）アルゴリズムは、公開キーと個人キーをセットにして暗号化及び復号化を行うインターネット暗号化及び認証方法として、個人キーは機器に、公開キーは認証機関のような相手機器に伝えられて保管される。
【０００３】
一方、ＲＳＡのような公開キーアルゴリズム基盤で個人キーが表示／流出される場合に署名を偽造することがあるため、個人キーはセキュリティー攻撃、例えば、副チャネル攻撃の目標となっている。副チャネル攻撃方法のうち、大量のデータを収集して統計的に分析するＤＰＡ（Ｄｉｆｆｅｒｅｎｔｉａｌ  Ｐｏｗｅｒ  Ａｎａｌｙｓｉｓ）攻撃は極めて強力なものとして知られている。
【０００４】
一方、ＰＵＦ（Ｐｈｙｓｉｃａｌｌｙ  Ｕｎｃｌｏｎａｂｌｅ  Ｆｕｎｃｔｉｏｎ）は、予測不可能なデジタル値を提供し得る。個々のＰＵＦは、正確な製造工程が与えられ、同じ工程で製造されても前記個々のＰＵＦが提供しているデジタル値は異なる。ＰＵＦは複製できないＰＯＷＦ（Ｐｈｙｓｉｃａｌ  Ｏｎｅ−Ｗａｙ  Ｆｕｎｃｔｉｏｎ  ｐｒａｃｔｉｃａｌｌｙ  ｉｍｐｏｓｓｉｂｌｅ  ｔｏ  ｂｅ  ｄｕｐｌｉｃａｔｅｄ）のように称される。
【０００５】
このようなＰＵＦの複製できない特性は、セキュリティー及び／又は認証のための機器の識別子を生成するために用いられる。例えば、デバイスを他のデバイスと区別するためのユニークキーを提供するためにＰＵＦを用いてもよい。
【０００６】
韓国登録特許１０−１１３９６３０号（以下、’６３０特許）において、ＰＵＦを実現する方法が提示されている。’６３０特許では、半導体の工程偏差を用いて半導体の伝導性レイヤ間のインターレイヤコンタクト又はビア（ｖｉａ）生成の有無が確率的に決定されるようにした方法を提示している。
【発明の概要】
【課題を解決するための手段】
【０００７】
実施形態によれば、副チャネルの攻撃に強い認証装置及び認証方法が提示される。例えば、公開キー基盤アルゴリズムを利用しながらもＤＰＡ攻撃を不可能にしたり、また、無意味にさせる認証装置及び方法が提示される。実施形態によれば、公開キー／個人キーの対が固定された値になることで、繰り返して使用されることなく、代わりに、認証が必要な場合にインスタントに生成して用いることができる。
【０００８】
一側面によれば、少なくとも１つのプロセッサを含み、公開キー基盤暗号化アルゴリズム、例えば、非対称キー暗号化アルゴリズムのＲＳＡによる認証手続を行う認証装置が提供される。装置には、すでに生成された固定個人キーｐ、ｑを有している。一態様によれば、装置は、前記アルゴリズムに対応する電子署名が必要な場合に応答して、第１インスタント公開キーを生成する生成部と、前記第１インスタント公開キーを用いて、前記アルゴリズムで前記第１インスタント公開キーと対を成す第１インスタント個人キーを算出する算出部と、前記第１インスタント個人キーを用いて前記アルゴリズムによる電子署名を生成する処理部とを含む。前記生成部、前記算出部、及び前記処理部は、前記少なくとも１つのプロセッサによって少なくとも一時的に実現され得る。一態様によれば、装置は、送信するメッセージを前記電子署名及び前記第１インスタント公開キーと共に相手機器に送信する通信部をさらに含み得る。
【０００９】
一態様によれば、装置は、公開キーキー生成アルゴリズムによって前記固定個人キーを生成して保有している。前記固定個人キーは、前記第１インスタント公開キーを用いて前記第１インスタント個人キーを算出するときと、使用に前もって発給過程で他の機器に伝えられて今後署名の検証にともに用いられる固定公開キーを生成するとき用いられる。例示的で、しかし限定されないように、前記認証装置には、ランダムに発生する工程偏差を用いてハードウェアフィンガープリントを提供するＰＵＦがさらに含まれる。一態様によれば、このＰＵＦの値が前記固定個人キー値で直接又は間接的に用いることができる。この場合、メモリに前記固定個人キーを直接的に格納する必要がなく、物理的な攻撃から前記固定個人キーを保護できる。これは、前記固定個人キーが当該の機器内にのみ存在するという点が保障されるため、他の機器でインスタント公開キー−個人キーの対を任意に作ることができず、また、保障される。また、他の実施形態では、前記ＰＵＦの値がインスタント公開キーを作るために直接又は間接的に用いることもできる。例えば、ランダムナンバーの生成過程におけるシード値又はオリジナル値として用いてもよい。この場合、ＰＵＦをランダムナンバー生成アルゴリズムのオリジナル値として用いることで、機器ごとに生成されるランダムナンバー生成結果が互いに独立的、また、値を互いに相違にするという効果を追加的に期待することができる。
【００１０】
一方、前記相手機器から再送信リクエストの受信に応答して、下記のように対応することができる。単純通信エラーによる再送信リクエストの場合、生成したメッセージを再送信する。しかし、その他の場合は、例えば、誤った署名、又は、攻撃があるものと疑われる場合、第１インスタント公開キーを廃棄し、これとは異なる新しい第２インスタント公開キーを生成して再び電子署名を生成して送信する。
【００１１】
一態様によれば、前記算出結果として、前記第１インスタント公開キーと対を成す前記第１インスタント個人キーが存在しないものと判断される場合、前記生成部は、前記第１インスタント公開キーと異なる第２インスタント公開キーを生成する。すると、前記算出部は前記アルゴリズムで前記第２インスタント公開キーと対を成す第２インスタント個人キーを算出する。一方、前記生成部は、前記第２インスタント公開キーを生成するために前記ランダムナンバーの生成過程を行う代わりに、前記第１インスタント公開キーに整数２を加えた数を前記第２インスタント公開キーとして決定して提供することもできる。第１インスタント公開キーに加えられる「２」という整数は例示的なものであるため、他の値に変更してもよい。もし、前記暗号化アルゴリズムがＲＳＡ−ＣＲＴ（Ｃｈｉｎｅｓｅ  Ｒｅｍａｉｎｄｅｒ  Ｔｈｅｏｒｅｍ）アルゴリズムである場合、前記算出部が算出する前記第１インスタント個人キーは第１ｄＰ値及び第１ｄＱ値を含む。このＲＳＡ−ＣＲＴ実施形態において、前記算出結果による前記第１ｄＰ値及び前記第１ｄＱ値のうちいずれか１つでも存在しないものと判断されれば、前記生成部は前記第１インスタント公開キーと異なる第２インスタント公開キーを生成する。そして、前記算出部は前記アルゴリズムで前記第２インスタント公開キーと対を成す第２ｄＰ値及び第２ｄＱ値を算出する。
【００１２】
他の一側面によれば、少なくとも１つのプロセッサを含み、公開キー基盤暗号化アルゴリズムにより相手機器が送信した電子署名を検証する認証装置、例えば、認証機関（ＣＡ：Ｃｅｒｔｉｆｉｃａｔｉｏｎ  Ａｕｔｈｏｒｉｔｙ）が提供される。装置は、保有していた前記相手機器の固定公開キー、及び前記相手機器がインスタントに生成して前記電子署名と共に送信した第１インスタント公開キーを用いて、前記電子署名を検証する処理部を含む。
【００１３】
一態様によれば、装置は、前記第１インスタント公開キーが３以上の奇数でなければ、前記第１インスタント公開キーを有効でないものと判断する判断部をさらに含む。一方、前記処理部と前記判断部は、前記少なくとも１つのプロセッサによって少なくとも一時的に実現され得る。
【００１４】
更なる一側面によれば、少なくとも１つのプロセッサを含む認証装置において、相手機器から受信される第１インスタント公開キーが有効な値であるかを判断する判断部と、前記第１インスタント公開キーが有効な値である場合、保有していた前記相手機器の固定公開キーと前記第１インスタント公開キーを用いて、送信するデータを符号化する処理部とを含む認証装置が提供される。前記判断部と前記処理部は、前記少なくとも１つのプロセッサによって少なくとも一時的に実現され得る。例示的に、しかし限定されないように、前記第１インスタント公開キーは、前記相手機器でランダムナンバーの生成過程により生成されたものであり得る。
【００１５】
一態様によれば、前記第１インスタント公開キーが３以上の奇数でなければ、前記判断部が前記第１インスタント公開キーを有効でないものと判断する。更なる一側面によれば、少なくとも１つのプロセッサを含み、公開キー基盤暗号化アルゴリズムによる認証手続を行う認証装置が提供される。装置は、前記認証手続の実行に応答して、ランダムナンバーの生成過程で第１インスタント公開キーを生成する生成部と、前記第１インスタント公開キーを用いて、前記アルゴリズムで前記第１インスタント公開キーと対を成す第１インスタント個人キーを算出する算出部と、前記第１インスタント公開キーが送信された相手機器から、前記相手機器に予め保有している固定公開キーと前記第１インスタント公開キーを用いて符号化したメッセージが受信されれば、前記第１インスタント個人キーを用いて前記メッセージを復号化する処理部とを含む。前記生成部、前記算出部、前記処理部は、前記少なくとも１つのプロセッサによって少なくとも一時的に実現され得る。
【００１６】
一態様によれば、前記認証装置には、ランダムに発生する工程偏差を用いてハードウェアフィンガープリントを提供するＰＵＦをさらに含んでいる。この場合、前記ランダムナンバーの生成過程は、前記ハードウェアフィンガープリント値をオリジナル値として用いるランダムナンバー生成アルゴリズムを含む。
【００１７】
一態様によれば、前記算出結果として前記第１インスタント公開キーと対を成す前記第１インスタント個人キーが存在しないものと判断される場合、前記生成部は前記第１インスタント公開キーと異なる第２インスタント公開キーを生成する。そして、前記算出部は前記アルゴリズムで前記第２インスタント公開キーと対を成す第２インスタント個人キーを算出する。
【００１８】
更なる一側面によれば、コンピュータで読み出し可能な記録媒体に格納される非一時的なコンピュータプログラムが提供される。前記プログラムは、プロセッサを含むコンピューティング装置で実行される場合、前記プロセッサを動作させる以下の命令語セットを含む。命令語セットは、前記プロセッサがメッセージに対応する電子署名の生成リクエストに応答して、ランダムナンバーの生成過程で第１インスタント公開キーを生成するようにする命令語セットと、前記プロセッサが前記第１インスタント公開キーを用いて、前記第１インスタント公開キーと対を成す第１インスタント個人キーを算出するようにする命令語セットと、前記プロセッサが前記第１インスタント個人キーを用いて公開キー−アルゴリズムによる電子署名を生成するようにする命令語セットを含む。
【００１９】
更なる一側面によれば、コンピュータで読み出し可能な記録媒体に格納される非一時的なコンピュータプログラムが提供される。前記プログラムはプロセッサを含むコンピューティング装置で実行される場合、前記プロセッサを動作させる以下の命令語セットを含む。命令語セットは、前記プロセッサが相手機器からメッセージ及び電子署名と共に受信された第１インスタント公開キーが有効であるかを判断するようにする命令語セットと、前記プロセッサが前記第１インスタント公開キーが有効な場合、前記コンピューティング装置に格納されていた前記相手機器の固定公開キー、及び受信した前記第１インスタント公開キーを用いて前記電子署名を検証するようにする命令語セットを含む。
【図面の簡単な説明】
【００２０】
【図１】一態様に係るインスタント公開キーとインスタント個人キーを提供する認証装置を示すブロック図である。
【図２】一態様に係る相手側が生成したインスタント公開キーが伝達されて使用する認証装置を示すブロック図である。
【図３】一態様に係る電子署名の検証過程を示すフローチャートである。
【図４】一態様に係る符号化及び復号化過程を示すフローチャートである。
【図５】一態様によりインスタント個人キーが存在しない場合の処理を示すフローチャートである。
【図６】一態様によりＲＳＡ−ＣＲＴアルゴリズム適用時個人キーが存在しない場合の処理を示すフローチャートである。
【発明を実施するための形態】
【００２１】
以下で、実施形態を添付する図面を参照しながら詳細に説明する。しかし、権利範囲はこのような実施形態によって制限されたり限定されることはない。各図面に提示された同一の参照符号は同一の部材を示す。
【００２２】
以下の説明で用いられる用語は、関連する技術分野で一般的かつ普遍的なものにより選択されたが、技術の発達及び／又は変化、慣例、技術者の選好などに応じて他の用語が存在し得る。したがって、下記の説明で用いられる用語は技術的な思想を限定するものとして理解されることなく、実施形態を説明するための例示的な用語として理解されなければならない。
【００２３】
また、特定の場合は、出願人が任意に選定した用語もあり、この場合に該当する説明の部分で詳細な意味を記載すべきである。したがって下記の説明で用いられる用語は単純な用語の名称ではない、その用語が有する意味と明細書の全般にわたった内容に基づいて理解されなければならない。
【００２４】
図１は、一態様によりインスタント公開キーとインスタント個人キーを提供する認証装置を示すブロック図である。装置１００は、少なくとも１つのプロセッサを含むコンピューティング端末の少なくとも一部分である。このコンピューティング端末は例示的なものであり、これに限定されないように、スマートフォン、タブレット、ラップトップ、汎用コンピュータ、サーバ、又は、暗号化通信用専用端末などであってもよい。装置１００は公開キー基盤暗号化アルゴリズム、例えば、ＲＳＡのような非対称キー暗号化アルゴリズムによる認証手続を行う。
【００２５】
一態様によれば、装置１００の生成部１１０は、ＲＳＡアルゴリズムに対応する電子署名が必要な場合に応答して、第１インスタント公開キー「Ｅ」を生成する。このような第１インスタント公開キーＥの生成は、ランダムナンバー生成の過程で実行される。一方、生成されるＥは３以上の奇数でなければならない。少数又は極めて大きい数である場合にも疑似−少数でなければならないためである。生成部１１０は、生成されたＥが奇数であるか、その値が１ではないかを確認する。
【００２６】
一方、一態様によれば、装置１００にはランダムに発生する半導体工程偏差を用いてハードウェアフィンガープリントを提供するＰＵＦ（図示せず）が含まれている。半導体工程偏差を用いてＰＵＦを実現する例は様々である。例示的に、半導体の伝導性レイヤ間に配置されるビア又はインターレイヤコンタクトのランダム形成−形成失敗の結果を用いてＰＵＦが実現され、これを詳細に公開した’６３０特許の明細書が参考としてこの明細書に引用される。
【００２７】
一方、このような例示的な状況で、ＰＵＦが提供しているハードウェアフィンガープリントは前記固定個人キー生成アルゴリズムに用いられる。装置が基本的に有する３０１固定個人キーｐ、ｑは少数であり、これを生成するとき固定個人キーｐ、ｑの候補値としてハードウェアフィンガープリントを用いる。この場合、ハードウェアフィンガープリント値と実際に生成された固定個人キーｐ、ｑ値との差のみをメモリに記録すればよい。記録される値は、３２−ｂｉｔとして充分であるため、その値のみをもって本来の固定個人キーｐ、ｑを推測することができない。また、必要に応じて、ハードウェアフィンガープリント値から固定個人キー値を早く再生産することも可能である。
【００２８】
一方、このような例示的な状況で、ＰＵＦが提供するハードウェアフィンガープリントは、前記ランダムナンバー生成アルゴリズムに用いられてもよい。例えば、ソフトウェア及び／又はハードウェアに動作するランダムナンバーアルゴリズムで求められるオリジナル値、又は、シードキー（ｓｅｅｄ  ｋｅｙ）としてハードウェアフィンガープリントを使用することができる。
【００２９】
【数１】
2017511095.tif 000003
【００３０】
上記の数式（１）によって第１インスタント公開キーＥが生成されれば、算出部１２０は、ＲＳＡ方式で規定された算出方式に基づいてアルゴリズムにより第１インスタント公開キーＥを用いてＥのＲＳＡ対である、言い換えれば、Ｅと対を成す第１インスタント個人キー「Ｄ」を算出する。
【００３１】
【数２】
2017511095.tif 000004
【００３２】
このようにＲＳＡアルゴリズムでキー発給過程の対象である、個人キー公開キーを直ちに生成及び算出することは次のような長所を有する。ＲＳＡ方式で個人キーは｛Ｄ、ｐ、ｑ｝があり、相手側の機器に提供される公開キーは｛Ｅ、Ｎ｝がある。ここで、Ｎはｐとｑの積であり、ＤとＥはＤ×Ｅ＝１ｍｏｄ（ｐ−１）（ｑ−１）の関係が成立つ。他の機器や認証機関に伝えられるＥやＮとは異なって、認証装置の内部にのみ存在する（存在しなければならず）個人キー｛Ｄ、ｐ、ｑ｝はセキュリティー攻撃の対象となる。Ｄが第三者に露出されれば、直接的な電子署名の偽造が可能である。そして、Ｄを知らなくてもｐ及び／又はｑの値を第三者が知ることになると、外部に公開されているＥと共に用いてＤを算出することもできるため、ＲＳＡの暗号化はこれ以上の価値がなくなる。
【００３３】
前述したように、副チャネル攻撃、例えば、ＤＰＡ（Ｄｉｆｆｅｒｅｎｔｉａｌ  Ｐｏｗｅｒ  Ａｎａｌｙｓｉｓ、差分電力分析）は機器の消耗電力波形を分析するが、１つの電流消耗波形のみを観察するＳＰＡ（Ｓｉｍｐｌｅ  Ｐｏｗｅｒ  Ａｎａｌｙｓｉｓ）攻撃とは異なって、実際のキーが用いられた波形を複数収集した後に統計的な分析方法に基づいてＤ、ｐ又はｑを取得し得る。ノイズが激しい環境や電力消耗をシールドして観察し難い場合にＳＰＡ攻撃は成功的でない場合もあるが、依然として、ＤＰＡ攻撃はアルゴリズムの安全に威嚇的である。複数の波形を通した統計的分析過程でノイズなどのその他のアウトライアーは相殺され、有意味なパターンが発見されるためである。
【００３４】
従来におけるＲＳＡ暗号アルゴリズムでは認証装置の固定された個人キーである｛Ｄ、ｐ、ｑ｝を有し、相手側である認証機関が上記の認証装置の固定された公開キーである｛Ｅ、Ｎ｝を有する。したがって、攻撃子が機器に電子署名を繰り返してリクエストする形でＤＰＡに必要な複数の波形を収集し得る可能であることから危険であった。
【００３５】
しかし、前記実施形態によれば、この個人キーと公開キーのうち少なくともＤとＥが固定された値ではない動的に変化する値である。言い換えれば、電子署名のような暗号化アルゴリズムの実行が必要な場合、直ちにしばらくの間に使用するＤとＥを生成する。生成されたＤとＥは一回のみが使用されることから、攻撃子に電子署名が収集されても統計的に無意味なものである。実施形態はこのように固定されることなく動的に変更するＥとＤを生成して使用することによって、ＤＰＡ攻撃などの副チャネル攻撃を基本的に防止することができる。
【００３６】
さらに、前述したように、任意に第１インスタント公開キーＥを生成するために用いられるＰＵＦのハードウェアフィンガープリントは同一に設計されても、その値が異なるため物理的に複製することは不可能である。そして、ＰＵＦ値や構造も外部で観察及び分析することがほとんど不可能である。したがって、このような実施形態によれば、ＰＵＦ値をシードにしてランダムなＥを生成するアルゴリズムそのものを攻撃することも防止できる。
【００３７】
このように第１インスタント公開キーＥが生成され、これを用いてＥの対である第１インスタント個人キーＤが算出されるが、場合によって上記の数式（２）を満足するＤが存在しない場合もある。
【００３８】
Ｄが存在しなければ、有効な「インスタントＤ−インスタントＥの対」が作られないため、生成部１１０が上記した第１インスタント公開キーＥとは異なる第２インスタント公開キーＥ’を生成する。このような第２インスタント公開キーＥ’をもって算出部１２０が数式（２）により第２インスタント個人キーＤ’を算出する。Ｄ’が存在すれば、Ｅ’とＤ’を使用し、そうでなければこの過程を繰り返す。
【００３９】
ここで、生成部１１０が第２インスタント公開キーＥ’を作る過程について、第１インスタント公開キーＥを作ったものと類似に、再度ランダムナンバーの生成過程を行う場合もある。しかし、このような過程よりも簡単な他の実施形態も可能である。例えば、生成部１１０は再度ランダムナンバーの生成過程を行う代わりに、生成されたものの対応するＤが存在していない第１インスタント公開キーＥに整数２を加えた数（言い換えれば、Ｅの真上の奇数）を第２インスタント公開キーＥ’のように決定して提供することもできる。ここで、Ｅ’を生成するためにＥに加えられる「２」という整数は例示的なものであり、他の値に変更され得る。Ｄの存在の有無に応じてＥを再度生成することについては図５を参照して説明することにする。
【００４０】
一方、前記暗号化アルゴリズムがＣＲＴ（Ｃｈｉｎｅｓｅ  Ｒｅｍａｉｎｄｅｒ  Ｔｈｅｏｒｅｍ）を用いるアルゴリズムであってもよいが、この場合、Ｅをもって算出されなければならないインスタント個人キーはＤ１つでなく、数式（３）と数式（４）により算出される｛ｄＰ、ｄＱ｝であってもよい。
【００４１】
【数３】
2017511095.tif 000005
【数４】
2017511095.tif 000006
【００４２】
このＲＳＡ−ＣＲＴの実施形態において、算出部１２０の算出によりＥに対応する有効なｄＰ値及び有効なｄＱ値のいずれか１つでも存在しないと判断されれば、同様にＥを再び生成しなければならない。この場合も、ランダムナンバーの生成過程を再び行うが、Ｅに２を加えて簡単にＥ’を決定し、該Ｅ’に対応するｄＰ’値及びｄＱ’値を算出することもできる。詳しい内容は図６を参照して再び説明する。
【００４３】
以上の過程で有効なインスタント公開キー（Ｅ）とインスタント個人キー（Ｄ又は｛ｄＰ、ｄＱ｝）が決定されれば、これによってＲＳＡ方式の暗号化アルゴリズムが実行され得る。メッセージＭを署名して電子署名Ｓを生成すれば、処理部１３０が次のような過程を行う。
【００４４】
【数５】
2017511095.tif 000007
【００４５】
ＧｅｎＳｉｇｎ（）は電子署名の生成関数として、ＲＳＡアルゴリズムにより規定されている。通信部１４０は、生成された電子署名ＳをメッセージＭと共に相手側の機器（例えば、認証機関）に送信するが、従来とは異なって上で生成したインスタント公開キーＥも共に送信する。すると、相手側の機器はこのインスタント公開キーＥをすでに保有していた装置１００の固定公開キーＮと共に用いて電子署名Ｓを検証する。以上の過程については図３を参照して再び説明することにする。
【００４６】
一方、このように送信されたインスタント公開キーＥを用いて相手側の機器がメッセージを符号化して送信されれば、装置１００は持っているインスタント個人キーＤ（又はｄＰ、ｄＱ）をｐ、ｑと共に用いてメッセージを復号化する。このような過程については図４を参照して後述することにする。
【００４７】
このように実施形態によってセキュリティー攻撃の危険は極めて低下されるが、予想される数個の更なる攻撃が試みられる場合もあり、このような攻撃は次のような実施形態によって実現され得る。攻撃子が極めて短い時間にキーの再送信を数回要求することがある。一態様に係る装置１００は、通信エラーの場合にインスタント個人キーを再使用して署名を再生成することなく、すでに生成された署名を再送信するだけである。そして、通信エラーではない場合、すでに生成されたインスタント公開キーを廃棄し、新しいインスタント公開キーを生成する。通信エラーであるか否かは送信メッセージに対する通信Ａｃｋが受信されるか否かにより確認される。相手側の機器側から行う攻撃防止の代案については図２を参考してより詳細に説明する。
【００４８】
図２は、一態様により相手側が生成したインスタント公開キーが伝達されて使用する認証装置を示すブロック図である。装置２００は、例えば、認証機関（ＣＡ：Ｃｅｒｔｉｆｉｃａｔｉｏｎ  Ａｕｔｈｏｒｉｔｙ）であり得る。そして、装置２００は、少なくとも１つのプロセッサを含むコンピューティング端末の少なくとも一部分であってもよく、後述する判断部２１０と処理部２２０は前記プロセッサによって少なくとも一時的に実現され得る。
【００４９】
一態様に係る装置２００は、保有していた前記相手機器の固定公開キーＮと、図１を参照して説明したように相手機器がインスタントに生成してメッセージＭ、電子署名Ｓと共に送信した第１インスタント公開キーＥを用いて電子署名Ｓを検証する処理部２２０を含む。
【００５０】
メッセージを符号化して相手機器に送らなければならない場合、処理部２２０は、保有していた相手機器の固定公開キーＮと、すでに伝達された第１インスタント公開キーＥを用いて送信するデータＭを符号化する。Ｍが正常に符号化されたＭ’が相手機器に送信されれば、相手機器は自身の固定個人キーｐ、ｑとインスタント個人キーＤ（又はｄＰとｄＱ）を用いてＭ’をＭに復号化する。
【００５１】
一方、一態様によれば、装置２００は、相手機器から送信されたインスタント公開キーＥが有効であるか否かを判断する判断部２１０をさらに含む。攻撃子がＥとＤを全て１にして電子署名を生成し、これを伝達する攻撃については予想することができる。この場合、電子署名の生成及び検証演算は実際に行われない。ＥとＤは、ＲＳＡ演算で指数値として用いられるため、値が１であれば、符号化／復号化のためにメッセージの「１」自乗することは演算しないものと同一である。ここで、認証機関ＣＡの立場から見れば、署名の検証結果が有効として算出され得る。したがって、このような状況を防止するために判断部２１０は相手機器から伝達されたインスタント公開キーＥが３以上の奇数であるかを確認する。これによって、Ｅが偶数であるかＥが１であれば、有効でないＥとして判断できる。
【００５２】
さらに、他の一態様に係る判断部２１０は、Ｅが指定された再使用回数以上に繰り返し使用される場合、これを非常な状況として認識してインスタント公開キーＥを有効でないものと取り扱う。
【００５３】
図３は、一態様に係る電子署名の検証過程を示すフローチャートである。上述したように、従来のＲＳＡとの差異点は、機器の固定された個人キーＤを有することなく、相手認証機関もこの機器の固定された公開キーＥを有しない点である。したがって、実施形態によれば、図１〜図２を参照して上述したように、認証が必要な場合にインスタント公開キーＥと、これによって算出されるインスタント個人キーＤが生成して活用される。
【００５４】
図示した実施形態において、機器はリザーバ３０１にｐとｑのみを有している。そして、認証機関はこの機器の固定公開キーのうちＮのみを有する。認証が必要な場合、ステップＳ３１０が実行される。ステップＳ３１０は、ランダムナンバーの生成過程でランダムなインスタント公開キーＥが生成される過程であり、生成されるＥは３以上の奇数である。インスタントＥの生成及びその有効性の検証については図１を参照して説明した通りである。
【００５５】
ステップＳ３２０において、インスタント公開キーＥのＲＳＡ対であるＤが算出される。ＲＳＡで規定された方式に基づくため、この分野の当業者によってＤの算出は容易に理解されるのである。ステップＳ３３０において、送信するメッセージＭに対する電子署名Ｓが生成される。そして、ステップＳ３４０において、メッセージＭ、電子署名Ｓと共に前記インスタント公開キーＥが認証機関に送信される。すると、認証機関は、電子署名検証アルゴリズムを行うステップＳ３５０において、すでに伝達されたＥを予め有するＮと共に使用する。ステップＳ３５０の実行に前もって、認証機関は、伝達されたＥが有効であるかを検証する過程を経ってもよく、これについては図２を参照して詳細に説明した通りである。
【００５６】
図４は、一態様に係る符号化及び復号化過程を示すフローチャートである。認証機関がメッセージＭを符号化して機器に送信する過程が示されている。認証機関は、ステップＳ４１０において、予め保有している相手機器の固定公開キーＮと、既に伝達されたインスタント公開キーＥを用いて送信するデータＭを符号化する。そして、ステップＳ４２０において、符号化されたメッセージＭ’が機器に送信され、機器は、ステップＳ４３０において自身の固定個人キーｐ、ｑとインスタント個人キーＤ（又はｄＰとｄＱ）を用いてＭ’をＭに復号化し得る。
【００５７】
図５は、一態様によりインスタント個人キーが存在しない場合の処理を示すフローチャートである。ステップＳ５１０において、機器の生成部がランダムナンバーの生成過程でインスタント公開器Ｅを生成する。そして、ステップＳ５２０において、機器の算出部がＥを用いて数式（２）によりＥのＲＳＡ対であるインスタント個人キーＤを算出する。ステップＳ５３０において、この有効なＤが存在する場合、図１〜図４を参照して説明したように、インスタントＤとインスタントＥを用いた認証過程が実行される。
【００５８】
しかし、ステップＳ５３０の判断としてＤが存在しない場合は、機器の生成部は、先のインスタント公開キーＥと異なる第２インスタント公開キーＥ’を生成する。このような過程は再びランダムナンバーの生成過程を経ったものであるが、図５に示す例では、より簡単な実施形態を提示する。ステップＳ５４０において、すでに生成されたがＤが存在しなくて使用できないインスタント公開キーＥに整数２を加える。このような過程が有効なＥ−Ｄの対が生じるまで繰り返す。
【００５９】
図６は、一態様によりＲＳＡ−ＣＲＴアルゴリズムの適用時に個人キーが存在しない場合の処理を示すフローチャートである。まず、ＣＲＴを使用しない上記の実施形態の場合に署名を生成するときと、ＣＲＴを使用する場合に署名を生成するときとを比較すれば次の表の通りである。
【００６０】
【表１】
2017511095.tif 000008
【００６１】
表１において、Ｍ”はＲＳＡ署名フォーマットに適するようにメッセージＭのハッシュ値にパッディングなどを追加した値である。表１から確認されるようにＣＲＴを用いる場合に式が複雑になるものの、ＲＳＡ演算で演算量の相当な部分を占める「ｍｏｄｕｌａｒ  ｅｘｐｏｎｅｎｔｉａｔｉｏｎ」の処理データ長が１／２になるため、ＣＲＴを使用しない場合に比べてかえって演算速度が４倍〜８倍ほど速くなる。
【００６２】
ランダムなインスタント公開キーＥが生成された後、ＣＲＴが使用される場合（Ｓ６１０）、ステップＳ６２０でｄＰが算出され、このｄＰが存在するかを判断する（Ｓ６３０）。ｄＱの存在有無に関わらずｄＰが存在しなければ、Ｅを使用することができない。したがって、ステップＳ６３１において、Ｅに２を加えた数を再びＥに指定してｄＰを算出する過程を、ｄＰが存在するまで繰り返す。もちろん、先に説明したように、ステップＳ６３１は、選択的な実施形態であるため、ランダムナンバーの生成過程で完全に新しいＥを再び生成することも可能である。
【００６３】
ｄＰが存在する場合、ｄＱに対しても同じ過程が繰り返される。ｄＱの算出（Ｓ６４０）及び存在の有無判断（Ｓ６５０）及びｄＱが存在しないことによるＥの再生成（Ｓ６５１）は、ステップＳ６２０、Ｓ６３０、及びＳ６３１に説明した通りである。そして、有効なｄＰとｄＱが全て存在する場合、ステップＳ６６０において、ＣＲＴを用いる暗号化アルゴリズムが実行され得る。
【００６４】
上述した実施形態に係る効果及び性能イシューを説明することにする。実施形態のうち、ＰＵＦハードウェアフィンガープリントをオリジナル値にするランダムナンバー生成の場合、外部の攻撃が不可能である。ＥとＤの対を常に再生成して用いてもＥの値が極めて小さければ（例えば、１６ｂｉｔ未満）、同一のＥ−Ｄの対が偶然に使用されることもあるが、これについてはＥを僅かに増大することで防止される。Ｅの大きさが大きくなる場合、電子署名の検証に必要な演算量は増加するものの、このような演算を行う認証機関のハードウェアリソースを考慮すれば負担にならない程度である。したがって、Ｅ値の大きさは性能を低下しないレベルで十分に大きい値、例えば、１２８ｂｉｔ以上に決定される。
【００６５】
一方、実施形態によりＥ−Ｄの対が持続的に再生成されることで発生する性能低下も大きくない。Ｅ−Ｄの対を生成する演算の時間複雑度はキーの長さｎに比例して（時間複雑度Ｏ（ｎ））、署名生成演算は、実現の方式によってキーの長さｎの自乗又は三乗に比例する（時間複雑度Ｏ（ｎ２）又はＯ（ｎ３））。ところで、最近、用いられるＲＳＡの最低キーの長さは１０２４、２０４８ｂｉｔ以上であるため、Ｅ−Ｄの対を生成する演算時間は署名生成時間の数千分の１に当該し、この程度の消耗時間は全体的に見ると、その比重を無視できるほどの小さい。したがって、実施形態によると、ハードウェア的な無理又は性能低下なしでＤＰＡのような副チャネル攻撃を基本的に防止することができる。
【００６６】
本実施形態による方法は、多様なコンピュータ手段を介して実施されるプログラム命令の形態で具現され、コンピュータ読み取り可能な記録媒体に記録される。記録媒体は、プログラム命令、データファイル、データ構造などを単独又は組合せて含む。記録媒体及びプログラム命令は、本発明の目的のために特別に設計して構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知のものであり使用可能なものであってもよい。コンピュータ読み取り可能な記録媒体の例としては、ハードディスク、フロッピー（登録商標）ディスク及び磁気テープのような磁気媒体、ＣＤ−ＲＯＭ、ＤＶＤのような光記録媒体、フロプティカルディスクのような磁気−光媒体、及びＲＯＭ、ＲＡＭ、フラッシュメモリなどのようなプログラム命令を格納して実行するように特別に構成されたハードウェア装置を含む。プログラム命令の例としては、コンパイラによって生成されるような機械語コードだけでなく、インタプリタなどを用いてコンピュータによって実行される高級言語コードを含む。ハードウェア装置は、本発明の動作を実行するために１つ以上のソフトウェアモジュールとして作動するように構成してもよく、その逆も同様である。
【００６７】
以上、本発明の実施形態について図面を参照しながら詳細に説明したが、本発明は、上述の実施形態に限定されるものではなく、本発明の技術的範囲から逸脱しない範囲内で多様に変更実施することが可能である。
【図１】
2017511095.tif 000009
【図２】
2017511095.tif 000010
【図３】
2017511095.tif 000011
【図４】
2017511095.tif 000012
【図５】
2017511095.tif 000013
【図６】
2017511095.tif 000014
【国際調査報告】
2017511095.tif 000015
2017511095.tif 000016
2017511095.tif 000017
2017511095.tif 000018