Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP5188288B2 - Cryptographic protocol security verification device, security verification method and program - Google Patents
[go: Go Back, main page]

JP5188288B2 - Cryptographic protocol security verification device, security verification method and program - Google Patents

Cryptographic protocol security verification device, security verification method and program Download PDF

Info

Publication number
JP5188288B2
JP5188288B2 JP2008165332A JP2008165332A JP5188288B2 JP 5188288 B2 JP5188288 B2 JP 5188288B2 JP 2008165332 A JP2008165332 A JP 2008165332A JP 2008165332 A JP2008165332 A JP 2008165332A JP 5188288 B2 JP5188288 B2 JP 5188288B2
Authority
JP
Japan
Prior art keywords
protocol
cryptographic
security
verification
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2008165332A
Other languages
Japanese (ja)
Other versions
JP2010010863A (en
Inventor
陽基 太田
晋作 清本
俊昭 田中
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
KDDI 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

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) In the present invention, at least for an authentication protocol of a cryptographic protocol having an authentication security function, in order to verify the security of the authentication protocol, the cryptographic primitive to be authenticated has the property of being unforgeable, Either the argument of the cryptographic primitive appears for the first time in the protocol, previously appeared in the protocol in the same session, is temporarily public information that appears repeatedly in the protocol that cannot be used repeatedly in another session, or Contains temporary secrets that appear for the first time, appear in the protocol before in the same session, cannot be repeatedly used in another session and appear in the protocol, or the cryptographic primitives to be authenticated are one-way And the argument of the cryptographic primitive is Even if it includes a temporary secret information first appeared in the protocol, we propose a security verification system of the cryptographic protocol with a verification means for checking the verification item in active attack security of the authentication protocol.

(2)本発明は、暗号プリミティブ列挙部と、危殆化情報判定部と、役割設定部と、安全性根拠設定部と、フロー列挙部と、引数設定部と、設定情報判定部と、安全性選択部と、検証項目判定部とを備えた暗号プロトコルの安全性検証装置における暗号プロトコルの安全性を検証するための安全性検証方法であって、前記暗号プリミティブ列挙部が、暗号プロトコルにおいて使用されている暗号プリミティブを列挙する第1のステップと、前記危殆化情報判定部が、前記列挙した暗号プリミティブについて、危殆化情報の有無を検証し、危殆化情報を有するものがある場合に、前記暗号プロトコルは安全ではないと判断する第2のステップと、前記役割設定部が、前記列挙した暗号プリミティブの中に、危殆化情報を有するものがない場合に、前記暗号プリミティブの役割を設定する第3のステップと、前記安全性根拠設定部が、前記暗号プリミティブの安全性の根拠の設定を行う第4のステップと、前記フロー列挙部が、フローの列挙を行う第5のステップと、前記引数設定部が、フローデータと暗号プリミティブの引数の種類と状態とを設定する第6のステップと、前記設定情報判定部が、該設定したフローデータと暗号プリミティブの引数の種類と状態との関係が正しいか否かを判断し、正しくないものを含む場合に、前記暗号プロトコルは安全ではないと判断する第7のステップと、前記安全性選択部が、前記設定したフローデータと暗号プリミティブの引数の種類と状態との関係がすべて正しいと判断した場合に、前記認証プロトコルの能動的攻撃安全における検証項目として、対象となる暗号プリミティブが偽造不可能性の性質を有し、該暗号プリミティブの引数がいずれもプロトコルに初めて現れたか、同じセッションにおいて以前にプロトコルに現れたか、別のセッションにおいて繰り返し使用不可能でプロトコルに現れた一時的な公開情報であるか、または、プロトコルに初めて現れたか、同じセッションにおいて以前にプロトコルに現れたか、別のセッションにおいて繰り返し使用不可能で、プロトコルに現れた一時的な秘密情報を含んでいるか、あるいは、認証対象となる暗号プリミティブが一方向性の性質を有し、該暗号プリミティブの引数がいずれもプロトコルに初めて現れた一時的な秘密情報を含んでいるか、をチェックする第8のステップと、前記検証項目判定部が、前記認証プロトコルの能動的攻撃安全における検証項目をすべて満足するか否かを判断し、満足しないものを含む場合に、前記暗号プロトコルは選択した安全性に関して安全ではないと判断する第9のステップと、前記検証項目判定部が、前記認証プロトコルの能動的攻撃安全における検証項目をすべて満足する場合に、前記暗号プロトコルは安全であると判断する第10のステップと、を有することを特徴とする安全性検証方法を提案している。 (2) The present invention provides a cryptographic primitive enumeration unit, a compromise information determination unit, a role setting unit, a safety reason setting unit, a flow enumeration unit, an argument setting unit, a setting information determination unit, a safety A safety verification method for verifying the security of a cryptographic protocol in a cryptographic protocol security verification device comprising a selection unit and a verification item determination unit , wherein the cryptographic primitive enumeration unit is used in a cryptographic protocol A first step of enumerating encrypted primitives, and the compromised information determination unit verifies the presence or absence of compromised information for the enumerated cryptographic primitives, and if there is a compromised information, the encryption a second step of determining that the protocol is not safe, the role setting unit, in a cryptographic primitives enumerated above, if there is no one having a compromise information A third step of setting the role of the cryptographic primitives, said safety grounds setting unit, and a fourth step for setting a basis for security of the cryptographic primitives, the flow enumeration unit, an enumeration of the flow A fifth step of performing, a sixth step in which the argument setting unit sets the type and state of arguments of the flow data and the cryptographic primitive, and a setting information determination unit in which the set flow data and cryptographic primitive are A seventh step of determining whether or not the relationship between the type of argument and the state is correct, and including an incorrect one, and determining that the cryptographic protocol is not secure; Verification items in the active attack security of the authentication protocol when it is determined that the relationship between the flow data and the type and state of the arguments of the cryptographic primitive are all correct Thus, the target cryptographic primitive has the property of non-forgery, and any argument of the cryptographic primitive has first appeared in the protocol, has previously appeared in the protocol in the same session, or is not repeatedly used in another session. Possible temporary public information that appeared in the protocol, or that appeared in the protocol for the first time, appeared in the protocol before in the same session, or could not be used repeatedly in another session, and appeared temporarily in the protocol Check whether secret information is included, or whether the cryptographic primitives to be authenticated have a one-way property, and all the arguments of the cryptographic primitives contain temporary secret information that appears for the first time in the protocol And an eighth step of the verification item determination unit Ninth step for determining whether or not all verification items in active attack security are satisfied, and including those not satisfying, a ninth step for determining that the cryptographic protocol is not safe with respect to the selected security, and the verification items A security verification method comprising: a tenth step for determining that the cryptographic protocol is secure when the determination unit satisfies all verification items in active attack security of the authentication protocol; is suggesting.

(3)本発明は、暗号プリミティブ列挙部と、危殆化情報判定部と、役割設定部と、安全性根拠設定部と、フロー列挙部と、引数設定部と、設定情報判定部と、安全性選択部と、検証項目判定部とを備えた暗号プロトコルの安全性検証装置における暗号プロトコルの安全性を検証するための安全性検証方法をコンピュータに実行させるためのプログラムであって、前記暗号プリミティブ列挙部が、暗号プロトコルにおいて使用されている暗号プリミティブを列挙する第1のステップと、前記危殆化情報判定部が、前記列挙した暗号プリミティブについて、危殆化情報の有無を検証し、危殆化情報を有するものがある場合に、前記暗号プロトコルは安全ではないと判断する第2のステップと、前記役割設定部が、前記列挙した暗号プリミティブの中に、危殆化情報を有するものがない場合に、前記暗号プリミティブの役割を設定する第3のステップと、前記安全性根拠設定部が、前記暗号プリミティブの安全性の根拠の設定を行う第4のステップと、前記フロー列挙部が、フローの列挙を行う第5のステップと、前記引数設定部が、フローデータと暗号プリミティブの引数の種類と状態とを設定する第6のステップと、前記設定情報判定部が、該設定したフローデータと暗号プリミティブの引数の種類と状態との関係が正しいか否かを判断し、正しくないものを含む場合に、前記暗号プロトコルは安全ではないと判断する第7のステップと、前記安全性選択部が、前記設定したフローデータと暗号プリミティブの引数の種類と状態との関係がすべて正しいと判断した場合に、前記認証プロトコルの能動的攻撃安全における検証項目として、対象となる暗号プリミティブが偽造不可能性の性質を有し、該暗号プリミティブの引数がいずれもプロトコルに初めて現れたか、同じセッションにおいて以前にプロトコルに現れたか、別のセッションにおいて繰り返し使用不可能でプロトコルに現れた一時的な公開情報であるか、または、プロトコルに初めて現れたか、同じセッションにおいて以前にプロトコルに現れたか、別のセッションにおいて繰り返し使用不可能で、プロトコルに現れた一時的な秘密情報を含んでいるか、あるいは、認証対象となる暗号プリミティブが一方向性の性質を有し、該暗号プリミティブの引数がいずれもプロトコルに初めて現れた一時的な秘密情報を含んでいるか、をチェックする第8のステップと、前記検証項目判定部が、前記認証プロトコルの能動的攻撃安全における検証項目をすべて満足するか否かを判断し、満足しないものを含む場合に、前記暗号プロトコルは選択した安全性に関して安全ではないと判断する第9のステップと、前記検証項目判定部が、前記認証プロトコルの能動的攻撃安全における検証項目をすべて満足する場合に、前記暗号プロトコルは安全であると判断する第10のステップと、をコンピュータに実行させるためのプログラムを提案している。
(3) The present invention provides a cryptographic primitive enumeration unit, a compromise information determination unit, a role setting unit, a safety reason setting unit, a flow enumeration unit, an argument setting unit, a setting information determination unit, a safety A program for causing a computer to execute a security verification method for verifying the security of a cryptographic protocol in a cryptographic protocol security verification device comprising a selection unit and a verification item determination unit , the cryptographic primitive enumeration A first step of enumerating cryptographic primitives used in a cryptographic protocol, and the compromise information determining unit verifying the presence or absence of compromise information for the listed cryptographic primitives and having compromise information If there is one, the cryptographic protocol and a second step of determining unsafe, the role setting unit, the cryptographic primitives enumerated above During, when no one having a compromise information, a third step of setting the role of the cryptographic primitives, said safety grounds setting unit, first to set the basis for security of the cryptographic primitives 4 The flow enumeration unit for enumerating the flow, the argument setting unit for setting the flow data and the type and state of the cryptographic primitive arguments, and the setting. The information determining unit 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. 7 and steps, when the safety selection unit, the relationship between the type and state of the arguments of the flow data and the cryptographic primitives described above setting is determined that all correct, the authentication As a verification item in the active attack security of the protocol, whether the target cryptographic primitive has the property of non-forgery and whether any argument of the cryptographic primitive first appeared in the protocol or previously appeared in the protocol in the same session , Temporary public information that appears in the protocol that cannot be used repeatedly in another session, or that appeared for the first time in the protocol, previously appeared in the protocol in the same session, or cannot be used repeatedly in another session Contains temporary secret information that appears in the protocol, or the cryptographic primitive to be authenticated has a one-way nature, and all the arguments of the cryptographic primitive appear in the protocol for the first time An eighth step of checking whether information is included; When the verification item determination unit determines whether or not all verification items in the active attack security of the authentication protocol are satisfied, and includes those not satisfied, the cryptographic protocol is not secure with respect to the selected security A ninth step of determining, and a tenth step of determining that the cryptographic protocol is safe when the verification item determination unit satisfies all verification items in active attack security of the authentication protocol. Proposes a program to be executed by a computer.

本発明によれば、暗号プロトコルのうち、認証プロトコルを安全性レベルに応じて検証することができるという効果がある。 According to the present invention, there is an effect that an authentication protocol among cryptographic protocols can be verified according to a 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). 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 (3)

少なくとも、認証のセキュリティ機能を有する暗号プロトコルの認証プロトコルについて、該認証プロトコルの安全性の検証をするために、認証対象となる暗号プリミティブが偽造不可能性の性質を有し、該暗号プリミティブの引数がいずれもプロトコルに初めて現れたか、同じセッションにおいて以前にプロトコルに現れたか、別のセッションにおいて繰り返し使用不可能で、プロトコルに現れた一時的な公開情報であるか、または、プロトコルに初めて現れたか、同じセッションにおいて以前にプロトコルに現れたか、別のセッションにおいて繰り返し使用不可能で、プロトコルに現れた一時的な秘密情報を含んでいるか、あるいは、認証対象となる暗号プリミティブが一方向性の性質を有し、該暗号プリミティブの引数がいずれもプロトコルに初めて現れた一時的な秘密情報を含んでいるかを、前記認証プロトコルの能動的攻撃安全における検証項目としてチェックする検証手段を備えた暗号プロトコルの安全性検証装置。     At least for an authentication protocol of a cryptographic protocol having an authentication security function, in order to verify the security of the authentication protocol, the cryptographic primitive to be authenticated has the property of non-forgery, and the argument of the cryptographic primitive Are either first appearing in the protocol, previously appearing in the same session in the same session, are temporarily unavailable in other sessions and are temporary public information appearing in the protocol, or first appearing in the protocol, Either it appears in the protocol before in the same session, cannot be used repeatedly in another session, contains temporary secret information that appears in the protocol, or the cryptographic primitives to be authenticated have a one-way nature. However, all the arguments of the cryptographic primitive are Or it contains a first appeared temporary secret information Col security verification device of the cryptographic protocol with a verification means for checking the verification item in active attack security of the authentication protocol. 暗号プリミティブ列挙部と、危殆化情報判定部と、役割設定部と、安全性根拠設定部と、フロー列挙部と、引数設定部と、設定情報判定部と、安全性選択部と、検証項目判定部とを備えた暗号プロトコルの安全性検証装置における暗号プロトコルの安全性を検証するための安全性検証方法であって、前記暗号プリミティブ列挙部が、暗号プロトコルにおいて使用されている暗号プリミティブを列挙する第1のステップと、前記危殆化情報判定部が、前記列挙した暗号プリミティブについて、危殆化情報の有無を検証し、危殆化情報を有するものがある場合に、前記暗号プロトコルは安全ではないと判断する第2のステップと、前記役割設定部が、前記列挙した暗号プリミティブの中に、危殆化情報を有するものがない場合に、前記暗号プリミティブの役割を設定する第3のステップと、前記安全性根拠設定部が、前記暗号プリミティブの安全性の根拠の設定を行う第4のステップと、前記フロー列挙部が、フローの列挙を行う第5のステップと、前記引数設定部が、フローデータと暗号プリミティブの引数の種類と状態とを設定する第6のステップと、前記設定情報判定部が、該設定したフローデータと暗号プリミティブの引数の種類と状態との関係が正しいか否かを判断し、正しくないものを含む場合に、前記暗号プロトコルは安全ではないと判断する第7のステップと、前記安全性選択部が、前記設定したフローデータと暗号プリミティブの引数の種類と状態との関係がすべて正しいと判断した場合に、前記認証プロトコルの能動的攻撃安全における検証項目として、対象となる暗号プリミティブが偽造不可能性の性質を有し、該暗号プリミティブの引数がいずれもプロトコルに初めて現れたか、同じセッションにおいて以前にプロトコルに現れたか、別のセッションにおいて繰り返し使用不可能でプロトコルに現れた一時的な公開情報であるか、または、プロトコルに初めて現れたか、同じセッションにおいて以前にプロトコルに現れたか、別のセッションにおいて繰り返し使用不可能で、プロトコルに現れた一時的な秘密情報を含んでいるか、あるいは、認証対象となる暗号プリミティブが一方向性の性質を有し、該暗号プリミティブの引数がいずれもプロトコルに初めて現れた一時的な秘密情報を含んでいるか、をチェックする第8のステップと、前記検証項目判定部が、前記認証プロトコルの能動的攻撃安全における検証項目をすべて満足するか否かを判断し、満足しないものを含む場合に、前記暗号プロトコルは選択した安全性に関して安全ではないと判断する第9のステップと、前記検証項目判定部が、前記認証プロトコルの能動的攻撃安全における検証項目をすべて満足する場合に、前記暗号プロトコルは安全であると判断する第10のステップと、を有することを特徴とする安全性検証方法。 Cryptographic primitive enumeration unit, compromise information determination unit, role setting unit, safety reason setting unit, flow enumeration unit, argument setting unit, setting information determination unit, security selection unit, and verification item determination A security verification method for verifying the security of a cryptographic protocol in a cryptographic protocol security verification device comprising: a cryptographic primitive enumeration unit enumerating cryptographic primitives used in the cryptographic protocol In the first step, the compromise information determination unit verifies the presence or absence of compromise information for the enumerated cryptographic primitives, and determines that the cryptographic protocol is not safe if there is any compromise information. a second step of, the role setting unit, in a cryptographic primitives enumerated above, if there is no one having a compromise information, the cryptographic primitives Performing a third step of setting the role of I blanking, the safety grounds setting unit, and a fourth step for setting a basis for security of the cryptographic primitives, the flow enumeration unit, an enumeration of the flow A fifth step, a sixth step in which the argument setting unit sets the type and state of the flow data and the argument of the cryptographic primitive, and the setting information determination unit sets the flow data and the argument of the cryptographic primitive. The relationship between the type and the state of whether or not the relationship between the type and the state is correct, and when it includes an incorrect one, a seventh step for determining that the cryptographic protocol is not secure, and the security selector sets the set When it is determined that the relationship between the flow data and the type and state of the cryptographic primitive arguments are all correct, the verification protocol in the active attack security of the authentication protocol is subject to verification. A cryptographic primitive has the property of non-forgery and any of the cryptographic primitive arguments first appeared in the protocol, previously appeared in the protocol in the same session, or appeared in the protocol repeatedly unusable in another session Whether it is temporary public information, or it appears for the first time in the protocol, previously appeared in the protocol in the same session, or cannot be used repeatedly in another session and contains temporary confidential information that appears in the protocol Or an eighth step of checking whether the cryptographic primitive to be authenticated has a one-way property, and any of the arguments of the cryptographic primitive includes temporary secret information first appearing in the protocol; The verification item determination unit makes the active attack safety of the authentication protocol safe. Determining whether or not all the verification items are satisfied, and including a non-satisfied one, the ninth step of determining that the cryptographic protocol is not secure with respect to the selected security, and the verification item determination unit, And a tenth step of determining that the cryptographic protocol is secure when all of the verification items in the active attack security of the authentication protocol are satisfied. 暗号プリミティブ列挙部と、危殆化情報判定部と、役割設定部と、安全性根拠設定部と、フロー列挙部と、引数設定部と、設定情報判定部と、安全性選択部と、検証項目判定部とを備えた暗号プロトコルの安全性検証装置における暗号プロトコルの安全性を検証するための安全性検証方法をコンピュータに実行させるためのプログラムであって、前記暗号プリミティブ列挙部が、暗号プロトコルにおいて使用されている暗号プリミティブを列挙する第1のステップと、前記危殆化情報判定部が、前記列挙した暗号プリミティブについて、危殆化情報の有無を検証し、危殆化情報を有するものがある場合に、前記暗号プロトコルは安全ではないと判断する第2のステップと、前記役割設定部が、前記列挙した暗号プリミティブの中に、危殆化情報を有するものがない場合に、前記暗号プリミティブの役割を設定する第3のステップと、前記安全性根拠設定部が、前記暗号プリミティブの安全性の根拠の設定を行う第4のステップと、前記フロー列挙部が、フローの列挙を行う第5のステップと、前記引数設定部が、フローデータと暗号プリミティブの引数の種類と状態とを設定する第6のステップと、前記設定情報判定部が、該設定したフローデータと暗号プリミティブの引数の種類と状態との関係が正しいか否かを判断し、正しくないものを含む場合に、前記暗号プロトコルは安全ではないと判断する第7のステップと、前記安全性選択部が、前記設定したフローデータと暗号プリミティブの引数の種類と状態との関係がすべて正しいと判断した場合に、前記認証プロトコルの能動的攻撃安全における検証項目として、対象となる暗号プリミティブが偽造不可能性の性質を有し、該暗号プリミティブの引数がいずれもプロトコルに初めて現れたか、同じセッションにおいて以前にプロトコルに現れたか、別のセッションにおいて繰り返し使用不可能でプロトコルに現れた一時的な公開情報であるか、または、プロトコルに初めて現れたか、同じセッションにおいて以前にプロトコルに現れたか、別のセッションにおいて繰り返し使用不可能で、プロトコルに現れた一時的な秘密情報を含んでいるか、あるいは、認証対象となる暗号プリミティブが一方向性の性質を有し、該暗号プリミティブの引数がいずれもプロトコルに初めて現れた一時的な秘密情報を含んでいるか、をチェックする第8のステップと、前記検証項目判定部が、前記認証プロトコルの能動的攻撃安全における検証項目をすべて満足するか否かを判断し、満足しないものを含む場合に、前記暗号プロトコルは選択した安全性に関して安全ではないと判断する第9のステップと、前記検証項目判定部が、前記認証プロトコルの能動的攻撃安全における検証項目をすべて満足する場合に、前記暗号プロトコルは安全であると判断する第10のステップと、をコンピュータに実行させるためのプログラム。 Cryptographic primitive enumeration unit, compromise information determination unit, role setting unit, safety reason setting unit, flow enumeration unit, argument setting unit, setting information determination unit, security selection unit, and verification item determination A program for causing a computer to execute a security verification method for verifying the security of a cryptographic protocol in a cryptographic protocol security verification device comprising: a cryptographic protocol enumeration unit used in the cryptographic protocol The first step of enumerating the cryptographic primitives that have been performed, and the compromise information determination unit verifies the presence or absence of the compromise information for the enumerated cryptographic primitives, and if there is one having the compromise information, a second step of determining that the cryptographic protocol is not safe, the role setting unit, in a cryptographic primitives enumerated above, compromise Kajo If there is no one having, a third step of setting the role of the cryptographic primitives, said safety grounds setting unit, and a fourth step for setting a basis for security of the cryptographic primitives, the flow A fifth step in which the enumeration unit enumerates flows; a sixth step in which the argument setting unit sets the type and state of arguments of flow data and cryptographic primitives; and the setting information determination unit includes: it is determined whether the relationship is correct arguments type and state of the flow data and cryptographic primitives that the set, if it contains not correct, the encryption protocol and the seventh step of determining unsafe, the when the safety selection unit, the relationship between the type and state of the arguments of the flow data and the cryptographic primitives described above setting is determined that all correct, active of the authentication protocol As a verification item in attack security, the target cryptographic primitive has the property of non-forgery, and all the arguments of the cryptographic primitive appear in the protocol for the first time, appear in the protocol in the same session before, another session Is temporary public information that appears in the protocol that cannot be used repeatedly in the protocol, or appears in the protocol that appeared in the protocol for the first time, appeared in the protocol before in the same session, or cannot be used repeatedly in another session The encryption primitive to be authenticated has a one-way nature, and any argument of the encryption primitive contains temporary secret information that appears for the first time in the protocol. An eighth step of checking whether or not the verification item is determined Part is, first the determines whether or not to satisfy all the verification items in active attacks secure authentication protocol, when including those not satisfied, the encryption protocol is determined to be unsafe for safety selected 9 And a tenth step in which the verification item determination unit determines that the cryptographic protocol is secure when all verification items in the active attack security of the authentication protocol are satisfied. Program for.
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 JP2010010863A (en) 2010-01-14
JP5188288B2 true 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)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5524763B2 (en) * 2010-08-13 2014-06-18 Kddi株式会社 Verification device, verification method, and verification program for verifying protocol safety
US10640241B2 (en) 2015-03-27 2020-05-05 Yuyama Mfg. Co., Ltd. Medicine packaging apparatus
DE102016222741A1 (en) * 2016-11-18 2018-05-24 Continental Automotive Gmbh Method for a communication network and electronic control unit
CN112765218A (en) * 2021-01-29 2021-05-07 威讯柏睿数据科技(北京)有限公司 Multi-level security protection stream data processing method and system

Also Published As

Publication number Publication date
JP2010010863A (en) 2010-01-14

Similar Documents

Publication Publication Date Title
KR100811419B1 (en) How to defend against denial of service attacks in authentication protocol using public key cryptography
Bird et al. Systematic design of a family of attack-resistant authentication protocols
Kaeo Designing network security
Giechaskiel et al. When the crypto in cryptocurrencies breaks: Bitcoin security under broken primitives
CN101589569A (en) Secure password distribution to a client device of a network
US20220078184A1 (en) Method, apparatus, and computer program product for secure two-factor authentication
Verdult The (in) security of proprietary cryptography
JP5188288B2 (en) Cryptographic protocol security verification device, security verification method and program
Bäumer et al. Terrapin attack: Breaking {SSH} channel integrity by sequence number manipulation
Perez et al. EDHOC is a new security handshake standard: An overview of security analysis
Yeh et al. Securing Bluetooth Communications.
Dodis et al. Guarding the signal: secure messaging with reverse firewalls
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
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)
JP5368894B2 (en) Verification device, verification method, and verification program for verifying protocol safety
CN101197822B (en) System for preventing information leakage and method based on the same
CN104469750A (en) Autonomous controllable mobile internet business method and device
JP5597053B2 (en) Authentication system, authentication method and program
JP5368903B2 (en) Verification device, verification method, and verification program for verifying protocol safety
JP5524763B2 (en) Verification device, verification method, and verification program for verifying protocol safety
Danezis Trust as a methodological tool in security engineering
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: 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