KR20220068323A - 차량용 can 통신 보안 장치 및 방법 - Google Patents

차량용 can 통신 보안 장치 및 방법 Download PDF

Info

Publication number
KR20220068323A
KR20220068323A KR1020200154744A KR20200154744A KR20220068323A KR 20220068323 A KR20220068323 A KR 20220068323A KR 1020200154744 A KR1020200154744 A KR 1020200154744A KR 20200154744 A KR20200154744 A KR 20200154744A KR 20220068323 A KR20220068323 A KR 20220068323A
Authority
KR
South Korea
Prior art keywords
message
security module
module unit
communication
received
Prior art date
Application number
KR1020200154744A
Other languages
English (en)
Other versions
KR102471960B1 (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 KR1020200154744A priority Critical patent/KR102471960B1/ko
Priority to PCT/KR2021/013052 priority patent/WO2022108087A1/ko
Priority to US17/486,284 priority patent/US20220159018A1/en
Publication of KR20220068323A publication Critical patent/KR20220068323A/ko
Application granted granted Critical
Publication of KR102471960B1 publication Critical patent/KR102471960B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/40Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
    • H04W4/48Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P] for in-vehicle communication
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/12Network monitoring probes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0236Filtering by address, protocol, port number or service, e.g. IP-address or URL
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • 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/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • 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

본 발명은 차량용 CAN 통신 보안 장치에 관한 것으로, 차량용 CAN(Controller Area Network) 통신 네트워크의 노드들에 각기 포함되어 CAN 트랜시버를 통해 각기 수신되는 CAN 메시지의 아이디 모니터링을 통해 악성 CAN 메시지인지 여부를 판단하여 오류 처리를 수행하는 보안 모듈부; 및 상기 보안 모듈부에서 모니터링 할 아이디를 설정하고, 상기 노드에서 CAN 메시지를 송신할 경우에는 상기 보안 모듈부가 아이디 모니터링을 수행하지 않도록 제어하는 제어부;를 포함한다.

Description

차량용 CAN 통신 보안 장치 및 방법{APPARATUS FOR SECURITY OF VEHICLE CAN COMMUNICATION AND METHOD THEREOF}
본 발명은 차량용 CAN 통신 보안 장치 및 방법에 관한 것으로, 보다 상세하게는 차량의 CAN 네트워크의 노드에서 수신되는 CAN(Controller Area Network) 메시지에 노드 자신의 아이디(ID)가 포함되어 있는 경우, 악성 CAN 메시지가 수신되고 있는 것으로 판단하여 실시간으로 CAN 메시지의 오류 처리를 수행할 수 있도록 하는, 차량용 CAN 통신 보안 장치 및 방법에 관한 것이다.
일반적으로 차량의 시스템이 자동화됨에 따라, 차량 내부 제어기들 간의 통신 또한 빈번하게 이뤄지고 있으며, 차량 내부 통신을 위해서 CAN(Controller Area Network) 통신이 일반적으로 이용된다.
즉, 자동차 내부의 전자제어시스템은 엔진제어기, 변속기제어기, 브레이크제어기, 및 에어백제어기 등 수 십여 개의 전자제어장치(ECU : Electronic Control Unit)들로 구성되어 있다. 이러한 복수의 전자제어장치(예 : ECU1 ~ ECU5)들 간의 통신은 CAN 통신을 사용한다.
일반적으로 CAN 통신은 중재 기능이 존재하기 때문에 CAN 통신은 2가닥의 꼬임선을 이용하여 복수의 전자제어장치(ECU)가 병렬로 연결되어 통신이 가능하도록 한다. 기본적으로, CAN(Controller Area Network) 프로토콜 방식의 메시지 통신에 따르면, 네트워크는 복수의 노드(예 : 복수의 ECU에 각기 포함된 CAN 컨트롤러)와 공통의 CAN 버스로 구성되고, 각 노드는 브로드캐스팅 방식으로 메시지를 전송하고, 각 노드가 필요한 메시지를 선택하여 수신한다. 즉, 모든 CAN 컨트롤러(또는 노드)는 CAN 버스(BUS)를 공통으로 사용하여 메시지를 송수신한다.
또한, 각 CAN 컨트롤러(또는 노드)는 전송할 메시지들을 네트워크 상 모든 노드(예 : 복수의 ECU에 각기 포함된 CAN 컨트롤러)들에게 브로드캐스트 방식으로 전송한다.
그리고 메시지 식별자에 의한 자체적인 중재 기능을 제공한다.
구체적으로, 각 CAN 컨트롤러(또는 노드)는 메시지의 아이디(ID, 식별자)를 인식하여, 브로트캐스팅 된 메시지들 중에서 필요한 메시지만 걸러서 수신한다.
참고로 상기 CAN 통신 방식은 복수의 에러 검출 방법(예 : Bit Error, Stuff Error, CRC Error, Form Error, Acknowledgement Error)이 적용됨으로써 보안성이 높은 장점이 있다.
본 발명의 배경기술은 대한민국 공개특허 10-2017-0030514호(2019.03.22. 공개, 차량 네트워크 공격 신호 차단 장치 및 방법)에 개시되어 있다.
상기 배경기술은 외부 기기로부터 차량 네트워크로 입력되는 외부 신호의 CAN ID가 기 설정된 송신금지리스트에 포함되는 경우 차량 네트워크에 입력되는 공격 신호를 차단하여 차량에 대한 강제 제어 조작을 방지하는 것이다.
그러나 상기 배경기술은 CAN 메시지의 프레임 전체를 수신한 후 아이디 검사를 실시하여 차단 여부를 결정하는 방식이기 때문에 공격에 대한 대응이 느린 문제점이 있다. 따라서 CAN 메시지의 프레임 전체를 수신하기 전에 빠르게 공격(또는 악성 CAN 메시지) 여부를 판단하여 이에 대응할 수 있도록 하는 기술이 필요한 상황이다.
본 발명의 일 측면에 따르면, 본 발명은 상기와 같은 문제점을 해결하기 위해 창작된 것으로서, 차량의 CAN 네트워크의 노드에서 수신되는 CAN(Controller Area Network) 메시지에 노드 자신의 아이디(ID)가 포함되어 있는 경우, 악성 CAN 메시지가 수신되고 있는 것으로 판단하여 실시간으로 CAN 메시지의 오류 처리를 수행할 수 있도록 하는, 차량용 CAN 통신 보안 장치 및 방법을 제공하는 데 그 목적이 있다.
또한 본 발명의 다른 측면에 따르면, 본 발명은 차량의 CAN 네트워크의 노드에서 수신되는 CAN 메시지의 아이디가 기 등록된 통신 허용 ID가 아닌 경우, 악성 CAN 메시지가 수신되고 있는 것으로 판단하여 실시간으로 CAN 메시지의 오류 처리를 수행할 수 있도록 하는, 차량용 CAN 통신 보안 장치 및 방법을 제공하는 데 그 목적이 있다.
본 발명의 일 측면에 따른 차량용 CAN 통신 보안 장치는, 차량용 CAN(Controller Area Network) 통신 네트워크의 노드들에 각기 포함되어 CAN 트랜시버를 통해 각기 수신되는 CAN 메시지의 아이디 모니터링을 통해 악성 CAN 메시지인지 여부를 판단하여 오류 처리를 수행하는 보안 모듈부; 및 상기 보안 모듈부에서 모니터링 할 아이디를 설정하고, 상기 노드에서 CAN 메시지를 송신할 경우에는 상기 보안 모듈부가 아이디 모니터링을 수행하지 않도록 제어하는 제어부;를 포함하는 것을 특징으로 한다.
본 발명에 있어서, 상기 보안 모듈부는, 상기 CAN 트랜시버를 통해 수신되는 CAN 메시지의 RTR(Remote Transmission Request) 필드가 0이며, 노드 자신의 아이디와 동일한 아이디가 포함되어 있을 경우, 악성 CAN 메시지로 판단하여 오류 처리를 수행하는 것을 특징으로 한다.
본 발명에 있어서, 상기 보안 모듈부는, 주문형 반도체 칩(ASIC : Application Specific Integrated Circuit) 형태로 구현되는 것을 특징으로 한다.
본 발명에 있어서, 상기 보안 모듈부는, 상기 수신되는 CAN 메시지가 악성 CAN 메시지로 판단되는 경우, 우성 데이터인 0을 상기 CAN 트랜시버의 TX 단에 입력하여, 상기 CAN 트랜시버의 버스에 출력되는 신호(CAN H, CAN L)가 우성 비트 도미넌트(dominant) 값이 출력되게 하는 방식으로 오류 처리하는 것을 특징으로 한다.
본 발명에 있어서, 상기 제어부는, 인에이블 신호(EN)를 이용하여, 노드 자신이 CAN 메시지를 송신할 경우에는 상기 보안 모듈부를 디세이블시키고, 노드 자신이 CAN 메시지를 수신할 경우에만 인에이블시켜 상기 보안 모듈부를 동작시키는 것을 특징으로 한다.
본 발명에 있어서, 상기 제어부는, ID_SEL 신호를 이용해 상기 보안 모듈부의 아이디를 저장할 아이디 레지스터들 중 하나를 내부 먹스부를 통해 선택하고, ID_SET 신호를 이용해 상기 선택한 어느 하나의 아이디 레지스터에 아이디를 설정하는 것을 특징으로 한다.
본 발명에 있어서, 상기 제어부는, 상기 CAN 트랜시버를 통해 CAN 메시지가 수신되면, 상기 CAN 메시지에서 지정된 복수의 필드 데이터를 상기 보안 모듈부의 레지스터부의 입력 레지스터에 저장하고, 비교부를 통해 상기 입력 레지스터에 저장된 CAN 메시지의 아이디와 상기 보안 모듈부의 아이디 레지스터에 설정된 아이디를 각기 비교하여, 상기 입력 레지스터에 저장된 아이디와 아이디 레지스터에 설정된 아이디가 동일할 경우, 상기 수신되는 CAN 메시지가 악성 CAN 메시지인 것으로 판단하는 것을 특징으로 한다.
본 발명에 있어서, 상기 지정된 복수의 필드는, SOF(Start of Frame), ID(Identifier), 및 RTR(Remote Transmission Request) 필드인 것을 특징으로 한다.
본 발명에 있어서, 상기 차량용 CAN(Controller Area Network) 통신 네트워크의 노드들에는 통신 허용된 ID의 CAN 메시지만 CAN 버스를 통해 수신될 수 있도록 감시하는 허용 ID 감시부;를 더 포함하는 것을 특징으로 한다.
본 발명에 있어서, 상기 허용 ID 감시부는, 통신 허용된 복수의 아이디를 저장하고, CAN 트랜시버를 통해 각기 수신되는 CAN 메시지의 아이디와 상기 복수의 아이디를 비교하여 통신 허용되지 않은 아이디가 포함된 CAN 메시지를 악성 CAN 메시지로 판단하여 오류 처리를 수행하는 보안 모듈부; 및 상기 보안 모듈부에서 모니터링 할 통신 허용된 복수의 아이디를 설정하는 제어부;를 포함하는 것을 특징으로 한다.
본 발명의 다른 측면에 따른 차량용 CAN 통신 보안 방법은, 차량용 CAN 통신 네트워크의 노드들에 각기 포함되는 제어부가 보안 모듈부에서 모니터링 할 아이디를 설정하는 단계; 상기 보안 모듈부가 CAN 트랜시버를 통해 각기 수신되는 CAN 메시지의 아이디 모니터링하는 단계; 상기 보안 모듈부가 상기 아이디 모니터링을 통해 상기 수신되는 CAN 메시지가 악성 CAN 메시지인지 여부를 판단하는 단계; 및 상기 수신되는 CAN 메시지가 악성 CAN 메시지인 경우, 상기 보안 모듈부가 실시간으로 오류 처리를 수행하는 단계;를 포함하는 것을 특징으로 한다.
본 발명에 있어서, 상기 노드 자신이 CAN 메시지를 송신하고자 할 경우, 상기 제어부가 상기 보안 모듈부에서 아이디 모니터링을 수행하지 않도록 제어하는 단계;를 더 포함하는 것을 특징으로 한다.
본 발명에 있어서, 상기 수신되는 CAN 메시지가 악성 CAN 메시지인지 여부를 판단하는 단계에서, 상기 보안 모듈부는, 상기 CAN 트랜시버를 통해 수신되는 CAN 메시지의 RTR(Remote Transmission Request) 필드가 0이며, 노드 자신의 아이디와 동일한 아이디가 포함되어 있을 경우, 상기 수신되는 CAN 메시지를 악성 CAN 메시지로 판단하는 것을 특징으로 한다.
본 발명에 있어서, 상기 보안 모듈부가 실시간으로 오류 처리를 수행하는 단계에서, 상기 수신되는 CAN 메시지가 악성 CAN 메시지로 판단되는 경우, 상기 보안 모듈부는, 우성 데이터인 0을 상기 CAN 트랜시버의 TX 단에 입력하여, 상기 CAN 트랜시버의 버스에 출력되는 신호(CAN H, CAN L)가 우성 비트 도미넌트(dominant) 값이 출력되게 하는 방식으로 오류 처리하는 것을 특징으로 한다.
본 발명에 있어서, 상기 제어부는, 인에이블 신호(EN)를 이용하여, 노드 자신이 CAN 메시지를 송신할 경우에는 상기 보안 모듈부를 디세이블시키고, 노드 자신이 CAN 메시지를 수신할 경우에만 인에이블시켜 상기 보안 모듈부를 동작시키는 것을 특징으로 한다.
본 발명에 있어서, 상기 제어부가 보안 모듈부에서 모니터링 할 아이디를 설정하는 단계에서, 상기 제어부는, ID_SEL 신호를 이용해 상기 보안 모듈부의 아이디를 저장할 아이디 레지스터들 중 하나를 내부 먹스부를 통해 선택하고, ID_SET 신호를 이용해 상기 선택한 어느 하나의 아이디 레지스터에 노드 아이디를 설정하는 것을 특징으로 한다.
본 발명에 있어서, 상기 수신되는 CAN 메시지가 악성 CAN 메시지인지 여부를 판단하는 단계는, 상기 제어부가, 상기 CAN 트랜시버를 통해 CAN 메시지가 수신되면, 상기 CAN 메시지에서 지정된 복수의 필드 데이터를 상기 보안 모듈부의 레지스터부의 입력 레지스터에 저장하는 단계; 비교부를 통해 상기 입력 레지스터에 저장된 CAN 메시지의 아이디와 상기 보안 모듈부의 아이디 레지스터에 설정된 아이디를 각기 비교하는 단계; 및 상기 입력 레지스터에 저장된 아이디와 아이디 레지스터에 설정된 아이디가 동일할 경우, 상기 수신되는 CAN 메시지가 악성 CAN 메시지인 것으로 판단하는 단계;를 포함하는 것을 특징으로 한다.
본 발명에 있어서, 상기 지정된 복수의 필드는, SOF(Start of Frame), ID(Identifier), 및 RTR(Remote Transmission Request) 필드인 것을 특징으로 한다.
본 발명에 있어서, 상기 차량용 CAN 통신 네트워크의 노드들에 더 포함되는 허용 ID 감시부를 통해, 통신 허용된 ID의 CAN 메시지만 CAN 버스를 통해 수신될 수 있도록 감시하는 단계;를 더 포함하는 것을 특징으로 한다.
본 발명에 있어서, 상기 통신 허용된 ID의 CAN 메시지만 CAN 버스를 통해 수신될 수 있도록 감시하기 위하여, 상기 허용 ID 감시부의 보안 모듈부에 통신 허용된 복수의 아이디를 저장하고, 상기 보안 모듈부가 CAN 트랜시버를 통해 각기 수신되는 CAN 메시지의 아이디와 상기 복수의 아이디를 비교하여 통신 허용되지 않은 아이디가 포함된 CAN 메시지를 악성 CAN 메시지로 판단하여 오류 처리를 수행하고, 제어부가 상기 보안 모듈부에서 모니터링 할 통신 허용된 복수의 아이디를 설정하는 것을 특징으로 한다.
본 발명의 일 측면에 따르면, 본 발명은 차량의 CAN 네트워크의 노드에서 수신되는 CAN(Controller Area Network) 메시지에 노드 자신의 아이디(ID)가 포함되어 있는 경우, 악성 CAN 메시지가 수신되고 있는 것으로 판단하여 실시간으로 CAN 메시지의 오류 처리를 수행하고, 또한 본 발명은 차량의 CAN 네트워크의 노드에서 수신되는 CAN 메시지의 아이디가 기 등록된 통신 허용 ID가 아닌 경우, 악성 CAN 메시지가 수신되고 있는 것으로 판단하여 실시간으로 CAN 메시지의 오류 처리를 수행할 수 있도록 한다. 이 때 상기 노드는 CAN 메시지 전체가 완전히 수신되기 전에 미리 차단함으로써 무결성을 보장할 수 있도록 한다.
도 1은 본 발명의 일 실시예에 따른 차량 CAN 네트워크를 보인 예시도.
도 2는 일반적인 CAN 통신 방식에서 CAN 2.0A 규격의 CAN 메시지 프레임 구조를 보인 예시도.
도 3은 본 발명의 일 실시예에 따른 차량용 CAN 통신의 보안 장치의 개략적인 구성은 보인 예시도.
도 4는 상기 도 3에 있어서, 보안 모듈부의 보다 구체적인 구성을 보인 예시도.
도 5는 본 발명의 제1 실시예에 따른 차량용 CAN 통신 보안 방법을 설명하기 위한 흐름도.
도 6은 본 발명의 제2 실시예에 따른 차량용 CAN 통신 보안 방법을 설명하기 위한 흐름도.
이하, 첨부된 도면을 참조하여 본 발명에 따른 차량용 CAN 통신 보안 장치 및 방법의 일 실시예를 설명한다.
이 과정에서 도면에 도시된 선들의 두께나 구성요소의 크기 등은 설명의 명료성과 편의상 과장되게 도시되어 있을 수 있다. 또한, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례에 따라 달라질 수 있다. 그러므로 이러한 용어들에 대한 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 1은 본 발명의 일 실시예에 따른 차량 CAN 네트워크를 보인 예시도이다.
도 1에 도시된 바와 같이, 차량 CAN 네트워크 상 모든 노드(예 : ECU1, ECU2, ECU3 등)들은 고유의 아이디(ID)를 가지고 CAN 메시지의 송수신을 수행한다.
이 때 본 실시예에서는 통신 허용된 노드 아이디가 포함된 CAN 메시지의 수신만 허용하는 허용 ID 감시부(400)와 상기 허용 ID 감시부(400)에 통신 허가된 노드 아이디를 미리 등록하는 허용 ID 등록부(500)를 포함한다. 즉, 상기 허용 ID 등록부(500)에 저장되어 있는 통신 허용 ID를 상기 허용 ID 감시부(400)의 보안 모듈부(130)에 등록하는 것이다.
또한 상기 모든 노드(예 : ECU1, ECU2, ECU3 등)들은 수신된 CAN 메시지(예 : RTR 필드가 0인 CAN 메시지)에 각기 자신의 노드 아이디와 동일한 아이디가 포함된 경우, 악성 CAN 메시지로 판단하여 차단하는 보안 모듈부(130)를 포함한다.
여기서 상기 허용 ID 감시부(400)와 각 노드(예 : ECU1, ECU2, ECU3 등)들은 동일한 네트워크에 구현되며, 내부 구성이 동일하지만(도 3 및 도 4 참조), 제어부(120)의 동작에는 차이가 있다(도 5 및 도 6 참조).
도 2는 일반적인 CAN 통신 방식에서 CAN 2.0A 규격의 CAN 메시지 프레임 구조를 보인 예시도로서, 이에 도시된 바와 같이 각 필드별 지정된 개수의 비트로 구성된 복수의 필드로 구성된다.
도 2는 CAN 2.0A 규격의 CAN 메시지의 구조를 보인 예시도이다.
예컨대 SOF(Start of Frame) 필드는 1비트로 구성되고, ID(Identifier) 필드는 11비트로 구성되며(또는 29비트 확장형 ID로 구성), RTR(Remote Transmission Request) 필드는 1비트로 구성되고, R1(Reserved Bit) 및 R0(Reserved Bit) 필드는 1비트로 구성되며, DLC(Data Length Code) 필드는 4비트로 구성되고, Data(Data Bytes) 필드는 0~64비트로 구성되며, ACK(Acknowledge) 필드는 2비트로 구성되고, EOF(End of Frame) 필드는 7비트로 구성되며, 7비트의 IFS(Inter-frame space)는 컨트롤러가 요구하는 시간의 양을 포함하며, 메시지 버퍼 영역에서 적절한 위치로 정확하게 수신된 프레임을 이동시킨다.
이 때 중요한 것은 각 노드(예 : ECU1, ECU2, ECU3 등)에서 출력되는 CAN 메시지는 고유의 ID를 가지고 있으며, 상기 고유의 ID를 포함하는 CAN 메시지에 포함된 정보를 이용하여 차량제어가 수행된다. 아울러 CAN_FD(Flexible Data rate) 메시지의 ID 필드도 CAN 메시지의 ID 필드와 동일하게 구성된다.
도 3은 본 발명의 일 실시예에 따른 차량용 CAN 통신의 보안 장치의 개략적인 구성은 보인 예시도로서, 상기 도 1에 있어서, 복수의 전자제어장치(100, 200, 300)(또는 노드) 및 허용 ID 감시부(400)는 동일한 내부 구성으로 구현된다.
따라서 본 실시예에서는 설명의 편의를 위하여, 하나의 노드(100)의 내부 구성을 예시하여 설명한다.
도 3을 참조하면, 본 실시예에 따른 차량용 CAN 통신의 보안 장치는, CAN 트랜시버(110), 제어부(120), 보안 모듈부(130), 및 AND 게이트(140)를 포함한다.
상기 CAN 트랜시버(110)는 각 노드에서 CAN 메시지를 송수신한다.
참고로 하나의 네트워크는 복수의 노드(또는 ECU)와 공통의 CAN 버스로 구성되고, 각 노드는 브로드캐스팅 방식으로 CAN 메시지를 전송하며, 각 노드가 필요한 CAN 메시지를 선택하여 수신한다.
상기 CAN 트랜시버(110)는 CAN 통신 라인을 통해 CAN 메시지를 송수신한다.
이 때 상기 CAN 트랜시버(110)는 자체의 입력단과 자체의 출력단이 공통으로 접속되어 있어서, 상기 각 노드의 제어부(120) 자신이 출력한 CAN 메시지를 각 노드의 제어부(120) 자신이 다시 입력받아 에러 발생 여부를 체크할 수 있다.
상기 CAN 트랜시버(110)는 상기 제어부(120)로부터 출력되는 신호를 CAN H, CAN L의 디퍼런셜 신호로 변환하여 CAN 버스로 출력하며, 또한 CAN H, CAN L의 디퍼런셜 신호를 MCU가 읽을 수 있는 레벨로 바꾸어 주는 역할을 한다.
이 때 만약, 도 1에 도시된 바와 같이, 해킹에 의해 외부(또는 외부 네트워크)로부터 ID가 100인 CAN 메시지가 수신될 경우, 공통의 CAN 버스로 연결된 내부 네트워크의 복수의 노드들(예 : ECU1, ECU2, ECU3 등)은 상기 내부 네트워크의 ID가 100인 노드(예 : ECU1)로부터 송신된 정상 CAN 메시지로 간주하며(즉, 악성 CAN 메시지를 정상 CAN 메시지로 잘못 인식하며), 이에 따라 상기 외부(또는 외부 네트워크)로부터 수신된 ID가 100인 CAN 메시지(즉, 악성 CAN 메시지)에 포함된 데이터를 사용하게 될 경우 차량 오작동이 발생할 수 있게 된다.
즉, 외부(또는 외부 네트워크)로부터 수신된 CAN 메시지의 아이디가 내부 네트워크에 포함된 노드들(예 : ECU1, ECU2, ECU3 등) 중 어느 하나의 노드 아이디(예 : ID 100인 ECU1)와 동일한 아이디를 포함하는 CAN 메시지인 경우, 상기 외부(또는 외부 네트워크)에서 수신된 CAN 메시지는 악성 CAN 메시지이므로, 이러한 악성 CAN 메시지를 빠르게 판단하여 차단할 필요가 있다.
그런데 상기 외부(또는 외부 네트워크)에서 수신된 CAN 메시지가 악성 CAN 메시지인지 여부를 판단할 수 있는 방법은, 내부 네트워크의 노드들 중 상기 외부(또는 외부 네트워크)에서 수신되는 CAN 메시지의 아이디(예 : ID 100)와 동일한 아이디를 갖는 노드(예 : ID 100인 ECU1)에서 판단할 수 있다. 즉, 노드 자신이 CAN 메시지를 송신하지 않았는데, 자신의 아이디와 동일한 아이디를 포함하는 CAN 메시지가 수신되는 것은 노드 자신만 알 수 있다.
이에 따라 본 실시예에서는 각 노드에 상기 보안 모듈부(130)를 포함하고, 상기 각 노드에 포함된 보안 모듈부(130)가 상기 CAN 트랜시버(110)를 통해 수신되는 CAN 메시지의 아이디를 모니터링하여, 자신의 노드 아이디와 동일한 아이디를 갖는 CAN 메시지가 수신되는 경우 해당 CAN 메시지를 악성 CAN 메시지로 판단하며, 이러한 악성 CAN 메시지를 실시간으로 차단(즉, CAN 메시지 프레임 전체의 수신이 완료되기 전에 CAN 메시지의 수신 중 악성 CAN 메시지로 판단되는 즉시 실시간으로 차단) 시킨다.
상기 제어부(120)는 CAN 메시지의 아이디(ID, 식별자)를 인식하며, 상기 인식한 아이디를 이용하여, 네트워크상에 브로트캐스팅 된 복수의 CAN 메시지들 중 필요한 메시지를 걸러서 수신하여, 해당 CAN 메시지에 포함된 데이터를 사용하여 차량을 제어하는 일반적인 동작을 수행한다.
아울러 상기 제어부(120)는 상기 보안 모듈부(130)에서 CAN 메시지의 아이디 모니터링을 통해 악성 CAN 메시지를 판단할 수 있도록 제어한다.
참고로 일반적인 CAN 통신에서 사용되는 CAN 메시지 송수신 방식은, 송신단(즉, 메시지를 송신하는 노드)에서 ID, control, data, 및 CRC 등이 포함된 CAN 규격에 따른 CAN 메시지를 구형파 파형으로 도선(즉, 2가닥의 꼬임선)에 인가시키고, 수신단(즉, 메시지를 수신하는 노드)에서 이를 수신하면 1비트의 ACK 신호를 송신단으로 전송하여 CAN 메시지를 수신하였음을 알려준다. 이때 상기 ACK신호는 수신단 네트워크에서 병렬로 연결된 복수의 노드(예 : ECU) 중 어느 하나가 응답하게 된다. 그리고 송신단에서는 CAN 규격(즉, 표준 CAN 프로토콜)에 따라 CAN 메시지를 전송하다가 상기 수신단으로부터의 ACK 신호를 수신하기 위하여 지정된 일정 구간에서(즉, 지정된 일정 시간 동안) 잠시 RX 모드로 변경되었다가 이후 EOF(End of Frame)을 전송하게 된다.
또한 상기 보안 모듈부(130)는 주문형 반도체 칩(ASIC : Application Specific Integrated Circuit) 형태로 구현될 수 있으며, 상기 제어부(120)의 제어에 따라, 상기 CAN 트랜시버(110)를 통해 송수신되는 CAN 메시지의 아이디를 모니터링 한다.
상기 보안 모듈부(130)는 상기 CAN 메시지의 아이디 모니터링을 통해 악성 CAN 메시지(예 : 해킹 메시지)를 판단하고, 상기 수신되는 CAN 메시지가 악성 CAN 메시지로 판단되는 경우, CAN 메시지 전체가 완전히 수신되기 전에 미리 차단한다. 이 때 상기 보안 모듈부(130)는 상기 CAN 메시지가 악성 CAN 메시지로 판단될 경우에 우성 데이터(예 : 0)를 출력하여 CAN 트랜시버를 우성으로 만듦으로써 상기 수신되고 있는 CAN 메시지를 사용하지 못하게 한다.
이 때 본 실시예에 따른 상기 보안 모듈부(130)는 CAN 메시지를 완전히 수신한 후 악성 CAN 메시지(예 : 해킹 메시지)인지 여부를 판단하는 것이 아니라, CAN 메시지 수신 중 아이디 모니터링을 통해 악성 CAN 메시지(예 : 해킹 메시지)인지 여부를 판단하여, 실시간으로 이에 대응함으로써 해킹 공격에 의한 피해가 발생하기 전에 빠르게 대응할 수 있도록 하는 효과가 있다.
도 4는 상기 도 3에 있어서, 보안 모듈부의 보다 구체적인 구성을 보인 예시도로서, 도 3과 도 4를 참조하여, 상기 제어부(120)가 상기 보안 모듈부(130)를 제어하여 CAN 메시지의 아이디 모니터링을 통해 악성 CAN 메시지를 판단하는 방법에 대해서 설명한다.
상기 보안 모듈부(130)는 먹스부(131), 레지스터부(132), 비교부(133), 제1 오아 게이트(134), D 플립플롭(135, D F/F), 반전 선택부(136), 및 제2 오아 게이트(137)를 포함한다.
도 3을 참조하면, 상기 제어부(120, MCU)는 4개의 신호(예 : ID_SEL, ID_SET, Sel_not, EN)를 사용하여 상기 보안 모듈부(130)를 제어한다.
여기서 인에이블 신호(EN)는 노드 자신이 CAN 메시지를 송신할 경우에는 상기 보안 모듈부(130)를 디세이블시키고, 노드 자신이 CAN 메시지를 수신할 경우에만 인에이블 시킨다. 즉, 노드 자신이 CAN 메시지를 송신할 경우에는 보안 모듈부(130)가 동작하면 안되므로, 상기 인에이블 신호(EN)에 의해 OR 게이트로 어떠한 신호가 입력되어도 EN이 1이면 모두 1로 만들게 된다.
상기 보안 모듈부(130)는 CAN 메시지의 아이디 모니터링을 통해 악성 CAN 메시지의 수신 여부에 해당하는 A_TX 신호를 출력하고, AND 게이트(140)를 거쳐 CAN 트랜시버(110)로 출력된다.
차량이 시동되면, 상기 제어부(120)는 ID_SEL 및 ID_SET 신호를 이용하여 자신의 고유 아이디를 상기 보안 모듈부(130)의 레지스터부(132)에 저장한다.
이 때 상기 노드(예 : ECU1, 100)의 아이디는 반드시 하나만 설정되는 것은 아니며, 복수의 아이디가 설정될 수 있다.
이에 따라 상기 제어부(120)는 ID_SEL 신호를 이용해 상기 보안 모듈부(130)의 아이디를 저장할 아이디 레지스터들(예 : ID reg1, ID reg2, ID reg3 등) 중 하나를 상기 먹스부(131)를 통해 선택한 후, ID_SET 신호를 이용해 상기 선택한 어느 하나의 아이디 레지스터에 아이디를 설정한다.
상기 제어부(120)는 CAN 트랜시버(110)를 통해 CAN 메시지가 수신되면, 상기 CAN 메시지에서 지정된 필드(예 : SOF, ID, RTR) 데이터를 상기 보안 모듈부(130)의 레지스터부(132)의 입력 레지스터(Input reg)에 저장한다.
상기 비교부(133)는 상기 입력 레지스터(Input reg)에 저장된 CAN 메시지의 아이디와 상기 아이디 레지스터(예 : ID reg1, ID reg2, ID reg3 등)에 설정된 아이디를 각기 비교한다.
상기 비교 결과, 만약 입력 레지스터(Input reg)에 저장된 아이디와 아이디 레지스터(예 : ID reg1, ID reg2, ID reg3 등)에 설정된 아이디가 동일하다면(즉, CAN 메시지를 송신하지 않았는데, CAN 트랜시버를 통해 자신의 아이디가 포함된 CAN 메시지를 수신하였다면), 이는 외부에서 수신된 CAN 메시지가 자신의 아이디를 해킹하여 생성한 악성 CAN 메시지인 것을 의미한다.
이때 주의해야 될 사항은 RTR 비트가 1인 경우는 외부에서 자신의 노드에 정보를 요청하는 메시지이므로, 악성 CAN 메시지로 판단하지 않는다. 즉, 요청 메시지가 아닌 CAN 메시지인 경우(즉, CAN 메시지의 RTR 비트가 0일 경우)에만, 노드 자신의 아이디와 동일한 아이디가 CAN 메시지에 포함되어 있는지 비교하여 악성 CAN 메시지인지 여부를 판단한다.
상기 제1 오아 게이트(134)는 상기 비교부(133)에서 비교한 아이디들 중 어느 하나라도 동일한 아이디가 검출될 경우(즉, 입력 레지스터(Input reg)에 저장된 아이디와 아이디 레지스터(예 : ID reg1, ID reg2, ID reg3 등)에 설정된 아이디가 어느 하나라도 동일하다면) '1'을 출력한다.
상기 제1 오아 게이트(134)의 출력은 상기 D 플립플롭(135)에 입력된다.
상기 D 플립플롭(135)은 상기 제1 오아 게이트(134)의 출력에 따른 글리치(glitch)를 줄이기 위한 목적으로 사용된다.
상기 D 플립플롭(135)은 상기 CAN 메시지의 지정된 필드(예 : SOF, ID, RTR)가 끝나는지 여부를'0, 1'로 설정하여(예 : 상기 지정된 필드 동안에는 1, 상기 지정된 필드가 끝나면 0으로 설정) 이를 D 플립플롭(135)의 클럭으로 사용한다.
또한 상기 D 플립플롭(135)은 하나의 메시지가 종료되면(즉, CAN 메시지에서 EOF가 검출되면) 리셋된다.
상기 반전 선택부(136)는 수신되는 CAN 메시지가 악성 CAN 메시지로 판단되어 현재 수신되는 CAN 메시지를 오류로 처리하고 싶을 경우(즉, 현재 수신되는 CAN 메시지를 차단하고 싶은 경우), 상기 D 플립플롭(135)의 출력 신호를 반전 시켜 출력한다.
예컨대 수신되는 CAN 메시지가 악성 CAN 메시지인 경우(입력 레지스터(Input reg)에 저장된 아이디와 아이디 레지스터(예 : ID reg1, ID reg2, ID reg3 등)에 설정된 아이디가 어느 하나라도 동일하다면), 상기 D 플립플롭(135)은 '1'이 출력되고 상기 반전 선택부(136)를 통해 반전되어 '0'이 출력된다.
한편 상기 허용 ID 감시부(400)에서 상기 반전 선택부(136)는 상기 각 노드에서의 반전 선택부(136)와 다르게 동작한다.
예컨대 상기 허용 ID 감시부(400)에서는 입력 레지스터(Input reg)에 저장된 아이디와 아이디 레지스터(예 : ID reg1, ID reg2, ID reg3 등)에 설정된 아이디(즉, 통신 허가된 ID)가 어느 하나라도 동일하다면 상기 반전 선택부(136)는 상기 D 플립플롭(135)의 출력 '1'을 반전시키지 않고 그대로 출력한다.
그러나 입력 레지스터(Input reg)에 저장된 아이디와 아이디 레지스터(예 : ID reg1, ID reg2, ID reg3 등)에 설정된 아이디(즉, 통신 허가된 ID) 중 어느 하나도 동일하지 않다면, 통신 허용되지 않은 아이디가 포함된 악성 CAN 메시지에 해당하므로, 상기 반전 선택부(136)는 상기 D 플립플롭(135)의 출력 '0'을 반전시키지 않고 그대로 출력한다.
이에 따라 상기 반전 선택부(136)에서 '0'이 출력될 경우, 상기 제2 오아 게이트(137)는 상기 반전 선택부(136)의 출력(예 : 0)을 A_TX신호로 출력되며, 도 3을 참조하면, 상기 A_TX 신호는 AND 게이트(140)를 통해 상기 제어부(120)의 출력 신호(M_TX)와 AND 되어 CAN 트랜시버(110)에 출력된다.
이 때 상기 AND 게이트(140)를 통해 출력되는 값은 '0'이므로, 상기 제어부(120)의 출력 신호와 관계없이 상기 CAN 트랜시버(110)의 TX 단자에는 '0'이 입력됨으로써, 상기 CAN 트랜시버(110)의 버스(BUS)에 출력되는 신호(CAN H, CAN L)는 우성 비트 도미넌트(dominant) 값이 출력된다. 즉, 현재 CAN 버스를 통해 브로드케스팅 되는 CAN 메시지가 의미 없는 CAN 메시지가 되는 것이다.
이와 같이 각 노드에 구현된 상기 보안 모듈부(130)는 외부에서 수신되는 CAN 메시지의 아이디 모니터링을 통해 악성 CAN 메시지로 판단되는 경우, 즉시 CAN 트랜시버(110)에 강제로 우성 비트가 출력되게 되어 CAN 메시지에 오류가 발생되게 함으로써, 상기 악성 CAN 메시지의 데이터 영역은 사용할 수 없도록 한다.
또한 본 실시예에서 상기 허용 ID 감시부(400)는 허용된 ID의 CAN 메시지만 수신될 수 있도록 한다.
예컨대 도 1에 도시된 바와 같이, 하나의 네트워크에 복수의 노드(예 : ECU1, ECU2, ECU3 등)가 포함되고, 각 노드에 각기 고유한 아이디(예 : ID 100, ID 200, ID 300)가 설정되어 있다고 가정할 때(참고로, 외부 네트워크의 노드 아이디로 통신 허용 아이디로 설정할 수 있음), 허용 ID 감시부(400)는 미리 지정된 노드의 아이디(예 : ID 100, ID 200, ID 300) 이외의 다른 아이디(즉, 통신 허용되지 않은 아이디)가 포함된 CAN 메시지가 입력되면 오류로 처리한다. 즉, 상기 CAN 트랜시버(110)의 버스(BUS)에 출력되는 신호(CAN H, CAN L)는 우성 비트 도미넌트(dominant) 값이 출력되게 하는 것이다.
즉, 상기 허용 ID 감시부(400)는 CAN 버스에서 허락된 ID의 CAN 메시지가 수신될 경우 상기 보안 모듈부(130)에서 '1'이 출력되어 CAN 트랜시버(110)를 열성으로 만들어서 정상적인 통신이 가능하게 한다. 그러나 만약 CAN 메시지의 아이디와 기 등록된 통신 허용된 아이디 중 어느 하나도 동일한 아이디가 없는 경우, 상기 보안 모듈부(130)는 '0'을 출력하여 상기 CAN 트랜시버(110)의 버스(BUS)에 출력되는 신호(CAN H, CAN L)는 우성 비트 도미넌트(dominant) 값이 출력되게 하는 것이다.
도 5는 본 발명의 제1 실시예에 따른 차량용 CAN 통신 보안 방법을 설명하기 위한 흐름도이다.
도 5를 참조하면, 차량용 CAN 통신 네트워크의 각 노드에 구현된 차량용 CAN 통신 보안 장치는, 차량이 시동되면 노드별 자신의 아이디를 보안 모듈부(130)에 설정한다(S101).
그리고 CAN 트랜시버(110)를 통해 CAN 메시지(예 : RTR 필드가 0인 CAN 메시지)가 수신되면(S102의 예 & S103의 예), 상기 보안 모듈부(130)는 비교부(133)를 통해 CAN 메시지의 아이디와 노드별 자신의 아이디가 동일한지 비교한다(S104).
상기 비교 결과에 따라 CAN 메시지의 아이디와 노드별 자신의 아이디가 동일한 경우(S105의 예), 상기 보안 모듈부(130)는 상기 CAN 메시지를 악성 CAN 메시지로 판단하여 CAN 트랜시버(110)에서 우성 비트 도미넌트 값이 출력되게 한다(S106).
이에 따라 현재 수신되고 있는 CAN 메시지에 오류가 발생되게 함으로써, 상기 악성 CAN 메시지의 데이터 영역을 사용할 수 없게 된다.
도 6은 본 발명의 제2 실시예에 따른 차량용 CAN 통신 보안 방법을 설명하기 위한 흐름도로서, 차량용 CAN 통신 네트워크 내에 허용 ID 감시부(400)가 더 포함되고, 상기 허용 ID 감시부(400)를 통해 통신 허용된 노드 아이디가 포함된 CAN 메시지의 수신만 허용하여 보안성을 향상시키는 방법에 대해서 설명한다.
도 6을 참조하면, 차량용 CAN 통신 네트워크의 각 노드에 구현된 차량용 CAN 통신 보안 장치는, 차량이 시동되면 통신 허용(통신 허가)된 모든 노드 아이디를 보안 모듈부(130)에 설정(등록)한다(S201).
그리고 CAN 트랜시버(110)를 통해 CAN 메시지(예 : RTR 필드가 0인 CAN 메시지)가 수신되면(S202의 예 & S203의 예), 상기 보안 모듈부(130)는 비교부(133)를 통해 CAN 메시지의 아이디와 통신 허용(통신 허가)된 모든 노드 아이디 중 어느 하나와 동일한지 비교한다(S204).
상기 비교 결과에 따라, CAN 메시지의 아이디와 통신 허용(통신 허가)된 모든 노드 아이디 중 어느 하나도 동일하지 않은 경우(S205의 예), 상기 보안 모듈부(130)는 상기 CAN 메시지를 악성 CAN 메시지로 판단하여 CAN 트랜시버(110)에서 우성 비트 도미넌트 값이 출력되게 한다(S206).
이에 따라 현재 수신되고 있는 CAN 메시지에 오류가 발생되게 함으로써, 상기 악성 CAN 메시지의 데이터 영역을 사용할 수 없게 된다.
상기와 같이 본 실시예는 차량의 CAN 네트워크의 노드에서 수신되는 CAN(Controller Area Network) 메시지에 노드 자신의 아이디(ID)가 포함되어 있는 경우, 악성 CAN 메시지가 수신되고 있는 것으로 판단하여 실시간으로 CAN 메시지의 오류 처리를 수행한다. 또한 본 실시예는 차량의 CAN 네트워크의 노드에서 수신되는 CAN 메시지의 아이디가 기 등록된 통신 허용 ID가 아닌 경우, 악성 CAN 메시지가 수신되고 있는 것으로 판단하여 실시간으로 CAN 메시지의 오류 처리를 수행할 수 있도록 한다. 이와 같이 본 실시예는 상기 노드에서 CAN 메시지 전체가 완전히 수신되기 전에 미리 차단함으로써 무결성을 보장할 수 있도록 하는 효과가 있다.
이상으로 본 발명은 도면에 도시된 실시예를 참고로 하여 설명되었으나, 이는 예시적인 것에 불과하며, 당해 기술이 속하는 분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서 본 발명의 기술적 보호범위는 아래의 특허청구범위에 의해서 정하여져야 할 것이다. 또한 본 명세서에서 설명된 구현은, 예컨대, 방법 또는 프로세스, 장치, 소프트웨어 프로그램, 데이터 스트림 또는 신호로 구현될 수 있다. 단일 형태의 구현의 맥락에서만 논의(예컨대, 방법으로서만 논의)되었더라도, 논의된 특징의 구현은 또한 다른 형태(예컨대, 장치 또는 프로그램)로도 구현될 수 있다. 장치는 적절한 하드웨어, 소프트웨어 및 펌웨어 등으로 구현될 수 있다. 방법은, 예컨대, 컴퓨터, 마이크로프로세서, 집적 회로 또는 프로그래밍 가능한 로직 디바이스 등을 포함하는 프로세싱 디바이스를 일반적으로 지칭하는 프로세서 등과 같은 장치에서 구현될 수 있다. 프로세서는 또한 최종-사용자 사이에 정보의 통신을 용이하게 하는 컴퓨터, 셀 폰, 휴대용/개인용 정보 단말기(personal digital assistant: "PDA") 및 다른 디바이스 등과 같은 통신 디바이스를 포함한다.
110 : CAN 트랜시버 120 : 제어부
130 : 보안 모듈부 131 : 먹스부
132 : 레지스터부 133 : 비교부
134 : 제1 오아 게이트 135 : D 플립플롭
136 : 반전 선택부 137 : 제2 오아 게이트
140 : AND 게이트

