KR20180058537A - Method and Apparatus for Providing In-Vehicle Communication Security - Google Patents
Method and Apparatus for Providing In-Vehicle Communication Security Download PDFInfo
- Publication number
- KR20180058537A KR20180058537A KR1020160157641A KR20160157641A KR20180058537A KR 20180058537 A KR20180058537 A KR 20180058537A KR 1020160157641 A KR1020160157641 A KR 1020160157641A KR 20160157641 A KR20160157641 A KR 20160157641A KR 20180058537 A KR20180058537 A KR 20180058537A
- Authority
- KR
- South Korea
- Prior art keywords
- node
- security
- hacking
- value
- message
- Prior art date
Links
- 238000004891 communication Methods 0.000 title claims abstract description 77
- 238000000034 method Methods 0.000 title claims abstract description 61
- 230000005540 biological transmission Effects 0.000 claims abstract description 29
- 238000012795 verification Methods 0.000 claims abstract description 21
- 230000000903 blocking effect Effects 0.000 claims abstract description 9
- 238000001514 detection method Methods 0.000 claims description 11
- 230000004044 response Effects 0.000 description 8
- 239000001427 calcium tartrate Substances 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 239000000470 constituent Substances 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000011897 real-time detection Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40052—High-speed IEEE 1394 serial bus
- H04L12/40104—Security; Encryption; Content protection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/068—Network 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3226—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/84—Vehicles
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Small-Scale Networks (AREA)
Abstract
Description
본 발명은 차량 내 통신 보안에 관한 것으로서, 상세하게, 차량 내 통신 네트워크상에서 타 노드에 의해 생성된 보안 값과 자신이 생성한 보안 값을 비교함으로써, 해킹 노드를 탐지하는 것이 가능한 차량 내 통신 보안 제공 방법 및 장치에 관한 것이다.[0001] The present invention relates to intra-vehicular communication security, and more particularly, to an in-vehicle communication security system capable of detecting a hacking node by comparing a security value generated by another node on the in- ≪ / RTI >
미래형 자동차는 차량 내/외부에 탑재된 각종 센서들과 연동되는 다수의 전자 제어 장치(ECU: Electronic Control Unit)를 장착하여 CAN(Controller Area Network)과 같은 차량 내 네트워크를 이용하여 통신을 수행함으로써 차량의 각종 기능을 스마트하게 제어하여 사용자의 편의성과 주행 효율성을 증진시키는 것이 주된 목적이다. The future type vehicle is equipped with a plurality of electronic control units (ECUs) interlocked with various sensors mounted on the inside / outside of the vehicle and performs communication using an in-vehicle network such as a CAN (Controller Area Network) To improve user convenience and driving efficiency by smartly controlling various functions of the vehicle.
최근 정보통신 분야의 사물인터넷 (IoT: Internet of Things, IoT) 기술 분야에서는 플랫폼으로 스마트카 등을 이용하기 위한 연구가 활발히 진행 중에 있다.In recent years, researches are being actively carried out to use smart cars as a platform in the field of Internet of things (IoT) technology in information communication field.
또한, 최근에는 지능형 교통망 서비스를 제공하기 위한 차량간 통신(Vehicle to Vehicle Communication), 차량 기간 망 통신(Vehicle to Infrastructure Communication) 등에 대한 표준화 및 기술 개발이 활발히 진행되고 있다.Recently, standardization and technology development for Vehicle to Vehicle Communication and Vehicle to Infrastructure Communication for providing intelligent transportation network services are actively under way.
이에 따라, 미래의 스마트 차량에 대한 공격 형태는 종래에 비해 보다 많은 통신 패킷이 존재할 뿐만 아니라 다양한 외부 장치와의 통신을 수행하므로, 해킹 유형이 다양해지고 분산적인 형태로 진화할 것이 예상되고 있다.As a result, there are more communication packets than in the past, and communication with various external devices is performed in future attacks on the smart vehicles, so that the types of hacking are various and it is expected to evolve into a distributed form.
하지만, 종래에는 차량 내 사용 가능한 자원은 한정적인 반면, 해킹 유형은 보다 다양하고 분산적이므로 효과적인 대응이 쉽지 않은 문제점이 있었다. However, conventionally, the available resources in the vehicle are limited, while the types of hacking are more diversified and dispersed, so that it is not easy to respond effectively.
특히, 차량의 정지 상태뿐만 아니라 주행 상태에서의 보안 해킹 및 공격은 운전자의 프라이버시뿐만 아니라 주행 안전에 치명적인 영향을 미칠 수 있다. 일 예로, 해킹에 의해 주행 중 엔진이 정지하거나, 조향 핸들/브레이크 등이 오동작하는 경우 운전자의 안전에 치명적일 수 있다.In particular, security hacking and attack in a running state as well as a stationary state of a vehicle can have a fatal impact on driving safety as well as the privacy of the driver. For example, if the engine stops during driving due to hacking, or if the steering wheel / brake malfunctions, it may be fatal to the safety of the driver.
따라서, 상기와 같은 다양한 차량에 대한 해킹 공격을 조기에 감지하고, 악의적인 공격에 대해 적절히 대처하기 위한 효율적인 알고리즘 및 시스템 개발이 요구되고 있다.Accordingly, there is a need to develop an efficient algorithm and system for detecting a hacking attack on various vehicles as described above and appropriately responding to malicious attacks.
본 발명은 상술한 종래 기술의 문제점을 해결하기 위해 고안된 것으로, 본 발명의 목적은 차량 내 통신 보안 제공 방법 및 장치를 제공하는 것이다.SUMMARY OF THE INVENTION It is an object of the present invention to provide a method and apparatus for providing in-vehicle communication security.
본 발명의 다른 목적은 차량 내 통신 네트워크에 연결된 제어기 간 시간 정보 및 보안 코드 값에 기반하여 산출되는 보안 값을 주기적으로 공유함으로써, 해킹이 발생된 제어기를 실시간 감지할 수 있을 뿐만 아니라 해킹이 발생된 시점을 정확하게 확인하는 것이 가능한 차량 내 통신 보안 제공 방법 및 장치를 제공하는 것이다.It is another object of the present invention to provide a system and a method for controlling a controller of an in-vehicle communication network by periodically sharing security values calculated based on time information between controllers and security code values, Vehicle communication security providing method and apparatus capable of accurately confirming a time point of a vehicle communication.
본 발명에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are not restrictive of the invention, unless further departing from the spirit and scope of the invention as defined by the appended claims. It will be possible.
본 발명은 차량 내 통신 보안 제공 방법 및 장치를 제공한다.The present invention provides a method and apparatus for providing in-vehicle communication security.
본 발명의 일 실시예에 따른 차량 내 통신 네트워크에 연결된 마스터 노드에서의 차량 내 통신 보안 제공 방법은 슬레이브 노드 별 미리 할당된 비밀 코드를 획득하여 보안 검증 순서를 확정하는 단계와 상기 확정된 보안 검증 순서에 따라 소정 주기로 생성된 갱신 입력 값 및 갱신 보안 값을 상기 제1 슬레이브 노드에 전송하는 단계와 해킹 또는 고장 노드를 감지하는 단계와 상기 해킹 또는 고장 노드가 감지되면, 상기 해킹 또는 고장 노드가 감지된 시점에 관한 정보를 구비된 메모리에 기록하는 단계와 상기 해킹 또는 고장 노드의 메시지 전송을 차단하는 단계를 포함할 수 있다. The method for providing intra-vehicle communication security in a master node connected to an intra-vehicle communication network according to an embodiment of the present invention includes steps of acquiring a pre-allocated secret code for each slave node to determine a security verification sequence, Transmitting an update input value and an update security value generated in a predetermined cycle according to a predetermined period to the first slave node and detecting a hacking or a failure node; and when the hacking or failure node is detected, Recording information on the time point in the memory and blocking the transmission of the message of the hacking or failure node.
여기서, 상기 갱신 입력 값은 현재 시간 정보 및 미리 등록된 핀코드 정보에 기반하여 생성될 수 있다.Here, the update input value may be generated based on current time information and previously registered pin code information.
또한, 상기 차량 내 통신 네트워크에 연결된 모든 노드의 비밀 코드가 상기 슬레이브 노드에 공유될 수 있다.In addition, the secret code of all nodes connected to the in-vehicle communication network can be shared with the slave node.
또한, 상기 공유된 비밀 코드 및 상기 갱신 입력 값에 기반하여 보안 값을 생성하고, 상기 생성된 보안 값과 상기 갱신 보안 값의 동일 여부에 비교하여 상기 해킹 또는 고장 노드가 식별될 수 있다.Also, a security value may be generated based on the shared secret code and the update input value, and the hacking or failure node may be identified by comparing the generated security value with the update security value.
이때, 상기 해킹 또는 고장 노드가 식별되면, 상기 해킹 또는 고장 노드를 식별한 슬레이브 노드는 보안 메시지 전송을 소정 시간 동안 중단할 수 있다.At this time, if the hacking or failure node is identified, the slave node identifying the hacking or failure node can suspend transmission of the security message for a predetermined time.
또한, 상기 해킹 또는 고장 노드를 식별한 슬레이브 노드가 상기 메시지 전송을 중단한 후 상기 소정 시간이 경과하면 상기 해킹 또는 고장 노드가 감지되었음을 지시하는 소정 제어 신호를 상기 마스터 노드에 전송할 수 있다.In addition, when the predetermined time has elapsed after the slave node identifying the hacking or malfunctioning node has stopped transmitting the message, the master node may transmit a predetermined control signal indicating that the hacking or malfunctioning node has been detected.
또한, 상기 해킹 또는 고장 노드의 메시지 전송을 차단하는 단계는 상기 해킹 또는 고장 노드의 감지 후 소정 시간이 경과된 이후에도 상기 상기 해킹 또는 고장 노드에 의한 메시지 전송이 감지되면, 도미넌트(dominant) 신호를 송출하는 단계를 포함할 수 있다.The blocking of the message of the hacking or failure node may include transmitting a dominant signal when the hacking or message transmission by the failure node is detected even after a predetermined time elapses after detection of the failure node, .
또한, 상기 차량 내 통신 네트워크는 CAN 통신 네트워크일 수 있다.In addition, the in-vehicle communication network may be a CAN communication network.
본 발명의 다른 일 실시예에 따른 차량 내 통신 네트워크에 연결된 슬레이브 노드에서의 차량 내 통신 보안 제공 방법은 미리 공유되어 저장된 비밀 코드를 이용하여 보안 검증 순서를 확정하는 단계와 주기적으로 갱신 입력 값 및 갱신 보안 값이 포함된 메시지를 수신하는 단계와 상기 갱신 입력 값 및 상기 슬레이브 노드에 대응되는 상기 비밀 코드에 기반하여 보안 값을 생성하는 단계와 수신된 상기 갱신 보안 값과 생성된 상기 보안 값의 동일 여부를 비교하여 해킹을 감지하는 단계와 상기 해킹이 감지되면, 소정 시간 동안 메시지 전송을 중단하는 단계를 포함할 수 있다.The method for providing in-vehicle communication security in a slave node connected to an in-vehicle communication network according to another embodiment of the present invention includes the steps of: determining a security verification procedure using a pre-shared secret code; Receiving a message including a security value, generating a security value based on the update input value and the secret code corresponding to the slave node, comparing the received update security value with the generated security value Detecting a hacking and stopping the message transmission for a predetermined time when the hacking is detected.
또한, 상기 차량 내 통신 보안 제공 방법은 상기 메시지 전송을 중단한 후 상기 소정 시간이 경과하면 상기 해킹이 감지되었음을 지시하는 소정 제어 신호를 마스터 노드에 전송하는 단계를 더 포함하고, 상기 마스터 노드가 상기 제어 신호의 수신 시점을 해킹이 감지된 시점으로 소정 기록 영역에 저장할 수 있다.The method further includes transmitting to the master node a predetermined control signal indicating that the hacking is detected when the predetermined time has elapsed after the message transmission is stopped, The receiving point of the control signal can be stored in the predetermined recording area at the time when the hacking is detected.
또한, 상기 갱신 입력 값은 현재 시간 정보 및 미리 등록된 핀코드 정보에 기반하여 마스터 노드에 의해 생성될 수 있다.Further, the update input value may be generated by the master node based on the current time information and the previously registered pin code information.
본 발명의 또 다른 일 실시에에 따른 차량 내 통신 네트워크에 연결되어 마스터 노드로 동작하는 차량 내 통신 보안 제공 장치는 슬레이브 노드 별 미리 할당된 비밀 코드를 획득하여 보안 검증 순서를 확정하는 수단과 상기 확정된 보안 검증 순서에 따라 소정 주기로 생성된 갱신 입력 값 및 갱신 보안 값을 상기 제1 슬레이브 노드에 전송하는 수단과 해킹 또는 고장 노드를 감지하는 수단과 상기 해킹 또는 고장 노드가 감지되면, 상기 해킹 또는 고장 노드의 감지 시점에 관한 정보를 구비된 메모리에 기록하는 수단과 상기 해킹 또는 고장 노드의 메시지 전송을 차단하는 수단을 포함할 수 있다.An in-vehicle communication security providing apparatus connected to an in-vehicle communication network according to another embodiment of the present invention and acting as a master node includes means for acquiring a pre-allocated secret code for each slave node to establish a security verification procedure, Means for transmitting to the first slave node an update input value and an update security value generated in a predetermined cycle according to the security verification procedure, means for detecting a hacking or failure node, means for detecting the hacking or failure node, Means for writing information about a detection timing of the node in a memory provided with the means for blocking transmission of the message of the hacking or failure node.
여기서, 상기 갱신 입력 값은 현재 시간 정보 및 미리 등록된 핀코드 정보에 기반하여 생성될 수 있다.Here, the update input value may be generated based on current time information and previously registered pin code information.
또한, 상기 차량 내 통신 네트워크에 연결된 모든 노드의 비밀 코드가 상기 슬레이브 노드에 공유될 수 있다.In addition, the secret code of all nodes connected to the in-vehicle communication network can be shared with the slave node.
또한, 상기 공유된 비밀 코드 및 상기 갱신 입력 값에 기반하여 보안 값을 생성하고, 상기 생성된 보안 값과 상기 갱신 보안 값의 동일 여부에 비교하여 상기 해킹 또는 고장 노드가 식별될 수 있다.Also, a security value may be generated based on the shared secret code and the update input value, and the hacking or failure node may be identified by comparing the generated security value with the update security value.
또한, 상기 해킹 또는 고장 노드가 식별되면, 상기 해킹 또는 고장 노드를 식별한 슬레이브 노드는 보안 메시지 전송을 소정 시간 동안 중단시킬 수 있다.In addition, if the hacking or failure node is identified, the slave node identifying the hacking or failure node may suspend transmission of the security message for a predetermined time.
또한, 상기 해킹 또는 고장 노드를 식별한 슬레이브 노드가 상기 메시지 전송을 중단한 후 상기 소정 시간이 경과하면 상기 해킹 또는 고장 노드가 감지되었음을 지시하는 소정 제어 신호를 상기 마스터 노드에 전송할 수 있다.In addition, when the predetermined time has elapsed after the slave node identifying the hacking or malfunctioning node has stopped transmitting the message, the master node may transmit a predetermined control signal indicating that the hacking or malfunctioning node has been detected.
또한, 상기 차량 내 통신 보안 제공 장치는 상기 해킹 또는 고장 노드의 감지 후 소정 시간이 경과된 이후에도 상기 상기 해킹 또는 고장 노드에 의한 메시지 전송이 감지되면, 도미넌트(dominant) 신호를 송출하는 수단을 더 포함할 수 있다.In addition, the in-vehicle communication security providing apparatus may further include means for transmitting a dominant signal when a message transmission by the hacking or faulty node is detected even after a predetermined time has elapsed since the detection of the hacking or faulty node can do.
본 발명의 또 다른 일 실시예에 따른 차량 내 통신 네트워크에 연결된 슬레이브 노드로 동작하는 차량 내 통신 보안 제공 장치는 미리 공유되어 저장된 비밀 코드를 이용하여 보안 검증 순서를 확정하는 수단과 주기적으로 갱신 입력 값 및 갱신 보안 값이 포함된 메시지를 수신하는 수단과 상기 갱신 입력 값 및 상기 슬레이브 노드에 대응되는 상기 비밀 코드에 기반하여 보안 값을 생성하는 수단과 수신된 상기 갱신 보안 값과 생성된 상기 보안 값의 동일 여부를 비교하여 해킹을 감지하는 수단과 상기 해킹이 감지되면, 소정 시간 동안 메시지 전송을 중단하는 수단을 포함할 수 있다.The in-vehicle communication security providing apparatus operating as a slave node connected to the in-vehicle communication network according to another embodiment of the present invention includes means for determining a security verification procedure using a pre-shared secret code, And means for generating a security value based on the update input value and the secret code corresponding to the slave node and means for generating a security value based on the received update security value and the generated security value And means for stopping the transmission of the message for a predetermined period of time when the hacking is detected.
본 발명의 또 다른 일 실시예는 상기한 차량 내 통신 보안 제공 방법들 중 어느 하나의 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공할 수 있다.Another embodiment of the present invention can provide a computer-readable recording medium on which a program for executing any one of the methods for providing intra-vehicle communication security is recorded.
상기 본 발명의 양태들은 본 발명의 바람직한 실시예들 중 일부에 불과하며, 본원 발명의 기술적 특징들이 반영된 다양한 실시예들이 당해 기술분야의 통상적인 지식을 가진 자에 의해 이하 상술할 본 발명의 상세한 설명을 기반으로 도출되고 이해될 수 있다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, but, on the contrary, And can be understood and understood.
본 발명에 따른 방법 및 장치에 대한 효과에 대해 설명하면 다음과 같다.Effects of the method and apparatus according to the present invention will be described as follows.
본 발명은 차량 내 통신 보안 제공 방법 및 장치를 제공하는 장점이 있다.The present invention has the advantage of providing a method and apparatus for providing in-vehicle communication security.
또한, 본 발명은 차량 내 통신 네트워크에 연결된 제어기 간 시간 정보 및 보안 코드 값에 기반하여 산출되는 보안 값을 주기적으로 공유함으로써, 해킹이 발생된 제어기를 실시간 감지할 수 있을 뿐만 아니라 해킹이 발생된 시점을 정확하게 확인하는 것이 가능한 차량 내 통신 보안 제공 방법 및 장치를 제공하는 장점이 있다.In addition, the present invention periodically shares a security value calculated based on time information between controllers and security code values connected to an intra-vehicle communication network, thereby enabling real-time detection of a hacked controller, The present invention provides an intra-vehicular communication security providing method and apparatus capable of accurately confirming an in-vehicle communication security.
또한, 본 발명은 차량 내 통신 네트워크에 연결된 모든 제어기에서 해킹을 감지할 수 있으므로, 보다 빠르게 해킹 노드를 감지할 수 있을 뿐만 아니라 감지된 해킹 노드에 대한 메시지 전송 차단을 수행하여 해킹으로부터 차량 및 탑승자를 보호할 수 있는 장점이 있다. Further, the present invention can detect a hacking in all the controllers connected to the in-vehicle communication network, so that not only hacking nodes can be detected more quickly, but also message blocking for the detected hacking nodes is blocked to prevent vehicles and passengers from hacking. There is an advantage to be able to protect.
또한, 본 발명은 해킹 노드의 감지 시점을 정확히 알 수 있으므로, 해킹을 효과적으로 역추적할 수 있는 장점이 있다. In addition, the present invention has an advantage in that hacking can be effectively traced back because the detection point of the hacking node can be accurately known.
또한, 본 발명은 차량 내 제어기의 해킹 여부를 제어기 상호간 점검을 통하여 확인할 수 있고, 해킹된 제어기로부터 타 제어기를 보할 수 있으므로, 해킹에 따른 차량의 임의 조작의 위험을 회피할 수 있는 장점이 있다.In addition, the present invention has an advantage that it is possible to check whether the controller in the vehicle is hacked by checking each controller, and to avoid the risk of arbitrary manipulation of the vehicle due to hacking since the controller can view the controller from the hacked controller.
본 발명에서 얻을 수 있는 장점 및 효과는 이상에서 언급한 장점 및 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.Advantages and effects of the present invention are not limited to the advantages and effects mentioned above, and other effects not mentioned can be clearly understood by those skilled in the art from the following description. It can be understood.
이하에 첨부되는 도면들은 본 발명에 관한 이해를 돕기 위한 것으로, 상세한 설명과 함께 본 발명에 대한 실시예들을 제공한다. 다만, 본 발명의 기술적 특징이 특정 도면에 한정되는 것은 아니며, 각 도면에서 개시하는 특징들은 서로 조합되어 새로운 실시예로 구성될 수 있다.
도 1은 본 발명에 따른 차량 CAN 통신 네트워크의 구조를 설명하기 위한 도면이다.
도 2는 국제 표준에 정의된 CAN 데이터 프레임의 구조이다.
도 3은 본 발명의 일 실시예에 따른 차량 내 통신 네트워크 시스템 구성을 설명하기 위한 블록도이다.
도 4는 본 발명의 일 실시예에 따른 보안 메시지의 구조를 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 차량 내 통신 시스템에 장착되는 마스터 노드에서의 차량 내 보안 통신 제공 방법을 설명하기 위한 순서도이다.
도 6은 발명의 일 실시예에 따른 차량 내 통신 시스템에 장착되는 슬레이브 노드에서의 차량 내 보안 통신 제공 방법을 설명하기 위한 순서도이다. BRIEF DESCRIPTION OF THE DRAWINGS The accompanying drawings, which are included to provide a further understanding of the invention and are incorporated in and constitute a part of this specification, illustrate embodiments of the invention and, together with the description, serve to explain the principles of the invention. It is to be understood, however, that the technical features of the present invention are not limited to the specific drawings, and the features disclosed in the drawings may be combined with each other to constitute a new embodiment.
1 is a view for explaining a structure of a vehicle CAN communication network according to the present invention.
2 is a structure of a CAN data frame defined in the international standard.
3 is a block diagram illustrating a configuration of an in-vehicle communication network system according to an embodiment of the present invention.
4 is a diagram illustrating a structure of a security message according to an embodiment of the present invention.
5 is a flowchart illustrating a method for providing in-vehicle secure communication in a master node installed in an in-vehicle communication system according to an embodiment of the present invention.
6 is a flowchart illustrating a method for providing in-vehicle secure communication in a slave node installed in an in-vehicle communication system according to an embodiment of the present invention.
이하, 본 발명의 실시예들이 적용되는 장치 및 다양한 방법들에 대하여 도면을 참조하여 보다 상세하게 설명한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, an apparatus and various methods to which embodiments of the present invention are applied will be described in detail with reference to the drawings. The suffix "module" and " part "for the components used in the following description are given or mixed in consideration of ease of specification, and do not have their own meaning or role.
이상에서, 본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성 요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 본 발명의 기술 분야의 당업자에 의해 용이하게 추론될 수 있을 것이다. 이러한 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 저장매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시예를 구현할 수 있다. 컴퓨터 프로그램의 저장매체로서는 자기 기록매체, 광 기록매체 등이 포함될 수 있다.While the present invention has been described in connection with what is presently considered to be the most practical and preferred embodiments, it is to be understood that the invention is not limited to the disclosed embodiments. That is, within the scope of the present invention, all of the components may be selectively coupled to one or more of them. In addition, although all of the components may be implemented as one independent hardware, some or all of the components may be selectively combined to perform a part or all of the functions in one or a plurality of hardware. As shown in FIG. The codes and code segments constituting the computer program may be easily deduced by those skilled in the art. Such a computer program can be stored in a computer-readable storage medium, readable and executed by a computer, thereby realizing an embodiment of the present invention. As the storage medium of the computer program, a magnetic recording medium, an optical recording medium, or the like can be included.
또한, 이상에서 기재된 "포함하다", "구성하다" 또는 "가지다" 등의 용어는, 특별히 반대되는 기재가 없는 한, 해당 구성 요소가 내재될 수 있음을 의미하는 것이므로, 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것으로 해석되어야 한다. 기술적이거나 과학적인 용어를 포함한 모든 용어들은, 다르게 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 사전에 정의된 용어와 같이 일반적으로 사용되는 용어들은 관련 기술의 문맥 상의 의미와 일치하는 것으로 해석되어야 하며, 본 발명에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.It is also to be understood that the terms such as " comprises, "" comprising," or "having ", as used herein, mean that a component can be implanted unless specifically stated to the contrary. But should be construed as including other elements. All terms, including technical and scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs, unless otherwise defined. Commonly used terms, such as predefined terms, should be interpreted to be consistent with the contextual meanings of the related art, and are not to be construed as ideal or overly formal, unless expressly defined to the contrary.
또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성 요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성 요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.In describing the components of the present invention, terms such as first, second, A, B, (a), and (b) may be used. These terms are intended to distinguish the constituent elements from other constituent elements, and the terms do not limit the nature, order or order of the constituent elements. When a component is described as being "connected", "coupled", or "connected" to another component, the component may be directly connected to or connected to the other component, It should be understood that an element may be "connected," "coupled," or "connected."
도 1은 본 발명에 따른 차량 CAN 통신 네트워크의 구조를 설명하기 위한 도면이다.1 is a view for explaining a structure of a vehicle CAN communication network according to the present invention.
도 1을 참조하면, 본 발명에 적용되는 CAN(Controller Area Network) 통신 시스템은 크게 차량용 게이트웨이(Gateway, 140), 제1 내지 제n 제어기(110), CAN 버스(120), OBD 단말(130), OBD 컨텍터(131), 차량용 게이트웨이(140), 차량 텔레매틱스 단말(150) 중 적어도 하나를 포함하여 구성될 수 있다.Referring to FIG. 1, a CAN (Controller Area Network) communication system applied to the present invention includes a
일반적으로, CAN 버스상에서는 각각의 노드(ECU)가 CAN 버스에 흘러 다니는 데이터를 읽거나 쓰기 위해 액세스(access)할 때 전체 노드를 제어하는 마스터(master)가 존재하지 않는다. 따라서, 각 노드에서 데이터를 전송할 준비가 되면, 먼저 전송 준비가 되었는지를 버스상에서 확인하고 그 후 CAN 프레임을 CAN 네트워크에 전송한다. 전송되는 CAN 프레임에는 전송 노드 및 수신 노드에 대한 주소 정보가 포함되어 있지 않으며, 대신, 각각의 노드는 CAN 프레임에 포함된 고유한 ID를 통해 프레임을 분류하여 데이터를 수신한다.Generally, on a CAN bus, there is no master that controls the entire node when each node (ECU) accesses to read or write data flowing on the CAN bus. Therefore, when each node is ready to transmit data, it first checks on the bus whether it is ready to transmit, and then sends the CAN frame to the CAN network. The transmitted CAN frame does not contain address information for the transmitting node and the receiving node. Instead, each node receives the data by classifying the frame through a unique ID included in the CAN frame.
차량용 게이트웨이(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)에 전송될 수 있다.The
다른 일 예로, OBD 컨넥터(131)는 CAN 주선 버스(122)에 직접 연결될 수도 있다. 이 경우, OBD 단말(130)은 차량용 게이트웨이(140)를 경유하지 않고, 직접 CAN 주선 버스(122)상에 송수신되는 신호를 모니터링하거나 소정 제어 명령을 통해 제어기들(110)로부터 제어기 상태 정보 및 차량 상태 정보를 획득할 수 있다. As another example, the
또한, 차량용 게이트웨이(140)는 OBD 단말(130)로부터의 소정 제어 신호에 따라 차량에 탑재된 제어기-즉, ECU(Electric Control Unit)-들에 설치된 소프트웨어 버전 정보를 수집하고, 수집된 소프트웨어 버전 정보를 OBD 단말(130)에 전송할 수도 있다. 또한, 차량용 게이트웨이(140)는 OBD 단말(130)의 소정 소프트웨어 업데이트 요청 신호에 따라 해당 제어기를 위한 소프트웨어 파일을 OBD 단말(130)로부터 수신한 후 해당 제어기에 설치할 수도 있다.In addition, the
CAN 주선 버스(122)는 Twisted pair wire를 사용하며, 2개의 선은 서로 다른 신호(CAN_HI, CAN_LO)에 의해 구동된다. CAN 주선 버스(122)의 양 종단에는 종단 저항(121)이 구비될 수 있다. CAN 주선 버스(122)상의 전송 속도는 버스의 길이-즉, 주선의 길이-에 따라 달라질 수 있다.The CAN
제1 내지 제N 제어기(110)는 CAN 주선 버스(122)상의 소정의 CAN 조인트 컨넥터(Joint Connector) 또는 CAN 허브(Hub)-미도시-와 CAN 지선 버스(123)를 통해 연결될 수 있으며, 이론적으로 하나의 CAN 네트워크에 연결될 수 있는 최대 제어기의 개수는 2032이다. 또한, 하나의 CAN 허브에는 복수개의 제어기가 CAN 지선 버스(123)를 통해 연결될 수 있다.The first to
이하에서는 도면 번호 110 내지 115를 참조하여 일반적인 CAN 주선 버스에 연결되는 제어기의 구조를 살펴보기로 한다.Hereinafter, a structure of a controller connected to a general CAN coaxial bus will be described with reference to
제어기(110)는 CAN 드라이버(111), CAN 컨트롤러(113), 마이크로컨트롤러(Microcontroller, 115)로 구성될 수 있다.The
CAN 드라이버(111)는 CAN 지선 버스(123) 및 CAN 컨넥터 또는 CAN 허브(미도시)를 통해 CAN 주선 버스(122)와 연결되며, 각각의 제어기의 물리 계층을 구성한다. CAN 드라이버(111)는 CAN 주선 버스(122)의 장애를 감지하고 이를 관리하는 기능 및 메시지의 송수신 기능을 제공할 수 있다. The
CAN 컨트롤러(113)는 CAN 프로토콜 메시지를 송수신하고 수신된 메시지에 대한 메시지 필터링 기능을 수행한다. 또는, CAN 컨트롤러(113)는 재전송 제어를 위한 메시지 버퍼 및 마이크로컨트롤러(115)와의 인터페이스 기능을 제공한다.The
마이크로컨트롤러(115)는 CPU가 탑재될 수 있으며, 상위 계층 프로토콜을 제공하고 다양한 응용들을 제공할 수 있다.The
상기한 도 1에는 도시되어 있지는 않으나, 제어기는 우선 순위 정보 및 설치된 소프트웨어 버전 정보, 센싱 정보 등이 기록된 소정 메모리를 포함할 수 있다.Although not shown in FIG. 1, the controller may include a predetermined memory in which priority information, installed software version information, sensing information, and the like are recorded.
CAN 주선 버스(122)에 연결된 제어기(110)들은 표준에 정의된 CAN 프레임을 통해 제어 신호 및 데이터를 전송할 수 있다.The
CAN 프레임의 구조는 후술할 도 2를 통해 상세히 설명하기로 한다.The structure of the CAN frame will be described in detail with reference to FIG. 2, which will be described later.
도 2는 국제 표준에 정의된 CAN 데이터 프레임의 구조이다.2 is a structure of a CAN data frame defined in the international standard.
도 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) 필드를 포함하여 구성될 수 있다.2, the
SOF(201)는 1비트의 길이를 가지며, 해당 프레임의 시작을 표시하기 위해 사용된다.The
ID(202)는 메시지의 종류를 식별하고 메시지의 우선 순위를 지정하기 위한 정보이다. 본 예에서는 ID(202)의 길이가 11비트인 표준 CAN 데이터 프레임 포맷이 도시되어 있으나, 표준에는 ID(202)의 길이가 29비트인 확장 CAN 데이터 프레임 포맷도 정의되어 있다.The
IDE(204)는 해당 프레임이 표준 프레임인지 확장 프레임인지를 식별하기 위해 사용되며, 1비트의 길이를 가진다. 예를 들어, IDE(203)의 값이 0이면 표준 프레임, 1이면 확장 프레임을 의미할 수 있다.The
RTR(203)은 해당 프레임이 원격 프레임인지 데이터 프레임인지를 구별하기 용도로 사용된다. 예를 들어, RTR(203)의 값이 0이면 데이터 프레임을 의미하고, 1이면 원격 프레임을 의미할 수 있다. The
R(205) 필드는 현재 표준에 용도가 정의되지 않은 추후 사용을 위해 예약된 필드로서 1비트의 길이를 가진다.The R (205) field has a length of 1 bit, reserved for future use that is not defined for the current standard.
DLC(206)은 해당 프레임에 포함된 데이터의 길이를 바이트 단위로 식별하기 위한 코드 정보로서, 4비트의 길이를 가진다.The
Data(207)는 0바이트(Byte)에서 8바이트까지의 가변 길이를 가질 수 있다.
CRC(208)는 15비트의 주기적인 중복 체크 코드와 1비트의 역행 델리미터(Delimiter)로 구성되며, 수신된 프레임에 오류가 있는지를 확인하기 위한 용도로 사용된다. The
ACK(209)는 수신단에서 해당 프레임을 정상적으로 수신하였는지를 확인하기 위한 필드로서, 2비트의 길이를 가진다. CAN 데이터 프레임을 정확하게 수신한 모든 CAN 컨트롤러는 해당 프레임의 말미에 위치한 ACK 비트를 전송합니다. 전송 노드는 버스 상에 ACK 비트 유무를 확인하고, 만약, ACK가 발견되지 않을 경우, 전송 노드는 해당 프레임에 대한 재전송을 시도한다.The
EOF(210)은 해당 CAN 프레임의 종료를 표시하기 필드로서, 7비트의 길이를 가진다. The
IFS(211)는 CAN 컨트롤러가 연속된 프레임을 처리하기 위해 요구하는 시간을 제공하고, 메시지 버퍼 영역에서 적절한 위치로 정확하게 수신된 프레임을 이동시키는데 필요한 시간을 확보하기 위한 용도로 사용될 수 있다.The
이상에서 살펴본 바와 같이, CAN 데이터 프레임은 총 47비트에서 111비트의 가변 길이를 갖는다. 만약, Data(207)의 크기가 8바이트인 경우, 전체 CAN 데이터 프레임에서 Data(207)가 차지하는 비율은 58%에 해당된다.As described above, the CAN data frame has a variable length of 111 bits from a total of 47 bits. If the size of the
CAN 통신 메시지는 데이터 프레임, 원격 프레임, 에러 프레임 등 여러 종류의 프레임 형식이 제공된다.CAN communication messages are provided with various types of frame formats such as data frames, remote frames, and error frames.
도 3은 본 발명의 일 실시예에 따른 차량 내 통신 네트워크 시스템 구성을 설명하기 위한 블록도이다.3 is a block diagram illustrating a configuration of an in-vehicle communication network system according to an embodiment of the present invention.
도 3을 참조하면, 차량 내 통신 네트워크 시스템(300)은 크게 차량 헤드 유닛(310), 시간 제공 유닛(320), 진단기(330), 마스터 노드(노드 A, 340) 및 슬레이브 노드들(350)을 포함하여 구성될 수 있다. 여기서, 노드는 차량 내 통신망에 연결된 전자 제어 유닛(ECU: Electronic Control Unit)를 의미한다. 도 3에 도시된 바와 같이, 차량 제어기들은 마스터/슬레이브 구조로 동작할 수 있으며, 본 실시예에서는 노드 A(340)가 마스터 노드이고 노드 B(351), 노드 C(352), 노드 D(353) 및 노드 E(354)가 슬레이브 노드인 것을 가정하여 차량 내 통신 보안 제공 방법을 설명하기로 한다.3, the in-vehicle
본 발명에 따른 차량 내 통신 네트워크 시스템에서는 노드 별 비밀 코드가 할당될 수 있다. 여기서, 비밀 코드는 네트워크에 연결된 모든 노드에 의해 공유되는 정보일 수 있다. In the in-vehicle communication network system according to the present invention, a secret code for each node can be assigned. Here, the secret code may be information shared by all nodes connected to the network.
또한, 마스터 노드인 노드 A(340)는 M-CAN을 통해 차량 헤드 유닛(310) 또는 시간 제공 유닛(320)으로부터 현재 시간 정보를 수신하고, 수신된 현재 시간 정보를 기반으로 생성된 입력 값-이하 x값이라 명함-을 B-CAN을 통해 슬레이브 노드(350)에 제공할 수 있다.In addition, the
일 예로, 마스터 노드(340)는 미리 공유된 비밀 코드에 기반하여 보안 검증 순서를 확정하고, 확정된 보안 검증 순서에 결정된 특정 슬레이브 노드-이하, 특정 슬레이브 노드가 노드 B(351)인 것으로 가정함-에 x 값이 포함된 소정 보안 메시지를 전송할 수 있다. 마스터 노드(340)는 노드 B(351)로부터 x 값에 기반하여 생성된 보안 값이 수신되면, 자신이 노드 B(351)에 대응하여 생성한 보안 값과 비교하여 해킹 여부를 판단할 수 있다. 이 후, 마스터 노드(340)는 상기 확정된 보안 검증 순서에 따라 나머지 슬레이브 노드에 순차적으로 x 값이 포함된 보안 메시지를 전송하여 보안 검증을 수행할 수 있다. As an example, the
다른 일 예로, 마스터 노드(340)는 매 60초 간격으로 x 값을 갱신하고, 갱신된 x 값을 B-CAN을 통해 슬레이브 노드(350)에 전달함으로써, 주기적으로 보안 값을 점검할 수 있다. As another example, the
슬레이브 노드(350)는 수신된 입력 값 및 미리 유지된 비밀 코드에 기반하여 보안 값을 생성할 수 있다.The
슬레이브 노드(350)는 자신이 생성한 보안 값과 인접 노드로부터 수신된 보안 값의 동일 여부를 비교하여 고장 노드 및 해킹 노드를 식별할 수도 있다.The
해킹 노드 또는 고장 노드가 식별되면, 마스터 노드(340)는 해당 고장 노드 또는 해킹 노드의 메시지 전송을 차단시킬 수도 있다. 일 예로, 마스터 노드(340)는 도미넌트(dominant) 신호를 송출하여 해당 고장 노드 또는 해킹 노드의 메시지 전송을 차단시킬 수 있다.If a hacking node or a failed node is identified, the
이하에서는 고장 노드의 교체 절차를 간단히 설명하기로 한다.Hereinafter, the replacement procedure of the faulty node will be briefly described.
도 3을 참조하면, 노드 C(352)가 고장 노드인 것으로 가정하자.Referring to FIG. 3, assume that
1) 노드 C(352)를 교체한다1) Replace
2) 교체 후 진단기(330)를 이용하여, 노드 A(340)에 노드 C(352)가 교체되었음을 입력한다.2) Using the after-
3) 진단기(330)상에서의 핀코드 입력을 통해 정상 교체 여부를 확인한다.3) It confirms whether or not it is normally replaced through pin code input on the
4) 정상 교체가 확인되면 초기 통신 개시와 동일한 방식으로 마스터인 노드 A(340)는 소정 제어 절차를 통해 슬레이브 노드의 비밀 코드를 획득하고, 획득된 비밀 코드 값에 기반하여 슬레이브 노드의 보안 검증 순서를 결정할 수 있다.4) If the normal exchange is confirmed, the
5) 입력된 핀코드가 상이하여 정상 교체가 확인되지 않은 경우, 진단기(330)에 비정상 교체가 이루어졌음을 알리는 소정 경고 알람이 표시될 수 있다. 5) If the input pin code is different and the normal replacement is not confirmed, a predetermined warning alarm indicating that the abnormal replacement has been performed may be displayed on the
상기의 과정을 통하여 제어기 보안을 유지하면서, 고장난 제어기를 교체할 수 있다. Through the above process, the failed controller can be replaced while maintaining the security of the controller.
보안 값 생성 및 갱신 절차 및 해킹 노드 감지 절차는 후술할 도면의 설명을 통해 보다 명확해질 것이다. The security value creation and update procedure and the hacking node detection procedure will become more apparent from the following description of the drawings.
도 4는 본 발명의 일 실시예에 따른 보안 메시지의 구조를 설명하기 위한 도면이다.4 is a diagram illustrating a structure of a security message according to an embodiment of the present invention.
종래의 CAN 통신망에서의 메시지는 네트워크 메시지(Network Message)와 응용 메시지(Application Message)로 구분되었다.A conventional CAN communication network message is divided into a network message and an application message.
본 발명에 따른 CAN 통신 메시지는 상기한 2개의 메시지뿐만 아니라 보안 메시지(Security Message)를 더 포함하여 구성될 수 있다.The CAN communication message according to the present invention may further include a security message as well as the two messages.
도 4를 참조하면, 보안 메시지(400)는 동기 필드(Synchroniztion Field, 410), 상태 필드(Status Field, 420), 데이터 필드(Data Field, 430) 및 종료 필드(440)를 포함할 수 있다.4, the
동기 필드(410)는 메시지의 시작 시점을 지시하기 위한 정보가 전송된다. 즉, 송신 노드는 동기 필드를 통해 메시지 전송이 시작되었음을 네트워크 연결된 모드 노드에 알릴 수 있다. In the
상태 필드는 메시지의 종류 및 타입을 식별하기 위한 소정 식별자가 기록될 수 있다. 각 노드들은 수신된 식별자에 기반하여 해당 메시지 수신이 가능한지 여부를 판단하고, 판단 결과에 따라 해당 메시지를 수신하여 내용을 확인할 수 있다.In the status field, a predetermined identifier for identifying the type and type of the message may be recorded. Each node can determine whether it is possible to receive the message based on the received identifier, and receive the message according to the determination result, thereby confirming the contents.
데이터 필드(430)에는 보안 관련 정보가 포함될 수 있다. 일 예로, 보안 관련 정보는 비밀 코드, 초기 입력 값, 시간 정보 값, 보안 값 중 적어도 하나가 기록될 수 있다. The
보안 메시지(400)는 크게 보안 요청 메시지, 보안 응답 메시지, 보안 갱신 메시지 및 보안 검증 메시지를 포함할 수 있다.The
보안 요청 메시지는 데이터 필드(430)에 초기 입력 값(450)이 포함될 수 있다. 보안 요청 메시지는 통신 개시 시점에 제어기 상호간에 초기화되는 보안 값(460)을 생성하도록 지시하는 메시지이다.The security request message may include an
보안 응답 메시지는 수신된 초기 입력 값(450)에 기반하여 생성된 초기 보안 값(460)을 전송하기 위한 메시지이다.The security response message is a message for transmitting the
이하에서는 본 발명에 따른 초기 보안 값(460)의 생성 절차를 상기한 도 3 및 도 4를 참조하여 상세히 설명하기로 한다.Hereinafter, a procedure of generating the
마스터 노드인 노드 A(340)는 초기 입력 값(450)이 포함된 보안 요청 메시지를 슬레이브 노드인 노드 B(351)에 전송할 수 있다.The
이때, 각 노드에 대응되는 비밀 코드가 차량 내 통신 네트워크에 연결된 모든 노드에 미리 공유되었다고 가정하자. 즉, 모든 제어기가 자신의 비밀 코드뿐만 아니라 타 제어기(들)에 대응되는 비밀 코드들 알고 있을 수 있다. Here, it is assumed that the secret code corresponding to each node is previously shared with all nodes connected to the in-vehicle communication network. That is, all controllers may know not only their own secret code but also the secret codes corresponding to the other controller (s).
일 예로, 비밀 코드는 마스터 노드가 모든 슬레이브 노드에 순차적으로 전송하여 공유될 수 있다. 여기서, 비밀 코드의 공유 순서는 마스터 노드로부터 슬레이브 노드까지의 물리적인 이격 거리에 의해 결정될 수 있으나, 이는 하나의 실시예에 불과하며, 슬레이브 노드에 할당된 소정 식별자에 기반하여 결정될 수도 있다. 다른 일 예로, 비밀 코드의 공유 순서는 노드 별 할당된 고유 식별자에 기반하여 결정될 수도 있다.As an example, the secret code may be shared by the master node sequentially transmitting to all the slave nodes. Here, the sharing order of the secret code can be determined by the physical separation distance from the master node to the slave node, but this is only an example and may be determined based on the predetermined identifier assigned to the slave node. In another example, the sharing order of the secret code may be determined based on the unique identifier assigned per node.
노드 B(351)는 수신된 초기 입력 값(450)과 사전 공유된 비밀 코드를 이용하여 초기 보안 값(460)을 생성할 수 있다. The
일 예로, 노드 B(351)는 생성된 초기 보안 값(460)이 포함된 보안 응답 메시지를 노드 C(352)에 전송할 수 있다. 이러한 방식으로 특정 슬레이브 노드에 의해 생성된 보안 응답 메시지는 미리 정의된 규칙에 따라 다른 슬레이브 노드에 전송될 수 있다. 여기서, 슬레이브 노드들 사이의 보안 응답 메시지가 전달되는 순서는 비밀 코드에 의해 결정될 수 있다. 일 예로, 비밀 코드 값이 작은 순서로 보안 응답 메시지가 생성될 수 있다.In one example, the
다른 일 예로, 노드 B(351)는 생성된 초기 보안 값(460)이 포함된 보안 응답 메시지를 마스터 노드인 노드 A(340)에 전송할 수 있다. 연이어, 노드 A(340)는 초기 입력 값이 포함된 보안 요청 메시지를 노드 C(340)에 전송하고, 노드 C(340)는 수신된 초기 입력 값에 기반하여 생성된 초기 보안 값을 보안 응답 메시지를 통해 노드 A(340)에 전송할 수 있다. 이러한 방식으로 마스터 노드인 노드 A(340)는 모든 슬레이브 노드에 대응되는 초기 보안 값을 획득할 수 있다.In another example, the
일 실시예로, 비밀 코드의 길이는 64비트일 수 있으나, 이는 하나의 실시예에 불과하며, 적용되는 보안 값 생성 다항식의 차수에 따라 비밀 코드의 길이는 상이하게 정의될 수 있다. 일 예로, 각 노드에 대응되는 비밀 코드가 다음과 같이 할당되었다고 가정하자.In one embodiment, the length of the secret code may be 64 bits, but this is only one embodiment, and the length of the secret code may be defined differently according to the order of the applied security value generating polynomial. As an example, suppose that a secret code corresponding to each node is assigned as follows.
노드 A : , ,… = 000000C00A345601Node A: , , ... = 000000C00A345601
노드 B : , ,… = 000000C123334561Node B: , , ... = 000000C123334561
노드 C : , ,… = 000001F20A345601 Node C: , , ... = 000001F20A345601
노드 D : , ,… = 000003F20A345601 Node D: , , ... = 000003F20A345601
노드 E : , ,… = 000002F20A345601 Node E: , , ... = 000002F20A345601
이 경우, 노드 A(340)는 마스터 노드로서 보안 요청 메시지를 전송하고, 노드 B(351), 노드 C(352), 노드 E(354), 노드 D(353) 순서로 보안 응답 메시지가 생성될 수 있다.In this case, the
따라서, 초기 보안 값의 공유 순서는 노드 B(351)->노드 C(352)->노드 D(353)->노드 E(354)->노드 A(340)일 수 있다.Therefore, the initial security value sharing order may be node B 351 -> node C 352 -> node D 353 -> node E 354 ->
보안 값(y)를 생성하기 다항식은 하기와 같이 표기될 수 있다.The polynomial for generating the security value y may be denoted as follows.
여기서, S0, S1, S3, S4 , Sn-1은 비밀 코드이고, x0, x1, x2, x3, x4 , xn-1은 초기 입력 값을 의미한다. 여기서, n의 크기는 당업자의 설계에 따라 상이할 수 있다.Here, S 0 , S 1 , S 3 , S 4 ... ... , S n-1 is a secret code, and x 0 , x 1 , x 2 , x 3 , x 4 ... ... , x n-1 means the initial input value. Where the size of n may vary depending on the design of the person skilled in the art.
특히, 본 발명에 따른 초기 입력 값은 현재 시간 정보에 의해 생성되는 값일 수 있다.In particular, the initial input value according to the present invention may be a value generated by the current time information.
이하에서는 시간 정보에 기반한 보안 값 갱신 절차를 상세히 설명하기로 한다.Hereinafter, a security value update procedure based on time information will be described in detail.
본 발명의 일 실시예에 따른 마스터 노드인 노드 A(340)는 소정 시간 주기로 현재 시간정보에 기반하여 입력 값-이하 설명의 편의를 위해 x 값이라 명함-을 갱신하고, 갱신된 x 값을 이용하여 노드 B(351)에 대응되는 갱신 보안 값을 생성할 수 있다. 노드 A(340)는 갱신된 x 값 및 노드 B(351)에 대응되는 갱신 보안 값이 포함된 보안 갱신 메시지를 노드 B(351)에 전송할 수 있다. 노드 B(351)는 갱신 x 값을 이용하여 보안 값을 생성하고, 생성된 보안 값과 수신된 갱신 보안 값을 비교하여 해킹 발생 여부를 판단할 수 있다. The
비교 결과, 보안 값이 동일하면, 노드 B(351)는 노드 A(340)가 정상이 것으로판단하고, 노드 C(352)에 대응되는 갱신 보안 값을 생성할 수 있다. 이후, 노드 B(351)는 갱신 x 값 및 노드 C(352)에 대응되는 갱신 보안 값을 포함하는 보안 갱신 메시지를 노드 C(352)에 전송할 수 있다.As a result of the comparison, if the security values are the same, the
노드 C(352)는 수신된 갱신 x 값에 기반하여 자신의 보안 값을 생성하고, 생성된 보안 값과 수신된 갱신 보안 값의 동일 여부를 비교하여 노드 B(451)의 해킹 여부를 판단할 수 있다. 비교 결과, 동일하면, 노드 C(352)는 갱신 x 값 및 노드 E(354)에 대응되는 갱신 보안 값이 포함된 보안 갱신 메시지를 노드 E(354)에 전송할 수 있다.The
노드 E(354)는 갱신 x 값에 기반하여 생성된 자신의 보안 값과 수신된 갱신 보안 값이 상이하면, 노드 C(352)는 보안 갱신 메시지를 전송하지 않을 수 있다.
노드 E(354)가 보안 개신 메시지를 전송하지 않는 경우, 노드 C(352)는 소정 시간 주기-예를 들면, 10초-로 소정 회수까지 보안 갱신 메시지를 반복 전송할 수 있다.If
상기 반복 전송에도 불구하고, 소정 시간 동안-예를 들면, 120초- 정상적인 보안 갱신 메시지가 수신되지 않는 경우-즉, 정확한 갱신 보안 값이 수신되지 않는 경우-, 노드 C(352)는 해킹 노드로 등록될 수 있다. 이때, 노드 C(352)에 의해 생성된 모든 메시지는 다른 노드에서 오류 처리되어 폐기될 수 있다. 일 예로, 해킹 노드를 감지한 노드 E(354)가 노드 C(352)가 해킹 노드임을 브로드캐스팅할 수도 있다. If the normal security update message is not received, that is, the correct update security value is not received, the
또한, 노드 C(352)는 단위 시간 동안 연속적으로 전송한 보안 갱신 메시지의 개수가 소정 기준치를 초과하는 경우, 이상 모드로 진입하여 메시지 전송을 중단할 수 있다.In addition, when the number of the security update messages continuously transmitted for a unit time exceeds the predetermined reference value, the
만약, 노드 C(352)가 이상 모드에 진입하지 않고 계속 메시지를 전송하는 경우, 마스터 노드인 노드 A(340)는 노드 C(352)의 메시지 전송이 감지되면, 도미넌트(Dominant) 신호를 지속 전송하여 노드 C(352)의 메시지 전송을 차단할 수 있다. 이 경우, 리세시브(Recessive) 신호와 도미넌트 신호가 조합되어 전송되나, 두 신호 중첩 시 도미넌트 신호가 우선되므로, CAN 버스상에는 도미넌트 신호만 전송되는 것처럼 보여진다. 따라서, 노드 C(352)는 더 이상 메시지를 전송할 수 없다.If the
특히, 본 발명에 따른 노드 A(340)는 해킹 노드가 감지되면, 감지된 시점의 시간 정보 및 감지된 해킹 노드에 대한 정보를 내부 구비된 메모리의 소정 기록 영역에 저장할 수 있다. 또한, 노드 A(340)는 해킹 노드가 감지되었음을 지시하는 소정 경고 알람 신호를 차량 헤드 유닛(310) 또는 클러스터(미도시)에 전송할 수도 있다. In particular, when a hacking node is detected, the
본 실시예에 따른 마스터 노드인 노드 A(340)는 CAN 게이트웨이일 수 있으나, 이에 한정되지는 않는다.The
또한, 노드 A(340)는 차량 헤드 유닛(310)으로부터 현재 시간 정보를 획득할 수 있으나, 이는 하나의 실시예에 불과하며, 별도의 시간 제공 유닛(320)-예를 들면, GPS(Global Positioning System) 또는 전자 시계 또는 외부 연결된 스마트폰 등을 포함함-로부터 현재 시간 정보를 획득할 수도 있다.In addition, the
본 실시예에 따른 마스터 노드인 노드 A(340)는 소정 주기-예를 들면, 60초 주기-로 현재 시간 정보를 획득하고, 획득된 현재 시간 정보와 미리 저장된 핀코드(Pincode) 정보에 기반하여 갱신 입력 값을 생성할 수 있다. 핀 코드는 스마트키 및 엔진 ECU 등에 등록될 수 있다. 일 예로, 핀코드는 차량 고유 비밀 번호일 수 있으나, 이에 한정되지는 않으며, 차대 번호, 차량 면허 번호 등이 사용될 수도 있다. 일 예로, 현재 시간 정보는 년도(t0 and t1), 월(t2) 정보, 일자(t3) 정보, 시(t4) 정보 및 분(t5) 정보로 구분될 수 있다. 핀코드는 6자리 숫자일 수 있으며, 각각의 숫자는 P0, P1, P2, P3, P4 및 P5로 구분될 수 있다. 이때, 갱신 입력 값(x)는 하기의 수식에 의해 계산될 수 있다.The
X = (P0*t0 + P1*t1 + P2*t2 + P3*t3 + P4*t4 + P5*t5)%16X = (P0 * t0 + P1 * t1 + P2 * t2 + P3 * t3 + P4 * t4 + P5 * t5) 16%
여기서, %16은 16으로 나누었을 때의 나머지 값을 의미한다.Here,% 16 means the remainder when dividing by 16.
도 5는 본 발명의 일 실시예에 따른 차량 내 통신 시스템에 장착되는 마스터 노드에서의 차량 내 보안 통신 제공 방법을 설명하기 위한 순서도이다.5 is a flowchart illustrating a method for providing in-vehicle secure communication in a master node installed in an in-vehicle communication system according to an embodiment of the present invention.
도 5를 참조하면, 마스터 노드는 슬레이브 노드의 비밀 코드를 확인하여 보안 검증 순서를 확정할 수 있다(S501). 이때, 슬레이브 노드 별 고유한 비밀 코드가 미리 할당될 수 있으며, 마스터 노드는 소정 제어 절차를 통해 슬레이브 노드의 비밀 코드를 획득할 수 있다.Referring to FIG. 5, the master node can confirm the security verification procedure by checking the secret code of the slave node (S501). At this time, a secret code unique to each slave node can be allocated in advance, and the master node can acquire the secret code of the slave node through a predetermined control procedure.
마스터 노드는 주기적인 입력 값 갱신을 통해 슬레이브 노드 별 보안 값을 확인하도록 제어할 수 있다(S502). The master node can control to check the security value for each slave node by periodically updating the input value (S502).
마스터 노드는 해킹(또는 고장) 노드가 감지되었는지 확인할 수 있다(S503). 여기서, 해킹(또는 고장) 노드는 버스상의 메시지 송수신 상태를 모니터링하여 감지되거나 해킹 또는 고장을 감지한 슬레이브 노드로부터 해킹 노드가 감지되었음을 알리는 소정 제어 신호를 수신하여 감지할 수 있다. The master node can confirm whether a hacking (or failure) node has been detected (S503). Here, the hacking (or failure) node may receive and sense a predetermined control signal indicating that a hacking node has been detected from a slave node that has been detected or hacked or has detected a failure by monitoring a message transmission / reception state on the bus.
마스터 노드는 해킹(또는 고장) 노드의 감지 시점에 관한 정보를 소정 기록 영역에 저장할 수 있다(S504).The master node may store information on the detection timing of the hacking (or failure) node in a predetermined recording area (S504).
마스터 노드는 해킹(또는 고장) 감지 이후에도 해킹(또는 고장) 노드에 의한 메시지 전송이 중단되지 않는 경우, 해킹(또는 고장) 노드의 메시지 전송을 강제 차단시킬 수 있다(S505). 일 예로, 마스터 노드는 도미넌트 신호를 송출하여, 해킹(또는 고장) 노드의 메시지 전송을 강제 차단시킬 수 있다.The master node may forcibly block the message transmission of the hacking (or failure) node if the message transmission by the hacking (or failure) node is not interrupted after the hacking (or failure) detection (S505). For example, the master node may send a dominant signal to forcibly block the message transmission of the hacking (or failure) node.
상기한 비교 결과, 생성된 보안 값과 수신된 갱신 보안 값이 일치하지 않으면, 노드 B(351)는 노드 C(352)에 보안 갱신 메시지를 전송하지 않을 수 있다.As a result of the comparison, if the generated security value does not match the received update security value, the
도 6은 본 발명의 일 실시예에 따른 차량 내 통신 시스템에 장착되는 슬레이브 노드에서의 차량 내 보안 통신 제공 방법을 설명하기 위한 순서도이다.6 is a flowchart illustrating a method for providing in-vehicle secure communication in a slave node installed in an in-vehicle communication system according to an embodiment of the present invention.
도 6을 참조하면, 슬레이브 노드는 미리 공유되어 저장된 비밀 코드를 이용하여 보안 검증 순서를 확정할 수 있다(S601).Referring to FIG. 6, the slave node can confirm the security verification procedure using the secret code previously stored and shared (S601).
슬레이브 노드는 주기적으로 갱신 입력 값 및 갱신 보안 값이 포함된 메시지를 수신할 수 있다(S602). 일 예로, 메시지는 해당 슬레이브 노드보다 우선 순위가 높은 노드-즉, 보안 검증 순서가 한 단계 앞선 노드-로부터 수신될 수 있다.The slave node may periodically receive a message including the update input value and the update security value (S602). In one example, the message may be received from a node having a higher priority than the corresponding slave node, that is, a node whose security verification order is one step ahead.
슬레이브 노드는 갱신 입력 값 및 해당 슬레이브 노드에 대응되는 비밀 코드에 기반하여 보안 값을 생성할 수 있다(S603).The slave node can generate a security value based on the update input value and the secret code corresponding to the slave node (S603).
슬레이브 노드는 수신된 갱신 보안 값과 생성된 보안 값의 동일 여부를 비교하여 해킹을 발생시킨 노드(또는 고장 노드)를 탐지할 수 있다(S604).The slave node can detect the node (or faulty node) that caused the hack by comparing the received update security value with the generated security value (S604).
해킹(또는 고장) 노드가 감지된 경우, 슬레이브 노드는 소정 시간 동안 메시지 전송을 중단시킬 수 있다(S605 내지 S606).If a hacking (or failure) node is detected, the slave node may stop sending the message for a predetermined time (S605 to S606).
슬레이브 노드는 소정 시간 경과 후 해킹 발생이 지속적으로 감지되면 해킹이 발생되었음을 지시하는 소정 제어 신호를 마스터 노드에 전송할 수 있다(S607). 이때, 제어 신호에는 해킹(또는 고장) 노드에 대응되는 식별자 정보, 해킹(또는 고장)이 감지된 시점에 관한 정보 중 적어도 하나가 포함될 수 있다.If a hacking occurrence is continuously detected after a predetermined time elapses, the slave node can transmit a predetermined control signal indicating that a hacking has occurred to the master node (S607). At this time, the control signal may include at least one of identifier information corresponding to a hacking (or failure) node and information about when a hacking (or failure) is detected.
본 발명은 본 발명의 정신 및 필수적 특징을 벗어나지 않는 범위에서 다른 특정한 형태로 구체화될 수 있음은 당업자에게 자명하다. It will be apparent to those skilled in the art that the present invention may be embodied in other specific forms without departing from the spirit or essential characteristics thereof.
따라서, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.Accordingly, the above description should not be construed in a limiting sense in all respects and should be considered illustrative. The scope of the present invention should be determined by rational interpretation of the appended claims, and all changes within the scope of equivalents of the present invention are included in the scope of the present invention.
Claims (20)
슬레이브 노드 별 미리 할당된 비밀 코드를 획득하여 보안 검증 순서를 확정하는 단계;
상기 확정된 보안 검증 순서에 따라 소정 주기로 생성된 갱신 입력 값 및 갱신 보안 값을 상기 제1 슬레이브 노드에 전송하는 단계;
해킹 또는 고장 노드를 감지하는 단계;
상기 해킹 또는 고장 노드가 감지되면, 상기 해킹 또는 고장 노드의 감지 시점에 관한 정보를 구비된 메모리에 기록하는 단계; 및
상기 해킹 또는 고장 노드의 메시지 전송을 차단하는 단계
를 포함하는, 차량 내 통신 보안 제공 방법.A method for providing in-vehicle communication security at a master node connected to an in-vehicle communication network,
Acquiring a pre-allocated secret code for each slave node to establish a security verification procedure;
Transmitting an update input value and an update security value generated in a predetermined cycle according to the determined security verification procedure to the first slave node;
Detecting a hacked or failed node;
If the hacking or failure node is detected, recording information on the detection timing of the hacking or failure node in a memory provided with the hacking or failure node; And
Blocking the message transmission of the hacking or fault node
The method comprising the steps of:
상기 갱신 입력 값은 현재 시간 정보 및 미리 등록된 핀코드 정보에 기반하여 생성되는, 차량 내 통신 보안 제공 방법.The method according to claim 1,
Wherein the update input value is generated based on current time information and pre-registered pin code information.
상기 차량 내 통신 네트워크에 연결된 모든 노드의 비밀 코드가 상기 슬레이브 노드에 공유되는 것을 특징으로 하는, 차량 내 통신 보안 제공 방법.The method according to claim 1,
Wherein the secret code of all nodes connected to the in-vehicle communication network is shared with the slave node.
상기 공유된 비밀 코드 및 상기 갱신 입력 값에 기반하여 보안 값을 생성하고, 상기 생성된 보안 값과 상기 갱신 보안 값의 동일 여부에 비교하여 상기 해킹 또는 고장 노드가 식별되는 것을 특징으로 하는, 차량 내 통신 보안 제공 방법.The method of claim 3,
Generating a security value based on the shared secret code and the update input value and comparing the generated security value with the updated security value to identify the hacking or failure node. How to provide communication security.
상기 해킹 또는 고장 노드가 식별되면, 상기 해킹 또는 고장 노드를 식별한 슬레이브 노드는 보안 메시지 전송을 소정 시간 동안 중단하는 것을 특징으로 하는, 차량 내 통신 보안 제공 방법.5. The method of claim 4,
Wherein if the hacking or fault node is identified, then the slave node identifying the hacking or fault node stops sending the security message for a predetermined time.
상기 해킹 또는 고장 노드를 식별한 슬레이브 노드가 상기 메시지 전송을 중단한 후 상기 소정 시간이 경과하면 상기 해킹 또는 고장 노드가 감지되었음을 지시하는 소정 제어 신호를 상기 마스터 노드에 전송하는 것을 특징으로 하는, 차량 내 통신 보안 제공 방법.The method according to claim 1,
Wherein when the predetermined time elapses after the slave node identifying the hacking or failure node has stopped transmitting the message, it transmits to the master node a predetermined control signal indicating that the hacking or the failure node has been detected. How to provide my communications security.
상기 해킹 또는 고장 노드의 메시지 전송을 차단하는 단계는
상기 해킹 또는 고장 노드의 감지 후 소정 시간이 경과된 이후에도 상기 상기 해킹 또는 고장 노드에 의한 메시지 전송이 감지되면, 도미넌트(dominant) 신호를 송출하는 단계를 포함하는, 차량 내 통신 보안 제공 방법.The method according to claim 1,
The step of blocking the message transmission of the hacking or fault node
And transmitting a dominant signal when a message transmission by the hacking or fault node is detected even after a predetermined time has elapsed since the detection of the hacking or faulty node.
상기 차량 내 통신 네트워크는 CAN 통신 네트워크인, 차량 내 통신 보안 제공 방법.The method according to claim 1,
Wherein the in-vehicle communication network is a CAN communication network.
미리 공유되어 저장된 비밀 코드를 이용하여 보안 검증 순서를 확정하는 단계;
주기적으로 갱신 입력 값 및 갱신 보안 값이 포함된 메시지를 수신하는 단계;
상기 갱신 입력 값 및 상기 슬레이브 노드에 대응되는 상기 비밀 코드에 기반하여 보안 값을 생성하는 단계;
수신된 상기 갱신 보안 값과 생성된 상기 보안 값의 동일 여부를 비교하여 해킹을 감지하는 단계; 및
상기 해킹이 감지되면, 소정 시간 동안 메시지 전송을 중단하는 단계
를 포함하는, 차량 내 통신 보안 제공 방법.A method for providing in-vehicle communication security in a slave node connected to an in-vehicle communication network,
Determining a security verification procedure using a secret code stored in advance;
Periodically receiving a message including an update input value and an update security value;
Generating a security value based on the update input value and the secret code corresponding to the slave node;
Comparing the received updated security value with the generated security value to detect a hacking; And
When the hacking is detected, stopping the message transmission for a predetermined time
The method comprising the steps of:
상기 메시지 전송을 중단한 후 상기 소정 시간이 경과하면 상기 해킹이 감지되었음을 지시하는 소정 제어 신호를 마스터 노드에 전송하는 단계를 더 포함하고, 상기 마스터 노드가 상기 제어 신호의 수신 시점을 해킹이 감지된 시점으로 소정 기록 영역에 저장하는 것을 특징으로 하는, 차량 내 통신 보안 제공 방법.10. The method of claim 9,
Further comprising transmitting to the master node a predetermined control signal indicating that the hacking is detected when the predetermined time elapses after the message transmission is stopped, And storing the data in a predetermined recording area at a time point.
상기 갱신 입력 값은 현재 시간 정보 및 미리 등록된 핀코드 정보에 기반하여 마스터 노드에 의해 생성되는, 차량 내 통신 보안 제공 방법.The method according to claim 1,
Wherein the update input value is generated by a master node based on current time information and pre-registered pin code information.
슬레이브 노드 별 미리 할당된 비밀 코드를 획득하여 보안 검증 순서를 확정하는 수단;
상기 확정된 보안 검증 순서에 따라 소정 주기로 생성된 갱신 입력 값 및 갱신 보안 값을 상기 제1 슬레이브 노드에 전송하는 수단;
해킹 또는 고장 노드를 감지하는 수단;
상기 해킹 또는 고장 노드가 감지되면, 상기 해킹 또는 고장 노드의 감지 시점에 관한 정보를 구비된 메모리에 기록하는 수단; 및
상기 해킹 또는 고장 노드의 메시지 전송을 차단하는 수단
을 포함하는, 차량 내 통신 보안 제공 장치. An in-vehicle communication security providing apparatus connected to an in-vehicle communication network and operating as a master node,
Means for obtaining a pre-assigned secret code for each slave node to determine a security verification sequence;
Means for transmitting an update input value and an update security value generated in a predetermined cycle according to the determined security verification sequence to the first slave node;
Means for detecting a hacked or failed node;
Means for writing information about the detection time of the hacking or faulty node to a memory in which the hacking or fault node is detected; And
Means for blocking transmission of messages of said hacking or fault node
Wherein the communication security providing apparatus comprises:
상기 갱신 입력 값은 현재 시간 정보 및 미리 등록된 핀코드 정보에 기반하여 생성되는, 차량 내 통신 보안 제공 장치.13. The method of claim 12,
Wherein the update input value is generated based on current time information and pre-registered pin code information.
상기 차량 내 통신 네트워크에 연결된 모든 노드의 비밀 코드가 상기 슬레이브 노드에 공유되는 것을 특징으로 하는, 차량 내 통신 보안 제공 장치.13. The method of claim 12,
Wherein the secret code of all nodes connected to the in-vehicle communication network is shared with the slave node.
상기 공유된 비밀 코드 및 상기 갱신 입력 값에 기반하여 보안 값을 생성하고, 상기 생성된 보안 값과 상기 갱신 보안 값의 동일 여부에 비교하여 상기 해킹 또는 고장 노드가 식별되는 것을 특징으로 하는, 차량 내 통신 보안 제공 장치.15. The method of claim 14,
Generating a security value based on the shared secret code and the update input value and comparing the generated security value with the updated security value to identify the hacking or failure node. Communication security providing device.
상기 해킹 또는 고장 노드가 식별되면, 상기 해킹 또는 고장 노드를 식별한 슬레이브 노드는 보안 메시지 전송을 소정 시간 동안 중단하는 것을 특징으로 하는, 차량 내 통신 보안 제공 장치.16. The method of claim 15,
Wherein when the hacking or fault node is identified, the slave node identifying the hacking or fault node stops sending the security message for a predetermined time.
상기 해킹 또는 고장 노드를 식별한 슬레이브 노드가 상기 메시지 전송을 중단한 후 상기 소정 시간이 경과하면 상기 해킹 또는 고장 노드가 감지되었음을 지시하는 소정 제어 신호를 상기 마스터 노드에 전송하는 것을 특징으로 하는, 차량 내 통신 보안 제공 장치.13. The method of claim 12,
Wherein when the predetermined time elapses after the slave node identifying the hacking or failure node has stopped transmitting the message, it transmits to the master node a predetermined control signal indicating that the hacking or the failure node has been detected. My communication security provisioning device.
상기 해킹 또는 고장 노드의 감지 후 소정 시간이 경과된 이후에도 상기 해킹 또는 고장 노드에 의한 메시지 전송이 감지되면, 도미넌트(dominant) 신호를 송출하는 수단을 더 포함하는, 차량 내 통신 보안 제공 장치.13. The method of claim 12,
And means for sending a dominant signal when a message transmission by the hacking or fault node is detected even after a predetermined time has elapsed since the detection of the hacking or faulty node.
미리 공유되어 저장된 비밀 코드를 이용하여 보안 검증 순서를 확정하는 수단;
주기적으로 갱신 입력 값 및 갱신 보안 값이 포함된 메시지를 수신하는 수단;
상기 갱신 입력 값 및 상기 슬레이브 노드에 대응되는 상기 비밀 코드에 기반하여 보안 값을 생성하는 수단;
수신된 상기 갱신 보안 값과 생성된 상기 보안 값의 동일 여부를 비교하여 해킹을 감지하는 수단; 및
상기 해킹이 감지되면, 소정 시간 동안 메시지 전송을 중단하는 수단
을 포함하는, 차량 내 통신 보안 제공 장치.An in-vehicle communication security providing apparatus operating as a slave node connected to an in-vehicle communication network,
Means for determining a security verification sequence using a pre-shared and stored secret code;
Means for periodically receiving a message including an update input value and an update security value;
Means for generating a security value based on the update input value and the secret code corresponding to the slave node;
Means for detecting a hack by comparing whether the updated security value received is the same as the generated security value; And
If the hacking is detected, the means for stopping the message transmission for a predetermined time
Wherein the communication security providing apparatus comprises:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160157641A KR102592201B1 (en) | 2016-11-24 | 2016-11-24 | Method and Apparatus for Providing In-Vehicle Communication Security |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160157641A KR102592201B1 (en) | 2016-11-24 | 2016-11-24 | Method and Apparatus for Providing In-Vehicle Communication Security |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20180058537A true KR20180058537A (en) | 2018-06-01 |
KR102592201B1 KR102592201B1 (en) | 2023-10-20 |
Family
ID=62635273
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160157641A KR102592201B1 (en) | 2016-11-24 | 2016-11-24 | Method and Apparatus for Providing In-Vehicle Communication Security |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102592201B1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10837549B2 (en) | 2019-04-01 | 2020-11-17 | Hyundai Motor Company | Vehicle and method of controlling the same |
CN114374575A (en) * | 2021-09-13 | 2022-04-19 | 中国航空工业集团公司沈阳飞机设计研究所 | Airborne distributed node CAN bus network architecture data transmission method |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101371902B1 (en) * | 2012-12-12 | 2014-03-10 | 현대자동차주식회사 | Apparatus for detecting vehicle network attcak and method thereof |
KR101472896B1 (en) * | 2013-12-13 | 2014-12-16 | 현대자동차주식회사 | Method and apparatus for enhancing security in in-vehicle communication network |
KR20160088483A (en) * | 2015-01-15 | 2016-07-26 | 고려대학교 산학협력단 | Method for generating a key generation key and method for authenticating data frame using the same |
KR101651648B1 (en) * | 2016-04-28 | 2016-08-29 | 인포뱅크 주식회사 | Data communication method for vehicle, Electronic Control Unit and system thereof |
-
2016
- 2016-11-24 KR KR1020160157641A patent/KR102592201B1/en active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101371902B1 (en) * | 2012-12-12 | 2014-03-10 | 현대자동차주식회사 | Apparatus for detecting vehicle network attcak and method thereof |
KR101472896B1 (en) * | 2013-12-13 | 2014-12-16 | 현대자동차주식회사 | Method and apparatus for enhancing security in in-vehicle communication network |
KR20160088483A (en) * | 2015-01-15 | 2016-07-26 | 고려대학교 산학협력단 | Method for generating a key generation key and method for authenticating data frame using the same |
KR101651648B1 (en) * | 2016-04-28 | 2016-08-29 | 인포뱅크 주식회사 | Data communication method for vehicle, Electronic Control Unit and system thereof |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10837549B2 (en) | 2019-04-01 | 2020-11-17 | Hyundai Motor Company | Vehicle and method of controlling the same |
CN114374575A (en) * | 2021-09-13 | 2022-04-19 | 中国航空工业集团公司沈阳飞机设计研究所 | Airborne distributed node CAN bus network architecture data transmission method |
Also Published As
Publication number | Publication date |
---|---|
KR102592201B1 (en) | 2023-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10693905B2 (en) | Invalidity detection electronic control unit, in-vehicle network system, and communication method | |
US11356475B2 (en) | Frame transmission prevention apparatus, frame transmission prevention method, and in-vehicle network system | |
CN107078938B (en) | Gateway device, in-vehicle network system, and communication method | |
KR101714520B1 (en) | In-Vehicle Network Attack Detection Method and Apparatus | |
KR101472896B1 (en) | Method and apparatus for enhancing security in in-vehicle communication network | |
KR101748272B1 (en) | Method and apparatus for controlling mass diagnostic communication in vehicle | |
JP4407752B2 (en) | FAILURE LOCATION DETECTION DEVICE, COMMUNICATION DEVICE, AND FAILURE LOCATION DETECTION METHOD | |
CN110546921B (en) | Fraud detection method, fraud detection apparatus, and program | |
JP2016134914A (en) | Fraud detection rule updating method, fraud detection electronic control unit and on-vehicle network system | |
JP7182559B2 (en) | Log output method, log output device and program | |
JP2014236248A (en) | Electronic control device and electronic control system | |
US10462161B2 (en) | Vehicle network operating protocol and method | |
US11218501B2 (en) | Detector, detection method, and detection program | |
CN111934994A (en) | Gateway device, in-vehicle network system, and communication method | |
JP7412506B2 (en) | Fraud detection rule update method, fraud detection electronic control unit and in-vehicle network system | |
JPWO2019225258A1 (en) | Anomaly detection device, anomaly detection system and control method | |
KR20190003112A (en) | Method and System for detecting bypass hacking attacks based on the CAN protocol | |
KR101714526B1 (en) | Method and apparatus for protecting hacking in vehicle network | |
WO2019225259A1 (en) | Communication control device, unauthorized access-detecting electronic control unit, mobility network system, communication control method, unauthorized access detection method and program | |
KR102592201B1 (en) | Method and Apparatus for Providing In-Vehicle Communication Security | |
CN108632242B (en) | Communication device and receiving device | |
JP2022138678A (en) | vehicle system | |
WO2020105657A1 (en) | Onboard relay device and relay method | |
CN115580471A (en) | Fraud detection method, fraud detection apparatus, and storage medium | |
JP2017085197A (en) | Communication system, transmitter and communication method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |