この発明は、真正を検証可能な電子文書を管理する電子文書管理プログラム、該プログラムを記録した記録媒体、電子文書管理装置、および電子文書管理方法に関する。
従来、電子文書の真正を検証する技術として、電子署名を用いた技術が提供されている。この電子署名技術は、電子文書ごとに電子署名を付与することによって、電子文書の作成者を認証するとともに、電子文書の正当性を判断することができ、電子文書の真正性を保証する技術である。
このため、電子署名技術を利用した場合、不正なユーザによる改ざんを防ぐという点においては非常に有用である。しかし一方で、電子文書の有効活用という点においては問題があった。なぜなら、電子文書に対して何らかの改訂をおこなった場合、改訂後の電子文書の正当性が保証されないからである。
このため、電子文書に公開することができない情報や不要な情報が含まれている場合であっても、電子文書の中から削除するなどの改訂をおこなうことができず、ユーザの利便性を著しく低下させる要因となっていた。これにともなって、電子文書に対する改訂が可能でかつ、電子文書の真正が検証可能な技術が望まれている。
たとえば、電子文書を部分文書に分割し、部分文書ごとに公開・非公開を指定することにより、非公開の部分文書に対して墨塗りを施す技術が提供されている(たとえば、下記非特許文献1参照。)。この墨塗り署名技術によれば、電子文書における公開部分に対する完全性と、非公開部分(墨塗り部分)に対する秘匿性を保証することができる。
また、電子文書を部分文書に分割し、部分文書ごとに電子署名を付与し、部分文書ごとに公開・非公開を指定することにより、非公開の部分文書を削除可能にするとともに、電子文書の正当性を保証する技術が提供されている(たとえば、下記特許文献1および非特許文献2参照。)。この削除署名技術によれば、電子文書における公開部分に対する完全性と、非公開部分(削除部分)に対する秘匿性を保証することができる。
また、電子文書を部分文書に分割し、部分文書ごとに公開・非公開を指定することにより、非公開の部分文書に対して墨塗りまたは削除を施す技術が提供されている(たとえば、下記非特許文献3参照。)。この墨塗り・削除署名技術によれば、同一の電子文書において墨塗りおよび削除を併用するができ、電子文書における公開部分に対する完全性と、非公開部分(墨塗り部分および削除部分)に対する秘匿性を保証することができる。
また、上述した墨塗り署名技術、削除署名技術、墨塗り・削除署名技術において、各部分文書に対して、墨塗りおよび削除に関する各種の状態を設定することができる。ここで、非特許文献3に記載された墨塗り・削除署名技術を例に挙げて、各部分文書に対して設定される各種の状態について説明する。
図34は、従来技術における部分文書状態および状態遷移を示す図表である。図34において、図表3400には、各部分文書に設定可能な各種の状態が表現されている。具体的には、墨塗り(Sanitization)および削除(Deletion)に関する、禁止(Prohibited)、可能(Allowed)、済み(Sanitized or Deleted)の属性の組み合わせによって6個の状態が表現されている。
ここでは、これら6個の状態をそれぞれ、SADA(墨塗り可能、削除可能)、SPDP(墨塗り禁止、削除禁止)、SADP(墨塗り可能、削除禁止)、SDA(墨塗り済み、削除可能)、SDP(墨塗り済み、削除禁止)およびD(削除済み)と表記する。
また、これらの状態間の遷移をあらわす状態遷移として、9個の状態遷移Ta〜Tiが表現されている。たとえば、状態遷移Taは、墨塗り可能でかつ削除可能な状態であるSADAから墨塗り禁止でかつ削除禁止な状態であるSPDPへの遷移をあらわしている。
これら6個の状態および9個の状態遷移は、単に部分文書に対するプロパティとして設定されているのではなく、データの保持手法によって物理的に設定されている。これにより、部分文書を、公開、非公開および改訂の可否に応じて各種の状態に設定することができ、プロパティの誤設定などによる電子文書の情報漏洩を防ぐことができる。
特開2006−60722号公報
宮崎邦彦、岩村充、松本勉、佐々木良一、吉浦裕、手塚悟、今井秀樹著「開示条件を制御可能な電子文書墨塗り技術」2004年暗号と情報セキュリティシンポジウム予稿集
宮崎邦彦、花岡悟一郎、今井秀樹著「双線形写像を用いた電子文書墨塗り技術」2005年暗号と情報セキュリティシンポジウム予稿集
佐野誠、伊豆哲也、國廣昇、太田和夫、武仲正彦著「部分情報の墨塗りと削除が可能な電子署名方式について」2007年暗号と情報セキュリティシンポジウム予稿集
しかしながら、上述した従来技術によれば、部分文書を、墨塗り禁止でかつ削除可能な状態(SPDA)に設定する改訂をおこなうことができなかった。このため、何らかの理由により削除は許可するが墨塗りは禁止する部分文書が存在する場合に、当該部分文書を墨塗り禁止でかつ削除可能な状態に設定することができず、ユーザの利便性を低下させているという問題があった。
ここで、上述した従来技術の問題点を具体的に説明する。図35は、従来技術の問題点の一例を示す説明図である。図35において、オリジナル文書3510は、ある市(○×市)が実施した公共工事の入札結果をあらわす電子文書である。具体的には、1ページ目には、最終的な落札者の名称(○○建設)および落札額(五拾万円)を含む情報が記載されている。
2ページ目には、他の入札者の名称(△△建設)および入札額(四拾万円)を含む情報が記載されている。3ページ目には、他の入札者の名称(××建設)および入札額(三拾万円)を含む情報が記載されている。また、このオリジナル文書3510には、○×市の公印を示す電子署名Xが付与されている。ここでは、各ページ1〜3を部分文書P1〜P3とする。
入札結果の公開請求があった場合、オリジナル文書3510をそのまま公開すると、部分文書P2および部分文書P3に記載されている入札者の名称や入札額などの個人情報が公開されてしまう。このような場合、個人情報の保護を考慮して、オリジナル文書3510の部分的な秘匿が必要となる。
そこで、墨塗り・削除署名技術を利用してオリジナル文書3510を改訂し、部分的な情報秘匿を実現する。改訂文書3520は、オリジナル文書3510から秘匿性を有する個人情報が削除された電子文書である。この改訂文書3520が公開された場合、秘匿性を有する個人情報が削除されているため、閲覧者は、部分文書P2,P3の具体的な内容を特定することができない。つまり、個人情報は適切に保護されており、この改訂文書3520は望ましいものとなっている。
また、改訂文書3530は、オリジナル文書3510における秘匿性を有する個人情報が墨塗りされた電子文書である。この改訂文書3530が公開された場合、秘匿性を有する個人情報は墨塗りされているため、閲覧者は、部分文書P2,P3の具体的な内容を特定することができない。しかし、墨塗りされている部分文書P2,P3をもとに入札者数を推定することができるなど、完全に秘匿性を保証することができず、この改訂文書3530は必ずしも望ましいものとなっていない場合があった。
このような状況を回避するために、オリジナル文書3510の作成時に、部分文書P2,P3を墨塗り禁止でかつ削除可能な状態(SPDA)に設定することで、部分文書P2,P3を隠蔽する手段として、墨塗りを選択することを防ぐ技術が求められていた。
この発明は、上述した従来技術による問題点を解消するため、部分文書を墨塗り禁止でかつ削除可能な状態に設定可能とすることにより、より柔軟な電子文書の改訂を実現し、ユーザの利便性の向上を図ることができる電子文書管理プログラム、該プログラムを記録した記録媒体、電子文書管理装置、および電子文書管理方法を提供することを目的とする。
上述した課題を解決し、目的を達成するため、この発明にかかる電子文書管理プログラム、該プログラムを記録した記録媒体、電子文書管理装置、および電子文書管理方法は、複数の構成要素からなり、前記構成要素ごとに、当該構成要素固有の第1の電子署名および第2の電子署名が規定され、かつ前記各第1の電子署名を集約した集約電子署名が関連付けられている電子文書を取得し、その電子文書のうち隠蔽禁止対象となる構成要素の指定を受け付け、隠蔽禁止対象に指定された構成要素と当該構成要素に規定されている前記第1の電子署名および第2の電子署名の双方とが存在する場合、当該構成要素が隠蔽可能でかつ削除可能な状態であると判断し、隠蔽可能でかつ削除可能な状態であると判断された場合、前記隠蔽禁止対象となる構成要素に規定されている第2の電子署名を削除することを特徴とする。
また、上記発明において、前記電子文書のうち削除禁止対象となる構成要素の指定を受け付け、削除禁止対象に指定された構成要素と当該構成要素に規定されている前記第1の電子署名とが存在する場合、当該構成要素が削除可能な状態であると判断し、削除可能な状態であると判断された場合、前記削除禁止対象となる構成要素に規定されている第1の電子署名を削除することとしてもよい。
また、上記発明において、前記電子文書のうち削除対象となる構成要素の指定を受け付け、削除対象に指定された構成要素と当該構成要素に規定されている前記第1の電子署名とが存在する場合、当該構成要素が削除可能な状態であると判断し、削除可能な状態であると判断された場合、前記削除対象となる構成要素に規定されている前記第1の電子署名を前記集約電子署名の中から削除するとともに、前記構成要素および当該構成要素に規定されている第1の電子署名を削除することとしてもよい。
これらの発明によれば、電子文書を構成する構成要素を、隠蔽可能でかつ削除可能な状態から隠蔽禁止でかつ削除可能な状態に設定することができる。さらに、隠蔽禁止でかつ削除可能な状態に設定されたその構成要素を、隠蔽禁止でかつ削除可能な状態または削除済みの状態に設定することができる。
また、上記発明において、改定対象となる構成要素が、隠蔽禁止、削除禁止および削除済みのいずれかに改訂された改訂文書を取得し、前記第1の電子署名、前記第2の電子署名および前記集約電子署名に基づいて、前記改訂文書の真正を検証し、その検証結果を出力することとしてもよい。
この発明によれば、改定対象に指定された構成要素の状態が隠蔽禁止、削除禁止および削除済みのいずれかの状態に設定された場合であっても、当該改定対象を含む改訂文書の真正性を検証することができる。
また、上記発明において、複数の構成要素からなり、前記構成要素ごとに、当該構成要素固有の第1の電子署名および第2の電子署名が規定され、かつ前記各第1の電子署名を集約した第1の集約電子署名および前記各第2の電子署名を集約した第2の集約電子署名が関連付けられている電子文書を取得し、その電子文書のうち隠蔽禁止対象となる構成要素の指定を受け付け、隠蔽禁止対象に指定された構成要素と当該構成要素に規定されている前記第1の電子署名および第2の電子署名の双方とが存在する場合、当該構成要素が隠蔽可能でかつ削除可能な状態であると判断し、隠蔽可能でかつ削除可能な状態であると判断された場合、前記隠蔽禁止対象となる構成要素に規定されている前記第2の電子署名を前記第2の集約電子署名の中から削除するとともに、前記構成要素に規定されている第2の電子署名を削除することとしてもよい。
また、上記発明において、前記電子文書のうち前記削除禁止対象となる構成要素の指定を受け付け、削除禁止対象に指定された構成要素と当該構成要素に規定されている前記第1の電子署名とが存在する場合、当該構成要素が削除可能な状態であると判断し、削除可能な状態であると判断された場合、前記削除禁止対象となる構成要素に規定されている前記第1の電子署名を削除することとしてもよい。
また、上記発明において、前記電子文書のうち前記削除対象となる構成要素の指定を受け付け、削除対象に指定された構成要素と当該構成要素に規定されている前記第1の電子署名とが存在する場合、当該構成要素が削除可能な状態であると判断し、削除可能な状態であると判断された場合、前記削除対象となる構成要素に規定されている前記第1の電子署名を前記第1の集約電子署名の中から削除するとともに、前記構成要素および当該構成要素に規定されている第1の電子署名を削除することとしてもよい。
これらの発明によれば、電子文書を構成する構成要素を、隠蔽可能でかつ削除可能な状態から隠蔽禁止でかつ削除可能な状態に設定することができる。さらに、隠蔽禁止でかつ削除可能な状態に設定されたその構成要素を、隠蔽禁止でかつ削除可能な状態または削除済みの状態に設定することができる。
また、上記発明において、改定対象となる構成要素が、隠蔽禁止、削除禁止および削除済みのいずれかに改訂された改訂文書を取得し、前記第1の電子署名、前記第2の電子署名、前記第1の集約電子署名および前記第2の集約電子署名に基づいて、前記改訂文書の真正を検証することとしてもよい。
この発明によれば、改定対象に指定された構成要素の状態が隠蔽禁止、削除禁止および削除済みのいずれかの状態に設定された場合であっても、当該改定対象を含む改訂文書の真正性を検証することができる。
本発明にかかる電子文書管理プログラム、該プログラムを記録した記録媒体、電子文書管理装置、および電子文書管理方法によれば、部分文書を墨塗り禁止でかつ削除可能な状態に設定可能とすることにより、より柔軟な電子文書の改訂を実現し、ユーザの利便性の向上を図ることができるという効果を奏する。
以下に添付図面を参照して、この発明にかかる電子文書管理プログラム、該プログラムを記録した記録媒体、電子文書管理装置、および電子文書管理方法の好適な実施の形態を詳細に説明する。
(実施の形態)
(電子文書管理システム100のシステム構成)
まず、この発明の実施の形態にかかる電子文書管理システムのシステム構成について説明する。図1は、この発明の実施の形態にかかる電子文書管理システムのシステム構成図である。
図1において、電子文書管理システム100は、複数の電子文書管理装置101,102,103(図1では3台)が、インターネット、LAN、WANなどのネットワーク110を介して相互に通信可能に接続されている。
電子文書管理装置101は、電子文書Mに電子署名を施す署名者が使用するコンピュータ装置である。署名者は、この電子文書管理装置101を使用して、真正性を保証するための電子署名を電子文書Mに施すことができる。具体的には、署名者の秘密鍵を用いて生成された電子署名を電子文書Mに付与する。
この電子文書Mは、行政機関から発行される電子戸籍台帳、医療機関から発行される電子カルテおよび教育機関から発行される電子成績表などの秘匿性を有する情報である。また、各市町村の行政機関に対して公開請求することができる公文書などであってもよい。
電子文書管理装置102は、電子署名が施された電子文書Mを改訂する改訂者が使用するコンピュータ装置である。改訂者は、この電子文書管理装置102を使用して、電子文書Mを構成する部分文書の状態を変更(設定)することにより、改訂文書Rを作成することができる。
電子文書管理装置103は、改訂文書Rの真正性を検証する検証者が使用するコンピュータ装置である。検証者は、この電子文書管理装置103を利用して、改訂文書Rの真正性を検証することができる。このとき、第三者機関から発行される公開鍵を用いて、改訂文書Rの真正性を検証する。
なお、署名者、改訂者および検証者が使用するコンピュータ装置を、それぞれ電子文書管理装置101,102,103としたが、これに限らない。たとえば、1台のコンピュータ装置(たとえば、電子文書管理装置101)を使用して、署名、改訂および検証をおこなうこととしてもよい。また、電子文書Mの改訂は、複数の改訂者によって追加的におこなわれることとしてもよい。
ここで、電子文書Mの署名、改訂および検証の一連の流れを説明する。まず、電子文書管理装置101において、電子文書Mに対して、署名者による電子署名が施される。このあと、電子文書管理装置102において、電子署名が施された電子文書Mに対して、何らかの改訂がおこなわれる。そして、検証者による公開請求などに応じて、改訂文書Rが電子文書管理装置102から電子文書管理装置103に送信され、電子文書管理装置103において、改訂文書Rの真正性が検証される。
(電子文書管理装置のハードウェア構成)
まず、この発明の実施の形態にかかる電子文書管理装置101,102,103(以下、単に「電子文書管理装置101」とする)のハードウェア構成について説明する。図2は、この発明の実施の形態にかかる電子文書管理装置のハードウェア構成を示す説明図である。
図2において、電子文書管理装置101は、コンピュータ本体210と、入力装置220と、出力装置230と、から構成されており、不図示のルータやモデムを介してLAN,WANやインターネットなどのネットワーク110に接続可能である。
コンピュータ本体210は、CPU,メモリ,インターフェースを有する。CPUは、電子文書管理装置101の全体の制御を司る。メモリは、ROM,RAM,HD,光ディスク211,フラッシュメモリから構成される。メモリはCPUのワークエリアとして使用される。
また、メモリには各種プログラムが格納されており、CPUからの命令に応じてロードされる。HDおよび光ディスク211はディスクドライブによりデータのリード/ライトが制御される。また、光ディスク211およびフラッシュメモリはコンピュータ本体210に対し着脱自在である。インターフェースは、入力装置220からの入力、出力装置230への出力、ネットワーク110に対する送受信の制御をおこなう。
また、入力装置220としては、キーボード221、マウス222、スキャナ223などがある。キーボード221は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式であってもよい。マウス222は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。スキャナ223は、画像を光学的に読み取る。読み取られた画像は画像データとして取り込まれ、コンピュータ本体210内のメモリに格納される。なお、スキャナ223にOCR機能を持たせてもよい。
また、出力装置230としては、ディスプレイ231、スピーカ232、プリンタ233などがある。ディスプレイ231は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。また、スピーカ232は、効果音や読み上げ音などの音声を出力する。また、プリンタ233は、画像データや文書データを印刷する。
(電子文書管理装置の機能的構成)
つぎに、この発明の実施の形態にかかる電子文書管理装置101の機能的構成について説明する。図3は、この発明の実施の形態にかかる電子文書管理装置の機能的構成を示すブロック図である。図3において、電子文書管理装置101は、取得部301と、指定部302と、判断部303と、削除部304と、設定部305と、出力部306と、検証部307と、から構成されている。
これら各機能301〜307は、記憶領域に格納された当該機能に関するプログラムをCPUに実行させることにより、当該機能を実現することができる。また、各機能301〜307からの出力データは記憶領域に保持される。また、図3中矢印で示した接続先の機能的構成は、接続元の機能からの出力データを記憶領域から読み込んで、当該機能に関するプログラムをCPUに実行させる。
まず、取得部301は、複数の構成要素からなり、構成要素ごとに、当該構成要素固有の第1の電子署名および第2の電子署名が規定され、かつ各第1の電子署名を集約した集約電子署名が関連付けられている電子文書Mを取得する機能を有する。電子文書Mは、コンピュータ上で扱われる文書の総称であり、文書作成アプリケーションなどを用いて作成された電子データである。
この電子文書Mを構成する各構成要素は、当該構成要素と当該構成要素に規定されている第1の電子署名と第2の電子署名との組み合わせによって特定される各種の状態を有している。具体的には、隠蔽可能でかつ削除可能な状態、隠蔽禁止でかつ削除可能な状態、隠蔽禁止でかつ削除禁止な状態、隠蔽可能でかつ削除禁止な状態、隠蔽済みでかつ削除禁止な状態、隠蔽済みでかつ削除可能な状態および削除済みの状態のいずれかの状態を有している。
たとえば、ある構成要素が隠蔽可能でかつ削除可能な状態であった場合、改訂者は、この構成要素を任意に隠蔽または削除することができる。ここで、隠蔽とは、たとえば、墨塗り処理などを施すことにより、閲覧者によって認識することができない状態にすることである。削除とは、閲覧者によってその存在を把握することができない状態にすることである。
なお、この電子文書Mは、電子文書管理装置101において作成されてもよく、また、他のコンピュータ装置において作成されてもよい。他のコンピュータ装置において電子文書Mが作成された場合、取得部301は、インターネットなどのネットワーク110を介して他のコンピュータ装置から電子文書Mを取得することとなる。
指定部302は、取得部301によって取得された電子文書Mのうち隠蔽禁止対象となる構成要素の指定を受け付ける機能を有する。具体的には、たとえば、図2に示したキーボード221やマウス222などの入力装置220を改訂者が操作することによって、隠蔽禁止対象となる構成要素の指定を受け付ける。
判断部303は、指定部302によって隠蔽禁止対象に指定された構成要素と当該構成要素に規定されている第1の電子署名および第2の電子署名の双方とが存在する場合、当該構成要素が隠蔽可能でかつ削除可能な状態であると判断する機能を有する。すなわち、隠蔽禁止対象に指定された構成要素と当該構成要素に規定されている第1の電子署名および第2の電子署名との組み合わせによって当該構成要素の状態を特定し、その状態が隠蔽可能でかつ削除可能な状態であるか否かを判断する。
削除部304は、判断部303によって隠蔽可能でかつ削除可能な状態であると判断された場合、隠蔽禁止対象となる構成要素に規定されている第2の電子署名を削除する機能を有する。具体的には、隠蔽禁止対象に指定された構成要素と関連付けてROMやRAMなどの記録領域に保持されている第2の電子署名を削除する。
設定部305は、削除部304によって削除された結果、隠蔽禁止対象となる構成要素を、隠蔽可能でかつ削除可能な状態から隠蔽禁止でかつ削除可能な状態に設定する機能を有する。すなわち、隠蔽禁止対象となる隠蔽可能でかつ削除可能な状態の構成要素に規定されている第2の電子署名が削除された場合、当該構成要素を隠蔽禁止でかつ削除可能な状態に設定する。この結果、隠蔽禁止対象に指定された隠蔽可能でかつ削除可能な状態の構成要素は、削除することはできるが隠蔽することができない隠蔽禁止でかつ削除可能な状態となる。
また、指定部302は、電子文書Mのうち削除禁止対象となる構成要素の指定を受け付けることとしてもよい。この場合、判断部303は、指定部302によって削除禁止対象に指定された構成要素と当該構成要素に規定されている第1の電子署名とが存在する場合、当該構成要素が削除可能な状態であると判断することとしてもよい。
また、削除部304は、判断部303によって削除可能な状態であると判断された場合、削除禁止対象となる構成要素に規定されている第1の電子署名を集約電子署名の中から削除するとともに、当該構成要素に規定されている第1の電子署名を削除する。具体的には、電子文書Mと関連付けて記憶領域に保持されている集約電子署名の中から削除禁止対象に指定された構成要素に規定されている第1の電子署名を削除し、さらに、当該構成要素と関連付けて記録領域に保持されている第1の電子署名を削除する。
また、設定部305は、削除部304によって削除された結果、削除禁止対象となる構成要素を、削除可能な状態から削除禁止な状態に設定することとしてもよい。この結果、削除禁止対象に指定された削除可能な状態の構成要素は、削除することができない削除禁止の状態となる。
また、指定部302は、電子文書Mのうち削除対象となる構成要素の指定を受け付けることとしてもよい。この場合、判断部303は、指定部302によって削除対象に指定された構成要素と当該構成要素に規定されている第1の電子署名とが存在する場合、当該構成要素が削除可能な状態であると判断する。
また、削除部304は、判断部303によって削除可能な状態であると判断された場合、削除対象となる構成要素に規定されている第1の電子署名を集約電子署名の中から削除するとともに、構成要素および当該構成要素に規定されている第1の電子署名を削除する。具体的には、電子文書Mと関連付けて記憶領域に保持されている集約電子署名の中から削除対象に指定された構成要素に規定されている第1の電子署名を削除し、さらに、当該構成要素と関連付けて記録領域に保持されている第1の電子署名を削除する。
また、設定部305は、削除部304によって削除された結果、削除対象となる構成要素を、削除可能な状態から削除済みの状態に設定する。この結果、削除対象に指定された削除可能な状態の構成要素は、電子文書Mの中から削除された削除済みの状態となる。
なお、上述した隠蔽禁止対象となる構成要素の指定と、削除禁止対象および削除対象となる構成要素の指定とは、それぞれ異なる電子文書管理装置101においておこなわれてもよい。すなわち、一方の電子文書管理装置101において、隠蔽可能でかつ削除可能な状態の構成要素を隠蔽禁止対象として指定し、他方の電子文書管理装置101において、隠蔽禁止でかつ削除可能な状態に設定された構成要素を削除禁止対象または削除対象として指定する。
出力部306は、設定部305によって設定された電子文書Mを出力する機能を有する。出力部306による出力形式は、外部のコンピュータ装置(たとえば、電子文書管理装置102,103)、プリンタ233での印刷出力、メモリへのデータ出力(保存)のいずれであってもよい。
また、取得部301は、改定対象となる構成要素が、隠蔽禁止、削除禁止および削除済みのいずれかに改訂された改訂文書Rを取得する機能を有する。具体的には、設定部305によって構成要素の状態が設定された改訂文書Rを取得する機能を有する。改訂文書Rは、電子文書Mを構成する構成要素に対して改訂がおこなわれた電子データである。たとえば、隠蔽禁止対象に指定された構成要素の状態が、隠蔽可能でかつ削除可能な状態から隠蔽禁止でかつ削除可能な状態に設定された改訂文書Rである。
この改訂文書Rは、検証者から改訂者に対して改訂文書Rの公開請求があった場合に、改訂者の電子文書管理装置101から検証者の電子文書管理装置101に送信(出力)されることとなる。そして、検証者の電子文書管理101の取得部301により、改訂者の電子文書管理装置101から送信された改訂文書Rを取得する。
検証部307は、第1の電子署名、第2の電子署名および集約電子署名に基づいて、取得部301によって取得された改訂文書Rの真正を検証する機能を有する。具体的には、署名者の公開鍵を用いて、第1の電子署名、第2の電子署名および集約電子署名を復号し、改訂文書Rの真正を検証する。
出力部306は、検証部307によって検証された検証結果を出力する機能を有する。具体的には、第1の電子署名、第2の電子署名および集約電子署名すべての検証に合格した場合に、検証合格を示す検証結果を出力する。一方、第1の電子署名、第2の電子署名および集約電子署名のいずれか一つの検証に不合格となった場合、検証不合格を示す検証結果を出力する。
なお、指定部302による隠蔽禁止対象、削除禁止対象および削除対象の指定は、取得部301によって取得された改訂文書Rを構成する構成要素に対して可能としてもよい。これにより、電子文書M(改訂文書R)に対する追加的な改訂を実現する。
また、上述した隠蔽禁止対象、削除禁止対象および削除対象の他に各種の改訂対象の指定をおこなうことができる。たとえば、指定部302は、電子文書Mのうち隠蔽対象となる構成要素の指定を受け付けることができる。この場合、判断部303により、隠蔽対象に指定された構成要素と当該構成要素に規定されている第1の電子署名および第2の電子署名の双方とが存在する場合、当該構成要素が隠蔽可能でかつ削除可能な状態であると判断する。
その結果、隠蔽可能でかつ削除可能な状態であると判断された場合、不図示の置換部により、隠蔽対象に指定された構成要素を当該構成要素のハッシュ値に置き換えて、設定部305により、隠蔽禁止対象となる構成要素を、隠蔽可能でかつ削除可能な状態から隠蔽済みでかつ削除可能な状態に設定することとなる。なお、各種の改訂対象を指定した場合の具体的な処理内容は後述する実施例1において説明する。
また、取得部301は、複数の構成要素からなり、構成要素ごとに、当該構成要素固有の第1の電子署名および第2の電子署名が規定され、かつ各第1の電子署名を集約した第1の集約電子署名および各第2の電子署名を集約した第2の集約電子署名が関連付けられている電子文書Mを取得することとしてもよい。
ここでは、上述した電子文書Mとは異なる表現方式(第2の集約電子署名が追加されている)によって、隠蔽可能でかつ削除可能な状態、隠蔽禁止でかつ削除可能な状態、隠蔽禁止でかつ削除禁止な状態、隠蔽可能でかつ削除禁止な状態、隠蔽済みでかつ削除禁止な状態、隠蔽済みでかつ削除可能な状態および削除済みの状態を表現する電子文書Mを取得する。
指定部302は、上記電子文書Mのうち隠蔽禁止対象となる構成要素の指定を受け付ける。判断部303は、隠蔽禁止対象に指定された構成要素と当該構成要素に規定されている第1の電子署名および第2の電子署名の双方とが存在する場合、当該構成要素が隠蔽可能でかつ削除可能な状態であると判断する。
削除部304は、判断部303によって隠蔽可能でかつ削除可能な状態であると判断された場合、隠蔽禁止対象となる構成要素に規定されている第2の電子署名を第2の集約電子署名の中から削除するとともに、構成要素に規定されている第2の電子署名を削除する。設定部305は、削除部304によって削除された結果、隠蔽禁止対象となる構成要素を、隠蔽可能でかつ削除可能な状態から隠蔽禁止でかつ削除可能な状態に設定する。
また、指定部302は、削除禁止対象の指定を受け付ける。判断部303は、削除禁止対象に指定された構成要素と当該構成要素に規定されている第1の電子署名とが存在する場合、当該構成要素が削除可能な状態であると判断する。削除部304は、判断部303によって削除可能な状態であると判断された場合、削除禁止対象となる構成要素に規定されている第1の電子署名を削除する。設定部305は、削除部304によって削除された結果、削除禁止対象となる構成要素を、削除可能な状態から削除禁止の状態に設定する。
また、指定部302は、削除対象の指定を受け付ける。判断部303は、削除対象に指定された構成要素と当該構成要素に規定されている第1の電子署名とが存在する場合、当該構成要素が削除可能な状態であると判断する。削除部304は、判断部303によって削除可能な状態であると判断された場合、削除対象となる構成要素に規定されている第1の電子署名を第1の集約電子署名の中から削除するとともに、削除対象となる構成要素および当該構成要素に規定されている第1の電子署名を削除する。設定部305は、削除部304によって削除された結果、削除対象となる構成要素を、削除可能な状態から削除済みの状態に設定する。
また、取得部301は、改定対象となる構成要素が、隠蔽禁止、削除禁止および削除済みのいずれかに改訂された改訂文書を取得する。具体的には、設定部305によって構成要素の状態が設定された改訂文書Rを取得する。そして、検証部307は、第1の電子署名、第2の電子署名、第1の集約電子署名および第2の集約電子署名に基づいて、取得部301によって取得された改訂文書Rの真正を検証することとしてもよい。なお、各種の改訂対象を指定した場合の具体的な処理内容は後述する実施例2および3において説明する。
(電子文書管理装置の改訂処理手順)
つぎに、この発明の実施の形態にかかる電子文書管理装置101の改訂処理手順について説明する。図4は、この発明の実施の形態にかかる電子文書管理装置の改訂処理手順を示すフローチャートである。
図4のフローチャートにおいて、まず、取得部301により、複数の構成要素からなり、構成要素ごとに、当該構成要素固有の第1の電子署名および第2の電子署名が規定され、かつ各第1の電子署名を集約した集約電子署名が関連付けられている電子文書Mを取得したか否かを判断する(ステップS401)。
ここで、電子文書Mを取得するのを待って(ステップS401:No)、取得した場合(ステップS401:Yes)、指定部302により、改訂対象となる構成要素の指定を受け付けたか否かを判断する(ステップS402)。このあと、指定を受け付けるのを待って(ステップS402:No)、受け付けた場合(ステップS402:Yes)、隠蔽禁止対象となる構成要素の指定を受け付けたか否かを判断する(ステップS403)。
ここで、隠蔽禁止対象となる構成要素の指定を受け付けた場合(ステップS403:Yes)、判断部303により、隠蔽禁止対象に指定された構成要素と当該構成要素に規定されている第1の電子署名および第2の電子署名との存否に基づいて、当該構成要素が隠蔽可能でかつ削除可能な状態であるか否かを判断する(ステップS404)。
ここで、隠蔽可能でかつ削除可能な状態であると判断された場合(ステップS404:Yes)、削除部304により、隠蔽禁止対象となる構成要素に規定されている第2の電子署名を削除する(ステップS405)。そして、設定部305により、隠蔽禁止対象となる構成要素を、隠蔽可能でかつ削除可能な状態から隠蔽禁止でかつ削除可能な状態に設定して(ステップS406)、本フローチャートによる一連の処理を終了する。
一方、ステップS404において、隠蔽可能でかつ削除可能な状態であると判断されなかった場合(ステップS404:No)、本フローチャートによる一連の処理を終了する。また、ステップS403において、隠蔽禁止対象となる構成要素の指定を受け付けていない場合(ステップS403:No)、削除禁止対象となる構成要素の指定を受け付けたか否かを判断する(ステップS407)。
ここで、削除禁止対象となる構成要素の指定を受け付けた場合(ステップS407:Yes)、判断部303により、削除禁止対象に指定された構成要素と当該構成要素に規定されている第1の電子署名との存否に基づいて、当該構成要素が削除可能な状態であるか否かを判断する(ステップS408)。
ここで、削除可能な状態であると判断された場合(ステップS408:Yes)、削除部304により、削除禁止対象となる構成要素に規定されている第1の電子署名を削除する(ステップS409)。そして、設定部305により、削除禁止対象となる構成要素を、削除可能な状態から削除禁止な状態に設定して(ステップS410)、本フローチャートによる一連の処理を終了する。
一方、ステップS408において、削除可能な状態であると判断されなかった場合(ステップS408:No)、本フローチャートによる一連の処理を終了する。また、ステップS407において、削除禁止対象となる構成要素の指定を受け付けていない場合(ステップS407:No)、削除対象となる構成要素の指定を受け付けたか否かを判断する(ステップS411)。
ここで、削除対象となる構成要素の指定を受け付けた場合(ステップS411:Yes)、判断部303により、削除対象に指定された構成要素と当該構成要素に規定されている第1の電子署名の存否に基づいて、当該構成要素が削除可能な状態であるか否かを判断する(ステップS412)。
ここで、削除可能な状態であると判断された場合(ステップS412:Yes)、削除部304により、削除対象となる構成要素に規定されている第1の電子署名を集約電子署名の中から削除するとともに、構成要素および当該構成要素に規定されている第1の電子署名を削除する(ステップS413)。
そして、設定部305により、削除対象となる構成要素を、削除可能な状態から削除済みの状態に設定して(ステップS414)、本フローチャートによる一連の処理を終了する。また、ステップS411において削除対象となる構成要素の指定を受け付けていない場合(ステップS411:No)、または、ステップS412において削除可能な状態であると判断されなかった場合(ステップS412:No)、本フローチャートによる一連の処理を終了する。
これにより、電子文書Mを構成する構成要素に対して、隠蔽禁止でかつ削除可能な状態に設定することができる。さらに、隠蔽禁止でかつ削除可能な状態に設定された構成要素を、隠蔽禁止でかつ削除禁止な状態、または、削除済みの状態に設定することができる。
(電子文書管理装置の検証処理手順)
つぎに、この発明の実施の形態にかかる電子文書管理装置101の検証処理手順について説明する。図5は、この発明の実施の形態にかかる電子文書管理装置の検証処理手順を示すフローチャートである。図5のフローチャートにおいて、まず、取得部301により、改定対象となる構成要素が、隠蔽禁止、削除禁止および削除済みのいずれかに改訂された改訂文書を取得したか否かを判断する(ステップS501)。
ここで、改訂文書Rを取得するのを待って(ステップS501:No)、取得した場合(ステップS501:Yes)、検証部307により、第1の電子署名、第2の電子署名および集約電子署名に基づいて、取得部301によって取得された改訂文書Rの真正を検証する(ステップS502)。最後に、出力部306により、検証部307によって検証された検証結果を出力して(ステップS503)、本フローチャートによる一連の処理を終了する。
この発明の実施の形態にかかる電子文書管理装置101によれば、電子文書Mを、該電子文書Mの真正を検証可能に保持しつつ、該電子文書Mを構成する構成要素に対して、隠蔽禁止でかつ削除可能な状態に設定する改訂をおこなうことができる。さらに、隠蔽禁止でかつ削除可能な状態に設定された構成要素を、隠蔽禁止でかつ削除禁止な状態、または、削除済みの状態に設定することができる。
(部分文書の状態および状態遷移)
つぎに、上述した実施の形態の実施例1について説明する。まず、電子文書Mを構成する各部分文書の状態および状態遷移について説明する。図6は、部分文書状態および状態遷移を示す図表である。なお、部分文書とは、上述した電子文書を構成する構成要素に相当する。
図6において、図表600には、電子文書Mを構成する各部分文書に設定可能な部分文書の状態が表現されている。具体的には、墨塗り(Sanitization)および削除(Deletion)に関する、禁止(Prohibited)、可能(Allowed)および済み(Sanitized or Deleted)を示す属性の組み合わせによって各状態が表現されている。
ここでは、墨塗り可能でかつ削除可能な状態を『SADA』、墨塗り禁止でかつ削除可能な状態を『SPDA』、墨塗り禁止でかつ削除禁止な状態を『SPDP』、墨塗り可能でかつ削除禁止な状態を『SADP』、墨塗り済みでかつ削除可能な状態を『SDA』、墨塗り済みでかつ削除禁止な状態を『SDP』、削除済みの状態を『D』と表記する。
また、図表600には、状態間の遷移をあらわす状態遷移として、12個の状態遷移T1〜T12が表現されている。これら状態遷移T1〜T12は、改訂者によって各部分文書に対する改訂をおこなう際に、当該各部分文書の状態を他の状態に設定することができる状態遷移をあらわしている。
ここで、状態遷移T1を例に挙げると、墨塗り可能でかつ削除可能な状態である『SADA』から、墨塗り禁止でかつ削除可能な状態である『SPDA』への遷移をあらわしている。また、状態遷移T7を例に挙げると、墨塗り禁止でかつ削除可能な状態である『SPDA』から、墨塗り禁止でかつ削除禁止な状態である『SPDP』への遷移をあらわしている。
(電子署名生成の概要)
つぎに、電子文書Mに施される電子署名生成の概要について説明する。図7は、電子署名生成の概要を示す説明図である。図7において、まず、電子文書Mをn個の部分文書『m1,m2,…,mn』に分割する。具体的には、電子文書Mの先頭(たとえば、読み込み開始箇所)からバイト単位で分割してもよく、また、文字、単語、文、ページごとに分割してもよい。
このあと、乱数を利用して、予測不可能な文書IDおよび部分文書IDを各部分文書m1〜mnに割り当てる。文書IDは、電子文書Mを構成するすべての部分文書『m1,m2,…,mn』に共通する値である。以下、文書IDを「D」と表記する。
部分文書IDは、部分文書m1〜mnごとに異なる値である。この部分文書IDは、電子文書Mにおける各部分文書m1〜mnの出現位置に従って、昇順(または降順)となるようにm1〜mnに割り当てられている。以下、各部分文書m1〜mnに割り当てられている部分文書IDをそれぞれ「SD1,SD2,…,SDn」と表記する。また、文書IDおよび部分文書IDが追加された部分文書miを「D‖SDi‖mi」(i=1,2,…,n)と表記する。
このあと、各iに対して、部分文書「D‖SDi‖mi」のハッシュ値を算出する。具体的には、ハッシュ関数を利用して、各部分文書「D‖SDi‖mi」から固定長の擬似乱数を算出する。以下、各部分文書「D‖SDi‖mi」のハッシュ値をそれぞれ「h1,h2,…,hn」と表記する。
このあと、各ハッシュ値h1〜hnに当該各ハッシュ値h1〜hnの部分文書m1〜mnに割り当てられている文書IDおよび部分文書IDを割り当てる。以下、文書IDおよび部分文書IDが追加されたハッシュ値h1〜hnを「D‖SDi‖hi」(i=1,2,…,n)と表記する。
このあと、各iに対して、署名者の秘密鍵を用いて、「D‖SDi‖hi」(i=1,2,…,n)に対する第1の電子署名を生成する。以下、各ハッシュ値「D‖SDi‖hi」に対する第1の電子署名を「σ1,σ2,…,σn」と表記する。
ここで、署名者の秘密鍵および公開鍵の鍵生成について説明する。秘密鍵および公開鍵を生成する場合、まず、適切な大きさの素数pと、要素数がpの群Gおよびその生成元gと、要素数がpの群Gとは異なる群G’と、G×Gと、から群G’への双線形写像eを生成する。
このあと、「1」以上「p−1」以下の整数から、予測不可能な整数skを決定する。さらに、gskを算出し、pkとして設定する。この結果、署名者の秘密鍵をsk、公開鍵をpkとする。以下、署名者の秘密鍵を「秘密鍵sk」、公開鍵を「公開鍵pk」と表記する。
第1の電子署名σ1〜σnを生成する場合、各iに対して、第1の電子署名σi=H(D||SDi||hi)skを算出する。関数Hは、任意の値を群Gの値に変換する関数であり、出力値から入力値を求めることが困難な関数である。
なお、上述した秘密鍵および公開鍵の鍵生成の詳細は、たとえば、『Boneh,Gentry,Lynn,Shacham,“Aggregate and Verifiably Encrypted Signatures from Bilinear Maps”,Eurocrypt 2003, Lecture Notes in Computer Science(LNCS) Vol.2656,pp.416−432,2003』を参照。
図7の説明に戻り、第1の電子署名σ1〜σnを生成後、該第1の電子署名σ1〜σnを集約した集約電子署名σを算出する。具体的には、各第1の電子署名σ1〜σnを乗算することにより、集約電子署名σを算出することとしてもよい。以下、第1の電子署名σ1〜σnを集約した集約電子署名を「σ」と表記する。
また、各iに対して、署名者の秘密鍵skを用いて、部分文書「D‖SDi‖mi」に対する第2の電子署名を生成する。以下、各部分文書「D‖SDi‖mi」に対する第2の電子署名を「τ1,τ2,…,τn」と表記する。
なお、第1および第2の電子署名の生成方式としては、たとえば、素因数分解に基づくRSA署名方式やESIGN署名、離散対数に基づくエルガマル署名やDSA署名、楕円離散対数に基づく楕円エルガマル署名や楕円DSA署名などを用いることができる。
上述した第1の電子署名σ1〜σnおよび第2の電子署名τ1〜τnは、それぞれ対応する各部分文書「D‖SDi‖mi」に規定される。また、第1の電子署名σ1〜σnを集約した集約電子署名σは、電子文書Mに関連付けられる。
このように、各部分文書「D‖SDi‖mi」に第1の電子署名σ1〜σnおよび第2の電子署名τ1〜τnを規定し、さらに、集約電子署名σを電子文書Mに関連付けることにより、各部分文書「D‖SDi‖mi」に対する改訂がおこなわれた場合に、改訂後の電子文書M(改訂文書R)の真正性を検証することができる。
(電子文書Mの初期状態)
つぎに、電子文書Mの初期状態について説明する。図8は、実施例1における電子文書Mの初期状態の一例を示す説明図である。以下、文書IDおよび部分文書IDが追加された部分文書「D‖SDi‖mi」を「mi’」と表記する。
図8において、電子文書Mは、複数の部分文書m1’〜m7’に分割されている。各部分文書m1’〜m7’には、それぞれ対応する第1の電子署名σ1〜σ7および第2の電子署名τ1〜τ7が規定されている。また、電子文書Mには、第1の電子署名σ1〜σ7を集約した集約電子署名σが関連付けられている。電子文書Mの初期状態において、これら部分文書m1’〜m7’の状態は、墨塗り可能でかつ削除可能な状態の『SADA』である。
(部分文書状態の表現方式)
つぎに、各部分文書mi’の状態の表現方式について説明する。図9は、実施例1における部分文書状態の表現方式を示す説明図である。以下、文書IDおよび部分文書IDが追加されたハッシュ値「D‖SDi‖hi」を「hi’」と表記する。図9において、各部分文書mi’の状態が、部分文書mi’、ハッシュ値hi’、第1の電子署名σiおよび第2の電子署名τiの組み合わせによって表現されている。
まず、部分文書mi’、第1の電子署名σiおよび第2の電子署名τiの組み合わせによって、墨塗り可能でかつ削除可能な状態(初期状態)をあらわす『SADA』が表現されている。この場合、集約電子署名σには第1の電子署名σiが含まれている。
また、部分文書mi’および第2の電子署名τiの組み合わせによって、墨塗り可能でかつ削除禁止な状態をあらわす『SADP』が表現されている。この場合、集約電子署名σの中から第1の電子署名σiが削除されている。
また、ハッシュ値hi’、第1の電子署名σiおよび第2の電子署名τiの組み合わせによって、墨塗り済みでかつ削除可能な状態をあらわす『SDA』が表現されている。この場合、集約電子署名σには第1の電子署名σiが含まれている。
また、ハッシュ値hi’および第2の電子署名τiによって、墨塗り済みでかつ削除禁止な状態をあらわす『SDP』が表現されている。この場合、集約電子署名σの中から第1の電子署名σiが削除されている。
また、部分文書mi’および第1の電子署名σiの組み合わせによって、墨塗り禁止でかつ削除可能な状態をあらわす『SPDA』が表現されている。また、部分文書mi’によって、墨塗り禁止でかつ削除禁止な状態をあらわす『SPDP』が表現されている。この場合、集約電子署名σの中から第1の電子署名σiが削除されている。
また、部分文書mi’、ハッシュ値hi’、第1の電子署名σiおよび第2の電子署名τiのいずれも存在していない組み合わせによって、削除済みの状態をあらわす『D』が表現されている。この場合、集約電子署名σの中から第1の電子署名σiが削除されている。
(状態間の状態遷移)
つぎに、図6に示した状態遷移T1〜T12について説明する。まず、状態遷移T1は、『SADA』から『SPDA』への遷移をあらわしている。『SADA』から『SPDA』へ遷移させるためには、部分文書mi’に規定されている第2の電子署名τiを削除する。なお、『SPDA』から『SADA』へ遷移させることはできない。なぜなら、『SPDA』は第2の電子署名τiを有していないため、『SPDA』から『SADA』への遷移は不能となる。
状態遷移T2は、『SADA』から『SPDP』への遷移をあらわしている。『SADA』から『SPDP』へ遷移させるためには、部分文書mi’に規定されている第1の電子署名σiおよび第2の電子署名τiを削除する。なお、『SPDP』から『SADA』へ遷移させることはできない。なぜなら、『SPDP』は第1の電子署名σiおよび第2の電子署名τiを有していないため、『SPDP』から『SADA』への遷移は不能となる。
状態遷移T3は、『SADA』から『SADP』への遷移をあらわしている。『SADA』から『SADP』へ遷移させるためには、部分文書mi’に規定されている第1の電子署名σiを削除する。なお、『SADP』から『SADA』へ遷移させることはできない。なぜなら、『SADP』は第1の電子署名σiを有していないため、『SADP』から『SADA』への遷移は不能となる。
状態遷移T4は、『SADA』から『SDP』への遷移をあらわしている。『SADA』から『SDP』へ遷移させるためには、部分文書mi’をハッシュ値hi’に置き換えるとともに、部分文書mi’に規定されている第1の電子署名σiを削除する。なお、『SDP』から『SADA』へ遷移させることはできない。なぜなら、『SDP』は部分文書mi’がハッシュ値hi’に置き換えられており、ハッシュ値hi’から部分文書mi’を求めることができないため、『SDP』から『SADA』への遷移は不能となる。
状態遷移T5は、『SADA』から『SDA』への遷移をあらわしている。『SADA』から『SDA』へ遷移させるためには、部分文書mi’をハッシュ値hi’に置き換える。なお、『SDA』から『SADA』へ遷移させることはできない。なぜなら、『SDA』は部分文書mi’がハッシュ値hi’に置き換えられており、ハッシュ値hi’から部分文書mi’を求めることができないため、『SDA』から『SADA』への遷移は不能となる。
状態遷移T6は、『SADA』から『D』への遷移をあらわしている。『SADA』から『D』へ遷移させるためには、集約電子署名σの中から部分文書mi’に規定されている第1の電子署名σiを削除するとともに、部分文書mi’と部分文書mi’に規定されている第1の電子署名σiおよび第2の電子署名τiとを削除する。なお、『D』から『SADA』へ遷移させることはできない。なぜなら、『D』は部分文書mi’と部分文書mi’に規定されている第1の電子署名σiおよび第2の電子署名τiとを有していないため、『D』から『SADA』への遷移は不能となる。
状態遷移T7は、『SPDA』から『SPDP』への遷移をあらわしている。『SPDA』から『SPDP』へ遷移させるためには、部分文書mi’に規定されている第1の電子署名σiを削除する。なお、『SPDP』から『SPDA』へ遷移させることはできない。なぜなら、『SPDP』は第1の電子署名σiを有していないため、『SPDP』から『SPDA』への遷移は不能となる。
また、『SPDP』から『SDP』へ遷移させることはできない。なぜなら、『SPDP』は第2の電子署名τiを有していないため、『SPDP』から『SDP』への遷移は不能となる。また、『SPDP』から『D』へ遷移させることはできない。なぜなら、『SPDP』は第1の電子署名σiを有しておらず、集約電子署名σの中から部分文書mi’に規定されている第1の電子署名σiを削除することができないため、『SPDP』から『D』への遷移は不能となる。
状態遷移T8は、『SPDA』から『D』への遷移をあらわしている。『SPDA』から『D』へ遷移させるためには、集約電子署名σの中から部分文書mi’に規定されている第1の電子署名σiを削除するとともに、部分文書mi’と部分文書mi’に規定されている第1の電子署名σiとを削除する。
なお、『D』から『SPDA』へ遷移させることはできない。なぜなら、『D』は部分文書mi’と部分文書mi’に規定されている第1の電子署名σiとを有していないため、『D』から『SPDA』への遷移は不能となる。また、『SPDA』から『SDA』へ遷移させることはできない。なぜなら、『SPDA』は第2の電子署名τiを有していないため、『SPDA』から『SDA』への遷移は不能となる。
状態遷移T9は、『SADP』から『SPDP』への遷移をあらわしている。『SADP』から『SPDP』へ遷移させるためには、部分文書mi’に規定されている第2の電子署名τiを削除する。なお、『SPDP』から『SADP』へ遷移させることはできない。なぜなら、『SPDP』は第2の電子署名τiを有していないため、『SPDP』から『SADP』への遷移は不能となる。
状態遷移T10は、『SADP』から『SDP』への遷移をあらわしている。『SADP』から『SDP』へ遷移させるためには、部分文書mi’をハッシュ値hi’に置き換える。なお、『SDP』から『SADP』へ遷移させることはできない。なぜなら、『SDP』は部分文書mi’がハッシュ値hi’に置き換えられており、ハッシュ値hi’から部分文書mi’を求めることができないため、『SDP』から『SADP』への遷移は不能となる。
また、『SDP』から『D』へ遷移させることはできない。なぜなら、『SDP』は第1の電子署名σiを有しておらず、集約電子署名σの中から部分文書mi’に規定されている第1の電子署名σiを削除することができないため、『SDP』から『D』への遷移は不能となる。
状態遷移T11は、『SDA』から『SDP』への遷移をあらわしている。『SDA』から『SDP』へ遷移させるためには、部分文書mi’に規定されている第1の電子署名σiを削除する。なお、『SDP』から『SDA』へ遷移させることはできない。なぜなら、『SDP』は第1の電子署名σiを有していないため、『SDP』から『SDA』への遷移は不能となる。
状態遷移T12は、『SDA』から『D』への遷移をあらわしている。『SDA』から『D』へ遷移させるためには、集約電子署名σの中から部分文書mi’に規定されている第1の電子署名σiを削除するとともに、ハッシュ値hi’と部分文書mi’に規定されている第1の電子署名σiおよび第2の電子署名τiとを削除する。なお、『D』から『SDA』へ遷移させることはできない。なぜなら、『D』はハッシュ値hi’と部分文書mi’に規定されている第1の電子署名σiおよび第2の電子署名τiとを有していないため、『D』から『SDA』への遷移は不能となる。
ここで、図8に示した電子文書Mを例に挙げて、状態遷移T1〜T12の具体例について説明する。たとえば、部分文書m1’〜m7’のうち部分文書m3’を『SADA』から『SPDA』へ遷移させるためには(状態遷移T1)、部分文書m3’に規定されている第2の電子署名τ3を削除する。
このあと、部分文書m3’を『SPDA』から『SPDP』へ遷移させるためには(状態遷移T7)、部分文書m3’に規定されている第1の電子署名σ3を削除する。また、部分文書m3’を『SADA』から『SDA』へ遷移させるためには(状態遷移T5)、部分文書m3’をハッシュ値h3’に置き換える。
なお、状態遷移T4,T5およびT10において、部分文書mi’がハッシュ値hi’に置き換えられた場合、この部分文書mi’に割り振られている添字を添字集合Sに追加する。これにより、添字集合Sを参照することによって、どの部分文書mi’が墨塗りされているのかを判断することができる。
上記添字は、各部分文書mi’、当該各部分文書mi’に規定されている第1の電子署名σiおよび第2の電子署名τiに予め割り振られており、各部分文書mi’と関連付けて記憶領域に保持されている。また、添字は、電子文書Mの改訂が終了すると、新たに割り振られることとなり、それにともなって添字集合Sに保持されている添字を更新する。
たとえば、電子文書Mが部分文書m1’〜m7’からなり、各部分文書m1’〜m7’にそれぞれ「1」〜「7」の添字が割り振られているとする。このとき、部分文書m7’が墨塗りされた場合には、添字集合Sに添字「7」を追加することとなる。また、部分文書m6’が削除された場合、改訂終了時に、添字を振り直し、部分文書m7’の添字が「6」となる。この場合、添字集合Sに保持されている添字を「7」から「6」に更新する。
(改訂処理手順)
つぎに、実施例1における改訂処理手順について説明する。図10〜図16は、実施例1における改訂処理手順を示すフローチャートである。図10のフローチャートにおいて、まず、取得部301により、複数の部分文書m1’〜mn’からなる電子文書Mを取得したか否かを判断する(ステップS1001)。具体的には、たとえば、図8に示したような電子文書Mを取得する。
ここで、電子文書Mを取得するのを待って(ステップS1001:No)、取得した場合(ステップS1001:Yes)、指定部302により、改訂者の指定入力を受け付けたか否かを判断する(ステップS1002)。ここで、指定を受け付けるのを待って(ステップS1002:No)、受け付けた場合(ステップS1002:Yes)、墨塗り禁止対象の指定を受け付けたか否かを判断する(ステップS1003)。
ここで、墨塗り禁止対象の指定を受け付けた場合(ステップS1003:Yes)、図11に示すステップS1101に移行する。一方で、墨塗り禁止対象の指定を受け付けていない場合(ステップS1003:No)、削除禁止対象の指定を受け付けたか否かを判断する(ステップS1004)。
ここで、削除禁止対象の指定を受け付けた場合(ステップS1004:Yes)、図12に示すステップS1201に移行する。一方で、削除禁止対象の指定を受け付けていない場合(ステップS1004:No)、削除対象の指定を受け付けたか否かを判断する(ステップS1005)。
ここで、削除対象の指定を受け付けた場合(ステップS1005:Yes)、図13に示すステップS1301に移行する。一方で、削除対象の指定を受け付けていない場合(ステップS1005:No)、墨塗り禁止対象でかつ削除禁止対象の指定を受け付けたか否かを判断する(ステップS1006)。
ここで、墨塗り禁止対象でかつ削除禁止対象の指定を受け付けた場合(ステップS1006:Yes)、図14に示すステップS1401に移行する。一方で、墨塗り禁止対象でかつ削除禁止対象の指定を受け付けていない場合(ステップS1006:No)、墨塗り対象の指定を受け付けたか否かを判断する(ステップS1007)。
ここで、墨塗り対象の指定を受け付けた場合(ステップS1007:Yes)、図15に示すステップS1501に移行する。一方で、墨塗り対象の指定を受け付けていない場合(ステップS1007:No)、墨塗り対象でかつ削除禁止対象の指定を受け付けたか否かを判断する(ステップS1008)。
ここで、墨塗り対象でかつ削除禁止対象の指定を受け付けた場合(ステップS1008:Yes)、図16に示すステップS1601に移行する。一方で、墨塗り対象でかつ削除禁止対象の指定を受け付けていない場合(ステップS1008:No)、改訂終了を示す指定を受け付けたと判断し、出力部306により、改訂文書Rを出力して(ステップS1009)、本フローチャートによる一連の処理を終了する。
なお、改訂終了を示す指定は、改定対象を指定する場合と同様に、たとえば、図2に示したキーボード221やマウス222などの入力装置220を改訂者が操作することによって受け付ける。また、ステップS1001において取得される電子文書Mは、既に改訂処理が実行された改訂文書Rであってもよい。
つぎに、図11に示すフローチャートにおいて、まず、判断部303により、墨塗り禁止対象に指定された部分文書mi’の状態が『SADA』であるか否かを判断する(ステップS1101)。ここで、『SADA』であった場合(ステップS1101:Yes)、削除部304により、墨塗り禁止対象に指定された部分文書mi’に規定されている第2の電子署名τiを削除する(ステップS1102)。
このあと、設定部305により、墨塗り禁止対象に指定された部分文書mi’の状態を『SADA』から『SPDA』に設定し(ステップS1103)、図10に示したステップS1002に戻る。また、ステップS1101において、『SADA』でなかった場合(ステップS1101:No)、判断部303により、墨塗り禁止対象に指定された部分文書mi’の状態が『SADP』であるか否かを判断する(ステップS1104)。
ここで、『SADP』であった場合(ステップS1104:Yes)、削除部304により、墨塗り禁止対象に指定された部分文書mi’に規定されている第2の電子署名τiを削除する(ステップS1105)。このあと、設定部305により、墨塗り禁止対象に指定された部分文書mi’の状態を『SADP』から『SPDP』に設定し(ステップS1106)、図10に示したステップS1002に戻る。
また、ステップS1104において、『SADP』でなかった場合(ステップS1104:No)、出力部306により、墨塗り禁止対象として指定することができない部分文書mi’が指定されている旨を報知するエラーを出力して(ステップS1107)、図10に示したステップS1002に戻る。
つぎに、図12に示すフローチャートにおいて、まず、判断部303により、削除禁止対象に指定された部分文書mi’の状態が『SADA』であるか否かを判断する(ステップS1201)。ここで、『SADA』であった場合(ステップS1201:Yes)、削除部304により、削除禁止対象に指定された部分文書mi’に規定されている第1の電子署名σiを削除する(ステップS1202)。
このあと、設定部305により、削除禁止対象に指定された部分文書mi’の状態を『SADA』から『SADP』に設定し(ステップS1203)、図10に示したステップS1002に戻る。また、ステップS1201において、『SADA』でなかった場合(ステップS1201:No)、判断部303により、削除禁止対象に指定された部分文書mi’の状態が『SPDA』であるか否かを判断する(ステップS1204)。
ここで、『SPDA』であった場合(ステップS1204:Yes)、削除部304により、削除禁止対象に指定された部分文書mi’に規定されている第1の電子署名σiを削除する(ステップS1205)。このあと、設定部305により、削除禁止対象に指定された部分文書mi’の状態を『SPDA』から『SPDP』に設定し(ステップS1206)、図10に示したステップS1002に戻る。
また、ステップS1204において、『SPDA』でなかった場合(ステップS1204:No)、判断部303により、削除禁止対象に指定された部分文書mi’の状態が『SDA』であるか否かを判断する(ステップS1207)。ここで、『SDA』であった場合(ステップS1207:Yes)、削除部304により、削除禁止対象に指定された部分文書mi’に規定されている第1の電子署名σiを削除する(ステップS1208)。
このあと、設定部305により、削除禁止対象に指定された部分文書mi’の状態を『SDA』から『SDP』に設定し(ステップS1209)、図10に示したステップS1002に戻る。また、ステップS1207において、『SDA』でなかった場合(ステップS1208:No)、出力部306により、削除禁止対象として指定することができない部分文書mi’が指定されている旨を報知するエラーを出力して(ステップS1210)、図10に示したステップS1002に戻る。
つぎに、図13に示すフローチャートにおいて、まず、判断部303により、削除対象に指定された部分文書mi’の状態が『SADA』であるか否かを判断する(ステップS1301)。ここで、『SADA』であった場合(ステップS1301:Yes)、削除部304により、集約電子署名σの中から削除対象に指定された部分文書mi’に規定されている第1の電子署名σiを削除する(ステップS1302)。
このあと、削除部304により、削除対象に指定された部分文書mi’と当該部分文書mi’に規定されている第1の電子署名σiおよび第2の電子署名τiとを削除する(ステップS1303)。そして、設定部305により、削除対象に指定された部分文書mi’の状態を『SADA』から『D』に設定し(ステップS1304)、図10に示したステップS1002に戻る。
また、ステップS1301において、『SADA』でなかった場合(ステップS1301:No)、判断部303により、削除対象に指定された部分文書mi’の状態が『SPDA』であるか否かを判断する(ステップS1305)。ここで、『SPDA』であった場合(ステップS1305:Yes)、削除部304により、集約電子署名σの中から部分文書mi’に規定されている第1の電子署名σiを削除する(ステップS1306)。
このあと、削除部304により、削除対象に指定された部分文書mi’と当該部分文書mi’に規定されている第1の電子署名σiおよび第2の電子署名τiとを削除する(ステップS1307)。そして、設定部305により、削除対象に指定された部分文書mi’の状態を『SPDA』から『D』に設定し(ステップS1308)、図10に示したステップS1002に戻る。
また、ステップS1305において、『SPDA』でなかった場合(ステップS1305:No)、判断部303により、削除対象に指定された部分文書mi’の状態が『SDA』であるか否かを判断する(ステップS1309)。ここで、『SDA』であった場合(ステップS1309:Yes)、削除部304により、集約電子署名σの中から削除対象に指定された部分文書mi’に規定されている第1の電子署名σiを削除する(ステップS1310)。
このあと、削除部304により、削除対象に指定された部分文書mi’のハッシュ値hi’と当該部分文書mi’に規定されている第1の電子署名σiおよび第2の電子署名τiとを削除する(ステップS1311)。そして、設定部305により、削除対象に指定された部分文書mi’の状態を『SDA』から『D』に設定し(ステップS1312)、図10に示したステップS1002に戻る。
また、ステップS1309において、『SDA』でなかった場合(ステップS1309:No)、出力部306により、削除対象として指定することができない部分文書mi’が指定されている旨を報知するエラーを出力して(ステップS1313)、図10に示したステップS1002に戻る。
つぎに、図14に示すフローチャートにおいて、まず、判断部303により、墨塗り禁止対象でかつ削除禁止対象に指定された部分文書mi’の状態が『SADA』であるか否かを判断する(ステップS1401)。ここで、『SADA』であった場合(ステップS1401:Yes)、削除部304により、墨塗り禁止対象でかつ削除禁止対象に指定された部分文書mi’に規定されている第1の電子署名σiおよび第2の電子署名τiを削除する(ステップS1402)。
このあと、設定部305により、墨塗り禁止対象でかつ削除禁止対象に指定された部分文書mi’の状態を『SADA』から『SPDP』に設定し(ステップS1403)、図10に示したステップS1002に戻る。また、ステップS1401において、『SADA』でなかった場合(ステップS1401:No)、出力部306により、墨塗り禁止対象でかつ削除禁止対象として指定することができない部分文書mi’が指定されている旨を報知するエラーを出力して(ステップS1404)、図10に示したステップS1002に戻る。
つぎに、図15に示すフローチャートにおいて、まず、判断部303により、墨塗り対象に指定された部分文書mi’の状態が『SADA』であるか否かを判断する(ステップS1501)。ここで、『SADA』であった場合(ステップS1501:Yes)、墨塗り対象に指定された部分文書mi’をハッシュ値hi’に置き換える(ステップS1502)。
このあと、設定部305により、墨塗り対象に指定された部分文書mi’の状態を『SADA』から『SDA』に設定し(ステップS1503)、図10に示したステップS1002に戻る。また、ステップS1501において、『SADA』でなかった場合(ステップS1501:No)、判断部303により、墨塗り対象に指定された部分文書mi’の状態が『SADP』であるか否かを判断する(ステップS1504)。
ここで、『SADP』であった場合(ステップS1504:Yes)、墨塗り対象に指定された部分文書mi’をハッシュ値hi’に置き換える(ステップS1505)。このあと、設定部305により、墨塗り対象に指定された部分文書mi’の状態を『SADP』から『SDP』に設定し(ステップS1506)、図10に示したステップS1002に戻る。
また、ステップS1504において、『SADP』でなかった場合(ステップS1504:No)、出力部306により、墨塗り対象として指定することができない部分文書mi’が指定されている旨を報知するエラーを出力して(ステップS1507)、図10に示したステップS1002に戻る。
つぎに、図16に示すフローチャートにおいて、まず、判断部303により、墨塗り対象でかつ削除禁止対象に指定された部分文書mi’の状態が『SADA』であるか否かを判断する(ステップS1601)。ここで、『SADA』であった場合(ステップS1601:Yes)、墨塗り対象でかつ削除禁止対象に指定された部分文書mi’をハッシュ値hi’に置き換える(ステップS1602)。
このあと、削除部304により、墨塗り対象でかつ削除禁止対象に指定された部分文書mi’に規定されている第1の電子署名σiを削除する(ステップS1603)。そして、設定部305により、墨塗り対象でかつ削除禁止対象に指定された部分文書mi’の状態を『SADA』から『SDP』に設定し(ステップS1604)、図10に示したステップS1002に戻る。
また、ステップS1601において、『SADA』でなかった場合(ステップS1601:No)、出力部306により、墨塗り対象でかつ削除禁止対象として指定することができない部分文書mi’が指定されている旨を報知するエラーを出力して(ステップS1605)、図10に示したステップS1002に戻る。
(検証処理の概要)
つぎに、実施例1における改訂文書Rの真正性を検証する検証処理の概要について説明する。通常、上述した改訂処理を実行することにより、各部分文書m1’〜mn’に対して正当な改訂がおこなわれる。一方で、不正な改訂者による不当な改訂がおこなわれる場合がある。
たとえば、墨塗り禁止となっている部分文書mi’を強制的に墨塗りする、あるいは、削除禁止となっている部分文書mi’を強制的に削除するなどの改ざんがおこなわれてしまう場合がある。そこで、改訂文書Rに対して検証処理を実行することにより、該改訂文書Rの真正性を検証する。以下、改訂文書Rを構成する各部分文書を「X1〜Xn」と表記する。
ここでは、電子文書Mの署名者の公開鍵pkを用いて、各部分文書X1〜Xnに規定されている第1の電子署名σ1〜σn、第2の電子署名τ1〜τn、および改訂文書Rに関連付けられている集約電子署名σを検証することにより、改訂文書Rの真正性を検証する。
具体的には、まず、添字集合Sを参照することにより、関数Hを用いて各部分文書X1〜Xnに対するハッシュ値Hiを求める。ここで、添字iが添字集合Sに含まれている場合には『Hi=mi’』とし、含まれていない場合には、『Hi=H(D||SDi||hi)』とする。すなわち、墨塗りされていない部分文書mi’について、関数Hを用いてハッシュ値を求める。
つぎに、第1の電子署名σiを検証する。具体的には、第1の電子署名σiに対して、下記式(1)が成立するか否かを判定し、その結果、成立する場合にのみ検証に合格したと判断する。
e(σi,g)=e(Hi,pk) …(1)
つぎに、集約電子署名σを検証する。具体的には、集約電子署名σに対して、下記式(2)が成立するか否かを判定し、その結果、成立する場合にのみ検証に合格したと判断する。ただし、下記式(2)の右辺には、集約電子署名σに含まれる第1の電子署名σiに対応するすべてのHiを用いる。
e(σ,g)={e(Hi,pk)×…} …(2)
たとえば、集約電子署名σに含まれる第1の電子署名σiが「σ1,σ2,σ3」であった場合、上記式(2)の右辺には、各第1の電子署名σ1〜σ3に対応するH1,H2,H3を用いる。すなわち、『e(σ,g)={e(H1,pk)×e(H2,pk)×e(H3,pk)}』となる。
つぎに、第2の電子署名τiを検証する。具体的には、第2の電子署名τiを生成する際に使用した電子署名アルゴリズムの検証式を利用する。すなわち、第2の電子署名τiに対して、第2の電子署名τiの生成に使用した検証式が成立するか否かを判定し、その結果、成立する場合にのみ検証に合格したと判断する。
以上のように、第1の電子署名σi、第2の電子署名τiおよび集約電子署名σを検証し、すべての検証に合格した場合に、改訂文書Rが真正であると判断する。一方で、第1の電子署名σi、第2の電子署名τiおよび集約電子署名σのうち一つでも検証に失敗した場合は、改訂文書Rが不当であると判断する。
(検証処理手順)
つぎに、実施例1にかかる電子文書管理装置101の検証処理手順について説明する。図17は、実施例1にかかる電子文書管理装置の検証処理手順を示すフローチャートである。図17のフローチャートにおいて、まず、取得部301により、改訂文書Rを取得したか否かを判断する(ステップS1701)。具体的には、たとえば、上述した部分文書X1〜Xnからなる改訂文書Rを取得する。
ここで、改訂文書Rを取得するのを待って(ステップS1701:No)、取得した場合(ステップS1701:Yes)、添字集合Sを参照して各部分文書X1〜Xnに対するハッシュ値Hiを算出することにより、部分文書X1〜Xnをハッシュ値H1〜Hnに置き換える(ステップS1702)。
このあと、検証部307により、各iに対して、第1の電子署名σiを検証する(ステップS1703)。つぎに、第1の電子署名σiの検証結果を判断して(ステップS1704)、検証に合格した場合(ステップS1704:Yes)、検証部307により、集約電子署名σを検証する(ステップS1705)。
このあと、集約電子署名σの検証結果を判断して(ステップS1706)、検証に合格した場合(ステップS1706:Yes)、検証部307により、各iに対して、第2の電子署名τiを検証する(ステップS1707)。
このあと、第2の電子署名τiの検証結果を判断して(ステップS1708)、検証に合格した場合(ステップS1708:Yes)、出力部306により、改訂文書Rの検証合格を示す検証結果を出力して(ステップS1709)、本フローチャートによる一連の処理を終了する。
また、ステップS1704、ステップS1706およびステップS1708のいずれかにおいて検証に不合格となった場合(ステップS1704,1706,1708:No)、出力部306により、改訂文書Rの不合格を示す検証結果を出力して(ステップS1710)、本フローチャートによる一連の処理を終了する。
以上説明した実施例1によれば、電子文書Mを構成する部分文書mi’に対して、『SADA』、『SADP』、『SDA』、『SDP』、『SPDA』、『SPDP』および『D』のいずれかの状態を設定することができる。また、これら状態間の遷移として、状態遷移T1〜T12を実現することができる。
このように、墨塗り禁止でかつ削除可能な状態である『SPDA』を含む7個の状態の設定を実現することにより、より柔軟な電子文書Mの改訂を実現し、改訂者の利便性の向上を図ることができる。さらに、電子文書Mに対して改訂がおこなわれた場合であっても、真正を検証可能な状態に保持することにより、電子文書Mの真正性を保証することができる。
また、各部分文書mi’に規定する第2の電子署名τiの生成・検証に、集約機能を持たない通常の電子署名方式を利用するため、署名生成のアルゴリズムを選択する際の自由度を向上させることができる。
つぎに、上述した実施の形態の実施例2について説明する。実施例2では、実施例1とは異なる表現方式によって各部分文書mi’の状態を表現する。なお、実施例1において説明した箇所と同様の箇所については、図示および説明を省略する。
(電子文書Mの初期状態)
まず、電子文書Mの初期状態について説明する。図18は、実施例2における電子文書Mの初期状態の一例を示す説明図である。図18において、電子文書Mは、複数の部分文書m1’〜m7’に分割されている。各部分文書m1’〜m7’には、それぞれ対応する第1の電子署名σ1〜σ7および第2の電子署名τ1〜τ7が規定されている。
また、電子文書Mには、第1の電子署名σ1〜σ7を集約した集約電子署名σおよび第2の電子署名τ1〜τ7を集約した集約電子署名τが関連付けられている。電子文書Mの初期状態において、これら部分文書m1’〜m7’の状態は、墨塗り可能でかつ削除可能な状態の『SADA』である。
(部分文書状態の表現方式)
つぎに、各部分文書mi’の状態の表現方式について説明する。図19は、実施例2における部分文書状態の表現方式を示す説明図である。図19において、各部分文書mi’の状態が、部分文書mi’、ハッシュ値hi’、第1の電子署名σiおよび第2の電子署名τiの組み合わせによって表現されている。
まず、部分文書mi’、第1の電子署名σiおよび第2の電子署名τiの組み合わせによって、墨塗り可能でかつ削除可能な状態(初期状態)をあらわす『SADA』が表現されている。この場合、集約電子署名σおよびτには、第1の電子署名σiおよび第2の電子署名τiがそれぞれ含まれている。
また、部分文書mi’および第2の電子署名τiの組み合わせによって、墨塗り可能でかつ削除禁止な状態をあらわす『SADP』が表現されている。この場合、集約電子署名σの中から第1の電子署名σiが削除されている。
また、ハッシュ値hi’、第1の電子署名σiおよび第2の電子署名τiの組み合わせによって、墨塗り済みでかつ削除可能な状態をあらわす『SDA』が表現されている。この場合、集約電子署名σおよびτには、第1の電子署名σiおよび第2の電子署名τiがそれぞれ含まれている。また、ハッシュ値hi’および第2の電子署名τiによって、墨塗り済みでかつ削除禁止な状態をあらわす『SDP』が表現されている。
また、部分文書mi’および第1の電子署名σiの組み合わせによって、墨塗り禁止でかつ削除可能な状態をあらわす『SPDA』が表現されている。この場合、集約電子署名τの中から第2の電子署名τiが削除されている。
また、部分文書mi’によって、墨塗り禁止でかつ削除禁止な状態をあらわす『SPDP』が表現されている。この場合、集約電子署名σおよびτの中から第1の電子署名σiおよび第2の電子署名τiがそれぞれ削除されている。
また、部分文書mi’、ハッシュ値hi’、第1の電子署名σiおよび第2の電子署名τiのいずれも存在しない組み合わせによって、削除済みの状態をあらわす『D』が表現されている。この場合、集約電子署名σおよびτの中から第1の電子署名σiおよび第2の電子署名τiがそれぞれ削除されている。
(改訂処理手順)
つぎに、実施例2における改訂処理手順について説明する。図20〜図22は、実施例2における改訂処理手順を示すフローチャートである。なお、実施例2における改訂処理手順のうち実施例1で説明した処理(図10、図12、図15および図16に示した各工程)と同一処理については、ここでは図示および説明を省略する。ただし、図10に示したステップS1001において取得される電子文書Mは、たとえば、図18に示した電子文書Mである。
図20に示すフローチャートにおいて、まず、判断部303により、墨塗り禁止対象に指定された部分文書mi’の状態が『SADA』であるか否かを判断する(ステップS2001)。ここで、『SADA』であった場合(ステップS2001:Yes)、削除部304により、第2の集約電子署名τの中から墨塗り禁止対象に指定された部分文書mi’に規定されている第2の電子署名τiを削除する(ステップS2002)。
このあと、削除部304により、墨塗り禁止対象に指定された部分文書mi’に規定されている第2の電子署名τiを削除する(ステップS2003)。そして、設定部305により、墨塗り禁止対象に指定された部分文書mi’の状態を『SADA』から『SPDA』に設定し(ステップS2004)、図10に示したステップS1002に戻る。
また、ステップS2001において、『SADA』でなかった場合(ステップS2001:No)、判断部303により、墨塗り禁止対象に指定された部分文書mi’の状態が『SADP』であるか否かを判断する(ステップS2005)。ここで、『SADP』であった場合(ステップS2005:Yes)、削除部304により、第2の集約電子署名τの中から墨塗り禁止対象に指定された部分文書mi’に規定されている第2の電子署名τiを削除する(ステップS2006)。
このあと、削除部304により、墨塗り禁止対象に指定された部分文書mi’に規定されている第2の電子署名τiを削除する(ステップS2007)。そして、設定部305により、墨塗り禁止対象に指定された部分文書mi’の状態を『SADP』から『SPDP』に設定し(ステップS2008)、図10に示したステップS1002に戻る。
また、ステップS2005において、『SADP』でなかった場合(ステップS2005:No)、出力部306により、墨塗り禁止対象として指定することができない部分文書mi’が指定されている旨を報知するエラーを出力して(ステップS2009)、図10に示したステップS1002に戻る。
つぎに、図21に示すフローチャートにおいて、まず、判断部303により、削除対象に指定された部分文書mi’の状態が『SADA』であるか否かを判断する(ステップS2101)。ここで、『SADA』であった場合(ステップS2101:Yes)、削除部304により、集約電子署名σ,τの中から削除対象に指定された部分文書mi’に規定されている第1の電子署名σiおよび第2の電子署名τiをそれぞれ削除する(ステップS2102)。
このあと、削除部304により、削除対象に指定された部分文書mi’と当該部分文書mi’に規定されている第1の電子署名σiおよび第2の電子署名τiとを削除する(ステップS2103)。そして、設定部305により、削除対象に指定された部分文書mi’の状態を『SADA』から『D』に設定し(ステップS2104)、図10に示したステップS1002に戻る。
また、ステップS2101において、『SADA』でなかった場合(ステップS2101:No)、判断部303により、削除対象に指定された部分文書mi’の状態が『SPDA』であるか否かを判断する(ステップS2105)。ここで、『SPDA』であった場合(ステップS2105:Yes)、削除部304により、集約電子署名σの中から部分文書mi’に規定されている第1の電子署名σiを削除する(ステップS2106)。
このあと、削除部304により、削除対象に指定された部分文書mi’と当該部分文書mi’に規定されている第1の電子署名σiおよび第2の電子署名τiとを削除する(ステップS2107)。そして、設定部305により、削除対象に指定された部分文書mi’の状態を『SPDA』から『D』に設定し(ステップS2108)、図10に示したステップS1002に戻る。
また、ステップS2105において、『SPDA』でなかった場合(ステップS2105:No)、判断部303により、削除対象に指定された部分文書mi’の状態が『SDA』であるか否かを判断する(ステップS2109)。ここで、『SDA』であった場合(ステップS2109:Yes)、削除部304により、第1および第2の集約電子署名σ,τの中から削除対象に指定された部分文書mi’に規定されている第1の電子署名σiおよび第2の電子署名τiをそれぞれ削除する(ステップS2110)。
このあと、削除部304により、削除対象に指定された部分文書mi’のハッシュ値hi’と当該部分文書mi’に規定されている第1の電子署名σiおよび第2の電子署名τiとを削除する(ステップS2111)。そして、設定部305により、削除対象に指定された部分文書mi’の状態を『SDA』から『D』に設定し(ステップS2112)、図10に示したステップS1002に戻る。
また、ステップS2109において、『SDA』でなかった場合(ステップS2109:No)、出力部306により、削除対象として指定することができない部分文書mi’が指定されている旨を報知するエラーを出力して(ステップS2121)、図10に示したステップS1002に戻る。
つぎに、図22に示すフローチャートにおいて、まず、判断部303により、墨塗り禁止対象でかつ削除禁止対象に指定された部分文書mi’の状態が『SADA』であるか否かを判断する(ステップS2201)。ここで、『SADA』であった場合(ステップS2201:Yes)、削除部304により、集約電子署名τの中から削除対象に指定された部分文書mi’に規定されている第2の電子署名τiをそれぞれ削除する(ステップS2202)。
このあと、削除部304により、墨塗り禁止対象でかつ削除禁止対象に指定された部分文書mi’に規定されている第1の電子署名σiおよび第2の電子署名τiを削除する(ステップS2203)。そして、設定部305により、墨塗り禁止対象でかつ削除禁止対象に指定された部分文書mi’の状態を『SADA』から『SPDP』に設定し(ステップS2204)、図10に示したステップS1002に戻る。
また、ステップS2201において、『SADA』でなかった場合(ステップS2201:No)、出力部306により、墨塗り禁止対象でかつ削除禁止対象として指定することができない部分文書mi’が指定されている旨を報知するエラーを出力して(ステップS2205)、図10に示したステップS1002に戻る。
なお、実施例2における検証処理は、図17に示した検証処理手順に第2の電子署名τ1〜τnを集約した集約電子署名τを検証する工程を追加したものとなる。そして、第1の電子署名σi、第2の電子署名τi、第1の集約電子署名σおよび第2の集約電子署名τのすべての検証に合格した場合に、改訂文書Rの検証合格を示す検証結果を出力する。
以上説明した実施例2によれば、電子文書Mを構成する部分文書mi’に対して、『SADA』、『SADP』、『SDA』、『SDP』、『SPDA』、『SPDP』および『D』のいずれかの状態を設定することができる。また、これら状態間の遷移として、状態遷移T1〜T12を実現することができる。
また、部分文書mi’の各状態を表現するデータ保持(部分文書mi’、ハッシュ値hi’、第1の電子署名σi、第2の電子署名τi、第1の集約電子署名σおよび第2の集約電子署名τの組み合わせ)の方式が規則的となる。これにより、改訂処理の内容が規則的となり、実施例2を実現するプログラムを単純な記述で実現することができる。
つぎに、上述した実施の形態の実施例3について説明する。実施例3では、実施例1および2とは異なる表現方式によって各部分文書mi’の状態を表現する。なお、実施例1および2において説明した箇所と同様の箇所については、図示および説明を省略する。
(部分文書状態の表現方式)
図23は、実施例3における部分文書状態の表現方式を示す説明図である。図23において、各部分文書mi’の状態が、部分文書mi’、ハッシュ値hi’、第1の電子署名σiおよび第2の電子署名τiの組み合わせによって表現されている。
図23に示す実施例3における部分文書状態の表現方式うち、実施例2における部分文書状態とは異なる表現方式は『SDP』だけである。具体的には、ハッシュ値hi’によって、墨塗り済みでかつ削除禁止な状態をあらわす『SDP』が表現されている。
(改訂処理手順)
つぎに、実施例3における改訂処理手順について説明する。図24〜図26は、実施例3における改訂処理手順を示すフローチャートである。なお、実施例3における改訂処理手順のうち実施例1および2で説明した処理(図10、図20〜図22に示した各工程)と同一処理については、ここでは図示および説明を省略する。ただし、図10に示したステップS1001において取得される電子文書Mは、たとえば、図18に示す電子文書Mである。
図24に示すフローチャートにおいて、まず、判断部303により、削除禁止対象に指定された部分文書mi’の状態が『SADA』であるか否かを判断する(ステップS2401)。ここで、『SADA』であった場合(ステップS2401:Yes)、削除部304により、削除禁止対象に指定された部分文書mi’に規定されている第1の電子署名σiを削除する(ステップS2402)。
このあと、設定部305により、削除禁止対象に指定された部分文書mi’の状態を『SADA』から『SADP』に設定し(ステップS2403)、図10に示したステップS1002に戻る。また、ステップS2401において、『SADA』でなかった場合(ステップS2401:No)、判断部303により、削除禁止対象に指定された部分文書mi’の状態が『SPDA』であるか否かを判断する(ステップS2404)。
ここで、『SPDA』であった場合(ステップS2404:Yes)、削除部304により、削除禁止対象に指定された部分文書mi’に規定されている第1の電子署名σiを削除する(ステップS2405)。このあと、設定部305により、削除禁止対象に指定された部分文書mi’の状態を『SPDA』から『SPDP』に設定し(ステップS2406)、図10に示したステップS1002に戻る。
また、ステップS2404において、『SPDA』でなかった場合(ステップS2404:No)、判断部303により、削除禁止対象に指定された部分文書mi’の状態が『SDA』であるか否かを判断する(ステップS2407)。ここで、『SDA』であった場合(ステップS2407:Yes)、削除部304により、削除禁止対象に指定された部分文書mi’に規定されている第1の電子署名σiおよび第2の電子署名τiを削除する(ステップS2408)。
このあと、設定部305により、削除禁止対象に指定された部分文書mi’の状態を『SDA』から『SDP』に設定し(ステップS2409)、図10に示したステップS1002に戻る。また、ステップS2407において、『SDA』でなかった場合(ステップS2407:No)、出力部306により、削除禁止対象として指定することができない部分文書mi’が指定されている旨を報知するエラーを出力して(ステップS2410)、図10に示したステップS1002に戻る。
つぎに、図25に示すフローチャートにおいて、まず、判断部303により、墨塗り対象に指定された部分文書mi’の状態が『SADA』であるか否かを判断する(ステップS2501)。ここで、『SADA』であった場合(ステップS2501:Yes)、墨塗り対象に指定された部分文書mi’をハッシュ値hi’に置き換える(ステップS2502)。
このあと、設定部305により、墨塗り対象に指定された部分文書mi’の状態を『SADA』から『SDA』に設定し(ステップS2503)、図10に示したステップS1002に戻る。また、ステップS2501において、『SADA』でなかった場合(ステップS2501:No)、判断部303により、墨塗り対象に指定された部分文書mi’の状態が『SADP』であるか否かを判断する(ステップS2504)。
ここで、『SADP』であった場合(ステップS2504:Yes)、墨塗り対象に指定された部分文書mi’をハッシュ値hi’に置き換える(ステップS2505)。このあと、削除部304により、墨塗り対象に指定された部分文書mi’に規定されている第2の電子署名τiを削除する(ステップS2506)。そして、設定部305により、墨塗り対象に指定された部分文書mi’の状態を『SADP』から『SDP』に設定し(ステップS2507)、図10に示したステップS1002に戻る。
また、ステップS2504において、『SADP』でなかった場合(ステップS2504:No)、出力部306により、墨塗り対象として指定することができない部分文書mi’が指定されている旨を報知するエラーを出力して(ステップS2508)、図10に示したステップS1002に戻る。
つぎに、図26に示すフローチャートにおいて、まず、判断部303により、墨塗り対象でかつ削除禁止対象に指定された部分文書mi’の状態が『SADA』であるか否かを判断する(ステップS2601)。ここで、『SADA』であった場合(ステップS2601:Yes)、墨塗り対象でかつ削除禁止対象に指定された部分文書mi’をハッシュ値hi’に置き換える(ステップS2602)。
このあと、削除部304により、墨塗り対象でかつ削除禁止対象に指定された部分文書mi’に規定されている第1の電子署名σiおよび第2の電子署名τiを削除する(ステップS2603)。そして、設定部305により、墨塗り対象でかつ削除禁止対象に指定された部分文書mi’の状態を『SADA』から『SDP』に設定し(ステップS2604)、図10に示したステップS1002に戻る。
また、ステップS2601において、『SADA』でなかった場合(ステップS2601:No)、出力部306により、墨塗り対象でかつ削除禁止対象として指定することができない部分文書mi’が指定されている旨を報知するエラーを出力して(ステップS2605)、図10に示したステップS1002に戻る。
以上説明した実施例3によれば、電子文書Mを構成する部分文書mi’に対して、『SADA』、『SADP』、『SDA』、『SDP』、『SPDA』、『SPDP』および『D』のいずれかの状態を設定することができる。また、これら状態間の遷移として、状態遷移T1〜T12を実現することができる。
また、実施例2に比べて、『SDP』を表現する場合に第2の電子署名τiを必要としないため、各状態を表現するために必要となるデータ量を削減することができる。
つぎに、上述した実施の形態の実施例4について説明する。墨塗り・削除署名を適用する場合に、墨塗り禁止という部分文書の状態を必要としない状況が想定される。そこで、実施例4では、墨塗り禁止の状態をあらわす『SPDA』および『SPDP』を無効にする。
なお、実施例1〜3において、墨塗り禁止の状態をあらわす『SPDA』および『SPDP』を使用しないという運用も可能である。しかし、何らかの理由によって部分文書状態が墨塗り禁止の状態となった場合に問題が生じてしまう。さらに、不要なデータを保持することになり、ユーザの利便性を低下させる要因となってしまう。
ここで、上述した問題点を具体的に説明する。図27は、墨塗り禁止の状態を使用しない場合の問題点の一例を示す説明図である。図27において、オリジナル文書2710は、ある市(○×市)が保管している領収書の電子文書である。具体的には、各ページ(P1〜P3)には、宛先人を含む領収書の情報が記載されている。また、オリジナル文書2710には、市の公印を示す電子署名Xが付与されている。以下、オリジナル文書2710の文字列を部分文書として扱う。
あるユーザ(検証者)から領収書に関する情報公開請求があった場合、オリジナル文書2710には個人情報が記載されているため、そのまま公開されてしまうと、検証者に対してこれら個人情報が公開されてしまう。このため、部分的な情報秘匿が必要となる。ただし、この情報秘匿の手段は条例などによって墨塗りに限定されているとする。またオリジナル文書2710は、○×市が保管する全ての領収書が含まれているため、必要な領収書のみを抽出する必要もある。
そこで、情報秘匿の手段として墨塗り・削除署名を利用し、オリジナル文書2710から改訂文書を作成する場合を考える。墨塗り・削除署名では、部分的な情報の削除が可能となっているため、オリジナル文書2710から不要なページを削除することで、必要な領収書のみを抽出することが可能となる。
また墨塗り・削除署名では部分的な情報の墨塗りも可能であるから、オリジナル文書2710のうち不要な情報を墨塗りすることで、必要な情報のみを公開することが可能となる。このように墨塗り・削除署名を用いることで、改訂文書2720を作成することができる。
この改訂文書2720が公開された場合、検証者は2ページ目の具体的内容や、1ページ目と3ページ目に含まれる個人情報を特定することはできないため、情報の秘匿を実現できている。よって改訂文書2720は望ましい改訂文書となっている。
他方で、オリジナル文書2710において、何らかの理由によって領収書の宛先人を記載した全ての部分文書に対して墨塗り禁止という部分文書状態が設定されてしまった場合、宛先人の情報を墨塗りによって秘匿することはできないため、適切な改訂文書の作成が不可能となってしまう。そこで、実施例4では、予め墨塗り禁止の状態をあらわす『SPDA』および『SPDP』を無効にすることによって、上記のような問題を回避する。
(部分文書の状態および状態遷移)
まず、電子文書Mを構成する各部分文書の状態および状態遷移について説明する。図28は、部分文書状態および状態遷移を示す図表である。図28において、図表2800には、電子文書Mを構成する各部分文書に設定可能な部分文書の状態が表現されている。ここでは、墨塗り禁止でかつ削除可能な状態を『SPDA』および墨塗り禁止でかつ削除禁止な状態を『SPDP』を除く状態『SADA、SADP、SDA、SDP、D』が設定可能となっている。
また、図表2800には、状態間の遷移をあらわす状態遷移として、7個の状態遷移T3〜T6,T10〜T12が表現されている。これら状態遷移T3〜T6,T10〜T12は、改訂者によって各部分文書に対する改訂をおこなう際に、当該各部分文書の状態を他の状態に設定することができる状態遷移をあらわしている。
つぎに、電子文書Mの初期状態について説明する。図29は、実施例4における電子文書Mの初期状態の一例を示す説明図である。図29において、電子文書Mは、複数の部分文書m1’〜m4’に分割されている。各部分文書m1’〜m4’には、それぞれ対応する第1の電子署名σ1〜σ4が規定されている。また、電子文書Mには、第1の電子署名σ1〜σ4を集約した集約電子署名σが関連付けられている。電子文書Mの初期状態において、これら部分文書m1’〜m4’の状態は、墨塗り可能でかつ削除可能な状態の『SADA』である。
(部分文書状態の表現方式)
つぎに、各部分文書mi’の状態の表現方式について説明する。図30は、実施例4における部分文書状態の表現方式を示す説明図である。図30において、各部分文書mi’の状態が、部分文書mi’、ハッシュ値hi’および第1の電子署名σiの組み合わせによって表現されている。
まず、部分文書mi’および第1の電子署名σiの組み合わせによって、墨塗り可能でかつ削除可能な状態(初期状態)をあらわす『SADA』が表現されている。また、部分文書mi’によって、墨塗り可能でかつ削除禁止な状態をあらわす『SADP』が表現されている。この場合、集約電子署名σには第1の電子署名σiが含まれている。
また、ハッシュ値hi’および第1の電子署名σiの組み合わせによって、墨塗り済みでかつ削除可能な状態をあらわす『SDA』が表現されている。また、ハッシュ値hi’によって、墨塗り済みでかつ削除禁止な状態をあらわす『SDP』が表現されている。なお、上記『SADA』、『SADP』、『SDA』および『SDP』の状態において、集約電子署名σには第1の電子署名σiが含まれている。
また、部分文書mi’、ハッシュ値hi’および第1の電子署名σiのいずれも存在していない組み合わせによって、削除済みの状態をあらわす『D』が表現されている。この場合、集約電子署名σの中から第1の電子署名σiが削除されている。
(状態間の状態遷移)
つぎに、図28に示した状態遷移T3〜T6,T10〜T12について説明する。まず、状態遷移T3は、『SADA』から『SADP』への遷移をあらわしている。『SADA』から『SADP』へ遷移させるためには、部分文書mi’に規定されている第1の電子署名σiを削除する。
状態遷移T4は、『SADA』から『SDP』への遷移をあらわしている。『SADA』から『SDP』へ遷移させるためには、部分文書mi’をハッシュ値hi’に置き換えるとともに、部分文書mi’に規定されている第1の電子署名σiを削除する。
状態遷移T5は、『SADA』から『SDA』への遷移をあらわしている。『SADA』から『SDA』へ遷移させるためには、部分文書mi’をハッシュ値hi’に置き換える。なお、『SDA』から『SADA』へ遷移させることはできない。
状態遷移T6は、『SADA』から『D』への遷移をあらわしている。『SADA』から『D』へ遷移させるためには、集約電子署名σの中から部分文書mi’に規定されている第1の電子署名σiを削除するとともに、部分文書mi’および部分文書mi’に規定されている第1の電子署名σiとを削除する。
状態遷移T10は、『SADP』から『SDP』への遷移をあらわしている。『SADP』から『SDP』へ遷移させるためには、部分文書mi’をハッシュ値hi’に置き換える。状態遷移T11は、『SDA』から『SDP』への遷移をあらわしている。『SDA』から『SDP』へ遷移させるためには、部分文書mi’に規定されている第1の電子署名σiを削除する。
状態遷移T12は、『SDA』から『D』への遷移をあらわしている。『SDA』から『D』へ遷移させるためには、集約電子署名σの中から部分文書mi’に規定されている第1の電子署名σiを削除するとともに、ハッシュ値hi’および部分文書mi’に規定されている第1の電子署名σiを削除する。
(改訂処理手順)
つぎに、実施例4における改訂処理手順について説明する。図31〜図33は、実施例4における改訂処理手順を示すフローチャートである。なお、実施例4における改訂処理手順のうち実施例1で説明した処理(図15および図16に示した各工程)と同一処理については、ここでは図示および説明を省略する
図31のフローチャートにおいて、まず、取得部301により、複数の部分文書m1’〜mn’からなる電子文書Mを取得したか否かを判断する(ステップS3101)。具体的には、たとえば、図29に示したような電子文書Mを取得する。
ここで、電子文書Mを取得するのを待って(ステップS3101:No)、取得した場合(ステップS3101:Yes)、指定部302により、改訂者の指定入力を受け付けたか否かを判断する(ステップS3102)。ここで、指定を受け付けるのを待って(ステップS3102:No)、受け付けた場合(ステップS3102:Yes)、削除禁止対象の指定を受け付けたか否かを判断する(ステップS3103)。
ここで、削除禁止対象の指定を受け付けた場合(ステップS3103:Yes)、図32に示すステップS3201に移行する。一方で、削除禁止対象の指定を受け付けていない場合(ステップS3103:No)、削除対象の指定を受け付けたか否かを判断する(ステップS3104)。
ここで、削除対象の指定を受け付けた場合(ステップS3104:Yes)、図33に示すステップS3301に移行する。一方で、削除対象の指定を受け付けていない場合(ステップS3104:No)、墨塗り対象の指定を受け付けたか否かを判断する(ステップS3105)。
ここで、墨塗り対象の指定を受け付けた場合(ステップS3105:Yes)、図15に示したステップS1501に移行する。一方で、墨塗り対象の指定を受け付けていない場合(ステップS3105:No)、墨塗り対象でかつ削除禁止対象の指定を受け付けたか否かを判断する(ステップS3106)。
ここで、墨塗り対象でかつ削除禁止対象の指定を受け付けた場合(ステップS3106:Yes)、図16に示したステップS1601に移行する。一方で、墨塗り対象でかつ削除禁止対象の指定を受け付けていない場合(ステップS3106:No)、改訂終了を示す指定を受け付けたと判断し、出力部306により、改訂文書Rを出力して(ステップS3107)、本フローチャートによる一連の処理を終了する。
つぎに、図32に示すフローチャートにおいて、まず、判断部303により、削除禁止対象に指定された部分文書mi’の状態が『SADA』であるか否かを判断する(ステップS3201)。ここで、『SADA』であった場合(ステップS3201:Yes)、削除部304により、削除禁止対象に指定された部分文書mi’に規定されている第1の電子署名σiを削除する(ステップS3202)。
このあと、設定部305により、削除禁止対象に指定された部分文書mi’の状態を『SADA』から『SADP』に設定し(ステップS3203)、図31に示したステップS3102に戻る。また、ステップS3201において、『SADA』でなかった場合(ステップS3201:No)、判断部303により、削除禁止対象に指定された部分文書mi’の状態が『SDA』であるか否かを判断する(ステップS3204)。ここで、『SDA』であった場合(ステップS3204:Yes)、削除部304により、削除禁止対象に指定された部分文書mi’に規定されている第1の電子署名σiを削除する(ステップS3205)。
このあと、設定部305により、削除禁止対象に指定された部分文書mi’の状態を『SDA』から『SDP』に設定し(ステップS3206)、図31に示したステップS3102に戻る。また、ステップS3204において、『SDA』でなかった場合(ステップS3204:No)、出力部306により、削除禁止対象として指定することができない部分文書mi’が指定されている旨を報知するエラーを出力して(ステップS3207)、図31に示したステップS3102に戻る。
つぎに、図33に示すフローチャートにおいて、まず、判断部303により、削除対象に指定された部分文書mi’の状態が『SADA』であるか否かを判断する(ステップS3301)。ここで、『SADA』であった場合(ステップS3301:Yes)、削除部304により、集約電子署名σの中から削除対象に指定された部分文書mi’に規定されている第1の電子署名σiを削除する(ステップS3302)。
このあと、削除部304により、削除対象に指定された部分文書mi’および当該部分文書mi’に規定されている第1の電子署名σiを削除する(ステップS3303)。そして、設定部305により、削除対象に指定された部分文書mi’の状態を『SADA』から『D』に設定し(ステップS3304)、図31に示したステップS3102に戻る。
また、ステップS3301において、『SADA』でなかった場合(ステップS3301:No)、判断部303により、削除対象に指定された部分文書mi’の状態が『SDA』であるか否かを判断する(ステップS3305)。ここで、『SDA』であった場合(ステップS3305:Yes)、削除部304により、集約電子署名σの中から削除対象に指定された部分文書mi’に規定されている第1の電子署名σiを削除する(ステップS3306)。
このあと、削除部304により、削除対象に指定された部分文書mi’のハッシュ値hi’および当該部分文書mi’に規定されている第1の電子署名σiを削除する(ステップS3307)。そして、設定部305により、削除対象に指定された部分文書mi’の状態を『SDA』から『D』に設定し(ステップS3308)、図31に示したステップS3102に戻る。
また、ステップS3305において、『SDA』でなかった場合(ステップS3305:No)、出力部306により、削除対象として指定することができない部分文書mi’が指定されている旨を報知するエラーを出力して(ステップS3309)、図31に示したステップS3102に戻る。
以上説明した実施例4によれば、『SPDP』および『SPDA』への遷移を無効にすることにより、『SADA』、『SADP』、『SDA』、『SDP』および『D』のいずれかの状態を表現する際の方式を簡素化することができる。これにより、実施例1〜3に比べて、上記5個の状態を表現するために必要となるデータ量を大幅に削減することができる。
以上説明したように、電子文書管理プログラム、該プログラムを記録した記録媒体、電子文書管理装置、および電子文書管理方法によれば、部分文書を墨塗り禁止でかつ削除可能な状態に設定可能とすることにより、より柔軟な電子文書の改訂を実現し、ユーザの利便性の向上を図ることができる。
なお、本実施の形態で説明した電子文書管理方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーションなどのコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVDなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネットなどのネットワークを介して配布することが可能な伝送媒体であってもよい。
(付記1)コンピュータを、
複数の構成要素からなり、前記構成要素ごとに、当該構成要素固有の第1の電子署名および第2の電子署名が規定され、かつ前記各第1の電子署名を集約した集約電子署名が関連付けられている電子文書を取得する取得手段、
前記取得手段によって取得された電子文書のうち隠蔽禁止対象となる構成要素の指定を受け付ける指定手段、
前記指定手段によって隠蔽禁止対象に指定された構成要素と当該構成要素に規定されている前記第1の電子署名および第2の電子署名の双方とが存在する場合、当該構成要素が隠蔽可能でかつ削除可能な状態であると判断する判断手段、
前記判断手段によって隠蔽可能でかつ削除可能な状態であると判断された場合、前記隠蔽禁止対象となる構成要素に規定されている第2の電子署名を削除する削除手段、
として機能させることを特徴とする電子文書管理プログラム。
(付記2)前記指定手段は、
前記電子文書のうち削除禁止対象となる構成要素の指定を受け付け、
前記判断手段は、
前記指定手段によって削除禁止対象に指定された構成要素と当該構成要素に規定されている前記第1の電子署名とが存在する場合、当該構成要素が削除可能な状態であると判断し、
前記削除手段は、
前記判断手段によって削除可能な状態であると判断された場合、前記削除禁止対象となる構成要素に規定されている第1の電子署名を削除することを特徴とする付記1に記載の電子文書管理プログラム。
(付記3)前記指定手段は、
前記電子文書のうち削除対象となる構成要素の指定を受け付け、
前記判断手段は、
前記指定手段によって削除対象に指定された構成要素と当該構成要素に規定されている前記第1の電子署名とが存在する場合、当該構成要素が削除可能な状態であるか否かを判断し、
前記削除手段は、
前記判断手段によって削除可能な状態であると判断された場合、前記削除対象となる構成要素に規定されている前記第1の電子署名を前記集約電子署名の中から削除するとともに、前記構成要素および当該構成要素に規定されている第1の電子署名を削除する付記1または2に記載の電子文書管理プログラム。
(付記4)前記取得手段は、
前記削除手段によって削除された結果、前記指定手段によって指定された改定対象となる構成要素が、隠蔽禁止、削除禁止および削除済みのいずれかに改訂された改訂文書を取得し、
前記コンピュータを、
前記第1の電子署名、前記第2の電子署名および前記集約電子署名に基づいて、前記取得手段によって取得された改訂文書の真正を検証する検証手段、
前記検証手段によって検証された検証結果を出力する出力手段として機能させることを特徴とする付記1〜3のいずれか一つに記載の電子文書管理プログラム。
(付記5)前記取得手段は、
複数の構成要素からなり、前記構成要素ごとに、当該構成要素固有の第1の電子署名および第2の電子署名が規定され、かつ前記各第1の電子署名を集約した第1の集約電子署名および前記各第2の電子署名を集約した第2の集約電子署名が関連付けられている電子文書を取得し、
前記削除手段は、
前記判断手段によって前記電子文書のうち隠蔽禁止対象に指定された構成要素が削除可能な状態であると判断された場合、前記隠蔽禁止対象となる構成要素に規定されている前記第2の電子署名を前記第2の集約電子署名の中から削除するとともに、前記構成要素に規定されている第2の電子署名を削除することを特徴とする付記1に記載の電子文書管理プログラム。
(付記6)前記削除手段は、
前記判断手段によって前記電子文書のうち削除禁止対象に指定された構成要素が削除可能な状態であると判断された場合、前記削除禁止対象となる構成要素に規定されている前記第1の電子署名を削除することを特徴とする付記5に記載の電子文書管理プログラム。
(付記7)前記削除手段は、
前記判断手段によって前記電子文書のうち削除対象に指定された構成要素が削除可能な状態であると判断された場合、前記削除対象となる構成要素に規定されている前記第1の電子署名を前記第1の集約電子署名の中から削除するとともに、前記構成要素および当該構成要素に規定されている第1の電子署名を削除することを特徴とする付記5または6に記載の電子文書管理プログラム。
(付記8)前記取得手段は、
前記削除手段によって削除された結果、前記指定手段によって指定された改定対象となる構成要素が、隠蔽禁止、削除禁止および削除済みのいずれかに改訂された改訂文書を取得し、
前記検証手段は、
前記第1の電子署名、前記第2の電子署名、前記第1の集約電子署名および前記第2の集約電子署名に基づいて、前記取得手段によって取得された改訂文書の真正を検証することを特徴とする付記5〜7のいずれか一つに記載の電子文書管理プログラム。
(付記9)コンピュータを、
複数の構成要素からなり、前記構成要素ごとに、当該構成要素固有の電子署名が規定され、かつ前記各電子署名を集約した集約電子署名が関連付けられている電子文書を取得する取得手段、
前記取得手段によって取得された電子文書のうち削除禁止対象となる構成要素の指定を受け付ける指定手段、
前記指定手段によって削除禁止対象に指定された構成要素と当該構成要素に規定されている前記電子署名とが存在する場合、当該構成要素が隠蔽可能でかつ削除可能な状態であると判断する判断手段、
前記判断手段によって隠蔽可能でかつ削除可能な状態であると判断された場合、前記削除禁止対象となる構成要素に規定されている電子署名を削除する削除手段、
として機能させることを特徴とする電子文書管理プログラム。
(付記10)前記指定手段は、
前記電子文書のうち削除対象となる構成要素の指定を受け付け、
前記判断手段は、
前記指定手段によって削除対象に指定された構成要素と当該構成要素に規定されている前記電子署名とが存在する場合、当該構成要素が削除可能な状態であると判断し、
前記削除手段は、
前記判断手段によって削除可能な状態であると判断された場合、前記削除対象となる構成要素に規定されている前記電子署名を前記集約電子署名の中から削除するとともに、前記構成要素および当該構成要素に規定されている電子署名を削除することを特徴とする付記9に記載の電子文書管理プログラム。
(付記11)前記コンピュータを、
隠蔽対象に指定された構成要素を当該構成要素のハッシュ値に置き換える置換手段として機能させ、
前記指定手段は、
前記電子文書のうち前記隠蔽対象となる構成要素の指定を受け付け、
前記判断手段は、
前記指定手段によって隠蔽対象に指定された構成要素と当該構成要素に規定されている前記電子署名とが存在する場合、当該構成要素が隠蔽可能な状態であると判断し、
前記置換手段は、
前記判断手段によって隠蔽可能な状態であると判断された場合、前記隠蔽対象に指定された構成要素を当該構成要素のハッシュ値に置き換えることを特徴とする付記9または10に記載の電子文書管理プログラム。
(付記12)前記取得手段は、
前記削除手段によって削除された結果、前記指定手段によって指定された改定対象となる構成要素が、削除禁止、削除済みおよび隠蔽済みのいずれかに改訂された改訂文書を取得し、
前記コンピュータを、
前記電子署名および前記集約電子署名に基づいて、前記取得手段によって取得された改訂文書の真正を検証する検証手段、
前記検証手段によって検証された検証結果を出力する出力手段として機能させることを特徴とする付記9〜11のいずれか一つに記載の電子文書管理プログラム。
(付記13)付記1〜12のいずれか一つに記載の電子文書管理プログラムを記録したコンピュータに読み取り可能な記録媒体。
(付記14)複数の構成要素からなり、前記構成要素ごとに、当該構成要素固有の第1の電子署名および第2の電子署名が規定され、かつ前記各第1の電子署名を集約した集約電子署名が関連付けられている電子文書を取得する取得手段と、
前記取得手段によって取得された電子文書のうち隠蔽禁止対象となる構成要素の指定を受け付ける指定手段と、
前記指定手段によって隠蔽禁止対象に指定された構成要素と当該構成要素に規定されている前記第1の電子署名および第2の電子署名の双方とが存在する場合、当該構成要素が隠蔽可能でかつ削除可能な状態であると判断する判断手段と、
前記判断手段によって隠蔽可能でかつ削除可能な状態であると判断された場合、前記隠蔽禁止対象となる構成要素に規定されている第2の電子署名を削除する削除手段と、
を備えることを特徴とする電子文書管理装置。
(付記15)複数の構成要素からなり、前記構成要素ごとに、当該構成要素固有の第1の電子署名および第2の電子署名が規定され、かつ前記各第1の電子署名を集約した集約電子署名が関連付けられている電子文書を取得する取得工程と、
前記取得工程によって取得された電子文書のうち隠蔽禁止対象となる構成要素の指定を受け付ける指定工程と、
前記指定工程によって隠蔽禁止対象に指定された構成要素と当該構成要素に規定されている前記第1の電子署名および第2の電子署名の双方とが存在する場合、当該構成要素が隠蔽可能でかつ削除可能な状態であると判断する判断工程と、
前記判断工程によって隠蔽可能でかつ削除可能な状態であると判断された場合、前記隠蔽禁止対象となる構成要素に規定されている第2の電子署名を削除する削除工程と、
を含むことを特徴とする電子文書管理方法。
以上のように、本発明にかかる電子文書管理プログラム、該プログラムを記録した記録媒体、電子文書管理装置、および電子文書管理方法は、改訂可能な電子文書の真正を検証する技術に有用である。
この発明の実施の形態にかかる電子文書管理システムのシステム構成図である。
この発明の実施の形態にかかる電子文書管理装置のハードウェア構成を示す説明図である。
この発明の実施の形態にかかる電子文書管理装置の機能的構成を示すブロック図である。
この発明の実施の形態にかかる電子文書管理装置の改訂処理手順を示すフローチャートである。
この発明の実施の形態にかかる電子文書管理装置の検証処理手順を示すフローチャートである。
部分文書状態および状態遷移を示す図表(その1)である。
電子署名生成の概要を示す説明図である。
実施例1における電子文書Mの初期状態の一例を示す説明図である。
実施例1における部分文書状態の表現方式を示す説明図である。
実施例1における改訂処理手順を示すフローチャート(その1)である。
実施例1における改訂処理手順を示すフローチャート(その2)である。
実施例1における改訂処理手順を示すフローチャート(その3)である。
実施例1における改訂処理手順を示すフローチャート(その4)である。
実施例1における改訂処理手順を示すフローチャート(その5)である。
実施例1における改訂処理手順を示すフローチャート(その6)である。
実施例1における改訂処理手順を示すフローチャート(その7)である。
実施例1にかかる電子文書管理装置の検証処理手順を示すフローチャートである。
実施例2における電子文書Mの初期状態の一例を示す説明図である。
実施例2における部分文書状態の表現方式を示す説明図である。
実施例2における改訂処理手順を示すフローチャート(その1)である。
実施例2における改訂処理手順を示すフローチャート(その2)である。
実施例2における改訂処理手順を示すフローチャート(その3)である。
実施例3における部分文書状態の表現方式を示す説明図である。
実施例3における改訂処理手順を示すフローチャート(その1)である。
実施例3における改訂処理手順を示すフローチャート(その2)である。
実施例3における改訂処理手順を示すフローチャート(その3)である。
墨塗り禁止の状態を使用しない場合の問題点の一例を示す説明図である。
部分文書状態および状態遷移を示す図表(その2)である。
実施例4における電子文書Mの初期状態の一例を示す説明図である。
実施例4における部分文書状態の表現方式を示す説明図である。
実施例4における改訂処理手順を示すフローチャート(その1)である。
実施例4における改訂処理手順を示すフローチャート(その2)である。
実施例4における改訂処理手順を示すフローチャート(その3)である。
従来技術における部分文書状態および状態遷移を示す図表である。
従来技術の問題点の一例を示す説明図である。
符号の説明
100 電子文書管理システム
101,102,103 電子文書管理装置
301 取得部
302 指定部
303 判断部
304 削除部
305 設定部
306 出力部
307 検証部
600,2800,3400 図表
2710,3510 オリジナル文書
2720,3520,3530,R 改訂文書
M 電子文書