KR20220144550A - Device and method for vehicle communication - Google Patents
Device and method for vehicle communication Download PDFInfo
- Publication number
- KR20220144550A KR20220144550A KR1020210051006A KR20210051006A KR20220144550A KR 20220144550 A KR20220144550 A KR 20220144550A KR 1020210051006 A KR1020210051006 A KR 1020210051006A KR 20210051006 A KR20210051006 A KR 20210051006A KR 20220144550 A KR20220144550 A KR 20220144550A
- Authority
- KR
- South Korea
- Prior art keywords
- data
- message
- length information
- length
- information
- Prior art date
Links
- 238000004891 communication Methods 0.000 title claims abstract description 54
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000003780 insertion Methods 0.000 claims abstract description 16
- 230000037431 insertion Effects 0.000 claims abstract description 16
- 230000005540 biological transmission Effects 0.000 claims description 17
- 230000007123 defense Effects 0.000 description 3
- 239000000470 constituent Substances 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 238000007620 mathematical function Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- 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/40071—Packet processing; Packet format
-
- 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
- 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
- H04L2012/40208—Bus networks characterized by the use of a particular bus standard
- H04L2012/40215—Controller Area Network CAN
-
- 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
- H04L2012/40267—Bus for use in transportation systems
- H04L2012/40273—Bus for use in transportation systems the transportation system being a vehicle
Abstract
Description
본 개시는 차량 통신 장치 및 그 방법에 관한 것으로, 더욱 상세하게는 CAN 통신 기반의 차량 통신 장치 및 그 방법에 관한 것이다. The present disclosure relates to a vehicle communication apparatus and a method thereof, and more particularly, to a CAN communication-based vehicle communication apparatus and a method thereof.
인포테인먼트(Infotainment) 시스템은 개방형 통신 채널인 CAN(Controller Area Network) 버스를 통해 다른 전자 제어 장치(ECU: electronic control unit)와 통신하여 해킹에 취약한 문제가 있다. The infotainment system communicates with other electronic control units (ECUs) through an open communication channel, a controller area network (CAN) bus, and is vulnerable to hacking.
해커는 인포테인먼트 시스템과 다른 ECU 간에 송수신되는 CAN 메시지를 CAN 버스로부터 읽어와 디코딩한 후, CAN 버스에 메시지를 주입하여 시스템 오작동을 유발할 수 있다. 해커는 CAN 버스에 물리적으로 연결하거나, OBD(On-board diagnostics) 포트를 사용하여 CAN 버스에 대한 액세스, 및 디코딩/리버스 엔지니어(reverse engineer)를 시도할 수 있다.A hacker can read and decode CAN messages transmitted and received between the infotainment system and other ECUs from the CAN bus and then inject the messages into the CAN bus to cause system malfunction. A hacker can physically connect to the CAN bus, access the CAN bus using an on-board diagnostics (OBD) port, and attempt to decode/reverse engineer.
실시 예를 통해 해결하려는 과제는 CAN 버스에 대한 불법적인 접근에 대한 방어력을 높이고, CAN 버스가 불법적인 접근에 노출되더라도 시스템 손상을 제한할 수 있는 차량 통신 장치 및 그 방법을 제공하는 것이다. An object to be solved through the embodiment is to provide a vehicle communication device and method capable of increasing defense against illegal access to the CAN bus and limiting system damage even when the CAN bus is exposed to illegal access.
상기 과제를 해결하기 위한 일 실시 예에 따른 차량 통신 장치는, 차량에서 발생하는 센서 값들 중 임의로 선택된 입력 값들을 수신하고, 상기 입력 값들을 기 설정된 적어도 하나의 위치 결정 함수에 대입하여 데이터 및 상기 데이터의 길이 정보의 위치 정보를 결정하는 데이터 위치 결정부, 그리고 상기 위치 정보에 기초하여 CAN 메시지 내에서 상기 데이터의 시작 위치 및 상기 길이 정보의 삽입 위치를 식별하는 메시시지 처리부를 포함할 수 있다. A vehicle communication device according to an embodiment for solving the above problem receives input values arbitrarily selected from among sensor values generated in a vehicle, and substitutes the input values into at least one preset positioning function to obtain data and the data It may include a data position determining unit for determining the position information of the length information, and a message processing unit for identifying the start position of the data and the insertion position of the length information in the CAN message based on the position information.
상기 CAN 메시지는 고정된 길이의 데이터 페이로드를 가지며, 상기 데이터 페이로드에서 상기 데이터 및 상기 길이 정보가 삽입되는 바이트를 제외한 나머지 적어도 하나의 바이트에는 더미 데이터가 삽입될 수 있다.The CAN message has a data payload of a fixed length, and dummy data may be inserted into at least one byte other than a byte into which the data and the length information are inserted in the data payload.
상기 CAN 메시지의 데이터 길이 코드(DLC: Data Length Code)에는 상기 데이터 페이로드의 고정된 길이에 대응하는 고정된 값이 삽입될 수 있다.A fixed value corresponding to the fixed length of the data payload may be inserted into a data length code (DLC) of the CAN message.
상기 입력 값들 및 상기 위치 결정 함수는 다른 전자 제어 장치들과 공유될 수 있다. 상기 입력 값들은 소정 시간 마다 변동될 수도 있다. The input values and the positioning function may be shared with other electronic control devices. The input values may be changed every predetermined time.
상기 차량 통신 장치는, 송수신기를 더 포함할 수 있다. 상기 메시지 처리부는, 상기 데이터의 시작 위치 및 상기 길이 정보의 삽입 위치에 기초하여 상기 CAN 메시지 내에 송신 데이터 및 상기 송신 데이터의 길이 정보를 삽입함으로써 상기 CAN 메시지를 생성하고, 상기 메시지 처리부에 의해 생성된 상기 CAN 메시지는, 상기 송수신기에 의해 CAN 버스로 브로드캐스팅될 수 있다. The vehicle communication device may further include a transceiver. The message processing unit generates the CAN message by inserting transmission data and length information of the transmission data into the CAN message based on a start position of the data and an insertion position of the length information, and generates the CAN message generated by the message processing unit. The CAN message may be broadcast on a CAN bus by the transceiver.
상기 송수신기는 상기 CAN 버스를 통해 다른 전자 제어 장치로부터 송신된 CAN 메시지를 수신하고, 상기 메시지 처리부는, 상기 데이터의 시작 위치 및 상기 길이 정보의 삽입 위치에 기초하여, 상기 CAN 버스를 통해 수신한 CAN 메시지에서 수신 데이터 및 상기 수신 데이터의 길이 정보를 추출할 수도 있다. The transceiver receives the CAN message transmitted from another electronic control device through the CAN bus, and the message processing unit, based on the start position of the data and the insertion position of the length information, the CAN received through the CAN bus It is also possible to extract received data and length information of the received data from the message.
또한, 일 실시 예에 따른 차량 내 전자 제어 장치의 차량 통신 방법은, 차량에서 발생하는 센서 값들 중 임의로 선택된 입력 값들을 수신하는 단계, 상기 입력 값들을 기 설정된 적어도 하나의 위치 결정 함수에 대입하여 데이터 및 상기 데이터의 길이 정보의 위치 정보를 결정하는 단계, 그리고 상기 위치 정보에 기초하여, 다른 전자 제어 장치와 송수신되는 CAN 메시지 내에서 상기 데이터의 시작 위치 및 상기 길이 정보의 삽입 위치를 식별하는 단계를 포함할 수 있다. In addition, the vehicle communication method of the in-vehicle electronic control device according to an embodiment includes receiving input values arbitrarily selected from among sensor values generated in the vehicle, substituting the input values into at least one preset positioning function to obtain data and determining the position information of the length information of the data, and based on the position information, identifying the start position of the data and the insertion position of the length information in the CAN message transmitted and received with another electronic control device. may include
상기 차량 통신 방법에서, 상기 CAN 메시지는 고정된 길이의 데이터 페이로드를 가지며, 상기 데이터 페이로드에서 상기 데이터 및 상기 길이 정보가 삽입되는 바이트를 제외한 나머지 적어도 하나의 바이트에는 더미 데이터가 삽입될 수 있다.In the vehicle communication method, the CAN message has a data payload of a fixed length, and dummy data may be inserted into at least one byte other than a byte into which the data and the length information are inserted in the data payload. .
상기 차량 통신 방법에서, 상기 CAN 메시지의 데이터 길이 코드(DLC: Data Length Code)에는 상기 데이터 페이로드의 고정된 길이에 대응하는 고정된 값이 삽입될 수 있다.In the vehicle communication method, a fixed value corresponding to the fixed length of the data payload may be inserted into a data length code (DLC) of the CAN message.
상기 차량 통신 방법에서, 상기 입력 값들 및 상기 위치 결정 함수는 다른 전자 제어 장치들과 공유될 수 있다. 상기 입력 값들은 소정 시간 마다 변동될 수도 있다. In the vehicle communication method, the input values and the positioning function may be shared with other electronic control devices. The input values may be changed every predetermined time.
상기 차량 통신 방법은, 상기 데이터의 시작 위치 및 상기 길이 정보의 삽입 위치에 기초하여 상기 CAN 메시지 내에 송신 데이터 및 상기 송신 데이터의 길이 정보를 삽입함으로써 상기 CAN 메시지를 생성하는 단계, 그리고 생성된 상기 CAN 메시지를 CAN 버스로 브로드캐스팅하는 단계를 더 포함할 수 있다. The vehicle communication method includes generating the CAN message by inserting transmission data and length information of the transmission data into the CAN message based on a start position of the data and an insertion position of the length information, and the generated CAN message. The method may further include broadcasting the message to the CAN bus.
상기 차량 통신 방법은, 상기 CAN 버스를 통해 다른 전자 제어 장치로부터 송신된 CAN 메시지를 수신하는 단계, 그리고 상기 데이터의 시작 위치 및 상기 길이 정보의 삽입 위치에 기초하여, 상기 CAN 버스를 통해 수신한 CAN 메시지에서 수신 데이터 및 상기 수신 데이터의 길이 정보를 추출하는 단계를 더 포함할 수 있다. The vehicle communication method includes the steps of receiving a CAN message transmitted from another electronic control device through the CAN bus, and based on a start position of the data and an insertion position of the length information, the CAN received through the CAN bus The method may further include extracting received data and length information of the received data from the message.
실시 예에 따르면, CAN 버스에 대한 불법적인 접근에 대한 방어력을 높이고, CAN 버스가 불법적인 접근에 노출되더라도 시스템 손상을 제한할 수 있다. According to an embodiment, it is possible to increase defense against illegal access to the CAN bus, and to limit system damage even if the CAN bus is exposed to illegal access.
도 1은 일 실시 예에 따른 차량 통신 장치를 개략적으로 도시한다.
도 2는 일 실시 예에 따른 차량 통신 장치에서 사용되는 CAN 메시지의 일 예를 도시한다.
도 3은 일 실시 예에 따른 차량 통신 장치를 포함하는 차량 시스템의 일 예를 도시한다.
도 4는 일 실시 예에 따른 차량의 통신 방법을 개략적으로 도시한다.1 schematically illustrates a vehicle communication device according to an embodiment.
2 illustrates an example of a CAN message used in a vehicle communication device according to an embodiment.
3 illustrates an example of a vehicle system including a vehicle communication device according to an embodiment.
4 schematically illustrates a communication method of a vehicle according to an exemplary embodiment.
이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시예를 상세히 설명하되, 동일하거나 유사한 구성요소에는 동일, 유사한 도면부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. Hereinafter, the embodiments disclosed in the present specification will be described in detail with reference to the accompanying drawings, but identical or similar components are given the same and similar reference numerals, and overlapping descriptions thereof will be omitted.
이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및/또는 "~부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. 또한, 본 명세서에 개시된 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.The suffixes "module" and/or "~ part" for the components used in the following description are given or mixed in consideration of only the ease of writing the specification, and do not have distinct meanings or roles by themselves. In addition, in describing the embodiments disclosed in the present specification, if it is determined that detailed descriptions of related known technologies may obscure the gist of the embodiments disclosed in the present specification, the detailed description thereof will be omitted. In addition, the accompanying drawings are only for easy understanding of the embodiments disclosed in the present specification, and the technical spirit disclosed herein is not limited by the accompanying drawings, and all changes included in the spirit and scope of the present invention , should be understood to include equivalents or substitutes.
제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.Terms including ordinal numbers such as first, second, etc. may be used to describe various elements, but the elements are not limited by the terms. The above terms are used only for the purpose of distinguishing one component from another.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.When a component is referred to as being “connected” or “connected” to another component, it may be directly connected or connected to the other component, but it is understood that other components may exist in between. it should be On the other hand, when it is said that a certain element is "directly connected" or "directly connected" to another element, it should be understood that the other element does not exist in the middle.
본 출원에서, "포함한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. In the present application, terms such as “comprises” or “have” are intended to designate that a feature, number, step, operation, component, part, or combination thereof described in the specification exists, but one or more other features It is to be understood that this does not preclude the possibility of the presence or addition of numbers, steps, operations, components, parts, or combinations thereof.
또한, 명세서에 기재된 "??부", "??기", "모듈", "수단" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.In addition, terms such as "unit", "unit", "module", and "means" described in the specification mean a unit that processes at least one function or operation, which is hardware or software or hardware and software It can be implemented by combining
도 1은 일 실시 예에 따른 차량 통신 장치를 개략적으로 도시한다. 1 schematically illustrates a vehicle communication device according to an embodiment.
도 1을 참조하면, 일 실시 예에 따른 차량 통신 장치(10)는 데이터 위치 결정부(12), 메시지 처리부(13), 인코더(encoder, 13), 디코더(decoder, 14), 및 송수신기(15)를 포함할 수 있다. Referring to FIG. 1 , a
데이터 위치 결정부(12)는, 차량 내에서 발생되는 각종 데이터들(예를 들어, 센서 값들) 중에서 임의로 선택된 적어도 하나의 입력 값(x1, x2, ??, xn)을 수신하고, 수신한 입력 값들을 임의의 수학 함수인 위치 결정 함수에 대입하여 CAN 메시지(또는 CAN 데이터 프레임) 내에서 의 데이터의 시작 위치, 및 해당 데이터의 길이 정보가 삽입되는 위치를 결정할 수 있다. The
다음의 수학식 1은 데이터 위치 결정부(12)에서 사용하는 위치 결정 함수의 일 예를 나타낸다.
[수학식 1][Equation 1]
F(x1, x2, x3, x4) = (x1×55 + x2×x3 + x4×x1) MOD 8F(x1, x2, x3, x4) = (x1×55 + x2×x3 + x4×x1)
수학식 1의 위치 결정 함수를 사용하는 경우, 데이터 위치 결정부(12)에 4개의 입력 값(x1~x4)이 입력될 수 있다. 일 예로, 각 입력 값이 x1= 5, x2=8, x3=12, x4 =2의 값을 가지는 경우, 위 수하긱 1을 통해 도출되는 위치 정보 F(x1, x2, x3, x4)는 5의 값을 가질 수 있다. 이렇게 결정된 위치 정보가 CAN 메시지 내 데이터의 시작 위치에 대응하는 위치 정보인 경우, 데이터는 CAN 메시지의 데이터 페이로드(data payload)(또는 데이터 필드(data field))를 구성하는 바이트들 중 5번째 바이트부터 위치할 수 있다. 한편, 위 수학식 1은 위치 결정 함수의 일 예로서, 위치 결정 함수는 입력되는 값의 개수, 함수의 복잡도 등이 다양하게 변형될 수 있다. When the positioning function of
데이터와, 이 데이터의 길이 정보는 서로 다른 위치에 삽입되어야 하므로, 데이터 위치 결정부(12)는 서로 다른 두 개의 위치 결정 함수를 사용하여 데이터의 시작 위치와, 이 데이터의 길이 정보가 삽입되는 위치를 서로 독립적으로 결정할 수도 있다. Since the data and the length information of the data must be inserted at different positions, the
이 실시 예에서, 위치 결정을 위해 데이터 위치 결정부(12)로 입력되는 입력 값들은, 소정 시간 마다 입력되는 값들의 종류 또는 값이 변동될 수 있다. 따라서, 소정 시간이 경과하면 CAN 메시지에 데이터 및 이의 길이 정보가 삽입되는 위치가 동적으로 변경되어, CAN 메시지의 해킹에 대한 방어력을 높일 수 있다. In this embodiment, the types or values of the input values input to the
또한, 이 실시 예에서, 위치 결정을 위해 데이터 위치 결정부(12)로 입력되는 입력 값들과, 이를 토대로 데이터의 시작 위치 및 데이터 길이 정보의 삽입 위치를 결정하는 위치 결정 함수들은, 차량 통신 장치(10)와 CAN 버스(5)를 통해 연결되는 모든 다른 전자 제어 장치(ECU: electronic control unit)(10')들과 공유될 수 있다. 즉, 차량 통신 장치(10)와 CAN 버스(5)를 통해 연결되는 모든 ECU에 위치 결정을 위한 동일한 입력 값들이 입력될 수 있다. 또한, 차량 통신 장치(10)와 CAN 버스(5)를 통해 연결되는 모든 ECU는 차량 통신 장치(10)와 동일한 위치 결정 함수를 사용하여, 입력 값들로부터 데이터의 시작 위치와 데이터의 길이 정보가 삽입되는 위치를 획득할 수 있다. 이와 같이, 차량 통신 장치(10)와 통신하는 모든 ECU가 동일한 입력 값들과 동일한 위치 결정 함수를 공유함으로써, 차량 통신 장치(10)와 다른 ECU들은 CAN 버스(5)를 통해 송수신되는 데이터 및 이의 길이 정보에 대한 위치 정보를 공유할 수 있다. In addition, in this embodiment, the input values input to the
메시지 처리부(13)는 데이터 위치 결정부(12)로부터 CAN 메시지 내에서의 데이터의 시작 위치 및 데이터 길이 정보의 삽입 위치를 지시하는 위치 정보들(P, K)을 수신하고, 이를 토대로 송수신 되는 CAN 메시지 내에서 데이터의 시작 위치 및 데이터 길이 정보의 삽입 위치를 식별할 수 있다. The
차량 통신 장치(10)에서 다른 ECU로 CAN 메시지를 송신하고자 하는 경우, 메시지 처리부(13)는 데이터 위치 결정부(12)로부터 수신한 위치 정보들(P, K)에 기초하여, 송신할 데이터 및 이의 길이 정보를 CAN 메시지의 데이터 페이로드 내에 할당(또는 삽입)할 수 있다. When a CAN message is to be transmitted from the
차량 통신 장치(10)가 다른 ECU로부터 CAN 메시지를 수신한 경우, 메시지 처리부(13)는 데이터 위치 결정부(12)로부터 수신한 데이터 길이 정보의 위치 정보(P)에 기초하여, 수신된 CAN 메시지의 데이터 페이로드로부터 수신 데이터의 실제 길이 정보를 획득할 수 있다. 또한, 메시지 처리부(13)는 이렇게 획득한 길이 정보와, 데이터 위치 결정부(12)로부터 수신한 데이터의 시작 위치 정보(K)에 기초하여 CAN 메시지의 데이터 페이로드로부터 실제 수신 데이터만을 추출할 수 있다. When the
이 실시 예에서, CAN 메시지에 포함되는 데이터 페이로드의 길이 즉, 바이트(byte) 수는 송신 데이터나 수신 데이터의 실제 길이와 상관없이 고정된 값을 가지며, CAN 메시지의 제어 필드(control field)의 데이터 길이 코드(DLC: Data Length Code) 또한 데이터 페이로드의 고정된 길이에 맞춰 고정된 값이 삽입될 수 있다. 일 예로, CAN 메시지의 데이터 페이로드의 길이는 8 바이트로 고정되며, 이에 따라 DLC에는 8 바이트를 가리키는 값이 삽입될 수 있다.In this embodiment, the length of the data payload included in the CAN message, that is, the number of bytes, has a fixed value regardless of the actual length of the transmitted data or the received data, and A data length code (DLC) may also have a fixed value inserted according to the fixed length of the data payload. For example, the length of the data payload of the CAN message is fixed to 8 bytes, and accordingly, a value indicating 8 bytes may be inserted into the DLC.
CAN 메시지의 데이터 페이로드가 고정된 길이를 가짐에 따라, 메시지 처리부(13)는 CAN 메시지의 송신 시 CAN 메시지의 데이터 페이로드에서 실제 송신 데이터 및 이의 길이 정보가 삽입되는 바이트 외 다른 바이트들에는 랜덤으로 생성된 더미(dummy) 데이터를 삽입할 수 있다. 또한, CAN 메시지의 수신 시에는, CAN 메시지의 데이터 페이로드를 구성하는 바이트들 중 실제 수신 데이터와, 이의 길이 정보가 삽입된 바이트 외의 바이트들은 더미 데이터로 판단할 수 있다. As the data payload of the CAN message has a fixed length, the
도 2는 도 1의 차량 통신 장치(10)에서 사용되는 CAN 메시지의 일 예로서, 2바이트의 RPM 데이터를 전달하기 위한 CAN 메시지를 예로서 도시한다. 도 2에 도시된 CAN 메시지의 프레임 구성은 설명을 위한 일 예로서, 본 발명의 실시 예들이 이로 인해 한정되는 것은 아니다. 예를 들어, CAN 메시지는 CRC(Cyclic Redundancy Check) 필드 등의 추가 필드를 더 포함할 수도 있다. FIG. 2 illustrates an example of a CAN message used in the
도 2를 참조하면, CAN 메시지(20)를 통해 실제 송수신하고자 하는 데이터의 길이(예를 들어, 2 바이트)와 상관없이, CAN 메시지(20) 내에 데이터 페이로드는 8 바이트로 고정된 길이를 가지며, 이에 대응하여 DLC 필드(24) 또한 8 바이트를 지시하는 값을 가질 수 있다. Referring to FIG. 2 , regardless of the length (eg, 2 bytes) of data to be actually transmitted/received through the
또한, 데이터 페이로드를 구성하는 8개의 바이트들 중, 실제 데이터(22)에 할당된 바이트들(Byte 5, Byte 6)과, 해당 데이터의 길이 정보(21)에 할당된 바이트(Byte 3)을 제외한 나머지 바이트들(Byte 1, Byte 2, Byte 4, Byte 7, Byte 8)에는 랜덤으로 생성된 더미 데이터(23)가 삽입될 수 있다. In addition, among 8 bytes constituting the data payload, bytes (
이와 같이, 실시 예에 따른 CAN 메시지(20)는, 실제 데이터의 길이와 상관없이 고정된 길이의 데이터 페이로드를 가지고, 데이터 페이로드에서 실제 데이터 및 이의 길이 정보의 전송에 사용되지 않는 바이트들에는 더미 데이터를 삽입하여 구성될 수 있다. 이에 따라, 해커에게 CAN 메시지(20)가 노출되더라도, CAN 메시지(20)를 통해 전달되는 데이터가 8 바이트의 길이를 가지는 것으로 오인식함으로써, 해커가 CAN 메시지에서 실제 데이터를 취득하는데 어려움을 겪을 수 있다. 또한, 데이터 페이로드 내에 실제 송수신 데이터와 더미 데이터가 랜덤하게 혼합되어 있어, CAN 메시지가 해커에게 노출되더라도 디코딩에 어려움을 겪을 수 있다. 또한, 해커는 데이터 페이로드 내에서 실제 데이터와 이의 길이 정보가 삽입되는 위치를 알 수 없어, 스푸핑(spoofing) 메시지를 CAN 버스에 주입하더라도, ECU들에 의해 불법 침입이 쉽게 검출될 수 있다. As such, the
다시, 도 1을 보면, 차량 통신 장치(10)에서 다른 ECU로 CAN 메시지를 송신하고자 하는 경우, 메시지 처리부(13)에서 송신 데이터 및 이의 길이 정보가 삽입된 CAN 메시지는 이후 인코더(13)로 전달되며, 인코더(13)에 의해 인코딩된 후 송수신기(15)에 의해 CAN 버스(5)로 브로드캐스팅(broadcasting)될 수 있다. 이 실시 예에서, 차량 통신 장치(10)는 주소 지정(addressing) 방식이 아닌, 브로드캐스팅 방식으로 다른 ECU와 CAN 메시지를 송수신할 수 있다.Again, referring to FIG. 1 , when a CAN message is transmitted from the
차량 통신 장치(10)가 다른 ECU로부터 CAN 메시지를 수신한 경우, 송수신기(15)는 다른 ECU에 의해 CAN 버스(5)로 브로드캐스팅된 CAN 메시지를 수신하고, 디코더(14)는 송수신기(15)에 의해 수신된 CAN 메시지를 디코딩한 후, 메시지 처리부(12)에 전달할 수 있다. When the
전술한 구조의 차량 통신 장치(10)는 차량의 각 ECU에 포함될 수 있다. The
도 3은 도 1의 차량 통신 장치(10)를 포함하는 차량 시스템의 일 예를 도시한다. FIG. 3 shows an example of a vehicle system including the
도 3을 참조하면, 전술한 차량 통신 장치(10)가 차량 시스템의 각 ECU(1a, 1b, 1c) 내에 포함되어, 각 ECU(1a, 1b, 1c)에서 다른 ECU와 CAN 버스(5)를 통해 CAN 메시지를 송수신하는 기능을 수행할 수 있다. Referring to FIG. 3 , the
도 3을 참조하면, 각 ECU(1a, 1b, 1c)의 차량 통신 장치(10)들은 CAN 메시지에서 데이터가 시작되는 위치 및 이의 길이 정보가 삽입된 위치를 서로 공유하기 위해, 서로 동일한 입력 값들(x1, x2, ??, xn)을 입력 받을 수 있다. 또한, 동일하게 입력되는 입력 값들(x1, x2, ??, xn)을 동일한 위치 결정 함수에 대입함으로써, CAN 메시지에서 데이터가 시작되는 위치 및 이의 길이 정보가 삽입된 위치를 서로 동일하게 식별할 수 있다.Referring to FIG. 3 , the
또한, 송수신 데이터의 위치 결정을 위해 각 ECU(1a, 1b, 1c)의 차량 통신 장치(10)에 입력되는 입력 값들은, 소정 시간 마다 입력되는 값들의 종류 또는 값이 변동될 수 있으며, 이에 따라 CAN 메시지 내에서 데이터 및 이의 길이 정보가 삽입되는 위치가 동적으로 변동될 수 있다. 여기서, 새로운 입력 값들을 이용해 위치 정보를 재결정하는 시점은, 차량의 ECU들(1a, 1b, 1c) 중 마스터(Master) ECU에 의해 통지될 수 있다. 이 경우, 모든 ECU들(1a, 1b, 1c)의 위치 결정이 동기화되어, 동일한 입력 값들을 사용하여 위치 결정이 수행될 수 있다. In addition, the types or values of input values input to the
도 4는 일 실시 예에 따른 차량의 통신 방법을 개략적으로 도시한다. 도 4의 차량 통신 방법은, CAN 통신 방법으로서 위에서 도 1을 참조하여 설명한 차량 통신 장치(10)에 의해 수행될 수 있다. 4 schematically illustrates a communication method of a vehicle according to an exemplary embodiment. The vehicle communication method of FIG. 4 may be performed by the
도 4를 참조하면, 차량 통신 장치(10)는 차량에서 발생하는 센서 값들 중에서 위치 결정을 위해 임의로 선택된 입력 값들이 수신됨에 따라(S11), 이를 기 설정된 위치 결정 함수들에 대입함으로써 CAN 메시지 내에서 데이터 및 이의 길이 정보가 삽입되는 위치 정보를 결정할 수 있다(S12). 여기서, 위치 결정을 위해 입력되는 입력 값들과 이로부터 위치 정보를 결정하는 위치 결정 함수들은, 차량 내 모든 ECU에서 동일한 값들 및 동일한 위치 결정 함수를 공유할 수 있다. 따라서, 상기 S12 단계를 통해 결정되는 위치 정보들 또한 모든 ECU에서 공유될 수 있다. Referring to FIG. 4 , the
차량 통신 장치(10)는 현재 진행 중인 작업을 식별하고(S13), 현재 진행 중인 작업이 송신 작업인 경우, 상기 S12 단계를 통해 결정된 위치 정보들에 기초하여 CAN 메시지 내에 송신 데이터 및 이의 길이 정보를 배치하여 CAN 메시지를 생성할 수 있다(S14). The
상기 S14 단계에서, CAN 메시지에서 송신 데이터가 삽입되는 데이터 페이로드는 고정된 길이(예를 들어, 8 바이트)를 가지며, 송신 데이터 및 이의 길이 정보가 삽입되는 바이트들 외의 나머지 바이트들에는 더미 데이터가 삽입되어 CAN 메시지가 생성될 수 있다. In step S14, the data payload into which the transmission data is inserted in the CAN message has a fixed length (eg, 8 bytes), and dummy data is included in the remaining bytes other than the bytes into which the transmission data and its length information are inserted. It may be inserted to generate a CAN message.
이렇게 생성된 CAN 메시지는, 인코더(13)에 의해 인코딩(S15)된 후 송수신기(15)를 통해 CAN 버스(5)로 송신 즉, 브로드캐스팅될 수 있다(S16). The CAN message thus generated may be encoded (S15) by the
상기 S13 단계에서, 현재 진행 중인 작업이 수신 작업으로 식별되면, 차량 통신 장치(10)는 송수신기(15)를 통해 CAN 버스(5)로부터 다른 ECU로부터 브로드캐스팅된 CAN 메시지를 수신할 수 있다(S17). 또한, 차량 통신 장치(10)는 CAN 버스(5)로부터 수신된 CAN 메시지를 디코딩(S18)한 후, 상기 S12 단계를 통해 결정된 위치 정보들에 기초하여 디코딩된 CAN 메시지로부터 수신 데이터 및 이의 길이 정보를 추출할 수 있다(S19).In step S13 , if the currently ongoing job is identified as a reception job, the
전술한 실시 예에 의한 차량의 통신 방법은 소프트웨어를 통해 실행될 수 있다. 소프트웨어로 실행될 때, 본 발명의 구성 수단들은 필요한 작업을 실행하는 코드 세그먼트들이다. 프로그램 또는 코드 세그먼트들은 프로세서 판독 기능 매체에 저장되거나 전송 매체 또는 통신망에서 반송파와 결합된 컴퓨터 데이터 신호에 의하여 전송될 수 있다. The vehicle communication method according to the above-described embodiment may be executed through software. When executed in software, the constituent means of the present invention are code segments that perform the necessary tasks. The program or code segments may be stored on a processor readable medium or transmitted by a computer data signal coupled with a carrier wave in a transmission medium or a communication network.
컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 장치의 예로는, ROM, RAM, CD-ROM, DVD_ROM, DVD_RAM, 자기 테이프, 플로피 디스크, 하드 디스크, 광 데이터 저장장치 등이 있다. 또한, 컴퓨터로 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 장치에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. The computer-readable recording medium includes all types of recording devices in which data readable by a computer system is stored. Examples of the computer-readable recording device include ROM, RAM, CD-ROM, DVD_ROM, DVD_RAM, magnetic tape, floppy disk, hard disk, and optical data storage device. In addition, the computer-readable recording medium may be distributed to network-connected computer devices to store and execute computer-readable codes in a distributed manner.
지금까지 참조한 도면과 기재된 발명의 상세한 설명은 단지 본 발명의 예시적인 것으로서, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 용이하게 선택하여 대체할 수 있다. 또한 당업자는 본 명세서에서 설명된 구성요소 중 일부를 성능의 열화 없이 생략하거나 성능을 개선하기 위해 구성요소를 추가할 수 있다. 뿐만 아니라, 당업자는 공정 환경이나 장비에 따라 본 명세서에서 설명한 방법 단계의 순서를 변경할 수도 있다. 따라서 본 발명의 범위는 설명된 실시형태가 아니라 특허청구범위 및 그 균등물에 의해 결정되어야 한다.The drawings and detailed description of the described invention referenced so far are merely exemplary of the present invention, which are only used for the purpose of explaining the present invention, and are used to limit the meaning or limit the scope of the present invention described in the claims. it is not Therefore, those of ordinary skill in the art can easily select from it and replace it. In addition, those skilled in the art may omit some of the components described herein without degrading performance or add components to improve performance. In addition, those skilled in the art may change the order of the method steps described herein according to the process environment or equipment. Accordingly, the scope of the present invention should be determined by the claims and their equivalents rather than the described embodiments.
1a, 1b, 1c: ECU
5: CAN 버스
10: 차량 통신 장치
11: 데이터 위치 결정부
12: 메시지 처리부
13: 인코더
14: 디코더
15: 송수신기1a, 1b, 1c: ECU
5: CAN bus
10: vehicle communication device
11: Data positioning unit
12: message processing unit
13: encoder
14: decoder
15: transceiver
Claims (14)
차량에서 발생하는 센서 값들 중 임의로 선택된 입력 값들을 수신하고, 상기 입력 값들을 기 설정된 적어도 하나의 위치 결정 함수에 대입하여 데이터 및 상기 데이터의 길이 정보의 위치 정보를 결정하는 데이터 위치 결정부, 그리고
상기 위치 정보에 기초하여 CAN 메시지 내에서 상기 데이터의 시작 위치 및 상기 길이 정보의 삽입 위치를 식별하는 메시시지 처리부를 포함하는 차량 통신 장치. A vehicle communication device comprising:
A data positioning unit that receives input values arbitrarily selected from among sensor values generated in the vehicle and determines location information of data and length information of the data by substituting the input values into at least one preset location determining function, and
and a message processing unit for identifying a start position of the data and an insertion position of the length information in a CAN message based on the position information.
상기 CAN 메시지는 고정된 길이의 데이터 페이로드를 가지며,
상기 데이터 페이로드에서 상기 데이터 및 상기 길이 정보가 삽입되는 바이트를 제외한 나머지 적어도 하나의 바이트에는 더미 데이터가 삽입되는, 차량 통신 장치. According to claim 1,
The CAN message has a data payload of a fixed length,
In the data payload, dummy data is inserted into at least one byte other than a byte into which the data and the length information are inserted.
상기 CAN 메시지의 데이터 길이 코드(DLC: Data Length Code)에는 상기 데이터 페이로드의 고정된 길이에 대응하는 고정된 값이 삽입되는, 차량 통신 장치. 3. The method of claim 2,
and a fixed value corresponding to the fixed length of the data payload is inserted into a data length code (DLC) of the CAN message.
상기 입력 값들 및 상기 위치 결정 함수는 다른 전자 제어 장치들과 공유되는, 차량 통신 장치. According to claim 1,
and the input values and the positioning function are shared with other electronic control devices.
상기 입력 값들은 소정 시간 마다 변동되는, 차량 통신 장치. 4. The method of claim 3,
and the input values vary every predetermined time.
송수신기를 더 포함하며,
상기 메시지 처리부는, 상기 데이터의 시작 위치 및 상기 길이 정보의 삽입 위치에 기초하여 상기 CAN 메시지 내에 송신 데이터 및 상기 송신 데이터의 길이 정보를 삽입함으로써 상기 CAN 메시지를 생성하고,
상기 메시지 처리부에 의해 생성된 상기 CAN 메시지는, 상기 송수신기에 의해 CAN 버스로 브로드캐스팅되는, 차량 통신 장치. According to claim 1,
further comprising a transceiver,
The message processing unit generates the CAN message by inserting transmission data and length information of the transmission data into the CAN message based on a start position of the data and an insertion position of the length information,
The CAN message generated by the message processing unit is broadcast to a CAN bus by the transceiver.
상기 송수신기는 상기 CAN 버스를 통해 다른 전자 제어 장치로부터 송신된 CAN 메시지를 수신하고,
상기 메시지 처리부는, 상기 데이터의 시작 위치 및 상기 길이 정보의 삽입 위치에 기초하여, 상기 CAN 버스를 통해 수신한 CAN 메시지에서 수신 데이터 및 상기 수신 데이터의 길이 정보를 추출하는, 차량 통신 장치. 7. The method of claim 6,
The transceiver receives a CAN message transmitted from another electronic control device through the CAN bus,
The message processing unit may be configured to extract received data and length information of the received data from the CAN message received through the CAN bus, based on a start position of the data and an insertion position of the length information.
차량에서 발생하는 센서 값들 중 임의로 선택된 입력 값들을 수신하는 단계,
상기 입력 값들을 기 설정된 적어도 하나의 위치 결정 함수에 대입하여 데이터 및 상기 데이터의 길이 정보의 위치 정보를 결정하는 단계, 그리고
상기 위치 정보에 기초하여, 다른 전자 제어 장치와 송수신되는 CAN 메시지 내에서 상기 데이터의 시작 위치 및 상기 길이 정보의 삽입 위치를 식별하는 단계를 포함하는 차량 통신 방법. A vehicle communication method for an electronic control device in a vehicle, comprising:
receiving input values arbitrarily selected from among sensor values generated in the vehicle;
determining position information of data and length information of the data by substituting the input values into at least one preset position determining function, and
and identifying a start position of the data and an insertion position of the length information in a CAN message transmitted and received with another electronic control device based on the position information.
상기 CAN 메시지는 고정된 길이의 데이터 페이로드를 가지며,
상기 데이터 페이로드에서 상기 데이터 및 상기 길이 정보가 삽입되는 바이트를 제외한 나머지 적어도 하나의 바이트에는 더미 데이터가 삽입되는, 차량 통신 방법. 9. The method of claim 8,
The CAN message has a data payload of a fixed length,
In the data payload, dummy data is inserted into at least one byte other than a byte into which the data and the length information are inserted.
상기 CAN 메시지의 데이터 길이 코드(DLC: Data Length Code)에는 상기 데이터 페이로드의 고정된 길이에 대응하는 고정된 값이 삽입되는, 차량 통신 방법. 10. The method of claim 9,
and a fixed value corresponding to the fixed length of the data payload is inserted into a data length code (DLC) of the CAN message.
상기 입력 값들 및 상기 위치 결정 함수는 다른 전자 제어 장치들과 공유되는, 차량 통신 방법. 9. The method of claim 8,
and the input values and the positioning function are shared with other electronic control devices.
상기 입력 값들은 소정 시간 마다 변동되는, 차량 통신 방법. 12. The method of claim 11,
The input values are changed every predetermined time, the vehicle communication method.
상기 데이터의 시작 위치 및 상기 길이 정보의 삽입 위치에 기초하여 상기 CAN 메시지 내에 송신 데이터 및 상기 송신 데이터의 길이 정보를 삽입함으로써 상기 CAN 메시지를 생성하는 단계, 그리고
생성된 상기 CAN 메시지를 CAN 버스로 브로드캐스팅하는 단계를 더 포함하는 차량 통신 방법. 9. The method of claim 8,
generating the CAN message by inserting transmission data and length information of the transmission data into the CAN message based on the start position of the data and the insertion position of the length information, and
The vehicle communication method further comprising the step of broadcasting the generated CAN message to a CAN bus.
상기 CAN 버스를 통해 다른 전자 제어 장치로부터 송신된 CAN 메시지를 수신하는 단계, 그리고
상기 데이터의 시작 위치 및 상기 길이 정보의 삽입 위치에 기초하여, 상기 CAN 버스를 통해 수신한 CAN 메시지에서 수신 데이터 및 상기 수신 데이터의 길이 정보를 추출하는 단계를 더 포함하는 차량 통신 방법. 14. The method of claim 13,
receiving a CAN message sent from another electronic control device via the CAN bus; and
and extracting received data and length information of the received data from the CAN message received through the CAN bus based on the start position of the data and the insertion position of the length information.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210051006A KR20220144550A (en) | 2021-04-20 | 2021-04-20 | Device and method for vehicle communication |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210051006A KR20220144550A (en) | 2021-04-20 | 2021-04-20 | Device and method for vehicle communication |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20220144550A true KR20220144550A (en) | 2022-10-27 |
Family
ID=83810181
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210051006A KR20220144550A (en) | 2021-04-20 | 2021-04-20 | Device and method for vehicle communication |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20220144550A (en) |
-
2021
- 2021-04-20 KR KR1020210051006A patent/KR20220144550A/en active Search and Examination
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10764326B2 (en) | Can controller safe against can-communication-based hacking attack | |
CN109743293B (en) | Network shooting range access method, network shooting range system and computer storage medium | |
Wang et al. | Hardware module-based message authentication in intra-vehicle networks | |
US20040253969A1 (en) | Technique for discovery using a wireless network | |
CN110995555B (en) | CAN communication method, system and medium for controlling in a vehicle using displaced CAN message reference | |
US20130055044A1 (en) | Method And Apparatus For Restricting The Operation Of USB Devices | |
EP3429158A1 (en) | Secure communication method and apparatus for vehicle, vehicle multimedia system, and vehicle | |
CN109219950B (en) | Method for exchanging messages between security-relevant devices | |
CN110856170B (en) | Data transmission method and device and communication system of Internet of things | |
US20040111618A1 (en) | Software integrity test | |
Pfeiffer | Implementing scalable can security with cancrypt | |
KR20220144550A (en) | Device and method for vehicle communication | |
WO2008029206A2 (en) | Device interface | |
KR101843930B1 (en) | Device for detecting anomaly of vehicle based on sequence mining | |
Ansari et al. | IntelliCAN: Attack-resilient controller area network (CAN) for secure automobiles | |
Szijj et al. | Hacking cars in the style of Stuxnet | |
CN112770144B (en) | Video file downloading method, video file playing method, device and terminal equipment | |
US10666421B2 (en) | Method of encryption, method for decrypting, devices and programs | |
KR101633924B1 (en) | System and method for wireless communications using MAC address authentication | |
CN114650138A (en) | I2C communication method, system, equipment and medium | |
CN114244600A (en) | Method for interfering malicious program | |
US11310249B2 (en) | Systems, methods, and media for defending computing systems from attack | |
CN103955652B (en) | A kind of file encrypting method based on Andriod device authentication and device | |
CN110768808A (en) | Terminal configuration method, device, server and storage medium | |
EP3661243A1 (en) | Secure beacons |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination |