JP7152579B2 - 検証方法、検証装置およびプログラム - Google Patents
検証方法、検証装置およびプログラム Download PDFInfo
- Publication number
- JP7152579B2 JP7152579B2 JP2021165456A JP2021165456A JP7152579B2 JP 7152579 B2 JP7152579 B2 JP 7152579B2 JP 2021165456 A JP2021165456 A JP 2021165456A JP 2021165456 A JP2021165456 A JP 2021165456A JP 7152579 B2 JP7152579 B2 JP 7152579B2
- Authority
- JP
- Japan
- Prior art keywords
- content data
- vehicle
- verification
- content
- data
- 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
Links
- 238000012795 verification Methods 0.000 title claims description 203
- 238000000034 method Methods 0.000 title claims description 63
- 238000012545 processing Methods 0.000 claims description 58
- 238000004891 communication Methods 0.000 claims description 49
- VIEYMVWPECAOCY-UHFFFAOYSA-N 7-amino-4-(chloromethyl)chromen-2-one Chemical compound ClCC1=CC(=O)OC2=CC(N)=CC=C21 VIEYMVWPECAOCY-UHFFFAOYSA-N 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 20
- 230000006870 function Effects 0.000 description 18
- 238000004590 computer program Methods 0.000 description 14
- 230000005540 biological transmission Effects 0.000 description 10
- 239000000470 constituent Substances 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 230000010354 integration Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 238000010276 construction Methods 0.000 description 2
- 238000013524 data verification Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 1
- 239000000446 fuel Substances 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6236—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database between heterogeneous systems
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/01—Detecting movement of traffic to be counted or controlled
- G08G1/0104—Measuring and analyzing of parameters relative to traffic conditions
- G08G1/0108—Measuring and analyzing of parameters relative to traffic conditions based on the source of data
- G08G1/0112—Measuring and analyzing of parameters relative to traffic conditions based on the source of data from the vehicle, e.g. floating car data [FCD]
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/01—Detecting movement of traffic to be counted or controlled
- G08G1/0104—Measuring and analyzing of parameters relative to traffic conditions
- G08G1/0108—Measuring and analyzing of parameters relative to traffic conditions based on the source of data
- G08G1/0116—Measuring and analyzing of parameters relative to traffic conditions based on the source of data from roadside infrastructure, e.g. beacons
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/01—Detecting movement of traffic to be counted or controlled
- G08G1/0104—Measuring and analyzing of parameters relative to traffic conditions
- G08G1/0137—Measuring and analyzing of parameters relative to traffic conditions for specific applications
- G08G1/0141—Measuring and analyzing of parameters relative to traffic conditions for specific applications for traffic information dissemination
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/09—Arrangements for giving variable traffic instructions
- G08G1/0962—Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
- G08G1/0967—Systems involving transmission of highway information, e.g. weather, speed limits
- G08G1/096766—Systems involving transmission of highway information, e.g. weather, speed limits where the system is characterised by the origin of the information transmission
- G08G1/096775—Systems involving transmission of highway information, e.g. weather, speed limits where the system is characterised by the origin of the information transmission where the origin of the information is a central station
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/16—Anti-collision systems
- G08G1/161—Decentralised systems, e.g. inter-vehicle communication
- G08G1/163—Decentralised systems, e.g. inter-vehicle communication involving continuous checking
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/16—Anti-collision systems
- G08G1/164—Centralised systems, e.g. external to vehicles
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09C—CIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
- G09C1/00—Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1483—Countermeasures against malicious traffic service impersonation, e.g. phishing, pharming or web spoofing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic 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/3242—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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
- H04L9/3255—Cryptographic 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 using group based signatures, e.g. ring or threshold signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/10—Integrity
- H04W12/106—Packet or message integrity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/12—Detection or prevention of fraud
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/09—Arrangements for giving variable traffic instructions
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/09—Arrangements for giving variable traffic instructions
- G08G1/0962—Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
- G08G1/0967—Systems involving transmission of highway information, e.g. weather, speed limits
- G08G1/096766—Systems involving transmission of highway information, e.g. weather, speed limits where the system is characterised by the origin of the information transmission
- G08G1/096783—Systems involving transmission of highway information, e.g. weather, speed limits where the system is characterised by the origin of the information transmission where the origin of the information is a roadside individual element
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/84—Vehicles
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Bioethics (AREA)
- Chemical & Material Sciences (AREA)
- Analytical Chemistry (AREA)
- Power Engineering (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Atmospheric Sciences (AREA)
- Traffic Control Systems (AREA)
- Control Of Driving Devices And Active Controlling Of Vehicle (AREA)
- Information Transfer Between Computers (AREA)
Description
本発明は、コンテンツデータを検証する検証方法、検証装置およびプログラムに関する。
近年、車両の自動運転車を制御する自動運転システムが知られている。自動運転システムでは、制御の基盤となる高度な地図データ、並びに、自動車、歩行者及びインフラ設備などの情報は、車外の装置との通信により入手することが想定されている。例えば、車車間通信又は路車間通信などのV2X(Vehicle to Everything)による通信で情報を入手したり、情報端末との通信で情報を入手したり、様々な通信で情報の入手を行う。そして、これらの入手した情報、車両の走行状態、車両の周辺状況及び運転者の状態などを鑑みて、自動運転車の制御が行われる。
特許文献1では、車両の自動運転制御の安全性を高めるために、自動運転車両制御装置が自動運転を行うための条件を満たしていないと判断した場合には、運転者に対して自動運転の解除を促す通知を行う構成が開示されている。
「Federal Information Processing Standards Publication 186-4 DIGITAL SIGNATURE STANDARD (DSS)」、2013年7月、National Institute of Standards and Technology (NIST)
自動運転システムが車外の装置からデータを入手する場合、不正な端末が成りすましによって不正なデータを送信するなどのサイバー攻撃が懸念される。
一方、従来のコンテンツデータの検証において、ダウンロードした地図データなどのコンテンツデータが大容量であると、コンテンツデータをすべて検証するには多大な時間を要する。そのため、ダウンロードしたコンテンツデータなどをすべて検証してから利用することを想定する場合、コンテンツデータをリアルタイムに車両の自動運転に利用できない、という問題がある。
そこで、本発明は、車両の自動運転への利用に、より適したコンテンツの検証方法等を提供する。
本発明の一態様に係る検証方法は、車両で利用されるコンテンツデータを検証する検証方法であって、前記コンテンツデータと、前記コンテンツデータを分割した複数の部分データのそれぞれから生成された複数の第一ハッシュ値と、前記複数の第一ハッシュ値及び共通の秘密鍵を用いて生成されたメッセージ認証コードとを取得し、前記車両の状態を示す状態情報を取得し、取得した前記状態情報に応じて1以上の整数であるNを定め、前記複数の部分データのうち前記N個の部分データのそれぞれから第二ハッシュ値を生成し、(a)取得した前記複数の第一ハッシュ値のうち、前記複数の部分データのうちの前記N個の部分データを除く部分データのそれぞれから生成された第一ハッシュ値と、(b)生成した前記第二ハッシュ値と、(c)取得した前記メッセージ認証コードと、を用いて、前記コンテンツデータの検証を行い、前記検証の結果を示す情報を出力する検証方法である。
なお、これらの包括的または具体的な態様は、システム、装置、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、システム、装置、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
本発明によれば、車両の自動運転への利用に、より適したコンテンツの検証方法により、コンテンツを検証できる。
本発明の一態様に係る検証方法は、車両で利用されるコンテンツデータを検証する検証方法であって、前記コンテンツデータと、前記コンテンツデータを分割した複数の部分データのそれぞれから生成された複数の第一ハッシュ値と、前記複数の第一ハッシュ値及び共通の秘密鍵を用いて生成されたメッセージ認証コードとを取得し、前記車両の状態を示す状態情報を取得し、取得した前記状態情報に応じて1以上の整数であるNを定め、前記複数の部分データのうち前記N個の部分データのそれぞれから第二ハッシュ値を生成し、(a)取得した前記複数の第一ハッシュ値のうち、前記複数の部分データのうちの前記N個の部分データを除く部分データのそれぞれから生成された第一ハッシュ値と、(b)生成した前記第二ハッシュ値と、(c)取得した前記メッセージ認証コードと、を用いて、前記コンテンツデータの検証を行い、前記検証の結果を示す情報を出力する検証方法である。
また、本発明の一態様に係る検証方法は、車両で利用されるコンテンツデータを検証する検証方法であって、前記コンテンツデータと、前記コンテンツデータを分割した複数の部分データのそれぞれから生成された複数の第一ハッシュ値と、前記複数の第一ハッシュ値及び秘密鍵を用いて生成された署名とを取得し、前記車両の状態を示す状態情報を取得し、取得した前記状態情報に応じて1以上の整数であるNを定め、前記複数の部分データのうち前記N個の部分データのそれぞれから第二ハッシュ値を生成し、(a)取得した前記複数の第一ハッシュ値のうち、前記複数の部分データのうちの前記N個の部分データを除く部分データのそれぞれから生成された第一ハッシュ値と、(b)生成した前記第二ハッシュ値と、(c)取得した前記署名と、を用いて、前記コンテンツデータの検証を行い、前記検証の結果を示す情報を出力する検証方法である。
上記態様によれば、検証装置が、地図情報などを含む大容量のコンテンツデータを検証する場合に、コンテンツデータのうちの、車両の状態に応じて選択される一部を検証に用いるので、実用的なレベルで安全性を維持したまま、高速な検証が可能となり、安全なシステムの構築が可能となる。
また、攻撃者は秘密鍵を持っておらず、攻撃者が正当な電子署名(単に署名ともいう)を生成することは困難であるので、検証装置は、コンテンツデータの検証用データに含まれる署名を用いて、コンテンツデータが正当であるか否かを検証でき、すなわち、攻撃者によるコンテンツデータの改ざんを検出できる。検証装置は、このようにコンテンツデータが正当であるか否かを検証できるので、その後に不正なコンテンツデータを破棄するなどして、車両の自動運転などの動作に正当なコンテンツデータのみを利用することによって、安全なシステムが構築できる。このように、検証装置は、車両の自動運転への利用に、より適したコンテンツの検証方法により、コンテンツを検証できる。
例えば、前記第二ハッシュ値を生成する際には、前記複数の部分データから前記N個の部分データをランダムに選択し、選択した前記N個の部分データのそれぞれから第二ハッシュ値を生成してもよい。
上記態様によれば、検証装置は、地図情報などを含む大容量のコンテンツデータを検証する場合に、コンテンツデータの一部をランダムに選択して検証するので、実用的なレベルで安全性を維持したまま、高速な検証が可能となり、安全なシステムの構築が可能となる。
ここで、車両におけるコンテンツデータの検証は、コンテンツデータを複数に分割した部分データのうち所定数をランダムに選択してなされる。そのため、システムへの攻撃者が、コンテンツデータを不正に改ざんした場合、選択した分割されたコンテンツデータの中に攻撃者による不正な改ざんが含まれる可能性が高い。よって、検証装置は、コンテンツデータが正当であるか否かをより適切に検証できるので、より安全なシステムが構築できる。
言い換えれば、検証装置が、複数の部分データのうちのどの部分データを検証に使用するかが毎回変化するので、成りすましなどによる悪意あるデータをより適切に検出することができる。よって、検証装置は、車両の自動運転への利用に、より適したコンテンツの検証方法により、コンテンツを検証できる。
例えば、前記状態情報は、前記車両が走行中であるか否かを示し、前記第二ハッシュ値を生成する際には、前記車両が走行中である場合には、前記Nを第1の値に定め、前記車両が走行中でない場合には、前記Nを前記第1の値より大きい第2の値に定め、定めた前記Nを用いて、前記N個の部分データのそれぞれから前記第二ハッシュ値を生成してもよい。
上記態様によれば、検証装置は、検証のために確保できる時間が比較的長い場合には、コンテンツデータをより詳しく検証することができ、一方、検証のために確保できる時間が比較的短い場合には、短時間でコンテンツデータの検証を終えて、コンテンツデータを利用できる。よって、検証装置は、検証のために確保できる時間の長短に応じて、車両の自動運転への利用に、より適したコンテンツの検証方法により、コンテンツを検証できる。
例えば、前記状態情報は、前記車両の状態として、前記検証方法を実行する装置の処理負荷を示し、前記第二ハッシュ値を生成する際には、前記処理負荷が高いほど、前記Nをより小さな値に定め、定めた前記Nを用いて、前記N個の部分データのそれぞれから前記第二ハッシュ値を生成してもよい。
上記態様によれば、検証装置は、検証のために確保できる処理能力が比較的大きい場合には、コンテンツデータをより詳しく検証することができ、一方、検証のために確保できる処理能力が比較的小さい場合には、短時間でコンテンツデータの検証を終えて、コンテンツデータを利用できる。よって、検証装置は、検証のために確保できる処理能力の大小に応じて、車両の自動運転への利用に、より適したコンテンツの検証方法により、コンテンツを検証できる。
例えば、前記状態情報は、前記車両の状態として、前記検証方法を実行する装置が行う通信の通信量を示し、前記第二ハッシュ値を生成する際には、前記通信量が多いほど、前記Nをより小さな値に定め、定めた前記Nを用いて、前記N個の部分データのそれぞれから前記第二ハッシュ値を生成してもよい。
上記態様によれば、検証装置は、通信量情報から得られる、検証のために確保できる処理能力が比較的大きい場合には、コンテンツデータをより詳しく検証することができ、一方、検証のために確保できる処理能力が比較的小さい場合には、短時間でコンテンツデータの検証を終えて、コンテンツデータを利用できる。よって、検証装置は、検証のために確保できる処理能力の大小に応じて、車両の自動運転への利用に、より適したコンテンツの検証方法により、コンテンツを検証できる。
例えば、前記第二ハッシュ値を生成する際には、前記コンテンツデータの種類またはサイズに応じて前記Nを定め、定めた前記Nを用いて、前記N個の部分データのそれぞれから前記第二ハッシュ値を生成してもよい。
上記態様によれば、検証装置は、コンテンツデータの種類またはサイズに適した所定数の部分データを検証に用いることができる。よって、検証装置は、コンテンツデータの種類またはサイズに応じて、車両の自動運転への利用に、より適したコンテンツの検証方法により、コンテンツを検証できる。
例えば、前記第二ハッシュ値を生成する際には、前記コンテンツデータの種類に基づいて、前記複数の部分データのうちのどの部分データを前記N個の部分データとして選択するかを決定し、当該決定に基づいて選択した前記N個の部分データのそれぞれから前記第二ハッシュ値を生成してもよい。
上記態様によれば、検証装置は、コンテンツデータの種類に応じて、どの部分データにどのような内容のデータが含まれているかが既知である場合には、検証の必要性がより高い部分を検証の対象とすることができる。よって、検証装置は、検証の必要性がより高い部分を検証に用いることにより、車両の自動運転への利用に、より適したコンテンツの検証方法により、コンテンツを検証できる。
例えば、前記コンテンツデータの種類は、前記コンテンツデータの更新の間隔を示す指標を含んでもよい。
上記態様によれば、検証装置は、コンテンツデータの更新の時間間隔を用いてコンテンツの種類を示し、車両の自動運転への利用に、より適したコンテンツの検証方法により、コンテンツを検証できる。
また、本発明の一態様に係る検証装置は、車両で利用されるコンテンツデータを検証する検証装置であって、プロセッサと、前記プロセッサに接続されたメモリとを備え、前記プロセッサは、前記メモリを用いて、前記コンテンツデータと、前記コンテンツデータを分割した複数の部分データのそれぞれから生成された複数の第一ハッシュ値と、前記複数の第一ハッシュ値及び秘密鍵を用いて生成された署名とを取得し、前記車両の状態を示す状態情報を取得し、取得した前記状態情報に応じて1以上の整数であるNを定め、前記複数の部分データのうち前記N個の部分データのそれぞれから第二ハッシュ値を生成し、(a)取得した前記複数の第一ハッシュ値のうち、前記複数の部分データのうちの前記N個の部分データを除く部分データのそれぞれから生成された第一ハッシュ値と、(b)生成した前記第二ハッシュ値と、(c)前記署名と、を用いて、前記コンテンツデータの検証を行い、前記検証の結果を示す情報を出力する。
これによれば、上記検証装置と同様の効果を奏する。
なお、これらの包括的または具体的な態様は、システム、装置、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、システム、装置、集積回路、コンピュータプログラムまたは記録媒体の任意な組み合わせで実現されてもよい。
以下、実施の形態について、図面を参照しながら具体的に説明する。
なお、以下で説明する実施の形態は、いずれも包括的または具体的な例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
(実施の形態)
1. システムの構成
本発明の実施の形態として、車載ネットワーク上に設置された検証装置であるゲートウェイが、車外の装置、より具体的には車外のサーバ又は信号機などからV2Xにより受信したコンテンツデータを検証する技術について図面を参照しながら説明する。
1. システムの構成
本発明の実施の形態として、車載ネットワーク上に設置された検証装置であるゲートウェイが、車外の装置、より具体的には車外のサーバ又は信号機などからV2Xにより受信したコンテンツデータを検証する技術について図面を参照しながら説明する。
1.1 コンテンツ検証システム10の全体構成
図1は、本実施の形態におけるコンテンツ検証システム10の全体構成を示す模式図である。図1において、コンテンツ検証システム10は、車両100a及び100bと、サーバ200と、信号機300とを備える。車両100a及び100bと、サーバ200と、信号機300とは、それぞれ通信可能に、ネットワーク又は通信リンクで接続されている。
図1は、本実施の形態におけるコンテンツ検証システム10の全体構成を示す模式図である。図1において、コンテンツ検証システム10は、車両100a及び100bと、サーバ200と、信号機300とを備える。車両100a及び100bと、サーバ200と、信号機300とは、それぞれ通信可能に、ネットワーク又は通信リンクで接続されている。
なお、コンテンツ検証システム10には、信号機300だけでなく、照明灯、情報掲示板標識、橋梁、トンネル及び横断歩道橋などのインフラ設備に取り付けられたセンサ、カメラ、並びに、GPS(Global Positioning System)受信器などがネットワーク又は通信リンクで接続されていてもよい。
1.2 車両100aの構成
図2は、本実施の形態における車両100aの全体構成を示す模式図である。図2において、複数の電子制御ユニット(ECU:Electronic Control Unit)であるECU111、ECU121、ECU131、ECU141、ECU151、ECU161、ECU171、ECU181及びECU191と、ゲートウェイ101とが、車載ネットワークで接続されている。車載ネットワークはController Area Network(以降、CAN)であってもよいし、Ethernet(登録商標)であってもよいし、CANとEthernet(登録商標)とが混在していてもよい。
図2は、本実施の形態における車両100aの全体構成を示す模式図である。図2において、複数の電子制御ユニット(ECU:Electronic Control Unit)であるECU111、ECU121、ECU131、ECU141、ECU151、ECU161、ECU171、ECU181及びECU191と、ゲートウェイ101とが、車載ネットワークで接続されている。車載ネットワークはController Area Network(以降、CAN)であってもよいし、Ethernet(登録商標)であってもよいし、CANとEthernet(登録商標)とが混在していてもよい。
車載ネットワークには、例えば、エンジン110、トランスミッション120、モータ(不図示)、燃料(不図示)、又は、電池(不図示)の制御に関連する駆動系のECUが接続されている。本図では、車載ネットワークには駆動系のECUとして、エンジン110用のECU111と、トランスミッション120用のECU121とが接続されている。
また、車載ネットワークには、ブレーキ130又はステアリング140などの、車両の「曲がる、止まる」機能に関連するシャーシ系ECUが接続されている。本図では、車載ネットワークにはシャーシ系ECUとして、ブレーキ130用のECU131と、ステアリング140用のECU141とが接続されている。
また、車載ネットワークには、自動ブレーキ150、車線維持装置160、車間距離制御機能(不図示)、衝突防止機能又はエアバッグなどの安全快適機能系ECUが接続されている。本図では、車載ネットワークには安全快適機能系ECUとして、自動ブレーキ150用のECU151と、車線維持装置160用のECU161とが接続されている。
また、車載ネットワークには、車車間通信装置170などに関連する通信系ECUが接続されている。本図では、車載ネットワークには通信系ECUとして、車車間通信装置170用のECU171が接続されている。車車間通信装置170は、他の車両からコンテンツデータを取得する。ECU171は、取得したコンテンツデータを用いて自動運転などの動作処理を行う。
また、車載ネットワークには、ヘッドユニット180などインフォテイメント系ECUが接続されている。本図では、車載ネットワークにはインフォテイメント系ECUとして、ヘッドユニット180用のECU181が接続されている。なお、ヘッドユニット180用のECU181がなく、ヘッドユニット180がECU181を介さず直接車載ネットワークに接続されていてもよい。
また、車載ネットワークには、高度道路交通システムであるITS(Intelligent Transport Systems)装置190用のECU191が接続されている。本図では、車載ネットワークには、ITS装置190用のECU191が接続されている。ITS装置190は、サーバ200が保有している路面情報及び地図情報などをサーバ200から受信する。また、ITS装置190は、センサ情報やGPSによる位置情報、カメラの画像情報などをサーバ200に送信する。ITS装置190から送信された画像情報によって、サーバ200は、道路状況などを把握することができる。
また、図示しない各種センサ又はカメラの画像情報なども車載ネットワークには接続されている。
ゲートウェイ101は、上記の各ECUに接続され、各ECUの間の通信を中継する中継装置である。上記の各ECUは、ゲートウェイ101を介して接続され、相互に情報をやりとりする。
サーバ200は、さまざまな種類のコンテンツデータを保有しており、各種情報処理を行うサーバ装置である。サーバ200は、地図情報、路面情報、交通規制情報、事故情報、及び、歩行者情報などをコンテンツデータとして保有している。地図情報は、道路又は建物などの静的な地物を示す情報である。路面情報は、道路の路面の状態を示す情報である。交通規制情報は、天候又は事故などに起因した交通規制が行われている場所及び時間帯などを示す情報である。事故情報は、車両の事故が起こっている場所及び時刻などを示す情報である。歩行者情報は、歩行者がいる場所及び時刻などを示す情報である。サーバ200は、車両100aと通信回線を介して通信可能に接続されており、保有している各情報を車両100aなどに提供する。
サーバ200が保有しているコンテンツデータには、更新間隔が比較的長いものもあれば、比較的短いものもある。例えば、地図情報及び路面情報などは、数カ月程度の間隔で更新される。一方、事故情報及び交通規制情報などは、数時間から数分程度の間隔で更新される。サーバ200は、各コンテンツデータに紐付けて、各コンテンツデータの更新間隔を示す指標を保有していてもよい。更新間隔を示す指標は、更新間隔の時間長(1カ月、1時間、1分又は1秒など)であってもよいし、更新間隔の程度を例えば3段階で示す指標(長い、中程度、短い)であってもよい。
信号機300は、交通信号機である。信号機300は、電波による通信、又は、可視光通信などによって、車両100aなどと通信する。
1.3 ゲートウェイ101の構成
図3は、本実施の形態におけるゲートウェイ101の構成図である。図3においてゲートウェイ101は、コンテンツ検証部1001、鍵保持部1002、メッセージ処理部1003、車両状態保持部1004、及び、通信部1005を含んで構成される。なお、ゲートウェイ101は、プロセッサ(不図示)と、プロセッサに接続されたメモリとを少なくとも備え、プロセッサがメモリを用いて所定のプログラムを実行することで下記の機能を実現する。
図3は、本実施の形態におけるゲートウェイ101の構成図である。図3においてゲートウェイ101は、コンテンツ検証部1001、鍵保持部1002、メッセージ処理部1003、車両状態保持部1004、及び、通信部1005を含んで構成される。なお、ゲートウェイ101は、プロセッサ(不図示)と、プロセッサに接続されたメモリとを少なくとも備え、プロセッサがメモリを用いて所定のプログラムを実行することで下記の機能を実現する。
通信部1005は、車載ネットワーク内に流れるメッセージの通信処理を行う通信インタフェースである。通信部1005は、メッセージを受信すると、受信したメッセージをメッセージ処理部1003又はコンテンツ検証部1001に送信する。また、通信部1005は、受信した車載ネットワークの任意のバスのメッセージを、別のバスへ転送する。
コンテンツ検証部1001は、ITS、又は、車車間通信などの車外のネットワーク経由で受信した自動車向けのコンテンツデータを検証する。
具体的には、コンテンツ検証部1001は、コンテンツデータ、コンテンツデータを分割した複数の部分データのそれぞれから生成された複数の第一ハッシュ値、及び、複数の第一ハッシュ値と秘密鍵とを用いて生成された署名を取得する。コンテンツ検証部1001は、車両100aの状態を示す状態情報を取得する。コンテンツ検証部1001は、複数の部分データのうち、取得した状態情報に応じて定められた所定数個の部分データのそれぞれから第二ハッシュ値を生成する。ここで所定数は1以上の整数である。コンテンツ検証部1001は、生成した第二ハッシュ値と、複数の部分データのうちの所定数個の部分データを除く部分データのそれぞれから生成された第一ハッシュ値と、署名とを用いて、取得したコンテンツデータの検証を行い、検証の結果を示す情報を出力する。
コンテンツ検証部1001によるコンテンツデータの検証処理の詳細については後述する。
鍵保持部1002は、コンテンツ検証部1001又はメッセージ処理部1003が利用する鍵を保持する。具体的には、鍵保持部1002は、コンテンツ検証部1001がサーバ200から受信したコンテンツの検証に用いる鍵(つまり、サーバ200の公開鍵)を保持する。また、車載ネットワークがCANを含む場合、鍵保持部1002は、CANのメッセージに用いられるMAC(Message Authentication Code)の検証に用いる鍵(MAC鍵ともいう)を保持する。また、車載ネットワークがEthernet(登録商標)を含む場合、コンテンツ検証部1001は、Ethernet(登録商標)の暗号通信などに用いられる通信鍵を保持する。
メッセージ処理部1003は、メッセージを処理する。例えば、車載ネットワークの任意のバス上のメッセージを別のバスに転送したり、メッセージの検証を行ったりする。メッセージ処理部1003は、鍵保持部1002に保持されているMAC鍵などの検証鍵を用いてメッセージの検証を行う。
さらにメッセージ処理部1003は、メッセージから車両の状態を示す状態情報を取得し、車両状態保持部1004に保持する。状態情報は、例えば、車両100aが走行中であるか、停車中であるか、又は、駐車中であるかを示す走行状態情報を含む。車両100aが走行中であるか等は、トランスミッション120の情報又は速度情報から得られる。また、状態情報は、この処理を実行する装置であるゲートウェイ101の処理負荷を示す負荷情報を含んでもよいし、ゲートウェイ101が行う通信の通信量を示す通信量情報を含んでもよい。
速度情報は、タイヤ(不図示)の回転数の情報を取得するECUから取得してもよいし、エンジン110に接続されているECU111、又は、ブレーキ130に接続されているECU131から取得してもよい。
車両状態保持部1004は、車両の状態を保持する記憶装置である。車両状態保持部1004には、メッセージ処理部1003が取得した状態情報が格納される。また、車両状態保持部1004に格納された状態情報は、コンテンツ検証部1001により読み出される。
1.4 サーバ200の構成
図4は、本実施の形態におけるサーバ200の機能構成を示す模式図である。図4においてサーバ200は、コンテンツ収集部201、コンテンツDB202、コンテンツ分割部203、暗号処理部204、鍵保持部205、及び、通信部206を含んで構成される。なお、サーバ200は、プロセッサ(不図示)と、プロセッサに接続されたメモリとを少なくとも備え、プロセッサがメモリを用いて所定のプログラムを実行することで下記の機能を実現する。
図4は、本実施の形態におけるサーバ200の機能構成を示す模式図である。図4においてサーバ200は、コンテンツ収集部201、コンテンツDB202、コンテンツ分割部203、暗号処理部204、鍵保持部205、及び、通信部206を含んで構成される。なお、サーバ200は、プロセッサ(不図示)と、プロセッサに接続されたメモリとを少なくとも備え、プロセッサがメモリを用いて所定のプログラムを実行することで下記の機能を実現する。
通信部206は、車両100a若しくは100b、又は、信号機300と通信を行う通信インタフェースである。通信部206は、通信プロトコルとして、TLS(Transport Layer Security)を用いてもよい。
コンテンツ収集部201は、車両100a若しくは100b、又は、信号機300から取得したコンテンツデータを収集する。コンテンツデータには、車両100a若しくは100b又は信号機300から取得したセンサの情報、GPSなどにより取得された車両100a又は100bの位置情報、カメラにより取得された画像情報などが含まれ、これらのコンテンツデータから事故又は渋滞などの道路状況の把握がなされる。コンテンツ収集部201は、上記コンテンツデータとともに、当該コンテンツデータの更新間隔を示す指標を取得してもよい。
コンテンツDB202は、コンテンツデータが記録される記録装置である。コンテンツDB202には、コンテンツ収集部201が収集したコンテンツデータが記録される。またコンテンツDB202は、地図データも記録する。コンテンツDB202が記録しているコンテンツデータは、コンテンツ分割部203により読み出される。
コンテンツ分割部203は、コンテンツDB202に記録されているコンテンツデータの中から、車両100aの周辺の道路状況に対応するコンテンツデータを読み出し、分割を行う。車両100aの周辺の道路状況に対応するコンテンツデータを読み出す際には、コンテンツDB202に記録されているコンテンツデータの中から、別途取得する車両100aの位置情報に示される位置の周囲に対応するコンテンツデータを読み出す。そして、コンテンツ分割部203は、分割したコンテンツデータを暗号処理部204に送信する。なお、コンテンツデータが分割されたデータのそれぞれを部分データともいう。
コンテンツ分割部203におけるコンテンツデータの分割の方法は、さまざまな方法があり得る。例えば、分割のサイズに関しては、分割後の部分データのサイズが一定値になるように分割してもよいし、コンテンツデータの種類ごとに分割するサイズを変更してもよい。
鍵保持部205は、コンテンツデータの検証用データ生成に用いる秘密鍵(つまりサーバ200の秘密鍵)を保持する。
暗号処理部204は、鍵保持部205が保持する秘密鍵を用いて、コンテンツデータの検証用データを生成する。暗号処理部204における検証用データの生成方法は後述する。
なお、サーバ200は、インターネットに接続されていれば、物理的にはどこに配置されていてもよい、いわゆるクラウドサーバにより実現され得る。サーバ200が提供するコンテンツデータは、クラウドで生成されたコンテンツデータということもできる。
1.5 信号機300の構成
図5は、本実施の形態における信号機300の機能構成を示す模式図である。図5において信号機300は、コンテンツ収集部301、コンテンツDB302、コンテンツ分割部303、暗号処理部304、鍵保持部305、コンテンツ送信部306、センサ情報収集部307、及び、通信部308を含んで構成される。なお、信号機300は、プロセッサ(不図示)と、プロセッサに接続されたメモリとを少なくとも備え、プロセッサがメモリを用いて所定のプログラムを実行することで下記の機能を実現する。なお、信号機300は、これらの機能のほか、交通信号機としての機能を備えている。
図5は、本実施の形態における信号機300の機能構成を示す模式図である。図5において信号機300は、コンテンツ収集部301、コンテンツDB302、コンテンツ分割部303、暗号処理部304、鍵保持部305、コンテンツ送信部306、センサ情報収集部307、及び、通信部308を含んで構成される。なお、信号機300は、プロセッサ(不図示)と、プロセッサに接続されたメモリとを少なくとも備え、プロセッサがメモリを用いて所定のプログラムを実行することで下記の機能を実現する。なお、信号機300は、これらの機能のほか、交通信号機としての機能を備えている。
コンテンツDB302は、コンテンツDB202と同じ構成であり、コンテンツ分割部303はコンテンツ分割部203と同じ構成であり、暗号処理部304は暗号処理部204と同じ構成であり、鍵保持部305は鍵保持部205と同じ構成であるため、これらの構成の説明は省略する。
コンテンツ収集部301は、V2Xで車両100a又は100bから取得したセンサ情報をコンテンツDB302へ格納する。
コンテンツ送信部306は、コンテンツDB302で記録しているコンテンツデータをサーバ200に送信する。
センサ情報収集部307は、信号機300に設置されているセンサ(不図示)が生成したセンサ情報、又は、カメラ(不図示)が生成した画像情報を取得し、コンテンツDB302へ格納する。
通信部308は、サーバ200との通信、及び、V2Xでの車両100a又は100bとの通信を行う通信インタフェースである。
1.6 車両100aとサーバ200との通信シーケンス
次に、車両100aとサーバ200との通信、より具体的にはサーバ200から車両100aへのコンテンツデータのダウンロードと、車両100aにおけるコンテンツデータの検証処理とについて説明する。本実施の形態では、車両100aがサーバ200から地図データ等のコンテンツデータをダウンロードし、車線維持機能に利用する場合を一例として説明する。
次に、車両100aとサーバ200との通信、より具体的にはサーバ200から車両100aへのコンテンツデータのダウンロードと、車両100aにおけるコンテンツデータの検証処理とについて説明する。本実施の形態では、車両100aがサーバ200から地図データ等のコンテンツデータをダウンロードし、車線維持機能に利用する場合を一例として説明する。
<コンテンツデータのダウンロードの通信シーケンス>
図6は、本実施の形態におけるサーバ200から車両100aへコンテンツデータをダウンロードする処理を示すシーケンス図である。図6に示されるシーケンスでは、車両100aがサーバ200からコンテンツデータをダウンロードし、ダウンロードしたコンテンツデータを検証する処理が示されている。
図6は、本実施の形態におけるサーバ200から車両100aへコンテンツデータをダウンロードする処理を示すシーケンス図である。図6に示されるシーケンスでは、車両100aがサーバ200からコンテンツデータをダウンロードし、ダウンロードしたコンテンツデータを検証する処理が示されている。
ステップS101において、サーバ200は、コンテンツデータを生成する。
ステップS102において、サーバ200は、コンテンツデータを車両100aへ送信する。
ステップS103において、車両100aのITS装置190は、サーバ200から送信されたコンテンツデータをダウンロードし、ITS装置190用のECU191へ送信する。ITS装置190用のECU191は、受信したコンテンツデータをゲートウェイ101に送信することで転送する。
ステップS104において、ゲートウェイ101は、受信したコンテンツデータに対して検証を実行する。
ステップS105において、ステップS104での検証において、受信したコンテンツデータが正当であると判定された場合、ゲートウェイ101は、受信したコンテンツデータに対してメッセージを生成する。
ステップS106において、ゲートウェイ101は、ステップS105で生成したメッセージを、車線維持装置160用のECU161へを送信する。
ステップS107において、車線維持装置160用のECU161は、ゲートウェイ101から受信したメッセージをもとに車線維持機能に係る動作を実行する。
<コンテンツデータの生成(ステップS101)>
図7は、本実施の形態におけるサーバ200によるコンテンツデータを生成する処理を示すフローチャートである。図7に示されるフローチャートは、図6におけるステップS101の内容を詳細に示すものである。
図7は、本実施の形態におけるサーバ200によるコンテンツデータを生成する処理を示すフローチャートである。図7に示されるフローチャートは、図6におけるステップS101の内容を詳細に示すものである。
ステップS201において、サーバ200のコンテンツ分割部203は、コンテンツデータを送信する対象である車両100aに適したコンテンツデータをコンテンツDB202から取得する。なお、ステップS201で取得するコンテンツデータを、後述する「検証可能なコンテンツデータ」と区別して、コンテンツデータ本体ということもある。
ステップS202において、サーバ200のコンテンツ分割部203は、ステップS201で取得したコンテンツデータを分割し、複数の部分データを生成する。
ステップS203において、サーバ200の暗号処理部204は、ステップS202で分割により生成した複数の部分データそれぞれに対してハッシュ値を生成することで、複数のハッシュ値を生成する。ハッシュ値を生成するために用いるハッシュ関数はコンテンツ検証システム10であらかじめ決められており、例えばSHA-256である。
ステップS204において、サーバ200の暗号処理部204は、ステップS203で生成した複数のハッシュ値それぞれに対して、鍵保持部205が保持する秘密鍵を用いて署名を生成する。署名の生成には、例えば、非特許文献1にあるECDSA(Elliptic Curve Digital Signature Algorithm)を用いる。
ステップS205において、サーバ200の暗号処理部204は、ステップS202で生成した部分データと、ステップS203で生成したハッシュ値と、ステップS204で生成した署名とを含む、検証可能なコンテンツデータを生成する。検証可能なコンテンツデータの生成について、図8を参照しながら詳しく説明する。
図8は、本実施の形態における検証可能なコンテンツデータを生成する処理の説明図である。具体的には、上記ステップS202からS205までの処理が説明される。
図8に示されるように、暗号処理部204は、コンテンツデータC1を5つの部分データC11、C12、C13、C14及びC15に分割する(ステップS202)。
次に、暗号処理部204は、生成した部分データC11、C12、C13、C14及びC15のそれぞれに対してハッシュ値を生成する。具体的には、暗号処理部204は、部分データC11に対してハッシュ値H11を生成し、部分データC12に対してハッシュ値H12を生成し、部分データC13に対してハッシュ値H13を生成し、部分データC14に対してハッシュ値H14を生成し、部分データC15に対してハッシュ値H15を生成する(ステップS203)。ここで、ハッシュ値H11、H12、H13、H14及びH15を第一ハッシュ値ともいう。
次に、暗号処理部204は、生成したハッシュ値H11、H12、H13、H14及びH15を結合し、鍵保持部205が保持するサーバ200の秘密鍵を用いて署名S1を生成する(ステップS204)。
次に、暗号処理部204は、ハッシュ値H11、H12、H13、H14及びH15、並びに、署名S1を検証用データVとしてコンテンツデータC1に付加することにより、検証可能なコンテンツデータC2を生成する(ステップS205)。つまり、検証可能なコンテンツデータC2には、コンテンツデータC1と検証用データVとが含まれている。
<コンテンツデータの検証(ステップS104)>
図9は、本実施の形態における車両100aによるコンテンツデータを検証する処理を示すフローチャートである。図9に示されるフローチャートは、図6におけるステップS104の内容を詳細に示すものである。
図9は、本実施の形態における車両100aによるコンテンツデータを検証する処理を示すフローチャートである。図9に示されるフローチャートは、図6におけるステップS104の内容を詳細に示すものである。
ステップS301において、車両100aのコンテンツ検証部1001は、サーバ200からコンテンツデータをダウンロードにより取得する。取得するコンテンツデータは、上記における検証可能なコンテンツデータC2に相当するものであり、具体的には、コンテンツデータ本体、コンテンツデータ本体を分割した複数の部分データのそれぞれから生成された複数の第一ハッシュ値、及び、複数の第一ハッシュ値と秘密鍵とを用いて生成された署名を含んでいる。
ステップS302において、車両100aのコンテンツ検証部1001は、車両100aの状態を示す状態情報を取得する。車両100aの状態情報は、車両状態保持部1004から取得され得る。
ステップS303において、車両100aのコンテンツ検証部1001は、ステップS302で取得した状態情報に応じて所定数を定める。
ステップS304において、車両100aのコンテンツ検証部1001は、ダウンロードしたコンテンツデータに含まれる部分データのうち、所定数の部分データを選択する。なお、所定数は、1以上の整数であり、Nと表記することもある。
ステップS305において、車両100aのコンテンツ検証部1001は、ステップS304で選択した部分データそれぞれに対するハッシュ値を生成する。ハッシュ値を生成するために用いるハッシュ関数は、コンテンツ検証システム10であらかじめ決められている。
ステップS306において、車両100aのコンテンツ検証部1001は、ステップS304で選択しなかった部分データそれぞれに対するハッシュ値を、ステップS301で受信したコンテンツデータの中の検証用データに含まれるハッシュ値から抜き出す。
ステップS307において、車両100aのコンテンツ検証部1001は、ステップS304で選択した部分データそれぞれに対して生成したハッシュ値と、ステップS304で選択しなかった部分データそれぞれに対してステップS306で抜き出したハッシュ値と、コンテンツデータの検証用データに含まれる署名とを用いて、コンテンツデータの検証を行うことによって、コンテンツデータが正当であるか否かを判定する。コンテンツデータの検証の際には、サーバ200の公開鍵が用いられる。コンテンツデータが正当であると判定した場合(ステップS307でYes)には、ステップS308に進み、そうでない場合(ステップS307でNo)には、ステップS309に進む。
ステップS308において、車両100aのコンテンツ検証部1001は、ステップS301でダウンロードしたコンテンツデータが正当なコンテンツデータであることを示す情報を出力する。
ステップS309において、車両100aのコンテンツ検証部1001は、ステップS301でダウンロードしたコンテンツデータが正当でない、つまり不正なコンテンツデータであることを示す情報を出力する。なお、このとき、当該コンテンツデータを破棄してもよい。
図10は、本実施の形態におけるコンテンツデータを検証する処理の説明図である。具体的には、上記ステップS302からS305までの処理が説明される。図10では、検証可能なコンテンツデータD1を検証する処理を説明する。なお、検証可能なコンテンツデータD1は、図8で生成した検証可能なコンテンツデータC2に相当する。
図10において、検証可能なコンテンツデータD1は、5つの部分データD11、D12、D13、D14及びD15と、検証用データWとを含む。検証用データWには、サーバ200が算出したハッシュ値J11、J12、J13、J14及びJ15と、署名T1とが含まれている。
車両100aのコンテンツ検証部1001は、5つの部分データのうち所定数の部分データを選択する。ここでは、所定数を2とし、2つの部分データD11及びD13を選択する(ステップS302)。
次に、選択した部分データD11に対してハッシュ値J21を生成し、部分データD13に対してハッシュ値J23を生成する(ステップS303)。ここで、ハッシュ値J21及びJ23を第二ハッシュ値ともいう。
また、選択しなかった部分データD12、D14及びD15に対するハッシュ値を、検証可能なコンテンツデータD1の検証用データWから抜き出す(ステップS304)。ここでは、部分データD12に対してハッシュ値J12を抽出し、部分データD14に対してハッシュ値J14を抽出し、部分データD15に対するハッシュ値J15を抽出する。
次に、ハッシュ値J21、J12、J23、J14及びJ15と、検証用データWに含まれる署名T1とを用いて、コンテンツデータD1の検証を行う(ステップS305)。
なお、ステップS302で所定数個の部分データを選択する際には、複数の部分データから所定数個の部分データをランダムに選択してもよい。その場合、ステップS303では、選択した所定数個の部分データのそれぞれからハッシュ値J23等を生成する。このようにすることで、複数の部分データのうちのどの部分データを検証に使用するかが毎回変化するので、成りすましなどによる悪意あるデータをより適切に検出することができる。
なお、ステップS303で所定数を定めるときには、走行状態情報を参照して、車両100aが走行中である場合には、所定数を第1の値に定め、車両100aが走行中でない場合には、所定数を第1の値より大きい第2の値に定めてもよい。言い換えれば、所定数は、車両状態保持部1004に保持された状態情報に応じて、可変であってもよい。例えば、状態情報(より具体的には走行状態情報)が「走行中」でない、つまり、「駐車中」又は「停車中」であれば、車両100aの状態が「走行中」の場合よりも、コンテンツデータを検証する時間を長く確保できるので、「走行中」の場合よりも所定数を大きくしてもよい。より具体的には、状態情報が「駐車中」又は「停車中」であれば、部分データの全数の3割を所定数とし、状態情報が「走行中」であれば、部分データの全数の1割を所定数としてもよい。このようにすることで、検証のために確保できる時間が比較的長い場合には、コンテンツデータをより詳しく検証することができ、一方、検証のために確保できる時間が比較的短い場合には、短時間でコンテンツデータの検証を終えて、コンテンツデータを利用できる利点がある。
なお、ステップS303で所定数を定めるときには、この処理を実行する装置であるゲートウェイ101の負荷情報を参照して、処理負荷が高いほど、所定数をより小さな値に定めてもよい。また、ゲートウェイ101の通信量情報を参照し、通信量がより多いほど、所定数をより小さな値に定めてもよい。このようにすることで、検証のために確保できる処理能力が比較的大きい場合には、コンテンツデータをより詳しく検証することができ、一方、検証のために確保できる処理能力が比較的小さい場合には、短時間でコンテンツデータの検証を終えて、コンテンツデータを利用できる利点がある。
なお、ステップS303で所定数を定めるときには、コンテンツデータの種類またはサイズに応じて所定数を定めてもよい。このようにすることで、コンテンツデータの種類またはサイズに適した所定数の部分データを検証に用いることができる。
なお、ステップS303で所定数を定めるときには、コンテンツデータの種類に基づいて、複数の部分データのうちのどの部分データを所定数個の部分データとして選択するかを決定してもよい。コンテンツデータの種類に応じて、どの部分データにどのような内容のデータが含まれているかが既知である場合には、検証の必要性がより高い部分を検証の対象とすることができる。
なお、コンテンツデータの種類は、コンテンツデータの更新の間隔を示す指標を含んでもよい。このようにすることで、コンテンツデータの更新の時間間隔を具体的に用いてコンテンツの種類を示すことができる。
<車両100aからサーバ200へセンサ情報をアップロードするシーケンス>
図11は、本実施の形態における車両100aからサーバ200へセンサ情報をアップロードする処理を示すシーケンス図である。
図11は、本実施の形態における車両100aからサーバ200へセンサ情報をアップロードする処理を示すシーケンス図である。
ステップS401において、車両100aのセンサを持つECUはセンサ情報を生成する。例えば、センサは、可視光により撮像するカメラ、又は、ミリ波レーダーである。
ステップS402において、車両100aのECUからゲートウェイ101にセンサ情報を送信する。
ステップS403において、車両100aのゲートウェイ101は、ECU191へセンサ情報を転送する。
ステップS404において、ECU191はITS装置190から取得したセンサ情報をサーバ200へ送信(アップロード)する。
ステップS405において、サーバ200は、車両100aからセンサ情報を受信し、コンテンツDB202に記録する。
<信号機300からサーバ200へセンサ情報をアップロードするシーケンス>
図12は、本実施の形態における信号機300からサーバ200へセンサ情報をアップロードする処理を示すシーケンス図である。
図12は、本実施の形態における信号機300からサーバ200へセンサ情報をアップロードする処理を示すシーケンス図である。
ステップS501において、センサ情報収集部307は、センサ情報を生成する。センサ情報は、例えば、信号機300の周辺の道路状況、又は、信号機300の周辺のカメラの画像情報などである。
ステップS502において、センサ情報収集部307は、センサ情報をコンテンツDB302に送信する。
ステップS503において、コンテンツDB302は、センサ情報を記録する。
ステップS504において、コンテンツ送信部306は、コンテンツDB302に記録されているセンサ情報を取得するために、コンテンツDB302へアクセスし、センサ情報を取得する。
ステップS505において、コンテンツ送信部306は、サーバ200へセンサ情報をアップロードする。
ステップS506において、サーバ200は、信号機300からセンサ情報を受信し、コンテンツDB202にセンサ情報を記録する。
1.7 実施の形態の効果
本実施の形態の検証方法によれば、検証装置つまりゲートウェイ101が、地図情報などを含む大容量のコンテンツデータを検証する場合に、コンテンツデータのうちの、車両の状態に応じて選択される一部を検証に用いるので、実用的なレベルで安全性を維持したまま、高速な検証が可能となり、安全なシステムの構築が可能となる。
本実施の形態の検証方法によれば、検証装置つまりゲートウェイ101が、地図情報などを含む大容量のコンテンツデータを検証する場合に、コンテンツデータのうちの、車両の状態に応じて選択される一部を検証に用いるので、実用的なレベルで安全性を維持したまま、高速な検証が可能となり、安全なシステムの構築が可能となる。
また、攻撃者は秘密鍵を持っておらず、攻撃者が正当な署名を生成することは困難であるので、検証装置は、コンテンツデータの検証用データに含まれる署名を用いて、コンテンツデータが正当であるか否かを検証でき、すなわち、攻撃者によるコンテンツデータの改ざんを検出できる。検証装置は、このようにコンテンツデータが正当であるか否かを検証できるので、その後に不正なコンテンツデータを破棄するなどして、車両の自動運転などの動作に正当なコンテンツデータのみを利用することによって、安全なシステムが構築できる。このように、検証装置は、車両の自動運転への利用に、より適したコンテンツの検証方法により、コンテンツを検証できる。
また、検証装置は、地図情報などを含む大容量のコンテンツデータを検証する場合に、コンテンツデータの一部をランダムに選択して検証するので、実用的なレベルで安全性を維持したまま、高速な検証が可能となり、安全なシステムの構築が可能となる。
ここで、車両におけるコンテンツデータの検証は、コンテンツデータを複数に分割した部分データのうち所定数をランダムに選択してなされる。そのため、システムへの攻撃者が、コンテンツデータを不正に改ざんした場合、選択した分割されたコンテンツデータの中に攻撃者による不正な改ざんが含まれる可能性が高い。よって、検証装置は、コンテンツデータが正当であるか否かをより適切に検証できるので、より安全なシステムが構築できる。
言い換えれば、検証装置が、複数の部分データのうちのどの部分データを検証に使用するかが毎回変化するので、成りすましなどによる悪意あるデータをより適切に検出することができる。よって、検証装置は、車両の自動運転への利用に、より適したコンテンツの検証方法により、コンテンツを検証できる。
また、検証装置は、検証のために確保できる時間が比較的長い場合には、コンテンツデータをより詳しく検証することができ、一方、検証のために確保できる時間が比較的短い場合には、短時間でコンテンツデータの検証を終えて、コンテンツデータを利用できる。よって、検証装置は、検証のために確保できる時間の長短に応じて、車両の自動運転への利用に、より適したコンテンツの検証方法により、コンテンツを検証できる。
また、検証装置は、検証のために確保できる処理能力が比較的大きい場合には、コンテンツデータをより詳しく検証することができ、一方、検証のために確保できる処理能力が比較的小さい場合には、短時間でコンテンツデータの検証を終えて、コンテンツデータを利用できる。よって、検証装置は、検証のために確保できる処理能力の大小に応じて、車両の自動運転への利用に、より適したコンテンツの検証方法により、コンテンツを検証できる。
また、検証装置は、通信量情報から得られる、検証のために確保できる処理能力が比較的大きい場合には、コンテンツデータをより詳しく検証することができ、一方、検証のために確保できる処理能力が比較的小さい場合には、短時間でコンテンツデータの検証を終えて、コンテンツデータを利用できる。よって、検証装置は、検証のために確保できる処理能力の大小に応じて、車両の自動運転への利用に、より適したコンテンツの検証方法により、コンテンツを検証できる。
また、検証装置は、コンテンツデータの種類またはサイズに適した所定数の部分データを検証に用いることができる。よって、検証装置は、コンテンツデータの種類またはサイズに応じて、車両の自動運転への利用に、より適したコンテンツの検証方法により、コンテンツを検証できる。
また、検証装置は、コンテンツデータの種類に応じて、どの部分データにどのような内容のデータが含まれているかが既知である場合には、検証の必要性がより高い部分を検証の対象とすることができる。よって、検証装置は、検証の必要性がより高い部分を検証に用いることにより、車両の自動運転への利用に、より適したコンテンツの検証方法により、コンテンツを検証できる。
また、検証装置は、コンテンツデータの更新の時間間隔を用いてコンテンツの種類を示し、車両の自動運転への利用に、より適したコンテンツの検証方法により、コンテンツを検証できる。
2. その他変形例
なお、本発明を上記実施の形態に基づいて説明してきたが、本発明は、上記実施の形態に限定されないのはもちろんである。以下のような場合も本発明に含まれる。
なお、本発明を上記実施の形態に基づいて説明してきたが、本発明は、上記実施の形態に限定されないのはもちろんである。以下のような場合も本発明に含まれる。
(1)上記の実施の形態では、車載ネットワークはCANまたはEthernet(登録商標)またはCANとEthernet(登録商標)の混在であるとして説明したが、これに限定されることなく、例えば、CAN-FD(CAN with Flexible Data Rate)、LIN(Local Interconnect Network)、FlexRay(登録商標)であってもよいし、それぞれを組み合わせた構成であってもよい。
(2)上記の実施の形態では、車載ネットワークに送信されたメッセージからトランスミッションに係るギアの情報や速度情報を取得し、車両の状態を示す状態情報を取得したが、これに限定されない。車載カメラの画像情報、GPS、ミリ波レーダーやレーザーレーダーの情報やこれらを組み合わせて状態情報を推定してもよい。例えば、車載カメラの画像情報から車両の周囲の状況から、車両が、「走行中」、「駐車中」及び「停車中」のいずれであるかを判断してもよい。
(3)上記の実施の形態では、コンテンツデータから所定数の部分データを選択し、選択した部分データのそれぞれに対してハッシュ値を生成したが、所定数は状態情報だけでなく、取得したコンテンツデータの種類やサイズによって所定数を変更してもよい。コンテンツデータのサイズが比較的少ない場合は全ての分割されたコンテンツデータを選択すれば、コンテンツデータすべてに対して検証できる。
(4)上記の実施の形態では、コンテンツデータから分割されたコンテンツデータをランダムに選択したが、取得したコンテンツデータの種類によって、分割されたコンテンツデータの選択方法を変えてもよい。例えば、コンテンツデータが地図データの場合、車両の位置に近い地図データを含むように分割されたコンテンツデータを選択してもよいし、地図データのうち、前に取得した分割されたコンテンツデータに対して差分の分割されたコンテンツデータを選択してもよい。また、地図データがダイナミックマップのように、静的な情報に動的な情報が重畳されている場合、動的情報を多く含むように分割されたコンテンツデータを選択してもよい。前回受信したコンテンツデータから差分の大きい分割されたコンテンツデータを積極的に選択することで、効率よくコンテンツデータを検証することができる。
(5)上記の実施の形態では、コンテンツデータの検証用データに署名を用いたが、これに限らない。車両がサーバや信号機と共通の秘密鍵を保持している場合、コンテンツデータのMAC(Message Authentication Code)を検証用データとしてもよい。このとき、MACはCMACやHMACを用いるとしてもよい。
(6)上記の実施の形態では、コンテンツデータのハッシュ値に対して署名を生成したが、これに限らない。複数の部分データのそれぞれのハッシュ値を結合し、結合したハッシュ値に対して、さらにハッシュ値を生成して、このハッシュ値に対して署名を生成してもよい。これにより、署名を生成する対象のハッシュ値が短くなり、署名が効率よく生成できる。
(7)上記の実施の形態における各装置は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。RAMまたはハードディスクユニットには、コンピュータプログラムが記録されている。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
(8)上記の実施の形態における各装置は、構成する構成要素の一部または全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAMなどを含んで構成されるコンピュータシステムである。RAMには、コンピュータプログラムが記録されている。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、システムLSIは、その機能を達成する。
また、上記の各装置を構成する構成要素の各部は、個別に1チップ化されていても良いし、一部又はすべてを含むように1チップ化されてもよい。
また、ここでは、システムLSIとしたが、集積度の違いにより、IC、LSI、スーパーLSI、ウルトラLSIと呼称されることもある。また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用しても良い。
さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。
(9)上記の各装置を構成する構成要素の一部または全部は、各装置に脱着可能なICカードまたは単体のモジュールから構成されているとしてもよい。ICカードまたはモジュールは、マイクロプロセッサ、ROM、RAMなどから構成されるコンピュータシステムである。ICカードまたはモジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、ICカードまたはモジュールは、その機能を達成する。このICカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。
(10)本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、コンピュータプログラムからなるデジタル信号であるとしてもよい。
また、本発明は、コンピュータプログラムまたはデジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、BD(Blu-ray(登録商標) Disc)、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されている前記デジタル信号であるとしてもよい。
また、本発明は、コンピュータプログラムまたはデジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
また、本発明は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、メモリは、コンピュータプログラムを記録しており、マイクロプロセッサは、コンピュータプログラムにしたがって動作するとしてもよい。
また、プログラムまたはデジタル信号を前記記録媒体に記録して移送することにより、またはプログラムまたはデジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
(11)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
なお、上記各実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPUまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。ここで、上記各実施の形態の検証装置などを実現するソフトウェアは、次のようなプログラムである。
すなわち、このプログラムは、コンピュータに、車両で利用されるコンテンツデータを検証する検証方法であって、前記コンテンツデータと、前記コンテンツデータを分割した複数の部分データのそれぞれから生成された複数の第一ハッシュ値と、前記複数の第一ハッシュ値及び秘密鍵を用いて生成された署名とを取得し、前記車両の状態を示す状態情報を取得し、取得した前記状態情報に応じて1以上の整数であるNを定め、前記複数の部分データのうち前記N個の部分データのそれぞれから第二ハッシュ値を生成し、(a)取得した前記複数の第一ハッシュ値のうち、前記複数の部分データのうちの前記N個の部分データを除く部分データのそれぞれから生成された第一ハッシュ値と、(b)生成した前記第二ハッシュ値と、(c)取得した前記署名と、を用いて、前記コンテンツデータの検証を行い、前記検証の結果を示す情報を出力する検証方法を実行させる。
以上、一つまたは複数の態様に係る検証装置などについて、実施の形態に基づいて説明したが、本発明は、この実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、一つまたは複数の態様の範囲内に含まれてもよい。
本発明は、地図情報などの大容量のコンテンツデータのダウンロードにおいて、コンテンツの一部をランダムに選んで検証することで、安全性を実用的なレベルで維持したまま、効率よく検証できる。これにより、安全なシステムを構築することが可能となる。
10 コンテンツ検証システム
100a、100b 車両
101 ゲートウェイ
110 エンジン
120 トランスミッション
130 ブレーキ
140 ステアリング
150 自動ブレーキ
160 車線維持装置
170 車車間通信装置
180 ヘッドユニット
190 ITS装置
111、121、131、141、151、161、171、181、191 ECU
200 サーバ
201、301 コンテンツ収集部
202、302 コンテンツDB
203、303 コンテンツ分割部
204、304 暗号処理部
205、305、1002 鍵保持部
206、308、1005 通信部
300 信号機
306 コンテンツ送信部
307 センサ情報収集部
1001 コンテンツ検証部
1003 メッセージ処理部
1004 車両状態保持部
C1、C2、D1 コンテンツデータ
C11、C12、C13、C14、C15、D11、D12、D13、D14、D15
部分データ
H11、H12、H13、H14、H15、J11、J12、J13、J14、J15、J21、J23 ハッシュ値
S1、T1 署名
V、W 検証用データ
100a、100b 車両
101 ゲートウェイ
110 エンジン
120 トランスミッション
130 ブレーキ
140 ステアリング
150 自動ブレーキ
160 車線維持装置
170 車車間通信装置
180 ヘッドユニット
190 ITS装置
111、121、131、141、151、161、171、181、191 ECU
200 サーバ
201、301 コンテンツ収集部
202、302 コンテンツDB
203、303 コンテンツ分割部
204、304 暗号処理部
205、305、1002 鍵保持部
206、308、1005 通信部
300 信号機
306 コンテンツ送信部
307 センサ情報収集部
1001 コンテンツ検証部
1003 メッセージ処理部
1004 車両状態保持部
C1、C2、D1 コンテンツデータ
C11、C12、C13、C14、C15、D11、D12、D13、D14、D15
部分データ
H11、H12、H13、H14、H15、J11、J12、J13、J14、J15、J21、J23 ハッシュ値
S1、T1 署名
V、W 検証用データ
Claims (11)
- 車両で利用されるコンテンツデータを検証する検証方法であって、
前記コンテンツデータと、前記コンテンツデータを分割した複数の部分データのそれぞれから生成された複数の第一ハッシュ値と、前記複数の第一ハッシュ値及び共通の秘密鍵を用いて生成されたメッセージ認証コードとを取得し、
前記車両の状態を示す状態情報を取得し、
取得した前記状態情報に応じて1以上の整数であるNを定め、前記複数の部分データのうち前記N個の部分データのそれぞれから第二ハッシュ値を生成し、
(a)取得した前記複数の第一ハッシュ値のうち、前記複数の部分データのうちの前記N個の部分データを除く部分データのそれぞれから生成された第一ハッシュ値と、(b)生成した前記第二ハッシュ値と、(c)取得した前記メッセージ認証コードと、を用いて、前記コンテンツデータの検証を行い、
前記検証の結果を示す情報を出力する
検証方法。 - 前記メッセージ認証コードは、CMACまたはHMACを用いる
請求項1に記載の検証方法。 - 前記第二ハッシュ値を生成する際には、前記複数の部分データから前記N個の部分データをランダムに選択し、選択した前記N個の部分データのそれぞれから第二ハッシュ値を生成する
請求項1又は2に記載の検証方法。 - 前記状態情報は、前記車両が走行中であるか否かを示し、
前記第二ハッシュ値を生成する際には、
前記車両が走行中である場合には、前記Nを第1の値に定め、
前記車両が走行中でない場合には、前記Nを前記第1の値より大きい第2の値に定め、
定めた前記Nを用いて、前記N個の部分データのそれぞれから前記第二ハッシュ値を生成する
請求項1~3のいずれか1項に記載の検証方法。 - 前記状態情報は、前記車両の状態として、前記検証方法を実行する装置の処理負荷を示し、
前記第二ハッシュ値を生成する際には、
前記処理負荷が高いほど、前記Nをより小さな値に定め、定めた前記Nを用いて、前記N個の部分データのそれぞれから前記第二ハッシュ値を生成する
請求項1~4のいずれか1項に記載の検証方法。 - 前記状態情報は、前記車両の状態として、前記検証方法を実行する装置が行う通信の通信量を示し、
前記第二ハッシュ値を生成する際には、
前記通信量が多いほど、前記Nをより小さな値に定め、定めた前記Nを用いて、前記N個の部分データのそれぞれから前記第二ハッシュ値を生成する
請求項1~5のいずれか1項に記載の検証方法。 - 前記第二ハッシュ値を生成する際には、前記コンテンツデータの種類またはサイズに応じて前記Nを定め、定めた前記Nを用いて、前記N個の部分データのそれぞれから前記第二ハッシュ値を生成する
請求項1~6のいずれか1項に記載の検証方法。 - 前記第二ハッシュ値を生成する際には、前記コンテンツデータの種類に基づいて、前記複数の部分データのうちのどの部分データを前記N個の部分データとして選択するかを決定し、当該決定に基づいて選択した前記N個の部分データのそれぞれから前記第二ハッシュ値を生成する
請求項1~7のいずれか1項に記載の検証方法。 - 前記コンテンツデータの種類は、前記コンテンツデータの更新の間隔を示す指標を含む
請求項7又は8に記載の検証方法。 - 車両で利用されるコンテンツデータを検証する検証装置であって、
プロセッサと、前記プロセッサに接続されたメモリとを備え、
前記プロセッサは、前記メモリを用いて、
前記コンテンツデータと、前記コンテンツデータを分割した複数の部分データのそれぞれから生成された複数の第一ハッシュ値と、前記複数の第一ハッシュ値及び共通の秘密鍵を用いて生成されたメッセージ認証コードとを取得し、
前記車両の状態を示す状態情報を取得し、
取得した前記状態情報に応じて1以上の整数であるNを定め、前記複数の部分データのうち前記N個の部分データのそれぞれから第二ハッシュ値を生成し、
(a)取得した前記複数の第一ハッシュ値のうち、前記複数の部分データのうちの前記N個の部分データを除く部分データのそれぞれから生成された第一ハッシュ値と、(b)生成した前記第二ハッシュ値と、(c)前記メッセージ認証コードと、を用いて、前記コンテンツデータの検証を行い、
前記検証の結果を示す情報を出力する
検証装置。 - 請求項1~9のいずれか1項に記載された検証方法を、プロセッサに実行させるためのプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022156717A JP7369843B2 (ja) | 2017-05-15 | 2022-09-29 | 検証方法、検証装置およびプログラム |
JP2023178106A JP2023178378A (ja) | 2017-05-15 | 2023-10-16 | 検証方法、検証装置、生成方法、生成装置およびプログラム |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017096225 | 2017-05-15 | ||
JP2017096225 | 2017-05-15 | ||
JP2018009147A JP6959155B2 (ja) | 2017-05-15 | 2018-01-23 | 検証方法、検証装置およびプログラム |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018009147A Division JP6959155B2 (ja) | 2017-05-15 | 2018-01-23 | 検証方法、検証装置およびプログラム |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022156717A Division JP7369843B2 (ja) | 2017-05-15 | 2022-09-29 | 検証方法、検証装置およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022008954A JP2022008954A (ja) | 2022-01-14 |
JP7152579B2 true JP7152579B2 (ja) | 2022-10-12 |
Family
ID=64273722
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021165456A Active JP7152579B2 (ja) | 2017-05-15 | 2021-10-07 | 検証方法、検証装置およびプログラム |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230246849A1 (ja) |
JP (1) | JP7152579B2 (ja) |
CN (1) | CN115795435A (ja) |
WO (1) | WO2018211757A1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109274506B (zh) * | 2018-11-23 | 2021-04-02 | 浙江工商大学 | 一种基于国密sm2的无证书签名方法 |
DE102019202527A1 (de) * | 2019-02-25 | 2020-08-27 | Robert Bosch Gmbh | Sicherheitssystem und Verfahren zum Betreiben eines Sicherheitssystems |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001052128A1 (fr) | 2000-01-13 | 2001-07-19 | Yutaka Yasukura | Procede d'interrogation par voie electronique |
JP2007535189A (ja) | 2004-04-02 | 2007-11-29 | 松下電器産業株式会社 | 不正コンテンツ検知システム |
JP2011229076A (ja) | 2010-04-22 | 2011-11-10 | Denso Corp | 通信システム,送信機,受信機,送受信機 |
WO2015170452A1 (ja) | 2014-05-08 | 2015-11-12 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 車載ネットワークシステム、電子制御ユニット及び更新処理方法 |
WO2016075869A1 (ja) | 2014-11-13 | 2016-05-19 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 鍵管理方法、車載ネットワークシステム及び鍵管理装置 |
JP2016534629A (ja) | 2013-08-23 | 2016-11-04 | クアルコム,インコーポレイテッド | プリコード化されたパケットのハッシュ処理を使用したセキュアなコンテンツ配信 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5895214B2 (ja) * | 2012-07-04 | 2016-03-30 | パナソニックIpマネジメント株式会社 | 無線装置 |
-
2018
- 2018-02-14 CN CN202211419481.0A patent/CN115795435A/zh active Pending
- 2018-02-14 WO PCT/JP2018/004973 patent/WO2018211757A1/ja unknown
-
2021
- 2021-10-07 JP JP2021165456A patent/JP7152579B2/ja active Active
-
2023
- 2023-04-06 US US18/131,448 patent/US20230246849A1/en active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001052128A1 (fr) | 2000-01-13 | 2001-07-19 | Yutaka Yasukura | Procede d'interrogation par voie electronique |
JP2007535189A (ja) | 2004-04-02 | 2007-11-29 | 松下電器産業株式会社 | 不正コンテンツ検知システム |
JP2011229076A (ja) | 2010-04-22 | 2011-11-10 | Denso Corp | 通信システム,送信機,受信機,送受信機 |
JP2016534629A (ja) | 2013-08-23 | 2016-11-04 | クアルコム,インコーポレイテッド | プリコード化されたパケットのハッシュ処理を使用したセキュアなコンテンツ配信 |
WO2015170452A1 (ja) | 2014-05-08 | 2015-11-12 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 車載ネットワークシステム、電子制御ユニット及び更新処理方法 |
WO2016075869A1 (ja) | 2014-11-13 | 2016-05-19 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 鍵管理方法、車載ネットワークシステム及び鍵管理装置 |
Also Published As
Publication number | Publication date |
---|---|
US20230246849A1 (en) | 2023-08-03 |
WO2018211757A1 (ja) | 2018-11-22 |
JP2022008954A (ja) | 2022-01-14 |
CN115795435A (zh) | 2023-03-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7369843B2 (ja) | 検証方法、検証装置およびプログラム | |
JP7197638B2 (ja) | セキュリティ処理方法及びサーバ | |
US10896616B2 (en) | Method for handling case of detecting unauthorized frame transmitted over onboard network | |
US20230246849A1 (en) | Verification method, verification apparatus, and storage medium including program stored therein | |
JP2023021333A (ja) | セキュリティ処理方法及びサーバ | |
KR102379110B1 (ko) | 차량용 프로세서의 안전한 부트 | |
JP7176488B2 (ja) | データ保存装置、及びデータ保存プログラム | |
KR101954507B1 (ko) | 차량의 인증서 생성 방법 및 장치 | |
JP2017046080A (ja) | 車載器、車載器プログラム、車車間通信支援装置および車車間通信支援プログラム | |
US20230089171A1 (en) | Method for handling case of detecting unauthorized frame transmitted over onboard network | |
US20240275581A1 (en) | Data storage system, mobile object, and non-transitory computer readable storage medium | |
WO2022218205A1 (zh) | 数据传输方法及数据处理装置 | |
US12126993B2 (en) | Method and system for protecting proprietary information used to determine a misbehavior condition for vehicle-to-everything (V2X) reporting | |
US20230015693A1 (en) | Restoration of corrupted keys in a secure storage system | |
WO2024013789A1 (ja) | ユーザ機器、基地局及び通信方法 | |
WO2023136288A1 (ja) | データ保存装置、移動体、及びデータ削除プログラム | |
US20240361935A1 (en) | Data storage device, mobile object, and storage medium storing data deletion program | |
US20220256333A1 (en) | Method and System for Protecting Proprietary Information Used to Determine a Misbehavior Condition for Vehicle-to-Everything (V2X) Reporting | |
JP2024540548A (ja) | ロバストな無線リプログラミング |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20211007 |
|
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: 20220830 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220929 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7152579 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |