JP4134094B2 - 署名検証装置及び署名作成・検証システム及び署名検証方法 - Google Patents

署名検証装置及び署名作成・検証システム及び署名検証方法 Download PDF

Info

Publication number
JP4134094B2
JP4134094B2 JP2005129593A JP2005129593A JP4134094B2 JP 4134094 B2 JP4134094 B2 JP 4134094B2 JP 2005129593 A JP2005129593 A JP 2005129593A JP 2005129593 A JP2005129593 A JP 2005129593A JP 4134094 B2 JP4134094 B2 JP 4134094B2
Authority
JP
Japan
Prior art keywords
signature
information
data
document data
guarantee
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2005129593A
Other languages
English (en)
Other versions
JP2006311068A (ja
Inventor
英之 砂田
学 田中
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Mitsubishi Electric Information Systems Corp
Original Assignee
Mitsubishi Electric Corp
Mitsubishi Electric Information Systems Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp, Mitsubishi Electric Information Systems Corp filed Critical Mitsubishi Electric Corp
Priority to JP2005129593A priority Critical patent/JP4134094B2/ja
Publication of JP2006311068A publication Critical patent/JP2006311068A/ja
Application granted granted Critical
Publication of JP4134094B2 publication Critical patent/JP4134094B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Document Processing Apparatus (AREA)

Description

この発明は、通信及び計算機分野において配布された電子化文書に記載された内容を、署名によって署名者が内容保証を行う場合の署名作成・検証装置及び方法に関するものである。
近年、計算機等から入力して作成された電子化文書の量が増えていて、しかもその内容の保証を要求される場合が増えている。
こうした従来の署名作成・検証方式において、構造化文書の例としてXML文書に対する部分署名の方式がW3Cなどで標準化となっている。この非特許文献1により、図30に示すように、構造化文書(XML文書)に対する部分署名を行う、付与された署名値を確認するといった手段が開示されている。
以下、図30に基いてXML署名の構造例を示す。
図30(a)には、構造化文書の中に参照(Reference)情報に署名元データの情報が変換情報と共に含まれている。そして上記の署名元データに対して、図30(b)の一方向の生成手順で、コード変換、正規化などの処理を行ったものに対してダイジェスト値が計算され、その値を元に署名値を生成する。変換処理の有無は変換(Transform)要素にて示される。
なお、変換処理がなく(0回実施)、署名元データそのものからダイジェストを生成する場合もある。
また、複数の文書の署名対象を指定した場合に、個々の署名対象である文書毎に検証操作を可能にする特許文献1に示す方式などが開示されている。
この署名方式は、XML文書に対して署名の付与・検証を行なうソフトウェアを備えて、このソフトウェアをWebブラウザに接続し、アプリケーション毎に特化した部分をXML文章作成のプロセスのみに限定して、XML文書の署名の付与・検証機能を共通過して効率を上げる方法である。
署名により電子化文書を保証する場合、一つの電子化文書の量が膨大になり、付与するほうも受け取るほうも照査が大変であり、それよりも限定した部分を保証したい、保証してもらいたい、要求がある。
ところが従来の構造化文書の署名作成・検証方式では、署名元データに対して変換処理を実施した結果を元に署名値の作成を行っている。この方式では、検証側にて署名元データがどこであるか、署名値の確認により改ざんがされていないかなどの確認は容易に行えるが、実際に署名によって保証して欲しい範囲が署名対象に含まれているかを判断することは困難である。
以下の図31に例を示す。
この図によれば、参照(Reference)情報から、署名元データがName要素であることは容易に判断できる。つまり図において、URI情報よりID属性=12345の要素、即ち、本例ではName要素とわかる。しかし、変換(Transforms)情報があることから、署名元データに対して、何らかの変換処理を施した結果に対して署名を行っている。
この場合、検証側にて、Name要素のコンテンツ(“上野なつひ”)が保証して欲しい範囲である場合でも、変換処理の内容によっては、署名対象に保証(してほしい)範囲が含まれるかを判断するのは困難である。
特開2002−91303号公報 XML Signature Syntax and Processing W3C Recommendation 12 February 2002
従来の電子化文書の署名方法は上記のように構成されていて、その検証範囲の確認が困難である。また部分保証を行おうとしても、受け取る側で保証して欲しい範囲を知ることが出来ない、という課題がある。
即ち、例え署名があっても、例えば構造化文書の一部を保証する部分署名の場合は、添付文書が署名で保証されている一部を含んでいるのか、は不明であり、元の署名元データが復元できたとしても、コード変換等があると、保証範囲の確定が出来ないので、保証範囲を知ることが出来ない。つまり悪意の署名添付があると、それが添付された保証範囲外の書類全体があたかも保証されたかのように見える不具合がある。
従来は、そもそも保証範囲という概念が無く、従って保証範囲を規定する方式も決まっておらず、それらの定義として保証を与える側、保証を受ける側でどのように記述を行い、格納を行い、検証を行なうかが定められていない、という課題がある。
本発明は上記のような課題を解決するためになされたもので、検証側にて確認したい情報が署名対象に正しく含まれているか、それらの署名値及び保証情報が改ざんされていないかなどを容易に確認できることを目的とする。
この発明に係る署名検証装置は、文書データに添付された署名情報を基に文書データの内容を検証する署名検証装置において、
署名値と保証情報とを含む署名情報を入力し、上記署名情報に含まれる保証情報を基に保証範囲情報と保証範囲の確認結果を得る保証範囲抽出部と、
上記署名情報の署名値による検証を行なうと共に上記保証情報を所定の演算で検証結果を得る検証部と、を備えた。
この発明は上記のように構成されており、検証側で確認したい内容が正しく含まれているか、保証範囲情報に基づいて署名値自体や保証範囲の改竄も容易に検出できる効果がある。
実施の形態1.
図1は、本発明の実施の形態1における署名作成装置の構成と入出力データの関係を示す図であり、図3は、署名検証装置の構成と入出力の関係を示す図である。
図1に示す署名作成装置1は、構造化文書および署名を作成するための参照情報(署名元データの指定、変換処理の内容)を元に、署名者の鍵を用いて署名情報410を生成し、構造化文書に付与することで、署名付き構造化文書データ400を作成するものであり、以下の要素から構成される。プロセッサ11と、入力部12と、出力部13と、外部記憶装置14と、メモリ15と、メモリ15にCPU11が読み取って実行するプログラムを記録して、入力部12から入力された署名元データである、後に説明する構造化文書100と参照データ200を基に署名値を生成する署名生成部10と、メモリ15にCPU11が読み取って実行するプログラムを記録して、利用者による保証したい(保証して欲しい)範囲の情報(要素、属性、コンテンツなど)の入力を受け付け、構造化文書に格納可能な保証情報413に変換し、署名情報410に付与する保証情報作成部20とで構成される。なお、保証情報作成部20は、検証側に配置してもよい。
また図2は、図1における保証情報作成部20の詳細構成を示す図である。図において、要素指定情報作成部21は、保証範囲情報300中の要素名と出現順との情報から、全体かコンテンツの部分かを示す部分情報を含む指定情報413aを生成し、属性指定情報作成部22は、保証範囲情報300中の属性名と要素指定情報作成部21からの指定情報とに基いて、全体かコンテンツかの部分情報かまたは属性情報かを含む指定情報413bを生成する。これら二つの情報が保証情報413となる。この保証情報413は、署名値の生成とは独立に生成されるので、署名値412には何らの影響も与えない。従ってコンテンツの一部が改竄された場合の検出は、それが保証範囲内であろうと保証範囲外であろうと、署名値412を用いて従来の検出方式で検出される。しかしそれらは本実施の形態における動作には関係がないので、記述を省略する。
ここで図4を用いて署名対象と保証(したい/して欲しい)範囲との関係を説明する。
構造化文書100に添付する署名元データを指定した参照情報(署名元データ)200には、署名対象210を含み、この署名対象210は保証範囲情報300を含む形式となる。なお、変換処理の種類(変換がない場合などを含む)によっては、署名元データ200と署名対象210が一致する場合がある。署名者は、保証(したい)範囲を含めた範囲を署名対象として署名を行う。この署名値生成の手順自体は公知であり、図30(b)で示された一方方向に進行する方法で実施される。更に署名対象と保証範囲が一致する場合もあり、また図4(b)のように複数の保証範囲がある場合、署名値を得る時間を少なくするために、別々に署名値を得るのでは無くて、より広い範囲を署名対象としてまとめて署名を実施する場合もある。このように保証する対象としては、
1)要素全体
2)要素のコンテンツ
3)属性値
の3つがあり、a)要素名と、b)部分としての全体かコンテンツ、または属性、のいずれか、として指定をする。つまりa)とb)とを指定する。
次に図3に示す署名検証装置3は、基本的には、署名付きの構造化文書データ400から署名情報410を抽出して、参照情報411、署名値412を元に署名値が正しいかどうかを検証するもので、以下の要素で構成される。
プロセッサ31と、入力部32と、出力部33と、外部記憶装置34と、メモリ35と、メモリ35にCPU31が読み取って実行するプログラムを記録して、入力部32から入力された構造化文書データ400から署名情報410を抽出して、参照情報411、署名値412を元に構造化文書500と署名値の検証結果600を生成する検証部30と、メモリ35にCPU31が読み取って実行するプログラムを記録した構成で、署名情報410に含まれる保証情報413を抽出し、情報の内容を解析し、改竄部50に対して改竄および署名検証の要求を行い、その結果を利用者に保証範囲情報700およびその確認結果800として通知する保証範囲抽出部40と、メモリ35にCPU31が読み取って実行するプログラムを記録した構成で、保証範囲抽出部40の要求に従い、特定の領域(要素、属性、コンテンツなど)に対する改竄を行い、改竄した署名付き構造化文書を検証部30に対して検証要求を行い、その結果を保証範囲抽出部40に返す改竄部50とである。
次に署名作成動作について動作フローを示す図8を用いて説明する。従来方法では検出できなくて、本実施の形態では検出が可能な、署名情報そのものが改竄された場合、また保証情報を改竄された場合における動作を中心に述べる。
署名作成時に署名作成装置1では、ステップS801で構造化文書100、S802で参照情報200を入力として取得する。従来の署名値作成方法を適用してS803で署名生成部10が署名情報410を作成する。またS804で保証範囲情報300を入力し、S805で保証情報作成部20が保証情報413を作成し、署名情報410に付与する。S805の詳細を図9に示す。
以下に署名作成処理における具体的な例を用いて説明する。
先ず構造化文書100の例を図5に、参照データ200の例を図6に示す。また保証範囲情報300の例を図7(a)に示す。保証範囲情報300は、保証する要素/属性、保証する対象の種類(要素全体、コンテンツ、属性値)などの情報を格納する。図7(b)以下に他の保証範囲情報の表記例を示す。
保証情報作成部20は、上記の保証範囲情報300から、図9のフローに基いて、以下の保証情報413を生成する。具体的には、署名者は図5に対して署名を実施し、List要素の最初(0番目)の子要素であるName要素を保証したい場合を説明する。この場合署名者は、以下の情報を用意する。
11)要素指定情報
親要素1 List 出現順 指定なし(これは同じ名前の全要素を意味する)
親要素2 −(無しの意味) 出現順−
親要素n −(無し) 出現順−
当該要素 Name
出現順番 最初(0番目)
12)種類 コンテンツ(内容)のみ
S851で保証範囲情報の種類を取得し、次の保証情報の雛型を作成する。
<Targets>
<Target Type=”path” Kind=”contents”></Target>
</Targets>
S852で署名者から要素指定の情報を取得して、次の形式に変換する。
/List/Name[0]
ここで/はファイルシステムにおけるディレクトリ情報などと同じで、先頭の/はルートを、その他の/は区切りを意味する。また/に続く文字は、要素名を指定する。[n]は、同じ名前の要素が複数存在する場合などに、何番目の要素であるかを特定するために指定する。
保証情報作成部20は、変換の手順としてS853で、
/+親要素1の名前+[親要素1の出現順]+/親要素nの名前+[親要素nの出現順]/当該要素の名前+[当該要素の出現順]と連結して行く。
この場合はタイプ(種類)がコンテンツなので、保証情報の雛型に対してS852で作成した指定情報を付与して、保証情報を得る。即ち以下の形式の情報を得る。
<Targets>
<Target Type=”path” Kind=”contents”>/List/Name[0]</Target>
</Targets>
なお、種類がコンテンツではなくて属性の場合は、指定情報に属性名等の情報を付与する。
S856で完成した保証情報を、S857で構造化文書データ400に添付して終了する。
この保証情報413の例を図10に示す。
生成した保証情報413を署名情報410に付与した署名付きの構造化文書データ400は、図11の通りとなる。
一方、受信側の図3で示す署名検証装置3の動作を図12に示す。
即ち図12のステップS1201で構造化文書データ400を入力部32経由で取込み、S1202で署名値を検証する。これらは従来の署名検証方式と同等の動作をする。また動作自体としては、以後のS1207、S1209、S1211における検証も、従来と同等の検証を行う。
S1203で署名情報410に記載の保証情報413から署名要素(Signature要素)を得て、S1205で保証情報の検出を行って構造化文書データ400からそれを削除して、構造化文書500を出力部33経由で出力する。
また保証範囲抽出部40は、S1205で保証情報413を抽出し、改竄部50に要求して改竄し、検証部30でこの保証情報を保証対象の種類に応じて要素検証、属性検証、コンテンツ検証に分けて不正になることを確認する。
更に保証情報の検証の詳細動作を示すフロー図を図13に示す。即ち、要素の全体(要素名+全属性値+内容)を検証する。例えば保証情報は以下の形式で与えられているとする。
<Targets>
<Target Type=”path” Kind=”contents”>/List/Name[0]</Target>
</Targets>
S1301でこの情報を取得し、指定情報(/List/Name[0])を取り出してトークンに区切り、S1303で最初のトークンを取得する。この例では指定内容としてListを取得する。なお/のみの場合は、何も取得ができず、ルート要素を指定していることになり、attribute:の記述があれば属性となる。
この場合には指定内容から、S1304で要素名であると判定する。
対象データが未設定なので、S1309でルート要素の子要素であるList要素の一覧を取得するが、この際のプログラムの処理としては公知のDOM(Document Object Model)と呼ばれるAPIを用いる。更にS1310で要素の指定に[]の記述がないため、順番指定はないと判断する。S1311bで取得した要素一覧を対象データとして格納する。
これをS1302で繰返し、次のトークン(Name[0])を取得する。
[]内は、順番指定の情報であるので、それを除いた名前で処理を行い、順番指定は[]で判断する。これは[]内の番号と要素名からDOMを用いて要素の取得ができる。
S1313で、上記の抽出結果と対象の範囲情報である対象データとを突合わせて、確かに含まれていることを示す○、含まれていないことを示すXを出力する。
具体例として、改竄されていない構造化文書データ400を入力として、署名検証装置3が検証部30を用いて検証出力した文書で、署名情報410を除いた構造化文書500の例を図14に示す。
同様に署名値の検証結果600の例を図15に、保証範囲情報700の例を図16に、保証範囲の確認結果800に問題がなかった例を図17に示す。この例では、Name[0]のコンテンツである”上野なつひ”のみが署名の保証範囲であり、保証範囲内での改竄が無かったものである。
次に保証範囲内が改竄された場合の検出動作を説明する。
検証部30は先に説明した動作により、署名情報410に含まれる参照情報411、署名情報署名値412などから、以下の署名値の検証を実施し、署名値の検証結果600を得る。また、同様に先に説明した動作により保証範囲抽出部40は、署名情報410に含まれる保証情報413を抽出し、保証する対象の種類に応じて、以下の手順にて署名値の検証を実施する。
21)保証範囲がコンテンツの場合
コンテンツの改ざん(文字列の削除、挿入など)をS1210で改竄部50に要求し、改竄結果を検証部30にて署名値の検証を行い不正となることを確認する。
22)保証範囲が属性の場合
属性の削除、属性値の改ざん(属性値の変更)をS1208で改竄部50に要求し、改竄結果を検証部30にて署名値の検証を行い不正となることを確認する。
23)保証範囲が要素の場合
上記の21)、22)に加え、要素の削除(要素名の変更を含む)、属性の追加といった改竄をS1206で改竄部50に要求し、改竄結果を検証部30にて署名値の検証を行い不正となることを確認する。
上記の結果を元に、構造化文書データ400から署名情報410を取り除いた構造化文書500と、署名値の検証結果600、保証範囲情報700、保証範囲の確認結果800を検証側の利用者に通知する。
保証範囲の指定が複数ある場合には、対応する上記の処理を複数回行う。
21)の例として図18は、具体的な構造化文書データ400で、保証範囲内のName要素のコンテンツが改竄されて、”なっちゅ→”となっている例を示している。
この場合には、構造化文書500は図19に示される。また署名値検証を行うステップにおいて従来の同等の検証アルゴリズムによる署名値の検証結果600は、図20に示されるように「失敗」となり、改竄の検出ができる。
またコンテンツが保証されているとすればS1205で、保証範囲抽出部40がこれを抽出し、署名情報410中の保証情報413からName要素のコンテンツが保証されているはずと判る。図16の例では、/ListからListの名前を持つ先頭要素を得て、次の/Name[0]からListの子要素でName要素一覧を得て、先頭[0]処理を対象データとする。この結果、保証範囲情報700は、図21で示されて、”なっちゅ→”が出力される。即ち、”上野なつひ”ではない。
また保証範囲の確認結果800は、保証範囲の指定と署名対象が一致するので「○」となる。しかし、従来方式の署名検証で失敗するので改竄されたことが検出できる。
保証範囲は21)であるが、改竄が保証範囲外の例として以下を説明する。
図23は署名対象内で、しかし保証範囲外で改竄がされた例を示す図である。図において、保証範囲は先の図11と同様のName要素のコンテンツであるが、属性値は保証範囲外である。この場合には、構造化文書500は図24に示される。また署名値の検証結果600は従来方式の検証で「失敗」となり、改竄の検出ができる。
なお、この場合の保証範囲情報は、図16と同様であり、保証範囲の確認結果800は、署名対象と保証範囲の包含関係は正しいので「○」が出力される。しかし、上記のように従来方式で検証できる。
上記の例は、従来方式でも検証が可能な部分の改竄を検出する動作例を含めて説明し、本方式が不具合を及ぼさず、また保証範囲の確認結果が有効であることを示した。次に本方式のみが検証可能である重要な、署名対象の指定や署名値等の署名情報そのものが改竄された場合を説明する。
図25は、署名情報410自体が関係の無い他の署名と差換えられたりして、改竄された例を示す図である。この場合署名情報410は、Name要素のコンテンツであるとする。
この場合に出力される構造化文書500は図26で示され、署名値の検証結果600は、それ自体には改竄が無いので、公知の検証方式により「成功」となる。
しかし、保証範囲情報700は図16と同様であり、従って保証範囲の確認結果800は、保証範囲と署名対象の包含関係が正しくないので、図22に示されるように、「X」が出力される。即ち保証範囲が改竄されていることが検証できる。
なお上記の改竄以外にも、署名装置のトラブルまたは署名対象の指定誤り等により、署名対象と保証範囲の包含関係が不適切な場合にも、この署名検証装置3で検出が可能である。あるいは、署名されていない構造化文書に、関係の無い署名情報を付与した場合にも、保証情報があることによって、誤りを検出できる。
次に保証情報を改竄された場合を説明する。
図27は、保証情報がName要素からHome Town要素に改竄された場合の例を示す図である。
この場合の構造化文書500は図28に示される。
そして署名値の検証結果600は、両方の情報が改竄されているので、「成功」となる。また保証範囲の確認結果800は、改竄されたものを正しく検出できる意味の○、となる。
つまり、この場合に得られる保証範囲情報700は、改竄されている図29が出力されるので、署名側で意図した図16の内容とは異なり、改竄された図29が保証情報である。従って署名検証装置3側では、期待している保証内容とは異なることが容易に判る。
上記のように、通常の電子署名の他に、文書に保証範囲情報を示す保証情報を付与して、両者を用いて文書を検証するので、検証側では保証されている範囲が容易に確認でき、しかも改竄を容易に防ぐことが出来る効果がある。
上記では署名作成装置1側で保証情報413を含んだ構造化文書データ400が得られる場合を説明したが、保証情報作成部はいわば独立の要素であり、受信側の署名検証装置3側に設けてもよい。その場合、保証して欲しい保証範囲情報300を署名検証装置に入力して保証情報413を生成し、この保証情報413を用いて上記説明した署名値の検証と、保証情報の検証を行なうようにしてもよい。
実施の形態2.
実施の形態1では、専用の保証情報作成部を備えた署名作成装置、及び専用の補償範囲抽出部と改竄部とを備えた署名検証装置を説明したが、汎用の計算機を用いて、上記それぞれの動作フローで示される機能をプログラムで組み、メモリに記憶させて実行するようにしてもよい。
即ち図1において、保証情報作成部を図8及び図9に示す機能をメモリ上にプログラムで組込んだ保証情報生成ステップとし、署名生成部を図8及び既存の署名検証機能を持たせてメモリ上にプログラムで組込んだ署名生成ステップとして、これらを用いた方法としてもよい。
同様に図3において、検証部として図12に示す機能を持たせたプログラムとして組込み、また保証範囲抽出部として図13に示す機能を持たせたプログラムとして組込んで、これらを用いる方法としてもよい。
この方法によっても、上記の効果が得られる。
この発明の実施の形態1における署名作成装置の構成と入出力データの関係を示す図である。 実施の形態1における保証情報作成部の構成を示す図である。 実施の形態1における署名検証装置の構成と入出力データの関係を示す図である。 実施の形態1における構造化文書、署名対象と補償範囲との関係を示す図である。 実施の形態1における構造化文書の例を示す図である。 実施の形態1における参照情報の例を示す図である。 実施の形態1における保証範囲情報の例を示す図である。 実施の形態1における署名作成動作フローを示す図である。 実施の形態1における保証情報作成動作フローを示す図である。 実施の形態1における保証情報の例を示す図である。 実施の形態1における改竄されていない構造化文書の例を示す図である。 実施の形態1における署名検証動作フローを示す図である。 実施の形態1における保証範囲抽出部の動作フローを示す図である。 実施の形態1における出力された改竄されていない構造化文書の例を示す図である。 実施の形態1における署名値の検証結果の示す図である。 実施の形態1における出力された保証範囲情報の例を示す図である。 実施の形態1における保証範囲の確認結果の例を示す図である。 実施の形態1における保証範囲内が改竄された構造化文書の例を示す図である。 実施の形態1における出力された構造化文書の例を示す図である。 実施の形態1における署名値の検証結果の示す図である。 実施の形態1における出力された保証範囲情報の例を示す図である。 実施の形態1における保証範囲の確認結果の例を示す図である。 実施の形態1における保証範囲外が改竄された構造化文書の例を示す図である。 実施の形態1における出力された構造化文書の例を示す図である。 実施の形態1における署名情報が改竄された構造化文書の例を示す図である。 実施の形態1における出力された構造化文書の例を示す図である。 実施の形態1における保証情報が改竄された構造化文書の例を示す図である。 実施の形態1における出力された構造化文書の例を示す図である。 実施の形態1における出力された保証範囲情報の例を示す図である。 従来の構造化文書に付与する部分署名の方式を示す図である。 従来の構造化文書に付与する署名作成方式を示す図である。
符号の説明
1 署名作成装置、3 署名検証装置、10 署名生成部、11 プロセッサ(CPU)、12 入力部、13 出力部、14 外部記憶装置、15 メモリ、20 保証情報作成部、21 要素指定情報作成部、22 属性指定情報作成部、30 検証部、31 プロセッサ(CPU)、32 入力部、33 出力部、34 外部記憶装置、35 メモリ、40 保証範囲抽出部、50 改竄部、100 構造化文書、200 参照情報(参照データ)、300 保証範囲情報、400 構造化文書データ、410 署名情報、411 参照情報、412 署名値、413 保証情報、500 構造化文書、600 署名値の検証結果、700 保証範囲情報、800 保証範囲の確認結果、S805 保証情報の作成ステップ。

Claims (4)

  1. 署名値と、文書データのうち、署名値の署名対象となるデータの範囲を指定する参照情報と、文書データのうち、署名値により内容が保証されるデータの範囲を指定する保証情報とを含む署名情報が付加された文書データを入力する入力部と、
    入力部が入力した文書データに含まれるデータであって上記署名情報に含まれる保証情報により指定された範囲のデータである保証対象データと、入力部が入力した文書データに含まれるデータであって上記署名情報に含まれる参照情報により指定された範囲のデータである署名対象データとの包含関係を確認する保証範囲抽出部と、
    上記保証対象データの内容を改竄する改竄部と、
    上記署名情報に基づいて、上記保証対象データの内容を改竄部が改竄する前の文書データ(以下、「第1文書データ」という)の内容の正否を判定するとともに、上記署名情報に基づいて、上記保証対象データの内容を改竄部が改竄した後の文書データ(以下、「第2文書データ」という)の内容の正否を判定する検証部と、
    上記第1文書データの内容が正しく、かつ、上記第2文書データの内容が正しくないと検証部が判定した場合であって、かつ、上記保証対象データが上記署名対象データに含まれていることを保証範囲抽出部が確認した場合にのみ、入力部が入力した文書データのうち、上記署名情報に含まれる保証情報により指定された範囲を、上記署名情報に含まれる署名値により内容が保証されている範囲として利用者に通知する出力部と、を備えたことを特徴とする署名検証装置。
  2. 上記第1文書データは、属性とコンテンツとを含む要素を少なくとも1つ有する構造化文書データであり、
    上記署名情報に含まれる保証情報は、上記第1文書データが有する要素のうち、上記署名情報に含まれる署名値により内容が保証される要素又は要素に含まれる属性又は要素に含まれるコンテンツを指定するものであることを特徴とする請求項1記載の署名検証装置。
  3. 文書データから、署名値と、文書データのうち、署名値の署名対象となるデータの範囲を指定する参照情報とを含む署名情報を生成し、生成した署名情報を文書データに付加する署名生成部と、
    署名生成部が上記署名情報を付加した文書データのうち、上記署名情報に含まれる署名値により内容が保証されるデータの範囲を指定する保証情報を作成し、作成した保証情報を上記署名情報に含める保証情報作成部と、を備えた署名生成装置を有するとともに
    署名生成装置が上記署名情報を付加した文書データを入力する入力部と、
    入力部が入力した文書データに含まれるデータであって上記署名情報に含まれる保証情報により指定された範囲のデータである保証対象データと、入力部が入力した文書データに含まれるデータであって上記署名情報に含まれる参照情報により指定された範囲のデータである署名対象データとの包含関係を確認する保証範囲抽出部と、
    上記保証対象データの内容を改竄する改竄部と、
    上記署名情報に基づいて、上記保証対象データの内容を改竄部が改竄する前の文書データ(以下、「第1文書データ」という)の内容の正否を判定するとともに、上記署名情報に基づいて、上記保証対象データの内容を改竄部が改竄した後の文書データ(以下、「第2文書データ」という)の内容の正否を判定する検証部と、
    上記第1文書データの内容が正しく、かつ、上記第2文書データの内容が正しくないと検証部が判定した場合であって、かつ、上記保証対象データが上記署名対象データに含まれていることを保証範囲抽出部が確認した場合にのみ、入力部が入力した文書データのうち、上記署名情報に含まれる保証情報により指定された範囲を、上記署名情報に含まれる署名値により内容が保証されている範囲として利用者に通知する出力部と、を備えた署名検証装置を有することを特徴とする署名作成・検証システム。
  4. 署名検証装置が備える入力部が、署名値と、文書データのうち、署名値の署名対象となるデータの範囲を指定する参照情報と、文書データのうち、署名値により内容が保証されるデータの範囲を指定する保証情報とを含む署名情報が付加された文書データを入力する入力ステップと、
    署名検証装置が備える保証範囲抽出部が、入力ステップで入力された文書データに含まれるデータであって上記署名情報に含まれる保証情報により指定された範囲のデータである保証対象データと、入力ステップで入力された文書データに含まれるデータであって上記署名情報に含まれる参照情報により指定された範囲のデータである署名対象データとの包含関係を確認する保証範囲抽出ステップと、
    署名検証装置が備える改竄部が、上記保証対象データの内容を改竄する改竄ステップと、
    署名検証装置が備える検証部が、上記署名情報に基づいて、上記保証対象データの内容が改竄ステップで改竄される前の文書データ(以下、「第1文書データ」という)の内容の正否を判定するとともに、上記署名情報に基づいて、上記保証対象データの内容が改竄ステップで改竄された後の文書データ(以下、「第2文書データ」という)の内容の正否を判定する検証ステップと、
    署名検証装置が備える出力部が、上記第1文書データの内容が正しく、かつ、上記第2文書データの内容が正しくないと検証ステップで判定された場合であって、かつ、上記保証対象データが上記署名対象データに含まれていることが保証範囲抽出ステップで確認された場合にのみ、入力ステップで入力された文書データのうち、上記署名情報に含まれる保証情報により指定された範囲を、上記署名情報に含まれる署名値により内容が保証されている範囲として利用者に通知する出力ステップと、を備えたことを特徴とする署名検証方法。
JP2005129593A 2005-04-27 2005-04-27 署名検証装置及び署名作成・検証システム及び署名検証方法 Expired - Fee Related JP4134094B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005129593A JP4134094B2 (ja) 2005-04-27 2005-04-27 署名検証装置及び署名作成・検証システム及び署名検証方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005129593A JP4134094B2 (ja) 2005-04-27 2005-04-27 署名検証装置及び署名作成・検証システム及び署名検証方法

Publications (2)

Publication Number Publication Date
JP2006311068A JP2006311068A (ja) 2006-11-09
JP4134094B2 true JP4134094B2 (ja) 2008-08-13

Family

ID=37477457

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005129593A Expired - Fee Related JP4134094B2 (ja) 2005-04-27 2005-04-27 署名検証装置及び署名作成・検証システム及び署名検証方法

Country Status (1)

Country Link
JP (1) JP4134094B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5043527B2 (ja) * 2007-06-15 2012-10-10 キヤノン株式会社 文書検証方法、文書検証装置、文書検証プログラム、および文書検証プログラムを記憶した記憶媒体
CA2716982C (en) * 2010-10-06 2016-07-19 Ibm Canada Limited - Ibm Canada Limitee Digital signatures on composite resource documents

Also Published As

Publication number Publication date
JP2006311068A (ja) 2006-11-09

Similar Documents

Publication Publication Date Title
US8386998B2 (en) Software development apparatus for model that requires security
US8190902B2 (en) Techniques for digital signature formation and verification
JP5106643B2 (ja) Webページ改竄検知装置及びプログラム
JP5350428B2 (ja) 自動プログラム生成装置、方法及びコンピュータプログラム
JP4193196B1 (ja) Webサービス提供システム検査装置及びWebサービス提供システム検査プログラム
JP2002229448A (ja) 構造を持った文書に対する電子署名方法及び装置
JP4951416B2 (ja) プログラム検証方法、プログラム検証装置
JP2009140155A (ja) アプリケーションプログラムのテストプログラム
EP1696339A2 (en) System and method for testing data format using targeted variant input
JP4134094B2 (ja) 署名検証装置及び署名作成・検証システム及び署名検証方法
JP4541473B2 (ja) データ処理方法及び装置、及び記憶媒体
JP5153470B2 (ja) 状態遷移検証装置および状態遷移検証方法
JP2013030017A (ja) テストプログラム生成方法、テストプログラム生成装置、及びテストプログラム生成プログラム
JP5404721B2 (ja) シナリオテストのテスト項目生成装置及び方法及びプログラム
CN113419734A (zh) 应用程序加固的方法、装置及电子设备
JP4676136B2 (ja) 文書構造検査方法および装置
US8171296B2 (en) System and method for producing and checking validation certificates
JP6671693B2 (ja) 電子ファイルの無害化処理プログラム、電子ファイルの無害化処理方法および記録媒体
JP2006293681A (ja) 文書管理システムおよび文書管理方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラム
JP3814618B2 (ja) 文章処理装置、及び制御方法
US20220405196A1 (en) Operation pattern generation apparatus, operation pattern generation method and program
JP5329376B2 (ja) Webアプリケーションの文字コードチェック方法とシステムおよびプログラム
JP2006031331A (ja) プログラム変換実行計算機、及び、プログラム変換実行方法、プログラム
CN114139216A (zh) 数据校验方法、装置、电子设备及存储介质
CN104077304A (zh) 文件识别系统和方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071213

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20071213

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20071227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080115

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080301

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080313

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080602

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

Free format text: PAYMENT UNTIL: 20110606

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120606

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130606

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees