KR20140092130A - Installation for preventing ecu manipulation using rsa signature and method for emergency engine driving using thereof - Google Patents
Installation for preventing ecu manipulation using rsa signature and method for emergency engine driving using thereof Download PDFInfo
- Publication number
- KR20140092130A KR20140092130A KR1020130004497A KR20130004497A KR20140092130A KR 20140092130 A KR20140092130 A KR 20140092130A KR 1020130004497 A KR1020130004497 A KR 1020130004497A KR 20130004497 A KR20130004497 A KR 20130004497A KR 20140092130 A KR20140092130 A KR 20140092130A
- Authority
- KR
- South Korea
- Prior art keywords
- signature
- data
- ecu
- vehicle
- code
- Prior art date
Links
Images
Classifications
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F02—COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
- F02D—CONTROLLING COMBUSTION ENGINES
- F02D45/00—Electrical control not provided for in groups F02D41/00 - F02D43/00
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W10/00—Conjoint control of vehicle sub-units of different type or different function
- B60W10/04—Conjoint control of vehicle sub-units of different type or different function including control of propulsion units
- B60W10/06—Conjoint control of vehicle sub-units of different type or different function including control of propulsion units including control of combustion engines
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
- B60W50/04—Monitoring the functioning of the control system
- B60W2050/041—Built in Test Equipment [BITE]
Landscapes
- Engineering & Computer Science (AREA)
- Chemical & Material Sciences (AREA)
- Combustion & Propulsion (AREA)
- Mechanical Engineering (AREA)
- Transportation (AREA)
- General Engineering & Computer Science (AREA)
- Combined Controls Of Internal Combustion Engines (AREA)
Abstract
Description
본 발명은 차량의 이씨유(ECU:Engine Control Unit) 데이터 조작방지에 관한 것으로, 더욱 상세하게는 RSA 알고리즘을 이용한 암호화 기술인 시그니처를 이용하여 이씨유 데이터를 보호함으로써, 인증되지 않은 사용자에 의해 차량 데이터가 조작되는 것을 방지할 수 있는 시그니처를 이용한 차량의 이씨유 데이터 조작방지 장치 및 이를 이용한 차량의 비상모드 운영방법에 관한 것이다.[0001] The present invention relates to an ECU (Engine Control Unit) data manipulation prevention apparatus, and more particularly, to an engine control apparatus for protecting vehicle data And an emergency mode operating method of a vehicle using the same.
일반적으로 대부분의 차량에는 엔진 ECU가 구비되어 있으며, 이 엔진 ECU내에는 마이컴과 외부 메모리인 플래쉬 메모리(Flash Memory)가 구비되어 있다. 상기와 같이 구성된 엔진 ECU내 마이컴에서는 마이컴 내부의 메모리인 롬(ROM)에 다운 로드 프로그램을 마스킹(Masking)하여 엔진 ECU 개발시 또는 프로그램 업데이트시 플래쉬 메모리에 프로그램을 로딩하거나 업데이트 한다.Generally, most vehicles are equipped with an engine ECU, and a microcomputer and a flash memory, which is an external memory, are provided in the engine ECU. The microcomputer in the engine ECU configured as described above masks the download program to a ROM, which is a memory inside the microcomputer, to load or update the program in the flash memory upon engine ECU development or program update.
즉, 종래에는 마이컴 제조회사에서 마이컴 내부의 메모리에 다운 로드 프로그램을 마스킹한 후, 내부 메모리 모드(Internal Memory Mode)와 외부 메모리 모드(External Memory Mode)로 전환하면서 외부 메모리에 프로그램을 다운 로딩하거나 업데이트하였다.That is, conventionally, a microcomputer maker masks a download program in a memory inside a microcomputer, and then downloads or updates a program to an external memory while switching to an internal memory mode and an external memory mode Respectively.
먼저, 도 1에 도시된 바와 같이, 차량의 엔진제어장치로 프로그램을 다운로드하기 위한 로딩장치는, PC와 RS232C 통신을 수행하여 PC로부터 프로그램 다운 로드 명령을 수신하는 경우 이피롬의 다운 로드 프로그램을 수행할 수 있도록 제어신호를 출력하는 마이컴(11)과, 상기 마이컴(11)에서 출력되는 제어신호에 따라 플래쉬 메모리(13) 또는 이피롬(14)을 선택하여 메인 프로그램 또는 다운 로드 프로그램을 수행하도록 하는 디코더(Decoder)(12)와, 메인 프로그램을 저장하며, 이피롬(14)의 프로그램 다운 로딩 기능 수행시 리드 및 라이트 동작을 통해 데이터 영역으로 사용하는 플래쉬 메모리(13)와, 다운 로드 프로그램을 저장하고 있는 이피롬(14)으로 구성된다.First, as shown in FIG. 1, a loading device for downloading a program to an engine control device of a vehicle performs RS232C communication with a PC and executes a download program of EPROM when receiving a program download command from the PC And a
그리고, 전술된 디코더(12)는 마이컴(11)의 모드별 출력단자(POT, A15)에서 출력되는 제어신호를 논리합하여 상기 이피롬(14)으로 출력하는 제1 오아 게이트(OR Gate)(A1)와, 제1 오아 게이트(A1)의 출력신호를 반전하는 인버터(Inverter)(A2)와, 상기 마이컴(11)의 출력단자에서 출력되는 프로그램 코드(Program Code)를 액세스하기 위해 사용되는 제어신호와 상기 인버터(A2)의 출력신호를 논리합하는 제2 오아 게이트(A3)와, 상기 마이컴(11)의 출력단자에서 출력되는 제어신호와 상기 제2 오아 게이트(A3)의 출력신호를 논리곱하여 상기 플래쉬 메모리(13)로 출력하는 앤드 게이트(AND Gate)(A4)로 구성된다.The
따라서, 프로그램 다운 로드 모드시에는 마이컴(11)의 출력단자(POT, A15)를 통해 로우신호를 출력하여 디코더(12)내 제1 오아 게이트(A1)가 로우신호를 출력하고, 이어 인버터(A2)를 통해 하이신호를 출력하면 제2 오아 게이트(A3)는 마이컴(11)의 출력단자의 로우신호와 상기 인버터(A2)의 하이신호를 논리합하여 하이신호를 앤드 게이트(A4)로 출력하고, 이어 앤드 게이트(A4)는 마이컴(11)의 출력단자의 하이신호와 상기 제2 오아 게이트(A3)의 하이신호를 논리곱하여 하이신호를 플래쉬 메모리(13)를 출력한다.Therefore, in the program download mode, the first gate (A1) in the decoder (12) outputs a low signal through the output terminal (POT, A15) of the microcomputer (11) The second O gate A3 outputs a high signal to the AND gate A4 by performing a logical sum of the low signal of the output terminal of the
이때, 상기 마이컴(11)의 출력단자(POT)의 로우신호를 이피롬(14)에 출력함으로써 프로그램 영역으로 동작하는 이피롬(14)을 액세스하여 저장된 다운 로드 프로그램을 수행할 수 있도록 한다. 그리고, 상기 플래쉬 메모리(13)는 데이터 영역으로 리드 및 라이트를 할 수 있도록 하여 프로그램 다운로드 기능을 수행할 수 있도록 한다.At this time, by outputting the low signal of the output terminal (POT) of the
그러나, 이와 같은 종래 차량 엔진제어장치는 외부와의 간단한 접속만으로 엔진제어장치의 프로그램을 변경할 수 있기 때문에, 개별적인 프로그램 업데이트로 인해 차량 운행의 안전성이 저해되는 문제가 발생한다. 즉, 인증되지 않은 사용자에 의해 차량 엔진의 프로그램 데이터가 수정되거나, 임의적인 ECU 맵핑이 이루어질 경우, 차량의 내구성 저하와 안정성 훼손으로 인해 운전자의 위험 상황을 초래하는 것이다.
However, since such a conventional vehicle engine control apparatus can change the program of the engine control apparatus only by simple connection with the outside, there arises a problem that the safety of the vehicle operation is impaired due to the individual program update. That is, when the program data of the vehicle engine is modified by an unauthorized user or an arbitrary ECU mapping is made, the danger of the driver is caused due to the degradation of the durability and the stability of the vehicle.
본 발명은 이와 같은 문제점을 해결하기 위해 창출된 것으로, 본 발명의 목적은 차량의 엔진제어장치(ECU)에 대한 데이터 수정 권한이 있는 인증된 사용자에게만 접근을 제한함으로써, 임의의 데이터 조작으로 인한 차량의 안정성 훼손을 사전에 방지할 수 있는 시그니처를 이용한 차량의 이씨유 데이터 조작방지 장치 및 이를 이용한 차량의 비상모드 운영방법을 제공함에 있다.SUMMARY OF THE INVENTION The present invention has been made in order to solve such a problem, and an object of the present invention is to provide a vehicle control system for a vehicle, The present invention also provides a method of operating an emergency mode of a vehicle using the same, and a method of operating the emergency mode of the vehicle using the signature.
본 발명의 다른 목적은, RSA 알고리즘을 이용한 암호화 기술을 차량의 엔진제어장치(ECU)로 적용토록 함으로써, 인증된 사용자에 의한 ECU 코드 및 교정 데이터(Calibration data)의 변경이 제한될 수 있는 시그니처를 이용한 차량의 이씨유 데이터 조작방지 장치 및 이를 이용한 차량의 비상모드 운영방법을 제공함에 있다.It is another object of the present invention to provide a method and system for providing a signature that can restrict the change of ECU code and calibration data by an authenticated user by applying an encryption technique using an RSA algorithm to an engine control unit And a method of operating an emergency mode of a vehicle using the same.
본 발명의 또 다른 목적은, 인증된 사용자에게 시그니처(Signature)를 생성할 수 있는 개인키(Private Key)를 제공하고, 공개키(Public Key)에 의해 시그니처의 복호가 가능하도록 함으로써, 불법적인 데이터 조작을 방지할 수 있는 시그니처를 이용한 차량의 이씨유 데이터 조작방지 장치 및 이를 이용한 차량의 비상모드 운영방법을 제공함에 있다.It is still another object of the present invention to provide a private key capable of generating a signature to an authenticated user and enable decoding of a signature by using a public key, And a method of operating an emergency mode of a vehicle using the same.
본 발명의 또 다른 목적은, 시그니처의 검증과정을 통해 데이터의 조작이 인지될 경우 차량의 시동을 제한함으로써, 차량 운행의 위험성을 사전에 방지할 수 있는 시그니처를 이용한 차량의 이씨유 데이터 조작방지 장치 및 이를 이용한 차량의 비상모드 운영방법을 제공함에 있다.
It is still another object of the present invention to provide a vehicle control system for a vehicle using a signature that can prevent the risk of vehicle operation by limiting the starting of the vehicle when the operation of the data is recognized through the signature verification process And a method of operating an emergency mode of a vehicle using the same.
상기 목적을 달성하기 위한 본 발명의 관점에 따른 시그니처를 이용한 차량의 이씨유 데이터 조작방지 장치는, 차량 엔진제어장치(ECU)의 데이터 조작을 방지하기 위한 장치에 있어서, 상기 차량 엔진제어장치(ECU)를 운용하기 위한 ECU 코드 및 데이터를 RSA 함수 및 개인키(Private Key)를 이용하여 암호화한 후, 상기 ECU 코드 및 데이터에 대한 ECU코드 시그니처(Signature) 및 데이터 시그니처(Signature)를 생성하여 상기 ECU 코드에 전자서명 등록하기 위한 시그니처 장치를 포함하며; RSA 함수 및 공개키(Public Key)를 이용하여 상기 ECU 코드 및 데이터를 해독하고, 해독된 각각의 시그니처와 상기 ECU코드 시그니처 및 데이터 시그니처와 비교하여 차량 데이터에 대한 조작 여부를 판단하도록 상기 ECU 코드 내에 시그니처 동작코드를 포함하는 것을 특징으로 한다.According to an aspect of the present invention, there is provided an apparatus for preventing data manipulation of a vehicle engine control unit (ECU), the apparatus comprising: (RSA) function and a private key, and generates an ECU code signature and a data signature for the ECU code and data, and transmits the ECU code and data to the ECU A signature device for registering an electronic signature in the code; Decrypts the ECU code and data using an RSA function and a public key, compares the decrypted signature with the ECU code signatures and data signatures, and determines whether to operate the vehicle data And a signature operation code.
한편, 본 발명의 바람직한 실시 예에 따른 시그니처 장치는, 상기 ECU 코드 및 데이터를 요약(Digest)하기 위한 해쉬함수 모듈(Hash function Module); 암호화를 위해 사용되는 RSA 함수모듈; 및 암호화된 시그니처를 ECU 코드와 데이터에 첨부할 수 있는 서명함수 모듈로 구성되는 것을 특징으로 한다.Meanwhile, a signature device according to a preferred embodiment of the present invention includes a hash function module for digesting the ECU code and data; An RSA function module used for encryption; And a signature function module capable of attaching the encrypted signature to the ECU code and data.
또한, 시그니처 동작코드는 서명된 ECU 코드 및 데이터에 대한 해쉬값을 산출하기 위한 해쉬함수 코딩부; 기 설정된 공개키(Public Key)를 토대로 상기 ECU 코드 해쉬값을 해독하여 시그니처를 산출하기 위한 RSA함수 코딩부; 상기 RSA함수 코딩부에 의해 산출된 각 시그니처와 상기 ECU 코드 및 데이터에 서명된 시그니처를 비교하여 동일성 여부를 판단하는 시그니처 검증함수 코딩부; 및 시그니처 검증함수 코딩부의 검증결과에 따라 차량의 비상제어를 수행하는 비상모드 코딩부로 구성되는 것을 특징으로 한다.
In addition, the signature operation code includes a hash function coding unit for calculating a hash value for signed ECU code and data; An RSA function coding unit for decrypting the ECU code hash value based on a predetermined public key to calculate a signature; A signature verification function coding unit for comparing the signatures calculated by the RSA function coding unit with signatures signed in the ECU code and data to determine whether they are the same or not; And an emergency mode coding unit for performing emergency control of the vehicle according to the verification result of the signature verification function coding unit.
한편, 상기 목적을 달성하기 위한 시그니처를 이용한 차량의 이씨유 데이터 조작방지 장치 및 이를 이용한 차량의 비상모드 운영방법은, a) 해쉬함수를 이용하여 ECU 코드 및 데이터를 요약(Digest)하는 단계; b) 공개키 및 RSA함수를 이용하여 해쉬값을 해독하는 단계; c) 해독된 각 시그니처와 상기 ECU코드 시그니처 및 데이터 시그니처를 비교하여 동일성 여부를 판단하는 단계; d) 상기 c) 단계에서 판단한 결과, 상기 ECU코드 시그니처 및 데이터 시그니처가 변형되었을 경우 비상모드 진입 횟수를 증가하는 단계; 및 e) 상기 d) 단계에서 상기 비상모드 진입 횟수가 기준치를 넘을 경우 차량의 비상모드를 실행하고, 상기 비상모드 진입 횟수가 기준치를 초과하지 않을 경우 일반모드를 실행하는 단계로 이루어진 것을 특징으로 한다.In order to accomplish the above object, an ESM data manipulation prevention device for a vehicle using a signature and an emergency mode operating method for a vehicle using the ESM include: a) digesting ECU code and data using a hash function; b) decrypting the hash value using the public key and the RSA function; c) comparing the decrypted signatures with the ECU code signatures and data signatures to determine whether they are identical; d) increasing the number of emergency mode entry times when the ECU code signatures and data signatures are modified as a result of the determination in step c); And e) executing the emergency mode of the vehicle when the number of entering the emergency mode exceeds the reference value in the step d), and executing the normal mode when the number of entering the emergency mode does not exceed the reference value .
또한, 본 발명의 바람직한 실시 예에 따른 비상모드 운영을 위한 검증은, ECU 동작 사이클에 1회만 실행하는 것을 특징으로 한다.
Further, the verification for the emergency mode operation according to the preferred embodiment of the present invention is performed only once in the ECU operation cycle.
본 발명에서 제시하는 시그니처를 이용한 차량의 이씨유 데이터 조작방지 장치 및 이를 이용한 차량의 비상모드 운영방법은, 인증된 사용자에게 시그니처(Signature)를 생성할 수 있는 개인키(Private Key)를 제공하고, 공개키(Public Key)에 의해 시그니처의 복호가 가능하도록 함으로써, 불법적인 차량 데이터 조작을 방지할 수 있는 효과가 있다. 또한, 시그니처의 검증과정을 통해 데이터의 조작이 인지될 경우 차량의 시동을 제한함으로써, 차량 운행의 위험성을 사전에 방지할 수 있는 효과를 제공한다.
The apparatus for preventing data manipulation of a vehicle using the signatures proposed in the present invention and the emergency mode operating method of a vehicle using the same provide a private key capable of generating a signature to an authenticated user, It is possible to prevent illegal vehicle data manipulation by allowing the signature to be decrypted by the public key. Further, when the manipulation of the data is recognized through the verification process of the signature, the start of the vehicle is restricted, thereby providing the effect of preventing the danger of the vehicle operation in advance.
도 1은 종래 차량 엔진제어장치(ECU)의 프로그램 업데이트를 설명하기 위한 도면이다.
도 2는 본 발명에 따른 ECU 시그니처 장치와 이의 동작 설명을 위한 도면이다.
도 3은 도 2에서 생성된 시그니처의 검증 과정을 설명하기 위한 도면이다.
도 4는 본 발명에 따른 비상 모드 시의 엔진제어 방법을 설명하기 위한 플로우챠트이다.1 is a diagram for explaining a program update of a conventional vehicle engine control unit (ECU).
2 is a diagram for explaining an ECU signature apparatus and an operation thereof according to the present invention.
FIG. 3 is a view for explaining the signature verification process generated in FIG.
4 is a flow chart for explaining an engine control method in the emergency mode according to the present invention.
이하, 본 발명의 바람직한 실시 예를 첨부된 예시도면에 의거 상세히 설명하면 다음과 같다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.
먼저, 본 발명에서 적용되는 RSA(Riverst, Shamir, Adleman) 알고리즘은 비대칭 암호방식의 일종으로서, 인증된 사용자에게 개인키(Private Key)를 제공하고 개인키를 이용하여 시그니처(Signature)를 생성토록 한다. 또한 개인키와 비대칭 구조를 갖는 공개키(Public Key)를 이용하여 시그니처를 복호화하도록 함으로써, 차량 엔진제어장치(ECU)의 데이터를 임의로 조작할 수 없도록 한다.First, RSA (Riverst, Shamir, Adleman) algorithm applied in the present invention is a type of asymmetric cryptosystem, and provides a private key to an authenticated user and generates a signature using a private key . Also, by decrypting the signature using the public key having the asymmetric structure with the private key, the data of the vehicle engine control unit (ECU) can not be arbitrarily manipulated.
본 발명은 이와 같은 RSA 알고리즘을 차량 엔진제어장치(ECU)에 적용하기 위해, ECU 코드와 데이터에 서명할 수 있는 시그니처 장치가 제공되며, 또한 상기 개인키(Private Key)는 인증된 사용자에게만 제공된다. 따라서, 개인키를 보유한 인증된 사용자만이 시그니처를 생성할 수 있을 뿐만 아니라, 차량 엔진제어장치(ECU)의 데이터 조작 시에는 공개키를 이용하여 데이터의 조작 여부를 판단하는 것이다.In order to apply such an RSA algorithm to a vehicle engine control unit (ECU), the present invention is provided with a signature device capable of signing ECU code and data, and the private key is provided only to an authenticated user . Therefore, not only the authenticated user having the private key can generate the signature, but also the data manipulation of the vehicle engine control unit (ECU) uses the public key to judge whether or not the data is manipulated.
도 1은 본 발명에 따른 시그니처 장치를 도시하고 있다. 도시된 시그니처 장치(230)는 차량의 엔진제어장치(ECU)의 내부 메모리에 기록된 코드 및 데이터에 대한 서명을 포함하여, 서명에 대한 검증을 수행한다. 즉, 차량의 엔진제어장치(ECU)를 운용하기 위한 프로그램이 탑재된 메모리 상으로 ECU 코드가 기록되는데, 이는 제조과정에서 이루어진다. 또한, 암호화되는 시그니처는 메모리의 일부 공간을 할애하여 첨부되도록 하고, 첨부된 시그니처에 대한 검증을 토대로 차량 엔진의 동작 여부를 결정토록 한다.Figure 1 shows a signature device according to the invention. The illustrated
상기 ECU 코드(210)는 엔진제어를 위한 프로그램 코드로서 시그니처 동작코드(211)와 데이터(213)를 포함하며, 시그니처 동작코드(211)는 본 발명에 따라 생성된 시그니처의 해독에 사용되는 동작 프로그램이고, 상기 데이터(213)는 차량 엔진의 운용을 제어하기 위한 프로그램 데이터이다. 따라서, 상기 시그니처 장치(230)는 데이터(213)에 대한 암호화를 수행한 후, 암호화 결과에 따른 시그니처를 상기 ECU 코드(210)로 첨부하며, 추후 설명될 시그니처 해독 및 검증 시 상기 시그니처 동작코드(211)가 활용된다.The
상기 시그니처 장치(230)는 전술된 ECU 코드 및 데이터를 요약(Digest)하기 위한 해쉬함수 모듈(Hash function Module : 231)과, 암호화를 위해 사용되는 RSA 함수모듈(235)과, 암호화된 시그니처를 ECU 코드와 데이터에 첨부할 수 있는 서명함수 모듈(237)로 구성된다.The
여기서, 상기 시그니처 장치(230)는 전술된 각각의 모듈이 프로그램화된 별도의 장치로써 제공되어 차량 엔진제어장치(ECU)와 접속 가능하거나, 차량 엔진제어장치(ECU)에 근접하도록 고정 설치될 수 있을 것이다. 이와 더불어, 인증된 사용자에게 별도의 개인키(Private Key:233)가 제공되며, 상기 개인키(233)에 근거하여 시그니처 장치(230)의 암호화 알고리즘이 기동된다. 이와 같은 시그니처 장치(230)는 차량 엔진제어장치(ECU)의 출력포트에 접속되어 ECU 코드와 데이터를 추출하여 암호화하며, 암호화 결과로서 생성된 ECU 코드 시그니처(215) 및 교정 데이터 시그니처(217)는 ECU 코드가 기록된 메모리의 일부 공간을 할애하여 이를 첨부하는 것이다.Here, the
즉 도시된 바와 같이, 상기 시그니처 장치(230)의 해쉬 함수모듈(231)은 ECU 코드(210) 및 데이터(213)를 요약(Digest)하여 각각의 해쉬값을 생성한다. 상기 요약(Digest)은 ECU 코드 및 데이터를 각각으로 메시지화하는 것으로, MD2, MD5, SHA-1, RIPEMD128/160, HAS160, SMD, HAVAL 등의 다이제스트 알고리즘이 사용되며, 각 알고리즘에 따라 소정 비트의 해쉬값을 생성하는 것이다.That is, the
이와 같이 ECU 코드(210) 및 데이터(213)에 대한 각각의 해쉬값이 생성되면, 상기 RSA 함수모듈(235)과 개인키(233)를 토대로 암호화가 이루어진다. 상기 개인키(233)는 하드웨어 형태를 가지며, 인증된 사용자에게 제공되어 상기 시그니처 장치(230)와 접속된다. 상기 개인키(233)는 계산된 해쉬값을 암호화하는 것으로 시그니처를 생성한다. 그리고, 상기 서명 함수모듈(237)을 이용하여 각각의 시그니처 즉, ECU 코드 시그니처를 포함하여 데이터 교정에 따른 교정데이터 시그니처를 생성하는 것으로, 원문에 전자 서명이 이루어진다.When the hash values for the
전자 서명된 각각의 시그니처는 상기 ECU 코드가 기록된 메모리의 특정 위치에 저장되는 것으로, ECU코드 시그니처(215) 및 교정데이터 시그니처(217)로 상정된다. 따라서, 상기 ECU 코드(210)는 시그니처 동작코드 및 교정 데이터와 더불어, ECU코드 시그니처(215) 및 교정데이터 시그니처(217)를 포함하게 된다. 이와 같이 암호화된 ECU 코드 및 데이터는 공개키(Public Key)에 의해 복호되며, 복호를 위해 상기 ECU 코드(210)에는 시그니처 동작코드(211)를 구비한다.Each of the digitally signed signatures is stored in a specific location in the memory where the ECU code is recorded, and is assumed to be the
상기 시그니처 동작코드(211)는 도 3에 도시된 바와 같이, 서명된 ECU 코드 및 교정 데이터에 대한 해쉬값을 산출하기 위한 해쉬함수 코딩부(301)와, 기 설정된 공개키(Public Key:303)를 토대로 상기 ECU 코드 해쉬값을 해독하여 시그니처를 산출하기 위한 RSA함수 코딩부(305)와, 상기 RSA함수 코딩부(305)에 의해 산출된 시그니처와 상기 ECU 코드 및 교정 데이터에 서명된 시그니처를 비교하여 동일성 여부를 판단하는 시그니처 검증함수 코딩부(307)와, 상기 시그니처 검증함수 코딩부(307)의 검증결과에 따라 차량의 비상제어를 수행하는 비상모드 코딩부(309)로 구성된다.As shown in FIG. 3, the
전술한 시그니처 동작코드(211)는 상기 ECU 코드(210)에 포함되는 프로그램화된 정보로서, 각각의 코딩부 및 공개키(303) 또한 프로그램화된 정보로 관리된다. 따라서, 상기 ECU 코드 및 교정 데이터의 서명이 이루어진 ECU 코드 시그니처(215) 및 교정 데이터 시그니처(217)는 시그니처 동작코드(211)에 의해 검증된다.The above-described
이는 도 3에서 도시한 바와 같이, 상기 해쉬함수 코딩부(301)를 이용하여 ECU 코드(210) 및 교정 데이터를 각각으로 요약(Digest)하여, 각각의 해쉬값을 생성한다. 상기 요약(Digest)은 전술된 바와 같이 ECU 코드 및 교정 데이터를 각각으로 메시지화하는 것으로, MD2, MD5, SHA-1, RIPEMD128/160, HAS160, SMD, HAVAL 등의 다이제스트 알고리즘이 사용되며, 각 알고리즘에 따라 소정 비트의 해쉬값을 계산하는 것이다.As shown in FIG. 3, the hash
또한, 계산된 해쉬값은 상기 공개키(Public Key:303)와 RSA함수 코딩부(305)를 이용하여 해독함으로써 시그니처를 계산한다. 시그니처 계산이 완료되면, 상기 시그니처 검증함수 코딩부(307)를 이용하여 현재 계산된 시그니처와 전(前) 과정에서 서명된 시그니처 즉, ECU코드 시그니처(215) 및 교정데이터 시그니처(217)를 비교하여 동일성 여부를 판단한다.The calculated hash value is decrypted using the
여기서, 상기 시그니처 검증함수 코딩부(307)의 검증 결과는 상기 비상모드 코딩부(309)의 기동여부를 결정하는데, 현재 해독된 ECU코드 시그니처와 기 서명된 ECU코드 시그니처(215)와 동일하고, 현재 해독된 교정데이터 시그니처와 기 서명된 교정데이터 시그니처(217)가 동일할 경우, 상기 시그니처 검증함수 코딩부(307)는 시그니처 동작코드(211)를 종료한다. 반면, 시그니처 검증함수 코딩부(307)의 검증결과와 기 서명된 시그니처 간 동일성이 입증되지 않을 경우, 상기 시그니처 검증함수 코딩부(307)는 비상모드 코딩부(309)를 기동하여 차량의 엔진의 기동을 제어한다.Here, the verification result of the signature verification
예컨대, 차량의 시동과 관련된 기능을 제외한 기능만을 활성화함으로써, 차량 운행의 안정성을 확보한다. 이는 차량의 출력과 관련된 교정 데이터를 변경한 경우로서, 동력관련 부품에 과부하로 인한 고장을 일으킬 수 있기 때문으로, 운전자의 안전성과 직결되기 때문이다.For example, only the function excluding the function related to the start of the vehicle is activated, thereby securing the stability of the vehicle operation. This is because the calibration data related to the output of the vehicle is changed, which can cause a failure due to overloading of the power-related parts, which is directly related to the safety of the driver.
한편, 본 발명에서 운용되는 시그니처 검증은 실질적으로 시간이 많이 걸리기 때문에, ECU 동작사이클에 한 번만 수행되도록 함이 바람직할 것이다. 또한, 비상모드는 시그니처 검증결과 시그니처가 잘못되었다고 판단되면 소프트웨어 리셋에 의해 진입할 수 있으며 시스템 초기화 단계에서 결정된다. 비상모드 소프트웨어 리셋을 만들기 전에 비상 모드에 진입한 횟수를 비휘발성 메모리에 저장한 후, 비상 모드의 횟수를 확인하여 일정 기준치를 초과할 경우, 시그니처 검증절차없이 비상모드로 진입토록 한다.On the other hand, since the signature verification used in the present invention takes a substantial amount of time, it is preferable that the signature verification is performed only once in the ECU operation cycle. In addition, the emergency mode can be entered by software reset if it is determined that the signature verification result signature is invalid, and it is determined in the system initialization step. Emergency Mode The number of times the emergency mode is entered before the software reset is stored in the nonvolatile memory, and the number of emergency mode is checked. If the emergency mode is exceeded, the emergency mode is entered without signature verification.
도 4는 본 발명에 따른 비상모드 코딩부(309)의 동작 순서를 나타낸 플로우챠트이다. 도시된 바와 같이, S401 단계에서, 상기 시그니처 검증함수 코딩부(307)는 비상모드에 의한 소프트웨어 리셋인지를 판단한다. 이는 시그니처 검증결과 시그니처가 잘못되었다고 판단되면 소프트웨어에 의해 진입할 수 있도록 하는 것으로, 시스템 초기화 단계에서 결정된다.4 is a flowchart showing an operation procedure of the emergency
이와 같이 소프트웨어 리셋이 아닐 경우에는, S403 단계와 같이 비상모드의 진입 횟수가 기준치를 넘는지를 판단한다. 비상모드의 진입 횟수는 1회로 설정할 수 있으나, 개발과정을 감안할 때, 4회 내지 6회로 제한하는 것이 바람직할 것이다. 상기 비상모드는 차량의 시동과 관련된 기능을 제외한 기능만을 활성화하는 것으로, 데이터의 조작으로 인한 차량 운행을 제한하는 것이다.If the software reset is not performed, it is determined whether the number of times of entering the emergency mode exceeds the reference value, as in step S403. The number of times of entry into the emergency mode can be set to one, but it is preferable to limit the number of times of entering the emergency mode to four to six in consideration of the development process. The emergency mode activates only the function except for the function related to the start of the vehicle, thereby restricting the vehicle operation due to the manipulation of the data.
한편, S405 단계에서 상기 해쉬함수 코딩부(301)가 ECU코드(210) 및 교정 데이터에 대한 각각의 요약(Digest)를 생성하고, S407 단계로 진입하여 상기 RSA 함수 코딩부(305) 및 공개키(303)에 의해 각 해쉬값을 해독한다.In step S405, the hash
이후, S409 단계에서 상기 시그니처 검증함수 코딩부(307)는 해독된 ECU코드 시그니처 및 교정데이터 시그니처와, 기 서명된 ECU코드 시그니처(215) 및 교정데이터 시그니처(217)를 비교함으로써 동일성 여부를 판단한다. 만약, 본 과정에서 판단한 결과, 시그니처의 검증을 통과 즉, 현재 해독된 ECU코드 시그니처 및 교정데이터 시그니처와 기 서명된 ECU코드 시그니처(215) 및 교정데이터 시그니처(217)가 동일한 것으로 판단할 경우, 시그니처 동작코드(211)의 실행을 중단하고 일반모드로 진입한다.In step S409, the signature verification
반면, 상기 과정에서 판단한 결과, 현재 해독된 ECU코드 시그니처 및 교정데이터 시그니처와 기 서명된 ECU코드 시그니처(215) 및 교정데이터 시그니처(217)가 동일하지 않은 것으로서 검증을 통과하지 못할 경우, S411 단계로 진입하여 상기 시그니처 검증함수 코딩부(307)는 비상모드 진입 횟수를 증가하기 위해 카운터를 수행하고 그 결과를 비휘발성 메모리에 저장한다. 이후, 상기 S401 단계로 피드백하여 상기 과정을 반복하며, S403 단계에서 이미 설명된 바와 같이 비상모드의 진입 횟수가 기준치를 넘을 경우 상기 비상모드 코딩부(309)를 기동한다. 비상모드의 기동은 차량의 엔진을 정지시키는 모드로서 차량 안정성을 확보하고, 운전자의 안전을 유도하게 된다.
On the other hand, if it is determined that the ECU code signature and the corrected data signature are not the same as the already-signed
210 : ECU 코드 211 : 시그니처 동작코드
213 : 데이터 215 : ECU 코드 시그니처
217 : 교정 데이터 시그니처 230 : 시그니처 장치
231 : 해쉬함수 모듈 233 : 개인키
235 : RSA함수 모듈 237 : 서명함수 모듈
301 : 해쉬함수 코딩부 303 : 공개키
305 : RSA함수 코딩부 307 : 시그니처 검증함수 코딩부
309 : 비상모드 코딩부210: ECU code 211: Signature operation code
213: data 215: ECU code signature
217: calibration data signature 230: signature device
231: Hash function module 233: Private key
235: RSA function module 237: Signature function module
301: Hash function coding unit 303: Public key
305: RSA function coding unit 307: Signature verification function coding unit
309: Emergency mode coding unit
Claims (11)
상기 차량 엔진제어장치(ECU)를 운용하기 위한 ECU 코드 및 데이터를 RSA 함수 및 개인키(Private Key)를 이용하여 암호화한 후, 상기 ECU 코드 및 데이터에 대한 ECU코드 시그니처(Signature) 및 데이터 시그니처(Signature)를 생성하여 상기 ECU 코드에 전자서명 등록하기 위한 시그니처 장치를 포함하며;
RSA 함수 및 공개키(Public Key)를 이용하여 상기 ECU 코드 및 데이터를 해독하고, 해독된 각각의 시그니처와 상기 ECU코드 시그니처 및 데이터 시그니처와 비교하여 차량 데이터에 대한 조작 여부를 판단하도록 상기 ECU 코드 내에 시그니처 동작코드를 포함하는 것을 특징으로 하는 시그니처를 이용한 차량의 이씨유 데이터 조작방지 장치.An apparatus for preventing data manipulation of a vehicle engine control unit (ECU)
An ECU code and data for operating the vehicle engine control unit are encrypted using an RSA function and a private key and then an ECU code signature and a data signature And a signature device for generating an electronic signature in the ECU code;
Decrypts the ECU code and data using an RSA function and a public key, compares the decrypted signature with the ECU code signatures and data signatures, and determines whether to operate the vehicle data And a signature operation code for identifying the signature of the vehicle.
상기 시그니처 장치는, 상기 ECU 코드 및 데이터를 요약(Digest)하기 위한 해쉬함수 모듈(Hash function Module);
암호화를 위해 사용되는 RSA 함수모듈; 및
암호화된 시그니처를 ECU 코드와 데이터에 첨부할 수 있는 서명함수 모듈로 구성되는 것을 특징으로 하는 시그니처를 이용한 차량의 이씨유 데이터 조작방지 장치.The method according to claim 1,
Wherein the signature device comprises: a hash function module for digesting the ECU code and data;
An RSA function module used for encryption; And
And a signature function module capable of attaching the encrypted signature to the ECU code and data.
상기 요약(Digest)은 상기 ECU 코드 및 데이터를 각각으로 메시지화하는 것으로, MD2, MD5, SHA-1, RIPEMD128/160, HAS160, SMD, HAVAL 중 어느 하나의 다이제스트 알고리즘을 사용하는 것을 특징으로 하는 시그니처를 이용한 차량의 이씨유 데이터 조작방지 장치.3. The method of claim 2,
Wherein the digest is a message for each of the ECU code and data and uses a digest algorithm of any one of MD2, MD5, SHA-1, RIPEMD 128/160, HAS 160, SMD, and HAVAL. The data protection device of the vehicle using the CAN data.
상기 개인키(Private Key)는 인증된 사용자 또는 관리자에게 제공되며, 하드웨어에 의해 개인키 정보가 제공되는 것을 특징으로 하는 시그니처를 이용한 차량의 이씨유 데이터 조작방지 장치.The method according to claim 1,
Wherein the private key is provided to an authenticated user or an administrator and the private key information is provided by hardware.
상기 시그니처 동작코드는 서명된 ECU 코드 및 데이터에 대한 해쉬값을 산출하기 위한 해쉬함수 코딩부;
기 설정된 공개키(Public Key)를 토대로 상기 ECU 코드 해쉬값을 해독하여 시그니처를 산출하기 위한 RSA함수 코딩부; 및
상기 RSA함수 코딩부에 의해 산출된 각 시그니처와 상기 ECU 코드 및 데이터에 서명된 시그니처를 비교하여 동일성 여부를 판단하는 시그니처 검증함수 코딩부로 이루어진 것을 특징으로 하는 시그니처를 이용한 차량의 이씨유 데이터 조작방지 장치.The method according to claim 1,
Wherein the signature action code comprises: a hash function coding unit for calculating a hash value for signed ECU code and data;
An RSA function coding unit for decrypting the ECU code hash value based on a predetermined public key to calculate a signature; And
And a signature verification function coding unit for comparing the signatures calculated by the RSA function coding unit with signatures signed in the ECU code and data to determine whether they are the same or not. .
상기 시그니처 검증함수 코딩부의 검증결과에 따라 차량의 비상제어를 수행하는 비상모드 코딩부를 더 포함하는 것을 특징으로 하는 시그니처를 이용한 차량의 이씨유 데이터 조작방지 장치.6. The method of claim 5,
And an emergency mode coding unit for performing emergency control of the vehicle according to the verification result of the signature verification function coding unit.
상기 비상모드 코딩부는 차량의 시동과 관련된 기능을 제외한 기능만을 활성화하기 위한 알고리즘인 것을 특징으로 하는 시그니처를 이용한 차량의 이씨유 데이터 조작방지 장치.6. The method of claim 5,
Wherein the emergency mode coding unit is an algorithm for activating only a function excluding functions related to starting of the vehicle.
상기 시그니처 장치는 상기 차량 엔진제어장치(ECU)와 접속 가능하도록 구성되거나, 차량 엔진제어장치(ECU)에 근접하도록 고정 설치되는 것을 특징으로 하는 시그니처를 이용한 차량의 이씨유 데이터 조작방지 장치.8. The method according to any one of claims 1 to 7,
Wherein the signature device is configured to be connectable to the vehicle engine control device (ECU) or is fixedly installed so as to be close to the vehicle engine control device (ECU).
a) 해쉬함수를 이용하여 ECU 코드 및 데이터를 요약(Digest)하는 단계;
b) 공개키 및 RSA함수를 이용하여 해쉬값을 해독하는 단계;
c) 해독된 각 시그니처와 상기 ECU코드 시그니처 및 데이터 시그니처를 비교하여 동일성 여부를 판단하는 단계;
d) 상기 c) 단계에서 판단한 결과, 상기 ECU코드 시그니처 및 데이터 시그니처가 변형되었을 경우 비상모드 진입 횟수를 증가하는 단계; 및
e) 상기 d) 단계에서 상기 비상모드 진입 횟수가 기준치를 넘을 경우 차량의 비상모드를 실행하고, 상기 비상모드 진입 횟수가 기준치를 초과하지 않을 경우 일반모드를 실행하는 단계로 이루어진 것을 특징으로 하는 시그니처를 이용한 차량의 이씨유 데이터 조작방지 장치를 이용한 차량의 비상모드 운영방법.A method of operating an emergency mode of a vehicle using an ESC data manipulation prevention device of a vehicle according to claim 1,
a) digesting ECU code and data using a hash function;
b) decrypting the hash value using the public key and the RSA function;
c) comparing the decrypted signatures with the ECU code signatures and data signatures to determine whether they are identical;
d) increasing the number of emergency mode entry times when the ECU code signatures and data signatures are modified as a result of the determination in step c); And
e) executing the emergency mode of the vehicle when the number of entering the emergency mode exceeds the reference value in the step d), and executing the normal mode when the number of entering the emergency mode does not exceed the reference value A method of operating an emergency mode of a vehicle using an anti - theft data manipulation device of a vehicle.
상기 비상모드는 차량의 시동과 관련된 기능을 제외한 기능만을 활성화하는 것을 특징으로 하는 시그니처를 이용한 차량의 이씨유 데이터 조작방지 장치를 이용한 차량의 비상모드 운영방법.10. The method of claim 9,
Wherein the emergency mode activates only a function except a function related to starting of a vehicle.
상기 비상모드 운영을 위한 검증은 ECU 동작 사이클에 1회만 실행하는 것을 특징으로 하는 시그니처를 이용한 차량의 이씨유 데이터 조작방지 장치를 이용한 차량의 비상모드 운영방법.
11. The method according to claim 9 or 10,
Wherein the verification for the emergency mode operation is executed only once in the ECU operation cycle.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130004497A KR102002109B1 (en) | 2013-01-15 | 2013-01-15 | Installation for preventing ecu manipulation using rsa signature and method for emergency engine driving using thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130004497A KR102002109B1 (en) | 2013-01-15 | 2013-01-15 | Installation for preventing ecu manipulation using rsa signature and method for emergency engine driving using thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20140092130A true KR20140092130A (en) | 2014-07-23 |
KR102002109B1 KR102002109B1 (en) | 2019-07-19 |
Family
ID=51738970
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020130004497A KR102002109B1 (en) | 2013-01-15 | 2013-01-15 | Installation for preventing ecu manipulation using rsa signature and method for emergency engine driving using thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102002109B1 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105578182A (en) * | 2014-10-15 | 2016-05-11 | 联想(北京)有限公司 | Video coding and decoding methods and apparatuses |
WO2020061058A1 (en) * | 2018-09-19 | 2020-03-26 | Synaptics Incorporated | Method and system for securing in-vehicle ethernet links |
CN112615723A (en) * | 2020-12-17 | 2021-04-06 | 武汉大学 | Source machine code comparison method based on RSA digital signature |
KR20210110907A (en) * | 2020-03-02 | 2021-09-10 | 이병대 | Vehicle ECU update device and method secured in OTA environment |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20120127057A (en) * | 2011-05-13 | 2012-11-21 | 콘티넨탈 오토모티브 시스템 주식회사 | Method for preventing tuning of electronic control unit, apparatus applied to the same |
KR101233591B1 (en) * | 2011-10-31 | 2013-02-14 | 주식회사 현대케피코 | Tuning protection method and apparatus for electronic control unit |
-
2013
- 2013-01-15 KR KR1020130004497A patent/KR102002109B1/en active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20120127057A (en) * | 2011-05-13 | 2012-11-21 | 콘티넨탈 오토모티브 시스템 주식회사 | Method for preventing tuning of electronic control unit, apparatus applied to the same |
KR101233591B1 (en) * | 2011-10-31 | 2013-02-14 | 주식회사 현대케피코 | Tuning protection method and apparatus for electronic control unit |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105578182A (en) * | 2014-10-15 | 2016-05-11 | 联想(北京)有限公司 | Video coding and decoding methods and apparatuses |
CN105578182B (en) * | 2014-10-15 | 2019-04-23 | 联想(北京)有限公司 | A kind of Video coding, coding/decoding method and device |
WO2020061058A1 (en) * | 2018-09-19 | 2020-03-26 | Synaptics Incorporated | Method and system for securing in-vehicle ethernet links |
US11184177B2 (en) | 2018-09-19 | 2021-11-23 | Synaptics Incorporated | Method and system for securing in-vehicle ethernet links |
KR20210110907A (en) * | 2020-03-02 | 2021-09-10 | 이병대 | Vehicle ECU update device and method secured in OTA environment |
CN112615723A (en) * | 2020-12-17 | 2021-04-06 | 武汉大学 | Source machine code comparison method based on RSA digital signature |
CN112615723B (en) * | 2020-12-17 | 2021-09-14 | 武汉大学 | Source machine code comparison method based on RSA digital signature |
Also Published As
Publication number | Publication date |
---|---|
KR102002109B1 (en) | 2019-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10719606B2 (en) | Security processor for an embedded system | |
JP5519773B2 (en) | Device justification and / or authentication for communication with the network | |
US9806883B2 (en) | Secure provision of a key | |
US7500098B2 (en) | Secure mode controlled memory | |
US20030196096A1 (en) | Microcode patch authentication | |
US20050076226A1 (en) | Computing device that securely runs authorized software | |
US20050091496A1 (en) | Method and system for distributed key management in a secure boot environment | |
US20160028549A1 (en) | Information processing system and electronic device | |
KR102002109B1 (en) | Installation for preventing ecu manipulation using rsa signature and method for emergency engine driving using thereof | |
JP2003022218A (en) | Method for activating or inactivating at least a part of data stored in memory device of microcomputer system and microcomputer system | |
EP2270706B1 (en) | Loading secure code into a memory | |
US8095801B2 (en) | Method of protecting microcomputer system against manipulation of data stored in a memory assembly of the microcomputer system | |
EP2484564A1 (en) | Method and apparatus for vehicle security | |
JP6930884B2 (en) | BIOS management device, BIOS management system, BIOS management method, and BIOS management program | |
US20170060775A1 (en) | Methods and architecture for encrypting and decrypting data | |
US20220209946A1 (en) | Key revocation for edge devices | |
EP2270707B1 (en) | Loading secure code into a memory | |
CN111177709A (en) | Execution method and device of terminal trusted component and computer equipment | |
KR101954439B1 (en) | Soc having double security features, and double security method for soc | |
US20100174848A1 (en) | Data processing apparatus | |
JP2016146618A (en) | Information processing device | |
EP3511858A1 (en) | Update of mac security settings in autonomous industrial control devices | |
KR20180059742A (en) | Soc having double security features, and double security method for soc | |
KR20060008338A (en) | Method for booting up a software in the boot sector of a programmable read-only memory | |
JP2024528585A (en) | Secure execution of software based on cryptographically verified instructions |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) | ||
GRNT | Written decision to grant |