JP6173411B2 - 管理装置、車両、管理システム、管理方法、及びコンピュータプログラム - Google Patents

管理装置、車両、管理システム、管理方法、及びコンピュータプログラム Download PDF

Info

Publication number
JP6173411B2
JP6173411B2 JP2015232348A JP2015232348A JP6173411B2 JP 6173411 B2 JP6173411 B2 JP 6173411B2 JP 2015232348 A JP2015232348 A JP 2015232348A JP 2015232348 A JP2015232348 A JP 2015232348A JP 6173411 B2 JP6173411 B2 JP 6173411B2
Authority
JP
Japan
Prior art keywords
key
ecu
management
storage unit
vehicle
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
JP2015232348A
Other languages
English (en)
Other versions
JP2016116216A (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.)
KDDI Corp
Original Assignee
KDDI 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
Application filed by KDDI Corp filed Critical KDDI Corp
Priority to PCT/JP2015/084909 priority Critical patent/WO2016093368A1/ja
Priority to EP15867958.9A priority patent/EP3232602B1/en
Priority to US15/533,751 priority patent/US10419220B2/en
Priority to CN201580066477.2A priority patent/CN107113167B/zh
Publication of JP2016116216A publication Critical patent/JP2016116216A/ja
Application granted granted Critical
Publication of JP6173411B2 publication Critical patent/JP6173411B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R25/00Fittings or systems for preventing or indicating unauthorised use or theft of vehicles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • G06F21/445Program or device authentication by mutual authentication, e.g. between devices or programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • H04W12/041Key generation or derivation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2103Challenge-response
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/84Vehicles

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mechanical Engineering (AREA)
  • Lock And Its Accessories (AREA)

Description

