Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP5368903B2 - プロトコルの安全性を検証する検証装置、検証方法および検証プログラム - Google Patents
[go: Go Back, main page]

JP5368903B2 - プロトコルの安全性を検証する検証装置、検証方法および検証プログラム - Google Patents

プロトコルの安全性を検証する検証装置、検証方法および検証プログラム Download PDF

Info

Publication number
JP5368903B2
JP5368903B2 JP2009175037A JP2009175037A JP5368903B2 JP 5368903 B2 JP5368903 B2 JP 5368903B2 JP 2009175037 A JP2009175037 A JP 2009175037A JP 2009175037 A JP2009175037 A JP 2009175037A JP 5368903 B2 JP5368903 B2 JP 5368903B2
Authority
JP
Japan
Prior art keywords
verification
protocol
security
type
cryptographic
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2009175037A
Other languages
English (en)
Other versions
JP2011030039A (ja
Inventor
陽基 太田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
KDDI Corp
Original Assignee
KDDI Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by KDDI Corp filed Critical KDDI Corp
Priority to JP2009175037A priority Critical patent/JP5368903B2/ja
Publication of JP2011030039A publication Critical patent/JP2011030039A/ja
Application granted granted Critical
Publication of JP5368903B2 publication Critical patent/JP5368903B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、認証や鍵共有等のセキュリティ機能を有する認証または鍵交換のプロトコルの安全性を検証する検証装置、検証方法および検証プログラムに関する。
従来、プロトコル設計者の有するセキュリティや暗号技術の見識に基づき、経験的に安全な認証または鍵交換のプロトコルが提案されてきた。しかしながら、提案された認証または鍵交換のプロトコルの仕様が公開された後に、セキュリティ上の脆弱性が指摘される場合があった。標準化された認証または鍵交換のプロトコルが製品等を通じて広く普及した後に脆弱性が発見されると、製品等の改修に関わるコストが大きな問題となる。
特に、致命的な脆弱性が発見された場合には、経済的な損害を回避するため、ソフトウェアのパッチの充当やハードウェアのチップや部品の交換等、早急に対処する必要が生じる。したがって、提案された認証または鍵交換のプロトコルや関連製品が普及するほど、社会的な影響は非常に大きくなり、場合によってはシステム全体が破綻してしまう可能性もある。
そこで、「汎用結合可能安全性」と呼ばれる概念を利用した、認証または鍵交換のプロトコルの安全性を検証するための装置、方法およびプログラムが提案されている(例えば、特許文献1、特許文献2参照)。ここで、「汎用結合可能安全性」とは、ある認証または鍵交換のプロトコルがそのセキュリティ機能に関する理想機能を安全に実現するならば、この認証または鍵交換のプロトコルは安全であることを意味している。例えば、ある鍵交換プロトコルが鍵交換理想機能を安全に実現するならば、この鍵交換プロトコルは安全であることが示されたことになる。
特開2007−28447号公報 特開2008−35117号公報
上記の「汎用結合可能安全性」は、現在最も強力な安全性であると言われており、理想機能はセキュリティ機能に要求される全ての安全性を網羅する。そのため、ある認証または鍵交換のプロトコルがその理想機能を安全に実現するとき、この認証または鍵交換のプロトコルはセキュリティ機能に要求される全ての安全性を満足することになる。
ところが、プロトコルの安全性と効率性とはトレードオフの関係にあるため、認証または鍵交換のプロトコルの安全性を高くするほど効率性は低くなる。そのため、認証または鍵交換のプロトコルの効率性を重要視するときには、許容される限度まで安全性を低くしてよい。しかしながら、上記の先行技術では、認証または鍵交換のプロトコルの厳密な安全性を検証することはできても、安全性のレベルに応じた検証を行うことができない。
そこで、本発明は、認証または鍵交換のプロトコルを安全性のレベルに応じて検証することができる検証装置、検証方法および検証プログラムを提供することを目的とする。
本発明では、以下のような解決手段を提供する。
(1) 認証または鍵交換のプロトコルの安全性を検証する検証装置であって、
前記プロトコルにおいて使用されている暗号プリミティブの役割に対して設定される所定のフレームワークに適合する、前記認証のプロトコルにおける鍵漏洩なりすまし攻撃に対する安全性および検出不可能なオンライン辞書攻撃に対する安全性のそれぞれの要件を満たすための検証項目と、前記鍵交換のプロトコルにおける未知鍵共有攻撃に対する安全性、強前方秘匿性(strong forward secrecy)、弱後方秘匿性(weak backward secrecy)および検出不可能なオンライン辞書攻撃に対する安全性のそれぞれの要件を満たすための検証項目と、の少なくとも一部を記憶する記憶部と、
前記プロトコルにおいて使用されている暗号プリミティブの種類を設定する種類設定部と、
前記種類設定部により種類が設定された暗号プリミティブの役割を設定する役割設定部と、
前記プロトコルにおけるデータ値の種類と状態、または暗号プリミティブの関数値の種類と状態とを示す要素を設定する要素設定部と、
要求に応じて検証対象の安全性を選択する安全性選択部と、
前記安全性選択部により選択された安全性それぞれに関する検証項目を前記記憶部から抽出し、前記暗号プリミティブの種類および役割ならびに前記要素設定部により設定された要素に基づいて、当該検証項目を満足するか否かを判定する検証項目判定部と、
前記検証項目判定部により前記選択された全ての安全性に関する検証項目を満足していると判定された場合に、前記プロトコルが安全であると判定する安全性判定部と、を備える検証装置。
(2) 前記フレームワークは、g(f(A,B),C)と表現され、
関数gの役割は、前記認証のプロトコルにおける認証の対象となる第1の暗号プリミティブ、前記鍵交換のプロトコルにおける鍵生成対象となる第2の暗号プリミティブ、フロー上に現れる第3の暗号プリミティブ、または前記第1から第3の暗号プリミティブおよび前記第1から第3の暗号プリミティブの引数に含まれる第4の暗号プリミティブのいずれでもない第5の暗号プリミティブのいずれかであり、
関数fの役割は、関数gの役割が前記第1から第3の暗号プリミティブのいずれかである場合には、前記第4の暗号プリミティブであり、関数gの役割が前記第5の暗号プリミティブである場合には、前記第1から第3の暗号プリミティブのいずれかであり、
引数A、BおよびCは、暗号プリミティブの関数値またはデータ値であることを特徴とする(1)に記載の検証装置。
(3) 前記フレームワークの関数に設定される前記第1から第4の暗号プリミティブの種類は、共通鍵暗号、パスワードを用いた暗号化、公開鍵暗号、Diffie−Hellman族、ディジタル署名、ハッシュ関数またはメッセージ認証コードのいずれかであり、
当該関数の引数は、一般データ、IDデータ、テンポラリデータ、長期鍵、パスワード、関数固定値または関数テンポラリ値と、公開状態または秘密状態と、の組合せを示す要素値であることを特徴とする(2)に記載の検証装置。
(4) 前記認証または鍵交換のプロトコルにおける検証項目は、関数gおよび関数fの種類と、引数A、引数Bおよび引数Cのそれぞれに設定される要素値と、の組合せであることを特徴とする(3)に記載の検証装置。
(5) コンピュータが認証または鍵交換のプロトコルの安全性を検証する検証方法であって、
当該コンピュータは、前記プロトコルにおいて使用されている暗号プリミティブの役割に対して設定される所定のフレームワークに適合する、前記認証のプロトコルにおける鍵漏洩なりすまし攻撃に対する安全性および検出不可能なオンライン辞書攻撃に対する安全性のそれぞれの要件を満たすための検証項目と、前記鍵交換のプロトコルにおける未知鍵共有攻撃に対する安全性、強前方秘匿性(strong forward secrecy)、弱後方秘匿性(weak backward secrecy)および検出不可能なオンライン辞書攻撃に対する安全性のそれぞれの要件を満たすための検証項目と、の少なくとも一部を記憶する記憶部を備え、
前記プロトコルにおいて使用されている暗号プリミティブの種類を設定する種類設定ステップと、
前記種類設定ステップにより種類が設定された暗号プリミティブの役割を設定する役割設定ステップと、
前記プロトコルにおけるデータ値の種類と状態、または暗号プリミティブの関数値の種類と状態とを示す要素を設定する要素設定ステップと、
要求に応じて検証対象の安全性を選択する安全性選択ステップと、
前記安全性選択ステップにより選択された安全性それぞれに関する検証項目を前記記憶部から抽出し、前記暗号プリミティブの種類および役割ならびに前記要素設定ステップにより設定された要素に基づいて、当該検証項目を満足するか否かを判定する検証項目判定ステップと、
前記検証項目判定ステップにより前記選択された全ての安全性に関する検証項目を満足していると判定された場合に、前記プロトコルが安全であると判定する安全性判定ステップと、を含む検証方法。
(6) コンピュータに認証または鍵交換のプロトコルの安全性を検証させる検証プログラムであって、
当該コンピュータは、前記プロトコルにおいて使用されている暗号プリミティブの役割に対して設定される所定のフレームワークに適合する、前記認証のプロトコルにおける鍵漏洩なりすまし攻撃に対する安全性および検出不可能なオンライン辞書攻撃に対する安全性のそれぞれの要件を満たすための検証項目と、前記鍵交換のプロトコルにおける未知鍵共有攻撃に対する安全性、強前方秘匿性(strong forward secrecy)、弱後方秘匿性(weak backward secrecy)および検出不可能なオンライン辞書攻撃に対する安全性のそれぞれの要件を満たすための検証項目と、の少なくとも一部を記憶する記憶部を備え、
前記プロトコルにおいて使用されている暗号プリミティブの種類を設定する種類設定ステップと、
前記種類設定ステップにより種類が設定された暗号プリミティブの役割を設定する役割設定ステップと、
前記プロトコルにおけるデータ値の種類と状態、または暗号プリミティブの関数値の種類と状態とを示す要素を設定する要素設定ステップと、
要求に応じて検証対象の安全性を選択する安全性選択ステップと、
前記安全性選択ステップにより選択された安全性それぞれに関する検証項目を前記記憶部から抽出し、前記暗号プリミティブの種類および役割ならびに前記要素設定ステップにより設定された要素に基づいて、当該検証項目を満足するか否かを判定する検証項目判定ステップと、
前記検証項目判定ステップにより前記選択された全ての安全性に関する検証項目を満足していると判定された場合に、前記プロトコルが安全であると判定する安全性判定ステップと、を実行させる検証プログラム。
本発明によれば、認証または鍵交換のプロトコルを安全性のレベルに応じて検証することができる。
本発明の実施形態に係る各攻撃に関係するデータと、フレームワーク内の関数の組合せと、を示した図である。 本発明の実施形態に係るMC−RKCIの検証項目を示す図である。 本発明の実施形態に係るSS−RUKSの検証項目を示す図である。 本発明の実施形態に係るSS−SFSの検証項目を示す図である。 本発明の実施形態に係るSS−WBSの検証項目を示す図である。 本発明の実施形態に係るRUODAの検証項目を示す図である。 本発明の実施形態に係る検証装置の構成を示す図である。 本発明の実施形態に係る検証方法の流れを示すフローチャートである。
以下、本発明の実施形態の一例について説明する。
<セキュリティモデル>
まず、認証または鍵交換のプロトコルの安全性レベルに関するセキュリティモデルを示す。本実施形態では、計算量理論に基づいて認証または鍵交換のプロトコルの安全性を証明する「証明可能安全性」と呼ばれる概念を用いる。「認証または鍵交換のプロトコルが証明可能安全性を有する」とは、認証または鍵交換のプロトコルの安全性が、ある暗号プリミティブの安全性に帰着することを計算量理論的に証明可能であることを示している。すなわち、ある認証または鍵交換のプロトコルを破ることができる攻撃者は、ある暗号プリミティブを多項式時間で破るマシンを構成可能であることを証明することにより、この暗号プリミティブが破られなければ、認証または鍵交換のプロトコルも破られないことを証明する。
上記の証明可能安全性において、認証プロトコルではmatching conversation、鍵交換プロトコルではsemantic securityという安全性の概念がある。それぞれの概念に対し、認証または鍵交換のプロトコルに要求される以下のような安全性要件が存在する。なお、括弧内は各安全性を示す略記号である。
・matching conversation(MC)
この安全性は、認証プロトコルにおいて、攻撃者が一方のパーティから受信したメッセージをそのままもう一方のパーティへ送ること以外に何もできないことを示す。すなわち、攻撃者はメッセージの改ざんや新規メッセージの送付、メッセージの遮断、メッセージの順番の入れ替え等の不正を行うことができないことを示す。
(a)鍵漏洩なりすまし攻撃に対する安全性(MC−RKCI)
攻撃者が共通鍵暗号の共通鍵やパスワード、公開鍵暗号の秘密鍵等のあるパーティの長期鍵を得ることができたとしても、そのパーティ以外のパーティになりすますことはできないことを示す。
・semantic security(SS)
この安全性は、鍵交換プロトコルにおいて、攻撃者はセッション鍵に関するどんな情報も得ることができないことを示す。すなわち、攻撃者はセッション鍵と乱数を多項式時間で区別することができないことを示す。
(b)未知鍵共有攻撃に対する安全性(SS−RUKS)
あるパーティが正しいと思っているパーティとは別のパーティとセッション鍵を共有することができないことを示す。
(c)strong forward secrecy(SS−SFS)
攻撃者が共通鍵暗号の共通鍵やパスワード、公開鍵暗号の秘密鍵等のパーティの長期鍵と内部状態を得ることができたとしても、それ以前に共有されたセッション鍵を得ることはできないことを示す。
(d)weak backward secrecy(SS−WBS)
攻撃者がパーティの内部状態を得ることができたとしても、そのセッション以降に共有されたセッション鍵を得ることはできないことを示す。
・共通の安全性要件
この安全性は、認証および鍵交換のプロトコルに共通の安全性要件である。
(e)検出不可能なオンライン辞書攻撃に対する安全性(RUODA)
パスワードを登録してあるパーティに対して、攻撃者がパスワードを問い合わせていることを検出することができることを示す。
ただし、長期鍵を使用しない認証または鍵交換のプロトコルの場合、(a)MC−RKCIおよび(c)SS−SFSの安全性は要求されない。特に、パスワードを使用しない認証または鍵交換のプロトコルの場合、(e)RUODAの安全性は要求されない。
ここで、認証または鍵交換のプロトコルにおいて使用されている暗号プリミティブの種類は以下の目的を有する関数である。なお、括弧内は各暗号プリミティブの種類を示す略記号である。
・共通鍵暗号(SKE):事前共有鍵を用いた暗号化目的の関数
・パスワードを用いた暗号化(EPW):事前共有パスワードを用いた暗号化目的の関数
・公開鍵暗号(PKE):公開鍵を用いた暗号化目的の関数
・Diffie−Hellman族(DH):Diffie−Hellman法を用いた鍵交換目的の関数
・ディジタル署名(SIG):署名鍵を用いて署名を生成する目的の関数
・ハッシュ関数(HF):事前共有鍵を用いずにダイジェストを生成する目的の関数
・メッセージ認証コード(MAC):事前共有鍵を用いてダイジェストを生成する目的の関数
これらの種類は、暗号プリミティブの関数が担っている目的により分類される。例えば、事前共有鍵を用いてダイジェストを生成しているハッシュ関数は、メッセージ認証コードの目的を担っているため、MACに分類される。
また、上記の暗号プリミティブの種類に設定される役割は以下の通りである。なお、括弧内は各役割を示す略記号である。
・認証プロトコルにおける認証対象となる暗号プリミティブ(PAG)
・鍵交換プロトコルにおける鍵生成対象となる暗号プリミティブ(PKG)
・フロー上に現れる暗号プリミティブ(PAF)
・PAG、PKGまたはPAFの引数に含まれる暗号プリミティブ(PAO)
・PAG、PKG、PAF、PAOのいずれでもない暗号プリミティブ(PNA)
これらの役割に対して使用されるフレームワークは、g(f(A,B),C)である。ここで、関数fとgは、上述の役割(PAG、PKG、PAF、PAO、PNA)のいずれかを表し、引数AとBとCは、暗号プリミティブの関数値またはデータ値を表す。なお、検証に無関係の引数(A、BまたはC)は無視することとする。
このフレームワークにおいて、関数fとgの組合せは、gがPNAであり、かつfがPAG、PKG、PAFのいずれかであるか、または、gがPAG、PKG、PAFのいずれかであり、かつfがPAOであるか、のどちらかである。なお、gがPNAであるとは、関数gおよび引数Cが存在しないことと同義である。すなわち、フレームワークは、f(A,B)であってもよい。
図1は、本実施形態に係る各攻撃に関係するデータと、フレームワーク内の関数の組合せと、を示した図である。
例えば、MC−RKCIの場合には、全フローおよび一方のパーティの長期鍵を対象とし、フレームワークの関数gとfはPNAとPAG、またはPAGとPAOの組合せである。また、semantic security(SS)の安全性の場合には、フレームワークの関数gとfはPNAとPKG、またはPKGとPAOの組合せである。なお、本実施形態に係る各攻撃に関係するデータとして、全フローの他、SS−SFSでは長期鍵と内部状態も対象とし、SS−WBSでは内部状態も対象とする。また、RUODAの場合には、全フローを対象とし、フレームワークの関数gとfはPNAとPAF、またはPAFとPAOの組合せである。
ここで、フレームワークの引数A、BまたはCとなる暗号プリミティブの関数値またはデータ値に設定される要素、すなわち種類と状態は以下の通りである。なお、括弧内は種類または状態を示す略記号である。
[データ値の種類]
・一般データ(GD)
・IDデータ(ID)
・テンポラリデータ(TD)
・長期鍵(LLK)
・パスワード(PW)
[関数値の種類]
・固定値(FV)
・テンポラリ値(TV)
[データ値または関数値の状態]
・公開状態(PS)
・秘密状態(SS)
<検証項目>
次に、認証または鍵交換のプロトコルの安全性に対する検証項目について説明する。本実施形態では、2パーティ(2ユーザ間、サーバおよびクライアント間等)での認証または鍵交換のプロトコルを対象とし、以下の3点を前提とする。
・認証または鍵交換のプロトコルにおいて、秘密鍵やパスワード等の長期鍵を使用している場合、共有すべきパーティは予め同じ長期鍵を何らかの安全な手順で共有しておくこととし、その手順に脆弱性はないとする。
・認証または鍵交換のプロトコルにおいて、公開鍵を使用している場合、各パーティは認証局等の第三者機関との間で公開鍵証明書の正当性を確認することができることとし、その手順に脆弱性はないとする。
・暗号プリミティブは危殆化していないとする。なお、認証または鍵交換のプロトコルにおいて、危殆化した暗号プリミティブが使用されている場合、検証装置1はこのプロトコルを安全でないと判定する。
図2〜図6の表において、認証または鍵交換のプロトコルの安全性を、レベルすなわち安全性の種類に応じて検証する検証項目を示す。
なお、表の枠内に複数の記号が表記されている場合は、これらのいずれか1つであってよいことを示している。また、図中の「−−−」は、検証に関係する関数または引数が存在しないことを示している。また、引数AおよびBは入れ替わっていてもよい。
MC−RKCIの検証項目は、上述のフレームワークにおける関数fおよびg、ならびに引数A、BおよびCの組合せが、図2に示す組合せのいずれかと一致することである。
SS−RUKSの検証項目は、上述のフレームワークにおける関数fおよびg、ならびに引数A、BおよびCの組合せが、図3に示す組合せのいずれかと一致することである。
SS−SFSの検証項目は、上述のフレームワークにおける関数fおよびg、ならびに引数A、BおよびCの組合せが、図4に示す組合せのいずれかと一致することである。
SS−WBSの検証項目は、上述のフレームワークにおける関数fおよびg、ならびに引数A、BおよびCの組合せが、図5に示す組合せのいずれかと一致することである。
RUODAの検証項目は、上述のフレームワークにおける関数fおよびg、ならびに引数A、BおよびCの組合せが、図6に示す組合せのいずれかと一致することである。
<検証装置の構成>
図7は、本実施形態に係る認証または鍵交換のプロトコルの安全性を検証する検証装置1の構成を示す図である。
検証装置1は、制御部10と、記憶部20と、入力部30と、表示部40と、を備える。
制御部10は、検証装置1の全体を制御する部分であり、記憶部20に記憶された各種プログラムを適宜読み出して実行することにより、上述のハードウェアと協働し、本発明に係る各種機能を実現している。制御部10は、CPU(Central Processing Unit)であってよい。
記憶部20は、ハードウェア群を検証装置1として機能させるための各種プログラムや、本発明の機能を制御部10に実行させるプログラム、データベース等を記憶する。具体的には、記憶部20は、上述の暗号プリミティブの種類および役割、ならびに暗号プリミティブの関数値またはデータ値の種類と状態、さらには、上述の各安全性とその検証項目とを記憶している。なお、記憶部20に記憶される検証項目は、上述の安全性の全部または一部であってよい。また、記憶部20は、ハードディスク、光ディスクドライブ、あるいは半導体メモリ等、様々な記憶装置のいずれかにより構成されてよい。
入力部30は、検証装置1に対するユーザ(検証装置1の管理者)からの指示入力を受け付けるインタフェース装置である。入力部30は、例えばキーボードやマウス等により構成される。
表示部40は、ユーザ(検証装置1の管理者)にデータの入力を受け付ける画面を表示したり、検証装置1による処理結果の画面を表示したりするものである。表示部40は、ブラウン管表示装置(CRT)、液晶表示装置(LCD)等のディスプレイ装置であってよい。
なお、本発明でいうコンピュータとは、制御装置や記憶装置等を備えた情報処理装置である。検証装置1は、制御部10や記憶部20等を備えた情報処理装置であり、この情報処理装置は、本発明のコンピュータの概念に含まれる。
また、制御部10は、プロトコル受付部101と、暗号プリミティブおよびデータ列挙部102と、種類設定部103と、役割設定部104と、要素設定部105と、安全性選択部106と、検証項目判定部107と、安全性判定部108と、を備える。
プロトコル受付部101は、入力部30からの指示入力に基づいて、安全性の検証対象である認証または鍵交換のプロトコルの仕様データの入力を受け付ける。
暗号プリミティブおよびデータ列挙部102は、プロトコル受付部101により受け付けたプロトコルの仕様データから、このプロトコルにおいて使用されている暗号プリミティブとデータを全て列挙する。
種類設定部103は、暗号プリミティブおよびデータ列挙部102により列挙された暗号プリミティブの目的としての種類を、上述のSKE、EPW、PKE、DH、SIG、HF、MACの中から選択して設定する。
役割設定部104は、種類設定部103により種類が選択された暗号プリミティブの役割を、上述のPAG、PKG、PAF、PAO、PNAの中から選択して設定する。
要素設定部105は、暗号プリミティブおよびデータ列挙部102により列挙された暗号プリミティブとデータの値について、プロトコルの仕様に従い、種類を上述のGD、ID、TD、LLK、PW、FV、TVの中から選択し、また状態を上述のPS、SSの中から選択して設定する。
ここで、これら暗号プリミティブの関数値およびデータ値の種類と状態とは、プロトコルのフローの順に設定される。なお、状態はセッション中での以前のフローに応じて更新されていく。また、公開状態(PS)と秘密状態(SS)では、公開状態(PS)が優先されることとする。
安全性選択部106は、プロトコル受付部101により受け付けた検証対象のプロトコルに対して要求されている安全性を選択する。具体的には、入力部30を介して、上述の(a)MC−RKCI、(b)SS−RUKS、(c)SS−SFS、(d)SS−WBS、(e)RUODAの中から選択入力を受け付ける。なお、選択される安全性は複数であってよく、プロトコルを運用する上で必要とされる最低限の安全性が選択されることが好ましい。
例えば、認証プロトコルにおいて、MC−RKCIの場合は全フローに加えて一方の長期鍵が得られなければ攻撃を受けないのに比べて、RUODAの場合は全フローさえ得られれば攻撃を受ける可能性があるので、RUODAを優先して安全性を選択すべきである。また、鍵交換プロトコルにおいて、RUODAやSS−RUKSに比べて、SS−WBS、さらにSS−SFSは、より多くのデータが得られなければ攻撃を受けない。したがって、SS−SFSよりSS−WBS、さらにSS−WBSよりSS−RUKSおよびRUODAを優先して安全性を選択すべきである。
検証項目判定部107は、種類設定部103、役割設定部104および要素設定部105により設定された情報を用いて、安全性選択部106により選択された各安全性に対する上述の検証項目を記憶部20から読み出し検証する。
また、検証項目判定部107は、プロトコルにおいて要求されているセキュリティパラメータ(例えば、鍵のサイズ等)を設定する。対応する暗号プリミティブの関数値やデータ値のサイズが設定されたセキュリティパラメータを満足しているか否かを確認し、満足していないサイズが1つでもある場合、安全性判定部108によりプロトコルは安全ではないと判定される。
安全性判定部108は、安全性選択部106により選択された全ての安全性に関して、検証項目判定部107により検証項目を満足していると判定された場合に、プロトコルが安全であると判定する。一方、安全性判定部108は、検証項目を満足していない安全性が1つでもある場合には、プロトコルは安全ではないと判定する。
<処理フロー>
図8は、本実施形態に係る検証装置1の制御部10にて実行される検証方法の流れを示すフローチャートである。
ステップS1では、制御部10は、受け付けた認証または鍵交換のプロトコルにおいて使用されている暗号プリミティブとデータを全て列挙する。
ステップS2(種類設定ステップ)では、制御部10は、ステップS1で列挙された暗号プリミティブの目的としての種類を、記憶部20に記憶されている情報と比較することにより判断して設定する。
ステップS3(役割設定ステップ)では、制御部10は、ステップS2で種類が設定された暗号プリミティブの役割を、記憶部20に記憶されている情報と比較することにより判断して設定する。
ステップS4(要素設定ステップ)では、制御部10は、ステップS1で列挙された暗号プリミティブとデータの値について、プロトコルの仕様に従い、記憶部20に記憶されている情報と比較することにより種類と状態とを判断して設定する。
ステップS5(安全性選択ステップ)では、制御部10は、受け付けた認証または鍵交換のプロトコルに対して要求されている安全性を、記憶部20に記憶されている所定の種類の中から選択する。
ステップS6(検証項目判定ステップ)では、制御部10は、ステップS2、ステップS3およびステップS4で設定された各情報を用いて、ステップS5で選択された各安全性に対する検証項目を記憶部20から読み出し検証する。そして、制御部10は、ステップS5で選択された全ての安全性に関して検証項目を満足しているか否かを判定する。この判定がYESの場合はステップS7に移り、判定がNOの場合はステップS8に移る。
ステップS7(安全性判定ステップ)では、制御部10は、検証対象である認証または鍵交換のプロトコルが要求されている安全性を全て満たしているため、このプロトコルは安全であると判定する。
ステップS8(安全性判定ステップ)では、制御部10は、検証対象のプロトコルが要求されている安全性のいずれかを満たしていないため、このプロトコルは安全ではないと判定する。
なお、本処理は、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムがコンピュータにインストールされる。また、当該プログラムは、CD−ROMのようなリムーバブルメディアに記録されてユーザに配布されてもよいし、ネットワークを介してユーザのコンピュータにダウンロードされることにより配布されてもよい。
以上のように、本実施形態によれば、認証または鍵交換のプロトコルについて、要求されている安全性を選択して、それぞれの安全性を検証することができる。すなわち、本実施形態によれば、認証または鍵交換のプロトコルを安全性のレベルに応じて検証することができる。
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限るものではない。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本発明の実施形態に記載されたものに限定されるものではない。
1 検証装置
10 制御部
20 記憶部
30 入力部
40 表示部
101 プロトコル受付部
102 暗号プリミティブおよびデータ列挙部
103 種類設定部
104 役割設定部
105 要素設定部
106 安全性選択部
107 検証項目判定部
108 安全性判定部

Claims (6)

  1. 認証または鍵交換のプロトコルの安全性を検証する検証装置であって、
    前記プロトコルにおいて使用されている暗号プリミティブの役割に対して設定される所定のフレームワークに適合する、前記認証のプロトコルにおける鍵漏洩なりすまし攻撃に対する安全性および検出不可能なオンライン辞書攻撃に対する安全性のそれぞれの要件を満たすための検証項目と、前記鍵交換のプロトコルにおける未知鍵共有攻撃に対する安全性、強前方秘匿性(strong forward secrecy)、弱後方秘匿性(weak backward secrecy)および検出不可能なオンライン辞書攻撃に対する安全性のそれぞれの要件を満たすための検証項目と、の少なくとも一部を記憶する記憶部と、
    前記プロトコルにおいて使用されている暗号プリミティブの種類を設定する種類設定部と、
    前記種類設定部により種類が設定された暗号プリミティブの役割を設定する役割設定部と、
    前記プロトコルにおけるデータ値の種類と状態、または暗号プリミティブの関数値の種類と状態とを示す要素を設定する要素設定部と、
    要求に応じて検証対象の安全性を選択する安全性選択部と、
    前記安全性選択部により選択された安全性それぞれに関する検証項目を前記記憶部から抽出し、前記暗号プリミティブの種類および役割ならびに前記要素設定部により設定された要素に基づいて、当該検証項目を満足するか否かを判定する検証項目判定部と、
    前記検証項目判定部により前記選択された全ての安全性に関する検証項目を満足していると判定された場合に、前記プロトコルが安全であると判定する安全性判定部と、を備える検証装置。
  2. 前記フレームワークは、g(f(A,B),C)と表現され、
    関数gの役割は、前記認証のプロトコルにおける認証の対象となる第1の暗号プリミティブ、前記鍵交換のプロトコルにおける鍵生成対象となる第2の暗号プリミティブ、フロー上に現れる第3の暗号プリミティブ、または前記第1から第3の暗号プリミティブおよび前記第1から第3の暗号プリミティブの引数に含まれる第4の暗号プリミティブのいずれでもない第5の暗号プリミティブのいずれかであり、
    関数fの役割は、関数gの役割が前記第1から第3の暗号プリミティブのいずれかである場合には、前記第4の暗号プリミティブであり、関数gの役割が前記第5の暗号プリミティブである場合には、前記第1から第3の暗号プリミティブのいずれかであり、
    引数A、BおよびCは、暗号プリミティブの関数値またはデータ値であることを特徴とする請求項1に記載の検証装置。
  3. 前記フレームワークの関数に設定される前記第1から第4の暗号プリミティブの種類は、共通鍵暗号、パスワードを用いた暗号化、公開鍵暗号、Diffie−Hellman族、ディジタル署名、ハッシュ関数またはメッセージ認証コードのいずれかであり、
    当該関数の引数は、一般データ、IDデータ、テンポラリデータ、長期鍵、パスワード、関数固定値または関数テンポラリ値と、公開状態または秘密状態と、の組合せを示す要素値であることを特徴とする請求項2に記載の検証装置。
  4. 前記認証または鍵交換のプロトコルにおける検証項目は、関数gおよび関数fの種類と、引数A、引数Bおよび引数Cのそれぞれに設定される要素値と、の組合せであることを特徴とする請求項3に記載の検証装置。
  5. コンピュータが認証または鍵交換のプロトコルの安全性を検証する検証方法であって、
    当該コンピュータは、前記プロトコルにおいて使用されている暗号プリミティブの役割に対して設定される所定のフレームワークに適合する、前記認証のプロトコルにおける鍵漏洩なりすまし攻撃に対する安全性および検出不可能なオンライン辞書攻撃に対する安全性のそれぞれの要件を満たすための検証項目と、前記鍵交換のプロトコルにおける未知鍵共有攻撃に対する安全性、強前方秘匿性(strong forward secrecy)、弱後方秘匿性(weak backward secrecy)および検出不可能なオンライン辞書攻撃に対する安全性のそれぞれの要件を満たすための検証項目と、の少なくとも一部を記憶する記憶部を備え、
    前記プロトコルにおいて使用されている暗号プリミティブの種類を設定する種類設定ステップと、
    前記種類設定ステップにより種類が設定された暗号プリミティブの役割を設定する役割設定ステップと、
    前記プロトコルにおけるデータ値の種類と状態、または暗号プリミティブの関数値の種類と状態とを示す要素を設定する要素設定ステップと、
    要求に応じて検証対象の安全性を選択する安全性選択ステップと、
    前記安全性選択ステップにより選択された安全性それぞれに関する検証項目を前記記憶部から抽出し、前記暗号プリミティブの種類および役割ならびに前記要素設定ステップにより設定された要素に基づいて、当該検証項目を満足するか否かを判定する検証項目判定ステップと、
    前記検証項目判定ステップにより前記選択された全ての安全性に関する検証項目を満足していると判定された場合に、前記プロトコルが安全であると判定する安全性判定ステップと、を前記コンピュータが実行する検証方法。
  6. コンピュータに認証または鍵交換のプロトコルの安全性を検証させるための検証プログラムであって、
    当該コンピュータは、前記プロトコルにおいて使用されている暗号プリミティブの役割に対して設定される所定のフレームワークに適合する、前記認証のプロトコルにおける鍵漏洩なりすまし攻撃に対する安全性および検出不可能なオンライン辞書攻撃に対する安全性のそれぞれの要件を満たすための検証項目と、前記鍵交換のプロトコルにおける未知鍵共有攻撃に対する安全性、強前方秘匿性(strong forward secrecy)、弱後方秘匿性(weak backward secrecy)および検出不可能なオンライン辞書攻撃に対する安全性のそれぞれの要件を満たすための検証項目と、の少なくとも一部を記憶する記憶部を備え、
    前記プロトコルにおいて使用されている暗号プリミティブの種類を設定する種類設定ステップと、
    前記種類設定ステップにより種類が設定された暗号プリミティブの役割を設定する役割設定ステップと、
    前記プロトコルにおけるデータ値の種類と状態、または暗号プリミティブの関数値の種類と状態とを示す要素を設定する要素設定ステップと、
    要求に応じて検証対象の安全性を選択する安全性選択ステップと、
    前記安全性選択ステップにより選択された安全性それぞれに関する検証項目を前記記憶部から抽出し、前記暗号プリミティブの種類および役割ならびに前記要素設定ステップにより設定された要素に基づいて、当該検証項目を満足するか否かを判定する検証項目判定ステップと、
    前記検証項目判定ステップにより前記選択された全ての安全性に関する検証項目を満足していると判定された場合に、前記プロトコルが安全であると判定する安全性判定ステップと、をコンピュータに実行させるための検証プログラム。
JP2009175037A 2009-07-28 2009-07-28 プロトコルの安全性を検証する検証装置、検証方法および検証プログラム Expired - Fee Related JP5368903B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009175037A JP5368903B2 (ja) 2009-07-28 2009-07-28 プロトコルの安全性を検証する検証装置、検証方法および検証プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009175037A JP5368903B2 (ja) 2009-07-28 2009-07-28 プロトコルの安全性を検証する検証装置、検証方法および検証プログラム

Publications (2)

Publication Number Publication Date
JP2011030039A JP2011030039A (ja) 2011-02-10
JP5368903B2 true JP5368903B2 (ja) 2013-12-18

Family

ID=43638220

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009175037A Expired - Fee Related JP5368903B2 (ja) 2009-07-28 2009-07-28 プロトコルの安全性を検証する検証装置、検証方法および検証プログラム

Country Status (1)

Country Link
JP (1) JP5368903B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5524763B2 (ja) * 2010-08-13 2014-06-18 Kddi株式会社 プロトコルの安全性を検証する検証装置、検証方法および検証プログラム
JP2025123947A (ja) * 2024-02-13 2025-08-25 株式会社日立製作所 プロトコル分析装置及びプロトコル分析方法

Also Published As

Publication number Publication date
JP2011030039A (ja) 2011-02-10

Similar Documents

Publication Publication Date Title
US10484185B2 (en) Method and system for distributing attestation key and certificate in trusted computing
US10742626B2 (en) Method for key rotation
AU2015308608B2 (en) Methods for secure cryptogram generation
US20130212385A1 (en) Utilization of a protected module to prevent offline dictionary attacks
US20250202688A1 (en) Quantum key transmission method, apparatus, and system
US20210241270A1 (en) System and method of blockchain transaction verification
JP2022521525A (ja) データを検証するための暗号方法
WO2018112482A1 (en) Method and system for distributing attestation key and certificate in trusted computing
Chen et al. Security analysis and improvement of user authentication framework for cloud computing
CN106850232B (zh) 状态保持的授权管理方法和系统
JP2022540231A (ja) 遠隔認証方法および装置
JP5368903B2 (ja) プロトコルの安全性を検証する検証装置、検証方法および検証プログラム
JP5368894B2 (ja) プロトコルの安全性を検証する検証装置、検証方法および検証プログラム
Nam et al. Security analysis of a nonce-based user authentication scheme using smart cards
JP5524763B2 (ja) プロトコルの安全性を検証する検証装置、検証方法および検証プログラム
CN119135341A (zh) 面向Web3.0的去中心化身份注册、认证、恢复方法及系统
CN118802159A (zh) 认证授权方法、装置、电子设备、存储介质及产品
JP5368893B2 (ja) プロトコルの安全性を検証する検証装置、検証方法および検証プログラム
Mao et al. RSA-based handshake protocol in internet of things
CN112235105A (zh) 一种抗中间人攻击的动态口令认证方法
CN114765531A (zh) 认证方法、量子密钥调用方法、装置及量子密码网络
CN117454437B (zh) 交易处理方法、存储介质及电子设备
JP7808021B2 (ja) 認証装置、認証方法及び認証プログラム
JP6165044B2 (ja) 利用者認証装置、システム、方法及びプログラム
US20220173910A1 (en) Remote commands

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120229

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20120803

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130625

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130819

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130903

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130913

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees