(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024118646
(43)【公開日】2024-09-02
(54)【発明の名称】鍵生成装置、鍵生成システム、鍵生成方法、鍵生成プログラム
(51)【国際特許分類】
H04L 9/08 20060101AFI20240826BHJP
H04L 9/14 20060101ALI20240826BHJP
【FI】
H04L9/08 B
H04L9/14
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2023025034
(22)【出願日】2023-02-21
(71)【出願人】
【識別番号】000003193
【氏名又は名称】TOPPANホールディングス株式会社
(74)【代理人】
【識別番号】100149548
【弁理士】
【氏名又は名称】松沼 泰史
(74)【代理人】
【識別番号】100139686
【弁理士】
【氏名又は名称】鈴木 史朗
(74)【代理人】
【識別番号】100169764
【弁理士】
【氏名又は名称】清水 雄一郎
(74)【代理人】
【識別番号】100147267
【弁理士】
【氏名又は名称】大槻 真紀子
(72)【発明者】
【氏名】浅野 之治
(57)【要約】
【課題】セキュリティを確保しつつ、新たな鍵の配送や登録にかかる負担を軽減する。
【解決手段】イシュアサーバから既に配送され第1の暗号アルゴリズムにおいて用いられる第1の鍵に基づいて、前記第1の暗号アルゴリズムとは異なる暗号アルゴリズムである第2の暗号アルゴリズムにおいて用いられる第2の鍵を生成する鍵生成部を有する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
イシュアサーバから既に配送され第1の暗号アルゴリズムにおいて用いられる第1の鍵に基づいて、前記第1の暗号アルゴリズムとは異なる暗号アルゴリズムである第2の暗号アルゴリズムにおいて用いられる第2の鍵を生成する鍵生成部
を有する鍵生成装置。
【請求項2】
前記第1の鍵は、異なる複数の鍵であり、
前記鍵生成部は、前記異なる複数の鍵を組み合わせることによって前記第2の鍵を生成する
請求項1に記載の鍵生成装置。
【請求項3】
前記第1の鍵は、異なる複数の鍵であり、
前記鍵生成部は、前記異なる複数の鍵のうち第3の鍵を構成するビットと、前記異なる複数の鍵のうち前記第3の鍵とは異なる第4の鍵を構成するビットと、が交互に並ぶようにして前記第2の鍵を生成する
請求項1に記載の鍵生成装置。
【請求項4】
前記鍵生成部は、ハッシュ関数を用いて前記第1の鍵からハッシュ値を生成し、生成されたハッシュ値の少なくとも一部を得ることで第2の鍵を生成する
請求項1に記載の鍵生成装置。
【請求項5】
前記第1の鍵は、イシュアサーバから配送された後、カード発行装置によってICカードの発行に用いられており、前記第2の鍵は、既に発行されたICカードではなく新規に発行されるICカードに格納される
請求項1から請求項4のうちいずれか1項に記載の鍵生成装置。
【請求項6】
前記鍵生成部は、第2の鍵として必要なビット数となるように前記第2の鍵を生成する
請求項5に記載の鍵生成装置。
【請求項7】
ICカードに鍵を格納するカード発行システムと、前記ICカードに格納された鍵を用いて演算された結果を検証するホスト認証システムと、を含む鍵生成システムであり、
前記カード発行システムは、
第1の暗号アルゴリズムにおいて用いられる第1の鍵を記憶する第1の記憶部と、
前記第1の記憶部に記憶された第1の鍵に基づいて、前記第1の暗号アルゴリズムとは異なる暗号アルゴリズムである第2の暗号アルゴリズムにおいて用いられる第2の鍵を生成する第1鍵生成部を有し、
前記ホスト認証システムは、
前記第1の暗号アルゴリズムにおいて用いられる第1の鍵を記憶する第2の記憶部と、
前記第1鍵生成部と同様の生成処理に従い、前記第2の記憶部に記憶された第1の鍵に基づいて、前記第2の暗号アルゴリズムにおいて用いられる第2の鍵を生成する第2鍵生成部を有する
鍵生成システム。
【請求項8】
鍵生成部が、イシュアサーバから既に配送され第1の暗号アルゴリズムにおいて用いられる第1の鍵に基づいて、前記第1の暗号アルゴリズムとは異なる暗号アルゴリズムである第2の暗号アルゴリズムにおいて用いられる第2の鍵を生成する
鍵生成方法。
【請求項9】
ICカードに鍵を格納するカード発行システムと、前記ICカードに格納された鍵を用いて演算された結果を検証するホスト認証システムと、を含む鍵生成システムにおいて実行される鍵生成方法であり、
前記カード発行システムの第1の記憶部が、
第1の暗号アルゴリズムにおいて用いられる第1の鍵を記憶し、
前記カード発行システムの第1鍵生成部が、
前記第1の記憶部に記憶された第1の鍵に基づいて、前記第1の暗号アルゴリズムとは異なる暗号アルゴリズムである第2の暗号アルゴリズムにおいて用いられる第2の鍵を生成し、
前記ホスト認証システムの第2の記憶部が、
前記第1の暗号アルゴリズムにおいて用いられる第1の鍵を記憶し、
前記ホスト認証システムの第2鍵生成部が、前記第1鍵生成部と同様の生成処理に従い、前記第2の記憶部に記憶された第1の鍵に基づいて、前記第2の暗号アルゴリズムにおいて用いられる第2の鍵を生成する
鍵生成方法。
【請求項10】
イシュアサーバから既に配送され第1の暗号アルゴリズムにおいて用いられる第1の鍵に基づいて、前記第1の暗号アルゴリズムとは異なる暗号アルゴリズムである第2の暗号アルゴリズムにおいて用いられる第2の鍵を生成する鍵生成ステップ
をコンピュータに実行させる鍵生成プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、鍵生成装置、鍵生成システム、鍵生成方法、鍵生成プログラムに関する。
【背景技術】
【0002】
クレジットカード、キャッシュカード等のIC(integrated circuit)カードでは、署名用の鍵(AC(Attribute Certificate)鍵)として共通鍵が利用されている。このようなICカードは、イシュアサーバによって生成された鍵がカード発行装置によってICカードに書き込まれることで発行される。そしてICカードを用いた決済等が行われると、ICカードは、ハッシュ関数を用いることで、取引の情報に応じたハッシュ値を求め、このハッシュ値に対して、鍵を用いた署名演算をし、ホスト認証サーバへ送信する。ホスト認証サーバは、署名演算の結果を、当該ICカードに対応する鍵を用いて検証することで、正当な取引であるか否かを判定する。そのため、鍵は、イシュアサーバ、カード発行装置、ホスト認証サーバのそれぞれに同じものが保管されている。
【0003】
このような、署名用の共通鍵の暗号アルゴリズムとして、現在、例えば、TripleDES(Data Encryption Standard)の2keyが用いられているが、セキュリティの観点から、より強固なAES(Advanced Encryption Standard)鍵への変更が求められている。
新たな鍵を用いる場合、イシュアにおいて新たにAES鍵を生成し、カード発行装置とホスト(ホスト認証サーバ)とに対して、同一の鍵値の登録が必要となる。また、イシュアが複数である場合、イシュア毎に、新たにAES鍵を生成し、カード発行装置とホスト認証サーバとに対して、同一の鍵値の登録をする必要がある。
【0004】
鍵を新たに登録する場合、例えば、イシュアサーバが新たに署名用の鍵を生成し、生成された鍵を安全に輸送できるように複数(例えば3つ)に分割したうえで、カード発行装置、およびホスト認証サーバに対して、高セキュア環境において配送し、それぞれ登録をする。配送経路において鍵が盗聴されると、なりすまし等の原因となり得るため、鍵の配送経路はセキュアな環境が求められている。
【0005】
記録媒体を回収することなく、この記録媒体に記憶された秘密情報を変更するシステムが特許文献1に記載されている(特許文献1参照)。
【先行技術文献】
【特許文献】
【0006】
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、全イシュアのそれぞれについて、異なる共通鍵を生成し、配送及び登録をする場合、その鍵の配送は、高セキュリティに行う必要がある。そのため、新たな鍵を高セキュリティに配送することは手間であり、費用も高くなるため、負担が大きい。
なお、特許文献1では、秘密情報をネットワークを介して送信しているため、高セキュリティに行う必要がある。
【0008】
本発明は、このような事情に鑑みてなされたもので、その目的は、セキュリティを確保しつつ、新たな鍵の配送や登録にかかる負担を軽減することができる鍵生成装置、鍵生成システム、鍵生成方法、鍵生成プログラムを提供することにある。
【課題を解決するための手段】
【0009】
上述した課題を解決するために、本発明の一態様は、イシュアサーバから既に配送され第1の暗号アルゴリズムにおいて用いられる第1の鍵に基づいて、前記第1の暗号アルゴリズムとは異なる暗号アルゴリズムである第2の暗号アルゴリズムにおいて用いられる第2の鍵を生成する鍵生成部を有する鍵生成装置である。
【0010】
また、本発明の一態様は、ICカードに鍵を格納するカード発行システムと、前記ICカードに格納された鍵を用いて演算された結果を検証するホスト認証システムと、を含む鍵生成システムであり、前記カード発行システムは、第1の暗号アルゴリズムにおいて用いられる第1の鍵を記憶する第1の記憶部と、前記第1の記憶部に記憶された第1の鍵に基づいて、前記第1の暗号アルゴリズムとは異なる暗号アルゴリズムである第2の暗号アルゴリズムにおいて用いられる第2の鍵を生成する第1鍵生成部を有し、前記ホスト認証システムは、前記第1の暗号アルゴリズムにおいて用いられる第1の鍵を記憶する第2の記憶部と、前記第1鍵生成部と同様の生成処理に従い、前記第2の記憶部に記憶された第1の鍵に基づいて、前記第2の暗号アルゴリズムにおいて用いられる第2の鍵を生成する第2鍵生成部を有する鍵生成システムである。
【0011】
また、本発明の一態様は、鍵生成部が、イシュアサーバから既に配送され第1の暗号アルゴリズムにおいて用いられる第1の鍵に基づいて、前記第1の暗号アルゴリズムとは異なる暗号アルゴリズムである第2の暗号アルゴリズムにおいて用いられる第2の鍵を生成する鍵生成方法である。
【0012】
また、本発明の一態様は、ICカードに鍵を格納するカード発行システムと、前記ICカードに格納された鍵を用いて演算された結果を検証するホスト認証システムと、を含む鍵生成システムにおいて実行される鍵生成方法であり、前記カード発行システムの第1の記憶部が、第1の暗号アルゴリズムにおいて用いられる第1の鍵を記憶し、前記カード発行システムの第1鍵生成部が、前記第1の記憶部に記憶された第1の鍵に基づいて、前記第1の暗号アルゴリズムとは異なる暗号アルゴリズムである第2の暗号アルゴリズムにおいて用いられる第2の鍵を生成し、前記ホスト認証システムの第2の記憶部が、前記第1の暗号アルゴリズムにおいて用いられる第1の鍵を記憶し、前記ホスト認証システムの第2鍵生成部が、前記第1鍵生成部と同様の生成処理に従い、前記第2の記憶部に記憶された第1の鍵に基づいて、前記第2の暗号アルゴリズムにおいて用いられる第2の鍵を生成する鍵生成方法である。
【0013】
また、本発明の一態様は、イシュアサーバから既に配送され第1の暗号アルゴリズムにおいて用いられる第1の鍵に基づいて、前記第1の暗号アルゴリズムとは異なる暗号アルゴリズムである第2の暗号アルゴリズムにおいて用いられる第2の鍵を生成する鍵生成ステップをコンピュータに実行させる鍵生成プログラムである。
【発明の効果】
【0014】
以上説明したように、この発明によれば、セキュリティを確保しつつ、新たな鍵の配送や登録にかかる負担を軽減することができる。
【図面の簡単な説明】
【0015】
【
図1】この発明の一実施形態による鍵生成システムSの構成を示す概略ブロック図である。
【
図2】DES鍵のKEY1とKEY2から、AES鍵を生成する場合の一例を示す図である。
【
図3】DES鍵のKEY1とKEY2から、AES鍵を生成する場合の一例を示す図である。
【
図4】カード発行装置20が第1の鍵から第2の鍵を生成する鍵生成処理を表すシーケンス図である。
【発明を実施するための形態】
【0016】
以下、本発明の一実施形態による鍵生成システムについて図面を参照して説明する。
図1は、この発明の一実施形態による鍵生成システムSの構成を示す概略ブロック図である。
鍵生成システムSは、イシュアサーバ10、カード発行装置20、ホスト認証サーバ30がネットワークNaを介して通信可能に接続される。
【0017】
イシュアサーバ10は、通信部101、記憶部102、鍵生成部103を有する。
通信部101は、カード発行装置20、ホスト認証サーバ30と通信を行う。
記憶部102は、各種情報を記憶する。例えば、記憶部102は、鍵を記憶する。ここで記憶される鍵は、例えば、第1の暗号アルゴリズムにおいて用いられる第1の鍵である。
第1の暗号アルゴリズムは、例えば、TripleDES(Data Encryption Standard)である。第1の鍵は1つの鍵であってもよいが、第1の暗号アルゴリズムがTripleDESである場合、TripleDESにおいて用いられる複数の鍵であってもよく、例えば、第1の鍵は2つの鍵(2key)を含む1組の鍵、または3つの鍵(3key)を含む1組の鍵であってもよい。この第1の鍵は、イシュアサーバ10において既に発行され記憶部102に記憶されているとともに、高セキュリティな環境が確保された上で、カード発行装置20とホスト認証サーバ30とに対して配送されており、また、第1の鍵がカード発行装置20によってICカードに書き込まれ、決済等に使用され、ホスト認証サーバ30によって検証等に用いられている。すなわち、この第1の鍵は、セキュアな環境下において既に安全に配送され、鍵の取り交わしがカード発行装置20とホスト認証サーバ30とに対して終了しており、ICカードに鍵が格納され、現役で利用されている鍵である。そして、本実施形態においては、このような既に安全に取り交わしが完了し利用されている鍵を鍵種として利用し、新たな鍵を生成する。
鍵生成部103は、鍵生成部203と同様の機能(後述する)を有しており、記憶部102に格納された第1の鍵を利用して第2の鍵を生成する。
【0018】
カード発行装置20は、通信部201、HSM(ハードウェアセキュリティモジュール)202、鍵生成部203、書き込み部204を有する。
通信部201は、イシュアサーバ10、ホスト認証サーバ30と通信を行う。
【0019】
HSM202は、耐タンパ性の高いモジュールである。例えば、HSM202は、ハードウェアセキュリティモジュール(HSM)である。HSM202ハードウェアセキュリティモジュールは、データの暗号化、復号および、デジタル署名と証明書の作成に使用される鍵の生成と記憶等をするモジュールである。ハードウェアセキュリティモジュールは、強い耐タンパ性を持ち、暗号化プロセスをセキュアに保つハードウェアデバイスである。
また、HSM202は、各種情報を記憶する。例えば、HSM202は、第1の暗号アルゴリズムにおいて用いられる第1の鍵を記憶する。このHSM202に記憶される第1の鍵は、イシュアサーバ10の記憶部102に記憶された第1の鍵と同様の鍵であり、セキュアな環境下において配送されて記憶されたものである。第1の暗号アルゴリズムがTripleDESである場合、第1の鍵は2つの鍵(2key)を含む1組の鍵、または3つの鍵(3key)を含む1組の鍵であってもよい。カード発行装置20は、この第1の鍵をICカードに書き込むことで既にICカードを発行しており、この第1の鍵が格納されたICカードは、決済等において既に利用されている。
【0020】
鍵生成部203は、第1の暗号アルゴリズムにおいて用いられる第1の鍵に基づいて、第1の暗号アルゴリズムとは異なる暗号アルゴリズムである第2の暗号アルゴリズムにおいて用いられる第2の鍵を生成する。鍵生成部203が利用する第1の鍵は、HSM202に記憶された第1の鍵である。
第2の暗号アルゴリズムは、例えば、AES(Advanced Encryption Standard)である。AESは、共通鍵暗号方式の暗号アルゴリズムの1つである。共通鍵暗号方式では、暗号化と復号の鍵が共通である。そのため、鍵生成部203は、第2の暗号アルゴリズムがAESである場合には、第2の鍵として1つの鍵を生成する。
【0021】
鍵生成部203は、第1の鍵を用いて第2の鍵を生成する場合、いくつかの生成方法のうちいずれか1つの生成方法に従って生成するようにしてもよい。生成方法としては、例えば、次のような生成方法がある。
【0022】
《生成方法その1》
鍵生成部203は、第1の鍵に含まれる異なる複数の鍵を組み合わせることによって第2の鍵を生成する。例えば、鍵生成部203は、TripleDESの2keyを組み合わせることによって第2の鍵を生成することができる。また、鍵生成部203は、TripleDESの3keyを組み合わせることによって第2の鍵を生成することができる。第1の鍵を組み合わせる場合、例えば、次の(1)と(2)のような方法がある。
(1)KEYを連結
図2に示すように、鍵生成部203は、TripleDESの2keyを順に並べて連結することで、第2の鍵を生成する。ここでは、2keyのkey1が先頭であり、key2が次の順となるように並べて連結することで第2の鍵(AES鍵)を生成してもよい。また、2keyのkey2が先頭であり、key1が次の順となるように並べて連結することで第2の鍵を生成してもよい。
鍵生成部203は、TripleDESの3keyを順に並べて連結することで、第2の鍵を生成するようにしてもよい。ここでは、鍵生成部203は、3keyのkey1が先頭であり、key2、key3の順、またはkey3、key2の順に並べて連結することで第2の鍵を生成してもよい。また、鍵生成部203は、3keyのkey2が先頭であり、key1、key3の順、またはkey3、key1の順に並べて連結することで第2の鍵を生成してもよい。また、鍵生成部203は、3keyのkey3が先頭であり、key1、key2の順、またはkey3、key1の順に並べて連結することで第2の鍵を生成してもよい。
【0023】
ここでAESの鍵長は128bit,192bit,256bitのうちいずれかを選択可能であるが、当面は128bit(16byte)の鍵長となることが考えられる。またDESの鍵長は64bit(8byte)であるため、TripleDESの2keyではKEY1=8byte,KEY2=8byteである。このDESの鍵は、イシュアサーバ10からカード発行装置20とホスト認証サーバ30に対して既に安全に取り交わしが完了している署名用の共通鍵(AC鍵)である。
【0024】
鍵生成部203は、このようなDES鍵のKEY1=8byte,KEY2=8byteをHSM202から読み出し、これを連結することで、16byteとしたうえで、暗号アルゴリズムをDESからAESへ変更し、HSM202に追加で記憶させる。
ここでは、AESの鍵長が128bitである場合、DESの2KEY(KEY1=8byte,KEY=8byte)を連結することで、鍵長が128bitである鍵を得ることができ、AESの鍵として用いることができる。
また、鍵生成部203は、AESの鍵長が192bitである場合、DES鍵の2keyについては、2つのKEYのうち1つまたは異なるKEYが含まれるように3つ連結することで、192bitのデータ列を得ることができ、AES鍵を生成することができる。
また、鍵生成部203は、AESの鍵長が256bitである場合、DES鍵の2keyについては、2つのKEYのうち1つまたは異なるKEYが含まれるように4つ連結することで、256bitのデータ列を得ることで、AES鍵を生成することができる。
【0025】
また、鍵生成部203は、AESの鍵長が192bitである場合、DES鍵の3keyについては、3つのKEYのうち1つまたは異なる2つ以上のKEYが含まれるように3つ連結することで、192bitのデータ列を得ることができ、AES鍵を生成することができる。
また、鍵生成部203は、AESの鍵長が256bitである場合、DES鍵の3keyについては、3つのKEYのうち1つまたは異なる2つ以上のKEYが含まれるように4つ連結することで、256bitのデータ列を得ることで、AES鍵を生成することができる。
【0026】
(2)KEYを構成する要素を並べる
鍵生成部203は、第1の鍵(例えばDES鍵)として用いられる異なる複数の鍵(2KEYまたは3KEY)のうち、第3の鍵(2KEYの場合にはKEY1またはKEY2、3KEYの場合にはKEY1、KEY2、KEY3のいずれか)を構成するビットと、異なる複数の鍵のうち、第3の鍵とは異なる第4の鍵(第3の鍵として用いられた鍵とは異なる鍵であって、2KEYの場合にはKEY1またはKEY2、3KEYの場合にはKEY1、KEY2、KEY3のいずれか)を構成するビットとが交互に並ぶようにして第2の鍵を生成する。
【0027】
図3は、DES鍵のKEY1とKEY2から、AES鍵を生成する場合の一例を示す図である。この図においては、AES鍵は、DES鍵のKEY1の1ビット目、DES鍵のKEY2の1ビット目、DES鍵のKEY1の2ビット目、DES鍵のKEY2の2ビット目、のように、DES鍵のKEY1とKEY2の各ビットが交互になるように配置されることでAES鍵が生成される。
ここでは、1ビットずつ交互になるように配列される場合について図示されているが、2ビットずつ交互のなるように配列してもよい。すなわち、DES鍵を構成する要素(1ビットまたは複数ビットのグループ単位)が交互になるように配列されていればよい。
【0028】
《生成方法その2》
鍵生成部203は、ハッシュ関数を用いて第1の鍵からハッシュ値を生成し、生成されたハッシュ値の少なくとも一部を得ることで第2の鍵を生成する。第1の鍵としては、DES鍵の2KEYである場合、2KEYの少なくともいずれか1つをハッシュ関数に入力することで、ハッシュ値を求め、得られたハッシュ値の一部を抽出することでAES鍵として得るようにしてもよい。ハッシュ値の一部を抽出する場合、ハッシュ値の先頭のビットから、AESの鍵長に応じたビット数を抽出することでAES鍵として得るようにしてもよい。また、ハッシュ値の一部を抽出する場合、ハッシュ値の先頭ではなく、2ビット目以降のうちいずれかのビットを基点として抽出するようにしてもよい。すなわち、鍵生成部203は、ハッシュ値の一部を抽出する場合、第2の鍵として必要なビット数をとなるように抽出することで、第2の鍵を生成するようにしてもよい。
この生成方法2では、第2の鍵の鍵長が様々な鍵長であったとしても対応することが可能となる。
【0029】
なお、生成方法その1と生成方法その2とを組み合わせるようにしてもよい。例えば、鍵生成部203は、生成方法その1に従ってDES鍵を連結した上で、連結されたデータを生成方法その2に従ってハッシュ関数を実施し、演算結果の先頭から、第2の鍵として必要なnバイトを抽出することで、第2の鍵を得るようにしてもよい。
また、生成方法その1と生成方法その2とにおいて、第1の鍵に含まれる全てのデータを利用して第2の鍵を生成してもよく、第1の鍵に含まれる一部のデータを利用して第2の鍵を生成してもよい。
【0030】
鍵生成部203は、生成された第2の鍵をHSM202に追加で記憶させる。
【0031】
書き込み部204は、生成された第2の鍵をHSM202から読み出してICカード40に書き込むことで、ICカード40を発行する。書き込み部204は、書き込む対象のICカード40が複数の場合には、ICカード40毎にそれぞれ異なる第2の鍵を書き込む。
ここで、第1の鍵は、イシュアサーバから配送された後、カード発行装置によってICカードの発行のために既に用いられている。書き込み部204は、第2の鍵を、既に発行されたICカードではなく新規に発行されるICカード40に格納する。この場合、第1の鍵が格納され既に発行されているICカードの他に、第1の鍵を元に生成された第2の鍵が格納されたICカード40が新たに発行されたとしても、第1の鍵と第2の鍵は異なるものであり、重複することがないため、どちらのICカードも利用可能である。
【0032】
上述のHSM202と鍵生成部203は、カード発行装置20に搭載された場合について説明されているが、HSM202と鍵生成部203との組み合わせを鍵生成システム(鍵変換システム)として構成し、カード発行装置20の外部に接続されるようにしてもよい。
【0033】
ホスト認証サーバ30は、通信部301、HSM302、鍵生成部303、検証部304を有する。
通信部301は、イシュアサーバ10、カード発行装置20と通信を行う。
【0034】
HSM302は、耐タンパ性の高いモジュールである。例えば、HSM302は、HSM202と同様に、ハードウェアセキュリティモジュール(HSM)である。
HSM302は、各種情報を記憶する。例えば、HSM302は、第1の暗号アルゴリズムにおいて用いられる第1の鍵を記憶する。このHSM302に記憶される第1の鍵は、イシュアサーバ10の記憶部102に記憶された第1の鍵、及びカード発行装置20のHSM202と同様の鍵であり、セキュアな環境下において配送されて記憶されたものである。
鍵生成部303は、鍵生成部203と同様の機能を有しており、HSM302に格納された第1の鍵を利用して第2の鍵を生成する。
検証部304は、ホスト認証サーバは、署名演算の結果を、当該ICカードに対応する鍵を用いて検証することで、正当な取引であるか否かを判定する。
【0035】
上述のHSM302と鍵生成部303は、ホスト認証サーバ30に搭載された場合について説明されているが、HSM302と鍵生成部303との組み合わせを鍵生成システム(鍵変換システム)として構成し、ホスト認証サーバ30の外部に接続されるようにしてもよい。
【0036】
ICカード40は、カード発行装置20によって書き込まれる鍵を格納する。また、ICカード40は、決済等の取引が行われると、取引内容を示す取引データからハッシュ関数を用いてハッシュ値を生成し、ホスト認証サーバ30にカードリーダ及びネットワークNbを介して送信する。ネットワークNaとネットワークNbは、同じネットワークであってもよいし、異なるネットワークであってもよい。
【0037】
上述の鍵生成部103、鍵生成部203、鍵生成部303は、例えばCPU(中央処理装置)等の処理装置若しくは専用の電子回路で構成されてよい。
【0038】
次に、第1の鍵から第2の鍵を生成する鍵生成処理について説明する。
図4は、カード発行装置20が第1の鍵から第2の鍵を生成する鍵生成処理を表すシーケンス図である。
【0039】
鍵生成部203は、第1の鍵となるイシュアがいずれであるかを指定するとともに、ZMK(鍵値暗号化用の鍵)を指定し、署名鍵(TripleDES 2key)のエクスポート依頼をHSM202に送信する(ステップS101)。
HSM202は、鍵生成部203から指定されたイシュアの署名鍵について、指定されたZMKを用いて署名鍵(TripleDES 2key)を暗号化し、暗号化された状態の署名鍵(TripleDES 2key)を鍵生成部203に出力することで返却する(ステップS102)。
【0040】
鍵生成部203は、暗号化された署名鍵をHSM202から取得すると、暗号化された署名鍵をZMKに基づいて復号することで、平文の署名鍵(TripleDES 2key)を取得する。ここで取得される署名鍵は、例えばKEY1,KEY2である(ステップS103)。
【0041】
鍵生成部203は、KEY1,KEY2からAES鍵を生成し、KEY_AESとする(ステップS104)。
鍵生成部203は、AES鍵を生成する場合、例えば、DES鍵のKEY1=8byte, KEY2=8byteを連結し、128bit(16byte)の鍵を生成することで、AES鍵を生成する。ここでは、単に連結するだけでなく、KEY1とKEY2のビットを交互に並べる、ハッシュ関数を用いる等、決まった手順で変形させてもよい。
【0042】
鍵生成部203は、暗号アルゴリズムAES 128bit(16byte)の鍵長としてKEY_AESをHSM202に送信することでHSM202に登録する(ステップS105)。
HSM202は、登録が完了すると、登録完了の通知を鍵生成部203に出力する(ステップS106)。
【0043】
以上説明した処理については、イシュアが複数ある場合には、各イシュアについてそれぞれ同様に実行するようにしてもよい。
【0044】
図4に基づく鍵生成処理が終了すると、鍵書き込み部204は、この鍵生成処理によって生成されたAES鍵をICカード40に書き込むことで、AES鍵を利用可能に格納されたICカード40を発行することができる。
【0045】
なお、
図4では、カード発行装置20が第1の鍵から第2の鍵を生成する鍵生成処理について説明したが、ホスト認証サーバ30が第1の鍵から第2の鍵を生成する鍵生成処理についても、
図4と同様の処理手順に従って実行することができる。また、イシュアサーバ10が、第1の鍵から第2の鍵を生成する鍵生成処理についても、
図4と同様の処理手順に従って実行することができる。この鍵生成処理において、鍵の生成方法は上述したように複数種類あるが、ホスト認証サーバ30が鍵生成処理を行う生成方法は、カード発行装置20が鍵生成処理をする生成方法と同じ生成方法であり、イシュアサーバ10が鍵生成処理を行う生成方法は、カード発行装置20が鍵生成処理をする生成方法と同じ生成方法である。
【0046】
すなわち、ホスト認証サーバ30の鍵生成部303は、カード発行装置20の鍵生成部203と同様の生成処理に従い、HSM302に記憶された第1の鍵に基づいて、第2の暗号アルゴリズムにおいて用いられる第2の鍵を生成する。イシュアサーバ10の鍵生成部103は、カード発行装置20の鍵生成部203と同様の生成処理に従い、記憶部102に記憶された第1の鍵に基づいて、第2の暗号アルゴリズムにおいて用いられる第2の鍵を生成する。
ここで、カード発行装置20とホスト認証サーバ30との間、及び、カード発行装置20とイシュアサーバ10との間において、鍵の生成方法を共有しておく必要があるが、鍵の生成方法を共有する場合、ネットワークNaを介してカード発行装置20から通知することによって予め共有しておく。いずれの鍵の生成方法を適用するかについては、イシュアサーバ10、カード発行装置20、ホスト認証サーバ30のいずれが決定してもよく、鍵の生成方法を決定元から他の装置等へ通知できればよい。
鍵の生成方法を通知する、セキュアな環境において通知することが好ましいが、仮にセキュリティのレベルが必ずしも高くない環境において通知したとしても、通知される内容は鍵の生成方法のみであり、第1の鍵そのものではない。そのため、第2の鍵を推定されることを防止することができる。
なお、ホスト認証サーバ30とイシュアサーバ10とが第2の鍵を生成する処理はカード発行装置20が第2の鍵を生成する処理と同じであるため、その説明を省略する。
【0047】
以上説明した実施形態によれば、現在既に利用されているDES鍵を活用することで、各イシュアのAES鍵の生成及び鍵の配送が不要となる。すなわち、DES鍵からAES鍵への変更システムを、カード発行装置20側およびホスト認証サーバ30に組み込むことで、各イシュアとの鍵交換は不要とした上で、新たな鍵を生成し、共有することができる。また、複数のイシュア毎に異なる共通鍵(AES鍵)の生成、鍵の配送の手間を省くことができる。また、鍵を配送する必要がないため、新たな鍵を生成するにあたり、鍵の配送に伴って、鍵値は盗難、暴露されてしまうリスクを回避することができ、なりすまし等を回避することができる。
【0048】
なお上述した実施形態において、イシュアサーバ10の記憶部102は、HSM(ハードウェアセキュリティモジュール)であってもよい。
【0049】
また、第2の鍵(AES鍵)が正常に生成されたか否かの確認については、生成されたAES鍵をICカード40に格納し、サンプルとなる取引情報からハッシュ値を求め、このハッシュ値に対して第2の鍵を用いた署名演算をし、ホスト認証サーバ30に送信することで、ホスト認証サーバ30において署名演算された結果を正常に復号できるかどうかを確認するようにしてもよい。
【0050】
上述した実施形態におけるイシュアサーバ10、カード発行装置20、ホスト認証サーバ30をコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、FPGA(Field Programmable Gate Array)等のプログラマブルロジックデバイスを用いて実現されるものであってもよい。
【0051】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【0052】
10…イシュアサーバ、20…カード発行装置、30…ホスト認証サーバ、40…ICカード、101…通信部、102…記憶部、103…鍵生成部、201…通信部、202…HSM(ハードウェアセキュリティモジュール)、203…鍵生成部、204…書き込み部、301…通信部、302…HSM(ハードウェアセキュリティモジュール)、303…鍵生成部、304…検証部、Na,Nb…ネットワーク、S…鍵生成システム