JPWO2008084547A1 - 文書検証プログラム、記録媒体、文書検証方法および文書検証装置 - Google Patents

文書検証プログラム、記録媒体、文書検証方法および文書検証装置 Download PDF

Info

Publication number
JPWO2008084547A1
JPWO2008084547A1 JP2008552987A JP2008552987A JPWO2008084547A1 JP WO2008084547 A1 JPWO2008084547 A1 JP WO2008084547A1 JP 2008552987 A JP2008552987 A JP 2008552987A JP 2008552987 A JP2008552987 A JP 2008552987A JP WO2008084547 A1 JPWO2008084547 A1 JP WO2008084547A1
Authority
JP
Japan
Prior art keywords
document
electronic
partial
electronic signature
component
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.)
Granted
Application number
JP2008552987A
Other languages
English (en)
Other versions
JP4893751B2 (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2008084547A1 publication Critical patent/JPWO2008084547A1/ja
Application granted granted Critical
Publication of JP4893751B2 publication Critical patent/JP4893751B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/88Medical equipments

Abstract

電子文書の真正を検証させる文書検証プログラムにおいて、入力された電子文書を任意の部分文書に分割し、分割された部分文書の電子文書における出現位置に関する順序に従って各部分文書に割り当てられる部分文書IDと当該各部分文書のハッシュ値とに基づいて、部分文書ごとの電子署名を生成する。このため、電子署名により各部分文書の順序情報を保持することができ、部分文書の順序交換などの改変がおこなわれた場合であっても電子文書の真正性を適切に検証することができる。

Description

この発明は、電子文書の真正を検証する文書検証プログラム、記録媒体、文書検証方法および文書検証装置に関する。
従来、電子文書の真正を検証する技術として、電子署名を用いた技術が提供されている。この電子署名技術は、電子文書ごとに電子署名を付与することによって、電子文書の作成者を認証するとともに、電子文書の正当性を判断することができ、電子文書の真正性を保証する技術である。
一方で、この電子署名技術を利用した場合、不正なユーザによる改ざんを防ぐという点においては非常に有用であるが、電子文書の有効活用という点においては問題があった。なぜなら、電子署名技術においては、電子文書に対して何らかの編集をおこなった場合、編集後の電子文書の正当性が保証されないからである。
このため、電子文書に公開不可能な情報や不要な情報が含まれている場合であっても、電子文書の中から削除するなどの編集をおこなうことができず、ユーザの利便性を著しく低下させる要因となっていた。これにともない、電子文書に対する編集が可能でかつ、電子文書の真正が検証可能な技術が望まれている。
たとえば、電子文書を部分文書に分割し、部分文書ごとに公開・非公開を指定することにより、非公開の部分文書に対して墨塗りを施す技術が提供されている(たとえば、下記非特許文献1参照。)。この墨塗り署名技術を用いることにより、電子文書における公開部分に対する完全性と、非公開部分(墨塗り部分)に対する秘匿性を保証する。
また、電子文書を部分文書に分割し、部分文書ごとに電子署名を付加させて、当該部分文書ごとに公開・非公開を指定することにより、非公開の部分文書を削除する技術が提供されている(たとえば、下記特許文献1および非特許文献2参照。)。この抽出署名技術を用いることにより、電子文書における公開部分に対する完全性と、非公開部分(削除部分)に対する秘匿性を保証する。
ここで、上記従来技術により抽出された電子文書について説明する。図19は、従来技術における電子署名技術の一例を示す説明図である。図19に示すように、オリジナル文書1900が部分文書1901,1902,1903ごと(たとえば、ページごと)に分割され、オリジナル文書1900全体に対して電子署名1904が付与されている。
また、墨塗り文書1910は、非特許文献1による技術により、オリジナル文書1900のうち秘匿性を有する部分文書1901,1903が墨塗りされている。この場合、電子署名1904に基づいて、開示部分である部分文書1902に対する真正が検証可能である。
また、抽出文書1920は、特許文献1または非特許文献2による技術により、オリジナル文書1900の中から部分文書1902が抽出されている。この場合、電子署名1904に基づいて、開示部分である部分文書1902に対する真正が検証可能である。
特開2006−60722号公報 宮崎邦彦、岩村充、松本勉、佐々木良一、吉浦裕、手塚悟、今井秀樹著「開示条件を制御可能な電子文書墨塗り技術」2004年暗号と情報セキュリティシンポジウム予稿集 宮崎邦彦、花岡悟一郎、今井秀樹著「双線形写像を用いた電子文書墨塗り技術」2005年暗号と情報セキュリティシンポジウム予稿集
しかしながら、上述した従来技術の電子署名技術では、電子文書に対して、墨塗り処理または削除処理(抽出処理)のいずれか一方の処理のみが実行可能となっていた。このため、電子文書内において、墨塗りする部分文書と削除する部分文書とを混在させることができず、ユーザの利便性を低下させていたという問題があった。
ここで、上述した問題点を具体的に説明する。たとえば、図19に示すオリジナル文書1900が、ある省庁内における会議録である場合を想定し、部分文書1901(1ページ目)には会議の出席者リストが、部分文書1902(2ページ目)には会議の主内容が、部分文書1903(3ページ目)には税金の滞納者リストが記載されているとする。
ここで、墨塗り文書1910が公開された場合、閲覧者は1ページ目と3ページ目の具体的内容を特定することはできないが、オリジナル文書1900における2ページ目の会議の主内容の前後に何らかの情報が記載されていることを推測することができる。
このため、秘匿性を有する部分文書1901,1903に墨塗りを施した場合であっても、墨塗り箇所から何らかの情報を推測することができるため、墨塗り文書1910全体としては完全に秘匿性を保証することができないという問題があった。
また、抽出文書1920が公開された場合、閲覧者は1ページ目と3ページ目の存在を知ることができないため、部分文書1901,1903の具体的内容を特定することはできない。
しかしながら、たとえば、3ページ目に記載されている税金の滞納者の氏名などの個人情報は墨塗りなどを施して秘匿する必要があるが、滞納者の存在を示すためにその箇所を残したい場合がある。このような場合であっても抽出文書1920では、3ページ目すべてが削除されてしまう。すなわち、抽出文書1920では、部分文書1901,1903を秘匿するためには、部分文書1901,1903を削除するしかなく、公開すべき情報も削除せざるを得ないという問題があった。
この発明は、上述した従来技術による問題点を解消するため、電子文書に対して複数の属性を設定可能とすることによってユーザの利便性の向上を図るとともに、改変がおこなわれた電子文書の真正性を検証することができる文書検証プログラム、記録媒体、文書検証方法および文書検証装置を提供することを目的とする。
上述した課題を解決し、目的を達成するため、この発明にかかる文書検証プログラム、記録媒体、文書検証方法および文書検証装置は、電子文書の真正を検証させる文書検証プログラム、記録媒体、文書検証方法および文書検証装置であって、前記電子文書の入力を受け付け、入力された電子文書を任意の構成要素に分割し、分割された構成要素ごとのハッシュ値を算出し、算出された構成要素ごとのハッシュ値と、当該構成要素の前記電子文書における出現位置に関する順序に従って前記各構成要素に割り当てられる乱数とを関連付け、関連付けられたハッシュ値と乱数とに基づいて、それぞれ異なる第1の電子署名および第2の電子署名を前記構成要素ごとに生成し、生成された第1の電子署名および第2の電子署名を対応する構成要素に対して付与することを特徴とする。
この発明によれば、複数の電子署名を各構成要素に付与することにより、たとえば、隠蔽、削除、強制開示などの属性を各構成要素に変更不能に設定することができる。さらに、各構成要素に付与される電子署名により、上記属性が設定された構成要素の正当性を保証するとともに当該構成要素の電子文書における出現位置に関する順序の正当性を保証することができる。
また、上記発明において、各構成要素に割り当てられる前記電子文書を構成するすべての構成要素に共通する乱数(以下、「共通乱数」という)と、当該共通乱数が割り当てられた構成要素のハッシュ値と、当該構成要素に割り当てられる乱数とを関連付け、関連付けられた共通乱数とハッシュ値と乱数とに基づいて、前記第1の電子署名および前記第2の電子署名を前記構成要素ごとに生成することとしてもよい。
この発明によれば、各構成要素に付与される電子署名により、属性が設定された構成要素について、同一電子文書内の構成要素であることの正当性を保証することができる。
また、上記発明において、前記構成要素ごとの第1の電子署名または当該構成要素ごとの第2の電子署名を集約した集約電子署名を生成し、生成された集約電子署名を前記電子文書に対して付与することとしてもよい。
この発明によれば、複数の属性を設定可能な電子文書の正当性を保証することができる。
また、上記発明において、前記電子文書を構成する構成要素の中から隠蔽対象となる構成要素の指定を受け付け、指定された構成要素に付与されている第2の電子署名を削除することとしてもよい。
この発明によれば、電子文書を構成する構成要素の中から隠蔽対象の構成要素を指定することにより、当該構成要素を他の属性に変更不能な構成要素として設定することができる。
また、上記発明において、前記電子文書を、第2の電子署名が削除された構成要素のハッシュ値を関連付けることにより、当該構成要素を隠蔽対象とする電子文書に設定することとしてもよい。
この発明によれば、電子文書を構成する任意の構成要素を隠蔽することができる。
また、上記発明において、設定された電子文書の入力を受け付け、入力された電子文書を構成する構成要素のハッシュ値を算出することにより、前記構成要素を当該構成要素のハッシュ値に置き換え、前記電子文書に付与されている集約電子署名に基づいて、置き換えられたハッシュ値と、当該ハッシュ値に割り当てられている乱数との正当性を判定し、判定結果に基づいて前記電子文書の真正を検証し、検証結果を出力することとしてもよい。
この発明によれば、電子文書に付与されている集約電子署名により、属性が設定された構成要素の正当性とともに当該構成要素の電子文書における出現位置に関する順序の正当性を検証することができる。
また、上記発明において、さらに、前記電子文書に付与されている集約電子署名に基づいて、置き換えられたハッシュ値に割り当てられている共通乱数の正当性を判定することとしてもよい。
この発明によれば、電子文書に付与されている集約電子署名により、属性が設定された構成要素が同一電子文書内の構成要素であることの正当性を検証することができる。
また、上記発明において、入力された電子文書を構成する各構成要素に割り当てられた乱数が、前記電子文書における前記各構成要素の出現位置に関する順序に従っているか否かを判定することとしてもよい。
この発明によれば、構成要素の順序交換などの改変がおこなわれた場合であっても、改変後における電子文書の真正性の検証をおこなうことができる。
また、上記発明において、各構成要素に割り当てられた共通乱数が、入力された電子文書を構成するすべての構成要素において共通であるか否かを判定することとしてもよい。
この発明によれば、他の電子文書から構成要素を転写する改変がおこなわれた場合であっても、改変後における電子文書の真正性の検証をおこなうことができる。
また、上記発明において、電子文書を構成する構成要素の中から削除対象となる構成要素の指定を受け付け、指定された構成要素に付与されている第1の電子署名および第2の電子署名を削除することとしてもよい。
この発明によれば、電子文書を構成する構成要素の中から削除対象の構成要素を指定することにより、当該構成要素を他の属性に変更不能な構成要素として設定することができる。
また、上記発明において、電子文書に付与されている集約電子署名の中から、前記削除対象となる構成要素に付与されている第1の電子署名または第2の電子署名を削除することとしてもよい。
この発明によれば、電子文書に付与されている集約電子署名により、削除対象として指定された構成要素の削除後における電子文書の正当性を検証することができる。
また、上記発明において、前記電子文書を、第1の電子署名および第2の電子署名が削除された構成要素を削除対象とする電子文書に設定することとしてもよい。
この発明によれば、電子文書を構成する任意の構成要素を削除することができる。
また、上記発明において、前記電子文書を構成する構成要素の中から強制開示対象となる構成要素の指定を受け付け、指定された構成要素に付与されている第1の電子署名および第2の電子署名を削除することとしてもよい。
この発明によれば、電子文書を構成する構成要素の中から強制開示対象の構成要素を指定することにより、当該構成要素を他の属性に変更不能な構成要素として設定することができる。
また、上記発明において、前記電子文書を、第1の電子署名および第2の電子署名が削除された構成要素を強制開示対象とする電子文書に設定することとしてもよい。
この発明によれば、電子文書を構成する任意の構成要素を強制開示することができる。
本発明にかかる文書検証プログラム、記録媒体、文書検証方法および文書検証装置によれば、電子文書に対して複数の属性を設定可能とすることによってユーザの利便性の向上を図るとともに、改変がおこなわれた電子文書の真正性を検証することができるという効果を奏する。
図1は、この発明の実施の形態にかかる電子文書公開システムのシステム構成図である。 図2は、この発明の実施の形態にかかるコンピュータ装置のハードウェア構成を示すブロック図である。 図3は、この発明の実施の形態にかかる文書検証装置の機能的構成を示すブロック図である。 図4は、この発明の実施の形態にかかる文書検証装置において実行される電子署名生成処理の概要を示す説明図である。 図5は、この発明の実施の形態にかかる文書検証装置において実行される電子署名生成処理手順を示すフローチャートである。 図6は、この発明の実施の形態1にかかる文書検証装置において実行される隠蔽処理の概要を示す説明図である。 図7は、この発明の実施の形態1にかかる文書検証装置において実行される隠蔽処理の手順を示すフローチャートである。 図8は、この発明の実施の形態1にかかる文書検証装置において実行される電子文書検証処理の手順を示すフローチャートである。 図9は、墨塗り署名技術の問題点の一例を示す説明図である。 図10は、この発明の実施の形態2にかかる文書検証装置において実行される強制開示処理の概要を示す説明図である。 図11は、この発明の実施の形態2にかかる文書検証装置において実行される強制開示処理の手順を示すフローチャートである。 図12は、この発明の実施の形態2にかかる文書検証装置において実行される電子文書検証処理の手順を示すフローチャートである。 図13は、この発明の実施の形態3にかかる文書検証装置において実行される削除処理の概要を示す説明図である。 図14は、この発明の実施の形態3にかかる文書検証装置において実行される削除処理の手順を示すフローチャートである。 図15は、この発明の実施の形態4にかかる文書検証装置において実行される電子署名生成処理の概要を示す説明図である。 図16は、この発明の実施の形態4にかかる文書検証装置において実行される電子署名生成処理手順を示すフローチャートである。 図17は、この発明の実施の形態4にかかる文書検証装置において実行される編集処理の概要を示す説明図である。 図18は、この発明の実施の形態4にかかる文書検証装置において実行される編集処理の手順を示すフローチャートである。 図19は、従来技術における電子署名技術の一例を示す説明図である。
符号の説明
100 電子文書公開システム
101,102 文書検証装置
110 ネットワーク
301 入力部
302 分割部
303 算出部
304 関連付け部
305 生成部
306 付与部
307 隠蔽指定部
308 削除部
309 設定部
310 置換部
311 判定部
312 検証部
313 出力部
314 削除指定部
315 強制開示指定部
以下に添付図面を参照して、この発明にかかる文書検証プログラム、記録媒体、文書検証方法および文書検証装置の好適な実施の形態を詳細に説明する。
(実施の形態)
(電子文書公開システム100のシステム構成)
まず、この発明の実施の形態にかかる電子文書公開システムのシステム構成について説明する。図1は、この発明の実施の形態にかかる電子文書公開システムのシステム構成図である。
図1において、電子文書公開システム100は、情報を公開する側の文書検証装置101と情報公開を請求する側の文書検証装置102とが、インターネットなどのネットワーク110を介して相互に交信可能に接続されている。
電子文書公開システム100において公開される電子文書は、たとえば、行政機関から発行される電子戸籍台帳、医療機関から発行される電子カルテおよび教育機関から発行される電子成績表など秘匿性の高い個人情報である。また、たとえば、各市町村の行政機関に対して公開請求することができる公文書などであってもよい。
文書検証装置101は、電子文書DBを備えているコンピュータ装置である。なお、電子戸籍台帳や電子成績表などの電子文書は、情報公開側である文書検証装置101において作成されてもよく、また、他の装置において作成されてもよい。文書検証装置101は、作成された電子文書を真正の検証が可能な状態に加工して電子文書DBに保存する。
このとき、電子文書の作成者および当該電子文書の正当性を保証するために、第三者機関である認証機関103により証明された電子署名を電子文書に付与する。また、文書検証装置102は、情報公開を請求するユーザが利用するコンピュータ装置である。
文書検証装置101は、文書検証装置102から情報公開請求を示す要求信号を受信した場合、該当する電子文書を電子文書DBの中から検索する。そして、検索した電子文書を開示文書として文書検証装置102に送信する。このとき、文書検証装置101は、検索した電子文書を構成する部分文書に対して墨塗り、削除および強制開示などの属性を設定することができる。
一方、情報請求側の文書検証装置102は、情報公開側の文書検証装置101に対して情報公開請求を示す要求信号を送信することができる。そして、文書検証装置102は、要求信号を送信した結果、文書検証装置101から開示文書を受信する。また、文書検証装置102は、受信した開示文書の真正を検証することができる。
たとえば、文書検証装置102を利用して、ある市町村の行政機関に設置されている文書検証装置101に対して公害問題に関する公文書の公開請求をしたとする。その結果、文書検証装置102のユーザは、公害問題に関する公文書を取得することができ、当該公文書を閲覧することができる。
このとき、行政機関の職員は、公開する公文書に記載されている内容に対して各種属性を設定することができる。たとえば、公開義務のある大気汚染や水質汚濁の現状については強制開示する文書として設定し、実際に公害による被害を受けた被害者の氏名を墨塗りする文書として設定し、さらに、被害者の住所が記載された箇所については削除する文書として設定することができる。
このように、文書検証装置101のユーザは、公開する公文書の中の任意の文書に対して各種属性を設定することができる。また、各種属性を設定するなどの改変がおこなわれた公文書の真正性については、たとえば、文書検証装置102において検証することができ、不正な改変がおこなわれていないか否かを検証することができる。
ここでは、情報の公開側のユーザが利用する装置を文書検証装置101とし、情報公開を請求する側のユーザが利用する装置を文書検証装置102としたが、文書検証装置102において何らかの情報を作成し、文書検証装置101を利用するユーザに公開するようにしてもよい。
(コンピュータ装置のハードウェア構成)
つぎに、この発明の実施の形態にかかるコンピュータ装置(たとえば、図1に示す文書検証装置101,102)のハードウェア構成について説明する。図2は、この発明の実施の形態にかかるコンピュータ装置のハードウェア構成を示すブロック図である。
図2において、コンピュータ装置は、CPU201と、ROM202と、RAM203と、HDD(ハードディスクドライブ)204と、HD(ハードディスク)205と、FDD(フレキシブルディスクドライブ)206と、着脱可能な記録媒体の一例としてのFD(フレキシブルディスク)207と、ディスプレイ208と、I/F(インターフェース)209と、キーボード210と、マウス211と、スキャナ212と、プリンタ213とを備えている。また、各構成部は、バス200によってそれぞれ接続されている。
ここで、CPU201は、コンピュータ装置(たとえば、図1に示す文書検証装置101,102)の全体の制御を司る。ROM202は、ブートプログラムなどのプログラムを記録している。RAM203は、CPU201のワークエリアとして使用される。
HDD204は、CPU201の制御にしたがってHD205に対するデータのリード/ライトを制御する。HD205は、HDD204の制御で書き込まれたデータを記憶する。HD205には、たとえば、図1に示す電子文書DBが構築されている。
FDD206は、CPU201の制御にしたがってFD207に対するデータのリード/ライトを制御する。FD207は、FDD206の制御で書き込まれたデータを記憶したり、FD207に記憶されたデータをコンピュータ装置に読み取らせたりする。
また、着脱可能な記録媒体として、FD207のほか、CD−ROM(CD−R、CD−RW)、MO、DVD(Digital Versatile Disk)、メモリカードなどであってもよい。ディスプレイ208は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ208には、たとえば、CRT、TFT液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
I/F209は、通信回線を通じてインターネットなどのネットワーク110に接続され、このネットワーク110を介して他の装置に接続される。そして、I/F209は、ネットワーク110と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。I/F209には、たとえばモデムやLANアダプタなどを採用することができる。
キーボード210は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス211は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。ポインティングデバイスとして同様の機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
スキャナ212は、画像を光学的に読み取り、コンピュータ装置内に画像データを読み込む。なお、スキャナ212は、OCR機能を持たせてもよい。また、プリンタ213は、画像データや電子文書を印刷する。プリンタ213には、たとえば、レーザプリンタやインクジェットプリンタなどを採用することができる。
(文書検証装置の機能的構成)
つぎに、この発明の実施の形態にかかる文書検証装置(たとえば、図1に示す文書検証装置101,102)の機能的構成について説明する。図3は、この発明の実施の形態にかかる文書検証装置の機能的構成を示すブロック図である。
図3において、文書検証装置は、入力部301と、分割部302と、算出部303と、関連付け部304と、生成部305と、付与部306と、隠蔽指定部307と、削除部308と、設定部309と、置換部310と、判定部311と、検証部312と、出力部313と、削除指定部314と、強制開示指定部315と、から構成されている。
入力部301は、電子文書の入力を受け付ける。入力部301によって入力された電子文書は、RAM203やHD205などのメモリに書き込まれる。電子文書は、コンピュータ上で扱われる文書の総称であり、文書作成アプリケーションなどを用いて作成された電子データである。たとえば、行政機関から発行される電子戸籍台帳や教育機関から発行される電子成績表などの秘匿性を有する個人情報が電子文書として挙げられる。
なお、電子文書は、文書検証装置において作成されてもよく、また、他の装置において作成されてもよい。他の装置において電子文書が作成された場合、たとえば、インターネットなどのネットワーク110を介して文書検証装置に取得されることとなる。
分割部302は、入力部301によって入力された電子文書を任意の構成要素に分割する。具体的には、分割部302は、RAM203やHD205などのメモリに書き込まれた電子文書を読み出して任意の構成要素に分割する。このとき、たとえば、電子文書を、当該電子文書の先頭(たとえば、入力された電子文書の読み込み開始箇所)から1バイトごとに分割してもよく、また、文字、単語、文、ページごとに分割してもよい。
さらに、電子文書における分割する箇所をユーザが任意に指定することにより、電子文書を複数の構成要素に分割するようにしてもよい。また、電子文書がXML(Extensible Markup Language)言語などによって記述された文書であった場合、文書を構成する最小構成要素ごとに分割してもよい。なお、分割部302によって任意の構成要素に分割された電子文書はRAM203やHD205などのメモリに書き込まれる。
算出部303は、分割部302によって分割された構成要素ごとのハッシュ値を算出する。具体的には、算出部303は、RAM203やHD205などのメモリから任意の構成要素に分割された電子文書を読み出して、構成要素ごとハッシュ値を算出する。より具体的には、ハッシュ関数を利用することにより、各構成要素から固定長の擬似乱数であるハッシュ値を算出する。
インターネットなどのネットワーク110を介してデータを送受信する際に、経路の両端でデータのハッシュ値を求めて両者を比較することにより、データが通信途中で改ざんされていないかを判定することができる。ハッシュ関数は不可逆な一方向関数を含むため、ハッシュ値から原文である構成要素を再現することはできず、また同じハッシュ値を持つ異なるデータを作成することは極めて困難である。なお、算出部303によって算出されたハッシュ値はRAM203やHD205などのメモリに書き込まれる。
関連付け部304は、算出部303によって算出された構成要素ごとのハッシュ値と、当該構成要素の電子文書における出現位置に関する順序に従って各構成要素に割り当てられる乱数とを関連付ける。具体的には、関連付け部304は、RAM203やHD205などのメモリから構成要素ごとのハッシュ値と各構成要素に割り当てられる乱数とを読み出して、それらを関連付ける。
乱数は、真性乱数または擬似乱数であり、出現位置に関する順序、すなわち、電子文書における各構成要素の配置によって定義される順序に従って各構成要素に割り当てられる。ここで、真正乱数とは、規則性のない不規則な数列に含まれる各要素である。具体的には、ランダムな物理現象を利用することにより、真正乱数を発生させる。また、擬似乱数とは、確定的な計算によって求められる数列ではあるが規則性のない乱数列のように見える数列に含まれる各要素を示す。
具体的には、擬似乱数は、コンピュータ上で生成される可能な限り予測困難な乱数であり、生成される数値の不偏性を高めたものである。この擬似乱数は、たとえば、擬似乱数生成器(擬似乱数生成法)を用いて生成することができる。擬似乱数生成器とは、多項式時間の計算機が乱数と識別不能な列を出力することができる機器である。
具体的には、たとえば、文書検証装置における電子文書の読み込み順に従って、昇順(乱数の値が順に大きくなる)または降順(乱数の値が順に小さくなる)となるように生成された乱数が各構成要素に割り当てられる。なお、関連付け部304によって関連付けられた各構成要素に割り当てられた乱数と、当該各構成要素のハッシュ値とはRAM203やHD205などのメモリに書き込まれる。
生成部305は、関連付け部304によって関連付けられたハッシュ値と乱数とに基づいて、それぞれ異なる第1の電子署名および第2の電子署名を構成要素ごとに生成する。具体的には、生成部305は、RAM203やHD205などのメモリから関連付けられたハッシュ値と乱数とを読み出して、それぞれ異なる第1の電子署名および第2の電子署名を構成要素ごとに生成する。
ここで、電子署名とは、電子文書の正当性を認証するために当該電子文書に付与される署名情報である。すなわち、電子署名は、物理的な署名(印鑑など)と同様に、電子文書の正しい作成者と当該電子文書の正当性(改ざんがおこなわれていないこと)を証明するためのものである。また、公開鍵暗号の原理などを利用することにより、任意のユーザによって電子署名の正当性を検証可能にすることができる。
この場合、公開鍵の正当性の保証を目的として、信頼できる認証機関103によって公開鍵に署名が付与されることがある。電子署名の生成方式としては、たとえば、素因数分解に基づくRSA署名方式やESIGN署名、離散対数に基づくエルガマル署名やDSA署名、楕円離散対数に基づく楕円エルガマル署名や楕円DSA署名などがある。
具体的には、たとえば、生成部305は、一の生成方式によって第1の電子署名を算出し、さらに、一の生成方式とは異なる他の生成方式によって第2の電子署名を算出することにより、それぞれ異なる二つの電子署名を生成することとしてもよい。すなわち、電子署名を生成する際のアルゴリズムを変化させることにより、一つの生成元からそれぞれ異なる第1の電子署名および第2の電子署名を生成する。
また、第1の電子署名の生成元となるハッシュ値および乱数を用意するとともに、第2の電子署名の生成元となるハッシュ値および乱数を用意することにより、それぞれ異なる二つの電子署名を生成することとしてもよい。
この場合、生成元となるハッシュ値および乱数を生成する電子署名ごとに用意するため、一つの生成方式によってそれぞれ異なる第1の電子署名および第2の電子署名を生成することができる。なお、生成部305によって生成されたそれぞれ異なる第1の電子署名および第2の電子署名はRAM203やHD205などのメモリに書き込まれる。
また、関連付け部304は、各構成要素に割り当てられる電子文書を構成するすべての構成要素に共通する乱数(以下、「共通乱数」という)と、当該共通乱数が割り当てられた構成要素のハッシュ値と、当該構成要素に割り当てられる乱数とを関連付けることとしてもよい。具体的には、関連付け部304は、RAM203やHD205などのメモリから構成要素のハッシュ値と当該構成要素に割り当てられる共通乱数とを読み出して、それらを関連付ける。
共通乱数は、電子文書ごとに予測不可能に割り当てられた乱数であり、当該電子文書を構成する構成要素すべてに共通する値である。この共通乱数は、たとえば、上記擬似乱数生成器などを用いて生成される。なお、関連付け部304によって関連付けられた共通乱数とハッシュ値と乱数とはRAM203やHD205などのメモリに書き込まれる。
この場合、生成部305は、関連付け部304によって関連付けられた共通乱数とハッシュ値と乱数とに基づいて、第1の電子署名および第2の電子署名を構成要素ごとに生成することとなる。具体的には、生成部305は、RAM203やHD205などのメモリから関連付けられた共通乱数とハッシュ値と乱数とを読み出して、第1の電子署名および第2の電子署名を構成要素ごとに生成する
また、生成部305は、構成要素ごとの第1の電子署名または当該構成要素ごとの第2の電子署名を集約した集約電子署名を生成する。具体的には、生成部305は、RAM203やHD205などのメモリから構成要素ごとの第1の電子署名または当該構成要素ごとの第2の電子署名を読み出して、集約電子署名を生成する。集約電子署名は、構成要素ごとに生成された第1の電子署名または第2の電子署名をひとまとめにしたものである。
具体的には、たとえば、集約電子署名は、各構成要素の電子署名(第1の電子署名または第2の電子署名)の積によって構成されていてもよく、また、各構成要素の電子署名(第1の電子署名または第2の電子署名)の和によって構成されていてもよい。なお、生成部305によって生成された集約電子署名はRAM203やHD205などのメモリに書き込まれる。
付与部306は、生成部305によって生成された第1の電子署名および第2の電子署名を対応する構成要素に対して付与する。具体的には、付与部306は、RAM203やHD205などのメモリから第1の電子署名および第2の電子署名および各構成要素を読み出して、それぞれ対応する構成要素に付与する。なお、付与部306によって各構成要素に第1の電子署名および第2の電子署名が付与された電子文書はRAM203やHD205などのメモリに書き込まれる。
また、付与部306は、生成部305によって生成された集約電子署名を電子文書に対して付与する。なお、付与部306によって集約電子署名が付与された電子文書はRAM203やHD205などのメモリに書き込まれる。
なお、関連付け部304は、各構成要素に割り当てられる共通乱数と、当該共通乱数が割り当てられた構成要素のハッシュ値とを関連付けることとしてもよい。この場合、生成部305は、関連付け部304によって関連付けられた共通乱数とハッシュ値とに基づいて、第1の電子署名および第2の電子署名を構成要素ごとに生成することとなる。
隠蔽指定部307は、電子文書を構成する構成要素の中から隠蔽対象となる構成要素の指定を受け付ける。具体的には、隠蔽指定部307は、RAM203やHD205などのメモリから読み出された電子文書を構成する構成要素の中から隠蔽対象となる構成要素の指定を受け付ける。
より具体的には、たとえば、ユーザは、キーボード210やマウス211を操作することにより、隠蔽対象となる構成要素を指定することができる。隠蔽指定部307によって指定された構成要素は、たとえば、墨塗り処理などが施されることにより、ユーザが認識不能に隠蔽されることとなる。なお、隠蔽指定部307によって隠蔽対象となる構成要素が指定された電子文書はRAM203やHD205などのメモリに書き込まれる。
削除部308は、隠蔽指定部307によって指定された構成要素に付与されている第2の電子署名を削除する。具体的には、削除部308は、RAM203やHD205などのメモリから隠蔽指定部307によって指定された構成要素に付与されている第2の電子署名を読み出して削除する。これにより、隠蔽指定部307によって指定された構成要素に付与されている電子署名は第1の電子署名のみとなる。
設定部309は、電子文書を、削除部308によって第2の電子署名が削除された構成要素のハッシュ値を関連付けることにより、当該構成要素を隠蔽対象とする電子文書に設定する。具体的には、設定部309は、RAM203やHD205などのメモリから削除部308によって第2の電子署名が削除された構成要素を隠蔽対象とする電子文書を読み出して設定する。すなわち、設定部309は、削除部308により隠蔽指定部307によって指定された構成要素に付与されている第2の電子署名が削除された場合にのみ、当該構成要素を隠蔽対象として設定することとなる。
このとき、関連付け部304により、隠蔽対象として指定された構成要素のハッシュ値と設定部309によって設定された電子文書とを関連付けることにより、隠蔽対象として指定された構成要素のハッシュ値が電子文書に保持されることとなる。すなわち、隠蔽対象として指定された構成要素に対して墨塗り処理などが施されることにより、当該構成要素をユーザが認識不能となるが、文書検証装置によって隠蔽対象の構成要素のハッシュ値は保持されることとなる。
また、入力部301は、設定部309によって設定された電子文書の入力を受け付ける。入力部301によって入力された設定部309により設定された電子文書はRAM203やHD205などのメモリに書き込まれる。ここで入力される電子文書は、真正を検証するための検証対象文書であり、たとえば、図1に示す公開請求側のユーザによって文書検証装置102に入力される電子文書である。
置換部310は、入力部301によって入力された電子文書を構成する構成要素のハッシュ値を算出することにより、構成要素を当該構成要素のハッシュ値に置き換える。具体的には、置換部310は、RAM203やHD205などのメモリから電子文書を読み出して、構成要素を当該構成要素のハッシュ値に置き換える。すなわち、入力部301によって入力された電子文書を構成する構成要素を、当該構成要素のハッシュ値に置き換えることにより、第1の電子署名および第2の電子署名の生成元となるデータを復元する。
このとき、文書検証装置において隠蔽対象の構成要素のハッシュ値が保持されているため、電子文書を構成する構成要素のうち隠蔽対象の構成要素を除く他の構成要素のハッシュ値を算出することにより、すべての構成要素を当該構成要素のハッシュ値に置き換える。なお、置換部310によって置き換えられた電子文書はRAM203やHD205などのメモリに書き込まれる。
判定部311は、電子文書に付与されている集約電子署名に基づいて、置換部310によって置き換えられたハッシュ値と、当該ハッシュ値に割り当てられている乱数との正当性を判定する。具体的には、判定部311は、RAM203やHD205などのメモリから電子文書に付与されている集約電子署名および置換部310によって置き換えられた電子文書を読み出して、正当性を判定する。
より具体的には、電子文書に付与されている集約電子署名を復号し、置換部310によって置き換えられたハッシュ値と、当該ハッシュ値に割り当てられている乱数とが一致するか否かを判定する。
また、判定部311は、さらに、電子文書に付与されている集約電子署名に基づいて、置換部310によって置き換えられたハッシュ値に割り当てられている共通乱数の正当性を判定することとしてもよい。具体的には、電子文書に付与されている集約電子署名を復号し、置換部310によって置き換えられたハッシュ値と、当該ハッシュ値に割り当てられている乱数および共通乱数とが一致するか否かを判定する。
また、判定部311は、入力部301によって入力された電子文書を構成する各構成要素に割り当てられた乱数が、電子文書における各構成要素の出現位置に関する順序に従っているか否かを判定することとしてもよい。具体的には、電子文書を構成する各構成要素に割り当てられた乱数が、当該電子文書における各構成要素の出現位置に関する順序に従って昇順または降順となっているか否かを判定する。
また、判定部311は、各構成要素に割り当てられた共通乱数が、入力部301によって入力された電子文書を構成するすべての構成要素において共通であるか否かを判定することとしてもよい。具体的には、電子文書を構成する各構成要素に割り当てられた共通乱数が同一であるか否かを判定する。
また、判定部311は、入力部301によって入力された電子文書を構成する各構成要素に付与されている第1の電子署名または第2の電子署名に基づいて、各構成要素の正当性を判定するようにしてもよい。具体的には、各構成要素に付与されている第1の電子署名または第2の電子署名を復号し、各構成要素と一致するか否かを判定する。なお、判定部311による判定結果はRAM203やHD205などのメモリに書き込まれる。
検証部312は、判定部311の判定結果に基づいて電子文書の真正を検証する。具体的には、検証部312は、RAM203やHD205などのメモリから判定部311による判定結果を読み出して電子文書の真正を検証する。より具体的には、たとえば、電子文書に付与されている集約電子署名の復号結果に対して、置換部310によって置き換えられたハッシュ値と、当該ハッシュ値に割り当てられている乱数とが一致する場合に、電子文書が真性であると検証する。
また、各構成要素に割り当てられた乱数が、電子文書における当該各構成要素の出現位置に関する順序に従っていると判定された場合に電子文書が真正であると検証する。さらに、各構成要素に割り当てられた共通乱数がすべての構成要素において共通であった場合に電子文書が真正であると検証するようにしてもよく、また、各構成要素が正当であると判定された場合に電子文書が真正であると検証するようにしてもよい。なお、検証部312の検証結果はRAM203やHD205などのメモリに書き込まれる。
出力部313は、検証部312の検証結果を出力する。具体的には、出力部313は、RAM203やHD205などのメモリから検証部312による検証結果を読み出して出力する。より具体的には、検証部312によって電子文書が真正であると検証された場合、検証成功を示す検証結果を出力する。また、検証部312によって電子文書が真正ではないと検証された場合、検証失敗を示す検証結果を出力する。
削除指定部314は、電子文書を構成する構成要素の中から削除対象となる構成要素の指定を受け付ける。具体的には、削除指定部314はRAM203やHD205などのメモリから電子文書を読み出して削除対象となる構成要素の指定を受け付ける。削除指定部314によって指定された構成要素は、電子文書の中から削除されることとなる。
削除部308は、削除指定部314によって指定された構成要素に付与されている第1の電子署名および第2の電子署名を削除する。また、削除部308は、電子文書に付与されている集約電子署名の中から、削除対象となる構成要素に付与されている第1の電子署名または第2の電子署名を削除する。
具体的には、削除部308は、RAM203やHD205などのメモリから削除指定部314によって指定された構成要素に付与されている第1の電子署名および第2の電子署名を読み出して削除する。また、削除部308は、RAM203やHD205などのメモリから電子文書に付与されている集約電子署名を読み出して、当該集約電子署名の中から、削除対象となる構成要素に付与されている第1の電子署名または第2の電子署名を削除する。
より具体的には、たとえば、電子文書に付与されている集約電子署名が各構成要素の第1の電子署名を集約したものである場合は、削除対象となる構成要素に付与されている第1の電子署名を集約電子署名から削除する。
設定部309は、電子文書を、削除部308によって第1の電子署名および第2の電子署名が削除された構成要素を削除対象とする電子文書に設定する。具体的には、設定部309は、RAM203やHD205などのメモリから削除部308によって第1の電子署名および第2の電子署名が削除された構成要素を削除対象とする電子文書を読み出して設定する。これにより、電子文書の中から削除指定部314によって指定された構成要素が削除されることとなる。
強制開示指定部315は、電子文書を構成する構成要素の中から強制開示対象となる構成要素の指定を受け付ける。具体的には、強制開示指定部315はRAM203やHD205などのメモリから電子文書を読み出して強制開示対象となる構成要素の指定を受け付ける。強制開示指定部315によって指定された構成要素は、隠蔽対象や削除対象として指定することができず、強制的に開示される構成要素となる。
削除部308は、強制開示指定部315によって指定された構成要素に付与されている第1の電子署名および第2の電子署名を削除する。具体的には、削除部308はRAM203やHD205などのメモリから強制開示指定部315によって指定された構成要素に付与されている第1の電子署名および第2の電子署名を読み出して削除する。これにより、強制開示指定部315によって指定された構成要素には電子署名が付与されていないこととなる。
設定部309は、電子文書を、削除部308によって第1の電子署名および第2の電子署名が削除された構成要素を強制開示対象とする電子文書に設定する。具体的には、設定部309は、RAM203やHD205などのメモリから削除部308によって第1の電子署名および第2の電子署名が削除された構成要素を強制開示対象とする電子文書を読み出して設定する。
これにより、電子文書における強制開示指定部315によって指定された構成要素が強制開示されることとなる。なお、設定部309によって設定された電子文書はRAM203やHD205などのメモリに書き込まれる。
なお、入力部301、分割部302、算出部303、関連付け部304、生成部305、付与部306、隠蔽指定部307、削除部308、設定部309、置換部310、判定部311、検証部312、出力部313、削除指定部314、強制開示指定部315は、具体的には、たとえば、図2に示したROM202、RAM203、HD205などの記録媒体に記録されているプログラムをCPU201に実行させることによって、またはI/F209によって、その機能を実現する。
(電子署名生成処理の概要)
つぎに、図1に示した電子文書公開システム100において公開される電子文書に施される電子署名生成処理の概要について説明する。電子署名生成処理は、たとえば、情報の公開側である文書検証装置101において実行される処理である。まず、電子文書を構成する構成要素に一つの電子署名が付与される場合について説明する。
図4は、この発明の実施の形態にかかる文書検証装置において実行される電子署名生成処理の概要を示す説明図である。図4において、まず、電子文書Mを部分文書『m1,m2,…,m5』に分割する。電子文書Mを分割する部分文書の単位は任意であり、たとえば、文字、単語、文、ページごとに電子文書Mを分割するようにしてもよい。なお、部分文書は、上述した分割部302によって分割される構成要素に相当する。
つぎに、真正乱数または擬似乱数(以下、「乱数」という)を利用して、予測不可能な文書IDおよび部分文書IDを各部分文書に追加する。具体的には、たとえば、文書IDおよび部分文書IDを各部分文書に追加して記述してもよく、また、文書IDおよび部分文書IDと各部分文書とを関連付けて電子文書DBに記録することとしてもよい。
文書IDは、電子文書Mを構成する部分文書『m1,m2,…,m5』において共通する値である。ここでは、各部分文書に共通して追加される文書IDを「D」と表記する。なお、文書IDは、上述した関連付け部304によって電子文書を構成する構成要素のハッシュ値と関連付けられた共通乱数に相当する。
部分文書IDは、部分文書ごとにそれぞれ異なる値であり、電子文書Mを構成する部分文書『m1,m2,…,m5』の出現位置に関する順序に従って昇順となるように追加される。ここでは、各部分文書『m1,m2,…,m5』に追加される部分文書IDをそれぞれ「SD1,SD2,…,SD5」と表記する。なお、部分文書IDは、上述した関連付け部304によって電子文書を構成する構成要素のハッシュ値と関連付けられた乱数に相当する。
文書IDおよび部分文書IDは、たとえば、擬似乱数生成器によって生成される。擬似乱数生成器によって生成された擬似乱数が文書IDおよび部分文書IDとして各部分文書に追加されることとなる。以下、各部分文書に文書IDおよび部分文書IDが追加された電子文書Mを「オリジナル文書」という。
ここで、部分文書ごとにそれぞれ異なる部分文書IDを追加する追加方式の一例を説明する。まず、擬似乱数生成器によって少なくとも分割された部分文書の個数分の擬似乱数を生成する(ここでは、少なくとも5個分の擬似乱数を生成する)。つぎに、生成された擬似乱数を部分文書IDとして各部分文書にランダムに追加する。
追加された結果、電子文書を構成する部分文書の出現位置に関する順序に従って昇順となっているか否かを判断し、各部分文書に追加された擬似乱数が昇順となるまで、擬似乱数の生成および各部分文書への追加を繰り返す。
また、分割された部分文書の個数分の擬似乱数を生成し、生成した擬似乱数を昇順となるように予め並び替えて(ソート)から、各部分文書へ追加するようにしてもよい。具体的には、まず、擬似乱数生成器によって部分文書の個数分の擬似乱数(たとえば、「33,7,24,55,51」)を生成し、昇順(ここでは、「7→24→33→51→55」)となるように並び替える。
そして、電子文書Mにおける最も左側の部分文書m1から順に、昇順「7→24→33→51→55」となるように部分文書IDを追加する。この結果、電子文書Mを構成する部分文書『m1,m2,…,m5』に部分文書ID「7,24,33,51,55」がそれぞれ追加されたこととなる。
なお、文書IDについては、擬似乱数生成器によって電子文書M固有の擬似乱数を生成し、その擬似乱数を各部分文書に追加する。具体的には、たとえば、擬似乱数生成器によって生成された擬似乱数が「7」であった場合、生成された擬似乱数「7」を文書IDとして各部分文書に追加する。
ここで、図4の説明に戻り、つぎに、文書IDおよび部分文書IDが追加された部分文書ごとのハッシュ値を算出する。ここでは、文書IDおよび部分文書IDが追加された部分文書を「D‖SDi‖mi」(i=1,2,…,5)と表記し、各部分文書のハッシュ値をそれぞれ「h1,h2,…,h5」と表記する。
ハッシュ値の算出元は、文書IDおよび部分文書IDが追加された部分文書であってもよく、また、文書IDおよび部分文書IDが追加されていない部分文書であってもよい。なお、ハッシュ値は、上述した算出部303によって電子文書を構成する構成要素ごとに算出されるハッシュ値に相当する。
つぎに、算出された各ハッシュ値に当該各ハッシュ値の部分文書に追加されている文書IDおよび部分文書IDを追加する。そして、文書IDおよび部分文書IDが追加されたハッシュ値から構成される電子文書(以下、「署名対象文書」という)を生成する。
そして、署名対象文書を構成するハッシュ値ごと、すなわち、文書IDおよび部分文書IDが追加されたハッシュ値ごとの電子署名「σ1,σ2,…,σ5」を算出する。ハッシュ値ごとの電子署名は、それぞれ対応する部分文書に付与される。
具体的には、たとえば、文書IDおよび部分文書IDが追加されたハッシュ値「D‖SD1‖h1」から算出された電子署名「σ1」は部分文書「m1」に付与されることとなる。なお、電子署名は、上述した生成部305によって電子文書を構成する構成要素ごとに生成された電子署名に相当する。
最後に、各部分文書の電子署名「σ1,σ2,…,σ5」を集約した集約電子署名σを算出し、電子文書Mに付与する。なお、集約電子署名σは、上述した生成部305によって電子文書ごとに算出される集約電子署名に相当する。
(文書検証装置の電子署名生成処理の手順)
つぎに、この発明の実施の形態にかかる文書検証装置において実行される電子署名生成処理の手順について説明する。図5は、この発明の実施の形態にかかる文書検証装置において実行される電子署名生成処理手順を示すフローチャートである。
図5のフローチャートにおいて、文書検証装置は、まず、入力部301により、電子文書の入力を受け付けたか否かを判断する(ステップS501)。ここで、電子文書が入力されるのを待って、入力を受け付けた場合(ステップS501:Yes)、分割部302により、入力された電子文書を部分文書に分割する(ステップS502)。
つぎに、分割された各部分文書に文書IDおよび部分文書IDを追加する(ステップS503)。これにより、オリジナル文書が生成されたこととなる。そして、算出部303により、分割された部分文書ごとのハッシュ値を算出し(ステップS504)、関連付け部304により、部分文書ごとのハッシュ値と当該部分文書に追加されている文書IDおよび部分文書IDを関連付けることによって電子文書を構成する各構成要素がそれぞれ対応するハッシュ値に置き換えられた署名対象文書を生成する(ステップS505)。
つぎに、生成部305により、文書IDおよび部分文書IDが追加されたハッシュ値ごとの電子署名を算出し(ステップS506)、付与部306により、算出された電子署名をそれぞれ対応する部分文書に付与する(ステップS507)。
そして、生成部305により、部分文書ごとの電子署名を集約した集約電子署名を算出し(ステップS508)、付与部306により、電子文書に付与して(ステップS509)、本フローチャートによる一連の処理を終了する。集約電子署名が付与され、かつ、各部分文書に電子署名が付与されたオリジナル文書は、HD205などの記録媒体に構築された電子文書DBに記録されることとなる。
なお、本フローチャートにおけるステップS505〜ステップS509において実行される処理の手順は、ここで説明した順序に限らない。たとえば、各部分文書の電子署名およびオリジナル文書の集約電子署名を算出する処理の後に、各部分文書に電子署名を付与する処理およびオリジナル文書に集約電子署名を付与する処理を実行することとしてもよい。
これにより、電子文書を構成する部分文書の順序交換や転写などの改変がおこなわれた場合であっても、改変後における電子文書の真正性の検証を可能な状態に加工して保持することができる。
また、電子文書における出現位置に関する順序に従って各部分文書に割り当てられる部分文書IDに基づいて、当該各部分文書に付与される電子署名が算出される。このため、電子文書を、たとえば、「隠蔽」、「削除」、「強制開示」などの属性が設定された部分文書の順序交換をおこなうことができない状態にすることができる。
(実施の形態1)
つぎに、上述した文書検証装置の実施の形態1について説明する。実施の形態1では、上述した電子署名生成処理が施された電子文書を構成する部分文書の中から隠蔽対象とする部分文書を任意に指定することができる。ここでは、指定された部分文書に対して墨塗り処理が施されることにより、当該部分文書が隠蔽されることとなる。
図6は、この発明の実施の形態1にかかる文書検証装置において実行される隠蔽処理の概要を示す説明図である。図6において、電子文書を構成する部分文書の中から隠蔽対象とする部分文書を指定する。ここでの電子文書は、各部分文書に文書IDおよび部分文書IDが追加されたオリジナル文書である。なお、隠蔽対象となる部分文書は、隠蔽指定部307によって指定される隠蔽対象となる構成要素に相当する。
具体的には、たとえば、ユーザは、キーボード210やマウス211を操作することにより、ディスプレイ208に表示されたオリジナル文書の中から隠蔽対象とする部分文書を任意に指定することができる。ここでは、オリジナル文書を構成する部分文書『m1,m2,…,m5』の中から隠蔽対象となる部分文書として「m2」が指定されている。
つぎに、隠蔽対象として指定された部分文書に付与されている電子署名を削除する。ここでは、「m2」に付与されている電子署名σ2が削除される。ここで、指定された部分文書に付与されている電子署名が削除された場合、部分文書を当該部分文書のハッシュ値に置き換える。
ここでは、「m2」に付与されている電子署名σ2が削除されることとなり、「m2」が「h2」に置き換えられる。最後に、隠蔽対象として指定された部分文書に墨塗り処理を施すことにより、当該部分文書が隠蔽される。ここでは、文書IDおよび部分文書IDが追加された「D‖SD2‖m2」が墨塗りされている。以下、隠蔽対象として指定された部分文書に墨塗り処理が施されたオリジナル文書を「保持文書」という。
なお、隠蔽対象とする部分文書を複数指定した場合も同様の処理がおこなわれることとなる。また、隠蔽対象として指定された部分文書に付与されている電子署名が削除されなかった場合には、墨塗り処理は実行されない。このため、隠蔽対象とする部分文書を指定したとしても、付与されている電子署名が削除されなかった場合は、当該部分文書を隠蔽することはできない。
(文書検証装置の隠蔽処理の手順)
図7は、この発明の実施の形態1にかかる文書検証装置において実行される隠蔽処理の手順を示すフローチャートである。図7において、まず、文書検証装置は、オリジナル文書の入力を受け付けたか否かを判断する(ステップS701)。
ここで、オリジナル文書が入力されるのを待って、入力された場合(ステップS701:Yes)、隠蔽指定部307により、隠蔽対象となる部分文書の指定を受け付けたか否かを判断する(ステップS702)。そして、隠蔽対象となる部分文書が指定されるのを待って、指定された場合(ステップS702:Yes)、削除部308により、指定された部分文書に付与されている電子署名を削除する(ステップS703)。
つぎに、設定部309により、指定された部分文書を隠蔽対象として設定することによって、当該部分文書が墨塗りされた保持文書を生成する(ステップS704)。最後に、生成された保持文書を出力して(ステップS705)、本フローチャートによる一連の処理を終了する。
これにより、オリジナル文書に対して「隠蔽(墨塗り)」の属性を設定することができる。このとき、墨塗りされた部分文書の改変がおこなわれた場合であっても、保持文書の真正性の検証を可能な状態に加工して保持することができる。
また、隠蔽対象として指定された部分文書を他の属性および元の部分文書に変更不能な状態に加工して保持することができる。このため、一度墨塗りされた部分文書は、以降において削除および強制開示する部分文書として指定することができない。
(文書検証装置の電子文書検証処理の手順)
つぎに、この発明の実施の形態1にかかる文書検証装置において実行される電子文書検証処理の手順について説明する。図8は、この発明の実施の形態1にかかる文書検証装置において実行される電子文書検証処理の手順を示すフローチャートである。
図8において、まず、文書検証装置の入力部301により、保持文書の入力を受け付けたか否かを判断する(ステップS801)。ここで、保持文書が入力されるのを待って、入力された場合(ステップS801:Yes)、判定部311により、保持文書を構成する各部分文書に追加されている文書IDがすべて同じ値であるか否かを判断する(ステップS802)。
そして、各部分文書に追加された文書IDがすべて同じ値であった場合(ステップS802:Yes)、判定部311により、各部分文書に追加された部分文書IDが昇順となっているか否かを判断する(ステップS803)。ここで、各部分文書に追加された部分文書IDが昇順となっている場合(ステップS803:Yes)、算出部303により、保持文書を構成する各部分文書のハッシュ値を算出することによって署名対象文書を復元する(ステップS804)。
このとき、保持文書における隠蔽対象として指定された部分文書は当該部分文書のハッシュ値に置き換えられているため、ハッシュ値を算出する必要はない。なお、隠蔽対象として指定された部分文書か否かの判断は、各部分文書に付与されている電子署名が削除されているか否かによって判断することができる。
つぎに、判定部311により、保持文書に付与されている集約電子署名に基づいて、集約電子署名の復号結果と署名対象文書とが一致するか否かを判断する(ステップS805)。ここで、一致する場合(ステップS805:Yes)、出力部313により、検証成功を示す検証結果を出力して(ステップS806)、本フローチャートによる一連の処理を終了する。
一方、ステップS805において一致しなかった場合(ステップS805:No)、出力部313により、検証失敗を示す検証結果を出力して(ステップS807)、本フローチャートによる一連の処理を終了する。また、ステップS802において、各部分文書に追加された文書IDがすべて同じ値ではなかった場合(ステップS802:No)、検証失敗を示す検証結果を出力して(ステップS807)、本フローチャートによる一連の処理を終了する。
さらに、ステップS803において、各部分文書に追加された部分文書IDが昇順となっていない場合(ステップS803:No)、検証失敗を示す検証結果を出力して(ステップS807)、本フローチャートによる一連の処理を終了する。
(電子署名の意義)
ここで、文書IDおよび部分文書IDが追加されたハッシュ値ごとに生成される電子署名の意義について説明する。図9は、墨塗り署名技術の問題点の一例を示す説明図である。
図9において、まず、オリジナル文書を構成する部分文書のハッシュ値を算出することにより、署名対象文書が生成されている。つぎに、各部分文書ごとのハッシュ値から当該各部分文書に付与される電子署名が算出されている。
この場合、電子署名の算出元となるハッシュ値には文書IDおよび部分文書IDは追加されていない。さらに、部分文書が隠蔽対象として指定された場合には、当該部分文書の文書IDおよび部分文書ID、すなわち、部分文書の順序情報は失われてしまう。
このため、部分文書に付与される電子署名によって正当性の判定をおこなう場合に、部分文書の内容についての正当性は判定することができるが、順序情報が失われているため順序交換や転写などの不正な改変についての正当性は判定することができない。
具体的には、たとえば、部分文書「m2」が隠蔽対象として指定された場合、部分文書「m2」の順序情報は失われてしまう。このため、隠蔽(墨塗り)された部分文書「m2」の順序交換(図9中矢印900で示す)がおこなわれたとしても、保持文書の正当性の判定をおこなうことができない。すなわち、不正な順序交換が可能となってしまい、電子文書の真正性を保証することができなかった。
そこで、この発明の実施の形態1では、電子署名の算出元となるハッシュ値に文書IDおよび部分文書IDを追加することにより、隠蔽対象として指定された部分文書の順序情報を保持することができ、当該部分文書の改変がおこなわれた場合であっても、適切に電子文書の真正性を検証することができる。
これにより、オリジナル文書を構成する部分文書の順序交換や転写などの改変がおこなわれた保持文書の真正性を検証することができ、不正な改変を防ぐことができる。このとき、隠蔽(墨塗り)した部分文書の改変がおこなわれた場合であっても、隠蔽した部分文書の順序情報が集約電子署名によって保持されているため、隠蔽した部分文書の真正性を検証することができる。
この発明の実施の形態1にかかる文書検証装置によれば、電子文書に対して「隠蔽」の属性を設定することができるとともに、電子文書を構成する部分文書の順序交換や転写などの改変がおこなわれた場合であっても、改変後の電子文書の真正性を検証することができる。
(実施の形態2)
つぎに、上述した文書検証装置の実施の形態2について説明する。実施の形態2では、オリジナル文書を構成する部分文書の中から隠蔽対象および強制開示対象とする部分文書を任意に指定することができる。なお、実施の形態2にかかる文書検証装置の隠蔽処理の手順は、上述した実施の形態1にかかる文書検証装置の隠蔽処理の手順と同様のため説明を省略する。
(強制開示処理の概要)
図10は、この発明の実施の形態2にかかる文書検証装置において実行される強制開示処理の概要を示す説明図である。図10において、オリジナル文書を構成する部分文書の中から強制開示対象とする部分文書を指定する。なお、強制開示対象となる部分文書は、強制開示指定部315によって指定される強制開示対象となる構成要素に相当する。
ここでは、オリジナル文書を構成する部分文書『m1,m2,…,m5』の中から強制開示対象となる部分文書として「m4」が指定されている。なお、オリジナル文書を構成する部分文書『m1,m2,…,m5』の中から隠蔽対象となる部分文書として「m2」が指定されており、当該部分文書に付与されていた電子署名σ2が削除されている。
つぎに、指定された部分文書に付与されている電子署名を削除するとともに、オリジナル文書に付与されている集約電子署名の中から指定された部分文書に付与されている電子署名を削除する。このとき、指定された部分文書に付与されている電子署名を集約した強制開示集約電子署名を算出し、保持文書に付与する。
具体的には、上述した生成部305によって強制開示する部分文書として指定された部分文書に付与されている電子署名を集約した強制開示集約電子署名を生成する。ここでは、「m4」に付与されている電子署名σ4が削除されるとともに、集約電子署名σの中から電子署名σ4が削除されている。
そして、強制開示する「m4」に付与されている電子署名σ4からなる強制開示集約電子署名σ’を生成する。生成された強制開示集約電子署名は保持文書に付与される。
(文書検証装置の強制開示処理の手順)
図11は、この発明の実施の形態2にかかる文書検証装置において実行される強制開示処理の手順を示すフローチャートである。図11において、まず、文書検証装置の入力部301により、オリジナル文書の入力を受け付けたか否かを判断する(ステップS1101)。
ここで、オリジナル文書が入力されるのを待って、入力された場合(ステップS1101:Yes)、強制開示指定部315により、強制開示対象となる部分文書の指定を受け付けたか否かを判断する(ステップS1102)。
そして、強制開示対象となる部分文書が指定されるのを待って、指定された場合(ステップS1102:Yes)、削除部308により、指定された部分文書に付与されている電子署名を削除する(ステップS1103)。
つぎに、生成部305により、指定された部分文書に付与されている電子署名からなる強制開示集約電子署名を算出し(ステップS1104)、付与部306により、ステップS1101において入力されたオリジナル文書に強制開示集約電子署名を付与する(ステップS1105)。
つぎに、削除部308により、オリジナル文書に付与されている集約電子署名の中から指定された部分文書に付与されている電子署名を削除する(ステップS1106)。そして、設定部309により、指定された部分文書を強制開示対象として設定することによって、当該部分文書が強制開示される保持文書を生成する(ステップS1107)。
最後に、生成された保持文書を出力して(ステップS1108)、本フローチャートによる一連の処理を終了する。
これにより、オリジナル文書に対して「隠蔽」および「強制開示」の属性を設定することができる。このとき、属性が設定された部分文書の改変がおこなわれた場合であっても、保持文書の真正性の検証を可能な状態に加工して保持することができる。
また、強制開示対象として指定された部分文書を他の属性および元の部分文書に変更不能な状態に加工して保持することができる。このため、一度強制開示された部分文書は、以降において墨塗りおよび削除する部分文書として指定することができない。
(文書検証装置の電子文書検証処理の手順)
つぎに、文書検証装置において実行される電子文書検証処理の手順について説明する。図12は、この発明の実施の形態2にかかる文書検証装置において実行される電子文書検証処理の手順を示すフローチャートである。
図12において、まず、文書検証装置の入力部301により、保持文書の入力を受け付けたか否かを判断する(ステップS1201)。ここで、保持文書が入力されるのを待って、入力された場合(ステップS1201:Yes)、判定部311により、保持文書を構成する各部分文書に追加されている文書IDがすべて同じ値であるか否かを判断する(ステップS1202)。
そして、各部分文書に追加された文書IDがすべて同じ値であった場合(ステップS1202:Yes)、判定部311により、各部分文書に追加された部分文書IDが昇順となっているか否かを判断する(ステップS1203)。
ここで、各部分文書に追加された部分文書IDが昇順となっている場合(ステップS1203:Yes)、算出部303により、保持文書を構成する各部分文書のハッシュ値を算出することにより、署名対象文書を復元する(ステップS1204)。
つぎに、判定部311により、保持文書に付与されている集約電子署名および強制開示集約電子署名に基づいて、集約電子署名および強制開示集約電子署名の復号結果と署名対象文書とが一致するか否かを判断する(ステップS1205)。
具体的には、強制開示する部分文書を除く他の部分文書については、集約電子署名の復号結果と一致するか否かを判断し、強制開示する部分文書については、強制開示集約電子署名の復号結果と一致するか否かを判断する。ここで、一致する場合(ステップS1205:Yes)、出力部313により、検証成功を示す検証結果を出力して(ステップS1206)、本フローチャートによる一連の処理を終了する。
一方、ステップS1205において一致しなかった場合(ステップS1205:No)、出力部313により、検証失敗を示す検証結果を出力して(ステップS1207)、本フローチャートによる一連の処理を終了する。また、ステップS1202において、各部分文書に追加された文書IDがすべて同じ値ではなかった場合(ステップS1202:No)、検証失敗を示す検証結果を出力して(ステップS1207)、本フローチャートによる一連の処理を終了する。
さらに、ステップS1203において、各部分文書に追加された部分文書IDが昇順となっていない場合(ステップS1203:No)、検証失敗を示す検証結果を出力して(ステップS1207)、本フローチャートによる一連の処理を終了する。
これにより、オリジナル文書を構成する部分文書の順序交換や転写などの改変がおこなわれた保持文書の真正性を検証することができ、不正な改変を防ぐことができる。このとき、属性が設定された部分文書の改変がおこなわれた場合であっても、属性が設定された部分文書の順序情報が集約電子署名によって保持されているため、属性が設定された部分文書の真正性を検証することができる。
この発明の実施の形態2にかかる文書検証装置によれば、電子文書に対して「隠蔽」および「強制開示」の属性を設定することができるとともに、電子文書を構成する部分文書の順序交換や転写などの改変がおこなわれた場合であっても、改変後の電子文書の真正性を検証することができる。
(実施の形態3)
つぎに、上述した文書検証装置の実施の形態3について説明する。実施の形態3では、オリジナル文書を構成する部分文書の中から隠蔽対象および削除対象とする部分文書を任意に指定することができる。
なお、実施の形態3にかかる文書検証装置の隠蔽処理の手順は、上述した実施の形態1にかかる文書検証装置の隠蔽処理の手順(図7参照)のうち、隠蔽する部分文書の電子署名を削除するステップS703を省略した手順となる。ここでは、文書検証装置において実行される隠蔽処理の手順については省略する。
(削除処理の概要)
図13は、この発明の実施の形態3にかかる文書検証装置において実行される削除処理の概要を示す説明図である。図13において、まず、オリジナル文書を構成する部分文書の中から削除対象とする部分文書を指定する。ここでは、オリジナル文書を構成する部分文書『m1,m2,…,m5』の中から削除対象となる部分文書として「m3」が指定されている。
また、オリジナル文書を構成する部分文書『m1,m2,…,m5』の中から隠蔽対象となる部分文書として「m2」が指定されており、当該部分文書に付与されていた電子署名σ2が削除されている。
つぎに、指定された部分文書を削除するとともに当該部分文書に付与されている電子署名を削除する。さらに、オリジナル文書に付与されている集約電子署名の中から指定された部分文書に付与されている電子署名を削除する。ここでは、「m3」が削除されるとともに「m3」に付与されている電子署名σ3が削除される。さらに、集約電子署名σの中から「m3」に付与されている電子署名σ3が削除されることとなる。
(文書検証装置の削除処理の手順)
図14は、この発明の実施の形態3にかかる文書検証装置において実行される削除処理の手順を示すフローチャートである。図14において、まず、文書検証装置の入力部301により、オリジナル文書の入力を受け付けたか否かを判断する(ステップS1401)。
ここで、オリジナル文書が入力されるのを待って、入力された場合(ステップS1401:Yes)、削除指定部314により、削除対象となる部分文書の指定を受け付けたか否かを判断する(ステップS1402)。そして、削除する部分文書が指定されるのを待って、指定された場合(ステップS1402:Yes)、削除部308により、指定された部分文書を削除し(ステップS1403)、指定された部分文書に付与されている電子署名を削除する(ステップS1404)。
つぎに、削除部308により、オリジナル文書に付与されている集約電子署名の中から指定された部分文書に付与されている電子署名を削除する(ステップS1405)。そして、設定部309により、指定された部分文書を削除対象として設定することによって、当該部分文書が削除された保持文書を生成する(ステップS1406)。最後に、生成された保持文書を出力して(ステップS1407)、本フローチャートによる一連の処理を終了する。
なお、ステップS1404〜ステップS1405における処理の順序は、ここで説明した順序に限らない。たとえば、オリジナル文書に付与されている集約電子署名の中から指定された部分文書に付与されている電子署名を削除する処理の後に、部分文書および当該部分文書に付与されている電子署名を削除する処理をおこなうようにしてもよい。
これにより、オリジナル文書に対して隠蔽および削除の属性を設定することができる。このとき、属性が設定された部分文書の改変がおこなわれた場合であっても、保持文書の真正性の検証を可能な状態に加工して保持することができる。
また、削除対象として指定された部分文書を他の属性および元の部分文書に変更不能な状態に加工して保持することができる。このため、一度削除された部分文書は、以降において墨塗りおよび削除する部分文書として指定することができない。
なお、実施の形態3における文書検証装置において実行される電子文書検証処理の手順は、実施の形態1における文書検証装置において実行される電子文書検証処理の手順とほぼ同様のため説明を省略する。
これにより、オリジナル文書を構成する部分文書の順序交換や転写などの改変がおこなわれた保持文書の真正性を検証することができ、不正な改変を防ぐことができる。このとき、属性が設定された部分文書の改変がおこなわれた場合であっても、属性が設定された部分文書の順序情報が集約電子署名によって保持されているため、属性が設定された部分文書に関する真正性を検証することができる。
この発明の実施の形態3にかかる文書検証装置によれば、電子文書に対して「隠蔽」および「削除」の属性を設定することができるとともに、電子文書を構成する部分文書の順序交換や転写などの改変がおこなわれた場合であっても、改変後の電子文書の真正性を検証することができる。
(実施の形態4)
つぎに、上述した文書検証装置の実施の形態4について説明する。実施の形態4では、オリジナル文書を構成する部分文書の中から隠蔽対象、削除対象および強制開示対象となる部分文書を任意に指定することができる。すなわち、ここで説明する電子文書は、墨塗り、削除および強制開示の属性を任意に指定可能な電子文書である。
実施の形態4では、電子文書を構成する部分文書ごとに第1の電子署名および第2の電子署名を付与することにより、上記三つの属性を指定可能とする。第1の電子署名および第2の電子署名は、それぞれ異なる電子署名であればよく、算出方式は任意である。
たとえば、アルゴリズムが異なる二つの算出方式を採用することにより、一つのオリジナル文書から第1の電子署名および第2の電子署名を算出することとしてもよい。また、それぞれ異なる文書IDおよび部分文書IDが追加された二つのオリジナル文書を生成することにより、それぞれ異なる第1の電子署名および第2の電子署名を算出することとしてもよい。
ここでは、二つのオリジナル文書を生成することにより、一つの算出方式によってそれぞれ異なる第1の電子署名および第2の電子署名を算出する場合について説明する。図15は、この発明の実施の形態4にかかる文書検証装置において実行される電子署名生成処理の概要を示す説明図である。なお、図4に示す電子署名生成処理の手順と同様の処理については説明を省略する。
図15において、予測不可能な文書IDおよび部分文書IDを各部分文書に追加する処理を二回繰り返すことにより、それぞれ異なる第1のオリジナル文書および第2のオリジナル文書を生成する。
ここでは、第1のオリジナル文書に追加されている文書IDを「D」、部分文書IDを「SDi(i=1〜5)」と表記し、第2のオリジナル文書に追加されている文書IDを「D’」、部分文書IDを「SD’i(i=1〜5)」と表記する。
なお、文書ID「D」と文書ID「D’」とが異なっていれば、部分文書ID「SDi(i=1〜5)」と部分文書ID「SD’i(i=1〜5)」とは同一であってもよく、また、部分文書ID「SDi(i=1〜5)」と部分文書ID「SD’i(i=1〜5)」とが異なっていれば、文書ID「D」と文書ID「D’」とは同一であってもよい。
つぎに、この第1のオリジナル文書および第2のオリジナル文書の各部分文書のハッシュ値に当該ハッシュ値の部分文書に追加されている文書IDおよび部分文書IDを追加することにより、第1の署名対象文書および第2の署名対象文書を生成する。
そして、第1の署名対象文書を構成するハッシュ値ごと、すなわち、文書IDおよび部分文書IDが追加されたハッシュ値ごとの第1の電子署名「σ1,σ2,…,σ5」を算出するとともに、第2の署名対象文書を構成するハッシュ値ごと、すなわち、文書IDおよび部分文書IDが追加されたハッシュ値ごとの第2の電子署名「τ1,τ2,…,τ5」を算出する。
第1の署名対象文書および第2の署名対象文書を構成するハッシュ値ごとの第1の電子署名および第2の電子署名は、それぞれ対応する部分文書に付与される。具体的には、たとえば、文書IDおよび部分文書IDが追加されたハッシュ値「D‖SD1‖h1」および「D’‖SD’ 1‖h1」から算出された第1の電子署名「σ1」および第2の電子署名「τ1」は部分文書「m1」に付与されることとなる。
最後に、各部分文書の第1の電子署名「σ1,σ2,…,σ5」を集約した第1の集約電子署名σを算出するとともに、各部分文書の第2の電子署名「τ1,τ2,…,τ5」を集約した第2の集約電子署名τを算出し、図示しない電子文書Mに付与する。なお、ここでは、第1の電子署名を集約した第1の集約電子署名および第2の電子署名を集約した第2の集約電子署名を算出することとしたが、いずれか一方のみを算出することとしてもよい。
(文書検証装置の電子署名生成処理の手順)
つぎに、この発明の実施の形態4にかかる文書検証装置において実行される電子署名生成処理の手順について説明する。図16は、この発明の実施の形態4にかかる文書検証装置において実行される電子署名生成処理手順を示すフローチャートである。
図16のフローチャートにおいて、文書検証装置は、まず、入力部301により、電子文書の入力を受け付けたか否かを判断する(ステップS1601)。ここで、電子文書が入力されるのを待って、入力を受け付けた場合(ステップS1601:Yes)、分割部302により、入力された電子文書を部分文書に分割する(ステップS1602)。
つぎに、オリジナル文書生成処理を実行(ステップS1603)することにより、各部分文書に文書IDおよび部分文書IDが追加された第1のオリジナル文書および第2のオリジナル文書を生成する。
そして、算出部303により、分割された部分文書ごとのハッシュ値を算出する(ステップS1604)。つぎに、関連付け部304により、部分文書ごとのハッシュ値と、ステップS1603において生成された第1のオリジナル文書および第2のオリジナル文書を構成する部分文書に追加されている文書IDおよび部分文書IDを関連付けることによって電子文書を構成する各構成要素がそれぞれ対応するハッシュ値に置き換えられた第1の署名対象文書および第2の署名対象文書を生成する(ステップS1605)。
つぎに、生成部305により、第1の署名対象文書を構成する文書IDおよび部分文書IDが追加されたハッシュ値ごとの第1の電子署名を算出するとともに、第2の署名対象文書を構成する文書IDおよび部分文書IDが追加されたハッシュ値ごとの第2の電子署名を算出する(ステップS1606)。
そして、付与部306により、算出された第1の電子署名および第2の電子署名をそれぞれ対応する部分文書に付与する(ステップS1607)。つぎに、部分文書ごとの第1の電子署名を集約した第1の集約電子署名を算出するとともに、部分文書ごとの第2の電子署名を集約した第2の集約電子署名を算出する(ステップS1608)。
最後に、付与部306により、電子文書に付与して(ステップS1609)、本フローチャートによる一連の処理を終了する。第1の集約電子署名が付与され、かつ、各部分文書に第1の電子署名が付与された第1のオリジナル文書と、第2の集約電子署名が付与され、かつ、各部分文書に第2の電子署名が付与された第2のオリジナル文書はHD205などの記録媒体に構築された電子文書DBに記録されることとなる。
これにより、電子文書を構成する部分文書の順序交換や転写などの改変がおこなわれた場合であっても、改変後における電子文書の真正性の検証を可能な状態に加工して保持することができる。また、第1の電子署名および第2の電子署名を各構成要素に付与することにより、「隠蔽」、「削除」および「強制開示」の属性を各構成要素に変更不能に設定することができる。
また、電子文書における出現位置に関する順序に従って各部分文書に割り当てられる部分文書IDに基づいて、当該各部分文書に付与される第1の電子署名および第2の電子署名が算出される。このため、「隠蔽」、「削除」、「強制開示」などの属性が設定された部分文書の順序情報を保持することができ、属性が設定された部分文書の改変がおこなわれた場合であっても、改変後における電子文書の真正性を検証することができる。
(文書検証装置の編集処理の概要)
つぎに、この発明の実施の形態4にかかる文書検証装置の隠蔽処理、削除処理および強制開示処理の概要について説明する。図17は、この発明の実施の形態4にかかる文書検証装置において実行される編集処理の概要を示す説明図である。
以下において、隠蔽対象、削除対象、強制開示対象の順に部分文書を指定する場合について説明するが指定する順序は任意であり、これに限らない。
図17において、オリジナル文書(第1のオリジナル文書および第2のオリジナル文書のうち第1のオリジナル文書のみを図示する)を構成する部分文書の中から隠蔽対象となる部分文書を指定する。ここでは、オリジナル文書を構成する部分文書『m1,m2,…,m5』の中から隠蔽対象(墨塗り対象)となる部分文書として「m2」が指定されている。
つぎに、隠蔽対象として指定された部分文書に付与されている第1の電子署名σ2および第2の電子署名τ2のうちいずれか一方(ここでは、第2の電子署名τ2)を削除する。このとき、隠蔽対象として指定された部分文書「m2」がハッシュ値「h2」に置き換えられる。
また、オリジナル文書を構成する部分文書の中から削除対象となる部分文書を指定する。ここでは、オリジナル文書を構成する部分文書『m1,m2,…,m5』の中から削除対象となる部分文書として「m3」が指定されている。
つぎに、削除対象として指定された部分文書を削除するとともに当該電子文書に付与されている第1の電子署名σ3および第2の電子署名τ3を削除する。さらに、オリジナル文書に付与されている第1の集約電子署名σおよび第2の集約電子署名τの中から削除対象として指定された部分文書に付与されている第1の電子署名σ3および第2の電子署名τ3をそれぞれ削除する。
また、オリジナル文書を構成する部分文書の中から強制開示対象となる部分文書を指定する。ここでは、オリジナル文書を構成する部分文書『m1,m2,…,m5』の中から強制開示対象となる部分文書として「m4」が指定されている。
つぎに、強制開示対象として指定された部分文書に付与されている第1の電子署名σ4および第2の電子署名τ4を削除する。これにより、オリジナル文書に対して隠蔽処理、削除処理および強制開示処理が施された保持文書が生成されることとなる。
(文書検証装置の編集処理の手順)
つぎに、この発明の実施の形態4にかかる文書検証装置において実行される編集処理の手順について説明する。図18は、この発明の実施の形態4にかかる文書検証装置において実行される編集処理の手順を示すフローチャートである。
図18において、まず、文書検証装置の入力部301により、オリジナル文書の入力を受け付けたか否かを判断する(ステップS1801)。ここで入力されるオリジナル文書は、上記第1のオリジナル文書および第2のオリジナル文書である。
ここで、オリジナル文書が入力されるのを待って、入力された場合(ステップS1801:Yes)、隠蔽指定部307により、隠蔽対象となる部分文書の指定を受け付けたか否かを判断する(ステップS1802)。隠蔽対象となる部分文書の指定を受け付けた場合(ステップS1802:Yes)、削除部308により、指定された部分文書に付与されている第2の電子署名を削除する(ステップS1803)。
つぎに、削除指定部314により、削除対象となる部分文書の指定を受け付けたか否かを判断する(ステップS1804)。削除対象となる部分文書の指定を受け付けた場合(ステップS1804:Yes)、削除部308により、指定された部分文書を削除し(ステップS1805)、指定された部分文書に付与されている第1の電子署名および第2の電子署名を削除する(ステップS1806)。
さらに、ステップS1801において入力されたオリジナル文書に付与されている第1の集約電子署名および第2の集約電子署名から、指定された部分文書に付与されている第1の電子署名および第2の電子署名をそれぞれ削除する(ステップS1807)。
つぎに、強制開示指定部315により、強制開示対象となる部分文書の指定を受け付けたか否かを判断する(ステップS1808)。強制開示対象となる部分文書の指定を受け付けた場合(ステップS1808:Yes)、削除部308により、指定された部分文書に付与されている第1の電子署名および第2の電子署名を削除する(ステップS1809)。
そして、設定部309により、指定された部分文書をそれぞれ隠蔽対象、削除対象および強制開示対象として設定することによって保持文書を生成する(ステップS1810)。最後に、生成された保持文書を出力して(ステップS1811)、本フローチャートによる一連の処理を終了する。
一方、ステップS1802において、隠蔽対象となる部分文書の指定を受け付けなかった場合(ステップS1802:No)、ステップS1804に移行し、ステップS1804において、削除対象となる部分文書の指定を受け付けなかった場合(ステップS1804:No)、ステップS1808に移行し、ステップS1808において、強制開示対象となる部分文書の指定を受け付けなかった場合(ステップS1808:No)、ステップS1810に移行する。
ここでは、隠蔽対象となる部分文書の指定、削除対象となる部分文書の指定、強制開示対象となる部分文書の指定の順に各編集処理を実行する場合について説明したがこれに限らない。たとえば、削除対象となる部分文書を指定した後に、隠蔽対象となる部分文書を指定し、強制開示対象となる部分文書を指定することとしてもよい。
これにより、オリジナル文書に対して「隠蔽」、「削除」および「強制開示」の属性を設定することができる。このとき、墨塗りされた部分文書の改変がおこなわれた場合であっても、保持文書の真正性の検証を可能な状態に加工して保持することができる。
また、各属性に設定された部分文書を他の属性および元の部分文書に変更不能な状態に加工して保持することができる。このため、ある属性に設定された部分文書は、以降において他の属性に設定することができない。
具体的には、たとえば、部分文書の属性を「隠蔽」から「削除」に変更することはできない。また、部分文書の属性を「隠蔽」から「強制開示」に変更することはできない。さらに、部分文書の属性を「隠蔽」から「元の部分文書」に変更することはできない。
同様に、部分文書の属性を「削除」から「隠蔽」に変更することはできない。また、部分文書の属性を「削除」から「強制開示」に変更することはできない。さらに、部分文書の属性を「削除」から「元の部分文書」に変更することはできない。
同様に、部分文書の属性を「強制開示」から「隠蔽」に変更することはできない。また、部分文書の属性を「強制開示」から「削除」に変更することはできない。さらに、部分文書の属性を「強制開示」から「元の部分文書」に変更することはできない。
なお、実施の形態4における文書検証装置において実行される電子文書検証処理の手順は、実施の形態1における文書検証装置において実行される電子文書検証処理の手順とほぼ同様のため説明を省略する。
これにより、オリジナル文書を構成する部分文書の順序交換や転写などの改変がおこなわれた保持文書の真正性を検証することができ、不正な改変を防ぐことができる。このとき、属性が設定された部分文書の改変がおこなわれた場合であっても、属性が設定された部分文書の順序情報が集約電子署名によって保持されているため、属性が設定された部分文書の真正性を検証することができる。
この発明の実施の形態4にかかる文書検証装置によれば、電子文書に対して「隠蔽」、「削除」、「強制開示」の属性を設定することができるとともに、電子文書を構成する部分文書の順序交換や転写などの改変がおこなわれた場合であっても、改変後の電子文書の真正性を検証することができる。
以上説明したように、文書検証プログラム、記録媒体、文書検証方法および文書検証装置によれば、電子文書に対して複数の属性を設定可能とすることによってユーザの利便性の向上を図るとともに、改変がおこなわれた電子文書の真正性を検証することができる。
なお、本実施の形態で説明した文書検証方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーションなどのコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVDなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネットなどのネットワークを介して配布することが可能な伝送媒体であってもよい。
以上のように、本発明にかかる文書検証プログラム、記録媒体、文書検証方法および文書検証装置は、電子文書の真正を検証する技術に有用であり、特に、電子文書を構成する部分文書の順序交換を不可能にする文書検証技術に適している。
この発明は、電子文書の真正を検証する文書検証プログラム、記録媒体、文書検証方法および文書検証装置に関する。
従来、電子文書の真正を検証する技術として、電子署名を用いた技術が提供されている。この電子署名技術は、電子文書ごとに電子署名を付与することによって、電子文書の作成者を認証するとともに、電子文書の正当性を判断することができ、電子文書の真正性を保証する技術である。
電子署名技術を利用した場合、不正なユーザによる改ざんを防ぐという点においては非常に有用であるが、電子文書の有効活用という点においては問題があった。なぜなら、電子署名技術においては、電子文書に対して何らかの編集をおこなった場合、編集後の電子文書の正当性が保証されないからである。
このため、電子文書に公開不可能な情報や不要な情報が含まれている場合であっても、電子文書の中から削除するなどの編集をおこなうことができず、ユーザの利便性を著しく低下させる要因となっていた。これにともない、電子文書に対する編集が可能でかつ、電子文書の真正が検証可能な技術が望まれている。
たとえば、電子文書を部分文書に分割し、部分文書ごとに公開・非公開を指定することにより、非公開の部分文書に対して墨塗りを施す技術が提供されている(たとえば、下記非特許文献1参照。)。この墨塗り署名技術を用いることにより、電子文書における公開部分に対する完全性と、非公開部分(墨塗り部分)に対する秘匿性を保証する。
また、電子文書を部分文書に分割し、部分文書ごとに電子署名を付加させて、当該部分文書ごとに公開・非公開を指定することにより、非公開の部分文書を削除する技術が提供されている(たとえば、下記特許文献1および非特許文献2参照。)。この抽出署名技術を用いることにより、電子文書における公開部分に対する完全性と、非公開部分(削除部分)に対する秘匿性を保証する。
ここで、上記従来技術により抽出された電子文書について説明する。図19は、従来技術における電子署名技術の一例を示す説明図である。図19に示すように、オリジナル文書1900が部分文書1901,1902,1903ごと(たとえば、ページごと)に分割され、オリジナル文書1900全体に対して電子署名1904が付与されている。
また、墨塗り文書1910は、非特許文献1による技術により、オリジナル文書1900のうち秘匿性を有する部分文書1901,1903が墨塗りされている。この場合、電子署名1904に基づいて、開示部分である部分文書1902に対する真正が検証可能である。
また、抽出文書1920は、特許文献1または非特許文献2による技術により、オリジナル文書1900の中から部分文書1902が抽出されている。この場合、電子署名1904に基づいて、開示部分である部分文書1902に対する真正が検証可能である。
特開2006−60722号公報
宮崎邦彦、岩村充、松本勉、佐々木良一、吉浦裕、手塚悟、今井秀樹著「開示条件を制御可能な電子文書墨塗り技術」2004年暗号と情報セキュリティシンポジウム予稿集 宮崎邦彦、花岡悟一郎、今井秀樹著「双線形写像を用いた電子文書墨塗り技術」2005年暗号と情報セキュリティシンポジウム予稿集
しかしながら、上述した従来技術の電子署名技術では、電子文書に対して、墨塗り処理または削除処理(抽出処理)のいずれか一方の処理のみが実行可能となっていた。このため、電子文書内において、墨塗りする部分文書と削除する部分文書とを混在させることができず、ユーザの利便性を低下させていたという問題があった。
ここで、上述した問題点を具体的に説明する。たとえば、図19に示すオリジナル文書1900が、ある省庁内における会議録である場合を想定し、部分文書1901(1ページ目)には会議の出席者リストが、部分文書1902(2ページ目)には会議の主内容が、部分文書1903(3ページ目)には税金の滞納者リストが記載されているとする。
ここで、墨塗り文書1910が公開された場合、閲覧者は1ページ目と3ページ目の具体的内容を特定することはできないが、オリジナル文書1900における2ページ目の会議の主内容の前後に何らかの情報が記載されていることを推測することができる。
このため、秘匿性を有する部分文書1901,1903に墨塗りを施した場合であっても、墨塗り箇所から何らかの情報を推測することができるため、墨塗り文書1910全体としては完全に秘匿性を保証することができないという問題があった。
また、抽出文書1920が公開された場合、閲覧者は1ページ目と3ページ目の存在を知ることができないため、部分文書1901,1903の具体的内容を特定することはできない。
しかしながら、たとえば、3ページ目に記載されている税金の滞納者の氏名などの個人情報は墨塗りなどを施して秘匿する必要があるが、滞納者の存在を示すためにその箇所を残したい場合がある。このような場合であっても抽出文書1920では、3ページ目すべてが削除されてしまう。すなわち、抽出文書1920では、部分文書1901,1903を秘匿するためには、部分文書1901,1903を削除するしかなく、公開すべき情報も削除せざるを得ないという問題があった。
本開示技術は、上述した従来技術による問題点を解消するため、電子文書に対して複数の属性を設定可能とすることによってユーザの利便性の向上を図るとともに、改変がおこなわれた電子文書の真正性を検証することができる文書検証プログラム、記録媒体、文書検証方法および文書検証装置を提供することを目的とする。
上述した課題を解決し、目的を達成するため、本開示技術は、電子文書の真正を検証させる文書検証プログラム、記録媒体、文書検証方法および文書検証装置であって、前記電子文書の入力を受け付け、入力された電子文書を任意の構成要素に分割し、分割された構成要素ごとのハッシュ値を算出し、算出された構成要素ごとのハッシュ値と、当該構成要素の前記電子文書における出現位置に関する順序に従って前記各構成要素に割り当てられる乱数とを関連付け、関連付けられたハッシュ値と乱数とに基づいて、それぞれ異なる第1の電子署名および第2の電子署名を前記構成要素ごとに生成し、生成された第1の電子署名および第2の電子署名を対応する構成要素に対して付与することを特徴とする。
本開示技術によれば、複数の電子署名を各構成要素に付与することにより、たとえば、隠蔽、削除、強制開示などの属性を各構成要素に変更不能に設定することができる。さらに、各構成要素に付与される電子署名により、上記属性が設定された構成要素の正当性を保証するとともに当該構成要素の電子文書における出現位置に関する順序の正当性を保証することができる。
また、本開示技術において、各構成要素に割り当てられる前記電子文書を構成するすべての構成要素に共通する乱数(以下、「共通乱数」という)と、当該共通乱数が割り当てられた構成要素のハッシュ値と、当該構成要素に割り当てられる乱数とを関連付け、関連付けられた共通乱数とハッシュ値と乱数とに基づいて、前記第1の電子署名および前記第2の電子署名を前記構成要素ごとに生成することとしてもよい。
本開示技術によれば、各構成要素に付与される電子署名により、属性が設定された構成要素について、同一電子文書内の構成要素であることの正当性を保証することができる。
また、本開示技術において、前記構成要素ごとの第1の電子署名または当該構成要素ごとの第2の電子署名を集約した集約電子署名を生成し、生成された集約電子署名を前記電子文書に対して付与することとしてもよい。
本開示技術によれば、複数の属性を設定可能な電子文書の正当性を保証することができる。
また、本開示技術において、前記電子文書を構成する構成要素の中から隠蔽対象となる構成要素の指定を受け付け、指定された構成要素に付与されている第2の電子署名を削除することとしてもよい。
本開示技術によれば、電子文書を構成する構成要素の中から隠蔽対象の構成要素を指定することにより、当該構成要素を他の属性に変更不能な構成要素として設定することができる。
また、本開示技術において、前記電子文書を、第2の電子署名が削除された構成要素のハッシュ値を関連付けることにより、当該構成要素を隠蔽対象とする電子文書に設定することとしてもよい。
本開示技術によれば、電子文書を構成する任意の構成要素を隠蔽することができる。
また、本開示技術において、設定された電子文書の入力を受け付け、入力された電子文書を構成する構成要素のハッシュ値を算出することにより、前記構成要素を当該構成要素のハッシュ値に置き換え、前記電子文書に付与されている集約電子署名に基づいて、置き換えられたハッシュ値と、当該ハッシュ値に割り当てられている乱数との正当性を判定し、判定結果に基づいて前記電子文書の真正を検証し、検証結果を出力することとしてもよい。
本開示技術によれば、電子文書に付与されている集約電子署名により、属性が設定された構成要素の正当性とともに当該構成要素の電子文書における出現位置に関する順序の正当性を検証することができる。
また、本開示技術において、さらに、前記電子文書に付与されている集約電子署名に基づいて、置き換えられたハッシュ値に割り当てられている共通乱数の正当性を判定することとしてもよい。
本開示技術によれば、電子文書に付与されている集約電子署名により、属性が設定された構成要素が同一電子文書内の構成要素であることの正当性を検証することができる。
また、本開示技術において、入力された電子文書を構成する各構成要素に割り当てられた乱数が、前記電子文書における前記各構成要素の出現位置に関する順序に従っているか否かを判定することとしてもよい。
本開示技術によれば、構成要素の順序交換などの改変がおこなわれた場合であっても、改変後における電子文書の真正性の検証をおこなうことができる。
また、本開示技術において、各構成要素に割り当てられた共通乱数が、入力された電子文書を構成するすべての構成要素において共通であるか否かを判定することとしてもよい。
本開示技術によれば、他の電子文書から構成要素を転写する改変がおこなわれた場合であっても、改変後における電子文書の真正性の検証をおこなうことができる。
また、本開示技術において、電子文書を構成する構成要素の中から削除対象となる構成要素の指定を受け付け、指定された構成要素に付与されている第1の電子署名および第2の電子署名を削除することとしてもよい。
本開示技術によれば、電子文書を構成する構成要素の中から削除対象の構成要素を指定することにより、当該構成要素を他の属性に変更不能な構成要素として設定することができる。
また、本開示技術において、電子文書に付与されている集約電子署名の中から、前記削除対象となる構成要素に付与されている第1の電子署名または第2の電子署名を削除することとしてもよい。
本開示技術によれば、電子文書に付与されている集約電子署名により、削除対象として指定された構成要素の削除後における電子文書の正当性を検証することができる。
また、本開示技術において、前記電子文書を、第1の電子署名および第2の電子署名が削除された構成要素を削除対象とする電子文書に設定することとしてもよい。
本開示技術によれば、電子文書を構成する任意の構成要素を削除することができる。
また、本開示技術において、前記電子文書を構成する構成要素の中から強制開示対象となる構成要素の指定を受け付け、指定された構成要素に付与されている第1の電子署名および第2の電子署名を削除することとしてもよい。
本開示技術によれば、電子文書を構成する構成要素の中から強制開示対象の構成要素を指定することにより、当該構成要素を他の属性に変更不能な構成要素として設定することができる。
また、本開示技術において、前記電子文書を、第1の電子署名および第2の電子署名が削除された構成要素を強制開示対象とする電子文書に設定することとしてもよい。
本開示技術によれば、電子文書を構成する任意の構成要素を強制開示することができる。
本文書検証プログラム、記録媒体、文書検証方法および文書検証装置によれば、電子文書に対して複数の属性を設定可能とすることによってユーザの利便性の向上を図るとともに、改変がおこなわれた電子文書の真正性を検証することができるという効果を奏する。
図1は、この発明の実施の形態にかかる電子文書公開システムのシステム構成図である。 図2は、この発明の実施の形態にかかるコンピュータ装置のハードウェア構成を示すブロック図である。 図3は、この発明の実施の形態にかかる文書検証装置の機能的構成を示すブロック図である。 図4は、この発明の実施の形態にかかる文書検証装置において実行される電子署名生成処理の概要を示す説明図である。 図5は、この発明の実施の形態にかかる文書検証装置において実行される電子署名生成処理手順を示すフローチャートである。 図6は、この発明の実施の形態1にかかる文書検証装置において実行される隠蔽処理の概要を示す説明図である。 図7は、この発明の実施の形態1にかかる文書検証装置において実行される隠蔽処理の手順を示すフローチャートである。 図8は、この発明の実施の形態1にかかる文書検証装置において実行される電子文書検証処理の手順を示すフローチャートである。 図9は、墨塗り署名技術の問題点の一例を示す説明図である。 図10は、この発明の実施の形態2にかかる文書検証装置において実行される強制開示処理の概要を示す説明図である。 図11は、この発明の実施の形態2にかかる文書検証装置において実行される強制開示処理の手順を示すフローチャートである。 図12は、この発明の実施の形態2にかかる文書検証装置において実行される電子文書検証処理の手順を示すフローチャートである。 図13は、この発明の実施の形態3にかかる文書検証装置において実行される削除処理の概要を示す説明図である。 図14は、この発明の実施の形態3にかかる文書検証装置において実行される削除処理の手順を示すフローチャートである。 図15は、この発明の実施の形態4にかかる文書検証装置において実行される電子署名生成処理の概要を示す説明図である。 図16は、この発明の実施の形態4にかかる文書検証装置において実行される電子署名生成処理手順を示すフローチャートである。 図17は、この発明の実施の形態4にかかる文書検証装置において実行される編集処理の概要を示す説明図である。 図18は、この発明の実施の形態4にかかる文書検証装置において実行される編集処理の手順を示すフローチャートである。 図19は、従来技術における電子署名技術の一例を示す説明図である。
以下に添付図面を参照して、この発明にかかる文書検証プログラム、記録媒体、文書検証方法および文書検証装置の好適な実施の形態を詳細に説明する。
(実施の形態)
(電子文書公開システム100のシステム構成)
まず、この発明の実施の形態にかかる電子文書公開システムのシステム構成について説明する。図1は、この発明の実施の形態にかかる電子文書公開システムのシステム構成図である。
図1において、電子文書公開システム100は、情報を公開する側の文書検証装置101と情報公開を請求する側の文書検証装置102とが、インターネットなどのネットワーク110を介して相互に交信可能に接続されている。
電子文書公開システム100において公開される電子文書は、たとえば、行政機関から発行される電子戸籍台帳、医療機関から発行される電子カルテおよび教育機関から発行される電子成績表など秘匿性の高い個人情報である。また、たとえば、各市町村の行政機関に対して公開請求することができる公文書などであってもよい。
文書検証装置101は、電子文書DBを備えているコンピュータ装置である。なお、電子戸籍台帳や電子成績表などの電子文書は、情報公開側である文書検証装置101において作成されてもよく、また、他の装置において作成されてもよい。文書検証装置101は、作成された電子文書を真正の検証が可能な状態に加工して電子文書DBに保存する。
このとき、電子文書の作成者および当該電子文書の正当性を保証するために、第三者機関である認証機関103により証明された電子署名を電子文書に付与する。また、文書検証装置102は、情報公開を請求するユーザが利用するコンピュータ装置である。
文書検証装置101は、文書検証装置102から情報公開請求を示す要求信号を受信した場合、該当する電子文書を電子文書DBの中から検索する。そして、検索した電子文書を開示文書として文書検証装置102に送信する。このとき、文書検証装置101は、検索した電子文書を構成する部分文書に対して墨塗り、削除および強制開示などの属性を設定することができる。
一方、情報請求側の文書検証装置102は、情報公開側の文書検証装置101に対して情報公開請求を示す要求信号を送信することができる。そして、文書検証装置102は、要求信号を送信した結果、文書検証装置101から開示文書を受信する。また、文書検証装置102は、受信した開示文書の真正を検証することができる。
たとえば、文書検証装置102を利用して、ある市町村の行政機関に設置されている文書検証装置101に対して公害問題に関する公文書の公開請求をしたとする。その結果、文書検証装置102のユーザは、公害問題に関する公文書を取得することができ、当該公文書を閲覧することができる。
このとき、行政機関の職員は、公開する公文書に記載されている内容に対して各種属性を設定することができる。たとえば、公開義務のある大気汚染や水質汚濁の現状については強制開示する文書として設定し、実際に公害による被害を受けた被害者の氏名を墨塗りする文書として設定し、さらに、被害者の住所が記載された箇所については削除する文書として設定することができる。
このように、文書検証装置101のユーザは、公開する公文書の中の任意の文書に対して各種属性を設定することができる。また、各種属性を設定するなどの改変がおこなわれた公文書の真正性については、たとえば、文書検証装置102において検証することができ、不正な改変がおこなわれていないか否かを検証することができる。
ここでは、情報の公開側のユーザが利用する装置を文書検証装置101とし、情報公開を請求する側のユーザが利用する装置を文書検証装置102としたが、文書検証装置102において何らかの情報を作成し、文書検証装置101を利用するユーザに公開するようにしてもよい。
(コンピュータ装置のハードウェア構成)
つぎに、この発明の実施の形態にかかるコンピュータ装置(たとえば、図1に示す文書検証装置101,102)のハードウェア構成について説明する。図2は、この発明の実施の形態にかかるコンピュータ装置のハードウェア構成を示すブロック図である。
図2において、コンピュータ装置は、CPU201と、ROM202と、RAM203と、HDD(ハードディスクドライブ)204と、HD(ハードディスク)205と、FDD(フレキシブルディスクドライブ)206と、着脱可能な記録媒体の一例としてのFD(フレキシブルディスク)207と、ディスプレイ208と、I/F(インターフェース)209と、キーボード210と、マウス211と、スキャナ212と、プリンタ213とを備えている。また、各構成部は、バス200によってそれぞれ接続されている。
ここで、CPU201は、コンピュータ装置(たとえば、図1に示す文書検証装置101,102)の全体の制御を司る。ROM202は、ブートプログラムなどのプログラムを記録している。RAM203は、CPU201のワークエリアとして使用される。
HDD204は、CPU201の制御にしたがってHD205に対するデータのリード/ライトを制御する。HD205は、HDD204の制御で書き込まれたデータを記憶する。HD205には、たとえば、図1に示す電子文書DBが構築されている。
FDD206は、CPU201の制御にしたがってFD207に対するデータのリード/ライトを制御する。FD207は、FDD206の制御で書き込まれたデータを記憶したり、FD207に記憶されたデータをコンピュータ装置に読み取らせたりする。
また、着脱可能な記録媒体として、FD207のほか、CD−ROM(CD−R、CD−RW)、MO、DVD(Digital Versatile Disk)、メモリカードなどであってもよい。ディスプレイ208は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ208には、たとえば、CRT、TFT液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
I/F209は、通信回線を通じてインターネットなどのネットワーク110に接続され、このネットワーク110を介して他の装置に接続される。そして、I/F209は、ネットワーク110と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。I/F209には、たとえばモデムやLANアダプタなどを採用することができる。
キーボード210は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス211は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。ポインティングデバイスとして同様の機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
スキャナ212は、画像を光学的に読み取り、コンピュータ装置内に画像データを読み込む。なお、スキャナ212は、OCR機能を持たせてもよい。また、プリンタ213は、画像データや電子文書を印刷する。プリンタ213には、たとえば、レーザプリンタやインクジェットプリンタなどを採用することができる。
(文書検証装置の機能的構成)
つぎに、この発明の実施の形態にかかる文書検証装置(たとえば、図1に示す文書検証装置101,102)の機能的構成について説明する。図3は、この発明の実施の形態にかかる文書検証装置の機能的構成を示すブロック図である。
図3において、文書検証装置は、入力部301と、分割部302と、算出部303と、関連付け部304と、生成部305と、付与部306と、隠蔽指定部307と、削除部308と、設定部309と、置換部310と、判定部311と、検証部312と、出力部313と、削除指定部314と、強制開示指定部315と、から構成されている。
入力部301は、電子文書の入力を受け付ける。入力部301によって入力された電子文書は、RAM203やHD205などのメモリに書き込まれる。電子文書は、コンピュータ上で扱われる文書の総称であり、文書作成アプリケーションなどを用いて作成された電子データである。たとえば、行政機関から発行される電子戸籍台帳や教育機関から発行される電子成績表などの秘匿性を有する個人情報が電子文書として挙げられる。
なお、電子文書は、文書検証装置において作成されてもよく、また、他の装置において作成されてもよい。他の装置において電子文書が作成された場合、たとえば、インターネットなどのネットワーク110を介して文書検証装置に取得されることとなる。
分割部302は、入力部301によって入力された電子文書を任意の構成要素に分割する。具体的には、分割部302は、RAM203やHD205などのメモリに書き込まれた電子文書を読み出して任意の構成要素に分割する。このとき、たとえば、電子文書を、当該電子文書の先頭(たとえば、入力された電子文書の読み込み開始箇所)から1バイトごとに分割してもよく、また、文字、単語、文、ページごとに分割してもよい。
さらに、電子文書における分割する箇所をユーザが任意に指定することにより、電子文書を複数の構成要素に分割するようにしてもよい。また、電子文書がXML(Extensible Markup Language)言語などによって記述された文書であった場合、文書を構成する最小構成要素ごとに分割してもよい。なお、分割部302によって任意の構成要素に分割された電子文書はRAM203やHD205などのメモリに書き込まれる。
算出部303は、分割部302によって分割された構成要素ごとのハッシュ値を算出する。具体的には、算出部303は、RAM203やHD205などのメモリから任意の構成要素に分割された電子文書を読み出して、構成要素ごとハッシュ値を算出する。より具体的には、ハッシュ関数を利用することにより、各構成要素から固定長の擬似乱数であるハッシュ値を算出する。
インターネットなどのネットワーク110を介してデータを送受信する際に、経路の両端でデータのハッシュ値を求めて両者を比較することにより、データが通信途中で改ざんされていないかを判定することができる。ハッシュ関数は不可逆な一方向関数を含むため、ハッシュ値から原文である構成要素を再現することはできず、また同じハッシュ値を持つ異なるデータを作成することは極めて困難である。なお、算出部303によって算出されたハッシュ値はRAM203やHD205などのメモリに書き込まれる。
関連付け部304は、算出部303によって算出された構成要素ごとのハッシュ値と、当該構成要素の電子文書における出現位置に関する順序に従って各構成要素に割り当てられる乱数とを関連付ける。具体的には、関連付け部304は、RAM203やHD205などのメモリから構成要素ごとのハッシュ値と各構成要素に割り当てられる乱数とを読み出して、それらを関連付ける。
乱数は、真性乱数または擬似乱数であり、出現位置に関する順序、すなわち、電子文書における各構成要素の配置によって定義される順序に従って各構成要素に割り当てられる。ここで、真正乱数とは、規則性のない不規則な数列に含まれる各要素である。具体的には、ランダムな物理現象を利用することにより、真正乱数を発生させる。また、擬似乱数とは、確定的な計算によって求められる数列ではあるが規則性のない乱数列のように見える数列に含まれる各要素を示す。
具体的には、擬似乱数は、コンピュータ上で生成される可能な限り予測困難な乱数であり、生成される数値の不偏性を高めたものである。この擬似乱数は、たとえば、擬似乱数生成器(擬似乱数生成法)を用いて生成することができる。擬似乱数生成器とは、多項式時間の計算機が乱数と識別不能な列を出力することができる機器である。
具体的には、たとえば、文書検証装置における電子文書の読み込み順に従って、昇順(乱数の値が順に大きくなる)または降順(乱数の値が順に小さくなる)となるように生成された乱数が各構成要素に割り当てられる。なお、関連付け部304によって関連付けられた各構成要素に割り当てられた乱数と、当該各構成要素のハッシュ値とはRAM203やHD205などのメモリに書き込まれる。
生成部305は、関連付け部304によって関連付けられたハッシュ値と乱数とに基づいて、それぞれ異なる第1の電子署名および第2の電子署名を構成要素ごとに生成する。具体的には、生成部305は、RAM203やHD205などのメモリから関連付けられたハッシュ値と乱数とを読み出して、それぞれ異なる第1の電子署名および第2の電子署名を構成要素ごとに生成する。
ここで、電子署名とは、電子文書の正当性を認証するために当該電子文書に付与される署名情報である。すなわち、電子署名は、物理的な署名(印鑑など)と同様に、電子文書の正しい作成者と当該電子文書の正当性(改ざんがおこなわれていないこと)を証明するためのものである。また、公開鍵暗号の原理などを利用することにより、任意のユーザによって電子署名の正当性を検証可能にすることができる。
この場合、公開鍵の正当性の保証を目的として、信頼できる認証機関103によって公開鍵に署名が付与されることがある。電子署名の生成方式としては、たとえば、素因数分解に基づくRSA署名方式やESIGN署名、離散対数に基づくエルガマル署名やDSA署名、楕円離散対数に基づく楕円エルガマル署名や楕円DSA署名などがある。
具体的には、たとえば、生成部305は、一の生成方式によって第1の電子署名を算出し、さらに、一の生成方式とは異なる他の生成方式によって第2の電子署名を算出することにより、それぞれ異なる二つの電子署名を生成することとしてもよい。すなわち、電子署名を生成する際のアルゴリズムを変化させることにより、一つの生成元からそれぞれ異なる第1の電子署名および第2の電子署名を生成する。
また、第1の電子署名の生成元となるハッシュ値および乱数を用意するとともに、第2の電子署名の生成元となるハッシュ値および乱数を用意することにより、それぞれ異なる二つの電子署名を生成することとしてもよい。
この場合、生成元となるハッシュ値および乱数を生成する電子署名ごとに用意するため、一つの生成方式によってそれぞれ異なる第1の電子署名および第2の電子署名を生成することができる。なお、生成部305によって生成されたそれぞれ異なる第1の電子署名および第2の電子署名はRAM203やHD205などのメモリに書き込まれる。
また、関連付け部304は、各構成要素に割り当てられる電子文書を構成するすべての構成要素に共通する乱数(以下、「共通乱数」という)と、当該共通乱数が割り当てられた構成要素のハッシュ値と、当該構成要素に割り当てられる乱数とを関連付けることとしてもよい。具体的には、関連付け部304は、RAM203やHD205などのメモリから構成要素のハッシュ値と当該構成要素に割り当てられる共通乱数とを読み出して、それらを関連付ける。
共通乱数は、電子文書ごとに予測不可能に割り当てられた乱数であり、当該電子文書を構成する構成要素すべてに共通する値である。この共通乱数は、たとえば、上記擬似乱数生成器などを用いて生成される。なお、関連付け部304によって関連付けられた共通乱数とハッシュ値と乱数とはRAM203やHD205などのメモリに書き込まれる。
この場合、生成部305は、関連付け部304によって関連付けられた共通乱数とハッシュ値と乱数とに基づいて、第1の電子署名および第2の電子署名を構成要素ごとに生成することとなる。具体的には、生成部305は、RAM203やHD205などのメモリから関連付けられた共通乱数とハッシュ値と乱数とを読み出して、第1の電子署名および第2の電子署名を構成要素ごとに生成する
また、生成部305は、構成要素ごとの第1の電子署名または当該構成要素ごとの第2の電子署名を集約した集約電子署名を生成する。具体的には、生成部305は、RAM203やHD205などのメモリから構成要素ごとの第1の電子署名または当該構成要素ごとの第2の電子署名を読み出して、集約電子署名を生成する。集約電子署名は、構成要素ごとに生成された第1の電子署名または第2の電子署名をひとまとめにしたものである。
具体的には、たとえば、集約電子署名は、各構成要素の電子署名(第1の電子署名または第2の電子署名)の積によって構成されていてもよく、また、各構成要素の電子署名(第1の電子署名または第2の電子署名)の和によって構成されていてもよい。なお、生成部305によって生成された集約電子署名はRAM203やHD205などのメモリに書き込まれる。
付与部306は、生成部305によって生成された第1の電子署名および第2の電子署名を対応する構成要素に対して付与する。具体的には、付与部306は、RAM203やHD205などのメモリから第1の電子署名および第2の電子署名および各構成要素を読み出して、それぞれ対応する構成要素に付与する。なお、付与部306によって各構成要素に第1の電子署名および第2の電子署名が付与された電子文書はRAM203やHD205などのメモリに書き込まれる。
また、付与部306は、生成部305によって生成された集約電子署名を電子文書に対して付与する。なお、付与部306によって集約電子署名が付与された電子文書はRAM203やHD205などのメモリに書き込まれる。
なお、関連付け部304は、各構成要素に割り当てられる共通乱数と、当該共通乱数が割り当てられた構成要素のハッシュ値とを関連付けることとしてもよい。この場合、生成部305は、関連付け部304によって関連付けられた共通乱数とハッシュ値とに基づいて、第1の電子署名および第2の電子署名を構成要素ごとに生成することとなる。
隠蔽指定部307は、電子文書を構成する構成要素の中から隠蔽対象となる構成要素の指定を受け付ける。具体的には、隠蔽指定部307は、RAM203やHD205などのメモリから読み出された電子文書を構成する構成要素の中から隠蔽対象となる構成要素の指定を受け付ける。
より具体的には、たとえば、ユーザは、キーボード210やマウス211を操作することにより、隠蔽対象となる構成要素を指定することができる。隠蔽指定部307によって指定された構成要素は、たとえば、墨塗り処理などが施されることにより、ユーザが認識不能に隠蔽されることとなる。なお、隠蔽指定部307によって隠蔽対象となる構成要素が指定された電子文書はRAM203やHD205などのメモリに書き込まれる。
削除部308は、隠蔽指定部307によって指定された構成要素に付与されている第2の電子署名を削除する。具体的には、削除部308は、RAM203やHD205などのメモリから隠蔽指定部307によって指定された構成要素に付与されている第2の電子署名を読み出して削除する。これにより、隠蔽指定部307によって指定された構成要素に付与されている電子署名は第1の電子署名のみとなる。
設定部309は、電子文書を、削除部308によって第2の電子署名が削除された構成要素のハッシュ値を関連付けることにより、当該構成要素を隠蔽対象とする電子文書に設定する。具体的には、設定部309は、RAM203やHD205などのメモリから削除部308によって第2の電子署名が削除された構成要素を隠蔽対象とする電子文書を読み出して設定する。すなわち、設定部309は、削除部308により隠蔽指定部307によって指定された構成要素に付与されている第2の電子署名が削除された場合にのみ、当該構成要素を隠蔽対象として設定することとなる。
このとき、関連付け部304により、隠蔽対象として指定された構成要素のハッシュ値と設定部309によって設定された電子文書とを関連付けることにより、隠蔽対象として指定された構成要素のハッシュ値が電子文書に保持されることとなる。すなわち、隠蔽対象として指定された構成要素に対して墨塗り処理などが施されることにより、当該構成要素をユーザが認識不能となるが、文書検証装置によって隠蔽対象の構成要素のハッシュ値は保持されることとなる。
また、入力部301は、設定部309によって設定された電子文書の入力を受け付ける。入力部301によって入力された設定部309により設定された電子文書はRAM203やHD205などのメモリに書き込まれる。ここで入力される電子文書は、真正を検証するための検証対象文書であり、たとえば、図1に示す公開請求側のユーザによって文書検証装置102に入力される電子文書である。
置換部310は、入力部301によって入力された電子文書を構成する構成要素のハッシュ値を算出することにより、構成要素を当該構成要素のハッシュ値に置き換える。具体的には、置換部310は、RAM203やHD205などのメモリから電子文書を読み出して、構成要素を当該構成要素のハッシュ値に置き換える。すなわち、入力部301によって入力された電子文書を構成する構成要素を、当該構成要素のハッシュ値に置き換えることにより、第1の電子署名および第2の電子署名の生成元となるデータを復元する。
このとき、文書検証装置において隠蔽対象の構成要素のハッシュ値が保持されているため、電子文書を構成する構成要素のうち隠蔽対象の構成要素を除く他の構成要素のハッシュ値を算出することにより、すべての構成要素を当該構成要素のハッシュ値に置き換える。なお、置換部310によって置き換えられた電子文書はRAM203やHD205などのメモリに書き込まれる。
判定部311は、電子文書に付与されている集約電子署名に基づいて、置換部310によって置き換えられたハッシュ値と、当該ハッシュ値に割り当てられている乱数との正当性を判定する。具体的には、判定部311は、RAM203やHD205などのメモリから電子文書に付与されている集約電子署名および置換部310によって置き換えられた電子文書を読み出して、正当性を判定する。
より具体的には、電子文書に付与されている集約電子署名を復号し、置換部310によって置き換えられたハッシュ値と、当該ハッシュ値に割り当てられている乱数とが一致するか否かを判定する。
また、判定部311は、さらに、電子文書に付与されている集約電子署名に基づいて、置換部310によって置き換えられたハッシュ値に割り当てられている共通乱数の正当性を判定することとしてもよい。具体的には、電子文書に付与されている集約電子署名を復号し、置換部310によって置き換えられたハッシュ値と、当該ハッシュ値に割り当てられている乱数および共通乱数とが一致するか否かを判定する。
また、判定部311は、入力部301によって入力された電子文書を構成する各構成要素に割り当てられた乱数が、電子文書における各構成要素の出現位置に関する順序に従っているか否かを判定することとしてもよい。具体的には、電子文書を構成する各構成要素に割り当てられた乱数が、当該電子文書における各構成要素の出現位置に関する順序に従って昇順または降順となっているか否かを判定する。
また、判定部311は、各構成要素に割り当てられた共通乱数が、入力部301によって入力された電子文書を構成するすべての構成要素において共通であるか否かを判定することとしてもよい。具体的には、電子文書を構成する各構成要素に割り当てられた共通乱数が同一であるか否かを判定する。
また、判定部311は、入力部301によって入力された電子文書を構成する各構成要素に付与されている第1の電子署名または第2の電子署名に基づいて、各構成要素の正当性を判定するようにしてもよい。具体的には、各構成要素に付与されている第1の電子署名または第2の電子署名を復号し、各構成要素と一致するか否かを判定する。なお、判定部311による判定結果はRAM203やHD205などのメモリに書き込まれる。
検証部312は、判定部311の判定結果に基づいて電子文書の真正を検証する。具体的には、検証部312は、RAM203やHD205などのメモリから判定部311による判定結果を読み出して電子文書の真正を検証する。より具体的には、たとえば、電子文書に付与されている集約電子署名の復号結果に対して、置換部310によって置き換えられたハッシュ値と、当該ハッシュ値に割り当てられている乱数とが一致する場合に、電子文書が真性であると検証する。
また、各構成要素に割り当てられた乱数が、電子文書における当該各構成要素の出現位置に関する順序に従っていると判定された場合に電子文書が真正であると検証する。さらに、各構成要素に割り当てられた共通乱数がすべての構成要素において共通であった場合に電子文書が真正であると検証するようにしてもよく、また、各構成要素が正当であると判定された場合に電子文書が真正であると検証するようにしてもよい。なお、検証部312の検証結果はRAM203やHD205などのメモリに書き込まれる。
出力部313は、検証部312の検証結果を出力する。具体的には、出力部313は、RAM203やHD205などのメモリから検証部312による検証結果を読み出して出力する。より具体的には、検証部312によって電子文書が真正であると検証された場合、検証成功を示す検証結果を出力する。また、検証部312によって電子文書が真正ではないと検証された場合、検証失敗を示す検証結果を出力する。
削除指定部314は、電子文書を構成する構成要素の中から削除対象となる構成要素の指定を受け付ける。具体的には、削除指定部314はRAM203やHD205などのメモリから電子文書を読み出して削除対象となる構成要素の指定を受け付ける。削除指定部314によって指定された構成要素は、電子文書の中から削除されることとなる。
削除部308は、削除指定部314によって指定された構成要素に付与されている第1の電子署名および第2の電子署名を削除する。また、削除部308は、電子文書に付与されている集約電子署名の中から、削除対象となる構成要素に付与されている第1の電子署名または第2の電子署名を削除する。
具体的には、削除部308は、RAM203やHD205などのメモリから削除指定部314によって指定された構成要素に付与されている第1の電子署名および第2の電子署名を読み出して削除する。また、削除部308は、RAM203やHD205などのメモリから電子文書に付与されている集約電子署名を読み出して、当該集約電子署名の中から、削除対象となる構成要素に付与されている第1の電子署名または第2の電子署名を削除する。
より具体的には、たとえば、電子文書に付与されている集約電子署名が各構成要素の第1の電子署名を集約したものである場合は、削除対象となる構成要素に付与されている第1の電子署名を集約電子署名から削除する。
設定部309は、電子文書を、削除部308によって第1の電子署名および第2の電子署名が削除された構成要素を削除対象とする電子文書に設定する。具体的には、設定部309は、RAM203やHD205などのメモリから削除部308によって第1の電子署名および第2の電子署名が削除された構成要素を削除対象とする電子文書を読み出して設定する。これにより、電子文書の中から削除指定部314によって指定された構成要素が削除されることとなる。
強制開示指定部315は、電子文書を構成する構成要素の中から強制開示対象となる構成要素の指定を受け付ける。具体的には、強制開示指定部315はRAM203やHD205などのメモリから電子文書を読み出して強制開示対象となる構成要素の指定を受け付ける。強制開示指定部315によって指定された構成要素は、隠蔽対象や削除対象として指定することができず、強制的に開示される構成要素となる。
削除部308は、強制開示指定部315によって指定された構成要素に付与されている第1の電子署名および第2の電子署名を削除する。具体的には、削除部308はRAM203やHD205などのメモリから強制開示指定部315によって指定された構成要素に付与されている第1の電子署名および第2の電子署名を読み出して削除する。これにより、強制開示指定部315によって指定された構成要素には電子署名が付与されていないこととなる。
設定部309は、電子文書を、削除部308によって第1の電子署名および第2の電子署名が削除された構成要素を強制開示対象とする電子文書に設定する。具体的には、設定部309は、RAM203やHD205などのメモリから削除部308によって第1の電子署名および第2の電子署名が削除された構成要素を強制開示対象とする電子文書を読み出して設定する。
これにより、電子文書における強制開示指定部315によって指定された構成要素が強制開示されることとなる。なお、設定部309によって設定された電子文書はRAM203やHD205などのメモリに書き込まれる。
なお、入力部301、分割部302、算出部303、関連付け部304、生成部305、付与部306、隠蔽指定部307、削除部308、設定部309、置換部310、判定部311、検証部312、出力部313、削除指定部314、強制開示指定部315は、具体的には、たとえば、図2に示したROM202、RAM203、HD205などの記録媒体に記録されているプログラムをCPU201に実行させることによって、またはI/F209によって、その機能を実現する。
(電子署名生成処理の概要)
つぎに、図1に示した電子文書公開システム100において公開される電子文書に施される電子署名生成処理の概要について説明する。電子署名生成処理は、たとえば、情報の公開側である文書検証装置101において実行される処理である。まず、電子文書を構成する構成要素に一つの電子署名が付与される場合について説明する。
図4は、この発明の実施の形態にかかる文書検証装置において実行される電子署名生成処理の概要を示す説明図である。図4において、まず、電子文書Mを部分文書『m1,m2,…,m5』に分割する。電子文書Mを分割する部分文書の単位は任意であり、たとえば、文字、単語、文、ページごとに電子文書Mを分割するようにしてもよい。なお、部分文書は、上述した分割部302によって分割される構成要素に相当する。
つぎに、真正乱数または擬似乱数(以下、「乱数」という)を利用して、予測不可能な文書IDおよび部分文書IDを各部分文書に追加する。具体的には、たとえば、文書IDおよび部分文書IDを各部分文書に追加して記述してもよく、また、文書IDおよび部分文書IDと各部分文書とを関連付けて電子文書DBに記録することとしてもよい。
文書IDは、電子文書Mを構成する部分文書『m1,m2,…,m5』において共通する値である。ここでは、各部分文書に共通して追加される文書IDを「D」と表記する。なお、文書IDは、上述した関連付け部304によって電子文書を構成する構成要素のハッシュ値と関連付けられた共通乱数に相当する。
部分文書IDは、部分文書ごとにそれぞれ異なる値であり、電子文書Mを構成する部分文書『m1,m2,…,m5』の出現位置に関する順序に従って昇順となるように追加される。ここでは、各部分文書『m1,m2,…,m5』に追加される部分文書IDをそれぞれ「SD1,SD2,…,SD5」と表記する。なお、部分文書IDは、上述した関連付け部304によって電子文書を構成する構成要素のハッシュ値と関連付けられた乱数に相当する。
文書IDおよび部分文書IDは、たとえば、擬似乱数生成器によって生成される。擬似乱数生成器によって生成された擬似乱数が文書IDおよび部分文書IDとして各部分文書に追加されることとなる。以下、各部分文書に文書IDおよび部分文書IDが追加された電子文書Mを「オリジナル文書」という。
ここで、部分文書ごとにそれぞれ異なる部分文書IDを追加する追加方式の一例を説明する。まず、擬似乱数生成器によって少なくとも分割された部分文書の個数分の擬似乱数を生成する(ここでは、少なくとも5個分の擬似乱数を生成する)。つぎに、生成された擬似乱数を部分文書IDとして各部分文書にランダムに追加する。
追加された結果、電子文書を構成する部分文書の出現位置に関する順序に従って昇順となっているか否かを判断し、各部分文書に追加された擬似乱数が昇順となるまで、擬似乱数の生成および各部分文書への追加を繰り返す。
また、分割された部分文書の個数分の擬似乱数を生成し、生成した擬似乱数を昇順となるように予め並び替えて(ソート)から、各部分文書へ追加するようにしてもよい。具体的には、まず、擬似乱数生成器によって部分文書の個数分の擬似乱数(たとえば、「33,7,24,55,51」)を生成し、昇順(ここでは、「7→24→33→51→55」)となるように並び替える。
そして、電子文書Mにおける最も左側の部分文書m1から順に、昇順「7→24→33→51→55」となるように部分文書IDを追加する。この結果、電子文書Mを構成する部分文書『m1,m2,…,m5』に部分文書ID「7,24,33,51,55」がそれぞれ追加されたこととなる。
なお、文書IDについては、擬似乱数生成器によって電子文書M固有の擬似乱数を生成し、その擬似乱数を各部分文書に追加する。具体的には、たとえば、擬似乱数生成器によって生成された擬似乱数が「7」であった場合、生成された擬似乱数「7」を文書IDとして各部分文書に追加する。
ここで、図4の説明に戻り、つぎに、文書IDおよび部分文書IDが追加された部分文書ごとのハッシュ値を算出する。ここでは、文書IDおよび部分文書IDが追加された部分文書を「D‖SDi‖mi」(i=1,2,…,5)と表記し、各部分文書のハッシュ値をそれぞれ「h1,h2,…,h5」と表記する。
ハッシュ値の算出元は、文書IDおよび部分文書IDが追加された部分文書であってもよく、また、文書IDおよび部分文書IDが追加されていない部分文書であってもよい。なお、ハッシュ値は、上述した算出部303によって電子文書を構成する構成要素ごとに算出されるハッシュ値に相当する。
つぎに、算出された各ハッシュ値に当該各ハッシュ値の部分文書に追加されている文書IDおよび部分文書IDを追加する。そして、文書IDおよび部分文書IDが追加されたハッシュ値から構成される電子文書(以下、「署名対象文書」という)を生成する。
そして、署名対象文書を構成するハッシュ値ごと、すなわち、文書IDおよび部分文書IDが追加されたハッシュ値ごとの電子署名「σ1,σ2,…,σ5」を算出する。ハッシュ値ごとの電子署名は、それぞれ対応する部分文書に付与される。
具体的には、たとえば、文書IDおよび部分文書IDが追加されたハッシュ値「D‖SD1‖h1」から算出された電子署名「σ1」は部分文書「m1」に付与されることとなる。なお、電子署名は、上述した生成部305によって電子文書を構成する構成要素ごとに生成された電子署名に相当する。
最後に、各部分文書の電子署名「σ1,σ2,…,σ5」を集約した集約電子署名σを算出し、電子文書Mに付与する。なお、集約電子署名σは、上述した生成部305によって電子文書ごとに算出される集約電子署名に相当する。
(文書検証装置の電子署名生成処理の手順)
つぎに、この発明の実施の形態にかかる文書検証装置において実行される電子署名生成処理の手順について説明する。図5は、この発明の実施の形態にかかる文書検証装置において実行される電子署名生成処理手順を示すフローチャートである。
図5のフローチャートにおいて、文書検証装置は、まず、入力部301により、電子文書の入力を受け付けたか否かを判断する(ステップS501)。ここで、電子文書が入力されるのを待って、入力を受け付けた場合(ステップS501:Yes)、分割部302により、入力された電子文書を部分文書に分割する(ステップS502)。
つぎに、分割された各部分文書に文書IDおよび部分文書IDを追加する(ステップS503)。これにより、オリジナル文書が生成されたこととなる。そして、算出部303により、分割された部分文書ごとのハッシュ値を算出し(ステップS504)、関連付け部304により、部分文書ごとのハッシュ値と当該部分文書に追加されている文書IDおよび部分文書IDを関連付けることによって電子文書を構成する各構成要素がそれぞれ対応するハッシュ値に置き換えられた署名対象文書を生成する(ステップS505)。
つぎに、生成部305により、文書IDおよび部分文書IDが追加されたハッシュ値ごとの電子署名を算出し(ステップS506)、付与部306により、算出された電子署名をそれぞれ対応する部分文書に付与する(ステップS507)。
そして、生成部305により、部分文書ごとの電子署名を集約した集約電子署名を算出し(ステップS508)、付与部306により、電子文書に付与して(ステップS509)、本フローチャートによる一連の処理を終了する。集約電子署名が付与され、かつ、各部分文書に電子署名が付与されたオリジナル文書は、HD205などの記録媒体に構築された電子文書DBに記録されることとなる。
なお、本フローチャートにおけるステップS505〜ステップS509において実行される処理の手順は、ここで説明した順序に限らない。たとえば、各部分文書の電子署名およびオリジナル文書の集約電子署名を算出する処理の後に、各部分文書に電子署名を付与する処理およびオリジナル文書に集約電子署名を付与する処理を実行することとしてもよい。
これにより、電子文書を構成する部分文書の順序交換や転写などの改変がおこなわれた場合であっても、改変後における電子文書の真正性の検証を可能な状態に加工して保持することができる。
また、電子文書における出現位置に関する順序に従って各部分文書に割り当てられる部分文書IDに基づいて、当該各部分文書に付与される電子署名が算出される。このため、電子文書を、たとえば、「隠蔽」、「削除」、「強制開示」などの属性が設定された部分文書の順序交換をおこなうことができない状態にすることができる。
(実施の形態1)
つぎに、上述した文書検証装置の実施の形態1について説明する。実施の形態1では、上述した電子署名生成処理が施された電子文書を構成する部分文書の中から隠蔽対象とする部分文書を任意に指定することができる。ここでは、指定された部分文書に対して墨塗り処理が施されることにより、当該部分文書が隠蔽されることとなる。
図6は、この発明の実施の形態1にかかる文書検証装置において実行される隠蔽処理の概要を示す説明図である。図6において、電子文書を構成する部分文書の中から隠蔽対象とする部分文書を指定する。ここでの電子文書は、各部分文書に文書IDおよび部分文書IDが追加されたオリジナル文書である。なお、隠蔽対象となる部分文書は、隠蔽指定部307によって指定される隠蔽対象となる構成要素に相当する。
具体的には、たとえば、ユーザは、キーボード210やマウス211を操作することにより、ディスプレイ208に表示されたオリジナル文書の中から隠蔽対象とする部分文書を任意に指定することができる。ここでは、オリジナル文書を構成する部分文書『m1,m2,…,m5』の中から隠蔽対象となる部分文書として「m2」が指定されている。
つぎに、隠蔽対象として指定された部分文書に付与されている電子署名を削除する。ここでは、「m2」に付与されている電子署名σ2が削除される。ここで、指定された部分文書に付与されている電子署名が削除された場合、部分文書を当該部分文書のハッシュ値に置き換える。
ここでは、「m2」に付与されている電子署名σ2が削除されることとなり、「m2」が「h2」に置き換えられる。最後に、隠蔽対象として指定された部分文書に墨塗り処理を施すことにより、当該部分文書が隠蔽される。ここでは、文書IDおよび部分文書IDが追加された「D‖SD2‖m2」が墨塗りされている。以下、隠蔽対象として指定された部分文書に墨塗り処理が施されたオリジナル文書を「保持文書」という。
なお、隠蔽対象とする部分文書を複数指定した場合も同様の処理がおこなわれることとなる。また、隠蔽対象として指定された部分文書に付与されている電子署名が削除されなかった場合には、墨塗り処理は実行されない。このため、隠蔽対象とする部分文書を指定したとしても、付与されている電子署名が削除されなかった場合は、当該部分文書を隠蔽することはできない。
(文書検証装置の隠蔽処理の手順)
図7は、この発明の実施の形態1にかかる文書検証装置において実行される隠蔽処理の手順を示すフローチャートである。図7において、まず、文書検証装置は、オリジナル文書の入力を受け付けたか否かを判断する(ステップS701)。
ここで、オリジナル文書が入力されるのを待って、入力された場合(ステップS701:Yes)、隠蔽指定部307により、隠蔽対象となる部分文書の指定を受け付けたか否かを判断する(ステップS702)。そして、隠蔽対象となる部分文書が指定されるのを待って、指定された場合(ステップS702:Yes)、削除部308により、指定された部分文書に付与されている電子署名を削除する(ステップS703)。
つぎに、設定部309により、指定された部分文書を隠蔽対象として設定することによって、当該部分文書が墨塗りされた保持文書を生成する(ステップS704)。最後に、生成された保持文書を出力して(ステップS705)、本フローチャートによる一連の処理を終了する。
これにより、オリジナル文書に対して「隠蔽(墨塗り)」の属性を設定することができる。このとき、墨塗りされた部分文書の改変がおこなわれた場合であっても、保持文書の真正性の検証を可能な状態に加工して保持することができる。
また、隠蔽対象として指定された部分文書を他の属性および元の部分文書に変更不能な状態に加工して保持することができる。このため、一度墨塗りされた部分文書は、以降において削除および強制開示する部分文書として指定することができない。
(文書検証装置の電子文書検証処理の手順)
つぎに、この発明の実施の形態1にかかる文書検証装置において実行される電子文書検証処理の手順について説明する。図8は、この発明の実施の形態1にかかる文書検証装置において実行される電子文書検証処理の手順を示すフローチャートである。
図8において、まず、文書検証装置の入力部301により、保持文書の入力を受け付けたか否かを判断する(ステップS801)。ここで、保持文書が入力されるのを待って、入力された場合(ステップS801:Yes)、判定部311により、保持文書を構成する各部分文書に追加されている文書IDがすべて同じ値であるか否かを判断する(ステップS802)。
そして、各部分文書に追加された文書IDがすべて同じ値であった場合(ステップS802:Yes)、判定部311により、各部分文書に追加された部分文書IDが昇順となっているか否かを判断する(ステップS803)。ここで、各部分文書に追加された部分文書IDが昇順となっている場合(ステップS803:Yes)、算出部303により、保持文書を構成する各部分文書のハッシュ値を算出することによって署名対象文書を復元する(ステップS804)。
このとき、保持文書における隠蔽対象として指定された部分文書は当該部分文書のハッシュ値に置き換えられているため、ハッシュ値を算出する必要はない。なお、隠蔽対象として指定された部分文書か否かの判断は、各部分文書に付与されている電子署名が削除されているか否かによって判断することができる。
つぎに、判定部311により、保持文書に付与されている集約電子署名に基づいて、集約電子署名の復号結果と署名対象文書とが一致するか否かを判断する(ステップS805)。ここで、一致する場合(ステップS805:Yes)、出力部313により、検証成功を示す検証結果を出力して(ステップS806)、本フローチャートによる一連の処理を終了する。
一方、ステップS805において一致しなかった場合(ステップS805:No)、出力部313により、検証失敗を示す検証結果を出力して(ステップS807)、本フローチャートによる一連の処理を終了する。また、ステップS802において、各部分文書に追加された文書IDがすべて同じ値ではなかった場合(ステップS802:No)、検証失敗を示す検証結果を出力して(ステップS807)、本フローチャートによる一連の処理を終了する。
さらに、ステップS803において、各部分文書に追加された部分文書IDが昇順となっていない場合(ステップS803:No)、検証失敗を示す検証結果を出力して(ステップS807)、本フローチャートによる一連の処理を終了する。
(電子署名の意義)
ここで、文書IDおよび部分文書IDが追加されたハッシュ値ごとに生成される電子署名の意義について説明する。図9は、墨塗り署名技術の問題点の一例を示す説明図である。
図9において、まず、オリジナル文書を構成する部分文書のハッシュ値を算出することにより、署名対象文書が生成されている。つぎに、各部分文書ごとのハッシュ値から当該各部分文書に付与される電子署名が算出されている。
この場合、電子署名の算出元となるハッシュ値には文書IDおよび部分文書IDは追加されていない。さらに、部分文書が隠蔽対象として指定された場合には、当該部分文書の文書IDおよび部分文書ID、すなわち、部分文書の順序情報は失われてしまう。
このため、部分文書に付与される電子署名によって正当性の判定をおこなう場合に、部分文書の内容についての正当性は判定することができるが、順序情報が失われているため順序交換や転写などの不正な改変についての正当性は判定することができない。
具体的には、たとえば、部分文書「m2」が隠蔽対象として指定された場合、部分文書「m2」の順序情報は失われてしまう。このため、隠蔽(墨塗り)された部分文書「m2」の順序交換(図9中矢印900で示す)がおこなわれたとしても、保持文書の正当性の判定をおこなうことができない。すなわち、不正な順序交換が可能となってしまい、電子文書の真正性を保証することができなかった。
そこで、この発明の実施の形態1では、電子署名の算出元となるハッシュ値に文書IDおよび部分文書IDを追加することにより、隠蔽対象として指定された部分文書の順序情報を保持することができ、当該部分文書の改変がおこなわれた場合であっても、適切に電子文書の真正性を検証することができる。
これにより、オリジナル文書を構成する部分文書の順序交換や転写などの改変がおこなわれた保持文書の真正性を検証することができ、不正な改変を防ぐことができる。このとき、隠蔽(墨塗り)した部分文書の改変がおこなわれた場合であっても、隠蔽した部分文書の順序情報が集約電子署名によって保持されているため、隠蔽した部分文書の真正性を検証することができる。
この発明の実施の形態1にかかる文書検証装置によれば、電子文書に対して「隠蔽」の属性を設定することができるとともに、電子文書を構成する部分文書の順序交換や転写などの改変がおこなわれた場合であっても、改変後の電子文書の真正性を検証することができる。
(実施の形態2)
つぎに、上述した文書検証装置の実施の形態2について説明する。実施の形態2では、オリジナル文書を構成する部分文書の中から隠蔽対象および強制開示対象とする部分文書を任意に指定することができる。なお、実施の形態2にかかる文書検証装置の隠蔽処理の手順は、上述した実施の形態1にかかる文書検証装置の隠蔽処理の手順と同様のため説明を省略する。
(強制開示処理の概要)
図10は、この発明の実施の形態2にかかる文書検証装置において実行される強制開示処理の概要を示す説明図である。図10において、オリジナル文書を構成する部分文書の中から強制開示対象とする部分文書を指定する。なお、強制開示対象となる部分文書は、強制開示指定部315によって指定される強制開示対象となる構成要素に相当する。
ここでは、オリジナル文書を構成する部分文書『m1,m2,…,m5』の中から強制開示対象となる部分文書として「m4」が指定されている。なお、オリジナル文書を構成する部分文書『m1,m2,…,m5』の中から隠蔽対象となる部分文書として「m2」が指定されており、当該部分文書に付与されていた電子署名σ2が削除されている。
つぎに、指定された部分文書に付与されている電子署名を削除するとともに、オリジナル文書に付与されている集約電子署名の中から指定された部分文書に付与されている電子署名を削除する。このとき、指定された部分文書に付与されている電子署名を集約した強制開示集約電子署名を算出し、保持文書に付与する。
具体的には、上述した生成部305によって強制開示する部分文書として指定された部分文書に付与されている電子署名を集約した強制開示集約電子署名を生成する。ここでは、「m4」に付与されている電子署名σ4が削除されるとともに、集約電子署名σの中から電子署名σ4が削除されている。
そして、強制開示する「m4」に付与されている電子署名σ4からなる強制開示集約電子署名σ’を生成する。生成された強制開示集約電子署名は保持文書に付与される。
(文書検証装置の強制開示処理の手順)
図11は、この発明の実施の形態2にかかる文書検証装置において実行される強制開示処理の手順を示すフローチャートである。図11において、まず、文書検証装置の入力部301により、オリジナル文書の入力を受け付けたか否かを判断する(ステップS1101)。
ここで、オリジナル文書が入力されるのを待って、入力された場合(ステップS1101:Yes)、強制開示指定部315により、強制開示対象となる部分文書の指定を受け付けたか否かを判断する(ステップS1102)。
そして、強制開示対象となる部分文書が指定されるのを待って、指定された場合(ステップS1102:Yes)、削除部308により、指定された部分文書に付与されている電子署名を削除する(ステップS1103)。
つぎに、生成部305により、指定された部分文書に付与されている電子署名からなる強制開示集約電子署名を算出し(ステップS1104)、付与部306により、ステップS1101において入力されたオリジナル文書に強制開示集約電子署名を付与する(ステップS1105)。
つぎに、削除部308により、オリジナル文書に付与されている集約電子署名の中から指定された部分文書に付与されている電子署名を削除する(ステップS1106)。そして、設定部309により、指定された部分文書を強制開示対象として設定することによって、当該部分文書が強制開示される保持文書を生成する(ステップS1107)。
最後に、生成された保持文書を出力して(ステップS1108)、本フローチャートによる一連の処理を終了する。
これにより、オリジナル文書に対して「隠蔽」および「強制開示」の属性を設定することができる。このとき、属性が設定された部分文書の改変がおこなわれた場合であっても、保持文書の真正性の検証を可能な状態に加工して保持することができる。
また、強制開示対象として指定された部分文書を他の属性および元の部分文書に変更不能な状態に加工して保持することができる。このため、一度強制開示された部分文書は、以降において墨塗りおよび削除する部分文書として指定することができない。
(文書検証装置の電子文書検証処理の手順)
つぎに、文書検証装置において実行される電子文書検証処理の手順について説明する。図12は、この発明の実施の形態2にかかる文書検証装置において実行される電子文書検証処理の手順を示すフローチャートである。
図12において、まず、文書検証装置の入力部301により、保持文書の入力を受け付けたか否かを判断する(ステップS1201)。ここで、保持文書が入力されるのを待って、入力された場合(ステップS1201:Yes)、判定部311により、保持文書を構成する各部分文書に追加されている文書IDがすべて同じ値であるか否かを判断する(ステップS1202)。
そして、各部分文書に追加された文書IDがすべて同じ値であった場合(ステップS1202:Yes)、判定部311により、各部分文書に追加された部分文書IDが昇順となっているか否かを判断する(ステップS1203)。
ここで、各部分文書に追加された部分文書IDが昇順となっている場合(ステップS1203:Yes)、算出部303により、保持文書を構成する各部分文書のハッシュ値を算出することにより、署名対象文書を復元する(ステップS1204)。
つぎに、判定部311により、保持文書に付与されている集約電子署名および強制開示集約電子署名に基づいて、集約電子署名および強制開示集約電子署名の復号結果と署名対象文書とが一致するか否かを判断する(ステップS1205)。
具体的には、強制開示する部分文書を除く他の部分文書については、集約電子署名の復号結果と一致するか否かを判断し、強制開示する部分文書については、強制開示集約電子署名の復号結果と一致するか否かを判断する。ここで、一致する場合(ステップS1205:Yes)、出力部313により、検証成功を示す検証結果を出力して(ステップS1206)、本フローチャートによる一連の処理を終了する。
一方、ステップS1205において一致しなかった場合(ステップS1205:No)、出力部313により、検証失敗を示す検証結果を出力して(ステップS1207)、本フローチャートによる一連の処理を終了する。また、ステップS1202において、各部分文書に追加された文書IDがすべて同じ値ではなかった場合(ステップS1202:No)、検証失敗を示す検証結果を出力して(ステップS1207)、本フローチャートによる一連の処理を終了する。
さらに、ステップS1203において、各部分文書に追加された部分文書IDが昇順となっていない場合(ステップS1203:No)、検証失敗を示す検証結果を出力して(ステップS1207)、本フローチャートによる一連の処理を終了する。
これにより、オリジナル文書を構成する部分文書の順序交換や転写などの改変がおこなわれた保持文書の真正性を検証することができ、不正な改変を防ぐことができる。このとき、属性が設定された部分文書の改変がおこなわれた場合であっても、属性が設定された部分文書の順序情報が集約電子署名によって保持されているため、属性が設定された部分文書の真正性を検証することができる。
この発明の実施の形態2にかかる文書検証装置によれば、電子文書に対して「隠蔽」および「強制開示」の属性を設定することができるとともに、電子文書を構成する部分文書の順序交換や転写などの改変がおこなわれた場合であっても、改変後の電子文書の真正性を検証することができる。
(実施の形態3)
つぎに、上述した文書検証装置の実施の形態3について説明する。実施の形態3では、オリジナル文書を構成する部分文書の中から隠蔽対象および削除対象とする部分文書を任意に指定することができる。
なお、実施の形態3にかかる文書検証装置の隠蔽処理の手順は、上述した実施の形態1にかかる文書検証装置の隠蔽処理の手順(図7参照)のうち、隠蔽する部分文書の電子署名を削除するステップS703を省略した手順となる。ここでは、文書検証装置において実行される隠蔽処理の手順については省略する。
(削除処理の概要)
図13は、この発明の実施の形態3にかかる文書検証装置において実行される削除処理の概要を示す説明図である。図13において、まず、オリジナル文書を構成する部分文書の中から削除対象とする部分文書を指定する。ここでは、オリジナル文書を構成する部分文書『m1,m2,…,m5』の中から削除対象となる部分文書として「m3」が指定されている。
また、オリジナル文書を構成する部分文書『m1,m2,…,m5』の中から隠蔽対象となる部分文書として「m2」が指定されており、当該部分文書に付与されていた電子署名σ2が削除されている。
つぎに、指定された部分文書を削除するとともに当該部分文書に付与されている電子署名を削除する。さらに、オリジナル文書に付与されている集約電子署名の中から指定された部分文書に付与されている電子署名を削除する。ここでは、「m3」が削除されるとともに「m3」に付与されている電子署名σ3が削除される。さらに、集約電子署名σの中から「m3」に付与されている電子署名σ3が削除されることとなる。
(文書検証装置の削除処理の手順)
図14は、この発明の実施の形態3にかかる文書検証装置において実行される削除処理の手順を示すフローチャートである。図14において、まず、文書検証装置の入力部301により、オリジナル文書の入力を受け付けたか否かを判断する(ステップS1401)。
ここで、オリジナル文書が入力されるのを待って、入力された場合(ステップS1401:Yes)、削除指定部314により、削除対象となる部分文書の指定を受け付けたか否かを判断する(ステップS1402)。そして、削除する部分文書が指定されるのを待って、指定された場合(ステップS1402:Yes)、削除部308により、指定された部分文書を削除し(ステップS1403)、指定された部分文書に付与されている電子署名を削除する(ステップS1404)。
つぎに、削除部308により、オリジナル文書に付与されている集約電子署名の中から指定された部分文書に付与されている電子署名を削除する(ステップS1405)。そして、設定部309により、指定された部分文書を削除対象として設定することによって、当該部分文書が削除された保持文書を生成する(ステップS1406)。最後に、生成された保持文書を出力して(ステップS1407)、本フローチャートによる一連の処理を終了する。
なお、ステップS1404〜ステップS1405における処理の順序は、ここで説明した順序に限らない。たとえば、オリジナル文書に付与されている集約電子署名の中から指定された部分文書に付与されている電子署名を削除する処理の後に、部分文書および当該部分文書に付与されている電子署名を削除する処理をおこなうようにしてもよい。
これにより、オリジナル文書に対して隠蔽および削除の属性を設定することができる。このとき、属性が設定された部分文書の改変がおこなわれた場合であっても、保持文書の真正性の検証を可能な状態に加工して保持することができる。
また、削除対象として指定された部分文書を他の属性および元の部分文書に変更不能な状態に加工して保持することができる。このため、一度削除された部分文書は、以降において墨塗りおよび削除する部分文書として指定することができない。
なお、実施の形態3における文書検証装置において実行される電子文書検証処理の手順は、実施の形態1における文書検証装置において実行される電子文書検証処理の手順とほぼ同様のため説明を省略する。
これにより、オリジナル文書を構成する部分文書の順序交換や転写などの改変がおこなわれた保持文書の真正性を検証することができ、不正な改変を防ぐことができる。このとき、属性が設定された部分文書の改変がおこなわれた場合であっても、属性が設定された部分文書の順序情報が集約電子署名によって保持されているため、属性が設定された部分文書に関する真正性を検証することができる。
この発明の実施の形態3にかかる文書検証装置によれば、電子文書に対して「隠蔽」および「削除」の属性を設定することができるとともに、電子文書を構成する部分文書の順序交換や転写などの改変がおこなわれた場合であっても、改変後の電子文書の真正性を検証することができる。
(実施の形態4)
つぎに、上述した文書検証装置の実施の形態4について説明する。実施の形態4では、オリジナル文書を構成する部分文書の中から隠蔽対象、削除対象および強制開示対象となる部分文書を任意に指定することができる。すなわち、ここで説明する電子文書は、墨塗り、削除および強制開示の属性を任意に指定可能な電子文書である。
実施の形態4では、電子文書を構成する部分文書ごとに第1の電子署名および第2の電子署名を付与することにより、上記三つの属性を指定可能とする。第1の電子署名および第2の電子署名は、それぞれ異なる電子署名であればよく、算出方式は任意である。
たとえば、アルゴリズムが異なる二つの算出方式を採用することにより、一つのオリジナル文書から第1の電子署名および第2の電子署名を算出することとしてもよい。また、それぞれ異なる文書IDおよび部分文書IDが追加された二つのオリジナル文書を生成することにより、それぞれ異なる第1の電子署名および第2の電子署名を算出することとしてもよい。
ここでは、二つのオリジナル文書を生成することにより、一つの算出方式によってそれぞれ異なる第1の電子署名および第2の電子署名を算出する場合について説明する。図15は、この発明の実施の形態4にかかる文書検証装置において実行される電子署名生成処理の概要を示す説明図である。なお、図4に示す電子署名生成処理の手順と同様の処理については説明を省略する。
図15において、予測不可能な文書IDおよび部分文書IDを各部分文書に追加する処理を二回繰り返すことにより、それぞれ異なる第1のオリジナル文書および第2のオリジナル文書を生成する。
ここでは、第1のオリジナル文書に追加されている文書IDを「D」、部分文書IDを「SDi(i=1〜5)」と表記し、第2のオリジナル文書に追加されている文書IDを「D’」、部分文書IDを「SD’i(i=1〜5)」と表記する。
なお、文書ID「D」と文書ID「D’」とが異なっていれば、部分文書ID「SDi(i=1〜5)」と部分文書ID「SD’i(i=1〜5)」とは同一であってもよく、また、部分文書ID「SDi(i=1〜5)」と部分文書ID「SD’i(i=1〜5)」とが異なっていれば、文書ID「D」と文書ID「D’」とは同一であってもよい。
つぎに、この第1のオリジナル文書および第2のオリジナル文書の各部分文書のハッシュ値に当該ハッシュ値の部分文書に追加されている文書IDおよび部分文書IDを追加することにより、第1の署名対象文書および第2の署名対象文書を生成する。
そして、第1の署名対象文書を構成するハッシュ値ごと、すなわち、文書IDおよび部分文書IDが追加されたハッシュ値ごとの第1の電子署名「σ1,σ2,…,σ5」を算出するとともに、第2の署名対象文書を構成するハッシュ値ごと、すなわち、文書IDおよび部分文書IDが追加されたハッシュ値ごとの第2の電子署名「τ1,τ2,…,τ5」を算出する。
第1の署名対象文書および第2の署名対象文書を構成するハッシュ値ごとの第1の電子署名および第2の電子署名は、それぞれ対応する部分文書に付与される。具体的には、たとえば、文書IDおよび部分文書IDが追加されたハッシュ値「D‖SD1‖h1」および「D’‖SD’ 1‖h1」から算出された第1の電子署名「σ1」および第2の電子署名「τ1」は部分文書「m1」に付与されることとなる。
最後に、各部分文書の第1の電子署名「σ1,σ2,…,σ5」を集約した第1の集約電子署名σを算出するとともに、各部分文書の第2の電子署名「τ1,τ2,…,τ5」を集約した第2の集約電子署名τを算出し、図示しない電子文書Mに付与する。なお、ここでは、第1の電子署名を集約した第1の集約電子署名および第2の電子署名を集約した第2の集約電子署名を算出することとしたが、いずれか一方のみを算出することとしてもよい。
(文書検証装置の電子署名生成処理の手順)
つぎに、この発明の実施の形態4にかかる文書検証装置において実行される電子署名生成処理の手順について説明する。図16は、この発明の実施の形態4にかかる文書検証装置において実行される電子署名生成処理手順を示すフローチャートである。
図16のフローチャートにおいて、文書検証装置は、まず、入力部301により、電子文書の入力を受け付けたか否かを判断する(ステップS1601)。ここで、電子文書が入力されるのを待って、入力を受け付けた場合(ステップS1601:Yes)、分割部302により、入力された電子文書を部分文書に分割する(ステップS1602)。
つぎに、オリジナル文書生成処理を実行(ステップS1603)することにより、各部分文書に文書IDおよび部分文書IDが追加された第1のオリジナル文書および第2のオリジナル文書を生成する。
そして、算出部303により、分割された部分文書ごとのハッシュ値を算出する(ステップS1604)。つぎに、関連付け部304により、部分文書ごとのハッシュ値と、ステップS1603において生成された第1のオリジナル文書および第2のオリジナル文書を構成する部分文書に追加されている文書IDおよび部分文書IDを関連付けることによって電子文書を構成する各構成要素がそれぞれ対応するハッシュ値に置き換えられた第1の署名対象文書および第2の署名対象文書を生成する(ステップS1605)。
つぎに、生成部305により、第1の署名対象文書を構成する文書IDおよび部分文書IDが追加されたハッシュ値ごとの第1の電子署名を算出するとともに、第2の署名対象文書を構成する文書IDおよび部分文書IDが追加されたハッシュ値ごとの第2の電子署名を算出する(ステップS1606)。
そして、付与部306により、算出された第1の電子署名および第2の電子署名をそれぞれ対応する部分文書に付与する(ステップS1607)。つぎに、部分文書ごとの第1の電子署名を集約した第1の集約電子署名を算出するとともに、部分文書ごとの第2の電子署名を集約した第2の集約電子署名を算出する(ステップS1608)。
最後に、付与部306により、電子文書に付与して(ステップS1609)、本フローチャートによる一連の処理を終了する。第1の集約電子署名が付与され、かつ、各部分文書に第1の電子署名が付与された第1のオリジナル文書と、第2の集約電子署名が付与され、かつ、各部分文書に第2の電子署名が付与された第2のオリジナル文書はHD205などの記録媒体に構築された電子文書DBに記録されることとなる。
これにより、電子文書を構成する部分文書の順序交換や転写などの改変がおこなわれた場合であっても、改変後における電子文書の真正性の検証を可能な状態に加工して保持することができる。また、第1の電子署名および第2の電子署名を各構成要素に付与することにより、「隠蔽」、「削除」および「強制開示」の属性を各構成要素に変更不能に設定することができる。
また、電子文書における出現位置に関する順序に従って各部分文書に割り当てられる部分文書IDに基づいて、当該各部分文書に付与される第1の電子署名および第2の電子署名が算出される。このため、「隠蔽」、「削除」、「強制開示」などの属性が設定された部分文書の順序情報を保持することができ、属性が設定された部分文書の改変がおこなわれた場合であっても、改変後における電子文書の真正性を検証することができる。
(文書検証装置の編集処理の概要)
つぎに、この発明の実施の形態4にかかる文書検証装置の隠蔽処理、削除処理および強制開示処理の概要について説明する。図17は、この発明の実施の形態4にかかる文書検証装置において実行される編集処理の概要を示す説明図である。
以下において、隠蔽対象、削除対象、強制開示対象の順に部分文書を指定する場合について説明するが指定する順序は任意であり、これに限らない。
図17において、オリジナル文書(第1のオリジナル文書および第2のオリジナル文書のうち第1のオリジナル文書のみを図示する)を構成する部分文書の中から隠蔽対象となる部分文書を指定する。ここでは、オリジナル文書を構成する部分文書『m1,m2,…,m5』の中から隠蔽対象(墨塗り対象)となる部分文書として「m2」が指定されている。
つぎに、隠蔽対象として指定された部分文書に付与されている第1の電子署名σ2および第2の電子署名τ2のうちいずれか一方(ここでは、第2の電子署名τ2)を削除する。このとき、隠蔽対象として指定された部分文書「m2」がハッシュ値「h2」に置き換えられる。
また、オリジナル文書を構成する部分文書の中から削除対象となる部分文書を指定する。ここでは、オリジナル文書を構成する部分文書『m1,m2,…,m5』の中から削除対象となる部分文書として「m3」が指定されている。
つぎに、削除対象として指定された部分文書を削除するとともに当該電子文書に付与されている第1の電子署名σ3および第2の電子署名τ3を削除する。さらに、オリジナル文書に付与されている第1の集約電子署名σおよび第2の集約電子署名τの中から削除対象として指定された部分文書に付与されている第1の電子署名σ3および第2の電子署名τ3をそれぞれ削除する。
また、オリジナル文書を構成する部分文書の中から強制開示対象となる部分文書を指定する。ここでは、オリジナル文書を構成する部分文書『m1,m2,…,m5』の中から強制開示対象となる部分文書として「m4」が指定されている。
つぎに、強制開示対象として指定された部分文書に付与されている第1の電子署名σ4および第2の電子署名τ4を削除する。これにより、オリジナル文書に対して隠蔽処理、削除処理および強制開示処理が施された保持文書が生成されることとなる。
(文書検証装置の編集処理の手順)
つぎに、この発明の実施の形態4にかかる文書検証装置において実行される編集処理の手順について説明する。図18は、この発明の実施の形態4にかかる文書検証装置において実行される編集処理の手順を示すフローチャートである。
図18において、まず、文書検証装置の入力部301により、オリジナル文書の入力を受け付けたか否かを判断する(ステップS1801)。ここで入力されるオリジナル文書は、上記第1のオリジナル文書および第2のオリジナル文書である。
ここで、オリジナル文書が入力されるのを待って、入力された場合(ステップS1801:Yes)、隠蔽指定部307により、隠蔽対象となる部分文書の指定を受け付けたか否かを判断する(ステップS1802)。隠蔽対象となる部分文書の指定を受け付けた場合(ステップS1802:Yes)、削除部308により、指定された部分文書に付与されている第2の電子署名を削除する(ステップS1803)。
つぎに、削除指定部314により、削除対象となる部分文書の指定を受け付けたか否かを判断する(ステップS1804)。削除対象となる部分文書の指定を受け付けた場合(ステップS1804:Yes)、削除部308により、指定された部分文書を削除し(ステップS1805)、指定された部分文書に付与されている第1の電子署名および第2の電子署名を削除する(ステップS1806)。
さらに、ステップS1801において入力されたオリジナル文書に付与されている第1の集約電子署名および第2の集約電子署名から、指定された部分文書に付与されている第1の電子署名および第2の電子署名をそれぞれ削除する(ステップS1807)。
つぎに、強制開示指定部315により、強制開示対象となる部分文書の指定を受け付けたか否かを判断する(ステップS1808)。強制開示対象となる部分文書の指定を受け付けた場合(ステップS1808:Yes)、削除部308により、指定された部分文書に付与されている第1の電子署名および第2の電子署名を削除する(ステップS1809)。
そして、設定部309により、指定された部分文書をそれぞれ隠蔽対象、削除対象および強制開示対象として設定することによって保持文書を生成する(ステップS1810)。最後に、生成された保持文書を出力して(ステップS1811)、本フローチャートによる一連の処理を終了する。
一方、ステップS1802において、隠蔽対象となる部分文書の指定を受け付けなかった場合(ステップS1802:No)、ステップS1804に移行し、ステップS1804において、削除対象となる部分文書の指定を受け付けなかった場合(ステップS1804:No)、ステップS1808に移行し、ステップS1808において、強制開示対象となる部分文書の指定を受け付けなかった場合(ステップS1808:No)、ステップS1810に移行する。
ここでは、隠蔽対象となる部分文書の指定、削除対象となる部分文書の指定、強制開示対象となる部分文書の指定の順に各編集処理を実行する場合について説明したがこれに限らない。たとえば、削除対象となる部分文書を指定した後に、隠蔽対象となる部分文書を指定し、強制開示対象となる部分文書を指定することとしてもよい。
これにより、オリジナル文書に対して「隠蔽」、「削除」および「強制開示」の属性を設定することができる。このとき、墨塗りされた部分文書の改変がおこなわれた場合であっても、保持文書の真正性の検証を可能な状態に加工して保持することができる。
また、各属性に設定された部分文書を他の属性および元の部分文書に変更不能な状態に加工して保持することができる。このため、ある属性に設定された部分文書は、以降において他の属性に設定することができない。
具体的には、たとえば、部分文書の属性を「隠蔽」から「削除」に変更することはできない。また、部分文書の属性を「隠蔽」から「強制開示」に変更することはできない。さらに、部分文書の属性を「隠蔽」から「元の部分文書」に変更することはできない。
同様に、部分文書の属性を「削除」から「隠蔽」に変更することはできない。また、部分文書の属性を「削除」から「強制開示」に変更することはできない。さらに、部分文書の属性を「削除」から「元の部分文書」に変更することはできない。
同様に、部分文書の属性を「強制開示」から「隠蔽」に変更することはできない。また、部分文書の属性を「強制開示」から「削除」に変更することはできない。さらに、部分文書の属性を「強制開示」から「元の部分文書」に変更することはできない。
なお、実施の形態4における文書検証装置において実行される電子文書検証処理の手順は、実施の形態1における文書検証装置において実行される電子文書検証処理の手順とほぼ同様のため説明を省略する。
これにより、オリジナル文書を構成する部分文書の順序交換や転写などの改変がおこなわれた保持文書の真正性を検証することができ、不正な改変を防ぐことができる。このとき、属性が設定された部分文書の改変がおこなわれた場合であっても、属性が設定された部分文書の順序情報が集約電子署名によって保持されているため、属性が設定された部分文書の真正性を検証することができる。
この発明の実施の形態4にかかる文書検証装置によれば、電子文書に対して「隠蔽」、「削除」、「強制開示」の属性を設定することができるとともに、電子文書を構成する部分文書の順序交換や転写などの改変がおこなわれた場合であっても、改変後の電子文書の真正性を検証することができる。
以上説明したように、文書検証プログラム、記録媒体、文書検証方法および文書検証装置によれば、電子文書に対して複数の属性を設定可能とすることによってユーザの利便性の向上を図るとともに、改変がおこなわれた電子文書の真正性を検証することができる。
なお、本実施の形態で説明した文書検証方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本文書検証プログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本文書検証プログラムは、インターネット等のネットワークを介して配布してもよい。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)電子文書の真正を検証させる文書検証プログラムであって、
前記電子文書の入力を受け付けさせる入力工程と、
前記入力工程によって入力された電子文書を任意の構成要素に分割させる分割工程と、
前記分割工程によって分割された構成要素ごとのハッシュ値を算出させる算出工程と、
前記算出工程によって算出された構成要素ごとのハッシュ値と、当該構成要素の前記電子文書における出現位置に関する順序に従って前記各構成要素に割り当てられる乱数とを関連付けさせる関連付け工程と、
前記関連付け工程によって関連付けられたハッシュ値と乱数とに基づいて、それぞれ異なる第1の電子署名および第2の電子署名を前記構成要素ごとに生成させる生成工程と、
前記生成工程によって生成された第1の電子署名および第2の電子署名を対応する構成要素に対して付与させる付与工程と、
をコンピュータに実行させることを特徴とする文書検証プログラム。
(付記2)前記関連付け工程は、
前記各構成要素に割り当てられる前記電子文書を構成するすべての構成要素に共通する乱数(以下、「共通乱数」という)と、当該共通乱数が割り当てられた構成要素のハッシュ値と、当該構成要素に割り当てられる乱数とを関連付けさせ、
前記生成工程は、
前記関連付け工程によって関連付けられた共通乱数とハッシュ値と乱数とに基づいて、前記第1の電子署名および前記第2の電子署名を前記構成要素ごとに生成させることを特徴とする付記1に記載の文書検証プログラム。
(付記3)前記生成工程は、
前記構成要素ごとの第1の電子署名または当該構成要素ごとの第2の電子署名を集約した集約電子署名を生成させ、
前記付与工程は、
前記生成工程によって生成された集約電子署名を前記電子文書に対して付与させることを特徴とする付記2に記載の文書検証プログラム。
(付記4)前記電子文書を構成する構成要素の中から隠蔽対象となる構成要素の指定を受け付けさせる隠蔽指定工程と、
前記隠蔽指定工程によって指定された構成要素に付与されている第2の電子署名を削除させる削除工程と、
を前記コンピュータに実行させることを特徴とする付記3に記載の文書検証プログラム。
(付記5)前記電子文書を、前記削除工程によって第2の電子署名が削除された構成要素のハッシュ値を関連付けることにより、当該構成要素を隠蔽対象とする電子文書に設定させる設定工程を前記コンピュータに実行させることを特徴とする付記4に記載の文書検証プログラム。
(付記6)前記設定工程によって設定された電子文書の入力を受け付けさせる検証対象文書入力工程と、
前記検証対象文書入力工程によって入力された電子文書を構成する構成要素のハッシュ値を算出することにより、前記構成要素を当該構成要素のハッシュ値に置き換えさせる置換工程と、
前記電子文書に付与されている集約電子署名に基づいて、前記置換工程によって置き換えられたハッシュ値と、当該ハッシュ値に割り当てられている乱数との正当性を判定させる判定工程と、
前記判定工程の判定結果に基づいて前記電子文書の真正を検証させる検証工程と、
前記検証工程の検証結果を出力させる出力工程と、
を前記コンピュータに実行させることを特徴とする付記4または5に記載の文書検証プログラム。
(付記7)前記判定工程は、
さらに、前記電子文書に付与されている集約電子署名に基づいて、前記置換工程によって置き換えられたハッシュ値に割り当てられている共通乱数の正当性を判定させることを特徴とする付記6に記載の文書検証プログラム。
(付記8)前記判定工程は、
前記検証対象文書入力工程によって入力された電子文書を構成する各構成要素に割り当てられた乱数が、前記電子文書における前記各構成要素の出現位置に関する順序に従っているか否かを判定させることを特徴とする付記6に記載の文書検証プログラム。
(付記9)前記判定工程は、
前記各構成要素に割り当てられた共通乱数が、前記検証対象文書入力工程によって入力された電子文書を構成するすべての構成要素において共通であるか否かを判定させることを特徴とする付記6に記載の文書検証プログラム。
(付記10)前記電子文書を構成する構成要素の中から削除対象となる構成要素の指定を受け付けさせる削除指定工程を前記コンピュータに実行させ、
前記削除工程は、
前記削除指定工程によって指定された構成要素に付与されている第1の電子署名および第2の電子署名を削除させることを特徴とする付記5に記載の文書検証プログラム。
(付記11)前記削除工程は、
前記電子文書に付与されている集約電子署名の中から、前記削除対象となる構成要素に付与されている第1の電子署名または第2の電子署名を削除させることを特徴とする付記10に記載の文書検証プログラム。
(付記12)前記設定工程は、
前記電子文書を、前記削除工程によって第1の電子署名および第2の電子署名が削除された構成要素を削除対象とする電子文書に設定させることを特徴とする付記10または11に記載の文書検証プログラム。
(付記13)前記電子文書を構成する構成要素の中から強制開示対象となる構成要素の指定を受け付けさせる強制開示指定工程を前記コンピュータに実行させ、
前記削除工程は、
前記強制開示指定工程によって指定された構成要素に付与されている第1の電子署名および第2の電子署名を削除させることを特徴とする付記5に記載の文書検証プログラム。
(付記14)前記設定工程は、
前記電子文書を、前記削除工程によって第1の電子署名および第2の電子署名が削除された構成要素を強制開示対象とする電子文書に設定させることを特徴とする付記13に記載の文書検証プログラム。
(付記15)電子文書の真正を検証させる文書検証プログラムであって、
前記電子文書の入力を受け付けさせる入力工程と、
前記入力工程によって入力された電子文書を任意の構成要素に分割させる分割工程と、
前記分割工程によって分割された構成要素ごとのハッシュ値を算出させる算出工程と、
前記算出工程によって算出された構成要素ごとのハッシュ値と、当該構成要素の前記電子文書における出現位置に関する順序に従って前記各構成要素に割り当てられる乱数とを関連付ける関連付け工程と、
前記関連付け工程によって関連付けられたハッシュ値と乱数とに基づいて、前記構成要素ごとの電子署名を生成させる生成工程と、
前記生成工程によって生成された電子署名を対応する構成要素に対して付与させる付与工程と、
をコンピュータに実行させることを特徴とする文書検証プログラム。
(付記16)前記関連付け工程は、
前記各構成要素に割り当てられる前記電子文書を構成するすべての構成要素に共通する乱数(以下、「共通乱数」という)と、当該共通乱数が割り当てられた構成要素のハッシュ値と、当該構成要素に割り当てられる乱数とを関連付け、
前記生成工程は、
前記関連付け工程によって関連付けられた共通乱数とハッシュ値と乱数とに基づいて、前記構成要素ごとの電子署名を生成させることを特徴とする付記15に記載の文書検証プログラム。
(付記17)付記1〜16のいずれか一つに記載の文書検証プログラムを記録した前記コンピュータに読み取り可能な記録媒体。
(付記18)電子文書の真正を検証させる文書検証方法であって、
前記電子文書の入力を受け付ける入力工程と、
前記入力工程によって入力された電子文書を任意の構成要素に分割する分割工程と、
前記分割工程によって分割された構成要素ごとのハッシュ値を算出する算出工程と、
前記算出工程によって算出された構成要素ごとのハッシュ値と、当該構成要素の前記電子文書における出現位置に関する順序に従って前記各構成要素に割り当てられる乱数とを関連付ける関連付け工程と、
前記関連付け工程によって関連付けられたハッシュ値と乱数とに基づいて、それぞれ異なる第1の電子署名および第2の電子署名を前記構成要素ごとに生成する生成工程と、
前記生成工程によって生成された第1の電子署名および第2の電子署名を対応する構成要素に対して付与する付与工程と、
を含むことを特徴とする文書検証方法。
(付記19)電子文書の真正を検証させる文書検証装置であって、
前記電子文書の入力を受け付ける入力手段と、
前記入力手段によって入力された電子文書を任意の構成要素に分割する分割手段と、
前記分割手段によって分割された構成要素ごとのハッシュ値を算出する算出手段と、
前記算出手段によって算出された構成要素ごとのハッシュ値と、当該構成要素の前記電子文書における出現位置に関する順序に従って前記各構成要素に割り当てられる乱数とを関連付ける関連付け手段と、
前記関連付け手段によって関連付けられたハッシュ値と乱数とに基づいて、それぞれ異なる第1の電子署名および第2の電子署名を前記構成要素ごとに生成する生成手段と、
前記生成手段によって生成された第1の電子署名および第2の電子署名を対応する構成要素に対して付与する付与手段と、
を備えることを特徴とする文書検証装置。
以上のように、本文書検証プログラム、記録媒体、文書検証方法および文書検証装置は、電子文書の真正を検証する技術に有用であり、特に、電子文書を構成する部分文書の順序交換を不可能にする文書検証技術に適している。
100 電子文書公開システム
101,102 文書検証装置
110 ネットワーク
301 入力部
302 分割部
303 算出部
304 関連付け部
305 生成部
306 付与部
307 隠蔽指定部
308 削除部
309 設定部
310 置換部
311 判定部
312 検証部
313 出力部
314 削除指定部
315 強制開示指定部

