JP2015061267A - 鍵生成制御装置及び鍵生成格納システム - Google Patents

鍵生成制御装置及び鍵生成格納システム Download PDF

Info

Publication number
JP2015061267A
JP2015061267A JP2013195351A JP2013195351A JP2015061267A JP 2015061267 A JP2015061267 A JP 2015061267A JP 2013195351 A JP2013195351 A JP 2013195351A JP 2013195351 A JP2013195351 A JP 2013195351A JP 2015061267 A JP2015061267 A JP 2015061267A
Authority
JP
Japan
Prior art keywords
key
generation
output request
unit
control device
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.)
Pending
Application number
JP2013195351A
Other languages
English (en)
Inventor
克彦 平松
Katsuhiko Hiramatsu
克彦 平松
塚田 聖次
Seiji Tsukada
聖次 塚田
政宏 小林
Masahiro Kobayashi
政宏 小林
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.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon Printing Co Ltd
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 Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Priority to JP2013195351A priority Critical patent/JP2015061267A/ja
Publication of JP2015061267A publication Critical patent/JP2015061267A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】鍵生成を柔軟に行うことができ、かつ、鍵生成にかかる処理時間を短縮できる鍵生成制御装置及び鍵生成格納システムを提供する。
【解決手段】鍵生成制御サーバ1は、鍵DB3に予めストックしておく鍵に関する鍵情報に基づいて、鍵の生成を指示する鍵生成指示部11と、鍵生成指示部11の指示により生成された鍵を取得して、鍵DB3に格納する鍵格納部12と、データ処理サーバから鍵の出力要求を受信した場合に、出力要求に対応する鍵を、出力要求に応じて鍵DB3から取得し、及び出力要求に対応する鍵の生成を指示することで取得する鍵取得部14と、を備える。
【選択図】図2

Description

本発明は、鍵生成制御装置及び鍵生成格納システムに関する。
ICカードのカード発行において、ICカードに書き込むための鍵が必要である。その鍵を生成する作業は、カード発行データを作成する際に行われるものであった(例えば、特許文献1)。
また、鍵の生成作業は、鍵長(暗号の計算に用いる暗号鍵のデータ量)に応じて時間がかかるものであるため、処理時間を短縮するための鍵生成に関する技術が開示されている(例えば、特許文献2)。
特開2005−38419号公報 特開2013−51619号公報
ここで、特許文献1に記載のようなシステムにおいて、ICチップ等のセキュアな記憶媒体に書き込む鍵は、カード発行データを生成する過程で様々な種別の鍵が必要になる。しかも、鍵の生成要求は、逐次行われるものであり、処理時間を短縮するためには、鍵生成に時間を要する様々な種別の鍵を、多く保存する必要がある。しかし、特許文献2に記載のものは、鍵をその装置の通信で使用するものであったので、使用する鍵の種別が限定されるものであり、また、その装置の電源投入時に存在しない鍵を種別ごとに1つ作成すれば十分なものであった。
そこで、本発明は、鍵の生成を柔軟に行うことができ、かつ、鍵生成にかかる処理時間を短縮できる鍵生成制御装置及び鍵生成格納システムを提供することを目的とする。
本発明は、以下のような解決手段により、前記課題を解決する。なお、理解を容易にするために、本発明の実施形態に対応する符号を付して説明するが、これに限定されるものではない。また、符号を付して説明した構成は、適宜改良してもよく、また、少なくとも一部を他の構成物に代替してもよい。
第1の発明は、鍵記憶部(3)に予めストックしておく鍵に関する鍵情報に基づいて、前記鍵の生成を指示する鍵生成指示部(11)と、前記鍵生成指示部の指示により生成された前記鍵を取得して、前記鍵記憶部に格納する鍵格納部(12)と、外部(6)から鍵の出力要求を受信した場合に、前記出力要求に対応する鍵を、前記出力要求に応じて前記鍵記憶部から取得し、及び前記出力要求に対応する鍵の生成を指示することで取得する鍵取得部(14)と、を備えること、を特徴とする鍵生成制御装置(1)である。
第2の発明は、第1の発明の鍵生成制御装置(1)において、前記鍵情報は、複数の種別の各鍵に対応したものであり、前記鍵取得部(14)は、前記鍵情報を参照して、前記出力要求に対応する鍵が、前記鍵記憶部に記憶されているべきか否かを判定する鍵判定部(14a)と、前記鍵判定部により前記鍵記憶部(3)に記憶されているべきであると判定されたことに応じて、前記鍵記憶部から前記鍵を取得する生成済鍵取得部(14b)と、前記鍵判定部により前記鍵記憶部に記憶されているべきではないと判定されたことに応じて、前記出力要求に対応する鍵の生成を指示することで、生成された前記鍵を取得する逐次鍵取得部(14c)と、を有すること、を特徴とする鍵生成制御装置である。
第3の発明は、第2の発明の鍵生成制御装置(1)において、前記生成済鍵取得部(14b)は、前記鍵記憶部(3)に前記鍵のストックがない場合には、前記出力要求に対応する鍵の生成を指示することで、生成された前記鍵を取得すること、を特徴とする鍵生成制御装置である。
第4の発明は、第2の発明又は第3の発明鍵生成制御装置(1)において、前記出力要求は、外部(6)からの通信を識別する通信識別情報を有し、前記出力要求に対する応答データであって、前記鍵を含む前記応答データを、前記外部に送信する応答データ送信部(16)を備え、前記応答データ送信部は、前記生成済鍵取得部(14b)により前記鍵記憶部(3)から前記鍵を取得した場合には、前記出力要求に対する応答になるように通信識別情報を付け直した前記応答データを、前記外部に送信すること、を特徴とする鍵生成制御装置のである。
第5の発明は、第1の発明から第4の発明までのいずれかの鍵生成制御装置(1)において、前記鍵取得部(14)は、前記鍵情報を有しない鍵の生成状況を、生成状況記憶部(22)に記憶し、前記生成状況記憶部に記憶された前記生成状況が所定の条件を満たすことに応じて、その鍵の種別に対応した鍵情報を新たに追加する鍵情報追加部(18a)を備えること、を特徴とする鍵生成制御装置である。
第6の発明は、第5の発明の鍵生成制御装置(1)において、前記生成状況記憶部(22)に記憶する前記生成状況は、前記出力要求及び前記出力要求に対応する鍵の生成結果情報と、前記鍵の生成の指示からその鍵を取得するまでの鍵生成時間とに関するものであること、を特徴とする鍵生成制御装置である。
第7の発明は、第1の発明から第6の発明までのいずれかの鍵生成制御装置(1)において、前記鍵生成指示部(11)による前記鍵の生成の指示からその鍵を取得するまでの鍵生成時間に基づいてストックする前記鍵の保管数を算出し、前記鍵の種別に対応した前記鍵情報に算出した前記保管数を記憶させる鍵情報更新部(18b)を備えること、を特徴とする鍵生成制御装置である。
第8の発明は、第1の発明から第7の発明までのいずれかの鍵生成制御装置(1)において、前記鍵生成指示部(11)は、前記出力要求に対する処理状況に応じて、前記鍵の生成を指示する度合いを調整して、前記鍵の生成を指示すること、を特徴とする鍵生成制御装置である。
第9の発明は、第1の発明から第8の発明までのいずれかの鍵生成制御装置(1)において、前記鍵の生成指示を、HSM(Hardware Security Module)(4)に対して行うことで、HSMが生成した前記鍵を取得すること、を特徴とする鍵生成制御装置である。
第10の発明は、第1の発明から第9の発明までのいずれかの鍵生成制御装置(1)と、前記鍵の出力要求を抽出し、前記鍵生成制御装置に対して前記鍵の出力要求を送信する出力要求送信装置(6)と、前記鍵生成制御装置から前記鍵を含む応答データを受信して、前記鍵を、ユーザが携行可能な装置(9)のセキュアな記憶領域に格納させる応答データ処理装置(6,8)と、を備える鍵生成格納システム(100)である。
本発明によれば、鍵生成を柔軟に行うことができ、かつ、鍵生成にかかる処理時間を短縮できる鍵生成制御装置及び鍵生成格納システムを提供することができる。
本実施形態に係るICカード発行システムの全体構成を示す図である。 本実施形態に係る鍵生成制御サーバ及び鍵DBの機能ブロックを示す図である。 本実施形態に係る鍵情報テーブル及び鍵テーブルの例を示す図である。 本実施形態に係る鍵生成制御サーバのストック処理を示すフローチャートである。 本実施形態に係るICカードデータ処理の流れを示す図である。 本実施形態に係る出力要求及び応答データの説明のための図及び生成状況記憶部の例を示す図である。 本実施形態に係る鍵生成制御サーバの出力要求処理を示すフローチャートである。 本実施形態に係る鍵生成制御サーバの鍵情報メンテナンス処理を示すフローチャートである。
以下、本発明を実施するための形態について、図を参照しながら説明する。なお、これは、あくまでも一例であって、本発明の技術的範囲はこれに限られるものではない。
(実施形態)
図1は、本実施形態に係るICカード発行システム100の全体構成を示す図である。
ICカード発行システム100(鍵生成格納システム)は、券面に氏名等を印字しておらず、ICチップ9aにデータが入っていない空のICカード9を、例えば、クレジットカードやキャッシュカードの機能を有するものにするために、発行処理を行うシステムである。
ICカード発行システム100は、データ生成サーバ5、データ処理サーバ6(出力要求送信装置、応答データ処理装置)、鍵生成システム7、ICカード発行機8(応答データ処理装置)等を備える。
データ生成サーバ5は、入力ファイルを生成するサーバである。入力ファイルは、出力ファイルに含まれるカード発行データの元データであり、1枚のICカード9に関するデータを1レコードとしたレコードの集合体である。カード発行データとは、空のICカード9を、クレジットカードやキャッシュカードの機能を有するものにするためのデータをいう。カード発行データは、空のICカード9の媒体(カード券面、ICチップ9a)に発行処理を行う際に用いる。データ生成サーバ5は、生成した入力ファイルを、データ処理サーバ6に送信する。
データ処理サーバ6は、入力ファイルを解釈するプログラムを有する。そして、データ処理サーバ6は、データ生成サーバ5から受信した入力ファイルを1レコードずつ処理して、コマンドを生成する。生成したコマンドに、鍵の出力要求がある場合には、データ処理サーバ6は、出力要求を、鍵生成システム7に送信する。そして、データ処理サーバ6は、生成された鍵を含む応答データを、鍵生成システム7から受信し、その鍵を含む出力ファイルを作成する。なお、鍵の出力要求とは、鍵が必要である旨を表すタグをいう。また、出力ファイルは、1枚のICカード9に関するカード発行データを1レコードとしたレコードの集合体である。
鍵生成システム7は、鍵を生成し、データ処理サーバ6からの出力要求に応じた鍵を出力する。ここで、鍵とは、公開鍵暗号方式のRSA(Rivest Shamir Adleman)を使用した暗号鍵をいう。鍵生成システム7は、高いセキュリティを維持する領域に構築され、外部からのアクセスを、データ処理サーバ6だけ許容するように制限している。鍵生成システム7は、鍵生成制御サーバ1(鍵生成制御装置)と、鍵DB(データベース)3と、HSM(Hardware Security Module)4とを備える。
鍵生成制御サーバ1は、鍵の生成に関する制御を行う。
鍵DB3は、HSM4によって予め生成した鍵をストックするデータベースである。また、鍵DB3は、ストックする鍵の種別を記憶する。
HSM4は、暗号鍵等の秘密鍵の生成及び管理をするハードウェアである。HSM4は、耐タンパ性を備えるので、セキュリティレベルが高い。
ICカード発行機8は、データ処理サーバ6から受信した出力ファイル中のカード発行データを使用して、空のICカード9に対して発行処理をすることで、クレジットカードやキャッシュカードの機能を有するICカード9を発行する。
ICカード発行機8は、カード発行データのうち、ICカード9の券面に印字するデータを用いて、空のICカード9の券面にクレジットカード番号や氏名等を印字する。また、ICカード9は、ICチップ9aを備えており、ICカード発行機8は、カード発行データのうちICチップ9aに書き込むデータを用いて、空のICカード9のICチップ9aに鍵を含む各種データを書き込む。
本実施形態では、データ生成サーバ5、データ処理サーバ6、鍵生成システム7、ICカード発行機8は、カード製造会社の工場に設置されており、ICカード発行機8は、出力ファイルに基づき大量(複数枚)の空のICカード9に対して発行処理をするものとして説明する。
次に、鍵生成システム7について詳細に説明する。
図2は、本実施形態に係る鍵生成制御サーバ1及び鍵DB3の機能ブロックを示す図である。
図3は、本実施形態に係る鍵情報テーブル32及び鍵テーブル31の例を示す図である。
鍵生成制御サーバ1は、制御部10、記憶部20、通信I/F(インタフェース)部29等を備える。
制御部10は、鍵生成制御サーバ1の全体を制御するCPU(中央処理装置)である。制御部10は、記憶部20に記憶されているオペレーティングシステム(OS)や各種アプリケーションプログラムを適宜読み出して実行することにより、上述したハードウェアと協働し各種機能を実行する。
制御部10は、鍵生成指示部11、鍵格納部12、鍵取得部14、応答データ送信部16、鍵情報処理部18等を備える。
鍵生成指示部11は、予め鍵DB3にストックする鍵の生成を、HSM4に対して指示する。
鍵格納部12は、鍵生成指示部11の指示によりHSM4が生成した鍵を、鍵DB3に格納する。
鍵取得部14は、データ処理サーバ6から受信した鍵の出力要求に応じて、鍵を取得する。
鍵取得部14は、鍵判定部14a、生成済鍵取得部14b、逐次鍵取得部14c等を備える。
鍵判定部14aは、鍵情報を参照して、出力要求に対応する鍵が、鍵DB3の鍵テーブル31に記憶されているべきか否かを判定する。
鍵情報は、鍵に関する様々な情報であり、図3(A)に示す鍵DB3の鍵情報テーブル32に記憶されている各レコードである。鍵情報は、例えば、鍵の出力要求のタグに含まれるコマンド、鍵の種別、鍵の有効日数、生成性能、最大保管数(鍵の保管数)、現保管数等の各項目を有する。なお、鍵情報テーブル32の各レコードは、鍵生成システム7の管理者により入力することもできる(図3(A)のコマンドが「7E43」、「8D21」のレコード)が、後述するように、自動で作成することもできる(図3(A)のコマンドが「7E44」、「8D22」、「8D23」のレコード)。鍵の種別及び鍵有効日数は、管理者が入力する項目である。
図2に戻り、鍵判定部14aは、出力要求の所定位置の文字列(後述する)が、鍵情報のコマンドに一致するか否かにより、出力要求に対応する鍵が、鍵DB3に記憶されているべきか否かを判定する。
例えば、出力要求の所定位置の文字列が「7E43」である場合には、鍵情報テーブル32のコマンド「7E43」に一致する(図3(A)(#1))。よって、鍵判定部14aは、鍵DB3に記憶されているべきであると判定する。
生成済鍵取得部14bは、鍵判定部14aにより鍵DB3に記憶されているべきであると判定されたことに応じて、鍵DB3から鍵を取得する。なお、生成済鍵取得部14bは、鍵DB3に記憶されているべき鍵が鍵DB3にない場合、つまり、その鍵が本来鍵DB3のストック対象にもかかわらず、ストックされていない場合には、生成済鍵取得部14bは、鍵の生成をHSM4に指示して、HSM4から鍵を取得する。
例えば、出力要求の所定位置の文字列が「7E44」である場合には、鍵情報テーブル32のコマンド「7E44」に一致する(図3(A)(#2))ので、鍵判定部14aは、鍵DB3に記憶されているべきであると判定する。しかし、鍵情報テーブル32のコマンド「7E44」の現保管数が「0」であるので、この鍵は、ストック対象であるにもかかわらず、鍵がストックされていない状態である。よって、生成済鍵取得部14bは、鍵の生成をHSM4に指示して、HSM4から鍵を取得する。
逐次鍵取得部14cは、鍵判定部14aにより鍵DB3に記憶されているべきではないと判定されたことに応じて、鍵の生成をHSM4に指示して、HSM4から鍵を取得する。また、逐次鍵取得部14cは、生成状況を記憶部20に記憶させる。
例えば、出力要求の所定位置の文字列が「7E45」である場合には、鍵情報テーブル32には、一致するコマンドを有していない(図3(A)参照)。よって、鍵判定部14aは、鍵DB3に記憶されているべきではないと判定し、逐次鍵取得部14cは、「7E45」に対応する鍵の生成をHSM4に指示して、HSM4から鍵を取得する。
応答データ送信部16は、鍵取得部14において取得した鍵を含む応答データを生成して、データ処理サーバ6に対して送信する。
鍵情報処理部18は、鍵情報の追加及び更新を行う。
鍵情報処理部18は、鍵情報追加部18a、鍵情報更新部18b等を備える。
鍵情報追加部18aは、鍵情報を新たに追加する。
鍵情報更新部18bは、鍵情報を更新する。
これらの処理の詳細は、後述する。
記憶部20は、制御部10が各種の処理を実行するために必要なプログラム、データ等を記憶するためのハードディスク、半導体メモリ素子等の記憶領域である。
記憶部20は、鍵生成制御プログラム21と、生成状況記憶部22とを備える。
鍵生成制御プログラム21は、鍵生成制御サーバ1の制御部10の各種機能を実行するためのプログラムである。
生成状況記憶部22は、生成状況を一時的に記憶するテンポラリな記憶領域である。生成状況として、出力要求、応答データ、生成処理時間の各項目を記憶する(図6(B)参照)。
通信I/F部29は、鍵DB3、HSM4、データ処理サーバ6との間の通信を行うためのインタフェース部であり、送信部及び受信部の役割を行う。
鍵DB3は、予め生成した鍵をストックするためのデータベースである。鍵DB3と、鍵生成制御サーバ1との間では、SQL文を用いてデータ処理を行う。
鍵DB3は、鍵テーブル31、鍵情報テーブル32等を記憶する。
鍵テーブル31は、予め生成した鍵をストックしておくテーブルである。
図3(B)に示すように、鍵テーブル31は、管理番号、コマンド、作成日、鍵値の各項目を有する。管理番号は、鍵を特定する重複しない番号である。コマンドは、出力要求に含まれ、鍵の種別を表す。作成日は、鍵を生成した日付である。鍵値は、HSM4で生成した鍵の値であり、暗号化されたものである。
鍵情報テーブル32は、ストックする鍵に関する鍵情報を記憶するテーブルである(図3(A)参照)。
次に、鍵DB3の鍵テーブル31に、図3(B)に示すように予め鍵をストックする処理について説明する。
図4は、本実施形態に係る鍵生成制御サーバ1のストック処理を示すフローチャートである。
この処理は、例えば、所定の時間間隔(例えば、1日おき)で行う。
ステップS(以下、「S」という。)101において、制御部10は、出力要求に対する処理中であるか否かを判定する。出力要求に対する処理中である場合(S101:YES)には、制御部10は、本処理を終了する。つまり、出力要求に対する処理中である場合には、鍵生成制御サーバ1に負荷をかけずに、処理中である出力要求を早急に行わせるために、制御部10は、ストック処理を行わない。
他方、出力要求に対する処理中ではない場合(S101:NO)には、制御部10は、処理をS102に移す。
S102において、制御部10は、鍵DB3の鍵情報テーブル32をダウンロードして、記憶部20に記憶させる。
S103において、制御部10は、記憶部20に記憶させた鍵情報テーブルを参照して、1つの鍵情報を選択する。つまり、鍵の種別が1つ選択される。
S104において、制御部10は、選択した1つの鍵情報の最大保管数がブランク(空欄)であるか否かを判定する。後述する鍵情報メンテナンス処理によって追加された鍵情報であって、更新されていない場合には、最大保管数がブランクである(図3(A)(#3)参照)。最大保管数がブランクである場合(S104:YES)には、制御部10は、処理をS110に移す。他方、最大保管数がブランクではない場合(S104:NO)には、制御部10は、処理をS105に移す。
S105において、制御部10は、記憶部20に記憶されている鍵情報テーブルを参照して、該当の鍵情報に対応する鍵の数が、最大保管数だけストックされているか否かを判断する。最大保管数だけストックされている場合(S105:YES)には、制御部10は、処理をS106に移す。最大保管数だけストックされていない場合(S105:NO)には、制御部10は、処理をS108に移す。
S106において、制御部10は、記憶部20に記憶されている鍵情報テーブル中の全ての鍵情報について処理を行ったか否かを判断する。全ての鍵情報について処理を行った場合(S106:YES)には、制御部10は、処理をS107に移す。つまり、これは、ストック対象の鍵について、全て最大保管数だけストックされている状態になった場合である。全ての鍵情報について処理を行っていない場合(S106:NO)には、制御部10は、処理をS103に移し、未処理の鍵情報について再度処理を行う。
S107において、制御部10は、記憶部20に記憶されている鍵情報テーブルの内容を、鍵DB3の鍵情報テーブル32にアップロードする。その後、制御部10は、本処理を終了する。これは、記憶部20に記憶されている鍵情報テーブルの更新内容を、鍵DB3の鍵情報テーブル32に反映させる処理である。
他方、S108において、制御部10(鍵生成指示部11)は、鍵の生成をHSM4に指示する鍵生成処理を行う。制御部10(鍵生成指示部11)は、HSM4に対して鍵情報に対応する鍵の生成を指示する。HSM4では、指示に基づいて鍵を生成し、生成した鍵を、鍵生成制御サーバ1に送信する。具体的には、HSM4は、RSAの暗号鍵を作成し、秘密鍵と、対になる署名された公開鍵とを出力する。HSM4は、公開鍵を、例えば、クレジットカード会社等のイシュアで使用する鍵で署名する。その後、制御部10は、処理をS112に移す。
また、他方、S110において、S108と同様に、制御部10(鍵生成指示部11)は、鍵の生成をHSM4に指示する鍵生成処理を行う。制御部10(鍵生成指示部11)は、HSM4に対して鍵情報に対応する鍵の生成を指示する。HSM4では、指示に基づいて鍵を生成し、生成した鍵を、鍵生成制御サーバ1に送信する。
S111において、制御部10(鍵情報更新部18b)は、生成時間から最大保管数を算出する。制御部10(鍵情報更新部18b)は、HSM4に対して鍵情報に対応する鍵の生成を指示してから、HSM4から生成された鍵を受信するまでにかかる時間を計測し、計測結果から最大保管数を算出する。例えば、計測結果が500〜1000件/時間であれば、最大保管数を1500にし、1000〜2000件/時間であれば、最大保管数を3000にする。
S112において、制御部10(鍵情報更新部18b)は、算出した最大保管数の値を、記憶部20に記憶されている鍵情報テーブルに更新する。
S113において、制御部10(鍵格納部12)は、生成した鍵を、鍵DB3の鍵テーブル31にアップロードする。その際、制御部10は、管理番号を、アップロード順に異なる番号を付す。また、制御部10は、作成日を、アップロードした日付にする。その後、制御部10は、処理をS105に移す。
このようにすることで、鍵生成制御サーバ1は、出力要求の処理を行っていない空き時間を用いて、鍵を生成してストックできる。
なお、鍵生成制御サーバ1は、このストック処理中に常時出力要求を監視し、出力要求を受信した場合には、ストック処理を一時中断し、出力要求に対する処理を行った後、一時中断していたストック処理を再開するようにしてもよい。
次に、上述したストックされた鍵を使用するICカード発行システム100での処理について説明する。
図5は、本実施形態に係るICカードデータ処理の流れを示す図である。
図6は、本実施形態に係る出力要求及び応答データの説明のための図及び生成状況記憶部22の例を示す図である。
図7は、本実施形態に係る鍵生成制御サーバ1の出力要求処理を示すフローチャートである。
図5のS10において、データ生成サーバ5は、カード発行データの元データの生成を行い、入力ファイルを作成する。
S11において、データ生成サーバ5は、入力ファイルを、データ処理サーバ6に送信する。
他方、S20において、データ処理サーバ6は、鍵生成システム7に対して認証開始のための処理を行う。鍵生成システム7は、高セキュリティなシステムであるので、データ処理サーバ6とは、認証処理によって認証された場合にのみ通信が可能になる。
S21において、鍵生成システム7は、データ処理サーバ6から認証に必要なデータを受信し、認証処理を行う。
認証処理が正常に行われれば、S22において、データ処理サーバ6は、鍵生成システム7との間でセッションが確立される。
なお、この認証処理は、後述するS23の後に行ってもよい。
S23において、データ処理サーバ6の制御部は、入力ファイルを受信する。
S24において、データ処理サーバ6の制御部は、入力ファイルの内容を解釈して、コマンドを生成する。入力ファイルの解釈及びコマンドの生成は、データ処理サーバ6の記憶部に記憶されたデータ処理プログラム(図示せず)を実行することで行うことができる。データ処理サーバ6の制御部は、入力ファイルの内容を、1レコードずつ解釈し、コマンドを順次生成する。
コマンドは、例えば、図6(A)に示すように、16進数で表された文字列である。図6(A)は、説明のために4文字ずつ分けて記載しているが、実際には、文字列が羅列されている。
S25において、データ処理サーバ6の制御部は、生成したコマンドに、鍵生成に関するコマンドがあるか否かを判断する。鍵生成に関するコマンドとは、鍵生成システム7に対して鍵の生成を依頼するためのコマンドをいい、鍵の出力要求である。図6(A)の例では、文字列61の「0A53」である。鍵生成に関するコマンドがある場合(S25:YES)には、制御部は、処理をS26に移す。他方、鍵生成に関するコマンドがない場合(S25:NO)には、制御部は、処理をS28に移す。
S26において、データ処理サーバ6の制御部は、鍵の出力要求を、鍵生成システム7に送信する。
出力要求は、図6(A)に示すような文字列である。
文字列61は、出力要求を表す識別子である。
文字列62は、次の項目(セッションID)のレングス(長さ)である。
文字列63は、セッションIDである。
文字列64は、鍵生成のコマンド値である。
図5に戻り、S27において、鍵生成システム7では、出力要求処理を行う。そして、鍵生成システム7は、出力要求処理により作成された応答データを、データ処理サーバ6に送信する。
ここで、出力要求処理について、図7に基づき説明する。
図7のS121において、制御部10は、データ処理サーバ6から出力要求を受信する。
S122において、制御部10は、鍵DB3の鍵情報テーブル32をダウンロードして、記憶部20に鍵情報テーブルを記憶する。
S123において、制御部10は、記憶部20に記憶されている鍵情報テーブルを参照して、出力要求に対応する鍵の種別の鍵が、鍵DB3の鍵テーブル31に記憶されているべきか否かを判断する。これは、出力要求の所定位置の文字列が、鍵情報テーブルのコマンドに一致するものがあるか否かによって判断できる。
具体的には、制御部10は、図6(A)の文字列64を参照して、鍵情報テーブルのコマンドに一致するものがあるか否かを判断する。
図7に戻り、鍵テーブル31に記憶されているべきである場合(S123:YES)には、制御部10は、処理をS124に移す。他方、鍵テーブル31に記憶されているべきではない場合(S123:NO)には、制御部10は、処理をS132に移す。
S124において、制御部10は、該当する鍵の種別を含む鍵テーブル31をダウンロードして、記憶部20に鍵テーブルを記憶する。
S125において、制御部10は、記憶部20に記憶した鍵テーブルに、出力要求に対応する鍵の種別の鍵があるか否かを判断する。鍵がある場合(S125:YES)には、制御部10は、処理をS126に移す。他方、鍵がない場合(S125:NO)には、制御部10は、処理をS130に移す。
S126において、制御部10は、記憶部20に記憶した鍵テーブルから鍵を1つ取得する。
S127において、制御部10は、記憶部20に記憶した鍵テーブルから、取得した鍵のレコードを削除する。
S128において、制御部10は、記憶部20に記憶した鍵テーブルの内容を、鍵DB3の鍵テーブル31にアップロードする。また、制御部10は、記憶部20に記憶した鍵情報テーブルの現保管数を「1」減らして、鍵DB3の鍵情報テーブル32にアップロードする。その後、制御部10は、処理をS135に移す。
他方、S130は、鍵テーブル31に本来鍵がストックされているべきなのに、ストックされていない場合である。これは、例えば、鍵情報テーブル32の該当のレコードが作成されたばかりで、ストック処理前のためであったり、ストックされた鍵を使いきったりした場合が該当する。この場合、制御部10は、鍵生成処理を行う。具体的には、制御部10は、HSM4に対して鍵情報に対応する鍵の生成を指示する。HSM4では、指示に基づいて鍵を生成し、生成した鍵を、鍵生成制御サーバ1に送信する。その後、制御部10は、処理をS135に移す。
また、S132は、鍵テーブル31に鍵がストックされているべきではない場合である。制御部10は、鍵生成処理を行う。具体的には、制御部10は、HSM4に対して鍵情報に対応する鍵の生成を指示する。HSM4では、指示に基づいて鍵を生成し、生成した鍵を、鍵生成制御サーバ1に送信する。
S133において、制御部10は、生成状況を、生成状況記憶部22に記憶させる。
図6(B)は、生成状況記憶部22の例を示す。
生成状況記憶部22は、鍵情報テーブル32に登録されていない種別の鍵を生成した場合に、その出力要求、応答データと、鍵生成に要した時間である生成処理時間とを記憶する。図6(A)の出力要求は、その鍵生成のコマンド値が鍵情報テーブル32に登録されていない(図3(A)参照)ので、生成状況記憶部22に登録される(図6(B)(#2)参照)。
図7に戻り、S135において、制御部10は、取得した鍵を含む応答データを生成する。なお、鍵テーブル31から鍵を取得した場合には、そのまま応答データを生成すると、セッションID(通信識別情報)が出力要求に対応しないものになってしまう。そこで、制御部10は、セッションIDが受信したセッションIDに応答するものになるように、応答データを加工する。
応答データは、図6(C)に示すような文字列である。
文字列71は、応答データを表す識別子である。
文字列72は、次の項目(セッションID)のレングス(長さ)である。
文字列73は、セッションIDである。
文字列74は、HSM4からの返信コマンドを表す識別子である。
文字列75は、次の項目(鍵値)のレングス(長さ)である。
文字列76は、鍵値である。
図7に戻り、S136において、制御部10は、生成した応答データを、データ処理サーバ6に送信する。その後、制御部10は、図5に戻る。
図5のS28において、データ処理サーバ6の制御部は、鍵生成システム7から受信した応答データを解釈し、カード発行データを作成する出力ファイルの編集処理を行う。
なお、S24からS28までは、入力ファイルの内容を解釈して順次生成したコマンド単位で行い、レコードごとの処理が終わり、かつ、入力ファイルの処理が終わるまで、繰り返し行う。
S29において、データ処理サーバ6の制御部は、出力ファイルを、ICカード発行機8に対して送信する。
S40において、ICカード発行機8は、出力ファイルを受信する。
S41において、ICカード発行機8は、出力ファイルからカード発行データを1レコードずつ取り出して、空のICカード9に書き込むことを繰り返し行う発行処理を行う。
このような処理により、空のICカード9に、クレジットカードやキャッシュカードの機能を有するためのカード発行データを書き込むので、書き込み後のICカード9は、キャッシュ機能やクレジット機能を有する。そして、カード発行データには、鍵を含むので、ICカード9を使用する際に、鍵によって本物のカードであることを証明できる。
次に、鍵DB3の鍵情報テーブル32をメンテナンスする処理について説明する。
図8は、本実施形態に係る鍵生成制御サーバ1の鍵情報メンテナンス処理を示すフローチャートである。
なお、本処理は、例えば、生成状況記憶部22に生成状況が記憶されている場合に、特定の時間間隔(例えば、1日おき)で行う。
S141において、制御部10は、生成状況記憶部22に記憶された生成状況を参照する。
S142において、制御部10は、生成状況記憶部22の出力要求が、セッションID(図6(A)の文字列63参照)を除いて同じものがあるか否かを判断する。同じものがある場合(S142:YES)には、制御部10は、処理をS143に移す。他方、同じものがない場合(S142:NO)には、制御部10は、本処理を終了する。
S143において、制御部10は、S142において同じであったレコードの応答データが、セッションID(図6(C)の文字列73参照)を除いて異なるか否かを判断する。異なる場合(S143:YES)には、制御部10は、処理をS144に移す。他方、同じである場合(S143:NO)には、制御部10は、本処理を終了する。
S144において、制御部10は、生成状況の出力要求を受信してから応答データを送信するまでの時間、つまり、処理時間が一定時間以上(例えば、2秒以上)であるか否かを判断する。処理時間が一定時間以上である場合(S144:YES)には、制御部10は、処理をS145に移す。他方、処理時間が一定時間未満である場合(S144:NO)には、制御部10は、本処理を終了する。
S145において、制御部10は、鍵DB3の鍵情報テーブル32に、該当の鍵の種別に関する鍵情報を追加する。
例えば、図6(B)(#1)に示すコマンド「8D23」のものは、本処理によって鍵情報テーブル32に追加される(図3(A)(#3)参照)。
図8に戻り、S146において、制御部10は、生成状況記憶部22をクリアする。その後、制御部10は、本処理を終了する。
このように、本実施形態によれば、鍵生成制御サーバ1は、以下のような効果がある。
(1)鍵DB3に予めストックしておく鍵に関する鍵情報に基づいて、鍵の生成を指示し、生成された鍵を、鍵DB3の鍵テーブル31に格納するので、鍵テーブル31を、複数の鍵がストックされた状態にできる。そして、データ処理サーバから鍵の出力要求を受信した場合には、鍵テーブル31にストックされた鍵を用いれば、鍵生成に係る時間が削減でき、また、鍵の生成を指示することで鍵を取得してもよく、鍵生成を柔軟に行うことができる。
(2)鍵情報テーブル32により、出力要求に対応する鍵が鍵テーブル31に記憶されているべきか否かを判定するので、鍵情報を用いて、鍵テーブル31から取得し、又は鍵の生成を指示できる。
そして、鍵テーブル31にストックされている場合には、ストックされた鍵を用いればよいので、鍵生成に係る時間が削減でき、処理時間の短縮を図ることができる。
(3)鍵テーブル31に記憶されているべき鍵が、ストックがないことで存在しない場合であっても、鍵の生成を指示することで鍵を取得できる。よって、鍵テーブル31に記憶されているべき鍵が枯渇した場合であっても、鍵生成を柔軟に行うことで処理を円滑に行うことができる。
(4)鍵テーブル31から鍵を取得した場合であっても、応答データを出力要求に対する応答になるようにするので、データ処理サーバ6では、逐次鍵を生成した場合と同様に処理ができる。
(5)鍵の生成状況が所定の条件を満たすことで、その鍵に関する鍵情報を、鍵情報テーブル32に新たに追加するので、鍵情報を自動的にメンテナンスすることができる。これにより、所定の条件を満たす鍵を、その後には予め生成して鍵テーブル31に記憶させることができる。
その場合、所定の条件を、鍵生成に要する時間が長いものにすることで、鍵生成に時間がかかる鍵を予め生成してストックすることができ、処理時間の短縮を図ることができる。
(6)鍵生成に要する時間に対応させて、ストックする鍵の最大保管数を鍵情報が有するようにするので、効率よい数の鍵をストックできる。
(7)出力要求に対する処理が少ない時間帯や、処理を行っていない時間帯に、鍵の生成を指示して鍵をストックできる。よって、効率よく生成できる時間に鍵を生成して、ストックできるので、効率よい鍵のストックができる。
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限定されるものではない。また、実施形態に記載した効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、実施形態に記載したものに限定されない。なお、上述した実施形態及び後述する変形形態は、適宜組み合わせて用いることもできるが、詳細な説明は省略する。
(変形形態)
(1)本実施形態では、ICカードのカード発行処理について説明したが、これに限定されない。例えば、携帯電話機等の携帯端末に、クレジットカードと同様の機能を有するようにするために、携帯端末のUIMカード(User Identity Module card)に発行処理を行うような場合にも使用できる。その場合、データ処理サーバは、入力ファイルの代わりに入力電文を受信して、内容を解釈するものであればよい。
(2)本実施形態では、鍵をRSA鍵として説明したが、これに限定されない。作成に時間を要する他の種別の鍵であってもよいし、秘匿データ等のセキュリティデータであってもよい。
(3)本実施形態では、鍵テーブルは、未使用の鍵を保管するものとして説明したが、これに限定されない。鍵テーブルに、例えば、使用済フラグを有し、鍵を使用した場合には、その使用済フラグをONにすれば、使用済の鍵も保管できる。そのようにすることで、制御部は、未使用か、使用済かの確認を、鍵テーブルを参照することで行うことができる。なお、その場合には、メンテナンス処理において、使用済みの鍵の鍵テーブルからの削除を適宜行うことが望ましい。
(4)本実施形態では、鍵テーブルには、作成日を有するものとして説明したが、これに限定されない。鍵テーブルの各鍵に、鍵情報テーブルの鍵有効日数から算出した有効期限を有するようにしてもよい。そのようにすることで、長期間使用されない不要な鍵を削除するのに用いることができる。
(5)本実施形態では、鍵情報テーブルのメンテナンス処理として、所定の時間間隔(1日おき)で行うものとして説明したが、これに限定されない。例えば、出力要求の鍵の種別が鍵テーブルに記憶されているべきではない場合に、鍵の生成をHSMに依頼して鍵を取得した後(図7のS132の後)に行ってもよい。また、鍵情報テーブルに鍵情報を追加した後に、生成状況をクリアする処理を行うが、クリア対象は、生成した鍵の種別に関するもののみとしてもよい。
(6)本実施形態では、予め鍵をストックする処理を、所定の時間間隔(1日おき)で行うものとして説明したが、これに限定されない。例えば、所定の時間間隔は、日次や週次等のバッチ処理であってもよい。また、本実施形態では、予め鍵をストックする処理を、出力要求に対する処理中の場合には、行わないものとして説明したが、これに限定されない。出力要求に対する処理中であっても、例えば、鍵生成制御サーバの負荷が一定値以下であれば行うようにしてもよい。
(7)本実施形態では、鍵DBを、鍵生成制御サーバとは別の装置として説明したが、これに限定されない。例えば、鍵生成制御サーバの記憶部に、鍵テーブル及び鍵情報テーブルを記憶してもよい。また、鍵情報テーブルを鍵生成制御サーバの記憶部に記憶しておき、鍵テーブルのみを鍵DBに記憶してもよい。鍵DBを、鍵生成制御サーバとは別の装置とすることで、大量の鍵の管理がし易い。また、鍵生成制御サーバの記憶部に記憶することで、鍵の数が大量ではない場合には、効率よく処理を行うことができる。
(8)本実施形態では、HSMが1つであるようになっているが、複数有していてもよい。その場合、鍵情報テーブルは、複数のHSMのうち、どのHSMで鍵生成を行うか、HSMを特定する識別情報を有するようにすることで、対象のHSMで鍵生成処理を行うことができる。
1 鍵生成制御サーバ
3 鍵DB
4 HSM
6 データ処理サーバ
8 ICカード発行機
9 ICカード
9a ICチップ
10 制御部
11 鍵生成指示部
12 鍵格納部
14 鍵取得部
14a 鍵判定部
14b 生成済鍵取得部
14c 逐次鍵取得部
16 応答データ送信部
18a 鍵情報追加部
18b 鍵情報更新部
20 記憶部
21 鍵生成制御プログラム
22 生成状況記憶部
31 鍵テーブル
32 鍵情報テーブル
100 ICカード発行システム

Claims (10)

  1. 鍵記憶部に予めストックしておく鍵に関する鍵情報に基づいて、前記鍵の生成を指示する鍵生成指示部と、
    前記鍵生成指示部の指示により生成された前記鍵を取得して、前記鍵記憶部に格納する鍵格納部と、
    外部から鍵の出力要求を受信した場合に、前記出力要求に対応する鍵を、前記出力要求に応じて前記鍵記憶部から取得し、及び前記出力要求に対応する鍵の生成を指示することで取得する鍵取得部と、
    を備えること、
    を特徴とする鍵生成制御装置。
  2. 請求項1に記載の鍵生成制御装置において、
    前記鍵情報は、複数の種別の各鍵に対応したものであり、
    前記鍵取得部は、
    前記鍵情報を参照して、前記出力要求に対応する鍵が、前記鍵記憶部に記憶されているべきか否かを判定する鍵判定部と、
    前記鍵判定部により前記鍵記憶部に記憶されているべきであると判定されたことに応じて、前記鍵記憶部から前記鍵を取得する生成済鍵取得部と、
    前記鍵判定部により前記鍵記憶部に記憶されているべきではないと判定されたことに応じて、前記出力要求に対応する鍵の生成を指示することで、生成された前記鍵を取得する逐次鍵取得部と、
    を有すること、
    を特徴とする鍵生成制御装置。
  3. 請求項2に記載の鍵生成制御装置において、
    前記生成済鍵取得部は、前記鍵記憶部に前記鍵のストックがない場合には、前記出力要求に対応する鍵の生成を指示することで、生成された前記鍵を取得すること、
    を特徴とする鍵生成制御装置。
  4. 請求項2又は請求項3に記載の鍵生成制御装置において、
    前記出力要求は、外部からの通信を識別する通信識別情報を有し、
    前記出力要求に対する応答データであって、前記鍵を含む前記応答データを、前記外部に送信する応答データ送信部を備え、
    前記応答データ送信部は、前記生成済鍵取得部により前記鍵記憶部から前記鍵を取得した場合には、前記出力要求に対する応答になるように通信識別情報を付け直した前記応答データを、前記外部に送信すること、
    を特徴とする鍵生成制御装置。
  5. 請求項1から請求項4までのいずれかに記載の鍵生成制御装置において、
    前記鍵取得部は、前記鍵情報を有しない鍵の生成状況を、生成状況記憶部に記憶し、
    前記生成状況記憶部に記憶された前記生成状況が所定の条件を満たすことに応じて、その鍵の種別に対応した鍵情報を新たに追加する鍵情報追加部を備えること、
    を特徴とする鍵生成制御装置。
  6. 請求項5に記載の鍵生成制御装置において、
    前記生成状況記憶部に記憶する前記生成状況は、前記出力要求及び前記出力要求に対応する鍵の生成結果情報と、前記鍵の生成の指示からその鍵を取得するまでの鍵生成時間とに関するものであること、
    を特徴とする鍵生成制御装置。
  7. 請求項1から請求項6までのいずれかに記載の鍵生成制御装置において、
    前記鍵生成指示部による前記鍵の生成の指示からその鍵を取得するまでの鍵生成時間に基づいてストックする前記鍵の保管数を算出し、前記鍵の種別に対応した前記鍵情報に算出した前記保管数を記憶させる鍵情報更新部を備えること、
    を特徴とする鍵生成制御装置。
  8. 請求項1から請求項7までのいずれかに記載の鍵生成制御装置において、
    前記鍵生成指示部は、前記出力要求に対する処理状況に応じて、前記鍵の生成を指示する度合いを調整して、前記鍵の生成を指示すること、
    を特徴とする鍵生成制御装置。
  9. 請求項1から請求項8までのいずれかに記載の鍵生成制御装置において、
    前記鍵の生成指示を、HSM(Hardware Security Module)に対して行うことで、HSMが生成した前記鍵を取得すること、
    を特徴とする鍵生成制御装置。
  10. 請求項1から請求項9までのいずれかに記載の鍵生成制御装置と、
    前記鍵の出力要求を抽出し、前記鍵生成制御装置に対して前記鍵の出力要求を送信する出力要求送信装置と、
    前記鍵生成制御装置から前記鍵を含む応答データを受信して、前記鍵を、ユーザが携行可能な装置のセキュアな記憶領域に格納させる応答データ処理装置と、
    を備える鍵生成格納システム。
JP2013195351A 2013-09-20 2013-09-20 鍵生成制御装置及び鍵生成格納システム Pending JP2015061267A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013195351A JP2015061267A (ja) 2013-09-20 2013-09-20 鍵生成制御装置及び鍵生成格納システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013195351A JP2015061267A (ja) 2013-09-20 2013-09-20 鍵生成制御装置及び鍵生成格納システム

Publications (1)

Publication Number Publication Date
JP2015061267A true JP2015061267A (ja) 2015-03-30

Family

ID=52818450

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013195351A Pending JP2015061267A (ja) 2013-09-20 2013-09-20 鍵生成制御装置及び鍵生成格納システム

Country Status (1)

Country Link
JP (1) JP2015061267A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019223979A1 (en) * 2018-05-24 2019-11-28 British Telecommunications Public Limited Company Cryptographic key generation and storage
US11411726B2 (en) 2018-05-24 2022-08-09 British Telecommunications Public Limited Company Cryptographic key generation using multiple random sources
US11640480B2 (en) 2018-04-25 2023-05-02 British Telecommunications Public Limited Company Data message sharing

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11640480B2 (en) 2018-04-25 2023-05-02 British Telecommunications Public Limited Company Data message sharing
WO2019223979A1 (en) * 2018-05-24 2019-11-28 British Telecommunications Public Limited Company Cryptographic key generation and storage
US11411726B2 (en) 2018-05-24 2022-08-09 British Telecommunications Public Limited Company Cryptographic key generation using multiple random sources
US11451387B2 (en) 2018-05-24 2022-09-20 British Telecommunications Public Limited Company Cryptographic key generation and storage

Similar Documents

Publication Publication Date Title
US11416475B2 (en) Block quantity reduction in distributed ledgers
EP3241364B1 (en) Over-the-air provisioning of application library
EP2901392B1 (en) Securing personal identification numbers for mobile payment applications by combining with random components
KR102094497B1 (ko) 블록체인 기반의 스토리지 서비스 제공 시스템 및 방법
CN103988464A (zh) 利用全球平台规范对发行者安全域进行密钥管理的系统和方法
CN107169344B (zh) 阻挡非授权应用程序的方法以及使用该方法的装置
CN101556593A (zh) 一种多人协同工作文档管理的方法和系统
CN105518687A (zh) 安全数据存储装置
US20140359746A1 (en) Authentication system, authentication server, authentication method, and authentication program
US20230232222A1 (en) User terminal, authentication terminal, registration terminal, management system and program
JP2018029268A (ja) 暗号システム、暗号装置、暗号プログラム及び暗号方法
US11360966B2 (en) Information processing system and method of controlling information processing system
JP2015061267A (ja) 鍵生成制御装置及び鍵生成格納システム
CN114691617A (zh) 一种智能终端数据压缩防冗余交互方法、装置及相关组件
JPWO2016063659A1 (ja) 情報処理装置、情報処理方法、およびプログラム
US7543153B2 (en) Digital signature generating apparatus, method, computer program and computer-readable storage medium
CN112425119A (zh) 控制方法、服务器、程序及数据结构
JP2008176506A (ja) 情報処理装置、情報処理方法、および管理サーバ
JP6613916B2 (ja) 処理方式判定装置、携帯型情報処理装置、icカード、処理方式判定方法、及び処理方式判定プログラム
KR20070048541A (ko) 전자식별 접근제어 방법 및 이를 위한 전자식별 시스템
JP5722281B2 (ja) ネットワークシステム及び判定方法
JP2019057784A (ja) 電子装置、及び情報通信システム
CN117034370B (zh) 基于区块链网络的数据处理方法及相关设备
JP5366880B2 (ja) Icカード制御方法及びicカード制御システム
JP5561782B2 (ja) 電子データ管理システム、サーバ装置、電子データ管理方法、及びプログラム

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20160928