KR101714526B1 - 차량 네트워크 해킹 방지 방법 및 장치 - Google Patents

차량 네트워크 해킹 방지 방법 및 장치 Download PDF

Info

Publication number
KR101714526B1
KR101714526B1 KR1020150170382A KR20150170382A KR101714526B1 KR 101714526 B1 KR101714526 B1 KR 101714526B1 KR 1020150170382 A KR1020150170382 A KR 1020150170382A KR 20150170382 A KR20150170382 A KR 20150170382A KR 101714526 B1 KR101714526 B1 KR 101714526B1
Authority
KR
South Korea
Prior art keywords
message
controller
hacking
vehicle network
vehicle
Prior art date
Application number
KR1020150170382A
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 KR1020150170382A priority Critical patent/KR101714526B1/ko
Application granted granted Critical
Publication of KR101714526B1 publication Critical patent/KR101714526B1/ko

Links

Images

Classifications

    • 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
    • H04L12/40006Architecture of a communication node
    • H04L12/40045Details regarding the feeding of energy to the node from the bus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • 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
    • 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)
  • Power Engineering (AREA)
  • Small-Scale Networks (AREA)

Abstract

본 발명은 차량 네트워크 해킹 방지 방법 및 장치에 관한 것으로서, 본 발명의 일 실시예에 따른 차량 네트워크에 연결된 제1 제어기에서의 차량 네트워크 해킹 방지 방법은 제1 송출 주기로 상기 제1 제어기의 아이디가 포함된 제1 메시지를 상기 차량 네트워크에 전송하는 단계와 상기 차량 네트워크상에 상기 제어 메시지와 동일한 아이디를 가지는 제2 메시지가 상기 제1 송출 주기가 도래하기 이전에 존재하는지 감지하는 단계와 상기 제2 메시지의 존재가 감지되면, 소정 해킹 감지 메시지를 상기 차량 네트워크에 연결된 제2 제어기에 전송하는 단계를 포함할 수 있다. 따라서, 본 발명은 차량 네트워크상의 외부 침입 메시지를 감지하여 해킹을 차단하는 장점이 있다.

Description