Claims (19)

  1. 電子文書の真正を検証させる文書検証プログラムであって、
    前記電子文書の入力を受け付けさせる入力工程と、
    前記入力工程によって入力された電子文書を任意の構成要素に分割させる分割工程と、
    前記分割工程によって分割された構成要素ごとのハッシュ値を算出させる算出工程と、
    前記算出工程によって算出された構成要素ごとのハッシュ値と、当該構成要素の前記電子文書における出現位置に関する順序に従って前記各構成要素に割り当てられる乱数とを関連付けさせる関連付け工程と、
    前記関連付け工程によって関連付けられたハッシュ値と乱数とに基づいて、それぞれ異なる第1の電子署名および第2の電子署名を前記構成要素ごとに生成させる生成工程と、
    前記生成工程によって生成された第1の電子署名および第2の電子署名を対応する構成要素に対して付与させる付与工程と、
    をコンピュータに実行させることを特徴とする文書検証プログラム。
  2. 前記関連付け工程は、
    前記各構成要素に割り当てられる前記電子文書を構成するすべての構成要素に共通する乱数(以下、「共通乱数」という)と、当該共通乱数が割り当てられた構成要素のハッシュ値と、当該構成要素に割り当てられる乱数とを関連付けさせ、
    前記生成工程は、
    前記関連付け工程によって関連付けられた共通乱数とハッシュ値と乱数とに基づいて、前記第1の電子署名および前記第2の電子署名を前記構成要素ごとに生成させることを特徴とする請求項1に記載の文書検証プログラム。
  3. 前記生成工程は、
    前記構成要素ごとの第1の電子署名または当該構成要素ごとの第2の電子署名を集約した集約電子署名を生成させ、
    前記付与工程は、
    前記生成工程によって生成された集約電子署名を前記電子文書に対して付与させることを特徴とする請求項2に記載の文書検証プログラム。
  4. 前記電子文書を構成する構成要素の中から隠蔽対象となる構成要素の指定を受け付けさせる隠蔽指定工程と、
    前記隠蔽指定工程によって指定された構成要素に付与されている第2の電子署名を削除させる削除工程と、
    を前記コンピュータに実行させることを特徴とする請求項3に記載の文書検証プログラム。
  5. 前記電子文書を、前記削除工程によって第2の電子署名が削除された構成要素のハッシュ値を関連付けることにより、当該構成要素を隠蔽対象とする電子文書に設定させる設定工程を前記コンピュータに実行させることを特徴とする請求項4に記載の文書検証プログラム。
  6. 前記設定工程によって設定された電子文書の入力を受け付けさせる検証対象文書入力工程と、
    前記検証対象文書入力工程によって入力された電子文書を構成する構成要素のハッシュ値を算出することにより、前記構成要素を当該構成要素のハッシュ値に置き換えさせる置換工程と、
    前記電子文書に付与されている集約電子署名に基づいて、前記置換工程によって置き換えられたハッシュ値と、当該ハッシュ値に割り当てられている乱数との正当性を判定させる判定工程と、
    前記判定工程の判定結果に基づいて前記電子文書の真正を検証させる検証工程と、
    前記検証工程の検証結果を出力させる出力工程と、
    を前記コンピュータに実行させることを特徴とする請求項4または5に記載の文書検証プログラム。
  7. 前記判定工程は、
    さらに、前記電子文書に付与されている集約電子署名に基づいて、前記置換工程によって置き換えられたハッシュ値に割り当てられている共通乱数の正当性を判定させることを特徴とする請求項6に記載の文書検証プログラム。
  8. 前記判定工程は、
    前記検証対象文書入力工程によって入力された電子文書を構成する各構成要素に割り当てられた乱数が、前記電子文書における前記各構成要素の出現位置に関する順序に従っているか否かを判定させることを特徴とする請求項6に記載の文書検証プログラム。
  9. 前記判定工程は、
    前記各構成要素に割り当てられた共通乱数が、前記検証対象文書入力工程によって入力された電子文書を構成するすべての構成要素において共通であるか否かを判定させることを特徴とする請求項6に記載の文書検証プログラム。
  10. 前記電子文書を構成する構成要素の中から削除対象となる構成要素の指定を受け付けさせる削除指定工程を前記コンピュータに実行させ、
    前記削除工程は、
    前記削除指定工程によって指定された構成要素に付与されている第1の電子署名および第2の電子署名を削除させることを特徴とする請求項5に記載の文書検証プログラム。
  11. 前記削除工程は、
    前記電子文書に付与されている集約電子署名の中から、前記削除対象となる構成要素に付与されている第1の電子署名または第2の電子署名を削除させることを特徴とする請求項10に記載の文書検証プログラム。
  12. 前記設定工程は、
    前記電子文書を、前記削除工程によって第1の電子署名および第2の電子署名が削除された構成要素を削除対象とする電子文書に設定させることを特徴とする請求項10または11に記載の文書検証プログラム。
  13. 前記電子文書を構成する構成要素の中から強制開示対象となる構成要素の指定を受け付けさせる強制開示指定工程を前記コンピュータに実行させ、
    前記削除工程は、
    前記強制開示指定工程によって指定された構成要素に付与されている第1の電子署名および第2の電子署名を削除させることを特徴とする請求項5に記載の文書検証プログラム。
  14. 前記設定工程は、
    前記電子文書を、前記削除工程によって第1の電子署名および第2の電子署名が削除された構成要素を強制開示対象とする電子文書に設定させることを特徴とする請求項13に記載の文書検証プログラム。
  15. 電子文書の真正を検証させる文書検証プログラムであって、
    前記電子文書の入力を受け付けさせる入力工程と、
    前記入力工程によって入力された電子文書を任意の構成要素に分割させる分割工程と、
    前記分割工程によって分割された構成要素ごとのハッシュ値を算出させる算出工程と、
    前記算出工程によって算出された構成要素ごとのハッシュ値と、当該構成要素の前記電子文書における出現位置に関する順序に従って前記各構成要素に割り当てられる乱数とを関連付ける関連付け工程と、
    前記関連付け工程によって関連付けられたハッシュ値と乱数とに基づいて、前記構成要素ごとの電子署名を生成させる生成工程と、
    前記生成工程によって生成された電子署名を対応する構成要素に対して付与させる付与工程と、
    をコンピュータに実行させることを特徴とする文書検証プログラム。
  16. 前記関連付け工程は、
    前記各構成要素に割り当てられる前記電子文書を構成するすべての構成要素に共通する乱数(以下、「共通乱数」という)と、当該共通乱数が割り当てられた構成要素のハッシュ値と、当該構成要素に割り当てられる乱数とを関連付け、
    前記生成工程は、
    前記関連付け工程によって関連付けられた共通乱数とハッシュ値と乱数とに基づいて、前記構成要素ごとの電子署名を生成させることを特徴とする請求項15に記載の文書検証プログラム。
  17. 請求項1〜16のいずれか一つに記載の文書検証プログラムを記録した前記コンピュータに読み取り可能な記録媒体。
  18. 電子文書の真正を検証させる文書検証方法であって、
    前記電子文書の入力を受け付ける入力工程と、
    前記入力工程によって入力された電子文書を任意の構成要素に分割する分割工程と、
    前記分割工程によって分割された構成要素ごとのハッシュ値を算出する算出工程と、
    前記算出工程によって算出された構成要素ごとのハッシュ値と、当該構成要素の前記電子文書における出現位置に関する順序に従って前記各構成要素に割り当てられる乱数とを関連付ける関連付け工程と、
    前記関連付け工程によって関連付けられたハッシュ値と乱数とに基づいて、それぞれ異なる第1の電子署名および第2の電子署名を前記構成要素ごとに生成する生成工程と、
    前記生成工程によって生成された第1の電子署名および第2の電子署名を対応する構成要素に対して付与する付与工程と、
    を含むことを特徴とする文書検証方法。
  19. 電子文書の真正を検証させる文書検証装置であって、
    前記電子文書の入力を受け付ける入力手段と、
    前記入力手段によって入力された電子文書を任意の構成要素に分割する分割手段と、
    前記分割手段によって分割された構成要素ごとのハッシュ値を算出する算出手段と、
    前記算出手段によって算出された構成要素ごとのハッシュ値と、当該構成要素の前記電子文書における出現位置に関する順序に従って前記各構成要素に割り当てられる乱数とを関連付ける関連付け手段と、
    前記関連付け手段によって関連付けられたハッシュ値と乱数とに基づいて、それぞれ異なる第1の電子署名および第2の電子署名を前記構成要素ごとに生成する生成手段と、
    前記生成手段によって生成された第1の電子署名および第2の電子署名を対応する構成要素に対して付与する付与手段と、
    を備えることを特徴とする文書検証装置。
