KR20220144550A - Device and method for vehicle communication - Google Patents

Device and method for vehicle communication Download PDF

Info

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
Application number
KR1020210051006A
Other languages
Korean (ko)
Inventor
쿨카르니 애쉰
Original Assignee
현대자동차주식회사
기아 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 현대자동차주식회사, 기아 주식회사 filed Critical 현대자동차주식회사
Priority to KR1020210051006A priority Critical patent/KR20220144550A/en
Publication of KR20220144550A publication Critical patent/KR20220144550A/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40071Packet processing; Packet format
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40104Security; Encryption; Content protection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40215Controller Area Network CAN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40267Bus for use in transportation systems
    • H04L2012/40273Bus for use in transportation systems the transportation system being a vehicle

Abstract

The present invention relates to a vehicle communication device and a method thereof. The vehicle communication device comprises: a data position determining unit for receiving input values randomly selected among sensor values generated in a vehicle and substituting the input values for at least one preset position determining function to determine data and position information of length information of the data; 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.

Description

차량 통신 장치 및 그 방법{DEVICE AND METHOD FOR VEHICLE COMMUNICATION}Vehicle communication device and method thereof

본 개시는 차량 통신 장치 및 그 방법에 관한 것으로, 더욱 상세하게는 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 vehicle communication device 10 according to an embodiment includes a data location determining unit 12 , a message processing unit 13 , an encoder 13 , a decoder 14 , and a transceiver 15 . ) may be included.

데이터 위치 결정부(12)는, 차량 내에서 발생되는 각종 데이터들(예를 들어, 센서 값들) 중에서 임의로 선택된 적어도 하나의 입력 값(x1, x2, ??, xn)을 수신하고, 수신한 입력 값들을 임의의 수학 함수인 위치 결정 함수에 대입하여 CAN 메시지(또는 CAN 데이터 프레임) 내에서 의 데이터의 시작 위치, 및 해당 데이터의 길이 정보가 삽입되는 위치를 결정할 수 있다. The data positioning unit 12 receives at least one input value (x1, x2, ??, xn) arbitrarily selected from various data (eg, sensor values) generated in the vehicle, and receives the received input By substituting the values into a positioning function, which is an arbitrary mathematical function, a start position of data in a CAN message (or a CAN data frame) and a position where length information of the corresponding data is inserted can be determined.

다음의 수학식 1은 데이터 위치 결정부(12)에서 사용하는 위치 결정 함수의 일 예를 나타낸다. Equation 1 below shows an example of a positioning function used by the data positioning unit 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) MOD 8

수학식 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 Equation 1 is used, four input values (x1 to x4) may be input to the data positioning unit 12 . For example, when each input value has a value of x1=5, x2=8, x3=12, x4=2, the location information F(x1, x2, x3, x4) derived through the above number 1 is 5 can have a value of When the position information thus determined is position information corresponding to the start position of data in the CAN message, the data is the 5th byte among bytes constituting the data payload (or data field) of the CAN message can be located from Meanwhile, Equation 1 above is an example of a positioning function, and the positioning function may be variously modified in the number of input values, complexity of the function, and the like.

데이터와, 이 데이터의 길이 정보는 서로 다른 위치에 삽입되어야 하므로, 데이터 위치 결정부(12)는 서로 다른 두 개의 위치 결정 함수를 사용하여 데이터의 시작 위치와, 이 데이터의 길이 정보가 삽입되는 위치를 서로 독립적으로 결정할 수도 있다. Since the data and the length information of the data must be inserted at different positions, the data positioning unit 12 uses two different positioning functions to determine the start position of the data and the position where the length information of this data is inserted. may be determined independently of each other.

이 실시 예에서, 위치 결정을 위해 데이터 위치 결정부(12)로 입력되는 입력 값들은, 소정 시간 마다 입력되는 값들의 종류 또는 값이 변동될 수 있다. 따라서, 소정 시간이 경과하면 CAN 메시지에 데이터 및 이의 길이 정보가 삽입되는 위치가 동적으로 변경되어, CAN 메시지의 해킹에 대한 방어력을 높일 수 있다. In this embodiment, the types or values of the input values input to the data positioning unit 12 for positioning may be changed every predetermined time. Accordingly, when a predetermined time has elapsed, the position at which data and length information thereof are inserted into the CAN message is dynamically changed, so that it is possible to increase the defense against hacking of the CAN message.