차량 네트워크 해킹 방지 방법 및 장치{METHOD AND APPARATUS FOR PROTECTING HACKING IN VEHICLE NETWORK}
본 발명은 차량 네트워크 보안에 관한 것으로서, 상세하게, 차량 네트워크상의 해킹 메시지의 침입을 감지하고, 침입 감지 시 외부 해킹 메시지로부터 차량 네트워크를 안전하게 보호하는 것이 가능한 차량 네트워크 해킹 방지 방법 및 장치에 관한 것이다.
최근 급격한 IT 기술의 발전은 자동차 산업에도 많은 영향을 미치고 있으며, 다양한 IT 기술 및 통신 기술이 차량에 접목되고 있는 실정이다.
특히, 최근 출시되는 차량에는 외부 장치와의 통신을 위한 다양한 무선 통신 기능이 탑재되고 있으며 이를 통해 다양한 응용 서비스가 제공되고 있다.
일 예로, 네비게이션과 같은 경로 안내 장치는 GPS(Global Positioning System) 위성을 통해서 수신 받은 신호에 기반하여 차량의 현재 위치를 측위하고, 측위된 현재 위치에 대응되는 지도 데이터를 내장된 지도 데이터베이스로부터 읽어와 화면상에 차량의 현재 위치와 함께 표시함으로써, 운전자가 현재 주행하는 도로의 위치를 식별하거나 모르는 지역에서 주행할 때 목적지를 쉽게 찾을 수 있도록 도와주는 매우 유용한 장치이다.
또한, 최근 출시되는 차량은 차량 내 탑재된 다양한 제어기들 사이의 정보 교환 및 진단을 위한 다양한 차량 내 통신 네트워크가 장착되고 있다.
특히, 최근 출시되는 대부분의 차량은 다양한 차량 안전 시스템 및 운전자 편의 시스템이 탑재되고 있으며, 그에 따라 차량 내 통신 네트워크상에서 송수신되는 데이터의 양이 급속히 증가하고 있는 실정이다.
이에 따라, 중대형 차종에 대해서는 차량용 게이트웨이를 적용하여 통신 부하를 분산시키는 추세이며 향후 증가될 통신 부하에 대비하여 CAN-FD, 이더넷 등 보다 빠른 속도의 통신 방식이 선행 개발 중에 있다.
차량용 진단기는 차량 내 탑재된 제어기들의 진단, 강제 구동, 리프로그래밍 등의 목적으로 진단 통신 표준-예를 들면, ISO15765-2를 포함함-에 따라 제어기와 통신을 수행한다. 이때, 진단기와 차량용 제어기는 차량용 게이트웨이를 통해 라우팅될 수 있다.
일 예로, 차량 내 통신 네트워크는 CAN(Controller Area Network) 통신 방식이 사용될 수 있으며, 이 경우, CAN 프레임은 크게 제어기들의 진단을 위한 진단 메시지와 제어기들의 동작을 제어하기 위한 제어 메시지로 구분될 수 있다.
진단용 CAN 프레임은 전송 블록의 크기가 8바이트(Bytes)가 넘지 않는 단일 프레임(Single Frame)과 전송 블록의 크기가 8바이트를 초과하여 여러 개의 CAN 프레임으로 분할하여 전송해야 하는 연속 프레임(Consecutive Frame)으로 구분될 수 있다.
또한, 일부 제어 메시지의 경우, 특정 제어기에서 주기적으로 송출될 수 있다.
사물 인터넷(IoT: Internet of Things)의 확산 적용에 따라 차량/사물/사람 사이의 연결성이 확대됨에 따라 운전자에게 운행의 편의성 및 안전성이 크게 증가 하고 있다. 하지만, 이러한 연결성으로 인해 해커들의 공격에 쉽게 노출될 수 있고 이에 따라 차량 네트워크 보안 기술이 매우 중요한 이슈가 되고 있다. 차량 네트워크 공격의 대표적인 예로는 주행 계통, 제어 계통, 소프트웨어 위/변조 등이 있으며 모두 차량에 심각한 해를 끼칠 수 있고 운전자의 주행 안전을 크게 위협할 수 있다. 최근 다양한 해커들의 차량 네트워크 해킹 사례가 알려지고 있으며, 그에 따른 고객들의 차량 보안에 대한 불안감이 지속적으로 증가하고 있는 실정이다.
기존 CAN 네트워크는 차량의 OBD(On Board Diagnostic) 커넥터를 통해 연결만 하면 전체 네트워크에 접근이 가능했다. 따라서 OBD 커넥터와 차량 내 네트워크 사이에 게이트웨이를 탑재하여 내부 차량 네트워크를 보호하는 방식-즉, Centralized Gateway 방식-이 점차 보편화 되고 있다. 이렇게 되면 내부 네트워크는 물리적으로 분리되어있어 OBD 커넥터를 통해서 볼 수 없게 된다.
하지만, 해커가 텔레매틱스를 통해 차량 내 통신 네트워크에 접속하거나 차량 내부 네트워크의 제어기안에 해킹 프로그램을 설치하거나 또는 내부 CAN 네트워크 핀을 찾아 직접 접근한다면 차량 네트워크를 보호할 수 없게 된다. 이렇게 차량 내부 네트워크가 외부 해커로부터 공격받는 경우, 제어기(단말기)가 차량 내부 네트워크의 정보를 빼간다거나 정보를 왜곡하여 차량의 상태를 불안정하게 할 수 있어 운전자의 안전이 위협될 수가 있다.
본 발명은 상술한 종래 기술의 문제점을 해결하기 위해 고안된 것으로, 본 발명의 목적은 차량 네트워크 해킹 방지 방법 및 장치를 제공하는 것이다.
본 발명의 다른 목적은 차량 네트워크상의 해킹 메시지의 침입을 감지하고, 침입 감지 시 외부 해킹 메시지로부터 차량 네트워크를 안전하게 보호하는 것이 가능한 차량 네트워크 해킹 방지 방법 및 장치를 제공하는 것이다.
본 발명의 또 다른 목적은 제어기 자신의 메시지와 동일한 CAN 아이디를 가지는 해킹 메시지 감지 시 CAN 아이디를 동적으로 변경함으로써, 해당 CAN 네트워크상의 해킹 메시지가 자동 폐기되도록 제어하는 것이 가능한 차량 네트워크 해킹 방지 방법 및 장치를 제공하는 것이다.
본 발명에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 발명은 차량 네트워크 해킹 방지 방법 및 장치를 제공한다.
본 발명의 일 실시예에 따른 차량 네트워크에 연결된 제1 제어기에서의 차량 네트워크 해킹 방지 방법은 제1 송출 주기로 상기 제1 제어기의 아이디가 포함된 제1 메시지를 상기 차량 네트워크에 전송하는 단계와 상기 차량 네트워크상에 상기 제1 메시지와 동일한 아이디를 가지는 제2 메시지가 상기 제1 송출 주기가 도래하기 이전에 존재하는지 감지하는 단계와 상기 제2 메시지의 존재가 감지되면, 소정 해킹 감지 메시지를 상기 차량 네트워크에 연결된 제2 제어기에 전송하는 단계를 포함할 수 있다.
여기서, 상기 차량 네트워크 해킹 방지 방법은 상기 제2 메시지의 존재가 감지되면, 상기 제1 제어기의 아이디를 변경하는 단계와 상기 변경된 아이디가 포함된 브로드캐스트 메시지를 상기 차량 네트워크에 전송하는 단계를 더 포함할 수 있다.
여기서, 상기 차량 네트워크는 CAN(Controller Area Network)이고, 상기 변경된 아이디는 상기 브로트캐스트 메시지의 데이터 필드에 포함되어 전송될 수 있다.
또한, 상기 브로드캐스트 메시지의 데이터 필드 일측에 상기 브로드캐스트 메시지가 상기 아이디 변경을 알리기 위한 메시지임을 지시하는 소정 데이터 식별 정보가 포함될 수 있다.
여기서, 상기 데이터 식별 정보는 데이터 필드의 최상위 바이트에 기록될 수 있다.
또한, 상기 브로드캐스트 메시지는 상기 차량 네트워크에 연결된 모든 제어기들로부터 긍정 응답 메시지가 수신될 때까지 반복 전송될 수 있다.
여기서, 상기 긍정 응답 메시지가 상기 모든 제어기들로부터 수신되면, 상기 변경된 아이디를 이용하여 메시지를 전송할 수 있다.
또한, 상기 차량 네트워크 해킹 방지 방법은 상기 제1 메시지의 전송 후 상기 차량 네트워크를 모니터링하여 상기 제1 메시지의 데이터 필드가 변경되었는지 여부를 확인하는 단계와 상기 확인 결과, 상기 데이터 필드의 변경이 확인된 경우, 상기 제1 송출 주기 내에서 상기 제1 메시지의 전송 시점을 랜덤하게 지연하는 단계를 더 포함할 수 있다.
여기서, 단위 시간 동안 상기 데이터 필드의 변경이 소정 회수 이상 확인된 경우, 상기 제1 메시지의 전송 시점을 전송 시점을 랜덤하게 지연할 수 있다.
또한, 상기 제2 제어기는 클러스터, 차량 헤드 유닛 중 적어도 하나를 포함하되, 상기 해킹 감지 메시지가 상기 클러스터, 상기 차량 헤드 유닛 중 적어도 하나에 수신되면, 해킹이 발생되었음을 알리는 소정 경고 메시지가 상기 클러스터, 상기 차량 헤드 유닛 중 적어도 하나에 의해 출력될 수 있다.
본 발명의 다른 일 실시예에 따른 차량 네트워크 해킹 방지 방법은 동일 차량 네트워크에 연결된 제어기로부터 해킹 감지 메시지를 수신하는 단계와 상기 차량 네트워크에 연결된 제어기들에 대한 순차적인 전원 공급 제어를 통해 해킹 메시지를 발생시킨 제어기를 식별하는 단계와 상기 식별된 제어기로의 전원 공급을 차단하는 단계를 포함할 수 있다.
또한, 특정 제어기에 대한 전원 공급 차단 시 상기 해킹 감지 메시지가 수신되지 않으면, 해당 특정 제어기를 상기 해킹 메시지를 발생시킨 제어기로 식별할 수 있다.
또한, 특정 제어기에 대한 전원 공급 차단 시 상기 차량 네트워크상에 상기 해킹 메시지가 감지되지 않으면, 상기 특정 제어기를 상기 해킹 메시지를 발생시킨 제어기로 식별할 수 있다.
또한, 상기 차량 네트워크 해킹 방지 방법은 상기 식별된 제어기가 차량 운행 및 안전에 치명적인 제어기인지 여부를 확인하는 단계를 더 포함하되, 상기 확인 결과, 상기 식별된 제어기가 차량 운행 및 안전에 치명적인 제어기인 경우, 상기 차량 네트워크에 연결된 제2 제어기에 운전자의 차량 정차를 유도하도록 지시하는 소정 제어 메시지를 전송할 수 있다.
여기서, 상기 차량 정차가 확인되면, 상기 식별된 제어기로의 전원 공급이 차단될 수 있다.
또한, 상기 확인 결과, 상기 식별된 제어기가 차량 운행 및 안전에 치명적인 제어기가 아닌 경우, 상기 식별된 제어기로의 전원 공급이 즉시 차단될 수 있다.
본 발명의 또 다른 일 실시예에 따른 차량 네트워크에 연결된 차량 네트워크 해킹 방지 장치는 제1 송출 주기로 상기 제1 제어기의 아이디가 포함된 제1 메시지를 상기 차량 네트워크에 전송하는 송신부와 상기 차량 네트워크상에 상기 제1 메시지와 동일한 아이디를 가지는 제2 메시지가 상기 제1 송출 주기가 도래하기 이전에 존재하는지 감지하는 해킹 감지부를 포함하되, 상기 해킹 감지부가 상기 제2 메시지의 존재를 감지하면, 소정 해킹 감지 메시지가 상기 송신부를 통해 상기 차량 네트워크에 연결된 제2 제어기에 전송되도록 제어할 수 있다.
본 발명의 또 다른 일 실시예에 따른 차량 네트워크 해킹 방지 장치는 동일 차량 네트워크에 연결된 제어기로부터 해킹 감지 메시지를 수신하는 수신부와 상기 차량 네트워크에 연결된 제어기들에 대한 순차적인 전원 공급 제어를 통해 해킹 메시지를 발생시킨 제어기를 식별하는 식별부와 상기 식별부의 제어 신호에 따라 상기 식별된 제어기로의 전원 공급을 차단하는 전원 제어부를 포함할 수 있다.
본 발명의 또 다른 일 실시예는 상기한 차량 네트워크 해킹 방지 방법들 중 어느 하나의 방법을 실행시키기 위한 프로그램 및 상기 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체가 제공될 수 있다.
상기 본 발명의 양태들은 본 발명의 바람직한 실시예들 중 일부에 불과하며, 본원 발명의 기술적 특징들이 반영된 다양한 실시예들이 당해 기술분야의 통상적인 지식을 가진 자에 의해 이하 상술할 본 발명의 상세한 설명을 기반으로 도출되고 이해될 수 있다.
본 발명에 따른 방법 및 장치에 대한 효과에 대해 설명하면 다음과 같다.
본 발명은 차량 네트워크 해킹 방지 방법 및 장치를 제공하는 장점이 있다.
또한, 본 발명은 차량 네트워크상의 해킹 메시지를 감지하고, 해킹 감지 시 해킹 메시지로부터 차량 네트워크를 안전하게 보호하는 것이 가능한 차량 네트워크 해킹 방지 방법 및 장치를 제공하는 것이다.
또한, 본 발명은 제어기 자신의 메시지와 동일한 CAN 아이디를 가지는 해킹 메시지 감지 시 CAN 아이디를 동적으로 변경함으로써, 해당 CAN 네트워크상의 해킹 메시지가 자동 폐기되도록 제어하는 것이 가능한 차량 네트워크 해킹 방지 방법 및 장치를 제공하는 것이다.
본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
이하에 첨부되는 도면들은 본 발명에 관한 이해를 돕기 위한 것으로, 상세한 설명과 함께 본 발명에 대한 실시예들을 제공한다. 다만, 본 발명의 기술적 특징이 특정 도면에 한정되는 것은 아니며, 각 도면에서 개시하는 특징들은 서로 조합되어 새로운 실시예로 구성될 수 있다.
도 1은 본 발명에 따른 차량 CAN 통신 네트워크의 구조를 설명하기 위한 도면이다.
도 2는 국제 표준에 정의된 CAN 데이터 프레임의 구조이다.
도 3은 본 발명의 일 실시예에 따른 텔레매틱스 단말을 통해 엔진 시스템에 대해 해킹이 시도되는 예를 설명하기 위한 도면이다.
도 4는 본 발명의 일 실시예에 따른 차량 네트워크 해킹 방지 방법을 설명하기 위한 순서도이다.
도 5는 본 발명의 다른 일 실시예에 따른 텔레매틱스 단말을 통해 엔진 시스템에 대해 해킹이 시도되는 예를 설명하기 위한 도면이다.
도 6은 본 발명의 다른 일 실시예에 따른 차량 네트워크 해킹 방지 방법을 설명하기 위한 순서도이다.
도 7은 본 발명의 또 다른 일 실시예에 따른 차량 네트워크 해킹 방지 방법을 설명하기 위한 도면이다.
도 8은 본 발명의 일 실시예에 따른 차량 네트워크 해킹 방지 장치의 구조를 설명하기 위한 블록도이다.
도 9는 본 발명의 다른 일 실시예에 따른 차량 네트워크 해킹 방지 장치의 구조를 설명하기 위한 블록도이다.
이하, 본 발명의 실시예들이 적용되는 장치 및 다양한 방법들에 대하여 도면을 참조하여 보다 상세하게 설명한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다.
이상에서, 본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성 요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 본 발명의 기술 분야의 당업자에 의해 용이하게 추론될 수 있을 것이다. 이러한 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 저장매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시예를 구현할 수 있다. 컴퓨터 프로그램의 저장매체로서는 자기 기록매체, 광 기록매체 등이 포함될 수 있다.
또한, 이상에서 기재된 "포함하다", "구성하다" 또는 "가지다" 등의 용어는, 특별히 반대되는 기재가 없는 한, 해당 구성 요소가 내재될 수 있음을 의미하는 것이므로, 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것으로 해석되어야 한다. 기술적이거나 과학적인 용어를 포함한 모든 용어들은, 다르게 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 사전에 정의된 용어와 같이 일반적으로 사용되는 용어들은 관련 기술의 문맥 상의 의미와 일치하는 것으로 해석되어야 하며, 본 발명에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성 요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성 요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
도 1은 본 발명에 따른 차량 CAN 통신 네트워크의 구조를 설명하기 위한 도면이다.
도 1을 참조하면, 차량 내 통신 시스템은 차량에 장착된 제어기 사이의 통신 시 라우팅 기능을 제공하는 차량 게이트웨이(10)와 차량 게이트웨이(10)에 연결된 다양한 도메인의 네트워크(들)-네트워크-A(20), 네트워크-B(30), 네트워크-C(40)-로 구성될 수 있다. 각각의 네트워크 또는 도메인은 적어도 하나의 제어기를 포함하여 구성될 수 있다. 일 예로, 도메인은 바디 도메인(Body Domain), 샤시 도메인(Chassis Domain), 운전자 지원 시스템 도메인(Driver Assistance System Domain), 파워 트레인 도메인(Power Train Doamin), 서라운드 뷰 도메인(Surround View Domain), 헤드 유닛 도메인(Head Unit Domain) 등을 포함할 수 있으나 이에 한정되지는 않으며, 차량 제조사 및 차종에 따라 해당 도메인의 이름 및 종류가 상이할 수 있음을 주의해야 한다.
또한, 차량 게이트웨이(10)와 네트워크 사이의 통신 방식은 도메인 별로 상이할 수도 있으며, 차량 내 통신 시스템에는 복수의 차량 게이트웨이가 포함될 수도 있다. 일 예로, 차량 내 통신 시스템에 적용 가능한 통신 방식은 CAN(Controller Area Network) 통신, LIN(Local Interconnect Network) 통신, FlexRay 통신, 이더넷(Ethernet) 통신 등을 포함할 수 있으나 이에 한정되지는 않는다.
일 예로, 본 발명에 따른 동적 차량 보안 통신 제어 방법이 적용되는 차량 내 통신망은 브로드캐스팅 방식의 통신을 수행하는 네트워크에 적합할 수 있으나, 이에 한정되지는 않는다.
이하의 설명에서는 차량 게이트웨이(10)에 연결된 네트워크가 브로드캐스팅 방식으로 통신을 수행하는 CAN 통신을 예를 들어 설명하기로 한다.
또한, 본 발명에 따른 차량 게이트웨이(10)에는 진단기(50)가 연결될 수 있다. 일 예로, 진단기(50)는 차량에 구비된 소정 진단기용 컨넥터를 통해 차량 게이트웨이(10)에 접속되며, 접속된 차량 게이트웨이(10)를 통해 차량 내 탑재된 제어기들과 진단 통신을 수행할 수 있다. 이때, 진단기(50)와 차량 게이트웨이(10) 사이의 통신은 CAN 통신이 아닌 상이한 통신 방식이 사용될 수 있다. 예를 들면, 진단기(50)와 차량 게이트웨이(10) 사이의 통신은 RS232 시리얼 통신이 사용될 수 있으나, 이에 한정되지는 않으며 차량 제조사에 따라 상이한 통신 방식이 사용될 수 있음을 주의해야 한다. 다른 일 예로, 진단기(50)와 차량 게이트웨이(10) 사이의 통신은 유선 통신이 아닌 근거리 무선 통신이 사용될 수도 있다. 일 예로, 근거리 무선 통신은 Wi-Fi 통신, Zigbee 통신, UWB 통신, 블루투스 통신 중 어느 하나일 수 있으나, 이에 한정되지는 않는다.
본 발명의 일 실시예에 따른 차량 게이트웨이(10)는 차량 시동이 ON될 때마다, 자신과 연결된 모든 네트워크(20, 30, 40)에 포함된 제어기를 위한 신규 아이디(ID:Idenfication)를 생성하고, 생성된 신규 아이디를 이용하여 라우팅 테이블을 갱신할 수 있다. 여기서, 신규 아이디는 해당 차량 또는 차량 게이트웨이(10) 또는 해당 네트워크 내에서 해당 제어기를 고유하게 식별하기 위한 정보일 수 있다. 일 예로, CAN 통신의 경우, 신규 아이디는 각 제어기의 출력 메시지에 포함되어 전송될 수 있으며, 각 제어기에는 메시지 수신이 가능한 제어기를 수신된 메시지에 포함된 신규 아이디를 통해 식별할 수 있다. 이를 위해, 각각의 제어기에는 메시지 수신이 허여된 제어기의 아이디 정보-즉, 수신 가능 아이디 리스트-가 유지될 수 있다. 만약, 메시지 수신이 허여된 제어기 아이디가 포함되지 않은 메시지가 수신된 경우, 해당 제어기는 수신된 메시지를 폐기할 수 있다.
일반적으로 CAN 통신의 버스에서는 각각의 노드-즉, 전자 제어 유닛(ECU: Electronic Control Unit) 또는 제어기-가 CAN 버스에 흘러다니는 데이터를 읽거나 쓰기 위해 액세스(access)할 때 전체 노드를 제어하는 마스터(master)가 존재하지 않는다. 따라서, 각 노드에서 데이터를 전송할 준비가 되면, 각 노드는 CAN 버스 라인이 사용 중인지를 먼저 확인한 후 CAN 프레임을 네트워크에 전송할 수 있다. 이때, 전송되는 CAN 프레임은 전송 노드나 수신 노드 중 어느 노드의 주소도 포함하고 있지 않으며, 대신, CAN 프레임을 전송한 제어기를 고유하게 식별하기 위한 아이디를 CAN 프레임에 포함하여 전송한다.
만약, 각 노드들이 동시에 메시지를 CAN 버스로 전송하려는 경우 최우선 순위를 가진 노드-예를 들면, 가장 낮은 중재(Arbitration) 아이디를 갖는 노드-가 자동적으로 버스에 액세스될 수 있다. 현재, CAN 통신에서 사용되는 중재 아이디는 11bits(CAN 2.0 Part A) 또는 29bits(CAN 2.0 Part B)의 길이를 갖는다.
즉, CAN 프레임의 아이디는 메시지의 내용을 식별시켜 주는 역할뿐만 아니라 해당 메시지의 우선 순위를 식별하기 위한 용도로 사용될 수 있다. 일 예로, 제어기 아이디의 할당 범위는 응용 메시지인 경우 0x000h~Ox7ffh 또는 0x000h~Ox6ffh일 수 있고, 진단 메시지인 경우, Ox700h~0x7ffh일 수 있으나 이에 한정되지는 않으며, 중재 아이디 필드의 길이 또는(및) 차량 제조사 및 차종에 따라 그 할당 범위가 상이하게 결정될 수도 있음을 주의해야 한다.
도 2는 국제 표준에 정의된 CAN 데이터 프레임의 구조이다.
도 2를 참조하면, CAN 데이터 프레임(200)은 SOF(Start Of Frame, 201) 필드, ID(Identifier, 202) 필드, RTR(Remote Transmission Request, 203) 필드, IDE(IDentifier Extension, 204) 필드, R(Reserved, 205) 필드, DLC(Data Length Code, 206) 필드, Data(207) 필드, CRC(Cyclic Redundancy Check, 208) 필드, ACK(ACKnowledgement, 209) 필드, EOF(End Of Frame, 210) 필드 및 IFS(InterFrame Space, 211) 필드를 포함하여 구성될 수 있다.
SOF(201)는 1비트의 길이를 가지며, 해당 프레임의 시작을 표시하기 위해 사용된다.
ID(202)는 메시지의 종류를 식별하고 메시지의 우선 순위를 지정하기 위한 정보이다. 본 예에서는 ID(202)의 길이가 11비트인 표준 CAN 데이터 프레임 포맷이 도시되어 있으나, 표준에는 ID(202)의 길이가 29비트인 확장 CAN 데이터 프레임 포맷도 정의되어 있다.
IDE(204)는 해당 프레임이 표준 프레임인지 확장 프레임인지를 식별하기 위해 사용되며, 1비트의 길이를 가진다. 예를 들어, IDE(203)의 값이 0이면 표준 프레임, 1이면 확장 프레임을 의미할 수 있다.
RTR(203)은 해당 프레임이 원격 프레임인지 데이터 프레임인지를 구별하기 용도로 사용된다. 예를 들어, RTR(203)의 값이 0이면 데이터 프레임을 의미하고, 1이면 원격 프레임을 의미할 수 있다.
R(205) 필드는 현재 표준에 용도가 정의되지 않은 추후 사용을 위해 예약된 필드로서 1비트의 길이를 가진다.
DLC(206)은 해당 프레임에 포함된 데이터의 길이를 바이트 단위로 식별하기 위한 코드 정보로서, 4비트의 길이를 가진다.
Data(207)는 0바이트(Byte)에서 8바이트까지의 가변 길이를 가질 수 있다.
CRC(208)는 15비트의 주기적인 중복 체크 코드와 1비트의 역행 델리미터(Delimiter)로 구성되며, 수신된 프레임에 오류가 있는지를 확인하기 위한 용도로 사용된다.
ACK(209)는 수신단에서 해당 프레임을 정상적으로 수신하였는지를 확인하기 위한 필드로서, 2비트의 길이를 가진다. CAN 데이터 프레임을 정확하게 수신한 모든 CAN 컨트롤러는 해당 프레임의 말미에 위치한 ACK 비트를 전송한다. 전송 노드는 버스 상에 ACK 비트 유무를 확인하고, 만약, ACK가 발견되지 않을 경우, 전송 노드는 해당 프레임에 대한 재전송을 시도한다.
EOF(210)은 해당 CAN 프레임의 종료를 표시하기 필드로서, 7비트의 길이를 가진다.
IFS(211)는 CAN 컨트롤러가 연속된 프레임을 처리하기 위해 요구하는 시간을 제공하고, 메시지 버퍼 영역에서 적절한 위치로 정확하게 수신된 프레임을 이동시키는데 필요한 시간을 확보하기 위한 용도로 사용될 수 있다.
이상에서 살펴본 바와 같이, CAN 데이터 프레임은 총 47비트에서 111비트의 가변 길이를 갖는다. 만약, Data(207)의 크기가 8바이트인 경우, 전체 CAN 데이터 프레임에서 Data(207)가 차지하는 비율은 58%에 해당된다.
CAN 통신 메시지는 데이터 프레임, 원격 프레임, 에러 프레임 등 여러 종류의 프레임 형식이 제공된다.
도 3은 본 발명의 일 실시예에 따른 텔레매틱스 단말을 통해 엔진 시스템에 대해 해킹이 시도되는 예를 설명하기 위한 도면이다.
도 3의 도면 번호 310을 참조하면, 정상 상태에서 CAN 버스에 연결된 엔진 제어기(311)는 엔진 시스템(312)을 제어하기 위한 정상적인 엔진 제어 메시지를 소정 주기(Yms)로 송출할 수 있다.
이때, 엔진 제어기(311)는 엔진 제어 메시지의 송출 주기(Yms)와 다른 시점에 자신이 송출한 엔진 제어 메시지의 CAN 아이디와 동일한 CAN 아이디를 가지는 메시지가 CAN 버스상에 존재하는지를 실시간 모니터링할 수 있다.
모니터링 결과, 도면 번호 320에 도시된 바와 같이, CAN 버스 상에 자신의 엔진 제어 메시지 송출 시점이 아닌 시점에서 동일 CAN 아이디를 가지는 엔진 제어 메시지가 감지된 경우, 엔진 제어기(311)는 해킹이 발생되었음을 감지할 수 있다. 이하, 설명의 편의를 위해, 엔진 제어기(311)가 송출한 엔진 제어 메시지를 정상 엔진 제어 메시지라 하고, 엔진 제어기(311)가 송출하지 않은 동일 CAN 아이디를 갖는 엔진 제어 메시지를 해킹 엔진 제어 메시지라 명하기로 한다.
해킹 엔진 제어 메시지는 외부 해킹 단말(또는 해킹 서버)에 의해 생성될 수 있으며, 차량 내 장착된 텔레매틱스 단말(321)(또는 차량 헤드 유닛)을 통해 차량에 수신되어 차량 CAN 네트워크에 전달될 수 있다.
도면 번호 320을 참조하면, 해커는 정상 엔진 제어 메시지의 송출 주기(Ym)는 알고 있을 수 있으나, 엔진 제어기(312)에서의 송출 시점은 알 수 없을 수 있다. 이 경우, 엔진 제어기(312)는 해킹 엔진 제어 메시지를 정상 엔진 제어 메시지의 송출 주기 사이에서 감지될 수 있다.
엔진 제어기(311)는 해킹 엔진 제어 메시지가 감지된 경우, 소정 해킹 감지 메시지를 생성하여 클러스터(322)에 전송할 수 있다. 일 예로, 엔진 제어기(311)는 소정 회수 이상 해킹 엔진 제어 메시지가 연속적으로 또는 불연속적으로 감지된 경우에 해킹 감지 메시지를 클러스터(322)에 전송할 수도 있다. 클러스터(322)는 해킹 감지 메시지가 수신되면, 구비된 디스플레이 화면에 엔진 제어기(311)에 의해 해킹이 감지되었음을 알리는 소정 경고등을 점등시킬 수 있다.
도 4는 본 발명의 일 실시예에 따른 차량 네트워크 해킹 방지 방법을 설명하기 위한 순서도이다.
도 4를 참조하면, 차량 엔진 시스템을 제어하는 제어기는 소정 엔진 제어 메시지를 차량 네트워크상에 송출한 후, 소정 타이머를 리셋시킬 수 있다(S401). 일 예로, 엔진 제어 메시지는 차량 CAN 버스상에 놓여질 수 있으며, 타이머 리셋에 따라 구동된 타이머가 만료되면, 새로운 엔진 제어 메시지가 해당 제어기에 의해 차량 CAN 버스상에 놓여질 수 있다.
제어기는 타이머 만료 전 자신이 송출한 엔진 제어 메시지의 CAN 아이디와 동일한 아이디를 갖는 엔진 제어 메시지-즉, 해킹 엔진 제어 메시지-가 CAN 버스상에 존재하는지 CAN 버스를 실시간 모니터링할 수 있다(S402 내지 S403).
모니터링 결과, 타이머 만료 전 해킹 엔진 제어 메시지가 감지된 경우, 제어기는 소정 해킹 감지 메시지를 CAN 버스에 연결된 클러스터에 전송할 수 있다(S404).
모니터링 결과, 타이머 만료 전 해킹 엔진 제어 메시지가 감지되지 않고, 타이머가 만료된 경우, 제어기는 상기한 401 단계로 진입하여 새로운 엔진 제어 메시지를 송출할 수 있다(S405).
도 5는 본 발명의 다른 일 실시예에 따른 텔레매틱스 단말을 통해 엔진 시스템에 대해 해킹이 시도되는 예를 설명하기 위한 도면이다.
도 5의 도면 번호 510을 참조하면, 정상 상태에서 CAN 버스에 연결된 엔진 제어기(311)는 엔진 시스템(312)을 제어하기 위한 정상적인 엔진 제어 메시지를 소정 주기(Yms)로 송출할 수 있다.
이때, 엔진 제어기(311)는 엔진 제어 메시지의 송출 주기(Yms) 이내에 자신이 송출한 엔진 제어 메시지의 CAN 아이디와 동일한 CAN 아이디를 가지는 메시지가 CAN 버스상에 존재하는지를 실시간 모니터링할 수 있다.
모니터링 결과, 도면 번호 510에 도시된 바와 같이, CAN 버스상에 자신의 엔진 제어 메시지 송출 시점과 동일한 시점에 동일 CAN 아이디를 가지는 해킹 엔진 제어 메시지가 텔레매틱스 단말(321)에 의해 송출된 경우, 엔진 제어기(311)는 엔진 제어 메시지를 정상적으로 송출하지 못할 수 있다.
일 예로, 해킹 엔진 제어 메시지와 정상 엔진 제어 메시지의 송출 시점이 동일한 경우, 데이터 필드의 시그널 값이 왜곡될 수 있다. 가령, 제어기가 자신이 전송할 데이터 필드의 값이 리세시브(Recessive)(High, 1)인 상태에서 해킹 엔진 제어 메시지에 의해 도미넌트(Dominant)(Low, 0)인 상태로 덮어 쓰여진 경우, 엔진 제어기(311)는 CAN 버스 할당 정책에 따라 경쟁에서 밀려나 자신이 보내고자 하는 엔진 제어 메시지를 송출할 수 없게 된다.
데이터 필드 충돌이 소정 회수 연속해서 발생되거나 단위 시간 동안 소정 회수 발생된 경우, 엔진 제어기(312)는 도면 번호 520에 도시된 바와 같이, 임의의 값(Zms)만큼 지연한 후 충돌이 발생된 엔진 제어 메시지를 재전송할 수 있다.
충돌 발생된 엔진 제어 메시지를 랜덤 지연(Random Delay) 후 재전송함에 따라 정상 엔진 제어 메시지와 해킹 엔진 제어 메시지의 충돌은 회피될 수 있으며, 엔진 제어기는 상기한 도 4의 절차에 따라 해킹 발생을 감지하고, 소정 해킹 감지 메시지를 클러스터에 전송할 수 있다. 이때, 랜덤 지연 값(Zm)은 정상 엔진 제어 메시지의 송출 주기(Ym)보다 작아야 한다.
본 발명의 다른 일 실시예에 따른 엔진 제어기(311)는 CAN 버스 모니터링을 통해 버스 자체에 문제가 없는 상황인데, 상기와 같이 CAN 버스상에 기록한 데이터 필드 값이 CAN 버스 모니터링 시 변경된 것이 단위 시간 동안 소정 회수 발생된 것이 확인되면-즉, 데이터 충돌 현상이 반복 발생된 것이 확인되면-, 해킹이 발생된 것으로 판단하여 클러스터에 소정 해킹 감지 메시지를 전송할 수도 있다.
도 6은 본 발명의 다른 일 실시예에 따른 차량 네트워크 해킹 방지 방법을 설명하기 위한 순서도이다.
도 6을 참조하면, 차량 엔진 시스템을 제어하는 엔진 제어기는 소정 엔진 제어 메시지를 CAN 버스에 송출한 후, 소정 타이머를 리셋시킬 수 있다(S601).
엔진 제어기는 타이머 만료 전 자신이 송출한 엔진 제어 메시지의 CAN 아이디와 동일한 아이디를 갖는 엔진 제어 메시지-즉, 해킹 엔진 제어 메시지-가 CAN 버스상에 존재하는지 CAN 버스를 실시간 모니터링할 수 있다(S602 내지 S603).
모니터링 결과, 타이머 만료 전 해킹 엔진 제어 메시지가 감지된 경우, 엔진 제어기는 소정 해킹 감지 메시지를 CAN 버스에 연결된 클러스터에 전송할 수 있다(S604).
반면, 모니터링 결과, 타이머 만료 전 해킹 엔진 제어 메시지가 감지되지 않고, 타이머가 만료된 경우, 엔진 제어기는 상기한 601 단계로 진입하여 새로운 엔진 제어 메시지를 송출할 수 있다(S605).
엔진 제어기는 자신과 동일한 CAN 아이디를 가지는 해킹 메시지가 감지된 경우, 자신의 CAN 아이디를 변경하고, 변경된 CAN 아이디가 포함된 CAN 브로드캐스트 프레임을 CAN 버스에 전송할 수 있다(S606). 이때, 브로드캐스트 프레임의 데이터 필드의 일측에는 해당 엔진 제어기의 CAN ID가 변경되었음을 지시하는 소정 데이터 식별 정보가 포함될 수 있다. 일 예로, 데이터 식별 정보는 데이터 필드의 최상위 바이트에 기록될 수 있으며, 변경된 CAN ID는 데이터 식별 정보 이후에 기록될 수 있다. 예를 들면, 데이터 식별 정보는 0x0h일 수 있으나, 이는 하나의 실시예에 불과하며, 개발자에 의해 미리 정의된 다른 값이 사용될 수도 있음을 주의해야 한다.
엔진 제어기는 동일 CAN 네트워크에 연결된 해당 제어기들로부터 모두 긍정 응답(Positive Response)가 수신되었는지 확인할 수 있다(S607).
이때, 엔진 제어기는 동일 CAN 네트워크에 연결된 해당 제어기들로부터 모두 긍정 응답(Positive Response)가 수신될 때까지 상기 브로드캐스 메시지 전송을 반복 수행할 수 있다.
확인 결과, 동일 CAN 네트워크에 연결된 해당 제어기들로부터 모두 긍정 응답(Positive Response)가 수신된 경우, 엔진 제어기는 이후 변경된 CAN 아이디를 이용하여 엔진 제어 메시지를 전송할 수 있다(S608).
CAN 네트워크상에서 엔진 제어기를 위한 CAN 아이디가 정상적으로 변경된 경우, 엔진 제어기의 기존 CAN 아이디를 이용한 해킹 시도는 무력화될 수 있다. 즉, 동일 CAN 네트워크상의 모든 제어기들은 기존 CAN 아이디를 포함한 제어 메시지를 수신 처리하지 않고 폐기하거나 무시할 수 있다.
이상의 도 6의 설명에서는 엔진 제어기를 예를 들어 설명하고 있으나, 이는 하나의 실시예에 불과하면, 본 발명의 다른 일 실시예는 CAN 네트워크에 연결된 어떤 제어기에서도 동일한 방법으로 해킹 메시지를 감지할 수 있으며, 해킹 메시지 감지 시 클러스터에 해킹 감지 메시지를 전송한 후, CAN 아이디를 변경할 수 있음을 주의해야 한다.
또한, 이상의 도 3 내지 도 6의 설명에서는 해킹 메시지가 텔레매틱스 단말(321)을 통해 CAN 버스에 실려지는 것을 예를 들어 설명하고 있으나, 이는 하나의 실시예에 불과하면, 본 발명의 다른 일 실시예는 동일 CAN 버스에 연결된 제어기 중 어느 하나 이상에 의해 해킹 메시지가 송출될 수 있음을 주의해야 한다.
도 7은 본 발명의 또 다른 일 실시예에 따른 차량 네트워크 해킹 방지 방법을 설명하기 위한 도면이다.
도 7을 참조하면, 해킹 메시지를 감지한 엔진 제어기(710)는 클러스터(720)뿐만 아니라 네트워크 전원 제어기(730)에도 해킹 감지 메시지를 전송할 수 있다.
본 발명의 일 실시예에 따른 네트워크 전원 제어기(730)는 동일 CAN 네트워크에 연결된 각각의 제어기들의 전원 공급을 제어할 수 있다.
네트워크 전원 제어기(730)는 해킹 감지 메시지가 수신되면, 동일 CAN 네트워크에 연결된 각각의 제어기들을 순차적으로 ON/OFF 제어하여 해킹의 원인이 되는 제어기를 식별할 수 있다.
일 예로, 텔레매틱스 단말(740)에 의해 해킹 메시지가 발생되었다고 가정하자. 네트워크 전원 제어기(730)가 텔레매틱스 단말(740)에 대한 전원 공급을 차단한 경우, 텔레매틱스 단말(740)의 동작은 멈추며, 그에 따라 더 이상의 해킹 메시지가 CAN 버스상에 감지되지 않을 수 있다. 네트워크 전원 제어기(730)는 더 이상의 해킹 감지 메시지가 수신되지 않으면, 텔레매틱스 단말(740)이 해킹 원인인 것으로 판단하고, 텔레매틱스 단말(740)로의 전원 공급을 차단할 수 있다. 이를 위해 해킹을 감지한 제어기는 해킹 메시지가 더 이상 감지되지 않을 때까지 소정 주기로 해킹 감지 메시지를 네트워크 전원 제어기(730) 및 클러스터(720)에 전송할 수도 있다.
본 발명의 일 실시예에 따른 클러스터(720)는 해킹 감지 메시지가 수신되면, 주행 안전을 위해 구비된 화면의 일측에 차량 정차를 지시하는 소정 경고 메시지를 표시할 수도 있다. 본 발명의 다른 일 실시예에 따른 클러스터(720)는 차량 헤드 유닛(미도시)에 소정 제어 신호를 송출하여, 차량 정차를 안내하는 소정 안내 메시지가 차량 헤드 유닛에 구비된 디스플레이 또는 스피커를 통해 출력되도록 제어할 수도 있다. 본 발명의 또 다른 일 실시예에 따른 해킹을 감지한 제어기는 차량 헤드 유닛에 소정 제어 신호를 송출하여 차량 정차를 안내하는 소정 안내 메시지가 차량 헤드 유닛에 구비된 디스플레이 또는 스피커를 통해 출력되도록 제어할 수도 있다.
본 발명의 또 다른 일 실시예에 따른 해킹을 감지한 제어기는 해킹 감지 메시지를 네트워크 전원 제어기(730) 및 클러스터(720)에 송출한 후 자신의 CAN 아이디로 제어 메시지 송출을 중단할 수 있다. 네트워크 전원 제어기(730)는 동일 CAN 버스에 연결된 제어기들을 순차적으로 ON/OFF 제어하는 동안 해킹 감지 메시지를 송출한 제어기의 CAN 아이디가 CAN 버스상에 존재하는지 모니터링할 수 있다. 만약, 해킹 감지 메시지를 송출한 제어기의 CAN 아이디가 CAN 버스상에 더 이상 존재하지 않는 경우, 네트워크 전원 제어기(730)는 현재 OFF된 제어기를 식별하고, 식별된 제어기를 해킹을 발생시킨 제어기로 판단할 수 있다.
또한, 네트워크 전원 제어기(730)는 해킹을 발생시킨 제어기를 식별하면, 식별된 제어기가 차량 운행 및 안전에 치명적인 제어기인지 여부를 확인할 수 있다. 확인 결과, 차량 운행 및 안전에 치명적인 제어기인 경우-예를 들면, 엔진 제어기, 제동 제어기, 조향 제어기 등을 포함함-, 네트워크 전원 제어기(730)는 운전자의 차량 정차를 유도하기 위한 소정 제어 신호를 클러스터 또는 차량 헤드 유닛에 전송할 수도 있다. 이후, 차량이 완전히 정차되면, 해당 제어기로의 전원 공급을 차단하여 차량 운행을 중단시키거나, 해당 제어기의 동작 범위가 제한되도록 제어할 수 있다. 일 예로, 엔진 제어기에 해킹이 감지된 경우, 네트워크 전원 제어기(730)는 주행 속도가 소정 기준치를 초과하지 않도록 엔진 시스템에 소정 제어 신호를 송출할 수도 있다.
만약, 확인 결과, 차량 운행 및 안전에 치명적이지 않은 제어기인 경우-예를 들면, 차량 헤드 유닛, 텔레매틱스 단말, 공조 제어기, 서라운드 뷰 제어기 등을 포함함-, 네트워크 전원 제어기(730)는 즉시, 해당 제어기로의 전원 공급을 차단시킬 수 있다.
도 8은 본 발명의 일 실시예에 따른 차량 네트워크 해킹 방지 장치의 구조를 설명하기 위한 블록도이다.
도 8에 도시된 바와 같이, 차량 네트워크 해킹 방지 장치(800)는 크게 송신부(810), 수신부(820) 및 해킹 감지부(830)를 포함하여 구성될 수 있으나, 이는 하나의 실시예에 불과하며, 그 보다 많은 구성 요소들을 포함하여 구성될 수 있다. 일 예로, 차량 해킹 방지 장치(800)는 외부 전원을 공급 받기 위한 전원 포트를 더 포함할 수 있다.
송신부(810)는 제1 송출 주기로 차량 해킹 방지 장치(800)에 대응하여 미리 할당된 아이디가 포함된 제1 메시지를 차량 네트워크-예를 들면, 차량 CAN 통신망-에 전송할 수 있다.
수신부(820)는 차량 네트워크를 통해 메시지를 수신할 수 있다.
상기 송신부(810) 및 수신부(820)는 CAN 통신을 수행할 수 있으나, 이에 한정되지는 않는다.
해킹 감지부(830)는 차량 네트워크상에 제1 메시지와 동일한 아이디를 가지는 제2 메시지가 제1 송출 주기가 도래하기 이전에 존재하는지 감지할 수 있다.
특히, 해킹 감지부(830)는 제2 메시지의 존재를 감지하면, 소정 해킹 감지 메시지가 송신부를 통해 차량 네트워크에 연결된 제2 제어기-예를 들면, 클러스터 및 차량 헤드 유닛 등을 포함함-에 전송되도록 제어할 수 있다.
본 발명의 다른 일 실시예에 따른 해킹 감지부(830)는 제2 메시지의 존재를 감지하면, 소정 해킹 감지 메시지가 송신부를 통해 차량 네트워크에 연결된 네트워크 전원 제어기에 전송될 수 있도록 제어할 수도 있다.
본 발명에 따른 해킹 감지부(830)의 세부 동작 및 기능은 상술한 도 1 내지 도 7에 도시된 차량 해킹 방지 방법들에 개시된 단계 및 절차들 중 적어도 하나가 수행될 수 있도록 구현될 수 있음을 주의해야 한다.
또한, 차량 네트워크 해킹 방지 장치(800)는 차량 네트워크에 연결되는 각종 제어기에 장착될 수 있으나, 이에 한정되지는 않으며, 별도의 독립적인 장치로 구현되어 차량 네트워크에 연결될 수 있음을 주의해야 한다.
도 9는 본 발명의 다른 일 실시예에 따른 차량 네트워크 해킹 방지 장치의 구조를 설명하기 위한 블록도이다.
도 9에 도시된 바와 같이, 차량 네트워크 해킹 방지 장치(900)는 크게 송신부(910), 수신부(920), 식별부(930) 및 전원 제어부(940)를 포함하여 구성될 수 있으나, 이는 하나의 실시예에 불과하며, 그 보다 많은 구성 요소들을 포함하여 구성될 수 있다. 일 예로, 차량 해킹 방지 장치(900)는 차량 네트워크상에 해킹 메시지가 존재하는지 여부를 감지하기 위한 감지부를 더 포함할 수 있다.
송신부(910)는 CAN 버스를 모니터링하여 생성된 CAN 통신 프레임을 전송할 수 있다.
수신부(910)는 CAN 버스를 모니터링하여 CAN 통신 프레임을 수신할 수 있다.
이상의 설명에서는 송신부(910) 및 수신부(920)가 CAN 통신을 수행하는 것으로 설명되고 있으나, 이는 일 실시예에 불과하며, 다른 차량 내 통신 프로토콜에 의해 통신을 수행할 수도 있음을 주의해야 한다.
식별부(930)는 해킹 메시지를 발생시킨 제어기를 식별하는 기능을 수행할 수 있다. 이때, 해킹 메시지를 발생시킨 제어기는 CAN 버스에 연결된 제어기들의 순차적인 전원 ON/OFF 제어를 통해 CAN 버스에 해킹 메시지가 존재하지는 여부를 확인하여 식별될 수 있다. 본 발명의 다른 일 실시예에 따른 식별부(930)는 CAN 버스에 연결된 제어기들의 순차적인 전원 ON/OFF 제어 시 해킹 감지 메시지의 수신 여부에 기반하여 해킹 메시지를 발생시킨 제어기를 식별할 수도 있다.
전원 제어부(940)는 식별부(930)의 제어 신호에 따라 특정 제어기로의 전원 공급을 공급하거나 차단하는 기능을 제공할 수 있다.
본 발명에 따른 차량 네트워크 해킹 방지 장치의 세부 동작 및 기능은 상술한 도 1 내지 도 7에 도시된 차량 네트워크 해킹 방지 방법들에 개시된 단계 및 절차들 중 적어도 하나가 수행될 수 있도록 구현될 수 있음을 주의해야 한다.
본 발명은 본 발명의 정신 및 필수적 특징을 벗어나지 않는 범위에서 다른 특정한 형태로 구체화될 수 있음은 당업자에게 자명하다.
따라서, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.
311: 엔진 제어기
312: 엔진 시스템
321: 텔레매틱스 단말
322: 클러스터
800: 차량 네트워크 해킹 방지 장치

