CN108496322A - 车载计算机系统、车辆、密钥生成装置、管理方法、密钥生成方法以及计算机程序 - Google Patents

车载计算机系统、车辆、密钥生成装置、管理方法、密钥生成方法以及计算机程序 Download PDF

Info

Publication number
CN108496322A
CN108496322A CN201780007461.3A CN201780007461A CN108496322A CN 108496322 A CN108496322 A CN 108496322A CN 201780007461 A CN201780007461 A CN 201780007461A CN 108496322 A CN108496322 A CN 108496322A
Authority
CN
China
Prior art keywords
key
car
mounted computer
authentication code
vehicle
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201780007461.3A
Other languages
English (en)
Other versions
CN108496322B (zh
Inventor
竹森敬祐
沟口诚郎
沟口诚一郎
川端秀明
洼田步
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
KDDI Corp
Original Assignee
KDDI Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by KDDI Corp filed Critical KDDI Corp
Priority claimed from PCT/JP2017/000105 external-priority patent/WO2017126322A1/ja
Publication of CN108496322A publication Critical patent/CN108496322A/zh
Application granted granted Critical
Publication of CN108496322B publication Critical patent/CN108496322B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus 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
    • 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/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • 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/0877Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
    • 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
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/84Vehicles

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Power Engineering (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Lock And Its Accessories (AREA)

Abstract

在SHE‑B中,初始密钥被设定在能够用于消息认证码的生成处理以及验证处理的一个KEY_N密钥中,在SHE‑A中,作为初始密钥使用的主密钥被设定在能够用于消息认证码的生成处理以及验证处理的一个KEY_N密钥中,该主密钥与被认证ECU的标识符一起用于生成消息认证码,CPU使SHE‑A使用主密钥来生成关于被认证ECU的标识符的消息认证码,并使用生成的该消息认证码来执行被认证ECU的合法性的认证处理。

Description

车载计算机系统、车辆、密钥生成装置、管理方法、密钥生成方 法以及计算机程序
技术领域
本发明涉及车载计算机系统、车辆、密钥生成装置、管理方法、密钥生成方法以及计算机程序。
本申请基于2016年1月18日在日本申请的特愿2016-007432号及2016年7月29日在日本申请的特愿2016-150269号而要求优先权,并在本文援引其内容。
背景技术
近年来,机动车具有ECU(Electronic Control Unit;电子控制单元),通过ECU来实现发动机控制等功能。ECU是计算机的一种,通过计算机程序来实现期望的功能。例如,在非专利文献1中记载了关于将多个ECU与CAN(Controller Area Network;控制器区域网络)连接而构成的车载控制系统的安全技术。
现有技术文献
非专利文献
非专利文献1:竹森敬祐,“安全元件を基点とした车载控制系统の保護-要素技術の整理と考察-(基于安全元件的车载控制系统的保护-要素技术的整理和考察-)”、电子信息通信学会、信学技报、vol.114,no.508,pp.73-78,2015年3月
非专利文献2:STMicroelectronics,“AN4240Application Note”,Sep.2013.,互联网<URL:http://www.st.com/web/en/resource/technical/document/application_note/DM00075575.pdf>
发明内容
发明要解决的问题
ECU具有加密处理芯片,通过加密处理芯片执行加密处理,从而提高车载控制系统中的数据的安全性。然而,根据ECU具有的加密处理芯片的种类,有可能不能充分地确保数据的安全性。
本发明是鉴于这种情况而提出的,其课题在于,提供能够通过执行与ECU等车载计算机具有的加密处理芯片相对应的加密处理顺序来提高车载控制系统中的数据的安全性的车载计算机系统、车辆、管理方法、以及计算机程序。
另外,其课题在于,提供能够灵活地生成存储在该车载计算机中的密钥的密钥生成装置、密钥生成方法以及计算机程序。
解决问题的技术方案
(1)本发明的一个方式是车载计算机系统,设置在车辆中,所述车载计算机系统包括:第一车载计算机,具有第一运算处理装置、第一SHE(Secure Hardware Extension;安全硬件扩展)和第一存储部;以及第二车载计算机,具有第二运算处理装置、第二SHE和第二存储部,所述第一车载计算机和所述第二车载计算机连接到所述车辆具有的通信网络,在所述第二SHE中,初始密钥被设定在能够用于消息认证码的生成处理以及验证处理的一个KEY_N密钥中,在所述第一SHE中,作为所述初始密钥使用的主密钥被设定在能够用于消息认证码的生成处理以及验证处理的一个KEY_N密钥中,该主密钥与所述第二车载计算机的标识符一起用于生成消息认证码,所述第一运算处理装置使所述第一SHE使用所述主密钥来生成关于从所述第二车载计算机接收到的所述第二车载计算机的标识符的消息认证码,使用生成的该消息认证码来执行所述第二车载计算机的合法性的认证处理。
(2)本发明的一个方式的车载计算机系统在上述(1)的车载计算机系统中,所述第一运算处理装置使所述第一SHE使用所述主密钥来生成所述第二SHE的MEK密钥,使所述第一SHE使用所述MEK密钥来生成将密钥交换密钥注册到能够用于所述第二SHE的加密处理以及解密处理的一个KEY_N密钥或者能够用于所述第二SHE的消息认证码的生成处理以及验证处理的一个KEY_N密钥中的密钥注册消息,并将该密钥注册消息发送给所述第二车载计算机,所述第二运算处理装置根据该密钥注册消息,将密钥交换密钥注册到所述第二SHE中。
(3)本发明的一个方式的车载计算机系统在上述(2)的车载计算机系统中,所述第一运算处理装置使所述第一SHE使用所述密钥交换密钥来生成将MAC密钥注册到所述第二SHE的RAM_KEY密钥中的密钥注册消息,并将该密钥注册消息发送给所述第二车载计算机,所述第二运算处理装置根据该密钥注册消息,将MAC密钥注册到所述第二SHE中。
(4)本发明的一个方式的车载计算机系统在上述(3)的车载计算机系统中,所述第二存储部把将MAC密钥注册到所述第二SHE的RAM_KEY密钥中的密钥注册消息存储在非易失性存储器中,所述第二运算处理装置根据存储在所述非易失性存储器中的密钥注册消息,将MAC密钥注册到所述第二SHE中,所述第一车载计算机和所述第二车载计算机根据存储在所述非易失性存储器中的密钥注册消息,基于注册到所述第二SHE的RAM_KEY密钥中的MAC密钥来执行合法性的认证处理。
(5)本发明的一个方式是车载计算机系统,设置在车辆中,所述车载计算机系统包括:第一车载计算机,具有第一运算处理装置、HSM(Hardware Security Module;硬件安全模块)和第一存储部;以及第二车载计算机,具有第二运算处理装置、SHE(Secure HardwareExtension;安全硬件扩展)和第二存储部,所述第一车载计算机和所述第二车载计算机连接到所述车辆具有的通信网络,在所述SHE中,初始密钥被设定在能够用于消息认证码的生成处理以及验证处理的一个KEY_N密钥中,在所述HSM中,存储有作为所述初始密钥使用的主密钥,该主密钥与所述第二车载计算机的标识符一起用于生成消息认证码,所述第一运算处理装置使所述HSM使用所述主密钥来生成关于从所述第二车载计算机接收到的所述第二车载计算机的标识符的消息认证码,使用生成的该消息认证码来执行所述第二车载计算机的合法性的认证处理。
(6)本发明的一个方式的车载计算机系统在上述(5)的车载计算机系统中,所述第一运算处理装置使所述HSM使用所述主密钥来生成所述SHE的MEK密钥,所述第一运算处理装置使所述HSM使用所述MEK密钥来生成将密钥交换密钥注册到能够用于所述SHE的加密处理以及解密处理的一个KEY_N密钥或者能够用于所述SHE的消息认证码的生成处理以及验证处理的一个KEY_N密钥中的密钥注册消息,并将该密钥注册消息发送给所述第二车载计算机,所述第二运算处理装置根据该密钥注册消息,将密钥交换密钥注册到所述SHE中。
(7)本发明的一个方式的车载计算机系统在上述(6)的车载计算机系统中,所述第一运算处理装置使所述HSM使用所述密钥交换密钥来生成将MAC密钥注册到所述SHE的RAM_KEY密钥中的密钥注册消息,并将该密钥注册消息发送给所述第二车载计算机,所述第二运算处理装置根据该密钥注册消息,将MAC密钥注册到所述SHE中。
(8)本发明的一个方式的车载计算机系统在上述(7)的车载计算机系统中,所述第二存储部把将MAC密钥注册到所述SHE的RAM_KEY密钥中的密钥注册消息存储在非易失性存储器中,所述第二运算处理装置根据存储在所述非易失性存储器中的密钥注册消息,将MAC密钥注册到所述SHE中,所述第一车载计算机和所述第二车载计算机根据存储在所述非易失性存储器中的密钥注册消息,基于注册到所述SHE的RAM_KEY密钥中的MAC密钥来执行合法性的认证处理。
(9)本发明的一个方式是车载计算机系统,设置在车辆中,所述车载计算机系统包括:第一车载计算机,具有第一运算处理装置、第一SHE(Secure Hardware Extension;安全硬件扩展)和第一存储部;以及第二车载计算机,具有第二运算处理装置、第二SHE和第二存储部,所述第一车载计算机和所述第二车载计算机连接到所述车辆具有的通信网络,在所述第二SHE中,初始密钥被设定在能够用于消息认证码的生成处理以及验证处理的一个KEY_N密钥中,所述第一运算处理装置使存储作为所述初始密钥使用的主密钥的安全元件生成关于从所述第二车载计算机接收到的所述第二车载计算机的标识符的消息认证码,所述主密钥与所述第二车载计算机的标识符一起用于生成消息认证码,使所述安全元件执行使用生成的该消息认证码的所述第二车载计算机的合法性的认证处理。
(10)本发明的一个方式的车载计算机系统在上述(9)的车载计算机系统中,所述第一运算处理装置使所述安全元件使用所述主密钥来生成所述第二SHE的MEK密钥,使所述安全元件使用所述MEK密钥来生成将密钥交换密钥注册到能够用于所述第二SHE的加密处理以及解密处理的一个KEY_N密钥或者能够用于所述第二SHE的消息认证码的生成处理以及验证处理的一个KEY_N密钥中的密钥注册消息,并将该密钥注册消息发送给所述第二车载计算机,所述第二运算处理装置根据该密钥注册消息,将密钥交换密钥注册到所述第二SHE中。
(11)本发明的一个方式是车载计算机系统,设置在车辆中,所述车载计算机系统包括:第一车载计算机,具有第一运算处理装置、HSM(Hardware Security Module;硬件安全模块)和第一存储部;以及第二车载计算机,具有第二运算处理装置、SHE(SecureHardware Extension;安全硬件扩展)和第二存储部,所述第一车载计算机和所述第二车载计算机连接到所述车辆具有的通信网络,在所述SHE中,初始密钥被设定在能够用于消息认证码的生成处理以及验证处理的一个KEY_N密钥中,所述第一运算处理装置使存储作为所述初始密钥使用的主密钥的安全元件生成关于从所述第二车载计算机接收到的所述第二车载计算机的标识符的消息认证码,所述主密钥与所述第二车载计算机的标识符一起用于生成消息认证码,使所述安全元件执行使用生成的该消息认证码的所述第二车载计算机的合法性的认证处理。
(12)本发明的一个方式的车载计算机系统在上述(11)的车载计算机系统中,所述第一运算处理装置使所述安全元件使用所述主密钥来生成所述SHE的MEK密钥,使所述安全元件使用所述MEK密钥来生成将密钥交换密钥注册到能够用于所述SHE的加密处理以及解密处理的一个KEY_N密钥或者能够用于所述SHE的消息认证码的生成处理以及验证处理的一个KEY_N密钥中的密钥注册消息,并将该密钥注册消息发送给所述第二车载计算机,所述第二运算处理装置根据该密钥注册消息,将密钥交换密钥注册到所述SHE中。
(13)本发明的一个方式是车辆,具有上述(1)~(12)中的任一项所述的车载计算机系统。
(14)本发明的一个方式是管理方法,其中,设置在车辆中的车载计算机系统包括:第一车载计算机,具有第一运算处理装置、第一SHE(Secure Hardware Extension;安全硬件扩展)和第一存储部;以及第二车载计算机,具有第二运算处理装置、第二SHE和第二存储部,所述第一车载计算机和所述第二车载计算机连接到所述车辆具有的通信网络,在所述第二SHE中,初始密钥被设定在能够用于消息认证码的生成处理以及验证处理的一个KEY_N密钥中,在所述第一SHE中,作为所述初始密钥使用的主密钥被设定在能够用于消息认证码的生成处理以及验证处理的一个KEY_N密钥中,该主密钥与所述第二车载计算机的标识符一起用于生成消息认证码,所述管理方法包括:消息认证码生成步骤,所述第一运算处理装置使所述第一SHE使用所述主密钥来生成关于从所述第二车载计算机接收到的所述第二车载计算机的标识符的消息认证码;以及认证步骤,所述第一运算处理装置使用生成的该消息认证码来执行所述第二车载计算机的合法性的认证处理。
(15)本发明的一个方式是管理方法,其中,设置在车辆中的车载计算机系统包括:第一车载计算机,具有第一运算处理装置、HSM(Hardware Security Module;硬件安全模块)和第一存储部;以及第二车载计算机,具有第二运算处理装置、SHE(Secure HardwareExtension;安全硬件扩展)和第二存储部,所述第一车载计算机和所述第二车载计算机连接到所述车辆具有的通信网络,在所述SHE中,初始密钥被设定在能够用于消息认证码的生成处理以及验证处理的一个KEY_N密钥中,在所述HSM中,存储有作为所述初始密钥使用的主密钥,该主密钥与所述第二车载计算机的标识符一起用于生成消息认证码,所述管理方法包括:消息认证码生成步骤,所述第一运算处理装置使所述HSM使用所述主密钥来生成关于从所述第二车载计算机接收到的所述第二车载计算机的标识符的消息认证码;以及认证步骤,所述第一运算处理装置使用生成的该消息认证码来执行所述第二车载计算机的合法性的认证处理。
(16)本发明的一个方式是管理方法,其中,设置在车辆中的车载计算机系统包括:第一车载计算机,具有第一运算处理装置、第一SHE(Secure Hardware Extension;安全硬件扩展)和第一存储部;以及第二车载计算机,具有第二运算处理装置、第二SHE和第二存储部,所述第一车载计算机和所述第二车载计算机连接到所述车辆具有的通信网络,在所述第二SHE中,初始密钥被设定在能够用于消息认证码的生成处理以及验证处理的一个KEY_N密钥中,所述管理方法包括:消息认证码生成步骤,所述第一运算处理装置使存储作为所述初始密钥使用的主密钥的安全元件生成关于从所述第二车载计算机接收到的所述第二车载计算机的标识符的消息认证码,所述主密钥与所述第二车载计算机的标识符一起用于生成消息认证码;以及认证步骤,所述第一运算处理装置使所述安全元件执行使用生成的该消息认证码的所述第二车载计算机的合法性的认证处理。
(17)本发明的一个方式是管理方法,其中,设置在车辆中的车载计算机系统包括:第一车载计算机,具有第一运算处理装置、HSM(Hardware Security Module;硬件安全模块)和第一存储部;以及第二车载计算机,具有第二运算处理装置、SHE(Secure HardwareExtension;安全硬件扩展)和第二存储部,所述第一车载计算机和所述第二车载计算机连接到所述车辆具有的通信网络,在所述SHE中,初始密钥被设定在能够用于消息认证码的生成处理以及验证处理的一个KEY_N密钥中,所述管理方法包括:消息认证码生成步骤,所述第一运算处理装置使存储作为所述初始密钥使用的主密钥的安全元件生成关于从所述第二车载计算机接收到的所述第二车载计算机的标识符的消息认证码,所述主密钥与所述第二车载计算机的标识符一起用于生成消息认证码;以及认证步骤,所述第一运算处理装置使所述安全元件执行使用生成的该消息认证码的所述第二车载计算机的合法性的认证处理。
(18)本发明的一个方式是计算机程序,其中,设置在车辆中的车载计算机系统包括:第一车载计算机,具有第一运算处理装置、第一SHE(Secure Hardware Extension;安全硬件扩展)和第一存储部;以及第二车载计算机,具有第二运算处理装置、第二SHE和第二存储部,所述第一车载计算机和所述第二车载计算机连接到所述车辆具有的通信网络,在所述第二SHE中,初始密钥被设定在能够用于消息认证码的生成处理以及验证处理的一个KEY_N密钥中,在所述第一SHE中,作为所述初始密钥使用的主密钥被设定在能够用于消息认证码的生成处理以及验证处理的一个KEY_N密钥中,该主密钥与所述第二车载计算机的标识符一起用于生成消息认证码,所述计算机程序用于使作为所述车载计算机系统的所述第一运算处理装置的计算机执行:消息认证码生成步骤,使所述第一SHE使用所述主密钥来生成关于从所述第二车载计算机接收到的所述第二车载计算机的标识符的消息认证码;以及认证步骤,使用生成的该消息认证码来执行所述第二车载计算机的合法性的认证处理。
(19)本发明的一个方式是计算机程序,其中,设置在车辆中的车载计算机系统包括:第一车载计算机,具有第一运算处理装置、HSM(Hardware Security Module;硬件安全模块)和第一存储部;以及第二车载计算机,具有第二运算处理装置、SHE(Secure HardwareExtension;安全硬件扩展)和第二存储部,所述第一车载计算机和所述第二车载计算机连接到所述车辆具有的通信网络,在所述SHE中,初始密钥被设定在能够用于消息认证码的生成处理以及验证处理的一个KEY_N密钥中,在所述HSM中,存储有作为所述初始密钥使用的主密钥,该主密钥与所述第二车载计算机的标识符一起用于生成消息认证码,所述计算机程序用于使作为所述车载计算机系统的所述第一运算处理装置的计算机执行:消息认证码生成步骤,使所述HSM使用所述主密钥来生成关于从所述第二车载计算机接收到的所述第二车载计算机的标识符的消息认证码;以及认证步骤,使用生成的该消息认证码来执行所述第二车载计算机的合法性的认证处理。
(20)本发明的一个方式是计算机程序,其中,设置在车辆中的车载计算机系统包括:第一车载计算机,具有第一运算处理装置、第一SHE(Secure Hardware Extension;安全硬件扩展)和第一存储部;以及第二车载计算机,具有第二运算处理装置、第二SHE和第二存储部,所述第一车载计算机和所述第二车载计算机连接到所述车辆具有的通信网络,在所述第二SHE中,初始密钥被设定在能够用于消息认证码的生成处理以及验证处理的一个KEY_N密钥中,所述计算机程序用于使作为所述车载计算机系统的所述第一运算处理装置的计算机执行:消息认证码生成步骤,使存储作为所述初始密钥使用的主密钥的安全元件生成关于从所述第二车载计算机接收到的所述第二车载计算机的标识符的消息认证码,所述主密钥与所述第二车载计算机的标识符一起用于生成消息认证码;以及认证步骤,使所述安全元件执行使用生成的该消息认证码的所述第二车载计算机的合法性的认证处理。
(21)本发明的一个方式是计算机程序,其中,设置在车辆中的车载计算机系统包括:第一车载计算机,具有第一运算处理装置、HSM(Hardware Security Module;硬件安全模块)和第一存储部;以及第二车载计算机,具有第二运算处理装置、SHE(Secure HardwareExtension;安全硬件扩展)和第二存储部,所述第一车载计算机和所述第二车载计算机连接到所述车辆具有的通信网络,在所述SHE中,初始密钥被设定在能够用于消息认证码的生成处理以及验证处理的一个KEY_N密钥中,所述计算机程序用于使作为所述车载计算机系统的所述第一运算处理装置的计算机执行:消息认证码生成步骤,使存储作为所述初始密钥使用的主密钥的安全元件生成关于从所述第二车载计算机接收到的所述第二车载计算机的标识符的消息认证码,所述主密钥与所述第二车载计算机的标识符一起用于生成消息认证码;以及认证步骤,使所述安全元件执行使用生成的该消息认证码的所述第二车载计算机的合法性的认证处理。
(22)本发明的一个方式是密钥生成装置,包括:存储部,存储主密钥;以及计算部,使用存储在所述存储部中的主密钥、车辆具有的车载计算机的标识符和表示密钥的种类的变量,来计算密钥。
(23)本发明的一个方式是密钥生成方法,包括:存储步骤,密钥生成装置将主密钥存储在存储部中;以及计算步骤,所述密钥生成装置使用存储在所述存储部中的主密钥、车辆具有的车载计算机的标识符和表示密钥的种类的变量,来计算密钥。
(24)本发明的一个方式是计算机程序,用于使计算机执行:存储步骤,将主密钥存储在存储部中;以及计算步骤,使用存储在所述存储部中的主密钥、车辆具有的车载计算机的标识符和表示密钥的种类的变量,来计算密钥。
发明效果
根据本发明,通过执行与ECU等车载计算机具有的加密处理芯片相对应的加密处理顺序,获得能够提高车载控制系统中的数据的安全性的效果。另外,获得能够灵活地生成存储在该车载计算机中的密钥的效果。
附图说明
图1是示出第1实施方式的机动车具有的车载计算机系统的构成例的图。
图2是示出第1实施方式的ECU认证方法的顺序图。
图3是示出第1实施方式的密钥交换密钥分发方法的顺序图。
图4是示出第1实施方式的MAC密钥分发方法的顺序图。
图5是示出第1实施方式的MAC密钥分发方法的顺序图。
图6是示出第2实施方式的机动车具有的车载计算机系统的构成例的图。
图7是示出第2实施方式的ECU认证方法的顺序图。
图8是示出第2实施方式的密钥交换密钥分发方法的顺序图。
图9是示出第2实施方式的MAC密钥分发方法的顺序图。
图10是示出第2实施方式的MAC密钥分发方法的顺序图。
图11是示出第3实施方式的机动车具有的车载计算机系统的构成例的图。
图12是示出第3实施方式的ECU认证方法的顺序图。
图13说明第3实施方式的密钥交换密钥分发处理。
图14是示出第4实施方式的机动车具有的车载计算机系统的构成例的图。
图15是示出第4实施方式的ECU认证方法的顺序图。
图16是示出第4实施方式的密钥交换密钥分发方法的顺序图。
图17是示出第4实施方式的密钥交换密钥分发方法的顺序图。
图18是示出第5实施方式的密钥生成装置的构成例的图。
图19是示出第5实施方式的密钥生成方法的一例的顺序图。
具体实施方式
以下,参照附图说明本发明的实施方式。需要说明的是,在以下示出的实施方式中,举出机动车作为车辆的例子来说明。
[第1实施方式]
图1是示出第1实施方式的机动车具有的车载计算机系统的构成例的图。在图1中,机动车1具有的车载计算机系统是第一ECU(电子控制装置)10和多个第二ECU20连接到CAN30而构成。该车载计算机系统能够应用于机动车1的车载控制系统。
第一ECU10和第二ECU20为机动车1具有的车载计算机。第一ECU10是在机动车1中搭载的ECU中具有密钥管理功能的ECU。以下,有时将第一ECU10称为密钥管理ECU10。
第二ECU20是机动车1中搭载的ECU中具有发动机控制等功能的ECU。作为第二ECU20,例如,存在具有发动机控制功能的ECU,具有手柄控制功能的ECU,具有制动器控制功能的ECU等。第二ECU20是由第一ECU10认证合法性的ECU。以下,有时将第二ECU20称为被认证ECU20。
CAN30是通信网络。已知CAN是车辆所搭载的通信网络的一种。第一ECU10经由CAN30在与各第二ECU20之间交换数据。第二ECU20经由CAN30在与其他的第二ECU20之间交换数据。
需要说明的是,作为车辆所搭载的通信网络,机动车1可以具有CAN以外的通信网络,并经由CAN以外的通信网络进行第一ECU10与第二ECU20之间的数据交换以及第二ECU20之间的数据交换。例如,机动车1可以具有LIN(Local Interconnect Network;本地互连网络)。另外,机动车1可以具有CAN和LIN。另外,机动车1还可以具有连接到LIN的第二ECU20。另外,第一ECU10可以连接到CAN和LIN。另外,第一ECU10可以经由CAN在与连接到该CAN的第二ECU20之间交换数据,另外,可以经由LIN在与连接到该LIN的第二ECU20之间交换数据。另外,第二ECU20间可以经由LIN交换数据。
第一ECU10具有CPU(Central Processing Unit:中央运算处理装置)11、存储部12以及SHE(Secure Hardware Extension;安全硬件扩展)13。CPU11执行用于实现第一ECU10的功能的计算机程序。存储部12存储由CPU11执行的计算机程序或各种数据。SHE13具有加密处理功能。SHE13具有防篡改性(Tamper Resistant)。SHE13是安全元件(SecureElement:SE)的例。安全元件具有防篡改性。以下,有时将SHE13称为SHE-A13。
第二ECU20具有CPU21、存储部22和SHE23。CPU21执行用于实现第二ECU20的功能的计算机程序。存储部22存储由CPU21执行的计算机程序或各种数据。SHE23具有加密处理功能。SHE23具有防篡改性。SHE23是安全元件的例。以下,有时将SHE23称为SHE-B23。
在下面的描述中,当SHE13和SHE23没有特别区分时,它们被简称为SHE。
[SHE的说明]
在本实施方式中,第一ECU10以及第二ECU20具有作为加密处理芯片的一例的SHE。以下,对SHE进行说明。SHE具有加密处理功能。作为SHE的加密处理功能之一,有加密以及解密。作为SHE的加密处理功能之一,有MAC(Message Authentication Code;消息认证码)的生成以及验证。作为由SHE处理的MAC,有CMAC(Cipher-based Message AuthenticationCode:基于密码的消息认证码)。
(SHE的密钥的构成)
在SHE中,能够使用多个种类的密钥。在SHE的密钥中,有MASTER_ECU_KEY(MEK)密钥、BOOT_MAC_KEY(BMK)密钥、BOOT_MAC(BM)密钥、KEY_N密钥(其中,N为1到10之间的任意的整数)、以及RAM_KEY密钥。以下,对SHE的密钥进行说明。
(1)MASTER_ECU_KEY(MEK)密钥
MEK密钥是用于更新MEK密钥、BMK密钥、BM密钥、以及KEY_N密钥的密钥。MEK密钥不能用于加密处理及解密处理、MAC的生成处理以及验证处理。MEK密钥的改写次数有限制。
(2)BOOT_MAC_KEY(BMK)密钥
BMK密钥是用于计算在安全启动(Secure Boot)时的CMAC的密钥。BMK密钥能够用于更新BMK密钥以及BM密钥。BMK密钥不能用于加密处理及解密处理、MAC的生成处理以及验证处理。BMK密钥的改写次数有限制。
(3)BOOT_MAC(BM)密钥
BM密钥是在安全启动时的CMAC的期望值。BM密钥不能用于加密处理及解密处理、MAC的生成处理以及验证处理。BM密钥的改写次数有限制。
(4)KEY_N密钥(其中,N为1到10之间的任意的整数)
作为KEY_N密钥,有KEY_1~KEY_10这10个。各KEY_N密钥能够在能够用于加密处理以及解密处理的模式0和能够用于MAC的生成处理以及验证处理的模式1中的任意一个模式中使用。各KEY_N密钥仅能够用于更新自己的密钥。例如,如果使用KEY_1密钥,则能够更新KEY_1密钥。各KEY_N密钥的改写次数有限制。
(5)RAM_KEY密钥
RAM_KEY密钥是能够通过命令CMD_LOAD_PLAIN_KEY,以明文注册的密钥。另外,RAM_KEY密钥也能够通过命令CMD_LOAD_KEY,使用值M1、M2以及M3来注册。但是,在通过命令CMD_LOAD_KEY注册RAM_KEY密钥的情况下,在后述的值M2中不包括计数器值(Counter)。由此,存在对于重放攻击(replay attack)的脆弱性。在RAM_KEY密钥的更新中,能够使用KEY_N密钥。RAM_KEY密钥的改写次数没有限制。
(SHE的密钥的更新方法)
(1)命令CMD_LOAD_KEY
通过命令CMD_LOAD_KEY,能够更新MEK密钥、BMK密钥、BM密钥、KEY_N密钥以及RAM_KEY密钥。在命令CMD_LOAD_KEY中,生成以下的式(1)示出的值M1、M2以及M3,进行密钥的更新。
【数学式1】
M1=UID||ID||Auth_ID
M2=ENCCBC,K1,IV=0(Counter||KEY_FLAG||″0…0″94||KEYID)
M3=CMACK2(M1||M2)……(1)
其中,“A||B”示出A与B的连结。
(2)命令CMD_LOAD_PLAIN_KEY
能够通过命令CMD_LOAD_PLAIN_KEY,以明文注册RAM_KEY密钥。能够通过命令CMD_LOAD_PLAIN_KEY以明文注册的密钥仅是RAM_KEY密钥。
以上是关于SHE的说明。
[对于SHE的密钥的分配]
在本实施方式中,如以下所示,向SHE分配初始密钥、密钥交换密钥以及MAC密钥。
(1)初始密钥:KEY_1密钥
在第一ECU10认证第二ECU20的合法性的处理中使用初始密钥。在第二ECU20中,例如在制造第二ECU20时等,自己的初始密钥被预先设定在SHE23的KEY_1密钥中。KEY_1密钥是能够用于MAC的生成处理以及验证处理的密钥。
(2)密钥交换密钥:KEY_2密钥(用于模式0(加密处理以及解密处理))、KEY_3密钥(用于模式1(MAC的生成处理以及验证处理))。
在第一ECU10向第二ECU20分发MAC密钥的处理中使用密钥交换密钥。密钥交换密钥由第一ECU10生成并被分发给第二ECU20。密钥交换密钥在机动车1内使用共同的值。
(3)MAC密钥:RAM_KEY密钥
在MAC的生成处理以及验证处理中使用MAC密钥。MAC密钥在由第一ECU10生成并通过密钥交换密钥进行加密后,向认证完合法性的第二ECU20分发。
[在SHE中的密钥的初始值]
在SHE中,SHE所固有的各密钥的初始值为0。依照这样,有可能对SHE非法地设定了密钥。由此,在本实施方式中,对于第二ECU20的SHE23,在以下的式(2)示出的值中,将值KMASTER ECU KEY初始设定在MEK密钥中,将值KBOOT MAC KEY初始设定在BMK密钥中,并将值KKEY<N>初始设定在KEY_N密钥中。由此,防止对第二ECU20的SHE23非法地设定密钥。需要说明的是,即使对于第一ECU10的SHE13,也可以与第二ECU20同样地进行密钥的初始设定。
【数学式2】
KMASTER ECU KEY=摘要(MS,IDa||CMASTER_ECU_KEY)
KBOOT MAC KEY=摘要(MS,IDa||CBOOT_MAC_KEY)……(2)
KKEY_N=摘要(MS,IDa||CKEY_N)
其中,MS是主密钥(MASTER_SECRET:MS)。主密钥MS用于生成初始密钥。IDa是第二ECU20的标识符。CMASTER ECU KEY是表示MEK密钥的字符串。CBOOT MAC KEY是表示BMK密钥的字符串。CKEY_N是表示KEY_N密钥的字符串。通过包含各字符串CMASTER ECU KEY、CBOOT MAC KEY以及CKEY_N,能够识别密钥的种类。需要说明的是,在上述的式(2)中,具体来说使用CMAC作为摘要(digest)。
接下来,参照图2至图5,对本实施方式的ECU认证处理、密钥交换密钥分发处理、以及MAC密钥分发处理进行说明。
[ECU认证处理]
参照图2对本实施方式的ECU认证处理进行说明。图2是示出本实施方式的ECU认证方法的顺序图。在密钥管理ECU10的SHE-A13的KEY_10密钥中,例如在制造密钥管理ECU10时等,预先设定主密钥MS。被认证ECU20的初始密钥由以下式(3)来计算。
【数学式3】
KKEY_1=摘要(MS,IDa||CKEY_1)……(3)
具体来说,使用CMAC作为摘要。由此,被认证ECU20的初始密钥由以下式(4)来计算。
【数学式4】
初始秘钥=CMAC(ECU_ID||CKEY_1)……(4)
其中,ECU_ID是被认证ECU20的标识符。在上述的式(4)的CMAC的计算中,使用主密钥MS。
在本实施方式中,密钥管理ECU10执行共享被认证ECU20的初始密钥的处理,并基于被共享的初始密钥,通过质询和响应(Challenge and response)方式来验证被认证ECU20的合法性。
(步骤S101)在被认证ECU20中,CPU21将自己的被认证ECU20的标识符ECU_ID发送给密钥管理ECU10。
(步骤S102)在密钥管理ECU10中,CPU11使用从被认证ECU20接收到的被认证ECU20的标识符ECU_ID和字符串CKEY_1,将命令CMD_GENERATE_MAC(ECU_ID||CKEY_1)输入给SHE-A13。
(步骤S103)在密钥管理ECU10中,SHE-A13根据从CPU11输入的命令CMD_GENERATE_MAC(ECU_ID||CKEY_1),来生成CMAC。在生成该CMAC时,SHE-A13使用设定在KEY_10密钥中的主密钥MS,通过上述的式(4)来计算CMAC。该计算出的CMAC是被认证ECU20的初始密钥,且是与设定在被认证ECU20的SHE-B23的KEY_1密钥中的值相同的值。SHE-A13将生成的CMAC输出给CPU11。
(步骤S104)在密钥管理ECU10中,CPU11使用从SHE-A13接收到的CMAC,将命令CMD_LOAD_PLAIN_KEY(CMAC)输入给SHE-A13。
(步骤S105)在密钥管理ECU10中,SHE-A13根据从CPU11输入的命令CMD_LOAD_PLAIN_KEY(CMAC),将该命令CMD_LOAD_PLAIN_KEY(CMAC)中包含的CMAC注册到RAM_KEY密钥中。由此,被认证ECU20的初始密钥被注册到SHE-A13的RAM_KEY密钥中。SHE-A13将RAM_KEY密钥的注册完成“OK”响应给CPU11。
(步骤S106)在密钥管理ECU10中,CPU11将命令CMD_RND输入给SHE-A13。
(步骤S107)在密钥管理ECU10中,SHE-A13根据从CPU11输入的命令CMD_RND,来生成随机数rand。SHE-A13将生成的随机数rand输出给CPU11。
(步骤S108)在密钥管理ECU10中,CPU11将从SHE-A13接收到的随机数rand发送给被认证ECU20。
(步骤S109)在被认证ECU20中,CPU21使用从密钥管理ECU10接收到的随机数rand,将命令CMD_GENERATE_MAC(rand)输入给SHE-B23。
(步骤S110)在被认证ECU20中,SHE-B23根据从CPU21输入的命令CMD_GENERATE_MAC(rand),来生成CMAC。在生成该CMAC时,SHE-B23使用设定在KEY_1密钥中的初始密钥,计算针对该命令CMD_GENERATE_MAC(rand)中包含的随机数rand的CMAC。SHE-B23将生成的CMAC输出给CPU21。
(步骤S111)在被认证ECU20中,CPU21将自己的被认证ECU20的标识符ECU_ID和从SHE-B23接收到的CMAC发送给密钥管理ECU10。
(步骤S112)在密钥管理ECU10中,CPU11使用发送给被认证ECU20的随机数rand和从被认证ECU20接收到的CMAC,将命令CMD_VERIFY_MAC(rand、CMAC)输入给SHE-A13。
(步骤S113)在密钥管理ECU10中,SHE-A13根据从CPU11输入的命令CMD_VERIFY_MAC(rand、CMAC),来验证该命令CMD_VERIFY_MAC(rand、CMAC)中包含的CMAC。在验证该CMAC时,SHE-A13使用注册在RAM_KEY密钥中的值即被认证ECU20的初始密钥。SHE-A13将CMAC的验证结果“合格(OK)或者不合格(NG)”输出给CPU11。当从SHE-A13接收到的CMAC的验证结果是合格(OK)时,CPU11判断为被认证ECU20的合法性的认证合格,另一方面,当从SHE-A13接收到的CMAC的验证结果是不合格(NG)时,CPU11判断为被认证ECU20的合法性的认证不合格。
[密钥交换密钥分发处理]
参照图3对本实施方式的密钥交换密钥分发处理进行说明。图3是示出本实施方式的密钥交换密钥分发方法的顺序图。在本实施方式中,使用两个密钥交换密钥。一个第一密钥交换密钥用于加密处理以及解密处理。另一个第二密钥交换密钥用于MAC的生成处理以及验证处理。优选第一密钥交换密钥和第二密钥交换密钥是不同的值。密钥管理ECU10将第一密钥交换密钥和第二密钥交换密钥分发给被认证ECU20。在被认证ECU20中,第一密钥交换密钥被设定在SHE-B23的KEY_2密钥中,第二密钥交换密钥被设定在SHE-B23的KEY_3密钥中。
以下,参照图3,举出分发第一密钥交换密钥的情况作为例子进行说明。即使是分发第二密钥交换密钥的情况也与分发第一密钥交换密钥的情况相同。
(步骤S121)在密钥管理ECU10中,CPU11使用密钥交换密钥的分发源的被认证ECU20的标识符ECU_ID和字符串CMASTER ECU KEY,将命令CMD_GENERATE_MAC(ECU_ID||CMASTER ECU KEY)输入给SHE-A13。
(步骤S122)在密钥管理ECU10中,SHE-A13根据从CPU11输入的命令CMD_GENERATE_MAC(ECU_ID||CMASTER ECU KEY),来生成CMAC。在生成该CMAC时,SHE-A13使用设定在KEY_10密钥中的主密钥MS,与上述的式(4)同样地计算CMAC。该计算出的CMAC是与设定在被认证ECU20的SHE-B23的MEK密钥中的值相同的值。SHE-A13将生成的CMAC输出给CPU11。
(步骤S123)在密钥管理ECU10中,CPU11使用从SHE-A13接收到的CMAC,将命令CMD_LOAD_PLAIN_KEY(CMAC)输入给SHE-A13。
(步骤S124)在密钥管理ECU10中,SHE-A13根据从CPU11输入的命令CMD_LOAD_PLAIN_KEY(CMAC),将该命令CMD_LOAD_PLAIN_KEY(CMAC)中包含的CMAC注册到RAM_KEY密钥中。由此,被认证ECU20的SHE-B23的MEK密钥被注册到SHE-A13的RAM_KEY密钥中。SHE-A13将RAM_KEY密钥的注册完成“OK”响应给CPU11。
(步骤S125)在密钥管理ECU10中,CPU11将命令CMD_RND输入给SHE-A13。
(步骤S126)在密钥管理ECU10中,SHE-A13根据从CPU11输入的命令CMD_RND,来生成随机数rand。SHE-A13将生成的随机数rand输出给CPU11。该随机数rand用于第一密钥交换密钥即被认证ECU20的SHE-B23的KEY_2密钥。
(步骤S127)在密钥管理ECU10中,CPU11生成值M1、M2以及M3。该值M1、M2以及M3是用于将CPU11从SHE-A13接收到的随机数rand即第一密钥交换密钥注册到被认证ECU20的SHE-B23的KEY_2密钥中的各值。在生成值M2时,CPU11通过命令“CMD_ENC_CBC with RAM_KEY”使SHE-A13执行加密处理。在值M2中,包含由CPU11从SHE-A13接收到的随机数rand即第一密钥交换密钥。在生成值M3时,CPU11通过命令“CMD_GENERATE_MAC with RAM_KEY”使SHE-A13生成CMAC。CPU11将生成的值M1、M2以及M3发送给被认证ECU20。
(步骤S128)在被认证ECU20中,CPU21使用从密钥管理ECU10接收到的值M1、M2以及M3,将命令CMD_LOAD_KEY(M1、M2、M3)输入给SHE-B23。
(步骤S129)在被认证ECU20中,SHE-B23根据从CPU21输入的命令CMD_LOAD_KEY(M1、M2、M3),将该命令CMD_LOAD_KEY(M1、M2、M3)中包含的随机数rand即第一密钥交换密钥注册到KEY_2密钥中。SHE-B23将KEY_2密钥的注册完成“OK”响应给CPU11。
(步骤S130)在被认证ECU20中,CPU21将第一密钥交换密钥的注册完成“OK”发送给密钥管理ECU10。
(步骤S131)在密钥管理ECU10中,CPU11使用发送给被认证ECU20的随机数rand即第一密钥交换密钥,将命令CMD_ENC_CBC(rand)输入给SHE-A13。
(步骤S132)在密钥管理ECU10中,SHE-A13根据从CPU11输入的命令CMD_ENC_CBC(rand),通过KEY_9密钥来加密该命令CMD_ENC_CBC(rand)中包含的随机数rand即第一密钥交换密钥。在KEY_9密钥中,作为能够用于加密处理以及解密处理的模式0,预先设定了值。SHE-A13将被加密的第一密钥交换密钥输出给CPU11。CPU11将从SHE-A13接收到的被加密的第一密钥交换密钥存储在存储部12中。
需要说明的是,当第一次分发第一密钥交换密钥时,被认证ECU20的SHE-B23的密钥注册所需的MEK密钥或者预先设定的KEY_2密钥对于每个被认证ECU20是不同的。由此,密钥管理ECU10需要分别为每个被认证ECU20创建密钥注册消息(值M1、M2以及M3)。另一方面,在第二次以后更新第一密钥交换密钥时,各被认证ECU20的第一密钥交换密钥(SHE-B23的KEY_2密钥的值)是相同的。由此,在第二次以后更新第一密钥交换密钥时,能够使用第一密钥交换密钥来创建密钥注册消息,不需要分别为每个被认证ECU20创建密钥注册消息。这一点也能够同样地应用于分发第二密钥交换密钥的情况。
[MAC密钥分发处理]
参照图4以及图5对本实施方式的MAC密钥分发处理进行说明。图4以及图5是示出本实施方式的MAC密钥分发方法的顺序图。在机动车1的车载控制系统中,对于MAC密钥有两个要求:“高速的处理速度”和“耐频繁改写性”。对于SHE的KEY_N密钥有改写次数的限制。由此,在本实施方式中,将MAC密钥注册到SHE的RAM_KEY密钥中。通过将RAM_KEY密钥用于MAC密钥,能够高速地进行加密以及解密和MAC的生成以及验证。以下示出了分别将KEY_N密钥和RAM_KEY密钥用于MAC密钥的情况下的处理速度的比较。这是KEY_N密钥和RAM_KEY密钥两者都实施了相同的基准测试(Benchmark test)的结果。
将KEY_N密钥用于MAC密钥时的MAC生成处理时间:42.8微秒
将RAM_KEY密钥用于MAC密钥时的MAC生成处理时间:19.1微秒
需要说明的是,当通过命令CMD_LOAD_KEY注册RAM_KEY密钥时,由于在密钥注册消息内的值M2中不包括计数器值Counter,因此存在对于重放攻击(replay attack)的脆弱性。由此,在本实施方式中,被认证ECU20的SHE-B23认证密钥管理ECU10的合法性。具体来说,SHE-B23产生随机数,并将该随机数发送给密钥管理ECU10,密钥管理ECU10生成该随机数的CMAC并发送给SHE-B23,SHE-B23验证该CMAC。
在被认证ECU20的SHE-B23中,第一密钥交换密钥(用于加密处理以及解密处理)被注册到KEY_2密钥中,第二密钥交换密钥(用于MAC的生成处理以及验证处理)被注册到KEY_3密钥中。密钥管理ECU10的存储部12将通过密钥管理ECU10的SHE-A13的KEY_9密钥来加密第一密钥交换密钥的数据(加密第一密钥交换密钥)和通过密钥管理ECU10的SHE-A13的KEY_9密钥来加密第二密钥交换密钥的数据(加密第二密钥交换密钥)存储在非易失性存储器中。
需要说明的是,第一密钥交换密钥是与被认证ECU20的SHE-B23的KEY_2密钥相同的值,称为第一密钥交换密钥KEY_2。第二密钥交换密钥是与被认证ECU20的SHE-B23的KEY_3密钥相同的值,称为第二密钥交换密钥KEY_3。
参照图4对本实施方式的MAC密钥分发处理的第1阶段进行说明。图4示出的MAC密钥分发处理的第1阶段是例如机动车1的发动机被停止后经过规定期间以上之后在发动机被起动时开始。例如,在某一天第一次起动发动机时,开始MAC密钥分发处理的第1阶段。
(步骤S141)在密钥管理ECU10中,CPU11向被认证ECU20请求随机数。
(步骤S142)在被认证ECU20中,CPU21根据来自密钥管理ECU10的请求,将命令CMD_RND输入给SHE-B23。
(步骤S143)在被认证ECU20中,SHE-B23根据从CPU21输入的命令CMD_RND,生成随机数1。SHE-B23将生成的随机数1输出给CPU21。
(步骤S144)在被认证ECU20中,CPU21将从SHE-B23接收到的随机数1和自己的被认证ECU20的标识符ECU_ID发送给密钥管理ECU10。
需要说明的是,可以将由SHE-B23产生的随机数1和自己的被认证ECU20的标识符ECU_ID自发地从被认证ECU20发送给密钥管理ECU10。
(步骤S145)在密钥管理ECU10中,CPU11将命令CMD_RND输入给SHE-A13。
(步骤S146)在密钥管理ECU10中,SHE-A13根据从CPU11输入的命令CMD_RND,生成随机数2。SHE-A13将生成的随机数2输出给CPU11。该随机数2用于MAC密钥。CPU11使用从SHE-A13接收到的随机数2即MAC密钥,将命令CMD_ENC_CBC(随机数2)输入给SHE-A13。SHE-A13根据从CPU11输入的命令CMD_ENC_CBC(随机数2),通过KEY_9密钥来加密该命令CMD_ENC_CBC(随机数2)中包含的随机数2即MAC密钥。SHE-A13将被加密的MAC密钥输出给CPU11。CPU11将从SHE-A13接收到的被加密的MAC密钥存储在存储部12中。
(步骤S147)在密钥管理ECU10中,CPU11为了解密在存储部12中存储的加密第二密钥交换密钥,使用该加密第二密钥交换密钥将命令CMD_DEC_CBC(加密第二密钥交换密钥)输入给SHE-A13。
(步骤S148)在密钥管理ECU10中,SHE-A13根据从CPU11输入的命令CMD_DEC_CBC(加密第二密钥交换密钥),通过KEY_9密钥来解密该命令CMD_DEC_CBC(加密第二密钥交换密钥)中包含的加密第二密钥交换密钥。KEY_9密钥是在加密第一密钥交换密钥以及加密第二密钥交换密钥的加密中使用了的密钥。SHE-A13将加密第二密钥交换密钥的解密的结果即第二密钥交换密钥KEY_3输出给CPU11。
(步骤S149)在密钥管理ECU10中,CPU11使用从SHE-A13接收到的第二密钥交换密钥KEY_3,将命令CMD_LOAD_PLAIN_KEY(KEY_3)输入给SHE-A13。
(步骤S150)在密钥管理ECU10中,SHE-A13根据从CPU11输入的命令CMD_LOAD_PLAIN_KEY(KEY_3),将该命令CMD_LOAD_PLAIN_KEY(KEY_3)中包含的第二密钥交换密钥KEY_3注册到RAM_KEY密钥中。SHE-A13将RAM_KEY密钥的注册完成“OK”响应给CPU11。
(步骤S151)在密钥管理ECU10中,CPU11生成值M1、M2以及M3。该值M1、M2以及M3是用于将CPU11从SHE-A13接收到的随机数2即MAC密钥注册到被认证ECU20的SHE-B23的RAM_KEY密钥中的各值。在生成值M2时,CPU11通过命令“CMD_ENC_CBC with RAM_KEY”使SHE-A13执行加密处理。在值M2中,包含由CPU11从SHE-A13接收到的随机数2即MAC密钥。在生成值M3时,CPU11通过命令“CMD_GENERATE_MAC with RAM_KEY”使SHE-A13生成CMAC。另外,CPU11使用从被认证ECU20接收到的随机数1,将命令CMD_GENERATE_MAC(随机数1)输入给SHE-A13。
(步骤S152)在密钥管理ECU10中,SHE-A13根据从CPU11输入的命令CMD_GENERATE_MAC(随机数1),来生成CMAC。在生成该CMAC时,SHE-A13使用RAM_KEY密钥即第二密钥交换密钥KEY_3来生成随机数1的CMAC。SHE-A13将生成的随机数1的CMAC输出给CPU11。
(步骤S153)在密钥管理ECU10中,CPU11将生成的值M1、M2以及M3和从SHE-A13接收到的随机数1的CMAC发送给被认证ECU20。
(步骤S154)在被认证ECU20中,CPU21为了验证从密钥管理ECU10接收到的CMAC,将命令CMD_VERIFY_MAC输入给SHE-A13。
(步骤S155)在被认证ECU20中,SHE-B23根据从CPU21输入的命令CMD_VERIFY_MAC,来验证该命令CMD_VERIFY_MAC中包含的CMAC。在验证该CMAC时,SHE-B23使用自己生成的随机数1和KEY_3密钥即第二密钥交换密钥KEY_3。SHE-B23将CMAC的验证结果“合格(OK)或者不合格(NG)”输出给CPU21。当从SHE-B23接收到的CMAC的验证结果是合格(OK)时,CPU21判断密钥管理ECU10的合法性的认证合格,另一方面,当从SHE-B23接收到的CMAC的验证结果是不合格(NG)时,CPU21判断密钥管理ECU10的合法性的认证不合格。当密钥管理ECU10的合法性的认证是合格时,进入步骤S156。另一方面,当密钥管理ECU10的合法性的认证是不合格时,结束图4的处理。
(步骤S156)在被认证ECU20中,CPU21使用从密钥管理ECU10接收的值M1、M2以及M3,将命令CMD_LOAD_KEY(M1、M2、M3)输入给SHE-B23。
(步骤S157)在被认证ECU20中,SHE-B23根据从CPU21输入的命令CMD_LOAD_KEY(M1、M2、M3),将该命令CMD_LOAD_KEY(M1、M2、M3)中包含的随机数2即MAC密钥注册到RAM_KEY密钥中。SHE-B23将RAM_KEY密钥的注册完成“OK”响应给CPU21。
接下来参照图5对本实施方式的MAC密钥分发处理的第2阶段进行说明。在通过上述的图4示出的MAC密钥分发处理的第1阶段将MAC密钥注册到被认证ECU20的SHE-B23的RAM_KEY密钥中之后,实施MAC密钥分发处理的第2阶段。被认证ECU20将在MAC密钥分发处理的第1阶段的步骤S153中从密钥管理ECU10接收到的值M1、M2以及M3存储在存储部22的非易失性存储器中。图5示出的MAC密钥分发处理的第2阶段是在例如机动车1行驶时因停车等使发动机停止后,在规定期间内重新起动发动机时开始。
(步骤S171)在被认证ECU20中,CPU21使用存储在存储部22的非易失性存储器中的值M1、M2以及M3,将命令CMD_LOAD_KEY(M1、M2、M3)输入给SHE-B23。
(步骤S172)在被认证ECU20中,SHE-B23根据从CPU21输入的命令CMD_LOAD_KEY(M1、M2、M3),将该命令CMD_LOAD_KEY(M1、M2、M3)中包含的随机数2即MAC密钥注册到RAM_KEY密钥中。SHE-B23将RAM_KEY密钥的注册完成“OK”响应给CPU21。
(步骤S173)在被认证ECU20中,CPU21将命令CMD_RND输入给SHE-B23。
(步骤S174)在被认证ECU20中,SHE-B23根据从CPU21输入的命令CMD_RND,生成随机数1。SHE-B23将生成的随机数1输出给CPU21。
(步骤S175)在被认证ECU20中,CPU21使用自己的被认证ECU20的标识符ECU_ID和随机数1,将命令CMD_GENERATE_MAC(ECU_ID、随机数1)输入给SHE-B23。
(步骤S176)在被认证ECU20中,SHE-B23根据从CPU21输入的命令CMD_GENERATE_MAC(ECU_ID、随机数1),生成CMAC。在生成该CMAC时,SHE-B23使用RAM_KEY密钥即MAC密钥来生成针对ECU_ID以及随机数1的CMAC。例如,生成针对ECU_ID与随机数1的连结数据的CMAC。SHE-B23将生成的CMAC输出给CPU21。
(步骤S177)在被认证ECU20中,CPU21将从SHE-B23接收到的随机数1、自己的被认证ECU20的标识符ECU_ID和从SHE-B23接收到的CMAC发送给密钥管理ECU10。
(步骤S178)在密钥管理ECU10中,CPU11为了解密在存储部12中存储的被加密的MAC密钥,使用该被加密的MAC密钥将命令CMD_DEC_CBC(被加密的MAC密钥)输入给SHE-A13。SHE-A13根据从CPU11输入的命令CMD_DEC_CBC(被加密的MAC密钥),通过KEY_9密钥来解密该命令CMD_DEC_CBC(被加密的MAC密钥)中包含的被加密的MAC密钥。KEY_9密钥是在被加密的MAC密钥的加密中使用了的密钥。SHE-A13将被加密的MAC密钥的解密的结果即MAC密钥输出给CPU11。CPU11使用从SHE-A13接收到的MAC密钥,将命令CMD_LOAD_PLAIN_KEY(MAC密钥)输入给SHE-A13。SHE-A13根据从CPU11输入的命令CMD_LOAD_PLAIN_KEY(MAC密钥),将该命令CMD_LOAD_PLAIN_KEY(MAC密钥)中包含的MAC密钥注册到RAM_KEY密钥中。SHE-A13将RAM_KEY密钥的注册完成“OK”响应给CPU11。CPU11使用从被认证ECU20接收到的随机数1、被认证ECU20的标识符ECU_ID和CMAC,将命令CMD_VERIFY_MAC(CMAC)输入给SHE-A13。
(步骤S179)在密钥管理ECU10中,SHE-A13根据从CPU11输入的命令CMD_VERIFY_MAC(CMAC),来验证该命令CMD_VERIFY_MAC(CMAC)中包含的CMAC。在验证该CMAC时,SHE-A13使用该命令CMD_VERIFY_MAC(CMAC)中包含的随机数1以及被认证ECU20的标识符ECU_ID和注册在RAM_KEY密钥中的MAC密钥。
SHE-A13将CMAC的验证结果“合格(OK)或者不合格(NG)”输出给CPU11。当从SHE-A13接收到的CMAC的验证结果是合格(OK)时,CPU11判断为被认证ECU20的合法性的认证合格,另一方面,当从SHE-A13接收到的CMAC的验证结果是不合格(NG)时,CPU11判断为被认证ECU20的合法性的认证不合格。当被认证ECU20的合法性的认证是合格时,进入步骤S180。另一方面,当被认证ECU20的合法性的认证是不合格时,结束图5的处理。当被认证ECU20的合法性的认证是不合格时,也可以进行图4示出的MAC密钥分发处理的第1阶段。
接下来,执行步骤S180至S186。步骤S180至S186与图4示出的步骤S151至S157相同。其中,在步骤S180生成的值M1、M2以及M3是用于将新的MAC密钥注册到被认证ECU20的SHE-B23的RAM_KEY密钥中的各值。在新的MAC密钥中,与图4示出的步骤S145至S146同样地,也可以使用由SHE-A13产生的新的随机数2。
通过上述的图5示出的MAC密钥分发处理的第2阶段,更新为新的MAC密钥。
需要说明的是,尽管在上述的图5的步骤S180中,生成随机数1的CMAC,但在步骤S179中当CMAC的验证结果是合格(OK)时,也可以生成针对表示CMAC的验证的合格的字符串例如“OK”和被认证ECU20的标识符ECU_ID的CMAC。例如,生成针对字符串“OK”和被认证ECU20的标识符ECU_ID的连结数据的CMAC。
进一步地,尽管在上述的图5的步骤S180中,更新为新的MAC密钥,但在步骤S179中当CMAC的验证结果是合格(OK)时,也可以使用当前注册在SHE-B23的RAM_KEY密钥中的MAC密钥,而不实施向新的MAC密钥的更新。由此,由于不需要从密钥管理ECU10向被认证ECU20发送值M1、M2以及M3,因此能够实现处理的高速化。
另外,在本实施方式中,在值M1的计算中不使用密钥。由此,密钥管理ECU10可以仅将值M2以及M3发送给被认证ECU20,而值M1不发送给被认证ECU20。在该情况下,被认证ECU20组合使用自己计算出的值M1和从密钥管理ECU10接收到的值M2以及M3。由此,由于不需要从密钥管理ECU10向被认证ECU20发送值M1,因此能够实现处理的高速化。
[第2实施方式]
图6是示出本实施方式的机动车1具有的车载计算机系统的构成例的图。在图6中,对于与图1的各部分对应的部分附上相同的符号,并省略其说明。以下,对于与第1实施方式不同的部分进行主要说明。尽管在第1实施方式的第一ECU10中使用SHE作为加密处理芯片,但在第2实施方式的第一ECU10中使用称为“Evita-medium”的HSM(Hardware SecurityModule;硬件安全模块)作为加密处理芯片。
在图6中,第一ECU10具有CPU11、存储部12以及HSM14。HSM14是被称为“Evita-medium”的HSM。HSM14具有加密处理功能。HSM14具有防篡改性。HSM14是安全元件的例。第二ECU20具有CPU21、存储部22以及SHE23。
接下来,参照图7至图10,对本实施方式的ECU认证处理、密钥交换密钥分发处理以及MAC密钥分发处理进行说明。
[ECU认证处理]
参照图7对本实施方式的ECU认证处理进行说明。图7是示出本实施方式的ECU认证方法的顺序图。在密钥管理ECU10的HSM14中,例如在制造密钥管理ECU10时等,预先设定主密钥MS。
(步骤S201)在被认证ECU20中,CPU21将自己的被认证ECU20的标识符ECU_ID发送给密钥管理ECU10。
(步骤S202)在密钥管理ECU10中,CPU11将从被认证ECU20接收到的被认证ECU20的标识符ECU_ID输入给HSM14。
(步骤S203)在密钥管理ECU10中,HSM14使用从CPU11输入的被认证ECU20的标识符ECU_ID和自己保持的主密钥MS,来生成被认证ECU20的初始密钥。在生成该初始密钥时,通过上述的式(4)来计算CMAC。该计算出的CMAC是被认证ECU20的初始密钥,且也是与被设定在被认证ECU20的SHE-B23的KEY_1密钥中的值相同的值。被认证ECU20的初始密钥称为初始密钥KEY_1。HSM14将计算出的CMAC即初始密钥KEY_1存储在自己的存储器中。另外,HSM14生成随机数rand。HSM14将生成的随机数rand输出给CPU11。HSM14将生成的随机数rand存储在自己的存储器中。
(步骤S204)在密钥管理ECU10中,CPU11将从HSM14接收到的随机数rand发送给被认证ECU20。
接下来,执行步骤S205至S207。步骤S205至S207与图2示出的步骤S109至S111相同。
(步骤S208)在密钥管理ECU10中,CPU11将从被认证ECU20接收到的被认证ECU20的标识符ECU_ID和CMAC输入给HSM14。
(步骤S209)在密钥管理ECU10中,HSM14验证从CPU11输入的CMAC。在验证该CMAC时,HSM14使用在自己的存储器中存储的初始密钥KEY_1,针对存储在自己的存储器中的随机数rand计算CMAC。接下来,HSM14比较计算出的该CMAC和从CPU11输入的CMAC。该比较的结果,当两者一致时,CMAC的验证合格,另一方面,当两者不一致时,CMAC的验证不合格。HSM14将该CMAC的验证结果“合格(OK)或者不合格(NG)”输出给CPU11。当从HSM14接收到的CMAC的验证结果是合格(OK)时,CPU11判断为被认证ECU20的合法性的认证合格,另一方面,当从HSM14接收到的CMAC的验证结果是不合格(NG)时,CPU11判断为被认证ECU20的合法性的认证不合格。
[密钥交换密钥分发处理]
参照图8对本实施方式的密钥交换密钥分发处理进行说明。图8是示出本实施方式的密钥交换密钥分发方法的顺序图。在本实施方式中,与第1实施方式同样地,使用第一密钥交换密钥(用于加密处理以及解密处理的密钥)和第二密钥交换密钥(用于MAC的生成处理以及验证处理的密钥)。
以下,参照图8举出分发第一密钥交换密钥的情况作为例子来说明。即使是分发第二密钥交换密钥的情况,也与分发第一密钥交换密钥的情况相同。
(步骤S211)在密钥管理ECU10中,CPU11使用密钥交换密钥的分发源的被认证ECU20的标识符ECU_ID,将密钥交换密钥创建委托(ECU_ID)输入给HSM14。
(步骤S212)在密钥管理ECU10中,HSM14生成值M1、M2以及M3。该值M1、M2以及M3是用于将第一密钥交换密钥注册到被认证ECU20的SHE-B23的KEY_2密钥中的各值。HSM14从主密钥MS生成MEK密钥。HSM14生成随机数,并将生成的随机数用于第一密钥交换密钥。需要说明的是,HSM14也可以从主密钥MS生成第一密钥交换密钥。HSM14将第一密钥交换密钥存储在自己的存储器中。HSM14将生成的值M1、M2以及M3输出给CPU11。
(步骤S213)在密钥管理ECU10中,CPU11将从HSM14接收到的值M1、M2以及M3发送给被认证ECU20。
接下来,执行步骤S214至S216。步骤S214至S216与图3示出的步骤S128至S130相同。
需要说明的是,在第二次以后的密钥交换密钥的分发中,通过使用已注册的第一密钥交换密钥来生成密钥注册消息(值M1、M2以及M3),能够对各被认证ECU20共同地使用该密钥注册消息(值M1、M2以及M3)。例如,能够广播该密钥注册消息(值M1、M2以及M3)。这一点也能够同样地应用于分发第二密钥交换密钥的情况。
[MAC密钥分发处理]
参照图9以及图10对本实施方式的MAC密钥分发处理进行说明。图9以及图10是示出本实施方式的MAC密钥分发方法的顺序图。在被认证ECU20的SHE-B23中,第一密钥交换密钥(用于加密处理以及解密处理)被注册在KEY_2密钥中,第二密钥交换密钥(用于MAC的生成处理以及验证处理)被注册在KEY_3密钥中。密钥管理ECU10的HSM14将第一密钥交换密钥和第二密钥交换密钥存储在自己的存储器中。
需要说明的是,第一密钥交换密钥是与被认证ECU20的SHE-B23的KEY_2密钥相同的值,称为第一密钥交换密钥KEY_2。第二密钥交换密钥是与被认证ECU20的SHE-B23的KEY_3密钥相同的值,称为第二密钥交换密钥KEY_3。
参照图9对本实施方式的MAC密钥分发处理的第1阶段进行说明。图9示出的MAC密钥分发处理的第1阶段是在例如机动车1的发动机被停止后,经过规定期间以上之后,发动机被起动时开始。例如,在某一天第一次起动发动机时,开始MAC密钥分发处理的第1阶段。
执行步骤S231至S234。步骤S231至S234与图4示出的步骤S141至S144相同。
(步骤S235)在密钥管理ECU10中,CPU11将从被认证ECU20接收到的随机数1输入给HSM14。
(步骤S236)在密钥管理ECU10中,HSM14生成随机数,并将生成的随机数用于MAC密钥。HSM14将MAC密钥存储在自己的存储器中。HSM14生成值M1、M2以及M3。该值M1、M2以及M3是用于将MAC密钥注册到被认证ECU20的SHE-B23的RAM_KEY密钥中的各值。HSM14使用存储在自己的存储器中的第一密钥交换密钥KEY_2,生成值M1、M2以及M3。HSM14针对从CPU11输入的随机数1生成CMAC。在生成该CMAC时,HSM14使用存储在自己的存储器中的第二密钥交换密钥KEY_3来生成随机数1的CMAC。HSM14将生成的值M1、M2以及M3和CMAC输出给CPU11。
(步骤S237)在密钥管理ECU10中,CPU11将从HSM14接收到的值M1、M2以及M3和CMAC发送给被认证ECU20。
接下来,执行步骤S238至S241。步骤S238至S241与图4示出的步骤S154至S157相同。
(步骤S242)在被认证ECU20中,CPU21将MAC密钥的注册完成“OK”发送给密钥管理ECU10。
接下来参照图10对本实施方式的MAC密钥分发处理的第2阶段进行说明。在通过上述的图9示出的MAC密钥分发处理的第1阶段将MAC密钥注册到被认证ECU20的SHE-B23的RAM_KEY密钥中后,实施MAC密钥分发处理的第2阶段。被认证ECU20将在MAC密钥分发处理的第1阶段的步骤S237中从密钥管理ECU10接收到的值M1、M2以及M3存储在存储部22的非易失性存储器中。图10示出的MAC密钥分发处理的第2阶段是在例如机动车1行驶时因停车等使发动机停止后,在规定期间内重新起动发动机时开始。
执行步骤S261至S267。步骤S261至S267与图5示出的步骤S171至S177相同。
(步骤S268)在密钥管理ECU10中,CPU11将从被认证ECU20接收到的随机数1、被认证ECU20的标识符ECU_ID和CMAC输入给HSM14。
(步骤S269)在密钥管理ECU10中,HSM14验证从CPU11输入的CMAC。在验证该CMAC时,HSM14使用存储在自己的存储器中的MAC密钥。
HSM14将CMAC的验证结果“合格(OK)或者不合格(NG)”输出给CPU11。当从HSM14接收到的CMAC的验证结果是合格(OK)时,CPU11判断为被认证ECU20的合法性的认证合格,另一方面,当从HSM14接收到的CMAC的验证结果是不合格(NG)时,CPU11判断为被认证ECU20的合法性的认证不合格。当被认证ECU20的合法性的认证是合格时,执行以后的处理。另一方面,当被认证ECU20的合法性的认证是不合格时,结束图10的处理。当被认证ECU20的合法性的认证是不合格时,也可以进行图9示出的MAC密钥分发处理的第1阶段。
HSM14针对从CPU11输入的随机数1生成CMAC。在生成该CMAC时,HSM14使用存储在自己的存储器中的第二密钥交换密钥KEY_3来生成随机数1的CMAC。
HSM14生成新的MAC密钥,并生成值M1、M2以及M3。该值M1、M2以及M3是用于将新的MAC密钥注册到被认证ECU20的SHE-B23的RAM_KEY密钥中的各值。在新的MAC密钥中,新生成随机数,并将生成的随机数用于新的MAC密钥。需要说明的是,当被认证ECU20的MAC密钥没有更新为新的MAC密钥时,则不进行新的MAC密钥的生成和值M1、M2以及M3的生成。
HSM14将生成的CMAC和值M1、M2以及M3输出给CPU11。
(步骤S270)在密钥管理ECU10中,CPU11将从HSM14接收到的值M1、M2以及M3和CMAC发送给被认证ECU20。
接下来执行步骤S271至S275。步骤S271至S275与图9示出的步骤S238至S242相同。
通过上述的图10示出的MAC密钥分发处理的第2阶段,更新为新的MAC密钥。
[第3实施方式]
图11是示出本实施方式的机动车1具有的车载计算机系统的构成例的图。在图11中,对于与图1的各部分对应的部分附上相同的符号,并省略其说明。以下,对于与第1实施方式不同的部分进行主要说明。
在第3实施方式中,机动车1具有通信模块40。通信模块40利用无线通信网络进行无线通信。通信模块40具有SIM(Subscriber Identity Module;用户识别模块)41。SIM41是被写入了用于利用无线通信网络的信息的SIM。通信模块40能够通过使用SIM41连接到该无线通信网络进行无线通信。
需要说明的是,作为SIM41,可以使用eSIM(Embedded Subscriber IdentityModule;嵌入式用户识别模块)。SIM以及eSIM具有防篡改性。SIM以及eSIM是安全元件的例。SIM及eSIM是计算机的一种,通过计算机程序来实现期望的功能。
通信模块40连接到第一ECU10。第一ECU10与通信模块40交换数据。
需要说明的是,图11的结构中通过将第一ECU10与通信模块40直接连接而在第一ECU10与通信模块40之间交换数据,但不限于此。例如,可以将通信模块40连接到机动车1具有的信息娱乐设备等其他装置或者设置在该其他装置中,第一ECU10经由该其他装置例如信息娱乐设备与通信模块40交换数据。或者,在连接到机动车1的诊断端口,例如被称为OBD(On-board Diagnostics;车载诊断系统)端口的诊断端口的机动车1的外部的装置中具有通信模块40,第一ECU10可以经由该诊断端口,与连接到该诊断端口的该外部的装置的通信模块40交换数据。或者,第一ECU10可以具有包含SIM41的通信模块40。
另外,在本实施方式中,尽管使用通信模块40具有的SIM41,但也可以使用具有防篡改性的IC(Integrated Circuit;集成电路)芯片来代替SIM。例如,可以使用安装在IC卡中的IC芯片。或者,可以使用连接到机动车1的诊断端口的机动车1的外部的维护工具具有的控制模块中搭载的IC芯片。
在图11中,第一ECU10具有CPU11、存储部12和SHE13。第二ECU20具有CPU21、存储部22和SHE23。
接下来,对本实施方式的ECU认证处理、密钥交换密钥分发处理以及MAC密钥分发处理进行说明。
[ECU认证处理]
参照图12对本实施方式的ECU认证处理进行说明。图12是示出本实施方式的ECU认证方法的顺序图。在通信模块40的SIM41中,例如在制造SIM41时等,预先设定主密钥MS。由于SIM41具有比较坚固的防篡改性,因此主密钥MS的安全性高。
密钥管理ECU10经由通信模块40与SIM41交换数据。在密钥管理ECU10与SIM41之间进行合法性的认证。当密钥管理ECU10与SIM41之间的合法性的认证合格时,安全地进行密钥管理ECU10与SIM41之间的数据的交换。另一方面,当密钥管理ECU10与SIM41之间的合法性的认证不合格时,密钥管理ECU10与SIM41之间的数据的交换被限制。
(步骤S301)在被认证ECU20中,CPU21将自己的被认证ECU20的标识符ECU_ID发送给密钥管理ECU10。
(步骤S302)在密钥管理ECU10中,CPU11将从被认证ECU20接收到的被认证ECU20的标识符ECU_ID发送给SIM41。
(步骤S303)SIM41使用从密钥管理ECU10接收到的被认证ECU20的标识符ECU_ID和自己保持的主密钥MS,来生成被认证ECU20的初始密钥。在生成该初始密钥时,通过上述的式(4)来计算CMAC。该计算出的CMAC是被认证ECU20的初始密钥,且也是与设定在被认证ECU20的SHE23的KEY_1密钥中的值相同的值。被认证ECU20的初始密钥称为初始密钥KEY_1。SIM41将计算出的CMAC即初始密钥KEY_1存储在自己的存储器中。另外,SIM41生成随机数rand。SIM41将生成的随机数rand发送给密钥管理ECU10。SIM41将生成的随机数rand存储在自己的存储器中。
(步骤S304)在密钥管理ECU10中,CPU11将从SIM41接收到的随机数rand发送给被认证ECU20。
接下来,执行步骤S305至S307。步骤S305至S307与图2示出的步骤S109至S111相同。
(步骤S308)在密钥管理ECU10中,CPU11将从被认证ECU20接收到的被认证ECU20的标识符ECU_ID和CMAC发送给SIM41。
(步骤S309)SIM41验证从密钥管理ECU10接收到的CMAC。在验证该CMAC时,SIM41使用存储在自己的存储器中的初始密钥KEY_1,针对存储在自己的存储器中的随机数rand计算CMAC。接下来,SIM41比较该计算出的CMAC和从密钥管理ECU10接收到的CMAC。该比较的结果,当两者一致时,CMAC的验证合格,另一方面,当两者不一致时,CMAC的验证不合格。SIM41将该CMAC的验证结果“合格(OK)或者不合格(NG)”发送给密钥管理ECU10。当从SIM41接收到的CMAC的验证结果是合格(OK)时,密钥管理ECU10的CPU11判断为被认证ECU20的合法性的认证合格,另一方面,当从HSM14接收到的CMAC的验证结果是不合格(NG)时,密钥管理ECU10的CPU11判断为被认证ECU20的合法性的认证不合格。
[密钥交换密钥分发处理]
参照图13对本实施方式的密钥交换密钥分发处理进行说明。图13是示出本实施方式的密钥交换密钥分发方法的顺序图。在本实施方式中,与第1实施方式同样地,使用第一密钥交换密钥(用于加密处理以及解密处理的密钥)和第二密钥交换密钥(用于MAC的生成处理以及验证处理的密钥)。
以下,参照图13举出分发第一密钥交换密钥的情况作为例子来说明。即使是分发第二密钥交换密钥的情况,也与分发第一密钥交换密钥的情况相同。
(步骤S311)在密钥管理ECU10中,CPU11使用密钥交换密钥的分发源的被认证ECU20的标识符ECU_ID,将密钥交换密钥创建委托(ECU_ID)发送给SIM41。
(步骤S312)SIM41生成值M1、M2以及M3。该值M1、M2以及M3是用于将第一密钥交换密钥注册到被认证ECU20的SHE23的KEY_2密钥中的各值。SIM41从主密钥MS生成MEK密钥。SIM41生成随机数,并将生成的随机数用于第一密钥交换密钥。需要说明的是,SIM41也可以从主密钥MS生成第一密钥交换密钥。SIM41将第一密钥交换密钥存储在自己的存储器中。SIM41将生成的值M1、M2以及M3发送给密钥管理ECU10。
(步骤S313)在密钥管理ECU10中,CPU11将从SIM41接收到的值M1、M2以及M3发送给被认证ECU20。CPU11使用从SIM41接收到的值M1、M2以及M3,使SHE13生成通过SHE13的KEY_9密钥加密了第一密钥交换密钥的数据(加密第一密钥交换密钥)。CPU11将由SHE13生成的加密第一密钥交换密钥存储在存储部12中。
接下来执行步骤S314至S316。步骤S314至S316与图3示出的步骤S128至S130相同。
需要说明的是,在第二次以后的第一密钥交换密钥的分发中,能够应用图3示出的第1实施方式的密钥交换密钥分发处理。这是因为,在第二次以后的第一密钥交换密钥的分发中,密钥管理ECU10能够使用通过图13示出的本实施方式的密钥交换密钥分发处理而在第一次的第一密钥交换密钥的分发中设定的第一密钥交换密钥,来生成值M1、M2以及M3。这一点也能够同样地应用于分发第二密钥交换密钥的情况。
[MAC密钥分发处理]
在第3实施方式的MAC密钥的分发中,能够应用图4以及图5示出的第1实施方式的MAC密钥分发处理。
[第4实施方式]
图14是示出本实施方式的机动车1具有的车载计算机系统的构成例的图。在图11中,对于与图6的各部分对应的部分附上相同的符号,并省略其说明。以下,对于与第2实施方式不同的部分进行主要说明。
在第4实施方式中,机动车1具有通信模块40。通信模块40利用无线通信网络进行无线通信。通信模块40具有SIM41。SIM41是被写入了用于利用无线通信网络的信息的SIM。通信模块40能够通过使用SIM41连接到该无线通信网络进行无线通信。
需要说明的是,作为SIM41,可以使用eSIM。SIM以及eSIM具有防篡改性。SIM以及eSIM是安全元件的例。SIM及eSIM是计算机的一种,通过计算机程序实现期望的功能。
通信模块40连接到第一ECU10。第一ECU10与通信模块40交换数据。
需要说明的是,图14的结构中通过将第一ECU10与通信模块40直接连接而在第一ECU10与通信模块40之间交换数据,但不限于此。例如,可以将通信模块40连接到机动车1具有的信息娱乐设备等其他装置或者设置在该其他装置中,第一ECU10经由该其他装置例如信息娱乐设备与通信模块40交换数据。或者,在连接到机动车1的诊断端口,例如被称为OBD端口的诊断端口的机动车1的外部的装置中具有通信模块40,第一ECU10可以经由该诊断端口,与连接到该诊断端口的该外部的装置的通信模块40交换数据。或者,第一ECU10可以具有包含SIM41的通信模块40。
另外,在本实施方式中,尽管使用通信模块40具有的SIM41,但也可以使用具有防篡改性的IC芯片来代替SIM。例如,可以使用安装在IC卡中的IC芯片。或者,可以使用连接到机动车1的诊断端口的机动车1的外部的维护工具具有的控制模块中搭载的IC芯片。
在图14中,第一ECU10具有CPU11、存储部12和HSM14。第二ECU20具有CPU21、存储部22和SHE23。
接下来,对本实施方式的ECU认证处理、密钥交换密钥分发处理以及MAC密钥分发处理进行说明。
[ECU认证处理]
参照图15对本实施方式的ECU认证处理进行说明。图15是示出本实施方式的ECU认证方法的顺序图。在通信模块40的SIM41中,例如在制造SIM41时等,预先设定主密钥MS。由于SIM41具有比较坚固的防篡改性,因此主密钥MS的安全性高。
密钥管理ECU10经由通信模块40与SIM41交换数据。在密钥管理ECU10与SIM41之间进行合法性的认证。当密钥管理ECU10与SIM41之间的合法性的认证合格时,安全地进行密钥管理ECU10与SIM41之间的数据的交换。另一方面,当密钥管理ECU10与SIM41之间的合法性的认证不合格时,密钥管理ECU10与SIM41之间的数据的交换被限制。
(步骤S401)在被认证ECU20中,CPU21将自己的被认证ECU20的标识符ECU_ID发送给密钥管理ECU10。
(步骤S402)在密钥管理ECU10中,CPU11将从被认证ECU20接收到的被认证ECU20的标识符ECU_ID发送给SIM41。
(步骤S403)SIM41使用从密钥管理ECU10接收到的被认证ECU20的标识符ECU_ID和自己保持的主密钥MS,来生成被认证ECU20的初始密钥。在生成该初始密钥时,通过上述的式(4)来计算CMAC。该计算出的CMAC是被认证ECU20的初始密钥,且也是与设定在被认证ECU20的SHE23的KEY_1密钥中的值相同的值。被认证ECU20的初始密钥称为初始密钥KEY_1。SIM41将计算出的CMAC即初始密钥KEY_1存储在自己的存储器中。另外,SIM41生成随机数rand。SIM41将生成的随机数rand发送给密钥管理ECU10。SIM41将生成的随机数rand存储在自己的存储器中。
(步骤S404)在密钥管理ECU10中,CPU11将从SIM41接收到的随机数rand发送给被认证ECU20。
接下来,执行步骤S405至S407。步骤S405至S407与图7示出的步骤S205至S207相同。
(步骤S408)在密钥管理ECU10中,CPU11将从被认证ECU20接收到的被认证ECU20的标识符ECU_ID和CMAC发送给SIM41。
(步骤S409)SIM41验证从密钥管理ECU10接收到的CMAC。在验证该CMAC时,SIM41使用存储在自己的存储器中的初始密钥KEY_1,针对存储在自己的存储器中的随机数rand计算CMAC。接下来,SIM41比较该计算出的CMAC和从密钥管理ECU10接收到的CMAC。该比较的结果,当两者一致时,CMAC的验证合格,另一方面,当两者不一致时,CMAC的验证不合格。SIM41将该CMAC的验证结果“合格(OK)或者不合格(NG)”发送给密钥管理ECU10。当从SIM41接收到的CMAC的验证结果是合格(OK)时,密钥管理ECU10的CPU11判断为被认证ECU20的合法性的认证合格,另一方面,当从HSM14接收到的CMAC的验证结果是不合格(NG)时,密钥管理ECU10的CPU11判断为被认证ECU20的合法性的认证不合格。
[密钥交换密钥分发处理]
参照图16、图17对本实施方式的密钥交换密钥分发处理进行说明。图16、图17是示出本实施方式的密钥交换密钥分发方法的顺序图。在本实施方式中,与第2实施方式同样地,使用第一密钥交换密钥(用于加密处理以及解密处理的密钥)和第二密钥交换密钥(用于MAC的生成处理以及验证处理的密钥)。
以下,参照图16、图17举出分发第一密钥交换密钥的情况作为例子来说明。即使是分发第二密钥交换密钥的情况,也与分发第一密钥交换密钥的情况相同。首先参照图16对第一次的第一密钥交换密钥的分发进行说明。
(步骤S411)在密钥管理ECU10中,CPU11使用密钥交换密钥的分发源的被认证ECU20的标识符ECU_ID,将密钥交换密钥创建委托(ECU_ID)发送给SIM41。
(步骤S412)SIM41生成值M1、M2以及M3。该值M1、M2以及M3是用于将第一密钥交换密钥注册到被认证ECU20的SHE23的KEY_2密钥中的各值。SIM41从主密钥MS生成MEK密钥。SIM41生成随机数,并将生成的随机数用于第一密钥交换密钥。需要说明的是,SIM41也可以从主密钥MS生成第一密钥交换密钥。SIM41将第一密钥交换密钥存储在自己的存储器中。SIM41将生成的值M1、M2以及M3发送给密钥管理ECU10。
(步骤S413)在密钥管理ECU10中,CPU11将从SIM41接收到的值M1、M2以及M3发送给被认证ECU20。CPU11使用从SIM41接收到的值M1、M2以及M3,使HSM14获取第一密钥交换密钥。HSM14将第一密钥交换密钥存储在自己的存储器中。
接下来,执行步骤S414至S416。步骤S414至S416与图8示出的步骤S214至S216相同。
需要说明的是,在第二次以后的第一密钥交换密钥的分发中,能够应用图17示出的密钥交换密钥分发处理。这是因为,在第二次以后的第一密钥交换密钥的分发中,密钥管理ECU10能够使用通过图16示出的本实施方式的密钥交换密钥分发处理而在第一次的第一密钥交换密钥的分发中设定的第一密钥交换密钥,来生成值M1、M2以及M3。这一点也能够同样地应用于分发第二密钥交换密钥的情况。参照图17对第二次以后的第一密钥交换密钥的分发进行说明。
(步骤S421)在密钥管理ECU10中,CPU11将密钥交换密钥创建委托输入给HSM14。
(步骤S422)在密钥管理ECU10中,HSM14生成值M1、M2以及M3。该值M1、M2以及M3是用于将新的第一密钥交换密钥注册到被认证ECU20的SHE23的KEY_2密钥中的各值。HSM14生成随机数,并将生成的随机数用于新的第一密钥交换密钥。HSM14将新的第一密钥交换密钥存储在自己的存储器中。HSM14将生成的值M1、M2以及M3输出给CPU11。
(步骤S423)在密钥管理ECU10中,CPU11将从HSM14接收到的值M1、M2以及M3发送给被认证ECU20。
接下来,执行步骤S424至S426。步骤S424至S426与图8示出的步骤S214至S216相同。
[MAC密钥分发处理]
在第4实施方式的MAC密钥的分发中,能够使用图9以及图10示出的第2实施方式的MAC密钥分发处理。
根据上述的各实施方式,能够执行与第一ECU10以及第二ECU20具有的加密处理芯片(SHE或者HSM)对应的加密处理顺序。由此,获得能够提高机动车1的车载控制系统中的数据的安全性的效果。
[密钥的管理方法]
对密钥的管理方法的例进行说明。
(密钥的管理单位)
(1)初始密钥
(1-a)ECU单位
当每个ECU持有不同的初始密钥时,如果某个初始密钥泄漏时,带来的影响小。另一方面,由于每个ECU的初始密钥与密钥管理ECU10共享,因此密钥的管理成本大。
(1-b)全部ECU共同
当所有的ECU持有共同的初始密钥时,如果初始密钥泄漏时,带来的影响大。另一方面,密钥的管理成本小。
(2)密钥交换密钥
(2-a)ECU单位
当每个ECU持有不同的密钥交换密钥时,由于每个ECU使用独立的密钥交换密钥来分发MAC密钥,因此分发MAC密钥所需的时间变长。另一方面,如果密钥交换密钥泄漏时,带来的影响小。
(2-b)全部ECU共同
当所有的ECU持有共同的密钥交换密钥时,由于在一个机动车内能够使用相同的密钥交换密钥将MAC密钥共同地分发给所有的ECU,因此能够缩短分发MAC密钥所需的时间。另一方面,如果密钥交换密钥泄漏时,带来的影响大。
(2-c)机动车单位
当每个机动车持有不同的密钥交换密钥时,由于在一个机动车内能够使用相同的密钥交换密钥将MAC密钥共同地分发给所有的ECU,因此能够缩短分发MAC密钥所需的时间。另外,如果密钥交换密钥泄漏时带来的影响由于停留在一个机动车的范围内,因此较小。
(3)MAC密钥
(3-a)全部ECU共同
当所有的ECU持有共同的MAC密钥时,如果MAC密钥泄漏时,带来的影响大。
(3-b)机动车单位
当每个机动车持有不同的MAC密钥时,如果MAC密钥泄漏时,带来的影响因停留在一个机动车的范围内,因此小。
(初始密钥的生成方法)
初始密钥用于ECU的合法性的认证。由此,如果考虑初始密钥泄漏时的影响,优选每个ECU持有不同的初始密钥,以能够用ECU单位管理初始密钥。在该情况下,其课题在于,密钥管理ECU10与各被认证ECU20之间的初始密钥的共享方法。以下,对用于解决该课题的初始密钥生成方法的例进行说明。
对使用主密钥(MASTER_SECRET:MS)的初始密钥的生成方法进行说明。
使用主密钥MS和被认证ECU的标识符ECU_ID并通过下式来计算初始密钥。
初始密钥=摘要(MS、ECU_ID)
摘要(digest)例如是CMAC。或者,摘要例如是异或。该初始密钥对每个ECU都是不同的值。另外,通过在密钥管理ECU10或SIM41中安全地保管主密钥MS,能够防止初始密钥的泄漏。例如通过密钥管理ECU10安全地保管主密钥MS,密钥管理ECU10能够获取被认证ECU20的标识符ECU_ID,生成该被认证ECU20的初始密钥,并与该被认证ECU20安全地共享生成的该初始密钥。
初始密钥写入装置由ECU供应商设置。初始密钥写入装置具有主密钥MS,使用该主密钥MS和输入的被认证ECU20的标识符ECU_ID来生成该被认证ECU20的初始密钥,并将生成的初始密钥写入到该被认证ECU20。在初始密钥写入装置中,安全地保管主密钥MS。
主密钥写入装置是由设定了主密钥MS的密钥管理ECU10的ECU供应商、设定了主密钥MS的SIM41的SIM供应商、以及具有设定了主密钥MS的IC芯片的IC卡等供应商设置。主密钥写入装置生成主密钥MS,并将生成的主密钥MS写入到被写入装置中。在主密钥写入装置中,能安全地进行主密钥MS的生成以及保管。
主密钥MS例如通过下式来计算。
MS=A xor B xor C
但是,“A xor B”是值A与值B的异或。
在主密钥写入装置中,在主密钥MS的生成条件中包含各值A、B、C被分别输入的情况。例如,主密钥写入装置只有在各值A、B、C由已认证了合法性的不同的用户ID被分别输入时,才生成主密钥MS。由此,能够抑制主密钥MS的泄漏。需要说明的是,主密钥MS的计算式并不限定于上述的异或运算。作为主密钥MS的计算式,只要是仅在获得多个值(例如,值A、B以及C)的全部时才能够生成的计算式即可。
另外,ECU供应商可以从ECU制造商获取ECU的标识符ECU_ID的列表,生成与各标识符ECU_ID对应的初始密钥的列表,并将生成的初始密钥的列表提供给ECU制造商。
另外,在上述的初始密钥生成方法的例中,如果初始密钥泄漏,则通过将泄漏的初始密钥非法地设定在ECU中能够冒充被认证ECU20。由此,搭载在机动车1中后,进行了一次认证的被认证ECU20的初始密钥可以从该被认证ECU20中删除。由此,能够防止初始密钥从例如通过第二ECU20的更换而从机动车1移除的第二ECU20中泄漏。另外,可以设置管理被认证ECU20的认证实绩的管理服务器,通过管理服务器能够掌握被认证ECU20的认证状况。
[第5实施方式]
图18是示出本实施方式的密钥生成装置100的构成例的图。在图18中,密钥生成装置100具有输入部101、摘要计算部102、输出部103以及主密钥存储部104。输入部101输入用于生成密钥的信息。主密钥存储部104存储用于生成密钥的主密钥。摘要计算部102使用由输入部101输入的信息和存储在主密钥存储部104中的主密钥,来计算摘要。输出部103输出由摘要计算部102计算出的摘要(密钥)。
在本实施方式中,密钥生成装置100通过下式来计算密钥。
密钥=摘要(主密钥、ECU标识符、N_key)
其中,主密钥是在主密钥存储部104中存储的主密钥。ECU标识符是存储密钥的目的地的ECU的标识符。N_key是表示密钥的种类的变量。作为摘要,例如能举出通过散列(hash)函数计算出的值、通过异或运算计算出的值、或者CMAC等。
接下来参照图19对本实施方式的密钥生成方法进行说明。图19是示出本实施方式的密钥生成方法的一例的顺序图。在图19中,示出了对第二ECU20的SHE23生成要进行初始设定的密钥(初始密钥)的顺序的一例。其中,对第二ECU20的SHE23,在上述的式(2)所示的值中,将值KMASTER ECU KEY初始设定在MEK密钥中,将值KBOOT MAC KEY初始设定在BMK密钥中,将值KKEY<N>初始设定在KEY_N密钥中。密钥生成装置100的主密钥存储部104预先存储主密钥MS。
图19的密钥生成方法的顺序可以应用于例如在机动车的制造工厂在机动车的制造工序中搭载在机动车1中的第二ECU20。其中,作为一例,密钥生成装置100通过有线或者无线与机动车1进行通信,与该机动车1中搭载的第二ECU20收发数据。
(步骤S1000)密钥生成装置100的输入部101接收变量N_key的指定。在该例中,表示MEK密钥的变量N_key是字符串CMASTER ECU KEY。另外,表示BMK密钥的变量N_key是字符串CBOOT MAC KEY。另外,表示KEY_N密钥的变量N_key是字符串CKEY_N。变量N_key的指定可以是一个,或者可以是多个。密钥生成装置100生成针对被指定的变量N_key的密钥。需要说明的是,对于密钥生成装置100,也可以预先指定要生成的密钥的种类的变量N_key。
(步骤S1001)密钥生成装置100的输入部101获取存储初始密钥的目的地的第二ECU20的ECU标识符ECUID。需要说明的是,对于密钥生成装置100,可以预先设定要存储初始密钥的目的地的第二ECU20的ECU标识符ECUID。
(步骤S1002)密钥生成装置100的摘要计算部102使用存储在主密钥存储部104中的主密钥MS、存储初始密钥的目的地的第二ECU20的ECU标识符ECUID以及被指定的变量N_key,来计算“摘要(MS、ECUID、N_key)”。
(步骤S1003)密钥生成装置100的输出部103将由摘要计算部102计算出的“摘要(MS、ECUID、N_key)”输出作为该变量N_key表示的种类的初始密钥。第二ECU20接收该输出的初始密钥。
(步骤S1004)第二ECU20将从密钥生成装置100接收到的初始密钥作为SHE23的对应的种类的密钥来存储在SHE23中。
需要说明的是,对于第一ECU10的SHE13,也可以与上述的第二ECU20同样地进行初始密钥的生成以及设定。
根据第5实施方式,通过改变变量N_key,能够从相同的主密钥和ECU标识符,灵活地生成多个种类的密钥。
以上,参照附图详细说明了本发明的实施方式,但具体的结构并不限于该实施方式,也包含不脱离本发明的主旨的范围的设计变更等。
上述的实施方式中,举出了机动车作为车辆的例子,但也可以应用于电动自行车、铁路车辆等机动车以外的其他车辆。
另外,可以在计算机可读的记录介质中记录用于实现上述的各装置的功能的计算机程序,使计算机系统读取并执行在该记录介质中记录的程序。需要说明的是,此处所说的“计算机系统”可以包括OS或外围设备等硬件。
另外,“计算机可读的记录介质”是指软盘、光磁盘、ROM、闪存等可写非易失性存储器,DVD(Digital Versatile Disc;数字多功能光盘)等可移动介质,计算机系统内置的硬盘等存储装置。
进一步地,“计算机可读的记录介质”也包括如在经由互联网等网络、电话线路等通信线路发送程序时作为服务器、客户端的计算机系统内部的易失性存储器(例如,DRAM(Dynamic Random Access Memory;动态随机存取存储器))那样一定时间保存程序的介质。
另外,上述程序可以从将该程序存储在存储装置等中的计算机系统,经由传输介质或者通过传输介质中的传输波向其他计算机系统传输。此处,传输程序的“传输介质”是指如互联网等网络(通信网)、电话线路等通信线路(通信线)这样的具有传输信息的功能的介质。
另外,上述程序可以用于实现所述功能的一部分。进一步地,可以是通过与已经记录在计算机系统中的程序的组合来实现所述功能的所谓的差分文件(差分程序)。
工业实用性
本发明也可以应用于提高数据安全性不可缺少的用途。
附图标记说明
1:机动车
10:第一ECU(密钥管理ECU)
11、21:CPU
12、22:存储部
13、23:SHE
14:HSM
20:第二ECU(被认证ECU)
30:CAN
40:通信模块
41:SIM
100:密钥生成装置
101:输入部
102:摘要计算部
103:输出部
104:主密钥存储部

Claims (24)

1.一种车载计算机系统,设置在车辆中,所述车载计算机系统包括:
第一车载计算机,具有第一运算处理装置、第一SHE(Secure Hardware Extension;安全硬件扩展)和第一存储部;以及
第二车载计算机,具有第二运算处理装置、第二SHE和第二存储部,
所述第一车载计算机和所述第二车载计算机连接到所述车辆具有的通信网络,
在所述第二SHE中,初始密钥被设定在能够用于消息认证码的生成处理以及验证处理的一个KEY_N密钥中,
在所述第一SHE中,作为所述初始密钥使用的主密钥被设定在能够用于消息认证码的生成处理以及验证处理的一个KEY_N密钥中,该主密钥与所述第二车载计算机的标识符一起用于生成消息认证码,
所述第一运算处理装置使所述第一SHE使用所述主密钥来生成关于从所述第二车载计算机接收到的所述第二车载计算机的标识符的消息认证码,
使用生成的该消息认证码来执行所述第二车载计算机的合法性的认证处理。
2.根据权利要求1所述的车载计算机系统,其中,
所述第一运算处理装置使所述第一SHE使用所述主密钥来生成所述第二SHE的MEK密钥,
所述第一运算处理装置使所述第一SHE使用所述MEK密钥来生成将密钥交换密钥注册到能够用于所述第二SHE的加密处理以及解密处理的一个KEY_N密钥或者能够用于所述第二SHE的消息认证码的生成处理以及验证处理的一个KEY_N密钥中的密钥注册消息,并将该密钥注册消息发送给所述第二车载计算机,
所述第二运算处理装置根据该密钥注册消息,将密钥交换密钥注册到所述第二SHE中。
3.根据权利要求2所述的车载计算机系统,其中,
所述第一运算处理装置使所述第一SHE使用所述密钥交换密钥来生成将MAC密钥注册到所述第二SHE的RAM_KEY密钥中的密钥注册消息,并将该密钥注册消息发送给所述第二车载计算机,
所述第二运算处理装置根据该密钥注册消息,将MAC密钥注册到所述第二SHE中。
4.根据权利要求3所述的车载计算机系统,其中,
所述第二存储部把将MAC密钥注册到所述第二SHE的RAM_KEY密钥中的密钥注册消息存储在非易失性存储器中,
所述第二运算处理装置根据存储在所述非易失性存储器中的密钥注册消息,将MAC密钥注册到所述第二SHE中,
所述第一车载计算机和所述第二车载计算机根据存储在所述非易失性存储器中的密钥注册消息,基于注册到所述第二SHE的RAM_KEY密钥中的MAC密钥来执行合法性的认证处理。
5.一种车载计算机系统,设置在车辆中,所述车载计算机系统包括:
第一车载计算机,具有第一运算处理装置、HSM(Hardware Security Module;硬件安全模块)和第一存储部;以及
第二车载计算机,具有第二运算处理装置、SHE(Secure Hardware Extension;安全硬件扩展)和第二存储部,
所述第一车载计算机和所述第二车载计算机连接到所述车辆具有的通信网络,
在所述SHE中,初始密钥被设定在能够用于消息认证码的生成处理以及验证处理的一个KEY_N密钥中,
在所述HSM中,存储有作为所述初始密钥使用的主密钥,该主密钥与所述第二车载计算机的标识符一起用于生成消息认证码,
所述第一运算处理装置使所述HSM使用所述主密钥来生成关于从所述第二车载计算机接收到的所述第二车载计算机的标识符的消息认证码,
使用生成的该消息认证码来执行所述第二车载计算机的合法性的认证处理。
6.根据权利要求5所述的车载计算机系统,其中,
所述第一运算处理装置使所述HSM使用所述主密钥来生成所述SHE的MEK密钥,
所述第一运算处理装置使所述HSM使用所述MEK密钥来生成将密钥交换密钥注册到能够用于所述SHE的加密处理以及解密处理的一个KEY_N密钥或者能够用于所述SHE的消息认证码的生成处理以及验证处理的一个KEY_N密钥中的密钥注册消息,并将该密钥注册消息发送给所述第二车载计算机,
所述第二运算处理装置根据该密钥注册消息,将密钥交换密钥注册到所述SHE中。
7.根据权利要求6所述的车载计算机系统,其中,
所述第一运算处理装置使所述HSM使用所述密钥交换密钥来生成将MAC密钥注册到所述SHE的RAM_KEY密钥中的密钥注册消息,并将该密钥注册消息发送给所述第二车载计算机,
所述第二运算处理装置根据该密钥注册消息,将MAC密钥注册到所述SHE中。
8.根据权利要求7所述的车载计算机系统,其中,
所述第二存储部把将MAC密钥注册到所述SHE的RAM_KEY密钥中的密钥注册消息存储在非易失性存储器中,
所述第二运算处理装置根据存储在所述非易失性存储器中的密钥注册消息,将MAC密钥注册到所述SHE中,
所述第一车载计算机和所述第二车载计算机根据存储在所述非易失性存储器中的密钥注册消息,基于注册到所述SHE的RAM_KEY密钥中的MAC密钥来执行合法性的认证处理。
9.一种车载计算机系统,设置在车辆中,所述车载计算机系统包括:
第一车载计算机,具有第一运算处理装置、第一SHE(Secure Hardware Extension;安全硬件扩展)和第一存储部;以及
第二车载计算机,具有第二运算处理装置、第二SHE和第二存储部,
所述第一车载计算机和所述第二车载计算机连接到所述车辆具有的通信网络,
在所述第二SHE中,初始密钥被设定在能够用于消息认证码的生成处理以及验证处理的一个KEY_N密钥中,
所述第一运算处理装置使存储作为所述初始密钥使用的主密钥的安全元件生成关于从所述第二车载计算机接收到的所述第二车载计算机的标识符的消息认证码,所述主密钥与所述第二车载计算机的标识符一起用于生成消息认证码,
所述第一运算处理装置使所述安全元件执行使用生成的该消息认证码的所述第二车载计算机的合法性的认证处理。
10.根据权利要求9所述的车载计算机系统,其中,
所述第一运算处理装置使所述安全元件使用所述主密钥来生成所述第二SHE的MEK密钥,
所述第一运算处理装置使所述安全元件使用所述MEK密钥来生成将密钥交换密钥注册到能够用于所述第二SHE的加密处理以及解密处理的一个KEY_N密钥或者能够用于所述第二SHE的消息认证码的生成处理以及验证处理的一个KEY_N密钥中的密钥注册消息,并将该密钥注册消息发送给所述第二车载计算机,
所述第二运算处理装置根据该密钥注册消息,将密钥交换密钥注册到所述第二SHE中。
11.一种车载计算机系统,设置在车辆中,所述车载计算机系统包括:
第一车载计算机,具有第一运算处理装置、HSM(Hardware Security Module;硬件安全模块)和第一存储部;以及
第二车载计算机,具有第二运算处理装置、SHE(Secure Hardware Extension;安全硬件扩展)和第二存储部,
所述第一车载计算机和所述第二车载计算机连接到所述车辆具有的通信网络,
在所述SHE中,初始密钥被设定在能够用于消息认证码的生成处理以及验证处理的一个KEY_N密钥中,
所述第一运算处理装置使存储作为所述初始密钥使用的主密钥的安全元件生成关于从所述第二车载计算机接收到的所述第二车载计算机的标识符的消息认证码,所述主密钥与所述第二车载计算机的标识符一起用于生成消息认证码,
所述第一运算处理装置使所述安全元件执行使用生成的该消息认证码的所述第二车载计算机的合法性的认证处理。
12.根据权利要求11所述的车载计算机系统,其中,
所述第一运算处理装置使所述安全元件使用所述主密钥来生成所述SHE的MEK密钥,
所述第一运算处理装置使所述安全元件使用所述MEK密钥来生成将密钥交换密钥注册到能够用于所述SHE的加密处理以及解密处理的一个KEY_N密钥或者能够用于所述SHE的消息认证码的生成处理以及验证处理的一个KEY_N密钥中的密钥注册消息,并将该密钥注册消息发送给所述第二车载计算机,
所述第二运算处理装置根据该密钥注册消息,将密钥交换密钥注册到所述SHE中。
13.一种车辆,具有权利要求1~12中任一项所述的车载计算机系统。
14.一种管理方法,其中,
设置在车辆中的车载计算机系统包括:
第一车载计算机,具有第一运算处理装置、第一SHE(Secure Hardware Extension;安全硬件扩展)和第一存储部;以及
第二车载计算机,具有第二运算处理装置、第二SHE和第二存储部,
所述第一车载计算机和所述第二车载计算机连接到所述车辆具有的通信网络,
在所述第二SHE中,初始密钥被设定在能够用于消息认证码的生成处理以及验证处理的一个KEY_N密钥中,
在所述第一SHE中,作为所述初始密钥使用的主密钥被设定在能够用于消息认证码的生成处理以及验证处理的一个KEY_N密钥中,该主密钥与所述第二车载计算机的标识符一起用于生成消息认证码,
所述管理方法包括:
消息认证码生成步骤,所述第一运算处理装置使所述第一SHE使用所述主密钥来生成关于从所述第二车载计算机接收到的所述第二车载计算机的标识符的消息认证码;以及
认证步骤,所述第一运算处理装置使用生成的该消息认证码来执行所述第二车载计算机的合法性的认证处理。
15.一种管理方法,其中,
设置在车辆中的车载计算机系统包括:
第一车载计算机,具有第一运算处理装置、HSM(Hardware Security Module;硬件安全模块)和第一存储部;以及
第二车载计算机,具有第二运算处理装置、SHE(Secure Hardware Extension;安全硬件扩展)和第二存储部,
所述第一车载计算机和所述第二车载计算机连接到所述车辆具有的通信网络,
在所述SHE中,初始密钥被设定在能够用于消息认证码的生成处理以及验证处理的一个KEY_N密钥中,
在所述HSM中,存储有作为所述初始密钥使用的主密钥,该主密钥与所述第二车载计算机的标识符一起用于生成消息认证码,
所述管理方法包括:
消息认证码生成步骤,所述第一运算处理装置使所述HSM使用所述主密钥来生成关于从所述第二车载计算机接收到的所述第二车载计算机的标识符的消息认证码;以及
认证步骤,所述第一运算处理装置使用生成的该消息认证码来执行所述第二车载计算机的合法性的认证处理。
16.一种管理方法,其中,
设置在车辆中的车载计算机系统包括:
第一车载计算机,具有第一运算处理装置、第一SHE(Secure Hardware Extension;安全硬件扩展)和第一存储部;以及
第二车载计算机,具有第二运算处理装置、第二SHE和第二存储部,
所述第一车载计算机和所述第二车载计算机连接到所述车辆具有的通信网络,
在所述第二SHE中,初始密钥被设定在能够用于消息认证码的生成处理以及验证处理的一个KEY_N密钥中,
所述管理方法包括:
消息认证码生成步骤,所述第一运算处理装置使存储作为所述初始密钥使用的主密钥的安全元件生成关于从所述第二车载计算机接收到的所述第二车载计算机的标识符的消息认证码,所述主密钥与所述第二车载计算机的标识符一起用于生成消息认证码;以及
认证步骤,所述第一运算处理装置使所述安全元件执行使用生成的该消息认证码的所述第二车载计算机的合法性的认证处理。
17.一种管理方法,其中,
设置在车辆中的车载计算机系统包括:
第一车载计算机,具有第一运算处理装置、HSM(Hardware Security Module;硬件安全模块)和第一存储部;以及
第二车载计算机,具有第二运算处理装置、SHE(Secure Hardware Extension;安全硬件扩展)和第二存储部,
所述第一车载计算机和所述第二车载计算机连接到所述车辆具有的通信网络,
在所述SHE中,初始密钥被设定在能够用于消息认证码的生成处理以及验证处理的一个KEY_N密钥中,
所述管理方法包括:
消息认证码生成步骤,所述第一运算处理装置使存储作为所述初始密钥使用的主密钥的安全元件生成关于从所述第二车载计算机接收到的所述第二车载计算机的标识符的消息认证码,所述主密钥与所述第二车载计算机的标识符一起用于生成消息认证码;以及
认证步骤,所述第一运算处理装置使所述安全元件执行使用生成的该消息认证码的所述第二车载计算机的合法性的认证处理。
18.一种计算机程序,其中,
设置在车辆中的车载计算机系统包括:
第一车载计算机,具有第一运算处理装置、第一SHE(Secure Hardware Extension;安全硬件扩展)和第一存储部;以及
第二车载计算机,具有第二运算处理装置、第二SHE和第二存储部,
所述第一车载计算机和所述第二车载计算机连接到所述车辆具有的通信网络,
在所述第二SHE中,初始密钥被设定在能够用于消息认证码的生成处理以及验证处理的一个KEY_N密钥中,
在所述第一SHE中,作为所述初始密钥使用的主密钥被设定在能够用于消息认证码的生成处理以及验证处理的一个KEY_N密钥中,该主密钥与所述第二车载计算机的标识符一起用于生成消息认证码,
所述计算机程序用于使作为所述车载计算机系统的所述第一运算处理装置的计算机执行:
消息认证码生成步骤,使所述第一SHE使用所述主密钥来生成关于从所述第二车载计算机接收到的所述第二车载计算机的标识符的消息认证码;以及
认证步骤,使用生成的该消息认证码来执行所述第二车载计算机的合法性的认证处理。
19.一种计算机程序,其中,
设置在车辆中的车载计算机系统包括:
第一车载计算机,具有第一运算处理装置、HSM(Hardware Security Module;硬件安全模块)和第一存储部;以及
第二车载计算机,具有第二运算处理装置、SHE(Secure Hardware Extension;安全硬件扩展)和第二存储部,
所述第一车载计算机和所述第二车载计算机连接到所述车辆具有的通信网络,
在所述SHE中,初始密钥被设定在能够用于消息认证码的生成处理以及验证处理的一个KEY_N密钥中,
在所述HSM中,存储有作为所述初始密钥使用的主密钥,该主密钥与所述第二车载计算机的标识符一起用于生成消息认证码,
所述计算机程序用于使作为所述车载计算机系统的所述第一运算处理装置的计算机执行:
消息认证码生成步骤,使所述HSM使用所述主密钥来生成关于从所述第二车载计算机接收到的所述第二车载计算机的标识符的消息认证码;以及
认证步骤,使用生成的该消息认证码来执行所述第二车载计算机的合法性的认证处理。
20.一种计算机程序,其中,
设置在车辆中的车载计算机系统包括:
第一车载计算机,具有第一运算处理装置、第一SHE(Secure Hardware Extension;安全硬件扩展)和第一存储部;以及
第二车载计算机,具有第二运算处理装置、第二SHE和第二存储部,
所述第一车载计算机和所述第二车载计算机连接到所述车辆具有的通信网络,
在所述第二SHE中,初始密钥被设定在能够用于消息认证码的生成处理以及验证处理的一个KEY_N密钥中,
所述计算机程序用于使作为所述车载计算机系统的所述第一运算处理装置的计算机执行:
消息认证码生成步骤,使存储作为所述初始密钥使用的主密钥的安全元件生成关于从所述第二车载计算机接收到的所述第二车载计算机的标识符的消息认证码,所述主密钥与所述第二车载计算机的标识符一起用于生成消息认证码;以及
认证步骤,使所述安全元件执行使用生成的该消息认证码的所述第二车载计算机的合法性的认证处理。
21.一种计算机程序,其中,
设置在车辆中的车载计算机系统包括:
第一车载计算机,具有第一运算处理装置、HSM(Hardware Security Module;硬件安全模块)和第一存储部;以及
第二车载计算机,具有第二运算处理装置、SHE(Secure Hardware Extension;安全硬件扩展)和第二存储部,
所述第一车载计算机和所述第二车载计算机连接到所述车辆具有的通信网络,
在所述SHE中,初始密钥被设定在能够用于消息认证码的生成处理以及验证处理的一个KEY_N密钥中,
所述计算机程序用于使作为所述车载计算机系统的所述第一运算处理装置的计算机执行:
消息认证码生成步骤,使存储作为所述初始密钥使用的主密钥的安全元件生成关于从所述第二车载计算机接收到的所述第二车载计算机的标识符的消息认证码,所述主密钥与所述第二车载计算机的标识符一起用于生成消息认证码;以及
认证步骤,使所述安全元件执行使用生成的该消息认证码的所述第二车载计算机的合法性的认证处理。
22.一种密钥生成装置,其中,具有:
存储部,存储主密钥;以及
计算部,使用存储在所述存储部中的主密钥、车辆具有的车载计算机的标识符和表示密钥的种类的变量,来计算密钥。
23.一种密钥生成方法,其中,包括:
存储步骤,密钥生成装置将主密钥存储在存储部中;以及
计算步骤,所述密钥生成装置使用存储在所述存储部中的主密钥、车辆具有的车载计算机的标识符和表示密钥的种类的变量,来计算密钥。
24.一种计算机程序,用于使计算机执行:
存储步骤,将主密钥存储在存储部中;以及
计算步骤,使用存储在所述存储部中的主密钥、车辆具有的车载计算机的标识符和表示密钥的种类的变量,来计算密钥。
CN201780007461.3A 2016-01-18 2017-01-05 车载计算机系统、车辆、密钥生成装置、管理方法、密钥生成方法以及计算机可读取的记录介质 Expired - Fee Related CN108496322B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2016007432 2016-01-18
JP2016-007432 2016-01-18
JP2016150269A JP6260066B2 (ja) 2016-01-18 2016-07-29 車載コンピュータシステム及び車両
JP2016-150269 2016-07-29
PCT/JP2017/000105 WO2017126322A1 (ja) 2016-01-18 2017-01-05 車載コンピュータシステム、車両、鍵生成装置、管理方法、鍵生成方法、及びコンピュータプログラム

Publications (2)

Publication Number Publication Date
CN108496322A true CN108496322A (zh) 2018-09-04
CN108496322B CN108496322B (zh) 2021-04-23

Family

ID=59395855

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780007461.3A Expired - Fee Related CN108496322B (zh) 2016-01-18 2017-01-05 车载计算机系统、车辆、密钥生成装置、管理方法、密钥生成方法以及计算机可读取的记录介质

Country Status (4)

Country Link
US (1) US10855460B2 (zh)
EP (1) EP3407534B1 (zh)
JP (2) JP6260066B2 (zh)
CN (1) CN108496322B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109714759A (zh) * 2018-12-27 2019-05-03 浙江合众新能源汽车有限公司 一种安全的汽车ota服务方法及服务系统
CN111385099A (zh) * 2018-12-29 2020-07-07 北京奇虎科技有限公司 车载智能硬件的安全认证方法及装置
CN113169925A (zh) * 2018-12-17 2021-07-23 罗伯特·博世有限公司 计算装置和用于运行计算装置的方法
CN114124578A (zh) * 2022-01-25 2022-03-01 湖北芯擎科技有限公司 一种通信方法、装置、车辆及存储介质
CN114834393A (zh) * 2021-01-14 2022-08-02 丰田自动车株式会社 车辆控制系统
CN117378169A (zh) * 2021-05-21 2024-01-09 华为技术有限公司 一种密钥生成方法及装置

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109314640B (zh) * 2016-08-29 2021-11-12 Kddi株式会社 车辆信息收集系统、车载计算机、车辆信息收集装置、车辆信息收集方法以及记录介质
JP6731887B2 (ja) * 2017-06-27 2020-07-29 Kddi株式会社 保守システム及び保守方法
JP6696942B2 (ja) * 2017-08-14 2020-05-20 Kddi株式会社 車両保安システム及び車両保安方法
RU2697953C2 (ru) 2018-02-06 2019-08-21 Акционерное общество "Лаборатория Касперского" Система и способ вынесения решения о компрометации данных
JP6735952B2 (ja) 2018-04-10 2020-08-05 三菱電機株式会社 セキュリティ装置及び組込み機器
US10789364B2 (en) * 2018-05-02 2020-09-29 Nxp B.V. Method for providing an authenticated update in a distributed network
US10841284B2 (en) * 2018-05-30 2020-11-17 Lear Corporation Vehicle communication network and method
US10911949B2 (en) * 2018-07-23 2021-02-02 Byton Limited Systems and methods for a vehicle authenticating and enrolling a wireless device
JP7111074B2 (ja) * 2018-08-10 2022-08-02 株式会社デンソー 車両用マスタ装置、セキュリティアクセス鍵の管理方法、セキュリティアクセス鍵の管理プログラム及び車両用電子制御システム
WO2020032116A1 (ja) * 2018-08-10 2020-02-13 株式会社デンソー 車両用マスタ装置、セキュリティアクセス鍵の管理方法、セキュリティアクセス鍵の管理プログラム及び諸元データのデータ構造
JP6925542B2 (ja) 2018-10-12 2021-08-25 三菱電機株式会社 ソフトウェア検証装置、ソフトウェア検証方法およびソフトウェア検証プログラム
DE102019212959B3 (de) 2019-08-28 2021-03-04 Volkswagen Aktiengesellschaft Verfahren zur geschützten Kommunikation eines Fahrzeugs mit einem externen Server, Vorrichtung zur Durchführung der Schlüsselableitung bei dem Verfahren sowie Fahrzeug
DE102019212958B3 (de) 2019-08-28 2021-03-04 Volkswagen Aktiengesellschaft Verfahren und Vorrichtung zur Erzeugung von kryptographischen Schlüsseln nach einem Schlüsselableitungsmodell sowie Fahrzeug
CN112448816B (zh) 2019-08-31 2021-10-19 华为技术有限公司 一种身份验证方法及装置
WO2022151478A1 (zh) * 2021-01-18 2022-07-21 华为技术有限公司 车辆密钥管理方法、设备及其系统
US20220255752A1 (en) * 2021-02-09 2022-08-11 Ford Global Technologies, Llc Vehicle computing device authentication
US11804962B2 (en) * 2021-04-29 2023-10-31 GM Global Technology Operations LLC System and method for establishing an in-vehicle cryptographic manager
WO2023000313A1 (zh) * 2021-07-23 2023-01-26 华为技术有限公司 一种密钥验证方法及相关装置
CN113613214B (zh) * 2021-08-31 2023-07-21 重庆长安汽车股份有限公司 一种车内消息认证密钥管理方法及可读存储介质
DE102021211591A1 (de) 2021-10-14 2023-04-20 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren und Vorrichtung zum Verarbeiten von Daten
DE102021130402A1 (de) 2021-11-22 2023-05-25 Audi Ag Steuergerät und Steuergerätsystem für ein Kraftfahrzeug sowie Verfahren zum Betreiben eines Steuergeräts für ein Kraftfahrzeug
CN115296815A (zh) * 2022-07-28 2022-11-04 东风汽车集团股份有限公司 一种车载控制器身份认证方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009111974A (ja) * 2007-10-12 2009-05-21 Panasonic Corp ヘルスケアシステム、鍵管理サーバ及びその方法、並びに暗号化装置及びその方法
WO2013005730A1 (ja) * 2011-07-06 2013-01-10 日立オートモティブシステムズ株式会社 車載ネットワークシステム
CN104580351A (zh) * 2013-10-28 2015-04-29 通用汽车环球科技运作有限责任公司 从远程装置编程车辆模块以及相关方法和系统

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7774852B2 (en) 2007-10-12 2010-08-10 Panasonic Corporation Health care system, key management server and method for managing key, and encrypting device and method for encrypting vital sign data
JP5310761B2 (ja) * 2011-03-04 2013-10-09 トヨタ自動車株式会社 車両ネットワークシステム
JP5651615B2 (ja) * 2012-02-16 2015-01-14 日立オートモティブシステムズ株式会社 車載ネットワークシステム
DE102013206185A1 (de) * 2013-04-09 2014-10-09 Robert Bosch Gmbh Verfahren zur Erkennung einer Manipulation eines Sensors und/oder von Sensordaten des Sensors
US9156438B2 (en) * 2013-09-25 2015-10-13 GM Global Technology Operations LLC Attack resistant theft deterrent system
US9571284B2 (en) * 2014-03-13 2017-02-14 GM Global Technology Operations LLC Controlling access to personal information stored in a vehicle using a cryptographic key
US9792440B1 (en) * 2014-04-17 2017-10-17 Symantec Corporation Secure boot for vehicular systems
CN105637803B (zh) * 2014-05-08 2019-10-22 松下电器(美国)知识产权公司 车载网络系统、不正常检测电子控制单元以及不正常应对方法
JP6338949B2 (ja) * 2014-07-04 2018-06-06 国立大学法人名古屋大学 通信システム及び鍵情報共有方法
CN105794146A (zh) * 2014-11-13 2016-07-20 松下电器(美国)知识产权公司 密钥管理方法、车载网络系统以及密钥管理装置
JP6173411B2 (ja) * 2014-12-12 2017-08-02 Kddi株式会社 管理装置、車両、管理システム、管理方法、及びコンピュータプログラム
JP6079768B2 (ja) * 2014-12-15 2017-02-15 トヨタ自動車株式会社 車載通信システム
JP6365410B2 (ja) * 2015-05-22 2018-08-01 株式会社デンソー 車両用通信システム
JP6345157B2 (ja) * 2015-06-29 2018-06-20 クラリオン株式会社 車載情報通信システム及び認証方法
US20180270052A1 (en) * 2015-09-22 2018-09-20 Bae Systems Plc Cryptographic key distribution
JP6217728B2 (ja) * 2015-10-19 2017-10-25 トヨタ自動車株式会社 車両システムおよび認証方法
JP6523143B2 (ja) * 2015-11-13 2019-05-29 株式会社東芝 データ配布装置、通信システム、移動体およびデータ配布方法
JP6502832B2 (ja) * 2015-11-13 2019-04-17 株式会社東芝 検査装置、通信システム、移動体および検査方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009111974A (ja) * 2007-10-12 2009-05-21 Panasonic Corp ヘルスケアシステム、鍵管理サーバ及びその方法、並びに暗号化装置及びその方法
WO2013005730A1 (ja) * 2011-07-06 2013-01-10 日立オートモティブシステムズ株式会社 車載ネットワークシステム
CN104580351A (zh) * 2013-10-28 2015-04-29 通用汽车环球科技运作有限责任公司 从远程装置编程车辆模块以及相关方法和系统

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
CAR-ELE JAPAN @TOKYO BIG SIGHT: "32-bit Microcomputer with On-chip Security Function for Body Gateway", 《FREESCALE》 *
EMERSON等: "Using the Cryptographic Service Engine(CSE)", 《FREESCALE SEMICONDUCTOR APPLICATION NOTE》 *
TAKEMORI等: "Protection of On-board Control Systems Based on Secure Elements-Summary and Study of Elemental Technologies", 《17TH SUMMER WORKSHOP ON EMBEDDED SYSTEM TECHNOLOGIES(SWEST 17)》 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113169925A (zh) * 2018-12-17 2021-07-23 罗伯特·博世有限公司 计算装置和用于运行计算装置的方法
US11960611B2 (en) 2018-12-17 2024-04-16 Robert Bosch Gmbh Efficient distribution of processes between a vehicle control computing device and a cryptographic module, and method for operation thereof
CN109714759A (zh) * 2018-12-27 2019-05-03 浙江合众新能源汽车有限公司 一种安全的汽车ota服务方法及服务系统
CN111385099A (zh) * 2018-12-29 2020-07-07 北京奇虎科技有限公司 车载智能硬件的安全认证方法及装置
CN114834393A (zh) * 2021-01-14 2022-08-02 丰田自动车株式会社 车辆控制系统
CN114834393B (zh) * 2021-01-14 2023-08-04 丰田自动车株式会社 车辆控制系统
CN117378169A (zh) * 2021-05-21 2024-01-09 华为技术有限公司 一种密钥生成方法及装置
CN114124578A (zh) * 2022-01-25 2022-03-01 湖北芯擎科技有限公司 一种通信方法、装置、车辆及存储介质
CN114124578B (zh) * 2022-01-25 2022-04-15 湖北芯擎科技有限公司 一种通信方法、装置、车辆及存储介质

Also Published As

Publication number Publication date
US20190028267A1 (en) 2019-01-24
CN108496322B (zh) 2021-04-23
EP3407534A1 (en) 2018-11-28
EP3407534B1 (en) 2020-08-26
JP2017130908A (ja) 2017-07-27
EP3407534A4 (en) 2019-09-04
JP6454918B2 (ja) 2019-01-23
US10855460B2 (en) 2020-12-01
JP2018023162A (ja) 2018-02-08
JP6260066B2 (ja) 2018-01-17

Similar Documents

Publication Publication Date Title
CN108496322A (zh) 车载计算机系统、车辆、密钥生成装置、管理方法、密钥生成方法以及计算机程序
CN107040368B (zh) 用于车辆的受保护的通信的方法
CN102843231B (zh) 密码通信系统和密码通信方法
CN109314639B (zh) 管理系统、密钥生成装置、车载计算机、管理方法以及记录介质
CN107710672A (zh) 软件分配处理装置、车辆、软件分配处理方法以及计算机程序
CN108306727A (zh) 用于加密、解密和认证的方法和装置
CN109479000A (zh) 再利用系统、密钥生成装置、数据安全装置、车载计算机、再利用方法以及计算机程序
CN104980477A (zh) 云存储环境下的数据访问控制方法和系统
JP5380583B1 (ja) デバイス認証方法及びシステム
CN103329589B (zh) 发布用于在cpns环境中验证用户的验证密钥的系统和方法
JP2017188959A (ja) 管理システム、管理装置、管理方法及びコンピュータプログラム
CN109479002A (zh) 通信系统、车辆、服务器装置、通信方法以及计算机程序
CN110855616B (zh) 一种数字钥匙生成系统
TW202137199A (zh) 生物支付設備的認證方法、裝置、電腦設備和儲存媒體
CN106209730B (zh) 一种管理应用标识的方法及装置
CN108377184A (zh) 一种智能汽车内部网络分布式认证加密方法
US20190044721A1 (en) Device authorization using symmetric key systems and methods
US20160277182A1 (en) Communication system and master apparatus
CN109644127A (zh) 用于获得设备之间的公共会话密钥的系统和方法
WO2017126322A1 (ja) 車載コンピュータシステム、車両、鍵生成装置、管理方法、鍵生成方法、及びコンピュータプログラム
JP2019149707A (ja) 検証装置および検証システム
US10263976B2 (en) Method for excluding a participant from a group having authorized communication
US20230379175A1 (en) Challenge-response protocol based on physically unclonable functions
KR20190112959A (ko) 암호화 데이터를 이용하는 기계학습 모델 운영방법 및 기계학습 모델 기반 장치
CN111656729B (zh) 用于为编码两台设备之间的数字通信计算托管会话密钥和私人会话密钥的系统和方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20210423