JP6533542B2 - 秘密鍵複製システム、端末および秘密鍵複製方法 - Google Patents

秘密鍵複製システム、端末および秘密鍵複製方法 Download PDF

Info

Publication number
JP6533542B2
JP6533542B2 JP2017027183A JP2017027183A JP6533542B2 JP 6533542 B2 JP6533542 B2 JP 6533542B2 JP 2017027183 A JP2017027183 A JP 2017027183A JP 2017027183 A JP2017027183 A JP 2017027183A JP 6533542 B2 JP6533542 B2 JP 6533542B2
Authority
JP
Japan
Prior art keywords
certificate
owner
terminal
key
authentication
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017027183A
Other languages
English (en)
Other versions
JP2018133739A (ja
Inventor
豪生 西村
豪生 西村
芳彦 大森
芳彦 大森
山下 高生
高生 山下
哲弥 岩田
哲弥 岩田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2017027183A priority Critical patent/JP6533542B2/ja
Publication of JP2018133739A publication Critical patent/JP2018133739A/ja
Application granted granted Critical
Publication of JP6533542B2 publication Critical patent/JP6533542B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、ユーザ認証に用いられる秘密鍵の端末間の複製に関連し、端末所有者の本人確認レベルを考慮した秘密鍵複製システム、端末および秘密鍵複製方法に関する。
インターネットの利用者は、パソコンやスマートフォン、タブレット端末等の複数の端末を使って、オンラインバンキングやネットショッピング等の各種Webサービスを利用している。Webサービスを利用するときには、利用者認証が必要であり、利用者ID(IDentifier、識別子)とパスワードを用いるのが一般的である。
しかしながら、安易に設定したパスワードが推測されてしまう、不正アクセスによりWebサービスサーバからパスワードが漏洩してしまうなどして、パスワードが盗まれてしまう事件が多発している。
パスワード認証に替わる利用者認証技術として、FIDO(Fast IDentity Online)という、公開鍵暗号を用いたWebサービスの利用者認証技術がある。FIDOでは利用者認証の前段階として、利用者が所有する端末が公開鍵暗号の秘密鍵と公開鍵のペアを生成して、秘密鍵を端末に保管し、公開鍵をWebサービスサーバに登録する。公開鍵を登録するときには、Webサービスサーバが利用者の本人確認を行う。
Webサービスサーバが利用者を認証するときには、(1)Webサービスサーバが乱数を生成して端末に送信し、(2)端末が秘密鍵を用いて乱数に署名してWebサービスサーバに送信し、(3)Webサービスサーバが署名を検証する。(3)の署名検証が成功すれば、利用者認証が成功したことになり、利用者はWebサービスを利用することができる。
FIDOでは、秘密鍵が不正に持ち出されたり利用されたりすることがないように、端末のセキュア領域に秘密鍵が保管されることを求めている。秘密鍵がセキュア領域に保管されることで、盗まれたり、正規の秘密鍵所有者以外に利用されたり、マルウェアのような不正なプログラムからアクセスされたりすることを防ぐことができる。しかしながら、秘密鍵がセキュア領域から一切取り出せないとすると、正規の利用者が別の端末からWebサービスサーバにアクセスすることができなくなってしまうという問題が生じる。すなわち、複数の端末からWebサービスを利用できない。
図13は、FIDO対応の複数端末を利用するときに生じる問題を説明するための図である。図13(a)は、一般のFIDO端末を利用するときに生じる問題を説明するための図である。利用者は端末X91を使ってサービスAサーバ98とサービスBサーバ99とにアクセスしている。サービスAサーバ98には公開鍵A981が、サービスBサーバ99には公開鍵B991が登録済みである。公開鍵A981とペアになる秘密鍵A912と、公開鍵B991とペアになる秘密鍵B913とは、端末X91のセキュア領域911に格納されている。
利用者が新しい端末Y92からサービスAサーバ98にアクセスするには、端末Y92のセキュア領域921に秘密鍵A912を格納する必要がある。しかしながら、端末X91のセキュア領域911から秘密鍵A912が取り出せない(端末Y92のセキュア領域921に複製できない)ので、端末Y92では利用者認証ができない。サービスBサーバ99についても同様である。利用者が端末Y92からサービスAサーバ98とサービスBサーバ99とにアクセスするには、端末Y92からサービスAサーバ98とサービスBサーバ99とに対して公開鍵の再登録が必要となる。再登録は、サービス数(サーバ台数)×端末数の分だけ必要であり、本人確認を含めて利用者の大きな手間となる。
この新しい端末を導入する(複数端末を利用する)ときの再登録の問題を解決する技術として、端末の所有者を証明する証明書を導入した非特許文献1に記載の技術がある。図13(b)は、所有者証明書(非特許文献1記載のユーザ証明書)を用いたセキュア領域間の秘密鍵複製を説明するための図である。端末XX93は所有者証明書に対応したセキュア領域931を、端末YY94は所有者証明書に対応したセキュア領域941を、それぞれ備えている。端末管理サーバ95は、端末XX93の所有者の本人確認をしたうえで、所有者証明書X934を発行する。発行された所有者証明書X934は端末XX93のセキュア領域931に格納される。端末YY94についても同様であり、端末管理サーバ95から発行された所有者証明書Y944は、セキュア領域941に格納される。
所有者証明書X934に示される所有者と所有者証明書Y944に示される所有者とが一致したときに端末XX93のセキュア領域931から端末YY94のセキュア領域941へ秘密鍵A912と秘密鍵B913とが複製される。利用者は複製された秘密鍵A942と秘密鍵B943を用いて、端末YY94からサービスAサーバA98とサービスBサーバ99に対して認証可能となる。所有者証明書を用いた秘密鍵複製により公開鍵の再登録は不要となる。
緒方祐介、大森芳彦、山下高生、岩田哲弥、"非対称鍵を利用した認証方式の秘密鍵の維持管理に関する考察", 電子情報通信学会通信ソサイエティ大会、B-7-9、2016.
FIDOの利用者認証の信頼度は、登録手順の本人確認の確実性と秘密鍵の安全性に依存している。求められる本人確認の確実性(レベル)は、Webサービスサーバが提供するサービスに依存する。例えば、金融サービスならば、運転免許証など公的な本人確認情報を用いて対面で本人確認が行われている。一方、SNS(Social Networking Service)では、メールアドレスの所有確認をして、本人確認がなされる。求められる本人確認のレベルは、サービス事業者のポリシによって異なる。また、秘密鍵の複製先となる端末の所有者が複製元の端末の所有者と同一であると確認するための本人確認のレベルについても、公開鍵登録と同等かそれ以上の本人確認レベルが求められると考えられる。すなわち、秘密鍵複製許可の根拠となる所有者証明書(図13(b)の符号934、944参照)を発行するときの本人確認のレベルが、Webサービスサーバへの登録手順の本人確認と同等以上であることが求められると考えられる。
一方、本人確認のレベルが上がるほど、利用者負担は大きくなり、受容度が低下してしまう。オンラインでの本人確認より対面での本人確認の方がレベル(確実性)は高いが、利用者には負担となってしまう。また、個人情報保護に対する意識の高まりから、利用者は不必要な本人確認の情報開示には抵抗感があり、SNSの登録に運転免許証を提示することは受け入れないと考えられる。結果として、単一の本人確認方法により発行された所有者証明書に基づく秘密鍵複製では、様々なサービスの利用者認証用秘密鍵の複製に対応できない可能性がある。
本発明は、上記の問題を解決するものであり、本人確認レベルが異なる複数の本人確認サービスによる所有者証明書が発行可能であって、本人確認レベルに応じた端末間の秘密鍵複製を可能とする秘密鍵複製システム、端末および秘密鍵複製方法を提供することを課題とする。
上記課題を解決するための手段として、請求項1に係る発明は、認証に用いられる秘密鍵である認証用秘密鍵を格納可能な端末と、前記端末の所有者が前記端末を所有することを証明する所有者証明書を発行する証明書発行サーバとが、通信ネットワークを介して接続され、2つの前記端末の間で前記認証用秘密鍵の複製を行う秘密鍵複製システムであって、前記証明書発行サーバは、前記端末の所有者の本人確認を所定の手続により行い、前記本人確認の確実性のレベルを示す本人確認レベルと、前記所有者の識別情報と、前記端末の公開鍵と、前記証明書発行サーバの識別情報とを含む前記所有者証明書を前記端末に対して発行する証明書発行部を備え、前記端末は、自身に対して発行された前記所有者証明書を記憶する証明書保管領域、および、前記認証用秘密鍵の複製先の端末である複製先端末の所有者に求められる本人確認レベルを前記認証用秘密鍵に関連付けて記憶する鍵保管領域を有する記憶部を備え、前記所有者の識別情報と、前記本人確認レベルと、前記証明書発行サーバの識別情報とのそれぞれが前記複製先端末の前記所有者証明書と同一である前記所有者証明書が前記証明書保管領域に記憶される場合に、当該所有者証明書に含まれる本人確認レベルに関連付けられた前記認証用秘密鍵を前記鍵保管領域から抽出し、前記複製先端末の前記所有者証明書に含まれる公開鍵で暗号化して前記複製先端末へ送信することを特徴とする秘密鍵複製システムである。
上記課題を解決するための手段として、請求項5に係る発明は、認証に用いられる秘密鍵である認証用秘密鍵を格納可能な端末と、前記端末の所有者が前記端末を所有することを証明する所有者証明書を発行する証明書発行サーバとが、通信ネットワークを介して接続され、2つの前記端末の間で前記認証用秘密鍵の複製を行う秘密鍵複製システムの前記端末であって、前記証明書発行サーバが、前記端末の所有者の本人確認を所定の手続により行い、前記本人確認の確実性のレベルを示す本人確認レベルと、前記所有者の識別情報と、前記端末の公開鍵と、前記証明書発行サーバの識別情報とを含めて前記端末に対して発行した前記所有者証明書を記憶する証明書保管領域、および、前記認証用秘密鍵の複製先の端末である複製先端末の所有者に求められる本人確認レベルを前記認証用秘密鍵に関連付けて記憶する鍵保管領域を有する記憶部を備え、前記所有者の識別情報と、前記本人確認レベルと、前記証明書発行サーバの識別情報とのそれぞれが前記複製先端末の前記所有者証明書と同一である前記所有者証明書が前記証明書保管領域に記憶される場合に、当該所有者証明書に含まれる本人確認レベルに関連付けられた前記認証用秘密鍵を前記鍵保管領域から抽出し、前記複製先端末の前記所有者証明書に含まれる公開鍵で暗号化して前記複製先端末へ送信することを特徴とする端末である。
上記課題を解決するための手段として、請求項6に係る発明は、認証に用いられる秘密鍵である認証用秘密鍵を格納可能な端末と、前記端末の所有者が前記端末を所有することを証明する所有者証明書を発行する証明書発行サーバとが、通信ネットワークを介して接続され、2つの前記端末の間で前記認証用秘密鍵の複製を行う秘密鍵複製システムの秘密鍵複製方法であって、前記証明書発行サーバは、前記端末の所有者の本人確認を所定の手続により行い、前記本人確認の確実性のレベルを示す本人確認レベルと、前記所有者の識別情報と、前記端末の公開鍵と、前記証明書発行サーバの識別情報とを含む前記所有者証明書を前記端末に対して発行する証明書発行ステップを実行し、前記端末は、自身に対して発行された前記所有者証明書を記憶する証明書保管領域、および、前記認証用秘密鍵の複製先の端末である複製先端末の所有者に求められる本人確認レベルを前記認証用秘密鍵に関連付けて記憶する鍵保管領域を有する記憶部を備えており、前記所有者の識別情報と、前記本人確認レベルと、前記証明書発行サーバの識別情報とのそれぞれが前記複製先端末の前記所有者証明書と同一である前記所有者証明書が前記証明書保管領域に記憶される場合に、当該所有者証明書に含まれる本人確認レベルに関連付けられた前記認証用秘密鍵を前記鍵保管領域から抽出し、前記複製先端末の前記所有者証明書に含まれる公開鍵で暗号化して前記複製先端末へ送信する鍵複製ステップを実行することを特徴とする秘密鍵複製方法である。
上記構成によれば、端末自身に発行された所有者証明書の所有者と本人確認レベルと証明書発行サーバ(本人確認サービスサーバ)とを含む所有者証明書が発行された端末のみに、当該本人確認レベルに関連付けられた認証用秘密鍵を複製することができる。逆に言えば、そのような所有者証明書が発行されていない端末への秘密鍵の複製を防止することができる。また、所有者証明書が発行されている端末でも、関連付けられている本人確認レベルが一致しない認証用秘密鍵の複製を防止することができる。
上記課題を解決するための手段として、請求項2に係る発明は、前記秘密鍵複製システムは、前記端末と前記通信ネットワークを介して接続され、前記認証用秘密鍵とペアになる認証用公開鍵を用いて前記所有者を認証するWebサービスサーバをさらに備え、前記鍵保管領域に記憶される前記認証用秘密鍵に関連付けられた本人確認レベルは、前記Webサービスサーバによって指定されることを特徴とする請求項1に記載の秘密鍵複製システムである。
上記構成によれば、認証用秘密鍵に関連付けられる本人確認レベルは、当該認証用秘密鍵を用いて認証する先のWebサービスサーバが指定することができる。すなわち、Webサービスサーバが指定した本人確認レベルの所有者の端末のみに認証用秘密鍵が複製されるように制限できる。
上記課題を解決するための手段として、請求項3に係る発明は、前記Webサービスサーバは、前記所有者証明書に含まれる公開鍵とペアとなる秘密鍵を用いて生成されるデジタル署名であって、自身が生成したデータに対するデジタル署名を前記端末に対して要求し、前記端末が生成した前記デジタル署名を前記所有者証明書に含まれる公開鍵を用いて検証した後に、前記認証用公開鍵を前記端末の認証用公開鍵として用いることを特徴とする請求項2に記載の秘密鍵複製システムである。
上記構成によれば、Webサービスサーバにアクセスする端末を、所有者証明書が発行された端末のみに制限することができ、端末所有者の本人確認レベルを所定のレベル以上に保つことができる。
上記課題を解決するための手段として、請求項4に係る発明は、前記本人確認レベルは、前記証明書発行サーバが行う本人確認の確実性の高低による上下関係があり、前記端末は、前記所有者の識別情報と、前記本人確認レベルと、前記証明書発行サーバの識別情報とのそれぞれが前記複製先端末の前記所有者証明書と同一である前記所有者証明書が前記証明書保管領域に記憶される場合に、当該所有者証明書に含まれる本人確認レベルまたはそれより下位の本人確認レベルに関連付けられた前記認証用秘密鍵を前記鍵保管領域から抽出し、前記複製先端末の前記所有者証明書に含まれる公開鍵で暗号化して前記複製先端末へ送信することを特徴とする請求項1に記載の秘密鍵複製システムである。
上記構成によれば、端末自身に発行された所有者証明書の所有者と本人確認レベルと証明書発行サーバとを含む所有者証明書が発行された端末のみに、当該本人確認レベルまたはそれより下位の本人確認レベルに関連付けられた認証用秘密鍵が複製される。高いレベルの所有者本人確認済みの端末に対しては、当該本人確認のレベルより低いレベルで関連付けられた認証用秘密鍵も同時に複製することができ、鍵複製や所有者証明書発行の手間を減らすことができる。
本発明によれば、本人確認レベルが異なる複数の本人確認サービスによる所有者証明書が発行可能であって、本人確認レベルに応じた端末間の秘密鍵複製を可能とする秘密鍵複製システム、端末および秘密鍵複製方法を提供することができる。
本実施形態に係る秘密鍵複製システムの全体構成を例示する図である。 本実施形態に係る端末の構成を例示する機能ブロック図である。 本実施形態に係る端末の鍵保管領域に記憶される鍵管理テーブルのデータ構成を例示する図である。 本実施形態に係る端末の証明書保管領域に記憶される証明書管理テーブルのデータ構成を例示する図である。 本実施形態に係る本人確認サービスサーバの構成を例示する機能ブロック図である。 本実施形態に係るWebサービスサーバの構成を例示する機能ブロック図である。 本実施形態に係る所有者証明書のデータ構成を例示する図である。 本実施形態に係る本人確認レベル保証サービスの本人確認レベル表の例である。 本実施形態に係る所有者証明書の発行処理を例示するシーケンス図である。 本実施形態に係るWebサービスサーバへの公開鍵登録処理を例示するシーケンス図である。 本実施形態に係る秘密鍵複製処理を例示するシーケンス図である。 本実施形態に係る証明書突合処理を例示するフローチャートである。 FIDO対応の複数端末を利用するときに生じる問題を説明するための図である。
以下、本発明の実施形態の秘密鍵複製システムを、図面を参照しつつ説明する。
≪秘密鍵複製システムの全体構成≫
図1は、本実施形態に係る秘密鍵複製システム1の全体構成を例示する図である。秘密鍵複製システム1は、WebサービスAサーバ30aと、WebサービスBサーバ30bと、端末10aと、端末10bと、本人確認サービスXサーバ20aと、本人確認サービスYサーバ20bと、本人確認レベル保証サービス28とからなる。WebサービスAサーバ30aとWebサービスBサーバ30bとを特に区別する必要がない場合には、Webサービスサーバ30と記す。端末10aと端末10bとを特に区別する必要がない場合には、端末10と記す。本人確認サービスXサーバ20aと、本人確認サービスYサーバ20bとを特に区別する必要がない場合には、本人確認サービスサーバ20と記す。
Webサービスサーバ30と端末10と本人確認サービスサーバ20とは、ネットワーク(不図示)で接続されており、相互に通信可能である。
Webサービスサーバ30は、2つ図示しているが、これには限らず、1つでも3以上でもよい。本人確認サービスサーバ20も2つに限らず1つでも3以上でもよい。端末10は、2以上である。
本人確認サービスXサーバ20aは、端末10aの所有者(利用者)の本人確認をしたうえで、端末10aに対して所有者証明書12aを発行する(ステップS701)。同一の利用者が所有する端末10bについても同様に、本人確認サービスXサーバ20aは、所有者証明書12bを発行する(ステップS702)。発行処理については、図9を参照して後述する。
続いて、端末10aは鍵ペアを生成して、秘密鍵11aをローカルに保管し、公開鍵39をWebサービスAサーバ30aに登録する(ステップS703)。登録するときに、WebサービスAサーバ30aは、端末10aの所有者の本人確認を行う。この本人確認を含めた公開鍵39の登録処理については、図10を参照して後述する。以降、端末10aは、秘密鍵11aを用いて利用者認証を行い、WebサービスAサーバ30aのサービスを利用することができる(ステップS704)。
端末10aの所有者が新しい端末10bを入手すると、公開鍵39を登録した端末10aから端末10bに秘密鍵11aを複製し、端末10bに秘密鍵11bが格納される(ステップS705)。以降、端末10bからも秘密鍵11bを用いて利用者認証を行い、WebサービスAサーバ30aのサービスを利用することができる(ステップS706)。
上記の説明では、所有者証明書発行(ステップS701)の後に、公開鍵登録(ステップS703)を行ったが、逆の順番でもよい。
本人確認レベル保証サービス28は、本人確認レベル表29(後述する図8参照)を公表しており、本人確認サービスサーバ20が行っている本人確認が本人確認レベル表29にあるレベルに達しているか審査する。審査はネットワークを介して行われるとは限らない。本人確認レベル保証サービス28の審査員が本人確認サービスサーバ20の運用現場を訪れて、本人確認の手続きが適切か審査して、本人確認サービスサーバ20が提供する本人確認サービスを認証する場合もある。つまり、第三者機関としての本人確認レベル保証サービス28により、本人確認サービスサーバ20の本人確認レベルの信頼性が認証される。
Webサービスサーバ30は、秘密鍵複製に求められる所有者証明書の本人確認レベルを指定することができる。例えば、Webサービスサーバ30が公開鍵を登録するときに行っている本人確認レベルと同等レベルを求めることができる。WebサービスAサーバ30aの本人確認レベルはレベル5であり、レベル3である本人確認サービスYサーバ20bが発行した所有者証明書に基づく秘密鍵複製は認めず、秘密鍵の複製はできない。このWebサービスサーバ30が認めたレベルの本人確認サービスサーバ発行の所有者証明書による秘密鍵複製の処理は、後述する図11を参照して説明する。
≪端末の構成≫
図2は、本実施形態に係る端末10の構成を例示する機能ブロック図である。端末10は制御部161や記憶部162、入出力部163などから構成される。記憶部162は、ハードディスクやRAM(Random Access Memory)等で実現され、OS(Operating System)やアプリケーションプログラム、データを記憶する。入出力部163は、NIC(Network Interface Card)などから構成され、本人確認サービスサーバ20やWebサービスサーバ30との通信データの送受信を行ったり、生体認証装置(不図示)との通信を行ったりする。制御部161は、CPU(Central Processing Unit)で実現され、OSやアプリケーションプログラムを実行することで端末10を機能させ、後述する図9〜図12に示される処理を実行する。
端末10は、通常領域13とセキュア領域14とを論理的に備える。通常領域13は、Webサービス利用アプリ131を含む一般のアプリケーションプログラムが実行される環境である。セキュア領域14は、一般のアプリケーションプログラムから隔離された実行環境であり、データや計算処理が保護される。CPUやOSの特権モードで実行され、特定のプログラムや特定の手順によってのみ、セキュア領域14のプログラムの呼び出しやデータへのアクセスが可能となる。セキュア領域14は、仮想化技術を用いて通常領域13のOSとは別のOS上に実現してもよい。
セキュア領域14では、鍵管理セキュアアプリ141と証明書管理セキュアアプリ142とが制御部161により実行される。また、セキュア領域14は、鍵保管領域143と証明書保管領域144とを備える。鍵管理セキュアアプリ141は、鍵の生成や暗号化、復号、署名生成、署名検証などの機能を有し、鍵管理セキュアアプリ141を実行する制御部161が後述する所有者証明書発行処理(図9参照)、Webサービスサーバ30への公開鍵登録処理(図10参照)、秘密鍵複製処理(図11参照)を行う。証明書管理セキュアアプリ142は、所有者証明書の管理機能を有し、証明書管理セキュアアプリ142を実行する制御部161が所有者証明書発行処理を行う。
鍵保管領域143は、Webサービスサーバ30にアクセスするときの認証や秘密鍵複製処理に用いられる秘密鍵と公開鍵を保管する領域であり、鍵管理テーブル146(後述する図3参照)を備える。
図3は、本実施形態に係る端末10の鍵保管領域143に記憶される鍵管理テーブル146のデータ構成を例示する図である。鍵管理テーブル146は、例えばテーブル形式のデータであり、鍵ID1461、秘密鍵1462、公開鍵1463、サイト1464、本人確認レベル1465の列からなる。1つの行(レコード)は、公開鍵暗号の秘密鍵と公開鍵のペアとその関連情報を含む。
鍵ID1461は、秘密鍵1462と公開鍵1463のペアの識別情報である。
秘密鍵1462は、Webサービスサーバ30にアクセスするときの認証、または、秘密鍵複製処理に用いられる秘密鍵である。
公開鍵1463は、Webサービスサーバ30に登録される公開鍵、または、所有者証明書に含まれる公開鍵である。所有者証明書に含まれる公開鍵に対応する秘密鍵は、秘密鍵複製処理に用いられる。
サイト1464は、当該レコードがWebサービスサーバ30にアクセスするときの認証に用いられる鍵の情報であるときには、当該Webサービスサーバ30のアドレス情報(URL(Uniform Resource Locator))である。当該レコードが所有者証明書に含まれる公開鍵とその秘密鍵の情報であるときには、サイト1464の情報は無効である。鍵ID1461が「0043」である2行目のレコードは、所有者証明書に含まれる公開鍵とその秘密鍵のレコードであり、サイト1464は「−」となっている。
本人確認レベル1465は、当該レコードがWebサービスサーバ30にアクセスするときの認証に用いられる鍵の情報であるときには、当該Webサービスサーバ30が秘密鍵を複製するときに要求される複製先端末の所有者の本人確認レベルである。
当該レコードが所有者証明書に含まれる公開鍵とその秘密鍵の情報であるときには、本人確認レベル1465の情報は無効である。鍵ID1461が「0043」である2行目のレコードは、所有者証明書に含まれる公開鍵とその秘密鍵のレコードであり、本人確認レベル1465は「−」となっている。
図2に戻り、証明書保管領域144は、所有者証明書を保管する領域であり、証明書管理テーブル147(後述する図4参照)を備える。
図4は、本実施形態に係る端末10の証明書保管領域144に記憶される証明書管理テーブル147のデータ構成を例示する図である。証明書管理テーブル147は、例えばテーブル形式のデータであり、証明書ID1471、所有者証明書1472、鍵ID1473の列からなる。1つのレコードは、1つの所有者証明書の情報を含む。
証明書ID1471は、当該レコードの所有者証明書の識別情報である。
所有者証明書1472は、本人確認サービスサーバ20が発行した所有者証明書である。
鍵ID1473は、当該レコードの所有者証明書に含まれる公開鍵を含む鍵管理テーブル146の鍵ID1461である。鍵ID1461を用いることで鍵管理テーブル146に格納されている秘密鍵1462を参照することができる。
≪本人確認サービスサーバの構成≫
図5は、本実施形態に係る本人確認サービスサーバ(証明書発行サーバ)20の構成を例示する機能ブロック図である。本人確認サービスサーバ20は、制御部21と、記憶部25と、入出力部27とを備える。
制御部21は、CPUで構成され、所有者証明書の発行処理(後述する図9参照)を実行する。制御部21は、本人確認部22と証明書発行部23とを備える。
本人確認部22は、所有者証明書の発行処理において、発行を要求してきた端末10の所有者の本人確認を行う。本人確認の詳細については、図8を参照しながら後述する。証明書発行部23は、所有者証明書50(後述する図7参照)を生成する。
記憶部25は、ハードディスクやRAMで構成され、所有者証明書の発行処理に必要なプログラムやデータを記憶する。記憶部25は、所有者証明書に付与するデジタル署名の生成に用いられる証明書署名鍵26を記憶する。証明書署名鍵26は不正にアクセスされたり、利用されたりしないよう、高い安全レベルの方法で保護される。
入出力部27は、NICなどから構成され、端末10との通信データの送受信を行う。
≪Webサービスサーバの構成≫
図6は、本実施形態に係るWebサービスサーバ30の構成を例示する機能ブロック図である。Webサービスサーバ30は、制御部31と、記憶部32と、入出力部35とを備える。制御部31は、CPUで構成され、OSやWebサービスのアプリケーションプログラムを実行することで端末10にWebサービスを提供する。制御部31は、公開鍵登録処理(後述する図10参照)を実行する公開鍵登録部36を備える。
記憶部32は、ハードディスクやRAM等で実現され、OSやWebサービスを提供するアプリケーションプログラム、データを記憶する。記憶部32は、鍵保管領域33と鍵ポリシ34とを備える。鍵保管領域33には、利用者認証に用いられる公開鍵が利用者識別情報と関連付けられて格納される。当該公開鍵は、公開鍵登録処理の中で、端末10が生成して、Webサービスサーバ30に送信される。鍵ポリシ34は、Webサービスサーバ30が端末10に求める認証に用いられる秘密鍵の保管や利用時の保護強度に関する情報であり、本人確認レベルを含む。
入出力部35は、NICなどから構成され、端末10との通信データの送受信を行う。
≪所有者証明書のデータ構成≫
図7は、本実施形態に係る所有者証明書50のデータ構成を例示する図である。所有者証明書50は、発行者51と、シリアル番号52と、所有者53と、端末公開鍵54と、発行者署名55とを含んで構成される。
発行者51は、所有者証明書50を発行する本人確認サービスの識別情報であり、O(Organization Name、組織名)で示される本人確認サービスの名称と、OU(Organizational Unit Name、部署名)で示される本人確認レベルとを含む。Oは、本人確認サービスを提供する事業者の名称でもよいし、本人確認サービスサーバ20を識別できる情報でもよい。
シリアル番号52は、所有者証明書50の発行者である本人確認サービス(本人確認サービスサーバ20)が割り振った当該所有者証明書50のシリアル番号である。シリアル番号52を参照することで本人確認サービスが発行した所有者証明書を一意的に識別できる。
所有者53は、端末10の所有者の識別情報であり、Oで示される所有者の所属組織名称と、CN(Common Name、一般名称)で示される所有者の氏名を含む。組織名や氏名の代わりにメールアドレス他の利用者を識別できる情報を用いてもよい。
端末公開鍵54は、秘密鍵複製に用いられる公開鍵暗号の公開鍵である。複製される秘密鍵は、この端末公開鍵54で暗号化される。
発行者署名55は、所有者証明書50に対するデジタル署名である。端末10は、発行者署名55を検証することで、所有者証明書50が本人確認サービスサーバ20が発行した真正な所有者証明書50であることを確認できる。
本人確認レベルは、発行者51の中のOUとして所有者証明書50に含まれている。本人確認レベルが、発行者51の中のOUではなく、発行者51、シリアル番号52、所有者53、端末公開鍵54、発行者署名55とは別の、所有者証明書50の構成要素として含まれるようにしてもよい。
≪本人確認レベル表≫
図8は、本実施形態に係る本人確認レベル保証サービス28の本人確認レベル表29の例である。本人確認レベル表29は、本人確認サービスサーバ20の本人確認部22(図5参照)が行っている本人確認レベルの確実性(レベル)を示す。レベルによっては、人が介在して本人確認を行う場合もある。
本人確認レベル表29は、本人確認のレベル291と本人確認に用いられる確認情報292との列から構成される表形式のデータである。本人確認の方法には、簡単な確認方法であって、端末10の所有者には受け入れやすいが確認の信頼度(確実性、レベル)は低い方法や、逆に手間がかかる確認方法であって、所有者には面倒であるが確認の信頼度は高い方法がある。
レベル1の自己申告は、自己申告の情報が確認情報ということであって、証明書発行要求に含まれている所有者の識別情報をそのまま所有者証明書50の所有者53に用いる本人確認方法である。レベル1では、実質的には本人確認をしていない。
レベル2の自己申告+メールアドレスは、証明書発行要求に含まれているメールアドレスに、本人確認サービスサーバ20がメールを送り、そのメールに対する所有者の応答を確認することによって本人確認を行う方法である。応答には、送信メールに含まれるURLへのアクセスや送信メールに対する返信を本人確認サービスサーバ20に送信するなどがある。
他にも、レベル4の所有者が本人確認サービスサーバ20へ送信した公的書類のコピーを用いて確認する方法やレベル5の対面で公的書類を用いて確認する方法がある。本人確認サービスサーバ20の処理だけでは実現できない、人手がかかるレベル5のような確認方法も存在する。
≪所有者証明書発行処理≫
図9は、本実施形態に係る所有者証明書の発行処理を例示するシーケンス図である。図9を参照して、端末10と本人確認サービスサーバ20が実行する、端末10に対する所有者証明書の発行処理を説明する。所有者証明書発行処理に先立ち、端末10はネットワークを介して本人確認サービスサーバ20に接続する。通信途中でデータが改竄されることや通信相手が入れ替わってしまうことがないように、TLS(Transport Layer Security)のような安全な方法で接続されることが望ましい。
ステップS741において、端末10の証明書管理セキュアアプリ142を実行する制御部161が、鍵管理セキュアアプリ141(制御部161)に鍵生成要求を出力する。
ステップS742において、鍵管理セキュアアプリ141を実行する制御部161が鍵生成要求を受取り、公開鍵暗号の公開鍵と秘密鍵のペアを生成する。
ステップS743において、鍵管理セキュアアプリ141を実行する制御部161が生成した公開鍵と秘密鍵を鍵保管領域143の鍵管理テーブル146(図3参照)に保存する。詳しくは、鍵管理セキュアアプリ141を実行する制御部161は、鍵管理テーブル146に1レコードを追加し、鍵ID1461には新規の識別情報を生成して格納する。次に鍵管理セキュアアプリ141を実行する制御部161は、秘密鍵1462と公開鍵1463に、それぞれ生成した秘密鍵、生成した公開鍵を格納し、サイト1464と本人確認レベル1465とには、「−」を格納する。
ステップS744において、鍵管理セキュアアプリ141を実行する制御部161が、生成した公開鍵と鍵IDを証明書管理セキュアアプリ142(制御部161)に出力する。
ステップS745において、証明書管理セキュアアプリ142を実行する制御部161が公開鍵と鍵IDを受取り、公開鍵を本人確認サービスサーバ20に送信して所有者証明書の発行を要求する。
ステップS746において、本人確認サービスサーバ20の証明書発行部23が公開鍵を受信し、本人確認部22に本人確認要求を出力する。
ステップS747において、本人確認部22が、端末10の所有者の本人確認を行う。本人確認の方法は、発行する所有者証明書の本人確認レベルに応じてあらかじめ決まっており、本人確認レベル保証サービス28によって審査済みである。本人確認を通じて、本人確認サービスサーバ20は端末10の所有者の真正な識別情報を得る。
本人確認に失敗すれば、本人確認部22は証明書発行部23に失敗を通知し、証明書発行部23は端末10に本人確認失敗を通知して、所有者証明書発行処理を終える。以降、本人確認に成功したとして、所有者証明書発行処理の説明を続ける。
ステップS748において、本人確認部22が証明書発行部23に本人確認完了を出力する。
ステップS749において、証明書発行部23が所有者証明書50(図7参照)を発行する。発行者51は、本人確認サービスサーバ20が提供するサービスの識別情報と、本人確認(ステップS747)の本人確認レベルを含む。シリアル番号52は、本人確認サービスサーバ20が発行する所有者証明書を一意的に識別するためのシリアル番号である。所有者53は、本人確認で得た端末10の所有者の識別情報である。端末公開鍵54は、ステップS746で受信した公開鍵である。発行者署名55は、発行者51とシリアル番号52と所有者53と端末公開鍵54とのデータに対する、証明書署名鍵26を用いて生成したデジタル署名である。
ステップS750において、証明書発行部23が所有者証明書を端末10に送信する。
ステップS751において、証明書管理セキュアアプリ142を実行する制御部161が所有者証明書を受信して証明書保管領域144の証明書管理テーブル147(図4参照)に格納する。詳しくは、証明書管理セキュアアプリ142を実行する制御部161は、証明書管理テーブル147に1レコードを追加し、証明書ID1471には新規の識別情報を生成して格納する。次に証明書管理セキュアアプリ142を実行する制御部161は、所有者証明書1472に、受信した所有者証明書を格納し、鍵ID1473にはステップS745で受取った鍵管理テーブル146の鍵ID1461に格納された鍵識別情報を格納する。
以上で、所有者証明書発行処理を終える。この段階で、端末10は所有者証明書を証明書管理テーブル147内に格納し、所有者証明書の公開鍵とペアになる秘密鍵を鍵管理テーブル146内に格納している。
≪公開鍵登録処理≫
図10は、本実施形態に係るWebサービスサーバ30への公開鍵登録処理を例示するシーケンス図である。図10を参照して、端末10とWebサービスサーバ30とが実行する、Webサービスサーバ30への公開鍵登録処理を説明する。公開鍵登録処理に先立ち、端末10はネットワークを介してWebサービスサーバ30に接続する。通信途中でデータが改竄されることや通信相手が入れ替わってしまうことがないように、TLSのような安全な方法で接続されることが望ましい。
ステップS721において、端末10のWebサービス利用アプリ131を実行する制御部161が、Webサービスサーバ30に公開鍵登録要求を送信する。
ステップS722において、Webサービスサーバ30の公開鍵登録部36が、公開鍵登録要求を受信して、登録要求を受け付ける。
ステップS723において、公開鍵登録部36が鍵ポリシ34を端末10に送信する。
ステップS724において、Webサービス利用アプリ131を実行する制御部161が鍵ポリシを受信し、鍵生成要求と鍵ポリシとWebサービスサーバ30のアドレス(URL)とを鍵管理セキュアアプリ141(制御部161)に出力する。
ステップS725において、鍵管理セキュアアプリ141を実行する制御部161が鍵生成要求と鍵ポリシとURLとを受取り、公開鍵暗号の公開鍵と秘密鍵のペアを生成する。
ステップS726において、鍵管理セキュアアプリ141を実行する制御部161が生成した公開鍵と秘密鍵、鍵ポリシの中の本人確認レベル、URLを鍵保管領域143の鍵管理テーブル146(図3参照)に格納する。詳しくは、鍵管理セキュアアプリ141を実行する制御部161は、鍵管理テーブル146に1レコードを追加し、鍵ID1461には新規の識別情報を生成して格納する。次に鍵管理セキュアアプリ141を実行する制御部161は、秘密鍵1462と公開鍵1463とサイト1464と本人確認レベル1465とに、それぞれ生成した秘密鍵、生成した公開鍵、受取ったURL、受取った鍵ポリシの中の本人確認レベルを格納する。
ステップS727において、鍵管理セキュアアプリ141を実行する制御部161が、生成した公開鍵をWebサービス利用アプリ131(制御部161)に出力する。
ステップS728において、Webサービス利用アプリ131を実行する制御部161が公開鍵を受取り、これをWebサービスサーバ30に送信する。
ステップS729において、公開鍵登録部36が公開鍵を受信し、端末10の利用者の本人確認を行う。本人確認の方法としては、図8で説明したような様々な方法があり、鍵ポリシ34に含まれる本人確認レベルと合致する本人確認方法とは限らない。本人確認を通じて、公開鍵が利用者(利用者識別情報)と関連付けられる。
本人確認に失敗すれば、公開鍵登録部36は、失敗を端末10に通知して、公開鍵登録処理を終える。以降、本人確認に成功したとして、公開鍵登録処理の説明を続ける。
ステップS730において、公開鍵登録部36が鍵保管領域33に公開鍵を本人確認(ステップS729)で確認した利用者識別情報と紐付けて格納する。
ステップS731において、公開鍵登録部36が登録完了を端末10に送信する。
以上で、公開鍵登録処理を終える。この段階で、Webサービスサーバ30は利用者の公開鍵を鍵保管領域33に格納し、端末10は秘密鍵と本人確認レベルを鍵管理テーブル146内に格納している。
≪秘密鍵複製処理≫
図11は、本実施形態に係る秘密鍵複製処理を例示するシーケンス図である。図11を参照して、端末10a(複製元)のセキュア領域内の鍵保管領域143aにある秘密鍵を端末10b(複製先)のセキュア領域内の鍵保管領域143bに複製する処理を説明する。秘密鍵複製処理に先立ち、端末10aと端末10bとは、ネットワーク、ケーブル接続またはBluetooth(登録商標)のような近距離通信を介して接続される。通信途中でデータが改竄されることや通信相手が入れ替わってしまうことがないように、TLSのような安全な方法で接続されることが望ましい。
ステップS761において、複製先の端末10bの鍵管理セキュアアプリ141bを実行する制御部161が、証明書管理セキュアアプリ142b(制御部161)に端末10bが保有する全ての所有者証明書を要求する。
ステップS762において、証明書管理セキュアアプリ142bを実行する制御部161が証明書保管領域144b内の証明書管理テーブル147から全ての所有者証明書を取得する。
ステップS763において、証明書管理セキュアアプリ142bを実行する制御部161が全ての所有者証明書を鍵管理セキュアアプリ141b(制御部161)に出力する。
ステップS764において、鍵管理セキュアアプリ141bを実行する制御部161が複製元の端末10aに全所有者証明書とともに複製要求を送信する。
ステップS765において、複製元の端末10aの鍵管理セキュアアプリ141aを実行する制御部161が、複製要求と端末10bの全所有者証明書を受信し、証明書管理セキュアアプリ142a(制御部161)に端末10aが保有する全ての所有者証明書を要求する。
ステップS766において、証明書管理セキュアアプリ142aを実行する制御部161が証明書保管領域144a内の証明書管理テーブル147から全ての所有者証明書を取得する。
ステップS767において、証明書管理セキュアアプリ142aを実行する制御部161が全ての所有者証明書を鍵管理セキュアアプリ141a(制御部161)に出力する。
ステップS768において、鍵管理セキュアアプリ141aを実行する制御部161が自身である端末10aの全ての所有者証明書を受取り、続いて端末10bの所有者証明書ごとにステップS769〜S771の処理を繰り返す。
ステップS769において、鍵管理セキュアアプリ141aを実行する制御部161が証明書突合処理(後述する図12参照)を実行する。鍵管理セキュアアプリ141aを実行する制御部161は証明書突合処理に失敗したならば、S772に進む。以下、鍵管理セキュアアプリ141aを実行する制御部161が証明書突合処理に成功したとして説明する。
ステップS770において、鍵管理セキュアアプリ141aを実行する制御部161は、突合成功した所有者証明書の本人確認レベルに合致する秘密鍵と公開鍵とサイトとを取得する。詳しくは、鍵管理セキュアアプリ141aを実行する制御部161は、鍵保管領域143aの鍵管理テーブル146の中から、突合成功した所有者証明書の本人確認レベルに一致する本人確認レベル1465をもつレコードを検索し、当該レコードの秘密鍵1462と公開鍵1463とサイト1464とを取得する。取得できなかったとき、すなわち突合成功した所有者証明書の本人確認レベルに一致する秘密鍵がなかったときには、ステップS772に進む。
ステップS771において、鍵管理セキュアアプリ141aを実行する制御部161がステップS770で取得した秘密鍵と公開鍵とサイト(以下、秘密鍵他とも記す)を、突合に成功した端末10bの所有者証明書(図7参照)の端末公開鍵54を用いて暗号化する。暗号化するには、共通鍵暗号の鍵をランダムに生成し、この鍵で秘密鍵他を暗号化して、この鍵を端末公開鍵54を用いて暗号化する。
ステップS772において、鍵管理セキュアアプリ141aを実行する制御部161が端末10bの全ての所有者証明書についてステップS769〜S771の処理を終えたならば次のステップS773に進む。終えていないのなら、鍵管理セキュアアプリ141aを実行する制御部161は、端末10bの次の所有者証明書に対して、ステップS769〜S771の処理を実行する。
ステップS773において、鍵管理セキュアアプリ141aを実行する制御部161が、暗号化に用いた公開鍵を含む所有者証明書の識別情報(証明書ID)を付与して暗号化された秘密鍵他を端末10bに送信する。暗号化された秘密鍵他が複数ある場合には、それぞれの暗号化された秘密鍵他に対して、それぞれ証明書IDを付与する。
ステップS774において、鍵管理セキュアアプリ141bを実行する制御部161が、証明書IDが付与され暗号化された秘密鍵他を受信し、証明書IDで識別される所有者証明書の公開鍵に対応する秘密鍵を鍵保管領域143bから取得する。詳しくは、鍵管理セキュアアプリ141bを実行する制御部161は、証明書管理セキュアアプリ142b(制御部161)に依頼して証明書管理テーブル147の中から、受信した証明書IDに対応する所有者証明書1472をもつレコードを検索し、当該レコードの鍵ID1473を取得する。続いて鍵管理セキュアアプリ141bを実行する制御部161は、鍵管理テーブル146からこの鍵ID1473に一致する鍵ID1461をもつレコードの秘密鍵1462を取得する。
ステップS775において、鍵管理セキュアアプリ141bを実行する制御部161は、暗号化された秘密鍵他を復号して、秘密鍵と公開鍵とサイトとを得る。
ステップS776において、鍵管理セキュアアプリ141bを実行する制御部161は、秘密鍵と公開鍵とサイトとを鍵保管領域143bにある鍵管理テーブル146に格納する。詳しくは、鍵管理セキュアアプリ141bを実行する制御部161は、秘密鍵が既に鍵管理テーブル146に存在していれば何もせず、存在しないのならば、新規に追加する。新規に追加するには、鍵管理セキュアアプリ141bを実行する制御部161は、最初に鍵管理テーブル146に1レコードを追加し、鍵ID1461は新規に生成して格納し、復号して得た秘密鍵と公開鍵とサイトをそれぞれ秘密鍵1462と公開鍵1463とサイト1464とに格納する。次に鍵管理セキュアアプリ141bを実行する制御部161は、受信した証明書IDに対応する所有者証明書の本人確認レベルを本人確認レベル1465に格納する。
なお、上記の証明書IDは、所有者証明書にある本人確認サービスサーバとシリアル番号のペア、または、公開鍵のハッシュ値など、所有者証明書またはその公開鍵を識別できる情報であればよい。
続いて、鍵管理セキュアアプリ141aを実行する制御部161が実行する証明書突合処理(ステップS769)の詳細を説明する。図12は、本実施形態に係る証明書突合処理を例示するフローチャートである。証明書突合処理に先立ち、鍵管理セキュアアプリ141aを実行する制御部161は、本人確認サービスサーバ20の公開鍵を入手済みである。
ステップS791において、鍵管理セキュアアプリ141aを実行する制御部161は、端末10bの所有者証明書の発行者署名55を、当該所有者証明書の発行者51にあたる本人確認サービスサーバ20の公開鍵を用いて検証する。
ステップS792において、鍵管理セキュアアプリ141aを実行する制御部161は検証が成功したか判断して、成功(Y)したらステップS793に進み、失敗(N)したらステップS798に進む。
ステップS793において、鍵管理セキュアアプリ141aを実行する制御部161は、端末10bの所有者証明書の本人確認サービスと本人確認レベルとがそれぞれ同一である所有者証明書を端末10aの所有者証明書の中で検索する。詳しくは、鍵管理セキュアアプリ141aを実行する制御部161は、端末10bの所有者証明書の発行者51が同一である発行者51を含む端末10aの所有者証明書を検索する。
ステップS794において、鍵管理セキュアアプリ141aを実行する制御部161は検索が成功したか判断して、成功(Y)したらステップS795に進み、失敗(N)したらステップS798に進む。
ステップS795において、鍵管理セキュアアプリ141aを実行する制御部161は、端末10bの所有者証明書の所有者53とステップS793で得た端末10aの所有者証明書の所有者53が一致しているかを検証する。
ステップS796において、鍵管理セキュアアプリ141aを実行する制御部161は検証が成功したか判断して、成功(Y)したらステップS797に進み、失敗(N)したらステップS798に進む。
ステップS797において、鍵管理セキュアアプリ141aを実行する制御部161は、証明書突合が成功したとする。
ステップS798において、鍵管理セキュアアプリ141aを実行する制御部161は、証明書突合が失敗したとする。
以上で、秘密鍵複製処理の説明を終える。この段階で、端末10aと端末10bとで、所有者証明書の発行元(本人確認サービスサーバ20)と本人確認レベルと端末所有者とが一致する所有者証明書が存在すれば、その本人確認レベルに一致する秘密鍵を複製することができる。
≪変形例≫
先の実施形態では、突合に成功した所有者証明書の本人確認レベルと一致するWebサービスサーバ30の認証用秘密鍵を暗号化して(図11のステップS770、S711参照)、複製先の端末に送信している。本人確認レベルに上下関係があるときには、所有者証明書の本人確認レベルより下位の本人確認レベルのWebサービスサーバ30の認証用秘密鍵を複製するようにしてもよい。例えば、図8に示される本人確認レベルにおいて、メールアドレスでの確認(レベル2)より公的書類の対面での確認(レベル5)が上位であるならば、レベル5の所有者証明書の突合に成功したときにレベル2のWebサービスサーバ30用の認証用秘密鍵を複製するようにしてもよい。
本人確認レベルの上下関係の判断は、所有者証明書に下位の本人確認レベルを列挙されており、鍵管理セキュアアプリ141を実行する制御部161がこのいずれかのレベルに一致する秘密鍵を複製するようにする。または、上下関係を表した対応表がセキュア領域14に格納されており、鍵管理セキュアアプリ141を実行する制御部161がこの対応表を参照して複製する秘密鍵を選択するようにしてもよい。または、本人確認レベル保証サービス28から入手してもよい。
先の実施形態では、本人確認レベルは所有者証明書50(図7参照)の発行者51に含まれていた。本人確認レベルが所有者証明書の発行者51とは別の構成要素として含まれるようにしてもよい。
先の実施形態では、端末の利用者は端末の所有者1人としていた。利用者ごとにセキュア領域14(図2参照)を備えることで、1つの端末を複数の利用者が利用できるようにしてもよい。この場合には、所有者証明書は本人確認が成功した利用者専用のセキュア領域に格納される。利用者は他の利用者の所有者証明書にはアクセスできず、他の利用者の秘密鍵を複製することを防止することができる。
先の実施形態での複製の対象は、Webサービスサーバ30の認証に用いられる秘密鍵であったが、これに限る必要はない。他の用途に用いられる暗号鍵や文書などの一般データなど、本人だけが所有しアクセスできる他の情報であってもよい。
先の実施形態での所有者証明書は、端末の所有者個人の本人確認を行った後に発行され、当該端末に格納されている。1人または複数の業務担当者が当該業務の担当者であることの確認をした後に所有者証明書が発行され、業務担当者が所有する端末に格納されるようにしてもよい。例えば、オンラインバンキングのサービスにおいて、企業の口座用の認証用秘密鍵を財務担当者の端末に複製することができ、いずれの財務担当者も口座にアクセスする業務を担当できる。
先の実施形態では、端末10への所有者証明書発行とWebサービスサーバ30への公開鍵登録の順序には制限はなかった。所有者証明書が発行された後でなければ公開鍵登録ができないように制限してもよい。こうすることで、攻撃者が公開鍵登録後の端末を盗んで、攻撃者を所有者とする所有者証明書を盗んだ端末に発行させて秘密鍵を複製することを防ぐことができる。
また、所有者証明書に含まれている本人確認レベルより上位の本人確認レベルを要求するWebサービスサーバ30への公開鍵登録を制限してもよい。こうすることで、高度な本人確認レベルを要求するWebサービスサーバ30への登録を抑止でき、低いレベルの本人確認しかできていない端末10から高度なWebサービスサーバ30へのアクセスを防止でき、サービスの安全性を高めることができる。
Webサービスサーバ30は、所定の本人確認レベルの所有者証明書が発行された端末10からのみ公開鍵登録を受け付けるようにしてもよい。詳しくは、公開鍵登録要求を受信(図10のステップS721)した後に以下の処理を行う。(1)Webサービスサーバ30は乱数を生成して、乱数と要求する本人確認レベルを端末10に送信する。(2)端末10は、乱数と本人確認レベルを受信して、当該本人確認レベルに対応した所有者証明書の公開鍵のペアとなる秘密鍵を用いて乱数に署名して、署名と当該所有者証明書をWebサービスサーバ30に送信する。(3)Webサービスサーバ30は、所有者証明書の検証と、署名の検証と、所有者証明書の本人確認レベルが所定の本人確認レベルに対応していることを検証する。
こうすることで、Webサービスサーバ30は、自身が定める本人確認レベルに達しない端末10からの公開鍵登録、引いてはサービス利用を防止することができる。結果的に、Webサービスの安全性を向上させることができる。
≪秘密鍵複製システムの効果≫
従来までのWebサービスの認証に用いる秘密鍵の端末間の複製はできない、ないしは、複製可能であっても端末所有者の本人確認レベル(本人確認の確実性)を考慮して複製を制限することはできなかった。
本実施形態では、本人確認サービスサーバ20が端末10に対して所有者の本人確認を行った後にその本人確認のレベルを含んだ所有者証明書を発行し、複製元端末が複製先端末の所有者証明書を確認した後に、本人確認レベルに合う秘密鍵を複製する。この結果、Webサービス事業者が求める所有者の本人確認レベルを満たした端末のみに、Webサービスの認証用の秘密鍵が複製が可能となり、Webサービス事業者が求める所有者の本人確認レベルを満たさない端末への秘密鍵の複製を防止できる。なお、所有者が異なるまたは所有者不明の端末への複製も防止できる。
秘密鍵の複製に際しては、複製元端末のセキュア領域内で秘密鍵を暗号化し、複製先端末のセキュア領域に送信して、複製先端末のセキュア領域内で復号している。このため、セキュア領域の外部では秘密鍵は暗号化されており、漏洩することがない。また、暗号化された秘密鍵の復号に用いられる鍵は、端末のセキュア領域内で生成・利用されて、いかなる形でもセキュア領域外部に出ることがないので安全であり、複製先端末のセキュア領域以外では暗号化された秘密鍵が復号されることはない。
本人確認レベルに上下関係を設けることで、上位の本人確認を行った端末には下位の本人確認レベルのWebサービスサーバ向け認証用秘密鍵を複製することができ、複製の手間を減らすことができる。また、上位の本人確認レベルの所有者証明書を入手していれば、下位の本人確認レベルの所有者証明書は不要となり、所有者証明書入手の手間を減らせる。
本発明の秘密鍵複製の仕組みを、文書など他のデータに応用することで、所定レベルの所有者の本人確認がなされた端末のみに限定して機密情報を複製することができる。
1 秘密鍵複製システム
10 端末
13 通常領域
14 セキュア領域
141 鍵管理セキュアアプリ
142 証明書管理セキュアアプリ
143 鍵保管領域
144 証明書保管領域
146 鍵管理テーブル
147 証明書管理テーブル
161 制御部
162 記憶部
163 入出力部
20 本人確認サービスサーバ(証明書発行サーバ)
21 制御部
22 本人確認部
23 証明書発行部
25 記憶部
26 証明書署名鍵
27 入出力部
28 本人確認レベル保証サービス
29 本人確認レベル表
30 Webサービスサーバ
31 制御部
32 記憶部
33 鍵保管領域
34 鍵ポリシ
35 入出力部
36 公開鍵登録部
50 所有者証明書
51 発行者
52 シリアル番号
53 所有者
54 端末公開鍵
55 発行者署名

Claims (6)

  1. 認証に用いられる秘密鍵である認証用秘密鍵を格納可能な端末と、前記端末の所有者が前記端末を所有することを証明する所有者証明書を発行する証明書発行サーバとが、通信ネットワークを介して接続され、2つの前記端末の間で前記認証用秘密鍵の複製を行う秘密鍵複製システムであって、
    前記証明書発行サーバは、
    前記端末の所有者の本人確認を所定の手続により行い、前記本人確認の確実性のレベルを示す本人確認レベルと、前記所有者の識別情報と、前記端末の公開鍵と、前記証明書発行サーバの識別情報とを含む前記所有者証明書を前記端末に対して発行する証明書発行部を備え、
    前記端末は、
    自身に対して発行された前記所有者証明書を記憶する証明書保管領域、および、前記認証用秘密鍵の複製先の端末である複製先端末の所有者に求められる本人確認レベルを前記認証用秘密鍵に関連付けて記憶する鍵保管領域を有する記憶部を備え
    前記所有者の識別情報と、前記本人確認レベルと、前記証明書発行サーバの識別情報とのそれぞれが前記複製先端末の前記所有者証明書と同一である前記所有者証明書が前記証明書保管領域に記憶される場合に、当該所有者証明書に含まれる本人確認レベルに関連付けられた前記認証用秘密鍵を前記鍵保管領域から抽出し、前記複製先端末の前記所有者証明書に含まれる公開鍵で暗号化して前記複製先端末へ送信す
    ことを特徴とする秘密鍵複製システム。
  2. 前記秘密鍵複製システムは、前記端末と前記通信ネットワークを介して接続され、前記認証用秘密鍵とペアになる認証用公開鍵を用いて前記所有者を認証するWebサービスサーバをさらに備え、
    前記鍵保管領域に記憶される前記認証用秘密鍵に関連付けられた本人確認レベルは、
    前記Webサービスサーバによって指定される
    ことを特徴とする請求項1に記載の秘密鍵複製システム。
  3. 前記Webサービスサーバは、
    前記所有者証明書に含まれる公開鍵とペアとなる秘密鍵を用いて生成されるデジタル署名であって、自身が生成したデータに対するデジタル署名を前記端末に対して要求し、前記端末が生成した前記デジタル署名を前記所有者証明書に含まれる公開鍵を用いて検証した後に、前記認証用公開鍵を前記端末の認証用公開鍵として用いる
    ことを特徴とする請求項2に記載の秘密鍵複製システム。
  4. 前記本人確認レベルは、前記証明書発行サーバが行う本人確認の確実性の高低による上下関係があり、
    前記端末は、
    前記所有者の識別情報と、前記本人確認レベルと、前記証明書発行サーバの識別情報とのそれぞれが前記複製先端末の前記所有者証明書と同一である前記所有者証明書が前記証明書保管領域に記憶される場合に、当該所有者証明書に含まれる本人確認レベルまたはそれより下位の本人確認レベルに関連付けられた前記認証用秘密鍵を前記鍵保管領域から抽出し、前記複製先端末の前記所有者証明書に含まれる公開鍵で暗号化して前記複製先端末へ送信する
    ことを特徴とする請求項1に記載の秘密鍵複製システム。
  5. 認証に用いられる秘密鍵である認証用秘密鍵を格納可能な端末と、前記端末の所有者が前記端末を所有することを証明する所有者証明書を発行する証明書発行サーバとが、通信ネットワークを介して接続され、2つの前記端末の間で前記認証用秘密鍵の複製を行う秘密鍵複製システムの前記端末であって、
    前記証明書発行サーバが、前記端末の所有者の本人確認を所定の手続により行い、前記本人確認の確実性のレベルを示す本人確認レベルと、前記所有者の識別情報と、前記端末の公開鍵と、前記証明書発行サーバの識別情報とを含めて前記端末に対して発行した前記所有者証明書を記憶する証明書保管領域、および、前記認証用秘密鍵の複製先の端末である複製先端末の所有者に求められる本人確認レベルを前記認証用秘密鍵に関連付けて記憶する鍵保管領域を有する記憶部を備え
    前記所有者の識別情報と、前記本人確認レベルと、前記証明書発行サーバの識別情報とのそれぞれが前記複製先端末の前記所有者証明書と同一である前記所有者証明書が前記証明書保管領域に記憶される場合に、当該所有者証明書に含まれる本人確認レベルに関連付けられた前記認証用秘密鍵を前記鍵保管領域から抽出し、前記複製先端末の前記所有者証明書に含まれる公開鍵で暗号化して前記複製先端末へ送信す
    とを特徴とする端末。
  6. 認証に用いられる秘密鍵である認証用秘密鍵を格納可能な端末と、前記端末の所有者が前記端末を所有することを証明する所有者証明書を発行する証明書発行サーバとが、通信ネットワークを介して接続され、2つの前記端末の間で前記認証用秘密鍵の複製を行う秘密鍵複製システムの秘密鍵複製方法であって、
    前記証明書発行サーバは、
    前記端末の所有者の本人確認を所定の手続により行い、前記本人確認の確実性のレベルを示す本人確認レベルと、前記所有者の識別情報と、前記端末の公開鍵と、前記証明書発行サーバの識別情報とを含む前記所有者証明書を前記端末に対して発行する証明書発行ステップを実行し、
    前記端末は、
    自身に対して発行された前記所有者証明書を記憶する証明書保管領域、および、前記認証用秘密鍵の複製先の端末である複製先端末の所有者に求められる本人確認レベルを前記認証用秘密鍵に関連付けて記憶する鍵保管領域を有する記憶部を備えており、
    前記所有者の識別情報と、前記本人確認レベルと、前記証明書発行サーバの識別情報とのそれぞれが前記複製先端末の前記所有者証明書と同一である前記所有者証明書が前記証明書保管領域に記憶される場合に、当該所有者証明書に含まれる本人確認レベルに関連付けられた前記認証用秘密鍵を前記鍵保管領域から抽出し、前記複製先端末の前記所有者証明書に含まれる公開鍵で暗号化して前記複製先端末へ送信する鍵複製ステップを実行する
    ことを特徴とする秘密鍵複製方法。
JP2017027183A 2017-02-16 2017-02-16 秘密鍵複製システム、端末および秘密鍵複製方法 Active JP6533542B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017027183A JP6533542B2 (ja) 2017-02-16 2017-02-16 秘密鍵複製システム、端末および秘密鍵複製方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017027183A JP6533542B2 (ja) 2017-02-16 2017-02-16 秘密鍵複製システム、端末および秘密鍵複製方法

Publications (2)

Publication Number Publication Date
JP2018133739A JP2018133739A (ja) 2018-08-23
JP6533542B2 true JP6533542B2 (ja) 2019-06-19

Family

ID=63248682

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017027183A Active JP6533542B2 (ja) 2017-02-16 2017-02-16 秘密鍵複製システム、端末および秘密鍵複製方法

Country Status (1)

Country Link
JP (1) JP6533542B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7251633B2 (ja) * 2019-08-01 2023-04-04 日本電信電話株式会社 所有者同一性確認システム、認証局サーバおよび所有者同一性確認方法
US20220286301A1 (en) * 2019-08-01 2022-09-08 Nippon Telegraph And Telephone Corporation Owner identity confirmation system, terminal and owner identity confirmation method
US20220272087A1 (en) * 2019-08-01 2022-08-25 Nippon Telegraph And Telephone Corporation Owner identity confirmation system and owner identity confirmation method
WO2024095755A1 (ja) * 2022-11-02 2024-05-10 ソニーグループ株式会社 管理サーバ、情報処理システム、及び、情報処理装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7178027B2 (en) * 2001-03-30 2007-02-13 Capital One-Financial Corp. System and method for securely copying a cryptographic key
JP4684100B2 (ja) * 2005-12-26 2011-05-18 株式会社日立製作所 認証システムおよび認証方法
JP5266322B2 (ja) * 2008-06-23 2013-08-21 パナソニック株式会社 鍵移動装置

Also Published As

Publication number Publication date
JP2018133739A (ja) 2018-08-23

Similar Documents

Publication Publication Date Title
JP6547079B1 (ja) 登録・認可方法、装置及びシステム
CN110537346B (zh) 安全去中心化域名***
JP4460763B2 (ja) 生物測定データを用いた暗号キー発生法
WO2020062668A1 (zh) 一种身份认证方法、身份认证装置及计算机可读介质
KR101863953B1 (ko) 전자 서명 서비스 시스템 및 방법
CN109361668A (zh) 一种数据可信传输方法
US20060195402A1 (en) Secure data transmission using undiscoverable or black data
US9300639B1 (en) Device coordination
KR20210040078A (ko) 안전한 보관 서비스를 위한 시스템 및 방법
US8806206B2 (en) Cooperation method and system of hardware secure units, and application device
JPH11225142A (ja) 認証装置および方法
CN107920052B (zh) 一种加密方法及智能装置
JP6533542B2 (ja) 秘密鍵複製システム、端末および秘密鍵複製方法
KR100315387B1 (ko) 개인키 및 사용자 인증서 관리 시스템 및 그 관리 방법
WO2021190197A1 (zh) 生物支付设备的认证方法、装置、计算机设备和存储介质
KR20200080441A (ko) 사물인터넷 블록체인 환경에서의 디바이스 분산 인증 방법 및 이를 이용한 디바이스 분산 인증 시스템
JP6581611B2 (ja) 認証鍵共有システムおよび認証鍵共有方法
JP2002297551A (ja) 認証システム
KR102157695B1 (ko) 익명 디지털 아이덴티티 수립 방법
CN110572392A (zh) 一种基于Hyperledger网络的身份认证方法
CN112769789B (zh) 一种加密通信方法及***
JPH05298174A (ja) 遠隔ファイルアクセスシステム
CN113722749A (zh) 基于加密算法的区块链baas服务的数据处理方法及装置
CN114826702A (zh) 数据库访问密码加密方法、装置和计算机设备
TWI766171B (zh) 帳戶資料處理方法及帳戶資料處理系統

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180629

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190212

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190305

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190423

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190521

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190524

R150 Certificate of patent or registration of utility model

Ref document number: 6533542

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150