(57)【要約】  証明書生成装置１４は、機器１２に予め格納されたチップメーカ証明書２４を読み出す。証明書生成装置１４は、チップメーカ証明書２４が示す公開鍵暗号方式が認証機関ＣＡ１６の公開鍵暗号方式と一致する場合、チップメーカＣＡ１８による署名をもとにチップメーカ証明書２４の正当性を検証する。証明書生成装置１４は、チップメーカ証明書２４の正当性が認められた場合、クライアント公開鍵２６および認証機関ＣＡ１６による署名を含む認証機関証明書３０を取得する。証明書生成装置１４は、認証機関証明書３０を機器１２に書き込む。
2020044666.tif 000002
【特許請求の範囲】
【請求項１】
第１秘密鍵と、前記第１秘密鍵に対応する第１公開鍵および第１認証局による署名を含む第１証明書とが格納された機器に、前記第１認証局とは異なる第２認証局による署名を含む第２証明書を格納する方法であって、
前記機器から前記第１証明書を読み出すステップと、
前記読み出すステップで読み出された前記第１証明書が示す公開鍵暗号方式が前記第２認証局の公開鍵暗号方式と一致する場合、前記第１認証局による署名をもとに前記第１証明書の正当性を検証するステップと、
前記検証するステップで前記第１証明書の正当性が認められた場合、前記第１公開鍵および前記第２認証局による署名を含む第２証明書を取得するステップと、
前記取得するステップで取得された第２証明書を前記機器に書き込むステップと、
をコンピュータが実行する証明書生成方法。
【請求項２】
前記読み出すステップは、通信ネットワークを介して、前記機器から前記第１証明書を読み出し、
前記取得するステップは、通信ネットワークを介して、前記第２認証局の装置から前記第２証明書を取得し、
前記書き込むステップは、通信ネットワークを介して、前記第２証明書を前記機器に書き込み、
前記コンピュータのプロセッサが所定のコンピュータプログラムを実行することにより前記読み出すステップの処理、前記検証するステップの処理、前記取得するステップの処理および前記書き込むステップの処理が実行される、
請求項１に記載の証明書生成方法。
【請求項３】
第１秘密鍵と、前記第１秘密鍵に対応する第１公開鍵および第１認証局による署名を含む第１証明書とが格納された機器に、前記第１認証局とは異なる第２認証局による署名を含む第２証明書を格納する方法であって、
前記機器から前記第１証明書を読み出すステップと、
前記読み出すステップで読み出された前記第１証明書が示す公開鍵暗号方式が前記第２認証局の公開鍵暗号方式と不一致の場合、前記第２認証局の公開鍵暗号方式をもとに前記第１秘密鍵に対応する第２公開鍵を生成するステップと、
前記生成するステップで生成された第２公開鍵および前記第２認証局による署名を含む第２証明書を取得するステップと、
前記取得するステップで取得された第２証明書を前記機器に書き込むステップと、
をコンピュータが実行する証明書生成方法。
【請求項４】
第１秘密鍵と、前記第１秘密鍵に対応する第１公開鍵および第１認証局による署名を含む第１証明書とが格納された機器に、前記第１認証局とは異なる第２認証局による署名を含む第２証明書を格納する方法であって、
前記機器に格納された前記第１秘密鍵をもとに、前記第１秘密鍵とは異なる第２秘密鍵を生成する秘密鍵生成ステップと、
前記秘密鍵生成ステップで生成された第２秘密鍵に対応する第２公開鍵を生成する公開鍵生成ステップと、
前記公開鍵生成ステップで生成された第２公開鍵および前記第２認証局による署名を含む第２証明書を取得するステップと、
前記取得するステップで取得された第２証明書を前記機器に書き込むステップと、
をコンピュータが実行する証明書生成方法。
【請求項５】
第１秘密鍵と、前記第１秘密鍵に対応する第１公開鍵および第１認証局による署名を含む第１証明書とが格納された機器に、前記第１認証局とは異なる第２認証局による署名を含む第２証明書を格納する装置であって、
前記機器から前記第１証明書を読み出す読出部と、
前記読出部により読み出された前記第１証明書が示す公開鍵暗号方式が前記第２認証局の公開鍵暗号方式と一致する場合、前記第１認証局による署名をもとに前記第１証明書の正当性を検証する検証部と、
前記検証部により前記第１証明書の正当性が認められた場合、前記第１公開鍵および前記第２認証局による署名を含む第２証明書を取得する取得部と、
前記取得部により取得された第２証明書を前記機器に書き込む書込部と、
を備える証明書生成装置。
【請求項６】
第１秘密鍵と、前記第１秘密鍵に対応する第１公開鍵および第１認証局による署名を含む第１証明書とが格納された機器に、前記第１認証局とは異なる第２認証局による署名を含む第２証明書を格納する装置であって、
前記機器から前記第１証明書を読み出す読出部と、
前記読出部により読み出された前記第１証明書が示す公開鍵暗号方式が前記第２認証局の公開鍵暗号方式と不一致の場合、前記第２認証局の公開鍵暗号方式をもとに前記第１秘密鍵に対応する第２公開鍵を生成する生成部と、
前記生成部により生成された第２公開鍵および前記第２認証局による署名を含む第２証明書を取得する取得部と、
前記取得部により取得された第２証明書を前記機器に書き込む書込部と、
を備える証明書生成装置。
【請求項７】
第１秘密鍵と、前記第１秘密鍵に対応する第１公開鍵および第１認証局による署名を含む第１証明書とが格納された機器に、前記第１認証局とは異なる第２認証局による署名を含む第２証明書を格納する装置であって、
前記機器に格納された前記第１秘密鍵をもとに、前記第１秘密鍵とは異なる第２秘密鍵を生成する秘密鍵生成部と、
前記秘密鍵生成部により生成された第２秘密鍵に対応する第２公開鍵を生成する公開鍵生成部と、
前記公開鍵生成部により生成された第２公開鍵および前記第２認証局による署名を含む第２証明書を取得する取得部と、
前記取得部により取得された第２証明書を前記機器に書き込む書込部と、
を備える証明書生成装置。
【請求項８】
第１秘密鍵と、前記第１秘密鍵に対応する第１公開鍵および第１認証局による署名を含む第１証明書とが格納された機器に、前記第１認証局とは異なる第２認証局による署名を含む第２証明書を格納するためのコンピュータプログラムであって、
前記機器から前記第１証明書を読み出し、
読み出された前記第１証明書が示す公開鍵暗号方式が前記第２認証局の公開鍵暗号方式と一致する場合、前記第１認証局による署名をもとに前記第１証明書の正当性を検証し、
前記第１証明書の正当性が認められた場合、前記第１公開鍵および前記第２認証局による署名を含む第２証明書を取得し、
取得された第２証明書を前記機器に書き込む、
ことをコンピュータに実行させるためのコンピュータプログラム。
【請求項９】
第１秘密鍵と、前記第１秘密鍵に対応する第１公開鍵および第１認証局による署名を含む第１証明書とが格納された機器に、前記第１認証局とは異なる第２認証局による署名を含む第２証明書を格納するためのコンピュータプログラムであって、
前記機器から前記第１証明書を読み出し、
読み出された前記第１証明書が示す公開鍵暗号方式が前記第２認証局の公開鍵暗号方式と不一致の場合、前記第２認証局の公開鍵暗号方式をもとに前記第１秘密鍵に対応する第２公開鍵を生成し、
生成された第２公開鍵および前記第２認証局による署名を含む第２証明書を取得し、
取得された第２証明書を前記機器に書き込む、
ことをコンピュータに実行させるためのコンピュータプログラム。
【請求項１０】
第１秘密鍵と、前記第１秘密鍵に対応する第１公開鍵および第１認証局による署名を含む第１証明書とが格納された機器に、前記第１認証局とは異なる第２認証局による署名を含む第２証明書を格納するためのコンピュータプログラムであって、
前記機器に格納された前記第１秘密鍵をもとに、前記第１秘密鍵とは異なる第２秘密鍵を生成し、
生成された第２秘密鍵に対応する第２公開鍵を生成し、
生成された第２公開鍵および前記第２認証局による署名を含む第２証明書を取得し、
取得された第２証明書を前記機器に書き込む、
ことをコンピュータに実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示はデータ処理技術に関し、特に証明書生成方法、証明書生成装置およびコンピュータプログラムに関する。
【背景技術】
【０００２】
インターネットに接続される組み込み機器、いわゆるＩｏＴ（Internet of Things）機器が急速に普及している。これとともにマルウェアによる攻撃も増加しつつある。ＩｏＴ機器は、個々の能力は小さくても数が多いため、ボットネットを形成したときの攻撃力は強力なものになる。ＩｏＴ機器の中には、ユーザ名とパスワードによりアクセス制限を行うものがあるが、ユーザ名とパスワードによるアクセス制限は、マルウェアによる不正アクセスを許してしまうことがあった。【０００３】
そこで、ＩｏＴ機器に電子証明書を格納し、電子証明書を用いて機器間の相互認証、鍵共有、暗号通信等が行われることがある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−１９３４９０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
近年、半導体チップの製造時に秘密鍵と公開鍵証明書を半導体チップに格納することも検討されている。この方法では、正規の半導体チップであることは保証されるが、チップメーカ側の認証局とは異なる認証局により認証された様々な機器間での相互接続を実現することは難しい。【０００６】
本開示はこうした状況に鑑みてなされたものであり、１つの目的は、機器に予め格納された鍵データを活用して、特定の認証局により認証された様々な機器との接続を効率的に実現することにある。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明のある態様の証明書生成方法は、第１秘密鍵と、第１秘密鍵に対応する第１公開鍵および第１認証局による署名を含む第１証明書とが格納された機器に、第１認証局とは異なる第２認証局による署名を含む第２証明書を格納する方法であって、機器から第１証明書を読み出すステップと、読み出すステップで読み出された第１証明書が示す公開鍵暗号方式が第２認証局の公開鍵暗号方式と一致する場合、第１認証局による署名をもとに第１証明書の正当性を検証するステップと、検証するステップで第１証明書の正当性が認められた場合、第１公開鍵および第２認証局による署名を含む第２証明書を取得するステップと、取得するステップで取得された第２証明書を機器に書き込むステップと、をコンピュータが実行する。【０００８】
本発明の別の態様もまた、証明書生成方法である。この方法は、第１秘密鍵と、第１秘密鍵に対応する第１公開鍵および第１認証局による署名を含む第１証明書とが格納された機器に、第１認証局とは異なる第２認証局による署名を含む第２証明書を格納する方法であって、機器から第１証明書を読み出すステップと、読み出すステップで読み出された第１証明書が示す公開鍵暗号方式が第２認証局の公開鍵暗号方式と不一致の場合、第２認証局の公開鍵暗号方式をもとに第１秘密鍵に対応する第２公開鍵を生成するステップと、生成するステップで生成された第２公開鍵および第２認証局による署名を含む第２証明書を取得するステップと、取得するステップで取得された第２証明書を機器に書き込むステップと、をコンピュータが実行する。【０００９】
本発明のさらに別の態様もまた、証明書生成方法である。この方法は、第１秘密鍵と、第１秘密鍵に対応する第１公開鍵および第１認証局による署名を含む第１証明書とが格納された機器に、第１認証局とは異なる第２認証局による署名を含む第２証明書を格納する方法であって、機器に格納された第１秘密鍵をもとに、第１秘密鍵とは異なる第２秘密鍵を生成する秘密鍵生成ステップと、秘密鍵生成ステップで生成された第２秘密鍵に対応する第２公開鍵を生成する公開鍵生成ステップと、公開鍵生成ステップで生成された第２公開鍵および第２認証局による署名を含む第２証明書を取得するステップと、取得するステップで取得された第２証明書を機器に書き込むステップと、をコンピュータが実行する。【００１０】
本発明のさらに別の態様は、証明書生成装置である。この装置は、第１秘密鍵と、第１秘密鍵に対応する第１公開鍵および第１認証局による署名を含む第１証明書とが格納された機器に、第１認証局とは異なる第２認証局による署名を含む第２証明書を格納する装置であって、機器から第１証明書を読み出す読出部と、読出部により読み出された第１証明書が示す公開鍵暗号方式が第２認証局の公開鍵暗号方式と一致する場合、第１認証局による署名をもとに第１証明書の正当性を検証する検証部と、検証部により第１証明書の正当性が認められた場合、第１公開鍵および第２認証局による署名を含む第２証明書を取得する取得部と、取得部により取得された第２証明書を機器に書き込む書込部と、を備える。【００１１】
本発明のさらに別の態様もまた、証明書生成装置である。この装置は、第１秘密鍵と、第１秘密鍵に対応する第１公開鍵および第１認証局による署名を含む第１証明書とが格納された機器に、第１認証局とは異なる第２認証局による署名を含む第２証明書を格納する装置であって、機器から第１証明書を読み出す読出部と、読出部により読み出された第１証明書が示す公開鍵暗号方式が第２認証局の公開鍵暗号方式と不一致の場合、第２認証局の公開鍵暗号方式をもとに第１秘密鍵に対応する第２公開鍵を生成する生成部と、生成部により生成された第２公開鍵および第２認証局による署名を含む第２証明書を取得する取得部と、取得部により取得された第２証明書を機器に書き込む書込部と、を備える。【００１２】
本発明のさらに別の態様もまた、証明書生成装置である。この装置は、第１秘密鍵と、第１秘密鍵に対応する第１公開鍵および第１認証局による署名を含む第１証明書とが格納された機器に、第１認証局とは異なる第２認証局による署名を含む第２証明書を格納する装置であって、機器に格納された第１秘密鍵をもとに、第１秘密鍵とは異なる第２秘密鍵を生成する秘密鍵生成部と、秘密鍵生成部により生成された第２秘密鍵に対応する第２公開鍵を生成する公開鍵生成部と、公開鍵生成部により生成された第２公開鍵および第２認証局による署名を含む第２証明書を取得する取得部と、取得部により取得された第２証明書を機器に書き込む書込部と、を備える。【００１３】
なお、以上の構成要素の任意の組合せ、本開示の表現を、コンピュータプログラム、コンピュータプログラムを記録した記録媒体などの間で変換したものもまた、本開示の態様として有効である。
【発明の効果】
【００１４】
本開示によれば、機器に予め格納された鍵データを活用して、特定の認証局により認証された様々な機器との接続を効率的に実現することができる。
【図面の簡単な説明】
【００１５】
【図１】第１実施例の証明書処理システムの構成を示す図である。
【図２】第１実施例の証明書生成装置の機能ブロックを示すブロック図である。
【図３】第１実施例の証明書生成装置の動作を示すフローチャートである。
【図４】第２実施例の証明書生成装置の機能ブロックを示すブロック図である。
【図５】第２実施例の証明書生成装置の動作を示すフローチャートである。
【発明を実施するための形態】
【００１６】
本開示における装置または方法の主体は、コンピュータを備えている。このコンピュータがプログラムを実行することによって、本開示における装置または方法の主体の機能が実現される。コンピュータは、プログラムにしたがって動作するプロセッサを主なハードウェア構成として備える。プロセッサは、プログラムを実行することによって機能を実現することができれば、その種類は問わない。プロセッサは、半導体集積回路（IC）、またはＬＳＩ（large scale integration）を含む１つまたは複数の電子回路で構成される。ここではＩＣやＬＳＩと呼んでいるが、集積の度合いによって呼び方が変わり、システムＬＳＩ、ＶＬＳＩ（very large scale integration）もしくはＵＳＬＩ（ultra large scale integration）と呼ばれるものであってもよい。ＬＳＩの製造後にプログラムされる、フィールド・プログラマブル・ゲート・アレイ（FPGA）、又はＬＳＩ内部の接合関係の再構成又はＬＳＩ内部の回路区画のセットアップができる再構成可能な論理デバイスも同じ目的で使うことができる。複数の電子回路は、１つのチップに集積されてもよいし、複数のチップに設けられてもよい。複数のチップは１つの装置に集約されていてもよいし、複数の装置に備えられていてもよい。プログラムは、コンピュータが読み取り可能なＲＯＭ、光ディスク、ハードディスクドライブなどの非一時的記録媒体に記録される。プログラムは、記録媒体に予め格納されていてもよいし、インターネット等を含む広域通信網を介して記録媒体に供給されてもよい。
【００１７】
まず実施例の概要を述べる。近年、半導体チップの製造時に、半導体チップに秘密鍵と公開鍵証明書を格納することが検討されている。この公開鍵証明書は、チップメーカ側の認証局（以下「ＣＡ」とも呼ぶ。）のデジタル署名（以下単に「署名」とも呼ぶ。）を含む。したがって、正規の半導体チップであることは保証できるものの、チップメーカ側のＣＡ以外の特定の認証局や特定の組織により認証された様々な機器間での相互接続を行うことは難しい。また、そのような相互接続のためには、特定の認証局や特定の組織の署名を含む公開鍵証明書が必要になる。
【００１８】
一方、チップメーカは、半導体チップにおける耐タンパー性の高い領域に、秘密鍵および公開鍵証明書を格納する。そのため、予め半導体チップに格納された秘密鍵および公開鍵証明書を利用することで、特定の認証局による認証を得るために、新たな秘密鍵を搭載する手間やリソース、管理工数を削減することができると本発明者は考えた。実施例では、機器に予め格納された鍵データを活用して、特定の認証局による公開鍵証明書を当該機器に格納する技術を説明する。
【００１９】
（第１実施例）
図１は、第１実施例の証明書処理システム１０の構成を示す。証明書処理システム１０は、機器１２、証明書生成装置１４、認証機関ＣＡ１６を備える。認証機関ＣＡ１６は、複数の企業の複数種類の機器の相互接続を支援するために、各機器に公開鍵証明書を配布する認証局の情報処理装置（サーバ等）である。証明書生成装置１４は、認証機関ＣＡ１６を利用する複数の企業のうち１つの企業（以下「機器メーカ」とも呼ぶ。）の情報処理装置（サーバ等）である。証明書生成装置１４の機能の詳細は後述する。
【００２０】
機器１２は、機器メーカにより製造される機器である。機器１２は、ＩｏＴ機器であってもよく、また、ＨＥＭＳ（Home Energy Management System）に接続可能な機器であってもよい。例えば、機器１２は、家電機器（例えばエアコン、冷蔵庫）、電子機器（例えばＰＣ、スマートフォン）、電気設備（例えばスマートメータ、蓄電池）、センサー（例えば温度センサー、照度センサー）であってもよい。
【００２１】
機器１２は、チップメーカにより製造された半導体チップ２０を備える。半導体チップ２０は、ＩＣチップまたはＳｏＣ（System on a Chip）であってもよい。半導体チップ２０の所定の耐タンパー領域には、チップメーカで設定された秘密鍵であるクライアント秘密鍵２２と、公開鍵証明書であるチップメーカ証明書２４が格納される。
【００２２】
チップメーカ証明書２４は、チップメーカで設定されたクライアント公開鍵２６と、チップメーカ側の認証局の装置であるチップメーカＣＡ１８の秘密鍵による署名２８とを含む。クライアント公開鍵２６は、クライアント秘密鍵２２に対応する（言い換えればペアとなる）鍵データである。不図示だが、チップメーカ証明書２４には、公開鍵暗号方式の種類（アルゴリズムとも言え、例えばＲＳＡ（Rivest Shamir Adleman）等）を示すデータも含まれる。
【００２３】
また、機器１２には、証明書生成装置１４により、認証機関ＣＡ１６から提供された公開鍵証明書である認証機関証明書３０が格納される。認証機関証明書３０は、クライアント秘密鍵２２に対応するクライアント公開鍵３２と、認証機関ＣＡ１６の秘密鍵による署名３４とを含む。
【００２４】
後述するように、半導体チップ２０に格納されたクライアント公開鍵２６の暗号方式が、認証機関ＣＡ１６の暗号方式と一致する場合、認証機関証明書３０のクライアント公開鍵３２にはクライアント公開鍵２６と同じデータが設定される。一方、半導体チップ２０に格納されたクライアント公開鍵２６の暗号方式が、認証機関ＣＡ１６の暗号方式と不一致の場合、認証機関証明書３０のクライアント公開鍵３２には、クライアント公開鍵２６とは異なる新たに生成された公開鍵が設定される。
【００２５】
図２は、第１実施例の証明書生成装置１４の機能ブロックを示すブロック図である。本開示のブロック図において示される各ブロックは、ハードウェア的には、コンピュータのＣＰＵ・メモリをはじめとする素子や機械装置で実現でき、ソフトウェア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。これらの機能ブロックはハードウェア、ソフトウェアの組合せによっていろいろなかたちで実現できることは、当業者には理解されるところである。
【００２６】
証明書生成装置１４は、通信部４０と制御部４２を備える。通信部４０は、所定の通信プロトコルにしたがい、不図示の通信ネットワーク（ＬＡＮ・ＷＡＮ・インターネット等）を介して外部装置と通信する。制御部４２は、認証機関ＣＡ１６の公開鍵証明書（認証機関証明書３０）を機器１２に設定するための各種データ処理を実行する。制御部４２は、通信部４０を介して機器１２および認証機関ＣＡ１６とデータを送受信する。なお、証明書生成装置１４は、制御部４２により参照または更新されるデータを、一時的または永続的に記憶する記憶部をさらに備えてもよい。
【００２７】
制御部４２は、証明書読出部４４、判定部４６、検証部４８、証明書取得部５０、秘密鍵読出部５２、公開鍵生成部５４、証明書書込部５６を含む。これら複数の機能ブロックの機能が実装されたコンピュータプログラムが、記録媒体に格納され、その記録媒体を介して証明書生成装置１４のストレージにインストールされてもよい。または、上記のコンピュータプログラムが、通信ネットワークを介して証明書生成装置１４のストレージにインストールされてもよい。証明書生成装置１４のＣＰＵは、上記のコンピュータプログラムをメインメモリに読み出して実行することにより、各機能ブロックの機能を発揮してもよい。
【００２８】
以上の構成による証明書生成装置１４の動作を説明する。
図３は、第１実施例の証明書生成装置１４の動作を示すフローチャートである。本図に示す処理は、機器１２の製造過程において、機器１２に半導体チップ２０を搭載後に実行される。証明書読出部４４は、通信ネットワークを介して、機器１２の半導体チップ２０に格納されたチップメーカ証明書２４を読み込む（Ｓ１０）。
【００２９】
判定部４６は、証明書読出部４４により読み込まれたチップメーカ証明書２４が示す公開鍵暗号方式が、予め定められた認証機関ＣＡ１６における公開鍵暗号方式と一致するか否かを判定する。公開鍵暗号方式は、鍵生成アルゴリズム、暗号化アルゴリズム、復号アルゴリズムを含んでもよい。判定部４６は、これら３つのアルゴリズムのうち少なくとも１つが不一致の場合、公開鍵暗号方式が不一致と判定してもよい。
【００３０】
公開鍵暗号方式が一致すると判定部４６により判定された場合（Ｓ１２のＹ）、検証部４８は、チップメーカ証明書２４に含まれる署名２８と、予め記憶されたチップメーカＣＡ１８の公開鍵とに基づいて、チップメーカ証明書２４の正当性を検証する。言い換えれば、検証部４８は、チップメーカＣＡ１８による署名２８を検証して、チップメーカ証明書２４が正当であること（例えば改竄されていないこと）を確認する。
【００３１】
検証部４８によりチップメーカ証明書２４の正当性が認められた場合（Ｓ１４のＹ）、証明書取得部５０は、通信ネットワークを介して、チップメーカ証明書２４に含まれるクライアント公開鍵２６を含む証明書署名要求（CSR, Certificate Signing Request）を認証機関ＣＡ１６へ送信する。認証機関ＣＡ１６は、証明書署名要求への応答として、クライアント公開鍵３２（証明書取得部５０が送信したクライアント公開鍵２６と同じ）と、認証機関ＣＡ１６の秘密鍵による署名とを含む認証機関証明書３０を証明書生成装置１４へ送信する。証明書取得部５０は、認証機関ＣＡ１６から送信された認証機関証明書３０を、通信ネットワークを介して取得する（Ｓ２０）。
【００３２】
一方、チップメーカ証明書２４が示す公開鍵暗号方式が認証機関ＣＡ１６における公開鍵暗号方式と不一致と判定された場合（Ｓ１２のＮ）、秘密鍵読出部５２は、通信ネットワークを介して、機器１２の半導体チップ２０に格納されたクライアント秘密鍵２２を読み込む（Ｓ１６）。同様に、チップメーカ証明書２４の正当性が認められなかった場合、言い換えれば、チップメーカＣＡ１８による署名２８の検証に失敗した場合（Ｓ１４のＮ）、秘密鍵読出部５２は、クライアント秘密鍵２２を読み込む（Ｓ１６）。
【００３３】
公開鍵生成部５４は、秘密鍵読出部５２により読み込まれたクライアント秘密鍵２２と、認証機関ＣＡ１６における公開鍵暗号方式とにしたがって、クライアント秘密鍵２２に対応する新たな公開鍵（クライアント公開鍵３２）を生成する（Ｓ１８）。例えば、公開鍵生成部５４は、認証機関ＣＡ１６における鍵生成アルゴリズムにしたがって、クライアント秘密鍵２２のペアとなる新たな公開鍵を生成する。
【００３４】
証明書取得部５０は、公開鍵生成部５４により生成されたクライアント公開鍵３２を含む証明書署名要求を認証機関ＣＡ１６へ送信する。認証機関ＣＡ１６は、クライアント公開鍵３２（証明書取得部５０が送信したもの）と、認証機関ＣＡ１６の秘密鍵による署名３４とを含む認証機関証明書３０を証明書生成装置１４へ送信する。証明書取得部５０は、認証機関ＣＡ１６から送信された認証機関証明書３０を取得する（Ｓ２０）。
【００３５】
証明書書込部５６は、証明書取得部５０により取得された認証機関証明書３０を、通信ネットワークを介して機器１２に書き込む（Ｓ２２）。証明書書込部５６は、認証機関証明書３０を機器１２へ送信し、認証機関証明書３０を所定の記憶部に保存する処理を機器１２に実行させてもよい。
【００３６】
機器１２には、認証機関ＣＡ１６に認証された他機器（例えば他のＩｏＴ機器や、ＨＥＭＳ内の他機器）と通信するアプリケーションが搭載されてもよい。このアプリケーションは、認証機関ＣＡ１６に認証された他機器と通信する場合に、クライアント秘密鍵２２および認証機関証明書３０を使用して、相互認証、鍵共有、暗号通信、電子署名等を実行してもよい。
【００３７】
第１実施例によると、機器１２の半導体チップ２０に予め格納された鍵データを活用して、チップメーカＣＡ１８とは異なる認証機関ＣＡ１６による公開鍵証明書を機器１２に格納する処理を効率化できる。これにより、認証機関ＣＡ１６により認証された様々な機器と、機器１２との接続を効率的に実現することができる。
【００３８】
（第２実施例）
第２実施例では、第１実施例を基本構成としつつも、機器１２のクライアント秘密鍵２２の漏洩リスクを一層低減する技術を提案する。以下、第１実施例と異なる点を主に説明し、第１実施例で説明済みの内容は適宜省略する。また、第１実施例の構成要素と同一または対応する構成要素には同じ符号を付して説明する。
【００３９】
第２実施例の証明書処理システム１０の構成は、第１実施例（図１）と同様である。図４は、第２実施例の証明書生成装置１４の機能ブロックを示すブロック図である。証明書生成装置１４の制御部４２は、秘密鍵読出部５２、秘密鍵生成部５８、公開鍵生成部５４、証明書取得部５０、証明書書込部５６を含む。
【００４０】
図５は、第２実施例の証明書生成装置１４の動作を示すフローチャートである。秘密鍵読出部５２は、機器１２の半導体チップ２０に格納されたクライアント秘密鍵２２を読み込む（Ｓ３０）。秘密鍵生成部５８は、秘密鍵読出部５２により読み込まれたクライアント秘密鍵２２をもとに、認証機関ＣＡ１６による認証機器との相互認証やセキュア通信を行うための秘密鍵であって、クライアント秘密鍵２２とは異なる新たな秘密鍵（以下「特定秘密鍵」とも呼ぶ。）を生成する（Ｓ３２）。例えば、秘密鍵生成部５８は、ＩＥＴＦ（Internet Engineering Task Force）で定義された「PRF_HMAC_SHA2_256」に基づく鍵導出関数を使用して、クライアント秘密鍵２２から特定秘密鍵を生成してもよい。
【００４１】
公開鍵生成部５４は、秘密鍵生成部５８により生成された特定秘密鍵と、認証機関ＣＡ１６における公開鍵暗号方式とにしたがって、特定秘密鍵に対応する新たな公開鍵（クライアント公開鍵３２）を生成する（Ｓ３４）。証明書取得部５０は、公開鍵生成部５４により生成されたクライアント公開鍵３２を含む証明書署名要求を認証機関ＣＡ１６へ送信し、クライアント公開鍵３２と認証機関ＣＡ１６の署名３４とを含む認証機関証明書３０を認証機関ＣＡ１６から取得する（Ｓ３６）。証明書書込部５６は、証明書取得部５０により取得された認証機関証明書３０を機器１２に書き込む（Ｓ３８）。
【００４２】
機器１２には、認証機関ＣＡ１６に認証された他機器（例えば他のＩｏＴ機器や、ＨＥＭＳ内の他機器）と通信するアプリケーションが搭載されてもよい。このアプリケーションは、認証機関ＣＡ１６に認証された機器と通信する場合、証明書生成装置１４の秘密鍵生成部５８と同じアルゴリズムにより特定秘密鍵を動的に計算し、特定秘密鍵と認証機関証明書３０を使用して、相互認証、鍵共有、暗号通信、電子署名等を実行してもよい。
【００４３】
なお、秘密鍵生成部５８は、生成した特定秘密鍵を機器１２の所定の記憶領域（好ましくは耐タンパー領域）に書き込んでもよい。機器１２の上記アプリケーションは、認証機関ＣＡ１６に認証された機器と通信する際、上記記憶領域に予め記憶された特定秘密鍵を使用してもよい。第２実施例の構成によると、クライアント秘密鍵２２の漏洩リスクを低減できる。
【００４４】
以上、本開示を第１実施例、第２実施例をもとに説明した。これらの実施例は例示であり、各構成要素あるいは各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本開示の範囲にあることは当業者に理解されるところである。
【００４５】
第２実施例の変形例を説明する。第２実施例では証明書生成装置１４が備えた秘密鍵生成部５８の機能を機器１２が備えてもよい。ここでは機器１２が秘密鍵生成部を備えることとする。この変形例では、証明書生成装置１４の秘密鍵読出部５２は、機器１２に対して秘密鍵の提供を要求する。機器１２の秘密鍵生成部は、その要求に応じて、クライアント秘密鍵２２をもとに新たな秘密鍵（第２実施例の特定秘密鍵）を生成し、特定秘密鍵を証明書生成装置１４へ送信する。証明書生成装置１４の公開鍵生成部５４は、機器１２から送信された特定秘密鍵をもとに、特定秘密鍵に対応する新たな公開鍵（クライアント公開鍵３２）を生成する。以降の処理は第２実施例と同様になる。この変形例によると、クライアント秘密鍵２２の情報が機器１２の外部に出ないため、クライアント秘密鍵２２の漏洩リスクを一層低減できる。
【００４６】
上述した実施例および変形例の任意の組み合わせもまた本開示の実施の形態として有用である。組み合わせによって生じる新たな実施の形態は、組み合わされる実施例および変形例それぞれの効果をあわせもつ。また、請求項に記載の各構成要件が果たすべき機能は、実施例および変形例において示された各構成要素の単体もしくはそれらの連携によって実現されることも当業者には理解されるところである。
【００４７】
実施例および変形例に記載の技術は、以下の項目によって特定されてもよい。
［項目１］
第１秘密鍵（２２）と、前記第１秘密鍵（２２）に対応する第１公開鍵（２６）および第１認証局（１８）による署名（２８）を含む第１証明書（２４）とが格納された機器（１２）に、前記第１認証局（１８）とは異なる第２認証局（１６）による署名（３４）を含む第２証明書（３０）を格納する方法であって、
前記機器（１２）から前記第１証明書（２４）を読み出すステップと、
前記読み出すステップで読み出された前記第１証明書（２４）が示す公開鍵暗号方式が前記第２認証局（１６）の公開鍵暗号方式と一致する場合、前記第１認証局（１８）による署名（２８）をもとに前記第１証明書（２４）の正当性を検証するステップと、
前記検証するステップで前記第１証明書（２４）の正当性が認められた場合、前記第１公開鍵（２６、３２）および前記第２認証局（１６）による署名（３４）を含む第２証明書（３０）を取得するステップと、
前記取得するステップで取得された第２証明書（３０）を前記機器（１２）に書き込むステップと、
をコンピュータ（１４）が実行する証明書生成方法。
この証明書生成方法によると、予め機器に格納された秘密鍵および公開鍵を利用して、第２認証局による証明書を機器に格納する処理を効率的に実現できる。例えば、新たな秘密鍵、公開鍵を作成し、またそれらを機器に搭載する手間やリソース、管理工数を削減することができる。
［項目２］
前記読み出すステップは、通信ネットワークを介して、前記機器（１２）から前記第１証明書（２４）を読み出し、
前記取得するステップは、通信ネットワークを介して、前記第２認証局の装置（１６）から前記第２証明書（３０）を取得し、
前記書き込むステップは、通信ネットワークを介して、前記第２証明書（３０）を前記機器（１２）に書き込み、
前記コンピュータ（１４）のプロセッサが所定のコンピュータプログラムを実行することにより前記読み出すステップの処理、前記検証するステップの処理、前記取得するステップの処理および前記書き込むステップの処理が実行される、
項目１に記載の証明書生成方法。
このように、通信ネットワーク、コンピュータのハードウェアおよびソフトウェアの協働により、証明書生成方法を実行することができる。
［項目３］
第１秘密鍵（２２）と、前記第１秘密鍵（２２）に対応する第１公開鍵（２６）および第１認証局（１８）による署名（２８）を含む第１証明書（２４）とが格納された機器（１２）に、前記第１認証局（１８）とは異なる第２認証局（１６）による署名（３４）を含む第２証明書（３０）を格納する方法であって、
前記機器（１２）から前記第１証明書（２４）を読み出すステップと、
前記読み出すステップで読み出された前記第１証明書（２４）が示す公開鍵暗号方式が前記第２認証局（１６）の公開鍵暗号方式と不一致の場合、前記第２認証局（１６）の公開鍵暗号方式をもとに前記第１秘密鍵（２２）に対応する第２公開鍵（３２）を生成するステップと、
前記生成するステップで生成された第２公開鍵（３２）および前記第２認証局（１６）による署名（３４）を含む第２証明書（３０）を取得するステップと、
前記取得するステップで取得された第２証明書（３０）を前記機器（１２）に書き込むステップと、
をコンピュータ（１４）が実行する証明書生成方法。
この証明書生成方法によると、予め機器に格納された秘密鍵を利用して、第２認証局による証明書を機器に格納する処理を効率的に実現できる。例えば、新たな秘密鍵を作成し、またそれを機器に搭載する手間やリソース、管理工数を削減することができる。
［項目４］
第１秘密鍵（２２）と、前記第１秘密鍵（２２）に対応する第１公開鍵（２６）および第１認証局（１８）による署名（２８）を含む第１証明書（２４）とが格納された機器（１２）に、前記第１認証局（１８）とは異なる第２認証局（１６）による署名（３４）を含む第２証明書（３０）を格納する方法であって、
前記機器（１２）に格納された前記第１秘密鍵（２２）をもとに、前記第１秘密鍵（２２）とは異なる第２秘密鍵を生成する秘密鍵生成ステップと、
前記秘密鍵生成ステップで生成された第２秘密鍵に対応する第２公開鍵（３２）を生成する公開鍵生成ステップと、
前記公開鍵生成ステップで生成された第２公開鍵（３２）および前記第２認証局（１６）による署名（３４）を含む第２証明書（３０）を取得するステップと、
前記取得するステップで取得された第２証明書（３０）を前記機器（１２）に書き込むステップと、
をコンピュータ（１４）が実行する証明書生成方法。
この証明書生成方法によると、予め機器に格納された秘密鍵を利用して、第２認証局による証明書を機器に格納する処理を効率的に実現できる。また、予め機器に格納された秘密鍵の漏洩のリスクを一層低減することができる。
［項目５］
第１秘密鍵（２２）と、前記第１秘密鍵（２２）に対応する第１公開鍵（２６）および第１認証局（１８）による署名（２８）を含む第１証明書（２４）とが格納された機器（１２）に、前記第１認証局（１８）とは異なる第２認証局（１６）による署名（３４）を含む第２証明書（３０）を格納する装置であって、
前記機器（１２）から前記第１証明書（２４）を読み出す読出部（４４）と、
前記読出部（４４）により読み出された前記第１証明書（２４）が示す公開鍵暗号方式が前記第２認証局（１６）の公開鍵暗号方式と一致する場合、前記第１認証局（１８）による署名（２８）をもとに前記第１証明書（２４）の正当性を検証する検証部（４８）と、
前記検証部（４８）により前記第１証明書（２４）の正当性が認められた場合、前記第１公開鍵（２６、３２）および前記第２認証局（１６）による署名（３４）を含む第２証明書（３０）を取得する取得部（５０）と、
前記取得部（５０）により取得された第２証明書（３０）を前記機器（１２）に書き込む書込部（５６）と、
を備える証明書生成装置（１４）。
この証明書生成装置によると、予め機器に格納された秘密鍵および公開鍵を利用して、第２認証局による証明書を機器に格納する処理を効率的に実現できる。例えば、新たな秘密鍵、公開鍵を作成し、またそれらを機器に搭載する手間やリソース、管理工数を削減することができる。
［項目６］
第１秘密鍵（２２）と、前記第１秘密鍵（２２）に対応する第１公開鍵（２６）および第１認証局（１８）による署名（２８）を含む第１証明書（２４）とが格納された機器（１２）に、前記第１認証局（１８）とは異なる第２認証局（１６）による署名（３４）を含む第２証明書（３０）を格納する装置であって、
前記機器（１２）から前記第１証明書（２４）を読み出す読出部（４４）と、
前記読出部（４４）により読み出された前記第１証明書（２４）が示す公開鍵暗号方式が前記第２認証局（１６）の公開鍵暗号方式と不一致の場合、前記第２認証局（１６）の公開鍵暗号方式をもとに前記第１秘密鍵（２２）に対応する第２公開鍵（３２）を生成する生成部（５４）と、
前記生成部（５４）により生成された第２公開鍵（３２）および前記第２認証局（１６）による署名（３４）を含む第２証明書（３０）を取得する取得部（５０）と、
前記取得部（５０）により取得された第２証明書（３０）を前記機器（１２）に書き込む書込部（５６）と、
を備える証明書生成装置（１４）。
この証明書生成装置によると、予め機器に格納された秘密鍵を利用して、第２認証局による証明書を機器に格納する処理を効率的に実現できる。例えば、新たな秘密鍵を作成し、またそれを機器に搭載する手間やリソース、管理工数を削減することができる。
［項目７］
第１秘密鍵（２２）と、前記第１秘密鍵（２２）に対応する第１公開鍵（２６）および第１認証局（１８）による署名（２８）を含む第１証明書（２４）とが格納された機器（１２）に、前記第１認証局（１８）とは異なる第２認証局（１６）による署名（３４）を含む第２証明書（３０）を格納する装置であって、
前記機器（１２）に格納された前記第１秘密鍵（２２）をもとに、前記第１秘密鍵（２２）とは異なる第２秘密鍵を生成する秘密鍵生成部（５８）と、
前記秘密鍵生成部（５８）により生成された第２秘密鍵に対応する第２公開鍵（３２）を生成する公開鍵生成部（５４）と、
前記公開鍵生成部（５４）により生成された第２公開鍵（３２）および前記第２認証局（１６）による署名（３４）を含む第２証明書（３０）を取得する取得部（５０）と、
前記取得部（５０）により取得された第２証明書（３０）を前記機器（１２）に書き込む書込部（５６）と、
を備える証明書生成装置（１４）。
この証明書生成装置によると、予め機器に格納された秘密鍵を利用して、第２認証局による証明書を機器に格納する処理を効率的に実現できる。また、予め機器に格納された秘密鍵の漏洩のリスクを一層低減することができる。
［項目８］
第１秘密鍵（２２）と、前記第１秘密鍵（２２）に対応する第１公開鍵（２６）および第１認証局（１８）による署名（２８）を含む第１証明書（２４）とが格納された機器（１２）に、前記第１認証局（１８）とは異なる第２認証局（１６）による署名（３４）を含む第２証明書（３０）を格納するためのコンピュータプログラムであって、
前記機器（１２）から前記第１証明書（２４）を読み出し、
読み出された前記第１証明書（２４）が示す公開鍵暗号方式が前記第２認証局（１６）の公開鍵暗号方式と一致する場合、前記第１認証局（１８）による署名（２８）をもとに前記第１証明書（２４）の正当性を検証し、
前記第１証明書（２４）の正当性が認められた場合、前記第１公開鍵（２６）および前記第２認証局（１６）による署名（３４）を含む第２証明書（３０）を取得し、
取得された第２証明書（３０）を前記機器（１２）に書き込む、
ことをコンピュータ（１４）に実行させるためのコンピュータプログラム。
このコンピュータプログラムによると、予め機器に格納された秘密鍵および公開鍵を利用して、第２認証局による証明書を機器に格納する処理を効率的に実現できる。例えば、新たな秘密鍵、公開鍵を作成し、またそれらを機器に搭載する手間やリソース、管理工数を削減することができる。
［項目９］
第１秘密鍵（２２）と、前記第１秘密鍵（２２）に対応する第１公開鍵（２６）および第１認証局（１８）による署名（２８）を含む第１証明書（２４）とが格納された機器（１２）に、前記第１認証局（１８）とは異なる第２認証局（１６）による署名（３４）を含む第２証明書（３０）を格納するためのコンピュータプログラムであって、
前記機器（１２）から前記第１証明書（２４）を読み出し、
読み出された前記第１証明書（２４）が示す公開鍵暗号方式が前記第２認証局（１６）の公開鍵暗号方式と不一致の場合、前記第２認証局（１６）の公開鍵暗号方式をもとに前記第１秘密鍵（２２）に対応する第２公開鍵（３２）を生成し、
生成された第２公開鍵（３２）および前記第２認証局（１６）による署名（３４）を含む第２証明書（３０）を取得し、
取得された第２証明書（３０）を前記機器（１２）に書き込む、
ことをコンピュータ（１４）に実行させるためのコンピュータプログラム。
このコンピュータプログラムによると、予め機器に格納された秘密鍵を利用して、第２認証局による証明書を機器に格納する処理を効率的に実現できる。例えば、新たな秘密鍵を作成し、またそれを機器に搭載する手間やリソース、管理工数を削減することができる。
［項目１０］
第１秘密鍵（２２）と、前記第１秘密鍵（２２）に対応する第１公開鍵（２６）および第１認証局（１８）による署名（２８）を含む第１証明書（２４）とが格納された機器（１２）に、前記第１認証局（１８）とは異なる第２認証局（１６）による署名（３４）を含む第２証明書（３０）を格納するためのコンピュータプログラムであって、
前記機器（１２）に格納された前記第１秘密鍵（２２）をもとに、前記第１秘密鍵（２２）とは異なる第２秘密鍵を生成し、
生成された第２秘密鍵に対応する第２公開鍵（３２）を生成し、
生成された第２公開鍵（３２）および前記第２認証局（１６）による署名（３４）を含む第２証明書（３０）を取得し、
取得された第２証明書（３０）を前記機器（１２）に書き込む、
ことをコンピュータ（１４）に実行させるためのコンピュータプログラム。
このコンピュータプログラムによると、予め機器に格納された秘密鍵を利用して、第２認証局による証明書を機器に格納する処理を効率的に実現できる。また、予め機器に格納された秘密鍵の漏洩のリスクを一層低減することができる。
【産業上の利用可能性】
【００４８】
本開示に記載の技術は、証明書を生成するコンピュータに適用することができる。
【符号の説明】
【００４９】
１２  機器、  １４  証明書生成装置、  ４４  証明書読出部、  ４６  判定部、  ４８  検証部、  ５０  証明書取得部、  ５２  秘密鍵読出部、  ５４  公開鍵生成部、  ５６  証明書書込部、  ５８  秘密鍵生成部。
【図１】
2020044666.tif 000003
【図２】
2020044666.tif 000004
【図３】
2020044666.tif 000005
【図４】
2020044666.tif 000006
【図５】
2020044666.tif 000007
【国際調査報告】
2020044666.tif 000008
2020044666.tif 000009
2020044666.tif 000010
2020044666.tif 000011