本発明は、管理装置車両管理システム、管理方法、及びコンピュータプログラムに関する。
近年、自動車は、ECU(Electronic Control Unit)を有し、ECUによってエンジン制御等の機能を実現する。ECUは、コンピュータの一種であり、コンピュータプログラムによって所望の機能を実現する。既に使用されている自動車について、ECUのコンピュータプログラムの更新は、通常、自動車の検査時や定期点検時などに、一般の自動車整備工場で行われる。
従来、ECUのコンピュータプログラムの更新では、作業者が、自動車のOBD(On-board Diagnostics)ポートと呼ばれる診断ポートにメンテナンス専用の診断端末を接続し、該診断端末から更新プログラムのインストール及びデータの設定変更などを行う。これに関し例えば非特許文献1、2にはセキュリティについて記載されている。
C. Miller、C. Valasek、"Adventures in Automotive Networks and Control Units"、DEF CON 21、2013年8月 高田広章、松本勉、"車載組込みシステムの情報セキュリティ強化に関する提言"、2013年9月、インターネット<URL:https://www.ipa.go.jp/files/000034668.pdf> Trusted Computing Group、インターネット<URL:http://www.trustedcomputinggroup.org/> 竹森敬祐、"Android+TPMによるセキュアブート"、日経エレクトロニクス、2012年8月6日号. 竹森敬祐、川端秀明、磯原隆将、窪田歩、"Android(ARM)+TPMによるセキュアブート"、電子情報通信学会、SCIS2013シンポジウム、2013年1月. 竹森敬祐、川端秀明、窪田歩、"ARM+SIM/UIMによるセキュアブート"、電子情報通信学会、SCIS2014シンポジウム、2014年1月.
上述した非特許文献1、2では、セキュリティの向上を実現する手段については記載されない。このため、自動車等の車両に備わるECU等の車載コンピュータに使用されるコンピュータプログラム等のデータの適用についての信頼性を向上させることが望まれる。例えば、ECUが起動した後に、ECUが保持する鍵を使用してデータの交換相手を相互認証することによって、車載コンピュータシステムの防御能力を向上させることが考えられる。例えば、ECUが保持する鍵を使用して、ECU間で交換するデータの正当性を検証することが考えられる。例えば、ECUに使用されるコンピュータプログラム等のデータに電子署名を付して自動車の管理装置へ配布し、管理装置が保持する鍵を使用して、配布されたデータの電子署名を検証することにより、ECUに使用されるコンピュータプログラム等のデータを検査することが考えられる。ここで、自動車に保持される鍵の管理や更新をどのようにして実現するのかが、鍵の保安上の課題である。
本発明は、このような事情を考慮してなされたものであり、自動車等の車両に保持される鍵の管理や更新を実現できる、管理装置車両管理システム、管理方法、及びコンピュータプログラムを提供することを課題とする。
(1)本発明の一態様は、車両に備わる管理装置であり、前記車両に備わる車載コンピュータと通信する通信部と、鍵を暗号化して暗号化鍵を生成する暗号処理部と、鍵を生成する鍵生成部と、前記生成された鍵を記憶する鍵記憶部と、を備え、前記通信部は、前記暗号化鍵を前記車両に備わる車載コンピュータへ送信し、前記暗号処理部は、前記生成された鍵を暗号化する、管理装置である。
(2)本発明の一態様は、上記(1)の管理装置において、車載コンピュータに保持される出荷初期鍵の候補である複数の出荷初期鍵を記憶する出荷初期鍵記憶部と、前記車両に備わる車載コンピュータから前記通信部により受信した暗号化データを、前記出荷初期鍵記憶部に記憶される出荷初期鍵を使用して検証する検証部と、を備え、前記暗号処理部は、前記検証に成功した出荷初期鍵を、前記鍵の暗号化に使用する、管理装置である。
(3)本発明の一態様は、上記(2)の管理装置において、固定値が前記出荷初期鍵記憶部に記憶される出荷初期鍵の各々で暗号化された固定値暗号化値と固定値暗号化値の暗号化に使用された出荷初期鍵との組合せのリストを記憶する固定値暗号化リスト記憶部を備え、前記検証部は、前記車両に備わる車載コンピュータから前記通信部により受信した固定値暗号化値を前記リスト中の固定値暗号化値と比較し、前記リスト中の組合せのうち前記比較で一致した固定値暗号化値の組合せの出荷初期鍵を、前記暗号化データの検証に使用する、管理装置である。
(4)本発明の一態様は、上記(2)又は(3)のいずれかの管理装置において、前記検証部は、前記車両に備わる車載コンピュータへチャレンジ値を送信し、前記暗号化データは、前記車両に備わる車載コンピュータに保持される出荷初期鍵を使用して前記チャレンジ値が暗号化されたデータである、管理装置である。
(5)本発明の一態様は、上記(2)から(4)のいずれかの管理装置において、前記鍵生成部は、第1の鍵と、第2の鍵である鍵管理鍵とを生成し、前記暗号処理部は、前記出荷初期鍵記憶部に記憶される出荷初期鍵のうち前記車両に備わる車載コンピュータに保持される出荷初期鍵と同じ出荷初期鍵を使用して前記鍵管理鍵を暗号化し、前記鍵管理鍵を使用して前記第1の鍵を暗号化する、管理装置である。
(6)本発明の一態様は、上記(5)の管理装置において、前記鍵生成部は、前記鍵管理鍵の生成を繰り返し、前記鍵記憶部は、前記鍵管理鍵のうち最新の鍵管理鍵と最新の鍵管理鍵の1つ前の鍵管理鍵とを記憶し、前記暗号処理部は、前記1つ前の鍵管理鍵を使用して前記最新の鍵管理鍵を暗号化する、管理装置である。
(7)本発明の一態様は、上記(1)の管理装置において、車載コンピュータに保持される出荷初期鍵の候補である出荷初期鍵を記憶する出荷初期鍵記憶部を備え、前記暗号処理部は、前記出荷初期鍵記憶部に記憶される出荷初期鍵を暗号化し、前記通信部は、前記出荷初期鍵が暗号化された暗号化鍵を、前記車両に備わる車載コンピュータのうち特定の通知があった車載コンピュータへ送信する、管理装置である。
(8)本発明の一態様は、上記(1)の管理装置において、前記暗号処理部は、所定の廃棄鍵を暗号化し、前記通信部は、前記廃棄鍵が暗号化された暗号化鍵を、前記車両に備わる車載コンピュータのうち廃棄の通知があった車載コンピュータへ送信する、管理装置である。
(9)本発明の一態様は、上記(2)から(6)のいずれかの管理装置において、前記暗号処理部は、前記車両に備わる車載コンピュータから前記通信部により受信したチャレンジ値を、前記検証に成功した出荷初期鍵を使用して暗号化し、前記通信部は、前記受信したチャレンジ値が暗号化された暗号化チャレンジ値をレスポンス値として、前記車両に備わる車載コンピュータへ送信する、管理装置である。
(10)本発明の一態様は、上記(1)から(9)のいずれかの管理装置において、管理サーバ装置と通信する無線通信部を備え、前記暗号処理部は、前記管理サーバ装置と共有される鍵を使用して、前記鍵記憶部に記憶される鍵を暗号化し、前記無線通信部は、前記鍵記憶部に記憶される鍵が前記管理サーバ装置と共有される鍵を使用して暗号化された暗号化鍵を、前記管理サーバ装置へ送信する、管理装置である。
(11)本発明の一態様は、上記(1)から(10)のいずれかの管理装置において、前記暗号処理部、前記鍵生成部、及び前記鍵記憶部はセキュアエレメントに備わる、管理装置である。
(12)本発明の一態様は、上記(11)の管理装置において、前記セキュアエレメントは、無線通信に使用されるeSIM(Embedded Subscriber Identity Module)又はSIM(Subscriber Identity Module)である、管理装置である。
(13)本発明の一態様は、上記(1)から(12)のいずれかの管理装置を備える車両である。
(14)本発明の一態様は、上記(10)の管理装置と、無線通信ネットワークを介して前記管理装置と通信する管理サーバ装置と、を備え、前記管理サーバ装置は、前記管理装置から暗号化鍵を受信し、鍵を保持する、管理システムである。
(15)本発明の一態様は、マスタ鍵を記憶する鍵記憶部を備え、前記マスタ鍵を使用して生成した鍵を車両に備わる車載コンピュータへ供給する鍵生成装置である。
(16)本発明の一態様は、上記(15)の鍵生成装置において、前記マスタ鍵と前記車載コンピュータの識別子とから前記車載コンピュータへ供給する鍵を生成する鍵生成装置である。
(17)本発明の一態様は、上記(15)又は(16)のいずれかの鍵生成装置において、前記車両に備わる通信モジュールに備わるセキュアエレメントにより構成される鍵生成装置である。
(18)本発明の一態様は、上記(15)又は(16)のいずれかの鍵生成装置において、前記車両の診断ポートを介して前記車載コンピュータとの間でデータを送受する制御モジュールに備わるセキュアエレメントにより構成される鍵生成装置である。
(19)本発明の一態様は、上記(17)の鍵生成装置を備える車両である。
(20)本発明の一態様は、上記(18)の鍵生成装置を備えるメンテナンスツールである。
(21)本発明の一態様は、車両に備わる管理装置が、前記車両に備わる車載コンピュータと通信する通信ステップと、前記管理装置が、鍵を暗号化して暗号化鍵を生成する暗号処理ステップと、前記管理装置が、鍵を生成する鍵生成ステップと、前記管理装置が、前記生成された鍵を記憶する鍵記憶ステップと、を含み、前記管理装置は、前記暗号化鍵を前記車両に備わる車載コンピュータへ送信し、前記管理装置は、前記生成された鍵を暗号化する、管理方法である。
(22)本発明の一態様は、鍵生成装置が、マスタ鍵を記憶する鍵記憶ステップと、前記鍵生成装置が、前記マスタ鍵を使用して生成した鍵を車両に備わる車載コンピュータへ供給する鍵供給ステップと、を含む管理方法である。
(23)本発明の一態様は、車両に備わるコンピュータに、前記車両に備わる他の車載コンピュータと通信する通信ステップと、鍵を暗号化して暗号化鍵を生成する暗号処理ステップと、鍵を生成する鍵生成ステップと、前記生成された鍵を記憶する鍵記憶ステップと、を実行させるためのコンピュータプログラムであり、前記通信ステップにおいて、前記暗号化鍵を前記車両に備わる車載コンピュータへ送信し、前記暗号処理ステップにおいて、前記生成された鍵を暗号化する、コンピュータプログラムである。
(24)本発明の一態様は、鍵生成装置のコンピュータに、マスタ鍵を記憶する鍵記憶ステップと、前記マスタ鍵を使用して生成した鍵を車両に備わる車載コンピュータへ供給する鍵供給ステップと、を実行させるためのコンピュータプログラムである。
本発明によれば、自動車等の車両に保持される鍵の管理や更新を実現できるという効果が得られる。
第1実施形態に係る管理システムの構成図である。 第1実施形態に係る管理装置10を示す構成図である。 第1実施形態に係る鍵記憶部22を示す構成図である。 第1実施形態に係る出荷初期鍵記憶部25と通信事業者鍵記憶部26とを示す構成図である。 第1実施形態に係るECU50を示す構成図である。 第1実施形態に係る管理サーバ装置60を構成図である。 第1実施形態に係る管理方法としてECU鍵管理鍵の更新方法の例A1を示すシーケンスチャートである。 第1実施形態に係るECU鍵管理鍵の更新方法の例A2を示すシーケンスチャートである。 第1実施形態に係るECU鍵の更新方法の例B1を示すシーケンスチャートである。 第1実施形態に係るECU鍵管理鍵の更新方法の例A3を示すシーケンスチャートである。 第1実施形態に係るECU鍵の更新方法の例B2を示すシーケンスチャートである。 第1実施形態に係るECU鍵管理鍵の更新方法の例A4を示すシーケンスチャートである。 第1実施形態に係る鍵のバックアップ方法の例を示すシーケンスチャートである。 第2実施形態に係る管理装置10を示す構成図である。 第2実施形態に係るECU50を示す構成図である。 第2実施形態に係るECU鍵管理鍵の更新方法の例C1を示すシーケンスチャートである。 第2実施形態に係るECU鍵管理鍵の更新方法の例C2を示すシーケンスチャートである。 第3実施形態に係るECU50を示す構成図である。 第3実施形態に係るECU鍵管理鍵の更新方法の例E1を示すシーケンスチャートである。 自動車1の他の実施形態を示す構成図である。 第4実施形態に係る自動車1001の実施例1を示す図である。 第4実施形態に係る自動車1001の実施例2を示す図である。 第4実施形態に係る管理方法の例G1を示すシーケンスチャートである。 第4実施形態に係る管理方法の例G2の多層共通鍵方式による鍵の管理方法の第1段階を示すシーケンスチャートである。 第4実施形態に係る管理方法の例G2の多層共通鍵方式による鍵の管理方法の第2段階を示すシーケンスチャートである。 第4実施形態に係る多層共通鍵方式による鍵の管理方法の適用例G2−1を示すシーケンスチャートである。 第4実施形態に係る多層共通鍵方式による鍵の管理方法の適用例G2−2を示すシーケンスチャートである。
以下、図面を参照し、本発明の実施形態について説明する。なお、以下に示す実施形態では、車両として自動車を例に挙げて説明する。
[第1実施形態]
図1は、本発明の第1実施形態に係る管理システムの構成図である。図1において、管理システムは、管理装置10と管理サーバ装置60とを備える。管理装置10は自動車1に備わる。管理サーバ装置60は、無線通信ネットワーク2の通信事業者に備わる。
無線通信ネットワーク2を利用するためには、無線通信ネットワーク2の契約者情報が書き込まれたeSIM(Embedded Subscriber Identity Module)又はSIM(Subscriber Identity Module)が必要である。管理装置10は、eSIM_20を備える。eSIM_20は、無線通信ネットワーク2の契約者情報が書き込まれたeSIMである。よって、管理装置10は、eSIM_20を使用することにより無線通信ネットワーク2を利用できる。管理装置10は、eSIM_20を使用して確立される無線通信回線3により無線通信ネットワーク2に接続する。
管理サーバ装置60は、無線通信ネットワーク2の通信事業者の通信回線4により無線通信ネットワーク2に接続する。管理装置10と管理サーバ装置60とは、無線通信ネットワーク2を介して通信する。
なお、管理装置10と管理サーバ装置60との間に無線通信ネットワーク2を介した専用線を確立し、管理装置10と管理サーバ装置60とが専用線を介してデータを送受するようにしてよい。
自動車1において、管理装置10は制御用車載ネットワーク40に接続される。制御用車載ネットワーク40として、例えばCAN(Controller Area Network)が使用される。本実施形態では、制御用車載ネットワーク40はCANである。制御用車載ネットワーク40には、各種のECU50が接続される。ECU50は、自動車1に備わる車載コンピュータである。ECU50は、例えば、駆動系ECU、車体系ECU、安全制御系ECUなどである。管理装置10は、制御用車載ネットワーク40を介して、各ECU50との間でデータを交換する。ECU50は、制御用車載ネットワーク40を介して、他のECU50との間でデータを交換する。
図2は、第1実施形態に係る管理装置10を示す構成図である。図2において、管理装置10は、eSIM_20と無線通信部11とCANインタフェース12とを備える。これら各部はデータを交換できるように構成される。eSIM_20は、鍵生成部21と鍵記憶部22と検証部23と暗号処理部24と出荷初期鍵記憶部25と通信事業者鍵記憶部26とを備える。
eSIM_20はセキュアエレメントである。セキュアエレメントは、当該セキュアエレメントの外部からアクセスできないセキュア領域を含む。eSIM_20において、鍵記憶部22と出荷初期鍵記憶部25と通信事業者鍵記憶部26とはセキュア領域に在る。なお、セキュアエレメントとして、eSIM_20の代わりにSIMを利用してもよい。eSIMおよびSIMは、コンピュータの一種であり、コンピュータプログラムによって所望の機能を実現する。
無線通信部11は無線通信によりデータを送受する。eSIM_20は、無線通信ネットワーク2の契約者情報が書き込まれたeSIMである。よって、無線通信部11は、eSIM_20を使用することにより、無線通信回線3を介して無線通信ネットワーク2に接続する。CANインタフェース12は、ECU50と通信する通信部である。CANインタフェース12は、制御用車載ネットワーク40と接続し、制御用車載ネットワーク40を介して各ECU50とデータを交換する。
eSIM_20において、鍵生成部21は鍵を生成する。鍵記憶部22は鍵を記憶する。検証部23は、データの交換についての検証を行う。暗号処理部24は、データの暗号化と暗号化データの復号化とを行う。出荷初期鍵記憶部25は出荷初期鍵を記憶する。通信事業者鍵記憶部26は通信事業者鍵を記憶する。
本実施形態では、鍵生成部21が生成する鍵として、ECU鍵管理鍵とECU鍵との2種類がある。ECU鍵管理鍵は、例えば、ECU鍵等の鍵の更新をECU50に行うときに使用される。ECU鍵は、例えば、ECU50の保安のための処理に使用される。ECU鍵は、例えば、ECU50間の相互認証やデータの暗号化および復号化など、に使用される。
鍵生成部21は、所定のタイミングで、ECU鍵管理鍵とECU鍵とを生成する。ECU鍵管理鍵の生成タイミングとECU鍵の生成タイミングとは、同じでもよく、又は、異なってもよい。鍵生成部21は、eSIM_20の外部からの鍵生成要求に応じて、ECU鍵管理鍵もしくはECU鍵のいずれか、又は、ECU鍵管理鍵とECU鍵との両方を生成してもよい。鍵生成部21は、ECU鍵管理鍵とECU鍵との生成を繰り返してもよい。
鍵記憶部22は、鍵生成部21が生成したECU鍵管理鍵とECU鍵とを記憶する。図3は、第1実施形態に係る鍵記憶部22を示す構成図である。図3において、鍵記憶部22は、ECU鍵管理鍵Kmn記憶部31とECU鍵管理鍵Km(n−1)記憶部32とECU鍵kn記憶部33とを備える。
ECU鍵管理鍵Kmn記憶部31は、鍵生成部21が生成したECU鍵管理鍵のうち最新のECU鍵管理鍵Kmnを記憶する。ECU鍵管理鍵Km(n−1)記憶部32は、鍵生成部21が生成したECU鍵管理鍵のうち、最新のECU鍵管理鍵Kmnの1つ前のECU鍵管理鍵Km(n−1)を記憶する。ECU鍵kn記憶部33は、鍵生成部21が生成したECU鍵のうち最新のECU鍵knを記憶する。
図4は、第1実施形態に係る出荷初期鍵記憶部25と通信事業者鍵記憶部26とを示す構成図である。
図4(1)において、出荷初期鍵記憶部25は、x個の出荷初期鍵Kr0、Kr1、・・・、Krxを記憶する。但し、xは1以上の整数である。出荷初期鍵Kr0、Kr1、・・・、Krxは、ECU50に保持される出荷初期鍵の候補である。ECU50には、ECU50の製造時や出荷時、自動車1にECU50が実装された後などに、出荷初期鍵が書き込まれる。出荷初期鍵は、通常、複数が生成される。ECU50には、複数の出荷初期鍵の中から選択された出荷初期鍵が書き込まれる。ECU50に書き込まれる出荷初期鍵の候補として、出荷初期鍵Kr0、Kr1、・・・、Krxがある。
出荷初期鍵の発行形態の例1、2、3を以下に挙げる。
(出荷初期鍵の発行形態の例1)
無線通信ネットワーク2の通信事業者が出荷初期鍵Kr0、Kr1、・・・、Krxを発行する。出荷初期鍵Kr0、Kr1、・・・、Krxは、ECU50の製造会社や自動車1の製造会社に配布される。無線通信ネットワーク2の通信事業者は、eSIM_20に出荷初期鍵Kr0、Kr1、・・・、Krxを書き込む。eSIM_20は、出荷初期鍵Kr0、Kr1、・・・、Krxを出荷初期鍵記憶部25に記憶する。ECU50の製造会社又は自動車1の製造会社で、出荷初期鍵Kr0、Kr1、・・・、Krxから選択された出荷初期鍵がECU50に書き込まれる。ECU50は、書き込まれた出荷初期鍵を保持する。
(出荷初期鍵の発行形態の例2)
自動車1の製造会社が出荷初期鍵Kr0、Kr1、・・・、Krxを発行する。出荷初期鍵Kr0、Kr1、・・・、Krxは、無線通信ネットワーク2の通信事業者に配布される。無線通信ネットワーク2の通信事業者は、eSIM_20に出荷初期鍵Kr0、Kr1、・・・、Krxを書き込む。eSIM_20は、出荷初期鍵Kr0、Kr1、・・・、Krxを出荷初期鍵記憶部25に記憶する。自動車1の製造会社で、出荷初期鍵Kr0、Kr1、・・・、Krxから選択された出荷初期鍵がECU50に書き込まれる。ECU50は、書き込まれた出荷初期鍵を保持する。又は、出荷初期鍵Kr0、Kr1、・・・、Krxは、ECU50の製造会社に配布される。ECU50の製造会社で、出荷初期鍵Kr0、Kr1、・・・、Krxから選択された出荷初期鍵がECU50に書き込まれる。ECU50は、書き込まれた出荷初期鍵を保持する。
(出荷初期鍵の発行形態の例3)
ECU50の製造会社が出荷初期鍵Kr0、Kr1、・・・、Krxを発行する。出荷初期鍵Kr0、Kr1、・・・、Krxは、無線通信ネットワーク2の通信事業者に配布される。無線通信ネットワーク2の通信事業者は、eSIM_20に出荷初期鍵Kr0、Kr1、・・・、Krxを書き込む。eSIM_20は、出荷初期鍵Kr0、Kr1、・・・、Krxを出荷初期鍵記憶部25に記憶する。ECU50の製造会社で、出荷初期鍵Kr0、Kr1、・・・、Krxから選択された出荷初期鍵がECU50に書き込まれる。ECU50は、書き込まれた出荷初期鍵を保持する。又は、出荷初期鍵Kr0、Kr1、・・・、Krxは、自動車1の製造会社に配布される。自動車1の製造会社で、出荷初期鍵Kr0、Kr1、・・・、Krxから選択された出荷初期鍵がECU50に書き込まれる。ECU50は、書き込まれた出荷初期鍵を保持する。
なお、出荷初期鍵Kr0、Kr1、・・・、Krxが漏洩しないように、無線通信ネットワーク2の通信事業者、ECU50の製造会社、自動車1の製造会社の各々において、出荷初期鍵Kr0、Kr1、・・・、Krxが慎重に取り扱われることが好ましい。
図4(2)において、通信事業者鍵記憶部26は、y個の通信事業者鍵Kc0、Kc1、・・・、Kcyを記憶する。但し、yは1以上の整数である。通信事業者鍵Kc0、Kc1、・・・、Kcyは、eSIM_20により無線通信ネットワーク2を利用するときに使用される通信事業者鍵の候補である。eSIM_20には、eSIM_20の製造時や出荷時、管理装置10にeSIM_20が実装された後などに、通信事業者鍵Kc0、Kc1、・・・、Kcyが書き込まれる。eSIM_20は、通信事業者鍵Kc0、Kc1、・・・、Kcyを通信事業者鍵記憶部26に記憶する。また、eSIM_20には、通信事業者鍵Kc0、Kc1、・・・、Kcyの中から使用する通信事業者鍵が設定される。eSIM_20は、設定に従って通信事業者鍵Kc0、Kc1、・・・、Kcyの中から通信事業者鍵を選択し、選択した通信事業者鍵を使用する。無線通信ネットワーク2の通信事業者は、eSIM_20が使用する通信事業者鍵を特定する情報を記録する。
図5は、第1実施形態に係るECU50を示す構成図である。図5において、ECU50は、制御部51とCANインタフェース52と暗号処理部53と鍵記憶部54と出荷初期鍵記憶部55とを備える。これら各部はデータを交換できるように構成される。
制御部51は、所定の制御機能を備える。CANインタフェース52は、管理装置10や他のECU50と通信する通信部である。CANインタフェース52は、制御用車載ネットワーク40と接続し、制御用車載ネットワーク40を介して管理装置10や他のECU50とデータを交換する。
暗号処理部53は、データの暗号化と暗号化データの復号化とを行う。鍵記憶部54は鍵を記憶する。本実施形態では、鍵記憶部54が記憶する鍵として、ECU鍵管理鍵とECU鍵との2種類がある。出荷初期鍵記憶部55は出荷初期鍵を記憶する。
図6は、第1実施形態に係る管理サーバ装置60を構成図である。図6において、管理サーバ装置60は、通信部61と通信事業者鍵記憶部62と管理部63と管理データ記憶部64とを備える。これら各部はデータを交換できるように構成される。通信部61は、通信回線4を介してデータを送受する。通信部61は、通信回線4を介して無線通信ネットワーク2に接続する。通信事業者鍵記憶部62は通信事業者鍵を記憶する。管理部63は、自動車1に関する管理を行う。管理データ記憶部64は、自動車1に関する管理データを記憶する。
次に、第1実施形態に係る管理方法を説明する。なお、以下の説明において、管理装置10とECU50とは、制御用車載ネットワーク40を介してデータを送受する。管理装置10のeSIM_20は、CANインタフェース12を介してECU50とデータを送受する。ECU50の各部はCANインタフェース52を介して管理装置10のeSIM_20とデータを送受する。
[ECU鍵管理鍵の更新方法の例A1]
図7は、第1実施形態に係るECU鍵管理鍵の更新方法の例A1を示すシーケンスチャートである。ECU鍵管理鍵の更新方法の例A1は、自動車1に実装されたECU50に対してECU鍵管理鍵を更新する場合の更新方法である。ECU鍵管理鍵の更新方法の例A1が適用される場合として、以下に示すECU鍵管理鍵の更新方法の適用例1、2が挙げられる。
(ECU鍵管理鍵の更新方法の適用例1)
自動車1の新車段階において、自動車1に実装されたECU50に対してECU鍵管理鍵を更新する場合に、ECU鍵管理鍵の更新方法の例A1が適用される。自動車1の新車段階として、例えば、自動車1の製造過程、自動車1が完成してから販売されるまでなどが挙げられる。
(ECU鍵管理鍵の更新方法の適用例2)
自動車1のECU50の交換段階において、自動車1に実装された交換後のECU50に対してECU鍵管理鍵を更新する場合に、ECU鍵管理鍵の更新方法の例A1が適用される。自動車1のECU50の交換段階として、例えば、故障したECU50を交換したり、又は、最新化のためにECU50を交換したりする場合などが挙げられる。
図7には、自動車1における管理装置10のeSIM_20とECU50との間の手順が示される。eSIM_20において、鍵記憶部22のECU鍵管理鍵Kmn記憶部31は、鍵生成部21が生成したECU鍵管理鍵のうち最新のECU鍵管理鍵Km3を記憶する。鍵記憶部22のECU鍵管理鍵Km(n−1)記憶部32は、鍵生成部21が生成したECU鍵管理鍵のうち最新のECU鍵管理鍵Km3の1つ前のECU鍵管理鍵Km2を記憶する。
ECU50において、出荷初期鍵記憶部55は、出荷初期鍵Kr?を記憶する。eSIM_20は、ECU50に保持される出荷初期鍵Kr?を知らない。以下、図7を参照して、ECU鍵管理鍵の更新方法の例A1を説明する。
(ステップS1)ECU50の制御部51は、eSIM_20へ、自動車1へのECU50の実装を通知する実装通知メッセージを送信する。eSIM_20は、ECU50から送信された実装通知メッセージを受信する。
(ステップS2)eSIM_20の検証部23は、乱数を生成し、生成した乱数をチャレンジ値とする。eSIM_20は、実装通知メッセージの送信元のECU50へ、チャレンジ値(乱数)を送信する。
(ステップS3)ECU50の暗号処理部53は、eSIM_20から受信したチャレンジ値(乱数)を、出荷初期鍵記憶部55に記憶される出荷初期鍵Kr?で暗号化した暗号化データKr?(乱数)を生成する。ECU50は、暗号化データKr?(乱数)をレスポンス値として、eSIM_20へ送信する。
(ステップS4)eSIM_20の検証部23は、ECU50から受信したレスポンス値Kr?(乱数)に対して、レスポンスマッチング処理を実行する。レスポンスマッチング処理では、検証部23は、出荷初期鍵記憶部25に記憶される出荷初期鍵Kr0、Kr1、・・・、Krxを使用して、レスポンス値Kr?(乱数)を検証する。レスポンス値Kr?(乱数)の検証方法として、以下に示す検証方法の例1、2が挙げられる。
(検証方法の例1)
検証部23は、出荷初期鍵記憶部25に記憶される出荷初期鍵Kr0、Kr1、・・・、Krxの各々でチャレンジ値(乱数)を暗号化し、各暗号化結果がレスポンス値Kr?(乱数)に一致するかを判定する。判定の結果、レスポンス値Kr?(乱数)に一致する暗号化結果が一つだけある場合には、レスポンス値Kr?(乱数)の検証が成功である。一方、判定の結果、レスポンス値Kr?(乱数)に一致する暗号化結果がない場合、及び、レスポンス値Kr?(乱数)に一致する暗号化結果が複数ある場合には、レスポンス値Kr?(乱数)の検証が失敗である。
(検証方法の例2)
検証部23は、出荷初期鍵記憶部25に記憶される出荷初期鍵Kr0、Kr1、・・・、Krxの各々でレスポンス値Kr?(乱数)を復号化し、各復号化結果がチャレンジ値(乱数)に一致するかを判定する。判定の結果、チャレンジ値(乱数)に一致する復号化結果が一つだけある場合には、レスポンス値Kr?(乱数)の検証が成功である。一方、判定の結果、チャレンジ値(乱数)に一致する復号化結果がない場合、及び、チャレンジ値(乱数)に一致する復号化結果が複数ある場合には、レスポンス値Kr?(乱数)の検証が失敗である。
レスポンス値Kr?(乱数)の検証が成功である場合にはステップS5へ進む。一方、レスポンス値Kr?(乱数)の検証が失敗である場合には、図7の処理を終了する。なお、レスポンス値Kr?(乱数)の検証が失敗である場合には、所定のエラー処理を行ってもよい。
(ステップS5)eSIM_20の暗号処理部24は、ステップS4においてレスポンス値Kr?(乱数)の検証が成功したときに使用された出荷初期鍵を使用して、鍵記憶部22のECU鍵管理鍵Kmn記憶部31に記憶されるECU鍵管理鍵Km3を暗号化し、暗号化ECU鍵管理鍵を生成する。図7の例では、ECU50に保持される出荷初期鍵Kr?はKr5である。よって、ステップS4においてレスポンス値Kr?(乱数)の検証が成功したときに使用された出荷初期鍵はKr5である。このことから、図7の例では、出荷初期鍵はKr5でECU鍵管理鍵Km3を暗号化した暗号化ECU鍵管理鍵Kr5(Km3)が生成される。eSIM_20は、レスポンス値Kr?(乱数)の送信元のECU50へ、暗号化ECU鍵管理鍵Kr5(Km3)を送信する。
(ステップS6)ECU50の暗号処理部53は、eSIM_20から受信した暗号化ECU鍵管理鍵Kr5(Km3)を、出荷初期鍵記憶部55に記憶される出荷初期鍵Kr5で復号化する。この復号化結果としてECU鍵管理鍵Km3が得られる。
(ステップS7)ECU50の鍵記憶部54は、暗号処理部53の復号化結果であるECU鍵管理鍵Km3を記憶する。これにより、ECU50の鍵記憶部54に記憶されるECU鍵管理鍵が、最新のECU鍵管理鍵Km3に更新される。
上述したECU鍵管理鍵の更新方法の例A1によれば、ECU50に保持されるECU鍵管理鍵を、ECU50が実装された自動車1で生成された最新のECU鍵管理鍵に更新することができる。これにより、自動車1に実装される各ECU50で保持されるECU鍵管理鍵を、最新のECU鍵管理鍵に合わせることができる。
また、ECU鍵管理鍵は、eSIM_20とECU50とで共有される出荷初期鍵で暗号化されてeSIM_20からECU50へ送信される。これにより、ECU鍵管理鍵の更新の安全性が向上する。
[ECU鍵管理鍵の更新方法の例A2]
図8は、第1実施形態に係るECU鍵管理鍵の更新方法の例A2を示すシーケンスチャートである。ECU鍵管理鍵の更新方法の例A2は、自動車1に実装されたECU50に対してECU鍵管理鍵を更新する場合の更新方法である。ECU鍵管理鍵の更新方法の例A2が適用される場合として、上述したECU鍵管理鍵の更新方法の適用例1、2が挙げられる。
図8には、自動車1における管理装置10のeSIM_20とECU50との間の手順が示される。eSIM_20において、鍵記憶部22のECU鍵管理鍵Kmn記憶部31は、鍵生成部21が生成したECU鍵管理鍵のうち最新のECU鍵管理鍵Km3を記憶する。鍵記憶部22のECU鍵管理鍵Km(n−1)記憶部32は、鍵生成部21が生成したECU鍵管理鍵のうち最新のECU鍵管理鍵Km3の1つ前のECU鍵管理鍵Km2を記憶する。
ECU50において、鍵記憶部54は、ECU鍵管理鍵として出荷初期鍵Kr?を記憶する。これは、例えば、ECU50に対して、ECU鍵管理鍵の初期値として出荷初期鍵Kr?が書き込まれた場合が挙げられる。eSIM_20は、ECU50に保持される出荷初期鍵Kr?を知らない。なお、ECU鍵管理鍵の更新方法の例A2では、ECU50は出荷初期鍵記憶部55を備えなくてもよい。以下、図8を参照して、ECU鍵管理鍵の更新方法の例A2を説明する。
(ステップS11)ECU50の制御部51は、eSIM_20へ、自動車1へのECU50の実装を通知する実装通知メッセージを送信する。eSIM_20は、ECU50から送信された実装通知メッセージを受信する。
(ステップS12)eSIM_20の検証部23は、乱数を生成し、生成した乱数をチャレンジ値とする。eSIM_20は、実装通知メッセージの送信元のECU50へ、チャレンジ値(乱数)を送信する。
(ステップS13)ECU50の暗号処理部53は、eSIM_20から受信したチャレンジ値(乱数)を、鍵記憶部54に記憶されるECU鍵管理鍵(このECU鍵管理鍵は出荷初期鍵Kr?である)で暗号化した暗号化データKr?(乱数)を生成する。ECU50は、暗号化データKr?(乱数)をレスポンス値として、eSIM_20へ送信する。
(ステップS14)eSIM_20の検証部23は、ECU50から受信したレスポンス値Kr?(乱数)に対して、レスポンスマッチング処理を実行する。レスポンスマッチング処理では、検証部23は、出荷初期鍵記憶部25に記憶される出荷初期鍵Kr0、Kr1、・・・、Krxを使用して、レスポンス値Kr?(乱数)を検証する。レスポンス値Kr?(乱数)の検証方法として、上述した検証方法の例1、2が挙げられる。
レスポンス値Kr?(乱数)の検証が成功である場合にはステップS15へ進む。一方、レスポンス値Kr?(乱数)の検証が失敗である場合には、図8の処理を終了する。なお、レスポンス値Kr?(乱数)の検証が失敗である場合には、所定のエラー処理を行ってもよい。
(ステップS15)eSIM_20の暗号処理部24は、ステップS14においてレスポンス値Kr?(乱数)の検証が成功したときに使用された出荷初期鍵を使用して、鍵記憶部22のECU鍵管理鍵Kmn記憶部31に記憶されるECU鍵管理鍵Km3を暗号化し、暗号化ECU鍵管理鍵を生成する。図8の例では、ECU50でレスポンス値Kr?(乱数)の生成において暗号化に使用されたECU鍵管理鍵は、出荷初期鍵Kr5である。よって、ステップS14においてレスポンス値Kr?(乱数)の検証が成功したときに使用された出荷初期鍵はKr5である。このことから、図8の例では、出荷初期鍵はKr5でECU鍵管理鍵Km3を暗号化した暗号化ECU鍵管理鍵Kr5(Km3)が生成される。eSIM_20は、レスポンス値Kr?(乱数)の送信元のECU50へ、暗号化ECU鍵管理鍵Kr5(Km3)を送信する。
(ステップS16)ECU50の暗号処理部53は、eSIM_20から受信した暗号化ECU鍵管理鍵Kr5(Km3)を、鍵記憶部54に記憶されるECU鍵管理鍵(このECU鍵管理鍵は出荷初期鍵Kr5である)で復号化する。この復号化結果としてECU鍵管理鍵Km3が得られる。
(ステップS17)ECU50の鍵記憶部54は、暗号処理部53の復号化結果であるECU鍵管理鍵Km3を記憶する。これにより、ECU50の鍵記憶部54に記憶されるECU鍵管理鍵が、最新のECU鍵管理鍵Km3に更新される。
上述したECU鍵管理鍵の更新方法の例A2によれば、ECU50に保持されるECU鍵管理鍵を、ECU50が実装された自動車1で生成された最新のECU鍵管理鍵に更新することができる。これにより、自動車1に実装される各ECU50で保持されるECU鍵管理鍵を、最新のECU鍵管理鍵に合わせることができる。
また、ECU鍵管理鍵は、eSIM_20とECU50とで共有される出荷初期鍵で暗号化されてeSIM_20からECU50へ送信される。これにより、ECU鍵管理鍵の更新の安全性が向上する。
[ECU鍵の更新方法の例B1]
図9は、第1実施形態に係るECU鍵の更新方法の例B1を示すシーケンスチャートである。ECU鍵の更新方法の例B1は、自動車1に実装されたECU50に対してECU鍵を更新する場合の更新方法である。ECU鍵の更新方法の例B1が適用される場合として、上述したECU鍵管理鍵の更新方法の適用例1、2と同様の場合が挙げられる。
図9には、自動車1における管理装置10のeSIM_20とECU50との間の手順が示される。eSIM_20において、鍵記憶部22のECU鍵管理鍵Kmn記憶部31は、鍵生成部21が生成したECU鍵管理鍵のうち最新のECU鍵管理鍵Km3を記憶する。鍵記憶部22のECU鍵kn記憶部33は、鍵生成部21が生成したECU鍵のうち最新のECU鍵k8を記憶する。
ECU50において、鍵記憶部54は、ECU鍵管理鍵Km3を記憶する。以下、図9を参照して、ECU鍵の更新方法の例B1を説明する。
(ステップS21)ECU50の制御部51は、eSIM_20へ、自動車1へのECU50の実装を通知する実装通知メッセージを送信する。eSIM_20は、ECU50から送信された実装通知メッセージを受信する。
(ステップS22)eSIM_20の暗号処理部24は、鍵記憶部22のECU鍵管理鍵Kmn記憶部31に記憶されるECU鍵管理鍵Km3を使用して、鍵記憶部22のECU鍵kn記憶部33に記憶されるECU鍵k8を暗号化し、暗号化ECU鍵Km3(k8)を生成する。eSIM_20は、実装通知メッセージの送信元のECU50へ、暗号化ECU鍵Km3(k8)を送信する。
(ステップS23)ECU50の暗号処理部53は、eSIM_20から受信した暗号化ECU鍵Km3(k8)を、鍵記憶部54に記憶されるECU鍵管理鍵Km3で復号化する。この復号化結果としてECU鍵k8が得られる。
(ステップS24)ECU50の鍵記憶部54は、暗号処理部53の復号化結果であるECU鍵k8を記憶する。これにより、ECU50の鍵記憶部54に記憶されるECU鍵が、最新のECU鍵k8に更新される。
上述したECU鍵の更新方法の例B1によれば、ECU50に保持されるECU鍵を、ECU50が実装された自動車1で生成された最新のECU鍵に更新することができる。これにより、自動車1に実装される各ECU50で保持されるECU鍵を、最新のECU鍵に合わせることができる。
また、ECU鍵は、eSIM_20とECU50とで共有されるECU鍵管理鍵で暗号化されてeSIM_20からECU50へ送信される。これにより、ECU鍵の更新の安全性が向上する。
[ECU鍵管理鍵の更新方法の例A3]
図10は、第1実施形態に係るECU鍵管理鍵の更新方法の例A3を示すシーケンスチャートである。ECU鍵管理鍵の更新方法の例A3は、自動車1に実装されたECU50に対してECU鍵管理鍵を更新する場合の更新方法である。ECU鍵管理鍵の更新方法の例A3では、eSIM_20が新たなECU鍵管理鍵を生成した場合に、ECU50に対してECU鍵管理鍵を更新する。
図10には、自動車1における管理装置10のeSIM_20とECU50との間の手順が示される。eSIM_20において、鍵記憶部22のECU鍵管理鍵Kmn記憶部31は、鍵生成部21が生成したECU鍵管理鍵のうち最新のECU鍵管理鍵Km2を記憶する。鍵記憶部22のECU鍵管理鍵Km(n−1)記憶部32は、鍵生成部21が生成したECU鍵管理鍵のうち最新のECU鍵管理鍵Km2の1つ前のECU鍵管理鍵Km1を記憶する。
ECU50において、鍵記憶部54は、ECU鍵管理鍵Km2を記憶する。以下、図10を参照して、ECU鍵管理鍵の更新方法の例A3を説明する。
(ステップS31)eSIM_20の鍵生成部21は、新たなECU鍵管理鍵Km3を生成する。鍵記憶部22のECU鍵管理鍵Km(n−1)記憶部32は、ECU鍵管理鍵Kmn記憶部31が記憶するECU鍵管理鍵Km2を、既に記憶するECU鍵管理鍵Km1に代えて記憶する。鍵記憶部22のECU鍵管理鍵Kmn記憶部31は、鍵生成部21が生成した新たなECU鍵管理鍵Km3を、既に記憶するECU鍵管理鍵Km2に代えて記憶する。これにより、鍵記憶部22において、ECU鍵管理鍵Kmn記憶部31はECU鍵管理鍵Km3を記憶し、ECU鍵管理鍵Km(n−1)記憶部32はECU鍵管理鍵Km2を記憶する。
(ステップS32)eSIM_20の暗号処理部24は、鍵記憶部22のECU鍵管理鍵Km(n−1)記憶部32に記憶されるECU鍵管理鍵Km2を使用して、鍵記憶部22のECU鍵管理鍵Kmn記憶部31に記憶されるECU鍵管理鍵Km3を暗号化し、暗号化ECU鍵管理鍵Km2(Km3)を生成する。eSIM_20は、暗号化ECU鍵管理鍵Km2(Km3)をECU50へ送信する。
(ステップS33)ECU50の暗号処理部53は、eSIM_20から受信した暗号化ECU鍵管理鍵Km2(Km3)を、鍵記憶部54に記憶されるECU鍵管理鍵Km2で復号化する。この復号化結果としてECU鍵管理鍵Km3が得られる。
(ステップS34)ECU50の鍵記憶部54は、暗号処理部53の復号化結果であるECU鍵管理鍵Km3を記憶する。これにより、ECU50の鍵記憶部54に記憶されるECU鍵管理鍵が、最新のECU鍵管理鍵Km3に更新される。
上述したECU鍵管理鍵の更新方法の例A3によれば、ECU50に保持されるECU鍵管理鍵を、ECU50が実装された自動車1で生成された最新のECU鍵管理鍵に更新することができる。これにより、自動車1に実装される各ECU50で保持されるECU鍵管理鍵を、最新のECU鍵管理鍵に合わせることができる。
また、更新のECU鍵管理鍵は、eSIM_20とECU50とで共有される更新前のECU鍵管理鍵で暗号化されてeSIM_20からECU50へ送信される。これにより、ECU鍵管理鍵の更新の安全性が向上する。
[ECU鍵の更新方法の例B2]
図11は、第1実施形態に係るECU鍵の更新方法の例B2を示すシーケンスチャートである。ECU鍵の更新方法の例B2は、自動車1に実装されたECU50に対してECU鍵を更新する場合の更新方法である。ECU鍵の更新方法の例B2では、eSIM_20が新たなECU鍵を生成した場合に、ECU50に対してECU鍵を更新する。
図11には、自動車1における管理装置10のeSIM_20とECU50との間の手順が示される。eSIM_20において、鍵記憶部22のECU鍵管理鍵Kmn記憶部31は、鍵生成部21が生成したECU鍵管理鍵のうち最新のECU鍵管理鍵Km3を記憶する。
ECU50において、鍵記憶部54は、ECU鍵管理鍵Km3とECU鍵k7とを記憶する。以下、図11を参照して、ECU鍵の更新方法の例B2を説明する。
(ステップS41)eSIM_20の鍵生成部21は、新たなECU鍵k8を生成する。鍵記憶部22のECU鍵kn記憶部33は、鍵生成部21が生成した新たなECU鍵k8を、ECU鍵k8の1つ前に鍵生成部21が生成し既に記憶するECU鍵k7に代えて記憶する。
(ステップS42)eSIM_20の暗号処理部24は、鍵記憶部22のECU鍵管理鍵Kmn記憶部31に記憶されるECU鍵管理鍵Km3を使用して、鍵記憶部22のECU鍵kn記憶部33に記憶されるECU鍵k8を暗号化し、暗号化ECU鍵Km3(k8)を生成する。eSIM_20は、暗号化ECU鍵Km3(k8)をECU50へ送信する。
(ステップS43)ECU50の暗号処理部53は、eSIM_20から受信した暗号化ECU鍵Km3(k8)を、鍵記憶部54に記憶されるECU鍵管理鍵Km3で復号化する。この復号化結果としてECU鍵k8が得られる。
(ステップS44)ECU50の鍵記憶部54は、暗号処理部53の復号化結果であるECU鍵k8を、既に記憶するECU鍵k7に代えて記憶する。これにより、ECU50の鍵記憶部54に記憶されるECU鍵が、最新のECU鍵k8に更新される。
上述したECU鍵の更新方法の例B2によれば、ECU50に保持されるECU鍵を、ECU50が実装された自動車1で生成された最新のECU鍵に更新することができる。これにより、自動車1に実装される各ECU50で保持されるECU鍵を、最新のECU鍵に合わせることができる。
また、ECU鍵は、eSIM_20とECU50とで共有されるECU鍵管理鍵で暗号化されてeSIM_20からECU50へ送信される。これにより、ECU鍵の更新の安全性が向上する。
[ECU鍵管理鍵の更新方法の例A4]
図12は、第1実施形態に係るECU鍵管理鍵の更新方法の例A4を示すシーケンスチャートである。ECU鍵管理鍵の更新方法の例A4は、自動車1に実装されたECU50に対してECU鍵管理鍵を更新する場合の更新方法である。ECU鍵管理鍵の更新方法の例A4では、ECU50に保持されるECU鍵管理鍵を、出荷初期鍵に更新する。ECU鍵管理鍵を出荷初期鍵に更新する対象のECU50は、特定の通知があったECU50である。特定の通知は、ECU50からeSIM_20へ送信されてもよく、又は、自動車1の外部からeSIM_20へ入力されてもよい。ここでは、再利用の通知があったECU50に対して、ECU鍵管理鍵を出荷初期鍵に更新する。ここでは、再利用の通知は、ECU50からeSIM_20へ送信される。
図12には、自動車1における管理装置10のeSIM_20とECU50との間の手順が示される。eSIM_20において、鍵記憶部22のECU鍵管理鍵Kmn記憶部31は、鍵生成部21が生成したECU鍵管理鍵のうち最新のECU鍵管理鍵Km3を記憶する。
ECU50において、鍵記憶部54は、ECU鍵管理鍵Km3を記憶する。以下、図12を参照して、ECU鍵管理鍵の更新方法の例A4を説明する。
(ステップS51)ECU50の制御部51は、eSIM_20へ、ECU50の再利用を通知する再利用通知メッセージを送信する。eSIM_20は、ECU50から送信された再利用通知メッセージを受信する。
(ステップS52)eSIM_20の暗号処理部24は、鍵記憶部22のECU鍵管理鍵Kmn記憶部31に記憶されるECU鍵管理鍵Km3を使用して、出荷初期鍵記憶部25に記憶される出荷初期鍵を暗号化し、暗号化出荷初期鍵を生成する。暗号化される出荷初期鍵は、出荷初期鍵記憶部25に記憶される出荷初期鍵Kr0、Kr1、・・・、Krxの中から任意に選択される。図12の例では、暗号化される出荷初期鍵はKr6である。よって、出荷初期鍵Kr6がECU鍵管理鍵Km3で暗号化された暗号化出荷初期鍵Km3(Kr6)が生成される。eSIM_20は、再利用通知メッセージの送信元のECU50へ、暗号化出荷初期鍵Km3(Kr6)を送信する。
(ステップS53)ECU50の暗号処理部53は、eSIM_20から受信した暗号化出荷初期鍵Km3(Kr6)を、鍵記憶部54に記憶されるECU鍵管理鍵Km3で復号化する。この復号化結果として出荷初期鍵Kr6が得られる。
(ステップS54)ECU50の鍵記憶部54は、暗号処理部53の復号化結果である出荷初期鍵Kr6を、ECU鍵管理鍵として記憶する。これにより、ECU50の鍵記憶部54に記憶されるECU鍵管理鍵が、出荷初期鍵Kr6に更新される。
上述したECU鍵管理鍵の更新方法の例A4によれば、特定の通知があったECU50に保持されるECU鍵管理鍵を、出荷初期鍵に更新することができる。また、更新の出荷初期鍵は、eSIM_20とECU50とで共有されるECU鍵管理鍵で暗号化されてeSIM_20からECU50へ送信される。これにより、ECU鍵管理鍵から出荷初期鍵への更新の安全性が向上する。
ECU鍵管理鍵の更新方法の例A4によってECU鍵管理鍵が出荷初期鍵に更新されたECU50は、他の自動車1に実装された場合、上述したECU鍵管理鍵の更新方法の例A2においてeSIM_20による検証が成功するので、他の自動車1で再利用することができる。
なお、上述したECU鍵管理鍵の更新方法の例A4は、応用が可能である。
一つの応用例を以下に説明する。上述したECU鍵管理鍵の更新方法の例A1において、eSIM_20による検証が成功することにより、ECU50の鍵記憶部54に記憶されるECU鍵管理鍵が最新化された場合、当該ECU50が、自己の出荷初期鍵記憶部55に記憶される出荷初期鍵を消去したり又は無効な値に書き換えたりする。また、上述したECU鍵管理鍵の更新方法の例A4のステップS54において、ECU50の出荷初期鍵記憶部55が、ステップS53での暗号処理部53の復号化結果である出荷初期鍵を記憶する。これにより、自動車1に実装された後に出荷初期鍵記憶部55に記憶される出荷初期鍵が消去されたり又は無効な値に書き換えられたりしたECU50に対して、再度、有効な出荷初期鍵を出荷初期鍵記憶部55に記憶させることができる。このように、再度、出荷初期鍵記憶部55に有効な出荷初期鍵を記憶したECU50は、他の自動車1に実装された場合、上述したECU鍵管理鍵の更新方法の例A1においてeSIM_20による検証が成功するので、他の自動車1で再利用することができる。
他の応用例を以下に説明する。廃棄の通知があったECU50に対して、鍵記憶部54に記憶されるECU鍵管理鍵と出荷初期鍵記憶部25に記憶される出荷初期鍵とを所定の廃棄鍵に更新する。これにより、廃棄されたECU50が他の自動車1に実装されたとしても、廃棄鍵が使用されることによってeSIM_20による検証が失敗するので、廃棄されたECU50が他の自動車1で使用されることを防止できる。
[鍵のバックアップ方法の例]
図13は、第1実施形態に係る鍵のバックアップ方法の例を示すシーケンスチャートである。ここでは、自動車1のECU鍵管理鍵とECU鍵とを管理サーバ装置60へバックアップする方法を説明する。
図13には、図1に示される管理システムにおける管理サーバ装置60と管理装置10のeSIM_20との間の手順が示される。eSIM_20において、鍵記憶部22のECU鍵管理鍵Kmn記憶部31は、鍵生成部21が生成したECU鍵管理鍵のうち最新のECU鍵管理鍵Km3を記憶する。鍵記憶部22のECU鍵kn記憶部33は、鍵生成部21が生成したECU鍵のうち最新のECU鍵k8を記憶する。
以下、図13を参照して、鍵のバックアップ方法の例を説明する。以下の説明において、eSIM_20は無線通信部11を介して管理サーバ装置60とデータを送受する。管理サーバ装置60の各部は、通信部61を介して管理装置10のeSIM_20とデータを送受する。
なお、自動車1の所有者が鍵のバックアップを承諾した場合にのみ、図13の手順が開始されるようにしてもよい。
(ステップS61)eSIM_20の暗号処理部24は、通信事業者鍵記憶部26に記憶される通信事業者鍵Kc0、Kc1、・・・、Kcyのうち通信事業者と共有されている通信事業者鍵Kc1を使用して、鍵記憶部22のECU鍵管理鍵Kmn記憶部31に記憶されるECU鍵管理鍵Km3と、鍵記憶部22のECU鍵kn記憶部33に記憶されるECU鍵k8とを各々暗号化する。これにより、ECU鍵管理鍵Km3が通信事業者鍵Kc1で暗号化された暗号化ECU鍵管理鍵Kc1(Km3)と、ECU鍵k8が通信事業者鍵Kc1で暗号化された暗号化ECU鍵Kc1(k8)とが生成される。eSIM_20と通信事業者とで共有されている通信事業者鍵Kc1は、予め、eSIM_20に設定される。eSIM_20は、暗号化ECU鍵管理鍵Kc1(Km3)と暗号化ECU鍵Kc1(k8)とを管理サーバ装置60へ送信する。このとき、eSIM_20は、自己の自動車1の識別情報(車ID)を管理サーバ装置60へ通知する。
(ステップS62)管理サーバ装置60の管理部63は、eSIM_20から受信した暗号化ECU鍵管理鍵Kc1(Km3)と暗号化ECU鍵Kc1(k8)とを、各々、eSIM_20と共有されている通信事業者鍵Kc1を使用して復号化する。これにより、各復号化結果として、ECU鍵管理鍵Km3とECU鍵k8とが得られる。eSIM_20と通信事業者とで共有されている通信事業者鍵Kc1は、予め、管理サーバ装置60に設定される。管理サーバ装置60の管理データ記憶部64は、eSIM_20から受信した車IDに関連付けて、ECU鍵管理鍵Km3とECU鍵k8とを記憶する。
なお、管理サーバ装置60は、暗号化ECU鍵管理鍵Kc1(Km3)と暗号化ECU鍵Kc1(k8)とを復号化せずに、そのまま保持してもよい。この場合、管理データ記憶部64は、eSIM_20から受信した車IDに関連付けて、暗号化ECU鍵管理鍵Kc1(Km3)と暗号化ECU鍵Kc1(k8)とを記憶する。
上述した鍵のバックアップ方法の例によれば、自動車1に保持されるECU鍵管理鍵とECU鍵とを、管理サーバ装置60にバックアップすることができる。
なお、鍵のバックアップ方法の他の例として、自動車1において管理装置10を2個備えて二重化し、二重化された管理装置10間でECU鍵管理鍵とECU鍵とを共有するようにしてもよい。
上述した第1実施形態によれば、自動車1に保持される鍵の管理や更新を実現できるという効果が得られる。
[第2実施形態]
本発明の第2実施形態を説明する。第2実施形態に係る管理システムの構成は、上述した図1の構成と同じである。
図14は、第2実施形態に係る管理装置10を示す構成図である。図14において、図2の各部に対応する部分には同一の符号を付け、その説明を省略する。図14に示される管理装置10において、図2の管理装置10と異なるのは、eSIM_20がさらに固定値暗号化リスト記憶部27を備える点である。
固定値暗号化リスト記憶部27は、固定値暗号化リストを記憶する。固定値暗号化リストは、固定値が出荷初期鍵記憶部25に記憶される出荷初期鍵Kr0、Kr1、・・・、Krxの各々で暗号化された固定値暗号化値と、固定値暗号化値の暗号化に使用された出荷初期鍵との組合せのリストである。固定値暗号化リストは、予め、固定値暗号化リスト記憶部27に記憶される。
図15は、第2実施形態に係るECU50を示す構成図である。図15において、図5の各部に対応する部分には同一の符号を付け、その説明を省略する。図15に示されるECU50において、図5のECU50と異なるのは、ECU50がさらに固定値記憶部56を備える点である。固定値記憶部56は、固定値を記憶する。固定値は、予め、固定値記憶部56に記憶される。
次に、第2実施形態に係る管理方法を説明する。なお、以下の説明において、管理装置10とECU50とは、制御用車載ネットワーク40を介してデータを送受する。管理装置10のeSIM_20は、CANインタフェース12を介してECU50とデータを送受する。ECU50の各部はCANインタフェース52を介して管理装置10のeSIM_20とデータを送受する。
[ECU鍵管理鍵の更新方法の例C1]
図16は、第2実施形態に係るECU鍵管理鍵の更新方法の例C1を示すシーケンスチャートである。ECU鍵管理鍵の更新方法の例C1は、自動車1に実装されたECU50に対してECU鍵管理鍵を更新する場合の更新方法である。ECU鍵管理鍵の更新方法の例C1が適用される場合として、上述したECU鍵管理鍵の更新方法の適用例1、2が挙げられる。
図16には、自動車1における管理装置10のeSIM_20とECU50との間の手順が示される。eSIM_20において、鍵記憶部22のECU鍵管理鍵Kmn記憶部31は、鍵生成部21が生成したECU鍵管理鍵のうち最新のECU鍵管理鍵Km3を記憶する。鍵記憶部22のECU鍵管理鍵Km(n−1)記憶部32は、鍵生成部21が生成したECU鍵管理鍵のうち最新のECU鍵管理鍵Km3の1つ前のECU鍵管理鍵Km2を記憶する。
ECU50において、出荷初期鍵記憶部55は、出荷初期鍵Kr?を記憶する。eSIM_20は、ECU50に保持される出荷初期鍵Kr?を知らない。以下、図16を参照して、ECU鍵管理鍵の更新方法の例C1を説明する。
(ステップS71)ECU50の制御部51は、eSIM_20へ、自動車1へのECU50の実装を通知する実装通知メッセージを送信する。eSIM_20は、ECU50から送信された実装通知メッセージを受信する。
(ステップS72)eSIM_20の検証部23は、乱数を生成し、生成した乱数をチャレンジ値とする。eSIM_20は、実装通知メッセージの送信元のECU50へ、チャレンジ値(乱数)を送信する。
(ステップS73)ECU50の暗号処理部53は、eSIM_20から受信したチャレンジ値(乱数)を、出荷初期鍵記憶部55に記憶される出荷初期鍵Kr?で暗号化した暗号化データKr?(乱数)を生成する。暗号化データKr?(乱数)は、レスポンス値になる。ECU50の暗号処理部53は、固定値記憶部56に記憶される固定値を、出荷初期鍵記憶部55に記憶される出荷初期鍵Kr?で暗号化した暗号化データKr?(固定値)を生成する。ECU50は、暗号化データKr?(固定値)とレスポンス値Kr?(乱数)とをeSIM_20へ送信する。
(ステップS74)eSIM_20の検証部23は、ECU50から受信した暗号化データKr?(固定値)を、固定値暗号化リスト記憶部27に記憶される固定値暗号化リスト中の固定値暗号化値と比較する。図16の例では、ECU50に保持される出荷初期鍵Kr?はKr5である。よって、ECU50から受信した暗号化データKr?(固定値)はKr5(固定値)である。このことから、固定値暗号化リスト中の固定値暗号化値との比較によって、ECU50から受信した暗号化データKr5(固定値)と一致するのは、固定値暗号化リスト中の固定値暗号化値Kr5(固定値)である。検証部23は、固定値暗号化リスト中の組合せのうち、ECU50から受信した暗号化データKr5(固定値)との比較で一致した固定値暗号化値Kr5(固定値)の組合せの出荷初期鍵Kr5を、出荷初期鍵記憶部25から取得する。
(ステップS75)eSIM_20の検証部23は、ECU50から受信したレスポンス値Kr?(乱数)を、ステップS74で取得した出荷初期鍵Kr5を使用して検証する。レスポンス値Kr?(乱数)の検証方法として、以下に示す検証方法の例D1、D2が挙げられる。
(検証方法の例D1)
検証部23は、出荷初期鍵Kr5でチャレンジ値(乱数)を暗号化し、暗号化結果がレスポンス値Kr?(乱数)に一致するかを判定する。判定の結果、暗号化結果がレスポンス値Kr?(乱数)に一致する場合には、レスポンス値Kr?(乱数)の検証が成功である。一方、判定の結果、暗号化結果がレスポンス値Kr?(乱数)に一致しない場合には、レスポンス値Kr?(乱数)の検証が失敗である。
(検証方法の例D2)
検証部23は、出荷初期鍵Kr5でレスポンス値Kr?(乱数)を復号化し、復号化結果がチャレンジ値(乱数)に一致するかを判定する。判定の結果、復号化結果がチャレンジ値(乱数)に一致する場合には、レスポンス値Kr?(乱数)の検証が成功である。一方、判定の結果、復号化結果がチャレンジ値(乱数)に一致しない場合には、レスポンス値Kr?(乱数)の検証が失敗である。
レスポンス値Kr?(乱数)の検証が成功である場合にはステップS76へ進む。一方、レスポンス値Kr?(乱数)の検証が失敗である場合には、図16の処理を終了する。なお、レスポンス値Kr?(乱数)の検証が失敗である場合には、所定のエラー処理を行ってもよい。
(ステップS76)eSIM_20の暗号処理部24は、ステップS75においてレスポンス値Kr?(乱数)の検証が成功したときに使用された出荷初期鍵を使用して、鍵記憶部22のECU鍵管理鍵Kmn記憶部31に記憶されるECU鍵管理鍵Km3を暗号化し、暗号化ECU鍵管理鍵を生成する。図16の例では、ステップS75においてレスポンス値Kr?(乱数)の検証が成功したときに使用された出荷初期鍵はKr5である。このことから、図16の例では、出荷初期鍵はKr5でECU鍵管理鍵Km3を暗号化した暗号化ECU鍵管理鍵Kr5(Km3)が生成される。eSIM_20は、レスポンス値Kr?(乱数)の送信元のECU50へ、暗号化ECU鍵管理鍵Kr5(Km3)を送信する。
(ステップS77)ECU50の暗号処理部53は、eSIM_20から受信した暗号化ECU鍵管理鍵Kr5(Km3)を、出荷初期鍵記憶部55に記憶される出荷初期鍵Kr5で復号化する。この復号化結果としてECU鍵管理鍵Km3が得られる。
(ステップS78)ECU50の鍵記憶部54は、暗号処理部53の復号化結果であるECU鍵管理鍵Km3を記憶する。これにより、ECU50の鍵記憶部54に記憶されるECU鍵管理鍵が、最新のECU鍵管理鍵Km3に更新される。
上述したECU鍵管理鍵の更新方法の例C1によれば、ECU50に保持されるECU鍵管理鍵を、ECU50が実装された自動車1で生成された最新のECU鍵管理鍵に更新することができる。これにより、自動車1に実装される各ECU50で保持されるECU鍵管理鍵を、最新のECU鍵管理鍵に合わせることができる。
また、ECU鍵管理鍵は、eSIM_20とECU50とで共有される出荷初期鍵で暗号化されてeSIM_20からECU50へ送信される。これにより、ECU鍵管理鍵の更新の安全性が向上する。
また、固定値暗号化リストを使用して、レスポンス値Kr?(乱数)の暗号化に使用された出荷初期鍵を特定するので、上述のECU鍵管理鍵の更新方法の例A1、A2のレスポンスマッチング処理が不要となり、処理量が削減できる。
[ECU鍵管理鍵の更新方法の例C2]
図17は、第2実施形態に係るECU鍵管理鍵の更新方法の例C2を示すシーケンスチャートである。ECU鍵管理鍵の更新方法の例C2は、自動車1に実装されたECU50に対してECU鍵管理鍵を更新する場合の更新方法である。ECU鍵管理鍵の更新方法の例C2が適用される場合として、上述したECU鍵管理鍵の更新方法の適用例1、2が挙げられる。
図17には、自動車1における管理装置10のeSIM_20とECU50との間の手順が示される。eSIM_20において、鍵記憶部22のECU鍵管理鍵Kmn記憶部31は、鍵生成部21が生成したECU鍵管理鍵のうち最新のECU鍵管理鍵Km3を記憶する。鍵記憶部22のECU鍵管理鍵Km(n−1)記憶部32は、鍵生成部21が生成したECU鍵管理鍵のうち最新のECU鍵管理鍵Km3の1つ前のECU鍵管理鍵Km2を記憶する。
ECU50において、鍵記憶部54は、ECU鍵管理鍵として出荷初期鍵Kr?を記憶する。これは、例えば、ECU50に対して、ECU鍵管理鍵の初期値として出荷初期鍵Kr?が書き込まれた場合が挙げられる。eSIM_20は、ECU50に保持される出荷初期鍵Kr?を知らない。なお、ECU鍵管理鍵の更新方法の例C2では、ECU50は出荷初期鍵記憶部55を備えなくてもよい。以下、図17を参照して、ECU鍵管理鍵の更新方法の例C2を説明する。
(ステップS81)ECU50の制御部51は、eSIM_20へ、自動車1へのECU50の実装を通知する実装通知メッセージを送信する。eSIM_20は、ECU50から送信された実装通知メッセージを受信する。
(ステップS82)eSIM_20の検証部23は、乱数を生成し、生成した乱数をチャレンジ値とする。eSIM_20は、実装通知メッセージの送信元のECU50へ、チャレンジ値(乱数)を送信する。
(ステップS83)ECU50の暗号処理部53は、eSIM_20から受信したチャレンジ値(乱数)を、鍵記憶部54に記憶されるECU鍵管理鍵(このECU鍵管理鍵は出荷初期鍵Kr?である)で暗号化した暗号化データKr?(乱数)を生成する。暗号化データKr?(乱数)は、レスポンス値になる。ECU50の暗号処理部53は、固定値記憶部56に記憶される固定値を、鍵記憶部54に記憶されるECU鍵管理鍵(このECU鍵管理鍵は出荷初期鍵Kr?である)で暗号化した暗号化データKr?(固定値)を生成する。ECU50は、暗号化データKr?(固定値)とレスポンス値Kr?(乱数)とをeSIM_20へ送信する。
(ステップS84)eSIM_20の検証部23は、ECU50から受信した暗号化データKr?(固定値)を、固定値暗号化リスト記憶部27に記憶される固定値暗号化リスト中の固定値暗号化値と比較する。図17の例では、ECU50に保持される出荷初期鍵Kr?はKr5である。よって、ECU50から受信した暗号化データKr?(固定値)はKr5(固定値)である。このことから、固定値暗号化リスト中の固定値暗号化値との比較によって、ECU50から受信した暗号化データKr5(固定値)と一致するのは、固定値暗号化リスト中の固定値暗号化値Kr5(固定値)である。検証部23は、固定値暗号化リスト中の組合せのうち、ECU50から受信した暗号化データKr5(固定値)との比較で一致した固定値暗号化値Kr5(固定値)の組合せの出荷初期鍵Kr5を、出荷初期鍵記憶部25から取得する。
(ステップS85)eSIM_20の検証部23は、ECU50から受信したレスポンス値Kr?(乱数)を、ステップS84で取得した出荷初期鍵Kr5を使用して検証する。レスポンス値Kr?(乱数)の検証方法として、上述した検証方法の例D1、D2が挙げられる。
レスポンス値Kr?(乱数)の検証が成功である場合にはステップS86へ進む。一方、レスポンス値Kr?(乱数)の検証が失敗である場合には、図17の処理を終了する。なお、レスポンス値Kr?(乱数)の検証が失敗である場合には、所定のエラー処理を行ってもよい。
(ステップS86)eSIM_20の暗号処理部24は、ステップS85においてレスポンス値Kr?(乱数)の検証が成功したときに使用された出荷初期鍵を使用して、鍵記憶部22のECU鍵管理鍵Kmn記憶部31に記憶されるECU鍵管理鍵Km3を暗号化し、暗号化ECU鍵管理鍵を生成する。図17の例では、ステップS85においてレスポンス値Kr?(乱数)の検証が成功したときに使用された出荷初期鍵はKr5である。このことから、図17の例では、出荷初期鍵はKr5でECU鍵管理鍵Km3を暗号化した暗号化ECU鍵管理鍵Kr5(Km3)が生成される。eSIM_20は、レスポンス値Kr?(乱数)の送信元のECU50へ、暗号化ECU鍵管理鍵Kr5(Km3)を送信する。
(ステップS87)ECU50の暗号処理部53は、eSIM_20から受信した暗号化ECU鍵管理鍵Kr5(Km3)を、鍵記憶部54に記憶されるECU鍵管理鍵(このECU鍵管理鍵は出荷初期鍵Kr5である)で復号化する。この復号化結果としてECU鍵管理鍵Km3が得られる。
(ステップS88)ECU50の鍵記憶部54は、暗号処理部53の復号化結果であるECU鍵管理鍵Km3を記憶する。これにより、ECU50の鍵記憶部54に記憶されるECU鍵管理鍵が、最新のECU鍵管理鍵Km3に更新される。
上述したECU鍵管理鍵の更新方法の例C2によれば、ECU50に保持されるECU鍵管理鍵を、ECU50が実装された自動車1で生成された最新のECU鍵管理鍵に更新することができる。これにより、自動車1に実装される各ECU50で保持されるECU鍵管理鍵を、最新のECU鍵管理鍵に合わせることができる。
また、ECU鍵管理鍵は、eSIM_20とECU50とで共有される出荷初期鍵で暗号化されてeSIM_20からECU50へ送信される。これにより、ECU鍵管理鍵の更新の安全性が向上する。
また、固定値暗号化リストを使用して、レスポンス値Kr?(乱数)の暗号化に使用された出荷初期鍵を特定するので、上述のECU鍵管理鍵の更新方法の例A1、A2のレスポンスマッチング処理が不要となり、処理量が削減できる。
上述した第2実施形態によれば、自動車1に保持される鍵の管理や更新を実現できるという効果が得られる。
[第3実施形態]
本発明の第3実施形態を説明する。第3実施形態に係る管理システムの構成は、上述した図1の構成と同じである。第3実施形態に係る管理装置10の構成は、上述した図2の構成と同じである。
図18は、第3実施形態に係るECU50を示す構成図である。図18において、図5の各部に対応する部分には同一の符号を付け、その説明を省略する。図18に示されるECU50において、図5のECU50と異なるのは、ECU50がさらに検証部57を備える点である。検証部57は、データの交換についての検証を行う。
次に、第3実施形態に係る管理方法を説明する。なお、以下の説明において、管理装置10とECU50とは、制御用車載ネットワーク40を介してデータを送受する。管理装置10のeSIM_20は、CANインタフェース12を介してECU50とデータを送受する。ECU50の各部はCANインタフェース52を介して管理装置10のeSIM_20とデータを送受する。
[ECU鍵管理鍵の更新方法の例E1]
図19は、第3実施形態に係るECU鍵管理鍵の更新方法の例E1を示すシーケンスチャートである。ECU鍵管理鍵の更新方法の例E1は、自動車1に実装されたECU50に対してECU鍵管理鍵を更新する場合の更新方法である。ECU鍵管理鍵の更新方法の例E1が適用される場合として、上述したECU鍵管理鍵の更新方法の適用例1、2が挙げられる。
図19には、自動車1における管理装置10のeSIM_20とECU50との間の手順が示される。eSIM_20において、鍵記憶部22のECU鍵管理鍵Kmn記憶部31は、鍵生成部21が生成したECU鍵管理鍵のうち最新のECU鍵管理鍵Km3を記憶する。鍵記憶部22のECU鍵管理鍵Km(n−1)記憶部32は、鍵生成部21が生成したECU鍵管理鍵のうち最新のECU鍵管理鍵Km3の1つ前のECU鍵管理鍵Km2を記憶する。
ECU50において、出荷初期鍵記憶部55は、出荷初期鍵Kr?を記憶する。eSIM_20は、ECU50に保持される出荷初期鍵Kr?を知らない。以下、図19を参照して、ECU鍵管理鍵の更新方法の例E1を説明する。
(ステップS91)ECU50の制御部51は、eSIM_20へ、自動車1へのECU50の実装を通知する実装通知メッセージを送信する。eSIM_20は、ECU50から送信された実装通知メッセージを受信する。
(ステップS92)eSIM_20の検証部23は、乱数を生成し、生成した乱数をチャレンジ値とする。eSIM_20は、実装通知メッセージの送信元のECU50へ、チャレンジ値(乱数)を送信する。
(ステップS93)ECU50の暗号処理部53は、eSIM_20から受信したチャレンジ値(乱数)を、出荷初期鍵記憶部55に記憶される出荷初期鍵Kr?で暗号化した暗号化データKr?(乱数)を生成する。ECU50は、暗号化データKr?(乱数)をレスポンス値として、eSIM_20へ送信する。
(ステップS94)eSIM_20の検証部23は、ECU50から受信したレスポンス値Kr?(乱数)に対して、レスポンスマッチング処理を実行する。レスポンスマッチング処理では、検証部23は、出荷初期鍵記憶部25に記憶される出荷初期鍵Kr0、Kr1、・・・、Krxを使用して、レスポンス値Kr?(乱数)を検証する。レスポンス値Kr?(乱数)の検証方法として、上述した検証方法の例1、2が挙げられる。
ステップS94においてレスポンス値Kr?(乱数)の検証が成功である場合には以降の処理を実行する。一方、ステップS94においてレスポンス値Kr?(乱数)の検証が失敗である場合には、図19の処理を終了する。なお、ステップS94においてレスポンス値Kr?(乱数)の検証が失敗である場合には、所定のエラー処理を行ってもよい。
(ステップS95)ECU50の検証部57は、乱数を生成し、生成した乱数をチャレンジ値とする。ECU50は、チャレンジ値(乱数)をeSIM_20へ送信する。
(ステップS96)eSIM_20の暗号処理部24は、ステップS94においてレスポンス値Kr?(乱数)の検証が成功したときに使用された出荷初期鍵を使用して、ECU50から受信したチャレンジ値(乱数)を暗号化し、暗号化データKr?(乱数)を生成する。図19の例では、ECU50に保持される出荷初期鍵Kr?はKr5である。よって、ステップS94においてレスポンス値Kr?(乱数)の検証が成功したときに使用された出荷初期鍵はKr5である。このことから、図19の例では、出荷初期鍵はKr5でチャレンジ値(乱数)を暗号化した暗号化データKr5(乱数)が生成される。eSIM_20は、チャレンジ値(乱数)の送信元のECU50へ、暗号化データKr5(乱数)をレスポンス値として送信する。
(ステップS97)ECU50の検証部57は、eSIM_20から受信したレスポンス値Kr5(乱数)を、出荷初期鍵記憶部55に記憶される出荷初期鍵Kr5で検証する。レスポンス値Kr5(乱数)の検証方法として、以下に示す検証方法の例F1、F2が挙げられる。
(検証方法の例F1)
検証部57は、ステップS95でeSIM_20へ送信したチャレンジ値(乱数)を出荷初期鍵Kr5で暗号化し、暗号化結果がeSIM_20から受信したレスポンス値Kr5(乱数)に一致するかを判定する。判定の結果、暗号化結果がeSIM_20から受信したレスポンス値Kr5(乱数)に一致する場合には、レスポンス値Kr5(乱数)の検証が成功である。一方、判定の結果、暗号化結果がeSIM_20から受信したレスポンス値Kr5(乱数)に一致しない場合には、レスポンス値Kr5(乱数)の検証が失敗である。
(検証方法の例F2)
検証部57は、eSIM_20から受信したレスポンス値Kr5(乱数)を出荷初期鍵Kr5で復号化し、復号化結果がステップS95でeSIM_20へ送信したチャレンジ値(乱数)に一致するかを判定する。判定の結果、復号化結果がステップS95でeSIM_20へ送信したチャレンジ値(乱数)に一致する場合には、レスポンス値Kr5(乱数)の検証が成功である。一方、判定の結果、復号化結果がステップS95でeSIM_20へ送信したチャレンジ値(乱数)に一致しない場合には、レスポンス値Kr5(乱数)の検証が失敗である。
ステップS97においてレスポンス値Kr5(乱数)の検証が成功である場合には以降の処理を実行する。一方、ステップS97においてレスポンス値Kr5(乱数)の検証が失敗である場合には、図19の処理を終了する。なお、ステップS97においてレスポンス値Kr5(乱数)の検証が失敗である場合には、所定のエラー処理を行ってもよい。
(ステップS98)eSIM_20の暗号処理部24は、ステップS94においてレスポンス値Kr?(乱数)の検証が成功したときに使用された出荷初期鍵Kr5を使用して、鍵記憶部22のECU鍵管理鍵Kmn記憶部31に記憶されるECU鍵管理鍵Km3を暗号化し、暗号化ECU鍵管理鍵Kr5(Km3)を生成する。eSIM_20は、レスポンス値Kr?(乱数)の送信元のECU50へ、暗号化ECU鍵管理鍵Kr5(Km3)を送信する。
(ステップS99)ECU50の暗号処理部53は、eSIM_20から受信した暗号化ECU鍵管理鍵Kr5(Km3)を、出荷初期鍵記憶部55に記憶される出荷初期鍵Kr5で復号化する。この復号化結果としてECU鍵管理鍵Km3が得られる。
(ステップS100)ECU50の鍵記憶部54は、暗号処理部53の復号化結果であるECU鍵管理鍵Km3を記憶する。これにより、ECU50の鍵記憶部54に記憶されるECU鍵管理鍵が、最新のECU鍵管理鍵Km3に更新される。
上述したECU鍵管理鍵の更新方法の例E1によれば、ECU50に保持されるECU鍵管理鍵を、ECU50が実装された自動車1で生成された最新のECU鍵管理鍵に更新することができる。これにより、自動車1に実装される各ECU50で保持されるECU鍵管理鍵を、最新のECU鍵管理鍵に合わせることができる。
また、ECU鍵管理鍵は、eSIM_20とECU50とで共有される出荷初期鍵で暗号化されてeSIM_20からECU50へ送信される。これにより、ECU鍵管理鍵の更新の安全性が向上する。
また、eSIM_20からECU50を認証し(ステップS92,S93,S94)、且つ、ECU50からeSIM_20を認証する(ステップS95,S96,S97)ことにより、eSIM_20とECU50との間で相互認証が行われる。これにより、ECU50に対するECU鍵管理鍵の更新の安全性が向上する。
なお、上述の第3実施形態では上述の第1実施形態のECU50に検証部57を備えたが、上述の第2実施形態の図5に示されるECU50に対してさらに検証部57を備え、上述の第2実施形態に対して、上述の図19のステップS95,S96,S97に示されるECU50からeSIM_20を認証する手順を適用してもよい。
以上、本発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
例えば、管理装置10のeSIM_20が、出荷初期鍵を管理する所定のサーバ装置から新たに発行された出荷初期鍵を取得し、該取得した出荷初期鍵を出荷初期鍵記憶部25に記憶するようにしてもよい。例えば、管理サーバ装置60が出荷初期鍵を管理してもよい。この場合、eSIM_20は、管理サーバ装置60から新たに発行された出荷初期鍵を取得し、該取得した出荷初期鍵を出荷初期鍵記憶部25に記憶する。例えば、eSIM_20は、所定のタイミングで(例えば定期的に)、管理サーバ装置60へ、出荷初期鍵の新規発行の問合せを実行することが挙げられる。又は、管理サーバ装置60が、eSIM_20へ、新たに発行された出荷初期鍵があることを通知してもよい。これにより、eSIM_20は、新たに発行された出荷初期鍵を保持することができるので、ECU50が新たに発行された出荷初期鍵を保持する場合に対応することができる。
上述した実施形態では、セキュアエレメントとして、eSIM又はSIMを使用する例を挙げたが、これに限定されない。セキュアエレメントとして、例えば、TPM(Trusted Platform Module)と呼ばれる耐タンパー性(Tamper Resistant)のある暗号処理チップを使用してもよい。TPMについては、例えば非特許文献3に記載されている。
上述した実施形態では、管理サーバ装置60を備えたが、管理サーバ装置60を備えなくてもよい。自動車1において、管理装置10が、ECU鍵管理鍵とECU鍵管理鍵とを、生成し、記憶し、ECU50へ送信することによって、自動車1に保持されるECU鍵管理鍵とECU鍵管理鍵との管理や更新を実現できる。
管理装置10及びECU50において、セキュアブート(Secure Boot)を行うことも好ましい。セキュアブートによれば、コンピュータの起動時に当該コンピュータのオペレーティングシステム(Operating System:OS)の正当性を検証することができる。セキュアブートについては、例えば非特許文献3,4,5,6に記載されている。
上述した実施形態に係る管理方法は、自動車1の販売、定期点検、車両検査、転売、廃車など、自動車1の様々な管理の場面に適用可能である。
上述した実施形態では、車両として自動車を例に挙げたが、原動機付自転車や鉄道車両等の自動車以外の他の車両にも適用可能である。
図20は、自動車1の他の実施形態を示す構成図である。図20において、図1の各部に対応する部分には同一の符号を付け、その説明を省略する。以下、図20を参照して、自動車1の他の実施形態を説明する。
図20に示される自動車1は、図1の自動車1に対して、さらに、ゲートウェイ100とインフォテイメント(Infotainment)機器110と通信装置120とを備える。通信装置120は、eSIM_121を備える。eSIM_121は、無線通信ネットワーク2の契約者情報が書き込まれたeSIMである。よって、通信装置120は、eSIM_121を使用することにより無線通信ネットワーク2を利用できる。通信装置120は、eSIM_20を使用して確立される無線通信回線161により無線通信ネットワーク2に接続する。無線通信ネットワーク2は通信回線162を介してインターネット150と接続する。インターネット150には通信回線163を介してサーバ装置140が接続される。通信装置120は、無線通信ネットワーク2を介して、インターネット150に接続されるサーバ装置140と通信する。
自動車1のインフォテイメント機器110は、通信装置120を介して、サーバ装置140とデータを送受する。インフォテイメント機器110は、外部機器130と接続して、外部機器130とデータを交換する。外部機器130として、例えば、携帯通信端末やオーディオビジュアル機器などが挙げられる。
自動車1において、ゲートウェイ100は、制御用車載ネットワーク40に接続される。インフォテイメント機器110は、ゲートウェイ100を介して、制御用車載ネットワーク40に接続されるECU50や管理装置10とデータを送受する。ゲートウェイ100は、インフォテイメント機器110とECU50との間のデータの送受、及び、インフォテイメント機器110と管理装置10との間のデータの送受、を監視する。
[第4実施形態]
図21から図27を参照して第4実施形態を説明する。
[実施例1]
図21は、第4実施形態に係る自動車1001の実施例1を示す図である。図21おいて、自動車1001は、第1のECU1010と複数の第2のECU1020とを備える。第1のECU1010及び第2のECU1020は、自動車1001に備わる車載コンピュータである。第1のECU1010は、自動車1001に搭載されたECUのうち、ゲートウェイ機能を有するECUである。第2のECU1020は、自動車1001に搭載されたECUのうち、エンジン制御等の機能を有するECUである。第2のECU1020として、例えば、エンジン制御機能を有するECU、ハンドル制御機能を有するECU、ブレーキ制御機能を有するECUなどがある。
第1のECU1010と複数の第2のECU1020は、自動車1001に備わるCAN(Controller Area Network)1030に接続される。CAN1030は通信ネットワークである。CANは車両に搭載される通信ネットワークの一つとして知られている。
第1のECU1010は、CAN1030を介して、各第2のECU1020との間でデータを交換する。第2のECU1020は、CAN1030を介して、他の第2のECU1020との間でデータを交換する。
なお、車両に搭載される通信ネットワークとして、CAN以外の通信ネットワークを自動車1001に備え、CAN以外の通信ネットワークを介して、第1のECU1010と第2のECU1020との間のデータの交換、及び、第2のECU1020同士の間のデータの交換が行われてもよい。例えば、LIN(Local Interconnect Network)を自動車1001に備えてもよい。また、CANとLINとを自動車1001に備えてもよい。また、自動車1001において、LINに接続する第2のECU1020を備えてもよい。また、第1のECU1010は、CANとLINとに接続されてもよい。また、第1のECU1010は、CANを介して該CANに接続される第2のECU1020との間でデータを交換し、また、LINを介して該LINに接続される第2のECU1020との間でデータを交換してもよい。また、第2のECU1020同士が、LINを介してデータを交換してもよい。
自動車1001は診断ポート1060を備える。診断ポート1060として、例えばOBDポートを使用してもよい。診断ポート1060には診断端末1065を接続可能である。診断ポート1060は第1のECU1010に接続される。第1のECU1010と診断ポート1060に接続された診断端末1065とは、診断ポート1060を介して、データを交換する。
自動車1001はインフォテイメント(Infotainment)機器1040を備える。インフォテイメント機器1040として、例えば、ナビゲーション機能、位置情報サービス機能、音楽や動画などのマルチメディア再生機能、音声通信機能、データ通信機能、インターネット接続機能などを有するものが挙げられる。インフォテイメント機器1040は第1のECU1010に接続される。第1のECU1010は、インフォテイメント機器1040から入力された情報を第2のECU1020へ送信する。
自動車1001は、TCU(Tele Communication Unit)1050を備える。TCU1050は通信装置である。TCU1050は通信モジュール1051を備える。通信モジュール1051は、無線通信ネットワークを利用して無線通信を行う。通信モジュール1051は、SIM(Subscriber Identity Module)1052を備える。SIM1052は、無線通信ネットワークを利用するための情報が書き込まれたSIMである。通信モジュール1051は、SIM1052を使用することにより該無線通信ネットワークに接続して無線通信を行うことができる。
SIM1052は、鍵を記憶する鍵記憶部1053を備える。SIM1052は、鍵生成装置の例である。なお、SIM1052として、eSIM(Embedded Subscriber Identity Module)を使用してもよい。SIM及びeSIMは耐タンパー性(Tamper Resistant)を有する。SIM及びeSIMはセキュアエレメントの例である。セキュアエレメントは耐タンパー性を有する。SIM及びeSIMは、コンピュータの一種であり、コンピュータプログラムによって所望の機能を実現する。
TCU1050は第1のECU1010に接続される。第1のECU1010は、TCU1050の通信モジュール1051とデータを交換する。
なお、図21の構成では第1のECU1010とTCU1050を直接接続することにより第1のECU1010と通信モジュール1051の間でデータを交換するが、これに限定されない。例えば、TCU1050をインフォテイメント機器1040に接続し、第1のECU1010が、インフォテイメント機器1040を介して、TCU1050の通信モジュール1051とデータを交換してもよい。又は、診断端末1065の代わりにTCU1050を診断ポート1060に接続し、第1のECU1010が、診断ポート1060を介して、該診断ポート1060に接続されたTCU1050の通信モジュール1051とデータを交換してもよい。又は、第1のECU1010が、SIM1052を含む通信モジュール1051を備えてもよい。第1のECU1010がSIM1052を含む通信モジュール1051を備える場合には、自動車1001はTCU1050を備えなくてもよい。
第1のECU1010は、メイン演算器1011とHSM(Hardware Security Module)1012を備える。メイン演算器1011は、第1のECU1010の機能を実現させるためのコンピュータプログラムを実行する。HSM1012は暗号処理機能を有する。HSM1012は耐タンパー性を有する。HSM1012は、鍵を記憶する鍵記憶部1013を備える。メイン演算器1011はHSM1012を使用する。
第2のECU1020は、メイン演算器1021とSHE(Secure Hardware Extension)1022を備える。メイン演算器1021は、第2のECU1020の機能を実現させるためのコンピュータプログラムを実行する。SHE1022は暗号処理機能を有する。SHE1022は耐タンパー性を有する。SHE1022は、鍵を記憶する鍵記憶部1023を備える。メイン演算器1021はSHE1022を使用する。
自動車1001に備わる車載コンピュータシステム1002は、第1のECU1010と複数の第2のECU1020とがCAN1030に接続されて構成される。第1のECU1010は、ゲートウェイ機能を有し、車載コンピュータシステム1002の内部と外部の間の通信を監視する。なお、車載コンピュータシステム1002は、通信モジュール1051のSIM1052をさらに含んで構成されてもよい。
[実施例2]
図22は、第4実施形態に係る自動車1001の実施例2を示す図である。図22おいて、図21の各部に対応する部分には同一の符号を付け、その説明を省略する。図22に示す実施例2において、診断ポート1060にはメンテナンスツール(maintenance tool)1200を接続可能である。第1のECU1010と診断ポート1060に接続されたメンテナンスツール1200とは、診断ポート1060を介して、データを交換する。メンテナンスツール1200は、OBDポートに接続される従来の診断端末の機能を有していてもよい。
メンテナンスツール1200は、制御モジュール1201を備える。制御モジュール1201は、IC(Integrated Circuit)チップ1202を備える。ICチップ1202は、鍵を記憶する鍵記憶部1203を備える。ICチップ1202は耐タンパー性を有する。ICチップ1202はセキュアエレメントの例である。ICチップ1202は、コンピュータの一種であり、コンピュータプログラムによって所望の機能を実現する。ICチップ1202は、鍵生成装置の例である。
次に、図23から図27を参照して第4実施形態に係る管理方法を説明する。
[管理方法の例G1]
図23を参照して、第4実施形態に係る管理方法の例G1を説明する。図23は、第4実施形態に係る管理方法の例G1を示すシーケンスチャートである。図23に示す第4実施形態に係る管理方法の例G1は、上述した第4実施形態に係る図21(実施例1)及び図22(実施例2)に示す自動車1001に適用される。
ここでは、図21(実施例1)に示す自動車1001を例に挙げて管理方法の例G1を説明する。以下の説明において、第1のECU1010と第2のECU1020とは、CAN1030を介してデータを送受する。
以下の管理方法の例G1の説明では、自動車1001に実装される一つの第2のECU1020について説明する。第2のECU1020のSHE1022は、自第2のECU1020の初期鍵Ki5を鍵記憶部1023に記憶している。第2のECU1020は、自己の識別子ECU_IDを有する。SIM1052は、マスタ(Master)鍵を鍵記憶部1053に記憶している。SIM1052の鍵記憶部1053に記憶されるマスタ鍵は、第2のECU1020の鍵記憶部1023に記憶される初期鍵Ki5の生成に該第2のECU1020の識別子ECU_IDと共に使用されたマスタ鍵と同じマスタ鍵である。したがって、SIM1052の鍵記憶部1053に記憶されているマスタ鍵と第2のECU1020の識別子ECU_IDとから、該第2のECU1020の鍵記憶部1023に記憶されている初期鍵Ki5と同じ鍵を生成することができる。
第1のECU1010のHSM1012は、自第1のECU1010の初期鍵Ki0を鍵記憶部1013に記憶している。第1のECU1010は、自己の識別子ECU_IDを有する。SIM1052の鍵記憶部1053は、第1のECU1010の鍵記憶部1013に記憶される初期鍵Ki0の生成に該第1のECU1010の識別子ECU_IDと共に使用されたマスタ鍵と同じマスタ鍵を記憶している。したがって、SIM1052の鍵記憶部1053に記憶されているマスタ鍵と第1のECU1010の識別子ECU_IDとから、該第1のECU1010の鍵記憶部1023に記憶されている初期鍵Ki0と同じ鍵を生成することができる。
第1のECU1010は、所定のタイミングで自己の識別子ECU_IDをSIM1052へ供給する。該所定のタイミングは、例えば、第1のECU1010が自動車1001に搭載されてから初めて電源投入された時などである。第1のECU1010の識別子ECU_IDは、第1のECU1010から通信モジュール1051へ送信される。通信モジュール1051は、該受信した第1のECU1010の識別子ECU_IDをSIM1052へ供給する。SIM1052は、鍵記憶部1053からマスタ鍵を取得し、取得したマスタ鍵と第1のECU1010の識別子ECU_IDを使用して該第1のECU1010の初期鍵Ki0を生成する。SIM1052は、該生成した第1のECU1010の初期鍵Ki0を鍵記憶部1053に格納する。
なお、第1のECU1010の初期鍵の生成に使用されるマスタ鍵と、第2のECU1020の初期鍵の生成に使用されるマスタ鍵とは、同じであってもよく、又は、異なってもよい。
(ステップS1010)第2のECU1020は、所定のタイミングで自己の識別子ECU_IDをSIM1052へ供給する。該所定のタイミングは、例えば、第2のECU1020が自動車1001に搭載されてから初めて電源投入された時などである。第2のECU1020の識別子ECU_IDは、第2のECU1020から第1のECU1010を介して通信モジュール1051へ送信される。通信モジュール1051は、該受信した第2のECU1020の識別子ECU_IDをSIM1052へ供給する。
(ステップS1011)SIM1052は、鍵記憶部1053からマスタ鍵を取得し、取得したマスタ鍵と第2のECU1020の識別子ECU_IDを使用して該第2のECU1020の初期鍵Ki5を生成する。SIM1052は、該生成した初期鍵Ki5を鍵記憶部1053に記憶されている第1のECU1010の初期鍵Ki0で暗号化し、暗号化された初期鍵Ki5のデータである暗号化初期鍵Ki0(Ki5)を生成する。通信モジュール1051は、SIM1052が生成した暗号化初期鍵Ki0(Ki5)と当該第2のECU1020の識別子ECU_IDの組を第1のECU1010へ送信する。
第1のECU1010は、該受信した暗号化初期鍵Ki0(Ki5)と当該第2のECU1020の識別子ECU_IDの組をHSM1012へ供給する。HSM1012は、該暗号化初期鍵Ki0(Ki5)を鍵記憶部1013に記憶されている自第1のECU1010の初期鍵Ki0で復号する。この復号により第2のECU1020の初期鍵Ki5が得られる。HSM1012は、該第2のECU1020の初期鍵Ki5を、当該第2のECU1020の識別子ECU_IDに関連付けて鍵記憶部1013に格納する。これにより、第1のECU1010は、第2のECU1020と、該第2のECU1020の初期鍵Ki5を共有する。
ここで、初期鍵の生成方法について例を挙げて説明する。第1のECU1010及び第2のECU1020の初期鍵の生成方法は予め定められている。初期鍵は、マスタ鍵と、第1のECU1010又は第2のECU1020の識別子ECU_IDとから生成される。
(初期鍵の生成方法の例G1−a1)
初期鍵の生成方法の例G1−a1では、ハッシュ(hash)関数を利用する。例えば、マスタ鍵と識別子ECU_IDとをハッシュ関数の入力値に使用してハッシュ値を算出し、算出したハッシュ値を初期鍵に使用してもよい。
(初期鍵の生成方法の例G1−a2)
初期鍵の生成方法の例G1−a2では、排他的論理和演算を利用する。例えば、マスタ鍵と識別子ECU_IDの排他的論理和演算を実行し、演算結果の値「マスタ鍵 xor 識別子ECU_ID」を初期鍵に使用してもよい。但し、「A xor B」はAとBの排他的論理和である。
説明を図23に戻す。
(ステップS1012)第1のECU1010のHSM1012は、乱数Rnを生成し、生成した乱数Rnをチャレンジ値とする。第1のECU1010は、チャレンジ値Rnを第2のECU1020へ送信する。
(ステップS1013)第2のECU1020は、第1のECU1010から受信したチャレンジ値RnをSHE1022へ供給する。SHE1022は、該チャレンジ値Rnを鍵記憶部1023に記憶される自第2のECU1020の初期鍵Ki5で暗号化した暗号化データKi5(Rn)を生成する。第2のECU1020は、暗号化データKi5(Rn)をレスポンス値として、第1のECU1010へ送信する。第1のECU1010は、該受信したレスポンス値Ki5(Rn)をHSM1012へ供給する。
HSM1012は、該レスポンス値Ki5(Rn)に対して、レスポンスマッチング処理を実行する。レスポンスマッチング処理では、HSM1012は、鍵記憶部1013に記憶される第2のECU1020の初期鍵Ki5を使用して、レスポンス値Ki5(Rn)を検証する。レスポンス値Ki5(Rn)の検証方法について、以下に、レスポンス値の検証方法の例を挙げて説明する。
(レスポンス値の検証方法の例G1−b1)
HSM1012は、鍵記憶部1013に記憶される複数の初期鍵Ki1、・・・、Ki5、・・・の各々でチャレンジ値Rnを暗号化し、各暗号化結果がレスポンス値Ki5(Rn)に一致するかを判定する。判定の結果、レスポンス値Ki5(Rn)に一致する暗号化結果が一つだけある場合には、レスポンス値Ki5(Rn)の検証が成功である。一方、判定の結果、レスポンス値Ki5(Rn)に一致する暗号化結果がない場合、及び、レスポンス値Ki5(Rn)に一致する暗号化結果が複数ある場合には、レスポンス値Ki5(Rn)の検証が失敗である。
(レスポンス値の検証方法の例G1−b2)
HSM1012は、鍵記憶部1013に記憶される複数の初期鍵Ki1、・・・、Ki5、・・・の各々でレスポンス値Ki5(Rn)を復号し、各復号結果がチャレンジ値Rnに一致するかを判定する。判定の結果、チャレンジ値Rnに一致する復号結果が一つだけある場合には、レスポンス値Ki5(Rn)の検証が成功である。一方、判定の結果、チャレンジ値Rnに一致する復号結果がない場合、及び、チャレンジ値Rnに一致する復号結果が複数ある場合には、レスポンス値Ki5(Rn)の検証が失敗である。
説明を図23に戻す。
レスポンス値Ki5(Rn)の検証が成功である場合には以降のステップへ進む。一方、レスポンス値Ki5(Rn)の検証が失敗である場合には、図23の処理を終了する。なお、レスポンス値Ki5(Rn)の検証が失敗である場合には、所定のエラー処理を行ってもよい。
(ステップS1014)第2のECU1020のSHE1022は、乱数Rn’を生成し、生成した乱数Rn’をチャレンジ値とする。第2のECU1020は、チャレンジ値Rn’を第1のECU1010へ送信する。
(ステップS1015)第1のECU1010は、第2のECU1020から受信したチャレンジ値Rn’をHSM1012へ供給する。HSM1012は、該チャレンジ値Rn’を、第2のECU1020の初期鍵Ki5で暗号化した暗号化データKi5(Rn’)を生成する。第1のECU1010は、暗号化データKi5(Rn’)をレスポンス値として、第2のECU1020へ送信する。第2のECU1020は、該受信したレスポンス値Ki5(Rn’)をSHE1022へ供給する。
SHE1022は、該レスポンス値Ki5(Rn’)に対して、レスポンスマッチング処理を実行する。レスポンスマッチング処理では、SHE1022は、鍵記憶部1023に記憶される自第2のECU1020の初期鍵Ki5を使用して、レスポンス値Ki5(Rn’)を検証する。レスポンス値Ki5(Rn’)の検証方法としては、上述したレスポンス値の検証方法の例G1−b1、G1−b2と同様の方法が挙げられる。
レスポンス値Ki5(Rn’)の検証が成功である場合には以降のステップへ進む。一方、レスポンス値Ki5(Rn’)の検証が失敗である場合には、図23の処理を終了する。なお、レスポンス値Ki5(Rn’)の検証が失敗である場合には、所定のエラー処理を行ってもよい。
(ステップS1016)第1のECU1010のHSM1012は、第2のECU1020の初期鍵Ki5を使用して、鍵記憶部1013に記憶される鍵交換鍵Kx2を暗号化し、暗号化鍵交換鍵Ki5(Kx2)を生成する。第1のECU1010は、暗号化鍵交換鍵Ki5(Kx2)を第2のECU1020へ送信する。第2のECU1020は、該受信した暗号化鍵交換鍵Ki5(Kx2)をSHE1022へ供給する。
(ステップS1017)第2のECU1020のSHE1022は、暗号化鍵交換鍵Ki5(Kx2)を、鍵記憶部1023に記憶される自第2のECU1020の初期鍵Ki5で復号する。この復号結果として鍵交換鍵Kx2が得られる。
(ステップS1018)第2のECU1020のSHE1022は、該復号結果の鍵交換鍵Kx2を鍵記憶部1023に格納する。
上述の管理方法の例G1では、SIM1052は、鍵の安全性の要求のレベルが比較的高いマスタ鍵を有する。そして、SIM1052は、マスタ鍵と第1のECU1010の識別子ECU_IDとから第1のECU1010の初期鍵を生成する。これにより、SIM1052と第1のECU1010とは、同じ初期鍵を共有する。また、SIM1052は、マスタ鍵と第2のECU1020の識別子ECU_IDとから第2のECU1020の初期鍵を生成する。そして、SIM1052は、第1のECU1010の初期鍵で第2のECU1020の初期鍵を暗号化する。該暗号化された第2のECU1020の初期鍵は、通信モジュール1051から第1のECU1010へ送信される。そして、第1のECU1010は、該暗号化された第2のECU1020の初期鍵を自己の初期鍵で復号する。これにより、第1のECU1010と第2のECU1020とは、同じ初期鍵を共有する。第1のECU1010は、自動車1001に搭載された各第2のECU1020について、各第2のECU1020の初期鍵を鍵記憶部1013に格納する。第1のECU1010と第2のECU1020とが共有する初期鍵は、第1のECU1010と第2のECU1020との間で、例えば、相互認証や、鍵交換鍵等のデータの交換における暗号処理等に使用される。
なお、図22(実施例2)に示す自動車1001に対して上述した管理方法の例G1を適用する場合には、図21に示すTCU1050の代わりに、メンテナンスツール1200が使用される。具体的には、図21に示すTCU1050の通信モジュール1051の代わりに、メンテナンスツール1200の制御モジュール1201が、診断ポート1060を介して、第1のECU1010との間でデータを送受する。また、図21に示すTCU1050の通信モジュール1051のSIM1052及びSIM1052の鍵記憶部1053の代わりに、メンテナンスツール1200の制御モジュール1201のICチップ1202及びICチップ1202の鍵記憶部1203が使用される。
上述した図23に示す管理方法の例G1では、第1のECU1010と第2のECU1020とが相互に認証を行う。これにより、認証の精度が向上する。なお、上述の第1実施形態、第2実施形態、及び第3実施形態においても、図23に示す管理方法の例G1と同様に、認証する相手同士が相互に認証するようにしてもよい。
[管理方法の例G2]
図24から図27を参照して、第4実施形態に係る管理方法の例G2を説明する。管理方法の例G2では、多層共通鍵方式を使用する。図24から図27に示す第4実施形態に係る管理方法の例G2は、上述した第4実施形態に係る図21(実施例1)及び図22(実施例2)に示す自動車1001に適用される。
図24及び図25を参照して、多層共通鍵方式による鍵の管理方法について説明する。
まず図24を参照して多層共通鍵方式による鍵の管理方法の第1段階を説明する。図24は、多層共通鍵方式による鍵の管理方法の第1段階を示すシーケンスチャートである。図24において、第1のECU1010と第2のECU1020は、予め共有したN番目の共通鍵である現共通鍵(N)を有する。
また、第1のECU1010と第2のECU1020は、予め共有したα系統のN番目の共通鍵であるα現共通鍵(N)を有する。また、第1のECU1010と第2のECU1020は、予め共有したβ系統のN番目の共通鍵であるβ現共通鍵(N)を有する。
(ステップS1131)第1のECU1010は、新しい「N+1」番目の共通鍵である新共通鍵(N+1)を生成する。第1のECU1010は、現共通鍵(N)が保持されるレジスタに対して、現共通鍵(N)から新共通鍵(N+1)に値を書き換える。第1のECU1010は、例えば、現共通鍵(N)が使用された回数が規定回数に達した場合に、共通鍵を、現共通鍵(N)から新共通鍵(N+1)に変更してもよい。
(ステップS1132)第1のECU1010において、HSM1012は、新共通鍵(N+1)をα現共通鍵(N)で暗号化する。
(ステップS1133)第1のECU1010は、該新共通鍵(N+1)の暗号化の結果である第1暗号化データ(N+1)を第2のECU1020へ送信する。
(ステップS1134)第2のECU1020において、SHE1022は、第1のECU1010から受信した第1暗号化データ(N+1)をα現共通鍵(N)で復号する。第2のECU1020は、現共通鍵(N)が保持されるレジスタに対して、現共通鍵(N)から該第1暗号化データ(N+1)の復号結果に値を書き換える。これにより、第2のECU1020の該レジスタの値が、現共通鍵(N)から新共通鍵(N+1)に更新される。
これにより、第1のECU1010及び第2のECU1020において、共通鍵が、現共通鍵(N)から新共通鍵(N+1)に更新される。
次に図25を参照して多層共通鍵方式による鍵の管理方法の第2段階を説明する。図25は、多層共通鍵方式による鍵の管理方法の第2段階を示すシーケンスチャートである。図25において、第1のECU1010と第2のECU1020は、予め共有したα現共通鍵(N)及びβ現共通鍵(N)を有する。
(ステップS1141)第1のECU1010は、α系統の新しい「N+1」番目の共通鍵であるα新共通鍵(N+1)を生成する。第1のECU1010は、α現共通鍵(N)が保持されるレジスタに対して、α現共通鍵(N)からα新共通鍵(N+1)に値を書き換える。第1のECU1010は、例えば、α現共通鍵(N)が使用された回数が規定回数に達した場合に、α系統の共通鍵を、α現共通鍵(N)からα新共通鍵(N+1)に変更してもよい。
(ステップS1142)第1のECU1010において、HSM1012は、α新共通鍵(N+1)をβ現共通鍵(N)で暗号化する。
(ステップS1143)第1のECU1010は、該α新共通鍵(N+1)の暗号化の結果である第2暗号化データ(N+1)を第2のECU1020へ送信する。
(ステップS1144)第2のECU1020において、SHE1022は、第1のECU1010から受信した第2暗号化データ(N+1)をβ現共通鍵(N)で復号する。第2のECU1020は、α現共通鍵(N)が保持されるレジスタに対して、α現共通鍵(N)から該第2暗号化データ(N+1)の復号結果に値を書き換える。これにより、第2のECU1020の該レジスタの値が、α現共通鍵(N)からα新共通鍵(N+1)に更新される。
これにより、第1のECU1010及び第2のECU1020において、α系統の共通鍵が、α現共通鍵(N)からα新共通鍵(N+1)に更新される。
上述の図24及び図25に示される多層共通鍵方式による鍵の管理方法によれば、共通鍵方式の高速性を得ることができると共に、同じ処理ルーチンを繰り返し利用することができる。同じ処理ルーチンを繰り返し利用することにより、プログラムコードの単純化を図ることができるので、限られたコンピュータ資源である第1のECU1010及び第2のECU1020のCPU性能やメモリ量に好適である。
図26及び図27を参照して、多層共通鍵方式による鍵の管理方法の適用例を説明する。図26では鍵交換鍵に適用する。図27ではセッション鍵に適用する。鍵交換鍵は、例えばセッション鍵等の鍵の更新などに使用される鍵である。セッション鍵は、例えばメッセージ認証コード(Message Authentication Code:MAC)等によるメッセージの認証などの通信の安全性の確保に使用される鍵である。
(多層共通鍵方式による鍵の管理方法の適用例G2−1)
図26を参照して、多層共通鍵方式による鍵の管理方法の適用例G2−1を説明する。図26は、多層共通鍵方式による鍵の管理方法の適用例G2−1を示すシーケンスチャートである。ここでは、鍵交換鍵の更新の対象である一つの第2のECU1020について説明する。図26において、第1のECU1010と第2のECU1020は、予め共有したβ系統の鍵交換鍵であるβ鍵交換鍵Kx2を有する。
(ステップS1221)第1のECU1010のHSM1012は、α系統の新しい鍵交換鍵である新α鍵交換鍵Kx3を生成する。第1のECU1010のHSM1012は、新α鍵交換鍵Kx3をα系統の最新の鍵交換鍵として鍵記憶部1013に格納する。
(ステップS1222)第1のECU1010のHSM1012は、鍵記憶部1013に記憶されるβ鍵交換鍵Kx2を使用して新α鍵交換鍵Kx3を暗号化し、暗号化鍵交換鍵Kx2(Kx3)を生成する。第1のECU1010は、暗号化鍵交換鍵Kx2(Kx3)を第2のECU1020へ送信する。第2のECU1020は、該受信した暗号化鍵交換鍵Kx2(Kx3)をSHE1022へ供給する。
(ステップS1223)第2のECU1020のSHE1022は、暗号化鍵交換鍵Kx2(Kx3)を、鍵記憶部1023に記憶されるβ鍵交換鍵Kx2で復号する。この復号結果として新α鍵交換鍵Kx3が得られる。
(ステップS1224)第2のECU1020のSHE1022は、該復号結果の新α鍵交換鍵Kx3をα系統の最新の鍵交換鍵として鍵記憶部1023に格納する。これにより、第1のECU1010と第2のECU1020とにおいて、α系統の鍵交換鍵が新α鍵交換鍵Kx3に更新される。
(多層共通鍵方式による鍵の管理方法の適用例G2−2)
図27を参照して、多層共通鍵方式による鍵の管理方法の適用例G2−2を説明する。図27は、多層共通鍵方式による鍵の管理方法の適用例G2−2を示すシーケンスチャートである。ここでは、セッション鍵の更新の対象である一つの第2のECU1020について説明する。図27において、第1のECU1010と第2のECU1020は、予め共有したα系統の鍵交換鍵であるα鍵交換鍵Kx3を有する。
(ステップS1231)第1のECU1010のHSM1012は、新しいセッション鍵である新セッション鍵k8を生成する。
(ステップS1232)第1のECU1010のHSM1012は、鍵記憶部1013に記憶されるα鍵交換鍵Kx3を使用して新セッション鍵k8を暗号化し、暗号化セッション鍵Kx3(k8)を生成する。第1のECU1010は、暗号化セッション鍵Kx3(k8)を第2のECU1020へ送信する。第2のECU1020は、該受信した暗号化セッション鍵Kx3(k8)をSHE1022へ供給する。
(ステップS1233)第2のECU1020のSHE1022は、暗号化セッション鍵Kx3(k8)を、鍵記憶部1023に記憶されるα鍵交換鍵Kx3で復号する。この復号結果として新セッション鍵k8が得られる。
(ステップS1234)第2のECU1020のSHE1022は、該復号結果の新セッション鍵k8を最新のセッション鍵として鍵記憶部1023に格納する。これにより、第2のECU1020において、セッション鍵が新セッション鍵k8に更新される。
上述の管理方法の例G2によれば、共通鍵の安全性を向上させる効果が得られる。例えば鍵交換鍵等の共通鍵が繰り返し使用されると、漏洩電磁波解析などの解析が行われることによって該共通鍵が漏洩する可能性がある。この対策として、上述の管理方法の例G2では、図24及び図25に示される多層共通鍵方式による鍵の管理方法により共通鍵の更新を行う。
また、図24に示される多層共通鍵方式による鍵の管理方法の第1段階により、α現共通鍵(N)が繰り返し使用されると、漏洩電磁波解析などの解析が行われることによってα現共通鍵(N)が漏洩する可能性がある。この対策として、上述の管理方法の例G2では、図25に示される多層共通鍵方式による鍵の管理方法の第2段階により、α系統の共通鍵の更新を行う。
なお、第4実施形態に係る管理方法の例G2を、上述の第1実施形態、第2実施形態、及び第3実施形態に適用してもよい。つまり、上述の第1実施形態、第2実施形態、及び第3実施形態において、第4実施形態に係る多層共通鍵方式による鍵の管理方法を使用してもよい。
なお、上述した実施形態において、セキュアエレメントとして、例えば、SIM又はeSIMを使用してもよい。eSIMは、SIMの一種であり、耐タンパー性を有する。また、セキュアエレメントとして、耐タンパー性を有するICチップを使用してもよい。また、セキュアエレメントとして、耐タンパー性のある暗号処理チップを使用してもよい。耐タンパー性のある暗号処理チップとして、例えば、HSM、TPM(Trusted Platform Module)、又はSHEなどと呼ばれる暗号処理チップが知られている。
また、上述した管理装置10、通信モジュール1051、SIM1052、第1のECU1010、HSM1012、第2のECU1020、SHE1022、制御モジュール1201、又は、ICチップ1202が実行する管理方法等の各ステップを実現するためのコンピュータプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行するようにしてもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものであってもよい。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、フラッシュメモリ等の書き込み可能な不揮発性メモリ、DVD(Digital Versatile Disc)等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(例えばDRAM(Dynamic Random Access Memory))のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
1,1001…自動車、2…無線通信ネットワーク、3…無線通信回線、4…通信回線、10…管理装置、11…無線通信部、12…CANインタフェース、20…eSIM、21…鍵生成部、22,1013,1053,1203…鍵記憶部、23…検証部、24…暗号処理部、25…出荷初期鍵記憶部、26…通信事業者鍵記憶部、27…固定値暗号化リスト記憶部、31…ECU鍵管理鍵Kmn記憶部、32…ECU鍵管理鍵Km(n−1)記憶部、33…ECU鍵kn記憶部、40…制御用車載ネットワーク、50…ECU、51…制御部、52…CANインタフェース、53…暗号処理部、54…鍵記憶部、55…出荷初期鍵記憶部、56…固定値記憶部、57…検証部、60…管理サーバ装置、61…通信部、62…通信事業者鍵記憶部、63…管理部、64…管理データ記憶部、1010…第1のECU、1012…HSM、1020…第2のECU、1022…SHE、1030…CAN、1050…TCU、1051…通信モジュール、1052…SIM、1060…診断ポート、1200…メンテナンスツール、1201…制御モジュール、1202…ICチップ

Claims (13)

  1. 車両に備わる管理装置であり、
    前記車両に備わる車載コンピュータと通信する通信部と、
    鍵を暗号化して暗号化鍵を生成する暗号処理部と、
    鍵を生成する鍵生成部と、
    前記生成された鍵を記憶する鍵記憶部と、を備え、
    前記通信部は、前記暗号化鍵を前記車両に備わる車載コンピュータへ送信し、
    前記暗号処理部は、前記生成された鍵を暗号化する、管理装置であって、
    車載コンピュータに保持される出荷初期鍵の候補である複数の出荷初期鍵を記憶する出荷初期鍵記憶部と、
    前記車両に備わる車載コンピュータから前記通信部により受信した暗号化データを、前記出荷初期鍵記憶部に記憶される出荷初期鍵を使用して検証する検証部と、を備え、
    前記暗号処理部は、前記検証に成功した出荷初期鍵を、前記鍵の暗号化に使用する、
    管理装置。
  2. 固定値が前記出荷初期鍵記憶部に記憶される出荷初期鍵の各々で暗号化された固定値暗号化値と固定値暗号化値の暗号化に使用された出荷初期鍵との組合せのリストを記憶する固定値暗号化リスト記憶部を備え、
    前記検証部は、前記車両に備わる車載コンピュータから前記通信部により受信した固定値暗号化値を前記リスト中の固定値暗号化値と比較し、前記リスト中の組合せのうち前記比較で一致した固定値暗号化値の組合せの出荷初期鍵を、前記暗号化データの検証に使用する、
    請求項に記載の管理装置。
  3. 前記検証部は、前記車両に備わる車載コンピュータへチャレンジ値を送信し、
    前記暗号化データは、前記車両に備わる車載コンピュータに保持される出荷初期鍵を使用して前記チャレンジ値が暗号化されたデータである、
    請求項1又は2のいずれか1項に記載の管理装置。
  4. 前記鍵生成部は、第1の鍵と、第2の鍵である鍵管理鍵とを生成し、
    前記暗号処理部は、前記出荷初期鍵記憶部に記憶される出荷初期鍵のうち前記車両に備わる車載コンピュータに保持される出荷初期鍵と同じ出荷初期鍵を使用して前記鍵管理鍵を暗号化し、前記鍵管理鍵を使用して前記第1の鍵を暗号化する、
    請求項1から3のいずれか1項に記載の管理装置。
  5. 前記鍵生成部は、前記鍵管理鍵の生成を繰り返し、
    前記鍵記憶部は、前記鍵管理鍵のうち最新の鍵管理鍵と最新の鍵管理鍵の1つ前の鍵管理鍵とを記憶し、
    前記暗号処理部は、前記1つ前の鍵管理鍵を使用して前記最新の鍵管理鍵を暗号化する、
    請求項に記載の管理装置。
  6. 前記暗号処理部は、前記車両に備わる車載コンピュータから前記通信部により受信したチャレンジ値を、前記検証に成功した出荷初期鍵を使用して暗号化し、
    前記通信部は、前記受信したチャレンジ値が暗号化された暗号化チャレンジ値をレスポンス値として、前記車両に備わる車載コンピュータへ送信する、
    請求項1から5のいずれか1項に記載の管理装置。
  7. 管理サーバ装置と通信する無線通信部を備え、
    前記暗号処理部は、前記管理サーバ装置と共有される鍵を使用して、前記鍵記憶部に記憶される鍵を暗号化し、
    前記無線通信部は、前記鍵記憶部に記憶される鍵が前記管理サーバ装置と共有される鍵を使用して暗号化された暗号化鍵を、前記管理サーバ装置へ送信する、
    請求項1からのいずれか1項に記載の管理装置。
  8. 前記暗号処理部、前記鍵生成部、及び前記鍵記憶部はセキュアエレメントに備わる、請求項1からのいずれか1項に記載の管理装置。
  9. 前記セキュアエレメントは、無線通信に使用されるeSIM(Embedded Subscriber Identity Module)又はSIM(Subscriber Identity Module)である、請求項に記載の管理装置。
  10. 請求項1からのいずれか1項に記載の管理装置を備える車両。
  11. 請求項に記載の管理装置と、
    無線通信ネットワークを介して前記管理装置と通信する管理サーバ装置と、を備え、
    前記管理サーバ装置は、前記管理装置から暗号化鍵を受信し、鍵を保持する、
    管理システム。
  12. 車両に備わる管理装置が、前記車両に備わる車載コンピュータと通信する通信ステップと、
    前記管理装置が、鍵を暗号化して暗号化鍵を生成する暗号処理ステップと、
    前記管理装置が、鍵を生成する鍵生成ステップと、
    前記管理装置が、前記生成された鍵を記憶する鍵記憶ステップと、を含み、
    前記管理装置は、前記暗号化鍵を前記車両に備わる車載コンピュータへ送信し、
    前記管理装置は、前記生成された鍵を暗号化する、管理方法であって、
    前記管理装置が、車載コンピュータに保持される出荷初期鍵の候補である複数の出荷初期鍵を出荷初期鍵記憶部に記憶する出荷初期鍵記憶ステップと、
    前記管理装置が、前記車両に備わる車載コンピュータから前記通信ステップにより受信した暗号化データを、前記出荷初期鍵記憶部に記憶される出荷初期鍵を使用して検証する検証ステップと、をさらに含み、
    前記暗号処理ステップは、前記検証に成功した出荷初期鍵を、前記鍵の暗号化に使用する、
    管理方法。
  13. 車両に備わるコンピュータに、
    前記車両に備わる他の車載コンピュータと通信する通信ステップと、
    鍵を暗号化して暗号化鍵を生成する暗号処理ステップと、
    鍵を生成する鍵生成ステップと、
    前記生成された鍵を記憶する鍵記憶ステップと、
    を実行させるためのコンピュータプログラムであり、
    前記通信ステップにおいて、前記暗号化鍵を前記車両に備わる車載コンピュータへ送信し、
    前記暗号処理ステップにおいて、前記生成された鍵を暗号化する、コンピュータプログラムであって、
    車載コンピュータに保持される出荷初期鍵の候補である複数の出荷初期鍵を出荷初期鍵記憶部に記憶する出荷初期鍵記憶ステップと、
    前記車両に備わる車載コンピュータから前記通信ステップにより受信した暗号化データを、前記出荷初期鍵記憶部に記憶される出荷初期鍵を使用して検証する検証ステップと、をさらに前記コンピュータに実行させ、
    前記暗号処理ステップにおいて、前記検証に成功した出荷初期鍵を、前記鍵の暗号化に使用する、
    コンピュータプログラム。
JP2015232348A 2014-12-12 2015-11-27 管理装置、車両、管理システム、管理方法、及びコンピュータプログラム Active JP6173411B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
PCT/JP2015/084909 WO2016093368A1 (ja) 2014-12-12 2015-12-14 管理装置、鍵生成装置、車両、メンテナンスツール、管理システム、管理方法、及びコンピュータプログラム
EP15867958.9A EP3232602B1 (en) 2014-12-12 2015-12-14 Management device, key generating device, vehicle, maintenance tool, management system, management method, and computer program
US15/533,751 US10419220B2 (en) 2014-12-12 2015-12-14 Management device, key generating device, vehicle, maintenance tool, management system, management method, and computer program
CN201580066477.2A CN107113167B (zh) 2014-12-12 2015-12-14 管理装置、密钥生成装置、车辆、维护工具、管理系统、管理方法以及计算机程序

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2014252477 2014-12-12
JP2014252477 2014-12-12

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2017130661A Division JP2017195631A (ja) 2014-12-12 2017-07-03 管理装置、管理システム、管理方法、及びコンピュータプログラム

Publications (2)

Publication Number Publication Date
JP2016116216A JP2016116216A (ja) 2016-06-23
JP6173411B2 true JP6173411B2 (ja) 2017-08-02

