KR102236282B1 - 차량용 통신 데이터 인증 방법 및 시스템 - Google Patents

차량용 통신 데이터 인증 방법 및 시스템 Download PDF

Info

Publication number
KR102236282B1
KR102236282B1 KR1020140032332A KR20140032332A KR102236282B1 KR 102236282 B1 KR102236282 B1 KR 102236282B1 KR 1020140032332 A KR1020140032332 A KR 1020140032332A KR 20140032332 A KR20140032332 A KR 20140032332A KR 102236282 B1 KR102236282 B1 KR 102236282B1
Authority
KR
South Korea
Prior art keywords
vehicle data
authentication
control unit
decryption function
time information
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
KR1020140032332A
Other languages
English (en)
Other versions
KR20150109202A (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 KR1020140032332A priority Critical patent/KR102236282B1/ko
Publication of KR20150109202A publication Critical patent/KR20150109202A/ko
Application granted granted Critical
Publication of KR102236282B1 publication Critical patent/KR102236282B1/ko
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3234Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/84Vehicles

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Lock And Its Accessories (AREA)

Abstract

본 발명은 차량 데이터 인증 시스템 및 방법이 개시된다. 본 발명에 따르면, 이모빌라이저제어유닛에서 전자제어유닛으로부터 공급되는 랜덤값의 전달 시간 정보를 토대로 기 저장된 다수의 해독 함수 중 하나를 정하고 정해진 하나의 해독 함수 및 랜덤값으로 도출된 제1 인증값을 엔진제어유닛으로 전달하며, 상기 엔진제어유닛에서 전자제어유닛의 랜덤값의 전달 시간 정보을 토대로 기 저장된 해독 함수 중 하나를 정하고, 정해진 하나의 해독 함수 및 랜덤값으로 도출된 제2 인증값과 상기 제1 인증값의 일치 여부에 따라 수신된 차량용 데이터에 대한 인증을 실행하고 인증 성공 시 엔진 구동을 실행함에 따라 전자제어장치와 다수의 제어 장치들 또는 다수의 제어 장치들 간의 차량용 데이터를 해킹으로부터 보호할 수 있고, 차량용 데이터에 대한 보안성으로 더욱 강하할 수 있게 된다.

Description

차량용 통신 데이터 인증 방법 및 시스템{METHOD AND SYSTEM FOR AUTHENTICATING COMMUNICATION DATA OF VEHICLE}
본 발명은 차량용 통신 데이터 인증 방법 및 시스템에 관한 것으로, 보다 상세하게는 엔진제어유닛(EMS)과 전자제어유닛(ECU) 및 이모빌라이저 제어 유닛(ICU)를 포함하는 차량 제어 장치 간의 통신 데이터를 기 설정된 해독 함수(decryption function)로 해독하여 차량용 통신 데이터에 대한 인증을 실행하고 인증 결과에 따라 엔진 시동 여부를 결정할 수 있도록 한 차량용 통신 데이터 인증 방법에 관한 것이다.
최근 들어, IT기술의 급속한 발전에 따라, 자동차분야는 현재 기술의 안전성, 편의성, 정보성에 중점을 두고 발전하고 있는 추세이다. 이러한 추세에 따라 차량 내 전자제어장치인 ECU(Electronic Control Unit)의 구비가 점차 증가되고 있다. 이러한 전자제어장치는 엔진구동, 제동장치, 조향장치, 에어백과 같은 제어 장치, 안전장치, 오디오 또는 에어컨과 같은 편의장치 등을 제어하는 장치를 말한다.
이처럼, 다양한 부분에서 사용되는 다수의 ECU는 차량의 내부에서 사용되는 프로토콜을 이용하여 상호간 통신을 수행한다. 이때, 사용되는 프로토콜은 CAN(Controller Area Network), LIN(Local Interconnect Network), FlexRay, MOST(Media Oriented Systems Transport)가 있으며, 이중에서도 CAN 프로토콜이 차량에서 주로 사용되고 있다.
이러한 CAN 프로토콜은 한 쌍의 꼬임선으로 구성됨에 따라, 물리적인 특징으로 인하여 외부 전자파나 노이즈에 강한 장점을 가질 뿐만 아니라, 브로드캐스트 통신방식을 사용하므로 차량 환경에 매우 적합한 특징을 갖는다.
하지만 이러한 CAN 프로토콜을 이용한 통신방식은 브로드캐스트 통신을 사용하기 때문에, 외부에서 네트워크를 청하기가 용이하고, 송수신되는 메시지를 인증할 수 있는 체계가 없다는 문제점이 있다. 뿐만 아니라, 상기 CAN 프로토콜은 송수신되는 메시지를 암호화하지 않기 때문에, 상기 메시지가 송수신과정에서 위조 또는 변조되는 것을 방지하기 어려우며, 외부 공격자가 도청하여 획득한 메시지를 그대로 전자제어유닛에 재전송하는 메시지 재전송공격 또한 방지하기 어려운 문제점이 발생했다.
이와 같은 문제점을 해결하고자 메시지인증코드(MAC, Message Authentication Code) 를 사용함으로써, 네트워크를 통해 송수신되는 통신 데이터를 보호하고 있다.
이러한 메시지인증코드는, 제어 장치 들 간의 암호화된 통신 데이터는 기 설정된 동일한 해독 함수의 동일한 랜덤 넘버인 매개 입력값(해독키)을 이용하여 제어장치 들 중 적어도 하나에서 해독된다.
따라서, 제어 장치들 각각은 하나의 동일한 해독 함수로 암호화된 통신 데이터가 해독하므로 동일한 차량용 통신 데이터를 획득할 수 있게 된다.
그리고, 각 획득된 제어 장치 간에 해독된 통신 데이터의 동일성 여부에 따라 획득된 차량용 통신 데이터에 대한 검증을 실행하고 검증 결과에 따라 엔진 시동을 실행할 수 있게 된다.
그러나, 악의적 혹은 고의적으로 통신 라인을 모니터링하여 상기 암호화된 통신 데이터와 해독된 통신 데이터로부터 동일한 해독 함수의 동일한 해독키를 도출하는 경우 차량용 통신 데이터에 대한 해킹을 방지할 수 없게 된다.
상기한 종래의 문제점을 해결하기 위해, 본 발명은 이모빌라이저제어유닛에서 전자제어유닛으로부터 공급되는 랜덤값의 전달 시간 정보를 토대로 기 저장된 다수의 해독 함수 중 하나를 정하고 정해진 하나의 해독 함수 및 랜덤값으로 도출된 제1 인증값을 엔진제어유닛으로 전달하며, 상기 엔진제어유닛에서 전자제어유닛의 랜덤값의 전달 시간 정보를 토대로 기 저장된 해독 함수 중 하나를 정하고, 정해진 하나의 해독 함수 및 랜덤값으로 도출된 제2 인증값과 상기 제1 인증값의 일치 여부에 따라 수신된 차량용 데이터에 대한 인증을 실행하고 인증 성공 시 엔진 구동을 실행함에 따라 전자제어장치와 다수의 제어 장치들 또는 다수의 제어 장치들 간의 차량용 데이터를 해킹으로부터 보호할 수 있고, 차량용 데이터에 대한 보안성으로 더욱 강화할 수 있는 차량용 데이터 인증 방법 및 시스템을 제공하고자 한다.
이러한 기술적 과제를 해결하기 위한 본 발명의 제1 실시 예에 따른 차량용 데이터 인증 방법은,
전자제어유닛에서 생성된 랜덤값을 암호화하여 통신하고자 하는 다수의 제어 장치로 전달하는 랜덤값 전송 단계와,
상기 다수의 제어 장치 중 제1 제어 장치에서 상기 암호화된 랜덤값을 토대로 암호화키를 생성하여 상기 랜덤값 및 기 저장된 다수의 해독 함수 중 랜덤값의 전달 시간 정보를 기반으로 선택된 하나의 해독 함수를 이용하여 차량 데이터에 대한 제1 인증값을 도출하는 제1 인증값 도출 단계와,
상기 제1 제어 장치에서 생성된 암호화키로 차량용 데이터를 암호화하여 상기 제1 인증값 및 암호화된 차량용 데이터를 네트워크 패킷으로 상기 다수의 제어 장치 중 제2 제어 장치로 전달하는 단계와,
상기 제2 제어 장치에서 상기 전자제어유닛으로부터 공급되는 암호화된 랜덤값과 기 저장된 다수의 해독 함수 중 랜덤값의 전달 시간 정보를 기반으로 선택된 하나의 해독 함수를 이용하여 차량용 데이터에 대한 제2 인증값을 생성하는 제2 인증값 도출 단계와,
상기 제2 제어 장치에서 상기 제1 제어 장치로부터 제공된 제1 인증값과 제2 인증값의 일치 여부에 따라 차량용 데이터에 대한 인증을 실행하고, 인증 결과 인증 성공인 경우 상기 제1 제어 장치으로부터 공급된 암호화된 차량용 데이터를 암호화키를 토대로 복호화하여 차량용 데이터를 획득하는 차량 데이터 획득 단계를 포함하는 것을 특징으로 한다.
바람직하게 상기 제1 제어 장치는,
카드키로부터 제공되는 차량 데이터를 암호화하여 엔진제어유닛으로 전달하는 이모빌라이저 제어 유닛이고,
상기 제2 제어 장치는,
상기 이모빌라이저제어유닛으로부터 공급되는 차량 데이터에 대한 인증 성공 시 획득된 차량 데이터로 엔진을 구동하는 엔진제어유닛으로 구비되는 것을 특징으로 한다.
바람직하게, 상기 제1 인증값 연산 단계는,
상기 이모빌라이저제어유닛에서 상기 암호화된 랜덤값의 전달 시간을 카운팅하여 전달 시간 정보를 생성하는 전달 시간 정보 생성 단계와
생성된 전달 시간 정보에 따라 기 저장된 다수의 해독 함수 중 하나의 해독 함수를 설정하는 해독 함수 설정 단계와,
정해진 하나의 해독 함수 및 랜덤값을 이용하여 차량 데이터에 대한 제1 인증값을 연산하는 제1 인증값 연산 단계를 포함하는 것을 특징으로 한다.
바람직하게, 상기 제2 인증값 연산 단계는,
상기 엔진제어유닛에서 상기 암호화된 랜덤값의 전달 시간을 측정하여 전달 시간 정보를 생성하는 전달 시간 정보 생성 단계와,
기 저장된 다수의 해독 함수 중 하나의 해독 함수를 상기 생성된 전달 시간 정보에 따라 선택하는 해독 함수 설정 단계와,
선택된 해독 함수 및 랜덤값을 이용하여 차량 데이터에 대한 제2 인증값을 연산하는 제2 인증값 연산 단계와
상기 제2 인증값 연산 단계의 제2 인증값과 상기 이모빌라이저제어유닛의 제1 인증값의 일치 여부를 토대로 상기 이모빌라이저제어유닛으로부터 공급된 차량 데이터에 대한 인증을 실행하는 인증 모듈과,
상기 인증 모듈의 인증 성공 시 상기 차량 데이터를 기 생성된 암호화키로 복호화하여 차량 데이터를 획득하고 획득된 차량 데이터를 토대로 엔진을 구동하는 차량 데이터 획득 모듈을 포함하도록 구비되는 것을 특징으로 한다.
바람직하게 상기 해독 함수 설정 단계는,
상기 암호화된 랜덤값의 전달 시간을 카운팅하여 생성된 전달 시간 정보를 토대로 다수의 소정 범위를 설정하고,
설정된 다수의 소정 범위 별로 각각의 해독 함수를 저장하며,
수신된 전달 시간 정보의 소정 범위에 대응되는 해독 함수로 다수의 해독 함수 중 하나의 해독 함수로 설정하도록 구비되는 것을 특징으로 한다.
바람직하게 상기 해독 함수 설정 단계는,
상기 암호화된 랜덤값의 전달 시간을 카운팅하여 생성된 전달 시간 정보를 토대로 기 저장된 다수의 해독 함수 중 하나의 해독 함수를 선택하기 위한 소정 조건을 설정하고,
상기 전달 시간 정보가 상기 소정 조건을 만족하는 경우 현재 해독 함수를 기 정해진 순서에 따른 해독 함수로 변경하도록 구비되는 것을 특징으로 한다.
바람직하게 상기 해독 함수 설정 단계는,
수신된 전달 시간 정보의 데이터의 합이 짝수 또는 홀수 여부에 따라 해독 함수의 변경 인 지를 판정하고,
판정 결과 해독 함수 변경인 경우 다수의 해독 함수 중 하나의 해독 함수를 현재 해독 함수를 기준으로 기 정해진 순서의 다음 해독 함수로 설정하도록 구비되는 것을 특징으로 한다.
바람직하게 상기 해독 함수 설정 단계는,
수신된 전달 시간 정보가 기 설정된 소정 범위에 포함되는 경우 해독 함수의 변경으로 판정하고,
판정 결과에 따라 다수의 해독 함수 중 하나의 해독 함수를 상기 소정 범위에 대응되어 저장된 해독 함수로 설정하도록 구비되는 것을 특징으로 한다.
이러한 기술적 과제를 해결하기 위한 본 발명의 제2실시 예에 따른 차량용 데이터 인증 장치는,
기 저장된 고유 인증서의 대칭키를 토대로 랜덤값을 생성하여 암호화한 후 전달하는 전자제어유닛;
상기 전자제어유닛의 암호화된 랜덤값을 수신하고, 상기 랜덤값의 전달 시간을 카운팅하여 전달 시간 정보를 생성하며, 생성된 전달 시간 정보를 토대로 기 저장된 다수의 해독 함수 중 하나의 해독 함수를 선택하고, 선택된 해독 함수 및 랜덤값을 이용하여 차량 데이터에 대한 제1 인증값을 연산하며 연산된 제1 인증값과 암호화된 차량 데이터를 포함하는 네트워크 패킷을 전달하는 다수의 제어 장치 중 하나의 제1 제어 장치; 및
상기 전자제어유닛의 암호화된 랜덤값을 수신하고, 상기 랜덤값의 전달 시간을 카운팅하여 전달 시간 정보를 생성하며, 생성된 전달 시간 정보를 토대로 기 저장된 다수의 해독 함수 중 하나의 해독 함수를 설정한 후 설정된 해독 함수 및 랜덤값을 이용하여 차량 데이터에 대한 제2 인증값을 연산하고, 상기 제1 제어장치의 제1 인증값과 상기 연산된 제2 인증값의 일치 여부를 토대로 차량용 데이터에 대한 인증을 실행하고, 인증 성공 시 상기 차량 데이터를 암호화키를 토대로 복호화하여 차량용 데이터를 획득하는 다수의 제어 장치 중 제2 제어 장치를 포함하는 것을 특징으로 한다.
바람직하게 상기 제1 제어 장치는,
카드키로부터 제공되는 차량 데이터를 암호화하여 엔진제어유닛으로 전달하는 이모빌라이저 제어 유닛이고,
상기 제2 제어 장치는,
상기 이모빌라이저제어유닛으로부터 공급되는 차량 데이터에 대한 인증 성공 시 획득된 차량 데이터로 엔진을 구동하는 엔진제어유닛으로 구비되는 것을 특징으로 한다.
바람직하게, 상기 이모빌라이저제어유닛은,
상기 암호화된 랜덤값의 전달 시간을 카운팅하여 전달 시간 정보를 생성하는 전달 시간 정보 생성모듈과
생성된 전달 시간 정보에 따라 기 저장된 다수의 해독 함수 중 하나의 해독 함수를 설정하는 해독 함수 설정 모듈과,
정해진 하나의 해독 함수 및 랜덤값을 이용하여 차량 데이터에 대한 제1 인증값을 연산하는 제1 인증값 연산 모듈과,
상기 차량 데이터를 기 생성된 암호화키로 암호화하여 암호화된 차량 데이터 및 제1 인증값이 포함된 네트워크 패킷을 엔진제어유닛으로 전송하는 네트워크 패킷 전달 모듈을 포함하는 것을 특징으로 한다.
바람직하게, 상기 엔진제어유닛은,
상기 암호화된 랜덤값의 전달 시간을 측정하여 전달 시간 정보를 생성하는 전달 시간 정보 생성 모듈과,
기 저장된 다수의 해독 함수 중 하나의 해독 함수를 상기 생성된 전달 시간 정보에 따라 선택하는 해독 함수 설정 모듈과
선택된 해독 함수 및 랜덤값을 이용하여 차량 데이터에 대한 제2 인증값을 연산하는 제2 인증값 연산 모듈과
상기 제2 인증값 연산 모듈의 제2 인증값과 상기 이모빌라이저제어유닛의 제1 인증값의 일치 여부를 토대로 상기 이모빌라이저제어유닛으로부터 공급된 차량 데이터에 대한 인증을 실행하는 인증 모듈과,
상기 인증 모듈의 인증 성공 시 상기 차량 데이터를 기 생성된 암호화키로 복호화하여 차량 데이터를 획득하고 획득된 차량 데이터를 토대로 엔진을 구동하는 차량 데이터 획득 모듈을 포함하도록 구비되는 것을 특징으로 한다.
바람직하게 상기 해독 함수 설정 모듈은,
상기 암호화된 랜덤값의 전달 시간을 카운팅하여 생성된 전달 시간 정보를 토대로 다수의 소정 범위를 설정하고,
설정된 다수의 소정 범위 별로 각각의 해독 함수를 저장하며,
수신된 전달 시간 정보의 소정 범위에 대응되는 해독 함수로 다수의 해독 함수 중 하나의 해독 함수로 설정하도록 구비되는 것을 특징으로 한다.
바람직하게 상기 해독 함수 설정 모듈은,
상기 암호화된 랜덤값의 전달 시간을 카운팅하여 생성된 전달 시간 정보를 토대로 기 저장된 다수의 해독 함수 중 하나의 해독 함수를 선택하기 위한 소정 조건을 설정하고,
상기 전달 시간 정보가 상기 소정 조건을 만족하는 경우 현재 해독 함수를 기 정해진 순서에 따른 해독 함수로 변경하도록 구비되는 것을 특징으로 한다.
바람직하게 상기 해독 함수 설정 모듈은,
수신된 전달 시간 정보의 데이터의 합이 짝수 또는 홀수인지에 따라 해독 함수의 변경인 지를 판정하고,
판정 결과에 해독 함수 변경인 경우 다수의 해독 함수 중 하나의 해독 함수를 현재 해독 함수를 기준으로 기 정해진 순서의 다음 해독 함수로 설정하도록 구비되는 것을 특징으로 한다.
바람직하게 상기 해독함수 설정 모듈은,
수신된 전달 시간 정보가 기 설정된 소정 범위에 포함되는 경우 해독 함수의 변경으로 판정하고,
판정 결과에 따라 다수의 해독 함수 중 하나의 해독 함수를 상기 소정 범위에 대응되어 저장된 해독 함수로 설정하도록 구비되는 것을 특징으로 한다.
본 발명에 따른 차량용 데이터 인증 장치 및 방법에 따르면, 이모빌라이저제어유닛에서 전자제어유닛으로부터 공급되는 랜덤값의 전달 시간 정보를 토대로 기 저장된 다수의 해독 함수 중 하나를 정하고 정해진 하나의 해독 함수 및 랜덤값으로 도출된 제1 인증값을 엔진제어유닛으로 전달하며, 상기 엔진제어유닛에서 전자제어유닛의 랜덤값의 전달 시간 정보를 토대로 기 저장된 해독 함수 중 하나를 정하고, 정해진 하나의 해독 함수 및 랜덤값으로 도출된 제2 인증값과 상기 제1 인증값의 일치 여부에 따라 수신된 차량용 데이터에 대한 인증을 실행하고 인증 성공 시 엔진 구동을 실행함에 따라 전자제어장치와 다수의 제어 장치들 또는 다수의 제어 장치들 간의 차량용 데이터를 해킹으로부터 보호할 수 있고, 차량용 데이터에 대한 보안성으로 더욱 강화할 수 있는 효과를 얻는다.
본 명세서에서 첨부되는 다음의 도면들은 본 발명의 바람직한 실시 예를 예시하는 것이며, 후술하는 발명의 상세한 설명과 함께 본 발명의 기술사상을 더욱 이해시키는 역할을 하는 것이므로, 본 발명은 그러한 도면에 기재된 사항에만 한정되어 해석되어서는 아니된다.
도 1은 본 발명의 실시 예에 따른 차량용 데이터 인증 과정을 보인 도이다.
도 2는 본 발명의 실시 예에 따른 네트워크 패킷의 일 례를 보인 도이다.
도 3은 본 발명의 실시 예에 따른 차량용 데이터 인증 시스템의 구성을 보인 도이다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시 예를 예시하는 첨부 도면 및 도면에 기재된 내용을 참조하여야 한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 통해 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
우선, 본 발명의 실시 예을 구체적으로 설명하기에 앞서, 본 발명의 실시 예에서, 전자제어유닛, 이모빌라이저제어유닛, 및 엔진제어유닛은 차량의 내부에 설치되는 제어 장치의 일례 설명하고 있으나, 이에 한정하지 아니하고 차량 내에 설치되는 제어 장치, 안전 장치, 또는 편리 장치 간의 전송되는 차량용 데이터에 대해 본 발명의 적용 가능함은 당연하다 할 것이다.
도 1은 본 발명의 실시 예에 따른 차량용 데이터 인증 방법을 보인 순서도이다. 도 1에 도시된 바와 같이, 본 발명의 차량용 데이터 인증 방법은 먼저, 전자제어유닛(10)은 공인 인증 기관으로부터 발급받은 자신의 고유 인증서를 토대로 생성된 대칭키를 저장하고 있으며, 차량 내에 설치되는 이모빌라이저제어유닛(30) 및 엔진제어유닛(50)는 상기 대칭키와 동일한 대칭키가 각각 저장되어 있다.
이어 상기 전자제어유닛(10)은 인증키 및 암호화키를 생성하기 위해 사용되는 랜덤값을 생성하고 생성된 랜덤값으로 상기 대칭키를 이용하여 암호화하고, 암호화된 랜덤값은 이모빌라이저제어유닛(30) 및 엔진제어유닛(50)에 전달되고(단계 103, 105) 암호화된 랜덤값을 수신한 이모빌라이저제어유닛(30)은 암호화된 램덤값이 전자제어유닛(10)에서 이모빌라이저제어유닛(30)까지의 전달되는 시간인 전달 시간 정보를 생성하여 저장하고(단계 107), 엔진제어유닛(50)은 전자제어유닛(10)에서 엔진제어유닛(50)까지의 랜덤값의 전달 시간인 전달 시간 정보를 생성하여 저장한다(단계 109).
이때 상기 암호화된 랜덤값을 전달하는 상기 네트워크는 CAN(Controller Area Network), LIN(Local Interconnect Network), FlexRay, MOST(Media Oriented Systems Transport) 프로토콜을 사용하는 네트워크 중 하나일 수 있으나 이에 한정하지 아니한다.
그리고, 상기 이모빌라이저제어유닛(30)은 수신된 랜덤값을 복호화한 후 복호화된 랜덤값을 토대로 인증키 및 암호화키를 생성하고(단계 111) 상기 저장된 전달 시간 정보를 토대로 다수의 해독 함수 중 하나의 해독 함수를 정하고(단계 113). 정해진 해독 함수 및 랜덤값으로 제1 인증값을 생성한다(단계 115).
즉, 상기 전달 시간 정보가 제1 소정 범위를 초과하는 제2 소정 범위(110-130 msec)인 경우 다수의 해독 함수 중 해독 함수 2를 토대로 제1 인증값이 연산된다.
즉, 상기 이모빌라이저제어유닛(30)은 상기 저장된 전달 시간 정보에 대응되어 정해진 다수의 해독 함수 중 하나의 해독 함수를 토대로 제1 인증값이 연산된다.
여기서, 상기 이모빌라이저제어유닛(30)의 전달 시간 정보를 기반으로 기 저장된 다수의 해독 함수 중 하나를 설정하는 과정을 예를 들어 보다 자세히 살펴보면, 상기 이모빌라이저제어유닛(30)은 수신된 전달 시간 정보가 제1 소정 범위(80-100 msec) 인 경우 다수의 해독 함수 중 해독함수 1을 토대로 제1 인증값을 연산한다. 즉, 상기 복호화된 랜덤값을 상기 선택된 해독 함수 1에 대입하여 해독 함수 1에 대한 해를 구함으로써 제1 인증값이 도출된다.
본 발명의 실시 예에서, 다수의 해독 함수 중 하나의 해독 함수를 선택하는 일련의 과정은, 전달 시간 정보가 해당 소정 범위에 대응되어 정해진 해독 함수로 제1 인증값을 연산하는 경우를 일례로 설명하였다.
그러나, 전달 시간 정보에 대응되어 다수의 해독 함수 중 하나의 해독 함수를 설정하는 일련의 과정은 설계자의 요구에 따라 변경 가능함은 당연하다 할 것이다.
예를 들어, 전달 시간 정보가 이 정의된 소정 조건을 만족하는 경우 해독 함수의 변경으로 판정하고 기 정해진 순서에 따라 해독 함수 1을 변경할 수도 있다.
즉, 상기 전달 시간 정보가 홀수인 경우 해독 함수의 변경으로 판정하여 다수의 해독 함수의 순서가 해독 함수 1, 해독 함수 2, 해독함수 3 등으로 정해지고 현재 해독 함수 2 및 랜덤값으로 제1 인증값을 연산하고 있는 경우, 현재 해독 함수 2를 해독함수 3으로 변경하고 변경된 해독 함수 3과 수신된 랜덤값을 이용하여 제1 인증값이 연산된다.
또한, 전달 시간 정보가 기 설정된 소정 범위(80-100msec)인 경우 해독 함수의 변경으로 판정하여, 다수의 해독 함수의 순서가 해독 함수 1, 해독 함수 2, 해독함수 3 등으로 정해지고 현재 해독함수 2 및 랜덤값으로 제1 인증값을 연산한 경우, 현재 해독 함수 2를 해독함수 3으로 변경하고 변경된 해독 함수 3과 수신된 랜덤값을 이용하여 제1 인증값이 연산된다.
이외에도 본 발명의 실시 예에서, 암호화된 랜덤값이 수신될 때 마다 다수의 해독 함수중 기 정해진 순서에 따라 하나의 해독 함수를 랜덤하게 설정하고 설정된 하나의 해독 함수 및 랜덤값을 토대로 제1 인증값이 연산될 수 있다.
아울러 상기 이모빌라이저제어유닛(30)은 생성된 암호화키를 토대로 상기 카드키로부터 공급되는 차량 데이터를 암호화한 후(단계 117) 암호화된 차량 데이터 및 제1 인증값을 상기 엔진제어유닛(50)로 전달한다(119).
여기서, 상기 차량 데이터를 전송하고자 하는 이모빌라이저 제어유닛(30)은 자신의 카운터값을 해시하여 해시한 값과 배타적 연산을 수행하여 가공메시지를 생성하고, 앞서 생성한 암호화키 를 이용하여 상기 가공메시지를 암호화한다.
그리고, 앞서 생성한 인증키를 이용하여 상기 가공메시지를 포함하는 네트워크 패킷에 대한 32bit 크기를 갖는 제1 인증값은 상기 네트워크 패킷 내 프레임의 소정 필드에 동일한 크기로 나누어 삽입한다.
한편, 상기 전자제어유닛(10)으로부터 암호화된 랜덤값을 수신된 엔진제어유닛(50)은 수신된 랜덤값을 복호화한 후 복호화된 랜덤값을 토대로 인증키 및 암호화키를 생성하고(단계 121) 생성된 인증키를 기반으로 상기 설정된 다수의 해독 함수 중 상기 전달 시간 정보에 대응되어 정해진 해독 함수로 제2 인증값을 생성한다(단계 123, 125).
여기서, 상기 엔진제어유닛(50)의 전달 시간 정보를 기반으로 기 저장된 다수의 해독 함수 중 하나를 설정하고 설정된 하나의 해독 함수 및 복호화된 랜덤값으로 제2 인증값을 연산하는 과정은 이모빌라이저제어유닛(30)의 전달 시간 정보를 기반으로 기 저장된 다수의 해독 함수 중 하나를 설정하고 설정된 하나의 해독 함수 및 복호화된 랜덤값으로 제1 인증값을 연산하는 과정을 동일하므로 이에 대한 상세한 설명은 생략한다. 다만, 상기 엔진제어유닛(50)의 전달 시간 정보 및 이모빌라이저제어유닛(30)의 전달 시간 정보는 기 정의된 소정 범위 내에 동일하게 포함되므로, 상기 엔진제어유닛(50)의 선택된 하나의 해독 함수와 이모빌라이저제어유닛(30)의 선택된 하나의 해독 함수가 동일하다.
이어 상기 엔진제어유닛(50)은 이모빌라이저제어유닛(30)의 제1 인증값과 상기 제2 인증값의 일치 여부를 판정하여 암호화된 차량 데이터에 대한 인증을 실행한다(단계 127).
여기서, 상기 제1 인증값과 제2 인증값이 일치하여 인증 성공인 경우 상기 엔진제어유닛(50)은 생성된 암호화키를 토대로 이모빌리아저제어유닛(30)의 암호화된 차량 데이터를 복호화하여 획득된 차량 데이터를 기반으로 엔진을 제어하기 위한 구동 신호를 생성하고 생성된 구동 신호를 엔진(미도시됨)으로 공급한다(단계 129).
상기 단계(129)에서 차량 데이터를 복호화하여 획득하는 일련의 과정은 통상의 수신한 네트워크 패킷 내 암호화된 차량용 데이터를 앞서 생성한 대칭키를 이용해 복호화하여 가공메시지를 획득하고, 획득한 상기 가공메시지를 기 설정된 카운터값을 해시한 값과 배타적 연산을 수행하여 도출하는 일련의 과정과 동일 또는 유사하므로 이에 대한 상세한 설명은 생략한다.
이하, 도 2를 참조하여 송수신되는 네트워크 패킷의 구조에 대하여 보다 자세히 살펴보도록 한다.
도 2는 도 1에서 사용되는 네트워크 패킷 구조를 나타낸 도면이다.
도 2에 도시된 바와 같이, 카드키로부터 제공된 차량 데이터를 전송하고자 하는 이모빌라이저 제어유닛(30)은 상기 차량용 데이터를 포함하는 가공메시지를 암호화키를 이용하여 암호화함으로써, 소정 크기를 갖는 제1 인증값을 생성한다.
즉, 이모빌라이저 제어유닛(30)은 이와 같이 생성한 제1 인증값을 전송하고자 하는 네트워크 패킷 내 소정 필드 내에 일부를 삽입하고, 나머지 제1 인증값을 다른 소정 필드에 삽입한 후, 상기 제1 인증값이 삽입된 상기 네트워크 패킷을 엔진제어유닛(50)으로 전송한다.
이에 따라, 차량용 데이터에 대한 제1 인증값은 전송되는 네트워크 패킷 내 프레임에 삽입되어 전송됨에 따라, 상기 네트워크 패킷을 효율적으로 사용할 수 있다
도 3은 본 발명의 다른 실시 예에 따른 차량용 데이터 인증 시스템의 구성을 보인 도면이고, 도 2를 참조하여 본 발명의 실시 예에 따른 차량용 데이터 인증 장치는 전자제어유닛(EMS: Electric Management System: 310), 이모빌라이저제어유닛(ICU : Immobilizer Control Unit: 330), 및 엔진제어유닛(ECU: Engine Control Unit: 350)을 포함한다.
본 발명의 실시 예에서, 전자제어유닛, 이모빌라이저제어유닛, 및 엔진제어유닛은 차량의 내부에 설치되는 제어 장치의 일례 설명하고 있으나, 이에 한정하지 아니하고 차량 내에 설치되는 제어 장치, 안전 장치, 또는 편리 장치 간의 전송되는 차량용 데이터에 대해 본 발명의 적용 가능함은 당연하다 할 것이다.
상기 전자제어유닛(310)은, 고유의 인증서 및 대칭키를 생성하며 상기 대칭키를 이용하여 생성된 랜덤값을 암호화하고 암호화된 랜덤값으로 이모발리이저제어유닛(330) 및 엔진제어유닛(350)에 전달된다.
상기 이모빌라이저제어유닛(330)은 상기 전자제유닛(310)과 동일한 대칭키를 가지고 있으며, 암호화된 랜덤값을 상기 대칭키로 복호화한 후 인증키 및 암호화키를 생성한다.
그리고, 이모빌라이저제어유닛(330)은 상기 수신된 랜덤값이 수신되는 전달 시간인 전달 시간 정보를 생성한 후 저장하고, 전달 시간 정보를 기반으로 기 저장된 다수의 해독 함수 중 하나의 해독 함수를 정하고 정해진 해독 함수에 상기 랜덤값으로 삽입하여 제1 인증값을 연산한다.
또한, 상기 이모빌라이저제어유닛(330)은 앞서 생성된 암호화키를 기반으로 카드키로부터 수신된 차량 데이터를 암호화하고 네트워크 패킷의 소정 필드 내에 상기 제1 인증값 및 암호화된 차량 데이터를 네트워크 통신망을 통해 엔진제어유닛(350)로 전달한다.
따라서, 상기 이모빌라이저제어유닛(330)은, 상기 암호화된 랜덤값의 전달 시간을 카운팅하여 전달 시간 정보를 생성하는 전달 시간 정보 생성모듈(311)과, 생성된 전달 시간 정보에 따라 기 저장된 다수의 해독 함수 중 하나의 해독 함수를 설정하는 해독 함수 설정 모듈(312)과, 정해진 하나의 해독 함수 및 랜덤값을 이용하여 차량 데이터에 대한 제1 인증값을 연산하는 제1 인증값 연산 모듈(313)과, 상기 차량 데이터를 기 생성된 암호화키로 암호화하여 암호화된 차량 데이터 및 제1 인증값이 포함된 네트워크 패킷을 엔진제어유닛으로 전송하는 네트워크 패킷 전달 모듈(314)을 포함하도록 구비된다.
상기 엔진제어유닛(350)은 앞서 전자제어유닛(310)으로부터 전달받은 암호화된 랜덤값의 전달 시간인 전달 시간 정보를 생성하여 저장하고, 이어 암호화된 랜덤값을 복호화하여 인증키 및 암호화키를 생성한다.
그리고, 상기 엔진제어유닛(350)은 수신된 전달 시간 정보를 토대로 기 저장된 다수의 해독 함수 하나의 해독 함수를 정하고, 정해진 해독 함수 및 랜덤값을 토대로 제2 인증값을 연산한다.
이어 상기 엔진제어유닛(350)은 이모빌라이저제어유닛(330)으로부터 공급되는 네트워크 패킷 내의 제 1 인증값과 앞서 연산된 제2 인증값이 일치하는 판단하고 판단 결과에 따라 차량 데이터에 대한 인증을 실행한다.
상기 인증 결과 인증 성공인 경우 엔진제어유닛(350)은 암호화된 전송된 차량 데이터를 암호화키를 토대로 복화화하여 차량 데이터를 획득하고 획득된 차량 데이터를 토대로 엔진을 구동한다.
상기 엔진제어유닛(350)은, 상기 암호화된 랜덤값의 전달 시간을 측정하여 전달 시간 정보를 생성하는 전달 시간 정보 생성 모듈(351)과, 기 저장된 다수의 해독 함수 중 하나의 해독 함수를 상기 생성된 전달 시간 정보에 따라 선택하는 해독 함수 설정 모듈(352)과, 선택된 해독 함수 및 랜덤값을 이용하여 차량 데이터에 대한 제2 인증값을 연산하는 제2 인증값 연산 모듈(353)과, 상기 제2 인증값 연산 모듈의 제2 인증값과 상기 이모빌라이저제어유닛의 제1 인증값의 일치 여부를 토대로 상기 이모빌라이저제어유닛으로부터 공급된 차량 데이터에 대한 인증을 실행하는 인증 모듈(354)과, 상기 인증 모듈의 인증 성공 시 상기 차량 데이터를 기 생성된 암호화키로 복호화하여 차량 데이터를 획득하고 획득된 차량 데이터를 토대로 엔진을 구동하는 차량 데이터 획득 모듈(355)을 포함한다.
본 발명의 실시 예에 따르면, 이모빌라이저제어유닛에서 전자제어유닛으로부터 공급되는 랜덤값의 전달 시간 정보를 토대로 기 저장된 다수의 해독 함수 중 하나를 정하고 정해진 하나의 해독 함수 및 랜덤값으로 도출된 제1 인증값을 엔진제어유닛으로 전달하며, 상기 엔진제어유닛에서 전자제어유닛의 랜덤값의 전달 시간 정보을 토대로 기 저장된 해독 함수 중 하나를 정하고, 정해진 하나의 해독 함수 및 랜덤값으로 도출된 제2 인증값과 상기 제1 인증값의 일치 여부에 따라 수신된 차량용 데이터에 대한 인증을 실행하고 인증 성공 시 엔진 구동을 실행함에 따라 전자제어장치와 다수의 제어 장치들 또는 다수의 제어 장치들 간의 차량용 데이터를 해킹으로부터 보호할 수 있고, 차량용 데이터에 대한 보안성으로 더욱 강하할 수 있게 된다.
또한, 이러한 차량용 데이터의 인증 및 획득 방법은 컴퓨터로 실행하기 위한 프로그램이 기록된 컴퓨터 판독가능 기록매체에 저장될 수 있다. 이때, 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 장치의 예로는 ROM, RAM, CD-ROM, DVD±ROM, DVD-RAM, 자기 테이프, 플로피 디스크, 하드 디스크(hard disk), 광데이터 저장장치등이 있다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 장치에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
지금까지 본 발명을 바람직한 실시 예를 참조하여 상세히 설명하였지만, 본 발명이 상기한 실시 예에 한정되는 것은 아니며, 이하의 특허청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 또는 수정이 가능한 범위까지 본 발명의 기술적 사상이 미친다 할 것이다.
이모빌라이저제어유닛에서 전자제어유닛으로부터 공급되는 랜덤값의 전달 시간 정보를 토대로 기 저장된 다수의 해독 함수 중 하나를 정하고 정해진 하나의 해독 함수 및 랜덤값으로 도출된 제1 인증값을 엔진제어유닛으로 전달하며, 상기 엔진제어유닛에서 전자제어유닛의 랜덤값의 전달 시간 정보을 토대로 기 저장된 해독 함수 중 하나를 정하고, 정해진 하나의 해독 함수 및 랜덤값으로 도출된 제2 인증값과 상기 제1 인증값의 일치 여부에 따라 수신된 차량용 데이터에 대한 인증을 실행하고 인증 성공 시 엔진 구동을 실행함에 따라 전자제어장치와 다수의 제어 장치들 또는 다수의 제어 장치들 간의 차량용 데이터를 해킹으로부터 보호할 수 있고, 차량용 데이터에 대한 보안성으로 더욱 강하할 수 있는 차량 데이터 인증 시스템 및 방법에 대한 운용의 정확성 및 신뢰도 측면, 더 나아가 성능 효율 면에 매우 큰 진보를 가져올 수 있으며, 적용되는 차량의 시판 또는 영업의 가능성이 충분할 뿐만 아니라 현실적으로 명백하게 실시할 수 있는 정도이므로 산업상 이용가능성이 있는 발명이다.

Claims (16)

  1. 전자제어유닛에서 생성된 랜덤값을 암호화하여 통신하고자 하는 다수의 제어 장치로 전달하는 랜덤값 전송 단계와,
    상기 다수의 제어 장치 중 제1 제어 장치에서 상기 암호화된 랜덤값을 토대로 암호화키를 생성하여 상기 랜덤값, 및 기 저장된 다수의 해독 함수(decryption function) 중 상기 암호화된 랜덤값이 상기 전자제어유닛으로부터 상기 제1 제어 장치에 전달되는 시간에 대응하는 전달 시간 정보를 기반으로 선택된 하나의 해독 함수를 이용하여 차량 데이터에 대한 제1 인증값을 도출하는 제1 인증값 연산 단계와,
    상기 제1 제어 장치에서 생성된 암호화키로 차량용 데이터를 암호화하여 상기 제1 인증값 및 암호화된 차량용 데이터를 네트워크 패킷으로 상기 다수의 제어 장치 중 제2 제어 장치로 전달하는 단계와,
    상기 제2 제어 장치에서 상기 전자제어유닛으로부터 공급되는 암호화된 랜덤값과, 기 저장된 다수의 해독 함수 중 상기 암호화된 랜덤값이 상기 전자제어유닛으로부터 상기 제2 제어 장치에 전달되는 시간에 대응하는 전달 시간 정보를 기반으로 선택된 하나의 해독 함수를 이용하여 차량용 데이터에 대한 제2 인증값을 생성하는 제2 인증값 연산 단계와,
    상기 제2 제어 장치에서 상기 제1 제어 장치로부터 제공된 제1 인증값과 제2 인증값의 일치 여부에 따라 차량용 데이터에 대한 인증을 실행하고, 인증 결과 인증 성공인 경우 상기 제1 제어 장치로부터 공급된 암호화된 차량용 데이터를 암호화키를 토대로 복호화하여 차량용 데이터를 획득하는 차량 데이터 획득 단계를 포함하고,
    상기 제1 제어 장치는, 카드키로부터 제공되는 차량 데이터를 암호화하여 전달하는 이모빌라이저제어유닛이고,
    상기 제2 제어 장치는, 상기 이모빌라이저제어유닛으로부터 공급되는 차량 데이터에 대한 인증 성공 시 획득된 차량 데이터로 엔진을 구동하는 엔진제어유닛으로 구비되는 것을 특징으로 하는 차량 데이터 인증 방법.
  2. 삭제
  3. 제1항에 있어서, 상기 제1 인증값 연산 단계는,
    상기 이모빌라이저제어유닛에서 상기 암호화된 랜덤값의 전달 시간을 카운팅하여 전달 시간 정보를 생성하는 전달 시간 정보 생성 단계와
    생성된 전달 시간 정보에 따라 기 저장된 다수의 해독 함수 중 하나의 해독 함수를 설정하는 해독 함수 설정 단계와,
    정해진 하나의 해독 함수 및 랜덤값을 이용하여 차량 데이터에 대한 제1 인증값을 연산하는 제1 인증값 연산 단계와,
    상기 차량 데이터를 기 생성된 암호화키로 암호화하여 암호화된 차량 데이터 및 제1 인증값이 포함된 네트워크 패킷을 엔진제어유닛으로 전송하는 네트워크 패킷 전달 단계를 포함하는 것을 특징으로 하는 차량 데이터 인증 방법.
  4. 제3항에 있어서, 상기 제2 인증값 연산 단계는,
    상기 엔진제어유닛에서 상기 암호화된 랜덤값의 전달 시간을 측정하여 전달 시간 정보를 생성하는 전달 시간 정보 생성 단계와,
    기 저장된 다수의 해독 함수 중 하나의 해독 함수를 상기 생성된 전달 시간 정보에 따라 선택하는 해독 함수 설정 단계와,
    선택된 해독 함수 및 랜덤값을 이용하여 차량 데이터에 대한 제2 인증값을 연산하는 제2 인증값 연산 단계와,
    상기 제2 인증값 연산 모듈의 제2 인증값과 상기 이모빌라이저제어유닛의 제1 인증값의 일치 여부를 토대로 상기 이모빌라이저제어유닛으로부터 공급된 차량 데이터에 대한 인증을 실행하는 인증 단계와,
    인증 성공 시 상기 차량 데이터를 기 생성된 암호화키로 복호화하여 차량 데이터를 획득하고 획득된 차량 데이터를 토대로 엔진을 구동하는 차량 데이터 획득 단계를 포함하도록 구비되는 것을 특징으로 하는 차량 데이터 인증 방법.
  5. 제3항 또는 제4항에 있어서, 상기 해독 함수 설정 단계는,
    상기 암호화된 랜덤값의 전달 시간을 카운팅하여 생성된 전달 시간 정보를 토대로 다수의 소정 범위를 설정하고,
    설정된 다수의 소정 범위 별로 각각의 해독 함수를 저장하며,
    수신된 전달 시간 정보의 소정 범위에 대응되는 해독 함수로 다수의 해독 함수 중 하나의 해독 함수로 설정하도록 구비되는 것을 특징으로 하는 차량 데이터 인증 방법.
  6. 제3항 또는 제4항에 있어서, 상기 해독 함수 설정 단계는,
    상기 암호화된 랜덤값의 전달 시간을 카운팅하여 생성된 전달 시간 정보를 토대로 기 저장된 다수의 해독 함수 중 하나의 해독 함수를 선택하기 위한 소정 조건을 설정하고,
    상기 전달 시간 정보가 상기 소정 조건을 만족하는 경우 현재 해독 함수를 기 정해진 순서에 따른 해독 함수로 변경하도록 구비되는 것을 특징으로 하는 차량 데이터 인증 방법.
  7. 제3항 또는 제4항에 있어서, 상기 해독 함수 설정 단계는,
    수신된 전달 시간 정보의 데이터의 합이 짝수 또는 홀수 여부에 따라 해독 함수의 변경인 지를 판정하고,
    판정 결과에 해독 함수 변경인 경우 다수의 해독 함수 중 하나의 해독 함수를 현재 해독 함수를 기준으로 기 정해진 순서의 다음 해독 함수로 설정하도록 구비되는 것을 특징으로 하는 차량 데이터 인증 방법.
  8. 제3항 또는 제4항에 있어서, 상기 해독 함수 설정 단계는,
    수신된 전달 시간 정보가 기 설정된 소정 범위에 포함되는 경우 해독 함수의 변경으로 판정하고,
    판정 결과에 따라 다수의 해독 함수 중 하나의 해독 함수를 상기 소정 범위에 대응되어 저장된 해독 함수로 설정하도록 구비되는 것을 특징으로 하는 차량 데이터 인증 방법.
  9. 기 저장된 고유 인증서의 대칭키를 토대로 랜덤값을 생성하여 암호화한 후 전달하는 전자제어유닛;
    상기 전자제어유닛의 암호화된 랜덤값을 수신하고, 상기 암호화된 랜덤값이 상기 전자제어유닛으로부터 다수의 제어 장치 중 제1 제어 장치에 전달되는 시간에 대응하는 전달 시간 정보를 생성하며, 생성된 전달 시간 정보를 토대로 기 저장된 다수의 해독 함수 중 하나의 해독 함수를 선택하고, 선택된 해독 함수 및 랜덤값을 이용하여 차량 데이터에 대한 제1 인증값을 연산하며 연산된 제1 인증값과 암호화된 차량 데이터를 포함하는 네트워크 패킷을 전달하는 상기 제1 제어 장치; 및
    상기 전자제어유닛의 암호화된 랜덤값을 수신하고, 상기 암호화된 랜덤값이 상기 전자제어유닛으로부터 상기 다수의 제어 장치 중 제2 제어 장치에 전달되는 시간에 대응하는 전달 시간 정보를 생성하며, 생성된 전달 시간 정보를 토대로 기 저장된 다수의 해독 함수 중 하나의 해독 함수를 설정한 후 설정된 해독 함수 및 랜덤값을 이용하여 차량 데이터에 대한 제2 인증값을 연산하고, 상기 제1 제어장치의 제1 인증값과 상기 연산된 제2 인증값의 일치 여부를 토대로 차량용 데이터에 대한 인증을 실행하고, 인증 성공 시 상기 차량 데이터를 암호화키를 토대로 복호화하여 차량용 데이터를 획득하는 상기 제2 제어 장치를 포함하고,
    상기 제1 제어 장치는, 카드키로부터 제공되는 차량 데이터를 암호화하여 엔진제어유닛으로 전달하는 이모빌라이저제어유닛이고,
    상기 제2 제어 장치는, 상기 이모빌라이저제어유닛으로부터 공급되는 차량 데이터에 대한 인증 성공 시 획득된 차량 데이터로 엔진을 구동하는 엔진제어유닛으로 구비되는 것을 특징으로 하는 차량 데이터 인증 시스템.
  10. 삭제
  11. 제9항에 있어서, 상기 이모빌라이저제어유닛은,
    상기 암호화된 랜덤값의 전달 시간을 카운팅하여 전달 시간 정보를 생성하는 전달 시간 정보 생성모듈과
    생성된 전달 시간 정보에 따라 기 저장된 다수의 해독 함수 중 하나의 해독 함수를 설정하는 해독 함수 설정 모듈과,
    정해진 하나의 해독 함수 및 랜덤값을 이용하여 차량 데이터에 대한 제1 인증값을 연산하는 제1 인증값 연산 모듈과,
    상기 차량 데이터를 기 생성된 암호화키로 암호화하여 암호화된 차량 데이터 및 제1 인증값이 포함된 네트워크 패킷을 엔진제어유닛으로 전송하는 네트워크 패킷 전달 모듈을 포함하는 것을 특징으로 하는 차량 데이터 인증 시스템.
  12. 제11항에 있어서, 상기 엔진제어유닛은,
    상기 암호화된 랜덤값의 전달 시간을 측정하여 전달 시간 정보를 생성하는 전달 시간 정보 생성 모듈과,
    기 저장된 다수의 해독 함수 중 하나의 해독 함수를 상기 생성된 전달 시간 정보에 따라 선택하는 해독 함수 설정 모듈과,
    선택된 해독 함수 및 랜덤값을 이용하여 차량 데이터에 대한 제2 인증값을 연산하는 제2 인증값 연산 모듈과,
    상기 제2 인증값 연산 모듈의 제2 인증값과 상기 이모빌라이저제어유닛의 제1 인증값의 일치 여부를 토대로 상기 이모빌라이저제어유닛으로부터 공급된 차량 데이터에 대한 인증을 실행하는 인증 모듈과,
    상기 인증 모듈의 인증 성공 시 상기 차량 데이터를 기 생성된 암호화키로 복호화하여 차량 데이터를 획득하고 획득된 차량 데이터를 토대로 엔진을 구동하는 차량 데이터 획득 모듈을 포함하도록 구비되는 것을 특징으로 하는 차량 데이터 인증 시스템.
  13. 제11항 및 제12항 중 한 항에 있어서, 상기 해독 함수 설정 모듈은,
    상기 암호화된 랜덤값의 전달 시간을 카운팅하여 생성된 전달 시간 정보를 토대로 다수의 소정 범위를 설정하고,
    설정된 다수의 소정 범위 별로 각각의 해독 함수를 저장하며,
    수신된 전달 시간 정보의 소정 범위에 대응되는 해독 함수로 다수의 해독 함수 중 하나의 해독 함수로 설정하도록 구비되는 것을 특징으로 하는 차량 데이터 인증 시스템.
  14. 제11항 및 제12항 중 한 항에 있어서, 상기 해독 함수 설정 모듈은,
    상기 암호화된 랜덤값의 전달 시간을 카운팅하여 생성된 전달 시간 정보를 토대로 기 저장된 다수의 해독 함수 중 하나의 해독 함수를 선택하기 위한 소정 조건을 설정하고,
    상기 전달 시간 정보가 상기 소정 조건을 만족하는 경우 현재 해독 함수를 기 정해진 순서에 따른 해독 함수로 변경하도록 구비되는 것을 특징으로 하는 차량 데이터 인증 시스템.
  15. 제11항 및 제12항 중 한 항에 있어서, 상기 해독 함수 설정 모듈은,
    수신된 전달 시간 정보의 데이터의 합이 짝수 또는 홀수 여부에 따라 해독 함수의 변경인 지를 판정하고,
    판정 결과에 해독 함수 변경인 경우 다수의 해독 함수 중 하나의 해독 함수를 현재 해독 함수를 기준으로 기 정해진 순서의 다음 해독 함수로 설정하도록 구비되는 것을 특징으로 하는 차량 데이터 인증 시스템.
  16. 제11항 및 제12항 중 한 항에 있어서, 상기 해독 함수 설정 모듈은,
    수신된 전달 시간 정보가 기 설정된 소정 범위에 포함되는 경우 해독 함수의 변경으로 판정하고,
    판정 결과에 따라 다수의 해독 함수 중 하나의 해독 함수를 상기 소정 범위에 대응되어 저장된 해독 함수로 설정하도록 구비되는 것을 특징으로 하는 차량 데이터 인증 시스템.
KR1020140032332A 2014-03-19 2014-03-19 차량용 통신 데이터 인증 방법 및 시스템 Active KR102236282B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140032332A KR102236282B1 (ko) 2014-03-19 2014-03-19 차량용 통신 데이터 인증 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140032332A KR102236282B1 (ko) 2014-03-19 2014-03-19 차량용 통신 데이터 인증 방법 및 시스템

Publications (2)

Publication Number Publication Date
KR20150109202A KR20150109202A (ko) 2015-10-01
KR102236282B1 true KR102236282B1 (ko) 2021-04-05

Family

ID=54338308

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140032332A Active KR102236282B1 (ko) 2014-03-19 2014-03-19 차량용 통신 데이터 인증 방법 및 시스템

Country Status (1)

Country Link
KR (1) KR102236282B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101831134B1 (ko) 2016-05-17 2018-02-26 현대자동차주식회사 암호화를 적용한 제어기 보안 방법 및 그 장치
WO2018026030A1 (ko) 2016-08-03 2018-02-08 엘지전자 주식회사 차량 및 그 제어방법
KR20200059930A (ko) 2018-11-22 2020-05-29 현대자동차주식회사 차량 및 그 제어 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012120350A2 (en) 2011-03-04 2012-09-13 Toyota Jidosha Kabushiki Kaisha Vehicle network system

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101048286B1 (ko) * 2008-12-30 2011-07-13 한국전기연구원 Scada 통신 보안을 위한 다중 암호화 장치 및 그 방법
KR101269086B1 (ko) * 2011-08-22 2013-05-29 고려대학교 산학협력단 차량용 데이터의 인증 및 획득 방법 및 시스템

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012120350A2 (en) 2011-03-04 2012-09-13 Toyota Jidosha Kabushiki Kaisha Vehicle network system

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
정민경 외 3인, 스마트카드를 이용한 원격 시스템 사용자 인증 프로토콜, 한국산학기술학회논문지, 제10권 제3호, 2009, 572-578페이지.
조아람 외 4인, CAN 버스 공격에 안전한 메시지 인증 및 키 분배 메커니즘, 정보보호학회논문지 제22권 제5호, 2012.10, 1057-1068페이지.

Also Published As

Publication number Publication date
KR20150109202A (ko) 2015-10-01

Similar Documents

Publication Publication Date Title
JP5310761B2 (ja) 車両ネットワークシステム
Woo et al. A practical wireless attack on the connected car and security protocol for in-vehicle CAN
KR101356476B1 (ko) 차량용 데이터의 인증 및 획득 방법
US9252945B2 (en) Method for recognizing a manipulation of a sensor and/or sensor data of the sensor
US10708062B2 (en) In-vehicle information communication system and authentication method
US20160147979A1 (en) Information processing system, reading apparatus, information processing apparatus, and information processing method
CN104426669B (zh) 用于受保护地传送数据的方法
JP2010011400A (ja) 共通鍵方式の暗号通信システム
KR101269086B1 (ko) 차량용 데이터의 인증 및 획득 방법 및 시스템
CN106257863A (zh) 用于防止待经由总线系统传输的有效数据包被操纵的方法
US9165148B2 (en) Generating secure device secret key
CN104836784B (zh) 一种信息处理方法、客户端和服务器
US9998476B2 (en) Data distribution apparatus, communication system, moving object, and data distribution method
JP6625293B2 (ja) 鍵管理装置および通信機器
TW201735578A (zh) 受控的安全碼認證
CN113162928B (zh) 通信方法、装置、ecu、车辆及存储介质
CN112398894A (zh) 车用的安全验证方法及装置
CN114793184B (zh) 一种基于第三方密钥管理节点的安全芯片通信方法及装置
KR102415628B1 (ko) Dim을 이용한 드론 인증 방법 및 장치
JPWO2018047510A1 (ja) 車載用処理装置
CN108881280A (zh) 接入方法、内容分发网络系统及接入系统
KR102236282B1 (ko) 차량용 통신 데이터 인증 방법 및 시스템
CN108242997B (zh) 安全通信的方法与设备
KR101974411B1 (ko) 차량 내 보안 통신 지원 장치 및 그 동작 방법
KR20070096023A (ko) 보안 호스트 인터페이스

Legal Events

Date Code Title Description
PA0109 Patent application

St.27 status event code: A-0-1-A10-A12-nap-PA0109

PN2301 Change of applicant

St.27 status event code: A-3-3-R10-R13-asn-PN2301

St.27 status event code: A-3-3-R10-R11-asn-PN2301

PG1501 Laying open of application

St.27 status event code: A-1-1-Q10-Q12-nap-PG1501

P22-X000 Classification modified

St.27 status event code: A-2-2-P10-P22-nap-X000

PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

D13-X000 Search requested

St.27 status event code: A-1-2-D10-D13-srh-X000

D14-X000 Search report completed

St.27 status event code: A-1-2-D10-D14-srh-X000

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

AMND Amendment
P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

E601 Decision to refuse application
PE0601 Decision on rejection of patent

St.27 status event code: N-2-6-B10-B15-exm-PE0601

X091 Application refused [patent]
AMND Amendment
E13-X000 Pre-grant limitation requested

St.27 status event code: A-2-3-E10-E13-lim-X000

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

PX0901 Re-examination

St.27 status event code: A-2-3-E10-E12-rex-PX0901

PX0701 Decision of registration after re-examination

St.27 status event code: A-3-4-F10-F13-rex-PX0701

X701 Decision to grant (after re-examination)
PN2301 Change of applicant

St.27 status event code: A-3-3-R10-R13-asn-PN2301

St.27 status event code: A-3-3-R10-R11-asn-PN2301

PN2301 Change of applicant

St.27 status event code: A-3-3-R10-R13-asn-PN2301

St.27 status event code: A-3-3-R10-R11-asn-PN2301

GRNT Written decision to grant
PR0701 Registration of establishment

St.27 status event code: A-2-4-F10-F11-exm-PR0701

PR1002 Payment of registration fee

St.27 status event code: A-2-2-U10-U11-oth-PR1002

Fee payment year number: 1

PG1601 Publication of registration

St.27 status event code: A-4-4-Q10-Q13-nap-PG1601

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 4

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R11-asn-PN2301

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R14-asn-PN2301

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 5