KR20190014391A - Hmac 기반의 동적 can id 생성 및 운용 장치, 및 그 방법 - Google Patents

Hmac 기반의 동적 can id 생성 및 운용 장치, 및 그 방법 Download PDF

Info

Publication number
KR20190014391A
KR20190014391A KR1020170098153A KR20170098153A KR20190014391A KR 20190014391 A KR20190014391 A KR 20190014391A KR 1020170098153 A KR1020170098153 A KR 1020170098153A KR 20170098153 A KR20170098153 A KR 20170098153A KR 20190014391 A KR20190014391 A KR 20190014391A
Authority
KR
South Korea
Prior art keywords
dynamic
priority
generating
generation
data frame
Prior art date
Application number
KR1020170098153A
Other languages
English (en)
Other versions
KR102364656B1 (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 KR1020170098153A priority Critical patent/KR102364656B1/ko
Priority to US15/994,049 priority patent/US20190044730A1/en
Publication of KR20190014391A publication Critical patent/KR20190014391A/ko
Application granted granted Critical
Publication of KR102364656B1 publication Critical patent/KR102364656B1/ko

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/3236Cryptographic 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 using cryptographic hash functions
    • H04L9/3242Cryptographic 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 using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/4011
    • 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
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40143Bus networks involving priority mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network 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/0435Network 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1433Vulnerability analysis
    • 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/06Cryptographic 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/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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
    • H04L9/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time 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/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/3226Cryptographic 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 using a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3228One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-key
    • 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/3271Cryptographic 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 using challenge-response
    • H04L9/3273Cryptographic 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 using challenge-response for mutual authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40215Controller Area Network CAN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40267Bus for use in transportation systems
    • H04L2012/40273Bus for use in transportation systems the transportation system being a vehicle
    • 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

Abstract

본 발명의 일 실시예는, 동적 CAN(Controller Area Network) ID 생성 및 운용 장치에 있어서, 베이스 ID가 되는 우선순위 ID(Priority ID)를 생성하는 우선순위 ID 생성부; 동적으로 변경되는 동적 ID(Dynamic ID)를 생성하는 동적 ID 생성부; 및 상기 우선순위 ID 및 상기 동적 ID로 구성된 동적 CAN ID와 데이터를 합친 데이터 프레임을 송수신하는 통신부를 포함하는, 동적 CAN ID 생성 및 운용 장치를 제공한다.

Description

HMAC 기반의 동적 CAN ID 생성 및 운용 장치, 및 그 방법 {APPARATUS AND METHOD FOR GENERATING AND OPERATING DYNAMIC CAN ID BASED ON HMAC}
본 발명은 자동차 내부 네트워크를 대상으로 수행되는 취약점 분석 및 강제 제어 공격을 무력화 시키기 위한 능동적 방어 기술로, 자동차 내부에 탑재된 전자제어장치(ECU)들이 사용하고 있는 고정된 CAN ID를 동적으로 변경함으로써 공격에 소요되는 비용을 증가시키는 기술에 관한 것이다.
자동차-정보통신기술 융합의 발전과 함께 자동차에는 다양한 전자제어장치(ECU: Electronic Control Unit)가 탑재되고 있다. 자동차에 탑재되는 ECU가 증가하면서 자동차 내부 네트워크의 복잡도는 매우 높아졌다. 이에, Bosch는 효율적인 자동차 내부 네트워크 구축을 위해 CAN(Controller Area Network)를 개발했다. CAN을 개발할 당시 자동차 내부 네트워크는 매우 폐쇄적인 환경이었기 때문에 CAN 설계 당시 정보 보호 기능은 적용되지 않았다.
최근 자동차와 인터넷 망이 항상 연결된 커넥티드카 서비스가 상용화 되면서 자동차를 대상으로 수행되는 각종 사이버 공격이 발생하고 있다. 2010년 이후 지금까지 발표된 자동차 강제 제어 공격 연구들은 CAN에서 데이터 프레임 인증, ECU 인증 등을 포함하는 인증 기능을 제공하지 않는 것을 자동차 해킹의 근본적인 원인이라고 지적했다.
지난 10년간, CAN에서 인증 문제를 해결하기 위한 많은 연구들이 발표되었지만, 기존 연구들이 제안한 보안 기술들은 다음과 같은 한계를 지니고 있다.
첫째, CAN 데이터 페이로드(CAN data payload)의 크기가 너무 작아서 충분히 안전한 크기의 MAC(Message Authentication Code)을 사용할 수 없다. 보안(security)과 가용성(availability) 사이의 트레이드오프(tradeoff)가 발생한다.
둘째, MAC을 사용하기 위해 추가적인 데이터 프레임을 전송한다면 인증 지연이 발생하고 버스 로드(bus load)를 상승시킨다.
셋째, CRC 필드 또는 확장 ID(Extended ID) 필드를 이용하여 MAC을 전송하는 보안 프로토콜은 표준 CAN에 적용할 수 없다. 즉, 새로운 유형의 CAN 프로토콜이 개발되어야 사용할 수 있다.
넷째, CAN의 제한적인 특성 때문에 실시간 데이터 처리를 지원하는 데이터 프레임 인증 기술을 사용할 수 없다.
보안성과 가용성을 절충한 인증 기술을 CAN에 적용할 수는 있지만, 정적인 보안정책을 사용할 경우 공격자는 쉽게 인증 기능을 우회 할 수 있다. 특히, 대부분의 기존 연구들이 제안하고 있는 경량 메시지 인증 코드(Truncated MAC) 사용 방식은 충돌쌍 공격에 매우 취약하다.
이러한 이유 때문에 자동차 제조사에서는 CAN의 인증 문제를 완벽하게 해결하지 못하고 있다. CAN의 근본적인 취약점을 해결하지 못한다면 앞으로 더 많은 자동차 해킹 사례가 발생할 것이다.
전술한 배경기술은 발명자가 본 발명의 도출을 위해 보유하고 있었거나, 본 발명의 도출 과정에서 습득한 기술 정보로서, 반드시 본 발명의 출원 전에 일반 공중에게 공개된 공지기술이라할 수는 없다.
국내 등록특허공보 제10-1748080호
본 발명의 목적은 자동차 내부에 탑재된 ECU들이 사용하는 CAN ID를 동적으로 생성하고 운용하는 장치 및 그 방법을 제공하는 것이다.
또한, 본 발명의 목적은 HMAC(Hash based Message Authentication Code)을 이용하여 동적 CAN ID를 생성하고 동기화 시키는 장치 및 그 방법을 제공하는 것이다.
본 발명의 일 실시예는, 동적 CAN(Controller Area Network) ID 생성 및 운용 장치에 있어서, 베이스 ID가 되는 우선순위 ID(Priority ID)를 생성하는 우선순위 ID 생성부; 동적으로 변경되는 동적 ID(Dynamic ID)를 생성하는 동적 ID 생성부; 및 상기 우선순위 ID 및 상기 동적 ID로 구성된 동적 CAN ID와 데이터를 합친 데이터 프레임을 송수신하는 통신부를 포함하는, 동적 CAN ID 생성 및 운용 장치를 제공한다
이때, 다른 장치로부터 데이터 프레임을 수신한 경우, 상기 동적 ID와 동일한 방식으로 검증용 동적 ID를 생성하고, 상기 검증용 동적 ID를 이용하여 상기 수신 데이터 프레임에 포함된 동적 ID를 검증하는 동적 ID 검증부를 더 포함할 수 있다.
이때, 상기 우선순위 ID는 동적으로 변경되지 않고 고정된 값으로 유지되는 것일 수 있다.
이때, 상기 우선순위 ID 생성부는 동일 서브 네트워크에 소속된 모든 장치들의 개수만큼을 표현하기에 충분한 비트가 할당된 우선순위 ID를 생성할 수 있다.
이때, 상기 우선순위 ID는 동일 서브 네트워크에 소속된 다른 장치들에 상응하는 우선순위 ID들과 서로 중복되지 않는 것일 수 있다.
이때, 상기 동적 ID 생성부는 동적 ID의 비트수와 상기 우선순위 ID의 비트수의 합이 기설정된 CAN ID 비트수가 되도록 동적 ID를 생성할 수 있다.
이때, HMAC(Hash based Message Authentication Code)에서 이용할 해시를 생성하기 위한 일회성 키(One-Time Key)를 생성하는 일회성 키 생성부를 더 포함하고, 상기 동적 ID 생성부는 상기 일회성 키를 이용하여 동적 ID를 생성할 수 있다.
이때, 상기 일회성 키 생성부는 이전에 생성하였던 일회성 키들 중에서 적어도 하나 이상 이용하여 새로운 일회성 키를 생성할 수 있다.
이때, 상기 동적 ID 검증부는 다른 장치로부터 데이터 프레임을 수신하기 전에 미리 상기 동적 ID와 동일한 방식으로 생성한 검증용 동적 ID를 이용하여 검증할 수 있다.
본 발명의 다른 일 실시예는, 동적 CAN(Controller Area Network) ID 생성 및 운용 방법에 있어서, 베이스 ID가 되는 우선순위 ID(Priority ID)를 생성하는 단계; 동적으로 변경되는 동적 ID(Dynamic ID)를 생성하는 단계; 및 상기 우선순위 ID 및 상기 동적 ID로 구성된 동적 CAN ID와 데이터를 합친 데이터 프레임을 송수신하는 단계를 포함하는, 동적 CAN ID 생성 및 운용 방법을 제공한다
이때, 다른 장치로부터 데이터 프레임을 수신한 경우, 상기 동적 ID와 동일한 방식으로 검증용 동적 ID를 생성하고, 상기 검증용 동적 ID를 이용하여 상기 수신 데이터 프레임에 포함된 동적 ID를 검증하는 단계를 더 포함할 수 있다.
이때, 상기 우선순위 ID는 동적으로 변경되지 않고 고정된 값으로 유지되는 것일 수 있다.
이때, 상기 우선순위 ID 생성 단계는 동일 서브 네트워크에 소속된 모든 장치들의 개수만큼을 표현하기에 충분한 비트가 할당된 우선순위 ID를 생성할 수 있다.
이때, 상기 우선순위 ID는 동일 서브 네트워크에 소속된 다른 장치들에 상응하는 우선순위 ID들과 서로 중복되지 않는 것일 수 있다.
이때, 상기 동적 ID 생성 단계는 동적 ID의 비트수와 상기 우선순위 ID의 비트수의 합이 기설정된 CAN ID 비트수가 되도록 동적 ID를 생성할 수 있다.
이때, HMAC(Hash based Message Authentication Code)에서 이용할 해시를 생성하기 위한 일회성 키(One-Time Key)를 생성하는 단계를 더 포함하고, 상기 동적 ID 생성 단계는 상기 일회성 키를 이용하여 동적 ID를 생성할 수 있다.
이때, 상기 일회성 키 생성 단계는 이전에 생성하였던 일회성 키들 중에서 적어도 하나 이상 이용하여 새로운 일회성 키를 생성할 수 있다.
이때, 상기 동적 ID 검증 단계는 다른 장치로부터 데이터 프레임을 수신하기 전에 미리 상기 동적 ID와 동일한 방식으로 생성한 검증용 동적 ID를 이용하여 검증할 수 있다.
본 발명에 따르면, 동적 CAN ID 생성 및 운용 장치 및 그 방법에 의해, CAN ID를 동적으로 변경하는 MTD(Moving Target Defense) 전략을 사용함으로써 공격자의 공격행위에 소요되는 비용을 증가시킬 수 있다.
또한, 본 발명은 동적 CAN ID 생성 및 운용 장치 및 그 방법에 의해, 자동차 내부에 구축된 CAN 환경에서 특정 서브네트워크에 소속된 정당한 ECU들 사이의 인증 기능과 통신 메시지 인증 기능을 제공할 수 있다.
도 1은 본 발명의 일 실시예에 따른 동적 CAN ID 생성 및 운용 시스템의 구성을 나타낸 도면이다.
도 2는 본 발명의 일 실시예에 따른 동적 CAN ID 생성 및 운영 과정을 나타낸 도면이다.
도 3은 도 2에 도시된 상호 인증 및 세션키 분배 과정의 일 예를 나타낸 도면이다.
도 4는 도 1에 도시된 동적 CAN ID 생성 및 운용 장치의 일 예를 나타낸 블록도이다.
도 5는 종래의 CAN ID와 본 발명의 일 실시예에서 생성하는 CAN ID의 일 예를 비교한 도면이다.
도 6은 본 발명의 일 실시예에서 생성하는 동적 CAN ID의 예시들을 나타낸 도면이다.
도 7은 본 발명의 일 실시예에 따른 동적 CAN ID 생성 및 운용 방법을 나타낸 동작 흐름도이다.
도 8은 본 발명의 일 실시예에 따른 동적 CAN ID 생성 및 운용 장치 간의 데이터 프레임 송수신 과정을 나타낸 도면이다.
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 본 발명의 효과 및 특징, 그리고 그것들을 달성하는 방법은 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 여기서, 반복되는 설명, 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능, 및 구성에 대한 상세한 설명은 생략한다. 본 발명의 실시형태는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위해서 제공되는 것이다. 따라서, 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.
그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성되어 다양한 형태로 구현될 수 있다. 이하의 실시예에서, 제1, 제2 등의 용어는 한정적인 의미가 아니라 하나의 구성 요소를 다른 구성 요소와 구별하는 목적으로 사용되었다. 또한, 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는한 복수의 표현을 포함한다. 또한, 포함하다 또는 가지다 등의 용어는 명세서상에 기재된 특징, 또는 구성요소가 존재함을 의미하는 것이고, 하나 이상의 다른 특징들 또는 구성요소가 부가될 가능성을 미리 배제하는 것은 아니다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예들을 상세히 설명하기로 하며, 도면을 참조하여 설명할 때 동일하거나 대응하는 구성 요소는 동일한 도면 부호를 부여하고 이에 대한 중복되는 설명은 생략하기로한다.
본 발명의 실시예들은 MTD(Moving Target Defense) 전략을 이용하여 공격행위의 비용을 상승시켜 보안성을 높이고자 한다. 여기서, MTD는 사이버 공격으로부터 중요 시스템을 보호하기 위하여 중요 시스템의 구성요소들을 동적으로 변화시키는 방어 기술이다. MTD 이전의 방어 기술들은 정적 설정을 사용했다. (예: IP, Port, names, software stacks, networks, and configuration parameters). 정적 설정은 공격자에게 많은 시간과 정보를 제공한다. 이처럼 공격자가 우세한 비대칭적(asymmetric) 조건 때문에 중요 시스템을 완벽하게 방어하는 것은 매우 어렵다. 이러한 비대칭적 공방 관계를 역전시키기 위해 MTD 기술이 정의되었다. MTD는 공격자와 중요 시스템사이의 비대칭적 조건을 역전시키는 능동적 보안 기술이다.
본 발명의 실시예들은 CAN(Controller Area Network)에서 전자제어장치(ECU: Electronic Control Unit)들이 사용하는 CAN ID를 동적으로 변이함으로써 정당한 ECU들만 통신에 참여할 수 있는 동적 CAN ID(Dynamic CAN ID) 생성 및 운용 방법을 제안한다. 특정 서브 네트워크에 소속된 정당한 ECU들만 상호 간에 변경되는 동적 CAN ID를 동기화 시킴으로써 데이터 프레임 인증 기능과 ECU 인증 기능을 동시에 제공할 수 있다. 반면에 일반의 자동차 환경에서는 사전에 할당된 CAN ID가 변경되지 않는 차이점이 존재한다.
하기 표 1은 본 발명에서 사용하는 표기법에 대한 설명을 나타낸다. 여기서, 게이트웨이 ECU(Gateway ECU)는 신뢰할 수 있는 파티(trusted party)를 의미할 수 있다.
DID Dynamic ID
BID Base ID
GECU Gateway ECU
ECU_i_j j 서브네트워크에 소속된 i 번째 ECU
CTR_i_j ECU_i_j의 데이터 프레임 전송 카운터
DID_i_j_k_c ECU_i_j 가 k번째 세션에서 c번째 데이터 프레임을 보낼 때 사용하는 Dynamic ID(c는 CTR_i_j 과 동일)
K_i_j GECU와 ECU_i_j 사이에 공유된 대칭키(세션키 분배과정에 사용되는 인증키)
KGK_j j 서브네트워크에 소속된 ECU들과 GECU 사이에 공유된 대칭키(세션키 분배과정에서 사용되는 키 생성 키)
GSK_j_k j 서브네트워크에 소속된 ECU들이 k번째 세션에서 사용되는 그룹 세션키
OTK_j_k_c j 서브네트워크에 소속된 ECU들이 k번째 세션에서, c번째 데이터 프레임을 전송할 때 DID_i_j_k_c 생성에 사용되는 One-Time 키
Seed_j_k j 서브네트워크에 소속된 ECU들이 k번째 세션에서 GSK_j_k 생성에 사용되는 값
R_i_j ECU_i_j 가 생성한 난수
α_j j 서브 네트워크에 소속된 전체 ECU의 개수
Hx( ) x를 키로 사용하는 일방향 해쉬 함수
HX: {0,1}* ⅹ key -> {0,1}128
KDFx( ) x를 키로 사용하는 키 생성 함수
도 1은 본 발명의 일 실시예에 따른 동적 CAN ID 생성 및 운용 시스템(1)의 구성을 나타낸 도면이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 동적 CAN ID 생성 및 운용 시스템(1)에서는 복수개의 동적 CAN ID 생성 및 운용 장치(100)가 상호 연결된다.
본 발명의 일 실시예에 따른 동적 CAN ID 생성 및 운용 장치(100)는 상호 연결되고 동일한 서브 네트워크에 속한 다른 장치들과 보안 통신을 수행하기 위하여, 동적 CAN ID 생성 및 운용 장치(100)의 베이스 ID에 해당하는 우선순위 ID(Priority ID)를 생성하고, 동적으로 변경되는 동적 ID(Dynamic ID)를 생성하고, 우선순위 ID와 동적 ID로 구성된 동적 CAN ID와 데이터를 합친 데이터 프레임을 송수신하는 것을 특징으로 한다.
선택적 실시예에서, 동적 CAN ID 생성 및 운용 장치(100)는 다른 장치로부터 데이터 프레임을 수신한 경우, 동적 ID를 생성부를 통하여 검증용 동적 ID를 생성하고, 검증용 동적 ID를 이용하여 수신 데이터 프레임에 포함된 동적 ID를 검증할 수 있다.
즉, 동일 서브 네트워크에 속하는 동적 CAN ID 생성 및 운용 장치(100) 간에 동일한 방법으로 동적 ID를 생성하며, 동일한 방법으로 생성한 동적 ID를 수신한 동적 ID와 비교하여 검증을 수행할 수 있다.
선택적 실시예에서, 동적 CAN ID 생성 및 운용 장치(100)에서 생성되는 우선순위 ID는 동적으로 변경되지 않고 고정된 값으로 유지될 수 있다.
즉, 이는 사전에 정의된 데이터 프레임 우선순위가 이후에 변경되지 않음을 의미할 수 있다. CAN은 CSMA/CA(Carrier Sense Multiple Access with Collision Avoidance) 기법을 이용하여 데이터 프레임을 전송할 수 있는데, 이때 CAN ID 비트의 값이 가장 낮은 노드가 전송 우선순위를 획득할 수 있다. 따라서, 우선순위 ID가 변경되지 않도록 하여 데이터 프레임 우선순위가 변경되지 않도록 할 수 있다.
선택적 실시예에서, 동적 CAN ID 생성 및 운용 장치(100)는 우선순위 ID를 생성할 때, 동적 CAN ID 생성 및 운용 장치(100)와 동일 서브 네트워크에 소속된 장치들의 개수를 기반으로, 상기 장치들에 상응하는 우선순위 ID 간에 중복이 일어나지 않도록 하는 비트수만큼을 최소한의 길이로 할 수 있다.
예컨대, 동적 CAN ID 생성 및 운용 장치(100)와 동일 서브 네트워크에 소속된 장치가 총 5개인 경우에는, 5개의 장치들에 상응하는 우선순위 ID 간에 중복이 일어나지 않도록 5개의 숫자를 표현할 수 있는 3비트를 최소한의 길이로 하여 우선순위 ID를 생성할 수 있다. 따라서, 이 경우에 있어서 우선순위 ID는 3비트 이상으로 설정될 수 있다.
이때, 우선순위 ID는 동일 서브 네트워크에 소속된 장치의 총 개수와 게이트웨이 ECU의 개수를 더한 숫자만큼을 표현할 수 있는 비트수를 최소한의 길이로 할 수 있다.
선택적 실시예에서, 동적 CAN ID 생성 및 운용 장치(100)에서 생성되는 우선순위 ID는 동적 CAN ID 생성 및 운용 장치(100)와 동일 서브 네트워크에 소속된 다른 장치들에 상응하는 우선순위 ID와 중복되지 않을 수 있다.
즉, 동일한 서브 네트워크에 소속된 장치들은 각각 유일한 우선순위 ID를 가질 수 있다.
이때, 동적 CAN ID 생성 및 운용 장치(100)는 동적 CAN ID를 생성할 때 Truncated HMAC을 이용할 수 있는데, 이 경우 해시 함수의 특성으로 인하여 동일한 출력값이 형성되는 충돌 문제가 발생할 수 있다. 따라서 유일한 우선순위 ID를 생성함으로써, 서로 다른 CAN ID 생성 및 운용 장치(100)가 동시에 동일한 동적 CAN ID를 생성하여 사용하더라도 우선순위 ID가 동일 서브 네트워크에서 유일하기 때문에 CAN ID의 충돌 회피를 보장할 수 있다.
선택적 실시예에서, 동적 CAN ID 생성 및 운용 장치(100)는 동적 ID를 생성할 때, 기설정된 CAN ID 비트수에서 우선순위 ID에 상응하는 비트수만큼을 차감한 비트수를 동적 ID의 길이가 되도록 할 수 있다.
예컨대, 동적 CAN ID 생성 및 운용 장치(100)는 기설정된 CAN ID의 비트수가 29비트인 경우, 우선순위 ID가 4비트라면 동적 ID는 25비트를 길이로 갖도록 할 수 있다.
선택적 실시예에서, 동적 CAN ID 생성 및 운용 장치(100)는 HMAC(Hash based Message Authentication Code)에서 이용할 해시를 생성하기 위하여 일회성 키(One-Time Key)를 생성하고, 일회성 키를 이용하여 동적 ID를 생성할 수 있다.
이때, 동적 CAN ID 생성 및 운용 장치(100)는 일회성 키를 생성할 때, 현재 세션의 번호, 현재 데이터 프레임의 번호 및 그룹 세션키 중에서 하나 이상을 이용할 수 있다.
선택적 실시예에서, 동적 CAN ID 생성 및 운용 장치(100)는 일회성 키를 생성할 때 이전에 생성하였던 일회성 키들 중에서 적어도 하나 이상을 이용하여 새로운 일회성 키를 생성하도록 할 수 있다.
예컨대, 동적 CAN ID 생성 및 운용 장치(100)가 최후에 생성하였던 일회성 키를 이용하여 새로운 일회성 키를 생성할 수 있다.
선택적 실시예에서, 동적 CAN ID 생성 및 운용 장치(100)는 수신 데이터 프레임에 포함된 동적 ID를 검증할 때, 다른 장치로부터 데이터 프레임을 수신하기 이전에 미리 검증용 동적 ID를 생성하고, 미리 생성된 검증용 동적 ID를 이용하여 검증을 수행할 수 있다.
즉, 미리 검증용 동적 ID를 생성함으로써 데이터 프레임을 수신하였을 때의 동적 ID 검증에 소요되는 시간을 단축시킬 수 있다.
도 2는 본 발명의 일 실시예에 따른 동적 CAN ID 생성 및 운영 과정을 나타낸 도면이다.
도 2는 j 서브 네트워크에 속하는 ECU에 대하여 동적 CAN ID를 생성하고 운영하는 과정의 일 예를 나타낸다.
다만, 여기서 개시하는 설명 중에서 ECU를 인증하고 세션키를 분배하는 과정은 본 발명의 대상이 되는 동적 CAN ID를 생성하고 운영하는 기술에서 이용할 수 있는 하나의 예시에 불과하며, 다른 과정 또는 방법이 이용될 수도 있다.
도 2를 참조하면, 본 발명의 일 실시예에 따른 동적 CAN ID를 생성 및 운영하는 과정은, 먼저 게이트웨이 ECU(GECU, 21)와 j 서브 네트워크에 속한 ECU 장치들(22_1 내지 22_i)간에 ECU 인증을 수행하고 세션키를 분배한다.
상세히, 게이트웨이 ECU(21)와 j 서브 네트워크의 1번 ECU에 해당하는 ECU_1_j(22_1)가 서로 대칭키 기반의 상호 인증을 수행하고 세션키를 분배한다(S201_1).
또한, 게이트웨이 ECU(21)와 j 서브 네트워크의 2번 ECU에 해당하는 ECU_2_j(22_2)가 서로 대칭키 기반의 상호 인증을 수행하고 세션키를 분배한다(S201_2).
위와 같은 상호 인증 및 세션키 분배 과정을 반복하여, 게이트웨이 ECU(21)와 j 서브 네트워크의 마지막 ECU에 해당하는 ECU_i_j(22_i)가 서로 대칭키 기반의 상호 인증을 수행하고 세션키를 분배한다(S201_i).
상기 상호 인증 및 세션키를 분배하는 단계들(S201_1 내지 S201_i)을 수행한 이후에는, 각각의 ECU(22_1 내지 22_i)가 동적 CAN ID를 이용하여 보안 통신을 수행한다(S203).
도 3은 도 2에 도시된 상호 인증 및 세션키 분배 과정(S201_i)의 일 예를 나타낸 도면이다.
도 3은 도 2에 도시된 j 서브 네트워크에 포함된 ECU와 게이트웨이 ECU 간의 상호 인증 및 세션키 분배 과정의 일 예를 나타낸 것으로, 이는 동적 CAN ID 생성 및 운용하기 위한 사전 준비 단계이다. 일반적인 IT환경에서는 사용중인 인증 기법(인증서 기반, 비 인증서 기반)과 키 분배 기법을 사용할 수 있으며, 도 3에서는 대칭키 기반의 상호인증 및 키 분배 기법을 예시로서 나타낸다.
도 3을 참조하면, ECU 인증 및 세션키 분배를 위해 Authenticated Key Exchange Protocol 2(AKEP2)는 사용할 수 있다.
AKEP2는 상호 인증과 세션키 분배 기능을 제공한다. 동일 서브네트워크에 소속된 ECU들은 정해진 순서에 따라 AKEP2 프로토콜을 수행한다. 특정 ECU가 게이트웨이 ECU와 AKEP2프로토콜을 수행할 때 그 외 ECU들은 통신에 참여하지 않고 자신의 차례를 기다린다. 그리고, 프로토콜 수행 과정은 도 3에 도시된 바와 같이 세 방향 핸드셰이크(3-way handshake)로 구성된다.
상세히, 상호 인증 및 세션키 분배 과정은, j 서브 네트워크에 속하는 i번째 ECU에 해당하는 ECU_i_j(31)가 난수 R_i_j를 생성한다(S301).
또한, 상호 인증 및 세션키 분배 과정은, ECU_i_j(31)가 게이트웨이 ECU(32)로 난수 R_i_j를 전송한다(S303).
또한, 상호 인증 및 세션키 분배 과정은, 게이트웨이 ECU(32)가 난수 시드 Seed_j_k와 MAC1(Message Authentication Code 1)을 생성한다(S305).
이때, MAC1은 해시 함수, 난수 R_i_j 및 난수 시드 Seed_j_k를 함께 이용하여 생성할 수 있다.
예컨대, MAC1은 하기 수학식 1과 같이 계산할 수 있다.
[수학식 1]
MAC1 = HK _i_j(ECU_i_j, GECU, R_i_j, Seed_j_k)
또한, 상호 인증 및 세션키 분배 과정은, 게이트웨이 ECU(32)가 ECU_i_j(31)로 난수 시드 Seed_j_k 및 MAC1을 전송한다(S307).
또한, 상호 인증 및 세션키 분배 과정은, ECU_i_j(31)가 게이트웨이 ECU(32)와 동일한 방법으로 MAC1을 생성하여 게이트웨이 ECU(32)로부터 수신한 MAC1과 비교하여 검증한다(S309).
예컨대, ECU_i_j(31)에서도 상기 수학식 1과 같이 자신이 생성하였던 난수 R_i_j와 게이트웨이 ECU(32)로부터 수신한 난수 시드 Seed_j_k를 이용하여 MAC1을 계산하여 검증할 수 있다.
또한, 상호 인증 및 세션키 분배 과정은, ECU_i_j(31)가 키 생성 함수를 이용하여 그룹 세션키 GSK_j_k를 생성한다(S311).
예컨대, 그룹 세션키 GSK_j_k는 하기 수학식 2와 같이 계산할 수 있다.
[수학식 2]
GSK_j_k = KDFKGK _j(Seed_j_k)
또한, 상호 인증 및 세션키 분배 과정은, ECU_i_j(31)가 MAC2를 생성한다(S313).
이때, MAC2는 난수 시드 Seed_j_k를 이용하여 계산할 수 있다.
예컨대, MAC2는 하기 수학식 3과 같이 계산할 수 있다.
[수학식 3]
MAC2 = HK _i_j(ECU_i_j, Seed_j_k)
또한, 상호 인증 및 세션키 분배 과정은, ECU_i_j(31)가 게이트웨이 ECU(32)로 MAC2를 전송한다(S315).
또한, 상호 인증 및 세션키 분배 과정은, 게이트웨이 ECU(32)가 ECU_i_j(31)와 동일한 방법으로 MAC2를 생성하여 ECU_i_j(31)로부터 수신한 MAC2와 비교하여 검증한다(S317).
예컨대, 게이트웨이 ECU(32)에서도 상기 수학식 3과 같이 자신이 생성하였던 난수 시드 Seed_j_k를 이용하여 MAC2을 계산하여 검증할 수 있다.
또한, 상호 인증 및 세션키 분배 과정은, ECU_i_j(31)가 키 생성 함수를 이용하여 그룹 세션키 GSK_j_k를 생성한다(S319).
예컨대, 그룹 세션키 GSK_j_k는 상기 수학식 2와 같이 계산할 수 있다.
ECU_i_j(31)와 게이트웨이 ECU(32)는 상기의 단계들(S301 내지 S319)을 통하여 3-way handshake를 진행하면서 ECU 인증과 세션키 분배를 수행한다. 정상적으로 3-way handshake 과정이 종료되면 j 서브 네트워크에 소속된 모든 ECU들은 동일한 세션키 GSK_j_k를 확보하게 된다. GSK_j_k는 향후 일회성 키(One-Time Key) 생성에 사용된다.
도 4는 도 1에 도시된 동적 CAN ID 생성 및 운용 장치(100)의 일 예를 나타낸 블록도이다.
도 4를 참조하면, 본 발명의 일 실시예에 따른 동적 CAN ID 생성 및 운용 장치(100)는 제어부(110), 통신부(120), 메모리(130), 우선순위 ID 생성부(140), 동적 ID 생성부(150), 일회성 키 생성부(160) 및 동적 ID 검증부(170) 등을 포함한다.
상세히, 제어부(110)는 일종의 중앙처리장치로서 동적 CAN ID 생성 및 운용하는 전체 과정을 제어한다. 즉, 제어부(110)는 통신부(120)를 제어하여 다른 장치들과 통신하고, 우선순위 ID 생성부(140), 동적 ID 생성부(150), 일회성 키 생성부(160) 및 동적 ID 검증부(170) 등을 제어하여 다양한 기능을 제공할 수 있다.
여기서, 제어부(110)는 프로세서(processor)와 같이 데이터를 처리할 수 있는 모든 종류의 장치를 포함할 수 있다. 여기서, '프로세서(processor)'는, 예를 들어 프로그램 내에 포함된 코드 또는 명령으로 표현된 기능을 수행하기 위해 물리적으로 구조화된 회로를 갖는, 하드웨어에 내장된 데이터 처리 장치를 의미할 수 있다. 이와 같이 하드웨어에 내장된 데이터 처리 장치의 일 예로써, 마이크로프로세서(microprocessor), 중앙처리장치(central processing unit: CPU), 프로세서 코어(processor core), 멀티프로세서(multiprocessor), ASIC(application-specific integrated circuit), FPGA(field programmable gate array) 등의 처리 장치를 망라할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.
통신부(120)는 동적 CAN ID 생성 및 운용 장치(100) 간의 송수신 신호를 전송하는데 필요한 통신 인터페이스를 제공한다.
여기서, 통신부(120)는 다른 네트워크 장치와 유무선 연결을 통해 제어 신호 또는 데이터 신호와 같은 신호를 송수신하기 위해 필요한 하드웨어 및 소프트웨어를 포함하는 장치일 수 있다.
메모리(130)는 제어부(110)가 처리하는 데이터를 일시적 또는 영구적으로 저장하는 기능을 수행한다. 여기서, 메모리(130)는 자기 저장 매체(magnetic storage media) 또는 플래시 저장 매체(flash storage media)를 포함할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.
우선순위 ID 생성부(140)는 동적 CAN ID 생성 및 운용 장치(100)의 베이스 ID가 되는 우선순위 ID(Priority ID)를 생성한다.
이때, 우선순위 ID는 동적으로 변경되지 않고 고정된 값으로 유지될 수 있다.
즉, 이는 사전에 정의된 데이터 프레임 우선순위가 이후에 변경되지 않음을 의미할 수 있다. CAN은 CSMA/CA기법을 이용하여 데이터 프레임을 전송할 수 있는데, 이때 CAN ID 비트의 값이 가장 낮은 노드가 전송 우선순위를 획득할 수 있다. 따라서, 우선순위 ID가 변경되지 않도록 하여 데이터 프레임 우선순위가 변경되지 않도록 할 수 있다.
이때, 우선순위 ID 생성부(140)는 우선순위 ID를 생성할 때, 동적 CAN ID 생성 및 운용 장치(100)와 동일 서브 네트워크에 소속된 장치들의 개수를 기반으로, 상기 장치들에 상응하는 우선순위 ID 간에 중복이 일어나지 않도록 하는 비트수만큼을 최소한의 길이로 할 수 있다.
즉, 동일 서브 네트워크에 소속된 ECU의 개수를 α 라고 하고, 우선순위 ID의 최소 비트수를 n 은 하기 수학식 4를 만족하는 자연수로 결정될 수 있다.
[수학식 4]
2n-1 < α ≤ 2n
예컨대, 동적 CAN ID 생성 및 운용 장치(100)와 동일 서브 네트워크에 소속된 장치가 총 5개인 경우에는, 5개의 장치들에 상응하는 우선순위 ID 간에 중복이 일어나지 않도록 5개의 숫자를 표현할 수 있는 3비트를 최소한의 길이로 하여 우선순위 ID를 생성할 수 있다. 따라서, 이 경우에 있어서 우선순위 ID는 3비트 이상으로 설정될 수 있다.
이때, 우선순위 ID 생성부(140)는 동적 CAN ID 생성 및 운용 장치(100)와 동일 서브 네트워크에 소속된 장치의 총 개수와 게이트웨이 ECU의 개수를 더한 숫자만큼을 표현할 수 있는 비트수를 최소한의 길이로 하여 우선순위 ID를 생성할 수 있다.
즉, 동일 서브 네트워크에 소속된 ECU의 개수를 α 라고 하고 게이트웨이 ECU가 1개인 경우라면, 우선순위 ID의 최소 비트수를 n 은 하기 수학식 5를 만족하는 자연수로 결정될 수 있다.
[수학식 5]
2n-1 ≤ α < 2n
이때, 우선순위 ID 생성부(140)는 동일 서브 네트워크에 소속된 다른 장치들에 상응하는 우선순위 ID와 중복되지 않도록 우선순위 ID를 생성할 수 있다.
즉, 동일한 서브 네트워크에 소속된 장치들은 각각 유일한 우선순위 ID를 가질 수 있다.
동적 ID 생성부(150)는 동적으로 변경되는 동적 ID(Dynamic ID)를 생성한다.
이때, 동적 ID 생성부(150)는 동적 CAN ID 생성 및 운용 장치(100)가 데이터 프레임을 송신하기 전에 동적 ID를 생성할 수 있다.
이때, 동적 ID 생성부(150)는 동적 ID를 생성할 때, 기설정된 CAN ID 비트수에서 우선순위 ID에 상응하는 비트수만큼을 차감한 비트수를 동적 ID의 길이가 되도록 할 수 있다.
예컨대, 동적 ID 생성부(150)는 기설정된 CAN ID의 비트수가 29비트인 경우, 우선순위 ID가 4비트라면 동적 ID는 25비트를 길이로 갖도록 생성할 수 있다. 이 경우, 동적 ID의 최대 크기는 29비트보다 작기 때문에 Truncated HMAC을 사용할 수 있다. Truncated HMAC은 충돌쌍 공격(Collision attack)에 취약할 수 있으므로 안전성을 보장하기 위해서 일회성 키 기반의 HMAC을 사용할 수 있다. 일회성 키는 HOTP(HMAC-based One-Time Passward)를 이용하여 생성할 수 있다.
이때, 동적 ID 생성부(150)는 일회성 키 생성부(160)에서 생성된 일회성 키를 이용하여 동적 ID를 생성할 수 있다.
일회성 키 생성부(160)는 HMAC에서 이용할 해시를 생성하기 위한 일회성 키를 생성한다.
이때, 일회성 키 생성부(160)는 일회성 키를 생성할 때, 현재 세션의 번호, 현재 데이터 프레임의 번호 및 그룹 세션키 중에서 하나 이상을 이용할 수 있다.
이때, 일회성 키 생성부(160)는 이전에 생성하였던 일회성 키들 중에서 적어도 하나 이상 이용하여 새로운 일회성 키를 생성할 수 있다.
예컨대, 일회성 키 생성부(160)가 최후에 생성하였던 일회성 키를 이용하여 새로운 일회성 키를 생성할 수 있다.
동적 ID 검증부(170)는 다른 장치로부터 데이터 프레임을 수신한 경우, 동적 ID를 생성부를 통하여 검증용 동적 ID를 생성하고, 검증용 동적 ID를 이용하여 수신 데이터 프레임에 포함된 동적 ID를 검증한다.
즉, 동일 서브 네트워크에 속하는 동적 CAN ID 생성 및 운용 장치(100) 간에 동일한 방법으로 동적 ID를 생성하며, 동일한 방법으로 생성한 동적 ID를 수신한 동적 ID와 비교하여 검증을 수행할 수 있다.
이때, 동적 ID 검증부(170)는 수신 데이터 프레임에 포함된 동적 ID를 검증할 때, 다른 장치로부터 데이터 프레임을 수신하기 이전에 미리 검증용 동적 ID를 생성하고, 미리 생성된 검증용 동적 ID를 이용하여 검증을 수행할 수 있다.
즉, 미리 검증용 동적 ID를 생성함으로써 데이터 프레임을 수신하였을 때의 동적 ID 검증에 소요되는 시간을 단축시킬 수 있다.
도 5는 종래의 CAN ID와 본 발명의 일 실시예에서 생성하는 CAN ID의 일 예를 비교한 도면이다.
도 5에는 종래의 29비트의 CAN ID(51)와 본 발명의 일 실시예에서 생성하는 29비트의 CAN ID(52)가 도시되어 있다.
도 5를 참조하면, 종래의 29비트의 CAN ID(51)는 11비트의 베이스 ID(51a)와 18비트의 확장 ID(51b)로 이루어져 있다.
하지만, 본 발명의 일 실시예에서 생성하는 29비트의 CAN ID(52)는 n비트의 베이스 ID(52a)와 (29-n)비트의 동적 ID(52b)로 이루어져 있다.
이때, 베이스 ID(52a)에 대하여 먼저 비트수를 결정하고, 베이스 ID(52a)와 동적 ID(52b)가 총 29비트가 되도록 동적 ID(52b)를 결정할 수 있다.
이때, 베이스 ID(52a)는 우선순위 ID를 의미할 수 있다.
이때, 베이스 ID(52a)에 할당되는 n비트는 위에서 서술한 바와 같이 동일 서브 네트워크에 포함된 ECU에 상응하는 우선순위 ID 간의 충돌이 없는 크기로 결정될 수 있다.
예컨대, 동적 CAN ID 생성 및 운용 장치(100)가 속하는 서브 네트워크 안에 총 5개의 ECU가 포함된 경우에는, 5개의 숫자를 표현할 수 있는 3비트 이상의 크기로 베이스 ID(52a)를 할당할 수 있다.
여기서, 우선순위 ID는 한번 정의되면 변경되지 않고, 동적 ID만 계속해서 변경된다.
도 6은 본 발명의 일 실시예에서 생성하는 동적 CAN ID의 예시들을 나타낸 도면이다.
도 6에는 j 서브 네트워크에 속하는 13번째 ECU에서 생성된 동적 CAN ID의 예시(61)와 j 서브 네트워크에 속하는 5번째 ECU에서 생성된 동적 CAN ID의 예시(62)가 도시되어 있다.
여기서, j 서브 네트워크에는 15개 이하의 ECU가 속한다고 가정한다. 따라서, 최소 4비트만으로 j 서브 네트워크에 속하는 모든 ECU에 유일한 우선순위 ID를 부여할 수 있다.
j 서브 네트워크에 속하는 13번째 ECU에서 생성된 동적 CAN ID의 예시(61)의 우선순위 ID(61a)는 4비트의 이진수로 1101(2)인 13으로 결정되고, 나머지 25비트에 대하여는 동적 ID(61b)가 할당될 수 있다.
j 서브 네트워크에 속하는 6번째 ECU에서 생성된 동적 CAN ID의 예시(62)의 우선순위 ID(62a)는 4비트의 이진수로 0101(2)인 5로 결정되고, 나머지 25비트에 대하여는 동적 ID(62b)가 할당될 수 있다.
이와 같이, 본 발명의 실시예에서는 각 ECU별 우선순위 ID가 유일하고 고정되므로, CAN ID 간의 충돌 방지 기능을 제공할 수 있으며, 데이터 프레임 우선순위에도 영향을 주지 않을 수 있다.
도 7은 본 발명의 일 실시예에 따른 동적 CAN ID 생성 및 운용 방법을 나타낸 동작 흐름도이다.
도 7을 참조하면, 본 발명의 일 실시예에 따른 동적 CAN ID 생성 및 운용 방법은 동적 CAN ID 생성 및 운용 장치(도 1의 100 참조)가, 동적 CAN ID의 베이스 ID가 되는 우선순위 ID를 생성한다(S701).
이때, 우선순위 ID는 동적으로 변경되지 않고 고정된 값으로 유지될 수 있다.
이때, 우선순위 ID를 생성할 때, 동일 서브 네트워크에 소속된 장치들의 개수를 기반으로, 상기 장치들에 상응하는 우선순위 ID 간에 중복이 일어나지 않도록 하는 비트수만큼을 최소한의 길이로 할 수 있다.
이때, 동일 서브 네트워크에 소속된 장치의 총 개수와 게이트웨이 ECU의 개수를 더한 숫자만큼을 표현할 수 있는 비트수를 최소한의 길이로 하여 우선순위 ID를 생성할 수 있다.
이때, 동일 서브 네트워크에 소속된 다른 장치들에 상응하는 우선순위 ID와 중복되지 않도록 우선순위 ID를 생성할 수 있다.
또한, 본 발명의 일 실시예에 따른 동적 CAN ID 생성 및 운용 방법은 동적 CAN ID 생성 및 운용 장치(도 1의 100 참조)가, 동적으로 변경되는 동적 ID(Dynamic ID)를 생성한다(S703).
이때, 동적 ID를 생성할 때, 기설정된 CAN ID 비트수에서 우선순위 ID에 상응하는 비트수만큼을 차감한 비트수를 동적 ID의 길이가 되도록 할 수 있다.
이때, 동적 ID를 생성할 때, 일회성 키를 이용하여 동적 ID를 생성할 수 있다.
이때, 일회성 키는 HMAC에서 이용할 해시를 생성하기 위한 키를 의미할 수 있다.
이때, 일회성 키는 현재 세션의 번호, 현재 데이터 프레임의 번호 및 그룹 세션키 중에서 하나 이상을 이용하여 생성된 것일 수 있다.
이때, 이전에 생성하였던 일회성 키들 중에서 적어도 하나 이상 이용하여 새로운 일회성 키를 생성할 수 있다.
예컨대, 최후에 생성하였던 일회성 키를 이용하여 새로운 일회성 키를 생성할 수 있다.
또한, 본 발명의 일 실시예에 따른 동적 CAN ID 생성 및 운용 방법은 동적 CAN ID 생성 및 운용 장치(도 1의 100 참조)가, 동일 서브 네트워크에 소속된 ECU와 동적 CAN ID 및 데이터를 포함하는 데이터 프레임을 송수신한다(S705).
즉, 데이터 프레임에는 우선순위 ID, 동적 ID 및 데이터가 포함되어있다.
또한, 본 발명의 일 실시예에 따른 동적 CAN ID 생성 및 운용 방법은 동적 CAN ID 생성 및 운용 장치(도 1의 100 참조)가, 수신 데이터 프레임에 포함된 동적 ID를 검증한다(S707).
이때, 단계(S603)에서와 동일한 방법으로 검증용 동적 ID를 생성하고, 검증용 동적 ID를 이용하여 수신 데이터 프레임에 포함된 동적 ID를 검증할 수 있다.
이때, 수신 데이터 프레임에 포함된 동적 ID를 검증할 때, 다른 장치로부터 데이터 프레임을 수신하기 이전에 미리 검증용 동적 ID를 생성하고, 미리 생성된 검증용 동적 ID를 이용하여 검증을 수행할 수 있다.
또한, 본 발명의 일 실시예에 따른 동적 CAN ID 생성 및 운용 방법은 동적 CAN ID 생성 및 운용 장치(도 1의 100 참조)가, 수신 데이터 프레임에 포함된 동적 ID에 대한 검증이 통과되었는지 여부를 판단한다(S709).
이때, 검증의 통과 여부는 생성한 검증용 동적 ID와 수신 데이터 프레임에 포함된 동적 ID가 동일한지 여부로 판단할 수 있다.
단계(S709)의 판단 결과, 검증에 통과한 경우에는, 수신 데이터 프레임을 처리한다(S711).
단계(S709)의 판단 결과, 검증에 통과하지 못한 경우에는, 수신 데이터 프레임을 드랍한다(S713).
도 8은 본 발명의 일 실시예에 따른 동적 CAN ID 생성 및 운용 장치(도 1의 100 참조) 간의 데이터 프레임 송수신 과정을 나타낸 도면이다.
도 8은 j 서브 네트워크에 소속된 ECU_13_j(81, 송신 ECU)가 j 서브 네트워크에 소속된 ECU_i_j(82, 수신 ECU)에 데이터 프레임을 전송하는 과정을 나타낸 것이다.
도 8을 참조하면, 본 발명의 일 실시예에 따른 데이터 프레임 송수신 과정은, 송신 ECU(81)가 하기 수학식 6과 같이 그룹 세션키를 이용하여 동적 ID를 생성할 때 사용하기 위한 일회성 키(일회용 키)를 생성한다(S801).
[수학식 6]
OTK_j_k_c = HGSK _j_k(OTK_j_k_(c-1), CTR_i_j)
예컨대, k번째 세션에서 8번째 데이터 프레임을 전송하는 상황인 경우에는, 송신 ECU(81)가 하기 수학식 7과 같이 그룹 세션키 GSK_j_k를 이용하여 8번째 데이터 프레임 전송에 사용될 일회성 키 OTK_j_k_8을 생성할 수 있다.
[수학식 7]
OTK_j_k_8 = HGSK _j_k(OTK_j_k_7, CTR_13_j)
또한, 본 발명의 일 실시예에 따른 데이터 프레임 송수신 과정은, 송신 ECU(81)가 하기 수학식 8과 같이 일회성 키를 이용하여 동적 ID를 생성한다(S803).
[수학식 8]
DID_i_j_k_c = HOTK _j_k_c(DID_i_j_k_(c-1), CTR_i_j)
예컨대, k번째 세션에서 8번째 데이터 프레임을 전송하는 상황인 경우에는, 송신 ECU(81)가 하기 수학식 9와 같이 일회성 키 OTK_j_k_8을 이용하여 동적 ID DID_13_j_k_8을 생성할 수 있다.
[수학식 9]
DID_13_j_k_8 = HOTK _j_k_c(DID_13_j_k_7, CTR_13_j)
또한, 본 발명의 일 실시예에 따른 데이터 프레임 송수신 과정은, 송신 ECU(81)가 수신 ECU(82)로 우선순위 ID, 동적 ID 및 데이터 필드로 구성된 데이터 프레임을 전송한다(S805).
또한, 본 발명의 일 실시예에 따른 데이터 프레임 송수신 과정은, 수신 ECU(82)가 수신 데이터 프레임에 대한 검증을 위하여 상기 수학식 6과 같이 그룹 세션키를 이용하여 동적 ID를 생성할 때 사용하기 위한 검증용 일회성 키(일회용 키)를 생성한다(S807).
예컨대, k번째 세션에서 8번째 데이터 프레임을 전송하는 상황인 경우에는, 수신 ECU(82)가 수신 데이터 프레임에 대한 검증을 위하여 상기 수학식 7과 같이 그룹 세션키 GSK_j_k를 이용하여 검증용 일회성 키 OTK_j_k_8을 생성할 수 있다.
또한, 본 발명의 일 실시예에 따른 데이터 프레임 송수신 과정은, 수신 ECU(82)가 수신 데이터 프레임에 대한 검증을 위하여 상기 수학식 8과 같이 일회성 키를 이용하여 검증용 동적 ID를 생성하여 수신 데이터 프레임에 포함된 동적 ID와 비교하여 데이터 프레임을 검증한다(S809).
예컨대, k번째 세션에서 8번째 데이터 프레임을 전송하는 상황인 경우에는, 수신 ECU(82)가 상기 수학식 9와 같이 일회성 키 OTK_j_k_8을 이용하여 검증용 동적 ID DID_13_j_k_8을 생성하고, 수신 데이터 프레임에 포함된 동적 ID와 비교하여 데이터 프레임을 검증할 수 있다.
또한, 본 발명의 일 실시예에 따른 데이터 프레임 송수신 과정은, 수신 ECU(82)가 수신 데이터 프레임에 대한 검증이 성공한 경우에는 수신 데이터 프레임을 처리한다(S811).
만약, 검증에 실패한 경우에는 수신 데이터 프레임을 드랍할 수 있다.
이상 설명된 본 발명에 따른 실시예는 다양한 컴퓨터 구성요소를 통하여 실행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등과 같은, 프로그램 명령어를 저장하고 실행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의하여 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위하여 하나 이상의 소프트웨어 모듈로 변경될 수 있으며, 그 역도 마찬가지이다.
본 발명에서 설명하는 특정 실행들은 일 실시 예들로서, 어떠한 방법으로도 본 발명의 범위를 한정하는 것은 아니다. 명세서의 간결함을 위하여, 종래 전자적인 구성들, 제어시스템들, 소프트웨어, 상기 시스템들의 다른 기능적인 측면들의 기재는 생략될 수 있다. 또한, 도면에 도시된 구성 요소들 간의 선들의 연결 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것으로서, 실제 장치에서는 대체 가능하거나 추가의 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들로서 나타내어질 수 있다. 또한, “필수적인”, “중요하게” 등과 같이 구체적인 언급이 없다면 본 발명의 적용을 위하여 반드시 필요한 구성 요소가 아닐 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 또는 이로부터 등가적으로 변경된 모든 범위는 본 발명의 사상의 범주에 속한다고할 것이다.
1: 동적 CAN ID 생성 및 운용 시스템
100: 동적 CAN ID 생성 및 운용 장치
110: 제어부 120: 통신부
130: 메모리 140: 우선순위 ID 생성부
150: 동적 ID 생성부 160: 일회성 키 생성부
170: 동적 ID 검증부

Claims (18)

  1. 동적 CAN(Controller Area Network) ID 생성 및 운용 장치에 있어서,
    베이스 ID가 되는 우선순위 ID(Priority ID)를 생성하는 우선순위 ID 생성부;
    동적으로 변경되는 동적 ID(Dynamic ID)를 생성하는 동적 ID 생성부; 및
    상기 우선순위 ID 및 상기 동적 ID로 구성된 동적 CAN ID와 데이터를 합친 데이터 프레임을 송수신하는 통신부
    를 포함하는, 동적 CAN ID 생성 및 운용 장치.
  2. 청구항 1에 있어서,
    다른 장치로부터 데이터 프레임을 수신한 경우, 상기 동적 ID와 동일한 방식으로 검증용 동적 ID를 생성하고, 상기 검증용 동적 ID를 이용하여 상기 수신 데이터 프레임에 포함된 동적 ID를 검증하는 동적 ID 검증부
    를 더 포함하는 것인, 동적 CAN ID 생성 및 운용 장치.
  3. 청구항 2에 있어서,
    상기 우선순위 ID는
    동적으로 변경되지 않고 고정된 값으로 유지되는 것인, 동적 CAN ID 생성 및 운용 장치.
  4. 청구항 3에 있어서,
    상기 우선순위 ID 생성부는
    동일 서브 네트워크에 소속된 모든 장치들의 개수만큼을 표현하기에 충분한 비트가 할당된 우선순위 ID를 생성하는 것인, 동적 CAN ID 생성 및 운용 장치.
  5. 청구항 4에 있어서,
    상기 우선순위 ID는
    동일 서브 네트워크에 소속된 다른 장치들에 상응하는 우선순위 ID들과 서로 중복되지 않는 것인, 동적 CAN ID 생성 및 운용 장치.
  6. 청구항 5에 있어서,
    상기 동적 ID 생성부는
    동적 ID의 비트수와 상기 우선순위 ID의 비트수의 합이 기설정된 CAN ID 비트수가 되도록 동적 ID를 생성하는 것인, 동적 CAN ID 생성 및 운용 장치.
  7. 청구항 6에 있어서,
    HMAC(Hash based Message Authentication Code)에서 이용할 해시를 생성하기 위한 일회성 키(One-Time Key)를 생성하는 일회성 키 생성부
    를 더 포함하고,
    상기 동적 ID 생성부는
    상기 일회성 키를 이용하여 동적 ID를 생성하는 것인, 동적 CAN ID 생성 및 운용 장치.
  8. 청구항 7에 있어서,
    상기 일회성 키 생성부는
    이전에 생성하였던 일회성 키들 중에서 적어도 하나 이상 이용하여 새로운 일회성 키를 생성하는 것인, 동적 CAN ID 생성 및 운용 장치.
  9. 청구항 8에 있어서,
    상기 동적 ID 검증부는
    다른 장치로부터 데이터 프레임을 수신하기 전에 미리 상기 동적 ID와 동일한 방식으로 생성한 검증용 동적 ID를 이용하여 검증하는 것인, 동적 CAN ID 생성 및 운용 장치.
  10. 동적 CAN(Controller Area Network) ID 생성 및 운용 방법에 있어서,
    베이스 ID가 되는 우선순위 ID(Priority ID)를 생성하는 단계;
    동적으로 변경되는 동적 ID(Dynamic ID)를 생성하는 단계; 및
    상기 우선순위 ID 및 상기 동적 ID로 구성된 동적 CAN ID와 데이터를 합친 데이터 프레임을 송수신하는 단계
    를 포함하는, 동적 CAN ID 생성 및 운용 방법.
  11. 청구항 10에 있어서,
    다른 장치로부터 데이터 프레임을 수신한 경우, 상기 동적 ID와 동일한 방식으로 검증용 동적 ID를 생성하고, 상기 검증용 동적 ID를 이용하여 상기 수신 데이터 프레임에 포함된 동적 ID를 검증하는 단계
    를 더 포함하는 것인, 동적 CAN ID 생성 및 운용 방법.
  12. 청구항 11에 있어서,
    상기 우선순위 ID는
    동적으로 변경되지 않고 고정된 값으로 유지되는 것인, 동적 CAN ID 생성 및 운용 방법.
  13. 청구항 12에 있어서,
    상기 우선순위 ID 생성 단계는
    동일 서브 네트워크에 소속된 모든 장치들의 개수만큼을 표현하기에 충분한 비트가 할당된 우선순위 ID를 생성하는 것인, 동적 CAN ID 생성 및 운용 방법.
  14. 청구항 13에 있어서,
    상기 우선순위 ID는
    동일 서브 네트워크에 소속된 다른 장치들에 상응하는 우선순위 ID들과 서로 중복되지 않는 것인, 동적 CAN ID 생성 및 운용 방법.
  15. 청구항 14에 있어서,
    상기 동적 ID 생성 단계는
    동적 ID의 비트수와 상기 우선순위 ID의 비트수의 합이 기설정된 CAN ID 비트수가 되도록 동적 ID를 생성하는 것인, 동적 CAN ID 생성 및 운용 방법.
  16. 청구항 15에 있어서,
    HMAC(Hash based Message Authentication Code)에서 이용할 해시를 생성하기 위한 일회성 키(One-Time Key)를 생성하는 단계
    를 더 포함하고,
    상기 동적 ID 생성 단계는
    상기 일회성 키를 이용하여 동적 ID를 생성하는 것인, 동적 CAN ID 생성 및 운용 방법.
  17. 청구항 16에 있어서,
    상기 일회성 키 생성 단계는
    이전에 생성하였던 일회성 키들 중에서 적어도 하나 이상 이용하여 새로운 일회성 키를 생성하는 것인, 동적 CAN ID 생성 및 운용 방법.
  18. 청구항 17에 있어서,
    상기 동적 ID 검증 단계는
    다른 장치로부터 데이터 프레임을 수신하기 전에 미리 상기 동적 ID와 동일한 방식으로 생성한 검증용 동적 ID를 이용하여 검증하는 것인, 동적 CAN ID 생성 및 운용 방법.
KR1020170098153A 2017-08-02 2017-08-02 Hmac 기반의 동적 can id 생성 및 운용 장치, 및 그 방법 KR102364656B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020170098153A KR102364656B1 (ko) 2017-08-02 2017-08-02 Hmac 기반의 동적 can id 생성 및 운용 장치, 및 그 방법
US15/994,049 US20190044730A1 (en) 2017-08-02 2018-05-31 Apparatus and method for generating and operating dynamic can id based on hash-based message authentication code

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170098153A KR102364656B1 (ko) 2017-08-02 2017-08-02 Hmac 기반의 동적 can id 생성 및 운용 장치, 및 그 방법

Publications (2)

Publication Number Publication Date
KR20190014391A true KR20190014391A (ko) 2019-02-12
KR102364656B1 KR102364656B1 (ko) 2022-02-21

Family

ID=65231954

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170098153A KR102364656B1 (ko) 2017-08-02 2017-08-02 Hmac 기반의 동적 can id 생성 및 운용 장치, 및 그 방법

Country Status (2)

Country Link
US (1) US20190044730A1 (ko)
KR (1) KR102364656B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110061879A (zh) * 2019-04-24 2019-07-26 宁波弘讯软件开发有限公司 节点id设置装置及方法、系统、设备、计算机存储介质
WO2022085863A1 (ko) * 2020-10-21 2022-04-28 숭실대학교 산학협력단 Can 버스 물리 계층에서 해킹된 노드의 대처 방법, can 버스에서 노드 id 자동 설정을 통한 물리 계층 보안 방법, 이를 수행하기 위한 기록 매체 및 시스템

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111835627B (zh) * 2019-04-23 2022-04-26 华为技术有限公司 车载网关的通信方法、车载网关及智能车辆
CA3127711A1 (en) * 2019-04-25 2020-10-29 Deere & Company Systems, methods and controllers for secure communications
CN113994720B (zh) * 2019-08-01 2024-01-09 住友电气工业株式会社 中继装置、车辆通信系统、车辆、通信方法及通信程序

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040024078A (ko) * 2002-09-13 2004-03-20 현대자동차주식회사 차량에서 캔 메시지의 아이디 설정방법
KR20160060683A (ko) * 2013-09-24 2016-05-30 더 리젠츠 오브 더 유니버시티 오브 미시건 차량 네트워크에서 id 익명화를 사용한 실시간 프레임 인증
US20160191494A1 (en) * 2014-12-29 2016-06-30 Vasco Data Security, Inc. Method and apparatus for securing a mobile application
KR101748080B1 (ko) 2016-05-03 2017-06-16 한국해양대학교 산학협력단 해양 IoT 플랫폼을 위한 CAN 버스 기반의 데이터 송수신 시스템 및 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040024078A (ko) * 2002-09-13 2004-03-20 현대자동차주식회사 차량에서 캔 메시지의 아이디 설정방법
KR20160060683A (ko) * 2013-09-24 2016-05-30 더 리젠츠 오브 더 유니버시티 오브 미시건 차량 네트워크에서 id 익명화를 사용한 실시간 프레임 인증
US20160191494A1 (en) * 2014-12-29 2016-06-30 Vasco Data Security, Inc. Method and apparatus for securing a mobile application
KR101748080B1 (ko) 2016-05-03 2017-06-16 한국해양대학교 산학협력단 해양 IoT 플랫폼을 위한 CAN 버스 기반의 데이터 송수신 시스템 및 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110061879A (zh) * 2019-04-24 2019-07-26 宁波弘讯软件开发有限公司 节点id设置装置及方法、系统、设备、计算机存储介质
WO2022085863A1 (ko) * 2020-10-21 2022-04-28 숭실대학교 산학협력단 Can 버스 물리 계층에서 해킹된 노드의 대처 방법, can 버스에서 노드 id 자동 설정을 통한 물리 계층 보안 방법, 이를 수행하기 위한 기록 매체 및 시스템

Also Published As

Publication number Publication date
US20190044730A1 (en) 2019-02-07
KR102364656B1 (ko) 2022-02-21

Similar Documents

Publication Publication Date Title
CN106533655B (zh) 一种车内网ecu安全通信的方法
CN109600350B (zh) 用于车辆网络中的控制器间的安全通信的系统和方法
KR102364656B1 (ko) Hmac 기반의 동적 can id 생성 및 운용 장치, 및 그 방법
US9460567B2 (en) Establishing secure communication for vehicle diagnostic data
US9860057B2 (en) Diffie-Hellman key agreement using an M-of-N threshold scheme
Woo et al. Can id shuffling technique (cist): Moving target defense strategy for protecting in-vehicle can
Lin et al. Cyber-security for the controller area network (CAN) communication protocol
Palaniswamy et al. An efficient authentication scheme for intra-vehicular controller area network
CN111869249A (zh) 针对中间人攻击的安全ble just works配对方法
CN106899404A (zh) 基于预共享密钥的车载can fd总线通信系统及方法
CN109413039B (zh) 一种基于区块链零知识证明的安全单点登录方法
CN108173827B (zh) 基于区块链思维的分布式sdn控制平面安全认证方法
CN105516980A (zh) 一种基于Restful架构的无线传感器网络令牌认证方法
Adil et al. Three byte-based mutual authentication scheme for autonomous Internet of Vehicles
US11483395B2 (en) Wireless event correlation using anonymous data
AU2019285822A1 (en) Decentralised authentication
Püllen et al. Using implicit certification to efficiently establish authenticated group keys for in-vehicle networks
CN111130769A (zh) 一种物联网终端加密方法及装置
US11240661B2 (en) Secure simultaneous authentication of equals anti-clogging mechanism
KR102148453B1 (ko) Can 시스템 및 메시지 인증 방법
CN113839782B (zh) 基于puf的车内网络can总线轻量级安全通信方法
CN114257406A (zh) 基于标识算法的设备通信方法、装置和计算机设备
US9038143B2 (en) Method and system for network access control
Tan An Efficient Key Management Scheme For In-Vehicle Network
WO2014073948A1 (en) System and method for managing public network

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant