(57)【特許請求の範囲】
【請求項１】
移管元装置において保管されたデータを、移管先装置に移管する方法であって、
前記移管先装置は、第１の演算部、第１の入力部、第１の記憶部および第１の出力部を具備しており、
前記第１の演算部は、
公開鍵暗号技術における鍵ペアを生成するステップと、
前記鍵ペアのうちの秘密鍵を前記第１の記憶部に保管するステップと、
前記鍵ペアのうちの公開鍵を前記第１の出力部を介して前記移管先装置の外部に出力するステップとを有し、
前記移管元装置は、第２の演算部、第２の入力部および第２の記憶部および第２の出力部を具備しており、
前記第２の演算部は、
共通鍵を生成するステップと、
前第２の入力部を介して、パスワードを入力するステップと、
前記共通鍵と前記パスワードに基づき共通鍵暗号技術における暗号化鍵を生成するステップと、
前記第２の記憶部に保管された移管対象データを前記暗号化鍵を用いて暗号化して、移管データを生成するステップと、
前記第２の入力部を介して、前記公開鍵を入力するステップと、
前記共通鍵を前記公開鍵を用いて暗号化して、鍵移管データを生成するステップと、
前記移管データと前記鍵移管データを前記第２の出力部を介して前記移管元装置の外部に出力するステップとを有し、
前記移管先装置の前記第１の演算部は、さらに、
前記第１の入力部を介して、前記移管データと前記鍵移管データを入力するステップと、
前記秘密鍵を用いて前記鍵移管データを復号して、前記共通鍵を生成するステップと、
前記第１の入力部を介して、前記パスワードを入力するステップと、
前記共通鍵と前記パスワードから前記暗号化鍵を生成するステップと、
前記移管データを、前記暗号化鍵を用いて復号して、前記移管対象データを生成し、該移管対象データを前記第１の記憶部に保管するステップとを有すること
を特徴とするデータの移管方法。
【請求項２】
移管元装置において保管されたデータを、前記移管元装置とネットワークを介して接続された移管先装置に移管する方法であって、
前記移管先装置は、第１の演算部、第１の入力部、第１の記憶部および第１の出力部を具備しており、
前記第１の演算部は、
公開鍵暗号技術における鍵ペアを生成するステップと、
前記鍵ペアのうちの秘密鍵を前記第１の記憶部に保管するステップと、
前記鍵ペアのうちの公開鍵を前記第１の出力部、前記ネットワークを介して前記移管元装置に出力するステップとを有し、
前記移管元装置は、第２の演算部、第２の入力部および第２の記憶部および第２の出力部を具備しており、
前記第２の演算部は、
共通鍵を生成するステップと、
第１の入力部を介して、パスワードを入力するステップと、
前記共通鍵と前記パスワードに基づき共通鍵暗号技術における暗号化鍵を生成するステップと、
前記第２の記憶部に格納された移管対象データを前記暗号化鍵を用いて暗号化して、移管データを生成するステップと、
前記ネットワーク、前記第２の出力部を介して、前記公開鍵を入力するステップと、
前記共通鍵を前記公開鍵を用いて暗号化して、鍵移管データを生成するステップと、
前記移管データと前記鍵移管データを、前記第２の出力部、前記ネットワークを介して前記移管先装置に出力するステップとを有し、
前記移管先装置の前記第１の演算部は、さらに、
前記ネットワーク、前記第１の出力部を介して、前記移管データと前記鍵移管データを入力するステップと、
前記秘密鍵を用いて前記鍵移管データを復号して、前記共通鍵を生成するステップと、
前記第１の入力部を介して、前記パスワードを入力するステップと、
前記共通鍵と前記パスワードから前記暗号化鍵を生成するステップと、
前記移管データを、前記暗号化鍵を用いて復号して、前記移管対象データを生成し、該移管対象データを前記第１の記憶部に保管するステップとを有すること
を特徴とするデータの移管方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は電子データの安全な管理技術に関する。
【背景技術】
【０００２】
従来、電子文書等の電子データの真正性保証を行う技術として、電子署名（ディジタル署名ともいう）技術がある。（例えば、非特許文献１参照）。
【０００３】
また、鍵の漏洩や暗号アルゴリズムの危殆化が起こった場合に対しても耐性を有するヒステリシス署名技術がある。（例えば、特許文献１参照）。ヒステリシス署名では、過去に生成した署名を記録する署名生成履歴を用いて、検証対象の署名が正しいかどうかを判定する。また、署名生成時には、過去の署名生成履歴を反映させながら署名を生成することにより、署名生成履歴に記録された署名間に連鎖構造を築いている。
【０００４】
【非特許文献１】Bruce Schneier著「Applied Cryptography: Protocols, Algorithms, and Source Code in C, Second Edition」 John Wiley & Sons、(October 18, 1995)
【特許文献１】特開２００１−３３１１０４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上述のヒステリシス署名においては、署名履歴データを長期にわたって適切に管理することが重要になる。ところで、長期の運用においては、装置の故障、装置の寿命、装置性能の相対的な低下等の理由により、装置（署名生成装置、履歴管理装置など）の置き換えを行うことが想定される。
【０００６】
特許文献１では、署名生成方法や検証方法についての記載はあるが、装置の置き換えをどのように行うか、については述べられていない。
【０００７】
したがって、装置の置き換え時に、署名履歴を適切に移管する技術が求められている。
【課題を解決するための手段】
【０００８】
本発明は、装置の置き換えなどの時に、移管元の装置に格納されているデータであって、あるひとつの移管先の装置だけに移管したいデータや、移管元装置からのエクスポート処理を指示したユーザと移管先装置へのインポート処理を指示したユーザとの同一性を保証すべきデータや、移管時における漏洩や改ざんを防止したいデータを、適切に移管する方法および装置を提供する。
【０００９】
具体的には、移管先の装置において、公開鍵暗号技術における鍵ペアを生成し、鍵ペアのうちの秘密鍵を保管し、公開鍵を外部に出力し、移管元の装置においては、前記公開鍵とパスワードを入力し、前記公開鍵と前記パスワードに基づき移管対象データを暗号化した移管データを出力し、前記移管先装置において、前記移管データと前記パスワードを入力し、前記移管データを、前記パスワードと移管先装置において保管されていた前記秘密鍵を用いて復号した前記移管対象データを保管する。
【００１０】
なお、通常は、上記エクスポート処理を指示したユーザは、移管元装置を署名履歴管理装置として利用していたユーザであり、エクスポートするデータ（署名生成履歴）の所有者となる。インポート処理についても同様である。
【発明の効果】
【００１１】
本発明によれば、署名生成履歴データなどの重要データを管理する装置を置き換えるときにエクスポートしたデータに対する盗聴、改ざんや、不適切な装置へのインポートなどの脅威を軽減する適切なデータ移管方法および装置の提供が可能となる。
【発明を実施するための最良の形態】
【００１２】
図１は、本発明の実施形態におけるシステムの概略構成図である。
【００１３】
図示するように、本システムは、ネットワーク１０１を介して、署名生成履歴の移管元である移管元装置１０２と、移管先である移管先装置１０３が接続されている。なお、以下の各実施例では、ネットワーク１０１を介して移管用データ１０４をやり取りする例を示すが、これとは異なり、可搬な記憶媒体を用いて、これらの装置間でデータのやり取りを行ってもよい。この場合、移管元装置１０２と移管先装置１０３はネットワーク１０１を介して接続されていなくてもよい。
【００１４】
本実施例においては、特許文献１における署名生成履歴を管理する装置として現在利用中の移管元装置１０２に保管された署名生成履歴を、安全に、今後署名履歴の管理装置として利用する移管先装置１０３に、移管する方法を説明する。
【００１５】
ヒステリシス署名では、署名生成履歴を検証対象の署名が正しいかどうかを判定するために利用されるため、署名生成履歴は不正な改ざんをされないように管理することが望ましい。署名生成履歴が管理装置内に存在するときには、管理装置においてアクセス制御などのセキュリティ対策を施すことにより、改ざんを困難にできる。
【００１６】
しかし、長期の運用においては、装置の故障、装置の寿命、装置性能の相対的な低下等の理由により、装置（署名生成装置、履歴管理装置など）の置き換えを行うことが想定される。このような場合、署名生成履歴を一旦現在使っている装置の外部にエクスポートし、新たな装置にインポートする必要がある。
【００１７】
このとき、一度エクスポートされたデータを新しい装置にインポートする前に改ざんされる、という行為は防止されるべきである。また、通常のヒステリシス署名の利用においては、署名生成履歴は署名者ごとに一続きのものであることを前提としているため、一度エクスポートされたデータを、コピーして本来の移管先装置１０３以外の装置にインポートする、という行為も問題となりうる。本実施例に説明する方法によれば、これらの望ましくない行為を防止可能である。また、一般に、移管元装置１０２は現在利用中の装置であるから、ユーザ管理が可能であるのに対し、移管先装置１０３はユーザが登録されていない新しい装置であるので、移管元装置１０２からのエクスポート処理を指示するユーザと移管先装置１０３でインポート処理を指示するユーザとの同一性（あるいはエクスポート処理を指示するユーザがインポート処理を指示するユーザを認証していること）を確認できることが望ましい。本実施例に説明する方法によれば、この同一性を確認可能となる。
【００１８】
図２は、移管元装置１０２の概略構成を示した図である。
【００１９】
移管元装置１０２は、ＣＰＵ２０１、ＣＰＵ２０１のワークエリアとして機能するＲＡＭ２０２と、ハードディスク装置などの外部記憶装置２０３と、ＣＤ−ＲＯＭやＦＤなどの可搬性を有する記憶媒体２０５との間でデータを読み書きする読み書き装置２０４と、キーボードやマウスなどの入力装置２０６と、ディスプレイなどの表示装置２０７と、ネットワークを介して他の装置と通信を行うための通信装置２０８と、上述した各構成要素間のデータ送受を司るインターフェイス２０９を備えた、一般的な構成を有する電子計算機２１０で構築することができる。
【００２０】
移管元装置１０２の外部記憶装置２０３に格納されるのは、特許文献１に開示された方法に従い、メッセージに対するディジタル署名を生成したときの署名生成記録が記録された署名生成履歴２２１と、署名生成履歴２２１を他の装置である移管先装置１０３に移管するための、移管データエクスポート処理プログラム２３１である。これは、ＲＡＭ２０２上にロードされ、ＣＰＵ２０１により、移管データエクスポート処理部２４１というプロセスとして具現化される。なお、図示しないが、このほかに、署名履歴の管理装置として機能するためのプログラムや、装置などを備える。
【００２１】
移管先装置１０３も移管元装置１０２と同様の構成をとるが、移管先装置１０３の外部記憶装置２０３に格納されるのは、署名生成履歴を外部からインポートするための、移管データインポート処理プログラム２５１である。ＣＰＵ２０１がこのプログラムを実行することにより、移管先装置１０３の外部記憶装置２０３に、署名生成履歴が保管されることになる。
【００２２】
上述の各プログラムは、あらかじめ、上記装置内に格納されていても良いし、必要なときに、各装置が利用可能な、着脱可能な記憶媒体または通信媒体（ネットワーク１０１などの通信回線または当該通信回線上の搬送波）を介して、上記各装置に導入されてもよい。
【００２３】
図３は、本実施例における署名生成履歴の移管処理フローの全体概要を示した図である。
（移管先装置１０３の処理）
３０１：はじめ
３０２：移管データインポート用事前処理を行う
（移管元装置１０２の処理）
３０３：移管データエクスポート処理（移管対象となる署名生成履歴から移管データを作成）を行う
（移管先装置１０３の処理）
３０４：移管データインポート処理（移管データから必要なデータを復元し格納）を行う
３０５：おわり
なお、上記の処理は、複数の装置にまたがって行われるが、基本的に、署名生成履歴の移管作業を行う同一のユーザが続けて行うものとする。より正確には、移管元装置１０２で移管データエクスポート処理（ステップ３０３）を行うユーザと、移管先装置１０３で移管データインポート処理（ステップ３０４）を行うユーザは、（別のユーザであってもよいが）同じパスワードを知っている必要がある。移管データエクスポート処理や移管データインポート処理の詳細については以下で説明する。
【００２４】
図４は、移管データインポート用事前処理（ステップ３０２）の詳細を説明したフロー図である。
４０１：はじめ
４０２：公開鍵暗号技術で利用可能な鍵暗号化用鍵ペア(K_pri,K_pub)をランダムに生成する。生成した鍵ペアのうち、秘密鍵K_priを移管先装置１０３内部に保管し、公開鍵K_pubは外部に出力する
４０３：おわり
ステップ４０２で述べた公開鍵暗号技術としては、例えばＲＳＡ暗号やエルガマル暗号、楕円曲線暗号などの公知の技術を用いればよい。
【００２５】
ステップ４０２において秘密鍵K_priを保管するときには、不正に読み取られたり改変されたりすることのないようにアクセス制御機構などを備えた記憶領域に保管することが望ましい。また、公開鍵K_pubを外部に出力するときには、例えば、読み書き装置２０４を介して可搬型の記憶媒体２０５に格納してもよいし、通信装置２０８を介してネットワーク１０１に出力してもよいし、表示装置２０７を介してユーザに伝えてもよい。ここで出力された公開鍵K_pubは、次に説明する移管データエクスポート処理において移管元装置１０２に入力する必要があるので、移管元装置１０２が受け付け可能な形態を選択すればよい。
【００２６】
図５は、移管データエクスポート処理（ステップ３０３）の詳細を説明したフロー図である。
５０１：はじめ
５０２：共通鍵K_comをランダムに生成する
５０３：キーボード等の入力装置２０６を介し、パスワードPASSを入力する（ここで入力したパスワードと同一のパスワードの入力が、後で説明する移管データインポート処理において求められる）
５０４：K_comとPASSから共通鍵暗号技術で利用可能な暗号化鍵K_encを算出する。算出方法は、例えば、K_comとPASSを結合したデータのハッシュ値あるいはその決められた一部を用いるようにすればよい
５０５：あらかじめ移管元装置１０２に格納された移管対象となる署名生成履歴からなる移管対象データＤを、K_encを用い共通鍵暗号技術で暗号化し、移管データＴを算出する
５０６：公開鍵K_pubを入力する
５０７：K_comをK_pubを用い公開鍵暗号技術で暗号化し、鍵移管データT_Kを算出する
５０８：TとT_Kを移管元装置１０２の外部に出力する
５０９：おわり
ステップ５０４で述べた共通鍵暗号技術としては、例えばＤＥＳ暗号、トリプルＤＥＳ暗号、ＡＥＳ暗号、ＭＩＳＴＹ暗号などのブロック暗号技術や、ＭＵＬＴＩ−Ｓ０１暗号などのストリーム暗号技術など公知の技術を用いればよい。なお、ＭＵＬＴＩ−Ｓ０１暗号は、データの秘匿と同時に、改ざん検出も可能であるので、本実施例での目的には特に適する。また、ハッシュ関数としては、例えばＳＨＡ−１、ＭＤ５などの公知の暗号学的ハッシュ関数を用いればよい。
【００２７】
ステップ５０６で公開鍵K_pubを入力する方法は、先に説明したステップ４０２で出力方法に合わせて適切に行えばよい。例えば、ステップ４０２で公開鍵K_pubをネットワーク１０１に出力した場合であれば、移管元装置１０２の通信装置２０８を介しネットワーク１０１から入力すればよい。
【００２８】
また、ステップ５０８でTとT_Kを移管元装置１０２の外部に出力する方法は、ステップ４０２で公開鍵K_pubを出力するときと同様に適切な方法を選択すればよい。
【００２９】
図６は、移管データインポート処理（ステップ３０４）の詳細を説明したフロー図である。
６０１：はじめ
６０２：移管データT、鍵移管データT_Kを入力する
６０３：ステップ４０２であらかじめ保管していた秘密鍵K_priを用いてT_Kを公開鍵暗号技術に従い復号し共通鍵K_comを算出する
６０４：キーボード等の入力装置２０６を介し、パスワードPASSを入力する（ここで入力するパスワードはステップ５０３で入力されたパスワードと同一であるものとする）
６０５：K_comとPASSから暗号化鍵K_encを算出する（ステップ５０４と同様）
６０６：共通鍵暗号技術に従いTをK_encで復号し移管対象データDを算出し、移管先装置１０３の外部記憶装置２０３内の所定の記憶領域に保管する
６０７：おわり
ステップ６０４で入力したパスワードが正しかった場合、すなわちステップ５０３で入力されたパスワードと同一のパスワードを入力した場合には、ステップ６０６で算出された移管対象データDは、もともと移管元装置１０２に格納されていて移管対象となった署名生成履歴と一致する。
【００３０】
これに対し、もし、ステップ６０４で入力したパスワードが正しくなかったとき、すなわちステップ５０３で入力されたパスワードと異なっていた場合は、ステップ６０６で算出された移管対象データDは、移管対象となった署名生成履歴とは異なったデータとなる。したがって、本実施例で説明した方法によれば、たとえ移管データTと鍵移管データT_Kを不正者が入手したとしても、移管元装置１０２で移管データエクスポート処理（ステップ３０３）を行うユーザが使ったパスワードを知らない限り、署名生成履歴を移管することができない。いいかえると、本実施例で説明した方法によれば、移管元装置１０２からエクスポートしたユーザと、移管先装置１０３にインポートするユーザとの同一性を保証できる。
【００３１】
また、本実施例で説明した方法によれば、ステップ４０２で生成された秘密鍵K_priが保管された装置以外の装置にインポートしようとすると、ステップ６０３で共通鍵K_comを復元できないので失敗する。すなわち、たとえ移管データTと鍵移管データT_Kに加えさらにパスワードPASSを不正者が入手したとしても、移管先装置１０３以外の装置に署名生成履歴を移管することは著しく困難である。
【００３２】
また、本実施例で説明した方法によれば、署名生成履歴は共通鍵暗号技術により暗号化されているので、移管データTから元のデータを復元することは著しく困難である。したがって署名生成履歴を不正者が意図的に改ざんすることは困難である。また、共通鍵暗号技術としてＭＵＬＴＩ−Ｓ０１のような改ざん検知機能を有する技術を用いたり、共通鍵暗号技術とMAC(Message Authentication Code)を併用したりすることにより、攻撃者による改ざんをさらに著しく困難にできる。この場合、ステップ６０６で移管対象データＤを復号するときに、さらに改ざんされていないかどうかも確認するようにする。
【００３３】
本実施例においては、署名生成履歴を移管対象データとして説明したが、本発明はこれに限定されず、一般に、装置の置き換えなどの時に、移管元の装置に格納されているデータであって、あるひとつの移管先の装置だけに移管したいデータや、移管元装置からエクスポートしたユーザと、移管先装置にインポートしたユーザの同一性を保証すべきデータや、移管時における漏洩や改ざんを防止したいデータに対して有効である。このようなデータの例としては、上述の署名生成履歴のほかに、例えば署名生成用秘密鍵や、暗号復号用の秘密鍵などの各種秘密情報などが挙げられる。
【図面の簡単な説明】
【００３４】
【図１】実施形態を実現するネットワークシステムの概略構成図である。
【図２】実施形態における移管元装置１０２を実現する計算機の概略構成図である。
【図３】実施形態における署名生成履歴の移管処理フローの全体概要を説明する図である。
【図４】実施形態における移管データインポート用事前処理を説明する図である。
【図５】実施形態における移管データエクスポート処理を説明する図である。
【図６】実施形態における移管データインポート処理を説明する図である。
【符号の説明】
【００３５】
１０１：ネットワーク、１０２：移管元装置、１０３：移管先装置、１０４：移管用データ。
【図１】
0004604523.tif 000002
【図２】
0004604523.tif 000003
【図３】
0004604523.tif 000004
【図４】
0004604523.tif 000005
【図５】
0004604523.tif 000006
【図６】
0004604523.tif 000007