JP6717730B2 - 端末装置、鍵提供システム、鍵提供方法及びコンピュータプログラム - Google Patents

端末装置、鍵提供システム、鍵提供方法及びコンピュータプログラム Download PDF

Info

Publication number
JP6717730B2
JP6717730B2 JP2016212304A JP2016212304A JP6717730B2 JP 6717730 B2 JP6717730 B2 JP 6717730B2 JP 2016212304 A JP2016212304 A JP 2016212304A JP 2016212304 A JP2016212304 A JP 2016212304A JP 6717730 B2 JP6717730 B2 JP 6717730B2
Authority
JP
Japan
Prior art keywords
key
keys
terminal device
identification information
secret key
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
JP2016212304A
Other languages
English (en)
Other versions
JP2018074396A (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.)
NTT Communications Corp
Original Assignee
NTT Communications 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 NTT Communications Corp filed Critical NTT Communications Corp
Priority to JP2016212304A priority Critical patent/JP6717730B2/ja
Publication of JP2018074396A publication Critical patent/JP2018074396A/ja
Application granted granted Critical
Publication of JP6717730B2 publication Critical patent/JP6717730B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、秘密鍵の送信技術に関する。
従来、情報の保護やコンピューターセキュリティの観点から暗号化技術が用いられている。通常、SSL(Secure Sockets Layer)やS/MIME(Secure / Multipurpose Internet Mail Extensions)等のRSA(Rivest Shamir Adleman)技術を用いる場合、媒体(例えば、パーソナルコンピュータ、IC(Integrated Circuit)カード、USB(Universal Serial Bus)トークン等)のアプリケーションで鍵生成を行うため、媒体から秘密鍵を外部に送信することはない。そのため、秘密鍵が外部に漏れてしまう可能性は低い。
ところが、RSA技術を用いて鍵ペアを他の装置で生成した場合には、秘密鍵を媒体に送信する必要がある(例えば、特許文献1参照)。秘密鍵を送信するにあたり、SSL等の通信路の暗号化だけではセキュリティ性が低い。そこで、共通鍵で暗号化した秘密鍵を媒体に送信することが考えられる。このような状況下において、媒体内にあるアプリケーションで、ある共通鍵で暗号化された秘密鍵を復号する場合、共通鍵は事前に媒体の中に格納しておくことで秘密が確保される。
特開2016−148919号公報
しかしながら、既に配布済みの媒体に暗号化した秘密鍵を送信する場合、秘密鍵を復号するための共通鍵も送信しなければならない。このような場合には、共通鍵の秘匿性を確保しなければ秘密鍵を暗号化していたとしてもセキュリティ上は問題がある。このような問題は、秘密鍵の暗号化に用いられる共通鍵に限らず、秘密鍵の暗号化に用いられる鍵全てに共通する問題である。
上記事情に鑑み、本発明は、秘密鍵の暗号化に用いられた鍵の秘匿性を向上させることができる技術の提供を目的としている。
本発明の一態様は、秘密鍵の暗号化に用いられる第一の鍵から生成された複数の鍵と、ユーザを識別するための識別情報と、前記第一の鍵と前記識別情報とに基づいて暗号化された秘密鍵とを他の装置から取得する取得部と、取得された前記複数の鍵と、前記識別情報とに基づいて、前記秘密鍵を暗号化した第二の鍵を生成する鍵生成部と、生成された前記第二の鍵を用いて、前記暗号化された秘密鍵を復号することによって秘密鍵を復元する復号部と、を備える端末装置である。
本発明の一態様は、上記の端末装置であって、前記複数の鍵のうち一部の鍵は、アプリケーション内に設定されており、前記取得部は、前記アプリケーションを取得することによって、前記複数の鍵のうち一部の鍵を取得する。
本発明の一態様は、上記の端末装置であって、前記アプリケーション内には、前記第二の鍵の生成方法及び前記秘密鍵の復号方法に関するロジックがさらに設定されており、前記鍵生成部は、前記ロジックに従って前記第二の鍵を生成し、前記復号部は、前記ロジックに従って前記暗号化された秘密鍵を復号する。
本発明の一態様は、上記の端末装置であって、前記取得部は、第一の通信網を介して前記アプリケーションを取得し、前記複数の鍵のうち一部の鍵を前記第一の通信網と異なる通信網を介して取得する。
本発明の一態様は、上記の端末装置であって、前記鍵生成部は、前記複数の鍵を所定の条件に従って組み合わせることによって、前記第一の鍵を復元し、復元した前記第一の鍵を用いて、所定のアルゴリズムで前記識別情報を暗号化することによって前記第二の鍵を生成する。
本発明の一態様は、上記の端末装置であって、前記復号部は、復元した前記秘密鍵を自装置内の耐タンパ領域に格納する。
本発明の一態様は、秘密鍵と、前記秘密鍵の対となる鍵とを生成する鍵生成部と、前記秘密鍵の暗号化に用いられる第一の鍵から生成された複数の鍵と、ユーザを識別するための識別情報と、を用いて前記秘密鍵を暗号化することによって生成された暗号化秘密鍵を含む第一の送信データと、前記複数の鍵のうち一部の鍵及び前記識別情報を含む第二の送信データとを端末装置に送信する通信部と、を備える鍵生成装置と、前記端末装置からの要求に応じて、前記複数の鍵のうち一部の鍵が設定されているアプリケーションを前記端末装置に送信するアプリケーション提供装置と、前記複数の鍵と、前記識別情報と、前記暗号化秘密鍵とを他の装置から取得する取得部と、取得された前記複数の鍵と、前記識別情報とに基づいて、前記秘密鍵を暗号化した第二の鍵を生成する鍵生成部と、生成された前記第二の鍵を用いて、前記暗号化秘密鍵を復号することによって秘密鍵を復元する復号部と、を備える端末装置と、を備える鍵提供システムである。
本発明の一態様は、鍵生成装置が、秘密鍵と、前記秘密鍵の対となる鍵とを生成する鍵生成ステップと、鍵生成装置が、前記秘密鍵の暗号化に用いられる第一の鍵から生成された複数の鍵と、ユーザを識別するための識別情報と、を用いて前記秘密鍵を暗号化することによって生成された暗号化秘密鍵を含む第一の送信データと、前記複数の鍵のうち一部の鍵及び前記識別情報を含む第二の送信データとを端末装置に送信する通信ステップと、を有し、アプリケーション提供装置が、前記端末装置からの要求に応じて、前記複数の鍵のうち一部の鍵が設定されているアプリケーションを前記端末装置に送信する送信ステップと、前記複数の鍵と、前記識別情報と、前記暗号化秘密鍵とを他の装置から取得する取得ステップを有し、端末装置が、取得された前記複数の鍵と、前記識別情報とに基づいて、前記秘密鍵を暗号化した第二の鍵を生成する鍵生成ステップと、端末装置が、生成された前記第二の鍵を用いて、前記暗号化秘密鍵を復号することによって秘密鍵を復元する復号ステップと、を有する鍵提供方法である。
本発明の一態様は、他の装置から取得された秘密鍵の暗号化に用いられる第一の鍵から生成された複数の鍵と、ユーザを識別するための識別情報とに基づいて、前記秘密鍵を暗号化した第二の鍵を生成する鍵生成ステップと、生成された前記第二の鍵を用いて、前記第一の鍵と前記識別情報とに基づいて暗号化された秘密鍵を復号することによって秘密鍵を復元する復号ステップと、をコンピュータに実行させるためのコンピュータプログラムである。
本発明により、秘密鍵の暗号化に用いられた鍵の秘匿性を向上させることが可能となる。
本発明の鍵提供システム100の機能構成を示す図である。 鍵生成装置10の機能構成を表す概略ブロック図である。 端末装置40の機能構成を表す概略ブロック図である。 ICカード45の機能構成を表す概略ブロック図である。 鍵提供システム100の処理の流れを示すシーケンス図である。 派生鍵の生成処理を説明するための図である。 送信データの生成処理を説明するための図である。
以下、本発明の一実施形態を、図面を参照しながら説明する。
図1は、本発明の鍵提供システム100の機能構成を示す図である。鍵提供システム100は、鍵生成装置10、発行サーバ20、アプリケーション提供装置30及び端末装置40を備える。発行サーバ20及び端末装置40は、第1ネットワーク50を介して通信可能に接続される。第1ネットワーク50は、例えばインターネットで構成される。アプリケーション提供装置30及び端末装置40は、第2ネットワーク60を介して通信可能に接続される。第2ネットワーク60は、例えば通信事業者が提供する通信網(第一の通信網)で構成される。なお、鍵生成装置10から端末装置40までの間は、SSLにより通信が暗号化されるものとする。
鍵生成装置10は、製造工場やセキュリティ管理がなされた場所に設けられる。セキュリティ管理がなされた場所とは、ビルのような機密性の高い建物内に2重、3重のセキュリティが設けられている場所である。鍵生成装置10は、公開鍵暗号方式に基づいて、秘密鍵及び公開鍵の鍵ペアを生成する。また、鍵生成装置10は、マスター鍵(第一の鍵)から生成された複数の鍵と、ユーザを識別するための識別情報とを保持する。マスター鍵とは、秘密鍵の暗号化に用いられる鍵である。また、複数の鍵は、マスター鍵を分割することによって生成される。
一例として、本実施形態においてマスター鍵を分割するとは、マスター鍵がnbyte(nは2以上の整数)のビット列で構成される場合、nbyteのビット列を、複数のビット列(例えば、n_Abyteのビット列、n_Bbyteのビット列等)に分けることを意味する。以下の説明では、マスター鍵から生成された複数の鍵として、タネA(n_Abyte)及びタネB(n_Bbyte)を用いて説明する。ただし、ここではn=n_A+n_Bであるとする。なお、n_Aとn_Bの値は、同じであってもよいし、異なってもよい。タネA及び識別情報は、ユーザ毎に異なる値である。タネBは、派生鍵(第二の鍵)の生成方法及び秘密鍵の暗号化方法に関するロジック(以下「第1のロジック」という。)に組み込まれている。派生鍵とは、秘密鍵を暗号化するための鍵である。派生鍵は、複数の鍵と、識別情報とに基づいて生成される。タネA、識別情報及び第1のロジックは、他の装置から提供されてもよい。例えば、第1のロジックは、ソースファイルで提供される。
鍵生成装置10は、第1のロジックに従って派生鍵を生成する。また、鍵生成装置10は、第1のロジックに従って秘密鍵を暗号化することによって暗号化秘密鍵を生成する。鍵生成装置10は、タネA及び識別情報を格納した送信データと、暗号化秘密鍵を格納した送信データとを発行サーバ20に送信する。
発行サーバ20は、鍵生成装置10から送信された送信データを、第1ネットワーク50を介して端末装置40に送信する。
アプリケーション提供装置30は、アプリケーションを提供する。アプリケーションとは、端末装置40において実行されるソフトウェアである。アプリケーション提供装置30が提供するアプリケーション(以下「提供アプリ」という。)は、例えばクレジットアプリケーション、PKI(Public Key Infrastructure)のアプリケーションなどである。また、提供アプリのソースファイルには、タネBと、派生鍵の生成方法及び秘密鍵の復号方法に関するロジック(以下「第2のロジック」という。)とが埋め込まれている。アプリケーション提供装置30は、端末装置40からの要求に応じて、提供アプリを端末装置40に送信する。
端末装置40は、スマートフォンやタブレット端末等の情報処理装置を用いて構成される。端末装置40は、アプリケーション提供装置30から送信された提供アプリと、発行サーバ20から送信されたタネAと、識別情報とを用いて、暗号化された秘密鍵を復号することによって秘密鍵を復元する。
図2は、鍵生成装置10の機能構成を表す概略ブロック図である。
鍵生成装置10は、バスで接続されたCPU(Central Processing Unit)やメモリや補助記憶装置などを備え、鍵生成プログラムを実行する。鍵生成プログラムの実行によって、鍵生成装置10は、鍵生成部11、送信データ生成情報記憶部12、送信データ生成部13、通信部14を備える装置として機能する。なお、鍵生成装置10の各機能の全て又は一部は、ASIC(Application Specific Integrated Circuit)やPLD(Programmable Logic Device)やFPGA(Field Programmable Gate Array)等のハードウェアを用いて実現されてもよい。また、鍵生成プログラムは、コンピュータ読み取り可能な記録媒体に記録されてもよい。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ROM(READ ONLY MEMORY)、CD−ROM(CompactDisk- READ ONLY MEMORY)等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。また、鍵生成プログラムは、電気通信回線を介して送受信されてもよい。
鍵生成部11は、公開鍵暗号方式に基づいて、秘密鍵及び公開鍵の鍵ペアを生成する。
送信データ生成情報記憶部12は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。送信データ生成情報記憶部12は、ユーザ毎の識別情報及びタネAと、第1のロジックが埋め込まれたソースファイルとを送信データ生成情報として記憶する。
送信データ生成部13は、送信データ生成情報記憶部12に記憶されている送信データ生成情報に基づいて送信データを生成する。
通信部14は、送信データ生成部13によって生成された送信データを発行サーバ20に送信する。
図3は、端末装置40の機能構成を表す概略ブロック図である。
端末装置40は、バスで接続されたCPUやメモリや補助記憶装置などを備え、端末装置プログラムを実行する。端末装置プログラムの実行によって、端末装置40は、第1通信部41、第2通信部42、端末制御部43、装着部44を備える装置として機能する。
装着部44には、着脱可能なICカード45が装着され、ICカード45が端末制御部43と接続される。なお、端末装置40の各機能の全て又は一部は、ASICやPLDやFPGA等のハードウェアを用いて実現されてもよい。また、端末装置プログラムは、コンピュータ読み取り可能な記録媒体に記録されてもよい。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。また、端末装置プログラムは、電気通信回線を介して送受信されてもよい。
第1通信部41は、第2ネットワーク60を介して、アプリケーション提供装置30との間で通信を行う。例えば、第1通信部41は、アプリケーション提供装置30から提供アプリを受信する。
第2通信部42は、第1ネットワーク50を介して、発行サーバ20との間で通信を行う。例えば、第2通信部42は、発行サーバ20から送信データを受信する。
端末制御部43は、例えば、CPU等を含むプロセッサにより実現される。端末制御部43は、端末装置40全体を制御する。端末制御部43は、装着部44に装着されているICカード45に対してコマンドを送信し、コマンドの処理結果としてレスポンスを受信する。
ICカード45は、例えば、SIM(Subscriber Identity Module)カードであり、ICチップ451を備える。
図4は、ICカード45の機能構成を表す概略ブロック図である。
ICチップ451は、通信部452、制御部453、アプリケーション記憶部454、アプリケーション処理部455及び秘密鍵記憶部456を備える。
通信部452は、端末制御部43との間で通信を行う。例えば、通信部452は、端末制御部43から送信されたコマンドを受信する。
制御部453は、通信部452が受信したコマンドに応じた処理を実行する。
アプリケーション記憶部454は、アプリケーション提供装置30から提供されたアプリケーション(提供アプリ)を記憶する。
アプリケーション処理部455は、プログラムの実行により鍵生成部457及び復号部458として機能する。
鍵生成部457は、提供アプリのソースファイルに埋め込まれている第2のロジックに従って派生鍵を生成する。
復号部458は、提供アプリのソースファイルに埋め込まれている第2のロジックに従って、暗号化秘密鍵を復号することによって秘密鍵を復元する。
秘密鍵記憶部456は、復号部458によって復元された秘密鍵を記憶する。
図5は、鍵提供システム100の処理の流れを示すシーケンス図である。
アプリケーション提供装置30は、端末装置40からの要求に応じて、要求された提供アプリを端末装置40に送信する(ステップS101)。提供アプリのソースファイルには、アプリケーションのプログラムの他に、タネB及び第2のロジックが埋め込まれている。なお、提供アプリは、バイナリデータ等の形式でアプリケーション提供装置30から提供される。
端末装置40の第1通信部41は、アプリケーション提供装置30から送信された提供アプリを受信する。第1通信部41は、受信した提供アプリを端末制御部43に出力する。
端末制御部43は、出力された提供アプリを格納する旨を示すコマンドを生成し、生成したコマンドをICカード45に送信する。ICカード45の通信部452は、端末制御部43から送信されたコマンドを受信する。制御部453は、通信部452によって受信されたコマンドに応じて、提供アプリをアプリケーション記憶部454に格納する(ステップS102)。
鍵生成装置10の送信データ生成部13は、タネA及び識別情報が含まれていることを示す情報(以下「付与情報」という。)と、送信データ生成情報記憶部12に記憶されているタネA及び識別情報とを格納した送信データを生成する。送信データ生成部13は、生成した送信データを通信部14に出力する。通信部14は、送信データを発行サーバ20に送信する(ステップS103)。
発行サーバ20は、鍵生成装置10から送信された送信データを受信する。発行サーバ20は、受信した送信データを、第1ネットワーク50を介して端末装置40に送信する(ステップS104)。
端末装置40の第2通信部42は、発行サーバ20から送信された送信データを受信する。第2通信部42は、受信した送信データを端末制御部43に出力する。端末制御部43は、出力された送信データの送信元アドレスを確認し、送信元アドレスが発行サーバ20のアドレスである場合に送信データをICカード45に送信する。ICカード45の通信部452は、端末制御部43から送信された送信データを受信し、受信した送信データを制御部453に出力する。制御部453は、出力された送信データに基づいて、鍵生成の条件が満たされたか否か判定する(ステップS105)。
鍵生成の条件は、付与情報と、提供アプリとが揃うことである。鍵生成の条件は、提供アプリのロジックに埋め込まれていてもよいし、制御部453が予め記憶していてもよい。鍵生成の条件が満たされていない場合(ステップS105−NO)、制御部453は鍵生成の条件が満たされるまで待機する。
一方、鍵生成の条件が満たされた場合(ステップS105−YES)、制御部453は鍵生成部457に派生鍵の生成を指示するとともに、送信データに含まれるタネA及び識別情報を鍵生成部457に出力する。
鍵生成部457は、制御部453の指示に応じて派生鍵を生成する(ステップS106)。派生鍵の生成処理について図6を用いて説明する。図6は、派生鍵の生成処理を説明するための図である。本実施形態において鍵生成部457による派生鍵の生成処理は、アプリケーション記憶部454に記憶されている提供アプリのソースファイルに埋め込まれている第2のロジックのうち派生鍵の生成方法のロジックに従って、図6(A)及び図6(B)に示す2つのステップで実行される。なお、派生鍵の生成方法のロジックは、タネAとタネBをどのように組み合わせることによってマスター鍵を復元するのか、復元したマスター鍵をどのように用いて派生鍵を生成するのか等の派生鍵の生成までの過程を含む。
以下の説明において、タネAは○○・・○○で表され、タネBは□□・・□□で表され、識別情報は△△・・・△△で表されるものとする。1つ目のステップとして、鍵生成部457は、取得したタネA○○・・○○と、提供アプリのソースファイルに埋め込まれているタネB□□・・□□とを組み合わせてマスター鍵を復元する。ここで、マスター鍵の復元処理について一例を挙げて説明する。派生鍵の生成方法のロジックにおけるマスター鍵の復元方法が、タネBのビット列の後に、タネAのビット列を結合するロジックである場合、鍵生成部457はタネB□□・・□□のビット列の後に、タネA○○・・○○のビット列を結合することによってマスター鍵□□・・□□○○・・○○を復元する(図6(A))。
次に、2つ目のステップとして、鍵生成部457は、復元したマスター鍵□□・・□□○○・・○○を用いて、識別情報△△・・・△△を暗号化することによって派生鍵を生成する。ここで、鍵生成部457による派生鍵の生成処理について一例を挙げて説明する。派生鍵の生成方法のロジックにおける派生鍵の生成方法が、復元したマスター鍵を用いて、識別情報を第1のアルゴリズムで暗号化するロジックである場合、鍵生成部457はマスター鍵□□・・□□○○・・○○を用いて、識別情報△△・・・△△を第1のアルゴリズムで暗号化することによって派生鍵◎◎・・・◎◎を生成する(図6(B))。鍵生成部457は、生成した派生鍵◎◎・・・◎◎を提供アプリに格納する(ステップS107)。
鍵生成装置10の送信データ生成部13は、送信データ生成情報記憶部12に記憶されている送信データ生成情報に基づいて、暗号化秘密鍵を含む送信データを生成する。送信データの生成処理について図7を用いて説明する。図7は、送信データの生成処理を説明するための図である。まず、送信データ生成部13は、送信データ生成情報記憶部12に記憶されている第1のロジックのうち派生鍵の生成方法のロジックに従って、マスター鍵を復元する。本実施形態において送信データ生成部13による派生鍵の生成処理は、図7(A)及び図7(B)に示す2つのステップで実行される。
1つ目のステップとして、送信データ生成部13は、送信データ生成情報記憶部12に記憶されているタネA○○・・○○と、第1のロジックに埋め込まれているタネB□□・・□□とを組み合わせてマスター鍵を復元する。ここで、マスター鍵の復元処理について一例を挙げて説明する。マスター鍵の復元方法が、タネBのビット列の後に、タネAのビット列を結合するロジックである場合、送信データ生成部13はタネB□□・・□□のビット列の後に、タネA○○・・○○のビット列を結合することによってマスター鍵□□・・□□○○・・○○を復元する(図7(A))。
次に、2つ目のステップとして、送信データ生成部13は、復元したマスター鍵□□・・□□○○・・○○を用いて、識別情報△△・・△△を暗号化することによって派生鍵を生成する。ここで、送信データ生成部13による派生鍵の生成処理について一例を挙げて説明する。派生鍵の生成方法のロジックにおける派生鍵の生成方法が、復元したマスター鍵を用いて、識別情報を第1のアルゴリズムで暗号化するロジックである場合、送信データ生成部13はマスター鍵□□・・□□○○・・○○を用いて、識別情報△△・・・△△を第1のアルゴリズムで暗号化することによって派生鍵◎◎・・・◎◎を生成する(図7(B))。
その後、送信データ生成部13は、第1のロジックのうち秘密鍵の暗号化方法のロジックに従って、生成した派生鍵◎◎・・・◎◎を用いて、秘密鍵XX・・・XXを暗号化することによって暗号化秘密鍵を生成する。なお、秘密鍵の暗号化方法のロジックは、派生鍵を用いて、秘密鍵をどのようなアルゴリズムで暗号化するのか等の秘密鍵の暗号化までの過程を含む。
ここで、送信データ生成部13による秘密鍵の暗号化方法について一例を挙げて説明する。秘密鍵の暗号化方法のロジックが、生成した派生鍵を用いて、秘密鍵を第2のアルゴリズムで暗号化するロジックである場合、送信データ生成部13は、生成した派生鍵◎◎・・・◎◎を用いて、秘密鍵XX・・・XXを第2のアルゴリズムで暗号化することによって暗号化秘密鍵YY・・・YYを生成する(図7(C))。そして、送信データ生成部13は、生成した暗号化秘密鍵YY・・・YYを格納した送信データを生成する。送信データ生成部13は、生成した送信データを通信部14に出力する。通信部14は、出力された送信データを発行サーバ20に送信する(ステップS108)。
発行サーバ20は、鍵生成装置10から送信された送信データを受信し、受信した送信データを端末装置40に送信する(ステップS109)。
端末装置40の第2通信部42は、発行サーバ20から送信された送信データを受信する。第2通信部42は、受信した送信データを端末制御部43に出力する。端末制御部43は、出力された送信データの送信元アドレスを確認し、送信元アドレスが発行サーバ20のアドレスである場合に送信データをICカード45に送信する。ICカード45の通信部452は、端末制御部43から送信された送信データを受信し、受信した送信データを制御部453に出力する。制御部453は、出力された送信データに暗号化秘密鍵YY・・・YYが含まれているため、復号部458に秘密鍵の復号を指示するとともに、送信データに含まれる暗号化秘密鍵YY・・・YYを復号部458に出力する。
復号部458は、制御部453の指示に応じて秘密鍵を復号する(ステップS110)。具体的には、復号部458は、第2のロジックのうち秘密鍵の復号方法のロジックに従って、提供アプリに格納されている派生鍵◎◎・・・◎◎を用いて、暗号化秘密鍵YY・・・YYを復号することによって秘密鍵を復元する。なお、秘密鍵の復号方法のロジックは、派生鍵を用いて、暗号化秘密鍵をどのようなアルゴリズムで復号するのか等の秘密鍵の復号までの過程を含む。
ここで、復号部458による秘密鍵の復号方法について一例を挙げて説明する。秘密鍵の復号方法のロジックが、派生鍵を用いて、暗号化秘密鍵を第2のアルゴリズムで復号するロジックである場合、復号部458は、派生鍵◎◎・・・◎◎を用いて、第2のアルゴリズムで暗号化秘密鍵YY・・・YYを復号することによって秘密鍵XX・・・XXを復元する。復号部458は、復元した秘密鍵XX・・・XXを、秘密鍵記憶部456に格納する(ステップS111)。
以上のように構成された鍵提供システム100では、秘密鍵の暗号化に用いられた鍵の秘匿性を向上させることができる。具体的には、鍵生成装置10は、秘密鍵の暗号化に用いられるマスター鍵から生成されたタネAと、識別情報とを第1ネットワーク50を介して、端末装置40に送信する。また、アプリケーション提供装置30は、秘密鍵の暗号化に用いられるマスター鍵から生成されたタネBを、第2ネットワーク60を介して、端末装置40に送信する。端末装置40は、タネAと、タネBとを用いてマスター鍵を復元し、復元したマスター鍵で識別情報を暗号化することによって、秘密鍵を暗号化した派生鍵を生成する。このように、鍵提供システム100では、マスター鍵を構成するタネAと、タネBとが別々に送信される。そのため、秘密鍵の暗号化に用いられた鍵の秘匿性を向上させることが可能になる。
また、復元された秘密鍵は、端末装置40の耐タンパ領域に格納される。これにより、秘密鍵が外部に漏れてしまう可能性が低い。そのため、秘密鍵のセキュリティを向上させることができる。
また、タネBは、アプリケーションのソースファイルに埋め込まれている。さらに、アプリケーションのコードは、コンパイルされたBINファイルとして提供される。したがって、盗聴されたとしてもタネBを特定することは困難である。そのため、タネBの漏洩に対するセキュリティが高いため、派生鍵が生成されてしまう可能性を低下させることができる。
<変形例>
本実施形態では、ICカード45を備える端末装置40を例に説明したが、CPUを持った記憶媒体(例えば、ICカード、ICチップ付きUSBトークン等)にも適用可能である。
本実施形態では、マスター鍵□□・・□□○○・・○○を半分にしてタネA○○・・○○及びタネB□□・・□□が生成されているが、タネA、タネBは以下の基準に従って生成されてもよい。例えば、タネAが奇数byteのビット列で生成され、タネBが偶数byteのビット列で生成されてもよい。このように構成される場合、派生鍵の生成方法のロジックとして、例えばタネAのビット列と、タネBのビット列とを用いて、タネAを基準に順番(例えば、タネA、タネB,タネA、タネB,・・・)に並べることによってマスター鍵を復元するといったロジックが想定される。また、タネBが奇数番目のbyteのビット列で生成され、タネAが偶数番目のbyteのビット列で生成されてもよい。このように構成される場合、派生鍵の生成方法のロジックとして、例えばタネAのビット列と、タネBのビット列とを用いて、タネBを基準に順番(例えば、タネB,タネA、タネB,タネA,・・・)に並べることによってマスター鍵を復元するといったロジックが想定される。また、マスター鍵(nbyte)から生成されるタネは3つ以上であってもよい。また、各タネのビット列の数は、適宜設定されてもよい。
また、図5の説明では、鍵生成装置10が、タネA及び識別情報を格納した送信データの後に、暗号化秘密鍵を格納した送信データを送信する構成を示しているが、暗号化秘密鍵を格納した送信データを送信した後に、タネA及び識別情報を格納した送信データの送信が行われてもよい。このように構成される場合、端末装置40は、暗号化秘密鍵を一時的に保持しておき、タネA及び識別情報を格納した送信データが受信された場合に派生鍵の生成、秘密鍵の復号の処理が行なわれる。
また、本実施形態では、端末装置40のICカード45内において図5のステップS105〜ステップ107及びステップS110〜ステップ111の処理がなされる構成を示したが、これらの処理は端末装置40の端末制御部43において行われてもよい。このように構成される場合、復元された秘密鍵は耐タンパ領域に記憶されればどの記憶部に記憶されてもよい。
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
10…鍵生成装置, 20…発行サーバ, 30…アプリケーション提供装置, 40…端末装置, 50…第1ネットワーク, 60…第2ネットワーク, 11…鍵生成部, 12…送信データ生成情報記憶部, 13…送信データ生成部, 14…通信部, 41…第1通信部, 42…第2通信部, 43…端末制御部, 44…装着部, 45…ICカード, 451…ICチップ, 452…通信部, 453…制御部, 454…アプリケーション記憶部, 455…アプリケーション処理部, 456…秘密鍵記憶部, 457…鍵生成部, 458…復号部

Claims (9)

  1. 秘密鍵の暗号化に用いられる第一の鍵から生成された複数の鍵と、ユーザを識別するための識別情報と、前記第一の鍵と前記識別情報とに基づいて暗号化された秘密鍵とを他の装置から取得する取得部と、
    取得された前記複数の鍵と、前記識別情報とに基づいて、前記秘密鍵を暗号化した第二の鍵を生成する鍵生成部と、
    生成された前記第二の鍵を用いて、前記暗号化された秘密鍵を復号することによって秘密鍵を復元する復号部と、
    を備える端末装置。
  2. 前記複数の鍵のうち一部の鍵は、アプリケーション内に設定されており、
    前記取得部は、前記アプリケーションを取得することによって、前記複数の鍵のうち一部の鍵を取得する、請求項1に記載の端末装置。
  3. 前記アプリケーション内には、前記第二の鍵の生成方法及び前記秘密鍵の復号方法に関するロジックがさらに設定されており、
    前記鍵生成部は、前記ロジックに従って前記第二の鍵を生成し、
    前記復号部は、前記ロジックに従って前記暗号化された秘密鍵を復号する、請求項2に記載の端末装置。
  4. 前記取得部は、第一の通信網を介して前記アプリケーションを取得し、前記複数の鍵のうち一部の鍵を前記第一の通信網と異なる通信網を介して取得する、請求項2又は3に記載の端末装置。
  5. 前記鍵生成部は、前記複数の鍵を所定の条件に従って組み合わせることによって、前記第一の鍵を復元し、復元した前記第一の鍵を用いて、所定のアルゴリズムで前記識別情報を暗号化することによって前記第二の鍵を生成する、請求項1から4のいずれか一項に記載の端末装置。
  6. 前記復号部は、復元した前記秘密鍵を自装置内の耐タンパ領域に格納する、請求項1から5のいずれか一項に記載の端末装置。
  7. 秘密鍵と、前記秘密鍵の対となる鍵とを生成する鍵生成部と、
    前記秘密鍵の暗号化に用いられる第一の鍵から生成された複数の鍵と、ユーザを識別するための識別情報と、を用いて前記秘密鍵を暗号化することによって生成された暗号化秘密鍵を含む第一の送信データと、前記複数の鍵のうち一部の鍵及び前記識別情報を含む第二の送信データとを端末装置に送信する通信部と、
    を備える鍵生成装置と、
    前記端末装置からの要求に応じて、前記複数の鍵のうち一部の鍵が設定されているアプリケーションを前記端末装置に送信するアプリケーション提供装置と、
    前記複数の鍵と、前記識別情報と、前記暗号化秘密鍵とを他の装置から取得する取得部と、
    取得された前記複数の鍵と、前記識別情報とに基づいて、前記秘密鍵を暗号化した第二の鍵を生成する鍵生成部と、
    生成された前記第二の鍵を用いて、前記暗号化秘密鍵を復号することによって秘密鍵を復元する復号部と、
    を備える端末装置と、
    を備える鍵提供システム。
  8. 鍵生成装置が、秘密鍵と、前記秘密鍵の対となる鍵とを生成する鍵生成ステップと、
    鍵生成装置が、前記秘密鍵の暗号化に用いられる第一の鍵から生成された複数の鍵と、ユーザを識別するための識別情報と、を用いて前記秘密鍵を暗号化することによって生成された暗号化秘密鍵を含む第一の送信データと、前記複数の鍵のうち一部の鍵及び前記識別情報を含む第二の送信データとを端末装置に送信する通信ステップと、
    を有し、
    アプリケーション提供装置が、前記端末装置からの要求に応じて、前記複数の鍵のうち一部の鍵が設定されているアプリケーションを前記端末装置に送信する送信ステップと、
    前記複数の鍵と、前記識別情報と、前記暗号化秘密鍵とを他の装置から取得する取得ステップを有し、
    端末装置が、取得された前記複数の鍵と、前記識別情報とに基づいて、前記秘密鍵を暗号化した第二の鍵を生成する鍵生成ステップと、
    端末装置が、生成された前記第二の鍵を用いて、前記暗号化秘密鍵を復号することによって秘密鍵を復元する復号ステップと、
    を有する鍵提供方法。
  9. 他の装置から取得された秘密鍵の暗号化に用いられる第一の鍵から生成された複数の鍵と、ユーザを識別するための識別情報とに基づいて、前記秘密鍵を暗号化した第二の鍵を生成する鍵生成ステップと、
    生成された前記第二の鍵を用いて、前記第一の鍵と前記識別情報とに基づいて暗号化された秘密鍵を復号することによって秘密鍵を復元する復号ステップと、
    をコンピュータに実行させるためのコンピュータプログラム。
JP2016212304A 2016-10-28 2016-10-28 端末装置、鍵提供システム、鍵提供方法及びコンピュータプログラム Active JP6717730B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016212304A JP6717730B2 (ja) 2016-10-28 2016-10-28 端末装置、鍵提供システム、鍵提供方法及びコンピュータプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016212304A JP6717730B2 (ja) 2016-10-28 2016-10-28 端末装置、鍵提供システム、鍵提供方法及びコンピュータプログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2020101241A Division JP2020141425A (ja) 2020-06-10 2020-06-10 端末装置、鍵提供システム、鍵生成方法及びコンピュータプログラム

Publications (2)

Publication Number Publication Date
JP2018074396A JP2018074396A (ja) 2018-05-10
JP6717730B2 true JP6717730B2 (ja) 2020-07-01

Family

ID=62111718

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016212304A Active JP6717730B2 (ja) 2016-10-28 2016-10-28 端末装置、鍵提供システム、鍵提供方法及びコンピュータプログラム

Country Status (1)

Country Link
JP (1) JP6717730B2 (ja)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004023138A (ja) * 2002-06-12 2004-01-22 Dainippon Printing Co Ltd 秘密鍵のバックアップ方法および情報処理端末
JP4522098B2 (ja) * 2004-01-13 2010-08-11 株式会社エヌ・ティ・ティ・データ アプリケーションパーソナライズシステム
GB2436668B (en) * 2006-03-28 2011-03-16 Identum Ltd Electronic data communication system
JP6502083B2 (ja) * 2014-12-18 2019-04-17 株式会社ジャパンネット銀行 認証装置、情報端末装置、プログラム、並びに認証方法
JP5969716B1 (ja) * 2016-01-13 2016-08-17 株式会社ショーケース・ティービー データ管理システム、データ管理プログラム、通信端末及びデータ管理サーバ

Also Published As

Publication number Publication date
JP2018074396A (ja) 2018-05-10

Similar Documents

Publication Publication Date Title
US10785019B2 (en) Data transmission method and apparatus
US9152805B2 (en) Security device
US10298390B2 (en) Integrity protected trusted public key token with performance enhancements
US10880100B2 (en) Apparatus and method for certificate enrollment
CN110100422B (zh) 基于区块链智能合约的数据写入方法、装置及存储介质
JP6363032B2 (ja) 鍵付替え方向制御システムおよび鍵付替え方向制御方法
US20180278417A1 (en) Apparatus and method for generating key, and apparatus and method for encryption
US11431489B2 (en) Encryption processing system and encryption processing method
JP2014175970A (ja) 情報配信システム、情報処理装置及びプログラム
EP3079299A1 (en) Data processing system, encryption apparatus, decryption apparatus, and program
CN113890731A (zh) 一种密钥管理方法、装置、电子设备及存储介质
JP2000347566A (ja) コンテンツ管理装置、コンテンツ利用者端末及びプログラムを記録したコンピュータ読み取り可能な記録媒体
US10057054B2 (en) Method and system for remotely keyed encrypting/decrypting data with prior checking a token
KR102181645B1 (ko) 데이터를 분산해서 저장하는 시스템 및 방법
JP6348273B2 (ja) 情報処理システム
JP6717730B2 (ja) 端末装置、鍵提供システム、鍵提供方法及びコンピュータプログラム
JP2012029271A (ja) 暗号化装置、復号装置、暗号化システム、暗号化方法、プログラム
CN115396179A (zh) 基于区块链的数据传输方法、装置、介质及设备
JP2020141425A (ja) 端末装置、鍵提供システム、鍵生成方法及びコンピュータプログラム
JP6492785B2 (ja) 情報処理システム、情報処理方法、及び、情報処理プログラム
CN113381854B (zh) 数据传输方法、装置、设备和存储介质
JP2014212474A (ja) 秘密鍵配送方法
GB2573309A (en) Ciphertext based quorum cryptosystem
JP2018182398A (ja) 情報処理装置、機器、機器管理システム及び情報処理方法
JP6711522B2 (ja) 通信システム、通信装置、及び通信方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190726

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200423

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: 20200512

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200611

R150 Certificate of patent or registration of utility model

Ref document number: 6717730

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250