KR102398762B1 - 차량 상태에 따른 차량용 네트워크의 보안 방법 및 그 장치 - Google Patents

차량 상태에 따른 차량용 네트워크의 보안 방법 및 그 장치 Download PDF

Info

Publication number
KR102398762B1
KR102398762B1 KR1020200173460A KR20200173460A KR102398762B1 KR 102398762 B1 KR102398762 B1 KR 102398762B1 KR 1020200173460 A KR1020200173460 A KR 1020200173460A KR 20200173460 A KR20200173460 A KR 20200173460A KR 102398762 B1 KR102398762 B1 KR 102398762B1
Authority
KR
South Korea
Prior art keywords
message
authentication
vehicle
received
communication node
Prior art date
Application number
KR1020200173460A
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 KR1020200173460A priority Critical patent/KR102398762B1/ko
Application granted granted Critical
Publication of KR102398762B1 publication Critical patent/KR102398762B1/ko

Links

Images

Classifications

    • 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/3236Cryptographic 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 cryptographic hash functions
    • H04L9/3242Cryptographic 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 cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • 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
    • H04L2012/40267Bus for use in transportation systems
    • H04L2012/40273Bus for use in transportation systems the transportation system being a vehicle
    • 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

Abstract

차량 상태에 따라 메시지 인증 방법을 달리하고, 차량 주행 중에는 제 1 통신노드로부터 차량 제어용 메시지 및 MCU로부터 점유율을 수신하고, 수신된 점유율에 따라 선택적으로 메시지 인증코드를 생성하여 인증된 메시지를 제 2 통신 노드로 송신하는 차량용 네트워크의 보안 방법 및 그 장치가 개시되어 있다.

Description

차량 상태에 따른 차량용 네트워크의 보안 방법 및 그 장치{Method and apparatus of securing message in network for vehicle according to condition of vehicle}
본 발명은 차량용 네트워크의 보안 방법 및 그 장치에 관한 것으로, ECU로부터 수신한 메시지를 차량 상태 및 MCU의 점유율에 따라 선택적으로 메시지 인증코드를 이용하여 차량 상태에 따라 메시지를 인증하는 차량용 네트워크의 보안 방법 및 그 장치에 관한 것이다.
IT 기술이 지속적으로 발전하면서 가전기기는 물론 차량 역시 다양한 IT 기기들이 탑재되고 있다. 차량에 IT 기기들이 탑재되기 시작하면서 차량 내의 전자제어장치인 ECU(Electronic Control Unit)도 다양한 기능을 지원하기에 이르렀고 탑재되는 수량 또한 증가하고 있으며, 필요에 따라 차량의 적재적소에 분산 배치되어 있다.
차량 내에 분산 배치된 ECU들은 상호 유기적으로 작용하여 동작해야 하기 때문에 이들은 기본적으로 통신을 통해 상호 상태를 인지해야 한다. 이를 위해서 차량 내 수십 개의 ECU들은 차량용 네트워크로 연결되어 있다. 공지된 바와 같이 차량용 네트워크는 CAN(Controller Area Network)이 사실상 표준 역할을 하면서 다양한 통신방식(LIN, MOST, Flexray, CAN-FD, Ethernet, bluetooth 등)으로 확대되고 있다.
차량에 탑재되는 통신 노드들의 수가 증대되고 있다는 점, 자율주행 적용으로 기존에 비해 상대적으로 더 많은 통신 부하를 처리해야 한다는 점, 외부 네트워크와의 연동이 요구된다는 점, 각종 사이버 공격에 노출될 빈도가 높아져서 보안 범위와 기능이 확대되고 있는 점 등을 종합적으로 고려해 볼 때, 차량 내부의 통신 제어 장치 내의 MCU의 처리 능력의 부족으로 메시지 인증을 할 수 없는 경우가 발생하여, 차량 운행 제어의 위험도가 증가하고 있는 실정이다. 또한, 차량 상태에 맞는 인증 방법이 없어 문제가 있어 왔다.
본 발명이 해결하고자 하는 과제는 차량 상태에 따라 메시지 인증 방법을 달리하고, 차량 주행 중에는 MCU의 점유율에 따라 메시지 인증코드를 외부서버로부터 수신하거나, 새로운 인증 없이 기존의 인증코드를 이용하여 MCU의 부담을 줄여주는 차량 상태에 따른 차량용 네트워크의 보안 방법 및 그 장치를 제공하는데 있다.
상기 기술적 과제를 해결하기 위한 본 발명의 일 실시예에 따라, 차량용 네트워크의 보안 방법은 차량 시동 전에 제 1 통신 노드로부터 차량 제어용 메시지를 수신하는 경우, 상기 제 1 통신 노드에 외부 침입이 감지되지 않는다면, 상기 수신된 메시지를 제 2 통신 노드로 송신하는 단계; 상기 차량 시동 후 차량용 통신제어장치 내에 포함된 마이크로 컨트롤러인 MCU가 부팅 완료 전에 상기 제 1 통신 노드로부터 차량 제어용 메시지를 수신하는 경우, 해쉬 함수를 이용하는 제 1 인증 단계 및 비밀키를 이용한 제 2 인증 단계를 이용하여 메시지 인증코드를 생성하는 단계; 상기 차량 주행 중 상기 제 1 통신노드로부터 차량 제어용 메시지를 수신하는 단계; 상기 MCU로부터 점유율을 수신하는 단계; 상기 수신된 점유율이 제 1 점유율 미만인 경우에는 상기 제 1 인증 단계 및 상기 제 2 인증 단계를 이용하여 메시지 인증코드를 생성하는 단계; 상기 수신된 점유율이 상기 제 1 점유율 내지 제 2 점유율인 경우에는 상기 수신된 메시지를 외부 인증서버에 송신하고, 상기 외부 인증서버에서 제 1 인증 단계 및 비밀키를 이용한 제 2 인증 단계를 이용하여 생성된 메시지 인증코드를 수신하는 단계; 상기 수신된 점유율이 상기 제 2 점유율을 초과하는 경우에는 상기 제 1 인증 단계 및 상기 제 2 인증 단계 없이 대기 상태를 유지하고, 상기 대기 상태가 소정의 시간을 초과하는 경우, 기존에 저장되어 있는 메시지 인증코드를 재사용하는 단계; 상기 수신된 차량 제어용 메시지 및 상기 생성, 수신 또는 재사용되는 메시지 인증코드에 기초하여 인증된 메시지를 생성하는 단계; 및 상기 생성된 인증 메시지를 제 2 통신 노드로 송신하는 단계를 포함한다.
상기 기술적 과제를 해결하기 위한 본 발명의 다른 실시예에 따라, 차량용 네트워크의 보안 장치는 차량 시동 전에 제 1 통신 노드로부터 차량 제어용 메시지를 수신하고, 상기 차량 시동 후 차량용 통신제어장치 내에 포함된 마이크로 컨트롤러인 MCU가 부팅 완료 전에 상기 제 1 통신 노드로부터 차량 제어용 메시지를 수신하고, 상기 차량 주행 중 상기 제 1 통신노드로부터 차량 제어용 메시지 및 상기 MCU로부터 점유율을 수신하는 수신부; 상기 차량 시동 후 상기 MCU가 부팅 완료 전에 상기 제 1 통신 노드로부터 상기 차량 제어용 메시지를 수신한 경우 및 상기 수신된 점유율이 제 1 점유율 미만인 경우에는 해쉬 함수를 이용하는 제 1 인증 단계 및 비밀키를 이용한 제 2 인증 단계를 이용하여 메시지 인증코드를 생성하고, 상기 수신된 점유율이 상기 제 1 점유율 내지 제 2 점유율인 경우에는 상기 수신된 메시지를 외부 인증서버에 송신하고, 상기 외부 인증서버에서 제 1 인증 단계 및 비밀키를 이용한 제 2 인증 단계를 이용하여 생성된 메시지 인증코드를 상기 수신부를 통하여 수신하고, 상기 수신된 점유율이 상기 제 2 점유율을 초과하는 경우에는 상기 제 1 인증 단계 및 상기 제 2 인증 단계 없이 대기 상태를 유지하고, 상기 대기 상태가 소정의 시간을 초과하는 경우, 기존에 저장되어 있는 메시지 인증코드를 재사용하고, 상기 수신된 차량 제어용 메시지 및 상기 생성, 수신 또는 재사용되는 메시지 인증코드에 기초하여 인증된 메시지를 생성하는 인증부; 및 상기 차량 시동 전 수신된 차량 제어용 메시지 및 상기 생성된 인증 메시지를 제 2 통신 노드로 송신하는 송신부를 포함한다.
본 발명은 차량 상태에 따라 인증 방법을 달리하여, 차량 전장 장치의 부담없이 보안에 만전을 기할 수 있는 장점이 있다.
또한, 본 발명은 차량 주행 중에는 MCU의 점유율에 따라 메시지 인증코드 생성 기술을 변경하여 인증 메시지를 생성함으로써 MCU의 부담을 줄이고, MCU의 점유율로 인하여 인증 없이 메시지가 전달되는 것을 방지하고, MCU의 부담 없이 어느 정도의 암호화로 보안을 강화할 수 있는 장점이 있다.
도 1은 본 발명의 일 실시예에 따른 차량용 네트워크의 보안 방법에 관한 흐름도를 나타내는 도면이다.
도 2는 본 발명의 일 실시예에 따른 차량용 네트워크 보안 장치에 관한 블록다이어그램을 나타내는 도면이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예를 참조하면 명확해질 것이다. 그러나 본 발명은 여기서 설명되는 실시예들에 한정되지 않고 다른 형태로 구체화될 수도 있다. 오히려, 여기서 소개되는 실시예들은 개시된 내용이 철저하고 완전해질 수 있도록 그리고 당업자에게 본 발명의 사상이 충분히 전달될 수 있도록 하기 위해 제공되는 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미가 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미가 있는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 차량용 네트워크의 보안 방법에 관한 흐름도를 나타내는 도면이다.
도 1을 참조하면, 단계 110에서, 차량용 네트워크의 보안 방법을 수행하는 장치(이하, '차량용 네트워크 보안 장치'라고 함)는 차량 시동 전에 제 1 통신 노드로부터 차량 제어용 메시지를 수신하는 경우에는 제 1 통신 노드에 외부 침입이 감지되지 않는다면, 수신된 메시지를 제 2 통신 노드로 송신한다. 만약, 제 1 통신 노드에 외부 침입이 감지된다면, 차량용 네트워크 보안 장치는 수신된 메시지를 제 2 통신 노드로 송신하지 않는다.
통신 노드는 엔드 노드를 의미하며, 엔드 노드는 차량에 탑재되어 특수 목적 혹은 기능을 제공하기 위해 설치되는 장치들을 제어하는 ECU(Electronic Control Unit)로 이해하는 것이 바람직하다. ECU는 자동차의 엔진, 자동변속기, ABS 따위의 상태를 컴퓨터로 제어하는 전자제어 장치를 의미한다.
차량 시동 전 상태는 차량의 전장 장치들은 ON되어 있으며, 시동은 걸지 않은채 차량 편의 장치를 동작하는 경우를 의미한다. 제 1 통신 노드에 외부 침입이 감지되지 않는다면, 인증 없이 제 1 통신 노드로부터 수신한 메시지를 제 2 통신 노드로 송신한다.
차량용 네트워크 보안 장치와 통신노드들은 구현 방식에 따라 CAN 프로토콜, MOST 프로토콜, 이더넷 프로토콜 등을 지원할 수 있으며, 여러 형태(star, ring, bus, mesh,..) 토폴로지 형태로 연결될 수 있다.
통신 노드들은 고유의 IP 주소가 설정되어 있으며 상위 노드로부터 IP 주소를 포함한 메시지를 수신할 수 있고, 수신된 메시지에 포함된 IP 주소를 자신의 IP 주소로 설정할 수 있다. 이는 예시에 불과하며 통신 노드의 IP 주소는 다양한 방식을 통해 설정될 수 있다.
차량용 네트워크 보안 장치는 차량용 네트워크를 구성하는 통신 노드들의 식별정보를 저장하며 접근한 통신 노드에 대한 인증을 수행하고 그 인증결과에 따라 접근을 허용하거나 차단하는 역할을 수행할 수도 있다.
단계 120에서, 차량 시동 후 차량용 통신제어장치 내에 포함된 마이크로 컨트롤러인 MCU(Micro Controller Unit)가 부팅 완료 전에 제 1 통신 노드로부터 차량 제어용 메시지를 수신하는 경우에는 차량용 네트워크 보안 장치는 해쉬 함수를 이용하는 제 1 인증 단계 및 비밀키를 이용한 제 2 인증 단계를 이용하여 메시지 인증코드를 생성한다.
MCU는 차량용 통신제어장치를 제어하기 위한 전용 프로세서로 컴퓨터의 중앙연산처리장치(CPU)에 해당되는 것으로 볼 수 있다.
메시지 인증코드를 생성하는 방법은 두 인증 단계의 암호화 과정으로 수행된다. 제 1 인증 단계는 차량용 네트워크 보안 장치가 무결성 암호화 방법으로 소정의 해쉬 알고리즘을 통하여 수신된 메시지를 해쉬 값으로 생성한다. 해쉬 함수는 문자열을 고정 길이의 이진 문자열로 매핑하여 주는 함수이다. 여기에서 무결성이란 입력 데이터의 고유한 값을 그대로 유지하고 있음을 증명할 수 있는 자료를 남겨두는 것이다.
제 2 인증 단계는 차량용 네트워크 보안 장치가 소정의 인증 알고리즘을 이용하여 공유 비밀키를 추가하여 수신된 메시지를 암호화한다. 공유 비밀키는 송신측 및 수신측이 모두 가지고 있어야 한다.
차량 시동 시 메시지를 수신하는 경우에는 차량용 네트워크 보안 장치는 제 1 인증 단계 및 제 2 인증 단계를 거쳐 메시지 인증코드를 생성한다.
차량 시동 시에는 엔진 및 구동계 장치들이 동작하게 되며, 이때 MCU는 부팅되며, 최대 2초 후에 부팅이 완료된다.
단계 130에서, 차량 주행 중 제 1 통신 노드로부터 차량 제어용 메시지를 수신한다.
단계 140에서, 차량 주행 중 차량 제어용 메시지를 수신하는 경우, 차량용 네트워크 보안 장치는 MCU로부터 점유율(또는 이용률)을 수신한다.
단계 150에서, 차량용 네트워크 보안 장치는 수신된 점유율이 제 1 점유율 미만인 경우에는 상기 제 1 인증 단계 및 상기 제 2 인증 단계를 이용하여 메시지 인증코드를 생성한다.
제 1 인증 단계 및 제 2 인증 단계는 단계 120에서와 동일한 인증 단계이다.
본 발명의 일 실시예에 있어서, 수신된 MCU 점유율이 제 1 점유율 미만인 경우에는 차량용 네트워크 보안 장치는 두 인증 단계 모두의 인증 단계를 통하여 메시지 인증코드를 생성한다. 바람직하게는 제 1 점유율은 70%이다.
단계 160에서, 수신된 MCU 점유율이 제 1 점유율 이상 제 2 점유율 미만인 경우에는 차량용 네트워크 보안 장치는 수신된 메시지를 외부 인증서버로 송신한다. 외부 인증서버가 앞서 언급한 제 1 인증 단계 및 제 2 인증 단계를 거쳐 메시지 인증코드를 생성한다. 그 후, 외부 인증서버로부터 메시지 인증코드를 수신하게 된다. 바람직하게는 제 2 점유율은 90%이다.
단계 170에서, 수신된 MCU 점유율이 제 2 점유율 이상인 경우에는 차량용 네트워크 보안 장치는 메시지 인증코드를 생성하지 않고 대기한다.
다만, 계속 대기 상태를 유지하는 경우에는 인증 없이 메시지를 전달하게되는 문제가 발생하기 때문에, MCU에 부담을 주지 않는 정도에서의 인증을 통하여 메시지를 전달할 수 있다.
단계 180에서, 대기 상태가 소정의 시간을 경과한 이후에는, 차량용 네트워크 보안 장치는 이전에 생성된 메시지 인증코드를 재사용한다. 이전에 생성된 메시지 인증코드는 차량용 네트워크 보안 장치에 저장되어 있다. 만약 대기 상태가 소정의 시간을 경과하지 않는 경우, MCU의 점유율에 따라, 단계 150 또는 단계 160이 실행된다.
단계 190에서, 차량용 네트워크 보안 장치는 수신된 차량용 제어 메시지 및 생성, 수신 또는 재사용된 메시지 인증코드를 이용하여 인증된 메시지를 생성한다.
메시지 인증코드를 재사용하는 실시예에 있어서, 대기 상태 동안 수신된 메시지가 M1, M2, M3, M4라고 하고, 이전에 생성된 메시지 인증코드가 (m1, m2), (m3, m4), (m5, m6), (m7, m8)라고 한다면(메시지 인증코드는 2 바이트이고, m은 1바이트라고 가정), 차량용 네트워크 보안 장치는 이전에 생성된 메시지 인증코드를 부가하여 M1는 M1(m1, m2)의 인증된 메시지로, M2는 M2(m3, m4)의 인증된 메시지로, M3는 M3(m5, m6)의 인증된 메시지로, M4는 M4(m7, m8)의 인증된 메시지로 생성한다.
본 발명의 다른 실시예에 따라, 대기 상태가 소정의 시간이 경과한 이후에는, 차량용 네트워크 보안 장치는 대기 상태 기간 동안 수신된 적어도 하나의 메시지를 이전에 생성된 메시지 인증코드를 재조합하여 사용한다. 그 후, 차량용 네트워크 보안 장치는 재조합된 메시지 인증코드에 기초하여 인증된 메시지를 생성한다.
대기 상태 동안 수신된 메시지가 M1, M2, M3, M4라고 하고, 이전에 생성된 메시지 인증코드가 (m1, m2), (m3, m4), (m5, m6), (m7, m8)라고 한다면(메시지 인증코드는 2 바이트이고, m은 1바이트라고 가정), 차량용 네트워크 보안 장치는 이전에 생성된 메시지 인증코드를 재조합 후, 재조합된 메시지 인증코드를 부가하여 M1는 M1(m1, m4)의 인증된 메시지로, M2는 M2(m3, m6)의 인증된 메시지로, M3는 M3(m5, m8)의 인증된 메시지로, M4는 M4(m7, m2)의 인증된 메시지로 생성한다.
본 발명의 또 다른 실시예에 따라, 대기 상태가 소정의 시간이 경과한 이후에는, 차량용 네트워크 보안 장치는 대기 상태 기간 동안 수신된 적어도 하나의 메시지를 이전에 생성된 메시지 인증코드의 길이를 변경한다. 그 후, 차량용 네트워크 보안 장치는 길이가 변경된 메시지 인증코드에 기초하여 인증된 메시지를 생성한다.
대기 상태 동안 수신된 메시지가 M1, M2, M3, M4라고 하고, 이전에 생성된 메시지 인증코드가 (m1, m2), (m3, m4), (m5, m6), (m7, m8)라고 한다면(메시지 인증코드는 2 바이트이고, m은 1바이트라고 가정), 차량용 네트워크 보안 장치는 이전에 생성된 메시지 인증코드를 부가하여 M1는 M1(m1, m2, m3)의 인증된 메시지로, M2는 M2(m4)의 인증된 메시지로, M3는 M3(m5, m6, m7)의 인증된 메시지로, M4는 M4(m7)의 인증된 메시지로 생성한다.
이 경우들은, 수신측에서 이전에 수신했던 인증코드이기에 인증 값이 동일 값인지 비교 연산으로 복호화가 가능하다. 이렇게 함으로써, 차량용 네트워크 보안 장치는 메시지 인증코드를 새로 생성하지 아니하고, 기존의 메시지 인증코드를 재활용함으로써, MCU의 부하를 줄이는 효과를 가지게 된다.
본 발명에 있어서, 수신된 메시지는 CAN 메시지가 바람직하다. CAN(Controller Area Network)이란, 차량 내에서 호스트 컴퓨터 없이 마이크로 컨트롤러나 장치들이 서로 통신하기 위해 설계된 표준 통신 규격이다. CAN 통신에서 데이터 송수신은 메시지 프레임을 사용하여 이루어진다. 그 후, 차량용 네트워크 보안 장치는 생성, 수신 또는 재사용된 메시지 인증코드와 CAN 메시지의 일부 프레임에 기초하여 인증된 이더넷 메시지를 생성한다.
단계 1100에서, 차량용 네트워크 보안 장치는 수신된 메시지 또는 생성된 인증 메시지를 제 2 통신 노드로 송신한다.
일반적으로, 차량용 네트워크 보안 장치는 주기적으로 인증된 메시지를 제 2 통신 노드로 송신한다.
본 발명의 일 실시예에 있어서, 차량용 네트워크 보안 장치는 인증된 메시지를 주기를 변경하여 전송할 수 있다. 예를 들어, M1(m1, m2), M2(m3, m4), M3(m5, m6), M4(m7, m8)의 인증된 메시지를 2초 주기로 전송하는데, 1초, 2초, 3초 간격으로 주기를 변경하여 인증된 메시지를 제 2 통신노드에 전송할 수도 있다. 또는 전송 주기를 랜덤으로 하여 인증된 메시지를 전송할 수도 있다.
본 발명의 다른 실시예에 있어서, 차량용 네트워크 보안 장치는 인증된 메시지의 순서를 변경하여 전송할 수 있다. 예를 들어, M1(m1, m2), M2(m3, m4), M3(m5, m6), M4(m7, m8)의 인증된 메시지를 M2(m3, m4), M1(m1, m2), M4(m7, m8), M3(m5, m6)로 순서를 변경하여 인증된 메시지를 제 2 통신노드에 전송할 수도 있다. 또는 순서를 랜덤으로 하여 인증된 메시지를 전송할 수도 있다.
도 2는 본 발명의 일 실시예에 따른 차량용 네트워크 보안 장치에 관한 블록다이어그램을 나타내는 도면이다.
도 2를 참조하면, 차량용 통신제어장치(200)는 차량용 네트워크 보안 장치(210) 및 MCU(220)를 포함하고, 차량용 네트워크 보안 장치(210)는 수신부(211), 인증부(212), 송신부(213) 및 저장부(214)를 포함한다.
수신부(211)가 차량 시동 전에 제 1 ECU(300)로부터 차량 제어용 메시지를 수신하는 경우, 제 1 ECU(300)에 외부 침입이 감지되지 않는다면, 송신부(213)는 수신된 메시지를 제 2 ECU(400)로 송신한다. 인증부(212)는 제 1 ECU(300)에 외부 침입이 있는지 감지한다. 만약, 제 1 ECU(300)에 외부 침입이 감지된다면, 송신부(213)는 수신된 메시지를 제 2 ECU(400)로 송신하지 않는다.
차량 시동 전 상태는 차량의 전장 장치들은 ON되어 있으며, 시동은 걸지 않은채 차량 편의 장치를 동작하는 경우를 의미한다. 제 1 ECU(300)에 외부 침입이 감지되지 않는다면, 인증 없이 제 1 ECU(300)로부터 수신한 메시지를 제 2 ECU(400)로 송신한다.
통신 노드는 엔드 노드를 의미하며, 엔드 노드는 차량에 탑재되어 특수 목적 혹은 기능을 제공하기 위해 설치되는 장치들을 제어하는 ECU(Electronic Control Unit)로 이해하는 것이 바람직하다. ECU는 자동차의 엔진, 자동변속기, ABS 따위의 상태를 컴퓨터로 제어하는 전자제어 장치를 의미한다.
차량용 네트워크 보안 장치(210)와 ECU(300, 400)들은 구현 방식에 따라 CAN 프로토콜, MOST 프로토콜, 이더넷 프로토콜 등을 지원할 수 있으며, 여러 형태(star, ring, bus, mesh,..) 토폴로지 형태로 연결될 수 있다.
ECU(300, 400)들은 고유의 IP 주소가 설정되어 있으며 상위 노드로부터 IP 주소를 포함한 메시지를 수신할 수 있고, 수신된 메시지에 포함된 IP 주소를 자신의 IP 주소로 설정할 수 있다. 이는 예시에 불과하며 ECU(300, 400)들의 IP 주소는 다양한 방식을 통해 설정될 수 있다.
차량용 네트워크 보안 장치(210)는 차량용 네트워크를 구성하는 통신 노드들의 식별정보를 저장하며 접근한 통신 노드에 대한 인증을 수행하고 그 인증결과에 따라 접근을 허용하거나 차단하는 역할을 수행할 수도 있다.
수신부(211)가 차량 시동 후 차량용 통신제어장치 내에 포함된 마이크로 컨트롤러인 MCU(220)가 부팅 완료 전에 제 1 ECU(300)로부터 차량 제어용 메시지를 수신하는 경우에는 인증부(212)는 해쉬 함수를 이용하는 제 1 인증 단계 및 비밀키를 이용한 제 2 인증 단계를 이용하여 메시지 인증코드를 생성한다.
MCU(220)는 차량용 통신제어장치를 제어하기 위한 전용 프로세서로 컴퓨터의 중앙연산처리장치(CPU)에 해당되는 것으로 볼 수 있다.
메시지 인증코드를 생성하는 방법은 두 인증 단계의 암호화 과정으로 수행된다. 제 1 인증 단계는 인증부(212)가 무결성 암호화 방법으로 소정의 해쉬 알고리즘을 통하여 수신된 메시지를 해쉬 값으로 생성한다. 해쉬 함수는 문자열을 고정 길이의 이진 문자열로 매핑하여 주는 함수이다. 여기에서 무결성이란 입력 데이터의 고유한 값을 그대로 유지하고 있음을 증명할 수 있는 자료를 남겨두는 것이다.
제 2 인증 단계는 인증부(212)가 소정의 인증 알고리즘을 이용하여 공유 비밀키를 추가하여 수신된 메시지를 암호화한다. 공유 비밀키는 송신측 및 수신측이 모두 가지고 있어야 한다.
인증부(212)는 제 1 인증 단계 및 제 2 인증 단계를 거쳐 메시지 인증코드를 생성한다.
차량 시동 시에는 엔진 및 구동계 장치들이 동작하게 되며, 이때 MCU(220)는 부팅되며, 최대 2초 후에 부팅이 완료된다.
수신부(211)는 차량 주행 중 제 1 ECU(300)로부터 차량 제어용 메시지를 수신한다.
수신부(211)는 차량용 통신제어장치 내에 포함된 마이크로 컨트롤러인 MCU(220)로부터 점유율(또는 이용률)을 수신한다.
인증부(212)는 수신된 점유율이 제 1 점유율 미만인 경우에는 해쉬 함수를 이용하는 제 1 인증 단계 및 비밀키를 이용한 제 2 인증 단계를 이용하여 메시지 인증코드를 생성한다.
본 발명의 일 실시예에 있어서, 수신된 MCU(220) 점유율이 제 1 점유율 미만인 경우에는 인증부(212)는 두 인증 단계 모두의 인증 단계를 통하여 메시지 인증코드를 생성한다. 바람직하게는 제 1 점유율은 70%이다.
수신된 MCU(220) 점유율이 제 1 점유율 이상 제 2 점유율 미만인 경우에는 인증부(212)는 수신된 메시지를 외부 인증서버(500)로 송신한다. 외부 인증서버(500)가 앞서 언급한 제 1 인증 단계 및 제 2 인증 단계를 거쳐 메시지 인증코드를 생성한다. 그 후, 수신부(211)는 외부 인증서버(500)로부터 메시지 인증코드를 수신하게 된다. 바람직하게는 제 2 점유율은 90%이다.
수신된 MCU(220) 점유율이 제 2 점유율 이상인 경우에는 인증부(212)는 메시지 인증코드를 생성하지 않고 대기한다.
다만, 계속 대기 상태를 유지하는 경우에는 인증 없이 메시지를 전달하게 되는 문제가 발생하기 때문에, MCU(220)에 부담을 주지 않는 정도에서의 인증을 통하여 메시지를 전달할 수 있다.
대기 상태가 소정의 시간을 경과한 이후에는, 인증부(212)는 이전에 생성된 메시지 인증코드를 재사용한다. 이전에 생성된 메시지 인증코드는 저장부(214)에 저장되어 있다. 만약 대기 상태가 소정의 시간을 경과하지 않는 경우, MCU의 점유율에 따라, 메시지 인증코드를 생성하거나 외부 인증서버(500)로부터 수신한다.
그 후, 인증부(212)는 수신된 차량용 제어 메시지 및 생성, 수신 또는 재사용된 메시지 인증코드를 이용하여 인증된 메시지를 생성한다.
메시지 인증코드를 재사용하는 실시예에 있어서, 대기 상태 동안 수신된 메시지가 M1, M2, M3, M4라고 하고, 이전에 생성된 메시지 인증코드가 (m1, m2), (m3, m4), (m5, m6), (m7, m8)라고 한다면(메시지 인증코드는 2 바이트이고, m은 1바이트라고 가정), 인증부(212)는 이전에 생성된 메시지 인증코드를 부가하여 M1는 M1(m1, m2)의 인증된 메시지로, M2는 M2(m3, m4)의 인증된 메시지로, M3는 M3(m5, m6)의 인증된 메시지로, M4는 M4(m7, m8)의 인증된 메시지로 생성한다.
본 발명의 다른 실시예에 따라, 대기 상태가 소정의 시간이 경과한 이후에는, 인증부(212)는 대기 상태 기간 동안 수신된 적어도 하나의 메시지를 이전에 생성된 메시지 인증코드를 재조합하여 사용한다. 그 후, 인증부(212)는 재조합된 메시지 인증코드에 기초하여 인증된 메시지를 생성한다.
대기 상태 동안 수신된 메시지가 M1, M2, M3, M4라고 하고, 이전에 생성된 메시지 인증코드가 (m1, m2), (m3, m4), (m5, m6), (m7, m8)라고 한다면(메시지 인증코드는 2 바이트이고, m은 1바이트라고 가정), 인증부(212)는 이전에 생성된 메시지 인증코드를 재조합 후, 재조합된 메시지 인증코드를 부가하여 M1는 M1(m1, m4)의 인증된 메시지로, M2는 M2(m3, m6)의 인증된 메시지로, M3는 M3(m5, m8)의 인증된 메시지로, M4는 M4(m7, m2)의 인증된 메시지로 생성한다.
본 발명의 또 다른 실시예에 따라, 대기 상태가 소정의 시간이 경과한 이후에는, 인증부(212)는 대기 상태 기간 동안 수신된 적어도 하나의 메시지를 이전에 생성된 메시지 인증코드의 길이를 변경한다. 그 후, 인증부(212)는 길이가 변경된 메시지 인증코드에 기초하여 인증된 메시지를 생성한다.
대기 상태 동안 수신된 메시지가 M1, M2, M3, M4라고 하고, 이전에 생성된 메시지 인증코드가 (m1, m2), (m3, m4), (m5, m6), (m7, m8)라고 한다면(메시지 인증코드는 2 바이트이고, m은 1바이트라고 가정), 인증부(212)는 이전에 생성된 메시지 인증코드를 부가하여 M1는 M1(m1, m2, m3)의 인증된 메시지로, M2는 M2(m4)의 인증된 메시지로, M3는 M3(m5, m6, m7)의 인증된 메시지로, M4는 M4(m7)의 인증된 메시지로 생성한다.
이 경우들은, 수신측에서 이전에 수신했던 인증코드이기에 인증 값이 동일 값인지 비교 연산으로 복호화가 가능하다. 이렇게 함으로써, 차량용 네트워크 보안 장치(210)는 메시지 인증코드를 새로 생성하지 아니하고, 기존의 메시지 인증코드를 재활용함으로써, MCU의 부하를 줄이는 효과를 가지게 된다.
본 발명에 있어서, 수신된 메시지는 CAN 메시지가 바람직하다. CAN(Controller Area Network)이란, 차량 내에서 호스트 컴퓨터 없이 마이크로 컨트롤러나 장치들이 서로 통신하기 위해 설계된 표준 통신 규격이다. CAN 통신에서 데이터 송수신은 메시지 프레임을 사용하여 이루어진다. 그 후, 차량용 네트워크 보안 장치는 생성, 수신 또는 재사용된 메시지 인증코드와 CAN 메시지의 일부 프레임에 기초하여 인증된 이더넷 메시지를 생성한다.
송신부(213)는 생성된 인증 메시지를 제 2 통신 노드로 송신한다.
일반적으로, 송신부(213)는 주기적으로 인증된 메시지를 제 2 통신 노드로 송신한다.
본 발명의 일 실시예에 있어서, 송신부(213)는 인증된 메시지를 주기를 변경하여 전송할 수 있다. 예를 들어, M1(m1, m2), M2(m3, m4), M3(m5, m6), M4(m7, m8)의 인증된 메시지를 2초 주기로 전송하는데, 송신부(213)는 1초, 2초, 3초 간격으로 주기를 변경하여 인증된 메시지를 제 2 통신노드에 전송할 수도 있다. 또는 전송 주기를 랜덤으로 하여 인증된 메시지를 전송할 수도 있다.
본 발명의 다른 실시예에 있어서, 송신부(213)는 인증된 메시지의 순서를 변경하여 전송할 수 있다. 예를 들어, 송신부(213)는 M1(m1, m2), M2(m3, m4), M3(m5, m6), M4(m7, m8)의 인증된 메시지를 M2(m3, m4), M1(m1, m2), M4(m7, m8), M3(m5, m6)로 순서를 변경하여 인증된 메시지를 제 2 통신노드에 전송할 수도 있다. 또는 순서를 랜덤으로 하여 인증된 메시지를 전송할 수도 있다.
상기 실시예들에 따른 방법은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 또한, 상술한 본 발명의 실시예들에서 사용될 수 있는 데이터 구조, 프로그램 명령, 혹은 데이터 파일은 컴퓨터로 읽을 수 있는 기록매체에 다양한 수단을 통하여 기록될 수 있다. 컴퓨터로 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 저장 장치를 포함할 수 있다. 컴퓨터로 읽을 수 있는 기록매체의 예로는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함될 수 있다. 프로그램 명령의 예로는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
제 1 ECU: 300 제 2 ECU: 400
차량용 통신제어장치: 200 차량용 네트워크 보안 장치: 210
MCU: 220 수신부:211
인증부:212 송신부: 213
저장부: 214

Claims (2)

  1. 차량 시동 전에 제 1 통신 노드로부터 차량 제어용 메시지를 수신하는 경우, 상기 제 1 통신 노드에 외부 침입이 감지되지 않는다면, 상기 수신된 메시지를 제 2 통신 노드로 송신하는 단계;
    상기 차량 시동 후 차량용 통신제어장치 내에 포함된 마이크로 컨트롤러인 MCU가 부팅 완료 전에 상기 제 1 통신 노드로부터 차량 제어용 메시지를 수신하는 경우, 해쉬 함수를 이용하는 제 1 인증 단계 및 비밀키를 이용한 제 2 인증 단계를 이용하여 메시지 인증코드를 생성하는 단계;
    상기 차량 주행 중 상기 제 1 통신노드로부터 차량 제어용 메시지를 수신하는 단계;
    상기 MCU로부터 상기 MCU의 이용율을 나타내는 점유율을 수신하는 단계;
    상기 수신된 점유율이 제 1 점유율 미만인 경우에는 상기 제 1 인증 단계 및 상기 제 2 인증 단계를 이용하여 메시지 인증코드를 생성하는 단계;
    상기 수신된 점유율이 상기 제 1 점유율 내지 제 2 점유율인 경우에는 상기 수신된 메시지를 외부 인증서버에 송신하고, 상기 외부 인증서버에서 상기 제 1 인증 단계 및 상기 제 2 인증 단계를 이용하여 생성된 메시지 인증코드를 수신하는 단계;
    상기 수신된 점유율이 상기 제 2 점유율을 초과하는 경우에는 상기 제 1 인증 단계 및 상기 제 2 인증 단계 없이 대기 상태를 유지하고, 상기 대기 상태가 소정의 시간을 초과하는 경우, 기존에 저장되어 있는 메시지 인증코드를 재사용하는 단계;
    상기 수신된 차량 제어용 메시지 및 상기 생성, 수신 또는 재사용되는 메시지 인증코드에 기초하여 인증된 메시지를 생성하는 단계; 및
    상기 생성된 인증 메시지를 제 2 통신 노드로 송신하는 단계를 포함하는 것을 특징으로 하는 차량용 네트워크의 보안 방법.
  2. 차량 시동 전에 제 1 통신 노드로부터 차량 제어용 메시지를 수신하고, 상기 차량 시동 후 차량용 통신제어장치 내에 포함된 마이크로 컨트롤러인 MCU가 부팅 완료 전에 상기 제 1 통신 노드로부터 차량 제어용 메시지를 수신하고, 상기 차량 주행 중 상기 제 1 통신노드로부터 차량 제어용 메시지 및 상기 MCU로부터 상기 MCU의 이용율을 나타내는 점유율을 수신하는 수신부;
    상기 차량 시동 후 상기 MCU가 부팅 완료 전에 상기 제 1 통신 노드로부터 상기 차량 제어용 메시지를 수신한 경우 및 상기 수신된 점유율이 제 1 점유율 미만인 경우에는 해쉬 함수를 이용하는 제 1 인증 단계 및 비밀키를 이용한 제 2 인증 단계를 이용하여 메시지 인증코드를 생성하고, 상기 수신된 점유율이 상기 제 1 점유율 내지 제 2 점유율인 경우에는 상기 수신된 메시지를 외부 인증서버에 송신하고, 상기 외부 인증서버에서 상기 제 1 인증 단계 및 상기 제 2 인증 단계를 이용하여 생성된 메시지 인증코드를 상기 수신부를 통하여 수신하고, 상기 수신된 점유율이 상기 제 2 점유율을 초과하는 경우에는 상기 제 1 인증 단계 및 상기 제 2 인증 단계 없이 대기 상태를 유지하고, 상기 대기 상태가 소정의 시간을 초과하는 경우, 기존에 저장되어 있는 메시지 인증코드를 재사용하고, 상기 수신된 차량 제어용 메시지 및 상기 생성, 수신 또는 재사용되는 메시지 인증코드에 기초하여 인증된 메시지를 생성하는 인증부; 및
    상기 차량 시동 전 수신된 차량 제어용 메시지 및 상기 생성된 인증 메시지를 제 2 통신 노드로 송신하는 송신부를 포함하는 것을 특징으로 하는 차량용 네트워크의 보안 장치.
KR1020200173460A 2020-12-11 2020-12-11 차량 상태에 따른 차량용 네트워크의 보안 방법 및 그 장치 KR102398762B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200173460A KR102398762B1 (ko) 2020-12-11 2020-12-11 차량 상태에 따른 차량용 네트워크의 보안 방법 및 그 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200173460A KR102398762B1 (ko) 2020-12-11 2020-12-11 차량 상태에 따른 차량용 네트워크의 보안 방법 및 그 장치

Publications (1)

Publication Number Publication Date
KR102398762B1 true KR102398762B1 (ko) 2022-05-17

Family

ID=81803781

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200173460A KR102398762B1 (ko) 2020-12-11 2020-12-11 차량 상태에 따른 차량용 네트워크의 보안 방법 및 그 장치

Country Status (1)

Country Link
KR (1) KR102398762B1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110116913A (ko) * 2010-04-20 2011-10-26 엘지전자 주식회사 서비스 인증 장치 및 그 방법
KR20180072339A (ko) * 2016-12-21 2018-06-29 주식회사 휴맥스오토모티브 운송 수단 내부 네트워크에서 복수의 전자 제어 유닛간 메시지 전송 방법
KR20180109618A (ko) * 2017-03-28 2018-10-08 삼성전자주식회사 적응적 인증 수행 방법 및 이를 지원하는 전자 장치
KR101949305B1 (ko) * 2018-04-27 2019-02-19 최현수 도로 전광판(vms) 시스템의 vcu와 mcu 통합 제어장치 및 이를 이용한 고장진단 방법
KR102122376B1 (ko) * 2019-01-09 2020-06-12 주식회사 지쓰리 커넥티드형 차량용 게이트웨이

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110116913A (ko) * 2010-04-20 2011-10-26 엘지전자 주식회사 서비스 인증 장치 및 그 방법
KR20180072339A (ko) * 2016-12-21 2018-06-29 주식회사 휴맥스오토모티브 운송 수단 내부 네트워크에서 복수의 전자 제어 유닛간 메시지 전송 방법
KR20180109618A (ko) * 2017-03-28 2018-10-08 삼성전자주식회사 적응적 인증 수행 방법 및 이를 지원하는 전자 장치
KR101949305B1 (ko) * 2018-04-27 2019-02-19 최현수 도로 전광판(vms) 시스템의 vcu와 mcu 통합 제어장치 및 이를 이용한 고장진단 방법
KR102122376B1 (ko) * 2019-01-09 2020-06-12 주식회사 지쓰리 커넥티드형 차량용 게이트웨이

Similar Documents

Publication Publication Date Title
EP3154219B1 (en) Communication network system, transmission node, reception node, message checking method, and computer program
US20170118020A1 (en) Data communication method, system and gateway for in-vehicle network including a plurality of subnets
CN106899404B (zh) 基于预共享密钥的车载can fd总线通信系统及方法
CN108023730B (zh) 通信系统及通信方法
US10834170B2 (en) Cloud authenticated offline file sharing
KR102450811B1 (ko) 차량 내부 네트워크의 키 관리 시스템
US9049012B2 (en) Secured cryptographic communication system
KR102202902B1 (ko) 차량용 통신 제어 장치의 보안 방법 및 그 장치
CN111541776A (zh) 一种基于物联网设备的安全通信装置及系统
CN113890730A (zh) 数据传输方法及系统
CN103780389A (zh) 基于端口认证的方法及网络设备
JP2018121220A (ja) 車載ネットワークシステム
CN107589999B (zh) 一种天地一体化工程中进程通信安全通道建立方法
KR102194469B1 (ko) 차량용 통신 제어 장치의 보안 방법 및 그 장치
KR102398762B1 (ko) 차량 상태에 따른 차량용 네트워크의 보안 방법 및 그 장치
KR102398761B1 (ko) 차량용 네트워크의 보안 방법 및 그 장치
KR102398763B1 (ko) 메시지 우선 순위에 따른 차량용 네트워크의 보안 방법 및 그 장치
KR102398764B1 (ko) 차량 제어 메시지 인증 방법 및 그 장치
JP2016134834A (ja) 車載ゲートウェイ装置及び車載ネットワークシステム
KR102236282B1 (ko) 차량용 통신 데이터 인증 방법 및 시스템
KR20200020515A (ko) Can 시스템 및 메시지 인증 방법
CN112738751B (zh) 无线传感器接入鉴权方法、装置及系统
US11399279B2 (en) Security credentials recovery in Bluetooth mesh network
JP2018516019A (ja) ネットワークにおいて秘密又は鍵を生成するための方法
CN107295015B (zh) 一种交通信号机通信方法

Legal Events

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