KR102559684B1 - 계측 제어기 통신망을 위한 그룹 키 합의를 위해 부채널 누설을 최소화하기 위한 방법들 - Google Patents

계측 제어기 통신망을 위한 그룹 키 합의를 위해 부채널 누설을 최소화하기 위한 방법들 Download PDF

Info

Publication number
KR102559684B1
KR102559684B1 KR1020197029467A KR20197029467A KR102559684B1 KR 102559684 B1 KR102559684 B1 KR 102559684B1 KR 1020197029467 A KR1020197029467 A KR 1020197029467A KR 20197029467 A KR20197029467 A KR 20197029467A KR 102559684 B1 KR102559684 B1 KR 102559684B1
Authority
KR
South Korea
Prior art keywords
nodes
node
ranking
leakage
shared
Prior art date
Application number
KR1020197029467A
Other languages
English (en)
Other versions
KR20190118209A (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 KR20190118209A publication Critical patent/KR20190118209A/ko
Application granted granted Critical
Publication of KR102559684B1 publication Critical patent/KR102559684B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40006Architecture of a communication node
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40006Architecture of a communication node
    • H04L12/40013Details regarding a bus controller
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • 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/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/003Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
    • 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/083Key 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) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • H04L9/0833Key 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) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group 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/12Transmitting and receiving encryption devices synchronised or initially set up in a particular manner
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40215Controller Area Network CAN

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Algebra (AREA)
  • Probability & Statistics with Applications (AREA)
  • Small-Scale Networks (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

통신 네트워크의 동작을 위한 방법은 통신 네트워크를 통해 송신된 신호들을 관찰할 수 있는 공격자로의 데이터의 누설을 감소시킨다. 방법은 노드들의 누설 맵에 기초하여 그룹 암호 키 교환 프로세스에서 데이터를 교환하는 복수의 노드들의 동작을 순서화하기 위해 랭킹을 생성하는 단계를 포함한다. 랭킹은 그룹 암호 키 교환 프로세스 동안 공유 통신 매체를 통해 데이터의 누설을 최소화한다. 방법은 공유 통신 매체를 통해 복수의 노드들로 랭킹을 송신하는 단계, 및 복수의 노드들에 의해, 복수의 노드들이 데이터의 누설을 최소화하면서 공유 통신 매체를 통해 공유된 암호 키를 교환할 수 있게 하기 위해 랭킹에 특정된 동작의 순서로 그룹 암호 키 교환 프로세스를 수행하는 단계를 포함한다.

Description

계측 제어기 통신망을 위한 그룹 키 합의를 위해 부채널 누설을 최소화하기 위한 방법들
우선권 주장
본 출원은 발명의 명칭이 "계측 제어기 통신망을 위한 그룹 키 합의를 위해 부채널 누설을 최소화하기 위한 방법들"이고, 2017년 3월 8일에 출원된, 미국 가출원 제 62/468,691 호의 이득을 주장하고, 그의 전체 내용은 여기에서 참조로서 명확하게 통합된다.
상호 참조
본 출원은 각각이 2017년 3월 8일에 출원된, 미국 가출원 번호 제62/468,669호, 미국 가출원 번호 제62/468,680호, 및 미국 가출원 번호 제62/468,705호를 상호 참조한다. 상호-참조된 출원들의 각각의 전체 내용은 여기에서 참조로서 명확하게 통합된다.
분야
본 개시는 일반적으로 네트워크 통신들의 분야에 관한 것이고, 보다 구체적으로 공유 통신 매체를 사용하여 보안 통신을 위한 시스템들 및 방법들에 관한 것이다.
계측 제어기 통신망(CAN) 버스 통신 표준은 자동차 및 다른 운송 차량들, 빌딩 자동화, 산업용 시스템들, 로보틱스, 및 공유 통신 매체를 사용하여 내장된 디지털 디바이스들 간에 통신을 요구하는 다른 분야들을 포함하지만, 그로 제한되지 않는 광범위한 애플리케이션들에서 사용되는 견고한 통신 인터페이스를 제공한다. 많은 CAN 버스 실시예들은 CAN-High(CANH) 및 Can-Low(CANL)라 지칭되는, 두 개의 전기적 도전성 와이어들을 이용하며, "노드들"로서 지칭되는 전자 디바이스들은 표준화된 데이터 프레임 포맷을 사용하여 데이터를 송신 및 수신하기 위해 공유 통신 매체로서 CANH 및 CANL 와이어들을 사용한다. CAN 버스는 통상적으로 신호 송신을 위한 물리적 매체로서 케이블들의 한 쌍의 차폐 또는 비차폐 연선들을 이용한다.
정상 동작 동안, 노드들은 하나 이상의 노드들이, 둘 이상의 노드들이 동시에 송신할 때 발생하는 "충돌들" 없이 신뢰 가능한 통신을 제공하기 위해 단지 하나의 노드만이 사실상 한 번에 CAN-High 및 CAN-Low 라인들 상에서 데이터를 송신한다는 것을 보장하기 위해 데이터 프레임을 송신하고 싶어할 때 버스 중재 프로세스(bus arbitration process)를 수행한다. CAN 버스 표준에서, 버스 상에서 우성 비트 '0'을 송신할 때, 출력 핀들(CANH 및 CANL)은 상이한 전압 레벨들로 구동되며, CANH에서 CANL까지의 차이는 CAN 버스의 출력이다. 유사하게, 열성 비트 '1'의 송신은 CANH 및 CANL이 보다 높은 상대 전압 레벨들로 구동되지 않을 때 발생하며 유사한 전압 레벨들을 가질 것이다. CAN 버스는 공유 통신 매체이기 때문에, CAN 버스에 연결되는 모든 노드는 버스를 통해 송신되는 데이터의 각각의 비트를 판독할 수 있다. CAN 버스의 이러한 속성은 두 개의 노드들이 버스에 연결되는 다른 노드들에 의해 이해될 수 없는 데이터를 사적으로 전달하고 싶을 때 문제점들을 나타낸다.
CAN 버스 구현들에 대한 최근의 진보들은 CAN 서브에 연결되는 두 개의 노드들이 제 3 자 노드들이 두 개의 송신 노드들 중 어떤 것이 실제로 암호 키의 부분을 형성하는 정보를 송신하는지를 결정할 수 있는 것을 방지하는 방식으로 암호 키 데이터를 교환하기 위해 (의도적으로 충돌을 생성하기 위해) 동시에 데이터의 비트들을 송신하는 구성들을 포함한다. 이들 키 교환 기술들의 일 부분에서, 두 개의 노드들은 부착된 노드들의 각각에 의해 검출될 수 있는 CANH 및 CANL 와이어들 사이에서 합산된 전압 차를 생성하는, 양쪽 노드들 모두로부터 원래 비트들의 논리 보수의 동시적 송신에 앞서, 논리 1 및 논리 0 신호를 동시에 송신한다. 그러나, CAN 버스에 결합되는 디바이스들 모두는, 두 개의 노드들이 동시에 송신할 수 있기 때문에, CAN 버스를 통해 우성 비트(논리 0)의 송신을 검출할 수 있지만, CAN 버스에 연결되는 다른 노드들은 두 개의 노드들 중 어떤 것이 논리 보수에 앞서 0/1 비트의 송신 시퀀스 동안 임의의 시간에 우성 0 또는 비우성 1을 송신하는지를 결정할 수 없으며, 단지 두 개의 송신 노드들만이 어떤 비트가 송신되고 있는지를 안다. 두 개의 노드들은 랜덤화 방식으로(양쪽 노드들 모두가 논리 00/11 시퀀스 또는 논리 11/00 시퀀스를 송신한다면, 송신은 이들 신호들이 제 3 자들로 하여금 각각의 노드로부터 송신된 데이터를 결정할 수 있게 하므로 무시된다) 논리 0 및 1 비트들과 그것들의 논리 보수들을 송신하며, 이것은 CAN 버스에 연결된 다른 노드들이 각각의 비트를 송신하는 노드의 아이덴티티를 검출하는 것을 방지한다. 다수 회 반복되며 여기에서 보다 상세하게 설명되지 않는 다른 기술들과 조합된, 이러한 동작은 두 개의 노드들 - 및 간접적으로 훨씬 더 큰 그룹들의 노드들 - 이 공유된 암호 키를 위한 기초를 형성하는 데이터를 교환할 수 있게 하기 위한 토대를 형성한다. 노드들이 암호 키들을 교환한 후, 이들 공유된 키들은 버스 상에서의 노드들의 상이한 서브세트들이 CAN 버스에 연결되는 다른 노드들에 의해 검출 가능하지 않은 방식으로 복호화되거나 또는 변경될 수 없는 데이터를 교환할 수 있게 하는 그 외 이 기술분야에 알려진 기술들을 사용하여 데이터 암호화 및 인증/검증 동작들을 수행하기 위해 사용된다.
상기 설명된 바와 같이, 표준 CAN 버스 송수신기들을 갖고 CAN 버스에 연결되는 노드들은 CAN 버스의 CANH 및 CANL 와이어들을 통해 논리 0 및 1 레벨들에 대응하는 전압 신호들을 검출할 수 있다. 두 개의 노드들이 논리 0 및 1을 동시에 송신할 때, 대부분의 표준 CAN 노드들의 송수신기들은 두 개의 노드들 중 어떤 것이 논리 0 및 1을 송신하였는지를 결정할 수 없다. 그러나, 물리 레벨에서, CAN 버스를 통해 송신되는 전기 신호들은 CAN 버스의 물리적 구성요소들 및 노드들 자체가 복잡하고 상이한 아날로그 전기 속성들을 갖기 때문에 상기 설명되는 디지털 논리의 논리 0 및 1 레벨들에 완전하게 대응하지 않는다. 몇몇 인스턴스들에서, CAN 버스에 전기적으로 연결되는 악의적인 소프트웨어 또는 허가되지 않은 하드웨어 디바이스에 의해 손상된 CAN 버스에서의 합법적인 하드웨어 노드인, 공격자(adversary)는 공격자가 상기 설명되는 프로세스에서 어떤 노드가 논리 0을 송신하고 어떤 노드가 논리 1 신호를 송신하는지를 결정할 수 있게 하는 방식으로 CAN 버스를 통해 송신되는 전기 신호들의 속성들의 고-정밀 측정들을 수행한다. 특히, 양쪽 노드들 모두는 각각의 비트 교환 동안 랜덤화 순서로 논리 0 및 논리 1을 송신하므로, 공격자는 각각의 노드로부터 송신되는 우성 비트 신호(논리 0)의 신호 특성들을 모니터링할 수 있다. 공격자는 그 후 두 개의 노드들 사이에서 공유되는 비밀을 재구성하며 CAN 버스 시스템의 보안을 위태롭게 할 수 있다. 이러한 공격들의 클래스는 공격자가 상기 설명되는 암호 키 교환을 위해 논리 프로토콜을 무산시키지 않았을지라도 공격자가 특정한 CAN 버스 시스템에서 버스 및 버스에 연결되는 노드들의 물리적 속성들에 의해 영향을 받는 정밀 전기 신호 측정들에 기초하여 정보를 추출하기 때문에 부채널 공격으로서 불리운다.
도 1은 각각이 CAN 버스를 형성하기 위해 저항기들(118)에 의해 종단되는 CANH 컨덕터(112) 및 CANL 컨덕터(116)에 연결되는 3개의 CAN 노드들(104, 106, 108)을 포함하는 종래 기술의 CAN 네트워크(100)의 예를 도시한다. 공격자 노드(124)는 또한 CAN 버스에 전기적으로 연결되며 공격자 노드는 공격자가 하나 이상의 부채널 공격들을 수행할 수 있게 하는 전기 신호 측정 및 신호 프로세싱 하드웨어를 포함한다. 상기 설명된 바와 같이, 부채널 공격들은 CAN 버스와 같은 공유 매체 통신 네트워크에서 보안을 유지하는데 도전들을 보여준다.
결과적으로, 이들 부채널 공격들로부터의 위협들을 감소시키거나 또는 제거하는 방법들 및 시스템들에 대한 개선들이 유리할 것이다.
여기에서 설명된 실시예들은 공유 통신 매체를 물리적으로 조사할 수 있는 공격자들로부터 공유 통신 매체를 사용하는 CAN 버스 또는 다른 네트워크를 보호하기 위한 대책들을 포함한다. 여기에서 설명된 실시예들은 공격자로의 누설을 최소화하기 위해 그룹 암호 키 교환 프로세스에 참여하는 노드들 사이에서 통신의 순서를 결정하고 설정하기 위한 방법들을 포함한다. 여기에서 설명된 실시예들은 물리적 모델링 및 학습 기반 방법들을 사용하여 노드 상호 작용으로 인한 누설을 추정하기 위해 게이트웨이 노드(마스터 노드)를 사용한다. 여기에서 설명된 실시예들은, 게이트웨이 노드에 의해 추정된 누설 함수에 기초하여, 전체 누설을 최소화하기 위해 노드 순서를 최소화한다. 상이한 기준들이 총 누설 최소화 및 최대-링크 누설의 최소화를 포함한, 최소화를 위해 제안되었다. 여기에서 설명된 실시예들은 도청자로부터 노드 순서를 숨김으로써, 프라이버시 보존 방식으로 노드들에 노드-순서를 전달한다.
일 실시예에서, 통신 네트워크를 통해 송신된 신호들을 관찰할 수 있는 공격자로의 데이터의 누설을 감소시키기 위한 통신 네트워크의 동작을 위한 방법이 개발되어 왔다. 상기 방법은 노드들의 누설 맵에 기초하여 그룹 암호 키 교환 프로세스에서 데이터를 교환하는 통신 네트워크에서 복수의 노드들의 동작을 순서화하는 랭킹을 생성하는 단계로서, 랭킹은 상기 그룹 암호 키 교환 프로세스 동안 공유 통신 매체를 통해 데이터의 누설을 최소화하는, 랭킹을 생성하는 단계, 통신 네트워크에서 게이트웨이 노드에 의해, 공유 통신 매체를 통해 복수의 노드들로 랭킹을 송신하는 단계, 및 복수의 노드들에 의해, 복수의 노드들로 하여금 공유 통신 매체를 통해 데이터의 누설을 최소화하면서 공유 통신 매체를 통해 공유된 암호 키를 교환할 수 있게 하기 위해 랭킹에 특정된 동작의 순서로 그룹 암호 키 교환 프로세스를 수행하는 단계를 포함한다.
본 발명은 CAN 버스 네트워크와 같은, 공유 통신 매체 네트워크로 하여금 노드들의 그룹들이 3개 이상의 노드들 사이에서 공유된 암호 키를 생성하는 그룹 암호 키 교환 프로세스를 수행할 때 발생하는 누설의 총 양을 식별하고 감소시킬 수 있게 한다.
도 1은 종래 기술의 CAN 버스 시스템의 개략도.
도 2는 그룹 암호 키 교환 프로세스 동안 공격자 노드로의 정보의 누설을 최소화하기 위해 CAN 버스 시스템에서 노드들의 동작의 순서를 제어하는 CAN 버스 시스템의 개략도.
도 3은 그룹 암호 키 교환 프로세스 동안 공격자 노드로의 정보의 누설을 최소화하기 위해 CAN 버스 시스템에서 노드들의 동작의 순서를 제어하기 위한 방법의 블록도.
도 4는 CAN 버스 시스템에서 노드들 간의 송신들을 위해 데이터 누설의 추정치들을 묘사한 누설 그래프.
도 5는 도 4의 누설 그래프에 기초하여 누설을 최소화하는 그룹 암호 키 교환 동작을 수행하기 위한 노드들의 동작의 순서를 묘사한 그래프.
도 6은 도 4의 누설 그래프에 기초하여 누설을 최소화하는 그룹 암호 키 교환 동작을 수행하기 위한 노드들의 동작의 또 다른 순서를 묘사한 그래프.
여기에서 개시된 실시예들의 원리들의 이해를 촉진시킬 목적들을 위해, 참조가 이제 다음의 기록된 명세서에서의 도면들 및 설명들에 대해 이루어진다. 주제의 범위에 대한 어떤 제한도 참조들에 의해 의도되지 않는다. 본 개시는 또한 본 개시가 관련되는 이 기술분야에서의 숙련자에게 통상적으로 발생할 바와 같이 예시된 실시예들에 대한 임의의 변경들 및 수정들을 포함하며 개시된 실시예들의 원리들의 추가 적용들을 포함한다.
여기에서 사용된 바와 같이, 용어 "비트"는 통상적으로 텍스트에서 "0" 또는 "1"로서 표현되는, 두 개의 이산 값들 중 하나를 가질 수 있는 이진 값을 나타낸다. 통신 시스템들은 데이터의 송신 동안 이진 비트의 두 개의 값들을 나타내는 상이한 전압 레벨들, 위상들, 또는 다른 신호 특성들을 가진 신호들을 발생시킨다. 이 기술분야에 잘 알려진 바와 같이, 디지털 데이터는 숫자들, 글자들, 또는 임의의 다른 형태의 데이터를 나타낼 수 있는 일련의 하나 이상의 비트들을 포함하며, 특히 비트들의 세트는 암호 키를 형성할 수 있다. 여기에서 사용된 바와 같이, 이진 값들에 적용된 바와 같이 용어들 "논리 보수" 또는 "역"은 상호 교환 가능하며 이진 데이터의 각각의 비트의 값들을 변경하는 연산 또는 데이터의 세트를 나타낸다(예컨대, 이진 시퀀스 "101"은 "010"의 논리 보수이다). 이하에서 보다 상세하게 설명되는 바와 같이, 보안 키 교환을 위한 프로토콜은 서로의 논리 보수들인 공유 키들에 대한 대응 비트들의 세트를 가진 상이한 노드들을 남긴다. 노드들의 선택된 세트들은 노드들 모두가 동일한 공유 키를 갖도록 반전 동작을 수행한다.
여기에서 사용된 바와 같이, 용어 "키" 또는 "암호 키"는 통신 네트워크에서의 둘 이상의 노드들이 데이터의 암호화 및 복호화를 포함하며 송신된 데이터의 인증을 위한 암호 동작들을 수행하기 위해 사용하는 비트들의 시퀀스를 나타낸다. "공유 키"는 서로 통신하는 둘 이상의 노드들에 알려진 키를 나타내지만 공유 키는 그 외 공격자들을 포함하여, 제 3 자들에게 알려지지 않는다. 여기에서 설명된 방법들 및 시스템들은 통신 네트워크에서의 둘 이상의 노드들로 하여금 공격자가 노드들 간에 발생하는 임의의 통신을 모니터링하고 여기에서 설명되는 부채널 공격들을 수행할 수 있을지라도 공격자가 식별할 수 없는 공유 키를 생성할 수 있게 한다. 공유 키들이 생성된 후, 노드들은 그 외 이 기술분야에 잘 알려지고 여기에서 보다 상세하게 설명되지 않는 암호 동작들을 수행한다.
여기에서 사용된 바와 같이, 용어 "공유 통신 매체"는 단일 노드로부터의 임의의 송신이 공유 통신 매체에 연결되는 모든 다른 노드들에 의해 수신되는 방식으로 다수의 노드들이 데이터를 송신하고 수신하는 물리적 네트워크 연결 및 네트워크 통신 프로토콜을 나타낸다. 공유 통신 매체에서, 둘 이상의 노드들은 동시에 데이터를 송신할 수 있다. 공유 통신 매체는 공격자가 공유 통신 매체를 통해 발생하는 임의의 및 모든 통신들을 모니터링하기 위한 능력을 갖는 것으로 가정되기 때문에 "안전하지 않은" 또는 "신뢰되지 않은" 통신 채널로 고려된다.
공유 통신 매체의 두 개의 비-제한적인 예들은 계측 제어기 통신망 버스(CANbus) 네트워크 통신 버스 및 프로토콜 및 I2C 버스를 포함한다. 이들 실시예들 중 양쪽 모두에서, 공유 통신 매체에 통신적으로 연결되는 모든 노드들은 특정한 노드에 의한 수신을 위해 의도되지 않은 신호들을 포함하여, 통신 매체를 통해 송신되는 모든 신호들을 관찰할 수 있다. 이하에서 보다 상세하게 설명되는 바와 같이, 각각의 노드는 하나 이상의 부가적인 노드들로 공유 통신 매체를 통해 신호들을 송신 및 수신하도록 구성된 송수신기를 포함하는 컴퓨팅 디바이스이다.
상기 설명된 바와 같이, 공격자는 동시에 송신하는 노드들의 쌍에서 어떤 노드가 공유 통신 매체를 통해 논리 0 또는 논리 1을 송신하는지를 결정하기 위해 하나 이상의 유형들의 부채널 공격을 수행한다. 3개의 유형들의 부채널 공격들은 전압 공격들, 과도 신호 공격들, 및 타이밍 공격들을 포함한다. 전압 부채널 공격에서, 공격자 노드는 네트워크에서 상이한 노드들에 대한 전압 레벨에서의 작은 변화들에 기초하여 우성 비트(논리 0)를 송신하는 노드를 식별하기 위해 상이한 노드들로부터 송신되는 비트들의 정상 상태 전압 레벨들의 정밀한 측정들을 한다. 과도 신호 부채널 공격에서, 공격자는 노드가 우성 비트의 송신을 시작할 때 발생하는 전압 레벨에서의 과도 변화에서 신호 특성들의 정밀한 측정들을 하며, 여기에서 상이한 노드들은 상이한 과도 신호 특성들을 보인다. 타이밍 부채널 공격에서, 공격자 노드는 신호들이 CAN 버스를 통해 송신됨에 따라 개개의 노드들로부터의 송신 시간들에서의 변화들 및 신호 전파 지연들로 인해 신호들이 CAN 버스에서 관찰되는 시간들에서의 작은 차이를 측정한다.
여기에서 설명된 실시예들은 선택적으로 상기 설명된 부채널 공격들 중 일부 또는 모두를 감소시키거나 또는 제거하도록 구체적으로 구성되는 노드들을 이용한다. 보다 구체적으로, 2017년 3월 8일에 출원된, 미국 가출원 번호 제62/468,705호는 공유 통신 매체 네트워크들에서 전압 부채널 공격들의 완화를 설명한다. 2017년 3월 8일에 출원된, 미국 가출원 번호 제62/468,669호는 공유 통신 매체 네트워크들에서 과도 부채널 공격들의 완화를 설명한다. 2017년 3월 8일에 출원된, 미국 가출원 번호 제62/468,680호는 공유 통신 매체 네트워크들에서 타이밍 부채널 공격들의 완화를 설명한다. 이들 출원들에서 부채널 공격들을 완화시키는 방법들 및 시스템들은 부채널 공격들의 효과성을 감소시키기 위해 본 출원에서 설명된 실시예들과 조합될 수 있는 기술들의 비-제한적인 예들이다. 그러나, 정보의 누설에 대한 가능성은 안티-부채널 공격 완화 기술들이 공유 통신 매체 네트워크로 통합될 때에도 남아있다. 누설의 양은 총 송신들의 수가 순차적으로 증가하기 때문에 둘 이상의 노드들의 그룹이 암호 키 교환 프로세스를 수행할 필요가 있는 경우 증가할 수 있다. 여기에서 설명된 실시예들은 CAN 버스 네트워크와 같은, 공유 통신 매체 네트워크로 하여금 노드들의 그룹들이 3개 이상의 노드들 사이에서 공유된 암호 키를 생성하는 그룹 암호 키 교환 프로세스를 수행할 때 발생하는 누설의 총 양을 식별하고 감소시킬 수 있게 한다.
도 2는 CANH 컨덕터(112), CAHL 컨덕터(116), 및 종단 저항기들(118)을 포함한 CAN 버스에 연결되는 5개의 노드들(204A 내지 204E)을 포함하는 CAN 버스 시스템(200)을 묘사한다. 시스템(200)은 또한 CAN 버스에 연결되는 게이트웨이 노드로서 불리우는 노드(250)를 포함하며 공격자 노드(124)가 또한 CAN 버스에 연결된다. 노드들(204A 내지 204E)은 이하에서 설명되는 바와 같이, 3개의 노드들 사이에 공유되는 암호 키에 대한 공유된 그룹 키를 형성하기 위해 암호 키 교환을 수행할 수 있지만, 노드들(204A 내지 204E)은 또한 하나의 다른 노드와 암호 키를 교환할 수 있다. 그룹 암호 키 교환 프로세스의 개시 이전에, 게이트웨이 노드(250)는 노드들이 그룹에 부가되는 순서를 그룹에 포함될 노드들(204A 내지 204E)의 각각으로 송신한다.
시스템에서 게이트웨이 노드(250)는 CAN 송수신기(256) 및 메모리(260)에 동작 가능하게 연결되는 CAN 제어기(252)를 포함한다. CAN 제어기(252)는 하나 이상의 마이크로프로세서들, 마이크로제어기들, 디지털 신호 프로세서들(DSP들), 필드 프로그램 가능한 게이트 어레이들(FPGA들), 주문형 집적 회로들(ASIC), 및 여기에서 설명된 동작들을 수행하도록 구성된 임의의 다른 적절한 디지털 논리 디바이스를 포함하는 디지털 논리 디바이스이다. CAN 송수신기(256)는 CANH 와이어(112) 및 CANL 와이어(116)에 연결되는 입력/출력 라인들을 포함하는 전자 송수신기 디바이스이다. CAN 송수신기는 CAN 버스로부터 신호들을 수신하는 것 및 CAN 버스를 통해 노드들(204A 내지 204E)로 데이터를 송신하는 것을 포함하여, CAN 버스를 통해 데이터를 수신한다. 몇몇 실시예들에서, CAN 송수신기(256)는 또한 CAN 제어기(252)로 하여금 노드들(204A 내지 204E)의 상이한 쌍들 사이에서의 송신들에서 누설의 추정치들을 생성하기 위해 노드들(204A 내지 204E)이 CAN 버스를 통해 송신하는 신호들의 신호 특성들을 기록할 수 있게 하는 오실로스코프, 고분해능 아날로그 디지털 변환기(ADC) 회로들, 디지털 신호 프로세서들 등을 포함한 부가적인 신호 프로세싱 하드웨어를 포함한다. 메모리(260)는 랜덤 액세스 메모리(RAM)와 같은 휘발성 메모리 디바이스들 및 자기 디스크들 또는 고체-상태 메모리 디바이스들과 같은 비-휘발성 메모리 디바이스들 양쪽 모두를 포함한다. 메모리(260)는 CAN 제어기에 의한 실행을 위해 저장된 프로그램 소프트웨어/펌웨어 명령들(252)뿐만 아니라 추정된 노드 대 노드 누설 그래프 데이터의 그래프(262), 그룹 암호 키 교환 프로세스 동안 노드들의 동작의 순서를 설정하는 노드 송신을 위한 랭킹 순서의 저장 데이터(264), 및 게이트웨이 노드(250)가 노드들(204A 내지 204E)과 개별적으로 공유하는 공유된 암호 키들의 세트(266)를 유지한다.
시스템(200)에서 노드들(204A 내지 204E)의 각각은 도 2에서 묘사된 CAN 버스에 각각의 노드를 연결하는 CAN 제어기 및 CAN 송수신기를 포함한다. 부가적으로, 노드들(204A 내지 204E)은 공격자 노드(124)가 시스템(200)에 대해 수행하는 전압, 과도 상태, 및 타이밍 부채널 공격들에 대한 대책들을 구현하는 부가적인 하드웨어 및 소프트웨어 요소들을 선택적으로 포함한다.
시스템(200)은 CAN 버스가 아닌 주변 또는 네트워크 데이터 연결을 통해 게이트웨이(250)에 통신 가능하게 연결되는 외부 프로세서(284)를 선택적으로 포함한다. 외부 프로세서(284)는, 예를 들면, 표준 상업적으로 이용 가능한 프로세서들(예컨대, x86, ARM, PowerPC, MIPS 등 프로세서들)을 사용한 서버 컴퓨팅 디바이스, 및 몇몇 실시예들에서, 효율적인 방식으로 기계 학습 동작들을 수행하는 하드웨어 가속 디바이스들이다. 외부 프로세서(284)는 노드들(204A 내지 204E) 사이에서 추정된 누설 레벨들의 그래프를 생성하고 게이트웨이 노드(250)에서의 CAN 제어기(252)가 효율적인 방식으로 이들 동작들을 수행하기 위해 계산 전력이 부족한 실시예들에서 노드들(204A 내지 204E)의 상이한 서브세트들로 송신의 순서를 할당하도록 랭킹 프로세스를 수행하기 위해 이하에서 설명된 프로세싱 중 일부를 수행하는 선택적 하드웨어 요소이다.
이하에서 보다 상세하게 설명되는 바와 같이, 게이트웨이 노드(250)는 노드들(204A 내지 204E)이 공격자(124)로의 정보의 누설의 총 양을 최소화하기 위해 암호 키 교환 동작을 수행하는 순서를 제어한다. 누설을 최소화하는 것은 물론 항상 바람직하지만, 몇몇 그룹 암호 키 교환 프로세스들에서, 프로세스는 그룹에 부가적인 노드들을 부가하는 것이 공격자(124)의 존재 시 안전한 방식으로 이루어질 필요가 있는 송신들의 수에서의 상기-선형적 증가를 야기하므로 누설이 가진 잠재적인 이슈들을 증폭시킨다. 하나의 단순화된 예에서, 도 2의 5개의 노드들(204A 내지 204E)은 128비트들을 포함하는 공유된 암호 키를 교환한다고 가정한다. 노드들 간의 동시적 비트 송신 프로세스 동안, 평균적으로 노드들 사이에서 비트 송신들의 절반은 두 개의 노드들 양쪽 모두가 01/10 또는 10/01 시퀀스들 대신에 논리 00/11 또는 11/00을 송신할 때 폐기될 필요가 있다. 따라서, 평균적으로 노드들의 제 1 쌍은 노드들의 4개의 쌍들의 끝에서 제 5 노드가 2048비트들의 원래 풀에서 오는 128비트들의 성공적으로 송신된 데이터를 여전히 가짐을 보장하기 위해 총 2048 랜덤 생성 비트들을 송신할 필요가 있다. 2048비트 수는 5개의 노드들에 대한 암호 키 데이터를 교환하기 위해 요구되는 4 노드 짝짓기 동작들로부터 도출되며 임의의 개개의 비트는 128비트들/0.54 = 2048비트들을 야기하는, 그룹에서의 최종 노드로 성공적으로 전파될 0.54의 평균 확률(각각의 송신에서 50% 성공 가능성은 4개 송신들 동안 네제곱수로 올라간다)이 있다. 바꿔 말하면, 평균적으로 1024 사용 가능 비트들이 노드들의 제 1 쌍이 암호 키 데이터를 교환한 후, 512비트들은 제 2 쌍 후, 256비트들은 제 3 쌍 후 남아있으며, 128 사용 가능 비트들은 상기 제공된 5 노드 예에서 최종 노드에 남아있다. 물론, 이들 숫자들은 몇몇 상황들에서 보다 많은 비트들이 암호 키 교환 프로세스 동안 비트들의 랜덤 손실로 인해 요구될 수 있으므로 단지 평균들이다. 부가적으로, 키 교환 프로세스는 사실상 각각의 비트에 대해 두 개의 송신들을 요구하므로(두 개의 노드들 모두는 상기 설명된 바와 같이 하나의 비트에 이어 비트의 논리 보수를 동시에 송신한다), 송신들의 총 수는 사실상 4096 송신들로 다시 두 배가 되지만, 비트들의 수는 여기에서 설명적인 목적들을 위해 메트릭으로서 사용된다.
5개 노드들 사이에서 그룹 암호 키를 공유하기 위해 평균적으로, 총 3840비트들(노드 쌍들 모두에 대해 2048비트들 + 1024비트들 + 512비트들 + 256비트들)의 송신은 평균적으로 총 1024비트들, 또는 노드들의 각각의 쌍에 대해 평균적으로 요구된 256비트들을 야기할, 개별적으로 5개의 노드들 사이에서 4개의 암호 키들을 간단히 공유하기 위해 요구될 비트들의 평균 수보다 상당히 더 크다. 단지 두 개의 노드들 사이에서 키를 공유하는 것과 달리, 그룹 암호 키 교환 프로세스는, 키 교환 프로세스에서 이전에 데이터를 교환한 노드들 모두가 또한 CAN 버스를 모니터링하며 이미 그룹의 부분인 노드에 의해 송신되는 다음 비트에 대한 선험적 지식을 갖기 때문에, 상기 설명된 2048비트들의 원래 풀과 같은, 키 비트들의 단일의 보다 큰 풀을 사용할 필요가 있다. 따라서, 새로운 비트들은 이미 그룹의 부분인 노드들이 송신되는 비트들의 기록을 가질 필요가 있기 때문에 암호 키 교환 프로세스 도중 효과적으로 송신될 수 없다.
예를 들면, 4개의 노드들이 이미 그룹에서의 데이터를 공유하였을 때, 그룹에서의 4개의 노드들은 송신된 비트들 중 어떤 세트가 최종 128비트 키를 형성하기 위해 제 5 노드에 성공적으로 도달하는지를 결정하기 위해 제 5 노드에 대해 이루어진 송신들을 모니터링한다. 모니터링 프로세스 동안, 이미 그룹에 있는 노드들은 그룹에 부가되는 다음 노드가 이미 그룹에 있는 쌍에서의 노드와 동일한 비트의 데이터를 랜덤하게 송신할 때 송신 동안 실패한 비트들을 폐기한다. 예를 들면, 2048비트 풀에서의 비트 수 2000은 그룹에서 제 5 및 최종 노드를 부가하는 암호 키 교환 프로세스 동안 그룹에서 4개의 노드들의 메모리들에 저장되는 "1"의 이진 값을 갖는다고 가정한다. 제 5 노드와 통신하는 선택된 노드는 제 5 노드가 랜덤하게 생성된 비트 값을 동시에 송신하는 동안 "1" 값을 송신한다(뒤이어 논리 보수 0). 제 5 노드가 0을 송신하면(이어서 1), 두 개의 비트들은 성공적으로 교환되며 그룹에서의 노드들 중 4개 모두는 성공적인 송신을 기록한다. 그룹에서 노드 쌍들의 모두를 통해 성공적으로 송신되는 각각의 비트는 공유된 암호 키의 부분을 형성한다. 그러나, 제 5 노드가 1에 이어 0을 송신하면, 비트 수 2000은 이 비트가 최종 공유된 암호 키에서 사용되지 않으므로 폐기되며, 그룹에서의 4개 노드들의 각각은 실패한 송신을 관찰하며 비트를 삭제한다.
상기 설명된 그룹 암호 키 교환 프로세스는 잠재적으로 그룹에서의 노드들의 각각의 쌍 사이에서 송신되는 비트들의 수에서의 차이로 인해 증가된 누설을 야기하지만, 그룹 암호 키 교환을 위한 대안적인 기술들은 상기 설명된 이슈들을 피하지만 정보의 누설을 최소화하기 위해 노드 순서 랭킹 최적화를 여전히 요구한다. 선형 및 그룹 프로토콜들의, 또 다른 실시예에서, 노드들은 각각의 스테이지를 위해 요구된 실제 랜덤 비트들의 수를 감소시키기 위해, 암호 함수들을 사용하여 임의의 쌍별 키 합의 스테이지의 결과를 프로세싱한다. 이러한 실시예들에서, 각각의 스테이지에서 비트들의 수는 등가이며, 따라서 부채널 누설은 통신하는 노드 쌍들 사이에서의 불일치들의 함수이고, 그룹에서 노드 쌍의 위치로 인해 달라지지 않는다. 계속해서 다른 실시예들은 그룹에서의 노드들 모두로 하여금 의사-난수 발생기(PRNG)가 공격자 노드에 의해 예측될 수 없는 결정적 순서로 부가적인 비트들을 생성하므로 새로운 노드가 그룹에 부가될 때 송신되는 비트들의 값을 알 수 있게 하기 위해 그룹에 이미 합류한 노드들에서 동일하게 시딩된 암호적으로 안전한 PRNG들을 사용한다. 이것들은 노드들의 각각의 쌍이 그룹 암호 키 교환 프로세스를 수행하기 위해 동일한 또는 대략 동일한 수의 비트들을 송신하는 실시예들의 비-배타적 예들이다.
상기 설명된 그룹 암호 키 교환 프로세스들은 두 개 이상의 노드들을 포함하는 노드들의 그룹들에 대한 키 교환 프로세스의 예들이다. 이들 프로세스들의 일 변화는 미리 결정된 선형 순서로 그룹에 부가될 다음 노드에 대한 송신기로서 동작하는 그룹에서 가장 최근 부가된 노드를 사용하는 선형 프로세스(GroupKeyBasic)이다. 또 다른 변화는 키 교환 프로세스에 이미 참여한 임의의 노드가 암호 키가 노드들 모두와 공유될 때까지 그룹에 아직 참여하지 않은 선택된 노드와 통신하기 위한 다음 노드일 수 있는 트리 구성(GroupKeyTree)이다. GroupKeyTree는 트리에서 더 높은 브랜치들로서 그룹에 이미 합류한 노드들을 처리하며, 여기에서 임의의 더 높은 브랜치는 그룹에 아직 합류하지 않은 트리에서 더 낮은 브랜치와 통신할 수 있다. 노드들의 상이한 쌍들 사이에서의 암호 키 교환 프로세스는 CAN 버스 시스템(200)의 물리적 속성들에 기초하여 상이한 레벨들로 공격자로의 누설을 생성한다. 시스템(200)에서 게이트웨이 노드(250)는 시스템(200)에서 노드들의 상이한 쌍들 사이에서의 누설의 양을 추정하며 누설 그래프(262)를 생성하기 위해 누설 정보를 사용한다. 게이트웨이 노드(250)는 개별적으로 각각의 쌍에 대한 누설을 최소화하기 위해 또는 전체 그룹에 대한 누설의 총 양을 최소화하기 위해 노드 쌍들의 동작을 순서화하는 랭킹(264)을 생성함으로써 누설의 총 양을 최소화한다. 시스템(200)에서, 외부 프로세서(284)는 노드(250)로부터 수신된 데이터에 기초하여 누설 그래프의 생성 및 랭킹의 생성 중 일부 또는 모두를 선택적으로 수행한다. 게이트웨이 노드(250)는 이하에서 설명되는 바와 같이 노드들(204A 내지 204E)로의 랭킹의 분배를 핸들링한다. 이러한 노드 랭킹 프로세스는 높은 누설 레벨들을 가진 노드들 사이에서 송신된 비트들을 관찰하기 위한 공격자(124)의 능력을 감소시키며, 이것은 부채널 공격들의 효과성을 감소시키고 시스템(200)의 보안을 개선한다.
도 3은 게이트웨이 노드로 하여금 공격자 노드로의 데이터의 누설을 최소화하면서 노드들의 쌍들 사이에서 누설 레벨들을 검출하고 그룹 암호 키 교환 동작을 수행하기 위해 노드들의 동작을 순서화할 수 있게 하기 위해 공유 통신 매체에 연결되는 노드들의 동작에 대한 프로세스(300)를 묘사한다. 여기에서의 설명에서, 기능 또는 동작을 수행하는 프로세스(300)에 대한 참조는 통신 네트워크에서 다른 구성요소들과 함께 기능 또는 동작을 수행하도록 저장된 프로그램 명령들을 실행하기 위한 통신 네트워크의 노드에서의 프로세서 또는 제어기 또는 또 다른 컴퓨팅 디바이스의 동작을 나타낸다. 프로세스(300)는 예시적인 목적들을 위해 도 2의 시스템(200)과 함께 설명된다.
프로세서(300) 동안, 게이트웨이(250)는 노드들(204A 내지 204E)의 임의의 쌍이 암호 키 교환 프로세스 동안 CAN 버스를 통해 동시에 데이터 비트들을 송신할 때 발생하는 누설의 상대 레벨들의 가중 그래프를 포함하는 누설 그래프를 생성하는 매핑 프로세스를 수행한다(블록 304). 이하에서 설명되는 매핑 실시예들은 도 2에 묘사된 CAN 네트워크를 통해 노드들(204A 내지 204E)로부터의 신호들의 송신들의 관찰들을 생성하기 위한 공격자(124)의 동작과 유사한 방식으로 CAN 네트워크에서 관찰자로서 게이트웨이 노드(250)를 사용한다. CAN 버스 시스템(200)에서 상대적인 물리적 위치들 및 계산된 노드-간 거리들과 같은, 노드들(204A 내지 204E)의 물리적 속성들 및 그것들의 특정 구성은 전기 신호들의 속성들에 영향을 준다. 특히, 노드들(204A 내지 204E)의 각각의 하드웨어 구성 및 위치는 CAN 버스(200)의 총 임피던스 레벨에 기여하며, CAN 버스에서 컨덕터들(112 및 116)의 구성 및 길이는 또한 송신된 신호들의 특성들에 영향을 준다. 몇몇 실시예들에서, CAN 제어기(252)는 매핑 프로세스를 수행하지만 다른 실시예들에서 CAN 제어기(252)는 누설 그래프의 생성을 위해 주변 연결 또는 데이터 네트워크를 통해 송수신기(256)로부터 외부 프로세서(284)로 수신된 관찰들을 전송한다.
일 실시예에서, 그래프를 생성하기 위해, 게이트웨이 노드(250)는 시스템(200)의 CAN 버스에서 CANH 컨덕터(112) 및 CANL 컨덕터(116)를 통해 노드들(204A 내지 204E) 사이에서 송신되는 신호들의 관찰들에 기초하여 물리적 특징 분류 프로세스를 수행한다. 이러한 구성에서, 게이트웨이 노드(250)는 공격자(124)와 유사한 방식으로 동작한다. 따라서, 이러한 시스템을 깨려고 시도하기 위한 공격자의 목표는 노드들의 쌍들 사이에서의 동시적인 송신들에서 신호들 간을 성공적으로 구별하는 것이다. 버스를 엿듣는 공격자는 매우 높은 주파수로 버스 상에서의 물리적 신호를 샘플링할 수 있으며, 여기에서 샘플들은 x={x-∞, ..., x0}, xi∈X로 표기되고, 여기에서 x-∞는 가장 오래된 샘플을 나타내고 x0은 가장 최근의 샘플이다. 게이트웨이(250)는 송수신기(256) 또는 CAN 버스를 통해 신호들을 측정하기 위해 고 분해능 아날로그-디지털 변환기를 가진 오실로스코프 또는 다른 적절한 아날로그 측정 회로와 같은 부가적인 신호 프로세싱 디바이스들을 사용한다. 물리적 특징 분류 프로세스에서, 신호 관찰들은 두 개의 노드들이 암호 키 교환 프로세스 동안 동시에 데이터를 송신하는 동안 이루어질 필요는 없다. 대신에, 모두는 아니지만 많은 관찰들은 CAN 버스 데이터 송신들에 대한 표준인 바와 같이 노드들(204A 내지 204E)이 개별적으로 데이터를 송신하고 시스템(200)에서의 어떤 다른 노드도 데이터를 송신하지 않을 때 정상 CAN 버스 동작 동안 발생한다.
도 2의 예에서(게이트웨이 노드(250)를 제외한) 노드들(204A 내지 204E)에 대해, M개의 노드들을 가진 시스템에서(여기에서, M=5). 게이트웨이(250)는 과도 신호들(xtr), 및 정상 상태 신호들(xss), 에서 관찰들을 나눈다, 즉 {xtr, xss}. 전송 노드의 식별자와 같은, 식별 정보를 가진 데이터 프레임들에 대해, 게이트웨이 노드(250)는 또한 M개의 노드들 중 하나에 관찰 신호들을 할당한다. 게이트웨이(250) 및 선택적으로 외부 프로세서(284)는 상이한 노드들과 연관되는 것으로 알려진 관찰된 신호 특징들에 기초하여 노드들을 식별하는 분류자 C를 트레이닝하기 위해 하나 이상의 지도식 및 비지도식 기계 학습 기술들을 구현한다: C: X* → {1, 2, …M}×[0,1]. 분류자 C는 임의의 길이의 입력들의 시퀀스에 기초하여 송신 노드의 아이덴티티를 추정한다: 여기에서 는 r개 심플들에 기초하여 노드 식별자(예컨대, 도 2에서 노드들(204A 내지 204E) 중 하나)의 추정치를 나타내며 cr은 각각의 신뢰 값들이 관찰 신호를 송신할 수 있는 노드들 중 하나에 대응하는 신뢰 값들의 벡터를 나타낸다. 일 실시예에서, cr ∈[0,1]은 각각의 노드에 대한 이진 예/아니오 분류에 대응하지만, 다른 실시예들은 또한 상이한 노드들에 분수 신뢰 레벨들을 할당할 수 있다. 분류자 C는 기계 학습의 분야에서 이 기술분야에 알려진 다양한 유형들의 분류 알고리즘들을 사용하여 구현될 수 있다. 적절한 분류 알고리즘들의 예들은, 효율적인 분류자를 제공하기 위해, 지지 벡터 기계들(SVM), 순환 신경망들(예컨대, 장단기 메모리(LSTM) 신경망들), 및 컨볼루션 신경망들과 같은 지도식 학습 기술들, 및 k-평균 클러스터링과 같은 비지도식 학습 기술들을 포함한다. 분류자 C는 신호들의 정상 상태 특징들에 초점을 맞추는 하나의 분류자(Css) 및 신호들의 과도 특징들에 초점을 맞추는 또 다른 분류자(Ctr)와 같은, 관찰된 신호 데이터에서 상이한 특징들에 초점을 두는 서브-분류자들의 계층을 추가로 포함할 수 있다. 상기 설명된 분류자 트레이닝 프로세스는 몇몇 실시예들에서 게이트웨이 노드(250)의 CAN 제어기(252)에서 구현하기에 현실적이지 않을 수 있으며, 따라서 이들 실시예들에서 게이트웨이 노드(250)는 상기 설명된 샘플들(x)을 수집하며 트레이닝된 분류자들의 생성을 위해 샘플 데이터를 외부 프로세서(284)로 송신한다.
두 개의 노드들이 데이터를 동시에 송신할 때 암호 키 교환 프로세스 동안 신호 분류에 적용될 때 상기 설명된 기계 학습 분류자들은 반드시 완벽한 정확도를 갖고 논리 0 및 1 신호를 송신하는 노드를 식별하는 것은 아니다. 그러나, 공격자(124)는 두 개의 참여 노드들로부터의 송신들을 간단히 구별함으로써 공격을 수행할 수 있다. 예를 들면, 노드들 중 두 개(i 및 j)는 n 비트들의 암호 키 데이터를 교환하기 위해 동시에 데이터를 송신한다. 게이트웨이 노드(250)는 상기 설명된 전이 및 정상 상태 특징들을 포함한 송신에서의 각각의 이벤트에 대해 r개 샘플들을 관찰하기 위해 공격자 노드(124)로서 동작한다. 게이트웨이 노드(250)는 공격자(124)의 동작에 대한 가정들에 기초하여 트레이닝된 분류자들을 사용하여 하나 이상의 결정 함수들을 사용하고 게이트웨이 노드(250)로 하여금 누설 그래프를 생성할 수 있게 하기 위해 노드들(204A 내지 204E)의 쌍들 사이에서의 송신들을 위해 상대적인 누설 레벨들의 추정치들을 생성한다.
트레이닝된 분류자들을 사용한 결정 함수
게이트웨이 노드(250) 또는 외부 프로세서(284)는 관찰된 신호 데이터에 기초하여 특정한 신호의 송신기로서 하나의 노드를 식별하는 출력을 생성하는 결정 함수들을 구현하기 위해 상기 설명되는 트레이닝된 분류자들을 사용한다. 결정 함수들은 상기 설명되는 일반적인 트레이닝된 분류자들, 및 선택적으로 노드-특정 분류자들을 이용하고, 어떤 노드가 각각의 비트 간격에서 우성 비트를 송신하는지를 식별하기 위해 그것들을 노드 쌍들 사이에서 키 교환의 제한된 시나리오에 적용하며, 여기에서 단지 두 개의 노드들만이 송신한다. 결정 함수의 출력은 관찰된 신호를 송신한 가능성이 가장 높은 두 개의 노드들로부터 하나의 노드를 선택하기 위한 트레이닝된 분류자의 분류이다. 단지 두 개의 노드들만이 송신 중(그것이 키 발생 프로토콜들에서 발생하므로)이라는 지식을 공격자에게 주면, 분류자는 단지 두 개의 노드들을 구별해야 하기 때문에, 분류는 더 용이해진다.
게이트웨이 노드(250) 또는 외부 프로세서(284)는 시스템(200)에서의 노드들 사이에서 누설의 그래프를 생성하기 위해 프로세스의 부분으로서 공격자 노드(124)의 동작을 흉내내기 위해 이하에서 추가로 상세하게 설명되는 결정 함수(decision function)들을 사용한다. 결정 함수들은 상기 설명되는 분류자의 출력으로부터의 신뢰 레벨 데이터에 기초하여 특정한 노드를 식별하는 출력 분류를 생성하는 출력("결정")을 생성하기 위해 상기 설명되는 트레이닝된 분류자들의 출력들에 따라 동작한다. 각각의 결정 함수는 상기 설명되는 분류자들 중 적어도 하나를 사용하여 CAN 버스에서의 관찰 신호들에 기초하여 공격자 노드(124) 또는 게이트웨이 노드(250)로 암호 키를 드러내는 것을 돕는 출력을 생성한다. 물론, 공격자 노드(124)는 이하에서 설명되는 특정 결정 함수들을 구현하도록 요구되지 않으며, 게이트웨이 노드(250)는 공격자 노드(124)가 시스템(200)에서의 노드들의 쌍들 사이에서 누설 레벨들의 그래프를 생성하기 위한 프로세스의 부분으로서 그룹 암호 키 교환 동작의 보안을 위태롭게 하기 위해 사용할 가능성 있는 기술들의 기초로서 이하에서 설명된 결정 함수들을 사용한다.
일 구성에서, 게이트웨이 노드(250)는 입력 관찰들로서 동작하는 상기 수집된 r 샘플들에 기초하여 송신 신호들(x 및 y)의 시퀀스를 추정하는 결정 함수()를 구현한다. 항 은 두 개의 상이한 송신 신호들 사이에서의 구별을 나타내지만 송신 노드들의 식별을 직접 의미하지 않으며, 이는 결정 함수가 노드들로부터의 두 개의 상이한 신호들의 특징들을 식별할 수 있지만 각각의 신호를 생성하는 노드를 직접 식별하는 출력을 생성하지 않는다는 것을 의미한다. 이것은 공격자가 해결하기에 더 용이한 문제를 나타내며, 따라서 훨씬 더 약한 공격자에 의해 달성될 수 있다. 바꾸어 말하면, 상기 설명된 결정 함수는 각각의 송신에서 논리 0 및 1을 송신하는 노드를 완전히 식별하지 못할 수 있지만, 일련의 비트 송신들에 걸쳐 결정 함수는, 단지 추측하기보다는 높은 확률을 갖고, 하나의 노드 대 다른 노드에 대응하는 신호들을 구별할 수 있으며, 이것은 결정 함수가 여전히 암호 키의 내용을 드러내는데 효과적일 수 있게 한다.
또 다른 구성에서, 게이트웨이 노드(250)는 높은 신뢰성을 갖고, 신호들을 동시에 송신하는 참여 노드들(i 및 j)을 식별하고, 결정 함수(Di,j = (Hi,j°C)n을 구현하기 위해 충분한 트레이닝 데이터를 가지며, 여기에서 결정 함수(Di,j)는 노드들(i 및 j)에 특정적인 이진 분류자(Hi,j) 및 일반 분류자(C)의 구성이다. 이진 분류자는 Hi,j:{1, 2, ..., M}×[0.1]→{i,j}로서 표시된다. 결정 함수(Di,j)는 분류자의 결과를 사용하고 이진 결정을 출력한다. 노드 식별자들을 가진 데이터가 트레이닝을 위해 이용 가능한 시나리오들과 같은, 이용 가능한 정보에 기초하여, 공격자 노드(124) 및 게이트웨이 노드(250)는 일반 분류자(C)에 의존하는 대신에 구체적으로 CAN 버스 시스템에서의 노드들의 쌍들을 타겟팅하는(예컨대, 노드 쌍들(204A, 204B; 204A, 204C 등)) 결정 함수들의 군, {D1,2, D1, 3, ..., DM - 1,M}을 직접 트레이닝할 수 있다.
게이트웨이 노드(250)가 참여 노드들에 대한 지식을 갖지 않거나 또는 트레이닝 데이터가 라벨링되지 않은 시나리오들에 대해, 노드는 일반화된 결정 함수 을 이용할 수 있으며, 이것은 송신기들 사이를 구별하기 위해 가장 가능성 있는 결정 함수를 선택하도록 선택 접근법(최대 우도 기반 추정기와 같은)과 조합하여 분류자를 사용한다. 모든 블라인드 추정기 결정 함수들 의 클래스를 고려해볼 때, 상기 설명된 결정 함수(Di,j)는 주어진 쌍의 노드들(i.j)에 대한 가장 최적의 추정기이다. 이것은 공격자 노드(124)가 암호 키 교환 프로세스에서 송신 노드들의 아이덴티티들에 대한 지식을 갖는 경우, 공격자 노드(124)가 부채널 공격들의 효과성을 개선하기 위해 이들 특정한 노드들에 대한 특정 결정 함수(Di,j)를 사용할 수 있음을 의미한다. 이하에서 추가로 상세히 설명되는 바와 같이, 몇몇 실시예들에서, 게이트웨이 노드(250)는 공격자 노드(124)가 어떤 두 개의 노드들이 임의의 시간에 데이터의 비트들을 교환하는지를 쉽게 식별할 수 있는 것을 방지하기 위해 그룹 암호 키 교환 프로세스에서 노드들에 대한 통신의 순서를 수립하는 랭킹 데이터를 암호화한다. 게이트웨이 노드(250)는 공격자 노드(124)에 의한 암호화된 랭킹 데이터의 수정을 방지하기 위해 메시지 인증 코드(MAC)를 선택적으로 계산한다.
노드 누설 그래프
프로세스(300)에서, 게이트웨이 노드(250) 및 선택적으로 외부 프로세서(284)는 노드들의 쌍들 사이에서 누설 레벨들에 대응하는 가중 값들을 갖고 그래프를 생성하기 위해 결정 함수들을 사용하여 노드 누설의 레벨들을 매핑시킨다. 그래프에서 노드 누설 레벨들의 설명은 또한 이하에서 이와 같이 구체적으로 설명되지 않는다면 "거리"가 반드시 CAN 버스 상에서 노드들 사이에서의 물리적 거리에 대응하는 것은 아닐지라도 그래프에서 노드들 간의 "거리"로서 불리울 수 있다. 용어 "거리"는 게이트웨이 노드(250)가 그래프를 가로지를 때 총 경로 거리(및 누설)를 최소화하기 위해 암호 키 교환 프로세스에서 가장 빠른 노드들에 대한 최저 누설 경로들로 시작하는 그래프에서 "거리"(예컨대, 총 누설)를 최소화하기 위해 최적화 프로세스를 수행하며, 여기에서 그래프를 가로지르는 것은 그룹 암호 키 교환 동작을 수행하는 노드 쌍들의 순서에 대응한다.
몇몇 실시예들에서, 게이트웨이 노드(250)는 CAN 버스를 통해 송신되는 신호들의 다수의 관찰들에 기초한 경험 데이터 및 두 개의 연속 비트들의 송신기들을 성공적으로 구별하는 확률(Pr)에 기초하여 누설을 정의하기 위해 CAN 버스를 통해 송신되는 신호들의 경험 관찰들에 기초하여 또한 생성되어 온 결정 함수들(D) 중 하나 이상을 사용하여 노드 누설 그래프를 생성하기 위해 노드들 간의 누설의 레벨의 추정치들을 생성한다. 여기에서, 확률(Pr)은 결정 함수가 비트를 형성하는 두 개의 연속적인 송신들의 송신기들을 정확하게 구별할 수 있는 확률을 나타낸다(예컨대, j가 01을 동시에 송신하는 동안 다른 노드(j)가 i로부터 10 또는 10을 동시에 송신하는 동안 하나의 노드 i로부터의 논리 보수 01 송신). 이하에서의 xi 및 yi는 양쪽 비트들 모두가 노드 i에 의해 송신되었음을 의미한다. 따라서 결정 함수가, 양쪽 비트들 모두의 양쪽 송신기들이 동일함을 의미하는, 0,0을 출력하면, 결정 함수는 성공적이었다. 성공을 위한 유사한 메트릭들은 노드들(i 및 j)에 의해 생성되는 2-비트 논리 보수 조합들 중 4개 모두에 대해 이하에서 묘사된 다른 확률 항들에 적용 가능하다. 노드 i로부터 송신되는 제 k 샘플로서 항()을 사용하면, 노드들(i 및 j) 간의 거리()는 다음과 같이 정의된다:
상기 생성된 거리 추정치는 그래프에 적용된 바와 같이 누설 레벨들이 노드 j로부터 노드 i로 가는 것과 동일하게 노드 i에서 j로 간다고 가정하며, 이것은 일반적으로 양쪽 노드들 모두가 동시에 송신할 때 누설의 추정치가 발생하므로 합리적이다. 상기 제공된 예는 구체적으로 노드들(i 및 j)의 하나의 쌍에 대해 생성되는 보다 특정적인 결정 함수(Di,j)를 사용한다. 상기 묘사된 바와 같이, 두 개의 노드들(i 및 j)에 대응하는 누설 그래프에서의 두 개의 정점들은 가중 에지에 의해 연결되며 여기에서 가중 에지의 값()은 복수의 노드들에서 제 1 노드 및 제 2 노드로부터의 두 개의 연속 송신들을 성공적으로 식별하는 출력을 생성하는 분류자를 사용하는 결정 함수(Di,j)의 확률에 기초하여 생성된다.
또 다른 추정치는 공격자가 노드들의 어떤 특정 쌍이 데이터를 송신하는지에 대한 지식이 없다고 가정하는 보다 일반적인 결정 함수()를 사용하는 실시예들에서 생성될 수 있다:
또 다른 실시예에서, 게이트웨이 노드(250)는 노드들의 쌍들 사이에서 누설 레벨들을 추정하는데 사용하기 위한 큰 세트의 관찰 데이터 및 결정 함수들로의 액세스를 갖지 않는다. 이 실시예에서, 게이트웨이 노드(250)는 노드들의 쌍들 사이에서 누설 레벨들의 추정치를 생성하기 위해 노드들(204A 내지 204E)의 특정 구성요소들의 하드웨어 구성들에 대응하는 물리 파라미터들, 도 2에 묘사된 CAN 버스에서 노드들의 배열, 및 시스템(200)에서 구성요소들의 다른 물리적 속성들을 사용한다.
누설 레벨에 영향을 주는 하나의 물리적 속성은 CAN 버스 컨덕터들의 길이를 따르는 노드들의 위치이다. CAN 버스 상에서 상이한 위치들에서의 노드들은 상이한 임피던스 특성들, 전파 지연 및 타이밍 동기화 특성들을 보인다. 따라서, 노드들이 CAN 버스를 따라 서로로부터 점점 더 물리적으로 분리됨에 따라, 각각의 송신 상태 및 전이와 연관된 전압, 타이밍 및 과도 상태들(transients)에서의 차이는 증가하며, 이는 결과적으로 누설 레벨에서의 증가를 야기한다.
누설 레벨에 영향을 주는 또 다른 속성은 노드들의 각각에서 사용되는 CAN 버스 송수신기의 유형이다. 디바이스들의 상이한 군을 위한 송수신기 회로들(심지어 동일한 제조사로부터의)는 종종 상이한 신호 생성 특성들을 가진다. 이것은 구동 강도, 부하 임피던스를 가진 송신 변화 및 특징적 임피던스를 포함한다. 이들 특성들은 공격자에 의해 관찰된 전압 및 과도 상태들에 영향을 줄 수 있다. 따라서, 동일한 군에 속하는, 동일한 제조사로부터의 디바이스들은 가장 작은 차이들을 가지며, 상이한 군들의 디바이스들 및 상이한 제조사들로부터의 디바이스들로 이어진다.
게이트웨이 노드(250) 또는 외부 프로세서(284)는 다음과 같이 두 개의 노드들(di,j) 사이에서 누설 레벨의 추정치를 생성하기 위해 상기 설명된 특성들을 사용한다:
상기 식에서, α는 노드들(i, j)에 대응하는 정점들을 연결하는 누설 그래프에서 가중 값의 기초를 형성하는, di,j의 최종 누설 값에 물리적 노드 거리(제 1 항) 또는 하드웨어 아키텍처 및 군에서의 차이들(제 2 항)의 기여의 균형을 맞추기 위해 경험적으로 결정되는 가중 인자를 나타낸다. 항(lbus)은 CAN 버스의 총 길이(컨덕터들(112 및 116)의 길이들)를 나타내며, 항(lo,i 및 lo,j)은 각각 노드 i 및 노드 j 사이에서 CAN 버스를 따르는 물리적 거리, 및 고정된 기준 포인트(예컨대, 게이트웨이 노드(250) 또는 CAN 버스의 단부들 중 하나의 위치)를 나타낸다.
항(Ai,j)은 노드들(i 및 j)에 대한 신호들을 생성하는 하드웨어 CAN 버스 송수신기들 사이에서 군들 및 하드웨어 아키텍처들에서의 차이를 수량화하기 위해 수치 값을 제공하는 파라미터이다. 파라미터(Ai,j)는 두 개의 노드들(i 및 j)이 동일한 송수신기들을 사용한다면 0이다. 파라미터(Ai,j)는 두 개의 노드들(i 및 j)이 동일한 제조사에 의해 생성되는 송수신기 하드웨어의 상이한 모델들을 사용한다면 0.5이다. 파라미터(Ai,j)는 두 개의 노드들(i 및 j)이 동일한 동작 전압 레벨들(Voper)을 사용하여 신호들을 생성하는 송수신기들을 사용한다면 0.75이며(예컨대, 양쪽 송수신기들 모두는 3.3V 전압 또는 5V 전압에 의해 구동된다) 송수신기들은 상이한 제조사들로부터 온다. 파라미터(Ai,j)는 두 개의 노드들(i 및 j)이 상이한 Voper 전압 레벨들을 사용하여 신호들을 생성하는 송수신기들을 사용한다면 1.0이며(예컨대, 하나의 송수신기는 3.3V 전압에 의해 구동되며 다른 것은 5V 전압에 의해 구동되며 송수신기들을 상이한 제조사들로부터 온다. 게이트웨이 노드(250)에서 CAN 제어기(252)는 노드가 일련 번호들 또는 다른 디바이스-특정 정보에 기초하여 하드웨어 모델 및 제조사를 식별하기 위한 정보를 CAN 제어기(252)로 송신하는 하드웨어 탐색 프로세스를 통해 노드들에 대한 하드웨어 구성 정보를 결정할 수 있다. 게이트웨이 노드(250)에서의 송수신기(256)는 CAN 버스를 통해 각각의 노드가 우성 비트 데이터를 송신할 때 동작 전압 레벨들(Voper)을 검출할 수 있다.
상기 설명된 실시예들 중 임의의 것을 수행한 후, 게이트웨이 노드(250)는 게이트웨이 노드(250)가 그룹 암호 키 교환 프로세스 동안 노드들(204A 내지 204E)의 동작의 시퀀스를 순서화하기 위해 랭킹 프로세스를 수행할 수 있게 하기 위해 랭킹 프로세스를 수행하기 전에 메모리(260)에 누설 그래프(262)를 저장한다. 도 4는 도 2의 예시적인 CAN 버스 시스템(200)에서 프로세스(300)가 생성하는 누설 그래프(400)의 예를 묘사한다. 누설 그래프(400)는 각각이 시스템(200)에서 5개의 하드웨어 노드들(204A 내지 204E) 중 하나에 대응하는 5개의 정점들(n1 내지 n5)을 포함한다. 도 4는 이해의 용이함을 위해 노드 라벨들(204A 내지 204E)로 정점들(n1 내지 n5)을 라벨링한다. 그래프(400)는 완전 연결 그래프이며, 말하자면 CAN 버스 시스템(200)에서 각각의 노드가 CAN 버스 컨덕터들(112 및 116)을 통해 다른 노드들의 각각과 직접 통신할 수 있기 때문에, 모든 정점이 그래프에서의 모든 다른 정점에 상기 정점을 연결하는 가중 에지들을 갖는다. 게이트웨이 노드(250) 및 선택적으로 외부 프로세서(284)는 가중 에지에 의해 연결된 두 개의 정점들에 대응하는 노드들이 서로 통신한다면 발생하는 누설의 상대적인 양을 나타내기 위해 그래프(400)에서 가중 에지들의 각각에 할당되는 수치 가중 값들을 생성한다. 예를 들면, 노드들(204A 및 204B)을 연결하는 가중 에지(404)는 0.1의 상대적인 누설 레벨을 나타내며, 이것은 노드들(204D 및 204E)을 연결하는 가중 에지(408)에 대한 0.8의 누설 레벨보다 상당히 낮다. 그래프(400)에서 묘사된 수치 가중 값들은 0.0 내지 1.0의 스케일로 정규화되지만, 다른 실시예들은 상이한 수치 범위를 사용할 수 있다. 이하에서 설명되는 바와 같이, 시스템(200)은 공격자 노드(124)에 의해 관찰될 수 있는 누설의 총 레벨을 최소화하는 그룹 암호 키 교환 프로세스를 수행하도록 노드들(204A 내지 204E) 사이에서 비트들의 송신을 위한 순서를 결정하기 위해 누설 그래프(400)를 사용한다.
노드들의 랭킹
프로세스(300)는 시스템(200)이 그룹에서의 노드들 모두 간에 암호 키 데이터를 교환하면서 총 누설을 최소화하기 위해 그룹 암호 키 교환 프로세스에 대한 노드 쌍들의 시퀀스를 순서화하는 랭킹을 생성함에 따라 계속된다(블록 308). 프로세스(300)에서, 시스템(200)은 순서화를 생성하기 위해 그래프에서 정점들의 각각을 순회하도록 최소 누설 경로를 결정하는 프로세스 및 누설 그래프를 사용한다.
Km으로 참조되는 완전한 누설 그래프, 및 암호 키를 공유하는 그룹에서의 노드들의 리스트(Gk)를 사용하면, 랭킹 프로세스(GW)의 목표는 전체 누설이 최소화되도록 Gk에서의 노드들을 순서화하는 것이다. Km[Gk]는 Gk에 의해 KM에서 유도된 서브그래프이며, 이것은 간단히 랭킹 프로세스가 암호 키를 공유하는 그룹의 부분이 아닌 임의의 노드들에 대한 누설 그래프에서의 정점들을 무시한다는 것을 의미한다. 여기에서 설명된 예들에서, 노드들(204A 내지 204D)은 노드(204E)가 랭킹 프로세스에서 무시되는 동안 암호 키를 공유하는 그룹에 포함된다. Km[Gk]는 또한 완전 연결 그래프이다.
상기 설명되는 GroupKeyBasic 프로세스에서, 그룹 암호 키 교환 프로세스는 노드들의 초기 쌍으로 시작하며 키 그룹에서 뒤이은 노드를 부가하는 키 교환 프로세스에 대한 송신 노드로서 각각의 쌍으로부터 제 2 노드를 사용하여 계속된다. 이러한 프로세스는 경로가 하나의 노드에서 시작되며 각각의 정점이 경로 상에서 정확하게 한 번 방문될 때까지(각각의 정점을 방문하는 것은 정확하게 한 번 경로, "해밀턴" 경로를 만든다) 그룹에서의 부가적인 노드들로 "홉들"을 만드는 그래프를 통한 경로 조작과 유사하다. GroupKeyBasic을 사용하여 그룹 키 생성을 위한 노드 순서화를 찾는 프로세스는 Km[Gk]에서의 모든 노드들을 가로지르는 최단 경로, 즉 단일 정점으로부터 다수의 브랜치들을 갖지 않는 Km[Gk]에서의 최소 해밀턴 경로를 찾는 것으로 보여질 수 있다. 여러 알고리즘들이 최소성 기준에 기초하여 이러한 경로를 찾기 위해 문헌에 제안되어 왔으며 시스템(200)은 총 경로 길이를 최소화하기 위해 추구하는 데이터 네트워크들에서 사용된 종래 기술의 라우팅 알고리즘들을 사용할 수 있다.
상기 설명되는 GroupKeyTree 프로세스에서, 그룹 암호 키 교환 프로세스는 노드들의 초기 쌍으로 시작하며 그룹에서 뒤이은 노드를 부가하는 키 교환 프로세스를 위한 송신 노드로서 그룹의 노드들 중 임의의 하나를 사용하는 것을 계속한다. 이러한 프로세스는 그룹을 통한 트리 탐색과 유사하며, 여기에서 각각의 정점은 정확하게 한 번 방문되지만 다수의 경로들은 각각의 정점으로부터 취해질 수 있으며, 즉 단일 정점으로부터 다수의 브랜치들을 선택적으로 포함하는 스패닝 트리를 탐색한다. 이러한 트리의 예는 노드(204A)에 대응하는 정점(n1)이 각각 정점들(n2, n4, 및 n3)에 대한 가중 에지들(604, 608, 및 612) 상에서 다수의 브랜치들을 갖는 도 6에서 예시된다. 노드들의 순서화를 최적화하는 알고리즘들의 예들은 이에 제한되지 않지만, 프림(Prim) 알고리즘, 크루스칼(Kruskal) 알고리즘, 또는 이 기술분야에 알려진 다른 효율적인 스패닝 트리 알고리즘들을 포함한다. 모든 최소 스패닝 트리가 또한 최소-최대 스패닝 트리이므로, 총 누설을 최소화하는 해법들은 또한 최대-링크 누설을 최소화한다.
이들 알고리즘들 모두는 비용 최소화 함수: 를 갖고 그래프를 가로지르는 "비용"을 최소화하려고 시도하며 여기에서 τ은 GroupKeyTree 실시예에 대한 이용 가능한 스패닝 트리들 모두이며 c(T)는 비용 함수를 최소화하는 경로를 찾는다. GroupKeyBasic 실시예에 대해, 세트 T는 단지 단일 정점으로부터 다수의 브랜치들을 포함하지 않는 선형 경로들인 스패닝 트리들만을 포함한다. 함수(c(T))의 예들은 최대-링크 누설 비용 함수()를 포함하며 여기에서 (i,j)는 그래프에서 두 개의 노드들 사이에서의 가중 에지를 나타내고 di,j는 그래프(400)에서 상기 묘사된 누설 값이다. 이러한 비용 함수는, 시스템의 보안이 가장 약한 링크의 함수이므로, 보안 애플리케이션들에 적절한, 경로에 걸친 최대 누설을 최소화하고자 한다. 전체 경로를 따르는 총 비용을 최소화하는 또 다른 비용 함수는 경로 상에서의 모든 누설의 합으로서 비용을 정의하는 총-누설 비용 함수이다: .
상기 설명된 바와 같이, 몇몇 실시예들에서 공격자(124)는 노드들의 랭킹을 추측하고 공격자 노드(124)로 하여금 부채널 공격들을 수행할 때 노드-특정 결정 함수들을 사용할 수 있게 하기 위해 시스템(200)과 동일한 랭킹 프로세스를 수행하려고 시도할 수 있다. 몇몇 실시예들에서, 시스템(200)은 또한 공격자 노드(124)의 부분 상에서 노드 랭킹을 결정하는 태스크를 추가로 복잡하게 하기 위해 시스템(200)에서 사용될 수 있는 다양한 부채널 공격 대응 조치들에 기초하여 비용들을 조정하는 함수(f(ㆍ))를 통합한다. 총-누설 비용 함수로 부채널 공격 대응 조치들을 통합하는 비용 함수는: 이다.
상기 설명된 바와 같이, 몇몇 실시예들에서, 그룹 암호 키 교환 프로세스는 평균적으로 노드들 사이에서 송신되는 비트들의 절반이 폐기되므로 노드들의 나중 쌍들에 비교하여 노드들의 조기 쌍들 사이에서 보다 많은 수의 비트들을 송신해야 한다. 일 구성에서, 시스템(200)은 선택적으로 상기 식별된 최소 경로가 실제로 최적의 순서로 노드들을 랭크하며 스케일 인자(S=2(H-h))에 기초하여 비용 스케일 인자를 사용하여 최적이 아닌 역순으로 랭크하지 않음을 보장하기 위해 비용 스케일링 인자(S)를 선택적으로 사용하며, 여기에서 H는 그룹에서 노드들 모두를 커버하기 위해 요구되는 "홉들" 또는 그래프 에지 순회 동작들의 총 수이고, 여기에서 수 H = M-1이며, 이는 그룹에서 M개의 노드들의 총 수보다 하나 적은 홉이 있음을 의미한다. 변수(h)는 h=1로부터 시작하며 그 포인트에서 스케일 인자(S)가 1과 같은 최종 홉까지 각각의 부가적인 홉에 대해 H까지 증가하는 현재 홉을 나타낸다. 시스템(200)은 프로세스에서 효과적으로 비용-최소화에서의 이전 홉들이 나중 홉들보다 지수적으로 더 비싸게 하기 위해 상기 설명된 비용 함수 값들로 스케일 인자(S)를 곱한다. 시스템(200)은 그룹 암호 키 교환 프로세스가 제 1 홉에서 프로세스의 처음에 최대 수의 비트들을 송신하고 그 후 각각의 뒤이은 노드 쌍에 대해 절반(평균적으로)만큼 송신되는 비트들의 수를 감소시키는(예컨대, 상기 설명된 4개의 홉들에 걸쳐 2048비트들, 1024비트들, 512비트들, 및 256비트들을 송신하는 그룹 암호 키 교환 프로세스) 사실을 보상하기 위해 스케일링 인자(S)를 사용한다.
스케일링 인자(S)는 경로 최적화 프로세스가 경로 생성 결과들에 조기 홉들이 나중 홉들보다 많은 데이터 비트들의 송신을 야기한다는 사실을 통합한다는 것을 보장한다. 도 5는 스케일링 인자(S)의 유용성의 단순한 예를 제공한다. 도 5에서, 그래프(400)는 다음의 순서: (n2, n1), (n1, n3), 및 (n3, n4)로 정점들의 랭킹 및 대응하는 노드들을 제공하는 가중 에지들(504, 508, 및 512)을 포함하는 최소 해밀턴 경로를 포함한다. 특히, 에지(504)를 따르는 최저 에지 가중은 0.1이며 최종 에지(512)를 따르는 최대 에지 가중은 0.3이다. 이러한 경로의 총 비용을 고려하는 종래의 비용 함수를 사용하여, 비용은 단순히: 각각, 에지들(504, 508, 및 512)에 대해 0.1+0.2+0.3=0.6이다. 그러나, 스케일링 인자(S) 없이, 종래 기술의 경로 최소화 프로세스는 상기 설명된 경로를 쉽게 역전시키는 것과 같으며 다음의 차선의 랭킹 순서: (n4, n3), (n3, n1), 및 (n2, n1)를 생성한다. 종래 기술의 경로 최소화 프로세스를 사용하여, 역전된 경로에 대한 총 경로 비용은 다음의 순방향으로 경로를 순회하는 것에 대해 말하자면 정확하게 (0.6)과 같지만, 이것은 훨씬 더 많은 수의 비트들이 노드들(204B 및 204A)로 시작하는 경로를 순서화하는 것에 비교하여 더 높은 누설 스코어(0.3)를 갖고 노드들(204D 및 204C) 사이에서 송신되기 때문에 시스템(200)에서 차선의 결과들을 생성한다. 스케일링 인자(S)는 이러한 역전된 경로가 경로에서 가장 빠른 홉들의 상대적인 중요성을 증가시킴으로써 사용되는 것을 방지한다. 예를 들면, 도 5에서 묘사된 3-홉 경로에 걸쳐, 스케일링 인자(S)를 사용하는 것은 다음을 생성한다:
따라서, 스케일링 인자(S)는 시스템(200)으로 하여금 종래의 최소 경로 순회 프로세스가 서로 동일한 것으로 양쪽 경로들 모두를 처리할지라도 역전된 경로가 차선임을 결정할 수 있게 한다. 상기 설명된 바와 같이, 시스템(200)은 그룹 암호 키 교환 프로세스에서 조기 노드 쌍들이 프로세스에서 나중 쌍들보다 상당히 더 많은 비트들을 송신한다는 사실을 적절히 통합하면서 실제로 누설을 최소화하는 그래프에서의 경로들을 찾기 위해 스케일링 인자(S)를 사용한다. 이것은 정보 이론 비밀 유지를 얻기 위한, 실시예들에서 선택적 수정으로서 특히 유용하며, 그룹은 키 합의 프로세스를 이용하며, 여기에서 비트들은 각각의 연속 스테이지에서 손실된다. 대안적인 실시예들은 물론 동일한 목표를 달성하기 위해 S=2(H-h)의 예와 다소 상이한 스케일링 인자를 사용할 수 있다. 노드들의 각각의 쌍 사이에서 동일한 또는 대략 동일한 수들의 비트들을 송신하는 그룹 암호 키 교환 프로세스의 실시예들에서, 스케일 인자 동작들은 최소 누설 경로가 누설의 효과적으로 동일한 총 레벨을 갖고 어느 한 방향으로 순회될 수 있기 때문에 생략될 수 있다.
그룹 암호 키 교환 프로세스의 GroupKeyTree 실시예에서, 다음 쌍에서 사용될 프로세스의 각각의 쌍에서 제 2 노드에 대한 요건은 없다. 누설 그래프(400) 및 노드 랭킹 프로세스의 콘텍스트에서, 이것은 트리에서의 몇몇 정점들이 하나 이상의 브랜치를 가짐을 의미하며, 이것은 또한 그룹에서의 단일 노드가 짝짓기가 누설을 최소화한다면 그룹 암호 키 교환 프로세스 동안 다른 노드들과 한 번 이상 짝짓게 될 수 있음을 의미한다. 상기 사용되는 동일한 알고리즘들은 또한 GroupKeyTree 실시예에 대한 랭킹 프로세스를 수행하기 위해 사용될 수 있다. 도 6은 각각, 정점 쌍들((n1, n2), (n1, n4), 및 (n1, n3))을 연결하는 에지들(604, 608, 및 612)을 갖는 최소화된 누설 경로를 가진 그래프(400)를 묘사한다. 누설의 동일한 총 레벨을 가진 또 다른 랭킹은 (n1, n4), (n1, n2), 및 (n1, n3)일 것이다. GroupKeyTree는 선택적으로 상기 설명된 스케일링 인자를 사용하거나 또는 랭킹에서 보다 이른 최소 누설 비용 값들을 가진 노드 쌍들을 랭크하기 위해 노드 쌍들의 순서를 분류하며, 이것은 몇몇 정점들이 다수의 브랜치들을 갖기 때문에 GroupKeyTree 프로세스에서 실현 가능하다.
게이트웨이 노드(250)에서, CAN 제어기(252)는 메모리(260)에 키 교환 데이터(264)에 대한 노드 순서를 특정하는 랭킹 데이터를 저장한다. 몇몇 구성들에서, 시스템(200)은 그룹 암호 키 교환 프로세스를 개시하기 직전에 랭킹 데이터(264)를 생성하고 저장하는 반면, 다른 실시예들에서 랭킹 데이터(264)는 키 교환 프로세스보다 앞에서 잘 계산된다.
그룹에서의 노드들로의 랭킹 데이터의 송신
프로세스(300)는 게이트웨이 노드(250)가, 노드들이 실제로 랭킹에 의해 특정되는 순서로 키 교환 프로세스를 수행하도록 그룹 암호 키 교환 프로세스를 수행하는 그룹에서의 노드들로 노드 랭킹 데이터를 송신하는 것으로 계속된다(블록 312). 일 실시예에서, 게이트웨이 노드(250)는 일반 텍스트에서 CAN 버스를 통해 랭킹 정보를 송신한다. 그룹에서의 노드들 모두(예컨대, 상기 예에서 노드들(204A 내지 204D))뿐만 아니라 다른 노드들 모두 및 공격자(124)는 랭킹 정보를 수신할 수 있다. 일반 텍스트로 송신하는 것이 간단하지만, 일반 텍스트 데이터 송신은 또한 노드들 간의 송신의 순서 및 랭킹을 공격자 노드(124)에 드러낸다. 상기 설명된 바와 같이, 특정 노드들 상에서 부채널 공격들을 수행하는데 사용하기 위한 특정 결정 함수(Di,j)를 가진 정교한 공격자(124)는 그룹에서의 노드들의 어떤 쌍이 임의의 시간에 데이터를 송신하는지를 실제로 알지 못하는 공격자보다 높은 효과성을 갖고 공격들을 수행할 수 있다. 일 실시예에서, 게이트웨이 노드(250)는 노드 순서 데이터를 송신하기 위해 그룹에서의 각각의 노드(예컨대, 노드들(204A 내지 204D)의 각각)에 알려진 단일 공유 키를 사용한다.
또 다른 실시예에서, 게이트웨이 노드(250)는 암호화된 메시지들을 사용하여 그룹에서의 노드들의 각각에 노드 순서 정보를 전송하기 위해 메모리(260)에 저장되는 공유 키들(266)의 세트를 사용한다. 도 2의 실시예에서, 게이트웨이 노드(250)는 노드들(204A 내지 204E)의 각각에 대해 상이한 사전-공유 키를 저장한다. 노드들(204A 내지 204E)의 각각은 또한 상기 노드에 특정적인 단일 키를 저장하며, 각각의 사전-공유 키는 단지 게이트웨이 노드(250)와 노드들(204A 내지 204E) 중 하나 사이에서의 암호화된 통신들을 위해서만 사용된다.
게이트웨이 노드(250)는 랭킹 정보를 분배하기 위해 그룹에서의 각각의 노드에 개개의 암호화된 메시지를 전송할 수 있지만, 또 다른 실시예에서 각각의 노드에 대한 암호화된 데이터의 서브세트들을 갖고 단일 메시지를 전송하는 것은 보다 적은 대역폭을 소비하며 랭킹 정보를 가진 단일 메시지가 그룹 키 교환 프로세스에 참여하는 노드들 모두를 동기화하는 동기화 메시지로서 작용할 수 있게 한다. 메시지는 하나의 CAN 버스 데이터 프레임, 또는 더 큰 그룹들을 위한 미리 결정된 수의 데이터 프레임들에 포함되며, 노드들은 게이트웨이(250)가 랭킹 정보 송신 프로세스를 완료한다면 그룹 암호 키 교환 프로세스를 시작할 수 있다. 도 5로부터의 노드들의 예시적인 순서를 사용하면, 게이트웨이 노드(250)는 다음의 포맷을 사용하여 단일 메시지를 사용하여 랭킹을 송신한다:
상기 메시지에서 "||" 연산자는 비트-연쇄를 나타낸다. 항 r은 공격자 노드(124)가 암호화된 메시지를 기록할 수 없으며 스퓨리어스 그룹 암호화 키 교환 프로세스를 트리거하기 위해 동일한 메시지를 재송신함을 보장하기 위해 사용되는 랜덤하게 생성된 넌스(nonce)이다. 함수(f)는 암호화 함수(예컨대, AES 또는 또 다른 적절한 암호)이며 항들(kn1-kn4)은 게이트웨이 노드(250) 및 노드들(204A 내지 204D) 사이에 공유되는 개개의 암호 키들이다. 도 5의 실시예는 각각의 노드가 단지 한 번 사용되는 해밀턴 경로를 사용하여 노드들을 랭크하므로, 랭킹 메시지는 단지 각각의 노드를 한 번 포함한다. 단일 노드가 그룹 암호 키 교환 프로세스에서 잠재적으로 한 번 이상 참여할 수 있는 도 6의 실시예에서, 게이트웨이(250)는 넌스 값(r)이 랭킹 데이터에서 주어진 노드의 각각의 부가적인 발생에 대해 1만큼 증가되는 약간 상이한 메시지 포맷을 사용한다. 다음의 랭킹 메시지 포맷은 도 6의 노드 랭킹에 기초한다:
상기 설명된 개개의 키 암호화 실시예에서, 공격자 노드(124)는 게이트웨이 노드(250)로부터의 랭킹 데이터의 송신에 기초하여 노드들의 랭킹 순서를 결정할 수 없다. 부가적으로, 게이트웨이 노드(250)는 공유된 암호화된 키를 교환하는 그룹의 멤버들도 전체 송신 순서를 아는 것을 방지하는 개개의 노드 키들을 사용하여 상기 메시지들에서 필드들을 암호화한다. 뿐만 아니라, 몇몇 실시예들에서, 게이트웨이 노드(250)는 선택적으로 공격자 노드(124)에 의한 암호화된 랭킹 데이터의 수정을 방지하기 위해 랭킹과 함께 송신되는 메시지 인증 코드(MAC)를 계산한다.
그룹 암호 키 교환 프로세스
프로세스(300)는 그룹에서의 노드들이, 노드들의 쌍들이 게이트웨이 노드(250)로부터 송신된 랭킹 메시지에서 특정된 순서로 암호 데이터를 송신하는 그룹 암호 키 교환 프로세스를 수행하는 것으로 계속된다(블록 316). 도 5에 묘사된 예를 사용하여, 노드 쌍(204B 내지 204A)은 먼저 암호 데이터, 이어서 노드 쌍(204A 내지 204C), 및 최종적으로 (204C 내지 204D)를 교환하며, 여기에서 노드(204B)는 원점으로서 동작하고 노드들(204A, 204C, 및 204D)의 각각은 암호 키 데이터를 그룹에서의 노드들 모두에 전파하기 위해 노드 쌍들의 선형 체인에서의 링크로서 동작한다. 도 6의 실시예에서, 노드 쌍(204A 내지 204B)은 먼저 암호 데이터를, 이어서 노드 쌍(204A 내지 204C), 및 최종적으로 노드 쌍(204A 내지 204C)을 교환하며, 여기에서 노드(204A)는 누설 그래프에서 이러한 노드와 노드들(204B, 204D, 및 204C) 사이에서의 누설의 낮은 레벨들로 인해 하나 이상의 암호 키 교환 동작에 참여한다.
상기 설명된 프로세스(300)는 공격자 노드(124)가 그룹 암호 키 교환 프로세스 동안 관찰할 수 있는 누설의 총 양을 감소시키기 위해 그룹에서의 노드들 사이에서 송신의 순서를 제어함으로써 공격자 노드로의 누설의 총 양을 감소시킨다. 상기 주지된 바와 같이, 시스템(200) 및 프로세스(300)는 또한 암호 키의 내용을 식별하기 위한 공격자 노드(124)의 능력을 추가로 감소시키기 위해 그룹 암호 키 교환 프로세스 동안 송신되는 데이터를 혼란스럽게 만듦으로써 누설의 전체 레벨을 감소시키는 하드웨어 및 소프트웨어 기술들과 호환 가능하다.
상기 설명된 실시예들에서, 게이트웨이 노드(250)는 게이트웨이 노드(250)가 노드들(204A 내지 204E)의 쌍들의 시퀀스 동작을 제어하는 랭킹 시퀀스를 설정할지라도 노드들(204A 내지 204E) 사이에서 교환되는 공유된 암호 키로 결코 액세스할 수 없다. 게이트웨이 노드(250)는 예시적인 목적들을 위해 나머지 노드들(204A 내지 204E)로부터 별개로 동작하는 것으로 설명되지만, 몇몇 실시예들에서 게이트웨이 노드(250) 자체는 그룹 암호 키 교환 프로세스에 참여하는 노드들 중 하나이며, 그룹 노드(250)는 누설 그래프들에 그 자체를 포함하고 시스템(200)에서의 다른 노드들(204A 내지 204E)과 유사한 방식으로 그룹 암호 키 교환 프로세스에서 랭킹을 할당한다.
여기에서 설명된 실시예들은 노드들이 CAN 버스와 같은 공유 통신 매체를 사용하여 동시에 데이터를 송신하는 그룹 암호 키 교환 동작들 동안 공격자로의 누설을 감소시키기 위한 방법들을 설명한다. 실시예들은 또한 이들 공격들의 효과성을 감소시키거나 또는 제거하는 시스템들 및 방법들을 설명한다. 이들 실시예들은 고 분해능 장비를 사용하여 통신 매체의 전압 특성들을 물리적으로 조사할 수 있는 공격자들에 대해 보호한다. 이들 방법들을 사용할 수 있는 시스템들의 예들은, 이에 제한되지 않지만, 자동차 시스템들(자동차들, 버스들, 트럭들, 농장 장비, 기차들), CAN 버스를 사용하는 산업 시스템들, DC-전기 배전 시스템들을 위한 제어 패널들, 및 CAN 버스를 사용하는 보안 시스템들을 포함한다. 여기에서 설명된 실시예들은 시스템의 물리 파라미터들에 대한 사전-수립된 지식을 사용하여 노드 상호 작용으로 인한 누설을 추정하기 위해 게이트웨이 노드(마스터 노드)를 이용하기 위한 방법들을 포함한다. 파라미터들의 예들은 노드들 간의 와이어 길이, 노드 제조사, 저항성, 용량성 및 유도성 회로 요소들을 포함한다. 여기에서 설명된 실시예들은 물리적 모델링 및 학습 기반 방법들을 사용하여 노드 상호 작용으로 인한 누설을 추정하기 위해 게이트웨이 노드(마스터 노드)를 이용하기 위한 방법들을 포함한다. 이들 방법들의 예들은 컨볼루션 신경망들(CNN), 장단기 메모리(LSTM), 또는 지지 벡터 기계들(SVM)과 같은 클래식 기계 학습 기술들과 같은 딥 러닝 방법들을 포함한다. 여기에서 설명된 실시예들은 게이트웨이 노드에 의해 추정된 누설 함수에 기초하여 전체 누설을 최소화하기 위해 노드 순서를 최적화하기 위한 방법들을 포함한다. 최적화 기준 및 해법들은 프로토콜의 선형 버전에 대해 정의되었다. 최소화 기준들의 예들은 총 누설 최소화 및 최대-링크 누설의 최소화를 포함한다. 여기에서 설명된 실시예들은 게이트웨이 노드에 의해 추정된 누설 함수에 기초하여, 프로토콜의 트리-기반 버전에 대한 전체 누설을 최소화하기 위해 노드 순서를 최적화한다. 예들은 총 누설 최소화 및 최대-링크의 최소화를 포함한 최소화 기준들을 포함한다. 여기에서 설명된 실시예들은 엿듣는 사람으로부터 노드 순서를 숨김으로써 프라이버시 보존 방식으로 노드들에 노드-순서를 전달하기 위한 방법들을 포함한다. 방법들은 공격자로부터 노드 순서를 혼란스럽게 만들기 위해 공통 사전-공유 그룹 키를 이용하거나, 또는 공격자로부터 노드 순서를 숨기기 위해 마스터 노드 및 프로토콜 참여자들 사이에서 '쌍별' 사전-공유 키를 이용하도록 제안되었다.
상기 개시된 및 다른 특징들 및 기능들, 또는 그것의 대안들의 변형들은 바람직하게는 많은 다른 상이한 시스템들, 애플리케이션들 또는 방법들로 조합될 수 있다는 것이 이해될 것이다. 다음의 청구항들에 의해 포괄되도록 또한 의도되는 다양한 현재 예측되지 않는 또는 예상되지 않는 대안들, 수정들, 변화들 또는 개선들이 나중에 이 기술분야의 숙련자들에 의해 이루어질 수 있다.
112: CANH 컨덕터 116: CAHL 컨덕터
118: 종단 저항기 124: 공격자 노드
200: 시스템 204A-204E: 노드
250: 게이트웨이 노드 252: CAN 제어기
256: CAN 송수신기 260: 메모리
284: 외부 프로세서

Claims (8)

  1. 통신 네트워크의 동작을 위한 방법에 있어서,
    노드들의 누설 맵에 기초하여 그룹 암호 키 교환 프로세스에서 데이터를 교환하는 통신 네트워크에서 복수의 노드들의 동작을 순서화하기 위한 랭킹을 생성하는 단계로서, 랭킹은 그룹 암호 키 교환 프로세스 동안 공유 통신 매체를 통해 데이터의 누설을 최소화하는, 랭킹 생성 단계;
    통신 네트워크에서의 게이트웨이 노드에 의해, 공유 통신 매체를 통해 복수의 노드들로 랭킹을 송신하는 단계; 및
    복수의 노드들에 의해, 복수의 노드들로 하여금 공유 통신 매체를 통해 데이터의 누설을 최소화하면서 공유 통신 매체를 통해 공유된 암호 키를 교환할 수 있게 하기 위해 랭킹에 특정된 동작의 순서로 그룹 암호 키 교환 프로세스를 수행하는 단계를 포함하는, 통신 네트워크의 동작을 위한 방법.
  2. 제 1 항에 있어서,
    복수의 노드들에 의해 공유 통신 매체를 통해 송신된 신호들의 분류자를 게이트웨이 노드에 의해 생성된 복수의 관찰들에 기초하여 트레이닝하는 단계;
    가중 에지에 의해 연결된 제 1 정점 및 제 2 정점을 포함한 누설 그래프를 생성하는 단계로서, 제 1 정점 및 제 2 정점은 복수의 노드들에서, 각각 제 1 노드 및 제 2 노드에 대응하고, 가중 에지는 관찰된 신호가 복수의 노드들에서 제 1 노드 및 제 2 노드 중 하나로부터 송신됨을 성공적으로 식별하는 분류자를 사용하는 결정 함수의 확률에 기초하여 생성되고, 누설 그래프는 랭킹을 생성하기 전에 생성되는, 누설 그래프 생성 단계를 더 포함하는, 통신 네트워크의 동작을 위한 방법.
  3. 제 1 항에 있어서,
    가중 에지에 의해 연결된 제 1 정점 및 제 2 정점을 포함한, 누설 그래프를 생성하는 단계로서, 제 1 정점 및 제 2 정점은 복수의 노드들에서, 각각 제 1 노드 및 제 2 노드에 대응하고, 가중 에지는 공유 통신 매체의 길이로 나뉜 제 1 노드 및 제 2 노드를 분리하는 공유 통신 매체의 길이의 비에 적어도 부분적으로 기초하여 생성되고, 누설 그래프는 랭킹을 생성하기 전에 생성되는, 누설 그래프 생성 단계를 더 포함하는, 통신 네트워크의 동작을 위한 방법.
  4. 제 3 항에 있어서,
    가중 에지는 또한 제 1 노드에서의 제 1 송수신기 및 제 2 노드에서의 제 2 송수신기의 아키텍처들 간의 차이, 제 1 노드에서의 제 1 동작 전압 레벨 및 제 2 노드에서의 제 2 동작 전압 레벨의 동작 전압 레벨들 간의 차이, 및 제 1 노드에서의 제 1 송수신기 및 제 2 노드에서의 제 2 송수신기의 제조사들 간의 차이에 적어도 부분적으로 기초하여 생성되는, 통신 네트워크의 동작을 위한 방법.
  5. 제 1 항에 있어서,
    랭킹의 생성 단계는:
    복수의 노드들에 대응하는 누설 그래프에서의 복수의 정점들을 연결하는 경로에 기초하여 랭킹을 생성하는 단계를 더 포함하며, 경로는 각각의 정점을 정확하게 한 번 포함하는, 통신 네트워크의 동작을 위한 방법.
  6. 제 1 항에 있어서,
    랭킹의 생성 단계는:
    복수의 노드들에 대응하는 누설 그래프에서의 복수의 정점들을 연결하는 경로에 기초하여 랭킹을 생성하는 단계를 더 포함하며, 경로는 각각의 정점을 적어도 한 번 및 적어도 하나의 정점을 한 번 이상 포함하는, 통신 네트워크의 동작을 위한 방법.
  7. 제 1 항에 있어서,
    랭킹의 송신 단계는:
    게이트웨이 노드에 의해, 게이트웨이 노드 및 복수의 노드들 사이에 공유되는 적어도 하나의 암호 키를 사용하여, 랭킹에 기초하여 암호화된 랭킹을 생성하는 단계; 및
    게이트웨이 노드에 의해, 공유된 매체를 통한 랭킹의 누설을 방지하기 위해 공유 통신 매체를 통해 복수의 노드들로 암호화된 랭킹을 송신하는 단계를 더 포함하는, 통신 네트워크의 동작을 위한 방법.
  8. 제 1 항에 있어서,
    공유 통신 매체는 계측 제어기 통신망(CAN) 버스인, 통신 네트워크의 동작을 위한 방법.
KR1020197029467A 2017-03-08 2018-03-08 계측 제어기 통신망을 위한 그룹 키 합의를 위해 부채널 누설을 최소화하기 위한 방법들 KR102559684B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201762468691P 2017-03-08 2017-03-08
US62/468,691 2017-03-08
PCT/US2018/021604 WO2018165469A1 (en) 2017-03-08 2018-03-08 Methods for minimizing side channel leakage for group key agreement for controller area network

Publications (2)

Publication Number Publication Date
KR20190118209A KR20190118209A (ko) 2019-10-17
KR102559684B1 true KR102559684B1 (ko) 2023-07-27

Family

ID=63445668

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197029467A KR102559684B1 (ko) 2017-03-08 2018-03-08 계측 제어기 통신망을 위한 그룹 키 합의를 위해 부채널 누설을 최소화하기 위한 방법들

Country Status (5)

Country Link
US (1) US10749673B2 (ko)
EP (1) EP3593486B1 (ko)
KR (1) KR102559684B1 (ko)
CN (1) CN110622465B (ko)
WO (1) WO2018165469A1 (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109640325B (zh) * 2018-12-29 2021-11-30 西安邮电大学 基于可扩展式贡献组密钥协商的面向车队的安全管理方法
DE102019200565A1 (de) * 2019-01-17 2020-07-23 Robert Bosch Gmbh Vorrichtung und Verfahren zur Klassifizierung von Daten insbesondere für ein Controller Area Netzwerk oder ein automotive Ethernet Netzwerk.
US11190336B2 (en) * 2019-05-10 2021-11-30 Sap Se Privacy-preserving benchmarking with interval statistics reducing leakage
US11586728B2 (en) * 2019-06-07 2023-02-21 Nxp B.V. Methods for detecting system-level trojans and an integrated circuit device with system-level trojan detection
US11379571B2 (en) 2019-07-12 2022-07-05 Hewlett Packard Enterprise Development Lp Presence terminal-based side channel communications
US11087030B2 (en) * 2019-11-19 2021-08-10 Silicon Laboratories Inc. Side-channel attack mitigation for secure devices with embedded sensors
US11171772B2 (en) * 2019-12-11 2021-11-09 Facebook Technologies, Llc Multi-key encryption and decryption for side channel attack prevention
US11470061B2 (en) * 2019-12-11 2022-10-11 Meta Platforms Technologies, Llc Parallel scheduling of encryption engines and decryption engines to prevent side channel attacks
US11943367B1 (en) * 2020-05-19 2024-03-26 Marvell Asia Pte, Ltd. Generic cryptography wrapper
US20220164744A1 (en) * 2020-11-20 2022-05-26 International Business Machines Corporation Demand forecasting of service requests volume
CN113158179B (zh) * 2021-03-17 2022-07-22 成都信息工程大学 自动发现泄露模型的有学习的侧信道攻击方法及加密设备
US20230275913A1 (en) * 2022-02-25 2023-08-31 Microsoft Technology Licensing, Llc Using graph enrichment to detect a potentially malicious access attempt

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150058993A1 (en) * 2013-08-23 2015-02-26 The Boeing Company System and method for discovering optimal network attack paths
US20170019251A1 (en) * 2015-07-17 2017-01-19 Robert Bosch Gmbh Method and system for shared key and message authentication over an insecure shared communication medium

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9288048B2 (en) * 2013-09-24 2016-03-15 The Regents Of The University Of Michigan Real-time frame authentication using ID anonymization in automotive networks
US10211990B2 (en) * 2014-07-25 2019-02-19 GM Global Technology Operations LLC Authenticating messages sent over a vehicle bus that include message authentication codes
WO2016075869A1 (ja) 2014-11-13 2016-05-19 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 鍵管理方法、車載ネットワークシステム及び鍵管理装置
US10095634B2 (en) * 2015-05-22 2018-10-09 Nxp B.V. In-vehicle network (IVN) device and method for operating an IVN device
CN105187376B (zh) * 2015-06-16 2018-04-17 西安电子科技大学 车联网中汽车内部网络的安全通信方法
KR102269220B1 (ko) * 2017-03-08 2021-06-28 로베르트 보쉬 게엠베하 계측 제어기 통신망(can)을 통한 키 합의에 대한 전압 기반 공격들을 완화하기 위한 방법
WO2018201062A1 (en) * 2017-04-28 2018-11-01 IronCore Labs, Inc. Orthogonal access control for groups via multi-hop transform encryption
JP7187772B2 (ja) * 2017-12-27 2022-12-13 トヨタ自動車株式会社 情報処理システム、情報処理方法、情報処理プログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150058993A1 (en) * 2013-08-23 2015-02-26 The Boeing Company System and method for discovering optimal network attack paths
US20170019251A1 (en) * 2015-07-17 2017-01-19 Robert Bosch Gmbh Method and system for shared key and message authentication over an insecure shared communication medium

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Shalabh Jain 외 1명, Physical Layer Group Key Agreement for Automotive Controller Area Networks, CHES 2016, LNCS 9813 (2016.)*

Also Published As

Publication number Publication date
US10749673B2 (en) 2020-08-18
KR20190118209A (ko) 2019-10-17
EP3593486A4 (en) 2020-12-30
CN110622465B (zh) 2022-09-13
WO2018165469A1 (en) 2018-09-13
CN110622465A (zh) 2019-12-27
US20180262327A1 (en) 2018-09-13
EP3593486A1 (en) 2020-01-15
EP3593486B1 (en) 2022-10-12

Similar Documents

Publication Publication Date Title
KR102559684B1 (ko) 계측 제어기 통신망을 위한 그룹 키 합의를 위해 부채널 누설을 최소화하기 위한 방법들
CN110582985B (zh) 用于在控域网之上减轻对密钥协定方案的基于时序的攻击的方法
RU2685982C2 (ru) Способ генерирования секретного криптографического ключа в сети
CN110603786B (zh) 用于通信网络中的节点的操作的方法
EP3780482A1 (en) Quantum key distribution method, device and storage medium
US10833851B2 (en) Methods and systems for linear key agreement with forward secrecy using an insecure shared communication medium
Jain et al. Physical layer group key agreement for automotive controller area networks
US10560286B2 (en) Gateway device and control method for the same
Danziger et al. Improved cryptanalysis combining differential and artificial neural network schemes
Püllen et al. Using implicit certification to efficiently establish authenticated group keys for in-vehicle networks
CN107836095A (zh) 用于在网络中产生秘密或秘钥的方法
CN111726346B (zh) 数据安全传输方法、装置及***
Jain et al. Probing attacks on physical layer key agreement for automotive controller area networks
CN104219222A (zh) 交换路径网络中用于中间消息认证的***和方法
US10764262B2 (en) Apparatuses and methods for generating domain-specific codes
US10841085B2 (en) Method for generating a secret or a key in a network
Jain et al. Probing attacks on physical layer key agreement for automotive controller area networks (extended version)
Jithendra et al. New results in biclique cryptanalysis of full round GIFT
RU2812343C1 (ru) Способ управления ресурсами аутентификации в сетях квантового распределения ключей, описываемых связными графами произвольных конфигураций
Chen Infrastructure-based anonymous communication protocols in future internet architectures
CN108141358A (zh) 用于在电路装置中产生密钥的方法

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right