KR102002109B1 - 시그니처를 이용한 차량의 이씨유 데이터 조작방지 장치 및 이를 이용한 차량의 비상모드 운영방법 - Google Patents

시그니처를 이용한 차량의 이씨유 데이터 조작방지 장치 및 이를 이용한 차량의 비상모드 운영방법 Download PDF

Info

Publication number
KR102002109B1
KR102002109B1 KR1020130004497A KR20130004497A KR102002109B1 KR 102002109 B1 KR102002109 B1 KR 102002109B1 KR 1020130004497 A KR1020130004497 A KR 1020130004497A KR 20130004497 A KR20130004497 A KR 20130004497A KR 102002109 B1 KR102002109 B1 KR 102002109B1
Authority
KR
South Korea
Prior art keywords
signature
data
vehicle
ecu
code
Prior art date
Application number
KR1020130004497A
Other languages
English (en)
Other versions
KR20140092130A (ko
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 KR1020130004497A priority Critical patent/KR102002109B1/ko
Publication of KR20140092130A publication Critical patent/KR20140092130A/ko
Application granted granted Critical
Publication of KR102002109B1 publication Critical patent/KR102002109B1/ko

Links

Images

Classifications

    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02DCONTROLLING COMBUSTION ENGINES
    • F02D45/00Electrical control not provided for in groups F02D41/00 - F02D43/00
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT 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/00Conjoint control of vehicle sub-units of different type or different function
    • B60W10/04Conjoint control of vehicle sub-units of different type or different function including control of propulsion units
    • B60W10/06Conjoint control of vehicle sub-units of different type or different function including control of propulsion units including control of combustion engines
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT 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/00Details 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/04Monitoring the functioning of the control system
    • B60W2050/041Built 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

본 발명에서 불법적인 차량 데이터 조작을 방지할 수 있는 시그니처를 이용한 차량의 이씨유 데이터 조작방지 장치 및 이를 이용한 차량의 비상모드 운영방법을 개시한다.
본 발명에 따른 이씨유 데이터 조작방지 장치는, 차량 엔진제어장치(ECU)를 운용하기 위한 ECU 코드 및 데이터를 RSA 함수 및 개인키(Private Key)를 이용하여 암호화한 후, 상기 ECU 코드 및 데이터에 대한 ECU코드 시그니처(Signature) 및 데이터 시그니처(Signature)를 생성하여 상기 ECU 코드에 전자서명 등록하기 위한 시그니처 장치를 포함하며; RSA 함수 및 공개키(Public Key)를 이용하여 상기 ECU 코드 및 데이터를 해독하고, 해독된 각각의 시그니처와 상기 ECU코드 시그니처 및 데이터 시그니처와 비교하여 차량 데이터에 대한 조작 여부를 판단하도록 상기 ECU 코드 내에 시그니처 동작코드를 포함하는 것을 특징으로 한다.
따라서, 본 발명은 불법적인 차량 데이터 조작을 인지함과 더불어, 시그니처의 검증과정을 통해 데이터의 조작이 인지될 경우 차량의 시동을 제한함으로써, 차량 운행의 위험성을 사전에 방지할 수 있는 효과를 제공한다.

Description

시그니처를 이용한 차량의 이씨유 데이터 조작방지 장치 및 이를 이용한 차량의 비상모드 운영방법{INSTALLATION FOR PREVENTING ECU MANIPULATION USING RSA SIGNATURE AND METHOD FOR EMERGENCY ENGINE DRIVING USING THEREOF}
본 발명은 차량의 이씨유(ECU:Engine Control Unit) 데이터 조작방지에 관한 것으로, 더욱 상세하게는 RSA 알고리즘을 이용한 암호화 기술인 시그니처를 이용하여 이씨유 데이터를 보호함으로써, 인증되지 않은 사용자에 의해 차량 데이터가 조작되는 것을 방지할 수 있는 시그니처를 이용한 차량의 이씨유 데이터 조작방지 장치 및 이를 이용한 차량의 비상모드 운영방법에 관한 것이다.
일반적으로 대부분의 차량에는 엔진 ECU가 구비되어 있으며, 이 엔진 ECU내에는 마이컴과 외부 메모리인 플래쉬 메모리(Flash Memory)가 구비되어 있다. 상기와 같이 구성된 엔진 ECU내 마이컴에서는 마이컴 내부의 메모리인 롬(ROM)에 다운 로드 프로그램을 마스킹(Masking)하여 엔진 ECU 개발시 또는 프로그램 업데이트시 플래쉬 메모리에 프로그램을 로딩하거나 업데이트 한다.
즉, 종래에는 마이컴 제조회사에서 마이컴 내부의 메모리에 다운 로드 프로그램을 마스킹한 후, 내부 메모리 모드(Internal Memory Mode)와 외부 메모리 모드(External Memory Mode)로 전환하면서 외부 메모리에 프로그램을 다운 로딩하거나 업데이트하였다.
먼저, 도 1에 도시된 바와 같이, 차량의 엔진제어장치로 프로그램을 다운로드하기 위한 로딩장치는, PC와 RS232C 통신을 수행하여 PC로부터 프로그램 다운 로드 명령을 수신하는 경우 이피롬의 다운 로드 프로그램을 수행할 수 있도록 제어신호를 출력하는 마이컴(11)과, 상기 마이컴(11)에서 출력되는 제어신호에 따라 플래쉬 메모리(13) 또는 이피롬(14)을 선택하여 메인 프로그램 또는 다운 로드 프로그램을 수행하도록 하는 디코더(Decoder)(12)와, 메인 프로그램을 저장하며, 이피롬(14)의 프로그램 다운 로딩 기능 수행시 리드 및 라이트 동작을 통해 데이터 영역으로 사용하는 플래쉬 메모리(13)와, 다운 로드 프로그램을 저장하고 있는 이피롬(14)으로 구성된다.
그리고, 전술된 디코더(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)로 구성된다.
따라서, 프로그램 다운 로드 모드시에는 마이컴(11)의 출력단자(POT, A15)를 통해 로우신호를 출력하여 디코더(12)내 제1 오아 게이트(A1)가 로우신호를 출력하고, 이어 인버터(A2)를 통해 하이신호를 출력하면 제2 오아 게이트(A3)는 마이컴(11)의 출력단자의 로우신호와 상기 인버터(A2)의 하이신호를 논리합하여 하이신호를 앤드 게이트(A4)로 출력하고, 이어 앤드 게이트(A4)는 마이컴(11)의 출력단자의 하이신호와 상기 제2 오아 게이트(A3)의 하이신호를 논리곱하여 하이신호를 플래쉬 메모리(13)를 출력한다.
이때, 상기 마이컴(11)의 출력단자(POT)의 로우신호를 이피롬(14)에 출력함으로써 프로그램 영역으로 동작하는 이피롬(14)을 액세스하여 저장된 다운 로드 프로그램을 수행할 수 있도록 한다. 그리고, 상기 플래쉬 메모리(13)는 데이터 영역으로 리드 및 라이트를 할 수 있도록 하여 프로그램 다운로드 기능을 수행할 수 있도록 한다.
그러나, 이와 같은 종래 차량 엔진제어장치는 외부와의 간단한 접속만으로 엔진제어장치의 프로그램을 변경할 수 있기 때문에, 개별적인 프로그램 업데이트로 인해 차량 운행의 안전성이 저해되는 문제가 발생한다. 즉, 인증되지 않은 사용자에 의해 차량 엔진의 프로그램 데이터가 수정되거나, 임의적인 ECU 맵핑이 이루어질 경우, 차량의 내구성 저하와 안정성 훼손으로 인해 운전자의 위험 상황을 초래하는 것이다.
본 발명은 이와 같은 문제점을 해결하기 위해 창출된 것으로, 본 발명의 목적은 차량의 엔진제어장치(ECU)에 대한 데이터 수정 권한이 있는 인증된 사용자에게만 접근을 제한함으로써, 임의의 데이터 조작으로 인한 차량의 안정성 훼손을 사전에 방지할 수 있는 시그니처를 이용한 차량의 이씨유 데이터 조작방지 장치 및 이를 이용한 차량의 비상모드 운영방법을 제공함에 있다.
본 발명의 다른 목적은, RSA 알고리즘을 이용한 암호화 기술을 차량의 엔진제어장치(ECU)로 적용토록 함으로써, 인증된 사용자에 의한 ECU 코드 및 교정 데이터(Calibration data)의 변경이 제한될 수 있는 시그니처를 이용한 차량의 이씨유 데이터 조작방지 장치 및 이를 이용한 차량의 비상모드 운영방법을 제공함에 있다.
본 발명의 또 다른 목적은, 인증된 사용자에게 시그니처(Signature)를 생성할 수 있는 개인키(Private Key)를 제공하고, 공개키(Public Key)에 의해 시그니처의 복호가 가능하도록 함으로써, 불법적인 데이터 조작을 방지할 수 있는 시그니처를 이용한 차량의 이씨유 데이터 조작방지 장치 및 이를 이용한 차량의 비상모드 운영방법을 제공함에 있다.
본 발명의 또 다른 목적은, 시그니처의 검증과정을 통해 데이터의 조작이 인지될 경우 차량의 시동을 제한함으로써, 차량 운행의 위험성을 사전에 방지할 수 있는 시그니처를 이용한 차량의 이씨유 데이터 조작방지 장치 및 이를 이용한 차량의 비상모드 운영방법을 제공함에 있다.
상기 목적을 달성하기 위한 본 발명의 관점에 따른 시그니처를 이용한 차량의 이씨유 데이터 조작방지 장치는, 차량 엔진제어장치(ECU)의 데이터 조작을 방지하기 위한 장치에 있어서, 상기 차량 엔진제어장치(ECU)를 운용하기 위한 ECU 코드 및 데이터를 RSA 함수 및 개인키(Private Key)를 이용하여 암호화한 후, 상기 ECU 코드 및 데이터에 대한 ECU코드 시그니처(Signature) 및 데이터 시그니처(Signature)를 생성하여 상기 ECU 코드에 전자서명 등록하기 위한 시그니처 장치를 포함하며; RSA 함수 및 공개키(Public Key)를 이용하여 상기 ECU 코드 및 데이터를 해독하고, 해독된 각각의 시그니처와 상기 ECU코드 시그니처 및 데이터 시그니처와 비교하여 차량 데이터에 대한 조작 여부를 판단하도록 상기 ECU 코드 내에 시그니처 동작코드를 포함하는 것을 특징으로 한다.
한편, 본 발명의 바람직한 실시 예에 따른 시그니처 장치는, 상기 ECU 코드 및 데이터를 요약(Digest)하기 위한 해쉬함수 모듈(Hash function Module); 암호화를 위해 사용되는 RSA 함수모듈; 및 암호화된 시그니처를 ECU 코드와 데이터에 첨부할 수 있는 서명함수 모듈로 구성되는 것을 특징으로 한다.
또한, 시그니처 동작코드는 서명된 ECU 코드 및 데이터에 대한 해쉬값을 산출하기 위한 해쉬함수 코딩부; 기 설정된 공개키(Public Key)를 토대로 상기 ECU 코드 해쉬값을 해독하여 시그니처를 산출하기 위한 RSA함수 코딩부; 상기 RSA함수 코딩부에 의해 산출된 각 시그니처와 상기 ECU 코드 및 데이터에 서명된 시그니처를 비교하여 동일성 여부를 판단하는 시그니처 검증함수 코딩부; 및 시그니처 검증함수 코딩부의 검증결과에 따라 차량의 비상제어를 수행하는 비상모드 코딩부로 구성되는 것을 특징으로 한다.
한편, 상기 목적을 달성하기 위한 시그니처를 이용한 차량의 이씨유 데이터 조작방지 장치 및 이를 이용한 차량의 비상모드 운영방법은, a) 해쉬함수를 이용하여 ECU 코드 및 데이터를 요약(Digest)하는 단계; b) 공개키 및 RSA함수를 이용하여 해쉬값을 해독하는 단계; c) 해독된 각 시그니처와 상기 ECU코드 시그니처 및 데이터 시그니처를 비교하여 동일성 여부를 판단하는 단계; d) 상기 c) 단계에서 판단한 결과, 상기 ECU코드 시그니처 및 데이터 시그니처가 변형되었을 경우 비상모드 진입 횟수를 증가하는 단계; 및 e) 상기 d) 단계에서 상기 비상모드 진입 횟수가 기준치를 넘을 경우 차량의 비상모드를 실행하고, 상기 비상모드 진입 횟수가 기준치를 초과하지 않을 경우 일반모드를 실행하는 단계로 이루어진 것을 특징으로 한다.
또한, 본 발명의 바람직한 실시 예에 따른 비상모드 운영을 위한 검증은, ECU 동작 사이클에 1회만 실행하는 것을 특징으로 한다.
본 발명에서 제시하는 시그니처를 이용한 차량의 이씨유 데이터 조작방지 장치 및 이를 이용한 차량의 비상모드 운영방법은, 인증된 사용자에게 시그니처(Signature)를 생성할 수 있는 개인키(Private Key)를 제공하고, 공개키(Public Key)에 의해 시그니처의 복호가 가능하도록 함으로써, 불법적인 차량 데이터 조작을 방지할 수 있는 효과가 있다. 또한, 시그니처의 검증과정을 통해 데이터의 조작이 인지될 경우 차량의 시동을 제한함으로써, 차량 운행의 위험성을 사전에 방지할 수 있는 효과를 제공한다.
도 1은 종래 차량 엔진제어장치(ECU)의 프로그램 업데이트를 설명하기 위한 도면이다.
도 2는 본 발명에 따른 ECU 시그니처 장치와 이의 동작 설명을 위한 도면이다.
도 3은 도 2에서 생성된 시그니처의 검증 과정을 설명하기 위한 도면이다.
도 4는 본 발명에 따른 비상 모드 시의 엔진제어 방법을 설명하기 위한 플로우챠트이다.
이하, 본 발명의 바람직한 실시 예를 첨부된 예시도면에 의거 상세히 설명하면 다음과 같다.
먼저, 본 발명에서 적용되는 RSA(Riverst, Shamir, Adleman) 알고리즘은 비대칭 암호방식의 일종으로서, 인증된 사용자에게 개인키(Private Key)를 제공하고 개인키를 이용하여 시그니처(Signature)를 생성토록 한다. 또한 개인키와 비대칭 구조를 갖는 공개키(Public Key)를 이용하여 시그니처를 복호화하도록 함으로써, 차량 엔진제어장치(ECU)의 데이터를 임의로 조작할 수 없도록 한다.
본 발명은 이와 같은 RSA 알고리즘을 차량 엔진제어장치(ECU)에 적용하기 위해, ECU 코드와 데이터에 서명할 수 있는 시그니처 장치가 제공되며, 또한 상기 개인키(Private Key)는 인증된 사용자에게만 제공된다. 따라서, 개인키를 보유한 인증된 사용자만이 시그니처를 생성할 수 있을 뿐만 아니라, 차량 엔진제어장치(ECU)의 데이터 조작 시에는 공개키를 이용하여 데이터의 조작 여부를 판단하는 것이다.
도 2는 본 발명에 따른 시그니처 장치를 도시하고 있다. 도시된 시그니처 장치(230)는 차량의 엔진제어장치(ECU)의 내부 메모리에 기록된 코드 및 데이터에 대한 서명을 포함하여, 서명에 대한 검증을 수행한다. 즉, 차량의 엔진제어장치(ECU)를 운용하기 위한 프로그램이 탑재된 메모리 상으로 ECU 코드가 기록되는데, 이는 제조과정에서 이루어진다. 또한, 암호화되는 시그니처는 메모리의 일부 공간을 할애하여 첨부되도록 하고, 첨부된 시그니처에 대한 검증을 토대로 차량 엔진의 동작 여부를 결정토록 한다.
상기 ECU 코드(210)는 엔진제어를 위한 프로그램 코드로서 시그니처 동작코드(211)와 데이터(213)를 포함하며, 시그니처 동작코드(211)는 본 발명에 따라 생성된 시그니처의 해독에 사용되는 동작 프로그램이고, 상기 데이터(213)는 차량 엔진의 운용을 제어하기 위한 프로그램 데이터이다. 따라서, 상기 시그니처 장치(230)는 데이터(213)에 대한 암호화를 수행한 후, 암호화 결과에 따른 시그니처를 상기 ECU 코드(210)로 첨부하며, 추후 설명될 시그니처 해독 및 검증 시 상기 시그니처 동작코드(211)가 활용된다.
상기 시그니처 장치(230)는 전술된 ECU 코드 및 데이터를 요약(Digest)하기 위한 해쉬함수 모듈(Hash function Module : 231)과, 암호화를 위해 사용되는 RSA 함수모듈(235)과, 암호화된 시그니처를 ECU 코드와 데이터에 첨부할 수 있는 서명함수 모듈(237)로 구성된다.
여기서, 상기 시그니처 장치(230)는 전술된 각각의 모듈이 프로그램화된 별도의 장치로써 제공되어 차량 엔진제어장치(ECU)와 접속 가능하거나, 차량 엔진제어장치(ECU)에 근접하도록 고정 설치될 수 있을 것이다. 이와 더불어, 인증된 사용자에게 별도의 개인키(Private Key:233)가 제공되며, 상기 개인키(233)에 근거하여 시그니처 장치(230)의 암호화 알고리즘이 기동된다. 이와 같은 시그니처 장치(230)는 차량 엔진제어장치(ECU)의 출력포트에 접속되어 ECU 코드와 데이터를 추출하여 암호화하며, 암호화 결과로서 생성된 ECU 코드 시그니처(215) 및 교정 데이터 시그니처(217)는 ECU 코드가 기록된 메모리의 일부 공간을 할애하여 이를 첨부하는 것이다.
즉 도시된 바와 같이, 상기 시그니처 장치(230)의 해쉬 함수모듈(231)은 ECU 코드(210) 및 데이터(213)를 요약(Digest)하여 각각의 해쉬값을 생성한다. 상기 요약(Digest)은 ECU 코드 및 데이터를 각각으로 메시지화하는 것으로, MD2, MD5, SHA-1, RIPEMD128/160, HAS160, SMD, HAVAL 등의 다이제스트 알고리즘이 사용되며, 각 알고리즘에 따라 소정 비트의 해쉬값을 생성하는 것이다.
이와 같이 ECU 코드(210) 및 데이터(213)에 대한 각각의 해쉬값이 생성되면, 상기 RSA 함수모듈(235)과 개인키(233)를 토대로 암호화가 이루어진다. 상기 개인키(233)는 하드웨어 형태를 가지며, 인증된 사용자에게 제공되어 상기 시그니처 장치(230)와 접속된다. 상기 개인키(233)는 계산된 해쉬값을 암호화하는 것으로 시그니처를 생성한다. 그리고, 상기 서명 함수모듈(237)을 이용하여 각각의 시그니처 즉, ECU 코드 시그니처를 포함하여 데이터 교정에 따른 교정데이터 시그니처를 생성하는 것으로, 원문에 전자 서명이 이루어진다.
전자 서명된 각각의 시그니처는 상기 ECU 코드가 기록된 메모리의 특정 위치에 저장되는 것으로, ECU코드 시그니처(215) 및 교정데이터 시그니처(217)로 상정된다. 따라서, 상기 ECU 코드(210)는 시그니처 동작코드 및 교정 데이터와 더불어, ECU코드 시그니처(215) 및 교정데이터 시그니처(217)를 포함하게 된다. 이와 같이 암호화된 ECU 코드 및 데이터는 공개키(Public Key)에 의해 복호되며, 복호를 위해 상기 ECU 코드(210)에는 시그니처 동작코드(211)를 구비한다.
상기 시그니처 동작코드(211)는 도 3에 도시된 바와 같이, 서명된 ECU 코드 및 교정 데이터에 대한 해쉬값을 산출하기 위한 해쉬함수 코딩부(301)와, 기 설정된 공개키(Public Key:303)를 토대로 상기 ECU 코드 해쉬값을 해독하여 시그니처를 산출하기 위한 RSA함수 코딩부(305)와, 상기 RSA함수 코딩부(305)에 의해 산출된 시그니처와 상기 ECU 코드 및 교정 데이터에 서명된 시그니처를 비교하여 동일성 여부를 판단하는 시그니처 검증함수 코딩부(307)와, 상기 시그니처 검증함수 코딩부(307)의 검증결과에 따라 차량의 비상제어를 수행하는 비상모드 코딩부(309)로 구성된다.
전술한 시그니처 동작코드(211)는 상기 ECU 코드(210)에 포함되는 프로그램화된 정보로서, 각각의 코딩부 및 공개키(303) 또한 프로그램화된 정보로 관리된다. 따라서, 상기 ECU 코드 및 교정 데이터의 서명이 이루어진 ECU 코드 시그니처(215) 및 교정 데이터 시그니처(217)는 시그니처 동작코드(211)에 의해 검증된다.
이는 도 3에서 도시한 바와 같이, 상기 해쉬함수 코딩부(301)를 이용하여 ECU 코드(210) 및 교정 데이터를 각각으로 요약(Digest)하여, 각각의 해쉬값을 생성한다. 상기 요약(Digest)은 전술된 바와 같이 ECU 코드 및 교정 데이터를 각각으로 메시지화하는 것으로, MD2, MD5, SHA-1, RIPEMD128/160, HAS160, SMD, HAVAL 등의 다이제스트 알고리즘이 사용되며, 각 알고리즘에 따라 소정 비트의 해쉬값을 계산하는 것이다.
또한, 계산된 해쉬값은 상기 공개키(Public Key:303)와 RSA함수 코딩부(305)를 이용하여 해독함으로써 시그니처를 계산한다. 시그니처 계산이 완료되면, 상기 시그니처 검증함수 코딩부(307)를 이용하여 현재 계산된 시그니처와 전(前) 과정에서 서명된 시그니처 즉, ECU코드 시그니처(215) 및 교정데이터 시그니처(217)를 비교하여 동일성 여부를 판단한다.
여기서, 상기 시그니처 검증함수 코딩부(307)의 검증 결과는 상기 비상모드 코딩부(309)의 기동여부를 결정하는데, 현재 해독된 ECU코드 시그니처와 기 서명된 ECU코드 시그니처(215)와 동일하고, 현재 해독된 교정데이터 시그니처와 기 서명된 교정데이터 시그니처(217)가 동일할 경우, 상기 시그니처 검증함수 코딩부(307)는 시그니처 동작코드(211)를 종료한다. 반면, 시그니처 검증함수 코딩부(307)의 검증결과와 기 서명된 시그니처 간 동일성이 입증되지 않을 경우, 상기 시그니처 검증함수 코딩부(307)는 비상모드 코딩부(309)를 기동하여 차량의 엔진의 기동을 제어한다.
예컨대, 차량의 시동과 관련된 기능을 제외한 기능만을 활성화함으로써, 차량 운행의 안정성을 확보한다. 이는 차량의 출력과 관련된 교정 데이터를 변경한 경우로서, 동력관련 부품에 과부하로 인한 고장을 일으킬 수 있기 때문으로, 운전자의 안전성과 직결되기 때문이다.
한편, 본 발명에서 운용되는 시그니처 검증은 실질적으로 시간이 많이 걸리기 때문에, ECU 동작사이클에 한 번만 수행되도록 함이 바람직할 것이다. 또한, 비상모드는 시그니처 검증결과 시그니처가 잘못되었다고 판단되면 소프트웨어 리셋에 의해 진입할 수 있으며 시스템 초기화 단계에서 결정된다. 비상모드 소프트웨어 리셋을 만들기 전에 비상 모드에 진입한 횟수를 비휘발성 메모리에 저장한 후, 비상 모드의 횟수를 확인하여 일정 기준치를 초과할 경우, 시그니처 검증절차없이 비상모드로 진입토록 한다.
도 4는 본 발명에 따른 비상모드 코딩부(309)의 동작 순서를 나타낸 플로우챠트이다. 도시된 바와 같이, S401 단계에서, 상기 시그니처 검증함수 코딩부(307)는 비상모드에 의한 소프트웨어 리셋인지를 판단한다. 이는 시그니처 검증결과 시그니처가 잘못되었다고 판단되면 소프트웨어에 의해 진입할 수 있도록 하는 것으로, 시스템 초기화 단계에서 결정된다.
이와 같이 소프트웨어 리셋이 아닐 경우에는, S403 단계와 같이 비상모드의 진입 횟수가 기준치를 넘는지를 판단한다. 비상모드의 진입 횟수는 1회로 설정할 수 있으나, 개발과정을 감안할 때, 4회 내지 6회로 제한하는 것이 바람직할 것이다. 상기 비상모드는 차량의 시동과 관련된 기능을 제외한 기능만을 활성화하는 것으로, 데이터의 조작으로 인한 차량 운행을 제한하는 것이다.
한편, S405 단계에서 상기 해쉬함수 코딩부(301)가 ECU코드(210) 및 교정 데이터에 대한 각각의 요약(Digest)를 생성하고, S407 단계로 진입하여 상기 RSA 함수 코딩부(305) 및 공개키(303)에 의해 각 해쉬값을 해독한다.
이후, S409 단계에서 상기 시그니처 검증함수 코딩부(307)는 해독된 ECU코드 시그니처 및 교정데이터 시그니처와, 기 서명된 ECU코드 시그니처(215) 및 교정데이터 시그니처(217)를 비교함으로써 동일성 여부를 판단한다. 만약, 본 과정에서 판단한 결과, 시그니처의 검증을 통과 즉, 현재 해독된 ECU코드 시그니처 및 교정데이터 시그니처와 기 서명된 ECU코드 시그니처(215) 및 교정데이터 시그니처(217)가 동일한 것으로 판단할 경우, 시그니처 동작코드(211)의 실행을 중단하고 일반모드로 진입한다.
반면, 상기 과정에서 판단한 결과, 현재 해독된 ECU코드 시그니처 및 교정데이터 시그니처와 기 서명된 ECU코드 시그니처(215) 및 교정데이터 시그니처(217)가 동일하지 않은 것으로서 검증을 통과하지 못할 경우, S411 단계로 진입하여 상기 시그니처 검증함수 코딩부(307)는 비상모드 진입 횟수를 증가하기 위해 카운터를 수행하고 그 결과를 비휘발성 메모리에 저장한다. 이후, 상기 S401 단계로 피드백하여 상기 과정을 반복하며, S403 단계에서 이미 설명된 바와 같이 비상모드의 진입 횟수가 기준치를 넘을 경우 상기 비상모드 코딩부(309)를 기동한다. 비상모드의 기동은 차량의 엔진을 정지시키는 모드로서 차량 안정성을 확보하고, 운전자의 안전을 유도하게 된다.
210 : ECU 코드 211 : 시그니처 동작코드
213 : 데이터 215 : ECU 코드 시그니처
217 : 교정 데이터 시그니처 230 : 시그니처 장치
231 : 해쉬함수 모듈 233 : 개인키
235 : RSA함수 모듈 237 : 서명함수 모듈
301 : 해쉬함수 코딩부 303 : 공개키
305 : RSA함수 코딩부 307 : 시그니처 검증함수 코딩부
309 : 비상모드 코딩부

