KR102479224B1 - 서비스 지향 아키텍처에 기초하는 집중식 서비스 ecu를 구현하도록 구성된 관련 디바이스들을 갖는 특별히 프로그래밍된 컴퓨팅 시스템들 및 그 사용 방법들 - Google Patents

서비스 지향 아키텍처에 기초하는 집중식 서비스 ecu를 구현하도록 구성된 관련 디바이스들을 갖는 특별히 프로그래밍된 컴퓨팅 시스템들 및 그 사용 방법들 Download PDF

Info

Publication number
KR102479224B1
KR102479224B1 KR1020197022889A KR20197022889A KR102479224B1 KR 102479224 B1 KR102479224 B1 KR 102479224B1 KR 1020197022889 A KR1020197022889 A KR 1020197022889A KR 20197022889 A KR20197022889 A KR 20197022889A KR 102479224 B1 KR102479224 B1 KR 102479224B1
Authority
KR
South Korea
Prior art keywords
communication
service
ecu
partition
soa
Prior art date
Application number
KR1020197022889A
Other languages
English (en)
Other versions
KR20190095963A (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 KR1020227043965A priority Critical patent/KR102556388B1/ko
Publication of KR20190095963A publication Critical patent/KR20190095963A/ko
Application granted granted Critical
Publication of KR102479224B1 publication Critical patent/KR102479224B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/101Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities
    • G06F21/1013Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities to locations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/545Interprogram communication where tasks reside in different layers, e.g. user- and kernel-space
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/04Network management architectures or arrangements
    • 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
    • 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/10Protocols in which an application is distributed across nodes in the network
    • 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
    • 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/0822Key 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 key encryption key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • 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/3263Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3268Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/84Vehicles

Abstract

일부 실시예들에서, 본 발명은 적어도 다음의 컴포넌트들: 서비스 지향 아키텍처(SOA)를 갖는 전자 제어 유닛(SOA ECU)을 포함하는 본 발명의 예시적인 시스템을 제공하며, SOA ECU는 적어도 하나의 본 발명의 예시적인 SOA 서버를 포함하고; SOA ECU는 차량 내에 위치되고; 적어도 하나의 SOA 서버는, 차량 내에 위치되는 적어도 하나의 클라이언트 ECU에 적어도 하나의 서비스를 제공하도록 구성되며; 적어도 하나의 SOA 서버는, 적어도 하나의 전용 처리 자원 및 적어도 하나의 전용 메모리 자원을 할당하여 적어도 하나의 서비스를 제공하도록 구성된다.

Description

서비스 지향 아키텍처에 기초하는 집중식 서비스 ECU를 구현하도록 구성된 관련 디바이스들을 갖는 특별히 프로그래밍된 컴퓨팅 시스템들 및 그 사용 방법들
관련 출원
본 출원은 2017년 1월 5일자로 출원된 미국 가출원 제62/442,745호의 우선권을 주장하며, 상기 가출원은 모든 목적을 위해 그 전체가 본 명세서에 참고로 통합된다.
발명의 분야
일부 실시예들에서, 본 발명은 일반적으로 서비스 지향 아키텍처에 기초하는 집중식 서비스 ECU를 구현하도록 구성된 관련 디바이스들을 갖는 특별히 프로그래밍된 컴퓨팅 시스템들 및 그들의 사용 방법들에 관한 것이다.
예를 들어, 차량은 다수의 컴퓨터, 전자 제어 유닛(Electronic Control Unit; ECU)을 포함할 수 있다. 일반적으로, ECU들은 블루투스(TM), 3G, 와이파이 등과 같은 외부 통신 능력들을 포함할 수 있는 다양한 네트워크들을 통해 상호 접속될 수 있다. 일부 경우들에서, 그러한 예시적인 외부 통신 능력들은 차량의 ECU들 및/또는 동작 능력들을 추적, 제어 및/또는 업데이트하는 데 이용될 수 있다.
발명의 요약
일부 실시예들에서, 본 발명은 적어도 다음의 컴포넌트들: 서비스 지향 아키텍처(service oriented architecture; SOA)를 갖는 전자 제어 유닛(SOA ECU)을 포함하는 본 발명의 예시적인 시스템을 제공하며, SOA ECU는 본 발명의 적어도 하나의 예시적인 SOA 서버를 포함하고; SOA ECU는 차량 내에 위치되고; 적어도 하나의 SOA 서버는, 차량 내에 위치되는 적어도 하나의 클라이언트 ECU에 적어도 하나의 서비스를 제공하도록 구성되며; 적어도 하나의 SOA 서버는, 적어도 하나의 전용 처리 자원(dedicated processing resource) 및 적어도 하나의 전용 메모리 자원을 할당하여 적어도 하나의 서비스를 제공하도록 구성된다.
일부 실시예들에서, 예시적인 SOA ECU는 적어도 하나의 제1 SOA 서버를 포함하는 적어도 하나의 제1 파티션 - 적어도 하나의 제1 SOA 서버는 적어도 하나의 제1 클라이언트 ECU에 적어도 하나의 제1 서비스를 제공하도록 구성되고; 적어도 하나의 제1 SOA 서버는 적어도 하나의 제1 전용 처리 자원 및 적어도 하나의 제1 전용 메모리 자원을 할당하여 적어도 하나의 제1 서비스를 제공하도록 구성됨 -; 적어도 하나의 제2 SOA 서버를 포함하는 적어도 하나의 제2 파티션 - 적어도 하나의 제2 SOA 서버는 적어도 하나의 제2 클라이언트 ECU에 적어도 하나의 제2 서비스를 제공하도록 구성되고; 적어도 하나의 제2 SOA 서버는 적어도 하나의 제2 전용 처리 자원 및 적어도 하나의 제2 전용 메모리 자원을 할당하여 적어도 하나의 제2 서비스를 제공하도록 구성됨 -을 더 포함하며, 적어도 하나의 제1 파티션과 적어도 하나의 제2 파티션은, 분리 커널을 통해 서로 동작적으로(operationally) 분리된다.
일부 실시예들에서, 적어도 하나의 제1 파티션은, 적어도 하나의 제1 전용 처리 자원 및 적어도 하나의 제1 전용 메모리 자원으로 적어도 하나의 제1 운영 체제(operating system; OS)를 실행하도록 구성되고; 적어도 하나의 제2 파티션은, 적어도 하나의 제2 전용 처리 자원 및 적어도 하나의 제2 전용 메모리 자원으로 적어도 하나의 제2 OS를 실행하도록 구성되며; 적어도 하나의 제1 전용 처리 자원 및 적어도 하나의 제2 전용 처리 자원은 적어도 하나의 전용 하드웨어 모듈의 일부이고; 분리 커널은, 적어도 하나의 제1 서비스 또는 적어도 하나의 제2 서비스를 각각 수행하기 위한 각각의 개별 액세스를 적어도 하나의 제1 전용 처리 자원 및 적어도 하나의 제2 전용 처리 자원에 개별적으로 제공하도록 구성되며; 적어도 하나의 제1 전용 메모리 자원 및 적어도 하나의 제2 전용 메모리 자원은 적어도 하나의 전용 하드웨어 모듈의 일부이고; 분리 커널은, 적어도 하나의 제1 서비스 또는 적어도 하나의 제2 서비스를 각각 수행하기 위한 각각의 개별 액세스를 적어도 하나의 제1 전용 메모리 자원 및 적어도 하나의 제 2 전용 메모리 자원에 개별적으로 제공하도록 구성된다.
일부 실시예들에서, 적어도 하나의 제1 SOA 서버는 안전 필수 서버(safety critical server)이고, 적어도 하나의 제2 SOA 서버는 비-안전 필수 서버(non-safety critical server)이다.
일부 실시예들에서, 적어도 하나의 제1 클라이언트 ECU는 적어도 하나의 제1 네트워크와 관련되고; 적어도 하나의 제2 클라이언트 ECU는 적어도 하나의 제2 네트워크와 관련되며; 적어도 하나의 제1 네트워크 및 적어도 하나의 제2 네트워크는 별개의(distinct) 네트워크들이다.
일부 실시예들에서, 분리 커널은, 적어도 하나의 결함 파티션이 적어도 하나의 무결함 파티션에 악영향을 주는 것을 방지 또는 중지하도록 구성된다.
일부 실시예들에서, 적어도 하나의 결함 파티션은 사이버 공격을 받은 파티션이다.
일부 실시예들에서, 적어도 하나의 SOA 서버는, 적어도 하나의 클라이언트 ECU와 관련된 서비스 품질(quality of service; QoS) 레벨에 적어도 부분적으로 기초하여 적어도 하나의 서비스를 제공하도록 구성된다.
일부 실시예들에서, 적어도 하나의 서비스는 i) 원격 관리 서비스, ii) 원격 모니터링 서비스, iii) 방송(Over-The-Air; OTA) 업데이트 서비스, iv) 대칭 암호화 서비스, v) 비대칭 암호화 서비스, vi) 인증서 관리 서비스, vii) 중앙 방화벽 서비스, viii) 보안 저장 서비스, ix) 록다운 서비스(lockdown service), x) 침입 검출 서비스, xi) 침입 방지 서비스, xii) 보안 처리 서비스, xiii) 인증 기관(certificate authority; CA) 서비스, xiv) 통신 보안 서비스, xv) 인증 서비스, xvi) 신원 관리 서비스, xviii) 키 관리 서비스, xviii) 업데이트 보급 서비스(update dissemination service), xix) 소프트웨어 복구 서비스, xx) 소프트웨어 플래싱 서비스(software flashing service) 및 xvii) 이들의 임의의 조합으로 구성된 그룹으로부터 선택된다.
일부 실시예들에서, SOA ECU는 i) 차량 관련 데이터 및 ii) 차량의 적어도 하나의 사용자에 관한 사용자 관련 데이터 중 적어도 하나를 수집하도록 구성된 적어도 하나의 모듈을 더 포함한다.
일부 실시예들에서, 적어도 하나의 모듈은 또한, 차량 관련 데이터, 사용자 관련 데이터 또는 이들 양자를 서드 파티(third party)와 관련된 적어도 하나의 전자 원격 목적지로 전송하는 것을 유발하도록 구성되며; 적어도 하나의 전자 원격 목적지는 차량 외부에 있다.
일부 실시예들에서, SOA ECU는 또한, i) 적어도 하나의 실시간 제1 승인 소프트웨어 변경을 SOA ECU에 도입하는 것, ii) 적어도 하나의 실시간 제2 승인 변경을 적어도 하나의 SOA 서버에 도입하는 것 및 iii) 적어도 하나의 실시간 제3 승인 변경을 적어도 하나의 서비스에 도입하는 것 중 적어도 하나를 가능하게 하도록 구성된다.
일부 실시예들에서, 적어도 하나의 실시간 제2 승인 변경은 1) 적어도 하나의 새로운 서비스를 적어도 하나의 SOA 서버에 실시간으로 추가하는 것, 2) 적어도 하나의 서비스를 적어도 하나의 새로운 서비스로 실시간으로 교체하는 것, 3) 적어도 하나의 SOA 서버로부터 적어도 하나의 서비스를 실시간으로 제거하는 것 및 4) 적어도 하나의 SOA 서버의 구성을 실시간으로 변경하는 것 중 적어도 하나이다.
일부 실시예들에서, 적어도 하나의 실시간 제1 승인 변경, 적어도 하나의 실시간 제2 승인 변경, 및 적어도 하나의 실시간 제3 승인 변경은 차량의 외부에 있는 적어도 하나의 외부 소스로부터 도입된다.
일부 실시예들에서, 적어도 하나의 실시간 제1 승인 변경, 적어도 하나의 실시간 제2 승인 변경, 및 적어도 하나의 실시간 제3 승인 변경 중 적어도 하나는 i) 차량의 적어도 하나의 차량 특유의 특성(vehicle-specific characteristic), ii) 사용자의 적어도 하나의 사용자 특유의 특성, iii) 적어도 하나의 사용자 요청, iv) 적어도 하나의 서비스 제공자 요청 및 v) 적어도 하나의 제조자 요청 중 하나에 적어도 부분적으로 기초한다.
일부 실시예들에서, 적어도 하나의 서비스는 차량의 조립 동안 적어도 하나의 SOA 서버에 추가되고, 적어도 하나의 서비스는 차량의 수명 동안 특정 기간 동안 원격으로 활성화되도록 구성된다.
일부 실시예들에서, 적어도 하나의 서비스는, 복수의 별개의 클라이언트 ECU들에 이용 가능한 전용 애플리케이션 프로그램 인터페이스(application program interface; API) 요청을 통해 호출되도록(invoked) 구성된다.
일부 실시예들에서, 적어도 하나의 SOA 서버는, 적어도 하나의 보안 정책에 따라 복수의 별개의 클라이언트 ECU들에 복수의 서비스들을 제공하도록 구성된다.
일부 실시예들에서, 적어도 하나의 보안 정책은 i) 특정 클라이언트 ECU에의 액세스, ii) 특정 클라이언트 ECU에 의해 이용될 적어도 하나의 특정 서비스의 가용성(availability), iii) 적어도 하나의 QoS 요구 및 iv) SOA ECU의 특정 하드웨어 모듈에의 액세스 중 적어도 하나를 제어하는 적어도 하나의 규칙을 포함한다.
일부 실시예들에서, 적어도 하나의 모듈은 또한, 차량 관련 데이터, 사용자 관련 데이터 또는 이들 양자의 전송을 유발하기 전에 차량 관련 데이터, 사용자 관련 데이터 또는 이들 양자로 적어도 하나의 액션을 수행하도록 구성된다.
일부 실시예들에서, 본 발명은 적어도, 서비스 지향 아키텍처를 갖는 전자 제어 유닛(SOA ECU)을 제공하는 단계를 포함하는 본 발명의 예시적인 방법을 제공하며, SOA ECU는 적어도 하나의 SOA 서버를 포함하며; SOA ECU는 차량 내에 위치되고; 적어도 하나의 SOA 서버는, 차량 내에 위치되는 적어도 하나의 클라이언트 ECU에 적어도 하나의 서비스를 제공하도록 구성되며; 적어도 하나의 SOA 서버는, 적어도 하나의 전용 처리 자원 및 적어도 하나의 전용 메모리 자원을 할당하여 적어도 하나의 서비스를 제공하도록 구성된다.
본 발명은 첨부된 도면들을 참조하여 더 설명될 수 있으며, 여러 도면에서 동일한 구조들은 동일한 번호들에 의해 참조된다. 도시된 도면들은 반드시 축척으로 그려진 것은 아니며, 대신에 일반적으로 본 발명의 원리들을 설명할 때 강조가 주어진다. 따라서, 본 명세서에 개시된 특정 구조 및 기능 상세들은 제한적인 것으로 해석되지 않아야 하며, 다만 이 분야의 기술자가 본 발명을 다양하게 이용하도록 가르치기 위한 대표적인 기초로서 해석되어야 한다.
도 1-11은 본 발명의 적어도 일부 실시예들의 적어도 일부 원리들에 따라 도시된 본 발명의 일부 예시적인 양태들을 도시한다.
개시된 그러한 이익들 및 개선들 중에서, 본 발명의 다른 목적들 및 이점들은 첨부된 도면들과 관련하여 이루어지는 다음의 설명으로부터 명백해질 수 있다. 본 발명의 상세한 실시예들이 본 명세서에 개시되지만, 개시된 실시예들은 다양한 형태로 구현될 수 있는 본 발명의 예시일 뿐이라는 것을 이해해야 한다. 또한, 본 발명의 다양한 실시예들과 관련하여 주어지는 각각의 예는 제한적인 것이 아니라 예시적인 것으로 의도된다.
예를 들어, 본 명세서에 설명된 다양한 실시예들의 예시적인 예들은 자동차 산업에서, 예컨대 다양한 타입의 이동 차량(예를 들어, 자동차, 트럭, 크레인, 버스 등)에서 구현되는 것으로 설명되지만; 많은 다른 구현이 이 분야의 통상의 기술자들에게 명백해질 수 있으며; 본 발명의 원리들, 방법들, 시스템들 및 디바이스들은 컴퓨팅 디바이스들을 이용하는 다양한 다른 환경에서 유사하게 구현될 수 있다. 예를 들어, 본 발명의 원리들, 방법들, 시스템들 및 디바이스들은 항공, 산업 제어, 컴퓨터, 의료 디바이스, 금융 단말기, 유틸리티 관리, 가정 보안, 필수 기반구조 컴퓨팅 시스템(예를 들어, 교통 신호등, 전력 그리드 등) 및 다른 유사하게 적절한 응용들과 같은, 그러나 이에 한정되지 않는 많은 산업, 환경 및 컴퓨팅 디바이스에서 이 분야의 통상의 기술자들에게 명백해질 수 있는 임의의 수정(들)을 갖거나 갖지 않고 구현될 수 있다.
명세서 전반에서, 다음의 용어들은 상황이 명백하게 달리 지시하지 않는 한은 본 명세서에서 명백하게 관련된 의미들을 갖는다. 본 명세서에서 사용되는 바와 같은 "일 실시예에서" 및 "일부 실시예들에서"라는 문구들은 반드시 동일한 실시예(들)를 지칭하지는 않지만, 그러할 수도 있다. 또한, 본 명세서에서 사용되는 바와 같은 "다른 실시예에서" 및 "일부 다른 실시예들에서"라는 문구들은 반드시 상이한 실시예를 지칭하지는 않지만, 그러할 수도 있다. 따라서, 이하에서 설명되는 바와 같이, 본 발명의 다양한 실시예들은 본 발명의 범위 또는 사상을 벗어나지 않고 용이하게 결합될 수 있다.
"~에 기초한다"라는 용어는 배타적인 것이 아니며, 상황이 명백하게 달리 지시하지 않는 한은 설명되지 않은 추가적인 인자들에 기초하는 것을 허용한다. 또한, 명세서 전반에서, "하나"("a", "an" 및 "the")의 의미는 복수 참조를 포함한다. "~ 안에"("in")의 의미는 "~ 안에("in") 및 "~ 상에"("on")를 포함한다.
본 명세서에 설명된 다양한 실시예들의 적어도 하나의 양태/기능은 실시간 그리고/또는 동적으로 수행될 수 있음을 이해한다. 본 명세서에 사용된 바와 같이, "실시간"이라는 용어는 다른 이벤트/액션이 발생한 때 즉각적으로 또는 거의 즉각적으로 발생할 수 있는 이벤트/액션에 관한 것이다. 일부 실시예들에서, "즉각적인", "즉각적으로", "즉시" 및 "실시간으로"라는 용어들은 전자 요청이 전송된 제1 시간과 요청에 대한 전자 응답이 수신된 제2 시간 사이의 시간차가 1초 이하인 조건을 지칭한다. 일부 실시예들에서, 요청과 응답 사이의 시간차는 1초 미만 내지 수초(예를 들어, 5-10초)이다.
본 명세서에 사용된 바와 같이, "동적(으로)"이라는 용어는 이벤트들 및/또는 액션들이 어떠한 인간의 개입도 없이 트리거되고/되거나 발생할 수 있음을 의미한다. 일부 실시예들에서, 본 발명에 따른 이벤트들 및/또는 액션들은 실시간일 수 있고/있거나, 나노초, 수 나노초, 밀리초, 수 밀리초, 초, 수 초, 분, 수 분, 시간, 수 시간, 일, 수 일, 주, 월 등 중 적어도 하나의 미리 결정된 주기성에 기초할 수 있다.
본 명세서에 사용된 바와 같이, "통신" 및 "메시지"라는 용어들은 상호 교환 가능하게 사용될 수 있으며, 통신은 단일 메시지 또는 복수의 메시지에 대응할 수 있다고 가정될 것이다.
본 명세서에 사용된 바와 같이, "런타임"이라는 용어는 소프트웨어 애플리케이션 또는 소프트웨어 애플리케이션의 적어도 일부의 실행 동안 동적으로 결정되는 임의의 거동에 대응한다.
일부 실시예들에서, 관련 디바이스들을 갖는 본 발명의 특별히 프로그래밍된 컴퓨팅 시스템들은 분산 네트워크 환경에서 동작하고, 적절한 데이터 통신 네트워크(예를 들어, 인터넷 등)를 통해 통신하고, 적어도 하나의 적절한 데이터 통신 프로토콜(예를 들어, IPX/SPX, X.25, AX.25, AppleTalk(TM), TCP/IP(예를 들어, HTTP) 등)을 이용하도록 구성된다. 일부 실시예들에서, 관련 디바이스들을 갖는 본 발명의 특별히 프로그래밍된 컴퓨팅 시스템들은 적어도 10개의 다른 전자/컴퓨팅 디바이스(예를 들어, 10-99개, 그러나 그에 한정되지 않음), 적어도 100개의 다른 전자/컴퓨팅 디바이스(예를 들어, 100-999개, 그러나 그에 한정되지 않음), 적어도 1,000개의 다른 전자/컴퓨팅 디바이스(예를 들어, 1,000-9,999개, 그러나 그에 한정되지 않음), 적어도 10,000개의 다른 전자/컴퓨팅 디바이스(예를 들어, 10,000-99,999개, 그러나 그에 한정되지 않음), 적어도 100,000개의 다른 전자/컴퓨팅 디바이스(예를 들어, 100,000-999,999개, 그러나 그에 한정되지 않음), 적어도 1,000,000개의 다른 전자/컴퓨팅 디바이스(예를 들어, 1,000,000-9,999,999개, 그러나 그에 한정되지 않음), 적어도 10,000,000개의 다른 전자/컴퓨팅 디바이스(예를 들어, 10,000,000-99,999,999개, 그러나 그에 한정되지 않음), 적어도 100,000,000개의 다른 전자/컴퓨팅 디바이스(예를 들어, 100,000,000-999,999,999개, 그러나 그에 한정되지 않음), 적어도 1,000,000,000개의 다른 전자/컴퓨팅 디바이스(예를 들어, 1,000,000,000-10,000,000,000개, 그러나 그에 한정되지 않음)와 관련된 상호작용들을 처리/추적/관리하도록 구성된다.
본 명세서에 사용된 바와 같이, "보안"이라는 용어는 사이버 보안을 지칭한다.
본 명세서에 사용된 바와 같이, "안전"이라는 용어는 기능적 관점에서의 시스템의 안전한 동작을 지칭한다.
일부 실시예들에서, 본 발명의 예시적인 컴퓨터 시스템 및 본 발명의 예시적인 각각의 디바이스는 다양한 차량 기능들(엔진 관리, 조종, 페달, 전기 창문 등)을 담당하는 다수(예를 들어, 최대 150개)의 전자 제어 유닛(ECU)과 통신하도록 구성된다. 일반적인 ECU는 자신의 기능들을 구현하고 자신을 차량의 다른 시스템들과 인터페이스하는 데 필요한 자신의 프로세서, 메모리 및 주변기기를 포함하는 컴퓨터 모듈이다. 일반적인 ECU는 그가 수행하도록 설계된 기능들을 실행하는 펌웨어 및 소프트웨어를 포함한다.
일부 실시예들에서, 본 발명의 예시적인 컴퓨터 시스템 및 본 발명의 예시적인 각각의 디바이스는 안전성을 높이기 위한 진보된 차량 대 차량(vehicle-to-vehicle; V2V) 통신, 원격 측정을 위한 차량 대 기반구조(vehicle-to-infrastructure; V2I) 통신, 도로 및 도시 기반구조(예를 들어, 교통 신호등)와의 통신, 전기 차량 충전을 위한 지방 및 전국 전력 그리드와의 통신, 인터넷 액세스 및 전자 지갑 능력을 갖춘 인포테인먼트 등과 같은 차량의 다수의 서비스/능력의 동작을 집중시키는 것을 가능하게 한다. 일부 실시예들에서, 본 발명의 예시적인 컴퓨터 시스템 및 본 발명의 예시적인 각각의 디바이스는 원격 관리, 방송(OTA) 업데이트 능력, 업데이트 보급, ECU 소프트웨어 플래싱, ECU 소프트웨어 복구, 모니터링, 암호화, 인증, 디지털 인증서 및 키 관리, 보안 저장, 보안 데이터 처리, 새로운 능력의 안전하고 확실한 차량 내 테스팅, 보안 모니터 등과 같은 차량의 기능들을 수행하는 데 필요한 공통 서비스들을 집중시키고 제공할 수 있게 한다. 일부 실시예들에서, 본 발명의 예시적인 컴퓨터 시스템 및 본 발명의 예시적인 각각의 디바이스는 차량의 전체 비용을 감소시키고, 보안 자세에 영향을 미칠 수 있는 통합 및 확인 노력을 감소시키는 것을 가능하게 하는데, 더 많은 ECU가 보안 특징들을 포함할수록, 그들 중 일부가 그러한 특징들을 잘못 구현(예를 들어, 소프트웨어 버그, 잘못 구현된 프로토콜, 비보안 구현)할 기회가 많아진다. 예시적인 차량에 대해, 일부 실시예들에서, 본 발명의 예시적인 컴퓨터 시스템 및 본 발명의 예시적인 각각의 디바이스는 외부 통신의 양의 감소 및/또는 컴퓨팅 능력의 진보를 가능하게 하여, 예를 들어, 차량별로 비용 감소, 중량 감소 및 연료 효율 향상을 유도한다.
일부 실시예들에서, 본 발명의 예시적인 컴퓨터 시스템 및 본 발명의 예시적인 각각의 디바이스는 서비스 지향 아키텍처(SOA)를 이용하여, 서비스들로 지칭되는 별개의 그리고 독립적인 컴포넌트들로서 구성된 공통 기능들 및 인터페이스들 제공한다. 일부 실시예들에서, 본 발명의 예시적인 컴퓨터 시스템 및 본 발명의 예시적인 디바이스는 클라이언트가 시스템의 정책에 따라 공통 서비스들을 이용하도록 승인되는 한은 예시적인 차량의 하드웨어/소프트웨어의 임의의 클라이언트에게 차량의 네트워크를 통해 그러한 공통 서비스들을 제공하는 것을 가능하게 한다. 일부 실시예들에서, 본 발명의 예시적인 컴퓨터 시스템 및 본 발명의 예시적인 각각의 집중식 디바이스는 공통 서비스들을 그들을 설계/구현하는 판매자들 및 그들을 사용하는 클라이언트들과 독립적으로 구성하고 이용하는 것을 가능하게 한다. 일부 실시예들에서, 본 발명의 예시적인 컴퓨터 시스템 및 본 발명의 예시적인 각각의 집중식 디바이스는 표준화된 프로토콜들 및/또는 애플리케이션 프로그램 인터페이스(API)들을 통해 공통 서비스들을 제공하도록 설계된다.
일부 실시예들에서, 본 발명의 예시적인 컴퓨터 시스템 및 본 발명의 예시적인 각각의 집중식 디바이스는 세션 기반 타입(예를 들어, HTTP 세션, TCP 세션 등)일 수 있거나 아닐 수 있는 통신을 통해 그 자신의 특정 기능들을 수행하는 ECU에 공통 서비스들을 제공할 수 있게 한다. 일부 실시예들에서, 통신은 상태를 갖거나 상태를 갖지 않을 수 있다. 일부 실시예들에서, 본 발명의 예시적인 컴퓨터 시스템 및 본 발명의 예시적인 각각의 집중식 디바이스는 서비스 지향 환경에서 동작하도록 일반적으로 설계되지 않은 다수의 네트워크 프로토콜을 통해 통신하도록 일반적으로 설계된 자동차 ECU들에 공통 서비스를 제공할 수 있게 한다.
일반적으로, 각각의 차량의 ECU는 상이한 계층(Tier) 1 제공자들에 의해 설계되고 제조된다. 일반적으로, 자동차 업계의 계층 1 제공자들은 그들의 ECU들의 밀폐된 환경들에서만 작업한다. 일반적으로, 다른 ECU들과의 통합은 높은 구현 위험들을 제기한다(컴포넌트들은 일반적으로 그들 자신의 방법들로 그들 자신의 아키텍처에서 작동하도록 설계되며, 다른 컴포넌트들과의 통합은 일반적으로 설계 목표가 아니다). 일반적으로, 개별화된 개발은 다른 ECU들의 요구들을 고려해야 할 필요성에 기초하는 확장성 어려움의 증가를 야기할 수 있다. 일반적인 설계 방법에서, 서비스 지향 아키텍처는 예를 들어 자동차 업계에서 기술적으로 그리고 경제적으로 실현 가능한 구현이 아니다.
일부 실시예들에서, 본 발명의 예시적인 컴퓨터 시스템 및 본 발명의 예시적인 각각의 집중식 디바이스(예시적인 집중식 ECU)는 서비스 지향 아키텍처의 내장 구현에 기초한다. 일부 실시예들에서, 본 발명의 예시적인 컴퓨터 시스템 및 본 발명의 예시적인 각각의 집중식 디바이스(예시적인 집중식 ECU)는 다양한 적절한 차량들(예를 들어, 자동차, 철도, 선박, 항공기) 및 다른 유사하게 적절한 내장 시스템들(예를 들어, 산업 제어, 의료, 필수 기반구조 등)에서 사용될 수 있다.
일부 실시예들에서, 본 발명의 예시적인 컴퓨터 시스템 및 본 발명의 예시적인 각각의 집중식 디바이스(예시적인 집중식 ECU)는 차량 네트워크들(CAN, 이더넷, LIN, MOST, FlexRay 등) 중 임의의 것을 통해 상호 접속된 차량 내의 모든 다른 ECU들에 대해 임의의 서비스들을 제공할 수 있는, 확장 가능하고 안전하며 확실한 SOA 서버의 형태로 구현될 수 있다. 예시적인 집중식 ECU의 이러한 본 발명의 예시적인 SOA 서버는 원격 관리 서비스, 원격 모니터링 서비스, 방송(OTA) 업데이트 서비스, 대칭 암호화 서비스(예를 들어, AES, DES), 비대칭 암호화 서비스(예를 들어, RSA, ECC), 인증 기관(CA)에 대한 인증서 저장 및 검증, 인증 기관 제공 서비스 및 인증서 발급 및 서명 및 보안 저장(예를 들어, 암호화된 메모리, TPM(Trusted Platform Module)) 서비스, 소프트웨어 이미지 관리 및 배포 서비스, 소프트웨어 호스팅 서비스, 데이터 익명화 서비스, 소프트웨어 샌드박스 서비스, 집중식 방화벽, 보안 구성 관리, 침입 검출 시스템(intrusion detection system; IDS), 침입 방지 시스템(intrusion prevention system; IPS) 및/또는 록다운 코어(Lockdown Core)(이는 미국 특허 출원 제15,486,055호에 설명된 바와 같으며, 이에 따라 이 출원은 본 명세서에서 설명되는 원리들에 부합하는 모든 목적을 위해 본 명세서에 통합됨)를 포함할 수 있다.
일부 실시예들에서, 본 발명의 예시적인 SOA ECU는 차량으로부터 안전하게 데이터를 수집하고, 처리하고, 저장하고/하거나 서비스 제공자에게 전송하는 데 사용될 수 있으며, 서비스 제공자는 이 데이터를 현금화하고/하거나 그에 기초하여 서비스들을 제공할 수 있다. 일부 실시예들에서, 서비스 제공자는 차량 보안의 모든 양태를 담당하는 집중식 설비 형태의 보안 운영 센터(Security Operations Center; SOC)일 수 있다.
일부 실시예들에서, 본 발명의 예시적인 SOA ECU는 차량으로부터 안전하게 데이터를 수집하고, 처리하고, 저장하고, 서비스 제공자에게 전송하는 데 사용될 수 있으며, 서비스 제공자는 이 데이터를 현금화할 수 있다. 일부 실시예들에서, 본 발명의 예시적인 SOA ECU는 HSM(하드웨어 보안 모듈) 모듈, TPM(신뢰 플랫폼 모듈) 모듈 및/또는 암호화 코프로세서와 같이 능력들 중 일부를 구현하고 가속화하기 위한 하드웨어 모듈들을 포함할 수 있다. 일부 실시예들에서, 본 발명의 SOA ECU에 의해 제공되는 서비스들은 방송(OTA) 소프트웨어 업데이트를 포함하는 본 발명의 예시적인 SOA ECU에 대한 업데이트를 통해 수정될 수 있다(추가되거나, 제외되거나, 기능이 변경되고/되거나, (규칙, 액세스 리스트 등과 같은) 구성이 수정될 수 있다). 일부 실시예들에서, 서비스들(예를 들어, 차량이 고객에게 전달된 후에 판매되는 추가 능력들)은 공장에서 미리 로딩될 수 있고, 본 발명의 예시적인 SOA ECU가 작동된 후에 원격으로 활성화될 수 있다. 일부 실시예들에서, 본 발명의 예시적인 SOA ECU에 의해 제공되는 서비스들은 개선된 엔진 성능, (예를 들어, 상이한 도로 조건들, 얼음, 겨울에 대한) 서스펜션의 수정 및 운전 모드(스로틀 응답 시간, 조종 등) 적응과 같은, 그러나 이에 한정되지 않는 능력들의 추가를 포함할 수 있다. 그러한 능력들은 OTA 업데이트를 통해(예를 들어, 인터넷 클라우드 기반 푸시 또는 풀 서비스를 통해) 원격으로 전송될 수 있고/있거나, 요구에 따라 활성화될 수 있고/있거나, 무기한으로 또는 설정된 기간 동안 제공될 수 있다. 일부 실시예들에서, 그러한 능력들의 전달은 인터넷 클라우드 기반 관리 솔루션에 의해 원격으로 관리될 수 있다. 일부 실시예들에서, 본 발명의 예시적인 SOA ECU는 차량 및/또는 사용자(예컨대, 운전자, 승객) 관련 데이터를 수집하고, 수집된 데이터를 안전하게 저장하고, 처리하고/하거나, 서비스 제공자에게 전송할 수 있다. 일부 실시예들에서, 수집된 데이터는 서비스 고유 및/또는 사용자 특유의 요구(들) 및/또는 실제 성능에 맞춤화되도록 구성될 수 있다. 일부 실시예들에서, 수집된 데이터는 (예를 들어, 헤드 유닛 상의 차량내 보조물을 통해) 사용자에게 추천을 제공하여, 제한이 아니라 예로서 사용자의 운전 거동을 수정하기 위해 서드 파티에 의해 이용되도록 구성될 수 있다.
일부 실시예들에서, 예시적인 SOA ECU는 (예를 들어, 간섭을 방지하고, 성능을 보장하기 위해) 각각의 별개의 서비스 컴포넌트를 서로 완전히 격리하면서, 다양한 서비스들이 작동하기 위한 실시간 안전 및 보안 환경을 제공하도록 설계되며, 또한 접속된 네트워크들 또는 클라이언트들 각각의 핸들링을 격리할 수 있다(서비스 안전 및 품질을 고려하여, 클라이언트들에게 미리 결정된 레벨의 서비스 및 성능을 제공하거나, 안전 필수 클라이언트들/네트워크들과 비-안전 필수 클라이언트들/네트워크들의 상호 접속을 방지할 수 있다). 일부 실시예들에서, 예시적인 SOA ECU는 필요한 모든 타입의 네트워크 프로토콜에 대한 범용 서비스 API를 허용할 수 있는 규정들을 포함할 수 있다. 일부 실시예들에서, 예시적인 SOA ECU는 레거시 프로토콜들(예를 들어, CAN, LIN)이 이러한 아키텍처의 이익들을 이용하는 것을 가능하게 하면서 현대의 프로토콜들(예를 들어, 이더넷)에 대한 최대 성능을 제공하도록 구성될 수 있다.
일부 실시예들에서, 예시적인 SOA ECU는 각각의 클라이언트(및/또는 네트워크)에 대해 요구되는 각각의 성능 레벨을 고려하고, 요구되는 레벨에 대한 실시간 서비스 품질(QoS)을 제공하도록 구성될 수 있다. 이것은 직접 비용은 물론, 통합의 복잡성(및 비용)도 줄인다. (동일한 기능이 다수의 계층 1에 의해 제조된 다수의 ECU에서 제공되므로) OEM이 동일한 기능을 위해 여러 번 지불하고 테스트하고 통합하는 대신, 동일한 기능은 한 번만 지불되고 테스트되고 구현될 것이며, 다른 ECU들은 동일한 기능이 올바르게 작동하고 있다고 가정하고, 동일한 기능을 단순히 이용할 것이다. 일부 실시예들에서, 예시적인 SOA ECU는 테스트가 한 번만 수행될 필요가 있기 때문에 필수 또는 안전 관련 서비스들이 더 철저하게 테스트될 것이므로 차량 내의 기능들의 신뢰성을 향상시킨다. 일부 실시예들에서, 예시적인 SOA ECU는 특정 안전 표준(예를 들어, IS026262) 및/또는 특정 사이버 보안 표준(예를 들어, ISO15408)을 충족시키도록 구성될 수 있으며, 따라서 그것이 올바르게 작동하고 있다는 확신을 제공할 수 있다. 일부 실시예들에서, 예시적인 SOA ECU는 예시적인 SOA ECU가 플랫폼으로 인증되는 반면에 안전/보안에 필수적이 아닌 개별 서비스(들)가 인증될 필요가 없도록 구성될 수 있다.
일부 실시예들에서, 본 발명의 예시적인 SOA ECU는 도 1에 도시된 예시적인 설계에 따라 구성될 수 있다. 예를 들어, 본 발명의 예시적인 SOA ECU는 CPU/DSP/SoC/마이크로컨트롤러(예를 들어, 인피니언 테크놀로지 AG의 TriCore(TM)(독일 노이비베르크), NXP 세미컨덕터 N.V의 MC57xx(네덜란드 아인트호벤), 르네사스 일렉트로닉스(Renesas Electronics)의 R-Car(일본 도쿄) 등)와 같은, 그러나 이에 한정되지 않는 임의의 적절한 자동차 컴퓨팅 하드웨어에 기초할 수 있다. 일부 실시예들에서, 본 발명의 예시적인 SOA ECU는 예를 들어, 보드 지원 패키지(BSP), 아키텍처 지원 패키지(ASP) 또는 이들 양자의 조합을 포함하는 펌웨어 계층을 갖도록 구성될 수 있다.
일부 실시예들에서, 본 발명의 예시적인 SOA ECU는 OS(예를 들어, AUTOSAR(TM), Linux(TM) 등) 상에서 또는 (베어 메탈) 없이 실행되도록 구성될 수 있다. 일부 실시예들에서, 본 발명의 예시적인 SOA ECU는 그의 모든 서비스에의 액세스를 허용하도록 구성되고 클라이언트 ECU들의 인증 및/또는 본 발명의 예시적인 SOA ECU와 특정 클라이언트 ECU 또는 외부 시스템 사이의 트래픽의 암호화를 허용할 수 있는 API(예를 들어, 독일의 슈투트가르트의 벡터 인포매틱 GmbH의 AUTOSAR 기반 서비스 API)를 포함하도록 구성될 수 있다. 일부 실시예들에서, 본 발명의 예시적인 SOA ECU는 클라이언트 요청들의 실시간 핸들링을 우선순위화하도록 구성될 수 있다(예를 들어, 안전 필수 ECU 동작들/요청들이 비-안전 ECU들보다 높은 우선순위를 받아야 한다). 일부 실시예들에서, 본 발명의 예시적인 SOA ECU는 하나 또는 다수의 프로세서 코어 상에서 실행되는 하나 또는 다수의 요청 큐 상의 서비스 요청들을 핸들링하도록 구성될 수 있다. 일부 실시예들에서, 본 발명의 예시적인 SOA ECU는 소정의 ECU들에 의한 소정의 서비스들에의 액세스를 선택적으로 허용하고 일부 ECU들에 의한 일부 서비스들에의 액세스를 거절하도록 설계될 수 있는 미리 결정된 보안 정책에 따라 모든 그의 서비스에의 액세스를 관리하도록 구성될 수 있다. 일부 실시예들에서, 본 발명의 SOA ECU는 소정 태스크(들)를 하드웨어로 오프로딩하고/하거나 실행을 보조 컴포넌트(들)로 전달하도록 구성될 수 있다.
일부 실시예들에서, 본 발명의 예시적인 SOA ECU는 임의의 프로토콜 핸들링 및 파싱을 담당하도록 구성될 수 있다. 예를 들어, 본 발명의 예시적인 SOA ECU는 하나 이상의 네트워크 통신 프로토콜(예를 들어, CAN, 이더넷 등)을 통해 서비스 API에의 액세스를 제공하도록 구성될 수 있다. 일부 실시예들에서, 본 발명의 예시적인 SOA ECU는 그 자신의 전용 ECU로서 구성될 수 있거나 차량 내의 기존 ECU의 일부일 수 있다. 일부 실시예들에서, 본 발명의 예시적인 SOA ECU는 DDS(데이터 배포 서비스), CORBA(Common Object Request Broker Architecture) 및/또는 ESB(기업 서비스 버스) 기반구조를 이용하여 다양한 네트워크 통신 프로토콜들을 통한 API 액세스의 통신 및 서비스를 가능하게 하도록 구성될 수 있다.
일부 실시예들에서, 본 발명의 예시적인 SOA ECU는 하드웨어에 대한 드라이버들(펌웨어의 일부)이 하드웨어에 대한 비인가 액세스를 획득하거나 하드웨어로 하여금 시스템에 대해 의도된 것과 다른 방식으로 동작하게 하는 데 이용되지 않는 것을 보장하는 보안 펌웨어를 포함하도록 구성될 수 있다. 보안 펌웨어는 일반적으로 관련 안전 표준들(예를 들어, ISO 26262) 및 보안 표준들(예를 들어, ISO 15408)을 준수하도록 작성된 펌웨어이다. 일부 실시예들에서, 본 발명의 예시적인 SOA ECU는 인증된 분리 커널(예를 들어, Green Hills Software Integrity, WindRiver VxWorks, Sysgo Pike OS 등)을 포함하도록 구성될 수 있다. 이것은 다양한 네트워크들(파워트레인, 편의, 보디, 인포테인먼트 등), 클라이언트들 및/또는 서비스들 사이의 안전하고 확실한 분리를 가능하게 할 수 있다. 일부 실시예들에서, 본 발명의 예시적인 SOA ECU는 하나의 네트워크로부터의 클라이언트들이 임의의 다른 네트워크에 제공되는 서비스들 및/또는 서비스 품질에 영향을 미치지 것을 방지하도록 구성될 수 있다. 일부 실시예들에서, 예시적인 혁신적인 SOA ECU는 각각의 네트워크에 대한 개별 파티션을 포함할 수 있으며, 예를 들어 분리 커널은, 예를 들어 양 메모리 어드레스 공간(예를 들어, 저장 메모리(ROM/플래시) 및 런타임 메모리(RAM))에서 그리고/또는 프로세서 시간에서 파티션들 사이의 안전하고 확실한 분리를 제공하도록 구현될 수 있다(예를 들어, 각각의 파티션은 실행을 위해 런타임 컨텍스트에 그러한 파티션으로부터의 명령어들이 삽입되는 그의 전용화된 정적이고 미리 결정된 시간 슬롯을 가질 것이다). 일부 실시예들에서, 본 발명의 예시적인 SOA ECU는 필요한 서비스 품질에 따라 시간 슬롯들을 파티션들에 할당하도록 구성될 수 있다(안전 필수 파티션은 서비스들에 대한 우선순위 액세스를 허용하기 위해 더 긴 시간 슬롯을 수신하거나, 비-안전 필수 파티션들에 비해 더 많은 시간 슬롯을 수신할 수 있다). 예를 들어, 도 2에 도시된 하나의 예시적인 실시예에 따르면, 각각의 파티션은 특정 네트워크에 대해 이용 가능한 서비스들의 그의 특정 서브세트를 이용하여 SOA 서버의 그 자신의 인스턴스를 실행할 수 있다. 분리 커널 상부에는 하이퍼바이저가 있을 수 있으므로, 각각의 파티션은 독립적인 OS를 포함할 수 있다. 그렇지 않으면, 일부 실시예들에서, 본 발명의 예시적인 SOA ECU 서버는 모든 서비스들이 분리 커널 상에서 또는 하드웨어 프로세서가 제공하는 임의의 다른 메커니즘(예를 들어, 메모리 보호 유닛(MPU)을 통한 또는 ARM TrustZone과 같은 보안 모니터를 통한 분리) 상에서 고유하게(또는 "베어 메탈") 실행되게 하도록 구성될 수 있다.
일부 실시예들에서, 본 발명의 예시적인 SOA ECU는 도 3에 도시된 바와 같이 클라이언트 필수성에 기초하는 그리고/또는 안전 필수 및/또는 비-안전 ECU들 또는 네트워크들 간의 분리를 포함하도록 구성될 수 있다. 그러한 예시적인 아키텍처는 안전 필수 ECU들에 특정 서비스들을 제공하고, 서비스 품질 레벨이 그들의 요구들에 맞춤화되는 것을 보장할 수 있다(프로세서 및 자원 가용성, 주로 안전 필수 파티션에 대한 시간 슬롯 할당을 보장할 수 있다). 예를 들어, 하이퍼바이저가 없으면, 모든 애플리케이션들(본 발명의 예시적인 SOA ECU 서버 및 서비스들)이 분리 커널 상에서 고유하게 실행된다.
본 명세서에서, 예를 들어도 2 및 3에서 설명된 바와 같이, 서비스가 상이한 파티션들 내에서 호스팅되는 경우에도, 본 발명의 예시적인 SOA ECU는 재개발되거나 수정될 필요가 없으며, 여러 파티션에서 인스턴스를 갖는 별개의 기능 유닛으로서 사용될 수 있다.
일부 실시예들에서, 본 발명의 예시적인 SOA ECU는 보안과 같은 공통 능력들 사이의 재사용을 허용하고, 각각의 ECU 및/또는 애플리케이션이 그들을 국지적으로 구현할 필요성을 완화하도록 구성될 수 있다. 보안 관점에서 본 발명의 예시적인 SOA ECU는 시스템의 전반적인 보안 상태를 모니터링하고 필요에 따라 임의의 이벤트들에 반응하는 것을 가능하게 하도록 구성할 수 있다. 예를 들어, 보안 관련 컴포넌트들은 올바르게 구현되고 적절하게 이용되어야 하는데, 예를 들어 인증서들은 액세스 보호 메모리에 저장되어야 하며, 따라서 보안 메커니즘만이 그것에 액세스하는 것이 허용된다. 보안 저장소가 암호화되지만, 임의의 엔티티가 그것에 액세스하도록 허용되는 경우, 그것은 안전하지 않다. 따라서, 본 발명의 예시적인 SOA ECU는 자원들을 절약하면서 전체 시스템의 보안을 향상시키도록 구성될 수 있다. 또한, 분리 커널을 이용함으로써, 파티션 내의 가짜/결함 애플리케이션이 임의의 다른 파티션에 악영향(예를 들어, 서비스 거부(Denial of Service; DoS) 공격)을 미치는 것을 중지할 수 있다. 안전 관점에서, 이러한 본 발명의 예시적인 SOA ECU 아키텍처를 갖는 본 발명의 예시적인 컴퓨터 시스템은 요구되는 레벨의 안전 및 서비스 품질에 따라 서비스들 및 클라이언트들의 분리를 가능하게 하면서 모두가 단일 ECU 상에서 호스팅될 수 있게 한다. 다른 분리 로직(서비스들을 파티션들 간에 분할하는 방식)이 사용될 수 있고, 파티션들은 공통 요구들(안전, 보안 및 필수성 레벨들)을 갖는 서비스들을 위한 환경들을 제공한다.
예시적인 일 실시예에서, 도 4에 도시된 바와 같이, 본 발명의 예시적인 SOA ECU는 원격 업데이트들(OTA 업데이트들 - 방송 업데이트들)가 차량 내의 다양한 ECU들에 보급될 수 있게 하는 원격 관리 서버 상에 구현될 수 있다. 또한, 본 발명의 예시적인 SOA ECU는 그 자신의 OTA 업데이트 및 그에 의해 제공되는 서비스들을 지원할 수 있다. 일부 실시예들에서, 원격 업데이트의 인증 및 확인을 허용하는 것 이외에, 본 발명의 예시적인 SOA ECU를 갖는 본 발명의 예시적인 컴퓨터 시스템은 인증 서비스를 외부 통신을 갖는 다른 모든 ECU(예를 들어, V2X 통신 ECU, 원격 측정 ECU 등)로 확장하도록 구성될 수 있다. 예시적인 일 실시예에서, 본 발명의 예시적인 SOA ECU를 갖는 본 발명의 예시적인 컴퓨터 시스템은 보안 통신에 사용되는 모든 디지털 인증서를 검증하고 통신에서의 다양한 당사자를 인증하는 인증 기관(CA)을 구현하도록 구성될 수 있다. 일부 실시예들에서, 본 발명의 예시적인 SOA ECU를 갖는 본 발명의 예시적인 컴퓨터 시스템은 모든 이용 가능한 서비스에 액세스할 수 있도록 프로그래밍될 수 있는 확장 가능 서비스 API를 포함하도록 구성될 수 있다. 일부 실시예들에서, 본 발명의 예시적인 SOA ECU를 갖는 본 발명의 예시적인 컴퓨터 시스템은 게이트웨이 서비스를 실행함으로써 상호 접속된 네트워크들 사이의 게이트웨이로서 또한 역할하도록 구성될 수 있다. 일부 실시예들에서, 본 발명의 예시적인 SOA ECU는 (마치 별개의 서브네트워크인 것처럼) 게이트웨이 ECU에 직접 접속되도록 구성될 수 있다.
예시적인 일 실시예에서, 본 발명의 예시적인 SOA ECU를 갖는 본 발명의 예시적인 컴퓨터 시스템은 듀얼 코어 ARM A9 프로세서와 Artix-7 FPGA를 포함하는 Xilinx, Inc.(San Jose, CA)의 Zynq(R)1710 시스템 온 칩(system-on-chip; SoC)에 기초할 수 있다. 그러한 예시적인 셋업은 1GB의 DDR3 RAM 및 4GB의 플래시 SSD를 가질 수 있으며, 이는 본 발명의 시스템을 위한 동작 및 저장 메모리를 제공한다. 이더넷 인터페이스는 Zynq 및 Marvell Alaska PHY(88E1116R) 내의 내장 기가비트 이더넷 컨트롤러를 통한 이더넷 통신에 기초하는 인포테인먼트 네트워크와 같은 하나의 차량 네트워크에 서버를 접속할 수 있다. 다른 실시예는 Broadcom BroadR-Reach 자동차 이더넷 PHY를 이용할 수 있다. 도 4에서, V2X 통신 네트워크(차량 대 모든 것) 통신은 정보를 차량으로부터 차량에 영향을 줄 수 있는 임의의 엔티티로 전달할 수 있으며, 반대의 경우도 가능하다. 일반적으로, 차량 통신 시스템은 V2I(차량 대 기반구조), V2V(차량 대 차량), V2P(차량 대 보행자) V2D(차량 대 디바이스) 및/또는 V2G(차량 대 그리드)와 같은, 그러나 이에 한정되지 않는 하나 이상의 특정 통신 타입 중 적어도 하나를 포함한다. 일부 실시예들에서, 본 발명의 예시적인 SOA ECU를 갖는 본 발명의 예시적인 컴퓨터 시스템은 Zynq SoC(예를 들어, Bosch C_CAN FD8 IP 모듈) 내의 내장 FPGA 상에 구현된 NXP MC33901 송수신기(PHY) 및 컨트롤러를 통해 구현될 수 있는 1 Mbps 이상의 고속 통신을 지원하는 유연한 데이터 레이트를 갖는 CAN(CAN FD-ISO 11898-1: 2015)에 기초하도록 구성될 수 있다. 일부 실시예들에서, 본 발명의 예시적인 SOA ECU를 갖는 본 발명의 예시적인 컴퓨터 시스템이 사용하도록 구성될 수 있는 네트워크 인터페이스는 예를 들어, 모두가 예를 들어 최대 1 Mbps의 전송 레이트로 동작하는 Zynq SoC 내의 내장 컨트롤러 및 NXP TJA1040과 같은 외부 송수신기에 기초하는 CAN 2.OB 인터페이스(ISO 11898-2: 2003)일 수 있지만, 이에 한정되지 않는다.
예시적인 일 실시예에서, QNX Neutrino RTOS(Real-Time Operation System) 마이크로 커널이 분리 커널로서 사용될 수 있다. 암호화 코프로세서는 일반적인 암호화 기능들(예를 들어, AES 암호화, SHA-1 해시 계산, RSA 암호화 및 서명 확인, 난수 생성 등)을 위한 하드웨어 가속화를 포함하는 전용 칩이다. 이러한 비제한적인 실시예에서는, NXP C291 코프로세서가 이용될 수 있다. 예를 들어, 도 5는 본 발명의 예시적인 SOA ECU를 갖는 본 발명의 원격 관리 서버 하드웨어의 예시적인 아키텍처를 도시한다.
일부 실시예들에서, 본 발명의 예시적인 SOA ECU를 갖는 본 발명의 예시적인 컴퓨터 시스템은 임의의 적절한 통신 프로토콜을 이용하여 다른 ECU들(예컨대, LIN, FlexRay, MOST 등)과 통신하도록 구성될 수 있다. 일부 실시예들에서, 본 발명의 예시적인 SOA ECU는 마이크로 커널이 하드웨어 자원들(예를 들어, 통신 인터페이스, 암호화 코프로세서 등)에의 액세스를 보호하여 모든 파티션이 본 발명의 예시적인 SOA ECU의 주 구성에서 미리 결정되는 그의 허용된 설정 자원들에만 액세스하게 하도록 구성될 수 있다. 이 실시예에서, OTA 업데이트는 인포테인먼트 네트워크의 일부인 인포테인먼트 ECU(또는 여러 개가 존재하는 경우에 인포테인먼트 헤드 유닛 ECU)에 접속되는 외부 무선 통신 인터페이스(예를 들어, 3G 셀룰러)를 통해 (자동차 OEM 원격 업데이트 서버로부터) 통신될 수 있다. 예를 들어, 업데이트는 OTA 서비스에 의해 수신되고, 확인 후에 (특정 업데이트와 관련된 ECU들의 세트에 따라) 다른 상호 접속된 네트워크들에 보급될 수 있다. 일부 실시예들에서, 인포테인먼트 네트워크에 접속된 ECU에 대한 업데이트는 또한 본 발명의 예시적인 SOA ECU를 갖는 원격 관리 서버로 전달되고, 확인된 후에 관련 ECU로 전송될 수 있다. 예를 들어, 업데이트를 확인하기 위해, OTA 서비스는 모든 디지털 인증서(X509 준수 인증서)를 관리하는 CA 서비스를 사용할 수 있다. 예를 들어, CA 서비스는 CA 서비스가 관리하는 루트 인증서들의 세트에 대해 외부 또는 내부 통신 당사자에 의해 제공된 디지털 인증서의 유효성을 검증할 수 있을 것이다. 예를 들어, OEM 업데이트 서버는 업데이트와 함께 CA 서비스로 인증할 유효한 인증서를 제공하도록 요구될 것이다. 이 인증서는 차량 제조 동안 본 발명의 예시적인 SOA ECU에 미리 로딩된 루트 인증서를 사용하여 확인될 것이다. 일부 실시예들에서, CA 서비스에 의해 사용되는 루트 인증서는 또한 업데이트 패키지의 일부로서 원격 업데이트될 수 있다. 일부 실시예들에서, 본 발명의 예시적인 SOA ECU를 갖는 본 발명의 예시적인 컴퓨터 시스템은 (예를 들어, SHA-256 알고리즘을 사용하여) 그의 해시를 계산하고 이를 업데이트 패키지와 함께 제공된 (RSA, ECC와 같은 표준 비대칭 암호화 알고리즘을 사용하여 서명된) 서명된 인증서에 포함된 해시 값과 비교함으로써 업데이트 파일의 무결성을 확인하는 추가적인 보안 수단을 이용하도록 구성될 수 있다. 이것은 CA 서비스가 업데이트를 확인하는 것을 가능하게 한다. 본질적으로, CA 서비스는 차량 전반의 신뢰의 루트를 서빙할 수 있다. 예를 들어, 인증 서비스는 (예를 들어, SHA-256을 사용하여) 인증서의 해시 값을 계산하고, 인증서 내의 서명된 해시 값이 루트 인증서의 비공개 키를 사용하여(루트 인증서의 공개 키를 사용하여) 서명되었는지를 체크하는 일반적인 방법을 사용하여 인증서를 검증할 수 있다. 계산된 해시 값과 인증서 내의 첨부된 서명된 값(공개 키를 사용하여 도출됨)이 일치하는 경우, 서명된 값이 검증된다.
일부 실시예들에서, 본 발명의 예시적인 SOA ECU를 갖는 본 발명의 예시적인 컴퓨터 시스템은 차량 및/또는 그의 사용에 관한 원격측정 정보(예를 들어, 엔진 사용률, 연료 효율성, 사용 통계 등)를 전송하기 위해 OEM 및 다른 적절한 엔티티들과 통신할 수 있는 텔레매틱스 ECU들을 관리하도록 구성될 수 있다. 일부 실시예들에서, 본 발명의 예시적인 SOA ECU를 갖는 본 발명의 예시적인 컴퓨터 시스템은 자신들 내의 그리고/또는 차량의 다른 ECU들 내의 특징들을 인에이블/디스에이블하는(예를 들어, 다양한 연료 효율 모드를 인에이블하고, 오동작의 경우에 저성능 모드를 인에이블하고, 기타 등등을 행하는) 다양한 커맨드를 수신할 수도 있는 텔레매틱스 ECU들을 관리하도록 구성될 수 있다. 예를 들어, 텔레매틱스 ECU들은 그들이 통신하고 있는 원격 엔티티들을 (PKI를 통해) 인증하기 위해 인증 서비스를 이용한다(인증 서비스는 또한 CA 서비스를 이용할 수도 있다). 예를 들어, 각각의 엔티티는 인증 서비스에 의해 확인된 검증된 그의 서명된 디지털 인증서(X509 준수)를 포함하는 핸드셰이크와의 통신을 확립한다. 일 실시예에서, 인증 서비스는 그의 동작들 중 일부를 수행하기 위해 CA 서비스의 기능들을 이용할 수 있다. 일부 실시예들에서, CA 서비스는 (직접 소켓 접속 또는 공유 메모리를 통한 메시지 전달과 같이 커널에 의해 중재되는 파티션간 통신 메커니즘들을 통해) 다른 모든 파티션들이 사용하는 인포테인먼트 파티션 내의 인스턴스를 가질 수 있다. 다른 실시예에서, CA 서비스는 한 번에 다수의 파티션으로부터의 서비스의 이용 및 액세스에서의 병목 현상을 피하기 위해 그를 요구하는 모든 파티션에 복제될 수 있다.
일부 실시예들에서, 본 발명의 예시적인 SOA ECU를 갖는 본 발명의 예시적인 컴퓨터 시스템은 차량, 보행자 및/또는 기반구조(교통 신호등, 도로 등)와 같은 외부 엔티티들과의 실시간 통신을 수행할 수 있는 V2X ECU들을 관리하도록 구성될 수 있다. 일부 실시예들에서, 이러한 V2X 통신은 암호화될 수 있다. 예를 들어, 본 발명의 예시적인 SOA ECU를 갖는 본 발명의 예시적인 컴퓨터 시스템은 V2X ECU에 의한 V2X 통신을 위한 안전하고 효율적인 암호화 알고리즘 AES256을 사용하도록 구성될 수 있다. 일부 실시예들에서, 본 발명의 예시적인 SOA ECU(원격 관리 서버)는 내장 암호화 코프로세서 및 통신 암호화 서비스를 이용하여 V2X ECU로의/로부터의 데이터를 암호화 및 해독하도록 구성될 수 있다. 예를 들어, 적절한 암호화 키를 선택하기 위해, 통신 암호화 서비스는 (각각의 엔티티 또는 제공자 또는 지자체 또는 임의의 다른 분리에 대한 개별 인증서들이 있는 경우) 적절한 인증서를 이용할 수 있으며, 이는 양 당사자(V2X ECU 및 외부 엔티티)가 (Diffie-Helman 키 교환 알고리즘과 같은 잘 알려진 알고리즘을 사용하여) 대칭 암호화 키를 교환하는 것을 가능하게 할 것이다. 대칭 키는 실제 V2X ECU가 어떠한 암호화 및/또는 키 관리도 핸들링하지 않고 코프로세서로 하여금 (하드웨어 가속화를 이용하여) 데이터를 고속으로 암호화하고 해독하는 것을 가능하게 할 것이다. 예를 들어, 인증 서비스는 CA 서비스의 기능들을 이용하여 그의 동작들 중 적어도 일부를 수행할 수 있다.
도 6은 일부 실시예들에서 본 발명의 예시적인 SOA ECU("SOA 서버"로서 식별됨)를 갖는 본 발명의 예시적인 컴퓨터 시스템이 이용할 수 있는 네트워크 분리를 갖는 예시적인 소프트웨어 아키텍처를 도시한다. 본 발명의 예시적인 SOA ECU를 갖는 본 발명의 원격 관리 서버의 이러한 예시적인 아키텍처에서, 각각의 파티션은 그의 각각의 서브넷과 통신하는 데 필요한 하드웨어에의 액세스만을 가질 수 있다(예를 들어, 인포테인먼트 네트워크는 이더넷 컨트롤러에의 액세스만을 가질 수 있고, CAN 송수신기에는 액세스할 수 없다). 또한, 액세스는 모든 하드웨어 자원들로 제한될 수 있는데, 예를 들어 서비스가 암호화 코프로세서에의 액세스를 요구하지 않는 파티션은 액세스를 갖지 않을 것이다. 일부 실시예들에서, 본 발명의 예시적인 SOA ECU를 갖는 본 발명의 예시적인 컴퓨터 시스템은 (예를 들어, 메모리 관리 유닛(Memory Management Unit; MMU) 또는 MPU 내의 어드레스 매핑 메커니즘을 통해) 각각의 파티션에 의해 액세스 가능한 하드웨어 어드레스들을 확실히 제한할 수 있는, 따라서 하드웨어 액세스를 제한할 수 있는 마이크로 커널/분리 커널을 통해 액세스 제어를 제공하도록 구성될 수 있다. 일부 실시예들에서, 본 발명의 예시적인 SOA ECU를 갖는 본 발명의 예시적인 컴퓨터 시스템은 필수성(다른 실시예에서는 가능성도)의 레벨에 따라 서비스들을 분리하는 것이 아니라 네트워크들(네트워크당 하나의 파티션)에 따라 또는 이들 양자에 따라 서비스들을 분리하도록 구성될 수 있다. 예를 들어, 본 발명의 예시적인 SOA ECU를 갖는 본 발명의 예시적인 컴퓨터 시스템은 요청 ECU의 식별 토큰(예를 들어, ECU ID)의 확인을 통해 그리고/또는 암호 수단(예를 들어, 인증서 교환)으로 ECU를 인증함으로써 그러한 제한을 시행하도록 구성될 수 있다. 일부 실시예들에서, 본 발명의 예시적인 SOA ECU를 갖는 본 발명의 예시적인 컴퓨터 시스템은 (파티션 내의) 개별 액세스 서버를 이용하여 어떤 특정 서비스가 어떤 하드웨어 자원 및/또는 어떤 다른 파티션에의 액세스를 갖는지를 제한하도록 구성될 수 있다. 예를 들어, 액세스 서버들 및 서비스들은 분리 커널 상의 고유 애플리케이션들로서 구현될 수 있다. 예를 들어, QNX Neutrino의 경우, 그들은 (마이크로 커널이 POSIX API를 완전히 준수하므로) P0SIX 준수 애플리케이션일 수 있다. 표 1은 본 발명의 예시적인 SOA ECU를 갖는 예시적인 원격 관리 서버로부터 서비스를 요청하는 ECU에 대한 예시적인 API의 코드를 제공한다.
Figure 112019079604314-pct00001
Figure 112019079604314-pct00002
상호작용 서비스 요청의 일례는 도 7에 도시된 바와 같이 외부 OEM OTA 업데이트 서버로부터 차량으로 인터넷을 통해 전송되는 방송(OTA) 업데이트이다. 이러한 통신은 인포테인먼트 ECU에 의해 수신되지만, 모든 처리는 본 발명의 예시적인 SOA ECU를 갖는 원격 관리 서버 상에서 실행되는, 인포테인먼트 서버 파티션 상의 OTA 및 CA 서비스에 의해 수행된다. 일부 실시예들에서, 프로세스는 OEM OTA 서버가 인증되고 암호화된 통신 세션을 시작하기 위한 요청을 전송함으로써 시작될 것이다. 이를 위해, OEM 서버는 CA 서비스를 통해 본 발명의 예시적인 SOA ECU를 갖는 원격 관리 서버에 의해 확인될 그의 서명된 디지털 인증서를 제공할 것이다. 확인 후에, 본 발명의 예시적인 SOA ECU를 갖는 원격 관리 서버는 (본 실시예에서 사용되는 AES256 암호화를 위해 CA 서비스를 사용하여) 세션 키를 생성하고, 이것을 OEM 서버 인증서로부터의 공개 키를 사용하여 암호화할 것이다. 이 암호화된 키는 인포테인먼트 ECU를 통해 OEM 서버로 다시 전송될 것이다. 그 후, OEM 서버는 업데이트 패키지를(업데이트 파일 및 인증서를 개별적으로) 세션 키로 암호화하고, 암호화된 업데이트 패키지를 인포테인먼트 ECU로 전송할 것이며, 인포테인먼트 ECU는 이것을 본 발명의 예시적인 SOA ECU를 갖는 원격 관리 서버 내의 OTA 서비스로 전달할 것이다. OTA 서비스는 (CA 서비스를 사용하여) 업데이트 패키지를 해독하고, 그와 함께 온 서명된 인증서 내의 해시와 파일의 실제 계산된 해시를 확인하여 업데이트 파일의 무결성을 확인할 것이다(이 예에서, 해시는 SHA-256을 사용하여 계산되고, 인증서의 서명은 OEM 서버 및 원격 관리 서버 양자의 루트 CA의 비공개 키를 사용하여 수행되며, 이들 양자는 자신의 공개 키를 갖는 루트 인증서를 갖는다). 업데이트 파일이 확인된 후, OTA 서비스는 이것을 업데이트를 적용할 모든 타겟 ECU(들)에 배포할 것이다. 이러한 타겟 ECU(들)는 동작의 상태(예를 들어, 성공, 실패, 에러 등)를 OTA 서비스에 반환할 것이다. OTA 서비스는 모든 응답들을 단일 리스트로 결합하고, 이것을 인포테인먼트 ECU를 통해 OEM 서버로 다시 전송할 수 있다(이 리스트는 또한 세션 키를 사용하여 암호화된 형태로 전송될 수 있다). 이 단계는 세션 및 업데이트 동작을 완료할 것이다.
일례에서, 본 발명의 예시적인 SOA ECU를 갖는 본 발명의 예시적인 컴퓨터 시스템은 예를 들어 본 발명의 예시적인 SOA ECU를 갖는 원격 관리 서버의 TCP/IP 소켓을 통해 그리고/또는 다음과 같은 포맷을 가질 수 있는 CAN 프레임들의 데이터 섹션을 통해 메시지를 전송함으로써 네트워크를 통해 전달되는 API 기능 호출들을 수용하도록 구성될 수 있다.
Figure 112019079604314-pct00003
여기서, "length"는 입력 변수 값의 바이트 단위의 길이일 것이다. 예를 들어, 새줄 문자('\n', ASCII의 OxA)는 서비스의 이름과 입력/출력 값들을 분리할 수 있다.
예를 들어, 서비스의 출력은 다음의 예시적인 포맷으로 클라이언트 ECU로 전송될 결과일 수 있다.
Figure 112019079604314-pct00004
다른 실시예에서, 출력은 또한 다수의 변수를 포함할 수 있다.
도 8은 본 발명의 예시적인 SOA ECU를 갖는 원격 관리 서버 내의 예시적인 V2X 서버의 통신 암호화 서비스의 API 통신의 예를 도시한다. 예를 들어, CAN ID 7(십진수) 및 00000000111(이진수)을 갖는 V2X 네트워크 상의 클라이언트는 (AES256을 사용하여) 트래픽을 암호화하여 외부 인터페이스를 통해 전송해야 한다. 이 네트워크는 11 비트 CAN 식별자를 이용할 것이다(예를 들어, 다른 실시예에서, V2X 네트워크는 CAN 프로토콜(ISO 11898-1: 2015)에 설명된 바와 같이 29 비트 식별자를 이용할 수 있다). 일례에서, 본 발명의 SOA ECU를 갖는 원격 관리 서버는 CAN ID 15(십진수) 및 00000001111(이진수)로서 접속된다. 클라이언트는 문자열 'Parameters 10,5,65,0.4'를 암호화하기를 원할 것이다. 통신 암호화 서비스가 요청을 수신하고, 그것을 해석하면, 본 발명의 예시적인 SOA ECU를 갖는 원격 관리 서버는 이 클라이언트가 그것에 대해 생성된 암호화 키를 갖는지를 검증할 것이다. 이 클라이언트가 갖지 않은 경우, 키가 그것에 대해 생성되고, 한정이 아니라 예로서 플래시 SSD 내의 전용 파티션 상에 저장될 것이다(저장 파티션은 마이크로 커널에 의해 이 서비스에만 매핑될 것이며, 이 파티션은 또한 일부 실시예들에서 암호화될 수 있다). 일부 실시예들에서, 파티션은 클라이언트들(그들의 CAN ID들에 의해 식별됨)의 리스트 및 각각에 대한 각각의 키를 포함할 것이다. 새로운 클라이언트가 추가되면, 엔트리가 리스트에 추가될 것이다. 리스트는 키가 생성된 날짜와 시간도 포함할 수 있으므로, 리스트는 미리 정의된 기간마다 리프레시될 수 있다. 통신 암호화 서비스가 키를 수신하면, 통신 암호화 서비스는 메시지를 암호화하여 다시 클라이언트로 전송할 것이다. 이 예에서, 메시지는 256 비트(끝에 0들로 패딩(padding)된 AES256에 대한 최소 블록 크기 )의 블록에 패딩된다. 이 예에서, 결과적인 암호화된 256 비트 블록(32 바이트)은 다음의 ASCII 시퀀스
Figure 112019079604314-pct00005
로 표현되는 것으로 가정한다. 따라서, 클라이언트는 어떠한 암호화 동작도 수행하지 않고 그리고 암호화 키에 노출되지 않고 통신을 암호화할 수 있을 것이다. 키가 다른 외부 당사자에게 통신되어야 할 경우, 키가 생성되거나 변경되면 비대칭 PKI 암호화를 사용하여 전달될 수 있다. 이 특정 예에서, 본 발명의 예시적인 SOA ECU를 갖는 원격 관리 서버는 하나의 집중식 포인트가 모든 OTA 업데이트를 수신, 검증, 관리 및 배포할 수 있게 하도록 구성된다. 이 특정 예에서, 본 발명의 예시적인 SOA ECU를 갖는 원격 관리 서버는 암호화 및 인증과 같은 다른 통신 보안 서비스들을 제공하도록 구성된다. 일부 실시예들에서, 이러한 본 발명의 구현은 임의의 개별 보안 능력을 포함하도록 외부적으로 통신하는 능력을 요구하는 임의의 ECU로부터의 필요성을 완화할 것이다.
도 9는 다른 차량 ECU에 집중식 보안 서비스를 제공하도록 구성되는 본 발명의 예시적인 SOA ECU(도 9에서 "보안 서버"로서 식별됨)의 예시적인 보안 서버 아키텍처를 도시한다. 이 특정 실시예에서, 본 발명의 예시적인 SOA ECU(보안 서버)는 그에 접속된 다양한 자동차 네트워크들 사이의 안전하고 확실한 분리를 제공하도록 구성될 것이다. 서비스들은 각각의 네트워크에 대해 독립적으로 제공된다. 본 발명의 예시적인 SOA ECU(보안 서버)는 범용 상호작용 서비스 API를 임의의 다른 ECU에 제공할 것이다. 예를 들어, 예시적인 API는 임의의 서비스, 심지어는 미래의 확장을 지원하도록 확장될 수 있다. 도 9의 예의 일부 실시예들에서, 본 발명의 보안 서버는 듀얼 코어 ARM A7 프로세서, SH-4A CPU 코어, AES256 대칭 암호화 가속화를 위한 온보드 암호화 코프로세서, 및 SHA-256 및 RSA 비대칭 암호화를 사용하는 해시 계산 모듈을 포함할 수 있는 르네사스 R-Car E2 (R8A7794) 시스템 온 칩(SoC)에 기초할 수 있다. 일례에서, 본 발명의 보안 서버는 2GB의 DDR3 RAM 및 16GB의 플래시 SSD를 구비하여 시스템에 대한 동작 및 저장 메모리를 제공할 수 있다. 일례에서, 본 발명의 보안 서버는 본 발명의 보안 서버를 V2X 통신 네트워크와 같은 하나의 차량 네트워크에 접속할 수 있고, R-Car E2에 내장된 이더넷 컨트롤러 및 NXP TJA1100과 같은, 그러나 이에 한정되지 않는 외부 이더넷 PHY 모듈에 기초할 수 있는 이더넷 인터페이스를 가질 수 있다. 일례에서, 고속 CAN 1Mbps 인터페이스(ISO 11898 준수)는 본 발명의 보안 서버를 보디 네트워크(도어 잠금/잠금 해제, 경보, 차량 도난 방지기, 원격 키리스 엔트리, 스마트 키 등과 같은 기능들을 제어함)와 같은 다른 차량 네트워크에 접속하는 데 사용될 수 있다. 일례로, 인터페이스는 R-Car E2 상의 내장 컨트롤러 및 NXP TJA1040과 같은 외부 송수신기에 기초할 수 있다. 일례로, 본 발명의 보안 서버는 Sysgo PikeOS 분리 커널 및 하이퍼바이저를 소프트웨어 기반구조의 일부로서 이용할 수 있다. 일부 예에서, 본 발명의 보안 서버는 다른 ECU들(예를 들어, CAN, LIN, FlexRay, MOST 등)과 통신하기 위해 임의의 충분히 적절한 통신 프로토콜을 이용할 수 있다. 일부 예에서, 본 발명의 보안 서버는 적어도 하나의 세션 기반 프로토콜을 이용할 수 있다.
도 10은 차량으로부터의/으로의 외부 통신을 보호하기 위해, (예를 들어, V2X 네트워크에서 ECU들에 의해 요구되는) 예를 들어 데이터 및 통신 암호화 서비스들을 제공하는 데 이용될 본 발명의 예시적인 SOA ECU의 예시적인 보안 서비스 아키텍처를 도시한다. 예를 들어, 차량의 보디 ECU는 예를 들어 경보, 차량 도난 방지기 및 원격 키리스 엔트리 시스템들에 대한 자격증들을 지원하기 위해 보안 저장 서비스를 요구할 것이다. 일부 실시예들에서, 제공되는 암호화 서비스는 임의의 암호화 프로토콜(예를 들어, AES, DES 등)을 포함할 수 있다. 도 10의 본 발명의 아키텍처의 일부 실시예들에서, (예를 들어, 보안 저장 또는 보안 부트 목적을 위한) 정지 데이터의 암호화는 AES256 알고리즘을 사용하여 구현될 수 있고, 전송 데이터의 암호화는 AES256을 사용하여 수행될 수 있다. 예시적인 일 실시예에서, 보안 서버로서의 본 발명의 예시적인 SOA ECU는 외부 통신과의 인증을 이용할 수 있다. 예시적인 일 실시예에서, 보안 서버로서의 본 발명의 예시적인 SOA ECU는 예를 들어 신뢰되는 서드 파티에 의해 서명된 인증서들을 교환함으로써 통신 당사자들의 인증을 수행한다. 예시적인 일 실시예에서, 본 발명의 예시적인 SOA ECU는 PKI 기반구조를 사용하여, 이어서 비대칭 암호화를 사용하여 인증서들을 검증하도록 구성될 것이며, 대칭 키들은 Diffie-Hellman 알고리즘에 의해 교환될 것이다. 예시적인 일 실시예에서, 본 발명의 예시적인 SOA ECU는 비대칭 암호화 서비스(예를 들어, RSA, 타원 곡선 암호화(Elliptic Curve Cryptography; ECC) 등)를 사용하도록 구성될 것이다. 예시적인 일 실시예에서, PKI 인증서는 표준 X509 인증서를 따를 수 있고, 비대칭 암호화는 ECC를 사용하여 구현될 수 있다. 예시적인 일 실시예에서, 암호화 키 및 인증서를 저장하기 위해, 보안 서버로서 작용하는 본 발명의 예시적인 SOA ECU는 예를 들어 모든 데이터가 (예를 들어, 예를 들어 SoC 상의 AES256 코프로세서 및/또는 데이터 암호화 서비스를 사용하여) 암호화된 파일로서 암호화된 방식으로 저장되는 플래시 드라이브 내의 전용 1 GB 파티션을 이용할 수 있다. 예를 들어, 주 암호화 키는 SoC 암호화 코프로세서 내의 전용 온칩 보안 저장소 내에 저장될 수 있다. 또 다른 실시예에서, 암호화 키 및 인증서는 일시적일 수 있다(세션마다 또는 실시간으로 생성되고 RAM과 같은 휘발성 메모리에 저장될 수 있다). 일부 실시예들에서, 각각의 네트워크는 본 발명의 예시적인 개별적인 SOA ECU의 개별 파티션 내에 전용 보안 서버를 구비하여 필요한 서비스를 지원할 수 있다. 예를 들어, 각각의 서비스는 개별 프로세스(개별 애플리케이션)로서 호스팅될 수 있거나, 보안 서버 프로세스는 모든 기능을 호스팅하고, 각각의 서비스 및 각각의 클라이언트에 대해 개별 스레드를 열 수 있다. 예를 들어, 본 발명의 예시적인 SOA ECU에 의해 제공되는 보안 서버 서비스는 배경에서 운영 체제 서비스 또는 데몬(Linux의 경우)으로서 실행되고, 새로운 클라이언트 통신 요청을 청취할 수 있다. 예를 들어, 본 발명의 보안 서버가 보디 네트워크를 서비스하는 경우, 어떠한 OS도 사용되지 않는데, 이는 보안 저장 서비스가 간단하고, OS의 오버헤드가 최소화되기 때문이다. 예를 들어, 보디 보안 서버는 분리 커널의 상부에 위치되는 고유 애플리케이션으로서 구현될 수 있다.
표 2는 V2X 이더넷 네트워크(예를 들어, IP 10.0.0.58) 상의 클라이언트에게 서비스를 제공하는 동안의 본 발명의 보안 서버(본 발명의 예시적인 SOA ECU)에 의한 외부 시스템에 대한 API 요청 호출에 대응하는 예시적인 코드를 제공한다. 예를 들어, 클라이언트는 본 발명의 보안 서버의 청취 포트(예를 들어, 보안 서버의 IP 10.0.0.25 상의 포트 62320)로 메시지를 전송할 것이며, 메시지에서 클라이언트는 필요한 서비스와 모든 필요한 입력 데이터를 식별할 것이다. 예를 들어, 보디 네트워크의 경우, 클라이언트는 하나 이상의 CAN 프레임을 통해 서비스의 이름과 입력 데이터를 전송할 수 있다. 일부 실시예들에서, 본 발명의 보안 서버와 클라이언트 간의 통신은 예를 들어 클라이언트 및 본 발명의 보안 서버 양자에 미리 로딩되고 신뢰되는 인증 당국에 의해 서명되는 디지털 인증서를 사용하여 SSL/TSL를 사용하여 이더넷 기반 네트워크에서 인증 및 암호화될 수 있다(보안 서버 자체가 인증 당국으로 작용할 수도 있다). 외부 시스템에 대한 보안 서버의 API에 대한 코드 기반 예가 아래에 제시된다. 추가되는 추가 서비스들은 그들 자신의 API 호출들을 추가할 것이다.
표 2
Figure 112019079604314-pct00006
Figure 112019079604314-pct00007
예를 들어, AES256을 사용하여 데이터 블록을 암호화하기 위해, V2X 네트워크 상의 클라이언트는 다음의 데이터를 포함하는 메시지를 본 발명의 예시적인 보안 서버(본 발명의 예시적인 SOA ECU)의 포트 62320로 전송할 것이다.
"EncryptAES256 19 asdjnkasdn43254.sda"
여기서, "asdjnkasdn43254.sda"는 암호화될 데이터이고, 그의 길이는 19 바이트(또는 0과 함께 32개의 문자에 패딩될 문자들 - AES256에 대한 최소 블록 크기는 32 바이트임)일 것이다. 그 결과는 "lkajsdlksadj87asd!!jd/kfd;skmfds"가 암호화된 텍스트라고 가정할 때 열린 포트: "EncryptAES256 32 lkajsdlksadj87asd!!jd/kfd;skmfds"를 통해 클라이언트로 다시 전송되는 암호화된 데이터일 수 있다.
일부 실시예들에서, 암호화 키에 대해, 본 발명의 예시적인 보안 서버의 예시적인 보안 서비스는 모든 클라이언트에 대한 고유 키를 생성할 수 있으며, 그는 키를 사용하여 데이터를 암호화할 것이다. 예를 들어, 키는 (본 발명의 예시적인 보안 서버에 내장되는) 암호화 코프로세서 내의 전용 저장소에 저장될 수 있거나, 키들의 수량이 많은 경우, 키들은 보안 파티션 내의 클라이언트 ID들 및 키들의 리스트를 포함하는 개별 파일에 저장될 수 있다. 예를 들어, 이러한 파일은 암호화 코프로세서 내부에 저장되는 고유 보안 서버 암호화 키로 암호화될 수 있다. 일부 실시예들에서, 전용 보안 저장 디바이스(예를 들어, 플래시)가 SoC에 직접 접속될 수 있고, (분리 커널 허가에 의해 보호되는) 본 발명의 보안 서버의 프로세스에 의해서만 액세스 가능하고, 모든 키들은 거기에 저장될 수 있다. 일부 실시예들에서, 암호화 키는 보안 서버에 대한 입력일 수 있거나, 키가 내부적으로 생성되면, 그러한 키는 또한 후속 사용을 위해(예를 들어, 키가 다른 당사자와 교환되어야 하는 통신을 암호화하기 위해) 클라이언트에게 반환될 수 있다. 일부 실시예들에서, 본 발명의 예시적인 보안 서버(도 11에서 "서버"로서 식별됨)는 예를 들어 도 11에 도시된 바와 같은 보안 저장소를 이용할 수 있다. 예를 들어, 하나의 데이터를 안전하게 저장하기 위해, 본 발명의 예시적인 보안 서버는 고유 클라이언트 키를 이용할 수 있다(클라이언트는 그의 IP에 의해 또는 임의의 ID와 같은 다른 수단에 의해 식별할 수 있다). 예를 들어, 보안 저장 서비스는 내부적으로 암호화 서비스를 호출하고, 암호화된 데이터를 수신하고, 키를 전용 파티션에 "ClientIP.VarName.data"라는 이름으로 파일로서 저장할 수 있다.
예를 들어, 보안 서비스들의 집중식 구현을 제공하는 본 발명의 예시적인 보안 서버는 본 발명의 시스템 및 전체 차량의 보안 레벨을 증가시킨다. 예를 들어, 보안 관련 특징들이 올바르게 구현되어야 하고, 세심한 테스트를 필요로 하므로, 보안 서비스들의 집중식 구현은 안전하지 않을 수 있는 그 자신의 보안 구현을 갖는 각각의 애플리케이션 또는 ECU의 위험을 줄일 수 있다. 본 발명은 모든 보안 관련 능력을 안전하고 검증되고 인증된 본 발명의 시스템으로 집중화하여 보안 메커니즘의 신뢰성을 증가시킬 수 있다. 예를 들어, 다양한 ECU들이 소프트웨어 업데이트 및/또는 ECU 추가를 통해 진보할 필요성에 따라, 본 발명의 보안 서버는 또한 추가적인 서비스를 가능하게 하도록 (소프트웨어 업데이트를 통해) 업데이트될 수 있다. 예를 들어, 본 발명의 원리들에 따른 집중식 구현은 비용을 감소시키고 유연성을 증가시키는데, 이는 각각의 능력에 대해 하나의 인스턴스만이 요구되고, 그러한 인스턴스는 필요한 만큼 많은 클라이언트를 서빙할 수 있기 때문이다. 예를 들어, 새로운 애플리케이션이나 ECU가 특정 서비스를 필요로 하는 경우, 그러한 새로운 애플리케이션이나 ECU가 해야 하는 모든 것은 본 발명의 보안 서버로부터 그러한 서비스를 요청하는 것이다. 일부 실시예들에서, 본 발명의 예시적인 아키텍처는 계층화된 가치 체인 산업에서 서비스 지향 아키텍처를 갖는 어려움을 최소화하도록 구성된다. 예를 들어, SOA ECU는 완전히 독립적인 시스템이므로, 임의의 자동차 프로토콜을 통해 통신할 수 있고 다른 ECU와의 임의의 세션이나 동기화를 요구하지 않는 표준 API를 갖는다. 예를 들어, 모든 계층 1 제조자는 인터페이스 사양(특정 SOA ECU가 수신 및 전송해야 하는 메시지들의 리스트)에 의존할 수 있다. 그리고, 각각의 계층 1은 완전히 독립적으로 각각의 ECU를 구현하므로, 그것에 의해 요구되는 서비스에만 완전 비동기 방식으로 액세스한다. 주목할 것은, 본 명세서에 설명된 실시예들은 물론 임의의 적절한 하드웨어 및/또는 컴퓨팅 소프트웨어 언어를 사용하여 구현될 수 있다. 이와 관련하여, 이 분야의 통상의 기술자들은 사용될 수 있는 컴퓨터 하드웨어의 타입, 사용될 수 있는 컴퓨터 프로그래밍 기술의 타입(예를 들어, 객체 지향 프로그래밍) 및 사용될 수 있는 컴퓨터 프로그래밍 언어의 타입(예를 들어, C ++, Basic, AJAX, JavaScript)에 숙련되어 있다. 전술한 예들은 물론 한정이 아니라 예시적인 것이다.
일부 실시예들에서, 본 발명의 예시적인 SOA ECU는 자동차 회사 및 적절한 서드 파티와 같은, 그러나 이에 한정되지 않는 엔티티들이 원격으로 및/또는 실시간으로 하나 이상의 부가 가치 서비스를 차량 수명 전반에서 사용자들에게 제공할 수 있게 하도록 구성/프로그래밍될 수 있다. 일부 실시예들에서, 본 발명의 예시적인 SOA ECU는 가입형 배열의 경우와 같이 공급자에 대한 연속적인 수익 흐름을 창출하는 사용자 경험의 계속적인 개인화를 가능하게 하도록 구성/프로그래밍될 수 있다.
일부 실시예들에서, 본 발명은 적어도 다음의 컴포넌트들: 서비스 지향 아키텍처(SOA)를 갖는 전자 제어 유닛(SOA ECU)을 포함하는 본 발명의 예시적인 시스템을 제공하며, SOA ECU는 본 발명의 적어도 하나의 예시적인 SOA 서버를 포함하고; SOA ECU는 차량 내에 위치되고; 적어도 하나의 SOA 서버는, 차량 내에 위치되는 적어도 하나의 클라이언트 ECU에 적어도 하나의 서비스를 제공하도록 구성되며; 적어도 하나의 SOA 서버는, 적어도 하나의 전용 처리 자원 및 적어도 하나의 전용 메모리 자원을 할당하여 적어도 하나의 서비스를 제공하도록 구성된다.
일부 실시예들에서, 예시적인 SOA ECU는 적어도 하나의 제1 SOA 서버를 포함하는 적어도 하나의 제1 파티션 - 적어도 하나의 제1 SOA 서버는 적어도 하나의 제1 클라이언트 ECU에 적어도 하나의 제1 서비스를 제공하도록 구성되고; 적어도 하나의 제1 SOA 서버는 적어도 하나의 제1 전용 처리 자원 및 적어도 하나의 제1 전용 메모리 자원을 할당하여 적어도 하나의 제1 서비스를 제공하도록 구성됨 -; 적어도 하나의 제2 SOA 서버를 포함하는 적어도 하나의 제2 파티션 - 적어도 하나의 제2 SOA 서버는 적어도 하나의 제2 클라이언트 ECU에 적어도 하나의 제2 서비스를 제공하도록 구성되고; 적어도 하나의 제2 SOA 서버는 적어도 하나의 제2 전용 처리 자원 및 적어도 하나의 제2 전용 메모리 자원을 할당하여 적어도 하나의 제2 서비스를 제공하도록 구성됨 -을 더 포함하며, 적어도 하나의 제1 파티션과 적어도 하나의 제2 파티션은, 분리 커널을 통해 서로 동작적으로 분리된다.
일부 실시예들에서, 적어도 하나의 제1 파티션은, 적어도 하나의 제1 전용 처리 자원 및 적어도 하나의 제1 전용 메모리 자원으로 적어도 하나의 제1 운영 체제(OS)를 실행하도록 구성되고; 적어도 하나의 제2 파티션은, 적어도 하나의 제2 전용 처리 자원 및 적어도 하나의 제2 전용 메모리 자원으로 적어도 하나의 제2 OS를 실행하도록 구성되며; 적어도 하나의 제1 전용 처리 자원 및 적어도 하나의 제2 전용 처리 자원은 적어도 하나의 전용 하드웨어 모듈의 일부이고; 분리 커널은, 적어도 하나의 제1 서비스 또는 적어도 하나의 제2 서비스를 각각 수행하기 위한 각각의 개별 액세스를 적어도 하나의 제1 전용 처리 자원 및 적어도 하나의 제2 전용 처리 자원에 개별적으로 제공하하도록 구성되며; 적어도 하나의 제1 전용 메모리 자원 및 적어도 하나의 제2 전용 메모리 자원은 적어도 하나의 전용 하드웨어 모듈의 일부이고; 분리 커널은, 적어도 하나의 제1 서비스 또는 적어도 하나의 제2 서비스를 각각 수행하기 위한 각각의 개별 액세스를 적어도 하나의 제1 전용 메모리 자원 및 적어도 하나의 제2 전용 메모리 자원에 개별적으로 제공하도록 구성된다.
일부 실시예들에서, 적어도 하나의 제1 SOA 서버는 안전 필수 서버이고, 적어도 하나의 제2 SOA 서버는 비-안전 필수 서버(non-safety critical server)이다.
일부 실시예들에서, 적어도 하나의 제1 클라이언트 ECU는 적어도 하나의 제1 네트워크와 관련되고; 적어도 하나의 제2 클라이언트 ECU는 적어도 하나의 제2 네트워크와 관련되며; 적어도 하나의 제1 네트워크 및 적어도 하나의 제2 네트워크는 별개의 네트워크들이다.
일부 실시예들에서, 분리 커널은, 적어도 하나의 결함 파티션이 적어도 하나의 무결함 파티션에 악영향을 주는 것을 방지 또는 중지하도록 구성된다.
일부 실시예들에서, 적어도 하나의 결함 파티션은 사이버 공격을 받은 파티션이다.
일부 실시예들에서, 적어도 하나의 SOA 서버는, 적어도 하나의 클라이언트 ECU와 관련된 서비스 품질(QoS) 레벨에 적어도 부분적으로 기초하여 적어도 하나의 서비스를 제공하도록 구성된다.
일부 실시예들에서, 적어도 하나의 서비스는 i) 원격 관리 서비스, ii) 원격 모니터링 서비스, iii) 방송(OTA) 업데이트 서비스, iv) 대칭 암호화 서비스, v) 비대칭 암호화 서비스, vi) 인증서 관리 서비스, vii) 중앙 방화벽 서비스, viii) 보안 저장 서비스, ix) 록다운 서비스, x) 침입 검출 서비스, xi) 침입 방지 서비스, xii) 보안 처리 서비스, xiii) 인증 기관(CA) 서비스, xiv) 통신 보안 서비스, xv) 인증 서비스, xvi) 신원 관리 서비스, xviii) 키 관리 서비스, xviii) 업데이트 보급 서비스, xix) 소프트웨어 복구 서비스, xx) 소프트웨어 플래싱 서비스(software flashing service) 및 xvii) 이들의 임의의 조합으로 구성된 그룹으로부터 선택된다.
일부 실시예들에서, SOA ECU는 i) 차량 관련 데이터 및 ii) 차량의 적어도 하나의 사용자에 관한 사용자 관련 데이터 중 적어도 하나를 수집하도록 구성된 적어도 하나의 모듈을 더 포함한다.
일부 실시예들에서, 적어도 하나의 모듈은 또한, 차량 관련 데이터, 사용자 관련 데이터 또는 이들 양자를 서드 파티와 관련된 적어도 하나의 전자 원격 목적지로 전송하는 것을 유발하도록 구성되며; 적어도 하나의 전자 원격 목적지는 차량 외부에 있다.
일부 실시예들에서, SOA ECU는 또한, i) 적어도 하나의 실시간 제1 승인 소프트웨어 변경을 SOA ECU에 도입하는 것, ii) 적어도 하나의 실시간 제2 승인 변경을 적어도 하나의 SOA 서버에 도입하는 것 및 iii) 적어도 하나의 실시간 제3 승인 변경을 적어도 하나의 서비스에 도입하는 것 중 적어도 하나를 가능하게 하도록 구성된다.
일부 실시예들에서, 적어도 하나의 실시간 제2 승인 변경은 1) 적어도 하나의 새로운 서비스를 적어도 하나의 SOA 서버에 실시간으로 추가하는 것, 2) 적어도 하나의 서비스를 적어도 하나의 새로운 서비스로 실시간으로 교체하는 것, 3) 적어도 하나의 SOA 서버로부터 적어도 하나의 서비스를 실시간으로 제거하는 것 및 4) 적어도 하나의 SOA 서버의 구성을 실시간으로 변경하는 것 중 적어도 하나이다.
일부 실시예들에서, 적어도 하나의 실시간 제1 승인 변경, 적어도 하나의 실시간 제2 승인 변경, 및 적어도 하나의 실시간 제3 승인 변경은 차량의 외부에 있는 적어도 하나의 외부 소스로부터 도입된다.
일부 실시예들에서, 적어도 하나의 실시간 제1 승인 변경, 적어도 하나의 실시간 제2 승인 변경, 및 적어도 하나의 실시간 제3 승인 변경 중 적어도 하나는 i) 차량의 적어도 하나의 차량 특유의 특성, ii) 사용자의 적어도 하나의 사용자 특유의 특성, iii) 적어도 하나의 사용자 요청, iv) 적어도 하나의 서비스 제공자 요청 및 v) 적어도 하나의 제조자 요청 중 하나에 적어도 부분적으로 기초한다.
일부 실시예들에서, 적어도 하나의 서비스는 차량의 조립 동안 적어도 하나의 SOA 서버에 추가되고, 적어도 하나의 서비스는 차량의 수명 동안 특정 기간 동안 원격으로 활성화되도록 구성된다.
일부 실시예들에서, 적어도 하나의 서비스는, 복수의 별개의 클라이언트 ECU들에 이용 가능한 전용 애플리케이션 프로그램 인터페이스(API) 요청을 통해 호출되도록 구성된다. 일부 실시예들에서, 적어도 하나의 SOA 서버는, 적어도 하나의 보안 정책에 따라 복수의 별개의 클라이언트 ECU들에 복수의 서비스들을 제공하도록 구성된다.
일부 실시예들에서, 적어도 하나의 보안 정책은 i) 특정 클라이언트 ECU에의 액세스, ii) 특정 클라이언트 ECU에 의해 이용될 적어도 하나의 특정 서비스의 가용성, iii) 적어도 하나의 QoS 요구 및 iv) SOA ECU의 특정 하드웨어 모듈에의 액세스 중 적어도 하나를 제어하는 적어도 하나의 규칙을 포함한다.
일부 실시예들에서, 적어도 하나의 모듈은 또한, 차량 관련 데이터, 사용자 관련 데이터 또는 이들 양자의 전송을 유발하기 전에 차량 관련 데이터, 사용자 관련 데이터 또는 이들 양자로 적어도 하나의 액션을 수행하도록 구성된다.
일부 실시예들에서, 본 발명은 적어도, 서비스 지향 아키텍처를 갖는 전자 제어 유닛(SOA ECU)을 제공하는 단계를 포함하는 본 발명의 예시적인 방법을 제공하며, SOA ECU는 적어도 하나의 SOA 서버를 포함하며; SOA ECU는 차량 내에 위치되고; 적어도 하나의 SOA 서버는, 차량 내에 위치되는 적어도 하나의 클라이언트 ECU에 적어도 하나의 서비스를 제공하도록 구성되며; 적어도 하나의 SOA 서버는, 적어도 하나의 전용 처리 자원 및 적어도 하나의 전용 메모리 자원을 할당하여 적어도 하나의 서비스를 제공하도록 구성된다.
본 발명의 다수의 실시예가 설명되었지만, 이들 실시예는 한정이 아니라 예시적일 뿐이며, 본 명세서에서 설명된 본 발명의 방법들, 본 발명의 시스템들 및 본 발명의 디바이스들이 서로와의 임의의 조합으로 이용될 수 있는 것을 포함하는 많은 수정이 이 분야의 통상의 기술자들에게 자명할 수 있음을 이해한다. 또한, 다양한 단계들은 임의의 원하는 순서로 수행될 수 있다(그리고 임의의 원하는 단계들이 추가될 수 있고/있거나 임의의 원하는 단계들이 제거될 수 있다).

