(57)【要約】【課題】秘密鍵の暗号化に用いられた鍵の秘匿性を向上させること。【解決手段】秘密鍵の暗号化に用いられる第一の鍵から生成された複数の鍵と、ユーザを識別するための識別情報とを他の装置から取得する取得部と、取得された複数の鍵と、識別情報とに基づいて、秘密鍵の暗号化に用いられた第一の鍵と同じ鍵である第二の鍵を生成する鍵生成部と、を備える端末装置。【選択図】図４
2020141425.tif 000002
【特許請求の範囲】
【請求項１】
秘密鍵の暗号化に用いられる第一の鍵から生成された複数の鍵と、ユーザを識別するための識別情報とを他の装置から取得する取得部と、
取得された前記複数の鍵と、前記識別情報とに基づいて、前記秘密鍵の暗号化に用いられた前記第一の鍵と同じ鍵である第二の鍵を生成する鍵生成部と、
を備える端末装置。
【請求項２】
前記複数の鍵のうち一部の鍵は、アプリケーション内に設定されており、
前記取得部は、前記アプリケーションを取得することによって、前記複数の鍵のうち一部の鍵を取得する、請求項１に記載の端末装置。
【請求項３】
前記アプリケーション内には、前記第二の鍵の生成方法に関するロジックがさらに設定されており、
前記鍵生成部は、前記ロジックに従って前記第二の鍵を生成する、請求項２に記載の端末装置。
【請求項４】
前記取得部は、第一の通信網を介して前記アプリケーションを取得し、前記複数の鍵のうち一部の鍵を前記第一の通信網と異なる通信網を介して取得する、請求項２又は３に記載の端末装置。
【請求項５】
前記鍵生成部は、前記複数の鍵を所定の条件に従って組み合わせることによって、前記第一の鍵を復元し、復元した前記第一の鍵を用いて、所定のアルゴリズムで前記識別情報を暗号化することによって前記第二の鍵を生成する、請求項１から４のいずれか一項に記載の端末装置。
【請求項６】
生成された前記第二の鍵を用いて、暗号化された秘密鍵を復号することによって秘密鍵を復元する復号部をさらに備え、
前記復号部は、復元した前記秘密鍵を自装置内の耐タンパ領域に格納する、請求項１から５のいずれか一項に記載の端末装置。
【請求項７】
秘密鍵と、前記秘密鍵の対となる鍵とを生成する鍵生成部と、
前記秘密鍵の暗号化に用いられる第一の鍵から生成された複数の鍵のうち一部の鍵及びユーザを識別するための識別情報を含む送信データを端末装置に送信する通信部と、
を備える鍵生成装置と、
前記複数の鍵と、前記識別情報とを他の装置から取得する取得部と、
取得された前記複数の鍵と、前記識別情報とに基づいて、前記秘密鍵の暗号化に用いられた前記第一の鍵と同じ鍵である第二の鍵を生成する鍵生成部と、
を備える端末装置と、
を備える鍵提供システム。
【請求項８】
秘密鍵の暗号化に用いられる第一の鍵から生成された複数の鍵と、ユーザを識別するための識別情報とを他の装置から取得する取得ステップと、
取得された前記複数の鍵と、前記識別情報とに基づいて、前記秘密鍵の暗号化に用いられた前記第一の鍵と同じ鍵である第二の鍵を生成する鍵生成ステップと、
を有する鍵生成方法。
【請求項９】
秘密鍵の暗号化に用いられる第一の鍵から生成された複数の鍵と、ユーザを識別するための識別情報とを他の装置から取得する取得ステップと、
取得された前記複数の鍵と、前記識別情報とに基づいて、前記秘密鍵の暗号化に用いられた前記第一の鍵と同じ鍵である第二の鍵を生成する鍵生成ステップと、
をコンピュータに実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、秘密鍵の送信技術に関する。
【背景技術】
【０００２】
従来、情報の保護やコンピューターセキュリティの観点から暗号化技術が用いられている。通常、ＳＳＬ（Secure Sockets Layer）やＳ／ＭＩＭＥ（Secure / Multipurpose Internet Mail Extensions）等のＲＳＡ（Rivest Shamir Adleman）技術を用いる場合、媒体（例えば、パーソナルコンピュータ、ＩＣ（Integrated Circuit）カード、ＵＳＢ（Universal Serial Bus）トークン等）のアプリケーションで鍵生成を行うため、媒体から秘密鍵を外部に送信することはない。そのため、秘密鍵が外部に漏れてしまう可能性は低い。
【０００３】
ところが、ＲＳＡ技術を用いて鍵ペアを他の装置で生成した場合には、秘密鍵を媒体に送信する必要がある（例えば、特許文献１参照）。秘密鍵を送信するにあたり、ＳＳＬ等の通信路の暗号化だけではセキュリティ性が低い。そこで、共通鍵で暗号化した秘密鍵を媒体に送信することが考えられる。このような状況下において、媒体内にあるアプリケーションで、ある共通鍵で暗号化された秘密鍵を復号する場合、共通鍵は事前に媒体の中に格納しておくことで秘密が確保される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１６−１４８９１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、既に配布済みの媒体に暗号化した秘密鍵を送信する場合、秘密鍵を復号するための共通鍵も送信しなければならない。このような場合には、共通鍵の秘匿性を確保しなければ秘密鍵を暗号化していたとしてもセキュリティ上は問題がある。このような問題は、秘密鍵の暗号化に用いられる共通鍵に限らず、秘密鍵の暗号化に用いられる鍵全てに共通する問題である。
【０００６】
上記事情に鑑み、本発明は、秘密鍵の暗号化に用いられた鍵の秘匿性を向上させることができる技術の提供を目的としている。
【課題を解決するための手段】
【０００７】
本発明の一態様は、秘密鍵の暗号化に用いられる第一の鍵から生成された複数の鍵と、ユーザを識別するための識別情報とを他の装置から取得する取得部と、取得された前記複数の鍵と、前記識別情報とに基づいて、前記秘密鍵の暗号化に用いられた前記第一の鍵と同じ鍵である第二の鍵を生成する鍵生成部と、を備える端末装置である。
【０００８】
本発明の一態様は、上記の端末装置であって、前記複数の鍵のうち一部の鍵は、アプリケーション内に設定されており、前記取得部は、前記アプリケーションを取得することによって、前記複数の鍵のうち一部の鍵を取得する。
【０００９】
本発明の一態様は、上記の端末装置であって、前記アプリケーション内には、前記第二の鍵の生成方法に関するロジックがさらに設定されており、前記鍵生成部は、前記ロジックに従って前記第二の鍵を生成する。
【００１０】
本発明の一態様は、上記の端末装置であって、前記取得部は、第一の通信網を介して前記アプリケーションを取得し、前記複数の鍵のうち一部の鍵を前記第一の通信網と異なる通信網を介して取得する。
【００１１】
本発明の一態様は、上記の端末装置であって、前記鍵生成部は、前記複数の鍵を所定の条件に従って組み合わせることによって、前記第一の鍵を復元し、復元した前記第一の鍵を用いて、所定のアルゴリズムで前記識別情報を暗号化することによって前記第二の鍵を生成する。
【００１２】
本発明の一態様は、上記の端末装置であって、生成された前記第二の鍵を用いて、暗号化された秘密鍵を復号することによって秘密鍵を復元する復号部をさらに備え、前記復号部は、復元した前記秘密鍵を自装置内の耐タンパ領域に格納する。
【００１３】
本発明の一態様は、秘密鍵と、前記秘密鍵の対となる鍵とを生成する鍵生成部と、前記秘密鍵の暗号化に用いられる第一の鍵から生成された複数の鍵のうち一部の鍵及びユーザを識別するための識別情報を含む送信データを端末装置に送信する通信部と、を備える鍵生成装置と、前記複数の鍵と、前記識別情報とを他の装置から取得する取得部と、取得された前記複数の鍵と、前記識別情報とに基づいて、前記秘密鍵の暗号化に用いられた前記第一の鍵と同じ鍵である第二の鍵を生成する鍵生成部と、を備える端末装置と、を備える鍵提供システムである。
【００１４】
本発明の一態様は、秘密鍵の暗号化に用いられる第一の鍵から生成された複数の鍵と、ユーザを識別するための識別情報とを他の装置から取得する取得ステップと、取得された前記複数の鍵と、前記識別情報とに基づいて、前記秘密鍵の暗号化に用いられた前記第一の鍵と同じ鍵である第二の鍵を生成する鍵生成ステップと、を有する鍵生成方法である。
【００１５】
本発明の一態様は、秘密鍵の暗号化に用いられる第一の鍵から生成された複数の鍵と、ユーザを識別するための識別情報とを他の装置から取得する取得ステップと、取得された前記複数の鍵と、前記識別情報とに基づいて、前記秘密鍵の暗号化に用いられた前記第一の鍵と同じ鍵である第二の鍵を生成する鍵生成ステップと、をコンピュータに実行させるためのコンピュータプログラムである。
【発明の効果】
【００１６】
本発明により、秘密鍵の暗号化に用いられた鍵の秘匿性を向上させることが可能となる。
【図面の簡単な説明】
【００１７】
【図１】本発明の鍵提供システム１００の機能構成を示す図である。
【図２】鍵生成装置１０の機能構成を表す概略ブロック図である。
【図３】端末装置４０の機能構成を表す概略ブロック図である。
【図４】ＩＣカード４５の機能構成を表す概略ブロック図である。
【図５】鍵提供システム１００の処理の流れを示すシーケンス図である。
【図６】派生鍵の生成処理を説明するための図である。
【図７】送信データの生成処理を説明するための図である。
【発明を実施するための形態】
【００１８】
以下、本発明の一実施形態を、図面を参照しながら説明する。
図１は、本発明の鍵提供システム１００の機能構成を示す図である。鍵提供システム１００は、鍵生成装置１０、発行サーバ２０、アプリケーション提供装置３０及び端末装置４０を備える。発行サーバ２０及び端末装置４０は、第１ネットワーク５０を介して通信可能に接続される。第１ネットワーク５０は、例えばインターネットで構成される。アプリケーション提供装置３０及び端末装置４０は、第２ネットワーク６０を介して通信可能に接続される。第２ネットワーク６０は、例えば通信事業者が提供する通信網（第一の通信網）で構成される。なお、鍵生成装置１０から端末装置４０までの間は、ＳＳＬにより通信が暗号化されるものとする。
【００１９】
鍵生成装置１０は、製造工場やセキュリティ管理がなされた場所に設けられる。セキュリティ管理がなされた場所とは、ビルのような機密性の高い建物内に２重、３重のセキュリティが設けられている場所である。鍵生成装置１０は、公開鍵暗号方式に基づいて、秘密鍵及び公開鍵の鍵ペアを生成する。また、鍵生成装置１０は、マスター鍵（第一の鍵）から生成された複数の鍵と、ユーザを識別するための識別情報とを保持する。マスター鍵とは、秘密鍵の暗号化に用いられる鍵である。また、複数の鍵は、マスター鍵を分割することによって生成される。
【００２０】
一例として、本実施形態においてマスター鍵を分割するとは、マスター鍵がｎｂｙｔｅ（ｎは２以上の整数）のビット列で構成される場合、ｎｂｙｔｅのビット列を、複数のビット列（例えば、ｎ＿Ａｂｙｔｅのビット列、ｎ＿Ｂｂｙｔｅのビット列等）に分けることを意味する。以下の説明では、マスター鍵から生成された複数の鍵として、タネＡ（ｎ＿Ａｂｙｔｅ）及びタネＢ（ｎ＿Ｂｂｙｔｅ）を用いて説明する。ただし、ここではｎ＝ｎ＿Ａ＋ｎ＿Ｂであるとする。なお、ｎ＿Ａとｎ＿Ｂの値は、同じであってもよいし、異なってもよい。タネＡ及び識別情報は、ユーザ毎に異なる値である。タネＢは、派生鍵（第二の鍵）の生成方法及び秘密鍵の暗号化方法に関するロジック（以下「第１のロジック」という。）に組み込まれている。派生鍵とは、秘密鍵を暗号化するための鍵である。派生鍵は、複数の鍵と、識別情報とに基づいて生成される。タネＡ、識別情報及び第１のロジックは、他の装置から提供されてもよい。例えば、第１のロジックは、ソースファイルで提供される。
【００２１】
鍵生成装置１０は、第１のロジックに従って派生鍵を生成する。また、鍵生成装置１０は、第１のロジックに従って秘密鍵を暗号化することによって暗号化秘密鍵を生成する。鍵生成装置１０は、タネＡ及び識別情報を格納した送信データと、暗号化秘密鍵を格納した送信データとを発行サーバ２０に送信する。
発行サーバ２０は、鍵生成装置１０から送信された送信データを、第１ネットワーク５０を介して端末装置４０に送信する。
【００２２】
アプリケーション提供装置３０は、アプリケーションを提供する。アプリケーションとは、端末装置４０において実行されるソフトウェアである。アプリケーション提供装置３０が提供するアプリケーション（以下「提供アプリ」という。）は、例えばクレジットアプリケーション、ＰＫＩ（Public Key Infrastructure）のアプリケーションなどである。また、提供アプリのソースファイルには、タネＢと、派生鍵の生成方法及び秘密鍵の復号方法に関するロジック（以下「第２のロジック」という。）とが埋め込まれている。アプリケーション提供装置３０は、端末装置４０からの要求に応じて、提供アプリを端末装置４０に送信する。
【００２３】
端末装置４０は、スマートフォンやタブレット端末等の情報処理装置を用いて構成される。端末装置４０は、アプリケーション提供装置３０から送信された提供アプリと、発行サーバ２０から送信されたタネＡと、識別情報とを用いて、暗号化された秘密鍵を復号することによって秘密鍵を復元する。
【００２４】
図２は、鍵生成装置１０の機能構成を表す概略ブロック図である。
鍵生成装置１０は、バスで接続されたＣＰＵ（Central Processing Unit）やメモリや補助記憶装置などを備え、鍵生成プログラムを実行する。鍵生成プログラムの実行によって、鍵生成装置１０は、鍵生成部１１、送信データ生成情報記憶部１２、送信データ生成部１３、通信部１４を備える装置として機能する。なお、鍵生成装置１０の各機能の全て又は一部は、ＡＳＩＣ（Application Specific Integrated Circuit）やＰＬＤ（Programmable Logic Device）やＦＰＧＡ（Field Programmable Gate Array）等のハードウェアを用いて実現されてもよい。また、鍵生成プログラムは、コンピュータ読み取り可能な記録媒体に記録されてもよい。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ＲＯＭ（READ ONLY MEMORY）、ＣＤ−ＲＯＭ（CompactDisk- READ ONLY MEMORY）等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。また、鍵生成プログラムは、電気通信回線を介して送受信されてもよい。
【００２５】
鍵生成部１１は、公開鍵暗号方式に基づいて、秘密鍵及び公開鍵の鍵ペアを生成する。
送信データ生成情報記憶部１２は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。送信データ生成情報記憶部１２は、ユーザ毎の識別情報及びタネＡと、第１のロジックが埋め込まれたソースファイルとを送信データ生成情報として記憶する。
送信データ生成部１３は、送信データ生成情報記憶部１２に記憶されている送信データ生成情報に基づいて送信データを生成する。
通信部１４は、送信データ生成部１３によって生成された送信データを発行サーバ２０に送信する。
【００２６】
図３は、端末装置４０の機能構成を表す概略ブロック図である。
端末装置４０は、バスで接続されたＣＰＵやメモリや補助記憶装置などを備え、端末装置プログラムを実行する。端末装置プログラムの実行によって、端末装置４０は、第１通信部４１、第２通信部４２、端末制御部４３、装着部４４を備える装置として機能する。
装着部４４には、着脱可能なＩＣカード４５が装着され、ＩＣカード４５が端末制御部４３と接続される。なお、端末装置４０の各機能の全て又は一部は、ＡＳＩＣやＰＬＤやＦＰＧＡ等のハードウェアを用いて実現されてもよい。また、端末装置プログラムは、コンピュータ読み取り可能な記録媒体に記録されてもよい。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。また、端末装置プログラムは、電気通信回線を介して送受信されてもよい。
【００２７】
第１通信部４１は、第２ネットワーク６０を介して、アプリケーション提供装置３０との間で通信を行う。例えば、第１通信部４１は、アプリケーション提供装置３０から提供アプリを受信する。
第２通信部４２は、第１ネットワーク５０を介して、発行サーバ２０との間で通信を行う。例えば、第２通信部４２は、発行サーバ２０から送信データを受信する。
端末制御部４３は、例えば、ＣＰＵ等を含むプロセッサにより実現される。端末制御部４３は、端末装置４０全体を制御する。端末制御部４３は、装着部４４に装着されているＩＣカード４５に対してコマンドを送信し、コマンドの処理結果としてレスポンスを受信する。
ＩＣカード４５は、例えば、ＳＩＭ（Subscriber Identity Module）カードであり、ＩＣチップ４５１を備える。
【００２８】
図４は、ＩＣカード４５の機能構成を表す概略ブロック図である。
ＩＣチップ４５１は、通信部４５２、制御部４５３、アプリケーション記憶部４５４、アプリケーション処理部４５５及び秘密鍵記憶部４５６を備える。
通信部４５２は、端末制御部４３との間で通信を行う。例えば、通信部４５２は、端末制御部４３から送信されたコマンドを受信する。
制御部４５３は、通信部４５２が受信したコマンドに応じた処理を実行する。
アプリケーション記憶部４５４は、アプリケーション提供装置３０から提供されたアプリケーション（提供アプリ）を記憶する。
アプリケーション処理部４５５は、プログラムの実行により鍵生成部４５７及び復号部４５８として機能する。
鍵生成部４５７は、提供アプリのソースファイルに埋め込まれている第２のロジックに従って派生鍵を生成する。
復号部４５８は、提供アプリのソースファイルに埋め込まれている第２のロジックに従って、暗号化秘密鍵を復号することによって秘密鍵を復元する。
秘密鍵記憶部４５６は、復号部４５８によって復元された秘密鍵を記憶する。
【００２９】
図５は、鍵提供システム１００の処理の流れを示すシーケンス図である。
アプリケーション提供装置３０は、端末装置４０からの要求に応じて、要求された提供アプリを端末装置４０に送信する（ステップＳ１０１）。提供アプリのソースファイルには、アプリケーションのプログラムの他に、タネＢ及び第２のロジックが埋め込まれている。なお、提供アプリは、バイナリデータ等の形式でアプリケーション提供装置３０から提供される。
端末装置４０の第１通信部４１は、アプリケーション提供装置３０から送信された提供アプリを受信する。第１通信部４１は、受信した提供アプリを端末制御部４３に出力する。
【００３０】
端末制御部４３は、出力された提供アプリを格納する旨を示すコマンドを生成し、生成したコマンドをＩＣカード４５に送信する。ＩＣカード４５の通信部４５２は、端末制御部４３から送信されたコマンドを受信する。制御部４５３は、通信部４５２によって受信されたコマンドに応じて、提供アプリをアプリケーション記憶部４５４に格納する（ステップＳ１０２）。
鍵生成装置１０の送信データ生成部１３は、タネＡ及び識別情報が含まれていることを示す情報（以下「付与情報」という。）と、送信データ生成情報記憶部１２に記憶されているタネＡ及び識別情報とを格納した送信データを生成する。送信データ生成部１３は、生成した送信データを通信部１４に出力する。通信部１４は、送信データを発行サーバ２０に送信する（ステップＳ１０３）。
【００３１】
発行サーバ２０は、鍵生成装置１０から送信された送信データを受信する。発行サーバ２０は、受信した送信データを、第１ネットワーク５０を介して端末装置４０に送信する（ステップＳ１０４）。
端末装置４０の第２通信部４２は、発行サーバ２０から送信された送信データを受信する。第２通信部４２は、受信した送信データを端末制御部４３に出力する。端末制御部４３は、出力された送信データの送信元アドレスを確認し、送信元アドレスが発行サーバ２０のアドレスである場合に送信データをＩＣカード４５に送信する。ＩＣカード４５の通信部４５２は、端末制御部４３から送信された送信データを受信し、受信した送信データを制御部４５３に出力する。制御部４５３は、出力された送信データに基づいて、鍵生成の条件が満たされたか否か判定する（ステップＳ１０５）。
【００３２】
鍵生成の条件は、付与情報と、提供アプリとが揃うことである。鍵生成の条件は、提供アプリのロジックに埋め込まれていてもよいし、制御部４５３が予め記憶していてもよい。鍵生成の条件が満たされていない場合（ステップＳ１０５−ＮＯ）、制御部４５３は鍵生成の条件が満たされるまで待機する。
一方、鍵生成の条件が満たされた場合（ステップＳ１０５−ＹＥＳ）、制御部４５３は鍵生成部４５７に派生鍵の生成を指示するとともに、送信データに含まれるタネＡ及び識別情報を鍵生成部４５７に出力する。
【００３３】
鍵生成部４５７は、制御部４５３の指示に応じて派生鍵を生成する（ステップＳ１０６）。派生鍵の生成処理について図６を用いて説明する。図６は、派生鍵の生成処理を説明するための図である。本実施形態において鍵生成部４５７による派生鍵の生成処理は、アプリケーション記憶部４５４に記憶されている提供アプリのソースファイルに埋め込まれている第２のロジックのうち派生鍵の生成方法のロジックに従って、図６（Ａ）及び図６（Ｂ）に示す２つのステップで実行される。なお、派生鍵の生成方法のロジックは、タネＡとタネＢをどのように組み合わせることによってマスター鍵を復元するのか、復元したマスター鍵をどのように用いて派生鍵を生成するのか等の派生鍵の生成までの過程を含む。
【００３４】
以下の説明において、タネＡは○○・・○○で表され、タネＢは□□・・□□で表され、識別情報は△△・・・△△で表されるものとする。１つ目のステップとして、鍵生成部４５７は、取得したタネＡ○○・・○○と、提供アプリのソースファイルに埋め込まれているタネＢ□□・・□□とを組み合わせてマスター鍵を復元する。ここで、マスター鍵の復元処理について一例を挙げて説明する。派生鍵の生成方法のロジックにおけるマスター鍵の復元方法が、タネＢのビット列の後に、タネＡのビット列を結合するロジックである場合、鍵生成部４５７はタネＢ□□・・□□のビット列の後に、タネＡ○○・・○○のビット列を結合することによってマスター鍵□□・・□□○○・・○○を復元する（図６（Ａ））。
【００３５】
次に、２つ目のステップとして、鍵生成部４５７は、復元したマスター鍵□□・・□□○○・・○○を用いて、識別情報△△・・・△△を暗号化することによって派生鍵を生成する。ここで、鍵生成部４５７による派生鍵の生成処理について一例を挙げて説明する。派生鍵の生成方法のロジックにおける派生鍵の生成方法が、復元したマスター鍵を用いて、識別情報を第１のアルゴリズムで暗号化するロジックである場合、鍵生成部４５７はマスター鍵□□・・□□○○・・○○を用いて、識別情報△△・・・△△を第１のアルゴリズムで暗号化することによって派生鍵◎◎・・・◎◎を生成する（図６（Ｂ））。鍵生成部４５７は、生成した派生鍵◎◎・・・◎◎を提供アプリに格納する（ステップＳ１０７）。
【００３６】
鍵生成装置１０の送信データ生成部１３は、送信データ生成情報記憶部１２に記憶されている送信データ生成情報に基づいて、暗号化秘密鍵を含む送信データを生成する。送信データの生成処理について図７を用いて説明する。図７は、送信データの生成処理を説明するための図である。まず、送信データ生成部１３は、送信データ生成情報記憶部１２に記憶されている第１のロジックのうち派生鍵の生成方法のロジックに従って、マスター鍵を復元する。本実施形態において送信データ生成部１３による派生鍵の生成処理は、図７（Ａ）及び図７（Ｂ）に示す２つのステップで実行される。
【００３７】
１つ目のステップとして、送信データ生成部１３は、送信データ生成情報記憶部１２に記憶されているタネＡ○○・・○○と、第１のロジックに埋め込まれているタネＢ□□・・□□とを組み合わせてマスター鍵を復元する。ここで、マスター鍵の復元処理について一例を挙げて説明する。マスター鍵の復元方法が、タネＢのビット列の後に、タネＡのビット列を結合するロジックである場合、送信データ生成部１３はタネＢ□□・・□□のビット列の後に、タネＡ○○・・○○のビット列を結合することによってマスター鍵□□・・□□○○・・○○を復元する（図７（Ａ））。
【００３８】
次に、２つ目のステップとして、送信データ生成部１３は、復元したマスター鍵□□・・□□○○・・○○を用いて、識別情報△△・・△△を暗号化することによって派生鍵を生成する。ここで、送信データ生成部１３による派生鍵の生成処理について一例を挙げて説明する。派生鍵の生成方法のロジックにおける派生鍵の生成方法が、復元したマスター鍵を用いて、識別情報を第１のアルゴリズムで暗号化するロジックである場合、送信データ生成部１３はマスター鍵□□・・□□○○・・○○を用いて、識別情報△△・・・△△を第１のアルゴリズムで暗号化することによって派生鍵◎◎・・・◎◎を生成する（図７（Ｂ））。
【００３９】
その後、送信データ生成部１３は、第１のロジックのうち秘密鍵の暗号化方法のロジックに従って、生成した派生鍵◎◎・・・◎◎を用いて、秘密鍵ＸＸ・・・ＸＸを暗号化することによって暗号化秘密鍵を生成する。なお、秘密鍵の暗号化方法のロジックは、派生鍵を用いて、秘密鍵をどのようなアルゴリズムで暗号化するのか等の秘密鍵の暗号化までの過程を含む。
【００４０】
ここで、送信データ生成部１３による秘密鍵の暗号化方法について一例を挙げて説明する。秘密鍵の暗号化方法のロジックが、生成した派生鍵を用いて、秘密鍵を第２のアルゴリズムで暗号化するロジックである場合、送信データ生成部１３は、生成した派生鍵◎◎・・・◎◎を用いて、秘密鍵ＸＸ・・・ＸＸを第２のアルゴリズムで暗号化することによって暗号化秘密鍵ＹＹ・・・ＹＹを生成する（図７（Ｃ））。そして、送信データ生成部１３は、生成した暗号化秘密鍵ＹＹ・・・ＹＹを格納した送信データを生成する。送信データ生成部１３は、生成した送信データを通信部１４に出力する。通信部１４は、出力された送信データを発行サーバ２０に送信する（ステップＳ１０８）。
【００４１】
発行サーバ２０は、鍵生成装置１０から送信された送信データを受信し、受信した送信データを端末装置４０に送信する（ステップＳ１０９）。
端末装置４０の第２通信部４２は、発行サーバ２０から送信された送信データを受信する。第２通信部４２は、受信した送信データを端末制御部４３に出力する。端末制御部４３は、出力された送信データの送信元アドレスを確認し、送信元アドレスが発行サーバ２０のアドレスである場合に送信データをＩＣカード４５に送信する。ＩＣカード４５の通信部４５２は、端末制御部４３から送信された送信データを受信し、受信した送信データを制御部４５３に出力する。制御部４５３は、出力された送信データに暗号化秘密鍵ＹＹ・・・ＹＹが含まれているため、復号部４５８に秘密鍵の復号を指示するとともに、送信データに含まれる暗号化秘密鍵ＹＹ・・・ＹＹを復号部４５８に出力する。
【００４２】
復号部４５８は、制御部４５３の指示に応じて秘密鍵を復号する（ステップＳ１１０）。具体的には、復号部４５８は、第２のロジックのうち秘密鍵の復号方法のロジックに従って、提供アプリに格納されている派生鍵◎◎・・・◎◎を用いて、暗号化秘密鍵ＹＹ・・・ＹＹを復号することによって秘密鍵を復元する。なお、秘密鍵の復号方法のロジックは、派生鍵を用いて、暗号化秘密鍵をどのようなアルゴリズムで復号するのか等の秘密鍵の復号までの過程を含む。
【００４３】
ここで、復号部４５８による秘密鍵の復号方法について一例を挙げて説明する。秘密鍵の復号方法のロジックが、派生鍵を用いて、暗号化秘密鍵を第２のアルゴリズムで復号するロジックである場合、復号部４５８は、派生鍵◎◎・・・◎◎を用いて、第２のアルゴリズムで暗号化秘密鍵ＹＹ・・・ＹＹを復号することによって秘密鍵ＸＸ・・・ＸＸを復元する。復号部４５８は、復元した秘密鍵ＸＸ・・・ＸＸを、秘密鍵記憶部４５６に格納する（ステップＳ１１１）。
【００４４】
以上のように構成された鍵提供システム１００では、秘密鍵の暗号化に用いられた鍵の秘匿性を向上させることができる。具体的には、鍵生成装置１０は、秘密鍵の暗号化に用いられるマスター鍵から生成されたタネＡと、識別情報とを第１ネットワーク５０を介して、端末装置４０に送信する。また、アプリケーション提供装置３０は、秘密鍵の暗号化に用いられるマスター鍵から生成されたタネＢを、第２ネットワーク６０を介して、端末装置４０に送信する。端末装置４０は、タネＡと、タネＢとを用いてマスター鍵を復元し、復元したマスター鍵で識別情報を暗号化することによって、秘密鍵を暗号化した派生鍵を生成する。このように、鍵提供システム１００では、マスター鍵を構成するタネＡと、タネＢとが別々に送信される。そのため、秘密鍵の暗号化に用いられた鍵の秘匿性を向上させることが可能になる。
【００４５】
また、復元された秘密鍵は、端末装置４０の耐タンパ領域に格納される。これにより、秘密鍵が外部に漏れてしまう可能性が低い。そのため、秘密鍵のセキュリティを向上させることができる。
また、タネＢは、アプリケーションのソースファイルに埋め込まれている。さらに、アプリケーションのコードは、コンパイルされたＢＩＮファイルとして提供される。したがって、盗聴されたとしてもタネＢを特定することは困難である。そのため、タネＢの漏洩に対するセキュリティが高いため、派生鍵が生成されてしまう可能性を低下させることができる。
【００４６】
＜変形例＞
本実施形態では、ＩＣカード４５を備える端末装置４０を例に説明したが、ＣＰＵを持った記憶媒体（例えば、ＩＣカード、ＩＣチップ付きＵＳＢトークン等）にも適用可能である。
本実施形態では、マスター鍵□□・・□□○○・・○○を半分にしてタネＡ○○・・○○及びタネＢ□□・・□□が生成されているが、タネＡ、タネＢは以下の基準に従って生成されてもよい。例えば、タネＡが奇数ｂｙｔｅのビット列で生成され、タネＢが偶数ｂｙｔｅのビット列で生成されてもよい。このように構成される場合、派生鍵の生成方法のロジックとして、例えばタネＡのビット列と、タネＢのビット列とを用いて、タネＡを基準に順番（例えば、タネＡ、タネＢ，タネＡ、タネＢ，・・・）に並べることによってマスター鍵を復元するといったロジックが想定される。また、タネＢが奇数番目のｂｙｔｅのビット列で生成され、タネＡが偶数番目のｂｙｔｅのビット列で生成されてもよい。このように構成される場合、派生鍵の生成方法のロジックとして、例えばタネＡのビット列と、タネＢのビット列とを用いて、タネＢを基準に順番（例えば、タネＢ，タネＡ、タネＢ，タネＡ，・・・）に並べることによってマスター鍵を復元するといったロジックが想定される。また、マスター鍵（ｎｂｙｔｅ）から生成されるタネは３つ以上であってもよい。また、各タネのビット列の数は、適宜設定されてもよい。
【００４７】
また、図５の説明では、鍵生成装置１０が、タネＡ及び識別情報を格納した送信データの後に、暗号化秘密鍵を格納した送信データを送信する構成を示しているが、暗号化秘密鍵を格納した送信データを送信した後に、タネＡ及び識別情報を格納した送信データの送信が行われてもよい。このように構成される場合、端末装置４０は、暗号化秘密鍵を一時的に保持しておき、タネＡ及び識別情報を格納した送信データが受信された場合に派生鍵の生成、秘密鍵の復号の処理が行なわれる。
また、本実施形態では、端末装置４０のＩＣカード４５内において図５のステップＳ１０５〜ステップ１０７及びステップＳ１１０〜ステップ１１１の処理がなされる構成を示したが、これらの処理は端末装置４０の端末制御部４３において行われてもよい。このように構成される場合、復元された秘密鍵は耐タンパ領域に記憶されればどの記憶部に記憶されてもよい。
【００４８】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【００４９】
１０…鍵生成装置，  ２０…発行サーバ，  ３０…アプリケーション提供装置，  ４０…端末装置，  ５０…第１ネットワーク，  ６０…第２ネットワーク，  １１…鍵生成部，  １２…送信データ生成情報記憶部，  １３…送信データ生成部，  １４…通信部，  ４１…第１通信部，  ４２…第２通信部，  ４３…端末制御部，  ４４…装着部，  ４５…ＩＣカード，  ４５１…ＩＣチップ，  ４５２…通信部，  ４５３…制御部，  ４５４…アプリケーション記憶部，  ４５５…アプリケーション処理部，  ４５６…秘密鍵記憶部，  ４５７…鍵生成部，  ４５８…復号部
【図１】
2020141425.tif 000003
【図２】
2020141425.tif 000004
【図３】
2020141425.tif 000005
【図４】
2020141425.tif 000006
【図５】
2020141425.tif 000007
【図６】
2020141425.tif 000008
【図７】
2020141425.tif 000009