Claims (20)

  1. 차량용 CAN(Controller Area Network) 통신 네트워크의 노드들에 각기 포함되어 CAN 트랜시버를 통해 각기 수신되는 CAN 메시지의 아이디 모니터링을 통해 악성 CAN 메시지인지 여부를 판단하여 오류 처리를 수행하는 보안 모듈부; 및
    상기 보안 모듈부에서 모니터링 할 아이디를 설정하고, 상기 노드에서 CAN 메시지를 송신할 경우에는 상기 보안 모듈부가 아이디 모니터링을 수행하지 않도록 제어하는 제어부;를 포함하는 것을 특징으로 하는 차량용 CAN 통신 보안 장치.
  2. 제 1항에 있어서, 상기 보안 모듈부는,
    상기 CAN 트랜시버를 통해 수신되는 CAN 메시지의 RTR(Remote Transmission Request) 필드가 0이며, 노드 자신의 아이디와 동일한 아이디가 포함되어 있을 경우, 악성 CAN 메시지로 판단하여 오류 처리를 수행하는 것을 특징으로 하는 차량용 CAN 통신 보안 장치.
  3. 제 1항에 있어서, 상기 보안 모듈부는,
    주문형 반도체 칩(ASIC : Application Specific Integrated Circuit) 형태로 구현되는 것을 특징으로 하는 차량용 CAN 통신 보안 장치.
  4. 제 1항에 있어서, 상기 보안 모듈부는,
    상기 수신되는 CAN 메시지가 악성 CAN 메시지로 판단되는 경우, 우성 데이터인 0을 상기 CAN 트랜시버의 TX 단에 입력하여, 상기 CAN 트랜시버의 버스에 출력되는 신호(CAN H, CAN L)가 우성 비트 도미넌트(dominant) 값이 출력되게 하는 방식으로 오류 처리하는 것을 특징으로 하는 차량용 CAN 통신 보안 장치.
  5. 제 1항에 있어서, 상기 제어부는,
    인에이블 신호(EN)를 이용하여, 노드 자신이 CAN 메시지를 송신할 경우에는 상기 보안 모듈부를 디세이블시키고, 노드 자신이 CAN 메시지를 수신할 경우에만 인에이블시켜 상기 보안 모듈부를 동작시키는 것을 특징으로 하는 차량용 CAN 통신 보안 장치.
  6. 제 1항에 있어서, 상기 제어부는,
    ID_SEL 신호를 이용해 상기 보안 모듈부의 아이디를 저장할 아이디 레지스터들 중 하나를 내부 먹스부를 통해 선택하고,
    ID_SET 신호를 이용해 상기 선택한 어느 하나의 아이디 레지스터에 아이디를 설정하는 것을 특징으로 하는 차량용 CAN 통신 보안 장치.
  7. 제 1항에 있어서, 상기 제어부는,
    상기 CAN 트랜시버를 통해 CAN 메시지가 수신되면, 상기 CAN 메시지에서 지정된 복수의 필드 데이터를 상기 보안 모듈부의 레지스터부의 입력 레지스터에 저장하고,
    비교부를 통해 상기 입력 레지스터에 저장된 CAN 메시지의 아이디와 상기 보안 모듈부의 아이디 레지스터에 설정된 아이디를 각기 비교하여,
    상기 입력 레지스터에 저장된 아이디와 아이디 레지스터에 설정된 아이디가 동일할 경우, 상기 수신되는 CAN 메시지가 악성 CAN 메시지인 것으로 판단하는 것을 특징으로 하는 차량용 CAN 통신 보안 장치.
  8. 제 7항에 있어서, 상기 지정된 복수의 필드는,
    SOF(Start of Frame), ID(Identifier), 및 RTR(Remote Transmission Request) 필드인 것을 특징으로 하는 차량용 CAN 통신 보안 장치.
  9. 제 1항에 있어서,
    상기 차량용 CAN(Controller Area Network) 통신 네트워크의 노드들에는 통신 허용된 ID의 CAN 메시지만 CAN 버스를 통해 수신될 수 있도록 감시하는 허용 ID 감시부;를 더 포함하는 것을 특징으로 하는 차량용 CAN 통신 보안 장치.
  10. 제 9항에 있어서, 상기 허용 ID 감시부는,
    통신 허용된 복수의 아이디를 저장하고, CAN 트랜시버를 통해 각기 수신되는 CAN 메시지의 아이디와 상기 복수의 아이디를 비교하여 통신 허용되지 않은 아이디가 포함된 CAN 메시지를 악성 CAN 메시지로 판단하여 오류 처리를 수행하는 보안 모듈부; 및
    상기 보안 모듈부에서 모니터링 할 통신 허용된 복수의 아이디를 설정하는 제어부;를 포함하는 것을 특징으로 하는 차량용 CAN 통신 보안 장치.
  11. 차량용 CAN 통신 네트워크의 노드들에 각기 포함되는 제어부가 보안 모듈부에서 모니터링 할 아이디를 설정하는 단계;
    상기 보안 모듈부가 CAN 트랜시버를 통해 각기 수신되는 CAN 메시지의 아이디 모니터링하는 단계;
    상기 보안 모듈부가 상기 아이디 모니터링을 통해 상기 수신되는 CAN 메시지가 악성 CAN 메시지인지 여부를 판단하는 단계; 및
    상기 수신되는 CAN 메시지가 악성 CAN 메시지인 경우, 상기 보안 모듈부가 실시간으로 오류 처리를 수행하는 단계;를 포함하는 것을 특징으로 하는 차량용 CAN 통신 보안 방법.
  12. 제 11항에 있어서,
    상기 노드 자신이 CAN 메시지를 송신하고자 할 경우, 상기 제어부가 상기 보안 모듈부에서 아이디 모니터링을 수행하지 않도록 제어하는 단계;를 더 포함하는 것을 특징으로 하는 차량용 CAN 통신 보안 방법.
  13. 제 11항에 있어서, 상기 수신되는 CAN 메시지가 악성 CAN 메시지인지 여부를 판단하는 단계에서,
    상기 보안 모듈부는,
    상기 CAN 트랜시버를 통해 수신되는 CAN 메시지의 RTR(Remote Transmission Request) 필드가 0이며, 노드 자신의 아이디와 동일한 아이디가 포함되어 있을 경우, 상기 수신되는 CAN 메시지를 악성 CAN 메시지로 판단하는 것을 특징으로 하는 차량용 CAN 통신 보안 방법.
  14. 제 11항에 있어서, 상기 보안 모듈부가 실시간으로 오류 처리를 수행하는 단계에서,
    상기 수신되는 CAN 메시지가 악성 CAN 메시지로 판단되는 경우,
    상기 보안 모듈부는, 우성 데이터인 0을 상기 CAN 트랜시버의 TX 단에 입력하여, 상기 CAN 트랜시버의 버스에 출력되는 신호(CAN H, CAN L)가 우성 비트 도미넌트(dominant) 값이 출력되게 하는 방식으로 오류 처리하는 것을 특징으로 하는 차량용 CAN 통신 보안 방법.
  15. 제 12항에 있어서, 상기 제어부는,
    인에이블 신호(EN)를 이용하여, 노드 자신이 CAN 메시지를 송신할 경우에는 상기 보안 모듈부를 디세이블시키고, 노드 자신이 CAN 메시지를 수신할 경우에만 인에이블시켜 상기 보안 모듈부를 동작시키는 것을 특징으로 하는 차량용 CAN 통신 보안 방법.
  16. 제 11항에 있어서, 상기 제어부가 보안 모듈부에서 모니터링 할 아이디를 설정하는 단계에서,
    상기 제어부는,
    ID_SEL 신호를 이용해 상기 보안 모듈부의 아이디를 저장할 아이디 레지스터들 중 하나를 내부 먹스부를 통해 선택하고,
    ID_SET 신호를 이용해 상기 선택한 어느 하나의 아이디 레지스터에 노드 아이디를 설정하는 것을 특징으로 하는 차량용 CAN 통신 보안 방법.
  17. 제 11항에 있어서, 상기 수신되는 CAN 메시지가 악성 CAN 메시지인지 여부를 판단하는 단계는,
    상기 제어부가,
    상기 CAN 트랜시버를 통해 CAN 메시지가 수신되면, 상기 CAN 메시지에서 지정된 복수의 필드 데이터를 상기 보안 모듈부의 레지스터부의 입력 레지스터에 저장하는 단계;
    비교부를 통해 상기 입력 레지스터에 저장된 CAN 메시지의 아이디와 상기 보안 모듈부의 아이디 레지스터에 설정된 아이디를 각기 비교하는 단계; 및
    상기 입력 레지스터에 저장된 아이디와 아이디 레지스터에 설정된 아이디가 동일할 경우, 상기 수신되는 CAN 메시지가 악성 CAN 메시지인 것으로 판단하는 단계;를 포함하는 것을 특징으로 하는 차량용 CAN 통신 보안 방법.
  18. 제 17항에 있어서, 상기 지정된 복수의 필드는,
    SOF(Start of Frame), ID(Identifier), 및 RTR(Remote Transmission Request) 필드인 것을 특징으로 하는 차량용 CAN 통신 보안 방법.
  19. 제 11항에 있어서,
    상기 차량용 CAN 통신 네트워크의 노드들에 더 포함되는 허용 ID 감시부를 통해, 통신 허용된 ID의 CAN 메시지만 CAN 버스를 통해 수신될 수 있도록 감시하는 단계;를 더 포함하는 것을 특징으로 하는 차량용 CAN 통신 보안 방법.
  20. 제 19항에 있어서, 상기 통신 허용된 ID의 CAN 메시지만 CAN 버스를 통해 수신될 수 있도록 감시하기 위하여,
    상기 허용 ID 감시부의 보안 모듈부에 통신 허용된 복수의 아이디를 저장하고, 상기 보안 모듈부가 CAN 트랜시버를 통해 각기 수신되는 CAN 메시지의 아이디와 상기 복수의 아이디를 비교하여 통신 허용되지 않은 아이디가 포함된 CAN 메시지를 악성 CAN 메시지로 판단하여 오류 처리를 수행하고,
    제어부가 상기 보안 모듈부에서 모니터링 할 통신 허용된 복수의 아이디를 설정하는 것을 특징으로 하는 차량용 CAN 통신 보안 방법.
KR1020200154744A 2020-11-18 2020-11-18 차량용 can 통신 보안 장치 및 방법 KR102471960B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020200154744A KR102471960B1 (ko) 2020-11-18 2020-11-18 차량용 can 통신 보안 장치 및 방법
PCT/KR2021/013052 WO2022108087A1 (ko) 2020-11-18 2021-09-24 차량용 can 통신 보안 장치 및 방법
US17/486,284 US20220159018A1 (en) 2020-11-18 2021-09-27 Apparatus for security of vehicle can communication and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200154744A KR102471960B1 (ko) 2020-11-18 2020-11-18 차량용 can 통신 보안 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20220068323A true KR20220068323A (ko) 2022-05-26
KR102471960B1 KR102471960B1 (ko) 2022-11-30

Family

ID=81586969

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200154744A KR102471960B1 (ko) 2020-11-18 2020-11-18 차량용 can 통신 보안 장치 및 방법

Country Status (3)

Country Link
US (1) US20220159018A1 (ko)
KR (1) KR102471960B1 (ko)
WO (1) WO2022108087A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102524377B1 (ko) 2022-11-25 2023-04-21 주식회사 유니온플레이스 비히클 관제를 위한 비히클 데이터의 통신 방법

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11711384B2 (en) * 2018-08-27 2023-07-25 Lear Corporation Method and system for detecting message injection anomalies
US11870659B1 (en) * 2022-06-24 2024-01-09 Norfolk Southern Corporation Industrial equipment diagnostic system
CN115941735A (zh) * 2022-12-01 2023-04-07 浙江氢途科技有限公司 一种实现远程监控的方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170026386A1 (en) * 2014-04-17 2017-01-26 Panasonic Intellectual Property Corporation Of America In-vehicle network system, fraud-detection electronic control unit, and fraud-detection method
KR20200090788A (ko) * 2017-12-19 2020-07-29 현대자동차주식회사 차량 내 네트워크에 보안을 제공하는 시스템 및 방법
JP2020150442A (ja) * 2019-03-14 2020-09-17 トヨタ自動車株式会社 ゲートウェイ装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8650356B2 (en) * 2009-05-28 2014-02-11 Microchip Technology Incorporated Microcontroller with CAN module
US20180069874A1 (en) * 2015-05-15 2018-03-08 Mitsubishi Electric Corporation Attack detection apparatus
JP6173541B2 (ja) * 2015-10-09 2017-08-02 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America セキュリティ装置、攻撃検知方法及びプログラム
JP6849528B2 (ja) * 2016-07-28 2021-03-24 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America フレーム伝送阻止装置、フレーム伝送阻止方法及び車載ネットワークシステム
KR102338503B1 (ko) * 2017-05-30 2021-12-10 현대자동차주식회사 차량 네트워크에서 웨이크업 신호의 송수신 방법
CN111434090A (zh) * 2018-01-23 2020-07-17 现代自动车株式会社 用于向车载网络提供安全性的系统及方法
US11652827B2 (en) * 2018-06-08 2023-05-16 Nvidia Corporation Virtualized intrusion detection and prevention in autonomous vehicles
US11323548B2 (en) * 2019-01-20 2022-05-03 Arilou Information Security Technologies Ltd. System and method for data compression based on data position in frames structure
US11209891B2 (en) * 2019-11-27 2021-12-28 Robert Bosch Gmbh Clock control to increase robustness of a serial bus interface
WO2021144859A1 (ja) * 2020-01-14 2021-07-22 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 侵入経路分析装置および侵入経路分析方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170026386A1 (en) * 2014-04-17 2017-01-26 Panasonic Intellectual Property Corporation Of America In-vehicle network system, fraud-detection electronic control unit, and fraud-detection method
KR20200090788A (ko) * 2017-12-19 2020-07-29 현대자동차주식회사 차량 내 네트워크에 보안을 제공하는 시스템 및 방법
JP2020150442A (ja) * 2019-03-14 2020-09-17 トヨタ自動車株式会社 ゲートウェイ装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102524377B1 (ko) 2022-11-25 2023-04-21 주식회사 유니온플레이스 비히클 관제를 위한 비히클 데이터의 통신 방법

