(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-05-19
(45)【発行日】2025-05-27
(54)【発明の名称】認証システム、サーバ、車載装置、認証方法および認証プログラム
(51)【国際特許分類】
H04L 9/32 20060101AFI20250520BHJP
B60R 16/02 20060101ALI20250520BHJP
G06F 21/44 20130101ALI20250520BHJP
G08G 1/09 20060101ALI20250520BHJP
【FI】
H04L9/32 200D
B60R16/02 660Z
G06F21/44
G08G1/09 F
H04L9/32 200B
(21)【出願番号】P 2021198535
(22)【出願日】2021-12-07
【審査請求日】2024-07-05
(73)【特許権者】
【識別番号】000004260
【氏名又は名称】株式会社デンソー
(74)【代理人】
【識別番号】110000578
【氏名又は名称】名古屋国際弁理士法人
(72)【発明者】
【氏名】小池 真一
【審査官】青木 重徳
(56)【参考文献】
【文献】国際公開第2021/202601(WO,A1)
【文献】中国特許出願公開第113256845(CN,A)
【文献】特開2018-116544(JP,A)
【文献】特開2020-088836(JP,A)
【文献】特開2020-048203(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 9/32
B60R 16/02
G06F 21/44
G08G 1/09
(57)【特許請求の範囲】
【請求項1】
複数の車両のそれぞれに搭載されて、搭載されている前記車両に関する車両データを送信するように構成された複数の車載装置(2)と、
複数の前記車両の外部に設置され、複数の前記車載装置との間でデータ通信を行うことによって複数の前記車載装置から前記車両データを取得するように構成されたサーバ(3)とを備え、
複数の前記車載装置の少なくとも1つへのアクセスを要求するアクセス要求に対する認証を行う認証システム(1)であって、
前記サーバは、
前記アクセス要求を行ったアクセス要求元が収集する対象となる少なくとも1つの前記車両データである少なくとも1つの収集対象データと、少なくとも1つの前記収集対象データのそれぞれについての少なくとも1つの収集条件とを規定し、前記収集条件が成立した場合に、前記収集条件に対応する前記収集対象データを前記サーバへ送信させるプログラムであるデータ収集プログラムを前記アクセス要求元から受信すると、前記アクセス要求元の種別に基づいて、前記収集対象データへのアクセスに関する第1セキュリティレベルを決定するように構成された第1セキュリティレベル決定部(S70)と、
前記データ収集プログラムの前記プログラムに関連した値を、前記第1セキュリティレベルに応じて予め設定された第1暗号鍵で暗号化することによって、第1コード署名を生成するように構成された第1署名生成部(S80,S90)とを備え、
複数の前記車載装置は、
前記データ収集プログラムを前記サーバから受信すると、少なくとも1つの前記収集対象データの種別に基づき、前記収集対象データの種別のそれぞれについて、前記収集対象データへのアクセスに関する第2セキュリティレベルを決定するように構成された第2セキュリティレベル決定部(S230)と、
前記データ収集プログラムの前記プログラムに関連した値を、前記第2セキュリティレベルに応じて予め設定された第2暗号鍵で暗号化することによって、前記収集対象データの種別のそれぞれについて第2コード署名を生成するように構成された第2署名生成部(S450)と、
前記第1コード署名と前記第2コード署名とを用いて、前記収集対象データの種別のそれぞれについて、前記認証を行うように構成された認証部(S420,S430,S460,S480)と、
前記認証部による前記認証に成功した場合には、前記データ収集プログラムを実行することによる前記収集対象データの収集を許可し、前記認証に失敗した場合には、前記データ収集プログラムを実行することによる前記収集対象データの収集を禁止するように構成された実行制御部(S490,S500)と
を備える認証システム。
【請求項2】
請求項1に記載の認証システムであって、
少なくとも1つの前記収集対象データは、複数の前記収集対象データであり、
前記実行制御部は、複数の前記収集対象データのうち、前記認証に成功したと判断された前記収集対象データの種別に対応する前記収集対象データの収集を許可するように構成される認証システム。
【請求項3】
請求項1に記載の認証システムであって、
少なくとも1つの前記収集対象データは、複数の前記収集対象データであり、
前記実行制御部は、前記認証に失敗したと判断された前記収集対象データの種別が存在する場合には、複数の前記収集対象データの全てについて前記収集対象データの収集を禁止するように構成される認証システム。
【請求項4】
請求項3に記載の認証システムであって、
前記第2署名生成部は、前記第2セキュリティレベル決定部で決定された前記第2セキュリティレベルの中から最もレベルが高い前記第2セキュリティレベルの前記第2暗号鍵で暗号化することによって、前記第2コード署名を生成するように構成される認証システム。
【請求項5】
請求項1~請求項4の何れか1項に記載の認証システムであって、
少なくとも1つの前記収集対象データは、複数の前記収集対象データであり、
前記データ収集プログラムの前記プログラムは、スクリプト言語を用いて、種別が同一の前記収集対象データ毎に分類されて記述されている認証システム。
【請求項6】
請求項1~請求項5の何れか1項に記載の認証システムであって、
前記サーバは、
前記データ収集プログラムと、前記収集対象データの種別を示すデータ種別情報と、前記第1コード署名とを含む配信パッケージを生成し、生成した前記配信パッケージを、前記アクセス要求の対象となる前記車両の前記車載装置へ送信するように構成されたパッケージ送信部(S100,S110)を備える認証システム。
【請求項7】
請求項1~請求項6の何れか1項に記載の認証システムであって、
前記プログラムに関連した値は、前記プログラムのハッシュ値である認証システム。
【請求項8】
請求項1~請求項7の何れか1項に記載の認証システムであって、
前記認証に成功したと前記認証部が判断した場合に、前記車載装置を搭載する前記車両において前記データ収集プログラムを実行させるように構成された許可実行部(S610,S620)を備える認証システム。
【請求項9】
請求項1~請求項8の何れか1項に記載の認証システムであって、
前記認証に失敗したと前記認証部が判断した場合に、前記認証に失敗した旨を、前記車載装置を搭載する前記車両において報知するように構成された認証報知部(S740)を備える認証システム。
【請求項10】
複数の車両のそれぞれに搭載されて、搭載されている前記車両に関する車両データを送信するように構成された複数の車載装置(2)と、
複数の前記車両の外部に設置され、複数の前記車載装置との間でデータ通信を行うことによって複数の前記車載装置から前記車両データを取得するように構成されたサーバ(3)とを備え、
複数の前記車載装置の少なくとも1つへのアクセスを要求するアクセス要求に対する認証を行う認証システム(1)の前記サーバであって、
前記アクセス要求を行ったアクセス要求元が収集する対象となる少なくとも1つの前記車両データである少なくとも1つの収集対象データと、少なくとも1つの前記収集対象データのそれぞれについての少なくとも1つの収集条件とを規定し、前記収集条件が成立した場合に、前記収集条件に対応する前記収集対象データを前記サーバへ送信させるプログラムであるデータ収集プログラムを前記アクセス要求元から受信すると、前記アクセス要求元の種別に基づいて、前記収集対象データへのアクセスに関する第1セキュリティレベルを決定するように構成された第1セキュリティレベル決定部(S70)と、
前記データ収集プログラムの前記プログラムに関連した値を、前記第1セキュリティレベルに応じて予め設定された第1暗号鍵で暗号化することによって、第1コード署名を生成するように構成された第1署名生成部(S80,S90)と
を備えるサーバ。
【請求項11】
複数の車両のそれぞれに搭載されて、搭載されている前記車両に関する車両データを送信するように構成された複数の車載装置(2)と、
複数の前記車両の外部に設置され、複数の前記車載装置との間でデータ通信を行うことによって複数の前記車載装置から前記車両データを取得するように構成され、更に、複数の前記車載装置の少なくとも1つへのアクセスを要求するアクセス要求を行ったアクセス要求元が収集する対象となる少なくとも1つの前記車両データである少なくとも1つの収集対象データと、少なくとも1つの前記収集対象データのそれぞれについての少なくとも1つの収集条件とを規定し、前記収集条件が成立した場合に、前記収集条件に対応する前記収集対象データを送信させるプログラムであるデータ収集プログラムを前記アクセス要求元から受信すると、前記アクセス要求元の種別に基づいて、前記収集対象データへのアクセスに関する第1セキュリティレベルを決定し、前記データ収集プログラムの前記プログラムに関連した値を、前記第1セキュリティレベルに応じて予め設定された第1暗号鍵で暗号化することによって、第1コード署名を生成するように構成されたサーバ(3)とを備え、
前記アクセス要求に対する認証を行う認証システム(1)の前記車載装置であって、
前記データ収集プログラムを前記サーバから受信すると、少なくとも1つの前記収集対象データの種別に基づき、前記収集対象データの種別のそれぞれについて、前記収集対象データへのアクセスに関する第2セキュリティレベルを決定するように構成された第2セキュリティレベル決定部(S230)と、
前記データ収集プログラムの前記プログラムに関連した値を、前記第2セキュリティレベルに応じて予め設定された第2暗号鍵で暗号化することによって、前記収集対象データの種別のそれぞれについて第2コード署名を生成するように構成された第2署名生成部(S450)と、
前記第1コード署名と前記第2コード署名とを用いて、前記収集対象データの種別のそれぞれについて、前記認証を行うように構成された認証部(S420,S430,S460,S480)と、
前記認証部による前記認証に成功した場合には、前記データ収集プログラムを実行することによる前記収集対象データの収集を許可し、前記認証に失敗した場合には、前記データ収集プログラムを実行することによる前記収集対象データの収集を禁止するように構成された実行制御部(S490,S500)と
を備える車載装置。
【請求項12】
複数の車両のそれぞれに搭載されて、搭載されている前記車両に関する車両データを送信するように構成された複数の車載装置(2)と、
複数の前記車両の外部に設置され、複数の前記車載装置との間でデータ通信を行うことによって複数の前記車載装置から前記車両データを取得するように構成されたサーバ(3)とを備え、
複数の前記車載装置の少なくとも1つへのアクセスを要求するアクセス要求に対する認証を行う認証システム(1)の前記サーバで実行される認証方法であって、
前記アクセス要求を行ったアクセス要求元が収集する対象となる少なくとも1つの前記車両データである少なくとも1つの収集対象データと、少なくとも1つの前記収集対象データのそれぞれについての少なくとも1つの収集条件とを規定し、前記収集条件が成立した場合に、前記収集条件に対応する前記収集対象データを前記サーバへ送信させるプログラムであるデータ収集プログラムを前記アクセス要求元から受信すると、前記アクセス要求元の種別に基づいて、前記収集対象データへのアクセスに関する第1セキュリティレベルを決定し、
前記データ収集プログラムの前記プログラムに関連した値を、前記第1セキュリティレベルに応じて予め設定された第1暗号鍵で暗号化することによって、第1コード署名を生成する認証方法。
【請求項13】
複数の車両のそれぞれに搭載されて、搭載されている前記車両に関する車両データを送信するように構成された複数の車載装置(2)と、
複数の前記車両の外部に設置され、複数の前記車載装置との間でデータ通信を行うことによって複数の前記車載装置から前記車両データを取得するように構成されたサーバ(3)とを備え、
複数の前記車載装置の少なくとも1つへのアクセスを要求するアクセス要求に対する認証を行う認証システム(1)の前記サーバのコンピュータを、
前記アクセス要求を行ったアクセス要求元が収集する対象となる少なくとも1つの前記車両データである少なくとも1つの収集対象データと、少なくとも1つの前記収集対象データのそれぞれについての少なくとも1つの収集条件とを規定し、前記収集条件が成立した場合に、前記収集条件に対応する前記収集対象データを前記サーバへ送信させるプログラムであるデータ収集プログラムを前記アクセス要求元から受信すると、前記アクセス要求元の種別に基づいて、前記収集対象データへのアクセスに関する第1セキュリティレベルを決定するように構成された第1セキュリティレベル決定部(S70)、および、
前記データ収集プログラムの前記プログラムに関連した値を、前記第1セキュリティレベルに応じて予め設定された第1暗号鍵で暗号化することによって、第1コード署名を生成するように構成された第1署名生成部(S80,S90)
として機能させるための認証プログラム。
【請求項14】
複数の車両のそれぞれに搭載されて、搭載されている前記車両に関する車両データを送信するように構成された複数の車載装置(2)と、
複数の前記車両の外部に設置され、複数の前記車載装置との間でデータ通信を行うことによって複数の前記車載装置から前記車両データを取得するように構成されたサーバ(3)とを備え、
複数の前記車載装置の少なくとも1つへのアクセスを要求するアクセス要求に対する認証を行う認証システム(1)の前記車載装置で実行される認証プログラムであって、
前記サーバは、
前記アクセス要求を行ったアクセス要求元が収集する対象となる少なくとも1つの前記車両データである少なくとも1つの収集対象データと、少なくとも1つの前記収集対象データのそれぞれについての少なくとも1つの収集条件とを規定し、前記収集条件が成立した場合に、前記収集条件に対応する前記収集対象データを前記サーバへ送信させるプログラムであるデータ収集プログラムを前記アクセス要求元から受信すると、前記アクセス要求元の種別に基づいて、前記収集対象データへのアクセスに関する第1セキュリティレベルを決定するように構成された第1セキュリティレベル決定部(S70)と、
前記データ収集プログラムの前記プログラムに関連した値を、前記第1セキュリティレベルに応じて予め設定された第1暗号鍵で暗号化することによって、第1コード署名を生成するように構成された第1署名生成部(S80,S90)とを備え、
前記認証プログラムは、前記車載装置のコンピュータを、
前記データ収集プログラムを前記サーバから受信すると、少なくとも1つの前記収集対象データの種別に基づき、前記収集対象データの種別のそれぞれについて、前記収集対象データへのアクセスに関する第2セキュリティレベルを決定するように構成された第2セキュリティレベル決定部(S230)、
前記データ収集プログラムの前記プログラムに関連した値を、前記第2セキュリティレベルに応じて予め設定された第2暗号鍵で暗号化することによって、前記収集対象データの種別のそれぞれについて第2コード署名を生成するように構成された第2署名生成部(S450)、
前記第1コード署名と前記第2コード署名とを用いて、前記収集対象データの種別のそれぞれについて、前記認証を行うように構成された認証部(S420,S430,S460,S480)、および、
前記認証部による前記認証に成功した場合には、前記データ収集プログラムを実行することによる前記収集対象データの収集を許可し、前記認証に失敗した場合には、前記データ収集プログラムを実行することによる前記収集対象データの収集を禁止するように構成された実行制御部(S490,S500)
として機能させるための認証プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、アクセス要求に対する認証を行う技術に関する。
【背景技術】
【0002】
特許文献1には、暗号化した車両データを復号する際の復号条件を、車両が走行している国または地域に応じて設定する車載装置が記載されている。これにより、特許文献1に記載の車載装置は、車両が走行している国または地域が変化することによって、車両データの読み出しが許可されるデータ利用者が変化する場合であっても、車両データの読み出しが許可されるデータ利用者を適切に設定することができる。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
車載装置内の電子制御装置の処理能力が向上したことによって、広範囲の車両データを適切なタイミングでクラウドへ送信することが可能になる。また、読み出し対象の車両データが増えると、個人情報保護などの法規的な観点により、読み出し対象の車両データ毎に適切なアクセス権を設定する必要がある。
【0005】
発明者の詳細な検討の結果、読み出し対象の車両データが増加すると、適切なアクセス権を設定するために行われる認証の処理負荷が増大するという課題が見出された。
本開示は、車両データを収集するための認証の処理負荷を低減することを目的とする。
【課題を解決するための手段】
【0006】
本開示の一態様は、複数の車載装置(2)と、サーバ(3)とを備え、複数の車載装置の少なくとも1つへのアクセスを要求するアクセス要求に対する認証を行う認証システム(1)である。
【0007】
複数の車載装置は、複数の車両のそれぞれに搭載されて、搭載されている車両に関する車両データを送信するように構成される。サーバは、複数の車両の外部に設置され、複数の車載装置との間でデータ通信を行うことによって複数の車載装置から車両データを取得するように構成される。
【0008】
サーバは、第1セキュリティレベル決定部(S70)と、第1署名生成部(S80,S90)とを備える。複数の車載装置は、第2セキュリティレベル決定部(S230)と、第2署名生成部(S450)と、認証部(S420,S430,S460,S480)と、実行制御部(S490,S500)とを備える。
【0009】
第1セキュリティレベル決定部は、データ収集プログラムをアクセス要求元から受信すると、アクセス要求元の種別に基づいて、収集対象データへのアクセスに関する第1セキュリティレベルを決定するように構成される。データ収集プログラムは、少なくとも1つの収集対象データと、少なくとも1つの収集対象データのそれぞれについての少なくとも1つの収集条件とを規定し、収集条件が成立した場合に、収集条件に対応する収集対象データをサーバへ送信させるプログラムである。少なくとも1つの収集対象データは、アクセス要求を行ったアクセス要求元が収集する対象となる少なくとも1つの車両データである。
【0010】
第1署名生成部は、データ収集プログラムのプログラムに関連した値を、第1セキュリティレベルに応じて予め設定された第1暗号鍵で暗号化することによって、第1コード署名を生成するように構成される。
【0011】
第2セキュリティレベル決定部は、データ収集プログラムをサーバから受信すると、少なくとも1つの収集対象データの種別に基づき、収集対象データの種別のそれぞれについて、収集対象データへのアクセスに関する第2セキュリティレベルを決定するように構成される。
【0012】
第2署名生成部は、データ収集プログラムのプログラムに関連した値を、第2セキュリティレベルに応じて予め設定された第2暗号鍵で暗号化することによって、収集対象データの種別のそれぞれについて第2コード署名を生成するように構成される。
【0013】
認証部は、第1コード署名と第2コード署名とを用いて、収集対象データの種別のそれぞれについて、認証を行うように構成される。
【0014】
実行制御部は、認証部による認証に成功した場合には、データ収集プログラムを実行することによる収集対象データの収集を許可し、認証に失敗した場合には、データ収集プログラムを実行することによる収集対象データの収集を禁止するように構成される。
【0015】
このように構成された本開示の認証システムは、受信したデータ収集プログラムを実行する前に認証を一度行えば、データ収集プログラムに規定されている収集条件が成立する毎に、収集条件に対応する収集対象データを車載装置からサーバへ送信することができる。すなわち、本開示の認証システムは、収集条件が成立する度にアクセス要求元がサーバへアクセス要求を送信する必要がなくなり、収集条件が成立する度に認証を行う必要が無い。このため、本開示の認証システムは、車両データを収集するための認証の処理負荷を低減することができる。
【0016】
さらに、本開示の認証システムは、暗号鍵で暗号化することによって生成されるコード署名を用いて認証を行っているため、アクセス要求元が収集対象データに関し正当なアクセス権を有しているか否かを各車両にて検証することができる。
【0017】
本開示の別の態様は、認証システムのサーバであって、第1セキュリティレベル決定部と、第1署名生成部とを備える。
本開示のサーバは、本開示の認証システムが備えるサーバであり、本開示の認証システムと同様の効果を得ることができる。
【0018】
本開示の更に別の態様は、認証システムの車載装置であって、第2セキュリティレベル決定部と、第2署名生成部と、レベル判断部と、認証部とを備える。
本開示の車載装置は、本開示の認証システムが備える車載装置であり、本開示の認証システムと同様の効果を得ることができる。
【0019】
本開示の更に別の態様は、認証システムのサーバで実行される認証方法であって、データ収集プログラムをアクセス要求元から受信すると、アクセス要求元の種別に基づいて、収集対象データへのアクセスに関する第1セキュリティレベルを決定し、データ収集プログラムのプログラムに関連した値を、第1セキュリティレベルに応じて予め設定された第1暗号鍵で暗号化することによって、第1コード署名を生成する。
【0020】
本開示の認証方法は、本開示の認証システムにて実行される方法であり、当該方法を実行することで、本開示の認証システムと同様の効果を得ることができる。
本開示の更に別の態様は、サーバのコンピュータを、第1セキュリティレベル決定部、および、第1署名生成部として機能させるための認証プログラムである。
【0021】
本開示の認証プログラムによって制御されるコンピュータは、本開示の認証システムの一部を構成することができ、本開示の認証システムと同様の効果を得ることができる。
本開示の更に別の態様は、車載装置のコンピュータを、第2セキュリティレベル決定部、第2署名生成部、認証部、および、実行制御部として機能させるための認証プログラムである。
【0022】
本開示の認証プログラムによって制御されるコンピュータは、本開示の認証システムの一部を構成することができ、本開示の認証システムと同様の効果を得ることができる。
【図面の簡単な説明】
【0023】
【
図1】認証システムの構成を示すブロック図である。
【
図4】車載装置および認証サーバの機能的な構成を示す機能ブロック図である。
【
図5】車載装置および認証サーバのテーブルの構成を示す図である。
【
図6】サーバ認証処理を示すフローチャートである。
【
図11】認証失敗処理を示すフローチャートである。
【発明を実施するための形態】
【0024】
以下に本開示の実施形態を図面とともに説明する。
本実施形態の認証システム1は、
図1に示すように、複数の車載装置2と、認証サーバ3とを備える。
【0025】
車載装置2は、車両に搭載され、広域無線通信網NWを介して認証サーバ3とデータ通信を行う機能を有する。
認証サーバ3は、広域無線通信網NWを介して車載装置2とデータ通信を行う機能を有する。
【0026】
認証サーバ3には、広域無線通信網NWを介してアクセス可能なデータ収集ウェブサイトが設置されている。データ収集ウェブサイトは、パーソナルコンピュータまたはタブレット端末等の通信機器を用いてデータ収集ウェブサイトにアクセスしたサービス対象者に、車両のデータ収集サービスを提供する。
【0027】
車載装置2は、
図2に示すように、制御部11と、CAN通信部12と、記憶部13と、通信部14とを備える。CANは、Controller Area Networkの略である。CANは登録商標である。
【0028】
制御部11は、CPU21、ROM22およびRAM23等を備えたマイクロコンピュータを中心に構成された電子制御装置である。マイクロコンピュータの各種機能は、CPU21が非遷移的実体的記録媒体に格納されたプログラムを実行することにより実現される。この例では、ROM22が、プログラムを格納した非遷移的実体的記録媒体に該当する。また、このプログラムの実行により、プログラムに対応する方法が実行される。なお、CPU21が実行する機能の一部または全部を、一つあるいは複数のIC等によりハードウェア的に構成してもよい。また、制御部11を構成するマイクロコンピュータの数は1つでも複数でもよい。
【0029】
CAN通信部12は、CANバスを介して複数のECUとの間でデータ通信可能に接続されており、CAN通信プロトコルに従ってデータの送受信を行う。CAN通信部12に接続されている複数のECU111,112,113,114,…は、具体的には、エンジン制御を行うエンジンECU111、ブレーキ制御を行うブレーキECU112、ステアリング制御を行うステアリングECU113、インストルメントパネルに設けられて車両の各種状態を表示するメータを制御するメータECU114等である。
図2では、CAN通信部12に接続されているECUとして、ECU111,112,113,114のみを示している。
【0030】
記憶部13は、各種データを記憶するための記憶装置である。
通信部14は、広域無線通信網NWを介して、認証サーバ3との間でデータ通信を行う。
【0031】
認証サーバ3は、
図3に示すように、制御部31と、通信部32と、記憶部33とを備える。
制御部31は、CPU41、ROM42およびRAM43等を備えたマイクロコンピュータを中心に構成された電子制御装置である。マイクロコンピュータの各種機能は、CPU41が非遷移的実体的記録媒体に格納されたプログラムを実行することにより実現される。この例では、ROM42が、プログラムを格納した非遷移的実体的記録媒体に該当する。また、このプログラムの実行により、プログラムに対応する方法が実行される。なお、CPU41が実行する機能の一部または全部を、一つあるいは複数のIC等によりハードウェア的に構成してもよい。また、制御部31を構成するマイクロコンピュータの数は1つでも複数でもよい。
【0032】
通信部32は、広域無線通信網NWを介して、複数の車載装置2との間でデータ通信を行う。
記憶部33は、各種データを記憶するための記憶装置である。
【0033】
認証サーバ3は、
図4に示すように、ROM42に格納されたプログラムをCPU41が実行することにより実現される機能ブロックとして、プログラム配信制御部51と、ユーザ情報決定部52と、鍵決定部53と、署名生成部54と、配信パッケージ生成部55とを備える。また認証サーバ3は、ユーザ情報テーブル56と、セキュリティレベルテーブル57と、鍵テーブル58とを備える。これらのテーブル56~58は、記憶部33に記憶されている。
【0034】
車載装置2は、ROM22に格納されたプログラムをCPU21が実行することにより実現される機能ブロックとして、プログラム実行制御部71と、DID決定部72と、鍵決定部73と、署名検証実行部74と、実行権付与部75と、データ取得部76とを備える。また車載装置2は、DID情報テーブル77と、セキュリティレベルテーブル78と、鍵テーブル79と、データベース80とを備える。これらのテーブル77~79は、記憶部13に記憶されている。データベース80は、車載装置2を搭載する車両に関する車両データを記憶し、記憶部13に設けられる。
【0035】
プログラム配信制御部51は、ブラウザ4を介して操作者からのデータ収集リクエストを受け付けて、データ収集リクエストに基づき、車両からデータ収集するためのソースコードがスクリプト言語(例えば、Python、JavaScript、Lua等)で記述されたスクリプトファイルの配信を制御する。Pythonは登録商標である。JavaScriptは登録商標である。なお、プログラム配信制御部51は、コンパイラ言語で記述されたファイルの配信を制御するようにしてもよい。
【0036】
ブラウザ4は、通信機器(例えば、パーソナルコンピュータまたはタブレット端末)に搭載されているソフトウェアであり、広域無線通信網NWを介して認証サーバ3にアクセスする機能を有する。
【0037】
本実施形態では、ブラウザ4を介して認証サーバ3にアクセスするために通信機器を操作する操作者は、OEMおよびサードパーティの何れかに分類される。OEMは、データ収集の対象となる車両(以下、収集対象車両)を製造した車両メーカである。OEMは、Original Equipment Manufacturerの略である。サードパーティは、収集対象車両の所有者およびOEM以外の第三者である。サードパーティとして、例えば、車両からデータを収集することによってサービスを提供するデータ活用業者が挙げられる。
【0038】
ユーザ情報決定部52は、データ収集リクエストに基づいてユーザ情報テーブル56を参照することにより、操作者のセキュリティレベル(以下、ユーザセキュリティレベル)を特定する。ユーザセキュリティレベルは、操作者のアクセス権のレベルを示す情報である。
【0039】
鍵決定部53は、ユーザセキュリティレベルに基づいてセキュリティレベルテーブル57を参照することにより、後述するコード署名を生成するための秘密鍵を特定する。
署名生成部54は、鍵テーブル58を参照することにより、特定した秘密鍵を取得し、コード署名を生成する。
【0040】
配信パッケージ生成部55は、後述する配信パッケージを生成する。
プログラム実行制御部71は、認証サーバ3から処理実行リクエストを受け付け、処理実行リクエストに付加された配信パッケージに含まれるスクリプトファイルの実行を制御する。なお、プログラム実行制御部71は、コンパイラ言語で記述されたファイルの実行を制御するようにしてもよい。
【0041】
DID決定部72は、処理実行リクエストに基づいてDID情報テーブル77を参照することにより、収集対象データのセキュリティレベル(以下、データセキュリティレベル)を特定する。
【0042】
鍵決定部73は、データセキュリティレベルに基づいてセキュリティレベルテーブル78を参照することにより、コード署名を検証するための秘密鍵を特定する。
署名検証実行部74は、鍵テーブル79を参照することにより、特定した秘密鍵を取得し、コード署名の検証を実行する。
【0043】
実行権付与部75は、コード署名の検証結果に基づいて、受信した配信パッケージに含まれるスクリプトファイルに実行権を付与する。
データ取得部76は、データベース80から、コード署名の検証結果に基づいて許可された収集対象データを取得する。
【0044】
図5に示すように、ユーザ情報テーブル56は、ユーザIDと、ユーザセキュリティレベルとを対応付けるテーブルである。ユーザIDは、操作者を識別する情報である。
本実施形態のユーザ情報テーブル56では、ユーザIDとして、例えば、「ACompany」,「BCompany」が設定される。ユーザID「ACompany」,「BCompanyはそれぞれ、「OEM」、「サードパーティ」に対応する。そしてユーザID「ACompany」,「BCompany」はそれぞれ、セキュリティレベル「1」,「2」に対応付けられている。なお、本実施形態では、セキュリティレベル「1」が最も高いレベルである。
【0045】
DID情報テーブル77は、収集対象データのデータID(以下、DID)と、セキュリティレベルとを対応付けるテーブルである。データIDは、データを識別する情報である。データIDは、データ項目それぞれに付与されていてもよいし、データ項目のグループやカテゴリに対して付与されていてもよい。
【0046】
本実施形態のDID情報テーブル77では、DIDとして、例えば、「1」,「2」,「3」が設定される。DID「1」は、生体デバイスに関連するデータであることを示す情報である。DID「2」は、車両の位置情報に関連するデータであることを示す情報である。DID「3」は、車両の稼働状況に関連するデータであることを示す情報である。そしてDID「1」,「2」,「3」はそれぞれ、セキュリティレベル「1」,「2」,「3」に対応付けられている。
【0047】
セキュリティレベルテーブル57,78は、セキュリティレベルと鍵IDとを対応付けるテーブルである。鍵IDは、秘密鍵を識別する情報である。
セキュリティレベル「1」,「2」,「3」はそれぞれ、セキュリティポリシー情報SP1,SP2,SP3に対応付けられている。
【0048】
セキュリティポリシー情報SP1は、「生体デバイス」、「位置情報」および「稼働状況」のデータについての読み出しと書き込みとが許可されていることを示す。
セキュリティポリシー情報SP2は、「生体デバイス」のデータについての読み出しが禁止され、「位置情報」および「稼働状況」のデータについての読み出しが許可されていることを示す。
【0049】
セキュリティポリシー情報SP3は、「生体デバイス」および「位置情報」のデータについての読み出しが禁止され、「稼働状況」のデータについての読み出しが許可されていることを示す。
【0050】
鍵テーブル58,79は、鍵IDと、秘密鍵の保存場所とを対応付けるテーブルである。秘密鍵は、署名生成部54および署名検証実行部74のそれぞれが備えるHSMに保存されている。HSMは、Hardware Security Moduleの略である。
【0051】
本実施形態の鍵テーブル58,79では、鍵ID「1」,「2」,「3」がそれぞれ、HSMのアドレス「0x00000000」,「0x11111111」,「0x22222222」に対応付けられている。本実施形態では、アドレス「0x00000000」に格納されている秘密鍵の暗号方式は「RSA 512bit」である。アドレス「0x11111111」に格納されている秘密鍵の暗号方式は「RSA 1024bit」である。アドレス「0x22222222」に格納されている秘密鍵の暗号方式は「RSA 2048bit」である。
【0052】
次に、認証サーバ3が実行するサーバ認証処理の手順を説明する。サーバ認証処理は、制御部31の動作中において繰り返し実行される処理である。
サーバ認証処理が実行されると、制御部31のCPU41は、
図6に示すように、まずS10にて、ブラウザ4を介してデータ収集リクエストを受信したか否かを判断する。データ収集リクエストは、1つのユーザ認証トークンと、1または複数の収集対象データのDIDと、1または複数のタイミング情報と、1または複数のスクリプトファイルと、1つのコンフィグファイルと、1つの車両IDとを含む。
【0053】
ユーザ認証トークンは、上記のユーザIDと、認証サーバ3にアクセスするためのパスワードとを含む。
タイミング情報は、1または複数のスクリプトファイル毎に設けられ、対応するスクリプトファイルを実行するタイミングを示す情報である。
【0054】
スクリプトファイルは、1または複数の収集対象データと、1または複数の収集対象データのそれぞれに対応する1または複数のデータ収集条件とをスクリプト言語で規定している。例えば、スクリプトファイルは、収集対象車両の状況(例えば、車速および車両位置など)に基づいてデータ収集条件が成立したか否かを判断し、データ収集条件が成立した場合に、成立したデータ収集条件に対応する収集対象データを、CANバスを介して収集対象車両の車載装置2に接続されているECUから取得するように設定される。なお、車載装置2は、車両に搭載されたECUとの間でUDSに従ってデータ通信を行う。UDSは、診断通信の国際規格であり、Unified Diagnostic Servicesの略である。また、収集対象データに対応するCANフレームのCANIDを特定することができる場合には、CANバスに伝送されているCANフレームの中から、特定のCANIDを含むCANフレームを取得するようにしてもよい。
【0055】
そして、本実施形態のスクリプトファイルでは、収集対象データおよびデータ収集条件を規定するソースコードが、DIDが同一の収集対象データ毎に分類されて記述されている。例えば、DID「1」に対応するデータを収集対象データとするソースコードと、DID「2」に対応するデータを収集対象データとするソースコードと、DID「3」に対応するデータを収集対象データとするソースコードとが、それぞれ別々の集団としてまとめられた状態で記述されている。
【0056】
コンフィグファイルは、スクリプトファイルを実行するための設定が記述されているファイルである。車両IDは、収集対象車両を識別する情報である。
ここで、データ収集リクエストを受信していない場合には、CPU41は、サーバ認証処理を終了する。一方、データ収集リクエストを受信した場合には、CPU41は、S20にて、受信したデータ収集リクエストからユーザ認証トークンを取得する。さらにCPU41は、S30にて、ユーザ認証トークンからユーザIDを取得する。そしてCPU41は、S40にて、ユーザIDで特定される操作者が「正しいユーザ」であるか否かを確認する。具体的には、CPU41は、「正しいユーザ」のユーザIDを登録している登録ユーザテーブルの中に、S30で取得したユーザIDが存在する場合に、「正しいユーザ」であると判断する。登録ユーザテーブルは、記憶部33に記憶されている。または、CPU41は、ユーザ情報テーブル56を参照することにより、有効なセキュリティレベルが付与されているユーザであるか否かを判断し、有効なセキュリティレベルが付与されている場合は「正しいユーザ」と判断し、それ以外は「正しいユーザ」でないと判断してもよい。
【0057】
次にCPU41は、S50にて、S40での確認結果に基づいて、ブラウザ4を介してデータ収集リクエストを送信した操作者が「正しいユーザ」であるか否かを判断する。ここで、操作者が「正しいユーザ」でない場合には、CPU41は、S60にて、認証失敗処理を実行し、サーバ認証処理を終了する。認証失敗処理では、CPU41は、受信したデータ収集リクエストを破棄し、更に、ユーザ認証が失敗した旨を示す監査ログを記憶部33に記憶する。
【0058】
またS50にて、操作者が「正しいユーザ」である場合には、CPU41は、S70にて、ユーザ情報テーブル56を参照することにより、S30で取得したユーザIDに対応するユーザセキュリティレベルを特定する。
【0059】
さらにCPU41は、S80にて、セキュリティレベルテーブル57を参照することにより、S70で特定されたユーザセキュリティレベルに対応する鍵IDを特定する。
さらにCPU41は、S90にて、コード署名を生成する。具体的には、CPU41は、まず、鍵テーブル58を参照することによって、S70で特定したユーザセキュリティレベルに対応する秘密鍵の保存場所および暗号方式を特定する。そしてCPU41は、特定したHSMの保存場所にアクセスすることによって、S70で特定されたユーザセキュリティレベルに対応する秘密鍵を取得する。次にCPU41は、データ収集リクエストに含まれるスクリプトファイルに記載されているソースコードから、例えばSHA-256のハッシュ関数を用いて、256ビット長のハッシュ値を得る。そしてCPU41は、得られたハッシュ値を、HSMから取得した秘密鍵を用い、鍵IDに対応する暗号方式で暗号化することによって、コード署名を生成する。なお、コンパイラ言語の場合、ソースコードからハッシュ値を得てもよいし、オブジェクトコードからハッシュ値を得てもよい。
【0060】
次にCPU41は、S100にて、配信パッケージを生成する。
配信パッケージは、
図7に示すように、1つのマニフェストファイルと、データ収集リクエストに含まれていた1または複数のスクリプトファイルと、データ収集リクエストに含まれていた1つのコンフィグファイルとを含み、これらのファイルをまとめて所定の圧縮アルゴリズム(例えば、gzip)で圧縮することにより生成される。
【0061】
マニフェストファイルは、アプリIDと、使用DIDと、コード署名と、上記のタイミング情報とを含む。アプリIDは、配信パッケージに含まれるスクリプトファイルを識別する情報である。使用DIDは、スクリプトファイルを実行することにより収集される収集対象データのDIDである。コード署名は、S90で生成されたコード署名である。
本実施形態では、複数のスクリプトファイルに対して1つのアプリIDが存在する。また、1つのアプリIDに対応する使用DIDは複数存在する。そしてコード署名は、複数のスクリプトファイルをまとめたものに対する1つの署名である。すなわち、1つのアプリIDに1つのコード署名が対応している。
【0062】
S100の処理が終了すると、CPU41は、
図6に示すように、S110にて、車両IDで特定される車両の車載装置2へ処理実行リクエストを送信し、サーバ認証処理を終了する。処理実行リクエストは、S100で生成した配信パッケージを含む。
【0063】
次に、車載装置2が実行する車両認証処理の手順を説明する。車両認証処理は、制御部11の動作中において繰り返し実行される処理である。
車両認証処理が実行されると、制御部11のCPU21は、
図8に示すように、まずS210にて、認証サーバ3から処理実行リクエストを受信したか否かを判断する。
【0064】
ここで、処理実行リクエストを受信していない場合には、CPU21は、車両認証処理を終了する。一方、処理実行リクエストを受信した場合には、S220にて、処理実行リクエストに含まれる配信パッケージを解凍する。
【0065】
そしてCPU21は、S230にて、マニフェストファイルに含まれる全ての使用DIDのそれぞれについて、DID情報テーブル77を参照することにより、データセキュリティレベルを特定する。
【0066】
そしてCPU21は、S240にて、後述の署名認証処理を実行する。
次にCPU21は、S250にて、S240での署名認証結果に基づいて、認証に成功したか否かを判断する。ここで、認証に成功した使用DIDが存在する場合には、CPU21は、S260にて、後述の解除処理を実行し、車両認証処理を終了する。
【0067】
一方、マニフェストファイルに含まれる全ての使用DIDにおいて認証に失敗した場合には、CPU21は、S270にて、後述の認証失敗処理を実行し、車両認証処理を終了する。
【0068】
次に、S240で実行される署名認証処理の手順を説明する。
署名認証処理が実行されると、CPU21は、
図9に示すように、まずS410にて、マニフェストファイルに含まれる全ての使用DIDの中から、選択されていない使用DIDを1つ選択する。以下、S410で選択された使用DIDを選択DIDという。
【0069】
またCPU21は、S430にて、データセキュリティレベル値LVを、選択DIDのデータセキュリティレベルの値に設定する。
そしてCPU21は、S430にて、データセキュリティレベル値LVが0より大きいか否かを判断する。ここで、データセキュリティレベル値LVが0より大きい場合には、CPU21は、S440にて、選択DIDのデータセキュリティレベルに基づいてセキュリティレベルテーブル78を参照することにより、鍵IDを特定する。
【0070】
そしてCPU21は、S450にて、コード署名を生成する。具体的には、CPU21は、まず、鍵テーブル79を参照することによって、S440で特定した鍵IDに対応する秘密鍵の保存場所および暗号方式を特定する。そしてCPU41は、特定したHSMの保存場所にアクセスすることによって、選択DIDのデータセキュリティレベルに対応する秘密鍵を取得する。次にCPU21は、S220で配信パッケージを解凍することにより得られたスクリプトファイルに記載されているソースコード(すなわち、マニフェストに記載されたアプリIDに対応するスクリプトファイルのソースコード)から、例えばSHA-256のハッシュ関数を用いて、256ビット長のハッシュ値を得る。そしてCPU21は、得られたハッシュ値を、HSMから取得した秘密鍵を用い、鍵IDに対応する暗号方式で暗号化することによって、コード署名を生成する。
【0071】
次にCPU21は、S460にて、配信パッケージを解凍することにより得られたコード署名(すなわち、マニフェストに記載されたコード署名)と、生成したコード署名とを比較する。そしてCPU21は、両コード署名が一致している場合には、認証に成功したと判断し、両コード署名が一致していない場合には、認証に失敗したと判断する。
【0072】
S460の処理が終了すると、CPU21は、S470にて、S460での署名認証結果に基づいて、認証に成功したか否かを判断する。ここで、認証に失敗した場合には、CPU21は、S480にて、データセキュリティレベル値LVを1減算して、S430に移行する。
【0073】
一方、認証に成功した場合には、CPU21は、S490にて、選択DIDに対して「認証成功」を設定し、S510に移行する。
またS430にて、データセキュリティレベル値LVが0以下である場合には、CPU21は、S500にて、選択DIDに対して「認証失敗」を設定し、S510に移行する。
【0074】
S510に移行すると、CPU21は、マニフェストファイルに含まれる全ての使用DIDがS410で選択されたか否かを判断する。ここで、選択されていない使用DIDが存在する場合には、CPU21は、S410に移行する。一方、全ての使用DIDが選択された場合には、CPU21は、署名認証処理を終了する。
【0075】
次に、S260で実行される解除処理の手順を説明する。
解除処理が実行されると、CPU21は、
図10に示すように、まずS610にて、署名認証処理において認証に成功したコード署名の生成に用いられた秘密鍵の鍵IDに対応するセキュリティポリシーに設定されているパーミッション定義を、スクリプト実行環境に付与する。
【0076】
例えば、署名認証処理において認証に成功したコード署名の生成に用いられた秘密鍵の鍵IDが「1」である場合には、セキュリティポリシー情報SP1に記載されているパーミッション定義が用いられる。すなわち、使用DID「1」,「2」,「3」について、読み出しと書き込みとが許可されるパーミッション定義がスクリプト実行環境に付与される。
【0077】
また、署名認証処理において認証に成功したコード署名の生成に用いられた秘密鍵の鍵IDが「2」である場合には、セキュリティポリシー情報SP2に記載されているパーミッション定義が用いられる。すなわち、使用DID「2」,「3」について、読み出しのみが許可され、使用DID「1」の読み出し及び使用DID「1」,「2」,「3」の書込みが禁止されるパーミッション定義がスクリプト実行環境に付与される。
【0078】
スクリプト実行環境は、スクリプトファイルに記述されているソースコードによって規定される処理を実行するための環境である。本実施形態では、スクリプト実行環境としてサンドボックスを採用している。サンドボックスは、コンピュータ上において、他のプログラムから隔離された領域でプログラムを実行し、問題発生時においても他のプログラムに影響を及ぼさないように構築された仮想環境である。
【0079】
従って、CPU21は、ます、全てのパーミッションが削除されているサンドボックスをスクリプト実行環境として作成する。そしてCPU21は、認証に成功した鍵IDに対応するセキュリティポリシーのパーミッション定義を、作成したサンドボックスに付与する。
【0080】
上述のように、本実施形態のスクリプトファイルでは、収集対象データおよびデータ収集条件を規定するソースコードが、DIDが同一の収集対象データ毎に分類されて記述されている。このため、CPU21は、スクリプトファイルにおいて、DIDで分類されたソースコードの集団毎に、パーミッション定義を付与することができる。
【0081】
次にCPU21は、S620にて、スクリプトをスケジューリングして実行状態へ遷移させる。具体的には、CPU21は、配信パッケージに含まれる1または複数のスクリプトファイルのそれぞれについて、マニフェストファイルに含まれるタイミング情報に基づいて、実行タイミングを設定する。そしてCPU21は、1または複数のスクリプトファイルを、S610で作成したサンドボックス内で実行させる。
【0082】
そしてCPU21は、S630にて、認証が成功した使用DIDと、認証が失敗した使用DIDとを記載した監査ログを記憶部13に記憶し、解除処理を終了する。
次に、S270で実行される認証失敗処理の手順を説明する。
【0083】
認証失敗処理が実行されると、CPU21は、
図11に示すように、まずS710にて、S450で生成したコード署名を破棄する。
またCPU21は、S720にて、S220で解凍した配信パッケージを削除する。またCPU21は、S730にて、認証が失敗した旨を示すエラーコードを認証サーバ3へ送信する。
【0084】
さらにCPU21は、S740にて、認証が失敗した旨を示す認証失敗信号をCANバスに送信する。これにより、CANバスを介して車載装置2に接続されているECU111,112,113,114が認証失敗信号を受信する。そして、例えば、認証失敗信号を受信したECU114は、認証が失敗した旨をメータに表示するための処理を実行する。
【0085】
次にCPU21は、S750にて、認証が失敗した旨を示す監査ログを記憶部13に記憶し、認証失敗処理を終了する。
このように構成された認証システム1は、複数の車載装置2と、認証サーバ3とを備え、複数の車載装置2の少なくとも1つへのアクセスを要求するアクセス要求に対する認証を行う。
【0086】
認証サーバ3は、スクリプトファイルを操作者から受信すると、操作者の種別に基づいて、収集対象データへのアクセスに関するユーザセキュリティレベルを決定する。スクリプトファイルは、少なくとも1つの収集対象データと、少なくとも1つの収集対象データのそれぞれについての少なくとも1つの収集条件とを規定し、収集条件が成立した場合に、収集条件に対応する収集対象データを認証サーバ3へ送信させるプログラムである。
【0087】
認証サーバ3は、スクリプトファイルのソースコードのハッシュ値を、ユーザセキュリティレベルに応じて予め設定された秘密鍵で暗号化することによって、コード署名(以下、第1コード署名)を生成する。
【0088】
車載装置2は、スクリプトファイルを認証サーバ3から受信すると、少なくとも1つの収集対象データの種別に基づき、収集対象データの種別のそれぞれについて、収集対象データへのアクセスに関するデータセキュリティレベルを決定する。
【0089】
車載装置2は、スクリプトファイルのソースコードのハッシュ値を、データセキュリティレベルに応じて予め設定された秘密鍵で暗号化することによって、収集対象データの種別のそれぞれについてコード署名(以下、第2コード署名)を生成する。
【0090】
車載装置2は、第1コード署名と第2コード署名とを用いて、収集対象データの種別のそれぞれについて、認証を行う。
【0091】
車載装置2は、認証に成功した場合には、スクリプトファイルを実行することによる収集対象データの収集を許可し、認証に失敗した場合には、スクリプトファイルを実行することによる収集対象データの収集を禁止する。具体的には、車載装置2は、複数の収集対象データのうち、認証に成功したと判断された収集対象データの種別に対応する収集対象データの収集を許可する。
【0092】
このような認証システム1は、受信したスクリプトファイルを実行する前に認証を一度行えば、スクリプトファイルに規定されている収集条件が成立する毎に、収集条件に対応する収集対象データを車載装置2から認証サーバ3へ送信することができる。すなわち、認証システム1は、収集条件が成立する度に操作者が認証サーバ3へアクセス要求を送信する必要がなくなり、収集条件が成立する度に認証を行う必要が無い。このため、認証システム1は、車両データを収集するための認証の処理負荷を低減することができる。
【0093】
さらに認証システム1は、秘密鍵で暗号化することによって生成されるコード署名を用いて認証を行っているため、操作者が収集対象データに関し正当なアクセス権を有しているか否かを各車両にて検証することができる。
【0094】
また、スクリプトファイルのソースコードは、スクリプト言語を用いて、種別が同一の収集対象データ毎に分類されて記述されている。このような認証システム1は、パーミッション定義を付与するための処理負荷を低減することができる。
また認証サーバ3は、スクリプトファイルのソースコードのハッシュ値を暗号化することによって第1コード署名を生成する。また車載装置2は、スクリプトファイルのソースコードのハッシュ値を暗号化することによって第2コード署名を生成する。これにより、認証システム1は、生成した第1,2コード署名のデータサイズを低減することができる。
【0095】
また車載装置2は、認証が失敗したと判断した場合に、認証が失敗した旨を対象車両において報知する。これにより、認証システム1は、認証が失敗した場合において、認証が失敗した旨を対象車両の乗員に認識させることができる。
【0096】
以上説明した実施形態において、認証サーバ3はサーバに相当し、S70は第1セキュリティレベル決定部としての処理に相当し、S80,S90は第1署名生成部としての処理に相当する。
【0097】
また、S230は第2セキュリティレベル決定部としての処理に相当し、S450は第2署名生成部としての処理に相当し、S420,S430,S460,S480は認証部としての処理に相当し、S490,S500はた実行制御部としての処理に相当する。
【0098】
また、操作者はアクセス要求元に相当し、スクリプトファイルはデータ収集プログラムに相当し、ユーザセキュリティレベルは第1セキュリティレベルに相当し、S90で取得した秘密鍵は第1暗号鍵に相当し、データセキュリティレベルは第2セキュリティレベルに相当し、S450で取得した秘密鍵は第2暗号鍵に相当する。
また、ソースコードのハッシュ値およびオブジェクトコードのハッシュ値は、プログラムに関連した値に相当する。
【0099】
また、S100,S110はパッケージ送信部としての処理に相当し、DIDはデータ種別情報に相当し、S610,S620は許可実行部としての処理に相当し、S740は認証報知部としての処理に相当する。
【0100】
以上、本開示の一実施形態について説明したが、本開示は上記実施形態に限定されるものではなく、種々変形して実施することができる。
[変形例1]
上記実施形態では、認証に成功したDIDに対応する収集対象データに対してパーミッション定義が付与される形態を示した。しかし、認証に失敗したDIDが存在する場合には、全ての収集対象データに対してパーミッション定義を付与しない(すなわち、スクリプトファイルの実行を禁止する)ようにしてもよい。このような認証システム1は、認証に失敗したDIDを発見した時点で認証を終了することができるため、認証の処理負荷を低減することができる。
【0101】
[変形例2]
上記実施形態では、マニフェストファイルに含まれる全ての使用DIDについて認証を行う形態を示した。しかし、マニフェストファイルに含まれる全ての使用DIDのうち、データセキュリティレベルが最も高い使用DIDを1つ選択し、選択した1つの使用DIDについて認証を行うようにしてもよい。
【0102】
例えば、マニフェストファイルに含まれる全ての使用DIDについて、データセキュリティレベルが「2」または「3」である場合には、データセキュリティレベルが「2」である使用DIDが1つ選択される。そして、選択した使用DIDで認証に成功した場合(すなわち、ユーザセキュリティレベルが「1」または「2」である場合)には、マニフェストファイルに含まれる全ての使用DIDについて、パーミッション定義が付与される。一方、選択した使用DIDで認証に失敗した場合(すなわち、ユーザセキュリティレベルが「3」である場合)には、マニフェストファイルに含まれる全ての使用DIDについて、パーミッション定義が付与されない。
【0103】
このような認証システム1は、認証の処理負荷を低減することができる。
[変形例3]
上記実施形態では、認証が失敗した場合に、認証が失敗した旨を示す監査ログを記憶する形態を示した。しかし、予め設定された判定期間内(例えば、3分間)において認証が失敗した回数が予め設定された判定回数(例えば、3回)以上となった場合には、予め設定された指定時間(例えば、3分)が経過するまで、同一のアクセス要求を受け付けないようにしてもよい。これにより、認証システム1は、DoS攻撃によって車両データへ不正にアクセスされる事態の発生を抑制することができる。DoSは、Denial of Serviceの略である。
[変形例4]
上記実施形態では、処理実行リクエストに付加された配信パッケージのマニフェストファイルにアプリID、使用DID、コード署名およびタイミング情報が含まれている形態を示した。しかし、車載装置2は、マニフェストファイルに含まれている情報を、処理実行リクエストのパラメータとして受け取るようにしてもよい。
【0104】
本開示に記載の制御部11,31およびその手法は、コンピュータプログラムにより具体化された一つ乃至は複数の機能を実行するようにプログラムされたプロセッサおよびメモリを構成することによって提供された専用コンピュータにより、実現されてもよい。あるいは、本開示に記載の制御部11,31およびその手法は、一つ以上の専用ハードウェア論理回路によってプロセッサを構成することによって提供された専用コンピュータにより、実現されてもよい。もしくは、本開示に記載の制御部11,31およびその手法は、一つ乃至は複数の機能を実行するようにプログラムされたプロセッサおよびメモリと一つ以上のハードウェア論理回路によって構成されたプロセッサとの組み合わせにより構成された一つ以上の専用コンピュータにより、実現されてもよい。また、コンピュータプログラムは、コンピュータにより実行されるインストラクションとして、コンピュータ読み取り可能な非遷移有形記録媒体に記憶されてもよい。制御部11,31に含まれる各部の機能を実現する手法には、必ずしもソフトウェアが含まれている必要はなく、その全部の機能が、一つあるいは複数のハードウェアを用いて実現されてもよい。
【0105】
上記実施形態における1つの構成要素が有する複数の機能を、複数の構成要素によって実現したり、1つの構成要素が有する1つの機能を、複数の構成要素によって実現したりしてもよい。また、複数の構成要素が有する複数の機能を、1つの構成要素によって実現したり、複数の構成要素によって実現される1つの機能を、1つの構成要素によって実現したりしてもよい。また、上記実施形態の構成の一部を省略してもよい。また、上記実施形態の構成の少なくとも一部を、他の上記実施形態の構成に対して付加または置換してもよい。
【0106】
上述した車載装置2および認証サーバ3の他、当該車載装置2および当該認証サーバ3を構成要素とするシステム、当該車載装置2および当該認証サーバ3としてコンピュータを機能させるための認証プログラム、この認証プログラムを記録した半導体メモリ等の非遷移的実体的記録媒体、認証方法など、種々の形態で本開示を実現することもできる。
【符号の説明】
【0107】
1…認証システム、2…車載装置、3…認証サーバ