Claims (19)

  1. 차량 네트워크에 연결된 제1 제어기에서의 차량 네트워크 해킹 방지 방법에 있어서,
    제1 송출 주기로 상기 제1 제어기의 아이디가 포함된 제1 메시지를 상기 차량 네트워크에 전송하는 단계;
    상기 차량 네트워크상에 상기 제1 메시지와 동일한 아이디를 가지는 제2 메시지가 상기 제1 송출 주기가 도래하기 이전에 존재하는지 감지하는 단계; 및
    상기 제2 메시지의 존재가 감지되면, 소정 해킹 감지 메시지를 상기 차량 네트워크에 연결된 제2 제어기에 전송하는 단계
    를 포함하고, 상기 제1 메시지의 전송 후 상기 차량 네트워크를 모니터링하여 상기 제1 메시지의 데이터 필드가 변경된 것이 확인되면, 상기 제1 송출 주기 내에서 상기 제1 메시지의 전송 시점이 랜덤하게 지연되는 것을 특징으로 하는, 차량 네트워크 해킹 방지 방법.
  2. 제1항에 있어서,
    상기 제2 메시지의 존재가 감지되면, 상기 제1 제어기의 아이디를 변경하는 단계; 및
    상기 변경된 아이디가 포함된 브로드캐스트 메시지를 상기 차량 네트워크에 전송하는 단계
    를 더 포함하는, 차량 네트워크 해킹 방지 방법.
  3. 제2항에 있어서,
    상기 차량 네트워크는 CAN(Controller Area Network)이고, 상기 변경된 아이디는 상기 브로드캐스트 메시지의 데이터 필드에 포함되어 전송되는, 차량 네트워크 해킹 방지 방법.
  4. 제3항에 있어서,
    상기 브로드캐스트 메시지의 데이터 필드 일측에 상기 브로드캐스트 메시지가 상기 아이디 변경을 알리기 위한 메시지임을 지시하는 소정 데이터 식별 정보가 포함되는, 차량 네트워크 해킹 방지 방법.
  5. 제4항에 있어서,
    상기 데이터 식별 정보는 데이터 필드의 최상위 바이트에 기록되는, 차량 네트워크 해킹 방지 방법.
  6. 제2항에 있어서,
    상기 브로드캐스트 메시지는 상기 차량 네트워크에 연결된 모든 제어기들로부터 긍정 응답 메시지가 수신될 때까지 반복 전송되는, 차량 네트워크 해킹 방지 방법.
  7. 제6항에 있어서,
    상기 긍정 응답 메시지가 상기 모든 제어기들로부터 수신되면, 상기 변경된 아이디를 이용하여 메시지를 전송하는, 차량 네트워크 해킹 방지 방법.
  8. 삭제
  9. 제1항에 있어서,
    소정 단위 시간 동안 상기 데이터 필드의 변경이 소정 회수 이상 확인된 경우, 상기 제1 메시지의 전송 시점이 랜덤하게 지연되는, 차량 네트워크 해킹 방지 방법.
  10. 제1항에 있어서,
    상기 제2 제어기는 클러스터, 차량 헤드 유닛 중 적어도 하나를 포함하되, 상기 해킹 감지 메시지가 상기 클러스터, 상기 차량 헤드 유닛 중 적어도 하나에 수신되면, 해킹이 발생되었음을 알리는 소정 경고 메시지가 상기 클러스터, 상기 차량 헤드 유닛 중 적어도 하나에 의해 출력되는, 차량 네트워크 해킹 방지 방법.
  11. 차량 네트워크에 연결된 차량 네트워크 해킹 방지 장치에서의 차량 네트워크 해킹 방지 방법에 있어서,
    상기 차량 네트워크에 연결된 제어기로부터 해킹 감지 메시지를 수신하는 단계;
    상기 차량 네트워크에 연결된 제어기들에 대한 순차적인 전원 공급 제어를 통해 해킹 메시지를 발생시킨 제어기를 식별하는 단계; 및
    상기 식별된 제어기로의 전원 공급을 차단하는 단계
    를 포함하고, 특정 제어기에 대한 전원 공급 차단 시 상기 해킹 감지 메시지가 수신되지 않으면, 해당 특정 제어기를 상기 해킹 메시지를 발생시킨 제어기로 식별하는 것을 특징으로 하는, 차량 네트워크 해킹 방지 방법.
  12. 삭제
  13. 삭제
  14. 제11항에 있어서,
    상기 식별된 제어기가 차량 운행 및 안전에 치명적인 제어기인지 여부를 확인하는 단계를 더 포함하되, 상기 확인 결과, 상기 식별된 제어기가 차량 운행 및 안전에 치명적인 제어기인 경우, 상기 차량 네트워크에 연결된 제2 제어기에 운전자의 차량 정차를 유도하도록 지시하는 소정 제어 메시지를 전송하는, 차량 네트워크 해킹 방지 방법.
  15. 제14항에 있어서,
    상기 차량 정차가 확인되면, 상기 식별된 제어기로의 전원 공급을 차단하는, 차량 네트워크 해킹 방지 방법.
  16. 제11항에 있어서,
    상기 식별 결과, 상기 식별된 제어기가 차량 운행 및 안전에 치명적인 제어기가 아닌 경우, 상기 식별된 제어기로의 전원 공급을 즉시 차단하는, 차량 네트워크 해킹 방지 방법.
  17. 차량 네트워크에 연결된 차량 네트워크 해킹 방지 장치에 있어서,
    제1 송출 주기로 제1 제어기의 아이디가 포함된 제1 메시지를 상기 차량 네트워크에 전송하는 송신부; 및
    상기 차량 네트워크상에 상기 제1 메시지와 동일한 아이디를 가지는 제2 메시지가 상기 제1 송출 주기가 도래하기 이전에 존재하는 것을 감지하면, 소정 해킹 감지 메시지가 상기 송신부를 통해 상기 차량 네트워크에 연결된 제2 제어기에 전송되도록 제어하는 해킹 감지부
    를 포함하고,
    상기 제1 메시지의 전송 후 상기 차량 네트워크를 모니터링하여 상기 제1 메시지의 데이터 필드가 변경된 것이 확인되면, 상기 제1 송출 주기 내에서 상기 제1 메시지의 전송 시점이 랜덤하게 지연되는 것을 특징으로 하는, 차량 네트워크 해킹 방지 장치.
  18. 동일 차량 네트워크에 연결된 제어기로부터 해킹 감지 메시지를 수신하는 수신부;
    상기 차량 네트워크에 연결된 제어기들에 대한 순차적인 전원 공급 제어를 통해 해킹 메시지를 발생시킨 제어기를 식별하는 식별부; 및
    상기 식별부의 제어 신호에 따라 상기 식별된 제어기로의 전원 공급을 차단하는 전원 제어부
    를 포함하고, 상기 식별부가 특정 제어기에 대한 전원 공급 차단 시 상기 해킹 감지 메시지가 수신되지 않으면, 해당 특정 제어기를 상기 해킹 메시지를 발생시킨 제어기로 식별하는 것을 특징으로 하는, 차량 네트워크 해킹 방지 장치.
  19. 제1항 내지 제7항, 제9항 내지 제11항, 제14항 내지 제16항 중 어느 한 항에 기재된 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020150170382A 2015-12-02 2015-12-02 차량 네트워크 해킹 방지 방법 및 장치 KR101714526B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150170382A KR101714526B1 (ko) 2015-12-02 2015-12-02 차량 네트워크 해킹 방지 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150170382A KR101714526B1 (ko) 2015-12-02 2015-12-02 차량 네트워크 해킹 방지 방법 및 장치