Also Published As

Publication number Publication date
KR102471960B1 (ko) 2022-11-30
WO2022108087A1 (ko) 2022-05-27
US20220159018A1 (en) 2022-05-19

Similar Documents

Publication Publication Date Title
KR20220068323A (ko) 차량용 can 통신 보안 장치 및 방법
EP0827062A1 (en) Electronic apparatus and operation mode controlling method therefor
US10764326B2 (en) Can controller safe against can-communication-based hacking attack
CN108040355B (zh) 网络接入方法及系统
US11888866B2 (en) Security module for a CAN node
EP3772839B1 (en) Security module for a serial communications device
CN101937417B (zh) Usb中断端点共享
WO2018112942A1 (zh) 设备认证方法、装置、电子设备及从设备
KR101972457B1 (ko) Can 통신 기반 해킹공격 탐지 방법 및 시스템
CN112347023A (zh) 用于can节点的安全模块
KR101334017B1 (ko) 차량 네트워크의 메시지 무결성 체크 시스템 및 방법
JPH11275122A (ja) データ伝送装置
CN112422485B (zh) 一种传输控制协议的通信方法及装置
CN115189977B (zh) 一种基于axi协议的广播传输方法、系统及介质
KR101825711B1 (ko) Can 통신 기반 해킹공격에 안전한 can 컨트롤러
US20220329614A1 (en) Method for monitoring communication on a communication bus, electronic device for connection to a communication bus, and central monitoring device for connection to a communication bus
CN111222104A (zh) 利用硬件加密狗对嵌入式设备进行授权的方法、装置及系统
CN110399751B (zh) 数据传输方法及系统
CN111258739A (zh) 一种服务器进程更新方法、装置、服务器和介质
KR102595722B1 (ko) 통신 네트워크, 이에 연결된 노드를 식별하는 방법 및 장치
CN114338275B (zh) 一种autbus总线网络节点的管理方法、装置、设备及存储介质
CN116938598B (zh) 信息发送方法、装置、电子设备和计算机可读介质
EP0829807A2 (en) Data transmission system for transmitting data between plural microcomputer application instruments
JP2012114724A (ja) 電子制御装置
KR20200124903A (ko) 피엘씨 네트워크의 마스터 모듈과 슬래이브 모듈 간의 통신 방법

Legal Events

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