KR20160104565A - 통신 시스템 및 통신 장치 - Google Patents

통신 시스템 및 통신 장치 Download PDF

Info

Publication number
KR20160104565A
KR20160104565A KR1020160021719A KR20160021719A KR20160104565A KR 20160104565 A KR20160104565 A KR 20160104565A KR 1020160021719 A KR1020160021719 A KR 1020160021719A KR 20160021719 A KR20160021719 A KR 20160021719A KR 20160104565 A KR20160104565 A KR 20160104565A
Authority
KR
South Korea
Prior art keywords
packet
authentication code
value
message authentication
message
Prior art date
Application number
KR1020160021719A
Other languages
English (en)
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 KR20160104565A publication Critical patent/KR20160104565A/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
    • 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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/324Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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/0877Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
    • 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/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • 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
    • H04W12/106Packet or message integrity
    • 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
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/622Layer-2 addresses, e.g. medium access control [MAC] addresses
    • 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
    • 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
    • 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)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Small-Scale Networks (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

네트워크로 상호 접속되어 패킷을 송수하는 복수의 장치를 포함하는 통신 시스템에 있어서, 네트워크의 은닉성이나 안전성을 향상시킨다.
패킷을 송수하는 장치는 각각 통신 상대에 대응하는 패킷 카운터를 구비한다. 대응하는 패킷 카운터에는, 초기값으로서 동일한 난수값이 부여되고, 패킷의 송수신에 수반하여 각각 갱신된다. 송신측의 장치는, 송신하는 메시지에 기초하여 MAC값을 생성하고, 그 일부를 자신의 패킷 카운터의 카운트값에 기초하여 뽑아내어 분할 MAC값으로 하고, 메시지에 부가하여 패킷을 생성하여 네트워크에 송신한다. 수신측의 장치는, 수신한 패킷에 포함되는 메시지에 기초하여 MAC값을 생성하고, 그 일부를 자신의 패킷 카운터의 카운트값에 기초하여 뽑아내어, 수신한 패킷에 포함되는 분할 MAC값과 비교함으로써 메시지 인증을 행한다.

Description

통신 시스템 및 통신 장치{COMMUNICATION SYSTEM AND COMMUNICATION DEVICE}
본 발명은, 통신 시스템 및 통신 장치에 관한 것으로, 특히 네트워크 상의 통신 패킷에 메시지 인증 코드(MAC: Message Authentication Code)의 일부를 포함하는 통신에 적합하게 이용할 수 있는 것이다.
자동차의 제어 시스템을 비롯하여, 다양한 분야에 있어서, 시큐리티의 중요성 및 요구가 높아지고 있다. 이것에 대응하기 위해 조립 기기의 분야에 있어서는, 대상 제품 자체가 물리적으로 공격 당하는 기회가 많기 때문에, 내 탬퍼성이 높은, 하드웨어 시큐리티 모듈(HSM: Hardware Security Module)에 시큐리티 기능을 집약시키는 경향이 있다.
자동차의 제어 시스템은, 예를 들어 CAN(Controller Area Network) 등의 차량 탑재 네트워크에 접속된 복수의 전자 제어 유닛(ECU: Electronic Control Unit)으로 구성된다. 이러한 자동차의 제어 시스템에 대한 공격에는, CAN에서 주고받는 메시지의 누설, 메시지의 개찬, 허위 메시지 배신 등이 있고, 이것을 방지하기 위해, ECU간의 통신에는 CAN 패킷에 그 정당성을 증명하는 정보를 부가하는 방법 등이 제안되어 있다.
특허문헌 1에는, CAN 프로토콜을 변경하지 않고 메시지 인증 코드(MAC)에 의한 메시지 인증을 행하는 기술이 개시되어 있다. CAN에 접속되어 있는 각 ECU에 있어서 CAN ID마다 메시지가 송신된 횟수를 카운트한다. 메시지를 송신한 ECU는 메인 메시지의 데이터 필드 및 CAN ID와, CAN ID에 대응하는 카운터값으로부터 MAC를 생성하여, MAC 메시지로서 송신한다. 메인 메시지를 수신한 ECU는, 메인 메시지에 포함되는 데이터 필드 및 CAN ID와, CAN ID에 대응하는 카운터값으로부터 MAC를 생성하여, MAC 메시지에 포함되는 MAC와의 비교를 행하여, 메인 메시지의 정당성을 검증할 수 있다.
비특허문헌 1에는, 상기 특허문헌 1에 기재되는 기술을 개량한, CAN 패킷의 인증 기술이 개시되어 있다. CAN 패킷의 크기에는 제한이 있으므로, 산출된 MAC값의 일부 비트만을 CAN 패킷에 포함시킨다. 송신측 ECU에서는, 송신 패킷 카운터의 상위 L-1-n 비트를 MAC의 산출에 사용하고, 하위 n 비트를 산출된 MAC값으로부터 추출되는 일부의 비트(Xs 비트)의 프레임 위치를 나타내기 위해 사용한다. 즉, 송신측 ECU에서는, 메인 메시지와, 송신측과 수신측에서 공유되는 비밀 정보와, 송신 패킷 카운터의 상위 L-1-n 비트로부터 MAC값을 산출하고, 그 MAC값으로부터 송신 패킷 카운터의 하위 n 비트로 지정되는 프레임 위치의 Xs 비트를 추출하고, 메인 메시지에 부가하여 CAN 패킷을 구성한다. 수신측 ECU에서는, 수신 패킷 카운터의 송신측과 동일한 상위 L-1-n 비트를 MAC의 산출에 사용하고, 하위 n 비트를 산출된 MAC값으로부터 추출되는 일부의 비트(Xr 비트)의 프레임 위치를 나타내기 위해 사용한다. 즉, 수신측 ECU에서는, 수신한 CAN 패킷 중의 메인 메시지와, 송신측과 공유하는 비밀 정보와, 수신 패킷 카운터의 상위 L-1-n 비트로부터 MAC값을 산출하고, 그 MAC값으로부터 수신 패킷 카운터의 하위 n 비트로 지정되는 프레임 위치의 Xr 비트를 추출한다. 수신한 CAN 패킷 중의 MAC값 Xs 비트와, 자신이 산출한 MAC값 중의 Xr 비트를 비교하여, 일치하면 수신한 CAN 패킷을 정당한 것이라고 인증한다.
일본 특허 공개 제2013-98719호 공보
다케모리 다카히로, 미조구치 세이이치로, 가와바타 히데아키, 구보타 아유무, 「시큐어 부트+인증에 의한 차량 탑재 제어 시스템의 보호」, 정보 처리 학회 연구 보고 고도 교통 시스템과 스마트 커뮤니티(ITS), 2014-ITS-58, 정보 처리 학회, 2014년 9월 12일
특허문헌 1 및 비특허문헌 1에 대해 본 발명자가 검토한 결과, 이하와 같은 새로운 과제가 있는 것을 알 수 있었다.
비특허문헌 1에는, 송신측과 수신측의 ECU가 각각 시큐어 엘리먼트라 불리는 HSM을 구비하고 있고, MAC의 생성 등을 행하므로, 이 부분의 내 탬퍼성은 담보되어 있지만, 패킷 카운터를 HSM의 외측에 구비하므로, ECU 내부에서 HSM에 데이터를 입출력하는 통신 경로의 은닉성·완전성의 확보가 충분하지 않은 것을 알 수 있었다. 예를 들어, 시큐리티 기능을 구비하지 않는 호스트 프로세서와 HSM을 통신로에서 접속하여 ECU를 구성하면, 가령, 호스트 프로세서측에서 소프트웨어를 사용하여 암호화를 행하여, 은닉성을 확보하였다고 해도, 호스트 프로세서와 HSM간의 통신 경로에 프로빙 등을 행하여, 오래된 정보를 흘리는, 아른바 재전송 공격에 대한 내성이 낮은 것을 알 수 있었다.
이러한 과제를 해결하기 위한 수단을 이하에 설명하지만, 그 밖의 과제와 신규의 특징은, 본 명세서의 기술 및 첨부 도면으로부터 밝혀질 것이다.
일 실시 형태에 의하면, 하기와 같다.
즉, 네트워크로 상호 접속되어 패킷을 송수하는 복수의 장치를 포함하는 통신 시스템으로서, 패킷을 송수하는 장치는 각각 통신 상대에 대응하는 패킷 카운터를 구비한다. 대응하는 패킷 카운터에는, 초기값으로서 동일한 난수값이 부여되고, 패킷의 송수신에 수반하여 각각 갱신된다. 메시지를 송신하는 측의 장치는, 상기 메시지에 기초하여 메시지 인증 부호(MAC값)를 생성하고, 그 일부를 자신의 패킷 카운터의 카운트값에 기초하여 뽑아내어 분할 메시지 인증 부호(분할 MAC값)로 하고, 상기 메시지에 부가하여 패킷을 생성하여 네트워크에 송신한다. 패킷을 수신한 장치는, 수신한 패킷에 포함되는 메시지에 기초하여 메시지 인증 부호(MAC값)를 생성하고, 그 일부를 자신의 패킷 카운터의 카운트값에 기초하여 뽑아내어(draw out), 수신한 패킷에 포함되는 분할 메시지 인증 부호(분할 MAC값)와 비교함으로써 메시지 인증을 행한다.
상기 일 실시 형태에 의해 얻어지는 효과를 간단하게 설명하면 하기와 같다.
즉, 패킷 카운터의 카운트값을 외부로부터 관측 또는 추정하는 것이 어려워져, 복수의 장치간의 통신 경로(네트워크)의 은닉성이나 안전성을 향상시킬 수 있다.
도 1은 통신 장치의 구성예 및 그 통신 장치를 포함하여 구성되는 통신 시스템의 구성예를 나타내는 블록도.
도 2는 통신 장치가 전자 제어 유닛(ECU)이고, 그 ECU를 차량 탑재 네트워크(CAN)로 서로 접속하여 구성되는 통신 시스템의 구성예를 나타내는 블록도.
도 3은 통신 시스템이 통신 장치로서의 복수의 ECU를 CAN으로 상호 접속하여 구성되고, 그 하나의 통신 장치(ECU)가, HOST와 내 탬퍼성을 구비하는 하드웨어 시큐리티 모듈(HSM)로 구성되는 구성예를 나타내는 블록도.
도 4는 실시 형태 1에 있어서의 통신 플로우의 일례를 나타내는 흐름도.
도 5는 패킷 카운터의 변동을 흡수하기 위한 플로우의 일례를 나타내는 흐름도.
도 6은 패킷 카운터의 인크리먼트 값을 난수로 하기 위한 플로우의 일례를 나타내는 흐름도.
도 7은 실시 형태 2에 있어서의 통신 플로우의 일례를 나타내는 흐름도.
도 8은 HOST에도 암호 기능이 탑재되는, ECU의 구성예를 나타내는 블록도.
도 9는 실시 형태 3에 있어서의 통신 플로우의 일례를 나타내는 흐름도.
실시 형태에 대해 상세하게 설명한다.
〔실시 형태 1〕
<패킷 카운터를 난수로 초기화>
도 1은 통신 장치의 구성예 및 그 통신 장치를 포함하여 구성되는 통신 시스템의 구성예를 나타내는 블록도이다. 통신 시스템(10)은, 네트워크(5)로 상호 접속되고, 그 네트워크(5)를 통해 패킷을 송수신하는 제1 통신 장치(1_2)와 제2 통신 장치(1_1)를 포함하여 구성된다. 네트워크(5)에는, 다른 통신 장치가 더 접속되어 있어도 된다. 또한, 네트워크(5)는 계층화된 네트워크이며, 제1 통신 장치(1_2)와 제2 통신 장치(1_1) 사이에 중계 장치를 포함하여 구성되어도 된다. 또한, 네트워크는 유선·무선을 막론하고, 패킷을 전송 가능한 무언가의 통신로이면 된다.
제1 통신 장치(1_2)와 제2 통신 장치(1_1)는, 패킷 카운터(6_2와 6_1)를 각각 구비한다. 패킷 카운터(6_2와 6_1)에는, 초기값으로서 동일한 난수값이 부여되고, 제1 통신 장치(1_2)와 제2 통신 장치(1_1) 사이의 패킷의 송수신에 수반하여 각각 갱신된다. 제1 통신 장치(1_2)로부터 제2 통신 장치(1_1)로의 패킷의 전송과, 역방향의 제2 통신 장치(1_1)로부터 제1 통신 장치(1_2)로의 패킷의 전송에 대해 각각 다른 패킷 카운터가 설치되어 있어도 된다. 송신측이 패킷을 송신할 때, 자신의 패킷 카운터를 갱신하면, 수신측도 이것에 맞추어 그 패킷을 수신하였을 때, 자신 패킷 카운터를 갱신하도록 구성하여, 서로의 패킷 카운터가 동일한 카운트값을 유지하도록 제어된다. 이때, 1패킷의 송수신에 대응하는 패킷 카운터의 증분값(인크리먼트 값)은 반드시 1에 한정되는 것은 아니며, 패킷의 송수에 따라서 서로의 패킷 카운터에 동일한 카운트값이 유지되는 한, 임의의 값을 취할 수 있다.
제1 통신 장치(1_2)는, 제2 통신 장치(1_1) 앞으로 송신하는 메시지와, 메시지 인증 부호(MAC값)를 생성하기 위한 비밀 정보가 부여되어 있고, 패킷 생성부(20)와 MAC 생성부(21)와 분할 MAC값 생성부(22)를 구비한다. 패킷 생성부(20)와 MAC 생성부(21)와 분할 MAC값 생성부(22)는, 제1 통신 장치(1_2)가 구비하는 프로세서 상에서 소프트웨어를 실행함으로써 실현되는 기능 블록이다. 소프트웨어에 의해 실현되는 대신에, 전부 또는 일부를, 전용 하드웨어에 의해 실현해도 된다.
제1 통신 장치(1_2)는, 제2 통신 장치(1_1) 앞으로 메시지를 전송할 때, 그 메시지와 비밀 정보에 기초하여 MAC 생성부(21)에 있어서 MAC값을 생성한다. 분할 MAC값 생성부(22)는, 생성된 MAC값으로부터, 패킷 카운터(6_2)의 카운트값에 기초하여 지정되는, 일부분의 비트 위치(프레임 위치)의 데이터를 뽑아내어 분할 MAC값으로 한다. 패킷 생성부(20)는, 메시지와 분할 MAC값을 포함하는 패킷을 생성하여, 제2 통신 장치(1_1) 앞으로 네트워크(5)에 송신한다.
제2 통신 장치(1_1)는, MAC값을 인증하기 위한 비밀 정보가 부여되어 있고, 패킷 분할부(30)와 MAC 생성부(31)와 분할 MAC값 생성부(32)와 비교·인증부(33)를 구비한다. 패킷 분할부(30)와 MAC 생성부(31)와 분할 MAC값 생성부(32)와 비교·인증부(33)는, 제2 통신 장치(1_1)가 구비하는 프로세서 상에서 소프트웨어를 실행함으로써 실현되는 기능 블록이다. 소프트웨어에 의해 실현되는 대신에, 전부 또는 일부를, 전용 하드웨어에 의해 실현해도 된다.
제2 통신 장치(1_1)는, 제1 통신 장치(1_2)로부터 네트워크(5)를 경유하여 패킷을 수신하였을 때, 패킷 분할부(30)에 의해 그 패킷으로부터 메시지와 분할 MAC값을 추출한다. MAC 생성부(31)는, 수신한 패킷으로부터 추출된 메시지와, 비밀 정보와, 패킷 카운터(6_1)의 카운트값으로부터, MAC값을 생성한다. 분할 MAC값 생성부(32)는, 생성된 MAC값으로부터, 패킷 카운터(6_1)의 카운트값에 기초하여 지정되는, 일부분의 비트 위치(프레임 위치)의 데이터를 뽑아내어 분할 MAC값으로 한다. 비교·인증부(33)는, 패킷 분할부(30)에 의해 수신한 패킷으로부터 추출된 분할 MAC값과, MAC 생성부(31)와 분할 MAC값 생성부(32)에 의해 생성된 분할 MAC값을 비교하고, 비교 결과에 기초하여, 수신한 메시지를 인증한다. 여기서, 수신한 메시지가 인증되는 것은, 수신한 패킷으로부터 추출된 분할 MAC값과 내부에서 생성된 분할 MAC값이 완전히 일치하는 경우에는 한정되지 않는다. 「패킷 카운터의 변동을 흡수」에 후술하는 바와 같이, 송신측과 수신측에서 패킷 카운터의 카운트값에 어긋남이 발생하고 있는 경우에도, 메시지 인증을 성공이라고 판정시킬 수도 있다.
패킷 카운터(6_1과 6_2)의 초기값으로서 난수값이 부여됨으로써, 그 카운트값을 외부에서 관측 또는 추정하는 것이 어려워져, 제1 통신 장치(1_2)와 제2 통신 장치(1_1) 사이의 통신 경로(네트워크(5))의 은닉성이나 안전성을 향상시킬 수 있다.
여기서, 도 1에는, 제1 통신 장치(1_2)가 메시지의 송신측이고, 제2 통신 장치(1_1)가 수신측인 경우에 한하여 설명하였지만, 메시지의 전송 방향은 역방향이어도, 쌍방향이어도 된다. 그 경우에는, 제1 통신 장치(1_2)가, 패킷 분할부, 수신한 패킷으로부터 추출되는 메시지로부터 MAC값을 생성하는 MAC 생성부, 분할 MAC값 생성부 및 비교·인증부를 더 구비해도 되고, 또한 제2 통신 장치(1_1)가, 패킷 생성부, MAC 생성부 및 분할 MAC값 생성부를 더 구비해도 된다.
〔CAN에 접속되는 ECU간 통신에의 적용〕
상술한 제1 및 제2 통신 장치를 각각 ECU로 하고, 네트워크(5)를 차량 탑재 네트워크(CAN)로 함으로써, 통신 시스템을 구성할 수 있다.
도 2는, 통신 장치가 전자 제어 유닛(ECU)이고, 그 ECU를 차량 탑재 네트워크(CAN)로 서로 접속하여 구성되는 통신 시스템의 구성예를 나타내는 블록도이다. 복수의 ECU인, ECU-A(2_A), ECU-B(2_B) 및 ECU-C(2_C)가 CAN(5)에 접속되어 있다. ECU-A(2_A)는, 패킷 카운터 AB(6_AB)와 패킷 카운터 AC(6_AC)를 구비하고, ECU-B(2_B)는 패킷 카운터 BA(6_BA)와 패킷 카운터 BC(6_BC)를 구비하고, ECU-C(2_C)는 패킷 카운터 CA(6_CA)와 패킷 카운터 CB(6_CB)를 구비한다. 패킷 카운터 AB(6_AB)와 패킷 카운터 BA(6_BA)는, ECU-A(2_A)와 ECU-B(2_B) 사이의 패킷 통신에 대응하여 설치되어 있다. 마찬가지로, 패킷 카운터 AC(6_AC)와 패킷 카운터 CA(6_CA)는, ECU-A(2_A)와 ECU-C(2_C) 사이의 패킷 통신, 패킷 카운터 BC(6_BC)와 패킷 카운터 CB(6_CB)는, ECU-B(2_B)와 ECU-C(2_C) 사이의 패킷 통신에, 각각 대응하여 설치되어 있다. 각각 ECU가 1:1의 패킷 통신을 행하는 경우에는, 그 패킷 통신을 행하는 ECU끼리의 패킷 카운터가, 동일한 난수값에 의해 초기화된다. 브로드 캐스트 등 1:다의 패킷 통신을 행하는 경우에는, 그 1:다의 패킷 통신에 참가하는 모든 ECU끼리의 패킷 카운터가, 동일한 난수값에 의해 초기화된다.
이에 의해, CAN에 의해 상호 접속되는 전자 제어 유닛(ECU)간의 통신의 은닉성이나 안전성을 향상시킬 수 있다.
〔HOST-HSM간 통신에의 적용〕
상술한 제1 및 제2 통신 장치의 사이 통신을, ECU를 구성하는 호스트 프로세서(HOST)와 하드웨어 시큐리티 모듈(HSM) 사이의 통신에 적용할 수 있다. 「발명의 배경이 되는 기술」에 있어서 서술한 바와 같이, 자동차의 제어 시스템을 비롯한, 시큐리티의 중요성 및 요구가 높은 조립 기기에 있어서는, 대상의 기기 자체가 물리적으로 공격당하는 기회가 많으므로, 내 탬퍼성이 높은 HSM을 설치하여, 이것에 시큐리티 기능을 집약시키는 경향이 있다.
도 3은, 통신 시스템이 통신 장치로서의 복수의 ECU를 CAN으로 상호 접속하여 구성되고, 그 하나의 ECU가, HOST와 내 탬퍼성을 구비하는 HSM을 포함하여 구성되는, 구성예를 나타내는 블록도이다. 도 2와 마찬가지로, 복수의 ECU가 CAN(5_2)에 접속될 수 있지만, ECU-A(2_A)와 ECU-B(2_B)만이 CAN(5_2)에 접속되어 있는 예가 나타내어지고, ECU-A(2_A)가 네트워크(5_1)에 의해 상호 접속되는, HOST(4)와 내 탬퍼성을 구비하는 HSM(3)을 구비하여 구성되는 예이다.
HOST(4)는, CPU(11_2)와, CAN(5_2)와의 인터페이스(I/F)(12_3)와, 네트워크(5_1)와의 인터페이스(I/F)(12_2)와, ROM(15_2)와, RAM(16_2)이, 서로 버스(17_2)에 접속되어 구성되어 있다. HSM(3)은, CPU(11_1)와, 네트워크(5_1)와의 인터페이스(I/F)(12_1)와, ROM(15_1)과, RAM(16_1)과, 암호 IP(Crypt IP)(13_1)와, 난수 발생 회로(RNG)(14_1)가, 서로 버스(17_1)에 접속되어 구성되어 있다. 암호 IP(13)는, 내 탬퍼성을 구비하는 암호 통신에 관한 데이터 처리를 실행하는 회로 모듈이며, 공지의 내 탬퍼 기능을 실장함으로써 구성할 수 있다. 예를 들어, 비닉해야 할 파라미터를 외부로부터 관측할 수 없도록 기억시켜, 소정의 암호 연산을 실행할 때, 연산 시간이나 소비 전력의 변동 파형에 데이터 의존성이 나타나지 않도록 하는 등, 암호 통신에 대한 공격으로의 방어 조치가 강구되어 있다.
HOST(4)에 있어서의 ROM(15_2)에는, CPU(11_2)에서 실행됨으로써, 상술한 패킷 생성부(20), MAC 생성부(21) 및 분할 MAC값 생성부(22)로서 기능하는 프로그램이 저장되어 있다. HSM(3)에 있어서의 ROM(15_1)에는, 11_1에서 실행됨으로써, 상술한 패킷 분할부(30), MAC 생성부(31), 분할 MAC값 생성부(32) 및 비교·인증부(33)로서 기능하는 프로그램이 저장되어 있다. HOST(4)와 HSM(3) 사이의 네트워크(5_1)를 개재하는 패킷 통신은, HOST(4) 내의 RAM(16_2)에 유지되는 패킷 카운터 HOST-HSM(6_2)과 HSM(3) 내의 RAM(16_1)에 유지되는 패킷 카운터 HSM-HOST(6_1)를 사용하여 실행된다. 한편, ECU-A(2_A)와 ECU-B(2_B) 사이의 CAN(5_2)을 개재하는 패킷 통신은, ECU-A(2_A)의 HSM(3) 내의 RAM(16_1)에 유지되는 패킷 카운터 AB(6_3)와, ECU-B(2_B)가 구비하는 패킷 카운터 BA(6_4)를 사용하여 실행된다. 패킷 카운터 AB(6_3)는, HOST(4) 내의 RAM(16_2)에 유지되어도 되지만, HSM(3) 내의 RAM(16_1)에 유지되는 쪽이, 내 탬퍼성이 높다. 패킷 카운터 HOST-HSM(6_2), 패킷 카운터 HSM-HOST(6_1) 및 패킷 카운터 AB(6_3)는, HOST(4) 내의 RAM(16_2) 또는 HSM(3) 내의 RAM(16_1)에 유지되는 대신에, 전용의 카운터에 의해 실현되어도 된다.
HOST(4)와 HSM(3) 사이의 네트워크(5_1)를 개재하는 패킷 통신에, 상술한 도 1을 인용하여 설명한 통신을 적용함으로써, HSM이 아닌 일반 HOST와 HSM 사이의 통신 경로(네트워크)의 은닉성이나 안전성을 향상시킬 수 있다.
여기서, HOST(4)와 HSM(3)의 구성으로서 도 3에 나타내어지는 것은, 일례에 불과하다. 네트워크(5_1)는, CAN, SPI(Serial Peripheral Interface) 등 임의의 통신로로 형성될 수 있다. HOST(4)와 HSM(3)에 있어서, 버스(17_1, 17_2)는 각각 계층화되어도 된다. 또한, HOST(4)는, 실제로 사용되는 애플리케이션에 따라서, 도시되어 있는 기능 블록 이외의 기능 블록, 예를 들어 인터럽트 제어 회로, 다이렉트 메모리 컨트롤러, 타이머, 그 밖의 주변 장치 등을 적절하게 포함하여 구성되어도 된다. HSM(3)도 마찬가지이다. HSM(3)으로서는, CPU(11_1)가 탑재되는 구성예를 나타냈지만, 시퀀서로 대용해도 된다. HSM(3)은, 내 탬퍼성을 구비하고 있는 것이 바람직하지만, 단순히, 도 3에 나타내어지는 구성 요소를 구비하고 있는 반도체 디바이스이면 된다. 특별히 제한되지 않지만, HOST(4)와 HSM(3)은, 각각 예를 들어, 공지의 CMOS(Complementary Metal-Oxide-Semiconductor field effect transistor) LSI(Large Scale Integrated circuit)의 제조 기술을 사용하여, 실리콘 등의 단일 반도체 기판 상에 형성된다. 이와 같이, HOST(4)와 HSM(3)이 각각 별도의 반도체 칩에 형성되고, 서로가 네트워크(5_1)에 의해 통신되는 경우에, 네트워크(5_1)를 관측하는 것에 의한 공격에 대해 패킷 카운터를 난수값에 의해 초기화함으로써, 통신의 은닉성이나 안전성을 향상시킬 수 있다. 한편, HOST(4)와 HSM(3)이 동일한 반도체 칩 상에 혼재되어도 된다. 이때, 네트워크(5_1)가 반도체 칩의 외부로 인출되지 않도록 구성하면, 통신의 은닉성과 안전성을 더욱 향상시킬 수 있다.
〔난수값은 HSM에 의해 생성하고, 암호화하여 HOST에 전송〕
도 3에 예시되는 ECU-A(2_A)의 동작에 대해 설명한다.
도 4는, 본 실시 형태 1에 있어서의 통신 플로우의 일례를 나타내는 흐름도이다. HOST(4)와 HSM(3)에 의해 각각 실행되는 처리 스텝과, 송수신되는 데이터의 내용이, 위로부터 아래를 향하는 시계열을 따라 나타내어진다.
우선, HOST(4)와 HSM(3)이 각각 기동된다(시스템 ON). HSM(3)은, 난수 R1을 난수 발생 회로(RNG)(14_1)에서 생성하고, 암호 IP(Crypt IP)(13_1)에 의해 공통 키 CK를 사용하여 암호화한다. 공통 키 CK를 사용하여 암호화된 난수 R1을 「CK(R1)」라고 표기한다. HSM(3)은, 생성된 난수 R1을 패킷 카운터 HSM-HOST(6_1)에 초기값으로서 세트한다. HSM(3)은, 암호화된 난수 CK(R1)를, 네트워크(5_1)를 통해 HOST(4)에 송부한다. HOST(4)에서는, 사전에 HSM(3)과 공유하고 있는 공통 키 CK를 사용하여, 암호화된 난수 CK(R1)를 복호한다. 그 단계에서, HOST(4)는, 복호된 난수 R1을 패킷 카운터 HOST-HSM(6_2)의 초기값으로 하고, 1 패킷분의 인크리먼트를 행한다. 즉, HOST(4)는, 패킷 카운터 HOST-HSM(6_2)의 값을 R2=R1+1로 갱신한다. HOST(4)는, HSM(3)에 대해, 서명 생성, 서명 검증, 그 밖에 암호에 관한 처리를 요구할 때, 리퀘스트 메시지(Request msg)를 생성함과 함께, 그 메시지와 패킷 카운터 HOST-HSM(6_2)의 카운터값인 R2로부터 MAC값을 생성하여, 메시지에 부가한다. MAC값은, 일반적인 CMAC(Cipher based Message Authentication Code) 등의 기술을 사용하여 생성할 수 있다. HOST(4)는, 리퀘스트 메시지(Request)와 MAC값을 포함하는 패킷을 생성하여, HSM(3)에 송부한다. 패킷을 수신한 HSM(3)에서는, 그것에 포함되는 MAC값으로부터 메시지의 정당성을 검증(MAC값 검증)한 후, 메시지의 처리를 실행하고, 그 결과(Result)를 HOST(4)에 송부한다. 이때, 패킷 카운터 HSM-HOST(6_1)의 값을 R3=R2+1로 갱신한다. 이 처리간의 통신 메시지는, 공통 키 CK로 암호화된다. MAC값 검증시에, 수신한 메시지와 자신의 패킷 카운터 HSM-HOST(6_1)의 카운터값으로부터 생성되는 MAC값과 수신한 MAC값이 서로 다른 경우에는, 부정 처리로 이행한다. 부정 처리에는, 후술하는 「패킷 카운터의 변동을 흡수」하는 처리가 포함되어도 된다. 이에 의해, 메시지의 위조를 방지하는 것이 가능해져, 통신의 은닉성이나 안전성을 향상시킬 수 있다.
여기서, HOST(4)와 HSM(3)에 있어서 각각 실행되는 MAC값의 생성은, 송수신되는 대상의 메시지와, 각각의 패킷 카운터 HOST-HSM(6_2)과 HSM-HOST(6_1)의 카운트값에 기초하는 연산 처리이다. 여기서, HOST(4)와 HSM(3)이 또한 비밀 정보를 공유하고, 이것을 각각의 MAC값 생성의 연산에 기여시키도록 구성해도 된다. 이에 의해, 통신의 은닉성이나 안전성을 더욱 향상시킬 수 있다.
〔패킷 카운터의 변동을 흡수〕
상술한 MAC값 검증에 있어서는, 패킷 카운터 HOST-HSM(6_2)과 HSM-HOST(6_1)의 카운트값이 동기하고 있는 것이 전제가 된다. 여기서, 「동기」라 함은, 반드시 동시에 동일한 값을 취하는 것을 가리키는 것이 아니라, 어느 정도의 시간차를 갖고 동일한 값으로 갱신되어도 되고, 나아가서는 서로 다른 값이어도, 일정한 규칙에 따름으로써 서로 대응하는 값을 취해도 된다. 즉, 송신측에서의 MAC값 생성에 사용된 카운트값을, 수신측에서 재현할 수 있어, 동일한 MAC값을 생성할 수 있으면 된다.
그러나, 통신 에러 등에 기인하여 패킷 카운터 HOST-HSM(6_2)과 HSM-HOST(6_1) 사이에서, 동기가 어긋나는 경우가 있다. 이 패킷 카운터의 동기 어긋남을 「패킷 카운터의 변동」이라고 칭하기로 한다. 이러한 패킷 카운터의 변동은, 시스템이 정상적으로 동작하고 있는 경우에도 발생할 수 있으므로, 어느 정도의 폭까지는 흡수하는 것이 바람직하다. 한편, 통신의 은닉성·안전성이 우선되는 시스템에 있어서는, 변동을 외부로부터의 공격이라고 판단하여, 즉시 방어 조치를 강구하는 것이 바람직한 경우도 있다. 어느 쪽을 채용할지는, 시스템 설계에 있어서의 HSM(3) 및 HOST(4)의 시큐리티 폴리시에 의존한다.
도 5는, 패킷 카운터의 변동을 흡수하기 위한 플로우의 일례를 나타내는 흐름도이다.
상술한 HSM(3)에 있어서의 MAC값 검증시에, 수신한 MAC값이, 수신한 메시지와 자신의 패킷 카운터 HSM-HOST(6_1)의 카운터값으로부터 생성되는 MAC값과 다른 경우(MAC의 불일치 검출)에, 부정 처리로서 즉시 동작을 정지시키는 경우(즉시 Stop인 경우)와, 변동을 흡수하는 처리로 이행하는 경우(검증하는 경우) 중 어느 하나를 채용할 수 있다. 전자는, 통신의 은닉성·안전성이 우선되는 시스템에 있어서, 변동을 외부로부터의 공격이라고 판단하여, 즉시 방어 조치를 강구하는 경우에 채용되고, 후자는, 패킷 카운터의 변동을 흡수하는 경우에 채용된다.
즉시 Stop인 경우, HSM(3)으로부터 HOST(4)에 대해 이상을 통지하고, HSM(3)은 실행 중인 처리를 중단 또는 종료한다.
검증하는 경우, 도 5에는 패킷 카운터의 변동을 ±1 패킷까지 허용하는 예가 나타내어져 있다. MAC의 불일치 검출 후, 패킷 카운터 HSM-HOST(6_1)의 카운터값의 디크리먼트를 실시하고, 다시 MAC 검증을 행한다. 이 스텝에서 생성된 MAC값이 수신한 MAC값과 일치하였을 때에는, 정상적인 메시지라고 판단하여, 메시지의 처리로 이행한다. 불일치인 경우에는, 카운터값의 인크리먼트를 2회 실시하고, 한번 더 MAC 검증을 행한다. 이 스텝에서 생성된 MAC값이 수신한 MAC값과 일치하였을 때에는, 정상적인 메시지라고 판단하여, 메시지의 처리로 이행한다. 불일치인 경우에는, HSM(3)으로부터 HOST(4)에 대해 이상을 통지하고, HSM(3)은 실행 중인 처리를 중단 또는 종료한다.
여기서, 디크리먼트 값과 인크리먼트 값은, 반드시 1일 필요는 없고, 후술하는 실시 형태 2에 기재되는 바와 같이, 다른 난수값 등이어도 된다. 또한, 패킷 카운터의 변동을 ±1 패킷보다도 넓은 범위까지 허용하도록 변경할 수도 있다. 즉, 당해 수신 패킷보다 i개(i는 임의의 정수)만큼 이전에 수신한 수신 패킷으로부터 j개(j는 임의의 정수)만큼 이후에 수신하는 수신 패킷까지, 각각 대응하는 복수의 카운트값에 기초하여 생성되는 복수의 MAC값과, 수신한 MAC값을 비교하여, 반복 MAC 검증을 행한다. 적어도 1개의 MAC값이 일치하였을 때에는, 정상적인 메시지라고 판단하여, 메시지의 처리로 이행하고, 모두 불일치인 경우에는, HSM(3)으로부터 HOST(4)에 대해 이상을 통지하고, HSM(3)은 실행 중인 처리를 중단 또는 종료한다. i와 j의 값은, 시스템의 시큐리티 폴리시에 의존하여 임의로 설정할 수 있다. i와 j의 값이 크면 클수록, 재전송 공격이 용이해지므로, i와 j의 값은 모두 3 이하인 것이 바람직하다. 또한, 변동의 폭이 작을 때에는, 정상적인 메시지라고 판단하여, 메시지의 처리로 이행한다고 해도, 변동의 폭이 어느 정도 클 때에는, 즉시 정지하는 처리로 이행하는 대신에, 무언가의 경고를 발하고, 다른 방법으로 시큐리티 강화를 도모하는 등의 방어 수단을 채용하면서, 메시지의 처리로 이행하는 등의 중용의 처리로 이행할 수도 있다.
여기서는, 패킷 카운터의 변동을 흡수하는 구성 및 방법에 대해, 패킷 카운터 HSM-HOST(6_1)와 HOST-HSM(6_2)의 초기값을 난수로 설정하는, 본 실시 형태 1의 일 변형예로서 설명하였지만, 패킷 카운터의 초기값은, 반드시 난수일 필요는 없다. 패킷 카운터가 종래 기술과 마찬가지로, 1 또는 0으로 초기화되는 경우에도, 동일한 구성 및 방법을 적용할 수 있고, 마찬가지의 효과를 얻을 수 있다. 또한 여기서는, ECU(2)를 구성하는 HOST(4)와 HSM(3) 사이의 통신을 예로 들어 설명하였지만, 임의의 통신 장치간의 통신에도 마찬가지로 적용할 수 있다. 예를 들어, CAN으로 접속되는 ECU간의 통신에 적용할 수도 있다.
〔실시 형태 2〕
<패킷 카운터의 인크리먼트 값도 난수>
실시 형태 1에 대해 도 4를 인용하여 설명한 예에서는, 패킷 카운터 HSM-HOST(6_1)와 HOST-HSM(6_2)의 인크리먼트 값을 1로 하는 단순한 증가이므로, 공격자가 다음 카운터값을 유추하기 쉬워질 가능성이 있다. 그로 인해, 인크리먼트하는 값을 랜덤(난수)으로 함으로써, 공격자가 다음 카운터값을 유추하는 것을 곤란하게 하는 것이 유효하다.
도 6은, 패킷 카운터의 인크리먼트 값을 난수로 하기 위한 플로우의 일례를 나타내는 흐름도이다.
패킷 카운터 HSM-HOST(6_1)와 HOST-HSM(6_2)의 초기값이 되는 난수 R1(초기 카운터)을, 예를 들어 SHA256 등의 불가역 압축 함수를 사용하여 압축한다. 그때 얻어진 고정값의 마지막 1자릿수를 추출하여, 인크리먼트하는 수치 S1로 한다. 이 S1을 난수 R1에 가산하여 얻어지는 R2(=R1+S1)를 다음 카운터값으로 한다. 또한 다음 카운터값의 생성은, 이 R2로부터 예를 들어 SHA256 등의 불가역 압축 함수를 사용하여 생성한 S2를 사용하여 인크리먼트한다. 이러한 방식을 사용함으로써, 카운터의 증가수의 유추가 곤란해진다.
도 7은, 실시 형태 2에 있어서의 통신 플로우의 일례를 나타내는 흐름도이다. 도 4와 마찬가지로, HOST(4)와 HSM(3)에 의해 각각 실행되는 처리 스텝과, 송수신되는 데이터의 내용이, 위로부터 아래를 향하는 시계열을 따라 나타내어진다.
우선, HOST(4)와 HSM(3)이 각각 기동된다(시스템 ON). HSM(3)은, 난수 R1을 난수 발생 회로(RNG)(14_1)에서 생성하고, 암호 IP(Crypt IP)(13_1)에 의해 공통 키 CK를 사용하여 암호화한다. HSM(3)은, 생성된 난수 R1을 패킷 카운터 HSM-HOST(6_1)에 초기값으로서 세트한다. HSM(3)은, 암호화된 난수 CK(R1)를 네트워크(5_1)을 통해 HOST(4)로 송부한다. HOST(4)에서는, 수신한, 암호화된 난수 CK(R1)를 공통 키 CK를 사용하여 복호한다. 그 단계에서, HOST(4)는 패킷 카운터 HOST-HSM(6_2)의 초기값으로 하고, 1패킷분의 인크리먼트를 행한다. 즉, HOST(4)는, 패킷 카운터 HOST-HSM(6_2)의 값을 R2=R1+S1로 갱신한다. HOST(4)는, HSM(3)에 대해 리퀘스트 메시지(Request msg)를 생성함과 함께, 그 메시지와 패킷 카운터 HOST-HSM(6_2)의 카운터값인 R2로부터 MAC값을 생성하여, 메시지에 부가한다. HOST(4)는, 리퀘스트 메시지(Request)와 MAC값을 포함하는 패킷을 생성하여, HSM(3)에 송부한다. 패킷을 수신한 HSM(3)에서는, 그것에 포함되는 MAC값으로부터 메시지의 정당성을 검증(MAC값 검증)한 후, 메시지의 처리를 실행하고, 그 결과(Result)를 HOST(4)에 송부한다. 이때, 패킷 카운터 HSM-HOST(6_1)의 값을 R3=R2+S2로 갱신한다. 이 처리간의 통신 메시지는, 공통 키 CK로 암호화된다.
도 4에 나타내어지는 플로우와의 차이는, 인크리먼트 값이 도 5를 인용하여 상술한 바와 같이, 난수로 되어 있는 점이다. 이것으로부터, 다음 패킷에 대응하는, 패킷 카운터 HOST-HSM(6_2)과 HSM-HOST(6_1)를 카운트값의 유추가 곤란해져, 통신의 은닉성이나 안전성을 더욱 향상시킬 수 있다.
본 실시 형태 2에서는, ECU(2)를 구성하는 HOST(4)와 HSM(3) 사이의 통신을 예로 들어 설명하였지만, 임의의 통신 장치간의 통신에도 마찬가지로 적용할 수 있다. 예를 들어, CAN으로 접속되는 ECU간의 통신에 적용할 수도 있다.
〔실시 형태 3〕
<HOST에도 암호 기능을 탑재>
이상의 실시 형태 1 및 2에 있어서의, 도 3에 예시되는 구성예에 기초한 설명에서는, HOST(4)와 HSM(3) 사이의 통신은, 미리 공유하고 있었던 공통 키 CK를 사용하여 암호화하는 방식을 나타냈다. 이에 대해, HOST(4)에 암호 기능이 탑재되어 있는 경우, 혹은 HOST(4)의 CPU(11_2)에서 암호의 계산 처리가 가능한 경우에는, 공개 키 암호 방식을 사용하여 양쪽을 인증한 후에, 공통 키 CK의 교환을 행하는 것이 가능하다.
도 8은, HOST(4)에도 암호 기능이 탑재되는, ECU(2)의 구성예를 나타내는 블록도이다. ECU(2)는, 도 3에 나타내어지는 ECU-A(2_A)에 대응한다. HOST(4)는, 도 3에 나타내어지는 ECU-A(2_A)에 탑재되는 HOST(4)와 마찬가지로, 서로 버스(17_2)에 접속되는, CPU(11_2)와, CAN(5_2)와의 인터페이스(I/F)(12_3)와, 네트워크(5_1)와의 인터페이스(I/F)(12_2)와, ROM(15_2)과, RAM(16_2)을 구비하고, 또한 암호 IP(Crypt IP)(13_2)를 구비하는 점에서 다르다. 암호 IP(13_2)는, 도 3에 나타내어지는 암호 IP(13_1)와 마찬가지로, 내 탬퍼성을 구비하는 암호 통신에 관한 데이터 처리를 실행하는 회로 모듈이다. 네트워크(5_1) 및 HSM(3)은, 도 3에 나타내어지는 ECU-A(2_A)에 탑재되는, 네트워크(5_1) 및 HSM(3)과 마찬가지이다. HOST(4)에 암호 IP(13_2)가 추가되어 있는 점 이외에는, 실시 형태 1에서의 설명을 그대로 적용할 수 있으므로, 중복된 설명은 생략한다.
ECU(2)의 동작에 대해 설명한다.
도 9는, 본 실시 형태 3에 있어서의 통신 플로우의 일례를 나타내는 흐름도이다. HOST(4)와 HSM(3)에 의해 각각 실행되는 처리 스텝과, 송수신되는 데이터의 내용이, 도 4, 도 7과 마찬가지로, 위로부터 아래를 향하는 시계열을 따라 나타내어진다.
우선, HOST(4)와 HSM(3)이 각각 기동된다(시스템 ON). HOST(4)는, 암호 IP(13_2)에 의해 공개 키 Pp와 비밀 키 Ps를 생성하고, 생성된 공개 키 Pp를 HSM(3)에 송부한다. HSM(3)은, 난수 발생 회로(RNG)(14_1)에 의해 난수 RC를 생성하고, 암호 IP(13_1)에 의해 수신한 공개 키 Pp를 사용하여 암호화한다. 공개 키 Pp를 사용하여 암호화된 난수 RC를, 「Pp(RC)」라고 표기한다. HSM(3)은, 암호화된 난수 Pp(RC)를, 챌린지 데이터로서 HOST(4)에 송부한다. HOST(4)는, 수신한 챌린지 데이터를, 암호 IP(13_2)에 의해 비밀 키 Ps를 사용하여 복호하고, 리스펀스 데이터를 생성하여, HSM(3)에 송부한다. HSM(3)에서는 기대값 비교를 행하여 수신한 리스펀스 데이터를 검증하고, HOST(4)가 진정한 통신 장치인 것을 확인한다.
그 후, HSM(3)은, 난수 R1을 난수 발생 회로(RNG)(14_1)에서 생성하고, 암호 IP(13_1)에 의해 공통 키 CK를 사용하여 암호화한다. 이후의 플로우는, 도 7을 인용하여 설명한 실시 형태 2의 플로우와 마찬가지이므로, 설명을 생략한다. 이후의 플로우를, 도 4를 인용하여 설명한 실시 형태 1의 플로우와 마찬가지로 할 수도 있다.
이에 의해, 패킷 카운터의 초기값으로 되는 난수값을 부정하게 취득하려고 하는 공격에 대한 내성이 향상되어, HSM(3)과 HOST(4) 사이의 통신 경로(네트워크)의 은닉성이나 안전성을 향상시킬 수 있다.
본 실시 형태 3에서는, ECU(2)를 구성하는 HOST(4)와 HSM(3) 사이의 통신을 예로 들어 설명하였지만, 임의의 통신 장치간의 통신에도 마찬가지로 적용할 수 있다. 예를 들어, CAN으로 접속되는 ECU간의 통신에 적용할 수도 있다.
상술한 챌린지에서 이용된 난수 RC를 HOST(4)와 HSM(3) 사이의 공통 키 CK로서 사용함으로써, 키 교환 시퀀스를 생략할 수 있지만, 별도로 공통 키 CK를 교환하는 시퀀스를 추가해도 된다.
이상, 본 발명자에 의해 이루어진 발명을 실시 형태에 기초하여 구체적으로 설명하였지만, 본 발명은 그것에 한정되는 것은 아니며, 그 요지를 일탈하지 않는 범위에 있어서 다양하게 변경 가능한 것은 물론이다.
1 : 통신 장치
2 : 전자 제어 유닛(ECU : Electronic Control Unit)
3 : 하드웨어 시큐리티 모듈(HSM: Hardware Security Module)
4 : 호스트(HOST)
5 : 네트워크
6 : 패킷 카운터
10 : 통신 시스템
11 : CPU(Central Processing Unit)
12 : 인터페이스(I/F)
13 : 암호 IP(Crypt IP)
14 : 난수 발생 회로(RNG: Random Number Generator)
15 : ROM(Read Only Memory)
16 : RAM(Random Access Memory)
17 : 버스
20 : 패킷 생성부
21 : MAC 생성부
22 : 분할 MAC 생성부
30 : 패킷 분할부
31 : MAC 생성부
32 : 분할 MAC 생성부
33 : 비교·인증부

Claims (20)

  1. 네트워크로 상호 접속되고, 상기 네트워크를 통해 패킷을 송수 가능한 제1 장치와 제2 장치를 포함하고,
    상기 제1 및 제2 장치는, 각각 제1 및 제2 패킷 카운터를 구비하고,
    상기 제1 및 제2 패킷 카운터는, 초기값으로서 동일한 난수값이 부여되고, 패킷의 송수신에 수반하여 각각 갱신되고,
    상기 제1 장치는, 상기 제2 장치에 메시지를 전송할 때, 상기 메시지에 기초하여 메시지 인증 부호를 생성하고, 그 일부를 상기 제1 패킷 카운터의 카운트값에 기초하여 뽑아내어 분할 메시지 인증 부호로 하고, 상기 메시지와 상기 분할 메시지 인증 부호를 포함하는 패킷을 생성하여, 상기 네트워크를 통해 상기 제2 장치에 송신하고,
    상기 제2 장치는, 상기 패킷을 수신하였을 때, 수신한 패킷에 포함되는 메시지에 기초하여 메시지 인증 부호를 생성하고, 그 일부를 상기 제2 패킷 카운터의 카운트값에 기초하여 뽑아내어, 수신한 패킷에 포함되는 상기 분할 메시지 인증 부호와 비교함으로써 메시지 인증을 행하는,
    통신 시스템.
  2. 제1항에 있어서,
    상기 제1 또는 제2 장치 중 어느 한쪽은, 상기 난수값을 생성하여, 자신의 패킷 카운터의 초기값으로서 설정함과 함께 암호화하여 다른 쪽에 전송하고, 다른 쪽은 암호를 복호하여 상기 난수값을 복원하여 자신의 패킷 카운터의 초기값으로서 설정하는,
    통신 시스템.
  3. 제2항에 있어서,
    상기 암호화는, 공통 키 암호 방식에 준하는 암호화인,
    통신 시스템.
  4. 제3항에 있어서,
    상기 제1 및 제2 장치는, 상기 난수값을 각각의 패킷 카운터의 상기 암호화를 위해 송수신하기 전에, 공개 키 암호 방식에 준한 챌린지/리스펀스 인증을 실행하는,
    통신 시스템.
  5. 제1항에 있어서,
    상기 제1 및 제2 장치는, 패킷의 송수신마다, 각각, 자신의 패킷 카운터의 카운터값으로부터 동일한 계산 방법으로 생성되는 값을 증분값으로 하여, 자신의 패킷 카운터를 갱신하는,
    통신 시스템.
  6. 제5항에 있어서,
    상기 제1 및 제2 장치는, 각각, 자신의 패킷 카운터의 카운터값에, 동일한 불가역 압축 함수를 작용시켜 얻어지는 값에 기초하여, 상기 증분값을 산출하는,
    통신 시스템.
  7. 제1항에 있어서,
    상기 패킷을 수신하였을 때,
    상기 제2 장치에 의해, 수신 패킷에 포함되는 메시지에 기초하여 생성한 메시지 인증 부호로부터, 상기 제2 패킷 카운터의 카운트값에 기초하여 뽑아내어진 상기 일부를, 중앙 비트 열로 하고,
    상기 제2 장치는, 당해 수신 패킷보다 i개(i는 임의의 정수)만큼 이전에 수신한 수신 패킷으로부터 j개(j는 임의의 정수)만큼 이후에 수신하는 수신 패킷까지, 각각 대응하는 복수의 카운트값에 기초하여 생성되는 복수의 MAC값에 있어서의 당해 카운트값에 기초하는 위치로부터, 당해 메시지 인증 부호의 복수의 비트 열을 또한 뽑아내고,
    상기 제2 장치는, 상기 중앙 비트 열 및 상기 복수의 비트 열의 각각을, 당해 수신 패킷에 포함되는 분할 메시지 인증 부호와 비교하여, 적어도 1개의 비트 열이 일치하였을 때, 당해 수신 패킷을 정당한 패킷으로서 인증하는,
    통신 시스템.
  8. 제7항에 있어서,
    상기 i 및 상기 j를 모두 1로 하는,
    통신 시스템.
  9. 제1항에 있어서,
    상기 제1 및 제2 장치 중 적어도 한쪽은, 하드웨어 시큐리티 모듈을 구비하는,
    통신 시스템.
  10. 제1항에 있어서,
    상기 제1 및 제2 장치는 각각 전자 제어 유닛이고, 상기 네트워크는 차량 탑재 네트워크인,
    통신 시스템.
  11. 네트워크로 상호 접속되고, 상기 네트워크를 통해 패킷을 송수 가능한 제1 장치와 제2 장치를 포함하고,
    상기 제1 및 제2 장치는, 패킷의 송수신에 수반하여 각각 갱신되는 제1 및 제2 패킷 카운터를 각각 구비하고,
    상기 제1 장치는, 상기 제2 장치에 메시지를 전송할 때, 상기 메시지에 기초하여 메시지 인증 부호를 생성하고, 그 일부를 상기 제1 패킷 카운터의 카운트값에 기초하여 뽑아내어 분할 메시지 인증 부호로 하고, 상기 메시지와 상기 분할 메시지 인증 부호를 포함하는 패킷을 생성하여, 상기 네트워크를 통해 상기 제2 장치에 송신하고,
    상기 제2 장치는, 상기 패킷을 수신하였을 때, 수신한 패킷에 포함되는 메시지에 기초하여 메시지 인증 부호를 생성하고, 그 일부를 상기 제2 패킷 카운터의 카운트값에 기초하여 뽑아내어, 이것을 중앙 비트 열로 하고,
    상기 제2 장치는, 당해 수신 패킷보다 i개(i는 임의의 정수)만큼 이전에 수신한 수신 패킷으로부터 j개(j는 임의의 정수)만큼 이후에 수신하는 수신 패킷까지, 각각 대응하는 복수의 카운트값에 기초하여 생성되는 복수의 MAC값에 있어서의 당해 카운트값에 기초하는 위치로부터, 당해 메시지 인증 부호의 복수의 비트 열을 또한 뽑아내고,
    상기 제2 장치는, 상기 중앙 비트 열 및 상기 복수의 비트 열의 각각을, 당해 수신 패킷에 포함되는 분할 메시지 인증 부호와 비교하여, 적어도 1개의 비트 열이 일치하였을 때, 당해 수신 패킷을 정당한 패킷으로서 인증하는,
    통신 시스템.
  12. 제11항에 있어서,
    상기 i 및 상기 j를 모두 1로 하는,
    통신 시스템.
  13. 제1 패킷 카운터를 구비하는 다른 통신 장치와 네트워크로 접속되고, 상기 네트워크를 통해 패킷을 송수 가능하고, 상기 다른 통신 장치로부터 수신한 패킷의 메시지 인증을 행하는 통신 장치로서,
    상기 제1 패킷 카운터와 대응하고, 상기 다른 통신 장치와의 사이에서 패킷이 송수신되는 것에 수반하여 갱신되는 제2 패킷 카운터와, 하드웨어 시큐리티 모듈을 구비하고,
    상기 하드웨어 시큐리티 모듈에 의해 생성한 난수를, 상기 제2 패킷 카운터의 초기값으로서 설정함과 함께, 상기 난수를 상기 제1 패킷 카운터의 초기값으로 하게 하기 위해 상기 다른 통신 장치에 대해 암호화하여 전송하고,
    상기 다른 통신 장치로부터 수신하는 패킷은, 상기 다른 통신 장치가, 전송하는 메시지에 기초하여 메시지 인증 부호를 생성하고, 그 일부를 상기 제1 패킷 카운터의 카운트값에 기초하여 뽑아내어 분할 메시지 인증 부호로 하고, 상기 메시지와 상기 분할 메시지 인증 부호를 포함하여 생성한 것이고,
    당해 통신 장치는, 상기 다른 통신 장치로부터 패킷을 수신하였을 때, 수신한 패킷에 포함되는 메시지에 기초하여 메시지 인증 부호를 생성하고, 그 일부를 상기 제2 패킷 카운터의 카운트값에 기초하여 뽑아내어, 수신한 패킷에 포함되는 상기 분할 메시지 인증 부호와 비교함으로써 메시지 인증을 행하는,
    통신 장치.
  14. 제13항에 있어서,
    상기 암호화는, 공통 키 암호 방식에 준하는 암호화인,
    통신 장치.
  15. 제14항에 있어서,
    상기 통신 장치는, 상기 난수를 상기 다른 통신 장치에 송신하기 전에, 상기 다른 통신 장치와의 사이에서, 공개 키 암호 방식에 준한 챌린지/리스펀스 인증을 실행하는,
    통신 장치.
  16. 제13항에 있어서,
    당해 통신 장치 및 상기 다른 통신 장치는, 패킷의 송수신마다, 각각, 자신의 패킷 카운터의 카운터값으로부터 동일한 계산 방법으로 생성되는 값을 증분값으로 하여, 자신의 패킷 카운터를 갱신하는,
    통신 장치.
  17. 제16항에 있어서,
    당해 통신 장치 및 상기 다른 통신 장치는, 각각, 자신의 패킷 카운터의 카운터값에, 동일한 불가역 압축 함수를 작용시켜 얻어지는 값에 기초하여, 상기 증분값을 산출하는,
    통신 장치.
  18. 제13항에 있어서,
    상기 패킷을 수신하였을 때,
    수신 패킷에 포함되는 메시지에 기초하여 생성한 메시지 인증 부호로부터, 상기 제2 패킷 카운터의 카운트값에 기초하여 뽑아내어진 상기 일부를, 중앙 비트 열로 하고,
    당해 통신 장치는, 당해 수신 패킷보다 i개(i는 임의의 정수)만큼 이전에 수신한 수신 패킷으로부터 j개(j는 임의의 정수)만큼 이후에 수신하는 수신 패킷까지, 각각 대응하는 복수의 카운트값에 기초하여 생성되는 복수의 MAC값에 있어서의 당해 카운트값에 기초하는 위치로부터, 당해 메시지 인증 부호의 복수의 비트 열을 또한 뽑아내고,
    당해 통신 장치는, 상기 중앙 비트 열 및 상기 복수의 비트 열의 각각을, 당해 수신 패킷에 포함되는 분할 메시지 인증 부호와 비교하여, 적어도 1개의 비트 열이 일치하였을 때, 당해 수신 패킷을 정당한 패킷으로서 인증하는,
    통신 장치.
  19. 제18항에 있어서,
    상기 i 및 상기 j를 모두 1로 하는,
    통신 장치.
  20. 제13항에 있어서,
    당해 통신 장치와 상기 통신 장치는, 차량 탑재 네트워크에 접속되는 전자 제어 유닛을 구성하는 통신 장치이고, 당해 통신 장치와 상기 통신 장치를 서로 접속하는 상기 네트워크는, 상기 차량 탑재 네트워크와 동일하거나 또는 다른 네트워크인,
    통신 장치.
KR1020160021719A 2015-02-26 2016-02-24 통신 시스템 및 통신 장치 KR20160104565A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2015036298A JP6420176B2 (ja) 2015-02-26 2015-02-26 通信システムおよび通信装置
JPJP-P-2015-036298 2015-02-26

Publications (1)

Publication Number Publication Date
KR20160104565A true KR20160104565A (ko) 2016-09-05

Family

ID=55357943

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160021719A KR20160104565A (ko) 2015-02-26 2016-02-24 통신 시스템 및 통신 장치

Country Status (5)

Country Link
US (1) US10142311B2 (ko)
EP (1) EP3062476B1 (ko)
JP (1) JP6420176B2 (ko)
KR (1) KR20160104565A (ko)
CN (1) CN105933277B (ko)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3050270B1 (en) * 2013-09-27 2019-04-03 Telefonaktiebolaget LM Ericsson (publ) Lawful interception in a wi-fi / packet core network access
DE102014208855A1 (de) * 2014-05-12 2015-11-12 Robert Bosch Gmbh Verfahren zum Durchführen einer Kommunikation zwischen Steuergeräten
JP6454614B2 (ja) * 2015-07-10 2019-01-16 日立オートモティブシステムズ株式会社 車載システム、その制御装置および制御方法
JP6332194B2 (ja) * 2015-08-07 2018-05-30 株式会社デンソー 通信装置、通信方法、及び通信プログラム
JP6260064B2 (ja) * 2016-03-14 2018-01-17 Kddi株式会社 通信ネットワークシステム及び車両
DE102016206630A1 (de) * 2016-04-20 2017-11-09 Robert Bosch Gmbh Verfahren und Vorrichtung zur Vermeidung von Manipulation einer Datenübertragung
JP6260067B1 (ja) * 2016-08-09 2018-01-17 Kddi株式会社 管理システム、鍵生成装置、車載コンピュータ、管理方法、及びコンピュータプログラム
US10270745B2 (en) * 2016-10-24 2019-04-23 Fisher-Rosemount Systems, Inc. Securely transporting data across a data diode for secured process control communications
US10530748B2 (en) 2016-10-24 2020-01-07 Fisher-Rosemount Systems, Inc. Publishing data across a data diode for secured process control communications
JP6409849B2 (ja) * 2016-10-31 2018-10-24 トヨタ自動車株式会社 通信システム及び通信方法
JP6683106B2 (ja) * 2016-11-10 2020-04-15 トヨタ自動車株式会社 通信システム
JP6915717B2 (ja) * 2016-11-10 2021-08-04 トヨタ自動車株式会社 通信システム
JP6683105B2 (ja) * 2016-11-10 2020-04-15 トヨタ自動車株式会社 通信システム
US10705820B2 (en) * 2017-02-02 2020-07-07 Ford Global Technologies, Llc Method and apparatus for secure multi-cycle vehicle software updates
JP6760185B2 (ja) * 2017-03-31 2020-09-23 住友電気工業株式会社 中継装置、検知方法および検知プログラム
GB2561256A (en) * 2017-04-05 2018-10-10 Stmicroelectronics Grenoble2 Sas Apparatus for use in a can system
IT201700050153A1 (it) * 2017-05-09 2018-11-09 St Microelectronics Srl Modulo hardware di sicurezza, relativo sistema di elaborazione, circuito integrato e dispositivo
US10789364B2 (en) * 2018-05-02 2020-09-29 Nxp B.V. Method for providing an authenticated update in a distributed network
DE102019117229A1 (de) * 2019-06-26 2020-12-31 Infineon Technologies Ag Kommunikationsvorrichtung und -verfahren zum authentifizieren einer nachricht
JP7156257B2 (ja) * 2019-11-21 2022-10-19 トヨタ自動車株式会社 車両通信装置、通信異常の判定方法及びプログラム
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
JP2020123960A (ja) * 2020-03-26 2020-08-13 トヨタ自動車株式会社 通信システム
CN116114222A (zh) 2020-09-29 2023-05-12 日产自动车株式会社 通信系统、中继装置、接收装置以及通信控制方法
US11792007B2 (en) 2021-03-17 2023-10-17 Ford Global Technologies, Llc System and method for a vehicle network

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013098719A (ja) 2011-10-31 2013-05-20 Toyota Infotechnology Center Co Ltd 通信システムにおけるメッセージ認証方法および通信システム

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5943328A (en) * 1996-08-13 1999-08-24 Lucent Technologies Inc. Frame counter for synchronized communication
US6918035B1 (en) * 1998-07-31 2005-07-12 Lucent Technologies Inc. Method for two-party authentication and key agreement
US7725719B2 (en) * 2005-11-08 2010-05-25 International Business Machines Corporation Method and system for generating ciphertext and message authentication codes utilizing shared hardware
US7681050B2 (en) * 2005-12-01 2010-03-16 Telefonaktiebolaget L M Ericsson (Publ) Secure and replay protected memory storage
US8195949B2 (en) * 2008-02-29 2012-06-05 Red Hat, Inc. Mechanism for generating message sequence order numbers
CN101626373B (zh) * 2008-07-11 2012-06-06 华为技术有限公司 超宽带系统的报文处理方法、装置和系统
CN101771973B (zh) * 2008-12-29 2012-08-29 中国移动通信集团公司 数据短信的处理方法、设备及系统
CA2697687C (en) * 2010-03-24 2014-02-18 Diversinet Corp. Method and system for secure communication using hash-based message authentication codes
US9106936B2 (en) * 2012-01-25 2015-08-11 Altera Corporation Raw format image data processing
CN102917313B (zh) * 2012-10-17 2015-05-27 重庆邮电大学 一种适用于无线传感器网络广播认证的方法
JP6199335B2 (ja) * 2014-06-05 2017-09-20 Kddi株式会社 通信ネットワークシステム及びメッセージ検査方法
US9032501B1 (en) * 2014-08-18 2015-05-12 Bionym Inc. Cryptographic protocol for portable devices

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013098719A (ja) 2011-10-31 2013-05-20 Toyota Infotechnology Center Co Ltd 通信システムにおけるメッセージ認証方法および通信システム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
다케모리 다카히로, 미조구치 세이이치로, 가와바타 히데아키, 구보타 아유무, 「시큐어 부트+인증에 의한 차량 탑재 제어 시스템의 보호」, 정보 처리 학회 연구 보고 고도 교통 시스템과 스마트 커뮤니티(ITS), 2014-ITS-58, 정보 처리 학회, 2014년 9월 12일

Also Published As

Publication number Publication date
US10142311B2 (en) 2018-11-27
US20160255065A1 (en) 2016-09-01
JP6420176B2 (ja) 2018-11-07
EP3062476B1 (en) 2019-04-10
CN105933277B (zh) 2020-08-25
CN105933277A (zh) 2016-09-07
EP3062476A1 (en) 2016-08-31
JP2016158204A (ja) 2016-09-01

Similar Documents

Publication Publication Date Title
KR20160104565A (ko) 통신 시스템 및 통신 장치
JP6915095B2 (ja) コントローラエリアネットワークバスベースのセキュリティ通信方法、装置、およびシステム
US11606341B2 (en) Apparatus for use in a can system
CN109600350B (zh) 用于车辆网络中的控制器间的安全通信的系统和方法
Kurachi et al. CaCAN-centralized authentication system in CAN (controller area network)
Mundhenk et al. Lightweight authentication for secure automotive networks
CN111147225A (zh) 基于双密值和混沌加密的可信测控网络认证方法
EP2423843A1 (en) Secure field-programmable gate array (FPGA) architecture
JP2014204444A (ja) センサへの操作及び/又はセンサのセンサデータへの操作を検出するための方法及び装置
Wang et al. NOTSA: Novel OBU with three-level security architecture for internet of vehicles
EP3318043A1 (en) Mutual authentication of confidential communication
WO2016065321A1 (en) Secure communication channel with token renewal mechanism
CN110891061B (zh) 数据的加解密方法、装置、存储介质及加密文件
CN106850207B (zh) 无ca的身份认证方法和系统
CN111614621B (zh) 物联网通信方法和系统
KR20140023799A (ko) Can에서 데이터의 기밀성과 무결성을 보장하는 방법
US11308240B2 (en) Cryptographic circuit and data processing
JP2016152623A (ja) 操作から保護する方法
CN109309566B (zh) 一种认证方法、装置、系统、设备及存储介质
AU2020225314A1 (en) Cryptographic data verification method
CN112448941A (zh) 认证系统和用于认证微控制器的方法
Daily et al. Securing CAN traffic on J1939 networks
Hu et al. Gatekeeper: A gateway-based broadcast authentication protocol for the in-vehicle Ethernet
KR101492514B1 (ko) 보안 콘텐츠 보호 시스템을 사용하는 방법, 장치 및 시스템
CN116633530A (zh) 量子密钥传输方法、装置及系统