JP7008661B2 - 認証システム - Google Patents

認証システム Download PDF

Info

Publication number
JP7008661B2
JP7008661B2 JP2019102042A JP2019102042A JP7008661B2 JP 7008661 B2 JP7008661 B2 JP 7008661B2 JP 2019102042 A JP2019102042 A JP 2019102042A JP 2019102042 A JP2019102042 A JP 2019102042A JP 7008661 B2 JP7008661 B2 JP 7008661B2
Authority
JP
Japan
Prior art keywords
random number
unit
vehicle control
value
control device
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
JP2019102042A
Other languages
English (en)
Other versions
JP2020198483A (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.)
Honda Motor Co Ltd
Original Assignee
Honda Motor Co Ltd
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 Honda Motor Co Ltd filed Critical Honda Motor Co Ltd
Priority to JP2019102042A priority Critical patent/JP7008661B2/ja
Priority to US15/931,590 priority patent/US10931458B2/en
Priority to CN202010419729.8A priority patent/CN112019340B/zh
Publication of JP2020198483A publication Critical patent/JP2020198483A/ja
Application granted granted Critical
Publication of JP7008661B2 publication Critical patent/JP7008661B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/126Applying verification of the received information the source of the received data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0892Network architectures or network communication protocols for network security for authentication of entities by using authentication-authorization-accounting [AAA] servers or protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5682Policies or rules for updating, deleting or replacing the stored data
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • 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
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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/3236Cryptographic 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 cryptographic hash functions
    • H04L9/3242Cryptographic 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 cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • 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/3247Cryptographic 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 involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • H04W12/069Authentication using certificates or pre-shared keys
    • 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/26Testing cryptographic entity, e.g. testing integrity of encryption key or encryption algorithm
    • 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

Description

本発明は、車両の制御プログラムを更新する装置を認証する認証システムに関する。
従来、車両のソフトウェアを更新するための装置の正当性を、認証サーバが認証するようにしたシステムが知られている。例えば特許文献1記載のシステムでは、ソフトウェアの更新用のコンピュータが構成証明データを認証サーバに送信し、認証サーバが構成証明データに基づいてそのコンピュータの正当性を確認して認証情報を生成することで、車両に搭載された機器が認証情報を確認してコンピュータとの接続を許可する。
特許文献1:特開2014-48800号公報
しかしながら、上記特許文献1記載の装置では、ソフトウェアの更新時においてコンピュータ(ソフトウェアの更新用の装置)が認証サーバと接続される必要があるため、ネットワーク圏外で車両のソフトウェアを更新することは難しい。
本発明の一態様である認証システムは、車両に搭載される車両制御装置と、車両制御装置と通信可能に接続され、車両制御装置の制御プログラムを更新する更新装置と、更新装置と通信可能に接続され、更新装置の正当性を認証する認証サーバと、を備える。更新装置は、第1乱数を生成する第1乱数生成部と、所定の関数に、定数と、第1乱数生成部により生成された第1乱数と、を代入して第1値を生成し、認証サーバに送信する第1代入部と、を有する。認証サーバは、所定の秘密鍵により、更新装置から送信された第1値の署名を生成して更新装置に送信する署名生成部を有する。さらに更新装置は、第1代入部により生成された第1値と、認証サーバから送信された署名と、を記憶する記憶部と、車両制御装置に接続されると、記憶部に記憶された第1値と署名とを車両制御装置に転送する転送部と、を有する。車両制御装置は、秘密鍵に対応する所定の公開鍵により、更新装置から送信された署名が有効であるか否かを検証する署名検証部と、第2乱数を生成する第2乱数生成部と、関数に、定数と、第2乱数生成部により生成された第2乱数と、を代入して第2値を生成し、更新装置に送信する第2代入部と、を有する。第1代入部は、関数に、車両制御装置から送信された第2値と、第1乱数生成部により生成された第1乱数と、を代入して第3値を生成する。第2代入部は、署名検証部により署名が有効であると確認されると、関数に、更新装置から送信された第1値と、第2乱数生成部により生成された第2乱数と、を代入して第4値を生成する。さらに車両制御装置は、第1代入部により生成された第3値と、第2代入部により生成された第4値と、が一致するか否かを判定し、一致すると判定すると、更新装置が認証サーバにより正当性が認証された更新装置であると判定する認証判定部と、更新装置による制御プログラムの更新を許可する更新許可部と、を有する。
本発明によれば、認証された機器によりネットワーク圏外において車両の制御プログラムを更新することができる。
本発明の実施形態に係る認証システムを概略的に示す図。 本発明の実施形態に係る認証システムの構成の一例を示すブロック図。 図2の認証システムにより実行される処理の一例を示すフローチャート。 図2の認証システムによる処理を説明する図。 本発明の第1の変形例に係る認証システムの構成を示すブロック図。 図5の認証システムにより実行される処理の一例を示すフローチャート。 図5の認証システムによる処理を説明する図。 本発明の第2の変形例に係る認証システムの構成を示すブロック図。 図5の認証システムにより実行される処理の一例を示すフローチャート。 図5の認証システムによる処理を説明する図。 本発明の第3の変形例に係る認証システムの構成を示すブロック図。 図5の認証システムにより実行される処理の一例を示すフローチャート。 図5の認証システムによる処理を説明する図。
以下、図1~図13を参照して本発明の実施形態について説明する。図1は、本発明の実施形態に係る認証システム100の構成を概略的に示す図である。認証システム100は、車両に搭載されて車両の動作等を制御する車両制御装置10と、車両制御装置10に接続されて車両を制御するためのソフトウェアプログラム(車両制御プログラム)を更新する更新装置20と、更新装置20の正当性を認証する認証サーバ30とを備える。車両制御装置10と更新装置20とは、例えば、車両のDLC(Data Link Coupler)を介してCAN(Controller Area Network)通信等により有線接続される。更新装置20と認証サーバ30とは、インターネット網や携帯電話網などに代表される公衆無線通信網を含むネットワーク4を介して接続される。
車両メーカは、車両制御プログラムのアップデートや品質改善などの必要に応じ、販売店等を通じて更新用プログラムを配布する。販売店等では、来店した顧客の車両の車両制御装置10に、更新用プログラムをダウンロードした更新装置20を接続して、車両制御プログラムを更新する。車両制御装置10は、悪意のある第三者によって不正なハードウェアやソフトウェアにより車両制御プログラムが書き換えられることを防止するため、車両メーカの認証サーバ30により認証された更新装置20による更新のみを許可する。車両制御プログラムの更新は、止むを得ずネットワーク4の圏外で行う場合もあるが、このような場合は更新装置20が認証サーバ30による認証を受けることが難しい。そこで、本発明の実施形態に係る認証システム100は、ネットワーク圏外において不正アクセスを排除しつつ車両制御プログラムを更新するよう、以下のように構成する。
図2は、認証システム100の構成の一例を概略的に示すブロック図である。図2に示すように、認証システム100は、車両制御装置10と、CAN通信等により車両制御装置10と接続可能な更新装置20と、ネットワーク4を介して更新装置20と接続可能な認証サーバ30とを備える。
更新装置20は、車両に接続して運転履歴等の車両情報を取得する診断機などの専用機器であり、使用ユーザに対して予め車両のメーカによりIDおよびパスワード等の認証情報が割り当てられ、専用のソフトウェアがインストールされる。更新装置20は、CPU等の演算部21と、ROM,RAM,ハードディスク等の記憶部22と、その他の周辺回路とを有するコンピュータを含んで構成され、通信部23を介してネットワーク4に接続可能である。演算部21は、機能的構成として、認証情報生成部210と、第1乱数生成部211と、代入部212と、転送部213と、コード暗号化部214とを有する。
車両制御プログラムの更新を行う更新装置20と車両制御装置10との間のデータ通信では、安全で高速な送受信を実現するため、データの暗号化と復号に同一の共通鍵を用いる共通鍵暗号化方式が用いられる。この場合、例えば、更新装置20と車両制御装置10との間で、離散対数問題を使用するディフィ・ヘルマン鍵共有アルゴリズムを用いた鍵交換を行うことにより、共通鍵を事前に共有することなく、互いに同一の共通鍵を生成して共有することができる。楕円曲線上の離散対数問題を使用する楕円曲線ディフィ・ヘルマン鍵共有アルゴリズムを用いてもよい。以下では、ディフィ・ヘルマン鍵共有アルゴリズムを用いて鍵交換を行う例を説明する。
認証情報生成部210は、ユーザからの認証要求が入力されると、更新装置20の認証情報を生成し、ネットワーク4を介して認証サーバ30に送信する。ネットワーク4の圏外で更新装置20により車両制御プログラムの更新を行うユーザは、事前にネットワーク4の圏内で更新装置20に認証要求を入力し、認証サーバ30による認証を受ける。認証情報には、車両のメーカにより更新装置20の使用ユーザに割り当てられたIDおよびパスワード等の識別情報が含まれる。認証サーバ30は、更新装置20から送信された認証情報を検証することで、更新装置20のハードウェアの正当性を認証する。認証情報には、更新装置20のソフトウェア構成を証明する構成証明情報を含めてもよい。この場合、認証サーバ30は、更新装置20から送信された構成証明情報を検証することで、更新装置20のソフトウェアの正当性を認証する。
認証要求では有効期間を指定することができる。例えば、ネットワーク4の圏外で車両制御プログラムの更新を行う予定の期間を有効期間として指定することができる。認証情報生成部210は、認証要求において指定された有効期間を認証情報とともに認証サーバ30に送信する。
第1乱数生成部211は、ディフィ・ヘルマン鍵共有アルゴリズムにおける更新装置20側の秘密鍵である第1乱数aを生成する。第1乱数aは、2以上の整数であり、認証要求時にランダムに生成される。
代入部212は、所定の関数Fに、予め設定された定数G(整数)と、第1乱数生成部211により生成された第1乱数aとを代入して、鍵交換用の公開鍵である第1値Aを生成する(式(i),(ii))。式(i),(ii)中の値Nを巨大素数とすることで、鍵交換用の公開鍵(第1値A)から秘密鍵(第1乱数a)を求めることが極めて困難となる。
F(x,y)=x^y mod N ・・・(i)
A=F(G,a)=G^a mod N ・・・(ii)
代入部212により生成された第1値Aは、記憶部22に記憶されるとともに、ネットワーク4を介して認証サーバ30に送信される。このとき、認証要求において有効期間が指定されている場合は、その情報も認証サーバ30に送信される。認証サーバ30は、更新装置20の正当性を認証することができた場合には、更新装置20から送信された第1値Aの署名を生成し、ネットワーク4を介して更新装置20に送信する。認証サーバ30から送信された署名は、記憶部22に記憶される。
転送部213は、更新装置20がCAN通信等により車両制御装置10に有線接続されると、記憶部22に記憶された第1値Aと署名とを車両制御装置10に転送する。車両制御装置10は、更新装置20から第1値Aと署名とを受信すると、署名を検証し、署名の有効性が確認されると更新装置20との鍵交換を許可する。鍵交換が許可されると、車両制御装置1は、更新装置20側と同様に鍵交換用の公開鍵である第2値B(式(iii))を生成して更新装置20に送信するとともに、後述するチャレンジコードを生成して更新装置20に送信する。
B=F(G,b)=G^b mod N ・・・(iii)
代入部212は、車両制御装置10から公開鍵である第2値Bを受信すると、関数Fに、受信した第2値Bと、第1乱数生成部211により生成された第1乱数aとを代入して、車両制御装置10とのデータ通信で使用する共通鍵となる第3値Cを生成する(式(iv))。さらに第3値を加工してもよい。この場合は、後述する第4値に対しても同様の加工を行う。代入部212により生成された第3値Cは、記憶部22に記憶される。
C=F(B,a)=B^a mod N ・・・(iv)
コード暗号化部214は、代入部212により生成された共通鍵である第3値Cにより、車両制御装置10から送信されたチャレンジコード(後述)を暗号化する。例えば、車両制御装置10から送信されたチャレンジコードと代入部212により生成された第3値Cとを組み合わせ、周知のハッシュ関数を用いてハッシュ値に変換したレスポンスコードとして車両制御装置10に送信する。
認証サーバ30は、CPU等の演算部31と、ROM,RAM,ハードディスク等の記憶部32と、その他の周辺回路とを有するコンピュータを含んで構成され、通信部33を介してネットワーク4に接続可能である。演算部31は、機能的構成として、更新装置認証部310と、署名生成部311とを有する。
記憶部32には、公開鍵暗号化方式による秘密鍵が記憶される。秘密鍵に対応する公開鍵は、車両制御装置10の製造時に登録される。
更新装置認証部310は、更新装置20から送信された認証情報を検証し、更新装置20の正当性を認証する。例えば、更新装置20から送信されたIDおよびパスワードが車両のメーカにより割り当てられたものであると確認されると更新装置20のハードウェアの正当性を認証し、更新装置20のソフトウェア構成が車両のメーカにより定められた専用のソフトウェアと同一であることが確認されると更新装置20のソフトウェアの正当性を認証する。
署名生成部311は、更新装置認証部310により更新装置20の正当性が認証されると、記憶部32に記憶された秘密鍵により、更新装置20から送信された第1値Aの署名を生成する。すなわち、周知のハッシュ関数を用いて更新装置20から送信された第1値Aをハッシュ値に変換し、ハッシュ値を秘密鍵で暗号化して署名を生成し、ネットワーク4を介して更新装置20に送信する。この場合、署名には有効期間が設定される。署名の有効期間は、所定期間(例えば、認証時点から24時間)に設定されてもよく、更新装置20から送信された有効期間に応じて設定されてもよい。署名の有効期間は、更新装置20が認証サーバ30の認証を受けた後、所定時間(例えば、10分間)以上ネットワーク4の圏外に存在した後に、再度、更新装置20がネットワーク4の圏内に入ると強制的に終了するように設定することもできる。これは、更新装置20が認証サーバ30の認証を受けた後、ネットワーク4の圏外にて所定の作業を終え、ネットワーク4の圏内の所定の場所へ戻されたことにより、残存する有効期間は不要と判断できるためである。
車両制御装置10は、エンジン制御用ECU、変速機制御用ECU等、機能の異なる複数のECUからなる電子制御ユニットにより構成される。車両制御装置10は、CPU等の演算部11と、ROM,RAM,ハードディスク等の記憶部12と、その他の周辺回路とを有するコンピュータを含んで構成される。演算部11は、機能的構成として、署名検証部110と、第2乱数生成部111と、代入部112と、コード生成部113と、コード復号部114と、認証判定部115と、更新許可部116とを有する。
記憶部12には、認証サーバ30に登録された秘密鍵に対応する公開鍵が記憶される。公開鍵暗号化方式では、互いに異なる一対の公開鍵および秘密鍵が生成され、各種情報データの送信側および受信側により事前共有される。公開鍵および秘密鍵の一方で暗号化された各種情報データは、公開鍵および秘密鍵の他方で復号される。例えば、認証サーバ30の秘密鍵で暗号化された各種情報データは、車両制御装置10の公開鍵で復号される。これにより、ネットワーク4を介して安全に各種情報データを送受信することができる。
署名検証部110は、記憶部12に記憶された公開鍵により、更新装置20から送信された署名が有効であるか否かを検証する。例えば、更新装置20から送信された署名を公開鍵で復号してハッシュ値に戻すとともに、更新装置20から送信された第1値Aのハッシュ値を生成し、これらのハッシュ値が一致するか否かに基づいて署名の正当性を検証する。これにより、更新装置20から送信された第1値Aが認証サーバ30により署名されたこと、および認証後に改ざんされていないことを確認することできる。署名検証部110は、現在時刻が署名の有効期間内であるか否かも確認する。署名検証部110は、署名の有効性が確認されると、更新装置20との鍵交換を許可する。
第2乱数生成部111は、署名検証部110により鍵交換が許可されると、車両制御装置10側の秘密鍵である第2乱数b(2以上の整数)をランダムに生成する。
代入部112は、関数Fに、定数Gと、第2乱数生成部111により生成された第2乱数bとを代入して、車両制御装置10側の公開鍵である第2値B(式(iii))を生成し、CAN通信等を介して更新装置20に送信する。また、関数Fに、更新装置20から送信された公開鍵である第1値Aと、第2乱数生成部111により生成された第2乱数bとを代入して、更新装置20とのデータ通信で使用する共通鍵となる第4値Dを生成する(式(v))。さらに第4値を加工してもよい。この場合は、前述の第3値に対しても同様の加工を行う。代入部112により生成された第4値Dは、記憶部12に記憶される。
D=F(A,b)=A^b mod N ・・・(v)
ここで、式(ii)~(v)より、車両制御装置10側で生成された共通鍵である第4値Dは、更新装置20側の秘密鍵である第1乱数aが認証後に改ざんされていなければ、更新装置20側で生成された共通鍵である第3値Cと同一の値となる(式(vi))。
D=A^b mod N
=(G^a mod N)^b mod N
=G^ab mod N
=(G^b mod N)^a mod N
=B^a mod N=C ・・・(vi)
認証システム100では、車両制御装置10側の共通鍵である第4値Dと更新装置20側の共通鍵である第3値Cとが互いに同一の値であるか否かを判定することで、更新装置20が認証サーバ30により正当性を認証されたものであるか否かを判定する。これにより、ネットワーク4の圏外で車両制御装置10側から更新装置20が認証サーバ30により正当性を認証されたものであるか否かを確認することができる。
コード生成部113は、更新装置20が接続されると、乱数からなるコードを生成し、チャレンジコードとして更新装置20に送信する。チャレンジコードは、生成される度に不規則に変化する一種のワンタイムパスワードである。コード生成部113により生成されたコードは、記憶部12に記憶される。更新装置20は、車両制御装置10から送信されたチャレンジコードを共通鍵(第3値C)で暗号化し、レスポンスコードとして車両制御装置10に送信する。
コード復号部114は、記憶部12に記憶された共通鍵(第4値D)により、更新装置20から送信されたレスポンスコードを復号する。記憶部12に記憶された車両制御装置10側の共通鍵(第4値D)が更新装置20側の共通鍵(第3値C)と同一の値であれば、更新装置20側で暗号化されたコードは車両制御装置10側で元のコードと同一の値に復号される。
認証判定部115は、コード復号部114により復号されたコードとコード生成部113により生成されたコードとが一致するか否かを判定し、一致すると判定すると、共通鍵である第3値Cと第4値Dとが互いに同一の値であると判定する。車両制御装置10および更新装置20の両者の共通鍵が同一の値であると判定されると、更新装置20が認証サーバ30により正当性を認証されたものであると判定される。
更新許可部116は、認証判定部115により更新装置20が認証サーバ30により正当性を認証されたものであると判定されると、更新装置20による車両制御装置10のセキュア領域へのアクセスおよび車両制御プログラムの更新を許可する。
図3は、認証システム100により実行される処理の一例を示すフローチャートであり、予め記憶されたプログラムに従い、車両制御装置10の演算部11で実行される認証確認処理、更新装置20の演算部21で実行される認証要求処理、および認証サーバ30の演算部31で実行される認証処理の一例を示す。このフローチャートに示す処理は、例えば更新装置20にユーザからの認証要求が入力されると開始される。
更新装置20による認証要求処理では、まず、ステップS200で、認証情報生成部210での処理により、更新装置20の認証情報を生成して認証サーバ30に送信する。次いでステップS201で、第1乱数生成部211での処理により第1乱数a(秘密鍵)を生成し、代入部212での処理により関数Fに定数Gと第1乱数aとを代入して第1値A(鍵交換用の公開鍵)を生成する。また、生成された第1値Aを、認証要求において指定された有効期間とともに認証サーバ30に送信する。
認証サーバ30による認証処理では、ステップS300,S301で、通信部33を介して更新装置20から送信された認証情報および第1値Aをそれぞれ受信する。次いでステップS302で、更新装置認証部310での処理により、認証情報を検証して更新装置20の正当性を認証する。ステップS302で更新装置20の正当性が認証されると、ステップS303で、署名生成部311での処理により、事前共有された秘密鍵で第1値Aのハッシュ値を暗号化して有効期間付きの署名を生成し、更新装置20に送信する。ステップS302で更新装置20の正当性が認証されない場合は、認証サーバ30での認証処理を終了する。
更新装置20では、ステップS202で通信部23を介して認証サーバ30から送信された有効期間付きの署名を受信すると、ステップS203で更新装置20が車両制御装置10に接続されるまで待機する。ステップS203で更新装置20が車両制御装置10に接続されると、ステップS204で、転送部213での処理により、記憶部22に記憶された第1値A(公開鍵)および有効期間付きの署名を車両制御装置10に転送する。
車両制御装置10による認証確認処理では、ステップS100で、CAN通信等を介して更新装置20から送信された第1値A(公開鍵)および有効期間付きの署名を受信する。次いでステップS101で、署名検証部110での処理により、事前共有された公開鍵で署名を復号してハッシュ値に戻すとともに第1値Aのハッシュ値を生成し、これらが一致するか否かに基づいて署名の正当性を検証する。ステップS101で署名の正当性が確認されると、ステップS102で、現在時刻が署名の有効期間内であるか否かを判定する。ステップS101またはS102で否定されて署名の有効性が確認されない場合は、車両制御装置10での認証確認処理を終了する。
ステップS101およびS102で肯定されて署名の有効性が確認されると、ステップS103で、第2乱数生成部111での処理により、第2乱数b(秘密鍵)を生成する。また、代入部112での処理により、関数Fに定数Gと第2乱数bとを代入して第2値B(鍵交換用の公開鍵)を生成し、更新装置20に送信する。次いでステップS104で、関数Fに、ステップS100で受信された第1値A(公開鍵)と、ステップS103で生成された第2乱数b(秘密鍵)とを代入して第4値D(共通鍵)を生成する。次いでステップS105で、コード生成部113での処理により、乱数からなるコードを生成し、チャレンジコードとして更新装置20に送信する。
更新装置20では、ステップS205で、車両制御装置10から送信された第2値Bを受信すると、ステップS206で、代入部212での処理により、第3値C(共通鍵)を生成する。すなわち、関数Fに、ステップS205で受信された第2値B(公開鍵)と、ステップS201で生成された第1乱数a(秘密鍵)とを代入して第3値C(共通鍵)を生成する。次いでステップS207で、車両制御装置10から送信されたチャレンジコードを受信すると、ステップS208で、コード暗号化部214での処理により、第3値C(共通鍵)でチャレンジコードを暗号化し、レスポンスコードとして車両制御装置10に送信する。
車両制御装置10では、ステップS106で、更新装置20から送信されたレスポンスコードを受信すると、コード復号部114での処理により、ステップS104で生成された第4値D(共通鍵)でレスポンスコードを復号する。次いでステップS107で、認証判定部115での処理により、ステップS106で復号されたコードがステップS105で生成されたコードと一致するか否かを判定する。ステップS107で肯定されるとステップS108に進み、否定されると車両制御装置10での認証確認処理を終了する。ステップS108では、更新許可部116での処理により、更新装置20による車両制御プログラムの更新を許可する。
図4は、認証システム100による処理を説明する図である。図4を参照して本実施形態に係る認証システム100の主要な動作についてより具体的に説明する。更新装置20のユーザは、ネットワーク4(図1)の圏外において車両制御プログラムを更新する予定があるものとする。ユーザが事前にネットワーク4の圏内において更新装置20のキーボード等の入力部を介して認証要求を入力すると、更新装置20から認証サーバ30に認証情報、鍵交換用の公開鍵およびユーザにより指定された有効期間が送信される(ステップS200,S201)。認証サーバ30は、受信した認証情報に基づいて更新装置20の正当性を認証した場合、受信した公開鍵に有効期間付きで署名して更新装置20に送信する(ステップS300~S303)。ユーザは、更新装置20のディスプレイ等の表示部を介して認証が成功したことを確認した後(ステップS202)、更新装置20をネットワーク4の圏外へ持ち出すことができる。
ユーザがネットワーク4の圏外において更新装置20を対象車両の車両制御装置10に接続すると、更新装置20から車両制御装置10に更新装置20の鍵交換用の公開鍵と有効期間付きの署名が転送される(ステップS203,S204)。車両制御装置10は、受信した署名を検証し、署名が有効であれば、車両制御装置10の鍵交換用の公開鍵とチャレンジコードを更新装置20に送信する(ステップS100~S103,S105)。更新装置20は、車両制御装置10の公開鍵から共通鍵を生成し、生成した共通鍵でチャレンジコードを暗号化してレスポンスコードとして車両制御装置10に送信する(ステップS205~S208)。車両制御装置10は、更新装置20の公開鍵から共通鍵を生成し、生成した共通鍵でレスポンスコードを復号し、チャレンジコードと一致すれば更新装置20による車両制御プログラムの更新を許可する(ステップS104,S106~S108)。同一の車両メーカの複数の車両に搭載された車両制御装置10など、同一の秘密鍵に対応した公開鍵を保有する複数の車両制御装置10については、有効期間内に順次、車両制御プログラムの更新を行うことができる(ステップS203~S208,S100~S108)。
これにより、ネットワーク4の圏外で車両制御装置10側から更新装置20が認証サーバ30により正当性を認証されたものであるか否かを確認することができる。また、署名を検証した上で鍵交換を許可し、さらに鍵交換で生成された共通鍵の一致を検証することで、確実に不正アクセスを排除することができる。さらに、署名に有効期間を設定することで、更新装置20が事前認証後に悪意のある第三者の手に渡って不正な車両制御プログラムに更新される可能性を低減することができる。このような可能性は、更新装置20がネットワーク4の圏内に入ると有効期間が強制的に終了するように設定することで一層低減することができる。
本実施形態によれば以下のような作用効果を奏することができる。
(1)認証システム100は、車両に搭載される車両制御装置10と、車両制御装置10と通信可能に接続され、車両制御装置10の制御プログラムを更新する更新装置20と、更新装置20と通信可能に接続され、更新装置20の正当性を認証する認証サーバ30とを備える(図1、図2)。
更新装置20は、第1乱数a(秘密鍵)を生成する第1乱数生成部211と、所定の関数Fに、定数Gと、第1乱数生成部211により生成された第1乱数aとを代入して第1値A(鍵交換用の公開鍵)を生成し、認証サーバ30に送信する代入部212とを有する。認証サーバ30は、所定の秘密鍵により、更新装置20から送信された第1値Aの署名を生成して更新装置20に送信する署名生成部311を有する。さらに更新装置20は、代入部212により生成された第1値Aと、認証サーバ30から送信された署名とを記憶する記憶部22と、車両制御装置10に接続されると、記憶部22に記憶された第1値Aと署名とを車両制御装置10に転送する転送部213とを有する(図2)。
車両制御装置10は、秘密鍵に対応する所定の公開鍵により、更新装置20から送信された署名が有効であるか否かを検証する署名検証部110と、第2乱数b(秘密鍵)を生成する第2乱数生成部111と、関数Fに、定数Gと、第2乱数生成部111により生成された第2乱数bとを代入して第2値B(鍵交換用の公開鍵)を生成し、更新装置20に送信する代入部112とを有する(図2)。
代入部212は、関数Fに、車両制御装置10から送信された第2値B(公開鍵)と、第1乱数生成部211により生成された第1乱数a(秘密鍵)とを代入して第3値C(共通鍵)を生成する。代入部112は、署名検証部110により署名が有効であると確認されると、関数Fに、更新装置20から送信された第1値A(公開鍵)と、第2乱数生成部111により生成された第2乱数b(秘密鍵)とを代入して第4値D(共通鍵)を生成する。
さらに車両制御装置10は、代入部212により生成された第3値Cと、代入部112により生成された第4値Dとが一致するか否かを判定し、一致すると判定すると、更新装置20が認証サーバ30により正当性が認証された更新装置であると判定する認証判定部115と、更新装置20による制御プログラムの更新を許可する更新許可部116とを有する(図2)。
これにより、ネットワーク4の圏外で車両制御装置10側から更新装置20が認証サーバ30により正当性を認証されたものであるか否かを確認することができる。また、署名を検証した上で鍵交換を許可し、さらに鍵交換で生成された共通鍵の一致を検証することで、確実に不正アクセスを排除することができる。
(2)車両制御装置10は、更新装置20が接続されると、コードを生成して更新装置20に送信するコード生成部113をさらに有する。更新装置20は、代入部212により生成された第3値C(共通鍵)により、車両制御装置10から送信されたコードを暗号化し、暗号化されたコードを車両制御装置10に送信するコード暗号化部214をさらに有する。さらに車両制御装置10は、代入部112により生成された第4値D(共通鍵)により、更新装置20から送信された暗号化されたコードを復号するコード復号部114を有する(図2)。認証判定部115は、コード生成部113により生成されたコードと、コード復号部114により復号されたコードとが一致するか否かを判定し、一致すると判定すると、代入部212により生成された第3値Cと、代入部112により生成された第4値Dとが一致すると判定する。
このような構成により、鍵交換により生成された車両制御装置10側の共通鍵と更新装置20側の共通鍵とが一致するか否かを検証し、更新装置20が認証サーバ30により正当性を認証されたものであることを確認することができる。
(3)署名は所定期間有効である。署名に有効期間を設定することで、有効期間内に複数の車両制御装置10の車両制御プログラムを更新することができる。また、更新装置20が事前認証後に悪意のある第三者の手に渡って不正な車両制御プログラムに更新される可能性を低減することができる。
(4)署名生成部311は、所定期間を設定する。例えば、更新装置20を介して認証サーバ30に送信されたユーザによる指定に応じて認証サーバ30側で生成される署名に所定期間を設定する。この場合、例えば、更新装置20のユーザが車両制御プログラムを更新する予定の日時に合わせて必要に応じて有効期間を指定できるため、更新装置20が事前認証後に悪意のある第三者の手に渡って不正な車両制御プログラムに更新される可能性を一層低減することができる。
(5)署名は、所定期間内であっても、更新装置20と認証サーバ30とが非接続状態から接続状態になると無効になる。更新装置20がネットワーク4圏内に入ると有効期間が強制的に終了するように設定することで、更新装置20が事前認証後に悪意のある第三者の手に渡って不正な車両制御プログラムに更新される可能性をより一層低減することができる。
[第1の変形例]
上記の実施形態は、以下のように変形することができる。図5~図7は、それぞれ図2~図4に対応する第1の変形例である。なお、図5~図7において図2~図4と同一の箇所には同一の符号を付している。上記実施形態に係る認証システム100と第1の変形例に係る認証システム100Aとは、鍵交換により生成された車両制御装置10A側の共通鍵と更新装置20A側の共通鍵とが一致するか否かを検証するための構成が異なる。すなわち、図5に示すように、認証システム100Aを構成する車両制御装置10Aは、コード復号部114(図2)に代えて、コード暗号化部117を有する。
図6に示すように、車両制御装置10Aのコード暗号化部117は、ステップS109において、ステップS105で生成されたコードをステップS104で生成された第4値D(共通鍵)で暗号化する。また、認証判定部115は、ステップS107において、ステップS110で更新装置20Aから受信したレスポンスコードがステップS109で暗号化されたコードと一致するか否かを判定する。
すなわち、図7に示すように、車両制御装置10A側で暗号化されたコードは、鍵交換により生成された同一の共通鍵により暗号化されていれば、更新装置20A側で暗号化されたコードと一致する。この場合、車両制御装置10A側の共通鍵(第4値D)で暗号化されたコードは、更新装置20A側の共通鍵(第3値C)で暗号化されたコード、すなわちレスポンスコードと一致する。認証システム100Aでは、これらのコードが一致するか否かを判定することで、更新装置20Aが認証サーバ30により正当性を認証されたものであるか否かを判定する。これにより、第1の変形例に係る認証システム100Aにおいても、ネットワーク4の圏外で車両制御装置10A側から更新装置20Aが認証サーバ30により正当性を認証されたものであるか否かを確認することができる。また、署名を検証した上で鍵交換を許可し、さらに鍵交換で生成された共通鍵の一致を検証することで、確実に不正アクセスを排除することができる。
第1の変形例に係る認証システム100Aでは、更新装置20Aは、代入部212により生成された第3値Cにより、車両制御装置10Aから送信されたコードを暗号化し、暗号化されたコードを車両制御装置10Aに送信するコード暗号化部214を有する。車両制御装置10Aは、代入部112により生成された第4値Dにより、コード生成部113により生成されたコードを暗号化するコード暗号化部117を有する(図5)。認証判定部115は、更新装置20Aから送信された暗号化されたコードと、コード暗号化部117により暗号化されたコードとが一致するか否かを判定し、一致すると判定すると、代入部212により生成された第3値Cと、代入部112により生成された第4値Dとが一致すると判定する。
このような構成により、第1の変形例に係る認証システム100Aにおいても、鍵交換により生成された車両制御装置10A側の共通鍵と更新装置20A側の共通鍵とが一致するか否かを検証し、更新装置20Aが認証サーバ30により正当性を認証されたものであることを確認することができる。
[第2の変形例]
図8~図10は、それぞれ図2~図4に対応する第2の変形例である。なお、図8~図10において図2~図4と同一の箇所には同一の符号を付している。上記実施形態に係る認証システム100と第2の変形例に係る認証システム100Bとは、鍵交換により生成された車両制御装置10B側の共通鍵と更新装置20B側の共通鍵とが一致するか否かを検証するための構成が異なる。すなわち、図8に示すように、認証システム100Bを構成する更新装置20Bは、コード暗号化部214(図2)に代えて、MAC生成部215を有し、車両制御装置10Bは、コード復号部114(図2)に代えて、MAC生成部118を有する。
図9に示すように、更新装置20BのMAC生成部215は、ステップS209において、ステップS206で生成された第3値C(共通鍵)により、ステップS207で車両制御装置10Bから受信したチャレンジコードのメッセージ認証コードであるMAC値を生成し、レスポンスコードとして車両制御装置10Bに送信する。車両制御装置10BのMAC生成部118は、ステップS111において、ステップS104で生成された第4値D(共通鍵)により、ステップS105で生成されたコードのMAC値を生成する。認証判定部115は、ステップS113において、ステップS112で更新装置20Bから受信したレスポンスコードがステップS111で生成されたMAC値と一致するか否かを判定する。
すなわち、図10に示すように、車両制御装置10B側で生成されたMAC値は、鍵交換により生成された同一の共通鍵により生成されていれば、更新装置20B側で生成されたMAC値と一致する。この場合、車両制御装置10B側の共通鍵(第4値D)により生成されたMAC値は、更新装置20B側の共通鍵(第3値C)により生成されたMAC値、すなわちレスポンスコードと一致する。認証システム100Bでは、これらのMAC値が一致するか否かを判定することで、更新装置20Bが認証サーバ30により正当性を認証されたものであるか否かを判定する。これにより、第2の変形例に係る認証システム100Bにおいても、ネットワーク4の圏外で車両制御装置10B側から更新装置20Bが認証サーバ30により正当性を認証されたものであるか否かを確認することができる。また、署名を検証した上で鍵交換を許可し、さらに鍵交換で生成された共通鍵の一致を検証することで、確実に不正アクセスを排除することができる。
第2の変形例に係る認証システム100Bでは、更新装置20Bは、代入部212により生成された第3値Cにより、車両制御装置10Bから送信されたコードのMAC値を生成して車両制御装置10Bに送信するMAC生成部215を有する。車両制御装置10Bは、代入部112により生成された第4値Dにより、コード生成部113により生成されたコードのMAC値を生成するMAC生成部118を有する(図8)。認証判定部115は、更新装置20Bから送信されたMAC値と、MAC生成部118により生成されたMAC値とが一致するか否かを判定し、一致すると判定すると、代入部212により生成された第3値Cと、代入部112により生成された第4値Dとが一致すると判定する。
このような構成により、第2の変形例に係る認証システム100Bにおいても、鍵交換により生成された車両制御装置10B側の共通鍵と更新装置20B側の共通鍵とが一致するか否かを検証し、更新装置20Bが認証サーバ30により正当性を認証されたものであることを確認することができる。
[第3の変形例]
図11~図13は、それぞれ図2~図4に対応する第3の変形例である。なお、図11~図13において図2~図4と同一の箇所には同一の符号を付している。上記実施形態に係る認証システム100と第3の変形例に係る認証システム100Cとは、鍵交換により生成された車両制御装置10C側の共通鍵と更新装置20C側の共通鍵とが一致するか否かを検証するための構成が異なる。すなわち、図11に示すように、認証システム100Cを構成する更新装置20Cは、コード暗号化部214(図2)に代えて、コード復号部216を有し、車両制御装置10Cは、コード復号部114(図2)に代えて、コード暗号化部117を有する。
図12に示すように、車両制御装置10Cのコード生成部113およびコード暗号化部117は、ステップS114において、乱数からなるコードを生成してステップS104で生成された第4値D(共通鍵)で暗号化し、チャレンジコードとして更新装置20Cに送信する。更新装置20Cのコード復号部216は、ステップS211において、ステップS206で生成された第3値C(共通鍵)により、ステップS210で車両制御装置10Cから受信したチャレンジコードを復号し、レスポンスコードとして車両制御装置10Cに送信する。車両制御装置10Cの認証判定部115は、ステップS107において、ステップS115で更新装置20Cから受信したレスポンスコードがステップS114で生成されたコードと一致するか否かを判定する。
すなわち、図13に示すように、車両制御装置10C側で生成されたコードは、鍵交換により生成された同一の共通鍵により暗号化および復号されていれば、更新装置20C側で復号されたコードと一致する。この場合、車両制御装置10C側で生成されたコードは、車両制御装置10C側の共通鍵(第4値D)で暗号化され、更新装置20C側の共通鍵(第3値C)で復号されたコード、すなわちレスポンスコードと一致する。認証システム100Cでは、これらのコードが一致するか否かを判定することで、更新装置20Cが認証サーバ30により正当性を認証されたものであるか否かを判定する。これにより、第3の変形例に係る認証システム100Cにおいても、ネットワーク4の圏外で車両制御装置10C側から更新装置20Cが認証サーバ30により正当性を認証されたものであるか否かを確認することができる。また、署名を検証した上で鍵交換を許可し、さらに鍵交換で生成された共通鍵の一致を検証することで、確実に不正アクセスを排除することができる。
第3の変形例に係る認証システム100Cでは、車両制御装置10Cは、更新装置20Cが接続されると、コードを生成するコード生成部113と、代入部112により生成された第4値Dにより、コード生成部113により生成されたコードを暗号化し、暗号化されたコードを更新装置20Cに送信するコード暗号化部117とを有する。更新装置20Cは、代入部212により生成された第3値Cにより、車両制御装置10Cから送信された暗号化されたコードを復号し、復号されたコードを車両制御装置10Cに送信するコード復号部216を有する(図11)。認証判定部115は、コード生成部113により生成されたコードと、更新装置20Cから送信された復号されたコードとが一致するか否かを判定し、一致すると判定すると、代入部212により生成された第3値Cと、代入部112により生成された第4値Dとが一致すると判定する。
このような構成により、第3の変形例に係る認証システム100Cにおいても、鍵交換により生成された車両制御装置10C側の共通鍵と更新装置20C側の共通鍵とが一致するか否かを検証し、更新装置20Cが認証サーバ30により正当性を認証されたものであることを確認することができる。
[他の変形例]
上記実施形態では、車両制御装置10と更新装置20とが車両のDLCを介してCAN通信等により有線接続されるとしたが、車両制御装置と通信可能に接続され、車両制御装置の制御プログラムを更新する更新装置の構成はこのようなものに限らない。例えば、車両制御装置10とWi-Fi(Wireless Fidelity)(登録商標)、Bluetooth(登録商標)等の近接無線通信により通信可能に構成してもよい。
上記実施形態では、署名生成部311が有効期間を設定するようにしたが、署名を生成する署名生成部はこのようなものに限らない。署名の有効期間を設定しなくてもよい。また、署名の有効期間に加えてGPSセンサにより取得可能な位置による有効範囲を設定してもよい。この場合、例えば、更新装置20のユーザが車両制御プログラムを更新する予定のエリアに合わせて必要に応じて有効範囲を指定することができる。
以上の説明はあくまで一例であり、本発明の特徴を損なわない限り、上述した実施形態および変形例により本発明が限定されるものではない。上記実施形態と変形例の1つまたは複数を任意に組み合わせることも可能であり、変形例同士を組み合わせることも可能である。
4 ネットワーク、10 車両制御装置、20 更新装置、30 認証サーバ、11,21,31 演算部、12,22,32 記憶部、23,33 通信部、100 認証システム、110 署名検証部、111 第2乱数生成部、112,212 代入部、113 コード生成部、114,216 コード復号部、115 認証判定部、116 更新許可部、117,214 コード暗号化部、118,215 MAC生成部、210 認証情報生成部、211 第1乱数生成部、213 転送部、310 更新装置認証部、311 署名生成部

Claims (8)

  1. 車両に搭載される車両制御装置と、
    前記車両制御装置と通信可能に接続され、前記車両制御装置の制御プログラムを更新する更新装置と、
    前記更新装置と通信可能に接続され、前記更新装置の正当性を認証する認証サーバと、を備えた認証システムであって、
    前記更新装置は、
    第1乱数を生成する第1乱数生成部と、
    所定の関数に、定数と、前記第1乱数生成部により生成された前記第1乱数と、を代入して第1値を生成し、前記認証サーバに送信する第1代入部と、を有し、
    前記認証サーバは、所定の秘密鍵により、前記更新装置から送信された前記第1値の署名を生成して前記更新装置に送信する署名生成部を有し、
    さらに前記更新装置は、
    前記第1代入部により生成された前記第1値と、前記認証サーバから送信された前記署名と、を記憶する記憶部と、
    前記車両制御装置に接続されると、前記記憶部に記憶された前記第1値と前記署名とを前記車両制御装置に転送する転送部と、を有し、
    前記車両制御装置は、
    前記秘密鍵に対応する所定の公開鍵により、前記更新装置から送信された前記署名が有効であるか否かを検証する署名検証部と、
    第2乱数を生成する第2乱数生成部と、
    前記関数に、前記定数と、前記第2乱数生成部により生成された前記第2乱数と、を代入して第2値を生成し、前記更新装置に送信する第2代入部と、を有し、
    前記第1代入部は、前記関数に、前記車両制御装置から送信された前記第2値と、前記第1乱数生成部により生成された前記第1乱数と、を代入して第3値を生成し、
    前記第2代入部は、前記署名検証部により前記署名が有効であると確認されると、前記関数に、前記更新装置から送信された前記第1値と、前記第2乱数生成部により生成された前記第2乱数と、を代入して第4値を生成し、
    さらに前記車両制御装置は、
    前記第1代入部により生成された前記第3値と、前記第2代入部により生成された前記第4値と、が一致するか否かを判定し、一致すると判定すると、前記更新装置が前記認証サーバにより正当性が認証された更新装置であると判定する認証判定部と、
    前記更新装置による前記制御プログラムの更新を許可する更新許可部と、を有することを特徴とする認証システム。
  2. 請求項1に記載の認証システムにおいて、
    前記車両制御装置は、前記更新装置が接続されると、第3乱数を生成して前記更新装置に送信する第3乱数生成部をさらに有し、
    前記更新装置は、前記第1代入部により生成された前記第3値により、前記車両制御装置から送信された前記第3乱数を暗号化し、暗号化された第3乱数を前記車両制御装置に送信する暗号化部をさらに有し、
    さらに前記車両制御装置は、前記第2代入部により生成された前記第4値により、前記更新装置から送信された前記暗号化された第3乱数を復号する復号部を有し、
    前記認証判定部は、前記第3乱数生成部により生成された第3乱数と、前記復号部により復号された第3乱数と、が一致するか否かを判定し、一致すると判定すると、前記第1代入部により生成された前記第3値と、前記第2代入部により生成された前記第4値と、が一致すると判定することを特徴とする認証システム。
  3. 請求項1に記載の認証システムにおいて、
    前記車両制御装置は、前記更新装置が接続されると、第3乱数を生成して前記更新装置に送信する第3乱数生成部をさらに有し、
    前記更新装置は、前記第1代入部により生成された前記第3値により、前記車両制御装置から送信された前記第3乱数を暗号化し、暗号化された第3乱数を前記車両制御装置に送信する第1暗号化部をさらに有し、
    さらに前記車両制御装置は、前記第2代入部により生成された前記第4値により、前記第3乱数生成部により生成された前記第3乱数を暗号化する第2暗号化部を有し、
    前記認証判定部は、前記更新装置から送信された暗号化された第3乱数と、前記第2暗号化部により暗号化された第3乱数と、が一致するか否かを判定し、一致すると判定すると、前記第1代入部により生成された前記第3値と、前記第2代入部により生成された前記第4値と、が一致すると判定することを特徴とする認証システム。
  4. 請求項1に記載の認証システムにおいて、
    前記車両制御装置は、前記更新装置が接続されると、第3乱数を生成して前記更新装置に送信する第3乱数生成部をさらに有し、
    前記更新装置は、前記第1代入部により生成された前記第3値により、前記車両制御装置から送信された前記第3乱数のメッセージ認証コードを生成して前記車両制御装置に送信する第1メッセージ認証コード生成部をさらに有し、
    さらに前記車両制御装置は、前記第2代入部により生成された前記第4値により、前記第3乱数生成部により生成された前記第3乱数のメッセージ認証コードを生成する第2メッセージ認証コード生成部を有し、
    前記認証判定部は、前記更新装置から送信されたメッセージ認証コードと、前記第2メッセージ認証コード生成部により生成されたメッセージ認証コードと、が一致するか否かを判定し、一致すると判定すると、前記第1代入部により生成された前記第3値と、前記第2代入部により生成された前記第4値と、が一致すると判定することを特徴とする認証システム。
  5. 請求項1に記載の認証システムにおいて、
    前記車両制御装置は、前記更新装置が接続されると、第3乱数を生成する第3乱数生成部と、
    前記第2代入部により生成された前記第4値により、前記第3乱数生成部により生成された第3乱数を暗号化し、暗号化された第3乱数を前記更新装置に送信する暗号化部と、をさらに有し、
    前記更新装置は、前記第1代入部により生成された前記第3値により、前記車両制御装置から送信された前記暗号化された第3乱数を復号し、復号された第3乱数を前記車両制御装置に送信する復号部をさらに有し、
    前記認証判定部は、前記第3乱数生成部により生成された第3乱数と、前記更新装置から送信された復号された第3乱数と、が一致するか否かを判定し、一致すると判定すると、前記第1代入部により生成された前記第3値と、前記第2代入部により生成された前記第4値と、が一致すると判定することを特徴とする認証システム。
  6. 請求項1~5のいずれか1項に記載の認証システムにおいて、
    前記署名は所定期間有効であることを特徴とする認証システム。
  7. 請求項6に記載の認証システムにおいて、
    前記署名生成部は、前記所定期間を設定することを特徴とする認証システム。
  8. 請求項6または7に記載の認証システムにおいて、
    前記署名は、前記所定期間内であっても、前記更新装置と前記認証サーバとが非接続状態から接続状態になると無効になることを特徴とする認証システム。
JP2019102042A 2019-05-31 2019-05-31 認証システム Active JP7008661B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2019102042A JP7008661B2 (ja) 2019-05-31 2019-05-31 認証システム
US15/931,590 US10931458B2 (en) 2019-05-31 2020-05-14 Authentication system
CN202010419729.8A CN112019340B (zh) 2019-05-31 2020-05-18 认证系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019102042A JP7008661B2 (ja) 2019-05-31 2019-05-31 認証システム

Publications (2)

Publication Number Publication Date
JP2020198483A JP2020198483A (ja) 2020-12-10
JP7008661B2 true JP7008661B2 (ja) 2022-01-25

Family

ID=73506563

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019102042A Active JP7008661B2 (ja) 2019-05-31 2019-05-31 認証システム

Country Status (3)

Country Link
US (1) US10931458B2 (ja)
JP (1) JP7008661B2 (ja)
CN (1) CN112019340B (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11100229B2 (en) * 2019-07-18 2021-08-24 Infineon Technologies Ag Secure hybrid boot systems and secure boot procedures for hybrid systems
US11871228B2 (en) * 2020-06-15 2024-01-09 Toyota Motor Engineering & Manufacturing North America, Inc. System and method of manufacturer-approved access to vehicle sensor data by mobile application
US20230087521A1 (en) * 2021-09-20 2023-03-23 Ford Global Technologies, Llc Computing device verification
WO2023249120A1 (ja) * 2022-06-24 2023-12-28 本田技研工業株式会社 情報処理方法、情報処理システム、情報処理装置、蓄電装置、プログラム及びコンピュータ可読記憶媒体
CN116318727A (zh) * 2023-03-16 2023-06-23 北京百度网讯科技有限公司 一种ecu访问方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012104049A (ja) 2010-11-12 2012-05-31 Hitachi Automotive Systems Ltd 車載ネットワークシステム
WO2016151987A1 (ja) 2015-03-26 2016-09-29 パナソニックIpマネジメント株式会社 認証方法、認証システム及び通信機器
JP2018042256A (ja) 2017-10-12 2018-03-15 Kddi株式会社 システム及び管理方法

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100455566B1 (ko) * 2000-06-30 2004-11-09 인터내셔널 비지네스 머신즈 코포레이션 코드 갱신을 위한 장치 및 방법
EP2259204A1 (en) * 2008-03-28 2010-12-08 Panasonic Corporation Software updating apparatus, software updating system, invalidation method, and invalidation program
DE102008043830A1 (de) * 2008-11-18 2010-05-20 Bundesdruckerei Gmbh Kraftfahrzeug-Anzeigevorrichtung, Kraftfahrzeug-Elektroniksystem, Kraftfahrzeug, Verfahren zur Anzeige von Daten und Computerprogrammprodukt
JP5479408B2 (ja) * 2011-07-06 2014-04-23 日立オートモティブシステムズ株式会社 車載ネットワークシステム
CN102510333B (zh) * 2011-09-30 2014-07-30 飞天诚信科技股份有限公司 一种授权认证方法及系统
JP5861597B2 (ja) 2012-08-30 2016-02-16 トヨタ自動車株式会社 認証システムおよび認証方法
JP6152847B2 (ja) * 2012-09-28 2017-06-28 パナソニックIpマネジメント株式会社 情報管理方法および情報管理システム
JP6236816B2 (ja) * 2013-03-15 2017-11-29 株式会社リコー 画像処理システム、情報処理装置及びプログラム
CN104219663A (zh) * 2013-05-30 2014-12-17 江苏大学 一种对车辆身份进行认证的方法和系统
JP5864510B2 (ja) * 2013-10-18 2016-02-17 富士通株式会社 修正プログラム確認方法、修正プログラム確認プログラム、及び情報処理装置
KR20150074414A (ko) * 2013-12-24 2015-07-02 현대자동차주식회사 펌웨어 업그레이드 방법 및 그 시스템
DE102014200116A1 (de) * 2014-01-08 2015-07-09 Robert Bosch Gmbh Verfahren und Vorrichtung zur Freigabe von Funktionen eines Steuergerätes
JP2016025628A (ja) * 2014-07-24 2016-02-08 株式会社リコー 情報処理システム、および電子機器
US9619946B2 (en) * 2014-07-29 2017-04-11 GM Global Technology Operations LLC Securely providing diagnostic data from a vehicle to a remote server using a diagnostic tool
DE102015209116A1 (de) * 2015-05-19 2016-11-24 Robert Bosch Gmbh Verfahren und Aktualisierungsgateway zum Aktualisieren eines eingebetteten Steuergerätes
DE102015209108A1 (de) * 2015-05-19 2016-11-24 Robert Bosch Gmbh Verfahren und Entscheidungsgateway zum Autorisieren einer Funktion eines eingebetteten Steuergerätes
DE102015112040A1 (de) * 2015-07-23 2017-01-26 Phoenix Contact Gmbh & Co. Kg Verfahren und System zur Firmware-Aktualisierung einer Steuereinrichtung zur Prozesssteuerung
US9916151B2 (en) * 2015-08-25 2018-03-13 Ford Global Technologies, Llc Multiple-stage secure vehicle software updating
JP2017073611A (ja) * 2015-10-05 2017-04-13 任天堂株式会社 情報処理システム、無線通信チップ、周辺機器、サーバ、アプリケーションプログラム、および情報処理方法
JP6773401B2 (ja) * 2015-10-05 2020-10-21 任天堂株式会社 周辺機器、無線通信チップ、アプリケーションプログラム、情報処理システム、および情報処理方法
DE102015220489A1 (de) * 2015-10-21 2017-04-27 Ford Global Technologies, Llc Verfahren zur Autorisierung einer Softwareaktualisierung in einem Kraftfahrzeug
US10044696B2 (en) * 2015-12-22 2018-08-07 Mcafee, Llc Simplified sensor integrity
US10193858B2 (en) * 2015-12-22 2019-01-29 Mcafee, Llc Attestation device custody transfer protocol
US11146401B2 (en) * 2016-08-10 2021-10-12 Ford Global Technologies, Llc Software authentication before software update
CN106533655B (zh) * 2016-10-27 2020-07-31 江苏大学 一种车内网ecu安全通信的方法
US10782955B2 (en) * 2017-01-03 2020-09-22 Ford Global Technologies, Llc Pre-shutdown swap verification
US11295017B2 (en) * 2017-01-31 2022-04-05 Ford Global Technologies, Llc Over-the-air updates security
JP2018133744A (ja) * 2017-02-16 2018-08-23 パナソニックIpマネジメント株式会社 通信システム、車両、および監視方法
US11288403B2 (en) * 2017-05-08 2022-03-29 Bae Systems Information And Electronic Systems Integration Inc. System and method for cryptographic verification of vehicle authenticity
WO2018207243A1 (ja) * 2017-05-09 2018-11-15 三菱電機株式会社 車載認証システム、車載認証方法および車載認証プログラム
JP6754325B2 (ja) * 2017-06-20 2020-09-09 国立大学法人東海国立大学機構 車載認証システム、車載認証装置、コンピュータプログラム及び通信装置の認証方法
JP6773617B2 (ja) * 2017-08-21 2020-10-21 株式会社東芝 更新制御装置、ソフトウェア更新システムおよび更新制御方法
JP2019036238A (ja) * 2017-08-21 2019-03-07 株式会社東芝 更新制御装置、端末、更新制御方法およびプログラム
JP6940365B2 (ja) * 2017-10-12 2021-09-29 日立Astemo株式会社 情報更新装置
JP6861615B2 (ja) * 2017-11-30 2021-04-21 株式会社日立製作所 車載ソフトウェア配信システム、車載ソフトウェア配信サーバ、及び車載ソフトウェア配信方法
US10850684B2 (en) * 2017-12-19 2020-12-01 Micron Technology, Inc. Vehicle secure messages based on a vehicle private key
US10871952B2 (en) * 2017-12-20 2020-12-22 Nio Usa, Inc. Method and system for providing secure over-the-air vehicle updates
US11729612B2 (en) * 2018-03-08 2023-08-15 Cypress Semiconductor Corporation Secure BLE just works pairing method against man-in-the-middle attack
US11218324B2 (en) * 2018-04-05 2022-01-04 Ares Technologies, Inc. Systems and methods authenticating a digitally signed assertion using verified evaluators
US20190394046A1 (en) * 2018-06-22 2019-12-26 Sf Motors, Inc. Secure firmware updates for remote vehicles
EP3623939A1 (en) * 2018-08-14 2020-03-18 Hyundai Motor Company Method and apparatus for wirelessly updating software for vehicle
US11144296B2 (en) * 2018-09-05 2021-10-12 International Business Machines Corporation Multi-variable based secure download of vehicle updates
US11228448B2 (en) * 2018-11-20 2022-01-18 Iot And M2M Technologies, Llc Mutually authenticated ECDHE key exchange for a device and a network using multiple PKI key pairs
US11063753B2 (en) * 2019-03-20 2021-07-13 Arris Enterprises Llc Secure distribution of device key sets over a network

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012104049A (ja) 2010-11-12 2012-05-31 Hitachi Automotive Systems Ltd 車載ネットワークシステム
WO2016151987A1 (ja) 2015-03-26 2016-09-29 パナソニックIpマネジメント株式会社 認証方法、認証システム及び通信機器
JP2016184892A (ja) 2015-03-26 2016-10-20 パナソニックIpマネジメント株式会社 認証方法、認証システム及び通信機器
JP2018042256A (ja) 2017-10-12 2018-03-15 Kddi株式会社 システム及び管理方法

Also Published As

Publication number Publication date
US20200382313A1 (en) 2020-12-03
CN112019340A (zh) 2020-12-01
US10931458B2 (en) 2021-02-23
JP2020198483A (ja) 2020-12-10
CN112019340B (zh) 2023-08-11

Similar Documents

Publication Publication Date Title
JP7008661B2 (ja) 認証システム
CN109076078B (zh) 用以建立和更新用于安全的车载网络通信的密钥的方法
EP1395019B1 (en) Apparatus and method for providing authentication information for a secure group communication
EP2858003B1 (en) Authentication system and authentication method
CN110099037B (zh) 基于证书的控制单元遥控钥匙配对
CN111131313B (zh) 智能网联汽车更换ecu的安全保障方法及系统
JP5900007B2 (ja) 車両用データ通信認証システム及び車両用ゲートウェイ装置
JP6365410B2 (ja) 車両用通信システム
WO2017002405A1 (ja) 車載情報通信システム及び認証方法
JP2019009509A (ja) 車載認証システム、通信装置、車載認証装置、コンピュータプログラム、通信装置の認証方法及び通信装置の製造方法
CN103166759A (zh) 使用诊断链路连接器(dlc)和onstar系统的用于安全固件下载的方法和装置
US11405210B2 (en) Authentication system
JP2013138304A (ja) セキュリティシステム及び鍵データの運用方法
JP4570894B2 (ja) 電子署名を利用するモバイル機器の制御システム及び方法
KR102591826B1 (ko) Puf를 이용한 인증서 기반 디바이스 인증 장치 및 방법
CN108377184B (zh) 一种智能汽车内部网络分布式认证加密方法
WO2017126471A1 (ja) 認証システム、認証要求装置、車載電子機器、コンピュータプログラム及び認証処理方法
US9774630B1 (en) Administration of multiple network system with a single trust module
JP2020088836A (ja) 車両メンテナンスシステム、メンテナンスサーバ装置、管理サーバ装置、車載装置、メンテナンスツール、コンピュータプログラム及び車両メンテナンス方法
KR101256114B1 (ko) 다수의 mac검증서버에 의한 메시지인증코드 검증 방법 및 시스템
JP2020096321A (ja) 認証システム
KR100921153B1 (ko) 무선 통신 네트워크 상에서의 사용자 인증 방법
US10263976B2 (en) Method for excluding a participant from a group having authorized communication
KR102416562B1 (ko) 블록체인을 기반으로 한 IoT 디바이스의 인증 및 해지 방법
EP4089955A1 (en) Quantum safe method for authentication of a service provider device to a user device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210329

TRDD Decision of grant or rejection written
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211222

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20211228

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220111

R150 Certificate of patent or registration of utility model

Ref document number: 7008661

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150