(57)【要約】【課題】２つの装置間でデータ転送をする場合に、信頼性のない他の装置の不正アクセスによりデータが不当に流出することを防止すること。【解決手段】自己の所有データを転送する相手である転送先装置の生成した信頼情報を分割した一部の第１分割信頼情報を予め取得して保存する記憶部と、転送先装置から転送要求を受信し、かつその受信時に転送先装置の信頼情報を分割した他の第２分割信頼情報と、転送先装置の固有の転送要求時の状態を示す情報を用いて生成した検証情報とを受信する通信部と、保存された第１分割信頼情報と受信された第２分割信頼情報とを用いて、信頼情報を復元する信頼情報復元部と、復元された信頼情報と受信された検証情報とを用いて、転送先装置の信頼性を検証する機器検証部とを備え、信頼性の検証が成功した場合に、通信部が転送要求されたデータを転送先装置へ送信することを特徴とする。【選択図】図１
2008226146.tif 000002
【特許請求の範囲】
【請求項１】
自己の所有するデータを転送する相手である転送先情報処理装置の生成した信頼情報を、所定の分割方法で分割した一部の第１分割信頼情報を予め取得して保存する記憶部と、
前記転送先情報処理装置から自己の所有データの転送要求を受信し、かつその受信時に前記転送先情報処理装置の信頼情報を分割した他の第２分割信頼情報と、前記転送先情報処理装置の固有の転送要求時の状態を示す情報を用いて生成した検証情報とを受信する通信部と、
前記記憶部に保存された第１分割信頼情報と前記受信された第２分割信頼情報とを用いて、前記信頼情報を復元する信頼情報復元部と、
前記復元された信頼情報と前記受信された検証情報とを用いて、前記転送先情報処理装置の信頼性を検証する機器検証部とを備え、
前記信頼性の検証が成功した場合に、前記通信部が、転送要求された自己の所有データを、前記転送先情報処理装置へ送信することを特徴とする情報処理装置。
【請求項２】
前記信頼情報は、秘密分散法を用いて、第１分割信頼情報と第２分割信頼情報とに分割されることを特徴とする請求項１の情報処理装置。
【請求項３】
前記復元された信頼情報と、前記受信された検証情報とが同一形式のデータである場合は、信頼情報と検証情報とが一致する場合に、前記機器検証部が、前記転送先情報処理装置の信頼性の検証が成功したと判断することを特徴とする請求項１の情報処理装置。
【請求項４】
前記信頼情報を所定の分割方法で２つの分割信頼情報に分割する信頼情報分割部をさらに備え、
前記機器検証部が、信頼性の検証に失敗した場合、前記受信された検証情報を用いて、
前記信頼情報を更新した後、前記信頼情報分割部が、更新後の信頼情報を２つに分割し、一方の分割信頼情報を前記記憶部の第１分割信頼情報として記憶し、他方の分割信頼情報を、第２分割信頼情報として、前記転送先情報処理装置へ送信することを特徴とする請求項１の情報処理装置。
【請求項５】
前記記憶部に転送先情報処理装置の公開鍵を予め記憶し、転送要求された自己の所有データを、前記公開鍵を用いて暗号化する暗号部をさらに備え、
前記通信部は、前記暗号部で暗号化された前記所有データを、転送先情報処理装置へ送信することを特徴とする請求項１の情報処理装置。
【請求項６】
共通鍵を生成する鍵生成部と、転送要求された自己の所有データを前記共通鍵で暗号化する暗号部をさらに備え、
前記記憶部に転送先情報処理装置の公開鍵を予め記憶し、
前記通信部は、暗号部で暗号化された前記所有データと、前記転送先情報処理装置の公開鍵で暗号化された共通鍵とを、転送先情報処理装置へ送信することを特徴とする請求項１の情報処理装置。
【請求項７】
自己の秘密鍵と公開鍵とを生成する鍵生成部と、
自己の所有するデータを転送する相手である転送先情報処理装置から、前記転送先情報処理装置の固有の状態を示す情報を用いて生成された信頼情報を受信する通信部と、
前記信頼情報を所定の分割方法で２つの分割信頼情報に分割する信頼情報分割部と、
分割された一方の第１分割信頼情報と前記自己の秘密鍵とを保存する記憶部とを備え、
前記通信部は、前記生成された自己の公開鍵と、分割された他方の第２分割信頼情報とを、前記転送先情報処理装置へ送信することを特徴とする情報処理装置。
【請求項８】
自己の秘密鍵と、データの転送元情報処理装置の公開鍵と、自己の固有の状態情報を示す情報を用いて生成した信頼情報を分割した一部の分割信頼情報とを予め保存する記憶部と、自己の現在の状態情報を収集する機器状態収集部と、前記収集された現在の状態情報を用いて自己の検証情報を生成する信頼情報生成部と、前記転送元情報処理装置の所有するデータの転送要求をする際に、前記生成された検証情報と、前記予め保存されていた分割信頼情報とを、転送元情報処理装置に送信する通信部と、前記通信部が転送元情報処理装置から自己の公開鍵で暗号化された転送要求データを受信した場合、前記保存されていた自己の秘密鍵を用いて前記受信したデータを復号する復号部とを備えたことを特徴とする情報処理装置。
【請求項９】
前記記憶部に予め保存される分割信頼情報は、前記転送元情報処理装置の公開鍵で暗号化された形式で保存されていることを特徴とする請求項８の情報処理装置。
【請求項１０】
前記転送要求をする際に、送信される分割信頼情報は、転送元情報処理装置の公開鍵で暗号化されていることを特徴とする請求項８の情報処理装置。
【請求項１１】
前記転送要求をする際に、前記通信部は鍵情報も送信し、前記鍵情報は、自己の公開鍵を自己の秘密鍵で暗号化したものを、転送元情報処理装置の公開鍵で暗号化した情報であることを特徴とする請求項８の情報処理装置。
【請求項１２】
前記機器状態収集部が収集する状態情報は、テキスト形式もしくはバイナリ形式のデータまたはハッシュ値であることを特徴とする請求項８の情報処理装置。
【請求項１３】
自己の秘密鍵と公開鍵とを生成する鍵生成部をさらに備え、前記信頼情報生成部が、前記機器状態収集部によって収集された状態情報を用いて自己の信頼情報を生成し、前記通信部が、前記自己の公開鍵と、前記生成された自己の信頼情報とを、転送元情報処理装置へ送信することを特徴とする請求項８の情報処理装置。
【請求項１４】
転送元情報処理装置が自己の所有するデータを転送先情報処理装置へ転送する前に、
前記転送先情報処理装置が、転送先情報処理装置の機器状態収集部によって収集された自己の現在の状態情報を用いて、信頼情報を生成し、その信頼情報を前記転送元情報処理装置へ送信した後、
前記転送元情報処理装置が受信した信頼情報を２つに分割して、第１分割信頼情報と第２分割信頼情報とを生成し、第１分割信頼情報は、記憶部へ保存し、第２分割信頼情報は前記転送先情報処理装置へ送信され、前記転送先情報処理装置の記憶部に保存されることを特徴とする情報処理装置のデータ転送方法。
【請求項１５】
前記転送先情報処理装置が、前記転送元情報処理装置に対して、転送元情報処理装置が所有するデータの転送を要求する際に、
前記機器状態収集部によって収集された自己の現在の状態情報を用いて検証情報を生成し、生成された検証情報と、前記転送先情報処理装置の記憶部に保存されていた第２分割信頼情報とを前記転送元情報処理装置へ送信した後、
前記転送元情報処理装置が、自己の記憶部に保存されていた第１分割信頼情報と、受信した検証情報とを用いて、前記信頼情報を復元し、復元した信頼情報と受信した検証情報とを用いて、前記転送先情報処理装置の信頼性を検証し、信頼性の検証が成功した場合に、転送要求された自己の所有するデータを、転送先情報処理装置へ送信することを特徴とする、請求項１４の情報処理装置のデータ転送方法。
【請求項１６】
前記信頼性の検証に失敗した場合に、前記転送元情報処理装置が、前記受信した検証情報から新たな信頼情報を生成し、新たな信頼情報を分割して、２つの分割信頼情報を生成し、生成した一方の分割信頼情報を第１分割信頼情報として自己の記憶部に保存し、生成した他方の分割信頼情報を前記転送先情報処理装置へ送信し、
転送先情報処理装置が、受信した分割信頼情報を第２分割信頼情報として保存することを特徴とする請求項１５の情報処理装置のデータ転送方法。
【請求項１７】
転送元情報処理装置の固有の状態を示す情報を用いて生成した信頼情報を、所定の分割方法で２つに分割した一方の第１分割信頼情報を転送元情報処理装置に保存し、かつ他方の第２分割信頼情報を転送先情報処理装置に保存した後、
転送元情報処理装置が転送先情報処理装置へ自己の所有するデータを転送する際に、前記転送元情報処理装置が、共通鍵を生成し、その共通鍵で、転送すべき自己の所有するデータを暗号化し、転送元情報処理装置の機器状態収集部によって収集された自己の現在の状態情報を用いて検証情報を生成し、
前記共通鍵と、保存された第１分割信頼情報と、前記生成された検証情報と、前記暗号化されたデータとを、前記転送先情報処理装置へ送信した後、
前記転送先情報処理装置が、前記受信した第１分割信頼情報と、保存された第２分割信頼情報とを用いて、前記転送元情報処理装置の信頼情報を復元し、復元した信頼情報と、受信した検証情報とを用いて、前記転送元情報処理装置の信頼性を検証し、信頼性の検証が成功した場合に、受信した暗号化されたデータを、受信した共通鍵を用いて復号することを特徴とする情報処理装置のデータ転送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、情報処理装置とそのデータ転送方法に関し、特に、２つの情報処理装置間でデータの転送を行う場合に互いに信頼された装置間でのみデータ転送が可能な情報処理装置とそのデータ転送方法に関する。
【背景技術】
【０００２】
２つの情報処理装置間でデータの転送を行う場合、データを秘匿するために、送信データを暗号化し、その後に暗号化されたデータの転送を行う手法がある。
たとえば、公開鍵暗号方式を用いてデータを秘匿化する。
この場合、それぞれの情報処理装置（以下、ＰＣと呼ぶ）ごとに生成された一対の秘密鍵と公開鍵が利用される。秘密鍵は、特定のＰＣの所有者のみが知る鍵である。公開鍵は、名前のとおり他者に公開する鍵である。
また、公開鍵で暗号化された情報はペアとなる秘密鍵でのみ復号でき、逆に、秘密鍵で暗号化された情報はペアとなる公開鍵でのみ復号できる。
【０００３】
ある情報処理装置（ＰＣ−Ａ）から、他の情報処理装置（ＰＣ−Ｂ）へデータＤ０を転送する場合、まずＰＣ−Ａにおいて、データＤ０をＰＣ−Ｂの公開鍵ＫＰＢを用いて暗号化する。
この暗号化されたデータ（ＫＰＢ（Ｄ０））は、ＰＣ−Ｂの秘密鍵ＫＳＢでしか復号できないデータである。
【０００４】
次に、暗号化されたデータ（ＫＰＢ（Ｄ０））を、ＰＣ−ＡからＰＣ−Ｂへ転送する。そして、ＰＣ−Ｂ側では、自己のみが所有する秘密鍵ＫＳＢを用いて、転送されてきたデータ（ＫＰＢ（Ｄ０））を復号する。これにより、ＰＣ−Ｂの所有者はデータＤ０の内容を読むことができる。
【０００５】
ただし、このように、単純に公開鍵と秘密鍵とを用いた暗号化方式では、データの暗号および復号の処理に時間がかかる。そこで、時間短縮のため、送信元ＰＣ−Ａで生成された１つの共通鍵ＫＣＡを用いてデータの暗号および復号を行い、この共通鍵ＫＣＡそのものに対して、公開鍵と秘密鍵とを用いた公開鍵暗号方式を適用することが行われている。
【０００６】
この方式では、まず、データの送信元のＰＣ−Ａにおいて、共通鍵ＫＣＡが生成される。次に、転送するデータＤ０を共通鍵ＫＣＡで暗号化し、暗号化データＫＣＡ（Ｄ０）を生成する。
また、ＰＣ−Ａのみが所有する秘密鍵ＫＳＡで、共通鍵ＫＣＡを暗号化し、署名鍵ＫＳＡ（ＫＣＡ）を生成する。
さらに、この署名鍵ＫＳＡ（ＫＣＡ）を、ＰＣ−Ｂの公開鍵ＫＰＢで暗号化し、鍵情報ＫＥＹ（＝ＫＰＢ（ＫＳＡ（ＫＣＡ））を生成する。
このようにして生成された暗号化データＫＣＡ（Ｄ０）と、鍵情報ＫＥＹとからなる情報が、ＰＣ−ＡからＰＣ−Ｂへ転送される。
【０００７】
この２つの情報を受け取った送信先のＰＣ−Ｂでは、次の処理が行われる。
まず、ＰＣ−Ｂのみが所有する秘密鍵ＫＳＢを用いて、鍵情報ＫＥＹを復号し、署名鍵ＫＳＡ（ＫＣＡ）を復元する。そして、ＰＣ−Ａの公開鍵ＫＰＡを用いて、復元された署名鍵ＫＳＡ（ＫＣＡ）を復号し、共通鍵ＫＣＡを取得する。
この復号化が正常に行われた場合は、予め信頼された相手であるＰＣ−Ａそのものから正当に転送されてきたことが証明されたことになる。すなわち、送信元の情報処理装置の正当性の検証が行われる。
【０００８】
その後、上記復号処理によって取得された共通鍵ＫＣＡを用いて、転送されてきた暗号化データＫＣＡ（Ｄ０）を復号する。これにより、もとのデータＤ０が送信先のＰＣ−Ｂで読める状態となる。
【０００９】
また、不正なデータ取得や不正アクセスの防止をより強化して信頼性の高いアクセス制御を実現するために、管理コンピュータ（以下、サーバ）を介在したアクセス制御方法も提案されている（特許文献１参照）。
【００１０】
この制御方法でも、公開鍵暗号方式を用いるが、サーバに、予め両ＰＣの公開鍵（ＫＰＡ，ＫＰＢ）と、アクセスを要求する側（たとえばＰＣ−Ｂ）の信頼情報ＴＩＢとを予め格納しておく。サーバは、ＰＣの信頼性を確認するために用いられる。
この信頼情報ＴＩＢとは、ＰＣ−Ｂの中に存在する特別なプログラムや設定データを用いて生成される情報であり、送信先のＰＣ−Ｂの動作状態を特定できる情報である。
【００１１】
また、ＰＣ−Ａには、公開鍵ＫＰＡと対である秘密鍵ＫＳＡを、ＰＣ−Ｂには、公開鍵ＫＰＢと対である秘密鍵ＫＳＢを格納しておく。
送信先のＰＣ−Ｂからサーバに対して、送信元のＰＣ−Ａに対するアクセス要求の許可を問合せる場合、ＰＣ−Ｂは、ＰＣ−Ｂの現在の動作状態を示す情報を収集し、信頼情報（ＴＩＢ）に対応する情報（検証用情報ＶＩＢ）を生成する。
そして、送信先のＰＣ−Ｂは、サーバに対して、アクセス要求の問合せとともに検証用情報ＶＩＢを送信する。
【００１２】
アクセス要求を受信したサーバは、予め格納していたＰＣ−Ｂの信頼情報ＴＩＢと、受信した検証用情報ＶＩＢとを比較して、アクセス要求の問合せをしてきたＰＣ−Ｂが信頼できる装置であるか否かを確認する。
両情報（ＴＩＢとＶＩＢ）が一致し、信頼できる装置であると判断した場合、サーバは、新たに１対の秘密鍵ＫＢ１と公開鍵ＫＢ２とを生成する。
【００１３】
そして、サーバは、送信元のＰＣ−Ａに対して、ＰＣ−Ｂからのアクセスを許可することを示すアクセス許可命令を送信すると共に、新たに生成した公開鍵ＫＢ２を送信する。
また、サーバは、送信先のＰＣ−Ｂに対して、アクセスを許可することを通知すると共に、新たに生成した秘密鍵ＫＢ１を送信する。この後、ＰＣ−ＢからＰＣ−Ａへのアクセスが行えるようになる。
たとえば、ＰＣ−ＢからＰＣ−Ａに対してデータＤ１の送信を要求した場合には、送信元のＰＣ−Ａで、公開鍵ＫＢ２を用いたデータＤ１の暗号化が行われた後ＰＣ−Ｂへ送信される。送信先のＰＣ−Ｂでは、秘密鍵ＫＢ１を用いて暗号化されたデータを復号する。あるいは、単純に公開鍵での暗号化と秘密鍵での復号を行うのではなく、上記したように、共通鍵を用いて鍵情報と共に暗号データを送信するようにしてもよい。
【特許文献１】特開２００５−２４２８３１号公報
【発明の開示】
【発明が解決しようとする課題】
【００１４】
しかし、鍵情報と暗号化データとを送信する従来の方法では、お互いにそれぞれ固有の秘密鍵を所有していることが前提であるので、たとえば秘密鍵ＫＳＢを不正に取得した第三者を、ＰＣ−Ｂの正当な利用者として信頼してしまい、送信元のＰＣ−Ａから送信先のＰＣ−Ｂへデータの転送が行われてしまう。
また、送信先のＰＣ−Ｂの信頼性を確認せずにデータ転送が行われてしまうので、ＰＣ−Ｂがコンピュータウイルスに犯されている状態でＰＣ−ＡからＰＣ−Ｂへデータの転送が行われる場合もある。このような場合、送信先のＰＣ−Ｂを介してそのデータがさらに他のＰＣへ漏洩する危険性が高くなるという問題がある。さらに、秘密鍵ＫＳＢを不正に取得した第三者は、いつでも受信したデータを復元して利用することができるという問題点もある。
すなわち、この従来の方法では、信頼関係のない第三者にデータが転送され、そのデータの漏洩や不正利用が行われる可能性がある。
【００１５】
また、特許文献１のアクセス制御方式では、ＰＣの状態を検証した上でアクセスの許可をするので信頼性を高めることができるが、管理コンピュータ（サーバ）を設ける必要があり、このサーバを利用できない環境では、このような高い信頼性を持ったデータ転送ができない。
たとえば、特定の個人ユーザどおしがデータ転送をする場合には、このようなサーバを介したシステムを利用することを望まない場合もあり、サーバを利用しない環境下でも、お互いの信頼性を確認した上で、高いセキュリティを確保したデータ転送を可能とするしくみが望まれる。
【００１６】
そこで、この発明は、サーバを介したシステムと同等の信頼性を確保して、サーバを利用しなくても送信元と送信先の信頼性を十分に確認した後にデータの転送を行うことを可能とする情報処理装置とそのデータ転送方法を提供することを課題とする。
【課題を解決するための手段】
【００１７】
この発明は、自己の所有するデータを転送する相手である転送先情報処理装置の生成した信頼情報を、所定の分割方法で分割した一部の第１分割信頼情報を予め取得して保存する記憶部と、前記転送先情報処理装置から自己の所有データの転送要求を受信し、かつその受信時に前記転送先情報処理装置の信頼情報を分割した他の第２分割信頼情報と、前記転送先情報処理装置の固有の転送要求時の状態を示す情報を用いて生成した検証情報とを受信する通信部と、前記記憶部に保存された第１分割信頼情報と前記受信された第２分割信頼情報とを用いて、前記信頼情報を復元する信頼情報復元部と、前記復元された信頼情報と前記受信された検証情報とを用いて、前記転送先情報処理装置の信頼性を検証する機器検証部とを備え、前記信頼性の検証が成功した場合に、前記通信部が、転送要求された自己の所有データを、前記転送先情報処理装置へ送信することを特徴とする情報処理装置を提供するものである。
【００１８】
これによれば、転送先情報処理装置の信頼情報を分割してその一部を保存しているので、第三者の信頼できる管理装置を利用することなく、データの転送先の情報処理装置の信頼性を簡易に確認することができる。
また、信頼性の確認が成功した場合に、自己の所有データを転送先情報処理装置へ送信するようにしているので、信頼性を確認できない装置を利用した不正アクセスにより、自己の所有データが不当に外部へ流出するのを防止でき、セキュリティをより高めることができる。
上記装置は、送信すべきデータを所有し、転送要求を受信する転送元情報処理装置に相当する。
【００１９】
この発明は、前記信頼情報は、秘密分散法を用いて、第１分割信頼情報と第２分割信頼情報とに分割されることを特徴とする。すなわち、少なくとも２つに分割される。ただし、３つ以上に分割してもよい。
また、この発明は、前記復元された信頼情報と、前記受信された検証情報とが同一形式のデータである場合は、信頼情報と検証情報とが一致する場合に、前記機器検証部が、前記転送先情報処理装置の信頼性の検証が成功したと判断することを特徴とする。
【００２０】
さらに、前記信頼情報を所定の分割方法で２つの分割信頼情報に分割する信頼情報分割部をさらに備え、前記機器検証部が、信頼性の検証に失敗した場合、前記受信された検証情報を用いて、前記信頼情報を更新した後、前記信頼情報分割部が、更新後の信頼情報を２つに分割し、一方の分割信頼情報を前記記憶部の第１分割信頼情報として記憶し、他方の分割信頼情報を、第２分割信頼情報として、前記転送先情報処理装置へ送信することを特徴とする。
さらに、前記記憶部に、転送先情報処理装置の公開鍵を予め記憶し、転送要求された自己の所有データを、前記公開鍵を用いて暗号化する暗号部をさらに備え、前記通信部は、前記暗号部で暗号化された前記所有データを、転送先情報処理装置へ送信することを特徴とする。
暗号化は、所有データの転送時のセキュリティを高め、不正流出を防止するためである。
また、共通鍵を生成する鍵生成部と、転送要求された自己の所有データを前記共通鍵で暗号化する暗号部をさらに備え、前記記憶部に転送先情報処理装置の公開鍵を予め記憶し、前記通信部は、暗号部で暗号化された前記所有データと、前記転送先情報処理装置の公開鍵で暗号化された共通鍵とを、転送先情報処理装置へ送信することを特徴とする。
【００２１】
また、この発明は、自己の秘密鍵と公開鍵とを生成する鍵生成部と、自己の所有するデータを転送する相手である転送先情報処理装置から、前記転送先情報処理装置の固有の状態を示す情報を用いて生成された信頼情報を受信する通信部と、前記信頼情報を所定の分割方法で２つの分割信頼情報に分割する信頼情報分割部と、分割された一方の第１分割信頼情報と前記自己の秘密鍵とを保存する記憶部とを備え、前記通信部は、前記生成された自己の公開鍵と、分割された他方の第２分割信頼情報とを、前記転送先情報処理装置へ送信することを特徴とする情報処理装置を提供するものである。
上記装置も転送元情報処理装置であり、データ転送前の交換処理機能を有するものである。
【００２２】
さらに、この発明は、自己の秘密鍵と、データの転送元情報処理装置の公開鍵と、自己の固有の状態情報を示す情報を用いて生成した信頼情報を分割した一部の分割信頼情報とを予め保存する記憶部と、自己の現在の状態情報を収集する機器状態収集部と、前記収集された現在の状態情報を用いて自己の検証情報を生成する信頼情報生成部と、前記転送元情報処理装置の所有するデータの転送要求をする際に、前記生成された検証情報と、前記予め保存されていた分割信頼情報とを、転送元情報処理装置に送信する通信部と、前記通信部が、転送元情報処理装置から自己の公開鍵で暗号化された転送要求データを受信した場合、前記保存されていた自己の秘密鍵を用いて、受信したデータを復号する復号部とを備えたことを特徴とする情報処理装置を提供するものである。
上記装置は、転送先情報処理装置に相当する。
また、この発明は、前記機器状態収集部が収集する状態情報は、テキスト形式でもバイナリ形式でも構わない。例えば、データ量を減らすために、ハッシュ値を用いることも可能である。
【００２３】
ここで、前記記憶部に予め保存される分割信頼情報は、前記転送元情報処理装置の公開鍵で暗号化された形式で保存されていることを特徴とする。
これによれば、記憶部に保存されている分割信頼情報は、転送元情報処理装置の公開鍵で暗号化されているので、転送元情報処理装置のみが所有する秘密鍵でしか復号することができず、セキュリティを向上できる。
【００２４】
また、前記転送要求をする際に、送信される分割信頼情報は、転送元情報処理装置の公開鍵で暗号化されていることを特徴とする。
この場合も、送信される分割信頼情報は、転送元情報処理装置の公開鍵で暗号化されているので、転送元処理装置のみが所有する秘密鍵でしか復号することができず、セキュリティを向上できる。
【００２５】
さらに、前記転送要求をする際に、前記通信部は鍵情報も送信し、前記鍵情報は、新たに作成した秘密鍵公開鍵のペアの公開鍵を自己の秘密鍵で暗号化したものを、転送元情報処理装置の公開鍵で暗号化した情報であることを特徴とする。
【００２６】
また、自己の秘密鍵と公開鍵とを生成する鍵生成部をさらに備え、前記信頼情報生成部が、前記機器状態収集部によって収集された状態情報を用いて自己の信頼情報を生成し、前記通信部が、前記自己の公開鍵と、前記生成された自己の信頼情報とを、転送元情報処理装置へ送信することを特徴とする。上記装置も、転送先情報処理装置に相当する。
【００２７】
また、この発明は、転送元情報処理装置が自己の所有するデータを転送先情報処理装置へ転送する前に、前記転送先情報処理装置が、転送先情報処理装置の機器状態収集部によって収集された自己の現在の状態情報を用いて、信頼情報を生成し、その信頼情報を前記転送元情報処理装置へ送信した後、前記転送元情報処理装置が受信した信頼情報を２つに分割して、第１分割信頼情報と第２分割信頼情報とを生成し、第１分割信頼情報は、記憶部へ保存し、第２分割信頼情報は前記転送先情報処理装置へ送信され、前記転送先情報処理装置の記憶部に保存されることを特徴とする情報処理装置のデータ転送方法を提供するものである。
【００２８】
さらに、前記転送先情報処理装置が、前記転送元情報処理装置に対して、転送元情報処理装置が所有するデータの転送を要求する際に、前記機器状態収集部によって収集された自己の現在の状態情報を用いて検証情報を生成し、生成された検証情報と、前記転送先情報処理装置の記憶部に保存されていた第２分割信頼情報とを前記転送元情報処理装置へ送信した後、前記転送元情報処理装置が、自己の記憶部に保存されていた第１分割信頼情報と、受信した検証情報とを用いて、前記信頼情報を復元し、復元した信頼情報と受信した検証情報とを用いて、前記転送先情報処理装置の信頼性を検証し、信頼性の検証が成功した場合に、転送要求された自己の所有するデータを、転送先情報処理装置へ送信することを特徴とする。
【００２９】
また、前記信頼性の検証に失敗した場合に、前記転送元情報処理装置が、前記受信した検証情報から新たな信頼情報を生成し、新たな信頼情報を分割して、２つの分割信頼情報を生成し、生成した一方の分割信頼情報を第１分割信頼情報として自己の記憶部に保存し、生成した他方の分割信頼情報を前記転送先情報処理装置へ送信し、転送先情報処理装置が、受信した分割信頼情報を第２分割信頼情報として保存することを特徴とする。
【００３０】
また、この発明は転送元情報処理装置の固有の状態を示す情報を用いて生成した信頼情報を、所定の分割方法で２つに分割した一方の第１分割信頼情報を転送元情報処理装置に保存し、かつ他方の第２分割信頼情報を転送先情報処理装置に保存した後、転送元情報処理装置が転送先情報処理装置へ自己の所有するデータを転送する際に、前記転送元情報処理装置が、共通鍵を生成し、その共通鍵で、転送すべき自己の所有するデータを暗号化し、転送元情報処理装置の機器状態収集部によって収集された自己の現在の状態情報を用いて検証情報を生成し、前記共通鍵と、保存された第１分割信頼情報と、前記生成された検証情報と、前記暗号化されたデータとを、前記転送先情報処理装置へ送信した後、前記転送先情報処理装置が、受信した第１分割信頼情報と、保存された第２分割信頼情報とを用いて、前記転送元情報処理装置の信頼情報を復元し、復元した信頼情報と、受信した検証情報とを用いて、前記転送元情報処理装置の信頼性を検証し、信頼性の検証が成功した場合に、受信した暗号化されたデータを、受信した共通鍵を用いて復号することを特徴とする情報処理装置のデータ転送方法を提供するものである。
【発明の効果】
【００３１】
この発明によれば、２つの情報処理装置間でデータ転送をする場合に、その転送先情報処理装置の信頼情報を分割してその一部を転送元情報処理装置に保存しているので、転送元情報処理装置側でデータ転送前に、転送先情報処理装置の信頼性を簡易に確認でき、不正アクセスによるデータの不当な流出を有効に防止できる。
【発明を実施するための最良の形態】
【００３２】
以下、図に示す実施例に基づいて本発明を詳述する。なお、本発明はこれによって限定されるものではない。
＜情報処理装置の構成＞
図１に、この発明の情報処理装置（ＰＣ）の一実施例の構成ブロック図を示す。
この発明の情報処理装置ＰＣは、パソコンやワークステーションのようなコンピュータであり、ネットワークを介して他のＰＣとデータ通信を行う機能を有する。あるいは、他のＰＣとケーブルを直接接続し、データ交換を行う機能を有してもよい。
【００３３】
また、汎用インタフェース（ＵＳＢ，ＩＥＥＥ１３９４，ＳＣＳＩなど）のケーブルを介して、ＵＳＢメモリ，外部記憶装置などに接続し、データの記録再生を行う機能を有する。
いずれのケーブルの場合も、データの送信および受信という処理を伴うが、この発明では、単純に送信すべきデータをそのまま送信するのではなく、相互に通信する相手側が信頼できる機器であることを、以下に説明するような方法で確認した後、所定の暗号化処理をしたデータを送信する。
【００３４】
この発明の情報処理装置は種々の情報処理機能を有することが可能であるが、以下の実施例では、データ転送，データ保護，相互信頼確認という観点の機能について説明する。
図１に示すように、この発明の情報処理装置は、主として、鍵生成部１，機器状態収集部２，信頼情報生成部３，信頼情報分割部４，信頼情報復元部５，通信部６，復号部７，暗号部８，機器検証部９，転送元選択部１０，記憶部１１を備える。
【００３５】
鍵生成部１は、情報の暗号化および復号に利用する特殊なデータ（以下、鍵と呼ぶ）を生成する部分である。たとえば公開鍵暗号方式を採用する場合は、１対の公開鍵と秘密鍵とが生成される。
【００３６】
情報処理装置ＰＣ−Ｂによって作成される秘密鍵をＫＳＢ，公開鍵をＫＰＢと表記する。また、一般に、ＰＣ−ｎによって作成される秘密鍵をＫＳｎ，公開鍵をＫＰｎと表記するものとする（図２参照）。
また、共通鍵利用方式では、自己と他のＰＣでも利用される１つの共通鍵が生成される。
鍵生成部１による鍵の生成は、情報処理装置ＰＣの初期設定時，データ転送要求時，データ復号時などの際に、所定の生成プログラムによって行われる。
【００３７】
復号部７と暗号部８とは、このような鍵を用いて、所望の情報を復号または暗号化する部分である。
暗号および復号される情報の対象としては、送信されるデータ（ＤＴＳ）の他、鍵そのものの場合もある。
たとえば、送信データＤＴＳを、ＰＣ−Ｂの公開鍵ＫＰＢで暗号化したとき、暗号化後のデータを、ＫＰＢ（ＤＴＳ）と表記するものとする。
【００３８】
また、共通鍵ＫＣＡを、ＰＣ−Ａの公開鍵ＫＰＡで暗号化したとき、暗号化後の鍵を、ＫＰＡ（ＫＣＡ）と表記する。
逆に、暗号化されたデータＫＰＢ（ＤＴＳ）を、ＰＣ−Ｂの秘密鍵ＫＳＢで復号すると、もとのデータＤＴＳが取得される。
【００３９】
通信部６は、他の情報処理装置ＰＣや、ＵＳＢメモリなどとデータ通信を行う部分であり、所定の通信プロトコルに基づいてデータの送信および受信が行われる。
【００４０】
記憶部１１は、種々の情報を記憶した不揮発性の書き換え可能なメモリであり、たとえば、ハードディスク，フラッシュメモリ，ＲＡＭやＲＯＭなどの半導体記憶素子，ＣＤ，ＤＶＤなどの記憶媒体を利用できる。
記憶部１１には、送信データや鍵の他に、この発明の情報処理装置の機能を実現する上で必要な情報が記憶される。
図１では、その一例として、ＰＣ−Ｂに記憶される情報の一部を示している。これに限られるわけではない。たとえば、ＰＣ−Ｂで生成された自己の秘密鍵ＫＳＢ，自己の公開鍵ＫＰＢ，他の情報処理装置ＰＣ−Ａの公開鍵ＫＰＡ，送信データＤＴＳ，受信データＤＴＲ，後述する信頼情報ＴＩＢの一部である分割信頼情報ＤＩＢＢ，検証情報ＶＩＢである。
【００４１】
機器状態収集部２は、情報処理装置ＰＣの状態を検査して、所定の状態情報を収集する部分である。
状態情報とは、ＰＣを構成するハードウェアや、インストールされているソフトウェアによって特定される情報である。
たとえば、インストールされているソフトウェアの種類，ソフトウェアの名称，ソフトウェアのバージョン番号，現在動作中のソフトウェアの名称や数，インストールされているウイルス定義パターンファイルのバージョン番号，インストールされたハードウェアデバイスの名称やバージョン番号，デバイスの起動情報，ウイルス対策の有効無効情報，生体認証状況情報，ＯＳやソフトウェアのアップデート情報などが、状態情報に相当する。
【００４２】
信頼情報生成部３は、機器状態収集部２によって収集された状態情報を用いて、信頼情報ＴＩＢまたは検証情報ＶＩＢを生成する部分である。
信頼情報ＴＩＢは、ＰＣの初期設定時，ハードウェアやソフトウェアの変更，追加時などの際に、状態情報から生成される情報であり、ＰＣそのものを特定することが可能な状態を示すものとして利用される情報である。
検証情報ＶＩＢは、ＰＣの起動中に、特定のイベントが発生するごとに、そのＰＣの状態情報を収集し、収集された状態情報からその都度生成される情報である。
【００４３】
最も単純には、信頼情報ＴＩＢと検証情報ＶＩＢとは同一の情報として生成される。
同一の情報とする場合、収集された複数の状態情報をそのまま集合したデータ（テキスト形式、バイナリ形式）を用いることもできるが、複数の情報に対してハッシュ値を計算し、このハッシュ値を信頼情報および検証情報として利用してもよい。
【００４４】
また、不正利用や改ざんを防止するため、上記データやハッシュ値を所定の鍵（たとえば相手のＰＣの公開鍵）を用いて暗号化したものを、信頼情報および検証情報としてもよい。
さらに、信頼情報ＴＩＢは、たとえば、ＰＣ−Ｂの初期設定時に予め生成されて、そのＰＣ−Ｂの記憶部１１に保存されるべきものである。ただし、一旦保存された自己の信頼情報ＴＩＢは、その後分割されてデータ転送を行う相手のＰＣにも保存される。相手のＰＣに保存させる方法については、準備段階の交換処理として、後述する（図３，図４参照）。
【００４５】
また、信頼情報ＴＩＢとしては、検証情報と同一の情報でなくてもよい。たとえば、収集される状態情報の項目のうち、後述する機器検証部９の検証処理でチェックすべき項目名と、その項目がどのような値であればよいかを示したチェックリストを用いてもよい。
たとえば、収集された状態情報の項目が１０個（Ｊ１〜Ｊ１０）あったとし、このうちの４つの項目（たとえば、Ｊ１，Ｊ２，Ｊ７，Ｊ９）を検証するものとすると、信頼情報ＴＩＢは、この４つの項目名（Ｊ１，Ｊ２，Ｊ７，Ｊ９）と、その項目のとるべき値のみを含むリストとして生成される。
この場合、検証情報ＶＩＢとして収集された１０個の状態情報のうち、信頼情報ＴＩＢに含まれた４つの状態情報のみが機器検証部９によって検証される。
【００４６】
また、この発明では、信頼情報ＴＩＢはそのままＰＣに保存されるのではなく、複数に分割して、分割した情報をそれぞれ別のＰＣに保存することを特徴とする。
信頼情報ＴＩＢを複数に分割して別のＰＣに保存することにより、データ転送を行うＰＣ相互の信頼性の確認をより確実に行うことができるようになり、また、第三者である管理装置（サーバ）を介することなく、データ転送を行うＰＣ間で相互の信頼性を確認でき、信頼性を確認できないＰＣとのデータ通信を排除することができ、データ転送時の安全性をより高めることができる。
【００４７】
信頼情報分割部４は、１つの信頼情報ＴＩＢを複数個に分割する部分である。
データ転送は、通常２つのＰＣ間で行われるので、少なくとも２つに分割する。
分割する手法は、既存のデータ分割法を用いればよいが、たとえば、単純に半分に分割する方法、１バイトずつ交互に分割する方法、秘密分散法などの手法を用いることができる。
また、分割された信頼情報は、所定の処理によりもとの１つの信頼情報ＴＩＢに復元される。
信頼情報ＴＩＢを２つに分割した場合、分割後の信頼情報はそれぞれデータの転送元のＰＣと転送先のＰＣに、別々に保存される。
以下の実施例では主としてＰＣ−ＡとＰＣ−Ｂとの間のデータ転送を説明するが、この場合、信頼情報ＴＩＢは、２つの分割情報ＤＩＢＡとＤＩＢＢに分割され、一方の分割情報ＤＩＢＡはＰＣ−Ａに保存され、他方の分割情報ＤＩＢＢはＰＣ−Ｂに保存されるものとする。
【００４８】
信頼情報復元部５は、上記のように複数個に分割された信頼情報（たとえばＤＩＢＡ，ＤＩＢＢ）を結合して、もとの信頼情報ＴＩＢを復元する部分である。復元した信頼情報ＴＩＢは、機器検証部９の検証処理で用いられる。
また、たとえば２分割された分割情報（ＤＩＢＡ，ＤＩＢＢ）は、異なるＰＣ−ＡとＰＣ−Ｂにそれぞれに保存されているが、ＰＣ−ＡとＰＣ−Ｂで実際にデータ転送を行う直前の検証処理のときに、どちらか一方のＰＣに、他方のＰＣに保存されていた分割情報を送信することにより集合され、もとの信頼情報ＴＩＢを復元する。
【００４９】
機器検証部９は、信頼情報ＴＩＢと検証情報ＶＩＢとを用いて、これからデータ転送を行おうとするＰＣ相互の信頼性を検証する処理（信頼性確認処理、または検証処理ともいう）をする部分である。
ここで、信頼情報ＴＩＢと検証情報ＶＩＢとが同じ形式のデータである場合は、両者が一致するか否かチェックされる。一致することが確認された場合は、データ転送の相手が信頼できるＰＣであると判断される。
確認に用いられる信頼情報ＴＩＢは、信頼情報復元部５が記憶部１１に記憶された分割情報ＤＩＢＡと、相手側から送信されてきた分割情報ＤＩＢＢとを結合して復元したものである。
一方、確認に用いられる検証情報ＶＩＢは、相手側のＰＣから送られてきたそのＰＣの検証情報である。
【００５０】
転送元選択部１０は、データを所有しているＰＣを選択する部分であり、送信する分割情報や暗号化に用いる公開鍵を選択する部分である。
たとえば、互いに信頼性を確認したパソコンが３台（ＰＣ−Ａ，ＰＣ−Ｂ，ＰＣ−Ｃ）存在しているとする。データを入手しようとする転送先のＰＣがＰＣ−Ｂであり、データを所有している転送元のＰＣがＰＣ−Ａ，ＰＣ−Ｃの２台であったとする。このとき、ＰＣ−Ｂにおいて、データを入手する相手のＰＣがＰＣ−ＡであるかＰＣ−Ｃであるかを選択する必要がある。たとえば、データ入手先である転送元のＰＣを選択するための画面を表示し、利用者による入力操作により転送元のＰＣを選択してもらう。
【００５１】
転送元選択部１０は、キーボード，マウス，ペンなどのポインティングデバイスなどの入力装置に相当する。
上記した３台のＰＣが存在する状態で、ＰＣ−Ｂにおいて、ＰＣ−Ｃが転送元として選択入力された場合、ＰＣ−Ｂに予め保存されていたＰＣ−ＢとＰＣ−Ｃとの間の信頼情報の分割情報ＤＩＢＢが、データ転送前に、ＰＣ−ＢからＰＣ−Ｃへ転送される。
【００５２】
また、３台のＰＣの間で相互に信頼性を確認するために用いる信頼情報は、次のような３種類、合計６つの情報が存在する。ＰＣ−ＡとＰＣ−Ｂ相互間においては、ＰＣ−Ａの信頼性を確認するための信頼情報ＴＩＡ（Ａ−Ｂ）と、ＰＣ−Ｂの信頼性を確認するための信頼情報ＴＩＢ（Ａ−Ｂ）とが存在する。
また、同様に、ＰＣ−ＡとＰＣ−Ｃと相互間では、ＰＣ−Ａの信頼性を確認するための信頼情報ＴＩＡ（Ａ−Ｃ）と、ＰＣ−Ｃの信頼性を確認するための信頼情報ＴＩＣ（Ａ−Ｃ）である。
【００５３】
また、ＰＣ−ＢとＰＣ−Ｃ相互間では、ＰＣ−Ｂの信頼性を確認するための信頼情報ＴＩＢ（Ｂ−Ｃ）と、ＰＣ−Ｃの信頼性を確認するための信頼情報ＴＩＣ（Ｂ−Ｃ）である。
ここで、たとえばＰＣ−Ｂの信頼性を確認するための信頼情報は、２つ存在するが、セキュリティを高めるため、信頼情報ＴＩＢ（Ａ−Ｂ）とＴＩＢ（Ｂ−Ｃ）とは異なるものを用いる方が好ましい。ただし、ＴＩＢ（Ａ−Ｂ）とＴＩＢ（Ｂ−Ｃ）とは同一であってもよい。
【００５４】
また、これらの信頼情報はそれぞれ２つに分割されて、その分割情報は別々のＰＣに保存される。たとえば、ＰＣ−ＡとＰＣ−Ｂ相互間においては、ＴＩＡ（Ａ−Ｂ）が、ＤＩＡＡ（Ａ−Ｂ）とＤＩＡＢ（Ａ−Ｂ）に分割され、ＤＩＡＡ（Ａ−Ｂ）がＰＣ−Ａに保存され、ＤＩＡＢ（Ａ−Ｂ）がＰＣ−Ｂに保存される。
また、ＴＩＢ（Ａ−Ｂ）が、ＤＩＢＡ（Ａ−Ｂ）とＤＩＢＢ（Ａ−Ｂ）に分割され、ＤＩＢＡ（Ａ−Ｂ）がＰＣ−Ａに保存され、ＤＩＢＢ（Ａ−Ｂ）がＰＣ−Ｂに保存される。
【００５５】
また、ＰＣ−ＢとＰＣ−Ｃ相互間においては、ＴＩＢ（Ｂ−Ｃ）がＤＩＢＢ（Ｂ−Ｃ）とＤＩＢＣ（Ｂ−Ｃ）に分割され、ＤＩＢＢ（Ｂ−Ｃ）がＰＣ−Ｂに保存され、ＤＩＢＣ（Ｂ−Ｃ）がＰＣ−Ｃに保存される。さらにＴＩＣ（Ｂ−Ｃ）はＤＩＣＢ（Ｂ−Ｃ）とＤＩＣＣ（Ｂ−Ｃ）に分割され、ＤＩＣＢ（Ｂ−Ｃ）がＰＣ−Ｂに保存され、ＤＩＣＣ（Ｂ−Ｃ）がＰＣ−Ｃに保存される。
【００５６】
また、転送元選択部１０によってデータ転送元のＰＣが選択されると、暗号化に用いる公開鍵も選択される。たとえば、データ転送元としてＰＣ−Ａが選択された場合は、転送元のＰＣ−Ａの公開鍵ＫＰＡが選択される。データ転送元としてＰＣ−Ｃが選択された場合は、転送元のＰＣ−Ｃの公開鍵ＫＰＣが選択される。
【００５７】
この発明の情報処理装置は、以上のような主要機能ブロック（１〜１０）を備えているが、これら各機能ブロックは、ＣＰＵ，ＲＯＭ，ＲＡＭ，Ｉ／Ｏコントローラ，タイマーなどからなるマイクロコンピュータによって実現される。
また、各機能ブロック（１〜１０）の機能は、ＲＯＭやＲＡＭ等に記憶された制御プログラムに基づいて、ＣＰＵが種々のハードウェアを動作させることにより実現される。
【００５８】
図２に、この発明で利用される主要な情報の一実施例を示す。ここでも、データ転送の転送先であるＰＣ−Ｂと、転送元であるＰＣ−Ａについての情報を示す。
図２において、鍵ＫＥＹは、情報を暗号化または復号するための鍵である。公開鍵暗号方式を利用する場合は、図２に示すように、各ＰＣごとに、異なる公開鍵と秘密鍵とが存在する。
【００５９】
たとえば、ＰＣ−Ｂにおいて、一対の公開鍵ＫＰＢと秘密鍵ＫＳＢとが作成されると、その秘密鍵ＫＳＢは、自己の鍵としてＰＣ−Ｂに保存され、その公開鍵ＫＰＢはＰＣ−Ａなどの他のＰＣに保存される。
共通鍵ＫＣＡは、転送データを暗号化および復号するための情報であり、一般に転送元のＰＣで生成されるものである。また、共通鍵ＫＣＡは、所定の鍵を用いて暗号化されて、暗号化された転送データとともに、転送先へ送信される。
【００６０】
鍵情報ＫＩＢは、あるＰＣが所有する鍵を、他のＰＣの公開鍵で暗号化したものである。
たとえば、転送先ＰＣで鍵情報ＫＩＢを作成する場合、転送元ＰＣの公開鍵で暗号化されたものが、鍵情報ＫＩＢとなる。この鍵情報ＫＩＢは、転送元ＰＣに送信される。
鍵情報ＫＩＢは転送元ＰＣの公開鍵で暗号化されているので、鍵情報ＫＩＢは転送元ＰＣの秘密鍵でしか復号することができない。
たとえば、後述するように、ＰＣ−Ｂの公開鍵ＫＰＢ１を秘密鍵ＫＳＢで暗号化したもの（ＫＳＢ（ＫＰＢ１））を、異なるＰＣ−Ａの公開鍵ＫＰＡで暗号化したもの（ＫＰＡ（ＫＳＢ（ＫＰＢ１）））を、鍵情報ＫＩＢとして利用する（図７参照）。
【００６１】
図２において、信頼情報ＴＩＢは、転送先ＰＣ−Ｂの信頼情報を示しており、２つに分割したものを示している。
すなわち、信頼情報ＴＩＢは、第１の分割信頼情報ＤＩＢＡと、第２の分割信頼情報ＤＩＢＢに分割され、一方の分割信頼情報ＤＩＢＡはＰＣ−Ａに保存され、他方の分割信頼情報ＤＩＢＢはＰＣ−Ｂに保存される。信頼情報ＴＩＢが、転送元ＰＣ−Ａで更新される場合には、生成された信頼情報ＴＩＢが、転送元ＰＣ−Ａで分割され、第２の分割信頼情報ＤＩＢＢはＰＣ−Ｂに送信される。
【００６２】
検証情報ＶＩＢは、検証する自己のＰＣで作成され、そのＰＣの信頼性を相手側のＰＣで確認してもらうために、相手側のＰＣへ送信される。たとえば、転送先のＰＣであるＰＣ−Ｂの検証情報ＶＩＢは、そのＰＣ−Ｂで作成され、転送元であるＰＣ−Ａへ送信される。逆に転送元のＰＣ−Ａで作成された検証情報ＶＩＡは、転送先のＰＣ−Ｂへ送信される。
送受信されるもとのデータＤＴは、図１の送信データＤＴＳに相当し、転送元のＰＣ（たとえばＰＣ−Ａ）に保存されている。
また、公開鍵ＫＰＢで暗号化されたデータＤＴは、ＫＰＢ（ＤＴ）と表記するが、この情報ＫＰＢ（ＤＴ）は、もとのデータＤＴを所有している転送元のＰＣ−Ａで生成され、転送先のＰＣ−Ｂへ送信される。
【００６３】
また、図２には、転送元のＰＣ−Ａと転送先のＰＣ−Ｂに保存されるべき情報と、両ＰＣ間で送受信される情報の一実施例を示している。
ここで、保存されるべき情報とは、実際にデータ転送が行われる前に保存されている情報をいい、後述する交換処理を実行した後に各ＰＣに保存される情報である。
図２において、転送元ＰＣ−Ａには、自己（ＰＣ−Ａ）の秘密鍵ＫＳＡ，相手（ＰＣ−Ｂ）の公開鍵ＫＰＢおよび分割信頼情報ＤＩＢＡが保存されることを示している。
転送先ＰＣ−Ｂには、自己（ＰＣ−Ｂ）の秘密鍵ＫＳＢ，相手（ＰＣ−Ａ）の公開鍵ＫＰＡおよび分割信頼情報ＤＩＢＢが保存される。
【００６４】
また、転送先ＰＣ−Ｂから転送元ＰＣ−Ａに、データ送信要求ＲＥＱが送信されるとすると、その際に、鍵情報ＫＩＢと、検証情報ＶＩＢと、分割信頼情報ＤＩＢＢとがこのデータ送信要求ＲＥＱに含められて、転送先ＰＣ−Ｂから転送元ＰＣ−Ａへ送信される。
また、データ転送要求ＲＥＱを受信した転送元ＰＣ−Ａでは、所定の信頼性確認処理をした後、要求されたデータＤＴを、転送先ＰＣ−Ｂへ送信する。このとき、データＤＴは、生データのまま送信するのではなく、暗号化した後のデータを送信することが好ましい。
たとえば、ＰＣ−Ｂの公開鍵ＫＰＢで暗号化した後、ＫＰＢ（ＤＴ）として送信される。あるいは、共通鍵ＫＣＡと共に、共通鍵ＫＣＡで暗号化したデータ（ＫＣＡ（ＤＴ））を送信してもよい。
共通鍵ＫＣＡで暗号化する場合は、共通鍵ＫＣＡそのものをＰＣ−Ｂへ送信するのではなく、共通鍵ＫＣＡを、ＰＣ−Ｂの公開鍵ＫＰＢで暗号化したものを送信してもよい。
この例では、鍵情報ＫＩＢは使用していない。鍵情報ＫＩＢには、ＰＣ−Ｂで作成された公開鍵ＫＰＢ１が含まれており、ＰＣ−Ａからのデータ暗号化、もしくは、共通鍵ＫＣＡの暗号化に用いられる。それらは秘密鍵ＫＳＢ１によって復号される。
【００６５】
＜信頼情報等の交換処理＞
ここでは、データ転送の前に行われる処理である交換処理について説明する。
この交換処理は、データ転送を行う２つの情報処理装置相互間で予め実施される処理であり、データ転送をする前に必ず行う。ただし、データ転送の直前に毎回行う必要はなく、たとえば、データ転送を行いたい機器が追加されたとき、信頼情報が更新されたときなどに行うようにすればよい。
たとえば、２つの情報処理装置（ＰＣ−Ａ，ＰＣ−Ｂ）間で、交換処理が行われたとすると、両ＰＣは、図２に示したような情報（鍵，分割信頼情報）が保存された状態となる。
交換処理は、サーバを介して行うことも可能である。サーバが存在している場合には、自己の信頼情報をサーバに保存し、他の機器の分散情報や鍵などの情報を取得する。これは、サーバが存在している場合には、いつでも処理可能であり、定期的に行ってもよいし、電源投入時などに行ってもよい。
【００６６】
図３に、この発明の交換処理の一実施例の説明図を示す。
ここでは、転送先である情報処理装置ＰＣ−Ｂの信頼情報ＴＩＢを、転送元の情報処理装置ＰＣ−Ａへ送信する交換処理について説明する。
図３の各ブロックは、図１の構成ブロックに示したものであり、説明に利用するブロックのみを示している。ＰＣ−ＡとＰＣ−Ｂとは、専用ケーブルで直接接続してもよいが、ＬＡＮ等のネットワークを介して接続する形態でもよい。
まず、情報処理装置ＰＣ−Ｂにおいて、鍵生成部１による鍵の生成処理，機器状態収集部２によるＰＣ−Ｂの状態情報の収集処理，信頼情報生成部３による収集された情報を用いた信頼情報の生成処理，通信部６による生成した信頼情報等のＰＣ−Ａへの送信処理が、この順に行われる。
このとき、ＰＣ−Ａへは、ＰＣ−Ｂの信頼情報ＴＩＢと、ＰＣ−Ｂの公開鍵ＫＰＢが送信される。
【００６７】
次に、情報処理装置ＰＣ−Ａにおいて、通信部６による情報の受信処理，信頼情報分割部４による受信した信頼情報ＴＩＢの分割処理，通信部６による分割した信頼情報ＤＩＢＢなどの送信処理が、この順に行われる。
このとき、ＰＣ−Ｂへは、分割信頼情報ＤＩＢＢと、ＰＣ−Ａの公開鍵ＫＰＡが送信される。
なお、情報処理装置ＰＣ−Ａにおいても、予め鍵生成部１が、自己の秘密鍵ＫＳＡと自己の公開鍵ＫＰＡを生成するものとする。
すでに交換処理が行われている場合、鍵の交換は行わなくてもよい。
【００６８】
図４に、図３に示した交換処理の一実施例のフローチャートを示す。
まず、情報処理装置ＰＣ−ＡとＰＣ−Ｂにおいて、それぞれ鍵生成部１が鍵の生成処理を行う（ステップＳ１１，Ｓ２１）。
ステップＳ１１において、ＰＣ−Ｂで、自己の秘密鍵ＫＳＢと、自己の公開鍵ＫＰＢが生成される。
ステップＳ２１において、ＰＣ−Ａで、自己の秘密鍵ＫＳＡと、自己の公開鍵ＫＰＡが生成される。
【００６９】
次に、ステップＳ１２において、機器状態収集部２が、ＰＣ−Ｂの機器状態の情報を収集する。このとき、ＰＣ−Ｂに備えられたハードウェアや、インストールされたソフトウェアの情報が利用されて、状態情報が生成される。状態情報は収集された情報をすべて含むデータとする。あるいは、このデータをハッシュ関数で変換したハッシュ値を用いてもよい。
【００７０】
ステップＳ１３において、信頼情報生成部３が、収集した状態情報を用いて信頼情報ＴＩＢを生成する。ただし、信頼情報ＴＩＢは、記憶部１１に保存しない情報であるため、その一部ＤＩＢＢのみを後ほど保存し、信頼情報ＴＩＢは削除する（ステップＳ１７参照）。
ステップＳ１４において、通信部６が、ＰＣ−Ｂの公開鍵ＫＰＢと、信頼情報ＴＩＢとをＰＣ−Ａに送信する。
ステップＳ１５において、ＰＣ−Ｂの記憶部１１に、自己の秘密鍵ＫＳＢを保存する。ここで自己の公開鍵ＫＰＢも保存してもよい。
【００７１】
一方、ステップＳ２２において、ＰＣ−Ａが、ＰＣ−Ｂから送信されてきた情報（ＫＰＢ，ＴＩＢ）を受信する。
ステップＳ２３において、信頼情報分割部４が、受信した信頼情報ＴＩＢを分割する。たとえば、秘密分散法を用いて、信頼情報ＴＩＢを、分割信頼情報ＤＩＢＡとＤＩＢＢに分割する。
ステップＳ２４において、受信したＰＣ−Ｂの公開鍵ＫＰＢと、分割によって生成した一方の分割信頼情報ＤＩＢＡとを、記憶部１１に保存する。もう一方の分割信頼情報ＤＩＢＢは、ＰＣ−Ａに保存しない。分割信頼情報ＤＩＢＢは、ＰＣ−Ａの公開鍵ＫＰＡで暗号化してもよい。
ステップＳ２５において、通信部６が、もう一方の分割信頼情報ＤＩＢＢと、ＰＣ−Ａの公開鍵ＫＰＡとを、ＰＣ−Ｂへ送信する。
【００７２】
次に、ステップＳ１６において、ＰＣ−Ｂが、ＰＣ−Ａから送信されてきた情報（ＫＰＡ，ＤＩＢＢ）を受信する。そして、ステップＳ１７において、受信した公開鍵ＫＰＡと、分割信頼情報ＤＩＢＢとを記憶部１１に保存する。このとき、受信した信頼情報ＤＩＢＢはそのまま保存してもよいが、セキュリティ向上のため、ＰＣ−Ａの公開鍵ＫＰＡで暗号化したもの（ＫＰＡ（ＤＩＢＢ））を保存してもよい。ＫＰＡ（ＤＩＢＢ）は、ＰＣ−Ａのみに保存されているＰＣ−Ａの秘密鍵ＫＳＡがなければ復号できないので、ＤＩＢＢを暗号化したＫＰＡ（ＤＩＢＢ）の形式で保存することにより、ＰＣ−Ｂが盗難された場合のセキュリティをより高めることができる。ＰＣ−Ａから送信されてきた段階で、分割信頼情報ＤＩＢＢが、すでにＫＰＡで暗号化されている場合には、再度ＫＰＡにて暗号化する必要はない。
【００７３】
以上のように、ステップＳ２５，Ｓ１７の後、図２に示したように鍵や分割信頼情報が、２つの情報処理装置にそれぞれ保存されたことになる。
このように、ＰＣ−Ｂで生成された信頼情報ＴＩＢは、そのままの形式では保存されず、分割した信頼情報（ＤＩＢＡ，ＤＩＢＢ）の形式で、それぞれ物理的に異なる情報処理装置（ＰＣ−Ａ，ＰＣ−Ｂ）に保存するようにしているので、一方の情報処理装置に記憶された情報（たとえばＤＩＢＡ）が盗まれたとしても、他方の情報（ＤＩＢＢ）がなければ信頼情報ＴＩＢを復元することはできない。
【００７４】
また、第三者が他の情報処理装置ＰＣ−Ｅで、ＰＣ−ＡとＰＣ−Ｂ間の通信を盗聴し、ＰＣ−Ｂの分割信頼情報ＤＩＢＢを不正に取得したとしても、ＰＣ−Ｅでどのような検証情報ＶＩＢを生成すればよいかわからなければ、データ転送前の信頼性確認処理が成功できず、ＰＣ−Ａから不正にデータを取得することはできない。
【００７５】
また、ＰＣ−Ｂにおいて、分割信頼情報ＤＩＢＢを異なる情報処理装置ＰＣ−Ａの公開鍵で暗号化してＫＰＡ（ＤＩＢＢ）として保存しておけば、ＫＰＡ（ＤＩＢＢ）は、他方のＰＣ−Ａの秘密鍵ＰＳＡでしか復号できないので、セキュリティを向上できる。
【００７６】
たとえば、第三者が他のＰＣ−Ｅで、ＰＣ−Ｂの公開鍵ＫＰＢや秘密鍵ＫＳＢを不正に取得してＰＣ−Ｂになりすまし、さらに暗号化された分割信頼情報ＫＰＡ（ＤＩＢＢ）を取得できたとしても、ＰＣ−Ａの秘密鍵ＫＳＡを知らなければ、信頼情報ＤＩＢＢを復元することはできず、結局信頼情報ＴＩＢに対応した検証情報ＶＩＢを生成することはできない。
すなわち、第三者のＰＣ−ＥでＰＣ−Ａに対してデータを送信要求をしても、その要求時に送信すべき正当な検証情報ＶＩＢを作成できないので、ＰＣ−Ａから不正にデータを取得することはできない。
【００７７】
また、図４の交換処理は、２つの情報処理装置間で行うものであったが、交換処理そのものは、管理装置（サーバ）を利用して行ってもよい。この場合は、信頼情報の分割処理は、管理装置（サーバ）で行う。したがって、情報処理装置ＰＣでは、図１に示した信頼情報分割部４を備えなくてもよい。
【００７８】
図５に、管理装置（サーバ）を用いた交換処理の一実施例のフローチャートを示す。
図５のステップＳ３１において、互いにデータを転送する装置（ＰＣ−Ａ，ＰＣ−Ｂ）で、まず鍵を生成し、それぞれの公開鍵（ＫＰＡ，ＫＰＢ）をサーバに送信する。
サーバは、ステップＳ４１において、受信した装置の公開鍵（ＫＰＡ，ＫＰＢ）を保存し、装置ＰＣ−ＡとＰＣ−Ｂの登録を行う。
送信先ＰＣがＰＣ−Ｂであるとすると、ステップＳ３２，Ｓ３３において、図４に示したのと同様に、ＰＣ−Ｂにおいて、機器状態の収集と、信頼情報ＴＩＢの生成とを行う。そして、ステップＳ３４において、ＰＣ−Ｂの信頼情報ＴＩＢを、サーバに送信する。
【００７９】
ステップＳ４２において、サーバでは、信頼情報ＴＩＢを受信し、ステップＳ４３において、所定の分割法を用いて、信頼情報ＴＩＢを、２つの情報（ＤＩＢＡ，ＤＩＢＢ）に分割する。
ステップＳ４４において、分割された信頼情報ＤＩＢＢを、公開鍵ＫＰＡを使用して暗号化する。分割信頼情報ＤＩＢＡは、公開鍵ＫＰＡで暗号化してもよい。
【００８０】
たとえば、ＰＣ−Ａに保存すべき情報ＤＩＢＡは、ＰＣ−Ａの公開鍵ＫＰＡで暗号化され、ＰＣ−Ｂに保存すべき情報ＤＩＢＢは、ＰＣ−Ａの公開鍵ＫＰＡで暗号化する。
そして、ステップＳ４５において、ＤＩＢＢを暗号化した情報（ＫＰＡ（ＤＩＢＢ））と、ＰＣ−Ａの公開鍵ＫＰＡとを、ＰＣ−Ｂへ送信する。
ステップＳ４６において、ＤＩＢＡと、ＰＣ−Ｂの公開鍵ＫＰＢとを、ＰＣ−Ａへ送信する。
【００８１】
ステップＳ３６において、ＰＣ−Ｂで、サーバから送られてきた公開鍵ＫＰＡと、暗号化された分割信頼情報ＫＰＡ（ＤＩＢＢ）とを受信し、そのまま記憶部１１に保存する（ステップＳ３７）。
また、ステップＳ３８において、ＰＣ−Ａにおいても、サーバから送信されてきた公開鍵ＫＰＢと、分割信頼情報ＤＩＢＡを記憶部１１に保存する。
また、セキュリティのため、信頼情報ＴＩＢも、生成した分割信頼情報（ＤＩＢＡ，ＤＩＢＢ）もサーバには保存しない。すなわち、ステップＳ４５，Ｓ４６の後、サーバにおいて、情報（ＴＩＢ，ＤＩＢＡ，ＤＩＢＢ）は消去する。同様に、ＰＣ−Ｂの信頼情報ＴＩＢも保存されていれば消去する。
【００８２】
図５の場合、ＰＣ−Ｂに送信された分割信頼情報は、相手側装置の公開鍵で暗号化されているので、相手側の秘密鍵がないと復号できない形式である。
したがって、秘密鍵ＫＳＡを所有していない第三者が、単に、暗号化された情報ＫＰＡ（ＤＩＢＢ）を不正に取得したとしても、もとのＤＩＢＢを復元することはできず、セキュリティを確保することができる。
【００８３】
また、図４，図５の変換処理はいずれもＬＡＮなどのネットワークやケーブルを介してデータ転送を行う場合を示しているが、これに限るものではない。なお、送受信時のデータは、ここでは現れていない別の鍵を用いて暗号化されていてもよい。
ＰＣ−ＡおよびＰＣ−Ｂの利用者が自らＵＳＢメモリのような半導体メモリ素子や、ＣＤ，ＤＶＤなどの記録媒体に必要な情報を記録して、変換処理をしてもよい。
たとえば、送信先のＰＣ−Ｂの利用者が、図４に示したＰＣ−Ａへ送信される情報（ＫＰＢ，ＴＩＢ）をＣＤに記憶させ、かつ所定の暗号コードＥＮをＣＤに付与して、その暗号コードＥＮを入力しなければ、ＣＤを読めないようにしてもよい。この場合、ＰＣ−Ｂの利用者が、直接または郵送などの別ルートで、暗号コードＥＮをＰＣ−Ａの利用者に知らせる。そして、暗号コードＥＮとＣＤとを受け取ったＰＣ−Ａの利用者は、暗号コードＥＮを入力することにより、ＣＤに記憶された情報を読むことができる。
以上が、データ転送よりも前に必要となる情報処理装置間で行うべき交換処理である。
【００８４】
＜データ転送処理；実施例１＞
ここでは、２つの情報処理装置（ＰＣ−Ａ，ＰＣ−Ｂ）の間で、データを転送する場合の処理について説明する。この転送処理を行う前に、図４または図５で示したような変換処理が、ＰＣ−ＡとＰＣ−Ｂで行われたものとする。
この発明のデータ転送処理は、要求されたデータを実際に転送する前に、転送元ＰＣであるＰＣ−Ａ側で、転送先ＰＣであるＰＣ−Ｂの信頼性を検証する処理（図７のステップＳ６１からＳ６６）をすることを特徴とする。
【００８５】
図６に、この発明のデータ転送処理の一実施例の概略説明図を示す。
図６では、図１の機能ブロックのうち利用する機能ブロックのみを示している。
ここでは、転送先ＰＣ−Ｂから転送元ＰＣ−Ａに対してデータ送信要求が送信され、ＰＣ−Ａにおいて、データ送信要求の送信時に同時に送信される情報を用いてＰＣ−Ｂの信頼性を確認するものとする。そして、ＰＣ−Ｂが信頼できる相手であると確認できた場合に、ＰＣ−ＡからＰＣ−Ｂへ、要求されたデータを送信する。
【００８６】
また、ＰＣ−Ｂにおいて、送信元選択部１０を用いて、データの送信元としてＰＣ−Ａが選択され、送信されるデータも選択されるものとする。送信元としてＰＣ−Ａが選択された場合、以後の処理に用いる公開鍵として、ＰＣ−Ａの公開鍵ＫＰＡが選択される。
【００８７】
まずＰＣ−Ｂにおいて、送信要求に送る情報を作成するために、機器状態収集部２によるＰＣ−Ｂの状態情報の収集、信頼情報生成部３によるＰＣ−Ｂの検証情報ＶＩＢの生成を行うと共に、信頼性確認のために用いる鍵情報ＫＩＢの生成と、分割信頼情報ＤＩＢＢの暗号化を行う。
そして、通信部６によって、生成された情報群（ＫＩＢ，ＶＩＢ，ＩＢＢ）をＰＣ−Ａへ送信する。ここで、情報ＩＢＢは、ＤＩＢＢを、ＰＣ−Ａの公開鍵ＫＰＡで暗号化した情報（ＫＰＡ（ＤＩＢＢ））を意味する（図７参照）。
【００８８】
一方、これらの情報群を受信したＰＣ−Ａでは、復号部７による鍵情報ＫＩＢの復号処理と、信頼情報復元部５による信頼情報ＴＩＢの復元処理と、機器検証部９によって行われる復元した信頼情報ＴＩＢと受信した検証情報ＶＩＢとの比較による検証処理（信頼性確認処理）とがこの順に行われる。
機器検証部９による検証処理によって検証が成功すると、送信先であるＰＣ−Ｂが、データを送信してもよい信頼できる相手であると確認されたことになる。
この後、暗号部８で要求されたデータＤＴＳの暗号化が行われ、ＰＣ−ＡからＰＣ−Ｂへ、要求されたデータのデータ転送処理が実行される。たとえば、要求されたデータＤＴＳは、ＰＣ−Ｂの公開鍵ＫＰＢで暗号化された形式（ＫＰＢ（ＤＴＳ））で送信される。
【００８９】
そして、ＰＣ−Ｂにおいて、暗号化されたデータ（ＫＰＢ（ＤＴＳ））を受信すると、復号部７によってＰＣ−Ｂの秘密鍵ＫＳＢを用いてデータＤＴＳを復号する。復号したデータは、受信データＤＴＲとして記憶部１１に保存される。
この発明は、２つの分割した信頼情報（ＤＩＢＡ，ＤＩＢＢ）と、鍵情報ＫＩＢと検証情報ＶＩＢとを用いて、送信要求をした転送先の情報処理装置（ＰＣ−Ｂ）の検証処理を行っているので、信頼性を確認できなかった転送先ＰＣへデータを送信することがない。
すなわち、第三者が、他の情報処理装置を使って転送先ＰＣになりすましたとしても、検証処理が成功せず、データの不正流出を、より高度に防止することができる。
【００９０】
図７に、この発明のデータ転送処理の一実施例のフローチャートを示す。
ここでも、図６に示したように、ＰＣ−ＢからＰＣ−Ａへデータ送信要求を送信し、ＰＣ−Ａで信頼性の検証が正当に行われた場合に、要求された送信データＤＴＳをＰＣ−ＡからＰＣ−Ｂへ転送する場合について説明する。
前提として、ＰＣ−ＡとＰＣ−Ｂですでに図３のような交換処理が行われ、図７に示すような所有情報をそれぞれ保存しているものとする。ここで、ＤＩＢＢは、暗号化したＫＰＡ（ＤＩＢＢ）の形式で所有していてもよい。
【００９１】
まず、ＰＣ−Ｂにおいて利用者が、ＰＣ−Ａに存在するデータＤＴＳを取得するための入力操作をしたとする。このとき、ＰＣ−Ｂにインストールされていたデータ送信プログラムが起動され、そのデータＤＴＳを取得するために、データ送信要求が生成される。また、ＰＣ−Ｂにおいて、データ送信プログラムに基づいて、ＣＰＵによってステップＳ５１からＳ５５までの一連の処理を実行する。
【００９２】
ステップＳ５１において、ＰＣ−Ａでのデータ暗号化に用いる鍵を作成する。秘密鍵ＫＳＢ１と公開鍵ＫＰＢ１のペア、共通鍵ＫＣＢ、秘密鍵ＫＳＢ１と公開鍵ＫＰＢ１のペアと共通鍵ＫＣＢ両方であってもよい。
ステップＳ５２において、鍵情報ＫＩＢを生成する。
鍵情報ＫＩＢとは、図２に示した情報であるが、ここでは、ＰＣ−Ａでデータの暗号処理を行うための鍵を含む情報を意味し、ＫＰＡ（ＫＳＢ（ＫＰＢ１））である。
信頼性チェックを受ける転送先のＰＣであるＰＣ−Ｂの公開鍵ＫＰＢ１を、そのＰＣ−Ｂの秘密鍵ＫＳＢで暗号化（署名とも呼ぶ）したもの（ＫＳＢ（ＫＰＢ１））を生成し、さらに、この情報（ＫＳＢ（ＫＰＢ１））を、信頼性をチェックする転送元のＰＣであるＰＣ−Ａの公開鍵ＫＰＡで暗号化したものが、鍵情報ＫＩＢである。
【００９３】
ステップＳ５３において、予めＰＣ−Ｂに所有されていた分割信頼情報ＤＩＢＢを、ＰＣ−Ａの公開鍵ＫＰＡを用いて暗号化する。すなわち、ＩＢＢ＝ＫＰＡ（ＤＩＢＢ）を生成する。
この情報ＩＢＢは、ＰＣ−Ａのみに所有されている秘密鍵ＫＳＡによって復号可能な情報である。ただし、ステップＳ３７で示したようにすでに暗号化された情報（ＫＰＡ（ＤＩＢＢ））が、ＰＣ−Ｂに保存されている場合は、ステップＳ５３は必要ない。
【００９４】
ステップＳ５４において、検証情報ＶＩＢを生成する。
検証情報ＶＩＢは、信頼情報ＴＩＢと同一または対応するものであり、前記したように、機器状態収集部２によって収集された状態情報を用いて、信頼情報生成部３によって生成される。
その後、上記処理によって生成された情報群（ＫＩＢ，ＩＢＢ，ＶＩＢ）を、データ送信要求ＲＥＱに含ませ、データ送信要求ＲＥＱを作成する。
【００９５】
データ送信要求ＲＥＱには、上記情報群の他に、送信してもらいたいデータＤＴＳを特定する情報が含まれる。たとえば、データＤＴＳが、文書ファイルである場合は、その文書ファイルのファイル名，ディレクトリ、作成者，キーワード，日付、サイズなどが含まれる。
なお、検証情報ＶＩＢも、ＰＣ−Ａの公開鍵ＫＰＡで暗号化してもよい。この場合、この暗号化した情報（ＫＰＡ（ＶＩＢ））をデータ送信要求ＲＥＱに含める。
【００９６】
この後、ＰＣ−Ａにおいて、データ送信要求ＲＥＱが受信され、ＰＣ−Ｂから要求のあったデータＤＴＳを特定する情報と、情報群（ＫＩＢ，ＩＢＢ，ＶＩＢ）とが受信される（ステップＳ６１）。
ステップＳ６２からＳ６６において、転送先のＰＣ−Ｂの信頼性の検証処理が行われ、その後、ステップＳ６７とＳ６８において、要求されたデータＤＴＳの転送が行われる。
【００９７】
ステップＳ６２において、鍵情報ＫＩＢをＰＣ−Ａの秘密鍵ＫＳＡを用いて、復号する。これによりＫＩＢに含まれていたＫＳＢ（ＫＰＢ１）が取得される。
次に、ステップＳ６３において、予め所有していたＰＣ−Ｂの公開鍵ＫＰＢを用いて、ＫＳＢ（ＫＰＢ１）を復号する。これによりＰＣ−Ｂの公開鍵ＫＰＢ１が取得される。
【００９８】
ステップＳ６２において、他のＰＣには公開されていないＰＣ−Ａの自己の秘密鍵ＫＳＡで復号しているので、ＰＣ−Ｂが信頼している相手であるＰＣ−Ａによって、鍵情報ＫＩＢに含まれる情報が復元されたことになる。
もし、鍵情報ＫＩＢがＰＣ−Ａとは異なる信頼されていないＰＣ（たとえばＰＣ−Ｃ）に送信されたとすれば、ＰＣ−ＣはＰＣ−Ａの秘密鍵ＫＳＡを所有していないので、鍵情報ＫＩＢに含まれるＰＣ−Ｂの公開鍵ＫＰＢ１は正しく復元できない。
したがって、秘密鍵ＫＳＡを持たないＰＣ−Ｃでは、鍵の復号処理が失敗する。
【００９９】
また、情報処理装置ＰＣ−Ｂが盗難され悪意を持って使用されたとしても、信頼された相手の所有する秘密鍵ＫＳＡがなければ、ＰＣ−Ｂだけでは鍵情報ＫＩＢやＩＢＢを復号することはできない。
ただし、第三者が他のＰＣ−Ｅで、ＰＣ−ＡとＰＣ−Ｂ間のデータを盗聴したとすると、情報処理装置ＰＣ−Ｂになりすますことができ、図７に示したデータ送信要求ＲＥＱに含まれる情報群（ＫＩＢ，ＩＢＢ，ＶＩＢ）と同じ情報をＰＣ−Ａへ送信することができる場合がある。
この場合、第三者によりＰＣ−Ａのデータを不正に取得することができてしまうが、後述するように、検証情報ＶＩＢに毎回異なる乱数を含めることで、第三者による以後の不正なリプレイ攻撃を防止することができる。また、鍵情報ＫＩＢ内の公開鍵ＫＰＢ１に対応する秘密鍵ＫＳＢ１は、ＰＣ−Ｂにしか存在しないため、ＰＣ−ＥがＫＰＢ１（ＤＴＳ）を入手しても復号することができない。
【０１００】
次に、ステップＳ６４において、受信した情報ＩＢＢを、ＰＣ−Ａの秘密鍵ＫＳＡで復号する。これにより、分割信頼情報ＤＩＢＢを取得する。このＩＢＢも、ＰＣ−Ａの秘密鍵ＫＳＡがなければ、復号できないので、ＰＣ−ＢからＰＣ−Ａへのデータの送信を盗難されたとしてもセキュリティ上安全である。
【０１０１】
ステップＳ６５において、もとの信頼情報ＴＩＢを復元する。
ここで、ステップＳ６４で取得した分割信頼情報ＤＩＢＢと、予め所有していた分割信頼情報ＤＩＢＡとを結合することにより、もとの信頼情報ＴＩＢを生成する。結合処理は、たとえば信頼情報ＴＩＢを分割したときの秘密分散処理と逆の処理をすることにより行えばよい。
【０１０２】
ステップＳ６６において、復元した信頼情報ＴＩＢと、受信した検証情報ＶＩＢとを比較する。比較の方法は、両情報のデータ形式により異なる。
たとえば、両情報とも同じ形式のデータである場合は、単純に一致するか否かをチェックする。一致すればＰＣ−Ｂの信頼性の検証が成功したことになり、一致しなければ検証が失敗したことになる。検証が成功した場合は、ステップＳ６７へ進みデータ送信処理を実行する。
【０１０３】
一方、検証が失敗したときは、図示していないが、送信要求ＲＥＱを送信してきた転送先ＰＣが不正アクセスをしようとしている場合もあるので、データ送信処理を行わずに処理を終了する。あるいは、ＰＣ−Ｂに対して検証が失敗したことや、データ転送ができない旨を通知してもよい。さらに、ＰＣ−Ａにおいて、ＰＣ−Ａの利用者に、転送先がＰＣ−Ｂらしいものからデータ転送要求があったが、ＰＣ−Ｂの検証が失敗した旨を通知してもよい。このとき、ＰＣ−Ａの利用者に、失敗の原因が何であるかを調査すべきことを報知してもよい。
【０１０４】
また、両情報ともハッシュ値である場合は、同様に両情報（ＴＩＢ，ＶＩＢ）が一致するか否かチェックする。以後の処理は、データの場合と同様である。
また、検証情報ＶＩＢがハッシュ値であり、信頼情報ＴＩＢがデータの場合は、信頼情報ＴＩＢのハッシュ値を算出し、両ハッシュ値が一致するか否かチェックすればよい。逆に、検証情報ＶＩＢがデータであり、信頼情報ＴＩＢがハッシュ値の場合は、検証情報のハッシュ値を算出し、両ハッシュ値が一致するか否かをチェックすればよい。
【０１０５】
また、信頼情報ＴＩＢがチェックリストである場合、検証情報ＶＩＢの中に含まれるデータのうち、チェックリストに示された項目のみチェックする。前記したように、たとえば検証情報ＶＩＢには１０個の状態情報が含まれているが、チェックリストには、そのうちの４つの項目の値しか含まれていない場合、チェックリストに含まれる４つの項目に対応する状態情報についてのみ、値が一致するか否かチェックする。
【０１０６】
ステップＳ６６で、ＴＩＢとＶＩＢの比較により、ＰＣ−Ｂの信頼性が確認されると、ステップＳ６７において、送信要求のあったデータＤＴＳが読み出され、送信データＤＴＳを暗号化する。
ここで、たとえば、鍵情報ＫＩＢにより取得したＰＣ−Ｂの公開鍵ＫＰＢ１を用いて、送信データＤＴＳを暗号化する。暗号化されたデータは、ＫＰＢ１（ＤＴＳ）と表記する。あるいは、図示しない共通鍵ＫＣＡを生成し、共通鍵ＫＣＡで、送信データＤＴＳを暗号化してもよい。この場合、暗号化されたデータは、ＫＣＡ（ＤＴＳ）と表記する。
【０１０７】
ステップＳ６８において、暗号化されたデータＫＰＢ１（ＤＴＳ）を、ＰＣ−Ｂへ送信する。
あるいは、共通鍵ＫＣＡで暗号化する場合は、共通鍵ＫＣＡと、暗号化されたデータＫＣＡ（ＤＴＳ）とを、ＰＣ−Ｂへ送信する。この場合、共通鍵ＫＣＡも、ＰＣ−Ｂの公開鍵ＫＰＢ１で暗号化することが好ましく、ＫＰＢ１（ＫＣＡ）を送信することが好ましい。
なお、この例では、共通鍵ＫＣＡは、転送元のＰＣ−Ａで生成されるが、ＰＣ−ＢでのＤＴＳの復号を制限するために、受信した検証情報ＶＩＢを用いて生成することも可能である。これは、ＰＣ−Ａ，ＰＣ−Ｂともに検証情報ＶＩＢから同じアルゴリズムを用いて鍵を生成することで実現する。共通鍵ＫＣＡは、ＰＣ−ＡからＰＣ−Ｂに送信されず、ＰＣ−Ｂは、ＤＴＳを復号する際に、検証情報ＶＩＢを生成し、それを元に共通鍵ＫＣＡを生成し、復号を行う。復号したデータＤＴＳは記憶部１１に保存しない。
また、ステップＳ６８で、ＰＣ−ＡからＰＣ−Ｂへ送信される情報として、ＰＣ−Ｂの状態が更新され、信頼情報ＴＩＢへの更新が必要であれば、ＰＣ−Ａにて新しい信頼情報ＴＩＢを作成し、暗号化されたデータ（ＫＰＢ１（ＤＴＳ））に加えて、更新された分割信頼情報ＤＩＢＢを含めてもよい。
【０１０８】
次に、ステップＳ６９においてＰＣ−Ａにおいて、受信した分割信頼情報ＤＩＢＢと、受信した鍵情報ＫＩＢと、生成した信頼情報ＴＩＢとを削除する。これは、ＰＣ−Ｂから毎回取得すべき情報であるためである。
その後、ステップＳ５６において、ＰＣ−Ｂにて、暗号化されたデータＫＰＢ１（ＤＴＳ）を受信する。
ステップＳ５７において、ＰＣ−Ｂのみが所有する自己の秘密鍵ＫＳＢ１を用いて、ＫＰＢ１（ＤＴＳ）を復号する。これにより、ＰＣ−Ｂが要求したデータＤＴＳが取得される。
ステップＳ５８において、取得したデータを受信データＤＴＲとして記憶部１１に保存する。
以上により、ＰＣ−Ｂからのデータ送信要求ＲＥＱに対応したデータ転送が完了する。
【０１０９】
なお、受信された情報に共通鍵ＫＣＡが含まれ、この共通鍵ＫＣＡを用いてデータＤＴＳが暗号化されている場合は、受信したＫＣＡ（ＤＴＳ）を、受信した共通鍵ＫＣＡを用いて復号する。
また、共通鍵ＫＣＡそのものがＰＣ−Ｂの公開鍵ＫＰＢ１で暗号化されている場合は、受信したＫＰＢ１（ＫＣＡ）を、ＰＣ−Ｂの秘密鍵ＫＳＢ１で復号した後、取得した共通鍵ＫＣＡを用いて受信したデータ（ＫＣＡ（ＤＴＳ））を復号する。
【０１１０】
さらに、ＰＣ−Ａにおいて共通鍵ＫＣＡが検証情報ＶＩＢで生成された場合は、共通鍵ＫＣＡは送信されない。ＰＣ−Ｂの機器状態収集部２によってＰＣ−Ｂの状態情報を収集して、信頼情報生成部３によって再度検証情報ＶＩＢを生成した後、再度生成した検証情報ＶＩＢを用いて、ＰＣ−Ｂ側で共通鍵ＫＣＡを生成する。そして、この生成した共通鍵ＫＣＡを用いて、データＫＣＡ（ＤＴＳ）の復号を行う。ＤＴＲとして記憶部１１に保存しない。これは、ＰＣ−Ｂが検証時と同じ状態でなければ、ＤＴＳの復号が行えないことを示している。これにより、ＤＴＲとして記憶部１１に保存されることもなく、不正を行える状態での復号もできないため、ＰＣ−Ｂへのコピー後もデータが不正に流出することがない。
【０１１１】
以上のように、実際にデータ転送をする前に、データ送信要求をしてきた転送先のＰＣ（ＰＣ−Ｂ）の信頼性を検証する処理を転送元のＰＣ（ＰＣ−Ａ）でしているので、重要なデータが信頼のない転送先ＰＣ−Ｂへ不正に流出することを防止できる。しかも、信頼性の検証処理は転送元のＰＣ（ＰＣ−Ａ）で行うので、従来のように信頼できる第三者の所有する管理装置（サーバ）を利用する必要がなく、簡易に信頼性が確認できる。
【０１１２】
また、第三者が他の情報処理装置（ＰＣ−Ｅ）によって送信先のＰＣ（ＰＣ−Ｂ）になりすました場合、ＰＣ−Ｅで、正当な３つの情報群（ＫＩＢ，ＩＢＢ，ＶＩＢ）を生成して転送元ＰＣ−Ａへ送信すれば、データを不正に取得することが可能となる場合がある。このような不正アクセスに対応するために、検証情報ＶＩＢと信頼情報ＴＩＢに乱数を含め、この乱数を用いてＰＣ−Ａで検証処理を行うようにしてもよい。毎回異なる乱数を用いるものとすれば、同一検証情報を用いた次回以降の不正アクセスによるデータの流出を防止できる。
【０１１３】
乱数はそのままテキストデータとして含めてもよいが、ハッシュ関数で乱数のハッシュ値を算出し、ハッシュ値として検証情報ＶＩＢに含めてもよい。
そして、たとえば定期的に２つの情報処理装置間で持つ分割信頼情報（ＤＩＢＡ，ＤＩＢＢ）を更新するようにすれば、単に固定された同一の検証情報（ＶＩＢ）を用いてリプレイ攻撃する第三者の情報処理装置（ＰＣ−Ｅ）によってその後不正アクセスがされたとしてもさらなるデータの流出を、防止することができる。
【０１１４】
ところで、検証情報ＶＩＢは、データ転送要求をする際にステップＳ５４でその都度生成される情報であるので、交換処理の時に互いの装置（ＰＣ−Ａ，ＰＣ−Ｂ）に保存した信頼情報ＴＩＢと異なる場合がある。
たとえば、ＰＣ−Ｂにおいて、信頼情報ＴＩＢを生成し図３の交換処理を実行した後、収集対象となるソフトウェアのバージョンが変更されたり、収集対象となるハードウェアデバイスが変更されたりした場合、信頼情報ＴＩＢと一致しない検証情報ＶＩＢが生成される可能性がある。
【０１１５】
そこで、検証情報を生成するために収集する状態情報としては、変更されることのない情報を用いることが好ましい。たとえば、変更されることのない情報としては、生体認証状況，デバイスの接続状況，ウイルスの対策の有効無効情報などがある。
一方、変更されることのある情報としては、ＯＳのアップデート状況情報，ウイルス定義ファイルのバージョン情報など、ソフトウェアのアップデートにより変化する情報がある。
【０１１６】
変更されることのある情報を含めて検証情報ＶＩＢを生成する場合は、転送先ＰＣ−Ｂが信頼性のあるＰＣであったとしても、ステップＳ６６の比較処理が失敗することがある。この場合、次のような処理を行うことが考えられる。
【０１１７】
まず、送信要求されたデータの重要度に応じて、ステップＳ６６の検証の結果を判断してもよい。たとえば、ＰＣ−Ａで予め保存されているデータに重要度を付与しておき、あまり重要でないデータの送信要求がされた場合、変更されることのある情報についての検証結果は無視し、変更されることのない情報のみについての検証結果を用いてもよい。
また、ステップＳ６６の検証処理が失敗した場合、失敗したことを転送元ＰＣ−Ａの利用者に通知してもよい。そして、ＰＣ−Ａの利用者が失敗した原因を検討し、特に相手先のＰＣ−Ｂが問題ないと判断した場合は、許可する旨の入力操作をしてもらい、データ転送を許可するようにしてもよい。
【０１１８】
また、上記したように変更されることがある情報が、収集される状態情報に含まれるため、検証情報が変化する可能性が高い場合、後述するように、ＰＣ−Ａ側において、分割して保存する信頼情報を、受信した検証情報ＶＩＢを用いて更新してもよい。
また、上記したように一度ステップＳ６６の検証処理で失敗したが、ＰＣ−Ａの利用者がデータ転送を許可した場合にも、保存された信頼情報を更新するようにすることが好ましい。この更新により、信頼性のあるＰＣから次回のデータ転送要求がされたときに、ステップＳ６６の検証が成功するようにできる。
【０１１９】
図８に、信頼情報ＴＩＢの保存情報（ＤＩＢＡ，ＤＩＢＢ）を更新する処理の一実施例のフロー説明図を示す。
図８において、ステップＳ５１〜Ｓ５５，ステップＳ６１からＳ６６までの処理は、図７と同じである。ただし、ステップＳ６６で、ＴＩＢとＶＩＢが不一致であったとすることと、以後の処理（Ｓ７１〜Ｓ７４）が、図７と異なる。
ステップＳ６６で、ＴＩＢとＶＩＢが不一致であり、検証が失敗したとする。この場合、検証が失敗したことを画面表示等の方法で、ＰＣ−Ａの利用者に通知する。その後、ＰＣ−Ａの利用者が、信頼情報の更新要求を意図する入力をした場合に、ステップＳ７１以後の処理を実行する。
【０１２０】
たとえば、ＴＩＢとＶＩＢの不一致の原因が、信頼できるＰＣ−Ｂのハードウェアデバイスのバージョンアップや、ＯＳのアップデートによるものであることを、ＰＣ−Ａの利用者が確認した場合は、正当な理由で不一致が発生したと判断できる。
このような場合に、ＰＣ−Ａの利用者の自らの入力操作によってステップＳ７１の更新処理へ進む。
【０１２１】
ステップＳ７１において、受信した検証情報ＶＩＢを用いて、新信頼情報ＴＩＢ−Ｓを生成する。たとえば、ＴＩＢとＶＩＢとがどちらもデータの場合は、新しい信頼情報ＴＩＢ−Ｓとして、受信した検証情報ＶＩＢをそのまま採用する。
ステップＳ７２において、新信頼情報ＴＩＢ−Ｓを分割する。たとえば、２つの新しい分割信頼情報ＤＩＢＡ−ＳとＤＩＢＢ−Ｓに分割する。
ステップＳ７３において、一方の新分割信頼情報ＤＩＢＢ−ＳはＰＣ−Ｂへ送信し、他方の情報ＤＩＢＡ−ＳはＰＣ−Ａの記憶部１１に保存する。すなわち、ＰＣ−Ａに保存されていたＤＩＢＡは削除し、この後、新しい信頼情報の一部分ＤＩＢＡとして、ＤＩＢＡ−Ｓを利用する。
ＰＣ−Ｂへ送信されるＤＩＢＢ−Ｓは、ＰＣ−Ａの公開鍵ＫＰＡで暗号化し、さらに、ＰＣ−Ｂの公開鍵ＫＰＢを用いて暗号化することが好ましい。
【０１２２】
ステップＳ７４において、ＰＣ−Ｂは、ＰＣ−Ａから送信されてきた新しい分散信頼情報ＤＩＢＢ−Ｓを受信し、秘密鍵ＫＳＢで復号し、記憶部１１に保存する。
ＰＣ−Ｂでは、以前に保存されていたＤＩＢＢに代わり、今後信頼情報ＴＩＢの一部分ＤＩＢＢとして、ＤＩＢＢ−Ｓを利用する。
このように、２つのＰＣに保存される分割信頼情報を更新することにより、１回は検証処理が失敗したが、信頼できる転送先ＰＣについてのその後の検証処理を成功させることができるようになる。
【０１２３】
＜実施例２＞
情報処理装置に、ＴＰＭ（Trusted Platform Module）を備えている場合は、秘密鍵の管理などに関して安全性をより向上させることができるので、データ転送時の不正アクセスをより効果的に防止できる。
ＴＰＭは、物理的な破壊をすることなしには、第三者がその内容を改変することができないデバイスであり、その内部で、ＴＰＭを備えたＰＣでしか使用できない秘密鍵を作成して保存することができるデバイスである。
また、ＴＰＭの内部には、ＴＰＭを備えたＰＣを構成するハードウェアデバイスの起動状態を示す情報を格納する領域（ＰＣＲ：Platform Configuration Register）を備えている。
【０１２４】
たとえば、このＰＣＲ領域には、起動時に実行される一連のソフトウェアのハッシュ値が、起動順にＢＩＯＳから与えられ、順次そのハッシュ値が格納される。
したがって、ＰＣＲに格納されたハッシュ値を読み出せば、情報処理装置ＰＣを構成するハードウェアデバイスが、どのような順序で起動されたかがわかる。
そこで、このＰＣＲに格納された情報（ハッシュ値）を、ＰＣの検証情報ＶＩＢおよび信頼情報ＴＩＢとして利用する。
【０１２５】
この場合、まず図４の交換処理のステップＳ１２において、ＰＣＲの情報を読み出し、これを状態情報とみなして、次のステップＳ１３で信頼情報ＴＩＢを生成する。
また、図７のステップＳ５４においても、ＰＣＲの情報を読み出し、これをもとに検証情報ＶＩＢを生成する。
【０１２６】
＜実施例３＞
また、ＴＰＭでは、どのようにハッシュをとったかをログに残すことが可能であり、このログを検証情報および信頼情報に利用してもよい。この場合、ＰＣＲで、ログの改ざん検知をすることができる。
なお、ＰＣＲ自体の改ざん検知も可能であり、ＡＩＫと呼ばれるＴＰＭ内部に保存された秘密鍵ＫＳＡＩＫＢで、ＰＣＲの暗号化（署名）が可能であり、対応するＡＩＫの公開鍵ＫＰＡＩＫＢを用いて、復号をすることにより、ＰＣＲの値を取得でき、ＰＣＲによりログの改ざん検知をすることができる。ＡＩＫの秘密鍵はＴＰＭ内部にのみ存在し、暗号化もＴＰＭ内部で行われるため、ＴＰＭ内部のＰＣＲ値であることが保証される。
【０１２７】
この場合、検証に用いるＡＩＫの公開鍵ＫＰＡＩＫＢの信頼性を向上させるために、この公開鍵ＫＰＡＩＫＢをあらかじめ信頼情報ＴＩＢの中に含めることが好ましい。
公開鍵ＫＰＡＩＫＢを情報処理装置ＰＣ−Ａに保存するよりも、信頼情報ＴＩＢの中に含めた方が、公開鍵ＫＰＡＩＫＢを不正に入れ替えられる危険が少なくなるので、検証情報ＶＩＢの信頼性も高めることができる。不正なＡＩＫを作成し、公開鍵ＫＰＡＩＫＢを入れ替えられると、不正な検証情報の作成が可能となってしまう。
【０１２８】
＜実施例４＞
また、ＰＣＲを利用して、ＴＰＭ内に保存される秘密鍵の使用を制限することもできる。
図９に、ＰＣＲを利用して秘密鍵の使用を制限するＴＰＭの動作の説明図を示す。
まず、装置ＰＣ−Ａにおいて、ＤＴＳを暗号化するための秘密鍵、公開鍵を生成するときに、「ＰＣＲの条件」を設定する。
「ＰＣＲの条件」とは、どのＰＣＲがどういった値であるかというものである。設定されたＰＣＲの条件は、公開鍵ＫＰＡ１、秘密鍵ＫＳＡ１とともに鍵情報ＫＩＢとしてＰＣ−ＡからＰＣ−Ｂへ送信され、ＰＣ−Ｂの記憶部（ハードディスクＨＤＤ）に保存される。
ＰＣ−ＢのＴＰＭでしか生成された秘密鍵ＫＳＡ１が使用できないようにするために、ＰＣ−Ａで秘密鍵ＫＳＡ１を、ＰＣ−ＢのＴＰＭの秘密鍵ＫＳＢ１で復号できるように、ＰＣ−Ｂの公開鍵ＫＰＢ１で暗号化しておく。そのため、鍵情報ＫＩＢの秘密鍵ＫＳＡ１は、公開鍵ＫＰＢ１で暗号化されて、ＰＣ−ＢのＨＤＤに保存されている。
【０１２９】
ＰＣ−ＢのＴＰＭに秘密鍵ＫＳＡ１をロードするときには、秘密鍵ＫＳＢ１をあらかじめＴＰＭにロードしておく。
秘密鍵ＫＳＡ１をＴＰＭにロードするときに、「ＰＣＲの条件」がＰＣ−Ａでの検証時と一致すれば、秘密鍵ＫＳＡ１がＴＰＭにロードされ、ＫＰＡ１（ＤＴＳ）を復号することができ、ＤＴＳが使用可能となる。
ＰＣＲは、情報処理装置が起動するときに、ＢＩＯＳから装置の状態を示すように計測された値を保持している。ＢＩＯＳから次に実行されるソフトウェアを順に計測することで、ＰＣＲは装置の状態を正確に示している。
このように、ＰＣＲの条件を設定して、ＤＴＳの復号に使用する鍵の使用を制限しているので、秘密鍵ＫＳＡ１の使用が制限されることになり、転送先ＰＣ−Ｂで送信データを一旦取得したとしても、その後のデータの利用を制限できる。
【０１３０】
＜実施例５＞
図６および図７に示した実施例では、転送先のＰＣ（ＰＣ−Ｂ）の信頼性を、転送元のＰＣ（ＰＣ−Ａ）で検証した後、要求されたデータをＰＣ−Ｂへ送信する場合を説明した。
ここでは、逆に、転送先のＰＣ（ＰＣ−Ｂ）で、転送元のＰＣ（ＰＣ−Ａ）の信頼性を検証した後、転送元のＰＣ（ＰＣ−Ａ）から送信されてきたデータを保存等する実施例を説明する。
この場合、転送先ＰＣ−Ｂからデータ送信要求ＲＥＱは送信されない。転送先ＰＣ−Ａから自発的に、検証に必要な情報群とともにデータを転送先ＰＣ−Ｂへ送信する。
【０１３１】
図１０に、転送元から自発的にデータ転送を行う場合のフローチャートを示す。
ここでは、転送元ＰＣ−Ａから転送先ＰＣ−Ｂへ、データＤＴＳを送信する場合を説明する。
まず、前提として、転送元ＰＣ−Ａと転送先ＰＣ−Ｂの間で、図４のような交換処理が行われ、それぞれ図１０に示すような所有情報を保存しているものとする。
転送先ＰＣ−Ｂで、転送元ＰＣ−Ａの信頼性を確認するので、生成される信頼情報はＰＣ−Ａの信頼情報ＴＩＡであり、これを２分割した情報（ＤＩＡＡ，ＤＩＡＢ）が、ＰＣ−ＡとＰＣ−Ｂにそれぞれ保存されているものとする。
【０１３２】
ステップＳ１０１において、転送元ＰＣ−Ａの機器状態収集部２が、ＰＣ−Ａの状態情報を収集し、この状態情報をもとに信頼情報生成部３がＰＣ−Ａの検証情報ＶＩＡを生成する。
ステップＳ１０２において、ＰＣ−Ａの鍵生成部１が、共通鍵ＫＡＯを生成する。
ステップＳ１０３において、送信データＤＴＳを、共通鍵ＫＡＯを用いて暗号化する。暗号化データＫＡＯ（ＤＴＳ）が作成される。
ステップＳ１０４において、鍵情報ＫＩＡを生成する。鍵情報ＫＩＡは、共通鍵ＫＡＯを、ＰＣ−Ｂの公開鍵ＫＰＢで暗号化したものである。
ステップＳ１０５において、保存されていたＰＣ−Ａの分割信頼情報ＤＩＡＡを、ＰＣ−Ｂの公開鍵ＫＰＢで暗号化し、ＩＡＡ＝ＫＰＢ（ＤＩＡＡ）を生成する。
【０１３３】
ステップＳ１０６において、送信データおよび生成された情報群を、ＰＣ−Ｂへ送信する。
すなわち、通信部６が、暗号化されたデータＫＡＯ（ＤＴＳ），鍵情報ＫＩＡ＝ＫＰＢ（ＫＡＯ），ＩＡＡ＝ＫＰＢ（ＤＩＡＡ），検証情報ＶＩＡを送信する。
ここで、検証情報ＶＩＡも、ＰＣ−Ｂの公開鍵ＫＰＢで暗号化して、暗号化した検証情報（ＫＰＢ（ＶＩＡ））を送信してもよい。
【０１３４】
ステップＳ１１１において、ＰＣ−Ｂは、送信されてきた４つの情報（ＫＡＯ（ＤＴＳ），鍵情報ＫＩＡ，ＩＡＡ，ＶＩＡ）を受信する。
ステップＳ１１２において、受信したＫＡＯ（ＤＴＳ）と、鍵情報ＫＩＡを、記憶部１１に保存する。
ステップＳ１１３において、ＰＣ−Ｂの秘密鍵ＫＳＢを用いてＩＡＡを復号する。これにより、ＰＣ−Ａの分散信頼情報ＤＩＡＡを取得する。
ステップＳ１１４において、受信により取得したＤＩＡＡと、予め保存されていたＤＩＡＢとを結合し、もとの信頼情報ＴＩＡを復元する。
【０１３５】
ステップＳ１１５において、受信したＩＡＡ，生成したＤＩＡＡを削除する。
ステップＳ１１６において、復元した信頼情報ＴＩＡと、受信した検証情報ＶＩＡとを比較する。この比較処理は、図７のステップＳ６６と同様にして行う。
ＴＩＡとＶＩＡとが一致した場合、転送元ＰＣ−Ａの信頼性が確認されたことになり、ＰＣ−Ｂは送信されてきたデータＤＴＳを保存してもよいと判断する。
逆に、不一致の場合、ＰＣ−Ａの検証が失敗したことになるので、データは受信してはならないと判断し、保存していたＫＡＯ（ＤＴＳ）とＫＩＡを削除する（Ｓ１２０）。
一致していた場合、ステップＳ１１７において、鍵情報ＫＩＡを、ＰＣ−Ｂの秘密鍵ＫＳＢで復号する。これにより、ＫＩＡから、共通鍵ＫＡＯを取得する。
【０１３６】
ステップＳ１１８において、取得した共通鍵ＫＡＯを用いて、受信したＫＡＯ（ＤＴＳ）を復号する。これにより、送信されてきたデータＤＴＳを取得する。
ステップＳ１１９において、取得したデータＤＴＳを、受信データＤＴＲとして保存する。
以上のように、転送先ＰＣ−Ｂでは、転送元ＰＣ−Ａの信頼性の確認が正常にできた場合にのみ、送信されてきたデータを保存する。
また、信頼性の確認できなかったＰＣからの送信データを保存しないようにすることで、不当に送信されてきた悪意のあるデータ（たとえばウイルス）を削除することができる。
【０１３７】
＜実施例６＞
また、他の実施例として、図７および図１０の処理を結合して、一連の転送処理中に、転送元ＰＣ−Ａと転送先ＰＣ−Ｂの双方で、互いに相手側の信頼性を検証するようにしてもよい。
たとえば、図７のステップＳ６８において、暗号化データのみをＰＣ−Ｂへ送信するのではなく、このステップＳ６８の前に、図１０のステップＳ１０１〜Ｓ１０５を実行し、ＰＣ−Ａの信頼性を検証してもらうための情報群（ＫＩＡ，ＶＩＡ，ＩＡＡ）を作成し、暗号化データとともに、これらの情報群を送信する。そして、転送先のＰＣ−Ｂでは、データＤＴＳを復元する前に、ステップＳ１１１からＳ１１６を実行して、ＰＣ−Ａの信頼性を確認する。ＰＣ−Ａの信頼性が確認できた場合に、受信されたデータを復元して保存するようにする。
このように、転送元ＰＣ−Ａと転送先ＰＣ−Ｂで相互に信頼性を検証すれば、セキュリティをより高めることができる。
【図面の簡単な説明】
【０１３８】
【図１】この発明の情報処理装置の一実施例の構成ブロック図である。
【図２】この発明の情報処理装置で利用する情報の一実施例の説明図である。
【図３】この発明の信頼情報等の交換処理の一実施例の説明図である。
【図４】この発明の信頼情報等の交換処理の一実施例のフロー説明図である。
【図５】この発明の信頼情報等の交換処理の一実施例のフロー説明図である。
【図６】この発明のデータ転送処理の一実施例の説明図である。
【図７】この発明のデータ転送処理の一実施例のフロー説明図である。
【図８】この発明の信頼情報更新処理の一実施例のフロー説明図である。
【図９】この発明のＰＣＲを利用して鍵の利用を制限するＴＰＭの処理の説明図である。
【図１０】この発明のデータ転送処理の一実施例のフロー説明図である。
【符号の説明】
【０１３９】
１  鍵生成部
２  機器状態収集部
３  信頼情報生成部
４  信頼情報分割部
５  信頼情報復元部
６  通信部
７  復号部
８  暗号部
９  機器検証部
１０  転送先選択部
１１  記憶部
【図１】
2008226146.tif 000003
【図２】
2008226146.tif 000004
【図３】
2008226146.tif 000005
【図４】
2008226146.tif 000006
【図５】
2008226146.tif 000007
【図６】
2008226146.tif 000008
【図７】
2008226146.tif 000009
【図８】
2008226146.tif 000010
【図９】
2008226146.tif 000011
【図１０】
2008226146.tif 000012