KR101982917B1 - Certificate-based vehicle security method and apparatus to maintain ecu security - Google Patents

Certificate-based vehicle security method and apparatus to maintain ecu security Download PDF

Info

Publication number
KR101982917B1
KR101982917B1 KR1020170055424A KR20170055424A KR101982917B1 KR 101982917 B1 KR101982917 B1 KR 101982917B1 KR 1020170055424 A KR1020170055424 A KR 1020170055424A KR 20170055424 A KR20170055424 A KR 20170055424A KR 101982917 B1 KR101982917 B1 KR 101982917B1
Authority
KR
South Korea
Prior art keywords
firmware
certificate
key
value
stored
Prior art date
Application number
KR1020170055424A
Other languages
Korean (ko)
Other versions
KR20180121121A (en
Inventor
김기천
유요셉
진정하
Original Assignee
건국대학교 산학협력단
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 건국대학교 산학협력단 filed Critical 건국대학교 산학협력단
Priority to KR1020170055424A priority Critical patent/KR101982917B1/en
Publication of KR20180121121A publication Critical patent/KR20180121121A/en
Application granted granted Critical
Publication of KR101982917B1 publication Critical patent/KR101982917B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/84Vehicles

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)

Abstract

차량의 ECU 보안을 위한 방법 및 장치가 개시된다. 차량의 ECU(Engine Control Unit) 보안 방법에 있어서, 일 실시예에 따른 차량 보안 방법은 인증서(certificate), 제1 키(key) 및 상기 ECU의 펌웨어 데이터(firmware data)를 수신하는 단계와, 상기 제1 키 및 상기 펌웨어 데이터에 기초하여 펌웨어 값(firmware value)을 생성하여 상기 인증서에 저장하는 단계와, 상기 펌웨어 값이 저장된 인증서에 기초하여 상기 제1 키를 암호화(encryption)하는 단계를 포함한다.A method and apparatus for ECU security of a vehicle are disclosed. In an ECU (Engine Control Unit) security method of a vehicle, a vehicle security method according to an embodiment includes receiving a certificate, a first key and firmware data of the ECU, Generating a firmware value based on the first key and the firmware data and storing the firmware value in the certificate; and encrypting the first key based on the stored certificate of the firmware value .

Description

ECU 보안 유지를 위한 인증서 기반 차량 보안 방법 및 장치{CERTIFICATE-BASED VEHICLE SECURITY METHOD AND APPARATUS TO MAINTAIN ECU SECURITY}BACKGROUND OF THE INVENTION 1. Field of the Invention [0001] The present invention relates to a method and apparatus for securing an ECU,

아래 실시예들은 차량 ECU 보안 유지를 위한 인증서 기반 차량 보안 방법 및 장치에 관한 것이다.The following embodiments relate to a certificate-based vehicle security method and apparatus for securing vehicle ECUs.

기존에는 차량의 ECU(Engine Control Unit)의 주요 매핑 데이터(mapping data)들에 대해서 기밀성과 무결성을 제공하는 보호 기법이 존재하지 않아, 차량에 대한 임의적인 튜닝이 가능하였다.Conventionally, there is no protection technique that provides confidentiality and integrity to the main mapping data of the ECU (Engine Control Unit) of the vehicle, and arbitrary tuning of the vehicle is possible.

ECU에 대한 잘못된 튜닝이나 악의적인 조작은 차량의 안정성을 떨어트릴 뿐 아니라, 운전자 및 보행자들의 안전을 위협할 수 있다.Incorrect tuning or malicious manipulation of the ECU may not only reduce the stability of the vehicle, but may also jeopardize the safety of drivers and pedestrians.

따라서, 차량의 ECU에 적용되는 매핑 데이터들을 안전하게 보호할 필요성이있다.Therefore, there is a need to safely protect the mapping data applied to the ECU of the vehicle.

실시예들은 차량의 ECU 매핑 데이터를 보호하기 위해 인증서에 기반한 차량 보안 기술을 제공할 수 있다.Embodiments may provide vehicle security techniques based on certificates to protect the ECU mapping data of the vehicle.

차량의 ECU(Engine Control Unit) 보안 방법에 있어서, 일 실시예에 따른 차량 보안 방법은, 인증서(certificate), 제1 키(key) 및 상기 ECU의 펌웨어 데이터(firmware data)를 수신하는 단계와, 상기 제1 키 및 상기 펌웨어 데이터에 기초하여 펌웨어 값(firmware value)을 생성하여 상기 인증서에 저장하는 단계와, 상기 펌웨어 값이 저장된 인증서에 기초하여 상기 제1 키를 암호화(encryption)하는 단계를 포함한다.In an ECU (Engine Control Unit) security method of a vehicle, a vehicle security method according to an embodiment includes receiving a certificate, a first key and firmware data of the ECU, Generating a firmware value based on the first key and the firmware data and storing the generated firmware value in the certificate; and encrypting the first key based on the stored certificate of the firmware value do.

상기 펌웨어 데이터는, ECU 매핑 데이터(mapping data) 및 ECU 펌웨어 식별자(firmware identifier)를 포함할 수 있다.The firmware data may include ECU mapping data and an ECU firmware identifier.

상기 저장하는 단계는, 상기 제1 키를 이용하여 상기 펌웨어 데이터를 암호화하는 단계와, 암호화된 펌웨어 데이터에 기초하여 상기 펌웨어 값을 생성하는 단계를 포함할 수 있다.The storing step may include encrypting the firmware data using the first key, and generating the firmware value based on the encrypted firmware data.

상기 암호화하는 단계는, 상기 펌웨어 값이 저장된 인증서를 이용하여 제2 키를 생성하는 단계와, 상기 제2 키를 이용하여 상기 제1 키를 암호화하는 단계를 포함할 수 있다.The encrypting may include generating a second key using the certificate in which the firmware value is stored, and encrypting the first key using the second key.

상기 차량 보안 방법은 상기 차량을 인증(authentication)하는 단계를 더 포함할 수 있다.The vehicle security method may further include the step of authenticating the vehicle.

상기 인증하는 단계는, 상기 펌웨어 값과 서버에 저장된 펌웨어 값을 대조(compare)하고, 대조 결과에 기초하여 업데이트된 펌웨어 값이 저장된 인증서를 재발급 받는 단계와, 상기 서버에 상기 업데이트된 펌웨어 값이 저장된 인증서를 저장하는 단계를 포함할 수 있다.Wherein the authenticating step comprises the steps of: comparing the firmware value with the firmware value stored in the server, and reissuing the certificate stored with the updated firmware value based on the verification result; And storing the certificate.

차량의 ECU 보안 방법에 있어서, 일 실시예에 따른 차량 보안 방법은, 펌웨어 값이 저장된 인증서를 이용하여 펌웨어 데이터를 복원하는 단계와, 복원된 펌웨어 데이터를 이용하여 상기 차량을 구동(operation)하는 단계를 포함한다.In the ECU security method for a vehicle, a vehicle security method according to an embodiment includes restoring firmware data using a certificate in which a firmware value is stored, operating the vehicle using restored firmware data .

상기 복원하는 단계는, 상기 펌웨어 값이 저장된 인증서를 이용하여 제2 키를 생성하는 단계와, 상기 제2 키를 이용하여 암호화된 제1 키를 복호화(decryption)하는 단계와, 복호화된 제1 키를 이용하여 펌웨어 데이터를 복원(restoration)하는 단계를 포함할 수 있다.The restoring may include generating a second key using the certificate stored with the firmware value, decrypting the first key encrypted using the second key, decrypting the decrypted first key, And restoring the firmware data using the firmware.

상기 차량 보안 방법은 상기 차량을 인증하는 단계를 더 포함할 수 있다.The vehicle security method may further include authenticating the vehicle.

상기 인증하는 단계는, 상기 펌웨어 값과 서버에 저장된 펌웨어 값을 대조하고, 대조 결과에 기초하여 업데이트된 펌웨어 값이 저장된 인증서를 재발급 받는 단계와, 상기 서버에 상기 업데이트된 펌웨어 값이 저장된 인증서를 저장하는 단계를 포함할 수 있다.Wherein the authenticating step includes the steps of: comparing the firmware value with the firmware value stored in the server, and reissuing the certificate stored with the updated firmware value based on the verification result; storing the updated firmware value in the server .

