WO2023027200A1 - 통신 네트워크, 이에 연결된 노드를 식별하는 방법 및 장치 - Google Patents

통신 네트워크, 이에 연결된 노드를 식별하는 방법 및 장치 Download PDF

Info

Publication number
WO2023027200A1
WO2023027200A1 PCT/KR2021/011196 KR2021011196W WO2023027200A1 WO 2023027200 A1 WO2023027200 A1 WO 2023027200A1 KR 2021011196 W KR2021011196 W KR 2021011196W WO 2023027200 A1 WO2023027200 A1 WO 2023027200A1
Authority
WO
WIPO (PCT)
Prior art keywords
transceiver
voltage difference
bit
resistor
voltage
Prior art date
Application number
PCT/KR2021/011196
Other languages
English (en)
French (fr)
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 단국대학교 산학협력단
Publication of WO2023027200A1 publication Critical patent/WO2023027200A1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/10Current supply arrangements
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines

Definitions

  • the present invention relates to a method and apparatus for identifying a communication network and a node connected thereto, and more particularly, to a communication network including nodes outputting different voltage differences, and to identifying nodes using different voltage differences of the nodes. It relates to methods and devices.
  • ADAS advanced driving assist systems
  • ECUs electronice control units
  • ECUs mounted in automobiles output signals to perform their assigned functions, it is necessary to manage the signals output by each ECU and to identify the ECU that outputs the signals to smoothly control the vehicle. .
  • transceivers included in each of the ECUs have different unique characteristics, even when outputting the same signal (bit string), they have different signaling variations. Based on the characteristics of these transceivers, a transceiver that outputs a specific signal (ie, an ECU that outputs a specific signal) has conventionally been identified based on a signal deviation.
  • Relatively expensive equipment is separately required to discern minute differences in signal deviation, and even if expensive equipment is used, it is difficult to ensure accuracy due to noise generated during driving of a vehicle.
  • An object of one embodiment of the present invention is to provide a method and apparatus capable of discriminating minute differences in signal deviations without expensive equipment.
  • another embodiment of the present invention aims to provide a communication network for enabling the above method and apparatus to exhibit a function of discriminating minute differences in signal deviations.
  • a method for identifying nodes connected to a communication network includes checking a voltage difference between bits output from the first transceiver or the second transceiver; comparing the confirmed voltage difference with preset voltage differences; and identifying a transceiver outputting the bit from among the first transceiver and the second transceiver based on a result of the comparison, wherein the first transceiver is included in any one of the nodes, and the second transceiver is included in one of the nodes. A transceiver is included in another one of the nodes.
  • an apparatus for identifying nodes connected to a communication network comprising: a memory storing one or more programs for identifying the nodes; and a processor identifying the nodes using a program stored in the memory, wherein the processor checks a voltage difference between bits output by the first transceiver or the second transceiver, and compares the identified voltage difference in advance. The set voltage differences are compared, and based on the comparison result, a transceiver outputting the bit is identified among the first transceiver and the second transceiver, wherein the first transceiver is included in any one of the nodes, The second transceiver is provided with a device characterized in that included in the other one of the nodes.
  • 1 is a diagram for explaining the overall structure of CAN.
  • FIG. 2 is a diagram for explaining the structure of an ECU corresponding to a CAN node.
  • FIG. 3 is a diagram for explaining a CAN transceiver.
  • FIG. 4 is a diagram for explaining a data frame used for CAN.
  • FIG. 5 is a diagram for explaining a CAN mediation process.
  • FIG. 6 is a diagram for explaining a method of expressing bits in CAN.
  • FIG. 7 is a block diagram of a communication network according to one embodiment of the present invention.
  • 8A and 8B are views for explaining various embodiments of a transceiver according to an embodiment of the present invention.
  • FIG. 9 is an exemplary diagram for explaining an example of adjusting a voltage difference of a signal through a transceiver of the present invention.
  • FIG. 10 is a block diagram for explaining an example of a node identification device.
  • 11 and 12 are flowcharts for explaining various examples of a method of identifying a node.
  • a communication network proposed through this specification may be a network that performs communication using a voltage difference between wires constituting a communication bus.
  • the communication network of the present invention may be a CAN (controller area network) applied to industrial automation equipment, medical equipment, automobiles, and the like.
  • a method for identifying a node proposed in this specification is a method for identifying a node (target node) that transmits or outputs a signal to wires among a plurality of nodes connected to a communication network.
  • a device for identifying a node proposed through this specification corresponds to a device for identifying a target node connected to a communication network.
  • the node identification method may be a method implemented in this node identification device.
  • CAN is a multi-master serial bus protocol based on sender identification (ID).
  • ID sender identification
  • CAN has been established as an ISO international standard and is most often used in constructing in-vehicle communication networks.
  • CAN is a communication protocol composed of only a physical layer and a data link layer of the OSI model.
  • the physical layer is divided into High Speed CAN and Low Speed CAN according to communication speed, and in this specification, the present invention will be described based on High Speed CAN.
  • a CAN bus (CAN BUS) may be composed of two communication lines and terminating resistors connected to both ends of the two communication lines.
  • the two communication lines may be divided into CAN_H and CAN_L, and one or more electronic control units (ECUs) constituting a node may be connected to CAN_H and CAN_L, respectively.
  • ECUs electronice control units
  • ECUs connected to the CAN bus may include a microcontroller, a CAN controller, and a CAN transceiver.
  • CAN controllers can perform tasks that occur at the data link layer. Specifically, the CAN controller may determine whether the message (received message) transmitted from the CAN transceiver is valid data, and then, if the data is valid, it may be transmitted to the microcontroller. In addition, the CAN controller may transmit a message (transmission message) to be transmitted by the microcontroller to the CAN transceiver.
  • CAN transceivers may perform tasks related to the physical layer. Specifically, the CAN transceiver may convert a transmit/receive message transmitted from a CAN bus or microcontroller into an electrical signal. That is, the CAN transceiver may convert data transferred from the microcontroller into CAN communication data, and convert CAN communication data transferred from the CAN bus into data for reception by the microcontroller.
  • a CAN transceiver may represent bits on a CAN bus and may sample bits from the CAN bus.
  • expressing bits may mean transmitting bits
  • extracting bits may mean receiving bits.
  • the CAN transceiver can transmit bits to the CAN bus using the TX-driver (Driver) and switching elements, and can receive bits using the Receiver.
  • TX-driver Driver
  • Receiver bits
  • a data frame can be generated by the CAN controller and transmitted bit by bit to the CAN transceiver.
  • the CAN controller When a dominant bit (bit '0') is expressed on the CAN bus, the CAN controller inputs '0' to the TX driver of the CAN transceiver, and the TX driver outputs '1' in response. At this time, as two switches included in the CAN transceiver are turned on, V DD and V SS are output. Accordingly, as shown in FIG. 6 , a voltage of 3.5 [V] is applied to CAN_H and a voltage of 1.5 [V] is applied to CAN_L. As a result, a voltage difference of 2 [V] occurs between CAN_H and CAN_L, and the dominant bit is expressed on the CAN bus.
  • a recessive bit (bit '1') is expressed on the CAN bus
  • the CAN controller inputs '1' to the TX driver of the CAN transceiver, and the TX driver outputs 0 in response.
  • a voltage difference of 0 [V] occurs between CAN_H and CAN_L as shown in FIG. 6, and thus a recessive bit is expressed on the CAN bus.
  • CAN can perform communication using various messages such as data frame, remote frame, error frame, overload frame, and the like.
  • An example of a data frame used for CAN is shown in FIG. 4 .
  • a data frame includes a start of frame (SOF), an arbitration field, a control field, a data field, a cyclic redundancy check field (CRC field), an acknowledgment field (ACK field), and an end EOF (EOF) field. of frame) and INT (intermission) fields.
  • SOF start of frame
  • CRC cyclic redundancy check field
  • ACK acknowledgment field
  • EEF end EOF
  • SOF consists of one dominant bit, indicates the beginning of a message, and is used for node synchronization.
  • the mediation field is used to mediate collisions between messages when messages are transmitted simultaneously from two or more nodes.
  • the arbitration field is composed of an identifier (ID) having a size of 11 bits or 29 bits and a remote transmission request (RTR) field having a size of 1 bit or 3 bits.
  • ID identifier
  • RTR remote transmission request
  • the value of the RTR bit in the RTR field is used to determine whether the corresponding frame is a data frame (bit value 0) or a remote frame (bit value 1).
  • the control field includes an identifier extension (IDE) bit and a data length code (DLC) bit.
  • IDE identifier extension
  • DLC data length code
  • the data field is used to transfer information from one node to another, and may include data of 0 bytes to 8 bytes.
  • the CRC field is used to check whether there is an error in the message, and is composed of a CRC sequence generated using a bit string from the SOF to the data field and a CRC delimiter (DEL). All CAN controllers that correctly receive the message set the ACK bit value to '0' and transmit it. The node that sent the message checks whether there is an ACK bit, and if the ACK bit is not found, transmission is retried.
  • DEL CRC delimiter
  • EOF consists of 7 recessive bits and is used to signal the end of a message.
  • the INT field consists of 3 recessive bits and indicates idle time until the next arbitration process.
  • FIG. 5 An example for explaining the arbitration process of CAN is shown in FIG. 5 .
  • an arbitration process is performed, and through the arbitration process, a node with the highest priority transmits a message first.
  • the arbitration process is performed based on the wired AND configuration characteristics of CAN. For example, it is assumed that node 1 (ECU 1) and node 2 (ECU 2) want to transmit a message at the same time, node 1's ID is '10011111111' and ECU 2's ID is '11011111111'. After SOF, node 1 and node 2 transmit the ID in 1-bit unit to the CAN bus. When transmitting the second bit in the ID, node 1 outputs a recessive bit and node 2 outputs a dominant bit, so only the dominant bit output by node 2 is expressed on the CAN bus due to the wired AND configuration feature. At this time, node 2 switches to receiving mode.
  • FIG. 7 An example of a communication network (CAN) of the present invention is shown in FIG. 7, and examples of a transceiver of the present invention are shown in FIGS. 8A and 8B.
  • CAN communication network
  • CAN may include a first ECU (ECU 1), a second ECU (ECU 2), and a CAN bus (CAN_H, CAN_L, terminating resistance (120 ⁇ )).
  • CAN may be configured to further include a node identification device 700 .
  • the number of ECUs may be three or more. That is, the CAN of the present invention may include all cases in which the number of ECUs connected to the CAN bus is plural.
  • the first ECU may include a first microcontroller (Microcontroller 1), a first CAN controller (CAN Controller 1), and a first transceiver (CAN Transceiver 1).
  • the first ECU may be electrically connected to the CAN bus through the first transceiver.
  • the second ECU may include a second microcontroller (Microcontroller 2), a first CAN controller (CAN Controller 2), and a second transceiver (CAN Transceiver 2).
  • the second ECU may be electrically connected to the CAN bus through the second transceiver.
  • the first transceiver and the second transceiver may include resistors R1 and R2 and a processing unit 800 .
  • the processor 800 may express (output) bits on the CAN bus by generating a voltage difference between CAN_H and CAN_L. Also, the processing unit 800 may receive bits transmitted by other ECUs through the CAN bus. When the processing unit 800 is included in the first transceiver, it may be referred to as a first processing unit, and when the processing unit 800 is included in the second transceiver, it may be referred to as a second processing unit.
  • R1 represents a resistor included in the first transceiver
  • R2 represents a resistor included in the second transceiver.
  • Resistors R1 and R2 may distribute a portion of the power supply voltage V DD .
  • the supply voltage (V DD , first supply voltage) applied to the first transceiver may be distributed 'between CAN_H and CAN_L' and the resistor R1
  • the supply voltage (V DD , first supply voltage) applied to the second transceiver may be 2 supply voltage) can be distributed 'between CAN_H and CAN_L' and resistor R2.
  • the transceiver according to the present invention can reduce the magnitude of the voltage applied between CAN_H and CAN_L by the magnitude of the voltage divided by the resistors R1 and R2. there is.
  • the resistors R1 and R2 may be disposed between a power terminal to which a power supply voltage is applied and the processing unit 800, or disposed below the processing unit 800.
  • resistors R1 and R2 may be disposed between a power terminal to which a power supply voltage V DD is applied and the processing unit 800, that is, above the processing unit 800.
  • resistors R1 and R2 may be disposed below the processing unit 800 .
  • Resistor R1 and resistor R2 may have different resistance values. Therefore, the voltage value divided by the resistor R1 and the voltage value divided by the resistor R2 are different from each other, and as a result, the voltage value (voltage difference) applied between CAN_H and CAN_L of the first transceiver and the voltage value between CAN_H and CAN_L of the second transceiver The applied voltage value (voltage difference) also becomes different.
  • the first transceiver and the second transceiver can be distinguished from each other through the voltage difference applied between CAN_H and CAN_L. Therefore, as will be described later, the node identification device 700 can identify a transceiver outputting a signal from among the first transceiver and the second transceiver by using the voltage difference applied between CAN_H and CAN_L.
  • FIG. 9 An example of comparing the voltage difference generated between CAN_H and CAN_L by the first transceiver and the voltage difference generated between CAN_H and CAN_L by the second transceiver is shown in FIG. 9 .
  • the size of resistor R1 included in the first transceiver is smaller than the size of resistor R2 included in the second transceiver.
  • the graph of the solid line represents the voltage difference (V diff ) generated between CAN_H and CAN_L by the conventional transceiver
  • the graph of the dotted line represents the voltage difference (V diff1 ) generated between CAN_H and CAN_L by the first transceiver
  • the graph of the dashed-dotted line represents the voltage difference (V diff2 ) generated between CAN_H and CAN_L by the second transceiver.
  • V diff1 represents a relatively small value compared to V diff .
  • Part of the power supply voltage is distributed across the resistor R2, and since the value of the voltage distributed across the resistor R2 is greater than the value of the voltage distributed across the resistor R1 (R1 ⁇ R2), V diff2 is relatively smaller than V diff1 and V diff . represents a small value.
  • V diff1- represents a relatively large value compared to V diff2 . If the size of R1 is larger than that of R2, V diff1- may represent a relatively small value compared to V diff2 .
  • a voltage difference between bits (eg, dominant bits) output from each of the different transceivers becomes different. Therefore, by using different voltage differences, different transceivers can be distinguished or identified without expensive equipment, and the accuracy of discrimination or identification can be robust against noise generated during vehicle operation.
  • Embodiment 2 method and apparatus for identifying nodes
  • FIG. 10 A block diagram for explaining an example of the node identification device 700 is shown in FIG. 10 , and a flowchart for explaining various examples of a node identification method is shown in FIGS. 11 and 12 .
  • the node identification device 700 may be connected to or included in the aforementioned CAN. As shown in FIG. 10 , the node identification device 700 may include a memory 1010 and a processor 1020 .
  • One or more programs for identifying nodes may be stored in the memory 1010 . Also, voltage differences (preset voltage differences) of bits output from each of the transceivers may be previously stored in the memory 1010 .
  • the processor 1020 may execute programs stored in the memory 1010 to identify nodes as follows.
  • the processor 1020 may check a voltage difference between bits (eg, dominant bits) output from the first transceiver or the second transceiver (S1110).
  • the voltage difference may be any one of V diff1- and V diff2 described above, or a voltage difference having a different value from V diff1- and V diff2 .
  • the processor 1020 may check a voltage difference of any one of reserved bits in a message output by the first transceiver or the second transceiver (S1120).
  • an RTR bit having a size of 1 bit and a reserved bit having a size of 2 bits may exist in the RTR field, and the reserved bit is located after the ID field and the RTR bit. Therefore, when checking the voltage difference of any one of the reserved bits, it is possible to secure sufficient time for checking the voltage difference.
  • the processor 1020 may compare the checked voltage difference with preset voltage differences (S1120). In addition, the processor 1020 may identify a transceiver that outputs a bit based on the comparison result (S1130).
  • Identifying the transceiver corresponds to 'determining whether the transceiver that outputs the bit among the first transceiver and the second transceiver is one' and 'the transceiver that outputs the bit is an attacking transceiver (attack node) for attacking CAN. It may include 'determining whether or not to do it.
  • the processor 1020 compares any one of the preset voltage differences with the checked voltage difference (S1210), and any one of the preset voltage differences and the checked voltage difference correspond to each other. If yes, it is possible to determine whether the transceiver outputting the corresponding bit is one of the first transceiver and the second transceiver (S1220).
  • the case in which one of the preset voltage differences and the checked voltage difference correspond to each other may include a case in which one of the preset voltage differences and the checked voltage difference match each other or exist within a certain range.
  • the processor 1020 compares any one of the preset voltage differences with the checked voltage difference (S1210), and if any one of the preset voltage differences and the checked voltage difference do not correspond to each other (No), the corresponding bit It may be determined that the transceiver that outputs corresponds to the attacking transceiver (S1230).
  • the transceiver (ECU) that outputs the corresponding bit does not include a preset resistor or includes a resistor with a value different from the preset resistor value. It can mean that you are doing That is, the corresponding transceiver does not correspond to a transceiver that is scheduled to be connected to CAN.
  • the case in which one of the preset voltage differences and the confirmed voltage difference correspond to each other may include a case in which one of the preset voltage differences and the confirmed voltage difference do not match each other or do not exist within a certain range.
  • node identification method since it is possible to discriminate minute differences in signal deviations without expensive equipment, it is possible to accurately identify an ECU that outputs a specific signal. In addition, according to the node identification method, it is possible to accurately identify an attack ECU connected to the communication network for the purpose of attack.
  • a computer-readable recording medium includes all types of recording devices in which data that can be read by a computer system is stored. That is, the computer-readable recording medium may be a non-transitory medium such as ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage device, etc., and may also be a carrier wave (eg, It may further include a transitory medium such as transmission over the Internet) and a data transmission medium.
  • the computer-readable recording medium may be distributed in computer systems connected through a network, and computer-readable codes may be stored and executed in a distributed manner.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Small-Scale Networks (AREA)

Abstract

통신 네트워크, 이에 연결된 노드를 식별하는 방법 및 장치를 개시한다. 본 발명의 일 실시예에 의하면, 통신 버스를 구성하는 와이어들 간의 전압 차를 이용하여 통신을 수행하는 통신 네트워크로서, 상기 와이어들; 상기 와이어들에 연결되며, 제1전원 전압의 일부가 분배되는 제1저항을 포함하는 제1트랜시버(transceiver); 및 상기 와이어들에 연결되며, 제2전원 전압의 일부가 분배되는 제2저항을 포함하는 제2트랜시버를 포함하고, 상기 제1저항은, 상기 제2저항과 다른 값을 가지는 것을 특징으로 하는 통신 네트워크를 제공한다.

Description

통신 네트워크, 이에 연결된 노드를 식별하는 방법 및 장치
본 발명은 통신 네트워크와 이에 연결된 노드를 식별하는 방법 및 장치에 관한 것으로서, 더욱 상세하게는 서로 다른 전압 차를 출력하는 노드들을 포함하는 통신 네트워크, 노드들의 서로 다른 전압 차를 이용하여 노드들을 식별하는 방법 및 장치에 관한 것이다.
자동차와 ICT(information and communication technologies)의 융합은 차세대 자동차 개발의 새로운 패러다임으로 자리잡았다. 일 예로, 최근 자동차에는 운전자의 안전과 편의를 위해 다양한 유형의 ADAS(advanced driving assist system)들이 탑재되고 있다.
자동차에 탑재되는 전자/전기 시스템의 수가 증가함에 따라, 전자/전기 시스템을 구현하기 위한 전자제어장치(electronic control unit, ECU)의 수 또한 증가하고 있다.
자동차에 탑재되는 ECU들은 자신에게 할당된 기능을 수행하기 위한 신호를 출력하므로, ECU들 각각이 출력하는 신호를 관리하고 이를 통해 자동차를 원활하게 제어하기 위해 신호를 출력한 ECU를 식별할 필요가 있다.
ECU들 각각에 포함된 트랜시버들은 서로 다른 고유한 특성을 가지므로 동일한 신호(bit string)를 출력하는 경우에도 서로 다른 신호편차(signaling variation)를 가진다. 이러한 트랜시버들의 특성에 기반하여, 종래에는 신호편차를 기준으로 특정 신호를 출력한 트랜시버(즉, 특정 신호를 출력한 ECU)를 식별해 왔다.
그러나, 저가의 장비를 이용하여 신호편차를 분석하면 신호편차의 미세한 차이를 분별하지 못하게 되고, 이로 인해 오탐(특정 신호를 출력하지 않은 트랜시버를 이 특정 신호를 출력한 트랜시버로 판단)의 문제가 발생할 수 있다.
신호편차의 미세한 차이를 분별하기 위해서는 상대적으로 고가의 장비가 별도로 요구되며, 고가의 장비를 사용하더라도 자동차의 운행 중에 발생하는 노이즈로 인해 그 정확성을 담보하기 어렵다.
본 발명의 일 실시예는 고가의 장비 없이도 신호편차의 미세한 차이를 분별할 수 있는 방법 및 장치를 제공하는 것을 목적으로 한다.
또한, 본 발명의 다른 일 실시예는 위 방법 및 장치가 신호편차의 미세한 차이를 분별하는 기능을 발휘할 수 있도록 하기 위한 통신 네트워크를 제공하는 것을 목적으로 한다.
본 발명의 일 실시예에 의하면, 통신 버스를 구성하는 와이어들 간의 전압 차를 이용하여 통신을 수행하는 통신 네트워크로서, 상기 와이어들; 상기 와이어들에 연결되며, 제1전원 전압의 일부가 분배되는 제1저항을 포함하는 제1트랜시버(transceiver); 및 상기 와이어들에 연결되며, 제2전원 전압의 일부가 분배되는 제2저항을 포함하는 제2트랜시버를 포함하고, 상기 제1저항은, 상기 제2저항과 다른 값을 가지는 것을 특징으로 하는 통신 네트워크가 제공된다.
또한, 본 발명의 다른 일 실시예에 의하면, 통신 네트워크에 연결된 노드들을 식별하는 방법으로서, 상기 제1트랜시버 또는 상기 제2트랜시버가 출력하는 비트의 전압 차를 확인하는 단계; 상기 확인된 전압 차와 미리 설정된 전압 차들을 비교하는 단계; 및 상기 비교 결과에 기반하여, 상기 제1트랜시버 및 상기 제2트랜시버 중에서 상기 비트를 출력한 트랜시버를 식별하는 단계를 포함하고, 상기 제1트랜시버는 상기 노드들 중에서 어느 하나에 포함되고, 상기 제2트랜시버는 상기 노드들 중에서 다른 하나에 포함되는 것을 특징으로 하는 방법이 제공된다.
나아가, 본 발명의 또 다른 일 실시예에 의하면, 통신 네트워크에 연결된 노드들을 식별하는 장치로서, 상기 노드들을 식별하기 위한 하나 이상의 프로그램이 저장된 메모리; 및 상기 메모리에 저장된 프로그램을 이용하여 상기 노드들을 식별하는 프로세서를 포함하고, 상기 프로세서는, 상기 제1트랜시버 또는 상기 제2트랜시버가 출력하는 비트의 전압 차를 확인하고, 상기 확인된 전압 차와 미리 설정된 전압 차들을 비교하며, 상기 비교 결과에 기반하여, 상기 제1트랜시버 및 상기 제2트랜시버 중에서 상기 비트를 출력한 트랜시버를 식별하며, 상기 제1트랜시버는 상기 노드들 중에서 어느 하나에 포함되고, 상기 제2트랜시버는 상기 노드들 중에서 다른 하나에 포함되는 것을 특징으로 하는 장치가 제공된다.
본 발명의 일 실시예에 의하면, 고가의 장비 없이도 신호편차의 미세한 차이를 분별할 수 있으므로, 특정 신호를 출력한 ECU를 정확하게 식별할 수 있다.
또한, 본 발명의 다른 일 실시예에 의하면, 공격을 목적으로 통신 네트워크에 접속한 공격 ECU를 정확하게 식별할 수 있다.
본 개시에서 얻을 수 있는 효과는 이상에서 언급된 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 CAN 전반적인 구조를 설명하기 위한 도면이다.
도 2는 CAN의 노드에 해당하는 ECU의 구조를 설명하기 위한 도면이다.
도 3은 CAN 트랜시버를 설명하기 위한 도면이다.
도 4는 CAN에 이용되는 데이터 프레임을 설명하기 위한 도면이다.
도 5는 CAN의 중재 과정을 설명하기 위한 도면이다.
도 6은 CAN에서 비트를 표현하는 방법을 설명하기 위한 도면이다.
도 7은 본 발명의 일 실시예에 따른 통신 네트워크의 블록도이다.
도 8a 및 도 8b는 본 발명의 일 실시예에 따른 트랜시버의 다양한 실시예들을 설명하기 위한 도면이다.
도 9는 본 발명의 트랜시버를 통해 신호의 전압 차를 조절하는 예를 설명하기 위한 예시도이다.
도 10은 노드 식별장치의 일 예를 설명하기 위한 블록도이다.
도 11 및 도 12는 노드를 식별하는 방법의 다양한 예들을 설명하기 위한 순서도이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들이나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "...부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. 또한, 명세서 전체에서 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, "그 중간에 다른 소자를 사이에 두고"연결되어 있는 경우도 포함한다.
본 명세서를 통해 제안되는 통신 네트워크는 통신 버스를 구성하는 와이어들 간의 전압 차를 이용하여 통신을 수행하는 네트워크일 수 있다. 본 발명의 통신 네트워크는 산업용 자동화기기, 의료용 장비, 자동차 등에 적용되는 CAN(controller area network)일 수 있다.
본 명세서를 통해 제안되는 노드를 식별하는 방법(이하 '노드 식별 방법'이라 한다)은 통신 네트워크에 연결된 복수 개의 노드들 중에서 신호를 와이어들에 전송 또는 출력한 노드(대상 노드)를 식별하는 방법에 해당한다. 또한, 본 명세서를 통해 제안되는 노드를 식별하는 장치(이하 '노드 식별 장치'라 한다)는 통신 네트워크에 연결되어 대상 노드를 식별하는 장치에 해당한다. 노드 식별 방법은 이 노드 식별 장치 내에서 구현되는 방법일 수 있다.
이하에서는 CAN을 중심으로 하여 본 발명에 대해 설명하며, 그 중에서도 자동차에 적용되는 CAN을 중심으로 하여 본 발명에 대해 설명하도록 한다. 따라서, 본 명세서에서는 통신 네트워크에 관련된 용어들을 아래와 같이 CAN에 관련된 용어들로 대체하여 사용하기로 한다.
통신 버스: CAN 버스
와이어들: CAN_H(CAN high) 및 CAN_L(CAN low)
통신 네트워크: CAN
CAN이란, 송신자 ID(identification) 기반의 multi-master serial bus 프로토콜이다. CAN은 ISO 국제 표준으로 제정되었으며, In-Vehicle 통신 네트워크 구축에 가장 많이 사용되고 있다.
CAN은 OSI 모델의 물리 계층(physical layer)과 데이터 링크 계층(data link layer)으로만 구성된 통신 프로토콜이다. 물리 계층은 통신 속도에 따라 High Speed CAN과 Low Speed CAN으로 나뉘며, 본 명세서에서는 High Speed CAN을 기준으로 하여 본 발명에 대해 설명하도록 한다.
CAN의 전반적인 구조가 도 1에 나타나 있다. 도 1에 도시된 바와 같이, CAN 버스(CAN BUS)는 두 개의 통신 회선과 이 두 개의 통신 회선 양 끝에 연결된 종단 저항들로 구성될 수 있다. 두 개의 통신 회선은 CAN_H와 CAN_L로 구분될 수 있으며, 노드를 구성하는 하나 이상의 ECU(electronic control unit)들이 CAN_H 및 CAN_L 각각에 연결될 수 있다.
도 2에 나타낸 바와 같이, CAN 버스에 연결된 ECU들은 마이크로 컨트롤러(microcontroller), CAN 컨트롤러(CAN controller) 및 CAN 트랜시버(CAN transceiver)를 포함하여 구성될 수 있다.
CAN 컨트롤러는 데이터 링크 계층에서 발생하는 업무를 수행할 수 있다. 구체적으로, CAN 컨트롤러는 CAN 트랜시버로부터 전달되는 메시지(수신 메시지)에 대해 유효한 데이터인지 여부를 판별한 후, 유효한 데이터인 경우에 이를 마이크로 컨트롤러로 전달할 수 있다. 또한, CAN 컨트롤러는 마이크로 컨트롤러에서 전송하고자 하는 메시지(송신 메시지)를 CAN 트랜시버로 전달할 수 있다.
CAN 트랜시버는 물리 계층에 연관된 업무를 수행할 수 있다. 구체적으로, CAN 트랜시버는 CAN 버스 혹은 마이크로 컨트롤러로부터 전달되는 송수신 메시지를 전기적 신호로 변환할 수 있다. 즉, CAN 트랜시버는 마이크로 컨트롤러로부터 전달된 데이터를 CAN 통신용 데이터로 변환하며, CAN 버스로부터 전달된 CAN 통신용 데이터를 마이크로 컨트롤러의 수신용 데이터로 변환할 수 있다.
CAN 트랜시버에 대한 일 예가 도 3에 나타나 있다. CAN 트랜시버는 CAN 버스에 비트를 표현(representation)하고 CAN 버스로부터 비트를 추출(sampling)할 수 있다. 여기서, 비트를 표현하는 것은 비트를 송신하는 것을 의미하며, 비트를 추출하는 것은 비트를 수신하는 것을 의미할 수 있다.
CAN 트랜시버는 TX-driver(Driver)와 스위칭 소자들을 이용하여 CAN 버스에 비트를 송신하고, Receiver를 이용하여 비트를 수신할 수 있다. 마이크로 컨트롤러에서 데이터를 송신하는 경우에는 CAN 컨트롤러에서 데이터 프레임을 생성한 후 1 비트씩 CAN 트랜시버로 전달할 수 있다.
우성(dominant) 비트(비트 '0')를 CAN 버스에 표현하는 경우, CAN 컨트롤러는 CAN 트랜시버의 TX driver에 '0'을 입력하고, 이에 대응하여 TX driver는 '1'을 출력한다. 이 때, CAN 트랜시버에 포함된 두 개의 스위치가 온(on)되면서 VDD와 VSS가 출력된다. 따라서, 도 6에 표현된 바와 같이, CAN_H에는 3.5[V]의 전압이 인가되며, CAN_L에 1.5[V]의 전압이 인가된다. 결과적으로, CAN_H와 CAN_L 간에 2[V]의 전압 차가 발생하여 우성 비트가 CAN 버스에 표현된다.
열성(recessive) 비트(비트 '1')를 CAN 버스에 표현하는 경우, CAN 컨트롤러는 CAN 트랜시버의 TX driver에 '1'을 입력하고, 이에 대응하여 TX driver는 0을 출력한다. 이 때, CAN 트랜시버에 포함된 두 개의 스위치가 오프(off)되면서 도 6에 표현된 바와 같이 CAN_H와 CAN_L 간에 0[V]의 전압 차가 발생하여 열성 비트가 CAN 버스에 표현된다.
CAN은 데이터 프레임, 리모트 프레임, 에러 프레임, 오버로드 프레임 등과 같은 다양한 메시지를 이용하여 통신을 수행할 수 있다. CAN에 이용되는 데이터 프레임의 일 예가 도 4에 나타나 있다.
데이터 프레임은 SOF(start of frame), 중재 필드(arbitration field), 제어 필드(control field), 데이터 필드(data field), CRC 필드(cyclic redundancy check field), ACK 필드(acknowledge field), EOF(end of frame) 및 INT(intermission) 필드로 구성될 수 있다.
SOF는 한 개의 우성 비트로 구성되어 있으며, 메시지의 처음을 지시하고, 노드의 동기화를 위해 사용된다.
중재 필드는 둘 이상의 노드에서 메시지 전송이 동시에 발생하는 경우에 메시지 간 충돌을 조정하기 위해 사용된다. 도 4에 나타낸 바와 같이, 중재 필드는 11 비트 또는 29 비트의 크기를 갖는 ID(identifier)와 1 비트 또는 3 비트의 크기를 갖는 RTR(remote transmission request) 필드로 구성된다. RTR 필드 내 RTR 비트의 값은 해당 프레임이 데이터 프레임(비트 값 0)인지 아니면 리모트 프레임(비트 값 1)인지 여부를 결정하기 위해 사용된다.
제어 필드는 IDE(identifier extension) 비트와 DLC(data length code) 비트를 포함하여 구성된다. IDE 비트는 표준 프레임과 확장 프레임을 구분하기 위해 사용되며, DLC 비트는 데이터 필드의 바이트 수를 나타내기 위해 사용된다.
데이터 필드는 한 노드로부터 다른 노드로 정보를 전달하기 위해 사용되며, 0 바이트 크기의 데이터로부터 8 바이트 크기의 데이터를 포함할 수 있다.
CRC 필드는 메시지 상의 에러 유무를 검사하기 위해 사용되며, SOF로부터 데이터 필드까지의 비트 열을 이용하여 생성된 CRC 시퀀스(CRC sequence)와 CRC 델리미터(DEL)로 구성된다. 메시지를 정확하게 수신한 모든 CAN 컨트롤러는 ACK 비트의 값을 '0'으로 설정하여 전송한다. 메시지를 송신한 노드는 ACK 비트의 유무를 확인하고, ACK 비트가 발견되지 않을 경우 전송을 재시도한다.
EOF는 7개의 열성 비트로 구성되어 있으며, 메시지의 끝을 알리기 위해 사용된다. INT 필드는 3개의 열성 비트로 구성되며, 다음 중재 과정까지의 유휴 시간을 나타낸다.
CAN의 중재 과정을 설명하기 위한 일 예가 도 5에 나타나 있다. 복수 개의 노드들이 동시에 메시지를 전송하려는 경우에는 중재 과정이 수행되며, 중재 과정을 통해 우선순위가 가장 높은 노드가 먼저 메시지를 전송한다.
중재 과정은 CAN의 wired AND configuration 특성을 기반으로 수행된다. 예를 들어, 노드 1(ECU 1)과 노드 2(ECU 2)가 동시에 메시지를 전송하려 하며, 노드 1의 ID는 '10011111111'이고, ECU 2의 ID는 '11011111111'라 가정한다. SOF 이후에 노드 1과 노드 2는 CAN 버스에 1 비트 단위로 ID를 전송한다. ID 내 두 번째 비트를 전송할 때, 노드 1은 열성 비트를 출력하며 노드 2는 우성 비트를 출력하므로, wired AND configuration 특성에 의해 노드 2가 출력한 우성 비트만이 CAN 버스에 표현된다. 이 때, 노드 2는 수신 모드로 전환된다.
실시예 1 - CAN
본 발명의 통신 네트워크(CAN)에 대한 일 예가 도 7에 나타나 있으며, 본 발명의 트랜시버에 대한 예들이 도 8a 및 도 8b에 나타나 있다.
도 7에 나타나 있는 바와 같이, CAN은 제1ECU(ECU 1), 제2ECU(ECU 2), CAN 버스(CAN_H, CAN_L, 종단 저항(120 Ω))을 포함하여 구성될 수 있다. 실시형태에 따라, CAN은 노드 식별 장치(700)를 더 포함하여 구성될 수 있다.
도 7에는 2개의 ECU들(제1ECU 및 제2ECU)만이 표현되어 있으나, ECU들의 개수는 3개 이상일 수 있다. 즉, 본 발명의 CAN은 CAN 버스에 연결된 ECU들의 개수가 복수 개인 경우를 모두 포함할 수 있다.
제1ECU는 제1마이크로 컨트롤러(Microcontroller 1), 제1CAN 컨트롤러(CAN Controller 1) 및 제1트랜시버(CAN Transceiver 1)를 포함하여 구성될 수 있다. 제1ECU는 제1트랜시버를 통해 CAN 버스에 전기적으로 연결될 수 있다.
제2ECU는 제2마이크로 컨트롤러(Microcontroller 2), 제1CAN 컨트롤러(CAN Controller 2) 및 제2트랜시버(CAN Transceiver 2)를 포함하여 구성될 수 있다. 제2ECU는 제2트랜시버를 통해 CAN 버스에 전기적으로 연결될 수 있다.
도 8a 및 도 8b에 나타낸 바와 같이, 제1트랜시버와 제2트랜시버는 저항(R1, R2)과 처리부(800)를 포함하여 구성될 수 있다.
처리부(800)는 CAN_H 및 CAN_L 간에 전압 차를 발생시켜 CAN 버스에 비트를 표현(출력)할 수 있다. 또한, 처리부(800)는 다른 ECU가 전송한 비트를 CAN 버스를 통해 수신할 수 있다. 처리부(800)가 제1트랜시버에 포함된 경우에는 제1처리부로 지칭될 수 있으며, 처리부(800)가 제2트랜시버에 포함된 경우에는 제2처리부로 지칭될 수 있다.
저항(R1, R2) 중에서 R1은 제1트랜시버에 포함되는 저항을 나타내며, R2는 제2트랜시버에 포함되는 저항을 나타낸다. 저항(R1, R2)은 전원 전압(VDD)의 일부를 분배할 수 있다. 예를 들어, 제1트랜시버에 인가되는 전원 전압(VDD, 제1전원 전압)은 'CAN_H와 CAN_L 사이' 및 저항 R1에 분배될 수 있으며, 제2트랜시버에 인가되는 전원 전압(VDD, 제2전원 전압)은 'CAN_H와 CAN_L 사이' 및 저항 R2에 분배될 수 있다.
따라서, 저항(R1, R2)이 포함되지 않는 종래 트랜시버에 비해, 본 발명에 의한 트랜시버는 저항(R1, R2)으로 분배되는 전압의 크기만큼 CAN_H와 CAN_L 사이에 인가되는 전압의 크기가 감소할 수 있다.
저항(R1, R2)은 전원 전압이 인가되는 전원단과 처리부(800)의 사이에 배치거나, 처리부(800)의 하측에 배치될 수 있다. 예를 들어, 도 8a에 나타낸 바와 같이, 저항(R1, R2)은 전원 전압(VDD)이 인가되는 전원단과 처리부(800) 사이 즉, 처리부(800)의 상측에 배치될 수 있다. 다른 예로, 도 8b에 나타낸 바와 같이, 저항(R1, R2)은 처리부(800)의 하측에 배치될 수도 있다.
저항 R1과 저항 R2는 서로 다른 저항 값을 가질 수 있다. 따라서, 저항 R1으로 분배되는 전압 값과 저항 R2로 분배되는 전압 값은 서로 다르며, 이로 인해 제1트랜시버의 CAN_H와 CAN_L 사이에 인가되는 전압 값(전압 차)과 제2트랜시버의 CAN_H와 CAN_L 사이에 인가되는 전압 값(전압 차)도 서로 다르게 된다.
즉, CAN_H와 CAN_L 사이에 인가되는 전압 차를 통해 제1트랜시버와 제2트랜시버가 서로 구별될 수 있게 된다. 따라서, 후술되는 바와 같이, 노드 식별 장치(700)는 CAN_H와 CAN_L 사이에 인가되는 전압 차를 이용하여 제1트랜시버와 제2트랜시버 중에서 신호를 출력한 트랜시버를 식별할 수 있게 된다.
제1트랜시버에 의해 CAN_H와 CAN_L 사이에 발생하는 전압 차와 제2트랜시버에 의해 CAN_H와 CAN_L 사이에 발생하는 전압 차를 비교한 예가 도 9에 나타나 있다.
도 9의 예시에서는 제1트랜시버에 포함된 저항 R1의 크기가 제2트랜시버에 포함된 저항 R2의 크기에 비해 작은 것으로 가정하였다. 도 9에서, 실선의 그래프는 종래 트랜시버에 의해 CAN_H와 CAN_L 사이에 발생하는 전압 차(Vdiff)를 나타내며, 점선의 그래프는 제1트랜시버에 의해 CAN_H와 CAN_L 사이에 발생하는 전압 차(Vdiff1)를 나타내고, 일점 쇄선의 그래프는 제2트랜시버에 의해 CAN_H와 CAN_L 사이에 발생하는 전압 차(Vdiff2)를 나타낸다.
전원 전압의 일부가 저항 R1에 분배되므로, Vdiff1은 Vdiff에 비해 상대적으로 작은 값을 나타낸다. 전원 전압의 일부가 저항 R2에 분배되며, 저항 R2에 분배되는 전압의 값은 저항 R1에 분배되는 전압의 값에 비해 크므로(R1<R2), Vdiff2는 Vdiff1 및 Vdiff에 비해 상대적으로 작은 값을 나타낸다.
앞서 설명된 바와 같이, 도 9의 예시에서는 제1트랜시버에 포함된 저항 R1의 크기가 제2트랜시버에 포함된 저항 R2의 크기에 비해 작은 것으로 가정하였다. 따라서, Vdiff1-이 Vdiff2에 비해 상대적으로 큰 값을 나타낸다. 만약, R1의 크기가 R2의 크기에 비해 크다면, Vdiff1-이 Vdiff2에 비해 상대적으로 작은 값을 나타낼 수 있다.
이상에서 설명된 바와 같이, 본 발명의 트랜시버 구조에 의하면, 서로 다른 트랜시버들 각각이 출력하는 비트(예를 들어, 우성 비트)의 전압 차가 서로 달라지게 된다. 따라서, 서로 다른 전압 차를 이용하면, 서로 다른 트랜시버들을 고가의 장비 없이도 구별 또는 식별될 수 있게 되며, 구별 또는 식별의 정확도가 차량 운행 중에 발생하는 노이즈에 대해 강인해질 수 있다.
실시예 2 - 노드를 식별 방법 및 장치
노드 식별 장치(700)의 일 예를 설명하기 위한 블록도가 도 10에 나타나 있으며, 노드 식별 방법의 다양한 예들을 설명하기 위한 순서도가 도 11 및 도 12에 나타나 있다.
도 7에 나타낸 바와 같이, 노드 식별 장치(700)는 앞서 설명된 CAN에 연결 또는 포함될 수 있다. 도 10에 나타낸 바와 같이, 노드 식별 장치(700)는 메모리(1010) 및 프로세서(1020)를 포함하여 구성될 수 있다.
메모리(1010)에는 노드들을 식별하기 위한 하나 이상의 프로그램들이 저장될 수 있다. 또한, 메모리(1010)에는 트랜시버들 각각이 출력하는 비트의 전압 차들(미리 설정된 전압 차들)이 미리 저장될 수 있다.
프로세서(1020)는 메모리(1010)에 저장된 프로그램들을 실행시켜 아래와 같이 노드들을 식별할 수 있다.
먼저, 프로세서(1020)는 제1트랜시버 또는 제2트랜시버가 출력하는 비트(예를 들어, 우성 비트)의 전압 차를 확인할 수 있다(S1110). 여기서, 전압 차는 앞서 설명된 Vdiff1- 및 Vdiff2 중에서 어느 하나이거나, Vdiff1- 및 Vdiff2와는 다른 값을 가지는 전압 차일 수 있다.
실시 형태에 따라, 프로세서(1020)는 제1트랜시버 또는 제2트랜시버가 출력하는 메시지 내 예비 비트(reserved bit) 중에서 어느 하나의 전압 차를 확인할 수도 있다(S1120).
도 4에 나타낸 바와 같이, RTR 필드 내에는 1 비트의 크기를 갖는 RTR 비트와 2 비트의 크기를 갖는 예비 비트가 존재할 수 있으며, 이 예비 비트는 ID 필드와 RTR 비트 이후에 위치하게 된다. 따라서, 예비 비트 중에서 어느 하나의 전압 차를 확인하면, 전압 차 확인을 위한 충분한 시간을 확보할 수 있게 된다.
전압 차가 확인되면, 프로세서(1020)는 확인된 전압 차와 미리 설정된 전압 차들을 비교할 수 있다(S1120). 또한, 프로세서(1020)는 비교 결과에 기반하여, 비트를 출력한 트랜시버를 식별할 수 있다(S1130).
트랜시버를 식별한다는 것은, '제1트랜시버 및 제2트랜시버 중에서 비트를 출력한 트랜시버가 어느 것인지 여부를 결정하는 것'과 '비트를 출력한 트랜시버가 CAN을 공격하기 위한 공격 트랜시버(공격 노드)에 해당하는지 여부를 결정하는 것'을 포함할 수 있다.
예를 들어, 도 12에 예시된 바와 같이, 프로세서(1020)는 미리 설정된 전압 차들 중에서 어느 하나와 확인된 전압 차를 비교하고(S1210), 미리 설정된 전압 차들 중에서 어느 하나와 확인된 전압 차가 서로 대응되는 경우에는(Yes) 해당 비트를 출력한 트랜시버가 제1트랜시버 및 제2트랜시버 중에서 어느 것인지 여부를 결정할 수 있다(S1220).
미리 설정된 전압 차들 중에서 어느 하나와 확인된 전압 차가 서로 대응되는 경우란, 미리 설정된 전압 차들 중에서 어느 하나와 확인된 전압 차가 서로 일치하거나 일정한 범위 내에 존재하는 경우를 포함할 수 있다.
다른 예로, 프로세서(1020)는 미리 설정된 전압 차들 중에서 어느 하나와 확인된 전압 차를 비교하고(S1210), 미리 설정된 전압 차들 중에서 어느 하나와 확인된 전압 차가 서로 대응되지 않는 경우에는(No) 해당 비트를 출력한 트랜시버가 공격 트랜시버에 해당하는 것으로 결정할 수 있다(S1230).
확인된 전압 차가 미리 설정된 전압 차들 중에서 어느 하나에 대응되지 않는다는 것은, 해당 비트를 출력한 트랜시버(ECU)가 미리 설정된 저항을 포함하고 있지 않거나, 미리 설정된 저항의 값과는 다른 값을 가지는 저항을 포함하고 있음을 의미할 수 있다. 즉, 해당 트랜시버는 CAN에 연결되는 것으로 예정되어 있는 트랜시버에 해당하지 않음을 의미한다.
미리 설정된 전압 차들 중에서 어느 하나와 확인된 전압 차가 서로 대응되는 경우란, 미리 설정된 전압 차들 중에서 어느 하나와 확인된 전압 차가 서로 일치하지 않거나 일정한 범위 내에 존재하지 않는 경우를 포함할 수 있다.
이상에서 설명된 노드 식별 방법에 의하면, 고가의 장비 없이도 신호편차의 미세한 차이를 분별할 수 있으므로, 특정 신호를 출력한 ECU를 정확하게 식별할 수 있다. 또한, 노드 식별 방법에 의하면, 공격을 목적으로 통신 네트워크에 접속한 공격 ECU를 정확하게 식별할 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며, 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
한편, 도 8a, 도 8b, 도 9a, 도 9b, 도 11a 및 도 11b에 도시된 과정들은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 즉, 컴퓨터가 읽을 수 있는 기록매체는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등의 비일시적인(non-transitory) 매체일 수 있으며, 또한 캐리어 웨이브(예를 들어, 인터넷을 통한 전송) 및 데이터 전송 매체(data transmission medium)와 같은 일시적인(transitory) 매체를 더 포함할 수도 있다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수도 있다.

Claims (10)

  1. 통신 버스를 구성하는 와이어들 간의 전압 차를 이용하여 통신을 수행하는 통신 네트워크로서,
    상기 와이어들;
    상기 와이어들에 연결되며, 제1전원 전압의 일부가 분배되는 제1저항을 포함하는 제1트랜시버(transceiver); 및
    상기 와이어들에 연결되며, 제2전원 전압의 일부가 분배되는 제2저항을 포함하는 제2트랜시버를 포함하고,
    상기 제1저항은,
    상기 제2저항과 다른 값을 가지는 것을 특징으로 하는 통신 네트워크.
  2. 제1항에 있어서,
    상기 제1트랜시버는,
    상기 와이어들 간에 전압 차를 발생시켜 상기 통신 버스에 비트를 표현하는 제1처리부; 및
    상기 제1저항을 포함하고,
    상기 제1저항은,
    상기 제1전원 전압이 인가되는 전원단과 상기 제1처리부의 사이 또는 상기 제1처리부의 하측에 위치하는 것을 특징으로 하는 통신 네트워크.
  3. 제1항에 있어서,
    상기 제2트랜시버는,
    상기 와이어들 간에 전압 차를 발생시켜 상기 통신 버스에 비트를 표현하는 제2처리부; 및
    상기 제2저항을 포함하고,
    상기 제2저항은,
    상기 제2전원 전압이 인가되는 전원단과 상기 제2처리부의 사이 또는 상기 제2처리부의 하측에 위치하는 것을 특징으로 하는 통신 네트워크.
  4. 제1항의 통신 네트워크에 연결된 노드들을 식별하는 방법으로서,
    상기 제1트랜시버 또는 상기 제2트랜시버가 출력하는 비트의 전압 차를 확인하는 단계;
    상기 확인된 전압 차와 미리 설정된 전압 차들을 비교하는 단계; 및
    상기 비교 결과에 기반하여, 상기 제1트랜시버 및 상기 제2트랜시버 중에서 상기 비트를 출력한 트랜시버를 식별하는 단계를 포함하고,
    상기 제1트랜시버는 상기 노드들 중에서 어느 하나에 포함되고, 상기 제2트랜시버는 상기 노드들 중에서 다른 하나에 포함되는 것을 특징으로 하는 방법.
  5. 제4항에 있어서,
    상기 확인하는 단계는,
    상기 제1트랜시버 또는 상기 제2트랜시버가 출력하는 메시지(message) 내 예비 비트(reserved bit)의 전압 차를 확인하는 것을 특징으로 하는 방법.
  6. 제4항에 있어서,
    상기 식별하는 단계는,
    상기 미리 설정된 전압 차들 중에서 상기 확인된 전압 차에 대응되는 전압 차가 없는 경우에, 상기 비트를 출력한 트랜시버를 공격 트랜시버로 식별하는 것을 특징으로 하는 방법.
  7. 제4항 내지 제6항 중 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록매체.
  8. 제1항의 통신 네트워크에 연결된 노드들을 식별하는 장치로서,
    상기 노드들을 식별하기 위한 하나 이상의 프로그램이 저장된 메모리; 및
    상기 메모리에 저장된 프로그램을 이용하여 상기 노드들을 식별하는 프로세서를 포함하고,
    상기 프로세서는,
    상기 제1트랜시버 또는 상기 제2트랜시버가 출력하는 비트의 전압 차를 확인하고,
    상기 확인된 전압 차와 미리 설정된 전압 차들을 비교하며,
    상기 비교 결과에 기반하여, 상기 제1트랜시버 및 상기 제2트랜시버 중에서 상기 비트를 출력한 트랜시버를 식별하며,
    상기 제1트랜시버는 상기 노드들 중에서 어느 하나에 포함되고, 상기 제2트랜시버는 상기 노드들 중에서 다른 하나에 포함되는 것을 특징으로 하는 장치.
  9. 제8항에 있어서,
    상기 프로세서는,
    상기 제1트랜시버 또는 상기 제2트랜시버가 출력하는 메시지(message) 내 예비 비트(reserved bit)의 전압 차를 확인하는 것을 특징으로 하는 장치.
  10. 제8항에 있어서,
    상기 프로세서는,
    상기 미리 설정된 전압 차들 중에서 상기 확인된 전압 차에 대응되는 전압 차가 없는 경우에, 상기 비트를 출력한 트랜시버를 공격 트랜시버로 식별하는 것을 특징으로 하는 장치.