Claims (30)

  1. 시스템에 있어서,
    서비스 지향 아키텍처(service oriented architecture; SOA)를 갖는 전자 제어 유닛(electronic control unit; ECU)(SOA ECU)을 포함하고,
    상기 SOA ECU은 차량 내에 위치되고,
    상기 SOA ECU은,
    적어도 하나의 파티션(partition)을 포함하고, 상기 적어도 하나의 파티션은,
    적어도 하나의 SOA 서버를 포함하고,
    상기 적어도 하나의 파티션은,
    i) 보안 분리 기능(secure separation functionality),
    ii) 보안 파티셔닝 기능(secure partitioning functionality),
    iii) 보안 하이퍼바이저 기능(secure hypervisor functionality), 또는
    iv) 이들의 임의의 조합
    중 적어도 하나를 제공하도록 구성된 커널과 연관되고,
    상기 적어도 하나의 SOA 서버는, 적어도 하나의 제1 클라이언트 ECU에 적어도 하나의 서비스를 제공하도록 구성되고,
    상기 적어도 하나의 SOA 서버는, 적어도 하나의 제1 서비스 전용 처리 자원(service dedicated processing resource) 및 적어도 하나의 서비스 전용 메모리 자원을 할당하여 상기 적어도 하나의 서비스를 제공하도록 구성되며,
    상기 적어도 하나의 서비스는,
    i) 상기 적어도 하나의 파티션에의 적어도 하나의 제1 통신을 검증(verify)하는 것,
    ii) 상기 적어도 하나의 파티션으로부터의 적어도 하나의 제2 통신을 검증하는 것,
    iii) 상기 적어도 하나의 파티션 내의 적어도 하나의 제3 통신을 검증하는 것,
    iv) 상기 적어도 하나의 파티션에의 상기 적어도 하나의 제1 통신을 인증(validate)하는 것,
    v) 상기 적어도 하나의 파티션으로부터의 상기 적어도 하나의 제2 통신을 인증하는 것,
    vi) 상기 적어도 하나의 파티션 내의 적어도 하나의 제3 통신을 인증하는 것, 또는
    vii) 이들의 임의의 조합
    중 적어도 하나를 수행하도록 구성된 적어도 하나의 보안 서비스를 포함하는 것인, 시스템.
  2. 제1항에 있어서, 상기 적어도 하나의 보안 서비스는, 미리 정의된 보안 정책을 구현하도록 구성되는 것인, 시스템.
  3. 제1항에 있어서, 상기 적어도 하나의 보안 서비스는,
    i) 침입 검출 시스템(intrusion detection system; IDS) 서비스,
    ii) 침입 보호 시스템(intrusion protection system; IPS) 서비스,
    iii) 인증서 인증 서비스(certificate validation service; CA service),
    iv) 암호화 서비스,
    v) 보안 통신 록다운 서비스(secure communication Lockdown service), 또는
    vi) 이들의 임의의 조합
    중 적어도 하나를 포함하는 것인, 시스템.
  4. 제1항에 있어서, 상기 커널은 분리 커널이고,
    상기 분리 커널은, 상기 적어도 하나의 보안 서비스를 이용함으로써, 상기 적어도 하나의 제1 통신, 상기 적어도 하나의 제2 통신, 또는 상기 적어도 하나의 제3 통신 중 적어도 하나를 중재(mediate)하도록 구성되는 것인, 시스템.
  5. 제4항에 있어서, 상기 분리 커널은, 상기 적어도 하나의 보안 서비스를 통한 라우팅(routing)을 통해 상기 적어도 하나의 제1 통신, 상기 적어도 하나의 제2 통신, 및 상기 적어도 하나의 제3 통신 중 하나 이상을 라우팅하도록 구성되는 것인, 시스템.
  6. 제5항에 있어서, 상기 적어도 하나의 보안 서비스를 통한 라우팅은, 상기 분리 커널에 의해 시행(enforce)되는 바이패스 불가능인 필수 라우팅(non-bypassable mandatory routing)을 포함하는 것인, 시스템.
  7. 제1항에 있어서, 상기 적어도 하나의 보안 서비스는 상기 적어도 하나의 파티션의 보안 파티션에서 로컬로(locally) 구현되고,
    상기 적어도 하나의 보안 서비스는 상기 적어도 하나의 SOA 서버에 의해 관리되는 것인, 시스템.
  8. 제1항에 있어서, 상기 적어도 하나의 제1 통신, 상기 적어도 하나의 제2 통신, 및 상기 적어도 하나의 제3 통신 중 적어도 하나는, 상기 적어도 하나의 SOA 서버에 의해 제공되는 복수의 서비스들 사이에 있는 것인, 시스템.
  9. 제1항에 있어서, 상기 적어도 하나의 제1 통신, 상기 적어도 하나의 제2 통신, 또는 상기 적어도 하나의 제3 통신 중 적어도 하나는,
    i) 상기 적어도 하나의 서비스 이외의 서비스들 사이에 있거나,
    ii) 애플리케이션들 사이에 있거나, 또는
    iii) 서비스들 및 애플리케이션들 둘 다 사이에 있는 것인, 시스템.
  10. 제1항에 있어서, 상기 적어도 하나의 제1 통신, 상기 적어도 하나의 제2 통신, 또는 상기 적어도 하나의 제3 통신 중 적어도 하나는, 공통 ECU의 2개 이상의 파티션들 사이에 있는 것인, 시스템.
  11. 제1항에 있어서, 상기 적어도 하나의 제1 통신, 상기 적어도 하나의 제2 통신, 또는 상기 적어도 하나의 제3 통신 중 적어도 하나는, 상기 차량의 개별 ECU들 사이에 있거나, 상기 차량의 ECU와 상기 차량에 관한 외부 엔티티(external entity) 사이에 있거나, 또는 양쪽 모두인 것인, 시스템.
  12. 제1항에 있어서, 상기 적어도 하나의 보안 서비스는, 외부 서비스를 이용하도록 구성되는 것인, 시스템.
  13. 제1항에 있어서, 상기 적어도 하나의 보안 서비스는, CORBA(Common Object Request Broker Architecture)를 포함하는 것인, 시스템.
  14. 제13항에 있어서, 상기 CORBA는 보안 정책의 적어도 일부를 구현하고,
    상기 보안 정책은 보안 규칙(security rule)들의 세트를 포함하는 것인, 시스템.
  15. 제1항에 있어서, 상기 적어도 하나의 보안 서비스는, DDS(Data Distribution Service)를 포함하는 것인, 시스템.
  16. 제15항에 있어서, 상기 DDS는 보안 정책의 하나 이상의 규칙을 구현하도록 구성되는 것인, 시스템.
  17. 제1항에 있어서, 상기 SOA ECU은 ESB(enterprise service bus)를 더 포함하고,
    상기 적어도 하나의 SOA 서버는 상기 ESB를 통해 적어도 하나의 통신을 라우팅하는 것인, 시스템.
  18. 제17항에 있어서, 상기 ESB는 보안 정책의 하나 이상의 규칙을 구현하도록 구성되는 것인, 시스템.
  19. 제1항에 있어서, 상기 적어도 하나의 제1 통신, 상기 적어도 하나의 제2 통신, 또는 상기 적어도 하나의 제3 통신 중 적어도 하나는, 상기 적어도 하나의 파티션 내에 있는 것인, 시스템.
  20. 제1항에 있어서, 상기 적어도 하나의 제1 통신, 상기 적어도 하나의 제2 통신, 또는 상기 적어도 하나의 제3 통신 중 적어도 하나는 다음의 방식들,
    i) 동일한 파티션 내의 적어도 2개,
    ii) 동일한 ECU 내의 하나의 파티션 내의 적어도 하나 및 상이한 파티션 내의 하나,
    iii) 동일한 ECU 내의 개별 커널 상에서 실행되는 적어도 하나,
    iv) 동일한 ECU 내의 개별 처리 자원 상에서 실행되는 적어도 하나,
    v) 상기 차량 내의 다른 ECU 내의 적어도 하나, 및
    vi) 상기 차량에 관한 외부 엔티티 내의 적어도 하나
    중 하나 이상으로 분산된 2개 이상의 서비스들 또는 2개 이상의 애플리케이션들 사이에 있는 것인, 시스템.
  21. 방법에 있어서,
    서비스 지향 아키텍처(SOA)를 갖는 전자 제어 유닛(ECU)(SOA ECU)을 제공하는 단계를 포함하고,
    상기 SOA ECU은 차량 내에 위치되고,
    상기 SOA ECU은,
    적어도 하나의 파티션을 포함하고, 상기 적어도 하나의 파티션은,
    적어도 하나의 SOA 서버를 포함하고,
    상기 적어도 하나의 파티션은,
    i) 보안 분리 기능,
    ii) 보안 파티셔닝 기능,
    iii) 보안 하이퍼바이저 기능, 또는
    iv) 이들의 임의의 조합
    중 적어도 하나를 제공하도록 구성된 커널과 연관되고,
    상기 적어도 하나의 SOA 서버는, 적어도 하나의 제1 클라이언트 ECU에 적어도 하나의 서비스를 제공하도록 구성되고,
    상기 적어도 하나의 SOA 서버는, 적어도 하나의 제1 서비스 전용 처리 자원 및 적어도 하나의 서비스 전용 메모리 자원을 할당하여 상기 적어도 하나의 서비스를 제공하도록 구성되며,
    상기 적어도 하나의 서비스는,
    i) 상기 적어도 하나의 파티션에의 적어도 하나의 제1 통신을 검증하는 것,
    ii) 상기 적어도 하나의 파티션으로부터의 적어도 하나의 제2 통신을 검증하는 것,
    iii) 상기 적어도 하나의 파티션 내의 적어도 하나의 제3 통신을 검증하는 것,
    iv) 상기 적어도 하나의 파티션에의 상기 적어도 하나의 제1 통신을 인증하는 것,
    v) 상기 적어도 하나의 파티션으로부터의 상기 적어도 하나의 제2 통신을 인증하는 것,
    vi) 상기 적어도 하나의 파티션 내의 적어도 하나의 제3 통신을 인증하는 것, 또는
    vii) 이들의 임의의 조합
    중 적어도 하나를 수행하도록 구성된 적어도 하나의 보안 서비스를 포함하는 것인, 방법.
  22. 제21항에 있어서, 상기 적어도 하나의 보안 서비스는, 미리 정의된 보안 정책을 구현하도록 구성되는 것인, 방법.
  23. 제21항에 있어서, 상기 적어도 하나의 보안 서비스는,
    i) 침입 검출 시스템(IDS) 서비스,
    ii) 침입 보호 시스템(IPS) 서비스,
    iii) 인증서 인증 서비스(CA service),
    iv) 암호화 서비스,
    v) 보안 통신 록다운 서비스, 또는
    vi) 이들의 임의의 조합
    중 적어도 하나를 포함하는 것인, 방법.
  24. 제21항에 있어서, 상기 커널은 분리 커널이고,
    상기 분리 커널은, 상기 적어도 하나의 보안 서비스를 이용함으로써, 상기 적어도 하나의 제1 통신, 상기 적어도 하나의 제2 통신, 또는 상기 적어도 하나의 제3 통신 중 적어도 하나를 중재하도록 구성되는 것인, 방법.
  25. 제24항에 있어서, 상기 분리 커널은, 상기 적어도 하나의 보안 서비스를 통한 라우팅을 통해 상기 적어도 하나의 제1 통신, 상기 적어도 하나의 제2 통신, 및 상기 적어도 하나의 제3 통신 중 하나 이상을 라우팅하도록 구성되는 것인, 방법.
  26. 제25항에 있어서, 상기 적어도 하나의 보안 서비스를 통한 라우팅은, 상기 분리 커널에 의해 시행되는 바이패스 불가능인 필수 라우팅을 포함하는 것인, 방법.
  27. 제21항에 있어서, 상기 적어도 하나의 보안 서비스는 상기 적어도 하나의 파티션의 보안 파티션에서 로컬로 구현되고,
    상기 적어도 하나의 보안 서비스는 상기 적어도 하나의 SOA 서버에 의해 관리되는 것인, 방법.
  28. 제21항에 있어서, 상기 적어도 하나의 제1 통신, 상기 적어도 하나의 제2 통신, 및 상기 적어도 하나의 제3 통신 중 적어도 하나는, 상기 적어도 하나의 SOA 서버에 의해 제공되는 복수의 서비스들 사이에 있는 것인, 방법.
  29. 제21항에 있어서, 상기 적어도 하나의 제1 통신, 상기 적어도 하나의 제2 통신, 또는 상기 적어도 하나의 제3 통신 중 적어도 하나는,
    i) 상기 적어도 하나의 서비스 이외의 서비스들 사이에 있거나,
    ii) 애플리케이션들 사이에 있거나, 또는
    iii) 서비스들 및 애플리케이션들 둘 다 사이에 있는 것인, 방법.
  30. 제21항에 있어서, 상기 적어도 하나의 제1 통신, 상기 적어도 하나의 제2 통신, 또는 상기 적어도 하나의 제3 통신 중 적어도 하나는 다음의 방식들,
    i) 동일한 파티션 내의 적어도 2개,
    ii) 동일한 ECU 내의 하나의 파티션 내의 적어도 하나 및 상이한 파티션 내의 하나,
    iii) 동일한 ECU 내의 개별 커널 상에서 실행되는 적어도 하나,
    iv) 동일한 ECU 내의 개별 처리 자원 상에서 실행되는 적어도 하나,
    v) 상기 차량 내의 다른 ECU 내의 적어도 하나, 및
    vi) 상기 차량에 관한 외부 엔티티 내의 적어도 하나
    중 하나 이상으로 분산된 2개 이상의 서비스들 또는 2개 이상의 애플리케이션들 사이에 있는 것인, 방법.