Family

ID=56142538

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2015232348A Active JP6173411B2 (ja) 2014-12-12 2015-11-27 管理装置、車両、管理システム、管理方法、及びコンピュータプログラム
JP2017130661A Pending JP2017195631A (ja) 2014-12-12 2017-07-03 管理装置、管理システム、管理方法、及びコンピュータプログラム

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2017130661A Pending JP2017195631A (ja) 2014-12-12 2017-07-03 管理装置、管理システム、管理方法、及びコンピュータプログラム

Country Status (4)

Country Link
US (1) US10419220B2 (ja)
EP (1) EP3232602B1 (ja)
JP (2) JP6173411B2 (ja)
CN (1) CN107113167B (ja)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6173411B2 (ja) 2014-12-12 2017-08-02 Kddi株式会社 管理装置、車両、管理システム、管理方法、及びコンピュータプログラム
JP6079768B2 (ja) * 2014-12-15 2017-02-15 トヨタ自動車株式会社 車載通信システム
JP6190443B2 (ja) 2015-12-28 2017-08-30 Kddi株式会社 車載コンピュータシステム、車両、管理方法、及びコンピュータプログラム
US9946744B2 (en) * 2016-01-06 2018-04-17 General Motors Llc Customer vehicle data security method
JP6260066B2 (ja) * 2016-01-18 2018-01-17 Kddi株式会社 車載コンピュータシステム及び車両
KR101831134B1 (ko) * 2016-05-17 2018-02-26 현대자동차주식회사 암호화를 적용한 제어기 보안 방법 및 그 장치
CN106161441B (zh) * 2016-07-05 2019-05-03 上汽通用汽车有限公司 一种用于车内局域网的安全诊断通信方法及系统
JP6408522B2 (ja) * 2016-07-21 2018-10-17 Kddi株式会社 通信システム、端末装置、通信方法、及びプログラム
JP6408523B2 (ja) * 2016-07-21 2018-10-17 Kddi株式会社 遠隔制御システム、遠隔制御装置、家電機器、遠隔制御方法、及びプログラム
JP6260067B1 (ja) * 2016-08-09 2018-01-17 Kddi株式会社 管理システム、鍵生成装置、車載コンピュータ、管理方法、及びコンピュータプログラム
US11146401B2 (en) * 2016-08-10 2021-10-12 Ford Global Technologies, Llc Software authentication before software update
WO2018078406A1 (en) * 2016-10-31 2018-05-03 Harman Becker Automotive Systems Gmbh Software update mechanism for safety critical systems
JP6683588B2 (ja) * 2016-11-10 2020-04-22 Kddi株式会社 再利用システム、サーバ装置、再利用方法、及びコンピュータプログラム
JP6787848B2 (ja) * 2017-07-31 2020-11-18 Kddi株式会社 通信システム及び通信方法
US20190278903A1 (en) * 2018-03-06 2019-09-12 GM Global Technology Operations LLC Vehicle control module security credential replacement
JP6852009B2 (ja) * 2018-03-20 2021-03-31 株式会社東芝 情報処理装置及び情報処理方法
JP6950605B2 (ja) * 2018-03-27 2021-10-13 トヨタ自動車株式会社 車両用通信システム
CN108600224B (zh) * 2018-04-25 2022-02-22 深圳市道通科技股份有限公司 诊断设备及诊断设备的安全访问方法
JP7267535B2 (ja) * 2018-06-29 2023-05-02 ニデックインスツルメンツ株式会社 相互認証システム及び相互認証方法
CN109150514B (zh) * 2018-08-30 2021-05-28 北京新能源汽车股份有限公司 一种密钥的写入方法及设备
KR20200119601A (ko) * 2019-04-10 2020-10-20 현대모비스 주식회사 차량의 바이너리 데이터 처리 장치 및 방법
FR3096853A1 (fr) * 2019-05-29 2020-12-04 Psa Automobiles Sa Boîtier télématique à module électronique de stockage de clés de sécurité internes et externes, pour un système
US11366879B2 (en) * 2019-07-08 2022-06-21 Microsoft Technology Licensing, Llc Server-side audio rendering licensing
CN112994876B (zh) * 2019-12-16 2023-04-07 联合汽车电子有限公司 车载控制器密钥注入检测方法、注入方法及可读存储介质
CN111127709B (zh) * 2019-12-17 2022-03-29 重庆邮电大学 一种汽车门锁钥匙配制方法
JP2021153290A (ja) * 2020-03-23 2021-09-30 株式会社東海理化電機製作所 通信システム、機器、機器の制御方法、および携帯機の製造方法
DE102020207862A1 (de) 2020-06-25 2021-12-30 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zur sicheren Aktualisierung von Steuergeräten
US11812506B2 (en) * 2020-09-30 2023-11-07 Apple Inc. Enterprise remote management for cellular services
DE102020212772A1 (de) * 2020-10-09 2022-04-14 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren und Vorrichtung zum Verwalten von kryptografischen Schlüsseln
CN112187459B (zh) * 2020-10-09 2022-08-16 安徽大学 一种智能网联车中模块间的可信认证方法及系统
CN112733130B (zh) * 2021-01-18 2022-11-29 成都质数斯达克科技有限公司 账户注册方法、装置、电子设备及可读存储介质
CN112769846B (zh) * 2021-01-18 2022-11-11 成都质数斯达克科技有限公司 密钥管理方法、装置、电子设备及可读存储介质
US11743033B2 (en) 2021-02-09 2023-08-29 Ford Global Technologies, Llc Transmission of authentication keys
WO2022241799A1 (zh) * 2021-05-21 2022-11-24 华为技术有限公司 一种密钥生成方法及装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI20020733A0 (fi) * 2002-04-16 2002-04-16 Nokia Corp Menetelmä ja järjestelmä tiedonsiirtolaitteen käyttäjän autentikointiin
JP2005203882A (ja) * 2004-01-13 2005-07-28 Denso Corp 通信システム及び鍵送信方法
JP4489024B2 (ja) * 2004-01-26 2010-06-23 東芝ソリューション株式会社 セキュリティ装置、車両用認証装置、方法及びプログラム
JP4576997B2 (ja) 2004-04-28 2010-11-10 株式会社デンソー 通信システム、鍵配信装置、暗号処理装置
EP2579498A4 (en) * 2010-05-24 2017-05-03 Renesas Electronics Corporation Communication system, vehicle-mounted terminal, roadside device
US9464905B2 (en) * 2010-06-25 2016-10-11 Toyota Motor Engineering & Manufacturing North America, Inc. Over-the-air vehicle systems updating and associate security protocols
CN103141055A (zh) * 2011-01-25 2013-06-05 三洋电机株式会社 通信装置
JP5770602B2 (ja) * 2011-10-31 2015-08-26 トヨタ自動車株式会社 通信システムにおけるメッセージ認証方法および通信システム
JP2013138304A (ja) * 2011-12-28 2013-07-11 Toyota Motor Corp セキュリティシステム及び鍵データの運用方法
JP5435022B2 (ja) 2011-12-28 2014-03-05 株式会社デンソー 車載システム及び通信方法
JP5651615B2 (ja) * 2012-02-16 2015-01-14 日立オートモティブシステムズ株式会社 車載ネットワークシステム
JP6093514B2 (ja) * 2012-05-10 2017-03-08 株式会社東海理化電機製作所 電子キー登録方法
JP2014053675A (ja) * 2012-09-05 2014-03-20 Sony Corp セキュリティチップ、プログラム、情報処理装置及び情報処理システム
JP2015065495A (ja) * 2013-09-24 2015-04-09 ルネサスエレクトロニクス株式会社 暗号鍵供給方法、半導体集積回路および暗号鍵管理装置
JP6230866B2 (ja) * 2013-10-10 2017-11-15 株式会社オートネットワーク技術研究所 通信システム及び照合方法
JP6173411B2 (ja) 2014-12-12 2017-08-02 Kddi株式会社 管理装置、車両、管理システム、管理方法、及びコンピュータプログラム

Also Published As

Publication number Publication date
EP3232602B1 (en) 2020-08-26
EP3232602A4 (en) 2018-07-11
US20170324558A1 (en) 2017-11-09
JP2016116216A (ja) 2016-06-23
CN107113167A (zh) 2017-08-29
US10419220B2 (en) 2019-09-17
JP2017195631A (ja) 2017-10-26
CN107113167B (zh) 2020-08-14
EP3232602A1 (en) 2017-10-18

Similar Documents

Publication Publication Date Title
JP6173411B2 (ja) 管理装置、車両、管理システム、管理方法、及びコンピュータプログラム
WO2016093368A1 (ja) 管理装置、鍵生成装置、車両、メンテナンスツール、管理システム、管理方法、及びコンピュータプログラム
JP6262681B2 (ja) 管理装置、車両、管理方法、及びコンピュータプログラム
WO2017022821A1 (ja) 管理装置、管理システム、鍵生成装置、鍵生成システム、鍵管理システム、車両、管理方法、鍵生成方法、及びコンピュータプログラム
JP6178390B2 (ja) 管理装置、管理システム、車両、管理方法、及びコンピュータプログラム
JP6188672B2 (ja) 鍵管理システム
JP6228093B2 (ja) システム
JP6238939B2 (ja) 車載コンピュータシステム、車両、管理方法、及びコンピュータプログラム
JP2018023162A (ja) 車載コンピュータシステム、車両、管理方法、及びコンピュータプログラム
JP6288219B1 (ja) 通信システム
US20130111212A1 (en) Methods to provide digital signature to secure flash programming function
CN103632072A (zh) 用于数字权限管理的多证书撤销列表支持方法和设备
JP6174229B1 (ja) 配信システム、データ保安装置、配信方法、及びコンピュータプログラム
JP2018082439A (ja) 通信システム、車両、サーバ装置、通信方法、及びコンピュータプログラム
JP6476462B2 (ja) 車載コンピュータシステム、車両、管理方法、及びコンピュータプログラム
JP6860464B2 (ja) システム及び管理方法
JP6519060B2 (ja) 管理装置、車両、管理方法、及びコンピュータプログラム
JP6132955B1 (ja) 検証システム、検証装置、検証方法、及びコンピュータプログラム
JP2018026866A (ja) 管理システム、データ提供装置、車載コンピュータ、管理方法、及びコンピュータプログラム
JP6560604B2 (ja) 管理装置、管理方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170217

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20170220

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170404

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170525

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20170526

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: 20170606

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170704

R150 Certificate of patent or registration of utility model

Ref document number: 6173411

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150