KR20160060683A - 차량 네트워크에서 id 익명화를 사용한 실시간 프레임 인증 - Google Patents

차량 네트워크에서 id 익명화를 사용한 실시간 프레임 인증 Download PDF

Info

Publication number
KR20160060683A
KR20160060683A KR1020167010213A KR20167010213A KR20160060683A KR 20160060683 A KR20160060683 A KR 20160060683A KR 1020167010213 A KR1020167010213 A KR 1020167010213A KR 20167010213 A KR20167010213 A KR 20167010213A KR 20160060683 A KR20160060683 A KR 20160060683A
Authority
KR
South Korea
Prior art keywords
frame
identifier
data
control unit
electronic control
Prior art date
Application number
KR1020167010213A
Other languages
English (en)
Other versions
KR102243114B1 (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 더 리젠츠 오브 더 유니버시티 오브 미시건
Publication of KR20160060683A publication Critical patent/KR20160060683A/ko
Application granted granted Critical
Publication of KR102243114B1 publication Critical patent/KR102243114B1/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/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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • 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/1441Countermeasures against malicious traffic
    • 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/12Transmitting and receiving encryption devices synchronised or initially set up in a particular manner
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/10Integrity
    • 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/42Anonymization, e.g. involving pseudonyms
    • 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
    • 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/0407Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
    • H04L63/0421Anonymous communication, i.e. the party's identifiers are hidden from the other party or parties, e.g. using an anonymizer
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/02Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/60Context-dependent security
    • H04W12/69Identity-dependent
    • H04W12/75Temporary identity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/40Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/40Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
    • H04W4/48Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P] for in-vehicle communication

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Small-Scale Networks (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)

Abstract

실시간 프레임 인증 프로토콜은 차량 내 네트워크를 위해 제공된다. 프레임 식별자는 승인되지 않은 엔티티들에 익명이지만 승인된 엔티티들에 식별가능하도록 만들어진다. 익명 식별자는 프레임 당 기준으로 생성되고 송신 ECU에 의해 전송되는 각 데이터 프레임에 내장된다. 수신 ECU은 데이터 무결성을 검증하기 전에 유입된 데이터 프레임을 필터링하기 위해 익명 식별자를 사용한다. 무효한 데이터 프레임은 어떤 추가적인 실행시간 연산을 필요로 하지 않고 필터링된다.

Description

