(57)【要約】【課題】長期間利用されない、不定期に利用される、常時接続でないといった性質を有するＩｏＴ機器に対しても、セキュリティを確保しつつ証明書を更新する。【解決手段】証明書管理サーバは、第１の証明書と第２の証明書とを発行し、第２の証明書の有効期間の終了日時は、第１の証明書の有効期間の終了日時よりも後ろの日時にする。機器は、秘密鍵暗号化鍵により第２の証明書の秘密鍵を暗号化した暗号化された秘密鍵と、証明書暗号化鍵により第２の証明書を暗号化した暗号化された第２の証明書とを保持する。証明書管理サーバは、記憶装置に、第２の証明書と関連付けて、秘密鍵暗号化鍵と、証明書暗号化鍵とを保持し、機器は、第２の証明書の有効期間の終了日時後に、証明書管理サーバより秘密鍵暗号化鍵と、証明書暗号化鍵を受信し、それらより暗号化された秘密鍵と暗号化された第２の証明書を復号する。【選択図】  図９
2019121823.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続される機器の電子証明書の発行と有効性を管理する電子証明書管理システムであって、
前記機器とネットワークにより接続され、前記機器の電子証明書を管理する証明書管理サーバを備え、
前記証明書管理サーバは、記憶装置に、前記機器の真正性を証明する電子証明書である第１の証明書と第２の証明書とを保持し、
前記第２の証明書の有効期間の終了日時は、前記第１の証明書の有効期間の終了日時よりも後ろの日時であって、
前記機器は、記憶装置に、
共通鍵である証明書暗号化鍵により、前記第２の証明書を暗号化した暗号化された第２の証明書を保持し、
前記証明書管理サーバは、記憶装置に、
前記第２の証明書と関連付けて、前記証明書暗号化鍵とを保持し、
前記機器は、
前記第２の証明書の有効期間の終了日時後に、前記証明書管理サーバより、前記証明書暗号化鍵を受信し、
前記証明書暗号化鍵により、前記暗号化された第２の証明書を復号することを特徴とする電子証明書管理システム。
【請求項２】
前記機器は、記憶装置に、
共通鍵である秘密鍵暗号化鍵により、前記第２の証明書の公開鍵と対になる秘密鍵を暗号化した暗号化された秘密鍵を保持し、
前記機器は、前記秘密鍵の暗号化後に、記憶装置から前記秘密鍵暗号化鍵を削除し、
前記証明書管理サーバは、記憶装置に、
前記第２の証明書と関連付けて、前記証明書暗号化鍵を保持し、
前記第２の証明書の有効期間の終了日時後に、前記証明書管理サーバより、前記秘密鍵暗号化鍵と、前記証明書暗号化鍵を受信し、
前記秘密鍵暗号化鍵により、前記暗号化された秘密鍵を復号することを特徴とする請求項１記載の電子証明書管理システム。
【請求項３】
ネットワークに接続される機器の電子証明書の発行と有効性を管理する電子証明書管理システムであって、
前記機器とネットワークにより接続され、前記機器の電子証明書を管理する証明書管理サーバを備え、
前記証明書管理サーバは、記憶装置に、前記機器の真正性を証明する電子証明書である第ｋ（ｋは、１≦ｋ≦Ｎなる整数、Ｎは、２≦Ｎなる整数）の証明書を保持し、
前記第ｋ（ｋは、２≦ｋ≦Ｎなる整数）の証明書の有効期間の終了日時は、第ｋ−１の証明書の有効期間の終了日時よりも後ろの日時であって、
前記機器は、記憶装置に、
共通鍵である第ｋ−１の証明書暗号化鍵により、前記第２の証明書を暗号化した暗号化された第ｋの証明書を保持し、
前記証明書管理サーバは、記憶装置に、
前記第ｋの証明書と関連付けて、前記第ｋ−１の証明書暗号化鍵を保持し、
前記機器は、
前記第ｋ−１の証明書の有効期間の終了日時後に、前記証明書管理サーバより、前記第ｋ−１の証明書暗号化鍵を受信し、
前記第ｋ−１の証明書暗号化鍵により、前記暗号化された第ｋの証明書を復号することを特徴とする電子証明書管理システム。
【請求項４】
前記機器は、記憶装置に、
共通鍵である第ｋ−１の秘密鍵暗号化鍵により、前記第ｋの証明書の公開鍵と対になる秘密鍵を暗号化した暗号化された第ｋの秘密鍵を保持し、
前記機器は、前記第ｋの秘密鍵の暗号化後に、記憶装置から前記第ｋ−１の秘密鍵暗号化鍵を削除し、
前記証明書管理サーバは、記憶装置に、
前記第ｋの証明書と関連付けて、前記第ｋ−１の秘密鍵暗号化鍵を保持し、
前記機器は、
前記第ｋ−１の証明書の有効期間の終了日時後に、前記証明書管理サーバより、前記第ｋ−１の秘密鍵暗号化鍵を受信し、
前記第ｋ−１の秘密鍵暗号化鍵により、前記暗号化された第ｋの秘密鍵を復号することを特徴とする請求項３記載の電子証明書管理システム。
【請求項５】
ネットワークに接続される機器の電子証明書の発行と有効性を管理する電子証明書管理システムの電子証明書管理方法であって、
電子証明書管理システムは、前記機器とネットワークにより接続され、前記機器の電子証明書を管理する証明書管理サーバを備え、
前記証明書管理サーバが、前記機器の真正性を証明する電子証明書である第１の証明書と、第２の証明書とを発行し、前記記憶装置に、前記第１の証明書と前記第２の証明書とを保持するステップと、
前記証明書管理サーバが、前記第２の証明書の有効期間の終了日時を、前記第１の証明書の有効期間の終了日時よりも後ろの日時に設定するステップと、
前記機器が、前記第２の証明書を、共通鍵である証明書暗号化鍵により、暗号化するステップと、
前記機器が、記憶装置に、
前記証明書暗号化鍵により、暗号化した暗号化された第２の証明書を保持するステップと、
前記証明書管理サーバが、記憶装置に、
前記第２の証明書と関連付けて、前記証明書暗号化鍵とを保持するステップと、
前記機器が、
前記第２の証明書の有効期間の終了日時後に、前記証明書管理サーバより、前記証明書暗号化鍵を受信するステップと、
前記証明書暗号化鍵により、前記暗号化された第２の証明書を復号するステップとを有することを特徴とする電子証明書管理システム。
【請求項６】
前記機器が、前記第２の証明書の公開鍵と対になる秘密鍵を、共通鍵である秘密鍵暗号化鍵により、暗号化するステップと、
前記機器が、記憶装置に、
前記秘密鍵暗号化鍵により、暗号化した暗号化された秘密鍵を保持するステップと、
前記機器が、前記秘密鍵の暗号化後に、記憶装置から前記秘密鍵暗号化鍵を削除するステップと、
前記証明書管理サーバが、記憶装置に、
前記第２の証明書と関連付けて、前記秘密鍵暗号化鍵を保持するステップと、
前記機器が、
前記第２の証明書の有効期間の終了日時後に、前記証明書管理サーバより、前記秘密鍵暗号化鍵を受信するステップと、
前記秘密鍵暗号化鍵により、前記暗号化された秘密鍵を復号するステップとを有することを特徴とする請求項５記載の電子証明書管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子証明書管理システムおよび電子証明書管理方法に係り、ＩｏＴ（Internet of Things）機器の公開鍵証明書を管理して、更新するシステムに好適な電子証明書管理システムおよび電子証明書管理方法に関する
【背景技術】
【０００２】
インターネットの爆発的な普及により、従来のパーソナルコンピュータやスマートフォンのみならず、日常生活や生産活動に関するあらゆる機器をインターネットに接続して、それを操作したり、センサ類などの計測情報を利用したりするビジョンが現実化してきている。いわゆるモノのインターネット化（ＩｏＴ：Internet of Things）である。
【０００３】
このようなＩｏＴ機器が、その機器に対してなんらかのサービスを提供するサーバや他の機器と通信を行う際に、機器のなりすましなどを防ぐために、ＩｏＴ機器の認証が行われることがある。このＩｏＴ機器の認証を行う方法として、クライアントとして、機器の公開鍵方式の秘密鍵と対応する電子証明書（以下、単に「証明書」ということもある）を利用する方法が知られている。証明書は、認証局が発行する公開鍵と、ハッシュ値などを認証局の秘密鍵により暗号化した電子署名よりなる。証明書には有効期間が定められており、認証を正しく行うためには有効期間内の証明書を利用しなければならない。ＩｏＴ機器の運用期間中のセキュリティを担保するためには、運用期間にわたり有効な証明書を機器に付与する必要がある。
【０００４】
非特許文献１には、暗号鍵に関して、セキュリティを担保するための運用について論じられている。この非特許文献１によると、証明書の有効期限は長くとも３年以内とすることが望ましい（5. 3. 6. ，Cryptoperiod Recommendation for Specific Key，Page 37-40）。このため、運用期間が３年を大きく超える自動車や医療機器のようなＩｏＴ機器の場合、機器の製造時などに予め付与される一つの証明書によって、その機器の運用期間の全期間をカバーすることは難しい。
【０００５】
また、証明書の有効期限を長くすると、失効された証明書を載せるリストであるＣＲＬ（Certificate Revocation List））のサイズが大きくなる。機器やサーバが証明書を検証する際に、ＣＲＬ配布サーバとの間で行うトランザクションのデータ量が大きくなるため、ＣＲＬのサイズが大きくなることは望ましいことではない。さらに、証明書の有効期限を長くすると、証明書に紐づく鍵が漏洩した場合などの影響範囲が大きくなる。これらの理由からも、証明書の有効期限をあまり長くすることには問題がある。
【０００６】
その機器の運用期間の間、有効な証明書を機器に付与し続けるために、運用期間の途中で秘密鍵と証明書を更新することが考えられる。定期的な保守が難しいＩｏＴ機器などにおいては、鍵と証明書を更新するタイミングが課題となることがある。特許文献１には、無線ＬＡＮ端末が認証サーバとの間で証明書を更新する技術が開示されている。この特許文献１によると、証明書の有効期間に基づいて更新期間を予め定めておき、クライアントである無線端末が証明書を用いて認証サーバに接続した際に、同時に証明書の更新期間内か否かを確認し、更新期間内の場合は、証明書の更新を認証局に要求する。そして、認証局は更新した証明書を、その無線端末に返信する。これにより定期的な保守がなされないクライアントの証明書を更新することができる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００８−１６０３８４号公報
【非特許文献】
【０００８】
【非特許文献１】Elaine Barker，”Recommendation for Key Management Part 1: General，”NIST Special Publication 800-57 Part 1 Revision 4， National Institute of Standards and Technology
【発明の概要】
【発明が解決しようとする課題】
【０００９】
ＩｏＴ機器には長期間利用されない、不定期に利用される、あるいは常時接続でないなどの性質を有するものが存在する。このような機器の場合、特許文献１の方法では、証明書期間内かつ更新期間内に機器が稼動せず、証明書の有効期間内に証明書の更新が行われない可能性がある。当該方法では、証明書の有効期間が切れた場合、証明書の更新をセキュアに行うことはできない。
【００１０】
本発明の目的は、長期間利用されない、不定期に利用される、または、常時接続でないなどといった性質を有するＩｏＴ機器に対しても、セキュリティを確保しつつ、証明書を更新することのできる電子証明書管理システムを提供することにある。
【課題を解決するための手段】
【００１１】
本発明の電子証明書管理システムの構成は、好ましくは、ネットワークに接続される機器の電子証明書の発行と有効性を管理する電子証明書管理システムであって、機器とネットワークにより接続され、機器の電子証明書を管理する証明書管理サーバを備え、証明書管理サーバは、記憶装置に、機器の真正性を証明する電子証明書である第１の証明書と第２の証明書とを保持し、第２の証明書の有効期間の終了日時は、第１の証明書の有効期間の終了日時よりも後ろの日時であって、機器は、記憶装置に、共通鍵である証明書暗号化鍵により、第２の証明書を暗号化した暗号化された第２の証明書を保持し、証明書管理サーバは、記憶装置に、第２の証明書と関連付けて、証明書暗号化鍵とを保持し、機器は、第２の証明書の有効期間の終了日時後に、証明書管理サーバより、証明書暗号化鍵を受信し、証明書暗号化鍵により、暗号化された第２の証明書を復号するようにしたものである。
【００１２】
さらに、詳しくは、機器は、記憶装置に、共通鍵である秘密鍵暗号化鍵により、第２の証明書の公開鍵と対になる秘密鍵を暗号化した暗号化された秘密鍵を保持し、機器は、秘密鍵の暗号化後に、記憶装置から秘密鍵暗号化鍵を削除し、証明書管理サーバは、記憶装置に、第２の証明書と関連付けて、証明書暗号化鍵を保持し、第２の証明書の有効期間の終了日時後に、証明書管理サーバより、秘密鍵暗号化鍵と、証明書暗号化鍵を受信し、秘密鍵暗号化鍵により、暗号化された秘密鍵を復号するようにしたものである。
【発明の効果】
【００１３】
本発明によれば、長期間利用されない、不定期に利用される、または、常時接続でないなどといった性質を有するＩｏＴ機器に対しても、セキュリティを確保しつつ、証明書を更新することのできる電子証明書管理システムを提供することができる。
【図面の簡単な説明】
【００１４】
【図１】電子証明書管理システムの全体構成を示すブロック図である。
【図２】実施形態１の証明書管理サーバのソフトウェア・ハードウェア構成を示すブロック図である。
【図３】実施形態１のＩｏＴ機器のソフトウェア・ハードウェア構成を示すブロック図である。
【図４】第１の証明書テーブル２３０の一例を示す図である。
【図５】第２の証明書テーブル２４０の一例を示す図である。
【図６】証明書（第１の証明書、第２の証明書）のフォーマットの一例を示す図である。
【図７】実施形態１の電子証明書管理システムの処理の概要を説明するゼネラルチャートである。
【図８】実施形態１のＳ８０１の証明書生成フェーズの詳細について説明するフローチャートである。
【図９】実施形態１のＳ８０２の証明書利用フェーズの詳細について説明するフローチャートである。
【図１０】認証局管理サーバが、ＩｏＴ機器失効要求を受けた際の処理を示すフローチャートである。
【図１１】認証局管理サーバが、証明書失効要求を受けた際の処理を示すフローチャートである。
【図１２】実施形態２の証明書管理サーバのソフトウェア・ハードウェア構成を示すブロック図である。
【図１３】実施形態２のＩｏＴ機器のソフトウェア・ハードウェア構成を示すブロック図である。
【図１４】実施形態２のＳ８０１の証明書生成フェーズの詳細について説明するフローチャートである。
【図１５】実施形態１のＳ８０２の証明書利用フェーズの詳細について説明するフローチャートである。
【発明を実施するための形態】
【００１５】
以下、本発明に係る各実施形態について、図１ないし図１５を用いて説明する。
【００１６】
〔実施形態１〕
以下、本発明に係る実施形態１を、図１ないし図１１を用いて説明する。
先ず、図１ないし図３を用いて実施形態１に係る電子証明書管理システムの構成について説明する。
【００１７】
実施形態１の電子証明書管理システムは、図１に示されるように、証明書管理サーバ１００、ＩｏＴ機器１１０、ＩｏＴサーバ１２０から構成され、それぞれの装置は、ネットワーク１５０を介して接続されている。
【００１８】
ネットワーク１５０は、例えば、インターネットなどのＷＡＮ（Wide Area Network）でもよいし、企業内のＬＡＮ（Local Area Network）であってもよい。なお、また、実施形態の電子証明書管理システムは、ネットワークの種別や有線、無線などの接続方式にも、限定されない。
【００１９】
本実施形態では、証明書管理サーバ１００は、オンプレミス（on-premises：自社運用型）であってもよいし、クラウドシステムを用いて証明書管理サーバ１００を実現してもよい。
【００２０】
証明書管理サーバ１００は、ＩｏＴ機器１１０の証明書の発行と、その管理を行い、ＩｏＴ機器１１０に、証明書を送信し、有効化するためのサーバである。
【００２１】
ＩｏＴ機器１１０は、例えば、製造工場などにおいて生産される機器であり、製造工場などにおいて複数の秘密鍵と公開鍵の組を生成する。証明書管理サーバ１００は、ＩｏＴ機器１１０により生成された公開鍵の証明書を生成する。
【００２２】
ＩｏＴサーバ１２０は、ＩｏＴ機器１１０の運用時に、ＩｏＴ機器１１０と通信を行い、情報を収集したり、動作の指示をおこなったりするサーバである。
【００２３】
証明書管理サーバ１００は、一般的なサーバ装置により実現され、図２に示されるように、ハードウェアとして、プロセッサ２０１、主メモリ２０２、記憶装置２０３、ネットワークインタフェース２０４、Ｉ／Ｏインタフェース２０５、補助記憶装置インタフェース２０８がバス等を介して接続された構成である。
【００２４】
プロセッサ２０１は、証明書管理サーバ１００の各部を制御し、主メモリ２０２にロードされるプログラムを実行する。プロセッサ２０１が、主メモリ２０２上のデータを参照し、プログラムの命令語を実行することによって、プログラムの機能を実現する。
【００２５】
主メモリ２０２は、プロセッサ２０１が実行するプログラムおよび当該プログラムが使用するワークデータを記憶する揮発性の半導体装置である。
【００２６】
記憶装置２０３は、例えば、ＨＤＤ（Hard Disk Drive）およびＳＳＤ（Solid State Drive）等の磁気媒体または半導体にデータを記憶する大容量の不揮発性の補助記憶装置である。
【００２７】
補助記憶装置インタフェース２０８は、補助記憶装置を接続するためのインタフェースである。
【００２８】
ネットワークインタフェース２０４は、ネットワークを介して外部の装置と通信するためのインタフェースである。本実施形態では、証明書管理サーバ１００は、ネットワークインタフェース２０４により、ネットワーク１５０を介して、ＩｏＴ機器１１０と通信する。
【００２９】
Ｉ／Ｏインタフェース２０５は、入力装置２０６および出力装置２０７等の外部装置と接続するためのインタフェースである。入力装置２０６は、例えば、キーボード、マウス、およびタッチパネル等であり、また、出力装置２０７は、ディスプレイおよびタッチパネル等である。
【００３０】
証明書管理サーバ１００の記憶装置２０３には、制御プログラム２０９、証明書管理プログラム２１０がインストールされている。
【００３１】
制御プログラム２０９は、証明書管理サーバ１００全体を制御するプログラムである。
【００３２】
証明書管理プログラム２１０は、ＩｏＴ機器に関連する証明書を生成、管理するためのプログラムであり、共通鍵生成モジュール２１１、暗号化モジュール２１２、証明書生成モジュール２１３、およびアクセス制御モジュール２１４からなる。
【００３３】
共通鍵生成モジュール２１１は、ランダムなビット列を生成し、暗号化等に使用する鍵を生成するモジュールである。特に、証明書管理サーバ１００は、証明書を暗号化する共通鍵を生成する。
【００３４】
暗号化モジュール２１２は、共通鍵暗号方式の鍵を用いて平文を暗号化することによって暗号文を生成するモジュールである。具体的には、暗号化モジュール２１２は、以下の（式１）に示すように、共通鍵暗号方式の鍵および平文を変数とする暗号化関数Ｅｎｃを用いて暗号文を算出する。
ｃ＝Ｅｎｃ（ｃｋ，ｐ）…（式１）
ここで、ｃｋは共通鍵暗号方式の鍵を表し、ｐは平文を表し、また、ｃは暗号文を表す。
【００３５】
証明書生成モジュール２１３は、認証局秘密鍵２２０を用いて、それと対になる証明書発行対象の公開鍵とその付加データを結合したデータに署名を付加することにより、証明書を生成するモジュールである。
【００３６】
アクセス制御モジュール２１４は、記憶装置２０３の第２の証明書テーブル２４０への外部システムからのアクセスを日時などに基づき制御するモジュールである。制御する方法の一例として、公開が許された証明書に対してのみ、ＩｏＴ機器からの要求に従って、暗号化された証明書を復号する鍵を送信することが考えられる。
【００３７】
証明書管理サーバ１００の記憶装置２０３には、認証局秘密鍵２２０、第１の証明書テーブル２３０、および第２の証明書テーブル２４０を格納する。認証局秘密鍵２２０は、公開鍵方式の秘密鍵であり、証明書を発行する際の署名生成に利用する暗号鍵である。第１の証明書テーブル２３０は、各ＩｏＴ機器１１０の第１の証明書に関する情報を格納するテーブルである。なお、第１の証明書テーブル２３０の詳細は、後に図４を用いて説明する。第２の証明書テーブル２４０は、各ＩｏＴ機器１１０の第２の証明書に関する情報を格納するテーブルである。なお、第２の証明書テーブル２４０の詳細は、後に図５を用いて説明する。
【００３８】
ＩｏＴ機器１１０は、日常生活や生産活動で用いられるマイクロプロセッサを内蔵する情報処理機器であり、ハードウェアとして、プロセッサ３０１、主メモリ３０２、第１の記憶装置３０３、第２の記憶装置３０４、第３の記憶装置３０５、補助記憶装置インタフェース３０７、およびネットワークインタフェース３０６がバス等を介して接続された構成である。
【００３９】
プロセッサ３０１、主メモリ３０２、第１の記憶装置３０３〜第３の記憶装置３０５、補助記憶装置インタフェース３０７、ネットワークインタフェース３０６は、それぞれプロセッサ２０１、主メモリ２０２、記憶装置２０３、補助記憶装置インタフェース２０８、ネットワークインタフェース２０４と同様のものである。
【００４０】
ＩｏＴ機器１１０の第３の記憶装置３０５には、制御プログラム３１０と、証明書処理プログラム３８０がインストールされている。なお、特に図示しなかったが、ＩｏＴ機器１１０の機能に応じて、例えば、センサなら計測プログラムや、サーバにデータを送信するプログラムなどその他のプログラムもインストールされている。
【００４１】
制御プログラム３１０は、ＩｏＴ機器１１０全体を制御するプログラムである。
また、証明書処理プログラム３８０は、このＩｏＴ機器の取り扱う証明書に関する処理をするプログラムであり、公開鍵生成モジュール３１１、共通鍵生成モジュール３１２、暗号化モジュール３１３、復号モジュール３１４、および期限管理モジュール３１５からなる。
【００４２】
公開鍵生成モジュール３１１は、公開鍵方式の秘密鍵と公開鍵の鍵ペアを生成するモジュールである。
共通鍵生成モジュール３１２は、共通鍵方式の鍵を生成するモジュールである。特に、ＩｏＴ機器１１０では、秘密鍵を暗号化する鍵を生成する。
暗号化モジュール３１３は、共通鍵暗号方式の鍵を用いて平文を暗号化することによって暗号文を生成するモジュールである。暗号化は暗号化モジュール２１２と同じ（式１）に従って、実行される。
【００４３】
復号モジュール３１４は、共通鍵暗号方式の鍵を用いて暗号文を復号することによって平文を生成するモジュールである。具体的には、復号モジュール３１４は、以下の（式２）に示すように、共通鍵暗号方式の鍵および暗号文を変数とする復号関数Ｄｅｃを用いて平文を算出する。
ｐ＝Ｄｅｃ（ｃｋ，ｃ）    …（式２）
ここで、ｃｋは共通鍵暗号方式の鍵を表し、ｃは暗号文を表し、ｐは平文を表す。
【００４４】
期限管理モジュール３１５は、証明書の有効期限を管理するモジュールである。
【００４５】
ＩｏＴ機器１１０の第１の記憶装置３０３は、第１の秘密鍵３２０、暗号化された第２の秘密鍵３４０を格納し、第２の記憶装置３０４は、第１の証明書３３０、暗号化された第２の証明書３５０を格納する。
【００４６】
実施形態１では、ＩｏＴ機器１１０は、第１の証明書と第２の証明書の二種類の証明書により、外部のサーバや外部機器に対しての認証をおこなう。第２の証明書は、必要なときになるまでは、暗号化しておき、必要になったときに、復号して利用するものである（詳細は後述）。
【００４７】
第１の秘密鍵３２０は、公開鍵方式の秘密鍵である。第１の証明書３３０は、第１の秘密鍵３２０のペアである公開鍵に対する公開鍵証明書である。
【００４８】
暗号化された第２の秘密鍵３４０は、公開鍵方式の第２の秘密鍵を共通鍵暗号方式の鍵により暗号化した暗号文である。暗号化された第２の秘密鍵３４０は、以下の（式３）で算出された暗号文である。
ｅｓｋ２＝Ｅｎｃ（ｃｋ，ｓｋ２）    …（式３）
ここで、ｃｋは共通鍵暗号方式の鍵を表し、ｓｋ２は第２の秘密鍵を表し、ｅｓｋ２は暗号化された第２の秘密鍵３４０を表す。
【００４９】
暗号化された第２の証明書３５０は、第２の証明書を共通鍵暗号方式の鍵により暗号化した暗号文である。第２の証明書は、第２の秘密鍵のペアである公開鍵に対する公開鍵証明書である。暗号化された第２の証明書３５０は、以下の（式４）で算出された暗号文である。
ｅｃｅｒｔ２＝Ｅｎｃ（ｃｋ’，ｃｅｒｔ２）    …（式４）
ここで、ｃｋ’は共通鍵暗号方式の鍵を表し、ｃｅｒｔ２は第２の証明書を表し、ｅｃｅｒｔ２は暗号化された第２の証明書３５０を表す。
【００５０】
なお、第１の秘密鍵３２０、暗号化された第２の秘密鍵３４０を格納する第１の記憶装置３０３は、耐タンパ性であることが望ましい。
【００５１】
次に、図４ないし図６を用いて本実施形態の電子証明書管理システムで用いられるデータ構造について説明する。
第１の証明書テーブル２３０は、各ＩｏＴ機器１１０の第１の証明書に関する情報を格納するためのテーブルであり、図４に示されるように、証明書ＩＤ５０１、第１の証明書カラム５０２の各カラムから構成されるレコードを含むテーブルである。ここで、一つのレコードが一つのＩｏＴ機器１１０の第１の証明書に対応する情報である。
【００５２】
証明書ＩＤ５０１は、証明書を識別するためのＩＤを格納するカラムである。
第１の証明書カラム５０２は、ＩｏＴ機器１１０の第１の証明書を格納するカラムである。
【００５３】
第２の証明書テーブル２４０は、各ＩｏＴ機器１１０の第２の証明書に関する情報を格納するためのテーブルであり、図５に示されるように、証明書ＩＤ６０１、第２の証明書カラム６０２、秘密鍵暗号化鍵カラム６０３、および証明書暗号化鍵カラム６０４から構成されるレコードを含むテーブルである。ここで、一つのレコードが一つのＩｏＴ機器１１０の第２の証明書に対応する情報である。
【００５４】
証明書ＩＤ６０１は、証明書を識別するためのＩＤを格納するカラムである。
第２の証明書カラム６０２は、ＩｏＴ機器１１０の第２の証明書を格納するカラムである。
秘密鍵暗号化鍵カラム６０３は、ＩｏＴ機器１１０の第２の秘密鍵を暗号化する共通鍵ｃｋを格納するカラムである。
証明書暗号化鍵カラム６０４は、ＩｏＴ機器１１０の第２の証明書を暗号化する共通鍵ｃｋ’を格納するカラムである。
【００５５】
次に、図６を用いて、実施形態１の証明書のフォーマットについて説明する。
第１の証明書、および第２の証明書は、図６に示した証明書７００のフォーマットに従うフォーマットを有する。
【００５６】
証明書７００は、発行人名７０１、シーケンス番号７０２、有効期間７０３、サブジェクト７０４、公開鍵７０５、および署名７０６の各フィールドを含む。
【００５７】
発行人７０１のフィールドには、証明書を発行した認証局を特定する情報が記載される。特定する情報は、例えば、認証局の名称である。
シーケンス番号７０２のフィールドには、証明書の番号が記載される。シーケンス番号７０２は、発行人が証明書に付ける通し番号で、発行人が発行する証明書の一つ一つに個別の番号が付けられる。
有効期間７０３のフィールドには、証明書の有効な期間を表す情報で、有効期間開始日時と終了日時からなる。
サブジェクト７０４のフィールドには、証明書が割り当てられるエンティティ（例えば、ＩｏＴ機器１１０）を特定する情報が記載される。
公開鍵７０５のフィールドには、認証局が発行したこの証明書に係る公開鍵が記載される。
署名７０６のフィールドには、認証局が算出した署名値が記載される。証明書７００のフォーマットの具体例として、例えばＸ．５０９が挙げられる。
【００５８】
次に、図７ないし図１１を用いて実施形態１に係る電子証明書管理システムの処理について説明する。
先ず、図７を用いて実施形態１の電子証明書管理システムの処理の概要について説明する。
【００５９】
電子証明書管理システムは、先ず、証明書生成フェーズに移行する（Ｓ８０１）。証明書生成フェーズは、証明書管理サーバ１００が第１の証明書および第２の証明書を生成し、関連する情報をＩｏＴ機器１１０に送信するまでのフェーズである。
【００６０】
次に、電子証明書管理システムは、証明書利用フェーズに移行する（Ｓ８０２）。証明書利用フェーズは、ＩｏＴ機器１１０が第１の証明書および第２の証明書を利用可能なようにするまでのフェーズである。
【００６１】
次に、図８を用いてＳ８０１の証明書生成フェーズの詳細について説明する。
ＩｏＴ機器１１０が、公開鍵生成モジュール３１１で第１の秘密鍵（ｓｋ１）３２０、第１の公開鍵ｐｋ１、第２の秘密鍵（ｓｋ２）３４０、および第２の公開鍵ｐｋ２を生成する（Ｓ９０１）。この際、第１の秘密鍵と第１の公開鍵は組をなし、第２の秘密鍵と第２の公開鍵は組をなすものとする。
【００６２】
次に、ＩｏＴ機器１１０は、共通鍵生成モジュール３１２で秘密鍵を暗号化する共通鍵である秘密鍵暗号鍵ｃｋを生成する（Ｓ９０２）。
そして、ＩｏＴ機器１１０は、第１の公開鍵、第２の公開鍵、および秘密鍵暗号鍵を証明書管理サーバ１００に送信する（Ｓ９０３）。
【００６３】
次に、証明書管理サーバ１００は、証明書生成モジュール２１３で第１の公開鍵ｐｋ１に対し、第１の有効期間を持つ第１の証明書（ｃｅｒｔ１）３３０を生成する（Ｓ９０４）。
【００６４】
次に、証明書管理サーバ１００は、証明書生成モジュール２１３で第２の公開鍵ｐｋ２に対し、第２の有効期間を持つ第２の証明書ｃｅｒｔ２を生成する（Ｓ９０５）。この際、第２の有効期間の終了日時は第１の有効期間の終了日時よりも未来の日時を設定する。
そして、証明書管理サーバ１００は、第１の証明書に関する情報を第１の証明書テーブル２３０に格納する（Ｓ９０６）。
【００６５】
次に、証明書管理サーバ１００は、共通鍵生成モジュール２１１で証明書を暗号化する共通鍵である証明書暗号化鍵ｃｋ’を生成する（Ｓ９０７）。
そして、証明書管理サーバ１００は、秘密鍵暗号化鍵ｃｋ、証明書暗号化鍵ｃｋ’、および第２の証明書ｃｅｒｔ２の情報を、第２の証明書テーブル２４０に格納する（Ｓ９０８）。
【００６６】
次に、証明書管理サーバ１００は、証明書暗号化鍵で第２の証明書を暗号化する（Ｓ９０９）。
そして、証明書管理サーバ１００は、第１の証明書３３０、および暗号化された第２の証明書３５０をＩｏＴ機器１１０に送信する（Ｓ９１０）。
【００６７】
証明書管理サーバ１００から受信したＩｏＴ機器１１０は、第１の秘密鍵３２０を第１の記憶装置３０３に、第１の証明書３３０を第２の記憶装置３０４に保管する（Ｓ９１１）。
【００６８】
次に、ＩｏＴ機器１１０は、第２の秘密鍵を秘密鍵暗号化鍵ｃｋで暗号化して暗号化された第２の秘密鍵３４０を生成し、暗号化された第２の秘密鍵３４０を第１の記憶装置３０３に保管する（Ｓ９１２）。
また、ＩｏＴ機器１１０は、証明書管理サーバ１００から受信した暗号化された第２の証明書３５０を第２の記憶装置３０４に保管する（Ｓ９１３）。
ＩｏＴ機器１１０は、秘密鍵暗号化鍵ｃｋを削除する（Ｓ９１４）。
証明書管理サーバ１００は、第２の証明書テーブルを非公開に設定し、外部からのアクセスを禁止し（Ｓ９１５）、ＩｏＴ機器１１０からアクセスできないようにする。
【００６９】
次に、図９を用いてＳ８０２の証明書利用フェーズの詳細について説明する。
先ず、証明書管理サーバ１００は、第１の有効期間開始日時に第１の証明書テーブル２３０を公開する（Ｓ１００１）。
【００７０】
そして、ＩｏＴ機器１１０は、第１の有効期間開始日時から第１の有効期間終了日時の間に、秘密鍵と証明書を利用する際には、それぞれ第１の秘密鍵（ｓｋ１）３２０と第１の証明書（ｃｅｒｔ１）３３０を利用する（Ｓ１００２）。
【００７１】
次に、証明書管理サーバ１００は、第１の有効期間終了日時に第２の証明書テーブル２４０を公開する（Ｓ１００３）。第２の証明書テーブル２４０を公開することにより、第１の有効期間の終了日時以降は、第２の証明書テーブル２４０への外部システムからのアクセスは禁止されず、外部から参照可能になる。
【００７２】
ＩｏＴ機器１１０は、第１の有効期間終了日時から第２の有効期間終了日時の間に、秘密鍵と証明書を利用する際には、第２の秘密鍵と第２の証明書に対応する秘密鍵暗号化鍵ｃｋと証明書暗号化鍵ｃｋ’を保有しているか否かを確認する（Ｓ１００４）。
【００７３】
ＩｏＴ機器１１０は、Ｓ１００４で、いずれかの鍵を保有していない場合、秘密鍵暗号化鍵と証明書暗号化鍵を証明書管理サーバ１００に要求する（Ｓ１００５）。要求するときには、ＩｏＴ機器１１０を識別できる情報をパラメータとして同時に送信する。例えば、証明書７００のサブジェクト７０４に格納されている名称を送信する。このときには、証明書管理サーバ１００は、第２の証明書テーブル２４０に格納されている第２の証明書の該当するエントリから秘密鍵暗号化鍵と証明書暗号化鍵を検索することができる。
【００７４】
証明書管理サーバ１００は、第２の秘密鍵と第２の証明書に対応する秘密鍵暗号化鍵と証明書暗号化鍵を第２の証明書テーブルから取り出し、ＩｏＴ機器１１０に送信する（Ｓ１００６）。
【００７５】
ＩｏＴ機器１１０は、復号モジュール３１４を用いて、第１の記憶装置３０３に保管されている暗号化された第２の秘密鍵３４０を秘密鍵暗号化鍵ｃｋで復号し、第２の記憶装置３０４の暗号化された第２の証明書３５０を証明書暗号化鍵ｃｋ’で復号して、第２の秘密鍵と第２の証明書を利用する（Ｓ１００７）。
【００７６】
証明書利用フェーズの間に、証明書管理サーバ１００は、ＩｏＴ機器失効要求または証明書失効要求を受け付けることができる。それぞれの要求を受け付けた際の証明書管理サーバの処理を図１０および図１１を用いて説明する。
【００７７】
先ず、図１０を用いて認証局管理サーバが、ＩｏＴ機器失効要求を受けた際の処理について説明する。
証明書管理サーバ１００が、ＩｏＴ機器失効要求を受け付ける（Ｓ１１０１）。
証明書管理サーバ１００は、要求されたＩｏＴ機器１１０に紐づく有効な証明書を証明書失効リスト（ＣＲＬ）に登録する（Ｓ１１０２）。
証明書管理サーバ１００は、要求されたＩｏＴ機器１１０に紐づく未公開の証明書があるか否かを確認する（Ｓ１１０３）。
Ｓ１１０３で未公開の証明書がない場合（Ｓ１１０３：Ｎｏ）、処理を終了する。
Ｓ１１０３で未公開の証明書がある場合（Ｓ１１０３：Ｙｅｓ）、未公開の証明書を含むレコードを証明書テーブルから消去して（Ｓ１１０４）、処理を終了する。
【００７８】
次に、図１１を用いて、認証局管理サーバが、証明書失効要求を受けた際の処理について説明する。
証明書管理サーバ１００が、証明書失効要求を受け付ける（Ｓ１２０１）。
証明書管理サーバ１００は、要求されたＩｏＴ機器に紐づく有効な証明書を証明書失効リスト（ＣＲＬ）に登録する（Ｓ１２０２）。
証明書管理サーバ１００は、要求されたＩｏＴ機器に紐づく未公開の証明書があるか否かを確認する（Ｓ１２０３）。
【００７９】
Ｓ１２０３で未公開の証明書がない場合（Ｓ１２０３：Ｎｏ）、処理を終了する。
Ｓ１２０３で未公開の証明書がある場合（Ｓ１２０３：Ｙｅｓ）、未公開の証明書のうち、有効期間終了日時が最も現在に近い証明書に紐づく証明書テーブルのレコードを公開し（Ｓ１２０４）、処理を終了する。公開された証明書は、これ以降、アクセスは、禁止されず、外部から参照可能になる。
【００８０】
上記証明書の失効処理により、ＩｏＴ機器１１０は、失効された証明書と秘密鍵に代わり、新たに公開された証明書とそれに紐づく秘密鍵を利用することが可能となる。これにより、有効な証明書と秘密鍵がないという状態を防ぐことができる。
【００８１】
なお、本実施形態ではＩｏＴ機器を一つのみ記載しているが、複数のＩｏＴ機器が存在してもよい。複数のＩｏＴ機器が存在する場合は、第１の秘密鍵、第１の証明書、第２の秘密鍵、第２の証明書、秘密鍵暗号化鍵、および証明書暗号化鍵は、いずれもＩｏＴ機器毎に異なるものであってよい。
【００８２】
本実施形態によると、第２の証明書は第２の証明書テーブル２４０が公開されるまで、その存在さえも外部からは認知できない。第１の証明書の第１の有効期間の終了日時に、第２の証明書テーブル２４０が公開され、初めて第２の証明書の存在が外部に知らされる。第２の証明書の実質的な有効期間は、第１の有効期間の終了日時から第２の有効期間の終了日時までとなる。第２の証明書の有効期間は、実質上この期間に限定されていることになる。
【００８３】
上記のように、第２の証明書の実質的な有効期間は、第１の有効期間の終了日時から第２の有効期間の終了日時までである。この期間を、例えば、３年にすることによって、第２の証明書の実質的な有効期間を３年に限ることができる。これにより、非特許文献１に記載の有効期間に対する要件を満たすことができる。さらに、ＣＲＬサイズの増大や秘密鍵漏洩時の影響拡大も防ぐことができる。
【００８４】
なお、第１の有効期間の間は、第２の証明書テーブルは非公開のため、証明書暗号化鍵も非公開である。このため、ＩｏＴ機器の第２の記憶装置に格納されている暗号化された第２の証明書は、復号することができず、ＩｏＴ機器を通じても、第１の有効期間の間に第２の証明書が証明書管理サーバ１００以外に知られることはない。
【００８５】
第２の証明書テーブルの公開は、証明書管理サーバにより実施される。ＩｏＴ機器１１０は第２の秘密鍵と第２の証明書を始めて利用する場合には、第２の証明書テーブルから秘密鍵暗号化鍵と証明書暗号化鍵を取得し、ＩｏＴ機器の第２の記憶装置に予め格納されている暗号化された第２の秘密鍵と暗号化された第２の証明書を復号することによって、第２の秘密鍵と第２の証明書を取得できる。このＩｏＴ機器の処理は、第２の証明書テーブルが公開された後であれば、いつ行ってもよい。証明書管理サーバ１００による第２の証明書テーブルの公開とＩｏＴ機器１１０による第２の秘密鍵と第２の証明書の復号の組合せが、秘密鍵と証明書の更新に相当する。この更新処理には、ＩｏＴ機器の処理に期限がないため、長期間利用されない、不定期に利用される、または、常時接続でない、などといった性質を有するＩｏＴ機器がどのような稼動状況にあろうとも、セキュアに証明書を更新することが可能である。
【００８６】
また、ＩｏＴ機器１１０の第１の記憶装置は、第２の秘密鍵を暗号化された状態で格納する。秘密鍵暗号化鍵は、第１の有効期間の終了日時以降でないと、取得できないため、第２の秘密鍵がＩｏＴ機器内およびＩｏＴ機器外に漏れることはない。
【００８７】
そのため、第１の有効期間の終了日時よりも前であれば、第２の秘密鍵と第２の証明書を失効したい場合は、ＣＲＬを利用せずとも、第２の証明書テーブル２４０から第２の証明書の情報が保持されているレコードを削除しさえすればよい。
【００８８】
なお、本実施形態では、認証局秘密鍵は一つとしたが、これを複数とすることも可能である。具体的には、第１の証明書を作成する認証局秘密鍵と第２の証明書を作成する認証局秘密鍵は異なるものであってもよい。この場合、これら二つの認証局秘密鍵に紐づく証明書も異なるものであり、特に有効期間の範囲は異なるものであってもよい。
【００８９】
なお、本実施形態では第１の秘密鍵と第２の秘密鍵は異なるものとしたが、これらは同一のものであってもよい。この場合、ＩｏＴ機器１１０の第１の記憶装置に格納するデータ量を減らすことができるため、リソースの少ないＩｏＴ機器にとっては、特に有効な方法となる。
【００９０】
以上のように本実施形態によれば、長期間利用されない、不定期に利用される、または、常時接続でないなどといった性質を有するＩｏＴ機器に対しても、セキュリティを確保しつつ、証明書を更新することができる。
【００９１】
〔実施形態２〕
以下、本発明に係る実施形態２を、図１２ないし図１５を用いて説明する。
実施形態１では、証明書管理サーバ１００がＩｏＴ機器１１０に対して、第１の証明書と第２の証明書を発行し、第１の証明書の有効期間が過ぎたときに、ＩｏＴ機器１１０に対して、暗号化された第２の証明書を復号化して利用する例について説明した。
【００９２】
本実施形態では、ＩｏＴ機器１１０がさらに多くの証明書を利用できるようにしたものである。
【００９３】
以下、本実施形態では、実施形態１との差異を中心に説明する。
実施形態２の電子証明書管理システムの構成は、実施形態１のシステム構成と同様である。ただし、実施形態２では、証明書管理サーバ１００の構成において、記憶装置２０３に格納されるデータ、および、ＩｏＴ機器１１０の構成において、第１の記憶装置３０３および第２の記憶装置３０４の格納するデータが一部異なる。
【００９４】
先ず、図１２および図１３を用いて実施形態２に係る電子証明書管理システムの構成について説明する。
実施形態２の証明書管理サーバ１００の記憶装置２０３は、第一の証明書テーブルと第２の証明書テーブルに加えて、さらに、第３の証明書テーブルから第Ｎの証明書テーブルのＮ−２個のテーブルを格納している。また、ＩｏＴ機器１１０の第１の記憶装置３０３は、第１の秘密鍵と暗号化された第２の秘密鍵に加えて、さらに、暗号化された第３の秘密鍵から暗号化された第Ｎの秘密鍵３６０のＮ−２個の暗号化された秘密鍵を格納しており、ＩｏＴ機器１１０の第２の記憶装置３０４は、第１の証明書と暗号化された第２の証明書に加えて、さらに、暗号化された第３の証明書から暗号化された第Ｎの証明書３７０のＮ−２個の暗号化された証明書を格納している。
【００９５】
実施形態２の第ｋ（ｋ≧２）の証明書テーブルは、実施形態１の図５で説明した第２の証明書テーブル２４０と同じ構造を有する。ただし、第２の証明書カラムは、第ｋの証明書カラムとなり、第ｋの証明書を保持するフィールドとなる。
【００９６】
次に、図１４および図１５を用いて実施形態２に係る電子証明書管理システムの処理について説明する。
【００９７】
実施形態１の電子証明書管理システムの処理の概要は、実施形態１の図７のゼネラルチャートで示されるものと同様である。
【００９８】
先ず、図１４を用いて実施形態２のＳ８０１の証明書生成フェーズの詳細について説明する。
ＩｏＴ機器１１０が、公開鍵生成モジュール３１１でＮ（Ｎ≧２なる整数）組の公開鍵方式の秘密鍵と公開鍵の組を生成する（Ｓ１５０１）。ここで、ｋ（ｋ≧１なる整数）組目の秘密鍵と公開鍵の組は、秘密鍵を第ｋの秘密鍵、公開鍵を第ｋの公開鍵と呼ぶ。
【００９９】
ＩｏＴ機器１１０は、共通鍵生成モジュール３１２でＮ−１個の秘密鍵暗号化鍵を生成する（Ｓ１５０２）。ｋ番目の秘密鍵を暗号化する共通鍵を第ｋの秘密鍵暗号化鍵と呼ぶ。
【０１００】
ＩｏＴ機器１１０は、生成したＮ個の公開鍵およびＮ−１個の秘密鍵暗号化鍵を証明書管理サーバ１００に送信する（Ｓ１５０３）。
【０１０１】
証明書管理サーバ１００は、証明書生成モジュール２１３で、１≦ｋ≦Ｎの全てのｋに対して、第ｋの公開鍵に対し、第ｋの有効期間を持つ第ｋの証明書を生成する（Ｓ１５０４）。ここで、第ｋ＋１の有効期間の終了日時は第ｋの有効期間の終了日時よりも未来の日時を設定する。
【０１０２】
証明書管理サーバ１００は、第１の証明書を第１の証明書テーブルに格納する（Ｓ１５０５）。
【０１０３】
証明書管理サーバ１００は、共通鍵生成モジュールで、Ｎ−１個の証明書暗号化鍵を生成する（Ｓ１５０６）。ｋ番目の証明書を暗号化する共通鍵を第ｋの証明書暗号化鍵と呼ぶ。
【０１０４】
証明書管理サーバ１００は、２≦ｋ≦Ｎの全てのｋに対して、第ｋの証明書、第ｋ−１の秘密鍵暗号化鍵、第ｋ−１の証明書暗号化鍵を第ｋの証明書テーブルに格納する（Ｓ１５０７）。
【０１０５】
証明書管理サーバ１００は、２≦ｋ≦Ｎの全てのｋに対して、第ｋの証明書を第ｋ−１の証明書暗号化鍵で暗号化する（Ｓ１５０８）。
【０１０６】
証明書管理サーバ１００は、第１の証明書３３０、および暗号化された第ｋの証明書（２≦ｋ≦Ｎ）（暗号化された第２の証明書〜暗号化された第Ｎの証明書のＮ−１個の暗号化された証明書）をＩｏＴ機器１１０に送信する（Ｓ１５０９）。
【０１０７】
ＩｏＴ機器１１０は、第１の秘密鍵３２０を第１の記憶装置３０３に、第１の証明書３３０を第２の記憶装置３０４を保管する（Ｓ１５１０）。
【０１０８】
ＩｏＴ機器１１０は、２≦ｋ≦Ｎの全てのｋに対して、暗号化モジュールを用いて第ｋの秘密鍵を第ｋ−１の秘密鍵暗号化鍵で暗号化し、生成された暗号化された第ｋの秘密鍵を第１の記憶装置に格納する（Ｓ１５１１）。
【０１０９】
ＩｏＴ機器１１０は、暗号化された第２の証明書から暗号化された第Ｎの証明書のＮ−１個の暗号化された証明書を第２の記憶装置に格納する（Ｓ１５１２）。
【０１１０】
ＩｏＴ機器１１０は、Ｎ−１個の第ｋ−１の秘密鍵暗号化鍵（２≦ｋ≦Ｎ）と、Ｎ−１個の第ｋ−１の証明書暗号化鍵（２≦ｋ≦Ｎ）を削除する（Ｓ１５１３）。
【０１１１】
証明書管理サーバ１００は、第ｋの証明書（２≦ｋ≦Ｎ）（暗号化された第２の証明書〜暗号化された第Ｎの証明書のＮ−１個の暗号化された証明書）のＮ−１個の証明書テーブルを非公開に設定する（Ｓ１５１４）。非公開に設定された証明書テーブルは、外部からのアクセスを禁止し、ＩｏＴ機器１１０など外部システムからアクセスできないようにする。
【０１１２】
次に、図１５を用いてＳ８０２の証明書利用フェーズの詳細について説明する。
第１の有効期間中の処理Ｓ１６０１、Ｓ１６０２は、それぞれ実施形態１の図９のＳ１００１、Ｓ１００２と同様である。
【０１１３】
実施形態２では、２≦ｋ≦Ｎの全てのｋに対して、以下の処理が実施される。
【０１１４】
証明書管理サーバ１００は、第ｋ−１の有効期間の終了日時に第ｋの証明書テーブルを公開する（Ｓ１６０３）。第ｋ−１の有効期間の終了日時以降は、公開され外部システムから第ｋの証明書テーブルへのアクセス可能になる。
【０１１５】
ＩｏＴ機器１１０は、第ｋ−１の有効期間の終了日時から第ｋの有効期間の終了日時の間に、秘密鍵と証明書を利用する際には、第ｋの秘密鍵と第ｋの証明書に対応する第ｋ−１の秘密鍵暗号化鍵と第ｋ−１の証明書暗号化鍵を保有している否かを確認する（Ｓ１６０４）。
【０１１６】
ＩｏＴ機器１１０は、Ｓ１６０４で、いずれかの鍵を保有していない場合、第ｋ−１の秘密鍵暗号化鍵と第ｋ−１の証明書暗号化鍵を証明書管理サーバ１００に要求する（Ｓ１６０５）。要求するときには、ＩｏＴ機器１１０を識別できる情報をパラメータとして同時に送信する。
【０１１７】
証明書管理サーバ１００は、第ｋ−１の秘密鍵暗号化鍵と第ｋ−１の証明書暗号化鍵を、第ｋの証明書テーブルから取り出し、ＩｏＴ機器１１０に送信する（Ｓ１６０６）。
【０１１８】
ＩｏＴ機器１１０は、復号モジュール３１４を用いて、第１の記憶装置３０３の暗号化された第ｋの秘密鍵を第ｋ−１の秘密鍵暗号化鍵で復号し、第２の記憶装置３０４の暗号化された第ｋの証明書を第ｋ−１の証明書暗号化鍵で復号して、第ｋの秘密鍵と第ｋの証明書を利用する（Ｓ１６０７）。
【０１１９】
実施形態２においては、ＩｏＴ機器失効要求または証明書失効要求の処理は、実施形態１と同様である。
【０１２０】
実施形態２においては、実施形態１における場合と同様の理由で、長期間利用されない、不定期に利用される、または、常時接続でない、などといった性質を持つＩｏＴ機器がどのような稼動状況にあろうとも、セキュアに証明書を更新することが可能である。
【０１２１】
しかも、ＩｏＴ機器１１０の証明書として、２以上の証明書が利用することができるため、いくつかの証明書が失効して、ＩｏＴ機器１１０自体が利用できないという危険が回避される。また、使える可能性のある証明書の数が多いため、一度各々の証明書の有効期限を定めれば、長い有効期限の更新をしなくても済むため、寿命の長いＩｏＴ機器１１０に対して特に有効である。
【符号の説明】
【０１２２】
１００…証明書管理サーバ
１１０…ＩｏＴ機器
１２０…ＩｏＴサーバ
１５０…ネットワーク
２０１、３０１…プロセッサ
２０２、３０２…主メモリ
２０３…記憶装置
２０８、３０７…補助記憶装置インタフェース
３０３…第１の記憶装置
３０４…第２の記憶装置
３０５…第３の記憶装置
２０４、３０６…ネットワークインタフェース
２０５…Ｉ／Ｏインタフェース
２０６…入力装置
２０７…出力装置
２０９、３１０…制御プログラム
２１０…証明書管理プログラム
２１１…共通鍵生成モジュール
２１２…暗号化モジュール
２１３…証明書生成モジュール
２１４…アクセス制御モジュール
２２０…認証局秘密鍵
２３０…第１の証明書テーブル
２４０…第２の証明書テーブル
３８０…証明書処理プログラム
３１１…公開鍵生成モジュール
３１２…共通鍵生成モジュール
３１３…暗号化モジュール
３１４…復号モジュール
３１５…期限管理モジュール
３２０…第１の秘密鍵
３３０…第１の証明書
３４０…暗号化された第２の秘密鍵
３５０…暗号化された第２の証明書
【図１】
2019121823.tif 000003
【図２】
2019121823.tif 000004
【図３】
2019121823.tif 000005
【図４】
2019121823.tif 000006
【図５】
2019121823.tif 000007
【図６】
2019121823.tif 000008
【図７】
2019121823.tif 000009
【図８】
2019121823.tif 000010
【図９】
2019121823.tif 000011
【図１０】
2019121823.tif 000012
【図１１】
2019121823.tif 000013
【図１２】
2019121823.tif 000014
【図１３】
2019121823.tif 000015
【図１４】
2019121823.tif 000016
【図１５】
2019121823.tif 000017