Publications (1)

Publication Number Publication Date
KR101714526B1 true KR101714526B1 (ko) 2017-03-09

Family

ID=58402519

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150170382A KR101714526B1 (ko) 2015-12-02 2015-12-02 차량 네트워크 해킹 방지 방법 및 장치

Country Status (1)

Country Link
KR (1) KR101714526B1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200073362A (ko) * 2018-12-13 2020-06-24 한국전자통신연구원 차량 이더넷 네트워크에서 이상 징후 탐지 장치 및 방법
US11032300B2 (en) 2017-07-24 2021-06-08 Korea University Research And Business Foundation Intrusion detection system based on electrical CAN signal for in-vehicle CAN network
KR102391791B1 (ko) 2021-12-24 2022-04-28 쌍용자동차 주식회사 능동형 차량 사이버 해킹 대응장치 및 방법
WO2024051557A1 (zh) * 2022-09-07 2024-03-14 广州汽车集团股份有限公司 一种汽车总线网络的入侵检测防护装置、方法与存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040083602A (ko) * 2003-03-24 2004-10-06 주식회사 테라코리아 임시 아이디를 이용한 개인정보 보호방법 및 장치
KR20060125600A (ko) * 2005-06-01 2006-12-06 도요다 지도샤 가부시끼가이샤 차량용 전자 제어 장치
KR20150075996A (ko) * 2013-12-26 2015-07-06 현대자동차주식회사 해킹 방지 기능을 구비한 차량 제어 시스템 및 그 동작 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040083602A (ko) * 2003-03-24 2004-10-06 주식회사 테라코리아 임시 아이디를 이용한 개인정보 보호방법 및 장치
KR20060125600A (ko) * 2005-06-01 2006-12-06 도요다 지도샤 가부시끼가이샤 차량용 전자 제어 장치
KR20150075996A (ko) * 2013-12-26 2015-07-06 현대자동차주식회사 해킹 방지 기능을 구비한 차량 제어 시스템 및 그 동작 방법

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11032300B2 (en) 2017-07-24 2021-06-08 Korea University Research And Business Foundation Intrusion detection system based on electrical CAN signal for in-vehicle CAN network
KR20200073362A (ko) * 2018-12-13 2020-06-24 한국전자통신연구원 차량 이더넷 네트워크에서 이상 징후 탐지 장치 및 방법
KR102423886B1 (ko) 2018-12-13 2022-07-22 한국전자통신연구원 차량 이더넷 네트워크에서 이상 징후 탐지 장치 및 방법
KR102391791B1 (ko) 2021-12-24 2022-04-28 쌍용자동차 주식회사 능동형 차량 사이버 해킹 대응장치 및 방법
WO2024051557A1 (zh) * 2022-09-07 2024-03-14 广州汽车集团股份有限公司 一种汽车总线网络的入侵检测防护装置、方法与存储介质

Similar Documents

Publication Publication Date Title
US10951631B2 (en) In-vehicle network system, fraud-detection electronic control unit, and fraud-detection method
CN107078938B (zh) 网关装置、车载网络系统以及通信方法
US11356475B2 (en) Frame transmission prevention apparatus, frame transmission prevention method, and in-vehicle network system
EP3659868B1 (en) Abnormality detection device, and abnormality detection method
US10454957B2 (en) Method for preventing electronic control unit from executing process based on malicious frame transmitted to bus
KR101780278B1 (ko) Can 통신에서의 통신 부하 절감 방법 및 장치
US10129124B2 (en) Method and apparatus for controlling in-vehicle mass diagnostic communication
US10187406B2 (en) Method for sensing fraudulent frames transmitted to in-vehicle network
JP5919205B2 (ja) ネットワーク装置およびデータ送受信システム
US11398116B2 (en) Anomaly detection electronic control unit, in-vehicle network system, and anomaly detection method
JPWO2019117184A1 (ja) 車載ネットワーク異常検知システム及び車載ネットワーク異常検知方法
KR101714526B1 (ko) 차량 네트워크 해킹 방지 방법 및 장치
US10462161B2 (en) Vehicle network operating protocol and method
CN111066001B (zh) 日志输出方法、日志输出装置以及存储介质
CN110546921A (zh) 不正当检测方法、不正当检测装置以及程序
WO2018110046A1 (ja) 制御装置、制御システム、制御方法、制御プログラムおよび記憶媒体
WO2017037977A1 (ja) ゲートウェイ装置、車載ネットワークシステム及び通信方法
KR102592201B1 (ko) 차량 내 통신 보안 제공 방법 및 장치
CN115580471A (zh) 不正当检测方法、不正当检测装置以及存储介质
WO2018008452A1 (ja) 不正制御抑止方法、不正制御抑止装置及び車載ネットワークシステム
WO2020105657A1 (ja) 車載中継装置及び中継方法
Sumorek The safety of modern and traditional communication protocols in vehicles

Legal Events

Date Code Title Description
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20200227

Year of fee payment: 4