JP5511926B2 - Cryptographic protocol security verification device, security verification method and program - Google Patents
Cryptographic protocol security verification device, security verification method and program Download PDFInfo
- Publication number
- JP5511926B2 JP5511926B2 JP2012224298A JP2012224298A JP5511926B2 JP 5511926 B2 JP5511926 B2 JP 5511926B2 JP 2012224298 A JP2012224298 A JP 2012224298A JP 2012224298 A JP2012224298 A JP 2012224298A JP 5511926 B2 JP5511926 B2 JP 5511926B2
- Authority
- JP
- Japan
- Prior art keywords
- cryptographic
- protocol
- security
- safety
- verification
- 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
- 238000012795 verification Methods 0.000 title claims description 127
- 238000000034 method Methods 0.000 title claims description 10
- 230000007774 longterm Effects 0.000 claims description 16
- 238000004891 communication Methods 0.000 description 9
- 238000006243 chemical reaction Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 230000006378 damage Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 239000000470 constituent Substances 0.000 description 3
- 241001125840 Coryphaenidae Species 0.000 description 1
- 241000255777 Lepidoptera Species 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000009419 refurbishment Methods 0.000 description 1
Images
Description
本発明は、認証や鍵共有などのセキュリティ機能を有する暗号プロトコルに関し、そうした暗号プロトコルの安全性を検証する暗号プロトコルの安全性検証装置、安全性検証方法およびプログラムに関する。 The present invention relates to a cryptographic protocol having a security function such as authentication and key sharing, and relates to a cryptographic protocol safety verification device, a security verification method, and a program for verifying the security of such a cryptographic protocol.
従来、プロトコル設計者の有するセキュリティ、暗号技術の見識に基づき、ヒューリスティックなアプローチで経験的に、安全な暗号プロトコルが提案されてきた。しかしながら、提案された暗号プロトコルの仕様が公開された後に、セキュリティ上の脆弱性が指摘されるケースが散見された。実際、標準化された暗号プロトコルが製品等を通じて、広く普及した後に、脆弱性が発見される場合、改修に関わるコストが大きな問題となる。 Conventionally, a secure cryptographic protocol has been proposed empirically based on a heuristic approach based on insight of security and cryptographic technology possessed by a protocol designer. However, there were some cases where security vulnerabilities were pointed out after the proposed cryptographic protocol specifications were made public. In fact, when vulnerabilities are discovered after standardized cryptographic protocols have been widely disseminated through products and the like, the cost associated with refurbishment becomes a major problem.
特に、致命的な脆弱性が発見された場合には、経済的な損害の回避を目的とし、ソフトウェアのパッチの充当やハードウェアのチップ・部品の交換など、早急に対処する必要が生じる。したがって、提案された暗号プロトコルや関連製品が普及すればするほど、社会的なインパクトは非常に大きくなり、場合によってはシステム全体が破綻してしまう可能性もある。 In particular, when a fatal vulnerability is discovered, it is necessary to urgently deal with such issues as applying software patches and replacing hardware chips and components in order to avoid economic damage. Therefore, the more popular the proposed cryptographic protocol and related products, the greater the social impact, and in some cases, the entire system may fail.
そのため、特許文献1および特許文献2に記載の記述では、「汎用結合可能安全性」と呼ばれる概念を利用した、暗号プロトコルの安全性を検証するための装置、方法、プログラムが開示されている。ここで、「汎用結合可能安全性」とは、ある暗号プロトコルがそのセキュリティ機能に関する理想機能を安全に実現するならば、この暗号プロトコルは安全であることを意味している。例えば、ある鍵交換プロトコルが鍵交換理想機能を安全に実現するならば、その鍵交換プロトコルは安全であることが示されたことになる。
For this reason, the descriptions described in Patent Document 1 and
上記の先行技術文献において使用されている「汎用結合可能安全性」は、現在最も強力な安全性であると言われており、理想機能はセキュリティ機能に要求されるすべての安全性を網羅する。そのため、ある暗号プロトコルがその理想機能を安全に実現するとき、この暗号プロトコルはセキュリティ機能に要求されるすべての安全性を満足することになる。 The “general connectable safety” used in the above prior art documents is said to be the strongest safety at present, and the ideal function covers all the safety required for the security function. Therefore, when a certain cryptographic protocol safely realizes its ideal function, this cryptographic protocol satisfies all the security required for the security function.
しかしながら、暗号プロトコルの安全性と効率性はトレードオフの関係にあり、暗号プロトコルの安全性を高くするにつれて、効率性が低くなっていく。そのため、暗号プロトコルの効率性を重要視するときには、許容される範囲まで安全性を低くしたい。しかしながら、上記の先行技術では、暗号プロトコルの厳密な安全性を検証することはできても、安全性レベルに応じた検証を行うことができない。 However, the security and efficiency of the cryptographic protocol are in a trade-off relationship, and the efficiency decreases as the security of the cryptographic protocol increases. Therefore, when importance is attached to the efficiency of the cryptographic protocol, it is desired to reduce the security to an allowable range. However, in the above prior art, although it is possible to verify the strict security of the cryptographic protocol, it is not possible to perform verification according to the security level.
そこで、本発明は、上述の課題に鑑みてなされたものであり、暗号プロトコルを安全性レベルに応じて検証することができる暗号プロトコルの安全性検証装置、安全性検証方法およびプログラムを提供することを目的とする。 Therefore, the present invention has been made in view of the above-described problems, and provides a cryptographic protocol safety verification device, a security verification method, and a program capable of verifying a cryptographic protocol according to a safety level. With the goal.
本発明は、上記の課題を解決するために、以下の事項を提案している。 The present invention proposes the following matters in order to solve the above problems.
(1)本発明は、少なくとも鍵共有のセキュリティ機能を有する暗号プロトコルの鍵交換プロトコルについて、鍵交換プロトコルの能動的攻撃安全、受動的攻撃安全、オフライン辞書攻撃安全、既知鍵攻撃安全、フォワード秘匿性における検証項目を、前記鍵交換プロトコルの安全性を検証する検証項目としてチェックする検証手段を備え、前記鍵交換プロトコルの能動的攻撃安全における検証項目として、鍵生成対象となる暗号プリミティブの引数に含まれる暗号プリミティブが識別不可能性または一方向性の性質を有し、該暗号プリミティブの引数がいずれもプロトコルに初めて現れた一時的な秘密情報と、別のセッションにおいて繰り返し使用可能でプロトコルに現れた長期的で完全な秘密情報または長期的で不完全な秘密情報を含んでいるか、をチェックすることを特徴とする暗号プロトコルの安全性検証装置を提案している。 (1) The present invention relates to a key exchange protocol of a cryptographic protocol having at least a key sharing security function, such as active attack safety, passive attack safety, offline dictionary attack safety, known key attack safety, forward secrecy of the key exchange protocol. the verification items in, e Bei verification means for checking a verification item to verify the safety of the key exchange protocol, as verification item in active attacks safety of the key exchange protocol, the argument of cryptographic primitives that the key generation target The included cryptographic primitives are indistinguishable or one-way in nature, and any arguments of the cryptographic primitives are temporary secret information that appears for the first time in the protocol, and can be used repeatedly in different sessions and appear in the protocol. Long-term complete confidential information or long-term incomplete confidential information Dolphins, proposes a security verification system of the cryptographic protocol, characterized in that to check.
(2)本発明は、少なくとも鍵共有のセキュリティ機能を有する暗号プロトコルの鍵交換プロトコルについて、鍵交換プロトコルの能動的攻撃安全、受動的攻撃安全、オフライン辞書攻撃安全、既知鍵攻撃安全、フォワード秘匿性における検証項目を、前記鍵交換プロトコルの安全性を検証する検証項目としてチェックする検証手段を備え、前記鍵交換プロトコルの受動的攻撃安全における検証項目として、鍵生成対象となる暗号プリミティブが識別不可能性の性質を有し、該暗号プリミティブの引数がいずれもプロトコルに初めて現れた一時的な秘密情報を含んでいるか、あるいは鍵生成対象となる暗号プリミティブが一方向性の性質を有し、該暗号プリミティブの引数に含まれる暗号プリミティブが識別不可能性の性質を有し、該暗号プリミティブの引数がプロトコルに初めて現れた一時的な秘密情報を含んでいるか、をチェックすることを特徴とする暗号プロトコルの安全性検証装置を提案している。 (2) The present invention relates to a key exchange protocol of a cryptographic protocol having at least a key sharing security function, such as active attack safety, passive attack safety, offline dictionary attack safety, known key attack safety, forward secrecy of the key exchange protocol. in the verification items, comprising a verification means for checking a verification item to verify the safety of the key exchange protocol, as verification item in receiving dynamic attack safety of the key exchange protocol, encryption primitive Unidentified the key generation target The encryption primitive has temporary secret information that appears for the first time in the protocol , or the encryption primitive to be generated has a one-way property, The cryptographic primitive included in the argument of the cryptographic primitive has the property of being indistinguishable, and Primitive argument has proposed a safety verification device of the cryptographic protocol, characterized in that the check, it includes a temporary secret information for the first time appeared in the protocol.
(3)本発明は、少なくとも鍵共有のセキュリティ機能を有する暗号プロトコルの鍵交換プロトコルについて、鍵交換プロトコルの能動的攻撃安全、受動的攻撃安全、オフライン辞書攻撃安全、既知鍵攻撃安全、フォワード秘匿性における検証項目を、前記鍵交換プロトコルの安全性を検証する検証項目としてチェックする検証手段を備え、前記鍵交換プロトコルのオフライン辞書攻撃安全における検証項目として、長期的で不完全な秘密情報を含む暗号プリミティブが一方向性の性質を有し、該暗号プリミティブの引数がいずれもプロトコルに初めて現れたか、同じセッションにおいて以前にプロトコルに現れたか、別のセッションにおいて繰り返し使用不可能でプロトコルに現れた一時的な秘密情報を含んでいるか、をチェックすることを特徴とする暗号プロトコルの安全性検証装置を提案している。 (3) The present invention relates to a key exchange protocol of a cryptographic protocol having at least a key sharing security function, and an active attack safety, a passive attack safety, an offline dictionary attack safety, a known key attack safety, a forward secrecy of the key exchange protocol. A verification means for checking the verification item in the key exchange protocol as a verification item for verifying the security of the key exchange protocol, and encryption including long-term and incomplete secret information as a verification item in the off-line dictionary attack security of the key exchange protocol The primitive has a one-way nature and any of the cryptographic primitive arguments first appeared in the protocol, previously appeared in the protocol in the same session, or temporarily unavailable in another session and appeared in the protocol That it contains sensitive confidential information It proposes a security verification system of the cryptographic protocol, characterized.
(4)本発明は、少なくとも鍵共有のセキュリティ機能を有する暗号プロトコルの鍵交換プロトコルについて、鍵交換プロトコルの能動的攻撃安全、受動的攻撃安全、オフライン辞書攻撃安全、既知鍵攻撃安全、フォワード秘匿性における検証項目を、前記鍵交換プロトコルの安全性を検証する検証項目としてチェックする検証手段を備え、前記鍵交換プロトコルの既知鍵攻撃安全における検証項目として、鍵生成対象となる暗号プリミティブが識別不可能性または一方向性の性質を有し、該暗号プリミティブの引数がいずれもプロトコルに初めて現れたか、同じセッションにおいて以前にプロトコルに現れたか、別のセッションにおいて繰り返し使用不可能でプロトコルに現れた一時的な秘密情報を含んでいるか、をチェックすることを特徴とする暗号プロトコルの安全性検証装置を提案している。 (4) The present invention relates to a key exchange protocol that is a cryptographic protocol having at least a key sharing security function, such as active attack safety, passive attack safety, offline dictionary attack safety, known key attack safety, forward secrecy of the key exchange protocol. A verification means for checking the verification item in the key exchange protocol as a verification item for verifying the security of the key exchange protocol, and a cryptographic primitive that is a key generation target can not be identified as a verification item in the known key attack security of the key exchange protocol A temporary or unidirectional property in which any argument of the cryptographic primitive first appears in the protocol, previously appeared in the protocol in the same session, or repeatedly unavailable in another session and appeared in the protocol To check whether it contains sensitive confidential information It has proposed a safety verification device of the cryptographic protocols that.
(5)本発明は、少なくとも鍵共有のセキュリティ機能を有する暗号プロトコルの鍵交換プロトコルについて、鍵交換プロトコルの能動的攻撃安全、受動的攻撃安全、オフライン辞書攻撃安全、既知鍵攻撃安全、フォワード秘匿性における検証項目を、前記鍵交換プロトコルの安全性を検証する検証項目としてチェックする検証手段を備え、前記鍵交換プロトコルのフォワード秘匿性における検証項目として、鍵生成対象となる暗号プリミティブが識別不可能性または一方向性の性質を有し、該暗号プリミティブの引数がいずれもプロトコルに初めて現れたか、同じセッションにおいて以前にプロトコルに現れたか、別のセッションにおいて繰り返し使用不可能でプロトコルに現れた一時的な秘密情報を含んでいるか、をチェックすることを特徴とする暗号プロトコルの安全性検証装置を提案している。 (5) The present invention relates to a key exchange protocol of a cryptographic protocol having at least a key sharing security function, and an active attack safety, a passive attack safety, an offline dictionary attack safety, a known key attack safety, a forward secrecy of the key exchange protocol. A verification means for checking the verification item in the key exchange protocol as a verification item for verifying the security of the key exchange protocol, and as a verification item in the forward secrecy of the key exchange protocol, the cryptographic primitive that is the key generation target cannot be identified Or have a one-way nature, and any of the cryptographic primitive arguments appear in the protocol for the first time, appear in the protocol earlier in the same session, or are temporarily unavailable in another session and appear in the protocol Check to see if it contains confidential information It has proposed a safety verification device of the cryptographic protocols that butterflies.
(6)本発明は、暗号プロトコルの安全性を検証するための安全性検証装置における安全性検証方法であって、前記安全性検証装置は、暗号プリミティブ列挙手段と、危殆化情報判定手段と、役割設定手段と、安全性根拠設定手段と、フロー列挙手段と、引数設定手段と、設定情報判定手段と、安全性選択手段と、検証項目判定手段と、安全性判定手段と、を備え、前記暗号プリミティブ列挙手段が、鍵交換プロトコルにおいて使用されている暗号プリミティブを列挙する第1のステップと、前記危殆化情報判定手段が、前記列挙した暗号プリミティブについて、危殆化情報の有無を検証し、危殆化情報を有するものがある場合に、前記暗号プロトコルは安全ではないと判断する第2のステップと、前記役割設定手段が、該列挙した暗号プリミティブの中に、危殆化情報を有するものがない場合に、前記暗号プリミティブの役割を設定する第3のステップと、前記安全性根拠設定手段が、前記暗号プリミティブの安全性の根拠の設定を行う第4のステップと、前記フロー列挙手段が、フローの列挙を行う第5のステップと、前記引数設定手段が、フローデータと暗号プリミティブの引数の種類と状態とを設定する第6のステップと、前記設定情報判定手段が、該設定したフローデータと暗号プリミティブの引数の種類と状態との関係が正しいか否かを判断し、正しくないものを含む場合に、前記暗号プロトコルは安全ではないと判断する第7のステップと、前記安全性選択手段が、前記設定したフローデータと暗号プリミティブの引数の種類と状態との関係がすべて正しいと判断した場合に、安全性に関する検証項目の選択を、鍵交換プロトコルの能動的攻撃安全、受動的攻撃安全、オフライン辞書攻撃安全、既知鍵攻撃安全、フォワード秘匿性における検証項目の中から行う第8のステップと、前記検証項目判定手段が、該選択した検証項目をすべて満足するか否かを判断し、満足しないものを含む場合に、前記暗号プロトコルは選択した安全性に関して安全ではないと判断する第9のステップと、前記安全性判定手段が、前記選択した検証項目をすべて満足する場合に、前記暗号プロトコルは安全であると判断する第10のステップと、
を有することを特徴とする安全性検証方法を提案している。
(6) The present invention provides a definitive safety verification device security verification method for verifying the security of the cryptographic protocol, the security verification apparatus, a cryptographic primitives enumerated means, and compromise information determining means A role setting means, a safety ground setting means, a flow enumeration means, an argument setting means, a setting information determination means, a safety selection means, a verification item determination means, and a safety determination means, A first step in which the cryptographic primitive enumeration means enumerates cryptographic primitives used in a key exchange protocol; and the compromise information determination means verifies the presence or absence of compromise information for the enumerated cryptographic primitives; A second step of determining that the cryptographic protocol is not secure if there is compromise information, and the role setting means If there is no compromise that has compromise information, the third step of setting the role of the cryptographic primitive and the security rationale setting means set the security rationale of the cryptographic primitive A fourth step, a fifth step in which the flow enumeration means enumerates flows, and a sixth step in which the argument setting means sets the type and state of flow data and arguments of cryptographic primitives, The setting information determination means determines whether or not the relationship between the set flow data and the type and state of the argument of the cryptographic primitive is correct, and determines that the cryptographic protocol is not secure when it includes an incorrect one. And the security selecting means determines that all the relations between the set flow data and the types and states of the cryptographic primitive arguments are correct. In this case, an eighth step of selecting a verification item related to security from among verification items for active attack safety, passive attack security, offline dictionary attack security, known key attack security, and forward secrecy of the key exchange protocol. The verification item determination means determines whether or not all of the selected verification items are satisfied. And a tenth step of determining that the cryptographic protocol is safe when the security determination means satisfies all of the selected verification items;
A safety verification method characterized by having
(7)本発明は、コンピュータに、暗号プロトコルの安全性を検証するための安全性検証装置における安全性検証方法を実行させるためのプログラムであって、前記安全性検証装置は、暗号プリミティブ列挙手段と、危殆化情報判定手段と、役割設定手段と、安全性根拠設定手段と、フロー列挙手段と、引数設定手段と、設定情報判定手段と、安全性選択手段と、検証項目判定手段と、安全性判定手段と、を備え、前記暗号プリミティブ列挙手段が、鍵交換プロトコルにおいて使用されている暗号プリミティブを列挙する第1のステップと、前記危殆化情報判定手段が、前記列挙した暗号プリミティブについて、危殆化情報の有無を検証し、危殆化情報を有するものがある場合に、前記暗号プロトコルは安全ではないと判断する第2のステップと、前記役割設定手段が、該列挙した暗号プリミティブの中に、危殆化情報を有するものがない場合に、前記暗号プリミティブの役割を設定する第3のステップと、前記安全性根拠設定手段が、前記暗号プリミティブの安全性の根拠の設定を行う第4のステップと、前記フロー列挙手段が、フローの列挙を行う第5のステップと、前記引数設定手段が、フローデータと暗号プリミティブの引数の種類と状態とを設定する第6のステップと、前記設定情報判定手段が、該設定したフローデータと暗号プリミティブの引数の種類と状態との関係が正しいか否かを判断し、正しくないものを含む場合に、前記暗号プロトコルは安全ではないと判断する第7のステップと、前記安全性選択手段が、前記設定したフローデータと暗号プリミティブの引数の種類と状態との関係がすべて正しいと判断した場合に、安全性に関する検証項目の選択を、鍵交換プロトコルの能動的攻撃安全、受動的攻撃安全、オフライン辞書攻撃安全、既知鍵攻撃安全、フォワード秘匿性における検証項目の中から行う第8のステップと、前記検証項目判定手段が、該選択した検証項目をすべて満足するか否かを判断し、満足しないものを含む場合に、前記暗号プロトコルは選択した安全性に関して安全ではないと判断する第9のステップと、前記安全性判定手段が、前記選択した検証項目をすべて満足する場合に、前記暗号プロトコルは安全であると判断する第10のステップと、をコンピュータに実行させるためのプログラムを提案している。 (7) The present invention is a program for causing a computer to execute a security verification method in a security verification apparatus for verifying the security of a cryptographic protocol, wherein the security verification apparatus includes cryptographic primitive enumeration means. Compromise information determination means, role setting means, safety ground setting means, flow enumeration means, argument setting means, setting information determination means, safety selection means, verification item determination means, safety A first step of enumerating the cryptographic primitives used in the key exchange protocol, and the compromise information determining means for the enumerated cryptographic primitives. The second step is to determine whether the cryptographic protocol is insecure if there is any information that has compromise information. When the role setting means, in a cryptographic primitives said listed, if there is no one having a compromise information, a third step of setting the role of the cryptographic primitives, said safety grounds setting means, A fourth step of setting the basis of security of the cryptographic primitive, a fifth step of enumerating the flow by the flow enumeration means, and a type of argument of the flow data and the cryptographic primitive by the argument setting means And the setting information determination means determines whether or not the relationship between the set flow data and the type of the argument of the cryptographic primitive and the state is correct, and includes an incorrect one. If the cryptographic protocol and seventh step of determining unsafe, the safety selection means, pull the flow data and cryptographic primitives the setting If it is determined that the relationship between the type and state is correct, the selection of verification items related to security can be made by selecting key attack protocol active attack safety, passive attack safety, offline dictionary attack safety, known key attack safety, forward The eighth step performed from among the verification items in confidentiality and the verification item determination means determine whether or not all of the selected verification items are satisfied. A ninth step for determining that the selected security is not safe, and a tenth step for determining that the cryptographic protocol is safe when the security determination means satisfies all of the selected verification items. And a program for causing a computer to execute .
本発明によれば、暗号プロトコルのうち、鍵交換プロトコルを安全性レベルに応じて検証することができるという効果がある。 According to the present invention, it is possible to verify a key exchange protocol among cryptographic protocols according to the security level.
以下、図面を用いて、本発明の実施形態について詳細に説明する。
なお、本実施形態における構成要素は適宜、既存の構成要素等との置き換えが可能であり、また、他の既存の構成要素との組み合わせを含む様々なバリエーションが可能である。したがって、本実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
Note that the constituent elements in the present embodiment can be appropriately replaced with existing constituent elements and the like, and various variations including combinations with other existing constituent elements are possible. Therefore, the description of the present embodiment does not limit the contents of the invention described in the claims.
<暗号プロトコルの安全性レベルに関する既存のセキュリティモデル>
本発明の実施形態の説明に入る前に、暗号プロトコルの安全性レベルに関して、既存のセキュリティモデルを示す。本発明では、計算量理論にもとづいて、暗号プロトコルの安全性を証明するという「証明可能安全性」と呼ばれる概念を用いる。「暗号プロトコルが証明可能安全性を有する」とは、暗号プロトコルの安全性が、ある暗号プリミティブの安全性に帰着することを計算量理論的に証明可能であることである。
<Existing security model for cryptographic protocol safety level>
Before going into the description of the embodiments of the present invention, the existing security model is shown with respect to the security level of the cryptographic protocol. The present invention uses a concept called “provable security” that proves the security of a cryptographic protocol based on the computational complexity theory. “Cryptographic protocol has provable security” means that it can be proved theoretically that the security of the cryptographic protocol results in the security of a certain cryptographic primitive.
ある暗号プロトコルを破る攻撃者を仮定した場合、ある暗号プリミティブを多項式時間で破るマシンを構成可能であることを証明することにより、この暗号プリミティブが破られなければ、暗号プロトコルも破られないことを証明する。本発明では、暗号プロトコルのうち、認証プロトコルと鍵交換プロトコルとを考える。 Assuming an attacker who breaks a cryptographic protocol, by proving that it is possible to construct a machine that breaks a cryptographic primitive in polynomial time, if this cryptographic primitive is not broken, the cryptographic protocol will not be broken. Prove it. In the present invention, an authentication protocol and a key exchange protocol are considered among cryptographic protocols.
上記の証明可能安全性において、認証プロトコルではmatching conversation、鍵交換プロトコルではsemantic securityという安全性の概念がある。それぞれの概念に対し、認証・鍵交換プロトコルに要求される安全性に応じて、現実の攻撃モデルを想定し、以下の安全性に分類した。ただし、()内は、安全性に対応する攻撃を表している。 In the provable security described above, there is a security concept of matching conversion in the authentication protocol and semantic security in the key exchange protocol. For each concept, according to the security required for the authentication and key exchange protocol, an actual attack model was assumed and classified into the following security. However, the inside of () represents the attack corresponding to safety.
(1)matching conversation
認証プロトコルにおいて、攻撃者が一方のパーティから受信したメッセージをそのままもう一方のパーティへ送ること以外に何もできないことを示す。すなわち、攻撃者は、メッセージの改ざんや新規メッセージの送付、メッセージの遮断、メッセージの順番の入れ替えなどの不正を行うことができない。
(1) matching conversion
In the authentication protocol, it indicates that the attacker can do nothing but send the message received from one party to the other party as it is. That is, the attacker cannot perform fraud such as message tampering, new message sending, message blocking, and message order switching.
(1A)能動的攻撃安全(なり済まし攻撃)
matching conversationにおける能動的攻撃安全は、攻撃者がパーティ間の通信を支配しても、認証プロトコルを破ることはできないことを示す。
(1A) Active attack safety (impersonated attack)
Active attack safety in matching conversions indicates that even if an attacker dominates communication between parties, the authentication protocol cannot be broken.
(2)semantic security
鍵交換プロトコルにおいて、攻撃者はセッション鍵に関するどんな情報も得ることができないことを示す。すなわち、攻撃者はセッション鍵と乱数を多項式時間で区別することができない。
(2) semantic security
In the key exchange protocol, indicates that the attacker cannot obtain any information about the session key. That is, the attacker cannot distinguish the session key and the random number in polynomial time.
(2A)能動的攻撃安全(なり済まし攻撃)
semantic securityにおける能動的攻撃安全は、攻撃者がパーティ間の通信を支配しても、鍵交換プロトコルを破ることはできないことを示す。
(2A) Active attack safety (spoofed attack)
Active attack security in semantic security indicates that even if an attacker dominates communication between parties, the key exchange protocol cannot be broken.
(2B)受動的攻撃安全(盗聴攻撃)
semantic securityにおける受動的攻撃安全は、攻撃者がパーティ間の通信を盗聴しても、鍵交換プロトコルを破ることはできないことを示す。
(2B) Passive attack safety (Eavesdropping attack)
Passive attack security in semantic security indicates that even if an attacker eavesdrops on communication between parties, the key exchange protocol cannot be broken.
(2C)オフライン辞書攻撃安全(オフライン辞書攻撃)
semantic securityにおけるオフライン辞書攻撃安全は、攻撃者がパスワード推測用の辞書からオフラインで過去の履歴に一致するパーティのパスワードを探索することはできないことを示す。
(2C) Offline dictionary attack safety (offline dictionary attack)
The off-line dictionary attack safety in the semantic security indicates that the attacker cannot search the password of the party that matches the past history offline from the password guessing dictionary.
(2D)既知鍵攻撃安全(既知鍵攻撃)
semantic securityにおける既知鍵攻撃安全は、攻撃者があるセッション鍵を得ることができたとしても、それとは別のセッション鍵を得ることはできないことを示す。
(2D) Known key attack safety (known key attack)
The known key attack security in the semantic security indicates that even if an attacker can obtain a session key, it cannot obtain another session key.
(2E)forward secrecy(長期鍵破壊攻撃)
semantic securityにおけるforward secrecyは、攻撃者が秘密鍵やパスワードなどの長期鍵を得ることができたとしても、それ以前に共有されたセッション鍵を得ることはできないことを示す。
(2E) forward secrecy (long-term key destruction attack)
The forward security in the semantic security indicates that even if an attacker can obtain a long-term key such as a secret key or a password, it cannot obtain a previously shared session key.
ただし、パスワード、長期鍵をそれぞれ使用しない鍵交換プロトコルの場合、(2C)のオフライン辞書攻撃安全、(2E)のforward secrecyの安全性はそれぞれ要求されない。 However, in the case of a key exchange protocol that does not use a password and a long-term key, the security of offline dictionary attack (2C) and the security of forward secrecy (2E) are not required.
<暗号プリミティブに設定される情報と記号>
認証・鍵交換プロトコルにおいて使用されている暗号プリミティブに設定される情報は以下のとおりである。
(A)認証プロトコルにおける認証対象となる暗号プリミティブ(AGF)
(B)鍵交換プロトコルにおける鍵生成対象となる暗号プリミティブ(KGF)
(C)AGFやKGFの引数に含まれる暗号プリミティブ(ACP)
(D)それ以外の暗号プリミティブ(OCP)
<Information and symbols set in cryptographic primitives>
The information set in the cryptographic primitives used in the authentication / key exchange protocol is as follows.
(A) Cryptographic primitive (AGF) to be authenticated in the authentication protocol
(B) Cryptographic primitive (KGF) that is a key generation target in the key exchange protocol
(C) Cryptographic primitives (ACP) included in AGF and KGF arguments
(D) Other cryptographic primitives (OCP)
<暗号プリミティブに対して設定される安全性の根拠となる情報>
上記で設定された暗号プリミティブに対して設定される安全性の根拠となる情報は以下のとおりである。
(A)識別不可能性(IND):秘密情報を知らずに、対応する2つの事象を多項式時間で識別することができないことを示す。
(B)一方向性(OW):秘密情報を知らずに、出力値から入力値を多項式時間で計算することができないことを示す。
(C)偽造不可能性(UF):秘密情報を知らずに、要求されるメッセージの認証子を多項式時間で生成することができないことを示す。
<Information that is the basis of security set for cryptographic primitives>
The information that is the basis of security set for the cryptographic primitive set above is as follows.
(A) Indistinguishability (IND): Indicates that two corresponding events cannot be identified in polynomial time without knowing secret information.
(B) Unidirectionality (OW): Indicates that an input value cannot be calculated in polynomial time from an output value without knowing secret information.
(C) Unforgeability (UF): Indicates that an authenticator of a required message cannot be generated in polynomial time without knowing secret information.
<認証・鍵交換プロトコルにおけるすべてのフローデータ及び暗号プリミティブに設定される構成要素>
認証・鍵交換プロトコルにおけるすべてのフローデータ及び暗号プリミティブに設定される構成要素は以下のとおりである。
(A)フローデータ及び暗号プリミティブの引数の種類
a)一般公開情報(PUB)
b)特定公開情報(ID)
c)一時的な公開情報(TPK)
d)長期的で完全な秘密情報(LLK)
e)長期的で不完全な秘密情報(PW)
f)一時的な秘密情報(TSK)
(B)フローデータ及び暗号プリミティブの引数の状態
a)公開状態で初登場(PFT)
b)同じセッションにおいて以前に公開状態で登場(PSS)
c)別のセッションにおいて繰り返し使用可能で公開状態で登場(PRS)
d)別のセッションにおいて繰り返し使用不可能で公開状態で登場(PNS)
e)秘密状態で初登場(SFT)
f)同じセッションにおいて以前に秘密状態で登場(SSS)
g)別のセッションにおいて繰り返し使用可能で秘密状態で登場(SRS)
h)別のセッションにおいて繰り返し使用不可能で秘密状態で登場(SNS)
<Components set in all flow data and cryptographic primitives in the authentication / key exchange protocol>
The components set in all flow data and cryptographic primitives in the authentication / key exchange protocol are as follows.
(A) Types of arguments of flow data and cryptographic primitives a) Public information (PUB)
b) Specific public information (ID)
c) Temporary public information (TPK)
d) Long-term and complete confidential information (LLK)
e) Long-term and incomplete confidential information (PW)
f) Temporary confidential information (TSK)
(B) Flow data and cryptographic primitive argument status a) First appearance in public state (PFT)
b) Previously published in the same session (PSS)
c) It can be used repeatedly in other sessions and appears in public (PRS)
d) Appears in a public state that cannot be used repeatedly in another session (PNS)
e) First appearance in a secret state (SFT)
f) Appeared in secret before in the same session (SSS)
g) Can be used repeatedly in different sessions and appears in a secret state (SRS)
h) Cannot be used repeatedly in another session and appears in a secret state (SNS)
<認証及び鍵交換プロトコルを安全性レベルに応じて検証する項目>
また、認証及び鍵交換プロトコルを安全性レベルに応じて検証する項目は、以下の通りである。
<Items to verify authentication and key exchange protocol according to security level>
The items for verifying the authentication and key exchange protocol according to the security level are as follows.
<認証プロトコルに対するmatching conversation>
(A)能動的攻撃安全における検証項目と検証内容
a)AGFがUFであり、AGFの引数がいずれもTPK−PFTまたはTPK−PSSまたはTPK−PNSまたはTSK−SFTまたはTSK−SSSまたはTSK−SNSを含んでいる。
b)AGFがOWであり、AGFの引数がいずれもTSK−SFTを含んでいる。
<Matching conversion for authentication protocol>
(A) Verification items and verification contents in active attack safety a) AGF is UF and arguments of AGF are all TPK-PFT, TPK-PSS, TPK-PNS, TSK-SFT, TSK-SSS, or TSK-SNS. Is included.
b) AGF is OW, and all arguments of AGF include TSK-SFT.
<鍵交換プロトコルに対するsemantic security>
(B)能動的攻撃安全における検証項目と検証内容
a)ACPがINDまたはOWであり、ACPの引数がいずれもTSK−SFTとLLK−SRSまたはPW−SRSを含んでいる。
<Semantic security for key exchange protocol>
(B) Verification items and verification contents in active attack safety a) ACP is IND or OW, and all arguments of ACP include TSK-SFT and LLK-SRS or PW-SRS.
(C)受動的攻撃安全における検証項目と検証内容
a)KGFがINDであり、KGFの引数がいずれもTSK−SFTを含んでいる。
b)KGFがOWであり、ACPがINDであり、ACPの引数がTSK−SFTを含んでいる。
(C) Verification items and verification contents in passive attack safety a) KGF is IND, and all arguments of KGF include TSK-SFT.
b) KGF is OW, ACP is IND, and the argument of ACP includes TSK-SFT.
(D)オフライン辞書攻撃安全における検証項目と検証内容
a)PWを含むOCPがOWであり、OCPの引数がいずれもTSK−SFTまたはTSK−SSSまたはTSK−SNSを含んでいる。
(D) Verification items and verification contents in off-line dictionary attack security a) OCP including PW is OW, and each argument of OCP includes TSK-SFT, TSK-SSS, or TSK-SNS.
(E)既知鍵攻撃安全における検証項目と検証内容
a)KGFがINDまたはOWであり、KGFの引数がいずれもTSK−SFTまたはTSK−SSSまたはTSK−SNSを含んでいる。
(E) Verification items and verification contents in known key attack security a) KGF is IND or OW, and all arguments of KGF include TSK-SFT, TSK-SSS, or TSK-SNS.
(F)forward secrecyにおける検証項目と検証内容
a)KGFがINDまたはOWであり、KGFの引数がいずれもTSK−SFTまたはTSK−SSSまたはTSK−SNSを含んでいる。
(F) Verification items and verification contents in forward secrecy a) KGF is IND or OW, and any argument of KGF includes TSK-SFT, TSK-SSS, or TSK-SNS.
<暗号プロトコルの安全性検証装置の構成>
図1を用いて、本実施形態に係る暗号プロトコルの安全性検証装置の構成について説明する。本実施形態に係る暗号プロトコルの安全性検証装置は、図1に示すように、暗号プリミティブ列挙部1と、危殆化情報判定部2と、役割設定部3と、安全性根拠設定部4と、フロー列挙部5と、引数設定部6と、設定情報判定部7と、安全性選択部8と、検証項目判定部9と、安全性判定部10とから構成されている。
<Configuration of cryptographic protocol security verification device>
The configuration of the cryptographic protocol security verification apparatus according to the present embodiment will be described with reference to FIG. As shown in FIG. 1, the cryptographic protocol security verification device according to the present embodiment includes a cryptographic primitive enumeration unit 1, a compromise
暗号プリミティブ列挙部1は、認証・鍵交換プロトコルにおいて使用されている暗号プリミティブをすべて列挙する。危殆化情報判定部2は、列挙された暗号プリミティブに対して危殆化情報があるかどうかを確認する。危殆化情報が1つでもある場合、安全性判定部10が、認証・鍵交換プロトコルは安全ではないと判定する。
The cryptographic primitive enumeration unit 1 lists all cryptographic primitives used in the authentication / key exchange protocol. The compromise
役割設定部3は、列挙された暗号プリミティブのうち、暗号プリミティブの役割である情報、例えば、AGF、KGF、ACP、OCPを設定する。安全性根拠設定部4は、役割が設定された暗号プリミティブに対して、安全性の根拠となる情報、例えば、IND、OW、UFを設定する。
The
フロー列挙部5は、認証・鍵交換プロトコルについて、すべてのフローを列挙する。引数設定部6は、列挙されたフローデータ及び暗号プリミティブについて、フローデータ及び暗号プリミティブの引数の種類、例えば、PUB、ID、TPK、LLK、PW、TSK等、およびフローデータ及び暗号プリミティブの引数の状態、例えば、PFT、PSS、PRS、PNS、SFT、SSS、SRS、SNS等の構成要素を設定する。
The
設定情報判定部7は、図2に示すフローデータ及び暗号プリミティブの引数の種類と状態の関係を示したデータテーブルに基づいて、フローデータ及び暗号プリミティブの引数に関する種類と状態の関係がすべて正しいかどうかを判定する。そして、1つでも正しくない関係がある場合には、安全性判定部10が、認証・鍵交換プロトコルは安全ではないと判定する。
Based on the data table showing the relationship between the type of flow data and the argument of the cryptographic primitive and the state shown in FIG. Determine if. If even one of the relationships is not correct, the
安全性選択部8は、認証・鍵交換プロトコルにおいて、要求されている安全性を選択する。なお、複数の安全性を選択してもよい。検証項目判定部9は、安全性選択部8が選択した安全性に対して、引数設定部6が設定した情報を用いて、前述した各安全性に関する検証項目を検証する。
The
ただし、検証項目を検証する前に、認証・鍵交換プロトコルにおける各安全性に応じて、以下の準備を行う。
<認証プロトコルに対するmatching conversation>
(A)能動的攻撃安全における検証項目
能動的攻撃安全は、なり済まし攻撃に対応し、攻撃者がパーティ間の通信を支配して得られる情報から、相手のパーティに認証させるための情報を生成することができないことを示している。なお、なり済まし攻撃により設定される情報は、すべてのフローである。
However, before verifying the verification items, the following preparations are made according to each security in the authentication / key exchange protocol.
<Matching conversion for authentication protocol>
(A) Verification items in active attack safety Active attack safety is a response to spoofing attacks and generates information for the attacker to authenticate the other party from information obtained by controlling the communication between parties. Indicates that you can't. Note that the information set by the spoofing attack is all flows.
設定された情報に対し、プロトコルのフロー順に以下の事項を設定する。ここで、フローデータと引数の状態は更新されていくものとする。ただし、公開状態と秘密状態では、公開状態を優先するものとする。
a)AGF、ACP、OCPの種類と安全性の根拠
b)AGF、ACP、OCPの引数の種類と状態
c)フローデータの種類と状態
The following items are set for the set information in order of protocol flow. Here, it is assumed that the flow data and the argument state are updated. However, the public state has priority over the public state and the secret state.
a) Types of AGF, ACP, OCP and grounds for safety b) Types and states of arguments of AGF, ACP, OCP c) Types and states of flow data
なお、AGFとACPの引数に暗号プリミティブが入れ子構造になっている場合、AGFとACPの引き数の状態を最終段階に設定する。 If cryptographic primitives are nested in the arguments of AGF and ACP, the state of the arguments of AGF and ACP is set to the final stage.
<鍵交換プロトコルに対するsemantic security>
(A)能動的攻撃安全における検証項目
能動的攻撃安全は、なり済まし攻撃に対応し、攻撃者がパーティ間の通信を支配して得られる情報から、セッション鍵と乱数を多項式時間で区別することができないことを示している。なお、なり済まし攻撃により設定される情報はすべてのフローである。
<Semantic security for key exchange protocol>
(A) Verification items in active attack safety Active attack safety is to distinguish a session key and a random number in polynomial time from information obtained by an attacker controlling communication between parties in response to a pretending attack. Indicates that you cannot. Note that the information set by the spoofing attack is all flows.
設定された情報に対し、プロトコルのフロー順に以下の事項を設定する。ここで、フローデータと引数の状態は更新されていくものとする。ただし、公開状態と秘密状態では、公開状態を優先するものとする。
a)KGF、ACP、OCPの種類と安全性の根拠
b)KGF、ACP、OCPの引数の種類と状態
c)フローデータの種類と状態
The following items are set for the set information in order of protocol flow. Here, it is assumed that the flow data and the argument state are updated. However, the public state has priority over the public state and the secret state.
a) KGF, ACP, OCP types and safety grounds b) KGF, ACP, OCP argument types and status c) Flow data types and status
なお、KGFとACPの引数に暗号プリミティブが入れ子構造になっている場合、KGFとACPの引き数の状態を最終段階に設定する。 When cryptographic primitives are nested in the arguments of KGF and ACP, the state of the arguments of KGF and ACP is set to the final stage.
(B)受動的攻撃安全における検証項目
受動的攻撃安全は、盗聴攻撃に対応し、攻撃者がパーティ間の通信を盗聴して得られる情報から、セッション鍵と乱数を多項式時間で区別することができないことを示している。なお、盗聴攻撃により設定される情報は、すべてのフローである。
(B) Verification Items in Passive Attack Safety Passive attack safety corresponds to an eavesdropping attack, in which an attacker can distinguish session keys and random numbers in polynomial time from information obtained by eavesdropping on communication between parties. Indicates that it is not possible. Note that the information set by the wiretapping attack is all flows.
設定された情報に対し、プロトコルのフロー順に以下の事項を設定する。ここで、フローデータと引数の状態は更新されていくものとする。ただし、公開状態と秘密状態では、公開状態を優先するものとする。
a)KGF、ACP、OCPの種類と安全性の根拠
b)KGF、ACP、OCPの引数の種類と状態
c)フローデータの種類と状態
The following items are set for the set information in order of protocol flow. Here, it is assumed that the flow data and the argument state are updated. However, the public state has priority over the public state and the secret state.
a) KGF, ACP, OCP types and safety grounds b) KGF, ACP, OCP argument types and status c) Flow data types and status
なお、KGFとACPの引数に暗号プリミティブが入れ子構造になっている場合、KGFとACPの引き数の状態を最終段階に設定する。 When cryptographic primitives are nested in the arguments of KGF and ACP, the state of the arguments of KGF and ACP is set to the final stage.
(C)オフライン辞書攻撃安全における検証項目
オフライン辞書攻撃安全は、オフライン辞書攻撃に対応し、攻撃者がパスワード推測用の辞書からパーティのパスワードをオフラインで探索するための過去の履歴から、セッション鍵と乱数を多項式時間で区別することができないことを示している。なお、オフライン辞書攻撃により設定される情報は、すべてのフローである。
(C) Verification Items in Offline Dictionary Attack Safety Offline dictionary attack safety is a response to offline dictionary attacks. From the past history for an attacker to search for a party password offline from a password guessing dictionary, the session key and It shows that random numbers cannot be distinguished by polynomial time. The information set by the off-line dictionary attack is all flows.
設定された情報に対し、プロトコルのフロー順に以下の事項を設定する。ここで、フローデータと引数の状態は更新されていくものとする。ただし、公開状態と秘密状態では、公開状態を優先するものとする。
a)OCPの種類と安全性の根拠
b)OCPの引数の種類と状態
c)フローデータの種類と状態
The following items are set for the set information in order of protocol flow. Here, it is assumed that the flow data and the argument state are updated. However, the public state has priority over the public state and the secret state.
a) OCP type and grounds for safety b) OCP argument type and status c) Flow data type and status
(D)既知鍵攻撃安全における検証項目
既知鍵攻撃安全は、既知鍵攻撃に対応し、攻撃者が別のセッションにおいて得られたセッション鍵から、セッション鍵と乱数を多項式時間で区別することができないことを示している。なお、既知鍵攻撃により設定される情報は、他のすべてのセッションのセッション鍵である。
(D) Verification Items in Known Key Attack Safety Known key attack safety corresponds to a known key attack, and an attacker cannot distinguish a session key and a random number in polynomial time from a session key obtained in another session. It is shown that. Note that the information set by the known key attack is the session key of all other sessions.
設定された情報に対し、プロトコルのフロー順に以下の事項を設定する。ここで、フローデータと引数の状態は更新されていくものとする。ただし、公開状態と秘密状態では、公開状態を優先するものとする。
a)KGF、ACP、OCPの種類と安全性の根拠
b)KGF、ACP、OCPの引数の種類と状態
c)フローデータの種類と状態
The following items are set for the set information in order of protocol flow. Here, it is assumed that the flow data and the argument state are updated. However, the public state has priority over the public state and the secret state.
a) KGF, ACP, OCP types and safety grounds b) KGF, ACP, OCP argument types and status c) Flow data types and status
なお、KGFとACPの引数に暗号プリミティブが入れ子構造になっている場合、KGFとACPの引き数の状態を最終段階に設定する。 When cryptographic primitives are nested in the arguments of KGF and ACP, the state of the arguments of KGF and ACP is set to the final stage.
(E)forward secrecyにおける検証項目
forward secrecyは、長期鍵破壊攻撃に対応し、攻撃者がパーティの端末に侵入して得られた秘密鍵やパスワードなどの長期鍵から、セッション鍵と乱数を多項式時間で区別することができないことを示している。なお、長期鍵破壊攻撃により設定される情報は、長期鍵である。
(E) Verification item in forward secrecy forward secrecy corresponds to a long-term key destruction attack, and a session key and a random number are expressed in polynomial time from a long-term key such as a secret key or a password obtained by an attacker entering a party terminal. Indicates that they cannot be distinguished. The information set by the long-term key destruction attack is a long-term key.
設定された情報に対し、プロトコルのフロー順に以下の事項を設定する。ここで、フローデータと引数の状態は更新されていくものとする。ただし、公開状態と秘密状態では、公開状態を優先するものとする。この場合、長期鍵は公開情報として扱う。
a)KGF、ACP、OCPの種類と安全性の根拠
b)KGF、ACP、OCPの引数の種類と状態
c)フローデータの種類と状態
The following items are set for the set information in order of protocol flow. Here, it is assumed that the flow data and the argument state are updated. However, the public state has priority over the public state and the secret state. In this case, the long-term key is handled as public information.
a) KGF, ACP, OCP types and safety grounds b) KGF, ACP, OCP argument types and status c) Flow data types and status
なお、KGFとACPの引数に暗号プリミティブが入れ子構造になっている場合、KGFとACPの引き数の状態を最終段階に設定する。 When cryptographic primitives are nested in the arguments of KGF and ACP, the state of the arguments of KGF and ACP is set to the final stage.
<暗号プロトコルの安全性検証装置の処理>
図3を用いて、暗号プロトコルの安全性検証装置の処理について、説明する。
まず、認証および鍵交換プロトコルにおいて使用されている暗号プリミティブを列挙する(ステップS101)。次に、列挙した暗号プリミティブについて、危殆化情報の有無を検証し(ステップS102)、危殆化情報を有するものがある場合(ステップS102の「No」)に、暗号プロトコルは安全ではないと判断する。
<Processing of cryptographic protocol security verification device>
Processing of the cryptographic protocol security verification apparatus will be described with reference to FIG.
First, cryptographic primitives used in the authentication and key exchange protocol are listed (step S101). Next, for the enumerated cryptographic primitives, the presence / absence of compromise information is verified (step S102), and if there is any compromise information (“No” in step S102), it is determined that the cryptographic protocol is not secure. .
一方、列挙した暗号プリミティブの中に、危殆化情報を有するものがない場合に(ステップS102の「Yes」)、暗号プリミティブの役割を設定する(ステップS103)。さらに、暗号プリミティブの安全性の根拠の設定を行い(ステップS104)、フローの列挙を行って(ステップS105)、フローデータと暗号プリミティブの引数の種類と状態とを設定する(ステップS106)。 On the other hand, if none of the listed cryptographic primitives has compromise information (“Yes” in step S102), the role of the cryptographic primitive is set (step S103). Further, the basis of security of the cryptographic primitive is set (step S104), the flow is enumerated (step S105), and the type and state of the argument of the flow data and the cryptographic primitive are set (step S106).
そして、設定したフローデータと暗号プリミティブの引数の種類と状態との関係が正しいか否かを判断し(ステップS107)、正しくないものを含む場合に(ステップS107の「No」)、暗号プロトコルは安全ではないと判断する。一方、設定したフローデータと暗号プリミティブの引数の種類と状態との関係がすべて正しいと判断した場合に(ステップS107の「Yes」)、安全性に関する検証項目の選択を行う(ステップS108)。 Then, it is determined whether or not the relationship between the set flow data and the type and state of the argument of the cryptographic primitive is correct (step S107), and if it contains an incorrect one (“No” in step S107), the cryptographic protocol is Judge that it is not safe. On the other hand, when it is determined that the relationship between the set flow data and the type and state of the argument of the cryptographic primitive is all right (“Yes” in step S107), a verification item related to security is selected (step S108).
そして、選択した検証項目をすべて満足するか否かを判断し(ステップS109)、満足しないものを含む場合に(ステップS109の「No」)、暗号プロトコルは選択した安全性に関して安全ではないと判断し、選択した検証項目をすべて満足する場合に(ステップS109の「Yes」)、暗号プロトコルは安全であると判断する。 Then, it is determined whether or not all of the selected verification items are satisfied (step S109), and if any are not satisfied (“No” in step S109), it is determined that the cryptographic protocol is not secure with respect to the selected security. If all the selected verification items are satisfied (“Yes” in step S109), it is determined that the cryptographic protocol is secure.
したがって、本実施形態によれば、暗号プロトコルのうち、認証プロトコルと鍵交換プロトコルを安全性レベルに応じて検証することができる。 Therefore, according to the present embodiment, the authentication protocol and the key exchange protocol among the cryptographic protocols can be verified according to the security level.
なお、上述の一連の処理をプログラムとしてコンピュータ読み取り可能な記録媒体に記録し、この記録媒体に記録されたプログラムを暗号プロトコルの安全性検証装置に読み込ませ、実行することによって本発明の暗号プロトコルの安全性検証装置を実現することができる。 The above-described series of processing is recorded as a program on a computer-readable recording medium, and the program recorded on the recording medium is read by the cryptographic protocol security verification device and executed, thereby executing the cryptographic protocol of the present invention. A safety verification device can be realized.
また、WWW(World Wide Web)システムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。 In addition, if a WWW (World Wide Web) system is used, a homepage providing environment (or display environment) is also included. Further, the program may be transmitted from a computer storing the program in a storage device or the like to another computer via a transmission medium or by a transmission wave in the transmission medium. Here, the “transmission medium” for transmitting the program refers to a medium having a function of transmitting information, such as a network (communication network) such as the Internet or a communication line (communication line) such as a telephone line.
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータにすでに記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。 The program may be for realizing a part of the functions described above. Furthermore, what can implement | achieve the function mentioned above in combination with the program already recorded on the computer, what is called a difference file (difference program) may be sufficient.
以上、この発明の実施形態につき、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。 The embodiments of the present invention have been described in detail with reference to the drawings. However, the specific configuration is not limited to the embodiments, and includes designs and the like that do not depart from the gist of the present invention.
1・・・暗号プリミティブ列挙部
2・・・危殆化情報判定部
3・・・役割設定部
4・・・安全性根拠設定部
5・・・フロー列挙部
6・・・引数設定部
7・・・設定情報判定部
8・・・安全性選択部
9・・・検証項目判定部
10・・・安全性判定部
DESCRIPTION OF SYMBOLS 1 ... Cryptographic
Claims (7)
前記鍵交換プロトコルの能動的攻撃安全における検証項目として、鍵生成対象となる暗号プリミティブの引数に含まれる暗号プリミティブが識別不可能性または一方向性の性質を有し、該暗号プリミティブの引数がいずれもプロトコルに初めて現れた一時的な秘密情報と、別のセッションにおいて繰り返し使用可能でプロトコルに現れた長期的で完全な秘密情報または長期的で不完全な秘密情報を含んでいるか、をチェックすることを特徴とする暗号プロトコルの安全性検証装置。 For the key exchange protocol of the cryptographic protocol having at least a key sharing security function, the verification items in the key exchange protocol active attack safety, passive attack safety, offline dictionary attack safety, known key attack safety, forward secrecy are for example Bei the verification means for checking as verification item to verify the safety of the exchange protocol,
As a verification item in active attack security of the key exchange protocol, a cryptographic primitive included in an argument of a cryptographic primitive that is a key generation target has an indistinguishability property or a one-way property. Check whether it contains temporary secret information that first appeared in the protocol and long-term complete secret information or long-term incomplete secret information that can be used repeatedly in another session and appears in the protocol A cryptographic protocol security verification device characterized by the above .
前記鍵交換プロトコルの受動的攻撃安全における検証項目として、鍵生成対象となる暗号プリミティブが識別不可能性の性質を有し、該暗号プリミティブの引数がいずれもプロトコルに初めて現れた一時的な秘密情報を含んでいるか、あるいは鍵生成対象となる暗号プリミティブが一方向性の性質を有し、該暗号プリミティブの引数に含まれる暗号プリミティブが識別不可能性の性質を有し、該暗号プリミティブの引数がプロトコルに初めて現れた一時的な秘密情報を含んでいるか、をチェックすることを特徴とする暗号プロトコルの安全性検証装置。 For the key exchange protocol of the cryptographic protocol having at least a key sharing security function, the verification items in the key exchange protocol active attack safety, passive attack safety, offline dictionary attack safety, known key attack safety, forward secrecy are It has a verification means to check as a verification item to verify the safety of the exchange protocol,
As verification item in receiving dynamic attack safety of the key exchange protocol, it has the property of cryptographic primitives indistinguishability of the key generation target, first appeared temporary secret any cryptographic primitives argument protocol The cryptographic primitives that contain information or the key generation target have a one-way property, and the cryptographic primitives included in the cryptographic primitive argument have the unidentifiable property, and the cryptographic primitive argument A cryptographic protocol security verification device characterized by checking whether or not includes temporary secret information first appearing in the protocol.
前記鍵交換プロトコルのオフライン辞書攻撃安全における検証項目として、長期的で不完全な秘密情報を含む暗号プリミティブが一方向性の性質を有し、該暗号プリミティブの引数がいずれもプロトコルに初めて現れたか、同じセッションにおいて以前にプロトコルに現れたか、別のセッションにおいて繰り返し使用不可能でプロトコルに現れた一時的な秘密情報を含んでいるか、をチェックすることを特徴とする暗号プロトコルの安全性検証装置。 For the key exchange protocol of the cryptographic protocol having at least a key sharing security function, the verification items in the key exchange protocol active attack safety, passive attack safety, offline dictionary attack safety, known key attack safety, forward secrecy are It has a verification means to check as a verification item to verify the safety of the exchange protocol,
As a verification item in the off-line dictionary attack security of the key exchange protocol, a cryptographic primitive including long-term and incomplete secret information has a one-way property, and all the arguments of the cryptographic primitive first appeared in the protocol . An apparatus for verifying the security of a cryptographic protocol, characterized in that it checks whether it has previously appeared in the protocol in the same session or contains temporary secret information that has been repeatedly unavailable in another session and has appeared in the protocol .
前記鍵交換プロトコルの既知鍵攻撃安全における検証項目として、鍵生成対象となる暗号プリミティブが識別不可能性または一方向性の性質を有し、該暗号プリミティブの引数がいずれもプロトコルに初めて現れたか、同じセッションにおいて以前にプロトコルに現れたか、別のセッションにおいて繰り返し使用不可能でプロトコルに現れた一時的な秘密情報を含んでいるか、をチェックすることを特徴とする暗号プロトコルの安全性検証装置。 For the key exchange protocol of the cryptographic protocol having at least a key sharing security function, the verification items in the key exchange protocol active attack safety, passive attack safety, offline dictionary attack safety, known key attack safety, forward secrecy are It has a verification means to check as a verification item to verify the safety of the exchange protocol,
As a verification item in the known key attack security of the key exchange protocol, the cryptographic primitives that are key generation targets have indistinguishability or one-way properties, and all the arguments of the cryptographic primitives appear for the first time in the protocol, An apparatus for verifying the security of a cryptographic protocol, characterized by checking whether it has appeared in the protocol before in the same session, or contains temporary secret information that cannot be repeatedly used in another session and appears in the protocol.
前記鍵交換プロトコルのフォワード秘匿性における検証項目として、鍵生成対象となる暗号プリミティブが識別不可能性または一方向性の性質を有し、該暗号プリミティブの引数がいずれもプロトコルに初めて現れたか、同じセッションにおいて以前にプロトコルに現れたか、別のセッションにおいて繰り返し使用不可能でプロトコルに現れた一時的な秘密情報を含んでいるか、をチェックすることを特徴とする暗号プロトコルの安全性検証装置。 For the key exchange protocol of the cryptographic protocol having at least a key sharing security function, the verification items in the key exchange protocol active attack safety, passive attack safety, offline dictionary attack safety, known key attack safety, forward secrecy are It has a verification means to check as a verification item to verify the safety of the exchange protocol,
As a verification item in the forward secrecy of the key exchange protocol, the cryptographic primitive that is the key generation target has an indistinguishability property or a one-way property, and all the arguments of the cryptographic primitive appear in the protocol for the first time, or the same An apparatus for verifying the security of a cryptographic protocol, comprising: checking whether a session has previously appeared in a protocol or whether temporary secret information that has been repeatedly used in another session and has appeared in the protocol is included.
前記安全性検証装置は、暗号プリミティブ列挙手段と、危殆化情報判定手段と、役割設定手段と、安全性根拠設定手段と、フロー列挙手段と、引数設定手段と、設定情報判定手段と、安全性選択手段と、検証項目判定手段と、安全性判定手段と、を備え、
前記暗号プリミティブ列挙手段が、鍵交換プロトコルにおいて使用されている暗号プリミティブを列挙する第1のステップと、
前記危殆化情報判定手段が、前記列挙した暗号プリミティブについて、危殆化情報の有無を検証し、危殆化情報を有するものがある場合に、前記暗号プロトコルは安全ではないと判断する第2のステップと、
前記役割設定手段が、該列挙した暗号プリミティブの中に、危殆化情報を有するものがない場合に、前記暗号プリミティブの役割を設定する第3のステップと、
前記安全性根拠設定手段が、前記暗号プリミティブの安全性の根拠の設定を行う第4のステップと、
前記フロー列挙手段が、フローの列挙を行う第5のステップと、
前記引数設定手段が、フローデータと暗号プリミティブの引数の種類と状態とを設定する第6のステップと、
前記設定情報判定手段が、該設定したフローデータと暗号プリミティブの引数の種類と状態との関係が正しいか否かを判断し、正しくないものを含む場合に、前記暗号プロトコルは安全ではないと判断する第7のステップと、
前記安全性選択手段が、前記設定したフローデータと暗号プリミティブの引数の種類と状態との関係がすべて正しいと判断した場合に、安全性に関する検証項目の選択を、鍵交換プロトコルの能動的攻撃安全、受動的攻撃安全、オフライン辞書攻撃安全、既知鍵攻撃安全、フォワード秘匿性における検証項目の中から行う第8のステップと、
前記検証項目判定手段が、該選択した検証項目をすべて満足するか否かを判断し、満足しないものを含む場合に、前記暗号プロトコルは選択した安全性に関して安全ではないと判断する第9のステップと、
前記安全性判定手段が、前記選択した検証項目をすべて満足する場合に、前記暗号プロトコルは安全であると判断する第10のステップと、
を有することを特徴とする安全性検証方法。 A security verification method in a security verification device for verifying the security of a cryptographic protocol,
The safety verification device includes a cryptographic primitive enumeration unit, a compromise information determination unit, a role setting unit, a safety basis setting unit, a flow enumeration unit, an argument setting unit, a setting information determination unit, a safety A selection unit, a verification item determination unit, and a safety determination unit,
A first step in which the cryptographic primitive enumeration means enumerates cryptographic primitives used in a key exchange protocol;
A second step in which the compromise information determination means verifies the presence or absence of the compromise information for the enumerated cryptographic primitives, and determines that the cryptographic protocol is not secure if there is one having the compromise information; ,
A third step in which the role setting means sets the role of the cryptographic primitive when none of the enumerated cryptographic primitives has compromise information;
A fourth step in which the security basis setting means sets a security basis for the cryptographic primitive;
A fifth step in which the flow enumeration means enumerates flows;
A sixth step in which the argument setting means sets the type and state of arguments of flow data and cryptographic primitives;
The setting information determination means determines whether or not the relationship between the set flow data and the type and state of the argument of the cryptographic primitive is correct, and determines that the cryptographic protocol is not secure when it includes an incorrect one. A seventh step to:
When the security selection unit determines that the relationship between the set flow data and the type and state of the cryptographic primitive arguments are all correct, the selection of the verification items related to the security is performed, and the active attack safety of the key exchange protocol is selected. 8th step to be performed from the verification items in passive attack safety, offline dictionary attack security, known key attack safety, forward secrecy,
A ninth step in which the verification item determination means determines whether or not all of the selected verification items are satisfied, and determines that the cryptographic protocol is not secure with respect to the selected security if it includes items that do not satisfy When,
A tenth step for determining that the cryptographic protocol is safe when the security determination means satisfies all the selected verification items;
Safety verification method characterized by having a.
前記安全性検証装置は、暗号プリミティブ列挙手段と、危殆化情報判定手段と、役割設定手段と、安全性根拠設定手段と、フロー列挙手段と、引数設定手段と、設定情報判定手段と、安全性選択手段と、検証項目判定手段と、安全性判定手段と、を備え、
前記暗号プリミティブ列挙手段が、鍵交換プロトコルにおいて使用されている暗号プリミティブを列挙する第1のステップと、
前記危殆化情報判定手段が、前記列挙した暗号プリミティブについて、危殆化情報の有無を検証し、危殆化情報を有するものがある場合に、前記暗号プロトコルは安全ではないと判断する第2のステップと、
前記役割設定手段が、該列挙した暗号プリミティブの中に、危殆化情報を有するものがない場合に、前記暗号プリミティブの役割を設定する第3のステップと、
前記安全性根拠設定手段が、前記暗号プリミティブの安全性の根拠の設定を行う第4のステップと、
前記フロー列挙手段が、フローの列挙を行う第5のステップと、
前記引数設定手段が、フローデータと暗号プリミティブの引数の種類と状態とを設定する第6のステップと、
前記設定情報判定手段が、該設定したフローデータと暗号プリミティブの引数の種類と状態との関係が正しいか否かを判断し、正しくないものを含む場合に、前記暗号プロトコルは安全ではないと判断する第7のステップと、
前記安全性選択手段が、前記設定したフローデータと暗号プリミティブの引数の種類と状態との関係がすべて正しいと判断した場合に、安全性に関する検証項目の選択を、鍵交換プロトコルの能動的攻撃安全、受動的攻撃安全、オフライン辞書攻撃安全、既知鍵攻撃安全、フォワード秘匿性における検証項目の中から行う第8のステップと、
前記検証項目判定手段が、該選択した検証項目をすべて満足するか否かを判断し、満足しないものを含む場合に、前記暗号プロトコルは選択した安全性に関して安全ではないと判断する第9のステップと、
前記安全性判定手段が、前記選択した検証項目をすべて満足する場合に、前記暗号プロトコルは安全であると判断する第10のステップと、
をコンピュータに実行させるためのプログラム。 A program for causing a computer to execute a security verification method in a security verification device for verifying the security of a cryptographic protocol,
The safety verification device includes a cryptographic primitive enumeration unit, a compromise information determination unit, a role setting unit, a safety basis setting unit, a flow enumeration unit, an argument setting unit, a setting information determination unit, a safety A selection unit, a verification item determination unit, and a safety determination unit,
A first step in which the cryptographic primitive enumeration means enumerates cryptographic primitives used in a key exchange protocol;
A second step in which the compromise information determination means verifies the presence or absence of the compromise information for the enumerated cryptographic primitives, and determines that the cryptographic protocol is not secure if there is one having the compromise information; ,
A third step in which the role setting means sets the role of the cryptographic primitive when none of the enumerated cryptographic primitives has compromise information;
A fourth step in which the security basis setting means sets a security basis for the cryptographic primitive;
A fifth step in which the flow enumeration means enumerates flows;
A sixth step in which the argument setting means sets the type and state of arguments of flow data and cryptographic primitives;
The setting information determination means determines whether or not the relationship between the set flow data and the type and state of the argument of the cryptographic primitive is correct, and determines that the cryptographic protocol is not secure when it includes an incorrect one. A seventh step to:
When the security selection unit determines that the relationship between the set flow data and the type and state of the cryptographic primitive arguments are all correct, the selection of the verification items related to the security is performed, and the active attack safety of the key exchange protocol is selected. 8th step to be performed from the verification items in passive attack safety, offline dictionary attack security, known key attack safety, forward secrecy,
A ninth step in which the verification item determination means determines whether or not all of the selected verification items are satisfied, and determines that the cryptographic protocol is not secure with respect to the selected security if it includes items that do not satisfy When,
A tenth step for determining that the cryptographic protocol is safe when the security determination means satisfies all the selected verification items;
A program that causes a computer to execute.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2012224298A JP5511926B2 (en) | 2012-10-09 | 2012-10-09 | Cryptographic protocol security verification device, security verification method and program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2012224298A JP5511926B2 (en) | 2012-10-09 | 2012-10-09 | Cryptographic protocol security verification device, security verification method and program |
Related Parent Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2008165332A Division JP5188288B2 (en) | 2008-06-25 | 2008-06-25 | Cryptographic protocol security verification device, security verification method and program |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2013009441A JP2013009441A (en) | 2013-01-10 |
| JP5511926B2 true JP5511926B2 (en) | 2014-06-04 |
Family
ID=47676318
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2012224298A Expired - Fee Related JP5511926B2 (en) | 2012-10-09 | 2012-10-09 | Cryptographic protocol security verification device, security verification method and program |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP5511926B2 (en) |
-
2012
- 2012-10-09 JP JP2012224298A patent/JP5511926B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2013009441A (en) | 2013-01-10 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Bird et al. | Systematic design of a family of attack-resistant authentication protocols | |
| Kaeo | Designing network security | |
| KR100811419B1 (en) | How to defend against denial of service attacks in authentication protocol using public key cryptography | |
| US20190081798A1 (en) | Method and system for distributing attestation key and certificate in trusted computing | |
| CN101589569A (en) | Secure password distribution to a client device of a network | |
| CN110519300A (en) | Client key method for secure storing based on password bidirectional authentication | |
| WO2018112482A1 (en) | Method and system for distributing attestation key and certificate in trusted computing | |
| Verdult | The (in) security of proprietary cryptography | |
| Bhandari et al. | Enhancement of MD5 Algorithm for Secured Web Development. | |
| JP5188288B2 (en) | Cryptographic protocol security verification device, security verification method and program | |
| Yeh et al. | Securing Bluetooth Communications. | |
| Kobeissi | An analysis of the protonmail cryptographic architecture | |
| CN104394532A (en) | Anti-brute force safe log-in method for mobile terminal | |
| JP5511926B2 (en) | Cryptographic protocol security verification device, security verification method and program | |
| WO2024210737A1 (en) | A personal cryptograhic key generator for use in a computer implementable protocol for establishing a momentary trust zone | |
| Fischlin et al. | Fake it till you make it: Enhancing security of bluetooth secure connections via deferrable authentication | |
| Yang et al. | Formal analysis and systematic construction of two-factor authentication scheme (short paper) | |
| JP5597053B2 (en) | Authentication system, authentication method and program | |
| JP5368894B2 (en) | Verification device, verification method, and verification program for verifying protocol safety | |
| Geetha et al. | Introduction To Cryptography And Network Security | |
| Danezis | Trust as a methodological tool in security engineering | |
| Bella | What is correctness of security protocols? | |
| CN101197822A (en) | System for preventing information leakage and method for preventing information leakage based on the system | |
| Guo et al. | Security analysis of EMV channel establishment protocol in an enhanced security model | |
| Duc et al. | Grouping-proof protocol for rfid tags: Security definition and scalable construction |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20121009 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20131226 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140107 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140227 |
|
| 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: 20140318 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140325 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 5511926 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| LAPS | Cancellation because of no payment of annual fees |