(57)【要約】【課題】ＷＥＢサービスのユーザ認証に用いる秘密鍵を、ユーザ端末間で安全に複製する。【解決手段】不正なユーザ端末との秘密鍵の複製を防止するために、複製可能なユーザ端末を、最初に登録するユーザ端末である一次ユーザ端末（１００−１）と直接接続した状態で登録した二次ユーザ端末（１００−２）に限定する。さらに、紛失した可能性あるユーザ端末や、安全性レベルが低いユーザ端末、ＷＥＢサービスのポリシに合わないユーザ端末との複製を防止するために、複製に先立って、端末が利用停止になっていないかの確認（符号３ａ）と、複製先のユーザ端末の安全性レベルの確認（符号３ｂ）と、ＷＥＢサービスの認証ポリシとの照合（符号４ａ）を行う。【選択図】図１
2018037988.tif 000002
【特許請求の範囲】
【請求項１】
サービスを利用する際の認証に用いる秘密鍵であるサービス秘密鍵を保持するユーザ端末と、前記ユーザ端末に係る情報を保有する端末管理サーバとが、通信ネットワークを介して接続され、２つの前記ユーザ端末の間で前記サービス秘密鍵の複製を行う秘密鍵同期システムであって、
前記ユーザ端末は、
前記ユーザ端末を認証するための一次署名関係情報の秘密鍵と公開鍵のペアを生成し、自身のユーザ端末識別子と、前記一次署名関係情報の公開鍵と、前記一次署名関係情報の秘密鍵を用いた署名と、を含んだ前記一次署名関係情報を生成し、前記一次署名関係情報を前記端末管理サーバに送信して、自身を一次ユーザ端末とする、端末初期登録部と、
自身が前記一次ユーザ端末でない場合に、前記ユーザ端末を認証するための二次署名関係情報の秘密鍵と公開鍵のペアを生成し、自身のユーザ端末識別子と、前記二次署名関係情報の公開鍵と、前記二次署名関係情報の秘密鍵を用いた署名と、を含んだ前記二次署名関係情報を生成し、前記二次署名関係情報を前記一次ユーザ端末に、前記通信ネットワークを介さずに直接通信により送信して、自身を二次ユーザ端末とする、端末登録要求部と、
自身が前記一次ユーザ端末である場合に、前記二次ユーザ端末から前記二次署名関係情報を受信し、前記二次署名関係情報の署名の検証に成功した後に、署名の検証に成功した前記二次署名関係情報のユーザ端末識別子と、該ユーザ端末識別子を含んだ前記二次署名関係情報の公開鍵と、前記一次署名関係情報のユーザ端末識別子と、前記一次署名関係情報の公開鍵とを含むデータに、前記一次署名関係情報の秘密鍵で生成した署名を付与して、新たな一次署名関係情報を示す新規一次署名関係情報を生成し、前記新規一次署名関係情報を含んだ情報を前記端末管理サーバに送信する端末登録応答部と、
前記複製を行う前記一次ユーザ端末又は前記二次ユーザ端末である２つのユーザ端末の間で、前記複製に用いる暗号化用公開鍵と、前記複製に用いる署名用公開鍵と、前記一次署名関係情報の秘密鍵又は前記二次署名関係情報の秘密鍵を用いて生成した署名とを交換し合うペアリングを実行するペアリング制御部と、
前記ペアリングで交換し合った前記暗号化用公開鍵と前記署名用公開鍵とを用いて、前記サービス秘密鍵の前記複製を実行する同期制御部とを備え、
前記端末管理サーバは、
前記通信ネットワークを介して、前記一次ユーザ端末から前記一次署名関係情報を受信して記憶し、前記新規一次署名関係情報を受信した場合には、前記一次署名関係情報の公開鍵を用いた、前記新規一次署名関係情報の署名の検証成功の後に、前記一次署名関係情報にかえて前記新規一次署名関係情報を記憶する署名関係情報管理部を備える
ことを特徴とする秘密鍵同期システム。
【請求項２】
前記端末登録応答部は、前記新規一次署名関係情報の署名を生成する前に、ユーザ認証を行い、
前記ペアリング制御部は、前記ペアリングの前に、ユーザ認証を行う
ことを特徴とする請求項１に記載の秘密鍵同期システム。
【請求項３】
前記端末管理サーバは、前記ユーザ端末ごとに当該ユーザ端末が利用停止状態であるか否かを記憶し、
前記ペアリング制御部は、前記ペアリングの前に、自身が前記利用停止状態であるか否かを、前記端末管理サーバに問合せを行い、前記利用停止状態であるなら前記ペアリングを中止し、
前記同期制御部は、前記複製の前に、自身が前記利用停止状態であるか否かを、前記端末管理サーバに問合せを行い、前記利用停止状態であるなら前記複製を中止する
ことを特徴とする請求項１に記載の秘密鍵同期システム。
【請求項４】
前記秘密鍵同期システムは、前記ユーザ端末の、鍵の保護能力、ユーザ認証方法、ユーザ認証の強度、セキュア領域の有無、のうちの少なくとも１つを含み安全性のレベルを示す端末能力情報を記憶する端末検証サーバを、さらに備えており、
前記ペアリング制御部は、前記ペアリングの前に、ペアリング対象となるユーザ端末の前記端末能力情報を前記端末検証サーバから入手し、前記端末能力情報が示す前記ユーザ端末の前記安全性のレベルが所定の基準を満たさない場合には、前記ペアリングを中止する
ことを特徴とする請求項１に記載の秘密鍵同期システム。
【請求項５】
前記秘密鍵同期システムは、前記ユーザ端末の、鍵の保護能力、ユーザ認証方法、ユーザ認証の強度、セキュア領域の有無、のうちの少なくとも１つを含み安全性のレベルを示す端末能力情報を記憶する端末検証サーバを、さらに備えており、
前記サービス秘密鍵は、ＷＥＢサービスのユーザ認証に用いる秘密鍵であり、
前記ＷＥＢサービスは、前記ＷＥＢサービスのユーザ認証に用いる秘密鍵の複製の可否、前記ユーザ端末の鍵の保護能力、前記ユーザ端末のユーザ認証方法、前記ユーザ端末のユーザ認証の強度、前記ユーザ端末のセキュア領域の有無、のうちの少なくとも１つを規定する認証ポリシを記憶しており、
前記同期制御部は、前記ＷＥＢサービスのユーザ認証に用いる秘密鍵の複製の前に、前記複製をする先のユーザ端末の前記安全性のレベルが、前記ＷＥＢサービスの前記認証ポリシにある安全性のレベルを満たしていない場合には、前記複製を中止する
ことを特徴とする請求項１に記載の秘密鍵同期システム。
【請求項６】
サービスを利用する際の認証に用いる秘密鍵であるサービス秘密鍵を保持するユーザ端末と、前記ユーザ端末に係る情報を保有する端末管理サーバとが、通信ネットワークを介して接続され、２つの前記ユーザ端末の間で前記サービス秘密鍵の複製を行う秘密鍵同期システムの前記ユーザ端末であって、
前記ユーザ端末を認証するための一次署名関係情報の秘密鍵と公開鍵のペアを生成し、自身のユーザ端末識別子と、前記一次署名関係情報の公開鍵と、前記一次署名関係情報の秘密鍵を用いた署名と、を含んだ前記一次署名関係情報を生成し、前記一次署名関係情報を前記端末管理サーバに送信して、自身を一次ユーザ端末とする、端末初期登録部と、
自身が前記一次ユーザ端末でない場合に、前記ユーザ端末を認証するための二次署名関係情報の秘密鍵と公開鍵のペアを生成し、自身のユーザ端末識別子と、前記二次署名関係情報の公開鍵と、前記二次署名関係情報の秘密鍵を用いた署名と、を含んだ前記二次署名関係情報を生成し、前記二次署名関係情報を前記一次ユーザ端末に、前記通信ネットワークを介さずに直接通信により送信して、自身を二次ユーザ端末とする、端末登録要求部と、
自身が前記一次ユーザ端末である場合に、前記二次ユーザ端末から前記二次署名関係情報を受信し、前記二次署名関係情報の署名の検証に成功した後に、署名の検証に成功した前記二次署名関係情報のユーザ端末識別子と、該ユーザ端末識別子を含んだ前記二次署名関係情報の公開鍵と、前記一次署名関係情報のユーザ端末識別子と、前記一次署名関係情報の公開鍵とを含むデータに、前記一次署名関係情報の秘密鍵で生成した署名を付与して、新たな一次署名関係情報を示す新規一次署名関係情報を生成し、前記新規一次署名関係情報を含んだ情報を前記端末管理サーバに送信する端末登録応答部と、
前記複製を行う前記一次ユーザ端末又は前記二次ユーザ端末である２つのユーザ端末の間で、前記複製に用いる暗号化用公開鍵と、前記複製に用いる署名用公開鍵と、前記一次署名関係情報の秘密鍵又は前記二次署名関係情報の秘密鍵を用いて生成した署名とを交換し合うペアリングを実行するペアリング制御部と、
前記ペアリングで交換し合った前記暗号化用公開鍵と前記署名用公開鍵とを用いて、前記サービス秘密鍵の前記複製を実行する同期制御部とを備える
ことを特徴とするユーザ端末。
【請求項７】
サービスを利用する際の認証に用いる秘密鍵であるサービス秘密鍵を保持するユーザ端末と、前記ユーザ端末に係る情報を保有する端末管理サーバとが、通信ネットワークを介して接続され、２つの前記ユーザ端末の間で前記サービス秘密鍵の複製を行う秘密鍵同期システムの秘密鍵同期方法であって、
前記ユーザ端末は、
前記ユーザ端末を認証するための一次署名関係情報の秘密鍵と公開鍵のペアを生成し、自身のユーザ端末識別子と、前記一次署名関係情報の公開鍵と、前記一次署名関係情報の秘密鍵を用いた署名と、を含んだ前記一次署名関係情報を生成し、前記一次署名関係情報を前記端末管理サーバに送信して、自身を一次ユーザ端末とするステップと、
自身が前記一次ユーザ端末でない場合に、前記ユーザ端末を認証するための二次署名関係情報の秘密鍵と公開鍵のペアを生成し、自身のユーザ端末識別子と、前記二次署名関係情報の公開鍵と、前記二次署名関係情報の秘密鍵を用いた署名と、を含んだ前記二次署名関係情報を生成し、前記二次署名関係情報を前記一次ユーザ端末に、前記通信ネットワークを介さずに直接通信により送信して、自身を二次ユーザ端末とするステップと、
自身が前記一次ユーザ端末である場合に、前記二次ユーザ端末から前記二次署名関係情報を受信し、前記二次署名関係情報の署名の検証に成功した後に、署名の検証に成功した前記二次署名関係情報のユーザ端末識別子と、該ユーザ端末識別子を含んだ前記二次署名関係情報の公開鍵と、前記一次署名関係情報のユーザ端末識別子と、前記一次署名関係情報の公開鍵とを含むデータに、前記一次署名関係情報の秘密鍵で生成した署名を付与して、新たな一次署名関係情報を示す新規一次署名関係情報を生成し、前記新規一次署名関係情報を含んだ情報を前記端末管理サーバに送信するステップと、
前記複製を行う前記一次ユーザ端末又は前記二次ユーザ端末である２つのユーザ端末の間で、前記複製に用いる暗号化用公開鍵と、前記複製に用いる署名用公開鍵と、前記一次署名関係情報の秘密鍵又は前記二次署名関係情報の秘密鍵を用いて生成した署名とを交換し合うペアリングを実行するステップと、
前記ペアリングで交換し合った前記暗号化用公開鍵と前記署名用公開鍵とを用いて、前記サービス秘密鍵の前記複製を実行するステップとを実行し、
前記端末管理サーバは、
前記通信ネットワークを介して、前記一次ユーザ端末から前記一次署名関係情報を受信して記憶し、前記新規一次署名関係情報を受信した場合には、前記一次署名関係情報の公開鍵を用いた、前記新規一次署名関係情報の署名の検証成功の後に、前記一次署名関係情報にかえて前記新規一次署名関係情報を記憶するステップを実行する
ことを特徴とする秘密鍵同期方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、公開鍵暗号を用いてユーザ認証するＷＥＢサービスを利用する端末の間でのユーザ認証の秘密鍵同期システム、ユーザ端末及び秘密鍵同期方法に関する。
【背景技術】
【０００２】
インターネットの利用者は、パソコンやスマートフォン、タブレット端末等の複数の端末を使って、オンラインバンキングやネットショッピング等の各種ＷＥＢサービスを利用している。ＷＥＢサービスを利用するには、ユーザ認証が必要である。ユーザ認証の方法としては、ユーザＩＤ（Identifier、識別子）とパスワードを用いるのが一般的である。
ブラウザにはユーザＩＤとパスワードの自動入力機能があるが、複数の端末それぞれにユーザＩＤとパスワードを設定する必要があり、面倒であった。この問題を解消するために、ＷＥＢサービスと該ＷＥＢサービスのユーザＩＤとパスワードとの組であるアカウントを、端末間で同期するパスワード同期サービスが普及している。
【０００３】
図２４は、異なる端末上のブラウザ間のパスワードを同期するサービスの概要を示す図である。
パスワード同期サービスは、ユーザが保有する端末上のブラウザ間で、ＷＥＢサービスのユーザＩＤとパスワードとを、パスワード同期サーバを介して、自動共有するサービスである。パスワード同期サービス自体にもユーザＩＤとパスワードがあり、このユーザＩＤとパスワードを用いて、ブラウザはパスワード同期サーバにアクセスする。ブラウザは、パスワード同期サーバに自身が記憶していないアカウントがあれば、それをダウンロードし、逆にパスワード同期サーバにないアカウントがあれば、それをアップロードする。こうすることで、ユーザが保有する全ての端末で、ＷＥＢサービスのユーザＩＤとパスワードとが共有され、どの端末からでもＷＥＢサービスのユーザＩＤとパスワードとが自動入力されるようになる。
【０００４】
しかしながら、パスワード同期サービスには、パスワード同期サーバが攻撃され、アカウントが盗まれてしまうという問題がある。攻撃されると、パスワード同期サービスを利用している全てのユーザの全てのＷＥＢサービスのユーザＩＤとパスワードとが盗まれて、悪用されてしまう。これは、パスワード同期サーバ上に、ユーザＩＤとパスワードとが保管されていることに起因している。
この問題を解決する一つの技術として、非特許文献１に記載のＦＩＤＯ（Fast IDentity Online）という、公開鍵暗号を用いたＷＥＢサービスのユーザ認証技術がある。
【０００５】
図２５は、公開鍵暗号を用いたユーザ認証技術であるＦＩＤＯの概要を示す図である。
図２５のＷＥＢサービスＢに注目して説明する。ＦＩＤＯにおけるユーザ認証は、ＷＥＢサービスＢが直接にユーザＸを認証するものではなく、端末Ｐ上にある認証モジュールを介した認証である。即ち、認証モジュールがユーザＸを認証し、ＷＥＢサービスＢが、ユーザの代理としての認証モジュールを認証するという、二段階になっている。認証モジュールは、パスワードや生体認証を用いてユーザＸが本人であることを確認する。この確認が成功することで、認証モジュール内は、公開鍵暗号の秘密鍵ＸＢを用いることができるようになる。認証モジュールは、ＷＥＢサービスＢが送信した乱数に、ＷＥＢサービスＢに対応した秘密鍵ＸＢを用いて署名してＷＥＢサービスＢに送信し、ＷＥＢサービスＢはユーザの公開鍵ＸＢを用いて署名を検証する。この検証に成功することで、ＷＥＢサービスＢは認証モジュールを介して、ユーザＸを認証したことになる。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】“FIDO Alliance”、［online］、［平成２８年８月１０日検索］、インターネット＜ＵＲＬ：https://fidoalliance.org/＞
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ＦＩＤＯのユーザ認証では秘密鍵ＸＢの機密性が重要であり、秘密鍵ＸＢは認証モジュール内に閉じ込められており、外部に取り出すことができない。このため、普段、ＷＥＢサービスＢを使っている端末Ｐとは別の端末Ｑから当該ＷＥＢサービスＢにアクセスしようとしても、当該ＷＥＢサービスＢに対応した秘密鍵ＸＢが端末Ｑにはないので、アクセスできない。
【０００８】
認証モジュールによっては、外部に取り出せるようにしたものもあるが、取り出した秘密鍵ＸＢを保護するためのパスワードが必要であり、手間がかかる。また、秘密鍵ＸＢを更新した際には、端末の数の分だけ操作が必要である。また、端末Ｐに複数の秘密鍵があり、これらを端末Ｑに複製しようとする場合には、秘密鍵の数の分だけの操作が必要であり、手間がかかる。
【０００９】
本発明は、上記の問題を解決するものであり、事前に登録しておいた、２つのユーザ端末を接続することで、ユーザの操作なしに秘密鍵を複製し合うことが可能となる秘密鍵同期システム、ユーザ端末及び秘密鍵同期方法を提供することを課題とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するための手段として、請求項１に係る発明は、サービスを利用する際の認証に用いる秘密鍵であるサービス秘密鍵を保持するユーザ端末と、前記ユーザ端末に係る情報を保有する端末管理サーバとが、通信ネットワークを介して接続され、２つの前記ユーザ端末の間で前記サービス秘密鍵の複製を行う秘密鍵同期システムであって、前記ユーザ端末は、前記ユーザ端末を認証するための一次署名関係情報の秘密鍵と公開鍵のペアを生成し、自身のユーザ端末識別子と、前記一次署名関係情報の公開鍵と、前記一次署名関係情報の秘密鍵を用いた署名と、を含んだ前記一次署名関係情報を生成し、前記一次署名関係情報を前記端末管理サーバに送信して、自身を一次ユーザ端末とする、端末初期登録部と、自身が前記一次ユーザ端末でない場合に、前記ユーザ端末を認証するための二次署名関係情報の秘密鍵と公開鍵のペアを生成し、自身のユーザ端末識別子と、前記二次署名関係情報の公開鍵と、前記二次署名関係情報の秘密鍵を用いた署名と、を含んだ前記二次署名関係情報を生成し、前記二次署名関係情報を前記一次ユーザ端末に、前記通信ネットワークを介さずに直接通信により送信して、自身を二次ユーザ端末とする、端末登録要求部と、自身が前記一次ユーザ端末である場合に、前記二次ユーザ端末から前記二次署名関係情報を受信し、前記二次署名関係情報の署名の検証に成功した後に、署名の検証に成功した前記二次署名関係情報のユーザ端末識別子と、該ユーザ端末識別子を含んだ前記二次署名関係情報の公開鍵と、前記一次署名関係情報のユーザ端末識別子と、前記一次署名関係情報の公開鍵とを含むデータに、前記一次署名関係情報の秘密鍵で生成した署名を付与して、新たな一次署名関係情報を示す新規一次署名関係情報を生成し、前記新規一次署名関係情報を含んだ情報を前記端末管理サーバに送信する端末登録応答部と、前記複製を行う前記一次ユーザ端末又は前記二次ユーザ端末である２つのユーザ端末の間で、前記複製に用いる暗号化用公開鍵と、前記複製に用いる署名用公開鍵と、前記一次署名関係情報の秘密鍵又は前記二次署名関係情報の秘密鍵を用いて生成した署名とを交換し合うペアリングを実行するペアリング制御部と、前記ペアリングで交換し合った前記暗号化用公開鍵と前記署名用公開鍵とを用いて、前記サービス秘密鍵の前記複製を実行する同期制御部とを備え、前記端末管理サーバは、前記通信ネットワークを介して、前記一次ユーザ端末から前記一次署名関係情報を受信して記憶し、前記新規一次署名関係情報を受信した場合には、前記一次署名関係情報の公開鍵を用いた、前記新規一次署名関係情報の署名の検証成功の後に、前記一次署名関係情報にかえて前記新規一次署名関係情報を記憶する署名関係情報管理部を備えることを特徴とする秘密鍵同期システムである。
【００１１】
上記課題を解決するための手段として、請求項６に係る発明は、サービスを利用する際の認証に用いる秘密鍵であるサービス秘密鍵を保持するユーザ端末と、前記ユーザ端末に係る情報を保有する端末管理サーバとが、通信ネットワークを介して接続され、２つの前記ユーザ端末の間で前記サービス秘密鍵の複製を行う秘密鍵同期システムの前記ユーザ端末であって、前記ユーザ端末を認証するための一次署名関係情報の秘密鍵と公開鍵のペアを生成し、自身のユーザ端末識別子と、前記一次署名関係情報の公開鍵と、前記一次署名関係情報の秘密鍵を用いた署名と、を含んだ前記一次署名関係情報を生成し、前記一次署名関係情報を前記端末管理サーバに送信して、自身を一次ユーザ端末とする、端末初期登録部と、自身が前記一次ユーザ端末でない場合に、前記ユーザ端末を認証するための二次署名関係情報の秘密鍵と公開鍵のペアを生成し、自身のユーザ端末識別子と、前記二次署名関係情報の公開鍵と、前記二次署名関係情報の秘密鍵を用いた署名と、を含んだ前記二次署名関係情報を生成し、前記二次署名関係情報を前記一次ユーザ端末に、前記通信ネットワークを介さずに直接通信により送信して、自身を二次ユーザ端末とする、端末登録要求部と、自身が前記一次ユーザ端末である場合に、前記二次ユーザ端末から前記二次署名関係情報を受信し、前記二次署名関係情報の署名の検証に成功した後に、署名の検証に成功した前記二次署名関係情報のユーザ端末識別子と、該ユーザ端末識別子を含んだ前記二次署名関係情報の公開鍵と、前記一次署名関係情報のユーザ端末識別子と、前記一次署名関係情報の公開鍵とを含むデータに、前記一次署名関係情報の秘密鍵で生成した署名を付与して、新たな一次署名関係情報を示す新規一次署名関係情報を生成し、前記新規一次署名関係情報を含んだ情報を前記端末管理サーバに送信する端末登録応答部と、前記複製を行う前記一次ユーザ端末又は前記二次ユーザ端末である２つのユーザ端末の間で、前記複製に用いる暗号化用公開鍵と、前記複製に用いる署名用公開鍵と、前記一次署名関係情報の秘密鍵又は前記二次署名関係情報の秘密鍵を用いて生成した署名とを交換し合うペアリングを実行するペアリング制御部と、前記ペアリングで交換し合った前記暗号化用公開鍵と前記署名用公開鍵とを用いて、前記サービス秘密鍵の前記複製を実行する同期制御部とを備えることを特徴とするユーザ端末である。
【００１２】
上記課題を解決するための手段として、請求項７に係る発明は、サービスを利用する際の認証に用いる秘密鍵であるサービス秘密鍵を保持するユーザ端末と、前記ユーザ端末に係る情報を保有する端末管理サーバとが、通信ネットワークを介して接続され、２つの前記ユーザ端末の間で前記サービス秘密鍵の複製を行う秘密鍵同期システムの秘密鍵同期方法であって、前記ユーザ端末は、前記ユーザ端末を認証するための一次署名関係情報の秘密鍵と公開鍵のペアを生成し、自身のユーザ端末識別子と、前記一次署名関係情報の公開鍵と、前記一次署名関係情報の秘密鍵を用いた署名と、を含んだ前記一次署名関係情報を生成し、前記一次署名関係情報を前記端末管理サーバに送信して、自身を一次ユーザ端末とするステップと、自身が前記一次ユーザ端末でない場合に、前記ユーザ端末を認証するための二次署名関係情報の秘密鍵と公開鍵のペアを生成し、自身のユーザ端末識別子と、前記二次署名関係情報の公開鍵と、前記二次署名関係情報の秘密鍵を用いた署名と、を含んだ前記二次署名関係情報を生成し、前記二次署名関係情報を前記一次ユーザ端末に、前記通信ネットワークを介さずに直接通信により送信して、自身を二次ユーザ端末とするステップと、自身が前記一次ユーザ端末である場合に、前記二次ユーザ端末から前記二次署名関係情報を受信し、前記二次署名関係情報の署名の検証に成功した後に、署名の検証に成功した前記二次署名関係情報のユーザ端末識別子と、該ユーザ端末識別子を含んだ前記二次署名関係情報の公開鍵と、前記一次署名関係情報のユーザ端末識別子と、前記一次署名関係情報の公開鍵とを含むデータに、前記一次署名関係情報の秘密鍵で生成した署名を付与して、新たな一次署名関係情報を示す新規一次署名関係情報を生成し、前記新規一次署名関係情報を含んだ情報を前記端末管理サーバに送信するステップと、前記複製を行う前記一次ユーザ端末又は前記二次ユーザ端末である２つのユーザ端末の間で、前記複製に用いる暗号化用公開鍵と、前記複製に用いる署名用公開鍵と、前記一次署名関係情報の秘密鍵又は前記二次署名関係情報の秘密鍵を用いて生成した署名とを交換し合うペアリングを実行するステップと、前記ペアリングで交換し合った前記暗号化用公開鍵と前記署名用公開鍵とを用いて、前記サービス秘密鍵の前記複製を実行するステップとを実行し、前記端末管理サーバは、前記通信ネットワークを介して、前記一次ユーザ端末から前記一次署名関係情報を受信して記憶し、前記新規一次署名関係情報を受信した場合には、前記一次署名関係情報の公開鍵を用いた、前記新規一次署名関係情報の署名の検証成功の後に、前記一次署名関係情報にかえて前記新規一次署名関係情報を記憶するステップを実行することを特徴とする秘密鍵同期方法である。
【００１３】
かかる構成によれば、ユーザが所有するユーザ端末として最初に登録される（一次署名関係情報の対象である）一次ユーザ端末か、一次ユーザ端末と直接通信を介して、ユーザが所有する２つ目以降のユーザ端末として登録される（二次署名関係情報の対象である）二次ユーザ端末かのいずれかのユーザ端末の間でのみサービス秘密鍵の複製（同期）ができる。登録されていない不正なユーザ端末との間で同期が行われることはなく、サービス秘密鍵の漏洩を防止することができる。
【００１４】
上記課題を解決するための手段として、請求項２に係る発明は、前記端末登録応答部は、前記新規一次署名関係情報の署名を生成する前に、ユーザ認証を行い、前記ペアリング制御部は、前記ペアリングの前に、ユーザ認証を行うことを特徴とする請求項１に記載の秘密鍵同期システムである。
【００１５】
かかる構成によれば、ユーザ端末の所有者以外のユーザによる、該ユーザ端末を使ってのユーザ端末の登録やペアリング、同期を防止することができる。
【００１６】
上記課題を解決するための手段として、請求項３に係る発明は、前記端末管理サーバは、前記ユーザ端末ごとに当該ユーザ端末が利用停止状態であるか否かを記憶し、前記ペアリング制御部は、前記ペアリングの前に、自身が前記利用停止状態であるか否かを、前記端末管理サーバに問合せを行い、前記利用停止状態であるなら前記ペアリングを中止し、前記同期制御部は、前記複製の前に、自身が前記利用停止状態であるか否かを、前記端末管理サーバに問合せを行い、前記利用停止状態であるなら前記複製を中止することを特徴とする請求項１に記載の秘密鍵同期システムである。
【００１７】
かかる構成によれば、紛失したユーザ端末を利用停止状態にしておくことで、該ユーザ端末を使ったペアリングや同期を防止することができる。
【００１８】
上記課題を解決するための手段として、請求項４に係る発明は、前記秘密鍵同期システムは、前記ユーザ端末の、鍵の保護能力、ユーザ認証方法、ユーザ認証の強度、セキュア領域の有無、のうちの少なくとも１つを含み安全性のレベルを示す端末能力情報を記憶する端末検証サーバを、さらに備えており、前記ペアリング制御部は、前記ペアリングの前に、ペアリング対象となるユーザ端末の前記端末能力情報を前記端末検証サーバから入手し、前記端末能力情報が示す前記ユーザ端末の前記安全性のレベルが所定の基準を満たさない場合には、前記ペアリングを中止することを特徴とする請求項１に記載の秘密鍵同期システムである。
【００１９】
かかる構成によれば、ユーザ認証方法やサービス秘密鍵の保護方法（保護能力）が所定の基準に満たない、安全性のレベルが低いユーザ端末との同期を防止することができる。
【００２０】
上記課題を解決するための手段として、請求項５に係る発明は、前記秘密鍵同期システムは、前記ユーザ端末の、鍵の保護能力、ユーザ認証方法、ユーザ認証の強度、セキュア領域の有無、のうちの少なくとも１つを含み安全性のレベルを示す端末能力情報を記憶する端末検証サーバを、さらに備えており、前記サービス秘密鍵は、ＷＥＢサービスのユーザ認証に用いる秘密鍵であり、前記ＷＥＢサービスは、前記ＷＥＢサービスのユーザ認証に用いる秘密鍵の複製の可否、前記ユーザ端末の鍵の保護能力、前記ユーザ端末のユーザ認証方法、前記ユーザ端末のユーザ認証の強度、前記ユーザ端末のセキュア領域の有無、のうちの少なくとも１つを規定する認証ポリシを記憶しており、前記同期制御部は、前記ＷＥＢサービスのユーザ認証に用いる秘密鍵の複製の前に、前記複製をする先のユーザ端末の前記安全性のレベルが、前記ＷＥＢサービスの前記認証ポリシにある安全性のレベルを満たしていない場合には、前記複製を中止することを特徴とする請求項１に記載の秘密鍵同期システムである。
【００２１】
かかる構成によれば、ＦＩＤＯ等のＷＥＢサービスのユーザ認証の秘密鍵について、ＷＥＢサービスが要求するレベルに合わない低い安全性レベルのユーザ端末へのサービス秘密鍵の複製を防止することができる。
【発明の効果】
【００２２】
本発明によれば、事前に登録しておいた、２つのユーザ端末を接続することで、ユーザの操作なしに秘密鍵を複製し合うことが可能となる秘密鍵同期システム、ユーザ端末及び秘密鍵同期方法を提供することを課題とする。
【図面の簡単な説明】
【００２３】
【図１】本実施形態に係る秘密鍵同期システムの全体構成を例示する図である。
【図２】本実施形態に係るユーザ端末の構成を例示する機能ブロック図である。
【図３】本実施形態に係るユーザ端末のセキュア記憶部に記憶される認証クレデンシャルＤＢの構成を例示する図である。
【図４】本実施形態に係るユーザ端末のセキュア記憶部に記憶される署名関係鍵ＤＢの構成を例示する図である。
【図５】本実施形態に係るユーザ端末のセキュア記憶部に記憶される同期用鍵ＤＢの構成を例示する図である。
【図６】本実施形態に係るユーザ端末のセキュア記憶部に記憶されるＷＥＢサービス鍵ＤＢの構成を例示する図である。
【図７】本実施形態に係る端末管理サーバの構成を例示する機能ブロック図である。
【図８】本実施形態に係る端末管理サーバの記憶部に記憶されるユーザ情報ＤＢの構成を例示する図である。
【図９】本実施形態に係る端末管理サーバの記憶部に記憶される署名関係情報ＤＢの構成を例示する図である。
【図１０】本実施形態に係る端末管理サーバの記憶部に記憶される端末利用状況ＤＢの構成を例示する図である。
【図１１】本実施形態に係る一次ユーザ端末の登録処理全体を例示するシーケンス図である。
【図１２】本実施形態に係る一次ユーザ端末の新規登録を例示するシーケンス図である。
【図１３】本実施形態に係る一次ユーザ端末の更新登録処理を例示するシーケンス図である。
【図１４】本実施形態に係る二次ユーザ端末の新規登録を例示するシーケンス図である。
【図１５】本実施形態に係る二次ユーザ端末の新規登録時の二重署名の署名関係情報の構成例を示す図である。
【図１６】本実施形態に係る二次ユーザ端末の更新登録を例示するシーケンス図である。
【図１７】本実施形態に係る二次ユーザ端末の更新登録時の二重署名の署名関係情報の構成例を示す図である。
【図１８】本実施形態に係る登録済みのユーザ端末間のペアリング処理を例示するシーケンス図（１）である。
【図１９】本実施形態に係る登録済みのユーザ端末間のペアリング処理を例示するシーケンス図（２）である。
【図２０】本実施形態に係る登録済みのユーザ端末間のペアリング処理を例示するシーケンス図（３）である。
【図２１】本実施形態に係る登録済みのユーザ端末間のペアリング処理を例示するシーケンス図（４）である。
【図２２】本実施形態に係るペアリング済みのユーザ端末間の同期処理を例示するシーケンス図（１）である。
【図２３】本実施形態に係るペアリング済みのユーザ端末間の同期処理を例示するシーケンス図（２）である。
【図２４】異なる端末上のブラウザ間のパスワードを同期するサービスの概要を示す図である。
【図２５】公開鍵暗号を用いたユーザ認証技術であるＦＩＤＯの概要を示す図である。
【発明を実施するための形態】
【００２４】
以下、本発明の実施形態の秘密鍵同期システムを、図面を参照しつつ説明する。
≪本実施形態の秘密鍵同期システム≫
図１は、本実施形態に係る秘密鍵同期システム１の全体構成を例示する図である。
秘密鍵同期システム１は、通信ネットワーク（インターネット）を介して接続される以下の、ＷＥＢサービス４００のユーザ認証用の秘密鍵を記憶してＷＥＢサービスのユーザ認証を行うユーザ端末１００と、該ユーザ端末１００に関する情報を記憶する端末管理サーバ２００と、ユーザ端末の安全性のレベルを確認（端末能力の検証）するための情報（端末能力情報３０２）を記憶する端末検証サーバ３００と、自身にアクセスするユーザ端末１００の安全性のレベルを含んだ認証ポリシ４０１を記憶するＷＥＢサービス４００とからなる。
【００２５】
ユーザ端末１００には、一次ユーザ端末１００−１と二次ユーザ端末１００−２の２つの種類がある。一次ユーザ端末１００−１は、各ユーザが最初に登録する（図１の符号１参照）ユーザ端末１００である。２つ目以降のユーザ端末１００は、二次ユーザ端末１００−２として、一次ユーザ端末を使って登録する（図１の符号２参照）。
【００２６】
この登録のとき、一次ユーザ端末１００−１と二次ユーザ端末１００−２とは、インターネットを介してではなく、通信ケーブル等を用いて直接接続されて通信する（以下、直接通信と記す）。他の直接通信の方法として、Bluetooth（登録商標）のような近距離無線通信やアドホックモードの無線ＬＡＮ（Local Area Network）を使った直接接続を用いた方法がある。登録対象を直接通信が可能であるユーザ端末１００に限定することで、一次ユーザ端末１００−１を持たない攻撃者の、遠隔からの不正なユーザ端末１００の登録を防ぐことができる。
以下、一次ユーザ端末１００−１と二次ユーザ端末１００−２とを併せて、登録ユーザ端末と記す。また、登録済みであることが明らかな場合には、登録ユーザ端末を単にユーザ端末と記す。
【００２７】
２つの登録ユーザ端末１００は、直接通信が可能であるように接続されてペアリングする（図１の符号３参照）ことで、お互いの暗号用と署名用の公開鍵を交換し合う。ＷＥＢサービス４００の秘密鍵を同期（複製し合う）する（図１の符号４参照）ときには、このペアリングで入手した署名用（認証用）の公開鍵を用いて同期相手のユーザ端末１００を認証し、暗号用の公開鍵を用いて秘密鍵を暗号化して複製する。一度ペアリングした２つのユーザ端末１００は、以後は繰返し同期することができる。
【００２８】
一次ユーザ端末１００−１を登録すると、ユーザが一次ユーザ端末１００−１を所有していることを示す署名関係情報（後述する図１２のＤ１００）を一次ユーザ端末１００−１が生成して、端末管理サーバ２００に送信し、端末管理サーバ２００が署名関係情報ＤＢ２３２（後述する図９）に格納する。後述するように、この署名関係情報（請求項の一次署名関係情報）には、一次ユーザ端末１００−１の認証に用いられる公開鍵が含まれている。
【００２９】
二次ユーザ端末１００−２を登録すると、ユーザが一次ユーザ端末１００−１と二次ユーザ端末１００−２を所有していることを示す署名関係情報（後述する図１５のＤ１７０）を一次ユーザ端末１００−１が生成して、端末管理サーバ２００に送信し、端末管理サーバ２００が署名関係情報ＤＢ２３２（後述する図９）に格納する。後述するように、この署名関係情報（請求項の新規一次署名関係情報）には、一次ユーザ端末１００−１と二次ユーザ端末１００−２の認証に用いられる公開鍵が含まれている。ユーザ端末１００は、端末管理サーバ２００に署名関係情報を要求することで、最新の登録済みのユーザ端末１００の情報を得ることができる。
【００３０】
ペアリングでは、端末管理サーバ２００に相手のユーザ端末１００の利用状態の確認（図１の符号３ａ参照）や端末検証サーバ３００にユーザ端末１００の能力検証（図１の符号３ｂ参照）を行う。
ユーザ端末１００を紛失した場合には、端末管理サーバ２００が記憶する該ユーザ端末１００の利用状態を停止中にしておく。ペアリングの処理で相手のユーザ端末１００の利用状態を確認する（図１の符号３ａ参照）ことで、紛失したユーザ端末１００ではペアリングができなくなる。これは、同期の処理で確認する場合も同様である。
【００３１】
また、ペアリングのときに相手のユーザ端末１００の端末能力情報３０２を入手し、能力検証を行う（図１の符号３ｂ参照）ことで、秘密鍵を盗もうとする攻撃に対する対抗力（鍵の保護能力）やユーザ認証の確かさのレベル（ユーザ認証方法やその強度）、セキュア領域の有無等、相手のユーザ端末１００が所定の安全性のレベルを確保しているかを確認する。確認できなければ、ユーザ端末１００への秘密鍵同期（複製）を中止することで、低い安全レベルのユーザ端末１００からの秘密鍵の漏洩を防止することができる。
【００３２】
ＷＥＢサービス４００のユーザ認証に用いる秘密鍵の同期を行うときには、相手のユーザ端末１００の端末能力情報３０２に示される安全性のレベルと、ＷＥＢサービス４００の認証ポリシ４０１とを照合する（図１の符号４ａ参照）。照合した結果、ＷＥＢサービス４００の認証ポリシ４０１に合わない場合には同期を中止する。認証ポリシ４０１に合わない低い安全性のレベルのユーザ端末１００への秘密鍵同期（複製）を禁止することで、低い安全レベルのユーザ端末１００からの秘密鍵の漏洩を防止することができる。
【００３３】
図２５に示したパスワードで秘密鍵を暗号化し、ユーザ端末１００の間で複製する方法では、ユーザ端末１００の数とＷＥＢサービス４００のユーザ認証用秘密鍵の数との積に比例する操作が必要であった。本実施形態の同期処理では、２つのユーザ端末１００を直接接続すれば、ユーザ操作は不要である。
【００３４】
以下、秘密鍵同期システム１を構成する各装置について、図面を参照しながら詳細に説明する。
≪ユーザ端末の構成≫
図２は、本実施形態に係るユーザ端末１００の構成を例示する機能ブロック図である。
ユーザ端末１００は、ワークステーションやパソコン、スマートフォン等の汎用コンピュータで実現され、制御部１１０と、記憶部１５０と、入出力部１４０とを備える。装置内部のＣＰＵ（Central Processing Unit）等の演算処理装置がメモリに記憶された制御プログラムを実行することによって、制御部１１０として機能する。制御部１１０は、鍵管理セキュアアプリ１２０と、鍵管理ノンセキュアアプリ１３０とを備える。
【００３５】
また、ユーザ端末１００は、ＲＡＭ（Random Access Memory）、フラッシュメモリ等の半導体メモリ素子、又は、ハードディスク、光ディスク等の記憶装置によって実現される記憶部１５０を備え、さらに記憶部１５０はセキュア記憶部１６０を備える。セキュア記憶部１６０は、ユーザ端末１００のＯＳ（Operating System）の機能により、鍵管理セキュアアプリ１２０だけがアクセス可能になっている。ＯＳの機能によらず、鍵管理セキュアアプリ１２０がもつ鍵で暗号化しておくことで、鍵管理セキュアアプリ１２０以外のプログラムがアクセスできないようにしておくこともできる。
セキュア記憶部１６０は、認証クレデンシャルＤＢ１６１と、署名関係鍵ＤＢ１６２と、ＷＥＢサービス鍵ＤＢ１６３と、同期用鍵ＤＢ１６４と、端末検証用秘密鍵１６５とを記憶する。
【００３６】
入出力部１４０は、端末管理サーバ２００や他のユーザ端末１００等の他の装置とのデータの入出力を行う。入出力部１４０は、鍵管理セキュアアプリ１２０がユーザ認証する際に用いる認証デバイス１４１と、他のユーザ端末１００との直接通信を行う直接通信用インタフェース１４２と、ネットワークを介して情報の送受信を行う通信インタフェース（図の記載なし）と、キーボードやモニタ等の入出力インタフェース（図の記載なし）とから構成される。認証デバイス１４１の例として、指紋や静脈などの生体情報を読み取る装置や顔を撮影するカメラ等がある。直接通信用インタフェース１４２は、２つのユーザ端末１００の直接通信に利用され、Bluetooth等の近距離無線通信のインタフェースがある。
以下、制御部１１０とセキュア記憶部１６０に含まれる構成について説明する。
【００３７】
制御部１１０に備わる鍵管理セキュアアプリ１２０は、鍵管理ノンセキュアアプリ１３０からの指示を受け、秘密鍵同期を可能とするユーザ端末１００の登録を行う。また、鍵管理セキュアアプリ１２０は、登録されたユーザ端末１００の間で、セキュア記憶部１６０のＷＥＢサービス鍵ＤＢ１６３（後述する図６）に記憶された秘密鍵の同期を行う。さらに、鍵管理セキュアアプリ１２０は、ＷＥＢサービス４００にアクセスするプログラムからの指示を受け、ＷＥＢサービス４００のユーザ認証に必要な秘密鍵を用いた署名等の処理を行う。
【００３８】
また、鍵管理セキュアアプリ１２０は、鍵管理ノンセキュアアプリ１３０と認証クレデンシャルＤＢ１６１（後述する図３）と署名関係鍵ＤＢ１６２（後述する図４）とを監視し、改竄や削除を検知した場合に、署名関係鍵ＤＢ１６２と、ＷＥＢサービス鍵ＤＢ１６３（後述する図６）と、同期用鍵ＤＢ１６４（後述する図５）と、端末検証用秘密鍵１６５とを削除する。これにより、ユーザ認証を回避して、ＷＥＢサービス鍵に不正にアクセスする攻撃を防止することができる。
【００３９】
鍵管理セキュアアプリ１２０をＯＳの特権モード（セキュア領域）で動作させることで、一般のアプリケーションから攻撃を受けることを防ぐことができる。また、認証クレデンシャルＤＢ１６１が記憶する認証データ、並びに、署名関係鍵ＤＢ１６２とＷＥＢサービス鍵ＤＢ１６３と同期用鍵ＤＢ１６４と端末検証用秘密鍵１６５とに記憶される秘密鍵の安全性を高めることができる。又は、仮想化技術を用いて、ユーザが通常利用するＯＳとは別のＯＳ（セキュア領域）上に鍵管理セキュアアプリ１２０とセキュア記憶部１６０を備えることで安全性を高めることもできる。
【００４０】
特権モードでの動作の他に、鍵管理セキュアアプリ１２０は、ユーザ端末１００が起動する中で、先に起動されたデバイスやソフトウェア（機能部）が後に起動されるソフトウェアが正しいか、公開鍵暗号技術を用いて署名検証し、正しい場合に起動することにより、改竄された鍵管理セキュアアプリ１２０の起動を防ぐことができる。
以下、鍵管理セキュアアプリ１２０が備える、ユーザ認証部１２１と、鍵管理部１２２と、端末初期登録部１２３と、端末登録要求部１２４と、端末登録応答部１２５と、ペアリング制御部１２６と、同期制御部１２７とを説明する。
【００４１】
ユーザ認証部１２１は、端末初期登録部１２３や端末登録要求部１２４等からの要求を受付けて、鍵管理セキュアアプリ１２０を利用するユーザの認証（ユーザ認証）を行う。ユーザ認証に必要なデータは、セキュア記憶部１６０の認証クレデンシャルＤＢ１６１（後述する図３）に格納されている。ユーザ認証の一つに、顔や指紋等の生体情報を用いた認証がある。ユーザ認証部１２１は、入出力部１４０が備えるカメラや指紋スキャナ等の認証デバイス１４１を使って生体情報を読み取り、ユーザ認証を行う。
【００４２】
図３は、本実施形態に係るユーザ端末１００のセキュア記憶部１６０に記憶される認証クレデンシャルＤＢ１６１の構成を例示する図である。
認証クレデンシャルＤＢ１６１は、例えば、テーブル形式のデータであり、１以上の行（以下、レコードと記す）を含む。各レコードは、１つのユーザ認証のためのデータであり、属性として、認証種別と、デバイスと、認証データとを含む。
【００４３】
認証種別は、ユーザ認証の方法であり、顔や指紋といった生体情報を用いた方法やパスワードを用いた方法等がある。
デバイスは、入出力部１４０が備えるユーザ認証に用いる装置を示す。生体情報を用いる認証方法では、ユーザの生体情報を読み取るために認証デバイス１４１を用いる。パスワードの場合は、入出力部１４０が備えるキーボード（図の記載なし）を用いる。
認証データは、照合用のデータである。即ち、ユーザ認証部１２１が、認証デバイス１４１やキーボード（図の記載なし）を使って、生体情報やパスワードを取得し、取得したデータと認証データとを照合する。照合に成功すれば、ユーザ認証に成功したことになる。
【００４４】
認証方法が複数あった場合に、どの方法を用いるかは、ＷＥＢサービス４００の認証ポリシ４０１や鍵管理セキュアアプリ１２０自体の認証ポリシに依存する。静脈認証等の詐称が困難なユーザ認証を求めるＷＥＢサービス４００がある一方、パスワードでも構わないＷＥＢサービス４００もある。また、複数の方法を用いてのユーザ認証を求めるＷＥＢサービス４００もある。鍵管理セキュアアプリ１２０については、後述するようにユーザ端末１００の登録のときやペアリングのときにユーザ認証が必要となり、認証方法を使い分けることもできる。
【００４５】
鍵管理部１２２は、ユーザ端末１００の署名関係の公開鍵暗号の鍵ペア（以下、署名関係鍵とも記す）を始めとする公開鍵暗号の鍵ペアの生成、公開鍵を用いた暗号化、秘密鍵を用いた復号、秘密鍵を用いた署名生成、公開鍵を用いた署名検証等の処理を行う。これらの処理は、端末初期登録部１２３やペアリング制御部１２６等からの要求を受けて行う。
生成した鍵ペアは、用途に応じて、セキュア記憶部１６０に記憶される、署名関係鍵ＤＢ１６２（後述する図４）、ＷＥＢサービス鍵ＤＢ１６３（後述する図６）又は同期用鍵ＤＢ１６４（後述する図５）に格納する。
【００４６】
端末初期登録部１２３は、ユーザが所有するユーザ端末１００を一次ユーザ端末１００−１として、端末管理サーバ２００に登録する処理を行う。即ち、端末初期登録部１２３は鍵管理部１２２と協働して、署名関係鍵の鍵ペアを生成し、一次ユーザ端末１００−１の端末ＩＤ（Identifier）と署名関係鍵の公開鍵（以下、署名関係公開鍵とも記す）を含む署名関係情報（請求項の一次署名関係情報）を生成して、端末管理サーバ２００に送信する。なお、署名関係公開鍵に対応する秘密鍵を署名関係秘密鍵とも記す。生成した鍵は、セキュア記憶部１６０の署名関係鍵ＤＢ１６２（後述する図４参照）に格納される。詳細は図１１を参照して後述する。
【００４７】
図４は、本実施形態に係るユーザ端末１００のセキュア記憶部１６０に記憶される署名関係鍵ＤＢ１６２の構成を例示する図である。
署名関係鍵ＤＢ１６２は、例えば、テーブル形式のデータであり、１以上のレコードを含む。各レコードは、ユーザが所有する１つのユーザ端末１００を表し、属性として、端末ＩＤと、起点と、秘密鍵と、公開鍵とを含む。
【００４８】
端末ＩＤは、レコードが表すユーザ端末１００の識別情報である。
起点は、レコードが表すユーザ端末１００が一次ユーザ端末１００−１であるか、即ち最初に登録され、以後のユーザ端末１００の登録の際に使われるユーザ端末１００であるか否かを示す。一次ユーザ端末１００−１であれば「Ｙ」、そうでなければ「Ｎ」となる。
【００４９】
秘密鍵と公開鍵は、それぞれユーザ端末１００の署名関係の公開鍵暗号の鍵ペアの秘密鍵と公開鍵である。秘密鍵は鍵ペアを生成したユーザ端末１００のみが保有するので、自身に相当する１つのレコードのみに秘密鍵が格納され、他のユーザ端末１００に相当する他のレコードの秘密鍵は格納されておらず、「−」となる。
【００５０】
一次ユーザ端末１００−１の署名関係鍵ＤＢ１６２では、全ての登録したユーザ端末１００の公開鍵が格納されている。これは、二次ユーザ端末１００−２を登録には、一次ユーザ端末１００−１を介して登録しており、登録処理の途中で、一次ユーザ端末１００−１の端末登録応答部１２５が、登録対象の二次ユーザ端末１００−２の署名関係公開鍵を記録するためである。
【００５１】
図２に戻って、端末登録要求部１２４及び端末登録応答部１２５は、協働して、以下に示す手順で、ユーザが所有するユーザ端末１００を二次ユーザ端末１００−２として、一次ユーザ端末１００−１を介して、端末管理サーバ２００に登録する処理を行う。
【００５２】
最初に、二次ユーザ端末１００−２として登録するユーザ端末１００（以下、本処理の説明では二次ユーザ端末１００−２と記す）の端末登録要求部１２４は、二次ユーザ端末１００−２の鍵管理部１２２と協働して、署名関係の鍵ペアを生成し、署名関係情報（請求項の二次署名関係情報）を生成して、一次ユーザ端末１００−１の端末登録応答部１２５に送信する。生成した鍵は、二次ユーザ端末１００−２のセキュア記憶部１６０の署名関係鍵ＤＢ１６２（図４参照）に格納される。
【００５３】
続いて、一次ユーザ端末１００−１の端末登録応答部１２５は、一次ユーザ端末１００−１の鍵管理部１２２と協働して、受信した二次ユーザ端末１００−２の署名関係情報を検証し、自身である一次ユーザ端末１００−１と二次ユーザ端末１００−２の署名関係情報（請求項の新規一次署名関係情報）を生成して、端末管理サーバ２００に送信する。署名関係情報には、一次ユーザ端末１００−１のＩＤと、その署名関係公開鍵と、二次ユーザ端末１００−２のＩＤと、その署名関係公開鍵とを含む。詳細は図１４を参照して後述する。
一次ユーザ端末１００−１の端末登録応答部１２５は、二次ユーザ端末１００−２の署名関係情報に含まれていた二次ユーザ端末１００−２の署名関係公開鍵を署名関係鍵ＤＢ１６２に格納する。
【００５４】
二次ユーザ端末１００−２以降の新規のユーザ端末１００の登録も同様であり、新規のユーザ端末１００の端末登録要求部１２４と、一次ユーザ端末１００−１の端末登録応答部１２５とが、協働して、新規のユーザ端末１００を二次ユーザ端末１００−２として登録する。一次ユーザ端末１００−１の端末登録応答部１２５が端末管理サーバ２００に送信する署名関係情報には、新規のユーザ端末１００を含め、既に登録済みのユーザ端末１００のＩＤとその署名関係公開鍵が含まれる。
【００５５】
２つの登録ユーザ端末（一次ユーザ端末１００−１，二次ユーザ端末１００−２）のペアリング制御部１２６は、協働して、以下に示す手順でペアリングの処理を行う。なお、この２つのユーザ端末１００は、一次ユーザ端末１００−１と二次ユーザ端末１００−２であるか、又は、２つの二次ユーザ端末１００−２である。
最初に、それぞれのユーザ端末１００のペアリング制御部１２６は、ユーザ認証部１２１を使って、ユーザ認証を行う。次に、端末管理サーバ２００に、自身の利用状態を問合せ、利用停止状態でないことを確認する。  
【００５６】
続いて、２つのユーザ端末１００のペアリング制御部１２６は、安全な通信路を確保するための共有鍵を共有する。共有の方法としては、一般に用いられる、例えばDiffie-Hellman鍵交換アルゴリズムを用いて共有する他に、一方のユーザ端末１００のペアリング制御部１２６が、他方のユーザ端末１００の署名関係公開鍵を用いて共有鍵を暗号化して、他方のユーザ端末１００に送信し、受信したユーザ端末１００が復号して共通鍵を共有することもできる。
【００５７】
次に、それぞれのユーザ端末１００のペアリング制御部１２６は、端末検証サーバ３００から入手した端末検証用公開鍵３０１を用いて、相手の鍵管理セキュアアプリ１２０の能力の検証を行う。この検証を通じて、秘密鍵を盗もうとする攻撃に対する対抗力（鍵の保護能力）やユーザ認証の確かさのレベル（ユーザ認証方法やその強度）、セキュア領域の有無等、相手の鍵管理セキュアアプリ１２０が所定の安全性のレベルを確保していることを確認できる。
【００５８】
続いて、それぞれのユーザ端末１００のペアリング制御部１２６は、自身の鍵管理部１２２と協働して、ＷＥＢサービス認証用の秘密鍵の同期に用いる、暗号化用の鍵ペアと署名用の鍵ペアを生成して、その公開鍵を相手のユーザ端末１００に送信する。以下、暗号化用の鍵ペアを同期用暗号化鍵、該ペアの公開鍵を同期用暗号化公開鍵（請求項の暗号化用公開鍵）、該ペアの秘密鍵を同期用暗号化秘密鍵、署名用の鍵ペアを同期用署名鍵、該ペアの公開鍵を同期用署名公開鍵（請求項の署名用公開鍵）、該ペアの秘密鍵を同期用署名秘密鍵とも記す。同期用暗号化鍵と同期用署名鍵は、セキュア記憶部１６０の同期用鍵ＤＢ１６４（後述する図５参照）に格納される。
ペアリングの詳細な処理は、図１８〜図２１を参照して後述する。
【００５９】
図５は、本実施形態に係るユーザ端末１００のセキュア記憶部１６０に記憶される同期用鍵ＤＢ１６４の構成を例示する図である。
同期用鍵ＤＢ１６４は、例えば、テーブル形式のデータであり、１以上のレコードを含む。各レコードは、同期の相手のユーザ端末１００と同期するときに用いる、同期用暗号化鍵と同期用署名鍵を含んでおり、属性として、端末ＩＤと、送信用公開鍵と、受信用秘密鍵と、受信用公開鍵と、署名用秘密鍵と、署名用公開鍵と、検証用公開鍵と、端末能力とを含む。
【００６０】
送信用公開鍵は、同期相手のユーザ端末１００の同期用暗号化公開鍵である。
受信用秘密鍵は、自身の同期用暗号化秘密鍵である。
受信用公開鍵は、自身の同期用暗号化公開鍵である。
署名用秘密鍵は、自身の同期用署名秘密鍵である。
署名用公開鍵は、自身の同期用署名公開鍵である。
検証用公開鍵は、同期相手のユーザ端末１００の同期用署名公開鍵である。
端末能力は、同期相手のユーザ端末１００の、後述する端末能力情報３０２であり、ユーザ認証部１２１の安全性のレベルを示すユーザの認証種別やＷＥＢサービス鍵ＤＢ１６３（後述する図６）の保護方法（保護能力）等を示す。ユーザの認証種別にはパスワード・指紋等があり、ＷＥＢサービス鍵ＤＢ１６３の保護方法にはハードウェアによる保護、暗号化による保護などがある。
【００６１】
図２に戻って、２つの登録ユーザ端末（一次ユーザ端末１００−１，二次ユーザ端末１００−２）の同期制御部１２７は、協働して、以下に示す手順で、２つのユーザ端末１００の間のＷＥＢサービスの秘密鍵の同期処理を行う。
最初に、それぞれのユーザ端末１００の同期制御部１２７は、直接通信可能になったことを検知し、次に、端末管理サーバ２００に、自身の利用状態を問合せ、利用停止状態でないことを確認する。
【００６２】
続いて、それぞれの同期制御部１２７は、ペアリング処理を通じて入手した、署名用（認証用）の鍵を用いて、相手を相互に認証する。次に、ＷＥＢサービス４００の認証ポリシ４０１と照らし合わせて、該ＷＥＢサービスの秘密鍵が同期可能かを確認する。
【００６３】
続いて、それぞれの同期制御部１２７は、同期可能であるＷＥＢサービスの秘密鍵で、相手が保有していない鍵を、同期用暗号化公開鍵を用いて暗号化して相手に送信する。
同期の詳細な処理は、図２２と図２３を参照して後述する。
【００６４】
鍵管理ノンセキュアアプリ１３０は、ユーザ端末１００の利用停止や利用停止解除を端末管理サーバ２００に指示する。ユーザ端末１００を紛失した場合には、ユーザは他のユーザ端末１００の鍵管理ノンセキュアアプリ１３０を使って、紛失したユーザ端末１００を利用停止中にする。利用停止中にすることで、紛失したユーザ端末１００の不正使用を防ぐことができる。また、紛失したユーザ端末１００が見つかった場合には、鍵管理ノンセキュアアプリ１３０を使って利用停止中を解除することができる。
【００６５】
図６は、本実施形態に係るユーザ端末１００のセキュア記憶部１６０に記憶されるＷＥＢサービス鍵ＤＢ１６３の構成を例示する図である。
ＷＥＢサービス鍵ＤＢ１６３は、例えば、テーブル形式のデータであり、１以上のレコードを含む。各レコードは、ユーザが保有する１つのＷＥＢサービス４００のアカウントを表し、属性として、ＵＲＬと、ユーザＩＤと、秘密鍵と、公開鍵とを含む。
【００６６】
ＵＲＬは、レコードが示すＷＥＢサービス４００のＵＲＬである。
ユーザＩＤは、当該ＷＥＢサービスでのユーザのアカウントのユーザＩＤである。
秘密鍵と公開鍵は、それぞれ、ユーザの当該ＷＥＢサービスのユーザ認証に用いられる公開鍵暗号の秘密鍵と公開鍵である。公開鍵暗号を用いたＷＥＢサービスのユーザ認証として、非特許文献１にあげたＦＩＤＯがあるが、別のユーザ認証方法の鍵ペアでも構わない。
【００６７】
端末検証用秘密鍵１６５は、鍵管理セキュアアプリ１２０自身を認証するための署名の生成用の鍵であり、ペアリング処理中に用いられる。この鍵を用いて生成した署名をペアリング相手が検証することで、ペアリング相手のユーザ端末１００は、鍵管理セキュアアプリ１２０の身元を確認でき、端末検証サーバ３００に問い合わせることで鍵管理セキュアアプリ１２０の安全性のレベル（端末能力情報３０２）を確認することができる。
【００６８】
ここまで、ユーザ端末１００はシングルユーザであることを前提に説明してきた。マルチユーザである場合には、ユーザごとに、認証クレデンシャルＤＢ１６１と、署名関係鍵ＤＢ１６２と、ＷＥＢサービス鍵ＤＢ１６３と、同期用鍵ＤＢ１６４とを備える。
【００６９】
≪端末管理サーバの構成≫
図７は、本実施形態に係る端末管理サーバ２００の構成を例示する機能ブロック図である。
端末管理サーバ２００は、ワークステーション等の汎用コンピュータで実現され、制御部２１０と、入出力部２２０と、記憶部２３０とを備える。装置内部のＣＰＵ等の演算処理装置がメモリに記憶された制御プログラムを実行することによって、制御部２１０として機能する。制御部２１０は、ユーザ受付部２１１と、署名関係情報管理部２１２と、端末利用状況管理部２１３とを備える。
【００７０】
また、端末管理サーバ２００は、ＲＡＭ、フラッシュメモリ等の半導体メモリ素子、又は、ハードディスク、光ディスク等の記憶装置によって実現される記憶部２３０を備える。記憶部２３０は、ユーザ情報ＤＢ２３１と、署名関係情報ＤＢ２３２と、端末利用状況ＤＢ２３３とを記憶する。
入出力部２２０は、ユーザ端末１００や他の装置とのデータの入出力を行う。入出力部２２０は、ネットワークを介して情報の送受信を行う通信インタフェース（図の記載なし）と、キーボードやモニタ等の入出力インタフェース（図の記載なし）とから構成される。
以下、制御部２１０と記憶部２３０に含まれる構成について説明する。
【００７１】
制御部２１０が備えるユーザ受付部２１１は、ユーザ端末１００からの通信の接続要求に対して、記憶部２３０に記憶されるユーザ情報ＤＢ２３１（後述する図８）の中の情報と照合して、ユーザの認証を行う。
【００７２】
図８は、本実施形態に係る端末管理サーバ２００の記憶部２３０に記憶されるユーザ情報ＤＢ２３１の構成を例示する図である。
ユーザ情報ＤＢ２３１は、例えば、テーブル形式のデータであり、１以上のレコードを含む。各レコードは、１人のユーザを表し、属性として、ユーザＩＤと、パスワードと、氏名と、所属とを含む。
ユーザＩＤは、ユーザの識別情報である。パスワードは、ユーザを認証するときに用いられる認証情報である。氏名はユーザの氏名であり、所属はユーザが所属する組織の名称である。これらの情報は、ユーザ端末１００の登録に先立ち、端末管理サーバ２００の管理者によって登録される。
【００７３】
図７に戻り、ユーザ受付部２１１は、ユーザ端末１００から送信されたユーザＩＤとパスワードとを含むユーザ認証要求を受信すると、受信したユーザＩＤに一致するユーザＩＤを含む、記憶部２３０に記憶されるユーザ情報ＤＢ２３１のレコードを探索し、そのレコードのパスワードと受信したパスワードが一致すれば、ユーザ認証成功とする。探索した結果、レコードが存在しない、または、パスワードが一致しない場合には、ユーザ認証失敗とする。
【００７４】
制御部２１０に備わる署名関係情報管理部２１２は、ユーザ端末１００が送信した署名関係情報を受信し、署名を検証して、記憶部２３０に記憶される署名関係情報ＤＢ２３２（後述する図９）を更新する。署名関係情報の受信は、ユーザ受付部２１１がユーザ認証した通信路を介して行う。
【００７５】
図９は、本実施形態に係る端末管理サーバ２００の記憶部２３０に記憶される署名関係情報ＤＢ２３２の構成を例示する図である。
署名関係情報ＤＢ２３２は、例えば、テーブル形式のデータであり、１以上のレコードを含む。各レコードは、１人のユーザの署名関係情報を表し、属性として、ユーザＩＤと、署名関係情報とを含む。
ユーザＩＤはユーザの識別情報である。署名関係情報は、このユーザの署名関係情報である。
【００７６】
図７に戻り、署名関係情報管理部２１２は、ユーザ認証が完了した通信路を通じて、ユーザ端末１００から署名関係情報を受信すると、その署名を検証し、検証に成功すれば、記憶部２３０に記憶される署名関係情報ＤＢ２３２のレコードの中で、ユーザＩＤが、ユーザ受付部２１１が認証したユーザＩＤに一致するレコードの署名関係情報を、受信した署名関係情報に更新する。この署名関係情報には、ユーザＩＤが示すユーザが保有するユーザ端末１００のＩＤと署名関係公開鍵を含んでいる。処理内容の詳細は、図１２〜図１４、図１６を参照して、後述する。
また、署名関係情報管理部２１２は、ユーザ端末１００からの要求に基づいて、署名関係情報を送信する。この時、ユーザ受付部２１１が認証したユーザの署名関係情報を送信する。
【００７７】
制御部２１０に備わる端末利用状況管理部２１３は、ユーザ端末１００の利用状況の問合せや変更を受付け、記憶部２３０の端末利用状況ＤＢ２３３を更新する。また、ユーザ端末１００が登録されると、その所有ユーザに対するユーザ端末１００として、端末利用状況ＤＢ２３３に記録する。
【００７８】
図１０は、本実施形態に係る端末管理サーバ２００の記憶部２３０に記憶される端末利用状況ＤＢ２３３の構成を例示する図である。
端末利用状況ＤＢ２３３は、例えば、テーブル形式のデータであり、１以上のレコードを含む。各レコードは、１台のユーザ端末１００を表し、属性として、端末ＩＤと、ユーザＩＤと、利用状況とを含む。
端末ＩＤはユーザ端末１００の識別情報である。ユーザＩＤは、このユーザ端末１００を所有するユーザの識別情報である。利用状況は、このユーザ端末１００の利用状況であり、利用中であることを示す「利用中」、又は、紛失した可能性等により利用を停止していることを示す「停止中」である。
【００７９】
図７に戻り、ユーザ受付部２１１がユーザ認証を行った後に、端末利用状況管理部２１３は、そのユーザが所有するユーザ端末１００の利用停止要求を受付け、記憶部２３０に記憶される端末利用状況ＤＢ２３３のレコードの中で、条件「ユーザＩＤが、ユーザ受付部２１１がユーザ認証したユーザＩＤに一致し、端末ＩＤが要求にあったユーザ端末１００の識別情報に一致する」を満たすレコードを探索する。一致するレコードがあれば、端末利用状況管理部２１３は、一致したレコードの利用状況を「停止中」に更新し、なければ、エラーをユーザ端末１００に通知する。
【００８０】
利用停止中のユーザ端末１００を利用中に変更する要求を受付けた場合も、端末利用状況管理部２１３は、同様の処理を行い、該当するレコードを「利用中」に更新する。ユーザ端末１００の利用状況の問合わせに対しても、同様の処理を行い、「利用中」または「停止中」を送信する。
【００８１】
≪端末検証サーバ≫
端末検証サーバ３００は、鍵管理セキュアアプリ１２０の識別情報を受取り、当該鍵管理セキュアアプリ１２０の端末検証用公開鍵３０１と端末能力情報３０２を送信する。端末検証用公開鍵３０１と端末能力情報３０２は公開情報なので、端末検証サーバ３００はユーザ認証を行わなくてもよい。
【００８２】
端末能力情報３０２は、秘密鍵を盗もうとする攻撃に対する対抗力（鍵の保護能力）やユーザ認証の確かさのレベル（ユーザ認証方法やその強度）、セキュア領域の有無等、鍵管理セキュアアプリ１２０の安全性のレベルを示す情報である。端末能力情報３０２は、鍵の保護能力、ユーザ認証方法、ユーザ認証の強度、セキュア領域の有無、のうちの少なくとも１つを含み、ペアリング処理で参照される。
また、同期処理の際に、端末能力情報３０２は、ＷＥＢサービスのユーザ認証に用いる秘密鍵の複製の可否、ユーザ端末１００の鍵の保護能力、ユーザ認証方法、ユーザ認証の強度、セキュア領域の有無、のうちの少なくとも１つを規定するＷＥＢサービス４００の認証ポリシ４０１と照合され、ユーザ端末１００への秘密鍵の複製を実行するか否かの判断に用いられる。なお、認証ポリシ４０１はＷＥＢサービス４００から入手できる。
【００８３】
≪ユーザ端末の登録処理≫
図１に戻って、ＷＥＢサービス認証用の秘密鍵の同期を行うことができるユーザ端末１００は、事前に端末管理サーバ２００に登録される。登録は、登録の起点となる一次ユーザ端末１００−１を最初に登録し、その後に１つ目の二次ユーザ端末１００−２、２つ目の二次ユーザ端末（図の記載なし）登録を行う。二次ユーザ端末１００−２を登録する際には、当該ユーザ端末１００は、一次ユーザ端末１００−１と入出力部１４０の直接通信用インタフェース１４２を使って直接通信して、登録される。
【００８４】
なお、ユーザ端末１００の登録の前に、登録される各ユーザ端末１００と端末管理サーバ２００には、ユーザが登録されているとする。即ち、各ユーザ端末１００の認証クレデンシャルＤＢ１６１（図３参照）と、端末管理サーバ２００のユーザ情報ＤＢ２３１（図８参照）には、ユーザが登録されている。
登録した２つのユーザ端末１００は、ペアリングの処理を通じて同期の処理に必要となる鍵を保有し、同期の処理を通じてＷＥＢサービスの認証用の秘密鍵を同期することができる。
以下、図１１〜図１３を参照して、一次ユーザ端末１００−１の登録の処理を、図１４と図１６とを参照して、二次ユーザ端末１００−２の登録の処理を、図１８〜図２１とを参照してペアリングの処理を、図２２と図２３とを参照して、同期の処理を、詳細に説明する。
【００８５】
≪一次ユーザ端末の登録処理≫
図１１は、本実施形態に係る一次ユーザ端末１００−１の登録処理全体を例示するシーケンス図である。
一次ユーザ端末１００−１の登録処理を開始するにあたり、一次ユーザ端末１００−１の鍵管理ノンセキュアアプリ１３０は、安全な通信方法で端末管理サーバ２００に接続する（ステップＳ１０１）。安全な接続方法としては、ＴＬＳ（Transport Layer Security）等の通信データが暗号化され、通信相手であるサーバが認証可能な方法を用いる。端末管理サーバ２００に接続すると、鍵管理ノンセキュアアプリ１３０は、ユーザＩＤとパスワードとを、端末管理サーバ２００に送信する。
【００８６】
端末管理サーバ２００のユーザ受付部２１１は、記憶部２３０（図７参照）に記憶されるユーザ情報ＤＢ２３１（図８）と照合し、照合に失敗すれば、ユーザ認証失敗を鍵管理ノンセキュアアプリ１３０に通知し、鍵管理ノンセキュアアプリ１３０は接続を切断して、登録処理を終える。以降、照合に成功し、ユーザ認証に成功したとして、説明を続ける。
続いて、鍵管理ノンセキュアアプリ１３０は、鍵管理セキュアアプリ１２０の端末初期登録部１２３に登録処理の開始を指示する（ステップＳ１０２）。
【００８７】
鍵管理ノンセキュアアプリ１３０から登録処理の開始の指示を受け、鍵管理セキュアアプリ１２０の端末初期登録部１２３は、ユーザ認証を行う（ステップＳ１０３）。即ち、端末初期登録部１２３は、現在、鍵管理セキュアアプリ１２０を使用しているユーザの認証をユーザ認証部１２１に依頼する。ユーザ認証に失敗すれば、本登録処理を中止する。以下、ユーザ認証に成功したとして説明を続ける。
【００８８】
続いて、端末初期登録部１２３は、自身の署名関係鍵が署名関係鍵ＤＢ１６２（図４参照）に存在するか判断する（ステップＳ１０４）。判断するには、署名関係鍵ＤＢ１６２の中に秘密鍵を含むレコードを探索する。
【００８９】
ステップＳ１０４でＮに分岐する場合、即ち、先の探索でレコードが存在しない場合には、ステップＳ１０５の新規登録に進む。ステップＳ１０５の新規登録の処理は、図１２を参照して後述する。
【００９０】
ステップＳ１０４でＹに分岐する場合、即ち、先の探索でレコードが存在する場合には、端末初期登録部１２３は、ユーザに鍵更新の可否を問合せて、その結果に応じて、署名関係鍵を更新するか否かを判断する（ステップＳ１０６）。
【００９１】
ステップＳ１０６でＹに分岐する場合、即ち、存在する署名関係鍵を更新する場合には、ステップＳ１０７の更新登録に進む。ステップＳ１０７の更新登録の処理は、図１３を参照して後述する。
【００９２】
ステップＳ１０６でＮに分岐する場合、即ち、存在する署名関係鍵を更新しない場合には、端末初期登録部１２３は、ユーザに鍵削除の可否を問合せて、その結果に応じて、署名関係鍵を削除するか否かを判断する（ステップＳ１０８）。
【００９３】
ステップＳ１０８でＮに分岐する場合、即ち、存在する署名関係鍵を削除しない場合には、端末初期登録部１２３は、登録処理を終え、鍵管理ノンセキュアアプリ１３０経由で、登録をしないまま処理を終えたことをユーザに通知する。
ステップＳ１０８でＹに分岐する場合、即ち、存在する署名関係鍵を削除する場合には、端末初期登録部１２３は、鍵管理部１２２に署名関係鍵の削除を指示する（ステップＳ１０９）。
【００９４】
次に、鍵管理部１２２は、署名関係鍵ＤＢ１６２（図４）の全レコードを削除する（ステップＳ１１０）。
次に、鍵管理部１２２は、署名関係鍵を削除したことを端末初期登録部１２３に通知する（ステップＳ１１１）。
続いて、端末初期登録部１２３は、ステップＳ１１２の新規登録に進む。ステップＳ１１２の新規登録の処理は、図１２を参照して後述する。
【００９５】
≪一次ユーザ端末の新規登録処理≫
図１２は、本実施形態に係る一次ユーザ端末１００−１の新規登録を例示するシーケンス図である。本処理は、図１１のステップＳ１０５とＳ１１２に相当する。
端末初期登録部１２３は、鍵管理部１２２に、新規署名関係情報の生成を指示する（ステップＳ２０１）。
【００９６】
鍵管理部１２２は、新規署名関係情報の生成の指示を受け、署名関係鍵（鍵ペア）を生成する（ステップＳ２０２）。次に、鍵管理部１２２は、署名関係鍵ＤＢ１６２（図４）に生成した鍵ペアを格納する。即ち、鍵管理部１２２は、署名関係鍵ＤＢ１６２にレコードを追加して、該レコードの端末ＩＤを自身の端末ＩＤとし、起点を「Ｙ」として、秘密鍵と公開鍵を、それぞれ生成した署名関係秘密鍵と署名関係公開鍵とする。
【００９７】
続いて、鍵管理部１２２は、署名関係情報Ｄ１００を生成する（ステップＳ２０３）。即ち、鍵管理部１２２は、自身の端末ＩＤ「Ｔ０１」と署名関係公開鍵（公開鍵Ｔ０１）からなるデータに対する署名データを、署名関係秘密鍵を用いて生成し、端末ＩＤ（Ｄ１０１）と署名関係公開鍵Ｄ１０２と署名データＤ１０３とからなる署名関係情報Ｄ１００（請求項の一次署名関係情報）を生成する。
【００９８】
次に、鍵管理部１２２は、署名関係情報Ｄ１００を端末初期登録部１２３に送信する（ステップＳ２０４）。
端末初期登録部１２３は、署名関係情報Ｄ１００を受信し、端末管理サーバ２００に送信する（ステップＳ２０５）。この送信は、図１１のステップＳ１０１で説明した、ＴＬＳ等を用いた安全な通信路を使って行われる。
【００９９】
端末管理サーバ２００の署名関係情報管理部２１２は、署名関係情報Ｄ１００を受信すると、署名関係情報Ｄ１００の検証を行う（ステップＳ２０６）。即ち、署名データＤ１０３が、端末ＩＤ（Ｄ１０１）と署名関係公開鍵Ｄ１０２からなるデータに対する署名であるか、署名関係公開鍵Ｄ１０２を用いて検証する。検証に失敗すれば、端末初期登録部１２３に、検証失敗を通知して、処理を終える。以下、検証に成功したとして説明を続ける。
【０１００】
続いて、署名関係情報管理部２１２は、署名関係情報Ｄ１００を署名関係情報ＤＢ２３２（図９参照）に格納する（ステップＳ２０７）。即ち、署名関係情報管理部２１２は、署名関係情報Ｄ１００を署名関係情報ＤＢ２３２のレコードの中で、ユーザＩＤがステップＳ１０１で認証したユーザＩＤに一致するレコードを探索し、レコードが存在すれば、そのレコードの署名関係情報に格納し、レコードが存在しなければ、レコードを追加して、該レコードのユーザＩＤにはステップＳ１０１で認証したユーザＩＤを格納し、署名関係情報に受信した署名関係情報Ｄ１００を格納する。
【０１０１】
次に、端末管理サーバ２００の署名関係情報管理部２１２は、一次ユーザ端末１００−１の端末初期登録部１２３に登録完了を通知する（ステップＳ２０８）。
次に、署名関係情報管理部２１２は、端末利用状況ＤＢ２３３（図１０参照）に一次ユーザ端末１００−１を追加する。即ち、レコードを追加して、該レコードの端末ＩＤは「Ｔ０１」Ｄ１０１に、ユーザＩＤはステップＳ１０１で認証したユーザＩＤに、利用状況は「利用中」に更新する。
続いて、一次ユーザ端末１００−１の端末初期登録部１２３は、登録完了を受信して、署名関係情報Ｄ１００をセキュア記憶部１６０に格納する（ステップＳ２０９）。
【０１０２】
≪一次ユーザ端末の更新登録処理≫
図１３は、本実施形態に係る一次ユーザ端末１００−１の更新登録処理を例示するシーケンス図である。本処理は、図１１のステップＳ１０７の更新登録に相当する。
端末初期登録部１２３は、鍵管理部１２２に、署名関係情報の更新を指示する（ステップＳ３０１）。
【０１０３】
鍵管理部１２２は、署名関係情報の更新の指示を受け、署名関係の鍵ペアを新規に生成する（ステップＳ３０２）。次に、鍵管理部１２２は、署名関係鍵ＤＢ１６２（図４）に生成した鍵ペアを格納する。即ち、鍵管理部１２２は、署名関係鍵ＤＢ１６２のレコードの中で、起点を「Ｙ」のレコードを探索し、該レコードの秘密鍵を旧署名関係秘密鍵として記憶し、秘密鍵と公開鍵を、それぞれ生成した署名関係秘密鍵と署名関係公開鍵に上書きする。
【０１０４】
続いて、鍵管理部１２２は、署名関係情報Ｄ１２０を生成する（ステップＳ３０３）。即ち、鍵管理部１２２は、自身の端末ＩＤ「Ｔ０１」と署名関係公開鍵（新公開鍵Ｔ０１）からなるデータに対する署名データを、署名関係秘密鍵を用いて生成し、端末ＩＤ（Ｄ１２１）と署名関係公開鍵Ｄ１２２と署名データＤ１２３からなる署名関係情報Ｄ１２０を生成する。
【０１０５】
次に、鍵管理部１２２は、署名関係情報Ｄ１２０に対する署名データＤ１１１を、旧署名関係秘密鍵を用いて生成し、署名関係情報Ｄ１２０に付与して、二重署名の署名関係情報Ｄ１１０を生成する（ステップＳ３０４）。二重署名の署名関係情報Ｄ１１０は、署名Ｄ１２３付きの署名関係情報Ｄ１２０に、さらに旧署名関係秘密鍵による署名データＤ１１１が付与された、二重に署名されたデータである。
【０１０６】
続いて、鍵管理部１２２は、二重署名の署名関係情報Ｄ１１０を端末初期登録部１２３に送信する（ステップＳ３０５）。
端末初期登録部１２３は、二重署名の署名関係情報Ｄ１１０を受信し、端末管理サーバ２００に送信する（ステップＳ３０６）。この送信は、図１１のステップＳ１０１で説明した、ＴＬＳ等を用いた安全な通信路を使って行われる。
【０１０７】
端末管理サーバ２００の署名関係情報管理部２１２は、二重署名の署名関係情報Ｄ１１０を受信すると、署名関係情報Ｄ１１０の旧署名関係秘密鍵による署名データＤ１１１の検証を行う（ステップＳ３０７）。即ち、署名関係情報管理部２１２は、署名対象のデータである署名関係情報Ｄ１２０に対する正しい署名データＤ１１１であるか、旧署名関係秘密鍵とペアになる旧署名関係公開鍵を用いて検証する。旧署名関係公開鍵は記憶部２３０の署名関係情報ＤＢ２３２（図９参照）から取得する。即ち、署名関係情報管理部２１２は、署名関係情報ＤＢ２３２の中で、ユーザＩＤがステップＳ１０１で認証したユーザＩＤと一致するレコードの署名関係情報の中の端末ＩＤ（Ｄ１２１）に対応する公開鍵を用いて、署名データＤ１１１を検証する。
【０１０８】
検証に失敗すれば、端末初期登録部１２３に、検証失敗を通知して、処理を終える。以下、検証に成功したとして説明を続ける。
なお、署名関係情報ＤＢ２３２に含まれる署名関係情報には、複数の端末ＩＤと署名関係公開鍵とが含まれるものがある。一次ユーザ端末登録の署名関係情報（Ｄ１００とＤ１２０）には、一次ユーザ端末１００−１の署名関係公開鍵だけが含まれていたが、後述する二次ユーザ端末１００−２の登録における署名関係情報には、複数の端末ＩＤと署名関係公開鍵とが含まれるからである。
【０１０９】
続いて、署名関係情報管理部２１２は、署名関係情報Ｄ１２０の署名の検証を行う（ステップＳ３０８）。この処理は、ステップＳ２０６と同様である。
【０１１０】
続いて、署名関係情報管理部２１２は、署名関係情報Ｄ１２０を署名関係情報ＤＢ２３２（図９参照）に格納する（ステップＳ３０９）。即ち、署名関係情報管理部２１２は、署名関係情報ＤＢ２３２の中で、ユーザＩＤがステップＳ１０１で認証したユーザＩＤと一致するレコードの署名関係情報に、署名関係情報Ｄ１２０を上書きする。
【０１１１】
次に、署名関係情報管理部２１２は、一次ユーザ端末１００−１の端末初期登録部１２３に登録完了を通知する（ステップＳ３１０）。
続いて、一次ユーザ端末１００−１の端末初期登録部１２３は、登録完了を受信して、二重署名の署名関係情報Ｄ１１０の署名関係情報Ｄ１２０を抜出して、セキュア記憶部１６０に格納する（ステップＳ３１１）。
【０１１２】
≪二次ユーザ端末の新規登録処理≫
図１４は、本実施形態に係る二次ユーザ端末１００−２の新規登録を例示するシーケンス図である。
本新規登録を始めるにあたり、一次ユーザ端末１００−１と二次ユーザ端末１００−２とは、通信ケーブル、Bluetooth等を用いて直接接続され、入出力部１４０の直接通信用インタフェース１４２を介して直接通信を行う。一次ユーザ端末１００−１は、図１１のステップＳ１０１と同様に、ユーザ認証を経て端末管理サーバ２００に接続している。また、二次ユーザ端末１００−２のユーザ認証部１２１は、ユーザ認証済みである。
図１１に示した処理と同様にして、二次ユーザ端末１００−２に署名関係鍵が存在しない、若しくは、署名関係鍵を削除して、新規に二次ユーザ端末１００−２として登録するものとして、説明する。
【０１１３】
一次ユーザ端末１００−１の端末登録応答部１２５と、二次ユーザ端末１００−２の端末登録要求部１２４とは、直接通信可能な接続であることを確認する（ステップＳ４０１）。確認できなければ、処理を中断する。以下、確認できたとして説明を続ける。
二次ユーザ端末１００−２の端末登録要求部１２４のステップＳ４０２から、ステップＳ４０５までの処理は、図１２で説明した、一次ユーザ端末１００−１の新規登録処理のステップＳ２０１からステップＳ２０４とほぼ同様である。異なるのは、署名関係鍵ＤＢ１６２（図４参照）にレコードの起点が「Ｎ」となる点である。これは、二次ユーザ端末１００−２の登録処理であるからである。生成した署名関係情報をＤ１４０（請求項の二次署名関係情報）に例示する。
【０１１４】
続いて、二次ユーザ端末１００−２の端末登録要求部１２４は、自身の署名関係情報Ｄ１４０を一次ユーザ端末１００−１に、直接通信を介して送信して、自身の登録を依頼する（ステップＳ４０６）。
一次ユーザ端末１００−１の端末登録応答部１２５は、二次ユーザ端末１００−２の署名関係情報Ｄ１４０を受信し、登録の依頼を受付ける。次に、ユーザ認証を行う（ステップＳ４０７）。即ち、一次ユーザ端末１００−１のユーザ認証部１２１（図２参照）に依頼してユーザ認証を行う。さらに、端末登録応答部１２５は、署名関係鍵ＤＢ１６２に起点が「Ｙ」であり、秘密鍵を含むレコードが存在することを確認して、自身が一次ユーザ端末１００−１であることを確認する。
【０１１５】
端末登録応答部１２５は、鍵管理部１２２に、二次ユーザ端末１００−２の署名関係情報Ｄ１４０を送信し、二重署名の署名関係情報の生成を依頼する（ステップＳ４０８）。
続いて、鍵管理部１２２は署名関係情報Ｄ１４０の署名データＤ１４３を検証する（ステップＳ４０９）。検証方法はステップＳ２０６と同様であり、以下、検証に成功したとして説明を続ける。
【０１１６】
次に、鍵管理部１２２は、図１５に例示する二重署名の署名関係情報を生成する（ステップＳ４１０）。以下、この処理を説明する。自身の端末ＩＤ（Ｄ１７１）と、自身の署名関係公開鍵Ｄ１７２と、二次ユーザ端末１００−２の端末ＩＤ（Ｄ１７３）と、二次ユーザ端末１００−２の署名関係公開鍵Ｄ１７４とからなるデータに対して、自身の署名関係秘密鍵で署名データＤ１７５を生成し、新署名関係情報Ｄ１７０（請求項の新規一次署名関係情報）を生成する。この新署名関係情報Ｄ１７０が一次ユーザ端末１００−１の所有ユーザの新しい署名関係情報となる。
続いて、二次ユーザ端末１００−２の署名関係情報Ｄ１４０と新署名関係情報Ｄ１７０を併せたデータに対して、自身の署名関係秘密鍵で署名データＤ１８１を生成して、二重署名の署名関係情報Ｄ１８０を生成する。
【０１１７】
次に、鍵管理部１２２は、端末登録応答部１２５に送信する（ステップＳ４１１）。
端末登録応答部１２５は、二重署名の署名関係情報Ｄ１８０を受信して、二重署名の署名関係情報Ｄ１８０（請求項の新規一次署名関係情報を含んだ情報）を端末管理サーバ２００に送信して、登録を依頼する（ステップＳ４１２）。
【０１１８】
端末管理サーバ２００の署名関係情報管理部２１２は、二重署名の署名関係情報Ｄ１８０の署名を検証する（ステップＳ４１３）。署名データＤ１４３の検証は、署名関係公開鍵Ｄ１４２を用いて、署名データＤ１７５と署名データＤ１８１の検証は、署名関係情報ＤＢ２３２（図９参照）に格納された、ユーザ受付部２１１が認証したユーザの署名関係情報に含まれる一次ユーザ端末１００−１の署名関係公開鍵を用いる。さらに、二次ユーザ端末１００−２の２つのＩＤ（Ｄ１４１とＤ１７３）が一致し、２つの署名関係公開鍵（Ｄ１４２とＤ１７４）が一致することを確認する。
【０１１９】
続いて、署名関係情報管理部２１２は、新署名関係情報Ｄ１７０を抜取り、署名関係情報ＤＢ２３２に格納する（ステップＳ４１４）。
次に、署名関係情報管理部２１２は、図１２や図１３に示した一次ユーザ端末１００−１の場合と同様に、端末利用状況ＤＢ２３３（図１０参照）に二次ユーザ端末１００−２を追加する。
【０１２０】
次に、署名関係情報管理部２１２は、登録を完了したことを一次ユーザ端末１００−１に通知する（ステップＳ４１５）。
続いて、一次ユーザ端末１００−１の端末登録応答部１２５は、新署名関係情報Ｄ１７０を二次ユーザ端末１００−２に直接通信を介して送信し（ステップＳ４１６）、新署名関係情報Ｄ１７０をセキュア記憶部１６０に格納して（ステップＳ４１７）、セキュア記憶部１６０の署名関係鍵ＤＢ１６２に二次ユーザ端末１００−２のレコードを追加し、該レコードの起点を「Ｎ」として、端末ＩＤと公開鍵を格納する。
【０１２１】
二次ユーザ端末１００−２の端末登録要求部１２４は、新署名関係情報Ｄ１７０を受信し、セキュア記憶部１６０に格納する（ステップＳ４１８）。さらに、署名関係鍵ＤＢ１６２（図４参照）にレコードを追加し、起点は「Ｙ」とし、端末ＩＤは一次ユーザ端末１００−１の端末ＩＤ（Ｄ１７１）とし、公開鍵は署名関係公開鍵Ｄ１７２とし、秘密鍵は「−」として、レコードを格納する。
【０１２２】
≪二次ユーザ端末の更新登録処理≫
図１６は、本実施形態に係る二次ユーザ端末１００−２の更新登録を例示するシーケンス図である。
本更新登録を始めるにあたり、一次ユーザ端末１００−１と二次ユーザ端末１００−２とは、通信ケーブル、Bluetooth等を用いて直接接続され、直接通信用インタフェース１４２を介して直接通信を行う。一次ユーザ端末１００−１は、図１１のステップＳ１０１と同様に、ユーザ認証を経て端末管理サーバ２００に接続している。また、二次ユーザ端末１００−２のユーザ認証部１２１は、ユーザ認証済みである。
図１１に示した処理と同様にして、二次ユーザ端末１００−２には、署名関係鍵があり、これを更新して二次ユーザ端末１００−２として登録するものとして、説明する。
【０１２３】
一次ユーザ端末１００−１の端末登録応答部１２５と、二次ユーザ端末１００−２の端末登録要求部１２４とは、直接通信可能な接続であることを確認する（ステップＳ５０１）。確認できなければ、処理を中断する。以下、確認できたとして説明を続ける。
二次ユーザ端末１００−２の端末登録要求部１２４のステップＳ５０２から、ステップＳ５０６までの処理は、図１３で説明した、一次ユーザ端末１００−１の更新登録処理のステップＳ３０１からステップＳ３０５とほぼ同様である。異なるのは、署名関係鍵ＤＢ１６２（図４参照）にレコードの起点が「Ｎ」となる点である。これは、二次ユーザ端末１００−２の登録処理であるからである。生成した署名関係情報をＤ１５０に例示する。
【０１２４】
二次ユーザ端末１００−２の端末登録要求部１２４のステップＳ５０７から、一次ユーザ端末１００−１の端末登録応答部１２５のステップＳ５１３までの処理は、図１４で説明した、二次ユーザ端末１００−２の端末登録要求部１２４のステップＳ４０６から、一次ユーザ端末１００−１の端末登録応答部１２５のステップＳ４１２までの処理とほぼ同様である。異なるのは署名検証のステップＳ５１０である。旧署名Ｔ０２（Ｄ１５１）の検証には、既存の二次ユーザ端末１００−２の署名関係公開鍵を用いる。この鍵は、署名関係鍵ＤＢ１６２の二次ユーザ端末１００−２のレコードから得ることができる。
【０１２５】
生成した二重署名の署名関係情報を図１７に例示する。新署名関係情報Ｄ１７０ａは、二次ユーザ端末１００−２の署名関係公開鍵Ｄ１７４ａが更新された公開鍵であることを除いては、図１４に示した新署名関係情報Ｄ１７０と同じである。
【０１２６】
端末管理サーバ２００の署名関係情報管理部２１２のステップＳ５１４から、二次ユーザ端末１００−２の端末登録要求部１２４のステップＳ５１９までの処理は、図１４で説明した、端末管理サーバ２００の署名関係情報管理部２１２のステップＳ４１３から、二次ユーザ端末１００−２の端末登録要求部１２４のステップＳ４１８までの処理とほぼ同様である。異なるのは署名検証のステップＳ５１４である。旧署名Ｔ０２（Ｄ１５１）の検証には、既存の二次ユーザ端末１００−２の署名関係公開鍵を用いる。この鍵は、署名関係情報ＤＢ２３２（図９参照）に格納された、ユーザ受付部２１１が認証したユーザの署名関係情報に含まれる二次ユーザ端末１００−２の署名関係公開鍵を用いる。
【０１２７】
以上で説明した署名関係情報には、一次ユーザ端末１００−１と１つの二次ユーザ端末１００−２の署名関係公開鍵が含まれていた。二次ユーザ端末１００−２の登録を繰り返せば、署名関係情報に含まれる端末ＩＤと署名関係公開鍵とは増加し、登録済み全てのユーザ端末１００の署名関係公開鍵が含まれる。これは、二重署名の署名関係情報の生成（ステップＳ４１０とＳ５１１）において、署名関係鍵ＤＢ１６２（図４参照）に格納される公開鍵（署名関係公開鍵）を含めて生成するためである。
【０１２８】
≪ペアリング処理≫
図１８〜図２１とは、本実施形態に係る、登録済みのユーザ端末１００−Ａとユーザ端末１００−Ｂとの間のペアリング処理を例示するシーケンス図である。
本ペアリング処理を始めるにあたり、ユーザ端末１００−Ａとユーザ端末１００−Ｂとは、通信ケーブル、Bluetooth等を用いて直接接続され、直接通信用インタフェース１４２を介して直接通信を行う。
以下、図１８を参照して、ペアリング処理を説明する。
【０１２９】
ユーザ端末１００−Ａの鍵管理ノンセキュアアプリ１３０から鍵管理セキュアアプリ１２０にペアリング要求を指示する。ペアリング要求の指示を受けると、鍵管理セキュアアプリ１２０のペアリング制御部１２６は、自身がペアリング相手であるユーザ端末１００−Ｂと直接通信で接続されているか確認する（ステップＳ６０１−Ａ）。
続いて、ペアリング制御部１２６は、ユーザ認証部１２１（図２参照）にユーザ認証を依頼する（ステップＳ６０２−Ａ）。
【０１３０】
次に、ペアリング制御部１２６は、端末管理サーバ２００に問い合わせて、自身であるユーザ端末１００−Ａが利用停止中でないことを確認する（ステップＳ６０３−Ａ）。
同様の処理を、ユーザ端末１００−Ｂでも行う（ステップＳ６０１−ＢからステップＳ６０３−Ｂ）。
【０１３１】
続いて、ユーザ端末１００−Ａのペアリング制御部１２６は、ユーザ端末１００−Ｂに鍵交換要求を送信する（ステップＳ６０４）。
鍵交換要求を送信すると、次に、ユーザ端末１００−Ａのペアリング制御部１２６は、鍵管理部１２２にユーザ端末１００−Ｂと鍵交換を開始するように指示する（Ｓ６０５−Ａ）。同様に、鍵交換要求を受信すると、ユーザ端末１００−Ｂのペアリング制御部１２６は、鍵管理部１２２にユーザ端末１００−Ａと鍵交換を開始するように指示する（Ｓ６０５−Ｂ）。
【０１３２】
続いて、ユーザ端末１００−Ａの鍵管理部１２２と、ユーザ端末１００−Ｂの鍵管理部１２２とは、鍵交換を行う（ステップＳ６０６）。
代表的な鍵交換の方法として、Diffie-Hellmanのアルゴリズムがあり、このアルゴリズムを用いて共通鍵を共有し、ユーザ端末１００−Ａとユーザ端末１００−Ｂとの安全な通信路を確立することができる。
【０１３３】
これとは別に、署名関係情報を用いて、以下の手順で共通鍵を得て、安全な通信路を確立することができる。即ち、それぞれのユーザ端末（１００−Ａと１００−Ｂ）が、（１）相手端末の署名関係情報を入手して、（２）一次ユーザ端末１００−１の署名関係公開鍵を用いて、該署名関係情報の署名を検証し、（３）該署名関係情報の中の相手の署名関係公開鍵を用いて、新規に生成した乱数を暗号化して、相手に送信し、（４）受信した暗号化された乱数を自身の署名関係秘密鍵で復号して相手が生成した乱数と取り出し、（５）自身が生成した乱数との排他的論理和を共通鍵とする。
【０１３４】
相手の署名関係情報は、端末管理サーバ２００に問合せて入手ことができる。又は、鍵交換（ステップＳ６０４）の開始の前に、２つのユーザ端末（１００−Ａと１００−Ｂ）との間で、セキュア記憶部１６０に記憶した署名関係情報を送信し合うことでも、入手することが可能である。
【０１３５】
署名関係鍵ＤＢ１６２に格納された一次ユーザ端末１００−１の署名関係公開鍵を用いて、相手のユーザ端末から受信した署名関係情報の署名を検証した後に、相手のユーザ端末（１００−Ａ又は１００−Ｂ）の署名関係公開鍵を得ることができる。セキュア記憶部１６０の署名関係鍵ＤＢ１６２（図４参照）の中に存在すれば、これを利用することもできる。なお、一次ユーザ端末１００−１の署名関係公開鍵は、ステップＳ４１８ないしはＳ５１９において、セキュア記憶部１６０と署名関係鍵ＤＢ１６２に記憶している。
【０１３６】
ユーザ端末１００−Ａの鍵管理部１２２は、ユーザ端末１００−Ｂとの鍵交換が完了したことをペアリング制御部１２６に通知する（ステップＳ６０７−Ａ）。同様に、ユーザ端末１００−Ｂの鍵管理部１２２は、ユーザ端末１００−Ａとの鍵交換が完了したことをペアリング制御部１２６に通知する（ステップＳ６０７−Ｂ）。
以下、２つのユーザ端末（１００−Ａと１００−Ｂ）の間の通信は、この共有鍵を用いて保護された安全な通信路を通じて行う。
【０１３７】
引続き、図１９を参照して、ペアリング処理の説明を続ける。
ユーザ端末１００−Ａのペアリング制御部１２６は、ペアリング認証書要求をユーザ端末１００−Ｂに送信する（ステップＳ６０８）。この際に、新規に生成した乱数を付加的に送信することもできる。以下では、該乱数（以下、乱数Ｔ０Ａと記す）が付加されたとして説明する。
【０１３８】
ユーザ端末１００−Ｂのペアリング制御部１２６は、鍵管理部１２２に、乱数Ｔ０Ａを送信し、ペアリング認証書の生成を依頼する（ステップＳ６０９）。
ユーザ端末１００−Ｂの鍵管理部１２２は、自身の端末ＩＤである「Ｔ０Ｂ」と乱数Ｔ０Ａとを合わせたデータに対する署名データを、自身の署名関係秘密鍵を用いて生成する。生成したデータを、Ｄ２１０に例示している。即ち、自身の端末ＩＤ（Ｄ２１１）と乱数Ｔ０Ａ（Ｄ２１２）と生成された署名データＤ２１３を含むデータＤ２１０を生成する。なお、自身の署名関係秘密鍵は、署名関係鍵ＤＢ１６２中の端末ＩＤが自身の「Ｔ０Ｂ」であるレコードの秘密鍵から得ることができる。
【０１３９】
次に、鍵管理部１２２は、セキュア記憶部１６０に記憶された端末検証用秘密鍵１６５（図２参照）を用いて、データＤ２１０と、鍵管理セキュアアプリ１２０のＩＤ（Ｄ２０１）とを合わせたデータに対する署名データＤ２０２を生成し、データＤ２１０と、鍵管理セキュアアプリ１２０のＩＤ（Ｄ２０１）と、署名データＤ２０２とを含むペアリング認証書Ｄ２００を生成する（ステップＳ６１０）。
続いて、ペアリング認証書Ｄ２００をペアリング制御部１２６に送信する（ステップＳ６１１）。
ペアリング制御部１２６は、ペアリング認証書Ｄ２００を受信して、ユーザ端末１００−Ａにペアリング認証書Ｄ２００を送信する（ステップＳ６１２）。
【０１４０】
ユーザ端末１００−Ａのペアリング制御部１２６は、ペアリング認証書Ｄ２００を受信し、ペアリング認証書Ｄ２００の中の鍵管理アプリＩＤ（Ｄ２０１）を取出し、端末検証サーバ３００に送信して、鍵管理アプリＩＤ（Ｄ２０１）に対応する端末検証用公開鍵３０１と端末能力情報３０２を問合せる（ステップＳ６１３）。
【０１４１】
次に、ペアリング制御部１２６は、端末検証サーバ３００から、端末検証用公開鍵３０１と端末能力情報３０２を得て、鍵管理部１２２に依頼して、端末検証署名Ｔ０Ｂ（Ｄ２０２）を検証する（ステップＳ６１４）。検証に失敗すれば、ペアリング処理を中止する。以下、検証に成功したとして説明を続ける。
【０１４２】
続いて、ペアリング制御部１２６は、端末能力情報３０２を参照して、相手の鍵管理セキュアアプリ１２０が所定の安全性のレベルを確保していることを確認する（ステップＳ６１５）。即ち、ユーザ端末１００−Ｂの、鍵の保護能力、ユーザ認証方法、ユーザ認証の強度、セキュア領域の有無など少なくとも１つを確認する。確認できなければ、ペアリング処理を中止する。以下、確認できたとして説明を続ける。
【０１４３】
次に、ペアリング制御部１２６は、ペアリング認証書Ｄ２００内の乱数Ｔ０Ａ（Ｄ２１２）が、自身がステップＳ６０８で送信した乱数と一致することを確認する。さらに、ペアリング制御部１２６は、鍵管理部１２２に依頼して、署名関係署名Ｔ０Ｂ（Ｄ２１３）を検証する（ステップＳ６１６）。乱数の確認又は署名データの検証に失敗すれば、ペアリング処理を中止する。以下、成功したとして説明を続ける。
【０１４４】
ユーザ端末１００−Ａのペアリング制御部１２６は、ユーザ端末１００−Ｂに検証が成功したことを通知する（ステップＳ６１７）。
【０１４５】
図２０は図１９に続く処理であり、ユーザ端末１００−Ａとユーザ端末１００−Ｂを入替えた処理である。よって、詳細な説明を省略する。
引続き、図２１を参照してペアリング処理の説明を続ける。
ユーザ端末１００−Ａのペアリング制御部１２６は、鍵管理部１２２にペアリング用証明書の生成を依頼する（ステップＳ６２８）。
【０１４６】
鍵管理部１２２は、以下の手順でペアリング用証明書Ｄ３１０を生成する（ステップＳ６２９）。以下、ステップＳ６２９を詳細に説明する。
同期に用いる暗号化用鍵ペアと、署名用鍵ペアとを、それぞれ生成する。生成した４つの鍵は、セキュア記憶部１６０の同期用鍵ＤＢ１６４（図５参照）に格納する。即ち、鍵管理部１２２は、同期用鍵ＤＢ１６４にレコードを追加して、該レコードの端末ＩＤを相手のユーザ端末１００−ＢのＩＤである「Ｔ０Ｂ」に、受信用秘密鍵を暗号化用鍵ペアの秘密鍵に、受信用公開鍵を暗号化用鍵ペアの公開鍵に、署名用公開鍵を署名用鍵ペアの公開鍵に、署名用秘密鍵を署名用鍵ペアの秘密鍵に更新する。送信用公開鍵と検証用公開鍵は、未定なので、両方とも「−」とする。
【０１４７】
続いて、鍵管理部１２２は、自身の端末ＩＤである「Ｔ０Ａ」（Ｄ３１１）と、暗号化用鍵ペアの公開鍵Ｄ３１２（請求項の暗号化用公開鍵）と、署名用鍵ペアの公開鍵Ｄ３１３（請求項の署名用公開鍵）とを合わせたデータに対して、署名用鍵ペアの秘密鍵を用いて署名データＤ３１４を生成し、ペアリング用証明書Ｄ３１０を生成する。
次に、鍵管理部１２２は、生成したペアリング用証明書Ｄ３１０をペアリング制御部１２６に送信する（ステップＳ６３０）。
ペアリング制御部１２６は、ペアリング用証明書Ｄ３１０を受信し、相手のユーザ端末１００−Ｂに送信する（ステップＳ６３１）。
【０１４８】
続く、ユーザ端末１００−ＢでのステップＳ６３２からステップＳ６３５までの処理は、ユーザ端末１００−ＡでのステップＳ６２８からステップＳ６３１までの処理と同様である。
【０１４９】
ユーザ端末１００−Ｂのペアリング制御部１２６は、ユーザ端末１００−Ａのペアリング用証明書Ｄ３１０を鍵管理部１２２に送信する（ステップＳ６３６）。
ユーザ端末１００−Ｂの鍵管理部１２２は、ペアリング用証明書Ｄ３１０を受信すると、この証明書を検証する（ステップＳ６３７）。即ち、署名Ｔ０Ａ（Ｄ３１４）が正しい署名か、署名用公開鍵Ｔ０Ａ（Ｄ３１３）を用いて検証する。検証に失敗すれば、ペアリング処理を中止する。以下、成功したとして説明を続ける。
【０１５０】
続いて、ユーザ端末１００−Ｂの鍵管理部１２２は、暗号化用公開鍵Ｔ０Ａ（Ｄ３１２）と署名用公開鍵Ｔ０Ａ（Ｄ３１３）とを、セキュア記憶部１６０の同期用鍵ＤＢ１６４（図５参照）に格納する（ステップＳ６３８）。即ち、鍵管理部１２２は、同期用鍵ＤＢ１６４の中で、端末ＩＤがペアリング相手のＩＤである「Ｔ０Ａ」に一致するレコードの送信用公開鍵を暗号化用公開鍵Ｔ０Ａ（Ｄ３１２）に、検証用公開鍵を署名用公開鍵Ｔ０Ａ（Ｄ３１３）に、更新する。さらに、ペアリング制御部１２６は、ステップＳ６２５で確認した端末能力情報３０２に記載される端末の能力を、該レコードの端末能力に追加する。
【０１５１】
続く、ユーザ端末１００−ＡでのステップＳ６３９からステップＳ６４１までの処理は、ユーザ端末１００−ＢでのステップＳ６３６からステップＳ６３８までの処理と同様である。
ペアリング用証明書（Ｄ３１０とＤ３２０）の署名データ（Ｄ３１４とＤ３２４）は、署名用鍵ペアの秘密鍵を用いて生成していたが、署名関係秘密鍵を用いて生成することもできる。この場合には、署名関係公開鍵を用いて検証する。
【０１５２】
≪同期処理≫
図２２と図２３とは、本実施形態に係るペアリング済みのユーザ端末１００−Ａとユーザ端末１００−Ｂの同期処理を例示するシーケンス図である。
同期処理を始めるにあたり、ユーザ端末１００−Ａとユーザ端末１００−Ｂとは、通信ケーブル、Bluetooth等を用いて直接接続され、直接通信が可能である。さらに、ユーザ端末１００−Ａとユーザ端末１００−Ｂとは、ペアリングを済ませている。
以下、図２２を参照して同期処理の説明を行う。
【０１５３】
ユーザ端末１００−Ａの同期制御部１２７は、自身がユーザ端末１００−Ｂと直接通信で接続されていることを検出する（ステップＳ７０１−Ａ）。この検出により、以下のユーザ端末１００−Ａの処理が自動的に始まる。
続いて、同期制御部１２７は、端末管理サーバ２００に問い合わせて、自身であるユーザ端末１００−Ａが利用停止中でないことを確認する（ステップＳ７０２−Ａ）。
ユーザ端末１００−Ｂでも、同様の処理を実行する（ステップＳ７０１−ＢとステップＳ７０２−Ｂ）。
【０１５４】
ユーザ端末１００−Ａの同期制御部１２７とユーザ端末１００−Ｂの同期制御部１２７とは、それぞれの端末ＩＤと新規に作成した乱数とを交換する（ステップＳ７０３）。即ち、ユーザ端末１００−Ａの同期制御部１２７は、自身の端末ＩＤである「Ｔ０Ａ」と新規に生成した乱数Ｔ０Ａをユーザ端末１００−Ｂに送信し、同様に、ユーザ端末１００−Ｂの同期制御部１２７は、自身の端末ＩＤである「Ｔ０Ｂ」と新規に生成した乱数Ｔ０Ｂをユーザ端末１００−Ａに送信する。ユーザ端末１００−Ａの同期制御部１２７は、端末ＩＤの「Ｔ０Ｂ」と乱数Ｔ０Ｂを受信し、ユーザ端末１００−Ｂの同期制御部１２７は、端末ＩＤの「Ｔ０Ａ」と乱数Ｔ０Ａを受信する。
【０１５５】
ユーザ端末１００−Ａの同期制御部１２７は、鍵管理部１２２に、ステップＳ７０３で受信した端末ＩＤの「Ｔ０Ｂ」と乱数Ｔ０Ｂを送信し、同期署名データの生成を依頼する（ステップＳ７０４）。
鍵管理部１２２は、端末ＩＤの「Ｔ０Ｂ」と乱数Ｔ０Ｂを受信して、同期署名データＤ４１０を生成する（ステップＳ７０５）。以下、この処理を説明する。
【０１５６】
鍵管理部１２２は、セキュア記憶部１６０の同期用鍵ＤＢ１６４（図５参照）の中で、端末ＩＤが受信した「Ｔ０Ｂ」に一致するレコードを探索する。相手のユーザ端末１００−Ｂとはペアリング済みなので、当該レコードは存在し、該レコードの署名用秘密鍵を用いて、自身の端末ＩＤである「Ｔ０Ａ」（Ｄ４１１）と受信した乱数Ｔ０Ｂ（Ｄ４１２）とを合わせたデータに対する署名データＤ４１３を生成し、同期署名データＤ４１０を生成する。
【０１５７】
鍵管理部１２２は、生成した同期署名データＤ４１０を同期制御部１２７に送信する（ステップＳ７０６）。
同期制御部１２７は、同期署名データＤ４１０を受信して、ユーザ端末１００−Ｂに送信する（ステップＳ７０７）。
【０１５８】
ユーザ端末１００−Ｂの同期制御部１２７は、同期署名データＤ４１０を受信する。続いて同期制御部１２７は、ステップＳ７０３で受信した端末ＩＤの「Ｔ０Ａ」と自身が生成した乱数Ｔ０Ｂ、並びに、同期署名データＤ４１０を、鍵管理部１２２に送信して、同期署名データＤ４１０の検証を依頼する（ステップＳ７０８）。
鍵管理部１２２は、同期署名データＤ４１０を検証する（ステップＳ７０９）。以下、この処理を説明する。
【０１５９】
先ず、鍵管理部１２２は、同期署名データＤ４１０の中の乱数Ｔ０Ｂ（Ｄ４１２）とステップＳ７０８で受信した乱数Ｔ０Ｂが一致するか確認する。次に、同期制御部１２７は、同期署名データＤ４１０の中の端末ＩＤの「Ｔ０Ａ」（Ｄ４１１）とステップＳ７０８で受信した端末ＩＤの「Ｔ０Ａ」が一致するか確認する。いずれかの確認に失敗すれば、同期処理を中止する。以下、成功したとして説明を続ける。
【０１６０】
続いて、鍵管理部１２２は、セキュア記憶部１６０の同期用鍵ＤＢ１６４（図５参照）の中で、端末ＩＤが受信した「Ｔ０Ａ」に一致するレコードを探索する。相手のユーザ端末１００−Ａとはペアリング済みなので、当該レコードは存在し、該レコードの検証用公開鍵を取出し、この鍵を用いて、署名データＤ４１３が正しいかを検証する。検証に失敗すれば、同期処理を中止する。以下、成功したとして説明を続ける。
鍵管理部１２２は、同期署名データＤ４１０の検証に成功したことを、同期制御部１２７に通知する（ステップＳ７１０）。
【０１６１】
続く、ユーザ端末１００−ＢでのステップＳ７１１からステップＳ７１４までの処理は、ユーザ端末１００−ＡでのステップＳ７０４からステップＳ７０７までの処理と同様である。
続く、ユーザ端末１００−ＡでのステップＳ７１５からステップＳ７１７までの処理は、ユーザ端末１００−ＢでのステップＳ７０８からステップＳ７１０までの処理と同様である。
【０１６２】
引き続き、図２３を参照して、同期処理の説明を続ける。
ユーザ端末１００−Ａの同期制御部１２７は、鍵管理部１２２に、ＵＲＬリストの作成を依頼する（ステップＳ７１８−Ａ）。
鍵管理部１２２は、ＵＲＬリストを作成する（ステップＳ７１９−Ａ）。即ち、鍵管理部１２２は、セキュア記憶部１６０のＷＥＢサービス鍵ＤＢ１６３（図６参照）のＵＲＬを収集して、リストを作成する。
次に、鍵管理部１２２は、ステップＳ７１９で作成したＵＲＬのリストを、同期制御部１２７に送信する（ステップＳ７２０−Ａ）。
【０１６３】
続いて、同期制御部１２７は、ＷＥＢサービス４００の認証ポリシ４０１の問合せを行う（ステップＳ７２１−Ａ）。即ち、受信したＵＲＬのリストに含まれる個々のＷＥＢサービス４００にアクセスして、認証ポリシ４０１を入手する。認証ポリシ４０１には、パスワード・指紋・静脈・サイン等のユーザ認証方法やその強度、ソフトウェア・ハードウェア等の鍵の保護方法（鍵の保護能力）、ユーザ端末１００のＣＰＵ・ＣＰＵとは異なるプロセッサ等のユーザ認証を行うハードウェア、鍵の複製の可否、セキュア領域の有無などがある。
【０１６４】
次に、同期制御部１２７は、ＷＥＢサービス４００の認証ポリシ４０１を参照して、鍵同期の可否を判断する（ステップＳ７２２−Ａ）。即ち、鍵の複製の可否、相手のユーザ端末１００−Ｂの鍵の保護能力、ユーザ認証方法、ユーザ認証の強度、セキュア領域の有無の少なくとも１つを確認し、ＷＥＢサービス４００の認証ポリシ４０１を満たしているかを判断し、同期の可否を判定する。相手のユーザ端末１００−Ｂのユーザ認証方法や秘密鍵の保護方法（保護能力）は、同期用鍵ＤＢ１６４（図５参照）のユーザ端末１００−Ｂのレコードの端末能力から得ることができる。
【０１６５】
続いて、ステップＳ７２２−Ａで鍵同期が可であるＷＥＢサービスのＵＲＬのリストを作成し、鍵管理部１２２に送信して、同期可能鍵リストの作成を依頼する（ステップＳ７２３−Ａ）。
鍵管理部１２２は、ＵＲＬのリストを受信して、ＷＥＢサービス鍵ＤＢ１６３に記憶される、ＵＲＬに対応する公開鍵のリストを作成し、同期可能鍵リストとして同期制御部１２７に送信する（ステップＳ７２４−Ａ）。
【０１６６】
ユーザ端末１００−Ａと同様に、ユーザ端末１００−Ｂでも、ステップＳ７１８−ＢからステップＳ７２４−Ｂの処理を行う。
ユーザ端末１００−Ａの同期制御部１２７とユーザ端末１００−Ｂの同期制御部１２７とは、各々の鍵管理部１２２から同期可能鍵リストを受信し、それぞれ相手に受信した同期可能鍵リストを送信する（ステップＳ７２５）。
【０１６７】
続いて、ユーザ端末１００−Ａの同期制御部１２７とユーザ端末１００−Ｂの同期制御部１２７とのそれぞれは、受信した同期可能鍵リストを鍵管理部１２２に送信し、同期を指示する（ステップＳ７２６）。
【０１６８】
各々の鍵管理部１２２は、受信した同期可能鍵リストの中から、自身が保有していない鍵を相手の鍵管理部１２２から入手して、同期を行う（ステップＳ７２７）。以下、この同期の処理を説明する。
先ず、ユーザ端末１００−Ａの鍵管理部１２２は、ステップＳ７２６で受信した公開鍵のリストの中で、ＷＥＢサービス鍵ＤＢ１６３（図６参照）に存在しない公開鍵を特定し、この特定した公開鍵のリストに署名し、署名付きの公開鍵のリストを暗号化して、相手であるユーザ端末１００−Ｂの鍵管理部１２２に送信する。署名するには、同期用鍵ＤＢ１６４（図５参照）の相手のユーザ端末１００−Ｂに対応するレコードの署名用秘密鍵を用い、暗号化するには、送信用公開鍵を用いる。
【０１６９】
ユーザ端末１００−Ｂの鍵管理部１２２は、署名され、暗号化された公開鍵のリストを受信し、復号して、署名を検証する。復号するには、同期用鍵ＤＢ１６４の相手のユーザ端末１００−Ａに対応するレコードの受信用秘密鍵を用い、検証するには、検証用公開鍵を用いる。復号又は署名検証に失敗した場合には、同期処理を中止する。以下、成功したとして説明を続ける。
【０１７０】
ユーザ端末１００−Ｂの鍵管理部１２２は、公開鍵のリストに含まれる、各公開鍵に対応するＷＥＢサービス４００のＵＲＬと、ユーザＩＤと、秘密鍵と、公開鍵とを、セキュア記憶部１６０に記憶されるＷＥＢサービス鍵ＤＢ１６３（図６参照）から取出し、リストにして、署名し、暗号化する。署名と暗号化の方法は、先にユーザ端末１００−Ａの鍵管理部１２２が公開鍵のリストに対して行った署名と暗号化の方法と同様である。署名し、暗号化したリストをユーザ端末１００−Ａの鍵管理部１２２に送信する。
【０１７１】
署名され、暗号化されたリストをユーザ端末１００−Ａの鍵管理部１２２が受信すると、復号し、署名の検証を行い、得られたＵＲＬとユーザＩＤと秘密鍵と公開鍵とを、セキュア記憶部１６０に記憶されるＷＥＢサービス鍵ＤＢ１６３に追加する。
以上は、ユーザ端末１００−Ｂからユーザ端末１００−Ａへの方向のＵＲＬとユーザＩＤと秘密鍵と公開鍵の同期（複製）であったが、逆方向も同様であり、これで同期の処理が完了する。
ユーザ端末１００−Ａとユーザ端末１００−Ｂの鍵管理部１２２は、それぞれ、同期の完了を同期制御部１２７に通知する（ステップＳ７２８）。
【０１７２】
以上の同期処理は、直接通信可能であることを検出して（ステップＳ７０１の接続検出）開始した。即ち、ユーザ端末１００−Ａとユーザ端末１００−Ｂとを直接接続することで、その後はユーザの操作なしで同期することができる。
【０１７３】
同期する秘密鍵を識別するのに、ステップＳ７１９やステップＳ７２７に示すように、ＷＥＢサービス鍵ＤＢ１６３に記憶されるＵＲＬや公開鍵を利用していたが、これに限る必要はなく、例えば秘密鍵のハッシュ値を用いても構わない。
また、同期する秘密鍵は、ＷＥＢサービスのユーザ認証用の秘密鍵に限る必要はなく、ＷＥＢサービスのユーザ認証用以外の公開鍵暗号の秘密鍵でも同期可能である。同期する秘密鍵の識別にハッシュ値を用いれば、公開鍵暗号の秘密鍵に限る必要もなく、共通鍵暗号の鍵でも可能である。
【０１７４】
≪秘密鍵同期システムの効果≫
従来までのＷＥＢサービスの秘密鍵を保有したユーザ端末１００の間では、鍵の複製ができない、又は複製可能であってもパスワードによる暗号化等マニュアル操作があり、秘密鍵の数とユーザ端末１００の数との積に比例する手間がかかるという問題があった。
【０１７５】
本実施形態では、ユーザ端末１００を端末管理サーバ２００に登録し、２つのユーザ端末をペアリングした後には、その２つのユーザ端末１００を直接通信可能であるように接続するだけで、マニュアル操作不要で同期（ＷＥＢサービスの秘密鍵の複製）ができる。
【０１７６】
ユーザ端末１００の登録に関しては、最初に登録した一次ユーザ端末１００−１を起点とし、２台目以降のユーザ端末１００は二次ユーザ端末１００−２として、一次ユーザ端末１００−１を介して登録するようにしている。さらに、二次ユーザ端末１００−２の登録には、一次ユーザ端末１００−１と登録しようとする二次ユーザ端末１００−２をケーブルやBluetoothなどの、インターネットではなく、直接通信を介して登録するようにし、さらに一次ユーザ端末１００−１でユーザ認証を行うようにしている。こうすることで、詐称やネットワーク経由の攻撃を受けることなく、安全に二次ユーザ端末１００−２を登録することができる。また、このようにして登録したユーザ端末１００の間でのみペアリングや同期ができるようにしている。さらに、ペアリングや同期も直接通信を介して行っており、安全である。
【０１７７】
また、ユーザ端末１００の紛失や盗難を想定して、ユーザ端末１００の利用状況を確認できるようにしている。ユーザ端末１００の紛失・盗難の可能性がある場合には、そのユーザ端末１００を利用停止にすることで、ペアリングや同期を禁止することができる。
【０１７８】
また、秘密鍵を盗もうとする攻撃に対する対抗力（鍵の保護能力）やユーザ認証の確かさのレベル（ユーザ認証方法やその強度）、セキュア領域の有無等、鍵管理セキュアアプリ１２０の安全性のレベルをペアリングの処理と同期の処理の中で確認している。これにより、安全性のレベルの低いユーザ端末１００とのペアリングができなくなり、秘密鍵の漏洩を防ぐことができる。また、ＷＥＢサービスの秘密鍵ごとに、そのＷＥＢサービスの認証ポリシ４０１と照らし合わせ、安全性のレベルの低いユーザ端末１００との同期はできなくしているので、秘密鍵の漏洩を防ぐことができる。
【０１７９】
署名関係秘密鍵、ＷＥＢサービスのユーザ認証用の秘密鍵、同期用暗号化秘密鍵、同期用認証秘密鍵、端末検証用秘密鍵は、全てセキュア記憶部１６０に記憶され、鍵管理部１２２のみがアクセスしており、鍵管理セキュアアプリ１２０の外部では、常に暗号化されており、安全である。
【０１８０】
ペアリングのときの相手の署名関係情報は、２つのユーザ端末（１００−Ａと１００−Ｂ）との間で、セキュア記憶部１６０に記憶した署名関係情報を送信し合うことで、入手することが可能である。ユーザ端末の利用状態の確認を行わないのであれば、端末管理サーバ２００をなくす構成にすることも可能である。他に、端末管理サーバ２００に問合せて、署名関係情報を入手することも可能である。この場合、ユーザ端末１００の間の直接通信の通信量を減らすことができる。
【０１８１】
鍵管理セキュアアプリ１２０は、鍵管理ノンセキュアアプリ１３０と認証クレデンシャルＤＢ１６１（図３参照）と署名関係鍵ＤＢ１６２（図４参照）とを監視し、改竄や削除を検知した場合に、署名関係鍵ＤＢ１６２と、ＷＥＢサービス鍵ＤＢ１６３（図６参照）と、同期用鍵ＤＢ１６４（図５参照）と、端末検証用秘密鍵１６５（図２参照）とを削除する。これにより、ユーザ認証を回避して、ＷＥＢサービス鍵に不正にアクセスする攻撃を防止することができる。
【符号の説明】
【０１８２】
１      秘密鍵同期システム
１００  ユーザ端末
１１０  制御部
１２０  鍵管理セキュアアプリ
１２１  ユーザ認証部
１２２  鍵管理部
１２３  端末初期登録部
１２４  端末登録要求部
１２５  端末登録応答部
１２６  ペアリング制御部
１２７  同期制御部
１３０  鍵管理ノンセキュアアプリ
１４０  入出力部
１４１  認証デバイス
１４２  直接通信用インタフェース
１５０  記憶部
１６０  セキュア記憶部
１６１  認証クレデンシャルＤＢ
１６２  署名関係鍵ＤＢ
１６３  ＷＥＢサービス鍵ＤＢ
１６４  同期用鍵ＤＢ
１６５  端末検証用秘密鍵
２００  端末管理サーバ
２１０  制御部
２１１  ユーザ受付部
２１２  署名関係情報管理部
２１３  端末利用状況管理部
２２０  入出力部
２３０  記憶部
２３１  ユーザ情報ＤＢ
２３２  署名関係情報ＤＢ
２３３  端末利用状況ＤＢ
３００  端末検証サーバ
３０１  端末検証用公開鍵
３０２  端末能力情報
４００  ＷＥＢサービス
４０１  認証ポリシ
【図１】
2018037988.tif 000003
【図２】
2018037988.tif 000004
【図３】
2018037988.tif 000005
【図４】
2018037988.tif 000006
【図５】
2018037988.tif 000007
【図６】
2018037988.tif 000008
【図７】
2018037988.tif 000009
【図８】
2018037988.tif 000010
【図９】
2018037988.tif 000011
【図１０】
2018037988.tif 000012
【図１１】
2018037988.tif 000013
【図１２】
2018037988.tif 000014
【図１３】
2018037988.tif 000015
【図１４】
2018037988.tif 000016
【図１５】
2018037988.tif 000017
【図１６】
2018037988.tif 000018
【図１７】
2018037988.tif 000019
【図１８】
2018037988.tif 000020
【図１９】
2018037988.tif 000021
【図２０】
2018037988.tif 000022
【図２１】
2018037988.tif 000023
【図２２】
2018037988.tif 000024
【図２３】
2018037988.tif 000025
【図２４】
2018037988.tif 000026
【図２５】
2018037988.tif 000027