또한, 이 실시 예에서, 위치 결정을 위해 데이터 위치 결정부(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 data positioning unit 12 for positioning and the positioning functions for determining the start position of data and the insertion position of the data length information based on this are the vehicle communication device ( 10) and all other electronic control units (ECUs) connected via the CAN bus 5 may be shared. That is, the same input values for positioning may be input to all ECUs connected to the vehicle communication device 10 and the CAN bus 5 through the CAN bus 5 . In addition, all ECUs connected via the vehicle communication device 10 and the CAN bus 5 use the same positioning function as the vehicle communication device 10, and the start position of data and length information of the data are inserted from the input values. position can be obtained. In this way, all ECUs communicating with the vehicle communication device 10 share the same input values and the same positioning function, so that the vehicle communication device 10 and other ECUs transmit and receive data transmitted and received through the CAN bus 5 and the length thereof. You can share location information for your information.

메시지 처리부(13)는 데이터 위치 결정부(12)로부터 CAN 메시지 내에서의 데이터의 시작 위치 및 데이터 길이 정보의 삽입 위치를 지시하는 위치 정보들(P, K)을 수신하고, 이를 토대로 송수신 되는 CAN 메시지 내에서 데이터의 시작 위치 및 데이터 길이 정보의 삽입 위치를 식별할 수 있다. The message processing unit 13 receives the position information (P, K) indicating the start position of data and the insertion position of the data length information in the CAN message from the data position determining unit 12, and based on this, the CAN transmitted and received It is possible to identify the start position of data and the insertion position of data length information in the message.

차량 통신 장치(10)에서 다른 ECU로 CAN 메시지를 송신하고자 하는 경우, 메시지 처리부(13)는 데이터 위치 결정부(12)로부터 수신한 위치 정보들(P, K)에 기초하여, 송신할 데이터 및 이의 길이 정보를 CAN 메시지의 데이터 페이로드 내에 할당(또는 삽입)할 수 있다. When a CAN message is to be transmitted from the vehicle communication device 10 to another ECU, the message processing unit 13 receives data to be transmitted and Its length information may be allocated (or inserted) in the data payload of the CAN message.

차량 통신 장치(10)가 다른 ECU로부터 CAN 메시지를 수신한 경우, 메시지 처리부(13)는 데이터 위치 결정부(12)로부터 수신한 데이터 길이 정보의 위치 정보(P)에 기초하여, 수신된 CAN 메시지의 데이터 페이로드로부터 수신 데이터의 실제 길이 정보를 획득할 수 있다. 또한, 메시지 처리부(13)는 이렇게 획득한 길이 정보와, 데이터 위치 결정부(12)로부터 수신한 데이터의 시작 위치 정보(K)에 기초하여 CAN 메시지의 데이터 페이로드로부터 실제 수신 데이터만을 추출할 수 있다. When the vehicle communication device 10 receives a CAN message from another ECU, the message processing unit 13 receives the received CAN message based on the position information P of the data length information received from the data position determining unit 12 . It is possible to obtain information on the actual length of the received data from the data payload of . In addition, the message processing unit 13 may extract only the actual received data from the data payload of the CAN message based on the thus obtained length information and the start position information (K) of the data received from the data position determining unit 12. have.

이 실시 예에서, 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 message processing unit 13 randomizes the bytes other than the bytes into which the actual transmission data and length information thereof are inserted in the data payload of the CAN message when the CAN message is transmitted. You can insert dummy data created with . In addition, when the CAN message is received, bytes other than the actual received data and the byte into which the length information is inserted among bytes constituting the data payload of the CAN message may be determined as dummy data.

도 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 vehicle communication device 10 of FIG. 1 , illustrating a CAN message for transmitting 2-byte RPM data as an example. The frame configuration of the CAN message shown in FIG. 2 is an example for description, and embodiments of the present invention are not limited thereto. For example, the CAN message may further include an additional field such as a Cyclic Redundancy Check (CRC) field.

도 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 CAN message 20 , the data payload in the CAN message 20 has a fixed length of 8 bytes, , corresponding to the DLC field 24 may also have a value indicating 8 bytes.

또한, 데이터 페이로드를 구성하는 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 (Byte 5, Byte 6) allocated to the actual data 22 and bytes (Byte 3) allocated to the length information 21 of the corresponding data Randomly generated dummy data 23 may be inserted into the remaining bytes except for Byte 1, Byte 2, Byte 4, Byte 7, and Byte 8.

이와 같이, 실시 예에 따른 CAN 메시지(20)는, 실제 데이터의 길이와 상관없이 고정된 길이의 데이터 페이로드를 가지고, 데이터 페이로드에서 실제 데이터 및 이의 길이 정보의 전송에 사용되지 않는 바이트들에는 더미 데이터를 삽입하여 구성될 수 있다. 이에 따라, 해커에게 CAN 메시지(20)가 노출되더라도, CAN 메시지(20)를 통해 전달되는 데이터가 8 바이트의 길이를 가지는 것으로 오인식함으로써, 해커가 CAN 메시지에서 실제 데이터를 취득하는데 어려움을 겪을 수 있다. 또한, 데이터 페이로드 내에 실제 송수신 데이터와 더미 데이터가 랜덤하게 혼합되어 있어, CAN 메시지가 해커에게 노출되더라도 디코딩에 어려움을 겪을 수 있다. 또한, 해커는 데이터 페이로드 내에서 실제 데이터와 이의 길이 정보가 삽입되는 위치를 알 수 없어, 스푸핑(spoofing) 메시지를 CAN 버스에 주입하더라도, ECU들에 의해 불법 침입이 쉽게 검출될 수 있다. As such, the CAN message 20 according to the embodiment has a data payload of a fixed length irrespective of the length of the actual data, and bytes not used for transmission of actual data and length information thereof in the data payload include: It may be constructed by inserting dummy data. Accordingly, even if the CAN message 20 is exposed to the hacker, it may be difficult for the hacker to obtain actual data from the CAN message by misrecognizing that data transmitted through the CAN message 20 has a length of 8 bytes. . In addition, since actual transmission/reception data and dummy data are randomly mixed in the data payload, even if the CAN message is exposed to hackers, decoding may be difficult. In addition, since the hacker cannot know where the actual data and length information thereof are inserted in the data payload, even if a spoofing message is injected into the CAN bus, illegal intrusion can be easily detected by ECUs.

다시, 도 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 vehicle communication device 10 to another ECU, the CAN message in which the transmission data and length information thereof are inserted in the message processing unit 13 is then transmitted to the encoder 13 . It may be encoded by the encoder 13 and then broadcast to the CAN bus 5 by the transceiver 15 . In this embodiment, the vehicle communication device 10 may transmit/receive CAN messages to and from other ECUs by a broadcasting method, not an addressing method.

차량 통신 장치(10)가 다른 ECU로부터 CAN 메시지를 수신한 경우, 송수신기(15)는 다른 ECU에 의해 CAN 버스(5)로 브로드캐스팅된 CAN 메시지를 수신하고, 디코더(14)는 송수신기(15)에 의해 수신된 CAN 메시지를 디코딩한 후, 메시지 처리부(12)에 전달할 수 있다. When the vehicle communication device 10 receives a CAN message from another ECU, the transceiver 15 receives the CAN message broadcast to the CAN bus 5 by the other ECU, and the decoder 14 receives the transceiver 15 After decoding the CAN message received by , it can be transmitted to the message processing unit 12 .

전술한 구조의 차량 통신 장치(10)는 차량의 각 ECU에 포함될 수 있다. The vehicle communication device 10 having the above-described structure may be included in each ECU of the vehicle.

도 3은 도 1의 차량 통신 장치(10)를 포함하는 차량 시스템의 일 예를 도시한다. FIG. 3 shows an example of a vehicle system including the vehicle communication device 10 of FIG. 1 .

도 3을 참조하면, 전술한 차량 통신 장치(10)가 차량 시스템의 각 ECU(1a, 1b, 1c) 내에 포함되어, 각 ECU(1a, 1b, 1c)에서 다른 ECU와 CAN 버스(5)를 통해 CAN 메시지를 송수신하는 기능을 수행할 수 있다. Referring to FIG. 3 , the vehicle communication device 10 described above is included in each ECU 1a , 1b , 1c of a vehicle system, so that each ECU 1a , 1b , 1c communicates with another ECU and a CAN bus 5 . It can perform a function of transmitting and receiving CAN messages through the

도 3을 참조하면, 각 ECU(1a, 1b, 1c)의 차량 통신 장치(10)들은 CAN 메시지에서 데이터가 시작되는 위치 및 이의 길이 정보가 삽입된 위치를 서로 공유하기 위해, 서로 동일한 입력 값들(x1, x2, ??, xn)을 입력 받을 수 있다. 또한, 동일하게 입력되는 입력 값들(x1, x2, ??, xn)을 동일한 위치 결정 함수에 대입함으로써, CAN 메시지에서 데이터가 시작되는 위치 및 이의 길이 정보가 삽입된 위치를 서로 동일하게 식별할 수 있다.Referring to FIG. 3 , the vehicle communication devices 10 of each ECU 1a, 1b, and 1c use the same input values ( x1, x2, ??, xn) can be input. In addition, by substituting the same input values (x1, x2, ??, xn) to the same positioning function, the position where the data starts in the CAN message and the position where the length information thereof is inserted can be identified equally. have.

또한, 송수신 데이터의 위치 결정을 위해 각 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 vehicle communication device 10 of each ECU 1a, 1b, and 1c for positioning the transmission/reception data may be changed at predetermined time intervals, and accordingly, the CAN A position at which data and length information thereof are inserted within a message may be dynamically changed. Here, the timing of re-determining the location information using the new input values may be notified by the master ECU among the ECUs 1a, 1b, and 1c of the vehicle. In this case, the positioning of all ECUs 1a, 1b, 1c is synchronized, so that positioning can be performed using the same input values.

도 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 vehicle communication device 10 described above with reference to FIG. 1 as a CAN communication method.

도 4를 참조하면, 차량 통신 장치(10)는 차량에서 발생하는 센서 값들 중에서 위치 결정을 위해 임의로 선택된 입력 값들이 수신됨에 따라(S11), 이를 기 설정된 위치 결정 함수들에 대입함으로써 CAN 메시지 내에서 데이터 및 이의 길이 정보가 삽입되는 위치 정보를 결정할 수 있다(S12). 여기서, 위치 결정을 위해 입력되는 입력 값들과 이로부터 위치 정보를 결정하는 위치 결정 함수들은, 차량 내 모든 ECU에서 동일한 값들 및 동일한 위치 결정 함수를 공유할 수 있다. 따라서, 상기 S12 단계를 통해 결정되는 위치 정보들 또한 모든 ECU에서 공유될 수 있다. Referring to FIG. 4 , the vehicle communication device 10 receives input values arbitrarily selected for positioning among sensor values generated in the vehicle (S11), and substitutes them into preset positioning functions within the CAN message. Position information into which data and length information thereof are inserted may be determined (S12). Here, the input values input for positioning and the positioning functions for determining the position information therefrom may share the same values and the same positioning function in all ECUs in the vehicle. Accordingly, the location information determined through the step S12 may also be shared by all ECUs.

차량 통신 장치(10)는 현재 진행 중인 작업을 식별하고(S13), 현재 진행 중인 작업이 송신 작업인 경우, 상기 S12 단계를 통해 결정된 위치 정보들에 기초하여 CAN 메시지 내에 송신 데이터 및 이의 길이 정보를 배치하여 CAN 메시지를 생성할 수 있다(S14). The vehicle communication device 10 identifies the work currently in progress (S13), and if the currently in progress work is a transmission job, transmit data and its length information in the CAN message based on the location information determined through the step S12. It can be arranged to generate a CAN message (S14).

상기 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 encoder 13 and then transmitted to the CAN bus 5 through the transceiver 15, ie, broadcast (S16).

상기 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 vehicle communication device 10 may receive a CAN message broadcast from another ECU from the CAN bus 5 through the transceiver 15 ( S17 ). ). In addition, the vehicle communication device 10 decodes the CAN message received from the CAN bus 5 (S18), and then receives data and its length information from the decoded CAN message based on the location information determined through the step S12. can be extracted (S19).

전술한 실시 예에 의한 차량의 통신 방법은 소프트웨어를 통해 실행될 수 있다. 소프트웨어로 실행될 때, 본 발명의 구성 수단들은 필요한 작업을 실행하는 코드 세그먼트들이다. 프로그램 또는 코드 세그먼트들은 프로세서 판독 기능 매체에 저장되거나 전송 매체 또는 통신망에서 반송파와 결합된 컴퓨터 데이터 신호에 의하여 전송될 수 있다. 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.
제1항에 있어서,
상기 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.
제2항에 있어서,
상기 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.
제1항에 있어서,
상기 입력 값들 및 상기 위치 결정 함수는 다른 전자 제어 장치들과 공유되는, 차량 통신 장치.
According to claim 1,
and the input values and the positioning function are shared with other electronic control devices.
제3항에 있어서,
상기 입력 값들은 소정 시간 마다 변동되는, 차량 통신 장치.
4. The method of claim 3,
and the input values vary every predetermined time.
제1항에 있어서,
송수신기를 더 포함하며,
상기 메시지 처리부는, 상기 데이터의 시작 위치 및 상기 길이 정보의 삽입 위치에 기초하여 상기 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.
제6항에 있어서,
상기 송수신기는 상기 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.
제8항에 있어서,
상기 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.
제9항에 있어서,
상기 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.
제8항에 있어서,
상기 입력 값들 및 상기 위치 결정 함수는 다른 전자 제어 장치들과 공유되는, 차량 통신 방법.
9. The method of claim 8,
and the input values and the positioning function are shared with other electronic control devices.
제11항에 있어서,
상기 입력 값들은 소정 시간 마다 변동되는, 차량 통신 방법.
12. The method of claim 11,
The input values are changed every predetermined time, the vehicle communication method.
제8항에 있어서,
상기 데이터의 시작 위치 및 상기 길이 정보의 삽입 위치에 기초하여 상기 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.
제13항에 있어서,
상기 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.
KR1020210051006A 2021-04-20 2021-04-20 Device and method for vehicle communication KR20220144550A (en)

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)

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