JP2008552987A 2007-01-12 2007-01-12 文書検証プログラム、記録媒体、文書検証方法および文書検証装置 Expired - Fee Related JP4893751B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2007/050290 WO2008084547A1 (ja) 2007-01-12 2007-01-12 文書検証プログラム、記録媒体、文書検証方法および文書検証装置

Publications (2)

Publication Number Publication Date
JPWO2008084547A1 true JPWO2008084547A1 (ja) 2010-04-30
JP4893751B2 JP4893751B2 (ja) 2012-03-07

Family

ID=39608450

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008552987A Expired - Fee Related JP4893751B2 (ja) 2007-01-12 2007-01-12 文書検証プログラム、記録媒体、文書検証方法および文書検証装置

Country Status (3)

Country Link
US (1) US8719578B2 (ja)
JP (1) JP4893751B2 (ja)
WO (1) WO2008084547A1 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5239849B2 (ja) * 2008-12-26 2013-07-17 富士通株式会社 電子署名方法、電子署名プログラムおよび電子署名装置
JP5332635B2 (ja) * 2009-01-19 2013-11-06 富士通株式会社 電子署名方法、電子署名プログラムおよび電子署名装置
JP4834742B2 (ja) * 2009-01-21 2011-12-14 株式会社エヌ・ティ・ティ・データ 署名データ生成装置及び検証装置
KR20130024996A (ko) * 2011-08-24 2013-03-11 한국전자통신연구원 멀티캐스트 환경에서 싱글 버퍼 해시를 이용한 소스 인증 방법 및 장치
US8881006B2 (en) * 2011-10-17 2014-11-04 International Business Machines Corporation Managing digital signatures
US8856960B2 (en) * 2012-02-09 2014-10-07 Alcatel Lucent Data leakage prevention for cloud and enterprise networks
EP2831800B1 (en) * 2012-03-26 2020-05-06 Irdeto B.V. Method for protecting data
JP2017068386A (ja) * 2015-09-28 2017-04-06 富士通株式会社 アプリケーション起動制御プログラム、アプリケーション起動制御方法、および情報処理装置
JP6858082B2 (ja) * 2017-06-07 2021-04-14 Kddi株式会社 管理装置、管理方法、及びプログラム
MX2020013851A (es) * 2018-06-19 2021-03-25 Sicpa Holding Sa Proteccion antifalsificacion de archivos digitales.
US11139960B2 (en) * 2018-12-20 2021-10-05 International Business Machines Corporation File redaction database system
US11151236B2 (en) * 2018-12-20 2021-10-19 International Business Machines Corporation File verification database system
US10673637B1 (en) * 2019-11-19 2020-06-02 Quantum Information Security, LLC Polymorphic digital security and methods of use thereof
JP7323807B2 (ja) * 2020-01-20 2023-08-09 富士通株式会社 検証方法、プログラム、および情報処理装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060288216A1 (en) * 2003-03-04 2006-12-21 Peter Buhler Long-term secure digital signatures
JP2004364070A (ja) * 2003-06-06 2004-12-24 Hitachi Ltd マスキング可能な署名技術を用いた電子文書管理システム
JP2005051734A (ja) 2003-07-15 2005-02-24 Hitachi Ltd 電子文書の真正性保証方法および電子文書の公開システム
JP2006060722A (ja) * 2004-08-24 2006-03-02 Hitachi Ltd 電子文書の真正性保証方法および電子文書の公開システム
JP4728104B2 (ja) * 2004-11-29 2011-07-20 株式会社日立製作所 電子画像の真正性保証方法および電子データ公開システム
JP4622811B2 (ja) * 2005-11-04 2011-02-02 株式会社日立製作所 電子文書の真正性保証システム

Also Published As

Publication number Publication date
JP4893751B2 (ja) 2012-03-07
US20090265558A1 (en) 2009-10-22
US8719578B2 (en) 2014-05-06
WO2008084547A1 (ja) 2008-07-17

Similar Documents

Publication Publication Date Title
JP4893751B2 (ja) 文書検証プログラム、記録媒体、文書検証方法および文書検証装置
JP4456137B2 (ja) 電子文書管理プログラム、該プログラムを記録した記録媒体、電子文書管理装置、および電子文書管理方法
CN1936780B (zh) 信息处理装置、验证处理装置及其控制方法
US20090210715A1 (en) Document verification apparatus, document verification method, and computer product
JP4606052B2 (ja) 情報処理装置、操作許否情報生成方法、操作許否情報生成プログラム及び記録媒体
US20080301431A1 (en) Text security method
JP2010050760A (ja) コンテンツ保護装置、および、コンテンツ利用装置
JP2005242519A (ja) デジタル著作権管理のための情報処理装置
JP2007304982A (ja) 電子文書管理装置、電子文書管理方法、及びコンピュータプログラム
JP5471444B2 (ja) コンテンツの公開システム及び該システムにおける公開コンテンツの保証方法
JP2006060722A (ja) 電子文書の真正性保証方法および電子文書の公開システム
JPH10282882A (ja) 認証子付与方法および認証子付与装置
JP4282547B2 (ja) 多重署名管理装置、多重署名生成装置、多重署名管理プログラムおよび多重署名生成プログラム
JP4136433B2 (ja) 印刷装置、情報処理装置、プリントサーバ、印刷装置及び印刷システムの制御方法並びに情報処理方法
US11784828B2 (en) Computer-readable recording medium storing information processing program, information processing method, information processing device, and information processing system
JP4597219B2 (ja) 電子文書管理プログラム、該プログラムを記録した記録媒体、電子文書管理装置、および電子文書管理方法
JP5012394B2 (ja) 画像処理システム及び画像処理プログラム
JPWO2008015740A1 (ja) 文書検証プログラム、記録媒体、文書検証方法および文書検証装置
JP2010157013A (ja) セキュリティ設定装置、セキュリティ設定処理方法、セキュリティ解除処理方法、文書共有システム、プログラム及び記録媒体
JP2005316515A (ja) 情報処理装置、操作許否情報生成方法、操作許否情報生成プログラム及び記録媒体
JP7276539B2 (ja) データ管理装置およびデータ管理方法
US20230031804A1 (en) Computer-readable recording medium storing information processing program, information processing apparatus, and system
KR102625970B1 (ko) 제증명서류 원본 확인 시스템
WO2024014017A1 (ja) メッセージ提示システム、提示用装置、及びメッセージ提示方法
JP5047766B2 (ja) 証明書発行処理方法、証明書発行処理システム、および証明書データ発行装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110830

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111031

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

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

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

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees