(57)【要約】【課題】本人確認レベルに応じた端末間の秘密鍵複製を可能とする秘密鍵複製システム、端末および秘密鍵複製方法を提供する。【解決手段】本人確認サービスＸサーバ２０ａは、所定の本人確認手続きに従って端末１０ａと端末１０ｂの所有者を確認して、所有者と本人確認レベルと公開鍵とを含んだ所有者証明書１２ａを端末１０ａに、所有者証明書１２ｂを端末１０ｂに発行する。端末１０ａから端末１０ｂに秘密鍵１１ａを複製するときには、端末１０ａは、自身が保有する証明書の所有者と本人確認レベルが同一の所有者証明書を端末１０ｂが保有していることと、当該本人確認レベルが秘密鍵１１ａに関連付けられている本人確認レベルに一致していることとを確認した後に、所有者証明書１２ｂに含まれる公開鍵で暗号化して秘密鍵を送信する。【選択図】図１
2018133739.tif 000002
【特許請求の範囲】
【請求項１】
認証に用いられる秘密鍵である認証用秘密鍵を格納可能な端末と、前記端末の所有者が前記端末を所有することを証明する所有者証明書を発行する証明書発行サーバとが、通信ネットワークを介して接続され、２つの前記端末の間で前記認証用秘密鍵の複製を行う秘密鍵複製システムであって、
前記証明書発行サーバは、
前記端末の所有者の本人確認を所定の手続により行い、前記本人確認の確実性のレベルを示す本人確認レベルと、前記所有者の識別情報と、前記端末の公開鍵と、前記証明書発行サーバの識別情報とを含む前記所有者証明書を前記端末に対して発行する証明書発行部を備え、
前記端末は、
自身に対して発行された前記所有者証明書を記憶する証明書保管領域、および、前記認証用秘密鍵の複製先の端末である複製先端末の所有者に求められる本人確認レベルを前記認証用秘密鍵に関連付けて記憶する鍵保管領域を有する記憶部と、
前記所有者の識別情報と、前記本人確認レベルと、前記証明書発行サーバの識別情報とのそれぞれが前記複製先端末の前記所有者証明書と同一である前記所有者証明書が前記証明書保管領域に記憶される場合に、当該所有者証明書に含まれる本人確認レベルに関連付けられた前記認証用秘密鍵を前記鍵保管領域から抽出し、前記複製先端末の前記所有者証明書に含まれる公開鍵で暗号化して前記複製先端末へ送信する鍵管理セキュアアプリとを備える
ことを特徴とする秘密鍵複製システム。
【請求項２】
前記秘密鍵複製システムは、前記端末と前記通信ネットワークを介して接続され、前記認証用秘密鍵とペアになる認証用公開鍵を用いて前記所有者を認証するＷｅｂサービスサーバをさらに備え、
前記鍵保管領域に記憶される前記認証用秘密鍵に関連付けられた本人確認レベルは、
前記Ｗｅｂサービスサーバによって指定される
ことを特徴とする請求項１に記載の秘密鍵複製システム。
【請求項３】
前記Ｗｅｂサービスサーバは、
前記所有者証明書に含まれる公開鍵とペアとなる秘密鍵を用いて生成されるデジタル署名であって、自身が生成したデータに対するデジタル署名を前記端末に対して要求し、前記端末が生成した前記デジタル署名を前記所有者証明書に含まれる公開鍵を用いて検証した後に、前記認証用公開鍵を前記端末の認証用公開鍵として用いる
ことを特徴とする請求項２に記載の秘密鍵複製システム。
【請求項４】
前記本人確認レベルは、前記証明書発行サーバが行う本人確認の確実性の高低による上下関係があり、
前記鍵管理セキュアアプリは、
前記所有者の識別情報と、前記本人確認レベルと、前記証明書発行サーバの識別情報とのそれぞれが前記複製先端末の前記所有者証明書と同一である前記所有者証明書が前記証明書保管領域に記憶される場合に、当該所有者証明書に含まれる本人確認レベルまたはそれより下位の本人確認レベルに関連付けられた前記認証用秘密鍵を前記鍵保管領域から抽出し、前記複製先端末の前記所有者証明書に含まれる公開鍵で暗号化して前記複製先端末へ送信する
ことを特徴とする請求項１に記載の秘密鍵複製システム。
【請求項５】
認証に用いられる秘密鍵である認証用秘密鍵を格納可能な端末と、前記端末の所有者が前記端末を所有することを証明する所有者証明書を発行する証明書発行サーバとが、通信ネットワークを介して接続され、２つの前記端末の間で前記認証用秘密鍵の複製を行う秘密鍵複製システムの前記端末であって、
前記証明書発行サーバが、前記端末の所有者の本人確認を所定の手続により行い、前記本人確認の確実性のレベルを示す本人確認レベルと、前記所有者の識別情報と、前記端末の公開鍵と、前記証明書発行サーバの識別情報とを含めて前記端末に対して発行した前記所有者証明書を記憶する証明書保管領域、および、前記認証用秘密鍵の複製先の端末である複製先端末の所有者に求められる本人確認レベルを前記認証用秘密鍵に関連付けて記憶する鍵保管領域を有する記憶部と、
前記所有者の識別情報と、前記本人確認レベルと、前記証明書発行サーバの識別情報とのそれぞれが前記複製先端末の前記所有者証明書と同一である前記所有者証明書が前記証明書保管領域に記憶される場合に、当該所有者証明書に含まれる本人確認レベルに関連付けられた前記認証用秘密鍵を前記鍵保管領域から抽出し、前記複製先端末の前記所有者証明書に含まれる公開鍵で暗号化して前記複製先端末へ送信する鍵管理セキュアアプリと
を備えることを特徴とする端末。
【請求項６】
認証に用いられる秘密鍵である認証用秘密鍵を格納可能な端末と、前記端末の所有者が前記端末を所有することを証明する所有者証明書を発行する証明書発行サーバとが、通信ネットワークを介して接続され、２つの前記端末の間で前記認証用秘密鍵の複製を行う秘密鍵複製システムの秘密鍵複製方法であって、
前記証明書発行サーバは、
前記端末の所有者の本人確認を所定の手続により行い、前記本人確認の確実性のレベルを示す本人確認レベルと、前記所有者の識別情報と、前記端末の公開鍵と、前記証明書発行サーバの識別情報とを含む前記所有者証明書を前記端末に対して発行する証明書発行ステップを実行し、
前記端末は、
自身に対して発行された前記所有者証明書を記憶する証明書保管領域、および、前記認証用秘密鍵の複製先の端末である複製先端末の所有者に求められる本人確認レベルを前記認証用秘密鍵に関連付けて記憶する鍵保管領域を有する記憶部を備えており、
前記所有者の識別情報と、前記本人確認レベルと、前記証明書発行サーバの識別情報とのそれぞれが前記複製先端末の前記所有者証明書と同一である前記所有者証明書が前記証明書保管領域に記憶される場合に、当該所有者証明書に含まれる本人確認レベルに関連付けられた前記認証用秘密鍵を前記鍵保管領域から抽出し、前記複製先端末の前記所有者証明書に含まれる公開鍵で暗号化して前記複製先端末へ送信する鍵複製ステップを実行する
ことを特徴とする秘密鍵複製方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザ認証に用いられる秘密鍵の端末間の複製に関連し、端末所有者の本人確認レベルを考慮した秘密鍵複製システム、端末および秘密鍵複製方法に関する。
【背景技術】
【０００２】
インターネットの利用者は、パソコンやスマートフォン、タブレット端末等の複数の端末を使って、オンラインバンキングやネットショッピング等の各種Ｗｅｂサービスを利用している。Ｗｅｂサービスを利用するときには、利用者認証が必要であり、利用者ＩＤ（IDentifier、識別子）とパスワードを用いるのが一般的である。
しかしながら、安易に設定したパスワードが推測されてしまう、不正アクセスによりＷｅｂサービスサーバからパスワードが漏洩してしまうなどして、パスワードが盗まれてしまう事件が多発している。
【０００３】
パスワード認証に替わる利用者認証技術として、ＦＩＤＯ（Fast IDentity Online）という、公開鍵暗号を用いたＷｅｂサービスの利用者認証技術がある。ＦＩＤＯでは利用者認証の前段階として、利用者が所有する端末が公開鍵暗号の秘密鍵と公開鍵のペアを生成して、秘密鍵を端末に保管し、公開鍵をＷｅｂサービスサーバに登録する。公開鍵を登録するときには、Ｗｅｂサービスサーバが利用者の本人確認を行う。
Ｗｅｂサービスサーバが利用者を認証するときには、（１）Ｗｅｂサービスサーバが乱数を生成して端末に送信し、（２）端末が秘密鍵を用いて乱数に署名してＷｅｂサービスサーバに送信し、（３）Ｗｅｂサービスサーバが署名を検証する。（３）の署名検証が成功すれば、利用者認証が成功したことになり、利用者はＷｅｂサービスを利用することができる。
【０００４】
ＦＩＤＯでは、秘密鍵が不正に持ち出されたり利用されたりすることがないように、端末のセキュア領域に秘密鍵が保管されることを求めている。秘密鍵がセキュア領域に保管されることで、盗まれたり、正規の秘密鍵所有者以外に利用されたり、マルウェアのような不正なプログラムからアクセスされたりすることを防ぐことができる。しかしながら、秘密鍵がセキュア領域から一切取り出せないとすると、正規の利用者が別の端末からＷｅｂサービスサーバにアクセスすることができなくなってしまうという問題が生じる。すなわち、複数の端末からＷｅｂサービスを利用できない。
【０００５】
図１３は、ＦＩＤＯ対応の複数端末を利用するときに生じる問題を説明するための図である。図１３（ａ）は、一般のＦＩＤＯ端末を利用するときに生じる問題を説明するための図である。利用者は端末Ｘ９１を使ってサービスＡサーバ９８とサービスＢサーバ９９とにアクセスしている。サービスＡサーバ９８には公開鍵Ａ９８１が、サービスＢサーバ９９には公開鍵Ｂ９９１が登録済みである。公開鍵Ａ９８１とペアになる秘密鍵Ａ９１２と、公開鍵Ｂ９９１とペアになる秘密鍵Ｂ９１３とは、端末Ｘ９１のセキュア領域９１１に格納されている。
【０００６】
利用者が新しい端末Ｙ９２からサービスＡサーバ９８にアクセスするには、端末Ｙ９２のセキュア領域９２１に秘密鍵Ａ９１２を格納する必要がある。しかしながら、端末Ｘ９１のセキュア領域９１１から秘密鍵Ａ９１２が取り出せない（端末Ｙ９２のセキュア領域９２１に複製できない）ので、端末Ｙ９２では利用者認証ができない。サービスＢサーバ９９についても同様である。利用者が端末Ｙ９２からサービスＡサーバ９８とサービスＢサーバ９９とにアクセスするには、端末Ｙ９２からサービスＡサーバ９８とサービスＢサーバ９９とに対して公開鍵の再登録が必要となる。再登録は、サービス数（サーバ台数）×端末数の分だけ必要であり、本人確認を含めて利用者の大きな手間となる。
【０００７】
この新しい端末を導入する（複数端末を利用する）ときの再登録の問題を解決する技術として、端末の所有者を証明する証明書を導入した非特許文献１に記載の技術がある。図１３（ｂ）は、所有者証明書（非特許文献１記載のユーザ証明書）を用いたセキュア領域間の秘密鍵複製を説明するための図である。端末ＸＸ９３は所有者証明書に対応したセキュア領域９３１を、端末ＹＹ９４は所有者証明書に対応したセキュア領域９４１を、それぞれ備えている。端末管理サーバ９５は、端末ＸＸ９３の所有者の本人確認をしたうえで、所有者証明書Ｘ９３４を発行する。発行された所有者証明書Ｘ９３４は端末ＸＸ９３のセキュア領域９３１に格納される。端末ＹＹ９４についても同様であり、端末管理サーバ９５から発行された所有者証明書Ｙ９４４は、セキュア領域９４１に格納される。
【０００８】
所有者証明書Ｘ９３４に示される所有者と所有者証明書Ｙ９４４に示される所有者とが一致したときに端末ＸＸ９３のセキュア領域９３１から端末ＹＹ９４のセキュア領域９４１へ秘密鍵Ａ９１２と秘密鍵Ｂ９１３とが複製される。利用者は複製された秘密鍵Ａ９４２と秘密鍵Ｂ９４３を用いて、端末ＹＹ９４からサービスＡサーバＡ９８とサービスＢサーバ９９に対して認証可能となる。所有者証明書を用いた秘密鍵複製により公開鍵の再登録は不要となる。
【先行技術文献】
【非特許文献】
【０００９】
【非特許文献１】緒方祐介、大森芳彦、山下高生、岩田哲弥、"非対称鍵を利用した認証方式の秘密鍵の維持管理に関する考察", 電子情報通信学会通信ソサイエティ大会、B-7-9、2016．
【発明の概要】
【発明が解決しようとする課題】
【００１０】
ＦＩＤＯの利用者認証の信頼度は、登録手順の本人確認の確実性と秘密鍵の安全性に依存している。求められる本人確認の確実性（レベル）は、Ｗｅｂサービスサーバが提供するサービスに依存する。例えば、金融サービスならば、運転免許証など公的な本人確認情報を用いて対面で本人確認が行われている。一方、ＳＮＳ（Social Networking Service）では、メールアドレスの所有確認をして、本人確認がなされる。求められる本人確認のレベルは、サービス事業者のポリシによって異なる。また、秘密鍵の複製先となる端末の所有者が複製元の端末の所有者と同一であると確認するための本人確認のレベルについても、公開鍵登録と同等かそれ以上の本人確認レベルが求められると考えられる。すなわち、秘密鍵複製許可の根拠となる所有者証明書（図１３（ｂ）の符号９３４、９４４参照）を発行するときの本人確認のレベルが、Ｗｅｂサービスサーバへの登録手順の本人確認と同等以上であることが求められると考えられる。
【００１１】
一方、本人確認のレベルが上がるほど、利用者負担は大きくなり、受容度が低下してしまう。オンラインでの本人確認より対面での本人確認の方がレベル（確実性）は高いが、利用者には負担となってしまう。また、個人情報保護に対する意識の高まりから、利用者は不必要な本人確認の情報開示には抵抗感があり、ＳＮＳの登録に運転免許証を提示することは受け入れないと考えられる。結果として、単一の本人確認方法により発行された所有者証明書に基づく秘密鍵複製では、様々なサービスの利用者認証用秘密鍵の複製に対応できない可能性がある。
【００１２】
本発明は、上記の問題を解決するものであり、本人確認レベルが異なる複数の本人確認サービスによる所有者証明書が発行可能であって、本人確認レベルに応じた端末間の秘密鍵複製を可能とする秘密鍵複製システム、端末および秘密鍵複製方法を提供することを課題とする。
【課題を解決するための手段】
【００１３】
上記課題を解決するための手段として、請求項１に係る発明は、認証に用いられる秘密鍵である認証用秘密鍵を格納可能な端末と、前記端末の所有者が前記端末を所有することを証明する所有者証明書を発行する証明書発行サーバとが、通信ネットワークを介して接続され、２つの前記端末の間で前記認証用秘密鍵の複製を行う秘密鍵複製システムであって、前記証明書発行サーバは、前記端末の所有者の本人確認を所定の手続により行い、前記本人確認の確実性のレベルを示す本人確認レベルと、前記所有者の識別情報と、前記端末の公開鍵と、前記証明書発行サーバの識別情報とを含む前記所有者証明書を前記端末に対して発行する証明書発行部を備え、前記端末は、自身に対して発行された前記所有者証明書を記憶する証明書保管領域、および、前記認証用秘密鍵の複製先の端末である複製先端末の所有者に求められる本人確認レベルを前記認証用秘密鍵に関連付けて記憶する鍵保管領域を有する記憶部と、前記所有者の識別情報と、前記本人確認レベルと、前記証明書発行サーバの識別情報とのそれぞれが前記複製先端末の前記所有者証明書と同一である前記所有者証明書が前記証明書保管領域に記憶される場合に、当該所有者証明書に含まれる本人確認レベルに関連付けられた前記認証用秘密鍵を前記鍵保管領域から抽出し、前記複製先端末の前記所有者証明書に含まれる公開鍵で暗号化して前記複製先端末へ送信する鍵管理セキュアアプリとを備えることを特徴とする秘密鍵複製システムである。
【００１４】
上記課題を解決するための手段として、請求項５に係る発明は、認証に用いられる秘密鍵である認証用秘密鍵を格納可能な端末と、前記端末の所有者が前記端末を所有することを証明する所有者証明書を発行する証明書発行サーバとが、通信ネットワークを介して接続され、２つの前記端末の間で前記認証用秘密鍵の複製を行う秘密鍵複製システムの前記端末であって、前記証明書発行サーバが、前記端末の所有者の本人確認を所定の手続により行い、前記本人確認の確実性のレベルを示す本人確認レベルと、前記所有者の識別情報と、前記端末の公開鍵と、前記証明書発行サーバの識別情報とを含めて前記端末に対して発行した前記所有者証明書を記憶する証明書保管領域、および、前記認証用秘密鍵の複製先の端末である複製先端末の所有者に求められる本人確認レベルを前記認証用秘密鍵に関連付けて記憶する鍵保管領域を有する記憶部と、前記所有者の識別情報と、前記本人確認レベルと、前記証明書発行サーバの識別情報とのそれぞれが前記複製先端末の前記所有者証明書と同一である前記所有者証明書が前記証明書保管領域に記憶される場合に、当該所有者証明書に含まれる本人確認レベルに関連付けられた前記認証用秘密鍵を前記鍵保管領域から抽出し、前記複製先端末の前記所有者証明書に含まれる公開鍵で暗号化して前記複製先端末へ送信する鍵管理セキュアアプリとを備えることを特徴とする端末である。
【００１５】
上記課題を解決するための手段として、請求項６に係る発明は、認証に用いられる秘密鍵である認証用秘密鍵を格納可能な端末と、前記端末の所有者が前記端末を所有することを証明する所有者証明書を発行する証明書発行サーバとが、通信ネットワークを介して接続され、２つの前記端末の間で前記認証用秘密鍵の複製を行う秘密鍵複製システムの秘密鍵複製方法であって、前記証明書発行サーバは、前記端末の所有者の本人確認を所定の手続により行い、前記本人確認の確実性のレベルを示す本人確認レベルと、前記所有者の識別情報と、前記端末の公開鍵と、前記証明書発行サーバの識別情報とを含む前記所有者証明書を前記端末に対して発行する証明書発行ステップを実行し、前記端末は、自身に対して発行された前記所有者証明書を記憶する証明書保管領域、および、前記認証用秘密鍵の複製先の端末である複製先端末の所有者に求められる本人確認レベルを前記認証用秘密鍵に関連付けて記憶する鍵保管領域を有する記憶部を備えており、前記所有者の識別情報と、前記本人確認レベルと、前記証明書発行サーバの識別情報とのそれぞれが前記複製先端末の前記所有者証明書と同一である前記所有者証明書が前記証明書保管領域に記憶される場合に、当該所有者証明書に含まれる本人確認レベルに関連付けられた前記認証用秘密鍵を前記鍵保管領域から抽出し、前記複製先端末の前記所有者証明書に含まれる公開鍵で暗号化して前記複製先端末へ送信する鍵複製ステップを実行することを特徴とする秘密鍵複製方法である。
【００１６】
上記構成によれば、端末自身に発行された所有者証明書の所有者と本人確認レベルと証明書発行サーバ（本人確認サービスサーバ）とを含む所有者証明書が発行された端末のみに、当該本人確認レベルに関連付けられた認証用秘密鍵を複製することができる。逆に言えば、そのような所有者証明書が発行されていない端末への秘密鍵の複製を防止することができる。また、所有者証明書が発行されている端末でも、関連付けられている本人確認レベルが一致しない認証用秘密鍵の複製を防止することができる。
【００１７】
上記課題を解決するための手段として、請求項２に係る発明は、前記秘密鍵複製システムは、前記端末と前記通信ネットワークを介して接続され、前記認証用秘密鍵とペアになる認証用公開鍵を用いて前記所有者を認証するＷｅｂサービスサーバをさらに備え、前記鍵保管領域に記憶される前記認証用秘密鍵に関連付けられた本人確認レベルは、前記Ｗｅｂサービスサーバによって指定されることを特徴とする請求項１に記載の秘密鍵複製システムである。
【００１８】
上記構成によれば、認証用秘密鍵に関連付けられる本人確認レベルは、当該認証用秘密鍵を用いて認証する先のＷｅｂサービスサーバが指定することができる。すなわち、Ｗｅｂサービスサーバが指定した本人確認レベルの所有者の端末のみに認証用秘密鍵が複製されるように制限できる。
【００１９】
上記課題を解決するための手段として、請求項３に係る発明は、前記Ｗｅｂサービスサーバは、前記所有者証明書に含まれる公開鍵とペアとなる秘密鍵を用いて生成されるデジタル署名であって、自身が生成したデータに対するデジタル署名を前記端末に対して要求し、前記端末が生成した前記デジタル署名を前記所有者証明書に含まれる公開鍵を用いて検証した後に、前記認証用公開鍵を前記端末の認証用公開鍵として用いることを特徴とする請求項２に記載の秘密鍵複製システムである。
【００２０】
上記構成によれば、Ｗｅｂサービスサーバにアクセスする端末を、所有者証明書が発行された端末のみに制限することができ、端末所有者の本人確認レベルを所定のレベル以上に保つことができる。
【００２１】
上記課題を解決するための手段として、請求項４に係る発明は、前記本人確認レベルは、前記証明書発行サーバが行う本人確認の確実性の高低による上下関係があり、前記鍵管理セキュアアプリは、前記所有者の識別情報と、前記本人確認レベルと、前記証明書発行サーバの識別情報とのそれぞれが前記複製先端末の前記所有者証明書と同一である前記所有者証明書が前記証明書保管領域に記憶される場合に、当該所有者証明書に含まれる本人確認レベルまたはそれより下位の本人確認レベルに関連付けられた前記認証用秘密鍵を前記鍵保管領域から抽出し、前記複製先端末の前記所有者証明書に含まれる公開鍵で暗号化して前記複製先端末へ送信することを特徴とする請求項１に記載の秘密鍵複製システムである。
【００２２】
上記構成によれば、端末自身に発行された所有者証明書の所有者と本人確認レベルと証明書発行サーバとを含む所有者証明書が発行された端末のみに、当該本人確認レベルまたはそれより下位の本人確認レベルに関連付けられた認証用秘密鍵が複製される。高いレベルの所有者本人確認済みの端末に対しては、当該本人確認のレベルより低いレベルで関連付けられた認証用秘密鍵も同時に複製することができ、鍵複製や所有者証明書発行の手間を減らすことができる。
【発明の効果】
【００２３】
本発明によれば、本人確認レベルが異なる複数の本人確認サービスによる所有者証明書が発行可能であって、本人確認レベルに応じた端末間の秘密鍵複製を可能とする秘密鍵複製システム、端末および秘密鍵複製方法を提供することができる。
【図面の簡単な説明】
【００２４】
【図１】本実施形態に係る秘密鍵複製システムの全体構成を例示する図である。
【図２】本実施形態に係る端末の構成を例示する機能ブロック図である。
【図３】本実施形態に係る端末の鍵保管領域に記憶される鍵管理テーブルのデータ構成を例示する図である。
【図４】本実施形態に係る端末の証明書保管領域に記憶される証明書管理テーブルのデータ構成を例示する図である。
【図５】本実施形態に係る本人確認サービスサーバの構成を例示する機能ブロック図である。
【図６】本実施形態に係るＷｅｂサービスサーバの構成を例示する機能ブロック図である。
【図７】本実施形態に係る所有者証明書のデータ構成を例示する図である。
【図８】本実施形態に係る本人確認レベル保証サービスの本人確認レベル表の例である。
【図９】本実施形態に係る所有者証明書の発行処理を例示するシーケンス図である。
【図１０】本実施形態に係るＷｅｂサービスサーバへの公開鍵登録処理を例示するシーケンス図である。
【図１１】本実施形態に係る秘密鍵複製処理を例示するシーケンス図である。
【図１２】本実施形態に係る証明書突合処理を例示するフローチャートである。
【図１３】ＦＩＤＯ対応の複数端末を利用するときに生じる問題を説明するための図である。
【発明を実施するための形態】
【００２５】
以下、本発明の実施形態の秘密鍵複製システムを、図面を参照しつつ説明する。
≪秘密鍵複製システムの全体構成≫
図１は、本実施形態に係る秘密鍵複製システム１の全体構成を例示する図である。秘密鍵複製システム１は、ＷｅｂサービスＡサーバ３０ａと、ＷｅｂサービスＢサーバ３０ｂと、端末１０ａと、端末１０ｂと、本人確認サービスＸサーバ２０ａと、本人確認サービスＹサーバ２０ｂと、本人確認レベル保証サービス２８とからなる。ＷｅｂサービスＡサーバ３０ａとＷｅｂサービスＢサーバ３０ｂとを特に区別する必要がない場合には、Ｗｅｂサービスサーバ３０と記す。端末１０ａと端末１０ｂとを特に区別する必要がない場合には、端末１０と記す。本人確認サービスＸサーバ２０ａと、本人確認サービスＹサーバ２０ｂとを特に区別する必要がない場合には、本人確認サービスサーバ２０と記す。
【００２６】
Ｗｅｂサービスサーバ３０と端末１０と本人確認サービスサーバ２０とは、ネットワーク（不図示）で接続されており、相互に通信可能である。
Ｗｅｂサービスサーバ３０は、２つ図示しているが、これには限らず、１つでも３以上でもよい。本人確認サービスサーバ２０も２つに限らず１つでも３以上でもよい。端末１０は、２以上である。
【００２７】
本人確認サービスＸサーバ２０ａは、端末１０ａの所有者（利用者）の本人確認をしたうえで、端末１０ａに対して所有者証明書１２ａを発行する（ステップＳ７０１）。同一の利用者が所有する端末１０ｂについても同様に、本人確認サービスＸサーバ２０ａは、所有者証明書１２ｂを発行する（ステップＳ７０２）。発行処理については、図９を参照して後述する。
【００２８】
続いて、端末１０ａは鍵ペアを生成して、秘密鍵１１ａをローカルに保管し、公開鍵３９をＷｅｂサービスＡサーバ３０ａに登録する（ステップＳ７０３）。登録するときに、ＷｅｂサービスＡサーバ３０ａは、端末１０ａの所有者の本人確認を行う。この本人確認を含めた公開鍵３９の登録処理については、図１０を参照して後述する。以降、端末１０ａは、秘密鍵１１ａを用いて利用者認証を行い、ＷｅｂサービスＡサーバ３０ａのサービスを利用することができる（ステップＳ７０４）。
【００２９】
端末１０ａの所有者が新しい端末１０ｂを入手すると、公開鍵３９を登録した端末１０ａから端末１０ｂに秘密鍵１１ａを複製し、端末１０ｂに秘密鍵１１ｂが格納される（ステップＳ７０５）。以降、端末１０ｂからも秘密鍵１１ｂを用いて利用者認証を行い、ＷｅｂサービスＡサーバ３０ａのサービスを利用することができる（ステップＳ７０６）。
上記の説明では、所有者証明書発行（ステップＳ７０１）の後に、公開鍵登録（ステップＳ７０３）を行ったが、逆の順番でもよい。
【００３０】
本人確認レベル保証サービス２８は、本人確認レベル表２９（後述する図８参照）を公表しており、本人確認サービスサーバ２０が行っている本人確認が本人確認レベル表２９にあるレベルに達しているか審査する。審査はネットワークを介して行われるとは限らない。本人確認レベル保証サービス２８の審査員が本人確認サービスサーバ２０の運用現場を訪れて、本人確認の手続きが適切か審査して、本人確認サービスサーバ２０が提供する本人確認サービスを認証する場合もある。つまり、第三者機関としての本人確認レベル保証サービス２８により、本人確認サービスサーバ２０の本人確認レベルの信頼性が認証される。
【００３１】
Ｗｅｂサービスサーバ３０は、秘密鍵複製に求められる所有者証明書の本人確認レベルを指定することができる。例えば、Ｗｅｂサービスサーバ３０が公開鍵を登録するときに行っている本人確認レベルと同等レベルを求めることができる。ＷｅｂサービスＡサーバ３０ａの本人確認レベルはレベル５であり、レベル３である本人確認サービスＹサーバ２０ｂが発行した所有者証明書に基づく秘密鍵複製は認めず、秘密鍵の複製はできない。このＷｅｂサービスサーバ３０が認めたレベルの本人確認サービスサーバ発行の所有者証明書による秘密鍵複製の処理は、後述する図１１を参照して説明する。
【００３２】
≪端末の構成≫
図２は、本実施形態に係る端末１０の構成を例示する機能ブロック図である。端末１０は制御部１６１や記憶部１６２、入出力部１６３などから構成される。記憶部１６２は、ハードディスクやＲＡＭ（Random Access Memory）等で実現され、ＯＳ（Operating System）やアプリケーションプログラム、データを記憶する。入出力部１６３は、ＮＩＣ（Network Interface Card）などから構成され、本人確認サービスサーバ２０やＷｅｂサービスサーバ３０との通信データの送受信を行ったり、生体認証装置（不図示）との通信を行ったりする。制御部１６１は、ＣＰＵ（Central Processing Unit）で実現され、ＯＳやアプリケーションプログラムを実行することで端末１０を機能させ、後述する図９〜図１２に示される処理を実行する。
【００３３】
端末１０は、通常領域１３とセキュア領域１４とを論理的に備える。通常領域１３は、Ｗｅｂサービス利用アプリ１３１を含む一般のアプリケーションプログラムが実行される環境である。セキュア領域１４は、一般のアプリケーションプログラムから隔離された実行環境であり、データや計算処理が保護される。ＣＰＵやＯＳの特権モードで実行され、特定のプログラムや特定の手順によってのみ、セキュア領域１４のプログラムの呼び出しやデータへのアクセスが可能となる。セキュア領域１４は、仮想化技術を用いて通常領域１３のＯＳとは別のＯＳ上に実現してもよい。
【００３４】
セキュア領域１４では、鍵管理セキュアアプリ１４１と証明書管理セキュアアプリ１４２とが実行される。また、セキュア領域１４は、鍵保管領域１４３と証明書保管領域１４４とを備える。鍵管理セキュアアプリ１４１は、鍵の生成や暗号化、復号、署名生成、署名検証などの機能を有し、後述する所有者証明書発行処理（図９参照）、Ｗｅｂサービスサーバ３０への公開鍵登録処理（図１０参照）、秘密鍵複製処理（図１１参照）を行う。証明書管理セキュアアプリ１４２は、所有者証明書の管理機能を有し、所有者証明書発行処理や秘密鍵複製処理を行う。
【００３５】
鍵保管領域１４３は、Ｗｅｂサービスサーバ３０にアクセスするときの認証や秘密鍵複製処理に用いられる秘密鍵と公開鍵を保管する領域であり、鍵管理テーブル１４６（後述する図３参照）を備える。
【００３６】
図３は、本実施形態に係る端末１０の鍵保管領域１４３に記憶される鍵管理テーブル１４６のデータ構成を例示する図である。鍵管理テーブル１４６は、例えばテーブル形式のデータであり、鍵ＩＤ１４６１、秘密鍵１４６２、公開鍵１４６３、サイト１４６４、本人確認レベル１４６５の列からなる。１つの行（レコード）は、公開鍵暗号の秘密鍵と公開鍵のペアとその関連情報を含む。
【００３７】
鍵ＩＤ１４６１は、秘密鍵１４６２と公開鍵１４６３のペアの識別情報である。
秘密鍵１４６２は、Ｗｅｂサービスサーバ３０にアクセスするときの認証、または、秘密鍵複製処理に用いられる秘密鍵である。
公開鍵１４６３は、Ｗｅｂサービスサーバ３０に登録される公開鍵、または、所有者証明書に含まれる公開鍵である。所有者証明書に含まれる公開鍵に対応する秘密鍵は、秘密鍵複製処理に用いられる。
【００３８】
サイト１４６４は、当該レコードがＷｅｂサービスサーバ３０にアクセスするときの認証に用いられる鍵の情報であるときには、当該Ｗｅｂサービスサーバ３０のアドレス情報（ＵＲＬ（Uniform Resource Locator））である。当該レコードが所有者証明書に含まれる公開鍵とその秘密鍵の情報であるときには、サイト１４６４の情報は無効である。鍵ＩＤ１４６１が「００４３」である２行目のレコードは、所有者証明書に含まれる公開鍵とその秘密鍵のレコードであり、サイト１４６４は「−」となっている。
【００３９】
本人確認レベル１４６５は、当該レコードがＷｅｂサービスサーバ３０にアクセスするときの認証に用いられる鍵の情報であるときには、当該Ｗｅｂサービスサーバ３０が秘密鍵を複製するときに要求される複製先端末の所有者の本人確認レベルである。
当該レコードが所有者証明書に含まれる公開鍵とその秘密鍵の情報であるときには、本人確認レベル１４６５の情報は無効である。鍵ＩＤ１４６１が「００４３」である２行目のレコードは、所有者証明書に含まれる公開鍵とその秘密鍵のレコードであり、本人確認レベル１４６５は「−」となっている。
【００４０】
図２に戻り、証明書保管領域１４４は、所有者証明書を保管する領域であり、証明書管理テーブル１４７（後述する図４参照）を備える。
図４は、本実施形態に係る端末１０の証明書保管領域１４４に記憶される証明書管理テーブル１４７のデータ構成を例示する図である。証明書管理テーブル１４７は、例えばテーブル形式のデータであり、証明書ＩＤ１４７１、所有者証明書１４７２、鍵ＩＤ１４７３の列からなる。１つのレコードは、１つの所有者証明書の情報を含む。
【００４１】
証明書ＩＤ１４７１は、当該レコードの所有者証明書の識別情報である。
所有者証明書１４７２は、本人確認サービスサーバ２０が発行した所有者証明書である。
鍵ＩＤ１４７３は、当該レコードの所有者証明書に含まれる公開鍵を含む鍵管理テーブル１４６の鍵ＩＤ１４６１である。鍵ＩＤ１４６１を用いることで鍵管理テーブル１４６に格納されている秘密鍵１４６２を参照することができる。
【００４２】
≪本人確認サービスサーバの構成≫
図５は、本実施形態に係る本人確認サービスサーバ（証明書発行サーバ）２０の構成を例示する機能ブロック図である。本人確認サービスサーバ２０は、制御部２１と、記憶部２５と、入出力部２７とを備える。
制御部２１は、ＣＰＵで構成され、所有者証明書の発行処理（後述する図９参照）を実行する。制御部２１は、本人確認部２２と証明書発行部２３とを備える。
【００４３】
本人確認部２２は、所有者証明書の発行処理において、発行を要求してきた端末１０の所有者の本人確認を行う。本人確認の詳細については、図８を参照しながら後述する。証明書発行部２３は、所有者証明書５０（後述する図７参照）を生成する。
【００４４】
記憶部２５は、ハードディスクやＲＡＭで構成され、所有者証明書の発行処理に必要なプログラムやデータを記憶する。記憶部２５は、所有者証明書に付与するデジタル署名の生成に用いられる証明書署名鍵２６を記憶する。証明書署名鍵２６は不正にアクセスされたり、利用されたりしないよう、高い安全レベルの方法で保護される。
入出力部２７は、ＮＩＣなどから構成され、端末１０との通信データの送受信を行う。
【００４５】
≪Ｗｅｂサービスサーバの構成≫
図６は、本実施形態に係るＷｅｂサービスサーバ３０の構成を例示する機能ブロック図である。Ｗｅｂサービスサーバ３０は、制御部３１と、記憶部３２と、入出力部３５とを備える。制御部３１は、ＣＰＵで構成され、ＯＳやＷｅｂサービスのアプリケーションプログラムを実行することで端末１０にＷｅｂサービスを提供する。制御部３１は、公開鍵登録処理（後述する図１０参照）を実行する公開鍵登録部３６を備える。
【００４６】
記憶部３２は、ハードディスクやＲＡＭ等で実現され、ＯＳやＷｅｂサービスを提供するアプリケーションプログラム、データを記憶する。記憶部３２は、鍵保管領域３３と鍵ポリシ３４とを備える。鍵保管領域３３には、利用者認証に用いられる公開鍵が利用者識別情報と関連付けられて格納される。当該公開鍵は、公開鍵登録処理の中で、端末１０が生成して、Ｗｅｂサービスサーバ３０に送信される。鍵ポリシ３４は、Ｗｅｂサービスサーバ３０が端末１０に求める認証に用いられる秘密鍵の保管や利用時の保護強度に関する情報であり、本人確認レベルを含む。
入出力部３５は、ＮＩＣなどから構成され、端末１０との通信データの送受信を行う。
【００４７】
≪所有者証明書のデータ構成≫
図７は、本実施形態に係る所有者証明書５０のデータ構成を例示する図である。所有者証明書５０は、発行者５１と、シリアル番号５２と、所有者５３と、端末公開鍵５４と、発行者署名５５とを含んで構成される。
【００４８】
発行者５１は、所有者証明書５０を発行する本人確認サービスの識別情報であり、Ｏ（Organization Name、組織名）で示される本人確認サービスの名称と、ＯＵ（Organizational Unit Name、部署名）で示される本人確認レベルとを含む。Ｏは、本人確認サービスを提供する事業者の名称でもよいし、本人確認サービスサーバ２０を識別できる情報でもよい。
【００４９】
シリアル番号５２は、所有者証明書５０の発行者である本人確認サービス（本人確認サービスサーバ２０）が割り振った当該所有者証明書５０のシリアル番号である。シリアル番号５２を参照することで本人確認サービスが発行した所有者証明書を一意的に識別できる。
所有者５３は、端末１０の所有者の識別情報であり、Ｏで示される所有者の所属組織名称と、ＣＮ（Common Name、一般名称）で示される所有者の氏名を含む。組織名や氏名の代わりにメールアドレス他の利用者を識別できる情報を用いてもよい。
【００５０】
端末公開鍵５４は、秘密鍵複製に用いられる公開鍵暗号の公開鍵である。複製される秘密鍵は、この端末公開鍵５４で暗号化される。
発行者署名５５は、所有者証明書５０に対するデジタル署名である。端末１０は、発行者署名５５を検証することで、所有者証明書５０が本人確認サービスサーバ２０が発行した真正な所有者証明書５０であることを確認できる。
【００５１】
本人確認レベルは、発行者５１の中のＯＵとして所有者証明書５０に含まれている。本人確認レベルが、発行者５１の中のＯＵではなく、発行者５１、シリアル番号５２、所有者５３、端末公開鍵５４、発行者署名５５とは別の、所有者証明書５０の構成要素として含まれるようにしてもよい。
【００５２】
≪本人確認レベル表≫
図８は、本実施形態に係る本人確認レベル保証サービス２８の本人確認レベル表２９の例である。本人確認レベル表２９は、本人確認サービスサーバ２０の本人確認部２２（図５参照）が行っている本人確認レベルの確実性（レベル）を示す。レベルによっては、人が介在して本人確認を行う場合もある。
本人確認レベル表２９は、本人確認のレベル２９１と本人確認に用いられる確認情報２９２との列から構成される表形式のデータである。本人確認の方法には、簡単な確認方法であって、端末１０の所有者には受け入れやすいが確認の信頼度（確実性、レベル）は低い方法や、逆に手間がかかる確認方法であって、所有者には面倒であるが確認の信頼度は高い方法がある。
【００５３】
レベル１の自己申告は、自己申告の情報が確認情報ということであって、証明書発行要求に含まれている所有者の識別情報をそのまま所有者証明書５０の所有者５３に用いる本人確認方法である。レベル１では、実質的には本人確認をしていない。
レベル２の自己申告＋メールアドレスは、証明書発行要求に含まれているメールアドレスに、本人確認サービスサーバ２０がメールを送り、そのメールに対する所有者の応答を確認することによって本人確認を行う方法である。応答には、送信メールに含まれるＵＲＬへのアクセスや送信メールに対する返信を本人確認サービスサーバ２０に送信するなどがある。
【００５４】
他にも、レベル４の所有者が本人確認サービスサーバ２０へ送信した公的書類のコピーを用いて確認する方法やレベル５の対面で公的書類を用いて確認する方法がある。本人確認サービスサーバ２０の処理だけでは実現できない、人手がかかるレベル５のような確認方法も存在する。
【００５５】
≪所有者証明書発行処理≫
図９は、本実施形態に係る所有者証明書の発行処理を例示するシーケンス図である。図９を参照して、端末１０と本人確認サービスサーバ２０が実行する、端末１０に対する所有者証明書の発行処理を説明する。所有者証明書発行処理に先立ち、端末１０はネットワークを介して本人確認サービスサーバ２０に接続する。通信途中でデータが改竄されることや通信相手が入れ替わってしまうことがないように、ＴＬＳ（Transport Layer Security）のような安全な方法で接続されることが望ましい。
【００５６】
ステップＳ７４１において、端末１０の証明書管理セキュアアプリ１４２が、鍵管理セキュアアプリ１４１に鍵生成要求を出力する。
ステップＳ７４２において、鍵管理セキュアアプリ１４１が鍵生成要求を受取り、公開鍵暗号の公開鍵と秘密鍵のペアを生成する。
ステップＳ７４３において、鍵管理セキュアアプリ１４１が生成した公開鍵と秘密鍵を鍵保管領域１４３の鍵管理テーブル１４６（図３参照）に保存する。詳しくは、鍵管理セキュアアプリ１４１は、鍵管理テーブル１４６に１レコードを追加し、鍵ＩＤ１４６１には新規の識別情報を生成して格納する。次に鍵管理セキュアアプリ１４１は、秘密鍵１４６２と公開鍵１４６３に、それぞれ生成した秘密鍵、生成した公開鍵を格納し、サイト１４６４と本人確認レベル１４６５とには、「−」を格納する。
ステップＳ７４４において、鍵管理セキュアアプリ１４１が、生成した公開鍵と鍵ＩＤを証明書管理セキュアアプリ１４２に出力する。
ステップＳ７４５において、証明書管理セキュアアプリ１４２が公開鍵と鍵ＩＤを受取り、公開鍵を本人確認サービスサーバ２０に送信して所有者証明書の発行を要求する。
【００５７】
ステップＳ７４６において、本人確認サービスサーバ２０の証明書発行部２３が公開鍵を受信し、本人確認部２２に本人確認要求を出力する。
ステップＳ７４７において、本人確認部２２が、端末１０の所有者の本人確認を行う。本人確認の方法は、発行する所有者証明書の本人確認レベルに応じてあらかじめ決まっており、本人確認レベル保証サービス２８によって審査済みである。本人確認を通じて、本人確認サービスサーバ２０は端末１０の所有者の真正な識別情報を得る。
本人確認に失敗すれば、本人確認部２２は証明書発行部２３に失敗を通知し、証明書発行部２３は端末１０に本人確認失敗を通知して、所有者証明書発行処理を終える。以降、本人確認に成功したとして、所有者証明書発行処理の説明を続ける。
ステップＳ７４８において、本人確認部２２が証明書発行部２３に本人確認完了を出力する。
【００５８】
ステップＳ７４９において、証明書発行部２３が所有者証明書５０（図７参照）を発行する。発行者５１は、本人確認サービスサーバ２０が提供するサービスの識別情報と、本人確認（ステップＳ７４７）の本人確認レベルを含む。シリアル番号５２は、本人確認サービスサーバ２０が発行する所有者証明書を一意的に識別するためのシリアル番号である。所有者５３は、本人確認で得た端末１０の所有者の識別情報である。端末公開鍵５４は、ステップＳ７４６で受信した公開鍵である。発行者署名５５は、発行者５１とシリアル番号５２と所有者５３と端末公開鍵５４とのデータに対する、証明書署名鍵２６を用いて生成したデジタル署名である。
ステップＳ７５０において、証明書発行部２３が所有者証明書を端末１０に送信する。
【００５９】
ステップＳ７５１において、証明書管理セキュアアプリ１４２が所有者証明書を受信して証明書保管領域１４４の証明書管理テーブル１４７（図４参照）に格納する。詳しくは、証明書管理セキュアアプリ１４２は、証明書管理テーブル１４７に１レコードを追加し、証明書ＩＤ１４７１には新規の識別情報を生成して格納する。次に証明書管理セキュアアプリ１４２は、所有者証明書１４７２に、受信した所有者証明書を格納し、鍵ＩＤ１４７３にはステップＳ７４５で受取った鍵管理テーブル１４６の鍵ＩＤ１４６１に格納された鍵識別情報を格納する。
【００６０】
以上で、所有者証明書発行処理を終える。この段階で、端末１０は所有者証明書を証明書管理テーブル１４７内に格納し、所有者証明書の公開鍵とペアになる秘密鍵を鍵管理テーブル１４６内に格納している。
【００６１】
≪公開鍵登録処理≫
図１０は、本実施形態に係るＷｅｂサービスサーバ３０への公開鍵登録処理を例示するシーケンス図である。図１０を参照して、端末１０とＷｅｂサービスサーバ３０とが実行する、Ｗｅｂサービスサーバ３０への公開鍵登録処理を説明する。公開鍵登録処理に先立ち、端末１０はネットワークを介してＷｅｂサービスサーバ３０に接続する。通信途中でデータが改竄されることや通信相手が入れ替わってしまうことがないように、ＴＬＳのような安全な方法で接続されることが望ましい。
【００６２】
ステップＳ７２１において、端末１０のＷｅｂサービス利用アプリ１３１が、Ｗｅｂサービスサーバ３０に公開鍵登録要求を送信する。
ステップＳ７２２において、Ｗｅｂサービスサーバ３０の公開鍵登録部３６が、公開鍵登録要求を受信して、登録要求を受け付ける。
ステップＳ７２３において、公開鍵登録部３６が鍵ポリシ３４を端末１０に送信する。
ステップＳ７２４において、Ｗｅｂサービス利用アプリ１３１が鍵ポリシを受信し、鍵生成要求と鍵ポリシとＷｅｂサービスサーバ３０のアドレス（ＵＲＬ）とを鍵管理セキュアアプリ１４１に出力する。
【００６３】
ステップＳ７２５において、鍵管理セキュアアプリ１４１が鍵生成要求と鍵ポリシとＵＲＬとを受取り、公開鍵暗号の公開鍵と秘密鍵のペアを生成する。
ステップＳ７２６において、鍵管理セキュアアプリ１４１が生成した公開鍵と秘密鍵、鍵ポリシの中の本人確認レベル、ＵＲＬを鍵保管領域１４３の鍵管理テーブル１４６（図３参照）に格納する。詳しくは、鍵管理セキュアアプリ１４１は、鍵管理テーブル１４６に１レコードを追加し、鍵ＩＤ１４６１には新規の識別情報を生成して格納する。次に鍵管理セキュアアプリ１４１は、秘密鍵１４６２と公開鍵１４６３とサイト１４６４と本人確認レベル１４６５とに、それぞれ生成した秘密鍵、生成した公開鍵、受取ったＵＲＬ、受取った鍵ポリシの中の本人確認レベルを格納する。
【００６４】
ステップＳ７２７において、鍵管理セキュアアプリ１４１が、生成した公開鍵をＷｅｂサービス利用アプリ１３１に出力する。
ステップＳ７２８において、Ｗｅｂサービス利用アプリ１３１が公開鍵を受取り、これをＷｅｂサービスサーバ３０に送信する。
【００６５】
ステップＳ７２９において、公開鍵登録部３６が公開鍵を受信し、端末１０の利用者の本人確認を行う。本人確認の方法としては、図８で説明したような様々な方法があり、鍵ポリシ３４に含まれる本人確認レベルと合致する本人確認方法とは限らない。本人確認を通じて、公開鍵が利用者（利用者識別情報）と関連付けられる。
本人確認に失敗すれば、公開鍵登録部３６は、失敗を端末１０に通知して、公開鍵登録処理を終える。以降、本人確認に成功したとして、公開鍵登録処理の説明を続ける。
【００６６】
ステップＳ７３０において、公開鍵登録部３６が鍵保管領域３３に公開鍵を本人確認（ステップＳ７２９）で確認した利用者識別情報と紐付けて格納する。
ステップＳ７３１において、公開鍵登録部３６が登録完了を端末１０に送信する。
以上で、公開鍵登録処理を終える。この段階で、Ｗｅｂサービスサーバ３０は利用者の公開鍵を鍵保管領域３３に格納し、端末１０は秘密鍵と本人確認レベルを鍵管理テーブル１４６内に格納している。
【００６７】
≪秘密鍵複製処理≫
図１１は、本実施形態に係る秘密鍵複製処理を例示するシーケンス図である。図１１を参照して、端末１０ａ（複製元）のセキュア領域内の鍵保管領域１４３ａにある秘密鍵を端末１０ｂ（複製先）のセキュア領域内の鍵保管領域１４３ｂに複製する処理を説明する。秘密鍵複製処理に先立ち、端末１０ａと端末１０ｂとは、ネットワーク、ケーブル接続またはBluetooth（登録商標）のような近距離通信を介して接続される。通信途中でデータが改竄されることや通信相手が入れ替わってしまうことがないように、ＴＬＳのような安全な方法で接続されることが望ましい。
【００６８】
ステップＳ７６１において、複製先の端末１０ｂの鍵管理セキュアアプリ１４１ｂが、証明書管理セキュアアプリ１４２ｂに端末１０ｂが保有する全ての所有者証明書を要求する。
ステップＳ７６２において、証明書管理セキュアアプリ１４２ｂが証明書保管領域１４４ｂ内の証明書管理テーブル１４７から全ての所有者証明書を取得する。
ステップＳ７６３において、証明書管理セキュアアプリ１４２ｂが全ての所有者証明書を鍵管理セキュアアプリ１４１ｂに出力する。
ステップＳ７６４において、鍵管理セキュアアプリ１４１ｂが複製元の端末１０ａに全所有者証明書とともに複製要求を送信する。
【００６９】
ステップＳ７６５において、複製元の端末１０ａの鍵管理セキュアアプリ１４１ａが、複製要求と端末１０ｂの全所有者証明書を受信し、証明書管理セキュアアプリ１４２ａに端末１０ａが保有する全ての所有者証明書を要求する。
ステップＳ７６６において、証明書管理セキュアアプリ１４２ａが証明書保管領域１４４ａ内の証明書管理テーブル１４７から全ての所有者証明書を取得する。
ステップＳ７６７において、証明書管理セキュアアプリ１４２ａが全ての所有者証明書を鍵管理セキュアアプリ１４１ａに出力する。
【００７０】
ステップＳ７６８において、鍵管理セキュアアプリ１４１ａが自身である端末１０ａの全ての所有者証明書を受取り、続いて端末１０ｂの所有者証明書ごとにステップＳ７６９〜Ｓ７７１の処理を繰り返す。
ステップＳ７６９において、鍵管理セキュアアプリ１４１ａが証明書突合処理（後述する図１２参照）を実行する。鍵管理セキュアアプリ１４１ａは証明書突合処理に失敗したならば、Ｓ７７２に進む。以下、鍵管理セキュアアプリ１４１ａが証明書突合処理に成功したとして説明する。
【００７１】
ステップＳ７７０において、鍵管理セキュアアプリ１４１ａは、突合成功した所有者証明書の本人確認レベルに合致する秘密鍵と公開鍵とサイトとを取得する。詳しくは、鍵管理セキュアアプリ１４１ａは、鍵保管領域１４３ａの鍵管理テーブル１４６の中から、突合成功した所有者証明書の本人確認レベルに一致する本人確認レベル１４６５をもつレコードを検索し、当該レコードの秘密鍵１４６２と公開鍵１４６３とサイト１４６４とを取得する。取得できなかったとき、すなわち突合成功した所有者証明書の本人確認レベルに一致する秘密鍵がなかったときには、ステップＳ７７２に進む。
【００７２】
ステップＳ７７１において、鍵管理セキュアアプリ１４１ａがステップＳ７７０で取得した秘密鍵と公開鍵とサイト（以下、秘密鍵他とも記す）を、突合に成功した端末１０ｂの所有者証明書（図７参照）の端末公開鍵５４を用いて暗号化する。暗号化するには、共通鍵暗号の鍵をランダムに生成し、この鍵で秘密鍵他を暗号化して、この鍵を端末公開鍵５４を用いて暗号化する。
【００７３】
ステップＳ７７２において、鍵管理セキュアアプリ１４１ａが端末１０ｂの全ての所有者証明書についてステップＳ７６９〜Ｓ７７１の処理を終えたならば次のステップＳ７７３に進む。終えていないのなら、鍵管理セキュアアプリ１４１ａは、端末１０ｂの次の所有者証明書に対して、ステップＳ７６９〜Ｓ７７１の処理を実行する。
ステップＳ７７３において、鍵管理セキュアアプリ１４１ａが、暗号化に用いた公開鍵を含む所有者証明書の識別情報（証明書ＩＤ）を付与して暗号化された秘密鍵他を端末１０ｂに送信する。暗号化された秘密鍵他が複数ある場合には、それぞれの暗号化された秘密鍵他に対して、それぞれ証明書ＩＤを付与する。
【００７４】
ステップＳ７７４において、鍵管理セキュアアプリ１４１ｂが、証明書ＩＤが付与され暗号化された秘密鍵他を受信し、証明書ＩＤで識別される所有者証明書の公開鍵に対応する秘密鍵を鍵保管領域１４３ｂから取得する。詳しくは、鍵管理セキュアアプリ１４１ｂは、証明書管理セキュアアプリ１４２ｂに依頼して証明書管理テーブル１４７の中から、受信した証明書ＩＤに対応する所有者証明書１４７２をもつレコードを検索し、当該レコードの鍵ＩＤ１４７３を取得する。続いて鍵管理セキュアアプリ１４１ｂは、鍵管理テーブル１４６からこの鍵ＩＤ１４７３に一致する鍵ＩＤ１４６１をもつレコードの秘密鍵１４６２を取得する。
ステップＳ７７５において、鍵管理セキュアアプリ１４１ｂは、暗号化された秘密鍵他を復号して、秘密鍵と公開鍵とサイトとを得る。
【００７５】
ステップＳ７７６において、鍵管理セキュアアプリ１４１ｂは、秘密鍵と公開鍵とサイトとを鍵保管領域１４３ｂにある鍵管理テーブル１４６に格納する。詳しくは、鍵管理セキュアアプリ１４１ｂは、秘密鍵が既に鍵管理テーブル１４６に存在していれば何もせず、存在しないのならば、新規に追加する。新規に追加するには、鍵管理セキュアアプリ１４１ｂは、最初に鍵管理テーブル１４６に１レコードを追加し、鍵ＩＤ１４６１は新規に生成して格納し、復号して得た秘密鍵と公開鍵とサイトをそれぞれ秘密鍵１４６２と公開鍵１４６３とサイト１４６４とに格納する。次に鍵管理セキュアアプリ１４１ｂは、受信した証明書ＩＤに対応する所有者証明書の本人確認レベルを本人確認レベル１４６５に格納する。
なお、上記の証明書ＩＤは、所有者証明書にある本人確認サービスサーバとシリアル番号のペア、または、公開鍵のハッシュ値など、所有者証明書またはその公開鍵を識別できる情報であればよい。
【００７６】
続いて、鍵管理セキュアアプリ１４１ａが実行する証明書突合処理（ステップＳ７６９）の詳細を説明する。図１２は、本実施形態に係る証明書突合処理を例示するフローチャートである。証明書突合処理に先立ち、鍵管理セキュアアプリ１４１ａは、本人確認サービスサーバ２０の公開鍵を入手済みである。
ステップＳ７９１において、鍵管理セキュアアプリ１４１ａは、端末１０ｂの所有者証明書の発行者署名５５を、当該所有者証明書の発行者５１にあたる本人確認サービスサーバ２０の公開鍵を用いて検証する。
ステップＳ７９２において、鍵管理セキュアアプリ１４１ａは検証が成功したか判断して、成功（Ｙ）したらステップＳ７９３に進み、失敗（Ｎ）したらステップＳ７９８に進む。
【００７７】
ステップＳ７９３において、鍵管理セキュアアプリ１４１ａは、端末１０ｂの所有者証明書の本人確認サービスと本人確認レベルとがそれぞれ同一である所有者証明書を端末１０ａの所有者証明書の中で検索する。詳しくは、鍵管理セキュアアプリ１４１ａは、端末１０ｂの所有者証明書の発行者５１が同一である発行者５１を含む端末１０ａの所有者証明書を検索する。
ステップＳ７９４において、鍵管理セキュアアプリ１４１ａは検索が成功したか判断して、成功（Ｙ）したらステップＳ７９５に進み、失敗（Ｎ）したらステップＳ７９８に進む。
ステップＳ７９５において、鍵管理セキュアアプリ１４１ａは、端末１０ｂの所有者証明書の所有者５３とステップＳ７９３で得た端末１０ａの所有者証明書の所有者５３が一致しているかを検証する。
ステップＳ７９６において、鍵管理セキュアアプリ１４１ａは検証が成功したか判断して、成功（Ｙ）したらステップＳ７９７に進み、失敗（Ｎ）したらステップＳ７９８に進む。
【００７８】
ステップＳ７９７において、鍵管理セキュアアプリ１４１ａは、証明書突合が成功したとする。
ステップＳ７９８において、鍵管理セキュアアプリ１４１ａは、証明書突合が失敗したとする。
以上で、秘密鍵複製処理の説明を終える。この段階で、端末１０ａと端末１０ｂとで、所有者証明書の発行元（本人確認サービスサーバ２０）と本人確認レベルと端末所有者とが一致する所有者証明書が存在すれば、その本人確認レベルに一致する秘密鍵を複製することができる。
【００７９】
≪変形例≫
先の実施形態では、突合に成功した所有者証明書の本人確認レベルと一致するＷｅｂサービスサーバ３０の認証用秘密鍵を暗号化して（図１１のステップＳ７７０、Ｓ７１１参照）、複製先の端末に送信している。本人確認レベルに上下関係があるときには、所有者証明書の本人確認レベルより下位の本人確認レベルのＷｅｂサービスサーバ３０の認証用秘密鍵を複製するようにしてもよい。例えば、図８に示される本人確認レベルにおいて、メールアドレスでの確認（レベル２）より公的書類の対面での確認（レベル５）が上位であるならば、レベル５の所有者証明書の突合に成功したときにレベル２のＷｅｂサービスサーバ３０用の認証用秘密鍵を複製するようにしてもよい。
【００８０】
本人確認レベルの上下関係の判断は、所有者証明書に下位の本人確認レベルを列挙されており、鍵管理セキュアアプリ１４１がこのいずれかのレベルに一致する秘密鍵を複製するようにする。または、上下関係を表した対応表がセキュア領域１４に格納されており、鍵管理セキュアアプリ１４１がこの対応表を参照して複製する秘密鍵を選択するようにしてもよい。または、本人確認レベル保証サービス２８から入手してもよい。
【００８１】
先の実施形態では、本人確認レベルは所有者証明書５０（図７参照）の発行者５１に含まれていた。本人確認レベルが所有者証明書の発行者５１とは別の構成要素として含まれるようにしてもよい。
【００８２】
先の実施形態では、端末の利用者は端末の所有者１人としていた。利用者ごとにセキュア領域１４（図２参照）を備えることで、１つの端末を複数の利用者が利用できるようにしてもよい。この場合には、所有者証明書は本人確認が成功した利用者専用のセキュア領域に格納される。利用者は他の利用者の所有者証明書にはアクセスできず、他の利用者の秘密鍵を複製することを防止することができる。
【００８３】
先の実施形態での複製の対象は、Ｗｅｂサービスサーバ３０の認証に用いられる秘密鍵であったが、これに限る必要はない。他の用途に用いられる暗号鍵や文書などの一般データなど、本人だけが所有しアクセスできる他の情報であってもよい。
【００８４】
先の実施形態での所有者証明書は、端末の所有者個人の本人確認を行った後に発行され、当該端末に格納されている。１人または複数の業務担当者が当該業務の担当者であることの確認をした後に所有者証明書が発行され、業務担当者が所有する端末に格納されるようにしてもよい。例えば、オンラインバンキングのサービスにおいて、企業の口座用の認証用秘密鍵を財務担当者の端末に複製することができ、いずれの財務担当者も口座にアクセスする業務を担当できる。
【００８５】
先の実施形態では、端末１０への所有者証明書発行とＷｅｂサービスサーバ３０への公開鍵登録の順序には制限はなかった。所有者証明書が発行された後でなければ公開鍵登録ができないように制限してもよい。こうすることで、攻撃者が公開鍵登録後の端末を盗んで、攻撃者を所有者とする所有者証明書を盗んだ端末に発行させて秘密鍵を複製することを防ぐことができる。
また、所有者証明書に含まれている本人確認レベルより上位の本人確認レベルを要求するＷｅｂサービスサーバ３０への公開鍵登録を制限してもよい。こうすることで、高度な本人確認レベルを要求するＷｅｂサービスサーバ３０への登録を抑止でき、低いレベルの本人確認しかできていない端末１０から高度なＷｅｂサービスサーバ３０へのアクセスを防止でき、サービスの安全性を高めることができる。
【００８６】
Ｗｅｂサービスサーバ３０は、所定の本人確認レベルの所有者証明書が発行された端末１０からのみ公開鍵登録を受け付けるようにしてもよい。詳しくは、公開鍵登録要求を受信（図１０のステップＳ７２１）した後に以下の処理を行う。（１）Ｗｅｂサービスサーバ３０は乱数を生成して、乱数と要求する本人確認レベルを端末１０に送信する。（２）端末１０は、乱数と本人確認レベルを受信して、当該本人確認レベルに対応した所有者証明書の公開鍵のペアとなる秘密鍵を用いて乱数に署名して、署名と当該所有者証明書をＷｅｂサービスサーバ３０に送信する。（３）Ｗｅｂサービスサーバ３０は、所有者証明書の検証と、署名の検証と、所有者証明書の本人確認レベルが所定の本人確認レベルに対応していることを検証する。
こうすることで、Ｗｅｂサービスサーバ３０は、自身が定める本人確認レベルに達しない端末１０からの公開鍵登録、引いてはサービス利用を防止することができる。結果的に、Ｗｅｂサービスの安全性を向上させることができる。
【００８７】
≪秘密鍵複製システムの効果≫
従来までのＷｅｂサービスの認証に用いる秘密鍵の端末間の複製はできない、ないしは、複製可能であっても端末所有者の本人確認レベル（本人確認の確実性）を考慮して複製を制限することはできなかった。
【００８８】
本実施形態では、本人確認サービスサーバ２０が端末１０に対して所有者の本人確認を行った後にその本人確認のレベルを含んだ所有者証明書を発行し、複製元端末が複製先端末の所有者証明書を確認した後に、本人確認レベルに合う秘密鍵を複製する。この結果、Ｗｅｂサービス事業者が求める所有者の本人確認レベルを満たした端末のみに、Ｗｅｂサービスの認証用の秘密鍵が複製が可能となり、Ｗｅｂサービス事業者が求める所有者の本人確認レベルを満たさない端末への秘密鍵の複製を防止できる。なお、所有者が異なるまたは所有者不明の端末への複製も防止できる。
【００８９】
秘密鍵の複製に際しては、複製元端末のセキュア領域内で秘密鍵を暗号化し、複製先端末のセキュア領域に送信して、複製先端末のセキュア領域内で復号している。このため、セキュア領域の外部では秘密鍵は暗号化されており、漏洩することがない。また、暗号化された秘密鍵の復号に用いられる鍵は、端末のセキュア領域内で生成・利用されて、いかなる形でもセキュア領域外部に出ることがないので安全であり、複製先端末のセキュア領域以外では暗号化された秘密鍵が復号されることはない。
【００９０】
本人確認レベルに上下関係を設けることで、上位の本人確認を行った端末には下位の本人確認レベルのＷｅｂサービスサーバ向け認証用秘密鍵を複製することができ、複製の手間を減らすことができる。また、上位の本人確認レベルの所有者証明書を入手していれば、下位の本人確認レベルの所有者証明書は不要となり、所有者証明書入手の手間を減らせる。
本発明の秘密鍵複製の仕組みを、文書など他のデータに応用することで、所定レベルの所有者の本人確認がなされた端末のみに限定して機密情報を複製することができる。
【符号の説明】
【００９１】
１      秘密鍵複製システム
１０    端末
１３    通常領域
１４    セキュア領域
１４１  鍵管理セキュアアプリ
１４２  証明書管理セキュアアプリ
１４３  鍵保管領域
１４４  証明書保管領域
１４６  鍵管理テーブル
１４７  証明書管理テーブル
１６１  制御部
１６２  記憶部
１６３  入出力部
２０    本人確認サービスサーバ（証明書発行サーバ）
２１    制御部
２２    本人確認部
２３    証明書発行部
２５    記憶部
２６    証明書署名鍵
２７    入出力部
２８    本人確認レベル保証サービス
２９    本人確認レベル表
３０    Ｗｅｂサービスサーバ
３１    制御部
３２    記憶部
３３    鍵保管領域
３４    鍵ポリシ
３５    入出力部
３６    公開鍵登録部
５０    所有者証明書
５１    発行者
５２    シリアル番号
５３    所有者
５４    端末公開鍵
５５    発行者署名
【図１】
2018133739.tif 000003
【図２】
2018133739.tif 000004
【図３】
2018133739.tif 000005
【図４】
2018133739.tif 000006
【図５】
2018133739.tif 000007
【図６】
2018133739.tif 000008
【図７】
2018133739.tif 000009
【図８】
2018133739.tif 000010
【図９】
2018133739.tif 000011
【図１０】
2018133739.tif 000012
【図１１】
2018133739.tif 000013
【図１２】
2018133739.tif 000014
【図１３】
2018133739.tif 000015