JP2010010863A - Safety verification device, safety verification method, and program of encryption protocol - Google Patents

Safety verification device, safety verification method, and program of encryption protocol Download PDF

Info

Publication number
JP2010010863A
JP2010010863A JP2008165332A JP2008165332A JP2010010863A JP 2010010863 A JP2010010863 A JP 2010010863A JP 2008165332 A JP2008165332 A JP 2008165332A JP 2008165332 A JP2008165332 A JP 2008165332A JP 2010010863 A JP2010010863 A JP 2010010863A
Authority
JP
Japan
Prior art keywords
protocol
cryptographic
security
verification
primitive
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.)
Granted
Application number
JP2008165332A
Other languages
Japanese (ja)
Other versions
JP5188288B2 (en
Inventor
Yoki Ota
陽基 太田
Shinsaku Kiyomoto
晋作 清本
Toshiaki Tanaka
俊昭 田中
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 Research Inc
Original Assignee
KDDI R&D Laboratories Inc
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 R&D Laboratories Inc filed Critical KDDI R&D Laboratories Inc
Priority to JP2008165332A priority Critical patent/JP5188288B2/en
Publication of JP2010010863A publication Critical patent/JP2010010863A/en
Application granted granted Critical
Publication of JP5188288B2 publication Critical patent/JP5188288B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To verify an encryption protocol in accordance with a level of safety. <P>SOLUTION: In an authentication and key exchange protocol, regarding cryptographic primitives listed up, when there is risk information, it is determined the primitives are not safe. When there is no risk information, a role of the cryptographic primitive is set, evidence of safety is set, and flow data and the kind and state of the cryptographic primitive parameter are set. When a wrong relationship between the set flow data and the kind and state of the cryptographic primitive parameter is included, the encryption protocol is determined not to be safe. When all the relationships between the flow data and the kind and state of the cryptographic primitive parameter are determined to be correct, verification items regarding safety are selected. When there are verification items which are not satisfied, the encryption protocol is determined not to be safe; when all the selected verification items are satisfied, the encryption protocol is determined to be safe. <P>COPYRIGHT: (C)2010,JPO&INPIT

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に記載の記述では、「汎用結合可能安全性」と呼ばれる概念を利用した、暗号プロトコルの安全性を検証するための装置、方法、プログラムが開示されている。ここで、「汎用結合可能安全性」とは、ある暗号プロトコルがそのセキュリティ機能に関する理想機能を安全に実現するならば、この暗号プロトコルは安全であることを意味している。例えば、ある鍵交換プロトコルが鍵交換理想機能を安全に実現するならば、その鍵交換プロトコルは安全であることが示されたことになる。
特開2007−28447号公報 特開2008−35117号公報
For this reason, the descriptions described in Patent Document 1 and Patent Document 2 disclose an apparatus, a method, and a program for verifying the security of a cryptographic protocol using a concept called “general-linkable security”. Here, “general-linkable security” means that a cryptographic protocol is safe if the cryptographic protocol safely realizes an ideal function related to the security function. For example, if a key exchange protocol securely implements the key exchange ideal function, the key exchange protocol has been shown to be secure.
JP 2007-28447 A JP 2008-35117 A

上記の先行技術文献において使用されている「汎用結合可能安全性」は、現在最も強力な安全性であると言われており、理想機能はセキュリティ機能に要求されるすべての安全性を網羅する。そのため、ある暗号プロトコルがその理想機能を安全に実現するとき、この暗号プロトコルはセキュリティ機能に要求されるすべての安全性を満足することになる。   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 proposes a cryptographic protocol security verification device comprising verification means for verifying the security of an authentication protocol and a key exchange protocol among cryptographic protocols having at least authentication and key sharing security functions. Yes.

(2)本発明は、(1)の暗号プロトコルの安全性検証装置について、前記検証手段が、前記認証プロトコルの安全性を検証する検証項目として、認証プロトコルの能動的攻撃安全における検証項目を含むことを特徴とする暗号プロトコルの安全性検証装置を提案している。   (2) In the cryptographic protocol security verification apparatus according to (1), the verification unit includes a verification item for active attack security of the authentication protocol as a verification item for verifying the security of the authentication protocol. We propose a cryptographic protocol security verification device characterized by this.

(3)本発明は、(2)の暗号プロトコルの安全性検証装置について、前記認証プロトコルの能動的攻撃安全における検証項目として、前記検証手段が、認証対象となる暗号プリミティブが偽造不可能性の性質を有し、該暗号プリミティブの引数がいずれもプロトコルに初めて現れたか、同じセッションにおいて以前にプロトコルに現れたか、別のセッションにおいて繰り返し使用不可能でプロトコルに現れた一時的な公開情報であるか、または、プロトコルに初めて現れたか、同じセッションにおいて以前にプロトコルに現れたか、別のセッションにおいて繰り返し使用不可能でプロトコルに現れた一時的な秘密情報を含んでいるか、あるいは、認証対象となる暗号プリミティブが一方向性の性質を有し、該暗号プリミティブの引数がいずれもプロトコルに初めて現れた一時的な秘密情報を含んでいるか、をチェックすることを特徴とする暗号プロトコルの安全性検証装置を提案している。   (3) The present invention relates to the cryptographic protocol security verification device according to (2), wherein the verification means uses a verification that the cryptographic primitive to be authenticated cannot be counterfeited as a verification item in active attack security of the authentication protocol. Whether the cryptographic primitive argument appears for the first time in the protocol, previously appeared in the protocol in the same session, or is temporary public information that appeared in the protocol that could not be used repeatedly in another session Cryptographic primitives that either appear for the first time in the protocol, appear in the protocol before in the same session, contain temporary secret information that appears repeatedly in another session that cannot be used repeatedly, or are subject to authentication Has a one-way nature and no argument for the cryptographic primitive Also 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.

(4)本発明は、(1)の暗号プロトコルの安全性検証装置について、前記検証手段が、前記鍵交換プロトコルの安全性を検証する検証項目として、鍵交換プロトコルの能動的攻撃安全、受動的攻撃安全、オフライン辞書攻撃安全、既知鍵攻撃安全、フォワード秘匿性における検証項目を含むことを特徴とする暗号プロトコルの安全性検証装置を提案している。   (4) The present invention relates to the cryptographic protocol security verification apparatus according to (1), wherein the verification means uses the key exchange protocol as an active attack safety, passive as a verification item for verifying the security of the key exchange protocol. We have proposed a cryptographic protocol security verification device characterized by including verification items in attack security, offline dictionary attack security, known key attack security, and forward secrecy.

(5)本発明は、(4)の暗号プロトコルの安全性検証装置について、前記鍵交換プロトコルの能動的攻撃安全における検証項目として、鍵生成対象となる暗号プリミティブの引数に含まれる暗号プリミティブが識別不可能性または一方向性の性質を有し、該暗号プリミティブの引数がいずれもプロトコルに初めて現れた一時的な秘密情報と、別のセッションにおいて繰り返し使用可能でプロトコルに現れた長期的で完全な秘密情報または長期的で不完全な秘密情報を含んでいるか、をチェックすることを特徴とする暗号プロトコルの安全性検証装置を提案している。   (5) In the cryptographic protocol security verification apparatus of (4), the present invention identifies cryptographic primitives included in arguments of cryptographic primitives that are key generation targets as verification items in active attack security of the key exchange protocol. It is impossible or unidirectional in nature, and all of the cryptographic primitive arguments are temporary secrets that first appear in the protocol, and can be used repeatedly in different sessions and appear in the protocol An apparatus for verifying the security of a cryptographic protocol characterized by checking whether secret information or long-term incomplete secret information is included is proposed.

(6)本発明は、(4)の暗号プロトコルの安全性検証装置について、前記鍵交換プロトコルの受動的攻撃安全における検証項目として、鍵生成対象となる暗号プリミティブが識別不可能性の性質を有し、該暗号プリミティブの引数がいずれもプロトコルに初めて現れた一時的な秘密情報を含んでいるか、あるいは鍵生成対象となる暗号プリミティブが一方向性の性質を有し、該暗号プリミティブの引数に含まれる暗号プリミティブが識別不可能性の性質を有し、該暗号プリミティブの引数がプロトコルに初めて現れた一時的な秘密情報を含んでいるか、をチェックすることを特徴とする暗号プロトコルの安全性検証装置を提案している。   (6) In the cryptographic protocol security verification device according to (4), the cryptographic primitive as a key generation target has the property of being indistinguishable as a verification item in the passive attack security of the key exchange protocol. However, any of the cryptographic primitive arguments includes temporary secret information that appears for the first time in the protocol, or the cryptographic primitive that is the key generation target has a one-way property and is included in the cryptographic primitive arguments. Cryptographic protocol security verification device, characterized in that the cryptographic primitive has a property of indistinguishability and the argument of the cryptographic primitive contains temporary secret information that appears for the first time in the protocol Has proposed.

(7)本発明は、(4)の暗号プロトコルの安全性検証装置について、前記鍵交換プロトコルのオフライン辞書攻撃安全における検証項目として、長期的で不完全な秘密情報を含む暗号プリミティブが一方向性の性質を有し、該暗号プリミティブの引数がいずれもプロトコルに初めて現れたか、同じセッションにおいて以前にプロトコルに現れたか、別のセッションにおいて繰り返し使用不可能でプロトコルに現れた一時的な秘密情報を含んでいるか、をチェックすることを特徴とする暗号プロトコルの安全性検証装置を提案している。   (7) According to the present invention, in the cryptographic protocol security verification device of (4), a cryptographic primitive including long-term and incomplete secret information is unidirectional as a verification item in the off-line dictionary attack security of the key exchange protocol. Including any temporary secret information that appears for the first time in the protocol, either in the protocol for the first time, in the same session before in the protocol, or repeatedly unavailable in another session We have proposed a cryptographic protocol security verification device characterized by checking whether or not

(8)本発明は、(4)の暗号プロトコルの安全性検証装置について、前記鍵交換プロトコルの既知鍵攻撃安全における検証項目として、鍵生成対象となる暗号プリミティブが識別不可能性または一方向性の性質を有し、該暗号プリミティブの引数がいずれもプロトコルに初めて現れたか、同じセッションにおいて以前にプロトコルに現れたか、別のセッションにおいて繰り返し使用不可能でプロトコルに現れた一時的な秘密情報を含んでいるか、をチェックすることを特徴とする暗号プロトコルの安全性検証装置を提案している。   (8) In the cryptographic protocol security verification apparatus according to (4), the cryptographic primitive as a key generation target is indistinguishable or unidirectional as a verification item in the known key attack security of the key exchange protocol. Including any temporary secret information that appears for the first time in the protocol, either in the protocol for the first time, in the same session before in the protocol, or repeatedly unavailable in another session We have proposed a cryptographic protocol security verification device characterized by checking whether or not

(9)本発明は、(4)の暗号プロトコルの安全性検証装置について、前記鍵交換プロトコルのフォワード秘匿性における検証項目として、鍵生成対象となる暗号プリミティブが識別不可能性または一方向性の性質を有し、該暗号プリミティブの引数がいずれもプロトコルに初めて現れたか、同じセッションにおいて以前にプロトコルに現れたか、別のセッションにおいて繰り返し使用不可能でプロトコルに現れた一時的な秘密情報を含んでいるか、をチェックすることを特徴とする暗号プロトコルの安全性検証装置を提案している。   (9) The present invention relates to the cryptographic protocol security verification device according to (4), wherein the cryptographic primitive that is the key generation target is indistinguishable or unidirectional as a verification item in the forward secrecy of the key exchange protocol. Including any temporary secret information that has appeared in the protocol, either the 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 We have proposed a cryptographic protocol security verification device characterized in that

(10)本発明は、暗号プロトコルの安全性を検証するための安全性検証方法であって、認証および鍵交換プロトコルにおいて使用されている暗号プリミティブを列挙する第1のステップと、前記列挙した暗号プリミティブについて、危殆化情報の有無を検証し、危殆化情報を有するものがある場合に、前記暗号プロトコルは安全ではないと判断する第2のステップと、該列挙した暗号プリミティブの中に、危殆化情報を有するものがない場合に、前記暗号プリミティブの役割を設定する第3のステップと、前記暗号プリミティブの安全性の根拠の設定を行う第4のステップと、フローの列挙を行う第5のステップと、フローデータと暗号プリミティブの引数の種類と状態とを設定する第6のステップと、該設定したフローデータと暗号プリミティブの引数の種類と状態との関係が正しいか否かを判断し、正しくないものを含む場合に、前記暗号プロトコルは安全ではないと判断する第7のステップと、前記設定したフローデータと暗号プリミティブの引数の種類と状態との関係がすべて正しいと判断した場合に、安全性に関する検証項目の選択を行う第8のステップと、該選択した検証項目をすべて満足するか否かを判断し、満足しないものを含む場合に、前記暗号プロトコルは選択した安全性に関して安全ではないと判断する第9のステップと、前記選択した検証項目をすべて満足する場合に、前記暗号プロトコルは安全であると判断する第10のステップと、を有することを特徴とする安全性検証方法を提案している。   (10) The present invention provides a security verification method for verifying the security of a cryptographic protocol, the first step of enumerating cryptographic primitives used in the authentication and key exchange protocol, and the ciphers listed above A second step of verifying the presence or absence of compromise information for a primitive and determining that the cryptographic protocol is not secure if there is one with compromise information, and a compromise among the listed cryptographic primitives When there is no information, a third step for setting the role of the cryptographic primitive, a fourth step for setting a ground for security of the cryptographic primitive, and a fifth step for enumerating the flows And a sixth step for setting the flow data and the type and state of the argument of the cryptographic primitive, and the set flow data and the cryptographic pre-set. A seventh step of determining whether or not the relationship between the type of argument and the state of the Tive is correct, and including an incorrect one, and determining that the encryption protocol is not secure; and the set flow data and encryption If it is determined that the relationship between the types and states of the arguments of the primitives is all correct, an eighth step of selecting verification items regarding safety and whether or not all of the selected verification items are satisfied; A ninth step of determining that the cryptographic protocol is not secure with respect to the selected security if it includes an unsatisfactory one; and determining that the cryptographic protocol is secure if all of the selected verification items are satisfied A safety verification method characterized by having a tenth step.

(11)本発明は、コンピュータに、暗号プロトコルの安全性を検証するための安全性検証方法を実行させるためのプログラムであって、認証および鍵交換プロトコルにおいて使用されている暗号プリミティブを列挙する第1のステップと、前記列挙した暗号プリミティブについて、危殆化情報の有無を検証し、危殆化情報を有するものがある場合に、前記暗号プロトコルは安全ではないと判断する第2のステップと、該列挙した暗号プリミティブの中に、危殆化情報を有するものがない場合に、前記暗号プリミティブの役割を設定する第3のステップと、前記暗号プリミティブの安全性の根拠の設定を行う第4のステップと、フローの列挙を行う第5のステップと、フローデータと暗号プリミティブの引数の種類と状態とを設定する第6のステップと、該設定したフローデータと暗号プリミティブの引数の種類と状態との関係が正しいか否かを判断し、正しくないものを含む場合に、前記暗号プロトコルは安全ではないと判断する第7のステップと、前記設定したフローデータと暗号プリミティブの引数の種類と状態との関係がすべて正しいと判断した場合に、安全性に関する検証項目の選択を行う第8のステップと、該選択した検証項目をすべて満足するか否かを判断し、満足しないものを含む場合に、前記暗号プロトコルは選択した安全性に関して安全ではないと判断する第9のステップと、前記選択した検証項目をすべて満足する場合に、前記暗号プロトコルは安全であると判断する第10のステップと、コンピュータに実行させるためのプログラムを提案している。   (11) The present invention is a program for causing a computer to execute a security verification method for verifying the security of a cryptographic protocol, and enumerates cryptographic primitives used in an authentication and key exchange protocol. A first step that verifies the presence or absence of compromise information for the enumerated cryptographic primitives and determines that the cryptographic protocol is not secure if there is any compromise information; A third step for setting the role of the cryptographic primitive, and a fourth step for setting a basis for security of the cryptographic primitive when none of the cryptographic primitives has compromise information; A fifth step for enumerating flows, and a sixth step for setting the types and states of arguments of flow data and cryptographic primitives And 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 if it includes an incorrect one, it is determined that the cryptographic protocol is not secure An eighth step of selecting a verification item related to security when it is determined that all the relations between the step and the types and states of the arguments of the set flow data and the cryptographic primitive are correct, and the selected verification item is Ninth step for judging whether or not all are satisfied, and including those not satisfying, the ninth step for judging that the cryptographic protocol is not secure with respect to the selected security, and when all the selected verification items are satisfied The tenth step of determining that the cryptographic protocol is safe and a program for causing a computer to execute the program are proposed.

本発明によれば、暗号プロトコルのうち、認証プロトコルと鍵交換プロトコルを安全性レベルに応じて検証することができるという効果がある。   According to the present invention, an authentication protocol and a key exchange protocol among cryptographic protocols can be verified 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 above provable security, the authentication protocol matches
In conversion and key exchange protocol, there is a concept of security called semantic security. 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)
forward in the semantic security
The secrecy indicates that even if the attacker can obtain a long-term key such as a secret key or a password, the attacker cannot obtain a session key shared before that time.

