KR102001420B1 - 전자제어유닛, 차량 통신 보안시스템 및 보안방법 - Google Patents

전자제어유닛, 차량 통신 보안시스템 및 보안방법 Download PDF

Info

Publication number
KR102001420B1
KR102001420B1 KR1020170047810A KR20170047810A KR102001420B1 KR 102001420 B1 KR102001420 B1 KR 102001420B1 KR 1020170047810 A KR1020170047810 A KR 1020170047810A KR 20170047810 A KR20170047810 A KR 20170047810A KR 102001420 B1 KR102001420 B1 KR 102001420B1
Authority
KR
South Korea
Prior art keywords
control unit
electronic control
security
data
unit
Prior art date
Application number
KR1020170047810A
Other languages
English (en)
Other versions
KR20180115467A (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 KR1020170047810A priority Critical patent/KR102001420B1/ko
Publication of KR20180115467A publication Critical patent/KR20180115467A/ko
Application granted granted Critical
Publication of KR102001420B1 publication Critical patent/KR102001420B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Lock And Its Accessories (AREA)

Abstract

본 발명은 전자제어유닛, 차량 통신 보안시스템 및 그 보안방법에 관한 것으로서, 미리 설정된 다수의 연산식을 미리 설정된 시간에 따라 순차적으로 연산하여 보안키로 사용되는 연산값을 산출하는 보안연산부; 타 전자제어유닛으로부터 데이터와 보안키가 수신되면, 타 전자제어유닛으로부터 수신된 보안키와, 미리 설정된 시간에 보안연산부에서 산출된 연산값을 비교하여 타 전자제어유닛의 신뢰성을 판단하는 보안처리부;를 포함한다. 이에 의해, 해커의 데이터 조작에 의해 차량이 오작동을 하거나 조작 불가능이 되는 상황을 방지함으로써, 차량의 안전을 도모할 수 있다. 또한, 차량의 개발시 사용되는 테스트 전자제어유닛을 간편하게 연결하여 작동시킬 수 있으므로, 차량의 개발 공정에 편의성을 증진할 수 있다.

Description

전자제어유닛, 차량 통신 보안시스템 및 보안방법{Electronic Control Unit, Communication Security System and Method for Vehicle}
본 실시예들은 전자제어유닛, 차량 통신 보안시스템 및 보안방법에 관한 것으로서, 보다 상세하게는, 차량내 전자제어유닛들 간의 데이터 송수신시 미리 약속된 연산을 수행하고 연산결과와 함께 데이터를 송수신함으로써, 신뢰할 수 없는 외부 데이터에 의해 전자제어유닛의 동작에 오류가 발생하는 것을 방지할 수 있도록 하는 전자제어유닛, 차량 통신 보안시스템 및 보안방법에 관한 것이다.
최근 차량들은 점점 더 전자적인 기능들이 증가하고 있으며, 이에 따라, 차량에는 다양한 전자장치들인 어셈블리들이 설치되어 사용되고 있다.
차량내에 설치되는 어셈블리로는, 엔진제어 어셈블리, 동력전달 어셈블리, 브레이크 어셈블리, 현가 어셈블리, 조향 어셈블리, 계기 어셈블리, 정보통신 제어 어셈블리, 전원/와이어 하니스 어셈블리 등을 들 수 있다.
전자제어유닛(ECU: Electronic Control Unit)은 이러한 차량의 주요 어셈블리를 제어하고 관리하는 기능을 가진 제어장치로서, 차량에는 어셈블리에 따라 다수의 전자제어유닛이 설치되어 각 어셈블리를 제어한다.
이러한 각 전자제어유닛은 차량의 제어를 위해 상호 데이터를 송수신하게 되며, 데이터의 보안을 위해 미리 설정된 보안 및 압축 알고리즘에 따라 데이터를 보안처리 및 압축하여 다른 전자제어유닛과 보안 데이터를 송수신하게 된다. 즉, 데이터를 송신하는 전자제어유닛에서는 데이터를 암호화하고, 데이터를 수신하는 전자제어유닛에서는 암호화된 데이터를 복호화하여 전자제어를 수행하게 되다.
그런데, 전자제어유닛들 간에 송수신되는 데이터를 암호화 및 복호화하게 되면, 암호화와 복호화에 따른 시간이 소요된다는 단점이 있다. 또한, 보안을 위해, 미리 설정된 전자제어유닛들 간에만 암호화 및 복호화가 가능하도록 프로그램화되어 있기 때문에, 개발 단계에 있는 전자제어유닛을 차량에 연결하여 테스트할 경우, 테스트용 전자제어유닛에, 이미 존재하는 전자제어유닛들과 마찬가지로, 암호화와 복호화를 위한 프로그램 등을 설치하고 별도의 칩을 부착하는 등 복잡한 사전 작업을 거쳐야 한다는 단점이 있다.
이에 따라, 전자제어유닛들 간에 송수신되는 데이터의 신뢰성을 신속하고 간단하게 확인할 수 있는 방법을 개발할 필요가 있다.
본 실시예들은 상기와 같은 문제점을 해결하기 위한 것으로, 전자제어유닛들 간의 데이터 송수신시, 데이터의 신뢰성을 신속하고 간단하게 확인할 수 있도록 하는 차량 통신 보안시스템 및 보안방법을 제공하고자 한다.
상기 목적은, 데이터를 처리하고 입출력하는 마이크로 컨트롤 유닛; 미리 설정된 적어도 하나의 연산식을 미리 설정된 시간에 수행하여 산출된 연산값으로 보안키를 생성하고, 상기 보안키와 함께 상기 데이터를 송수신하며, 타 전자제어유닛으로부터 데이터와 보안키의 수신시, 상기 보안키가 미리 설정된 시간에 상기 연산식을 수행하여 산출된 연산값과 매칭되는지 여부를 판단하여 상기 타 전자제어유닛의 신뢰성을 판단하는 차량 통신 보안 시스템;을 포함하는 전자제어유닛에 의해 달성될 수 있다.
상기 목적은, 미리 설정된 다수의 연산식을 미리 설정된 시간에 따라 순차적으로 연산하여 보안키로 사용되는 연산값을 산출하는 보안연산부; 타 전자제어유닛으로부터 데이터와 보안키가 수신되면, 상기 타 전자제어유닛으로부터 수신된 보안키와, 미리 설정된 시간에 상기 보안연산부에서 산출된 연산값을 비교하여 상기 타 전자제어유닛의 신뢰성을 판단하는 보안처리부;를 포함하는 차량 통신 보안시스템에 의해서도 달성될 수 있다.
상기 목적은, 제1전자제어유닛에서 데이터를 생성하는 단계; 상기 제1전자제어유닛에서 미리 설정된 적어도 하나의 연산식을 미리 설정된 시간에 수행하여 산출된 연산값으로 보안키를 생성하는 보안키 생성 단계; 상기 데이터와 함께 상기 보안키를 제2전자제어유닛으로 전송하는 단계; 및 상기 제2전자제어유닛에서 상기 제1전자제어유닛으로부터의 보안키가 상기 제2전자제어유닛에서 산출한 연산값과 매칭되는지 여부를 판단하여 상기 제1전자제어유닛의 신뢰성을 판단하는 보안 판단 단계를 포함하는 차량 통신 보안 방법에 의해서도 달성될 수 있다.
이상에서 설명한 바와 같은 본 실시예들에 의하면, 해커의 데이터 조작에 의해 차량이 오작동을 하거나 조작 불가능이 되는 상황을 방지함으로써, 차량의 안전을 도모할 수 있다. 또한, 차량의 개발시 사용되는 테스트 전자제어유닛을 간편하게 연결하여 작동시킬 수 있으므로, 차량의 개발 공정에 편의성을 증진할 수 있다.
도 1은 본 발명에 따른 차량 통신 보안시스템을 구비한 전자제어유닛의 구성블럭도이다.
도 2는 도 1의 차량내의 전자제어유닛들 간의 통신 중 해커 전자제어유닛이 해킹을 시도한 경우를 보인 모식도이다.
도 3은 본 발명에 따른 차량 통신 보안시스템에서 전자제어유닛들 간에 데이터를 송수신하는 과정을 보인 흐름도이다.
이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성 요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
도 1은 본 발명에 따른 차량 통신 보안시스템을 구비한 전자제어유닛의 구성블럭도이다.
본 발명에 따른 복수의 전자제어유닛(1)은 차량 통신 보안시스템(10)을 구비하며, 차량 통신 보안시스템(10)을 이용하여 미리 약속된 연산을 수행하고 연산결과를 데이터와 함께 송수신함으로써, 해커 전자제어유닛(140)의 해킹을 방지할 수 있다.
이를 위해, 각 전자제어유닛(1)은, 마이크로 컨트롤 유닛(MCU: Micro Control Unit), 차량 통신 보안시스템(10), 통신부(40)를 포함할 수 있으며, 차량 통신 보안 시스템(10)은 제1메모리(15), 보안연산부(20), 제2메모리(25), 보안데이터 생성부(30), 보안처리부(35)를 포함할 수 있다.
마이크로 컨트롤 유닛(5)은, 전자제어유닛(1)으로 들어오는 신호를 해석하고 출력을 만들어내며, 마이크로 컨트롤 유닛(5) 내에는 특수 기능 레지스터 (SFR: Special Function Register)가 마련된다. 마이크로 컨트롤 유닛(5)은 특수 기능 레지스터에 따라 그 기능이 결정되며, 신호를 처리하고 제어신호를 출력하게 된다.
마이크로 컨트롤 유닛(5)에서 생성된 제어신호는 해당 전자제어유닛(1)이 제어하는 어셈블리를 제어하기 위한 신호일 수도 있고, 타 전자제어유닛(1)으로 제공되는 데이터를 포함한 신호일 수도 있다. 타 전자제어유닛(1)으로 제공되는 데이터의 경우, 마이크로 컨트롤 유닛(5)은 타 전자제어유닛(1)에 대한 ID와, 데이터를 통신부(40)로 제공함으로써, 타 전자제어유닛(1)으로 데이터가 전송되도록 제어할 수 있다.
제1메모리(15)는 비휘발성 메모리인 EEPROM (Electrically Erasable Programmable Read-Only Memory)으로 마련될 수 있으며, 각 전자제어유닛(1)에서 신호를 송수신할 때 데이터와 함께 송수신하는 보안키를 생성하기 위한 다수의 연산식들과, 각 연산식들의 연산값인 정답이 저장되어 있다. 여기서, 각 연산식들의 정답이 보안키가 된다.
연산식들은, 미리 설정된 일정 시간동안 수행할 수 있는 연산식들로서, 제1메모리(15)에는 다수의 연산식들이 미리 설정된 순서대로 저장되어 있으며, 각 전자제어유닛(1)에서는 동일한 시간에 동일한 연산식을 연산하게 된다. 다수의 연산식 각각은 연산식을 계산하는데 소요되는 연산 시간이 동일할 수 있으며, 연산식 하나를 계산하는데 소요되는 연산 시간은 각 전자제어유닛(1) 간의 통신 방식에 부합되도록 설정될 수 있다. 예를 들어, CAN 통신을 사용하는 경우, 8바이트를 사용하므로, 256 비트의 연산식을 연산할 수 있다.
보안연산부(20)는, 제1메모리(15)에 저장된 연산식들을 순차적으로 연산하며, 연산결과 생성된 연산값을 제2메모리(25)에 저장하고, 보안데이터 생성부(30)로 전달할 수 있다.
각 전자제어유닛(1)의 보안연산부(20)는 동일한 클럭을 가지고 있으며, 클럭에 동기하여 연산식을 순차적으로 수행함으로써, 각 전자제어유닛(1)은 동일한 시간에 동일한 연산식을 수행하게 된다.
보안연산부(20)에서 산출된 연산값은 보안키로서, 각 전자제어유닛(1)의 신뢰성을 확인하기 위해 사용될 수 있다.
제2메모리(25)에는, 보안연산부(20)에서 제1메모리(15)에 저장된 연산식들을 순차적으로 연산하면, 연산결과로 생성된 연산값들인 보안키가 순차적으로 저장된다. 제2메모리(25)에 저장된 연산값들은 일정 시간 또는 일정 개수만큼 저장된 다음 삭제될 수 있다.
보안데이터 생성부(30)에서는, 보안연산부(20)에서 생성된 보안키와, 마이크로 컨트롤 유닛(5)에서 생성된 데이터를 이용하여 타 전자제어유닛(1)으로 전송될 데이터 패킷을 생성할 수 있다. 데이터 패킷에는 데이터를 송신하는 전자제어유닛(1)의 ID, 데이터를 수신하는 전자제어유닛(1)의 ID, 데이터, 보안키가 포함될 수 있다.
보안처리부(35)는, 타 전자제어유닛(1)으로부터 보안키를 포함하는 데이터 패킷을 제공받으면, 보안키를 이용하여 데이터를 제공한 타 전자제어유닛(1)이 신뢰할 수 있는 전자제어유닛(1)인지 여부를 판단할 수 있다.
보안처리부(35)는 타 전자제어유닛(1)으로부터 제공된 보안키를 본 전자제어유닛(1)의 보안연산부(20)에서 최종으로 연산된 연산식의 정답과 비교한다. 모든 전자제어유닛(1)은 동일한 시간에 동일한 연산식을 계산하게 되므로, 보안연산부(20)에서 최종으로 연산이 완료되어 제2메모리(25)에 저장된 연산식의 정답과, 타 전자제어유닛(1)에서 연산되어 제공된 보안키는 동일하게 된다.
즉, 자신의 전자제어유닛(1)의 보안연산부(20)에서 연산식 13을 연산하는 중인 경우, 제2메모리(25)에는 연산식 12에 대한 정답이 저장되어 있다. 그리고 타 전자제어유닛(1)도 현재 연산식 13을 연산중이기 때문에, 연산식 12를 연산하여 생성한 보안키가 본 전자제어유닛(1)으로 전송된다. 따라서, 본 전자제어유닛(1)의 제2메모리(25)에 최종으로 저장된 정답과, 타 전자제어유닛(1)으로부터 제공된 보안키는 동일하게 된다.
보안처리부(35)는 보안키의 비교결과, 신뢰할 수 있는 전자제어유닛(1)으로부터 데이터가 제공된 것으로 판단되면, 해당 데이터를 마이크로 컨트롤 유닛(5)으로 전달하여 해당 데이터에 대응되는 제어가 이루어질 수 있도록 한다.
만약, 타 전자제어유닛(1)으로부터 제공된 보안키가 본 전자제어유닛(1)의 제2메모리(25)에 최종으로 저장된 연산식의 정답과 상이한 경우, 보안처리부(35)는 타 전자제어유닛(1)을 신뢰할 수 없는 전자제어유닛(1)으로 판단하고, 제공받은 데이터를 폐기한다.
보안처리부(35)는, 해당 전자제어유닛(1)에 대한 정보를 별도로 신뢰할 수 없는 전자제어유닛(1)으로 저장하여 다음에 동일한 전자제어유닛(1)으로부터 데이터가 전달되면, 해당 데이터를 폐기할 수 있다.
통신부(40)는, 차량용 통신 프로토콜인 CAN (Controller Area Network), LIN (Local Interconnect Network), Flexray 중 하나를 사용하거나, 부품 소자간 통신을 위한 직렬 주변기기 인터페이스 버스 (SPI: Serial Peripheral Interface Bus)를 이용하여 타 전자제어유닛(1)과 데이터 패킷을 송수신할 수 있다. 통신부(40)는 타 전자제어유닛(1)으로부터의 데이터 패킷을 수신하고, 본 전자제어유닛(1)으로부터의 데이터 패킷을 타 전자제어유닛(1)으로 송신할 수 있다.
도 2는 도 1의 차량내의 전자제어유닛들 간의 통신 중 해커 전자제어유닛(140)이 해킹을 시도한 경우를 보인 모식도이다.
도 2는 차량내의 스티어링 전자제어유닛(110), 브레이크 전자제어유닛(120), 서스펜션 전자제어유닛(130) 간에 데이터 패킷을 송수신하는 중, 해커 전자제어유닛(140)이 차량을 해킹하려고 브레이크 전자제어유닛(120)과 서스펜션 전자제어유닛(130) 사이에서 데이터 패킷을 가로채는 상태를 도시하고 있다.
여기서, 해커 전자제어유닛(140)을 제외한 스티어링 전자제어유닛(110), 브레이크 전자제어유닛(120), 서스펜션 전자제어유닛(130)은 본 발명에 따른 차량 통신 보안시스템(10)이 적용되어 있다.
이러한 복수의 전자제어유닛 간에 데이터 패킷을 송수신하는 과정과, 데이터 패킷이 송수신되는 실시예를 살펴보면 다음과 같다.
운전자가 차량이 우회전하면서 브레이크를 잡는 경우, 브레이크 전자제어유닛(120)은 차량의 자세에 대한 정보가 필요하며, 이를 위해, 브레이크 전자제어유닛(120)은 스티어링 전자제어유닛(110)으로부터 데이터를 수신하여 차량이 우회전을 하고 있다는 것을 판단할 수 있다. 이렇게 우회전하면서 브레이크를 잡는 경우, 우측 타이어에 비해 좌측 타이어의 주행거리가 길어지므로, 브레이크 전자제어유닛(120)은 우측 타이어의 브레이크가 좌측 타이어의 브레이크보다 약하게 작동하여야 한다고 판단하고 각 브레이크를 제어할 수 있다.
또한, SUV와 같이 높이가 높은 차량의 경우에는 고속으로 회전할 경우, 차량이 뒤집어질 수 있으므로, 우회전하는 경우에는 좌측 서스펜션을 작동시켜 좌측 차체를 들어올려야 하고, 좌회전하는 경우에는 우측 서스펜션을 작동시켜 우측 차체를 들어올려야 한다. 특히, 우회전하면서 브레이크를 잡는 경우에는 서스펜션 전자제어유닛(130)에서는 브레이크를 잡는 상태까지 고려해야 한다.
이에 따라, SUV 차량을 우회전하다가 브레이크를 잡는 경우, 브레이크 전자제어유닛(120)은 스티어링 전자제어유닛(110)으로부터 데이터를 제공받아야 하고, 서스펜션 전자제어유닛(130)은 스티어링 전자제어유닛(110)과 브레이크 전자제어유닛(120)으로부터 데이터를 제공받아야 한다.
차량이 운행을 시작하면, 각 전자제어유닛의 보안연산부(20)에서는 동일한 시간에 동일한 연산식을 연산하게 된다. 스티어링 전자제어유닛(110)에서는 스티어링 상태에 관한 데이터를 생성하고, 연산식을 연산하여 보안키를 생성하다. 그런 다음, 스티어링 전자제어유닛(110)에서는 데이터와 보안키를 포함하는 데이터 패킷을 생성하여 브레이크 전자제어유닛(120)으로 전달한다.
예를 들어 데이터가 'STEER0011'이고 보안키가 '1111 0101'이라고 하면, 브레이크 전자제어유닛(120)에는 보안키와 동일한 연산 결과가 제2메모리(25)에 저장되어 있다. 브레이크 전자제어유닛(120)의 보안처리부(35)에서는 스티어링 전자제어유닛(110)으로부터 제공된 보안키와 제2메모리(25)에 최종 저장된 연산식의 정답을 비교하여 스티어링 전자제어유닛(110)이 신뢰할 만한 전자제어유닛이라고 판단한다.
브레이크 전자제어유닛(120)의 마이크로 컨트롤 유닛(5)에서 데이터를 이용하여 브레이크를 제어하고, 브레이크의 동작에 대한 정보에 대한 데이터를 생성할 수 있다. 생성된 데이터는 브레이크 전자제어유닛(120)의 보안연산부(20)에서 연산된 보안키와 함께 서스펜션 전자제어유닛(130)으로 전달될 수 있다.
서스펜션 전자제어유닛(130)에서도 브레이크 전자제어유닛(120)과 동시에 또는 시간차를 두고 스티어링 전자제어유닛(110)으로부터 데이터와 보안키를 수신하며, 서스펜션 전자제어유닛(130)도 보안연산부(20)에서 연산되어 제2메모리(25)에 저장된 최종 연산식의 정답과, 스티어링 전자제어유닛(110)으로부터 제공된 보안키를 비교하여 스티어링 전자제어유닛(110)의 신뢰성을 판단하게 된다.
한편, 서스펜션 전자제어유닛(130)은 브레이크 전자제어유닛(120)으로부터 생성된 데이터와 보안키를 제공받아야 하는데, 도시된 바와 같이, 브레이크 전자제어유닛(120)과 서스펜션 전자제어유닛(130) 사이에 해커 전자제어유닛(140)이 데이터 패킷을 가로챌 수 있다.
예를 들어, 브레이크 전자제어유닛(120)에서 생성된 데이터가 'BRAKE0011'이고 보안키가 '1010 1100'인데, 해커 전자제어유닛(140)에서 'BRAKE0011'을 'BRAKE1133'으로 수정하여 동일한 보안키와 함께 서스펜션 전자제어유닛(130)으로 전달할 수 있다. 그러면, 서스펜션 전자제어유닛(130)에서는 제2메모리(25)에 저장된 최종 연산식의 정답과 해커 전자제어유닛(140)으로부터 제공된 보안키를 비교한다.
이 경우, 해커 전자제어유닛(140)에서 'BRAKE0011'을 'BRAKE1133'으로 수정하는 동안, 서스펜션 전자제어유닛(130)을 비롯한 정상적인 전자제어유닛에서는 최소한 한번 더 연산을 수행하게 된다. 이에 따라, 서스펜션 전자제어유닛(130)의 제2메모리(25)에는 해커 전자제어유닛(140)으로부터 제공된 '1010 1100'와 다른 정답이 저장되어 있게 된다. 따라서, 서스펜션 전자제어유닛(130)에서는 해커 전자제어유닛(140)을 신뢰할 수 없다고 판단하고, 해커 전자제어유닛(140)으로부터 제공된 'BRAKE1133' 데이터를 폐기하게 된다.
한편, 해커 전자제어유닛(140)이 보안키를 수정하거나, 연산식의 구조를 알고 있는 경우에도 연산식의 파라미터를 알 수 없기 때문에, 수정된 보안키가 서스펜션 전자제어유닛(130)의 제2메모리(25)에 저장된 정답과 맞기는 거의 불가능하다.
상술한 실시예에서는 보안키를 하나씩만 송수신하는 경우에 대해 설명하였으나, 복수의 연산식에 대한 정답을 보안키로 송수신할 수도 있다. 즉, 복수의 보안키를 하나의 데이터 패킷에 포함시켜 송수신할 수도 있음은 물론이다.
이러한 구성에 의한 차량 통신 보안시스템(10)에서 데이터 패킷을 송수신하는 과정을 도 3을 참조하여 설명하면 다음과 같다.
차량이 운행을 시작하면, 차량내의 모든 전자제어유닛의 보안연산부(20)에서는 제1메모리(15)에 저장된 연산식들을 순차적으로 인출하여 연산을 수행하며, 연산결과인 보안키를 제2메모리(25)에 저장하고 보안데이터 생성부(30)로 제공한다(S300).
제1전자제어유닛의 마이크로 컨트롤 유닛(5)에서 데이터를 생성하여 제2전자제어유닛으로 데이터를 송신해야 하는 경우, 마이크로 컨트롤 유닛(5)에서는 데이터를 보안데이터 생성부(30)로 전달한다.
제1전자제어유닛의 보안데이터 생성부(30)에서는 마이크로 컨트롤 유닛(5)으로부터의 데이터와 보안연산부(20)로부터의 보안키를 이용하여 데이터 패킷을 생성하고(S310), 통신부(40)에서는 데이터 패킷을 제2전자제어유닛으로 전송한다(S320).
제2전자제어유닛에서 제1전자제어유닛으로 데이터 패킷을 수신하면, 제2전자제어유닛의 보안처리부(35)에서는 데이터 패킷에 포함된 보안키와, 제2메모리(25)에 최종 저장된 연산식의 답을 비교한다(S330). 비교결과 보안키와 답이 동일한 경우(S340-Y), 보안처리부(35)는 제1전자제어유닛을 신뢰할 수 있다고 판단하고, 데이터를 마이크로 컨트롤 유닛(5)으로 전달한다(S350).
반면, 보안키와 정답이 상이한 경우, 보안처리부(35)는 제1전자제어유닛을 신뢰할 수 없다고 판단하고, 데이터를 폐기한다.
이와 같이, 본 발명에서는 차량 내 모든 전자제어유닛(1)들이 동일한 시간에 동일한 연산을 수행하도록 하고, 수행된 연산의 정답을 보안키로 생성한 다음, 전자제어유닛(1)들 간의 데이터 송수신시 보안키를 함께 송수신한다. 따라서, 모든 전자제어유닛(1)들이 동일한 보안키에 대한 정보를 가지고 있으며, 보안키가 데이터가 송수신되는 시간에 따라서 변동된다.
이러한 구성에 의해, 해커 전자제어유닛(140)이 중간에 데이터를 가로채어 변경하면, 해커 전자제어유닛(140)이 데이터를 변경하는 동안, 모든 전자제어유닛(1)이 보유하고 있는 보안키가 변경되기 때문에 해커 전자제어유닛(140)으로부터 변경된 데이터는 신뢰를 받지 못하게 된다.
이와 같이, 본 발명에 따르면, 전자제어유닛(1)들 간의 신뢰성 검사를 간편하게 수행할 수 있으므로, 해커에 의한 데이터의 조작을 방지할 수 있다. 즉, 해커에 의해 차량이 오작동을 하거나 조작 불가능이 되는 상황을 방지함으로써, 차량의 안전을 도모할 수 있다. 또한, 차량의 개발시 사용되는 테스트 전자제어유닛의 경우, 연산식을 수행하는 간단한 프로그램을 탑재하면, 신뢰할 수 있는 전자제어유닛(1)이 된다. 따라서, 간편하게 테스트 전자제어유닛을 연결하여 작동시킬 수 있으므로, 차량의 개발 공정에 편의성을 증진할 수 있다.
상술한 실시예에 설명된 특징, 구조, 효과 등은 본 발명의 적어도 하나의 실시예에 포함되며, 반드시 하나의 실시예에만 한정되는 것은 아니다. 나아가, 각 실시예에서 예시된 특징, 구조, 효과 등은 실시예들이 속하는 분야의 통상의 지식을 가지는 자에 의하여 다른 실시예들에 대해서도 조합 또는 변형되어 실시 가능하다. 따라서 이러한 조합과 변형에 관계된 내용들은 본 발명의 범위에 포함되는 것으로 해석되어야 할 것이다.
또한, 이상에서 실시예들을 중심으로 설명하였으나 이는 단지 예시일 뿐 본 발명을 한정하는 것이 아니며, 본 발명이 속하는 분야의 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성을 벗어나지 않는 범위에서 이상에 예시되지 않은 여러 가지의 변형과 응용이 가능함을 알 수 있을 것이다. 예를 들어, 실시예들에 구체적으로 나타난 각 구성 요소는 변형하여 실시할 수 있는 것이다. 그리고 이러한 변형과 응용에 관계된 차이점들은 첨부한 청구 범위에서 규정하는 본 발명의 범위에 포함되는 것으로 해석되어야 할 것이다.
1 : 전자제어유닛 5 : 마이크로 컨트롤 유닛
10 : 차량 통신 보안시스템 15 : 제1메모리
20 : 보안연산부 25 : 제2메모리
30 : 보안데이터 생성부 35 : 보안처리부
40 : 통신부

Claims (10)

  1. 데이터를 처리하고 입출력하는 마이크로 컨트롤 유닛; 및
    미리 설정된 적어도 하나의 연산식을 미리 설정된 시간에 수행하여 산출된 연산값으로 보안키를 생성하고, 상기 보안키와 함께 상기 데이터를 송수신하며, 타 전자제어유닛으로부터 데이터와 보안키의 수신시, 상기 보안키가 미리 설정된 시간에 상기 연산식을 수행하여 산출된 연산값과 매칭되는지 여부를 판단하여 상기 타 전자제어유닛의 신뢰성을 판단하는 차량 통신 보안 시스템;을 포함하고,
    상기 차량 통신 보안 시스템은 상기 타 전자제어유닛과 동일한 시간에 동일한 연산식을 연산하여 연산값을 산출하도록 설정되는 전자제어유닛.
  2. 제1항에 있어서,
    상기 차량 통신 보안 시스템은,
    상기 미리 설정된 적어도 하나의 연산식을 미리 설정된 시간에 따라 순차적으로 연산하여 상기 보안키로 사용되는 연산값을 산출하는 보안연산부;
    상기 타 전자제어유닛으로부터 수신된 상기 보안키와, 미리 설정된 시간에 상기 보안연산부에서 산출된 연산값을 비교하여 상기 타 전자제어유닛에서 제공된 데이터의 사용 여부를 결정하는 보안처리부;를 포함하는 전자제어유닛.
  3. 제2항에 있어서,
    상기 미리 설정된 적어도 하나의 연산식을 저장하는 제1메모리와, 상기 보안연산부에서 산출된 연산값을 저장하는 제2메모리를 더 포함하며;
    상기 보안처리부는, 상기 타 전자제어유닛으로부터 수신된 상기 보안키와, 상기 제2메모리에 최종으로 저장된 연산값을 비교하여 상기 보안키와 상기 연산값이 일치하면, 상기 타 전자제어유닛에서 제공된 데이터의 사용을 결정하는 전자제어유닛.
  4. 제2항에 있어서,
    상기 데이터와, 상기 보안연산부로부터 생성된 보안키를 포함하는 데이터 패킷을 생성하는 보안데이터 생성부를 더 포함하는 전자제어유닛.
  5. 미리 설정된 적어도 하나의 연산식을 저장하는 제1 메모리;
    상기 미리 설정된 적어도 하나의 연산식을 미리 설정된 시간에 따라 순차적으로 연산하여 보안키로 사용되는 연산값을 산출하는 보안연산부; 및
    타 전자제어유닛으로부터 데이터와 보안키가 수신되면, 상기 타 전자제어유닛으로부터 수신된 보안키와, 미리 설정된 시간에 상기 보안연산부에서 산출된 연산값을 비교하여 상기 타 전자제어유닛의 신뢰성을 판단하는 보안처리부;를 포함하고,
    상기 보안연산부는 상기 타 전자제어유닛과 동일한 시간에 동일한 연산식을 연산하여 연산값을 산출하도록 설정되는 차량 통신 보안시스템.
  6. 제5항에 있어서,
    상기 보안연산부에서 산출된 연산식의 연산값을 저장하는 제2메모리를 더 포함하며;
    상기 보안처리부는, 상기 타 전자제어유닛으로부터 수신된 상기 보안키와, 상기 제2메모리에 최종으로 저장된 연산값을 비교하여 상기 데이터의 사용 여부를 결정하는 차량 통신 보안시스템.
  7. 제5항에 있어서,
    상기 데이터와, 상기 보안연산부로부터의 보안키를 포함하는 데이터 패킷을 생성하는 보안데이터 생성부를 더 포함하는 차량 통신 보안시스템.
  8. 제1전자제어유닛에서 데이터를 생성하는 단계;
    상기 제1전자제어유닛에서 미리 설정된 적어도 하나의 연산식을 미리 설정된 시간에 수행하여 산출된 연산값으로 보안키를 생성하는 보안키 생성 단계;
    상기 데이터와 함께 상기 보안키를 제2전자제어유닛으로 전송하는 단계; 및
    상기 제2전자제어유닛에서 상기 제1전자제어유닛으로부터의 보안키가 상기 제2전자제어유닛에서 산출한 연산값과 매칭되는지 여부를 판단하여 상기 제1전자제어유닛의 신뢰성을 판단하는 보안 판단 단계를 포함하고,
    상기 보안키 생성 단계는 상기 제2전자제어유닛과 동일한 시간에 동일한 연산식을 연산하여 연산값을 산출하도록 설정되는 차량 통신 보안 방법.
  9. 제8항에 있어서,
    상기 제1전자제어유닛과 상기 제2전자제어유닛은 동일한 시간에 동일한 연산식을 연산하여 산출한 연산값을 각각의 메모리에 저장하는 단계를 더 포함하는 차량 통신 보안 방법.
  10. 제8항에 있어서,
    상기 보안 판단 단계는, 상기 제1전자제어유닛으로부터 수신된 상기 보안키와, 상기 제2전자제어유닛의 메모리에 최종으로 저장된 연산값이 동일하면, 상기 제1전자제어유닛으로부터 수신된 데이터를 사용하는 것으로 결정하는 단계인 차량 통신 보안 방법.
KR1020170047810A 2017-04-13 2017-04-13 전자제어유닛, 차량 통신 보안시스템 및 보안방법 KR102001420B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170047810A KR102001420B1 (ko) 2017-04-13 2017-04-13 전자제어유닛, 차량 통신 보안시스템 및 보안방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170047810A KR102001420B1 (ko) 2017-04-13 2017-04-13 전자제어유닛, 차량 통신 보안시스템 및 보안방법

Publications (2)

Publication Number Publication Date
KR20180115467A KR20180115467A (ko) 2018-10-23
KR102001420B1 true KR102001420B1 (ko) 2019-07-19

Family

ID=64101850

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170047810A KR102001420B1 (ko) 2017-04-13 2017-04-13 전자제어유닛, 차량 통신 보안시스템 및 보안방법

Country Status (1)

Country Link
KR (1) KR102001420B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114282232A (zh) * 2021-11-22 2022-04-05 岚图汽车科技有限公司 车辆通信密钥的管理方法、装置、存储介质及设备

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070014159A (ko) * 2006-10-26 2007-01-31 바이에리셰 모토렌 베르케 악티엔게젤샤프트 차량의 제어 유닛의 인증
KR101040194B1 (ko) * 2008-12-03 2011-06-09 한국전자통신연구원 차량용 ecu 시스템에서 검증 중심의 프로세스 기법을 적용한 하드웨어 토플리지 개발 장치 및 방법
US11042816B2 (en) * 2009-10-30 2021-06-22 Getaround, Inc. Vehicle access control services and platform

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
강정하, "차량 통신을 위한 WAVE 보안 시스템에 관한 연구", 한밭대학교대학원 박사학위 논문, 2014.

Also Published As

Publication number Publication date
KR20180115467A (ko) 2018-10-23

Similar Documents

Publication Publication Date Title
CN107251491B (zh) 评价装置、评价***以及评价方法
US9866570B2 (en) On-vehicle communication system
US9577997B2 (en) Authentication system and authentication method
Van den Herrewegen et al. Beneath the bonnet: A breakdown of diagnostic security
US9602487B2 (en) Method for the protected transmission of data
JP6267596B2 (ja) 通信システム、通信制御装置及び不正情報送信防止方法
WO2016204081A1 (ja) 車載中継装置、車載通信システム及び中継プログラム
CN109714072B (zh) 电子控制装置、通信管理方法和非暂态存储介质
CN108200044A (zh) 车载程序文件加密方法和***
US11228602B2 (en) In-vehicle network system
KR102001420B1 (ko) 전자제어유닛, 차량 통신 보안시스템 및 보안방법
US11902300B2 (en) Method for monitoring a data transmission system, data transmission system and motor vehicle
JP6348150B2 (ja) 通信システム、通信制御装置及び不正情報送信防止方法
JP6620696B2 (ja) 電子制御装置
CN111480137B (zh) 总装置的触敏的面式输入设备的运行方法以及该总装置
CN107444300B (zh) 用于运行用于车辆的数据处理装置的方法
JP2021076949A (ja) 車両用制御装置
US20230306101A1 (en) System, vehicle, and method
JP2024041392A (ja) 電子制御装置
JP6410232B2 (ja) 通信システム
US20240007450A1 (en) Apparatus, Method, and Computer Program for the Secure, High-Availability Transmission of Messages, and a Vehicle Comprising the Apparatus
CN117240459A (zh) 密码运算方法、密码运算模块、芯片及电子设备
JP2015207937A (ja) 通信装置
Lakshmi et al. Secure Communication between Arduinos using Controller Area Network (CAN) Bus
Galletti CANguru: a reliable intrusion detection system for CAN and CAN FD networks

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right