Claims (11)

  1. 차량 엔진제어장치(ECU)의 데이터 조작을 방지하기 위한 장치에 있어서,
    상기 차량 엔진제어장치(ECU)를 운용하기 위한 ECU 코드 및 데이터를 RSA 함수 및 개인키(Private Key)를 이용하여 암호화한 후, 상기 ECU 코드 및 데이터에 대한 ECU코드 시그니처(Signature) 및 데이터 시그니처(Signature)를 생성하여 상기 ECU 코드에 전자서명 등록하기 위한 시그니처 장치를 포함하며;
    RSA 함수 및 공개키(Public Key)를 이용하여 상기 ECU 코드 및 데이터를 해독하고, 해독된 각각의 시그니처와 상기 ECU코드 시그니처 및 데이터 시그니처와 비교하여 차량 데이터에 대한 조작 여부를 판단하도록 상기 ECU 코드 내에 시그니처 동작코드를 포함하는 것을 특징으로 하는 시그니처를 이용한 차량의 이씨유 데이터 조작방지 장치.
  2. 제 1 항에 있어서,
    상기 시그니처 장치는, 상기 ECU 코드 및 데이터를 요약(Digest)하기 위한 해쉬함수 모듈(Hash function Module);
    암호화를 위해 사용되는 RSA 함수모듈; 및
    암호화된 시그니처를 ECU 코드와 데이터에 첨부할 수 있는 서명함수 모듈로 구성되는 것을 특징으로 하는 시그니처를 이용한 차량의 이씨유 데이터 조작방지 장치.
  3. 제 2 항에 있어서,
    상기 요약(Digest)은 상기 ECU 코드 및 데이터를 각각으로 메시지화하는 것으로, MD2, MD5, SHA-1, RIPEMD128/160, HAS160, SMD, HAVAL 중 어느 하나의 다이제스트 알고리즘을 사용하는 것을 특징으로 하는 시그니처를 이용한 차량의 이씨유 데이터 조작방지 장치.
  4. 제 1 항에 있어서,
    상기 개인키(Private Key)는 인증된 사용자 또는 관리자에게 제공되며, 하드웨어에 의해 개인키 정보가 제공되는 것을 특징으로 하는 시그니처를 이용한 차량의 이씨유 데이터 조작방지 장치.
  5. 제 1 항에 있어서,
    상기 시그니처 동작코드는 서명된 ECU 코드 및 데이터에 대한 해쉬값을 산출하기 위한 해쉬함수 코딩부;
    기 설정된 공개키(Public Key)를 토대로 상기 해쉬값을 해독하여 시그니처를 산출하기 위한 RSA함수 코딩부; 및
    상기 RSA함수 코딩부에 의해 산출된 각 시그니처와 상기 ECU 코드 및 데이터에 서명된 시그니처를 비교하여 동일성 여부를 판단하는 시그니처 검증함수 코딩부로 이루어진 것을 특징으로 하는 시그니처를 이용한 차량의 이씨유 데이터 조작방지 장치.
  6. 제 5 항에 있어서,
    상기 시그니처 검증함수 코딩부의 검증결과에 따라 차량의 비상제어를 수행하는 비상모드 코딩부를 더 포함하는 것을 특징으로 하는 시그니처를 이용한 차량의 이씨유 데이터 조작방지 장치.
  7. 제 6 항에 있어서,
    상기 비상모드 코딩부는 차량의 시동과 관련된 기능을 제외한 기능만을 활성화하기 위한 알고리즘인 것을 특징으로 하는 시그니처를 이용한 차량의 이씨유 데이터 조작방지 장치.
  8. 제 1 항 내지 제 7 항 중 어느 한 항에 있어서,
    상기 시그니처 장치는 상기 차량 엔진제어장치(ECU)와 접속 가능하도록 구성되거나, 차량 엔진제어장치(ECU)에 근접하도록 고정 설치되는 것을 특징으로 하는 시그니처를 이용한 차량의 이씨유 데이터 조작방지 장치.
  9. 제 1 항에 따른 차량의 이씨유 데이터 조작방지 장치를 이용한 차량의 비상모드 운영 방법에 있어서,
    a) 해쉬함수를 이용하여 ECU 코드 및 데이터를 요약(Digest)하는 단계;
    b) 공개키 및 RSA함수를 이용하여 해쉬값을 해독하는 단계;
    c) 해독된 각 시그니처와 상기 ECU코드 시그니처 및 데이터 시그니처를 비교하여 동일성 여부를 판단하는 단계;
    d) 상기 c) 단계에서 판단한 결과, 상기 ECU코드 시그니처 및 데이터 시그니처가 변형되었을 경우 비상모드 진입 횟수를 증가하는 단계; 및
    e) 상기 d) 단계에서 상기 비상모드 진입 횟수가 기준치를 넘을 경우 차량의 비상모드를 실행하고, 상기 비상모드 진입 횟수가 기준치를 초과하지 않을 경우 일반모드를 실행하는 단계로 이루어진 것을 특징으로 하는 시그니처를 이용한 차량의 이씨유 데이터 조작방지 장치를 이용한 차량의 비상모드 운영방법.
  10. 제 9 항에 있어서,
    상기 비상모드는 차량의 시동과 관련된 기능을 제외한 기능만을 활성화하는 것을 특징으로 하는 시그니처를 이용한 차량의 이씨유 데이터 조작방지 장치를 이용한 차량의 비상모드 운영방법.
  11. 제 9 항 또는 제 10 항에 있어서,
    상기 비상모드 운영을 위한 검증은 ECU 동작 사이클에 1회만 실행하는 것을 특징으로 하는 시그니처를 이용한 차량의 이씨유 데이터 조작방지 장치를 이용한 차량의 비상모드 운영방법.
KR1020130004497A 2013-01-15 2013-01-15 시그니처를 이용한 차량의 이씨유 데이터 조작방지 장치 및 이를 이용한 차량의 비상모드 운영방법 KR102002109B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130004497A KR102002109B1 (ko) 2013-01-15 2013-01-15 시그니처를 이용한 차량의 이씨유 데이터 조작방지 장치 및 이를 이용한 차량의 비상모드 운영방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130004497A KR102002109B1 (ko) 2013-01-15 2013-01-15 시그니처를 이용한 차량의 이씨유 데이터 조작방지 장치 및 이를 이용한 차량의 비상모드 운영방법

Publications (2)

Publication Number Publication Date
KR20140092130A KR20140092130A (ko) 2014-07-23
KR102002109B1 true KR102002109B1 (ko) 2019-07-19

Family

ID=51738970

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130004497A KR102002109B1 (ko) 2013-01-15 2013-01-15 시그니처를 이용한 차량의 이씨유 데이터 조작방지 장치 및 이를 이용한 차량의 비상모드 운영방법

Country Status (1)

Country Link
KR (1) KR102002109B1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105578182B (zh) * 2014-10-15 2019-04-23 联想(北京)有限公司 一种视频编码、解码方法及装置
US11184177B2 (en) * 2018-09-19 2021-11-23 Synaptics Incorporated Method and system for securing in-vehicle ethernet links
KR102336941B1 (ko) * 2020-03-02 2021-12-07 이병대 Ota 환경에서 안전성이 확보된 차량 ecu 업데이트 장치 및 방법
CN112615723B (zh) * 2020-12-17 2021-09-14 武汉大学 一种基于rsa数字签名的源机器码比对方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101233591B1 (ko) 2011-10-31 2013-02-14 주식회사 현대케피코 자동차용 전자제어장치의 튜닝방지 방법 및 장치

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120127057A (ko) * 2011-05-13 2012-11-21 콘티넨탈 오토모티브 시스템 주식회사 전자제어장치의 튜닝 방지 방법 및 장치

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101233591B1 (ko) 2011-10-31 2013-02-14 주식회사 현대케피코 자동차용 전자제어장치의 튜닝방지 방법 및 장치

Also Published As

Publication number Publication date
KR20140092130A (ko) 2014-07-23

Similar Documents

Publication Publication Date Title
US10719606B2 (en) Security processor for an embedded system
JP5519773B2 (ja) ネットワークとの通信のためのデバイスの正当化および/または認証
US8566791B2 (en) Retrofitting authentication onto firmware
US7500098B2 (en) Secure mode controlled memory
US20030196096A1 (en) Microcode patch authentication
US20050091496A1 (en) Method and system for distributed key management in a secure boot environment
CN104734854A (zh) 密钥的安全提供
US20160267273A1 (en) Software update apparatus and computer-readable storage medium storing software update program
US20160028549A1 (en) Information processing system and electronic device
KR102002109B1 (ko) 시그니처를 이용한 차량의 이씨유 데이터 조작방지 장치 및 이를 이용한 차량의 비상모드 운영방법
US8095801B2 (en) Method of protecting microcomputer system against manipulation of data stored in a memory assembly of the microcomputer system
US8429513B2 (en) Loading secure code into a memory
EP2484564A1 (en) Method and apparatus for vehicle security
JP6930884B2 (ja) Bios管理装置、bios管理システム、bios管理方法、及び、bios管理プログラム
US20220209946A1 (en) Key revocation for edge devices
EP2270707B1 (en) Loading secure code into a memory
EP2978158A1 (en) Methods and architecture for encrypting and decrypting data
CN112632562B (zh) 设备启动方法、设备管理方法和嵌入式设备
CN111177709A (zh) 一种终端可信组件的执行方法、装置及计算机设备
KR101954439B1 (ko) 이중보안기능을 가지는 SoC 및 SoC의 이중보안방법
JP2016146618A (ja) 情報処理装置
EP3511858A1 (en) Update of mac security settings in autonomous industrial control devices
KR20180059742A (ko) 이중보안기능을 가지는 SoC 및 SoC의 이중보안방법
KR20060008338A (ko) 프로그래밍 가능한 읽기 전용 메모리의 부트 섹터에소프트웨어를 부팅 업 하는 방법
JP2024528585A (ja) 暗号的に検証された命令に基づくソフトウェアのセキュアな実行

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