KR102592201B1 - 차량 내 통신 보안 제공 방법 및 장치 - Google Patents

차량 내 통신 보안 제공 방법 및 장치 Download PDF

Info

Publication number
KR102592201B1
KR102592201B1 KR1020160157641A KR20160157641A KR102592201B1 KR 102592201 B1 KR102592201 B1 KR 102592201B1 KR 1020160157641 A KR1020160157641 A KR 1020160157641A KR 20160157641 A KR20160157641 A KR 20160157641A KR 102592201 B1 KR102592201 B1 KR 102592201B1
Authority
KR
South Korea
Prior art keywords
node
security
hacking
slave node
vehicle communication
Prior art date
Application number
KR1020160157641A
Other languages
English (en)
Other versions
KR20180058537A (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 KR1020160157641A priority Critical patent/KR102592201B1/ko
Publication of KR20180058537A publication Critical patent/KR20180058537A/ko
Application granted granted Critical
Publication of KR102592201B1 publication Critical patent/KR102592201B1/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/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
    • 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/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/068Network architectures or network communication protocols for network security for supporting key management in a packet data network using time-dependent keys, e.g. periodically changing keys
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/84Vehicles

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

본 발명은 차량 내 통신 보안 제공 방법 및 장치에 관한 것으로서, 본 발명의 일 실시예에 따른 차량 내 통신 네트워크에 연결된 마스터 노드에서의 차량 내 통신 보안 제공 방법은 슬레이브 노드 별 미리 할당된 비밀 코드를 획득하여 보안 검증 순서를 확정하는 단계와 상기 확정된 보안 검증 순서에 따라 소정 주기로 생성된 갱신 입력 값 및 갱신 보안 값을 상기 제1 슬레이브 노드에 전송하는 단계와 해킹 또는 고장 노드를 감지하는 단계와 상기 해킹 또는 고장 노드가 감지되면, 상기 해킹 또는 고장 노드가 감지된 시점에 관한 정보를 구비된 메모리에 기록하는 단계와 상기 해킹 또는 고장 노드의 메시지 전송을 차단하는 단계를 포함할 수 있다. 이에 따라 보다 효과적이고 정확하게 CAN 통신 공격이 탐지될 수 있는 장점이 있다.

Description

차량 내 통신 보안 제공 방법 및 장치{Method and Apparatus for Providing In-Vehicle Communication Security}
본 발명은 차량 내 통신 보안에 관한 것으로서, 상세하게, 차량 내 통신 네트워크상에서 타 노드에 의해 생성된 보안 값과 자신이 생성한 보안 값을 비교함으로써, 해킹 노드를 탐지하는 것이 가능한 차량 내 통신 보안 제공 방법 및 장치에 관한 것이다.
미래형 자동차는 차량 내/외부에 탑재된 각종 센서들과 연동되는 다수의 전자 제어 장치(ECU: Electronic Control Unit)를 장착하여 CAN(Controller Area Network)과 같은 차량 내 네트워크를 이용하여 통신을 수행함으로써 차량의 각종 기능을 스마트하게 제어하여 사용자의 편의성과 주행 효율성을 증진시키는 것이 주된 목적이다.
최근 정보통신 분야의 사물인터넷 (IoT: Internet of Things, IoT) 기술 분야에서는 플랫폼으로 스마트카 등을 이용하기 위한 연구가 활발히 진행 중에 있다.
또한, 최근에는 지능형 교통망 서비스를 제공하기 위한 차량간 통신(Vehicle to Vehicle Communication), 차량 기간 망 통신(Vehicle to Infrastructure Communication) 등에 대한 표준화 및 기술 개발이 활발히 진행되고 있다.
이에 따라, 미래의 스마트 차량에 대한 공격 형태는 종래에 비해 보다 많은 통신 패킷이 존재할 뿐만 아니라 다양한 외부 장치와의 통신을 수행하므로, 해킹 유형이 다양해지고 분산적인 형태로 진화할 것이 예상되고 있다.
하지만, 종래에는 차량 내 사용 가능한 자원은 한정적인 반면, 해킹 유형은 보다 다양하고 분산적이므로 효과적인 대응이 쉽지 않은 문제점이 있었다.
특히, 차량의 정지 상태뿐만 아니라 주행 상태에서의 보안 해킹 및 공격은 운전자의 프라이버시뿐만 아니라 주행 안전에 치명적인 영향을 미칠 수 있다. 일 예로, 해킹에 의해 주행 중 엔진이 정지하거나, 조향 핸들/브레이크 등이 오동작하는 경우 운전자의 안전에 치명적일 수 있다.
따라서, 상기와 같은 다양한 차량에 대한 해킹 공격을 조기에 감지하고, 악의적인 공격에 대해 적절히 대처하기 위한 효율적인 알고리즘 및 시스템 개발이 요구되고 있다.
본 발명은 상술한 종래 기술의 문제점을 해결하기 위해 고안된 것으로, 본 발명의 목적은 차량 내 통신 보안 제공 방법 및 장치를 제공하는 것이다.
본 발명의 다른 목적은 차량 내 통신 네트워크에 연결된 제어기 간 시간 정보 및 보안 코드 값에 기반하여 산출되는 보안 값을 주기적으로 공유함으로써, 해킹이 발생된 제어기를 실시간 감지할 수 있을 뿐만 아니라 해킹이 발생된 시점을 정확하게 확인하는 것이 가능한 차량 내 통신 보안 제공 방법 및 장치를 제공하는 것이다.
본 발명에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 발명은 차량 내 통신 보안 제공 방법 및 장치를 제공한다.
본 발명의 일 실시예에 따른 차량 내 통신 네트워크에 연결된 마스터 노드에서의 차량 내 통신 보안 제공 방법은 슬레이브 노드 별 미리 할당된 비밀 코드를 획득하여 보안 검증 순서를 확정하는 단계와 상기 확정된 보안 검증 순서에 따라 소정 주기로 생성된 갱신 입력 값 및 갱신 보안 값을 상기 제1 슬레이브 노드에 전송하는 단계와 해킹 또는 고장 노드를 감지하는 단계와 상기 해킹 또는 고장 노드가 감지되면, 상기 해킹 또는 고장 노드가 감지된 시점에 관한 정보를 구비된 메모리에 기록하는 단계와 상기 해킹 또는 고장 노드의 메시지 전송을 차단하는 단계를 포함할 수 있다.
여기서, 상기 갱신 입력 값은 현재 시간 정보 및 미리 등록된 핀코드 정보에 기반하여 생성될 수 있다.
또한, 상기 차량 내 통신 네트워크에 연결된 모든 노드의 비밀 코드가 상기 슬레이브 노드에 공유될 수 있다.
또한, 상기 공유된 비밀 코드 및 상기 갱신 입력 값에 기반하여 보안 값을 생성하고, 상기 생성된 보안 값과 상기 갱신 보안 값의 동일 여부에 비교하여 상기 해킹 또는 고장 노드가 식별될 수 있다.
이때, 상기 해킹 또는 고장 노드가 식별되면, 상기 해킹 또는 고장 노드를 식별한 슬레이브 노드는 보안 메시지 전송을 소정 시간 동안 중단할 수 있다.
또한, 상기 해킹 또는 고장 노드를 식별한 슬레이브 노드가 상기 메시지 전송을 중단한 후 상기 소정 시간이 경과하면 상기 해킹 또는 고장 노드가 감지되었음을 지시하는 소정 제어 신호를 상기 마스터 노드에 전송할 수 있다.
또한, 상기 해킹 또는 고장 노드의 메시지 전송을 차단하는 단계는 상기 해킹 또는 고장 노드의 감지 후 소정 시간이 경과된 이후에도 상기 상기 해킹 또는 고장 노드에 의한 메시지 전송이 감지되면, 도미넌트(dominant) 신호를 송출하는 단계를 포함할 수 있다.
또한, 상기 차량 내 통신 네트워크는 CAN 통신 네트워크일 수 있다.
본 발명의 다른 일 실시예에 따른 차량 내 통신 네트워크에 연결된 슬레이브 노드에서의 차량 내 통신 보안 제공 방법은 미리 공유되어 저장된 비밀 코드를 이용하여 보안 검증 순서를 확정하는 단계와 주기적으로 갱신 입력 값 및 갱신 보안 값이 포함된 메시지를 수신하는 단계와 상기 갱신 입력 값 및 상기 슬레이브 노드에 대응되는 상기 비밀 코드에 기반하여 보안 값을 생성하는 단계와 수신된 상기 갱신 보안 값과 생성된 상기 보안 값의 동일 여부를 비교하여 해킹을 감지하는 단계와 상기 해킹이 감지되면, 소정 시간 동안 메시지 전송을 중단하는 단계를 포함할 수 있다.
또한, 상기 차량 내 통신 보안 제공 방법은 상기 메시지 전송을 중단한 후 상기 소정 시간이 경과하면 상기 해킹이 감지되었음을 지시하는 소정 제어 신호를 마스터 노드에 전송하는 단계를 더 포함하고, 상기 마스터 노드가 상기 제어 신호의 수신 시점을 해킹이 감지된 시점으로 소정 기록 영역에 저장할 수 있다.
또한, 상기 갱신 입력 값은 현재 시간 정보 및 미리 등록된 핀코드 정보에 기반하여 마스터 노드에 의해 생성될 수 있다.
본 발명의 또 다른 일 실시에에 따른 차량 내 통신 네트워크에 연결되어 마스터 노드로 동작하는 차량 내 통신 보안 제공 장치는 슬레이브 노드 별 미리 할당된 비밀 코드를 획득하여 보안 검증 순서를 확정하는 수단과 상기 확정된 보안 검증 순서에 따라 소정 주기로 생성된 갱신 입력 값 및 갱신 보안 값을 상기 제1 슬레이브 노드에 전송하는 수단과 해킹 또는 고장 노드를 감지하는 수단과 상기 해킹 또는 고장 노드가 감지되면, 상기 해킹 또는 고장 노드의 감지 시점에 관한 정보를 구비된 메모리에 기록하는 수단과 상기 해킹 또는 고장 노드의 메시지 전송을 차단하는 수단을 포함할 수 있다.
여기서, 상기 갱신 입력 값은 현재 시간 정보 및 미리 등록된 핀코드 정보에 기반하여 생성될 수 있다.
또한, 상기 차량 내 통신 네트워크에 연결된 모든 노드의 비밀 코드가 상기 슬레이브 노드에 공유될 수 있다.
또한, 상기 공유된 비밀 코드 및 상기 갱신 입력 값에 기반하여 보안 값을 생성하고, 상기 생성된 보안 값과 상기 갱신 보안 값의 동일 여부에 비교하여 상기 해킹 또는 고장 노드가 식별될 수 있다.
또한, 상기 해킹 또는 고장 노드가 식별되면, 상기 해킹 또는 고장 노드를 식별한 슬레이브 노드는 보안 메시지 전송을 소정 시간 동안 중단시킬 수 있다.
또한, 상기 해킹 또는 고장 노드를 식별한 슬레이브 노드가 상기 메시지 전송을 중단한 후 상기 소정 시간이 경과하면 상기 해킹 또는 고장 노드가 감지되었음을 지시하는 소정 제어 신호를 상기 마스터 노드에 전송할 수 있다.
또한, 상기 차량 내 통신 보안 제공 장치는 상기 해킹 또는 고장 노드의 감지 후 소정 시간이 경과된 이후에도 상기 상기 해킹 또는 고장 노드에 의한 메시지 전송이 감지되면, 도미넌트(dominant) 신호를 송출하는 수단을 더 포함할 수 있다.
본 발명의 또 다른 일 실시예에 따른 차량 내 통신 네트워크에 연결된 슬레이브 노드로 동작하는 차량 내 통신 보안 제공 장치는 미리 공유되어 저장된 비밀 코드를 이용하여 보안 검증 순서를 확정하는 수단과 주기적으로 갱신 입력 값 및 갱신 보안 값이 포함된 메시지를 수신하는 수단과 상기 갱신 입력 값 및 상기 슬레이브 노드에 대응되는 상기 비밀 코드에 기반하여 보안 값을 생성하는 수단과 수신된 상기 갱신 보안 값과 생성된 상기 보안 값의 동일 여부를 비교하여 해킹을 감지하는 수단과 상기 해킹이 감지되면, 소정 시간 동안 메시지 전송을 중단하는 수단을 포함할 수 있다.
본 발명의 또 다른 일 실시예는 상기한 차량 내 통신 보안 제공 방법들 중 어느 하나의 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공할 수 있다.
상기 본 발명의 양태들은 본 발명의 바람직한 실시예들 중 일부에 불과하며, 본원 발명의 기술적 특징들이 반영된 다양한 실시예들이 당해 기술분야의 통상적인 지식을 가진 자에 의해 이하 상술할 본 발명의 상세한 설명을 기반으로 도출되고 이해될 수 있다.
본 발명에 따른 방법 및 장치에 대한 효과에 대해 설명하면 다음과 같다.
본 발명은 차량 내 통신 보안 제공 방법 및 장치를 제공하는 장점이 있다.
또한, 본 발명은 차량 내 통신 네트워크에 연결된 제어기 간 시간 정보 및 보안 코드 값에 기반하여 산출되는 보안 값을 주기적으로 공유함으로써, 해킹이 발생된 제어기를 실시간 감지할 수 있을 뿐만 아니라 해킹이 발생된 시점을 정확하게 확인하는 것이 가능한 차량 내 통신 보안 제공 방법 및 장치를 제공하는 장점이 있다.
또한, 본 발명은 차량 내 통신 네트워크에 연결된 모든 제어기에서 해킹을 감지할 수 있으므로, 보다 빠르게 해킹 노드를 감지할 수 있을 뿐만 아니라 감지된 해킹 노드에 대한 메시지 전송 차단을 수행하여 해킹으로부터 차량 및 탑승자를 보호할 수 있는 장점이 있다.
또한, 본 발명은 해킹 노드의 감지 시점을 정확히 알 수 있으므로, 해킹을 효과적으로 역추적할 수 있는 장점이 있다.
또한, 본 발명은 차량 내 제어기의 해킹 여부를 제어기 상호간 점검을 통하여 확인할 수 있고, 해킹된 제어기로부터 타 제어기를 보할 수 있으므로, 해킹에 따른 차량의 임의 조작의 위험을 회피할 수 있는 장점이 있다.
본 발명에서 얻을 수 있는 장점 및 효과는 이상에서 언급한 장점 및 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
이하에 첨부되는 도면들은 본 발명에 관한 이해를 돕기 위한 것으로, 상세한 설명과 함께 본 발명에 대한 실시예들을 제공한다. 다만, 본 발명의 기술적 특징이 특정 도면에 한정되는 것은 아니며, 각 도면에서 개시하는 특징들은 서로 조합되어 새로운 실시예로 구성될 수 있다.
도 1은 본 발명에 따른 차량 CAN 통신 네트워크의 구조를 설명하기 위한 도면이다.
도 2는 국제 표준에 정의된 CAN 데이터 프레임의 구조이다.
도 3은 본 발명의 일 실시예에 따른 차량 내 통신 네트워크 시스템 구성을 설명하기 위한 블록도이다.
도 4는 본 발명의 일 실시예에 따른 보안 메시지의 구조를 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 차량 내 통신 시스템에 장착되는 마스터 노드에서의 차량 내 보안 통신 제공 방법을 설명하기 위한 순서도이다.
도 6은 발명의 일 실시예에 따른 차량 내 통신 시스템에 장착되는 슬레이브 노드에서의 차량 내 보안 통신 제공 방법을 설명하기 위한 순서도이다.
이하, 본 발명의 실시예들이 적용되는 장치 및 다양한 방법들에 대하여 도면을 참조하여 보다 상세하게 설명한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다.
이상에서, 본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성 요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 본 발명의 기술 분야의 당업자에 의해 용이하게 추론될 수 있을 것이다. 이러한 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 저장매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시예를 구현할 수 있다. 컴퓨터 프로그램의 저장매체로서는 자기 기록매체, 광 기록매체 등이 포함될 수 있다.
또한, 이상에서 기재된 "포함하다", "구성하다" 또는 "가지다" 등의 용어는, 특별히 반대되는 기재가 없는 한, 해당 구성 요소가 내재될 수 있음을 의미하는 것이므로, 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것으로 해석되어야 한다. 기술적이거나 과학적인 용어를 포함한 모든 용어들은, 다르게 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 사전에 정의된 용어와 같이 일반적으로 사용되는 용어들은 관련 기술의 문맥 상의 의미와 일치하는 것으로 해석되어야 하며, 본 발명에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성 요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성 요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
도 1은 본 발명에 따른 차량 CAN 통신 네트워크의 구조를 설명하기 위한 도면이다.
도 1을 참조하면, 본 발명에 적용되는 CAN(Controller Area Network) 통신 시스템은 크게 차량용 게이트웨이(Gateway, 140), 제1 내지 제n 제어기(110), CAN 버스(120), OBD 단말(130), OBD 컨텍터(131), 차량용 게이트웨이(140), 차량 텔레매틱스 단말(150) 중 적어도 하나를 포함하여 구성될 수 있다.
일반적으로, CAN 버스상에서는 각각의 노드(ECU)가 CAN 버스에 흘러 다니는 데이터를 읽거나 쓰기 위해 액세스(access)할 때 전체 노드를 제어하는 마스터(master)가 존재하지 않는다. 따라서, 각 노드에서 데이터를 전송할 준비가 되면, 먼저 전송 준비가 되었는지를 버스상에서 확인하고 그 후 CAN 프레임을 CAN 네트워크에 전송한다. 전송되는 CAN 프레임에는 전송 노드 및 수신 노드에 대한 주소 정보가 포함되어 있지 않으며, 대신, 각각의 노드는 CAN 프레임에 포함된 고유한 ID를 통해 프레임을 분류하여 데이터를 수신한다.
차량용 게이트웨이(140)는 CAN상에 연결된 제어기(110)들에 대한 인증 절차를 통해 해당 제어기가 안전한 제어기인지 여부를 판단할 수 있다. 또한, 차량용 게이트웨이(140)는 차량 텔레매틱스 단말(150) 및 OBD 단말(130)과 유선 또는 무선으로 연결될 수 있다. 일 예로, 사용자는 OBD 단말(130)을 OBD 컨넥터(131)에 연결한 후 OBD 단말(130)상의 화면을 통해 CAN 주선 버스(122)에 연결된 제어기들(110)의 상태 정보를 확인하거나, CAN 주선 버스(122)를 통해 송수신되는 각종 제어 신호를 모니터링할 수 있다. 또한, 사용자는 OBD 단말(130)을 통해 제어기들(110)에 의해 수집된 차량 상태 정보를 확인할 수도 있다. 이때, 제어기들(110)의 상태 정보, CAN 주선 버스(122)상의 제어 신호, 제어기들(100)에 의해 수집된 차량 상태 정보 등은 차량용 게이트웨이(140)를 통해 OBD 단말(130)에 전송될 수 있다.
다른 일 예로, OBD 컨넥터(131)는 CAN 주선 버스(122)에 직접 연결될 수도 있다. 이 경우, OBD 단말(130)은 차량용 게이트웨이(140)를 경유하지 않고, 직접 CAN 주선 버스(122)상에 송수신되는 신호를 모니터링하거나 소정 제어 명령을 통해 제어기들(110)로부터 제어기 상태 정보 및 차량 상태 정보를 획득할 수 있다.
또한, 차량용 게이트웨이(140)는 OBD 단말(130)로부터의 소정 제어 신호에 따라 차량에 탑재된 제어기-즉, ECU(Electric Control Unit)-들에 설치된 소프트웨어 버전 정보를 수집하고, 수집된 소프트웨어 버전 정보를 OBD 단말(130)에 전송할 수도 있다. 또한, 차량용 게이트웨이(140)는 OBD 단말(130)의 소정 소프트웨어 업데이트 요청 신호에 따라 해당 제어기를 위한 소프트웨어 파일을 OBD 단말(130)로부터 수신한 후 해당 제어기에 설치할 수도 있다.
CAN 주선 버스(122)는 Twisted pair wire를 사용하며, 2개의 선은 서로 다른 신호(CAN_HI, CAN_LO)에 의해 구동된다. CAN 주선 버스(122)의 양 종단에는 종단 저항(121)이 구비될 수 있다. CAN 주선 버스(122)상의 전송 속도는 버스의 길이-즉, 주선의 길이-에 따라 달라질 수 있다.
제1 내지 제N 제어기(110)는 CAN 주선 버스(122)상의 소정의 CAN 조인트 컨넥터(Joint Connector) 또는 CAN 허브(Hub)-미도시-와 CAN 지선 버스(123)를 통해 연결될 수 있으며, 이론적으로 하나의 CAN 네트워크에 연결될 수 있는 최대 제어기의 개수는 2032이다. 또한, 하나의 CAN 허브에는 복수개의 제어기가 CAN 지선 버스(123)를 통해 연결될 수 있다.
이하에서는 도면 번호 110 내지 115를 참조하여 일반적인 CAN 주선 버스에 연결되는 제어기의 구조를 살펴보기로 한다.
제어기(110)는 CAN 드라이버(111), CAN 컨트롤러(113), 마이크로컨트롤러(Microcontroller, 115)로 구성될 수 있다.
CAN 드라이버(111)는 CAN 지선 버스(123) 및 CAN 컨넥터 또는 CAN 허브(미도시)를 통해 CAN 주선 버스(122)와 연결되며, 각각의 제어기의 물리 계층을 구성한다. CAN 드라이버(111)는 CAN 주선 버스(122)의 장애를 감지하고 이를 관리하는 기능 및 메시지의 송수신 기능을 제공할 수 있다.
CAN 컨트롤러(113)는 CAN 프로토콜 메시지를 송수신하고 수신된 메시지에 대한 메시지 필터링 기능을 수행한다. 또는, CAN 컨트롤러(113)는 재전송 제어를 위한 메시지 버퍼 및 마이크로컨트롤러(115)와의 인터페이스 기능을 제공한다.
마이크로컨트롤러(115)는 CPU가 탑재될 수 있으며, 상위 계층 프로토콜을 제공하고 다양한 응용들을 제공할 수 있다.
상기한 도 1에는 도시되어 있지는 않으나, 제어기는 우선 순위 정보 및 설치된 소프트웨어 버전 정보, 센싱 정보 등이 기록된 소정 메모리를 포함할 수 있다.
CAN 주선 버스(122)에 연결된 제어기(110)들은 표준에 정의된 CAN 프레임을 통해 제어 신호 및 데이터를 전송할 수 있다.
CAN 프레임의 구조는 후술할 도 2를 통해 상세히 설명하기로 한다.
도 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을 참조하면, 차량 내 통신 네트워크 시스템(300)은 크게 차량 헤드 유닛(310), 시간 제공 유닛(320), 진단기(330), 마스터 노드(노드 A, 340) 및 슬레이브 노드들(350)을 포함하여 구성될 수 있다. 여기서, 노드는 차량 내 통신망에 연결된 전자 제어 유닛(ECU: Electronic Control Unit)를 의미한다. 도 3에 도시된 바와 같이, 차량 제어기들은 마스터/슬레이브 구조로 동작할 수 있으며, 본 실시예에서는 노드 A(340)가 마스터 노드이고 노드 B(351), 노드 C(352), 노드 D(353) 및 노드 E(354)가 슬레이브 노드인 것을 가정하여 차량 내 통신 보안 제공 방법을 설명하기로 한다.
본 발명에 따른 차량 내 통신 네트워크 시스템에서는 노드 별 비밀 코드가 할당될 수 있다. 여기서, 비밀 코드는 네트워크에 연결된 모든 노드에 의해 공유되는 정보일 수 있다.
또한, 마스터 노드인 노드 A(340)는 M-CAN을 통해 차량 헤드 유닛(310) 또는 시간 제공 유닛(320)으로부터 현재 시간 정보를 수신하고, 수신된 현재 시간 정보를 기반으로 생성된 입력 값-이하 x값이라 명함-을 B-CAN을 통해 슬레이브 노드(350)에 제공할 수 있다.
일 예로, 마스터 노드(340)는 미리 공유된 비밀 코드에 기반하여 보안 검증 순서를 확정하고, 확정된 보안 검증 순서에 결정된 특정 슬레이브 노드-이하, 특정 슬레이브 노드가 노드 B(351)인 것으로 가정함-에 x 값이 포함된 소정 보안 메시지를 전송할 수 있다. 마스터 노드(340)는 노드 B(351)로부터 x 값에 기반하여 생성된 보안 값이 수신되면, 자신이 노드 B(351)에 대응하여 생성한 보안 값과 비교하여 해킹 여부를 판단할 수 있다. 이 후, 마스터 노드(340)는 상기 확정된 보안 검증 순서에 따라 나머지 슬레이브 노드에 순차적으로 x 값이 포함된 보안 메시지를 전송하여 보안 검증을 수행할 수 있다.
다른 일 예로, 마스터 노드(340)는 매 60초 간격으로 x 값을 갱신하고, 갱신된 x 값을 B-CAN을 통해 슬레이브 노드(350)에 전달함으로써, 주기적으로 보안 값을 점검할 수 있다.
슬레이브 노드(350)는 수신된 입력 값 및 미리 유지된 비밀 코드에 기반하여 보안 값을 생성할 수 있다.
슬레이브 노드(350)는 자신이 생성한 보안 값과 인접 노드로부터 수신된 보안 값의 동일 여부를 비교하여 고장 노드 및 해킹 노드를 식별할 수도 있다.
해킹 노드 또는 고장 노드가 식별되면, 마스터 노드(340)는 해당 고장 노드 또는 해킹 노드의 메시지 전송을 차단시킬 수도 있다. 일 예로, 마스터 노드(340)는 도미넌트(dominant) 신호를 송출하여 해당 고장 노드 또는 해킹 노드의 메시지 전송을 차단시킬 수 있다.
이하에서는 고장 노드의 교체 절차를 간단히 설명하기로 한다.
도 3을 참조하면, 노드 C(352)가 고장 노드인 것으로 가정하자.
1) 노드 C(352)를 교체한다
2) 교체 후 진단기(330)를 이용하여, 노드 A(340)에 노드 C(352)가 교체되었음을 입력한다.
3) 진단기(330)상에서의 핀코드 입력을 통해 정상 교체 여부를 확인한다.
4) 정상 교체가 확인되면 초기 통신 개시와 동일한 방식으로 마스터인 노드 A(340)는 소정 제어 절차를 통해 슬레이브 노드의 비밀 코드를 획득하고, 획득된 비밀 코드 값에 기반하여 슬레이브 노드의 보안 검증 순서를 결정할 수 있다.
5) 입력된 핀코드가 상이하여 정상 교체가 확인되지 않은 경우, 진단기(330)에 비정상 교체가 이루어졌음을 알리는 소정 경고 알람이 표시될 수 있다.
상기의 과정을 통하여 제어기 보안을 유지하면서, 고장난 제어기를 교체할 수 있다.
보안 값 생성 및 갱신 절차 및 해킹 노드 감지 절차는 후술할 도면의 설명을 통해 보다 명확해질 것이다.
도 4는 본 발명의 일 실시예에 따른 보안 메시지의 구조를 설명하기 위한 도면이다.
종래의 CAN 통신망에서의 메시지는 네트워크 메시지(Network Message)와 응용 메시지(Application Message)로 구분되었다.
본 발명에 따른 CAN 통신 메시지는 상기한 2개의 메시지뿐만 아니라 보안 메시지(Security Message)를 더 포함하여 구성될 수 있다.
도 4를 참조하면, 보안 메시지(400)는 동기 필드(Synchroniztion Field, 410), 상태 필드(Status Field, 420), 데이터 필드(Data Field, 430) 및 종료 필드(440)를 포함할 수 있다.
동기 필드(410)는 메시지의 시작 시점을 지시하기 위한 정보가 전송된다. 즉, 송신 노드는 동기 필드를 통해 메시지 전송이 시작되었음을 네트워크 연결된 모드 노드에 알릴 수 있다.
상태 필드는 메시지의 종류 및 타입을 식별하기 위한 소정 식별자가 기록될 수 있다. 각 노드들은 수신된 식별자에 기반하여 해당 메시지 수신이 가능한지 여부를 판단하고, 판단 결과에 따라 해당 메시지를 수신하여 내용을 확인할 수 있다.
데이터 필드(430)에는 보안 관련 정보가 포함될 수 있다. 일 예로, 보안 관련 정보는 비밀 코드, 초기 입력 값, 시간 정보 값, 보안 값 중 적어도 하나가 기록될 수 있다.
보안 메시지(400)는 크게 보안 요청 메시지, 보안 응답 메시지, 보안 갱신 메시지 및 보안 검증 메시지를 포함할 수 있다.
보안 요청 메시지는 데이터 필드(430)에 초기 입력 값(450)이 포함될 수 있다. 보안 요청 메시지는 통신 개시 시점에 제어기 상호간에 초기화되는 보안 값(460)을 생성하도록 지시하는 메시지이다.
보안 응답 메시지는 수신된 초기 입력 값(450)에 기반하여 생성된 초기 보안 값(460)을 전송하기 위한 메시지이다.
이하에서는 본 발명에 따른 초기 보안 값(460)의 생성 절차를 상기한 도 3 및 도 4를 참조하여 상세히 설명하기로 한다.
마스터 노드인 노드 A(340)는 초기 입력 값(450)이 포함된 보안 요청 메시지를 슬레이브 노드인 노드 B(351)에 전송할 수 있다.
이때, 각 노드에 대응되는 비밀 코드가 차량 내 통신 네트워크에 연결된 모든 노드에 미리 공유되었다고 가정하자. 즉, 모든 제어기가 자신의 비밀 코드뿐만 아니라 타 제어기(들)에 대응되는 비밀 코드들 알고 있을 수 있다.
일 예로, 비밀 코드는 마스터 노드가 모든 슬레이브 노드에 순차적으로 전송하여 공유될 수 있다. 여기서, 비밀 코드의 공유 순서는 마스터 노드로부터 슬레이브 노드까지의 물리적인 이격 거리에 의해 결정될 수 있으나, 이는 하나의 실시예에 불과하며, 슬레이브 노드에 할당된 소정 식별자에 기반하여 결정될 수도 있다. 다른 일 예로, 비밀 코드의 공유 순서는 노드 별 할당된 고유 식별자에 기반하여 결정될 수도 있다.
노드 B(351)는 수신된 초기 입력 값(450)과 사전 공유된 비밀 코드를 이용하여 초기 보안 값(460)을 생성할 수 있다.
일 예로, 노드 B(351)는 생성된 초기 보안 값(460)이 포함된 보안 응답 메시지를 노드 C(352)에 전송할 수 있다. 이러한 방식으로 특정 슬레이브 노드에 의해 생성된 보안 응답 메시지는 미리 정의된 규칙에 따라 다른 슬레이브 노드에 전송될 수 있다. 여기서, 슬레이브 노드들 사이의 보안 응답 메시지가 전달되는 순서는 비밀 코드에 의해 결정될 수 있다. 일 예로, 비밀 코드 값이 작은 순서로 보안 응답 메시지가 생성될 수 있다.
다른 일 예로, 노드 B(351)는 생성된 초기 보안 값(460)이 포함된 보안 응답 메시지를 마스터 노드인 노드 A(340)에 전송할 수 있다. 연이어, 노드 A(340)는 초기 입력 값이 포함된 보안 요청 메시지를 노드 C(340)에 전송하고, 노드 C(340)는 수신된 초기 입력 값에 기반하여 생성된 초기 보안 값을 보안 응답 메시지를 통해 노드 A(340)에 전송할 수 있다. 이러한 방식으로 마스터 노드인 노드 A(340)는 모든 슬레이브 노드에 대응되는 초기 보안 값을 획득할 수 있다.
일 실시예로, 비밀 코드의 길이는 64비트일 수 있으나, 이는 하나의 실시예에 불과하며, 적용되는 보안 값 생성 다항식의 차수에 따라 비밀 코드의 길이는 상이하게 정의될 수 있다. 일 예로, 각 노드에 대응되는 비밀 코드가 다음과 같이 할당되었다고 가정하자.
노드 A : , ,… = 000000C00A345601
노드 B : , ,… = 000000C123334561
노드 C : , ,… = 000001F20A345601
노드 D : , ,… = 000003F20A345601
노드 E : , ,… = 000002F20A345601
이 경우, 노드 A(340)는 마스터 노드로서 보안 요청 메시지를 전송하고, 노드 B(351), 노드 C(352), 노드 E(354), 노드 D(353) 순서로 보안 응답 메시지가 생성될 수 있다.
따라서, 초기 보안 값의 공유 순서는 노드 B(351)->노드 C(352)->노드 D(353)->노드 E(354)->노드 A(340)일 수 있다.
보안 값(y)를 생성하기 다항식은 하기와 같이 표기될 수 있다.
여기서, S0, S1, S3, S4 ?, Sn-1은 비밀 코드이고, x0, x1, x2, x3, x4 ?, xn-1은 초기 입력 값을 의미한다. 여기서, n의 크기는 당업자의 설계에 따라 상이할 수 있다.
특히, 본 발명에 따른 초기 입력 값은 현재 시간 정보에 의해 생성되는 값일 수 있다.
이하에서는 시간 정보에 기반한 보안 값 갱신 절차를 상세히 설명하기로 한다.
본 발명의 일 실시예에 따른 마스터 노드인 노드 A(340)는 소정 시간 주기로 현재 시간정보에 기반하여 입력 값-이하 설명의 편의를 위해 x 값이라 명함-을 갱신하고, 갱신된 x 값을 이용하여 노드 B(351)에 대응되는 갱신 보안 값을 생성할 수 있다. 노드 A(340)는 갱신된 x 값 및 노드 B(351)에 대응되는 갱신 보안 값이 포함된 보안 갱신 메시지를 노드 B(351)에 전송할 수 있다. 노드 B(351)는 갱신 x 값을 이용하여 보안 값을 생성하고, 생성된 보안 값과 수신된 갱신 보안 값을 비교하여 해킹 발생 여부를 판단할 수 있다.
비교 결과, 보안 값이 동일하면, 노드 B(351)는 노드 A(340)가 정상이 것으로판단하고, 노드 C(352)에 대응되는 갱신 보안 값을 생성할 수 있다. 이후, 노드 B(351)는 갱신 x 값 및 노드 C(352)에 대응되는 갱신 보안 값을 포함하는 보안 갱신 메시지를 노드 C(352)에 전송할 수 있다.
노드 C(352)는 수신된 갱신 x 값에 기반하여 자신의 보안 값을 생성하고, 생성된 보안 값과 수신된 갱신 보안 값의 동일 여부를 비교하여 노드 B(451)의 해킹 여부를 판단할 수 있다. 비교 결과, 동일하면, 노드 C(352)는 갱신 x 값 및 노드 E(354)에 대응되는 갱신 보안 값이 포함된 보안 갱신 메시지를 노드 E(354)에 전송할 수 있다.
노드 E(354)는 갱신 x 값에 기반하여 생성된 자신의 보안 값과 수신된 갱신 보안 값이 상이하면, 노드 C(352)는 보안 갱신 메시지를 전송하지 않을 수 있다.
노드 E(354)가 보안 개신 메시지를 전송하지 않는 경우, 노드 C(352)는 소정 시간 주기-예를 들면, 10초-로 소정 회수까지 보안 갱신 메시지를 반복 전송할 수 있다.
상기 반복 전송에도 불구하고, 소정 시간 동안-예를 들면, 120초- 정상적인 보안 갱신 메시지가 수신되지 않는 경우-즉, 정확한 갱신 보안 값이 수신되지 않는 경우-, 노드 C(352)는 해킹 노드로 등록될 수 있다. 이때, 노드 C(352)에 의해 생성된 모든 메시지는 다른 노드에서 오류 처리되어 폐기될 수 있다. 일 예로, 해킹 노드를 감지한 노드 E(354)가 노드 C(352)가 해킹 노드임을 브로드캐스팅할 수도 있다.
또한, 노드 C(352)는 단위 시간 동안 연속적으로 전송한 보안 갱신 메시지의 개수가 소정 기준치를 초과하는 경우, 이상 모드로 진입하여 메시지 전송을 중단할 수 있다.
만약, 노드 C(352)가 이상 모드에 진입하지 않고 계속 메시지를 전송하는 경우, 마스터 노드인 노드 A(340)는 노드 C(352)의 메시지 전송이 감지되면, 도미넌트(Dominant) 신호를 지속 전송하여 노드 C(352)의 메시지 전송을 차단할 수 있다. 이 경우, 리세시브(Recessive) 신호와 도미넌트 신호가 조합되어 전송되나, 두 신호 중첩 시 도미넌트 신호가 우선되므로, CAN 버스상에는 도미넌트 신호만 전송되는 것처럼 보여진다. 따라서, 노드 C(352)는 더 이상 메시지를 전송할 수 없다.
특히, 본 발명에 따른 노드 A(340)는 해킹 노드가 감지되면, 감지된 시점의 시간 정보 및 감지된 해킹 노드에 대한 정보를 내부 구비된 메모리의 소정 기록 영역에 저장할 수 있다. 또한, 노드 A(340)는 해킹 노드가 감지되었음을 지시하는 소정 경고 알람 신호를 차량 헤드 유닛(310) 또는 클러스터(미도시)에 전송할 수도 있다.
본 실시예에 따른 마스터 노드인 노드 A(340)는 CAN 게이트웨이일 수 있으나, 이에 한정되지는 않는다.
또한, 노드 A(340)는 차량 헤드 유닛(310)으로부터 현재 시간 정보를 획득할 수 있으나, 이는 하나의 실시예에 불과하며, 별도의 시간 제공 유닛(320)-예를 들면, GPS(Global Positioning System) 또는 전자 시계 또는 외부 연결된 스마트폰 등을 포함함-로부터 현재 시간 정보를 획득할 수도 있다.
본 실시예에 따른 마스터 노드인 노드 A(340)는 소정 주기-예를 들면, 60초 주기-로 현재 시간 정보를 획득하고, 획득된 현재 시간 정보와 미리 저장된 핀코드(Pincode) 정보에 기반하여 갱신 입력 값을 생성할 수 있다. 핀 코드는 스마트키 및 엔진 ECU 등에 등록될 수 있다. 일 예로, 핀코드는 차량 고유 비밀 번호일 수 있으나, 이에 한정되지는 않으며, 차대 번호, 차량 면허 번호 등이 사용될 수도 있다. 일 예로, 현재 시간 정보는 년도(t0 and t1), 월(t2) 정보, 일자(t3) 정보, 시(t4) 정보 및 분(t5) 정보로 구분될 수 있다. 핀코드는 6자리 숫자일 수 있으며, 각각의 숫자는 P0, P1, P2, P3, P4 및 P5로 구분될 수 있다. 이때, 갱신 입력 값(x)는 하기의 수식에 의해 계산될 수 있다.
X = (P0*t0 + P1*t1 + P2*t2 + P3*t3 + P4*t4 + P5*t5)%16
여기서, %16은 16으로 나누었을 때의 나머지 값을 의미한다.
도 5는 본 발명의 일 실시예에 따른 차량 내 통신 시스템에 장착되는 마스터 노드에서의 차량 내 보안 통신 제공 방법을 설명하기 위한 순서도이다.
도 5를 참조하면, 마스터 노드는 슬레이브 노드의 비밀 코드를 확인하여 보안 검증 순서를 확정할 수 있다(S501). 이때, 슬레이브 노드 별 고유한 비밀 코드가 미리 할당될 수 있으며, 마스터 노드는 소정 제어 절차를 통해 슬레이브 노드의 비밀 코드를 획득할 수 있다.
마스터 노드는 주기적인 입력 값 갱신을 통해 슬레이브 노드 별 보안 값을 확인하도록 제어할 수 있다(S502).
마스터 노드는 해킹(또는 고장) 노드가 감지되었는지 확인할 수 있다(S503). 여기서, 해킹(또는 고장) 노드는 버스상의 메시지 송수신 상태를 모니터링하여 감지되거나 해킹 또는 고장을 감지한 슬레이브 노드로부터 해킹 노드가 감지되었음을 알리는 소정 제어 신호를 수신하여 감지할 수 있다.
마스터 노드는 해킹(또는 고장) 노드의 감지 시점에 관한 정보를 소정 기록 영역에 저장할 수 있다(S504).
마스터 노드는 해킹(또는 고장) 감지 이후에도 해킹(또는 고장) 노드에 의한 메시지 전송이 중단되지 않는 경우, 해킹(또는 고장) 노드의 메시지 전송을 강제 차단시킬 수 있다(S505). 일 예로, 마스터 노드는 도미넌트 신호를 송출하여, 해킹(또는 고장) 노드의 메시지 전송을 강제 차단시킬 수 있다.
상기한 비교 결과, 생성된 보안 값과 수신된 갱신 보안 값이 일치하지 않으면, 노드 B(351)는 노드 C(352)에 보안 갱신 메시지를 전송하지 않을 수 있다.
도 6은 본 발명의 일 실시예에 따른 차량 내 통신 시스템에 장착되는 슬레이브 노드에서의 차량 내 보안 통신 제공 방법을 설명하기 위한 순서도이다.
도 6을 참조하면, 슬레이브 노드는 미리 공유되어 저장된 비밀 코드를 이용하여 보안 검증 순서를 확정할 수 있다(S601).
슬레이브 노드는 주기적으로 갱신 입력 값 및 갱신 보안 값이 포함된 메시지를 수신할 수 있다(S602). 일 예로, 메시지는 해당 슬레이브 노드보다 우선 순위가 높은 노드-즉, 보안 검증 순서가 한 단계 앞선 노드-로부터 수신될 수 있다.
슬레이브 노드는 갱신 입력 값 및 해당 슬레이브 노드에 대응되는 비밀 코드에 기반하여 보안 값을 생성할 수 있다(S603).
슬레이브 노드는 수신된 갱신 보안 값과 생성된 보안 값의 동일 여부를 비교하여 해킹을 발생시킨 노드(또는 고장 노드)를 탐지할 수 있다(S604).
해킹(또는 고장) 노드가 감지된 경우, 슬레이브 노드는 소정 시간 동안 메시지 전송을 중단시킬 수 있다(S605 내지 S606).
슬레이브 노드는 소정 시간 경과 후 해킹 발생이 지속적으로 감지되면 해킹이 발생되었음을 지시하는 소정 제어 신호를 마스터 노드에 전송할 수 있다(S607). 이때, 제어 신호에는 해킹(또는 고장) 노드에 대응되는 식별자 정보, 해킹(또는 고장)이 감지된 시점에 관한 정보 중 적어도 하나가 포함될 수 있다.
본 발명은 본 발명의 정신 및 필수적 특징을 벗어나지 않는 범위에서 다른 특정한 형태로 구체화될 수 있음은 당업자에게 자명하다.
따라서, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.

Claims (20)

  1. 차량 내 통신 네트워크에 연결된 마스터 노드에서의 차량 내 통신 보안 제공 방법에 있어서,
    제1 슬레이브 노드 및 제2 슬레이브 노드 별 미리 할당된 비밀 코드를 획득하여 보안 검증 순서를 확정하는 단계;
    상기 확정된 보안 검증 순서에 따라 소정 주기로 생성된 갱신 입력 값 및 갱신 보안 값을 상기 제1 슬레이브 노드 및 상기 제2 슬레이브 노드에 전송하는 단계;
    해킹 또는 고장 노드를 감지하는 단계;
    상기 해킹 또는 고장 노드가 감지되면, 상기 해킹 또는 고장 노드의 감지 시점에 관한 정보를 구비된 메모리에 기록하는 단계; 및
    상기 해킹 또는 고장 노드의 메시지 전송을 차단하는 단계;를 포함하고,
    상기 해킹 또는 고장 노드를 감지하는 단계는,
    상기 제1 슬레이브 노드가 상기 해킹 노드인 경우, 상기 해킹 노드를 감지한 상기 제2 슬레이브 노드가 상기 제1 슬레이브 노드가 상기 해킹 노드임을 브로드캐스팅하는, 차량 내 통신 보안 제공 방법.
  2. 제1항에 있어서,
    상기 갱신 입력 값은 현재 시간 정보 및 미리 등록된 핀코드 정보에 기반하여 생성되는, 차량 내 통신 보안 제공 방법.
  3. 제1항에 있어서,
    상기 차량 내 통신 네트워크에 연결된 모든 노드의 비밀 코드가 상기 제1 슬레이브 노드 및 상기 제2 슬레이브 노드에 공유되는 것을 특징으로 하는, 차량 내 통신 보안 제공 방법.
  4. 제3항에 있어서,
    상기 공유된 비밀 코드 및 상기 갱신 입력 값에 기반하여 보안 값을 생성하고, 상기 생성된 보안 값과 상기 갱신 보안 값의 동일 여부에 비교하여 상기 해킹 또는 고장 노드가 식별되는 것을 특징으로 하는, 차량 내 통신 보안 제공 방법.
  5. 제4항에 있어서,
    상기 해킹 또는 고장 노드가 식별되면, 상기 해킹 또는 고장 노드를 식별한 상기 제2 슬레이브 노드는 보안 메시지 전송을 소정 시간 동안 중단하는 것을 특징으로 하는, 차량 내 통신 보안 제공 방법.
  6. 제5항에 있어서,
    상기 해킹 또는 고장 노드를 식별한 상기 제2 슬레이브 노드가 상기 메시지 전송을 중단한 후 상기 소정 시간이 경과하면 상기 해킹 또는 고장 노드가 감지되었음을 지시하는 소정 제어 신호를 상기 마스터 노드에 전송하는 것을 특징으로 하는, 차량 내 통신 보안 제공 방법.
  7. 제1항에 있어서,
    상기 해킹 또는 고장 노드의 메시지 전송을 차단하는 단계는
    상기 해킹 또는 고장 노드의 감지 후 소정 시간이 경과된 이후에도 상기 해킹 또는 고장 노드에 의한 메시지 전송이 감지되면, 도미넌트(dominant) 신호를 송출하는 단계를 포함하는, 차량 내 통신 보안 제공 방법.
  8. 제1항에 있어서,
    상기 차량 내 통신 네트워크는 CAN 통신 네트워크인, 차량 내 통신 보안 제공 방법.
  9. 차량 내 통신 네트워크에 연결된 제1 슬레이브 노드 및 제2 슬레이브 노드에서의 차량 내 통신 보안 제공 방법에 있어서,
    미리 공유되어 저장된 비밀 코드를 이용하여 보안 검증 순서를 확정하는 단계;
    주기적으로 갱신 입력 값 및 갱신 보안 값이 포함된 메시지를 수신하는 단계;
    상기 갱신 입력 값, 상기 제1 슬레이브 노드 및 상기 제2 슬레이브 노드에 대응되는 상기 비밀 코드에 기반하여 보안 값을 생성하는 단계;
    수신된 상기 갱신 보안 값과 생성된 상기 보안 값의 동일 여부를 비교하여 해킹을 감지하는 단계; 및
    상기 해킹이 감지되면, 소정 시간 동안 메시지 전송을 중단하는 단계;를 포함하고,
    상기 해킹을 감지하는 단계는,
    상기 제1 슬레이브 노드가 해킹된 경우, 상기 해킹을 감지한 상기 제2 슬레이브 노드가 상기 제1 슬레이브 노드가 상기 해킹됨을 브로드캐스팅하는, 차량 내 통신 보안 제공 방법.
  10. 제9항에 있어서,
    상기 메시지 전송을 중단한 후 상기 소정 시간이 경과하면 상기 해킹이 감지되었음을 지시하는 소정 제어 신호를 마스터 노드에 전송하는 단계를 더 포함하고, 상기 마스터 노드가 상기 제어 신호의 수신 시점을 해킹이 감지된 시점으로 소정 기록 영역에 저장하는 것을 특징으로 하는, 차량 내 통신 보안 제공 방법.
  11. 제1항에 있어서,
    상기 갱신 입력 값은 현재 시간 정보 및 미리 등록된 핀코드 정보에 기반하여 마스터 노드에 의해 생성되는, 차량 내 통신 보안 제공 방법.
  12. 차량 내 통신 네트워크에 연결되어 마스터 노드로 동작하는 차량 내 통신 보안 제공 장치에 있어서,
    제1 슬레이브 노드 및 제2 슬레이브 노드 별 미리 할당된 비밀 코드를 획득하여 보안 검증 순서를 확정하는 수단;
    상기 확정된 보안 검증 순서에 따라 소정 주기로 생성된 갱신 입력 값 및 갱신 보안 값을 상기 제1 슬레이브 노드 및 상기 제2 슬레이브 노드에 전송하는 수단;
    해킹 또는 고장 노드를 감지하는 수단;
    상기 해킹 또는 고장 노드가 감지되면, 상기 해킹 또는 고장 노드의 감지 시점에 관한 정보를 구비된 메모리에 기록하는 수단; 및
    상기 해킹 또는 고장 노드의 메시지 전송을 차단하는 수단;을 포함하고,
    상기 해킹 또는 고장 노드를 감지하는 수단은,
    상기 제1 슬레이브 노드가 상기 해킹 노드인 경우, 상기 해킹 노드를 감지한 상기 제2 슬레이브 노드가 상기 제1 슬레이브 노드가 상기 해킹 노드임을 브로드캐스팅하는, 차량 내 통신 보안 제공 장치.
  13. 제12항에 있어서,
    상기 갱신 입력 값은 현재 시간 정보 및 미리 등록된 핀코드 정보에 기반하여 생성되는, 차량 내 통신 보안 제공 장치.
  14. 제12항에 있어서,
    상기 차량 내 통신 네트워크에 연결된 모든 노드의 비밀 코드가 상기 제1 슬레이브 노드 및 상기 제2 슬레이브 노드에 공유되는 것을 특징으로 하는, 차량 내 통신 보안 제공 장치.
  15. 제14항에 있어서,
    상기 공유된 비밀 코드 및 상기 갱신 입력 값에 기반하여 보안 값을 생성하고, 상기 생성된 보안 값과 상기 갱신 보안 값의 동일 여부에 비교하여 상기 해킹 또는 고장 노드가 식별되는 것을 특징으로 하는, 차량 내 통신 보안 제공 장치.
  16. 제15항에 있어서,
    상기 해킹 또는 고장 노드가 식별되면, 상기 해킹 또는 고장 노드를 식별한 상기 제2 슬레이브 노드는 보안 메시지 전송을 소정 시간 동안 중단하는 것을 특징으로 하는, 차량 내 통신 보안 제공 장치.
  17. 제16항에 있어서,
    상기 해킹 또는 고장 노드를 식별한 상기 제2 슬레이브 노드가 상기 메시지 전송을 중단한 후 상기 소정 시간이 경과하면 상기 해킹 또는 고장 노드가 감지되었음을 지시하는 소정 제어 신호를 상기 마스터 노드에 전송하는 것을 특징으로 하는, 차량 내 통신 보안 제공 장치.
  18. 제12항에 있어서,
    상기 해킹 또는 고장 노드의 감지 후 소정 시간이 경과된 이후에도 상기 해킹 또는 고장 노드에 의한 메시지 전송이 감지되면, 도미넌트(dominant) 신호를 송출하는 수단을 더 포함하는, 차량 내 통신 보안 제공 장치.
  19. 차량 내 통신 네트워크에 연결된 제1 슬레이브 노드 및 제2 슬레이브 노드로 동작하는 차량 내 통신 보안 제공 장치에 있어서,
    미리 공유되어 저장된 비밀 코드를 이용하여 보안 검증 순서를 확정하는 수단;
    주기적으로 갱신 입력 값 및 갱신 보안 값이 포함된 메시지를 수신하는 수단;
    상기 갱신 입력 값, 상기 제1 슬레이브 노드 및 상기 제2 슬레이브 노드에 대응되는 상기 비밀 코드에 기반하여 보안 값을 생성하는 수단;
    수신된 상기 갱신 보안 값과 생성된 상기 보안 값의 동일 여부를 비교하여 해킹을 감지하는 수단; 및
    상기 해킹이 감지되면, 소정 시간 동안 메시지 전송을 중단하는 수단;을 포함하고,
    상기 해킹을 감지하는 단계는,
    상기 제1 슬레이브 노드가 해킹된 경우, 상기 해킹을 감지한 상기 제2 슬레이브 노드가 상기 제1 슬레이브 노드가 상기 해킹됨을 브로드캐스팅하는, 차량 내 통신 보안 제공 장치.
  20. 제1항 내지 제11항 중 어느 한 항에 기재된 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020160157641A 2016-11-24 2016-11-24 차량 내 통신 보안 제공 방법 및 장치 KR102592201B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160157641A KR102592201B1 (ko) 2016-11-24 2016-11-24 차량 내 통신 보안 제공 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160157641A KR102592201B1 (ko) 2016-11-24 2016-11-24 차량 내 통신 보안 제공 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20180058537A KR20180058537A (ko) 2018-06-01
KR102592201B1 true KR102592201B1 (ko) 2023-10-20

Family

ID=62635273

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160157641A KR102592201B1 (ko) 2016-11-24 2016-11-24 차량 내 통신 보안 제공 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102592201B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200119424A (ko) 2019-04-01 2020-10-20 현대자동차주식회사 차량 및 그 제어방법
CN114374575A (zh) * 2021-09-13 2022-04-19 中国航空工业集团公司沈阳飞机设计研究所 一种机载分布式节点can总线网络架构数据传输方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101371902B1 (ko) * 2012-12-12 2014-03-10 현대자동차주식회사 차량 네트워크 공격 탐지 장치 및 그 방법
KR101472896B1 (ko) * 2013-12-13 2014-12-16 현대자동차주식회사 차량 내 통신 네트워크에서의 보안 강화 방법 및 그 장치
KR101651648B1 (ko) * 2016-04-28 2016-08-29 인포뱅크 주식회사 차량용 데이터 통신 방법 및 그를 이용하는 차량용 전자 제어 장치 및 시스템

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160088483A (ko) * 2015-01-15 2016-07-26 고려대학교 산학협력단 키 생성키 생성 방법 및 이를 이용한 데이터 프레임 인증 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101371902B1 (ko) * 2012-12-12 2014-03-10 현대자동차주식회사 차량 네트워크 공격 탐지 장치 및 그 방법
KR101472896B1 (ko) * 2013-12-13 2014-12-16 현대자동차주식회사 차량 내 통신 네트워크에서의 보안 강화 방법 및 그 장치
KR101651648B1 (ko) * 2016-04-28 2016-08-29 인포뱅크 주식회사 차량용 데이터 통신 방법 및 그를 이용하는 차량용 전자 제어 장치 및 시스템

Also Published As

Publication number Publication date
KR20180058537A (ko) 2018-06-01

Similar Documents

Publication Publication Date Title
JP7027592B2 (ja) ゲートウェイ装置、方法及び車載ネットワークシステム
KR101472896B1 (ko) 차량 내 통신 네트워크에서의 보안 강화 방법 및 그 장치
CN107078938B (zh) 网关装置、车载网络系统以及通信方法
KR101714520B1 (ko) 차량 내 네트워크 공격 탐지 방법 및 장치
JP6836340B2 (ja) 不正検知電子制御ユニット、車載ネットワークシステム及び通信方法
KR101780278B1 (ko) Can 통신에서의 통신 부하 절감 방법 및 장치
WO2015159520A1 (ja) 車載ネットワークシステム、不正検知電子制御ユニット及び不正検知方法
CN110546921B (zh) 不正当检测方法、不正当检测装置以及程序
JP7182559B2 (ja) ログ出力方法、ログ出力装置及びプログラム
JP2014236248A (ja) 電子制御装置、電子制御システム
CN111934994B (zh) 网关装置、车载网络系统以及通信方法
WO2019225259A1 (ja) 通信制御装置、不正検知電子制御ユニット、モビリティネットワークシステム、通信制御方法、不正検知方法およびプログラム
JP7412506B2 (ja) 不正検知ルール更新方法、不正検知電子制御ユニット及び車載ネットワークシステム
US11218501B2 (en) Detector, detection method, and detection program
KR102592201B1 (ko) 차량 내 통신 보안 제공 방법 및 장치
KR101714526B1 (ko) 차량 네트워크 해킹 방지 방법 및 장치
CN108632242B (zh) 通信装置及接收装置
CN115580471A (zh) 不正当检测方法、不正当检测装置以及存储介质
EP3078167B1 (en) Method, secure element and system for monitoring controller area network devices
WO2018020833A1 (ja) フレーム伝送阻止装置、フレーム伝送阻止方法及び車載ネットワークシステム
JP2017085197A (ja) 通信システム、送信装置、及び通信方法
Chethan et al. Strategies for monitoring CAN node communication failures in the V2X eco-system
WO2017056395A1 (ja) 不正検知電子制御ユニット、車載ネットワークシステム及び通信方法
JP2015112963A (ja) 車載ネットワークシステム

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant