(57)【要約】【課題】ネットワーク等を通じて移動する電子データ、プログラムコード等に書換えがあった場合にも、電子署名を付け替えることなく真正性を検証できるようにすること。【解決手段】電子データ検証装置１０１は電子データ保持手段１０２、電子データ復元手段１０５、復元後電子データ検証手段１０６を備える。電子データ保持手段１０２は書換え後電子データ１０３及び書換え前電子データに対する誤り訂正符号１０４を保持する。電子データ復元手段１０５は、誤り訂正符号１０４を用いて書換え後電子データ１０３を復元する。続いて復元後電子データ検証手段１０６は、電子データ復元手段１０５により復元された電子データを書換え前電子データと照合し、照合結果を用いて復元後電子データの正当性を検証する。【選択図】図１
2008060617.tif 000002
【特許請求の範囲】
【請求項１】
データの一部が書換えられた書換え後電子データの検証を行う電子データ検証装置であって、
書換え後電子データと、書換え前電子データに対する誤り訂正符号を保持する電子データ保持手段と、
前記誤り訂正符号に基づいて、書換え後電子データの復元を行う電子データ復元手段と、
前記電子データ復元手段により復元された電子データを、書換え前電子データと照合し、照合結果を用いて復元後電子データの正当性を検査する復元後電子データ検証手段と、
を備えた電子データ検証装置。
【請求項２】
書換え前電子データの電子署名を保持する検証用署名保持手段を備え、
前記復元後電子データ検証手段が、前記検証用署名保持手段が保持する電子署名から暗復号化演算により導かれたデータと、復元前電子データからハッシュ演算により導かれたデータとを比較し、前記比較の結果が所定の条件に合致するか否かを検査することを特徴とする請求項１に記載の電子データ検証装置。
【請求項３】
書換え前電子データの電子署名を保持する検証用署名保持手段を備え、
前記復元後電子データ検証手段が、前記検証用署名保持手段が保持する電子署名から暗復号化演算により導かれたデータと、復元後電子データからハッシュ演算により導かれたデータとを比較し、前記比較の結果が所定の条件に合致するか否かを検査することを特徴とする請求項１に記載の電子データ検証装置。
【請求項４】
前記電子データ復元手段が書換え後電子データの中に訂正できない誤りの存在を検出した場合に、書換え後電子データは不正と判断する電子データ書換え検証手段を備えることを特徴とする請求項１に記載の電子データ検証装置。
【請求項５】
電子データの書換え規則を保持する電子データ書換え規則保持手段を備え、
前記電子データ復元手段が行うデータの訂正が、前記電子データ書換え規則保持手段に保持された書換え規則に合致しているか否かを検査し、合致しない場合に、書換え後電子データは不正であると判断する電子データ書換え検証手段を備えることを特徴とする請求項１に記載の電子データ検証装置。
【請求項６】
電子データの一部を書換えて新たな電子データを作成する電子データ作成装置であって、
書換え前電子データに対する誤り訂正符号に基づく書換え規則を保持する電子データ書換え規則保持手段と、
前記電子データ書換え規則保持手段が保持する書換え規則に従い電子データを書換える電子データ書換え手段と、
を備えた電子データ作成装置。
【請求項７】
前記書換え規則は、書換え前電子データに対する誤り訂正符号が有する訂正可能条件に一致するか、もしくは充足する条件を書換え規則とする請求項６に記載の電子データ作成装置。
【請求項８】
データの一部が書換えられた書換え後電子データの検証を行う電子データ検証装置の電子データ検証方法であって、
前記電子データ検証装置によって実行されるところの、
書換え後電子データをメモリから読出すステップと、
書換え前電子データに対する誤り訂正符号をメモリから読出すステップと、
前記誤り訂正符号に基づいて、書換え後電子データの復元を行うステップと、
前記電子データ復元手段により復元された電子データを、書換え前電子データと照合するステップと、
前記照合結果を用いて復元後電子データの正当性を検査するステップと、
からなる電子データ検証方法。
【請求項９】
電子データの一部を書換えて新たな電子データを作成する電子データ作成装置の電子データ作成方法であって、
前記電子データ作成装置によって実行されるところの、
書換え前電子データに対する誤り訂正符号に基づく書換え規則をメモリから読出すステップと、
前記書換え規則に従い電子データを書換えるステップと、
からなる電子データ作成方法。
【請求項１０】
データの一部が書換えられた書換え後電子データの検証を行う集積回路であって、
書換え後電子データ及び書換え前電子データに対する誤り訂正符号データを外部から入力するインタフェース部と、
前記書換え後電子データ及び前記誤り符号データを保持するメモリ部と、
前記誤り訂正符号に基づいて、書換え後電子データの復元を行う電子データ復元処理部と、
前記電子データ復元処理部により復元された電子データを、書換え前電子データと照合する復元後電子データ検証処理部と、
を備えた集積回路。
【請求項１１】
電子データの一部を書換えて新たな電子データを作成する集積回路であって、
書換え前電子データ及び書換え前電子データに対する誤り訂正符号に基づく書換え規則を保持するメモリ部と、
前記書換え規則に従い前記書換え前電子データを書換え、書換え後電子データを作成する電子データ書換え処理部と、
書換え後電子データを外部に出力するインタフェース部と、
を備えた集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はネットワーク等を通じて移動する電子データ、プログラムコード等の真正性を検証する装置及び方法に関するものである。
【背景技術】
【０００２】
インターネットをはじめとする通信ネットワークの普及と帯域向上により、電子データ、プログラムコード等を通信ネットワーク経由で送受する機会が多くなった。その際の脅威として、悪意を持つ者により電子データ改竄される問題があり、特にプログラムコードの改竄は受信者にとって深刻な不利益を招くものであった。この問題に対しては、ＰＫＩ（Ｐｕｂｌｉｃ  ｋｅｙ  ｉｎｆｒａｓｔｒｕｃｔｕｒｅ：公開鍵認証基盤）を利用した電子署名による真正性保証技術が広く使われている。
【０００３】
電子署名による真正性検証は有用な技術であるが、例えば移動型エージェントプログラムのように、移動途上で内容が書き換わる性質を持った電子データの場合は一貫した署名が適用できないため、各々の送信者が各自の秘密鍵を用いて都度署名を追加する、もしくは付け直すという方法があった（例えば、特許文献１参照）。
【０００４】
図２７は前記特許文献２に記載された従来の真正性検証方法を示したものである。図２７において、電子データの送信者１は、信頼できる第三者であるＣＡ（Ｃｅｒｔｉｆｉｃａｔｅ  Ａｕｔｈｏｒｉｔｙ：認証局）による電子署名７と、電子署名手段３と送信者秘密鍵８を用いて生成した電子署名の二つを用いて、電子データ９の真正性を保証していた。ここで４は送信者１が原本データに付加する追加データ作成手段であり、前記追加データについては送信者１の署名、原本データ及び送信者識別情報５についてはＣＡによる署名が付与されている。送信者識別情報５は送信者公開鍵６を含む。受信者２は電子署名認証手段を用いて、受信した電子データに含まれる２つの電子署名から、追加データ、原本データ及び送信者の真正性を検証する。
【特許文献１】特開２００１−２３６３３３号公報（第２−４頁、図３）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、前記従来の構成では、原本データと追加データが明示的に区分されていることが前提であり、下記の課題を有していた。
【０００６】
（１）第三者保証の喪失
電子データの難読化、効率化等の理由で原本データと追加データを不可分とし、原本データ内に散在的にデータを埋め込んだ場合、送信者がデータ全体に署名を付け直す必要が生じ、受信者は原本データの真正性について第三者の保証を受けられなくなる。
【０００７】
送信者が少数で、かつ振る舞いの全てが信頼できる場合には、第三者からの権限委譲という形で署名を付け直し、受信者は間接的に第三者からの保証を得ることが可能であるが、例えば認証エージェント、検索エージェントなど、少種類かつ原本が共通の電子データを不特定多数の送信者が扱う場合には、個々の送信者への権限委譲は好ましい方法ではない。
【０００８】
（２）署名再生成のコスト
送信者が署名の追加や付け直しを行う場合、公開鍵暗号方式として一般に知られるＲＳＡ（Ｒｉｖｅｓｔ  Ｓｈａｍｉｒ  Ａｄｌｅｍａｎ）暗号演算などの計算量の多い演算が必要である。
【０００９】
昨今では計算機ネットワークに接続される端末としてＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）、携帯電話、ＩＣカード（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ  Ｃａｒｄ、Ｓｍａｒｔ  Ｃａｒｄとも呼ばれる）のような低処理能力の機器も増えており、これらの機器が送信者となる場合には、逐次署名を生成する事は効率的な方法ではない。
【００１０】
本発明は、前記従来の課題を解決するもので、信頼できる第三者によって内容が保証された電子データに対し、送信者が散在的にデータを埋め込むことを可能とし、かつ送信者が電子データに新たな署名を付与することなく、受信者は信頼できる第三者の署名によって電子データの真正性を検証できる装置と方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
前記従来の課題を解決するために、本発明の電子データ検証装置は、書換え後電子データと、書換え前電子データに対する誤り訂正符号を保持する電子データ保持手段と、前記誤り訂正符号に基づいて、書換え後電子データの復元を行う電子データ復元手段と、前記電子データ復元手段により復元された電子データを、書換え前電子データと照合し、照合結果を用いて復元後電子データの正当性を検査する復元後電子データ検証手段とを備える。
【００１２】
上記復元後電子データ検証手段により、書換え前電子データに基づいて書換え後電子データの真正性を検証することができる。
【００１３】
さらに本発明の電子データ検証装置は、書換え前電子データの電子署名を保持する検証用署名保持手段を備え、復元後電子データ検証手段が、前記検証用署名保持手段が保持する電子署名から暗復号化演算により導かれたデータと、復元前電子データからハッシュ演算により導かれたデータとを比較し、前記比較の結果が所定の条件に合致するか否かを検査する。
【００１４】
上記検証用署名保持手段により、書換え前電子データの署名に基づいて書換え後電子データの真正性を検証することができる。
【００１５】
さらに本発明の電子データ検証装置は、書換え前電子データの電子署名を保持する検証用署名保持手段を備え、復元後電子データ検証手段が、前記検証用署名保持手段が保持する電子署名から暗復号化演算により導かれたデータと、復元後電子データからハッシュ演算により導かれたデータとを比較し、前記比較の結果が所定の条件に合致するか否かを検査する。
【００１６】
上記検証用署名保持手段が保持する電子署名を用いた検証対象に復元後電子データを用いることにより、復元前電子データに対する演算を行うことなく復元後電子データの真正性を検証することができる。
【００１７】
さらに本発明の電子データ検証装置は、電子データ書換え検証手段を備え、電子データ復元手段が書換え後電子データの中に訂正できない誤りの存在を検出した場合に、書換え後電子データは不正であると判断する。
【００１８】
上記電子データ書換え検証手段により、電子データに不正な書換えが為されていた場合、電子データ復元時に不正を検知できる場合がある。
【００１９】
さらに本発明の電子データ検証装置は、電子データの書換え規則を保持する電子データ書換え規則保持手段を備え、電子データ復元手段が行うデータの訂正が、前記電子データ書換え規則保持手段に保持された書換え規則に合致しているか否かを検査し、合致しない場合に、書換え後電子データは不正であると判断する。
【００２０】
上記電子データ書換え規則保持手段により、書換えの制限規則を厳しくする、緩和するなど柔軟な設定ができる。
【００２１】
また、本発明の電子データ作成装置は、書換え前電子データに対する誤り訂正符号に基づく書換え規則を保持する電子データ書換え規則保持手段と、前記電子データ書換え規則保持手段が保持する書換え規則に従い電子データを書換える電子データ書換え手段を備える。
【００２２】
上記電子データ書換え手段により、書換えた内容に関する新たな署名生成等を行うことなく、書換えた電子データを正当なものとして外部に提供できる。
【００２３】
さらに本発明の電子データ作成装置は、書換え前電子データに対する誤り訂正符号が有する訂正可能条件に一致するか、もしくは充足する条件を書換え規則とする。
【００２４】
上記書換え規則により、誤り訂正符号の訂正可能条件を基本とした上で、さらに柔軟な書換え規則を設定できる。
【００２５】
また、本発明の電子データ検証方法は、前記電子データ検証装置によって実行され、書換え後電子データをメモリから読出すステップと、書換え前電子データに対する誤り訂正符号をメモリから読出すステップと、前記誤り訂正符号に基づいて、書換え後電子データの復元を行うステップと、前記電子データ復元手段により復元された電子データを、書換え前電子データと照合するステップと、前記照合結果を用いて復元後電子データの正当性を検査するステップからなる。
【００２６】
上記各ステップにより、書換え前電子データに基づいて書換え後電子データの真正性を検証する電子データ検証方法を具現化できる。
【００２７】
また、本発明の電子データ作成方法は、前記電子データ作成装置によって実行され、書換え前電子データに対する誤り訂正符号に基づく書換え規則をメモリから読出すステップと、前記書換え規則に従い電子データを書換えるステップからなる。
【００２８】
上記各ステップにより、書換えた内容に関する新たな署名生成等を行うことなく、書換えた電子データを正当なものとして外部に提供する電子データ作成方法を具現化できる。
【００２９】
また、本発明の集積回路は、書換え後電子データ及び書換え前電子データに対する誤り訂正符号データを外部から入力するインタフェース部と、前記書換え後電子データ及び前記誤り符号データを保持するメモリ部と、前記誤り訂正符号に基づいて、書換え後電子データの復元を行う電子データ復元処理部と、前記電子データ復元処理部により復元された電子データを、書換え前電子データと照合する復元後電子データ検証処理部と、を備える。
【００３０】
上記復元後電子データ検証処理部により、書換え前電子データに基づいて書換え後電子データの真正性を検証する集積回路を具現化できる。
【００３１】
また、本発明の別の集積回路は、書換え前電子データ及び書換え前電子データに対する誤り訂正符号に基づく書換え規則を保持するメモリ部と、前記書換え規則に従い前記書換え前電子データを書換え、書換え後電子データを作成する電子データ書換え処理部と、書換え後電子データを外部に出力するインタフェース部を備える。
【００３２】
上記電子データ書換え処理部により、書換えた内容に関する新たな署名生成等を行うことなく、書換えた電子データを正当なものとして外部に提供する集積回路を具現化できる。
【発明の効果】
【００３３】
本発明によれば、原本データに独自のデータを埋め込んで他者に配布する場合において、データを配布される側（送信者）は、配布する側（受信者）の署名ではなく、原本データを作成した信頼できる第三者の署名によって、配布されたデータが正しい原本に従って、正しい書換え規則のもとで作成されたものであることを検証できる。従って受信者は、受信データに関して信頼できる第三者の保証を直接受けられるという効果を得られる。
【００３４】
さらに本発明によれば、送信者は署名の追加や付け直しを行う必要がなくなり、低処理能力の機器において配布データの作成が短時間で行える。併せて、配布データを保証するための署名生成機や署名生成鍵の管理を行う必要がなくなり、署名再生成のコスト削減の効果を得られる。
【発明を実施するための最良の形態】
【００３５】
以下本発明の実施の形態について、図面を参照しながら説明する。
【００３６】
（実施の形態１）
図１は、本発明の実施の形態１における電子データ検証装置の構成図である。
【００３７】
図１において、電子データ検証装置１０１は電子データ保持手段１０２、電子データ復元手段１０５、復元後電子データ検証手段１０６を備えている。
【００３８】
電子データ保持手段１０２はメモリである。好適にはＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ：ランダムアクセスメモリ）を用いるが、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｏｎｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  ａｎｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ：電気的消去書換え可能不揮発メモリ）、フラッシュメモリ（書換え可能不揮発メモリ）、光記録媒体、磁気記録媒体等であっても良い。
【００３９】
電子データ復元手段１０５、及び復元後電子データ検証手段１０６は、電子計算処理を行う演算機である。専用に設計された演算機であっても、汎用のマイクロプロセッサとプログラムコードで構成されたものであっても良い。
【００４０】
電子データ保持手段１０２は書換え後電子データ１０３及び書換え前電子データに対する誤り訂正符号１０４を保持している。
【００４１】
書換え後電子データ１０３、及び書換え前電子データに対する誤り訂正符号１０４は、いずれも電子データである。
【００４２】
図２３は、本発明の実施の形態１における電子データ検証装置の動作を示すフローである。
【００４３】
電子データ復元手段１０５は、電子データ保持手段１０２が記憶する書換え後電子データ１０３を読み出し（ステップ２３０１）、同じく電子データ保持手段１０２が記憶する書換え前電子データに対する誤り訂正符号１０４を読み出し（ステップ２３０２）、書換え前電子データに対する誤り訂正符号１０４に基づいて書換え後電子データを復元する（ステップ２３０３）。続いて復元後電子データ検証手段１０６は、電子データ復元手段１０５により復元された電子データを書換え前電子データと照合し（ステップ２３０４）、照合結果を用いて復元後電子データの正当性を検証する（ステップ２３０５）。
【００４４】
図２は、書換え前電子データの一例である。
【００４５】
図２において、データブロック２０１は電子データの本体であるプログラムコード、データを論理的に分割された複数のブロック１〜ｍで構成されている。ここで図２の例ではデータ本体として機械語コード（マイクロプロセッサ上で動作するネイティブ機械語コード、仮想マシン上で動作するバイトコード等）を用いている。
【００４６】
データブロック２０１中に示される「Ｐ０」の記号部は、電子データ中に配置された書換え可能領域であり、後述する書換え後電子データではこの「Ｐ０」の部分が別のデータに置き換わる。
【００４７】
ＥＣＣ（Ｅｒｒｏｒ  Ｃｏｌｌｅｃｔｉｏｎ  Ｃｏｄｅ：誤り訂正符号）ブロック２０２は、論理的に分割された複数のブロック１〜ｍで構成され、ＥＣＣ１がデータブロック１を、ＥＣＣ２がデータブロック２を、以下同様に番号ｍまで、ＥＣＣｉがデータブロックｉの誤り訂正符号となるよう構成されている。
【００４８】
図３は、書換え後電子データの一例である。この例では、前記図２で示した書換え前電子データのデータブロック中に配置されたデータ「Ｐ０」が、異なるデータ「Ｐ１」「Ｐ２」及び「Ｐ３」に書換えられている。
【００４９】
ＥＣＣブロック２０２は、先に示した書換え前電子データに対する誤り訂正符号と同一のものを使用する。
【００５０】
誤り訂正符号の一例として、公知の技術である「（７，４）ハミング符号」を用いる。
【００５１】
なお、本発明に用いる誤り訂正符号は（７，４）ハミング符号に限定されるものではなく、公知の誤り訂正符号を任意に適用することができる。
【００５２】
またＥＣＣはデータブロック直後に位置する必然性はなく、分離されていても良い。あるいはデータブロック内に含まれていても良い。
【００５３】
（７，４）ハミング符号では、データビット４つ（Ｘ１，Ｘ２，Ｘ３，Ｘ４）に対して冗長ビット３つ（Ｐ１，Ｐ２，Ｐ３）を付加し、Ｘ１〜Ｘ４がいかなる値の場合でも、冗長ビットを付加した合計７ビットからなる符号が、必ずハミング距離３以上離れるようにする。
【００５４】
上記についてより詳細に説明すると、Ｘ１〜Ｘ４に対して、下記の論理式が成立するよう冗長ビットＰ１〜Ｐ３の値を定める。
【００５５】
Ｘ１  ｘｏｒ  Ｘ３  ｘｏｒ  Ｘ４  ｘｏｒ  Ｐ１  ＝  ０
Ｘ１  ｘｏｒ  Ｘ２  ｘｏｒ  Ｘ４  ｘｏｒ  Ｐ２  ＝  ０
Ｘ１  ｘｏｒ  Ｘ２  ｘｏｒ  Ｘ３  ｘｏｒ  Ｐ３  ＝  ０
（ｘｏｒは排他的論理和を意味する演算子である）
このようにして得られたビット集合Ｘ１，Ｘ２，Ｘ３，Ｘ４，Ｐ１，Ｐ２，Ｐ３は全ての組み合わせがハミング距離が３以上離れた関係となり、７ビット中１ビットが誤り（ビット反転）であった場合にはハミング距離１であるビット集合への訂正が可能であり、２ビットが誤りである場合には誤りの存在を検出することが可能である。
【００５６】
図４は、上記の（７，４）ハミング符号を応用した誤り訂正符号の一例である。
【００５７】
データブロックｉはオフセットｋ＝０〜３の４バイトで構成され、各バイトはビットオフセットｊ＝０〜７の８ビットで構成される。データブロック内の任意のビット４０１はｉ，ｊ，ｋをパラメータとした記号Ｘｉｊｋで表現される。
【００５８】
一方、ＥＣＣｉはオフセットｋ＝０〜２の３バイトで構成され、各バイトはビットオフセットｊ＝０〜７の８ビットで構成される。ＥＣＣｉ内の任意のビット４０２はｉ，ｊ，ｋをパラメータとした記号Ｐｉｊｋで表現される。
【００５９】
Ｘｉｊ１  ｘｏｒ  Ｘｉｊ３  ｘｏｒ  Ｘｉｊ４  ｘｏｒ  Ｐｉｊ１（式１）
Ｘｉｊ１  ｘｏｒ  Ｘｉｊ２  ｘｏｒ  Ｘｉｊ４  ｘｏｒ  Ｐｉｊ２（式２）
Ｘｉｊ１  ｘｏｒ  Ｘｉｊ２  ｘｏｒ  Ｘｉｊ３  ｘｏｒ  Ｐｉｊ３（式３）
とした時、式１、式２、式３全てが０となるようにＰｉｊ１〜３を定める。値の決定は下記の論理式に従えば良い。
【００６０】
Ｐｉｊ１  ＝  Ｘｉｊ１  ｘｏｒ  Ｘｉｊ３  ｘｏｒ  Ｘｉｊ４
Ｐｉｊ２  ＝  Ｘｉｊ１  ｘｏｒ  Ｘｉｊ２  ｘｏｒ  Ｘｉｊ４
Ｐｉｊ３  ＝  Ｘｉｊ１  ｘｏｒ  Ｘｉｊ２  ｘｏｒ  Ｘｉｊ３
ただし、上記Ｘｉｊｋはいずれも書換え前電子データのものである。書換え後電子データのＸｉｊｋは、好適には該電子データ検証装置の外部にある装置等によって書換えが為されたものである。
【００６１】
図５は電子データ復元手段の動作フローである。
【００６２】
ループ１として、ブロック番号ｉを１から最終ブロックまで繰り返し処理を行う（ステップ５０１）。ループ１内の処理は下記の通りである。
【００６３】
データブロックｉ、ＥＣＣｉを読み込む（ステップ５０２）。ここでデータブロックｉは書換え後電子データのデータブロックであり、電子データ保持手段１０２が保持していたデータである。続いてループ２として、ビットオフセットｊを０から７まで繰り返し処理を行う（ステップ５０３）。ループ２内の処理は下記の通りである。
【００６４】
前記の式１、式２、式３を演算する（ステップ５０４）。続いてこれら３式とも演算結果が０になるか否かを判定する（ステップ５０５）。判定がＹＥＳであれば、ステップ５０３に戻り、ビットオフセットｊを１増加してループ２を継続する。判定がＮＯであれば、（７，４）ハミング符号誤り訂正の原理に基づいてＸｉｊ１、Ｘｉｊ２、Ｘｉｊ３、Ｘｉｊ４いずれかを訂正（ビットを反転）する（ステップ５０６）。その後ステップ５０３に戻り、ビットオフセットｊを１増加してループ２を継続する。
【００６５】
ビットオフセット０〜７の処理が全て終了した場合は、ステップ５０１に戻り、ブロック番号ｉを１増加してループ１を継続する。最終ブロックまで処理が終了した場合に電子データ復元手段は処理を終了し、復元後電子データ検証手段の処理に進む。
【００６６】
上記の例では、各々のデータブロックに対して最大８ビット、好適にはバイト境界内に位置する連続する８ビットからなる最大１つのデータバイトを、書換え前電子データと同じ状態に復元することが出来る。
【００６７】
図６は復元後電子データ検証手段１０６の動作フローである。
【００６８】
復元後電子データの、データブロック１〜最終、ＥＣＣ１〜最終のメッセージダイジェストを作成し、これをＡとする（ステップ６０１）。メッセージダイジェストは電子データに識別性、一意性を持たせた状態でハッシュ演算を行うことにより得られる。
【００６９】
ハッシュ演算は電子データの要約を得るための一方向関数であるハッシュ関数（ｈａｓｈ  ｆｕｎｃｔｉｏｎ）を用いた演算であり、同一の電子データからは同一の要約が得られる点が特徴である。要約は元の電子データと比べてデータサイズが小さく、また異なる電子データから同一の要約が生成される確率は低く抑えられている。ハッシュ関数の例として、ＳＨＡ−１（Ｓｅｃｕｒｅ  Ｈａｓｈ  Ａｌｇｏｒｉｔｈｍ  １）、ＭＤ５（Ｍｅｓｓａｇｅ  Ｄｉｇｅｓｔ  ５）等が知られている。
【００７０】
次に書換え前電子データのデータブロック１〜最終、ＥＣＣ１〜最終のメッセージダイジェストを取得する。好適な例では、取得元は書換え前電子データの作成もしくは発行に関して責任を負う、信頼できる機関等である。取得したメッセージダイジェストをＢとする（ステップ６０２）。
【００７１】
次に、ＡとＢを比較し照合を行う（ステップ６０３）。照合の結果が一致であるか否かを判定し（ステップ６０４）、判定がＹＥＳであれば書換え後電子データは真正であると判断する（ステップ６０５）。判定がＮＯであれば書換え後電子データは不正であると判断する（ステップ６０６）。
【００７２】
以上実施の形態１によれば、データブロック内で最大１バイト等、限定された条件で任意の書換えが為された電子データを、書換え前電子データとの照合により真正、不正を判断できる。より具体的な効果としては、例えば事業者Ａがコンピュータ上で動作するプログラムコードＸ（認証プログラム、データ配信プログラム、検索エージェント、ゲーム等様々な適用例が考えられる）を作成、配布し、事業者ＢがＸを受け取り、事業者Ｂ固有の情報をプログラムコードＸに埋め込み（認証情報、配信コンテンツ、条件設定データ等様々な例が考えられる）Ｘ’を作成し、Ｘ’をコンシューマＣが受け取り実行するケースにおいて、コンシューマＣは配布されたプログラムコードＸ’が不正なもの（ウィルス、ワーム、スパイウェア等の例が考えられる）でない事を原プログラムＸの作成、配布者である事業者Ａから得られる固定の情報（上記例ではメッセージダイジェストＢ）によって一律に検証することが可能となる。
【００７３】
上記の効果は、事業者ＢとコンシューマＣをある種のオンライン取引の当事者と考えた場合、コンシューマＣは事業者Ｂではなく、原プログラムの作成、発行者である事業者Ａを信頼の拠り所に出来る事を意味する。この事は事業者Ｂが多数存在し、しかもそれらが事業母体や業務実績が明らかでなく、コンシューマＣにとって信頼に足る相手かどうか分からない場合でも、「信頼できる」事業者Ａの保証のもとで確実な取引が実現できるという事でもある。さらに付け加えるならば、実績、知名度のない事業者Ｂが、信頼できる事業者Ａの「顧客に対する信頼度」を利用することにより、広くコンシューマに対して事業展開できるビジネスチャンスを得ることにも繋がる。
【００７４】
（実施の形態２）
図７は、本発明の実施の形態２における電子データ検証装置の構成図である。
【００７５】
図７において、図１と同じ構成要素については同じ符号を用い、説明を省略する。
【００７６】
図７において、電子データ検証装置７０１は検証用署名保持手段７０７を備え、検証用署名保持手段７０７は書換え前電子データの電子署名（書換え前電子データに与えられた電子署名）７０８を保持する。好適な例では、署名を与える者は書換え前電子データの作成もしくは発行に関して責任を負う、信頼できる機関等である。
【００７７】
検証用署名保持手段７０７はメモリであり、書き換え前電子データの電子署名７０８は電子データである。
【００７８】
復元後電子データ検証手段７０６は検証用署名保持手段７０７から書換え前電子データの電子署名７０８を取り出し、この電子署名７０８を用いて復元後電子データの真正性を検証する。
【００７９】
図８は、復元後電子データ検証手段７０６の動作フローである。
【００８０】
図８において、図６と同じ構成要素については同じ符号を用い、説明を省略する。
【００８１】
書換え後電子データのメッセージダイジェスト（Ａ）と書換え前電子データのメッセージダイジェスト（Ｂ）を比較し照合を行った後、検証の結果が一致であれば、検証用署名保持手段が保持する電子署名を署名作成者の公開鍵で復号し、（Ｂ）と比較し照合する（ステップ８０５）。続いて照合の結果が一致であるか否かを判定し（ステップ８０６）、判定がＹＥＳであれば書換え後電子データは真正であると判断し、判定がＮＯであれば書換え後電子データは不正であると判断する。
【００８２】
なお、ステップ６０１とステップ６０２の順序は逆でも良く、またステップ８０５とステップ８０６はステップ６０２以降の順序であれば任意の位置で良い。
【００８３】
以上実施の形態２によれば、好適には信頼できる第三者が電子署名を用いて書換え前電子データの完全性（改ざん等の不正な改変が為されていないこと）を保証するため、書換え後電子データの真正性を信頼できる第三者を通じて確実に行うことが出来る。
【００８４】
効果の具体例としては、例えば原プログラムＸの発行者ＡがＸに対する署名を作成、配布しておけば、二次配布事業者Ｂが許可された範囲においてプログラムＸの内容を修正（事業者Ｂ独自の値を埋め込んだプログラムＸ’を作成）し、コンシューマＣに配布した際、コンシューマＣは事業者Ｂが行った変更内容が許可された範囲であることを、事業者Ａの署名を用いて確実に検証できる。ここで、許可された範囲とは即ちプログラムＸに付加された誤り訂正符号の訂正ルール（訂正可能範囲）そのものであり、特別の変更ルールを事業者Ａから都度取得する必要もなく、コンシューマＣは自律的にプログラムＸ’の正当性を確認できる。さらに、事業者Ｂが多種にわたる場合でも、コンシューマＣは単一の電子署名と共通の訂正ルールを用いて一律に検証処理を行うことが可能であり、事業者Ｂの増大によるコンシューマＣの処理リソース増加がなく、ハードウェアコスト低減にも効果がある。
【００８５】
（実施の形態３）
本発明の実施の形態３における電子データ検証装置の構成図は、実施の形態２と同じく図７で示される。
【００８６】
図９は、実施の形態３における電子データ検証手段の動作フローである。
【００８７】
図９において、図６と同じ構成要素については同じ符号を用い、説明を省略する。
【００８８】
書換え後電子データのメッセージダイジェスト（Ａ）を作成した後、検証用署名保持手段が保持する電子署名を署名作成者の公開鍵で復号し、（Ａ）と比較し照合する（ステップ９０２）。続いて照合の結果が一致であるか否かを判定し（ステップ９０３）、判定がＹＥＳであれば書換え後電子データは真正であると判断し、判定がＮＯであれば書換え後電子データは不正であると判断する。
【００８９】
以上実施の形態３によれば、好適には信頼できる第三者が電子署名を用いて書換え後電子データの完全性（改ざん等の不正な改変が為されていないこと）を保証するため、書換え後電子データの真正性を信頼できる第三者を通じて確実に行うことが可能となる。さらのこの場合、書換え前電子データのメッセージダイジェストを取得する必要がないため、処理時間短縮と処理リソース低減の効果が得られる。
【００９０】
（実施の形態４）
図１０は、本発明の実施の形態４における電子データ検証装置の構成図である。
【００９１】
図１０において、図１と同じ構成要素については同じ符号を用い、説明を省略する。
【００９２】
図１０において、電子データ検証装置１００１は電子データ復元手段１００５と電子データ書換え検証手段１００７を備え、電子データ書換え検証手段１００７は電子データ復元手段１００５と連携し、書換え後電子データの中に訂正できない誤りの存在を検知する。
【００９３】
電子データ復元手段１００５、及び電子データ書換え検証手段１００７は、いずれも電子計算処理を行う演算機である。
【００９４】
図１１は、電子データ書換え検証手段１００７の動作フローである。
【００９５】
図１１において、図６と同じ構成要素については同じ符号を用い、説明を省略する。
【００９６】
電子データ書換え検証手段が訂正できない誤りを検出したか否かを判定し（ステップ１１０１）、判定の結果がＹＥＳの場合には書換え後電子データは不正であると判断する。
【００９７】
判定の結果がＮＯの場合には、電子データ復元処理が未完了であれば処理を継続し、電子データ復元処理が完了していれば復元後電子データ検証手段へ処理を進める。
【００９８】
図１２は、訂正できない誤りの一例（訂正できないビット誤りの例）である。（７，４）ハミング符号を用いた誤り訂正において、既述した論理式（式１，式２，式３）は、図に示される８通りのビットパターンを取り得る。ここで冗長ビットＰｉｊ１，Ｐｉｊ２，Ｐｉｊ３は書換え対象ではないため、ビット誤りは起こり得ないものとして扱うことが出来る。このため図に示される３種類のビットパターン１２０１を検出した場合は、Ｘｉｊ１，Ｘｉｊ２，Ｘｉｊ３，Ｘｉｊ４いずれか２ビット以上に誤りが存在し、誤り訂正不能であると判別できる。
【００９９】
図１３は、前記訂正できないビット誤りを検出する場合の、電子データ書換え検証手段１００７、及び連携して動作する電子データ復元手段１００５の動作フローである。
【０１００】
図１３において、図５及び図６と同じ構成要素については同じ符号を用い、説明を省略する。
【０１０１】
電子データ復元手段の処理において、３つの論理式（式１，式２，式３）を演算した後、３式とも演算結果が０になるか否かを判定する（ステップ１３０１）。判定結果がＮＯの場合、電子データ書換え検証手段は３式の演算結果が誤り訂正可能なビットパターンであるか否かを判定する（ステップ１３０２）。判定結果がＹＥＳの場合は電子データ復元手段の処理を継続し、判定結果がＮＯの場合にはこの時点で書換え後電子データが不正であると判断する。
【０１０２】
図１４は、訂正できない誤りの別の一例（訂正できないバイト誤りの例）である。
【０１０３】
図１４において、ビット１４０１〜１４０５は電子データ復元手段が訂正しようとするビットを表す。ここで、前記各ビットの誤り訂正は（７，４）ハミング符号により全て訂正可能であるものとする。
【０１０４】
しかしながら、ビット１４０１〜１４０４はバイトオフセットｋ＝０に、ビット１４０５はバイトオフセットｋ＝１に位置する。この例が示すように、ＥＣＣｉによって訂正されるデータブロックｉの中で、訂正されるビットが複数のバイトオフセットｋに跨る場合は、２バイト以上の誤りが存在することが判り、１バイト誤り訂正が不可能であると判別できる。
【０１０５】
図１５は、前記訂正できないバイト誤りを検出する場合の、電子データ書換え検証手段１００７、及び連携して動作する電子データ復元手段１００５の動作フローである。
【０１０６】
図１５において、図５及び図６と同じ構成要素については同じ符号を用い、説明を省略する。
【０１０７】
ビットオフセットｊ＝０〜７までの１回のループをループＬとする（ステップ１５０３）。
【０１０８】
電子データ復元手段の処理において、３つの論理式（式１，式２，式３）を演算した後、３式とも演算結果が０になるか否かを判定する（ステップ１５０１）。判定結果がＮＯの場合、電子データ書換え検証手段は３式の演算結果が、ループＬ内で同一のビットパターンであるか否かを判定する（ステップ１５０２）。判定結果がＹＥＳの場合は電子データ復元手段の処理を継続し、判定結果がＮＯの場合にはこの時点で書換え後電子データが不正であると判断する。
【０１０９】
以上実施の形態４によれば、電子データ復元に際して訂正できないデータ誤り、即ち本来行ってはならないデータ書換えを検出することができる。具体的な発明の効果としては、例えばプログラムコードを外部から受け取って実行する際、書換えが許された範囲を逸脱していた場合にそれを検出することが出来、不正に書換えられたプログラムコードによってもたらされる被害を未然に防止できる。併せて、電子データ復元時に不正な書換えを検出できるため、不正検出に要する処理時間を短縮する効果が得られる。
【０１１０】
（実施の形態５）
図１６は、本発明の実施の形態５における電子データ検証装置の構成図である。
【０１１１】
図１６において、図１と同じ構成要素については同じ符号を用い、説明を省略する。
【０１１２】
図１６において、電子データ検証装置１６０１は電子データ復元手段１６０５、電子データ書換規則保持手段１６０７、電子データ書換え検証手段１６０９を備える。電子データ書換え規則保持手段は、電子データ書換え規則１６０８を保持する。
【０１１３】
電子データ復元手段１６０５、及び電子データ書換え検証手段１６０９は、いずれも電子計算処理を行う演算機である。
【０１１４】
電子データ書換え規則保持手段１６０７はメモリであり、電子データ書換え規則１６０８は電子データである。
【０１１５】
図１７は、電子データ書換え検証手段１６０９の動作フローである。
【０１１６】
図１７において、図６と同じ構成要素については同じ符号を用い、説明を省略する。
【０１１７】
電子データ書換え検証手段が書換え規則に合致しない書換えを検出したか否かを判定し（ステップ１７０１）、判定の結果がＹＥＳの場合には書換え後電子データは不正であると判断する。
【０１１８】
判定の結果がＮＯの場合には、電子データ復元処理が未完了であれば処理を継続し、電子データ復元処理が完了していれば復元後電子データ検証へ処理を進める。
【０１１９】
図１８は、電子データ書換え規則１６０８の一例である。
【０１２０】
書換え制限ブロックリスト１８０１は、書換え前電子データと書換え後電子データとの差分に制限規則を設けたブロックの一覧である。規則データ１８０２が示す例では、ブロック番号ｉについて、バイトオフセットｊ，ｋ，ｌに位置するデータがいずれも、書換え後にｍ以上ｎ以下の値になるべきである、という規則を意味する。
【０１２１】
書換え禁止ブロックリスト１８０３は、書換え前電子データと書換え後電子データの差異を認めない、即ち一切の書換えを許可しないブロックの一覧である。規則データ１８０４が示す例では、ブロック番号ｘ，ｙ，ｚについては一切の書換えを許可しないことを意味する。
【０１２２】
電子データ書換え検証手段１６０９がこれらの規則に違反した書換えを検知した場合は、書換え後電子データは不正であると判断される。
【０１２３】
また、１８０５に示す書換えフリーブロックリストを設けても良い。これは指定したブロックに対し任意の書換えを許可するものであり、訂正できない誤りを含んだ書換えも許可する。規則データ１８０６が示す例では、ブロック番号ｐ，ｑについては任意の書換えを許可する。この場合、復元後電子データ検証手段もこれに連動し、ブロック番号ｐ，ｑについて検証対象外とする事が望ましい。
【０１２４】
なお、電子データ書換え規則１６０８の詳細なデータフォーマットは上記に限定されるものではなく、電子データ書換えの可否を機械的に解釈できる形式であれば任意のデータフォーマットで良い。
【０１２５】
以上実施の形態５によれば、誤り訂正符号の性質に基づく書換え許容範囲に加えて、独自の制限規則を追加したり、逆に緩和することが可能となり、より柔軟に書換え規則を設定できる効果が得られる。
【０１２６】
なお、電子データ書換え規則１６０８は、電子データ検証装置１６０１以外の装置と共有しても良い。好適な例として、書換え後電子データを作成する装置と共有する方法が考えられる。この場合、従来二者間において共通の電子データ書換え規則を持つ場合に、対象となる電子データ全ての領域に関わる書換え規則を共有する必要があったが、本例においては基本的な書換え規則は誤り訂正符号そのものに含まれるため共有不要であり、追加すべき最小限の書換え規則を二者間で共有すれば良い。この方法により、共有されるデータ量を少なくする効果が得られる。
【０１２７】
また、別の好適な例として、第三者が電子データ書換え規則１６０８を発行し、電子データ検証装置１６０１と、他の装置がこれを取得する方法が考えられる。この場合、書換え規則の正当性を保証できる効果が得られる。
【０１２８】
（実施の形態６）
図１９は、本発明の実施の形態６における電子データ作成装置の構成図である。
【０１２９】
図１９において、電子データ作成装置１９０１は電子データ書換え規則保持手段１９０２及び電子データ書換え手段１９０４を備える。電子データ書換え規則保持手段１９０２は、電子データ書換え規則１９０３を保持する。
【０１３０】
電子データ書換え規則保持手段１９０２はメモリであり、電子データ書換え規則１９０３は電子データである。
【０１３１】
電子データ書換え手段１９０４は、電子計算処理を行う演算機である。
【０１３２】
電子データ書換え手段１９０４は、電子データ書換え規則１９０３に従い、書換え前電子データの一部を書換え後電子データを作成する。
【０１３３】
図２４は、本発明の実施の形態６における電子データ作成装置の動作を示すフローである。
【０１３４】
電子データ書換え手段１９０４は、書換え前電子データに対する訂正符号に基づく電子データ書換え規則１９０３を、該規則を記憶する電子データ書換え規則保持手段１９０２から読み出し（ステップ２４０１）、読み出した電子データ書換え規則１９０３に従い電子データを書換える（ステップ２４０２）。
【０１３５】
図２０は、電子データ書換え規則の一例である。図２０において、２００１は書換え規則データの例を具体的に示したものである。電子データ書換え規則は、書換え前電子データに対する誤り訂正符号の性質に基づいて設定される。先に示した（７，４）ハミング符号を応用した誤り訂正符号を用いる場合、ブロック長４バイトの固定ブロックに対し、書換え可能バイト数が最大１バイトであるため、この条件に合わせた書換え規則を設ける。
【０１３６】
なお、誤り訂正符号は（７，４）ハミング符号に限定されるものではなく、他の誤り訂正符号を用いる場合には、符号の性質に従った書換え規則を設ければ良い。
【０１３７】
以上実施の形態６によれば、データブロック内で最大１バイト等、限定された条件で任意の書換えを施したデータの作成が可能となる。従来は限定条件下であっても、書換えを施したデータの真正性を示すには書換え者自身の署名を付加する等の措置が必要であったが、本実施の形態によれば署名付与の必要がなく、しかも書換え前電子データの作成者（例えば原始プログラムコードの作成、発行者）の保証の基で第三者に電子データを再配布することが出来る。即ち書換え前電子データの発行者である事業者Ａの保証のもと、事業者（あるいはコンシューマ）Ｂは電子データに独自のデータを埋め込み、コンシューマ（あるいは事業者）Ｃに引き渡すことが可能となる。本実施の形態による電子データ作成装置を有するＢにとっては、配布する電子データにＢ自身の署名を付与する必要がなく、署名生成のための処理コスト、署名鍵管理のためのセキュリティコストを削減できる効果がある。
【０１３８】
（実施の形態７）
本発明の実施の形態７における電子データ検証装置の構成図は、実施の形態６と同じく図１９で示される。
【０１３９】
図２１は、実施の形態７における電子データ書換え規則の一例である。
【０１４０】
書換え制限ブロックリスト２１０１は、書換え前電子データと書換え後電子データとの差分に制限規則を設けたブロックの一覧である。規則データ２１０２が示す例では、ブロック番号ｉについて、バイトオフセットｊ，ｋ，ｌに位置するデータがいずれも、書換え後にｍ以上ｎ以下の値になるべきである、という規則を意味する。
【０１４１】
書換え禁止ブロックリスト２１０３は、書換え前電子データと書換え後電子データの差異を認めない、即ち一切の書換えを許可しないブロックの一覧である。規則データ２１０４が示す例では、ブロック番号ｘ，ｙ，ｚについては一切の書換えを許可しないことを意味する。
【０１４２】
電子データ書換え手段１９０４は、これらの電子データ書換え規則に従って書換え前電子データの一部を書換え、書換え後電子データを作成する。
【０１４３】
好ましくは電子データ書換え規則１９０３は書換え後電子データを引き渡す相手側装置と共有しても良く、さらに好ましくは電子データ書換え規則１９０３は電子データ作成装置１９０１と、前記相手側装置の両者が信頼する第三者によって保証しても良い。
【０１４４】
以上実施の形態７によれば、誤り訂正符号の性質に基づく書換え許容範囲に加えて、独自の制限規則を追加したり、逆に緩和することが可能となり、より柔軟に書換え規則を設定できる効果が得られる。
【０１４５】
なお、実施の形態７の応用として、図２２に例示するような書換え強制ブロックリストを書換え規則の一部に設けても良い。書換え強制ブロックリスト２２０１は、指定したブロックｘ，ｙ，ｚについて、共通のバイトオフセットｊの位置に値ｍを書き込む、という規則を示す。誤り訂正符号の性質上、既に書換えが行われたブロックに対して、別のバイトオフセットへ書換えが為された場合には訂正不能となるため、前記の書換え禁止ブロックを用いることなく不正な書換えを抑止できる。書換え禁止ブロックリストは、書換え後電子データを引き渡す相手側装置と共有する必要がなく、共有データの量を少なくする効果が得られる。
【０１４６】
（実施の形態８）
実施の形態８は、本発明の実施の形態１に示す電子データ検証装置と同等の機能を集積回路を用いて実現するものである。
【０１４７】
図２５は、本発明の実施の形態８における集積回路の構成図である。
【０１４８】
図２５において、集積回路２５０１は、メモリ部２５０２と、ＲＯＭ（読出し専用メモリ）２５０７と、ＣＰＵ（中央演算ユニット）２５０８と、インタフェース部２５０９を備え、これらはバス２５１０で結合されている。メモリ部２５０２は書換え後電子データ２５０３及び書換え前電子データに対する誤り訂正符号２５０４を保持する。ＲＯＭ２５０７は電子データ復元処理部２５０５及び復元後電子データ検証処理部２５０６を保持し、ＣＰＵ２５０８を用いてこれらの処理を実行する。好適には書換え後電子データ２５０３及び書換え前電子データに対する誤り訂正符号２５０４はインタフェース部２５０９を介して集積回路の外部から入力され、メモリ部２５０２内に転送される。
【０１４９】
メモリ部２５０２は実施の形態１に示す電子データ保持手段１０２に対応する機能を持つ。
【０１５０】
同様に、書換え後電子データ２５０３は書換え後電子データ１０３に、書換え前電子データに対する誤り訂正符号２５０４は書換え前電子データに対する誤り訂正符号１０４に、電子データ復元処理部２５０５は電子データ復元手段１０５に、復元後電子データ検証処理部は復元後電子データ検証手段１０６に、それぞれ対応する機能を持つ。
【０１５１】
以上実施の形態８を備えた集積回路を用いれば、実施の形態１で示した内容と同様の効果が得られる。
【０１５２】
（実施の形態９）
実施の形態９は、本発明の実施の形態６に示す電子データ検証装置と同等の機能を集積回路を用いて実現するものである。
【０１５３】
図２６は、本発明の実施の形態９における集積回路の構成図である。
【０１５４】
図２６において、集積回路２６０１は、メモリ部２６０２と、ＲＯＭ（読出し専用メモリ）２６０７と、ＣＰＵ（中央演算ユニット）２６０８と、インタフェース部２６０９を備え、これらはバス２６１０で結合されている。メモリ部２６０２は書換え前電子データ２６０５及び電子データ書換え規則２６０３を保持する。ＲＯＭ２６０７は電子データ書換え処理部２６０４を保持し、ＣＰＵ２５０８を用いて電子データ書換え処理を実行する。インタフェース部２６０９は、書換え処理が完了した電子データを、書換え後電子データ２６０６として集積回路の外部に出力する。
【０１５５】
メモリ部２６０２は実施の形態６に示す電子データ保持手段１９０２に対応する機能を持つ。
【０１５６】
同様に、電子データ書換え規則２６０３は電子データ書換え規則１９０３に、電子データ書換え処理部２６０４は電子データ書換え手段１９０４に、それぞれ対応した機能を持つ。
【０１５７】
以上実施の形態９を備えた集積回路を用いれば、実施の形態６に示した内容と同様の効果が得られる。
【産業上の利用可能性】
【０１５８】
本発明にかかる電子データ検証装置、電子データ作成装置、電子データ検証方法、電子データ作成方法及び集積回路は、電子データ配布に関する汎用性を有し、ネットワークを通じたプログラム配布、コンテンツ配布、エージェントシステム、認証サービス等に有用である。また電子媒体を解して電子データを配布する、オフライン型サービス等の用途にも応用できる。
【図面の簡単な説明】
【０１５９】
【図１】実施の形態１における電子データ検証装置の構成図
【図２】書換え前電子データの一例を示す図
【図３】書換え後電子データの一例を示す図
【図４】誤り訂正符号の一例を示す図
【図５】電子データ復元手段の動作フロー図
【図６】実施の形態１における復元後電子データ検証手段の動作フロー図
【図７】実施の形態２における電子データ検証装置の構成図
【図８】実施の形態２における復元後電子データ検証手段の動作フロー図
【図９】実施の形態３における復元後電子データ検証手段の動作フロー図
【図１０】実施の形態４における電子データ検証装置の構成図
【図１１】実施の形態４における電子データ書換え検証手段の動作フロー図
【図１２】訂正できない誤りの一例（訂正できないビット誤りの例）を示す図
【図１３】訂正できないビット誤りを検出する際の、電子データ書換え検証手段の動作フロー図
【図１４】訂正できない誤りの一例（訂正できないバイト誤りの例）を示す図
【図１５】訂正できないバイト誤りを検出する際の、電子データ書換え検証手段の動作フロー図
【図１６】実施の形態４における電子データ検証装置の構成図
【図１７】実施の形態５における電子データ書換え検証手段の動作フロー図
【図１８】電子データ書換え規則の一例を示す図
【図１９】実施の形態６及び７における電子データ作成装置の構成図
【図２０】実施の形態６における電子データ書換え規則の一例を示す図
【図２１】実施の形態７における電子データ書換え規則の一例を示す図
【図２２】実施の形態７の応用における電子データ書換え規則の一例を示す図
【図２３】実施の形態８における電子データ検証方法の手順を示すフロー図
【図２４】実施の形態９における電子データ作成方法の手順を示すフロー図
【図２５】実施の形態１０における集積回路の構成図
【図２６】実施の形態１１における集積回路の構成図
【図２７】従来例特許文献１の構成図
【符号の説明】
【０１６０】
１    従来例の電子データ送信装置
２    従来例の電子データ受信装置
３    電子署名手段
４    追加データ作成手段
５    送信者識別情報
６    送信者公開鍵
７    ＣＡによる電子署名
８    送信者秘密鍵
９    送受信される電子データ
１０    電子署名認証手段
１０１    電子データ検証装置
１０２    電子データ保持手段
１０３    書換え後電子データ
１０４    書換え前電子データに対する誤り訂正符号
１０５    電子データ復元手段
１０６    復元後電子データ検証手段
２０１    書換え前電子データのデータブロック
２０２    書換え前電子データのＥＣＣブロック
３０１    書換え後電子データのデータブロック
４０１    データブロック内のビットＸｉｊｋ
４０２    ＥＣＣ内のビットＰｉｊｋ
５０１〜５０６    電子データ復元手段の動作フローの各ステップ
６０１〜６０６    実施の形態１における復元後電子データ検証手段の動作フローの各ステップ
７０１    電子データ検証装置
７０６    復元後電子データ検証手段
７０７    検証用署名保持手段
７０８    書換え前電子データの電子署名
８０５〜８０６    実施の形態２における復元後電子データ検証手段の動作フローの各ステップ
９０２〜９０３    実施の形態３における復元後電子データ検証手段の動作フローの各ステップ
１００１    電子データ検証装置
１００５    電子データ復元手段
１００７    電子データ書換え検証手段
１１０１    電子データ書換え検証手段の動作フローの不正書換え検出ステップ
１２０１    訂正できないビット誤りの例
１３０１〜１３０２    訂正できないビット誤りを検出する場合の、電子データ復元手段及び電子データ書換え検証手段の動作フローの各ステップ
１４０１〜１４０４    電子データ復元手段が訂正しようとするビット（バイトオフセット０）
１４０５    電子データ復元手段が訂正しようとするビット（バイトオフセット１）
１５０１〜１５０３    訂正できないバイト誤りを検出する場合の、電子データ復元手段及び電子データ書換え検証手段の動作フローの各ステップ
１６０１    電子データ検証装置
１６０５    電子データ復元手段
１６０７    電子データ書換え規則保持手段
１６０８    電子データ書換え規則
１６０９    電子データ書換え検証手段
１７０１    電子データ書換え検証手段の動作フローの不正書換え検出ステップ
１８０１    書換え制限ブロックリスト
１８０２    書換え制限ブロックの規則データ構造例
１８０３    書換え禁止ブロックリスト
１８０４    書換え禁止ブロックの規則データ構造例
１８０５    書換えフリーブロックリスト
１８０６    書換えフリーブロックの規則データ構造例
１９０１    電子データ作成装置
１９０２    電子データ書換え規則保持手段
１９０３    電子データ書換え規則
１９０４    電子データ書換え手段
２００１    電子データ書換え規則のデータ構造例
２１０１    書換え制限ブロックリスト
２１０２    書換え制限ブロックの規則データ構造例
２１０３    書換え禁止ブロックリスト
２１０４    書換え禁止ブロックの規則データ構造例
２２０１    書換え強制ブロックリスト
２３０１〜２３０５    電子データ検証方法の各ステップ
２４０１〜２４０２    電子データ作成方法の各ステップ
２５０１    集積回路
２５０２    メモリ部
２５０３    書換え後電子データ
２５０４    書換え前電子データに対する誤り訂正符号
２５０５    電子データ復元処理部
２５０６    復元後電子データ検証処理部
２５０７    ＲＯＭ
２５０８    ＣＰＵ
２５０９    インタフェース部
２５１０    バス
２６０１    集積回路
２６０２    メモリ部
２６０３    電子データ書換え規則
２６０４    電子データ書換え処理部
２６０５    書換え前電子データ
２６０６    書換え後電子データ
２６０７    ＲＯＭ
２６０８    ＣＰＵ
２６０９    インタフェース部
２６１０    バス
【図１】
2008060617.tif 000003
【図２】
2008060617.tif 000004
【図３】
2008060617.tif 000005
【図４】
2008060617.tif 000006
【図５】
2008060617.tif 000007
【図６】
2008060617.tif 000008
【図７】
2008060617.tif 000009
【図８】
2008060617.tif 000010
【図９】
2008060617.tif 000011
【図１０】
2008060617.tif 000012
【図１１】
2008060617.tif 000013
【図１２】
2008060617.tif 000014
【図１３】
2008060617.tif 000015
【図１４】
2008060617.tif 000016
【図１５】
2008060617.tif 000017
【図１６】
2008060617.tif 000018
【図１７】
2008060617.tif 000019
【図１８】
2008060617.tif 000020
【図１９】
2008060617.tif 000021
【図２０】
2008060617.tif 000022
【図２１】
2008060617.tif 000023
【図２２】
2008060617.tif 000024
【図２３】
2008060617.tif 000025
【図２４】
2008060617.tif 000026
【図２５】
2008060617.tif 000027
【図２６】
2008060617.tif 000028
【図２７】
2008060617.tif 000029