KR1020197022889A 2017-01-05 2018-01-05 서비스 지향 아키텍처에 기초하는 집중식 서비스 ecu를 구현하도록 구성된 관련 디바이스들을 갖는 특별히 프로그래밍된 컴퓨팅 시스템들 및 그 사용 방법들 KR102479224B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020227043965A KR102556388B1 (ko) 2017-01-05 2018-01-05 서비스 지향 아키텍처에 기초하는 집중식 서비스 ecu를 구현하도록 구성된 관련 디바이스들을 갖는 특별히 프로그래밍된 컴퓨팅 시스템들 및 그 사용 방법들

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201762442745P 2017-01-05 2017-01-05
US62/442,745 2017-01-05
PCT/IB2018/000068 WO2018127790A2 (en) 2017-01-05 2018-01-05 Specially programmed computing systems with associated devices configured to implement centralized services ecu based on services oriented architecture and methods of use thereof

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020227043965A Division KR102556388B1 (ko) 2017-01-05 2018-01-05 서비스 지향 아키텍처에 기초하는 집중식 서비스 ecu를 구현하도록 구성된 관련 디바이스들을 갖는 특별히 프로그래밍된 컴퓨팅 시스템들 및 그 사용 방법들

Publications (2)

Publication Number Publication Date
KR20190095963A KR20190095963A (ko) 2019-08-16
KR102479224B1 true KR102479224B1 (ko) 2022-12-20

Family

ID=62708403

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020197022889A KR102479224B1 (ko) 2017-01-05 2018-01-05 서비스 지향 아키텍처에 기초하는 집중식 서비스 ecu를 구현하도록 구성된 관련 디바이스들을 갖는 특별히 프로그래밍된 컴퓨팅 시스템들 및 그 사용 방법들
KR1020237023754A KR102605987B1 (ko) 2017-01-05 2018-01-05 서비스 지향 아키텍처에 기초하는 집중식 서비스 ecu를구현하도록 구성된 관련 디바이스들을 갖는 특별히 프로그래밍된 컴퓨팅 시스템들 및 그 사용 방법들
KR1020227043965A KR102556388B1 (ko) 2017-01-05 2018-01-05 서비스 지향 아키텍처에 기초하는 집중식 서비스 ecu를 구현하도록 구성된 관련 디바이스들을 갖는 특별히 프로그래밍된 컴퓨팅 시스템들 및 그 사용 방법들

Family Applications After (2)

Application Number Title Priority Date Filing Date
KR1020237023754A KR102605987B1 (ko) 2017-01-05 2018-01-05 서비스 지향 아키텍처에 기초하는 집중식 서비스 ecu를구현하도록 구성된 관련 디바이스들을 갖는 특별히 프로그래밍된 컴퓨팅 시스템들 및 그 사용 방법들
KR1020227043965A KR102556388B1 (ko) 2017-01-05 2018-01-05 서비스 지향 아키텍처에 기초하는 집중식 서비스 ecu를 구현하도록 구성된 관련 디바이스들을 갖는 특별히 프로그래밍된 컴퓨팅 시스템들 및 그 사용 방법들

Country Status (6)

Country Link
US (3) US10055260B2 (ko)
EP (2) EP4113302B1 (ko)
JP (2) JP7316609B2 (ko)
KR (3) KR102479224B1 (ko)
CN (2) CN110383773B (ko)
WO (1) WO2018127790A2 (ko)

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110383773B (zh) * 2017-01-05 2022-02-25 伽德诺克斯信息技术有限公司 具有相关设备的被配置成基于面向服务的体系结构实施集中式服务ecu的专门编程的计算系统及其使用方法
EP3444742B1 (en) * 2017-08-16 2021-06-16 Veoneer Sweden AB A driver assistance apparatus and method
US10841284B2 (en) * 2018-05-30 2020-11-17 Lear Corporation Vehicle communication network and method
US10977381B2 (en) * 2018-06-28 2021-04-13 Mohammad Mannan Protection system and method against unauthorized data alteration
US11129024B2 (en) * 2018-08-21 2021-09-21 Continental Teves Ag & Co. Ohg Vehicle-to-X communication device and method for realizing a safety integrity level in vehicle-to-X communication
CN110858804B (zh) * 2018-08-25 2022-04-05 华为云计算技术有限公司 确定证书状态的方法
US20210398364A1 (en) * 2018-10-02 2021-12-23 Volkswagen Aktiengesellschaft Method for executing one or more vehicle applications using a vehicle computation unit of a vehicle, vehicle computation unit, method for providing a permission information manifest for a vehicle application, permission information manifest for a vehicle application and computer program
US10439825B1 (en) * 2018-11-13 2019-10-08 INTEGRITY Security Services, Inc. Providing quality of service for certificate management systems
EP3671450A1 (en) * 2018-12-18 2020-06-24 Aptiv Technologies Limited Virtual electronic control units in autosar
JP7141942B2 (ja) * 2018-12-18 2022-09-26 ルネサスエレクトロニクス株式会社 半導体装置および電子制御装置
CN109818936A (zh) * 2018-12-29 2019-05-28 北京奇安信科技有限公司 基于ip地址的服务器信息处理方法及装置
JP7183841B2 (ja) * 2019-02-08 2022-12-06 株式会社デンソー 電子制御装置
US10675977B1 (en) * 2019-03-11 2020-06-09 Indiev, Inc Vehicle integrated computer
CN111756782B (zh) * 2019-03-28 2023-03-14 比亚迪股份有限公司 基于异构操作系统的消息传输系统、方法和车辆
IT201900006242A1 (it) * 2019-04-23 2020-10-23 Italdesign Giugiaro Spa Perfezionamenti nella trasmissione di dati o messaggi a bordo di un veicolo mediante un protocollo di comunicazione SOME/IP
KR20200142945A (ko) * 2019-06-14 2020-12-23 현대자동차주식회사 자동차 및 그를 위한 사용자 설정 메뉴 관리 방법
DE102019210225A1 (de) * 2019-07-10 2021-01-14 Robert Bosch Gmbh Verfahren und Vorrichtung zur Analyse dienste-orientierter Kommunikation
CN110535740B (zh) * 2019-08-29 2020-10-02 华人运通(江苏)技术有限公司 信号处理方法、装置、存储介质及终端
WO2021084929A1 (ja) * 2019-10-28 2021-05-06 住友電気工業株式会社 中継装置、車載通信システム、車両および車載通信方法
WO2021084927A1 (ja) * 2019-10-28 2021-05-06 住友電気工業株式会社 中継装置、車載通信システム、車両および車載通信方法
JP7447912B2 (ja) 2019-10-28 2024-03-12 住友電気工業株式会社 中継装置、車載通信システム、車載通信プログラムおよび車載通信方法
CN110806889B (zh) * 2019-11-01 2023-05-26 中电凯杰科技有限公司 一种基于5g的zynq程序远程升级系统及升级方法
EP3828748A1 (en) 2019-11-27 2021-06-02 AO Kaspersky Lab System and method for access control in electronic control units of vehicles
RU2750626C2 (ru) 2019-11-27 2021-06-30 Акционерное общество "Лаборатория Касперского" Система и способ управления доступом в электронных блоках управления транспортными средствами
DE112020005928T5 (de) * 2019-12-02 2022-11-17 Excelfore Corporation Masteragent und verteilte Agentenarchitektur für Fahrzeuge
CN111124624B (zh) * 2019-12-24 2023-05-02 浙江大学 一种基于TriCore架构处理器的操作系统任务上下文管理方法
CN111200807B (zh) * 2019-12-30 2024-03-29 上海博泰悦臻网络技术服务有限公司 一种基于蓝牙的信息交互方法及其装置
US11893092B2 (en) * 2020-01-17 2024-02-06 Sony Group Corporation Privilege auto platform
DE102020104405A1 (de) * 2020-02-19 2021-08-19 HELLA GmbH & Co. KGaA Vorrichtung und Verfahren zum Verbinden einer serviceorientierten Kommunikation mit einer signalbasierten Kommunikation
DE102020104408A1 (de) 2020-02-19 2021-08-19 HELLA GmbH & Co. KGaA Fahrzeugkomponente zur Bereitstellung wenigstens eines Dienstes in einem Fahrzeug mit einer Vorfiltereinheit
CN111629002B (zh) * 2020-05-28 2022-02-08 爱瑟福信息科技(上海)有限公司 车辆ecu的ota安全升级方法及其系统
CN112230630A (zh) * 2020-12-09 2021-01-15 奥特酷智能科技(南京)有限公司 基于dds协议在自动驾驶中实现诊断的方法
GB2602369B (en) * 2020-12-23 2023-04-19 Motional Ad Llc Security gateway
CN113067855A (zh) * 2021-03-12 2021-07-02 广州小鹏汽车科技有限公司 一种通信方法、装置和车辆
CN115190179A (zh) * 2021-04-02 2022-10-14 华为技术有限公司 一种车辆及其资源调度方法
CN113448314A (zh) * 2021-06-28 2021-09-28 重庆长安汽车股份有限公司 一种基于硬件资源的整车功能服务化抽象系统及方法
WO2023277637A1 (ko) 2021-07-01 2023-01-05 엘지전자 주식회사 신호 처리 장치 및 이를 구비하는 차량용 통신 장치
CN113821275B (zh) * 2021-09-27 2023-04-28 重庆长安新能源汽车科技有限公司 一种汽车软件功能远程启闭方法、系统及计算机可读存储介质
US11829748B1 (en) 2021-09-29 2023-11-28 Geotab Inc. Systems and methods for safe over-the-air update of electronic control units in vehicles
US11681518B2 (en) * 2021-09-29 2023-06-20 Geotab Inc. Systems and methods for safe over-the-air update of electronic control units in vehicles
CN114301934A (zh) * 2021-11-24 2022-04-08 岚图汽车科技有限公司 一种辅助驾驶组件的服务接口系统、控制方法及其设备
GB2614272A (en) * 2021-12-23 2023-07-05 Continental Automotive Tech Gmbh Secure automotive system
CN114261356B (zh) * 2022-02-23 2022-11-15 北京翼辉信息技术有限公司 车载中央计算机
DE102022001115B3 (de) 2022-03-31 2023-07-13 Mercedes-Benz Group AG System zur sicheren Datenübertragung zwischen einem Kraftfahrzeug und einem Clouddienst
CN114809855A (zh) * 2022-04-28 2022-07-29 重庆长安汽车股份有限公司 一种基于soa架构的车窗控制系统
EP4287054A1 (en) * 2022-06-03 2023-12-06 Siemens Aktiengesellschaft Computer implemented method for updating a safety software code, computer hardware device, computer program and a computer-readable medium
CN115048154B (zh) * 2022-07-06 2024-05-03 北斗星通智联科技有限责任公司 车载配置信息管理方法、装置、系统及存储介质
CN115346287A (zh) * 2022-07-18 2022-11-15 北京经纬恒润科技股份有限公司 信息配置方法及装置
CN115361322B (zh) * 2022-08-15 2023-10-17 华人运通(山东)科技有限公司 一种some/ip协议的测试系统及方法
DE102022209779A1 (de) * 2022-09-16 2024-03-21 Robert Bosch Gesellschaft mit beschränkter Haftung Mitigation von manipulationen in einem rechnersystem mit zonenseparation für eine vorrichtung, insbesondere für ein fahrzeug
CN115801910B (zh) * 2023-02-10 2023-05-05 中汽智联技术有限公司 统一不同ca系统接口协议的方法和系统
CN116405570A (zh) * 2023-06-07 2023-07-07 北京集度科技有限公司 一种服务分配的装置、方法及智能车辆

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080039982A1 (en) 2006-08-10 2008-02-14 Denso Corporation Method and device for managing tasks of in-vehicle electronic control unit

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6484082B1 (en) * 2000-05-24 2002-11-19 General Motors Corporation In-vehicle network management using virtual networks
EP1421479A2 (en) * 2000-06-22 2004-05-26 Microsoft Corporation Distributed computing services platform
CA2370580A1 (en) * 2002-02-05 2003-08-05 Handshake Interactive Technologies Inc Thin client based intelligent transportation system
US9224394B2 (en) * 2009-03-24 2015-12-29 Sirius Xm Connected Vehicle Services Inc Service oriented speech recognition for in-vehicle automated interaction and in-vehicle user interfaces requiring minimal cognitive driver processing for same
US20070121641A1 (en) * 2005-10-21 2007-05-31 Hovey Matthew N Method and system for network services with a mobile vehicle
EP2003851A1 (en) * 2007-06-13 2008-12-17 Saab Ab An arrangement of components
JP2011076322A (ja) * 2009-09-30 2011-04-14 Hitachi Automotive Systems Ltd 車載通信端末装置および車両内部データ配信方法
CN101710361B (zh) * 2009-11-13 2012-05-23 北京航空航天大学 基于面向服务架构的分布式交通仿真装置及其仿真方法
US20110307746A1 (en) * 2010-06-07 2011-12-15 Sullivan Jason A Systems and Methods for Intelligent and Flexible Management and Monitoring of Computer Systems
US20110302357A1 (en) * 2010-06-07 2011-12-08 Sullivan Jason A Systems and methods for dynamic multi-link compilation partitioning
CN101930629A (zh) * 2010-06-09 2010-12-29 金龙联合汽车工业(苏州)有限公司 车辆信息采集装置的远程更新系统及其更新方法
US8924715B2 (en) * 2010-10-28 2014-12-30 Stephan V. Schell Methods and apparatus for storage and execution of access control clients
CN102183945B (zh) * 2011-01-17 2012-11-14 武汉理工大学 一种多功能电控汽车远程故障诊断系统
US20120215491A1 (en) * 2011-02-21 2012-08-23 Snap-On Incorporated Diagnostic Baselining
EP2817761A2 (en) * 2012-02-24 2014-12-31 Missing Link Electronics Inc. Partitioning systems operating in multiple domains
EP2998706B1 (en) * 2012-05-11 2020-03-11 Toyota Jidosha Kabushiki Kaisha Position information providing device, position information providing system
US9374679B2 (en) * 2012-06-11 2016-06-21 Samsung Electronics Co., Ltd. Service providing device, service providing system including user profile server, and service providing method for service providing device
JP5915492B2 (ja) * 2012-10-10 2016-05-11 株式会社デンソー 車両用ダイアグノーシス装置
KR101427871B1 (ko) * 2012-12-20 2014-08-08 현대오트론 주식회사 이기종 네트워크에서 can 통신 기반 ecu의 상태를 조회하기 위한 장치 및 그 방법
US20140189888A1 (en) * 2012-12-29 2014-07-03 Cloudcar, Inc. Secure data container for an ambient intelligent environment
US20140188970A1 (en) * 2012-12-29 2014-07-03 Cloudcar, Inc. System and method enabling service and application roaming
JP6069039B2 (ja) * 2013-03-11 2017-01-25 日立オートモティブシステムズ株式会社 ゲートウェイ装置及びサービス提供システム
EP3056394B1 (en) * 2013-10-08 2022-11-30 ICTK Holdings Co., Ltd. Vehicle security network device and design method therefor
JP5864510B2 (ja) * 2013-10-18 2016-02-17 富士通株式会社 修正プログラム確認方法、修正プログラム確認プログラム、及び情報処理装置
JP6523298B2 (ja) * 2014-01-06 2019-05-29 ジョンソン コントロールズ テクノロジー カンパニーJohnson Controls Technology Company コンピュータシステムと車両インターフェースシステム
US9231998B2 (en) * 2014-01-22 2016-01-05 Ford Global Technologies, Llc Vehicle-specific computation management system for cloud computing
JP6435925B2 (ja) * 2015-03-04 2018-12-12 株式会社デンソー サービス提供システム、ecu、及び、外部装置
CN105353696A (zh) * 2015-12-15 2016-02-24 重庆联导金宏电子有限公司 为远程控制系统提供控制基础的车载控制器
CN105329211A (zh) * 2015-12-15 2016-02-17 重庆联导金宏电子有限公司 具有车况实时显示功能的车辆控制系统
EP3440818B1 (en) * 2016-04-06 2022-06-22 Karamba Security Reporting and processing controller security information
WO2017175157A1 (en) * 2016-04-06 2017-10-12 Karamba Security Secure controller operation and malware prevention
DE102016222740A1 (de) * 2016-11-18 2018-05-24 Continental Automotive Gmbh Verfahren für ein Kommunikationsnetzwerk und elektronische Kontrolleinheit
DE102016222741A1 (de) * 2016-11-18 2018-05-24 Continental Automotive Gmbh Verfahren für ein Kommunikationsnetzwerk und elektronische Kontrolleinheit
CN110383773B (zh) * 2017-01-05 2022-02-25 伽德诺克斯信息技术有限公司 具有相关设备的被配置成基于面向服务的体系结构实施集中式服务ecu的专门编程的计算系统及其使用方法
EP3759885B1 (en) * 2018-02-27 2022-08-17 Excelfore Corporation Broker-based bus protocol and multi-client architecture

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080039982A1 (en) 2006-08-10 2008-02-14 Denso Corporation Method and device for managing tasks of in-vehicle electronic control unit