차량의 ECU 보안 장치에 있어서, 일 실시예에 따른 차량 보안 장치는, 인증서, 제1 키 및 상기 ECU의 펌웨어 데이터를 수신하는 수신 장치와, 상기 제1 키 및 상기 펌웨어 데이터에 기초하여 펌웨어 값을 생성하여 상기 인증서에 저장하고, 상기 펌웨어 값이 저장된 인증서에 기초하여 상기 제1 키를 암호화하는 컨트롤러를 포함한다.A vehicle security apparatus according to an embodiment of the present invention includes a receiving device that receives a certificate, a first key, and firmware data of the ECU, and a firmware value setting unit that sets a firmware value based on the first key and the firmware data. And storing the generated certificate in the certificate, and encrypting the first key based on the certificate in which the firmware value is stored.

상기 컨트롤러는, 상기 제1 키 및 상기 펌웨어 데이터에 기초하여 펌웨어 값을 생성하여 상기 인증서에 저장하는 펌웨어 값 생성 모듈(firmware value generation module)과, 상기 펌웨어 값이 저장된 인증서에 기초하여 상기 제1 키를 암호화하는 암호화 모듈(encryption module)을 포함할 수 있다.The controller includes a firmware value generation module for generating a firmware value based on the first key and the firmware data and storing the generated firmware value in the certificate, And an encryption module for encrypting the encryption key.

상기 펌웨어 데이터는, ECU 매핑 데이터 및 ECU 펌웨어 식별자를 포함할 수 있다.The firmware data may include ECU mapping data and an ECU firmware identifier.

상기 펌웨어 값 생성 모듈은, 상기 제1 키를 이용하여 상기 펌웨어 데이터를 암호화하고, 암호화된 펌웨어 데이터에 기초하여 상기 펌웨어 값을 생성할 수 있다.The firmware value generation module may encrypt the firmware data using the first key and generate the firmware value based on the encrypted firmware data.

상기 암호화 모듈은, 상기 펌웨어 값이 저장된 인증서를 이용하여 제2 키를 생성하고, 상기 제2 키를 이용하여 상기 제1 키를 암호화할 수 있다.The encryption module may generate a second key using the certificate storing the firmware value, and may encrypt the first key using the second key.

상기 컨트롤러는, 상기 차량을 인증하는 인증 모듈(authentication module)을 더 포함할 수 있다.The controller may further comprise an authentication module for authenticating the vehicle.

상기 인증 모듈은, 상기 펌웨어 값과 서버에 저장된 펌웨어 값을 대조하고, 대조 결과에 기초하여 업데이트된 펌웨어 값이 저장된 인증서를 재발급 받는 인증서 발급 모듈(certificate issuing module)과 상기 서버에 상기 업데이트된 펌웨어 값이 저장된 인증서를 저장하는 인증서 업데이트 모듈(certificate updating module)을 포함할 수 있다.Wherein the authentication module includes a certificate issuing module for collating the firmware value with a firmware value stored in the server and reissuing a certificate stored with an updated firmware value based on the verification result, And a certificate updating module for storing the stored certificate.

차량의 ECU(Engine Control Unit) 보안 장치에 있어서, 일 실시예에 따른 차량 보안 장치는, 펌웨어 값이 저장된 인증서를 수신하는 수신 장치와, 펌웨어 값이 저장된 인증서를 이용하여 상기 펌웨어 데이터를 복원하고, 복원된 펌웨어 데이터를 이용하여 상기 차량을 구동하는 컨트롤러를 포함한다.A vehicle security apparatus according to an exemplary embodiment of the present invention includes a receiving device that receives a certificate stored with a firmware value, a controller that restores the firmware data using a certificate storing the firmware value, And a controller for driving the vehicle using the restored firmware data.

상기 컨트롤러는, 상기 펌웨어 값이 저장된 인증서를 이용하여 제2 키를 생성하는 구동 키 생성 모듈(operation key generation module)과 상기 제2 키를 이용하여 암호화된 제1 키를 복호화하는 복호화 모듈(decryption module)과, 복호화된 제1 키를 이용하여 펌웨어 데이터를 복원하는 데이터 복원 모듈(data restoration module)을 포함할 수 있다.The controller includes an operation key generation module for generating a second key using the certificate storing the firmware value and a decryption module for decrypting the first key encrypted using the second key, And a data restoration module for restoring the firmware data using the decrypted first key.

상기 컨트롤러는, 상기 차량을 인증하는 인증 모듈을 더 포함할 수 있다.The controller may further include an authentication module for authenticating the vehicle.

상기 인증 모듈은, 상기 펌웨어 값과 서버에 저장된 펌웨어 값을 대조하고, 대조 결과에 기초하여 업데이트된 펌웨어 값이 저장된 인증서를 재발급 받는 인증서 발급 모듈과, 상기 서버에 상기 업데이트된 펌웨어 값이 저장된 인증서를 저장하는 인증서 업데이트 모듈을 포함할 수 있다.The authentication module includes a certificate issuing module for collating the firmware value with the firmware value stored in the server and reissuing the certificate stored with the updated firmware value based on the verification result, And a certificate update module for storing the certificate.

도 1은 일 실시예에 따른 차량 보안 시스템의 개략적인 블록도를 나타낸다.
도 2는 도 1에 도시된 차량 보안 시스템의 개략적인 동작을 설명하기 위한 도면의 일 예를 나타낸다.
도 3는 도 1에 도시된 컨트롤러의 개략적인 블록도를 나타낸다.
도 4는 도 3에 도시된 펌웨어 값 생성 모듈 및 암호화 모듈의 동작을 설명하기 위한 도면의 일 예를 나타낸다.
도 5는 도 3에 도시된 인증 모듈의 동작을 설명하기 위한 도면의 일 예를 나타낸다.
도 6는 도 3에 도시된 구동 키 생성 모듈, 복호화 모듈 및 데이터 복원 모듈의 동작을 설명하기 위한 데이터 흐름의 일 예를 나타낸다.
1 shows a schematic block diagram of a vehicle security system according to an embodiment.
Fig. 2 shows an example of a diagram for explaining a schematic operation of the vehicle security system shown in Fig. 1. Fig.
Figure 3 shows a schematic block diagram of the controller shown in Figure 1;
FIG. 4 shows an example of the operation of the firmware value generation module and the encryption module shown in FIG.
5 shows an example of a diagram for explaining the operation of the authentication module shown in FIG.
FIG. 6 shows an example of a data flow for explaining operations of the drive key generation module, the decryption module, and the data recovery module shown in FIG.

본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시예들에 대해서 특정한 구조적 또는 기능적 설명들은 단지 본 발명의 개념에 따른 실시예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시예들은 다양한 형태로 실시될 수 있으며 본 명세서에 설명된 실시예들에 한정되지 않는다.It is to be understood that the specific structural or functional descriptions of embodiments of the present invention disclosed herein are presented for the purpose of describing embodiments only in accordance with the concepts of the present invention, May be embodied in various forms and are not limited to the embodiments described herein.

본 발명의 개념에 따른 실시예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시예들을 도면에 예시하고 본 명세서에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시예들을 특정한 개시형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 변경, 균등물, 또는 대체물을 포함한다.Embodiments in accordance with the concepts of the present invention are capable of various modifications and may take various forms, so that the embodiments are illustrated in the drawings and described in detail herein. However, it is not intended to limit the embodiments according to the concepts of the present invention to the specific disclosure forms, but includes changes, equivalents, or alternatives falling within the spirit and scope of the present invention.

제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만, 예를 들어 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.The terms first, second, or the like may be used to describe various elements, but the elements should not be limited by the terms. The terms may be named for the purpose of distinguishing one element from another, for example without departing from the scope of the right according to the concept of the present invention, the first element being referred to as the second element, Similarly, the second component may also be referred to as the first component.

어떤 구성요소가 다른 구성요소에 “연결되어” 있다거나 “접속되어” 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 “직접 연결되어” 있다거나 “직접 접속되어” 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 표현들, 예를 들어 “~사이에”와 “바로~사이에” 또는 “~에 직접 이웃하는” 등도 마찬가지로 해석되어야 한다.It is to be understood that when an element is referred to as being "connected" or "connected" to another element, it may be directly connected or connected to the other element, . On the other hand, when an element is referred to as being "directly connected" or "directly connected" to another element, it should be understood that there are no other elements in between. Expressions that describe the relationship between components, for example, "between" and "immediately" or "directly adjacent to" should be interpreted as well.

본 명세서에서 사용한 용어는 단지 특정한 실시예들을 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, “포함하다” 또는 “가지다” 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. In this specification, the terms " comprises ", or " having ", and the like, are used to specify one or more of the features, numbers, steps, operations, elements, But do not preclude the presence or addition of steps, operations, elements, parts, or combinations thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in commonly used dictionaries are to be interpreted as having a meaning consistent with the meaning of the context in the relevant art and, unless explicitly defined herein, are to be interpreted as ideal or overly formal Do not.