ただし、パスワード、長期鍵をそれぞれ使用しない鍵交換プロトコルの場合、(2C)のオフライン辞書攻撃安全、(2E)のforward
secrecyの安全性はそれぞれ要求されない。
However, in the case of a key exchange protocol that does not use a password and a long-term key, (2C) offline dictionary attack security, (2E) forward
Security of security is not required for each.

<暗号プリミティブに設定される情報と記号>
認証・鍵交換プロトコルにおいて使用されている暗号プリミティブに設定される情報は以下のとおりである。
(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 the authenticator of the required message cannot be generated in polynomial time without knowing the 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 information determination unit 2, a role setting unit 3, a safety rationale setting unit 4, The flow enumeration unit 5, the argument setting unit 6, the setting information determination unit 7, the safety selection unit 8, the verification item determination unit 9, and the safety determination unit 10 are configured.

暗号プリミティブ列挙部1は、認証・鍵交換プロトコルにおいて使用されている暗号プリミティブをすべて列挙する。危殆化情報判定部2は、列挙された暗号プリミティブに対して危殆化情報があるかどうかを確認する。危殆化情報が1つでもある場合、安全性判定部10が、認証・鍵交換プロトコルは安全ではないと判定する。   The cryptographic primitive enumeration unit 1 lists all cryptographic primitives used in the authentication / key exchange protocol. The compromise information determination unit 2 confirms whether there is compromise information for the enumerated cryptographic primitives. If there is even one piece of compromise information, the security judgment unit 10 judges that the authentication / key exchange protocol is not secure.

役割設定部3は、列挙された暗号プリミティブのうち、暗号プリミティブの役割である情報、例えば、AGF、KGF、ACP、OCPを設定する。安全性根拠設定部4は、役割が設定された暗号プリミティブに対して、安全性の根拠となる情報、例えば、IND、OW、UFを設定する。   The role setting unit 3 sets information, for example, AGF, KGF, ACP, OCP, which is the role of the cryptographic primitive among the listed cryptographic primitives. The safety rationale setting unit 4 sets information that is a security rationale, for example, IND, OW, and UF, for cryptographic primitives for which roles are set.

フロー列挙部5は、認証・鍵交換プロトコルについて、すべてのフローを列挙する。引数設定部6は、列挙されたフローデータ及び暗号プリミティブについて、フローデータ及び暗号プリミティブの引数の種類、例えば、PUB、ID、TPK、LLK、PW、TSK等、およびフローデータ及び暗号プリミティブの引数の状態、例えば、PFT、PSS、PRS、PNS、SFT、SSS、SRS、SNS等の構成要素を設定する。   The flow enumeration unit 5 enumerates all the flows for the authentication / key exchange protocol. For the enumerated flow data and cryptographic primitives, the argument setting unit 6 specifies the types of arguments of the flow data and cryptographic primitives, such as PUB, ID, TPK, LLK, PW, TSK, and the arguments of the flow data and cryptographic primitives. The state, for example, PFT, PSS, PRS, PNS, SFT, SSS, SRS, SNS, and other components are set.

設定情報判定部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 security determination unit 10 determines that the authentication / key exchange protocol is not secure.

安全性選択部8は、認証・鍵交換プロトコルにおいて、要求されている安全性を選択する。なお、複数の安全性を選択してもよい。検証項目判定部9は、安全性選択部8が選択した安全性に対して、引数設定部6が設定した情報を用いて、前述した各安全性に関する検証項目を検証する。   The security selection unit 8 selects the required security in the authentication / key exchange protocol. A plurality of safety may be selected. The verification item determination unit 9 verifies the above-described verification items related to safety using the information set by the argument setting unit 6 for the safety selected by the safety selection unit 8.

ただし、検証項目を検証する前に、認証・鍵交換プロトコルにおける各安全性に応じて、以下の準備を行う。
<認証プロトコルに対する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 states c) Flow data types and states

