(57)【要約】【課題】  開示文書の真正性の保証と、開示不適当な情報の削除の両立を可能とするため、真正性保証対象文書に対する適切な改変を許容する電子文書の真正性保証技術と文書管理システムを提供する【解決手段】  乱数のシード値ｒを生成し、シード値ｒから、一方向性関数ｆのハードコアビットｂを使って構成された擬似乱数生成器を用いて生成したｎビットの乱数列と、署名付与対象となるｎビットの電子文書Ｍとの排他的論理和Ｃを計算し、Ｃと、シード値ｒに一方向性関数ｆをｎ＋１回適用して得られるｆ＾（ｎ＋１）（ｒ）とを含むデータに対し、電子署名ＳＩＧを生成し、電子文書Ｍ、前記シード値ｒ、電子署名値ＳＩＧを含むデータを、署名付き電子文書として出力する。【選択図】  図１
2007158984.tif 000002
【特許請求の範囲】
【請求項１】
電子文書の真正性保証方法であって、
乱数のシード値ｒを生成し、
前記シード値ｒから、一方向性関数ｆのハードコアビットｂを使って構成された擬似乱数生成器を用いて生成したｎビットの乱数列と、署名付与対象となるｎビットの電子文書Ｍとの排他的論理和Ｃを計算し、
排他的論理和Ｃと、前記シード値ｒに一方向性関数ｆをｎ＋１回適用して得られるｆ＾（ｎ＋１）（ｒ）とを含むデータに対し、電子署名ＳＩＧを生成し、
前記電子文書Ｍ、前記シード値ｒ、前記電子署名値ＳＩＧを含むデータを、署名付き電子文書として出力することを特徴とする、
電子文書の真正性保証方法。
【請求項２】
請求項１記載の電子文書真正性保証方法であって、
前記電子文書Ｍ、前記シード値ｒ、前記電子署名値ＳＩＧを含む、前記署名付き電子文書に対し、
前記電子文書Ｍ中の不開示部分であるＬ（≦ｎ）ビット分の領域を決定し、
前記シード値ｒから、前記擬似乱数生成器を用いてＬビットの乱数列を生成し、前記電子文書Ｍの不開示部分の排他的論理和を計算してＬビット分の暗号文Ｃ’を生成し、
前記電子文書Ｍの不開示部分を暗号文Ｃ’で置き換えた墨塗り後の電子文書Ｍ’を生成し、
前記シード値ｒを、前記シード値ｒに一方向性関数ｆをＬ回適用して得られるｒ’＝ｆ＾（Ｌ）（ｒ）で置き換え、
前記墨塗り後の電子文書Ｍ’、前記シード値ｒ’、前記電子署名値ＳＩＧを含むデータを、墨塗り後の署名付き電子文書として出力することを特徴とする、
電子文書の真正性保証方法。
【請求項３】
請求項１または２記載の電子文書真正性保証方法であって、
前記墨塗り後の署名付き電子文書である、電子文書Ｍ’、シード値ｒ’、電子署名値ＳＩＧに対し、
前記シード値ｒ’から、前記擬似乱数生成器を用いてｎ−Ｌビットの乱数列を生成し、前記電子文書Ｍ’中の墨塗りされていない部分との排他的論理和によって、電子文書Ｍ’中の墨塗りされていない部分を置き換えたデータＣ’’を計算し、
データＣ’’と、前記シード値ｒに一方向性関数ｆをｎ＋１回適用して得られるｆ＾（ｎ−Ｌ＋１）（ｒ’）とを含むデータに対し、前記電子署名値ＳＩＧが正しい署名値であるか否かを検証し、前記検証結果を出力することを特徴とする、
電子文書の真正性保証方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子データの真正性保証技術に関する。
【背景技術】
【０００２】
従来、電子文書等のディジタル化された電子データの真正性保証を行う技術として、電子署名（ディジタル署名ともいう）技術がある。（例えば、非特許文献１参照）。
【０００３】
また、構造化された電子文書の各エンティティを電子署名つきで参照・編集可能な構造化文書として取り出す技術がある。（例えば、特許文献１参照）。
【０００４】
また、所有者とは異なる署名者によってあらかじめ署名が付与された所有者(owner)が所有する文書から、署名者が許可した部分については削除可能であり、また削除したあとの署名付き文書の有効性が確認可能な技術がある。（例えば、非特許文献２、特許文献１参照）。
【０００５】
【非特許文献１】Bruce Schneier著「Applied Cryptography: Protocols, Algorithms, and Source Code in C, Second Edition」 John Wiley & Sons、(October 18, 1995), pp. 483-502
【非特許文献２】Ron Steinfeld, Laurence Bull, Yuliang Zheng著, "Content Extraction Signatures",  In International Conference on Information Security and Cryptology ICISC 2001, volume 2288 of LNCS, pp. 285-304, Berlin, 2001. Springer-Verlag, (2001)
【特許文献１】特開2005-051734号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
電子文書の安全性を支える重要な技術である現在の電子署名技術は、電子文書に対する１ビットの改変であっても検知できるように設計されている。この性質は、不正者による改ざんから電子文書を守るという意味では、非常に有用であるが、電子文書の有効活用という観点からは、一切の加工が許されなくなるため、逆に障害となりうる。
【０００７】
この問題を端的に示す利用場面としては、行政機関等における情報公開が挙げられる。たとえば，次のような電子署名の利用形態が想定される。
【０００８】
すなわち、行政機関において、職員が職務上作成した文書（行政文書）は、作成者を明らかにし、また、改ざんを防止するために、電子署名を付された上で保管される。この文書が情報公開法に基づき開示されるときに、そこに記述された個人情報や国家安全情報が削除や墨塗りなどの処理により部分的に非公開された上で開示される。
【０００９】
従来の電子署名技術では、上記の一連の手続きに従って開示された文書の真正性、すなわち、文書作成者が誰であるか、また開示された文書はもともと作成された文書と同一であるか、を確認することができない。なぜなら、情報公開の過程で、文書の一部が削除されているからである。悪意による改ざんであろうと、プライバシー情報の保護のための個人情報削除であろうと、署名対象文書に対し、なんらかの改変が加えられた、という点では変わらない。結果として、従来の電子署名技術の利用では、「公開された文書の真正性保証」と、「プライバシー情報の保護」という２つの重要なセキュリティ要件を両立できず、どちらかをあきらめざるをえない。
【００１０】
情報公開制度が、行政機関のアカウンタビリティ（説明責任）を果たすための制度であるということを考えると、個人情報等が削除された後の開示用の文書からでも、元々の行政文書との同一性を検証できることが望ましい。
【００１１】
特許文献１に記載された技術では、電子文書の各エンティティのデータと、電子署名データとの対応付けについては開示しているが、電子文書編集後に、元の電子署名を変更することなく、元の文書の真正性を確認することについては、開示していない。
【００１２】
したがって、真正性保証対象文書に対する適切な改変を許容する電子文書の真正性保証技術、言い換えると電子文書編集後に、元の電子署名を変更することなく、元の文書の真正性を確認可能な技術が望まれている。
【００１３】
非特許文献２に記載された技術では、所有者(owner)が所有する、所有者とは異なる署名者によってあらかじめ署名が付与された文書から、署名者が許可した部分については削除可能であり、また削除したあとの署名付き文書の有効性が確認可能な技術が開示されているが、この技術は、あらかじめ元の文書を分割する必要があり、分割された単位で削除が可能なものである。
【００１４】
特許文献１に記載された技術では、署名者によって署名が付与された文書の一部を、墨塗り者が非開示（墨塗り）にした場合であっても、検証者が文書の真正性を確認可能な技術や、さらに、墨塗り者が、文書の各部分に対し追加墨塗りの可否を設定可能な技術が開示されているが、あらかじめ元の文書を分割する必要があり、分割した単位で改変が可能な技術である。
【００１５】
したがって、あらかじめ元の文書を改変可能な単位に分割しておくことなく、かつ、電子文書編集後に、元の電子署名を変更することなく、元の文書の真正性を確認可能な技術が望まれている。
【課題を解決するための手段】
【００１６】
本発明は、真正性保証対象文書に対する適切な改変を許容する電子文書の真正性保証技術と文書管理システムを提供する。
【００１７】
本発明は、その一態様において、ひとつまたは複数のシード値から擬似乱数生成関数を用いて乱数を生成し、生成された乱数を用いて電子文書を暗号化し、暗号化された電子文書に対し、電子署名を付与する電子署名方法を提供する。
【００１８】
本発明による、電子文書の真正性保証方法は、より具体的には、
乱数のシード値ｒを生成し、
シード値ｒから、一方向性関数ｆのハードコアビットｂを使って構成された擬似乱数生成器を用いて生成したｎビットの乱数列と、署名付与対象となるｎビットの電子文書Ｍとの排他的論理和Ｃを計算し、
排他的論理和Ｃと、シード値ｒに一方向性関数ｆをｎ＋１回適用して得られるｆ＾（ｎ＋１）（ｒ）とを含むデータに対し、電子署名ＳＩＧを生成し、
電子文書Ｍ、シード値ｒ、電子署名値ＳＩＧを含むデータを、署名付き電子文書として出力することを特徴とする。
【００１９】
さらに、
電子文書Ｍ、シード値ｒ、電子署名値ＳＩＧを含む、署名付き電子文書に対し、
電子文書Ｍ中の不開示部分であるＬ（≦ｎ）ビット分の領域を決定し、
シード値ｒから、擬似乱数生成器を用いてＬビットの乱数列を生成し、電子文書Ｍの不開示部分の排他的論理和を計算してＬビット分の暗号文Ｃ’を生成し、
電子文書Ｍの不開示部分を暗号文Ｃ’で置き換えた墨塗り後の電子文書Ｍ’を生成し、
シード値ｒを、シード値ｒに一方向性関数ｆをＬ回適用して得られるｒ’＝ｆ＾（Ｌ）（ｒ）で置き換え、
墨塗り後の電子文書Ｍ’、シード値ｒ’、電子署名値ＳＩＧを含むデータを、墨塗り後の署名付き電子文書として出力してもよい。
【００２０】
さらに、
墨塗り後の署名付き電子文書である、電子文書Ｍ’、シード値ｒ’、電子署名値ＳＩＧに対し、
シード値ｒ’から、擬似乱数生成器を用いてｎ−Ｌビットの乱数列を生成し、電子文書Ｍ’中の墨塗りされていない部分との排他的論理和によって、電子文書Ｍ’中の墨塗りされていない部分を置き換えたデータＣ’’を計算し、
データＣ’’と、シード値ｒに一方向性関数ｆをｎ＋１回適用して得られるｆ＾（ｎ−Ｌ＋１）（ｒ’）とを含むデータに対し、電子署名値ＳＩＧが正しい署名値であるか否かを検証し、検証結果を出力してもよい。
【発明の効果】
【００２１】
本発明によれば、部分情報を削除後であっても電子文書の真正性が検証可能であってあらかじめ電子文書を構成要素に分割することなく電子文書の真正性保証方法が提供される。また、個人情報等の重要情報の機密性と開示文書の真正性を保証可能な情報公開システムが提供される。
【発明を実施するための最良の形態】
【００２２】
図１は、本発明を、情報公開システムに適用した複数の実施形態におけるシステムの概略構成図である。なお、以下では、行政機関の情報公開システムを例に挙げているが、行政機関以外の組織や個人における情報公開システムであっても同様に適用可能である。
【００２３】
図示するように、本システムは、ネットワーク１０１を介して、情報公開側である行政機関の職員が利用する、オリジナル文書作成者装置１０２、文書管理装置１０３、開示文書作成者装置１０４の各装置と、情報公開の請求側と検証側である一般市民が利用する受信者装置１０５が接続されている。
【００２４】
なお、本実施形態では、行政機関の職員が利用する、オリジナル文書作成者装置１０２、文書管理装置１０３、開示文書作成者装置１０４の各装置と、一般市民が利用する受信者装置１０５が、同一のネットワーク１０１に接続されている例を説明しているが、これとは異なる接続形態であってもよい。たとえば、行政機関の職員が利用する、オリジナル文書作成者装置１０２、文書管理装置１０３、開示文書作成者装置１０４の各装置が、当該行政機関のLAN(Local Area Network)に接続されており、当該LANが、ゲートウェイサーバを介して、一般市民が利用する受信者装置１０５が接続されているネットワーク１０１に接続されるようになっていてもよい。このような接続形態をとった場合、行政機関のLANは、ゲートウェイサーバにより、外部ネットワーク１０１からの不正アクセス等の攻撃から防御できることになるため、情報セキュリティの観点からは好ましい。
【００２５】
オリジナル文書作成者装置１０２は、行政機関の職員であるオリジナル文書作成者が、電子データとして行政文書（職務上作成する文書）を作成し、作成した行政文書に対し、電子署名を付与したのち、文書管理装置１０３に署名付き行政文書を要求するために利用される。本実施形態の説明では、以降、オリジナル文書作成者が署名を付す対象とした行政文書のことを、オリジナル文書１０６と呼ぶ。なお、本実施形態では、オリジナル文書の作成と、オリジナル文書１０６への署名の付与を、ともにオリジナル文書作成者装置において行う例を示すが、これとは異なり、オリジナル文書の作成とオリジナル文書への署名を行う装置とを分け、ネットワーク１０１や可搬な記憶媒体を用いて、これらの装置間でオリジナル文書１０６の受け渡しを行うようにしてもよい。
【００２６】
文書管理装置１０３は、オリジナル文書作成者装置１０２から要求を受けて、オリジナル文書作成者装置１０２で作成された署名付きオリジナル文書１０７を保管する。また、開示文書作成者装置１０４からの要求を受けて、あらかじめ保管していた開示対象となる署名付きオリジナル文書１０７を、開示文書作成者装置１０２に送信する。なお、オリジナル文書作成者装置１０２からの保管要求受付時と、開示文書作成者装置１０４からの開示対象文書送信要求受付時には、適切なユーザ認証処理等を行うことによって、アクセス制御を行うことが、情報セキュリティの観点からは好ましい。
【００２７】
開示文書作成者装置１０４は、受信者装置１０５の利用者である一般市民などの操作による情報公開請求を受けて、当該情報公開請求に応じた開示対象文書を検索し、当該開示対象文書である署名付きオリジナル文書１０７の送信を文書管理装置１０３に要求する。次に、開示文書作成者装置１０４の操作者の操作により、文書管理装置１０３から受信した署名付きオリジナル文書１０７に含まれる情報のうち、個人情報保護や、国家機密にかかわる情報の保護の観点から、公開に不適切な情報を取り除いた開示文書１０８を作成し、作成した開示文書を受信者装置１０５に対し公開する。
【００２８】
このとき、オリジナル文書１０６に付された署名が、従来の電子署名技術によって生成された署名である場合、「公開に不適切な情報の削除」であっても、オリジナル文書１０６に対する不正な改ざんがあった場合と同様に、署名検証の際に検証に失敗するという結果になってしまう。本実施形態では、不適切な情報削除後であっても検証可能な、あらたな電子署名技術を適用する。
【００２９】
公開する方法は、たとえば、電子メールで送信する、行政機関または他の機関が運用するWebサーバにアップロードするなど、任意に設計すればよい。Webサーバにアップロードする方法の場合は、情報公開請求を行った受信者装置１０５の利用者以外の一般市民であっても、公開された情報を閲覧できるというメリットがある。
【００３０】
なお、本実施形態では、一般市民からの情報公開請求受付、開示対象文書の検索、開示対象文書の文書管理装置１０３への要求、開示文書１０８の作成、開示文書１０８の公開を、同一の開示文書作成者装置１０５において行う例を示すが、これとは異なっていてもよい。たとえば、一般市民からの情報公開請求受付、開示対象文書の検索、開示対象文書の文書管理装置１０３への要求、を開示文書作成者装置１０５とは異なる、別の装置において行い、開示文書１０８の作成と開示文書１０８の公開を開示文書作成者装置１０５で行うようにしてもよい。
【００３１】
受信者装置１０５は、利用者である一般市民が、行政機関に対し情報公開請求を行い、その結果公開された開示文書１０８の真正性を検証するために利用される。受信者装置１０５は、開示文書作成装置１０４に対し、開示対象文書を特定するのに必要な情報を送信し、情報公開を請求する。また、公開された開示文書１０８とオリジナル文書１０６の内容とが、情報の保護の観点から取り除かれた部分（非開示部分）を除き、同一であるかどうかを検証する。
【００３２】
また、受信者装置１０５は、公開された開示文書１０８を、利用者が閲覧できるように、非開示部分が黒く塗りつぶされた（以下、墨塗りされたという）状態で表示または印刷を行う。
【００３３】
なお本実施形態では、情報公開請求と、開示文書１０８の真正性検証を、同一の受信者装置１０５で行う例を示すが、これとは異なっていてもよい。たとえば、情報公開請求を、受信者装置１０５とは別の装置で行い、その結果公開された開示文書１０８の真正性検証を、受信者装置１０５で行うようにしてもよい。
【００３４】
図２は、本実施形態におけるオリジナル文書作成者装置１０２の概略構成を示した図である。
【００３５】
オリジナル文書作成者装置１０２は、CPU２０１と、CPU２０１のワークエリアとして機能するRAM２０２と、ハードディスク装置などの外部記憶装置２０３と、CD-ROMやFDなどの可搬性を有する記憶媒体２０５からデータを読取る読取り装置２０４と、キーボードやマウスなどの入力装置２０６と、ディスプレイなどの表示装置２０７と、ネットワークを介して他の装置と通信を行うための通信装置２０８と、上述した各構成要素間のデータ送受を司るインターフェイス２０９を備えた、一般的な構成を有する電子計算機２１０で構築することができる。
【００３６】
オリジナル文書作成者装置１０２の外部記憶装置２０３に格納されるのは、オリジナル文書作成PG（プログラム）２２１と署名生成PG（プログラム）２２２と文書保管要求PG（プログラム）２２３である。これらのプログラムは、RAM２０２上にロードされ、CPU２０１により実行されることにより、それぞれオリジナル文書作成処理部２４１、署名生成処理部２４２、文書保管要求処理部２４３というプロセスとして具現化される。そのほか、これらの各処理部の入出力となるデータ（オリジナル文書１０６、署名つきオリジナル文書１０７、署名用秘密鍵２１１）などが外部記憶装置２０３に格納される。なお、署名用秘密鍵２１１はセキュリティの観点から特に厳重な管理が求められる。そのため、他のデータが格納された外部記憶装置とは異なる耐タンパ性のある装置内に格納してもよい。
【００３７】
文書管理装置１０３、開示文書作成者装置１０４、受信者装置１０５も、オリジナル文書作成者装置１０２と同様の構成を備える。ただし、文書管理装置１０３の外部記憶装置には、文書保管PG（プログラム）２２４と、開示対象文書送信PG（プログラム）２２５が格納され、また保管を要求された署名つきオリジナル文書が格納される。また、開示文書作成者装置１０４の外部記憶装置には、情報公開請求受付PG（プログラム）２２６、開示対象文書検索PG（プログラム）２２７、開示対象文書要求PG（プログラム）２２８、開示箇所決定PG（プログラム）２２９、開示文書作成PG（プログラム）２３０、開示文書公開PG（プログラム）２３１が格納される。また、受信者装置１０５の外部記憶装置には、情報公開請求PG（プログラム）２３２、開示文書検証PG（プログラム）２３３が格納される。これらのプログラムも、各装置において、RAM２０２上にロードされ、CPU２０１により実行されることにより、それぞれ所定の機能を実現するプロセスとして具現化される。
【００３８】
なお、本実施形態の説明では、各プログラムは、あらかじめ、外部記憶装置２０３に格納されているものとしたが、必要なときに、読取り装置２０４を用いてFD、CDROMなどの他の記憶媒体から、または通信装置２０８と通信媒体を介して、他の装置から外部記憶装置２０３またはRAM２０２に導入されてもよい。通信媒体とは、インターネットなどのネットワークまたはネットワークを伝搬するディジタル信号や搬送波を指す。
【００３９】
図３は、本実施形態において、オリジナル文書である行政文書を作成し、文書管理装置に保管するときの概要を示したフロー図である。なお、オリジナル文書を作成し保管する段階においては、将来的に情報公開請求を受けたときに、文書管理装置に保管された文書のうち、どの部分が公開されるべき情報であり、どの部分が公開されるべきでない情報であるかを、決定できるとは限らない。一般には、決定できないことが多いと考えられる。なお、各ステップ中の括弧内に、当該ステップの処理を行うプログラム名を示す。
オリジナル文書作成・保管フロー：（オリジナル文書作成者装置１０２の処理）
３０１：はじめ
３０２：オリジナル文書を作成（オリジナル文書作成PG２２１）
３０３：作成したオリジナル文書に対し署名を生成（署名生成PG２２２）
３０４：署名つきオリジナル文書を文書管理装置１０３に送信し登録を要求（文書保管要求PG２２３）（文書管理装置１０３の処理）
３０５：受信した署名付きオリジナル文書を登録（文書保管PG２２４）
３０６：おわり
図４は、本実施形態において、一般市民からの情報公開請求を受けて、情報公開されるときの概要を示したフロー図である。なお、各ステップ中の括弧内に、当該ステップの処理を行うプログラム名を示す。
情報公開フロー：（受信者装置１０５の処理）
４０１：はじめ
４０２：開示文書作成者装置１０４に対し、情報公開を要求するために、公開を希望する情報の範囲を特定可能な情報を送信（情報公開請求PG２３２）（開示文書作成者装置１０４の処理）
４０３：公開を希望する情報の範囲を特定する情報を受信し（情報公開請求受付PG２２６）、その範囲を特定する情報に基づき開示すべき文書を検索し（開示対象文書検索PG２２７）、文書管理装置１０３に当該文書を要求（開示対象文書要求PG２２８）（文書管理装置１０３の処理）
４０４：要求された開示すべき署名つきオリジナル文書を開示文書作成装置１０４に送信（開示対象文書送信PG２２５）（開示文書作成者装置１０４の処理）
４０５：受信した署名つきオリジナル文書の内容を、あらかじめ定められた情報開示ポリシに照らして確認し、開示適当な箇所を決定し（開示箇所決定PG２２９）、個人情報や国家機密にかかわる情報などの開示不適当な情報が漏洩しないようにするための非開示処理を施した開示文書を作成し（開示文書作成PG２３０）、当該開示文書を受信者装置１０５に送信（開示文書公開PG２３１）（受信者装置１０５の処理）
４０６：受信した開示文書の真正性を検証（開示文書検証PG２３３）
４０７：おわり
以上に概要を示した情報公開システムにおいて、特に注意すべきなのは、開示文書の真正性の保証と、開示不適当な情報の削除の両立である。
【００４０】
開示文書がオリジナル文書と必ず同一であるような運用形態であれば、オリジナル文書作成者が、公知の電子署名技術を適用し、オリジナル文書にあらかじめ署名を付与しておけば、受信者は、開示文書（この場合はオリジナル文書と同一データ）の真正性を、公知の電子署名検証技術を適用することによって確認可能である。
【００４１】
しかし、本実施形態で述べるような情報公開システムにおいては、オリジナル文書と、開示文書が同一とは限らない。なぜなら、オリジナル文書には、情報公開時点では、開示することが不適当な情報（例：個人のプライバシーにかかわる情報、国家安全保障上公開すべきでない情報など）が含まれている可能性があるため、これらの情報は非開示にされ、開示文書からは取り除かれる（i.e.墨塗りされる）必要があるからである。この場合の墨塗りのような情報公開の観点からは、適切あるいは必須と考えられるオリジナル文書に対する変更であっても、公知の電子署名技術では、悪意をもった第三者による改ざんを受けた場合と同様に、「検証できない」という結果しか得られない。
【００４２】
また、あらかじめ電子文書を墨塗りされる可能性のある構成要素に分割しておき、非特許文献２に開示された署名技術を適用すると、墨塗り後であっても元の署名を検証可能となるが、署名付与時点においては、元文書に含まれる情報のうちのどの部分が墨塗りされるべきか否かを判断するのが一般には困難であることを考慮すると、署名付与前に構成要素に分割することなく、署名付与可能である方が望ましい。
【００４３】
本実施形態における電子文書の真正性保証技術に望まれる性質は、以下の通りである。また、これらの性質を満たした上で、さらに署名付与前に構成要素に分割することなく、署名付与可能である方が好ましい。
（性質１）開示文書に非開示部分が含まれていても検証が可能であり、非開示部分以外に改変がなければ検証に成功すること。
（性質２）開示文書にオリジナル文書に対する墨塗り以外の改変があったときには検証が失敗すること。
（性質３）開示文書から非開示部分に関する情報が推定できないこと。
（性質４）開示文書の非開示部分の情報を推定しようとする攻撃者にとって、開示文書がその推定結果の正当性を保証する情報として利用できないこと。
【００４４】
上記の性質１は、公知の電子署名技術では達成できなかった点であるが、情報公開のようにオリジナル文書作成後になんらかの（適切な）変更が起こりうる場合には、必要となる要件である。
【００４５】
上記の性質２は、許される適切な改変（すなわち墨塗り）と、その他の改変を区別するための条件である。
【００４６】
上記の性質３は、非開示部分（墨塗り部分）から情報が漏洩しないことを意味する。たとえば、非開示部分の情報を暗号技術等によって隠して（暗号文として）公開する、という方法の場合には、当該暗号文が容易に解読されないように設計しなければならない。
【００４７】
上記の性質４は、たとえ非開示部分（墨塗り部分）が推定されたとしてもそれを否認できるようにすることを意味する。たとえば、オリジナル文書が「容疑者Ａは犯行を否認した」であり、開示文書が「容疑者＊＊＊＊は犯行を否認した」であったとする（すなわち開示文書作成者により個人情報であるＡの指名は非開示にされたとする）。この開示文書を見た攻撃者（受信者を含む）が、前後の文脈あるいは他の情報等から、「＊＊＊＊」は「Ａ」ではないかと推定し、＊＊＊＊部分にＡの氏名を仮に当てはめて検証を試みたとする。もし、この検証が成功したとすると、開示文書が、『「＊＊＊＊」は「Ａ」である』という推定結果を保証する情報として利用されるおそれがある。なぜなら「Ａ」以外の文字列で「＊＊＊＊」を当てはめたときに検証が成功する文字列が見出せる確率が事実上無視できる程度に小さくなる署名方法であったとすると、「Ａ」であることを否認するのは困難であるからである。
【００４８】
本実施形態においては、上記の各性質を満たす電子文書の真正性保証技術として適用しうる方法を開示する。
【００４９】
どのように実現するかを説明するために、オリジナル文書作成者装置１０２で動作する署名生成PG２２２と、開示文書作成者装置１０４で動作する開示文書作成PG２３０と、受信者装置１０５で動作する開示文書検証PG２３３の詳細について述べる。
【００５０】
なお、以下では、ハードコア属性（hard-core predicate）を利用した擬似乱数生成器(peudo-random generator)を利用する。ここで関数bが効率的に計算でき、b(x)をf(x)から推測することが難しい場合、関数bは一方向性関数fのハードコアであるという。たとえばf:x → x^2 mod N（ただしNは3 (mod 4)と合同な2個の素数の積とする）とすると（これはRabin関数と呼ばれる）、b(x):=LSB(x)（LSBはxの最下位ビット）はfのハードコアとなる。なお、１ビットを出力するハードコア属性のことを特にハードコアビットと呼ぶ。このときG(s):=(b(s), b(f(s)), b(f^(2)(s)), b(f^(3)(s)) ,,, )は擬似乱数生成器となる。ここでf^(i)は、fに対し、f^(0)(x) := x、f^(i)(x) := f(f^(i-1)(x))で再帰的に定義される関数である。以下このGを具体的な擬似乱数生成器として説明するが、これと異なる擬似乱数生成器を用いてもよい。
【００５１】
図５は、第１の実施形態に従った署名生成PG２２２の処理フローを示した図である。なお、以下に示す処理フローに先立ち、あらかじめ3 (mod 4)と合同な2個の素数の積である合成数Nを生成し、これをシステム内で共有しておくものとする。署名生成PG２２２の処理の一部として行ってもよい。
５０１：はじめ
５０２：シード値sをランダムに生成する
５０３：オリジナル文書Ｄ（Ｌビットとする）に対して、擬似乱数生成器Gをつかってsをシード値としたＬビットの乱数列を生成し、オリジナル文書を暗号化し（生成したＬビットの乱数列との排他的論理和を計算し）暗号文Ｃを計算する
５０４：暗号文Ｃとf^(L+1)(s)とを結合したデータに対して署名ＳＩＧを付与する
５０５：オリジナル文書Ｄとシード値sと署名ＳＩＧとからなるデータを署名付きオリジナル文書とする
５０６：おわり
図６は、第１の実施形態に従った開示文書作成PG２３０の処理フローを示した図である。
６０１：はじめ
６０２：開示対象である署名付きオリジナル文書の先頭から、開示不適切な情報を含む区間（先頭からＬ’（≦Ｌ）ビットとする）を検索
６０３：シード値sを入力とし、擬似乱数生成器Gをつかってsをシード値としたＬ’ビットの乱数列を生成し、オリジナル文書の先頭からＬ’分を暗号化し、暗号文Ｃ’を計算する
６０４：オリジナル文書Ｄの一部が暗号化された暗号文Ｃ’とf^(L')(s)（これが墨塗り文書に対するシード値となる）と署名ＳＩＧからなるデータを墨塗り後の開示文書とする
６０５：おわり
図７は、第１の実施形態に従った開示文書検証PG２３３の処理フローを示した図である。
７０１：はじめ
７０２：擬似乱数生成器Gをつかって、開示文書に含まれるシード値f^(L')(s)としたL-L'ビットの乱数列を生成し（改ざんがなければ、これはG(s)のL'+1ビット目からLビット目までと同じ列になる）、開示文書に含まれる暗号文Ｃ’のうちの暗号化されていない部分であるL'+1ビット目からLビット目までを暗号化（生成したＬビットの乱数列との排他的論理和を計算）し、暗号文Ｃ’’を計算する（改ざんがなければこれは暗号文Ｃと一致する）
７０３：暗号文Ｃ’’とf^(L-L'+1)(f^(L')(s))とを結合したデータに対して、署名ＳＩＧを、オリジナル文書作成者の公開鍵を用いて検証し、検証結果を出力する。なお、検証に利用するオリジナル文書作成者の公開鍵は、たとえば、開示文書とともに開示文書作成者装置１０４から送られてくるようにしてもよいし、オリジナル文書作成者装置１０２から、必要に応じて入手可能であるようにしておいてもよい。公開鍵は、公知のPKI(Public-key infrastructure)技術を適用して発行された、確かにオリジナル文書作成者であることを確認可能な公開鍵証明書つきで利用可能であることが望ましい
７０４：おわり
本実施形態によれば、開示文書検証PG２３３の処理フロー中のステップ７０２において算出される暗号文Ｃ’’は、もし改ざんがなければ署名生成PG２２２の処理フロー中のステップ５０３における暗号文Ｃと一致し、墨塗り以外の改変があれば一致しない。すなわち（性質１）（性質２）を満たす。また、墨塗り部分は擬似乱数により暗号化されており、それを復号するために必要となるシード値に関する情報は、シード値を一方向性関数fを通した後の値だけであるので、不正者が墨塗り部分を復号したり、推定したりすることは著しく困難であり事実上不可能である。すなわち（性質３）（性質４）を満たす。また、以上に述べた実施形態によれば、署名生成以前に、署名対象文書を分割することなく、１ビット単位に墨塗り可能である。
【００５２】
なお、非特許文献２や特許文献１に開示された技術においては、署名付き文書のうち署名対象となる文書以外のデータのサイズは、墨塗り可能な最小単位として設定したブロックの数に依存する。たとえば、非特許文献２に開示された技術であるCES-CVの場合は少なくとも、「ブロック数×コミットメント用乱数のサイズ」だけのデータが必要となる。したがって、これらの技術において最小単位となるブロックを１ビットに設定して、開示文書作成者が１ビット単位に墨塗りできるようにした場合、ブロック数＝文書のサイズ（ビット）となるため、多くのデータを必要とする。
【００５３】
これに対し、本実施形態によれば、署名付き文書のうち署名対象となる文書以外のデータのサイズは、署名対象文書のサイズによらない。したがって、多くの場合について、本実施形態で述べた技術の方が効率が良くなる。またその差は、署名対象文書のサイズが大きければ大きいほど、顕著になる。たとえば、本実施形態に従って、一方向性関数として1024ビットのRabin関数を用い、署名生成関数として1024ビットのRSA署名関数を用いた場合と、非特許文献２に開示されたCES-CVに従って、コミットメント用の乱数として160-bitの乱数を用い、署名生成関数として1024ビットのRSA署名関数を用い、最小単位を１ビットに設定した場合を比較すると、署名対象文書のサイズが７ビット以上であれば、本実施形態に従って署名を付与した場合の方が、データサイズが少なくなることが分かる。
【００５４】
以上に述べた実施形態においては、署名対象文書の先頭から連続する一領域が墨塗り可能であったが、本発明によれば、他の領域が墨塗りできるように変更することも可能である。たとえば、本発明では、文書の先頭から指定されたビット分の擬似乱数を用いて暗号化していたが、同様の処理を文書の末尾からも行うことによって、文書中の任意の一領域だけを開示し、他の領域を墨塗りすることも可能となる。また、署名対象文書を事前に適切なブロックに分割する方法と組み合わせることにより、ブロック単位での墨塗りと、一ブロック内でのビット単位での墨塗りの両方を実現することもできる。たとえば、住所録のような表データで、各行がひとりのデータに相当し、各行はさらに名前、住所、電話番号などのような複数のセルから構成されているような場合、各セル（例：Ａさんの住所などに相当）を墨塗り可能なブロックとして設定し、さらに各セルごとに本実施形態に従って署名を付与することによって、ある人に関するデータを纏めて墨塗りしたり、ある人の各項目ごとに墨塗りしたりできるだけでなく、さらに項目内を任意の長さを墨塗りしたりする（例：Ａさんの住所の番地以下の情報を墨塗りするなど）ことができるようになる。
【００５５】
以上に述べた実施形態においては、暗号化方法として、擬似乱数生成器によって生成された乱数をつかって排他的論理和を計算する方法を用いたが、本発明はこれに限定されるものではない。他の暗号化方法を使って構成することもできる。一般の暗号化方法を使って、開示文書の真正性の保証と、開示不適当な情報の削除の両立可能な、電子文書の真正性保証技術を構成するための枠組みは、次の通りである。
【００５６】
まず署名生成は次のようにして行えばよい。（１）署名対象文書を、墨塗り可能な最小単位となるブロックに区切り、それぞれ暗号化する、（２）暗号文全体に対して署名値を生成する、（３）署名対象文書、（一般には複数の）暗号化鍵、署名値の組を、署名付き文書とする。また、墨塗りは次のようにすればよい。（１）暗号化鍵を使って署名対象文書のうち墨塗りしたい部分を暗号化する、（２）暗号化鍵を、墨塗り箇所以外の部分を暗号化し、墨塗り部分を復号化できない鍵に更新する、（３）墨塗りされた文書、更新された暗号化鍵、署名値の組を、墨塗りされた署名付き文書とする。また、検証は次のようにすればよい。（１）墨塗りされた文書のうち墨塗りされていない箇所を暗号化する、（２）暗号文に対し署名値を検証する。
【００５７】
本実施形態で説明した方法は、上記の署名生成のステップ（１）における最小単位となるブロックとして１ビットごとに設定した場合に相当する。また、署名付き文書に含まれる暗号化鍵（をまとめたもの）として、擬似乱数生成器のシード値を使っている。
【００５８】
なお、この枠組みをつかって構成した場合、暗号化鍵自体の改ざんに対する配慮が求められる。本実施形態で説明した方法では、署名対象データにシード値から計算されたf^(L+1)(s)を含めるようにすることで、暗号化鍵の改ざんを防止している。他の暗号化方法を使って構成する場合も、たとえば同様にして、鍵のコミットメントを署名対象データに含めるようにすればよい。
【００５９】
この枠組みを使って構成した場合に、データサイズの観点からは、署名付き文書に含まれる暗号化鍵のサイズを削減することが好ましい。たとえば放送型暗号技術（Broadcast encryption）における鍵派生技術を利用することで、暗号化鍵のサイズを削減することができる。この場合、墨塗りのステップ（２）における鍵の更新は、放送型暗号技術におけるユーザの無効化処理に相当する処理を行うことで実現できる。
【００６０】
以上に述べた実施形態では、情報公開制度を例に挙げて説明をしたが、本発明はこれに限定されるものではない。
【００６１】
以上に述べた実施形態では、電子署名技術をベースとして電子文書の真正性保証技術を構成した例を示したが、これと異なっていてもよい。たとえば、信頼できる第三者機関が存在する場合には、電子署名技術によらず、オリジナル文書作成者が、あらかじめ当該第三者機関装置にオリジナル文書（またはそのハッシュ値など）を預託しておき、受信者が当該第三者機関装置に開示文書の真正性を問い合わせるようにしてもよい。この場合であっても、本実施形態の説明で述べた実施形態は適用可能である。たとえば、各方法で署名対象としたデータ（すなわち署名つきオリジナル文書のうちの署名以外のデータ）を、第三者機関装置に預託するようにすればよい。
【００６２】
なお、上記の実施形態では、非開示部分は墨塗り、すなわち、黒く塗りつぶした状態で開示する、と述べたが、このほかの方法により非開示処理を行っても良い。
【００６３】
なお、上記実施形態は行政文書を対象として説明したが、これに限定されるものではなく、署名付与後に署名対象部分の適切な改変が望まれることがあるさまざま電子文書に適用可能である。
【００６４】
また、電子文書に限らず、より一般に、画像データ、動画データ、音楽データなどのディジタル化されたデータであれば適用可能である。
【図面の簡単な説明】
【００６５】
【図１】実施形態を実現するネットワークシステムの概略構成図である。
【図２】実施形態におけるオリジナル文書作成者装置１０２を実現する計算機の概略構成図である。
【図３】実施形態におけるオリジナル文書作成・保管時のフローを説明する図である。
【図４】実施形態における情報公開時のフローを説明する図である。
【図５】第１の実施形態に従った署名生成PG２２２の処理フローを示した図である。
【図６】第１の実施形態に従った開示文書作成PG２３０の処理フローを示した図である。
【図７】第１の実施形態に従った開示文書検証PG２３３の処理フローを示した図である。
【符号の説明】
【００６６】
１０１：ネットワーク、１０２：オリジナル文書作成者装置、１０３：文書管理装置、１０４：開示文書作成者装置、１０５：受信者装置、１０６：オリジナル文書、１０７：署名つきオリジナル文書、１０８：開示文書。
【図１】
2007158984.tif 000003
【図２】
2007158984.tif 000004
【図３】
2007158984.tif 000005
【図４】
2007158984.tif 000006
【図５】
2007158984.tif 000007
【図６】
2007158984.tif 000008
【図７】
2007158984.tif 000009