JP5202646B2 - 自己認証通信機器および機器認証システム - Google Patents

自己認証通信機器および機器認証システム Download PDF

Info

Publication number
JP5202646B2
JP5202646B2 JP2010542115A JP2010542115A JP5202646B2 JP 5202646 B2 JP5202646 B2 JP 5202646B2 JP 2010542115 A JP2010542115 A JP 2010542115A JP 2010542115 A JP2010542115 A JP 2010542115A JP 5202646 B2 JP5202646 B2 JP 5202646B2
Authority
JP
Japan
Prior art keywords
self
key
certificate
communication device
authentication information
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.)
Active
Application number
JP2010542115A
Other languages
English (en)
Other versions
JPWO2010067812A1 (ja
Inventor
健 米田
信博 小林
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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
Priority claimed from PCT/JP2008/072477 external-priority patent/WO2010067433A1/ja
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2010542115A priority Critical patent/JP5202646B2/ja
Publication of JPWO2010067812A1 publication Critical patent/JPWO2010067812A1/ja
Application granted granted Critical
Publication of JP5202646B2 publication Critical patent/JP5202646B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Mobile Radio Communication Systems (AREA)

Description

本発明は、例えば、ネットワークを介して機器同士、機器と管理端末、機器とサーバが安全な通信を行うための自己認証通信機器、自己認証検証通信機器、機器認証システム、機器認証システムの機器認証方法、自己認証通信プログラムおよび自己認証検証通信プログラムに関するものである。
ネットワークの進展に伴って、監視カメラと映像レコーダ、カーナビゲーションシステムと地図配信サーバ、ホーム・ビル設備機器とそれらの管理端末等、ネットワーク接続により付加価値を提供する製品・サービスが登場してきた。
ネットワークの接続によりデータの盗聴・改竄やなりすましの脅威が発生するため、SSL(Secure Socket Layer)/TLS(Transport Layer Security)やIPSec(IP Security)といった公開鍵証明書を用いるデファクトスタンダードの暗号認証通信機能を機器、端末、サーバに対して搭載する、というニーズが増大している。
暗号認証通信を実施する際には、暗号・認証に必要な鍵・証明書を機器に対して設定する必要がある。そして、その証明書には、機器のホスト名やIPアドレスを含める必要がある。
特許文献1のように、秘密鍵および証明書の機器への格納を製造時に実施する場合、IPアドレスやホスト名等機器の製造時には決まらない情報を証明書に格納することができない。
その結果、機器が秘密鍵および証明書を用いて通信する場合(例えば、機器がSSLサーバ機能を有する場合)、ブラウザから当該機器に対してhttps通信でアクセスしたときに“アクセス先の機器は成りすましの危険性がある”旨のメッセージがブラウザに表示される。何故ならば、ブラウザで指定したURL先頭部のホスト名該当部と当該機器から送付される証明書のサブジェクト名のCommonNameに格納されるホスト名該当部とが一致しないため、当該機器がホスト名で指定された正当な機器であることをブラウザが判別できないからである。
一方、システムの構築時にホスト名等の機器識別情報を機器の証明書に含めるためには、機器識別情報を機器に設定後に機器にて証明書生成処理を実施し、証明書にその機器識別情報を設定する必要がある。
機器の管理者が証明書を認証局から入手し、入手した証明書を機器に設定するという手続きが許容される場合であれば、ホスト名を含む証明書を機器に設定することは容易である。しかし、ホーム・ビルに設置される設備機器や、家庭向けに販売される情報家電に対して上記のような人手の介在する複雑な手続きを実施することは一般的に許容されていない。
設備機器の一種であるネットワークカメラは、システム構築時に、ホスト名を含む証明書を自動生成する機能を備えている。しかし、その証明書は、自己署名証明書(SelfSign Certificate)である。自己署名証明書は、認証局から別途発行された証明書に基づいて正当性を検証することが可能である証明書とは異なり、正当性を検証するための認証局の証明書が存在しない。そのため、自己署名証明書を用いる場合には、予め、その自己署名証明書を安全なオフライン伝送手段を用いて検証側システムへ配送し、検証側システムにその自己署名証明書を信用してよい証明書としてインストールしておく必要がある。
特表2004−519874号公報 特開2001−211171号公報 特表2002−535740号公報
本発明は、例えば、以下のことを目的とする。
設備機器・情報家電等の機器が証明書を用いて安全な通信を行うシステムにおいて、機器が、製造時には決まらないホスト名等の機器識別情報を含んだ証明書を自動的に生成・更新できるようにする。
証明書の事前オフライン配布がなされなくても、通信相手の機器やシステムが、証明書が確かにその証明書に示される機器で生成されたということを検証できるようにする。
本発明の自己認証通信機器は、自機器を識別する機器ID(IDentity)に基づいて暗号鍵データを機器ID鍵としてCPU(Central Proccessing
Unit)を用いて生成する機器ID鍵生成部と、自機器の公開鍵データと前記機器ID鍵生成部により生成された機器ID鍵とに基づいて前記公開鍵データの認証情報を機器ID認証情報としてCPUを用いて生成する機器ID認証情報生成部と、所定のデータと自機器の秘密鍵データとに基づいて前記所定のデータの認証情報を自己認証情報としてCPUを用いて生成する自己認証情報生成部と、前記所定のデータと前記機器ID認証情報生成部により生成された機器ID認証情報と前記自己認証情報生成部により生成された自己認証情報とを含んだ電子証明書を自己証明書(自己署名証明書ともいう)として特定機器へ通信装置を用いて送信する自己証明書送信部とを備える。
前記自己認証情報生成部は、前記公開鍵データと前記機器IDと前記機器ID認証情報とを含んだデータを前記所定のデータとして前記自己認証情報を生成し、前記自己証明書送信部は、前記機器ID認証情報と前記自己認証情報と前記機器ID認証情報を除いた前記所定のデータとを含んだ自己証明書を送信する。
前記自己認証通信機器は、さらに、前記秘密鍵データと前記公開鍵データとを認証鍵ペアとして所定のタイミングでCPUを用いて更新する認証鍵ペア更新部を備え、前記機器ID認証情報生成部は、前記認証鍵ペア更新部により更新された公開鍵データに基づいて前記機器ID認証情報を新たに生成し、前記自己認証情報生成部は、前記認証鍵ペア更新部により更新された秘密鍵データに基づいて前記自己認証情報を新たに生成し、前記自己証明書送信部は、前記機器ID認証情報生成部により新たに生成された機器ID認証情報と前記自己認証情報生成部により新たに生成された自己認証情報とを含んだ自己証明書を前記特定機器へ送信する。
前記機器ID鍵生成部は、IDベース暗号方式により前記機器IDをIDベース暗号公開鍵とするIDベース暗号秘密鍵を前記機器ID鍵として生成し、前記機器ID認証情報生成部は、前記IDベース暗号秘密鍵を用いて前記公開鍵データの電子署名であるIDベース暗号秘密鍵署名を前記機器ID認証情報として生成し、前記自己認証情報生成部は、前記秘密鍵データを用いて前記所定のデータの電子署名である自己署名を前記自己認証情報として生成する。
前記自己証明書送信部は、前記公開鍵データと前記機器IDと前記IDベース暗号秘密鍵署名と前記自己署名とを含めた前記自己証明書を前記特定機器に送信する。
前記機器ID鍵生成部は、公開鍵暗号方式により前記機器IDを用いて、秘密鍵データである機器個別秘密鍵と公開鍵データである機器個別公開鍵とを前記機器ID鍵として生成し、前記機器ID認証情報生成部は、前記機器個別秘密鍵を用いて前記自機器の公開鍵データの電子署名である機器個別秘密鍵署名を前記機器ID認証情報として生成し、前記自己認証情報生成部は、前記自機器の秘密鍵データを用いて前記所定のデータの電子署名である自己署名を前記自己認証情報として生成する。
前記自己証明書送信部は、前記自機器の公開鍵データと前記機器個別公開鍵と前記機器個別秘密鍵署名と前記自己署名とを含めて前記自己証明書を前記特定機器に送信する。
前記自己認証通信機器は、さらに、前記自機器の秘密鍵データに基づいて前記機器個別公開鍵の電子署名を機器個別署名としてCPUを用いて生成する機器個別署名生成部を備え、前記自己証明書送信部は、前記機器個別署名生成部により生成された機器個別署名を含めた前記自己証明書を前記特定機器に送信する。
前記機器ID鍵生成部は、共通鍵暗号方式により前記機器IDを用いて共通鍵データである機器個別共通鍵を前記機器ID鍵として生成し、前記機器ID認証情報生成部は、前記機器個別共通鍵を用いて前記公開鍵データのMAC(Message Authentication Code)である機器個別共通鍵MACを前記機器ID認証情報として生成し、前記自己認証情報生成部は、前記秘密鍵データを用いて前記所定のデータの電子署名である自己署名を前記自己認証情報として生成する。
前記自己証明書送信部は、前記公開鍵データと前記機器IDと前記機器個別共通鍵MACと前記自己署名とを含めて前記自己証明書を前記特定機器に送信する。
本発明の自己認証検証通信機器は、前記自己認証通信機器により送信された自己証明書を通信装置を用いて受信する自己証明書受信部と、前記自己証明書受信部により受信された自己証明書をCPUを用いて検証する自己証明書検証部とを備える。
前記自己証明書受信部は、前記機器IDをIDベース暗号公開鍵とするIDベース暗号秘密鍵を用いて生成された前記公開鍵データの電子署名であるIDベース暗号秘密鍵署名を前記機器ID認証情報として含むと共に、前記秘密鍵データを用いて生成された前記所定のデータの電子署名である自己署名を前記自己認証情報として含んだ自己証明書を受信し、前記自己証明書検証部は、前記公開鍵データを用いて前記自己署名を検証すると共に前記機器IDを用いて前記IDベース暗号秘密鍵署名を検証する。
前記自己証明書受信部は、前記機器IDに基づく秘密鍵データである機器個別秘密鍵を用いて生成された前記公開鍵データの電子署名である機器個別秘密鍵署名を前記機器ID認証情報として含むと共に、前記秘密鍵データを用いて生成された前記所定のデータの電子署名である自己署名を前記自己認証情報として含んだ自己証明書を受信し、前記自己証明書検証部は、前記公開鍵データを用いて前記自己署名を検証すると共に前記機器個別秘密鍵に対応する機器個別公開鍵を用いて前記機器個別秘密鍵署名を検証する。
前記自己証明書受信部は、前記機器IDに基づく共通鍵データである機器個別共通鍵を用いて生成された前記公開鍵データのMAC(Message Authentication Code)である機器個別鍵MACを前記機器ID認証情報として含むと共に、前記秘密鍵データを用いて生成された前記所定のデータの電子署名である自己署名を前記自己認証情報として含んだ自己証明書を受信し、前記自己証明書検証部は、前記公開鍵データを用いて前記自己署名を検証すると共に前記機器個別共通鍵を用いて前記機器個別鍵MACを検証する。
本発明の機器認証システムは、前記自己認証通信機器と、前記自己認証検証通信機器とを有する。
本発明の機器認証システムの機器認証方法は、自己認証通信機器と自己認証検証通信機器とを有する機器認証システムの機器認証方法であり、自己認証通信機器において、機器ID鍵生成部が、自機器を識別する機器ID(IDentity)に基づいて暗号鍵データを機器ID鍵としてCPU(Central Proccessing Unit)を用いて生成する機器ID鍵生成処理を行い、機器ID認証情報生成部が、自機器の公開鍵データと前記機器ID鍵生成部により生成された機器ID鍵とに基づいて前記公開鍵データの認証情報を機器ID認証情報としてCPUを用いて生成する機器ID認証情報生成処理を行い、自己認証情報生成部が、所定のデータと自機器の秘密鍵データとに基づいて前記所定のデータの認証情報を自己認証情報としてCPUを用いて生成する自己認証情報生成処理を行い、自己証明書送信部が、前記所定のデータと前記機器ID認証情報生成部により生成された機器ID認証情報と前記自己認証情報生成部により生成された自己認証情報とを含んだ電子証明書を自己証明書として特定機器へ通信装置を用いて送信する自己証明書送信処理を行い、自己認証検証通信機器において、自己証明書受信部が、自己認証通信機器により送信された自己証明書を通信装置を用いて受信する自己証明書受信処理を行い、自己証明書検証部が、前記自己証明書受信部により受信された自己証明書をCPUを用いて検証する自己証明書検証処理を行う。
本発明の自己認証通信プログラムは、自機器を識別する機器ID(IDentity)に基づいて暗号鍵データを機器ID鍵としてCPU(Central Proccessing Unit)を用いて生成する機器ID鍵生成処理と、自機器の公開鍵データと前記機器ID鍵生成処理により生成された機器ID鍵とに基づいて前記公開鍵データの認証情報を機器ID認証情報としてCPUを用いて生成する機器ID認証情報生成処理と、
所定のデータと自機器の秘密鍵データとに基づいて前記所定のデータの認証情報を自己認証情報としてCPUを用いて生成する自己認証情報生成処理と、前記所定のデータと前記機器ID認証情報生成処理により生成された機器ID認証情報と前記自己認証情報生成処理により生成された自己認証情報とを含んだ電子証明書を自己証明書として特定機器へ通信装置を用いて送信する自己証明書送信処理とを通信機器に実行させる。
本発明の自己認証検証通信プログラムは、前記自己認証通信機器により送信された自己証明書を通信装置を用いて受信する自己証明書受信処理と、前記自己証明書受信処理により受信された自己証明書をCPUを用いて検証する自己証明書検証処理とを通信機器に実行させる。
本発明によれば、例えば、以下の効果を奏する。
設備機器・情報家電等の通信機器が電子証明書を用いて安全な通信を行うシステムにおいて、自己署名証明書(電子証明書の一例)の事前オフライン配布をしなくても、通信相手の機器に、自己署名証明書が確かにその自己署名証明書に示される機器で生成されたということを検証させることができる。
実施の形態1における機器認証システム100の構成図。 実施の形態1における通信機器200のハードウェア資源の一例を示す図。 実施の形態1における通信機器200の機能構成図。 実施の形態1における通信機器200の製造時(製造時処理前)の格納データを示す図。 実施の形態1における通信機器200の製造時処理を示すフローチャート。 実施の形態1における通信機器200の製造時(製造時処理後)の格納データを示す図。 実施の形態1における通信機器200のシステム構築時処理を示すフローチャート。 実施の形態1における通信機器200のシステム構築時(システム構築時処理後)の格納データを示す図。 実施の形態1における機器認証システム100の運用概要を示す図。 実施の形態1における通信機器200の運用時処理を示すフローチャート。 実施の形態2における通信機器200の製造時処理を示すフローチャート。 実施の形態3における通信機器200の機能構成図。 実施の形態3における自己署名証明書更新処理を示すフローチャート。 実施の形態4における通信機器200の機能構成図。 実施の形態4における通信機器200の製造時(製造時処理前)の格納データを示す図。 実施の形態4における通信機器200の製造時処理を示すフローチャート。 実施の形態4における通信機器200の製造時(製造時処理後)の格納データを示す図。 実施の形態4における通信機器200のシステム構築時処理を示すフローチャート。 実施の形態4における通信機器200のシステム構築時(システム構築時処理後)の格納データを示す図。 実施の形態4における通信機器200の運用時処理を示すフローチャート。 実施の形態5における通信機器200の機能構成図。 実施の形態5における通信機器200の製造時(製造時処理前)の格納データを示す図。 実施の形態5における通信機器200の製造時処理を示すフローチャート。 実施の形態5における通信機器200の製造時(製造時処理後)の格納データを示す図。 実施の形態5における通信機器200のシステム構築時処理を示すフローチャート。 実施の形態5における通信機器200のシステム構築時(システム構築時処理後)の格納データを示す図。 実施の形態5における機器認証システム100の運用概要を示す図。 実施の形態5における通信機器200の運用時処理を示すフローチャート。 実施の形態6における通信機器200の機能構成図。 実施の形態6における通信機器200の製造時処理を示すフローチャート。 実施の形態6における通信機器200のシステム構築時処理を示すフローチャート。 実施の形態6における通信機器200の運用時処理を示すフローチャート。
実施の形態1.
各機器が製造時にIDベース暗号秘密鍵を生成し、各機器がシステム構築時にIDベース暗号秘密鍵を用いたRSA公開鍵(登録商標「RSA」、以下同じ)の署名を含んだ自己署名証明書を生成し、機器同士が運用時にその自己署名証明書を用いて相互認証する形態について説明する。
図1は、実施の形態1における機器認証システム100の構成図である。
実施の形態1における機器認証システム100の構成について、図1に基づいて以下に説明する。
機器認証システム100では、複数の通信機器200(通信機器A201、通信機器B202)(自己認証通信機器の一例)(自己認証検証通信機器の一例)がインターネットやLAN(ローカルエリアネットワーク)等の通信ネットワーク110を介して通信を行う。
各通信機器200は、通信を開始する際、自己署名証明書294(自己証明書の一例)を互いに送信し合い、通信相手の自己署名証明書294を検証して通信相手が他の通信機器200になりすましていないことを確認する。
通信機器200は通信機能を有する機器であればよく、通信機器200の一例として通信機能を有する監視カメラ、映像レコード、端末装置(例えば、パーソナルコンピュータ)等が挙げられる。
図2は、実施の形態1における通信機器200のハードウェア資源の一例を示す図である。
図2において、通信機器200は、プログラムを実行するCPU911(Central・Processing・Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。CPU911は、バス912を介してROM913、RAM914、通信ボード915、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置920の代わりにその他の記憶装置(例えば、RAMやフラッシュメモリ等の半導体メモリ)を用いてもよい。
RAM914は、揮発性メモリの一例である。ROM913、磁気ディスク装置920の記憶媒体は、不揮発性メモリの一例である。これらは、記憶機器、記憶装置あるいは記憶部の一例である。また、入力データが記憶されている記憶機器は入力機器、入力装置あるいは入力部の一例であり、出力データが記憶される記憶機器は出力機器、出力装置あるいは出力部の一例である。
通信ボード915は、入出力機器、入出力装置あるいは入出力部の一例である。
通信ボード915は、有線または無線で、LAN、インターネット、WAN(ワイドエリアネットワーク)、電話回線等の通信網に接続されている。
磁気ディスク装置920には、OS921(オペレーティングシステム)、プログラム群923、ファイル群924が記憶されている。プログラム群923のプログラムは、CPU911、OS921により実行される。
上記プログラム群923には、実施の形態において「〜部」として説明する機能を実行するプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。
ファイル群924には、実施の形態において、「〜部」の機能を実行した際の「〜の判定結果」、「〜の計算結果」、「〜の処理結果」等の結果データ、「〜部」の機能を実行するプログラム間で受け渡しするデータ、その他の情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。
「〜ファイル」や「〜データベース」は、ディスクやメモリ等の記録媒体に記憶される。ディスクやメモリ等の記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示等のCPUの動作に用いられる。これらのCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
また、実施の形態において説明するフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM914のメモリ、磁気ディスク装置920の磁気ディスク、その他の記録媒体に記録される。また、データや信号値は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
また、実施の形態において「〜部」として説明するものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明するものは、ROM913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線等のハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスクやその他の記録媒体に記憶される。プログラムはCPU911により読み出され、CPU911により実行される。すなわち、プログラムは、「〜部」としてコンピュータを機能させるものである。あるいは、「〜部」の手順や方法を通信機器200(コンピュータ)に実行させるものである。
図3は、実施の形態1における通信機器200の機能構成図である。
実施の形態1における通信機器200(自己認証通信機器の一例)(自己認証検証通信機器の一例)の機能構成について、図3に基づいて以下に説明する。
通信機器200は、IDベース暗号秘密鍵生成部210(機器ID鍵生成部の一例)、システム情報設定部220、RSA鍵ペア生成部221、自己署名生成部222(自己認証情報生成部の一例)、自己署名証明書生成部223、IDベース暗号署名生成部230(機器ID認証情報生成部の一例)、SSL通信部240(自己証明書送信部の一例)(自己証明書受信部の一例)、自己署名証明書検証部241(自己証明書検証部の一例)、暗号認証通信部242および機器記憶部290を備える。
機器記憶部290は、記憶媒体を用いて通信機器200で使用されるデータを記憶する。
例えば、機器記憶部290は、後述するマスター鍵291a、機器固有ID291b、ホスト名291c、RSA鍵ペア292、公開パラメータ293a、IDベース暗号秘密鍵293b、自己署名証明書294、RSA自己署名294a、IDベース暗号署名294b、プリマスターシークレット295a、セッション鍵295b、SSL署名295cおよび通信データ295dを記憶する。
IDベース暗号秘密鍵生成部210(機器ID鍵生成部の一例)は、自機器を識別する機器固有ID291b(機器ID)(ID:IDentity、IDentifier)に基づいて暗号鍵データを機器ID鍵としてCPUを用いて生成する。
具体的に、IDベース暗号秘密鍵生成部210は、IDベース暗号方式により、機器固有ID291bをIDベース暗号公開鍵とするIDベース暗号秘密鍵293b(機器ID鍵の一例)を生成する。
システム情報設定部220は、管理者によりシステム構築時に決定され入力された情報(例えば、IPアドレスやホスト名等の機器識別名)を機器記憶部290に設定(記憶)する。
RSA鍵ペア生成部221は、RSA公開鍵暗号方式によりRSA鍵ペア292(RSA秘密鍵292a、RSA公開鍵292b)をCPUを用いて生成する。
自己署名生成部222(自己認証情報生成部の一例)は、所定のデータと自機器の秘密鍵データとに基づいて、所定のデータの認証情報を自己認証情報としてCPUを用いて生成する。
具体的に、自己署名生成部222は、RSA秘密鍵292a(秘密鍵データの一例)を用いて、RSA公開鍵292b(公開鍵データの一例)、自己署名証明書294の有効期限、ホスト名291c、機器固有ID291bおよびIDベース暗号署名294b(機器ID認証情報の一例)(以上、所定のデータの一例)に対する電子署名をRSA自己署名294a(自己認証情報の一例)として生成する。
自己署名証明書生成部223は、所定のデータとIDベース暗号署名294bとRSA自己署名294aとをCPUを用いて結合させて自己署名証明書294を生成する。
具体的に、自己署名証明書生成部223は、RSA公開鍵292b、自己署名証明書294の有効期限、ホスト名291c、機器固有ID291b、IDベース暗号署名294bおよびRSA自己署名294aを結合させて自己署名証明書294を生成する。
IDベース暗号署名生成部230(機器ID認証情報生成部の一例)は、自機器の公開鍵データおよび機器ID鍵に基づいて公開鍵データの認証情報を機器ID認証情報としてCPUを用いて生成する。
具体的に、IDベース暗号署名生成部230は、IDベース暗号秘密鍵293bを用いてRSA公開鍵292bの電子署名をIDベース暗号署名294b(IDベース暗号秘密鍵署名)(機器ID認証情報の一例)として生成する。
SSL通信部240は、SSLプロトコルに基づく手順で通信相手の通信機器200と各種データを通信装置を用いて送受信し、通信相手の通信機器200とセッションを確立する。
例えば、SSL通信部240(自己証明書送信部の一例)は、自己署名証明書294を通信相手の通信機器200へ送信する。
また例えば、SSL通信部240(自己証明書受信部の一例)は、通信相手の通信機器200により送信された自己署名証明書294を受信する。
自己署名証明書検証部241(自己証明書検証部の一例)は、SSL通信部240により受信された通信相手の自己署名証明書294をCPUを用いて検証する。
具体的に、自己署名証明書検証部241は、通信相手のRSA公開鍵292bを用いてRSA自己署名294aを検証すると共に通信相手の機器固有ID291bを用いてIDベース暗号署名294bを検証する。
暗号認証通信部242は、SSL通信部240によりセッションが確立された後、セッション鍵295bで暗号化した通信データ295dを通信相手の通信機器200と通信装置を用いて送受信する。
以下、機器認証システム100のライフサイクルを「製造」「システム構築」および「運用」に分け、各工程における通信機器200の処理を説明する。
まず、製造時に通信機器200が実行する処理(通信機器200の製造時処理)について説明する。
通信機器200は、製造時にIDベース暗号秘密鍵293bを生成して記憶する。
図4は、実施の形態1における通信機器200の製造時(製造時処理前)の格納データを示す図である。
図4に示すように、通信機器200が製造された際、通信機器200の機器記憶部290(図示省略)にはマスター鍵291a、公開パラメータ293aおよび機器固有ID291bが登録(記憶)される。
マスター鍵291aおよび公開パラメータ293aは、IDベース暗号秘密鍵293bの生成に用いられる情報であり、全ての通信機器200で同一である。マスター鍵291aと公開パラメータ293aとは、IDベース暗号方式において対をなす情報であり、それぞれ、システム秘密鍵とシステム公開鍵と呼ばれたり、マスター秘密鍵とマスター公開鍵と呼ばれたりする。例えば、通信機器200の製造者は、自社で製造した全ての通信機器200(同じ機種に限ってもよい)に同一のマスター鍵291aおよび公開パラメータ293aを登録する。
機器固有ID291bは、通信機器200を個別に識別するユニークな情報であり、機器毎に固有で且つ不変である。MACアドレス(MAC:Media Access Control)や機器製造番号は、機器固有ID291bの一例である。機器固有ID291bは、製造時に各通信機器200に割当てられて登録される。
図5は、実施の形態1における通信機器200の製造時処理を示すフローチャートである。
実施の形態1における通信機器200の製造時処理について、図5に基づいて以下に説明する。
通信機器200の各「〜部」は、以下に説明する処理をCPUを用いて実行する。
IDベース暗号秘密鍵生成部210はマスター鍵291a、機器固有ID291bおよび公開パラメータ293aに基づいてIDベース暗号秘密鍵293bを生成し(S110)、マスター鍵291aを削除する(S120)。
以下に、各処理(S110、S120)の詳細について説明する。
<S110:機器ID鍵生成処理の一例>
IDベース暗号秘密鍵生成部210は、マスター鍵291a、機器固有ID291bおよび公開パラメータ293aを機器記憶部290から取得する。
IDベース暗号秘密鍵生成部210は、取得したマスター鍵291a、機器固有ID291bおよび公開パラメータ293aを入力値としてIDベース暗号方式の鍵生成アルゴリズムを実行し、機器固有ID291bを公開鍵(IDベース暗号公開鍵)とするIDベース暗号秘密鍵293bを生成する。
IDベース暗号秘密鍵生成部210は、生成したIDベース暗号秘密鍵293bを機器記憶部290に記憶する。
S110の後、処理はS120に進む。
<S120>
IDベース暗号秘密鍵生成部210は、IDベース暗号秘密鍵293bの生成に用いたマスター鍵291aを機器記憶部290から削除(消去)する。
IDベース暗号秘密鍵生成部210は、マスター鍵291aを削除することにより、製造場所より搬出された通信機器200からマスター鍵291aが漏洩し、漏洩したマスター鍵291aを用いてIDベース暗号秘密鍵293bが偽造されることを防止する。
S120の後、処理は終了する。
通信機器200の製造時処理は、例えば、製造者により手動で、または、マスター鍵291a、機器固有ID291bおよび公開パラメータ293aの登録時に実行される。
図6は、実施の形態1における通信機器200の製造時(製造時処理後)の格納データを示す図である。
図6に示すように、通信機器200の製造時処理後、通信機器200の機器記憶部290(図示省略)には公開パラメータ293a、機器固有ID291bおよびIDベース暗号秘密鍵293bが記憶されている。
次に、システム構築時に通信機器200が実行する処理(通信機器200のシステム構築時処理)について説明する。
通信機器200は、システム構築時に自己署名証明書294を生成して記憶する。
図7は、実施の形態1における通信機器200のシステム構築時処理を示すフローチャートである。
実施の形態1における通信機器200のシステム構築時処理について、図7に基づいて以下に説明する。
通信機器200の各「〜部」は、以下に説明する処理をCPUを用いて実行する。
システム情報設定部220はホスト名291cを設定し(S210)、RSA鍵ペア生成部221はRSA鍵ペア292を生成する(S220)。
IDベース暗号署名生成部230はIDベース暗号秘密鍵293bを用いてRSA公開鍵292bのIDベース暗号署名294bを生成し(S230)、自己署名生成部222はRSA秘密鍵292aを用いて自己署名証明書情報のRSA自己署名294aを生成し(S240)、自己署名証明書生成部223は自己署名証明書情報とRSA自己署名294aとを結合して自己署名証明書294を生成する(S250)。
次に、各処理(S210〜S250)の詳細について説明する。
<S210>
システム構築時、通信機器200には、システム構築・運用に必要な情報(例えば、機器識別名)が管理者により入力される。ホスト名やIPアドレスは、機器識別名の一例であり、通信機器200毎に異なる。以下、通信機器200に「ホスト名」が入力されたものとして説明を続ける。
システム情報設定部220は、管理者により入力されたホスト名を機器記憶部290に設定(記憶)する。
S210の後、処理はS220に進む。
<S220>
RSA鍵ペア生成部221は、RSA公開鍵暗号方式の鍵生成アルゴリズムを実行し、RSA鍵ペア292を生成する。RSA鍵ペア292は、RSA秘密鍵292aおよびRSA公開鍵292bで構成される。RSA鍵ペア生成部221は、生成したRSA鍵ペア292を機器記憶部290に記憶する。
S220の後、処理はS230に進む。
<S230:機器ID認証情報生成処理の一例>
IDベース暗号署名生成部230は、製造時(S110)に生成されたIDベース暗号秘密鍵293bとS220において生成されたRSA公開鍵292bとを機器記憶部290から取得する。
IDベース暗号署名生成部230は、取得したIDベース暗号秘密鍵293bおよびRSA公開鍵292bを入力値としてIDベース暗号方式の署名アルゴリズムを実行し、RSA公開鍵292bのIDベース暗号署名294bを生成する。RSA公開鍵292bのIDベース暗号署名294bは、RSA公開鍵292bを対象としてIDベース暗号秘密鍵293bを用いて生成された電子署名である。
IDベース暗号署名生成部230は、生成したRSA公開鍵292bのIDベース暗号署名294bを機器記憶部290に記憶する。
S230の後、処理はS240に進む。
<S240:自己認証情報生成処理の一例>
自己署名生成部222は、S220において生成されたRSA秘密鍵292aおよび自己署名証明書294に含める各種情報(自己署名証明書情報)を機器記憶部290から取得する。
自己署名生成部222は、取得したRSA秘密鍵292aおよび自己署名証明書情報を入力値としてRSA公開鍵暗号方式の署名アルゴリズムを実行し、自己署名証明書情報のRSA自己署名294aを生成する。自己署名証明書情報のRSA自己署名294aは、自己署名証明書情報を対象としてRSA秘密鍵292aを用いて生成された電子署名である。
以下、IDベース暗号署名294b、自己署名証明書294の有効期限、ホスト名291c、機器固有ID291bおよびRSA公開鍵292bのIDベース暗号署名294bを自己署名証明書情報として説明を続ける。自己署名証明書294の有効期限は、現在日時に所定の有効期間(例えば、2年)を加算して算出される日時である。自己署名証明書情報はこれらに限られない。
S240の後、処理はS250に進む。
<S250>
自己署名証明書生成部223は、自己署名証明書情報とS240において生成されたRSA自己署名294aとを結合して自己署名証明書294(電子証明書)を生成し、生成した自己署名証明書294を機器記憶部290に記憶する。
例えば、ホスト名291cは電子証明書のサブジェクト名のCommonName欄に設定され、機器固有ID291bは電子証明書の標準拡張項目のSubjectAltName欄に設定され、IDベース暗号署名294bは電子証明書の標準拡張項目のSubjectKeyIdentifier欄に設定される。但し、機器固有ID291bおよびIDベース暗号署名294bは、電子証明書のフォーマットに合致する範囲に設定されればよく、必ずしも標準拡張項目として設定されなくてもよい。例えば、自己署名証明書生成部223は、機器固有ID291bおよびIDベース暗号署名294bを電子証明書に新たに定義したプライベート拡張項目欄として設定してもよいし、標準拡張項目のその他の欄に設定してもよい。
S250の後、処理は終了する。
S230〜S250において行われる証明書生成処理は、OpenSSL等で実施される一般的なRSA公開鍵の自己署名証明書生成処理手順に、RSA公開鍵292bに対するIDベース暗号秘密鍵293bによる署名生成処理(S230)及び、証明書の署名対象にIDベース暗号公開鍵である機器固有ID291bとIDベース暗号秘密鍵293bによる署名(IDベース暗号署名294b)とを含める処理(S240)を追加したものである。
図8は、実施の形態1における通信機器200のシステム構築時(システム構築時処理後)の格納データを示す図である。
図8に示すように、通信機器200のシステム構築時処理後、通信機器200の機器記憶部290(図示省略)には公開パラメータ293a、機器固有ID291b、IDベース暗号秘密鍵293b、ホスト名291c、RSA鍵ペア292および自己署名証明書294が記憶されている。
自己署名証明書294には、RSA公開鍵292b、自己署名証明書294の有効期限、ホスト名291c、機器固有ID291b、IDベース暗号の公開鍵であるホスト名291c、RSA公開鍵292bのIDベース暗号署名294bおよびRSA自己署名294aが設定されている。
次に、運用時に通信機器200が実行する処理(通信機器200の運用時処理)について説明する。
図9は、実施の形態1における機器認証システム100の運用概要を示す図である。
図9に示すように、通信機器A201と通信機器B202とは通信ネットワーク110を介して自己署名証明書294を通信し、自己署名証明書294を検証して互いを確認したのち、暗号化した通信データ295dを通信ネットワーク110を介して通信する。
運用時、各通信機器200(通信機器A201、通信機器B202)の機器記憶部290(図示省略)には、製造時に登録された公開パラメータ293aおよび機器固有ID291b、製造時に生成されたIDベース暗号秘密鍵293b、システム構築時に設定されたホスト名291c、システム構築時に生成されたRSA鍵ペア292および自己署名証明書294が記憶されている。
以下、通信機器A201をSSLサーバ、通信機器B202をSSLクライアントとして運用時にSSL通信が行われる場合について説明を行う。
但し、通信機器200の運用時処理において、SSL通信が行われる必要は必ずしもなく、RSA自己署名294aの検証とIDベース暗号署名294bの検証とにより通信相手が機器固有ID291bにより特定される通信機器200であることが確認されればよい。
図10は、実施の形態1における通信機器200の運用時処理を示すフローチャートである。
実施の形態1における通信機器200の運用時処理について、図10に基づいて以下に説明する。
通信機器A201および通信機器B202の各「〜部」は、以下に説明する処理をCPUを用いて実行する。
通信機器A201と通信機器B202とはSSLセッション情報を交換する(S310)。
通信機器A201と通信機器B202とは自己署名証明書294を互いに通信し合い(S320)する。
通信機器B202の自己署名証明書検証部241は通信機器A201の自己署名証明書294を検証し(S330)、自己署名証明書294に設定されているIDベース暗号署名294bを検証する(S331)。
通信機器B202のSSL通信部240は通信機器A201のRSA公開鍵292bを用いて暗号化したプリマスターシークレット295aを通信機器A201へ送信し(S340)、通信機器A201のSSL通信部240は通信機器B202のプリマスターシークレット295aを復号し(S341)、通信機器B202のSSL通信部240はSSL署名295cを通信機器A201へ送信する(S350)。
通信機器A201の自己署名証明書検証部241は通信機器B202の自己署名証明書294を検証し(S360)、自己署名証明書294に設定されているIDベース暗号署名294bを検証する(S361)。
通信機器A201のSSL通信部240は通信機器B202のSSL署名295cを検証する(S370)。
通信機器A201と通信機器B202とはプリマスターシークレット295aを用いてセッション鍵295bを生成し(S380)、セッション鍵295bを用いて暗号化した通信データ295dを通信する(S381)。
従来のSSL通信では行われないS331およびS361は、実施の形態1における機器認証システム100の特徴の一つである。
次に、各処理(S310〜S381)の詳細について説明する。
<S310>
まず、通信機器B202(クライアント側)のSSL通信部240は、通信機器A201(サーバ側)のURL(https://“ホスト名”)を指定して特定の乱数および利用可能なアルゴリズム(暗号、圧縮)のリスト(SSLセッション情報)を通信機器A201(サーバ側)へ送信する。
乱数は所定のアルゴリズムの実行により生成され、利用可能なアルゴリズムは予め機器記憶部290に設定されているものとする。
通信機器A201のSSL通信部240は、SSL通信部240のSSLセッション情報を受信し、SSLセッション情報に示されるリストの中から自己が利用可能なアルゴリズムを1つ選択し、選択したアルゴリズム(暗号、圧縮)を通信機器B202へ通知する。
S310において、通信機器A201と通信機器B202との間で、特定の乱数が共有され、使用するアルゴリズムが決定される。
S310によりSSLセッションが開始された後、処理はS320に進む。
<S320:自己証明書送信処理、自己証明書受信処理の一例>
S310の後、通信機器A201のSSL通信部240は、機器記憶部290から自己署名証明書294を取得し、取得した自己署名証明書294を通信機器B202へ送信する。
通信機器B202のSSL通信部240は、通信機器A201により送信された自己署名証明書294(通信機器A201の自己署名証明書294)を受信して機器記憶部290に記憶する。
通信機器A201のSSL通信部240は、証明書要求を通信機器B202へ送信する。
通信機器B202のSSL通信部240は、証明書要求を受信した際、機器記憶部290から自己の自己署名証明書294を取得し、取得した自己署名証明書294を通信機器A201へ送信する。
通信機器A201のSSL通信部240は、通信機器B202により送信された自己署名証明書294(通信機器B202の自己署名証明書294)を受信して機器記憶部290に記憶する。
S320の後、処理はS330に進む。
<S330:自己署名証明書検証処理(自己証明書検証処理の一例)>
通信機器B202の自己署名証明書検証部241は、機器記憶部290から通信機器A201の自己署名証明書294を取得し、RSA公開鍵暗号方式の検証アルゴリズムを実行して通信機器A201の自己署名証明書294を検証する。
具体的に、自己署名証明書検証部241は、自己署名証明書294に設定されているRSA公開鍵292bを用いて自己署名証明書294に設定されているRSA自己署名294aを検証する。
さらに、自己署名証明書検証部241は、自己署名証明書294に設定されている有効期限を現在時刻と比較し、自己署名証明書294の有効期限が切れていないか検証する。
さらに、自己署名証明書検証部241は、自己署名証明書294に設定されているホスト名291cがS310において指定されたURLに設定されたホスト名と一致するか検証する。
全ての検証において有効である自己署名証明書294は、改ざんされていないことが保証され且つ有効期限の切れていない有効な証明書である。
但し、自己署名証明書294は、RSA公開鍵292bの生成元が認証局により保証されないため、通信機器A201になりすました別の機器により生成されている可能性がある。
つまり、この時点では、通信機器B202の通信相手が通信機器A201であるということは保証されていない。
通信機器A201の自己署名証明書294が有効である場合(認証OK)、処理はS331に進む。
通信機器A201の自己署名証明書294が有効でない場合(無効である場合)(認証NG)、通信機器B202は通信機器A201との通信を終了し、通信機器200の運用時処理は終了する。
通信機器A201の自己署名証明書294が有効でない場合の処理分岐について図示を省略する。
<S331:IDベース暗号署名検証処理(自己証明書検証処理の一例)>
通信機器B202の自己署名証明書検証部241は、機器記憶部290から公開パラメータ293aを取得する。
通信機器B202の自己署名証明書検証部241は、公開パラメータ293aと通信機器A201の自己署名証明書294に設定されているRSA公開鍵292bとを用いてIDベース暗号方式の検証アルゴリズムを実行し、通信機器A201の自己署名証明書294に設定されているIDベース暗号署名294bを検証する。
通信機器A201の自己署名証明書294に設定されているIDベース暗号署名294bは、通信機器A201の機器固有ID291bおよび公開パラメータ293aに基づいてのみ生成可能なIDベース暗号秘密鍵293bを用いて生成されている。
このため、IDベース暗号署名294bの検証結果が有効である場合、自己署名証明書294は、通信機器A201の機器固有ID291bおよび公開パラメータ293aが設定されている機器(つまり、通信機器A201)により生成されたということが保証される。
つまり、この時点で、通信機器B202の通信相手が通信機器A201であるということが保証される。
IDベース暗号署名294bが有効である場合、処理はS340に進む。
IDベース暗号署名294bが有効でない場合(無効である場合)、通信機器B202は通信機器A201との通信を終了し、通信機器200の運用時処理は終了する。
IDベース暗号署名294bが有効でない場合の処理分岐について図示を省略する。
<S340>
通信機器B202のSSL通信部240は、セッション鍵295bの生成に用いる情報であるプリマスターシークレット295aを生成し、生成したプリマスターシークレット295aを機器記憶部290に記憶する。
さらに、通信機器B202のSSL通信部240は、通信機器A201の自己署名証明書294からRSA公開鍵292bを取得し、取得したRSA公開鍵292bを用いてプリマスターシークレット295aを暗号化し、暗号化したプリマスターシークレット295aを通信機器A201へ送信する。
S340の後、処理はS341に進む。
<S341>
通信機器A201のSSL通信部240は、S340において通信機器B202により送信されたプリマスターシークレット295aを受信する。
通信機器A201のSSL通信部240は、自己のRSA秘密鍵292aを機器記憶部290から取得し、受信したプリマスターシークレット295aをRSA秘密鍵292aを用いて復号し、復号したプリマスターシークレット295aを機器記憶部290に記憶する。
S341の後、処理はS350に進む。
S340〜S341において、通信機器A201と通信機器B202との間でプリマスターシークレット295aが共有される。
<S350>
通信機器B202のSSL通信部240は、自己のRSA秘密鍵292aを機器記憶部290から取得し、取得したRSA秘密鍵292aを用いてS310からS341までに通信機器A201と通信機器B202との間で通信された情報(「ハンドシェークメッセージ」という)の署名をSSL署名295cとして生成し、生成したSSL署名295cを通信機器A201へ送信する。
SSL署名295cは、通信機器A201のSSL通信部240により受信され機器記憶部290に記憶される。
S350の後、処理はS360に進む。
<S360:自己署名証明書検証処理(自己証明書検証処理の一例)>
通信機器A201の自己署名証明書検証部241は、S330における通信機器B202と同様にして、通信機器B202の自己署名証明書294を検証する。
自己署名証明書294が有効である場合、処理はS361に進む。
自己署名証明書294が有効でない場合、通信機器A201は通信機器B202との通信を終了し、通信機器200の運用時処理は終了する。
自己署名証明書294が有効でない場合の処理分岐について図示を省略する。
<S361:IDベース暗号署名検証処理(自己証明書検証処理の一例)>
通信機器A201の自己署名証明書検証部241は、S331における通信機器B202と同様にして、通信機器B202の自己署名証明書294に設定されているIDベース暗号署名294bを検証する。
IDベース暗号署名294bが有効である場合、処理はS370に進む。
IDベース暗号署名294bが有効でない場合、通信機器A201は通信機器B202との通信を終了し、通信機器200の運用時処理は終了する。
IDベース暗号署名294bが有効でない場合の処理分岐について図示を省略する。
<S370>
通信機器A201のSSL通信部240は、通信機器B202のSSL署名295cおよび自己署名証明書294を機器記憶部290から取得し、通信機器B202の自己署名証明書294に含まれるRSA公開鍵292bを用いて通信機器B202のSSL署名295cを検証する。
SSL署名295cが有効である場合、処理はS380に進む。
SSL署名295cが有効でない場合、通信機器B202は通信機器A201との通信を終了し、通信機器200の運用時処理は終了する。
SSL署名295cが有効でない場合の処理分岐について図示を省略する。
<S380>
通信機器A201のSSL通信部240と通信機器B202のSSL通信部240とは、それぞれ、S340〜S341において共有したプリマスターシークレット295aを機器記憶部290から取得し、取得したプリマスターシークレット295aとS310において共有した乱数とを用いてセッション鍵295bを生成する。
S380の後、処理はS381に進む。
<S381>
通信機器A201の暗号認証通信部242と通信機器B202の暗号認証通信部242とは、それぞれ、S380において生成されたセッション鍵295bを用いて通信データ295dを暗号化し、暗号化した通信データ295dを互いに通信する。
S381において必要なデータ通信が終了した後、処理は終了する。
IDベース暗号署名検証処理(S331、S361)は、従来のSSL通信および証明書検証では行われておらず、実施の形態1における機器認証システム100の特徴の一つである。本処理により、自己署名証明書294が、機器固有ID291bで特定される機器にて生成された証明書であることが保証される。
実施の形態1において例えば以下のような機器認証システム100について説明した。
通信機器200は、製造時に、機器固有ID291bに対応するIDベース暗号秘密鍵293bを生成・格納する。
さらに、通信機器200は、システム構築時に、ホスト名291cと、IDベース暗号秘密鍵293bを用いてRSA公開鍵292bより生成されるIDベース暗号署名294bとを含む自己署名証明書294を生成する。
さらに、通信機器200は、運用時に、通信相手の自己署名証明書294の検証として自己署名証明書294に含まれるRSA自己署名294aおよびIDベース暗号署名294bを検証する。
これにより、通信相手の機器が指定したホスト名を割り当てられた機器であること、及び通信相手の機器が自己署名証明書294に含まれる機器固有ID291bで特定される機器であることを保証する確実な機器認証が、認証局による証明書の発行やオフラインでの証明書の検証等の手間のかかる手順を必要とする事無く、実施される。
例えば、機器認証システム100は、同一メーカーにより製造された機器間で秘匿性の高いデータを送受信する通信システムとして利用することができる。
実施の形態1においてRSA公開鍵暗号方式の代わりに、楕円暗号、DSA、DH等のその他の公開鍵暗号方式が用いられてもよい。
RSA公開鍵暗号方式では、SHA1やMD5等のハッシュ関数が用いられる。
実施の形態1は、通信機器200が秘密鍵と公開鍵証明書を持って秘密鍵による署名により相手機器に自機器を認証させたり、相手機器の証明書に含まれる公開鍵を用いたセッション鍵を暗号化したりする方式において、証明書の検証のその安全性のよりどころとするあらゆる方式に適用することが可能である。
実施の形態2.
システム構築時ではなく製造時に通信機器200が自己署名証明書294を生成する形態について説明する。
以下、実施の形態1と異なる事項について主に説明する。説明を省略する事項は実施の形態1と同様である。
図11は、実施の形態2における通信機器200の製造時処理を示すフローチャートである。
実施の形態2における通信機器200の製造時処理について、図11に基づいて以下に説明する。
図11に示すフローチャートは、実施の形態1における通信機器200の製造時処理(図5参照)にS130〜S160を追加したものである。
さらに、S130〜S150は、実施の形態1における通信機器200のシステム構築時処理(図7参照)のS220〜S240と同じである。
S160において、自己署名証明書生成部223は、S250(図7参照)と同様に、自己署名証明書情報とRSA自己署名294aとを結合して自己署名証明書294を生成し、生成した自己署名証明書294を機器記憶部290に記憶する。
但し、製造時の通信機器200にはホスト名291cが設定されていないため、ホスト名291cは自己署名証明書情報に含まれず、自己署名証明書生成部223は自己署名証明書294のサブジェクト名のCommonName欄にホスト名291cの代わりに機器固有ID291bを設定する。
通信機器200のシステム構築時処理は、S210(ホスト名291cの設定)のみ実行され、S220〜S250は実行されない(図7参照)。
通信機器200の運用時処理は、自己署名証明書294にホスト名291cが設定されていないほか、実施の形態1(図10)と同じである。
つまり、自己署名証明書検証処理(S330、S360)において、ホスト名の検証は行われない。
実施の形態2において例えば以下のような機器認証システム100について説明した。
通信機器200は、製造時に、機器固有ID291bに対応するIDベース暗号秘密鍵293bを生成・格納し、IDベース暗号秘密鍵293bを用いてRSA公開鍵292bより生成されるIDベース暗号署名294bを含む自己署名証明書294を生成する。
さらに、通信機器200は、運用時に、通信相手の自己署名証明書294の検証として自己署名証明書294に含まれるRSA自己署名294aおよびIDベース暗号署名294bを検証する。
自己署名証明書294が製造時に生成されることにより、ホスト名291cやIPアドレス等のシステム構築時に決定される機器識別名は、自己署名証明書294に設定されない。このため、通信相手の機器が指定したホスト名を割り当てられた機器であるという保証はなくなる。しかし、通信相手の機器が機器固有ID291bで特定される正当な機器であることは実施の形態1と同様に保証される。
実施の形態3.
通信機器200が自己署名証明書294を更新する形態について説明する。
以下、実施の形態1と異なる事項について主に説明する。説明を省略する事項は実施の形態1と同様である。
図12は、実施の形態3における通信機器200の機能構成図である。
実施の形態3における通信機器200の機能構成について、図12に基づいて以下に説明する。
通信機器200は、実施の形態1で説明した構成(図3参照)に加えて、証明書更新契機検出部224を備える。
証明書更新契機検出部224は、自己署名証明書294を更新する契機(所定のタイミング)をCPUを用いて検出する。
例えば、証明書更新契機検出部224は、自己署名証明書294に設定されている有効期限を検証し、有効期限の所定時間前または有効期限の経過時を自己署名証明書294の更新契機として検出する。
また例えば、証明書更新契機検出部224は、管理者により証明書更新指示が指定されたときを自己署名証明書294の更新契機として検出する。
RSA鍵ペア生成部221(認証鍵ペア更新部の一例)は、証明書更新契機検出部224によりRSA鍵ペア292の更新契機が検出されたときに、RSA鍵ペア292(RSA秘密鍵292a、RSA公開鍵292b)を更新する。
IDベース暗号署名生成部230は、RSA鍵ペア生成部221により更新されたRSA公開鍵292bに基づいてIDベース暗号署名294bを新たに生成する。
自己署名生成部222は、RSA鍵ペア生成部221により更新されたRSA秘密鍵292aに基づいてRSA自己署名294aを新たに生成する。
自己署名証明書生成部223は、所定のデータと新たなIDベース暗号署名294bと新たなRSA自己署名294aとを結合させて自己署名証明書294を生成する。
SSL通信部240は、自己署名証明書生成部223により新たに生成された自己署名証明書294を通信相手の通信機器200へ送信する。
図13は、実施の形態3における自己署名証明書更新処理を示すフローチャートである。
通信機器200が自己署名証明書294を更新する自己署名証明書更新処理について、図13に基づいて以下に説明する。
通信機器200の各「〜部」は、以下に説明する処理をCPUを用いて実行する。
以下に説明する自己署名証明書更新処理は、証明書更新契機検出部224により自己署名証明書294の更新契機が検出されたときに実行される。
<S410>
RSA鍵ペア生成部221は、S220(図7参照)と同様に、RSA鍵ペア292を新たに生成し、生成したRSA鍵ペア292を機器記憶部290に記憶する。
そして、RSA鍵ペア生成部221は、機器記憶部290から古いRSA鍵ペア292を削除する。
S410の後、処理はS420に進む。
<S420>
IDベース暗号署名生成部230は、S230(図7参照)と同様に、新たなRSA公開鍵292bのIDベース暗号署名294bを生成し、生成したIDベース暗号署名294bを機器記憶部290に記憶する。
そして、IDベース暗号署名生成部230は、機器記憶部290から古いIDベース暗号署名294bを削除する。
S420の後、処理はS430に進む。
<S430>
自己署名生成部222は、S240(図7参照)と同様に、新たなRSA秘密鍵292aを用いて自己署名証明書情報のRSA自己署名294aを生成する。自己署名証明書情報には新たなRSA公開鍵292bおよび新たなIDベース暗号秘密鍵293bが含まれる。
S430の後、処理はS440に進む。
<S440>
自己署名証明書生成部223は、S250(図7参照)と同様に、自己署名証明書情報と新たなRSA自己署名294aとを結合して自己署名証明書294を生成し、生成した自己署名証明書294を機器記憶部290に記憶する。
そして、自己署名証明書生成部223は、機器記憶部290から古い自己署名証明書294を削除する。
S440の後、処理は終了する。
実施の形態3において例えば以下のような機器認証システム100について説明した。
通信機器200は、運用時に、既存のRSA鍵ペア292および自己署名証明書294を消去後、RSA鍵ペア292を再生成し、自己署名証明書294を更新する。
これにより、認証局とのインタラクションが必要な証明書再発行手順を実施することなく、証明書(自己署名証明書294)の更新を機器単体で実行でき、証明書更新の運用負荷を大幅に軽減することができる。
実施の形態4.
通信機器200が、IDベース暗号秘密鍵293bではなく機器固有のRSA秘密鍵を用いてRSA公開鍵292bの電子署名を生成し、生成したRSA公開鍵292bの電子署名を自己署名証明書294に設定する形態について説明する。
以下、実施の形態1と異なる事項について主に説明する。説明を省略する事項は実施の形態1と同様である。
図14は、実施の形態4における通信機器200の機能構成図である。
実施の形態4における通信機器200の機能構成について、図14に基づいて以下に説明する。
通信機器200は、実施の形態1で説明した構成(図3参照)に対して以下の点で異なる。
通信機器200は、IDベース暗号秘密鍵生成部210の代わりに、機器個別RSA鍵ペア生成部211(機器ID鍵生成部の一例)、機器個別署名生成部212と機器個別証明書生成部213とを備える。
通信機器200は、IDベース暗号署名生成部230の代わりに、機器個別RSA署名生成部231(機器ID認証情報生成部の一例)を備える。
機器記憶部290には、マスター鍵291aと公開パラメータ293aとの代わりにマスターRSA鍵ペア291d(マスターRSA秘密鍵291d1、マスターRSA公開鍵291d2)、IDベース暗号秘密鍵293bの代わりに機器個別RSA鍵ペア293c(機器個別RSA秘密鍵293c1、機器個別RSA公開鍵293c2)、IDベース暗号署名294bの代わりに機器個別RSA署名294cが記憶される。
さらに、機器記憶部290には、機器個別証明書296と機器個別署名296aとが記憶される。
機器個別RSA鍵ペア生成部211(機器ID鍵生成部の一例)は、公開鍵暗号方式により、機器固有ID291bに基づいて機器個別RSA鍵ペア293c(機器個別RSA秘密鍵293c1、機器個別RSA公開鍵293c2)(機器ID鍵の一例)をCPUを用いて生成する。
機器個別署名生成部212は、マスターRSA秘密鍵291d1(自機器の秘密鍵データの一例)に基づいて機器個別RSA公開鍵293c2(機器個別公開鍵の一例)の電子署名を機器個別署名296aとしてCPUを用いて生成する。
機器個別証明書生成部213は、機器個別署名296aと機器固有ID291bとをCPUを用いて結合させて機器個別証明書296を生成する。
機器個別RSA署名生成部231(機器ID認証情報生成部の一例)は、機器個別RSA秘密鍵293c1を用いてRSA公開鍵292bの電子署名を機器個別RSA署名294c(機器ID認証情報の一例)として生成する。
図15は、実施の形態4における通信機器200の製造時(製造時処理前)の格納データを示す図である。
図15に示すように、通信機器200が製造された際、通信機器200の機器記憶部290(図示省略)にはマスターRSA鍵ペア291d(マスターRSA秘密鍵291d1、マスターRSA公開鍵291d2)および機器固有ID291bが登録される。
マスターRSA鍵ペア291dは、機器個別証明書296に設定される機器個別署名296aの生成に用いられる情報であり、全ての通信機器200で同一である。
図16は、実施の形態4における通信機器200の製造時処理を示すフローチャートである。
実施の形態4における通信機器200の製造時処理について、図16に基づいて以下に説明する。
機器個別RSA鍵ペア生成部211は機器固有ID291bに基づいて機器個別RSA鍵ペア293cを生成し(S111)、機器個別署名生成部212はマスターRSA秘密鍵291d1を用いて機器個別証明書情報の機器個別署名296aを生成し(S112)、機器個別証明書生成部213は機器個別証明書情報と機器個別署名296aとを結合して機器個別証明書296を生成し(S113)、機器個別証明書生成部213はマスターRSA秘密鍵291d1を削除する(S121)。
以下に、各処理(S111〜S113、S121)の詳細について説明する。
<S111:機器ID鍵生成処理の一例>
機器個別RSA鍵ペア生成部211は、機器固有ID291bを機器記憶部290から取得する。
機器個別RSA鍵ペア生成部211は、取得した機器固有ID291bを入力値としてRSA公開鍵暗号方式の鍵生成アルゴリズムを実行し、機器個別RSA鍵ペア293cを生成する。
そして、機器個別RSA鍵ペア生成部211は、生成した機器個別RSA鍵ペア293cを機器記憶部290に記憶する。
S111の後、処理はS112に進む。
<S112>
機器個別署名生成部212は、マスターRSA秘密鍵291d1と機器個別証明書296に含める各種情報(機器個別証明書情報)とを機器記憶部290から取得する。
機器個別署名生成部212は、取得したマスターRSA秘密鍵291d1および機器個別証明書情報を入力値としてRSA公開鍵暗号方式の署名アルゴリズムを実行し、機器個別証明書情報の機器個別署名296aを生成する。
以下、機器個別RSA公開鍵293c2および機器固有ID291bを機器個別証明書情報として説明を続ける。機器個別証明書情報はこれらに限られない。
S112の後、処理はS113に進む。
<S113>
機器個別証明書生成部213は、機器個別証明書情報とS112において生成された機器個別署名296aとを結合して機器個別証明書296を生成し、生成した機器個別証明書296を機器記憶部290に記憶する。
S113の後、処理はS121に進む。
<S121>
機器個別署名生成部212は、機器個別署名296aの生成に用いたマスターRSA秘密鍵291d1を機器記憶部290から削除する。機器個別署名生成部212は、マスターRSA秘密鍵291d1を削除することにより、マスターRSA秘密鍵291d1が漏洩し、漏洩したマスターRSA秘密鍵291d1を用いて機器個別署名296aが偽造されることを防止する。
S121の後、処理は終了する。
図17は、実施の形態4における通信機器200の製造時(製造時処理後)の格納データを示す図である。
図17に示すように、通信機器200の製造時処理後、通信機器200の機器記憶部290(図示省略)にはマスターRSA公開鍵291d2、機器固有ID291b、機器個別RSA鍵ペア293cおよび機器個別証明書296が記憶されている。
機器個別証明書296には、機器個別RSA公開鍵293c2、機器固有ID291bおよび機器個別署名296aが設定されている。
図18は、実施の形態4における通信機器200のシステム構築時処理を示すフローチャートである。
実施の形態4における通信機器200のシステム構築時処理について、図18に基づいて以下に説明する。
図18に示すフローチャートは、実施の形態1における通信機器200のシステム構築時処理(図7参照)のS230を以下に説明するS231に変更したものである。
<S231:機器ID認証情報生成処理の一例>
S220の後、機器個別RSA署名生成部231は、機器個別RSA秘密鍵293c1とRSA公開鍵292bとを機器記憶部290から取得する。
機器個別RSA署名生成部231は、取得した機器個別RSA秘密鍵293c1およびRSA公開鍵292bを入力値としてRSA公開鍵暗号方式の署名アルゴリズムを実行し、RSA公開鍵292bの機器個別RSA署名294cを生成する。
機器個別RSA署名生成部231は、生成したRSA公開鍵292bの機器個別RSA署名294cを機器記憶部290に記憶する。
S231の後、処理はS240に進む。
S240およびS250において、自己署名証明書情報には、機器固有ID291bの代わりに機器個別証明書296、IDベース暗号署名294bの代わりに機器個別RSA署名294cが含まれる。
図19は、実施の形態4における通信機器200のシステム構築時(システム構築時処理後)の格納データを示す図である。
図19に示すように、通信機器200のシステム構築時処理後、通信機器200の機器記憶部290(図示省略)にはマスターRSA公開鍵291d2、機器固有ID291b、機器個別RSA鍵ペア293c、機器個別証明書296、ホスト名291c、RSA鍵ペア292および自己署名証明書294が記憶されている。
自己署名証明書294には、RSA公開鍵292b、自己署名証明書294の有効期限、ホスト名291c、機器個別証明書296、RSA公開鍵292bの機器個別RSA署名294cおよびRSA自己署名294aが設定されている。
図20は、実施の形態4における通信機器200の運用時処理を示すフローチャートである。
実施の形態4における通信機器200の運用時処理について、図20に基づいて以下に説明する。
図20に示すフローチャートは、実施の形態1における通信機器200の運用時処理(図10参照)に対して、以下に説明するS332およびS362を加え、S331およびS361を以下に説明するS333およびS363に変更したものである。
<S332:機器個別証明書検証処理(自己証明書検証処理の一例)>
S330の後、通信機器B202の自己署名証明書検証部241は、マスターRSA公開鍵291d2を機器記憶部290から取得し、通信機器A201の自己署名証明書294から機器個別証明書296を取得し、機器個別証明書296に設定されている機器個別署名296aをマスターRSA公開鍵291d2を用いて検証する。
機器個別署名296aが有効である機器個別証明書296は、改ざんされていないことが保証される。
つまり、機器個別証明書296に設定されている機器個別RSA公開鍵293c2は、機器個別証明書296に設定されている機器固有ID291bで特定される通信機器A201により生成されたということが保証される。
機器個別署名296aが有効である場合、処理はS333に進む。
機器個別署名296aが有効でない場合、通信機器B202は通信機器A201との通信を終了し、通信機器200の運用時処理は終了する。
機器個別署名296aが有効でない場合の条件分岐について図示を省略する。
<S333:機器個別RSA署名検証処理(自己証明書検証処理の一例)>
通信機器B202の自己署名証明書検証部241は、機器個別証明書296に設定されている機器個別RSA公開鍵293c2を用いてRSA公開鍵方式の検証アルゴリズムを実行し、通信機器A201の自己署名証明書294に設定されている機器個別RSA署名294cを検証する。
S332において機器個別RSA公開鍵293c2は通信機器A201により生成されたことが保証されているため、RSA公開鍵292bの機器個別RSA署名294cが有効である場合、自己署名証明書294に設定されているRSA公開鍵292bは、通信機器A201により生成されたことが保証される。さらに、S330におけるRSA自己署名294aの検証により自己署名証明書294は改ざんされていないことが保証されているため、自己署名証明書294は通信機器A201により生成されたことが保証される。
つまり、通信機器B202の通信相手が通信機器A201であるということが保証される。
機器個別RSA署名294cが有効である場合、処理はS340に進む。
機器個別RSA署名294cが有効でない場合、通信機器B202は通信機器A201との通信を終了し、通信機器200の運用時処理は終了する。
機器個別RSA署名294cが有効でない場合の処理分岐について図示を省略する。
<S362:機器個別証明書検証処理(自己証明書検証処理の一例)>
S360の後、通信機器A201の自己署名証明書検証部241は、S332における通信機器B202と同様にして、通信機器B202の自己署名証明書294に設定されている機器個別証明書296を取得し、機器個別証明書296に設定されている機器個別署名296aを検証する。
機器個別署名296aが有効である場合、処理はS363に進む。
機器個別署名296aが有効でない場合、通信機器A201は通信機器B202との通信を終了し、通信機器200の運用時処理は終了する。
機器個別署名296aが有効でない場合の処理分岐について図示を省略する。
<S363:機器個別RSA署名検証処理(自己証明書検証処理の一例)>
通信機器A201の自己署名証明書検証部241は、S333における通信機器B202と同様にして、通信機器B202の自己署名証明書294に設定されている機器個別RSA署名294cを検証する。
機器個別RSA署名294cが有効である場合、処理はS370に進む。
機器個別RSA署名294cが有効でない場合、通信機器A201は通信機器B202との通信を終了し、通信機器200の運用時処理は終了する。
機器個別RSA署名294cが有効でない場合の処理分岐について図示を省略する。
実施の形態4において、通信機器200が、IDベース暗号秘密鍵293bではなく機器固有のRSA秘密鍵を用いてRSA公開鍵292bの電子署名を生成し、生成したRSA公開鍵292bの電子署名を自己署名証明書294に設定する形態について説明した。
機器認証システム100は、実施の形態1と同様に、認証局から証明書の発行を受けなくても自己署名証明書294に基づいて通信相手を保証するという効果を奏する。
通信機器200は、実施の形態2と同様に、製造時処理において自己署名証明書294を生成してもよい。
また、通信機器200は、実施の形態3と同様に、自己署名証明書294を更新してもよい。
実施の形態5.
通信機器200が、IDベース暗号秘密鍵293bではなく機器固有の共通鍵を用いてRSA公開鍵292bの電子署名を生成し、生成したRSA公開鍵292bの電子署名を自己署名証明書294に設定する形態について説明する。
以下、実施の形態1と異なる事項について主に説明する。説明を省略する事項は実施の形態1と同様である。
図21は、実施の形態5における通信機器200の機能構成図である。
実施の形態5における通信機器200の機能構成について、図21に基づいて以下に説明する。
通信機器200は、実施の形態1で説明した構成(図3参照)に対して以下の点で異なる。
通信機器200は、IDベース暗号秘密鍵生成部210の代わりに、機器個別共通鍵生成部214(機器ID鍵生成部の一例)を備える。
通信機器200は、IDベース暗号署名生成部230の代わりに、機器個別共通鍵MAC生成部232(機器ID認証情報生成部の一例)を備える。
機器記憶部290には、マスター鍵291aと公開パラメータ293aとの代わりにマスター共通鍵291e、IDベース暗号秘密鍵293bの代わりに機器個別共通鍵293d、IDベース暗号署名294bの代わりに機器個別共通鍵MAC294dが記憶される。
機器個別共通鍵生成部214(機器ID鍵生成部の一例)は、共通鍵暗号方式により、機器固有ID291bに基づいて機器個別共通鍵293d(機器ID鍵の一例)をCPUを用いて生成する。
機器個別共通鍵MAC生成部232(機器ID認証情報生成部の一例)は、機器個別共通鍵293dを用いてRSA公開鍵292bのMAC(Message Authentication Code)(機器ID認証情報の一例)を機器個別共通鍵MAC294dとして生成する。
図22は、実施の形態5における通信機器200の製造時(製造時処理前)の格納データを示す図である。
図22に示すように、通信機器200が製造された際、通信機器200の機器記憶部290(図示省略)にはマスター共通鍵291eおよび機器固有ID291bが登録される。
マスター共通鍵291eは、機器個別共通鍵293dの生成に用いられる情報であり、全ての通信機器200で同一である。
図23は、実施の形態5における通信機器200の製造時処理を示すフローチャートである。
実施の形態5における通信機器200の製造時処理について、図23に基づいて以下に説明する。
機器個別共通鍵生成部214はマスター共通鍵291eおよび機器固有ID291bに基づいて機器個別共通鍵293dを生成し(S114)、マスター共通鍵291eを削除する(S122)。
以下、各処理(S114、S122)の詳細について説明する。
<S114:機器ID鍵生成処理の一例>
機器個別共通鍵生成部214は、マスター共通鍵291eと機器固有ID291bとを機器記憶部290から取得する。
機器個別共通鍵生成部214は、取得したマスター共通鍵291eおよび機器固有ID291bを入力値としてMACアルゴリズム(例えば、HMAC−SHA1やHMAC−MD5)を実行し、機器個別共通鍵293dを生成する。
機器個別共通鍵生成部214は、生成した機器個別共通鍵293dを機器記憶部290に記憶する。
S114の後、処理はS122に進む。
<S122>
機器個別共通鍵生成部214は、機器個別共通鍵293dの生成に用いたマスター共通鍵291eを機器記憶部290から削除する。機器個別共通鍵生成部214は、マスター共通鍵291eを削除することにより、マスター共通鍵291eが漏洩し、漏洩したマスター共通鍵291eを用いて機器個別共通鍵293dが偽造されることを防止する。
S122の後、処理は終了する。
図24は、実施の形態5における通信機器200の製造時(製造時処理後)の格納データを示す図である。
図24に示すように、通信機器200の製造時処理後、通信機器200の機器記憶部290(図示省略)には機器固有ID291bおよび機器個別共通鍵293dが記憶されている。
図25は、実施の形態5における通信機器200のシステム構築時処理を示すフローチャートである。
実施の形態5における通信機器200のシステム構築時処理について、図25に基づいて以下に説明する。
図25に示すフローチャートは、実施の形態1における通信機器200のシステム構築時処理(図7参照)のS230を以下に説明するS232に変更したものである。
<S232>
S220の後、機器個別共通鍵MAC生成部232は、機器個別共通鍵293dとRSA公開鍵292bとを機器記憶部290から取得する。
機器個別共通鍵MAC生成部232は、取得した機器個別共通鍵293dおよびRSA公開鍵292bを入力値としてMACアルゴリズム(例えば、HMAC−SHA1やHMAC−MD5)を実行し、RSA公開鍵292bの機器個別共通鍵MAC294dを生成する。
機器個別共通鍵MAC生成部232は、生成したRSA公開鍵292bの機器個別共通鍵MAC294dを機器記憶部290に記憶する。
S232の後、処理はS240に進む。
S240およびS250において、自己署名証明書情報には、IDベース暗号署名294bの代わりに機器個別共通鍵MAC294dが含まれる。
図26は、実施の形態5における通信機器200のシステム構築時(システム構築時処理後)の格納データを示す図である。
図26に示すように、通信機器200のシステム構築時処理後、通信機器200の機器記憶部290(図示省略)には機器固有ID291b、機器個別共通鍵293d、ホスト名291c、RSA鍵ペア292および自己署名証明書294が記憶されている。
自己署名証明書294には、RSA公開鍵292b、自己署名証明書294の有効期限、ホスト名291c、機器固有ID291b、機器個別共通鍵MAC294dおよびRSA自己署名294aが設定されている。
図27は、実施の形態5における機器認証システム100の運用概要を示す図である。
図27に示すように、通信機器A201は通信端末203と通信を行う。
通信端末203は、USBトークン120(USB:Universal Serial Bus)が接続されるインタフェースを有する。例えば、通信端末203はパーソナルコンピュータである。
また、通信端末203は、SSL通信部240、自己署名証明書検証部241および暗号認証通信部242を備える。
通信端末203のユーザは、通信端末203から通信機器A201にアクセスする際、製造時に通信機器200に登録されていたものと同じマスター共通鍵291eが記憶されているUSBトークン120を通信端末203に接続する。USBトークン120の代わりに、マスター共通鍵291eを安全に保管できる媒体として、ICカード等その他の媒体が用いられてもよい。
通信機器A201には、通信機器A201にアクセスすることが許可されているユーザのユーザIDおよびパスワードが記憶されているものとする。
図28は、実施の形態5における通信機器200の運用時処理を示すフローチャートである。
実施の形態5における通信機器200の運用時処理について、図28に基づいて以下に説明する。
<S311>
通信機器A201と通信端末203とは、実施の形態1(図10参照)のS310における通信機器A201および通信機器B202と同様に、SSLセッション情報を交換する。
S311の後、処理はS321に進む。
<S321:自己証明書送信処理、自己証明書受信処理の一例>
通信機器A201のSSL通信部240は、実施の形態1におけるS320と同様に、自己署名証明書294を通信端末203へ送信する。
通信端末203のSSL通信部240は、自己署名証明書294を通信機器A201へ送信しなくて構わない。
S321の後、処理はS330に進む。
<S334:自己署名証明書検証処理(自己証明書検証処理の一例)>
通信端末203の自己署名証明書検証部241は、実施の形態1のS330における通信機器B202と同様に、通信機器A201の自己署名証明書294を検証する。
通信機器A201の自己署名証明書294が有効である場合、処理はS335に進む。
<S335:機器個別共通鍵MAC検証処理(自己証明書検証処理の一例)>
通信端末203の自己署名証明書検証部241は、通信端末203に接続されたUSBトークン120からマスター共通鍵291eを取得する。
S335の後、処理はS336に進む。
<S336:機器個別共通鍵MAC検証処理(自己証明書検証処理の一例)>
通信端末203の自己署名証明書検証部241は、S335において取得したマスター共通鍵291eと通信機器A201の自己署名証明書294に設定されている機器固有ID291bとを入力値としてMACアルゴリズムを実行し、機器個別共通鍵293dを生成する。S335、S336において、機器個別共通鍵293dの生成は、マスター共通鍵291eを機密に保持するUSBトークン120の内部で実施される場合もある。その場合、機器個別共通鍵293dは、機器固有ID291bの入力に対する出力となる。
処理内容は、通信機器A201による機器個別共通鍵293dの生成処理(S1の14、図23参照)と同じである。
S336の後、処理はS337に進む。
<S337:機器個別共通鍵MAC検証処理(自己証明書検証処理の一例)>
通信端末203の自己署名証明書検証部241は、S336において生成した機器個別共通鍵293dと通信機器A201の自己署名証明書294に設定されているRSA公開鍵292bとを入力値としてMACアルゴリズムを実行し、RSA公開鍵292bの機器個別共通鍵MAC294dを生成する。
処理内容は、通信機器A201による機器個別共通鍵MAC294dの生成処理(S232、図25参照)と同じである。
S337の後、処理はS338に進む。
<S338:機器個別共通鍵MAC検証処理(自己証明書検証処理の一例)>
通信端末203の自己署名証明書検証部241は、通信機器A201の自己署名証明書294に設定されている機器個別共通鍵MAC294dとS337において生成した機器個別共通鍵MAC294dとを比較する。
通信端末203の自己署名証明書検証部241は、機器個別共通鍵MAC294dが一致する場合、通信機器A201の自己署名証明書294に設定されている機器個別共通鍵MAC294dが有効であると判定し、機器個別共通鍵MAC294dが一致しない場合、通信機器A201の自己署名証明書294に設定されている機器個別共通鍵MAC294dが有効でないと判定する。
通信端末203の自己署名証明書検証部241は、通信機器A201と同じ方法で生成した機器個別共通鍵MAC294dと比較して自己署名証明書294に設定されている機器個別共通鍵MAC294dを検証している。
このため、機器個別共通鍵MAC294dが有効である場合、通信機器B202の通信相手が通信機器A201であるということが保証される。
機器個別共通鍵MAC294dが有効である場合、処理はS342に進む。
機器個別共通鍵MAC294dが有効でない場合、通信機器B202は通信機器A201との通信を終了し、通信機器200の運用時処理は終了する。
機器個別共通鍵MAC294dが有効でない場合の処理分岐について図示を省略する。
<S342>
通信端末203のSSL通信部240は、実施の形態1におけるS340と同様に、プリマスターシークレット295aを生成し、RSA公開鍵292bを用いて暗号化したプリマスターシークレット295aを通信機器A201へ送信する。
S342の後、処理はS343に進む。
<S343>
通信機器A201のSSL通信部240は、実施の形態1におけるS341と同様に、通信端末203から受信したプリマスターシークレット295aをRSA秘密鍵292aを用いて復号する。
S343の後、処理はS382に進む。
<S382>
通信機器A201のSSL通信部240と通信端末203のSSL通信部240とは、実施の形態1におけるS380と同様に、プリマスターシークレット295aからセッション鍵295bを生成する。
S382の後、処理はS383に進む。
<S383>
通信端末203のユーザは、自分のユーザIDおよびパスワードを通信端末203に入力する。
通信端末203の暗号認証通信部242は、ユーザにより入力されたユーザIDおよびパスワードをセッション鍵295bを用いて暗号化し、暗号化したユーザIDおよびパスワードを通信機器A201へ送信する。
S383の後、処理はS384に進む。
<S384>
通信機器A201の暗号認証通信部242は、通信端末203により送信されたユーザIDおよびパスワードを受信し、受信したユーザIDおよびパスワードをセッション鍵295bを用いて復号する。
通信機器A201の暗号認証通信部242は、復号したユーザIDおよびパスワードを機器記憶部290に予め記憶されているユーザIDおよびパスワードと比較する。
通信機器A201の暗号認証通信部242は、比較一致する場合、通信端末203のユーザを認証許可し、比較一致しない場合、通信端末203のユーザを認証不許可とする。
ユーザ認証が不許可である場合、ユーザ認証が許可されるまで、S383〜S384が繰り返される。ユーザ認証が不許可である場合の処理分岐について図示を省略する。
ユーザ認証が許可された場合、処理はS385に進む。
<S385>
通信機器A201の暗号認証通信部242と通信端末203の暗号認証通信部242とは、実施の形態1におけるS381と同様に、セッション鍵295bを用いて暗号化した通信データ295dを通信する。
S385において必要なデータ通信が終了した後、処理は終了する。
通信端末203は、通信機器A201と同じく、自己署名証明書294を生成し、生成した自己署名証明書294を通信相手(通信機器A201)に送信する通信機器200であっても構わない。
この場合、通信機器A201は、通信端末203により実行された処理(S330、S334〜S337)と同様に、通信端末203の自己署名証明書294および自己署名証明書294に設定されている機器個別共通鍵MAC294dを検証する。
実施の形態5において、通信機器200が、IDベース暗号秘密鍵293bではなく機器固有の共通鍵を用いてRSA公開鍵292bの電子署名を生成し、生成したRSA公開鍵292bの電子署名を自己署名証明書294に設定する形態について説明した。
機器認証システム100は、実施の形態1と同様に、認証局から証明書の発行を受けなくても自己署名証明書294に基づいて通信相手を保証するという効果を奏する。
通信機器200は、実施の形態2と同様に、製造時処理において自己署名証明書294を生成してもよい。
また、通信機器200は、実施の形態3と同様に、自己署名証明書294を更新してもよい。
実施の形態6.
通信機器200が、IDベース暗号秘密鍵293bやRSA秘密鍵292aの漏洩を防ぐ形態について説明する。
以下、実施の形態1と異なる事項について主に説明する。説明を省略する事項は実施の形態1と同様である。
図29は、実施の形態6における通信機器200の機能構成図である。
実施の形態6における通信機器200の機能構成について、図29に基づいて以下に説明する。
通信機器200はICチップ800(IC:Integrated Circuit)を備え、ICチップ800はICチップメモリ801(アクセス制限データ記憶部の一例)を備える。
また、通信機器200はICチップ800に特定の処理を要求するためのコマンドを生成するコマンドアクセス部280を備える。
ICチップメモリ801には、マスター鍵291a、機器固有ID291b、RSA鍵ペア292(RSA秘密鍵292a、RSA公開鍵292b)、公開パラメータ293a、IDベース暗号秘密鍵293b、RSA自己署名294aおよびIDベース暗号署名294b(アクセス制限データの一例)を記憶する。
その他のデータはICチップ800外の機器記憶部290に記憶する。
ICチップ800に対する処理の要求は、予め定義されたコマンド(インタフェース)を用いて行われる。
また、通信機器200内からであってもICチップ800の外部からはICチップメモリ801に記憶されたデータに直接アクセスすることができない。
例えば、
(1)登録コマンド、(2)IDBE秘密鍵生成コマンド(IDBE:ID−Based
Encryption)、(3)証明書生成コマンド、(4)IDBE署名検証コマンド、(5)RSA暗復号コマンド、(6)SSL署名コマンドが定義されている。
(1)登録コマンドは、マスター鍵291a、公開パラメータ293aおよび機器固有ID291bを登録するためのコマンドである。
(2)IDBE秘密鍵生成コマンドは、IDベース暗号秘密鍵293bを生成するためのコマンドである。
(3)証明書生成コマンドは、自己署名証明書294を生成するためのコマンドである。(4)IDBE署名検証コマンドは、IDベース暗号署名294bを検証するためのコマンドである。
(5)RSA暗復号コマンドは、RSA鍵ペア292を用いた暗復号を行うためのコマンドである。
(6)SSL署名コマンドは、SSL署名295cを生成するためのコマンドである。
また例えば、(7)RSA鍵ペア生成コマンド、(8)鍵読出しコマンドが定義されている。
(7)RSA鍵ペア生成コマンドは、RSA鍵ペア292を生成するためのコマンドである。
(8)鍵読出しコマンドは、マスター鍵291a、RSA鍵ペア292、IDベース暗号秘密鍵293bおよび公開パラメータ293aを読み出すコマンドである。
ICチップ800は、IDベース暗号秘密鍵生成部210、RSA鍵ペア生成部221、自己署名生成部222、自己署名証明書生成部223、IDベース暗号署名生成部230、登録部281、IDベース暗号署名検証部282、RSA暗復号部283、SSL署名生成部284およびコマンドアクセス制御部810(アクセス制限部の一例)を備える。
通信機器200のその他の構成はICチップ800外に備わる。
コマンドアクセス制御部810は、ICチップメモリ801に記憶される特定のデータ(例えば、IDベース暗号秘密鍵293b、RSA秘密鍵292a)をICチップ800外に出力しないコマンドのみを受け付け、受け付けたコマンドに応じてICチップ800内の構成を動作させる。
コマンドアクセス制御部810は受け付けるコマンドを制限することにより、ICチップメモリ801に記憶されたデータへのアクセスを制限し、データの漏洩を防ぐ。
例えば、コマンドアクセス制御部810は上記(1)〜(6)のコマンドを受け付けるが、上記(7)〜(8)のコマンドを受け付けずに拒否する。
登録部281は、マスター鍵291a、機器固有ID291bおよび公開パラメータ293aをICチップメモリ801に登録する。
IDベース暗号署名検証部282は、ICチップメモリ801に記憶された公開パラメータ293aを用いて、IDベース暗号署名294bを検証する。
RSA暗復号部283は、ICチップメモリ801に記憶されたRSA鍵ペア292を用いて、データを暗号化および復号する。
SSL署名生成部284は、ICチップメモリ801に記憶されたRSA秘密鍵292aを用いて、SSL署名295cを生成する。
図30は、実施の形態6における通信機器200の製造時処理を示すフローチャートである。
実施の形態6における通信機器200の製造時処理について、図30に基づいて以下に説明する。
<S101>
製造者は、登録するマスター鍵291a、機器固有ID291bおよび公開パラメータ293aを通信機器200に入力する。
コマンドアクセス部280は、入力されたマスター鍵291a、機器固有ID291bおよび公開パラメータ293aを設定した登録コマンドを生成し、生成した登録コマンドをICチップ800に入力する。登録コマンドはICチップ800のコマンドアクセス制御部810により受け付けを許可されるコマンドである。
ICチップ800のコマンドアクセス制御部810は、入力された登録コマンドを判定し、登録コマンドを受け付ける。
登録部281は、登録コマンドに設定されているマスター鍵291a、機器固有ID291bおよび公開パラメータ293aをICチップメモリ801に記憶する。
S101の後、処理はS102に進む。
<S102>
コマンドアクセス部280は、IDBE秘密鍵生成コマンドを生成し、生成したIDBE秘密鍵生成コマンドをICチップ800に入力する。IDBE秘密鍵生成コマンドはICチップ800のコマンドアクセス制御部810により受け付けを許可されるコマンドである。
S102の後、処理はS110に進む。
<S110>
ICチップ800のコマンドアクセス制御部810は、入力されたIDBE秘密鍵生成コマンドを判定し、IDBE秘密鍵生成コマンドを受け付ける。
IDベース暗号秘密鍵生成部210は、実施の形態1(図5参照)と同じく、マスター鍵291a、機器固有ID291bおよび公開パラメータ293aに基づいてIDベース暗号秘密鍵293bを生成する。マスター鍵291a、機器固有ID291bおよび公開パラメータ293aはICチップメモリ801に記憶されている。
IDベース暗号秘密鍵生成部210は、生成したIDベース暗号秘密鍵293bをICチップメモリ801に記憶する。
S110の後、処理はS120に進む。
<S120>
IDベース暗号秘密鍵生成部210は、実施の形態1と同じく、マスター鍵291aを削除する。マスター鍵291aはICチップメモリ801から削除される。
S120により、製造時処理は終了する。
図31は、実施の形態6における通信機器200のシステム構築時処理を示すフローチャートである。
実施の形態6における通信機器200のシステム構築時処理について、図31に基づいて以下に説明する。
<S210>
システム情報設定部220は、実施の形態1(図7参照)と同じく、管理者が入力したホスト名291cを機器記憶部290に記憶する。
S210の後、処理はS290に進む。
<S290>
コマンドアクセス部280は、ホスト名291cやその他のデータを自己署名証明書情報に含めるデータとして設定した証明書生成コマンドを生成し、生成した証明書コマンドをICチップ800に入力する。証明書生成コマンドはICチップ800のコマンドアクセス制御部810により受け付けを許可されるコマンドである。
S290の後、処理はS220に進む。
<S220>
ICチップ800のコマンドアクセス制御部810は、入力された証明書生成コマンドを判定し、証明書生成コマンドを受け付ける。
RSA鍵ペア生成部221は、実施の形態1(図7参照)と同じく、RSA鍵ペア292(RSA秘密鍵292a、RSA公開鍵292b)を生成する。
RSA鍵ペア生成部221は、生成したRSA鍵ペア292をICチップメモリ801に記憶する。
S220の後、処理はS230に進む。
<S230>
IDベース暗号署名生成部230は、実施の形態1と同じく、IDベース暗号秘密鍵293bを用いてRSA公開鍵292bのIDベース暗号署名294bを生成する。IDベース暗号秘密鍵293bおよびRSA公開鍵292bはICチップメモリ801に記憶されている。
IDベース暗号署名生成部230は、生成したRSA公開鍵292bのIDベース暗号署名294bをICチップメモリ801に記憶する。
S230の後、処理はS240に進む。
<S240>
自己署名生成部222は、実施の形態1と同じく、RSA秘密鍵292aを用いて自己署名証明書情報のRSA自己署名294aを生成する。自己署名証明書情報のうちホスト名291cを含む一部のデータは証明書生成コマンドに設定されている。また、RSA秘密鍵292aはICチップメモリ801に記憶されている。
自己署名生成部222は、生成したRSA自己署名294aをICチップメモリ801に記憶する。
S240の後、処理はS250に進む。
<S250>
自己署名証明書生成部223は、実施の形態1と同じく、自己署名証明書情報とRSA自己署名294aとを結合して自己署名証明書294を生成する。
コマンドアクセス制御部810は生成された自己署名証明書294をコマンドアクセス部280に出力し、コマンドアクセス部280は出力された自己署名証明書294を機器記憶部290に記憶する。
S250により、システム構築時処理は終了する。
図32は、実施の形態6における通信機器200の運用時処理を示すフローチャートである。
実施の形態6における通信機器200の運用時処理について、図32に基づいて以下に説明する。
<S310〜S320>
通信機器A201と通信機器B202とは、実施の形態1(図10参照)と同じく、SSLセッション情報を交換し(S310)、自己署名証明書294を互いに通信し合う(S320)。
S320の後、処理はS330に進む。
<S330>
通信機器B202の自己署名証明書検証部241は、実施の形態1と同じく、通信機器A201の自己署名証明書294を検証する。
S330の後、処理はS331に進む。但し、実施の形態1と同じく、自己署名証明書294が無効であった場合、運用時処理は終了する。
<S331>

通信機器B202の自己署名証明書検証部241は、コマンドアクセス部280にIDBE署名検証コマンドを要求する。
コマンドアクセス部280は、通信機器A201の自己署名証明書294を設定したIDBE署名検証コマンドを生成し、生成したIDBE署名検証コマンドをICチップ800に入力する。IDBE署名検証コマンドはICチップ800のコマンドアクセス制御部810により受け付けを許可されるコマンドである。
ICチップ800のコマンドアクセス制御部810は、入力されたIDBE署名検証コマンドを判定し、IDBE署名検証コマンドを受け付ける。
IDベース暗号署名検証部282は、実施の形態1における自己署名証明書検証部241と同じく、自己署名証明書294のIDベース暗号署名294bを検証する。自己署名証明書294はIDBE署名検証コマンドに設定されている。検証に用いる公開パラメータ293aはICチップメモリ801に記憶されている。
コマンドアクセス制御部810は検証結果をコマンドアクセス部280に出力し、コマンドアクセス部280は出力された検証結果を自己署名証明書検証部241に出力する。
S331の後、処理はS340に進む。但し、実施の形態1と同じく、IDベース暗号署名294bが無効であった場合、運用時処理は終了する。
<S340>
通信機器B202のSSL通信部240は、実施の形態1と同じく、プリマスターシークレット295aを生成し、生成したプリマスターシークレット295aを暗号化し、暗号化したプリマスターシークレット295aを通信機器A201へ送信する。
S340の後、処理はS341に進む。
<S341>
通信機器A201のSSL通信部240は暗号化されたプリマスターシークレット295aを受信する。
通信機器A201のSSL通信部240はプリマスターシークレット295aを復号するRSA復号コマンドをコマンドアクセス部280に要求する。
コマンドアクセス部280は、暗号化されたプリマスターシークレット295aを設定したRSA復号コマンドを生成し、生成したRSA復号コマンドをICチップ800に入力する。RSA復号コマンドはICチップ800のコマンドアクセス制御部810により受け付けを許可されるコマンドである。
ICチップ800のコマンドアクセス制御部810は、入力されたRSA復号コマンドを判定し、RSA復号コマンドを受け付ける。
RSA暗復号部283は、実施の形態1におけるSSL通信部240と同じく、プリマスターシークレット295aをRSA秘密鍵292aを用いて復号する。RSA秘密鍵292aはICチップメモリ801に記憶されている。
コマンドアクセス制御部810は復号されたプリマスターシークレット295aをコマンドアクセス部280に出力し、コマンドアクセス部280は出力されたプリマスターシークレット295aを機器記憶部290に記憶する。
S341の後、処理はS350に進む。
<S350>
通信機器B202のSSL通信部240は、コマンドアクセス部280にSSL署名コマンドを要求する。
コマンドアクセス部280は、ハンドシェークメッセージ(通信機器A201と通信機器B202との間で通信された情報)を設定したSSL署名コマンドを生成し、生成したSSL署名コマンドをICチップメモリ801に入力する。SSL署名コマンドはICチップ800のコマンドアクセス制御部810により受け付けを許可されるコマンドである。
ICチップ800のコマンドアクセス制御部810は、入力されたSSL署名コマンドを判定し、SSL署名コマンドを受け付ける。
SSL署名生成部284は、実施の形態1におけるSSL通信部240と同じく、RSA秘密鍵292aを用いてハンドシェークメッセージの署名をSSL署名295cとして生成する。RSA秘密鍵292aはICチップメモリ801に記憶されている。
コマンドアクセス制御部810はSSL署名295cをコマンドアクセス部280に出力し、コマンドアクセス部280はSSL署名295cをSSL通信部240に出力し、SSL通信部240はSSL署名295cを通信機器A201へ送信する。
通信機器A201のSSL通信部240は通信機器B202のSSL署名295cを受信し、受信したSSL署名295cを機器記憶部290に記憶する。
S350の後、処理はS360に進む。
<S360>
通信機器A201は、S330における通信機器B202と同様にして、通信機器B202の自己署名証明書294を検証する。
S360の後、処理はS361に進む。但し、S330と同じく、自己署名証明書294が無効であった場合、運用時処理は終了する。
<S361>
通信機器A201は、S331における通信機器B202と同様にして、通信機器B202の自己署名証明書294に設定されているIDベース暗号署名294bを検証する。
S361の後、処理はS370に進む。但し、S331と同じく、IDベース暗号署名294bが無効であった場合、運用時処理は終了する。
<S370>
通信機器A201のSSL通信部240は、実施の形態1と同じく、通信機器B202のSSL署名295cを検証する。
S370の後、処理はS380に進む。但し、実施の形態1と同じく、SSL署名295cが無効であった場合、運用時処理は終了する。
<S380〜S381>
S380〜S381は実施の形態1と同様に行われる。
通信機器A201のSSL通信部240と通信機器B202のSSL通信部240とは、セッション鍵295bを生成し(S380)、生成したセッション鍵295bを用いて通信データ295dを暗号通信する(S381)。
S381により、運用時処理は終了する。
実施の形態6において、例えば、以下のような機器認証システム100について説明した。
機器認証システム100は、以下のような課題を解決する。
(1)IDベース暗号秘密鍵293bが外部に漏洩すると、漏洩したIDベース暗号秘密鍵293bからIDベース暗号署名294bが生成され、第三者が他人に成りすまして通信を行う恐れがある。
(2)第三者がIDベース暗号署名生成部230を不正使用し、自己のRSA公開鍵を用いたIDベース暗号署名294bを生成し、他人に成りすまして通信を行う恐れがある。(3)RSA秘密鍵292aが外部に漏洩すると、プリマスターシークレットが復号され、第三者が他人に成りすまして通信を行う恐れがある。
通信機器200は、証明書生成機能を有するICチップ800を備えるため、証明書発行サーバとの通信機能を備える必要がない。つまり、証明書発行サーバとの間で安全性の高い通信を実現する必要がないため、その分のコストを削減することができる。
通信機器200は、IDベース暗号秘密鍵293bの漏洩、IDベース暗号署名生成部230の不正使用およびRSA秘密鍵292aの漏洩の対策を施し、他の通信機器により成りすまされることを防止する。
自己署名証明書294の検証が成功した場合、自己署名証明書294に含まれるIDベース暗号署名294bが自己署名証明書294に含まれる機器固有ID291bで識別される通信機器200により生成されたことが以下の理由により保証される。
(1)ICチップ800に格納されたIDベース暗号秘密鍵293bは証明書生成コマンドの実行時にのみアクセスされる。そして、IDベース暗号秘密鍵293bにアクセスを試みるその他のコマンドはコマンドアクセス制御部810によって拒否される。したがって、IDベース暗号署名294bが偽造されることは防止される。
(2)自己署名証明書294に含まれるRSA公開鍵292bに対応するRSA秘密鍵292aは、証明書生成コマンド、RSA復号コマンドおよびSSL署名コマンドの実行時にのみアクセスされる。そして、RSA秘密鍵292aにアクセスを試みるその他のコマンドはコマンドアクセス制御部810によって拒否される。したがって、RSA秘密鍵292aが外部に漏洩することは防止される。つまり、自己署名証明書294が偽造されることはなく、自己署名証明書294はIDベース暗号署名294bの生成に使用された機器固有ID291bで識別される通信機器200により生成されたことが保証される。
ICチップ800(ICチップメモリ801)は、内部のデータへのアクセスを制限する構成の一例である。ICチップ800以外の構成によってRSA秘密鍵292aやIDベース暗号秘密鍵293bなどへのアクセスを制限しても構わない。
通信機器200は、実施の形態2と同様に、製造時処理において自己署名証明書294を生成してもよい。
通信機器200は、実施の形態3と同様に、自己署名証明書294を更新してもよい。
通信機器200は、実施の形態4と同様に、IDベース暗号秘密鍵293bの代わりに機器個別RSA鍵ペア293cを用い、IDベース暗号署名294bの代わりに機器個別RSA署名294cを自己署名証明書294に設定してもよい。
また、通信機器200は、実施の形態5と同様に、IDベース暗号秘密鍵293bの代わりに機器個別共通鍵293dを用い、IDベース暗号署名294bの代わりに機器個別共通鍵MAC294dを自己署名証明書294に設定してもよい。
100 機器認証システム、110 通信ネットワーク、120 USBトークン、200 通信機器、201 通信機器A、202 通信機器B、203 通信端末、210
IDベース暗号秘密鍵生成部、211 機器個別RSA鍵ペア生成部、212 機器個別署名生成部、213 機器個別証明書生成部、214 機器個別共通鍵生成部、220
システム情報設定部、221 RSA鍵ペア生成部、222 自己署名生成部、223
自己署名証明書生成部、224 証明書更新契機検出部、230 IDベース暗号署名生成部、231 機器個別RSA署名生成部、232 機器個別共通鍵MAC生成部、240 SSL通信部、241 自己署名証明書検証部、242 暗号認証通信部、280
コマンドアクセス部、281 登録部、282 IDベース暗号署名検証部、283 RSA暗復号部、284 SSL署名生成部、290 機器記憶部、291a マスター鍵、291b 機器固有ID、291c ホスト名、291d マスターRSA鍵ペア、291d1 マスターRSA秘密鍵、291d2 マスターRSA公開鍵、291e マスター共通鍵、292 RSA鍵ペア、292a RSA秘密鍵、292b RSA公開鍵、293a 公開パラメータ、293b IDベース暗号秘密鍵、293c 機器個別RSA鍵ペア、293c1 機器個別RSA秘密鍵、293c2 機器個別RSA公開鍵、293d 機器個別共通鍵、294 自己署名証明書、294a RSA自己署名、294b IDベース暗号署名、294c 機器個別RSA署名、294d 機器個別共通鍵MAC、295a プリマスターシークレット、295b セッション鍵、295c SSL署名、295d 通信データ、296 機器個別証明書、296a 機器個別署名、800 ICチップ、801 ICチップメモリ、810 コマンドアクセス制御部、911 CPU、912 バス、913 ROM、914 RAM、915 通信ボード、920 磁気ディスク装置、921 OS、923 プログラム群、924 ファイル群。

Claims (15)

  1. 自機器を識別する機器ID(IDentity)に基づいて暗号鍵データを機器ID鍵としてCPU(Central Proccessing Unit)を用いて生成する機器ID鍵生成部と、
    自機器の公開鍵データと前記機器ID鍵生成部により生成された機器ID鍵とに基づいて前記公開鍵データの認証情報を機器ID認証情報としてCPUを用いて生成する機器ID認証情報生成部と、
    所定のデータと自機器の秘密鍵データとに基づいて前記所定のデータの認証情報を自己認証情報としてCPUを用いて生成する自己認証情報生成部と、
    前記所定のデータと前記機器ID認証情報生成部により生成された機器ID認証情報と前記自己認証情報生成部により生成された自己認証情報とを含んだ電子証明書を自己証明書として特定機器へ通信装置を用いて送信する自己証明書送信部と
    を備えたことを特徴とする自己認証通信機器。
  2. 前記機器ID鍵生成部は、IDベース暗号方式により前記機器IDをIDベース暗号公開鍵とするIDベース暗号秘密鍵を前記機器ID鍵として生成し、
    前記機器ID認証情報生成部は、前記IDベース暗号秘密鍵を用いて前記公開鍵データの電子署名であるIDベース暗号秘密鍵署名を前記機器ID認証情報として生成し、
    前記自己認証情報生成部は、前記秘密鍵データを用いて前記所定のデータの電子署名である自己署名を前記自己認証情報として生成する
    ことを特徴とする請求項1記載の自己認証通信機器。
  3. 前記自己証明書送信部は、前記公開鍵データと前記機器IDと前記IDベース暗号秘密鍵署名と前記自己署名とを含んだ前記自己証明書を前記特定機器に送信する
    ことを特徴とする請求項2記載の自己認証通信機器。
  4. 前記自己認証通信機器は、さらに、前記秘密鍵データと前記公開鍵データとを認証鍵ペアとして所定のタイミングでCPUを用いて更新する認証鍵ペア更新部を備え、
    前記機器ID認証情報生成部は、前記認証鍵ペア更新部により更新された公開鍵データに基づいて前記機器ID認証情報を新たに生成し、
    前記自己認証情報生成部は、前記認証鍵ペア更新部により更新された秘密鍵データに基づいて前記自己認証情報を新たに生成し、
    前記自己証明書送信部は、前記機器ID認証情報生成部により新たに生成された機器ID認証情報と前記自己認証情報生成部により新たに生成された自己認証情報とを含んだ自己証明書を前記特定機器へ送信する
    ことを特徴とする請求項3記載の自己認証通信機器。
  5. 前記自己認証通信機器は、さらに、
    前記機器ID鍵をアクセス制限データとして記憶するアクセス制限データ記憶部と、
    前記アクセス制限データ記憶部に記憶された前記アクセス制限データへのアクセスを制限するアクセス制限部であって前記機器ID鍵へのアクセスを前記機器ID認証情報生成部からのアクセスに制限するアクセス制限部とを備えた
    ことを特徴とする請求項4記載の自己認証通信機器。
  6. 前記アクセス制限データ記憶部は、前記秘密鍵データをアクセス制限データとして記憶し、
    前記アクセス制限部は、前記秘密鍵データへのアクセスを前記自己認証情報生成部からのアクセスに制限する
    ことを特徴とする請求項5記載の自己認証通信機器。
  7. 前記自己認証通信機器は、ICチップ(IC:Integrated Circuit)を備え、
    前記アクセス制限データ記憶部と前記アクセス制限部とは前記ICチップに備えられることを特徴とする請求項6記載の自己認証通信機器。
  8. 前記機器ID鍵生成部は、公開鍵暗号方式により前記機器IDを用いて秘密鍵データである機器個別秘密鍵と公開鍵データである機器個別公開鍵とを前記機器ID鍵として生成し、
    前記機器ID認証情報生成部は、前記機器個別秘密鍵を用いて前記自機器の公開鍵データの電子署名である機器個別秘密鍵署名を前記機器ID認証情報として生成し、
    前記自己認証情報生成部は、前記自機器の秘密鍵データを用いて前記所定のデータの電子署名である自己署名を前記自己認証情報として生成する
    ことを特徴とする請求項1記載の自己認証通信機器。
  9. 前記自己認証通信機器は、さらに、前記自機器の秘密鍵データに基づいて前記機器個別公開鍵の電子署名を機器個別署名としてCPUを用いて生成する機器個別署名生成部を備え、
    前記自己証明書送信部は、前記機器個別署名生成部により生成された機器個別署名を含めた前記自己証明書を前記特定機器に送信する
    ことを特徴とする請求項8記載の自己認証通信機器。
  10. 前記機器ID鍵生成部は、共通鍵暗号方式により前記機器IDを用いて共通鍵データである機器個別共通鍵を前記機器ID鍵として生成し、
    前記機器ID認証情報生成部は、前記機器個別共通鍵を用いて前記公開鍵データのMAC(Message Authentication Code)である機器個別共通鍵MACを前記機器ID認証情報として生成し、
    前記自己認証情報生成部は、前記秘密鍵データを用いて前記所定のデータの電子署名である自己署名を前記自己認証情報として生成する
    ことを特徴とする請求項1記載の自己認証通信機器。
  11. 請求項1記載の自己認証通信機器により送信された自己証明書を通信装置を用いて受信する自己証明書受信部と、
    前記自己証明書受信部により受信された自己証明書をCPUを用いて検証する自己証明書検証部と
    を備えたことを特徴とする自己認証検証通信機器。
  12. 請求項1記載の自己認証通信機器と、
    請求項11記載の自己認証検証通信機器と
    を有することを特徴とする機器認証システム。
  13. 自己認証通信機器と自己認証検証通信機器とを有する機器認証システムの機器認証方法であり、
    自己認証通信機器において、
    機器ID鍵生成部が、自機器を識別する機器ID(IDentity)に基づいて暗号鍵データを機器ID鍵としてCPU(Central Proccessing Unit)を用いて生成する機器ID鍵生成処理を行い、
    機器ID認証情報生成部が、自機器の公開鍵データと前記機器ID鍵生成部により生成された機器ID鍵とに基づいて前記公開鍵データの認証情報を機器ID認証情報としてCPUを用いて生成する機器ID認証情報生成処理を行い、
    自己認証情報生成部が、所定のデータと自機器の秘密鍵データとに基づいて前記所定のデータの認証情報を自己認証情報としてCPUを用いて生成する自己認証情報生成処理を行い、
    自己証明書送信部が、前記所定のデータと前記機器ID認証情報生成部により生成された機器ID認証情報と前記自己認証情報生成部により生成された自己認証情報とを含んだ電子証明書を自己証明書として特定機器へ通信装置を用いて送信する自己証明書送信処理を行い、
    自己認証検証通信機器において、
    自己証明書受信部が、自己認証通信機器により送信された自己証明書を通信装置を用いて受信する自己証明書受信処理を行い、
    自己証明書検証部が、前記自己証明書受信部により受信された自己証明書をCPUを用いて検証する自己証明書検証処理を行う
    ことを特徴とする機器認証システムの機器認証方法。
  14. 自機器を識別する機器ID(IDentity)に基づいて暗号鍵データを機器ID鍵としてCPU(Central Proccessing Unit)を用いて生成する機器ID鍵生成処理と、
    自機器の公開鍵データと前記機器ID鍵生成処理により生成された機器ID鍵とに基づいて前記公開鍵データの認証情報を機器ID認証情報としてCPUを用いて生成する機器ID認証情報生成処理と、
    所定のデータと自機器の秘密鍵データとに基づいて前記所定のデータの認証情報を自己認証情報としてCPUを用いて生成する自己認証情報生成処理と、
    前記所定のデータと前記機器ID認証情報生成処理により生成された機器ID認証情報と前記自己認証情報生成処理により生成された自己認証情報とを含んだ電子証明書を自己証明書として特定機器へ通信装置を用いて送信する自己証明書送信処理と
    を通信機器に実行させる自己認証通信プログラム。
  15. 請求項1記載の自己認証通信機器により送信された自己証明書を通信装置を用いて受信する自己証明書受信処理と、
    前記自己証明書受信処理により受信された自己証明書をCPUを用いて検証する自己証明書検証処理と
    を通信機器に実行させる自己認証検証通信プログラム。
JP2010542115A 2008-12-11 2009-12-09 自己認証通信機器および機器認証システム Active JP5202646B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010542115A JP5202646B2 (ja) 2008-12-11 2009-12-09 自己認証通信機器および機器認証システム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
PCT/JP2008/072477 WO2010067433A1 (ja) 2008-12-11 2008-12-11 自己認証通信機器、自己認証検証通信機器、機器認証システム、機器認証システムの機器認証方法、自己認証通信プログラムおよび自己認証検証通信プログラム
JPPCT/JP2008/072477 2008-12-11
PCT/JP2009/070581 WO2010067812A1 (ja) 2008-12-11 2009-12-09 自己認証通信機器および機器認証システム
JP2010542115A JP5202646B2 (ja) 2008-12-11 2009-12-09 自己認証通信機器および機器認証システム

Publications (2)

Publication Number Publication Date
JPWO2010067812A1 JPWO2010067812A1 (ja) 2012-05-24
JP5202646B2 true JP5202646B2 (ja) 2013-06-05

Family

ID=48713158

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010542115A Active JP5202646B2 (ja) 2008-12-11 2009-12-09 自己認証通信機器および機器認証システム

Country Status (1)

Country Link
JP (1) JP5202646B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6188744B2 (ja) * 2015-06-22 2017-08-30 Kddi株式会社 管理システム、車両及び管理方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002535740A (ja) * 1999-01-29 2002-10-22 ジェネラル・インストルメント・コーポレーション デジタル情報を転送するデバイスにおける、セキュアなマイクロプロセッサを用いた証明書の自己生成
JP2002537685A (ja) * 1999-02-11 2002-11-05 ブル・エス・アー オンボードシステムによって生成される公開鍵の使用を検証する方法
JP2003500923A (ja) * 1999-05-21 2003-01-07 インターナショナル・ビジネス・マシーンズ・コーポレーション セキュア通信をイニシャライズし、装置を排他的にペアリングする方法、コンピュータ・プログラムおよび装置
JP2005006076A (ja) * 2003-06-12 2005-01-06 Minolta Co Ltd 通信システムおよび方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002535740A (ja) * 1999-01-29 2002-10-22 ジェネラル・インストルメント・コーポレーション デジタル情報を転送するデバイスにおける、セキュアなマイクロプロセッサを用いた証明書の自己生成
JP2002537685A (ja) * 1999-02-11 2002-11-05 ブル・エス・アー オンボードシステムによって生成される公開鍵の使用を検証する方法
JP2003500923A (ja) * 1999-05-21 2003-01-07 インターナショナル・ビジネス・マシーンズ・コーポレーション セキュア通信をイニシャライズし、装置を排他的にペアリングする方法、コンピュータ・プログラムおよび装置
JP2005006076A (ja) * 2003-06-12 2005-01-06 Minolta Co Ltd 通信システムおよび方法

Also Published As

Publication number Publication date
JPWO2010067812A1 (ja) 2012-05-24

Similar Documents

Publication Publication Date Title
WO2010067812A1 (ja) 自己認証通信機器および機器認証システム
CN110086608B (zh) 用户认证方法、装置、计算机设备及计算机可读存储介质
CN109088889B (zh) 一种ssl加解密方法、系统及计算机可读存储介质
JP6684930B2 (ja) ブロックチェーンに基づくアイデンティティ認証方法、装置、ノード及びシステム
JP4617763B2 (ja) 機器認証システム、機器認証サーバ、端末機器、機器認証方法、および機器認証プログラム
KR101686167B1 (ko) 사물 인터넷 기기의 인증서 배포 장치 및 방법
JP6012888B2 (ja) 機器証明書提供装置、機器証明書提供システムおよび機器証明書提供プログラム
JP6609788B1 (ja) 情報通信機器、情報通信機器用認証プログラム及び認証方法
JP6667371B2 (ja) 通信システム、通信装置、通信方法、及びプログラム
US11777743B2 (en) Method for securely providing a personalized electronic identity on a terminal
JP6438901B2 (ja) 認証システム、鍵処理連携方法、および、鍵処理連携プログラム
WO2022100356A1 (zh) 身份认证系统、方法、装置、设备及计算机可读存储介质
US11917081B2 (en) Issuing device and method for issuing and requesting device and method for requesting a digital certificate
KR20090084545A (ko) Ce 장치 관리 서버, ce 장치 관리 서버를 이용한drm 키 발급 방법, 및 그 방법을 실행하기 위한프로그램 기록매체
JP2005276122A (ja) アクセス元認証方法及びシステム
US11522849B2 (en) Authentication system and computer readable medium
JP4332071B2 (ja) クライアント端末、ゲートウエイ装置、及びこれらを備えたネットワークシステム
KR102591826B1 (ko) Puf를 이용한 인증서 기반 디바이스 인증 장치 및 방법
JP7021376B2 (ja) 通信装置、通信方法、およびコンピュータプログラム
JP5734095B2 (ja) 端末装置およびサーバ装置および電子証明書発行システムおよび電子証明書受信方法および電子証明書送信方法およびプログラム
JP2004140636A (ja) 電子文書の署名委任システム、署名委任サーバ及び署名委任プログラム
JP5202646B2 (ja) 自己認証通信機器および機器認証システム
KR101256114B1 (ko) 다수의 mac검증서버에 의한 메시지인증코드 검증 방법 및 시스템
JP2020136863A (ja) 通信制御システム
JP2004013374A (ja) 一方向認証システム

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130115

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130212

R150 Certificate of patent or registration of utility model

Ref document number: 5202646

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160222

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250