なお、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 states c) Flow data types and states

なお、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 states c) Flow data types and states

なお、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 states c) Flow data types and states

なお、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.

本実施形態に係る暗号プロトコルの安全性検証装置の構成を示す図である。It is a figure which shows the structure of the security verification apparatus of the encryption protocol which concerns on this embodiment. 本実施形態に係るフローデータと暗号プリミティブの引数の種類と状態との関係を示す図である。It is a figure which shows the relationship between the kind and state of the flow data which concern on this embodiment, and the argument of a cryptographic primitive. 本実施形態に係る暗号プロトコルの安全性検証装置の処理フローである。It is a processing flow of the security verification apparatus of the encryption protocol which concerns on this embodiment.

符号の説明Explanation of symbols

1・・・暗号プリミティブ列挙部
2・・・危殆化情報判定部
3・・・役割設定部
4・・・安全性根拠設定部
5・・・フロー列挙部
6・・・引数設定部
7・・・設定情報判定部
8・・・安全性選択部
9・・・検証項目判定部
10・・・安全性判定部
DESCRIPTION OF SYMBOLS 1 ... Cryptographic primitive enumeration part 2 ... Compromise information determination part 3 ... Role setting part 4 ... Safety ground setting part 5 ... Flow enumeration part 6 ... Argument setting part 7 ... Setting information determination unit 8 ... Safety selection unit 9 ... Verification item determination unit 10 ... Safety determination unit

