KR101519777B1 - 차량 네트워크 내의 제어기간의 데이터 송신 방법 및 수신 방법 - Google Patents
차량 네트워크 내의 제어기간의 데이터 송신 방법 및 수신 방법 Download PDFInfo
- Publication number
- KR101519777B1 KR101519777B1 KR1020140010991A KR20140010991A KR101519777B1 KR 101519777 B1 KR101519777 B1 KR 101519777B1 KR 1020140010991 A KR1020140010991 A KR 1020140010991A KR 20140010991 A KR20140010991 A KR 20140010991A KR 101519777 B1 KR101519777 B1 KR 101519777B1
- Authority
- KR
- South Korea
- Prior art keywords
- data codes
- data
- value
- codes
- position information
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/82—Protecting input, output or interconnection devices
- G06F21/85—Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0435—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/107—Network architectures or network communication protocols for network security for controlling access to devices or network resources wherein the security policies are location-dependent, e.g. entities privileges depend on current location or allowing specific operations only from locally connected terminals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1466—Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/52—Network services specially adapted for the location of the user terminal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2107—File encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/84—Vehicles
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Small-Scale Networks (AREA)
- Selective Calling Equipment (AREA)
Abstract
본 발명의 차량 네트워크 내의 제어기 간의 데이터 송신 방법은, 차량 네트워크 내의 제어기 간의 데이터 송신 방법으로서, 식별번호를 포함한 데이터 코드가 송신되는 단계, 전송될 데이터 코드들의 길이값이 포함된 데이터 코드가 송신되는 단계; 및 전송될 데이터 코드들의 길이값만큼 데이터 코드들이 송신되는 단계가 포함되고, 데이터 코드들의 길이값만큼 데이터 코드들이 송신되는 단계에서 가장 마지막과 그 이전에 전송되는 데이터 코드에는 난수값과 전송될 데이터 코드들의 위치정보값이 포함되는 것을 특징으로 한다.
또한, 본 발명의 차량 네트워크 내의 제어기 간의 데이터 수신 방법은 제어기로부터 데이터 코드들을 수신받는 단계, 수신받은 데이터 코드들 중에서 두번째로 수신되는 데이터 코드로부터수신받은 데이터 코드들의 길이값이 추출되는 단계, 수신받은 데이터 코드들 중에서 가장 마지막에 전송되는 데이터 코드의 이전 데이터 코드로부터 수신받은 데이터 코드들의 위치정보값을 포함 추출되는 단계, 수신받은 데이터 코드 중에서 가장 마지막에 전송되는 데이터 코드로부터 난수값이 추출되는 단계, 수신받은 데이터 코드들의 수신받은 데이터 코드들의 길이값과 수신받은 데이터 코드들의 위치정보값이 산출되는 단계, 산출된 수신받은 데이터 코드들의 길이값과 수신받은 데이터 코드들의 위치정보값이 수신받은 데이터 코드로부터 추출된 데이터 코드들의 길이값과 데이터 코드들의 위치정보값과 같은지 비교되는 단계, 산출된 수신받은 데이터 코드들의 길이값과 수신받은 데이터 코드들의 위치정보값이 수신받은 데이터 코드로부터 추출된 데이터 코드들의 길이값과 데이터 코드들의 위치정보값과 동일한 경우에는 수신받은 데이터 코드로부터 추출된 데이터 코드들의 길이값과 데이터 코드들의 위치정보값을 이용하여 차량 네트워크 내의 제어기에서 인식할 수 있는 데이터 코드의 배열로 수신된 데이터 코드들이 배열되는 단계가 포함되는 것을 특징으로 한다.
또한, 본 발명의 차량 네트워크 내의 제어기 간의 데이터 수신 방법은 제어기로부터 데이터 코드들을 수신받는 단계, 수신받은 데이터 코드들 중에서 두번째로 수신되는 데이터 코드로부터수신받은 데이터 코드들의 길이값이 추출되는 단계, 수신받은 데이터 코드들 중에서 가장 마지막에 전송되는 데이터 코드의 이전 데이터 코드로부터 수신받은 데이터 코드들의 위치정보값을 포함 추출되는 단계, 수신받은 데이터 코드 중에서 가장 마지막에 전송되는 데이터 코드로부터 난수값이 추출되는 단계, 수신받은 데이터 코드들의 수신받은 데이터 코드들의 길이값과 수신받은 데이터 코드들의 위치정보값이 산출되는 단계, 산출된 수신받은 데이터 코드들의 길이값과 수신받은 데이터 코드들의 위치정보값이 수신받은 데이터 코드로부터 추출된 데이터 코드들의 길이값과 데이터 코드들의 위치정보값과 같은지 비교되는 단계, 산출된 수신받은 데이터 코드들의 길이값과 수신받은 데이터 코드들의 위치정보값이 수신받은 데이터 코드로부터 추출된 데이터 코드들의 길이값과 데이터 코드들의 위치정보값과 동일한 경우에는 수신받은 데이터 코드로부터 추출된 데이터 코드들의 길이값과 데이터 코드들의 위치정보값을 이용하여 차량 네트워크 내의 제어기에서 인식할 수 있는 데이터 코드의 배열로 수신된 데이터 코드들이 배열되는 단계가 포함되는 것을 특징으로 한다.
Description
본 발명은 네트워크 보안 방법에 관한 것으로서, 보다 상세하게는 차량 내 통신 네트워크의 보안 방법에 관한 것이다.
차량 전장품 증가로 인하여 기존의 와이어링 방식으로 신호를 주고 받는 방식은 한계에 도달하였다. 이를 해결하기 위하여 현재는 도면 8도와 같이 차량 통신 네트워크인 캔(CAN, Controller Area Network)을 사용하여 차량 내 각각의 제어기가 데이터를 송수신하는 것이 보편화 되었다.
그리고, 이러한 제어기들은 도면 9도의 캔 통신 데이터 구조를 사용하고 있다.
하지만, 기존의 캔 통신의 경우에는 통신 데이터베이스인 캔 디비(CAN DB, Controller Area Network Database)만 있으면 악의적 의도를 가지는 자가 차량 내의 캔 통신에 임의적으로 접근하여 데이터를 조작할 가능성이 있다.
그리고, 이러한 악의적인 의도를 지닌 해커는 차량의 이시유(ECU, Electrical Control Unit)의 토크 신호를 변경하여 운전자가 의도하지 않은 가속을 발생시킬 수도 있고, 주차 보조 시스템(SPAS, Smart Parking Assist System) 장착 차량의 전동식 조향 장치(MDPS, Motor Driven Power Steering)에 갑작스런 조향각 변경 요청을 하여 운전자를 위험에 빠뜨릴 수도 있다.
이러한 위험은 스마트폰과 차량과의 연동기술이 발달함에 따라, 쉽게 스마트폰 등의 기기로 차량 내 캔 네트워크에 접속이 가능해 짐으로서, 그 위험도가 점점 증가하고 있다.
따라서, 운전자 안전을 위해서 차량 통신 네트워크에 보안 솔루션이 구현되어야 할 필요성이 증가하고 있다.
이러한 보안상의 취약점을 해소하기 위한 종래 기술로는 다음과 같은 것들이 있다.
먼저, 캔 통신 라인 중간에 진단 라우터를 두어 캔 어드레스만 필터링하여 제어기에 전송함으로써 진단 통신 외 기타 통신 캔 아이디는 제어기에 접근하지 못하도록 하는 방법이 있었다.
그러나, 이러한 방법의 경우는 캔 통신의 주요 라인 또는 제어기 라인에 직접 접속한다면 데이터 변경이 가능하다는 문제점이 있었다.
또한, 각 제어기 통신 단에 암호화 모듈을 설치하여 암호화 또는 복호화를 수행하거나 통신 네트워크 상에 보안 모듈(예를 들면, 게이트웨이 등)을 설치하여 통신 데이터를 암호화하고 제어기에 대한 격리를 수행하는 방법이 있었다.
하지만, 이러한 방법들은 각 제어기마다 별도의 암호화 모듈을 설치해야 하는 점에서 원가 상승을 발생시킬 수 있는 문제점이 있었다. 또한, 별도의 보안 모듈을 사용하는 방법도 보안 모듈만 해킹하여 임의적으로 접근할 수 있는 문제점이 있었고, 또한 보안 모듈이 고장시 전체 네트워크 통신이 불가능해 질 수 있는 단점이 있었다.
본 발명은 상기와 같은 문제점을 해결하기 위해 안출된 것으로, 차량 네트워크 간의 제어기간의 데이터 코드의 송신 및 수신과정에서 데이터 코드의 길이 및 위치를 조절하여 향상된 보안성을 제공할 수 있는 데이터 코드의 송신 방법 및 수신 방법을 제공하고자 한다.
또한, 차량 내의 제어기들이 내보내는 엔진 또는 조향각 등의 통신 신호를 별도로 그룹화하여 제어기 간의 데이터 코드의 송수신 과정에서 더욱 안전하게 데이터를 송신 및 수신할 수 있는 데이터 코드의 송신 방법 및 수신 방법을 제공하고자 한다.
상기한 목적을 달성하기 위해, 본 발명에서는 차량 네트워크 내의 제어기 간의 데이터 송신 방법으로서, 식별번호를 포함한 데이터 코드가 송신되는 단계; 전송될 데이터 코드들의 길이값이 포함된 데이터 코드가 송신되는 단계; 및 상기 전송될 데이터 코드들의 길이값만큼 데이터 코드들이 송신되는 단계;가 포함되고, 상기 데이터 코드들의 길이값만큼 데이터 코드들이 송신되는 단계에서 가장 마지막과 그 이전에 전송되는 데이터 코드에는 난수값과 상기 전송될 데이터 코드들의 위치정보값이 포함되는 것을 특징으로 하는 차량 네트워크 내의 제어기 간의 데이터 송신 방법을 제공한다.
또한, 상기 데이터 코드들의 길이값은 암호화함수에 상기 난수값을 대입하여 결정하고, 상기 데이터 코드들의 위치정보값은 상기 암호화함수에 상기 난수값을 대입하여 결정하는 것을 특징으로 하는 차량 네트워크 내의 제어기 간의 데이터 송신 방법을 제공한다.
또한, 상기 난수값은 상기 데이터 코드들의 길이값과 상기 전송될 데이터 코드들의 위치정보값을 암호화함수에 대입하여 결정되는 것을 특징으로 하는 차량 네트워크 내의 제어기간의 데이터 송신 방법을 제공한다.
또한, 상기 전송될 데이터 코드들의 길이값만큼 데이터 코드들이 송신되는 단계에서, 데이터 코드들을 수신받을 제어기에서 사용될 정보를 포함한 데이터 코드들, 난수값을 포함하는 데이터 코드 및 전송되는 데이터 코드들의 위치정보값이 기록된 데이터 코드 이외의 데이터 코드에는 임의의 값이 추가되는 것을 특징으로 하는 차량 네트워크 내의 제어기 간의 데이터 송신 방법을 제공한다.
또한, 상기 식별번호는 차량의 엔진 제어에 관련된 식별번호이거나 차량의 조향과 관련된 식별번호이거나, 또는 차량의 제동과 관련된 식별번호인 것을 특징으로 하는 차량 네트워크 제어기 간의 데이터 송신 방법을 제공한다.
또한, 본 발명은 차량 네트워크 내의 제어기 간의 데이터 수신 방법으로서, 제어기로부터 데이터 코드들을 수신받는 단계; 상기 수신받은 데이터 코드들 중에서 두번째로 수신되는 데이터 코드로부터 수신받은 데이터 코드들의 길이값이 추출되는 단계; 상기 수신받은 데이터 코드들 중에서 가장 마지막에 전송되는 데이터 코드의 이전 데이터 코드로부터 상기 수신받은 데이터 코드들의 위치정보값을 포함 추출되는 단계; 상기 수신받은 데이터 코드 중에서 가장 마지막에 전송되는 데이터 코드로부터 난수값이 추출되는 단계; 상기 수신받은 데이터 코드들의 수신받은 데이터 코드들의 길이값과 수신받은 데이터 코드들의 위치정보값이 산출되는 단계; 상기 산출된 수신받은 데이터 코드들의 길이값과 수신받은 데이터 코드들의 위치정보값이 상기 수신받은 데이터 코드로부터 추출된 데이터 코드들의 길이값과 데이터 코드들의 위치정보값과 같은지 비교되는 단계; 상기 산출된 수신받은 데이터 코드들의 길이값과 수신받은 데이터 코드들의 위치정보값이 상기 수신받은 데이터 코드로부터 추출된 데이터 코드들의 길이값과 데이터 코드들의 위치정보값과 동일한 경우에는 상기 수신받은 데이터 코드로부터 추출된 데이터 코드들의 길이값과 데이터 코드들의 위치정보값을 이용하여 차량 네트워크 내의 제어기에서 인식할 수 있는 데이터 코드의 배열로 상기 수신된 데이터 코드들이 배열되는 단계;가 포함되는 것을 특징으로 하는 차량 네트워크 내의 제어기 간의 데이터 수신 방법을 제공한다.
또한, 상기 수신받은 데이터 코드들에서 수신받은 데이터 코드들의 길이값과 수신받은 데이터 코드들의 위치정보값이 산출되는 단계는 상기 난수값이 암호화 함수에 대입되어 수신받은 데이터 코드들의 길이값과 수신받은 데이터 코드들의 위치정보값이 산출되는 것을 특징으로 하는 차량 네트워크 내의 제어기 간의 데이터 수신 방법을 제공한다.
또한, 상기 수신받은 데이터 코드들에서 수신받은 데이터 코드들의 길이값과 수신받은 데이터 코드들의 위치정보값이 산출되는 단계는 상기 추출된 난수값이 암호화 역함수에 대입되어 수신받은 데이터 코드들의 길이값과 수신받은 데이터 코드들의 위치정보값이 산출되는 단계되는 것을 특징으로 하는 차량 네트워크 내의 제어기 간의 데이터 수신 방법을 제공한다.
또한, 상기 산출된 수신받은 데이터 코드들의 길이값과 수신받은 데이터 코드들의 위치정보값이 상기 수신받은 데이터 코드로부터 추출된 데이터 코드들의 길이값과 데이터 코드들의 위치정보값과 같은지 비교되는 단계에서, 상기 산출된 수신받은 데이터 코드들의 길이값과 수신받은 데이터 코드들의 위치정보값이 상기 수신받은 데이터 코드로부터 추출된 데이터 코드들의 길이값과 데이터 코드들의 위치정보값과 상이한 경우에는 수신받은 데이터 코드들이 무시되고 이후의 단계가 수행되지 않는 것을 특징으로 하는 차량 네트워크 내 제어기 간의 데이터 수신 방법을 제공한다.
또한, 상기 산출된 수신받은 데이터 코드들의 길이값과 수신받은 데이터 코드들의 위치정보값이 상기 수신받은 데이터 코드로부터 추출된 데이터 코드들의 길이값과 데이터 코드들의 위치정보값과 상이한 경우가 기설정된 일정 시간 이상 발생되는 경우에는 고장 데이터 코드가 발생되어 다른 제어기들로 송신되는 단계;가 더 포함되는 것을 특징으로 하는 차량 네트워크 내 제어기 간의 데이터 수신 방법을 제공한다.
또한, 상기 제어기들이 수신받는 데이터 코드들에서 가장 처음에 수신되는 데이터 코드에는 차량의 엔진 제어에 관련된 식별번호, 차량의 조향과 관련된 식별번호 또는 차량의 제동과 관련된 식별번호가 포함된 것을 특징으로 하는 차량 네트워크 제어기 간의 데이터 수신 방법을 제공한다.
또한, 본 발명은 제어기로부터 데이터 코드들을 수신받는 단계; 상기 수신받은 데이터 코드들 중에서 두번째로 수신되는 데이터 코드로부터 수신받은 데이터 코드들의 길이값이 추출되는 단계; 상기 수신받은 데이터 코드들 중에서 가장 마지막에 전송되는 데이터 코드의 이전 데이터 코드로부터 상기 수신받은 데이터 코드들의 위치정보값이 추출되는 단계; 상기 수신받은 데이터 코드들의 길이값을 암호화 함수에 대입함으로써 난수값이 추출되는 단계; 상기 수신받은 데이터 코드들에서 수신받은 데이터 코드들의 길이값과 수신받은 데이터 코드들의 위치정보값이 산출되는 단계; 상기 산출된 수신받은 데이터 코드들의 길이값과 수신받은 데이터 코드들의 위치정보값이 상기 수신받은 데이터 코드로부터 추출된 데이터 코드들의 길이값과 데이터 코드들의 위치정보값과 같은지 비교되는 단계; 및 상기 산출된 수신받은 데이터 코드들의 길이값과 수신받은 데이터 코드들의 위치정보값이 상기 수신받은 데이터 코드로부터 추출된 데이터 코드들의 길이값과 데이터 코드들의 위치정보값과 동일한 경우에는 상기 수신받은 데이터 코드로부터 추출된 데이터 코드들의 길이값과 데이터 코드들의 위치정보값을 이용하여 차량 네트워크 내의 제어기에서 인식할 수 있는 데이터 코드의 배열로 상기 수신된 데이터 코드들이 배열되는 단계;가 포함되는 것을 특징으로 하는 차량 네트워크 내의 제어기 간의 데이터 수신 방법을 제공한다.
또한, 상기 수신받은 데이터 코드들의 길이값을 암호화 함수에 대입함으로써 난수값이 추출되는 단계는 기설정된 일정 시간 동안 수신받은 데이터 코드들의 길이값들을 수신받은 순서대로 암호화 함수에 대입함으로써 난수값이 추출되는 것을 특징으로한 차량 네트워크 내의 제어기 간의 데이터 수신 방법을 제공한다.
이상에서 설명한 바와 같이 본 발명에 따른 차량 네트워크 내의 제어기 간의 데이터 코드의 송신 방법 및 수신 방법은 다음과 같은 효과가 있다.
첫째, 암호화함수에 난수를 대입하여 매 사이클마다 데이터 코드의 구조를 바꿀 수 있으므로, 외부 장비로 차량 네트워크 내의 제어기 간에서 사용되는 통신 데이터를 변경하는 것을 방지하여 차량 네트워크 내의 보안을 강화할 수 있는 효과가 있다.
둘째, 차량의 운행에 직접적으로 관련되어 악의적으로 조작시 운전자에게 위험을 줄 수 있는 제어기의 데이터(통신 신호)만 그룹화하고, 이들 사이의 데이터 통신에서만 데이터를 암호화하므로 제어기가 데이터의 암호를 해독하기 위하여 걸리는 부하를 최소화할 수 있는 효과가 있다. 따라서, 암호 해독으로 인한 통신 지연 등을 방지할 수 있다.
셋째, 송신 데이터 코드의 위치와 길이만을 변경함으로써, 복잡한 암호 알고리즘을 계산하기 위하여 고사양의 마이크로 콘트롤러 유니트(MCU, Micro Controller Unit)를 구비할 필요가 없어서 차량 네트워크 설계에 있어서 단가가 상승하는 것을 방지할 수 있는 효과가 있다.
넷째, 각각의 제어기들이 데이터의 송수신과정에서 암호화 및 복호화를 개별적으로 수행하므로 어느 제어기가 악의적인 사용자에게 공격을 당하더라도 전체 네트워크의 보안망이 무너지는 것을 방지할 수 있는 효과가 있다.
다섯째, 데이터 코드의 길이를 자유자재로 조절할 수 있으므로, 데이터 레이트가 가변이 자유로워서 향후 적용되는 캔 통신에도 자유롭게 적용이 가능한 효과가 있다.
도면 1도는 차량의 운행과정에서 운전자에게 위험을 줄 수 있는 제어기 내의 각종 통신 신호들을 분류한 것을 보여주는 도면이다.
도면 2도는 데이터 코드의 길이가 능동적으로 변화하는 것을 보여주는 도면이다.
도면 3도는 본 발명의 바람직한 실시예에 따른 차량 네트워크 내의 제어기 간의 데이터 코드의 송신 방법에서 데이터 코드의 위치만 변경된 예를 보여주는 도면이다.
도면 4도는 본 발명의 바람직한 실시예에 따른 차량 네트워크 내의 제어기 간의 데이터 코드의 송신 방법에서 데이터 코드의 길이과 위치가 동시에 변화하면서 송신되는 것을 보여주는 도면이다.
도면 5도는 데이터 코드를 송신하는 제어기에서 데이터 코드의 위치를 변경하는 방법의 일 예를 보여주는 도면이다.
도면 6도는 본 발명의 바람직한 실시예에 따른 차량 네트워크 내의 제어기 간의 데이터 코드의 수신 방법에서 수신된 데이터 코드가 올바른 데이터 코드인지 확인하는 방법을 보여주는 순서도이다.
도면 7도는 도면 6도의 차량 네트워크 내의 제어기 간의 데이터 코드의 수신 방법을 보다 구체화하여 보여주는 도면이다.
도면 8도는 캔 통신 네트워크를 보여주는 도면이다.
도면 9도는 캔 통신 네트워크에서 사용되는 데이터의 구조를 보여주는 도면이다.
도면 2도는 데이터 코드의 길이가 능동적으로 변화하는 것을 보여주는 도면이다.
도면 3도는 본 발명의 바람직한 실시예에 따른 차량 네트워크 내의 제어기 간의 데이터 코드의 송신 방법에서 데이터 코드의 위치만 변경된 예를 보여주는 도면이다.
도면 4도는 본 발명의 바람직한 실시예에 따른 차량 네트워크 내의 제어기 간의 데이터 코드의 송신 방법에서 데이터 코드의 길이과 위치가 동시에 변화하면서 송신되는 것을 보여주는 도면이다.
도면 5도는 데이터 코드를 송신하는 제어기에서 데이터 코드의 위치를 변경하는 방법의 일 예를 보여주는 도면이다.
도면 6도는 본 발명의 바람직한 실시예에 따른 차량 네트워크 내의 제어기 간의 데이터 코드의 수신 방법에서 수신된 데이터 코드가 올바른 데이터 코드인지 확인하는 방법을 보여주는 순서도이다.
도면 7도는 도면 6도의 차량 네트워크 내의 제어기 간의 데이터 코드의 수신 방법을 보다 구체화하여 보여주는 도면이다.
도면 8도는 캔 통신 네트워크를 보여주는 도면이다.
도면 9도는 캔 통신 네트워크에서 사용되는 데이터의 구조를 보여주는 도면이다.
이하, 첨부한 도면을 참조하여 본 발명의 실시예들에 대해 상세히 설명한다. 본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는바, 특정 실시예들은 도면에 예시하고 본문에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
도면 1도는 차량의 운행과정에서 운전자에게 위험을 줄 수 있는 제어기 내의 각종 통신 신호들을 분류한 것을 보여주는 도면이다.
본 발명은 차량 네트워크에 포함되어 있는 많은 제어기들간의 통신 신호들 중에서 차량의 운행에 직접 관련되어 이러한 값이 임의적으로 조작되는 경우 운전자를 위험에 빠뜨릴 수 있는 제어기의 통신 신호들을 별도의 그룹으로 분류하여, 이들 사이의 데이터 코드들의 송신 및 수신과정을 보호하고자 한다.
이를 위하여, 본 발명의 바람직한 실시예에 따른 차량 네트워크 내의 제어기 간의 데이터 송신 방법 및 수신 방법은 각 제어기의 통신 신호들 중 차량 거동에 위험을 줄 수 있는 신호들을 별도의 그룹으로 분류하여 데이터 코드화후 아이디를 부여할 수 있다.
일 예로, 엔진의 알피엠(RPM), 차속, 제동 요청 및 엔진 토크를 제어하는 제어기 데이터 신호들은 엔진 메니지먼트 시스템(Engine Management System)과 관련된 제어기 통신 신호들로 분류될 수 있으며, 이러한 그룹에 포함된 제어기들의 캔 통신 데이터 중 차량 거동에 위험을 줄 수 있는 데이터만 아이디로 '001h'(h는 핵사 코드를 나타냄)로 부여할 수 있으며, 엔진 토크의 변경 요청과 같은 것을 담당하는 제어기로서 티씨유(TCU, Telecommunication Control Unit)도 차량 거동에 위험을 줄 수 있는 데이터를 그룹핑하여 캔 아이디로 '002h'를 부여할 수 있다.
그러나, 반드시 이에 한정되는 것은 아니고, 차량의 엔진 제어에 관련되거나 차량의 조향과 관련된 제어기로서 차량의 운행과정에서 불법적으로 조작되면 운전자에게 심각한 영향을 줄 수 있는 제어기 통신 신호들을 그룹핑하여 특정 아이디를 부여할 수 있으며, 이를 통해 제어기에서 송신하는 전체 신호들을 암호화하는 방법에 비해 특정 신호들만 암호화할 수 있어 효율성을 증대할 수 있다.
그리고, 본 발명의 바람직한 실시예에 따른 차량 네트워크 내의 제어기 간의 데이터 송신 방법 및 수신 방법에 관련된 발명은 이렇게 그룹화된 제어기 내에서 또는 그룹과 그룹 사이에서의 데이터 코드들의 길이 및 위치 정보를 능동적으로 조절하여 데이터 코드들이 임의적으로 조작되는 것을 방지하고자 한다.
본 발명의 바람직한 실시예에 따른 차량 네트워크 내의 제어기 간의 데이터 송신 방법 및 수신 방법에서 말하는 데이터 코드란 캔 네트워크의 제어기 들간에 주고받는 각각의 캔 메시지들을 지칭하는 것으로서, 구체적으로 캔 아이디, 데이타 프레임을 각각을 나타내는 8비트(1 바이트)의 데이터 신호를 지칭하는 것일 수 있다. 그러나, 이에 한정되는 것은 아니며 각각의 의미를 부여받을 수 있는 신호라면, 8비트인지 12비트인지 한정되지 않으며 자유롭게 설계될 수 있다.
도면 2도 내지 도면 4도는 본 발명의 바람직한 실시예에 따른 차량 네트워크 내의 제어기 간의 데이터 송신 방법을 보여주는 도면이다.
도면 2도는 데이터 코드들의 길이가 능동적으로 변화하는 것을 보여주는 도면이다.
제어기 A(100)와 제어기 B(200) 사이의 데이터 송신 과정에서, 제어기 A(100)가 내보내는 데이터 코드들의 길이는 다양하게 가변 될 수 있다.
제어기 A(100)는 먼저 제어기 B(200)로 식별 코드를 포함하는 데이터 코드를 내보낼 수 있다. 그리고, 제어기 B(200)는 자신에게 해당되는 식별 코드이면 이후 데이터 코드들를 수신하고 복조하여 사용할 수 있는 데이터로 가공할 수 있다. 그러나, 자신의 식별코드와 일치하지 않으면 송신된 데이터 코드들을 무시할 수 있다. 도면 2도 상에서 제어기 B(200)이 수신되기를 원하는 데이터 코드의 식별코드는 '001'이 될 수 있다.
식별번호를 포함한 데이터 코드가 송신된 이후에는, 제어기 A(100)는 전송될 데이터 코드들의 길이값에 대한 정보를 포함한 데이터 코드를 송신할 수 있다.
여기에 포함된 길이값이 '08'이면 이후에 8개의 데이터 코드들이 송신되는 것을 의미한다. 그리고 길이값이 '06'이면 이후에 6개의 데이터 코드들이 송신되는 것을 의미한다.
그 이후에는 데이터 코드를 수신받을 제어기에서 실제로 사용할 의미 있는 값들이 기록된 데이터 코드들이 제어기 B(200)로 송신될 수 있다. 도면 2도 상에서 '00', '01', '02', '03'으로 표시된 부분은 제어기 B(200)에서 사용할 수 있는 의미있는 정보가 기록된 데이터 코드일 수 있다.
의미 있는 데이터 코드들이 전송된 이후에, 만일 제어기 A(100)에서 전송될 데이터 코드들의 길이가 실제 제어기 A(100)가 전송하고자 한 의미 있는 데이터 코드들의 값보다 더 길다면, 나머지 값들은 임의의 값들로 채워질 수 있다. 이런 임의의 값들은 제어기 B(200)에서는 사용되지 않는 값이므로 쓰레기 값으로 지칭될 수 있다.
의미 있는 데이터 코드들과 쓰레기 값들을 포함하여 데이터 코드들이 전송된 이후에 데이터 코드들의 위치가 변경된 경우 변경된 위치의 정보를 알려주는 위치정보값을 포함한 데이터 코드가 전송될 수 있다.
그리고, 마지막으로 데이터 코드들의 길이를 능동적으로 조절하는데 사용된 난수(RN)값이 전송될 수 있다. 도면 2도 상에서 데이터 코드들의 길이의 변화는 이러한 난수값을 암호화 함수에 대입하여 임의적으로 결정된 값으로 통하여 연속적으로 계속 변화할 수 있다.
도면 3도는 본 발명의 바람직한 실시예에 따른 차량 네트워크 내의 제어기 간의 데이터 송신 방법에서 데이터 코드들의 위치만 변경된 예를 보여주는 도면이다.
제어기 A(100)는 제어기 B(200)로 식별 번호를 포함한 데이터 코드를 먼저 송신할 수 있다.
그리고, 식별 번호를 포함한 데이터 코드가 송신된 이후에 데이터 코드의 길이값을 포함한 데이터 코드가 송신될 수 있다. 도면 3도 상에서는 두번째 데이터 코드에 저장된 값은 '08'로 통일되어 있는 점에서, 이후 8개의 데이터 코드들이 제어기 B(200)로 송신될 것을 확인할 수 있다.
데이터 코드들의 길이값이 포함된 데이터 코드가 송신된 이후에 제어기 A(100)는 데이터 코드들을 송신할 수 있다.
이러한 데이터 코드들에는 실제 제어기 B(200)에서 사용할 의미있는 데이터 코드의 값을 기록하고 있는 부분과 의미가 없는 임의의 값을 포함하고 있는 부분, 그리고 데이터 코드들의 위치정보값과 난수값이 송신될 수 있다.
제어기 A(100)에서 제어기 B(200)로 송신될 데이터 코드 중 실제 의미가 있는 데이터 코드, 위치정보값과 난수값이 들어간 부분 이외의 부분에는 데이터 코드의 길이값을 맞추어 주기 위하여 임의의 값이 추가될 수 있다. 그리고, 이러한 임의의 값들은 'XX'로 표시될 수 있다.
도면 4도는 본 발명의 바람직한 실시예에 따른 차량 네트워크 내의 제어기 간의 데이터 송신 방법에서 데이터 코드들의 길이과 위치가 동시에 변화하면서 송신되는 것을 보여주는 도면이다.
먼저, 제어기 A(100)로부터 제어기 B(200)로 식별번호를 포함한 데이터 코드가 송신될 수 있다. 도면 2도 및 3도와 유사하게, 이 경우 제어기 B(200)의 식별번호는 '001'이 될 수 있다.
제어기 A(100)는 식별번호를 포함한 데이터 코드를 송신한 이후에, 데이터 코드의 길이값이 포함된 데이터 코드를 송신할 수 있다. 데이터 코드의 길이값이 '08'이면 이후에 송신될 데이터 코드의 개수가 8개인 것을 나타내고, '05'이면 이후에 송신될 데이터 코드의 개수가 5개인 것을 나타낼 수 있다.
그리고, 이렇게 송신될 데이터 코드에서 제어기 B(200)가 실제로 사용할 의미있는 데이터 코드가 기록된 부분과 송신될 데이터 코드의 위치정보값과 난수값이 기록된 부분 이외에는 임의의 값이 포함되어 송신될 수 있다.
데이터 코드들의 위치정보값과 길이는 난수값을 이용하여 암호화 함수에 대입하여 임의적으로 결정될 수 있다.
본 발명의 바람직한 실시예에 따른 차량 네트워크 내의 제어기 간의 데이터 송신 방법 및 수신 방법과 관련된 발명에서는 도면 2도 내지 4도에서 살펴본 바와 같이 데이터 코드들의 길이와 위치를 난수를 이용하여 임의적으로 조절하여 이러한 송신값이 임의적으로 조작되는 것을 방지할 수 있다.
도면 2도 내지 도면 4도 상에서 데이터 코드들의 길이 및 각 의미 있는 데이터 코드들의 위치를 결정하는 방법은 난수를 이용하여 이를 암호화 함수에 대입하여 이루어질 수 있다.
일 예로, 제어기 A(100)와 제어기 B(200)간에 암호화 함수를 공용으로 사용하는 방법을 예상할 수 있다.
제어기 A(100)는 암호화 함수에 난수를 대입하여 송신할 데이터 코드들의 길이와 데이터 코드들의 위치정보값을 결정할 수 있다. 그리고 이러한 데이터 코드들의 길이값과 위치정보값은 각각 'DLC1'과 'DP1'이라는 변수에 저장될 수 있다.
그리고, 제어기 A(100)는 이러한 'DLC1'과 'DP1', 그리고 난수(RN)을 데이터 코드에 포함하여 제어기 B(200)로 송신할 수 있다.
그러면, 이러한 데이터 코드를 수신한 제어기 B(200)는 동일한 암호화 함수를 가지고 있으므로, 수신한 데이터 코드로부터 난수를 추출하여 이를 제어기 B(200)가 구비하고 있는 암호화 함수에 대입할 수 있다.
제어기 B(200)의 암호화 함수에 난수(RN)을 대입하여 추출된 데이터 코드들의 길이와 데이터 코드의 위치정보값은 각각 'DLC2'와 'DP2'로 지칭될 수 있다.
제어기 B(200)는 동일한 암호화 함수를 가지고 있으므로, 난수(RN)을 암호화 함수에 대입하여 산출한 데이터 코드들의 길이값과 데이터 코드들의 위치정보값은 제어기 A(100)로부터 수신한 데이터 코드의 길이값과 위치정보값과 동일할 것이다. 즉, 'DLC1'은 'DLC2'와 동일할 것이고, 'DP1'은 'DP2'와 동일할 것이다. 그리고, 만약 이러한 값이 동일하지 않으면 제어기 B(200)는 데이터가 조작된 것으로 인식할 수 있다.
다른 예로서, 제어기 A(100)는 암호화함수를 가지고 있고, 제어기 B(200)는 역 암호화함수를 가지고서 이를 복호화하여 데이터 코드의 이상 여부를 확인할 수도 있다.
제어기 A(100)는 전송할 데이터 코드들의 길이값(DLC1)과 위치정보값(DP1)을 정하여 이를 암호화함수에 대입하여 난수(RN)를 결정할 수 있다.
그리고, 데이터 코드들을 수신한 제어기 B(200)는 수신한 데이터 코드로부터 난수를 추출하여 이를 역 암호화함수에 대입할 수 있다. 그리고, 역 암호화 함수에 대입하여 데이터 코드들의 길이값와 위치정보값을 산출할 수 있다. 이러한 데이터 코드의 길이값은 'DLC2'로, 데이터 코드들의 위치정보값은 'DP2'로 지칭될 수 있다.
여기서, 'DLC1'과 'DLC2'가 동일하고 'DP1'과 'DP2'가 동일하며, 제어기 A(100)가 전송한 데이터 코드들은 조작되지 않은 것임을 확인할 수 있다. 그러나, 이 값들이 동일하지 않으면 제어기 A(100)가 송신한 데이터 코드들의 값은 조작된 것이거나 아니면 송신과정에서 손상된 데이터 코드들이므로 제어기 B(200)는 이렇게 수신된 데이터 코드들을 무시할 수 있다.
따라서, 제어기 A(100)가 올바르게 송신한 데이터 코드들만을 수신하여 제어기 B(200)가 동작하는 것을 보장할 수 있으므로, 차량의 엔진 토크나 조향 값이 임의로 바뀌어 차량이 제어불능한 상태로 빠지는 것을 방지할 수 있다.
도면 5도는 데이터를 송신하는 제어기에서 데이터 코드들의 위치를 변경하는 방법의 일 예를 보여주는 도면이다.
데이터 코드들의 위치를 변경하는 함수는 'CDA' 함수라고 지칭될 수 있다. 'CDA' 함수는 데이터 코드들의 위치를 변경하기 위하여 데이터 코드들의 위치정보값과 실제 제어기 A(100)에서 제어기 B(200)로 전송하고자 하는 데이터 코드들의 값을 입력받을 수 있다. 데이터 코드들의 위치정보값은 'DP'로, 제어기 A(100)가 전송하고자 하는 데이터 코드는 'ADP'로 지칭될 수 있다.
그리고, 'DP'는 앞에서 살펴본 바와 같이 난수(RN)을 암호화 함수에 대입하여 얻은 위치정보값인 'DP1' 등을 나타내는 것일 수 있다. 난수를 암호화 함수에 대입하여 나오는 위치정보값은 임의의 값들로 결정될 수 있기 때문에, 'DP'는 'DP1'들이 가리키는 값들을 총칭하는 값일 수 있다. 또한, 'ADP'는 차량 제어기 내에서 실체로 사용하는 데이터 코드의 배열 순서를 나타내는 것일 수 있고, 만약 차량 내 네트워크가 캔 네트워크로 구성된 경우에는 캔 통신에서 사용되는 데이터 코드의 배열정보를 나타내는 것일 수 있다.
'CDA'함수는 'DP'와 'ADP'값들이 입력되면, 각 'Case'구문으로 이동하여 'ADP'의 데이터 코드의 위치를 각각의 'DP'값에 따라서 위치를 변경할 수 있다.
도면 5도 상에서 일 예로, 'DP'가 1인 경우에 'ADP'로 'AA BB CC DD'로 기록된 데이터 코드는 'BB AA DD CC'로 변경된 것을 확인할 수 있다.
도면 6도는 본 발명의 바람직한 실시예에 따른 차량 네트워크 내의 제어기 간의 데이터 코드의 수신 방법에서 수신된 데이터 코드가 올바른 데이터 코드인지 확인하는 방법을 보여주는 순서도이다.
데이터 코드를 수신받은 제어기에서는 수신받은 데이터 코드의 이상이 없는지 확인하기 위하여 암호화함수에 난수를 입력하여 데이터 코드들의 길이값과 위치정보값을 산출할 수 있다.(S6-1)
그 다음으로, 데이터 코드들을 수신받은 제어기는 암호화함수에 난수를 대입하여 산출된 데이터 코드들의 길이값(DLC2)와 위치정보값(DP2)과 수신된 데이터 코드의 길이값(DLC1)과 위치정보값(DP1)과 비교하는 단계를 수행할 수 있다.(S6-2)
이 단계에서 수신된 데이터 코드에서 추출한 데이터 코드의 길이값(DLC1)과 위치정보값(DP1)과 데이터 코드로부터 추출한 난수를 암호화함수에 대입하여 산출한 길이값(DLC2)과 위치정보값(DP2)이 동일하다면 데이터 코드를 수신한 제어기는 수신된 데이터 코드의 배열을 제어기가 이해할 수 있는 데이터 코드의 배열로 조절하는 단계를 수행할 수 있다.(S6-3) 즉, 본 발명의 바람직한 실시예에 따른 차량 네트워크 내의 제어기 간의 데이터 코드의 송신 방법 및 수신 방법이 적용되는 차량의 네트워크가 캔 통신을 이용하는 네트워크라면 캔 통신에서 이해할 수 있는 데이터 코드의 배열로 조절되는 단계를 수행할 수 있다. 'RDA'함수는 이렇게 수신받은 데이터 코드로부터 추출된 데이터 코드들의 위치정보값(DP1)을 이용하여 수신받은 데이터 코드(DATA)를 제어기에서 이해할 수 있는 데이터 코드(ADP)로 변환하는데 사용되는 함수이다. 그리고, 이러한 'RDA'함수는 앞의 도면 5도에서 살펴본 'CDA'함수의 역함수일 수 있다.
그리고, 변환된 데이터 코드들은 실제 제어기에서 사용될 수 있는 물리적 값으로 변환되는 단계를 수행할 수 있다.(S6-4) 이 단계에서, 'DB'함수는 제어기가 이해할 수 있는 'ADP'값을 물리적인 값으로 변환하는 함수이며, 이렇게 산출된 'Phy.data'는 차량의 속도, 엔진의 알피엠 등을 나타내는 실제 물리적인 값일 수 있다.
그러나, 데이터 코드들을 수신받은 제어기는 암호화함수에 난수를 대입하여 산출된 데이터 코드의 길이값(DLC2)와 위치정보값(DP2)과 수신된 데이터 코드의 길이값(DLC1)과 위치정보값(DP1)이 일치하지 않는다면 데이터 코드를 수신 받은 제어기는 수신받은 데이터 코드가 임의로 조작되거나 훼손된 데이터 코드로 판단하여 데이터 수신을 금지하거나 에러 코드를 각 제어기나 그보다 상위 제어기에 알리는 작업을 수행할 수 있다.(S6-5)
도면 7도는 도면 6도의 차량 네트워크 내의 제어기 간의 데이터 수신 방법을 보다 구체화하여 보여주는 도면이다.
데이터 코드를 수신받은 제어기는 데이터 코드로부터 난수(RN), 데이터 코드의 위치정보값(DP)를 추출할 수 있다. 그리고, 추가적으로 데이터 코드의 길이값도 추출할 수 있다.(S7-1)
그리고, 추출된 난수(RN)값을 이용하여 이를 암호화함수에 대입하여 데이터 코드들의 길이값(DLC1)과 위치정보값(DP1)을 생성할 수 있다.(S7-2)
그 이후에, 이렇게 생성된 데이터 코드들의 길이값(DLC1)과 위치정보값(DP1)을 수신된 데이터 코드들의 길이값(DLC)와 위치정보값(DP)와 비교하여 동일한지 판단하는 과정을 수행할 수 있다.(S7-3)
만약, 난수를 암호화함수에 대입하여 생성한 데이터 코드들의 길이값(DLC1)과 데이터 코드들의 위치정보값(DP1)이 수신된 데이터 코드들의 길이값(DLC)와 위치정보값(DP)와 동일하다면, 수신된 데이터 코드로부터 산출된 위치정보값(DP)를 통하여 수신된 데이터 코드를 원 데이터 코드의 위치로 변환하는 과정을 수행하게 된다.(S7-4)
그러나, 일치하지 않는다면 수신 데이터 코드들을 사용하지 않도록 하는 단계를 수행할 수 있다.(S7-6) 그리고, 이 단계에서 일정 시간 동안 난수를 암호화 함수에 대입하여 생성한 데이터 코드의 길이값과 위치정보값과 수신된 데이터 코드로부터 추출한 위치정보값과 길이값이 일치하지 않는 비정상적인 데이터 코드가 연속적으로 수신되면, 데이터 코드들을 수신하는 제어기 측은 이를 악의적인 접근으로 인식하고 고장 코드를 발생시킬 수 있다. 그리고, 이러한 고장 코드는 인접 제어기나 다른 상위 제어기로 전송되어 차량 네트워크로 악의적인 접근이 이루어지고 있음을 알릴 수 있다.
그리고, 이러한 비정상적인 데이터 코드가 연속으로 들어오다가 다시 정상적인 데이터 코드가 들어오면 이를 과거 고장으로 변경하여 다시 새로운 데이터 코드를 받아들일 수 있도록 제어기를 조절하는 단계를 수행할 수 있다.(S7-7)
앞서, 수신된 데이터 코드로부터 데이터 코드의 위치정보값(DP)를 통해 원 데이터로 복원하는 단계(S7-4)의 과정은 데이터 코드들의 위치정보값을 기준으로 데이터 코드를 위치를 조절할 수 있는 기초가 되는 데이터 위치정보값 테이블(DP Table)을 통하여 이루어질 수 있다.
그리고, 이렇게 복원된 데이터를 이용하여 제어기는 데이터 코드로부터 명령받은 동작을 수행하는 단계를 거칠 수 있다.(S7-5)
이상으로 살펴본 바와 같이 본 발명의 바람직한 실시예에 따른 차량 네트워크 내의 제어기 간의 데이터 송신 방법 및 수신 방법은 차량의 운행에 직접적인 영향을 미칠 수 있는 제어기 신호들을 그룹화하여 아이디를 부여하고, 이들 아이디에 있는 데이터만 암호화함수 데이터 코드들의 길이나 위치를 조절하여 데이터 코드들의 송수신이 이루어지게 할 수 있다.
그리고, 차량의 운행에 직접적으로 관계가 없는 제어기와의 통신은 기존의 차량 네트워크에서 사용되는 데이터 코드들을 이용하여 정보를 송수신할 수 있다.
상술한 바와 같이, 본 발명의 바람직한 실시예들을 참조하여 설명하였지만 해당 기술 분야의 숙련된 당업자라면 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
100 : 제어기 A
200 : 제어기 B
200 : 제어기 B
Claims (13)
- 차량 네트워크 내의 제어기 간의 데이터 송신 방법으로서,
식별번호를 포함한 데이터 코드가 송신되는 단계;
전송될 데이터 코드들의 길이값이 포함된 데이터 코드가 송신되는 단계; 및
상기 전송될 데이터 코드들의 길이값만큼 데이터 코드들이 송신되는 단계;가 포함되고,
상기 데이터 코드들의 길이값만큼 데이터 코드들이 송신되는 단계에서 가장 마지막과 그 이전에 전송되는 데이터 코드에는 난수값과 상기 전송될 데이터 코드들의 위치정보값이 포함되는 것을 특징으로 하는 차량 네트워크 내의 제어기 간의 데이터 송신 방법.
- 제1항에 있어서,
상기 데이터 코드들의 길이값은 암호화함수에 상기 난수값을 대입하여 결정하고, 상기 데이터 코드들의 위치정보값은 상기 암호화함수에 상기 난수값을 대입하여 결정하는 것을 특징으로 하는 차량 네트워크 내의 제어기 간의 데이터 송신 방법.
- 제1항에 있어서,
상기 난수값은 상기 데이터 코드들의 길이값과 상기 전송될 데이터 코드들의 위치정보값을 암호화함수에 대입하여 결정되는 것을 특징으로 하는 차량 네트워크 내의 제어기간의 데이터 송신 방법.
- 제1항 내지 제3항 중의 어느 한 항에 있어서,
상기 전송될 데이터 코드들의 길이값만큼 데이터 코드들이 송신되는 단계에서,
데이터 코드들을 수신받을 제어기에서 사용될 정보를 포함한 데이터 코드들, 난수값을 포함하는 데이터 코드 및 전송되는 데이터 코드들의 위치정보값이 기록된 데이터 코드 이외의 데이터 코드에는 임의의 값이 추가되는 것을 특징으로 하는 차량 네트워크 내의 제어기 간의 데이터 송신 방법.
- 제1항 또는 제3항 중의 어느 한 항에 있어서,
상기 식별번호는 차량의 엔진 제어에 관련된 식별번호이거나 차량의 조향과 관련된 식별번호이거나, 또는 차량의 제동과 관련된 식별번호인 것을 특징으로 하는 차량 네트워크 제어기 간의 데이터 송신 방법.
- 차량 네트워크 내의 제어기 간의 데이터 수신 방법으로서,
제어기로부터 데이터 코드들을 수신받는 단계;
상기 수신받은 데이터 코드들 중에서 두번째로 수신되는 데이터 코드로부터수신받은 데이터 코드들의 길이값이 추출되는 단계;
상기 수신받은 데이터 코드들 중에서 가장 마지막에 전송되는 데이터 코드의 이전 데이터 코드로부터 상기 수신받은 데이터 코드들의 위치정보값이 포함 추출되는 단계;
상기 수신받은 데이터 코드 중에서 가장 마지막에 전송되는 데이터 코드로부터 난수값이 추출되는 단계;
상기 수신받은 데이터 코드들에서 수신받은 데이터 코드들의 길이값과 데이터 코드들의 위치정보값이 산출되되, 상기 난수값이 암호화 함수 또는 암호화 역함수에 대입되어 수신받은 데이터 코드들의 길이값과 수신받은 데이터 코드들의 위치정보값이 산출되는 단계;
상기 산출된 수신받은 데이터 코드들의 길이값과 수신받은 데이터 코드들의 위치정보값이 상기 수신받은 데이터 코드로부터 추출된 데이터 코드들의 길이값과 데이터 코드들의 위치정보값과 같은지 비교되는 단계;
상기 산출된 수신받은 데이터 코드들의 길이값과 수신받은 데이터 코드들의 위치정보값이 상기 수신받은 데이터 코드로부터 추출된 데이터 코드들의 길이값과 데이터 코드들의 위치정보값과 동일한 경우에는 상기 수신받은 데이터 코드로부터 추출된 데이터 코드들의 길이값과 데이터 코드들의 위치정보값을 이용하여 차량 네트워크 내의 제어기에서 인식할 수 있는 데이터 코드의 배열로 상기 수신된 데이터 코드들이 배열되는 단계;가 포함되는 것을 특징으로 하는 차량 네트워크 내의 제어기 간의 데이터 수신 방법.
- 삭제
- 삭제
- 제6항에 있어서,
상기 산출된 수신받은 데이터 코드들의 길이값과 수신받은 데이터 코드들의 위치정보값이 상기 수신받은 데이터 코드로부터 추출된 데이터 코드들의 길이값과 데이터 코드들의 위치정보값과 같은지 비교되는 단계에서,
상기 산출된 수신받은 데이터 코드들의 길이값과 수신받은 데이터 코드들의 위치정보값이 상기 수신받은 데이터 코드로부터 추출된 데이터 코드들의 길이값과 데이터 코드들의 위치정보값과 상이한 경우에는 수신받은 데이터 코드들이 무시되고 이후의 단계가 수행되지 않는 것을 특징으로 하는 차량 네트워크 내 제어기 간의 데이터 수신 방법.
- 제9항에 있어서,
상기 산출된 수신받은 데이터 코드들의 길이값과 수신받은 데이터 코드들의 위치정보값이 상기 수신받은 데이터 코드로부터 추출된 데이터 코드들의 길이값과 데이터 코드들의 위치정보값과 상이한 경우가 기설정된 일정 시간 이상 발생되는 경우에는 고장 데이터 코드가 발생되어 다른 제어기들로 송신되는 단계;가 더 포함되는 것을 특징으로 하는 차량 네트워크 내 제어기 간의 데이터 수신 방법.
- 제6항에 있어서,
상기 제어기들이 수신받는 데이터 코드들에서 가장 처음에 수신되는 데이터 코드에는 차량의 엔진 제어에 관련된 식별번호, 차량의 조향과 관련된 식별번호 또는 차량의 제동과 관련된 식별번호가 포함된 것을 특징으로 하는 차량 네트워크 제어기 간의 데이터 수신 방법.
- 차량 네트워크 내의 제어기 간의 데이터 수신 방법으로서,
제어기로부터 데이터 코드들을 수신받는 단계;
상기 수신받은 데이터 코드들 중에서 두번째로 수신되는 데이터 코드로부터 수신받은 데이터 코드들의 길이값이 추출되는 단계;
상기 수신받은 데이터 코드들 중에서 가장 마지막에 전송되는 데이터 코드의 이전 데이터 코드로부터 상기 수신받은 데이터 코드들의 위치정보값이 추출되는 단계;
상기 수신받은 데이터 코드들의 길이값을 암호화 함수에 대입함으로써 난수값이 추출되는 단계;
상기 수신받은 데이터 코드들에서 수신받은 데이터 코드들의 길이값과 데이터 코드들의 위치정보값이 산출되되, 상기 난수값이 암호화 함수 또는 암호화 역함수에 대입되어 수신받은 데이터 코드들의 길이값과 수신받은 데이터 코드들의 위치정보값이 산출되는 단계;
상기 산출된 수신받은 데이터 코드들의 길이값과 수신받은 데이터 코드들의 위치정보값이 상기 수신받은 데이터 코드로부터 추출된 데이터 코드들의 길이값과 데이터 코드들의 위치정보값과 같은지 비교되는 단계; 및
상기 산출된 수신받은 데이터 코드들의 길이값과 수신받은 데이터 코드들의 위치정보값이 상기 수신받은 데이터 코드로부터 추출된 데이터 코드들의 길이값과 데이터 코드들의 위치정보값과 동일한 경우에는 상기 수신받은 데이터 코드로부터 추출된 데이터 코드들의 길이값과 데이터 코드들의 위치정보값을 이용하여 차량 네트워크 내의 제어기에서 인식할 수 있는 데이터 코드의 배열로 상기 수신된 데이터 코드들이 배열되는 단계;가 포함되는 것을 특징으로 하는 차량 네트워크 내의 제어기 간의 데이터 수신 방법.
- 제12항에 있어서,
상기 수신받은 데이터 코드들의 길이값을 암호화 함수에 대입함으로써 난수값이 추출되는 단계는
기설정된 일정 시간 동안 수신받은 데이터 코드들의 길이값들을 수신받은 순서대로 암호화 함수에 대입함으로써 난수값이 추출되는 것을 특징으로한 차량 네트워크 내의 제어기 간의 데이터 수신 방법.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140010991A KR101519777B1 (ko) | 2014-01-29 | 2014-01-29 | 차량 네트워크 내의 제어기간의 데이터 송신 방법 및 수신 방법 |
US14/558,662 US9900388B2 (en) | 2014-01-29 | 2014-12-02 | Data transmission method and data reception method between controllers in vehicle network |
CN201410766767.5A CN104811434B (zh) | 2014-01-29 | 2014-12-11 | 车辆网络中的控制器之间的数据传输方法和数据接收方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140010991A KR101519777B1 (ko) | 2014-01-29 | 2014-01-29 | 차량 네트워크 내의 제어기간의 데이터 송신 방법 및 수신 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101519777B1 true KR101519777B1 (ko) | 2015-05-12 |
Family
ID=53394554
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020140010991A KR101519777B1 (ko) | 2014-01-29 | 2014-01-29 | 차량 네트워크 내의 제어기간의 데이터 송신 방법 및 수신 방법 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9900388B2 (ko) |
KR (1) | KR101519777B1 (ko) |
CN (1) | CN104811434B (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020065151A (ja) * | 2018-10-17 | 2020-04-23 | 日立オートモティブシステムズ株式会社 | 自動車用電子制御装置 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10728043B2 (en) | 2015-07-21 | 2020-07-28 | Entrust, Inc. | Method and apparatus for providing secure communication among constrained devices |
KR101714227B1 (ko) * | 2015-09-22 | 2017-03-08 | 현대자동차주식회사 | 차량의 데이터 통신 방법 및 이를 위한 장치 |
JP6286749B2 (ja) * | 2015-10-21 | 2018-03-07 | 本田技研工業株式会社 | 通信システム、制御装置、及び制御方法 |
KR101714525B1 (ko) * | 2015-11-27 | 2017-03-22 | 현대자동차주식회사 | 차량 해킹 방지 방법 및 그를 위한 장치 및 시스템 |
JP6956624B2 (ja) * | 2017-03-13 | 2021-11-02 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | 情報処理方法、情報処理システム、及びプログラム |
US11539782B2 (en) * | 2018-10-02 | 2022-12-27 | Hyundai Motor Company | Controlling can communication in a vehicle using shifting can message reference |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100387141B1 (ko) * | 1995-11-21 | 2003-08-19 | 가부시키가이샤 도카이리카덴키세이사쿠쇼 | 송수신 시스템 |
Family Cites Families (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69633165T2 (de) * | 1995-11-16 | 2005-08-11 | Kabushiki Kaisha Tokai-Rika-Denki-Seisakusho, Niwa | Sende- und Empfangssystem |
JP3539349B2 (ja) * | 2000-05-11 | 2004-07-07 | 日産自動車株式会社 | 通信装置 |
US20050203673A1 (en) * | 2000-08-18 | 2005-09-15 | Hassanayn Machlab El-Hajj | Wireless communication framework |
DE10043499A1 (de) * | 2000-09-01 | 2002-03-14 | Bosch Gmbh Robert | Verfahren zur Datenübertragung |
JP3661946B2 (ja) * | 2002-09-04 | 2005-06-22 | 三菱電機株式会社 | コントローラエリアネットワーク通信装置 |
KR101135101B1 (ko) * | 2005-10-17 | 2012-04-16 | 엘지전자 주식회사 | 캔에서의 데이터 길이 코드를 이용한 데이터 필드 패딩방법 |
WO2008097202A1 (en) * | 2007-02-09 | 2008-08-14 | Agency For Science, Technology And Research | A method and system for tamper proofing a system of interconnected electronic devices |
DE102008018001A1 (de) * | 2008-04-09 | 2009-10-22 | Siemens Aktiengesellschaft | Verfahren und Vorrichtung zur Übertragung von Nachrichten in Echtzeit |
CN101547098B (zh) * | 2009-04-30 | 2010-11-10 | 太原理工大学 | 公共网络数据传输安全认证方法及系统 |
JP5316217B2 (ja) * | 2009-05-19 | 2013-10-16 | ソニー株式会社 | データ送信方法および装置、データ通信方法および装置 |
DE102010033229A1 (de) * | 2010-08-03 | 2012-02-09 | Siemens Aktiengesellschaft | Verfahren und System zur manipulationssicheren Übertragung von Steuerdaten |
KR101055843B1 (ko) * | 2010-08-09 | 2011-08-09 | 한국전력공사 | 전력 네트워크에서 트랜잭션 암호화 및 복호화 방법과 그 시스템 |
KR20120034338A (ko) * | 2010-10-01 | 2012-04-12 | 삼성전자주식회사 | 무선 액세스 포인트의 보안 운용 방법 및 시스템 |
DE102010042539B4 (de) * | 2010-10-15 | 2013-03-14 | Infineon Technologies Ag | Datensender mit einer sicheren, aber effizienten Signatur |
JP5367917B2 (ja) * | 2011-01-25 | 2013-12-11 | 三洋電機株式会社 | 車載器 |
WO2012105352A1 (ja) * | 2011-01-31 | 2012-08-09 | 日本電気株式会社 | ブロック暗号化装置、復号装置、暗号化方法、復号方法およびプログラム |
JP2012158254A (ja) * | 2011-02-01 | 2012-08-23 | Alps Electric Co Ltd | 位置検出装置 |
JP5671388B2 (ja) * | 2011-03-24 | 2015-02-18 | 富士通テン株式会社 | 通信システムおよび通信装置 |
JP5683689B2 (ja) * | 2011-04-22 | 2015-03-11 | 三菱電機株式会社 | 複数の通信経路を用いた通信装置 |
RU2596582C2 (ru) * | 2011-04-26 | 2016-09-10 | Роберт Бош Гмбх | Способ и устройство для адаптируемой к размерам памяти последовательной передачи данных |
US20140073254A1 (en) * | 2011-05-25 | 2014-03-13 | Denso Corporation | Vehicle communication apparatus |
CN102933443B (zh) * | 2011-06-07 | 2015-11-25 | 大星电机工业株式会社 | 双控制器系统的错误检测装置和方法 |
JP2012257122A (ja) * | 2011-06-09 | 2012-12-27 | Hitachi Automotive Systems Ltd | 車両制御装置、車両制御システム |
JP5479408B2 (ja) * | 2011-07-06 | 2014-04-23 | 日立オートモティブシステムズ株式会社 | 車載ネットワークシステム |
JP5779434B2 (ja) * | 2011-07-15 | 2015-09-16 | 株式会社ソシオネクスト | セキュリティ装置及びセキュリティシステム |
JP5522160B2 (ja) * | 2011-12-21 | 2014-06-18 | トヨタ自動車株式会社 | 車両ネットワーク監視装置 |
CN104349947B (zh) * | 2012-05-29 | 2016-11-02 | 丰田自动车株式会社 | 认证系统和认证方法 |
JP5990406B2 (ja) * | 2012-06-06 | 2016-09-14 | 株式会社東海理化電機製作所 | 電子キー登録方法 |
JP5991051B2 (ja) * | 2012-07-06 | 2016-09-14 | 株式会社リコー | 無線通信システム、端末装置及びプログラム |
JP5919205B2 (ja) * | 2013-01-28 | 2016-05-18 | 日立オートモティブシステムズ株式会社 | ネットワーク装置およびデータ送受信システム |
JP6050137B2 (ja) * | 2013-02-15 | 2016-12-21 | 株式会社東海理化電機製作所 | 電子キー登録方法 |
KR102115401B1 (ko) * | 2013-04-24 | 2020-05-26 | 삼성전자주식회사 | 네트워크 코딩을 지원하는 시스템에서 패킷을 관리하는 방법 및 장치 |
US20150063569A1 (en) * | 2013-09-05 | 2015-03-05 | NetView Technologies(Shenzhen) Co., Ltd. | Information Coding and Transmission Method Based on UDP Network Transmission Protocol |
DE102013218212A1 (de) * | 2013-09-11 | 2015-03-12 | Robert Bosch Gmbh | Verfahren zum abgesicherten Übermitteln von Daten |
JP5796612B2 (ja) * | 2013-09-13 | 2015-10-21 | トヨタ自動車株式会社 | 通信システム |
KR102193004B1 (ko) * | 2013-10-17 | 2020-12-18 | 삼성전자주식회사 | 근거리 무선 통신 시스템에서 데이터를 암호화하는 장치 및 방법 |
JP6036638B2 (ja) * | 2013-10-17 | 2016-11-30 | 株式会社デンソー | 電子キーシステム、車載装置、及び携帯機 |
KR20150049052A (ko) * | 2013-10-29 | 2015-05-08 | 삼성에스디에스 주식회사 | 데이터 전송 장치 및 방법 |
KR101502512B1 (ko) * | 2013-11-26 | 2015-03-13 | 현대모비스 주식회사 | 차량 속도 자동제어 시스템 및 방법 |
JP6126980B2 (ja) * | 2013-12-12 | 2017-05-10 | 日立オートモティブシステムズ株式会社 | ネットワーク装置およびネットワークシステム |
KR101472896B1 (ko) * | 2013-12-13 | 2014-12-16 | 현대자동차주식회사 | 차량 내 통신 네트워크에서의 보안 강화 방법 및 그 장치 |
KR20150074414A (ko) * | 2013-12-24 | 2015-07-02 | 현대자동차주식회사 | 펌웨어 업그레이드 방법 및 그 시스템 |
-
2014
- 2014-01-29 KR KR1020140010991A patent/KR101519777B1/ko active IP Right Grant
- 2014-12-02 US US14/558,662 patent/US9900388B2/en active Active
- 2014-12-11 CN CN201410766767.5A patent/CN104811434B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100387141B1 (ko) * | 1995-11-21 | 2003-08-19 | 가부시키가이샤 도카이리카덴키세이사쿠쇼 | 송수신 시스템 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020065151A (ja) * | 2018-10-17 | 2020-04-23 | 日立オートモティブシステムズ株式会社 | 自動車用電子制御装置 |
JP7100558B2 (ja) | 2018-10-17 | 2022-07-13 | 日立Astemo株式会社 | 自動車用電子制御装置 |
Also Published As
Publication number | Publication date |
---|---|
US9900388B2 (en) | 2018-02-20 |
CN104811434B (zh) | 2020-01-10 |
US20150215125A1 (en) | 2015-07-30 |
CN104811434A (zh) | 2015-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101519777B1 (ko) | 차량 네트워크 내의 제어기간의 데이터 송신 방법 및 수신 방법 | |
US11314661B2 (en) | Hardware security for an electronic control unit | |
JP6908563B2 (ja) | セキュリティ処理方法及びサーバ | |
US8925083B2 (en) | Cyber security in an automotive network | |
US10095634B2 (en) | In-vehicle network (IVN) device and method for operating an IVN device | |
EP2786543B1 (en) | Secure message filtering to vehicle electronic control units with secure provisioning of message filtering rules | |
US9703955B2 (en) | System and method for detecting OBD-II CAN BUS message attacks | |
RU2690887C2 (ru) | Модульное устройство управления безопасностью | |
AU2017100661A4 (en) | An information security method of distributed electric vehicle controllers | |
CN107135067B (zh) | 用于从传感器装置向电子控制单元传送数据的方法、传感器装置和电子控制单元 | |
US11212671B2 (en) | Method and system for securing communication links using enhanced authentication | |
CN106878130B (zh) | 一种电动汽车can网络异常检测方法及装置 | |
CN105320034A (zh) | 使用诊断工具从车辆向远程服务器安全地提供诊断数据 | |
CN105897669A (zh) | 数据发送、接收方法、发送端、接收端和can总线网络 | |
CN105337986A (zh) | 可信协议转换方法和系统 | |
CN110225038B (zh) | 用于工业信息安全的方法、装置及系统 | |
CN101593252A (zh) | 一种计算机对usb设备进行访问的控制方法和系统 | |
CN111556062B (zh) | 一种具备单向导入功能的网络安全隔离装置及方法 | |
CN102158856B (zh) | 移动终端识别码的鉴权系统和方法、及服务器和终端 | |
CN110730067B (zh) | 密钥生成方法、装置、计算机可读存储介质及终端设备 | |
KR101584210B1 (ko) | Mcu 통합 감시 시스템 및 방법 | |
CN219740406U (zh) | 一种基于国密算法的plc控制系统的中心安全网关 | |
US12009946B2 (en) | Gateway and bridge devices for secure internet of things | |
CN113015158B (zh) | 增强无线网络安全的方法和装置 | |
CN102804724A (zh) | 在自动化装置之间防操纵的数据传输 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20180427 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20190429 Year of fee payment: 5 |