(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024074617
(43)【公開日】2024-05-31
(54)【発明の名称】暗号鍵管理システム
(51)【国際特許分類】
H04L 9/08 20060101AFI20240524BHJP
H04L 9/32 20060101ALI20240524BHJP
【FI】
H04L9/08 B
H04L9/32 100D
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2022185898
(22)【出願日】2022-11-21
(71)【出願人】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(71)【出願人】
【識別番号】598076591
【氏名又は名称】東芝インフラシステムズ株式会社
(74)【代理人】
【識別番号】110003708
【氏名又は名称】弁理士法人鈴榮特許綜合事務所
(72)【発明者】
【氏名】三澤 裕人
(57)【要約】 (修正有)
【課題】製品に格納する暗号鍵を管理する暗号鍵管理システムを提供する。
【解決手段】暗号鍵管理システム1において、生体認証デバイスは、製品管理サーバと通信する第1のインターフェースと、ユーザの生体情報を取得する生体センサと、生体情報の照合が成功した場合、認証情報を製品管理装置に送信する第1プロセッサと、を備える。製品管理サーバは、生体認証装置と通信する第2のインターフェースと、鍵管理サーバと通信する第3のインターフェースと、認証情報を受信するとログイン要求を署名サーバに送信し、暗号鍵を署名サーバに要求し、暗号鍵を署名サーバから受信する第2プロセッサと、を備える。署名サーバは、製品管理サーバと通信する第4のインターフェースと、暗号鍵を含む鍵情報を生成するHSMと通信する第5のインターフェースと、ログイン処理に成功した後に、暗号鍵を製品管理装置に送信する第3プロセッサと、を備える。
【選択図】
図1
【特許請求の範囲】
【請求項1】
生体認証装置と製品を管理する製品管理装置と暗号鍵を管理する鍵管理装置とを備えるシステムであって、
前記生体認証装置は、
前記製品管理装置と通信する第1のインターフェースと、
ユーザの生体情報を取得する生体センサと、
前記生体センサによって取得された前記生体情報と予め登録された生体情報との照合が成功した場合、前記第1のインターフェースを通じて、前記ユーザの認証に成功したことを示す認証情報を前記製品管理装置に送信する第1のプロセッサと、
を備え、
前記製品管理装置は、
前記生体認証装置と通信する第2のインターフェースと、
前記鍵管理装置と通信する第3のインターフェースと、
前記第2のインターフェースを通じて前記認証情報を受信すると、前記第3のインターフェースを通じてログイン要求を前記鍵管理装置に送信し、
ログインが成功すると、前記第3のインターフェースを通じて前記製品に格納される暗号鍵を前記鍵管理装置に要求し前記暗号鍵を前記鍵管理装置から受信する、
第2のプロセッサと、
を備え、
前記鍵管理装置は、
前記製品管理装置と通信する第4のインターフェースと、
前記暗号鍵を含む鍵情報を生成するHSMと通信する第5のインターフェースと、
前記第4のインターフェースを通じて前記ログイン要求を受信するとログイン処理を行い、
ログイン処理に成功した後に前記第4のインターフェースを通じて前記製品管理装置から前記暗号鍵を要求された場合、前記第4のインターフェースを通じて前記HSMが生成した前記鍵情報に含まれる前記暗号鍵を前記製品管理装置に送信する第3のプロセッサと、
を備える、
暗号鍵管理システム。
【請求項2】
前記ログイン要求は、前記生体認証装置を識別するデバイス固有情報を含み、
前記第3のプロセッサは、
前記ログイン要求に含まれる前記デバイス固有情報と予め登録されたデバイス固有情報とを照合し、
照合に成功した場合、ログイン処理に成功したと判定する、
請求項1に記載の暗号鍵管理システム。
【請求項3】
前記製品管理装置は、前記製品と通信する第6のインターフェースを備え、
前記第2のプロセッサは、前記第6のインターフェースを通じて、前記鍵情報を前記製品に送信する、
請求項1に記載の暗号鍵管理システム。
【請求項4】
前記第2のプロセッサは、
前記第3のインターフェースを通じて前記製品の更新データを前記鍵管理装置に送信し、
前記第3のインターフェースを通じて署名された前記更新データを前記鍵管理装置から受信し、
前記第3のプロセッサは、
前記第4のインターフェースを通じて前記更新データを取得し、
前記第5のインターフェースを通じて前記HSMに前記更新データに対して署名させ、
前記第4のインターフェースを通じて署名された前記更新データを前記製品管理装置に送信する、
請求項1乃至3の何れか1項に記載の暗号鍵管理システム。
【請求項5】
前記HSMは、前記暗号鍵として公開鍵と秘密鍵とを含む前記鍵情報を生成し、
前記第3のプロセッサは、前記第4のインターフェースを通じて前記暗号鍵として前記公開鍵を前記製品管理装置に送信する、
請求項1に記載の暗号鍵管理システム。
【請求項6】
前記HSMは、前記暗号鍵として共通鍵を含む前記鍵情報を生成し、
前記第3のプロセッサは、前記第4のインターフェースを通じて前記暗号鍵として前記共通鍵を前記製品管理装置に送信する、
請求項1に記載の暗号鍵管理システム。
【請求項7】
前記第3のプロセッサは、前記第4のインターフェースを通じて前記暗号鍵の鍵IDを前記製品管理装置に送信する、
請求項1に記載の暗号鍵管理システム。
【請求項8】
前記第3のプロセッサは、
前記第3のプロセッサが実行した処理を示すログデータを生成し、
前記第5のインターフェースを通じて前記HSMに前記ログデータに対して署名させる、
請求項1に記載の暗号鍵管理システム。
【請求項9】
前記第3のプロセッサは、署名された前記ログデータを前記ユーザの通知先に送信する、
請求項8に記載の暗号鍵管理システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、暗号鍵管理システムに関する。
【背景技術】
【0002】
近年、記憶内容の更新が可能なメモリを含むLSIなどの電子機器を備える製品(デバイス)が多くなってきている。このような製品(デバイス)には、製造者(メーカ)から出荷された後にメモリに記憶したデータを更新する機能を有するものがある。出荷後にデータを更新する機能を備える製品は、外部装置からダウンロードする更新データをメモリに書き込む。出荷後の製品は、エンドユーザが保有しているため、例えば、オンラインで更新データが配布されたり、エンドユーザからの要求に応じて更新データをダウンロードしたりする。
【0003】
製造者は、出荷後の製品に更新データを検証させるため、製品に公開鍵などの暗号鍵を予め格納することがある。たとえば、製造者は、生体認証デバイスを用いて暗号鍵を発行する。即ち、製造者は、生体認証デバイスで自身を認証した後に、生体認証デバイスに暗号鍵を発行させる。
【0004】
しかしながら、生体認証デバイスが破損又は紛失した場合に鍵の再発行に手間が掛かる。また、製造者が生体認証デバイスを手元で管理することで、サイドチャネル攻撃などにより暗号鍵が流出するおそれがある。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
上記の課題を解決するため、製品に格納する暗号鍵を効果的に管理することができる暗号鍵管理システムを提供することを目的とする。
【課題を解決するための手段】
【0007】
実施形態によれば、暗号鍵管理システムは、生体認証装置と製品を管理する製品管理装置と暗号鍵を管理する鍵管理装置とを備える。前記生体認証装置は、前記製品管理装置と通信する第1のインターフェースと、ユーザの生体情報を取得する生体センサと、前記生体センサによって取得された前記生体情報と予め登録された生体情報との照合が成功した場合、前記第1のインターフェースを通じて、前記ユーザの認証に成功したことを示す認証情報を前記製品管理装置に送信する第1のプロセッサと、を備える。前記製品管理装置は、前記生体認証装置と通信する第2のインターフェースと、前記鍵管理装置と通信する第3のインターフェースと、前記第2のインターフェースを通じて前記認証情報を受信すると、前記第3のインターフェースを通じてログイン要求を前記鍵管理装置に送信し、ログインが成功すると、前記第3のインターフェースを通じて前記製品に格納される暗号鍵を前記鍵管理装置に要求し前記暗号鍵を前記鍵管理装置から受信する、第2のプロセッサと、を備える。前記鍵管理装置は、前記製品管理装置と通信する第4のインターフェースと、前記暗号鍵を含む鍵情報を生成するHSMと通信する第5のインターフェースと、前記第4のインターフェースを通じて前記ログイン要求を受信するとログイン処理を行い、ログイン処理に成功した後に前記第4のインターフェースを通じて前記製品管理装置から前記暗号鍵を要求された場合、前記第4のインターフェースを通じて前記HSMが生成した前記鍵情報に含まれる前記暗号鍵を前記製品管理装置に送信する第3のプロセッサと、を備える。
【図面の簡単な説明】
【0008】
【
図1】
図1は、実施形態に係る暗号鍵管理システムの構成例を概略的に示す図である。
【
図2】
図2は、実施形態に係る暗号鍵管理システムにおける製品管理サーバの構成例を示すブロック図である。
【
図3】
図3は、実施形態に係る暗号鍵管理システムにおける署名システムの署名サーバの構成例を示すブロック図である。
【
図4】
図4は、実施形態に係る暗号鍵管理システムにおける製品管理サーバが管理する製品の構成例を示すブロック図である。
【
図5】
図5は、実施形態に係る暗号鍵管理システムにおける生体認証デバイスの構成例を示すブロック図である。
【
図6】
図6は、実施形態に係る暗号鍵管理システムにおいて署名サーバが暗号鍵を製品管理サーバへ提供する処理の例を説明するためのシーケンスである。
【
図7】
図7は、実施形態に係る暗号鍵管理システムにおいて署名サーバが管理する鍵情報を用いた更新データに対する処理の例を説明するためのシーケンスである。
【
図8】
図8は、実施形態に係る暗号鍵管理システムにおいて署名サーバにログインする処理の例を説明するためのシーケンスである。
【発明を実施するための形態】
【0009】
以下、実施形態について、図面を参照して説明する。
まず、実施形態に係る暗号鍵管理システム1の構成について説明する。
図1は、実施形態に係る暗号鍵管理システム1の構成例を示す図である。
図1に示す構成例において、暗号鍵管理システム1は、製品管理システム2及び署名システム3を有する。
【0010】
製品管理システム2は、製品(デバイス)8を管理するためのシステムである。製品管理システム2が管理する製品8は、LSI、ハードディスク又はECU(engine control unit)などのデータの書き込みが可能なメモリを備える電子機器を搭載するデバイスであるものとする。製品管理システム2は、製品8に搭載される電子機器のメモリに書き込むプログラム又は制御データなどのデータを管理する。
【0011】
本実施形態において、製品管理システム2は、エンドユーザ向けに出荷する前の製品8Aに書き込むデータを管理する機能と出荷後の製品8Bに対して書き込むべきデータ(更新データ)を管理する機能とを有するものとする。
【0012】
なお、出荷前の製品8Aに書き込むデータを管理する事業者(ユーザ)と出荷後の製品8Bに対して書き込むべき更新データを管理する事業者(ユーザ)とは、同一の事業者であっても良いし、異なる事業者であっても良い。
【0013】
図1に示す構成例において、製品管理システム2は、製品管理サーバ4(製品管理装置)とデータストレージ5と生体認証デバイス9(生体認証装置)とを備える。
【0014】
製品管理サーバ4は、製品8(8A、8B)に書き込むデータを管理するコンピュータである。データストレージ5は、製品管理サーバ4が管理するデータを記憶する。
【0015】
生体認証デバイス9は、事業者(ユーザ)の生体情報(指紋、掌紋、虹彩、静脈など)を用いて事業者を認証する。生体認証デバイス9は、生体センサを用いて事業者(ユーザ)から生体情報を取得する。生体認証デバイス9は、SE(Secure Element)を用いて予め登録された生体情報と取得された生体情報とを照合する。照合に成功すると、生体認証デバイス9は、事業者の認証に成功したことを示す情報(認証情報)と生体認証デバイス9を識別するデバイス固有情報(たとえば、PUF(physical unclonable function))とを製品管理サーバ4に送信する。
【0016】
なお、生体認証デバイス9は、照合に失敗した場合、照合に失敗したことを示す情報を製品管理サーバ4に送信してもよい。
【0017】
製品管理サーバ4は、出荷前の製品8Aに書き込むデータを供給する機能と出荷後の製品8Bに対して書き込むべきデータ(更新データ)を配布する機能とを有するものとする。製品管理サーバ4は、1つのサーバ装置で構成しても良いし、複数のサーバ装置で構成しても良い。例えば、出荷前の製品8Aにデータを供給する事業者と出荷後の製品8Bに対して更新データを配布する事業者とが異なる事業者である場合、出荷前の製品8Aにデータを供給する製品管理サーバ4と出荷後の製品8Bに対して更新データを配布する製品管理サーバ4とは異なる装置(ハードウエア)であっても良い。
【0018】
製品管理システム2において、製品管理サーバ4は、エンドユーザ向けに出荷する前(例えば、製造工程)の製品8Aに書き込むデータを管理し、出荷前の製品8Aにデータを書き込ませる。例えば、製品管理サーバ4は、製造工程において製品8Aに書き込むべきプログラム(ファームウエア又はドライバなど)又は制御データなどのデータを製品8A(又は製品8Aにデータを書き込む装置)に供給する。出荷前の製品8Aは、製品管理サーバ4から供給されるデータを自身のメモリに書き込む。
【0019】
また、製品管理サーバ4は、生体認証デバイス9からの認証情報及びデバイス固有情報を署名システム3に送信することで署名システム3にログインする。ログインが完了すると、製品管理サーバ4は、出荷後の製品に配布するデータの正当性を確認するために出荷前の製品8Aに書き込む暗号鍵(公開鍵又は共通鍵)を署名システム3から取得する。製品管理サーバ4は、署名システム3から取得する暗号鍵を出荷前の製品8Aに供給する。これにより、出荷前の製品8Aは、製品管理サーバ4から供給されるデータを自身のメモリに書き込む。
【0020】
また、製品管理システム2において、製品管理サーバ4は、出荷後の製品8Bに対して書き込むべきデータ(更新データ)を管理する。例えば、製品管理システム2は、出荷後の製品8Bに書き込まれているプログラム又は制御データなどを更新するためのデータ(更新データ)を管理する。製品管理サーバ4は、ログイン完了後に、出荷後の各製品8Bに書き込む更新データに対して署名システム3が鍵情報を用いて演算処理(電子署名又は暗号化)したデータ(製品への配布データ、署名された更新データ)を取得する。
【0021】
製品管理サーバ4は、更新データを署名システム3が鍵情報を用いて演算処理した配布データを出荷後の各製品8Bに配布する。例えば、製品管理サーバ4は、オンライン接続される出荷後の各製品8Bに対して更新データを演算処理した配布データを配布するようにしても良い。また、製品管理サーバ4は、出荷後の製品8Bを保持するユーザ(エンドユーザ)に対してデータの更新を通知し、エンドユーザからの要求に応じて更新データを演算処理した配布データを提供するようにしても良い。また、製品管理サーバ4は、配布データをWEBサーバ上で公開し、エンドユーザが当該WEBサーバから更新データを演算処理した配布データをダウンロードできるようにしても良い。
【0022】
出荷後の製品8Bは、製品管理サーバ4から鍵情報を用いて更新データが演算処理された配布データを取得する。製品8Bは、自身に書き込まれている暗号鍵を用いて配布データを復号化することにより配布データに含まれる更新データの正当性を確認し、正当性を確認した更新データを自身のメモリに書き込む。例えば、配布データとして電子署名された更新データを取得した場合、製品8Bは、自身に書き込まれている公開鍵を用いて電子署名の正当性を確認した後に更新データを自身のメモリに書き込む。また、配布データとして共通鍵で暗号化された更新データを取得した場合、製品8Bは、自身に書き込まれている共通鍵を用いて暗号化された更新データを復号化した後に更新データを自身のメモリに書き込む。
【0023】
署名システム3は、署名サーバ6(鍵管理装置)及びHSM(ハードウエアセキュリティモジュール:Hardware Security Module)7を有する。署名サーバ6は、製品管理システム2によって管理する製品8に書き込まれる暗号鍵を含む鍵情報を管理する鍵管理装置である。署名サーバ6は、HSMと協働することで実現する機能として、鍵生成機能、鍵取得機能及び署名生成機能などを備える。
【0024】
HSM7は、セキュアに鍵情報の生成、保護および管理を行う耐タンパ性を備えるハードウエアデバイス(セキュリティデバイス)である。HSM7は、暗号鍵を含む鍵情報の生成し、生成した鍵情報をセキュアに保存する。また、HSM7は、保存した鍵情報を用いた暗号化プロセスを含む演算処理を実行する。例えば、HSM7は、保存した鍵情報を用いたデータの暗号化並びに復号、電子署名、および、電子証明書の作成などの演算処理を行う。
【0025】
署名サーバ6は、事業者のログイン処理を行う。例えば、署名サーバ6は、認証情報及びデバイス固有情報を製品管理サーバ4から取得する。署名サーバ6は、予め登録されたデバイス固有情報と取得されたデバイス固有情報とを照合する。照合に成功すると、署名サーバ6は、ログイン処理に成功したと判定し、ログインが完了したことを示す通知を製品管理サーバ4に送信する。なお、照合に失敗すると、署名サーバ6は、ログインに失敗したことを示す通知を製品管理サーバ4に送信してもよい。
【0026】
鍵管理装置としての署名サーバ6は、ログインが完了した後、製品管理装置としての製品管理サーバ4からの依頼に応じてHSM7によって生成する暗号鍵を製品管理サーバ4に提供する。署名サーバ6は、鍵生成機能として、製品管理サーバ4からの依頼に応じてHSM7を用いて鍵情報を生成する。例えば、署名サーバ6は、製品管理サーバ4からの依頼に応じてHSM7を用いて公開鍵と秘密鍵との鍵ペアを含む鍵情報を生成する。
【0027】
署名サーバ6は、鍵取得機能として、製品管理サーバ4からの依頼に応じて製品8に書き込まれる暗号鍵を製品管理サーバ4へ提供する。例えば、署名サーバ6は、製品管理サーバ4からの依頼に応じてHSM7が生成した公開鍵を製品8に書き込まれる暗号鍵として製品管理サーバ4へ提供する。さらに、署名サーバ6は、製品管理サーバ4へ公開鍵自体を提供するのではなく、自己署名を付与した所定のフォーマット(例えばX.509などの規格で規定されるフォーマット)に準拠した公開鍵証明書を提供(配布)するようにしても良い。
【0028】
また、署名サーバ6は、共通鍵暗号系の鍵情報を管理する運用であれば、製品管理サーバ4からの依頼に応じてHSM7を用いて共通鍵を含む鍵情報を生成し、生成した共通鍵を製品8に書き込まれる暗号鍵として製品管理サーバ4へ提供するようにしても良い。さらに、署名サーバ6は、共有暗号鍵によって公開鍵を暗号化して製品管理サーバ4へ提供するようにしても良い。また、署名サーバ6は、共有暗号鍵によって公開鍵証明書を暗号化して製品管理サーバ4へ提供するようにしても良い。
【0029】
署名サーバ6は、署名生成機能として、ログインが完了した後に、HSM7を用いて製品管理サーバ4からの更新データに電子署名を付与する。例えば、署名サーバ6は、HSM7が生成した鍵情報に含まれる公開鍵を書き込まれた製品8に対する更新データに対する電子署名の依頼を製品管理サーバ4から受け付ける。署名サーバ6は、HSM7内に保管する製品8に書き込んだ公開鍵に対する秘密鍵を用いて製品管理サーバ4から電子署名が依頼された更新データに電子署名を付与する。署名サーバ6は、HSM7によって製品8に書き込んだ公開鍵に対応する秘密鍵で電子署名した更新データ(署名ファイル)を製品管理サーバ4へ送信する。なお、共通鍵暗号系に対応する場合、署名サーバ6は、署名生成機能として、MACを生成するようにしても良い。
【0030】
また、署名サーバ6は、処理内容を示すログデータを保存する機能を有するものであっても良い。例えば、署名サーバ6は、HSM7が保存する秘密鍵を用いた電子署名などの処理を実行した場合に処理内容を示すログデータを生成し、生成したログデータにHSM7が電子署名したデータ(署名付きログデータ)を記憶装置に保存するようにしても良い。
【0031】
また、署名サーバ6は、製品を管理する事業者(製品を製造する事業者、又は、出荷後の製品に対するサービスを提供する事業者)を暗号鍵管理システム1のユーザとして管理するユーザ管理機能を有する。例えば、署名サーバ6は、ユーザ管理機能として、ユーザ認証、ユーザ情報の管理、ユーザに関する権限の管理、ユーザ情報の登録、変更および削除、ユーザのグループ管理、グループに対するアクセス制限、メールなどによるユーザへの通知などの機能を有する。
【0032】
なお、ユーザ登録機能としては、所定の事業者以外のユーザ登録を抑止するために、ホワイトリストチェックによって登録可能なユーザを限定しても良い。例えば、登録すべきユーザ情報にメールアドレスを含め、メールアドレスのドメインに対してホワイトリストチェックを行うことにより特定のドメインを有するメールアドレスのユーザをユーザ登録できるようにしても良い。
【0033】
次に、実施形態に係る暗号鍵管理システム1における製品管理システム2の製品管理サーバ4の構成について説明する。
図2は、実施形態に係る暗号鍵管理システム1における製品管理装置としての製品管理サーバ4の構成例を示すブロック図である。
【0034】
図2に示すように、製品管理装置としての製品管理サーバ4は、プロセッサ41、ROM42、RAM43、データメモリ44、インターフェース(I/F)45、通信インターフェース(I/F)46、および、通信インターフェース(I/F)47を有する。
【0035】
プロセッサ41(第2のプロセッサ)は、プログラムを実行することにより各種の処理を実行する。プロセッサ41は、例えば、CPU(Central Processing Unit)である。プロセッサ41は、システムバスを介して製品管理サーバ4内の各部と接続され、各部との間でデータを送受信する。プロセッサ41は、ROM42およびRAM43と協働して製品管理装置としての製品管理サーバ4における制御およびデータ処理などの動作を実行する。
【0036】
ROM(Read Only Memory)42は、製品管理サーバ4の基本的な動作を実現するためのプログラムおよび制御データなどを記憶する不揮発性のメモリである。
RAM(Random Access Memory)43は、データを一時的に記憶する揮発性のメモリである。RAM43は、プロセッサ41がプログラムを実行する場合にワーキングメモリとして機能する。
【0037】
データメモリ44は、各種のデータを記憶する記憶部である。データメモリ44は、データの書き換えが可能な不揮発性のメモリで構成される。例えば、データメモリ44は、OSプログラム、アプリケーションプログラム、動作設定情報などを記憶する。
【0038】
インターフェース45(第2のインターフェース)は、データストレージ5及び生体認証デバイス9と通信するためのインターフェースである。データストレージ5が外部デバイスとしての記憶装置である場合、インターフェース45は、データストレージ5としての記憶装置が備えるインターフェース規格に対応したものであれば良い。また、データストレージ5がデータサーバ等である場合、インターフェース45は、データストレージ5としてのデータサーバと通信するための通信インターフェースで構成すれば良い。
【0039】
また、生体認証デバイス9がICカードなどである場合、インターフェース45は、ICカードリーダから構成されるものであってもよい。また、生体認証デバイス9が有線又は無線LAN(local area network)をサポートする場合、インターフェース45は、有線又は無線LANをサポートするインターフェースであってもよい。
【0040】
なお、インターフェース45は、データストレージ5と通信するためのインターフェースと、生体認証デバイス9と通信するためのインターフェースとから構成されるものであってもよい。
【0041】
通信インターフェース46(第3のインターフェース)は、署名システム3の署名サーバ6と通信するためのインターフェースである。通信インターフェース46は、無線で署名サーバ6と通信を行うものであって良いし、有線で署名サーバ6と通信を行うものであっても良い。例えば、通信インターフェース46は、インターネットなどの広域のネットワークを介して署名サーバ6とする。
【0042】
通信インターフェース47(第6のインターフェース)は、製品(デバイス)8(8A、8B)と通信するためのインターフェースである。通信インターフェース47は、無線で製品8にデータを供給するものであっても良いし、有線で製品8にデータを供給するものであっても良い。通信インターフェース47は、出荷前の製品8にデータを供給するインターフェースと出荷後の製品8Bに更新データを含む配布データを供給するインターフェースとを含む。
【0043】
なお、通信インターフェース46および通信インターフェース47は、1つの通信インターフェースで実現する構成としても良い。また、インターフェース45についても、通信インターフェース46又は通信インターフェース47と共通化したインターフェースとする構成にしても良い。
【0044】
次に、実施形態に係る暗号鍵管理システム1における署名システム3の署名サーバ6の構成について説明する。
図3は、実施形態に係る暗号鍵管理システム1における鍵管理装置としての署名サーバ6の構成例を示すブロック図である。
【0045】
図3に示すように、鍵管理装置としての署名サーバ6は、プロセッサ61、ROM62、RAM63、データメモリ64、インターフェース65、および、通信インターフェース66を有する。
【0046】
プロセッサ61(第3のプロセッサ)は、プログラムを実行することにより各種の処理を実行する。プロセッサ61は、例えば、CPU(Central Processing Unit)である。プロセッサ61は、システムバスを介して署名サーバ6内の各部と接続され、各部との間でデータを送受信する。プロセッサ61は、ROM62およびRAM63と協働して署名サーバ6における制御およびデータ処理などの動作を実行する。
【0047】
ROM(Read Only Memory)62は、署名サーバ6の基本的な動作を実現するためのプログラムおよび制御データなどを記憶する不揮発性のメモリである。 RAM(Random Access Memory)63は、データを一時的に記憶する揮発性のメモリである。RAM63は、プロセッサ61がプログラムを実行する場合にワーキングメモリとして機能する。
【0048】
データメモリ64は、各種のデータを記憶する記憶装置である。データメモリ64は、データの書き換えが可能な不揮発性のメモリで構成される。例えば、データメモリ64は、OSプログラム、アプリケーションプログラム、動作設定情報などを記憶する。また、データメモリ64は、ユーザ情報などを記憶するようにしても良い。また、データメモリ64は、処理内容を示すログデータを記憶するようにしても良い。
また、データメモリ64は、予め登録されたデバイス固有情報を格納する。
【0049】
インターフェース65(第5のインターフェース)は、HSM7にアクセスするためのインターフェースである。インターフェース65は、HSM7が備えるインターフェース規格に対応したものであれば良い。
通信インターフェース66(第4のインターフェース)は、製品管理装置としての製品管理サーバ4と通信するための通信インターフェースを含む。通信インターフェース66は、無線で通信を行うものであって良いし、有線で通信を行うものであっても良い。また、通信インターフェース66は、インターネットなどの広域のネットワークを介して製品管理システム2における製品管理サーバ4と通信するものであれば良い。
【0050】
次に、実施形態に係る暗号鍵管理システム1における製品管理システム2が管理する製品(デバイス)8の構成について説明する。
図4は、実施形態に係る製品管理システム2が管理する製品8の構成例を示すブロック図である。
【0051】
製品8は、プロセッサ、メモリおよびインターフェースを備えるLSIなどの電子機器を搭載するものである。製品8は、特定のデバイスに限定されるものではなく、出荷後にデータの更新が実行可能なものであれば良い。
【0052】
図4に示す構成例において、製品8は、プロセッサ81、ROM82、RAM83、データメモリ84および通信インターフェース85を有する。
プロセッサ81は、種々の処理を実行する回路を含む。プロセッサ81は、例えば、CPU(Central Processing Unit)である。プロセッサ81は、ROM82あるいはデータメモリ84に記憶されているプログラムを実行することにより種々の処理機能を実現する。
【0053】
ROM82は、プログラムメモリとして機能する不揮発性のメモリである。ROM82は、予め制御用のプログラムおよび制御データなどが記憶される。
RAM83は、ワーキングメモリとして機能する揮発性のメモリである。また、RAM83は、プロセッサ81が処理中のデータなどを一時保管するバッファとしても機能する。例えば、RAM83は、通信インターフェース85を介して外部装置との間で送受信するデータを一時保管する通信バッファとして機能する。
【0054】
データメモリ84は、データの書き込みおよび書き換えが可能な不揮発性のメモリである。データメモリ84は、例えば、EEPROM(登録商標)(Electrically Erasable Programmable Read Only Memory)などで構成する。データメモリ84には、プログラムファイルあるいはデータファイルなどが定義され、それらのファイルに制御プログラムや種々のデータが書き込まれる。例えば、データメモリ84又はROM82には、製品管理サーバ4から供給されるデータをデータメモリ84に書き込むためのプログラムが記憶される。また、データメモリ84又はROM82には、製品管理サーバ4から配布される配布データの正当性を確認するためのプログラムが記憶される。
【0055】
また、データメモリ84は、製品として出荷される前に製品管理装置としての製品管理サーバ4から供給されるデータが書き込まれる。例えば、製品8には、鍵管理装置としての署名サーバ6を署名システム3で生成された暗号鍵(公開鍵又は共通鍵)が製品管理サーバ4から供給され、データメモリ84には、製品管理サーバ4から供給される暗号鍵が書き込まれる。また、データメモリ84は、製品として出荷された後に製品管理装置としての製品管理サーバ4から配布される配布データに含まれる更新データが書き込まれる。
【0056】
通信インターフェース85は、製品管理サーバ4と通信するためのインターフェースである。通信インターフェース85は、製品管理サーバ4から供給されるデータが取得できるものであれば良い。
【0057】
次に、実施形態に係る暗号鍵管理システム1における製品管理システム2の生体認証デバイス9の構成について説明する。
図5は、実施形態に係る暗号鍵管理システム1における生体認証デバイス9の構成例を示すブロック図である。
【0058】
図5に示すように、製品管理装置としての生体認証デバイス9は、プロセッサ91、ROM92、RAM93、データメモリ94、通信インターフェース(I/F)95、生体センサ96、および、SE97を有する。
【0059】
プロセッサ91(第1のプロセッサ)は、プログラムを実行することにより各種の処理を実行する。プロセッサ91は、例えば、CPU(Central Processing Unit)である。プロセッサ91は、システムバスを介して生体認証デバイス9内の各部と接続され、各部との間でデータを送受信する。プロセッサ91は、ROM92およびRAM93と協働して生体認証装置としての生体認証デバイス9における制御およびデータ処理などの動作を実行する。
【0060】
ROM(Read Only Memory)92は、生体認証デバイス9の基本的な動作を実現するためのプログラムおよび制御データなどを記憶する不揮発性のメモリである。
RAM(Random Access Memory)93は、データを一時的に記憶する揮発性のメモリである。RAM93は、プロセッサ91がプログラムを実行する場合にワーキングメモリとして機能する。
【0061】
データメモリ94は、各種のデータを記憶する記憶部である。データメモリ94は、データの書き換えが可能な不揮発性のメモリで構成される。例えば、データメモリ94は、OSプログラム、アプリケーションプログラム、動作設定情報などを記憶する。
また、データメモリ94は、生体認証デバイス9を識別するデバイス固有情報を予め格納する。
【0062】
通信インターフェース95(第1のインターフェース)は、製品管理サーバ4と通信するためのインターフェースである。通信インターフェース95は、無線で製品管理サーバ4と通信を行うものであって良いし、有線で製品管理サーバ4と通信を行うものであっても良い。
【0063】
生体センサ96は、ユーザの生体情報を取得する。たとえば、生体センサ96は、生体情報として、ユーザの指紋、掌紋、静脈又は光彩などを取得する。たとえば、生体センサ96は、カメラ又は接触センサなどから構成される。
【0064】
SE97は、認証の対象となる事業者の生体情報を内部に予め登録する。SE97は、生体センサ96が取得した生体情報と予め登録された生体情報とを照合する。SE97は、照合結果を示す信号をプロセッサ91に送信する。
【0065】
たとえば、SE97は、データを格納できるメモリ又は暗号ロジック回路などを含む。なお、SE97は、生体情報として、ユーザから取得されたデータの特徴量などを予め登録するものであってもよい。また、SE97は、生体情報を暗号化して格納するものであってもよい。
たとえば、生体認証デバイス9は、ICカードなどであってもよい。
【0066】
次に、本実施形態に係る暗号鍵管理システム1が製品8Aに暗号鍵を書き込む処理について説明する。
図6は、本実施形態に係る暗号鍵管理システム1が製品8Aに暗号鍵を書き込む処理について説明するためのシーケンス図である。
【0067】
製品管理システム2の製品管理サーバ4及び生体認証デバイス9と署名システム3の署名サーバ6とは、製品管理サーバ4を使用するユーザ(事業者)のログイン処理(ユーザ認証)を実行する(ST11)。ここでは、ログイン処理が成功したものとする。
【0068】
ログイン処理が成功すると、製品管理サーバ4のプロセッサ41は、出荷前の製品8Aに書き込まれる暗号鍵を含む鍵情報などの鍵生成を署名サーバ6に対して依頼する(ST12)。ここで、製品管理サーバ4のプロセッサ41は、鍵生成の依頼とともに暗号アルゴリズム及び/又はセキュリティパラメータを指定するようにしても良い。
【0069】
署名サーバ6は、通信インターフェース66により製品管理サーバ4からログインしたユーザによる鍵の生成依頼を受信する。ここで、署名サーバ6のプロセッサ61は、ログイン中のユーザが鍵生成を依頼する権限を有することを確認する。プロセッサ61は、ログイン中のユーザが鍵生成を依頼する権限を有していれば、製品管理サーバ4からの鍵生成の依頼を受け付ける。
【0070】
署名サーバ6のプロセッサ61は、製品管理サーバ4から鍵生成の依頼を受け付けると、インターフェース65に接続されるHSM7に対して鍵情報の生成を要求する(ST13)。HSM7は、プロセッサ61からの要求に応じて製品8Aに書き込む暗号鍵を含む鍵情報を生成する(ST14)。HSM7は、署名サーバ6からの鍵情報の生成の要求に応じて暗号鍵を含む鍵情報を生成すると、生成した鍵情報を鍵IDに対応づけてセキュアに保管する(ST15)。
【0071】
例えば、暗号鍵管理システム1が管理する鍵情報が公開鍵暗号系であれば、HSM7は、公開鍵とその公開鍵とペアになる秘密鍵とを鍵情報として生成する。HSM7は、公開鍵と秘密鍵との鍵ペアを生成すると、生成した鍵ペアに鍵IDに対応づけてHSM7内に保管する。この場合、HSM7は、鍵ペアとして生成した秘密鍵を外部へ出力することなくセキュアに保管する。HSM7は、鍵IDによって指定される鍵情報としての秘密鍵を用いて電子署名などの演算処理を実行する。
【0072】
また、暗号鍵管理システム1が管理する鍵情報が共通鍵暗号系であれば、HSM7は、共通鍵を含む鍵情報を生成する。HSM7は、共通鍵を含む鍵情報を生成すると、共通鍵に鍵IDに対応づけてHSM7内に保管する。HSM7は、鍵IDによって指定される鍵情報としての共通鍵を用いてデータの暗号化などの演算処理を実行する。
【0073】
署名システム3において、HSM7は、生成した鍵情報を鍵IDに対応づけて保管すると、保管(生成)した鍵情報を示す鍵IDを署名サーバ6へ出力する。署名サーバ6のプロセッサ61は、HSM7から生成した鍵情報を示す鍵IDを受けると、鍵生成の依頼元である製品管理サーバ4へ鍵IDを通知する。ここで、署名サーバ6のプロセッサ61は、ログイン中のユーザを示す情報(ユーザIDなど)に対応づけて生成した鍵情報を示す鍵IDをデータメモリ64などに記憶するようにしても良い。
【0074】
鍵生成を依頼した製品管理サーバ4は、通信インターフェース46により署名サーバ6から生成した鍵情報を示す鍵IDを受信する。製品管理サーバ4のプロセッサ41は、署名サーバ6から通知された鍵IDをデータストレージ5又はデータメモリ44に保存する。これにより、製品管理サーバ4は、鍵生成の依頼に応じて署名システム3が生成した鍵情報を指定できる。
【0075】
また、製品管理サーバ4のプロセッサ41は、鍵管理装置としての署名サーバ6に鍵情報の生成を依頼した後、署名サーバ6に出荷前の製品8Aに書き込まれる暗号鍵を要求(暗号鍵の取得を依頼)する(ST16)。例えば、製品管理サーバ4のプロセッサ41は、署名サーバ6からHSM7で生成した鍵情報を示す鍵IDを受信した後、鍵IDを指定して出荷前の製品8Aに書き込む暗号鍵を署名サーバ6に要求する。
【0076】
署名サーバ6は、通信インターフェース66により製品8Aに書き込まれる暗号鍵の要求(暗号鍵の取得依頼)を受信する。ここで、署名サーバ6のプロセッサ61は、ログイン中のユーザが暗号鍵を取得する権限を有することを確認する。プロセッサ61は、ログイン中のユーザが暗号鍵を取得する権限を有していれば、製品管理サーバ4からの暗号鍵の要求を受け付ける。
【0077】
署名サーバ6のプロセッサ61は、製品管理サーバ4からの暗号鍵の要求を受け付けると、ログイン中のユーザの要求に応じて生成した鍵情報に含まれる暗号鍵をHSM7に対して要求する(ST17)。HSM7は、署名サーバ6からの要求に応じて鍵情報に含まれる暗号鍵を署名サーバ6へ出力する(ST18)。
【0078】
例えば、署名サーバ6のプロセッサ61は、製品管理サーバ4が指定する鍵IDに対応する鍵情報に含まれる暗号鍵をHSM7に対して要求する。HSM7は、署名サーバ6からの要求に応じて製品管理サーバ4が指定する鍵IDに対応する鍵情報に含まれる暗号鍵を署名サーバ6へ出力する。
【0079】
また、暗号鍵管理システム1が管理する鍵情報が公開鍵暗号系であれば、HSM7は、製品管理サーバ4が指定する鍵IDに対応する鍵情報(鍵ペア)に含まれる公開鍵を署名サーバ6へ出力する。暗号鍵管理システム1が管理する鍵情報が共通鍵暗号系であれば、HSM7は、製品管理サーバ4が指定する鍵IDに対応する鍵情報に含まれる共通鍵を署名サーバ6へ出力する。
【0080】
署名サーバ6のプロセッサ61は、HSM7が出力する暗号鍵を取得すると、通信インターフェース66によりHSM7から取得した暗号鍵(公開鍵又は共通鍵)を暗号鍵の要求元である製品管理サーバ4へ送信する(ST19)。
【0081】
製品管理サーバ4は、出荷前の製品8Aに書き込む暗号鍵を要求した後、通信インターフェース46により署名サーバ6からの暗号鍵を受信する。製品管理サーバ4のプロセッサ41は、署名サーバ6から製品8Aに書き込む暗号鍵を受信すると、受信した暗号鍵を出荷前に書き込むべき暗号鍵として製品8Aへ供給する(ST20)。
【0082】
出荷前の製品8Aは、通信インターフェース85により製品管理サーバ4から供給される暗号鍵を受信する。製品8Aのプロセッサ81は、製品管理サーバ4から自身に書き込むべき暗号鍵を受信すると、製品管理サーバ4から受信した暗号鍵を自身に書き込む処理を実行する(ST21)。製品8Aのプロセッサ81は、暗号鍵の書き込みを完了すると、暗号鍵の書き込み完了を製品管理サーバ4に通知する(ST22)。
【0083】
製品管理サーバ4のプロセッサ41は、製品8Aから暗号鍵の書き込み完了の通知を受信すると、当該製品8Aを識別する情報(例えば、製品ID)と書き込んだ暗号鍵に対応する鍵IDとをデータストレージ5又はデータメモリ44に保存する(ST23)。
【0084】
製品管理サーバ4が署名サーバ6から取得した暗号鍵の書き込みが完了した製品8Aは、出荷可能となり、エンドユーザ向けに出荷される。
【0085】
また、署名サーバ6は、処理内容を示すログの保存およびユーザへの通知を行うようにしても良い。
図6に示す処理例において、署名サーバ6のプロセッサ61は、暗号鍵を製品管理サーバ4へ送信した場合、処理内容を示すログデータを生成する(ST24)。署名サーバ6のプロセッサ61は、ログデータを生成すると、公開鍵暗号系であれば当該ログデータに対する電子署名をHSM7に依頼する(ST25)。ここで、署名サーバ6は、暗号鍵に対応する鍵IDを指定してログデータへの電子署名を依頼する。
【0086】
HSM7は、署名サーバ6からの依頼に応じて指定された鍵IDに対応する公開鍵とペアとなる秘密鍵を用いてログデータに電子署名を付与する(ST26)。HSM7は、生成した署名付きのログデータを署名サーバ6へ出力する(ST27)。署名サーバ6のプロセッサ61は、HSM7が生成した署名付きのログデータをデータメモリ64などの記憶装置に保存する(ST28)。これにより、署名サーバ6を含む署名システム3は、処理内容を示すログデータを署名付きで保存することができ、原本であることが保証されたログデータを閲覧することが可能となる。
【0087】
さらに、署名サーバ6のプロセッサ61は、製品管理サーバ4からの要求に応じて製品8Aに書き込まれる暗号鍵を送信した場合、暗号鍵の送信先となるユーザに処理内容を通知する(ST29)。例えば、署名サーバ6のプロセッサ61は、製品8Aに書き込まれる暗号鍵を要求したユーザのユーザ情報に含まれるメールアドレス(通知先)に処理内容を示す電子メールを送信する。これにより、ユーザ(事業者)は、署名システム3を用いて実施した処理内容を把握することができる。
【0088】
次に、本実施形態に係る暗号鍵管理システム1が製品8Bに更新データを書き込む処理について説明する。
図7は、本実施形態に係る暗号鍵管理システム1が製品8Bに更新データを書き込む処理について説明するためのシーケンス図である。
【0089】
出荷後の製品8Bに対して更新データを提供する場合、暗号鍵管理システム1は、製品8Bに書き込まれている暗号鍵で正当性が可能な状態に演算処理した更新データを製品8Bへ供給する。
【0090】
例えば、暗号鍵管理システム1は、管理する鍵情報が公開鍵暗号系であれば、署名システム3が製品8Bに書き込まれている公開鍵に対応する秘密鍵で電子署名を付加した更新データを製品8Bに供給する。これにより、製品8Bは、自身に書き込まれている公開鍵を用いて更新データの正当性を確認した後に更新データを自身に書き込むことができる。
【0091】
また、暗号鍵管理システム1は、管理する鍵情報が共通鍵暗号系であれば、署名システム3が製品8Bに書き込まれている共通鍵を用いて暗号化した更新データを製品8Bに供給する。これにより、製品8Bは、自身に書き込まれている共通鍵を用いて復号される更新データを自身に書き込むようにできる。
【0092】
以下、
図7に示す処理例の説明としては、暗号鍵管理システム1が公開鍵暗号系の鍵情報を管理するものとする。
まず、製品管理システム2における製品管理サーバ4のプロセッサ41は、出荷済み(暗号鍵を書き込み済み)の製品8Bに書き込むべき更新データを取得する(ST30)。製品管理サーバ4のプロセッサ41が製品8Bに対する更新データを取得すると、製品管理システム2の製品管理サーバ4及び生体認証デバイス9と署名システム3の署名サーバ6とは、製品管理サーバ4を使用するユーザ(事業者)のログイン処理(ユーザ認証)を実行する(ST31)。ここでは、ログイン処理が成功したものとする。
【0093】
ログイン処理が成功すると、製品管理サーバ4のプロセッサ41は、出荷後の製品8Bに書き込まれる更新データに対する電子署名を署名サーバ6に対して依頼する(ST32)。ここで、製品管理サーバ4のプロセッサ41は、製品8Bに書き込んだ公開鍵を示す鍵IDを指定して更新データに対する電子署名を依頼する。また、プロセッサ41は、署名の依頼とともに署名アルゴリズム及び/又はセキュリティパラメータを指定するようにしても良い。
【0094】
署名サーバ6は、通信インターフェース66により製品管理サーバ4から更新データへの署名依頼を受信する。ここで、署名サーバ6のプロセッサ61は、ログイン中のユーザが電子署名を取得する権限を有することを確認する。プロセッサ61は、ログイン中のユーザが電子署名を取得する権限を有していれば、製品管理サーバ4からの署名依頼を受け付ける。
【0095】
署名サーバ6のプロセッサ61は、製品管理サーバ4から署名依頼を受け付けると、インターフェース65に接続されるHSM7に対して更新データに対する電子署名の生成を要求する(ST33)。ここで、プロセッサ61は、署名依頼とともに更新データと署名に用いる鍵情報を示す鍵IDとをインターフェース65によりHSM7へ供給する。HSM7は、署名サーバ6からの署名要求に応じて更新データに対する電子署名を生成する(ST34)。HSM7は、署名サーバ6から指定される鍵IDに対応する秘密鍵を特定し特定した秘密鍵を用いて更新データに電子署名を付与することにより署名ファイル(署名付き更新データ)を生成する。HSM7は、生成した署名ファイルを署名サーバ6へ出力する(ST35)。
【0096】
署名サーバ6のプロセッサ61は、HSM7が生成した署名ファイルを取得すると、通信インターフェース66により署名の依頼元である製品管理サーバ4へ署名ファイルを送信する(ST36)。
【0097】
製品管理サーバ4は、出荷後の製品8Aに書き込む更新データへの署名を依頼した後、通信インターフェース46により署名サーバ6から署名付きの更新データとしての署名ファイルを受信する。製品管理サーバ4のプロセッサ41は、署名サーバ6から受信した署名ファイル(署名された更新データ)を製品8Bに配布する配布データとする。プロセッサ41は、署名システム3によって更新データに電子署名を施した配布データとしての署名ファイルを製品8Bへ配布する(ST37)。
【0098】
なお、製品管理サーバ4から製品8Bへの署名ファイル(配布データ)の配布方法は特定の方法に限定されるものではない。例えば、製品管理サーバ4は、製品8Bがオンライン接続される運用形態のデバイスであれば、製品8Bに対してオンラインで署名ファイル(配布データ)を配布するようにしても良い。
【0099】
また、製品管理サーバ4は、出荷後の製品8Bを保持するユーザ(エンドユーザ)に対してデータの更新を通知し、エンドユーザからの要求に応じて署名ファイルを製品8Bにダウンロードするようにしても良い。また、製品管理サーバ4は、署名ファイルをWEBサーバ上で公開し、当該WEBサーバからエンドユーザが製品8Bに署名ファイルをダウンロードするようにしても良い。
【0100】
出荷後の製品8Bは、通信インターフェース85により製品管理サーバ4が配布する配布データとしての署名ファイルを受信する。製品8Bのプロセッサ81は、製品管理サーバ4が配布する署名ファイルを受信すると、製品管理サーバ4から受信した署名ファイルを自身に書き込まれている公開鍵を用いて検証する(ST38)。
【0101】
製品8Aのプロセッサ81は、公開鍵によって署名ファイルの正当性を確認した場合、署名ファイルに含まれる更新データを書き込む処理を実行する(ST39)。署名ファイルに含まれる更新データの書き込みが完了すると、製品8Bのプロセッサ81は、通信インターフェース85により更新データの書き込み完了を製品管理サーバ4に通知する(ST40)。
【0102】
製品管理サーバ4のプロセッサ41は、製品8Bから更新データの書き込み完了の通知を受信すると、当該製品8Bを識別する情報(例えば、製品ID)に対応づけて更新データの書き込み完了を記録する。これにより、製品管理サーバ4は、署名システム3によって管理される秘密鍵で電子署名された更新データを製品8Bに供給することができる。この結果、製品8Bは、自身に書き込まれている公開鍵を用いて電子署名を検証することが」でき、正当性が確認された更新データを書き込むようにできる。
【0103】
なお、暗号鍵管理システム1が管理する鍵情報が共通鍵暗号系である場合、署名サーバ6は、製品管理サーバ4から出荷後の製品8Bに対する更新データを受信し、HSM7により当該更新データを製品8Bに書き込んだ共通鍵に対応する共通鍵を用いて暗号化したデータを取得するようにしても良い。この場合、署名サーバ6は、HSM7が共通鍵で暗号化したデータを製品管理サーバ4へ送信する。製品管理サーバ4は、署名システム3によって共通鍵で暗号化されたデータを製品8Bに配布する。製品8Bは、共通鍵を用いてHSM7で暗号化された更新データを復号し、復号した更新データを書き込むようにすれば良い。
【0104】
また、署名サーバ6は、
図7に示すように、出荷後の製品8Bに配布する署名ファイルを提供する処理につても処理内容を示すログの保存およびユーザへの通知を行うようにしても良い。
図7に示す処理例において、署名サーバ6のプロセッサ61は、署名ファイル(配布データ)を製品管理サーバ4へ送信した場合、処理内容を示すログデータを生成する(ST41)。署名サーバ6のプロセッサ61は、ログデータを生成すると、当該ログデータに対する電子署名をHSM7に依頼する(ST42)。
【0105】
HSM7は、署名ファイルを生成するのに用いた秘密鍵を用いてログデータに対する電子署名を生成する(ST43)。HSM7は、生成した署名付きのログデータを署名サーバ6へ出力する(ST44)。署名サーバ6のプロセッサ61は、HSM7が生成した署名付きのログデータをデータメモリ64などの記憶装置に保存する(ST45)。
【0106】
これにより、署名サーバ6を含む署名システム3は、出荷後の製品8Bに配布した署名ファイルを生成した処理の内容を示すログデータを署名付きで保存することができ、原本であることが保証されたログデータを閲覧することが可能となる。
【0107】
さらに、署名サーバ6のプロセッサ61は、出荷後の製品8Bに対する更新データに電子署名した署名ファイルを製品管理サーバ4から送信した場合、ログイン中のユーザに処理内容を通知する(ST46)。例えば、署名サーバ6のプロセッサ61は、ログイン中のユーザのユーザ情報に含まれるメールアドレスに処理内容を示す電子メールを送信する。これにより、ユーザ(事業者)は、署名システム3によって出荷後の製品8Bに対する更新データに電子署名した署名ファイルが製品管理サーバ4へ送信されたことを把握することができる。
【0108】
次に、本実施形態に係る暗号鍵管理システム1によるログイン処理(ST11及びST31)について説明する。
図8は、本実施形態に係る暗号鍵管理システム1によるログイン処理(ST11及びST31)について説明するためのシーケンス図である。
【0109】
ここでは、ユーザ(事業者)は、自身の生体情報を生体認証デバイス9の生体センサ96に入力するものとする。
【0110】
生体認証デバイス9のプロセッサ91は、生体センサ96を用いて生体情報を取得する(ST51)。生体情報を取得すると、プロセッサ91は、SE97を用いて、取得された生体情報と予め登録された生体情報とを照合する(ST52)。
【0111】
ここでは、プロセッサ91は、取得された生体情報と予め登録された生体情報とを照合に成功したものとする。
【0112】
照合に成功すると、プロセッサ91は、通信インターフェース95を通じて、ユーザの認証に成功したことを示す認証情報とデータメモリ94が格納するデバイス固有情報とを製品管理サーバ4に送信する(ST53)。
【0113】
製品管理サーバ4のプロセッサ41は、インターフェース45を通じて認証情報とデバイス固有情報とを生体認証デバイス9から受信する。認証情報とデバイス固有情報とを生体認証デバイス9から受信すると、プロセッサ41は、通信インターフェース46を通じてログイン要求を署名サーバ6に送信する(ST54)。ログイン要求は、認証情報及びデバイス固有情報を含む。
【0114】
署名サーバ6のプロセッサ61は、通信インターフェース66を通じてログイン要求を製品管理サーバ4から受信する。ログイン要求を受信すると、プロセッサ61は、ログイン要求に含まれるデバイス固有情報と予め登録されているデバイス固有情報とを照合する(ST55)。ここでは、プロセッサ61は、ログイン要求に含まれるデバイス固有情報と予め登録されているデバイス固有情報との照合に成功したものとする。
【0115】
照合に成功すると、プロセッサ61は、通信インターフェース66を通じて、ログインに成功したことを示す通知を製品管理サーバ4に送信する(ST56)。
【0116】
製品管理サーバ4のプロセッサ41は、通信インターフェース46を通じて、当該通知を受信する。プロセッサ41が当該通知を受信すると、暗号鍵管理システム1によるログイン処理は、終了する。
【0117】
なお、プロセッサ41は、ST55で照合に失敗した場合、通信インターフェース66を通じてログインに失敗した異を示す通知を製品管理サーバ4に送信してもよい。
【0118】
また、署名サーバ6は、複数のデバイス固有情報を予め登録するものであってもよい。この場合、署名サーバ6は、ログイン要求が含むデバイス固有情報と予め登録されたデバイス固有情報の1つとの照合に成功した場合、ログインに成功したことを示す通知を製品管理サーバ4に送信してもよい。
【0119】
また、製品管理サーバ4と生体認証デバイス9とは、一体的に構成されるものであってもよい。
【0120】
以上のように、実施形態に係る暗号鍵管理システムは、製品の製造又は管理を実施する事業者が運用する製品管理システムおよび署名システム(鍵管理システム)を有する。署名システムは、製品管理システムからの依頼に応じて生成した暗号鍵を含む鍵情報を管理し、管理する鍵情報に含まれる暗号鍵を書き込んだ製品に対する更新データに電子署名を付与する。製品管理システムは、署名システムが電子署名を付与した更新データを出荷後の製品に配布する。製品は、電子署名が付与された更新データを取得し、取得した署名の正当性を自身に書き込まれた公開鍵で確認した後に更新データを書き込む。
【0121】
これにより、製品管理システムを運用する製品の製造又は管理を実施する事業者は、暗号鍵の管理をセキュアに実施する署名システムに委譲することができる。この結果、事業者は、暗号鍵を含む鍵情報の管理に係るコストを低減しつつ、製品に対する更新データの安全性を確保できる。また、鍵管理装置としての署名サーバを含む署名システムによって、暗号鍵を利用した署名などのプリミティブな暗号化プロセスによるセキュリティ機能を事業者に提供することができ、多様な事業者の要望にあったセキュリティ機能をフレキシブルに提供できる。
【0122】
また、暗号鍵管理システムは、生体情報と製品管理システムで管理し、鍵情報を署名システムで管理する。その結果、暗号鍵管理システムは、生体認証デバイスが破損又は紛失した場合であっても、鍵情報を失わないため、鍵情報を再生成する必要がない。また、暗号鍵管理システムは、鍵情報を署名システムで管理するため、サイドチャネル攻撃又はゼロデイ攻撃などにより鍵情報が流出することを防止することができる。
【0123】
また、暗号鍵管理システムは、生体情報を製品管理システムで管理することにより、署名システムに生体情報を提供する必要がない。そのため、暗号鍵管理システムは、署名システムから生体情報が流出することを防止することができる。
【0124】
また、暗号鍵管理システムは、生体認証デバイスからの認証情報及びデバイス固有情報を製品管理サーバから取得し、予め登録されたデバイス固有情報と取得されたデバイス固有情報とを照合することで、ログイン処理を判定する。
【0125】
これにより、暗号鍵管理システムは、ログインに使用された生体認証デバイスの真正性を担保し、悪意あるユーザによる、予め登録されたデバイス固有情報とは異なるデバイス固有情報を有する生体認証デバイスを用いた不正なログイン要求を拒否することができる。
【0126】
上述の各実施形態で説明した機能は、ハードウエアを用いて構成するに留まらず、ソフトウエアを用いて各機能を記載したプログラムをコンピュータに読み込ませて実現することもできる。また、各機能は、適宜ソフトウエア、ハードウエアのいずれかを選択して構成するものであっても良い。
【0127】
本実施形態に係るプログラムは、電子機器に記憶された状態で譲渡されてよいし、電子機器に記憶されていない状態で譲渡されてもよい。後者の場合は、プログラムは、ネットワークを介して譲渡されてよいし、記憶媒体に記憶された状態で譲渡されてもよい。記憶媒体は、非一時的な有形の媒体である。記憶媒体は、コンピュータ可読媒体である。記憶媒体は、CD-ROM、メモリカード等のプログラムを記憶可能かつコンピュータで読取可能な媒体であればよく、その形態は問わない。
【0128】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0129】
1…暗号鍵管理システム、2…製品管理システム、3…署名システム、4…製品管理サーバ、5…データストレージ、6…署名サーバ、8…製品、8A…製品、8B…製品、9…生体認証デバイス、41…プロセッサ、42…ROM、43…RAM、44…データメモリ、45…インターフェース、46…通信インターフェース、47…通信インターフェース、61…プロセッサ、62…ROM、63…RAM、64…データメモリ、65…インターフェース、66…通信インターフェース、81…プロセッサ、82…ROM、83…RAM、84…データメモリ、85…通信インターフェース、91…プロセッサ、92…ROM、93…RAM、94…データメモリ、95…通信インターフェース、96…生体センサ、97…SE。