Claims (11)

少なくとも認証や鍵共有のセキュリティ機能を有する暗号プロトコルのうち、認証プロトコル及び鍵交換プロトコルの安全性を検証する検証手段を備えた暗号プロトコルの安全性検証装置。   A cryptographic protocol safety verification device comprising verification means for verifying the security of an authentication protocol and a key exchange protocol among cryptographic protocols having at least authentication and key sharing security functions. 前記検証手段が、前記認証プロトコルの安全性を検証する検証項目として、認証プロトコルの能動的攻撃安全における検証項目を含むことを特徴とする請求項1に記載の暗号プロトコルの安全性検証装置。   2. The cryptographic protocol security verification apparatus according to claim 1, wherein the verification means includes a verification item for active attack security of the authentication protocol as a verification item for verifying the security of the authentication protocol. 前記認証プロトコルの能動的攻撃安全における検証項目として、前記検証手段が、認証対象となる暗号プリミティブが偽造不可能性の性質を有し、該暗号プリミティブの引数がいずれもプロトコルに初めて現れたか、同じセッションにおいて以前にプロトコルに現れたか、別のセッションにおいて繰り返し使用不可能でプロトコルに現れた一時的な公開情報であるか、または、プロトコルに初めて現れたか、同じセッションにおいて以前にプロトコルに現れたか、別のセッションにおいて繰り返し使用不可能でプロトコルに現れた一時的な秘密情報を含んでいるか、あるいは、認証対象となる暗号プリミティブが一方向性の性質を有し、該暗号プリミティブの引数がいずれもプロトコルに初めて現れた一時的な秘密情報を含んでいるか、をチェックすることを特徴とする請求項2に記載の暗号プロトコルの安全性検証装置。   As a verification item in the active attack safety of the authentication protocol, the verification means is that the cryptographic primitive to be authenticated has the property of non-forgery, and all the arguments of the cryptographic primitive appear in the protocol for the first time. Whether it was previously published in the protocol in a session, is temporary public information that has been repeatedly unavailable in another session and has appeared in the protocol, or has first appeared in the protocol, previously appeared in the protocol in the same session, Or temporary secret information that appears in the protocol that cannot be used repeatedly in the current session, or the cryptographic primitive to be authenticated has a one-way property, and all the arguments of the cryptographic primitive are in the protocol Check whether it contains temporary confidential information that appears for the first time. Security verification device of the cryptographic protocol of claim 2, characterized in that the click. 前記検証手段が、前記鍵交換プロトコルの安全性を検証する検証項目として、鍵交換プロトコルの能動的攻撃安全、受動的攻撃安全、オフライン辞書攻撃安全、既知鍵攻撃安全、フォワード秘匿性における検証項目を含むことを特徴とする請求項1に記載の暗号プロトコルの安全性検証装置。   As verification items for verifying the security of the key exchange protocol, the verification means includes verification items for active attack safety, passive attack safety, offline dictionary attack safety, known key attack safety, and forward secrecy of the key exchange protocol. The cryptographic protocol security verification apparatus according to claim 1, further comprising: 前記鍵交換プロトコルの能動的攻撃安全における検証項目として、鍵生成対象となる暗号プリミティブの引数に含まれる暗号プリミティブが識別不可能性または一方向性の性質を有し、該暗号プリミティブの引数がいずれもプロトコルに初めて現れた一時的な秘密情報と、別のセッションにおいて繰り返し使用可能でプロトコルに現れた長期的で完全な秘密情報または長期的で不完全な秘密情報を含んでいるか、をチェックすることを特徴とする請求項4に記載の暗号プロトコルの安全性検証装置。   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 The cryptographic protocol security verification device according to claim 4, wherein: 前記鍵交換プロトコルの受動的攻撃安全における検証項目として、鍵生成対象となる暗号プリミティブが識別不可能性の性質を有し、該暗号プリミティブの引数がいずれもプロトコルに初めて現れた一時的な秘密情報を含んでいるか、あるいは鍵生成対象となる暗号プリミティブが一方向性の性質を有し、該暗号プリミティブの引数に含まれる暗号プリミティブが識別不可能性の性質を有し、該暗号プリミティブの引数がプロトコルに初めて現れた一時的な秘密情報を含んでいるか、をチェックすることを特徴とする請求項4に記載の暗号プロトコルの安全性検証装置。   As a verification item in the passive attack security of the key exchange protocol, the cryptographic primitives that are key generation targets have the property of being indistinguishable, and temporary secret information in which all the arguments of the cryptographic primitives appear for the first time in the protocol Or a cryptographic primitive that is a key generation target has a one-way property, a cryptographic primitive included in the cryptographic primitive argument has a non-identifiable property, and the cryptographic primitive argument is 5. The cryptographic protocol security verification device according to claim 4, wherein it is checked whether or not temporary secret information that appears for the first time in the protocol is included. 前記鍵交換プロトコルのオフライン辞書攻撃安全における検証項目として、長期的で不完全な秘密情報を含む暗号プリミティブが一方向性の性質を有し、該暗号プリミティブの引数がいずれもプロトコルに初めて現れたか、同じセッションにおいて以前にプロトコルに現れたか、別のセッションにおいて繰り返し使用不可能でプロトコルに現れた一時的な秘密情報を含んでいるか、をチェックすることを特徴とする請求項4に記載の暗号プロトコルの安全性検証装置。   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 appear in the protocol, Checking whether the cryptographic protocol according to claim 4 includes whether it contains temporary secret information that appeared previously in the protocol in the same session or that could not be used repeatedly in another session and appeared in the protocol. Safety verification device. 前記鍵交換プロトコルの既知鍵攻撃安全における検証項目として、鍵生成対象となる暗号プリミティブが識別不可能性または一方向性の性質を有し、該暗号プリミティブの引数がいずれもプロトコルに初めて現れたか、同じセッションにおいて以前にプロトコルに現れたか、別のセッションにおいて繰り返し使用不可能でプロトコルに現れた一時的な秘密情報を含んでいるか、をチェックすることを特徴とする請求項4に記載の暗号プロトコルの安全性検証装置。   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, Checking whether the cryptographic protocol according to claim 4 includes whether it contains temporary secret information that appeared previously in the protocol in the same session or that could not be used repeatedly in another session and appeared in the protocol. Safety verification device. 前記鍵交換プロトコルのフォワード秘匿性における検証項目として、鍵生成対象となる暗号プリミティブが識別不可能性または一方向性の性質を有し、該暗号プリミティブの引数がいずれもプロトコルに初めて現れたか、同じセッションにおいて以前にプロトコルに現れたか、別のセッションにおいて繰り返し使用不可能でプロトコルに現れた一時的な秘密情報を含んでいるか、をチェックすることを特徴とする請求項4に記載の暗号プロトコルの安全性検証装置。   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 5. The security of a cryptographic protocol according to claim 4, characterized in that it checks whether it has previously appeared in the protocol in a session or contains temporary secret information that has been repeatedly unavailable in another session and has appeared in the protocol. Sex verification device. 暗号プロトコルの安全性を検証するための安全性検証方法であって、
認証および鍵交換プロトコルにおいて使用されている暗号プリミティブを列挙する第1のステップと、
前記列挙した暗号プリミティブについて、危殆化情報の有無を検証し、危殆化情報を有するものがある場合に、前記暗号プロトコルは安全ではないと判断する第2のステップと、
該列挙した暗号プリミティブの中に、危殆化情報を有するものがない場合に、前記暗号プリミティブの役割を設定する第3のステップと、
前記暗号プリミティブの安全性の根拠の設定を行う第4のステップと、
フローの列挙を行う第5のステップと、
フローデータと暗号プリミティブの引数の種類と状態とを設定する第6のステップと、
該設定したフローデータと暗号プリミティブの引数の種類と状態との関係が正しいか否かを判断し、正しくないものを含む場合に、前記暗号プロトコルは安全ではないと判断する第7のステップと、
前記設定したフローデータと暗号プリミティブの引数の種類と状態との関係がすべて正しいと判断した場合に、安全性に関する検証項目の選択を行う第8のステップと、
該選択した検証項目をすべて満足するか否かを判断し、満足しないものを含む場合に、前記暗号プロトコルは選択した安全性に関して安全ではないと判断する第9のステップと、
前記選択した検証項目をすべて満足する場合に、前記暗号プロトコルは安全であると判断する第10のステップと、
を有することを特徴とする安全性検証方法。
A security verification method for verifying the security of a cryptographic protocol,
A first step enumerating cryptographic primitives used in an authentication and key exchange protocol;
A second step of verifying the presence or absence of compromise information for the listed cryptographic primitives and determining that the cryptographic protocol is not secure if there is any compromise information;
A third step of setting a role of the cryptographic primitive when none of the enumerated cryptographic primitives has compromise information;
A fourth step of setting a basis for security of the cryptographic primitive;
A fifth step of enumerating flows;
A sixth step of setting the type and state of arguments of flow data and cryptographic primitives;
A seventh step of determining 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 determining that the cryptographic protocol is not secure when including the incorrect one;
An eighth step of selecting a verification item related to security when it is determined that all the relations between the set flow data and the types and states of the arguments of the cryptographic primitive are correct;
A ninth step of determining whether or not all the selected verification items are satisfied, and determining that the cryptographic protocol is not secure with respect to the selected security if it includes those that are not satisfied;
A tenth step of determining that the cryptographic protocol is secure if all of the selected verification items are satisfied;
A safety verification method characterized by comprising:
コンピュータに、暗号プロトコルの安全性を検証するための安全性検証方法を実行させるためのプログラムであって、
認証および鍵交換プロトコルにおいて使用されている暗号プリミティブを列挙する第1のステップと、
前記列挙した暗号プリミティブについて、危殆化情報の有無を検証し、危殆化情報を有するものがある場合に、前記暗号プロトコルは安全ではないと判断する第2のステップと、
該列挙した暗号プリミティブの中に、危殆化情報を有するものがない場合に、前記暗号プリミティブの役割を設定する第3のステップと、
前記暗号プリミティブの安全性の根拠の設定を行う第4のステップと、
フローの列挙を行う第5のステップと、
フローデータと暗号プリミティブの引数の種類と状態とを設定する第6のステップと、
該設定したフローデータと暗号プリミティブの引数の種類と状態との関係が正しいか否かを判断し、正しくないものを含む場合に、前記暗号プロトコルは安全ではないと判断する第7のステップと、
前記設定したフローデータと暗号プリミティブの引数の種類と状態との関係がすべて正しいと判断した場合に、安全性に関する検証項目の選択を行う第8のステップと、
該選択した検証項目をすべて満足するか否かを判断し、満足しないものを含む場合に、前記暗号プロトコルは選択した安全性に関して安全ではないと判断する第9のステップと、
前記選択した検証項目をすべて満足する場合に、前記暗号プロトコルは安全であると判断する第10のステップと、
コンピュータに実行させるためのプログラム。
A program for causing a computer to execute a security verification method for verifying the security of a cryptographic protocol,
A first step enumerating cryptographic primitives used in an authentication and key exchange protocol;
A second step of verifying the presence or absence of compromise information for the listed cryptographic primitives and determining that the cryptographic protocol is not secure if there is any compromise information;
A third step of setting a role of the cryptographic primitive when none of the enumerated cryptographic primitives has compromise information;
A fourth step of setting a basis for security of the cryptographic primitive;
A fifth step of enumerating flows;
A sixth step of setting the type and state of arguments of flow data and cryptographic primitives;
A seventh step of determining 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 determining that the cryptographic protocol is not secure when including the incorrect one;
An eighth step of selecting a verification item related to security when it is determined that all of the relation between the set flow data and the type and state of the argument of the cryptographic primitive are correct;
A ninth step of determining whether or not all the selected verification items are satisfied, and determining that the cryptographic protocol is not secure with respect to the selected security if it includes those that are not satisfied;
A tenth step of determining that the cryptographic protocol is secure if all of the selected verification items are satisfied;
A program that causes a computer to execute.
JP2008165332A 2008-06-25 2008-06-25 Cryptographic protocol security verification device, security verification method and program Expired - Fee Related JP5188288B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008165332A JP5188288B2 (en) 2008-06-25 2008-06-25 Cryptographic protocol security verification device, security verification method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008165332A JP5188288B2 (en) 2008-06-25 2008-06-25 Cryptographic protocol security verification device, security verification method and program

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2012224298A Division JP5511926B2 (en) 2012-10-09 2012-10-09 Cryptographic protocol security verification device, security verification method and program

Publications (2)

Publication Number Publication Date
JP2010010863A true JP2010010863A (en) 2010-01-14
JP5188288B2 JP5188288B2 (en) 2013-04-24

Family

ID=41590869

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008165332A Expired - Fee Related JP5188288B2 (en) 2008-06-25 2008-06-25 Cryptographic protocol security verification device, security verification method and program

Country Status (1)

Country Link
JP (1) JP5188288B2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012044277A (en) * 2010-08-13 2012-03-01 Kddi Corp Verification apparatus, verification method, and verification program for verifying security of protocol
KR20170131360A (en) 2015-03-27 2017-11-29 가부시키가이샤 유야마 세이사쿠쇼 Drug distribution device
US11038912B2 (en) 2016-11-18 2021-06-15 Continental Automotive Gmbh Method of selecting the most secure communication path
WO2022161327A1 (en) * 2021-01-29 2022-08-04 威讯柏睿数据科技(北京)有限公司 Streaming data processing method and system for multi-level security protection

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
JPN6012040232; 清本晋作他: '証明可能安全性を考慮したセキュリティプロトコル検証ツールの検討' 電子情報通信学会技術研究報告 第104巻 第315号, 20040910, p.1-8 *
JPN6012040233; 清本晋作他: '証明可能安全性を考慮したセキュリティプロトコル検証ツールの実装' 電子情報通信学会技術研究報告 第104巻 第731号, 20050310, p.25-30 *
JPN6012040234; 太田陽基他: 'セキュリティプロトコルの自動生成・カスタマイズ技術に関する研究開発I' コンピュータセキュリティシンポジウム2007論文集 , 20071031, p.217-222 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012044277A (en) * 2010-08-13 2012-03-01 Kddi Corp Verification apparatus, verification method, and verification program for verifying security of protocol
KR20170131360A (en) 2015-03-27 2017-11-29 가부시키가이샤 유야마 세이사쿠쇼 Drug distribution device
US11038912B2 (en) 2016-11-18 2021-06-15 Continental Automotive Gmbh Method of selecting the most secure communication path
WO2022161327A1 (en) * 2021-01-29 2022-08-04 威讯柏睿数据科技(北京)有限公司 Streaming data processing method and system for multi-level security protection

Also Published As

Publication number Publication date
JP5188288B2 (en) 2013-04-24

Similar Documents

Publication Publication Date Title
KR100811419B1 (en) Countermeasure Against Denial-of-Service Attack in Authentication Protocols Using Public-Key Encryption
Bird et al. Systematic design of a family of attack-resistant authentication protocols
Yang et al. Provably secure three-party authenticated key agreement protocol using smart cards
JP5188288B2 (en) Cryptographic protocol security verification device, security verification method and program
Yeh et al. Securing Bluetooth Communications.
Burr Cryptographic hash standards: Where do we go from here?
Safkhani et al. Tag impersonation attack on two RFID mutual authentication protocols
CN104394532A (en) Anti-brute force safe log-in method for mobile terminal
JP5511926B2 (en) Cryptographic protocol security verification device, security verification method and program
Kobeissi An analysis of the protonmail cryptographic architecture
US20220078184A1 (en) Method, apparatus, and computer program product for secure two-factor authentication
Azad et al. A lightweight protocol for RFID authentication
Yang et al. Formal analysis and systematic construction of two-factor authentication scheme (short paper)
CN104469750A (en) Autonomous controllable mobile internet business method and device
JP5368894B2 (en) Verification device, verification method, and verification program for verifying protocol safety
Hein et al. An autonomous attestation token to secure mobile agents in disaster response
JP5524763B2 (en) Verification device, verification method, and verification program for verifying protocol safety
Danezis Trust as a methodological tool in security engineering
US20080289004A1 (en) Method and Module for Protecting Against Attacks in a High-Speed Network
Bella What is correctness of security protocols?
JP5597053B2 (en) Authentication system, authentication method and program
JP5368903B2 (en) Verification device, verification method, and verification program for verifying protocol safety
Duc et al. Grouping-proof protocol for rfid tags: Security definition and scalable construction
Lee et al. Efficient three‐party encrypted key exchange using trapdoor functions
Guo et al. Security analysis of EMV channel establishment protocol in an enhanced security model

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110316

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120726

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120807

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121009

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121106

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121226

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: 20130122

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130122

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160201

Year of fee payment: 3

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