説明

データ検証装置、データ検証装置のデータ検証方法、データ検証プログラムおよびデータ検証システム

【課題】署名データや公開鍵証明書の信頼度を提供できるようにすることを目的とする。
【解決手段】リスク定義ファイル391は、電子署名の署名値と電子署名の署名値以外の複数のデータ項目とを含んだ署名データ110に含まれるデータ項目のうち検証対象のデータ項目を検証項目として示す。検証サーバ通信部360は、署名データ110を含んだ検証リクエスト120を受信する。項目検証部320は、リスク定義ファイル391に基づいて署名データ110から署名値と検証項目とを抽出し、抽出した署名値が正しいか否かを署名値の所定の検証方法で検証し、抽出した検証項目が正しいか否かを検証項目の所定の検証方法で検証する。検証結果値算出部340は、署名値の検証結果と各検証項目の検証結果とに基づいて署名データ110の信頼度を検証結果値399として算出する。検証サーバ通信部360は、検証結果値399を含んだ検証レスポンス130を送信する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、例えば、署名付きデータを検証するデータ検証装置、データ検証装置のデータ検証方法、データ検証プログラムおよびデータ検証システムに関するものである。
【背景技術】
【0002】
様々な環境で公開鍵基盤(PKI:Public Key Infrastructure)が整備されている中、利用者にとって電子署名の検証処理が身近になりつつある。
【0003】
例えば、電子署名は、ウェブ(WWW:World Wide Web)の購買システムや、e−文章法によって普及が進んでいる文章の電子化で利用されている。
利用者が購買システムや電子文章を安全に利用するためには、データの改ざんや他人への成りすましなどを検出可能な電子署名技術の検証処理が必要不可欠である。
【0004】
一般に、これら検証処理は、利用者の端末にクライアントツールを導入するか、検証サーバに依頼することによって実行されている。
そして、検証処理の結果は、「成功(データが正当)」または「失敗(データが不当)」を表す2値情報で示される。但し、2値情報に加えて、検証が失敗した場合に失敗の理由(データが不当である理由)を提示するクライアントツールやDVCS(Data Validation and Certification Server)と呼ばれるサーバも存在する。
【0005】
つまり、利用者は、電子署名が付されたデータの検証結果として検証処理が成功したか失敗したかの2値情報(および失敗の理由)だけしか知ることができない。
例えば、利用者は、より信頼性の高い公開鍵証明書(電子署名が付されたデータの一例)を検証結果に基づいて選択することができない。
【0006】
また、有効期限が切れた公開鍵証明書やその署名データは失効されてしかるべきであるが、有効期限が少し前の時刻(例えば、1秒前)である場合、利用者の利便性を考慮して有効期限切れを致命的なセキュリティリスクとして扱わない柔軟な設計のシステムも有用である。
しかし、従来の検証結果の内容では、有効期限切れが致命的なセキュリティリスクであるか否かを判断することができない。
【0007】
以下の特許文献1は、ヒステリシス署名と呼ばれる署名データを電子文章に付与するたびに過去に生成した署名データを取り込んで新しい署名を生成する方式を開示する。つまり、特許文献1に記載される発明は、署名データや公開鍵証明書に付与する一般的な電子署名ではなく、ヒステリシス署名という特殊な署名を扱うものである。
特許文献2、3は、検証の高速化を実現するため、電子文章の内容について重要度を設定して重要度によって検証する方式を開示する。ただし、電子文章の内容について重要度を設定しなければならないため、検証できる電子文章が限られてしまう。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2004−104750号公報
【特許文献2】特開2008−098783号公報
【特許文献3】特開2008−312042号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
本発明は、例えば、署名データや公開鍵証明書の信頼度を提供できるようにすることを目的とする。
【課題を解決するための手段】
【0010】
本発明のデータ検証装置は、
電子署名の署名値と電子署名の署名値以外の複数のデータ項目とを含んだ署名付きデータに含まれるデータ項目のうち検証対象のデータ項目を検証項目として示す検証項目データを記憶する検証装置記憶部と、
署名付きデータが入力される署名付きデータ入力部と、
前記検証装置記憶部に記憶される検証項目データに基づいて前記署名付きデータ入力部に入力された署名付きデータから署名値と検証項目とを抽出し、抽出した署名値が正しいか否かを署名値の所定の検証方法で検証し、抽出した検証項目が正しいか否かを検証項目の所定の検証方法で検証する項目検証部と、
前記項目検証部によって得られた前記署名値の検証結果と前記検証項目の検証結果とに基づいて前記署名付きデータの信頼度をデータ信頼度として算出する信頼度算出部と、
前記信頼度算出部によって算出されたデータ信頼度を出力するデータ信頼度出力部とを備える。
【発明の効果】
【0011】
本発明によれば、例えば、署名データや公開鍵証明書の信頼度(データ信頼度)を提供することができる。
これにより、例えば、利用者による公開鍵証明書の選択、利用者の利便性の向上や柔軟な設計のシステムの構築を実現することができる。
【図面の簡単な説明】
【0012】
【図1】実施の形態1におけるデータ検証システム100の概要図。
【図2】実施の形態1における検証リクエスト120と署名データ110とのフォーマットの一例を示す図。
【図3】実施の形態1における公開鍵証明書111と失効リスト112とのフォーマットの一例を示す図。
【図4】実施の形態1におけるユーザ端末装置200の機能構成図。
【図5】実施の形態1における検証サーバ装置300の機能構成図。
【図6】実施の形態1におけるリスク定義ファイル391の一例を示す図。
【図7】実施の形態1におけるリスク定義ファイル391の一例を示す図。
【図8】実施の形態1におけるリスク値定義ファイル392と発行局定義ファイル393との一例を示す図。
【図9】実施の形態1におけるユーザ端末装置200の検証依頼処理を示すフローチャート。
【図10】実施の形態1における検証サーバ装置300のデータ検証処理を示すフローチャート。
【図11】実施の形態1におけるユーザ端末装置200および検証サーバ装置300のハードウェア資源の一例を示す図。
【図12】実施の形態2における検証結果値定義ファイル394の一例を示す図。
【図13】実施の形態3(実施例1)におけるデータ検証システム100のシステム構成図。
【図14】実施の形態3(実施例1)における検証サーバ装置300のデータ検証処理を示すフローチャート。
【図15】実施の形態3(実施例1)における定義端末装置400のリスク値応答処理を示すフローチャート。
【図16】実施の形態3(実施例2)におけるデータ検証システム100のシステム構成図。
【図17】実施の形態3(実施例2)における定義端末装置400のリスク値応答処理を示すフローチャート。
【図18】実施の形態3(実施例2)における調査端末装置500の証明書信頼度応答処理を示すフローチャート。
【発明を実施するための形態】
【0013】
実施の形態1.
署名付きデータを検証し、検証した署名付きデータの信頼度を算出し、算出した信頼度を提示するシステムの形態について説明する。
【0014】
図1は、実施の形態1におけるデータ検証システム100の概要図である。
実施の形態1におけるデータ検証システム100の概要について、図1に基づいて説明する。
【0015】
以下、電子署名の署名値を含んだ電子データを「署名データ110(または署名付きデータ)」という。
【0016】
データ検証システム100は、ユーザ端末装置200と検証サーバ装置300とを有する。
ユーザ端末装置200と検証サーバ装置300とは、インターネットやLAN(ローカルエリアネットワーク)などのネットワーク109を介して電子データの通信を行う。
【0017】
署名データ110を取得したユーザは、署名データ110が第三者(不正者)によって改ざんされておらず、且つ、他人に成りすました第三者によって生成されていない信頼できるデータであるか否かを検証するため、署名データ110の検証を要求する検証リクエスト120をユーザ端末装置200を操作して検証サーバ装置300へ送信する。
ユーザ端末装置200は、ユーザの操作に従って署名データ110を含んだ検証リクエスト120を生成し、生成した検証リクエスト120を検証サーバ装置300へ送信する。
【0018】
検証サーバ装置300は、検証リクエスト120に含まれる署名データ110を検証して署名データ110の信頼度を算出し、算出した署名データ110の信頼度を示す検証結果値399を含んだ検証レスポンス130をユーザ端末装置200へ送信する。
【0019】
ユーザ端末装置200は検証レスポンス130に含まれる検証結果値399を表示し、ユーザは表示された検証結果値399に基づいて署名データ110が信頼できるデータであるか否かを判断する。
【0020】
例えば、検証サーバ装置300は、DVCS(Data Validation and Certification Server)として実装される。
この場合、ユーザ端末装置200と検証サーバ装置300とは、DVCSのプロトコルに従って検証リクエスト120と検証レスポンス130とを通信する。
【0021】
図2は、実施の形態1における検証リクエスト120と署名データ110とのフォーマットの一例を示す図である。
実施の形態1における検証リクエスト120と署名データ110とのフォーマット(データ形式)について、図2に基づいて説明する。
【0022】
例えば、検証リクエスト120や署名データ110のフォーマットとしてCMS(Cryptographic Message Syntax)のフォーマットを利用することができる。
【0023】
検証リクエスト120は、「データタイプ」「データ」「署名値」などの項目を含んだデータである。「署名値」が含まれる検証リクエスト120は署名データ110の一例である。
【0024】
「データタイプ」は、検証リクエスト120の種類を示す。実施の形態では、「署名データの検証」を示す値を設定する。
「データ」は、署名データ110を示す。
「署名値」は、検証リクエスト120の所定の項目(例えば、署名データなど)を対象として所定の署名アルゴリズムによって生成された署名値を示す。
【0025】
署名データ110は、「コンテンツタイプ」「コンテンツ」などの項目を含む。
【0026】
「コンテンツタイプ」は、コンテンツ(データ)の種類を示す。実施の形態では、「署名データ」を示す値を設定する。
「コンテンツ」は、署名データ110の中身を示す。
【0027】
「コンテンツ」は、「バージョン番号」「元データ情報」「公開鍵証明書」「失効リスト」「署名者情報」などの項目を含む。
【0028】
「バージョン番号」は、コンテンツの形式を識別するバージョンの番号を示す。
【0029】
「元データ情報」は、「元データタイプ」「元データ」を含み、署名されたデータ(元データ)の情報を示す。
「元データタイプ」は、署名されたデータの種類を示す。
「元データ」は、署名されたデータを示す。
【0030】
「公開鍵証明書」は、署名データ110に含まれる署名値の検証に用いる1つまたは複数の公開鍵証明書(証明書チェーン)を示す。但し、「公開鍵証明書」は設定しなくても構わない。
例えば、「公開鍵証明書」には、署名データ110を生成したユーザまたは装置(以下、「署名者」という)に対して発行された公開鍵証明書および、その公開鍵証明書を発行した発行局(または発行局の装置、以下同様)に対して発行された公開鍵証明書が含まれる。さらに、その発行局が下位の発行局である場合、その発行局に対して上位の発行局から発行された公開鍵証明書が含まれる。
このように、上位・下位の関係を有する複数の発行局によって発行された公開鍵証明書の組み合わせを「証明書チェーン」という。
発行局は、一般的に、「認証局(CA:Certificate Authority)」と呼ばれる。また、最上位の認証局のことを「ルート認証局」という。
公開鍵証明書は「電子証明書」または「デジタル証明書」ともいう。
【0031】
「失効リスト」は、失効した公開鍵証明書の一覧(CRL:Certificate Revocation List)を示す。但し、「失効リスト」は設定しなくても構わない。
【0032】
「署名者情報」は、「バージョン番号」「公開鍵証明書情報」「ハッシュアルゴリズム情報」「属性情報」「署名アルゴリズム情報」「署名値」などの項目を含み、署名者の情報を示す。
【0033】
「バージョン番号」は、署名者情報の形式を識別するバージョンの番号を示す。
【0034】
「公開鍵証明書情報」は、「発行者名」「シリアル番号」を含み、署名者の公開鍵証明書の情報を示す。
「発行者名」は、署名者の公開鍵証明書を発行した発行局の名称を示す。
「シリアル番号」は、署名者の公開鍵証明書を識別する番号を示す。
【0035】
「ハッシュアルゴリズム情報」は、署名データ110の署名値を生成するためのハッシュ値の算出に用いられたハッシュアルゴリズム(ハッシュ関数)の情報を示す。ハッシュ関数にはSHA2、SHA512、SHA1、RC4などがある。
【0036】
「属性情報」は、「属性タイプ」「属性データ」を含み、属性データの情報を示す。
「属性タイプ」は、属性データの種類を示す。
「属性データ」は、属性データの中身を示す。例えば、署名データ110の署名値を生成するために算出されたハッシュ値が設定される。
【0037】
「署名アルゴリズム情報」は、署名データ110の署名値の生成に用いられた署名アルゴリズムの情報を示す。署名アルゴリズムにはRSA(登録商標)やDSAなどがある。
【0038】
「署名値」は、署名データ110の所定の項目(例えば、元データなど)を対象として算出された署名値(署名データ110の署名値)を示す。
【0039】
図3は、実施の形態1における公開鍵証明書111と失効リスト112とのフォーマットの一例を示す図である。
実施の形態1における公開鍵証明書111と失効リスト112とについて、図3に基づいて説明する。
【0040】
公開鍵証明書111は、「バージョン番号」「シリアル番号」「発行者」「有効期間」「サブジェクト」「サブジェクト鍵識別情報」「公開鍵」「署名アルゴリズム情報」「署名値」などの項目を含んだデータである。「署名値」を含んだ公開鍵証明書111は署名データ110の一例である。
【0041】
「バージョン番号」は、公開鍵証明書111の形式を識別するバージョンの番号を示す。
「シリアル番号」は、公開鍵証明書111を識別する番号を示す。
「発行者」は、公開鍵証明書111を発行した発行局を示す。
「有効期間」は、公開鍵証明書111の有効期間を示す。
「サブジェクト」は、公開鍵証明書111を識別する名前を示す。例えば、「サブジェクト」は、国名、ユーザ名、組織名などを示す。
「サブジェクト鍵識別情報」は、サブジェクトが示す名前に相当する値を示す。例えば、サブジェクトが示す名前の要素に「JP」が含まれる場合、サブジェクト鍵識別情報には「JP」に相当する「2546=countryName」が含まれる。
「公開鍵」は、公開鍵証明書111によって証明される公開鍵を示す。
「署名アルゴリズム情報」は、公開鍵証明書111の署名値の生成に用いられた署名アルゴリズムの情報を示す。
「署名値」は、公開鍵証明書111の所定の項目(例えば、公開鍵など)を対象として算出された署名値(公開鍵証明書111の署名値)を示す。
【0042】
失効リスト112は、「バージョン番号」「発行者」「今回更新日時」「次回更新日時」「証明書リスト」「CRL番号」「サブジェクト鍵識別情報」「署名アルゴリズム情報」「署名値」などの項目を含んだデータである。「署名値」を含んだ失効リスト112は署名データ110の一例である。
【0043】
「バージョン番号」は、失効リスト112の形式を識別するバージョンの番号を示す。
「発行者」は、失効リスト112を発行した発行局を示す。
「今回更新日時」は、この失効リスト112が生成された日時を示す。
「次回更新日時」は、この失効リスト112が更新されて新たな失効リスト112が生成される日時を示す。
「証明書リスト」は、失効した公開鍵証明書の一覧(シリアル番号など)を示す。
「CRL番号」は、この失効リスト112を識別する番号を示す。
「サブジェクト鍵識別情報」は、この失効リスト112を発行した発行局の公開鍵証明書に設定されたサブジェクト鍵識別情報を示す。
「署名アルゴリズム情報」は、失効リスト112の署名値の生成に用いられた署名アルゴリズムの情報を示す。
「署名値」は、失効リスト112の所定の項目(例えば、証明書リストなど)を対象として算出された署名値(失効リスト112の署名値)を示す。
【0044】
図4は、実施の形態1におけるユーザ端末装置200の機能構成図である。
実施の形態1におけるユーザ端末装置200の機能構成について、図4に基づいて説明する。
【0045】
ユーザ端末装置200は、リクエスト生成部210、レスポンス表示部220、ユーザ端末通信部230およびユーザ端末記憶部290を備える。
【0046】
リクエスト生成部210は、署名データ110を含んだ検証リクエスト120(図2参照)を生成する。
【0047】
ユーザ端末通信部230は、ユーザ端末装置200で使用するデータの通信を行う。
例えば、ユーザ端末通信部230は、リクエスト生成部210によって生成された検証リクエスト120を検証サーバ装置300へ送信し、検証サーバ装置300から検証レスポンス130を受信する。
【0048】
レスポンス表示部220は、ユーザ端末通信部230によって受信された検証レスポンス130に含まれる検証結果値399を表示装置に表示する。
【0049】
ユーザ端末記憶部290は、ユーザ端末装置200で使用するデータを記憶する。
例えば、署名データ110、検証リクエスト120、検証レスポンス130は、ユーザ端末記憶部290に記憶されるデータの一例である。
また、ユーザまたはユーザ端末装置200の公開鍵証明書はユーザ端末記憶部290に記憶されるデータの一例である(図示省略)。
【0050】
図5は、実施の形態1における検証サーバ装置300の機能構成図である。
実施の形態1における検証サーバ装置300の機能構成について、図5に基づいて説明する。
【0051】
検証サーバ装置300(データ検証装置の一例)は、リクエスト検証部310、項目検証部320、リスク値算出部330、検証結果値算出部340、レスポンス生成部350、検証サーバ通信部360、検証情報定義部380および検証サーバ記憶部390を備える。
【0052】
リクエスト検証部310は、検証リクエスト120(図2参照)に含まれる署名値を検証する。
【0053】
レスポンス生成部350は、検証結果値399(データ信頼度の一例)を含んだ検証レスポンス130を生成する。
【0054】
検証情報定義部380は、後述するリスク定義ファイル391、リスク値定義ファイル392または発行局定義ファイル393などの定義ファイルを生成する。
例えば、管理者は、定義ファイル(リスク定義ファイル391など)の設定値をキーボードやマウスなどの入力機器を用いて検証サーバ装置300に入力する。検証情報定義部380は、入力された設定値を設定して定義ファイルを生成し、生成した定義ファイルを検証サーバ記憶部390に記憶する。
【0055】
検証サーバ記憶部390(検証装置記憶部の一例)は、検証サーバ装置300で使用するデータを記憶する。
例えば、後述するリスク定義ファイル391、リスク値定義ファイル392および発行局定義ファイル393は、検証サーバ記憶部390に記憶されるデータの一例である。また、検証リクエスト120や検証レスポンス130も検証サーバ記憶部390に記憶されるデータの一例である。
また、各発行局の公開鍵証明書、各発行局が発行したユーザまたは発行局の公開鍵証明書、各発行局が発行した公開鍵証明書の失効リスト(CRL)は、検証サーバ記憶部390に記憶されるデータの一例である(図示省略)。
【0056】
リスク定義ファイル391(検証項目データの一例)は、電子署名の署名値と電子署名の署名値以外の複数のデータ項目とを含んだ署名データ110(署名付きデータ)に含まれるデータ項目のうち検証対象のデータ項目を検証項目として示す。
リスク定義ファイル391は、電子署名の署名値を含んだ複数の検証項目を示すと共に検証項目毎に検証項目の種類をセキュリティリスク(項目種類の一例)として示す。
【0057】
リスク値定義ファイル392(検証値データの一例)は、セキュリティリスク毎に当該セキュリティリスクに属する検証項目の検証結果に応じた数値をリスク値(検証値の一例)として示す。
【0058】
発行局定義ファイル393は、公開鍵証明書を発行する発行局毎に発行局の信頼度を示す。
【0059】
検証サーバ通信部360(署名付きデータ入力部、データ信頼度出力部の一例)は、署名データ110を含んだ検証リクエスト120をユーザ端末装置200から受信する。
検証サーバ通信部360は、レスポンス生成部350によって生成された検証レスポンス130をユーザ端末装置200へ送信する。
【0060】
項目検証部320(項目検証部の一例)は、リスク定義ファイル391に基づいて署名データ110から署名値と検証項目とを抽出する。
項目検証部320は、抽出した署名値が正しいか否かを署名値の所定の検証方法で検証し、抽出した検証項目が正しいか否かを検証項目の所定の検証方法で検証する。
【0061】
リスク値算出部330(検証値算出部の一例)は、リスク定義ファイル391に基づいて検証項目毎に項目種類を判定する。
リスク値算出部330は、リスク値定義ファイル392からセキュリティリスク(項目種類の一例)毎にリスク値(検証値の一例)を取得する。
リスク値算出部330は、各セキュリティリスクに属する検証項目の検証結果と各セキュリティリスクのリスク値とに基づいて署名データ110のリスク値を算出する。
【0062】
検証結果値算出部340(信頼度算出部の一例)は、項目検証部320によって得られた署名値の検証結果と検証項目の検証結果とに基づいて署名データ110の信頼度を検証結果値399(データ信頼度の一例)として算出する。
【0063】
例えば、検証結果値算出部340は、以下のように検証結果値399を算出する。
検証結果値算出部340は、リスク値算出部330によって算出された署名データ110のリスク値に基づいて検証結果値399を算出する。
検証結果値算出部340は、署名データ110のリスク値を用いて検証結果値399の所定の算出式を計算して検証結果値399を算出する。
【0064】
図6、7は、実施の形態1におけるリスク定義ファイル391の一例を示す図である。
実施の形態1におけるリスク定義ファイル391について、図6、7に基づいて説明する。
【0065】
リスク定義ファイル391は、リスク定義テーブル391a−cを含んだデータである。
リスク定義テーブル391a−cは、「検証項目」と「セキュリティリスク」とを対応付けて設定したデータである。
【0066】
リスク定義テーブル391a(図6参照)は、署名データ110の検証項目毎にセキュリティリスクを示す。
リスク定義テーブル391b(図7参照)は、公開鍵証明書の検証項目毎にセキュリティリスクを示す。
リスク定義テーブル391c(図7参照)は、公開鍵証明書の失効リスト(CRL)の検証項目毎にセキュリティリスクを示す。
【0067】
「検証項目」は、検証対象となるデータ項目である。
【0068】
「セキュリティリスク」は、検証項目が間違った値である場合にその間違いの種類を示す。
例えば、セキュリティリスクは、「記述ミス」「有効期間外」「アルゴリズムの危殆化」「公開鍵失効」「悪意ある情報の改ざん」などに分類することができる。署名データ110の信頼度に影響を与える度合い(影響度、重要度)はセキュリティリスクの分類によって異なる。
【0069】
「記述ミス」は単なる誤記であり、署名データ110の信頼度に与える影響度は低いと考えられる。
「有効期間外」は有効期間を過ぎたことを意味し、当該データは有効期間を過ぎるまでは有効である。有効期間が過ぎてから経過した経過期間が短い場合(例えば、1日)、署名データ110の信頼度に与える影響度は中程度だと考えられる。経過時間が長い場合(例えば、1カ月)、署名データ110の信頼度に与える影響度は高いと考えられる。
「アルゴリズムの危殆化」は安全度の低いアルゴリズムが使用されたことを意味する。例えば、RC4やDESといったアルゴリズムは安全度の低いアルゴリズムであるが、1日や2日で解読できるとは考えにくいため、署名データ110の信頼度に与える影響度は中程度だと考えられる。
「公開鍵失効」は失効した公開鍵が使用されたことを意味し、署名データ110の信頼度に与える影響度は高いと考えられる。
「悪意ある情報の改ざん」は重要な項目が改ざんされたことを意味し、署名データ110の信頼度に与える影響度は高いと考えられる。
【0070】
図8は、実施の形態1におけるリスク値定義ファイル392と発行局定義ファイル393との一例を示す図である。
実施の形態1におけるリスク値定義ファイル392と発行局定義ファイル393とについて、図8に基づいて説明する。
【0071】
リスク値定義ファイル392は、「セキュリティリスク」毎に「基準リスク値」と「拡張リスク値」とを示すデータである。つまり、リスク値定義ファイル392は、「セキュリティリスク」と「基準リスク値」と「拡張リスク値」とを対応付けて設定したデータである。
【0072】
「基準リスク値」は、当該セキュリティリスクに該当する検証項目が存在する場合のリスク値を示す。リスク値とは、署名データ110の検証結果値399を算出するための検証項目毎の数値である。
「拡張リスク値」は、当該セキュリティリスクに該当する検証項目が複数存在する場合のリスク値の係数を示す。つまり、拡張リスク値は基準リスク値に乗算する値である。「n」は検証項目の数を表す。
【0073】
例えば、リスク値は以下のように算出される。リスク値が高いほど安全度は低い。
「記述ミス」の検証項目が1つ存在した場合のリスク値は、基準リスク値を適用して「0.02」である。
「記述ミス」の検証項目が3つ存在した場合のリスク値は、基準リスク値「0.02」と拡張リスク値(階乗n!)とを適用して「0.12(=0.02×(1×2×3))」である。但し、「記述ミス」の拡張リスク値は「n」や「1からnまでの整数の和」などでもよい。
「有効期間外」や「アルゴリズムの危殆化」の検証項目が1つ存在した場合のリスク値は、基準リスク値を適用して「0.3」である。
「有効期間外」や「アルゴリズムの危殆化」の検証項目が3つ存在した場合のリスク値は、基準リスク値「0.3」と拡張リスク値「n」とを適用して「0.9(=0.3×3)」である。但し、「有効期間外」の拡張リスク値は「n!」や「1からnまでの整数の和」などでもよい。
「公開鍵失効」や「悪意ある情報の改ざん」の検証項目が1つでも存在する場合、リスク値は基準リスク値を適用して「1.0」である。
【0074】
「有効期間外」は有効期間後に経過した経過時間の時間長の範囲毎に設定してもよい。経過時間の時間長が長いほど基準リスク値および拡張リスク値は高くなる。
例えば、経過時間が1日未満である場合の基準リスク値を「0.1」とし、経過時間が1日以上1週間未満である場合の基準リスク値を「0.3」とし、経過時間が1週間以上である場合の基準リスク値を「1.0」とする。
この場合、検証サーバ装置300のリスク値算出部330は経過時間を算出し、算出した経過時間に対応する基準リスク値および拡張リスク値をリスク値定義ファイル392から取得し、取得した基準リスク値と拡張リスク値とに基づいてリスク値を算出する。
【0075】
「アルゴリズムの危殆化」はアルゴリズムと有効期間後に経過した経過時間の時間長の範囲との組み合わせ毎に設定してもよい。アルゴリズムの安全度が高く経過時間の時間長が長いほど基準リスク値および拡張リスク値は高くなる。
例えば、RC4やDESといった安全度の低いアルゴリズム(解読に要する解読時間が短いアルゴリズム)であっても経過時間が1日未満である場合の基準リスク値を「0.1」とする。また、経過時間が1日以上2日未満である場合の基準リスク値を「0.3」とし、経過時間が2日以上である場合の基準リスク値を「1.0」とする。
この場合、検証サーバ装置300のリスク値算出部330は経過時間を算出し、算出した経過時間とアルゴリズムとに対応する基準リスク値および拡張リスク値をリスク値定義ファイル392から取得し、取得した基準リスク値と拡張リスク値とに基づいてリスク値を算出する。
【0076】
発行局定義ファイル393は、「発行局」と「審査方法」との組み合わせ毎に「信頼度」を示すデータである。つまり、発行局定義ファイル393は、「発行局」と「審査方法」と「信頼度」とを対応付けて設定したデータである。
【0077】
「発行局」は、公開鍵証明書を発行する発行局が信頼できる発行局であるか否かを示す。以下、信頼できる発行局を「登録発行局」といい、信頼できる発行局以外の発行局を「未登録発行局」という。
「審査方法」は、公開鍵証明書を発行するための審査手続きの方法として「オンライン」または「オフライン」を示す。
「信頼度」は、公開鍵証明書の信頼度を示す。値が大きいほど信頼度は高い。
【0078】
図9は、実施の形態1におけるユーザ端末装置200の検証依頼処理を示すフローチャートである。
実施の形態1におけるユーザ端末装置200の検証依頼処理について、図9に基づいて説明する。
【0079】
S110において、リクエスト生成部210は、ユーザ端末記憶部290から署名データ110を取得し、取得した署名データ110を含んだ検証リクエスト120(図2参照)を生成する。
S110の後、S120に進む。
【0080】
S120において、ユーザ端末通信部230は、S110で生成された検証リクエスト120を検証サーバ装置300へ送信する。
【0081】
検証サーバ装置300は、検証リクエスト120を受信し、受信した検証リクエスト120に含まれる署名データ110を検証し、署名データ110の検証結果値399を含んだ検証レスポンス130を送信する。検証レスポンス130は、検証リクエスト120(図2参照)と同様に署名値を含む。
S120の後、S130に進む。
【0082】
S130において、ユーザ端末通信部230は、検証サーバ装置300から送信された検証レスポンス130を受信する。
S130の後、S140に進む。
【0083】
S140において、レスポンス表示部220は、S130で受信された検証レスポンス130に含まれる署名値を所定の署名(検証)アルゴリズムに従って検証する。例えば、検証レスポンス130に署名アルゴリズムを指定する情報を設定する。
【0084】
署名値が正しい場合、レスポンス表示部220は、検証レスポンス130に含まれる検証結果値399を表示装置に表示する。
【0085】
ユーザは、表示装置に表示された検証結果値399を参照し、署名データ110が信頼できるデータであるか否かを判断する。
検証結果値399については後述する。
S140により、ユーザ端末装置200の検証依頼処理は終了する。
【0086】
図10は、実施の形態1における検証サーバ装置300のデータ検証処理を示すフローチャートである。
実施の形態1における検証サーバ装置300のデータ検証処理(データ検証方法の一例)について、図10に基づいて説明する。
【0087】
S210において、ユーザ端末装置200は、署名データ110を含んだ検証リクエスト120(図2参照)を送信する。
検証サーバ装置300の検証サーバ通信部360は、ユーザ端末装置200から送信された検証リクエスト120を受信する。
S210の後、S220に進む。
【0088】
S220において、リクエスト検証部310は、S210で受信された検証リクエスト120に含まれる署名値を所定の署名(検証)アルゴリズムに従って検証する。例えば、検証リクエスト120に署名アルゴリズムを指定する情報を設定する。
署名値が正しい場合、S230に進む。
署名値が正しくない場合、レスポンス生成部350が検証エラーを示す検証レスポンス130を生成し、検証サーバ通信部360が検証エラーを示す検証レスポンス130をユーザ端末装置200へ送信し、検証サーバ装置300のデータ検証処理は終了する(図示省略)。
【0089】
S230において、項目検証部320は、S210で受信された検証リクエスト120から署名データ110を取得する。
項目検証部320は、検証サーバ記憶部390に記憶されたリスク定義ファイル391を参照し、リスク定義ファイル391に示される検証項目毎に検証項目の値を署名データ110から取得する。
項目検証部320は、検証項目毎に検証項目の値を所定の検証方法に従って検証して検証項目が正しいか否かを判定する。検証方法の具体例について別途説明する。
S230の後、S240に進む。
【0090】
S240において、リスク値算出部330は、リスク定義ファイル391に基づいて検証項目毎にセキュリティリスクを判定し、リスク値定義ファイル392からセキュリティリスク毎にリスク値を取得し、各セキュリティリスクに属する検証項目の検証結果と各セキュリティリスクのリスク値とに基づいて署名データ110のリスク値を算出する。
【0091】
例えば、リスク値算出部330は、以下のように、署名データ110のリスク値を算出する。
リスク値算出部330は、S230の検証結果に基づいて、正しくない検証項目(以下、「不正項目」という)を判定する。
リスク値算出部330は、不正項目毎に不正項目のセキュリティリスクをリスク定義ファイル391を参照して判定する。
リスク値算出部330は、セキュリティリスク毎に不正項目の数を算出する。
リスク値算出部330は、セキュリティリスク毎にセキュリティリスクの基準リスク値と拡張リスク値(または拡張リスク値を識別する情報)とをリスク値定義ファイル392から取得する。
リスク値算出部330は、セキュリティリスク毎に不正項目の数と基準リスク値と拡張リスク値とに基づいてセキュリティリスクのリスク値を算出する。
リスク値算出部330は、各セキュリティリスクのリスク値に基づいて署名データ110のリスク値を算出する。
【0092】
例えば、図8に示すリスク値定義ファイル392に基づいて、各セキュリティリスクのリスク値は以下の通りである。
「記述ミス」の不正項目が1つ存在する場合、「記述ミス」のリスク値は基準リスク値を適用して「0.02」である。
「記述ミス」の不正項目が3つ存在する場合、「記述ミス」のリスク値は基準リスク値「0.02」と拡張リスク値(階乗n!)とを適用して「0.12(=0.02×(1×2×3))」である。但し、「記述ミス」の拡張リスク値は「n」や「1からnまでの整数の和」などでもよい。
「有効期間外」または「アルゴリズムの危殆化」の不正項目が1つ存在する場合、「有効期間外」または「アルゴリズムの危殆化」のリスク値は、基準リスク値を適用して「0.3」である。
「有効期間外」または「アルゴリズムの危殆化」の不正項目が3つ存在する場合、「有効期間外」または「アルゴリズムの危殆化」のリスク値は、基準リスク値「0.3」と拡張リスク値「n」とを適用して「0.9(=0.3×3)」である。但し、「有効期間外」の拡張リスク値は「n!」や「1からnまでの整数の和」などでもよい。
「公開鍵失効」または「悪意ある情報の改ざん」の不正項目が1つ以上存在する場合、「公開鍵失効」または「悪意ある情報の改ざん」のリスク値は基準リスク値を適用して「1.0」である。
【0093】
例えば、リスク値算出部330は、各セキュリティリスクのリスク値を合計した値を署名データ110のリスク値として算出する。また、リスク値算出部330は、各セキュリティリスクのリスク値のうち最も大きいリスク値を署名データ110のリスク値として選択してもよい。
但し、署名データ110のリスク値の上限値(例えば、「1.0」)を設けてもよい。例えば、各セキュリティリスクのリスク値を合計した値(または選択したリスク値)が「1.0」以上である場合、署名データ110のリスク値は「1.0」である。
また、「公開鍵失効」または「悪意ある情報の改ざん」の不正項目が少なくとも1つ存在する場合、「公開鍵失効」または「悪意ある情報の改ざん」の不正項目の数または他のセキュリティリスク「記述ミス」「有効期間外」の不正項目の数に関係無く、署名データ110のリスク値は「1.0」である。
【0094】
さらに、リスク値算出部330は、署名データ110の証明書チェーンを構成する複数の公開鍵証明書を検証サーバ記憶部390から検索し、検索結果に基づいて証明書チェーンの信頼度を発行局定義ファイル393から取得する。
【0095】
例えば、リスク値算出部330は、以下のように証明書チェーンの信頼度を取得する。
【0096】
署名データ110の証明書チェーンとは、署名データ110の公開鍵証明書(または署名データ110として検証リクエスト120に設定された公開鍵証明書)を含んだ一連の公開鍵証明書である。
署名データ110の公開鍵証明書とは、署名データ110に設定された「公開鍵証明書情報」の「発行者名」「シリアル番号」によって識別される公開鍵証明書である。
リスク値算出部330は、署名データ110の公開鍵証明書(または署名データ110として設定された公開鍵証明書)を発行した発行局から最上位(ルート)の発行局までの一連の発行局が発行した複数の公開鍵証明書を各公開鍵証明書の「公開鍵証明書情報」に基づいて検証サーバ記憶部390から検索する。こうして、検証サーバ記憶部390から検索する複数の公開鍵証明書が証明書チェーンである。
【0097】
各発行局が発行した全ての公開鍵証明書は、信頼できる発行局(登録発行局)によって発行された公開鍵証明書と、登録発行局以外の発行局(未登録発行局)によって発行された公開鍵証明書とに分けて、検証サーバ記憶部390に予め記憶しておく。
さらに、登録発行局によって発行された公開鍵証明書は、オンライン審査を経て発行された公開鍵証明書と、オフライン審査を経て発行された公開鍵証明書とに分けて、検証サーバ記憶部390に予め記憶しておく。
以下、登録発行局のオンライン審査を経て発行された公開鍵証明書を「オンライン証明書」といい、登録発行局のオフライン審査を経て発行された公開鍵証明書を「オフライン証明書」といい、未登録発行局によって発行された公開鍵証明書を「未登録証明書」という。
【0098】
リスク値算出部330は、証明書チェーンを構成する公開鍵証明書毎に公開鍵証明書の検索結果に基づいて公開鍵証明書に対応する信頼度を発行局定義ファイル393から取得する。
図8に示す発行局定義ファイル393の場合、オンライン証明書の信頼度は「登録発行局」と「オンライン」とに対応する「3」である。同様に、オフライン証明書の信頼度は「5」であり、未登録証明書の信頼度は「1」である。
リスク値算出部330は、取得した複数の信頼度のうち最も低い信頼度を証明書チェーンの信頼度として判定する。
例えば、証明書チェーンを構成する全ての公開鍵証明書がオフライン証明書である場合、証明書チェーンの信頼度はオフライン証明書の信頼度「5」である。
また、証明書チェーンがオンライン証明書とオフライン証明書と未登録証明書とを含む場合、証明書チェーンの信頼度は、最も低い「未登録発行局」の信頼度「1」である。
但し、リスク値算出部330は、取得した複数の信頼度のうち最も高い信頼度を証明書チェーンの信頼度として判定してもよいし、取得した複数の信頼度に基づいて証明書チェーンの信頼度(例えば、平均値)を算出してもよい。
【0099】
S240の後、S250に進む。
【0100】
S250において、検証結果値算出部340は、S240で得られた署名データ110のリスク値と証明書チェーンの信頼度とに基づいて、署名データ110の検証結果値399を算出する。
【0101】
例えば、検証結果値算出部340は、署名データ110のリスク値と証明書チェーンの信頼度とを代入して以下の算出式(1)を計算し、署名データ110の検証結果値399を算出する。
【0102】
検証結果値399=(1.0−リスク値)×(証明書チェーンの信頼度)・・・式(1)
【0103】
但し、(1.0−リスク値)と(証明書チェーンの信頼度)とを四則演算した値(例えば、足し算した値)を検証結果値399にしてもよい。
また、(リスク値)と(証明書チェーンの信頼度)とを四則演算した値を検証結果値399にしてもよい。
さらに、(1.0−リスク値)(リスク値)または(証明書チェーンの信頼度)を検証結果値399にしてもよい。
【0104】
S250の後、S260に進む。
【0105】
S260において、レスポンス生成部350は、S250で算出した検証結果値399を含んだ検証レスポンス130を生成する。
このとき、レスポンス生成部350は、検証結果値399を含んだ所定の項目を対象として所定の署名アルゴリズムによって署名値を算出し、算出した署名値を検証レスポンス130に設定する。
S260の後、S270に進む。
【0106】
S270において、検証サーバ通信部360は、S260で生成された検証レスポンス130をユーザ端末装置200へ送信する。
S270により、検証サーバ装置300のデータ検証処理は終了する。
【0107】
上記のS230(図10参照)において、項目検証部320は、以下のような検証を行う。
【0108】
例えば、項目検証部320は、図6、7に示した署名データ110、公開鍵証明書、失効リストの検証項目「コンテンツタイプ」、「元データタイプ」、「属性タイプ」、「CRL番号」、「バージョン番号」を以下のように検証し、各検証項目が正しいか否かを判定する。
【0109】
「コンテンツタイプ」、「元データタイプ」、「属性タイプ」、「CRL番号」、各種の「バージョン番号」の正しい値を一覧にした一覧ファイルを検証サーバ記憶部390に予め記憶しておく。
項目検証部320は、これら検証項目の値が一覧ファイルに設定されているいずれかの値と一致する場合に検証項目が正しいと判定し、これら検証項目の値が一覧ファイルに設定されているいずれの値とも一致しない場合に検証項目が正しくないと判定する。
【0110】
例えば、項目検証部320は、図6に示した署名データ110の各検証項目を以下のように検証し、各検証項目が正しいか否かを判定する。
【0111】
項目検証部320は、「署名アルゴリズム情報」が示す署名(検証)アルゴリズムに従って署名データ110の「署名値」が正しいか否かを判定する。
【0112】
例えば、項目検証部320は、以下のように「署名値」を検証する。
項目検証部320は「公開鍵証明書情報」で識別される公開鍵証明書を検証サーバ記憶部390から取得する。
項目検証部320は、「署名アルゴリズム情報」が示す署名アルゴリズムに従って公開鍵証明書に含まれる公開鍵を用いて署名データ110の「署名値」を復号する。
項目検証部320は、「元データ」を含む所定の検証項目を対象として「署名アルゴリズム情報」が示すハッシュ関数を計算してハッシュ値を算出する。
項目検証部320は、算出したハッシュ値と「署名値」を復号した値とが一致する場合に「署名値」が正しいと判定する。ハッシュ値と「署名値」を復号した値とが一致しない場合、項目検証部320は「署名値」が正しくないと判定する。
【0113】
項目検証部320は、「元データ」を含む所定の検証項目を対象として「ハッシュアルゴリズム情報」が示すハッシュ関数を計算してハッシュ値を算出する。
項目検証部320は、算出したハッシュ値と「属性データ」に設定されているハッシュ値とが一致する場合に「元データ」および「属性データ」が正しいと判定する。ハッシュ値が一致しない場合、項目検証部320は「元データ」および「属性データ」が正しくないと判定する。
【0114】
項目検証部320は、検証サーバ記憶部390を検索し、「公開鍵証明書情報」で識別される公開鍵証明書が登録発行局によって発行された公開鍵証明書であるか否かを判定する。
さらに、項目検証部320は、「公開鍵証明書情報」で識別される公開鍵証明書が失効しているか否かを判定する。つまり、項目検証部320は、公開鍵証明書情報の「発行者名」で識別される発行局の失効リストを検証サーバ記憶部390から取得し、取得した失効リストに公開鍵証明書情報の「シリアル番号」が設定されているか否かを判定する。
「公開鍵証明書情報」で識別される公開鍵証明書が登録発行局によって発行されて失効していない公開鍵証明書である場合、項目検証部320は、「公開鍵証明書情報」が正しいと判定する。それ以外の場合、項目検証部320は「公開鍵証明書情報」が正しくないと判定する。
【0115】
ハッシュアルゴリズム(ハッシュ関数)または署名アルゴリズム毎にアルゴリズムが安全か否かを示す一覧ファイルを検証サーバ記憶部390に予め記憶しておく。例えば、一覧ファイルは、ハッシュ関数「SHA2」「SHA512」が安全であり、ハッシュ関数「SHA1」「RC4」が安全でないことを示す。
項目検証部320は、「ハッシュアルゴリズム情報」または「署名アルゴリズム情報」によって識別されるアルゴリズムが安全であるか否かを一覧ファイルを参照して判定する。
アルゴリズムが安全である場合、項目検証部320は検証項目が正しいと判定し、アルゴリズムが安全でない場合、項目検証部320は検証項目が正しくないと判定する。
【0116】
例えば、項目検証部320は、図7に示した公開鍵証明書の各検証項目を以下のように検証し、各検証項目が正しいか否かを判定する。
【0117】
項目検証部320は、署名データ110(図6参照)の「公開鍵証明書情報」と同様に「発行者」と「シリアル番号」とが正しいか否かを判定する。
【0118】
項目検証部320は、「有効期間」に示される日時と現在の日時とを比較する。
現在の日時が「有効期間」に示される日時を過ぎていない場合、項目検証部320は「有効期間」が正しいと判定し、現在の日時が「有効期間」に示される日時を過ぎている場合、項目検証部320は「有効期間」が正しくないと判定する。
【0119】
項目検証部320は、「発行者」「シリアル番号」で識別される公開鍵証明書を検証サーバ記憶部390から取得し、取得した公開鍵証明書と「サブジェクト」「サブジェクト鍵識別情報」を比較する。
「サブジェクト」「サブジェクト鍵識別情報」が一致する場合、項目検証部320は、「サブジェクト」「サブジェクト鍵識別情報」が正しいと判定する。「サブジェクト」「サブジェクト鍵識別情報」が一致しない場合、項目検証部320は、「サブジェクト」「サブジェクト鍵識別情報」が正しくないと判定する。
【0120】
項目検証部320は、「発行者」で識別される発行局が発行した公開鍵証明書の失効リストを検証サーバ記憶部390から取得する。
項目検証部320は、公開鍵証明書の失効リストに「シリアル番号」の値が設定されているか否かを判定する。
公開鍵証明書の失効リストに「シリアル番号」の値が設定されている場合、項目検証部320は「公開鍵」を正しくないと判定し、公開鍵証明書の失効リストに「シリアル番号」の値が設定されていない場合、項目検証部320は「公開鍵」を正しいと判定する。
【0121】
項目検証部320は、所定の署名(検証)アルゴリズムに従って公開鍵証明書の「署名値」が正しいか否かを判定する。例えば、公開鍵証明書に署名アルゴリズムを指定する情報を設定する。
【0122】
例えば、項目検証部320は、以下のように「署名値」を検証する。
項目検証部320は「発行者」で識別される発行局の公開鍵証明書を検証サーバ記憶部390から取得する。
項目検証部320は、署名アルゴリズムに従って発行局の公開鍵証明書に含まれる公開鍵を用いて検証対象の公開鍵証明書の「署名値」を復号する。
項目検証部320は、「公開鍵」を含む所定の検証項目を対象として所定のハッシュ関数を計算してハッシュ値を算出する。
項目検証部320は、算出したハッシュ値と「署名値」を復号した値とが一致する場合に「署名値」が正しいと判定する。ハッシュ値と「署名値」を復号した値とが一致しない場合、項目検証部320は「署名値」が正しくないと判定する。
【0123】
例えば、項目検証部320は、図7に示した公開鍵証明書の失効リストの各検証項目を以下のように検証し、各検証項目が正しいか否かを判定する。
【0124】
項目検証部320は、検証サーバ記憶部390を検索し、「発行者」で識別される発行局の失効リストが検証サーバ記憶部390に記憶されているか否かを判定する。
「発行者」で識別される発行局の失効リストが検証サーバ記憶部390に記憶されている場合、項目検証部320は「発行者」が正しいと判定する。「発行者」で識別される発行局の失効リストが検証サーバ記憶部390に記憶されていない場合、項目検証部320は「発行者」が正しくないと判定する。
【0125】
項目検証部320は、「今回更新日時」「次回更新日時」に示される年月日と現在の年月日とを比較する。
現在の年月日が「今回更新日時」から「次回更新日時」までの期間内の日時である場合、項目検証部320は「今回更新日時」「次回更新日時」が正しいと判定し、現在の年月日が「今回更新日時」から「次回更新日時」までの期間内の日時でない場合、項目検証部320は「今回更新日時」「次回更新日時」が正しくないと判定する。
【0126】
項目検証部320は、「失効情報リスト発行者」で識別される発行局の公開鍵証明書を検証サーバ記憶部390から取得し、取得した公開鍵証明書と「サブジェクト鍵識別情報」を比較する。
「サブジェクト鍵識別情報」が一致する場合、項目検証部320は「サブジェクト鍵識別情報」が正しいと判定する。「サブジェクト鍵識別情報」が一致しない場合、項目検証部320は「サブジェクト鍵識別情報」が正しくないと判定する。
【0127】
図11は、実施の形態1におけるユーザ端末装置200および検証サーバ装置300のハードウェア資源の一例を示す図である。
図11において、ユーザ端末装置200および検証サーバ装置300(コンピュータの一例)は、CPU901(Central Processing Unit)を備えている。CPU901は、バス902を介してROM903、RAM904、通信装置905、ディスプレイ911(表示装置)、キーボード912、マウス913、ドライブ装置914、磁気ディスク装置920などのハードウェアデバイスと接続され、これらのハードウェアデバイスを制御する。ドライブ装置914は、FD(Flexible Disk Drive)、CD(Compact Disc)、DVD(Digital Versatile Disc)などの記憶媒体を読み書きする装置である。
ROM903、RAM904、磁気ディスク装置920およびドライブ装置914は記憶装置の一例である。キーボード912、マウス913および通信装置905は入力装置の一例である。ディスプレイ911および通信装置905は出力装置の一例である。
【0128】
通信装置905は、有線または無線で、LAN(Local Area Network)、インターネット、電話回線などの通信網に接続している。
【0129】
磁気ディスク装置920には、OS921(オペレーティングシステム)、プログラム群922、ファイル群923が記憶されている。
【0130】
プログラム群922には、実施の形態において「〜部」として説明する機能を実行するプログラムが含まれる。プログラム(例えば、データ検証プログラム)は、CPU901により読み出され実行される。すなわち、プログラムは、「〜部」としてコンピュータを機能させるものであり、また「〜部」の手順や方法をコンピュータに実行させるものである。
【0131】
ファイル群923には、実施の形態において説明する「〜部」で使用される各種データ(入力、出力、判定結果、計算結果、処理結果など)が含まれる。
【0132】
実施の形態において構成図およびフローチャートに含まれている矢印は主としてデータや信号の入出力を示す。
フローチャートなどに基づいて説明する実施の形態の処理はCPU901、記憶装置、入力装置、出力装置などのハードウェアを用いて実行される。
【0133】
実施の形態において「〜部」として説明するものは「〜回路」、「〜装置」、「〜機器」であってもよく、また「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明するものは、ファームウェア、ソフトウェア、ハードウェアまたはこれらの組み合わせのいずれで実装されても構わない。
【0134】
実施の形態1において、例えば、以下のようなデータ検証システム100について説明した。
データ検証システム100が署名データや公開鍵証明書の検証結果を数値化することで、利用者はより信頼性の高い公開鍵証明書チェーンや公開鍵証明書を選択することが可能となる。また、有効期限切れ等のリスクがある場合であっても、検証結果の数値がしきい値を下回っていない限り、利用者もしくはシステムが適切な署名データ110や公開鍵証明書だと判断する柔軟な仕組みを構築することができる。
【0135】
検証サーバ装置300はユーザ端末装置200から送付された検証対象情報(署名データ110)を判定し、その判定結果を元に検証結果を数値化する。
検証サーバ装置300が検証結果を数値化しているため、利用者はより結果の良い(数値が高い)署名データや公開鍵証明書を選別することができる。
複数の証明書チェーンがある場合、利用者は、数値化された検証結果を判断基準として証明書チェーンを選択することができる。
従来、有効期限が1秒過ぎるなど少しでも危険であれば、署名データや公開鍵証明書を危険と判断するしかなかった。実施の形態のデータ検証システム100は利用者に数値情報を伝えることが可能で、検証結果の数値の範囲分だけ情報量を増加することができる。これにより、署名データや公開鍵証明書が危険であるか否かの判断を必要に応じて詳細に設定することができる。
【0136】
検証サーバ装置300はユーザ端末装置200から送付された署名データ110および公開鍵証明書の内部情報の検証結果を数値化して総合結果(リスク値、検証結果値399)を得る。
総合結果は、単純に数値を和で計算するのではなく、署名データ110の改ざんなどセキュリティリスクとして致命的なものは数値を0とするなど、セキュリティリスクを考慮する。また、検証結果の数値化は項目毎に計算方法が異なる。
検証サーバ装置300はセキュリティリスクに応じた数値を計算する。例えば、検証サーバ装置300は、致命的な誤りがある場合は低い数値を出力し、融通が利く場合(致命的でない場合)は中程度の数値を出力し、信頼できる場合は高い数値を出力する。これにより、利用者は判断基準の精度を高く保てる。
【0137】
検証サーバ装置300は、基準リスク値と拡張リスク値とを持ち、検証結果から複数の誤りに対応した計算処理を行う。
基準リスク値は、セキュリティリスクに応じてあらかじめ定義した数値である。拡張リスク値は複数回誤りが発生した場合の数値である。双方を計算することでリスク値が算出される。
複数回誤りを重大なミスとして扱うことにより、検証結果のより厳密な表現が可能となる。
【0138】
実施の形態2.
実施の形態1と異なる検証結果値399の算出方法について説明する。
以下、実施の形態1と異なる事項について主に説明する。説明しない事項は実施の形態1と同様である。
【0139】
実施の形態2では、実施の形態1によって算出される検証結果値399を署名データ110の検証値として扱い、署名データ110の検証値に基づいて検証結果値399を決定する。
【0140】
データ検証システム100のシステム構成、ユーザ端末装置200の機能構成および検証サーバ装置300の機能構成は、実施の形態1と同様である(図1、4、5参照)。
【0141】
但し、検証サーバ装置300の検証サーバ記憶部390は、検証結果値定義ファイル394(信頼度データの一例)を予め記憶する。
検証結果値定義ファイル394は、署名データ110の検証値の範囲毎に検証結果値399(データ信頼度の一例)を示す。
【0142】
図12は、実施の形態2における検証結果値定義ファイル394の一例を示す図である。
実施の形態2における検証結果値定義ファイル394について、図12に基づいて説明する。
【0143】
検証結果値定義ファイル394は、5段階に分けた「検証値」と「検証結果値」とを対応付けて設定したデータである。但し、「検証値」「検証結果値」は2から4段階または6段階以上に分けても構わない。
【0144】
例えば、検証値が「0以上2未満」である場合、検証結果値399は、署名データ110の信頼度として「危険」を表す数値「5」である。
検証結果値399は、文字列(例えば「危険」)であっても構わない。
【0145】
ユーザ端末装置200の検証依頼処理、検証サーバ装置300のデータ検証処理は実施の形態1と同様である(図9、10参照)。
【0146】
但し、データ検証処理(図10参照)のS250において、検証結果値算出部340は、実施の形態1で説明した検証結果値399の算出方法によって署名データ110の検証値を算出する。つまり、実施の形態1によって算出される検証結果値399は署名データ110の検証値として扱われる。
そして、検証結果値算出部340は、署名データ110の検証値に対応する検証結果値399を検証結果値定義ファイル394(図12参照)から取得する。
【0147】
実施の形態2の別形態として、ユーザ端末装置200が検証結果値定義ファイル394を記憶してもよい。
この場合、検証サーバ装置300は、実施の形態1で説明した算出方法によって検証結果値399を算出し、算出した検証結果値399を含んだ検証レスポンス130をユーザ端末装置200へ送信する。
ユーザ端末装置200は、検証レスポンス130に含まれる検証結果値399を検証値として検証値に対応する検証結果値を検証結果値定義ファイル394から取得し、取得した検証結果値(数値または文字列)を表示する。
【0148】
実施の形態2において、例えば、以下のようなデータ検証システム100について説明した。
【0149】
検証サーバ装置300は、署名データ110および公開鍵証明書の内部情報の検証結果を数値化し、各内部情報の総合結果(検証値)を算出し、総合結果の数値に対応する結果の総括値(検証結果値399)を出力する。
例えば、総括値は、総合結果の数値を5分割した値であり、「検証成功(安全)」「ほぼ検証成功(ほぼ安全)」「警告(少し危険)」「かなり危険」または「危険」を示す。
これにより、利用者は署名データ110や公開鍵証明書の信頼度を容易に判断することができる。
【0150】
実施の形態3.
署名データ110のリスク値を検証サーバ装置300とは別の装置で算出する形態について説明する。
以下、実施の形態1、2と異なる事項について主に説明する。説明しない事項については実施の形態1、2と同様である。
【0151】
<実施例1>
図13は、実施の形態3(実施例1)におけるデータ検証システム100のシステム構成図である。
実施の形態3(実施例1)におけるデータ検証システム100のシステム構成について、図13に基づいて説明する。
【0152】
データ検証システム100は、ユーザ端末装置200と検証サーバ装置300との他に、定義端末装置400を有する。
検証サーバ装置300と定義端末装置400とは、LANやイントラネットなどのネットワークを介してデータ通信を行う。
【0153】
検証サーバ装置300は、リスク値算出部330の代わりにリスク値取得部370を備える。
【0154】
リスク値取得部370は、各検証項目の検証結果を設定してリスク値リクエスト141を生成し、生成したリスク値リクエスト141を定義端末装置400へ送信する。
リスク値取得部370は、署名データ110のリスク値を含んだリスク値レスポンス142を定義端末装置400から受信する。
【0155】
定義端末装置400は、検証サーバ装置300の代わりにリスク値算出部410および検証情報定義部480を備える。
リスク値算出部410および検証情報定義部480の機能は、実施の形態1で説明した検証サーバ装置300のリスク値算出部330および検証情報定義部380と同様である。
【0156】
定義端末装置400は、定義端末通信部420および定義端末記憶部490を備える。
定義端末通信部420は、検証サーバ装置300とデータ通信を行う。例えば、定義端末通信部420は、署名データ110のリスク値を要求するリスク値リクエスト141や署名データ110のリスク値を含んだリスク値レスポンス142を検証サーバ装置300と通信する。
定義端末記憶部490は、定義端末装置400で使用するデータを記憶する。実施の形態1で説明したリスク定義ファイル391、リスク値定義ファイル392および発行局定義ファイル393は、定義端末記憶部490に記憶されるデータの一例である。各発行局の公開鍵証明書、各発行局が発行したユーザまたは発行局の公開鍵証明書、各発行局が発行した公開鍵証明書の失効リスト(CRL)は、定義端末記憶部490に記憶されるデータの一例である(図示省略)。
【0157】
定義端末装置400は、ユーザ端末装置200や検証サーバ装置300と同様に、CPU、記憶装置、入出力装置、通信装置などのハードウェアを備える(図11参照)。
【0158】
図14は、実施の形態3(実施例1)における検証サーバ装置300のデータ検証処理を示すフローチャートである。
実施の形態3(実施例1)における検証サーバ装置300のデータ検証処理について、図14に基づいて説明する。
【0159】
検証サーバ装置300は、実施の形態1で説明したS240(図10参照)の代わりに、S241を実行する。
【0160】
S241において、リスク値取得部370は署名データ110とS230で得られた各検証項目の検証結果とを設定してリスク値リクエスト141を生成し、生成したリスク値リクエスト141を検証サーバ通信部360を介して定義端末装置400へ送信する。
定義端末装置400は、リスク値リクエスト141に基づいて署名データ110のリスク値と証明書チェーンの信頼度とを取得し、署名データ110のリスク値と証明書チェーンの信頼度とを含んだリスク値レスポンス142を検証サーバ装置300へ送信する。
リスク値取得部370は、定義端末装置400から送信されたリスク値レスポンス142を検証サーバ通信部360を介して受信し、受信したリスク値レスポンス142から署名データ110のリスク値と証明書チェーンの信頼度とを取得する。
【0161】
S250において、検証結果値算出部340は、S241で取得された署名データ110のリスク値と証明書チェーンの信頼度とに基づいて署名データ110の検証結果値399を算出する。
署名データ110の検証結果値399の算出方法は、実施の形態1または2と同じである。
【0162】
図15は、実施の形態3(実施例1)における定義端末装置400のリスク値応答処理を示すフローチャートである。
実施の形態3(実施例1)における定義端末装置400のリスク値応答処理について、図15に基づいて説明する。
【0163】
S310において、定義端末通信部420は、署名データ110と各検証項目の検証結果とを含んだリスク値リクエスト141を検証サーバ装置300から受信する。
S310の後、S320に進む。
【0164】
S320において、リスク値算出部410は、リスク値リクエスト141から各検証項目の検証結果を取得し、取得した各検証項目の検証結果に基づいて署名データ110のリスク値を算出する。
署名データ110のリスク値の算出方法は、実施の形態1(図10のS240)と同様である。
S320の後、S321に進む。
【0165】
S321において、リスク値算出部410は、リスク値リクエスト141から署名データ110を取得し、取得した署名データ110に基づいて証明書チェーンの信頼度を判定する。
証明書チェーンの信頼度の判定方法は、実施の形態1(図10のS240)と同様である。
S321の後、S330に進む。
【0166】
S330において、リスク値算出部410は、S320で算出した署名データ110のリスク値とS321で判定された証明書チェーンの信頼度とを含んだリスク値レスポンス142を生成する。
定義端末通信部420は、生成されたリスク値レスポンス142を検証サーバ装置300へ送信する。
S330により、定義端末装置400のリスク値応答処理は終了する。
【0167】
<実施例2>
図16は、実施の形態3(実施例2)におけるデータ検証システム100のシステム構成図である。
実施の形態3(実施例2)におけるデータ検証システム100のシステム構成について、図16に基づいて説明する。
【0168】
データ検証システム100は、実施の形態3の実施例1の構成(図13参照)に加えて、調査端末装置500を有する。
【0169】
定義端末装置400と調査端末装置500とは、LANやイントラネットなどのネットワークを介してデータ通信を行う。
【0170】
調査端末装置500は、証明書信頼度判定部510、調査端末通信部520、検証情報定義部580および調査端末記憶部590を備える。
【0171】
証明書信頼度判定部510は、署名データ110の証明書チェーンの信頼度を判定する。証明書チェーンの信頼度の判定方法は、実施の形態1(図10のS240)と同様である。
【0172】
調査端末通信部520は、定義端末装置400とデータ通信を行う。例えば、調査端末通信部520は、証明書チェーンの信頼度を要求する信頼度リクエスト151や証明書チェーンの信頼度を含んだ信頼度レスポンス152を定義端末装置400と通信する。
【0173】
検証情報定義部580は、発行局定義ファイル393を生成する。
【0174】
調査端末記憶部590は、調査端末装置500で使用するデータを記憶する。発行局定義ファイル393は調査端末記憶部590に記憶されるデータの一例である。
また、各発行局の公開鍵証明書、各発行局が発行したユーザまたは発行局の公開鍵証明書、各発行局が発行した公開鍵証明書の失効リスト(CRL)は、調査端末記憶部590に記憶されるデータの一例である(図示省略)。
【0175】
検証サーバ装置300のデータ検証処理は、実施の形態3の実施例1(図14参照)と同じである。
【0176】
図17は、実施の形態3(実施例2)における定義端末装置400のリスク値応答処理を示すフローチャートである。
実施の形態3(実施例2)における定義端末装置400のリスク値応答処理について、図17に基づいて説明する。
【0177】
定義端末装置400は、実施の形態3の実施例1(図15参照)で説明したS321の代わりに、S322を実行する。
【0178】
S322において、リスク値算出部410は、リスク値リクエスト141から署名データ110を取得し、取得した署名データ110を設定した信頼度リクエスト151を生成する。
定義端末通信部420は、生成された信頼度リクエスト151を調査端末装置500へ送信する。
調査端末装置500は、信頼度リクエスト151に含まれる署名データ110に基づいて証明書チェーンの信頼度を判定し、判定した証明書チェーンの信頼度を含んだ信頼度レスポンス152を定義端末装置400へ送信する。
定義端末通信部420は、調査端末装置500から信頼度レスポンス152を受信する。
リスク値算出部410は、信頼度レスポンス152から証明書チェーンの信頼度を取得する。
【0179】
S330において、定義端末通信部420は、S320で算出された署名データ110のリスク値とS322で取得された証明書チェーンの信頼度とを含んだリスク値レスポンス142を検証サーバ装置300へ送信する。
【0180】
図18は、実施の形態3(実施例2)における調査端末装置500の証明書信頼度応答処理を示すフローチャートである。
実施の形態3(実施例2)における調査端末装置500の証明書信頼度応答処理について、図18に基づいて以下に説明する。
【0181】
S410において、調査端末通信部520は、署名データ110を含んだ信頼度リクエスト151を定義端末装置400から受信する。
S410の後、S420に進む。
【0182】
S420において、証明書信頼度判定部510は、信頼度リクエスト151から署名データ110を取得し、取得した署名データ110に基づいて証明書チェーンの信頼度を判定する。
証明書チェーンの信頼度の判定方法は、実施の形態1(図10のS240)と同様である。
S420の後、S430に進む。
【0183】
S430において、証明書信頼度判定部510は、S420で判定した証明書チェーンの信頼度を含んだ信頼度レスポンス152を生成する。
調査端末通信部520は、生成された信頼度レスポンス152を定義端末装置400へ送信する。
S430により、調査端末装置500の証明書信頼度応答処理は終了する。
【0184】
実施の形態3により、実施の形態1、2で説明した検証サーバ装置300の機能を定義端末装置400や調査端末装置500に移転し、検証サーバ装置300の処理負荷を軽減することができる。
【0185】
検証サーバ装置300の機能は実施例1や実施例2と異なる形態によって他の装置に移転しても構わない。
例えば、項目検証部320や検証結果値算出部340を定義端末装置400または他の装置に移転してもよい。
【符号の説明】
【0186】
100 データ検証システム、109 ネットワーク、110 署名データ、111 公開鍵証明書、112 失効リスト、120 検証リクエスト、130 検証レスポンス、141 リスク値リクエスト、142 リスク値レスポンス、151 信頼度リクエスト、152 信頼度レスポンス、200 ユーザ端末装置、210 リクエスト生成部、220 レスポンス表示部、230 ユーザ端末通信部、290 ユーザ端末記憶部、300 検証サーバ装置、310 リクエスト検証部、320 項目検証部、330 リスク値算出部、340 検証結果値算出部、350 レスポンス生成部、360 検証サーバ通信部、370 リスク値取得部、380 検証情報定義部、390 検証サーバ記憶部、391 リスク定義ファイル、391a,391b,391c リスク定義テーブル、392 リスク値定義ファイル、393 発行局定義ファイル、394 検証結果値定義ファイル、399 検証結果値、400 定義端末装置、410 リスク値算出部、420 定義端末通信部、480 検証情報定義部、490 定義端末記憶部、500 調査端末装置、510 証明書信頼度判定部、520 調査端末通信部、580 検証情報定義部、590 調査端末記憶部、901 CPU、902 バス、903 ROM、904 RAM、905 通信装置、911 ディスプレイ、912 キーボード、913 マウス、914 ドライブ装置、920 磁気ディスク装置、921 OS、922 プログラム群、923 ファイル群。

【特許請求の範囲】
【請求項1】
電子署名の署名値と電子署名の署名値以外の複数のデータ項目とを含んだ署名付きデータに含まれるデータ項目のうち検証対象のデータ項目を検証項目として示す検証項目データを記憶する検証装置記憶部と、
署名付きデータが入力される署名付きデータ入力部と、
前記検証装置記憶部に記憶される検証項目データに基づいて前記署名付きデータ入力部に入力された署名付きデータから署名値と検証項目とを抽出し、抽出した署名値が正しいか否かを署名値の所定の検証方法で検証し、抽出した検証項目が正しいか否かを検証項目の所定の検証方法で検証する項目検証部と、
前記項目検証部によって得られた前記署名値の検証結果と前記検証項目の検証結果とに基づいて前記署名付きデータの信頼度をデータ信頼度として算出する信頼度算出部と、
前記信頼度算出部によって算出されたデータ信頼度を出力するデータ信頼度出力部と
を備えることを特徴とするデータ検証装置。
【請求項2】
前記検証項目データは、電子署名の署名値を含んだ複数の検証項目を示すと共に検証項目毎に検証項目の種類を項目種類として示し、
前記検証装置記憶部は、項目種類毎に当該項目種類に属する検証項目の検証結果に応じた数値を検証値として示す検証値データを記憶し、
前記データ検証装置は、さらに、
前記検証項目データに基づいて検証項目毎に項目種類を判定し、前記検証値データから項目種類毎に検証値を取得し、各項目種類に属する検証項目の検証結果と各項目種類の検証値とに基づいて前記署名付きデータの検証値を算出する検証値算出部を備え、
前記信頼度算出部は、前記検証値算出部によって算出された前記署名付きデータの検証値に基づいて前記データ信頼度を算出する
ことを特徴とする請求項1記載のデータ検証装置。
【請求項3】
前記信頼度算出部は、前記署名付きデータの検証値を用いてデータ信頼度の所定の算出式を計算して前記データ信頼度を算出する
ことを特徴とする請求項2記載のデータ検証装置。
【請求項4】
前記検証装置記憶部は、検証値の範囲毎にデータ信頼度を示す信頼度データを記憶し、
前記信頼度算出部は、前記署名値の検証値と各検証項目の検証値とを用いて前記署名付きデータの検証値を算出し、算出した署名付きデータの検証値に対応するデータ信頼度を前記署名付きデータの信頼度として前記信頼度データから取得する
ことを特徴とする請求項2記載のデータ検証装置。
【請求項5】
電子署名の署名値と電子署名の署名値以外の複数のデータ項目とを含んだ署名付きデータに含まれるデータ項目のうち検証対象のデータ項目を検証項目として示す検証項目データを記憶する検証装置記憶部を備えるデータ検証装置のデータ検証方法であって、
署名付きデータ入力部が、署名付きデータを入力し、
項目検証部が、前記検証装置記憶部に記憶される検証項目データに基づいて前記署名付きデータ入力部に入力された署名付きデータから署名値と検証項目とを抽出し、抽出した署名値が正しいか否かを署名値の所定の検証方法で検証し、抽出した検証項目が正しいか否かを検証項目の所定の検証方法で検証し、
信頼度算出部が、前記項目検証部によって得られた前記署名値の検証結果と前記検証項目の検証結果とに基づいて前記署名付きデータの信頼度をデータ信頼度として算出し、
データ信頼度出力部が、前記信頼度算出部によって算出されたデータ信頼度を出力する
ことを特徴とするデータ検証装置のデータ検証方法。
【請求項6】
電子署名の署名値と電子署名の署名値以外の複数のデータ項目とを含んだ署名付きデータに含まれるデータ項目のうち検証対象のデータ項目を検証項目として示す検証項目データを記憶する検証装置記憶部を備えるデータ検証装置を機能させるデータ検証プログラムであって、
署名付きデータが入力される署名付きデータ入力部と、
前記検証装置記憶部に記憶される検証項目データに基づいて前記署名付きデータ入力部に入力された署名付きデータから署名値と検証項目とを抽出し、抽出した署名値が正しいか否かを署名値の所定の検証方法で検証し、抽出した検証項目が正しいか否かを検証項目の所定の検証方法で検証する項目検証部と、
前記項目検証部によって得られた前記署名値の検証結果と前記検証項目の検証結果とに基づいて前記署名付きデータの信頼度をデータ信頼度として算出する信頼度算出部と、
前記信頼度算出部によって算出されたデータ信頼度を出力するデータ信頼度出力部として前記データ検証装置を機能させる
ことを特徴とするデータ検証プログラム。
【請求項7】
電子署名の署名値と電子署名の署名値以外の複数のデータ項目とを含んだ署名付きデータに含まれるデータ項目のうち検証対象のデータ項目を検証項目として示す検証項目データを記憶する検証装置記憶部と、
署名付きデータが入力される署名付きデータ入力部と、
前記検証装置記憶部に記憶される検証項目データに基づいて前記署名付きデータ入力部に入力された署名付きデータから署名値と検証項目とを抽出し、抽出した署名値が正しいか否かを署名値の所定の検証方法で検証し、抽出した検証項目が正しいか否かを検証項目の所定の検証方法で検証する項目検証部と、
前記項目検証部によって得られた前記署名値の検証結果と前記検証項目の検証結果とを前記署名値の検証結果と前記検証項目の検証結果とに基づく特定の値を前記署名付きデータの検証値として提供する検証値提供装置へ送信し、前記検証値提供装置から前記署名付きデータの検証値を受信する検証値取得部と、
前記検証値取得部によって受信された前記署名付きデータの検証値に基づいて前記署名付きデータの信頼度をデータ信頼度として算出する信頼度算出部と、
前記信頼度算出部によって算出されたデータ信頼度を出力するデータ信頼度出力部と
を備えることを特徴とするデータ検証装置。
【請求項8】
請求項7記載のデータ検証装置と、前記署名値の検証結果と前記検証項目の検証結果とに基づいて前記署名付きデータの検証値を前記データ検証装置へ提供する検証値提供装置とを有する
ことを特徴とするデータ検証システム。
【請求項9】
電子署名の署名値と電子署名の署名値以外の複数のデータ項目とを含んだ署名付きデータに含まれるデータ項目のうち検証対象のデータ項目を検証項目として示す検証項目データを記憶する検証装置記憶部を備えるデータ検証装置のデータ検証方法であって、
署名付きデータ入力部が、署名付きデータを入力し、
項目検証部が、前記検証装置記憶部に記憶される検証項目データに基づいて前記署名付きデータ入力部に入力された署名付きデータから署名値と検証項目とを抽出し、抽出した署名値が正しいか否かを署名値の所定の検証方法で検証し、抽出した検証項目が正しいか否かを検証項目の所定の検証方法で検証し、
検証値取得部が、前記項目検証部によって得られた前記署名値の検証結果と前記検証項目の検証結果とを前記署名値の検証結果と前記検証項目の検証結果とに基づく特定の値を前記署名付きデータの検証値として提供する検証値提供装置へ送信し、前記検証値提供装置から前記署名付きデータの検証値を受信し、
信頼度算出部が、前記検証値取得部によって受信された前記署名付きデータの検証値に基づいて前記署名付きデータの信頼度をデータ信頼度として算出し、
データ信頼度出力部が、前記信頼度算出部によって算出されたデータ信頼度を出力する
ことを特徴とするデータ検証装置のデータ検証方法。
【請求項10】
電子署名の署名値と電子署名の署名値以外の複数のデータ項目とを含んだ署名付きデータに含まれるデータ項目のうち検証対象のデータ項目を検証項目として示す検証項目データを記憶する検証装置記憶部を備えるデータ検証装置を機能させるデータ検証プログラムであって、
署名付きデータが入力される署名付きデータ入力部と、
前記検証装置記憶部に記憶される検証項目データに基づいて前記署名付きデータ入力部に入力された署名付きデータから署名値と検証項目とを抽出し、抽出した署名値が正しいか否かを署名値の所定の検証方法で検証し、抽出した検証項目が正しいか否かを検証項目の所定の検証方法で検証する項目検証部と、
前記項目検証部によって得られた前記署名値の検証結果と前記検証項目の検証結果とを前記署名値の検証結果と前記検証項目の検証結果とに基づく特定の値を前記署名付きデータの検証値として提供する検証値提供装置へ送信し、前記検証値提供装置から前記署名付きデータの検証値を受信する検証値取得部と、
前記検証値取得部によって受信された前記署名付きデータの検証値に基づいて前記署名付きデータの信頼度をデータ信頼度として算出する信頼度算出部と、
前記信頼度算出部によって算出されたデータ信頼度を出力するデータ信頼度出力部として前記データ検証装置を機能させる
ことを特徴とするデータ検証プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate


【公開番号】特開2013−62650(P2013−62650A)
【公開日】平成25年4月4日(2013.4.4)
【国際特許分類】
【出願番号】特願2011−199180(P2011−199180)
【出願日】平成23年9月13日(2011.9.13)
【出願人】(000006013)三菱電機株式会社 (33,312)
【Fターム(参考)】