KR101972724B1 - 컴퓨터 네트워크를 개선하기 위한 컴퓨터로-구현되는 암호화 방법, 및 단말, 시스템 및 이를 위한 컴퓨터-판독 가능한 매체 - Google Patents

컴퓨터 네트워크를 개선하기 위한 컴퓨터로-구현되는 암호화 방법, 및 단말, 시스템 및 이를 위한 컴퓨터-판독 가능한 매체 Download PDF

Info

Publication number
KR101972724B1
KR101972724B1 KR1020187008370A KR20187008370A KR101972724B1 KR 101972724 B1 KR101972724 B1 KR 101972724B1 KR 1020187008370 A KR1020187008370 A KR 1020187008370A KR 20187008370 A KR20187008370 A KR 20187008370A KR 101972724 B1 KR101972724 B1 KR 101972724B1
Authority
KR
South Korea
Prior art keywords
key
node
message
network
nodes
Prior art date
Application number
KR1020187008370A
Other languages
English (en)
Other versions
KR20180066048A (ko
Inventor
애어런 산자야 베네데크
Original Assignee
트릴리움 인코퍼레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 트릴리움 인코퍼레이티드 filed Critical 트릴리움 인코퍼레이티드
Publication of KR20180066048A publication Critical patent/KR20180066048A/ko
Application granted granted Critical
Publication of KR101972724B1 publication Critical patent/KR101972724B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/162Implementing security features at a particular protocol layer at the data link layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/168Implementing security features at a particular protocol layer above the transport layer
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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/80Wireless
    • H04L2209/805Lightweight hardware, e.g. radio-frequency identification [RFID] or sensor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/84Vehicles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/062Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying encryption of the keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/126Applying verification of the received information the source of the received data

Abstract

다중-노드 디지털 통신 네트워크 내의 단말에 있어서, 다음 중 임의의 하나 이상을 포함하는 방법: 상기 다중-노드 디지털 통신 네트워크 내의 모든 참여 노드들에서, 상기 적어도 하나의 대칭 제1 키(들)를 생성하고, 적어도 하나의 비대칭적으로 설정된 제2 키(들)을 사용하여, 상기 다중-노드 디지털 통신 네트워크의 다수의 참여 노드들에 암호화된 형태로 상기 적어도 하나의 제1 키(들)를 안전하게 배포하는 단계 - 상기 참여 노드들은 적어도 하나의 메시지-전송 노드(들)과 적어도 하나의 메시지-수신 노드(들)을 포함함 - ; 상기 적어도 하나의 메시지-전송 노드(들)로부터 상기 메시지-수신 노드(들)로의 하나 이상의 통신들을 포함하는 하나 이상의 통신 세션을 위한 적어도 하나의 대칭 제3 키(들)를 생성하는 단계; 상기 적어도 하나의 메시지-전송 노드(들)에서 상기 적어도 하나의 제3 키(들)를 사용하여 적어도 하나의 페이로드 메시지를 암호화하고, 상기 암호화된 적어도 하나의 페이로드 메시지를 전송하고, 및 상기 적어도 하나의 메시지-수신 노드(들)에서 상기 암호화된 적어도 하나의 페이로드 메시지를 수신하는 단계; 상기 적어도 하나의 제1 키(들)를 사용하여 상기 적어도 하나의 제3 키(들)를 암호화하고, 상기 암호화된 적어도 하나의 제3 키(들)를 전송하고, 및 상기 적어도 하나의 메시지-수신 노드(들)에서 상기 암호화된 적어도 하나의 제3 키(들)를 수신하는 단계; 상기 적어도 하나의 메시지-수신 노드(들)에서, 상기 안전하게 배포된 적어도 하나의 제1 키(들)를 사용하여 상기 적어도 하나의 제3 키(들)를 복호화하는 단계; 및 상기 적어도 하나의 메시지-수신 노드(들)에서, 상기 복호화된 적어도 하나의 제3 키(들)를 사용하여 상기 적어도 하나의 암호화된 페이로드 메시지를 복호화하는 단계. 단말, 시스템, 및 컴퓨터 판독 가능 매체도 개시된다.

Description

컴퓨터 네트워크를 개선하기 위한 컴퓨터로-구현되는 암호화 방법, 및 단말, 시스템 및 이를 위한 컴퓨터-판독 가능한 매체
본 발명은, 하나 이상의 컨트롤러 영역 네트워크(CAN) 버스, 로컬 인터커넥트 네트워크(LIN) 버스 또는 관련되는 컴퓨터 네트워크를 포함하는, 디지털 방식으로 저장되고 디지털 방식으로 동작되는 네트워크에 통신적으로 연결되는, 하나 이상의 컴퓨터(들), 마이크로 컨트롤러(들) 또는 마이크로 프로세서(들) 중, 데이터 처리 효율을 증가시키고 데이터 보안을 향상시키는 하나 이상에 대한 컴퓨터로-구현되는 암호화 방법; 및 단말, 시스템 및 이를 위한 컴퓨터-판독 가능한 매체에 관한 것이다.
자동차는, 사용되는 반도체 또는 다른 하드웨어(MCU/MPU/SoC 또는 ECU), 하드웨어 인터커넥트 및 최종적으로 하드웨어 목적 또는 기능 중 하나 이상에 의해 정의되는 네트워크 전체에 퍼져있는 다중 통신 노드들을 가지는 분산 네트워크로서 볼 수 있다. 각 노드는 하나 이상의 세분화되는 기능(들)을 가진다. 현대의 자동차 제조사 및 모델의 대다수에서 사용되는 표준 통신 프로토콜은 몇 년 전에 정의되었으므로, 네트워크 대역폭에 제한이 있으며, 이러한 네트워크의 8 바이트, 4 바이트 및 2 바이트 메시지 크기 제한은 일반적인 구성이다. 더욱 일반적인 자동차 네트워크 프로토콜 중 일부는, 예를 들어, 컨트롤러 영역 네트워크(CAN: controller area network) 및 로컬 인터커넥트 네트워크(LIN: local interconnect network)이다. 더 새로운 표준이 정의되었으나(예: CAN FD); 일반적으로 이러한 새로운 네트워크 표준은 비용 및 다른 엔지니어링 제약으로 인해 자동차 산업에서 아직 널리 채택되지 않았다.
자동차 및 다른 자동차가, 예를 들어, 3G 또는 4G 연결을 통해 인터넷에, 증가적으로 연결되고, 광대역 이더넷 액세스를 획득함에 따라, 해커는 새로운 공격면(들)을 악용할 수 있다. 해커들은 최근 (2015 년 7 월)에 공개된 해킹인 Jeep® Grand Cherokee®과 같은 해킹 및 차량 제어 획득을 성공적으로 해 왔으며, 이 해킹은, 멀리 떨어진 그들의 집의 편안함으로부터, 노트북과 인터넷 연결을 제외하고는 지배함 없이, 불법으로 원격 제어되고 두 명의 해커에 의해 도로에서 벗어나게 된다.
하나의 해결책은 차량과의 외부 통신을 위한 게이트웨이로서 사용되는 노드를 보호하는 것이다. 하지만, 이는 잠재적인 네트워크 운영 실패의 하나의 포인트를 드러낼 수 있다. 외부 게이트웨이를 성공적으로 해킹함으로써, 차량은 공격자에 의한 원치 않는 위험한 외부 제어에 다시 노출된다.
또 다른 옵션은 네트워크 내의 버스에서 전송되는 모든 내부 통신 메시지를 암호화하는 것이다. 이는 인증되는, 유효한 노드에만 특정 버스의 다른 노드에 액세스할 수 있으므로, 잠재적인 외부 가상 사이버 공격의 우위를 저지할 수 있다. 상업 기관과 학계는 통상적인 암호화 기술, 암호 및 키 관리 시스템(즉, AES, 3DES, RC4, 등)을 사용하여 자동차 CAN 버스 상에서의 메시징을 암호화하려고 시도했다. 하지만, 거의 모든 블록 암호는 각 암호화 프로세스마다 16 바이트 블록 크기를 요구하기 때문에, CAN 또는 LIN과 같은 통신 전송 프로토콜의 대역폭 제한 내에서의 단일 CAN 또는 LIN 메시지에 대해 독립적인 암호화 프로세스를 동작할 수 없다.
기본적으로, 표준 블록 암호는 CAN 버스에 대한 사이클 시간(각 암호화 사이클 당 전송되는 2 개의 메시지)을 2 배로 요구하거나 LIN 버스에 대해 요구되는 사이클 시간(각 암호화 사이클 당 4 개의 메시지)을 4 배로 요구한다. 이는 실시간 자동차 애플리케이션에 의해 요구되는 시간보다 적은 암호화-전송-복호화 사이클 시간에 대해 허용하지 않는다.
다른 접근은, 스트림 암호가 단일 비트까지의 구성 가능한 크기의 블록 상에서 동작할 수 있으므로, 스트림 암호를 사용하여 다양한 버스를 암호화하는 것이다. 하지만, 스트림 암호는, 실-시간 자동차 환경 내에 존재하지 않는, 노드들 간의 시간 동기화를 위해 실시간 클럭을 요구한다.
예를 들어, CAN 버스(또는 LIN 버스) 디지털 프라이버시 관리를 생성하는 더욱 효과적인 방법을 제공하는 것이 바람직할 것이다. 하지만, 대부분의 전문가는, 안전한 CAN 버스를 달성하는 것이 불가능하지 않더라도, 매우 어려울 것임을 예상한다.
이 공개는, 이에 제한되지는 않지만, 네트워크(들)에 보안을 제공하는 다음 측면들이 포함된다:
본 개시의 제1 및 제2 측면들은, 다음 중 임의의 하나 이상을 포함하는 각각에 대한, 동작들을 야기시키는 각각의 방법 및 컴퓨터 판독 가능 매체(또는 대안적으로 "컴퓨터 저장 장치"를 통한)에 관한 것일 수 있으나 관한 것이 아닐 수 있다:
상기 다중-노드 디지털 통신 네트워크(multiple-node digital communication network) 내의 모든 참여 노드들(participating nodes)에서, 상기 적어도 하나의 대칭 제1 키(들)를 생성하고, 적어도 하나의 비대칭적으로 설정된 제2 키(들)을 사용하여, 상기 다중-노드 디지털 통신 네트워크의 다수의 참여 노드들에게 암호화된 형태로 상기 적어도 하나의 제1 키(들)를 안전하게 배포(distribute)하는 단계 - 상기 참여 노드들은 적어도 하나의 메시지-전송 노드(들)(message-transmitting node(s))과 적어도 하나의 메시지-수신 노드(들)(message-receiving node(s))을 포함함 - ;
상기 적어도 하나의 메시지-전송 노드(들)로부터 상기 메시지-수신 노드(들)로의 하나 이상의 통신들을 포함하는 하나 이상의 통신 세션을 위한 적어도 하나의 대칭 제3 키(들)를 생성하는 단계;
상기 적어도 하나의 메시지-전송 노드(들)에서 상기 적어도 하나의 제3 키(들)를 사용하여 적어도 하나의 페이로드 메시지(payload message)를 암호화하고, 상기 암호화된 적어도 하나의 페이로드 메시지를 전송하고, 및 상기 적어도 하나의 메시지-수신 노드(들)에서 상기 암호화된 적어도 하나의 페이로드 메시지를 수신하는 단계;
상기 적어도 하나의 제1 키(들)를 사용하여 상기 적어도 하나의 제3 키(들)를 암호화하고, 상기 암호화된 적어도 하나의 제3 키(들)를 전송하고, 및 상기 적어도 하나의 메시지-수신 노드(들)에서 상기 암호화된 적어도 하나의 제3 키(들)를 수신하는 단계;
상기 적어도 하나의 메시지-수신 노드(들)에서, 상기 안전하게 배포된 적어도 하나의 제1 키(들)를 사용하여 상기 적어도 하나의 제3 키(들)를 복호화하는 단계; 및
상기 적어도 하나의 메시지-수신 노드(들)에서, 상기 복호화된 적어도 하나의 제3 키(들)를 사용하여 상기 적어도 하나의 암호화된 페이로드 메시지를 복호화하는 단계.
본 개시의 제3 및 제4 측면들은 각각의 프로세서-기반 단말 및 프로세서-기반 시스템에 대한 것일 수도 있고 그렇지 않을 수도 있으며, 각각은 임의의 하나 이상의 (1) 적어도 하나의 프로세서; 및 상기 적어도 하나의 프로세서에 의해 실행될 때, 상기 적어도 하나의 프로세서가 다음 중 임의의 하나 이상을 수행하게 하는, 명령어들을 저장하는 적어도 하나의 메모리, 및 (2) 이를 위한 모듈 또는 수단을 포함할 수 있다.
다중-노드 디지털 통신 네트워크 내의 모든 참여 노드들에 걸쳐, 적어도 하나의 대칭 제1 키(들)을 생성하고, 적어도 하나의 비대칭적으로 설정되는 제2 키(들)를 사용하여, 암호화된 형태로 적어도 하나의 제1 키(들)를 다중-노드 디지털 통신 네트워크의 다수의 참여 노드들에 안전하게 배포 - 참여 노드들은 적어도 하나의 메시지-전송 노드(들) 및 적어도 하나의 메시지-수신 노드(들)를 포함 -;
상기 적어도 하나의 메시지-전송 노드(들)로부터 상기 메시지-수신 노드(들)로의 하나 이상의 통신들을 포함하는 하나 이상의 통신 세션에 대한 적어도 하나의 대칭 제3 키(들)를 생성;
상기 적어도 하나의 메시지-전송 노드(들)에서 적어도 하나의 제3 키를 사용하여 적어도 하나의 페이로드 메시지를 암호화하고, 상기 암호화되는 적어도 하나의 페이로드 메시지를 전송하고, 상기 암호화되는 적어도 하나의 페이로드 메시지를 상기 적어도 하나의 메시지-수신 노드(들)에서 수신;
상기 적어도 하나의 제1 키(들)를 사용하여 상기 적어도 하나의 제3 키(들)를 암호화하고, 상기 암호화된 적어도 하나의 제3 키(들)를 전송하고, 상기 암호화된 적어도 하나의 제3 키(들)를 상기 적어도 하나의 메시지-수신 노드(들)에서 수신;
상기 적어도 하나의 메시지-수신 노드(들)에서 상기 안전하게 배포되는 적어도 하나의 제1 키(들)를 사용하여 상기 적어도 하나의 제3 키(들)을 복호화; 및
상기 적어도 하나의 메시지-수신 노드(들)에서, 상기 복호화되는 적어도 하나의 제3 키를 사용하여 상기 적어도 하나의 암호화되는 페이로드 메시지를 복호화.
본 발명의 추가 또는 대체적인 측면들은 첨부되는 청구항들에서 알 수 있다. 다양한 실시 예들의 구조 및 동작뿐만 아니라, 실시 예들의 추가적인 측면들, 실시 예들, 특징들, 및 이점들은 첨부되는 도면들을 참조하여 아래에 상세히 기술된다.
도 1은, 실시 예가 구현 될 수 있는, 하나 이상의 컨트롤러 영역 네트워크 (CAN) 버스 컴퓨터 네트워크 환경(들)을 포함하는 예시적인 네트워크의 개략도이다.
도 2는, 실시 예에 따른, 소프트웨어 구성 요소들의 도면이다.
도 3a-3e는, 실시 예에 따른, 예시적인 동작을 도시하는 흐름도이다.
도 4는, 실시 예가 구현 될 수 있는, 적어도 3 개의 예시적으로 디지털 방식으로 저장되고 디지털 방식으로 동작되는 컴퓨터 네트워크 환경의 개략도이다.
도 5는, 실시 예에서 사용될 수 있는, 여러가지 네트워크 특징에 따라, 실시 예를 구현하는데 유용한 예시적인 컴퓨터를 도시한다.
도 6은 모바일 단말에서의 도 5의 컴퓨터의 예시적인 실시 예를 도시한다.
명세서의 일부를 형성하고 그와 함께 판독되어야 하는, 첨부한 도면들에서, 다양한 견해에서 유사한 특징들을 나타내기 위해 유사한 참조 번호가 사용된다.
본 발명의 실시 예들은 하나 이상의 데이터 세트 변환 명령들의 계산과 관련되며, 어떤 경우에는, 적어도 하나의 로컬 또는 원격 CAN 버스, LIN 버스 또는 원격 컴퓨터(들) (예를 들어, 제한되지는 않으나, 데이터를 조작하거나 모니터하는 서버(들)의, 지리적으로 다른 통신적으로 연결되는, 저장소 중 하나 이상의 임의의 조합)로의 명령들의 전송과 관련된다. 궁극적으로, 특정 방법, 단말, 시스템 및 컴퓨터-판독 가능한 매체의 실시 예가 아니나, 이 명령들은, CAN 버스 또는 LIN 버스 마이크로 컨트롤러(들), 서버(들), 저장 장치(들) 또는 가지고 있거나 동작 중에 있는 데이터를 암호화/복호화할 수 있는 다른 컴퓨터 하드웨어를 포함하는 하나 이상의 네트워크들에서 실행될 수 있고, 실행되지 않을 수도 있다. 궁극적으로, 네트워크되는 CAN 버스, LIN 버스 또는 관련되는 컴퓨터 네트워크들 상에서 무단으로 열람, 해킹 또는 조작할 수 있는 데이터가 줄어든다.
예상치 못하게도, 데이터 보안과 기술 활용이 공존할 수 없으므로, 기술적으로 파생되는 긴장감을 생성할 수 있다. 예를 들어, 현대의 자동차의 모든 시스템은, 로컬적-또는-원격적으로-생성되는 명령들을 사용하여 수동으로-구동되거나 자동으로-동작되는 경우에도, 해킹되어 부분적으로 또는 완전히 무단 제어가 되거나 볼 수 있다. 이러한 전례가 없는 위험은 특정 디지털 상호 작용 플랫폼에 의해 제공되는 기술적 효율성에서 기인될 수 있다. 각 차량 외부의 다른 비-CAN 네트워크들은 유사한 문제들을 나타낸다.
본 명세서의 실시 예는, 특히 민감한 자동차 조작 데이터의 관리와 관련하여, 데이터를 저장하는데 필요한 저장 공간, 데이터를 집계하고 계산하는데 요구되는 대역폭, 및 이전에 안전하게 기능하도록 요구되는 컴퓨팅 자원, 시간 및 에너지 중 하나 이상을 감소시킨다.
본 발명의 실시 예는 기존의 대역폭 제약이 있는 내부 네트워크(예를 들어, CAN 버스, LIN 버스 등)에 거의 영향을 미치지 않으면서, 환경(예를 들어, 자동차) 내부의 분산 네트워크를 보호하는 수단을 포함한다.
본 명세서의 실시 예는 실-시간 자동차 애플리케이션에 필요한 것으로 정의되는 3 밀리세컨드 임계치 내에서 8 바이트, 4 바이트 및 2 바이트 경계에서 메시지 페이로드를 암호화하기 위해 특별히 설계되거나 설계되지 않을 수 있다. 이러한 기능은 암호화와 같은 예방적인 조치를 지원할 뿐만 아니라 악의적인 노드를 손상시키거나 빅 데이터를 활용하여 악의적인 공격의 출처를 식별하도록 반격 조치가 설계된다.
실시 예는 CAN 버스, LIN 버스 또는 관련되는 컴퓨터 네트워크에 연결되는 모든 노드까지 (현재 사용중인)동작중 설치되거나 설치되지 않을 수 있고, 기존의 자동차 분산 네트워크를 통해 엔드-투-엔드 암호화 및 키 관리를 제공한다.
실시 예에서, 명령은 암호를 사용하여 메시지 페이로드를 암호화함으로써 애플리케이션 계층에서 동작한다.
실시 예에서, 키 관리 기술은 암호화되는 가상 채널을 통해 구현되며, 변수, 미리 결정되는, 규칙적인, 주기 및 랜덤 주파수 중 임의의 하나 이상에서 네트워크 상의 모든 노드들에 새로운 세션 키(들)를 전송하는데 사용되거나 사용되지 않을 수 있다.
실시 예에서, 본 명세서에 개시되는, 비-제한적인 기술적 이점들 및/또는 다른 것들은, 본 명세서에 개시되는 특징들의 특정 조합이 실시 예에서 발견되는 것에 의존하며, (a) 상-술된 기술적인 긴장의 존재를 발견하고, (b) 본 명세서에서 부분적으로 기술되는 기술적 해결책을 발명함으로써, 지속적이고 힘든 연구를 통해서만 실현된다.
실시 예에서, 결과적인 장점은, 제한되지는 않으나, 다음 중 하나 이상을 포함할 수도 포함하지 않을 수도 있다:
(1) 버스의 성능에 거의 영향을 미치지 않으면서 실-시간 자동차 애플리케이션에 사용하기 위해 CAN 및 LIN 버스를 포함하는 자동차 분산 내부 네트워크 내의 메시지를 암호화, 예를 들어, 자동차 애플리케이션에 필요한 a <3 밀리세컨드 사이클 시간 임계치;
(2) 모든 참여 노드들 간의 마스터 키를 안전하게 설정.
(3) 주기적 또는 의사 랜덤 간격에서 암호화되는 가상 채널을 통해 통신 버스 상의 참여 노드에 새로운 세션 키를 안전하게 배포;
(4) 악의적인 노드(해커 노드)에 대한 반격 공격 시작, 다음을 포함할 수 있으나 제한되지는 않는: 악의적인 노드 충돌, 빅 데이터 및 상업 분석 엔진을 활용하여 해킹 원의 머신 정체와 위치, 기타 알려지지 않은 정보를 발견할 수 있음.
(5) 기존 애플리케이션 메시지 프로토콜 또는 추가 하드웨어 비용에 대한 변경 없이, 하나 이상의 다른 장점들을 수행.
(6) 다른 장점들 중 하나 이상을 수행하나, 하드웨어 구조에 구속 받지 않고, 운영 체제에 구속 받지 않고, 비-CAN 전송 상의 사용과 관련한 전송에 구속 받지 않고, 암호에 구속 받지 않음.
실시 예에서, 데이터 세트 변환에 의해 이루어지는 동작은 특정 데이터의 프라이버시를 보존하거나 교정함으로써 데이터 보안을 향상시킨다.
실시 예에서, 데이터 세트 변환에 의해 이루어지는 동작은 각 단말에서 시스템 운영 효율을 증가시킨다.
실시 예에서, 데이터 세트 변환에 의해 이루어지는 동작은, 데이터 스트링 및 객체의 프라이버시를 보존하거나 교정함으로써 데이터 보안을 향상시키는 것과 반면에, 시스템 운영 효율을 증가시키는 것 사이의 최적 균형을 이루고, 적어도 하나의 디지털 방식으로 저장되고 디지털 방식으로 동작되는 CAN 버스, LIN 버스 또는 관련되는 컴퓨터 네트워크에 통신적으로 연결되는 하나 이상의 컴퓨터들 간의 데이터 교환 및 결합을 지속한다.
도 1-6를 참조하면, 다음은 적어도 2 개의 키를 사용하여 하나 이상의 CAN 버스(들), LIN 버스(들) 또는 관련되는 컴퓨터 네트워크(들)를 포함하는 네트워크를 보안하기 위한 암호화 시스템을 설명한다: (1) 네트워크(100) 내의 하나 이상의 노드들 사이에서 전송되는 임의의 메시지를 암호화하는데 사용될 수 있고, 특히 세션 키(들)을 암호화하는데 사용되는 하나 이상의 마스터 키(들)(MK); 및 (2) 폐기되기 전에 보안 메시지 전송에 사용되거나 사용되지 않을 수 있는, 하나 이상의 세션 키(들)(SK).
실시 예에서, MK 및 SK는 모두 초-경량 암호화(ULWE: ultra-lightweight encryption) 프로토콜을 사용하여 메시지들을 암호화하는 데 사용되는 대칭 키들이다.
실시 예에서, 마스터 키는 네트워크가 동작하기 시작할 때 우선 생성되고, 선택적으로, 네트워크의 사용 중에 대체되거나 대체되지 않을 수도 있다. 마스터 키가 교체되는 시간은 네트워크를 구성하는 사용자에 의해 사용자 정의 할 수 있다.
실시 예에서, 네트워크(100)는 다음 중 하나 이상을 수행한다: 데이터 암호화가 발생하는 키를 반복적으로 변경함으로써 노드들의 네트워크를 통해 보안 암호화를 가능하게 하고; 8 바이트 CAN 버스 또는 LIN 버스에 의해 제한되는 네트워크 내의 하나 이상의 노드들에 걸쳐 안전한 마스터 키 설정에 대한 방법을 제공하고; 초기 참여자를 설정하기 위한 정적 화이트 리스트 기반 인증 프로세스, 및 메시지 전송의 속도 또는 크기에 영향을 주지 않는 런타임 인증 프로세스를 저장하고; 및 하나 이상의 노드들에 걸쳐 암호화 세션 키 설정의 보안 동기화를 제공한다.
네트워크에서의 하나의 실시 예는, 효과적인 암호화는 네트워크의 권한이 없는 사용자가 해당 네트워크의 임의의 노드(예: 차량의 CAN 버스)에서 운영을 시작함과, 하나 이상의 권한이 없는 노드들에 대한 권한이 없는 인증 및 해당 네트워크 내에서 전송되는 하나 이상의 메시지들에 대한 다른 공격들(예: 메시지에서 하나 이상의 비트들을 변경)을 방지할 수 있으므로, 전송 이전 모든 데이터를 암호화하는 것이다. 실제로, 이는 적용하는 다음의 이유들 중 하나 이상이 분야의 숙련된 기술자에 의해 고려되므로, CAN 버스 또는 LIN 버스에 대해서 현재 행해지지 않는다: (i) 실시간으로 보안 체크(인증)를 수행하기 위해 더 큰 프로세서 요구 사항으로 인해 비용이 증가할 것이고, (ii)(블록 암호 크기와 매칭하도록 2 개 이상의 메시지들을 함께 암호화하므로) 메시지 전송에 있어 잠정적인 마찰이 있을 것이고, (iii) IVN CAN 버스, LIN 버스 또는 관련되는컴퓨터 네트워크들 데이터를 암호화하기 위해 더 작은 코드 크기가 요구되므로, 비실용적이고, (iv) 비대칭 키 설정 프로세스들은 일반적으로 대기 시간 때문에 실-시간 애플리케이션들에 사용되므로, 이러한 제한되는 네트워크들의 암호화 프로세스에서 사용할 수 없다(더 많은 양의 데이터가 시스템을 통하여 통과하고 시스템에 의해 처리되어 암호화가 구현되도록, 대기가 필요). 본 명세서의 실시 예에서, 시스템에 대한 프로세싱 요구 사항들을 상당히 증가시키지 않고, 시스템에 대한 물질적인 대기 시간을 추가하지 않고, CAN 버스, LIN 버스 또는 관련되는 컴퓨터 네트워크 내의 모든 메시지들을 안전하게 암호화, 복호화 및 인증할 수 있으므로, 이러한 네트워크 내에서 전송되는 데이터에 대한 별도의 보안 계층을 추가한다.
도 1은 CAN 버스를 통해 연결되는 하나 이상의 노드(들)(111-133)를 가지는 네트워크 내에서 하나 이상의 도메인 컨트롤러(들)(domain controller(s))(DC)(2-6)를 연결하는 네트워크(100)를 도시한다. 각각의 도메인 컨트롤러(들)(2-6)는, 노드(들)(111-133)에 추가되는 노드로서 취급되거나 되지 않을 수 있다. 다른 CAN 버스 시스템이 존재하므로, 본 명세서에서 "CAN 버스"는, 한정되는 것은 아니지만, 현재 알려지거나 미래에 설계 될 수 있는 CAN 버스 시스템의 임의의 변형들에 한정되지 않게 포함하는, 각각의 데이터 패킷 내에서 8 바이트 이상의 데이터를 전송하는 임의의 시스템, 및 8 바이트 크기 이상의 데이터 패킷을 전송하는 임의의 다른 비-CAN 버스 시스템을 포함한다. 이러한 네트워크들의 예는 CAN 버스와, CAN 버스 2.0과, CAN FD와, LIN 버스와, 이더넷 등과, 엔진(101), 전송(103), 파워(105), 또는 네트워크를 통한 임의의 다른 기능들을 제어하는 네트워크(들)를 제어하는데 사용될 수 있는, 하나 이상의 임의의 조합, 및 LIN(107), MOST(109), 플렉스레이(FlexRay)(110) 네트워크들을 포함하나 한정되지는 않는다. 네트워크(100)는 또한 현재 알려진 또는 미래에 알려지는 임의의 형태의 연결, 예를 들어, GPRS/GSM(97), 클라우드(Cloud)(90), GPS(91), USB(92), DSRC(95), 블루투스(Bluetooth®)(96), 을 사용하는 하나 이상의 단말(들)에 외부적으로 연결될 수 있거나 또는 예를 들어, 진단(Diagnostics)(98), 내부적으로 하나 이상의 프로세싱 장치들에 연결될 수 있다.
실시 예에서, 도메인 컨트롤러(2-6)는 도메인 컨트롤러(들)가 연결되는 임의의 다른 노드와 동일한 계산 능력을 가진다. 도메인 컨트롤러(들)는 하나 이상의 키가 배포될 수 있도록 보안 메모리 내에 하나 이상의 키와 같은 데이터를 저장하는 기능으로써 구별된다. 도메인 컨트롤러(들)는 하나 이상의 노드(들)에서 그룹 요소들을 수신하고 하나 이상의 노드(들)에 그룹 요소를 배포한다. 모든 그룹 요소들은, 비대칭 키 설정 프로토콜, 또는 네트워크 자체의 물리적 속성들을 사용하거나 사용하지 않을 수 있는 임의의 다른 프로토콜을 사용하여 계산된다. 동일한 프로토콜은 도메인 컨트롤러(들)와 하나 이상의 노드(들) 모두에서 사용되므로, 도메인 컨트롤러(들)에 의한 추가적인 컴퓨팅 기능이 필요 없다.
실시 예에서, CAN 버스의 노드(들)(111-133)는 하드웨어의 비-제한적인 예들: 마이크로 컨트롤러 유닛, 전자 컨트롤러 유닛, CAN 트랜시버, SoC 소형 컴퓨터, 스마트 폰, 랩탑, PC 및 Mac 중 하나 이상을 포함한다.
실시 예에서, 노드(들)(111-133) 간의 임의의 연결은 하나 이상의 와이어(들), 광섬유 케이블(들), 무선(전자기 신호) 연결(들) 또는 몇몇 다른 연결 매체를 포함한다.
실시 예에서, 정보는 각각의 노드(들)(111-133)에서 하나 이상의 명령(들)을 구현하기 위해 하나 이상의 DC로부터 하나 이상의 전자 제어 유닛(ECU)으로의 하나 이상의 CAN 버스를 통해 전송되도록 요구된다.
여기에서, 메시지 및 정보는, 다른 정보 표현들도 가능하지만, 하나 이상의 이진 자리수의 문자열인, "bits"와 같은 것을 의미한다. 모든 정보는, 일련의 0들 및 1들, 즉, 이진 형태로서 표현될 수 있고, 따라서 비트 열의 형태로 표현될 수 있다고 알려져 있으므로, 위와 같이 가정한다고 하여도 일반성을 잃는 것은 아니다. 하지만, 명령(들)은 하나 이상의 노드(들)(111-133)에서 특징의 특정 기능을 구현하는 코드를 포함하도록 될 수 있다.
실시 예에서, 하나 이상의 노드(들)(111-133)에게 전송되는 메시지는, 대칭 키 프로토콜을 사용하여 암호화되고, 그 다음 이 하나 이상의 노드(들)(111-133)에게 전송되고, 메시지를 암호화하는데 사용된 키는 변경될 것이다. 키가 변경되는 빈도는 랜덤일 수 있고 랜덤이 아닐 수 있다. 각 변경 이후 다음 변경은 다음 시간 단위에 발생할 수 있고 발생하지 않을 수 있고, 즉, 키 변경들은 예기치 않은 방식으로 발생하거나 발생하지 않을 수 있다. 반복적으로 키를 변경하면, 메시지 전송에 노이즈가 추가되므로, 전송된 어떤 메시지는 이를 암호화하기 위해 사용된 키에 쉽게 할당될 수 없고, 메시지가 공격자에 의하여 복호화될 수 없기 때문에, 시스템에 대한 공격을 방어할 수 있다.
실시 예에서, 결과적인 암호화 시스템(들)은 주택(들), 빌딩(들), 보트(들) 또는 CAN 버스 또는 컴퓨터 네트워크를 포함하는 임의의 다른 영역의 임의의 비-제한적인 예들 중 임의의 것을 보안할 수 있는 네트워크(100)와 같은 하나 이상의 영역을 보안하기 위해 사용될 수 있다.
별도로 언급되지 않는 한, 여기에서 시스템의 사용자들(사용자들)은, 암호화되는 메시지들을 전송하는 시스템의 소유자 또는 권한 있는 운영자, 해당 사용자에게 알려진 권한 있는 사람, 및 사용중인 시스템의 제조자 중 하나 이상을 포함한다.
소프트웨어 모듈들(Software Modules)
도 2는 보안 네트워크(200) 모듈들의 여러가지 실시 예(들)를 도시하고, 소프트웨어 구성 요소들, 및 이의 동작은 다음과 같이 상세하게 설명된다.
1. 보안 네트워크(secured network)(200)
a. 마스터 키 및 정적 인증 모듈(master key and static authentication mdoule)(201)
b. 세션 키 배포(session key distribution)(202)
c. 런타임 인증(runtime authentication)(203)
d. 초경량 암호화(ultra-weight encryption)(204)
실시 예에서, 마스터 키 및 정적 인증 모듈(201)은 비대칭 키 생성 알고리즘(예를 들어, 비-제한적인 예로 디피 헬만 키 교환 프로토콜(Diffie Helman key exchange protocol); 실시 예에서, 임의의 다른 적절한 비대칭 키 생성 프로토콜은 사용자에 의해 선택되고 구현될 수 있음, 또는 CAN 버스 또는 LIN 버스의 경우에, 선택적으로, 이 버스들의 고유한 전기적 특성들을 사용할 수 있음)의 다중-노드 변형을 사용하여 모든 참여 노드들에 대해 하나 이상의 마스터 키를 안전하게 생성하는 방법을 제공한다.
실시 예에서, 모든 참여자의 유효성을 결정하기 위해, 일단 모든 참여자에 의해 마스터 키가 생성되면, 각 참여자는 자신의 고유한 식별자(고유한 ID)의 암호화 버전을 연관된 도메인 컨트롤러인, DC(2-6)에 전송한다. 도메인 컨트롤러(2-6)는 유효한 고유한 ID(들)인 '화이트 리스트(whitelist)'의 리스트를 가진다. 실시 예에서, 이 화이트 리스트는 공장에서의 제조 중 설치, 또는 네트워크가 원격적으로 또는 로컬적으로 안전하게 업데이트될 수 있는 후속 시간 중 하나 이상에서 설정된다.
실시 예에서, 각 노드의 고유한 ID(unique ID)는 DC(2-6)에서 화이트 리스트에 대해 유효화(validate)된다. 유효하지 않은 고유한 ID가 제시되거나 고유한 ID가 1번을 넘어서 제시될 때마다, 유효하지 않은 노드(invalid node)가 감지(detect)된다. DC(2-6)에서의 정적 인증 프로세서는 '무효 노드(invalid node)' 통지를 보고하고, 실시 예에서는 선택적으로 하나 이상의 대책들을 가능한 범위까지 채용한다.
마스터 키를 생성하는 실시 예에서, 각각의 노드는 자신의 그룹 요소(group element)를 생성(301)한다. 이는 임의의 원하는 비대칭 키 생성 프로토콜을 구현함으로써 행해진다. 실시 예들은 사용자가 비대칭 프로토콜을 선택할 수 있게 한다. 그러한 프로토콜들의 예들은 디피 헬만 키 교환(Diffie Hellman Key Exchange), RSA 또는 대상 버스의 전기적 특성들을 기초로 하는 키 유도를 포함하지만, 이에 한정되지 않는다.
실시 예에서, 네트워크를 통해 하나 이상의 마스터 키(들)를 설정하는 데 사용되는 프로토콜(들)은, 하나 이상의 노드(들)에 알려진 비밀 번호를 생성하기 위해, 네트워크 또는 그 구성 부분들에 고유한 특성들을 사용할 수 있고 사용하지 않을 수 있다. (예를 들어, CAN 버스 내에서 데이터 전송의 한 단계는 노드들 간의 경합 해결(중재)을 위해 설계될 수 있다. 중재 단계(들) 동안 모든 노드들은 동시에 전송할 수 있으며, CAN 버스의 전기적 특성들은 어떤 노드가 데이터 단계로 진행하도록 허용되는 것을 중재한다. 이 CAN 버스가 모든 노드들 사이의 AND 게이트로서 사용될 때, 이 단계에서 논리적인 '0'은 우성 비트(dominant bit)로서 다루어지고, 논리적인 '1'은 열성 비트(recessive bit)로서 다루어진다. 임의의 노드가 '0' 비트를 전송하면, 다른 모든 노드들이 동일한 비트에 대해 '1'을 전송하더라도, 버스는 해당 비트에 대해 '0'의 유효 상태를 획득할 것이다. CAN 버스의 이 특성을 한번 이상 사용하면, 하나 이상의 비트(들)의 데이터를 포함하는 비대칭 키는 비밀로 공유되고, 대칭 제 2 키는 전통적인 비대칭 알고리즘의 계산적인 비용 없이 배포될 수 있다.
실시 예에서, 중재(arbituration) 단계(들)는 시간적으로 임의의 실제적인 길이이며, 임의의 미리 결정된 시간에 시작되고 중지될 수 있다. 중재 단계(들) 동안, 비밀 정보는, 노드들로부터 전송된 데이터 전송에서 추출되거나 추출되지 않을 수 있고, 도메인 컨트롤러(들)(2-6) 내에 안전하게 저장될 수 있다. 이러한 비밀 데이터는, 비대칭 암호화의 계산 부하 없이, 새로운 (하지만, 선택적으로, 수치적으로 또는 계산적으로 다른) 임시 키를 설정하기 위해, 추후 시점에 사용될 수 있다.
실시 예에서, 공개 키(r) 및 공개 계수(public modulus)(m)가 선택되고 사용된다. 동일한 공개 키 및 계수는 특정 도메인 컨트롤러(2-6)에 연결되는 각각의 노드에서 사용된다.
실시 예에서, 각각의 노드는 하나 이상의 랜덤 데이터 값, 의사-랜덤 데이터의 저장소 또는 비-랜덤 데이터 값을 사용하여 개인 키를 유도한다.
실시 예에서, 개인 키를 유도하기 위해 사용되는 임의의 랜덤 데이터는, 그 값이 이용 가능한 하나 이상의 유형의 센서들로부터의 하위 비트 또는 이들의 조합으로부터 나온다. (예: 가속도계 및 / 또는 온도계의 하위 비트는, 결합시 무작위성에 거의 가깝도록 제공하기에 충분한 엔트로피를 제공해야 한다.)
이제, 도 3a 및 3b를 참조하면, 실시 예에서, 각각의 노드에서의 개인 키는 공개 키 및 계수와 결합되어, 그 노드에서 그룹 요소(g)를 생성(예를 들어, 301)한다. 예를 들어, 이 세 값은 결합될 수 있어, g = (rk) mod (m).와 같은 개별 그룹 요소(g)를 계산한다.
실시 예에서, 도메인 컨트롤러가 그 그룹 요소를 계산할 때, 그 그룹 요소를 동일한 네트워크상의 모든 다른 참여 노드들에 전송한다. 또한, 각각의 노드는 자신의 그룹 요소를 도메인 컨트롤러에 전송(302)한다. 노드들 및 도메인 컨트롤러는 디피 헬만(Diffie Hellman) 또는 다른 적절한 비대칭 키 설정 프로토콜을 사용하여 각각의 임시 키(T)를 계산한다. 각각의 노드는 자신의 그룹 요소와 도메인 컨트롤러의 그룹 요소를 조합함으로써, 고유한 임시 키를 계산(303)한다. 도메인 컨트롤러는 각각의 노드의 임시 키를 계산(304)한다. 도메인 컨트롤러는, 센서 데이터로부터 상술되는 하나 이상의 방법들에서 획득되거나 되지 않는, 하나 이상의 랜덤 데이터 값을 사용하여 마스터 키를 유도(derive)(305)한다.
도메인 컨트롤러는 미리 결정되는 대칭 암호화 알고리즘을 사용하여 각 임시 키(T)로써 마스터 키를 암호화하고 암호화된 마스터 키를 각각의 노드로 전송(306)한다. 각 노드는 자신의 임시 키로써 암호화된 도메인 컨트롤러로부터의 마스터 키를 수신하고, 각각의 노드가 마스터 키를 획득하도록, 자신의 임시 키(T) 및 동일한 미리 결정되는 대칭 암호화 알고리즘을 사용하여, 마스터 키를 복호화(307)한다. 이 프로세스가 완료되면, 동일한 네트워크의 모든 노드들은 동일한 마스터 키를 공유한다. 도 3b는 마스터 키를 설정할 때의 상기 데이터 전송의 물리적 표현을 도시한다. 이 프로세스는 도메인 컨트롤러와 하나 이상의 노드 간에 발생한다. 301-304는 데이터가 양방향으로 전송되는 상기 단계들을 도시하고, 305-306은 데이터가 도메인 컨트롤러로부터 노드(들)로 전송되는 단계를 도시하고, 307은 각각의 노드에서 복호화가 발생하고 데이터 채널이 요구되지 않는 단계이다.
실시 예에서, 각각의 노드는 자신의 고유한 ID를 마스터 키로써 암호화하여 그 고유한 ID를 도메인 컨트롤러에 제출(308)한다. 도메인 컨트롤러는 각 노드의 고유한 ID를 수신하여 이를 복호화한다. 도메인 컨트롤러(2-6)는, 보안 메모리에 저장되고, 공장에서 미리 프로그램되거나, 또는 로컬적으로 또는 원격적으로 업데이트되는, 고유한 ID(들)의 화이트 리스트에 대해 각각의 고유한 ID를 검증(309)한다. 유효하지 않은 고유한 ID가 감지되거나, 유효한 고유한 ID가 사용되었으나 이상이 감지되면(다중 제출, 또는 유효하지 않은 위치 지정 등과 같은), '유효하지 않은 노드가 감지됨'('invalid node detected')과 같이 해석된다.
실시 예에서, 유효하지 않은 노드(들)의 통지(들)는 전송되거나 되지 않을 수 있고(310), 하나 이상의 대응책들이 채용되거나 되지 않을 수 있다(311). 대응책들은: 고객, 제조업체, 또는 다른 관련 당사자에 의해 구성되는 바, 노드의 위치 결정(locating) 및 디스에이블링(disabling), 버스 셧다운(bus shutdown), 토탈 시스템 셧다운을 포함하지만, 이에 제한되는 것은 아니다.
도 3c를 참조하면, 실시 예에서, 세션 키 배포 모듈(202)은, 도메인 컨트롤러(들)(2-6)가, 랜덤 또는 비-랜덤 간격으로, 대칭 랜덤 또는 비-랜덤적으로 생성되는 세션 키들을 생성하고 참여 노드들에게 안전하게 배포(321)하는 방법을 제공한다.
실시 예에서, 도메인 컨트롤러는 또한, 그 센서들의 값들이 이용 가능한 하나 이상의 타입의 센서들로부터의 하위 비트 또는 이 하위 비트들의 조합으로부터 세션 키를 얻을 수 있다. (예를 들어, 가속도계 및/또는 온도계의 하위 비트는, 결합시 진정한 무작위성에 가깝게 제공하기에 충분한 엔트로피를 제공해야 한다.)
실시 예에서, 다음 세션 키(next session key)(321)는, 반복적으로 변화하는 키로써 암호화함으로써, 전송되는 데이터에 대한 보안을 제공하는 목적들을 달성하기에 충분한 임의의 주파수로 생성된다. 예를 들어, 세션 키(321)는 초당 10회 변경될 수 있다.
실시 예에서, 생성되는 세션 키는 8 바이트 세션 키(322)이며, 세션 키가 미리-정의되는 휴리스틱(heuristic)과 매칭될 지를 보장한다 (예를 들어, 모든 바이트는 ASCII 디지트 0 내지 9 또는 각 바이트로 표현 가능한 소정의 다른 잘-정의되는 값들의 세트). 세션 키들은 초-경량 암호화 방식을 사용하여 마스터 키로써 암호화(323)되고 CAN 버스, LIN 버스 또는 관련되는 네트워크 전송을 통해 전송(324)된다.
실시 예에서, 초경량 암호화 방식(ultra-lightweight encryption scheme)은 커스터마이징 가능하다. 예를 들어, 사용자는 시스템 상에서 미리 설정되는 암호화 방식을 변경하기를 원하거나 원하지 않을 수 있다. 사용자 인터페이스는 이 선택이 되도록 하게 한다.
실시 예에서, 각각의 노드에서의 세션 키는 지시 데이터(instruction data)(메시지 ID(들)) 또는 다른 채널과 동일한 채널(들) 중 하나 이상 상에서 전송된다. 세션 키들이 메시지 ID 데이터 채널 상에서 전송되는 경우, 이것은 325-327의 방식으로써 하나 이상의 수신 노드에서 세션 키의 가상 인식으로 인해, 가상 채널(virtual channel)이라고 한다. 세션 키들은 데이터 메시지들 내-사이에서 전송되고, 마스터 키로써 복호화를 수행함으로써, 수신 노드에 의해 발견된다(325). 결과 평문(resultant plaintext)이 휴리스틱과 매칭할 때, 유효한 세션 키로 알려(326)지고, 수신자 노드에 의해 저장(327)된다. 수신 노드는 새로운 세션 키가 수신될 때까지 새로운 세션 키를 사용하여 미래의 데이터 메시지들을 암호화한다.
도 3d를 참조하면, 실시 예에서, 런타임 인증 모듈(203)은 그들의 메시지 ID에 기초하여 노드들로부터 메시지들을 인증하는 방법을 제공한다. 전송 또는 수신 노드들 중 하나가, 메시지 ID를 동기화하는 데 필요한, 이 모듈에 유효한 자격 증명들을 제공할 수 없으면, 통신 할 수 없다. 송신 & 수신 노드들 모두는 다음 정보를 제공해야 한다: (i) 세션 키(seesion key)(331) (ii) 그룹 식별자(group identifier)(332) (iii) 그룹 범위(group range)(333). 모듈(203)은 입력들(331-333)에 기초하여 그룹 범위로 변조되는 현재의 메시지 ID(334)를 계산한다. 노드가 데이터를 전송(335)하는 경우, 데이터는 변조되는 메시지 ID 채널(337)을 통해 전송된다. 노드가 데이터를 수신하려고 시도하는 경우, 데이터는 변조되는 메시지 ID 채널(336)로부터 판독만 된다. 어느 노드가 모든 3 가지 자격 증명을 제공할 수 없는 경우, 통신이 비인증된 것으로 간주되고, 메시지는 폐기된다.
실시 예에서, 비인증 노드들에 대한 임의의 적절한 대응책들이 제정된다. 대응책들은: 고객, 제조업체, 또는 다른 관련 당사자에 의해 구성되는 바, 노드의 위치 결정 및 디스에이블링, 버스 셧다운, 토탈 시스템 셧다운을 포함하지만, 이에 제한되는 것은 아니다.
도 3e를 참조하면, 실시 예에서, 초-경량 암호화 모듈(204)은 8 바이트까지의 블록 크기들에 사용하기에 적합한 기존의 초-경량 암호화 모듈들을 사용하여 암호화 / 복호화를 위한 방법을 제공한다. 선택 가능한 암호를 가지는 실시 예에서, 다수의 암호들은 사용자 선택을 위해 미리-통합될 수도 있고 그렇지 않을 수도 있다. 미리-통합 또는 이후 동안, 콜백들은 사용자가 자신의 요구 사항들을 기반으로 자신의 암호(들)를 통합하도록 한다. 모듈(204)은 사용자가 암호화 키(341) 및 데이터 메시지(342)를 지정하도록 요구한다.
실시 예에서, 하나 이상의 암호는, 사용되는 하나 이상의 암호로 대체될 수 있다. 하나 이상의 대체(들)가 이루어진 경우, 이것은 다음 중 하나 이상이 달성된다: 스위치 사용, 그래픽 사용자 인터페이스 상에서 옵션 선택, 다른 방식으로 제조 후 사용자에 의해 선택되거나 임의의 어떤 방식으로든지 사용자 또는 어떤 다른 제조 당시에 지정된 사람에 의해 선택됨.
예들은, 다음의 비-제한적인 암호화 프로토콜 구성 옵션들을 포함한다: Simon (NSA), Speck (NSA), 및 Treyfer.
실시 예에서, 동작이 전송 노드(343)로부터 오는 경우, 데이터 메시지는 선택되는 암호(345)를 사용하여 세션 키로써 암호화된다. 동작이 수신 노드에 의해 요청될 때, 데이터는 선택되는 암호(344)를 사용하여 세션 키로써 복호화된다. 초-경량 암호화 모듈은 해당 데이터의 전송에 관계 없이 데이터를 암호화하거나 복호화하기 위해 프로그래밍 방식으로 사용되거나 사용되지 않을 수 있다.
실시 예에서, 보안 네트워크 모듈(200)은 완전한 보안 솔루션을 제공하기 위해 단일 애플리케이션 프로그래밍 인터페이스(API) 하에서 서브-모듈들(201-204) 모두를 묶는 소프트웨어 개발 키트(SDK)이다.
실시 예에서, 각 서브-모듈은 사용자 선택에 따라 디스에이블되거나(disabled) 인에이블될(enabled) 수 있고 각 모듈에 대한 모든 구성 옵션은 도 2에 도시되는 방식으로 특정되고 실행될 수 있다.
실시 예에서, 선택적으로, 보안 네트워크 모듈은 각각의 암호화되는 메시지 페이로드를 보내기 전에, 먼저 모든 참여 노드들 사이에 안전하게 마스터 키를 설정한다. 이는, 201에 도시되는 바와 같이, 예를 들어, 마스터 키 설정 및 정적 인증 모듈을 사용한다. 마스터 키는, 사용자 또는 제조업체 요구 사항을 충족시키는 데 필요할 수 있는, 바이트들 / 비트들의 임의의 수일 수 있는, 대칭 키이다. 마스터 키는 신뢰의 루트 체인을 고정시키고, 실시 예에서는 세션 키를 암호화하는데 사용된다.
실시 예에서, 구성하는 사용자 또는 제조자는 어떤 다른 방법을 통해 마스터 키를 획득하도록 선택하거나 하지 않을 수 있다. 마스터 키는 각 노드 상에서 유사하게 프로그래밍 방식으로 수정될 수도 있고 그렇지 않을 수도 있다. 마스터 키가 설정되면, 202에 도시되는 바와 같이 세션 키 배포 모듈이 호출된다. 세션 키가 모든 참여 노드들 간에 동기화되면, 런타임 인증은 203에 기술되는 바와 같이 제정될 수도 있고 그렇지 않을 수도 있다. 이는, 데이터 메시지의 전송 또는 수신을 위한, 런타임 메시지 ID를 제공한다. 런타임 인증 모듈은, 권한 없는 데이터 메시지들이 유효한 메시지 ID가 없어서 폐기될 것이므로, 데이터 메시지들을 처리하는 데 요구되는 프로세싱 사이클들을 감소시키는 추가 이점을 가진다. 최종적으로, 메시지 페이로드는, 예를 들어, 204에 도시되는 바와 같은 초-경량 암호화 모듈을 사용하여, 세션 키로써 암호화되거나 복호화된다.
실시 예에서, 상기 모든 프로세스들은 전체 네트워크까지 및 포함하는 네트워크의 임의의 서브-영역에 한정될 수 있다. 예를 들어, 도 1의 노드 DC(2)에서 발생하는 프로세스들은, 노드 DC(4)에서 독립적으로 발생하거나 하지 않을 수 있다. 연결되어 도시된 하나 이상의 DC(4-6) 및 노드(들)(111-133)는 임의의 다른 하나 이상의 DC(4-6)의 네트워크의 일부로서 다루어질 수 있다 - 하나 이상의 DC는 도메인 컨트롤러이다 -.
실시 예에서, 특정 칩 또는 운영 시스템이 본 개시의 임의의 부분을 구현하는 것이 바람직하지 않으며, 개발 플랫폼, 코드 또는 툴 체인의 컴파일러는 바람직하지 않다. 또한, 본 개시를 구현하는 코드는 CAN 버스 통신 기능을 제공하는 임의의 ECU 소프트웨어 스택에 통합될 수 있다.
실시 예에서, 본 개시의 실시 예에 따른, 코드는 소스 코드, 객체 기반 코드 또는 이진 형태로 배포될 수 있다.
실시 예에서, 상기 코드는 라이브러리로서 구현되거나 구현되지 않을 수 있다.
실시 예에서, 여기서 개시되는 보안 방식들은 소프트웨어 프로그램 명령어들로서 구현되지만, 이 방식들 중 하나 이상의 측면은 펌웨어로 또는 하드웨어 로직을 사용하여 구현되거나 구현되지 않을 수 있다.
실시 예에서, 키들이 배포되는 속도는 CAN 버스의 상이한 구성 요소들에 대해 원활하게 동작하도록 적절하게 구성함으로써 변경될 수 있다. 예를 들면: 자동차 상의 제동 구성 요소는 정확히 동작하려면 대 용량의 데이터가 필요하지만, 창을 열고 닫는 것은 정확히 동작하려면 적은 데이터가 필요하다. 두 데이터의 세트들은 CAN 버스를 통해 전송되거나 전송되지 않을 수 있다. 더 많은 양의 데이터를 운반하는 채널은 데이터를 더 빨리 전송할 수 있다. 전송되는 세션 키는 관련 구성 요소의 효과적인 동작을 위해 적절한 속도로 이러한 채널들에 따라 전송될 수 있다.
실시 예에서, 암호화 프로토콜을 위한 소프트웨어는, 새로운 코드를 포함하고 소프트웨어를 업로드하는 물리적 칩을 플러깅(plugging)하는 하나 이상의 방법으로써 또는 소프트웨어를 무선으로 업로드함으로써, CAN 버스 커널을 포함하거나 포함하지 않는 CAN 버스 코드에 추가될 수 있다.
실시 예에서, 번호 생성이 요구되는 곳이면 어디에서나 샘플링이 발생하는 시간은 요구되는 해당 번호에 대한 데이터 샘플링 소스로서 사용될 수 있다.
도 4는 실시 예가 구현될 수 있는 3 개의 예시적인 환경을 포함하는 컴퓨터 네트워크(451)의 도면이다. 다음은 도 4의 관점에서 설명되나, 실시 예는 도 4에 도시되는 환경(들)에 제한되지 않는다. 예를 들어, 일반적으로 도 4의 구조를 가지는 임의의 시스템 - 또는 본원에 기술되는 바와 같은 동작, 방법들 및 기능들로부터 이점이 있는 -이 사용될 수 있다.
예시적인 실시 예에서, 시스템(451)은, 단말(247)의 하나 이상의 브라우저(들)(10) (하지만 미도시된, 각각의 다른 단말들 내의 브라우저) - 하나 이상의 네트워크들(W13, W14, W15)를 통해 서버(들)(500)에 연결되도록 사용되는 -를 각각 또는 포괄적으로 포함하는 단말 클라이언트들(205-251)을 도시한다.
실시 예들에 따르면, 브라우저(10)는 사용자 또는 컴퓨터가 일반적으로 네트워크를 통해, 다른 데이터 소스로부터 데이터를 탐색 및/또는 검색할 수 있게 하는 임의의 장치, 애플리케이션 또는 모듈을 포함할 수 있다. 브라우저(10)는 널리 이용 가능한 것과 같은 임의의 종래의 웹 브라우저를 포함할 수 있다. 또 다른 실시 예에 따르면, 브라우저(10)는 HTTP, FTP과 같은 프로토콜들, 및 TCP/IP 또는 UDP와 같은 기본 프로토콜을 포함하여, 현재 알려진 또는 앞으로 개발될, 임의의 수의 프로토콜들을 사용하도록 구성될 수도 있다. 실시 예에서, 브라우저(10)는 웹 애플리케이션들을 운영(또는 실행)하도록 구성된다. 웹 애플리케이션들은 웹 브라우저 내에서 호스트될 수 있는 애플리케이션들이나, 예를 들어, 이더넷, 인터넷, TOR 네트워크, 다크 웹, 다크 넷 또는 인트라넷과 같은 네트워크를 통해, 액세스될 수 있는 애플리케이션들이다.
브라우저(10)는 또한 사용자가 데이터를 입력하고, 명령어들을 입력하도록 하고, 또는 브라우저(10)로 다른 제어 정보를 제공할 수 있게 하는 입력(미도시됨)으로써 통신할 수 있다. 브라우저 (10)는 서버(들)(50)에 액세스하기 전에 하나 이상의 단말(들) 또는 서버(들)(50)에 저장된 이전의 사용자 입력에 기초하여, 하나 이상의 서버(들)(50)로부터 콘텐츠를 요청할 수 있다 - 나중에 서버(50)에 전송되는 명령어들이 계산된다 -. 서버(50)는 네트워크(W13)를 통해 브라우저(10) 및 클라이언트(247)에 콘텐츠를 다시 제공함으로써 요청에 응답할 수 있다. 브라우저(10)는 사용자 개입 없이 서버(들)(50)로부터 콘텐츠를 검색하도록 구성될 수도 있다.
실시 예에서, 네트워크(들)(W13, W14 및 W15)는, 한정되는 것은 아니지만, VPN을 통하는 것과 같이 국부적으로 또는 원격으로 액세스되는 근거리 통신망(LAN), 중형 영역 네트워크(medium area network), 인터넷과 같은 광역 네트워크(wide area network)를 포함하는 임의의 유형의 데이터 네트워크 또는 데이터 네트워크들의 조합일 수 있다. 네트워크(W13)는, 예를 들어, 클라이언트(247)와 서버(들)(50)가 서로 통신할 수 있게 하는 유선 또는 무선 네트워크일 수 있다. 네트워크(W13)는 월드-와이드-웹(예를 들어, 인터넷) 프로토콜들 및 서비스들을 추가로 지원할 수 있다.
서버(50)는 네트워크(W13)를 통해 클라이언트(247)에 의해 검색될 수 있는 CAN 버스 콘텐츠(예를 들어, 웹 페이지들, 애플리케이션들(또는 "앱들"), 오디오, 비디오, 등)를 제공한다. 클라이언트(247)에 의해 검색되는 콘텐츠는 브라우저(10)를 통해 보급될 수 있다. 다양한 실시 예에서, 서버(들)(50) 및/또는 브라우저(10)는, 이하에서 더 설명되는, 네트워크(200)의 하나 이상의 특징들을 포함한다.
도 4에 도시되는 바와 같이, 실시 예에서, 본 개시의 일 측면의 기본 기능적 구성 요소는, 복수의 단말들(205 내지 251) 중 적어도 하나로 구성된다 - 미리 결정되는 디폴트 설정들 또는 사용자-선택되는 설정들 및/또는 소프트웨어 명령어들에 의해 정렬되도록 구성되어, 하나 이상으로 사용자 단말 그룹들을 동적으로 변경 및 재배열 -. 특정 네트워크 단말들 및/또는 시스템들, 예를 들어, 시스템(451),은 적어도, 한정되는 것은 아니지만, 3 개의 별도의 유형들의 네트워크들(W13, W14, 및 W15) 내부 및 로부터의 국부 또는 원거리로 내던져진 단말들 간을 연결하고 상기 단말들 간의 정보의 교환을 허용한다.
실시 예에서, 단말 그룹(401)은 단말들(205 내지 215)를 포함하고, 단말 그룹(403)은 단말들(217 내지 233)를 포함하고, 단말 그룹(405)은 단말들(235 내지 251)를 포함하고, 각 그룹 및 집단 그룹들은, 아주 작은 규모 임에도 불구하고, 다양한 네트워크들 - 적어도 하나의 (또는 이상의) 서버(들)(50)을 통한 클리어 네트워크(W13), 다크-넷 또는 다크-웹(W14)(예를 들어, 토르(The Onion Router, TOR)를 통해 사용되는), 및 피어-투-피어 네트워크(W15)와 같은 -사이의 데이터의 흐름을 도시한다. 서버(50)는 하나 이상의 데이터베이스들(600) 상의 사용자 계정 데이터를, 다수의 지리적으로 다른 위치에서 통하여 수신하고, 저장하고, 검색하고 전달한다.
실시 예에서, 단말 및 시스템 동작은, (단말 그룹들(403 및 405)의 적어도 전부 또는 단지 일부를 포함하는) 클리어 네트워크(W13) 상에서 또는 통하여, 전체적으로 또는 부분적으로 실현되거나, 실행되거나, 또는 구현되거나 되지 않을 수 있으므로, 개인적인 단말들, 서버(들)(50), 또는 이들의 조합은, 각각의 데이터 세트들 상에서 취해질 동작들을 계산하고, 서버(들)(50)를 통해 및 다른 모든 사용자들에게 네트워크를 통해 해당 동작들을 전파한다.
실시 예에서, 단말 및 시스템 동작은, (단말 그룹들(401 및 405)의 적어도 전부 또는 단지 일부를 포함하는) 다크 넷(W14) 상에서 또는 통하여, 전체적으로 또는 부분적으로 실현되거나, 실행되거나, 또는 구현되거나 되지 않을 수 있으므로, 개인적인 단말들, 서버(들)(50), 또는 이들의 조합은, 각각의 데이터 세트들 상에서 취해질 동작들을 계산하고, 네트워크를 통해 해당 동작들을 전파한다.
실시 예에서, 단말 및 시스템 동작은, (단말 그룹들(401 및 403)의 적어도 전부 또는 단지 일부를 포함하는) 피어 투 피어 네트워크(W15) 상에서 또는 통하여, 전체적으로 또는 부분적으로 실현되거나, 실행되거나, 또는 구현되거나 되지 않을 수 있으므로, 하나 이상의 단말들, 서버(들)(50), 또는 이들의 조합은, 각각의 데이터 세트들 상에서 취해질 동작들을 계산하고, 네트워크를 통해 해당 동작들을 전파한다.
실시 예에서, 서버(들)(50)는 보유 기간(retention period)이 지난 후 사용자 계정 데이터 삭제에 대한 명령들을 실행한다 - 서버(들)(50)는 하나 이상의 단말들로부터 특정 데이터를 삭제하기 위한 명령들을 수신하는 즉시가 아닐 수도 있고, 또는 단말(들)이 하나 이상의 단말들에서 특정 데이터를 삭제하기 위한 명령들을 수신하는 즉시가 아닐 수도 있다.
실시 예에서, 단말들(205 내지 251) 중 적어도 하나는 데이터베이스(들)(600)로부터 연관되는 사용자 계정 객체 데이터의 성공적인 암호화를 야기하는 명령어들을 실행하기 위해 서버(들)(50)로 명령어들을 전송한다. 차례로, 다른 차량들에 의해 사용되는 것과 같은, 관련되는 계정 단말들은, 여기에 개시되는 실시 예 중 하나 이상의 유효성을 나타내는 경고 데이터를 수신할 수도 있고 (그렇지 않을 수도 있으며), 따라서 여기서 개시되는 다양한 실시 예의 기술적 장점 중 적어도 몇 가지의 가속 및 스케일링을 생성한다.
실시 예에서, 각각의 단말은 소셜 네트워크 사이트 사용자 데이터가 저장되는 저장 장치를 액세스하고 제어하는 컴퓨터들로부터 지리적으로 멀리 떨어져 있거나 지역적이거나 아닐 수 있다.
실시 예에서, 각각의 단말은 하나 이상의 장치 세트(들)의 일부이거나 아닐 수도 있으며, 하나 이상의 장치 세트(들)은 하나 또는 다수의 - 단일 사용자, 엔티티(예를 들어, 비공식 그룹) 또는 참여자 - 제어되고, 소유되고, 사용되는 장치(들)만을 포함하거나 포함하지 않는다.
실시 예에서, 이 단말(들) 또는 장치 세트(들) 중 임의의 하나 이상은, 장치 소유권, 소유 및/또는 제어가 일시적이고/이거나 다른-사용자- 소유인 또는 설치되는 애플리케이션 - 널리 사용되는 소셜 미디어 사이트 애플리케이션 또는 웹 사이트를 통한 임베디드 또는 원격 구현에 의해서와 같은 - 을 통해 설정되는 경우에도, 웹-기반 ASP 또는 피어-투-피어 분산 네트워크에 대한 임의의 웹-가능 장치를 통한 원격 로그-온 및/또는 원격 사용을 포함하거나 포함하지 않을 수 있다.
실시 예에서, 클라이언트 단말(247) 및 서버(50)는 컴퓨팅 장치 상에 각각 구현될 수도 있고 그렇지 않을 수도 있다. 이러한 컴퓨팅 장치는, 한정되는 것은 아니지만, 차량 ECU 또는 차량 마이크로 컨트롤러, 개인용 컴퓨터, 모바일 폰과 같은 모바일 장치, 워크 스테이션, 임베디드 시스템, 게임 콘솔, 텔레비전, 셋-톱 박스, 또는 웹 브라우징을 지원할 수 있는 임의의 다른 컴퓨팅 장치를 포함한다. 이러한 컴퓨팅 장치는, 한정되는 것은 아니지만, 프로세서 및 명령을 실행하고 저장하기 위한 메모리를 가지는 장치를 포함할 수 있다. 이러한 컴퓨팅 장치는 소프트웨어, 펌웨어 및 하드웨어를 포함할 수 있다. 또한, 컴퓨팅 장치는 다수의 프로세서들 및 다수의 공유되거나 개별적인 메모리 구성 요소들을 가질 수 있다. 소프트웨어는 하나 이상의 애플리케이션들과 운영 시스템을 포함할 수 있다. 하드웨어는, 한정되는 것은 아니지만, 프로세서, 메모리 및 그래픽 사용자 인터페이스 디스플레이를 포함할 수 있다. 마우스 또는 터치 스크린과 같은, 선택적인 입력 장치가 사용될 수 있다.
시스템 및 디지털 통신 네트워크 하드웨어(System and Digital Communications Network Hardware)
본 발명의 다른 측면은 컴퓨터 시스템이다. 도 5를 참조하고, 적어도 하나의 실시 예에 따르면, 여기에 기술되는 기술들은 하나 이상의 특수-목적 컴퓨팅 장치들에 의해 구현된다. 특수-목적 컴퓨팅 장치들은 기술들을 수행하기 위해 하드-내장(hard-wired)될 수 있거나, 또는 기술들을 수행하기 위해 지속적으로 프로그램되는 하나 이상의 에이직(application-specific integrated circuits, ASICs)들 또는 필드 프로그래머블 게이트 어레이(field programmable gate arrays, FPGAs)들과 같은 디지털 전자 장치를 포함할 수 있고, 또는 펌웨어, 메모리, 다른 저장 장치 또는 조합에서의 프로그램 명령들에 의하여 기술들을 수행하도록 프로그램되는 하나 이상의 범용 하드웨어 프로세서들을 포함할 수 있다. 이러한 특수-목적 컴퓨팅 장치들은 맞춤형 하드웨어-내장 로직, ASIC들 또는 FPGA들을 맞춤형 프로그래밍과 결합하여 기술들을 수행할 수도 있다. 특수 목적 컴퓨팅 장치들은 데스크탑 컴퓨터 시스템들, 휴대용 컴퓨터 시스템들, 휴대용 장치들, 네트워킹 장치들 또는 기술을 구현하기 위해 하드-내장 및/또는 프로그램 로직을 통합하는 임의의 다른 장치일 수 있다.
예를 들어, 도 5는 일 실시 예가 구현될 수 있는 컴퓨터 시스템(500)을 나타내는 블록도이다. 컴퓨터 시스템(500)은 정보를 통신하기 위한 버스(502) 또는 다른 통신 메커니즘, 및 정보를 처리하기 위해 버스(502)와 결합되는 하드웨어 프로세서(504)를 포함한다. 하드웨어 프로세서(504)는, 예를 들어, 범용 마이크로 프로세서일 수 있다.
실시 예에서, 다양한 ECU들 및 CAN 버스들이 사용되거나 사용되지 않을 수 있다. 비-제한적인 예들은, LIN, MOST, 플렉스레이(FlexRay) 및 CAN 2.0 및 CAN FD 를 포함하는 CAN 버스의 모든 변형들을 포함한다.
컴퓨터 시스템(500)은, 또한, 프로세서(504)에 의해 실행되는 정보 및 명령어들을 저장하기 위해 버스(502)에 결합되는, 랜덤 액세스 메모리(RAM) 또는 다른 동적 저장 장치와 같은, 메인 메모리(506)를 포함한다. 메인 메모리(506)는, 프로세서(504)에 의해 실행되는 명령들의 실행 동안, 임시적 변수들 또는 다른 중간 정보를 저장하기 위해 사용될 수도 있다.이러한 명령들은, 프로세서(504)에 액세스 가능한 비-일시적 저장 매체 내에 저장시, 컴퓨터 시스템(500)을 명령어들 내에서 특정된 동작들을 수행하도록 커스터마이즈(customized)되는 특수-목적 기계로 렌더링한다.
컴퓨터 시스템(500)은, 정적 정보 및 프로세서(504)에 대한 명령어들을 저장하기 위해, 버스(502)에 연결되는 판독 전용 메모리(ROM)(508) 또는 다른 정적 저장 장치를 더 포함한다. 자기 디스크 또는 광학 디스크와 같은, 저장 장치(510)는, 정보 및 명령어들을 저장하기 위해, 제공되고 버스(502)에 연결된다.
컴퓨터 시스템(500)은 컴퓨터 사용자에게 정보를 디스플레이하기 위해, 음극선 관(cathode ray tube, CRT)과 같은, 디스플레이(512)에 버스(502)를 통해 연결될 수 있다. 영숫자 및 다른 키들을 포함하는, 입력 장치(514)는, 정보 및 명령 선택들을 프로세서(504)에 전달하기 위해 버스(502)에 연결된다. 다른 유형의 사용자 입력 장치는, 마우스, 트랙볼, 또는 방향 정보 및 명령 선택들을 프로세서(504)에 전달하고 디스플레이(512) 상의 커서 이동을 제어하기 위한 커서 방향 키들과 같은 커서 제어(516)이다. 이러한 입력 장치는, 전형적으로, 장치가 평면 내의 위치들을 특정할 수 있게 하는, 제1 축(예를 들어, x) 및 제2 축(예를 들어, y)인, 2 개의 축들에서 2 자유도를 가진다.
컴퓨터 시스템(500)은, 컴퓨터 시스템과 조합하여 컴퓨터 시스템(500)을 특수-목적 기계로 야기시키는 또는 프로그래밍하는, 맞춤형 하드-내장 로직, 하나 이상의 ASIC들 또는 FPGA들, 펌웨어 및/또는 프로그램 로직을 사용하여 본원에 기술되는 기술들을 구현할 수 있다. 적어도 하나의 실시 예에 따르면, 본원의 기술은, 메인 메모리(506) 내에 포함되는 하나 이상의 명령어들의 하나 이상의 시퀀스들을 실행하는 프로세서(504)에 응답하여, 컴퓨터 시스템(500)에 의해 수행된다. 이러한 명령어들은, 저장 장치(510)와 같은, 다른 저장 매체로부터 메인 메모리(506)로 판독될 수 있다. 이러한 명령은 다른 저장 매체 메인 메모리(506)에 포함되는 명령들의 시퀀스들의 실행은 프로세서(504)로 하여금 여기에 설명되는 처리 동작들을 수행하게 한다. 다른 실시 예에서, 하드 와이어드 회로는 소프트웨어 명령 대신 또는 소프트웨어 명령과 함께 사용될 수 있다. 메인 메모리 (506) 내에 포함되는 명령어들의 시퀀스들의 실행은, 프로세서 (504)가 본원에서 기술된 프로세스 동작들을 수행하게 하도록 한다. 대체적인 실시 예에서, 하드-내장 회로는 소프트웨어 명령어들 대신 또는 소프트웨어 명령과 함께 사용될 수 있다.
본원에 사용되는 용어 "저장 매체(storage media)"및 "저장 장치(storage device)"는, 기계가 특정 방식으로 동작하게 하는, 데이터 및/또는 명령어들을 저장하는 임의의 비-일시적인 매체를 지칭한다. 이러한 저장 매체는 비-휘발성 매체 및/또는 휘발성 매체를 포함할 수 있다. 비-휘발성 매체는, 예를 들어, 저장 장치(510)와 같은, 광학 또는 자기 디스크들을 포함한다. 휘발성 매체는, 메인 메모리(506)와 같은, 동적 메모리를 포함한다. 일반적인 형태의 저장 매체는, 예를 들어, 플로피 디스크, 플렉시블 디스크, 하드 디스크, 솔리드 스테이트 드라이브, 자기 테이프, 또는 임의의 다른 자기 데이터 저장 매체, CD-ROM, 임의의 다른 광 데이터 저장 매체, 홀 패턴을 가지는 임의의 물리적 매체, RAM, PROM, 및 EPROM, FLASH- EPROM, NVRAM, 임의의 다른 메모리 칩 또는 카트리지를 포함한다.
저장 매체 및 저장 장치는 전송 매체와 구별되지만, 전송 매체와 함께 사용될 수 있다. 전송 매체는 저장 매체/장치들 간 정보를 전송하는 데 참여한다. 예를 들어, 전송 매체는 버스(502)를 포함하는 와이어들을 포함하는, 동축 케이블들, 구리 와이어 및 광 섬유들을 포함한다. 전송 매체는, 전파 및 적외선 데이터 통신 동안에 생성되는 것들과 같은, 음파들 또는 광파들의 형태를 취할 수도 있다 .
실행을 위해 프로세서(504)에 대한 하나 이상의 명령어들의 하나 이상의 시퀀스들을 운반하는데 다양한 형태들의 매체가 관련될 수 있다. 예를 들어, 명령어들은 처음에 원격 컴퓨터의 자기 디스크 또는 솔리드 스테이트 드라이브 상에서 운반될 수 있다. 원격 컴퓨터는 동적 메모리에 명령어들을 로드할 수 있고, 모뎀을 사용하여 전화선을 통해 명령어들을 전송할 수 있다. 컴퓨터 시스템(500)에 대해 로컬인 모뎀은 전화선 상의 데이터를 수신할 수 있고, 적외선 전송기를 사용하여 데이터를 적외선 신호로 변환할 수 있다. 적외선 검출기는 적외선 신호로 운반되는 데이터를 수신할 수 있고, 적절한 회로는 버스(502) 상에 데이터를 배치할 수 있다. 버스(502)는 데이터를 메인 메모리(506) - 프로세서(504)가 명령어들을 검색하고 실행하는 - 에 운반한다. 메인 메모리(506)에 의해 수신되는 명령어들은 프로세서(504)에 의한 실행 이전 또는 이후에 저장 장치(510) 상에 선택적으로 저장될 수 있다.
컴퓨터 시스템(500)은 또한 버스(502)에 연결되는 통신 인터페이스(518)를 포함한다. 통신 인터페이스(518)는 로컬 네트워크(522)에 연결되는 네트워크 링크(520)에 연결하는 투-웨이 데이터 통신을 제공한다. 예를 들어, 통신 인터페이스(518) 는, 광대역 종합정보통신망(integrated services digital network, ISDN) 카드, 케이블 모뎀, 위성 모뎀, 또는 해당 유형의 전화선에 데이터 통신 연결을 제공하는 모뎀일 수 있다.
다른 예로서, 통신 인터페이스(518)는 호환 근거리 통신망(local area network, LAN)에 데이터 통신 연결을 제공하는 근거리 통신망(LAN) 카드일 수 있다. 무선 링크들이 구현될 수도 있다. 적어도 하나의 이러한 구현 예에서, 통신 인터페이스(518)는, 다양한 유형들의 정보를 나타내는 디지털 데이터 스트림들을 운반하는, 하나 이상의 전기, 전자기 및 광학 신호들(여기에서 암시적으로 이들 중 하나 이상의 임의의 조합을 포함하는 "하나 이상의"의 모든 사용들과 같이)을 송신 및 수신한다.
네트워크 링크(520)는 전형적으로 다른 데이터 장치에 하나 이상의 네트워크들을 통해 데이터 통신을 제공한다. 예를 들어, 네트워크 링크(520)는, 호스트 컴퓨터(524)에, 또는 인터넷 서비스 제공자(Internet Service Provider, ISP)(526)에 의해 운영되는 데이터 장비에, 로컬 네트워크(522)를 통해 연결을 제공할 수 있다. ISP(526)는, 이제 일반적으로 "인터넷"(528)이라고 하는 월드 와이드 패킷 데이터 통신 네트워크를 통해 데이터 통신 서비스들을 차례로 제공한다. 로컬 네트워크(522) 및 인터넷(528)은 모두 디지털 데이터 스트림들을 운반하는 전기, 전자기 또는 광 신호들을 사용한다. 다양한 네트워크들을 통한 신호들 및 네트워크 링크(520) 상의 신호들 및 통신 인터페이스(518)를 통한 신호들 - 디지털 데이터를 컴퓨터 시스템(500)으로 및 으로부터 운반하는 - 은 전송 매체의 예시적인 형태들이다.
컴퓨터 시스템(500)은 네트워크(들), 네트워크 링크(520) 및 통신 인터페이스(518)를 통해, 메시지들을 전송할 수 있고, 프로그램 코드를 포함하는, 데이터를 수신할 수 있다. 인터넷 예의 적어도 하나의 실시 예에서, 서버(530)는 인터넷(528), ISP(526), 로컬 네트워크(522) 및 통신 인터페이스(518)를 통해 애플리케이션 프로그램에 대해 요청되는 코드를 전송할 수 있다.
실시 예에서, 수신되는 코드는, 수신될 때, 프로세서(504)에 의해 실행되는, 및/또는 이후 실행을 위해 저장 장치(510), 또는 다른 비-휘발성 저장 장치에 저장되는, 하나 이상일 수 있다.
이제, 도 6을 참조하면, 적어도 하나의 실시 예에서, 본 명세서에 따라 사용되는 장치는, 직접적인 사용자-대-장치 입력 메시지 텍스트 및 또는 이미지(들), 또는 원격으로 수신되는 메시지 텍스트 및/또는 이미지(들)(540)를 디스플레이하는 것으로 도시되는, 모바일 디스플레이 또는 터치 스크린 입력 스마트 폰 또는 태블릿(535)이거나 을 포함한다. 도 6은 실시 예들에 따라, 사용자가 다양한 상기 옵션들 중 하나 이상을 제어하는 가능한 인터페이스를 도시한다. 도 6에서 전화기가 도시되어 있으나, 다른 인터페이스들도 가능하다.
컴퓨터-판독 가능 매체(Computer-Readable Medium)
본 발명의 또 다른 측면은, 본원에 기술되는 하나 이상의 시스템들의 일부와 같이, 하나 이상의 프로세서들에 의해 실행될 때, 프로그램을 가지는 하나 이상의 컴퓨터-판독 가능 매체(또는 컴퓨터 저장 장치)가, 하나 이상의 프로세서들이 인에이블이 되게 하고, 장치들이,전술한 또는 첨부된 청구 범위에 의해 다르게 커버되는 임의의 하나 이상의 다양한 실시 예들 또는 하위-실시 예들을 다양하게 포함하는 방법들 중 임의의 하나를 수행하도록 하거나 하게 한다.
실시 예에서, 하나 이상의 컴퓨터-판독 가능 매체는, 한정되지는 않지만, HDD 및 SSD 디스크 드라이브, 엄지형(thumb) 및 기타 플래시 드라이브와 같은 비-일시적인 매체, DVD들, CD들, 다양한 정적 및 동적 저장 장치들 및 기타 수많은 저장 매체이다.
실시 예에서, 하나 이상의 컴퓨터-판독 가능 매체는 하나 이상의 일시적인 전자 신호들을 포함하거나 또는 상기 전자 신호들이다.
다음 번호의 조항들은 본 발명의 다양한 실시 예들을 제시한다:
1. 적어도 하나의 (a) 컴퓨터로 구현되는 방법(computer-implemented method), (b) 단말(terminal) - (i) 동작(operation)(들)을 수행하기 위한 수단(means) 또는 동작(들)을 수행하기 위한 소프트웨어 모듈(software module)(들)의 방식에 의한, 또는 (iii) 적어도 하나의 프로세서; 및 적어도 하나의 프로세서에 의해 실행될 때, 상기 적어도 하나의 프로세서가 수행하도록 하는 명령어(instruction)(들)을 저장하는 적어도 하나의 메모리를 포함함 - , (c) 시스템, - (i) 동작(들)을 수행하기 위한 수단 또는 동작(들)을 수행하기 위한 소프트웨어 모듈(들)의 방식에 의한, 또는 (iii) 적어도 하나의 프로세서; 및 적어도 하나의 프로세서에 의해 실행될 때, 상기 적어도 하나의 프로세서가 수행하도록 하, 명령어(들)을 저장하는 적어도 하나의 메모리를 포함함 - , (d) 일시적(transitory) 또는 비-일시적(non-transitory) 컴퓨터-판독 가능 매체(computer-readable medium) (또는 대안적으로 본 명세서에서는, 컴퓨터 저장 장치(computer storage apparatus)) - 각각 또는 집합적으로 하나 이상의 프로세서들을 포함하는 하나 이상의 컴퓨터들에 의해 실행될 때, 상기 또는 다음 조항들(clauses) 중 어느 하나에 따른 동작(들)을 하게 하는, 명령들을 포함하고, 상기 동작(들)은 메시지를 획득, 수신 또는 제공하는 동작을 포함한다.
2. 상기 또는 다음 조항들 중 어느 하나에 따른, 방법, 단말, 시스템 또는, 일시적 또는 비-일시적 컴퓨터-판독 가능 매체는, 적어도 하나의 제1 키(first key (들)를 생성하고, 적어도 하나의 비대칭적으로 설정된(asymmetrically established) 제2 키(second key)를 사용하여 다수의 노드들(nodes)에서 안전하게 설정 - 상기 다수의 노드들은 적어도 하나의 메시지-전송 노드(들) 및 하나 이상의 메시지-수신 노드(message-transmitting node)(들)를 포함함 -을 더 포함.
3. 상기 또는 다음 조항들 중 어느 하나에 따른, 방법, 단말, 시스템 또는, 일시적 또는 비-일시적 컴퓨터-판독 가능 매체는,
적어도 하나의 노드(들)의 위치에서 적어도 하나의(선택적으로 대칭) 제3 키(third key)(들)를 생성 - 상기 세션 키(session key)(들) 생성은 다음 중 하나 이상인:
(1) 사이클 속도(cycle speed)에서 반복적이고,
(2) 최소한 하나의 메시지-전송 노드(들)의 위치에서 및 하나 이상의 메시지-수신 노드(들)의 위치에서를 포함하는 다수의 노드들에서 동시인; -
를 더 포함.
4. 상기 또는 다음 조항들 중 어느 하나에 따른, 방법, 단말, 시스템 또는, 일시적 또는 비-일시적 컴퓨터-판독 가능 매체는,
상기 제1 키(들)를 사용하여 상기 제3 키(들)을 암호화하고 암호화된 형태(encrypted form)로 하나 이상의 다른 노드(들)에 배포(distributing)
를 더 포함.
5. 상기 또는 다음 조항들 중 어느 하나에 따른, 방법, 단말, 시스템 또는, 일시적 또는 비-일시적 컴퓨터-판독 가능 매체는,
상기 메시지 전송 노드에서 적어도 하나의 제3 키를 사용하여 메시지를 암호화(encrypting)하여 암호문(ciphertext)을 생성
을 더 포함.
6. 상기 또는 다음 조항들 중 어느 하나에 따른, 방법, 단말, 시스템 또는, 일시적 또는 비-일시적 컴퓨터-판독 가능 매체는, 다음 중 하나 이상을 더 포함한다:
(a) 디지털 방식으로 저장되고 디지털 방식으로 동작되는 CAN 버스(CAN bus) 또는 LIN 버스 네트워크(LIN bus network)에 사용 가능하거나, 통신적으로 연결된(communicatively connected) 하나 이상의 컴퓨터들에 의해 처리되는, 데이터를 선택적으로 감소(selectively reducing),
(b) 데이터 보안을 향상 및
(c) 다중-노드 디지털 통신 네트워크 내의 단말에서, 상기 디지털 방식으로 저장되고 디지털 방식으로 동작되는 CAN 버스 또는 LIN 버스에 통신적으로 연결된 상기 하나 이상의 컴퓨터들 또는 컨트롤러들(controllers)의 동작 효율(operational efficiency)을 증가.
7. 상기 또는 다음 조항들 중 어느 하나에 따른, 방법, 단말, 시스템 또는, 일시적 또는 비-일시적 컴퓨터-판독 가능 매체에 있어서, CAN 버스가 네트워크의 모든 통신 경로(communication pathways)를 구성함.
8. 상기 또는 다음 조항들 중 어느 하나에 따른, 방법, 단말, 시스템 또는, 일시적 또는 비-일시적 컴퓨터-판독 가능 매체에 있어서, 제1 키 중 하나 이상은 마스터 키(master key)이고, 제2 키는 임시 키(transient key)고, 제3 키는 세션 키이다. 상기 다중-노드 디지털 통신 네트워크 내의 모든 참여 노드들에서, 상기 적어도 하나의 대칭 제1 키(들)를 생성하고, 적어도 하나의 비대칭적으로 설정된 제2 키(들)을 사용하여, 상기 다중-노드 디지털 통신 네트워크의 다수의 참여 노드들에 암호화된 형태로 상기 적어도 하나의 제1 키(들)를 안전하게 배포하는 단계 - 상기 참여 노드들은 적어도 하나의 메시지-전송 노드(들)과 적어도 하나의 메시지-수신 노드(들)을 포함함 - ;
상기 적어도 하나의 메시지-전송 노드(들)로부터 상기 메시지-수신 노드(들)로의 하나 이상의 통신들을 포함하는 하나 이상의 통신 세션을 위한 적어도 하나의 대칭 제3 키(들)를 생성하는 단계;
상기 적어도 하나의 메시지-전송 노드(들)에서 상기 적어도 하나의 제3 키(들)를 사용하여 적어도 하나의 페이로드 메시지를 암호화하고, 상기 암호화된 적어도 하나의 페이로드 메시지를 전송하고, 및 상기 적어도 하나의 메시지-수신 노드(들)에서 상기 암호화된 적어도 하나의 페이로드 메시지를 수신하는 단계;
상기 적어도 하나의 제1 키(들)를 사용하여 상기 적어도 하나의 제3 키(들)를 암호화하고, 상기 암호화된 적어도 하나의 제3 키(들)를 전송하고, 및 상기 적어도 하나의 메시지-수신 노드(들)에서 상기 암호화된 적어도 하나의 제3 키(들)를 수신하는 단계;
상기 적어도 하나의 메시지-수신 노드(들)에서, 상기 안전하게 배포된(securely distributed) 적어도 하나의 제1 키(들)를 사용하여 상기 적어도 하나의 제3 키(들)를 복호화(decrypting)하는 단계; 및
상기 적어도 하나의 메시지-수신 노드(들)에서, 상기 복호화된 적어도 하나의 제3 키(들)를 사용하여 상기 적어도 하나의 암호화된 페이로드 메시지를 복호화하는 단계.
9. 상기 또는 다음 조항들 중 어느 하나에 따른, 방법, 단말, 시스템 또는, 일시적 또는 비-일시적 컴퓨터-판독 가능 매체에 있어서, 상기 다수의 노드(들)는 상기 네트워크의 다음 중 하나 이상 이전에 상기 네트워크 내의 내부적으로 안전하게 미리-저장되는(pre-stored) 고유한 ID들(unique IDs)을 가진다:
제1 활성화(first activation);
재-활성화(re-activation); 및
재부팅(reboot).
10. 상기 또는 다음 조항들 중 어느 하나에 따른, 방법, 단말, 시스템 또는, 일시적 또는 비-일시적 컴퓨터-판독 가능 매체에 있어서, 상기 네트워크는, 하나의 또는 자동차들에 대해 전체적으로 내부에 있고, 상기 자동차 네트워크를 보안을 제공하는, 보안 응용 계층(secure application layer) 또는 보안 링크 계층(secure link layer)을 포함하고;
상기 네트워크는, 선택적으로 하나 이상의 도메인 컨트롤러에서, 상기 네트워크 내부의 적어도 하나의 메모리에 안전하게 유지되는 고유한 ID들의 미리-결정되는 리스트(list)를 저장하고, 및
상기 리스트는, 네트워크 활성화 이전에 상기 네트워크 내에 미리-저장되는 데이터에만 의존함으로써 안전하게 설정되고 저장된다.
11. 상기 또는 다음 조항들 중 어느 하나에 따른, 방법, 단말, 시스템 또는, 일시적 또는 비-일시적 컴퓨터-판독 가능 매체에 있어서, 상기 적어도 하나의 메시지-전송 노드(message-transmitting node)(들) 및 상기 적어도 하나의 메시지-수신 노드(message-receiving node)(들) 중 하나 이상의 메시지는, 실행될 때, 상기 적어도 하나의 메시지-전송 노드(들) 및 상기 적어도 하나의 메시지-수신 노드(들) 중 하나 이상으로 전송된 명령들에 기초하여 동작되는 하나 이상의 기계적 또는 전자적 차량 구성요소(들)의 주요 기능의 변경을 동작되도록 하게 한다.
12. 상기 또는 다음 조항들 중 어느 하나에 따른, 방법, 단말, 시스템 또는, 일시적 또는 비-일시적 컴퓨터-판독 가능 매체에 있어서, 상기 네트워크를 통해 상기 적어도 하나의 비대칭적으로 설정된 제2 키(들)을 설정하도록 사용되는 프로토콜은, 상기 네트워크에 고유한 다음의 특성들을 사용한다:
공유 비밀 정보의 하나 이상의 비트들을 획득하고, 상기 적어도 하나의 비대칭적으로 설정된 제2 키(들)의 적어도 일부로서 공유되는 비밀 정보의 상기 하나 이상의 비트들을 사용, 및
상기 적어도 하나의 대칭 제1 키(들)를 안전하게 배포.
13. 상기 또는 다음 조항들 중 어느 하나에 따른, 방법, 단말, 시스템 또는, 일시적 또는 비-일시적 컴퓨터-판독 가능 매체에 있어서, 상기 네트워크에 고유한 특성들은, 선택적으로 '0'인, 하나 이상의 통신되는 논리 값이, 선택적으로 '1'인, 임의의 다른 통신되는 논리 값(logical value)(들)보다 우선되는 동안, 하나 이상의 중재 단계(arbitration phase)(들)을 포함하고, 다음 중에서 하나 이상을 하도록 한다:
(1) 상기 중재 단계는 논리 값들 중 어느 것이 어떤 노드(들)로부터 통신되는지에 관계없이 발생;
(2) 상기 중재 단계는 하나 이상의 단일 노드들로부터의 우선되는 논리 값 전송들을 포함하는 정보의 외부 가시 사이드 채널(externally visible side channel)을 생성;
(3) 상기 사이드 채널은 모든 전송되는 논리 값들의 집합의 결과이고 상기 집합을 나타내고;
(4) 상기 사이드 채널은 하나 이상의 노드-투-노드 전송 채널들(node-to-node transmission channels)에 부가하여 추가 채널을 제공하고; 및
(5) 상기 사이드 채널은 다중 논리 값 전송에 기초한다.
14. 상기 또는 다음 조항들 중 어느 하나에 따른, 방법, 단말, 시스템 또는, 일시적 또는 비-일시적 컴퓨터-판독 가능 매체에 있어서, 상기 중재 단계는, 하나 이상의 임의의 시점에서, 규칙적으로 스케줄되는 시간 또는 다른, 선택적으로 선택되는, 시간에, 선택적으로 하나 이상의 새로운 제2 키(들)가 선택되는 시간에 활성화될 수 있다.
15. 상기 또는 다음 조항들 중 어느 하나에 따른, 방법, 단말, 시스템 또는, 일시적 또는 비-일시적 컴퓨터-판독 가능 매체에 있어서, 상기 중재 단계는, 하나 이상의 사이드 채널 내의 비밀 정보가 상기 네트워크 내의 하나 이상의 위치에 기록되고 안전하게 저장될 수 있는 동안의 시간의 임의의 길이로 연장될 수 있음으로써, 상기 적어도 하나의 제2 키(들)의 새로운, 선택적으로 상이한, 버전이 요구되는 때, 하나 이상의 시간들 동안 상기 네트워크 상의 상기 필요한 계산 로드를 감소시킨다.
16. 상기 또는 다음 조항들 중 어느 하나에 따른, 방법, 단말, 시스템 또는, 일시적 또는 비-일시적 컴퓨터-판독 가능 매체는, 최대 메모리 용량(maximum memory capacity)을 가지는 적어도 하나의 저장소(store)를 더 포함하고, 상기 저장소는 (선택적으로 메시지 수신 또는 메시지 전송) 노드(들)과 관련되고, 상기 최대 용량은 상기 적어도 하나의 제2 키(들)를 유지하기 위해 필요한 것보다 작고, 상기 저장소는 선택적으로 상기 적어도 하나의 메모리의 일부이다.
17. 상기 또는 다음 조항들 중 어느 하나에 따른, 방법, 단말, 시스템 또는, 일시적 또는 비-일시적 컴퓨터-판독 가능 매체에 있어서,
상기 참여 노드들 중 적어도 하나는 적어도 하나의 도메인 컨트롤러(들)이고, 상기 적어도 하나의 도메인 컨트롤러(들) 각각은 상기 적어도 하나의 도메인 컨트롤러에 연결되어 연결된 다른 노드(들) 만큼 적어도 많은 계산들을 수행할 수 있고, 및 추가적으로: 상기 적어도 상기 제1 키(들)가 안전하게 배포될 수 있도록 상기 적어도 제1 키(들)를 안전하게 저장할 수 있다.
18. 상기 또는 다음 조항들 중 어느 하나에 따른, 방법, 단말, 시스템 또는, 일시적 또는 비-일시적 컴퓨터-판독 가능 매체에 있어서, 상기 다수의 노드들은 다음 중 하나 이상이다:
상기 적어도 하나의 메시지-전송 노드(들) 및 상기 적어도 하나의 메시지-수신 노드(들) 중 하나 이상에 전송되는 명령들에 기초하여 동작되는 하나 이상의 기계적 또는 전자적 차량 구성요소(mechanical or electronic vehicle component)(들)과 유일하게 관련된;
상기 적어도 하나의 메시지-전송 노드(들) 및 상기 적어도 하나의 메시지-수신 노드(들) 중 하나 이상에 전송되는 명령들에 기초하여 동작되는 하나 이상의 기계적 또는 전자적 차량 구성요소(들)과 근접하여 배치되는;
허브-앤-스포크(hub-and-spoke) CAN 또는 허브-앤-스포크 LIN 구조의 스포크 엔드들(spoke ends)에서 특정적이고-및-유일하게- 차량-기능에 의해-정의되는 노드들(specifically-and-uniquely-defined-by-vehicle-function nodes)만 포함;
도메인 컨트롤러 노드(domain controller node), 베이스 스테이션 노드(base station node), 및 마스터 노드(master node) 중 임의의 하나 이상을 포함하지 않음; 및
하나 이상의 적어도 하나의 도메인 컨트롤러 노드, 베이스 스테이션 노드, 및 마스터 노드 중 임의의 하나 이상을 포함.
19. 상기 또는 다음 조항들 중 어느 하나에 따른, 방법, 단말, 시스템 또는, 일시적 또는 비-일시적 컴퓨터-판독 가능 매체에 있어서, 상기 적어도 하나의 제1 대칭 키(들)가 다수의 그룹 요소들에 기초하여 생성되고, 상기 그룹 요소들 중 적어도 하나는 다음 중 하나 이상으로부터이다:
상기 네트워크 내의 상기 메시지-전송 노드들 각각;
상기 네트워크 내의 상기 메시지-수신 노드들 각각; 및
상기 네트워크 내의 적어도 하나의 도메인 컨트롤러 노드.
20. 상기 또는 다음 조항들 중 어느 하나에 따른, 방법, 단말, 시스템 또는, 일시적 또는 비-일시적 컴퓨터-판독 가능 매체에 있어서, 상기 적어도 하나의 제2 키(들)는, 상기 비밀을 공유하는 노드로 정보를 안전하게 중계(securely relay)하도록 사용되는 공유되는 비밀(shared secret)로부터 얻어지는 키이다.
21. 상기 또는 다음 조항들 중 어느 하나에 따른, 방법, 단말, 시스템 또는, 일시적 또는 비-일시적 컴퓨터-판독 가능 매체에 있어서, 상기 적어도 하나의 제2 키(들)는 노드로 정보를 공유한 이후 폐기된다.
22. 상기 또는 다음 조항들 중 어느 하나에 따른, 방법, 단말, 시스템 또는, 일시적 또는 비-일시적 컴퓨터-판독 가능 매체에 있어서, 상기 네트워크의 동작이 시작될 때, 상기 다수의 그룹 요소들은 생성되고 하나 이상의 노드(들)로 전송되어, 데이터가 안전하게 전송되도록 함으로써, 네트워크 기능이 액세스될 수 있기 이전에 시간-지연(time-delay)을 최소화한다.
23. 상기 또는 다음 조항들 중 어느 하나에 따른, 방법, 단말, 시스템 또는, 일시적 또는 비-일시적 컴퓨터-판독 가능 매체에 있어서, 상기 적어도 하나의 제1 키(들)는 하나 이상의 노드(들)의 검증이 발생하기 이전에 상기 네트워크 동작이 시작된 이후에, 암호화된 형태로 생성되고 전송되어, 데이터가 안전하게 전송될 수 있도록 함으로써, 네트워크 기능이 액세스될 수 있기 이전에 시간-지연을 최소화한다.
24. 상기 또는 다음 조항들 중 어느 하나에 따른, 방법, 단말, 시스템 또는, 일시적 또는 비-일시적 컴퓨터-판독 가능 매체에 있어서, 상기 적어도 하나의 제1 키(들)는, 다음 중 하나 이상을 포함하는 방법에 의해 획득되는, 랜덤 또는 비-랜덤(random or non-random) 데이터의 하나 이상의 비트(들)(bit(s))에 기초하여 생성된다:
상기 네트워크 내에 저장되는 데이터를 샘플링(sampling)하는 단계;
상기 네트워크 내의 하나 이상의 노드들과 관련된 하나 이상의 센서(들)로부터 센서 데이터를 측정하는 단계 - 선택적으로, 상기 하나 이상의 센서(들)에서 획득되거나 기록되는 데이터의 긴 스트링(long string)(들)으로부터 -;
수학적 기능(mathematical function)을 사용하여, 하나 이상의 센서(들)로부터 상기 센서 데이터의 둘 이상의 피스들(pieces)을 결합하는 단계.
25. 상기 또는 다음 조항들 중 어느 하나에 따른, 방법, 단말, 시스템 또는, 일시적 또는 비-일시적 컴퓨터-판독 가능 매체에 있어서, 상기 적어도 하나의 제2 키(들)는, 다음 중 하나 이상을 포함하는 방법에 의해 획득되는, 랜덤 또는 비-랜덤 데이터의 하나 이상의 비트(들)에 기초하여 생성된다:
상기 네트워크 내에 저장되는 데이터를 샘플링하는 단계;
상기 네트워크 내의 하나 이상의 노드들과 관련된 하나 이상의 센서(들)로부터 센서 데이터를 측정하는 단계 - 선택적으로, 상기 하나 이상의 센서(들)에서 획득되거나 기록되는 데이터의 긴 스트링(들)으로부터 -;
수학적 기능을 사용하여, 하나 이상의 센서(들)로부터 상기 센서 데이터의 둘 이상의 피스들을 결합하는 단계.
26. 상기 또는 다음 조항들 중 어느 하나에 따른, 방법, 단말, 시스템 또는, 일시적 또는 비-일시적 컴퓨터-판독 가능 매체에 있어서, 자동차들에서 발견되는 것과 같이 하이 노이즈 환경들(high noise environments) 내에서 전송되는 지시 메시지들(instructional messages)은 , 메시지 데이터의 비-파괴적 중재로 인하여 인증 없이 상기 적어도 하나의 메시지-수신 노드(들)에 수신될 수 있다.
27. 상기 또는 다음 조항들 중 어느 하나에 따른, 방법, 단말, 시스템 또는, 일시적 또는 비-일시적 컴퓨터-판독 가능 매체에 있어서, 상기 적어도 하나의 제2 키(들)는 두 위치들, 도메인 컨트롤러 노드에서, 및
상기 메시지-전송 노드(들) 중 하나, 및
상기 메시지-수신 노드(들) 중 하나
중 하나이상에서 각각 독립적으로 생성된다.
28. 상기 또는 다음 조항들 중 어느 하나에 따른, 방법, 단말, 시스템 또는, 일시적 또는 비-일시적 컴퓨터-판독 가능 매체에 있어서, 상기 적어도 하나의 제2 키(들)는 투-웨이(two-way)로부터 획득되는 정보에 기초하여 생성되고, 상기 정보는 공유되는 그룹 요소 정보:
(1) 모든 상기 다수의 노드들 각각으로부터, 도메인 컨트롤러 노드로, 및
(2) 상기 도메인 컨트롤러 노드로부터 모든 상기 다수의 노드들 각각으로,
선택적으로, 상기 도메인 컨트롤러 노드는 구성 요소들 또는 시스템들의 세트를 제어하고, 상기 공유되는 정보는 상기 도메인 컨트롤러 노드에 의해 제어되는 상기 세트의 엄격한 서브 세트와 관련되는 노드들 사이에서만 공유된다.
29. 상기 또는 다음 조항들 중 어느 하나에 따른, 방법, 단말, 시스템 또는, 일시적 또는 비-일시적 컴퓨터-판독 가능 매체에 있어서, 상기 적어도 하나의 제2 키(들)는 공유되는 그룹 요소 정보인, 투-웨이로부터 획득되는 정보에 기초하여 생성된다.
30. 상기 또는 다음 조항들 중 어느 하나에 따른, 방법, 단말, 시스템 또는, 일시적 또는 비-일시적 컴퓨터-판독 가능 매체에 있어서, 상기 적어도 하나의 제1 키는 모든 참여 노드들(participating nodes)로부터의 상기 적어도 하나의 제2 키(들) 모두에 기초하여 생성된다.
31. 상기 또는 다음 조항들 중 어느 하나에 따른, 방법, 단말, 시스템 또는, 일시적 또는 비-일시적 컴퓨터-판독 가능 매체에 있어서, 상기 적어도 하나의 제1 키(들)의 배포는, 다음 중 적어도 하나 이상인 상기 제1 키(들)에 의해 달성된다:
제1 노드로부터의 정보 및 상기 도메인 컨트롤러 노드로부터의 정보로부터 도메인 컨트롤러 노드에서 생성되는, 상기 적어도 하나의 제2 키(들) 중 적어도 하나를 사용하여, 도메인 컨트롤러에서 암호화되고, 및
상기 적어도 하나의 제2 키(들) 중 상기 적어도 하나의 제-1-노드-에서-분리적-및-원격으로-생성되는(separately-and-remotely-at-the-first-node-generated) 적어도 하나의 복사본(duplicate copy)을 사용하여, 상기 제1 노드에서 복호화되는 - 상기 적어도 하나의 제2 키(들) 중 상기 적어도 하나는 상기 제1 노드 및 상기 도메인 컨트롤러 노드에만 유일하게 관련됨 -.
32. 상기 또는 다음 조항들 중 어느 하나에 따른, 방법, 단말, 시스템 또는, 일시적 또는 비-일시적 컴퓨터-판독 가능 매체는, 상기 적어도 하나의 메시지-전송 노드(들)에서 상기 적어도 하나의 대칭 대칭 제3 키(들)를 생성하는 단계
를 더 포함하고;
상기 적어도 하나의 대칭 세션 키(들) 생성은 다음 중 하나 이상이다:
사이클 속도에서 반복적, 및
적어도 하나의 메시지-전송 노드(들)에서 및 상기 하나 이상의 메시지-수신 노드(들)에서 포함하는, 상기 다수의 또는 참여 노드들에서 동시적.
33. 상기 또는 다음 조항들 중 어느 하나에 따른, 방법, 단말, 시스템 또는, 일시적 또는 비-일시적 컴퓨터-판독 가능 매체에 있어서, 상기 적어도 하나의 대칭 제3 키(들)는, 다음 중 하나 이상을 포함하는 방법에 의해 획득되는, 랜덤 또는 비랜덤 데이터의 비트(들) 중 하나 이상에 기초하여 생성된다:
상기 네트워크 내에 저장되는 데이터를 샘플링하는 단계;
상기 네트워크 내의 하나 이상의 노드들과 관련된 하나 이상의 센서(들)로부터 센서 데이터를 측정하는 단계 - 선택적으로, 상기 하나 이상의 센서(들)에서 획득되거나 기록되는 데이터의 긴 스트링(들)으로부터 -;
수학적 기능을 사용하여, 하나 이상의 센서(들)로부터 상기 센서 데이터의 둘 이상의 피스들을 결합하는 단계.
34. 상기 또는 다음 조항들 중 어느 하나에 따른, 방법, 단말, 시스템 또는, 일시적 또는 비-일시적 컴퓨터-판독 가능 매체는, 상기 적어도 하나의 제1 키(들)는 마스터 키이고, 상기 적어도 하나의 제2 키(들)는 다수의 임시 키들이고 - 상기 메시지-수신 노드(들) 중 하나이거나 상기 메시지 전송 노드(들) 중 하나인 비-도메인-컨트롤러 노드 각각에 대한 하나임 -, 및
상기 적어도 하나의 제3 키(들)는 하나 이상의 세션 키(들)를 포함하고, 선택적으로, 암호문을 생성하기 위해, 상기 적어도 하나의 메시지-전송 노드(들) 중 정확히 하나에서 상기 적어도 하나의 제3 키를 사용하여 상기 적어도 하나의 페이로드 메시지(들) 중 적어도 하나를 암호화하는 단계를 더 포함한다.
35. 상기 또는 다음 조항들 중 어느 하나에 따른, 방법, 단말, 시스템 또는, 일시적 또는 비-일시적 컴퓨터-판독 가능 매체는, 상기 메시지 수신 노드(들)에서 상기 마스터 키에 기초하여, 하나 이상의 메시지-수신 노드(들)에서 상기 적어도 하나의 세션 키들을 복호화하는 단계; 및 상기 세션 키(들) 중 하나에 기초하여, 하나 이상의 메시지-수신 노드(들)에서 상기 암호문을 복호화하는 단계를 더 포함한다.
36. 상기 또는 다음 조항들 중 어느 하나에 따른, 방법, 단말, 시스템 또는, 일시적 또는 비-일시적 컴퓨터-판독 가능 매체에 있어서, 상기 메시지-전송 노드(들) 및 상기 메시지-수신 노드(들) 중 적어도 하나는, 다음 중 하나 이상에 의해 인증된다:
노드들의 쌍들의 알려진 리스트 및 상기 노드들과 관련된 고유 ID들에 대한, ID 메시지들의 상기 도메인 컨트롤러에서 비교의 방식에 의해 상기 도메인 컨트롤러에서 수신되는 암호화되는 노드 ID들을 검증하는 단계; 및
런타임 인증을 수행하는 단계. 상기 세션 키(들), 상기 검증되는 그룹 ID(들) 및 다른 번호(선택적으로 상기 그룹 범위)를 조합함으로써 계산되는 메시지 ID 값에 의해 변조되는 채널을 통해 데이터를 제공하도록, 상기 메시지-전송 노드(들)을 요청, 및 상기 메시지 ID에 의해 변조되는 상기 채널을 통해 수신되도록 처리되는 정보를 제한하도록, 선택적으로 상기 메시지-수신 노드(들)을 요청함으로써.
37. 상기 또는 다음 조항들 중 어느 하나에 따른, 방법, 단말, 시스템 또는, 일시적 또는 비-일시적 컴퓨터-판독 가능 매체에 있어서, 상기 적어도 하나의 메시지-전송 노드(들) 및 상기 하나 이상의 메시지-수신 노드(들) 각각은, 다음 중 하나 이상을 포함한다:
8 바이트들까지의 데이터 필드 길이(data field length of up to 8 bytes)를 허용하는 적어도 하나의 제한되는 차량 컨트롤러 영역 네트워크 버스 노드(vehicle controller area network bus node);
8 바이트들까지의 데이터 필드 길이를 허용하는 적어도 하나의 제한된 차량 로컬 인터커넥트 네트워크 버스 노드;
적어도 하나의 컨트롤러 영역 네트워크 버스 도메인 컨트롤러; 및
적어도 하나의 로컬 인터커넥트 네트워크 버스 도메인 컨트롤러.
38. 상기 또는 다음 조항들 중 어느 하나에 따른, 방법, 단말, 시스템 또는, 일시적 또는 비-일시적 컴퓨터-판독 가능 매체에 있어서, 반복되는 암호화 및 복호화가, 다음 중 하나 이상의 시간 범위 내에서 발생한다:
하나 이상의 시스템 사용자의 결정에 따라 상기 메시지-수신 노드(들)에 전송되는 명령어 마다의 하나 이상의 시간들(one or more times per instruction);
하나 이상의 시스템 사용자에 의해 권한이 부여되는 사람의 결정에 따라 상기 메시지-수신 노드(들)로 전송되는 명령어 마다의 하나 이상의 시간들;
가용 하드웨어 처리 파워의 용량 내에서 미리-결정되는 시간의 단위; 및
기계 학습 기능들(machine learning capabilities)을 사용하는 컴퓨터 프로그램 또는 장치에 의해 결정되는 시간의 단위(a unit of time).
39. 반복적으로 폐기되고 대체(repetitively discarded and replaced)되는 하나 이상의 세션 키(들)의 타이밍(timing)이 랜덤화(randomized)되는, 상기 또는 다음 조항들 중 어느 하나에 따른 방법, 단말, 시스템 또는, 일시적 또는 비-일시적 컴퓨터-판독 가능 매체
40. 상기 또는 다음 조항들 중 어느 하나에 따른, 방법, 단말, 시스템 또는, 일시적 또는 비-일시적 컴퓨터-판독 가능 매체에 있어서, 상기 적어도 하나의 메시지-전송 노드(들) 및 상기 하나 이상의 메시지-수신 노드(들) 각각은 인증으로 설정되고, 상기 다수의 또는 참여 노드(들) 중 하나 이상은, 다음 중 하나 이상을 수행하는, 마스터 노드에 의해 보안된다:
차량의 점화의 제1 활성화시 또는 이후 임의의 시간에 안전하게 설정되고 상기 마스터 노드의 보안 메모리에 저장되는, 노드 고유한 ID(들)의 리스트에 액세스;
마스터 키를 설정하고 암호문 내의 마스터 키 요소들을 참여 노드들에 전송;
하나 이상의 노드(들)에서 상기 마스터 키로써 암호화되고 상기 참여 노드(들)로부터 상기 마스터 노드로 전송되는 노드 고유한 ID(들)를 수신; 및
마스터 노드에서 수신되는 ID들을 보안 적으로 설정되는 리스트와 비교하여 모든 인증 노드 ID들을 다른 인증 노드들로 안전하게 전송.
41. 상기 또는 다음 조항들 중 어느 하나에 따른, 방법, 단말, 시스템 또는, 일시적 또는 비-일시적 컴퓨터-판독 가능 매체에 있어서, 상기 적어도 하나의 메시지-전송 노드(들) 및 상기 하나 이상의 메시지-수신 노드(들) 각각은 계속해서 인증되고, 계속해서 인증하여 다른 노드(들)은 다음으로써 보안된다:
(1) 현재 세션 키로써 알려진 유효 그룹 ID(들)를 포함하는 비-명령 구현 메시지들(non-instruction implementing messages)을 암호화하여, 암호문(cryptogram)을 형성하고, 주어진 그룹 범위에 걸쳐 변조(modulating);
(2) 데이터 채널을 따라 결과적인 암호문을 하나 이상의 다른 노드(들)로 전송;
(3) 메시지 수신 노드에서 수신되는 메시지들을, 인증 노드로부터 수신되는 마지막 알려진 세션 키로써 복호화하고, 이를 알려진 유효한 그룹 ID들(valid group IDs )과 비교; 및
(4) 상기 수신되는 메시지들 중 임의의 하나 이상이 상기 유효한 그룹 ID들 중 하나가 아닐 때, 상기 적어도 하나의 메시지-전송 노드(들)로부터 상기 수신되는 메시지들 및 임의의 미래의 메시지(들) 중 임의의 하나 이상을 거부.
42. 상기 또는 다음 조항들 중 어느 하나에 따른, 방법, 단말, 시스템 또는, 일시적 또는 비-일시적 컴퓨터-판독 가능 매체에 있어서, 하나 이상의 상기 다수의 노드들은, 마스터 키가 생성된 이후에 도메인 컨트롤러와 함께, 상기 다수의 노드(들)의 고유한 ID들을 포함하는, 미리-저장되는 리스트에 대한 고유한 ID(unique ID)를 사용하여, 그들의 인증(authenticity)을 검증(validate)한다.
43. 상기 또는 다음 조항들 중 어느 하나에 따른, 방법, 단말, 시스템 또는, 일시적 또는 비-일시적 컴퓨터-판독 가능 매체에 있어서,
하나 이상의 노드(들)에서의 현재 알려진 세션 키(들)의 런타임 인증(runtime authentication)이, 하나 이상의 노드(들)로부터 전송되는 정보의 인증을 다음 중 하나 이상으로써 구현한다:
상기 세션 키 및 상기 하나 이상의 노드(들) 중 적어도 하나로부터 도출되는 하나 이상의 지시적 또는 비-지시 메시지 ID들을 변조하고, 메시지-수신 노드에서 사용중인 세션 키에 기초하여 부정확하게 변조되는, 상기 하나 이상의 노드(들) 중 제2 노드에서 수신되는 정보를 거부; 및
사용중인 세션 키로부터 유도되는 정확하게 변조되는 정보와 동일한 메시지(들)가, 채널이 동일한 메시지 또는 해당 메시지로부터 도출되는 임의의 특정 메시지 중 하나 이상에 의해 변조되는, 채널 상에 전송되도록 요청.
44. 상기 또는 다음 조항들 중 어느 하나에 따른, 방법, 단말, 시스템 또는, 일시적 또는 비-일시적 컴퓨터-판독 가능 매체에 있어서, 복수의 노드들 중 적어도 하나는 도메인 컨트롤러이다.
45. 상기 또는 다음 조항들 중 어느 하나에 따른, 프로세서-기반 단말은 다음 중 임의의 하나 이상을 포함한다:
적어도 하나의 프로세서; 및 상기 적어도 하나의 프로세서에 의해 실행될 때, 상기 적어도 하나의 프로세서가 다음 중 임의의 하나 이상을 하게 하는, 명령어들을 저장하는 적어도 하나의 메모리:
다중-노드 디지털 통신 네트워크 내의 모든 참여 노드들에 걸쳐, 적어도 하나의 대칭 제1 키(들)을 생성하고, 적어도 하나의 비대칭적으로 설정되는 제2 키(들)를 사용하여, 암호화된 형태로 적어도 하나의 제1 키(들)를 다중-노드 디지털 통신 네트워크의 다수의 참여 노드들에 안전하게 배포 - 참여 노드들은 적어도 하나의 메시지-전송 노드(들) 및 적어도 하나의 메시지-수신 노드(들)를 포함 -;
상기 적어도 하나의 메시지-전송 노드(들)로부터 상기 메시지-수신 노드(들)로의 하나 이상의 통신들을 포함하는 하나 이상의 통신 세션에 대한 적어도 하나의 대칭 제3 키(들)를 생성;
상기 적어도 하나의 메시지-전송 노드(들)에서 적어도 하나의 제3 키를 사용하여 적어도 하나의 페이로드 메시지를 암호화하고, 상기 암호화되는 적어도 하나의 페이로드 메시지를 전송하고, 상기 암호화되는 적어도 하나의 페이로드 메시지를 상기 적어도 하나의 메시지-수신 노드(들)에서 수신;
상기 적어도 하나의 제1 키(들)를 사용하여 상기 적어도 하나의 제3 키(들)를 암호화하고, 상기 암호화된 적어도 하나의 제3 키(들)를 전송하고, 상기 암호화된 적어도 하나의 제3 키(들)를 상기 적어도 하나의 메시지-수신 노드(들)에서 수신;
상기 적어도 하나의 메시지-수신 노드(들)에서 상기 안전하게 배포되는 적어도 하나의 제1 키(들)를 사용하여 상기 적어도 하나의 제3 키(들)을 복호화; 및
상기 적어도 하나의 메시지-수신 노드(들)에서, 상기 복호화되는 적어도 하나의 제3 키를 사용하여 상기 적어도 하나의 암호화되는 페이로드 메시지를 복호화.
46. 상기 또는 다음 조항들 중 어느 하나에 따른, 프로세서-기반 시스템(processor-based system)은 다음을 포함한다:
적어도 하나의 프로세서; 및 상기 적어도 하나의 프로세서에 의해 실행될 때, 상기 적어도 하나의 프로세서가 다음 중 임의의 하나 이상을 하게 하는, 명령어들을 저장하는 적어도 하나의 메모리:
다중-노드 디지털 통신 네트워크 내의 모든 참여 노드들에 걸쳐, 적어도 하나의 대칭 제1 키(들)을 생성하고, 적어도 하나의 비대칭적으로 설정되는 제2 키(들)를 사용하여, 암호화된 형태로 적어도 하나의 제1 키(들)를 다중-노드 디지털 통신 네트워크의 다수의 참여 노드들에 안전하게 배포 - 참여 노드들은 적어도 하나의 메시지-전송 노드(들) 및 적어도 하나의 메시지-수신 노드(들)를 포함 -;
상기 적어도 하나의 메시지-전송 노드(들)로부터 상기 메시지-수신 노드(들)로의 하나 이상의 통신들을 포함하는 하나 이상의 통신 세션에 대한 적어도 하나의 대칭 제3 키(들)를 생성;
상기 적어도 하나의 메시지-전송 노드(들)에서 적어도 하나의 제3 키를 사용하여 적어도 하나의 페이로드 메시지를 암호화하고, 상기 암호화되는 적어도 하나의 페이로드 메시지를 전송하고, 상기 암호화되는 적어도 하나의 페이로드 메시지(payload message)를 상기 적어도 하나의 메시지-수신 노드(들)에서 수신;
상기 적어도 하나의 제1 키(들)를 사용하여 상기 적어도 하나의 제3 키(들)를 암호화하고, 상기 암호화된 적어도 하나의 제3 키(들)를 전송하고, 상기 암호화된 적어도 하나의 제3 키(들)를 상기 적어도 하나의 메시지-수신 노드(들)에서 수신;
상기 적어도 하나의 메시지-수신 노드(들)에서 상기 안전하게 배포되는 적어도 하나의 제1 키(들)를 사용하여 상기 적어도 하나의 제3 키(들)을 복호화; 및
상기 적어도 하나의 메시지-수신 노드(들)에서, 상기 복호화되는 적어도 하나의 제3 키를 사용하여 상기 적어도 하나의 암호화되는 페이로드 메시지를 복호화.
47. 상기 또는 다음 조항들 중 어느 하나에 따른, 컴퓨터 프로그램으로 인코딩되는 컴퓨터 저장 장치에 있어서, 상기 프로그램은 데이터 처리 장치에 의해 실행될 때, 다음 중 임의의 하나 이상을 포함하는 동작들을 수행하도록 하는 명령어들을 포함한다:
다중-노드 디지털 통신 네트워크 내의 모든 참여 노드들에 걸쳐, 적어도 하나의 대칭 제1 키(들)을 생성하고, 적어도 하나의 비대칭적으로 설정되는 제2 키(들)를 사용하여, 암호화된 형태로 적어도 하나의 제1 키(들)를 다중-노드 디지털 통신 네트워크의 다수의 참여 노드들에 안전하게 배포 - 참여 노드들은 적어도 하나의 메시지-전송 노드(들) 및 적어도 하나의 메시지-수신 노드(들)를 포함 -;
상기 적어도 하나의 메시지-전송 노드(들)로부터 상기 메시지-수신 노드(들)로의 하나 이상의 통신들을 포함하는 하나 이상의 통신 세션에 대한 적어도 하나의 대칭 제3 키(들)를 생성;
상기 적어도 하나의 메시지-전송 노드(들)에서 적어도 하나의 제3 키를 사용하여 적어도 하나의 페이로드 메시지를 암호화하고, 상기 암호화되는 적어도 하나의 페이로드 메시지를 전송하고, 상기 암호화되는 적어도 하나의 페이로드 메시지를 상기 적어도 하나의 메시지-수신 노드(들)에서 수신;
상기 적어도 하나의 제1 키(들)를 사용하여 상기 적어도 하나의 제3 키(들)를 암호화하고, 상기 암호화된 적어도 하나의 제3 키(들)를 전송하고, 상기 암호화된 적어도 하나의 제3 키(들)를 상기 적어도 하나의 메시지-수신 노드(들)에서 수신;
상기 적어도 하나의 메시지-수신 노드(들)에서 상기 안전하게 배포되는 적어도 하나의 제1 키(들)를 사용하여 상기 적어도 하나의 제3 키(들)을 복호화; 및
상기 적어도 하나의 메시지-수신 노드(들)에서, 상기 복호화되는 적어도 하나의 제3 키를 사용하여 상기 적어도 하나의 암호화되는 페이로드 메시지를 복호화.
실시 예들은 본원에서 기술된 것들 외의 소프트웨어, 하드웨어, 및/또는 운영 시스템 구현들로 동작할 수 있다. 본원에서 기술된 기능들을 수행하기에 적합한 임의의 소프트웨어, 하드웨어, 및 운영 시스템 구현들은 사용될 수 있다. 실시 예들은 클라이언트와 서버 또는 둘 모두의 조합에 적용 가능하다.
본 명세서의 예시적인 실시 예들이 하나 이상의 목적들 또는 독창적인 해결책들을 충족시키는 것이 명백하지만, 많은 수정들 및 다른 실시 예들이 당업자에 의해 고안될 수 있음을 알 수 있을 것이다. 또한, 기능(들) 및/또는 임의의 실시 예로부터의 요소(들)는 단독으로 또는 다른 실시 예(들)와 조합하여 사용될 수 있다. 따라서, 첨부되는 청구항들은 본 발명의 사상 및 범위 내에 있는 그러한 모든 수정들 및 실시 예들을 커버하도록 의도되는 것으로 이해될 것이다.
상기 실시 예들은 본 발명의 예시적인 실시 예들로서 이해되어야 한다. 본 발명의 다른 실시 예들이 구상된다. 임의의 하나 또는 하나의 세트의 실시 예들과 관련하여 기술된 임의의 특징은 단독으로 사용될 수 있고, 또는 기술된 다른 특징과 조합하여 사용될 수 있으며, 임의의 다른 실시 예들의 하나 이상의 특징들, 또는 임의의 다른 실시 예들의 임의의 조합과 조합하여 사용될 수도 있음이 이해되어야 한다. 또한, 등가물들 및 수정들도 또한 본 개시의 범위 - 첨부되는 청구항들에서 정의되는 - 를 벗어나지 않고 사용될 수 있다.

Claims (30)

  1. 다중 노드 디지털 통신 네트워크 내의 단말에서 하나 이상의 컴퓨터 또는 컨트롤러의 동작 효율을 증가시키는 방법에 있어서,
    상기 다중 노드 디지털 통신 네트워크 내의 모든 참여 노드들에서 적어도 하나의 대칭 제1 키를 생성하는 단계;
    적어도 하나의 비대칭적으로 설정된 제2 키를 사용하여, 상기 다중 노드 디지털 통신 네트워크의 다수의 참여 노드들에게 암호화된 형태로 상기 적어도 하나의 제1 키를 안전하게 배포하는 단계 - 상기 참여 노드들은 적어도 하나의 메시지 송신 노드와 적어도 하나의 메시지 수신 노드를 포함함 - ;
    상기 적어도 하나의 메시지 송신 노드로부터 상기 메시지 수신 노드로의 하나 이상의 통신을 포함하는 하나 이상의 통신 세션을 위한 적어도 하나의 대칭 제3 키를 생성하는 단계;
    상기 적어도 하나의 메시지 송신 노드에서 상기 적어도 하나의 제3 키를 사용하여 적어도 하나의 페이로드 메시지를 암호화하고, 상기 암호화된 적어도 하나의 페이로드 메시지를 전송하고,
    상기 적어도 하나의 메시지 수신 노드에서 상기 암호화된 적어도 하나의 페이로드 메시지를 수신하는 단계;
    상기 적어도 하나의 제1 키를 사용하여 상기 적어도 하나의 제3 키를 암호화하고, 상기 암호화된 적어도 하나의 제3 키를 전송하고,
    상기 적어도 하나의 메시지 수신 노드에서 상기 암호화된 적어도 하나의 제3 키를 수신하는 단계;
    상기 적어도 하나의 메시지 수신 노드에서, 상기 안전하게 배포된 적어도 하나의 제1 키를 사용하여 상기 적어도 하나의 제3 키를 복호화하는 단계; 및
    상기 적어도 하나의 메시지 수신 노드에서, 상기 복호화된 적어도 하나의 제3 키를 사용하여 상기 적어도 하나의 암호화된 페이로드 메시지를 복호화하는 단계
    를 포함하고,
    상기 네트워크는,
    하나 이상의 자동차들에 대해 전체적으로 내부적인 자동차 네트워크이고,
    상기 자동차 네트워크에 보안을 제공하는 보안 링크 계층 및 하나 이상의 보안 응용 계층
    을 포함하는 방법.
  2. 제1항에 있어서,
    상기 다수의 노드는,
    상기 네트워크의 제1 활성화, 재활성화, 및 재부팅 중 하나 이상의 이전에 상기 네트워크 내에 내부적으로 안전하게 미리 저장된 고유 ID를 가지는 방법.
  3. 제1항에 있어서,
    상기 네트워크는,
    상기 네트워크 내부의 적어도 하나의 메모리에 안전하게 유지되는 고유 ID의 미리 결정된 리스트를 저장하고,
    상기 리스트는,
    네트워크 활성화 이전에 상기 네트워크 내에 미리 저장된 데이터에만 의존하여 안전하게 저장되고 설정되는
    방법.
  4. 제1항에 있어서,
    상기 적어도 하나의 메시지 송신 노드 및 상기 적어도 하나의 메시지 수신 노드 중 하나 이상의 상기 메시지는,
    실행될 때, 상기 적어도 하나의 메시지 송신 노드 및 상기 적어도 하나의 메시지 수신 노드 중 하나 이상에게 전송된 명령에 기초하여 동작되는 하나 이상의 기계적 또는 전자적 차량 구성요소의 주요 기능의 변경을 동작적으로 야기하는 방법.
  5. 제1항에 있어서,
    상기 네트워크를 통해 상기 적어도 하나의 비대칭적으로 설정된 제2 키를 설정하기 위하여 사용되는 프로토콜은,
    상기 네트워크에 고유한 특성을 이용하여,
    공유 비밀 정보의 하나 이상의 비트를 획득하고,
    상기 공유 비밀 정보의 하나 이상의 비트를 상기 적어도 하나의 비대칭적으로 설정된 제2 키의 적어도 일부로서 사용하고,
    상기 적어도 하나의 대칭 제1 키를 안전하게 배포하는 방법.
  6. 제5항에 있어서,
    상기 네트워크에 고유한 상기 특성은,
    하나 이상의 중재 단계 - 상기 중재 단계 동안 하나 이상의 통신되는 논리 값이, 다른 통신되는 논리 값보다 우선됨 -
    를 포함하고,
    (1) 상기 중재 단계는 상기 논리 값들 중 어느 것이 어떤 노드로부터 통신되었는지에 관계없이 발생함;
    (2) 상기 중재 단계는 하나 이상의 단일 노드로부터의 우선되는 논리 값 전송을 포함하는 정보의 외부 가시 사이드 채널을 생성함;
    (3) 상기 사이드 채널은 모든 전송된 논리 값의 집합으로부터의 결과이고 상기 모든 전송된 논리 값의 집합을 나타냄;
    (4) 상기 사이드 채널은 하나 이상의 노드-투-노드 전송 채널에 부가하여 추가 채널을 제공함; 및
    (5) 상기 사이드 채널은 다중 논리 값 전송에 기초함
    중 하나 이상을 야기하는 방법.
  7. 제6항에 있어서,
    상기 중재 단계는,
    하나 이상의 임의의 시점, 규칙적으로 스케줄된 시간, 또는 다른 시간에 활성화되도록 구성되는 방법.
  8. 제6항에 있어서,
    상기 중재 단계는,
    하나 이상의 사이드 채널 내의 비밀 정보가 상기 네트워크 내의 하나 이상의 위치에 기록되고 안전하게 저장될 수 있는 시간의 길이 동안 연장되도록 구성됨으로써, 상기 적어도 하나의 제2 키의 새로운 버전이 요구될 때 상기 네트워크 상의 필요한 계산 로드를 감소시키는 방법.
  9. 제1항에 있어서,
    최대 메모리 용량을 가지는 적어도 하나의 저장소
    를 더 포함하고,
    상기 저장소는,
    하나 이상의 상기 노드와 관련되고,
    상기 최대 메모리 용량은,
    상기 적어도 하나의 제2 키를 유지하기 위해 요구되는 것보다 작은
    방법.
  10. 제1항에 있어서,
    상기 참여 노드들 중 적어도 하나는,
    적어도 하나의 도메인 컨트롤러이고,
    상기 적어도 하나의 도메인 컨트롤러의 각각은,
    상기 적어도 하나의 도메인 컨트롤러에 연결적으로 연결된 다른 노드의 수만큼, 적어도, 많은 계산들을 수행하도록 구성되고,
    상기 적어도 하나의 제1 키가 안전하게 배포될 수 있도록 상기 적어도 하나의 제1 키를 안전하게 저장하도록 구성되는
    방법.
  11. 제1항에 있어서,
    상기 다수의 노드들은,
    상기 적어도 하나의 메시지 송신 노드 및 상기 적어도 하나의 메시지 수신 노드 중 하나 이상에 전송되는 명령들에 기초하여 동작되는 하나 이상의 기계적 또는 전자적 차량 구성요소과 유일하게 관련됨;
    상기 적어도 하나의 메시지 송신 노드 및 상기 적어도 하나의 메시지 수신 노드 중 하나 이상에 전송되는 명령들에 기초하여 동작되는 하나 이상의 기계적 또는 전자적 차량 구성요소과 근접하여 배치됨;
    허브-앤-스포크 컨트롤러 영역 네트워크(CAN) 또는 허브-앤-스포크 로컬 인터커넥트 네트워크(LIN) 구조의 스포크 엔드들에서 특정적이고 유일하게 차량 기능에 의해 정의되는 노드들만 포함함;
    도메인 컨트롤러 노드, 베이스 스테이션 노드, 및 마스터 노드 중 임의의 하나 이상을 포함하지 않음; 및
    하나 이상의 적어도 하나의 도메인 컨트롤러 노드, 베이스 스테이션 노드, 및 마스터 노드 중 임의의 하나 이상을 포함함
    중 하나 이상에 해당하는 방법.
  12. 제1항에 있어서,
    상기 적어도 하나의 제1 대칭 키가 다수의 그룹 요소들에 기초하여 생성되고, 상기 그룹 요소들 중 적어도 하나는,
    상기 네트워크 내의 상기 메시지 송신 노드들 각각;
    상기 네트워크 내의 상기 메시지 수신 노드들 각각; 및
    상기 네트워크 내의 적어도 하나의 도메인 컨트롤러 노드
    중 하나 이상으로부터인 방법.
  13. 제1항에 있어서,
    상기 적어도 하나의 제2 키는,
    공유 비밀을 공유하는 노드에게 정보를 안전하게 중계하기 위하여 사용되는 상기 공유 비밀로부터 도출되는 키인
    방법.
  14. 제1항에 있어서,
    상기 적어도 하나의 제2 키는 노드로 정보를 공유한 이후 폐기되는 방법.
  15. 제1항에 있어서,
    상기 네트워크의 동작이 시작될 때, 상기 다수의 그룹 요소들은 생성되고 하나 이상의 노드로 전송되어, 데이터가 안전하게 전송되도록 함으로써, 네트워크 기능이 액세스될 수 있기 이전에 시간-지연을 최소화하는 방법.
  16. 제1항에 있어서,
    상기 적어도 하나의 제1 키는 하나 이상의 노드의 검증이 발생하기 이전에 네트워크 동작이 시작된 이후에, 암호화된 형태로 생성되고 전송되어, 데이터가 안전하게 전송될 수 있도록 함으로써, 네트워크 기능이 액세스될 수 있기 이전에 시간-지연을 최소화하는 방법.
  17. 제1항에 있어서,
    상기 적어도 하나의 제1 키는,
    상기 네트워크 내에 저장되는 데이터를 샘플링하는 단계;
    상기 네트워크 내의 하나 이상의 노드들과 관련된 하나 이상의 센서로부터 센서 데이터를 측정하는 단계; 및
    수학적 기능을 사용하여, 하나 이상의 센서로부터 센서 데이터의 둘 이상의 피스들을 결합하는 단계
    중 하나 이상에 의해 획득되는, 랜덤 또는 비-랜덤 데이터의 하나 이상의 비트에 기초하여 생성되는 방법.
  18. 제1항에 있어서,
    상기 적어도 하나의 제2 키는,
    상기 네트워크 내에 저장되는 데이터를 샘플링하는 단계;
    상기 네트워크 내의 하나 이상의 노드들과 관련된 하나 이상의 센서로부터 센서 데이터를 측정하는 단계;
    수학적 기능을 사용하여, 하나 이상의 센서로부터 센서 데이터의 둘 이상의 피스들을 결합하는 단계
    중에서 하나 이상에 의해 획득되는, 랜덤 또는 비-랜덤 데이터의 하나 이상의 비트에 기초하여 생성되는 방법.
  19. 제1항에 있어서,
    자동차들에서 발견되는 것과 같이 하이 노이즈 환경들 내에서 전송되는 지시 메시지들은, 메시지 데이터의 비-파괴적 중재로 인하여 인증 없이 상기 적어도 하나의 메시지 수신 노드에 수신될 수 있는 방법.
  20. 제1항에 있어서,
    상기 적어도 하나의 제2 키는,
    도메인 컨트롤러 노드, 및
    상기 메시지 송신 노드 중 하나 및 상기 메시지 수신 노드 중 하나 중 하나 이상의
    2개의 위치들에서
    각각 독립적으로 생성되는 방법.
  21. 제1항에 있어서,
    상기 적어도 하나의 제2 키는,
    (1) 모든 상기 다수의 노드들 각각으로부터, 도메인 컨트롤러 노드로, 및
    (2) 상기 도메인 컨트롤러 노드로부터 모든 상기 다수의 노드들 각각으로,
    투-웨이 공유 그룹 요소 정보로부터 획득되는 정보에 기초하여 생성되는
    방법.
  22. 제1항에 있어서,
    상기 적어도 하나의 제2 키는,
    투-웨이 공유 그룹 요소 정보로부터 획득되는 정보에 기초하여 생성되는
    방법.
  23. 제1항에 있어서,
    상기 적어도 하나의 제1 키는,
    상기 모든 참여 노드들로부터의 상기 적어도 하나의 제2 키 모두에 기초하여 생성되는
    방법.
  24. 제1항에 있어서,
    상기 적어도 하나의 제1 키의 배포는 상기 적어도 하나의 제1 키에 의해 달성되고,
    상기 제1 키는,
    제1 노드로부터의 정보 및 도메인 컨트롤러 노드로부터의 정보로부터 상기 도메인 컨트롤러 노드에서 생성되는 제2 키 중 적어도 하나를 사용하여 상기 도메인 컨트롤러에서 암호화된 제1 키, 및
    상기 적어도 하나의 제2 키 중 상기 적어도 하나 - 상기 적어도 하나의 제2 키 중 상기 적어도 하나는 상기 제1 노드 및 상기 도메인 컨트롤러 노드에만 유일하게 관련됨 - 의 제1 노드에서 분리적으로 그리고 원격으로 생성되는 적어도 하나의 복사본을 사용하여 상기 제1 노드에서 복호화된 제1 키
    중 적어도 하나 이상인 방법.
  25. 제1항에 있어서,
    상기 적어도 하나의 메시지 송신 노드에서 상기 적어도 하나의 대칭 제3 키를 생성하는 단계
    를 더 포함하고,
    상기 적어도 하나의 대칭 제3 키의 생성은,
    사이클 속도에서 반복적임, 및
    상기 적어도 하나의 메시지 송신 노드 및 상기 하나 이상의 메시지 수신 노드를 포함하는 상기 다수의 또는 참여 노드들에서 동시적임
    중 하나 이상에 해당하는 방법.
  26. 제1항에 있어서,
    상기 적어도 하나의 대칭 제3 키는,
    상기 네트워크 내에 저장되는 데이터를 샘플링하는 단계;
    상기 네트워크 내의 하나 이상의 노드들과 관련된 하나 이상의 센서로부터 센서 데이터를 측정하는 단계; 및
    수학적 기능을 사용하여, 하나 이상의 센서로부터 상기 센서 데이터의 둘 이상의 피스들을 결합하는 단계
    를 포함하는 하나 이상의 방법에 의해 획득되는, 랜덤 또는 비랜덤 데이터의 비트 중 하나 이상에 기초하여 생성되는
    방법.
  27. 제1항에 있어서,
    상기 적어도 하나의 제1 키는,
    마스터 키이고,
    상기 적어도 하나의 제2 키는,
    다수의 임시 키들이고 - 상기 메시지 수신 노드 중 하나이거나 상기 메시지 송신 노드 중 하나인 비-도메인-컨트롤러 노드 각각에 대해 하나임 -, 및
    상기 적어도 하나의 제3 키는,
    하나 이상의 세션 키를 포함하는
    방법.
  28. 제1항에 있어서,
    상기 메시지 수신 노드에서 마스터 키에 기초하여 하나 이상의 메시지 수신 노드에서 상기 적어도 하나의 세션 키들을 복호화하는 단계; 및
    상기 세션 키 중 하나에 기초하여 하나 이상의 메시지 수신 노드에서 암호문을 복호화하는 단계
    를 더 포함하는 방법.
  29. 제1항에 있어서,
    상기 메시지 송신 노드 및 상기 메시지 수신 노드 중 적어도 하나는,
    도메인 컨트롤러에서, 노드들의 쌍들의 알려진 리스트에 대한 ID 메시지들 및 노드들과 관련된 고유 ID들을 비교하는 방식에 의하여, 상기 도메인 컨트롤러에서 수신된 암호화된 노드 ID들을 검증하는 단계; 및
    세션 키, 검증된 그룹 ID 및 다른 숫자를 조합함으로써 계산되는 메시지 ID에 의하여 변조되는 채널을 통해 데이터를 제공하도록 상기 메시지 송신 노드에 요청하고,
    상기 메시지 ID에 의하여 변조된 상기 채널을 통해 수신되도록 처리되는 정보를 제한하도록 선택적으로 상기 메시지 수신 노드에 요청함으로써,
    런타임 인증을 수행하는 단계
    중 하나 이상에 의해 인증되는 방법.
  30. 제1항에 있어서,
    상기 적어도 하나의 메시지 송신 노드 및 상기 하나 이상의 메시지 수신 노드 각각은,
    8 바이트들까지의 데이터 필드 길이를 허용하는 적어도 하나의 제한 차량 컨트롤러 영역 네트워크 버스 노드;
    8 바이트들까지의 데이터 필드 길이를 허용하는 적어도 하나의 제한 차량 로컬 인터커넥트 네트워크 버스 노드;
    적어도 하나의 컨트롤러 영역 네트워크 버스 도메인 컨트롤러; 및
    적어도 하나의 로컬 인터커넥트 네트워크 버스 도메인 컨트롤러
    중 하나 이상을 포함하는 방법.
KR1020187008370A 2015-09-18 2016-09-19 컴퓨터 네트워크를 개선하기 위한 컴퓨터로-구현되는 암호화 방법, 및 단말, 시스템 및 이를 위한 컴퓨터-판독 가능한 매체 KR101972724B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201562284038P 2015-09-18 2015-09-18
US62/284,038 2015-09-18
US15/268,532 US9756024B2 (en) 2015-09-18 2016-09-16 Computer-implemented cryptographic method for improving a computer network, and terminal, system and computer-readable medium for the same
US15/268,532 2016-09-16
PCT/IB2016/002020 WO2017109584A2 (en) 2015-09-18 2016-09-19 Computer-implemented cryptographic method for improving a computer network, and terminal, system and computer-readable medium for the same

Publications (2)

Publication Number Publication Date
KR20180066048A KR20180066048A (ko) 2018-06-18
KR101972724B1 true KR101972724B1 (ko) 2019-04-25

Family

ID=58283511

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187008370A KR101972724B1 (ko) 2015-09-18 2016-09-19 컴퓨터 네트워크를 개선하기 위한 컴퓨터로-구현되는 암호화 방법, 및 단말, 시스템 및 이를 위한 컴퓨터-판독 가능한 매체

Country Status (8)

Country Link
US (2) US9756024B2 (ko)
EP (1) EP3350961A4 (ko)
JP (1) JP6495548B2 (ko)
KR (1) KR101972724B1 (ko)
CN (1) CN108292993A (ko)
CA (1) CA2998994C (ko)
MX (1) MX2018003295A (ko)
WO (1) WO2017109584A2 (ko)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9407624B1 (en) 2015-05-14 2016-08-02 Delphian Systems, LLC User-selectable security modes for interconnected devices
EP3398088A4 (en) * 2015-12-28 2019-08-21 Sixgill Ltd. SYSTEM AND METHOD FOR MONITORING, ANALYZING AND MONITORING DARK WEB
US20180115535A1 (en) * 2016-10-24 2018-04-26 Netflix, Inc. Blind En/decryption for Multiple Clients Using a Single Key Pair
US10505971B1 (en) * 2016-11-07 2019-12-10 Xilinx, Inc. Protecting local network devices against attacks from remote network devices
JP2018121109A (ja) * 2017-01-23 2018-08-02 本田技研工業株式会社 通信システム、移動体、及び通信方法
DE102017218134B3 (de) * 2017-10-11 2019-02-14 Volkswagen Aktiengesellschaft Verfahren und Vorrichtung zum Übertragen einer Botschaftsfolge über einen Datenbus sowie Verfahren und Vorrichtung zum Erkennen eines Angriffs auf eine so übertragene Botschaftsfolge
CN108234265B (zh) * 2018-01-04 2020-06-05 淄博职业学院 一种基于can总线方式的校园网网关子系统
JP6950605B2 (ja) * 2018-03-27 2021-10-13 トヨタ自動車株式会社 車両用通信システム
EP3799365B1 (en) * 2018-05-23 2022-11-30 Panasonic Intellectual Property Corporation of America Anomaly detection device, anomaly detection method, and program
DE102018212361A1 (de) * 2018-07-25 2020-01-30 Robert Bosch Gmbh Erstes fahrzeugseitiges Endgerät, Verfahren zum Betreiben des ersten Endgeräts, zweites fahrzeugseitiges Endgerät und Verfahren zum Betreiben des zweiten fahrzeugseitigen Endgeräts
CN110943957B (zh) * 2018-09-21 2022-04-15 郑州信大捷安信息技术股份有限公司 一种车内网安全通信系统及方法
US10778662B2 (en) * 2018-10-22 2020-09-15 Cisco Technology, Inc. Upstream approach for secure cryptography key distribution and management for multi-site data centers
EP3836479A4 (en) * 2018-10-24 2022-05-04 Nippon Telegraph And Telephone Corporation SERVER DEVICE, COMMUNICATION TERMINAL, COMMUNICATION SYSTEM AND PROGRAM
US11140139B2 (en) * 2018-11-21 2021-10-05 Microsoft Technology Licensing, Llc Adaptive decoder selection for cryptographic key generation
US11122060B2 (en) * 2018-11-28 2021-09-14 Qualcomm Incorporated Detection of security threats in a mesh network
US11082406B2 (en) * 2018-11-29 2021-08-03 Secret Double Octopus Ltd System and method for providing end-to-end security of data and metadata
DE102018221954A1 (de) * 2018-12-17 2020-06-18 Robert Bosch Gmbh Recheneinrichtung und Verfahren zum Betreiben einer Recheneinrichtung
US11552781B2 (en) 2019-04-05 2023-01-10 Honeywell International Inc. Using error detection bits for cryptographic integrity and authentication
CA3127711A1 (en) * 2019-04-25 2020-10-29 Deere & Company Systems, methods and controllers for secure communications
US11343079B2 (en) 2020-07-21 2022-05-24 Servicenow, Inc. Secure application deployment
CN112118247B (zh) * 2020-09-11 2022-04-12 苏州昆承智能车检测科技有限公司 一种车联网数据加密方法及系统
CN113411180B (zh) * 2020-09-22 2022-05-06 河南嘉晨智能控制股份有限公司 一种数据加密总线自适应的工业设备远程升级系统
CA3203827A1 (en) * 2020-12-30 2022-07-07 Jose R. ROSAS BUSTOS Systems and methods of creating and operating a cloudless infrastructure of computing devices
CN113777983A (zh) * 2021-08-30 2021-12-10 武汉海昌信息技术有限公司 一种物联网设备与数据中心高速数据同步的方法与装置
CN116074826B (zh) * 2023-03-07 2023-06-23 深圳市好盈科技股份有限公司 一种应用于电动滑板车的通讯数据加解密方法和装置
CN116781263B (zh) * 2023-08-23 2023-10-20 合肥工业大学 车内ecu间身份认证及密钥自更新方法、可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060115085A1 (en) 2004-04-28 2006-06-01 Denso Corporation Communication system having plurality of nodes sharing a common cipher key, cipher key dispatching apparatus for use in the system, and anti-theft apparatus utilizing information derived from cipher key utilization
JP2013048374A (ja) 2011-08-29 2013-03-07 Toyota Motor Corp 保護通信方法

Family Cites Families (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4200770A (en) 1977-09-06 1980-04-29 Stanford University Cryptographic apparatus and method
US4227253A (en) 1977-12-05 1980-10-07 International Business Machines Corporation Cryptographic communication security for multiple domain networks
US6919803B2 (en) 2002-06-11 2005-07-19 Intelligent Technologies International Inc. Low power remote asset monitoring
CA2011396C (en) 1989-03-03 1995-01-03 Kazue Tanaka Cipher-key distribution system
US6175312B1 (en) 1990-05-29 2001-01-16 Microchip Technology Incorporated Encoder and decoder microchips and remote control devices for secure unidirectional communication
US5872519A (en) 1992-05-22 1999-02-16 Directed Electronics, Inc. Advanced embedded code hopping system
AUPO799197A0 (en) 1997-07-15 1997-08-07 Silverbrook Research Pty Ltd Image processing method and apparatus (ART01)
US7249109B1 (en) 1997-07-15 2007-07-24 Silverbrook Research Pty Ltd Shielding manipulations of secret data
AUPO797897A0 (en) 1997-07-15 1997-08-07 Silverbrook Research Pty Ltd Media device (ART18)
JP3770440B2 (ja) * 1998-02-23 2006-04-26 日本電信電話株式会社 暗号化通信方法および暗号化通信システム
US6657535B1 (en) 1998-08-31 2003-12-02 Hawkeye Global, Inc. System for signaling a device at a remote location
GB2351588B (en) 1999-07-01 2003-09-03 Ibm Security for network-connected vehicles and other network-connected processing environments
US7844687B1 (en) * 1999-10-06 2010-11-30 Gelvin David C Method for internetworked hybrid wireless integrated network sensors (WINS)
JP2001211155A (ja) 2000-01-25 2001-08-03 Murata Mach Ltd 共通鍵生成方法,共通鍵生成装置及び暗号通信方法
JP2004032679A (ja) * 2002-02-28 2004-01-29 Matsushita Electric Ind Co Ltd 通信装置及び通信システム
US6744148B2 (en) * 2002-03-13 2004-06-01 Ford Global Technologies, Llc Theft resistant system for vehicles equipped with combined starter-alternators
JP2004023237A (ja) * 2002-06-13 2004-01-22 Mitsubishi Electric Corp 暗号通信システム、暗号通信方法およびその方法をコンピュータに実行させるプログラム
US7181016B2 (en) 2003-01-27 2007-02-20 Microsoft Corporation Deriving a symmetric key from an asymmetric key for file encryption or decryption
SE0303122D0 (sv) 2003-11-20 2003-11-20 Volvo Technology Corp Method and system for communication and/or interaction between a vehicle driver and a plurality of applications
JP4580635B2 (ja) 2003-12-10 2010-11-17 ソニー株式会社 車載通信システムおよび通信方法、車載通信端末および通信方法、プログラム記録媒体、並びにプログラム
US7376972B2 (en) 2004-04-14 2008-05-20 Microsoft Corporation Session key exchange key
JP4610225B2 (ja) * 2004-04-27 2011-01-12 ルネサスエレクトロニクス株式会社 通信システムと装置並びに通信方法
US7512804B2 (en) 2004-10-29 2009-03-31 Hitachi Global Storage Technologies Netherlands B.V. Data storage security apparatus and system
US20060265511A1 (en) * 2005-05-20 2006-11-23 Riggs Nicholas D Apparatus and method for efficiently and securely transferring files over a communications network
JP2007164334A (ja) 2005-12-12 2007-06-28 Xanavi Informatics Corp 複製制御装置、情報処理端末とそのプログラム、コンテンツ受信装置、および複製制御方法
US7742603B2 (en) 2006-03-27 2010-06-22 Nissan Technical Center North America, Inc. Security for anonymous vehicular broadcast messages
US20080292105A1 (en) 2007-05-22 2008-11-27 Chieh-Yih Wan Lightweight key distribution and management method for sensor networks
US8237554B2 (en) 2008-06-13 2012-08-07 Ford Global Technologies, Llc System and method for programming keys to vehicle to establish primary and secondary drivers
US8761390B2 (en) * 2008-06-30 2014-06-24 Gm Global Technology Operations Production of cryptographic keys for an embedded processing device
JP5262936B2 (ja) * 2009-04-07 2013-08-14 株式会社デンソー 車両制御装置
US8378800B2 (en) 2009-09-30 2013-02-19 Dei Headquarters, Inc. Security system and method for operating the same
US20110093639A1 (en) * 2009-10-19 2011-04-21 Microchip Technology Incorporated Secure Communications Between and Verification of Authorized CAN Devices
US8417860B2 (en) * 2010-08-05 2013-04-09 Honda Motor Co., Ltd. Hybrid in-vehicle infotainment network
US9123058B2 (en) * 2011-11-16 2015-09-01 Flextronics Ap, Llc Parking space finder based on parking meter data
US20120084368A1 (en) * 2010-10-05 2012-04-05 Research In Motion Limited Data channel set up latency reduction
DE102010042539B4 (de) 2010-10-15 2013-03-14 Infineon Technologies Ag Datensender mit einer sicheren, aber effizienten Signatur
US8863256B1 (en) * 2011-01-14 2014-10-14 Cisco Technology, Inc. System and method for enabling secure transactions using flexible identity management in a vehicular environment
DE102011080476A1 (de) * 2011-08-05 2013-02-07 Robert Bosch Gmbh Verfahren und Vorrichtung zur Verbesserung der Datenübertragungssicherheit in einer seriellen Datenübertragung mit flexibler Nachrichtengröße
US9173100B2 (en) * 2011-11-16 2015-10-27 Autoconnect Holdings Llc On board vehicle network security
US9055022B2 (en) * 2011-11-16 2015-06-09 Flextronics Ap, Llc On board vehicle networking module
JP5651615B2 (ja) * 2012-02-16 2015-01-14 日立オートモティブシステムズ株式会社 車載ネットワークシステム
US9037631B2 (en) * 2012-02-22 2015-05-19 Ether-2 Corp. Network communications
US9471528B2 (en) * 2012-11-02 2016-10-18 Nxp B.V. Controller area network (CAN) transceiver and method for operating a CAN transceiver
WO2014142719A1 (en) * 2013-03-14 2014-09-18 Telefonaktiebolaget L M Ericsson (Publ) Mobile terminal, control method thereof, onboard unit, control method thereof, backend server, and control method thereof
JP2014183395A (ja) * 2013-03-18 2014-09-29 Hitachi Automotive Systems Ltd 車載ネットワークシステム
US9652423B2 (en) * 2013-06-05 2017-05-16 Texas Instruments Incorporated CAN and flexible data rate CAN node apparatus and methods for mixed bus CAN FD communications
US20150033016A1 (en) * 2013-07-23 2015-01-29 Battelle Memorial Institute Systems and methods for securing real-time messages
EP3056394B1 (en) * 2013-10-08 2022-11-30 ICTK Holdings Co., Ltd. Vehicle security network device and design method therefor
JP6126980B2 (ja) * 2013-12-12 2017-05-10 日立オートモティブシステムズ株式会社 ネットワーク装置およびネットワークシステム
DE102014200558A1 (de) * 2014-01-15 2015-07-16 Bayerische Motoren Werke Aktiengesellschaft Gesicherter Netzwerk-Zugangsschutz über authentifizierte Zeitmessung
KR101536141B1 (ko) * 2014-02-13 2015-07-13 현대자동차주식회사 이더넷과 can 통신 간의 신호 변환을 제공하는 차량용 장치 및 그 제어방법
DE102015207220A1 (de) 2014-04-28 2015-10-29 Robert Bosch Gmbh Verfahren zur Erzeugung eines Geheimnisses oder eines Schlüssels in einem Netzwerk
DE102014007820B4 (de) * 2014-06-02 2017-03-02 Infineon Technologies Ag Datenrahmen für geschützte Datenübertragungen
US9215228B1 (en) * 2014-06-17 2015-12-15 Cisco Technology, Inc. Authentication of devices having unequal capabilities
US9380044B2 (en) * 2014-09-10 2016-06-28 Cisco Technology, Inc. Supporting differentiated secure communications among heterogeneous electronic devices
CN105794146A (zh) * 2014-11-13 2016-07-20 松下电器(美国)知识产权公司 密钥管理方法、车载网络系统以及密钥管理装置
CN107820604B (zh) * 2015-04-14 2021-09-21 吉佳维申公司 具有联网设备的计算机驱动系统的半虚拟化安全威胁防护

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060115085A1 (en) 2004-04-28 2006-06-01 Denso Corporation Communication system having plurality of nodes sharing a common cipher key, cipher key dispatching apparatus for use in the system, and anti-theft apparatus utilizing information derived from cipher key utilization
JP2013048374A (ja) 2011-08-29 2013-03-07 Toyota Motor Corp 保護通信方法

Also Published As

Publication number Publication date
EP3350961A2 (en) 2018-07-25
US20170085537A1 (en) 2017-03-23
JP2018527856A (ja) 2018-09-20
US9756024B2 (en) 2017-09-05
US20180069841A1 (en) 2018-03-08
CA2998994A1 (en) 2017-06-29
CN108292993A (zh) 2018-07-17
MX2018003295A (es) 2019-02-07
EP3350961A4 (en) 2018-12-12
WO2017109584A2 (en) 2017-06-29
CA2998994C (en) 2018-07-10
KR20180066048A (ko) 2018-06-18
WO2017109584A3 (en) 2017-09-28
JP6495548B2 (ja) 2019-04-03

Similar Documents

Publication Publication Date Title
KR101972724B1 (ko) 컴퓨터 네트워크를 개선하기 위한 컴퓨터로-구현되는 암호화 방법, 및 단말, 시스템 및 이를 위한 컴퓨터-판독 가능한 매체
Attkan et al. Cyber-physical security for IoT networks: a comprehensive review on traditional, blockchain and artificial intelligence based key-security
US11271730B2 (en) Systems and methods for deployment, management and use of dynamic cipher key systems
EP3090520B1 (en) System and method for securing machine-to-machine communications
US10187373B1 (en) Hierarchical, deterministic, one-time login tokens
KR101508497B1 (ko) 차량용 데이터의 인증 및 획득 방법
US11595363B2 (en) System and method to secure the transmission of files to a valid client
US11736304B2 (en) Secure authentication of remote equipment
SE538304C2 (sv) Improved installation of a terminal in a secure system
CN110708291B (zh) 分布式网络中数据授权访问方法、装置、介质及电子设备
KR20150053912A (ko) 서버에 클라이언트를 등록하기 위한 방법 및 디바이스들
CN117318941B (zh) 基于车内网的预置密钥分发方法、系统、终端及存储介质
US11240661B2 (en) Secure simultaneous authentication of equals anti-clogging mechanism
US20220329429A1 (en) System and method for authorizing access to smart devices in a local environment
JP2005175992A (ja) 証明書配布システムおよび証明書配布方法
KR102400260B1 (ko) 속성 기반 접근 제어를 이용하는 엣지 컴퓨팅 기반의 차량-내 통신 시스템 및 그 방법
CN112187462B (zh) 数据处理方法、装置、电子设备及计算机可读介质
US20240106659A1 (en) Authentication process
JP2008203581A (ja) ネットワークシステム
Radhi et al. Secure and Fast Remote Application–Based Authentication Dragonfly Using an LED Algorithm in Smart Buildings
Vougioukalos An embedded platform for developing data protection protocols on smart vehicles.
Cherckesova et al. Development of an import–substituting software package for secure file transfer, based on the modified protocol of EL–GAMAL
WO2023209087A1 (en) System and method for authorizing access to smart devices in a local environment
WO2023146857A1 (en) Enhanced secure cryptographic communication system

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right