PCT/KR2021/011196 2021-08-23 2021-08-23 통신 네트워크, 이에 연결된 노드를 식별하는 방법 및 장치 WO2023027200A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020210110853A KR102595722B1 (ko) 2021-08-23 2021-08-23 통신 네트워크, 이에 연결된 노드를 식별하는 방법 및 장치
KR10-2021-0110853 2021-08-23

Publications (1)

Publication Number Publication Date
WO2023027200A1 true WO2023027200A1 (ko) 2023-03-02

Family

ID=85321704

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2021/011196 WO2023027200A1 (ko) 2021-08-23 2021-08-23 통신 네트워크, 이에 연결된 노드를 식별하는 방법 및 장치

Country Status (2)

Country Link
KR (1) KR102595722B1 (ko)
WO (1) WO2023027200A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0946357A (ja) * 1995-02-24 1997-02-14 Chrysler Corp 多重ノード車両通信ネットワーク
JP2011201527A (ja) * 2010-03-04 2011-10-13 Denso Corp 車両用通信装置および車両用通信システム
KR20130077013A (ko) * 2011-12-29 2013-07-09 주식회사 포스코아이씨티 멀티레벨 인버터 제어 시스템
US20140281077A1 (en) * 2013-03-13 2014-09-18 Atieva, Inc. Dual voltage communication bus
KR101567973B1 (ko) * 2014-11-06 2015-11-11 현대오트론 주식회사 캔통신 장치 및 방법

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101596763B1 (ko) * 2015-01-13 2016-02-24 현대자동차주식회사 Can 트랜시버 회로의 제어 방법 및 장치
US10554241B2 (en) * 2017-03-08 2020-02-04 Robert Bosch Gmbh Method to mitigate transients based attacks on key agreement schemes over controller area network

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0946357A (ja) * 1995-02-24 1997-02-14 Chrysler Corp 多重ノード車両通信ネットワーク
JP2011201527A (ja) * 2010-03-04 2011-10-13 Denso Corp 車両用通信装置および車両用通信システム
KR20130077013A (ko) * 2011-12-29 2013-07-09 주식회사 포스코아이씨티 멀티레벨 인버터 제어 시스템
US20140281077A1 (en) * 2013-03-13 2014-09-18 Atieva, Inc. Dual voltage communication bus
KR101567973B1 (ko) * 2014-11-06 2015-11-11 현대오트론 주식회사 캔통신 장치 및 방법

Also Published As

Publication number Publication date
KR102595722B1 (ko) 2023-10-31
KR20230028948A (ko) 2023-03-03

Similar Documents

Publication Publication Date Title
EP3206361B1 (en) Controller area network (can) message filtering
WO2022108087A1 (ko) 차량용 can 통신 보안 장치 및 방법
KR101519793B1 (ko) 차량용 네트워크 시스템 및 이 시스템 내 이종 통신 제어기의 데이터 전송 방법
RU2712138C2 (ru) Способ, система и электронный блок управления для предотвращения спуфинга в автомобильной сети
WO2019117349A1 (ko) LoRaWAN 기반 대규모 시설물 관리를 위한 사물인터넷 네트워크 관리방법 및 이를 적용한 사물인터넷 네트워크 서버 및 단말
EP3772839B1 (en) Security module for a serial communications device
US20210044600A1 (en) Security module for a can node
US20200382597A1 (en) Vehicle diagnostic communication apparatus, system including the same and method thereof
US11637743B2 (en) Communications device and method of communications
KR101334017B1 (ko) 차량 네트워크의 메시지 무결성 체크 시스템 및 방법
WO2023027200A1 (ko) 통신 네트워크, 이에 연결된 노드를 식별하는 방법 및 장치
WO2013129752A1 (ko) 통신 장치 및 통신 방법
CN112583786B (zh) 用于警报的方法、发送器设备和接收器设备
Hafeez et al. State of the art survey on comparison of can, flexray, lin protocol and simulation of lin protocol
CN116266803A (zh) 用于控制器局域网的设备
WO2023286908A1 (ko) 비트를 변조하는 방법 및 장치와, 메시지를 표현하는 방법 및 장치
US20100229041A1 (en) Device and method for expediting feedback on changes of connection status of monitioring equipments
EP4231594A1 (en) Relay device, communication network system and communication control method
US20220329614A1 (en) Method for monitoring communication on a communication bus, electronic device for connection to a communication bus, and central monitoring device for connection to a communication bus
JP2008118349A (ja) 通信装置
KR101704300B1 (ko) Can 메시지 송수신 방법 및 이를 실행하는 시스템
WO2013129750A1 (ko) 통신 장치 및 통신 방법
JP4570753B2 (ja) エラーコード送出装置および方法
JP2781397B2 (ja) 多重伝送装置
KR102568527B1 (ko) 비트를 변조하는 방법 및 장치

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21955120

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2021955120

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2021955120

Country of ref document: EP

Effective date: 20240325