JP5368893B2 - Verification device, verification method, and verification program for verifying protocol safety - Google Patents
Verification device, verification method, and verification program for verifying protocol safety Download PDFInfo
- Publication number
- JP5368893B2 JP5368893B2 JP2009145717A JP2009145717A JP5368893B2 JP 5368893 B2 JP5368893 B2 JP 5368893B2 JP 2009145717 A JP2009145717 A JP 2009145717A JP 2009145717 A JP2009145717 A JP 2009145717A JP 5368893 B2 JP5368893 B2 JP 5368893B2
- Authority
- JP
- Japan
- Prior art keywords
- protocol
- verification
- key
- appeared
- public
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Description
本発明は、認証や鍵共有等のセキュリティ機能を有する認証または鍵交換のプロトコルの安全性を検証する検証装置、検証方法および検証プログラムに関する。 The present invention relates to a verification device, a verification method, and a verification program for verifying the security of an authentication or key exchange protocol having security functions such as authentication and key sharing.
従来、プロトコル設計者の有するセキュリティや暗号技術の見識に基づき、経験的に安全な認証または鍵交換のプロトコルが提案されてきた。しかしながら、提案された認証または鍵交換のプロトコルの仕様が公開された後に、セキュリティ上の脆弱性が指摘される場合があった。標準化された認証または鍵交換のプロトコルが製品等を通じて広く普及した後に脆弱性が発見されると、製品等の改修に関わるコストが大きな問題となる。 Conventionally, an empirically secure authentication or key exchange protocol has been proposed based on the insight of security and cryptographic techniques possessed by a protocol designer. However, security vulnerabilities have been pointed out after the proposed authentication or key exchange protocol specifications have been published. If vulnerabilities are discovered after the standardized authentication or key exchange protocol is widely spread through products, the cost associated with the modification of the products becomes a major problem.
特に、致命的な脆弱性が発見された場合には、経済的な損害を回避するため、ソフトウェアのパッチの充当やハードウェアのチップや部品の交換等、早急に対処する必要が生じる。したがって、提案された認証または鍵交換のプロトコルや関連製品が普及するほど、社会的な影響は非常に大きくなり、場合によってはシステム全体が破綻してしまう可能性もある。 In particular, when a fatal vulnerability is discovered, it is necessary to take immediate measures such as applying software patches and replacing hardware chips and components in order to avoid economic damage. Therefore, as the proposed authentication or key exchange protocol and related products become more widespread, the social impact becomes very large, and in some cases, the entire system may fail.
そこで、「汎用結合可能安全性」と呼ばれる概念を利用した、認証または鍵交換のプロトコルの安全性を検証するための装置、方法およびプログラムが提案されている(例えば、特許文献1、特許文献2参照)。ここで、「汎用結合可能安全性」とは、ある認証または鍵交換のプロトコルがそのセキュリティ機能に関する理想機能を安全に実現するならば、この認証または鍵交換のプロトコルは安全であることを意味している。例えば、ある鍵交換プロトコルが鍵交換理想機能を安全に実現するならば、この鍵交換プロトコルは安全であることが示されたことになる。
Therefore, an apparatus, a method, and a program for verifying the security of an authentication or key exchange protocol using a concept called “generally connectable security” have been proposed (for example,
上記の「汎用結合可能安全性」は、現在最も強力な安全性であると言われており、理想機能はセキュリティ機能に要求される全ての安全性を網羅する。そのため、ある認証または鍵交換のプロトコルがその理想機能を安全に実現するとき、この認証または鍵交換のプロトコルはセキュリティ機能に要求される全ての安全性を満足することになる。 The above-mentioned “general-linkable safety” 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 authentication or key exchange protocol securely realizes its ideal function, this authentication or key exchange protocol satisfies all the security required for the security function.
ところが、プロトコルの安全性と効率性とはトレードオフの関係にあるため、認証または鍵交換のプロトコルの安全性を高くするほど効率性は低くなる。そのため、認証または鍵交換のプロトコルの効率性を重要視するときには、許容される限度まで安全性を低くしてよい。しかしながら、上記の先行技術では、認証または鍵交換のプロトコルの厳密な安全性を検証することはできても、安全性のレベルに応じた検証を行うことができない。 However, because the security and efficiency of the protocol are in a trade-off relationship, the efficiency decreases as the security of the authentication or key exchange protocol increases. Therefore, when importance is attached to the efficiency of the authentication or key exchange protocol, the security may be lowered to an allowable limit. However, although the above prior art can verify the strict security of the authentication or key exchange protocol, it cannot perform the verification according to the level of security.
そこで、本発明は、認証または鍵交換のプロトコルを安全性のレベルに応じて検証することができる検証装置、検証方法および検証プログラムを提供することを目的とする。 Therefore, an object of the present invention is to provide a verification device, a verification method, and a verification program that can verify an authentication or key exchange protocol according to a level of security.
本発明では、以下のような解決手段を提供する。 The present invention provides the following solutions.
(1) 認証または鍵交換のプロトコルの安全性を検証する検証装置であって、
前記認証のプロトコルにおけるオフライン辞書攻撃に対する安全性、検出不可能なオンライン辞書攻撃に対する安全性および鍵漏洩なりすまし攻撃に対する安全性のそれぞれの要件を満たすための検証項目と、前記鍵交換のプロトコルにおける検出不可能なオンライン辞書攻撃に対する安全性、未知鍵共有攻撃に対する安全性、強前方秘匿性(strong forward secrecy)および弱後方秘匿性(weak backward secrecy)のそれぞれの要件を満たすための検証項目と、を記憶する記憶部と、
前記プロトコルにおいて使用されている暗号プリミティブの種類を設定する種類設定部と、
前記種類設定部により種類が設定された暗号プリミティブの役割を設定する役割設定部と、
前記プロトコルにおけるフローデータの種類と状態、または暗号プリミティブの引数の種類と状態とを設定するデータ設定部と、
要求に応じて検証対象の安全性を選択する安全性選択部と、
前記安全性選択部により選択された安全性それぞれに関する検証項目を前記記憶部から抽出し、前記暗号プリミティブの種類、役割および前記データ設定部により設定されたデータに基づいて、当該検証項目を満足するか否かを判定する検証項目判定部と、
前記検証項目判定部により前記選択された全ての安全性に関する検証項目を満足していると判定された場合に、前記プロトコルが安全であると判定する安全性判定部と、を備える検証装置。
(1) A verification device for verifying the security of an authentication or key exchange protocol,
Verification items for satisfying the requirements for security against offline dictionary attacks in the authentication protocol, security against undetectable online dictionary attacks, and security against key leakage spoofing attacks, and detection failure in the key exchange protocol Security items for possible online dictionary attacks, security against unknown key agreement attacks, strong forward secrecy, weak backward secrecy, and verification items to satisfy the requirements of weak backward secrecy A storage unit
A type setting unit for setting the type of cryptographic primitive used in the protocol;
A role setting unit for setting the role of the cryptographic primitive whose type is set by the type setting unit;
A data setting unit for setting the type and state of flow data in the protocol or the type and state of arguments of cryptographic primitives;
A safety selection unit that selects the safety to be verified upon request;
The verification items relating to each of the safety selected by the safety selection unit are extracted from the storage unit, and the verification items are satisfied based on the type and role of the cryptographic primitive and the data set by the data setting unit A verification item determination unit for determining whether or not,
A verification apparatus comprising: a safety determination unit that determines that the protocol is safe when the verification item determination unit determines that all the selected verification items related to safety are satisfied.
(2) 前記認証のプロトコルにおけるオフライン辞書攻撃に対する安全性の検証項目は、
別のセッションにおいて繰り返し使用可能かつ秘密状態で登場した長期的で不完全な秘密情報を含むフロー上に現れる暗号プリミティブが共通鍵暗号もしくはメッセージ認証コードスキームであるか、または、
別のセッションにおいて繰り返し使用可能かつ秘密状態で登場する長期的で不完全な秘密情報を含むフロー上に現れる暗号プリミティブがパスワードを用いた暗号化、公開鍵暗号もしくはハッシュ関数であり、かつ当該暗号プリミティブの引数が秘密状態で初登場した一時的な秘密情報もしくは同じセッションにおいて以前に秘密状態で登場した一時的な秘密情報を含んでいること、である(1)に記載の検証装置。
(2) Security verification items against offline dictionary attacks in the authentication protocol are:
The cryptographic primitive that appears on the flow containing the long-term incomplete secret information that can be used repeatedly and secretly in another session is a symmetric key encryption or message authentication code scheme, or
A cryptographic primitive that appears on a flow containing long-term incomplete secret information that can be used repeatedly and secretly in another session is encryption using a password, public key cryptography, or hash function, and the cryptographic primitive The verification apparatus according to (1), wherein the argument includes temporary secret information that first appears in a secret state or temporary secret information that has appeared in a secret state before in the same session.
(3) 前記認証のプロトコルにおける検出不可能なオンライン辞書攻撃に対する安全性の検証項目は、
別のセッションにおいて繰り返し使用可能かつ秘密状態で登場した長期的で不完全な秘密情報を含むフロー上に現れる暗号プリミティブが共通鍵暗号、公開鍵暗号もしくはメッセージ認証コードスキームであること、である(1)または(2)に記載の検証装置。
(3) Security verification items against undetectable online dictionary attacks in the authentication protocol are:
The cryptographic primitive that appears on a flow containing long-term incomplete secret information that can be used repeatedly and secretly in another session is a common key cipher, public key cipher or message authentication code scheme (1 ) Or the verification device according to (2).
(4) 前記認証のプロトコルにおける鍵漏洩なりすまし攻撃に対する安全性の検証項目は、
前記認証の対象となる暗号プリミティブが公開鍵暗号もしくはディジタル署名スキームであり、かつ当該暗号プリミティブの引数が公開状態で初登場した一時的な公開情報、同じセッションにおいて以前に公開状態で登場した一時的な公開情報、秘密状態で初登場した一時的な秘密情報もしくは同じセッションにおいて以前に秘密状態で登場した一時的な秘密情報含んでいるか、または、
前記認証の対象となる暗号プリミティブがDiffie−Hellman族もしくはハッシュ関数であり、かつ当該暗号プリミティブの引数が秘密状態で初登場した一時的な秘密情報もしくは同じセッションにおいて以前に秘密状態で登場した一時的な秘密情報を含んでいること、である(1)から(3)のいずれかに記載の検証装置。
(4) The security verification item against the key leakage spoofing attack in the authentication protocol is as follows:
The cryptographic primitive to be authenticated is a public key cryptography or digital signature scheme, and the temporary public information that the argument of the cryptographic primitive first appeared in the public state, the temporary that appeared in the public state before in the same session Public information, temporary secret information that first appeared in a secret state, or temporary secret information that appeared previously in a secret state in the same session, or
The cryptographic primitive to be authenticated is a Diffie-Hellman family or a hash function, and temporary secret information that the argument of the cryptographic primitive first appeared in a secret state, or a temporary that appeared in a secret state before in the same session The verification apparatus according to any one of (1) to (3), wherein the confidential information is included.
(5) 前記鍵交換のプロトコルにおける検出不可能なオンライン辞書攻撃に対する安全性の検証項目は、
別のセッションにおいて繰り返し使用可能かつ秘密状態で登場した長期的で不完全な秘密情報を含むフロー上に現れる暗号プリミティブが共通鍵暗号、公開鍵暗号もしくはメッセージ認証コードスキームであること、である(1)から(4)のいずれかに記載の検証装置。
(5) Verification items for security against undetectable online dictionary attacks in the key exchange protocol are:
The cryptographic primitive that appears on a flow containing long-term incomplete secret information that can be used repeatedly and secretly in another session is a common key cipher, public key cipher or message authentication code scheme (1 The verification apparatus according to any one of (4) to (4).
(6) 前記鍵交換のプロトコルにおける未知鍵共有攻撃に対する安全性の検証項目は、
前記プロトコルにおける鍵生成対象となる暗号プリミティブが共通鍵暗号、パスワードを用いた暗号化、ディジタル署名スキームもしくはメッセージ認証コードスキームであり、かつ当該暗号プリミティブの引数が別のセッションにおいて繰り返し使用可能かつ公開状態で登場した特定公開情報、および公開状態で初登場した一時的な公開情報、同じセッションにおいて以前に公開状態で登場した一時的な公開情報、秘密状態で初登場した一時的な秘密情報もしくは同じセッションにおいて以前に秘密状態で登場した一時的な秘密情報を含んでいるか、または、
前記プロトコルにおける鍵生成対象となる暗号プリミティブが公開鍵暗号もしくはハッシュ関数であり、かつ当該暗号プリミティブの引数が別のセッションにおいて繰り返し使用可能かつ公開状態で登場した特定公開情報、および秘密状態で初登場した一時的な秘密情報もしくは同じセッションにおいて以前に秘密状態で登場した一時的な秘密情報を含んでいるか、または、
前記プロトコルにおける鍵生成対象となる暗号プリミティブの引数に含まれる暗号プリミティブが共通鍵暗号、パスワードを用いた暗号化、ディジタル署名スキームもしくはメッセージ認証コードスキームであり、かつ当該引数に含まれる暗号プリミティブの引数が別のセッションにおいて繰り返し使用可能かつ公開状態で登場した特定公開情報、および公開状態で初登場した一時的な公開情報、同じセッションにおいて以前に公開状態で登場した一時的な公開情報、秘密状態で初登場した一時的な秘密情報もしくは同じセッションにおいて以前に秘密状態で登場した一時的な秘密情報を含んでいるか、または、
前記プロトコルにおける鍵生成対象となる暗号プリミティブの引数に含まれる暗号プリミティブが公開鍵暗号もしくはハッシュ関数であり、かつ当該引数に含まれる暗号プリミティブの引数が別のセッションにおいて繰り返し使用可能かつ公開状態で登場した特定公開情報、および秘密状態で初登場した一時的な秘密情報もしくは同じセッションにおいて以前に秘密状態で登場した一時的な秘密情報を含んでいること、である(1)から(5)のいずれかに記載の検証装置。
(6) The security verification item against the unknown key sharing attack in the key exchange protocol is:
The cryptographic primitive that is the key generation target in the protocol is a common key cryptography, encryption using a password, a digital signature scheme or a message authentication code scheme, and an argument of the cryptographic primitive can be repeatedly used in another session and is in a public state Specific public information that appeared in, temporary public information that first appeared in the public state, temporary public information that appeared in the public state before in the same session, temporary secret information that first appeared in the secret state or the same session Contains temporary secret information that appeared in a secret state in the past, or
Cryptographic primitives that are key generation targets in the protocol are public key cryptography or hash functions, and the arguments of the cryptographic primitives can be used repeatedly in different sessions and appear in public state for the first time in secret state. Contain temporary secret information that has been created or has been previously secretly revealed in the same session, or
The cryptographic primitive included in the argument of the cryptographic primitive that is the key generation target in the protocol is the common key encryption, the encryption using the password, the digital signature scheme or the message authentication code scheme, and the cryptographic primitive argument included in the argument Specific public information that can be used repeatedly in another session and appeared in public status, temporary public information that first appeared in public status, temporary public information that appeared in public status in the same session, in secret status Contains temporary confidential information that first appeared or temporary confidential information that appeared in a secret state in the same session, or
The cryptographic primitive included in the argument of the cryptographic primitive that is the key generation target in the protocol is a public key cryptography or hash function, and the cryptographic primitive argument included in the argument can be repeatedly used in another session and appears in a public state Any one of (1) to (5) including the specified public information and the temporary secret information first appearing in the secret state or the temporary secret information previously appearing in the same session in the same session The verification device according to the above.
(7) 前記鍵交換のプロトコルにおける強前方秘匿性(strong forward secrecy)の検証項目は、
前記プロトコルにおける鍵生成対象となる暗号プリミティブが公開鍵暗号、Diffie−Hellman族、ハッシュ関数もしくはメッセージ認証コードスキームであり、かつ当該暗号プリミティブの引数が秘密状態で初登場した一時的な秘密情報もしくは同じセッションにおいて以前に秘密状態で登場した一時的な秘密情報を含んでいるか、または、
前記プロトコルにおける鍵生成対象となる暗号プリミティブがハッシュ関数もしくはメッセージ認証コードスキームであり、かつ前記プロトコルにおける鍵生成対象となる暗号プリミティブの引数に含まれる暗号プリミティブがDiffie−Hellman族であり、かつ当該引数に含まれる暗号プリミティブの引数が秘密状態で初登場した一時的な秘密情報もしくは同じセッションにおいて以前に秘密状態で登場した一時的な秘密情報を含んでいること、である(1)から(6)のいずれかに記載の検証装置。
(7) The strong forward secrecy verification item in the key exchange protocol is:
The cryptographic primitive that is the key generation target in the protocol is public key cryptography, Diffie-Hellman family, hash function, or message authentication code scheme, and the temporary primitive information or the same that the argument of the cryptographic primitive first appears in a secret state or the same Contains temporary secret information that appeared in a secret state before in the session, or
The cryptographic primitive that is the key generation target in the protocol is a hash function or a message authentication code scheme, and the cryptographic primitive included in the argument of the cryptographic primitive that is the key generation target in the protocol is the Diffie-Hellman family, and the argument (1) to (6) that the argument of the cryptographic primitive included in includes the temporary secret information that first appeared in the secret state or the temporary secret information that appeared in the secret state before in the same session. The verification apparatus in any one of.
(8) 前記鍵交換のプロトコルにおける弱後方秘匿性(weak backward secrecy)の検証項目は、
前記プロトコルにおける鍵生成対象となる暗号プリミティブが公開鍵暗号、Diffie−Hellman族、ハッシュ関数もしくはメッセージ認証コードスキームであり、かつ当該暗号プリミティブの引数が秘密状態で初登場した一時的な秘密情報もしくは同じセッションにおいて以前に秘密状態で登場した一時的な秘密情報を含んでいるか、または、
前記プロトコルにおける鍵生成対象となる暗号プリミティブが共通鍵暗号、パスワードを用いた暗号化、公開鍵暗号、ハッシュ関数もしくはメッセージ認証コードスキームであり、かつ前記プロトコルにおける鍵生成対象となる暗号プリミティブの引数に含まれる暗号プリミティブがDiffie−Hellman族であり、かつ当該引数に含まれる暗号プリミティブの引数が秘密状態で初登場した一時的な秘密情報もしくは同じセッションにおいて以前に秘密状態で登場した一時的な秘密情報を含んでいること、である(1)から(7)のいずれかに記載の検証装置。
(8) The verification item of weak backward secrecy in the key exchange protocol is:
The cryptographic primitive that is the key generation target in the protocol is public key cryptography, Diffie-Hellman family, hash function, or message authentication code scheme, and the temporary primitive information or the same that the argument of the cryptographic primitive first appears in a secret state or the same Contains temporary secret information that appeared in a secret state before in the session, or
The cryptographic primitive that is the key generation target in the protocol is a common key encryption, encryption using a password, public key encryption, hash function, or message authentication code scheme, and the encryption primitive that is the key generation target in the protocol is an argument Temporary secret information that the cryptographic primitive included is the Diffie-Hellman family and the argument of the cryptographic primitive included in the argument first appeared in a secret state, or temporary secret information previously appeared in a secret state in the same session The verification apparatus according to any one of (1) to (7).
(9) コンピュータが認証または鍵交換のプロトコルの安全性を検証する検証方法であって、
当該コンピュータは、前記認証のプロトコルにおけるオフライン辞書攻撃に対する安全性、検出不可能なオンライン辞書攻撃に対する安全性および鍵漏洩なりすまし攻撃に対する安全性のそれぞれの要件を満たすための検証項目と、前記鍵交換のプロトコルにおける検出不可能なオンライン辞書攻撃に対する安全性、未知鍵共有攻撃に対する安全性、強前方秘匿性(strong forward secrecy)および弱後方秘匿性(weak backward secrecy)のそれぞれの要件を満たすための検証項目と、を記憶する記憶部を備え、
前記プロトコルにおいて使用されている暗号プリミティブの種類を設定する種類設定ステップと、
前記種類設定ステップにより種類が設定された暗号プリミティブの役割を設定する役割設定ステップと、
前記プロトコルにおけるフローデータの種類と状態、または暗号プリミティブの引数の種類と状態とを設定するデータ設定ステップと、
要求に応じて検証対象の安全性を選択する安全性選択ステップと、
前記安全性選択ステップにより選択された安全性それぞれに関する検証項目を前記記憶部から抽出し、前記暗号プリミティブの種類、役割および前記データ設定ステップにより設定されたデータに基づいて、当該検証項目を満足するか否かを判定する検証項目判定ステップと、
前記検証項目判定ステップにより前記選択された全ての安全性に関する検証項目を満足していると判定された場合に、前記プロトコルが安全であると判定する安全性判定ステップと、を含む検証方法。
(9) A verification method in which a computer verifies the security of an authentication or key exchange protocol,
The computer includes verification items for satisfying the requirements of security against offline dictionary attacks in the authentication protocol, security against undetectable online dictionary attacks, and security against key leakage spoofing attacks, and the key exchange. Verification items to satisfy the requirements for security against undetectable online dictionary attacks in the protocol, security against unknown key sharing attacks, strong forward secrecy, and weak backward secrecy And a storage unit for storing
A type setting step for setting the type of cryptographic primitive used in the protocol;
A role setting step for setting the role of the cryptographic primitive whose type is set by the type setting step;
A data setting step for setting the type and state of flow data in the protocol or the type and state of arguments of cryptographic primitives;
A safety selection step for selecting the safety to be verified upon request;
The verification items related to the respective safety selected in the security selection step are extracted from the storage unit, and the verification items are satisfied based on the type and role of the cryptographic primitive and the data set in the data setting step. A verification item determination step for determining whether or not,
A verification method comprising: a safety determination step that determines that the protocol is safe when it is determined in the verification item determination step that all the selected safety verification items are satisfied.
(10) コンピュータに認証または鍵交換のプロトコルの安全性を検証させる検証プログラムであって、
当該コンピュータは、前記認証のプロトコルにおけるオフライン辞書攻撃に対する安全性、検出不可能なオンライン辞書攻撃に対する安全性および鍵漏洩なりすまし攻撃に対する安全性のそれぞれの要件を満たすための検証項目と、前記鍵交換のプロトコルにおける検出不可能なオンライン辞書攻撃に対する安全性、未知鍵共有攻撃に対する安全性、強前方秘匿性(strong forward secrecy)および弱後方秘匿性(weak backward secrecy)のそれぞれの要件を満たすための検証項目と、を記憶する記憶部を備え、
前記プロトコルにおいて使用されている暗号プリミティブの種類を設定する種類設定ステップと、
前記種類設定ステップにより種類が設定された暗号プリミティブの役割を設定する役割設定ステップと、
前記プロトコルにおけるフローデータの種類と状態、または暗号プリミティブの引数の種類と状態とを設定するデータ設定ステップと、
要求に応じて検証対象の安全性を選択する安全性選択ステップと、
前記安全性選択ステップにより選択された安全性それぞれに関する検証項目を前記記憶部から抽出し、前記暗号プリミティブの種類、役割および前記データ設定ステップにより設定されたデータに基づいて、当該検証項目を満足するか否かを判定する検証項目判定ステップと、
前記検証項目判定ステップにより前記選択された全ての安全性に関する検証項目を満足していると判定された場合に、前記プロトコルが安全であると判定する安全性判定ステップと、を実行させる検証プログラム。
(10) A verification program for causing a computer to verify the security of an authentication or key exchange protocol,
The computer includes verification items for satisfying the requirements of security against offline dictionary attacks in the authentication protocol, security against undetectable online dictionary attacks, and security against key leakage spoofing attacks, and the key exchange. Verification items to satisfy the requirements for security against undetectable online dictionary attacks in the protocol, security against unknown key sharing attacks, strong forward secrecy, and weak backward secrecy And a storage unit for storing
A type setting step for setting the type of cryptographic primitive used in the protocol;
A role setting step for setting the role of the cryptographic primitive whose type is set by the type setting step;
A data setting step for setting the type and state of flow data in the protocol or the type and state of arguments of cryptographic primitives;
A safety selection step for selecting the safety to be verified upon request;
The verification items related to the respective safety selected in the security selection step are extracted from the storage unit, and the verification items are satisfied based on the type and role of the cryptographic primitive and the data set in the data setting step. A verification item determination step for determining whether or not,
A verification program for executing a safety determination step for determining that the protocol is safe when it is determined in the verification item determination step that all the selected safety verification items are satisfied.
本発明によれば、認証または鍵交換のプロトコルを安全性のレベルに応じて検証することができる。 According to the present invention, the authentication or key exchange protocol can be verified according to the level of security.
以下、本発明の実施形態の一例について説明する。 Hereinafter, an example of an embodiment of the present invention will be described.
<セキュリティモデル>
まず、認証または鍵交換のプロトコルの安全性レベルに関するセキュリティモデルを示す。本実施形態では、計算量理論に基づいて認証または鍵交換のプロトコルの安全性を証明する「証明可能安全性」と呼ばれる概念を用いる。「認証または鍵交換のプロトコルが証明可能安全性を有する」とは、認証または鍵交換のプロトコルの安全性が、ある暗号プリミティブの安全性に帰着することを計算量理論的に証明可能であることを示している。すなわち、ある認証または鍵交換のプロトコルを破ることができる攻撃者は、ある暗号プリミティブを多項式時間で破るマシンを構成可能であることを証明することにより、この暗号プリミティブが破られなければ、認証または鍵交換のプロトコルも破られないことを証明する。
<Security model>
First, a security model related to the security level of an authentication or key exchange protocol is shown. In the present embodiment, a concept called “provable security” that proves the security of an authentication or key exchange protocol based on the computational complexity theory is used. “The authentication or key exchange protocol has provable security” means that the security of the authentication or key exchange protocol can be proved theoretically that the security of a certain cryptographic primitive results in security. Is shown. That is, an attacker who can break a certain authentication or key exchange protocol can prove that if this cryptographic primitive is not breached by proving that it can construct a machine that breaks a certain cryptographic primitive in polynomial time, Prove that the key exchange protocol is not broken.
上記の証明可能安全性において、認証プロトコルではmatching conversation、鍵交換プロトコルではsemantic securityという安全性の概念がある。それぞれの概念に対し、認証または鍵交換のプロトコルに要求される以下のような安全性要件が存在する。 In the provable security described above, there is a security concept of matching conversion in the authentication protocol and semantic security in the key exchange protocol. For each concept, the following security requirements exist for authentication or key exchange protocols:
(1)matching conversation
この安全性は、認証プロトコルにおいて、攻撃者が一方のパーティから受信したメッセージをそのままもう一方のパーティへ送ること以外に何もできないことを示す。すなわち、攻撃者はメッセージの改ざんや新規メッセージの送付、メッセージの遮断、メッセージの順番の入れ替え等の不正を行うことができないことを示す。
(1) matching conversion
This security indicates that in the authentication protocol, the attacker can do nothing but send the message received from one party as it is to the other party. That is, it indicates that the attacker cannot perform fraud such as tampering with a message, sending a new message, blocking a message, and changing the order of messages.
(1A)オフライン辞書攻撃に対する安全性
攻撃者がパスワード推測用の辞書からオフラインで過去の履歴に一致するパーティのパスワードを探索することはできないことを示す。
(1A) Security against offline dictionary attack This indicates that an attacker cannot search for a password of a party that matches the past history offline from a password guessing dictionary.
(1B)検出不可能なオンライン辞書攻撃に対する安全性
パスワードを登録してあるパーティに対して、攻撃者がパスワードを問い合わせていることを検出することができることを示す。
(1B) Security against undetectable online dictionary attack This means that it is possible to detect that an attacker is inquiring about a password to a party that has registered a password.
(1C)鍵漏洩なりすまし攻撃に対する安全性
攻撃者が共通鍵暗号の共通鍵やパスワード、公開鍵暗号の秘密鍵等のあるパーティの長期鍵を得ることができたとしても、このパーティ以外のパーティになりすますことはできないことを示す。
(1C) Security against key leakage / spoofing attacks Even if an attacker can obtain a long-term key of a party such as a common key of a common key cipher, a password, a secret key of a public key cipher, etc., Indicates that it cannot be impersonated.
(2)semantic security
この安全性は、鍵交換プロトコルにおいて、攻撃者はセッション鍵に関するどんな情報も得ることができないことを示す。すなわち、攻撃者はセッション鍵と乱数を多項式時間で区別することができないことを示す。
(2) semantic security
This security indicates that in a key exchange protocol, an 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)検出不可能なオンライン辞書攻撃に対する安全性
パスワードを登録してあるパーティに対して、攻撃者がパスワードを問い合わせていることを検出することができることを示す。
(2A) Security against undetectable online dictionary attack This means that it is possible to detect that an attacker is inquiring about a password to a party that has registered a password.
(2B)未知鍵共有攻撃に対する安全性
あるパーティが正しいと思っているパーティとは別のパーティとセッション鍵を共有することができないことを示す。
(2B) Security against unknown key sharing attack This means that a session key cannot be shared with a party other than a party that a certain party thinks is correct.
(2C)strong forward secrecy
攻撃者が共通鍵暗号の共通鍵やパスワード、公開鍵暗号の秘密鍵等のパーティの長期鍵と内部状態を得ることができたとしても、それ以前に共有されたセッション鍵を得ることはできないことを示す。
(2C) strong forward secrecy
Even if an attacker can obtain the party's long-term key and internal state, such as a common key for common key cryptography, a secret key for public key cryptography, and a public key cryptography, it cannot obtain a session key shared before that Indicates.
(2D)weak backward secrecy
攻撃者が共通鍵暗号の共通鍵やパスワード、公開鍵暗号の秘密鍵等のパーティの長期鍵を得ることができたとしても、それ以後に共有されたセッション鍵を得ることはできないことを示す。
(2D) weak backing secrecy
This indicates that even if an attacker can obtain a party long-term key such as a common key for common key cryptography, a password, and a secret key for public key cryptography, it cannot obtain a session key shared thereafter.
ただし、長期鍵を使用しない認証または鍵交換のプロトコルの場合、(1C)鍵漏洩なりすまし攻撃に対する安全性、(2C)strong forward secrecy、(2D)weak backward secrecyは要求されない。特に、パスワードを使用しない認証または鍵交換のプロトコルの場合、(1A)オフライン辞書攻撃に対する安全性、(1B)検出不可能なオンライン辞書攻撃に対する安全性、(2A)検出不可能なオンライン辞書攻撃に対する安全性は要求されない。 However, in the case of an authentication or key exchange protocol that does not use a long-term key, (1C) security against key leakage spoofing attacks, (2C) strong forward secrecy, and (2D) weak backing secrecy are not required. In particular, in the case of an authentication or key exchange protocol that does not use a password, (1A) security against offline dictionary attacks, (1B) security against undetectable online dictionary attacks, (2A) against undetectable online dictionary attacks Safety is not required.
ここで、認証または鍵交換のプロトコルにおいて使用されている暗号プリミティブの種類は以下の通りである。なお、括弧内は各暗号プリミティブを示す略記号である。
[共通鍵暗号系]
・共通鍵暗号(SKE)
・パスワードを用いた暗号化(PWE)
[公開鍵暗号系]
・公開鍵暗号(PKE)
・Diffie−Hellman族(DH)
・ディジタル署名スキーム(SIG)
[ハッシュ関数系]
・ハッシュ関数(HF)
・メッセージ認証コードスキーム(MAC)
Here, the types of cryptographic primitives used in the authentication or key exchange protocol are as follows. Note that the parentheses are abbreviations indicating the respective encryption primitives.
[Common key cryptosystem]
・ Common key encryption (SKE)
・ Encryption using password (PWE)
[Public key cryptosystem]
・ Public key cryptography (PKE)
・ Diffie-Hellman family (DH)
・ Digital Signature Scheme (SIG)
[Hash function system]
・ Hash function (HF)
Message authentication code scheme (MAC)
また、上記の暗号プリミティブに設定される役割は以下の通りである。なお、括弧内は各役割を示す略記号である。
・認証プロトコルにおける認証対象となる暗号プリミティブ(AGF)
・鍵交換プロトコルにおける鍵生成対象となる暗号プリミティブ(KGF)
・AGFやKGFの引数に含まれる暗号プリミティブ(ACP)
・フロー上に現れる暗号プリミティブ(OCP)
The roles set for the above-mentioned cryptographic primitives are as follows. The parentheses are abbreviations indicating the roles.
-Cryptographic primitives (AGF) to be authenticated in the authentication protocol
-Cryptographic primitives (KGF) that are key generation targets in the key exchange protocol
-Cryptographic primitives (ACP) included in AGF and KGF arguments
-Cryptographic primitives (OCP) appearing on the flow
さらに、認証または鍵交換プロトコルにおけるフローデータに対して、または暗号プリミティブの引数に対して設定される要素は以下の通りである。なお、括弧内は各フローデータまたは各引数の種類または状態を示す略記号である。
[フローデータと暗号プリミティブの引数とに設定される種類]
・一般公開情報(PUB)
・特定公開情報(ID)
・一時的な公開情報(TPK)
・長期的で完全な秘密情報(LLK)
・長期的で不完全な秘密情報(PW)
・一時的な秘密情報(TSK)
[フローデータと暗号プリミティブの引数とに設定される状態]
・公開状態で初登場(PFT)
・同じセッションにおいて以前に公開状態で登場(PSS)
・別のセッションにおいて繰り返し使用可能かつ公開状態で登場(PRS)
・秘密状態で初登場(SFT)
・同じセッションにおいて以前に秘密状態で登場(SSS)
・別のセッションにおいて繰り返し使用可能かつ秘密状態で登場(SRS)
Further, the elements set for the flow data in the authentication or key exchange protocol or for the argument of the cryptographic primitive are as follows. The parentheses are abbreviations that indicate the type or state of each flow data or each argument.
[Types set for flow data and cryptographic primitive arguments]
・ Public information (PUB)
・ Specific public information (ID)
・ Temporary public information (TPK)
・ Long-term and complete confidential information (LLK)
・ Long-term and incomplete confidential information (PW)
・ Temporary confidential information (TSK)
[State set in flow data and cryptographic primitive arguments]
・ First appearance in public state (PFT)
-Previously published in the same session (PSS)
・ Repeatedly available in different sessions and publicly available (PRS)
・ First appearance in a secret state (SFT)
・ Appeared in secret before in the same session (SSS)
-Appears in a secret state that can be used repeatedly in different sessions (SRS)
<検証項目>
次に、認証または鍵交換のプロトコルの安全性に対する検証項目について説明する。本実施形態では、2パーティ(2ユーザ間、サーバおよびクライアント間等)での認証または鍵交換のプロトコルを対象とし、以下の3点を前提とする。
<Verification items>
Next, verification items for the security of the authentication or key exchange protocol will be described. In the present embodiment, the authentication or key exchange protocol at two parties (between two users, between a server and a client, etc.) is targeted, and the following three points are assumed.
・認証または鍵交換のプロトコルにおいて、秘密鍵やパスワードを使用している場合、2パーティは予め同じ秘密鍵やパスワードを何らかの安全な手順で共有しておくこととし、その手順に脆弱性はないとする。
・認証または鍵交換のプロトコルにおいて、公開鍵を使用している場合、各パーティは認証局等の第三者機関との間で公開鍵証明書の正当性を確認することができることとし、その手順に脆弱性はないとする。
・暗号プリミティブが危殆化した場合、検証装置1はリアルタイムにその情報を得て、記録しておくことができることとする。
-If a secret key or password is used in an authentication or key exchange protocol, the two parties must share the same secret key or password in advance using some secure procedure, and the procedure is not vulnerable. To do.
・ If a public key is used in the authentication or key exchange protocol, each party can confirm the validity of the public key certificate with a third party such as a certificate authority. Is not vulnerable.
When the cryptographic primitive is compromised, the
以下、認証または鍵交換のプロトコルの安全性を、レベルすなわち安全性の種類に応じて検証する検証項目を示す。 The verification items for verifying the security of the authentication or key exchange protocol according to the level, that is, the type of security will be described below.
(1)認証プロトコルに対するmatching conversation
(1A)オフライン辞書攻撃に対する安全性における検証項目
(攻撃に関係する設定情報)全てのフロー
(1A−a)PW−SRSを含むOCPがSKEまたはMACである。
(1A−b)PW−SRSを含むOCPがPWEまたはPKEまたはHFであり、OCPの引数がTSK−SFTまたはTSK−SSSを含んでいる。
(1) Matching conversion for authentication protocol
(1A) Verification items in security against offline dictionary attack (Setting information related to attack) All flows (1A-a) OCP including PW-SRS is SKE or MAC.
(1A-b) OCP including PW-SRS is PWE, PKE, or HF, and the argument of OCP includes TSK-SFT or TSK-SSS.
(1B)検出不可能なオンライン辞書攻撃に対する安全性における検証項目
(攻撃に関係する設定情報)全てのフロー
(1B−a)PW−SRSを含むOCPがSKEまたはPKEまたはMACである。
(1B) Verification items in security against undetectable online dictionary attack (Setting information related to attack) All flows (1B-a) OCP including PW-SRS is SKE, PKE or MAC.
(1C)鍵漏洩なりすまし攻撃に対する安全性における検証項目
(攻撃に関係する設定情報)一方のパーティの長期鍵
(1C−a)AGFがPKEまたはSIGであり、AGFの引数がTPK−PFTまたはTPK−PSSまたはTSK−SFTまたはTSK−SSSを含んでいる。
(1C−b)AGFがDHまたはHFであり、AGFの引数がTSK−SFTまたはTSK−SSSを含んでいる。
(1C) Verification item in security against key leakage spoofing attack (Setting information related to attack) Long-term key of one party (1C-a) AGF is PKE or SIG, and AGF argument is TPK-PFT or TPK- Includes PSS or TSK-SFT or TSK-SSS.
(1C-b) AGF is DH or HF, and the argument of AGF includes TSK-SFT or TSK-SSS.
(2)鍵交換プロトコルに対するsemantic security
(2A)検出不可能なオンライン辞書攻撃に対する安全性における検証項目
(攻撃に関係する設定情報)全てのフロー
(2A−a)PW−SRSを含むOCPがSKEまたはPKEまたはMACである。
(2) semantic security for key exchange protocol
(2A) Verification items in security against undetectable online dictionary attack (Setting information related to attack) All flows (2A-a) OCP including PW-SRS is SKE, PKE or MAC.
(2B)未知鍵共有攻撃に対する安全性における検証項目
(攻撃に関係する設定情報)全てのフロー
(2B−a)KGFがSKEまたはPWEまたはSIGまたはMACであり、KGFの引数がID−PRSかつ(TPK−PFTまたはTPK−PSSまたはTSK−SFTまたはTSK−SSS)を含んでいる。
(2B−b)KGFがPKEまたはHFであり、KGFの引数がID−PRSかつ(TSK−SFTまたはTSK−SSS)を含んでいる。
(2B−c)ACPがSKEまたはPWEまたはSIGまたはMACであり、ACPの引数がID−PRSかつ(TPK−PFTまたはTPK−PSSまたはTSK−SFTまたはTSK−SSS)を含んでいる。
(2B−d)ACPがPKEまたはHFであり、ACPの引数がID−PRSかつ(TSK−SFTまたはTSK−SSS)を含んでいる。
(2B) Verification items in security against unknown key sharing attack (Setting information related to attack) All flows (2B-a) KGF is SKE, PWE, SIG or MAC, and the argument of KGF is ID-PRS and ( TPK-PFT or TPK-PSS or TSK-SFT or TSK-SSS).
(2B-b) KGF is PKE or HF, and the argument of KGF includes ID-PRS and (TSK-SFT or TSK-SSS).
(2B-c) ACP is SKE or PWE or SIG or MAC, and the argument of ACP includes ID-PRS and (TPK-PFT or TPK-PSS or TSK-SFT or TSK-SSS).
(2B-d) ACP is PKE or HF, and the argument of ACP includes ID-PRS and (TSK-SFT or TSK-SSS).
(2C)strong forward secrecyにおける検証項目
(攻撃に関係する設定情報)全ての長期鍵と内部状態
(2C−a)KGFがPKEまたはDHまたはHFまたはMACであり、KGFの引数がTSK−SFTまたはTSK−SSSを含んでいる。
(2C−b)KGFがHFまたはMACであり、ACPがDHであり、ACPの引数がTSK−SFTまたはTSK−SSSを含んでいる。
(2C) Verification items in strong forward secrecy (Setting information related to attack) All long-term keys and internal state (2C-a) KGF is PKE, DH, HF or MAC, and KGF argument is TSK-SFT or TSK -Includes SSS.
(2C-b) KGF is HF or MAC, ACP is DH, and the argument of ACP includes TSK-SFT or TSK-SSS.
(2D)weak backward secrecyにおける検証項目
(攻撃に関係する設定情報)全ての長期鍵
(2D−a)KGFがPKEまたはDHまたはHFまたはMACであり、KGFの引数がTSK−SFTまたはTSK−SSSを含んでいる。
(2D−b)KGFがSKEまたはPWEまたはPKEまたはHFまたはMACであり、ACPがDHであり、ACPの引数がTSK−SFTまたはTSK−SSSを含んでいる。
(2D) Verification items in weak backup secrecy (Setting information related to attack) All long-term keys (2D-a) KGF is PKE, DH, HF or MAC, and the argument of KGF is TSK-SFT or TSK-SSS Contains.
(2D-b) KGF is SKE or PWE or PKE or HF or MAC, ACP is DH, and the argument of ACP includes TSK-SFT or TSK-SSS.
<検証装置の構成>
図1は、本実施形態に係る認証または鍵交換のプロトコルの安全性を検証する検証装置1の構成を示す図である。
検証装置1は、制御部10と、記憶部20と、入力部30と、表示部40と、を備える。
<Configuration of verification device>
FIG. 1 is a diagram showing a configuration of a
The
制御部10は、検証装置1の全体を制御する部分であり、記憶部20に記憶された各種プログラムを適宜読み出して実行することにより、上述のハードウェアと協働し、本発明に係る各種機能を実現している。制御部10は、CPU(Central Processing Unit)であってよい。
The
記憶部20は、ハードウェア群を検証装置1として機能させるための各種プログラムや、本発明の機能を制御部10に実行させるプログラム、データベース等を記憶する。具体的には、記憶部20は、上述の暗号プリミティブの種類および役割、ならびにフローデータまたは暗号プリミティブの引数の種類と状態、さらには、上述の各安全性とその検証項目とを記憶している。また、記憶部20は、入力部30または所定のネットワークを介して制御部10により取得された、各暗号プリミティブが危殆化したことを示す情報も記憶する。なお、記憶部20は、ハードディスク、光ディスクドライブ、あるいは半導体メモリ等、様々な記憶装置のいずれかにより構成されてよい。
The
入力部30は、検証装置1に対するユーザ(検証装置1の管理者)からの指示入力を受け付けるインタフェース装置である。入力部30は、例えばキーボードやマウス等により構成される。
The
表示部40は、ユーザ(検証装置1の管理者)にデータの入力を受け付ける画面を表示したり、検証装置1による処理結果の画面を表示したりするものである。表示部40は、ブラウン管表示装置(CRT)、液晶表示装置(LCD)等のディスプレイ装置であってよい。
The
なお、本発明でいうコンピュータとは、制御装置や記憶装置等を備えた情報処理装置である。検証装置1は、制御部10や記憶部20等を備えた情報処理装置であり、この情報処理装置は、本発明のコンピュータの概念に含まれる。
The computer referred to in the present invention is an information processing apparatus including a control device, a storage device, and the like. The
また、制御部10は、プロトコル受付部101と、暗号プリミティブ列挙部102と、危殆化情報判定部103と、種類設定部104と、役割設定部105と、フロー列挙部106と、データ設定部107と、安全性選択部108と、検証項目判定部109と、安全性判定部110と、を備える。
In addition, the
プロトコル受付部101は、入力部30からの指示入力に基づいて、安全性の検証対象である認証または鍵交換のプロトコルの仕様データの入力を受け付ける。
Based on the instruction input from the
暗号プリミティブ列挙部102は、プロトコル受付部101により受け付けたプロトコルの仕様データから、このプロトコルにおいて使用されている全ての暗号プリミティブを列挙する。
The cryptographic
危殆化情報判定部103は、暗号プリミティブ列挙部102により列挙された暗号プリミティブに対して危殆化情報があるか否かを判定する。危殆化情報が1つでもある場合、安全性判定部110により、プロトコルは安全ではないと判定される。
The compromise information determination unit 103 determines whether there is compromise information for the cryptographic primitives enumerated by the cryptographic
種類設定部104は、暗号プリミティブ列挙部102により列挙された暗号プリミティブの種類を、上述のSKE、PWE、PKE、DH、SIG、HF、MACの中から選択して設定する。
The
役割設定部105は、種類設定部104により種類が選択された暗号プリミティブの役割を、上述のAGF、KGF、ACP、OCPの中から選択して設定する。
The
フロー列挙部106は、プロトコル受付部101により受け付けた検証対象のプロトコルにおける全てのフローを列挙する。
The
データ設定部107は、フロー列挙部106により列挙されたフローのフローデータと暗号プリミティブの引数とについて、プロトコルの仕様に従い、種類を上述のPUB、ID、TPK、LLK、PW、TSKの中から選択し、また状態を上述のPFT、PSS、PRS、SFT、SSS、SRSの中から選択して設定する。
The
ここで、これらフローデータおよび暗号プリミティブの引数の種類と状態とは、列挙されたプロトコルのフローの順に設定される。なお、状態はセッション中での以前のフローに応じて更新されていく。また、公開状態と秘密状態では、公開状態が優先されることとする。 Here, the types and states of the arguments of the flow data and the cryptographic primitive are set in the order of the enumerated protocol flows. The state is updated according to the previous flow in the session. In the public state and the secret state, the public state has priority.
安全性選択部108は、プロトコル受付部101により受け付けた検証対象のプロトコルに対して要求されている安全性を選択する。具体的には、入力部30を介して、上述の(1A)、(1B)、(1C)、(2A)、(2B)、(2C)、(2D)の中から選択入力を受け付ける。なお、選択される安全性は複数であってよく、プロトコルを運用する上で必要とされる最低限の安全性が選択されることが好ましい。
The
検証項目判定部109は、種類設定部104、役割設定部105およびデータ設定部107により設定された情報を用いて、安全性選択部108により選択された各安全性に対する上述の検証項目を記憶部20から読み出し検証する。
The verification
また、検証項目判定部109は、プロトコルにおいて要求されているセキュリティパラメータ(例えば、鍵のサイズ等)を設定する。フロー、暗号プリミティブおよび引数のサイズが設定されたセキュリティパラメータを満足しているか否かを確認し、満足していないサイズが1つでもある場合、安全性判定部110によりプロトコルは安全ではないと判定される。
Further, the verification
安全性判定部110は、安全性選択部108により選択された全ての安全性に関して、検証項目判定部109により検証項目を満足していると判定された場合に、プロトコルが安全であると判定する。一方、安全性判定部110は、検証項目を満足していない安全性が1つでもある場合には、プロトコルは安全ではないと判定する。
The
<処理フロー>
図2は、本実施形態に係る検証装置1の制御部10にて実行される検証方法の流れを示すフローチャートである。
<Processing flow>
FIG. 2 is a flowchart showing the flow of the verification method executed by the
ステップS1では、制御部10は、受け付けた認証または鍵交換のプロトコルにおいて使用されている全ての暗号プリミティブを列挙する。
In step S1, the
ステップS2では、制御部10は、ステップS1で列挙された暗号プリミティブに関して、危殆化情報が記憶されていないか否かを判定する。この判定がYESの場合はステップS3に移り、判定がNOの場合はステップS10に移る。
In step S2, the
ステップS3(種類設定ステップ)では、制御部10は、ステップS1で列挙された暗号プリミティブの種類を、記憶部20に記憶されている情報と比較することにより判断して設定する。
In step S3 (type setting step), the
ステップS4(役割設定ステップ)では、制御部10は、ステップS3で種類が設定された暗号プリミティブの役割を、記憶部20に記憶されている情報と比較することにより判断して設定する。
In step S4 (role setting step), the
ステップS5では、制御部10は、受け付けた認証または鍵交換のプロトコルにおける全てのフローを列挙する。
In step S5, the
ステップS6(データ設定ステップ)では、制御部10は、ステップS5で列挙されたフローのフローデータと暗号プリミティブの引数とについて、プロトコルの仕様に従い、記憶部20に記憶されている情報と比較することにより種類と状態とを判断して設定する。
In step S6 (data setting step), the
ステップS7(安全性選択ステップ)では、制御部10は、受け付けた認証または鍵交換のプロトコルに対して要求されている安全性を、記憶部20に記憶されている所定の種類の中から選択する。
In step S <b> 7 (security selection step), the
ステップS8(検証項目判定ステップ)では、制御部10は、ステップS3、ステップS4およびステップS6で設定された各情報を用いて、ステップS7で選択された各安全性に対する検証項目を記憶部20から読み出し検証する。そして、制御部10は、ステップS7で選択された全ての安全性に関して検証項目を満足しているか否かを判定する。この判定がYESの場合はステップS9に移り、判定がNOの場合はステップS10に移る。
In step S8 (verification item determination step), the
ステップS9(安全性判定ステップ)では、制御部10は、検証対象である認証または鍵交換のプロトコルが要求されている安全性を全て満たしているため、このプロトコルは安全であると判定する。
In step S9 (security determination step), the
ステップS10(安全性判定ステップ)では、制御部10は、ステップS2で暗号プリミティブが危殆化していると判定されたか、または検証対象のプロトコルが要求されている安全性のいずれかを満たしていないため、このプロトコルは安全ではないと判定する。
In step S10 (security determination step), the
なお、本処理は、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムがコンピュータにインストールされる。また、当該プログラムは、CD−ROMのようなリムーバブルメディアに記録されてユーザに配布されてもよいし、ネットワークを介してユーザのコンピュータにダウンロードされることにより配布されてもよい。 This process can also be performed by software. When a series of processing is performed by software, a program constituting the software is installed in the computer. The program may be recorded on a removable medium such as a CD-ROM and distributed to the user, or may be distributed by being downloaded to the user's computer via a network.
以上のように、本実施形態によれば、認証または鍵交換のプロトコルについて、要求されている安全性を選択して、それぞれの安全性を検証することができる。すなわち、本実施形態によれば、認証または鍵交換のプロトコルを安全性のレベルに応じて検証することができる。 As described above, according to the present embodiment, it is possible to select the required security for the authentication or key exchange protocol and verify the security. That is, according to this embodiment, the authentication or key exchange protocol can be verified according to the level of security.
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限るものではない。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本発明の実施形態に記載されたものに限定されるものではない。 As mentioned above, although embodiment of this invention was described, this invention is not restricted to embodiment mentioned above. The effects described in the embodiments of the present invention are only the most preferable effects resulting from the present invention, and the effects of the present invention are limited to those described in the embodiments of the present invention. is not.
1 検証装置
10 制御部
20 記憶部
30 入力部
40 表示部
101 プロトコル受付部
102 暗号プリミティブ列挙部
103 危殆化情報判定部
104 種類設定部
105 役割設定部
106 フロー列挙部
107 データ設定部
108 安全性選択部
109 検証項目判定部
110 安全性判定部
DESCRIPTION OF
Claims (10)
前記認証のプロトコルにおけるオフライン辞書攻撃に対する安全性、検出不可能なオンライン辞書攻撃に対する安全性および鍵漏洩なりすまし攻撃に対する安全性のそれぞれの要件を満たすための検証項目と、前記鍵交換のプロトコルにおける検出不可能なオンライン辞書攻撃に対する安全性、未知鍵共有攻撃に対する安全性、強前方秘匿性(strong forward secrecy)および弱後方秘匿性(weak backward secrecy)のそれぞれの要件を満たすための検証項目と、を記憶する記憶部と、
前記プロトコルにおいて使用されている暗号プリミティブの種類を設定する種類設定部と、
前記種類設定部により種類が設定された暗号プリミティブの役割を設定する役割設定部と、
前記プロトコルにおけるフローデータの種類と状態、または暗号プリミティブの引数の種類と状態とを設定するデータ設定部と、
要求に応じて検証対象の安全性を選択する安全性選択部と、
前記安全性選択部により選択された安全性それぞれに関する検証項目を前記記憶部から抽出し、前記暗号プリミティブの種類、役割および前記データ設定部により設定されたデータに基づいて、当該検証項目を満足するか否かを判定する検証項目判定部と、
前記検証項目判定部により前記選択された全ての安全性に関する検証項目を満足していると判定された場合に、前記プロトコルが安全であると判定する安全性判定部と、を備える検証装置。 A verification device for verifying the security of an authentication or key exchange protocol,
Verification items for satisfying the requirements for security against offline dictionary attacks in the authentication protocol, security against undetectable online dictionary attacks, and security against key leakage spoofing attacks, and detection failure in the key exchange protocol Security items for possible online dictionary attacks, security against unknown key agreement attacks, strong forward secrecy, weak backward secrecy, and verification items to satisfy the requirements of weak backward secrecy A storage unit
A type setting unit for setting the type of cryptographic primitive used in the protocol;
A role setting unit for setting the role of the cryptographic primitive whose type is set by the type setting unit;
A data setting unit for setting the type and state of flow data in the protocol or the type and state of arguments of cryptographic primitives;
A safety selection unit that selects the safety to be verified upon request;
The verification items relating to each of the safety selected by the safety selection unit are extracted from the storage unit, and the verification items are satisfied based on the type and role of the cryptographic primitive and the data set by the data setting unit A verification item determination unit for determining whether or not,
A verification apparatus comprising: a safety determination unit that determines that the protocol is safe when the verification item determination unit determines that all the selected verification items related to safety are satisfied.
別のセッションにおいて繰り返し使用可能かつ秘密状態で登場した長期的で不完全な秘密情報を含むフロー上に現れる暗号プリミティブが共通鍵暗号もしくはメッセージ認証コードスキームであるか、または、
別のセッションにおいて繰り返し使用可能かつ秘密状態で登場する長期的で不完全な秘密情報を含むフロー上に現れる暗号プリミティブがパスワードを用いた暗号化、公開鍵暗号もしくはハッシュ関数であり、かつ当該暗号プリミティブの引数が秘密状態で初登場した一時的な秘密情報もしくは同じセッションにおいて以前に秘密状態で登場した一時的な秘密情報を含んでいること、である請求項1に記載の検証装置。 Security verification items against offline dictionary attacks in the authentication protocol are:
The cryptographic primitive that appears on the flow containing the long-term incomplete secret information that can be used repeatedly and secretly in another session is a symmetric key encryption or message authentication code scheme, or
A cryptographic primitive that appears on a flow containing long-term incomplete secret information that can be used repeatedly and secretly in another session is encryption using a password, public key cryptography, or hash function, and the cryptographic primitive The verification apparatus according to claim 1, wherein the argument includes temporary secret information that has first appeared in a secret state or temporary secret information that has previously appeared in a secret state in the same session.
別のセッションにおいて繰り返し使用可能かつ秘密状態で登場した長期的で不完全な秘密情報を含むフロー上に現れる暗号プリミティブが共通鍵暗号、公開鍵暗号もしくはメッセージ認証コードスキームであること、である請求項1または請求項2に記載の検証装置。 Security verification items against undetectable online dictionary attacks in the authentication protocol are:
Cryptographic primitives appearing on a flow containing long-term incomplete secret information that can be used repeatedly and secretly in another session are symmetric, public key or message authentication code schemes. The verification device according to claim 1 or 2.
前記認証の対象となる暗号プリミティブが公開鍵暗号もしくはディジタル署名スキームであり、かつ当該暗号プリミティブの引数が公開状態で初登場した一時的な公開情報、同じセッションにおいて以前に公開状態で登場した一時的な公開情報、秘密状態で初登場した一時的な秘密情報もしくは同じセッションにおいて以前に秘密状態で登場した一時的な秘密情報含んでいるか、または、
前記認証の対象となる暗号プリミティブがDiffie−Hellman族もしくはハッシュ関数であり、かつ当該暗号プリミティブの引数が秘密状態で初登場した一時的な秘密情報もしくは同じセッションにおいて以前に秘密状態で登場した一時的な秘密情報を含んでいること、である請求項1から請求項3のいずれかに記載の検証装置。 The security verification item against the key leakage spoofing attack in the authentication protocol is as follows:
The cryptographic primitive to be authenticated is a public key cryptography or digital signature scheme, and the temporary public information that the argument of the cryptographic primitive first appeared in the public state, the temporary that appeared in the public state before in the same session Public information, temporary secret information that first appeared in a secret state, or temporary secret information that appeared previously in a secret state in the same session, or
The cryptographic primitive to be authenticated is a Diffie-Hellman family or a hash function, and temporary secret information that the argument of the cryptographic primitive first appeared in a secret state, or a temporary that appeared in a secret state before in the same session The verification apparatus according to claim 1, wherein the secret information is included.
別のセッションにおいて繰り返し使用可能かつ秘密状態で登場した長期的で不完全な秘密情報を含むフロー上に現れる暗号プリミティブが共通鍵暗号、公開鍵暗号もしくはメッセージ認証コードスキームであること、である請求項1から請求項4のいずれかに記載の検証装置。 Security verification items against undetectable online dictionary attacks in the key exchange protocol are:
Cryptographic primitives appearing on a flow containing long-term incomplete secret information that can be used repeatedly and secretly in another session are symmetric, public key or message authentication code schemes. The verification device according to claim 1.
前記プロトコルにおける鍵生成対象となる暗号プリミティブが共通鍵暗号、パスワードを用いた暗号化、ディジタル署名スキームもしくはメッセージ認証コードスキームであり、かつ当該暗号プリミティブの引数が別のセッションにおいて繰り返し使用可能かつ公開状態で登場した特定公開情報、および公開状態で初登場した一時的な公開情報、同じセッションにおいて以前に公開状態で登場した一時的な公開情報、秘密状態で初登場した一時的な秘密情報もしくは同じセッションにおいて以前に秘密状態で登場した一時的な秘密情報を含んでいるか、または、
前記プロトコルにおける鍵生成対象となる暗号プリミティブが公開鍵暗号もしくはハッシュ関数であり、かつ当該暗号プリミティブの引数が別のセッションにおいて繰り返し使用可能かつ公開状態で登場した特定公開情報、および秘密状態で初登場した一時的な秘密情報もしくは同じセッションにおいて以前に秘密状態で登場した一時的な秘密情報を含んでいるか、または、
前記プロトコルにおける鍵生成対象となる暗号プリミティブの引数に含まれる暗号プリミティブが共通鍵暗号、パスワードを用いた暗号化、ディジタル署名スキームもしくはメッセージ認証コードスキームであり、かつ当該引数に含まれる暗号プリミティブの引数が別のセッションにおいて繰り返し使用可能かつ公開状態で登場した特定公開情報、および公開状態で初登場した一時的な公開情報、同じセッションにおいて以前に公開状態で登場した一時的な公開情報、秘密状態で初登場した一時的な秘密情報もしくは同じセッションにおいて以前に秘密状態で登場した一時的な秘密情報を含んでいるか、または、
前記プロトコルにおける鍵生成対象となる暗号プリミティブの引数に含まれる暗号プリミティブが公開鍵暗号もしくはハッシュ関数であり、かつ当該引数に含まれる暗号プリミティブの引数が別のセッションにおいて繰り返し使用可能かつ公開状態で登場した特定公開情報、および秘密状態で初登場した一時的な秘密情報もしくは同じセッションにおいて以前に秘密状態で登場した一時的な秘密情報を含んでいること、である請求項1から請求項5のいずれかに記載の検証装置。 Verification items for security against unknown key sharing attacks in the key exchange protocol are:
The cryptographic primitive that is the key generation target in the protocol is a common key cryptography, encryption using a password, a digital signature scheme or a message authentication code scheme, and an argument of the cryptographic primitive can be repeatedly used in another session and is in a public state Specific public information that appeared in, temporary public information that first appeared in the public state, temporary public information that appeared in the public state before in the same session, temporary secret information that first appeared in the secret state or the same session Contains temporary secret information that appeared in a secret state in the past, or
Cryptographic primitives that are key generation targets in the protocol are public key cryptography or hash functions, and the arguments of the cryptographic primitives can be used repeatedly in different sessions and appear in public state for the first time in secret state. Contain temporary secret information that has been created or has been previously secretly revealed in the same session, or
The cryptographic primitive included in the argument of the cryptographic primitive that is the key generation target in the protocol is the common key encryption, the encryption using the password, the digital signature scheme or the message authentication code scheme, and the cryptographic primitive argument included in the argument Specific public information that can be used repeatedly in another session and appeared in public status, temporary public information that first appeared in public status, temporary public information that appeared in public status in the same session, in secret status Contains temporary confidential information that first appeared or temporary confidential information that appeared in a secret state in the same session, or
The cryptographic primitive included in the argument of the cryptographic primitive that is the key generation target in the protocol is a public key cryptography or hash function, and the cryptographic primitive argument included in the argument can be repeatedly used in another session and appears in a public state 6. Any one of claims 1 to 5, comprising: the specified public information and the temporary secret information first appearing in the secret state or the temporary secret information previously appearing in the secret state in the same session. The verification device according to the above.
前記プロトコルにおける鍵生成対象となる暗号プリミティブが公開鍵暗号、Diffie−Hellman族、ハッシュ関数もしくはメッセージ認証コードスキームであり、かつ当該暗号プリミティブの引数が秘密状態で初登場した一時的な秘密情報もしくは同じセッションにおいて以前に秘密状態で登場した一時的な秘密情報を含んでいるか、または、
前記プロトコルにおける鍵生成対象となる暗号プリミティブがハッシュ関数もしくはメッセージ認証コードスキームであり、かつ前記プロトコルにおける鍵生成対象となる暗号プリミティブの引数に含まれる暗号プリミティブがDiffie−Hellman族であり、かつ当該引数に含まれる暗号プリミティブの引数が秘密状態で初登場した一時的な秘密情報もしくは同じセッションにおいて以前に秘密状態で登場した一時的な秘密情報を含んでいること、である請求項1から請求項6のいずれかに記載の検証装置。 The verification items of strong forward secrecy in the key exchange protocol are as follows:
The cryptographic primitive that is the key generation target in the protocol is public key cryptography, Diffie-Hellman family, hash function, or message authentication code scheme, and the temporary primitive information or the same that the argument of the cryptographic primitive first appears in a secret state or the same Contains temporary secret information that appeared in a secret state before in the session, or
The cryptographic primitive that is the key generation target in the protocol is a hash function or a message authentication code scheme, and the cryptographic primitive included in the argument of the cryptographic primitive that is the key generation target in the protocol is the Diffie-Hellman family, and the argument The argument of the cryptographic primitive included in the information includes temporary secret information that first appeared in a secret state or temporary secret information that appeared previously in a secret state in the same session. The verification apparatus in any one of.
前記プロトコルにおける鍵生成対象となる暗号プリミティブが公開鍵暗号、Diffie−Hellman族、ハッシュ関数もしくはメッセージ認証コードスキームであり、かつ当該暗号プリミティブの引数が秘密状態で初登場した一時的な秘密情報もしくは同じセッションにおいて以前に秘密状態で登場した一時的な秘密情報を含んでいるか、または、
前記プロトコルにおける鍵生成対象となる暗号プリミティブが共通鍵暗号、パスワードを用いた暗号化、公開鍵暗号、ハッシュ関数もしくはメッセージ認証コードスキームであり、かつ前記プロトコルにおける鍵生成対象となる暗号プリミティブの引数に含まれる暗号プリミティブがDiffie−Hellman族であり、かつ当該引数に含まれる暗号プリミティブの引数が秘密状態で初登場した一時的な秘密情報もしくは同じセッションにおいて以前に秘密状態で登場した一時的な秘密情報を含んでいること、である請求項1から請求項7のいずれかに記載の検証装置。 The verification item of weak backward secrecy in the key exchange protocol is:
The cryptographic primitive that is the key generation target in the protocol is public key cryptography, Diffie-Hellman family, hash function, or message authentication code scheme, and the temporary primitive information or the same that the argument of the cryptographic primitive first appears in a secret state or the same Contains temporary secret information that appeared in a secret state before in the session, or
The cryptographic primitive that is the key generation target in the protocol is a common key encryption, encryption using a password, public key encryption, hash function, or message authentication code scheme, and the encryption primitive that is the key generation target in the protocol is an argument Temporary secret information that the cryptographic primitive included is the Diffie-Hellman family and the argument of the cryptographic primitive included in the argument first appeared in a secret state, or temporary secret information previously appeared in a secret state in the same session The verification apparatus according to claim 1, wherein the verification apparatus includes:
当該コンピュータは、前記認証のプロトコルにおけるオフライン辞書攻撃に対する安全性、検出不可能なオンライン辞書攻撃に対する安全性および鍵漏洩なりすまし攻撃に対する安全性のそれぞれの要件を満たすための検証項目と、前記鍵交換のプロトコルにおける検出不可能なオンライン辞書攻撃に対する安全性、未知鍵共有攻撃に対する安全性、強前方秘匿性(strong forward secrecy)および弱後方秘匿性(weak backward secrecy)のそれぞれの要件を満たすための検証項目と、を記憶する記憶部を備え、
前記プロトコルにおいて使用されている暗号プリミティブの種類を設定する種類設定ステップと、
前記種類設定ステップにより種類が設定された暗号プリミティブの役割を設定する役割設定ステップと、
前記プロトコルにおけるフローデータの種類と状態、または暗号プリミティブの引数の種類と状態とを設定するデータ設定ステップと、
要求に応じて検証対象の安全性を選択する安全性選択ステップと、
前記安全性選択ステップにより選択された安全性それぞれに関する検証項目を前記記憶部から抽出し、前記暗号プリミティブの種類、役割および前記データ設定ステップにより設定されたデータに基づいて、当該検証項目を満足するか否かを判定する検証項目判定ステップと、
前記検証項目判定ステップにより前記選択された全ての安全性に関する検証項目を満足していると判定された場合に、前記プロトコルが安全であると判定する安全性判定ステップと、を前記コンピュータが実行する検証方法。 A verification method in which a computer verifies the security of an authentication or key exchange protocol,
The computer includes verification items for satisfying the requirements of security against offline dictionary attacks in the authentication protocol, security against undetectable online dictionary attacks, and security against key leakage spoofing attacks, and the key exchange. Verification items to satisfy the requirements for security against undetectable online dictionary attacks in the protocol, security against unknown key sharing attacks, strong forward secrecy, and weak backward secrecy And a storage unit for storing
A type setting step for setting the type of cryptographic primitive used in the protocol;
A role setting step for setting the role of the cryptographic primitive whose type is set by the type setting step;
A data setting step for setting the type and state of flow data in the protocol or the type and state of arguments of cryptographic primitives;
A safety selection step for selecting the safety to be verified upon request;
The verification items related to the respective safety selected in the security selection step are extracted from the storage unit, and the verification items are satisfied based on the type and role of the cryptographic primitive and the data set in the data setting step. A verification item determination step for determining whether or not,
The computer executes a safety determination step for determining that the protocol is safe when it is determined in the verification item determination step that all the selected safety verification items are satisfied. Method of verification.
当該コンピュータは、前記認証のプロトコルにおけるオフライン辞書攻撃に対する安全性、検出不可能なオンライン辞書攻撃に対する安全性および鍵漏洩なりすまし攻撃に対する安全性のそれぞれの要件を満たすための検証項目と、前記鍵交換のプロトコルにおける検出不可能なオンライン辞書攻撃に対する安全性、未知鍵共有攻撃に対する安全性、強前方秘匿性(strong forward secrecy)および弱後方秘匿性(weak backward secrecy)のそれぞれの要件を満たすための検証項目と、を記憶する記憶部を備え、
前記プロトコルにおいて使用されている暗号プリミティブの種類を設定する種類設定ステップと、
前記種類設定ステップにより種類が設定された暗号プリミティブの役割を設定する役割設定ステップと、
前記プロトコルにおけるフローデータの種類と状態、または暗号プリミティブの引数の種類と状態とを設定するデータ設定ステップと、
要求に応じて検証対象の安全性を選択する安全性選択ステップと、
前記安全性選択ステップにより選択された安全性それぞれに関する検証項目を前記記憶部から抽出し、前記暗号プリミティブの種類、役割および前記データ設定ステップにより設定されたデータに基づいて、当該検証項目を満足するか否かを判定する検証項目判定ステップと、
前記検証項目判定ステップにより前記選択された全ての安全性に関する検証項目を満足していると判定された場合に、前記プロトコルが安全であると判定する安全性判定ステップと、をコンピュータに実行させるための検証プログラム。 A verification program for causing a computer to verify the security of an authentication or key exchange protocol,
The computer includes verification items for satisfying the requirements of security against offline dictionary attacks in the authentication protocol, security against undetectable online dictionary attacks, and security against key leakage spoofing attacks, and the key exchange. Verification items to satisfy the requirements for security against undetectable online dictionary attacks in the protocol, security against unknown key sharing attacks, strong forward secrecy, and weak backward secrecy And a storage unit for storing
A type setting step for setting the type of cryptographic primitive used in the protocol;
A role setting step for setting the role of the cryptographic primitive whose type is set by the type setting step;
A data setting step for setting the type and state of flow data in the protocol or the type and state of arguments of cryptographic primitives;
A safety selection step for selecting the safety to be verified upon request;
The verification items related to the respective safety selected in the security selection step are extracted from the storage unit, and the verification items are satisfied based on the type and role of the cryptographic primitive and the data set in the data setting step. A verification item determination step for determining whether or not,
In order to cause a computer to execute a safety determination step of determining that the protocol is safe when it is determined in the verification item determination step that all the selected safety verification items are satisfied. of the verification program.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2009145717A JP5368893B2 (en) | 2009-06-18 | 2009-06-18 | Verification device, verification method, and verification program for verifying protocol safety |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2009145717A JP5368893B2 (en) | 2009-06-18 | 2009-06-18 | Verification device, verification method, and verification program for verifying protocol safety |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2011004175A JP2011004175A (en) | 2011-01-06 |
| JP5368893B2 true JP5368893B2 (en) | 2013-12-18 |
Family
ID=43561755
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2009145717A Expired - Fee Related JP5368893B2 (en) | 2009-06-18 | 2009-06-18 | Verification device, verification method, and verification program for verifying protocol safety |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP5368893B2 (en) |
-
2009
- 2009-06-18 JP JP2009145717A patent/JP5368893B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2011004175A (en) | 2011-01-06 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10484185B2 (en) | Method and system for distributing attestation key and certificate in trusted computing | |
| US20210367753A1 (en) | Trusted measurement and control network authentication method based on double cryptographic values and chaotic encryption | |
| US9294281B2 (en) | Utilization of a protected module to prevent offline dictionary attacks | |
| US10250591B2 (en) | Password-based authentication | |
| US20250202688A1 (en) | Quantum key transmission method, apparatus, and system | |
| US10686771B2 (en) | User sign-in and authentication without passwords | |
| CN112651037A (en) | Off-chain data access method and system of block chain system | |
| WO2010111439A2 (en) | Method and system for securing communication | |
| CN106797311A (en) | Method for secure password generation | |
| CN116633530A (en) | Quantum key transmission method, device and system | |
| Chen et al. | Security analysis and improvement of user authentication framework for cloud computing | |
| WO2018112482A1 (en) | Method and system for distributing attestation key and certificate in trusted computing | |
| CN102957708A (en) | Application encrypting and decrypting method, server and terminal | |
| CN106657002A (en) | Novel crash-proof base correlation time multi-password identity authentication method | |
| Vokorokos et al. | Yet another attempt in user authentication | |
| Roy et al. | Formal proofs of cryptographic security of diffie-hellman-based protocols | |
| Nam et al. | Security analysis of a nonce-based user authentication scheme using smart cards | |
| JP5368903B2 (en) | Verification device, verification method, and verification program for verifying protocol safety | |
| JP5368894B2 (en) | Verification device, verification method, and verification program for verifying protocol safety | |
| KR101068855B1 (en) | How to prevent permission changes to information data | |
| JP5524763B2 (en) | Verification device, verification method, and verification program for verifying protocol safety | |
| JP5368893B2 (en) | Verification device, verification method, and verification program for verifying protocol safety | |
| CN119135341A (en) | Decentralized identity registration, authentication, and recovery method and system for Web3.0 | |
| CN118249996A (en) | Data confidentiality method for deriving multiple encryption keys from single password and resisting back door attack | |
| CN111510918B (en) | Communication method, system, apparatus, electronic device, and readable storage medium |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120229 |
|
| RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20120803 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130625 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130819 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20130903 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130913 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| LAPS | Cancellation because of no payment of annual fees |