(57)【要約】【課題】データの改ざんや送信元の真正性を検証できるシステム及び方法を得る。【解決手段】送信者側装置１のデータ生成部４がデータＤを生成し、秘密情報生成部５が秘密情報Ｓ１を生成する。データ処理部６が、生成直後にデータＤに秘密情報Ｓ１を付加し、それをハッシュ関数によりハッシュ値Ｈ１に変換する。鍵生成保管部７が秘密鍵と公開鍵のペアを生成する。暗号化部８が、ハッシュ値Ｈ１を秘密鍵で暗号化して署名値Ｓを得る。出力部９がデータＤ及び署名値Ｓを出力し、それを受信者側装置２の入力部１０が入力する。秘密情報生成部１１が、秘密情報Ｓ１と同じ秘密情報Ｓ２を生成する。データ処理部１２が、データＤに秘密情報Ｓ２を付加したものをハッシュ関数によりハッシュ値Ｈ２に変換する。復号部１３が、署名値Ｓを公開鍵で復号してハッシュ値Ｈ３を得る。検証部１４が、ハッシュ値Ｈ２とハッシュ値Ｈ３が同じかどうかを検証する。【選択図】図１
2013157777.tif 000002
【特許請求の範囲】
【請求項１】
送信者側装置と受信者側装置を備え、
前記送信者側装置は、
データを生成するデータ生成部と、
第１の秘密情報を生成する第１の秘密情報生成部と、
前記データが生成された直後に前記データに前記第１の秘密情報を付加し、それをハッシュ関数により第１のハッシュ値に変換する第１のデータ処理部と、
公開鍵暗号方式の電子署名に用いる秘密鍵と公開鍵のペアを生成し、前記秘密鍵を保管する鍵生成保管部と、
前記第１のハッシュ値を前記秘密鍵で暗号化して署名値を得る暗号化部と、
前記データ及び前記署名値を出力する第１の出力部とを有し、
前記受信者側装置は、
前記送信者側装置が出力した前記データ及び前記署名値を入力する第１の入力部と、
前記第１の秘密情報と同じ第２の秘密情報を生成する第２の秘密情報生成部と、
前記データに前記第２の秘密情報を付加したものを前記ハッシュ関数により第２のハッシュ値に変換する第２のデータ処理部と、
前記署名値を前記公開鍵で復号して第３のハッシュ値を得る第１の復号部と、
前記第２のハッシュ値と前記第３のハッシュ値が同じかどうかを検証する第１の検証部とを有することを特徴とする情報処理システム。
【請求項２】
第三者側装置を更に備え、
前記受信者側装置は、前記第２のハッシュ値と前記第３のハッシュ値が同じである場合に、前記データ及び前記署名値を出力する第２の出力部を更に有し、
前記第三者側装置は、
前記受信者側装置が出力した前記データ及び前記署名値を入力する第２の入力部と、
前記第１の秘密情報と同じ第３の秘密情報を生成する第３の秘密情報生成部と、
前記データに前記第３の秘密情報を付加したものを前記ハッシュ関数により第４のハッシュ値に変換する第３のデータ処理部と、
前記署名値を前記公開鍵で復号して第５のハッシュ値を得る第２の復号部と、
前記第４のハッシュ値と前記第５のハッシュ値が同じかどうかを検証する第２の検証部とを有することを特徴とする請求項１に記載の情報処理システム。
【請求項３】
前記第１の出力部は前記データ及び前記署名値を携帯用記憶媒体に記憶させ、
前記第１の入力部は前記携帯用記憶媒体から前記データ及び前記署名値を読み出すことを特徴とする請求項１又は２に記載の情報処理システム。
【請求項４】
前記第１の秘密情報生成部、前記第２の秘密情報生成部、前記鍵生成保管部及び前記暗号化部は耐タンパ性のある装置に設けられていることを特徴とする請求項１〜３の何れか１項に記載の情報処理システム。
【請求項５】
送信者側装置のデータ生成部がデータを生成する工程と、
前記送信者側装置の第１の秘密情報生成部が第１の秘密情報を生成する工程と、
前記送信者側装置の第１のデータ処理部が、前記データが生成された直後に前記データに前記第１の秘密情報を付加し、それをハッシュ関数により第１のハッシュ値に変換する工程と、
前記送信者側装置の鍵生成保管部が、公開鍵暗号方式の電子署名に用いる秘密鍵と公開鍵のペアを生成し、前記秘密鍵を保管する工程と、
前記送信者側装置の暗号化部が、前記第１のハッシュ値を前記秘密鍵で暗号化して署名値を得る工程と、
前記送信者側装置の第１の出力部が前記データ及び前記署名値を出力する工程と、
受信者側装置の第１の入力部が、前記送信者側装置が出力した前記データ及び前記署名値を入力する工程と、
前記受信者側装置の第２の秘密情報生成部が、前記第１の秘密情報と同じ第２の秘密情報を生成する工程と、
前記受信者側装置の第２のデータ処理部が、前記データに前記第２の秘密情報を付加したものを前記ハッシュ関数により第２のハッシュ値に変換する工程と、
前記受信者側装置の第１の復号部が、前記署名値を前記公開鍵で復号して第３のハッシュ値を得る工程と、
前記受信者側装置の第１の検証部が、前記第２のハッシュ値と前記第３のハッシュ値が同じかどうかを検証する工程とを備えることを特徴とする情報処理方法。
【請求項６】
前記受信者側装置の第２の出力部が、前記第２のハッシュ値と前記第３のハッシュ値が同じである場合に、前記データ及び前記署名値を出力する工程と、
第三者側装置の第２の入力部が、前記受信者側装置が出力した前記データ及び前記署名値を入力する工程と、
前記第三者側装置の第３の秘密情報生成部が、前記第１の秘密情報と同じ第３の秘密情報を生成する工程と、
前記第三者側装置の第３のデータ処理部が、前記データに前記第３の秘密情報を付加したものを前記ハッシュ関数により第４のハッシュ値に変換する工程と、
前記第三者側装置の第２の復号部が、前記署名値を前記公開鍵で復号して第５のハッシュ値を得る工程と、
前記第三者側装置の第２の検証部が、前記第４のハッシュ値と前記第５のハッシュ値が同じかどうかを検証する工程とを更に備えることを特徴とする請求項５に記載の情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、公開鍵暗号方式を用いた情報処理システム及び情報処理方法に関し、特にデータの改ざんや送信元の真正性を検証できる情報処理システム及び情報処理方法に関する。
【背景技術】
【０００２】
近年、時刻や位置などの情報を取得でき、かつ写真、音声、文書などをデータとして簡単に取得又は作成できるスマートフォンやタブレットなどの端末機器が広く普及している。これらの端末機器で作成したデータに時刻や位置などの情報を属性値として付加したものは各種の証明として有効である。ただし、送られてきたデータの送信元が間違いないか、伝送線路上で改ざんされていないかを確認する必要がある。そこで、電子署名を施すことが提案されている（例えば、特許文献１，２参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−８７７０２号公報
【特許文献２】特許第４５４３５７０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来技術では、電子署名を施す前にデータが改ざんされた場合には、改ざんを発見することができなかった。また、改ざん者が秘密鍵を盗用して送信者になりすましてデータ送信した場合には、データの送信元が正しくないことを発見できなかった。
【０００５】
本発明は、上述のような課題を解決するためになされたもので、その目的はデータの改ざんや送信元の真正性を検証できる情報処理システム及び情報処理方法を得るものである。
【課題を解決するための手段】
【０００６】
本発明に係る情報処理システムは、送信者側装置と受信者側装置を備え、前記送信者側装置は、データを生成するデータ生成部と、第１の秘密情報を生成する第１の秘密情報生成部と、前記データが生成された直後に前記データに前記第１の秘密情報を付加し、それをハッシュ関数により第１のハッシュ値に変換する第１のデータ処理部と、公開鍵暗号方式の電子署名に用いる秘密鍵と公開鍵のペアを生成し、前記秘密鍵を保管する鍵生成保管部と、前記第１のハッシュ値を前記秘密鍵で暗号化して署名値を得る暗号化部と、前記データ及び前記署名値を出力する第１の出力部とを有し、前記受信者側装置は、前記送信者側装置が出力した前記データ及び前記署名値を入力する第１の入力部と、前記第１の秘密情報と同じ第２の秘密情報を生成する第２の秘密情報生成部と、前記データに前記第２の秘密情報を付加したものを前記ハッシュ関数により第２のハッシュ値に変換する第２のデータ処理部と、前記署名値を前記公開鍵で復号して第３のハッシュ値を得る第１の復号部と、前記第２のハッシュ値と前記第３のハッシュ値が同じかどうかを検証する第１の検証部とを有することを特徴とする。
【発明の効果】
【０００７】
本発明により、データの改ざんや送信元の真正性を検証できる。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施の形態１に係る情報処理システムを示す図である。
【図２】比較例に係る情報処理システムを示す図である。
【図３】本発明の実施の形態２に係る情報処理システムを示す図である。
【発明を実施するための形態】
【０００９】
本発明の実施の形態に係る情報処理システム及び情報処理方法について図面を参照して説明する。同じ又は対応する構成要素には同じ符号を付し、説明の繰り返しを省略する場合がある。
【００１０】
実施の形態１．
図１は、本発明の実施の形態１に係る情報処理システムを示す図である。このシステムは、公開鍵暗号方式を用いたディジタル署名のシステムであり、送信者側装置１と受信者側装置２と認証局３（CA: Certification Authority）とを備える。
【００１１】
送信者側装置１は、データ生成部４と、秘密情報生成部５と、データ処理部６と、鍵生成保管部７と、暗号化部８と、出力部９とを有する。受信者側装置２は、入力部１０と、秘密情報生成部１１と、データ処理部１２と、復号部１３と、検証部１４とを有する。
【００１２】
データ生成部４や秘密情報生成部５，１１は専用プログラムである。秘密情報生成部５，１１はそれぞれ送信者側装置１と受信者側装置２に安全な方法でインストールされた同じ内容のプログラムである。なお、秘密情報生成部５，１１、鍵生成保管部７及び暗号化部８が、送信者側装置１又は送信者側装置１に付属する耐タンパ性のある装置（ＩＣカード等）に設けられていてもよい。
【００１３】
続いて本実施の形態に係るシステムの動作を説明する。まず、鍵生成保管部７が、公開鍵暗号方式の電子署名に用いる秘密鍵と公開鍵のペアを生成する。公開鍵を認証局３に送る際に、鍵のなりすましを防ぐために、送信者の公開鍵と識別情報に対して送信者の秘密鍵で署名する。識別情報は氏名、所属、メールアドレス、社員（学生）番号などの個人を識別できる情報であり、通常は複数種類の情報を組み合わせて使用する。認証局３は、送信者から送信された署名情報を検証し、公開鍵と識別情報に署名を施すことで、送信者の公開鍵証明書を生成する。鍵生成保管部７が生成した秘密鍵と認証局３から返送された公開鍵証明書は鍵生成保管部７で保管される。送信者が受信者に公開鍵証明書を送付するか、又は、受信者が認証局３に連携したサーバ（リポジトリ）にアクセスすることで、受信者側装置２は送信者の公開鍵証明書の情報を入手する。
【００１４】
次に、送信者側装置１において、データ生成部４がデータＤを生成し、秘密情報生成部５が秘密情報Ｓ１を生成する。データＤには、電子データ（撮影した写真、録音した音声、作成した文書など）と属性情報（送信者情報、位置情報、時刻情報など）が含まれる。秘密情報Ｓ１は、固定値、特定の規則に基づく値、乱数などのグループ内の特定の管理者のみが知っている方法により生成される。
【００１５】
次に、データ処理部６が、データＤに秘密情報Ｓ１を付加し、それをハッシュ関数によりハッシュ値Ｈ１に変換する。このデータ処理は、データＤの改ざんの危険性を極力避けるため、データＤ及び秘密情報Ｓ１が生成された直後に行う必要がある。次に、暗号化部８が、ハッシュ値Ｈ１を秘密鍵で暗号化して署名値Ｓを得る。
【００１６】
次に、送信者側装置１の出力部９がデータＤ及び署名値Ｓを出力する。このデータＤ及び署名値Ｓを受信者側装置２の入力部１０が入力する。具体的には、データＤ及び署名値Ｓは、専用線などの安全性の確保されたネットワーク（伝送線路）を通って送信者側装置１から受信者側装置２に伝送される。ただし、送信者側装置１の出力部９がデータＤ及び署名値Ｓを携帯用記憶媒体１５（ＳＤカード、ＵＳＢメモリなど）に記憶させ、携帯用記憶媒体１５が送信者から受信者に手渡しされ、その携帯用記憶媒体１５から受信者側装置２の入力部１０がデータＤ及び署名値Ｓを読み出してもよい。なお、署名値ＳはデータＤの属性情報のフィールドの１つに格納する。秘密鍵は複製等せず、作成者しか保有していないことを前提とする。送信者から受信者へデータＤを渡す際には、データＤに秘密情報を含めない。
【００１７】
次に、秘密情報生成部１１が、秘密情報Ｓ１と同じ秘密情報Ｓ２を生成する。そして、データ処理部１２が、データＤに秘密情報Ｓ２を付加したものを、送信者側装置１が使用したものと同じハッシュ関数によりハッシュ値Ｈ２に変換する。一方、復号部１３が、予め入手していた公開鍵で署名値Ｓを復号してハッシュ値Ｈ３を得る。
【００１８】
最後に、検証部１４が、ハッシュ値Ｈ２とハッシュ値Ｈ３が同じかどうかを検証する。両者が同じであれば、データＤが改ざんされていないと判断できる。一方、データＤが改ざんされていれば、同じハッシュ関数を使用してもハッシュ値Ｈ２とハッシュ値Ｈ３は異なる値となる。
【００１９】
続いて、本実施の形態の効果を比較例と比較して説明する。図２は、比較例に係る情報処理システムを示す図である。比較例には、秘密情報生成部５，１１が存在しない。データ処理部６は、データＤのみをハッシュ関数によりハッシュ値Ｈ１´に変換する。
【００２０】
比較例では、電子署名を施す前にデータが改ざんされた場合には、改ざんを発見することができない。これに対して、本実施の形態では、データＤが生成された直後にデータＤに秘密情報Ｓ１を付加し、それをハッシュ関数によりハッシュ値Ｈ１に変換する。このため、電子署名を施す前のデータの改ざんを発見することができる。
【００２１】
また、比較例では、改ざん者が秘密鍵を盗用して送信者になりすましてデータ送信した場合にデータの送信元が送信者側装置１ではないことを発見できない。これに対して、本実施の形態では、改ざん者が送信したデータには秘密情報が付加されていないため、受信者側装置２はデータの送信元が送信者側装置１ではないことを発見できる。これにより、受信者側装置２はデータの送信元の真正性を検証できる。
【００２２】
実施の形態２．
図３は、本発明の実施の形態２に係る情報処理システムを示す図である。このシステムは、実施の形態１の構成に加えて第三者側装置１６を更に備える。ここで第三者とは、送信者や受信者以外のデータの真正性を検証したい人である。例えば、建築工事における業者間のデータのやりとりにおいて、建築工事の発注者が第三者に相当する。
【００２３】
また、受信者側装置２は、ハッシュ値Ｈ２とハッシュ値Ｈ３が同じである場合に、データＤ及び署名値Ｓを出力する出力部１７を更に有する。第三者側装置１６は、入力部１８と、秘密情報生成部１９と、データ処理部２０と、復号部２１と、検証部２２とを有する。
【００２４】
続いて本実施の形態に係るシステムの動作を説明する。まず実施の形態１の動作を行い、その検証結果としてハッシュ値Ｈ２とハッシュ値Ｈ３が同じである場合に、受信者側装置２の出力部１７がデータＤ及び署名値Ｓを出力する。そして、第三者側装置１６の入力部１８が、受信者側装置２が出力したデータＤ及び署名値Ｓを入力する。次に、秘密情報生成部１９が、秘密情報Ｓ１と同じ秘密情報Ｓ３を生成する。
【００２５】
次に、データ処理部２０が、データＤに秘密情報Ｓ３を付加したものをハッシュ関数によりハッシュ値Ｈ４に変換する。一方、復号部２１が、予め入手していた公開鍵で署名値Ｓを復号してハッシュ値Ｈ５を得る。次に、検証部２２が、ハッシュ値Ｈ４とハッシュ値Ｈ５が同じかどうかを検証する。両者が同じであれば、データが改ざんされていないと判断できる。一方、データＤが改ざんされていれば、同じハッシュ関数を使用してもハッシュ値Ｈ４とハッシュ値Ｈ５は異なる値となる。これにより、第三者側装置１６はデータＤの真正性を検証できる。
【００２６】
また、改ざん者が送信したデータには秘密情報が付加されていないため、第三者側装置１６はデータの送信元が受信者側装置２ではないことを発見できる。即ち、第三者側装置１６はデータの送信元の真正性を検証できる。
【符号の説明】
【００２７】
１  送信者側装置
２  受信者側装置
４  データ生成部
５  秘密情報生成部（第１の秘密情報生成部）
６  データ処理部（第１のデータ処理部）
７  鍵生成保管部
８  暗号化部
９  出力部（第１の出力部）
１０  入力部（第１の入力部）
１１  秘密情報生成部（第２の秘密情報生成部）
１２  データ処理部（第２のデータ処理部）
１３  復号部（第１の復号部）
１４  検証部（第１の検証部）
１５  携帯用記憶媒体
１６  第三者側装置
１７  出力部（第２の出力部）
１８  入力部（第２の入力部）
１９  秘密情報生成部（第３の秘密情報生成部）
２０  データ処理部（第３のデータ処理部）
２１  復号部（第２の復号部）
２２  検証部（第２の検証部）
【図１】
2013157777.tif 000003
【図２】
2013157777.tif 000004
【図３】
2013157777.tif 000005