Also Published As

Publication number Publication date
WO2018127790A3 (en) 2018-09-20
CN110383773B (zh) 2022-02-25
US20180349192A1 (en) 2018-12-06
EP3566400A4 (en) 2020-07-29
EP3566400B1 (en) 2022-08-17
KR102556388B1 (ko) 2023-07-17
WO2018127790A2 (en) 2018-07-12
EP4113302B1 (en) 2024-01-24
EP4113302A1 (en) 2023-01-04
KR20230110826A (ko) 2023-07-25
KR20190095963A (ko) 2019-08-16
US10191777B2 (en) 2019-01-29
US20190155650A1 (en) 2019-05-23
KR102605987B1 (ko) 2023-11-23
JP7316609B2 (ja) 2023-07-28
CN114465719A (zh) 2022-05-10
KR20230004922A (ko) 2023-01-06
JP2023130454A (ja) 2023-09-20
JP2020504390A (ja) 2020-02-06
US10776169B2 (en) 2020-09-15
US20180189103A1 (en) 2018-07-05
US10055260B2 (en) 2018-08-21
CN110383773A (zh) 2019-10-25
EP3566400A2 (en) 2019-11-13

Similar Documents

Publication Publication Date Title
KR102479224B1 (ko) 서비스 지향 아키텍처에 기초하는 집중식 서비스 ecu를 구현하도록 구성된 관련 디바이스들을 갖는 특별히 프로그래밍된 컴퓨팅 시스템들 및 그 사용 방법들
Bella et al. Toucan: A protocol to secure controller area network
WO2021093334A1 (zh) 车辆升级包处理方法和装置
EP3887937A1 (en) Techniques for improving security of encrypted vehicle software updates
Kornaros et al. Towards holistic secure networking in connected vehicles through securing CAN-bus communication and firmware-over-the-air updating
Iorio et al. Protecting in-vehicle services: Security-enabled SOME/IP middleware
WO2021032132A1 (zh) 车载系统安全保护方法及设备
CN109314645A (zh) 数据提供系统、数据保护装置、数据提供方法以及计算机程序
Pesé et al. S2-can: Sufficiently secure controller area network
Alam Securing vehicle Electronic Control Unit (ECU) communications and stored data
Schweppe et al. Securing car2X applications with effective hardware software codesign for vehicular on-board networks
CN109314644A (zh) 数据提供系统、数据保护装置、数据提供方法以及计算机程序
KR20220002455A (ko) Some/ip 통신 프로토콜을 사용하여 차량 내 데이터 또는 메시지들 전송 개선
US20150113125A1 (en) System and Method for Providing the Status of Safety Critical Systems to Untrusted Devices
Bouard et al. Driving automotive middleware towards a secure ip-based future
WO2019069308A1 (en) SYSTEM AND METHOD FOR VALIDATION OF COMMUNICATION AUTHENTICITY IN ONBOARD NETWORKS
Lu et al. Security-aware real-time transmission for automotive can-fd networks
CN116388994A (zh) 一种低资源消耗的大数据包通信安全认证方法
CN117178573A (zh) 服务访问方法及装置

Legal Events

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