차량 네트워크에서 ID 익명화를 사용한 실시간 프레임 인증{REAL-TIME FRAME AUTHENTICATION USING ID ANONYMIZATION IN AUTOMOTIVE NETWORKS}
본 출원은 2014년 9월 23일자 미국 출원 제14/494,141호 및 2013년 09월 24일자 미국 가출원 제61/881,544호의 우선권을 주장한다. 상기 출원들의 전체 내용들은 본원에 병합된다.
본 개시는 차량 네트워크의 ID 익명화를 이용한 실시간 프레임의 인증에 관한 것이다.
현대 차량은 처리 능력 및 기능 복잡도가 다양한 다수의 전자 제어 유닛들(ECUs)을 구비한다. 이들은 엔진 및 전동장치(파워 트레인)와 같은 중요한 구성요소들, 및 에어백 및 텔레네틱스(telenetics)와 같은 중요하지 않은 구성요소들을 모니터링하고 제어한다. 이들은 널리 보급되었기 때문에 사실상의 표준이 된 컨트롤러 영역 네트워크(Controller Area Network(CAN))와 같은 다양한 차량 내 네트워크를 통해 상호 연결된다. 다른 표준들은 지붕, 전원 좌석이나 창과 같은 가장 단순한 차량 구성요소들을 위해 설계된 로컬 상호 연결 네트워크(Local Interconnect Network (LIN)) 및 CAN보다 많은 기능들(따라서 더 비싼)을 제공하는 FlexRay을 포함한다.
CAN은 원래 보안을 염두에 두지 않고 설계되었고, 그 설계의 선택은 분리된/ 폐쇄된 환경들에서 낮은 비용과 낮은 네트워크 대기 시간과 같은 엄격한 제약 조건에 의해 크게 영향을 받았다. 그 결과, 데이터 인증 또는 개인 정보 보호(privacy)를 확보할 수 없었고, 다양한 공격에 취약해졌다.
그러나, 차량 제조업체들은 외부 엔티티들이 원격지로부터 진단 및 도난 방지 목적으로 차량 내 구성요소들에 명령어를 송신하는 것을 허용하므로 차량 네트워크의 이러한 폐쇄 동작으로부터 일탈한다. 이것은 새로운 보안 위험을 동반한다. 몇몇 연구들은 이미 외부 엔티티들에 차량의 내부 서브 시스템을 연결/노출하는 것은 심각한 보안 및 안전 위험을 만든다고 보고했다. CAN의 보안 아키텍처는 이러한 노출을 처리하기에는 너무 취약하다.
정교한 사이버 차량 보안 위험과 공격을 해결하기 위한 다양한 노력이 있었다. 예를 들어, 자동차 오픈 시스템 아키텍처((Automotive Open System Architecture)AUTOSAR) 및 EVITA 프로젝트는 표준 보안 아키텍처의 개발에 중점을 두고 있다. 또한 CAN의 보안을 향상시키는 목적으로 여러 가지 연구 프로젝트들이 있었다. 그러나, 이들 중 어느 것도 ECU에 대한 서비스 거부((Denial-of-Service(DoS)) 공격에 대응할 수 없다. ECU들은 비용과 크기 이유로 매우 자원- 제한적이기 때문에, ECU들에 단순한 연산 이상을 요구하는 것은 의도된 기능 및/또는 필요한 성능을 저하/손상시킬 수 있다.
이러한 기존 CAN 프로토콜의 이런 약점들을 해결하기 위해, 본 개시는 최근 비용에 민감한 차량 네트워크의 변경을 필요로 하지 않는 효율적인 보안 프로토콜을 제안한다.
이 섹션은 종래 기술에 필수적이지 않은 본 발명과 관련된 배경 기술을 제공한다.
이 섹션은 본 개시의 일반적인 요약을 제공하고, 본 개시의 특징들 모두 또는 전 범위의 포괄적인 내용은 아니다.
방법은 차량 네트워크에서 데이터 프레임들을 인증하기 위해 제공된다. 수신 전자 제어 유닛에서, 이 방법은, 송신 전자 제어 유닛에 의해 직렬 데이터 링크(serial data link)를 통하여 송신되는 데이터 프레임에서 현재 프레임 식별자(current frame identifier)를 수신하는 단계; 현재 프레임 식별자에 응답하여 다음 프레임 식별자를 생성하는 단계; 및 후속 처리를 위해 데이터 저장(data store)에서 다음 프레임 식별자를 저장하는 단계를 포함하며, 다음 프레임 식별자는 인코딩 함수를 사용하여 현재 프레임 식별자 및 암호 키로부터 일부분 유도된다. 수신 전자 제어 유닛은 현재 프레임 식별자의 수신에 후속하여, 다른 데이터 프레임을 수신시, 다른 데이터 프레임의 일부분을 디코딩하지 않고 다른 데이터 프레임으로부터 프레임 식별자를 추출하고, 추출된 프레임 식별자를 데이터 저장에 있는 다음 프레임 식별자와 비교하고, 추출된 프레임 식별자가 다음 프레임 식별자와 일치할 때 다른 데이터 프레임의 페이로드를 처리한다. 반대로 추출된 프레임 식별자가 다음 프레임 식별자와 일치하지 않을 때 상기 다른 데이터 프레임은 페기된다.
다른 데이터 프레임으로부터 추출된 프레임 식별자가 다음 프레임 식별자와 일치할 때 수신 전자 제어 유닛은 또는 새로운 프레임 식별자를 생성하고 데이터 저장에 다음 프레임 식별자를 새로운 프레임 식별자로 대체할 수 있다. 이때, 새로운 프레임 식별자는 인코딩 함수를 사용하여 추출된 프레임 식별자 및 암호 키로부터 일부분 유도된다.
다른 데이터 프레임의 페이로드를 처리하는 단계 이전에, 수신 전자 제어 유닛은 메시지 내용을 인증할 수 있다. 예를 들어, 수신 전자 제어 유닛은 다른 데이터 프레임으로부터 메시지 인증 코드를 추출하고 메시지 인증 코드를 사용하여 다른 데이트 프레임의 페이로드를 인증할 수 있다. 이때, 메시지 인증 코드는 추출된 프레임 식별자와 다르고 다른 데이터 프레임에 페이로드로부터 일부분 유도된다.
본 개시의 일 측면으로, 먼저 송신 전자 제어 유닛과 상기 수신 전자 제어 유닛 사이에 통신 세션이 설정된다. 송신 면에서, 통신 세션은, 넌스를 선택하고; 키 생성을 위한 해시 함수를 선택하고; 메시지 인증을 위한 키 해시 함수(keyed hash function)를 선택하고; 선택된 키 해시 함수에 송신 전자 제어 유닛에 대한 식별자, 넌스 및 상기 암호화 키를 적용하여 해시 출력을 생성하고; 및 수신 전자 제어 유닛에 직렬 데이터 링크를 통해 개시 데이터 프레임을 송신하므로, 설정될 수 있다. 이때 개시 데이터 프레임은 송신 전자 제어 유닛에 대한 식별자, 넌스, 해시값, 해시 함수에 대한 지시자(indicator for the hash function), 키 해시 함수에 대한 지시자(indicator for the keyed hash function) 및 해시 출력을 포함한다.
수신 측에서, 수신 전자 제어 유닛은 개시 데이터 프레임을 수신하고; 개시 데이터 프레임으로부터 선택된 키 해시 함수를 결정하고; 선택된 키 해시 함수에 송신 전자 제어 유닛에 대한 식별자, 상기 넌스 및 상기 개시 데이터 프레임으로부터 검색된 상기 암호화 키를 적용하여 해시 출력을 생성하고; 및 생성된 해시 출력이 개시 데이터 프레임으로부터 검색된 해시 출력과 일치할 때 선택된 해시 함수에 넌스 및 암호화 키를 적용하므로 세션을 생성할 수 있다.
이 개시의 다른 측면에서, 시스템은 송신 전자 제어 유닛으로부터 차량 네트워크를 통해 수신 전자 제어 유닛로 송신되는 데이터 프레임을 인증하기 위해 제공된다.
송신 측에서, 전자 제어 유닛은, 송신 데이터 저장으로부터 다음 프레임 식별자를 검색하고 프레임 식별자를 가지고 데이트 프레임을 포맷하고 차량 네트워크를 통해 데이터 프레임을 전송하도록 구성된 송신 모듈을 포함한다. 이 전자 제어 유닛은 추출된 프레임의 식별자가 다음 프레임의 식별자와 일치할 때 추출된 프레임 식별자를 수신하고 데이터 저장에 다음 프레임 식별자를 새로운 프레임 식별자로 대체하는 ID 생성기를 추가로 포함한다. 일부 실시예들에서, 새로운 프레임 식별자는 인코딩 함수를 사용하여 다음 프레임 식별자와 암호화 키로부터 유도될 수 있다.
수신 측에서, 전자 제어 장치가 송신 전자 제어 유닛에 의해 차량 네트워크를 통해 송신되는 데이터 프레임을 수신하도록 구성되는 필터를 포함한다. 이 필터는 데이터 프레임의 일부분를 디코딩하지 않고 수신된 데이터 프레임으로부터 프레임 식별자를 추출하고 상기 추출된 프레임의 식별자를 수신 데이터 저장에 있는 다음 프레임 식별자와 비교한다. 추출된 프레임 식별자가 다음 프레임 식별자와 일치할 때 메시지 인증기는 필터로부터 데이터 프레임을 수신하고 데이터 프레임의 페이로드로부터 데이터 프레임을 처리한다. 필터는 추출된 프레임의 식별자가 다음 프레임의 식별자가 일치하지 않을 때 추출된 데이터 프레임을 폐기한다. 이 전자 제어 유닛은 메시지 인증기와 인터페이스된 ID 생성기를 추가로 포함한다. ID 생성기는 새로운 프레임 식별자를 생성하고 추출된 프레임의 식별자가 수신 데이터 저장에 있는 다음 프레임의 식별자와 일치할 때 데이터 저장에 다음 프레임 식별자를 새로운 프레임 식별자로 대체한다. 일부 실시예에서, 새로운 프레임 식별자는 인코딩 함수를 사용하여 새로운 프레임 식별자와 암호화 키로부터 유도된다. 이때, 암호화 키는 수신 전자 제어 유닛과 공유된다.
추가적인 적용 가능성(further areas of applicability)은 본 명세서에 제공된 상세한 설명으로부터 명백해질 것이다. 요약서의 상세하고 구체적인 예시들은 설명의 목적을 위한 것이며, 본 개시의 범위를 제한하기 위한 것이 아니다.
첨부된 도면들은 오로지 선택된 실시예들의 설명을 위한 것이고, 모든 가능한 실시예들을 위한 것이 아니며, 본 개시의 범위를 제한하기 위한 것이 아니다.
도 1은 컨트롤러 영역 네트워크(CAN)의 계층 아키텍처를 도시하는 도면이다;
도 2a 및도 2b는 CAN 데이터 프레임에 대한 각각의 표준 및 확장된 데이터 포맷을 도시하는 도면들이다;
도 3은 CAN 통신 모델을 나타내는 도면이다;
도 4는 OBD 포트를 통해 CAN에 부착된 악성 ECU(rogue ECU)가 차량을 어떻게 공격하는지를 나타내는 도면이다;
도 5a는 공격자가 프레임을 송신하는 유효한 송신기를 도용하는 공격 시나리오를 도시하는 도면이다;
도 5b는 공격자가 유효한 송신기로부터 전송된 프레임을 수정하는 공격 시나리오를 도시하는 도면이다;
도 6은 데이터 프레임의 유효성은 차량 네트워크에서 전자 제어 유닛에 의해 어떻게 확인될 수 있는지를 나타내는 도면이다;
도 7a는 ID 익명화 프로토콜에 따라 차량 네트워크에서 데이터 프레임을 전송하는 송신한 전자 제어 유닛에 의해 수행되는 단계들을 도시한 흐름도이다;
도 7b는 ID 익명화 프로토콜에 따라 수신한 전자 제어 유닛에 의해 수행되는 단계들을 도시한 흐름도이다;
도 8은 컨트롤러에 의해 데이터 프레임을 인증하기 위한 프레임 워크를 도시하는 도면이다;
도 9는 우선 순위 비트들(priority bits)이 특정 데이터 프레임들에 어떻게 보존되는지를 도시한 도면이다;
도 10은 세션을 갱신하기 위한 데이터 프레임을 도시한 도면이다;
11a 및 11b는 각각의 표준과 원격 데이터 프레임 내의 익명의 식별자의 위치를 설명하기 위한 도면들이다;
도 12는 차량 네트워크에서 데이터 프레임들을 인증하기 위한 프로세스를 도시한 도면이다;
도 13는 위조 메시지(bogus message)를 보내는 하나의 성공이 전체 프로토콜에 어떻게 영향을 주지 않는 지를 도시한 도면이다;
도 14a 및 도 14b는 각각의 송신 컨트롤러 및 수신 컨트롤러와 관련하여 인증 프로세스를 나타내는 도면이다;
도 15는, 차량 외부로 ID 익명화 프로토콜을 확장하는 시스템 모델을 도시한 도면이다.
해당 도면 번호들(corresponding reference numerals)은 도면들의 여러 뷰들(views)에 걸쳐 대응되는 부분들(corresponding parts)을 나타낸다.
이하 예시적인 실시예들은 첨부된 도면들을 참조하여 보다 완벽하게 설명될 것이다.
도 1은 다른 계층들과 ECU의 구성 요소들의 기능을 가진 컨트롤러 영역 네트워크(CAN) 노드의 계층 구조를 도시한다. 전자 제어 유닛 (ECU)은 CAN 및 센서 또는 기계적 구성 요소와 같은 다른 차량 구성요소들 사이 상호 접속된 노드이다. 차량은 보통 60 ~ 70 개의 ECU들를 포함하고 비용에 민감한 자동차 산업은 ECU들을 매우 자원 제한적으로 만들었다. 예를 들어, 32 비트 마이크로 프로세서는 이러한 엔진 제어와 같은 미션/안전 중요 기능들을 위해 사용된 반면에 8 비트 마이크로 프로세서는, 점등/소등과 같은 경량 기능들에 사용된다. 특정 참조가 CAN으로 구성되어 있지만, 여기에서 설명된 개념은 LIN 또는 FlexRay와 같은 다른 유형의 차량 네트워크들에 보다 일반적으로 적용 가능하다는 것을 알 수 있다.
CAN은 네 개의 계층들로 구성된다: 물리 계층(1), 매체 액세스 제어(MAC)(또는 전송) 계층(12), 논리 링크 제어(LLC) (또는 오브젝트) 계층(13), 및 응용 계층(14).
물리 계층(11)은 신호가 실제로 어떻게 전송되는지를 정의한다. CAN 트랜시버가 이 계층에 있다.
전송 계층(12)은 CAN 프로토콜의 코어를 나타낸다. CAN 표준의 대부분은 물리 계층으로부터 프레임들을 수신하고, 오브젝트 계층에 이들을 전송하는 전송 계층에 상당한다. 전송 계층(12)은 이 오브젝트 계층에 수신된 프레임을 제공하고 오브젝트 계층으로부터 송신된 프레임들을 허용한다. 전송 계층은 결함 한정 에러 검출(fault confinement error detection), 프레임 / 메시지 유효성(frame/message validation), 응답, 중재(arbitration), 메시지 프레이밍, 전송 속도 및 타이밍 등을 담당한다.
오브젝트 계층(13)은 메시지 필터링 및 취급 뿐만 아니라 전송 상태에 관한 것이다.
응용 계층(14)는 공급업체의 자신의 설계에 따라 높은 수준(higher-level)의 비표준 동작을 취급한다. CPU나 호스트 프로세서는 이 계층에 있다. 호스트 프로세서는 수신된 메시지의 의미와 자신에게 전송할 메시지인지를 결정한다. 센서, 액추에이터 및 제어 장치는 호스트 프로세서에 연결될 수 있다.
일반적으로, LLC 계층은 소프트웨어 구성 요소일 수 있지만, CAN 트랜시버 및 MAC 계층은, 하드웨어 구성 요소이다.
CAN은 차량 내부의 다양한 CAN 노드들(ECU들)을 상호 연결하는 다중-마스터 유선 브로드캐스트 직렬 버스(wired multi-master broadcast serial bus)이다. 4종류의 CAN 프레임들이 있다: 데이터를 전송하는데 사용되는 데이터 프레임(data frame); 다른 ECU로부터의 데이터의 전송을 요청하는 원격 프레임(remote frame); 에러를 나타내는데 사용되거나 버스 에러를 검출할 때 다른 유닛에 의해 전송되는 오류 프레임(error frame); 및 프레임들 사이의 추가 지연(extra delay)을 도입하는 과부하 프레임(overload frame).
상기 CAN 표준 데이터 프레임 포맷 및 확장 데이터 프레임 포맷은 각각 도 2a 및 도 2b에 도시된다. 양자는 프레임의 시작(start of frame (SOF))에 대한 1비트와 프레임의 끝(end of frame (EOF))에 대한 7비트들을 포함한다. 중재 필드(arbitration field)는 식별자(ID) 비트들과 원격 전송 요청(remote-transmission-request (RTR)) 상태를 설정하기 위한 1 비트를 포함한다. 확장 프레임 포맷은 29 비트의 ID(도 2b에 식별자 필드 A 및 B)를 허용하지만 표준 프레임 포맷은 11 비트의 ID(도 2a에 식별자 필드)를 허용한다. RTR를 1로 설정하는 것은 프레임이 어떤 데이터도 운반하지 않는 원격 프레임인 것을 의미한다.
제어 필드(control field)는 데이터의 바이트 수를 나타내는 4 비트의 데이터 길이 코드(data length code (DLC)), 및 예비 비트(11 비트 식별자 확장(identifier extension (IDE))) 및 1 비트의 표준 프레임 포맷에 대한 r0 및 확장 프레임 포맷에 대한 r1을 포함한다. IDE 비트의 경우, Recessive (1)은 29 비트의 메시지 ID를 나타내는 반면, Dominate (0)는 11 비트의 메시지 ID를 나타낸다.
CAN 데이터 프레임의 페이로드는 데이터의 8 바이트까지 운반할 수 있다. 데이터 프레임은 송신자의 ECU / 노드에 의해 자율적으로 송신되지만 수신기 ECU/노드는 소스 노드로부터 데이터를 요청하는 원격 프레임을 송신할 수 있다. 16 비트의 순환 중복 검사(cyclic redundancy check (CRC)) 필드(1 비트의 CRC 구분자(CRC delimiter)를 가진)는 각각의 수신된 프레임의 무결성을 검사하기 위해 제공된다. 2 비트의 수신 확인(ACK) 필드는 프레임이 정확하게 수신되었는지 여부를 확인하기 위해 사용된다.
오류 프레임들(error frames)은 8비트의 'Recessive' 구분자 필드(8-bit 'Recessive' delimiter field)와 함께 6비트의 연속된 "Dominate" 또는 "Recessive" 필드(6 bits of consecutive 'Dominant' or 'Recessive' field)를 포함한다. 에러 프레임과 과부하 프레임은 오류가 감지되거나 추가적인 지연이 필요한 비정상 상황에 대한 특별한 유형이다. CAN 프레임 형식에 대한 자세한 내용은 ISO 1898-1: 2003 또는 다른 관련 CAN 표준들을 참조하라. 또한 다른 유형의 포맷들을 갖는 데이터 프레임들은 본 개시의 범위 내에 포함된다.
CAN은 다중-마스터 브로드캐스트 모델에 의존하기 때문에 각각의 ECU 브로드캐스트 프레임 및 전송 순서는 중재(arbitration)라고 불리는 버스 경쟁 메커니즘(bus contention mechanism)을 통해 결정된다. 각각의 ECU는 프레임 ID, 한번에 하나의 비트를 브로드캐스트하고, 각각의 대응하는 비트와 다른 ECU들에 의해 브로드캐드트된 비트들을 비교하여, 전송 우선 순위를 결정한다. 가장 작은 ID를 가진 프레임은 중재에 승리하고 전송된다. 버스 중재 승리 후, ECU는 직렬로 데이터 프레임을 기록한다(예를 들어, 한번에 하나의 비트). 승자의 프레임 전송이 완료 될 때까지 다른 ECU들은 기다려야 한다.
도 3은 예시적인 CAN 통신 모델을 도시한다. 각 데이터 프레임은 프레임 ID를 포함하지만, 송신기 ECU나 수신기 ECU 중 어느 하나의 어드레스를 포함하지 않는다. 데이터 프레임은 시리얼 버스를 통해 브로드캐스트되고, 각 노드는 데이터 프레임을 허용 또는 폐기할지 여부를 결정하기 위해 프레임 ID를 확인하므로 메시지 필터링을 진행한다. 전술한 예에서, CAN 상에서 모든 ECU들에 의해 수신된 프레임(1)을 브로드캐스트한다. ECU(3)는 프레임을 폐기하는 반면에 ECU들(1, 4)은 상기 프레임을 허용한다.
몇몇 연구자들은 이미 CAN의 보안 지원의 약점을 보고했다. 예를 들어, 연구자들은 다양한 공격 시나리오를 제시하여 현재 차량 네트워크의 취약점을 증명하고 있다. 또한 외부 세계에 공개되었을 때 보안에서 CAN 약점을 드러내는 보고들이 있었다. 다른 연구자들은 CAN이 DoS 공격에 불안하고 취약하다고 주장했다. 이러한 모든 문제들은 CAN 아키텍처의 다음 주요 문제점에 기인할 수 있다.
ㆍ프레임의 송신기와 수신기를 인증하는 규정은 없다.
ㆍCAN 프레임은 인증 필드가 없다.
ㆍCAN 프레임에서 페이로드 필드는 데이터의 8바이트까지 공간을 제공하는데, 강력한 보안 프리미티브(strong security primitives)를 구현하기 어렵다.
ㆍ ECU들은 강력한 암호화 기능을 지원하기 위해 너무 제한된 연산 능력을 가지고 있다.
그러나, CAN은 간단하고 저렴하도록 설계되었고, 차량 내부에 단독으로 동작하도록 설계되었다. 이러한 Flexray와 같은 다른 프로토콜들도 이들 및 다른 보안 문제를 해결하지 않고 도입 및 배치되고 있다. 비용 이유로 새로운 표준들을 채택하는데 자동차 제조업체의 자기 저항 때문에 보안 메커니즘을 지원하기 위해 이 아키텍처의 전체 설계를 정비하기는 어렵다. 더욱이 이러한 비용 의식은 전술한 바와 같이 다양한 유형의 ECU들을 배치하게 했다. 이는 상당한 성능과 DoS 위험을 상승시킨다.
CAN에 대한 다양한 가능한 공격과 보안에 대한 요구 사항은 다음에 설명되어 있다. 대부분의 ECU들은 여전히 분리된 환경에서 동작하는 동안, 이들은 CAN과 온보드 진단(on-board diagnostic (OBD)) 포트를 통하여 외부 장치에 노출된다. 또한, 블루투스, 전용 단거리 통신(dedicated short-range communications (DSRC)) 등을 통해 외부 네트워크에 연결된 차량 내 구성요소들의 수가 증가하고 있다. 또한, 자동차 제조업체는 엔진 시동 및 도어 잠금 / 잠금 해제를 위해 외부 게이트웨이를 통해 원격 제어 서비스를 시작했다. CAN의 이러한 노출 증가는 세 가지 유형의 공격들을 야기할 수 있다.
ㆍ M1 - OBD 포트를 통해 악성 ECU를 CAN에 물리적으로 부착함;
ㆍ M2 - 외부 인터페이스들을 가지고 ECU을 원격으로 구성함; 및
ㆍ M3 - ECU들을 물리적으로 손상시킴.
몇몇 연구자들은 이미 OBD 포트를 통해 CAN에 대한 공격을 증명하고 있다. 도 4는 악성 ECU가 CAN 버스로부터/에 프레임을 어떻게 읽거나(1) 쓰는지(2) 도시하고 있다. 악성 ECU는 수정된 하드웨어 구성 요소를 포함할 수 있기 때문에, 악성 ECU는 CAN의 중재 규칙을 따르지 않을 수 있다.
공격의 또 다른 유형에서, ECU들은 원격으로 외부 인터페이스에 의해 손상된다. V2X 통신에서, 차량 내 네트워크는 무선 인터페이스들을 가지고 게이트웨이 ECU를 통해 외부 엔티티들과 연결되어 있고, 이것은 차량 내 구성요소들을 손상시킬 목적으로 공격의 타켓이 될 수 있다. M1과 더불어 또는 대신에, 공격자들은, 도 4에 도시된 바와 같이, 외부 세계에 노출된 포인트들, 예를 들면, 게이트웨이 ECU 및 타이어 압력 모니터링 시스템(tire pressure monitoring system (TPMS))를 손상시키려 할 가능성이다.
공격자는 손상된 ECU를 통해 차량 내 네트워크로부터/에 정보를 송신/수신할 수 있으나, 통신을 부분적으로만 제어할 수 있다. 이런 유형의 공격에서, 손상된 ECU는 수정된 소프트웨어 구성 요소를 포함할 수 있으나, CAN 트랜시버 및 중재 컨트롤러를 포함하는 하드웨어 구성 요소의 대부분은 그대로/손상되지 않은 채로 남아있다.
ECU를 물리적으로 손상시키는 것이 공격의 세 번째 유형이다. 이런 유형의 공격에서, 공격자는 ECU의 전체 제어를 가지며, 따라서, 내부의 비밀 정보에 대해 액세스한다. 이런 유형의 공격 하에서, ECU의 하드웨어 및 소프트웨어 구성요소들은 수정되었을 수 있으며, 따라서, 상기 CAN 중재 규칙을 따르지 않을 수 있다. 실제로, M3는 ECU의 전체 수정이 필요하기 때문에, M3는, 극단적인 경우를 나타낸다. 본 개시는 공격자가 내부의 ECU를 물리적으로 수정하고 손상된 ECU들에/로부터 직접적으로 데이터를 추출하거나 점멸하는 경우를 고려하지 않는다. 이것은 매우 가능성이 낮고 차량에 침입하고 물리적으로 ECU들을 수정할 필요가 있기 때문이다.
상기 공격 모델들을 기반으로 가능한 공격 시나리오는 인터셉트(interception), 위조(fabrication), 수정(modification) 및 인터럽트(interruption)이다.
인터셉트(M1, M2, M3 하에서)를 위해, 공격자는 CAN을 스니핑하고(sniff) 그 후에 재생 공격을 위해 도청 데이터(eavesdropped data) 또는 원격 프레임을 사용할 수 있다. 인터셉트만의 개인 정보 보호 위험(Privacy risks of interception-only)은 차량 내 통신을 위한 중요한 문제가 아니고, 따라서 더 이상 본 개시에서 고려되지 않는다.
위조(M1, M2, M3 하에서)를 위해, 공격자(51)는, 도 5a에 도시된 바와 같이, CAN에 부정 데이터(fraudulent data) 또는 원격 프레임을 브로드캐스팅한다. 인터셉트와 함께, 공격자는 재생 공격을 실시할 수 있다. 즉, 유효 데이터의 전송은 악의적 또는 부정적으로 반복될 수 있다. 공격자가 데이터를 먼저 차단하고 이를 재전송한다. 이 공격은 언제라도 실시할 수 있다.
수정(M1 또는 M3 하에서)을 위해, 공격자(51)는, 도 5b에 도시된 바와 같이, CAN에서 전송되는 기존의 데이터 구조를 변경한다. 이런 유형의 공격은 진정한 프레임의 전송 중에만 가능하다.
인터럽트를 위해, 공격자는 다음 공격을 가지고 데이터 전송을 무력화할 수 있다. 공격자는 다수의 데이터 프레임들을 사용하여 정보에 대한 원하지 않은 요청을 가지고 피해자 ECU를 가득채워(flood), 예를 들어 ECU의 연산 자원을 소모하여 이 ECU를 정당한 요청들(legitimate requests)에 사용할 수 없게 만든다. 공격자는 CAN에서 매우 많은 상위 우선 순위 데이터, 원격, 에러 또는 과부하 프레임들을 전송하므로 ECU의 수신자를 붕괴할 수 있어, 따라서 다른 ECU들이 CAN을 사용하는 것을 방해할 수 있다. 공격자가 CAN에서 상위 우선 순위 프레임들을 전송하는 것을 방지할 방법이 없지만, 각 ECU들을 페일-세이프 모드(fail-safe mode)를 구비하는 것은 고갈 공격(starvation attack)에 대항하는 효과적인 해결책이 될 수 있다.
지금까지 논의된 차량의 보안 문제를 해결하고 가능한 공격을 방지하기 위해, 특정 설계 요구 사항들이 다음과 같은 가정 하에서 충족될 필요가 있다.
먼저, 차량들은 신호 스파이크/결함(signal spikes/faults)을 다를 수 있는 피드백 메커니즘을 가진 내장 결함 감내성(built-in fault-tolerance)을 갖는다. 단순하게 손상된 프레임은 일반적으로 물리적/기계적 시스템들에 무시할 수 있는 영향을 미칠 것으로 생각된다.
둘째로, ECU들은 타임 스탬프를 확인할 수 있다. ECU에 대한 보안 하드웨어 확장(secure hardware extension (SHE))의 최근 표준문서는 시계 기능을 포함한다. CAN에서 시간 동기화는 제안되었고 차량이 켜질 때 일어난다. 시간 동기화의 실패가 개시의 실패를 야기하기 때문에, 공격자가 시간 동기화의 실패를 야기할 동기(incentive)가 없다.
보안 프로토콜은 다음의 요건을 충족하도록 설계되어야 한다. 수신기는, 위조/인젝션(injection) 및 수정에 대항하여 프레임의 인증을 확인할 수 있어야 한다. 수신기는 유효 프레임의 재전송을 방지할 수 있어야 한다. 이 프로토콜은 공격자가 DoS 공격을 가지고 ECU을 손상시키는 것을 방지할 수 있어야 한다.
추가적인 자동차 업계의 요구 사항은, 보안 프로토콜이 데이터 프레임들을 애플리케이션들에 전달할 때 어떤 인식가능한 지연(any perceivable delay)을 발생하지 않아야 하고, 보안 프로토콜은 기존 CAN 아키텍처에 어떤 변화를 요구하지 않아야 한다는 것이다. ECU들은 특정 기능을 수행하기 때문에 8비트 내지 32비트 마이크로 컨트롤러와 같은 다양한 연산 장치들은 요구된 기능들을 처리하기에 충분한 연산 자원이 배치되었다. 그러므로 보안 연산은 이러한 자원-제한된 장치들의 능력 내에 있어야 한다.
기존 프로토콜들은 프레임들의 인증을 확인했지만, 이들은 DoS 공격에 여전히 취약하다. 예를 들어 적(adversary)은 CAN에서 ECU들의 매우 많은 프레임들을 전송한다. CAN 통신 표준은 노드 주소들을 요구하지 않고 프레임의 내용은 버스로 모든 ECU에 도착시 자신의 ID(프레임 내용을 정의하는)에 의해 식별된다. 송신기와 수신기 ECU들 사이의 중간 보호(intermediate protection)가 없기 때문에, 모든 수신 ECU는 모든 프레임을 그들의 도착시 검증한다. 따라서, CAN이 부정 프레임들(fraudulent frames)의 전송을 위한 대역폭을 갖는 한, 임의의 공격자는 부정 프레임들을 타켓들에 전송할 수 있다. 100 % 사용된 1 Mbps CAN에서 공격자가 이 CAN을 완전히 점령한다고 가정하면 공격자는 1000ms 간격으로 하나의 프레임에 대해 최대 215 시도들을 만든다. ECU에서 확장된 연산을 요구하는 것은 ECU의 제한된 자원의 관점에서 ECU의 일반적인 동작을 저하시키거나 심지어 무력화할 수 있다.
또한 CAN 표준문서 때문에 비효율이다. CAN 프레임 포맷은 프레임에 8 바이트까지의 데이터 필드를 할당한다. 프레임 데이터 m과 k는 인증 키인 메시지 인증 코드 MAC (k, m)는, 하나의 프레임에서 64 비트 미만의 데이터이어야 한다. 특정 프레임들이 단지 몇 비트만을 사용한다: 예를 들어, 부울 타입들의 데이터(Boolean type of data)는 종종 대부분의 1 또는 0 비트의 데이터를 요구한다. 이러한 경우에 MAC을 할당하는 것은 전체 성능을 상당히 저하시킬 수 있다. 데이터 필드를 포함하지 않는 원격 프레임의 경우에, 전혀 MAC을 할당할 필요가 없다.
이러한 문제의 관점에서, 개선된 ID 익명화 프로토콜은 차량 네트워크를 위해 제공된다. 기존 작업의 대부분은 프레임들의 전송시 프레임들의 인증에 초점을 맞추고 있다. 즉, 타겟 ECU는 각 프레임을 수신한 후 각각의 프레임의 유효성을 확인한다. 이 접근방법의 두 가지 두드러진 단점들은 (1) 먼저 수신기가 유입된 프레임들의 유효성과 관계없이 모든 유입된 프레임들을 허용하고; 및 (2) 수신기가 모든 프레임들의 유효성을 검증하기 위해 암호화 연산을 수행할 필요가 있고 이것은 필연적으로 상당한 추가적인 지연을 초래한다. 이들은, 차례로, ECU와 같은 자원-제한된 장치들에 DoS 공격을 할 수 있다.
이러한 단점을 극복하기 위해, ID가 승인되지 않은 엔티티들에 익명이지만, 승인된 엔티티들에 식별가능한 새로운 개념이 제시된다(이하 "ID 익명화"로 지칭함). 도 6을 참조하며, 상기 ECU(60)에서의 프레임 필터(61)는 유입된 데이터 프레임을 수신하고, 프레임으로부터의 익명 ID를 추출하고, 익명 ID를 ECU (60)에 의해 로컬로 저장된 미리 연산된 ID와 비교하도록 구성된다. ID들이 일치하면, 데이터 프레임은 추가 처리를 위해 메시지 인증기(message authenticator, 63)로 전달된다. 차례로 메시지 인증기(63)는 상기 프레임에 포함 된 메시지 인증 코드 (MAC)를 이용하여 프레임 데이터의 유효성을 검사한다. 인증되면, 데이터 프레임은 종래의 방식으로 처리된다. 반대로, 무효 프레임은 ECU에 의해 어떤 추가적인 실시간 연산을 필요로 하지 않고 필터(61)에 의해 필터링된다.
또한 ID 생성기(ID generator, 64)는 유입된 데이터 프레임을 수신하도록 구성된다. 유입된 프레임으로부터 추출된 익명 ID가 미리 연산된 ID와 일치할 때, ID 생성기(64)는 새로운 프레임 식별자를 생성한다. 새로운 프레임 식별자는 추출된 익명 ID 및 아래에서 자세히 설명된 바와 같이 암호키로부터 부분적으로 유도된다. 새롭게 생성된 프레임의 식별자는 미리 연산된 ID를 대체하고, 다음 데이터 프레임을 유효성을 위해 사용된다.
도 7a는 ID 익명화 프로토콜에 따라 차량 네트워크에서 데이터 프레임을 전송하는 송신 전자 제어 유닛에 의해 수행되는 단계들을 추가로 도시한다. 먼저 데이터 프레임이 적용 통신 프로토콜에 따라 단계 72에서 포맷된다. 예시 목적으로, CAN을 참조한다. 참고로, 상기 데이터 프레임은, 도 2a 및 도 2b와 관련하여 전술한 바와 같이, 식별자를 포함한다. 제안된 익명 ID는 로컬 데이터 저장소로부터 단계 71에서 검색되고, 데이터 프레임의 식별자 필드에 삽입되고; 데이터 프레임의 나머지는 애플리케이션 프로토콜에 따라 포맷된다. 프레임이 포맷되면, 메시지 인증 코드(message authentication code)는 단계 73에 나타낸 바와 같이 이 프레임에 대해 연산될 수 있다. 일예로, 다른 유형의 코드들이 본 개시에 의해 고려될 수 있지만, 메시지 인증 코드는 순환 중복 검사(cyclic redundancy check)로부터 유도된다. 메시지 인증 코드는 상기 데이터 프레임에 부가되고, 상기 데이터 프레임이 송신 전자 제어 유닛에 의해 상기 차량 네트워크를 통해 단계 74에서 송신된다.
데이터 프레임을 송신한 후, 송신 ECU는 단계 75에 나타낸 바와 같이 다음 프레임을 포맷할 때 사용하기 위한 익명 ID를 생성한다. 일예로, 상기 익명 ID(즉, 다음 프레임 식별자)가 이전 프레임의 식별자와 인코딩 함수, 예를 들어 키잉 해시 함수(keyed hash function)를 사용한 암호화 키로부터 유도된다. 제조자에 의해 할당된 식별자는 이전 프레임 식별자에 대한 초기 값으로 사용될 수 있다. 암호화 키는 로컬로 저장되고 송신 ECU와 의도된 메시지 수신자(즉, 수신 ECU) 사이에 공유된 비밀 키일 수 있다. 대신에, 암호화 키는 상기 통신 세션에 고유하고 송신 ECU와 수신 ECU간에 협상될 수 있다. 이후에 익명 ID는 다음 데이터 프레임을 전송할 때 사용하기 위해 저장된다. 이 방법의 관련 절차들은 도 7a와 관련하여 설명되어 있지만, 다른 소프트웨어 실행 지시가 송신 ECU의 전반적인 동작을 제어하고 관리하기 위해 요구될 수 있음을 이해해야 한다.
데이터 프레임을 수신한 수신 전자 제어 유닛에 의해 수행되는 단계는 도 7b에 도시되어 있다. 수신시, 먼저 익명 ID는, 단계 82에 나타낸 바와 같이, 데이터 프레임의 일부를 디코딩하지 않고 데이터 프레임으로부터 추출된다. 다음으로 추출된 익명 ID는 직전의 데이터 프레임으로부터 유도된 저장된 프레임 식별자와 단계 83에서 비교된다. 상기 추출된 프레임의 식별자가 저장된 프레임 식별자와 일치하면, 입력된 데이터 프레임의 페이로드는 단계 86에서 인증된다. 특히, 상기 메시지 인증 코드는 입력된 데이터 구조로부터 추출되고 데이터 프레임을 인증하기 위해 사용된다. 상기 데이터 프레임의 메시지 인증 코드는 추출된 프레임 식별자와 상이하고 입력된 데이터 프레임에 페이로드로부터 부분적으로 유도된다. 예를 들어, 상기 데이터 프레임의 페이로드는 순환 중복 검사(cyclic redundancy check)를 사용하여 인증될 수 있다. 인증되면, 입력된 데이트 프레임은 단계 87에 나타낸 바와 같이 처리될 수 있다. 반대로 상기 추출된 프레임의 식별자가 저장된 프레임 식별자와 일치하지 않거나 페이로드가 인증되지 않는 경우, 입력된 데이터 프레임은 단계 85에 나타낸 바와 같이 폐기된다. 이 방법론의 관련 절차들은 도 7b와 관련하여 설명되어 있지만, 다른 소프트웨어 실행 지시가 수신 ECU의 전반적인 동작을 제어하고 관리하기 위해 요구될 수 있음을 이해해야 한다.
위에서 도입된 IA-CAN 프로토콜은 송신기 엔티티와 메시지 모두를 인증한다. 승인된 송신기/수신기만이 공유된 비밀 키 및 랜덤 넌스(random nonce)를 사용하여 익명 유효한 ID를 생성/식별할 수 있다. 유효한 송신자에 의해 브로드캐스트된 프레임은 필터가 일치된 사전 연산된 익명 ID(matching pre-computed anonymous ID)를 포함하는 유효한 수신자에 의해서만 수신될 수 있다. 승인된 수신자는 어떤 연산을 필요로 하지 않고 무효한 프레임을 즉시 필터링한다. 차량 네트워크에서 승인되지 않은 ECU는 익명 ID로부터 원래의 프레임 ID를 식별할 수 없다. 승인된 수신자는 어떤 연산을 필요로 하지 않고 무효한 프레임을 즉시 필터링할 수 있다. 차량 네트워크에서 승인되지 않은 ECU는 익명 ID로부터 원래의 프레임 ID를 식별할 수 없다. 각각 익명 ID는 단 한번만 사용되기 때문에 공격자는 캡쳐된 ID(captured ID)를 재사용해서 어떤 것도 얻을 수 없다. 즉, 리플레이 공격은 불가능하다.
익명 ID는 가장 가능성있는 공격인 M2에 대항하여 메시지 인증을 제공한다. CAN 조정 규칙을 무시하여 메시지를 수정한 경우, 페이로드 데이터는 페이로드 데이터 인증 코드에 의해 검증된다. 이것은 공격자가 CAN에 비트들을 오버라이드하므로(overriding bits on the CAN) 식별되지 않은 프레임의 페이로드를 임의로 수정하는 것을 방지할 수 있다. 이전 모델들에 비해, IA-CAN은 익명 ID들과 함께 보다 작은 MAC을 가지고 더 큰 페이로드의 비트들을 구할 수 있다.
프레임 ID는 프레임 당 기준으로 변경되기 때문에, 공격자는 프레임들이 더 이상 유효하지 않으므로 스니핑 ID를 이용하여 이 프레임들을 재생할 수 없다. 수신기 ECU는 미리 연산된 것들과 일치하는 ID들을 가진 프레임들만을 허용하므로, IA-CAN은 ECU들에 대한 DoS 공격에 탄력적이다. 필터링되거나 통과된 각 ID는 11 비트 또는 29비트 문자열 XOR 연산만(only 11- or 29-bit string XOR computations)을 수행할 필요가 있기 때문에, 연관된 오버헤드는 무시할 수 있다. 이 프레임은 프레임 필터에 의해 허용되는 경우에만 인증 프레임에 대한 실행 시간(runtime) 과부하가 발생된다.
마지막으로, IA-CAN은 두 단계의 인증 프로세스를 사용하고, 기존 모델들에 비해 어떤 추가 지연(latency)을 초래하지 않는다. 수신기는 현재 프레임의 전송과 병렬로 익명 ID를 미리 연산하기 때문에, 익명 ID를 생성하기 위한 연산 지연은 프레임의 전송 후로부터 전송 전으로(from post-delivery of a frame to its pre-delivery) 이동한다. 이것은 통신 대기 시간을 상당히 줄일 수 있다. 익명 ID들을 생성하는 것의 성능에 대한 영향은 본 개시에서 이후에 논의된다. 데이터 프레임들의 보안을 위한 페이로드 데이터 인증은 추가적인 실행 시간 지연을 초래하는 반면, 두 단계 인증의 전체 대기 시간은 기존 모델들과 동일하다.
도 8은 IA-CAN의 시스템 모델을 보다 상세히 도시한다. 예시적인 실시예에서, 고려하는 시스템은 차량 네트워크에 연결된 n개의 ECU들 ei, 1≤i≤n로 구성된다. 각 ECU ei는 재구성 프레임 필터
Figure pct00001
, 키들의 집합
Figure pct00002
, 및 암호화 해시 함수의 집합
Figure pct00003
를 포함한다.
프레임 필터
Figure pct00004
는 허용한 프레임 ID들의 리스트를 유지한다. 이때
Figure pct00005
는 고유한 데이터 프레임 ID(unique data frame ID)이고,
Figure pct00006
는 고유한 원격 프레임 ID(unique remote frame ID)
Figure pct00007
) 및
Figure pct00008
는 최대 프리셋 정수(maximum preset integer)이다. 처음에,
Figure pct00009
의 길이는 11비트(표준 형식) 또는 29비트 (확장 형식)인 반면,
Figure pct00010
의 길이는
Figure pct00011
에 대해 11-α+ζ비트 또는 29-α+ζ비트 및
Figure pct00012
에 대해 (16- α) 비트 또는 (34- α) 비트이다. α는 우선 순위를 특정하기 위해 사용된 비트들의 수이고, ζ는 데이터 필드를 특정하기 위해 사용되는 비트들의 수이다. 원격 프레임에서 α는 옵션이다.
CAN과의 호환성을 보장하기 위해, 상기 프레임은 그 프레임의 아이디들에 특정된 우선 순위에 따라 전송하도록 보장해야 한다. 따라서, 심지어 ID 익명화 후 프레임 우선 순위의 보전을 보장하는 것이 필요하다. 이 요구 사항을 충족하기 위해, 도 9에 도시된 바와 같이, ID의 우선 순위 비트들은 그대로 유지되며, 나머지 비트들만 익명화된다. 처음 α 비트들은 우선 순위를 특정하기 위해 사용되면, 그 다음 나머지 (11-α) 또는 (29-α) 비트들은 ID 익명화를 위해 사용된다. 예를 들어, SAE J1939 표준은 우선 순위를 특정하는데 29 비트의 ID의 처음 3 비트들을 할당한다.
적은 수의 익명화된 비트들(예를 들어,11-α 또는 29 -α비트들)에 무차별 공격을 어렵게 만들기 위해, 도 9에 나타내는 바와 같이, 추가 ζ 비트들이 익명화 필드를 확장하기 위해 데이터 필드로부터 차용된다. 이러한 경우에, 두 단계의 프레임 필터링이 요구된다: 먼저 프레임은 프레임 필터에 ID 필터에 의해 필터링되고(도 8의 단계 2), 그 후 데이터 필트에 익명화된 비트들에 의해 필터링된다(도 8의 단계 3). 원격 프레임은 데이터 필드를 포함하지 않기 때문에, 데이터 필드로부터 ζ 비트들을 차용할 수 없지만 최대 5 비트들은 상기 제어 필드(DLC 및 RO)에 할당될 수 있다. 또한, α 비트들은 옵션으로 할당될 수 있다.
예시적인 실시예에서, 집합 세트
Figure pct00013
Figure pct00014
와 연관된 비밀 키의 집합을 유지한다. 여기서 k j
Figure pct00015
과 연관된 대칭 롱텀 키(symmetric long-term key)이다. ECU들은 k j 를 포함하는
Figure pct00016
을 가진 프레임을 송신/수신한다. 키 관리는 다음에 설명될 것이다. IA-CAN은 사전 공유된 롱텀 키를 각 고유한 프레임 ID에 할당하는 "CANAuth - A Simple, Backward Compatible Broadcast Authentication Protocol for CAN bus", (A. Herrewege et al., 10th escar Embedded Security in Cards Conference (November 2011))에서 상세히 기술된 키 관리 모델을 따른다. 특정 프레임 ID를 수신한 ECU들의 각 그룹은 제조사에 의해 고유하게 할당된 사전 공유된 키를 얻는다. 그 키들은 변조 방지 저장장치(tamper-proof storage)에 저장되고 가정 A1에 기재된 바와 같이 노드 자체에서만 질의될 수 있다. ECU의 수명은 일반적으로 차량의 것과 동일하고, 따라서, 초기 롱텀 키(initial long-term key)의 크기가 대약 10년 내지 15년 동안 지원할 수 있도록 설계되어야 한다.
자동차 개방형 시스템 아키텍처(Automotive Open System Architecture(AUTOSAR)) 표준에 규정된 바와 같이, ECU들은, 암호화 연산을 할 수 있다. 몇 가지 알고리즘들이 "Specification of Crypto Service Manager" (AUTOSAR 2013, Technical report, Automotive Open System Architecture (2013))에 규정되어 있다. 예시적인 실시예에서, 다수의 다른 암호화 기능이 본 개시의 범위 내에 있지만, HMAC-SHA1가 IA-CAN의 평가에 사용된다.
CAN 표준이 시간 동기화를 규정하지 않더라도, 보안 하드웨어 확장(Secure Hardware Extension (SHE))는 ECU에 시계 기능 배치(clock function deployment)를 규정한다. "Message Authenticated CAN" (Hartkopp et al, CAN escar 2012, Embedded Security in Cars Conference, Berlin, Germany (November 2012))의 저자들은 CAN을 통해 ECU들에 있는 시계를 사용하여 동기화를 제안했다. 따라서, 제안된 프로토콜은 ECU들 사이에 ECU들이 시계 기능 및 시간 동기화를 가진 것으로 가정한다.
IA-CAN은 앞서 언급한 모든 공격 시나리오들을 해결하기 위해 설계되었다. 아래 표 I은 표기 및 설명의 전체 집합을 보여준다. 논의의 목적으로, 송신기 ECU가
Figure pct00017
와 연관된 프레임을 수신기 그룹들 중에 타켓 ECU e 2 에 브로드캐스트하는 것으로 생각한다.
Figure pct00018
세션이 처음에 e 1 e 2 사이에 설정되거나 세션 키가 리프레시될 필요가 있을 때 세션 리프레시 단계(session refresh phase)가 개시된다. 예를 들어, 자동차가 켜졌거나 카운터가 최대 현재의 카운트(maximum present count),
Figure pct00019
에 도달할 때 세션 리프레시가 수행될 수 있다. 일반적인 구동 패턴을 고려할 때 24 시간의 세션 주기를 가정하는 것이 합리적이다. 또는, M2에 대항하여 세션을 단축될 수도 있다. 최대
Figure pct00020
또는 세션 주기는 CAN의 설계시 차량 제조업체에 의해 미리 정의될 수 있다. A2에서 세션은 매분, 매시간, 매일, 또는 최대 카운트
Figure pct00021
의 미리 정의된 주기에 리프레시될 수 있다.
ECU들 e 1 e 2 는, 랜덤 넌스
Figure pct00022
및 세션 업데이트 정보,
Figure pct00023
의 생성을 위해 알고리즘 ALG(
Figure pct00024
에서 MAC 선택하는)에 동의해야 한다. e 1
Figure pct00025
을 선택하고 해시 출력
Figure pct00026
을 생성한다:
Figure pct00027
세션이 처음으로 개시될 때,
Figure pct00028
Figure pct00029
에 포함되지 않는다.
Figure pct00030
은 업데이트 요청의 리프레시를 유지하기 위해 사용된다. ECU들이 시간 동기화를 지원하면,
Figure pct00031
대신에 현재 타임스탬프가 리플레이 공격을 방지하기 위해 포함될 수 있다.
Figure pct00032
로부터 MAC의 선택은 출력 크기에 영향을 미칠 것이다. 예를 들어, f 1 에 대해 SHA-1을 가진 HMAC을 사용하는 것은 다수의 프레임으로 전송될 수 있는 160 비트 출력을 야기할 것이다. 또는, 절단된 출력(truncated output)이 하나의 프레임에서 송신되도록 사용될 수 있다. 그 후, 도 10의 포맷에 도시된 바와 같이 e 1
Figure pct00033
,
Figure pct00034
e 2 에 송신한다.
Figure pct00035
은 이 프레임에 대한 익명 ID이고,
Figure pct00036
는 데이터 필드로부터 차용된 ζ 비트들이다. 처음에,
Figure pct00037
=
Figure pct00038
Figure pct00039
는 0들로 채워진다. INIT는 프레임이 세션 리프레시에 대한 것이라는 것을 지시하고 ALG는
Figure pct00040
로부터 hf 1 를 지시하기 위한 것이다.
도 12에 도시한 바와 같이, e 2 가 프레임을 수신할 때, e 2
Figure pct00041
를 생성하므로
Figure pct00042
를 검증한다. 여기서,
Figure pct00043
이면 e 2 는 다음과 같이 세션 키를 업데이트하기 위해
Figure pct00044
를 허용한다. e 2
Figure pct00045
Figure pct00046
을 생성한다. 여기서
Figure pct00047
Figure pct00048
키 생성 함수 (key generation function h) 는
Figure pct00049
로부터 선택된다.
이 세션
Figure pct00050
동안, e 1 e 2 모두 이들 사이에 공유된 세션 키
Figure pct00051
를 사용하여 익명 ID들(동시에는 아닐지라도(not at the same time, though))을 생성한다. e 1 e 2 는 다음과 같이
Figure pct00052
Figure pct00053
을 생성한다.
송신기 측에서, e 1 가 (이전) 프레임 송신을 완료하자마자(도 12(1)에 도시된 바와 같이), e 1 f 1 를 사용하여
Figure pct00054
Figure pct00055
로부터
Figure pct00056
을 생성한다.
Figure pct00057
다음으로,
Figure pct00058
f 2 를 사용하여
Figure pct00059
로부터 생성된다.
Figure pct00060
e 1 e 2 는, ID가 추출된 후에, 나머지 비트들
Figure pct00061
을 저장한다.
Figure pct00062
는, e 2 가 원격 프레임을 송신할 필요가 있을 때만, 사용된다. 또한 e 1 는, 그 프레임 필터에
Figure pct00063
를 업데이트한다. from
Figure pct00064
로부터
Figure pct00065
를 선택할 여러 방법들이 있을 수 있지만, f 2
Figure pct00066
Figure pct00067
Figure pct00068
의 크기에 맞도록 절단하는 것으로 가정한다. 그후 e 1
Figure pct00069
Figure pct00070
로 업데이트하고 다음 익명 ID를 생성하기 위해
Figure pct00071
를 저장한다.
수신기 측에서 e 2 가 이전 프레임을 받고 이 프레임을 검증하자마자, e 2
Figure pct00072
Figure pct00073
를 가지고
Figure pct00074
를 생성하고 그 후에
Figure pct00075
Figure pct00076
를 검색한다. 필터
Figure pct00077
는 프레임 허용 리스트(도 12(4)에 도시된 바와 같이)에서 즉시
Figure pct00078
Figure pct00079
로 대체한다. 이제 e 2 는 새로운 ID
Figure pct00080
를 가진 다음 프레임을 기다린다. 이러한 과정의 반복 또는 특정 시간 경과 후, 카운터는
Figure pct00081
에 도달할 때까지 1씩 증가한다.
Figure pct00082
의 시간 주기는 설계 파라미터로 미리 설정된다. 카운터가
Figure pct00083
에 도달할 때,
Figure pct00084
Figure pct00085
를 생성하는데 사용되고, 그 후
Figure pct00086
Figure pct00087
와 함께 전송된다.
앞서 설명한 바와 같이, 원격 프레임은, 데이터 프레임을 요청할 필요가 있을 때, 수신기 ECU e 2 에 의해 전송된다. 원격 프레임은 데이터 필드를 포함하지 않기 때문에, 익명 ID를 위해 DLC 필드의 4 비트를 사용할 수 있다. 예비 비트 r0도 사용될 수 있다.
CAN 표준은 동일한 식별자를 공유하는 데이터 프레임 및 원격 프레임을 규정하므로, 다른 익명 ID들은 두개의 유형의 프레임들을 위해 설계되었다. 데이터 프레임의 ID는
Figure pct00088
인 반면,
Figure pct00089
를 원격 프레임의 ID로 할당하는 데 (16-α) 비트들(표준 포맷) 또는 (34-α) 비트들 (확장 포맷)이
Figure pct00090
로부터 추출된다. 원격 프레임에서 α는 옵션일 수 있다.
익명 ID의 사용은 승인되지 않은 프레임의 인젝션을 방지할 수 있다(M2에 대항하는 방어). M1 또는 M3를 가진 공격자들은, 그들이 극단적인 경우들을 나타낼지라도, 프레임 데이터를 수정할 수 있다. 그래서, 우리는 또한 페이로드에 대한 데이터 인증을 제공한다. MAC은 페이로드에 대해 생성된다. 페이로드 m이 생성되면, 송신자 ECU e 1
Figure pct00091
-비트 MAC
Figure pct00092
을 생성한다. 여기서
Figure pct00093
그 후 e 1 은 도 11에 도시한 바와 같이 데이터 필드에
Figure pct00094
를 집어넣는다. β의 크기는 설계 파라미터이다. 실제 보안 강화를 위해, 11 (또는 29)-α+ ζ+ β≥32가 추천된다. 11 (또는 29)-α+ζ 는 익명 ID의 크기이고 β는
Figure pct00095
의 크기이다.
이전 프레임이 전송/수신된 후에 즉시 IA-CAN이 익명 ID 생성을 진행하는 반면에, 이전 프레임은 프레임 데이터 자체와 관련이 없기 때문에, 페이로드 인증을 위한 MAC이, 페이로드 데이터
Figure pct00096
가 생성/수신될 때 생성된다. 따라서, 페이로드 데이터 인증 생성을 위한 실행 대기 시간 t m 는 호출된다.
도 11b에서 원격 프레임은 데이터 필드가 없기 때문에 이 단계를 건너 뛴다.
e 2 는, 메시지를 수신할 때,프레임 ID
Figure pct00097
가 허용 필터 리스트
Figure pct00098
에 ID들 중 하나와 일치하는지 여부를 확인한다(도 12(2). 일치하면(도 12(2)에 도시된 바와 같이), e 2 는, 이 프레임을 허용하고 그 후 예를 들어 CRC를 사용하여 무결성 검사를 수행한다(도 12(3)).
논-제로 비트 데이트 프레임(non-zero-bit data frame)에 대해, e 2 는,
Figure pct00099
Figure pct00100
를 비교하여 메시지
Figure pct00101
의 인증을 확인한다. 여기서
Figure pct00102
이면 e 2 는 프레임을 허용한다. e 2 가 이 프레임을 수용하든 시간 주기
Figure pct00103
가 종료하든(시간 동기화를 사용할 때), e 2 는 다음 ID
Figure pct00104
를 생성하기 위해 익명 ID 생성 단계에서 이 프로세스를 반복한다.
원격 프레임에 대해, e 1 이 프레임을 허용하자마자, e 1 은 유효
Figure pct00105
를 필터링한다. 그 후 송신기 ECU e 1
Figure pct00106
를 가진 데이터 프레임을 송신할 수 있다.
다음으로, IA-CAN의 보안은 평가 및 분석된다. 특히, IA-CAN은, 본 개시에 앞에서 리스트한 요구 사항인, 인젝션과 수정에 대항하여 프레임 인증을 제공하며, 리플레이 공격 및 인터럽션에 대항하여 안전한 것을 보여주고 있다. 다음의 정의가 여기에 사용된다.
정의 1. MAC 생성기
Figure pct00107
은 충돌-자유(collision-freedom) 뿐만 아니라 제 1 및 제 2 프리 이미지 저항성(preimage resistance)을 만족하고, 공유된 키 k j 를 사용하여 t개의 임의 메시지들/프레임들 m(
Figure pct00108
arbitrary messages/frames
Figure pct00109
)을 균일하게 분산된 N 비트 해시 출력(uniformly-distributed N-bit hash output)으로 변환한다.
정의 2. 함수
Figure pct00110
는 YN을 Yn과 YN -n으로 절단한다. 여기서 Yn
Figure pct00111
의 n 비트 절단된 부분이고, YN -n은 YN의 나머지 (N-n) 비트이다. 예를 들어, SHA-1을 사용하는 160 비트 해시 출력으로부터 절단된 출력을 고려한다.
정의 3. 공격자 Adv의 함수는
Figure pct00112
는 자신의 자원
Figure pct00113
을 사용하여 Yn으로 믿어지는
Figure pct00114
을 생성하기 위해 사용된다. Adv는 CAN 버스에서 도청하여
Figure pct00115
, AG 및
Figure pct00116
을 얻을 수 있다.
IA-CAN의 보안은 공격자의 악의적인 인젝션에 대항하여 보여진다. M1, M2 또는 M3를 가진 공격자 Adv는 CAN 버스에서 허위 데이터 프레임(fraudulent Data frame) 또는 부정 원격 프레임(fraudulent Remote frame)을 인젝트할 수 있다. Adv는
Figure pct00117
Figure pct00118
을 가지고 부정 데이터 프레임을 인젝트한다.
익명 ID의 보안(단계 1만). 다음 네 정리들(four theorems)에 의해 익명 ID의 보안을 살펴본다.
Figure pct00119
이 N비트들의 i번째 해시 출력인 것으로 하자. 여기서,
Figure pct00120
Figure pct00121
은 N비트 문자열 중 n비트들을 절단하므로 형성된 i번째 프레임 ID인 것으로 하자.
정리 1. 승인된 엔티티들은 허용해야 할 메시지를 식별할 수 있다.
증명. 이미
Figure pct00122
를 알고 있는 승인된 사용자 U
Figure pct00123
를 생성할 수 있다. 따라서, U는 즉시 수신된 메시지
Figure pct00124
가 미리 연산된
Figure pct00125
와 동일한지 식별할 수 있다. 따라서, 정리 1을 따른다. 의사-랜던 넘버 생성기(pseudo-random number generator) 또는 블룸 필터(bloom filter)는 정리 1을 만족시키기 위해 사용되지 않는다.
정리 2. Adv가
Figure pct00126
를 가지고
Figure pct00127
Figure pct00128
를 발견할 확률은 Adv가 무작위로
Figure pct00129
을 선택할 확률보다 높지 않다.
증명.
Figure pct00130
Figure pct00131
을 알지 못하는 Adv는 이전 전송에서
Figure pct00132
를 인터셉트할 수 있다. Adv가
Figure pct00133
Figure pct00134
를 알고 있으면, Adv는 전송된
Figure pct00135
를 식별하거나
Figure pct00136
를 가지고 부정 프레임을 송신할 수 있다. 그러나, 정의 1에 의해 알려진 정보
Figure pct00137
를 가지고 손상된 메시지
Figure pct00138
를 생성할 확률은 무작위로 생성된 메시지로부터 충돌을 발견할 확률보다 높지 않다. 따라서, 정리가 유지된다.
정리 3. 메시지를 손상시키는 데 성공은 다음 메시지를 손상시킬 확률을 증가시키지 않는다.
증명.
Figure pct00139
를 발견하는 데 Adv의 성공의 확률이
Figure pct00140
Figure pct00141
이라고 하자. 일단 Adv가 충돌(collision)
Figure pct00142
를 발견하는 데 성공하면, Adv는 성공 확률
Figure pct00143
를 가지고
Figure pct00144
과 함께
Figure pct00145
를 사용하여 다음 충돌
Figure pct00146
를 발견하기 위해 노력할 수 있다. 여기서,
Figure pct00147
충돌의 성공적인 발견은 장래 충돌들,
Figure pct00148
을 발견할 확률을 증가시키지 않는다. 따라서, 정리 3은 유지된다.
Figure pct00149
Figure pct00150
를 절단하므로 생성되므로
Figure pct00151
로부터 충돌을 발견할 확률은 전체 크기 해시 출력(full-sized hash output)으로부터 충돌을 발견할 확률과 같다.
Figure pct00152
Figure pct00153
Figure pct00154
로부터 생성되고
Figure pct00155
Figure pct00156
의 절단부(truncation)인 반면,
Figure pct00157
의 충돌을 발견할 확률은
Figure pct00158
의 충돌을 발견할 동일한 확률인
Figure pct00159
의 강도에만 의존한다. 따라서
Figure pct00160
Figure pct00161
는 독립적이고
Figure pct00162
따라서,
Figure pct00163
심지어 공격이
Figure pct00164
와 충돌하더라도, 이것은 다른
Figure pct00165
에 대한 충돌들을 발견할 확률에 영향을 미치거나 증가시키지 않고, 따라서 정리는 유지된다.
정리 4. 메시지를 손상시킬 단순한 성공은 전체 프로토콜 동작에 영향을 미치지 않는다.
증명. 도 13에 도시된 바와 같이. 앞서 도시한 바와 같이 성공 확률이 무시할만 하지만, 우리는 Adv가
Figure pct00166
Figure pct00167
를 가진 위조 프레임을 성공적으로 전송한다고 가정하자. 여기서
Figure pct00168
Figure pct00169
이러한 경우에, 수신기 ECU는 이를 허용하고
Figure pct00170
를 가진 프레임을 기다린다. 유효한 송신기로부터
Figure pct00171
는 이 경우에 무시될 수 있다. 그러나, 송신기 ECU는 다음 프레임을 위해
Figure pct00172
를 송신하고 그 후 수신기 ECU는 다시 이것을 허용한다.
Adv가
Figure pct00173
및 타켓 ECU
Figure pct00174
의 필터
Figure pct00175
를 가지고 11 (또는 29)-α+ζ 비트
Figure pct00176
를 생성하면, Adv는
Figure pct00177
Figure pct00178
를 알지 못하더라도 부정 데이터
Figure pct00179
를 가지고 β 비트
Figure pct00180
를 생성해야 한다. 공격자가 익명 ID와 MAC를 손상시킬 확률을 표준 데이터 프레임들에 대해
Figure pct00181
이고 확장 데이터 프레임들에 대해
Figure pct00182
이다. CAN 버스가 이것을 수용할 용량(capacity of accommodating it)을 가지는 한, 공격자가 이러한 공격을 지속적으로 실시할 수 있다.
또한, Adv는 부정 원격 프레임을 인젝트하는 시도를 할 수 있다. 원격 프레임에 대해
Figure pct00183
의 크기가 단지 6(또는 34)-α 비트들이므로,
Figure pct00184
Figure pct00185
Figure pct00186
를 인젝트를 성공할 확률은 높을 수 있다. 그러나, 성공적인 공격들만이 송신기 ECU가 데이터 프레임을 전송하는 것을 허용하고 Adv에 의미있는 이익을 주지 않는다. 따라서, 이러한 공격은 단지 M1과 M3가 수행할 수 있는 데이터 프레임 수정에 의해서만 의미 있을 것이다. 이러한 경우에, 공격자가 원격 프레임의 익명 ID와 데이터 프레임에서 MAC을 손상시킬 확률은 표준 포맷에 대해
Figure pct00187
이고 확장 포맷에 대해
Figure pct00188
이다. CAN 버스가 공격 트래픽을 수용할 용량을 가지는 한 원격 프레임을 전송하는 것을 계속할 있으나, 데이터 프레임에 대한 공격은 단지 한번만 수행할 수 있다.
추가로, 공격자는
Figure pct00189
를 가지고
Figure pct00190
또는
Figure pct00191
를 발견하는 무차별 공격(brute-force attack)을 실시할 수 있다.
Figure pct00192
Figure pct00193
는 단지 한번만 사용되고 하나의 프레임에 대해서만 유효하므로 공격자는 프레임 당 기준으로 유효 ID들을 추측해야만 한다. 그러므로 공격자는 하나의 전송 간격 동안 다수의 부정 프레임들을 연속적으로 전송할 수 있어야 지만, 그러한 공격은 아래에 살펴본 바와 같이 성공하기 매우 어렵다.
익명 ID 부분(단계 1)에서, α 비트들이 우선 순위를 위해 할당되고 ζ 비트들이 추가적인 익명화 비트들을 위해 할당될 때, Adv의 성공 확률은 표준 포맷에 대해
Figure pct00194
이고 확장 포맷에 대해
Figure pct00195
이다. MAC 부분(단계 2)에서, β비트들이 MAC에 대해 할당될 때,
Figure pct00196
Figure pct00197
를 가지고
Figure pct00198
를 발견하는 것을 성공할 확률은
Figure pct00199
이다.
1 Mbps(즉, 최대 CAN 대역폭)와 100% 활용(일반적으로 30 ~ 40 % 활용)의 CAN 버스에서 44 비트(도 2에서 데이터 필드에 대한 0 비트) 프레임들을 전송함으로써 무차별 공격을 시작할 때의 최악의 경우를 가정하자. Adv는 이론적으로 초당 22,727 프레임들까지 전송할 수 있고(어떤 프레임 드롭이 없다는 가정), Adv의 가능성은 프레임 전송 간격 p로 제한된다. p=1000ms일 때 Adv는 22727번(<215)까지 시도할 수 있고, p=5ms일 때 Adv는 113번(<27)까지 시도할 수 있다.
CAN 설계에 따라, 제조사들은 ID 필드로부터 α비트들을 할당하고 익명 ID에 대해 데이터 필드로부터 ζ 비트들을 할당하고 MAC에 대해 β 비트들을 유연하게 할당할 수 있다. 예를 들어, 표준 포맷에 대해 공격의 성공 확률은
Figure pct00200
이다. 여기서, α=6, ζ=8, 및 β=32. 이 경우에 무차별 공격은 프레임 간격 p=1000ms이더라도 불가능하다. 또한 심지어 ζ = 0이더라도, Adv가 p=5ms의 프레임에 대한 공격을 성공하는 것은 분명히 불가능하다. 공격은 CAN 버스를 통해 실시될 수 있고 따라서 CAN의 통신 대역폭에 의해 제한된다는 것을 주목하라.
또한 수정에 대항하여 IA-CAN의 보안도 증명된다. 원격 프레임 수정은 단지 프레임 드럽을 야기하고 Adv에 대한 동기를 제공하지 않기 때문에, 우리는 단지 Adv가 송신기 ECU로부터 CAN을 통해 데이터 프레임을 수정하려고 시도하는 것으로 가정한다.
Adv가 CAN 버스에서 전송 중인
Figure pct00201
가진 타켓 프레임을 수정하는 것으로 가정하자. Adv는
Figure pct00202
를 알지 못하더라도
Figure pct00203
를 가지고
Figure pct00204
Figure pct00205
Figure pct00206
로 수정하려고 시도할 수 있다. β비트가 MAC에 대해 할당될 때 없이
Figure pct00207
없이
Figure pct00208
를 발견한 Adv의 성공 확률은
Figure pct00209
이다. Adv는, 타켓 프레임이 정당한 송신기 ECU에 의해 전송중일 때만 단한번 이러한 공격을 실시할 수 있다.
다음으로, 리플레이 공격에 대항하여 IA-CAN의 저항을 살펴본다. 이러한 유형의 공격 에 대해, Adv는 프레임들을 캡처하고 다음 프레임 전송 또는 세션에 대해 이 프레임들을 사용하려고 시도한다. Adv가 익명 ID
Figure pct00210
를 캡처하고 타켓 ECU에
Figure pct00211
Figure pct00212
를 가진 위조 프레임들을 전송하는 것으로 가정한다.
Figure pct00213
를 수신한 후 익명 ID 생성 단계 동안
Figure pct00214
Figure pct00215
로 필터링하는 필터가 더 이상 유효하지 않기 때문에 Adv의 시도는 실패할 것이다. 도 3에 도시된 바와 같이 모든 유효한 ID들은
Figure pct00216
에 의해 무시된다. Adv는,
Figure pct00217
이기 때문에,
Figure pct00218
Figure pct00219
로 재전송할 수 없다.
Adv는
Figure pct00220
를 캡처하고 이것을 캡처된 ID들을 사용하기 위해 부정 업데이트를 위해 전송할 수 있다. Adv가
Figure pct00221
를 가지고
Figure pct00222
는 세션을 리프레시하기 위해 위조 프레임(bogus message)을 수신하는 것으로 가정하자. 그러나,
Figure pct00223
Figure pct00224
Figure pct00225
로 허용하도록 만들기 위해, Adv는
Figure pct00226
Figure pct00227
에 대해
Figure pct00228
를 사용하여
Figure pct00229
로 확인되도록 만들 수 있어야 한다.
Figure pct00230
인 확률은 무시할 수 있다.
마지막으로, IA-CAN의 보안을 인터럽트에 대항하여 살펴본다. Adv는 손상된 (또는 부착된) ECU를 사용하는 임의의 타겟 ECU들에 대한 다수의 프레임들을 생성한다. 공격자의 목적은 타겟의 ECU들을 불능화하여 차량 내 통신을 무력화하는 것이기 때문에, 공격자는 타켓 ECU들이 허용할 수 있는, 더 많은 수의 상위 우선 순위 프레임들을 생성하는 시도를 할 수 있다.
IA-CAN 하에서, ECU들은 프레임 당 기준으로 허용 필터들(acceptance filters)을 업데이트하기 때문에 이러한 가득 채움 공격들(such flooding attacks)은 방지된다. 익명 ID를 확인하는 프로세스는 앞에서 설명된 일반적인 CAN 아키텍처와 동일하다. 데이터 필드에 추가 비트를 확인하는 것은 무시할 수 있는 오버 헤드가 발생하는 ζ 비트 동작(ζ bitwise operations)이다. 데이터 프레임의 경우, ECU는 단지 프레임 필터들을 통과한 프레임에서 페이로드의 인증을 확인한다.
M1, M2, 또는 M3를 가진 Adv는, 피해자의 ECU가 CAN 버스로부터 프레임을 수신할 수 없도록 고갈 공격(starvation attack)을 실시할 수 있다. Adv는 특정 타켓들 또는 전체 네트워크를 불능화하려고 할 수 있다.
M1, M2, 또는 M3를 가진 Adv는, 수신기 ECU가 프레임을 드럽하도록 유도할 수 있는 익명 ID
Figure pct00231
로 비트를 덮어 쓸 수 있다. 앞에서 설명한 바와 같이, 시간 동기화를 사용할 경우, A2 하에서, 수신기는 시간
Figure pct00232
가 경과한 후 익명 ID
Figure pct00233
Figure pct00234
로 업데이트한다.
CAN에서 DoS 공격을 실시하는 다른 방법은 CAN 버스에 더 많은 수의 상위 우선 순위(쓰레기)의 메시지를 가득 채우는 것이다. 예를 들어, 0×00를 가진 ID를 가득 채우는 것은 버스 중재를 항상 이길 것이다. 공격자가 허위 메시지를 브로드캐스트하여 CAN를 과부하가 걸리는 것을 방지할 방법이 없지만, 여러 연구 노력은 CAN에 이러한 가득 채움 시도들(such flooding attempts)에 대항하여 침입 탐지 메커니즘을 도입했다. 더욱이 ECU들이 특정 시간 내에 프레임들을 수신하지 않을 때 페일-세이프 모드(fail-safe mode)를 개시하는 것은 이러한 공격에 대항하여 탄력성을 효과적으로 줄 수 있다.
AL-CAN의 성능은 아래에서 평가된다. 표 II는 IA-CAN에 필요한 연산을 리스트한다. 여기서, H는 SHA-1와 같은 암호화 일방향 압축 함수(cryptographic one-way compression function)에 대한 연산량, XOR는 XOR 연산, 및 F는 하나의 문자열을 다수의 부분들로 나누는 비암호화 함수(non-cryptographic function that divides one string into multiple parts)에 대한 연산량이다. XOR 및 F의 과부하는 H와 비교하여 무시할 수 있다.
Figure pct00235
심지어 밀리 초 연산 지연은 예측할 수 없는 차량 제어 동작(종종 안전과 관련된)을 야기할 수 있다. 그러므로 해시 연산의 시간 과부하를 고려하는 것이 중요하다. 성능과 비용을 고려하여, ECU들은 보통 다양한 성능을 갖춘 8 내지 32 비트 마이크로 프로세서가 내장되어 있다. t l (t h ) 가 저가형(고가형) 마이크로 프로세서의 H의 계산 시간이라고 하자. t l t h 를 추정하기 위해 HMAC-SHA1 기능을 구현하는, 저가형 프로세서로 8 비트, 16MHz의 Arduino UNO R3 및 고가형 프로세서로 32 비트, 40MHz의 Chipkit 32MAX에 대한 과부하가 평가되었다. 구체적으로는, 네 개의 예시적인 사례들이 평가되었다: 바이트 키(A.1)를 가진 SHA-1 64, 20 바이트 키 (A.2)를 가진 SHA-1, 100 바이트 키 (A.3)를 가진 SHA-1, 및 49 바이트 키, 12 바이트 로 절단된 HMAC(A.4)를 가진 SHA-1(SHA-1 with 49-byte key, truncated to 12-byte HMAC (A.4)).
Figure pct00236
표 III에 리스트된 바와 같이, 각각의 시나리오들에서 16MHz 클럭을 가진 8 비트 마이크로프로세서에 대한 결과는 1번 연산에 대해 대략 12ms의 과부하 t l 를 초래했다. 반면에, 40MHz 클럭을 가진 32 비트 마이크로프로세서는 1번 연산에 대해 대략 200us 및 25,000번 연산에 5.7초의 과부하를 나타내었다. SHA-1의 연산은 80MHz의 16 비트 마이크로프로세서에 1.2ms미만 걸리는 것으로 나타난다. Mathematica는 인텔 i7 2.7GHz의 듀얼 코어에서 1회 연산에 대략 2ms 걸리고 25,000번 연산에 32초 걸리는 것으로 나타난다: 이 숫자들은 공격 시뮬레이션에 사용된다.
반대로, 8 비트의 Arduino UNO R3에서 비트-비교(bit-comparison)를 수행하는 데 단지 약 4us가 걸려, 동일한 마이크로프로세서에서 MAC을 단 한번 생성하는데 필요한 시간과 대비하여 무시할 수 있다.
공통 사용 페이로드 인증 모델들(Commonly-used payload authentication models)은 ECU가 각 프레임을 전송하기 전 및 ECU가 프레임을 수신한 후에 암호화 연산을 호출한다. 그러므로, 실제 프레임 대기 사간은 암호화 연산 시간 t m 에 의존하고 따라서 이전 모델들은 메시지 인증 지연 t m 을 줄이는 방법에 초점을 맞추었다. 이러한 하나의 예는 한번에 4/8 프레임들을 인증함으로써 지연을 줄일 수 있는 프로토콜이다. 이러한 접근 방법은 더 적은 과부하를 야기했지만, 메시지는 모든 프레임들을 수신한 후에만 인증되었기 때문에, 여전히 긴 프레임 대기 시간을 초래한다.
IA-CAN은 두 단계의 인증 프로세스들을 실행하지만, 도 14에 도시된 바와 같이 익명 ID를 생성하는 첫번째 단계는 유휴 시간(idle time) 중에만 연산되므로 IA-CAN의 실행 대기시간은 이전 모델들과 다르지 않다. 필터에서 ID들을 확인하는 대기 시간은 원래의 CAN 모델과 동일하다.
Figure pct00237
을 낮은 (높은) 주파수 프레임들의 주기라고 하자. 여러 SAE 범위에서 사용되는 CAN 프레임 전송 주기는 5ms 내지 1000ms이다. 보통, 고가형 프로세서들은 보다 높은 주파수와 보다 짧은 주기(예를 들어
Figure pct00238
)를 가지고 더욱 중요한 프로세스들에 사용되고, 반면에 저가형 프로세서들은 보다 낮은 주파수(예를들어,
Figure pct00239
)를 가지고 덜 중요한 프로세스들에 사용된다.
IA-CAN의 유연성을 보장하기 위해, 부등식
Figure pct00240
(도 12에 도시된 바와 같이)이 유지되어야 한다. 여기서 T j 는 송신기 측에서 프레임 전송 시간 간격(frame transmission interval time)이다. t′는 검증, 키 생성 및 익명 ID을 포함하는 세션 업데이트에 필요한 연산 시간이고, t n 은 익명 ID 생성에 필요한 연산 시간이다. 여기서
Figure pct00241
. CAN의 가능한 전송 대기기산 때문에 수신기 측에서 프레임 도착 간격은
Figure pct00242
이다. 즉, 익명 ID 생성은 유휴 시간 내에서 매우 짧게(trivially) 수행된다.
IA-CAN의 익명 ID는 프레임을 전송하기 전 및 프레임을 수신하기 전에 비트 비교를 단지 호출하므로, 실행 시간 프레임 대기 시간은 무시할 만하다. IA-CAN의 모든 단계에서, 송신기 ECU는 단지 MAC의 전송 전에만 페이로드 인증을 위한 MAC를 연산하고, 수신기ECU는 또한 IA-CAN을 수행한 후에 MAC을 연산한다. IA-CAN 및 MAC 생성 모두 계산 과부하를 초래하지만, 실행시간 대기시간(runtime latency)은 MAC 생성에만 기인하여 여전히 t m 이다. HMAC-SHA1은 앞서 언급한 평가 목적으로 사용되며, MAC및 익명 ID 생성을 위한 다른 알고리즘들의 사용을 배제하지 않는다.
공격 하에서 IA-CAN의 성능도 평가된다. 공격 시나리오들에서, 공격자는 다음과 같은 측면이 고려되어야 하는 특정 타겟에 위조 프레임을 전송한다고 가정할 수 있다.
버스 속도(즉, 125/500/1000 kbps)에서, 현재로 CAN 표준은 1 Mbps를 지원하나 실제 구현은 여전히 125 kbps를 사용한다.
버스 활용에서, 실제 구현은 모든 프레임들이 자신의 마감 시간들(deadlines)을 충족시킬 수 있도록 CAN 대역폭의 20 ~ 30 %를 사용한다. 이 버스 활용을 높이기 위해 많은 노력을 하고 있고, 그래서 이상적인 경우로 최대 100 % 활용을 가정한다.
프레임 길이에서, 표준 포맷에서 44-108 비트이다. 데이터 필드를 차지하지 않고 프레임의 비트의 실제 수는 1 비트 SOF (프레임의 시작), 중재를 위한 12 비트, 제어를 위한 6 비트, CRC를 위한 16 비트, ACK를 위한 2 비트, 및 7 비트 EOF (프레임 끝)를 갖는 44 비트들이다.
프레임 간격(즉 5/100/500/1000ms)에서, 이 간격이 공급 업체에 의해 미리 정의되고, 예시적인 숫자들은 SAE 벤치 마크들로부터 주어진다.
공격자의 버스 점유(attacker's bus occupation)(100까지)에서, 공격자는 무시할 소량의 데이터 전송을 증가시킬 수 있으나, 우리는 공격자가 전체 버스를 점유한 경우도 고려한다.
익명 ID의 길이에서, 익명 ID에 대한 16 비트는 IA-CAN에서 사용된다. 16 비트는 페이로드 인증 모델에 대한 16 비트 절단된 MAC(16 bit-truncated MAC for the payload authentication model)과 공정한 비교를 위해 할당된다. 우선 순위을 위해 할당된5 비트를 가정하면, 6 비트는
Figure pct00243
에 대한 ID 필드에 할당되고, 10 비트는
Figure pct00244
에 대한 데이터 필드에 할당된다. IA-CAN의 데이터 프레임 경우 에서, 두 개의 사례들이 보여진다: assigning 6 bits for
Figure pct00245
(작은 ID)에 대해 6비트들을 할당하는 경우 및
Figure pct00246
에 대해 16비트들을 할당하는 경우. 원격 프레임 경우에, α=0이다. 절단된 MAC의 16 비트들은 메시지 인증 코드(MAC)에 사용된다.
공격자가 대역폭의 100%을 활용하여 전체 버스를 차지한다고 가정하면, 가능한 공격 시도들의 최대수가 표 IV에 규정되었다. 공격자들이 CAN 버스 자체에 대한 DoS 공격을 실시하는 사례가 고려되지 않는다.
Figure pct00247
시뮬레이션 결과들은 다음과 같은 네 가지 모델들을 얻었다:
ㆍ 페이로드 인증 모델(PA)/M1, M2, M3에서 데이터
ㆍ 원격 프레임에 대한 IA-CAN (익명 ID 만) / M2 만
ㆍζ 비트들을 할당한 데이터 프레임에 대한 IA-CAN/M1, M2, M3
ㆍζ 비트들이 없는 데이터 프레임에 대한 IA-CAN/ M1, M2, M3
데이터 프레임이 익명 ID 및 페이로드 인증을 모두 포함하는 동안
원격 프레임에 대한 IA-CAN은 익명 ID만을 포함하고, 반면에 데이트 프레임에 대한 IA-CAN은 은 익명 ID와 페이로드 인증을 포함한다. 16 비트 익명 ID가 원격 프레임에 대한 IA-CAN에 할당되고 6 또는 16 비트 익명 ID가 데이터 프레임에 대한 IA-CAN에 사용된다. 공정한 비교를 위해, 16 비트 MAC은 페이로드 인증을 위해 할당된다.
또한 공격자가 100 % 대역폭 및 사용가능한 공격 시도들의 최대수가 표 IV에서 규정된 바와 같은 공격 시나리오들을 가정한다. 시뮬레이션 공격들은 인텔 i7 2.7GHz의 듀얼 코어 프로세서에 Mathematica를 사용하여 테스트되었다. HMAC-SHA1 동작은 각 프레임에 대해 25000번 연산되었고, 이러한 설정에서 대략 31초가 걸렸다.
공격자가 100% 활용된 버스의 전체 대역폭을 점유하여, 40 비트 허위 프레임을 전송하는 여섯 이상적인 공격 사례들이 보여진다. 순서대로 125kbps, 500 kbps, 1 Mbps의 버스들에서 처음 세 사례들은 125kbps에서 100ms 도착 간격(inter-arrival interval)을 갖는 프레임에 대한 것이고 나머지 세 사례들은 5ms의 프레임 간격을 갖는 프레임들에 대한 것이다.
사례 1: p = 1000ms. 이 시나리오에서, 공격은 125/500/1000 kbps CAN 버스에서 1000ms 간격으로 프레임들을 처리한다. 원격 프레임에 대한 IA-CAN은 대략 20/70/134ms 걸리고, 반면에 MAC을 사용하는 일반적인 PA는 1000ms의 시간-경계(time-bound)를 초과하여 4/16/31 초 걸린다. 데이터 프레임에 대한 IA-CAN을 사용할 경우, 6비트 익명 ID의 할당은 1000ms 경계 훨씬 아래인 30/ 70/156ms 걸린다.
사례 2 : p = 5ms. 이 시나리오에서, 이 공격이 125/500/1000kbps CAN 버스에서 5ms의 간격으로 프레임을 처리하고, 반면에 MAC을 사용하는 일반적인 PA는 5ms의 시간-경계(time-bound)를 초과하여 23/85/167ms 걸린다. 데이터 프레임에 대한 IA-CAN을 사용할 경우, 16비트 익명 ID의 할당은 여전히 2.8/4.6/5ms 걸린다.
사례 2는 데이트 프레임의 연산에서 높은 확률 때문에 작은 ID(6 비트들)이 고속 버스에서 시간 경계를 초과할 때 26비트들의 충돌이 있을 수 있다. 따라서, 이러한 과부하를 회피하기 위해,
Figure pct00248
를 가진 ID에 더 많은 비트들을 할당하는 것이 바람직하다고 가정한다. 사실상 하나의 프레임에 대해 100% 버스 점유에 100% 버스 활용이 실제적이지 않고 버스 활용이 통상적으로 30-40%이다.
비교하여, IA-CAN은 이전 모델에 비해 익명 ID에 대해 추가적으로 주목할만한 실행 과부하를 초래하지 않아, 매우 효율적입니다. MAC을 사용하여 페이로드 인증만을 제공하는 이전 모델들이 페이로드 데이터의 인증을 달성할 수 있더라도, DoS 공격자에 의해 초래되는 연산 과부하가 예상된다(the computation overhead incurred by a DoS attacker as is plotted). 시뮬레이션 결과들은, 일반적인 PA 모델들이 공격들 하에서 IA-CAN보다 대략 285배 이상 연산 과부하를 초래한다는 것을 보여준다. 표 V는 상술한 결과들을 요약한 모델들을 비교한다.
Figure pct00249
ID 익명 프로토콜은 차량 네트워크 외부의 통신을 지원하도록 확장될 수 있다. 원격 액세스 또는 V2X 통신에서, 외부 엔티티를 차량 내 네트워크에 상호 연결하는 손상된 ECU들은 여전히 지능적인 공격들에 취약하다. 공격자들은 게이트웨이의 ECU들(또는 외부 인터페이스를 갖는 어떤 ECU)을 손상시키고 차량 내 네트워크에 악성 정보를 송신할 수 있다.
외부 통신에서, 확장 IA-CAN은 다음과 같이 수정된다. 도 15를 참조하면, 외부 엔티티들은 게이트웨이 ECU에 원격 명령을 송신한다. 외부 엔티티(EE)은 게이트웨이 ECU (GE)과 RC1의 새로운 세션을 개시하기를 원한다. 공지된 프로토콜은 보안 채널을 설정하기 위해 사용될 수 있다. 설정의 결과, EE 및 GE는 비밀 키(K1)을 공유한다. EE는 보안 채널을 사용하여 GE에 랜덤 넌스(N1)를 전송한다. 먼저 EE는 K1을 가지고 N1H{N1]를 생성한다. 여기서 H{N1]N1의 해시이다. 그 후 EE는 K1을 사용하여 N1H{N1]를 암호화한다. 즉,
Figure pct00250
. GE는 K1을 사용하여 N1과 H{N1]를 해독하고, N1H{N1]의 무결성을 확인한다. 다음으로 GE는 제2차 랜덤 넌스(N2)와 다른 해시값 을 생성하고, 그후에 K1을 가지고 이들을 암호화한다. GE는 이것을 다음과 같이 EE에 송신한다:
Figure pct00252
. 그 결과, GE와 EE는 N1 N2를 공유할 수 있다. N1 N2를 공유하는 목적은 GE와 EE 사이에 세션의 신선도(freshness of session)를 보장하기 위해서이다.
랜덤 넌스를 교환한 후, EE는 RC1을 선택하고 EE에 의해 요청된 RC1을 인증하는 인증서(certificate(CERT))를 생성한다. 인증은 예를 들어,
Figure pct00253
에 의해 생성될 수 있다. 공유된 비밀
Figure pct00254
Figure pct00255
및 Κ3로부터 다음과 같이 생성된다:
Figure pct00256
. EE는 RC1, CERT를 다음과 같이 송신한다:
Figure pct00257
GE는 이것을 해독하고 RC1, CERT의 무결성을 확인한다. 차례로 게이트웨이는 외부 엔티티로부터 타켓 ECU에 명령을 전송한다. GE는 이미 N1N2를 알고 있다. 그 후 GE는 RC1를 가지고 ID1으로부터 TID 1을 찾는다. GE는 RC1을 알고 차량 내 메시지 식별자(ID 1)을 우선 발견하고, 다음에 임시 식별자(temporal identifier)(TID1)를 발견한다. GE는 다음과 같이 UPDATE를 생성한다: f1: (ID1,CERT,K2)→UPDATE. 여기서, f1은 일방향 함수, f1:{a}→b이고, a는 입력이고 b는 a로부터 출력이다. GE는 IA-CA 절차에서 상술한 바와 동일한 방법으로 N1,N2,UPDATE를 송신한다. 즉, GE→ IE : N1,N2,UPDATE. 여기서, IE는 타켓 ECU이다. IE는 UPDATE를 수신하고 CERT *를 생성한다. IE는 N1, N2 (단지 수신된) 및
Figure pct00258
를 알고 있다. 또한 IE는
Figure pct00259
K3을 알고 있다. 인증은
Figure pct00260
에 의해 생성된다. IE는 이제 UPDATE*를 생성하고, IE를 수신하는 UPDATE와 비교한다. 여기서,
Figure pct00261
이면, 그 후에 IE는 (업데이트된 k2)인 새로운 세션 키를 생성하고, 세션 카운터를 0으로 설정한다. 카운터가 MAX에 도달할 때, 세션은 만료된다. EE는 새로운 CERT를 GE에 송신하지 않는 경우, GE는 메시지를 IE에 송신한 더 이상의 권한이 없다. 세션 내에서 AID 생성과 검증은 IA-CAN과 동일하다.
공격자가 손상된 게이트웨이 ECU의 모든 제어를 하면, 이전 모델에서 완전한 실패를 야기한다. 그러나, IA-CAN의 EXT는 세션에서 손상된 게이트웨이 ECU만을 사용하는 공격자의 능력을 제한한다.
여기에 기재된 기술들은 하나 이상의 프로세서에 의해 실행되는 하나 이상의 컴퓨터 프로그램에 의해 구현될 수 있다. 상기 컴퓨터 프로그램은 비일시적 컴퓨터 판독 가능 매체(non-transitory tangible computer readable medium)에 저장된 프로세서- 실행 가능 명령을 포함한다. 또한 컴퓨터 프로그램은 저장된 데이터를 포함할 수 있다. 비 일시적인 유형의 컴퓨터 판독 가능한 매체의 비제한적인 예들은 비휘발성 메모리, 자기 스토리지 및 광학 스토리지이다.
상기 설명의 일부분은 알고리즘이나 정보에 대한 동작들의 심볼 표현(symbolic representations)의 관점에서 본 명세서에 기재된 기술을 제시한다. 이 알고리즘 설명들과 표현은 가장 효과적으로 다른 당업자에게 작업의 실체를 전달하기 위해 데이터 처리 분야의 당업자에 의해 사용되는 수단이다. 기능적 또는 논리적으로 설명되었지만 이 동작은 컴퓨터 프로그램에 의해 구현되는 것으로 이해된다. 더욱이, 일반성의 상실하지 않고 모듈로서 동작들의 이러한 배치들을 언급하거나 기능적 명칭을 언급하는 것이 시간으로 편리하다는 것이 입증되었다. 주어진 모듈 내에서 동작들의 그룹이 제한되지 않고, 동작들이 여러 개의 모듈 사이에 공유되거나 하나의 모듈로 결합될 수 있다고 이해된다.
구체적으로 상기 논의로부터 명백하게 구체적으로 반대로 기술되지 않는 한, 명세서를 통해 "처리"또는 "연산" 또는 "계산" 또는 "결정" 또는 "표시" 등과 같은 용어들을 사용하는 논의들은 컴퓨터 시스템 또는 컴퓨터 시스템 메모리 또는 레지스터 또는 다른 이러한 정보 저장 장치, 전송 또는 디스플레이 장치 내에서 물리적 (전자적) 물량으로서 표현된 데이터를 조작하고 변환하는, 유사한 전자 제어 유닛의 액션 및 프로세스들을 의미하는 것으로 이해된다.
설명된 기술들의 특정 측면들은 알고리즘의 형태로 본 명세서에 기재된 프로세스 단계들 및 지시들을 포함한다. 전술한 공정들 및 지시들은 소프트웨어, 펌웨어 또는 하드웨어로 구현될 수 있고, 소프트웨어에서 구현되는 경우에 다운로드되어 상주하거나 실시간 네트워크 운영 시스템에 의해 사용되는 다른 플랫폼으로부터 동작될 수 있음을 주목해야 한다.
또한 본 개시는 본 명세서에서 동작들을 수행하는 장치에 관한 것이다. 이 장치는 필요한 목적을 위해 특별히 구성되거나, 또는 선택적으로 활성화되거나 컴퓨터에 의해 액세스 될 수 있는 컴퓨터 판독 가능 매체에 저장된 컴퓨터 프로그램에 의해 재구성될 수 있는 컨트롤러를 포함할 수 있다. 이러한 컴퓨터 프로그램은 그 자체로 실체적인 컴퓨터 판독 가능한 저장 매체, 제한되지 않고 예를 들어, 플로피 디스크를 포함하는 어떤 형태의 디스크, 광 디스크, CD-ROM, 자기-광학 디스크, 판독 전용 메모리(ROM), 랜덤 액세스 메모리(RAM), EPROM, EEPROM, 자기 또는 광 카드, 주문형 집적 회로 (ASIC), 또는 전자 지시를 저장하기에 적합한 기타 유형의 매체에 저장될 수 있다. 또한, 본 명세서에서 참조된 컴퓨터는 단일 프로세서를 포함하거나 증가된 컴퓨팅 능력을 위한 다중 프로세서 설계를 채용한 아키텍처일 수 있다.
본 명세서에 제시된 알고리즘들 및 동작들은 본질적으로 임의의 특정 컴퓨터 또는 다른 장치에 관련된 것이 아니다. 다양한 전자 제어 유닛은 본 명세서의 교시에 따른 프로그램과 함께 사용될 수 있으며, 또는 요구된 방법 단계들을 수행하도록 보다 특화된 장치를 구성하는 것이 편리하다는 것을 증명할 수 있다. 이러한 다양한 시스템에 필요한 구조는 상응하는 변경과 함께 당업자에게 명백할 것이다. 또한, 본 개시는 임의의 특정 프로그래밍 언어를 참조하여 설명되지 않는다. 다양한 프로그래밍 언어가 본 명세서에서 설명된 본 개시의 교시를 구현하는데 사용될 수도 있다.
전술한 실시예들에 대한 설명은, 예시와 설명의 목적으로써 제공된 것이다. 발명을 고갈시키거나(exhaustive) 제한시킬 목적이 아니다. 특정 실시예의 개개의 구성요소들 또는 형상들(features)은 일반적으로 특정 실시예로 제한되지 않지만, 적용되는 경우, 구체적으로 도시되거나 설명되지 않았더라도, 선택된 실시예에 교환가능하거나 사용가능하다. 또한 많은 방식으로 변경될 수 있다. 이러한 변경들(variations)은 본 발명에서 이탈된 것으로 간주되지 않고, 모든 그러한 수정사항들(modifications)은 발명의 범위 이내에 포함되는 것이다.

Claims (20)

  1. 수신 전자 제어 유닛에 의해, 암호화 키를 저장하는 단계로 상기 암호화 키는 송신 전자 제어 유닛과 공유됨;
    상기 수신 전자 제어 유닛에 의해, 상기 송신 전자 제어 유닛에 의해 직렬 데이터 링크(serial data link)를 통하여 송신되는 데이터 프레임에서 현재 프레임 식별자(current frame identifier)를 수신하는 단계;
    상기 수신 전자 제어 유닛에 의해, 상기 현재 프레임 식별자에 응답하여 다음 프레임 식별자를 생성하는 단계로 상기 다음 프레임 식별자는 인코딩 함수를 사용하여 상기 현재 프레임 식별자 및 암호 키로부터 일부분 유도됨;
    상기 수신 전자 제어 유닛에 의해, 후속 처리를 위해 데이터 저장(data store)에서 상기 다음 프레임 식별자를 저장하는 단계;
    상기 수신 전자 제어 유닛에 의해, 상기 현재 프레임 식별자의 수신에 후속하여, 다른 데이터 프레임을 수신하는 단계;
    상기 수신 전자 제어 유닛에 의해, 상기 다른 데이터 프레임의 일부분을 디코딩하지 않고 상기 다른 데이터 프레임으로부터 프레임 식별자를 추출하는 단계;
    상기 수신 전자 제어 유닛에 의해, 상기 추출된 프레임 식별자를 상기 데이터 저장에 있는 상기 다음 프레임 식별자와 비교하는 단계;
    상기 수신 전자 제어 유닛에 의해, 상기 추출된 프레임 식별자가 상기 다음 프레임 식별자와 일치할 때 상기 다른 데이터 프레임의 페이로드를 처리하는 단계; 및
    상기 수신 전자 제어 유닛에 의해, 상기 추출된 프레임 식별자가 상기 다음 프레임 식별자와 일치하지 않을 때 상기 다른 데이터 프레임을 폐기하는 단계를 포함하는 차량 네트워크에서 데이터 프레임을 인증하기 위한 컴퓨터 구현 방법.
  2. 제 1 항에 있어서,
    다음 프레임 식별자를 생성하는 단계는 키-해시 함수(keyed-hash function)을 사용하는 단계를 추가로 포함하는 방법.
  3. 제 1 항에 있어서,
    상기 수신 전자 제어 유닛에 의해, 상기 추출된 프레임 식별자가 상기 다음 프레임 식별자와 일치할 때 새로운 프레임 식별자를 생성하는 단계 및 상기 데이터 저장에 상기 다음 프레임 식별자를 상기 새로운 프레임 식별자로 대체하는 단계로 상기 새로운 프레임 식별자는 인코딩 함수를 사용하여 상기 추출된 프레임 식별자 및 암호 키로부터 일부분 유도됨을 추가로 포함하는 방법.
  4. 제 1 항에 있어서,
    상기 수신 전자 제어 유닛에 의해, 상기 다른 데이터 프레임으로부터 메시지 인증 코드를 추출하는 단계 및 상기 메시지 인증 코드를 사용하여 상기 다른 데이트 프레임의 페이로드를 인증하는 단계를 추가로 포함하고, 상기 메시지 인증 코드는 추출된 프레임 식별자와 다르고 상기 다른 데이터 프레임에 페이로드로부터 일부분 유도되고 상기 추출 및 인증하는 단계들은 상기 추출된 프레임 식별자가 상기 다음 프레임 식별자와 일치할 때 및 다른 데이터 프레임의 페이로드를 처리하는 단계 이전에 일어나는 방법.
  5. 제1항에 있어서,
    상기 송신 전자 제어 유닛에 의해, 넌스를 선택하는 단계;
    상기 송신 전자 제어 유닛에 의해, 키 생성을 위한 해시 함수를 선택하는 단계;
    상기 송신 전자 제어 유닛에 의해, 메시지 인증을 위한 키 해시 함수(keyed hash function)를 선택하는 단계;
    상기 송신 전자 제어 유닛에 의해, 상기 선택된 키 해시 함수에 상기 송신 전자 제어 유닛에 대한 식별자, 상기 넌스 및 상기 암호화 키를 적용하여 해시 출력을 생성하는 단계; 및
    상기 송신 전자 제어 유닛에 의해, 상기 수신 전자 제어 유닛에 상기 직렬 데이터 링크를 통해 개시 데이터 프레임을 송신하는 단계로, 상기 개시 데이터 프레임은 상기 송신 전자 제어 유닛에 대한 식별자, 상기 넌스, 해시값, 상기 해시 함수에 대한 지시자(indicator for the hash function), 키 해시 함수에 대한 지시자(indicator for the keyed hash function) 및 해시 출력을 포함함에 의해,
    상기 송신 전자 제어 유닛과 상기 수신 전자 제어 유닛 사이에 세션을 개시하는 단계를 추가로 포함하는 방법.
  6. 제 5 항에 있어서,
    상기 수신 전자 제어 유닛에 의해, 상기 개시 데이터 프레임을 수신하는 단계;
    상기 수신 전자 제어 유닛에 의해, 상기 개시 데이터 프레임으로부터 선택된 키 해시 함수를 결정하는 단계;
    상기 수신 전자 제어 유닛에 의해, 상기 선택된 키 해시 함수에 상기 송신 전자 제어 유닛에 대한 식별자, 상기 넌스 및 상기 개시 데이터 프레임으로부터 검색된 상기 암호화 키를 적용하여 해시 출력을 생성하는 단계; 및
    상기 수신 전자 제어 유닛에 의해, 상기 생성된 해시 출력이 상기 개시 데이터 프레임으로부터 검색된 상기 해시 출력과 일치할 때, 상기 선택된 해시 함수에 상기 넌스 및 상기 암호화 키를 적용하므로 세션을 생성하는 단계를 추가로 포함하는 방법.
  7. 제 1 항에 있어서,
    상기 수신 전자 제어 유닛에 의해 수신된 데이터 프레임들은 상기 수신 전자 제어 유닛에 대한 식별자를 포함하지 않는 방법.
  8. 제 1 항에 있어서,
    상기 직렬 데이터 링크는 컨트롤러 영역 네트워크(controller area network)로 추가로 정의된 방법.
  9. 제 1 항에 있어서,
    상기 직렬 데이터 링크는 로컬 인터커넥트 네트워크(Local Interconnect Network)로 정의되는 방법.
  10. 수신 전자 제어 유닛의 데이터 저장에 있고 송신 전자 제어 유닛과 공유되는 암호 키;
    상기 수신 전자 제어 유닛의 데이터 저장에 있는 다음 프레임 식별자;
    상기 송신 전자 제어 유닛에 의해 차량 네트워크를 통해 송신되는 데이터 프레임을 수신하고, 상기 데이터 프레임의 일부분를 디코딩하지 않고 상기 수신된 데이터 프레임으로부터 프레임 식별자를 추출하고 상기 추출된 프레임의 식별자를 상기 다음 프레임 식별자와 비교하도록 구성된 필터;
    상기 추출된 프레임의 식별자가 상기 다음 프레임의 식별자와 일치할 때 상기 필터로부터 데이터 프레임을 수신하고 상기 데이터 프레임의 페이로드로부터 데이터 프레임을 처리하도록 구성된 메시지 인증기; 및
    상기 추출된 프레임의 식별자가 상기 다음 프레임의 식별자와 일치할 때 상기 추출된 프레임 식별자를 수신하고 상기 데이터 저장에 상기 다음 프레임 식별자를 상기 새로운 프레임 식별자로 대체하는 ID 생성기를 포함하고, 상기 새로운 프레임 식별자는 인코딩 함수를 사용하여 상기 추출된 프레임 식별자 및 암호 키로부터 일부분 유도되는, 차량 시스템에서 데이터 프레임들을 인증하는 시스템.
  11. 제 10항에 있어서,
    상기 필터는 상기 추출된 프레임의 식별자가 상기 다음 프레임의 식별자가 일치하지 않을 때 상기 추출된 데이터 프레임을 폐기하는 시스템.
  12. 제 11 항에 있어서,
    상기 메시지 인증기는 상기 데이터 프레임으로부터 메시지 인증 코드를 출력하고 상기 데이터 프레임의 페이로드를 처리하기 이전에 상기 데이터 프레임의 페이로드를 인증하고, 상기 메시지 인증 코드는 상기 추출된 프레임 식별자와 다르고 상기 다른 데이트 프레임에 페이로드로부터 일부분 유도되는 시스템.
  13. 제 12 항에 있어서,
    상기 메시지 인증기는 순환 중복 검사(cyclic redundancy check)를 사용하여 상기 데이터 프레임의 페이로드를 인증하는 시스템.
  14. 제10항에 있어서,
    상기 차량 네트워크는 차량에 있는 직렬 데이터 버스(serial data bus)에 의해 추가로 정의되는 시스템.
  15. 제 14 항에 있어서,
    상기 데이터 프레임은 컨트롤러 영역 네트워크(Controller Area Network)에 따라 통신되는 시스템.
  16. 제 15 항에 있어서,
    상기 인코딩 함수는 키 해시 함수로 추가로 정의되는 시스템.
  17. 다음 프레임 식별자를 저장하는 송신 데이터 저장:
    상기 송신 데이터 저장으로부터 상기 다음 프레임 식별자를 검색하고 상기 프레임 식별자를 가지고 데이트 프레임을 포맷하고, 상기 차량 네트워크를 통해 상기 데이터 프레임을 전송하도록 구성된 상기 송신 모듈:
    상기 추출된 프레임의 식별자가 상기 다음 프레임의 식별자와 일치할 때 상기 추출된 프레임 식별자를 수신하고 상기 데이터 저장에 상기 다음 프레임 식별자를 상기 새로운 프레임 식별자로 대체하도록 구성된 ID 생성기를 포함하는, 차량 네트워크에 연결된 송신 전자 제어 유닛; 및
    상기 다음 프레임 식별자를 저장하는 수신 데이터 저장:
    상기 송신 전자 제어 유닛에 의해 상기 차량 네트워크를 통해 송신되는 상기 데이터 프레임을 수신하고, 상기 데이터 프레임의 일부분를 디코딩하지 않고 상기 수신된 데이터 프레임으로부터 프레임 식별자를 추출하고 상기 추출된 프레임의 식별자를 상기 수신 데이터 저장에 있는 상기 다음 프레임 식별자와 비교하도록 구성된 필터:
    상기 추출된 프레임의 식별자가 상기 다음 프레임의 식별자와 일치할 때 상기 필터로부터 데이터 프레임을 수신하고 상기 데이터 프레임의 페이로드로부터 데이터 프레임을 처리하도록 구성된 메시지 인증기: 및
    상기 메시지 인증기와 인터페이스되고 새로운 프레임 식별자를 생성하도록 구성되고 상기 추출된 프레임의 식별자가 상기 수신 데이터 저장에 있는 상기 다음 프레임의 식별자와 일치할 때 상기 데이터 저장에 상기 다음 프레임 식별자를 상기 새로운 프레임 식별자로 대체하는 ID 생성기를 포함하는, 차량 네트워크에 연결된 수신 전자 제어 유닛를 포함하는, 차량 시스템에서 데이터 프레임을 인증하는 시스템.
  18. 제 17 항에 있어서,
    상기 필터는 상기 추출된 프레임의 식별자가 상기 다음 프레임의 식별자가 일치하지 않을 때 상기 추출된 데이터 프레임을 폐기하는 시스템.
  19. 제 17 항에있어서.
    상기 수신 전자 제어 유닛의 상기 메시지 인증기는 키 해시 함수를 사용하여 상기 추출된 프레임 식별자와 암호화 키로부터 새로운 프레임 식별자를 생성하는 시스템.
  20. 제 17 항에 있어서,
    상기 차량 네트워크는 상기 직렬 데이터 버스에 의해 추가로 정의되고 상기 데이터 프레임은 컨트롤러 영역 네트워크(Controller Area Network)에 따라 통신하는 시스템.

KR1020167010213A 2013-09-24 2014-09-24 차량 네트워크에서 id 익명화를 사용한 실시간 프레임 인증 KR102243114B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361881544P 2013-09-24 2013-09-24
US61/881,544 2013-09-24
US14/494,141 2014-09-23
US14/494,141 US9288048B2 (en) 2013-09-24 2014-09-23 Real-time frame authentication using ID anonymization in automotive networks
PCT/US2014/057104 WO2015048058A1 (en) 2013-09-24 2014-09-24 Real-time frame authentication using id anonymization in automotive networks

Publications (2)

Publication Number Publication Date
KR20160060683A true KR20160060683A (ko) 2016-05-30
KR102243114B1 KR102243114B1 (ko) 2021-04-21

Family

ID=52692101

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167010213A KR102243114B1 (ko) 2013-09-24 2014-09-24 차량 네트워크에서 id 익명화를 사용한 실시간 프레임 인증

Country Status (5)

Country Link
US (1) US9288048B2 (ko)
EP (1) EP3050251B1 (ko)
KR (1) KR102243114B1 (ko)
CN (1) CN105745862B (ko)
WO (1) WO2015048058A1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101705639B1 (ko) 2016-10-24 2017-02-13 고려대학교 산학협력단 차량 네트워크 시스템에서의 메시지 송수신 방법
KR20190014391A (ko) * 2017-08-02 2019-02-12 한국전자통신연구원 Hmac 기반의 동적 can id 생성 및 운용 장치, 및 그 방법
WO2019054529A1 (ko) * 2017-09-14 2019-03-21 엘지전자 주식회사 통신 방법
US11791984B2 (en) 2019-03-25 2023-10-17 Micron Technology, Inc. Local ledger block chain for secure updates
US11924003B2 (en) 2019-04-29 2024-03-05 Canis Automotive Labs Limited Controller Area Network (CAN) bus security invention

Families Citing this family (134)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8955075B2 (en) 2012-12-23 2015-02-10 Mcafee Inc Hardware-based device authentication
FR3019958B1 (fr) * 2014-04-14 2017-08-11 Valeo Equip Electr Moteur Procede et dispositif de communication d'un regulateur de tension d'un alternateur de vehicule automobile sur un reseau embarque, regulateur de tension et alternateur correspondants
US9705678B1 (en) * 2014-04-17 2017-07-11 Symantec Corporation Fast CAN message authentication for vehicular systems
CN105594156B (zh) * 2014-05-08 2020-01-21 松下电器(美国)知识产权公司 车载网络系统、电子控制单元及不正常检测方法
CN111478836B (zh) * 2014-07-10 2024-02-20 松下电器(美国)知识产权公司 车载网络系统、电子控制单元、接收方法以及发送方法
KR101572935B1 (ko) * 2014-10-02 2015-12-11 현대자동차주식회사 메시지 인증 코드 혼합을 통한 can 패킷 인증 방법 및 그 장치
KR101596753B1 (ko) * 2014-10-02 2016-02-23 현대자동차주식회사 메시지 인증 코드 분할을 통한 순차적 can 패킷 인증 방법 및 그 장치
EP3412514B1 (en) * 2014-11-12 2019-12-04 Panasonic Intellectual Property Corporation of America Update management method, update management device, and control program
US9843597B2 (en) * 2015-01-05 2017-12-12 International Business Machines Corporation Controller area network bus monitor
DE102015201298A1 (de) * 2015-01-26 2016-07-28 Robert Bosch Gmbh Verfahren zum kryptographischen Bearbeiten von Daten
US11016925B2 (en) * 2015-03-26 2021-05-25 Nxp Usa, Inc. Protocol-tolerant communications in controller area networks
US9661006B2 (en) 2015-03-31 2017-05-23 Check Point Software Technologies Ltd. Method for protection of automotive components in intravehicle communication system
EP3280172B1 (en) * 2015-04-01 2024-05-29 LG Electronics Inc. Method and device for transmitting, by v2x terminal, signal in wireless communication system
DE102015105110A1 (de) * 2015-04-02 2016-10-06 Dr. Ing. H.C. F. Porsche Aktiengesellschaft Steuergerät zum Verbinden eines CAN-Busses mit einem Funknetzwerk und Kraftfahrzeug mit einem solchen Steuergerät
DE102015105134A1 (de) * 2015-04-02 2016-10-06 Dr. Ing. H.C. F. Porsche Aktiengesellschaft Steuergerät zum Verbinden eines CAN-Busses mit einem Funknetzwerk und Kraftfahrzeug mit einem solchen Steuergerät
DE102015105112A1 (de) 2015-04-02 2016-10-06 Dr. Ing. H.C. F. Porsche Aktiengesellschaft Steuergerät zum Verbinden eines CAN-Busses mit einem Funknetzwerk und Kraftfahrzeug mit einem solchen Steuergerät
US9935774B2 (en) * 2015-05-22 2018-04-03 Nxp B.V. Configurable cryptographic controller area network (CAN) device
US9825918B2 (en) * 2015-05-22 2017-11-21 Nxp B.V. Controller area network (CAN) device and method for operating a CAN device
US10095634B2 (en) * 2015-05-22 2018-10-09 Nxp B.V. In-vehicle network (IVN) device and method for operating an IVN device
WO2016201091A1 (en) * 2015-06-10 2016-12-15 RunSafe Security, Inc. System and method for guarding a controller area network
US9686294B2 (en) * 2015-06-15 2017-06-20 Check Point Software Technologies Ltd. Protection of communication on a vehicular network via a remote security service
FR3038189B1 (fr) * 2015-06-26 2017-08-11 Inst De Rech Tech Systemx Procede de detection d'attaques dans un reseau de communication par diffusion comprenant des equipements electroniques et/ou informatiques, et reseau correspondant
US10298612B2 (en) 2015-06-29 2019-05-21 Argus Cyber Security Ltd. System and method for time based anomaly detection in an in-vehicle communication network
US10798114B2 (en) 2015-06-29 2020-10-06 Argus Cyber Security Ltd. System and method for consistency based anomaly detection in an in-vehicle communication network
US11165851B2 (en) 2015-06-29 2021-11-02 Argus Cyber Security Ltd. System and method for providing security to a communication network
US11048797B2 (en) 2015-07-22 2021-06-29 Arilou Information Security Technologies Ltd. Securing vehicle bus by corrupting suspected messages transmitted thereto
JP6512023B2 (ja) * 2015-08-07 2019-05-15 株式会社デンソー 通信システム、送信ノード、及び受信ノード
JP6787697B2 (ja) * 2015-08-31 2020-11-18 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America ゲートウェイ装置、車載ネットワークシステム及び転送方法
CN112261026B (zh) * 2015-08-31 2023-02-28 松下电器(美国)知识产权公司 不正常检测方法、不正常检测电子控制单元以及不正常检测系统
EP3734911B1 (en) * 2015-08-31 2022-02-09 Panasonic Intellectual Property Corporation of America Gateway device, car onboard network system, and transfer method
JP6525825B2 (ja) * 2015-08-31 2019-06-05 国立大学法人名古屋大学 通信装置
JP6603617B2 (ja) * 2015-08-31 2019-11-06 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ ゲートウェイ装置、車載ネットワークシステム及び通信方法
KR101675332B1 (ko) * 2015-09-14 2016-11-11 인포뱅크 주식회사 차량용 데이터 통신 방법 및 그를 이용하는 차량용 전자 제어 장치 및 시스템
US9954892B2 (en) * 2015-09-28 2018-04-24 Nxp B.V. Controller area network (CAN) device and method for controlling CAN traffic
US10361934B2 (en) * 2015-09-28 2019-07-23 Nxp B.V. Controller area network (CAN) device and method for controlling CAN traffic
JP6481579B2 (ja) * 2015-09-29 2019-03-13 株式会社オートネットワーク技術研究所 車載通信システム及び監視装置
US10402561B2 (en) * 2015-10-01 2019-09-03 Samsung Electronics Co., Ltd. Apparatus and method for protection of critical embedded system components via hardware-isolated secure element-based monitor
WO2017060979A1 (ja) * 2015-10-06 2017-04-13 富士通株式会社 実装ユニット、実装ユニット検証方法及び実装ユニット検証プログラム
DE102015219989A1 (de) * 2015-10-15 2017-04-20 Robert Bosch Gmbh Verfahren und Vorrichtung zur Auffrischung eines gemeinsamen Geheimnisses, insbesondere eines symmetrischen kryptographischen Schlüssels, zwischen einem ersten Knoten und einem zweiten Knoten eines Kommunikationssystems
US10277597B2 (en) * 2015-11-09 2019-04-30 Silvercar, Inc. Vehicle access systems and methods
US10050983B2 (en) * 2015-11-13 2018-08-14 Kabushiki Kaisha Toshiba Communication system, receiving apparatus, receiving method, and computer program product
JP6712938B2 (ja) * 2015-12-14 2020-06-24 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 評価装置、評価システム及び評価方法
JP6684690B2 (ja) * 2016-01-08 2020-04-22 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 不正検知方法、監視電子制御ユニット及び車載ネットワークシステム
JP6741559B2 (ja) * 2016-01-18 2020-08-19 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 評価装置、評価システム及び評価方法
CN109076078B (zh) * 2016-02-22 2021-09-24 大陆汽车系统公司 用以建立和更新用于安全的车载网络通信的密钥的方法
US10142358B1 (en) * 2016-02-29 2018-11-27 Symantec Corporation System and method for identifying an invalid packet on a controller area network (CAN) bus
US11044260B2 (en) * 2016-04-01 2021-06-22 The Regents Of The University Of Michigan Fingerprinting electronic control units for vehicle intrusion detection
KR102068228B1 (ko) * 2016-04-12 2020-01-21 가드녹스 사이버 테크놀로지스 엘티디. 보안 록다운을 구현하도록 구성되는 관련 디바이스 및 그 사용 방법을 갖는 특별히 프로그래밍된 컴퓨터 시스템
US11032707B2 (en) * 2016-05-06 2021-06-08 Intel IP Corporation Service authorization and credential provisioning for V2X communications
US10574305B2 (en) * 2016-05-11 2020-02-25 Magna Electronics Inc. Vehicle secured communication system
US11748370B2 (en) 2016-06-01 2023-09-05 Otonomo Technologies Ltd. Method and system for normalizing automotive data
JP6846991B2 (ja) * 2016-07-05 2021-03-24 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 異常検知電子制御ユニット、車載ネットワークシステム及び異常検知方法
DE102016008957B4 (de) * 2016-07-13 2018-01-25 Audi Ag Direkter Zugriff auf Bussignale in einem Kraftfahrzeug
US11245535B2 (en) 2016-07-18 2022-02-08 The Regents Of The University Of Michigan Hash-chain based sender identification scheme
US10708227B2 (en) * 2016-07-19 2020-07-07 Magna Electronics Inc. Scalable secure gateway for vehicle
JP6849528B2 (ja) * 2016-07-28 2021-03-24 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America フレーム伝送阻止装置、フレーム伝送阻止方法及び車載ネットワークシステム
EP3499793B1 (en) * 2016-08-10 2021-11-10 KDDI Corporation Data provision system, data security device, data provision method, and computer program
US10650621B1 (en) 2016-09-13 2020-05-12 Iocurrents, Inc. Interfacing with a vehicular controller area network
US10285051B2 (en) * 2016-09-20 2019-05-07 2236008 Ontario Inc. In-vehicle networking
US10581906B2 (en) * 2016-09-28 2020-03-03 Intel Corporation Security system for electronic equipment
US10491405B2 (en) * 2016-10-04 2019-11-26 Denso International America, Inc. Cryptographic security verification of incoming messages
CN110268687B (zh) * 2016-10-07 2022-03-08 维塔内特日本株式会社 使用已定义的数据定义的数据处理
CN107968999B (zh) * 2016-10-18 2021-04-20 华为技术有限公司 一种隐私保护方法及相关设备
CN106453326B (zh) * 2016-10-19 2019-11-26 中国第一汽车股份有限公司 一种can总线的认证与访问控制方法
US10735206B2 (en) * 2016-11-07 2020-08-04 The Regents Of The University Of Michigan Securing information exchanged between internal and external entities of connected vehicles
US10630481B2 (en) * 2016-11-07 2020-04-21 Ford Global Technologies, Llc Controller area network message authentication
IT201600111869A1 (it) * 2016-11-07 2018-05-07 Magneti Marelli Spa "Procedimento di monitoraggio di traffico dati in una rete di autoveicolo o motoveicolo"
DE102016222740A1 (de) * 2016-11-18 2018-05-24 Continental Automotive Gmbh Verfahren für ein Kommunikationsnetzwerk und elektronische Kontrolleinheit
EP3337119B1 (en) 2016-12-13 2019-09-11 Nxp B.V. Updating and distributing secret keys in a distributed network
EP3337120B1 (en) 2016-12-14 2021-04-21 Nxp B.V. Network message authentication and verification
EP3337039B1 (en) 2016-12-14 2020-07-22 Nxp B.V. Monotonic counter and method of operating a monotonic counter
US10333838B2 (en) * 2016-12-30 2019-06-25 UBTECH Robotics Corp. Frame transmission methods and devices
CN107040516B (zh) * 2017-01-03 2021-06-11 东南大学 一种高效假名管理和数据完整性保护协议
JP6981755B2 (ja) * 2017-01-25 2021-12-17 トヨタ自動車株式会社 車載ネットワークシステム
EP3355545B1 (en) 2017-01-30 2020-09-23 Nxp B.V. Apparatus and method for verifying secret keys
KR102559684B1 (ko) * 2017-03-08 2023-07-27 로베르트 보쉬 게엠베하 계측 제어기 통신망을 위한 그룹 키 합의를 위해 부채널 누설을 최소화하기 위한 방법들
JP6760185B2 (ja) * 2017-03-31 2020-09-23 住友電気工業株式会社 中継装置、検知方法および検知プログラム
US10708235B2 (en) * 2017-03-31 2020-07-07 Zzgulu Llc System and devices for enabling anonymous communication based on motor vehicle identifiers
JP6539363B2 (ja) 2017-04-07 2019-07-03 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 不正通信検知方法、不正通信検知システム及びプログラム
CN109005678B (zh) 2017-04-07 2022-05-27 松下电器(美国)知识产权公司 非法通信检测方法、非法通信检测系统以及记录介质
US20180310173A1 (en) * 2017-04-25 2018-10-25 Kabushiki Kaisha Toshiba Information processing apparatus, information processing system, and information processing method
DE102017109868A1 (de) * 2017-05-08 2018-11-08 Webasto SE Klimasystem für ein Fahrzeug, Gatewayeinrichtung, Verfahren zum Einstellen eines Parameters einer Klimaeinrichtung und computerlesbares Speichermedium zur Implementierung des Verfahrens
CN108965218B (zh) * 2017-05-25 2020-09-29 华为技术有限公司 一种控制器区域网总线安全通信方法、装置及系统
WO2018223041A1 (en) * 2017-06-02 2018-12-06 Bae Systems Information And Electronic Systems Integration Inc. System and method for cryptographic protections of customized computing environment
DE102017209806A1 (de) * 2017-06-09 2018-12-13 Robert Bosch Gmbh Verfahren und Vorrichtung zum Erkennen von Angriffen auf einen Feldbus
JP7229647B2 (ja) 2017-06-16 2023-02-28 ソニーセミコンダクタソリューションズ株式会社 信号処理装置および方法、並びにプログラム
JP7094670B2 (ja) * 2017-07-03 2022-07-04 矢崎総業株式会社 設定装置及びコンピュータ
WO2019026078A1 (en) * 2017-08-02 2019-02-07 Enigmatos Ltd. SYSTEM AND METHOD FOR DETECTING MALWARE MATERIAL
CN111247769B (zh) * 2017-08-29 2023-04-28 罗伯特·博世有限公司 用于使用不安全共享通信介质的具有前向保密性的线性密钥协定的方法和系统
EP3454502B1 (en) * 2017-09-07 2020-08-05 Nxp B.V. Transceiver system
FR3071118B1 (fr) * 2017-09-12 2020-09-04 Thales Sa Dispositif electronique et procede de reception de donnees via un reseau de communication rebonde, systeme de communication et programme d'ordinateur associes
CN109587518B (zh) 2017-09-28 2022-06-07 三星电子株式会社 图像传输装置、操作图像传输装置的方法以及片上系统
US10218499B1 (en) * 2017-10-03 2019-02-26 Lear Corporation System and method for secure communications between controllers in a vehicle network
CN107749845B (zh) * 2017-10-20 2019-08-09 成都信息工程大学 基于区块链技术的can总线报文的抗攻击方法及系统
CN107770176B (zh) * 2017-10-24 2020-06-02 中国计量大学 Sae-j1939汽车总线节点认证ecu产生方法
US10638313B2 (en) 2017-10-26 2020-04-28 Robert Bosch Gmbh Systems and methods for confirming a cryptographic key
CN109729056A (zh) * 2017-10-30 2019-05-07 北京长城华冠汽车科技股份有限公司 基于车联网的整车网络安全防护方法及整车网络架构
CN108200601A (zh) * 2017-11-30 2018-06-22 大连理工大学 一种基于数据优先级、链路状态和交通流密度的多链路选择方法
CN107878367A (zh) * 2017-12-07 2018-04-06 上海太鼎汽车工程技术有限公司 一种车辆通用总线控制系统及汽车
FR3076140B1 (fr) * 2017-12-22 2021-02-26 Psa Automobiles Sa Procede, sur un reseau de communication embarque d’un vehicule, de transmission securisee d’un message.
JP6794383B2 (ja) * 2018-01-15 2020-12-02 株式会社東芝 電子装置、方法、プログラム及びサーバ、方法、プログラム
US11411761B2 (en) * 2018-01-17 2022-08-09 Nippon Telegraph And Telephone Corporation Detection device, detection method, and program
US10627853B2 (en) 2018-02-21 2020-04-21 Nxp B.V. Clock tuning
US10623385B2 (en) * 2018-03-16 2020-04-14 At&T Mobility Ii Llc Latency sensitive tactile network security interfaces
JP7176564B2 (ja) * 2018-04-27 2022-11-22 日本電気株式会社 監視装置、および、監視方法
EP3582447A1 (en) 2018-06-15 2019-12-18 Technische Hochschule Ingolstadt Obfuscation of frames in a control area network of a vehicle
US10243732B1 (en) 2018-06-27 2019-03-26 Karamba Security Cryptographic key management for end-to-end communication security
US11354406B2 (en) * 2018-06-28 2022-06-07 Intel Corporation Physics-based approach for attack detection and localization in closed-loop controls for autonomous vehicles
DE102018215126A1 (de) 2018-09-06 2020-03-12 Continental Teves Ag & Co. Ohg Fahrzeug-zu-X Kommunikationsvorrichtung und Verfahren zur Verwirklichung eines Sicherheitsintegritätslevels bei Fahrzeug-zu-X Kommunikation
US10752207B2 (en) * 2018-09-07 2020-08-25 Ford Global Technologies, Llc Multi-factor authentication of a hardware assembly
CN109861893B (zh) * 2018-10-18 2020-08-14 珠海格力电器股份有限公司 一种基于系统总线的通信方法、装置及系统
KR102450811B1 (ko) * 2018-11-26 2022-10-05 한국전자통신연구원 차량 내부 네트워크의 키 관리 시스템
KR102244569B1 (ko) * 2018-11-26 2021-04-26 한국전자통신연구원 오토모티브 이더넷에 기초하여 차량 내부 네트워크에서 차량 내 디바이스간 통신 방법 및 장치
DE102018130297A1 (de) * 2018-11-29 2020-06-04 Infineon Technologies Ag Arbeitsnachweis-Konzept für ein Fahrzeug
US11616862B2 (en) 2019-03-11 2023-03-28 Saferide Technologies Ltd. System and method for compressing controller area network (CAN) messages
US11397814B2 (en) * 2019-03-25 2022-07-26 Micron Technology, Inc. Local ledger block chain for secure electronic control unit updates
GB2590282A (en) * 2019-06-07 2021-06-23 Karamba Security Ltd Cryptographic key management for end-to-end communication security
EP3761569B1 (en) * 2019-07-03 2023-03-01 Nxp B.V. Error frame detection in a can bus
DE102019005608A1 (de) * 2019-08-09 2021-02-11 Infineon Technologies Ag Transportschichtauthentizität und Sicherheit für Automobilkommunikation
WO2021030123A1 (en) 2019-08-12 2021-02-18 Voyomotive, Llc A method and apparatus for controller area network bus intrusion detection and neutralization
IT201900023544A1 (it) * 2019-12-10 2021-06-10 Fpt Ind Spa Metodo e sistema di scambio di dati su una rete per incrementare misure di sicurezza della rete, veicolo comprendente tale sistema
US11444961B2 (en) * 2019-12-20 2022-09-13 Intel Corporation Active attack detection in autonomous vehicle networks
US11528162B2 (en) 2020-07-01 2022-12-13 Ford Global Technologies, Llc Detecting and resolving desynchronization of trip counter values in authenticated messages
CN112118095A (zh) * 2020-08-27 2020-12-22 江苏徐工工程机械研究院有限公司 一种工程机械can总线随机数生成方法、系统及身份认证系统
DE102020122894A1 (de) 2020-09-02 2022-03-03 Audi Aktiengesellschaft Bereitstellung von Daten eines Kraftfahrzeugs
US11411766B2 (en) 2020-09-03 2022-08-09 Toyota Motor North America, Inc. Secure controller area network (CAN) transceiver
CN112367305B (zh) * 2020-10-22 2022-05-20 香港中文大学(深圳) 一种基于隐私区块链的车联网保护方法和移动终端
US20240007296A1 (en) 2020-12-01 2024-01-04 Continental Automotive Technologies GmbH Method for secure real-time message transmission between a transmitter and a receiver which are on board a motor vehicle
DE102020215441A1 (de) 2020-12-07 2022-06-09 Volkswagen Aktiengesellschaft Verfahren zur Synchronisation von Uhren von mindestens zwei Geräten
CN113037759B (zh) * 2021-03-15 2022-07-22 北京邮电大学 适配autosar汽车电子架构的新鲜度值管理方法及装置
CN114339765B (zh) * 2021-11-25 2024-01-19 国网河南省电力公司电力科学研究院 一种基于5g通信的差动保护数据交互链式校验方法和系统
CN114760163B (zh) * 2022-04-22 2024-01-12 惠州华阳通用电子有限公司 一种can通信方法
CN115720199B (zh) * 2022-11-21 2024-06-18 一汽奔腾轿车有限公司 一种交换机过滤未标记帧的测试方法及系统
CN116961910B (zh) * 2023-07-11 2024-01-26 无锡摩芯半导体有限公司 一种基于can总线传输的硬件加解密实现方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100306457A1 (en) * 2009-05-28 2010-12-02 Microchip Technology Incorporated Microcontroller with CAN Module
WO2013126759A2 (en) * 2012-02-22 2013-08-29 Qualcomm Incorporated Preserving security by synchronizing a nonce or counter between systems

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10216674A1 (de) 2002-04-15 2003-10-30 Bosch Gmbh Robert Verfahren und Vorrichtung zur Übertragung von Nachrichten auf einem Bussystem und Bussystem
US7386128B2 (en) 2004-12-29 2008-06-10 General Instrument Corporation Conditional access system providing access to multiple programs or services
US20100313009A1 (en) 2009-06-09 2010-12-09 Jacques Combet System and method to enable tracking of consumer behavior and activity
KR101269086B1 (ko) 2011-08-22 2013-05-29 고려대학교 산학협력단 차량용 데이터의 인증 및 획득 방법 및 시스템
US20130214909A1 (en) * 2012-02-22 2013-08-22 Qualcomm Incorporated Airplane mode for wireless transmitter device and system using short-range wireless broadcasts
US20150033016A1 (en) * 2013-07-23 2015-01-29 Battelle Memorial Institute Systems and methods for securing real-time messages

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100306457A1 (en) * 2009-05-28 2010-12-02 Microchip Technology Incorporated Microcontroller with CAN Module
WO2013126759A2 (en) * 2012-02-22 2013-08-29 Qualcomm Incorporated Preserving security by synchronizing a nonce or counter between systems

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101705639B1 (ko) 2016-10-24 2017-02-13 고려대학교 산학협력단 차량 네트워크 시스템에서의 메시지 송수신 방법
KR20190014391A (ko) * 2017-08-02 2019-02-12 한국전자통신연구원 Hmac 기반의 동적 can id 생성 및 운용 장치, 및 그 방법
WO2019054529A1 (ko) * 2017-09-14 2019-03-21 엘지전자 주식회사 통신 방법
US11791984B2 (en) 2019-03-25 2023-10-17 Micron Technology, Inc. Local ledger block chain for secure updates
US11924003B2 (en) 2019-04-29 2024-03-05 Canis Automotive Labs Limited Controller Area Network (CAN) bus security invention

Also Published As

Publication number Publication date
US20150089236A1 (en) 2015-03-26
CN105745862B (zh) 2019-04-12
EP3050251A1 (en) 2016-08-03
CN105745862A (zh) 2016-07-06
WO2015048058A1 (en) 2015-04-02
EP3050251A4 (en) 2017-05-03
US9288048B2 (en) 2016-03-15
EP3050251B1 (en) 2020-11-04
KR102243114B1 (ko) 2021-04-21

Similar Documents

Publication Publication Date Title
KR102243114B1 (ko) 차량 네트워크에서 id 익명화를 사용한 실시간 프레임 인증
US11134100B2 (en) Network device and network system
US11245535B2 (en) Hash-chain based sender identification scheme
Jo et al. Mauth-can: Masquerade-attack-proof authentication for in-vehicle networks
US9252945B2 (en) Method for recognizing a manipulation of a sensor and/or sensor data of the sensor
US10735206B2 (en) Securing information exchanged between internal and external entities of connected vehicles
US20200213351A1 (en) Exploiting safe mode of in-vehicle networks to make them unsafe
Han et al. On authentication in a connected vehicle: Secure integration of mobile devices with vehicular networks
Lu et al. LEAP: A lightweight encryption and authentication protocol for in-vehicle communications
Han et al. A practical solution to achieve real-time performance in the automotive network by randomizing frame identifier
Halabi et al. A lightweight synchronous cryptographic hash chain solution to securing the vehicle CAN bus
Zou et al. The study of secure CAN communication for automotive applications
WO2015096905A1 (en) A method and apparatus for detecting that an attacker has sent one or more messages to a receiver node
Olivier et al. Hashing-based authentication for CAN bus and application to Denial-of-Service protection
JP2023519059A (ja) ネットワークのセキュリティ手段を高めるネットワーク上におけるデータ交換のための方法およびシステムおよびその種のシステムを包含する乗り物
Carsten et al. A system to recognize intruders in controller area network (can)
Lu et al. Security-aware real-time transmission for automotive can-fd networks
KR20180072340A (ko) 운송 수단 내부 네트워크에서의 제어 데이터를 보안 전송하는 방법
Radu Securing the in-vehicle network
Zhao et al. A scalable security protocol for Intravehicular Controller Area Network
JP7467670B2 (ja) 特に自動車におけるデータの異常を処理するための方法
Mertol Secure message authentication protocol for can (controller area network).
Xia et al. A centrally managed identity-anonymized CAN communication system
Wang et al. Security Mechanism and Verification of Vehicle Network Based on Message Authentication
Piao et al. Research of FlexRay Network Security based on Star Topology

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