JP5368903B2 - プロトコルの安全性を検証する検証装置、検証方法および検証プログラム - Google Patents
プロトコルの安全性を検証する検証装置、検証方法および検証プログラム Download PDFInfo
- 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
Links
Images
Description
前記プロトコルにおいて使用されている暗号プリミティブの役割に対して設定される所定のフレームワークに適合する、前記認証のプロトコルにおける鍵漏洩なりすまし攻撃に対する安全性および検出不可能なオンライン辞書攻撃に対する安全性のそれぞれの要件を満たすための検証項目と、前記鍵交換のプロトコルにおける未知鍵共有攻撃に対する安全性、強前方秘匿性(strong forward secrecy)、弱後方秘匿性(weak backward secrecy)および検出不可能なオンライン辞書攻撃に対する安全性のそれぞれの要件を満たすための検証項目と、の少なくとも一部を記憶する記憶部と、
前記プロトコルにおいて使用されている暗号プリミティブの種類を設定する種類設定部と、
前記種類設定部により種類が設定された暗号プリミティブの役割を設定する役割設定部と、
前記プロトコルにおけるデータ値の種類と状態、または暗号プリミティブの関数値の種類と状態とを示す要素を設定する要素設定部と、
要求に応じて検証対象の安全性を選択する安全性選択部と、
前記安全性選択部により選択された安全性それぞれに関する検証項目を前記記憶部から抽出し、前記暗号プリミティブの種類および役割ならびに前記要素設定部により設定された要素に基づいて、当該検証項目を満足するか否かを判定する検証項目判定部と、
前記検証項目判定部により前記選択された全ての安全性に関する検証項目を満足していると判定された場合に、前記プロトコルが安全であると判定する安全性判定部と、を備える検証装置。
関数gの役割は、前記認証のプロトコルにおける認証の対象となる第1の暗号プリミティブ、前記鍵交換のプロトコルにおける鍵生成対象となる第2の暗号プリミティブ、フロー上に現れる第3の暗号プリミティブ、または前記第1から第3の暗号プリミティブおよび前記第1から第3の暗号プリミティブの引数に含まれる第4の暗号プリミティブのいずれでもない第5の暗号プリミティブのいずれかであり、
関数fの役割は、関数gの役割が前記第1から第3の暗号プリミティブのいずれかである場合には、前記第4の暗号プリミティブであり、関数gの役割が前記第5の暗号プリミティブである場合には、前記第1から第3の暗号プリミティブのいずれかであり、
引数A、BおよびCは、暗号プリミティブの関数値またはデータ値であることを特徴とする(1)に記載の検証装置。
当該関数の引数は、一般データ、IDデータ、テンポラリデータ、長期鍵、パスワード、関数固定値または関数テンポラリ値と、公開状態または秘密状態と、の組合せを示す要素値であることを特徴とする(2)に記載の検証装置。
当該コンピュータは、前記プロトコルにおいて使用されている暗号プリミティブの役割に対して設定される所定のフレームワークに適合する、前記認証のプロトコルにおける鍵漏洩なりすまし攻撃に対する安全性および検出不可能なオンライン辞書攻撃に対する安全性のそれぞれの要件を満たすための検証項目と、前記鍵交換のプロトコルにおける未知鍵共有攻撃に対する安全性、強前方秘匿性(strong forward secrecy)、弱後方秘匿性(weak backward secrecy)および検出不可能なオンライン辞書攻撃に対する安全性のそれぞれの要件を満たすための検証項目と、の少なくとも一部を記憶する記憶部を備え、
前記プロトコルにおいて使用されている暗号プリミティブの種類を設定する種類設定ステップと、
前記種類設定ステップにより種類が設定された暗号プリミティブの役割を設定する役割設定ステップと、
前記プロトコルにおけるデータ値の種類と状態、または暗号プリミティブの関数値の種類と状態とを示す要素を設定する要素設定ステップと、
要求に応じて検証対象の安全性を選択する安全性選択ステップと、
前記安全性選択ステップにより選択された安全性それぞれに関する検証項目を前記記憶部から抽出し、前記暗号プリミティブの種類および役割ならびに前記要素設定ステップにより設定された要素に基づいて、当該検証項目を満足するか否かを判定する検証項目判定ステップと、
前記検証項目判定ステップにより前記選択された全ての安全性に関する検証項目を満足していると判定された場合に、前記プロトコルが安全であると判定する安全性判定ステップと、を含む検証方法。
当該コンピュータは、前記プロトコルにおいて使用されている暗号プリミティブの役割に対して設定される所定のフレームワークに適合する、前記認証のプロトコルにおける鍵漏洩なりすまし攻撃に対する安全性および検出不可能なオンライン辞書攻撃に対する安全性のそれぞれの要件を満たすための検証項目と、前記鍵交換のプロトコルにおける未知鍵共有攻撃に対する安全性、強前方秘匿性(strong forward secrecy)、弱後方秘匿性(weak backward secrecy)および検出不可能なオンライン辞書攻撃に対する安全性のそれぞれの要件を満たすための検証項目と、の少なくとも一部を記憶する記憶部を備え、
前記プロトコルにおいて使用されている暗号プリミティブの種類を設定する種類設定ステップと、
前記種類設定ステップにより種類が設定された暗号プリミティブの役割を設定する役割設定ステップと、
前記プロトコルにおけるデータ値の種類と状態、または暗号プリミティブの関数値の種類と状態とを示す要素を設定する要素設定ステップと、
要求に応じて検証対象の安全性を選択する安全性選択ステップと、
前記安全性選択ステップにより選択された安全性それぞれに関する検証項目を前記記憶部から抽出し、前記暗号プリミティブの種類および役割ならびに前記要素設定ステップにより設定された要素に基づいて、当該検証項目を満足するか否かを判定する検証項目判定ステップと、
前記検証項目判定ステップにより前記選択された全ての安全性に関する検証項目を満足していると判定された場合に、前記プロトコルが安全であると判定する安全性判定ステップと、を実行させる検証プログラム。
まず、認証または鍵交換のプロトコルの安全性レベルに関するセキュリティモデルを示す。本実施形態では、計算量理論に基づいて認証または鍵交換のプロトコルの安全性を証明する「証明可能安全性」と呼ばれる概念を用いる。「認証または鍵交換のプロトコルが証明可能安全性を有する」とは、認証または鍵交換のプロトコルの安全性が、ある暗号プリミティブの安全性に帰着することを計算量理論的に証明可能であることを示している。すなわち、ある認証または鍵交換のプロトコルを破ることができる攻撃者は、ある暗号プリミティブを多項式時間で破るマシンを構成可能であることを証明することにより、この暗号プリミティブが破られなければ、認証または鍵交換のプロトコルも破られないことを証明する。
この安全性は、認証プロトコルにおいて、攻撃者が一方のパーティから受信したメッセージをそのままもう一方のパーティへ送ること以外に何もできないことを示す。すなわち、攻撃者はメッセージの改ざんや新規メッセージの送付、メッセージの遮断、メッセージの順番の入れ替え等の不正を行うことができないことを示す。
攻撃者が共通鍵暗号の共通鍵やパスワード、公開鍵暗号の秘密鍵等のあるパーティの長期鍵を得ることができたとしても、そのパーティ以外のパーティになりすますことはできないことを示す。
この安全性は、鍵交換プロトコルにおいて、攻撃者はセッション鍵に関するどんな情報も得ることができないことを示す。すなわち、攻撃者はセッション鍵と乱数を多項式時間で区別することができないことを示す。
あるパーティが正しいと思っているパーティとは別のパーティとセッション鍵を共有することができないことを示す。
攻撃者が共通鍵暗号の共通鍵やパスワード、公開鍵暗号の秘密鍵等のパーティの長期鍵と内部状態を得ることができたとしても、それ以前に共有されたセッション鍵を得ることはできないことを示す。
攻撃者がパーティの内部状態を得ることができたとしても、そのセッション以降に共有されたセッション鍵を得ることはできないことを示す。
この安全性は、認証および鍵交換のプロトコルに共通の安全性要件である。
パスワードを登録してあるパーティに対して、攻撃者がパスワードを問い合わせていることを検出することができることを示す。
・共通鍵暗号(SKE):事前共有鍵を用いた暗号化目的の関数
・パスワードを用いた暗号化(EPW):事前共有パスワードを用いた暗号化目的の関数
・公開鍵暗号(PKE):公開鍵を用いた暗号化目的の関数
・Diffie−Hellman族(DH):Diffie−Hellman法を用いた鍵交換目的の関数
・ディジタル署名(SIG):署名鍵を用いて署名を生成する目的の関数
・ハッシュ関数(HF):事前共有鍵を用いずにダイジェストを生成する目的の関数
・メッセージ認証コード(MAC):事前共有鍵を用いてダイジェストを生成する目的の関数
・認証プロトコルにおける認証対象となる暗号プリミティブ(PAG)
・鍵交換プロトコルにおける鍵生成対象となる暗号プリミティブ(PKG)
・フロー上に現れる暗号プリミティブ(PAF)
・PAG、PKGまたはPAFの引数に含まれる暗号プリミティブ(PAO)
・PAG、PKG、PAF、PAOのいずれでもない暗号プリミティブ(PNA)
例えば、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の組合せである。
[データ値の種類]
・一般データ(GD)
・IDデータ(ID)
・テンポラリデータ(TD)
・長期鍵(LLK)
・パスワード(PW)
[関数値の種類]
・固定値(FV)
・テンポラリ値(TV)
[データ値または関数値の状態]
・公開状態(PS)
・秘密状態(SS)
次に、認証または鍵交換のプロトコルの安全性に対する検証項目について説明する。本実施形態では、2パーティ(2ユーザ間、サーバおよびクライアント間等)での認証または鍵交換のプロトコルを対象とし、以下の3点を前提とする。
・認証または鍵交換のプロトコルにおいて、公開鍵を使用している場合、各パーティは認証局等の第三者機関との間で公開鍵証明書の正当性を確認することができることとし、その手順に脆弱性はないとする。
・暗号プリミティブは危殆化していないとする。なお、認証または鍵交換のプロトコルにおいて、危殆化した暗号プリミティブが使用されている場合、検証装置1はこのプロトコルを安全でないと判定する。
図7は、本実施形態に係る認証または鍵交換のプロトコルの安全性を検証する検証装置1の構成を示す図である。
検証装置1は、制御部10と、記憶部20と、入力部30と、表示部40と、を備える。
図8は、本実施形態に係る検証装置1の制御部10にて実行される検証方法の流れを示すフローチャートである。
10 制御部
20 記憶部
30 入力部
40 表示部
101 プロトコル受付部
102 暗号プリミティブおよびデータ列挙部
103 種類設定部
104 役割設定部
105 要素設定部
106 安全性選択部
107 検証項目判定部
108 安全性判定部
Claims (6)
- 認証または鍵交換のプロトコルの安全性を検証する検証装置であって、
前記プロトコルにおいて使用されている暗号プリミティブの役割に対して設定される所定のフレームワークに適合する、前記認証のプロトコルにおける鍵漏洩なりすまし攻撃に対する安全性および検出不可能なオンライン辞書攻撃に対する安全性のそれぞれの要件を満たすための検証項目と、前記鍵交換のプロトコルにおける未知鍵共有攻撃に対する安全性、強前方秘匿性(strong forward secrecy)、弱後方秘匿性(weak backward secrecy)および検出不可能なオンライン辞書攻撃に対する安全性のそれぞれの要件を満たすための検証項目と、の少なくとも一部を記憶する記憶部と、
前記プロトコルにおいて使用されている暗号プリミティブの種類を設定する種類設定部と、
前記種類設定部により種類が設定された暗号プリミティブの役割を設定する役割設定部と、
前記プロトコルにおけるデータ値の種類と状態、または暗号プリミティブの関数値の種類と状態とを示す要素を設定する要素設定部と、
要求に応じて検証対象の安全性を選択する安全性選択部と、
前記安全性選択部により選択された安全性それぞれに関する検証項目を前記記憶部から抽出し、前記暗号プリミティブの種類および役割ならびに前記要素設定部により設定された要素に基づいて、当該検証項目を満足するか否かを判定する検証項目判定部と、
前記検証項目判定部により前記選択された全ての安全性に関する検証項目を満足していると判定された場合に、前記プロトコルが安全であると判定する安全性判定部と、を備える検証装置。 - 前記フレームワークは、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に記載の検証装置。 - 前記フレームワークの関数に設定される前記第1から第4の暗号プリミティブの種類は、共通鍵暗号、パスワードを用いた暗号化、公開鍵暗号、Diffie−Hellman族、ディジタル署名、ハッシュ関数またはメッセージ認証コードのいずれかであり、
当該関数の引数は、一般データ、IDデータ、テンポラリデータ、長期鍵、パスワード、関数固定値または関数テンポラリ値と、公開状態または秘密状態と、の組合せを示す要素値であることを特徴とする請求項2に記載の検証装置。 - 前記認証または鍵交換のプロトコルにおける検証項目は、関数gおよび関数fの種類と、引数A、引数Bおよび引数Cのそれぞれに設定される要素値と、の組合せであることを特徴とする請求項3に記載の検証装置。
- コンピュータが認証または鍵交換のプロトコルの安全性を検証する検証方法であって、
当該コンピュータは、前記プロトコルにおいて使用されている暗号プリミティブの役割に対して設定される所定のフレームワークに適合する、前記認証のプロトコルにおける鍵漏洩なりすまし攻撃に対する安全性および検出不可能なオンライン辞書攻撃に対する安全性のそれぞれの要件を満たすための検証項目と、前記鍵交換のプロトコルにおける未知鍵共有攻撃に対する安全性、強前方秘匿性(strong forward secrecy)、弱後方秘匿性(weak backward secrecy)および検出不可能なオンライン辞書攻撃に対する安全性のそれぞれの要件を満たすための検証項目と、の少なくとも一部を記憶する記憶部を備え、
前記プロトコルにおいて使用されている暗号プリミティブの種類を設定する種類設定ステップと、
前記種類設定ステップにより種類が設定された暗号プリミティブの役割を設定する役割設定ステップと、
前記プロトコルにおけるデータ値の種類と状態、または暗号プリミティブの関数値の種類と状態とを示す要素を設定する要素設定ステップと、
要求に応じて検証対象の安全性を選択する安全性選択ステップと、
前記安全性選択ステップにより選択された安全性それぞれに関する検証項目を前記記憶部から抽出し、前記暗号プリミティブの種類および役割ならびに前記要素設定ステップにより設定された要素に基づいて、当該検証項目を満足するか否かを判定する検証項目判定ステップと、
前記検証項目判定ステップにより前記選択された全ての安全性に関する検証項目を満足していると判定された場合に、前記プロトコルが安全であると判定する安全性判定ステップと、を前記コンピュータが実行する検証方法。 - コンピュータに認証または鍵交換のプロトコルの安全性を検証させるための検証プログラムであって、
当該コンピュータは、前記プロトコルにおいて使用されている暗号プリミティブの役割に対して設定される所定のフレームワークに適合する、前記認証のプロトコルにおける鍵漏洩なりすまし攻撃に対する安全性および検出不可能なオンライン辞書攻撃に対する安全性のそれぞれの要件を満たすための検証項目と、前記鍵交換のプロトコルにおける未知鍵共有攻撃に対する安全性、強前方秘匿性(strong forward secrecy)、弱後方秘匿性(weak backward secrecy)および検出不可能なオンライン辞書攻撃に対する安全性のそれぞれの要件を満たすための検証項目と、の少なくとも一部を記憶する記憶部を備え、
前記プロトコルにおいて使用されている暗号プリミティブの種類を設定する種類設定ステップと、
前記種類設定ステップにより種類が設定された暗号プリミティブの役割を設定する役割設定ステップと、
前記プロトコルにおけるデータ値の種類と状態、または暗号プリミティブの関数値の種類と状態とを示す要素を設定する要素設定ステップと、
要求に応じて検証対象の安全性を選択する安全性選択ステップと、
前記安全性選択ステップにより選択された安全性それぞれに関する検証項目を前記記憶部から抽出し、前記暗号プリミティブの種類および役割ならびに前記要素設定ステップにより設定された要素に基づいて、当該検証項目を満足するか否かを判定する検証項目判定ステップと、
前記検証項目判定ステップにより前記選択された全ての安全性に関する検証項目を満足していると判定された場合に、前記プロトコルが安全であると判定する安全性判定ステップと、をコンピュータに実行させるための検証プログラム。
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)
| 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 | 株式会社日立製作所 | プロトコル分析装置及びプロトコル分析方法 |
-
2009
- 2009-07-28 JP JP2009175037A patent/JP5368903B2/ja not_active Expired - Fee Related
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 |