KR20220007740A - 컴퓨터 컴포넌트 및 연관된 전자 디바이스 설치 방법 - Google Patents

컴퓨터 컴포넌트 및 연관된 전자 디바이스 설치 방법 Download PDF

Info

Publication number
KR20220007740A
KR20220007740A KR1020217041238A KR20217041238A KR20220007740A KR 20220007740 A KR20220007740 A KR 20220007740A KR 1020217041238 A KR1020217041238 A KR 1020217041238A KR 20217041238 A KR20217041238 A KR 20217041238A KR 20220007740 A KR20220007740 A KR 20220007740A
Authority
KR
South Korea
Prior art keywords
data processing
vehicle
manifest
processing component
ecupackind
Prior art date
Application number
KR1020217041238A
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 KR20220007740A publication Critical patent/KR20220007740A/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
    • 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
    • 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)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)
  • Storage Device Security (AREA)

Abstract

차량에 장착된 전자 디바이스에 컴퓨팅 컴포넌트(COMP1)를 설치하는 방법으로서, 상기 방법은: - 컴퓨팅 컴포넌트의 해시 값(H(COMP1))을 포함하는 매니페스트(ECUPACKIND)를 포함하는 디바이스 패킷(ECUPACK)을 수신하는 단계; - 상기 상기 매니페스트(ECUPACKIND)의 무결성을 체크하는 단계; - 상기 컴퓨팅 컴포넌트(COMP1)를 수신하는 단계; - 상기 컴퓨팅 컴포넌트의 해시 값(H(COMP1))과 수신된 상기 컴퓨팅 컴포넌트(COMPi) 간의 상관 관계를 체크하는 단계; - 매니페스트의 무결성(ECUPACKIND) 및 상기 상관 관계에 대한 긍정적인 체크의 경우에만 상기 컴퓨팅 컴포넌트(COMP1)를 설치하는 단계로 구성된 단계들을 포함한다. 연관된 전자 디바이스 또한 설명된다.

Description

컴퓨터 컴포넌트 및 연관된 전자 디바이스 설치 방법
본 발명은 일반적으로 차량, 특히 자동차 내 데이터 처리 컴포넌트의 설치에 관한 것이다.
이는 차량 내에서 그러한 데이터 처리 컴포넌트를 다운로드하는 환경에서 특히 유리한 방식으로 사용되지만 데이터 처리 컴포넌트가 예를 들어 메모리 카드로부터 차량에 로컬로 적재되는 경우에도 사용된다.
본 발명은 보다 구체적으로 데이터 처리 컴포넌트 및 연관된 전자 장비 아이템을 설치하는 방법에 관한 것이다.
어떤 상황에서는, 차량에 제공되는 전자 장비 아이템에 데이터 처리 컴포넌트를 설치하는 것이 바람직하다. 이것은 전자 장비 아이템 내에서 구현되는 소프트웨어 또는 전자 장비 아이템에 의해 조작되는 데이터를 업데이트하는 것이 바람직한 경우에 특히 그렇다.
그런 데이터 처리 컴포넌트 설치는 자연스럽게 차량의 후속 작동과 관련된 결과를 가져오며 통제된 방식으로 수행되어야 한다.
본 발명은 컴퓨터 컴포넌트 및 연관된 전자 디바이스 설치 방법을 제공하려고 한다.
이러한 맥락에서, 본 발명은 차량에 제공되는 전자 장비 아이템에 데이터 처리 컴포넌트를 설치하는 방법을 제안하며, 상기 방법은:
- 상기 데이터 처리 컴포넌트의 해시 값을 포함하는 제1 매니페스트 (manifest)를 포함하는 디바이스 패킷을 수신하는 단계;
- 제1 매니페스트의 무결성을 확인하는 단계;
- 상기 데이터 처리 컴포넌트를 수신하는 단계;
- 상기 데이터 처리 컴포넌트의 해시 값과 수신된 상기 데이터 처리 컴포넌트 간의 대응을 확인하는 단계;
- 상기 제1 매니페스트의 무결성에 대한 긍정적인 검증 및 상기 대응의 긍정적인 검증의 경우에만 상기 데이터 처리 컴포넌트를 설치하는 단계(E40)를 수반하는 단계들을 포함한다.
이러한 방식으로, 본 발명의 결과로서, 상기 차량은, 데이터 처리 컴포넌트와 연관되고 상기 데이터 처리 컴포넌트의 무결성 검증에 (특히 해시 값을 사용하여) 관여하는 데이터 구조를 수신한다. 제안된 상기 솔루션은 또한 디바이스 패킷과 데이터 처리 컴포넌트 자체를 분리하여 전송할 수 있게 하여, 차량 및 전자 장비 아이템을 설계하는 동안에 더 큰 유연성을 제공한다.
위에서 언급된 제1 매니페스트 (manifest)가 제1 차량 식별자를 포함하며 그리고 설치 방법이 다음을 수반하는 단계들을 포함하도록 제공하는 것이 추가로 가능하다:
- 상기 제1 차량 식별자를 차량 내에 저장된 제2 차량 식별자와 비교하는 단계;
- 상기 제1 식별자 및 제2 식별자에 대한 비교가 긍정적인 경우에만 데이터 처리 컴포넌트를 설치하는 단계.
개별적으로 또는 모든 기술적으로 가능한 조합들에 따라 취해진 본 발명에 따른 방법의 다른 유리하고 비제한적인 특징은 다음과 같다:
- 상기 디바이스 패킷은 제1 서명을 포함한다;
- 제1 서명에 그리고 제1 매니페스트에 암호화 서명 확인 알고리즘을 적용함으로써 상기 매니페스트의 무결성이 확인된다;
- 상기 데이터 처리 컴포넌트는 디바이스 패킷과 독립적으로 수신된다;
- 상기 데이터 처리 컴포넌트가 상기 디바이스 패킷 내에서 수신된다;
- 상기 데이터 처리 컴포넌트는 제2 서명 및 콘텐츠를 포함한다;
- 상기 방법은 상기 제2 서명을 사용하여 콘텐츠의 무결성을 확인하는 단계를 포함한다.
아기 방법은 다음을 수반하는 단계들을 추가로 포함할 수 있다:
- 상기 디바이스 패킷 및 제2 매니페스트를 포함하는 컨테이너를 수신하는 단계;
- 제2 매니페스트의 무결성을 확인하는 단계.
그래서 이 제2 매니페스트는 제1 차량 식별자를 포함할 수 있으며 그리고 이 경우에 상기 설치 방법은 다음을 수반하는 단계들을 포함할 수 있다:
- 상기 제1 차량 식별자를 차량 내에 저장된 제2 차량 식별자와 비교하는 단계;
- 상기 제1 식별자와 상기 제2 식별자에 대한 비교가 긍정적인 경우에만 상기 디바이스 패킷을 전송하는 단계.
그래서 상기 컨테이너는 예를 들어 다른 전자 장비 아이템을 위해 의도된 다른 디바이스 패킷을 포함할 수 있다.
이 컨테이너는 차량에 의해 전송된 요청에 대한 응답으로 (예를 들어, 원격 서버와 차량 사이에 확립된 통신을 통해 직접적으로) 원격 서버로부터 추가로 수신될 수 있다 (이 통신은 상기 차량과 셀룰러 전화 네트워크 사이의 무선 링크를 부분적으로 사용할 수 있음). 변형에서, 상기 컨테이너는 차량이 제공되는 판독기에 삽입된 메모리 카드로부터 수신될 수 있다.
마지막으로 본 발명은 차량에 제공될 전자 장비 아이템에 관한 것으로, 상기 전자 장비 아이템은:
- 데이터 처리 컴포넌트의 해시 값을 포함하는 매니페스트를 포함하는 디바이스 패킷을 수신하기 위한 모듈;
- 상기 매니페스트의 무결성을 확인하기 위한 모듈;
- 상기 데이터 처리 컴포넌트를 수신하기 위한 모듈;
- 상기 데이터 처리 컴포넌트의 해시 값과 수신된 상기 데이터 처리 컴포넌트 간의 대응을 확인하기 위한 모듈;
- 상기 매니페스트의 무결성에 대한 긍정적인 검증 그리고 상기 대응에 대한 긍정적인 검증의 경우에만 상기 데이터 처리 컴포넌트를 설치하도록 구성된 설치 모듈을 포함할 수 있다.
상기 매니페스트가 제1 차량 식별자를 포함하도록 추가로 제공하는 것이 가능하며, 그래서 상기 전자 장비 아이템은 상기 제1 차량 식별자와 차량 내에 저장된 상기 차량의 제2 식별자를 비교하기 위한 모듈을 포함할 수 있다.
상기 설치 모듈은 매니페스트의 무결성에 대한 긍정적인 확인, 제1 식별자와 제2 식별자에 대한 긍정적인 비교 그리고 상기 대응에 대한 긍정적인 확인의 경우에만 상기 데이터 프로세싱 컴포넌트를 설치하도록 구성될 수 있다.
매니페스트에 대한 검증이 가져오는 무결성 및 진정성의 보호를 넘어, 타겟으로 하는 차량 식별자의 사용은 합법성 보호가 추가되는 것을 가능하게 한다. 이는 업데이트의 온-보드 프로세스가 수신된 이미지가 손상되지 않고, 진정하며 그리고 특정 하드웨어와 호환되는지 확실히 확인할 수 있기 때문이지만, 이것은 상기 차량이 그 이미지를 정당하게 수신했다는 것을 반드시 의미하지는 않는다. 말단-대-말단 전송 체인에서 사이버 공격 또는 악의적인 프로세스가 발생하는 경우, 소스 이미지 대신 호환 차량의 이미지가 삽입될 수 있을 것이다. 그러므로 매니페스트 내 차량 식별자는 이 시나리오에서 모든 속임수 발생을 방지하는 것을 가능하게 할 것이다.
그런 전자 장비 아이템은 예를 들어 프로세서 그리고 그 프로세서에 의해 실행될 수 있는 컴퓨터 프로그램 명령어들을 저장하는 메모리를 포함하는 전자 제어 유닛(또는 컴퓨터)이다.
위에서 언급된 모듈들은 예를 들어 이 사례에서 프로세서 그리고 이러한 명령어들이 프로세서에 의해 수행될 때 (아래에서 설명되는 것처럼) 해당 모듈에 귀속되는 기능을 구현하도록 구성된 특정 명령어들의 협력에 의해 구현된다.
물론, 본 발명의 다양한 특징, 변형 및 실시예는 그것들이 호환되지 않거나 상호 배타적이지 않은 한 다양한 조합에 따라 서로 연관될 수 있다.
비제한적인 예로서 제공된 첨부 도면을 참조하여 아래에 주어진 설명은 본 발명이 포함하는 것과 그것이 어떻게 구현될 수 있는지에 대한 좋은 이해를 제공할 것이다.
첨부된 도면들에서:
도 1은 본 발명이 구현될 수 있는 시스템을 개략적으로 도시한다.
도 2는 본 발명의 환경에서 사용될 수 있는 데이터 조직의 예를 도시한다.
도 3은 본 발명의 환경에서 사용될 수 있는 데이터 구조의 다른 예를 도시한다. 그리고
도 4는 본 발명에 따른 차량 내에 데이터 처리 컴포넌트를 설치하기 위한 방법의 예를 도시한다.
도 1의 시스템은 차량 (V)(예: 자동차), 이동 전화 네트워크 (N), 광역 네트워크 (I)(예: 인터넷) 및 원격 서버 S를 포함한다.
상기 차량(V)은 통신 유닛(2), 처리 유닛(4), 제1 전자 제어 유닛(6), 게이트웨이(8) 및 제2 전자 제어 유닛(10)을 포함한다.
도 1은 본 발명의 이해에 유리한 차량(V)의 요소들을 도시하지만, 상기 차량(V)은 실제로 다른 요소들, 특히 다른 전자 제어 유닛들이나 프로세서들을 당연히 포함한다.
위에서 언급한 전자 장비 아이템들 (통신 유닛(2), 처리 유닛(4), 제1 전자 제어 유닛(6), 게이트웨이(8) 및 제2 전자 제어 유닛(10))은 각각 실제로 마이크로프로세서 아키텍처의 형태로 생산될 수 있다; 특히 이러한 맥락에서, 이들 전자 장비 아이템들 각각은 프로세서 및 적어도 하나의 메모리(예를 들어, RAM 및/또는 비휘발성 메모리)를 포함한다.
상기 처리 유닛(4) 자체는 실제로 전자 제어 유닛을 사용하여 구현될 수 있으며, 적용 가능한 경우 아래에 설명된 것들과는 다른 기능을 갖는다.
도 1에 개략적으로 도시된 바와 같이, 처리 유닛(4)은 이러한 상이한 전자 장비 아이템들과 데이터를 교환할 수 있도록 통신 유닛(2), 제1 전자 제어 유닛(6) 및 게이트웨이(8)에 연결된다. 상기 통신 유닛(2), 처리 유닛(4), 전자 제어 유닛(6) 및 게이트웨이(8)는 예를 들어 이를 위해 (동일한) 온보드 데이터 처리 네트워크(미도시), 예를 들어 CAN 버스("Controller Area Network (제어기 영역 네트워크)")에 연결된다.
상기 게이트웨이(8)는 예를 들어 전용 버스에 의해 제2 전자 제어 유닛(10)에 또한 연결된다.
상기 차량(V)은 후술하는 바와 같이 본 발명의 구성 변형에 사용될 수 있는 메모리 카드(20)용 판독기(12)를 더 포함할 수 있다.
상기 통신 유닛(2)은 이동 전화 네트워크(N)에서 통신 (C) (이 연결이 물리적 유형, 예를 들어 3G/4G, Wi-Fi 등임을 나타내는 끊어지지 않은 선으로 도 1에 개략적으로 도시됨)을 구현하도록 구성되며, 그러므로 (이동 전화 네트워크의 일부인 셀룰러 전화 네트워크 및 상기 차량 (V) 사이의 라디오 링크를 특히 사용하여) 이동 전화 네트워크 (N) 및 광역 네트워크 (I)를 통해 원격 서버 (S)와의 연결을 설립할 수 있으며, 그래서 상기 처리 유닛(4) 및 원격 서버(S)가, 특히 아래에서 설명되는 것처럼 상기 차량 (V) 내 데이터-처리 컴포넌트들의 설치의 맥락에서 (이 연결이 논리적 유형임을 나타내는 점선으로 도 1에서 개략적으로 도시된 것처럼) 데이터(D)를 교환할 수 있도록 한다.
도 2는 본 발명의 맥락에서 사용될 수 있는 데이터 구성의 예를 보여준다.
이러한 데이터는 차량 V의 하나 이상의 전자 장비 아이템(들) 내에, 이 사례에서 특히, 각각이 "전자 장비 아이템"이라는 용어를 사용하여 언급되는 제1 전자 제어 유닛(6) 내에 그리고/또는 제2 전자 제어 유닛(10) 내에 설치하는 것이 소망되는 데이터 처리 컴포넌트들 COMP1, COMP2, COMPi를 특히 포함한다.
상기 데이터 처리 컴포넌트들 COMP1, COMP2, COMPi는 이 사례에서 다음과 같이 트리 및 분기 구조 내에서 캡슐화된다:
- 다운로드 패킷 DPACK은, 각각이 차량 V의 전자 장비 아이템(들)과 관련된 하나 이상의 디바이스 패킷(들) ECUPACK1, ECUPACK2, ECUPACKn을 포함하며;
- 각 디바이스 패킷 ECUPACK은 특정 전자 장비 아이템을 위한 것인 하나 이상의 데이터 처리 컴포넌트(들) COMP1, COMP2, COMPi와 관련된 데이터를 포함한다.
러시아 인형 유형의 이러한 캡슐화 방법은, 그 방법이 타겟 컴포넌트에 의해, 즉, 원격 업데이트 (또는 무선 펌웨어, FOTA (firmware over the air))에 의해 소프트웨어가 수정될 수 있는 전자 제어 유닛 2, 4, 6, 8 및 10 별로 콘텐트 분리를 가능하게 한다는 사실에 추가로, 동일한 전자 컴포넌트 내에서 업데이트의 일관성을 또한 가능하게 하기 때문에, 특히 유리하다. 또한, 이 캡슐화는 여러 단계들을 가진 무결성/진정성의 검증 레벨들이 획득되는 것을 가능하게 한다. 보다 구체적으로, 상기 통신 유닛(2)은 다운로드 패킷 DPACK에서 제1 레벨의 검증을 수행할 수 있을 것이며, 이 검증이 입증되자마자, 디바이스 패킷(들) ECUPACK이 추출되어 타겟 컴포넌트들 (2, 4, 6, 8, 10)에게 배포될 것이다. 그러므로, 타겟 컴포넌트들 (2, 4, 6, 8 및 10)은 상이한 암호화 하드웨어를 사용하여 레벨 2 검증을 수행할 수 있을 것이며, 이는 컴포넌트마다의 콘텐츠 격리가 생성되는 것을 가능하게 한다 (많은 공급자들이 있을 수 있다). 디바이스 패킷(들) ECUPACK이 인증된 이후, 상기 데이터 처리 컴포넌트들 COMP1, COMP2, COMPi가 추출되고, 제3 암호화 레벨에 의해 차례로 유효성이 검증되며, 그리고 긍정적인 확인의 경우에 마침내 설치된다. 그러므로 이 프로세스는 타겟 프로세서가 통신 유닛(2)인 경우에 특히 유리하며, 이는, 보안 또는 보호 구역 (또는 신뢰 구역) 및 비보안 구역 (또는 비신뢰 구역)으로 종종 구성되는 이 유닛에 대해, 상기 방법은 그래서 2가지 레벨들에서 검증이 수행되는 것을 원격 프로세서로서 가능하게 한다; 상기 다운로드 패킷 DPACK은 비신뢰 연결 영역에서 검증되고, 디바이스 패킷 ECUPACK은 추출되어 신뢰 영역과 공유되며, 그리고 그것의 검증은 신뢰 영역에서 수행될 것이다. 이러한 방식으로, 궁극적으로는, 타겟 ECU가 로컬이든 원격 (차량 네트워크의 다른 ECU)이든, 상기 방법은 여러 레벨들에서의 검증을 가능하게 한다. 컴포넌트 COMP가 디바이스 패킷 ECUPACK 내에 없는 도 2에 또한 예시된 대안에서, 그것은 2차 교환 프로세스에 의해 수신되며 그리고 상기 디바이스 패킷 ECUPACK 내 제1 인스턴스에 포함된 해시 값 H(COMP1), H(COMP2), H(COMPi)에 의해 검증될 것이다. 컴포넌트에서 콘텐트 업데이트를 캡슐화하는 것은, 배치를 제어하는 것을 보장하기 위해서 이미지들의 인증을 보장하기 위해 구축자 레벨 전자 서명이 제어되는 것을 가능하게 한다. 컴포넌트들의 이러한 서명 작업은 예를 들어 차량 제조업체의 구내에서 인증된 보안 요원(특정 권한을 가짐)에 의해 수동으로 수행될 것이다. 이 작업이 없으면, 손상되지 않은 콘텐츠는 차량에 배치될 수 없다. 이 서명 레벨은 예를 들어 수동(특히 ASSIM 서명)이며 그리고 배치 권한들이 제어되는 것을 가능하게 한다. 이러한 방식에서, 공급업체가 제공한 손상되지 않고 믿을 만한 바이너리 업데이트 콘텐츠는, 차량 제조사에 의해 인증된 이미지들만이 차량으로 전송될 수 있다는 것이 보장되는 것을 가능하게 하는 이 검증 레벨이 없으면 프로세서 (2, 4, 6, 8 또는 10)에 의해 소비될 수 없을 것이다. 이것은 배치 이전에 타겟 소프트웨어의 품질이 보장될 것을 또한 가능하게 한다.
이러한 패킷들 각각은 아래에 설명된 것처럼, 데이터 처리 컴포넌트들의 설치를 위해 사용되는 디지털 서명을 포함한다. 디지털 서명들에 대한 검증은 아래에 예상되는 바와 같이, 본원에서 설명될 특정 암호화 인프라를 필요로 한다.
프레젠테이션을 단순화하기 위해서, 임의의 디지털 서명은 아래에서 간단히 "서명"으로 언급될 것이다.
다음의 것들이 특히 아래에서 사용된다:
- 메타데이터 ROOT.md 및 개인 키 ROOT.Kpriv와 연관된 공개 키 ROOT.Kpub를 포함하는 루트 인증서 ROOT.cert;
- 메타데이터 CA.md, 공개 키 CA.Kpub 및 서명 CA.sig를 포함하는 기관 CA.cert의 인증서;
- 메타데이터 R.md, 공개 키 R.Kpub 및 서명 R.sig를 포함하는 제조업체 인증서 R.cert;
- 개인 키 BK.Kpriv와 연관된 공개 키 BK.Kpub.
개인 키 CA.Kpriv는 공개 키 CA.Kpub와 연관된다.
같은 방식으로, 개인 키 R.Kpriv는 공개 키 R.Kpub와 연관된다.
연관된 공개 키 및 개인 키라는 용어는 이 사례에서 "공개 키 인프라 (Public Key Infrastructure)" (또는 PKI)에서 연관된 공개 키 및 개인 키를 나타내는 것으로 이해되는 것으로 의도된 것이다.
그런 맥락에서, 데이터의 그룹은 개인 키를 사용하여 암호화 서명 알고리즘(이 사례에서는, RSA 유형)을 데이터의 이 그룹에 적용함으로써 서명될 수 있다; 그런 다음 상기 서명은 위에서 언급한 개인 키와 연관된 공개 키를 사용하여, 연관된 암호화 서명 검증 알고리즘(이 사례에서는 RSA 유형)을 사용하여 검증될 수 있다.
기관인증서 CA.cert의 서명 CA.sig는 메타데이터 CA.md와 공개키 CA.Kpub로 구성된 그룹에 개인키 ROOT.Kpriv를 사용하는 암호서명 알고리즘을 적용하여 획득된다 (이 연산은, 예를 들어, 인증 기관에 의해 수행된다).
제조업체 인증서 R.cert의 서명 R.sig는, 메타데이터 R.md와 공개 키 R.Kpub로 구성된 그룹에 개인 키 CA.Kpriv를 사용하는 암호 서명 알고리즘을 적용하여 자체적으로 획득되다 (이 작업도 위에서 언급된 인증 기관에서 수행할 수 있다).
도 2에 도시된 다양한 데이터 구조들이 대해 이제 자세히 설명될 것이다.
설치될 각 데이터 처리 컴포넌트 COMP는 다음을 포함한다:
- 해당 전자 장비 아이템 내에 설치될 (실제로 저장될) 데이터를 포함하는 콘텐츠 CONTEN;
- 설치될 콘텐츠의 특히 해시 값 H(CONTEN)를 포함하는 매니페스트 (manifest) COMPIND 및 해당되는 경우 데이터 처리 컴포넌트에 대한 설명으로, 예를 들면, 이 컴포넌트에 의해 업데이트된 기능들에 대한 설명;
- 매니페스트 COMPIND의 서명 SIG(COMPIND).
설치될 이러한 데이터는 소프트웨어 아이템 또는 소프트웨어 아이템 컴포넌트(예: 소프트웨어 업데이트)를 구성할 수 있다. 그래서 이 소프트웨어 아이템 또는 소프트웨어 아이템 컴포넌트는 적어도 부분적으로 해당 전자 장비 아이템의 프로세서에 의해 실행되도록 구성된다. 변형에서, 설치될 이들 데이터는 해당 전자 장비 아이템의 프로세서에 의한 후속 조작을 위해 저장될 데이터(예를 들어, 지도 데이터)일 수 있다.
상기 해시 값 H(CONTEN)는 해시 값 함수(예: SHA-256 유형)를 콘텐츠 CONTEN에 적용하여 획득된다.
상기 서명 SIG(COMPIND)는 개인 키 BK.Kpriv를 사용하는 암호화 서명 알고리즘을 상기 매니페스트 COMIND에 적용하여 획득된다.
이러한 작업들은 예를 들어 해당 콘텐츠 CONTEN(예: 소프트웨어)의 인증 기관에 의해 수행된다.
이 사례에서 각 디바이스 패킷 EUPACK은 다음을 포함한다:
- 위에서 설명된 하나 이상의 데이터 처리 컴포넌트(들) COMP1, COMP2, COMPi;
- 디바이스 패킷 ECUPACK에 포함된 각 데이터 처리 컴포넌트들 COMP1, COMP2, COMPi 각각에 대한 해시 값 H(COMP1), H(COMP2), H(COMPi), 그리고 해당되는 경우 차량 식별자 VIN 및/또는 패킷에 포함된 데이터 처리 컴포넌트들 COMP1, COMP2, COMPi에 대한 설명;
- 매니페스트 EUPACKIND의 서명 SIG(ECUPACKIND).
식별자 VIN을 제공하기 위한 여러 변형들이 구현될 수 있다. 위에서 언급한 것처럼 디바이스 패킷 ECUPACK에 식별자 VIN을 포함시키는 것은 전자 장비 아이템에 설치된 데이터 처리 컴포넌트(예를 들면 차량의 프로세서)가 실제로 이 차량에 기인한 컴포넌트인지 확인하는 것을 가능하게 한다. 이는 하나의 컴포넌트가 동일한 유형의 다수의 차량들에 매우 적합하여, 예를 들어 사용자가 자신의 차량의 프로세서를 동일한 유형의 다른 차량의 프로세서로 교체할 수 있는 가능성을 제공하기 때문이다. 디바이스 패킷 EUPACK에 VIN 식별자를 포함시키면 이러한 조작을 피하는 것을 가능하게 한다.
그러나, 변형에서, 도 3에 예시된 변형의 경우에서 처럼, 아래에 설명되는 매니페스트 DPACKIND 내에 차량 식별자 VIN을 배치하여 이러한 조작을 승인하는 것이 그래도 가능하다. 이 경우, 상기 디바이스 패킷 ECUPACK을 (처리 유닛(4)을 사용하여) 해당 전자 장비 아이템으로 전송하는 것은, 매니페스트 DPACKIND 내에서 수신된 식별자 VIN을 (이 예에서는, 처리 유닛(4) 내에) 저장된 차량 V의 식별자 간의 긍정적인 비교의 경우에만 예상하는 것이 가능하다.
예상될 수 있는 다른 실시예에 따르면, 식별자 VIN은 매니페스트 DPACKIND 및 매니페스트 ECUPACKIND 둘 다에 배치될 수 있거나, 또는, 특히, 예를 들어, 내비게이션 시스템의 지도 데이터를 포함하는 데이터 처리 컴포넌트처럼 임의의 차량과 호환되는 데이터 처리 컴포넌트에 대해 이러한 두 개의 매니페스트 중 어느 것에도 배치될 수 없다.
이 사례에서, 차량 V의 식별자 VIN은, 일반적으로 VIN "차량 식별 번호 (Vehicle Identification Number)"로 지칭되는 차량과 고유하게 연관된 번호이다.
해시 값들 H(COMP1), H(COMP2), H(COMPi)는 해당 데이터 처리 컴포넌트 COMP1, COMP2, COMPi를 구성하는 데이터에, 예를 들어, (해당 장비 아이템의 요구 사항, 특히 이 장비 아이템의 업데이트 요구 사항에 따른) 디바이스 패킷 EUPACK을 정의하는 동안에 해시 함수(예: SHA-256 유형)를 각각 적용하여 획득된다.
서명 SIG(ECUPACKIND)는 (제조업체 인증서 R.cert와 연관된) 개인 키 R.Kpriv를 사용하는 암호화 서명 알고리즘을 매니페스트 ECUPACKIND에 적용하여 획득된다.
이러한 작업들은, 예를 들어, 설치될 데이터 처리 컴포넌트들이 (식별자 VIN을 사용하여 식별된) 특정 차량에서 해당 전자 장비 아이템에 대해 정의될 때에 차량 제조업체(또는 차량 제조업체를 대신하여)에 의해 수행된다.
실제로, 상기 서명 SIG(ECUPACKIND)는, 예를 들어, 디바이스 패킷 ECUPACK에 전용인 필드, 예를 들어, cms 형식("암호화 메시지 구문 (Cryptographic Message Syntax)")의 필드 내에 포함된다. 이 경우, 이 필드는 서명 SIG(ECUPACKIND), 기관 인증서 CA.cert 및 제조업체 인증서 R.cert를 포함할 수 있다.
상기 다운로드 패킷 DPACK은 다음을 포함한다:
- 위에서 설명된 바와 같은 하나 이상의 디바이스 패킷(들) ECUPACK1, ECUPACK2, ECUPACKn;
- 특히 다운로드 패킷 DPACK에 포함된 디바이스 패킷들 ECUPACK1, ECUPACK2, ECUPACKn의 각각에 대한 해시 값 H(ECUPACK1), H(ECUPACK2), H(ECUPACKn)를 포함하는 매니페스트 DPACKIND, 그리고 해당되는 경우 다운로드 패킷 DPACK에 포함된 디바이스 패킷들 ECUPACK1, ECUPACK2, ECUPACKn에 대한 설명 (예를 들어, 각 디바이스 패킷에 대해 해당 디바이스 패킷의 타겟 전자 장비 아이템의 각 디바이스 패킷 EUPACK1, ECUPACK2, ECUPACKn에 대한 표시 포함);
- 매니페스트 DPACKIND의 서명 SIG(DPACKIND).
상기 해시 값들 H(ECUPACK1), H(ECUPACK2), H(ECUPACKn)은, 예를 들어, (타겟 전자 장비 아이템들 및 상기 장비 아이템들 각각의 요구 사항을 정의한 후) 다운로드 패킷 DPACK을 정의하는 동안에 해당 디바이스 패킷 ECUPACK2, ECUPACK2, ECUPACKn에 (예를 들면, SHA-256 유형의) 해시 함수를 각각 적용하여 획득된다.
상기 서명 SIG(DPACKIND)는, (제조업체 인증서 R.cert와 연관된) 개인 키 R.Kpriv를 사용하는 암호화 서명 알고리즘을 매니페스트 DPACKIND에 적용함으로써 획득된다.
이러한 작업들은, 예를 들어, 해당 전자 장비 아이템들과 이러한 전자 장비 아이템들에 설치될 데이터 처리 컴포넌트들이 정의될 때에 차량 제조업체에 의해 (또는 차량 제조업체를 대신하여) 수행된다.
실제로, 상기 서명 SIG(DPACKIND)는 예를 들어 다운로드 패킷 DPACK의 전용 필드, 예를 들어 cms 형식 ("암호 메시지 구문")의 필드에 포함된다. 이 경우, 이 필드는 서명 SIG(DPACKIND), 기관 인증서 CA.cert 및 제조업체 인증서 R.cert를 포함할 수 있다.
위에서 설명한 아키텍처에서 데이터 처리 컴포넌트들 COMP1, COMP2, COMPi 각각은 설치 대상인 차량 V에 독립적이라는 것에 (그리고, 예를 들면, 차량들의 집단을 위해 사용될 수 있다는 것에) 유의해야 한다. 그러나, 상기 디바이스 패킷들 ECUPACK1, ECUPACK2, ECUPACKn (그리고 결과적으로는 다운로드 패킷 DPACK)은 차량 V용으로 특별하게 구성된다.
도 3은 다운로드 패킷 DPACK 내의 데이터 조직을 위해 예상될 수 있는 변형을 갖는다.
이미 표시된 바와 같이 이 변형에서 차량 식별자 VIN은 매니페스트 DPACKIND 내에 배치된다.
또한, 특정 전자 장비 아이템과 관련된 데이터 처리 컴포넌트들 COMP1, COMP2, COMPi는 이 전자 장비 아이템을 위해 의도된 디바이스 패킷 ECUPACK1에 포함되지 않으며, 대신 그에 대해 외부에 존재하며, 이는 아래에 설명되는 것처럼 디바이스 패킷 ECUPACK1과 별도로 전송될 수 있는 것이 가능하도록 하기 위한 것이다.
이 사례에서 상기 디바이스 패킷 EUPACK1은 다음을 포함한다:
- 해당 전자 장비 아이템과 연관된 데이터 처리 컴포넌트들 COMP1, COMP2, COMPi 각각에 대한 해시 값 H(COMP1), H(COMP2), H(COMPi)를 포함하는 매니페스트 ECUPACKIND;
- 매니페스트 EUPACKIND의 서명 SIG(ECUPACKIND).
본 발명에 따라 차량 V 내에 데이터 처리 컴포넌트들을 설치하기 위한 방법의 예가 도 4를 참조하여 이제 설명될 것이다.
이 방법은 처리 유닛(4)이 원격 서버 S를 위해 의도된 요청 REQ을 전송하는 동안 단계 E2에서 시작한다. 이 요청으로 인해, 차량 V는 예를 들어 특정 소프트웨어 컴포넌트들 또는 (지도 데이터와 같은) 특정 데이터를 업데이트하기 위해 데이터 처리 컴포넌트들을 차량 V 내에 설치하는 것이 가능한가의 여부를 판단하려고 한다.
상기 요청 REQ는 예를 들어 처리 유닛(4)에 의해 주기적으로 전송된다. 실제로, 원격 서버 S의 전자 좌표들은 예를 들어 처리 유닛(4) 내에 저장되고 원격 서버 S를 위해 의도된 요청 REQ을 전송하기 위해 사용된다. 상기 전자 좌표들은 SSL(Secure Sockets Layer)과 같은 보안 접속을 참조하는 것이 바람직하다.
상기 요청 REQ은 차량 V의 식별자 VIN을 포함할 수 있다.
상기 원격 서버 S는 단계 E4에서 상기 요청 REQ를 (예를 들어, 요청 REQ에 포함된 식별자 VIN에 기초하여) 수신하며 그리고 상기 데이터 처리 컴포넌트가 차량 V에 대해 다운로드 가능한지 여부를 판단한다.
이 사례에서 데이터 처리 컴포넌트들이 다운로드하여 차량 V에 설치할 수 있다고 가정한다. 결과적으로 상기 서버 S는 단계 E6에서 전역 (global) 컨테이너 GLOB를 프로세싱 유닛(4)에 전송한다.
이 전역 컨테이너 GLOB는 매니페스트 DPACKIND, 연관된 서명 SIG(DPACKIND) 및 디바이스 패킷들 ECUPACK1, ECUPACK2, ECUPACKn을 포함한다. 결과적으로, 실시예들에 따르면, 이 전역 컨테이너 GLOB는 데이터 처리 컴포넌트들 COMP1, COMP2, COMPi를 포함하거나 포함하지 않는다.
이는 제1 실시예에 따라, 이 단계 E6에서 데이터 처리 컴포넌트들 COMP1, COMP2, COMPi의 전부 또는 일부를 전송하는 것도 가능하기 때문이다 (이러한 컴포넌트들은 단계 E6에서 전송되며 그래서 아래에서 설명되는 단계 E26에서는 전송되지 않음). 그래서 이러한 데이터 처리 컴포넌트들은 디바이스 패킷 ECUPACK 내에서 (예: 도 2에 예시된 데이터 구조의 프레임워크 내에서) 또는 (예: 도 3에 예시된 데이터 프레임워크 내에서) 해당 디바이스 패킷 EUPACK1과 함께 전송될 수 있다.
제2 실시예에 따르면, 단계 E6에서 전송된 전역 컨테이너 GLOB는 데이터 처리 컴포넌트들 COMP1, COMP2, COMPi 중 어느 것도 포함하지 않는다 (그래서 이러한 데이터 처리 컴포넌트들은 아래에 설명되는 E26단계에 따라 하나 이상의 단계(들) 동안 전송됨).
상기 프로세싱 유닛(4)은 단계 E8에서 전역 컨테이너(GLOB)를 수신하고 따라서 그것을 저장할 수 있다. 상기 전역 컨테이너 GLOB는 이 사례에서 원격 서버 S와 차량 V 사이에 설립된 통신을 통해 직접 수신되며, 이 통신은 이 사례에서 부분적으로 차량 V 및 이미 언급된 셀룰러 전화 네트워크 사이의 라디오 링크를 부분적으로 사용한다.
변형에서, 상기 전역 컨테이너 GLOB (데이터 처리 컴포넌트들은 있거나 또는 없음)는 위에 표시된 바와 같이 판독기(12)에 삽입된 (그에 의해 상기 처리 유닛(4)에 연결된) 메모리 카드(20)로부터 단계 E8에서 수신될 수 있을 것이다. 이 경우 단계 E2 ~ E6은 구현되지 않는다.
상기 전송된 전역 컨테이너 GLOB가 데이터 처리 컴포넌트들 COMP1, COMP2, COMPi (또는 이들 중 적어도 일부)을 포함하지 않는 실시예들에서, 수신된 전역 컨테이너 GLOB를 저장하기 위해서 상기 처리 유닛(4) 내에 필요한 메모리 크기는 줄어들 수 있다는 것에 유의해야 한다. 다른 말로 하면, 다운로드 패킷 DPACK 전체를 저장하기에 적합한 버퍼 메모리를 상기 프로세싱 유닛(4) 내에 제공할 필요가 없다.
그래서 상기 처리 유닛(4)은 서명들을 검증하기 위해 후속적으로 사용되는 공개 키 R.Kpub를 특히 포함하는 제조자 인증서 R.cert에 대한 검증을 단계 E10에서 수행한다.
위에 표시된 것처럼, 상기 인증서 R.cert는 이 사례에서는 다운로드 패킷 DPACK (그러므로 단계 E8에서 수신된 전역 컨테이너 GLOB)의 cms 형식의 필드 내에 포함된다.
제조사 인증서 R.cert를 검증하기 위해서, 서명 R.sig에 그리고 서명된 데이터 (이 사례에서는, 메타데이터 R.md와 공개키 R.Kpub)에 공개키 CA.Kpub를 이용한 암호화 서명 검증 알고리즘이 적용된다. (상기 공개 키 CA.Kpub는 위에서 언급한 CMS 형식의 필드에 자체적으로 포함된 인증서 CA.cert의 일부라는 것에 유의해야 한다.) 실제로, 서명된 데이터의 해시 값 그리고 공개 키 CA.Kpub를 사용하는 (이 사례에서 RSA 유형인) 암호화 알고리즘을 서명 R.sig에 적용하여 획득된 결과가, 예컨데, 비교된다.
검증이 되지 않은 경우 (즉, 위에서 언급된 해시 값과 위에서 언급된 결과를 비교하는 단계 동안의 불일치의 경우), 설치 프로세스가 종료되며, 해당되는 경우 오류 메시지가 원격 서버 S로 송신된다.
E10 단계에서 긍정적인 검증의 경우 (즉, 전술한 해시값과 전술한 결과를 비교하는 단계에서 동일한 경우), 상기 처리 유닛은 인증서 R.cert가 기간 만료되지 않았는가의 여부를, 결부된 날짜 및 시간을 상기 기간 만료 날짜들 및 메타데이터 R.md에 언급된 시간들과 비교함으로써, 검증할 수 있다.
인증서가 기간 만료되었다면, 설치 프로세스가 종료되며, 해당되는 경우 원격 서버 S로 오류 메시지가 전송된다.
증명서가 유효하면, 상기 처리 유닛(4)은 (위에서 설명된 바와 같이 사용된 공개 키 CA.Kpub를 특히 포함하는) 기관 증명서 CA.cert에 대한 검증을 단계 E12에서 수행한다.
위에 표시된 것처럼, 상기 인증서 CA.cert는 이 사례에서 다운로드 패킷 DPACK (따라서 단계 E8에서 수신된 전역 컨테이너 GLOB)의 cms 형식인 필드 내에 포함된다.
기관 인증서 CA.cert를 확인하기 위해서, 공개 키 ROOT.Kpub를 사용하는 암호화 서명 확인 알고리즘이 서명 CA.sig 그리고 서명된 데이터 (이 예에서, 메타데이터 CA.md 및 공개 키 CA.Kpub)에 적용된다. 실제로, 예를 들어, 서명된 데이터의 해시 값 그리고 공개 키 ROOT.KPub을 사용하여 (이 경우 RSA 유형인) 암호화 알고리즘을 서명 CA.sig에 적용하여 얻은 결과가 비교된다.
상기 공개 키 ROOT.Kpub는 예를 들어 프로세싱 유닛(4)의 비휘발성 메모리 내에 (프로세싱 유닛(4)의 생산 동안) 저장된다.
검증이 되지 않은 경우 (즉, 위에서 언급된 해시 값과 위에서 언급된 결과를 비교하는 단계 동안의 불일치의 경우), 설치 프로세스가 종료되며, 해당되는 경우 오류 메시지가 원격 서버 S로 송신된다.
E12 단계에서 긍정적인 검증의 경우 (즉, 전술한 해시값과 전술한 결과를 비교하는 단계에서 동일한 경우), 상기 처리 유닛은 인증서 CA.cert가 기간 만료되지 않았는가의 여부를, 결부된 날짜 및 시간을 상기 기간 만료 날짜들 및 메타데이터 R.md에 언급된 시간들과 비교함으로써, 검증할 수 있다.
인증서가 기간 만료되었다면, 설치 프로세스가 종료되며, 해당되는 경우 원격 서버 S로 오류 메시지가 전송된다.
인증서가 유효하면, 주어진 시점의 날짜 및 시간을 메타데이터 ROOT.md에서 언급된 루트 인증서 ROOT.cert의 만료 날짜들 및 시간들과 비교함으로써 상기 루트 인증서 ROOT.cert의 유효성을 동일한 방식으로 확인할 수 있다.
인증서가 기간 만료되었다면, 설치 프로세스가 종료되며, 해당되는 경우 원격 서버 S로 오류 메시지가 전송된다.
인증서가 유효하면, 처리 유닛(4)은 단계 E8에서 수신된 전역 컨테이너 GLOB의 특정 부분들을 단계 E14에서 검증한다.
상기 처리 유닛은 (상기 전역 컨테이너 GLOB 내에서 수신된) 매니페스트 DPACKIND의 무결성을 특히 단계 E14에서 검증한다.
이를 위해, 상기 처리 유닛은 공개 키 R.Kpub를 사용하는 암호 서명 검증 알고리즘을 서명 SIG(DPACKIND)에 그리고 매니페스트 DPACKIND에 적용한다. 실제로, 예를 들어, 매니페스트 DPACKIND의 해시 값 그리고 공개 키 R.Kpub를 사용하는 (이 사례에서는, RSA 유형인) 암호화 알고리즘을 상기 서명 SIG(DPACKIND)에 적용하여 획득된 결과를 비교한다. (공개 키 R.Kpub를 포함하는 인증서 R.cert의 유효성은 E10 단계에서 확인되었다는 점에 유의해야 한다.)
검증이 되지 않은 경우 (즉, 위에서 언급된 해시 값과 위에서 언급된 결과를 비교하는 단계 동안의 불일치의 경우), 설치 프로세스가 종료되며, 해당되는 경우 오류 메시지가 원격 서버 S로 송신된다.
단계 E14에서 긍정적인 검증이 된 경우 (즉, 위에서 언급한 해시 값과 위에서 언급한 결과를 비교하는 단계에서 불일치한 경우), 설치 프로세스는 이제 설명될 단계 E16에서 계속된다.
상기 처리 유닛(4)은 단계 E16에서 다양한 디바이스 패킷들 ECUPACK을 데이터 처리 컴포넌트들의 설치를 담당하는 전자 장비 아이템들, 이 사례에서는, 예를 들어, 제1 전자 제어 유닛(6) 및/또는 게이트웨이(8)에 분배한다.
각 디바이스 패킷 ECUPACK은 특정 전자 장비 아이템 (이 경우, 제1 전자 제어 유닛(6) 또는 게이트웨이(8))을 위한 전역 컨테이너 GLOB의 데이터, 즉, 해당 실시예에 종속하여 데이터 처리 컴포넌트들 COMP1, COMP2, COMPi 자체가 있거나 없는 전자 장비 아이템을 위해 의도된 디바이스 패킷 ECUPACKn의 데이터를 포함한다.
이미 지적한 바와 같이, 사실상 단계 E6 동안 전역 컨테이너 GLOB에서 전송될 전자 컴포넌트들의 전부 또는 일부를 위한 준비를 하는 것이 가능하며, 그러므로 적어도 일부 디바이스 패킷들 EUPACK이 하나 이상의 데이터 처리 컴포넌트(s)을 포함하는 것이 가능하다.
그래서 해당 각 전자 장비 아이템은 단계 E18에서 디바이스 패킷 EUPACK을 수신한다. 그런 전자 장비 아이템 (이 사례에서, 제1 전자 제어 유닛(6) 또는 게이트웨이(8))에 대한 방법의 구현이 아래에 설명되지만, 디바이스 패킷 ECUPACK을 수신하는 다른 전자 장비 아이템에 대해 실제로 유사한 단계들이 수행된다.
그래서 전자 장비 아이템 (이 사례에서, 제1 전자 제어 유닛(6) 또는 게이트웨이(8))은 적용 가능한 경우 단계 E20에서 제조업체 인증서 R.cert 및 기관 인증서 CA.cert의 확인 단계를 구현할 수 있다. 이 사례에서 설명된 예에서 이러한 인증서들 R.cert 및 CA.cert는 디바이스 패킷 ECUPACK의 cms 유형 필드의 일부라는 점에 유의해야 한다.
(해당 전자 장비 아이템 (6, 8)에 의해 수행되는) 단계 E20의 검증들은 처리 유닛(4)에 의해 위에서 설명된 단계 E10 및 E12에서 수행된 것과 유사하므로 여기에서는 자세히 설명되지 않을 것이다.
E20 단계에서 검증이 되지 않으면, 해당 장비 아이템 (6, 8) 내에서의 설치 프로세스는 종료된다. 오류 메시지는 (예를 들어, 원격 서버 S로의 잠재적인 전송을 위해) 처리 유닛(4)으로 또한 송신될 수 있다.
단계 E20에서 긍정적인 검증의 경우, 해당 전자 장비 아이템 (6, 8)은 단계 E22에서 매니페스트 ECUPACKIND(디바이스 패킷 ECUPACKIND 내에서 수신됨)의 무결성에 대한 검증을 수행한다.
이를 위해, 해당 전자 장비 아이템 (6, 8)은 서명 SIG(ECUPACKIND) 및 매니페스트 ECUPACKIND에 공개키 R.Kpub를 이용한 암호 서명 검증 알고리즘을 적용한다. 실제로, 예를 들어, 매니페스트 ECUPACKIND의 해시 값 그리고 공개 키 R.Kpub를 사용하는 (이 사례에서는, RSA 유형인) 암호화 알고리즘을 상기 서명 SIG(ECUPACKIND)에 적용하여 획득된 결과를 비교한다. (공개 키 R.Kpub를 포함하는 인증서 R.cert의 유효성은 E20 단계 동안에 확인되었다는 점에 유의해야 한다.)
검증이 되지 않은 경우 (즉, 상술한 해시값과 상술한 결과를 비교하는 단계에서 불일치가 있는 경우), 해당 전자기기 아이템 (6, 8)에서의 설치 과정이 종료되며, 적용 가능한 경우 (예를 들어, 원격 서버 S로의 잠재적인 전송을 위해) 오류 메시지가 처리 유닛(4)으로 송신된다.
E22 단계에서 긍정적인 검증의 경우 (즉, 상술한 해시값과 상술한 결과를 비교하는 단계에서 블일치의 경우), 해당 전자 장비 아이템 (6, 8)은 매니페스트 ECUPACKIND에 포함된 차량 V의 식별자 VIN이 상기 전자 장비 아이템 (6, 8) 내에 (예를 들어, 비휘발성 메모리에) 저장된 차량 V의 식별자 VIN에 대응하는지(즉, 실제로는 동일한지)의 여부를 E24 단계에서 검증한다.
검증이 없는 경우 (즉, 매니페스트 ECUPACKIND에 표시된 식별자 VIN과 상기 저장된 식별자가 같지 않은 경우), 해당 전자 장비 아이템 6, 8에서 설치 프로세스가 종료되며, 오류 메시지가 (예를 들어, 원격 서버(S)로의 잠재적인 전송을 위해) 처리 유닛(4)으로 전송된다.
단계 E24에서 긍정적인 검증의 경우 (즉, 매니페스트 ECUPACKIND에 표시된 식별자 VIN과 상기 저장된 식별자가 동일한 경우), (이제 설명될 것처럼, 데이터 처리 컴포넌트들을 수신한 후에) 아래에서 설명되는 단계 E32에서 설치를 계속할 수 있다.
설치를 담당하는 전자 장비 아이템 (6, 8) 내에서 언급되었던 처리와 병행하여, 원격 서버 S는 다운로드 패킷 DPACK의 적어도 하나의 데이터 처리 컴포넌트 COMPi를 단계 E26에서 처리 유닛(4)으로 전송한다. 이것이 도 4에 도시되어 있지는 않지만, 데이터 처리 컴포넌트 COMPi의 이러한 전송은 원격 서버 S가 처리 디바이스(4)로부터 표시를 수신한 후 개시될 수 있으며, 이 표시는 예를 들어 데이터 처리 컴포넌트 COMPi 저장을 위한 상기 버퍼 메모리 내 충분한 공간을 시그널링한다.
상기 처리 유닛(4)은 단계 E28에서 데이터 처리 컴포넌트 COMPi를 수신한다.
단일 데이터 처리 컴포넌트 COMPi의 처리는 이제 아래에서 설명된다. 실제로, 여러 데이터 처리 컴포넌트들이 처리 유닛(4)의 버퍼 메모리의 용량에 종속하여 동시에 또는 나중에 수신되며 그리고 데이터 처리 컴포넌트 COMPi에 대해 설명된 바와 같이 처리된다.
단계 E28에서 수신된 컴포넌트 COMPI가 (전역 컨테이너 GLOB의 데이터를 사용하여) 디바이스 패킷 ECUPACKn을 보충하는 것을 가능하게 할 때에, 처리 유닛(4)은 가능한 경우 해당 디바이스 패킷 ECUPACKn의 콘텐츠에 대한 검증을, 예를 들어, 매니페스트 DPACKIND에 포함된 해시 값 H(ECUPACKn) 그리고 수신된 디바이스 패킷 ECUPACKn에 해시 함수(이 경우 SHA256)를 적용하여 얻은 해시 값을 비교함으로써, 단계 E29에서 구현할 수 있다.
검증이 없는 경우(즉, 매니페스트 DPACKIND의 해시 값 H(ECUPACKn)이 수신된 상기 디바이스 패킷 ECUPACKn을 기반으로 얻은 해시 값과 상이하면), 데이터 처리 컴포넌트 COMPi는 해당 전자 장비 아이템 (6, 8)으로 전달되지 않으며 그리고 가능한 경우 오류 메시지가 원격 서버 S로 송신된다.
단계 E29에서 긍정적인 검증의 경우, 즉 매니페스트 DPACKIND의 해시 값 H(ECUPACKn)와 수신된 디바이스 패킷 ECUPACKn에 기반하여 획득된 해시 값이 동일한 경우, 데이터 처리 컴포넌트 COMPi는 단계 E30에서 해당 전자 장비 아이템 (6, 8)에 배포된다.
그래서 해당 전자 장비 아이템 (6, 8)은 단계 E32에서 데이터 처리 컴포넌트 COMPi를 수신한다.
그래서 상기 전자 장비 아이템 (6, 8)은 이 데이터 처리 컴포넌트 COMPi를 확인할 수 있다.
먼저, E34단계에서, 전자 장비 아이템 (6, 8)은 매니페스트 ECUPACKIND에 포함된 해시값 H(COMPi) 그리고 수신된 상기 컴포넌트 COMPi에 해시함수 (이 경우 SHA256)를 적용하여 획득된 해시 값을 비교한다. (E22 단계에서 매니페스트 ECUPACKIND의 무결성이 검증되었다는 점에 유의해야 한다.)
부정적인 검증의 경우 (즉, 매니페스트 ECUPACKIND에 포함된 해시 값 H(COMPi)가 상기 획득된 해시 값과 상이하면), 데이터 처리 컴포넌트 COMPi의 설치가 종료된다.
단계 E34에서 긍정적인 검증의 경우 (즉, 매니페스트 ECUPACKIND에 포함된 해시 값 H(COMPi)와 상기 획득된 해시 값이 동일한 경우), 데이터 처리 컴포넌트 COMPi의 검증이 단계 E36에서 계속된다.
전자 장비 아이템 (6, 8)은 먼저 단계 E36에서 데이터 처리 컴포넌트 COMPi의 매니페스트 COMPIND의 무결성을 확인한다.
이를 위해, 해당 전자 장비 아이템 (6, 8)은 공개키 BK.Kpub를 이용한 암호 서명 검증 알고리즘을 서명 SIG(COMPIND) 및 매니페스트 COMPIND에 적용한다. 실제로, 매니페스트 COMPIND의 해시 값 그리고 암호화 알고리즘(이 경우 RSA 유형)의 서명 SIG(COMPIND)를 적용함으써 획득된 결과는 예를 들어 공개 키 BK.KPub를 사용하여 비교된다.
공개 키 BK.Kpub는 예를 들어 해당 전자 장비 아이템 (6, 8)의 비휘발성 메모리에 저장된다.
검증이 되지 않은 경우 (즉, 상술한 해시값과 상술한 결과를 비교하는 단계에서 불일치가 있는 경우), 데이터 처리 컴포넌트 COMPi의 설치 과정이 종료되며, 가능한 경우 (예를 들어, 원격 서버 S로의 잠재적인 전송을 위해) 오류 메시지가 처리 유닛(4)으로 송신된다.
서명 SIG(COMPIND)에 대한 긍정적인 검증의 경우 (즉, 전술한 해시 값과 전술한 결과를 비교하는 단계에서 동일한 경우), 전자 장비 아이템 (6, 8)은 매니페스트 COMPIND에 포함된 해시 값 H(CONTEN) 그리고 수신된 상기 데이터 처리 컴포넌트 COMPi의 콘텐츠 CONTEN에 해시 함수(이 경우 SHA256)를 적용하여 획득된 해시 값을 비교한다.
검증이 없는 경우 (즉, 매니페스트 COMPIND의 해시 값 H(CONTEN)과 획득된 상기 해시 값 사이의 불일치의 경우), 데이터 처리 컴포넌트 COMPi의 설치 프로세스가 종료되며, 가능한 경우에는 (예를 들어, 원격 서버 S 로의 잠재적인 전송을 위해) 오류 메시지가 프로세싱 유닛(4)으로 송신된다.
긍정적인 검증의 경우 (즉, 매니페스트 COMPIND의 해시 값 H(CONTEN)과 상기 획득된 해시 값이 같지 않은 경우), 여기서 설명한 대로 상기 설치 방법이 계속된다.
예를 들어, 차량 V가 열 기관이 있는 차량인 경우, 열 기관의 작동을 대기하는 단계 E38을 제공하는 것이 가능합니다 (이는 실제로 모든 전자 장비 아이템이 작동하고 데이터 처리 컴포넌트 COMPi가 해당 전자 장비 아이템에 올바르게 설치되는 것을 가능하게 한다).
열 엔진이 작동 중일 때(또는 열 엔진이 없는 차량의 경우 이 조건 없이), 해당 전자 장비 아이템 (6, 8)은 데이터 처리 컴포넌트 COMPi의 설치, 즉 상기 데이터 처리 컴포넌트 COMPi를 나중에 사용하기 위해 비휘발성(재기록 가능) 메모리에 저장하는 것을 제어한다.
어떤 경우 (예를 들어, 제1 전자 제어 디바이스(6)의 경우), 데이터 처리 컴포넌트 COMPi의 설치는 위에서 설명된 이전 검증 단계들 E20 ~ E36을 수행했던 전자 장비 아이템 자체 (이 사례에서는 제1 전자 제어 유닛 (6)) 내에서 수행된다.
대조적으로, (이 사례에서는 게이트웨이(8)를 위한) 다른 경우들에서, 설치를 담당하고 이 환경에서 이전 검증 단계들 E20 내지 E36을 수행했던 전자 장비 아이템(이 사례에서는 게이트웨이(8))은, 다른 전자 장비 아이템 내에, 이 경우에는 제2 전자 제어 유닛(10) 내에 데이터 처리 컴포넌트 COMPi를 설치한다. 그래서 게이트웨이(8)는 예를 들어 제2 전자 제어 유닛 (10)의 비휘발성 (재기록 가능) 메모리에 데이터 처리 컴포넌트 COMPi를 저장하는 것을 제어한다.
이 경우 데이터 처리 컴포넌트들이 설치되자마자 사용되지 않으며, 그 대신 여기에서 설명될 것처럼 다른 조건들이 준수될 때 사용되도록 하는 것이 제공된다.
상기 차량 V이 열 기관 차량일 때에, 그 열 기관의 작동이 정지될 때까지 대기하는 단계 E42를 사용하는 것이 가능하다.
차량 V의 열 기관이 정지될 때에 (또는 상기 차량 V가 열 기관을 사용하지 않을 때에), 상기 처리 유닛(4)은 데이터 처리 컴포넌트들이 설치되었고 사용할 준비가 되었다는 표시를 사용자 인터페이스 (예를 들어, 차량 V의 객실에 배치된 화면)에 디스플레이한다 (단계 E44).
그래서 상기 처리 유닛(4)은 예를 들어 위에서 언급된 사용자 인터페이스 (가능한 경우, 이 화면이 터치 스크린일 때에는 상기 언급된 화면)를 통한 사용자 (예를 들어, 차량 V의 운전자)로부터의 응답을 단계 E46에서 기다린다.
사용자의 부정적인 응답의 경우, 단계 E40에서 설치된 데이터 처리 컴포넌트(들)는 사용되지 않는다.
단계 E46에서 사용자의 긍정적인 응답의 경우, 처리 유닛(4)은 설치된 데이터 처리 컴포넌트들을 활성화하기 위한 명령 CMD를 해당되는 다양한 전자 장비 아이템들 (이 사례에서, 제1 전자 제어 유닛(6) 및 게이트웨이(8)을 통한 제2 전자 제어 유닛(10))에게 전송한다 (단계 E48).
그러면 설치된 상기 데이터 처리 컴포넌트가 활성화된다 (단계 E50).
소프트웨어 데이터 처리 컴포넌트들의 경우, 해당 데이터 처리 컴포넌트에 포함된 명령어들은 그 데이터 처리 컴포넌트가 설치된 전자 장비 아이템 (6, 10)의 프로세서에 의해 그 후에 수행될 수 있다.
조작 가능한 데이터로 구성된 데이터 처리 컴포넌트들의 경우, 해당 데이터 처리 컴포넌트에 포함된 데이터는 그 데이터 처리 컴포넌트가 설치된 전자 장비 아이템 (6, 10)의 프로세서에 의해 조작될 수 있다.

Claims (13)

1. 차량(V)에 제공된 전자 장비 아이템(6; 10)에 데이터 처리 컴포넌트(COMP1)를 설치하는 방법으로서, 상기 방법은:
- 상기 데이터 처리 컴포넌트의 해시 값(H(COMP1))을 포함하는 제1 매니페스트(ECUPACKIND)를 포함하는 디바이스 패킷(ECUPACK)을 수신하는 단계 (E18);
- 제1 매니페스트(ECUPACKIND)의 무결성을 확인하는 단계(E22);
- 상기 데이터 처리 컴포넌트(COMP1)를 수신하는 단계 (E32);
- 상기 데이터 처리 컴포넌트의 해시 값(H(COMP1))과 수신된 상기 데이터 처리 컴포넌트(COMP1) 간의 대응을 확인하는 단계 (E34);
- 상기 제1 매니페스트(ECUPACKIND)의 무결성에 대한 긍정적인 검증 및 상기 대응의 긍정적인 검증의 경우에만 상기 데이터 처리 컴포넌트(CCOMP1)를 설치하는 단계(E40)를 수반하는 단계들을 포함하는, 방법.
제1항에 있어서,
상기 제1 매니페스트(ECUPACKIND)는 제1 차량 식별자(VIN)를 포함하며, 그리고 상기 방법은:
- 제1 차량 식별자(VIN)를 차량(V) 내에 저장된 제2 차량 식별자와 비교하는 단계 (E24);
- 상기 제1 식별자(VIN) 및 제2 식별자에 대한 비교가 긍정적인 경우에만 데이터 처리 컴포넌트(COMP1)를 설치하는 단계 (E40)를 수반하는 단계들을 포함하는, 방법.
제1항 또는 제2항에 있어서,
상기 디바이스 패킷(ECUPACK)은 제1 서명(SIG(ECUPACKIND))을 포함하며, 상기 매니페스트(ECUPACKIND)의 무결성은 상기 제1 서명에 그리고 상기 제1 매니페스트(ECUPACKIND)에 암호화 서명 검증 알고리즘을 적용하여 확인되는, 방법.
제1항 내지 제3항 중 어느 한 항에 있어서,
상기 데이터 처리 컴포넌트(COMP1)는 디바이스 패킷(ECUPACK)과는 독립적으로 수신되는, 방법.
제1항 내지 제3항 중 어느 한 항에 있어서,
상기 데이터 처리 컴포넌트(COMP1)는 상기 디바이스 패킷(ECUPACK) 내에서 수신되는, 방법.
제1항 내지 제5항 중 어느 한 항에 있어서, 상기 방법은:
- 디바이스 패킷(ECUPACK) 및 제2 매니페스트(DPACKIND)를 포함하는 컨테이너(GLOB)를 수신하는 단계 (E8);
- 제2 매니페스트(DPACKIND)의 무결성을 검증하는 단계(E14)를 수반하는 단계들을 포함하는, 방법.
제6항에 있어서,
상기 컨테이너(GLOB)는 다른 전자 장비 아이템을 위해 의도된 다른 디바이스 패킷(ECUPACK2)을 포함하는, 방법.
제6항 또는 제7항에 있어서,
상기 제2 매니페스트(DPACKIND)는 제1 차량 식별자(VIN)를 포함하며, 그리고 상기 방법은:
- 상기 제1 차량 식별자(VIN)를 차량(V) 내에 저장된 제2 차량 식별자와 비교하는 단계 (E12);
- 상기 제1 식별자(VIN)와 상기 제2 식별자에 대한 비교가 긍정적인 경우에만 상기 디바이스 패킷(ECUPACK)을 전송하는 단계 (E16)를 수반하는 단계들을 포함하는, 방법.
제6항 내지 제8항 중 어느 한 항에 있어서,
상기 컨테이너(GLOB)는 상기 차량(V)에 의해 전송된 요청(REQ)에 응답하여 원격 서버(S)로부터 수신되는, 방법.
제6항 내지 제8항 중 어느 한 항에 있어서,
상기 컨테이너(GLOB)는 상기 차량(V)에 제공된 리더기(12)에 삽입된 메모리 카드(20)로부터 수신되는, 방법.
제1항 내지 제10항 중 어느 한 항에 있어서,
상기 데이터 처리 컴포넌트(COMP1)는 제2 서명(SIG(COMPIND)) 및 콘텐츠(CONTEN)를 포함하고, 상기 방법은 상기 제2 서명(SIG(COMPIND))을 사용하여 상기 콘텐츠(CONTEN)의 무결성을 확인하는 단계(E36)를 포함하는, 방법.
차량에 제공될 전자 장비 아이템(6;8)으로, 상기 전자 장비 아이템은:
- 데이터 처리 컴포넌트의 해시 값(H(COMPi))을 포함하는 매니페스트(ECUPACKIND)를 포함하는 디바이스 패킷(ECUPACK)을 수신하기 위한 모듈;
- 상기 매니페스트(ECUPACKIND)의 무결성을 확인하기 위한 모듈;
- 상기 데이터 처리 컴포넌트(COMPi)를 수신하기 위한 모듈;
- 상기 데이터 처리 컴포넌트의 해시 값(H(COMPi))과 수신된 상기 데이터 처리 컴포넌트(COMPi) 간의 대응을 확인하기 위한 모듈;
- 상기 매니페스트(ECUPACKIND)의 무결성에 대한 긍정적인 검증 그리고 상기 대응에 대한 긍정적인 검증의 경우에만 상기 데이터 처리 컴포넌트(COMPi)를 설치하도록 구성된 설치 모듈을 포함하는, 전자 장비 아이템.
제12항에 있어서,
상기 매니페스트(ECUPACKIND)는 제1 차량 식별자(VIN)를 포함하며, 그리고:
- 제1 차량 식별자(VIN)와 차량(V) 내에 저장된 상기 차량(V)의 제2 식별자를 비교하기 위한 모듈을 포함하며,
여기에서 상기 설치 모듈은 매니페스트(ECUPACKIND)의 무결성에 대한 긍정적인 확인, 제1 식별자(VIN)와 제2 식별자에 대한 긍정적인 비교 그리고 상기 대응에 대한 긍정적인 확인의 경우에만 상기 데이터 프로세싱 컴포넌트 (COMPi)를 설치하도록 구성된, 전자 장비 아이템.
KR1020217041238A 2019-05-16 2020-04-15 컴퓨터 컴포넌트 및 연관된 전자 디바이스 설치 방법 KR20220007740A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR1905119 2019-05-16
FR1905119A FR3096160B1 (fr) 2019-05-16 2019-05-16 Procédé d’installation d’un composant informatique et équipement électronique associé
PCT/EP2020/060506 WO2020229074A1 (fr) 2019-05-16 2020-04-15 Procede d'installation d'un composant informatique et equipement electronique associe

Publications (1)

Publication Number Publication Date
KR20220007740A true KR20220007740A (ko) 2022-01-18

Family

ID=67875656

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217041238A KR20220007740A (ko) 2019-05-16 2020-04-15 컴퓨터 컴포넌트 및 연관된 전자 디바이스 설치 방법

Country Status (7)

Country Link
US (1) US20220303139A1 (ko)
EP (1) EP3970315A1 (ko)
JP (1) JP2022533105A (ko)
KR (1) KR20220007740A (ko)
CN (1) CN113841358A (ko)
FR (1) FR3096160B1 (ko)
WO (1) WO2020229074A1 (ko)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130111212A1 (en) * 2011-10-28 2013-05-02 GM Global Technology Operations LLC Methods to provide digital signature to secure flash programming function
US9722781B2 (en) * 2014-07-09 2017-08-01 Livio, Inc. Vehicle software update verification
US9916151B2 (en) * 2015-08-25 2018-03-13 Ford Global Technologies, Llc Multiple-stage secure vehicle software updating
GB2541950B (en) * 2015-09-07 2020-01-08 Arm Ip Ltd Methods for verifying data integrity

Also Published As

Publication number Publication date
WO2020229074A1 (fr) 2020-11-19
FR3096160B1 (fr) 2021-09-10
FR3096160A1 (fr) 2020-11-20
US20220303139A1 (en) 2022-09-22
CN113841358A (zh) 2021-12-24
JP2022533105A (ja) 2022-07-21
EP3970315A1 (fr) 2022-03-23

Similar Documents

Publication Publication Date Title
US10484184B2 (en) Vehicle system and authentication method
EP3319266B1 (en) Software distribution processing device, vehicle, software distribution processing method, and computer program
CN110225063B (zh) 汽车车载***的升级方法、升级***、服务器及车载终端
US9132790B2 (en) In-vehicle network system
JP6782446B2 (ja) 監視装置、通信システム、車両、監視方法、およびコンピュータプログラム
WO2015080108A1 (ja) プログラム更新システム及びプログラム更新方法
US10565380B2 (en) Apparatus and associated method for authenticating firmware
CN102859935B (zh) 利用虚拟机远程维护电子网络中的多个客户端的***和方法
CN110378153A (zh) 一种升级包安全下载方法及***
US8856536B2 (en) Method and apparatus for secure firmware download using diagnostic link connector (DLC) and OnStar system
EP1712992A1 (en) Updating of data instructions
EP3276876B1 (en) Management device, vehicle, management method, and computer program
KR20220092606A (ko) 차량의 업그레이드 패키지를 처리하는 방법 및 장치
CN112534793A (zh) 一种车载设备升级方法及相关装置
CN113094062A (zh) 升级方法及装置
KR102427977B1 (ko) 추가 하드웨어 모듈을 이용하는 자동차 ecu 업데이트 방법
WO2021032132A1 (zh) 车载***安全保护方法及设备
Ekatpure Challenges Associated with the Deployment of Software Over-the-Air (SOTA) Updates in the Automotive Industry
CN113365244A (zh) 整车ota升级方法、装置、电子设备、介质及签名方法
CN115643564A (zh) 汽车安全的fota升级方法、装置、设备及存储介质
CN112311799A (zh) 一种Tbox固件的OTA安全升级方法
KR20220007740A (ko) 컴퓨터 컴포넌트 및 연관된 전자 디바이스 설치 방법
CN109802929B (zh) 基于双***的客户端程序升级方法及计算机可读存储介质
EP4325354A1 (en) Software upgrade method and related product
RU2812276C2 (ru) Способ установки вычислительного компонента и сопутствующее электронное устройство