본 명세서에서의 모듈(module)은 본 명세서에서 설명되는 각 명칭에 따른 기능과 동작을 수행할 수 있는 하드웨어를 의미할 수도 있고, 특정 기능과 동작을 수행할 수 있는 컴퓨터 프로그램 코드를 의미할 수도 있고, 또는 특정 기능과 동작을 수행시킬 수 있는 컴퓨터 프로그램 코드가 탑재된 전자적 기록 매체, 예를 들어 프로세서 또는 마이크로 프로세서를 의미할 수 있다.A module in this specification may mean hardware capable of performing the functions and operations according to the respective names described in this specification and may mean computer program codes capable of performing specific functions and operations , Or an electronic recording medium, e.g., a processor or a microprocessor, equipped with computer program code capable of performing certain functions and operations.

다시 말해, 모듈이란 본 발명의 기술적 사상을 수행하기 위한 하드웨어 및/또는 상기 하드웨어를 구동하기 위한 소프트웨어의 기능적 및/또는 구조적 결합을 의미할 수 있다.In other words, a module may mean a functional and / or structural combination of hardware for carrying out the technical idea of the present invention and / or software for driving the hardware.

이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 특허출원의 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. However, the scope of the patent application is not limited or limited by these embodiments. Like reference symbols in the drawings denote like elements.

도 1은 일 실시예에 따른 차량 보안 시스템의 개략적인 블록도를 나타낸다.1 shows a schematic block diagram of a vehicle security system according to an embodiment.

도 1을 참조하면, 차량 보안 시스템(10)은 차량 보안 장치(20) 및 ECU(Engine Control Unit; 70)을 포함한다. 차량 보안 시스템(10)은 차량을 의미할 수 있다.Referring to FIG. 1, the vehicle security system 10 includes a vehicle security device 20 and an ECU (Engine Control Unit) 70. The vehicle security system 10 may refer to a vehicle.

차량 보안 장치(20)는 인증서에 기반하여 차량의 ECU(70) 보안을 유지할 수 있다. 차량 보안 장치(10)는 인증서(certificate), 펌웨어 데이터(firmware date) 및 키(key)를 이용한 암호화 과정을 통해 ECU의 매핑 데이터(mapping data)에 대한 기밀성과 무결성을 제공할 수 있다. 이로써, 차량 보안 장치(20)는 차량에 대한 잘못된 튜닝이나 악의적인 조작을 방지할 수 있다.The vehicle security device 20 can maintain the security of the ECU 70 of the vehicle based on the certificate. The vehicle security apparatus 10 can provide the confidentiality and integrity of the mapping data of the ECU through an encryption process using a certificate, firmware date and key. Thereby, the vehicle security device 20 can prevent erroneous tuning or malicious manipulation of the vehicle.

차량 보안 장치(20)는 수신 장치(30) 및 컨트롤러(50)를 포함한다.The vehicle security device 20 includes a receiving device 30 and a controller 50. [

수신 장치(30)는 인증서, 제1 키 및 ECU(70)의 펌웨어 데이터, 펌웨어 값이 저장된 인증서 등을 수신할 수 있다. 수신 장치(30)는 차량 내부뿐만 아니라 외부로부터 차량의 보안, 구동, 인증에 필요한 데이터를 수신할 수 있다. 예를 들어, 수신 장치(30)는 차량의 제조업자로부터 인증서, 제1 키 및 펌웨어 데이터를 수신할 수 있고, ECU(70)로부터 매핑 데이터를 수신할 수 있고, ECU(70)의 펌웨어로부터 펌웨어 값이 저장된 인증서를 수신할 수 있다.The receiving device 30 can receive the certificate, the first key and the firmware data of the ECU 70, a certificate stored with the firmware value, and the like. The receiving apparatus 30 can receive data necessary for security, driving, and authentication of the vehicle from the inside as well as from the inside of the vehicle. For example, the receiving device 30 may receive the certificate, first key and firmware data from the manufacturer of the vehicle, receive the mapping data from the ECU 70, You can receive the certificate where the value is stored.

인증서는 차량을 고유하게 식별할 수 있고, 인증서를 이용하여 펌웨어 데이터를 암호화 할 수 있다. 최초의 인증서는 차량 출고 시에 등록될 수 있다. 인증서는 펌웨어 내부의 인증서 공간에 저장될 수 있다. 인증서의 발급 기관은 차량의 출고 시 인증서를 차량에 발급함과 동시에, 인증 서버를 통해 이력 관리 서버에 동일한 인증서를 등록할 수 있다. 예를 들어, 인증서는 PKI(Public Key Infrastructure) 인증 시스템의 공개 키 인증서일 수 있다. The certificate can uniquely identify the vehicle and can use the certificate to encrypt the firmware data. The first certificate may be registered at the time of vehicle shipment. The certificate can be stored in the certificate space inside the firmware. The issuing organization of the certificate can issue the same certificate to the history management server via the authentication server while issuing the certificate to the vehicle at the time of leaving the vehicle. For example, the certificate may be a public key certificate of a Public Key Infrastructure (PKI) authentication system.

PKI는 인증 시스템은 공개 키를 효과적으로 운용하기 위해 정해진 방식을 지칭할 수 있다. PKI는 인증서를 발행하는 인증기관, 인증서를 보관하는 저장소 및 PKI를 이용하는 개체인 이용자로 구성될 수 있다. 이용자는 공개 키 등록자와 공개 키 사용자를 포함할 수 있다.A PKI can refer to a defined way for an authentication system to effectively operate a public key. A PKI can be composed of a certificate authority issuing a certificate, a repository for storing a certificate, and a user who is an entity using a PKI. The user may include a public key registrant and a public key user.

인증 기관은 키 쌍(key pair) 작성, 공개 키 등록시 본인 인증, 인증서 발행, 인증서 폐지 등을 수행할 수 있다. 저장소는 인증서를 보존하고, PKI 이용자가 인증서를 입수하도록 할 수 있다.The certification body can perform key pair creation, certificate authentication, certificate issuance, certificate revocation, and the like when registering a public key. The repository can preserve the certificate and allow the PKI user to obtain the certificate.

공개 키 등록자는 키 쌍을 작성하고, 인증 기관에 공개 키를 등록할 수 있고, 인증 기관으로부터 인증서를 발행 받을 수 있다. 공개 키 등록자는 필요시에 등록한 공개 키에 대한 무효 처리 요청을 할 수 있고, 수신한 암호문을 복호화 하고 메시지에 디지털 서명을 수행할 수 있다.The public key registrant can create a key pair, register the public key with the certification authority, and receive a certificate from the certification authority. The public key registrant can make an invalidation request for the registered public key when necessary, decrypt the received ciphertext, and perform digital signature on the message.

공개 키 사용자는 메시지를 암호화 하여 송신할 수 있고, 디지털 서명을 검증할 수 있다.The public key user can encrypt and transmit the message and verify the digital signature.

펌웨어 데이터는 ECU(70)의 매핑 데이터 및 ECU(70) 펌웨어 식별자(firmware identifier), 예를 들어 펌웨어의 버전 번호(version number) 등을 포함할 수 있다.The firmware data may include mapping data of the ECU 70 and a firmware identifier of the ECU 70, for example, a version number of the firmware.

제1 키는 펌웨어 데이터를 암호화(encryption) 하는데 사용될 수 있다. 제1 키는 제조업자가 임의로 발급한 키일 수 있다. 제1 키는 암호화된 펌웨어 데이터를 복호화 하는데 사용될 수 있다. 제1 키는 이하에서 설명할 제2 키와 구분하기 위한 것으로 수신 장치(30)가 수신하는 키는 복수일 수 있다.The first key may be used to encrypt the firmware data. The first key may be a key arbitrarily issued by the manufacturer. The first key may be used to decrypt the encrypted firmware data. The first key is for distinguishing from the second key to be described below, and the receiving apparatus 30 may receive a plurality of keys.

수신 장치(30)는 인증서, 펌웨어 데이터, 펌웨어 값이 저장된 인증서 및 제1 키를 컨트롤러(50)로 출력할 수 있다.The receiving device 30 may output the certificate, the firmware data, the certificate storing the firmware value, and the first key to the controller 50.

컨트롤러(50)는 제1 키 및 펌웨어 데이터에 기초하여 펌웨어 값을 생성하여 인증서에 저장할 수 있다. 컨트롤러(50)는 펌웨어 값이 저장된 인증서에 기초하여 제1 키를 암호화할 수 있고, 펌웨어 값을 이용하여 차량을 인증(authentication)할 수 있다. The controller 50 may generate a firmware value based on the first key and firmware data and store the firmware value in the certificate. The controller 50 can encrypt the first key based on the stored certificate and can use the firmware value to authenticate the vehicle.

또한, 컨트롤러(50)는 펌웨어 값이 저장된 인증서를 이용하여 펌웨어 데이터를 복원하고, 복원된 펌웨어 데이터를 이용하여 차량을 구동할 수 있다.In addition, the controller 50 can restore the firmware data using the certificate in which the firmware value is stored, and drive the vehicle using the restored firmware data.

컨트롤러(50)는 복원한 펌웨어 데이터를 ECU(70)로 출력할 수 있다.The controller 50 can output the restored firmware data to the ECU 70. [

ECU(70)는 매핑 데이터에 기초하여 차량을 제어할 수 있다. 매핑 데이터는 각 기어(gear)의 스로틀(throttle)과 엔진 RPM(Revolutions Per Minute) 맵, 각 연료 분사기에 대한 스로틀과 RPM 맵, 각 연료 분사기에 대한 압력과 RPM 맵 및 냉각수 온도와 RPM 맵 등을 포함할 수 있다.The ECU 70 can control the vehicle based on the mapping data. The mapping data includes throttle and engine revolutions per minute (RPM) maps for each gear, throttle and RPM maps for each fuel injector, pressure and RPM maps for each fuel injector, and coolant temperature and RPM maps. .

ECU(70)는 펌웨어를 포함할 수 있다. ECU(70)는 펌웨어에 저장된 인증서를 수신 장치(30)로 출력할 수 있다.The ECU 70 may include firmware. The ECU 70 can output the certificate stored in the firmware to the receiving device 30. [

도 1에서는 차량 보안 장치(20)가 ECU(70) 외부에 구현된 것으로 도시되어 있으나, 반드시 이에 한정되는 것은 아니며, 실시예에 따라 차량 보안 장치(20)는 ECU(70) 내부에 구현될 수도 있다.1, the vehicle security device 20 is illustrated as being implemented outside the ECU 70, but the present invention is not limited thereto. The vehicle security device 20 may be implemented within the ECU 70 have.

도 2는 도1에 도시된 차량 보안 시스템의 개략적인 동작을 설명하기 위한 도면의 일 예를 나타낸다.Fig. 2 shows an example of a diagram for explaining a schematic operation of the vehicle security system shown in Fig. 1. Fig.

도 2를 참조하면, 제조업자들은 차량의 출고시 인증서 및 임의의 키를 발급하여 차량 보안 시스템(10), 예를 들어 차량에 적재할 수 있다. 컨트롤러(50)는 제조업자가 임의로 발급한 키를 가지고 ECU(70)의 펌웨어 데이터를 암호화하여 차량에 적재할 수 있다. 인증서, 키 및 암호화된 펌웨어 데이터가 적재되는 위치는 ECU(70) 내부의 펌웨어일 수 있다.Referring to FIG. 2, manufacturers can issue certificates and any key at the time of shipment of the vehicle and load it into the vehicle security system 10, for example, a vehicle. The controller 50 can encrypt the firmware data of the ECU 70 with the key arbitrarily issued by the manufacturer and load it on the vehicle. The location where the certificate, the key and the encrypted firmware data are loaded may be the firmware inside the ECU 70.

운전자가 차량을 구동할 때, 컨트롤러(50)는 암호화된 펌웨어 데이터를 차량에 적재된 인증서 기반의 키를 이용하여 복호화함으로써 차량을 구동할 수 있다.When the driver drives the vehicle, the controller 50 can drive the vehicle by decrypting the encrypted firmware data using the certificate-based key loaded in the vehicle.

차량이 인증이 필요한 장소에 방문했을 때, 컨트롤러(50)는 인증서를 이용하여 차량을 인증할 수 있다. 컨트롤러(50)는 차량에 적재된 인증서에 저장된 펌웨어 값과 이력 관리 서버에 기록된 펌웨어 값을 인증 서버를 통해 대조(compare)함으로써 차량을 인증할 수 있다. 예를 들어, 컨트롤러(50)는 해시(hash) 연산을 이용한 펌웨어 값에 기초하여 인증을 수행할 수 있다.When the vehicle visits a place where authentication is required, the controller 50 can authenticate the vehicle using the certificate. The controller 50 can authenticate the vehicle by comparing the firmware value stored in the certificate stored in the vehicle with the firmware value recorded in the history management server through the authentication server. For example, the controller 50 may perform authentication based on a firmware value using a hash operation.

인증이 성공적으로 수행된 경우에, 인증서 발급 기관은 인증 서버를 통해 새로운 인증서를 차량에 발급할 수 있다. 컨트롤러(50)는 차량에 적재된 인증서를 새로운 인증서로 업데이트 할 수 있다. 컨트롤러(50)는 인증서의 업데이트에 따라 펌웨어 값 및 암호화 키를 변경할 수 있다.When the authentication is successfully performed, the certificate issuing authority can issue a new certificate to the vehicle through the authentication server. The controller 50 may update the vehicle loaded certificate with a new certificate. The controller 50 may change the firmware value and the encryption key according to the update of the certificate.

인증 서버를 거치는 모든 인증 과정은 이력 관리 서버에 저장될 수 있다.All authentication processes that pass through the authentication server can be stored in the history management server.

도 3는 도 1에 도시된 컨트롤러의 개략적인 블록도를 나타낸다.Figure 3 shows a schematic block diagram of the controller shown in Figure 1;

도 3를 참조하면, 컨트롤러(50)는 펌웨어 값 생성 모듈(firmware value generation module; 100), 암호화 모듈(encryption module; 200), 인증 모듈(authentication module; 300), 구동 키 생성 모듈(operation key generation module; 400), 복호화 모듈(decryption module; 500) 및 데이터 복원 모듈(data restoration module; 600)을 포함할 수 있다.3, the controller 50 includes a firmware value generation module 100, an encryption module 200, an authentication module 300, an operation key generation module 300, module 400, a decryption module 500, and a data restoration module 600.

펌웨어 값 생성 모듈(100)은 제1 키 및 펌웨어 데이터에 기초하여 펌웨어 값을 생성하여 인증서에 저장할 수 있다. 펌웨어 값 생성 모듈(100)은 제1 키를 이용하여 펌웨어 데이터를 암호화할 수 있고, 암호화된 펌웨어 데이터에 기초하여 펌웨어 값을 생성할 수 있다.The firmware value generation module 100 may generate a firmware value based on the first key and the firmware data and store the generated firmware value in the certificate. The firmware value generation module 100 can encrypt the firmware data using the first key and generate the firmware value based on the encrypted firmware data.

펌웨어 값 생성 모듈(100)은 펌웨어 값이 저장된 인증서를 암호화 모듈(200)로 출력할 수 있다.The firmware value generation module 100 may output the certificate stored in the firmware value to the encryption module 200. [

암호화 모듈(200)은 펌웨어 값이 저장된 인증서에 기초하여 제1 키를 암호화 할 수 있다.The encryption module 200 may encrypt the first key based on the certificate in which the firmware value is stored.

암호화 모듈(200)은 펌웨어 값이 저장된 인증서를 이용하여 제2 키를 생성할 수 있고, 제2 키를 이용하여 제1 키를 암호화할 수 있다.The encryption module 200 can generate the second key using the certificate in which the firmware value is stored and can encrypt the first key using the second key.

펌웨어 값 생성 모듈(100) 및 암호화 모듈(200)의 동작은 도 4을 참조하여 자세하게 설명할 것이다.The operation of the firmware value generation module 100 and the encryption module 200 will be described in detail with reference to FIG.

인증 모듈(300)은 차량의 인증서에 저장된 펌웨어 값을 이용하여 차량을 인증할 수 있다. 예를 들어, 인증은 차량의 서비스 센터에서 이루어질 수 있다. 도 3에서 인증 모듈(300)은 컨트롤러(50) 내부에 구현되는 것으로 표현되어 있으나, 인증 모듈(300)은 차량 외부에 구현될 수도 있다.The authentication module 300 can authenticate the vehicle using the firmware value stored in the vehicle's certificate. For example, authentication can be done at the service center of the vehicle. In FIG. 3, the authentication module 300 is illustrated as being implemented in the controller 50, but the authentication module 300 may be implemented outside the vehicle.

인증 모듈(300)은 인증서 발급 모듈(certificate issuing module; 310) 및 인증서 업데이트 모듈(certificate updating module; 330)을 포함할 수 있다.The authentication module 300 may include a certificate issuing module 310 and a certificate updating module 330.

인증서 발급 모듈(310)은 차량의 인증서에 저장된 펌웨어 값과 서버에 저장된 펌웨어 값을 대조(compare)하고, 대조 결과에 기초하여 업데이트된 펌웨어 값이 저장된 인증서를 재발급 받을 수 있다. 인증서 발급 모듈(310)은 재발급 받은 인증서를 펌웨어에 저장할 수 있다. The certificate issuing module 310 may compare the firmware value stored in the certificate of the vehicle with the firmware value stored in the server and reissue the certificate in which the updated firmware value is stored based on the verification result. The certificate issuing module 310 may store the reissued certificate in the firmware.

인증서 업데이트 모듈(330)은 업데이트된 펌웨어 값이 저장된 인증서를 서버에 저장할 수 있다.The certificate update module 330 may store the certificate in which the updated firmware value is stored in the server.

인증서 발급 모듈(310) 및 인증서 업데이트 모듈(330)이 사용하는 서버는 인증 서버 및 이력 관리 서버를 포함할 수 있다. 인증서가 저장되는 서버는 이력 관리 서버일 수 있다.The server used by the certificate issuing module 310 and the certificate updating module 330 may include an authentication server and a history management server. The server where the certificate is stored may be a history management server.

인증 모듈(300)이 차량을 인증하는 동작은 도 5를 참조하여 자세하게 설명할 것이다.The operation in which the authentication module 300 authenticates the vehicle will be described in detail with reference to Fig.

컨트롤러(50)는 구동 키 생성 모듈(400), 복호화 모듈(500) 및 데이터 복원 모듈(600)을 통하여 펌웨어 데이터를 복원할 수 있고, 복원된 펌웨어 데이터를 이용하여 차량을 구동할 수 있다.The controller 50 can restore the firmware data through the drive key generation module 400, the decryption module 500, and the data restoration module 600, and can drive the vehicle using the restored firmware data.

구동 키 생성 모듈(400)은 펌웨어 값이 저장된 인증서를 이용하여 제2 키를 생성할 수 있고, 구동 키 생성 모듈(400)은 암호화된 펌웨어 데이터를 이용하여 펌웨어 값을 생성할 수 있다. 예를 들어, 구동 키 생성 모듈(400)은 암호화된 펌웨어 데이터를 해시 함수(hash function)에 입력하여 그 출력결과를 펌웨어 값으로 사용할 수 있다.The drive key generation module 400 can generate the second key using the certificate stored in the firmware value and the drive key generation module 400 can generate the firmware value using the encrypted firmware data. For example, the drive key generation module 400 may input the encrypted firmware data into a hash function, and use the output result as a firmware value.

구동 키 생성 모듈(400)은 제2 키를 복호화 모듈(500)로 출력할 수 있고, 펌웨어 값을 인증 모듈(300)로 출력할 수 있다.The drive key generation module 400 can output the second key to the decryption module 500 and output the firmware value to the authentication module 300. [

복호화 모듈(500)은 제2 키를 이용하여 암호화된 제1 키를 복호화할 수 있다. 복호화 모듈(500)은 복호화된 제1 키를 데이터 복원 모듈(600)로 출력할 수 있다.The decryption module 500 may decrypt the encrypted first key using the second key. The decryption module 500 may output the decrypted first key to the data recovery module 600. [

데이터 복원 모듈(600)은 복호화된 제1 키를 이용하여 펌웨어 데이터를 복원할 수 있다.The data restoration module 600 may restore the firmware data using the decrypted first key.

구동 키 생성 모듈(400), 복호화 모듈(500) 및 데이터 복원 모듈(600)의 동작은 도 6를 참조하여 자세하게 설명할 것이다.Operations of the drive key generation module 400, the decryption module 500, and the data recovery module 600 will be described in detail with reference to FIG.

도 4는 도 3에 도시된 펌웨어 값 생성 모듈 및 암호화 모듈의 동작을 설명하기 위한 도면의 일 예를 나타낸다.FIG. 4 shows an example of the operation of the firmware value generation module and the encryption module shown in FIG.

도 4를 참조하면, 펌웨어 데이터, 제1 키(K1) 및 인증서는 제조업자에 의해 생성될 수 있다. 펌웨어 값 생성 모듈(100) 및/또는 암호화 모듈(200)은 수신장치(30)를 통해 펌웨어 데이터, 제1 키(K1) 및 인증서를 수신할 수 있다.Referring to FIG. 4, the firmware data, the first key K 1 , and the certificate may be generated by the manufacturer. The firmware value generation module 100 and / or the encryption module 200 may receive the firmware data, the first key K 1 and the certificate via the reception device 30. [

펌웨어 값 생성 모듈(100)은 제1 키(K1)를 이용하여 펌웨어 데이터를 암호화할 수 있다. 펌웨어 값 생성 모듈(100)은 암호화된 펌웨어 데이터를 차량에 적재할 수 있다. 펌웨어 값 생성 모듈(100)이 사용하는 암호화 알고리즘은 경량화된 암호화 알고리즘일 수 있다.The firmware value generation module 100 may encrypt the firmware data using the first key K 1 . The firmware value generation module 100 can load the encrypted firmware data into the vehicle. The encryption algorithm used by the firmware value generation module 100 may be a lightweight encryption algorithm.

펌웨어 값 생성 모듈(100)은 암호화된 펌웨어 데이터에 기초하여 펌웨어 값을 생성할 수 있다. 예를 들어, 펌웨어 값 생성 모듈(100)은 암호화된 펌웨어 데이터를 해시 함수에 입력하여 그 출력 결과(H1)를 펌웨어 값으로 사용할 수 있다.The firmware value generation module 100 may generate the firmware value based on the encrypted firmware data. For example, the firmware value generation module 100 may input the encrypted firmware data to the hash function and use the output result (H 1 ) as the firmware value.

해시 함수는 단방향성 특성을 가질 수 있다. 해시 함수는 원본의 크기와 관계 없이 동일한 크기의 결과 값을 출력할 수 있다. 해시 함수는 입력이 미세하게 변화해도 결과 값이 크게 달라지기 때문에, 입력의 변형 여부를 감지할 수 있다. 해시 함수를 이용하면 대용량 데이터를 빠르게 검색할 수 있다.The hash function may have unidirectional characteristics. The hash function can output the same size result regardless of the size of the original. The hash function can detect whether the input is deformed because the result varies greatly even if the input changes finely. A hash function can be used to quickly retrieve large amounts of data.

펌웨어 값 생성 모듈(100)은 펌웨어 값을 인증서에 저장할 수 있고, 펌웨어 값이 저장된 인증서를 차량에 적재할 수 있다. 또한, 펌웨어 값 생성 모듈(100)은 펌웨어 값이 저장된 인증서를 암호화 모듈(200)로 출력할 수 있다.The firmware value generation module 100 can store the firmware value in the certificate and load the certificate in which the firmware value is stored in the vehicle. In addition, the firmware value generation module 100 may output the certificate stored in the firmware value to the encryption module 200.

암호화 모듈(200)은 펌웨어 값이 저장된 인증서를 이용하여 제2 키(K2)를 생성할 수 있다. 예를 들어, 암호화 모듈(200)은 펌웨어 값이 저장된 인증서를 해시 함수에 입력하여 그 출력결과를 제2 키(K2)로 사용할 수 있다.The encryption module 200 may generate the second key K 2 using the certificate in which the firmware value is stored. For example, the encryption module 200 may input the certificate stored in the firmware value into the hash function, and use the output result as the second key K 2 .

암호화 모듈(200)은 제2 키(K2)를 이용하여 제1 키(K1)를 암호화하여 암호화된 제1 키(K1´)를 생성할 수 있다. 암호화 모듈이 제1 키(K1)를 암호화하는데 사용한 방법은 펌웨어 값 생성 모듈(100)이 펌웨어 데이터를 암호화하는데 사용한 방법과 동일하거나 상이할 수 있다.The encryption module 200 may generate the encrypted first key K 1 'by encrypting the first key K 1 using the second key K 2 . The method used by the encryption module to encrypt the first key (K 1 ) may be the same as or different from the method used by the firmware value generation module 100 to encrypt the firmware data.

암호화 모듈(200)은 암호화된 제1 키(K1´)를 차량에 적재할 수 있다.The encryption module 200 may load the encrypted first key K 1 'in the vehicle.

암호화된 펌웨어 데이터, 펌웨어 값이 저장된 인증서 및 암호화된 제1 키(K1´)가 적재되는 위치는 ECU(70)의 펌웨어일 수 있다.The location where the encrypted firmware data, the certificate storing the firmware value, and the encrypted first key K 1 'are loaded may be the firmware of the ECU 70.

도 5는 도 3에 도시된 인증 모듈의 동작을 설명하기 위한 도면의 일 예를 나타낸다.5 shows an example of a diagram for explaining the operation of the authentication module shown in FIG.

도 5를 참조하면, 인증 모듈(300)은 차량의 인증이 필요한 장소에 방문했을 경우에 인증동작을 수행할 수 있다. 예를 들어, 차량의 인증이 필요한 장소는 서비스 센터나 정비소일 수 있다.Referring to FIG. 5, the authentication module 300 can perform an authentication operation when visiting a place where authentication of a vehicle is required. For example, a place where a vehicle is required to be authenticated may be a service center or a maintenance shop.

인증이 필요한 장소에 방문했을 때, 인증서 발급 모듈(310)은 인증 서버에 인증을 요청할 수 있다. 인증서 발급 모듈(310)은 차량의 인증서에 저장된 펌웨어 값과 서버에 저장된 펌웨어 값을 대조하여 차량을 인증할 수 있다. 인증서 발급 모듈(310)이 이용하는 서버는 인증 서버 및 이력 관리 서버를 포함할 수 있다. 인증서가 저장된 서버는 이력 관리 서버일 수 있다.When visiting a place where authentication is required, the certificate issuing module 310 can request authentication to the authentication server. The certificate issuing module 310 can authenticate the vehicle by collating the firmware value stored in the certificate of the vehicle with the firmware value stored in the server. The server used by the certificate issuance module 310 may include an authentication server and a history management server. The server in which the certificate is stored may be a history management server.

차량의 인증서에 저장된 펌웨어 값과 서버에 저장된 펌웨어 값이 상이한 경우, 인증서 발급 모듈(310)은 인증을 실패한 것으로 인식할 수 있다. 예를 들어, 인증을 실패인 경우는, 인증서 로딩 과정에서의 손실이 있는 경우, 인증서와 인증 서버간 통신상에서의 오류가 있는 경우, 인증서 자체가 변조된 경우일 수 있다.If the firmware value stored in the vehicle's certificate is different from the firmware value stored in the server, the certificate issuing module 310 may recognize the authentication as failed. For example, in the case of authentication failure, there may be a loss in the process of loading the certificate, an error in communication between the certificate and the authentication server, or a case where the certificate itself is tampered with.

임의로 펌웨어 데이터를 변형할 경우, 펌웨어 값이 변경되므로, 인증서 발급 모듈(310)이 펌웨어 데이터의 변형 여부를 판단할 수 있다. 인증서 발급 모듈(310)은 변형 여부의 판단 기록을 이력 관리 서버에 저장할 수 있다.When the firmware data is arbitrarily changed, the firmware value is changed, so that the certificate issuing module 310 can determine whether or not the firmware data is modified. The certificate issuance module 310 may store a history of the modification history in the history management server.

인증 실패시, 인증서 발급 모듈(310)은 일정 횟수를 반복하여 인증 요청을 수행할 수 있다. 지정된 요청 횟수를 초과한 경우, 인증서 발급 모듈(310)은 이를 정식 인증 오류로 인식할 수 있다. 인증서 발급 모듈(310)은 인증 실패 및 정식 인증 오류를 이력 관리 서버에 기록할 수 있다.When the authentication fails, the certificate issuing module 310 may repeat the predetermined number of times to perform the authentication request. If the specified number of requests is exceeded, the certificate issuance module 310 can recognize this as a formal authentication error. The certificate issuing module 310 may record an authentication failure and a formal authentication error to the history management server.

차량에 적재된 펌웨어 값이 임의로 변형된 경우, 인증서 발급 모듈(310)은 변형된 펌웨어 값을 이력 관리 서버에 저장된 펌웨어 값으로 복원할 수 있다.When the firmware value loaded on the vehicle is arbitrarily changed, the certificate issuing module 310 may restore the modified firmware value to the firmware value stored in the history management server.

펌웨어 값의 대조 결과, 차량의 인증서에 저장된 펌웨어 값과 서버에 저장된 펌웨어 값이 동일한 경우, 인증서 발급 모듈(310)은 인증을 성공한 것으로 인식할 수 있다.If the firmware value stored in the vehicle certificate and the firmware value stored in the server are equal to each other as a result of the verification of the firmware value, the certificate issuing module 310 can recognize that the authentication is successful.

인증이 성공한 경우, 정비소 또는 서비스 센터 등의 관리 주체는 인증서, 펌웨어 데이터 및 키 등을 업데이트 할 수 있다. 인증서 발급 모듈(310)은 업데이트된 펌웨어 데이터에 기초하여 펌웨어 값을 업데이트할 수 있다.If the authentication is successful, the management entity such as a workshop or a service center can update the certificate, the firmware data, the key, and the like. The certificate issuing module 310 can update the firmware value based on the updated firmware data.

인증이 성공한 경우, 인증 서버는 인증서 발급 기관에 인증서 재발급 요청을 하여 인증서를 인증 서버에 재발급 받을 수 있다. 인증서 발급 모듈(310)은 인증 서버로부터 재발급 받은 인증서를 수신할 수 있고, 업데이트된 펌웨어 값을 재발급 받은 인증서에 저장할 수 있다.If the authentication is successful, the authentication server may issue a certificate reissue request to the certificate issuing authority, and the certificate may be reissued to the authentication server. The certificate issuing module 310 can receive the reissued certificate from the authentication server and store the updated firmware value in the reissued certificate.

인증 과정에서의 모든 통신 내역은 이력 관리 서버에 저장될 수 있다. 또한, 인증서 발급 모듈(310)은 업데이트된 펌웨어 값이 저장된 인증서를 이력 관리 서버에 저장할 수 있다. 인증서 발급 모듈(310)은 이력 관리 서버의 로그 리스트(log list)에 업데이트된 펌웨어 값을 저장할 수 있다. 예를 들어 저장되는 펌웨어 값은 펌웨어 데이터를 해시 연산한 값일 수 있다. 펌웨어 데이터는 ECU(70)의 매핑 데이터 및 ECU(70)의 펌웨어 식별자를 포함할 수 있다.All communication history in the authentication process can be stored in the history management server. In addition, the certificate issuing module 310 may store a certificate stored in the updated firmware value in the history management server. The certificate issuing module 310 may store the updated firmware value in the log list of the history management server. For example, the stored firmware value may be a value obtained by hashing the firmware data. The firmware data may include the mapping data of the ECU 70 and the firmware identifier of the ECU 70. [

도 6는 도 3에 도시된 구동 키 생성 모듈, 복호화 모듈 및 데이터 복원 모듈의 동작을 설명하기 위한 데이터 흐름의 일 예를 나타낸다.FIG. 6 shows an example of a data flow for explaining operations of the drive key generation module, the decryption module, and the data recovery module shown in FIG.

구동 키 생성 모듈(400)은 펌웨어 값이 저장된 인증서를 이용하여 제2 키(K2)를 생성할 수 있다. 예를 들어, 구동 키 생성 모듈(400)은 펌웨어 값이 저장된 인증서를 해시 함수에 입력하여 출력 결과를 제2 키(K2)로 사용할 수 있다.The drive key generation module 400 may generate the second key K 2 using the certificate in which the firmware value is stored. For example, the drive key generation module 400 may input the certificate stored in the firmware value into the hash function and use the output result as the second key K 2 .

구동 키 생성 모듈(400)이 생성하는 제2 키(K2)는 암호화 모듈(200)이 생성하는 제2 키(K2)와 동일한 키일 수 있다. 구동 키 생성 모듈(400)은 제2 키(K2)를 복호화 모듈(500)로 출력할 수 있다.The second key K 2 generated by the drive key generation module 400 may be the same key as the second key K 2 generated by the encryption module 200. The drive key generation module 400 may output the second key K 2 to the decryption module 500.

복호화 모듈(500) 제2 키(K2)를 이용하여 암호화된 제1 키(K1´)를 복호화할 수 있다. 복호화된 제1 키(K1)는 펌웨어 값 생성 모듈(100)이 펌웨어 데이터를 암호화 하는데 사용한 키와 동일한 키일 수 있다. 즉, 제1 키는 제조업자가 임의로 발급한 키와 동일한 키를 의미할 수 있다.The decryption module 500 may decrypt the encrypted first key K 1 'using the second key K 2 . The decrypted first key K 1 may be the same key that the firmware value generation module 100 used to encrypt the firmware data. That is, the first key may mean a key that is the same as a key issued by a manufacturer arbitrarily.

데이터 복원 모듈(600)은 복호화된 제1 키(K1)을 이용하여 펌웨어된 데이터를 복원할 수 있다. 데이터 복원 모듈(600)이 데이터를 복원하는 과정은 펌웨어 값 생성 모듈(100)이 수행하는 펌웨어 데이터의 암호화 동작을 반대로 수행하는 것일 수 있다. 즉, 데이터 복원 모듈(600)은 복호화된 제1 키(K1)를 이용하여 암호화된 펌웨어 데이터를 복호화함으로써 펌웨어 데이터를 복원할 수 있다.The data restoration module 600 may restore the firmware data using the decrypted first key K 1 . The process of restoring the data by the data restoration module 600 may be to reverse the encryption operation of the firmware data performed by the firmware value generation module 100. [ That is, the data restoring module 600 can restore the firmware data by decrypting the encrypted firmware data using the decrypted first key K 1 .

복원된 펌웨어 데이터는 ECU(70)의 매핑 데이터 및 ECU(70)의 펌웨어 식별자를 포함할 수 있다. 데이터 복원 모듈(600)은 ECU(70)의 매핑 데이터를 ECU(70)로 출력할 수 있고, ECU(70)를 통해 차량을 구동할 수 있다.The restored firmware data may include the mapping data of the ECU 70 and the firmware identifier of the ECU 70. [ The data restoration module 600 can output the mapping data of the ECU 70 to the ECU 70 and drive the vehicle through the ECU 70. [

이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 컨트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 컨트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The apparatus described above may be implemented as a hardware component, a software component, and / or a combination of hardware components and software components. For example, the apparatus and components described in the embodiments may be implemented within a computer system, such as, for example, a processor, controller, arithmetic logic unit (ALU), digital signal processor, microcomputer, field programmable gate array (FPGA) , A programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to execution of the software. For ease of understanding, the processing apparatus may be described as being used singly, but those skilled in the art will recognize that the processing apparatus may have a plurality of processing elements and / As shown in FIG. For example, the processing apparatus may comprise a plurality of processors or one processor and one controller. Other processing configurations are also possible, such as a parallel processor.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of the foregoing, and may be configured to configure the processing device to operate as desired or to process it collectively or collectively Device can be commanded. The software and / or data may be in the form of any type of machine, component, physical device, virtual equipment, computer storage media, or device , Or may be permanently or temporarily embodied in a transmitted signal wave. The software may be distributed over a networked computer system and stored or executed in a distributed manner. The software and data may be stored on one or more computer readable recording media.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to an embodiment may be implemented in the form of a program command that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions to be recorded on the medium may be those specially designed and configured for the embodiments or may be available to those skilled in the art of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. For example, it is to be understood that the techniques described may be performed in a different order than the described methods, and / or that components of the described systems, structures, devices, circuits, Lt; / RTI > or equivalents, even if it is replaced or replaced.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.

Claims (21)

차량의 ECU(Engine Control Unit) 보안 방법에 있어서,
인증서(certificate), 제1 키(key) 및 상기 ECU의 펌웨어 데이터(firmware data)를 수신하는 단계;
상기 제1 키 및 상기 펌웨어 데이터에 기초하여 펌웨어 값(firmware value)을 생성하여 상기 인증서에 저장하는 단계; 및
상기 펌웨어 값이 저장된 인증서에 기초하여 상기 제1 키를 암호화(encryption)하는 단계
를 포함하고,
상기 저장하는 단계는,
상기 제1 키를 이용하여 상기 펌웨어 데이터를 암호화하는 단계; 및
암호화된 펌웨어 데이터에 기초하여 상기 펌웨어 값을 생성하는 단계
를 포함하는 차량 보안 방법.
An ECU (Engine Control Unit) security method for a vehicle,
Receiving a certificate, a first key and firmware data of the ECU;
Generating a firmware value based on the first key and the firmware data and storing the generated firmware value in the certificate; And
Encrypting the first key based on a certificate stored with the firmware value
Lt; / RTI >
Wherein the storing step comprises:
Encrypting the firmware data using the first key; And
Generating the firmware value based on the encrypted firmware data
Gt;
제1항에 있어서,
상기 펌웨어 데이터는,
ECU 매핑 데이터(mapping data) 및 ECU 펌웨어 식별자(firmware identifier)를 포함하는
차량 보안 방법.
The method according to claim 1,
The firmware data includes:
ECU mapping data and an ECU firmware identifier.
Vehicle security method.
삭제delete 제1항에 있어서,
상기 암호화하는 단계는,
상기 펌웨어 값이 저장된 인증서를 이용하여 제2 키를 생성하는 단계; 및
상기 제2 키를 이용하여 상기 제1 키를 암호화하는 단계
를 포함하는 차량 보안 방법.
The method according to claim 1,
Wherein the encrypting comprises:
Generating a second key using the certificate stored in the firmware value; And
Encrypting the first key using the second key
Gt;
제1항에 있어서,
상기 차량을 인증(authentication)하는 단계
를 더 포함하는 차량 보안 방법.
The method according to claim 1,
The step of authenticating the vehicle
Further comprising the steps of:
제5항에 있어서,
상기 인증하는 단계는,
상기 펌웨어 값과 서버에 저장된 펌웨어 값을 대조(compare)하고, 대조 결과에 기초하여 업데이트된 펌웨어 값이 저장된 인증서를 재발급 받는 단계; 및
상기 서버에 상기 업데이트된 펌웨어 값이 저장된 인증서를 저장하는 단계
를 포함하는 차량 보안 방법.
6. The method of claim 5,
Wherein the authenticating comprises:
Comparing the firmware value with the firmware value stored in the server, and reissuing the stored certificate based on the verification result; And
Storing a certificate in which the updated firmware value is stored in the server
Gt;
차량의 ECU 보안 방법에 있어서,
펌웨어 값이 저장된 인증서를 이용하여 암호화된 펌웨어 데이터를 복원하는 단계; 및
복원된 암호화된 펌웨어 데이터를 이용하여 상기 차량을 구동(operation)하는 단계
를 포함하고,
상기 펌웨어 값은 상기 암호화된 펌웨어 데이터에 기초하여 생성되고, 펌웨어 데이터는 제1 키를 이용하여 암호화되는
차량 보안 방법.
A method of securing an ECU in a vehicle,
Restoring the encrypted firmware data using the stored certificate; And
Operating the vehicle using the restored encrypted firmware data
Lt; / RTI >
The firmware value is generated based on the encrypted firmware data, and the firmware data is encrypted using the first key
Vehicle security method.
제7항에 있어서,
상기 복원하는 단계는,
상기 펌웨어 값이 저장된 인증서를 이용하여 제2 키를 생성하는 단계;
상기 제2 키를 이용하여 암호화된 제1 키를 복호화(decryption)하는 단계; 및
복호화된 제1 키를 이용하여 펌웨어 데이터를 복원(restoration)하는 단계
를 포함하는 차량 보안 방법.
8. The method of claim 7,
Wherein,
Generating a second key using the certificate stored in the firmware value;
Decrypting the first key encrypted using the second key; And
Restoring the firmware data using the decrypted first key
Gt;
제7항에 있어서,
상기 차량을 인증하는 단계
를 더 포함하는 차량 보안 방법.
8. The method of claim 7,
Authenticating the vehicle
Further comprising the steps of:
제9항에 있어서,
상기 인증하는 단계는,
상기 펌웨어 값과 서버에 저장된 펌웨어 값을 대조하고, 대조 결과에 기초하여 업데이트된 펌웨어 값이 저장된 인증서를 재발급 받는 단계;
상기 서버에 상기 업데이트된 펌웨어 값이 저장된 인증서를 저장하는 단계
를 포함하는 차량 보안 방법.
10. The method of claim 9,
Wherein the authenticating comprises:
Collating the firmware value with the firmware value stored in the server and reissuing the stored certificate based on the verification result;
Storing a certificate in which the updated firmware value is stored in the server
Gt;
차량의 ECU 보안 장치에 있어서,
인증서, 제1 키 및 상기 ECU의 펌웨어 데이터를 수신하는 수신 장치;
상기 제1 키 및 상기 펌웨어 데이터에 기초하여 펌웨어 값을 생성하여 상기 인증서에 저장하고, 상기 펌웨어 값이 저장된 인증서에 기초하여 상기 제1 키를 암호화하는 컨트롤러
를 포함하고,
상기 컨트롤러는 상기 제1 키 및 상기 펌웨어 데이터에 기초하여 펌웨어 값을 생성하여 상기 인증서에 저장하는 펌웨어 값 생성 모듈(firmware value generation module)을 포함하고,
상기 펌웨어 값 생성 모듈은,
상기 제1 키를 이용하여 상기 펌웨어 데이터를 암호화하고, 암호화된 펌웨어 데이터에 기초하여 상기 펌웨어 값을 생성하는
차량 보안 장치.
An ECU security device of a vehicle,
A receiving device for receiving the certificate, the first key and the firmware data of the ECU;
Generating a firmware value based on the first key and the firmware data, storing the firmware value in the certificate, and encrypting the first key based on the stored certificate
Lt; / RTI >
Wherein the controller includes a firmware value generation module for generating a firmware value based on the first key and the firmware data and storing the firmware value in the certificate,
The firmware value generation module includes:
Encrypts the firmware data using the first key, and generates the firmware value based on the encrypted firmware data
Vehicle security device.
제11항에 있어서,
상기 컨트롤러는,
상기 펌웨어 값이 저장된 인증서에 기초하여 상기 제1 키를 암호화하는 암호화 모듈(encryption module)
을 더 포함하는 차량 보안 장치.
12. The method of claim 11,
The controller comprising:
An encryption module for encrypting the first key based on the stored certificate,
Further comprising:
제11항에 있어서,
상기 펌웨어 데이터는,
ECU 매핑 데이터 및 ECU 펌웨어 식별자를 포함하는
차량 보안 장치.
12. The method of claim 11,
The firmware data includes:
ECU mapping data and ECU firmware identifiers
Vehicle security device.
삭제delete 제12항에 있어서,
상기 암호화 모듈은,
상기 펌웨어 값이 저장된 인증서를 이용하여 제2 키를 생성하고, 상기 제2 키를 이용하여 상기 제1 키를 암호화하는
차량 보안 장치.
13. The method of claim 12,
The encryption module includes:
Generates a second key using the certificate storing the firmware value, and encrypts the first key using the second key
Vehicle security device.
제12항에 있어서,
상기 컨트롤러는,
상기 차량을 인증하는 인증 모듈(authentication module)
을 더 포함하는 차량 보안 장치.
13. The method of claim 12,
The controller comprising:
An authentication module for authenticating the vehicle;
Further comprising:
제16항에 있어서,
상기 인증 모듈은,
상기 펌웨어 값과 서버에 저장된 펌웨어 값을 대조하고, 대조 결과에 기초하여 업데이트된 펌웨어 값이 저장된 인증서를 재발급 받는 인증서 발급 모듈(certificate issuing module); 및
상기 서버에 상기 업데이트된 펌웨어 값이 저장된 인증서를 저장하는 인증서 업데이트 모듈(certificate updating module)
을 포함하는 차량 보안 장치.
17. The method of claim 16,
The authentication module includes:
A certificate issuing module for collating the firmware value with the firmware value stored in the server and reissuing the stored certificate based on the verification result; And
A certificate updating module for storing a certificate in which the updated firmware value is stored in the server,
And the vehicle security device.
차량의 ECU(Engine Control Unit) 보안 장치에 있어서,
펌웨어 값이 저장된 인증서를 수신하는 수신 장치;
상기 펌웨어 값이 저장된 인증서를 이용하여 암호화된 펌웨어 데이터를 복원하고, 복원된 암호화된 펌웨어 데이터를 이용하여 상기 차량을 구동하는 컨트롤러
를 포함하고,
상기 펌웨어 값은 상기 암호화된 펌웨어 데이터에 기초하여 생성되고, 펌웨어 데이터는 제1 키를 이용하여 암호화되는
차량 보안 장치.
An ECU (Engine Control Unit) security device of a vehicle,
A receiving device for receiving a certificate in which a firmware value is stored;
A controller which restores the encrypted firmware data using the certificate stored in the firmware value and drives the vehicle using the recovered encrypted firmware data,
Lt; / RTI >
The firmware value is generated based on the encrypted firmware data, and the firmware data is encrypted using the first key
Vehicle security device.
제18항에 있어서,
상기 컨트롤러는,
상기 펌웨어 값이 저장된 인증서를 이용하여 제2 키를 생성하는 구동 키 생성 모듈(operation key generation module);
상기 제2 키를 이용하여 암호화된 제1 키를 복호화하는 복호화 모듈(decryption module); 및
복호화된 제1 키를 이용하여 펌웨어 데이터를 복원하는 데이터 복원 모듈(data restoration module)
을 포함하는 차량 보안 장치.
19. The method of claim 18,
The controller comprising:
An operation key generation module for generating a second key using the certificate storing the firmware value;
A decryption module for decrypting the first key encrypted using the second key; And
A data restoration module for restoring firmware data using the decrypted first key,
And the vehicle security device.
제18항에 있어서,
상기 컨트롤러는,
상기 차량을 인증하는 인증 모듈
을 더 포함하는 차량 보안 장치.
19. The method of claim 18,
The controller comprising:
An authentication module
Further comprising:
제20항에 있어서,
상기 인증 모듈은,
상기 펌웨어 값과 서버에 저장된 펌웨어 값을 대조하고, 대조 결과에 기초하여 업데이트된 펌웨어 값이 저장된 인증서를 재발급 받는 인증서 발급 모듈; 및
상기 서버에 상기 업데이트된 펌웨어 값이 저장된 인증서를 저장하는 인증서 업데이트 모듈
을 포함하는 차량 보안 장치.
21. The method of claim 20,
The authentication module includes:
A certificate issue module for collating the firmware value with the firmware value stored in the server and reissuing the stored certificate with the updated firmware value based on the verification result; And
And a certificate updating module for storing a certificate in which the updated firmware value is stored in the server,
And the vehicle security device.
KR1020170055424A 2017-04-28 2017-04-28 Certificate-based vehicle security method and apparatus to maintain ecu security KR101982917B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170055424A KR101982917B1 (en) 2017-04-28 2017-04-28 Certificate-based vehicle security method and apparatus to maintain ecu security

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170055424A KR101982917B1 (en) 2017-04-28 2017-04-28 Certificate-based vehicle security method and apparatus to maintain ecu security

Publications (2)

Publication Number Publication Date
KR20180121121A KR20180121121A (en) 2018-11-07
KR101982917B1 true KR101982917B1 (en) 2019-05-27

Family

ID=64363206

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170055424A KR101982917B1 (en) 2017-04-28 2017-04-28 Certificate-based vehicle security method and apparatus to maintain ecu security

Country Status (1)

Country Link
KR (1) KR101982917B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200072721A (en) 2018-12-13 2020-06-23 인천대학교 산학협력단 Security apparatus for data communication between body area network node and electronic control unit of smart vehicle

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100431081B1 (en) * 2001-07-02 2004-05-12 한국전자통신연구원 Security module and a method of using the same
DE102006015212B4 (en) * 2006-03-30 2017-05-04 Bundesdruckerei Gmbh Method for protecting a movable good, in particular a vehicle, against unauthorized use
DE102015220224A1 (en) * 2015-10-16 2017-04-20 Volkswagen Aktiengesellschaft Method for protected communication of a vehicle

Also Published As

Publication number Publication date
KR20180121121A (en) 2018-11-07

Similar Documents

Publication Publication Date Title
KR102347659B1 (en) Secure provisioning and management of devices
CN109313690B (en) Self-contained encrypted boot policy verification
CN107077574B (en) Trust service for client devices
US10855460B2 (en) In-vehicle computer system, vehicle, key generation device, management method, key generation method, and computer program
CN109075976B (en) Certificate issuance dependent on key authentication
JP5703391B2 (en) System and method for tamper resistant boot processing
EP3362936B1 (en) Trusted platforms using minimal hardware resources
CN103460195B (en) For the system and method for security software update
US8997198B1 (en) Techniques for securing a centralized metadata distributed filesystem
KR102639075B1 (en) Diagnostics device for vehicle and method of managing certificate thereof
US8856538B2 (en) Secured flash programming of secondary processor
JP2022528070A (en) Verification of the ID of an emergency vehicle while driving
JP2022527757A (en) Generating the ID of a computing device using a physical duplication difficulty function
US20080216147A1 (en) Data Processing Apparatus And Method
EP3360070B1 (en) Data processing device
CN113545006A (en) Remote authorized access locked data storage device
WO2017000648A1 (en) Authentication method and apparatus for reinforced software
US20230289478A1 (en) Generating signed measurements
CN113383511A (en) Recovery key for unlocking a data storage device
CN113557689A (en) Initializing data storage devices with manager devices
CN113383510A (en) Multi-role unlocking of data storage devices
CN113260992A (en) Multi-device unlocking of data storage devices
WO2019142307A1 (en) Semiconductor device, update data-providing method, update data-receiving method, and program
KR101982917B1 (en) Certificate-based vehicle security method and apparatus to maintain ecu security
Kent et al. Assuring vehicle update integrity using asymmetric public key infrastructure (PKI) and public key cryptography (PKC)

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant