KR20170032210A - 차량용 데이터 통신 방법 및 그를 이용하는 차량용 전자 제어 장치 및 시스템 - Google Patents

차량용 데이터 통신 방법 및 그를 이용하는 차량용 전자 제어 장치 및 시스템 Download PDF

Info

Publication number
KR20170032210A
KR20170032210A KR1020160146707A KR20160146707A KR20170032210A KR 20170032210 A KR20170032210 A KR 20170032210A KR 1020160146707 A KR1020160146707 A KR 1020160146707A KR 20160146707 A KR20160146707 A KR 20160146707A KR 20170032210 A KR20170032210 A KR 20170032210A
Authority
KR
South Korea
Prior art keywords
vehicle data
vehicle
control unit
value
counter value
Prior art date
Application number
KR1020160146707A
Other languages
English (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 KR1020160146707A priority Critical patent/KR20170032210A/ko
Publication of KR20170032210A publication Critical patent/KR20170032210A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40104Security; Encryption; Content protection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40215Controller Area Network CAN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40267Bus for use in transportation systems
    • H04L2012/40273Bus for use in transportation systems the transportation system being a vehicle

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Small-Scale Networks (AREA)

Abstract

본 발명은 차량용 데이터 통신 방법 및 그를 이용하는 차량용 전자 제어 장치 및 시스템에 관한 것으로, 그 방법은 차량용 데이터를 수신하는 단계; 메시지 인증값을 수신하는 단계; 수신된 메시지 인증값에 대한 인증을 수행한 후 송신 측 제어부와 공유하는 카운터 값을 이용하여 수신된 차량용 데이터를 복호화하는 단계; 및 복호화가 실패하는 경우 이후 사용될 카운터 값을 지정하여 송신 측 제어부로 전송하는 단계를 포함한다.

Description

차량용 데이터 통신 방법 및 그를 이용하는 차량용 전자 제어 장치 및 시스템{Data commincaiton method for vehicle, Electronic Control Unit and system thereof}
본 발명은 차량 내 전자 제어 장치인 ECU(Electronic Control Unit) 간의 통신 방법에 관한 것이다.
최근의 차량 기술은 차량 본연의 기능 외에도 안전성, 사용자의 편의성, 타 분야의 기기와의 통신을 통한 다양한 서비스의 제공 등에 초점을 맞추어 개발되고 있다.
그에 따라, 차량 내부에 탑재되는 전자 제어 장치인 ECU(Electronic Control Unit)들의 개수가 급격히 증가 되고 있으며, 상기 ECU들 간의 통신은 CAN(Controller Area Networks)을 통해 이루어진다.
최근 차량에서 다양한 서비스를 제공하기 위한 시도가 이뤄짐에 따라, 차량 제어를 위한 데이터는 물론 운전자의 개인정보와 같은 중요한 데이터가 CAN을 통해 송수신 될 수 있다.
또한, 차량 내부에 사용되는 네트워크는 CAN 이외에도 LIN(Local Interconnect Network), FlexRay, MOST(Media Oriented Systems Transport)가 있고, 타 네트워크 간의 통신 프로토콜의 연동을 위해 게이트웨이(gateway)ECU가 사용된다.
이 중에서도 CAN은 그 물리적인 특징 때문에, 외부 전자파나 노이즈에 강한 장점을 갖고 있으며, 이런 특성 때문에 차량 내부 통신 네트워크 중에 가장 큰 비중을 갖고 있다.
그러나, 보안적인 측면에서 CAN은 몇 가지 취약점을 갖고 있으며, 특히 서드파티(Third-Party) 업체에서 OBD-2(On Board Diagnostics)단자를 통해 CAN과 통신하여 차량을 자가 진단하거나 CAN의 데이터를 가공하여 사용자 편의를 제공하는 상품을 제공하고 있어, 해당 서비스 모델에서는 CAN의 특성을 악용한 공격자가 차량을 제어할 수 있는 취약점이 존재할 수 있다.
본 발명은 차량 내 전자 제어 장치인 ECU들 간의 통신에 있어 보안을 강화하는 동시에 통신 효율을 향상시킬 수 있도록 하는 차량용 데이터 통신 방법 및 그를 이용하는 차량용 전자 제어 장치를 제공하는 것을 목적으로 한다.
본 발명의 실시예에 따른 차량용 데이터 통신 방법은 복수의 제어부들이 구비된 차량 내에서 제어부들 간의 차량용 데이터를 송수신하며, 차량용 데이터를 수신하는 단계; 메시지 인증값을 수신하는 단계; 상기 수신된 메시지 인증값에 대한 인증을 수행한 후, 송신 측 제어부와 공유하는 카운터(counter) 값을 이용하여 상기 수신된 차량용 데이터를 복호화하는 단계; 및 상기 복호화가 실패하는 경우, 이후 사용될 카운터 값을 지정하여 상기 송신 측 제어부로 전송하는 단계를 포함한다.
본 발명의 일실시예에 따른 차량용 제어 장치는 상기 차량용 데이터 통신 방법을 수행하며, 상기 차량용 데이터 통신 방법은 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체로 구현될 수 있다.
또한, 본 발명의 일실시예에 따른 차량용 통신 시스템은 복수의 제어부들이 구비된 차량 내에서 제어부들 간의 차량용 데이터를 송수신하며, 카운터 값과 암호화키를 이용하여 차량용 데이터를 암호화하고, 상기 암호화된 차량용 데이터와 인증키를 이용하여 메시지 인증값을 생성하여, 상기 암호화된 차량용 데이터와 상기 생성된 메시지 인증값을 브로드캐스팅하는 제1 제어부; 및 차량용 데이터와 메시지 인증값을 수신하고, 상기 인증키를 이용하여 상기 수신된 메시지 인증값에 대한 인증을 수행한 후 상기 카운터 값과 상기 암호화키를 이용하여 상기 수신된 차량용 데이터를 복호화하며, 상기 복호화가 실패하는 경우 이후 사용될 카운터 값을 지정하여 상기 제1 제어부로 전송하는 제2 제어부를 포함한다.
본 발명의 일실시예에 따르면, CAN(Controller Area Network) 프로토콜 등을 이용하여 차량용 데이터를 차량 내 제어 장치들 간에 송수신함에 있어 해커와 같은 외부로부터의 악의적인 메시지 발송 등으로 인해 차량용 데이터의 복호화가 실패하는 경우, 차량용 데이터의 암호화/복호화를 위해 사용될 카운터 값을 수신 측의 제어 장치가 지정하여 제어 장치들 간 공유할 수 있도록 함으로써, 차량용 데이터 통신에서 발생하는 외부 침입에 효과적으로 대응하여 안정적인 차량 내 통신이 수행되도록 할 수 있다.
도 1은 본 발명의 일실시예에 따른 차량용 데이터 통신 시스템의 간략한 구성을 나타내는 블록도이다.
도 2는 차량 내 제어부들 간의 차량용 데이터를 송수신하기 위한 방법에 대한 일예를 나타내는 타이밍도이다.
도 3은 본 발명의 일실시예에 따른 차량용 데이터 통신 시스템에서 외부 장치로부터 메시지가 수신되는 상황에 대한 일예를 설명하기 위한 도면이다.
도 4는 본 발명의 일실시예에 따른 차량용 데이터 통신 방법을 나타내는 흐름도이다.
도 5는 본 발명에 따른 차량용 데이터 통신 시스템에서 외부 해킹 시도에 대응하는 방법에 대한 일실시예를 설명하기 위한 도면이다.
이하, 첨부한 도면을 참조하여 본 발명의 실시예에 따른 차량용 데이터 통신 방법 및 그를 이용하는 차량용 전자 제어 장치 및 시스템에 대해 상세히 설명하고자 한다.
도 1은 본 발명의 일실시예에 따른 차량용 데이터 통신 시스템의 간략한 구성을 블록도로 도시한 것으로, 도시된 시스템은 차량 내에 구비되는 복수의 제어 장치들(100, 200)을 포함하여 구성될 수 있다.
도 1을 참조하면, 제1 제어 장치(100)는 차량용 데이터를 전송할 수 있으며, 상기 전송되는 차량용 데이터는 보안을 위해 암호화될 수 있다. 또한, 제1 제어 장치(100)는 차량용 데이터와 함께 상기 차량용 데이터를 인증하기 위한 메시지 인증값을 전송할 수 있다.
한편, 제2 제어 장치(200)는 상기 제1 제어 장치(100)로부터 전송되는 차량용 데이터와 메시지 인증값을 수신하며, 상기 수신된 메시지 인증값에 대한 인증을 수행하여 인증에 성공하는 경우 상기 수신된 차량용 데이터를 복호화하여 획득할 수 있다.
상기와 같이 차량 내에 구비되는 복수의 제어 장치들(100, 200)은 전자제어장치인 ECU(Electonic Control Unit)일 수 있으며, 상기 ECU들은 차량의 내부에서 사용되는 포로토콜을 이용하여 상호간 통신을 수행한다.
차량 내 ECU들 간의 통신을 위해 사용되는 프로토콜으로, CAN(Controller Area Network), LIN(Local Interconnect Network), FlexRay, MOST(Media Oriented Systems Transport) 등이 있으며, 본 발명에 있어서 차량용 데이터는 상기한 프로토콜들 중 어느 하나를 이용하여 생성된 메시지를 의미할 수 있다.
상기한 차량 내 통신용 프로토콜들 중 CAN 프로토콜은 한 쌍의 꼬임선으로 구성됨에 따라 물리적인 특징으로 인하여 외부 전자파나 노이즈에 강한 장점을 가지며, 브로드캐스트 통신 방식을 사용하여 차량 환경에 적합한 특징을 갖는다.
다만, CAN 프로토콜을 이용한 통신 방식은 브로드캐스트 통신을 사용하기 때문에, 외부에서 네트워크를 도청하기가 용이하고, 송수신되는 메시지를 인증할 수 있는 체계가 없다.
또한, CAN 프로토콜은 송수신되는 메시지를 암호화하지 않기 때문에, 상기 메시지가 송수신과정에서 위조 또는 변조되는 것을 방지하기 어려우며, 외부 공격자가 도청하여 획득한 메시지를 그대로 ECU로 재전송하는 메시지 재전송 공격 또한 방지하기 어렵다.
본 발명의 일실시예에 따르면, 도 1을 참조하여 설명한 바와 같이, 송신 측 ECU인 제1 제어 장치(100)가 차량용 데이터를 암호화하여 브로드캐스팅하고, 상기 브로드캐스팅되는 차량용 데이터를 인증하기 위한 메시지 인증값을 전송함으로써, CAN 프로토콜을 이용한 통신시 도청, 위조 또는 변조의 위험성을 감소시킬 수 있다.
도 2는 차량 내 제어부들 간의 차량용 데이터를 송수신하기 위한 방법에 대한 일예를 타이밍도로 도시한 것이다.
도 2를 참조하면, 게이트웨이 제어부(210)가 공인된 인증기관으로부터 발급받은 자신의 고유 인증서 및 해당 네트워크에 포함되는 제어부들과 공유하기 위한 대칭키를 저장하고 있으며, 차량 내에 구비되는 제어부들(220, 230)도 게이트웨이 제어부(210)가 저장한 대칭키와 동일한 대칭키를 각각 저장하고 있을 수 있다.
여기서, 상기 게이트웨이 제어부(210)는 차량 내에 구비된 게이트웨이 ECU를 의미하며, 제어부들(220, 230)은 차량 내에 구비된 ECU들을 각각 의미할 수 있다.
또한, 도 2에는 송신 측 제어부(220)와 수신 측 제어부(230)만이 도시되어 있으나, 차량 내에는 도 2에 도시된 제어부들(220, 230) 이외에 더 많은 제어부들이 구비되어 있으며, 게이트웨이 제어부(210) 또는 어느 하나의 제어부로부터 브로드캐스팅되는 메시지는 차량 내에 구비된 모든 제어부들에 의해 수신될 수 있다.
차량 내에 구비되는 제어부들(220, 230)은 차량용 데이터의 암호화 및 복호화에 사용될 카운터 값을 초기화하여 서로 공유하며(S200 단계), 게이트웨이 제어부(210)는 인증키 및 암호화키 생성을 위해 사용될 랜덤값을 생성한다(S201 단계).
그 후, 게이트웨이 제어부(210)는 대칭키를 이용하여 상기 생성된 랜덤값을 암호화하고(S202 단계), 상기 암호화된 랜덤값을 차량 내에 구비된 모든 제어부들(220, 230) 네트워크 내 연결된 모든 제어부들(220, 230)로 전송한다(S203 단계).
대칭키로 암호화된 랜덤값을 수신한 제어부들(220, 230)은 각각 미리 저장하고 있는 대칭키를 이용해 상기 암호화된 랜덤값을 복호화하고(S204 단계), 복호화된 랜덤값을 이용하여 암호화키와 인증키를 생성한다(S205 단계).
그 후, 차량용 데이터를 전송하고자 하는 송신 측 제어부(220)는 다른 제어부들과 공유하고 있는 카운터 값과 상기 S205 단계에서 생성한 암호화키를 이용하여 차량용 데이터를 암호화하고(S206 단계), 상기 S205 단계에서 생성한 인증키를 이용하여 메시지 인증값을 생성한다(S207 단계).
예를 들어, 송신 측 제어부(220)는 상기 S200 단계에서 초기화한 카운터 값을 암호화키로 암호화한 후 전송하고자 하는 차량용 데이터와 배타적 연산(Xor)을 수행하여 암호화 메시지를 얻을 수 있다.
또한, 송신 측 제어부(220)는 인증키를 이용하여 상기 암호화 메시지를 포함하는 128bit 크기의 메시지 인증값을 생성하여, 이중 상위 64bit를 인증값을 전송할 네트워크 패킷에 삽입할 수 있다.
그 후, 송신 측 제어부(220)는 상기와 암호화된 차량용 데이터와 메시지 인증값을 브로드캐스팅하여 수신 측 제어부(230)로 전송한다(S208 단계).
한편, 송신 측 제어부(220)는 상기와 같이 차량용 데이터의 암호화와 메시지 인증값의 생성이 완료되어 전송되면, 자신의 카운터 값을 1 만큼 증가시킬 수 있다.
수신 측 제어부(230)는 상기 송신 측 제어부(220)로부터 전송되는 암호화된 차량용 데이터와 메시지 인증값을 수신하여 먼저 메시지 인증값에 대한 인증을 수행하고(S209 단계), 인증에 성공하는 경우 제어부들(220, 230) 사이에서 공유된 암호화키와 카운터 값을 이용하여 차량용 데이터를 복호화한다(S210 단계).
예를 들어, 수신 측 제어부(230)는 송신 측 제어부(220)로부터 브로드캐스팅되어 수신된 네트워크 패킷 내에서 ID 필드를 확인한 후, 인증키를 사용하여 상기 네트워크 패킷 내 포함된 메시지 인증값을 인증할 수 있다.
상기 메시지 인증값에 대한 인증이 완료되면, 수신 측 제어부(230)는 상기 수신한 네트워크 패킷 내 암호화 메시지를 암호화키와 카운터 값을 이용해 복호화하여 차량용 데이터를 획득할 수 있다.
상기와 같이, 차량용 데이터를 획득한 수신 측 제어부(230)는 자신의 카운터 값을 1 만큼 증가시키며, 그에 따라 송신 측 제어부(220)와 수신 측 제어부(230) 사이의 카운터 값이 일치되어 유지될 수 있다.
도 2를 참조하여 설명한 차량 내 제어부들 간의 차량용 데이터를 송수신하기 위한 방법은 본 발명에 따른 차량용 데이터 통신 방법을 설명하기 위한 일예에 불과하며, 본 발명은 이에 한정되지 아니한다.
예를 들어, 게이트웨이 제어부(210)가 랜덤값과 비밀값을 생성하여 차량 내에 구비된 제어부들(220, 230)로 전송하고, 제어부들(220, 230)은 비밀값을 이용하여 제1 세션키와 제2 세션키를 생성할 수 있다.
한편, 제어부들(220, 230)은 상기 생성한 제1 세션키와 제2 세션키를 이용해 암호문 및 제1 메시지 인증코드(Message Authentication Code)를 생성하여 게이트웨이 제어부(210)로 송신하며, 게이트웨이 제어부(210)는 상기 수신된 암호문과 제1 메시지 인증코드로부터 해당 제어부의 제1 세션키와 제2 세션키 생성을 확인할 수 있다.
그 후, 송신 측 제어부(220)가 암호화된 차량용 데이터와 제2 메시지 인증코드를 생성하고, 전송할 네트워크 패킷 내에 상기 암호화된 차량용 데이터와 제2 메시지인증코드를 포함시켜 수신 측 제어부(230)로 전송할 수 있다.
수신 측 제어부(230)는 상기 수신되는 네트워크 패킷 내에 포함된 제2 메시지 인증코드를 인증한 후, 암호화된 차량용 데이터를 복호화하여 차량용 데이터를 획득할 수 있다.
도 3을 참조하면, 상기한 바와 같은 본 발명의 일실시예에 따른 차량용 데이터 통신 시스템에서 외부 장치로부터 메시지가 수신되는 상황이 발생할 수 있다.
예를 들어, 송신 측 제어부(220)가 암호화된 차량용 데이터를 전송한 후, 메시지 인증값을 전송하기 전, 그 사이에 외부 장치(300)로부터 악성 메시지가 CAN 프로토콜 등에 따른 차량용 데이터의 형태로 전송되어 수신 측 제어부(230)에 수신될 수 있다.
이 경우, 수신 측 제어부(230)가 도 1 내지 도 2를 참조하여 설명한 바와 같은 방법으로 메시지 인증값에 대한 인증 후 그 이전에 수신된 차량용 데이터를 복호화함에 있어, 카운터 값 또는 암호화키가 일치하지 않음에 따라 복호화에 실패할 수 있다.
한편, 수신 측 제어부(230)가 암호화된 차량용 데이터에 대한 복호화에 성공하는 경우 카운터 값을 1 만큼 증가시키지만, 위와 같이 복호화에 실패하는 경우에는 카운터 값을 증가시키지 않으며, 그에 따라 송신 측 제어부(220)가 암호화된 차량용 데이터와 메시지 인증값을 전송한 후 1 만큼 증가시킨 카운터 값과 수신 측 제어부(230)가 가지고 있는 카운터 값이 서로 불일치하게 된다.
상기와 같이 송신 측 제어부(220)와 수신 측 제어부(230) 사이 공유하는 카운터 값이 불일치하게 되면, 이 후 송수신되는 차량용 데이터를 수신 측 제어부(230)가 복호화할 수 없게 된다.
즉, 상기한 바와 같은 카운터 값의 불일치는, 해커(hacker)가 생성한 다수의 CAN 메시지들이 연속적으로 브로드캐스팅되어 암호화된 차량용 데이터와 메시지 인증값 사이에 수신 측 제어부(230)로 수신되는 경우에, 메시지 인증값에 대한 인증 만으로 송신 측 제어부(220)에서 전송한 메시지와 해커의 악의적인 메시지를 구별할 수 없음에 따라 발생할 수 있다.
좀 더 구체적으로, 암호화된 차량용 데이터와 메시지 인증값이 동일한 CAN ID로 전송될 때, 상기 암호화된 차량용 데이터의 전송 시점과 비슷한 시점에 해커 등에 의해 외부 장치(300)로부터 전송되는 침입 메시지가 그와 동일한 CAN ID를 가지는 경우, 수신 측 제어부(230)에서 도 1 내지 도 2를 참조하여 설명한 바와 같은 방법으로 메시지를 인증하여 확인하면 복호화 실패로 인해 침입 메시지와 송신 측 제어부(220)로부터 전송된 메시지가 함께 버려지게 되며, 상기한 바와 같은 카운터 값의 불일치가 발생하게 된다.
또한, 암호화된 차량용 데이터와 메시지 인증값이 다른 CAN ID로 전송될 때에도, 상기 암호화된 차량용 데이터의 전송 시점과 비슷한 시점에 해커 등에 의한 악의적인 암호화된 메시지와 메시지 인증값이 전송되는 경우, 수신 측 제어부(230)에서 모든 암호화된 메시지와 메시지 인증값들을 비교하는 등 추가적인 작업들이 필요하게 된다.
그리고, 송신 측 제어부(220)에서 전송한 메시지를 수신 측 제어부(230)에서 순간적인 하드웨어 문제 등으로 인해 수신하지 못하는 경우에도, 상기한 바와 같은 카운터 값의 불일치가 발생하게 된다.
본 발명의 일실시예에 따르면, CAN(Controller Area Network) 프로토콜 등을 이용하여 차량용 데이터를 차량 내 제어 장치들 간에 송수신함에 있어 해커와 같은 외부로부터의 악의적인 메시지 발송 등으로 인해 차량용 데이터의 복호화가 실패하는 경우, 차량용 데이터의 암호화/복호화를 위해 사용될 카운터 값을 수신 측의 제어 장치가 지정하여 제어 장치들 간 공유할 수 있도록 함으로써, 차량용 데이터 통신에서 발생하는 외부 침입에 효과적으로 대응하여 안정적인 차량 내 통신이 수행되도록 할 수 있다.
도 4는 본 발명의 일실시예에 따른 차량용 데이터 통신 방법을 흐름도로 도시한 것으로, 도시된 통신 방법 중 도 1 내지 도 3을 참조하여 설명한 것과 동일한 것에 대한 설명은 이하 생략하기로 한다.
도 4를 참조하면, 수신 측 제어부(230)는 송신 측 제어부(220)로부터 전송되는 차량용 데이터와 메시지 인증값을 수신한다(S400 단계).
그 후, 수신 측 제어부(230)는 상기 수신된 메시지 인증값에 대한 인증을 수행하여 인증이 성공하는 경우(S410 단계), 송신 측 제어부(220)와 공유하는 카운터(counter) 값을 이용하여 상기 수신된 차량용 데이터를 복호화한다(S420 단계).
상기한 바와 같이, 차량용 데이터는 CAN 프로토콜을 사용하여 브로드캐스팅되는 메시지일 수 있으며, 그를 위해 제어부들(220, 230)은 게이트웨이 제어부(210)로부터 수신된 렌덤값을 이용하여 상기 차량용 데이터를 암호화/복호화하기 위한 암호화키와 메시지 인증값을 인증하기 위한 인증키를 생성할 수 있다.
또한, 상기 차량용 데이터는 제어부들(220, 230) 사이에서 공유되는 카운터 값과 암호화키를 이용해 생성된 암호화 메시지일 수 있으며, 상기 암호화 메시지는 인증키를 이용하여 일정 크기의 메시지 인증값으로 생성될 수 있다.
한편, 상기 S400 단계에서 수신되는 차량용 데이터는 도 3을 참조하여 설명한 바와 같이 해커 등에 의해 악의적으로 침입된 메시지일 수도 있으며, 그러한 경우 상기 수신된 차량용 데이터에 대한 복호화가 실패하여 제어부들(220, 230) 사이에서 카운터 값의 불일치가 발생할 수 있다.
상기 암호화된 차량용 데이터에 대한 복호화가 성공하는 경우(S430 단계), 수신 측 제어부(230)는 차량용 데이터를 획득하고 카운터 값을 1 만큼 증가시킨다(S440 단계).
그와 달리, 상기 암호화된 차량용 데이터에 대한 복호화가 성공하는 경우에는(S430 단계), 수신 측 제어부(230)는 이후 사용될 카운터 값을 지정하여 송신 측 제어부(220)로 전송한다(S450 단계).
이 경우, 송신 측 제어부(220)는 이후 암호화 또는 복호화에 사용할 카운터 값을 상기 S450 단계에서 수신 측 제어부(230)로부터 전송된 카운터 값으로 재설정하여, 카운터 값의 불일치 상황에 안정적으로 대응할 수 있다.
도 5를 참조하면, 송신 측 제어부(220)가 주기적으로 암호화된 차량용 데이터를 CAN 메시지로 브로드캐스팅하는 상황에서, 중간에 외부의 해킹 시도로 인해 악의적인 CAN 메시지가 침입되어 수신 측 제어부(230)로 수신되는 경우, 수신 측 제어부(230)는 이후 복호화에 사용할 카운터 값을 지정하여 AES CTR 모드로 암호화한 후 CAN 메시지로 전송할 수 있다.
상기한 바와 같이 수신 측 제어부(230)가 이후 복호화에 사용할 카운터 값을 AES CTR 모드로 암호화해 전송함으로써, 카운터 값의 외부에 대한 보안성을 유지하면서, 제어부들(220, 230) 사이에서 카운터 값의 불일치가 발생하지 않도록 할 수 있다.
상술한 본 발명에 따른 차량용 데이터 통신 방법은 컴퓨터에서 실행되기 위한 프로그램으로 제작되어 컴퓨터가 읽을 수 있는 기록 매체에 저장될 수 있으며, 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다.
컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 상기 방법을 구현하기 위한 기능적인(function) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형 실시가 가능한 것은 물론이고, 이러한 변형 실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.

Claims (15)

  1. 복수의 제어부들이 구비된 차량 내에서 제어부들 간의 차량용 데이터를 송수신하는 통신 방법에 있어서,
    차량용 데이터를 수신하는 단계;
    메시지 인증값을 수신하는 단계;
    상기 수신된 메시지 인증값에 대한 인증을 수행한 후, 송신 측 제어부와 공유하는 카운터(counter) 값을 이용하여 상기 수신된 차량용 데이터를 복호화하는 단계; 및
    상기 복호화가 실패하는 경우, 이후 사용될 카운터 값을 지정하여 상기 송신 측 제어부로 전송하는 단계를 포함하는 차량용 데이터 통신 방법.
  2. 제1항에 있어서, 상기 차량용 데이터는
    CAN(Controller Area Network) 프로토콜을 사용하여 브로드캐스팅(boradcasting) 되는 메시지인 차량용 데이터 통신 방법.
  3. 제1항에 있어서,
    게이트웨이 제어부로부터 수신된 렌덤값을 이용하여, 차량용 데이터를 암호화/복호화하기 위한 암호화키와 메시지 인증값을 인증하기 위한 인증키를 생성하는 단계를 더 포함하는 차량용 데이터 통신 방법.
  4. 제3항에 있어서, 상기 차량용 데이터는
    상기 암호화키로 암호화된 카운터 값과 배타적 연산(Xor) 수행하여 생성된 것인 차량용 데이터 통신 방법.
  5. 제3항에 있어서, 상기 메시지 인증값은
    상기 인증키를 이용해 일정 크기의 코드로 생성되는 차량용 데이터 통신 방법.
  6. 제1항에 있어서, 상기 차량용 데이터는
    상기 차량 내에 구비된 복수의 제어부들 이외의 외부 장치로부터 브로드캐시팅된 것인 차량용 데이터 통신 방법.
  7. 제6항에 있어서,
    상기 차량용 데이터를 수신하는 단계 이전에,
    상기 송신 측 제어부로부터 브로드캐스팅되는 암호화된 차량용 데이터를 수신하는 단계를 더 포함하는 차량용 데이터 통신 방법.
  8. 제1항에 있어서,
    상기 복호화가 성공하는 경우, 상기 카운터 값을 증가시키는 단계를 더 포함하는 차량용 데이터 통신 방법.
  9. 제1항에 있어서, 상기 전송 단계는
    상기 지정한 카운터 값을 AES CTR 모드를 이용해 암호화하여 브로드캐스팅하는 차량용 데이터 통신 방법.
  10. 제1항 내지 제9항 중 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록 매체.
  11. 제1항 내지 제9항 중 어느 한 항의 방법을 수행하는 차량용 제어 장치.
  12. 복수의 제어부들이 구비된 차량 내에서 제어부들 간의 차량용 데이터를 송수신하기 위한 통신 시스템에 있어서,
    카운터 값과 암호화키를 이용하여 차량용 데이터를 암호화하고, 상기 암호화된 차량용 데이터와 인증키를 이용하여 메시지 인증값을 생성하여, 상기 암호화된 차량용 데이터와 상기 생성된 메시지 인증값을 브로드캐스팅하는 제1 제어부; 및
    차량용 데이터와 메시지 인증값을 수신하고, 상기 인증키를 이용하여 상기 수신된 메시지 인증값에 대한 인증을 수행한 후 상기 카운터 값과 상기 암호화키를 이용하여 상기 수신된 차량용 데이터를 복호화하며, 상기 복호화가 실패하는 경우 이후 사용될 카운터 값을 지정하여 상기 제1 제어부로 전송하는 제2 제어부를 포함하는 차량용 통신 시스템.
  13. 제12항에 있어서,
    상기 제1, 2 제어부들을 포함하는 복수의 제어부들로 렌덤값을 전송하는 게이트웨이 제어부를 더 포함하고,
    상기 복수의 제어부들은 각각 상기 게이트웨이 제어부로부터 수신된 렌덤값을 이용하여 상기 암호화키와 상기 인증키를 생성해 저장하는 차량용 데이터 통신 시스템.
  14. 제12항에 있어서, 상기 제2 제어부는
    상기 제1 제어부로부터 브로드캐스팅되는 상기 암호화된 차량용 데이터와 상기 메시지 인증값 사이에, 상기 복수의 제어부들 이외의 외부 장치로부터 브로드캐시팅되는 차량용 데이터를 수신하는 차량용 데이터 통신 시스템.
  15. 제12항에 있어서, 상기 제2 제어부는
    상기 지정한 카운터 값을 AES CTR 모드를 이용해 암호화하여 브로드캐스팅하는 차량용 데이터 통신 시스템.
KR1020160146707A 2016-11-04 2016-11-04 차량용 데이터 통신 방법 및 그를 이용하는 차량용 전자 제어 장치 및 시스템 KR20170032210A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160146707A KR20170032210A (ko) 2016-11-04 2016-11-04 차량용 데이터 통신 방법 및 그를 이용하는 차량용 전자 제어 장치 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160146707A KR20170032210A (ko) 2016-11-04 2016-11-04 차량용 데이터 통신 방법 및 그를 이용하는 차량용 전자 제어 장치 및 시스템

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020150129824A Division KR101675332B1 (ko) 2015-09-14 2015-09-14 차량용 데이터 통신 방법 및 그를 이용하는 차량용 전자 제어 장치 및 시스템

Publications (1)

Publication Number Publication Date
KR20170032210A true KR20170032210A (ko) 2017-03-22

Family

ID=58497275

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160146707A KR20170032210A (ko) 2016-11-04 2016-11-04 차량용 데이터 통신 방법 및 그를 이용하는 차량용 전자 제어 장치 및 시스템

Country Status (1)

Country Link
KR (1) KR20170032210A (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019054529A1 (ko) * 2017-09-14 2019-03-21 엘지전자 주식회사 통신 방법
KR101974411B1 (ko) * 2018-11-13 2019-05-02 동국대학교 산학협력단 차량 내 보안 통신 지원 장치 및 그 동작 방법
KR102202902B1 (ko) * 2020-09-02 2021-01-15 (주)티에이치엔 차량용 통신 제어 장치의 보안 방법 및 그 장치
CN117155592A (zh) * 2022-05-24 2023-12-01 诺博汽车科技有限公司 数据加密方法、装置、存储介质及电子设备

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019054529A1 (ko) * 2017-09-14 2019-03-21 엘지전자 주식회사 통신 방법
KR101974411B1 (ko) * 2018-11-13 2019-05-02 동국대학교 산학협력단 차량 내 보안 통신 지원 장치 및 그 동작 방법
KR102202902B1 (ko) * 2020-09-02 2021-01-15 (주)티에이치엔 차량용 통신 제어 장치의 보안 방법 및 그 장치
CN117155592A (zh) * 2022-05-24 2023-12-01 诺博汽车科技有限公司 数据加密方法、装置、存储介质及电子设备

Similar Documents

Publication Publication Date Title
KR101675332B1 (ko) 차량용 데이터 통신 방법 및 그를 이용하는 차량용 전자 제어 장치 및 시스템
EP3529965B1 (en) System and method for configuring a wireless device for wireless network access
KR101508497B1 (ko) 차량용 데이터의 인증 및 획득 방법
KR101651648B1 (ko) 차량용 데이터 통신 방법 및 그를 이용하는 차량용 전자 제어 장치 및 시스템
US6249867B1 (en) Method for transferring sensitive information using initially unsecured communication
CN109302412B (zh) 基于CPK的VoIP通信处理方法、终端、服务器及存储介质
CN105828332B (zh) 一种无线局域网认证机制的改进方法
KR101549034B1 (ko) Can에서 데이터의 기밀성과 무결성을 보장하는 방법
CN107105060A (zh) 一种实现电动汽车信息安全的方法
CN110572804A (zh) 蓝牙通信认证请求、接收及通信方法、移动端、设备端
CN103079200A (zh) 一种无线接入的认证方法、系统及无线路由器
KR101481403B1 (ko) 차량용 데이터의 인증 및 획득 방법
CN103166958A (zh) 一种文件的保护方法及系统
CN113225352A (zh) 一种数据传输方法、装置、电子设备及存储介质
CN113221136B (zh) Ais数据传输方法、装置、电子设备和存储介质
KR20170032210A (ko) 차량용 데이터 통신 방법 및 그를 이용하는 차량용 전자 제어 장치 및 시스템
CN113452660A (zh) 网状网络与云端服务器的通信方法、网状网络系统及其节点装置
CN108964886B (zh) 包含加密算法的通信方法、包含解密算法的通信方法及设备
CN114650530A (zh) 鉴权认证方法和相关装置
US20050086481A1 (en) Naming of 802.11 group keys to allow support of multiple broadcast and multicast domains
KR101290177B1 (ko) 스펙트럼 인가 및 관련된 통신 방법들 및 장치들
KR20200099873A (ko) 드론(Unnamed Aerial vehicle)시스템을 위한 HMAC기반의 송신원 인증 및 비밀키 공유 방법 및 시스템
CN116032556B (zh) 小程序应用的密钥协商方法及装置
KR102523416B1 (ko) 이미지에 대한 보안 기능을 제공하는 보안 장치, 이를 포함하는 카메라 장치 및 카메라 장치를 제어하는 시스템 온 칩
CN110572261A (zh) 一种数据加密传输方法

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application