KR20200020515A - Can 시스템 및 메시지 인증 방법 - Google Patents

Can 시스템 및 메시지 인증 방법 Download PDF

Info

Publication number
KR20200020515A
KR20200020515A KR1020180096307A KR20180096307A KR20200020515A KR 20200020515 A KR20200020515 A KR 20200020515A KR 1020180096307 A KR1020180096307 A KR 1020180096307A KR 20180096307 A KR20180096307 A KR 20180096307A KR 20200020515 A KR20200020515 A KR 20200020515A
Authority
KR
South Korea
Prior art keywords
mac
random number
update
message
generated
Prior art date
Application number
KR1020180096307A
Other languages
English (en)
Other versions
KR102148453B1 (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 KR1020180096307A priority Critical patent/KR102148453B1/ko
Publication of KR20200020515A publication Critical patent/KR20200020515A/ko
Application granted granted Critical
Publication of KR102148453B1 publication Critical patent/KR102148453B1/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/40104Security; Encryption; Content protection
    • 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/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

CAN 시스템 및 메시지 인증 방법이 개시된다. CAN 시스템은 상호 간에 메시지를 송수신하는 복수의 ECU(Electronic Control Unit) 및 세션키 생성 난수를 생성하여 복수의 ECU로 전송하는 게이트웨이를 포함하며, 복수의 ECU는 수신한 세션키 생성 난수에 기초하여 세션키를 생성하고, 복수의 ECU 중 제1 ECU는 생성된 세션키와 MAC 생성 난수에 기초하여 제1 MAC를 생성하고, 생성된 제1 MAC와 MAC 생성 난수를 포함하는 메시지를 복수의 ECU 중 제2 ECU로 전송하며, 제2 ECU는 생성된 세션키와 수신된 MAC 생성 난수에 기초하여 제2 MAC를 생성하고, 수신된 제1 MAC와 생성된 제2 MAC의 동일성 여부를 판단하여 수신된 메시지를 인증한다.

Description

CAN 시스템 및 메시지 인증 방법{CONTROLLER AREA NETWORK SYSTEM AND MESSAGE AUTHENTICATION METHOD}
본 개시는 CAN 시스템 및 메시지 인증 방법에 관한 것으로, 더욱 상세하게는 ECU 간에 안전하게 메시지를 송수신하도록 메시지를 인증하는 CAN 시스템 및 메시지 인증 방법에 관한 것이다.
현대의 차량에는 안전성과 효율성을 극대화하기 위해 기계부품과 유압시스템 외에 전장부품이 많이 포함되어 있다. 전장부품의 증가와 함께 전장부품을 제어하는 ECU(Electronic Control Unit)의 개수가 증가되고 있으며 ECU들을 연결하고 제어하기 위해 차량 내 통신을 이용한다.
차량의 3대 부문(파워트레인, 섀시, 바디)에서 주로 사용되는 네트워크는 CAN(Controller Area Network), LIN(Local Interconnect Network), FlexRay가 있으며, 제조비용의 최소화, 실시간 처리, 자동화, 분산처리를 요구하는 차량에서 CAN이 광범위하게 사용되는 네트워크이다.
CAN은 다중통신망(Multi Master Network)이며 CSMA/CD&AMP(Carrier Sense Multiple Access/Collision Detection with Arbitration on Message Priority) 방식으로 메시지를 전송한다. CAN 노드(예, ECU)는 버스가 사용 중(idle, busy)인지 먼저 파악한 후 메시지를 전송한다. 여러 노드의 데이터들이 버스에 동시에 유입되어 전송 충돌이 발생할 경우, CAN은 식별자(Arbitration Field)(또는, 메시지 ID)값을 비교하여 전송 우선 순위를 결정하며, 우선 순위가 가장 높은 메시지를 가진 노드만이 CAN 버스 사용 권한을 획득한다. 이때, 메시지의 ID가 낮을수록 전송 우선 순위가 높다. 낮은 순위의 메시지를 가진 노드는 대기 상태로 전환되어 다음 버스 사이클에 재전송을 시도한다. 즉, 한 순간에 한 개의 노드만 CAN 버스에 접근 가능하며, 앞서 기술된 것처럼 식별자(Arbitration Field)를 기초로 우선 순위를 비교하여 가장 높은 우선 순위의 메시지만 계속 전송되고, 다른 노드들은 모두 대기(listening) 모드로 전이한다. CAN은 메시지 주소 방식을 사용하기 때문에 식별자(Arbitration Field)만으로 메시지를 구별할 수 있으며, 전송 노드의 식별 정보는 사용하지 않는다.
과거의 폐쇄망 형태의 차량 내부 네트워크를 위해 설계된 CAN 프로토콜은 외부로부터의 해킹이나 악의적 제어조작에 대한 대응을 고려할 필요가 없었으므로 보안에 대한 대책이 마련되어 있지 않았다. 따라서, 개방형 네트워크로 변화하고 있는 현재 차량 내부 네트워크에서 외부 공격 위협성 증가에 따른 보안 기술은 미비한 상태이며 공격에 대한 취약점을 보완할 수 있는 방법은 표준 프로토콜에서 정의되어 있지 않다.
CAN 프로토콜은 송신자 및 수신자 식별 정보가 없고 인증을 위한 필드가 별도로 존재하지 않으므로 메시지 위조 계열 공격에 매우 취약하다. 그리고, CAN 프로토콜은 보안성이 없는 브로트캐스트 통신 방식을 채택하였으므로 공격자가 네트워크 내 메시지에 대한 도청을 쉽게 할 수 있으며, 수신한 내용을 재송신하거나 변조하여 전송하는 replay와 masquerade 공격을 할 수 있다.
최근 CAN 프로토콜의 보안을 위해 암호화 기반의 인증 방법, 그룹 기반의 만장일치 인증 방법, MAC 기반의 인증 방법, 그룹 MAC 인증 방법 등이 제안되었다.
암호화(개인키와 공개키를 이용) 기반의 인증 방법이 고려될 수 있으나 암호화 방식은 많은 연산량을 필요로 하고, 하드웨어와 CAN 프레임의 수정이 필요하므로 적용에 어려움이 있다. 그룹 기반의 만장일치 인증 방법은 그룹 내 멤버의 인증 확인을 위해 현재 CAN 프로토콜에 새로운 응용 계층을 구현해야 하는 문제점이 있다. MAC 기반의 인증 방법은 사용할 키를 미리 생성해두고 사용하므로 ECU 메모리 크기에 제한되고 인증 후에는 다시 키를 생성해야 하는 문제점이 있다. 그룹 MAC 인증 방법은 노드 수가 증가할 경우 그룹 MAC 인증의 장점을 얻기 어렵고 그룹의 수가 증가할 경우 키 관리가 어려워지는 문제점이 있다.
따라서, 현재 CAN 프로토콜의 변경없이 적용 가능하고 원활하게 동작할 수 있는 CAN 시스템의 메시지 인증 방법의 필요성이 존재한다.
본 개시는 상술한 문제점을 해결하기 위한 것으로, 본 개시의 목적은 현재 CAN 프로토콜의 변경없이 적용할 수 있고 확장성이 크며, 공격자의 공격에 강인한 CAN 시스템 및 메시지 인증 방법을 제공하는 것이다.
이상과 같은 목적을 달성하기 위한 본 개시의 일 실시 예에 따르면, CAN(Controller Area Network) 시스템은 상호 간에 메시지를 송수신하는 복수의 ECU(Electronic Control Unit) 및 세션키 생성 난수를 생성하여 상기 복수의 ECU로 전송하는 게이트웨이를 포함하며, 상기 복수의 ECU는 상기 수신한 세션키 생성 난수에 기초하여 세션키를 생성하고, 상기 복수의 ECU 중 제1 ECU는 상기 생성된 세션키와 MAC 생성 난수에 기초하여 제1 MAC(Message Authentication Code)를 생성하고, 상기 생성된 제1 MAC와 상기 MAC 생성 난수를 포함하는 메시지를 상기 복수의 ECU 중 제2 ECU로 전송하며, 상기 제2 ECU는 상기 생성된 세션키와 상기 수신된 MAC 생성 난수에 기초하여 제2 MAC를 생성하고, 상기 수신된 제1 MAC와 상기 생성된 제2 MAC의 동일성 여부를 판단하여 상기 수신된 메시지를 인증한다.
그리고, 상기 제1 ECU는 상기 세션키와 상기 MAC 생성 난수에 기초하여 메시지 전송키를 생성하고, 상기 생성된 메시지 전송키, 상기 MAC 생성 난수 및 데이터에 기초하여 제1 MAC를 생성하며, 상기 생성된 제1 MAC, 상기 MAC 생성 난수 및 상기 데이터를 상기 메시지의 데이터 필드에 포함시켜 상기 제2 ECU로 전송할 수 있다.
또한, 상기 제2 ECU는 상기 세션키와 상기 수신된 메시지의 데이터 필드에 포함된 MAC 생성 난수에 기초하여 메시지 수신키를 생성하고, 상기 생성된 메시지 수신키, 상기 데이터 필드에 포함된 상기 MAC 생성 난수 및 상기 데이터에 기초하여 제2 MAC를 생성할 수 있다.
그리고, 상기 게이트웨이는 상기 세션키 생성 난수를 기 설정된 시간마다 갱신할 수 있다.
또한, 상기 게이트웨이는 상기 갱신된 세션키 생성 난수 및 해시 함수에 기초하여 상기 세션키를 갱신할 수 있다.
또한, 상기 게이트웨이는 상기 세션키와 세션 갱신 MAC 생성 난수에 기초하여 갱신 전송키를 생성하고, 상기 생성된 갱신 전송키, 상기 세션 갱신 MAC 생성 난수 및 갱신 데이터에 기초하여 제1 갱신 MAC를 생성하며, 상기 생성된 제1 갱신 MAC, 상기 갱신된 세션키 생성 난수, 상기 세션 갱신 MAC 생성 난수 및 상기 갱신 데이터를 갱신 메시지의 데이터 필드에 포함시켜 상기 복수의 ECU로 전송할 수 있다.
한편, 상기 복수의 ECU 각각은 상기 세션키와 상기 수신된 갱신 메시지의 데이터 필드에 포함된 세션 갱신 MAC 생성 난수에 기초하여 갱신 수신키를 생성하고, 상기 생성된 갱신 수신키, 상기 데이터 필드에 포함된 상기 세션 갱신 MAC 생성 난수 및 상기 갱신 데이터에 기초하여 제2 갱신 MAC를 생성하며, 상기 수신된 제1 갱신 MAC와 상기 생성된 제2 갱신 MAC의 동일성 여부를 판단하여 상기 수신된 갱신 메시지를 인증하고, 상기 갱신된 세션키 생성 난수 및 해시 함수에 기초하여 상기 세션키를 갱신할 수 있다.
이상과 같은 목적을 달성하기 위한 본 개시의 일 실시 예에 따르면, CAM 시스템의 메시지 인증 방법은 게이트웨이가 세션키 생성 난수를 생성하여 복수의 ECU로 전송하는 단계, 상기 복수의 ECU가 상기 수신한 세션키 생성 난수에 기초하여 세션키를 생성하는 단계, 상기 복수의 ECU 중 제1 ECU가 상기 생성된 세션키와 MAC 생성 난수에 기초하여 제1 MAC를 생성하는 단계, 상기 제1 ECU가 상기 생성된 제1 MAC와 상기 MAC 생성 난수를 포함하는 메시지를 상기 복수의 ECU 중 제2 ECU로 전송하는 단계, 상기 제2 ECU가 상기 생성된 세션키와 상기 수신된 MAC 생성 난수에 기초하여 제2 MAC를 생성하는 단계 및 상기 제2 ECU가 상기 수신된 제1 MAC와 상기 생성된 제2 MAC의 동일성 여부를 판단하여 상기 수신된 메시지를 인증하는 단계를 포함한다.
그리고, 상기 제1 MAC를 생성하는 단계는 상기 세션키와 상기 MAC 생성 난수에 기초하여 메시지 전송키를 생성하고, 상기 생성된 메시지 전송키, 상기 MAC 생성 난수 및 데이터에 기초하여 제1 MAC를 생성하고, 상기 제2 ECU로 전송하는 단계는 상기 생성된 제1 MAC, 상기 MAC 생성 난수 및 상기 데이터를 상기 메시지의 데이터 필드에 포함시켜 상기 제2 ECU로 전송할 수 있다.
또한, 상기 제2 MAC를 생성하는 단계는 상기 세션키와 상기 수신된 메시지의 데이터 필드에 포함된 MAC 생성 난수에 기초하여 메시지 수신키를 생성하고, 상기 생성된 메시지 수신키, 상기 데이터 필드에 포함된 상기 MAC 생성 난수 및 상기 데이터에 기초하여 제2 MAC를 생성할 수 있다.
한편, CAM 시스템의 메시지 인증 방법은 상기 세션키를 갱신하는 단계를 더 포함하고, 상기 세션키를 갱신하는 단계는 상기 게이트웨이가 상기 세션키 생성 난수를 기 설정된 시간마다 갱신할 수 있다.
그리고, 상기 세션키를 갱신하는 단계는 상기 게이트웨이가 상기 갱신된 세션키 생성 난수 및 해시 함수에 기초하여 상기 세션키를 갱신할 수 있다.
또한, 상기 세션키를 갱신하는 단계는 상기 게이트웨이가 상기 세션키와 세션 갱신 MAC 생성 난수에 기초하여 갱신 전송키를 생성하고, 상기 생성된 갱신 전송키, 상기 세션 갱신 MAC 생성 난수 및 갱신 데이터에 기초하여 제1 갱신 MAC를 생성하며, 상기 생성된 제1 갱신 MAC, 상기 갱신된 세션키 생성 난수, 상기 세션 갱신 MAC 생성 난수 및 상기 갱신 데이터를 갱신 메시지의 데이터 필드에 포함시켜 상기 복수의 ECU로 전송할 수 있다.
또한, 상기 세션키를 갱신하는 단계는 상기 복수의 ECU 각각이 상기 세션키와 상기 수신된 갱신 메시지의 데이터 필드에 포함된 세션 갱신 MAC 생성 난수에 기초하여 갱신 수신키를 생성하고, 상기 생성된 갱신 수신키, 상기 데이터 필드에 포함된 상기 세션 갱신 MAC 생성 난수 및 상기 갱신 데이터에 기초하여 제2 갱신 MAC를 생성하며, 상기 수신된 제1 갱신 MAC와 상기 생성된 제2 갱신 MAC의 동일성 여부를 판단하여 상기 수신된 갱신 메시지를 인증하고, 상기 갱신된 세션키 생성 난수 및 해시 함수에 기초하여 상기 세션키를 갱신할 수 있다.
이상 설명한 바와 같이, CAN 시스템 및 메시지 인증 방법은 메시지를 전송할 때마다 현재 키와 난수에 기초하여 MAC을 생성하므로 높은 보안성을 가질 수 있다.
그리고, CAN 시스템 및 메시지 인증 방법은 일정 기간마다 MAC 생성에 사용되는 키를 변경하기 때문에 공격자의 무작위 대입 공격에 대응할 수 있다.
또한, CAN 시스템 및 메시지 인증 방법은 기존의 CAN protocol을 수정하지 않고 적용할 수 있다.
또한, CAN 시스템 및 메시지 인증 방법은 CAN 시스템이 변경되더라도 알고리즘의 수정없이 적용할 수 있다.
또한, CAN 시스템 및 메시지 인증 방법은 많은 자원이 필요하지 않고 빠른 시간 내에 메시지 인증이 가능하며 기존 장치와 호환될 수 있다.
도 1은 본 개시의 일 실시 예에 따른 CAN 시스템을 나타내는 도면이다.
도 2는 본 개시의 일 실시 예에 따른 해시 체인을 이용한 키 생성 방법과 해시 풀을 설명하는 도면이다.
도 3은 본 개시의 일 실시 예에 따른 ECU 간 메시지를 전송하고 인증하는 과정을 설명하는 타이밍도이다.
도 4는 본 개시의 일 실시 예에 따른 세션키를 갱신하는 과정을 설명하는 타이밍도이다.
도 5는 본 개시의 일 실시 예에 따른 CAM 시스템의 메시지 인증 방법의 흐름도이다.
이하에서는 첨부된 도면을 참조하여 다양한 실시 예를 보다 상세하게 설명한다. 본 명세서에 기재된 실시 예는 다양하게 변형될 수 있다. 특정한 실시 예가 도면에서 묘사되고 상세한 설명에서 자세하게 설명될 수 있다. 그러나, 첨부된 도면에 개시된 특정한 실시 예는 다양한 실시 예를 쉽게 이해하도록 하기 위한 것일 뿐이다. 따라서, 첨부된 도면에 개시된 특정 실시 예에 의해 기술적 사상이 제한되는 것은 아니며, 발명의 사상 및 기술 범위에 포함되는 모든 균등물 또는 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이러한 구성요소들은 상술한 용어에 의해 한정되지는 않는다. 상술한 용어는 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
본 명세서에서, "포함한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. 어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
한편, 본 명세서에서 사용되는 구성요소에 대한 "모듈" 또는 "부"는 적어도 하나의 기능 또는 동작을 수행한다. 그리고, "모듈" 또는 "부"는 하드웨어, 소프트웨어 또는 하드웨어와 소프트웨어의 조합에 의해 기능 또는 동작을 수행할 수 있다. 또한, 특정 하드웨어에서 수행되어야 하거나 적어도 하나의 제어부에서 수행되는 "모듈" 또는 "부"를 제외한 복수의 "모듈들" 또는 복수의 "부들"은 적어도 하나의 모듈로 통합될 수도 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
그 밖에도, 본 발명을 설명함에 있어서, 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우, 그에 대한 상세한 설명은 축약하거나 생략한다. 한편, 각 실시 예는 독립적으로 구현되거나 동작될 수도 있지만, 각 실시 예는 조합되어 구현되거나 동작될 수도 있다.
도 1은 본 개시의 일 실시 예에 따른 CAN(Controller Area Network) 시스템을 나타내는 도면이다.
도 1을 참조하면, CAN 시스템(100)은 게이트웨이(110) 및 하나 이상의 ECU(Electronic Control Unit)(120-1, 120-2, 120-3, 120-4, 120-5)를 포함한다. 각 ECU 하나 이상의 ECU(120-1, 120-2, 120-3, 120-4, 120-5)는 상호간에 메시지를 송수신한다. 예를 들어, 제1 ECU(120-1)는 브로드캐스팅 방식으로 메시지를 처리해야 할 ECU에 관한 정보 및 우선 순위에 관한 정보를 포함하는 메시지를 전송하면, 나머지 ECU(120-2, 120-3, 120-3, 120-4, 120-5)는 제1 ECU(120-1)로부터 전송된 메시지를 수신하고, 메시지에 포함된 정보에 기초하여 특정 ECU만 우선 순위에 따라 수신된 메시지를 처리한다. 또한, 제1 ECU(120-1)는 동일한 방식에 따라 다른 ECU로부터 수신된 메시지를 처리한다. 즉, 각 ECU(120-1, 120-2, 120-3, 120-4, 120-5)는 상황에 따라 송신자 및 수신자의 역할을 수행할 수 있다.
게이트웨이(110)는 CAN 시스템(100)을 외부의 다른 시스템 또는 네트워크와 연결하고 세션을 관리하며 MAC(Message Authentication Code) 생성시 사용되는 키를 변경하기 위한 갱신 메시지를 각 ECU로 전달한다. 세션은 메시지 인증을 위한 MAC를 생성할 때 사용될 해시 풀(hash pool)의 세션키의 시작점을 변경한 시점부터 다음 변경 시점까지의 시간 간격을 의미한다. 각 세션마다 MAC 생성에 사용되는 세션키의 시작점은 다르다. 만일, CAN 시스템(100)이 세션을 적용되지 않고 해시 풀의 특정 시점에 사용할 키의 시작 순서를 고정한 후 체인 세션키를 지속적으로 사용하는 경우, CAN 시스템(100)은 고정된 길이의 MAC로 인해 전수공격(brute forcing attacks)에 취약할 수 밖에 없다. 따라서, 해시 충돌없는 키를 가지는 해시 풀 내에서 세션키의 시작점을 주기적으로 변경할 수 있도록 세션이 설정됨으로써 CAN 시스템(100)은 전수공격에도 강인할 수 있다.
게이트웨이(110)는 갱신 메시지를 모든 ECU(120-1, 120-2, 120-3, 120-4, 120-5)로 전송한다. 게이트웨이(110)는 키를 직접적으로 메시지에 포함시켜 전송하는 것이 아니라 각 ECU(120-1, 120-2, 120-3, 120-4, 120-5)가 세션키를 선택할 수 있는 난수(세션키 생성 난수)를 포함시켜 메시지를 전송한다. 즉, 게이트웨이(110)는 메시지 인증을 위한 세션키 생성 난수(rg(j))를 생성하여 각 ECU(120-1, 120-2, 120-3, 120-4, 120-5)로 전송한다.
그리고, 복수의 ECU(120-1, 120-2, 120-3, 120-4, 120-5) 각각은 게이트웨이(110)로부터 수신한 세션키 생성 난수(rg(j))에 기초하여 세션키(Kj)를 생성한다. 이후, 복수의 ECU(120-1, 120-2, 120-3, 120-4, 120-5) 중 송신자 ECU는 생성된 세션키(Kj)와 MAC 생성 난수(re(Mk))에 기초하여 MAC를 생성하고, 생성된 MAC와 MAC 생성 난수(re(Mk))를 포함하는 메시지를 수신자 ECU로 전송한다. 상술한 바와 같이, CAN 시스템(100)의 송신자 ECU는 브로드캐스팅 방식으로 모든 ECU로 메시지를 전송하지만 메시지를 수신한 복수의 ECU 중 전송된 메시지와 관련된 특정 ECU만이 수신된 메시지를 처리한다. 결론적으로, 송신자 ECU는 수신자 ECU로 메시지를 전송한다.
수신자 ECU는 생성된 세션키(Kj)와 수신된 MAC 생성 난수(re(Mk))에 기초하여 MAC를 생성한다. 그리고, 수신자 ECU는 수신된 MAC와 생성된 MAC의 동일성 여부를 판단하고, 동일한 경우 메시지를 인증한다.
수신자 ECU가 메시지를 인증하는 구체적인 과정과 게이트웨이가 키를 갱신하는 과정은 후술한다.
도 2는 본 개시의 일 실시 예에 따른 해시 체인을 이용한 키 생성 방법과 해시 풀을 설명하는 도면이다.
해시 풀은 MAC 생성시에 사용되는 세션키들의 집합을 의미한다. 해시 풀은 동일한 해시 체인(또는, 해시 함수)으로 생성되는 것으로 키를 메모리에 저장하는 것이 아니라 해시 함수를 n번 연속 수행하여 생성되는 키들의 집합을 의미한다. 즉, 제1 ECU와 해시 체인의 i번째 세션키와 제2 ECU의 해시 체인의 i번째 세션키는 동일하다. 따라서, 모든 ECU는 하나의 가상 해시 풀을 가지도 있는 것과 같다.
해시 풀의 해시 체인의 키 사용 방향은 단방향 해시 함수의 사용 방향과 다르다. 즉, 본 개시의 해시 체인의 키 사용 방향은 생성 방향과 동일하다. 인증에 주로 사용되는 단방향 해시 체인키로 구성된 해시 풀이 사용되는 경우, 충분한 시간이 지나면 해시 충돌에 의해 일정량의 해시 키가 반복되며, 제한된 메모리를 가진 ECU에 충돌없는 해시 키를 충분히 가지는 해시 풀을 물리적으로 저장하는 것은 한계가 있다.
본 개시의 CAN 시스템은 단방향 해시 체인을 적용하지 않고, 해시 충돌없는 키를 가지는 해시 풀 내에서 MAC 생성 키를 결정하기 위해 게이트웨이의 난수를 이용함으로써 키 시작점의 노출 문제를 해결할 수 있다.
게이트웨이는 세션키 생성 난수(rg(j))를 각 ECU로 전송하고, 각 ECU는 수신된 세션키 생성 난수(rg(j))를 기초로 생성한 동일한 세션키(Kj)를 사용한다. 생성한 세션키(Kj)는 현재 세션 j에서만 유효하며, 세션 변경시(세션 j에서 세션 j+1로 변경) 각 ECU는 게이트웨이로부터 새로 수신한 갱신된 세션키 생성 난수(rg(j+1))에 기초하여 해시 체인 함수를 수행할 수 있다. 게이트웨이는 기 설정된 시간마다 세션키 생성 난수를 갱신할 수 있다. 따라서, 각 ECU는 새로운 세션에서 MAC 생성을 위해 새로운 해시 풀의 세션키(
Figure pat00001
)를 선택할 수 있다.
아래에서는 송신자 ECU에서 수신자 ECU로 메시지를 보낼 때 메시지를 인증하는 과정에 대해 구체적으로 설명한다.
도 3은 본 개시의 일 실시 예에 따른 ECU 간 메시지를 전송하고 인증하는 과정을 설명하는 타이밍도이다.
도 3을 참조하면, 제1 ECU(120-1)와 제2 ECU(120-2)가 도시되어 있다. 제1 ECU(120-1)는 송신자 ECU이고, 제2 ECU(120-2)는 수신자 ECU일 수 있다.
제1 ECU(120-1)는 제1 메시지(M1)를 전송하기 위해 MAC 생성 난수(r1(M1))를 생성한다(S310). 제1 ECU(120-1)는 현재 세션키(Kj), MAC 생성 난수(r1(M1))에 기초하여 메시지 전송키(
Figure pat00002
)를 생성한다(S320). 메시지 전송키(
Figure pat00003
)는 현재 세션키(Kj)에서 MAC 생성 난수(r1(M1))의 크기 만큼 해시 함수를 사용하여 생성될 수 있다. 메시지 전송키(
Figure pat00004
)는 송신하려는 단일 메시지에서만 유효하다. 제1 ECU(120-1)는 제1 MAC를 생성한다(S330). 제1 MAC는 데이터, MAC 생성 난수(r1(M1)) 및 메시지 전송키(
Figure pat00005
)에 해시 함수를 사용하여 생성될 수 있다. 제1 ECU(120-1)는 메시지의 데이터 필드에 데이터, MAC 생성 난수(r1(M1)) 및 제1 MAC를 포함시켜 제1 메시지(M1)를 제2 ECU(120-2)로 전송한다(S340).
제2 ECU(120-2)는 제1 ECU(120-1)로부터 제1 메시지(M1)를 수신한다. 제2 ECU(120-2)는 제1 메시지(M1)에 포함된 MAC 생성 난수(r1(M1))에 기초하여 메시지 수신키(
Figure pat00006
)를 생성한다(S350). 메시지 수신키(
Figure pat00007
)는 현재 세션키(Kj)에서 수신된 MAC 생성 난수(r1(M1))의 크기 만큼 해시 함수를 사용하여 생성될 수 있다. 제2 ECU(120-2)는 제2 MAC를 생성한다(S360). 제2 MAC는 데이터, 수신된 MAC 생성 난수(r1(M1)) 및 생성된 메시지 수신키(
Figure pat00008
)에 해시 함수를 사용하여 생성될 수 있다. 제2 ECU(120-2)는 MAC를 인증한다(S370). 제2 ECU(120-2)는 수신된 제1 MAC와 생성된 제2 MAC를 비교하여 동일한지 여부를 판단한다. 제2 ECU(120-2)는 제1 MAC와 제2 MAC가 동일하면 수신된 제1 메시지를 처리하고, 동일하지 않으면 수신된 제1 메시지를 버린다. 상술한 과정을 통해 CAN 시스템은 송수신되는 메시지를 인증할 수 있다.
한편, CAN 시스템은 보안을 위해 기 설정된 시간마다 현재 세션키(Kj)를 갱신할 수 있다. 아래에서는 CAN 시스템이 세션키를 갱신하는 과정을 설명한다.
도 4는 본 개시의 일 실시 예에 따른 세션키를 갱신하는 과정을 설명하는 타이밍도이다.
도 4를 참조하면, 게이트웨이(110), 제1 ECU(120-1), 제2 ECU(120-2) 및 제3 ECU(120-3)가 도시되어 있다. 게이트웨이(110)는 일정 간격으로 세션을 변경하기 위해 갱신된 세션키 생성 난수(rg(j+1))를 생성할 수 있다(S405). 게이트웨이(110)는 세션 갱신 메시지(M2)를 전송하기 위해 세션 갱신 MAC 생성 난수(rg(M2))를 생성할 수 있다(S410). 게이트웨이(110)는 현재 세션키(Kj), 세션 갱신 MAC 생성 난수(rg(M2))에 기초하여 갱신 전송키(
Figure pat00009
)를 생성할 수 있다(S415). 갱신 전송키(
Figure pat00010
)는 현재 세션키(Kj)에서 세션 갱신 MAC 생성 난수(rg(M2))의 크기 만큼 해시 함수를 사용하여 생성될 수 있다. 게이트웨이(110)는 제1 갱신 MAC를 생성한다(S420). 제1 갱신 MAC은 갱신 데이터, 세션 갱신 MAC 생성 난수(rg(M2)) 및 갱신 전송키(
Figure pat00011
)에 해시 함수를 사용하여 생성될 수 있다. 게이트웨이(110)는 메시지의 데이터 필드에 갱신 데이터, 세션 갱신 MAC 생성 난수(rg(M2)), 갱신된 세션키 생성 난수(rg(j+1)) 및 제1 갱신 MAC를 포함시켜 세션 갱신 메시지(M2)를 제1 내지 제3 ECU(120-1, 120-2, 120-3)로 전송할 수 있다(S425). 즉, 게이트웨이(110)는 갱신된 세션키 생성 난수(rg(j+1))를 포함하는 세션 갱신 메시지(M2)를 모든 ECU에 브로드캐스트할 수 있다. 그리고, 게이트웨이(110)는 갱신된 세션키 생성 난수(rg(j+1))에 해시 함수를 사용하여 새로운 세션키(Kj+1)를 생성하고, 현재 세션키(Kj)를 새로운 세션키(Kj+1)로 변경할 수 있다(S430).
제1 내지 제3 ECU(120-1, 120-2, 120-3)는 게이트웨이(110)로부터 세션 갱신 메시지(M2)를 수신할 수 있다. 복수의 ECU(120-1, 120-2, 120-3) 각각은 동일한 방식으로 세션 갱신 메시지(M2)를 인증하고, 세션키를 변경할 수 있다. 아래에서는 대표적으로 제1 ECU(120-1)를 중심으로 설명한다.
제1 ECU(120-1)는 세션 갱신 메시지(M2)에 포함된 세션 갱신 MAC 생성 난수(rg(M2))에 기초하여 갱신 수신키(
Figure pat00012
)를 생성할 수 있다(S435). 갱신 수신키(
Figure pat00013
)는 현재 세션키(Kj)에서 수신된 세션 갱신 MAC 생성 난수(rg(M2))의 크기 만큼 해시 함수를 사용하여 생성될 수 있다. 제1 ECU(120-1)는 제2 갱신 MAC를 생성할 수 있다(S440). 제2 갱신 MAC는 갱신 데이터, 수신된 세션 갱신 MAC 생성 난수(rg(M2)) 및 생성된 갱신 수신키(
Figure pat00014
)에 해시 함수를 사용하여 생성될 수 있다. 제1 ECU(120-1)는 MAC를 인증할 수 있다(S445). 제1 ECU(120-1)는 수신된 제1 갱신 MAC와 생성된 제2 갱신 MAC를 비교하여 동일한지 여부를 판단할 수 있다. 제1 ECU(120-1)는 제1 갱신 MAC와 제2 갱신 MAC가 동일하면 수신된 세션 갱신 메시지(M2)를 처리하고, 동일하지 않으면 수신된 세션 갱신 메시지(M2)를 버릴 수 있다. 세션 갱신 메시지(M2)가 인증되면 제1 ECU(120-1)는 세션변경 절차를 수행할 수 있다. 제1 ECU(120-1)는 수신한 세션키 생성 난수(rg(j+1))의 크기 만큼 해시 함수를 사용하여 새로운 세션키(Kj+1)를 생성하고, 현재 세션키(Kj)를 새로운 세션키(Kj+1)로 변경할 수 있다(S450).
지금까지 CAN 시스템의 메시지 인증 방법의 실시 예를 설명하였다. 아래에서는 메시지 인증 방법의 흐름도를 설명한다.
도 5는 본 개시의 일 실시 예에 따른 CAM 시스템의 메시지 인증 방법의 흐름도이다.
게이트웨이는 세션키 생성 난수(rg(j))를 생성하여 복수의 ECU로 전송한다(S510). 복수의 ECU는 수신한 세션키 생성 난수(rg(j))에 기초하여 세션키(Kj)를 생성한다(S520). 생성된 세션키(Kj)는 현재 세션(세션 j)에서만 유효하다.
복수의 ECU 중 제1 ECU(송신자 ECU)는 생성된 세션키(Kj)와 MAC 생성 난수(re(Mk))에 기초하여 제1 MAC를 생성한다(S530). 제1 ECU는 세션키(Kj)와 MAC 생성 난수(re(Mk))에 기초하여 메시지 전송키(
Figure pat00015
)를 생성하고, 메시지 전송키(
Figure pat00016
), MAC 생성 난수(re(Mk)) 및 데이터에 기초하여 제1 MAC를 생성한다.
제1 ECU는 생성된 제1 MAC와 MAC 생성 난수(re(Mk))를 포함하는 메시지(Mk)를 복수의 ECU 중 제2 ECU(수신자 ECU)로 전송한다(S540). 제1 ECU는 제1 MAC, MAC 생성 난수(re(Mk)) 및 데이터를 메시지(Mk)의 데이터 필드에 포함시켜 제2 ECU로 전송한다.
제2 ECU는 생성된 세션키(Kj)와 수신된 MAC 생성 난수(re(Mk))에 기초하여 제2 MAC를 생성한다(S550). 제2 ECU는 세션키(Kj)와 수신된 메시지(Mk)의 데이터 필드에 포함된 MAC 생성 난수(re(Mk))에 기초하여 메시지 수신키(
Figure pat00017
)를 생성하고, 메시지 수신키(
Figure pat00018
), MAC 생성 난수(re(Mk)) 및 데이터에 기초하여 제2 MAC를 생성한다.
제2 ECU는 수신된 제1 MAC와 생성된 제2 MAC의 동일성 여부를 판단하여 수신된 메시지를 인증한다(S560). 제2 ECU(120-2)는 제1 MAC와 제2 MAC를 비교하여 동일한지 여부를 판단한다. 제2 ECU(120-2)는 제1 MAC와 제2 MAC가 동일하면 수신된 메시지를 처리하고, 동일하지 않으면 수신된 메시지를 버린다. 상술한 과정을 통해 CAN 시스템은 송수신되는 메시지를 인증할 수 있다.
상술한 다양한 실시 예에 따른 CAN 시스템의 메시지 인증 방법은 컴퓨터 프로그램 제품으로 제공될 수도 있다. 컴퓨터 프로그램 제품은 S/W 프로그램 자체 또는 S/W 프로그램이 저장된 비일시적 판독 가능 매체(non-transitory computer readable medium)를 포함할 수 있다.
비일시적 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상술한 다양한 어플리케이션 또는 프로그램들은 CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등과 같은 비일시적 판독 가능 매체에 저장되어 제공될 수 있다.
또한, 이상에서는 본 발명의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.
100: CAN 시스템 110: 게이트웨이
120-1, 120-2, 120-3, 120-4, 120-5: ECU

Claims (14)

  1. 상호 간에 메시지를 송수신하는 복수의 ECU(Electronic Control Unit); 및
    세션키 생성 난수를 생성하여 상기 복수의 ECU로 전송하는 게이트웨이;를 포함하며,
    상기 복수의 ECU는,
    상기 수신한 세션키 생성 난수에 기초하여 세션키를 생성하고,
    상기 복수의 ECU 중 제1 ECU는,
    상기 생성된 세션키와 MAC 생성 난수에 기초하여 제1 MAC(Message Authentication Code)를 생성하고, 상기 생성된 제1 MAC와 상기 MAC 생성 난수를 포함하는 메시지를 상기 복수의 ECU 중 제2 ECU로 전송하며,
    상기 제2 ECU는,
    상기 생성된 세션키와 상기 수신된 MAC 생성 난수에 기초하여 제2 MAC를 생성하고, 상기 수신된 제1 MAC와 상기 생성된 제2 MAC의 동일성 여부를 판단하여 상기 수신된 메시지를 인증하는 CAN(Controller Area Network) 시스템.
  2. 제1항에 있어서,
    상기 제1 ECU는,
    상기 세션키와 상기 MAC 생성 난수에 기초하여 메시지 전송키를 생성하고, 상기 생성된 메시지 전송키, 상기 MAC 생성 난수 및 데이터에 기초하여 제1 MAC를 생성하며, 상기 생성된 제1 MAC, 상기 MAC 생성 난수 및 상기 데이터를 상기 메시지의 데이터 필드에 포함시켜 상기 제2 ECU로 전송하는 CAN 시스템.
  3. 제2항에 있어서,
    상기 제2 ECU는,
    상기 세션키와 상기 수신된 메시지의 데이터 필드에 포함된 MAC 생성 난수에 기초하여 메시지 수신키를 생성하고, 상기 생성된 메시지 수신키, 상기 데이터 필드에 포함된 상기 MAC 생성 난수 및 상기 데이터에 기초하여 제2 MAC를 생성하는 CAN 시스템.
  4. 제1항에 있어서,
    상기 게이트웨이는,
    상기 세션키 생성 난수를 기 설정된 시간마다 갱신하는 CAN 시스템.
  5. 제4항에 있어서,
    상기 게이트웨이는,
    상기 갱신된 세션키 생성 난수 및 해시 함수에 기초하여 상기 세션키를 갱신하는 CAN 시스템.
  6. 제4항에 있어서,
    상기 게이트웨이는,
    상기 세션키와 세션 갱신 MAC 생성 난수에 기초하여 갱신 전송키를 생성하고, 상기 생성된 갱신 전송키, 상기 세션 갱신 MAC 생성 난수 및 갱신 데이터에 기초하여 제1 갱신 MAC를 생성하며, 상기 생성된 제1 갱신 MAC, 상기 갱신된 세션키 생성 난수, 상기 세션 갱신 MAC 생성 난수 및 상기 갱신 데이터를 갱신 메시지의 데이터 필드에 포함시켜 상기 복수의 ECU로 전송하는 CAN 시스템.
  7. 제6항에 있어서,
    상기 복수의 ECU 각각은,
    상기 세션키와 상기 수신된 갱신 메시지의 데이터 필드에 포함된 세션 갱신 MAC 생성 난수에 기초하여 갱신 수신키를 생성하고, 상기 생성된 갱신 수신키, 상기 데이터 필드에 포함된 상기 세션 갱신 MAC 생성 난수 및 상기 갱신 데이터에 기초하여 제2 갱신 MAC를 생성하며, 상기 수신된 제1 갱신 MAC와 상기 생성된 제2 갱신 MAC의 동일성 여부를 판단하여 상기 수신된 갱신 메시지를 인증하고, 상기 갱신된 세션키 생성 난수 및 해시 함수에 기초하여 상기 세션키를 갱신하는 CAN 시스템.
  8. 게이트웨이가 세션키 생성 난수를 생성하여 복수의 ECU로 전송하는 단계;
    상기 복수의 ECU가 상기 수신한 세션키 생성 난수에 기초하여 세션키를 생성하는 단계;
    상기 복수의 ECU 중 제1 ECU가 상기 생성된 세션키와 MAC 생성 난수에 기초하여 제1 MAC를 생성하는 단계;
    상기 제1 ECU가 상기 생성된 제1 MAC와 상기 MAC 생성 난수를 포함하는 메시지를 상기 복수의 ECU 중 제2 ECU로 전송하는 단계;
    상기 제2 ECU가 상기 생성된 세션키와 상기 수신된 MAC 생성 난수에 기초하여 제2 MAC를 생성하는 단계; 및
    상기 제2 ECU가 상기 수신된 제1 MAC와 상기 생성된 제2 MAC의 동일성 여부를 판단하여 상기 수신된 메시지를 인증하는 단계;를 포함하는 CAM 시스템의 메시지 인증 방법.
  9. 제8항에 있어서,
    상기 제1 MAC를 생성하는 단계는,
    상기 세션키와 상기 MAC 생성 난수에 기초하여 메시지 전송키를 생성하고, 상기 생성된 메시지 전송키, 상기 MAC 생성 난수 및 데이터에 기초하여 제1 MAC를 생성하고,
    상기 제2 ECU로 전송하는 단계는,
    상기 생성된 제1 MAC, 상기 MAC 생성 난수 및 상기 데이터를 상기 메시지의 데이터 필드에 포함시켜 상기 제2 ECU로 전송하는 CAM 시스템의 메시지 인증 방법.
  10. 제9항에 있어서,
    상기 제2 MAC를 생성하는 단계는,
    상기 세션키와 상기 수신된 메시지의 데이터 필드에 포함된 MAC 생성 난수에 기초하여 메시지 수신키를 생성하고, 상기 생성된 메시지 수신키, 상기 데이터 필드에 포함된 상기 MAC 생성 난수 및 상기 데이터에 기초하여 제2 MAC를 생성하는 CAM 시스템의 메시지 인증 방법.
  11. 제8항에 있어서,
    상기 세션키를 갱신하는 단계;를 더 포함하고,
    상기 세션키를 갱신하는 단계는,
    상기 게이트웨이가 상기 세션키 생성 난수를 기 설정된 시간마다 갱신하는 CAM 시스템의 메시지 인증 방법.
  12. 제11항에 있어서,
    상기 세션키를 갱신하는 단계는,
    상기 게이트웨이가 상기 갱신된 세션키 생성 난수 및 해시 함수에 기초하여 상기 세션키를 갱신하는 CAM 시스템의 메시지 인증 방법.
  13. 제11항에 있어서,
    상기 세션키를 갱신하는 단계는,
    상기 게이트웨이가 상기 세션키와 세션 갱신 MAC 생성 난수에 기초하여 갱신 전송키를 생성하고, 상기 생성된 갱신 전송키, 상기 세션 갱신 MAC 생성 난수 및 갱신 데이터에 기초하여 제1 갱신 MAC를 생성하며, 상기 생성된 제1 갱신 MAC, 상기 갱신된 세션키 생성 난수, 상기 세션 갱신 MAC 생성 난수 및 상기 갱신 데이터를 갱신 메시지의 데이터 필드에 포함시켜 상기 복수의 ECU로 전송하는 CAM 시스템의 메시지 인증 방법.
  14. 제13항에 있어서,
    상기 세션키를 갱신하는 단계는,
    상기 복수의 ECU 각각이 상기 세션키와 상기 수신된 갱신 메시지의 데이터 필드에 포함된 세션 갱신 MAC 생성 난수에 기초하여 갱신 수신키를 생성하고, 상기 생성된 갱신 수신키, 상기 데이터 필드에 포함된 상기 세션 갱신 MAC 생성 난수 및 상기 갱신 데이터에 기초하여 제2 갱신 MAC를 생성하며, 상기 수신된 제1 갱신 MAC와 상기 생성된 제2 갱신 MAC의 동일성 여부를 판단하여 상기 수신된 갱신 메시지를 인증하고, 상기 갱신된 세션키 생성 난수 및 해시 함수에 기초하여 상기 세션키를 갱신하는 CAM 시스템의 메시지 인증 방법.
KR1020180096307A 2018-08-17 2018-08-17 Can 시스템 및 메시지 인증 방법 KR102148453B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180096307A KR102148453B1 (ko) 2018-08-17 2018-08-17 Can 시스템 및 메시지 인증 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180096307A KR102148453B1 (ko) 2018-08-17 2018-08-17 Can 시스템 및 메시지 인증 방법

Publications (2)

Publication Number Publication Date
KR20200020515A true KR20200020515A (ko) 2020-02-26
KR102148453B1 KR102148453B1 (ko) 2020-08-27

Family

ID=69637973

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180096307A KR102148453B1 (ko) 2018-08-17 2018-08-17 Can 시스템 및 메시지 인증 방법

Country Status (1)

Country Link
KR (1) KR102148453B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111953384B (zh) * 2020-07-17 2021-07-16 杭州铭盛威科技有限公司 通信地址发送方法及装置、电能表、存储介质
CN114499831A (zh) * 2020-11-13 2022-05-13 丰田自动车株式会社 车辆通信***、通信方法以及记录有通信程序的记录介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101481403B1 (ko) * 2013-08-26 2015-01-21 고려대학교 산학협력단 차량용 데이터의 인증 및 획득 방법
WO2016075865A1 (ja) * 2014-11-12 2016-05-19 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 更新管理方法、更新管理装置及び制御プログラム
KR101740957B1 (ko) * 2016-01-15 2017-05-30 고려대학교 산학협력단 차량용 데이터의 인증 및 획득 방법
JP2017174111A (ja) * 2016-03-23 2017-09-28 株式会社東芝 車載ゲートウェイ装置、蓄積制御方法およびプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101481403B1 (ko) * 2013-08-26 2015-01-21 고려대학교 산학협력단 차량용 데이터의 인증 및 획득 방법
WO2016075865A1 (ja) * 2014-11-12 2016-05-19 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 更新管理方法、更新管理装置及び制御プログラム
KR101740957B1 (ko) * 2016-01-15 2017-05-30 고려대학교 산학협력단 차량용 데이터의 인증 및 획득 방법
JP2017174111A (ja) * 2016-03-23 2017-09-28 株式会社東芝 車載ゲートウェイ装置、蓄積制御方法およびプログラム

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
A. Menezes 외 2명, Handbook of Applied Cryptography, Chapter.1, CRC Press (1996.)* *
A. Menezes 외 2명, Handbook of Applied Cryptography, Chapter.10, CRC Press (1996.)* *
A. Menezes 외 2명, Handbook of Applied Cryptography, Chapter.12, CRC Press (1996.)* *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111953384B (zh) * 2020-07-17 2021-07-16 杭州铭盛威科技有限公司 通信地址发送方法及装置、电能表、存储介质
CN114499831A (zh) * 2020-11-13 2022-05-13 丰田自动车株式会社 车辆通信***、通信方法以及记录有通信程序的记录介质
KR20220065680A (ko) * 2020-11-13 2022-05-20 도요타지도샤가부시키가이샤 차량 통신 시스템, 통신 방법 및 통신 프로그램을 기록한 기록 매체
EP4002753A1 (en) * 2020-11-13 2022-05-25 Toyota Jidosha Kabushiki Kaisha Vehicle communication system, communication method, and storage medium storing communication program
US11832098B2 (en) 2020-11-13 2023-11-28 Toyota Jidosha Kabushiki Kaisha Vehicle communication system, communication method, and storage medium storing communication program
CN114499831B (zh) * 2020-11-13 2023-12-12 丰田自动车株式会社 车辆通信***、通信方法以及记录有通信程序的记录介质

Also Published As

Publication number Publication date
KR102148453B1 (ko) 2020-08-27

Similar Documents

Publication Publication Date Title
US10708248B2 (en) Vehicle and method for controlling same
US10243732B1 (en) Cryptographic key management for end-to-end communication security
CN106533655B (zh) 一种车内网ecu安全通信的方法
Hazem et al. Lcap-a lightweight can authentication protocol for securing in-vehicle networks
Van Herrewege et al. CANAuth-a simple, backward compatible broadcast authentication protocol for CAN bus
Groza et al. LiBrA-CAN: A lightweight broadcast authentication protocol for controller area networks
KR101740957B1 (ko) 차량용 데이터의 인증 및 획득 방법
Han et al. Automotive cybersecurity for in-vehicle communication
Hafeez et al. Comparative study of can-bus and flexray protocols for in-vehicle communication
US20190044730A1 (en) Apparatus and method for generating and operating dynamic can id based on hash-based message authentication code
Püllen et al. Using implicit certification to efficiently establish authenticated group keys for in-vehicle networks
KR101882694B1 (ko) Mac을 포함하는 can 메시지 송수신을 위한 방법 및 시스템
Kang et al. An attack-resilient source authentication protocol in controller area network
Halabi et al. A lightweight synchronous cryptographic hash chain solution to securing the vehicle CAN bus
CN107836095A (zh) 用于在网络中产生秘密或秘钥的方法
KR102148453B1 (ko) Can 시스템 및 메시지 인증 방법
Püllen et al. Securing FlexRay-based in-vehicle networks
Murvay et al. Accommodating time-triggered authentication to FlexRay demands
Carsten et al. A system to recognize intruders in controller area network (can)
CN116456346A (zh) 一种动态分组的rfid群组标签认证方法
US10841085B2 (en) Method for generating a secret or a key in a network
CN108141359B (zh) 用于产生共同的秘密的方法和设备
CN114584385A (zh) 一种车内网络安全通信方法、计算机设备、介质及终端
CN113300847A (zh) 无需预知凭证的认证
KR20180072340A (ko) 운송 수단 내부 네트워크에서의 제어 데이터를 보안 전송하는 방법

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