(57)【要約】【課題】分割された複数の文書データのそれぞれに署名が行われているとき、全体の文書データとして署名が有効に行われているか否かを簡易に検証できる電子署名方法を提供する。【解決手段】文書データＭｄが、（ｗ−８）ワード以下の文書である分割データｍｉに分割される。分割データｍｉが、ハッシュ関数によって４ワードのデータｈ（ｍｉ）に変換される。データｈ（ｍｉ）には、初期値ｒ１とする数列ｒｉを連接して、８ワードのデータブロックＢｉが得られる。データブロックＢｉを逆関数ｇにより変換した署名変換データｇ（Ｂｉ）を求める。署名変換データｇ（Ｂｉ）が分割データｍｉとセットで送信される。署名検証者は、署名変換データｇ（Ｂｉ）を関数ｆで変換してデータブロックＢｉを求める。データブロックＢｉから署名者の添付すべき数列であること、及びｍｉのハッシュ関数による変換値に等しいことが検証される。【選択図】    図２
2005027059.tif 000002
【特許請求の範囲】
【請求項１】
分割された文書データを電子的に署名するための電子署名方法であって、
前記文書データを分割した分割データの数と同じ項数の数列を生成して公開し、
該数列の各項と各分割データとを前から順番に組み合わせた合成データを形成し、
各合成データを署名変換することを特徴とする電子署名方法。
【請求項２】
文書データを分割した分割データそれぞれに電子的な署名を添付して、文書作成側から文書検証側に送信し、該文書検証側で署名を検証する電子署名方法であって、
前記文書データを所定のサイズに分割して複数の分割データとし、
初期値を選び所定の漸化式により数列を生成すると共に該漸化式及び初期値を文書検証側に公開しておき、
該数列を初項から順番に前記分割データに分割順に加えた複数の合成データを形成し、
該合成データそれぞれに署名変換を施して署名データを作成し、
該署名データと前記分割データとをセットで文書検証側に送信し、
該文書検証側で前記分割データ及び公開された数列から合成データを形成して前記署名の検証を行う
ことを特徴とする電子署名方法。
【請求項３】
前記請求項１又は２に記載の電子署名方法をコンピュータに実行させるための電子署名処理プログラム。
【請求項４】
前記請求項３に記載の電子署名処理プログラムを記憶したコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、文書データを署名して、文書作成側から送信手段によって文書検証側に送信して、文書検証側にて署名を検証することにより作成者の作成した文書データであることを検証するような例えば電子商取引での契約等で用いられる電子署名方法に係り、特に携帯端末等の一回の送信で送信可能なデータサイズが小さい送信手段を用いる場合や、保存できる文書データのサイズが小さく一度に署名変換できるデータサイズが小さい場合に適した電子署名方法に関する。
【０００２】
【従来の技術】
従来、この種の電子署名方法としては、ＲＳＡ等の公開鍵暗号化方式を利用した方法が広く用いられている。この方法では、署名を行う文書作成側は、署名を検証する文書検証側に公開する関数ｆと秘密の逆関数ｇを用意し、例えば電子商取引において文書作成者が作成した平文データである文書データを、ハッシュ関数で変換したブロックとし、このブロックを関数ｇで暗号化したものを署名とし、署名を文書データに添付して文書検証側に送信する。文書検証側は、受信した署名を関数ｆで元に戻して本人の署名であることを確認している。
【０００３】
【発明が解決しようとする課題】
ところで、近年の携帯端末の普及により、これを利用した簡易な電子商取引の増加が予想され、それに伴い文書に本人であることを確認するための署名を行う電子署名が重要になっている。携帯端末とは、例えば電子署名をするプログラムをインストールできるが、大きな文書データを扱えないような手のひらにのる程度の小さい装置であり、携帯電話端末も含まれる。このように、携帯端末の場合、一度に署名変換できるデータサイズが小さく、一回の送信で送信可能な文書のデータサイズが制限されているため、文書データを複数の短いブロックに分割し、分割されたブロック毎に署名が行われている。しかし、この電子署名方法では、文書データの一部が脱落してもわからなかったり、あるいは第三者により以前に署名した文書データを利用して別の署名付文書データを作られる等の問題がある。
【０００４】
本発明は、上記課題を解決しようとするものであり、分割された複数の文書データのそれぞれに署名が行われている場合に、それらを合わせた全体の文書データとして署名が有効に行われているか否かを簡易に検証できる電子署名方法、電子署名処理プログラム及び記憶媒体を提供することを目的とする。
【０００５】
【課題を解決するための手段】
上記目的を達成するために上記請求項１の発明の構成上の特徴は、分割された文書データを電子的に署名するための電子署名方法であって、文書データを分割した分割データの数と同じ項数の数列を生成して公開し、数列の各項と各分割データとを前から順番に組み合わせた合成データを形成し、各合成データを署名変換することにある。
【０００６】
また、請求項２の発明の構成上の特徴は、文書データを分割した分割データそれぞれに電子的な署名を添付して、文書作成側から文書検証側に送信し、文書検証側で署名を検証する電子署名方法であって、文書データを所定のサイズに分割して複数の分割データとし、初期値を選び所定の漸化式により数列を生成すると共に漸化式及び初期値を文書検証側に公開しておき、数列を初項から順番に分割データに分割順に加えた複数の合成データを形成し、合成データそれぞれに署名変換を施して署名データを作成し、署名データと分割データとをセットで文書検証側に送信し、文書検証側で分割データ及び公開された数列から合成データを形成して署名の検証を行うことにある。
【０００７】
上記のように構成した請求項１，２の発明においては、一度に署名変換するのは、所定サイズに分割された分割データと数列の項一つとを合わせた合成データであるため、携帯端末等の保存できる文書データのサイズが小さく、一度に署名変換できるデータサイズが小さい場合にも変換できる。又、請求項２の発明においては、一度に送信するのは、分割データと対応する合成データを署名変換したデータとなっているため、携帯端末等の一回の送信で送信可能なデータサイズが小さい送信手段を用いる場合にも、送信が可能となる。そして、文書データを分割した複数の分割データに、初期値を指定して所定の漸化式により生成した数列を順番に加えているので、文書検証者側では、数列をチェックすることにより、各分割された文書に正しい署名が行われていると共に文書データ全体として抜け落ちや不法なつぎはぎ等のデータ改ざんがないことを簡単に検証することができる。また、数列は、初期値の変更により使用毎に新しいものになっていくので、以前に用いた署名を利用することが不可能になっている。さらに、本発明においては、分割された文書データに初期値の決められた数列を添付するのみで複雑な手続が必要ないので、携帯端末等の簡易な装置を用いて安価にかつ確実に電子署名を利用することができ、利用者にとっても便利である。
【０００８】
また、請求項３の発明の構成上の特徴は、前記請求項１又は２に記載の電子署名方法をコンピュータに実行させるための電子署名処理プログラムである。このプログラムにより、多数の携帯端末等の簡易送信端末と受信側と間での電子商取引等にこの電子署名方法を簡易に適用することができる。
【０００９】
また、請求項４の発明の構成上の特徴は、前記請求項３に記載の電子署名処理プログラムを記憶したコンピュータ読み取り可能な記憶媒体である。この記憶媒体の利用により、電子署名方法の利用を広い範囲に広めることができる。
【００１０】
【発明の実施の形態】
以下、本発明の実施の形態について説明する。図１は、一実施形態である電子署名方法が適用されるシステムの概略構成をブロック図により示したものである。このシステムは、電子商取引により契約を行う利用者（文書作成者）の携帯端末１０と、被契約者（文書検証者）の受信装置２０とにより構成されている。
【００１１】
携帯端末１０は、利用者が文書を入力するためのフラットパネル形式、キーボード形式等の入力装置である入力部１１と、入力内容を表示する液晶、ＣＲＴ等からなる表示パネルである表示部１２と、入力された文書の処理を行う制御部１３と、暗号データを送信する送信部１４とを備えている。制御部１３には、入力部１１、表示部１２、送信部１４が接続されている。
【００１２】
制御部１３は、ＲＯＭ，ＲＡＭ，ＣＰＵ，Ｉ／Ｏ等を含むマイクロコンピュータにより構成されており、ＲＯＭに記憶された図４に示す「電子署名制御プログラム」を実行するものである。また、制御部１３は、文書を分割した時刻（年月日時分秒）ｔ１を初期値ｒ１とした漸化式ｒにより数列ｒｉを生成する数式生成プログラムをＲＡＭに記憶している。この初期値ｒ１及び漸化式ｒについては、送信部１４により被契約者側の受信装置２０に送信して公開されるようになっている。
【００１３】
ここで、数列ｒｉを生成する漸化式ｒとしては、例えばｍｔ１９９３７ａｒ．ｃが用いられる。ｍｔ１９９３７ａｒ．ｃは、与えられた任意長の配列を初期値とする３２ビットワード列を生成するメルセンヌツイスターとして知られる擬似乱数発生プログラムである。メルセンヌツイスターについては、松本、西村著「メルセンヌツイスター：６２３次元的等分布一様擬似乱数発生器」（「Ｍｅｒｓｅｎｎｅ  Ｔｗｉｓｔｅｒ：  Ａ  ６２３−ｄｉｍｅｎｓｉｏｎａｌｌｙ  ｅｑｕｉｄｉｓｔｒｉｂｕｔｅｄ  ｕｎｉｆｏｒｍ  ｐｓｅｕｄｏｒａｎｄｏｍ  ｎｕｍｂｅｒ  ｇｅｎｅｒａｔｏｒ」）エーシーエム  トランサクション  オン  モデリング  アンドコンピュータシミュレーション（  ＡＣＭ  Ｔｒａｎｓ．  ｏｎ  Ｍｏｄｅｌｉｎｇ  ａｎｄ  Ｃｏｍｐｕｔｅｒ  Ｓｉｍｕｌａｔｉｏｎ  ）第８巻１番，１９９８年１月，ｐｐ３−３０に示されている。ただし、数列生成方法としては、メルセンヌツイスターに限るものではなく、他の任意の数列生成方法を採用することができる。
【００１４】
電子署名側のデータの処理については、図２に示すようになっている。ここで、送信部１４によって一度に送信できる文書のデータサイズをｗワードとする。文書作成者により作成された文書が文書データＭｄとして入力され、文書データＭｄが（ｗ−８）ワード以下の文書である分割データｍ１，ｍ２，…，ｍｉ，…，ｍｎ（以下，ｍｉと記す）に分割される。分割データｍｉは、ハッシュ関数によって４ワードのデータ｛ｈ（ｍ１），ｈ（ｍ２），…，ｈ（ｍｉ），…，ｈ（ｍｎ）｝（以下、ｈ（ｍｉ）と記す）に変換される。データｈ（ｍｉ）には数列ｒｉの４ｉ−３，４ｉ−２，４ｉ−１，４ｉワード目のデータが連接され、８ワードのデータブロック｛Ｂ１，Ｂ２，…，Ｂｉ，…，Ｂｎ｝（以下，Ｂｉと記す）にされる。データブロックＢｉが、ＲＳＡに従って逆関数ｇにより変換した署名変換データｇ（Ｂｉ）にされる。分割データｍｉに署名変換データｇ（Ｂｉ）が付加されて、被契約者側の受信装置２０に送信される送信データ｛ｍｉ＋ｇ（Ｂｉ）｝にされる。
【００１５】
受信装置２０は、文書データを受信する受信部２１と、受信した文書データの署名の検証等を行う検証制御部２２と、を備えている。検証制御部２２は、ＲＯＭ，ＲＡＭ，ＣＰＵ，Ｉ／Ｏ等を含むマイクロコンピュータにより構成されており、ＲＯＭに記憶された図５に示す「署名検証制御プログラム」を実行するものである。
【００１６】
署名検証側のデータの処理については、図３に示すようになっている。受信した署名変換データｇ（Ｂｉ）が関数ｆで変換されてデータブロックＢｉが求められる。データブロックＢｉの後半４ワードに含まれる初期値ｒ１から数列ｒｉを発生させる。各データブロックＢｉの後半４ワードの数列部分が、署名者の添付すべき数列であること、及び前半４ワードが分割データｍ１，ｍ２，…，ｍｎのハッシュ関数による変換値に等しいことを確認することにより署名全体が適正であることの検証が行われる。
【００１７】
つぎに、上記実施形態の動作について説明する。
制御部１３は、「署名制御プログラム」の実行を開始し、契約者により作成された平文の契約書である文書が入力部１１により入力されると、これを文書データＭｄデータを、（ｗ−８）ワード以下の文書である分割データｍｉに分割する（ステップ３０〜３２）。制御部１３は、入力された分割データｍｉを、ハッシュ関数によって４ワードのデータｈ（ｍｉ）に変換する（ステップ３３）。一方、制御部１３は、文書を分割した時刻（年月日時分秒）ｔ１を初期値ｒ１とした漸化式ｒにより数列ｒｉを生成しており、初期値ｒ１と数列ｒｉを受信装置２０に送信すると共に、この数列ｒｉの４ｉ−３，４ｉ−２，４ｉ−１，４ｉワード目のデータをデータ分割された４ワードのデータｈ（ｍｉ）に連接させ、８ワードのデータブロックＢｉを形成する（ステップ３４，３５）。
【００１８】
このデータブロックＢｉをＲＳＡに従って逆関数ｇにより変換した署名変換データｇ（Ｂｉ）が求められる（ステップ３６）。署名変換データｇ（Ｂｉ）が分割データｍｉとセットで送信データ｛ｍｉ＋ｇ（Ｂｉ）｝にされ、携帯端末１０の送信部１４から送信データ｛ｍｉ＋ｇ（Ｂｉ）｝が署名検証側の受信装置２０に送信される（ステップ３７，３８）。送信データ｛ｍｉ＋ｇ（Ｂｉ）｝は、データサイズｗとなっており、一度で送信できるサイズに分割されているので、送信が間違いなく行われる。送信終了後に、制御部１３は、プログラムの実行を終了する（ステップ３９）。
【００１９】
署名検証側の受信装置２０では、検証制御部２２は、「署名検証制御プログラム」の実行を開始し（ステップ４０）、受信部２１でデータ｛ｍｉ＋ｇ（Ｂｉ）｝を受信すると、署名制御部２２において署名変換データｇ（Ｂｉ）を関数ｆで変換してデータブロックＢｉが求められる（ステップ４１，４２）。データブロックＢｉの後半４ワードに含まれる初期値ｒ１から数列ｒｉを発生させ、各データブロックＢｉの後半４ワードの数列部分が、添付すべき署名の順番であることが検証される（ステップ４３，４４）。さらに、データブロックＢｉの前半４ワードが分割データｍ１，ｍ２，…，ｍｎのハッシュ関数による変換値に等しいことが検証される（ステップ４５）。これにより、署名全体の検証が行われ、検証制御部２２は、プログラムの実行を終了する（ステップ４６）。
【００２０】
上記のように構成した実施形態においては、文書Ｍｄを分割して複数の分割データｍｉとし、初期値ｒ１が規定された所定の漸化式により形成された数列ｒｉが順番に加えられるので、文書検証者側では、数列ｒｉ及び変換データｈ（ｍｉ）をチェックすることにより、文書データを分割した各分割データに正しい署名が行われていると共に文書データ全体として抜け落ちや不法なつぎはぎ等がないことを簡単に確認することができる。また、本実施形態においては、数列が初期値の変更により使用毎に新しいものになっていくので、以前に用いた署名を利用することが不可能になっている。さらに、本実施形態においては、分割データに初期値の決められた数列を添付して署名するのみであり、複雑な手続が必要ないので、携帯端末等の簡易な装置を用いて確実に電子署名を利用することができるので利用者にとっても便利である。
【００２１】
なお、上記実施態様においては、分割データｍｉに署名変換データｇ（Ｂｉ）が付加されて、送信データ｛ｍｉ＋ｇ（Ｂｉ）｝が被契約者側の受信装置２０に送信されているが、これに限らない。署名変換データｇ（Ｂｉ）を送信することなく、そののままホームページ等に置いておき、この状態で必要に応じて文書検証者により検証が行われる実施形態であってもよい。
【００２２】
なお、本発明の実施態様としては、「署名制御プログラム」及び「署名検証制御プログラム」自体、及びこのプログラムを記憶したハードディスク，ＣＤＲＯＭ，ＦＤ等のコンピュータ読み取り可能な記憶媒体も対象となり、発明の実施の促進に効果がある。また、上記実施形態に示した電子署名方法については、一回の送信データサイズの限られた携帯端末について適用されているが、これに限らず同様の送信データサイズの限られた端末装置と受信装置間での電子署名に対しても同様に適用される。
【００２３】
【発明の効果】
本発明によれば、文書データを分割して複数の分割データに、初期値が規定された所定の漸化式により形成された数列が順番に加えられるので、文書検証側では、数列をチェックすることにより、各分割データに正しい署名が行われていると共に文書データ全体として抜け落ちや不法な修正がないことを簡単に確認することができる。また、本発明においては、分割データに初期値の決められた数列を添付するのみで複雑な手続が必要ないので、携帯端末等の簡易な装置を用いて確実に電子署名を利用することができるので利用者にとっても便利である。なお、制御プログラム及び制御プログラム自体、及びこれを記憶したハードディスク等のコンピュータ読み取り可能な記憶媒体も本発明の対象となり、発明の実施の促進に効果がある。
【図面の簡単な説明】
【図１】本発明の一実施形態である電子署名方法が適用される携帯端末と受信装置とからなるシステムの概略構成を示すブロック図である。
【図２】電子署名側のデータ処理手順を説明する説明図である。
【図３】署名検証側のデータ処理手順を説明する説明図である。
【図４】携帯端末の制御部により実行される「署名制御プログラム」を示すフローチャートである。
【図５】受信装置の検証制御部により実行される「署名検証制御プログラム」を示すフローチャートである。
【符号の説明】
１０…携帯端末、１１…入力部、１２…表示部、１３…制御部、１４…送信部、２０…受信装置、２１…受信部、２２…検証制御部。
【図１】
2005027059.tif 000003
【図２】
2005027059.tif 000004
【図３】
2005027059.tif 000005
【図４】
2005027059.tif 000006
【図５】
2005027059.tif 000007