(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024163630
(43)【公開日】2024-11-22
(54)【発明の名称】証明書検証装置、証明書検証方法、及び証明書検証プログラム
(51)【国際特許分類】
H04L 9/08 20060101AFI20241115BHJP
【FI】
H04L9/08 F
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2023079407
(22)【出願日】2023-05-12
(71)【出願人】
【識別番号】000004260
【氏名又は名称】株式会社デンソー
(74)【代理人】
【識別番号】230120499
【弁護士】
【氏名又は名称】藤江 和典
(74)【代理人】
【識別番号】100201385
【弁理士】
【氏名又は名称】中安 桂子
(72)【発明者】
【氏名】菅野 康治
(57)【要約】 (修正有)
【課題】通信途絶等、何らかの異常状態により日時情報を受信できない場合にも、公開鍵証明書の有効期限が切れているかどうかの検証ができる方法及びシステムを提供する。
【解決手段】証明書の有効期限を検証する証明書検証装置11は、認証要求装置から証明書及び日時配信装置から日時の情報である第1の日時情報を受信する受信部101と、第1の日時情報を保存する日時情報保存部102と、当該証明書検証装置で生成又は受信したログを保存するログ保存部104と、第1の日時情報を用いて証明書の有効期限が切れているか否かを検証する証明書検証部105と、を有し、受信部が第1の日時情報を受信できない場合、証明書検証部が、ログ保存部に保存しているログに紐づけられた第2の日時情報を用いて証明書の有効期限が切れていることを検証する。
【選択図】
図3
【特許請求の範囲】
【請求項1】
証明書の有効期限を検証する証明書検証装置であって、
認証要求装置(30)から前記証明書、及び日時配信装置から日時の情報である第1の日時情報、を受信する受信部(101)と、
前記第1の日時情報を保存する日時情報保存部(102)と、
当該証明書検証装置で生成又は受信したログを保存するログ保存部(104)と、
前記第1の日時情報を用いて前記証明書の前記有効期限が切れているか否かを検証する証明書検証部(105)と、を有し、
前記受信部が前記第1の日時情報を受信できない場合、前記証明書検証部は、前記ログ保存部に保存している前記ログに紐づけられた第2の日時情報を用いて前記証明書の有効期限が切れていることを検証する、
証明書検証装置(11,12,13)。
【請求項2】
前記証明書検証部は、当該証明書検証装置で生成された自装置生成ログ及び当該証明書検証装置以外の装置である他装置で生成された他装置生成ログに紐づけられたそれぞれの前記第2の日時情報のうち、最も新しい日時情報を用いる、
請求項1記載の証明書検証装置(11)。
【請求項3】
前記証明書検証部は、前記日時配信装置と時刻同期が取れている前記他装置を選定し、前記自装置生成ログ及び前記他装置生成ログに紐付けられたそれぞれの前記第2の日時情報のうち、最も新しい日時情報を用いる、
請求項2記載の証明書検証装置(11)。
【請求項4】
前記証明書検証部は、当該証明書検証装置で生成された自装置生成ログに紐づけられた前記第2の日時情報を用いる、
請求項1記載の証明書検証装置(11)。
【請求項5】
前記受信部が前記第1の日時情報を受信できない場合、前記証明書検証部は、前記日時情報保存部に保存されている過去に受信した前記第1の日時情報、及び前記第2の日時情報のうち、最も新しい日時情報を用いて前記証明書の有効期限が切れていることを検証する、
請求項1記載の証明書検証装置(12)。
【請求項6】
前記受信部は、前記日時配信装置と接続されている日時配信代替装置から第3の日時情報を受信し、
前記証明書検証部が前記証明書の有効期限が切れているか切れていないかを判定できない場合、前記証明書検証部は、前記第3の日時情報を用いて前記証明書の有効期限が切れているか否かを検証する、
請求項1又は5記載の証明書検証装置(13)。
【請求項7】
前記証明書検証部は、前記日時配信装置と時刻同期が取れている前記日時配信代替装置を選定し、前記日時配信装置と時刻同期が取れている前記日時配信装置から受信した前記第3の日時情報を用いて前記証明書の有効期限が切れているか否かを検証する、
請求項6記載の証明書検証装置(13)。
【請求項8】
当該証明書検証装置は、移動体に搭載されている、
請求項1記載の証明書検証装置(11,12,13)。
【請求項9】
証明書の有効期限を検証する証明書検証装置(11)で実行される証明書検証方法であって、
認証要求装置から前記証明書、及び日時配信装置から日時の情報である第1の日時情報、を受信し(S101,S102)、
前記第1の日時情報を保存し(S102)、
前記証明書検証装置で生成又は受信したログを保存し(S103)、
前記第1の日時情報を用いて前記証明書の前記有効期限が切れているか否かを検証し(S106,S112)、
前記第1の日時情報を受信できない場合、保存している前記ログに紐づけられた第2の日時情報を用いて前記証明書の有効期限が切れていることを検証する(S115,S116)、
証明書検証方法。
【請求項10】
証明書の有効期限を検証する証明書検証装置(11)で実行可能な証明書検証プログラムであって、
認証要求装置から前記証明書、及び日時配信装置から日時の情報である第1の日時情報、を受信し(S101,S102)、
前記第1の日時情報を保存し(S102)、
前記証明書検証装置で生成又は受信したログを保存し(S103)、
前記第1の日時情報を用いて前記証明書の前記有効期限が切れているか否かを検証し(S106,S112)、
前記第1の日時情報を受信できない場合、保存している前記ログに紐づけられた第2の日時情報を用いて前記証明書の有効期限が切れていることを検証する(S115,S116)、
証明書検証プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、主として車載の電子制御システムに搭載され、認証要求装置からX.509等の証明書を受信し、証明書の有効期限の検証を行う証明書検証装置、及び証明書検証装置で実現する方法及び証明書検証装置で実行可能なプログラムに関する。
【背景技術】
【0002】
自動車においては、車載ネットワークで接続された様々な電子制御装置が搭載されている。近年の自動運転技術の発展に伴い自動車に求められる機能が複雑になるため、自動車に搭載される電子制御装置の数は増加しつつある。
【0003】
電子制御装置は、電子制御システムの内部の他の電子制御装置や、電子制御システムの外部の装置との間で、公開鍵を用いた署名の検証や暗号の復号を利用し、プログラムやデータを送受信している。その際、公開鍵が本当にその所有者のものであるかどうかを証明するために公開鍵証明書を用いることができる。
【0004】
公開鍵証明書には有効期限が設けられているので、証明書の有効期限が切れているか否かを検証する必要がある。例えば、特許文献1には、証明書の有効期限が切れているか否かを検証するために、GPS受信機が取得した日時情報に基づき、証明書が有効期間内のものかどうかを検証している。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
ここで、本発明者は、詳細な検討の結果、以下の課題を見出した。
通信途絶等、何らかの異常状態により日時情報を受信できない場合、公開鍵証明書の有効期限が切れているかどうかの検証ができなくなる。例えば、移動体に搭載された装置である場合は、移動とともに通信環境が変化するので、日時情報を常に受信できるとは限らない。
【0007】
そこで、本発明は、何らかの異常状態により日時情報を受信できない場合であっても、公開鍵証明書の有効期限が切れていることを検証することができる証明書検証装置等を実現することを目的とする。
【課題を解決するための手段】
【0008】
本開示の一態様による証明書検証装置は、証明書の有効期限を検証する証明書検証装置であって、
認証要求装置(30)から前記証明書、及び日時配信装置から日時の情報である第1の日時情報、を受信する受信部(101)と、
前記第1の日時情報を保存する日時情報保存部(102)と、
当該証明書検証装置で生成又は受信したログを保存するログ保存部(104)と、
前記第1の日時情報を用いて前記証明書の前記有効期限が切れているか否かを検証する証明書検証部(105)と、を有し、
前記受信部が前記第1の日時情報を受信できない場合、前記証明書検証部は、前記ログ保存部に保存している前記ログに紐づけられた第2の日時情報を用いて前記証明書の有効期限が切れていることを検証する。
【0009】
なお、特許請求の範囲、及び本項に記載した発明の構成要件に付した括弧内の番号は、本発明と後述の実施形態との対応関係を示すものであり、本発明を限定する趣旨ではない。
【発明の効果】
【0010】
以上の構成によれば、本発明の証明書検証装置等は、ログ保存部に保存しているログに紐付けられた日時情報を用いて証明書の有効期限が切れていることを検証するので、日時情報を受信できない場合であっても証明書の有効期限が切れていることを検証することができる。
【図面の簡単な説明】
【0011】
【
図1】証明書検証装置及びその周辺装置の配置を説明する図
【
図2】電子制御システムの構成例、及び証明書検証装置等との関係を説明する図
【
図3】実施形態1の証明書検証装置の構成を説明するブロック図
【
図4】実施形態1の証明書検証装置の証明書検証部の判定動作を説明する図
【
図5】実施形態1の証明書検証装置の動作を説明するフロー図
【
図6】実施形態1の証明書検証装置の証明書検証部の動作を説明するフロー図
【
図7】実施形態2の証明書検証装置の構成を説明するブロック図
【
図8】実施形態2の証明書検証装置の証明書検証部の動作を説明するフロー図
【
図9】実施形態3の証明書検証装置の構成を説明するブロック図
【
図10】実施形態3の証明書検証装置の証明書検証部の動作を説明するフロー図
【発明を実施するための形態】
【0012】
以下、本発明の実施形態について、図面を参照して説明する。
【0013】
なお、本発明とは、特許請求の範囲又は課題を解決するための手段の項に記載された発明を意味するものであり、以下の実施形態に限定されるものではない。また、少なくともかぎ括弧内の語句は、特許請求の範囲又は課題を解決するための手段の項に記載された語句を意味し、同じく以下の実施形態に限定されるものではない。
【0014】
特許請求の範囲の従属項に記載の構成及び方法は、特許請求の範囲の独立項に記載の発明において任意の構成及び方法である。従属項に記載の構成及び方法に対応する実施形態の構成及び方法、並びに特許請求の範囲に記載がなく実施形態のみに記載の構成及び方法は、本発明において任意の構成及び方法である。特許請求の範囲の記載が実施形態の記載よりも広い場合における実施形態に記載の構成及び方法も、本発明の構成及び方法の例示であるという意味で、本発明において任意の構成及び方法である。いずれの場合も、特許請求の範囲の独立項に記載することで、本発明の必須の構成及び方法となる。
【0015】
実施形態に記載した効果は、本発明の例示としての実施形態の構成を有する場合の効果であり、必ずしも本発明が有する効果ではない。
【0016】
複数の実施形態(変形例を含む。以下、本段落において同様。)がある場合、各実施形態に開示の構成は各実施形態のみで閉じるものではなく、実施形態をまたいで組み合わせることが可能である。例えば一の実施形態に開示の構成を、他の実施形態に組み合わせてもよい。また、複数の実施形態それぞれに開示の構成を集めて組み合わせてもよい。
【0017】
発明が解決しようとする課題に記載した課題は公知の課題ではなく、本発明者が独自に知見したものであり、本発明の構成及び方法と共に発明の進歩性を肯定する事実である。
【0018】
1.各実施形態の前提となる構成
(1)証明書検証装置及びその周辺装置の配置
図1は、各実施形態の「証明書検証装置」の配置を説明する図である。例えば、証明書検証装置11、証明書検証装置12、又は証明書検証装置13(以下、証明書検証装置11等と略する。)は、
図1(a)に示すように電子制御システムSを構成する装置として、又は電子制御システムSとは別の装置として、「移動体」である車両に「搭載」されている。あるいは、証明書検証装置11等は、
図1(b)に示すように、必ずしも「移動体」に「搭載」されていなくてもよい。
図1(a)の証明書検証装置11等の形態の例として、電子制御装置(ECU:Electric Control Unit)が挙げられるが、これに限らない。また、
図1(b)の証明書検証装置11等の形態の例として、パーソナルコンピュータ(PC)やスマートフォンが挙げられるが、これらに限らない。
ここで、
「移動体」とは、移動可能な物体をいい、移動速度は任意である。また移動体が停止している場合も当然含む。例えば、自動車、自動二輪車、自転車、歩行者、船舶、航空機、及びこれらに搭載される物を含み、またこれらに限らない。
「搭載」される、とは、移動体に直接固定されている場合の他、移動体に固定されていないが移動体と共に移動する場合も含む。例えば、移動体に乗った人が所持している場合、移動体に載置された積荷に搭載されている場合、が挙げられる。
【0019】
図1(a)の場合、証明書検証装置11等は、主に無線通信による通信ネットワークを介して外部装置30から公開鍵証明書(以下、証明書と略する。)を受信する。車両が駐車中であったり、修理工場に収容されている場合は、有線通信による通信ネットワークを介してファイルを受信してもよい。
図1(b)の場合、証明書検証装置11等は、無線通信又は有線通信を介して外部装置30から証明書を受信する。
【0020】
無線通信の例として、例えば、IEEE802.11(Wi-Fi(登録商標))、IEEE802.16(WiMAX(登録商標))、W-CDMA(Wideband Code Division Multiple Access)、HSPA(High Speed Packet Access)、LTE(Long Term Evolution)、LTE-A(Long Term Evolution Advanced)、4G、5G等の無線通信方式が挙げられる。あるいは、DSRC(Dedicated Short Range Communication)を用いることができる。有線通信の例として、例えば、IEEE802.3(Ethernet)、CAN(Control Area Network)、CAN FD(CAN with Flexible Data rate)、固定電話回線が挙げられる。
【0021】
また、証明書検証装置11は、GNSS衛星から測位信号を送信した時刻を示す日時情報を受信する。
なお、日時情報は、これ以外の方法により取得してもよい。例えば、NTP(Network Time Protocol)サーバから標準時刻情報を受信するようにしてもよい。
【0022】
(2)電子制御システムSの構成、及び証明書検証装置との関係
図2は、電子制御システムSの構成例を示す図である。電子制御システムSは、複数の電子制御装置20(以下、ECU(Electronic Control Unit)と称する。)、及びこれらを接続する車載ネットワーク(NW1~NW3)から構成されている。
図2は9つのECU(ECU20a~ECU20i)を例示しているが、当然のことながら、電子制御システムSは任意の数のECUから構成される。以後の説明では、単数又は複数の電子制御装置全体を包括して説明する場合はECU20や各ECU20、個々の電子制御装置を特定して説明する場合はECU20a、ECU20b、ECU20c、・・・のように記載している。
【0023】
図2の場合、各ECU20間は、例えばCAN(Controller Area Network)、又はLIN(Local Interconnect Network)といった車載通信ネットワークを介して接続されている。あるいは、Ethernet(登録商標)、Wi-Fi(登録商標)、Bluetooth(登録商標)等、有線無線を問わず任意の通信方式を用いて接続されてもよい。
【0024】
図2に示す電子制御システムSは、統合ECU20a、外部通信ECU20b、ゾーンECU(20c,20d)、個別ECU(20e~20h)、及びGPS受信ECU20iを含んでいる。
【0025】
統合ECU20aは、電子制御システムS全体を制御する機能を備えるとともに、各ECU20間の通信を仲介するゲートウェイ機能を備えたECUである。統合ECU20aは、ゲートウェイECU(G-ECU)、モビリティコンピュータ(MC)と呼ばれることもある。また、統合ECU20aは、中継装置やゲートウェイ装置であってもよい。
【0026】
外部通信ECU20bは、車両の外部に設けられた外部装置、例えば各実施形態では外部装置30と通信を行う通信部を有するECUである。外部通信ECU20bが用いる通信方式は、
図1の説明で記載した無線通信方式や有線通信方式である。各実施形態においては、外部通信ECU20bは、外部装置30から証明書を受信する。
なお、複数の通信方式を実現するため、外部通信ECU20bを複数設けるようにしてもよい。また、外部通信ECU20bを設ける代わりに、統合ECU20aが外部通信ECU20bの機能を内包してもよい。
【0027】
ゾーンECU(20c,20d)は、後述の個別ECUが配置される場所や機能に応じて適宜配置されたゲートウェイ機能を備えたECUである。例えば、ゾーンECU20cは、車両の前方に配置された個別ECU20e及び個別ECU20fと他のECU20との通信を仲介するゲートウェイ機能を有するECU、ゾーンECU20dは、車両の後方に配置された個別ECU20g及び個別ECU20hと他のECU20との通信を仲介するゲートウェイ機能を有するECU、である。ゾーンECU(20c,20d)は、ドメインコンピュータ(DC)と呼ばれることもある。ゾーンECU20cには、ネットワーク2(NW2)を介して個別ECU20e及び個別ECU20fが接続され、ゾーンECU20dには、ネットワーク3(NW3)を介して個別ECU20g及び個別ECU20hが接続されている。
【0028】
個別ECU(20e~20h)は任意の機能を有するECUで構成することができる。例えば、エンジン、ハンドル、ブレーキ等の制御を行う駆動系電子制御装置、メータやパワーウインドウ等の制御を行う車体系電子制御装置、ナビゲーション装置等の情報系電子制御装置、あるいは、障害物や歩行者との衝突を防止するための制御を行う安全制御系電子制御装置が挙げられる。また、ECU同士が並列ではなく、マスタとスレーブとに分類されていてもよい。
【0029】
GPS受信ECU20iは、GNSS衛星から測位信号を送信した時刻を示す日時情報を受信する。受信した日時情報は、そのまま用いてもよいが、より正確な時刻を求めるために、GNSS衛星からGPS受信ECU20iまでに要した時間に基づき補正してもよい。GPS受信ECU20iは、日時情報を統合ECU20aに出力する。
なお、GPS受信ECU20iは、外部通信ECU20bに含まれていてもよい。
【0030】
なお、各ECU20は、物理的に独立した電子制御装置の他、仮想化技術を用いて実現した仮想化電子制御装置であってもよい。また、各ECU20は、異なるハードウェアでそれぞれ実現されている場合は有線又は無線の通信方式を介して接続されていればよく、同一のハードウェア上で複数の仮想化電子制御装置が実現されている場合は、仮想化電子制御装置同士が仮想的に接続されていればよい。
【0031】
後述の各実施形態の証明書検証装置11等は、外部通信ECU20bで受信した証明書を用いて公開鍵の完全性等を検証してこの公開鍵を用いる装置であればよく、各ECU20のいずれもが該当しうる。
図2では、個別ECU20eを各実施形態の証明書検証装置11等としている。また、外部装置30が認証要求装置に、GPS受信ECU20iが日時配信装置に、それぞれ相当している。
【0032】
なお、認証要求装置は、電子制御システムSの内部の装置としてもよい。例えば、統合ECU20aを認証要求装置としてもよい。
また、日時配信装置は、電子制御システムSの内部の装置でGPS受信ECU20i以外の装置としてもよい。例えば、統合ECU20aを日時配信装置としてもよい。あるいは、日時配信装置は、電子制御システムSの外部の装置としてもよい。例えば、GNSS衛星を日時配信装置としてもよい。
【0033】
以下、実施形態1の例として証明書検証装置11、実施形態2の例として証明書検証装置12、実施形態3の例として証明書検証装置13について説明する。
【0034】
2.実施形態1
(1)証明書検証装置11の構成
図3を用いて、本実施形態の証明書検証装置11の構成例を説明する。証明書検証装置11は、受信部101、日時情報保存部102、ログ生成部103、ログ保存部104、及び証明書検証部105を有する。本実施形態では、証明書検証装置11は、
図2の個別ECU20eに設けられているとする。
【0035】
証明書検証装置11は、汎用のCPU(Central Processing Unit)、RAM等の揮発性メモリ、ROM、フラッシュメモリ、又はハードディスク等の不揮発性メモリ、各種インターフェース、及びこれらを接続する内部バスで構成することができる。そして、これらのハードウェア上でソフトウェアを実行することにより、
図3に記載の各機能ブロックの機能を発揮させるように構成することができる。
【0036】
証明書検証装置11は、「証明書」の「有効期限」を検証する装置である。実施形態2の証明書検証装置12及び実施形態3の証明書検証装置13においても同様である。
ここで、
「証明書」とは、公開鍵の所有者を証明するものであればよい。
「有効期限」とは、証明書が有効であることを示す時期的基準であれば足り、期限や期間の他、有効期限が成就する条件であってもよい。
【0037】
受信部101は、認証要求装置から証明書を受信する。本実施形態では、認証要求装置は外部装置30であるので、受信部101は、外部装置30から送信された証明書を、外部通信ECU20b、統合ECU20a、及びゾーンECU20cを介して受信する。
受信する証明書は、例えば公開鍵に認証局の署名が付されたものであるが、これに限らない。
【0038】
また、受信部101は、日時配信装置から「日時」の情報である第1の日時情報を受信する。本実施形態では、日時配信装置はGPS受信ECU20iであるので、受信部101は、GNSS衛星から受信した日時情報に基づきGPS受信ECU20iが生成した第1の日時情報を、統合ECU20a、及びゾーンECU20cを介して受信する。
第1の日時情報は、本実施形態では日、時、分、秒の情報からなるが、これに限らない。
第1の日時情報を受信するタイミングは、一定周期毎、例えば1秒毎に受信してもよいし、日時配信装置にリクエストを送信することにより受信してもよい。なお、日時配信装置は、GNSS衛星からの電波が届いている場合は常にGNSS衛星から日時情報を受信してもよいし、定期的にGNSS衛星から日時情報を受信してもよい。
ここで、「日時」とは、暦の日、暦の時間、又は暦の日及び時間であればよく、時間は、時、時及び分、時及び分及び秒、又は秒より短い時間の単位を含むものであればよい。その他、日時を間接的に示す情報であってもよい。
【0039】
日時情報保存部102は、受信部101で受信した第1の日時情報を保存する。日時情報保存部102は、不揮発性又は揮発性の記録媒体を用いることができる。日時情報保存部102は、常に最新の第1の日時情報のみを保存してもよいが、過去の一定期間の情報を保存するようにしてもよい。
なお、日時情報保存部102は、第1の日時情報に加えて、第3の日時情報を保存してもよい。第3の日時情報は、実施形態3で説明する。
【0040】
ログ生成部103は、証明書検証装置11自身、すなわち本実施形態では証明書検証装置11を実現している個別ECU20eで生成すべき各種ログを生成する。例えば、個別ECU20eに搭載されているセキュリティセンサで生成されるSEv(Security Event)やQSEv(Qualified Security Event)、走行ログ等、が挙げられる。
また、ログ生成部103でログを生成するタイミングは、定期的でも、何らかのトリガーが発生した時でもよい。
以後、ログ生成部103で生成したログを自装置生成ログと呼ぶ。
【0041】
ログ保存部104は、ログ生成部103で生成した自装置生成ログを保存する。ログ保存部104も、日時情報保存部102と同様、不揮発性又は揮発性の記録媒体を用いることができる。
ログ保存部104に保存されている自装置生成ログは、ログを生成した日時を示す第2の日時情報と紐づけられている。例えば、ログ生成部103で自装置生成ログを生成する際、ログ生成部103は日時情報保存部102に保存されている第1の日時情報を読み出し、第2の日時情報として自装置生成ログに含める。あるいは、ログ生成部103で自装置生成ログを生成する際、日時配信装置に対して第1の日時情報の配信をリクエストし、受信部101で受信した第1の日時情報を第2の日時情報として自装置生成ログに含めてもよい。これらの場合、第2の日時情報は自装置生成ログを生成した日時を示す。なお、第2の日時情報は自装置生成ログに紐づけられていればよく、第2の日時情報が自装置生成ログの内容となる必要は必ずしもない。
【0042】
ログ保存部104は、自装置生成ログに加えて、他装置で生成したログを保存してもよい。すなわち、本実施形態では、個別ECU20e以外のECU20で生成されたログを受信部101が受信し、ログ保存部104に保存する。
以後、他装置で生成したログを他装置生成ログと呼ぶ。他装置生成ログの例も自装置生成ログの例と同様である。
ログ保存部104に保存されている他装置生成ログは、例えば他装置で第2の日時情報と紐づけられて送信される。他装置において他装置生成ログと第2の日時情報とを紐づける方法は、自装置生成ログで説明した例と同様である。もっとも、他装置生成ログを受信した際に、他装置生成ログに、日時情報保存部102に保存されている第1の日時情報を第2の日時情報として紐づけるようにしてもよく、あるいは日時配信装置に対して配信をリクエストした結果受信する第1の日時情報を第2の日時情報として紐付けるようにしてもよい。この場合、第2の日時情報は、他装置生成ログを受信した日時を示す。
【0043】
証明書検証部105は、証明書の完全性、証明書の失効の有無、及び証明書の有効期限切れの有無を検証する。証明書の完全性の検証は、図示しない鍵管理部に保存している認証局の公開鍵を用いて、公開鍵や有効期間等、証明書に含まれる情報が改ざんされているか否かを検証する。証明書の失効の有無の検証は、図示しない鍵管理部に保存している証明書破棄リスト(CRL:Certificate Revocation List)と証明書を照合することにより、証明書が失効しているか否かを検証する。証明書の有効期限切れの有無の検証は、現在の日時において、証明書の有効期限が切れているか否かを検証する。
【0044】
本実施形態では、第1の日時情報を用いて証明書の有効期限が切れているか否かを検証する。例えば、
図4(a)において、証明書の有効期間がT1~T2の期間であった場合、現在の日時すなわち第1の日時情報がTp1であればTp1がT1~T2の期間に含まれていないので(すなわち、有効期間外)、証明書の有効期限は切れていると判定する。これに対し、第1の日時情報がTp2であればTp2がT1~T2の期間に含まれるので(すなわち、有効期間内)、証明書の有効期限は切れていない(すなわち、有効期限前)と判定する。以下、この検証を、有効期限切れの有無の検証と呼ぶ。
【0045】
これに対し、受信部101が日時配信装置から第1の日時情報を「受信できない場合」は、現在の時刻が証明書検証装置11において不明であるので、証明書の有効期限切れの有無を検証することができない。
なお、受信部101が日時配信装置から第1の日時情報を受信できない場合をどのように判定するかは任意の方法を用いることができる。例えば、日時配信装置から一定の周期で定期的に第1の日時情報が配信される場合は、一定の周期を超える時間が経過しても第1の日時情報を受信できない場合がこれに相当する。また、日時配信装置にリクエストを送信することにより第1の日時情報を取得する場合は、リクエストの送信から所定の時間後に第1の日時情報を受信できない場合がこれに相当する。
ここで、「受信できない場合」とは、当該証明書検証装置の受信部で受信できなければ足り、受信できない原因は問わない。例えば、当該証明書検証装置の受信部に原因がある場合、日時配信装置に原因がある場合、日時配信装置に日時情報を提供する装置に原因がある場合、あるいはこれらの装置の通信間に原因がある場合、のいずれの場合も含まれる。
【0046】
そこで、本実施形態では、受信部101が日時配信装置から第1の日時情報を「受信できない場合」、証明書検証部105は、ログ保存部104に保存しているログに紐づけられた第2の日時情報を用いて証明書の有効期限が切れていることを検証する。
具体的には、証明書検証部105は、ログ保存部104に保存されている自装置生成ログ及び他装置生成ログのうち、最も新しい日時を示す第2の日時情報を含むログから第2の日時情報を読み出し、証明書の有効期限が切れていることを検証する。例えば、
図4(b)において、証明書の有効期間がT1~T2の期間であった場合、ログに付された最新の時刻すなわち第2の日時情報がTr1であればTr1がT1~T2の期間に含まれないので(すなわち、有効期間外)、証明書の有効期限は切れていると判定する。これに対し、第2の日時情報がTr2であればTr2がT1~T2の期間に含まれているが、Tr2は現在の日時を示しているかどうかは保証されないので、証明書の有効期限が切れていないと判定することはできない。すなわち、証明書の有効期限が切れているか切れていないかを判定できない。
このように、本実施形態では、第2の日時情報を用いることで、証明書の有効期限が切れているとの判定ができる場合がある。以下、この検証を、有効期限切れの検証と呼ぶ。
【0047】
なお、他装置は、日時配信装置と時刻同期が取れていることが望ましい。例えば、証明書検証部105は、日時配信装置と時刻同期が取れている他装置を選定する。
日時配信装置との時刻同期が取れているかどうかは、例えばIEEE802.1ASプロトコルを用いて確認することができる。あるいは、日時配信装置と時刻同期が取れているかどうかの情報を管理するECU20に対し、当該他装置が日時配信装置と時刻同期が取れているかどうかを確認することができる。
この構成によれば、他装置生成ログを用いる場合でも全てのログにつき日時配信装置と時刻同期が取れていることが保証されるので、最新の第2の日時情報を抽出することができる。
以上は、自装置と日時配信装置との時刻同期に関しても同様である。
【0048】
なお、本実施形態では、ログ保存部104に保存している全てのログを対象としており、自装置生成ログと他装置生成ログを区別していないが、証明書検証部105が用いるログとして自装置生成ログの第2の日時情報のみを用いるようにしてもよい。
この構成によれば、他装置と日時配信装置と時刻同期が取れているかどうかを確認する必要がなく、より迅速に証明書の有効期限切れを検証することができる。
【0049】
(2)証明書検証装置11の動作
図5及び
図6を用いて、証明書検証装置11の動作を説明する。なお、
図5及び
図6に示す動作は、証明書検証装置11で実行される証明書検証方法を示すだけでなく、証明書検証装置11で実行可能な証明書検証プログラムの処理手順を示すものでもある。そして、これらで示す処理は、
図5及び
図6で示した順序には限定されない。すなわち、あるステップでその前段のステップの結果を利用する関係にある等の制約がない限り、順序を入れ替えてもよい。後述の
図8及び
図10においても同様である。
【0050】
図5は、証明書検証装置11の全体の動作を説明する図である。
証明書検証装置11の受信部101は、認証要求装置から証明書を受信する(S101)。
受信部101は、日時配信装置から第1の日時情報を受信し、日時情報保存部102に保存する(S102)。
ログ生成部103は自装置生成ログを生成し、ログ保存部104に保存する(S103)。また、受信部101は、他装置から他装置生成ログを受信し、ログ保存部104に保存する(S103)。
証明書検証部105は、証明書の完全性を検証する(S104)
証明書検証部105は、証明書の失効の有無を検証する(S105)。
証明書検証部105は、証明書の有効期限切れの有無を検証する(S106)。S106の詳細は、
図6で説明する。
証明書検証部105は、S104~S106の全ての検証に成功した場合(S107:Yes)、証明書の検証結果として検証が成功したことを示す情報(例えば、証明書が有効であることを示す情報)を出力する(S108)。これに対し、S104~S106の全ての検証に成功していない場合(S107:No)、すなわちS104~S106のうち少なくとも1つの検証が成功していない場合、証明書の検証結果として検証が失敗したことを示す情報(例えば、証明書が有効でないことを示す情報)を出力する(S109)。
【0051】
図6は、証明書検証装置11のうち、証明書検証部105の有効期限切れの有無の検証動作(S106)の詳細を説明する図である。
証明書検証部105は、第1の日時情報が受信可能か否かを検証する(S110)。第1の日時情報が受信可能である場合(S110:Yes)、証明書検証部105は、日時情報保存部102から第1の日時情報を読み出す(S111)。証明書検証部105は、第1の日時情報が証明書の有効期間内である場合(S112:Yes)、有効期限検証が成功したとする(S113)。証明書検証部105は、第1の日時情報が証明書の有効期間内でない場合(S112:No)、有効期限検証が失敗したとする(S114)。
これに対し、証明書検証部105は、第1の日時情報が受信可能でない場合(S110:No)、証明書検証部105は、ログ保存部104から最新の第2の日時情報を読み出す(S115)。証明書検証部105は、第2の日時情報が証明書の有効期間内である場合(S116:Yes)、有効期限検証が不能とする(S117)。証明書検証部105は、第2の日時情報が証明書の有効期間内でない場合(S116:No)、有効期限検証が失敗したとする(S114)。
【0052】
(3)小括
以上、本実施形態によれば、受信部101が第1の日時情報を受信できない場合であっても、自装置生成ログや他装置生成ログに紐づけられた第2の日時情報を用いて証明書の有効期限切れを検証することができ、特に有効期限が切れていると判定できる場合、速やかに有効期限切れの場合に必要な処理を実行することができる。
また、自装置生成ログだけでなく他装置生成ログを用いることにより、自装置で第2の日時情報の取得や自装置生成ログへの第2の日時情報の付与に関し不具合があった場合でも、より最新の第2の日時情報を反映させることができる。
そして、既に証明書検証装置11がログ保存部104に保有しているログに基づき証明書の有効期限切れを検証するので、日時情報を他装置に問い合わせる必要がなく、車載ネットワーク上のトラフィックの増大を抑えることができる。
【0053】
3.実施形態2
(1)証明書検証装置12の構成
実施形態1では、受信部101が第1の日時情報を受信できない場合、ログに紐付けられた第2の日時情報を用いて有効期限切れを検証した。本実施形態では、ログに紐づけれられた第2の日時情報に加え、日時情報保存部102に保存された第1の日時情報も用いて有効期限切れを検証するものである。
【0054】
図7を用いて、本実施形態の証明書検証装置12の構成例を説明する。本実施形態の証明書検証装置12の構成は、証明書検証部205の動作の一部を除き、
図3に示す実施形態1の証明書検証装置11の構成と同じである。
図3と同じ構成は
図3と同じ番号を付し、実施形態1の説明を引用する。以下、実施形態1と相違する部分のみ説明する。
【0055】
証明書検証部205は、受信部101が日時配信装置から第1の日時情報を「受信できない場合」、証明書検証部205は、日時情報保存部102に保存されている過去に受信した第1の日時情報、及びログ保存部104に保存しているログに紐づけられた第2の日時情報のうち、最も新しい日時情報を用いて証明書の有効期限が切れていることを検証する。つまり、第1の日時情報が受信できなくなった場合においても、日時情報保存部102には過去に受信した第1の日時情報が保存されていることを利用して、第1の日時情報及び第2の日時情報のうち最新の日時情報を用いて証明書の有効期限切れを検証する。
【0056】
第2の実施形態の場合も、第1の実施形態における他装置生成ログと日時配信装置の時刻同期に関する説明や、自装置生成ログと他装置生成ログに関する説明が当てはまるので、これらの記載も本実施形態に引用する。
【0057】
(2)証明書検証装置12の動作
図5及び
図8を用いて、証明書検証装置12の動作を説明する。
図5は、本実施形態の証明書検証装置12の動作としても共通しているので、
図5及び
図5の説明を本実施形態に引用する。
また、
図8については、
図6と共通する部分は同じステップ番号を付し、
図6の説明を本実施形態に引用する。以下、
図6と異なる部分について説明する。
【0058】
証明書検証部205は、第1の日時情報が受信可能でない場合(S110:No)、証明書検証部205は、日時情報保存部102に保存されている過去に受信した最新の第1の日時情報、及びログ保存部104に保存している最新の第2の日時情報を読み出す(S215)。
証明書検証部205は、S215で読み出した第1の日時情報及び第2の日時情報のうち、最も新しい日時情報を用いて証明書の有効期限切れを検証する(S216)。すなわち、証明書検証部205は、最新の日時情報が証明書の有効期間内である場合(S216:Yes)、有効期限検証が不能とする(S117)。証明書検証部205は、第2の日時情報が証明書の有効期間内でない場合(S216:No)、有効期限検証が失敗したとする(S114)。
【0059】
(3)小括
以上、本実施形態によれば、受信部101が第1の日時情報を受信できない場合であっても、過去に受信した第1の日時情報及び第2の日時情報のうち最新の日時情報を用いて証明書の有効期限切れを検証するので、より現在に近い日時情報を用いて検証することができ、証明書の有効期限切れの検証の精度を上げることができる。
そして、既に証明書検証装置11が保有している日時情報に基づき証明書の有効期限切れを検証するので、日時情報を他装置に問い合わせる必要がなく、車載ネットワーク上のトラフィックの増大を抑えることができる。
【0060】
4.実施形態3
(1)証明書検証装置13の構成
本実施形態は、日時配信代替装置から第3の日時情報を受信し、これを用いて有効期限切れの有無を検証する。
【0061】
図9を用いて、本実施形態の証明書検証装置13の構成例を説明する。本実施形態の証明書検証装置13の構成は、
図3に示す実施形態1の証明書検証装置11の構成や
図7に示す実施形態2の証明書検証装置12の構成に加え、日時配信代替装置に関係する構成を有している。
図3と同じ構成は
図3と同じ番号を付し、実施形態1の説明を引用する。以下、実施形態1と相違する部分のみ説明する。
【0062】
受信部301は、認証要求装置から証明書を、日時配信装置から第1の日時情報を受信することに加え、日時配信代替装置から第3の日時情報を受信する。
日時配信代替装置は日時配信装置と接続されており、日時配信装置から第1の日時情報を受信している。そして、日時配信代替装置は、例えば証明書検証装置13のリクエストに対し、保存している第1の日時情報を第3の日時情報として証明書検証装置13に送信する。
日時配信代替装置は、日時配信装置から第1の日時情報を受信及び保存している装置であればよく、例えば
図2では、統合ECU20aが日時配信代替装置に相当している。この他、ゾーンECU20cやゾーンECU20dであってもよい。
【0063】
なお、日時配信代替装置は、日時配信装置と時刻同期が取れている装置であることが望ましい。例えば、証明書検証部305は、日時配信装置と時刻同期が取れている日時配信代替装置を選定する。
日時配信装置との時刻同期が取れているかどうかは、例えば、証明書検証装置13から時刻同期が取れているか否かの問合せを送信し、日時配信代替装置から時刻同期が取れているかどうかの回答を受信するようにしてもよい。あるいは、日時配信装置と時刻同期が取れているかどうかの情報を管理するECU20に対して問合せを送信し、当該ECU20から回答を受信するようにしてもよい。
【0064】
日時情報保存部302は、第1の日時情報に加え、受信部301が受信した第3の日時情報を保存する。
【0065】
証明書検証部305は、証明書の有効期限が切れているか切れていないかを判定できない場合、日時情報保存部302から第3の日時情報を読み出し、第3の日時情報を用いて証明書の有効期限が切れているか否かを検証する。すなわち、実施形態1及び実施形態2で、証明書の有効期限切れの検証が不能である場合に、証明書検証部305は第3の日時情報を用いて証明書の有効期限切れの有無を検証する。
【0066】
(2)証明書検証装置13の動作
図5及び
図10を用いて、証明書検証装置13の動作を説明する。
図5は、本実施形態の証明書検証装置13の動作としても共通しているので、
図5及び
図5の説明を本実施形態に引用する。
また、
図10については、
図6と共通する部分は同じステップ番号を付し、
図6の説明を本実施形態に引用する。以下、
図6と異なる部分について説明する。
【0067】
証明書検証部305は、第2の日時情報が証明書の有効期間内である場合(S116:Yes)、日時配信代替装置に対し、日時情報のリクエストを送信する(S317)。受信部301は、日時配信代替装置から第3の日時情報を受信する(S318)。
そして、証明書検証部305は、第3の日時情報が証明書の有効期間内である場合(S319:Yes)、有効期限検証が成功したとする(S113)。証明書検証部305は、第3の日時情報が証明書の有効期間内でない場合(S319:No)、有効期限検証が失敗したとする(S114)。
なお、S318で第3の日時情報を受信できない場合は、有効期限検証が不能としてもよい。
【0068】
(3)小括
以上、本実施形態によれば、過去に受信した第1の日時情報や第2の日時情報で有効期限切れの検証が不能である場合も、第3の日時情報を用いて証明書の有効期限切れの有無を検証することができる。
また、日時情報配信代替装置という他装置の日時情報を用いるので、自装置で第1の日時情報の取得に関し不具合があった場合でも、正常に動作している日時情報配信装置から受信した正確な日時情報である第3の日時情報を有効期限切れの有無の検証に用いることができる。
【0069】
5.その他の発明
実施形態3では、第1の日時情報や第2の日時情報を用いて証明書の有効期限切れの検証が不能である場合に、第3の日時情報を用いて証明書の有効期限切れの有無の検証を行っている。しかし、受信部301が第1の日時情報を受信できない場合、証明書検証部305は第3の日時情報を用いて証明書の有効期限切れの有無の検証を行ってもよい。
すなわち、実施形態3は、以下の発明を開示するものでもある。
【0070】
証明書の有効期限を検証する証明書検証装置であって、
認証要求装置から前記証明書、及び日時配信装置から日時の情報である第1の日時情報、を受信する受信部(301)と、
前記第1の日時情報を保存する日時情報保存部(302)と、
当該証明書検証装置で生成又は受信したログを保存するログ保存部(104)と、
前記第1の日時情報を用いて前記証明書の前記有効期限が切れているか否かを検証する証明書検証部(305)と、を有し、
前記受信部が前記第1の日時情報を受信できない場合、前記証明書検証部は、前記日時配信装置と接続されている日時配信代替装置から受信した第3の日時情報を用いて前記証明書の有効期限が切れているか否かを検証する、
証明書検証装置(13)。
【0071】
6.総括
以上、本発明の各実施形態における証明書検証装置等の特徴について説明した。
【0072】
各実施形態で使用した用語は例示であるので、同義の用語、あるいは同義の機能を含む用語に置き換えてもよい。
【0073】
実施形態の説明に用いたブロック図は、装置の構成を機能毎に分類及び整理したものである。それぞれの機能を示すブロックは、ハードウェア又はソフトウェアの任意の組み合わせで実現される。また、機能を示したものであることから、かかるブロック図は方法の発明、及び当該方法を実現するプログラムの発明の開示としても把握できるものである。
【0074】
各実施形態に記載した処理、フロー、及び方法として把握できる機能ブロック、については、一のステップでその前段の他のステップの結果を利用する関係にある等の制約がない限り、順序を入れ替えてもよい。
【0075】
各実施形態、及び特許請求の範囲で使用する、第1、第2、乃至、第N(Nは整数)、の用語は、同種の2以上の構成や方法を区別するために使用しており、順序や優劣を限定するものではない。
【0076】
また、本発明の装置の形態の例として、以下のものが挙げられる。
部品の形態として、半導体素子、電子回路、モジュール、マイクロコンピュータが挙げられる。
半完成品の形態として、電子制御装置(ECU(Electric Control Unit))、システムボードが挙げられる。
完成品の形態として、携帯電話、スマートフォン、タブレット、パーソナルコンピュータ(PC)、ワークステーション、サーバが挙げられる。
その他、通信機能を有するデバイス等を含み、例えばビデオカメラ、スチルカメラ、カーナビゲーションシステムが挙げられる。
【0077】
また装置に、アンテナや通信用インターフェースなど、必要な機能を追加してもよい。
【0078】
加えて、本発明は、各実施形態で説明した構成及び機能を有する専用のハードウェアで実現できるだけでなく、メモリやハードディスク等の記録媒体に記録した本発明を実現するためのプログラム、及びこれを実行可能な専用又は汎用CPU及びメモリ等を有する汎用のハードウェアとの組み合わせとしても実現できる。
【0079】
専用や汎用のハードウェアの非遷移的実体的記録媒体(例えば、外部記憶装置(ハードディスク、USBメモリ、CD/BD等)、又は内部記憶装置(RAM、ROM等))に格納されるプログラムは、記録媒体を介して、あるいは記録媒体を介さずにサーバから通信回線を経由して、専用又は汎用のハードウェアに提供することもできる。これにより、プログラムのアップグレードを通じて常に最新の機能を提供することができる。
【産業上の利用可能性】
【0080】
本開示は、主として自動車に搭載される車載用電子制御装置用の証明書検証装置として説明したが、自動二輪車、船舶、鉄道、航空機等、移動する移動体全般に適用することが可能である。また、移動体に限らず、マイクロコンピュータを包含する製品全般に適用可能である。
【符号の説明】
【0081】
11,12,13 証明書検証装置、101 受信部、102 日時情報保存部、103 ログ生成部、104 ログ保存部、105 証明書検証部、20 ECU、30 外部装置