図面 (/)

この項目の情報は公開日時点(2017年4月13日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (7)

課題・解決手段

公開キー暗号化アルゴリズムを用いる認証装置提示する。装置は、メッセージに対応する電子署名生成リクエスト応答して、ランダムナンバー生成過程で第1インスタント公開キーを生成する。そして、前記第1インスタント公開キーを用いて前記第1インスタント公開キーと対を成す第1インスタント個人キーを算出する。

概要

背景

機器認証やメッセージ電子署名公開キー暗号アルゴリズムを用いた署名方式が用いられる。例えば、RSA(Rivest Shamir Adleman)アルゴリズムは、公開キーと個人キーをセットにして暗号化及び復号化を行うインターネット暗号化及び認証方法として、個人キーは機器に、公開キーは認証機関のような相手機器に伝えられて保管される。

一方、RSAのような公開キーアルゴリズム基盤で個人キーが表示/流出される場合に署名偽造することがあるため、個人キーはセキュリティー攻撃、例えば、副チャネル攻撃の目標となっている。副チャネル攻撃方法のうち、大量のデータを収集して統計的に分析するDPA(Differential Power Analysis)攻撃は極めて強力なものとして知られている。

一方、PUF(Physically Unclonable Function)は、予測不可能デジタル値を提供し得る。個々のPUFは、正確な製造工程が与えられ、同じ工程で製造されても前記個々のPUFが提供しているデジタル値は異なる。PUFは複製できないPOWF(Physical One−Way Function practically impossible to be duplicated)のように称される。

このようなPUFの複製できない特性は、セキュリティー及び/又は認証のための機器の識別子を生成するために用いられる。例えば、デバイスを他のデバイスと区別するためのユニークキーを提供するためにPUFを用いてもよい。

韓国登録特許10−1139630号(以下、’630特許)において、PUFを実現する方法が提示されている。’630特許では、半導体工程偏差を用いて半導体の伝導性レイヤ間インターレイヤコンタクト又はビア(via)生成の有無が確率的に決定されるようにした方法を提示している。

概要

公開キー暗号化アルゴリズムを用いる認証装置を提示する。装置は、メッセージに対応する電子署名の生成リクエスト応答して、ランダムナンバー生成過程で第1インスタント公開キーを生成する。そして、前記第1インスタント公開キーを用いて前記第1インスタント公開キーと対を成す第1インスタント個人キーを算出する。

目的

例示的で、しかし限定されないように、前記認証装置には、ランダムに発生する工程偏差を用いてハードウェアフィンガープリントを提供する

効果

実績

技術文献被引用数
0件
牽制数
1件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

少なくとも1つのプロセッサを含み、公開キー基盤暗号化アルゴリズムによる認証手続を行う認証装置において、前記認証装置は、前記少なくとも1つのプロセッサによって少なくとも一時的に実現される、前記アルゴリズムに対応する電子署名が必要な場合に応答して、第1インスタント公開キーを生成する生成部と、前記第1インスタント公開キーを用いて、前記アルゴリズムで前記第1インスタント公開キーと対を成す第1インスタント個人キーを算出する算出部と、前記第1インスタント個人キーを用いて前記アルゴリズムによる電子署名を生成する処理部と、を含む、認証装置。

請求項2

送信するメッセージを前記電子署名及び前記第1インスタント公開キーと共に相手機器に送信する通信部をさらに含む、請求項1に記載の認証装置。

請求項3

記相手機器から再送信リクエストが受信されることに応答して、通信Ackが受信されて通信エラーがないものと判断される場合、前記生成部が前記第1インスタント公開キーと異なる第2インスタント公開キーを生成する、請求項2に記載の認証装置。

請求項4

前記生成部は、ランダムナンバー生成過程で前記第1インスタント公開キーを生成する、請求項1に記載の認証装置。

請求項5

前記認証装置は、ランダムに発生する工程偏差を用いてハードウェアフィンガープリントを提供するPUF(PhysicallyUnclonableFunction)をさらに含み、前記ランダムナンバーの生成過程は、前記ハードウェアフィンガープリントをオリジナル値として用いるランダムナンバー生成アルゴリズムを含む、請求項4に記載の認証装置。

請求項6

前記算出の結果として、前記第1インスタント公開キーと対を成す前記第1インスタント個人キーが存在しないものと判断される場合、前記生成部は、前記第1インスタント公開キーと異なる第2インスタント公開キーを生成し、前記算出部は、前記アルゴリズムで前記第2インスタント公開キーと対を成す第2インスタント個人キーを算出する、請求項4に記載の認証装置。

請求項7

前記生成部は、前記第2インスタント公開キーを生成するために前記ランダムナンバーの生成過程を行う代わりに、前記第1インスタント公開キーに整数2を加えた数を前記第2インスタント公開キーとして決定して提供する、請求項6に記載の認証装置。

請求項8

前記暗号化アルゴリズムがRSA−CRT(ChineseRemainderTheorem)アルゴリズムである場合、前記算出部が算出する前記第1インスタント個人キーは第1dP値及び第1dQ値を含み、前記算出の結果として、前記第1dP値及び前記第1dQ値のうちいずれか1つでも存在しないものと判断される場合、前記生成部は、前記第1インスタント公開キーと異なる第2インスタント公開キーを生成し、前記算出部は、前記アルゴリズムで前記第2インスタント公開キーと対を成す第2dP値及び第2dQ値を算出する、請求項6に記載の認証装置。

請求項9

少なくとも1つのプロセッサを含み、公開キー基盤暗号化アルゴリズムにより相手機器が送信した電子署名を検証する認証装置において、前記認証装置は、前記少なくとも1つのプロセッサによって少なくとも一時的に実現される、保有していた前記相手機器の固定公開キー及び前記相手機器がインスタントに生成して前記電子署名と共に送信した第1インスタント公開キーを用いて、前記電子署名を検証する処理部を含む認証装置。

請求項10

前記第1インスタント公開キーが3以上の奇数でなければ、前記第1インスタント公開キーを有効でないものと判断する判断部をさらに含む、請求項9に記載の認証装置。

請求項11

前記第1インスタント公開キーが繰り返し生成されたものであれば、前記第1インスタント公開キーを有効でないものと判断する判断部をさらに含む、請求項9に記載の認証装置。

請求項12

少なくとも1つのプロセッサを含む認証装置において、前記認証装置は、前記少なくとも1つのプロセッサによって少なくとも一時的に実現される、相手機器から受信される第1インスタント公開キーが有効な値であるかを判断する判断部と、前記第1インスタント公開キーが有効な値である場合、保有していた前記相手機器の固定公開キーと前記第1インスタント公開キーを用いて送信するデータを符号化する処理部と、を含む認証装置。

請求項13

前記第1インスタント公開キーは、前記相手機器でランダムナンバーの生成過程で生成されたものである、請求項12に記載の認証装置。

請求項14

前記判断部は、前記第1インスタント公開キーが3以上の奇数でなければ、前記第1インスタント公開キーを有効でないものと判断する、請求項12に記載の認証装置。

請求項15

前記判断部は、前記第1インスタント公開キーが予め指定された再使用回数以上に繰り返し用いられる場合、前記第1インスタント公開キーを有効でないものと判断する、請求項12に記載の認証装置。

請求項16

少なくとも1つのプロセッサを含み、公開キー基盤暗号化アルゴリズムによる認証手続を行う認証装置において、前記認証装置は前記少なくとも1つのプロセッサによって少なくとも一時的に実現される、前記認証手続の実行に応答して、ランダムナンバーの生成過程で第1インスタント公開キーを生成する生成部と、前記第1インスタント公開キーを用いて、前記アルゴリズムで前記第1インスタント公開キーと対を成す第1インスタント個人キーを算出する算出部と、前記第1インスタント公開キーが送信された相手機器から、前記相手機器に予め保有している固定公開キーと前記第1インスタント公開キーを用いて符号化したメッセージが受信されれば、前記第1インスタント個人キーを用いて前記メッセージを復号化する処理部と、を含む認証装置。

請求項17

前記認証装置は、ランダムに発生する工程偏差を用いてハードウェアフィンガープリントを提供するPUFをさらに含み、前記ランダムナンバーの生成過程は、前記ハードウェアフィンガープリントをオリジナル値として用いるランダムナンバー生成アルゴリズムを含む、請求項16に記載の認証装置。

請求項18

前記算出の結果として、前記第1インスタント公開キーと対を成す前記第1インスタント個人キーが存在しないものと判断される場合、前記生成部は、前記第1インスタント公開キーと異なる第2インスタント公開キーを生成し、前記算出部は、前記アルゴリズムで前記第2インスタント公開キーと対を成す第2インスタント個人キーを算出する、請求項1に記載の認証装置。

請求項19

コンピュータ読み出し可能な記録媒体に格納される非一時的的なコンピュータプログラムにおいて、前記プログラムはプロセッサを含むコンピューティング装置で実行される場合に前記プロセッサが、メッセージに対応する電子署名の生成リクエストに応答して、ランダムナンバーの生成過程で第1インスタント公開キーを生成させる命令語セットと、前記第1インスタント公開キーを用いて、前記第1インスタント公開キーと対を成す第1インスタント個人キーを算出させる命令語セットと、前記第1インスタント個人キーを用いて公開キーアルゴリズムによる電子署名を生成させる命令語セットと、を含むコンピュータで読み出し可能な記録媒体に格納されるプログラム。

請求項20

コンピュータで読み出し可能な記録媒体に格納される非一時的なコンピュータプログラムにおいて、前記プログラムは、プロセッサを含むコンピューティング装置で実行される場合に前記プロセッサが、相手機器からメッセージ及び電子署名と共に受信された第1インスタント公開キーが有効であるかを判断させる命令語セットと、前記第1インスタント公開キーが有効である場合、前記コンピューティング装置に格納されていた前記相手機器の固定公開キー及び受信した前記第1インスタント公開キーを用いて前記電子署名を検証させる命令語セットと、を含むコンピュータで読み出し可能な記録媒体に格納されるプログラム。

技術分野

0001

本発明は認証装置及び方法に関し、より詳細に、公開キー暗号アルゴリズム基盤認証装置のセキュリティー攻撃に強く向上された発明に関する。

背景技術

0002

機器認証やメッセージ電子署名で公開キー暗号アルゴリズムを用いた署名方式が用いられる。例えば、RSA(Rivest Shamir Adleman)アルゴリズムは、公開キーと個人キーをセットにして暗号化及び復号化を行うインターネット暗号化及び認証方法として、個人キーは機器に、公開キーは認証機関のような相手機器に伝えられて保管される。

0003

一方、RSAのような公開キーアルゴリズム基盤で個人キーが表示/流出される場合に署名偽造することがあるため、個人キーはセキュリティー攻撃、例えば、副チャネル攻撃の目標となっている。副チャネル攻撃方法のうち、大量のデータを収集して統計的に分析するDPA(Differential Power Analysis)攻撃は極めて強力なものとして知られている。

0004

一方、PUF(Physically Unclonable Function)は、予測不可能デジタル値を提供し得る。個々のPUFは、正確な製造工程が与えられ、同じ工程で製造されても前記個々のPUFが提供しているデジタル値は異なる。PUFは複製できないPOWF(Physical One−Way Function practically impossible to be duplicated)のように称される。

0005

このようなPUFの複製できない特性は、セキュリティー及び/又は認証のための機器の識別子を生成するために用いられる。例えば、デバイスを他のデバイスと区別するためのユニークキーを提供するためにPUFを用いてもよい。

0006

韓国登録特許10−1139630号(以下、’630特許)において、PUFを実現する方法が提示されている。’630特許では、半導体工程偏差を用いて半導体の伝導性レイヤ間インターレイヤコンタクト又はビア(via)生成の有無が確率的に決定されるようにした方法を提示している。

課題を解決するための手段

0007

実施形態によれば、副チャネルの攻撃に強い認証装置及び認証方法が提示される。例えば、公開キー基盤アルゴリズムを利用しながらもDPA攻撃を不可能にしたり、また、無意味にさせる認証装置及び方法が提示される。実施形態によれば、公開キー/個人キーの対が固定された値になることで、繰り返して使用されることなく、代わりに、認証が必要な場合にインスタントに生成して用いることができる。

0008

一側面によれば、少なくとも1つのプロセッサを含み、公開キー基盤暗号化アルゴリズム、例えば、非対称キー暗号化アルゴリズムのRSAによる認証手続を行う認証装置が提供される。装置には、すでに生成された固定個人キーp、qを有している。一態様によれば、装置は、前記アルゴリズムに対応する電子署名が必要な場合に応答して、第1インスタント公開キーを生成する生成部と、前記第1インスタント公開キーを用いて、前記アルゴリズムで前記第1インスタント公開キーと対を成す第1インスタント個人キーを算出する算出部と、前記第1インスタント個人キーを用いて前記アルゴリズムによる電子署名を生成する処理部とを含む。前記生成部、前記算出部、及び前記処理部は、前記少なくとも1つのプロセッサによって少なくとも一時的に実現され得る。一態様によれば、装置は、送信するメッセージを前記電子署名及び前記第1インスタント公開キーと共に相手機器に送信する通信部をさらに含み得る。

0009

一態様によれば、装置は、公開キーキー生成アルゴリズムによって前記固定個人キーを生成して保有している。前記固定個人キーは、前記第1インスタント公開キーを用いて前記第1インスタント個人キーを算出するときと、使用に前もって発給過程で他の機器に伝えられて今後署名の検証にともに用いられる固定公開キーを生成するとき用いられる。例示的で、しかし限定されないように、前記認証装置には、ランダムに発生する工程偏差を用いてハードウェアフィンガープリントを提供するPUFがさらに含まれる。一態様によれば、このPUFの値が前記固定個人キー値で直接又は間接的に用いることができる。この場合、メモリに前記固定個人キーを直接的に格納する必要がなく、物理的な攻撃から前記固定個人キーを保護できる。これは、前記固定個人キーが当該の機器内にのみ存在するという点が保障されるため、他の機器でインスタント公開キー−個人キーの対を任意に作ることができず、また、保障される。また、他の実施形態では、前記PUFの値がインスタント公開キーを作るために直接又は間接的に用いることもできる。例えば、ランダムナンバー生成過程におけるシード値又はオリジナル値として用いてもよい。この場合、PUFをランダムナンバー生成アルゴリズムのオリジナル値として用いることで、機器ごとに生成されるランダムナンバー生成結果が互いに独立的、また、値を互いに相違にするという効果を追加的に期待することができる。

0010

一方、前記相手機器から再送信リクエストの受信に応答して、下記のように対応することができる。単純通信エラーによる再送信リクエストの場合、生成したメッセージを再送信する。しかし、その他の場合は、例えば、誤った署名、又は、攻撃があるものと疑われる場合、第1インスタント公開キーを廃棄し、これとは異なる新しい第2インスタント公開キーを生成して再び電子署名を生成して送信する。

0011

一態様によれば、前記算出結果として、前記第1インスタント公開キーと対を成す前記第1インスタント個人キーが存在しないものと判断される場合、前記生成部は、前記第1インスタント公開キーと異なる第2インスタント公開キーを生成する。すると、前記算出部は前記アルゴリズムで前記第2インスタント公開キーと対を成す第2インスタント個人キーを算出する。一方、前記生成部は、前記第2インスタント公開キーを生成するために前記ランダムナンバーの生成過程を行う代わりに、前記第1インスタント公開キーに整数2を加えた数を前記第2インスタント公開キーとして決定して提供することもできる。第1インスタント公開キーに加えられる「2」という整数は例示的なものであるため、他の値に変更してもよい。もし、前記暗号化アルゴリズムがRSA−CRT(Chinese Remainder Theorem)アルゴリズムである場合、前記算出部が算出する前記第1インスタント個人キーは第1dP値及び第1dQ値を含む。このRSA−CRT実施形態において、前記算出結果による前記第1dP値及び前記第1dQ値のうちいずれか1つでも存在しないものと判断されれば、前記生成部は前記第1インスタント公開キーと異なる第2インスタント公開キーを生成する。そして、前記算出部は前記アルゴリズムで前記第2インスタント公開キーと対を成す第2dP値及び第2dQ値を算出する。

0012

他の一側面によれば、少なくとも1つのプロセッサを含み、公開キー基盤暗号化アルゴリズムにより相手機器が送信した電子署名を検証する認証装置、例えば、認証機関(CA:Certification Authority)が提供される。装置は、保有していた前記相手機器の固定公開キー、及び前記相手機器がインスタントに生成して前記電子署名と共に送信した第1インスタント公開キーを用いて、前記電子署名を検証する処理部を含む。

0013

一態様によれば、装置は、前記第1インスタント公開キーが3以上の奇数でなければ、前記第1インスタント公開キーを有効でないものと判断する判断部をさらに含む。一方、前記処理部と前記判断部は、前記少なくとも1つのプロセッサによって少なくとも一時的に実現され得る。

0014

更なる一側面によれば、少なくとも1つのプロセッサを含む認証装置において、相手機器から受信される第1インスタント公開キーが有効な値であるかを判断する判断部と、前記第1インスタント公開キーが有効な値である場合、保有していた前記相手機器の固定公開キーと前記第1インスタント公開キーを用いて、送信するデータを符号化する処理部とを含む認証装置が提供される。前記判断部と前記処理部は、前記少なくとも1つのプロセッサによって少なくとも一時的に実現され得る。例示的に、しかし限定されないように、前記第1インスタント公開キーは、前記相手機器でランダムナンバーの生成過程により生成されたものであり得る。

0015

一態様によれば、前記第1インスタント公開キーが3以上の奇数でなければ、前記判断部が前記第1インスタント公開キーを有効でないものと判断する。更なる一側面によれば、少なくとも1つのプロセッサを含み、公開キー基盤暗号化アルゴリズムによる認証手続を行う認証装置が提供される。装置は、前記認証手続の実行に応答して、ランダムナンバーの生成過程で第1インスタント公開キーを生成する生成部と、前記第1インスタント公開キーを用いて、前記アルゴリズムで前記第1インスタント公開キーと対を成す第1インスタント個人キーを算出する算出部と、前記第1インスタント公開キーが送信された相手機器から、前記相手機器に予め保有している固定公開キーと前記第1インスタント公開キーを用いて符号化したメッセージが受信されれば、前記第1インスタント個人キーを用いて前記メッセージを復号化する処理部とを含む。前記生成部、前記算出部、前記処理部は、前記少なくとも1つのプロセッサによって少なくとも一時的に実現され得る。

0016

一態様によれば、前記認証装置には、ランダムに発生する工程偏差を用いてハードウェアフィンガープリントを提供するPUFをさらに含んでいる。この場合、前記ランダムナンバーの生成過程は、前記ハードウェアフィンガープリント値をオリジナル値として用いるランダムナンバー生成アルゴリズムを含む。

0017

一態様によれば、前記算出結果として前記第1インスタント公開キーと対を成す前記第1インスタント個人キーが存在しないものと判断される場合、前記生成部は前記第1インスタント公開キーと異なる第2インスタント公開キーを生成する。そして、前記算出部は前記アルゴリズムで前記第2インスタント公開キーと対を成す第2インスタント個人キーを算出する。

0018

更なる一側面によれば、コンピュータ読み出し可能な記録媒体に格納される非一時的なコンピュータプログラムが提供される。前記プログラムは、プロセッサを含むコンピューティング装置で実行される場合、前記プロセッサを動作させる以下の命令語セットを含む。命令語セットは、前記プロセッサがメッセージに対応する電子署名の生成リクエストに応答して、ランダムナンバーの生成過程で第1インスタント公開キーを生成するようにする命令語セットと、前記プロセッサが前記第1インスタント公開キーを用いて、前記第1インスタント公開キーと対を成す第1インスタント個人キーを算出するようにする命令語セットと、前記プロセッサが前記第1インスタント個人キーを用いて公開キー−アルゴリズムによる電子署名を生成するようにする命令語セットを含む。

0019

更なる一側面によれば、コンピュータで読み出し可能な記録媒体に格納される非一時的なコンピュータプログラムが提供される。前記プログラムはプロセッサを含むコンピューティング装置で実行される場合、前記プロセッサを動作させる以下の命令語セットを含む。命令語セットは、前記プロセッサが相手機器からメッセージ及び電子署名と共に受信された第1インスタント公開キーが有効であるかを判断するようにする命令語セットと、前記プロセッサが前記第1インスタント公開キーが有効な場合、前記コンピューティング装置に格納されていた前記相手機器の固定公開キー、及び受信した前記第1インスタント公開キーを用いて前記電子署名を検証するようにする命令語セットを含む。

図面の簡単な説明

0020

一態様に係るインスタント公開キーとインスタント個人キーを提供する認証装置を示すブロック図である。
一態様に係る相手側が生成したインスタント公開キーが伝達されて使用する認証装置を示すブロック図である。
一態様に係る電子署名の検証過程を示すフローチャートである。
一態様に係る符号化及び復号化過程を示すフローチャートである。
一態様によりインスタント個人キーが存在しない場合の処理を示すフローチャートである。
一態様によりRSA−CRTアルゴリズム適用時個人キーが存在しない場合の処理を示すフローチャートである。

実施例

0021

以下で、実施形態を添付する図面を参照しながら詳細に説明する。しかし、権利範囲はこのような実施形態によって制限されたり限定されることはない。各図面に提示された同一の参照符号は同一の部材を示す。

0022

以下の説明で用いられる用語は、関連する技術分野で一般的かつ普遍的なものにより選択されたが、技術の発達及び/又は変化、慣例、技術者選好などに応じて他の用語が存在し得る。したがって、下記の説明で用いられる用語は技術的な思想を限定するものとして理解されることなく、実施形態を説明するための例示的な用語として理解されなければならない。

0023

また、特定の場合は、出願人が任意に選定した用語もあり、この場合に該当する説明の部分で詳細な意味を記載すべきである。したがって下記の説明で用いられる用語は単純な用語の名称ではない、その用語が有する意味と明細書の全般にわたった内容に基づいて理解されなければならない。

0024

図1は、一態様によりインスタント公開キーとインスタント個人キーを提供する認証装置を示すブロック図である。装置100は、少なくとも1つのプロセッサを含むコンピューティング端末の少なくとも一部分である。このコンピューティング端末は例示的なものであり、これに限定されないように、スマートフォンタブレットラップトップ汎用コンピュータサーバ、又は、暗号化通信用専用端末などであってもよい。装置100は公開キー基盤暗号化アルゴリズム、例えば、RSAのような非対称キー暗号化アルゴリズムによる認証手続を行う。

0025

一態様によれば、装置100の生成部110は、RSAアルゴリズムに対応する電子署名が必要な場合に応答して、第1インスタント公開キー「E」を生成する。このような第1インスタント公開キーEの生成は、ランダムナンバー生成の過程で実行される。一方、生成されるEは3以上の奇数でなければならない。少数又は極めて大きい数である場合にも疑似−少数でなければならないためである。生成部110は、生成されたEが奇数であるか、その値が1ではないかを確認する。

0026

一方、一態様によれば、装置100にはランダムに発生する半導体工程偏差を用いてハードウェアフィンガープリントを提供するPUF(図示せず)が含まれている。半導体工程偏差を用いてPUFを実現する例は様々である。例示的に、半導体の伝導性レイヤ間に配置されるビア又はインターレイヤコンタクトのランダム形成−形成失敗の結果を用いてPUFが実現され、これを詳細に公開した’630特許の明細書が参考としてこの明細書に引用される。

0027

一方、このような例示的な状況で、PUFが提供しているハードウェアフィンガープリントは前記固定個人キー生成アルゴリズムに用いられる。装置が基本的に有する301固定個人キーp、qは少数であり、これを生成するとき固定個人キーp、qの候補値としてハードウェアフィンガープリントを用いる。この場合、ハードウェアフィンガープリント値と実際に生成された固定個人キーp、q値との差のみをメモリに記録すればよい。記録される値は、32−bitとして充分であるため、その値のみをもって本来の固定個人キーp、qを推測することができない。また、必要に応じて、ハードウェアフィンガープリント値から固定個人キー値を早く再生産することも可能である。

0028

一方、このような例示的な状況で、PUFが提供するハードウェアフィンガープリントは、前記ランダムナンバー生成アルゴリズムに用いられてもよい。例えば、ソフトウェア及び/又はハードウェアに動作するランダムナンバーアルゴリズムで求められるオリジナル値、又は、シードキー(seed key)としてハードウェアフィンガープリントを使用することができる。

0029

0030

上記の数式(1)によって第1インスタント公開キーEが生成されれば、算出部120は、RSA方式で規定された算出方式に基づいてアルゴリズムにより第1インスタント公開キーEを用いてEのRSA対である、言い換えれば、Eと対を成す第1インスタント個人キー「D」を算出する。

0031

0032

このようにRSAアルゴリズムでキー発給過程の対象である、個人キー公開キーを直ちに生成及び算出することは次のような長所を有する。RSA方式で個人キーは{D、p、q}があり、相手側の機器に提供される公開キーは{E、N}がある。ここで、Nはpとqの積であり、DとEはD×E=1mod(p−1)(q−1)の関係が成立つ。他の機器や認証機関に伝えられるEやNとは異なって、認証装置の内部にのみ存在する(存在しなければならず)個人キー{D、p、q}はセキュリティー攻撃の対象となる。Dが第三者露出されれば、直接的な電子署名の偽造が可能である。そして、Dを知らなくてもp及び/又はqの値を第三者が知ることになると、外部に公開されているEと共に用いてDを算出することもできるため、RSAの暗号化はこれ以上の価値がなくなる。

0033

前述したように、副チャネル攻撃、例えば、DPA(Differential Power Analysis、差分電力分析)は機器の消耗電力波形を分析するが、1つの電流消耗波形のみを観察するSPA(Simple Power Analysis)攻撃とは異なって、実際のキーが用いられた波形を複数収集した後に統計的な分析方法に基づいてD、p又はqを取得し得る。ノイズが激しい環境や電力消耗シールドして観察し難い場合にSPA攻撃は成功的でない場合もあるが、依然として、DPA攻撃はアルゴリズムの安全に威嚇的である。複数の波形を通した統計的分析過程でノイズなどのその他のアウトライアーは相殺され、有意味パターン発見されるためである。

0034

従来におけるRSA暗号アルゴリズムでは認証装置の固定された個人キーである{D、p、q}を有し、相手側である認証機関が上記の認証装置の固定された公開キーである{E、N}を有する。したがって、攻撃子が機器に電子署名を繰り返してリクエストする形でDPAに必要な複数の波形を収集し得る可能であることから危険であった。

0035

しかし、前記実施形態によれば、この個人キーと公開キーのうち少なくともDとEが固定された値ではない動的に変化する値である。言い換えれば、電子署名のような暗号化アルゴリズムの実行が必要な場合、直ちにしばらくの間に使用するDとEを生成する。生成されたDとEは一回のみが使用されることから、攻撃子に電子署名が収集されても統計的に無意味なものである。実施形態はこのように固定されることなく動的に変更するEとDを生成して使用することによって、DPA攻撃などの副チャネル攻撃を基本的に防止することができる。

0036

さらに、前述したように、任意に第1インスタント公開キーEを生成するために用いられるPUFのハードウェアフィンガープリントは同一に設計されても、その値が異なるため物理的に複製することは不可能である。そして、PUF値や構造も外部で観察及び分析することがほとんど不可能である。したがって、このような実施形態によれば、PUF値をシードにしてランダムなEを生成するアルゴリズムそのものを攻撃することも防止できる。

0037

このように第1インスタント公開キーEが生成され、これを用いてEの対である第1インスタント個人キーDが算出されるが、場合によって上記の数式(2)を満足するDが存在しない場合もある。

0038

Dが存在しなければ、有効な「インスタントD−インスタントEの対」が作られないため、生成部110が上記した第1インスタント公開キーEとは異なる第2インスタント公開キーE’を生成する。このような第2インスタント公開キーE’をもって算出部120が数式(2)により第2インスタント個人キーD’を算出する。D’が存在すれば、E’とD’を使用し、そうでなければこの過程を繰り返す。

0039

ここで、生成部110が第2インスタント公開キーE’を作る過程について、第1インスタント公開キーEを作ったものと類似に、再度ランダムナンバーの生成過程を行う場合もある。しかし、このような過程よりも簡単な他の実施形態も可能である。例えば、生成部110は再度ランダムナンバーの生成過程を行う代わりに、生成されたものの対応するDが存在していない第1インスタント公開キーEに整数2を加えた数(言い換えれば、Eの真上の奇数)を第2インスタント公開キーE’のように決定して提供することもできる。ここで、E’を生成するためにEに加えられる「2」という整数は例示的なものであり、他の値に変更され得る。Dの存在の有無に応じてEを再度生成することについては図5を参照して説明することにする。

0040

一方、前記暗号化アルゴリズムがCRT(Chinese Remainder Theorem)を用いるアルゴリズムであってもよいが、この場合、Eをもって算出されなければならないインスタント個人キーはD1つでなく、数式(3)と数式(4)により算出される{dP、dQ}であってもよい。

0041

0042

このRSA−CRTの実施形態において、算出部120の算出によりEに対応する有効なdP値及び有効なdQ値のいずれか1つでも存在しないと判断されれば、同様にEを再び生成しなければならない。この場合も、ランダムナンバーの生成過程を再び行うが、Eに2を加えて簡単にE’を決定し、該E’に対応するdP’値及びdQ’値を算出することもできる。詳しい内容は図6を参照して再び説明する。

0043

以上の過程で有効なインスタント公開キー(E)とインスタント個人キー(D又は{dP、dQ})が決定されれば、これによってRSA方式の暗号化アルゴリズムが実行され得る。メッセージMを署名して電子署名Sを生成すれば、処理部130が次のような過程を行う。

0044

0045

GenSign()は電子署名の生成関数として、RSAアルゴリズムにより規定されている。通信部140は、生成された電子署名SをメッセージMと共に相手側の機器(例えば、認証機関)に送信するが、従来とは異なって上で生成したインスタント公開キーEも共に送信する。すると、相手側の機器はこのインスタント公開キーEをすでに保有していた装置100の固定公開キーNと共に用いて電子署名Sを検証する。以上の過程については図3を参照して再び説明することにする。

0046

一方、このように送信されたインスタント公開キーEを用いて相手側の機器がメッセージを符号化して送信されれば、装置100は持っているインスタント個人キーD(又はdP、dQ)をp、qと共に用いてメッセージを復号化する。このような過程については図4を参照して後述することにする。

0047

このように実施形態によってセキュリティー攻撃の危険は極めて低下されるが、予想される数個の更なる攻撃が試みられる場合もあり、このような攻撃は次のような実施形態によって実現され得る。攻撃子が極めて短い時間にキーの再送信を数回要求することがある。一態様に係る装置100は、通信エラーの場合にインスタント個人キーを再使用して署名を再生成することなく、すでに生成された署名を再送信するだけである。そして、通信エラーではない場合、すでに生成されたインスタント公開キーを廃棄し、新しいインスタント公開キーを生成する。通信エラーであるか否かは送信メッセージに対する通信Ackが受信されるか否かにより確認される。相手側の機器側から行う攻撃防止の代案については図2を参考してより詳細に説明する。

0048

図2は、一態様により相手側が生成したインスタント公開キーが伝達されて使用する認証装置を示すブロック図である。装置200は、例えば、認証機関(CA:Certification Authority)であり得る。そして、装置200は、少なくとも1つのプロセッサを含むコンピューティング端末の少なくとも一部分であってもよく、後述する判断部210と処理部220は前記プロセッサによって少なくとも一時的に実現され得る。

0049

一態様に係る装置200は、保有していた前記相手機器の固定公開キーNと、図1を参照して説明したように相手機器がインスタントに生成してメッセージM、電子署名Sと共に送信した第1インスタント公開キーEを用いて電子署名Sを検証する処理部220を含む。

0050

メッセージを符号化して相手機器に送らなければならない場合、処理部220は、保有していた相手機器の固定公開キーNと、すでに伝達された第1インスタント公開キーEを用いて送信するデータMを符号化する。Mが正常に符号化されたM’が相手機器に送信されれば、相手機器は自身の固定個人キーp、qとインスタント個人キーD(又はdPとdQ)を用いてM’をMに復号化する。

0051

一方、一態様によれば、装置200は、相手機器から送信されたインスタント公開キーEが有効であるか否かを判断する判断部210をさらに含む。攻撃子がEとDを全て1にして電子署名を生成し、これを伝達する攻撃については予想することができる。この場合、電子署名の生成及び検証演算は実際に行われない。EとDは、RSA演算指数値として用いられるため、値が1であれば、符号化/復号化のためにメッセージの「1」自乗することは演算しないものと同一である。ここで、認証機関CAの立場から見れば、署名の検証結果が有効として算出され得る。したがって、このような状況を防止するために判断部210は相手機器から伝達されたインスタント公開キーEが3以上の奇数であるかを確認する。これによって、Eが偶数であるかEが1であれば、有効でないEとして判断できる。

0052

さらに、他の一態様に係る判断部210は、Eが指定された再使用回数以上に繰り返し使用される場合、これを非常な状況として認識してインスタント公開キーEを有効でないものと取り扱う。

0053

図3は、一態様に係る電子署名の検証過程を示すフローチャートである。上述したように、従来のRSAとの差異点は、機器の固定された個人キーDを有することなく、相手認証機関もこの機器の固定された公開キーEを有しない点である。したがって、実施形態によれば、図1図2を参照して上述したように、認証が必要な場合にインスタント公開キーEと、これによって算出されるインスタント個人キーDが生成して活用される。

0054

図示した実施形態において、機器はリザーバ301にpとqのみを有している。そして、認証機関はこの機器の固定公開キーのうちNのみを有する。認証が必要な場合、ステップS310が実行される。ステップS310は、ランダムナンバーの生成過程でランダムなインスタント公開キーEが生成される過程であり、生成されるEは3以上の奇数である。インスタントEの生成及びその有効性の検証については図1を参照して説明した通りである。

0055

ステップS320において、インスタント公開キーEのRSA対であるDが算出される。RSAで規定された方式に基づくため、この分野の当業者によってDの算出は容易に理解されるのである。ステップS330において、送信するメッセージMに対する電子署名Sが生成される。そして、ステップS340において、メッセージM、電子署名Sと共に前記インスタント公開キーEが認証機関に送信される。すると、認証機関は、電子署名検証アルゴリズムを行うステップS350において、すでに伝達されたEを予め有するNと共に使用する。ステップS350の実行に前もって、認証機関は、伝達されたEが有効であるかを検証する過程を経ってもよく、これについては図2を参照して詳細に説明した通りである。

0056

図4は、一態様に係る符号化及び復号化過程を示すフローチャートである。認証機関がメッセージMを符号化して機器に送信する過程が示されている。認証機関は、ステップS410において、予め保有している相手機器の固定公開キーNと、既に伝達されたインスタント公開キーEを用いて送信するデータMを符号化する。そして、ステップS420において、符号化されたメッセージM’が機器に送信され、機器は、ステップS430において自身の固定個人キーp、qとインスタント個人キーD(又はdPとdQ)を用いてM’をMに復号化し得る。

0057

図5は、一態様によりインスタント個人キーが存在しない場合の処理を示すフローチャートである。ステップS510において、機器の生成部がランダムナンバーの生成過程でインスタント公開器Eを生成する。そして、ステップS520において、機器の算出部がEを用いて数式(2)によりEのRSA対であるインスタント個人キーDを算出する。ステップS530において、この有効なDが存在する場合、図1図4を参照して説明したように、インスタントDとインスタントEを用いた認証過程が実行される。

0058

しかし、ステップS530の判断としてDが存在しない場合は、機器の生成部は、先のインスタント公開キーEと異なる第2インスタント公開キーE’を生成する。このような過程は再びランダムナンバーの生成過程を経ったものであるが、図5に示す例では、より簡単な実施形態を提示する。ステップS540において、すでに生成されたがDが存在しなくて使用できないインスタント公開キーEに整数2を加える。このような過程が有効なE−Dの対が生じるまで繰り返す。

0059

図6は、一態様によりRSA−CRTアルゴリズムの適用時に個人キーが存在しない場合の処理を示すフローチャートである。まず、CRTを使用しない上記の実施形態の場合に署名を生成するときと、CRTを使用する場合に署名を生成するときとを比較すれば次の表の通りである。

0060

0061

表1において、M”はRSA署名フォーマットに適するようにメッセージMのハッシュ値パッディングなどを追加した値である。表1から確認されるようにCRTを用いる場合に式が複雑になるものの、RSA演算で演算量の相当な部分を占める「modular exponentiation」の処理データ長が1/2になるため、CRTを使用しない場合に比べてかえって演算速度が4倍〜8倍ほど速くなる。

0062

ランダムなインスタント公開キーEが生成された後、CRTが使用される場合(S610)、ステップS620でdPが算出され、このdPが存在するかを判断する(S630)。dQの存在有無に関わらずdPが存在しなければ、Eを使用することができない。したがって、ステップS631において、Eに2を加えた数を再びEに指定してdPを算出する過程を、dPが存在するまで繰り返す。もちろん、先に説明したように、ステップS631は、選択的な実施形態であるため、ランダムナンバーの生成過程で完全に新しいEを再び生成することも可能である。

0063

dPが存在する場合、dQに対しても同じ過程が繰り返される。dQの算出(S640)及び存在の有無判断(S650)及びdQが存在しないことによるEの再生成(S651)は、ステップS620、S630、及びS631に説明した通りである。そして、有効なdPとdQが全て存在する場合、ステップS660において、CRTを用いる暗号化アルゴリズムが実行され得る。

0064

上述した実施形態に係る効果及び性能イシューを説明することにする。実施形態のうち、PUFハードウェアフィンガープリントをオリジナル値にするランダムナンバー生成の場合、外部の攻撃が不可能である。EとDの対を常に再生成して用いてもEの値が極めて小さければ(例えば、16bit未満)、同一のE−Dの対が偶然に使用されることもあるが、これについてはEを僅かに増大することで防止される。Eの大きさが大きくなる場合、電子署名の検証に必要な演算量は増加するものの、このような演算を行う認証機関のハードウェアリソースを考慮すれば負担にならない程度である。したがって、E値の大きさは性能を低下しないレベルで十分に大きい値、例えば、128bit以上に決定される。

0065

一方、実施形態によりE−Dの対が持続的に再生成されることで発生する性能低下も大きくない。E−Dの対を生成する演算の時間複雑度はキーの長さnに比例して(時間複雑度O(n))、署名生成演算は、実現の方式によってキーの長さnの自乗又は三乗に比例する(時間複雑度O(n2)又はO(n3))。ところで、最近、用いられるRSAの最低キーの長さは1024、2048bit以上であるため、E−Dの対を生成する演算時間は署名生成時間の数千分の1に当該し、この程度の消耗時間は全体的に見ると、その比重を無視できるほどの小さい。したがって、実施形態によると、ハードウェア的な無理又は性能低下なしでDPAのような副チャネル攻撃を基本的に防止することができる。

0066

本実施形態による方法は、多様なコンピュータ手段を介して実施されるプログラム命令の形態で具現され、コンピュータ読み取り可能な記録媒体に記録される。記録媒体は、プログラム命令、データファイルデータ構造などを単独又は組合せて含む。記録媒体及びプログラム命令は、本発明の目的のために特別に設計して構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知のものであり使用可能なものであってもよい。コンピュータ読み取り可能な記録媒体の例としては、ハードディスクフロッピー登録商標ディスク及び磁気テープのような磁気媒体CD−ROM、DVDのような光記録媒体フロティカルディスクのような磁気光媒体、及びROM、RAM、フラッシュメモリなどのようなプログラム命令を格納して実行するように特別に構成されたハードウェア装置を含む。プログラム命令の例としては、コンパイラによって生成されるような機械語コードだけでなく、インタプリタなどを用いてコンピュータによって実行される高級言語コードを含む。ハードウェア装置は、本発明の動作を実行するために1つ以上のソフトウェアモジュールとして作動するように構成してもよく、その逆も同様である。

0067

以上、本発明の実施形態について図面を参照しながら詳細に説明したが、本発明は、上述の実施形態に限定されるものではなく、本発明の技術的範囲から逸脱しない範囲内で多様に変更実施することが可能である。

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