(57)【要約】【課題】認証または鍵交換のプロトコルを安全性のレベルに応じて検証することができる検証装置、検証方法および検証プログラムを提供すること。【解決手段】検証装置１は、認証または鍵交換のプロトコルにおいて使用されている暗号プリミティブの種類を設定する種類設定部１０４と、暗号プリミティブの役割を設定する役割設定部１０５と、プロトコルにおけるフローデータの種類と状態、または暗号プリミティブの引数の種類と状態とを設定するデータ設定部１０７と、要求に応じて検証対象の安全性を選択する安全性選択部１０８と、暗号プリミティブの種類、役割および設定されたデータに基づいて、安全性それぞれに関する検証項目を満足するか否かを判定する検証項目判定部１０９と、選択された全ての安全性に関する検証項目を満足していると判定された場合にプロトコルが安全であると判定する安全性判定部１１０と、を備える。【選択図】図１
2011004175.tif 000002
【特許請求の範囲】
【請求項１】
認証または鍵交換のプロトコルの安全性を検証する検証装置であって、
前記認証のプロトコルにおけるオフライン辞書攻撃に対する安全性、検出不可能なオンライン辞書攻撃に対する安全性および鍵漏洩なりすまし攻撃に対する安全性のそれぞれの要件を満たすための検証項目と、前記鍵交換のプロトコルにおける検出不可能なオンライン辞書攻撃に対する安全性、未知鍵共有攻撃に対する安全性、強前方秘匿性（ｓｔｒｏｎｇ  ｆｏｒｗａｒｄ  ｓｅｃｒｅｃｙ）および弱後方秘匿性（ｗｅａｋ  ｂａｃｋｗａｒｄ  ｓｅｃｒｅｃｙ）のそれぞれの要件を満たすための検証項目と、を記憶する記憶部と、
前記プロトコルにおいて使用されている暗号プリミティブの種類を設定する種類設定部と、
前記種類設定部により種類が設定された暗号プリミティブの役割を設定する役割設定部と、
前記プロトコルにおけるフローデータの種類と状態、または暗号プリミティブの引数の種類と状態とを設定するデータ設定部と、
要求に応じて検証対象の安全性を選択する安全性選択部と、
前記安全性選択部により選択された安全性それぞれに関する検証項目を前記記憶部から抽出し、前記暗号プリミティブの種類、役割および前記データ設定部により設定されたデータに基づいて、当該検証項目を満足するか否かを判定する検証項目判定部と、
前記検証項目判定部により前記選択された全ての安全性に関する検証項目を満足していると判定された場合に、前記プロトコルが安全であると判定する安全性判定部と、を備える検証装置。
【請求項２】
前記認証のプロトコルにおけるオフライン辞書攻撃に対する安全性の検証項目は、
別のセッションにおいて繰り返し使用可能かつ秘密状態で登場した長期的で不完全な秘密情報を含むフロー上に現れる暗号プリミティブが共通鍵暗号もしくはメッセージ認証コードスキームであるか、または、
別のセッションにおいて繰り返し使用可能かつ秘密状態で登場する長期的で不完全な秘密情報を含むフロー上に現れる暗号プリミティブがパスワードを用いた暗号化、公開鍵暗号もしくはハッシュ関数であり、かつ当該暗号プリミティブの引数が秘密状態で初登場した一時的な秘密情報もしくは同じセッションにおいて以前に秘密状態で登場した一時的な秘密情報を含んでいること、である請求項１に記載の検証装置。
【請求項３】
前記認証のプロトコルにおける検出不可能なオンライン辞書攻撃に対する安全性の検証項目は、
別のセッションにおいて繰り返し使用可能かつ秘密状態で登場した長期的で不完全な秘密情報を含むフロー上に現れる暗号プリミティブが共通鍵暗号、公開鍵暗号もしくはメッセージ認証コードスキームであること、である請求項１または請求項２に記載の検証装置。
【請求項４】
前記認証のプロトコルにおける鍵漏洩なりすまし攻撃に対する安全性の検証項目は、
前記認証の対象となる暗号プリミティブが公開鍵暗号もしくはディジタル署名スキームであり、かつ当該暗号プリミティブの引数が公開状態で初登場した一時的な公開情報、同じセッションにおいて以前に公開状態で登場した一時的な公開情報、秘密状態で初登場した一時的な秘密情報もしくは同じセッションにおいて以前に秘密状態で登場した一時的な秘密情報含んでいるか、または、
前記認証の対象となる暗号プリミティブがＤｉｆｆｉｅ−Ｈｅｌｌｍａｎ族もしくはハッシュ関数であり、かつ当該暗号プリミティブの引数が秘密状態で初登場した一時的な秘密情報もしくは同じセッションにおいて以前に秘密状態で登場した一時的な秘密情報を含んでいること、である請求項１から請求項３のいずれかに記載の検証装置。
【請求項５】
前記鍵交換のプロトコルにおける検出不可能なオンライン辞書攻撃に対する安全性の検証項目は、
別のセッションにおいて繰り返し使用可能かつ秘密状態で登場した長期的で不完全な秘密情報を含むフロー上に現れる暗号プリミティブが共通鍵暗号、公開鍵暗号もしくはメッセージ認証コードスキームであること、である請求項１から請求項４のいずれかに記載の検証装置。
【請求項６】
前記鍵交換のプロトコルにおける未知鍵共有攻撃に対する安全性の検証項目は、
前記プロトコルにおける鍵生成対象となる暗号プリミティブが共通鍵暗号、パスワードを用いた暗号化、ディジタル署名スキームもしくはメッセージ認証コードスキームであり、かつ当該暗号プリミティブの引数が別のセッションにおいて繰り返し使用可能かつ公開状態で登場した特定公開情報、および公開状態で初登場した一時的な公開情報、同じセッションにおいて以前に公開状態で登場した一時的な公開情報、秘密状態で初登場した一時的な秘密情報もしくは同じセッションにおいて以前に秘密状態で登場した一時的な秘密情報を含んでいるか、または、
前記プロトコルにおける鍵生成対象となる暗号プリミティブが公開鍵暗号もしくはハッシュ関数であり、かつ当該暗号プリミティブの引数が別のセッションにおいて繰り返し使用可能かつ公開状態で登場した特定公開情報、および秘密状態で初登場した一時的な秘密情報もしくは同じセッションにおいて以前に秘密状態で登場した一時的な秘密情報を含んでいるか、または、
前記プロトコルにおける鍵生成対象となる暗号プリミティブの引数に含まれる暗号プリミティブが共通鍵暗号、パスワードを用いた暗号化、ディジタル署名スキームもしくはメッセージ認証コードスキームであり、かつ当該引数に含まれる暗号プリミティブの引数が別のセッションにおいて繰り返し使用可能かつ公開状態で登場した特定公開情報、および公開状態で初登場した一時的な公開情報、同じセッションにおいて以前に公開状態で登場した一時的な公開情報、秘密状態で初登場した一時的な秘密情報もしくは同じセッションにおいて以前に秘密状態で登場した一時的な秘密情報を含んでいるか、または、
前記プロトコルにおける鍵生成対象となる暗号プリミティブの引数に含まれる暗号プリミティブが公開鍵暗号もしくはハッシュ関数であり、かつ当該引数に含まれる暗号プリミティブの引数が別のセッションにおいて繰り返し使用可能かつ公開状態で登場した特定公開情報、および秘密状態で初登場した一時的な秘密情報もしくは同じセッションにおいて以前に秘密状態で登場した一時的な秘密情報を含んでいること、である請求項１から請求項５のいずれかに記載の検証装置。
【請求項７】
前記鍵交換のプロトコルにおける強前方秘匿性（ｓｔｒｏｎｇ  ｆｏｒｗａｒｄ  ｓｅｃｒｅｃｙ）の検証項目は、
前記プロトコルにおける鍵生成対象となる暗号プリミティブが公開鍵暗号、Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎ族、ハッシュ関数もしくはメッセージ認証コードスキームであり、かつ当該暗号プリミティブの引数が秘密状態で初登場した一時的な秘密情報もしくは同じセッションにおいて以前に秘密状態で登場した一時的な秘密情報を含んでいるか、または、
前記プロトコルにおける鍵生成対象となる暗号プリミティブがハッシュ関数もしくはメッセージ認証コードスキームであり、かつ前記プロトコルにおける鍵生成対象となる暗号プリミティブの引数に含まれる暗号プリミティブがＤｉｆｆｉｅ−Ｈｅｌｌｍａｎ族であり、かつ当該引数に含まれる暗号プリミティブの引数が秘密状態で初登場した一時的な秘密情報もしくは同じセッションにおいて以前に秘密状態で登場した一時的な秘密情報を含んでいること、である請求項１から請求項６のいずれかに記載の検証装置。
【請求項８】
前記鍵交換のプロトコルにおける弱後方秘匿性（ｗｅａｋ  ｂａｃｋｗａｒｄ  ｓｅｃｒｅｃｙ）の検証項目は、
前記プロトコルにおける鍵生成対象となる暗号プリミティブが公開鍵暗号、Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎ族、ハッシュ関数もしくはメッセージ認証コードスキームであり、かつ当該暗号プリミティブの引数が秘密状態で初登場した一時的な秘密情報もしくは同じセッションにおいて以前に秘密状態で登場した一時的な秘密情報を含んでいるか、または、
前記プロトコルにおける鍵生成対象となる暗号プリミティブが共通鍵暗号、パスワードを用いた暗号化、公開鍵暗号、ハッシュ関数もしくはメッセージ認証コードスキームであり、かつ前記プロトコルにおける鍵生成対象となる暗号プリミティブの引数に含まれる暗号プリミティブがＤｉｆｆｉｅ−Ｈｅｌｌｍａｎ族であり、かつ当該引数に含まれる暗号プリミティブの引数が秘密状態で初登場した一時的な秘密情報もしくは同じセッションにおいて以前に秘密状態で登場した一時的な秘密情報を含んでいること、である請求項１から請求項７のいずれかに記載の検証装置。
【請求項９】
コンピュータが認証または鍵交換のプロトコルの安全性を検証する検証方法であって、
当該コンピュータは、前記認証のプロトコルにおけるオフライン辞書攻撃に対する安全性、検出不可能なオンライン辞書攻撃に対する安全性および鍵漏洩なりすまし攻撃に対する安全性のそれぞれの要件を満たすための検証項目と、前記鍵交換のプロトコルにおける検出不可能なオンライン辞書攻撃に対する安全性、未知鍵共有攻撃に対する安全性、強前方秘匿性（ｓｔｒｏｎｇ  ｆｏｒｗａｒｄ  ｓｅｃｒｅｃｙ）および弱後方秘匿性（ｗｅａｋ  ｂａｃｋｗａｒｄ  ｓｅｃｒｅｃｙ）のそれぞれの要件を満たすための検証項目と、を記憶する記憶部を備え、
前記プロトコルにおいて使用されている暗号プリミティブの種類を設定する種類設定ステップと、
前記種類設定ステップにより種類が設定された暗号プリミティブの役割を設定する役割設定ステップと、
前記プロトコルにおけるフローデータの種類と状態、または暗号プリミティブの引数の種類と状態とを設定するデータ設定ステップと、
要求に応じて検証対象の安全性を選択する安全性選択ステップと、
前記安全性選択ステップにより選択された安全性それぞれに関する検証項目を前記記憶部から抽出し、前記暗号プリミティブの種類、役割および前記データ設定ステップにより設定されたデータに基づいて、当該検証項目を満足するか否かを判定する検証項目判定ステップと、
前記検証項目判定ステップにより前記選択された全ての安全性に関する検証項目を満足していると判定された場合に、前記プロトコルが安全であると判定する安全性判定ステップと、を含む検証方法。
【請求項１０】
コンピュータに認証または鍵交換のプロトコルの安全性を検証させる検証プログラムであって、
当該コンピュータは、前記認証のプロトコルにおけるオフライン辞書攻撃に対する安全性、検出不可能なオンライン辞書攻撃に対する安全性および鍵漏洩なりすまし攻撃に対する安全性のそれぞれの要件を満たすための検証項目と、前記鍵交換のプロトコルにおける検出不可能なオンライン辞書攻撃に対する安全性、未知鍵共有攻撃に対する安全性、強前方秘匿性（ｓｔｒｏｎｇ  ｆｏｒｗａｒｄ  ｓｅｃｒｅｃｙ）および弱後方秘匿性（ｗｅａｋ  ｂａｃｋｗａｒｄ  ｓｅｃｒｅｃｙ）のそれぞれの要件を満たすための検証項目と、を記憶する記憶部を備え、
前記プロトコルにおいて使用されている暗号プリミティブの種類を設定する種類設定ステップと、
前記種類設定ステップにより種類が設定された暗号プリミティブの役割を設定する役割設定ステップと、
前記プロトコルにおけるフローデータの種類と状態、または暗号プリミティブの引数の種類と状態とを設定するデータ設定ステップと、
要求に応じて検証対象の安全性を選択する安全性選択ステップと、
前記安全性選択ステップにより選択された安全性それぞれに関する検証項目を前記記憶部から抽出し、前記暗号プリミティブの種類、役割および前記データ設定ステップにより設定されたデータに基づいて、当該検証項目を満足するか否かを判定する検証項目判定ステップと、
前記検証項目判定ステップにより前記選択された全ての安全性に関する検証項目を満足していると判定された場合に、前記プロトコルが安全であると判定する安全性判定ステップと、を実行させる検証プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、認証や鍵共有等のセキュリティ機能を有する認証または鍵交換のプロトコルの安全性を検証する検証装置、検証方法および検証プログラムに関する。
【背景技術】
【０００２】
従来、プロトコル設計者の有するセキュリティや暗号技術の見識に基づき、経験的に安全な認証または鍵交換のプロトコルが提案されてきた。しかしながら、提案された認証または鍵交換のプロトコルの仕様が公開された後に、セキュリティ上の脆弱性が指摘される場合があった。標準化された認証または鍵交換のプロトコルが製品等を通じて広く普及した後に脆弱性が発見されると、製品等の改修に関わるコストが大きな問題となる。
【０００３】
特に、致命的な脆弱性が発見された場合には、経済的な損害を回避するため、ソフトウェアのパッチの充当やハードウェアのチップや部品の交換等、早急に対処する必要が生じる。したがって、提案された認証または鍵交換のプロトコルや関連製品が普及するほど、社会的な影響は非常に大きくなり、場合によってはシステム全体が破綻してしまう可能性もある。
【０００４】
そこで、「汎用結合可能安全性」と呼ばれる概念を利用した、認証または鍵交換のプロトコルの安全性を検証するための装置、方法およびプログラムが提案されている（例えば、特許文献１、特許文献２参照）。ここで、「汎用結合可能安全性」とは、ある認証または鍵交換のプロトコルがそのセキュリティ機能に関する理想機能を安全に実現するならば、この認証または鍵交換のプロトコルは安全であることを意味している。例えば、ある鍵交換プロトコルが鍵交換理想機能を安全に実現するならば、この鍵交換プロトコルは安全であることが示されたことになる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−２８４４７号公報
【特許文献２】特開２００８−３５１１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記の「汎用結合可能安全性」は、現在最も強力な安全性であると言われており、理想機能はセキュリティ機能に要求される全ての安全性を網羅する。そのため、ある認証または鍵交換のプロトコルがその理想機能を安全に実現するとき、この認証または鍵交換のプロトコルはセキュリティ機能に要求される全ての安全性を満足することになる。
【０００７】
ところが、プロトコルの安全性と効率性とはトレードオフの関係にあるため、認証または鍵交換のプロトコルの安全性を高くするほど効率性は低くなる。そのため、認証または鍵交換のプロトコルの効率性を重要視するときには、許容される限度まで安全性を低くしてよい。しかしながら、上記の先行技術では、認証または鍵交換のプロトコルの厳密な安全性を検証することはできても、安全性のレベルに応じた検証を行うことができない。
【０００８】
そこで、本発明は、認証または鍵交換のプロトコルを安全性のレベルに応じて検証することができる検証装置、検証方法および検証プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明では、以下のような解決手段を提供する。
【００１０】
（１）  認証または鍵交換のプロトコルの安全性を検証する検証装置であって、
前記認証のプロトコルにおけるオフライン辞書攻撃に対する安全性、検出不可能なオンライン辞書攻撃に対する安全性および鍵漏洩なりすまし攻撃に対する安全性のそれぞれの要件を満たすための検証項目と、前記鍵交換のプロトコルにおける検出不可能なオンライン辞書攻撃に対する安全性、未知鍵共有攻撃に対する安全性、強前方秘匿性（ｓｔｒｏｎｇ  ｆｏｒｗａｒｄ  ｓｅｃｒｅｃｙ）および弱後方秘匿性（ｗｅａｋ  ｂａｃｋｗａｒｄ  ｓｅｃｒｅｃｙ）のそれぞれの要件を満たすための検証項目と、を記憶する記憶部と、
前記プロトコルにおいて使用されている暗号プリミティブの種類を設定する種類設定部と、
前記種類設定部により種類が設定された暗号プリミティブの役割を設定する役割設定部と、
前記プロトコルにおけるフローデータの種類と状態、または暗号プリミティブの引数の種類と状態とを設定するデータ設定部と、
要求に応じて検証対象の安全性を選択する安全性選択部と、
前記安全性選択部により選択された安全性それぞれに関する検証項目を前記記憶部から抽出し、前記暗号プリミティブの種類、役割および前記データ設定部により設定されたデータに基づいて、当該検証項目を満足するか否かを判定する検証項目判定部と、
前記検証項目判定部により前記選択された全ての安全性に関する検証項目を満足していると判定された場合に、前記プロトコルが安全であると判定する安全性判定部と、を備える検証装置。
【００１１】
（２）  前記認証のプロトコルにおけるオフライン辞書攻撃に対する安全性の検証項目は、
別のセッションにおいて繰り返し使用可能かつ秘密状態で登場した長期的で不完全な秘密情報を含むフロー上に現れる暗号プリミティブが共通鍵暗号もしくはメッセージ認証コードスキームであるか、または、
別のセッションにおいて繰り返し使用可能かつ秘密状態で登場する長期的で不完全な秘密情報を含むフロー上に現れる暗号プリミティブがパスワードを用いた暗号化、公開鍵暗号もしくはハッシュ関数であり、かつ当該暗号プリミティブの引数が秘密状態で初登場した一時的な秘密情報もしくは同じセッションにおいて以前に秘密状態で登場した一時的な秘密情報を含んでいること、である（１）に記載の検証装置。
【００１２】
（３）  前記認証のプロトコルにおける検出不可能なオンライン辞書攻撃に対する安全性の検証項目は、
別のセッションにおいて繰り返し使用可能かつ秘密状態で登場した長期的で不完全な秘密情報を含むフロー上に現れる暗号プリミティブが共通鍵暗号、公開鍵暗号もしくはメッセージ認証コードスキームであること、である（１）または（２）に記載の検証装置。
【００１３】
（４）  前記認証のプロトコルにおける鍵漏洩なりすまし攻撃に対する安全性の検証項目は、
前記認証の対象となる暗号プリミティブが公開鍵暗号もしくはディジタル署名スキームであり、かつ当該暗号プリミティブの引数が公開状態で初登場した一時的な公開情報、同じセッションにおいて以前に公開状態で登場した一時的な公開情報、秘密状態で初登場した一時的な秘密情報もしくは同じセッションにおいて以前に秘密状態で登場した一時的な秘密情報含んでいるか、または、
前記認証の対象となる暗号プリミティブがＤｉｆｆｉｅ−Ｈｅｌｌｍａｎ族もしくはハッシュ関数であり、かつ当該暗号プリミティブの引数が秘密状態で初登場した一時的な秘密情報もしくは同じセッションにおいて以前に秘密状態で登場した一時的な秘密情報を含んでいること、である（１）から（３）のいずれかに記載の検証装置。
【００１４】
（５）  前記鍵交換のプロトコルにおける検出不可能なオンライン辞書攻撃に対する安全性の検証項目は、
別のセッションにおいて繰り返し使用可能かつ秘密状態で登場した長期的で不完全な秘密情報を含むフロー上に現れる暗号プリミティブが共通鍵暗号、公開鍵暗号もしくはメッセージ認証コードスキームであること、である（１）から（４）のいずれかに記載の検証装置。
【００１５】
（６）  前記鍵交換のプロトコルにおける未知鍵共有攻撃に対する安全性の検証項目は、
前記プロトコルにおける鍵生成対象となる暗号プリミティブが共通鍵暗号、パスワードを用いた暗号化、ディジタル署名スキームもしくはメッセージ認証コードスキームであり、かつ当該暗号プリミティブの引数が別のセッションにおいて繰り返し使用可能かつ公開状態で登場した特定公開情報、および公開状態で初登場した一時的な公開情報、同じセッションにおいて以前に公開状態で登場した一時的な公開情報、秘密状態で初登場した一時的な秘密情報もしくは同じセッションにおいて以前に秘密状態で登場した一時的な秘密情報を含んでいるか、または、
前記プロトコルにおける鍵生成対象となる暗号プリミティブが公開鍵暗号もしくはハッシュ関数であり、かつ当該暗号プリミティブの引数が別のセッションにおいて繰り返し使用可能かつ公開状態で登場した特定公開情報、および秘密状態で初登場した一時的な秘密情報もしくは同じセッションにおいて以前に秘密状態で登場した一時的な秘密情報を含んでいるか、または、
前記プロトコルにおける鍵生成対象となる暗号プリミティブの引数に含まれる暗号プリミティブが共通鍵暗号、パスワードを用いた暗号化、ディジタル署名スキームもしくはメッセージ認証コードスキームであり、かつ当該引数に含まれる暗号プリミティブの引数が別のセッションにおいて繰り返し使用可能かつ公開状態で登場した特定公開情報、および公開状態で初登場した一時的な公開情報、同じセッションにおいて以前に公開状態で登場した一時的な公開情報、秘密状態で初登場した一時的な秘密情報もしくは同じセッションにおいて以前に秘密状態で登場した一時的な秘密情報を含んでいるか、または、
前記プロトコルにおける鍵生成対象となる暗号プリミティブの引数に含まれる暗号プリミティブが公開鍵暗号もしくはハッシュ関数であり、かつ当該引数に含まれる暗号プリミティブの引数が別のセッションにおいて繰り返し使用可能かつ公開状態で登場した特定公開情報、および秘密状態で初登場した一時的な秘密情報もしくは同じセッションにおいて以前に秘密状態で登場した一時的な秘密情報を含んでいること、である（１）から（５）のいずれかに記載の検証装置。
【００１６】
（７）  前記鍵交換のプロトコルにおける強前方秘匿性（ｓｔｒｏｎｇ  ｆｏｒｗａｒｄ  ｓｅｃｒｅｃｙ）の検証項目は、
前記プロトコルにおける鍵生成対象となる暗号プリミティブが公開鍵暗号、Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎ族、ハッシュ関数もしくはメッセージ認証コードスキームであり、かつ当該暗号プリミティブの引数が秘密状態で初登場した一時的な秘密情報もしくは同じセッションにおいて以前に秘密状態で登場した一時的な秘密情報を含んでいるか、または、
前記プロトコルにおける鍵生成対象となる暗号プリミティブがハッシュ関数もしくはメッセージ認証コードスキームであり、かつ前記プロトコルにおける鍵生成対象となる暗号プリミティブの引数に含まれる暗号プリミティブがＤｉｆｆｉｅ−Ｈｅｌｌｍａｎ族であり、かつ当該引数に含まれる暗号プリミティブの引数が秘密状態で初登場した一時的な秘密情報もしくは同じセッションにおいて以前に秘密状態で登場した一時的な秘密情報を含んでいること、である（１）から（６）のいずれかに記載の検証装置。
【００１７】
（８）  前記鍵交換のプロトコルにおける弱後方秘匿性（ｗｅａｋ  ｂａｃｋｗａｒｄ  ｓｅｃｒｅｃｙ）の検証項目は、
前記プロトコルにおける鍵生成対象となる暗号プリミティブが公開鍵暗号、Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎ族、ハッシュ関数もしくはメッセージ認証コードスキームであり、かつ当該暗号プリミティブの引数が秘密状態で初登場した一時的な秘密情報もしくは同じセッションにおいて以前に秘密状態で登場した一時的な秘密情報を含んでいるか、または、
前記プロトコルにおける鍵生成対象となる暗号プリミティブが共通鍵暗号、パスワードを用いた暗号化、公開鍵暗号、ハッシュ関数もしくはメッセージ認証コードスキームであり、かつ前記プロトコルにおける鍵生成対象となる暗号プリミティブの引数に含まれる暗号プリミティブがＤｉｆｆｉｅ−Ｈｅｌｌｍａｎ族であり、かつ当該引数に含まれる暗号プリミティブの引数が秘密状態で初登場した一時的な秘密情報もしくは同じセッションにおいて以前に秘密状態で登場した一時的な秘密情報を含んでいること、である（１）から（７）のいずれかに記載の検証装置。
【００１８】
（９）  コンピュータが認証または鍵交換のプロトコルの安全性を検証する検証方法であって、
当該コンピュータは、前記認証のプロトコルにおけるオフライン辞書攻撃に対する安全性、検出不可能なオンライン辞書攻撃に対する安全性および鍵漏洩なりすまし攻撃に対する安全性のそれぞれの要件を満たすための検証項目と、前記鍵交換のプロトコルにおける検出不可能なオンライン辞書攻撃に対する安全性、未知鍵共有攻撃に対する安全性、強前方秘匿性（ｓｔｒｏｎｇ  ｆｏｒｗａｒｄ  ｓｅｃｒｅｃｙ）および弱後方秘匿性（ｗｅａｋ  ｂａｃｋｗａｒｄ  ｓｅｃｒｅｃｙ）のそれぞれの要件を満たすための検証項目と、を記憶する記憶部を備え、
前記プロトコルにおいて使用されている暗号プリミティブの種類を設定する種類設定ステップと、
前記種類設定ステップにより種類が設定された暗号プリミティブの役割を設定する役割設定ステップと、
前記プロトコルにおけるフローデータの種類と状態、または暗号プリミティブの引数の種類と状態とを設定するデータ設定ステップと、
要求に応じて検証対象の安全性を選択する安全性選択ステップと、
前記安全性選択ステップにより選択された安全性それぞれに関する検証項目を前記記憶部から抽出し、前記暗号プリミティブの種類、役割および前記データ設定ステップにより設定されたデータに基づいて、当該検証項目を満足するか否かを判定する検証項目判定ステップと、
前記検証項目判定ステップにより前記選択された全ての安全性に関する検証項目を満足していると判定された場合に、前記プロトコルが安全であると判定する安全性判定ステップと、を含む検証方法。
【００１９】
（１０）  コンピュータに認証または鍵交換のプロトコルの安全性を検証させる検証プログラムであって、
当該コンピュータは、前記認証のプロトコルにおけるオフライン辞書攻撃に対する安全性、検出不可能なオンライン辞書攻撃に対する安全性および鍵漏洩なりすまし攻撃に対する安全性のそれぞれの要件を満たすための検証項目と、前記鍵交換のプロトコルにおける検出不可能なオンライン辞書攻撃に対する安全性、未知鍵共有攻撃に対する安全性、強前方秘匿性（ｓｔｒｏｎｇ  ｆｏｒｗａｒｄ  ｓｅｃｒｅｃｙ）および弱後方秘匿性（ｗｅａｋ  ｂａｃｋｗａｒｄ  ｓｅｃｒｅｃｙ）のそれぞれの要件を満たすための検証項目と、を記憶する記憶部を備え、
前記プロトコルにおいて使用されている暗号プリミティブの種類を設定する種類設定ステップと、
前記種類設定ステップにより種類が設定された暗号プリミティブの役割を設定する役割設定ステップと、
前記プロトコルにおけるフローデータの種類と状態、または暗号プリミティブの引数の種類と状態とを設定するデータ設定ステップと、
要求に応じて検証対象の安全性を選択する安全性選択ステップと、
前記安全性選択ステップにより選択された安全性それぞれに関する検証項目を前記記憶部から抽出し、前記暗号プリミティブの種類、役割および前記データ設定ステップにより設定されたデータに基づいて、当該検証項目を満足するか否かを判定する検証項目判定ステップと、
前記検証項目判定ステップにより前記選択された全ての安全性に関する検証項目を満足していると判定された場合に、前記プロトコルが安全であると判定する安全性判定ステップと、を実行させる検証プログラム。
【発明の効果】
【００２０】
本発明によれば、認証または鍵交換のプロトコルを安全性のレベルに応じて検証することができる。
【図面の簡単な説明】
【００２１】
【図１】本発明の実施形態に係る検証装置の構成を示す図である。
【図２】本発明の実施形態に係る検証方法の流れを示すフローチャートである。
【発明を実施するための形態】
【００２２】
以下、本発明の実施形態の一例について説明する。
【００２３】
＜セキュリティモデル＞
まず、認証または鍵交換のプロトコルの安全性レベルに関するセキュリティモデルを示す。本実施形態では、計算量理論に基づいて認証または鍵交換のプロトコルの安全性を証明する「証明可能安全性」と呼ばれる概念を用いる。「認証または鍵交換のプロトコルが証明可能安全性を有する」とは、認証または鍵交換のプロトコルの安全性が、ある暗号プリミティブの安全性に帰着することを計算量理論的に証明可能であることを示している。すなわち、ある認証または鍵交換のプロトコルを破ることができる攻撃者は、ある暗号プリミティブを多項式時間で破るマシンを構成可能であることを証明することにより、この暗号プリミティブが破られなければ、認証または鍵交換のプロトコルも破られないことを証明する。
【００２４】
上記の証明可能安全性において、認証プロトコルではｍａｔｃｈｉｎｇ  ｃｏｎｖｅｒｓａｔｉｏｎ、鍵交換プロトコルではｓｅｍａｎｔｉｃ  ｓｅｃｕｒｉｔｙという安全性の概念がある。それぞれの概念に対し、認証または鍵交換のプロトコルに要求される以下のような安全性要件が存在する。
【００２５】
（１）ｍａｔｃｈｉｎｇ  ｃｏｎｖｅｒｓａｔｉｏｎ
この安全性は、認証プロトコルにおいて、攻撃者が一方のパーティから受信したメッセージをそのままもう一方のパーティへ送ること以外に何もできないことを示す。すなわち、攻撃者はメッセージの改ざんや新規メッセージの送付、メッセージの遮断、メッセージの順番の入れ替え等の不正を行うことができないことを示す。
【００２６】
（１Ａ）オフライン辞書攻撃に対する安全性
攻撃者がパスワード推測用の辞書からオフラインで過去の履歴に一致するパーティのパスワードを探索することはできないことを示す。
【００２７】
（１Ｂ）検出不可能なオンライン辞書攻撃に対する安全性
パスワードを登録してあるパーティに対して、攻撃者がパスワードを問い合わせていることを検出することができることを示す。
【００２８】
（１Ｃ）鍵漏洩なりすまし攻撃に対する安全性
攻撃者が共通鍵暗号の共通鍵やパスワード、公開鍵暗号の秘密鍵等のあるパーティの長期鍵を得ることができたとしても、このパーティ以外のパーティになりすますことはできないことを示す。
【００２９】
（２）ｓｅｍａｎｔｉｃ  ｓｅｃｕｒｉｔｙ
この安全性は、鍵交換プロトコルにおいて、攻撃者はセッション鍵に関するどんな情報も得ることができないことを示す。すなわち、攻撃者はセッション鍵と乱数を多項式時間で区別することができないことを示す。
【００３０】
（２Ａ）検出不可能なオンライン辞書攻撃に対する安全性
パスワードを登録してあるパーティに対して、攻撃者がパスワードを問い合わせていることを検出することができることを示す。
【００３１】
（２Ｂ）未知鍵共有攻撃に対する安全性
あるパーティが正しいと思っているパーティとは別のパーティとセッション鍵を共有することができないことを示す。
【００３２】
（２Ｃ）ｓｔｒｏｎｇ  ｆｏｒｗａｒｄ  ｓｅｃｒｅｃｙ
攻撃者が共通鍵暗号の共通鍵やパスワード、公開鍵暗号の秘密鍵等のパーティの長期鍵と内部状態を得ることができたとしても、それ以前に共有されたセッション鍵を得ることはできないことを示す。
【００３３】
（２Ｄ）ｗｅａｋ  ｂａｃｋｗａｒｄ  ｓｅｃｒｅｃｙ
攻撃者が共通鍵暗号の共通鍵やパスワード、公開鍵暗号の秘密鍵等のパーティの長期鍵を得ることができたとしても、それ以後に共有されたセッション鍵を得ることはできないことを示す。
【００３４】
ただし、長期鍵を使用しない認証または鍵交換のプロトコルの場合、（１Ｃ）鍵漏洩なりすまし攻撃に対する安全性、（２Ｃ）ｓｔｒｏｎｇ  ｆｏｒｗａｒｄ  ｓｅｃｒｅｃｙ、（２Ｄ）ｗｅａｋ  ｂａｃｋｗａｒｄ  ｓｅｃｒｅｃｙは要求されない。特に、パスワードを使用しない認証または鍵交換のプロトコルの場合、（１Ａ）オフライン辞書攻撃に対する安全性、（１Ｂ）検出不可能なオンライン辞書攻撃に対する安全性、（２Ａ）検出不可能なオンライン辞書攻撃に対する安全性は要求されない。
【００３５】
ここで、認証または鍵交換のプロトコルにおいて使用されている暗号プリミティブの種類は以下の通りである。なお、括弧内は各暗号プリミティブを示す略記号である。
［共通鍵暗号系］
・共通鍵暗号（ＳＫＥ）
・パスワードを用いた暗号化（ＰＷＥ）
［公開鍵暗号系］
・公開鍵暗号（ＰＫＥ）
・Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎ族（ＤＨ）
・ディジタル署名スキーム（ＳＩＧ）
［ハッシュ関数系］
・ハッシュ関数（ＨＦ）
・メッセージ認証コードスキーム（ＭＡＣ）
【００３６】
また、上記の暗号プリミティブに設定される役割は以下の通りである。なお、括弧内は各役割を示す略記号である。
・認証プロトコルにおける認証対象となる暗号プリミティブ（ＡＧＦ）
・鍵交換プロトコルにおける鍵生成対象となる暗号プリミティブ（ＫＧＦ）
・ＡＧＦやＫＧＦの引数に含まれる暗号プリミティブ（ＡＣＰ）
・フロー上に現れる暗号プリミティブ（ＯＣＰ）
【００３７】
さらに、認証または鍵交換プロトコルにおけるフローデータに対して、または暗号プリミティブの引数に対して設定される要素は以下の通りである。なお、括弧内は各フローデータまたは各引数の種類または状態を示す略記号である。
［フローデータと暗号プリミティブの引数とに設定される種類］
・一般公開情報（ＰＵＢ）
・特定公開情報（ＩＤ）
・一時的な公開情報（ＴＰＫ）
・長期的で完全な秘密情報（ＬＬＫ）
・長期的で不完全な秘密情報（ＰＷ）
・一時的な秘密情報（ＴＳＫ）
［フローデータと暗号プリミティブの引数とに設定される状態］
・公開状態で初登場（ＰＦＴ）
・同じセッションにおいて以前に公開状態で登場（ＰＳＳ）
・別のセッションにおいて繰り返し使用可能かつ公開状態で登場（ＰＲＳ）
・秘密状態で初登場（ＳＦＴ）
・同じセッションにおいて以前に秘密状態で登場（ＳＳＳ）
・別のセッションにおいて繰り返し使用可能かつ秘密状態で登場（ＳＲＳ）
【００３８】
＜検証項目＞
次に、認証または鍵交換のプロトコルの安全性に対する検証項目について説明する。本実施形態では、２パーティ（２ユーザ間、サーバおよびクライアント間等）での認証または鍵交換のプロトコルを対象とし、以下の３点を前提とする。
【００３９】
・認証または鍵交換のプロトコルにおいて、秘密鍵やパスワードを使用している場合、２パーティは予め同じ秘密鍵やパスワードを何らかの安全な手順で共有しておくこととし、その手順に脆弱性はないとする。
・認証または鍵交換のプロトコルにおいて、公開鍵を使用している場合、各パーティは認証局等の第三者機関との間で公開鍵証明書の正当性を確認することができることとし、その手順に脆弱性はないとする。
・暗号プリミティブが危殆化した場合、検証装置１はリアルタイムにその情報を得て、記録しておくことができることとする。
【００４０】
以下、認証または鍵交換のプロトコルの安全性を、レベルすなわち安全性の種類に応じて検証する検証項目を示す。
【００４１】
（１）認証プロトコルに対するｍａｔｃｈｉｎｇ  ｃｏｎｖｅｒｓａｔｉｏｎ
（１Ａ）オフライン辞書攻撃に対する安全性における検証項目
（攻撃に関係する設定情報）全てのフロー
（１Ａ−ａ）ＰＷ−ＳＲＳを含むＯＣＰがＳＫＥまたはＭＡＣである。
（１Ａ−ｂ）ＰＷ−ＳＲＳを含むＯＣＰがＰＷＥまたはＰＫＥまたはＨＦであり、ＯＣＰの引数がＴＳＫ−ＳＦＴまたはＴＳＫ−ＳＳＳを含んでいる。
【００４２】
（１Ｂ）検出不可能なオンライン辞書攻撃に対する安全性における検証項目
（攻撃に関係する設定情報）全てのフロー
（１Ｂ−ａ）ＰＷ−ＳＲＳを含むＯＣＰがＳＫＥまたはＰＫＥまたはＭＡＣである。
【００４３】
（１Ｃ）鍵漏洩なりすまし攻撃に対する安全性における検証項目
（攻撃に関係する設定情報）一方のパーティの長期鍵
（１Ｃ−ａ）ＡＧＦがＰＫＥまたはＳＩＧであり、ＡＧＦの引数がＴＰＫ−ＰＦＴまたはＴＰＫ−ＰＳＳまたはＴＳＫ−ＳＦＴまたはＴＳＫ−ＳＳＳを含んでいる。
（１Ｃ−ｂ）ＡＧＦがＤＨまたはＨＦであり、ＡＧＦの引数がＴＳＫ−ＳＦＴまたはＴＳＫ−ＳＳＳを含んでいる。
【００４４】
（２）鍵交換プロトコルに対するｓｅｍａｎｔｉｃ  ｓｅｃｕｒｉｔｙ
（２Ａ）検出不可能なオンライン辞書攻撃に対する安全性における検証項目
（攻撃に関係する設定情報）全てのフロー
（２Ａ−ａ）ＰＷ−ＳＲＳを含むＯＣＰがＳＫＥまたはＰＫＥまたはＭＡＣである。
【００４５】
（２Ｂ）未知鍵共有攻撃に対する安全性における検証項目
（攻撃に関係する設定情報）全てのフロー
（２Ｂ−ａ）ＫＧＦがＳＫＥまたはＰＷＥまたはＳＩＧまたはＭＡＣであり、ＫＧＦの引数がＩＤ−ＰＲＳかつ（ＴＰＫ−ＰＦＴまたはＴＰＫ−ＰＳＳまたはＴＳＫ−ＳＦＴまたはＴＳＫ−ＳＳＳ）を含んでいる。
（２Ｂ−ｂ）ＫＧＦがＰＫＥまたはＨＦであり、ＫＧＦの引数がＩＤ−ＰＲＳかつ（ＴＳＫ−ＳＦＴまたはＴＳＫ−ＳＳＳ）を含んでいる。
（２Ｂ−ｃ）ＡＣＰがＳＫＥまたはＰＷＥまたはＳＩＧまたはＭＡＣであり、ＡＣＰの引数がＩＤ−ＰＲＳかつ（ＴＰＫ−ＰＦＴまたはＴＰＫ−ＰＳＳまたはＴＳＫ−ＳＦＴまたはＴＳＫ−ＳＳＳ）を含んでいる。
（２Ｂ−ｄ）ＡＣＰがＰＫＥまたはＨＦであり、ＡＣＰの引数がＩＤ−ＰＲＳかつ（ＴＳＫ−ＳＦＴまたはＴＳＫ−ＳＳＳ）を含んでいる。
【００４６】
（２Ｃ）ｓｔｒｏｎｇ  ｆｏｒｗａｒｄ  ｓｅｃｒｅｃｙにおける検証項目
（攻撃に関係する設定情報）全ての長期鍵と内部状態
（２Ｃ−ａ）ＫＧＦがＰＫＥまたはＤＨまたはＨＦまたはＭＡＣであり、ＫＧＦの引数がＴＳＫ−ＳＦＴまたはＴＳＫ−ＳＳＳを含んでいる。
（２Ｃ−ｂ）ＫＧＦがＨＦまたはＭＡＣであり、ＡＣＰがＤＨであり、ＡＣＰの引数がＴＳＫ−ＳＦＴまたはＴＳＫ−ＳＳＳを含んでいる。
【００４７】
（２Ｄ）ｗｅａｋ  ｂａｃｋｗａｒｄ  ｓｅｃｒｅｃｙにおける検証項目
（攻撃に関係する設定情報）全ての長期鍵
（２Ｄ−ａ）ＫＧＦがＰＫＥまたはＤＨまたはＨＦまたはＭＡＣであり、ＫＧＦの引数がＴＳＫ−ＳＦＴまたはＴＳＫ−ＳＳＳを含んでいる。
（２Ｄ−ｂ）ＫＧＦがＳＫＥまたはＰＷＥまたはＰＫＥまたはＨＦまたはＭＡＣであり、ＡＣＰがＤＨであり、ＡＣＰの引数がＴＳＫ−ＳＦＴまたはＴＳＫ−ＳＳＳを含んでいる。
【００４８】
＜検証装置の構成＞
図１は、本実施形態に係る認証または鍵交換のプロトコルの安全性を検証する検証装置１の構成を示す図である。
検証装置１は、制御部１０と、記憶部２０と、入力部３０と、表示部４０と、を備える。
【００４９】
制御部１０は、検証装置１の全体を制御する部分であり、記憶部２０に記憶された各種プログラムを適宜読み出して実行することにより、上述のハードウェアと協働し、本発明に係る各種機能を実現している。制御部１０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）であってよい。
【００５０】
記憶部２０は、ハードウェア群を検証装置１として機能させるための各種プログラムや、本発明の機能を制御部１０に実行させるプログラム、データベース等を記憶する。具体的には、記憶部２０は、上述の暗号プリミティブの種類および役割、ならびにフローデータまたは暗号プリミティブの引数の種類と状態、さらには、上述の各安全性とその検証項目とを記憶している。また、記憶部２０は、入力部３０または所定のネットワークを介して制御部１０により取得された、各暗号プリミティブが危殆化したことを示す情報も記憶する。なお、記憶部２０は、ハードディスク、光ディスクドライブ、あるいは半導体メモリ等、様々な記憶装置のいずれかにより構成されてよい。
【００５１】
入力部３０は、検証装置１に対するユーザ（検証装置１の管理者）からの指示入力を受け付けるインタフェース装置である。入力部３０は、例えばキーボードやマウス等により構成される。
【００５２】
表示部４０は、ユーザ（検証装置１の管理者）にデータの入力を受け付ける画面を表示したり、検証装置１による処理結果の画面を表示したりするものである。表示部４０は、ブラウン管表示装置（ＣＲＴ）、液晶表示装置（ＬＣＤ）等のディスプレイ装置であってよい。
【００５３】
なお、本発明でいうコンピュータとは、制御装置や記憶装置等を備えた情報処理装置である。検証装置１は、制御部１０や記憶部２０等を備えた情報処理装置であり、この情報処理装置は、本発明のコンピュータの概念に含まれる。
【００５４】
また、制御部１０は、プロトコル受付部１０１と、暗号プリミティブ列挙部１０２と、危殆化情報判定部１０３と、種類設定部１０４と、役割設定部１０５と、フロー列挙部１０６と、データ設定部１０７と、安全性選択部１０８と、検証項目判定部１０９と、安全性判定部１１０と、を備える。
【００５５】
プロトコル受付部１０１は、入力部３０からの指示入力に基づいて、安全性の検証対象である認証または鍵交換のプロトコルの仕様データの入力を受け付ける。
【００５６】
暗号プリミティブ列挙部１０２は、プロトコル受付部１０１により受け付けたプロトコルの仕様データから、このプロトコルにおいて使用されている全ての暗号プリミティブを列挙する。
【００５７】
危殆化情報判定部１０３は、暗号プリミティブ列挙部１０２により列挙された暗号プリミティブに対して危殆化情報があるか否かを判定する。危殆化情報が１つでもある場合、安全性判定部１１０により、プロトコルは安全ではないと判定される。
【００５８】
種類設定部１０４は、暗号プリミティブ列挙部１０２により列挙された暗号プリミティブの種類を、上述のＳＫＥ、ＰＷＥ、ＰＫＥ、ＤＨ、ＳＩＧ、ＨＦ、ＭＡＣの中から選択して設定する。
【００５９】
役割設定部１０５は、種類設定部１０４により種類が選択された暗号プリミティブの役割を、上述のＡＧＦ、ＫＧＦ、ＡＣＰ、ＯＣＰの中から選択して設定する。
【００６０】
フロー列挙部１０６は、プロトコル受付部１０１により受け付けた検証対象のプロトコルにおける全てのフローを列挙する。
【００６１】
データ設定部１０７は、フロー列挙部１０６により列挙されたフローのフローデータと暗号プリミティブの引数とについて、プロトコルの仕様に従い、種類を上述のＰＵＢ、ＩＤ、ＴＰＫ、ＬＬＫ、ＰＷ、ＴＳＫの中から選択し、また状態を上述のＰＦＴ、ＰＳＳ、ＰＲＳ、ＳＦＴ、ＳＳＳ、ＳＲＳの中から選択して設定する。
【００６２】
ここで、これらフローデータおよび暗号プリミティブの引数の種類と状態とは、列挙されたプロトコルのフローの順に設定される。なお、状態はセッション中での以前のフローに応じて更新されていく。また、公開状態と秘密状態では、公開状態が優先されることとする。
【００６３】
安全性選択部１０８は、プロトコル受付部１０１により受け付けた検証対象のプロトコルに対して要求されている安全性を選択する。具体的には、入力部３０を介して、上述の（１Ａ）、（１Ｂ）、（１Ｃ）、（２Ａ）、（２Ｂ）、（２Ｃ）、（２Ｄ）の中から選択入力を受け付ける。なお、選択される安全性は複数であってよく、プロトコルを運用する上で必要とされる最低限の安全性が選択されることが好ましい。
【００６４】
検証項目判定部１０９は、種類設定部１０４、役割設定部１０５およびデータ設定部１０７により設定された情報を用いて、安全性選択部１０８により選択された各安全性に対する上述の検証項目を記憶部２０から読み出し検証する。
【００６５】
また、検証項目判定部１０９は、プロトコルにおいて要求されているセキュリティパラメータ（例えば、鍵のサイズ等）を設定する。フロー、暗号プリミティブおよび引数のサイズが設定されたセキュリティパラメータを満足しているか否かを確認し、満足していないサイズが１つでもある場合、安全性判定部１１０によりプロトコルは安全ではないと判定される。
【００６６】
安全性判定部１１０は、安全性選択部１０８により選択された全ての安全性に関して、検証項目判定部１０９により検証項目を満足していると判定された場合に、プロトコルが安全であると判定する。一方、安全性判定部１１０は、検証項目を満足していない安全性が１つでもある場合には、プロトコルは安全ではないと判定する。
【００６７】
＜処理フロー＞
図２は、本実施形態に係る検証装置１の制御部１０にて実行される検証方法の流れを示すフローチャートである。
【００６８】
ステップＳ１では、制御部１０は、受け付けた認証または鍵交換のプロトコルにおいて使用されている全ての暗号プリミティブを列挙する。
【００６９】
ステップＳ２では、制御部１０は、ステップＳ１で列挙された暗号プリミティブに関して、危殆化情報が記憶されていないか否かを判定する。この判定がＹＥＳの場合はステップＳ３に移り、判定がＮＯの場合はステップＳ１０に移る。
【００７０】
ステップＳ３（種類設定ステップ）では、制御部１０は、ステップＳ１で列挙された暗号プリミティブの種類を、記憶部２０に記憶されている情報と比較することにより判断して設定する。
【００７１】
ステップＳ４（役割設定ステップ）では、制御部１０は、ステップＳ３で種類が設定された暗号プリミティブの役割を、記憶部２０に記憶されている情報と比較することにより判断して設定する。
【００７２】
ステップＳ５では、制御部１０は、受け付けた認証または鍵交換のプロトコルにおける全てのフローを列挙する。
【００７３】
ステップＳ６（データ設定ステップ）では、制御部１０は、ステップＳ５で列挙されたフローのフローデータと暗号プリミティブの引数とについて、プロトコルの仕様に従い、記憶部２０に記憶されている情報と比較することにより種類と状態とを判断して設定する。
【００７４】
ステップＳ７（安全性選択ステップ）では、制御部１０は、受け付けた認証または鍵交換のプロトコルに対して要求されている安全性を、記憶部２０に記憶されている所定の種類の中から選択する。
【００７５】
ステップＳ８（検証項目判定ステップ）では、制御部１０は、ステップＳ３、ステップＳ４およびステップＳ６で設定された各情報を用いて、ステップＳ７で選択された各安全性に対する検証項目を記憶部２０から読み出し検証する。そして、制御部１０は、ステップＳ７で選択された全ての安全性に関して検証項目を満足しているか否かを判定する。この判定がＹＥＳの場合はステップＳ９に移り、判定がＮＯの場合はステップＳ１０に移る。
【００７６】
ステップＳ９（安全性判定ステップ）では、制御部１０は、検証対象である認証または鍵交換のプロトコルが要求されている安全性を全て満たしているため、このプロトコルは安全であると判定する。
【００７７】
ステップＳ１０（安全性判定ステップ）では、制御部１０は、ステップＳ２で暗号プリミティブが危殆化していると判定されたか、または検証対象のプロトコルが要求されている安全性のいずれかを満たしていないため、このプロトコルは安全ではないと判定する。
【００７８】
なお、本処理は、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムがコンピュータにインストールされる。また、当該プログラムは、ＣＤ−ＲＯＭのようなリムーバブルメディアに記録されてユーザに配布されてもよいし、ネットワークを介してユーザのコンピュータにダウンロードされることにより配布されてもよい。
【００７９】
以上のように、本実施形態によれば、認証または鍵交換のプロトコルについて、要求されている安全性を選択して、それぞれの安全性を検証することができる。すなわち、本実施形態によれば、認証または鍵交換のプロトコルを安全性のレベルに応じて検証することができる。
【００８０】
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限るものではない。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本発明の実施形態に記載されたものに限定されるものではない。
【符号の説明】
【００８１】
１  検証装置
１０  制御部
２０  記憶部
３０  入力部
４０  表示部
１０１  プロトコル受付部
１０２  暗号プリミティブ列挙部
１０３  危殆化情報判定部
１０４  種類設定部
１０５  役割設定部
１０６  フロー列挙部
１０７  データ設定部
１０８  安全性選択部
１０９  検証項目判定部
１１０  安全性判定部
【図１】
2011004175.tif 000003
【図２】
2011004175.tif 000004