KR20210129742A - 자율주행차 원격 제어용 암호적 안전 메커니즘 - Google Patents
자율주행차 원격 제어용 암호적 안전 메커니즘 Download PDFInfo
- Publication number
- KR20210129742A KR20210129742A KR1020217033549A KR20217033549A KR20210129742A KR 20210129742 A KR20210129742 A KR 20210129742A KR 1020217033549 A KR1020217033549 A KR 1020217033549A KR 20217033549 A KR20217033549 A KR 20217033549A KR 20210129742 A KR20210129742 A KR 20210129742A
- Authority
- KR
- South Korea
- Prior art keywords
- autonomous vehicle
- message
- triple
- vehicle
- signed
- Prior art date
Links
- 230000007246 mechanism Effects 0.000 title description 2
- 238000000034 method Methods 0.000 claims abstract description 65
- 230000004044 response Effects 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 8
- 239000012792 core layer Substances 0.000 claims 3
- 238000005516 engineering process Methods 0.000 abstract description 6
- 230000006870 function Effects 0.000 description 19
- 238000004891 communication Methods 0.000 description 12
- 238000012545 processing Methods 0.000 description 11
- 230000009471 action Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 3
- 230000007774 longterm Effects 0.000 description 3
- 230000015654 memory Effects 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000032258 transport Effects 0.000 description 2
- 208000018777 Vulvar intraepithelial neoplasia Diseases 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000003416 augmentation Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 210000000056 organ Anatomy 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3263—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
- H04L9/3268—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3263—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/0011—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots associated with a remote control arrangement
- G05D1/0022—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots associated with a remote control arrangement characterised by the communication link
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/0011—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots associated with a remote control arrangement
- G05D1/0027—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots associated with a remote control arrangement involving a plurality of vehicles, e.g. fleet or convoy travelling
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/0088—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key 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/0825—Key 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0866—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/06—Authentication
- H04W12/069—Authentication using certificates or pre-shared keys
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/30—Services specially adapted for particular environments, situations or purposes
- H04W4/40—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
- H04W4/46—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P] for vehicle-to-vehicle communication [V2V]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
-
- H04L2209/38—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/80—Wireless
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/84—Vehicles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/06—Authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/90—Services for handling of emergency or hazardous situations, e.g. earthquake and tsunami warning systems [ETWS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/18—Self-organising networks, e.g. ad-hoc networks or sensor networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Aviation & Aerospace Engineering (AREA)
- Automation & Control Theory (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- Computing Systems (AREA)
- Medical Informatics (AREA)
- Health & Medical Sciences (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Game Theory and Decision Science (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Traffic Control Systems (AREA)
Abstract
자율주행차를 원격으로 제어하는 기술이 개시된다. 일 실시예에서, 개시되는 방법은 제 1 자율주행차로부터 메시지를 수신하는 단계 - 상기 메시지는 서명된 본문부와 트리플을 포함하고, 상기 트리플은 제 1 자율주행차의 공개 식별자, 제 1 자율주행차의 공개 키 및 제 1 자율주행차의 인증서로 구성되는 그룹으로부터 선택된 구성요소들을 포함함; 상기 제 1자율주행차의 인증서를 검증함으로써 메시지를 인증하는 단계; 복수의 블록을 저장하는 블록체인 저장 구조에 메시지를 기록하는 단계 - 각각의 블록은 서명된 본문부를 포함함; 및 서명된 본문부 내에 포함된 하나 이상의 주문을 실행하는 단계를 포함한다.
Description
관련 출원
본 출원은 "
CRYPTOGRAPHICALLY SECURE MECHANISM FOR REMOTELY CONTROLLING AN AUTONOMOUS VEHICLE"을 발명의 명칭으로 하는 2019년 3월 25일자 미국특허출원 제 16/363,047호에 기초한 우선권을 주장하며, 그 개시내용 전체는 본 발명에 참고자료로 포함된다.
저작권 고지
본 출원에는 저작권 보호 대상이 되는 자료가 포함되어 있다. 저작권 소유자는 특허청 파일 또는 기록에 나타나는 특허 공개 내용을 팩스로 복제하는 데 반대하지 않지만, 그렇지 않으면 모든 저작권을 보유한다.
개시된 실시예는 자율주행차에 관한 것으로, 구체적으로 자율주행차를 다른 자율주행차로부터 원격으로 제어하기 위한 시스템 및 방법에 관한 것이다.
자율주행차 기술이 계속해서 발전함에 따라 점점 더 많은 자율주행차가 도로에서 운행되고 있다. 자율주행차 고유의 문제 중 하나는 긴급 차량에 적절하게 대응하는 방법이다. 전통적인 시나리오에서, 차량을 운전하는 사람은 시각적으로 조명을 식별하고, 사이렌을 청각적으로 감지하는, 등을 통해 긴급 차량을 인식할 수 있다. 사용은 이러한 감지에 응답하여 문화적으로 표준화된 조치(예: 구급차에 양보)를 취할 수 있고, 또는, 긴급 신호가 요청을 브로드캐스트할 수 있다(예: 확성기를 통해). 그러나 자율주행차는 이러한 방식으로 외부 자극을 처리할 수 있는 능력이 없다. 특히, 자율주행차에는 작동할 사람이 없다.
이미지 인식 및 오디오 인식을 사용하여 장면을 긴급 차량을 포함하는 것으로 분류하기 위해 기본적인 시스템이 사용될 수 있다. 또한, 음성-텍스트 변환 소프트웨어를 사용하여, 가청 명령어를 명령으로 변환할 수 있다. 그러나 이 접근 방식 및 유사한 접근 방식은 불량 차량이 최소한의 노력으로 긴급 차량을 가장할 수 있는 심각한 보안 문제를 겪고 있다.
따라서, 자율주행차 시스템에서 긴급 차량의 통신을 확보하고, 다른 비긴급 차량이 차량의 운행에 영향을 미치는 명령을 안전하게 수신, 해석 및 응답할 수 있도록 보장할 필요가 있다.
긴급 자율주행차에 의해 자율주행차를 제어하기 위한 기술이 여기서 개시된다. 개시되는 해법은 암호학적으로 안전한 인증 시스템(가령, DICE-RIoT)을 이용하여, 교환되는 모든 메시지가 발신자에 의해 검증가능하게 서명됨을 보장할 수 있다. 그 후 메시지들은 안전한 채널을 통해 차량에 신뢰가능하게 전송되어, 변조 방지 블록체인 데이터 구조로 기록된다.
일 실시에에서, 개시되는 방법은 제 1 자율주행차로부터 메시지를 수신하는 단계 - 상기 메시지는 서명된 본문부와 트리플을 포함하고, 상기 트리플은 제 1 자율주행차의 공개 식별자, 제 1 자율주행차의 공개 키 및 제 1 자율주행차의 인증서로 구성되는 그룹으로부터 선택된 구성요소들을 포함함; 상기 제 1자율주행차의 인증서를 검증함으로써 메시지를 인증하는 단계; 복수의 블록을 저장하는 블록체인 저장 구조에 메시지를 기록하는 단계 - 각각의 블록은 서명된 본문부를 포함함; 및 서명된 본문부 내에 포함된 하나 이상의 주문을 실행하는 단계를 포함한다.
다른 실시예에서, 컴퓨터 프로세서에 의해 실행될 수 있는 컴퓨터 프로그램 명령어를 유형적으로 저장하기 위한 비일시적 컴퓨터 판독 가능 저장 매체가 개시되며, 상기 컴퓨터 프로그램 명령어는: 제 1 자율주행차로부터 메시지를 수신하는 단계 - 상기 메시지는 서명된 본문부와 트리플을 포함하고, 상기 트리플은 제 1 자율주행차의 공개 식별자, 제 1 자율주행차의 공개 키 및 제 1 자율주행차의 인증서로 구성되는 그룹으로부터 선택된 구성요소들을 포함함; 상기 제 1자율주행차의 인증서를 검증함으로써 메시지를 인증하는 단계; 복수의 블록을 저장하는 블록체인 저장 구조에 메시지를 기록하는 단계 - 각각의 블록은 서명된 본문부를 포함함; 및 서명된 본문부 내에 포함된 하나 이상의 주문을 실행하는 단계를 규정한다.
다른 실시예에서, 프로세서와, 프로세서에 의한 실행을 위한 프로그램 로직을 유형적으로 저장하기 위한 저장 매체를 포함하는 장치가 개시되며, 상기 저장되는 프로그램 로직은: 제 1 자율주행차로부터 메시지를 수신하는 단계 - 상기 메시지는 서명된 본문부와 트리플을 포함하고, 상기 트리플은 제 1 자율주행차의 공개 식별자, 제 1 자율주행차의 공개 키 및 제 1 자율주행차의 인증서로 구성되는 그룹으로부터 선택된 구성요소들을 포함함; 상기 제 1자율주행차의 인증서를 검증함으로써 메시지를 인증하는 단계; 복수의 블록을 저장하는 블록체인 저장 구조에 메시지를 기록하는 단계 - 각각의 블록은 서명된 본문부를 포함함; 및 서명된 본문부 내에 포함된 하나 이상의 주문을 실행하는 단계를 수행하는 로직을 포함한다.
본 발명의 상기 및 다른 목적, 특징 및 이점은 첨부된 도면에 도시된 바와 같은 실시예의 다음 설명으로부터 명백할 것이며, 도면 부호는 다양한 도면 전체에 걸쳐 동일한 부분을 지칭한다. 도면은 반드시 축척에 맞춰진 것은 아니며, 대신에 본 개시의 원리를 예시하는 데 중점을 둔다.
도 1은 본 개시내용의 일 실시예에 따른 암호화 보안 채널을 사용하여 자율주행차를 원격으로 제어하기 위한 방법을 예시하는 흐름도이다.
도 2는 본 개시의 일부 실시예에 따른 자율주행차에 의한 원격 제어 명령을 인증 및 실행하기 위한 방법을 예시하는 흐름도이다.
도 3은 본 개시의 일부 실시예에 따른 대표 블록을 포함하는 블록체인의 도면이다.
도 4a는 일부 실시예에 따른 트리플을 생성하기 위한 장치(apparatus) 또는 비일시적 컴퓨터 판독가능 저장 매체를 예시한다.
도 4b는 일부 실시예에 따른 트리플을 검증하고 제 2 계층 트리플을 생성하기 위한 장치(apparatus) 또는 비일시적 컴퓨터 판독가능 저장 매체를 예시한다.
도 5는 본 개시의 일부 실시예에 따른 자율주행차의 블록도이다.
도 1은 본 개시내용의 일 실시예에 따른 암호화 보안 채널을 사용하여 자율주행차를 원격으로 제어하기 위한 방법을 예시하는 흐름도이다.
도 2는 본 개시의 일부 실시예에 따른 자율주행차에 의한 원격 제어 명령을 인증 및 실행하기 위한 방법을 예시하는 흐름도이다.
도 3은 본 개시의 일부 실시예에 따른 대표 블록을 포함하는 블록체인의 도면이다.
도 4a는 일부 실시예에 따른 트리플을 생성하기 위한 장치(apparatus) 또는 비일시적 컴퓨터 판독가능 저장 매체를 예시한다.
도 4b는 일부 실시예에 따른 트리플을 검증하고 제 2 계층 트리플을 생성하기 위한 장치(apparatus) 또는 비일시적 컴퓨터 판독가능 저장 매체를 예시한다.
도 5는 본 개시의 일부 실시예에 따른 자율주행차의 블록도이다.
도 1은 본 개시내용의 일 실시예에 따른 암호화 보안 채널을 사용하여 자율주행차를 원격으로 제어하기 위한 방법을 예시하는 흐름도이다. 도 1에서 논의된 방법의 특정 단계들이 후속 도면에서 더 상세하게 제시되며, 그 개시내용 전체는 도 1의 논의에서 참고자료로 포함된다.
단계 102에서, 이 방법은 차량 식별자를 획득하고 검증한다.
단계 102에 관련된 차량은 자율주행차, 또는 일부 시나리오에서 비자율주행차(총칭하여 "차량"이라고 함)을 포함할 수 있다. 각 차량은 식별자와 연계된다. 전통적으로, 차량은 ISO 3779 표준에 따른 차량 식별 번호(VIN)를 사용하여 식별할 수 있다. VIN은 제한된 용도(예: 도난 차량 식별, 소유권 증명)로 사용되지만, 디지털 방식으로 표시되더라도 자동화된 데이터 처리 활동에는 유용하지 않다.
VIN과 대조적으로, 단계 102에서 획득된 식별자는 암호학적으로 안전하게 생성된 식별자이다. 일반적으로 차량 식별자는 차량 식별자, 공개 키 및 인증서의 세 부분으로 구성된다.
차량 식별자는 자신을 식별하는 장치를 고유하게 식별하는 스트링 또는 다른 유형의 데이터를 포함한다. 일부 실시예에서, 차량 식별자는 (본 명세서에 설명되는 바와 같이) 고유 장치 시크릿을 사용하여 생성된 공개 키를 포함한다.
공개 키 및 인증서는 (본 명세서에 설명되는 바와 같이) 자율주행차에 의해 생성된다. 일 실시예에서, 공개 키 및 인증서 모두는 자율주행차에 설치된 프로세서 내에 포함된 DICE-RIoT 서브시스템을 사용하여 생성된다. 공개 키 및 인증서의 생성에 대한 세부 사항은 도 2의 단계 202의 설명에서 더 자세히 설명된다.
요컨대, 각 차량(자율주행차이든 아니든)은 다음과 같은 형식의 데이터 구조로 식별할 수 있다:
{ID L1 public , ID L1 certificate, K L1 public }
수식 1
이 데이터 구조는 본 개시의 목적을 위해 "트리플"(triple)로 지칭된다. 일부 실시예에서, 트리플은 또한 신선도 값과 연계될 수 있다. 신선도 값은 랜덤 스트링, 단조 카운터, 또는 리플레이 공격을 방지하는 기타 고유 식별자를 포함할 수 있다. 이 신선도 값에 대한 세부사항은 동시 계류 중인 "VERIFYING IDENTITY OF AN EMERGENCY VEHICLE DURING OPERATION"을 발명의 명칭으로 2019년 3월 25일 출원된 미국특허출원 제 16/363,088호에 기술되어 있고, 그 개시 내용 전체가 참조로 여기에 포함된다.
간략히 논의된 바와 같이, 단계 102에서, 주어진 차량은 차량 식별자를 획득하고 검증한다. 단계 102는 자율주행차와 같은 차량에 의해 수행될 수 있다. 본 개시의 목적을 위해, 차량은 일반 차량 및 긴급 차량으로 분류된다. 긴급차량은 긴급구조를 수행하는 차량을 말한다. 종종 이러한 차량은 공공 차량(즉, 병원, 구급차 제공자, 소방서, 경찰서, 군대, 그 하청업체 등과 같은 알려진 긴급 서비스 제공자가 운영하는 차량)이지만 이러한 차량이 긴급 상황 하에서 작동하는 일반 차량을 포함할 수 있다(예: 진통 중인 사람을 병원으로 이송하는 개인 차량). 일부 실시예에서, 개인용 차량은 대역-외 승인 프로세스를 통해 긴급 상황으로 전환되도록 요청할 수 있다. 아다시피, 개인 차량과 관련된 트리플은 개인 차량을 긴급 차량으로 "변환"하는 데 사용될 수 있다. 한편, 일반 차량은 기타 비긴급 차량을 포괄적으로 의미한다.
차량 트리플을 인식하는 구체적인 기술은 발신자와 수신자에 따라 다르다. 다음의 두 가지 시나리오가 여기에 설명되어 있다: (1) 긴급 차량을 인식하는(그리고 예를 들어 양보하는) 일반 차량, 및 (2) 일반 차량을 인식하는(그리고 예를 들어, 주문하는) 긴급 차량.
제 1 시나리오에서 일반 차량은 긴급 차량을 식별하기에 충분한 하드웨어(예: 네트워크 인터페이스 및 프로세서)가 장착된 자율주행차 또는 비자율주행차를 포함한다. 이 시나리오에서, 긴급 차량은 수신 차량에 트리플을 수신 차량에 전송(예: 브로드캐스트)한다(예: 긴급 차량의 개인 키를 사용하여 서명된 메시지의 일부로). 일 실시예에서, 긴급 차량은 키 및 인증서 생성이 오프라인으로 수행될 수 있음을 보장하기 위해 제조 동안 인증서를 장착할 수 있다.
제 2 시나리오에서, 일반 차량은 자율주행차가 아니거나, 동등하게 적용 가능하지만 현재 다른 장치에 트리플을 전송하지 않을 수 있다. 이 시나리오에서, 긴급 차량은 카메라 또는 광학 빔을 활용하여 번호판 또는 기타 물리적 식별 특성의 이미지를 캡처할 수 있다. 그런 다음 이 특성을 사용하여 특성(예: 번호판 번호)을 유효한 트리플에 매핑하는 데이터베이스에 질의할 수 있다. 데이터베이스와의 통신은 TLS(전송 계층 보안) 또는 유사한 프로토콜을 통해 보호될 수 있다.
두 시나리오 모두에서, 타의 식별이 필요한 차량은 트리플과 메시지를 획득한다. 일 실시예에서, 이 메시지는 발신자의 개인 키를 사용하여 서명되고, 선택적 사항으로, 수신자 공개 키를 사용하여 암호화된다. 메시지가 개인 키를 사용하여 서명되기 때문에, 이 방법은 메시지의, 따라서, 트리플의, 유효성을 검사할 수 있다.
단계 104에서, 보안 통신 채널은 식별자를 사용하여 설정된다. 일 실시예에서, 방법은 단계 102에서 식별된 2개의 차량 간의 통신을 암호화하기 위해 TLS를 사용한다. TLS의 상세한 동작은 본 개시의 범위를 벗어나고 다른 곳에서 더 잘 설명되어 있다. 일반적으로, TLS는 대칭 암호화를 사용하여 당사자 간의 데이터를 암호화한다. 이 대칭 암호화를 사용하여 공유 비밀 키를 설정하기 전에, 당사자는 공개 키 암호화를 사용하여 자신을 인증한다. 위에서 설명된 바와 같이, 단계 102에서 차량은 예를 들어 DICE-RIoT 플랫폼을 사용하여, 생성된 트리플을 사용하여 자신을 인증한다. 대안적인 실시예에서, QUIC, 스파이프(spiped), 등과 같은 다른 보안 채널 기술이 사용될 수 있다.
단계 106에서 차량은 단계 104에서 구축된 보안 채널을 통해 제어 명령 등의 메시지를 교환한다.
일 실시예에서, 보안 채널을 통해 교환되는 모든 메시지는 디지털 서명된다. 일 실시예에서, 발신자(예를 들어, 긴급 차량)는 자신의 개인 키를 사용하여 모든 제어 명령 메시지에 서명한다. 수신자는 이미 차량의 공개 키를 수신하여 검증하였기 때문에 수신자는 발신자의 공개 키를 사용하여 메시지를 인증할 수 있으므로, 차량 간의 안전한 통신이 보장된다.
또한, 일부 실시예에서, 제어 명령은 발신자에 의해 암호화될 수 있다. 이 실시예에서, 발신자는 제어 명령을 암호화하기 위해 수신자의 단계 102 동안 교환된 공개 키를 사용한다. 수신된 개인 키의 소유자는 개인 키를 사용하여 제어 명령을 해독할 수 있다. 또한, 채널 자체는 TLS 또는 다른 적절한 암호화 방식으로 보호될 수 있다.
전술한 방법은 모든 차량이 안전하게 인증되는 보안 연결을 통해 하나의 자율주행차가 다른 차량을 원격으로 제어할 수 있게 한다. 상기 방법의 구체적인 세부사항은 본 명세서의 후속 도면에서 보다 상세하게 설명된다.
도 2는 본 개시의 일부 실시예에 따른 자율주행차에 의한 원격 제어 명령을 인증 및 실행하기 위한 방법을 예시하는 흐름도이다.
단계 202에서, 방법은 키 쌍 및 인증서를 생성한다. 키 쌍 및 인증서의 생성은 도 4a 및 도 4b의 설명에서 더 자세히 설명되며, 그 개시 내용 전체가 참조로 포함된다. 일 실시예에서, 키 및 인증서는 L1 키와, L0 부트로더의 내보낸 출력에 기초하여 생성된 인증서를 포함한다.
도시된 실시예에서, 키 쌍 및 인증서는 긴급 차량에 의해 생성된다. 일부 실시예에서, 긴급 차량에는 차량의 제조업체 또는 조작자가 미리 설치한 키 쌍 및 인증서가 있을 수 있다.
그러나, 다른 실시예에서, 키/인증서는 상위 레벨 키/인증서를 포함할 수 있다. 구체적으로, 일 실시예에서, 단계 204에서 생성된 메시지는 원래 메시지의 포워딩을 포함할 수 있다. 이 실시예에서, 방법은 발신자의 L1 키를 사용하여 L2 키 쌍/인증서를 생성할 수 있다. 그런 다음 이 방법은 L2 키 쌍/인증서를 사용하여 메시지를 다른 장치로 전달하여 수신자 체인을 확인할 수 있다.
단계 204에서, 방법은 단계 202에서 생성된 개인 키로 메시지를 생성하고 서명한다. 일 실시예에서, 메시지는 예를 들어 긴급 자율주행차에 의한 주문(예를 들어, 길 한쪽으로 차 빼기(pull over), 길비키기(make way), 모든 차량 정지, 특정 차량 정지, 등)을 포함한다. 다른 실시예에서, 비-긴급 차량이 발신자인 경우, 메시지는 메시지의 확인응답 및 예를 들어 비긴급 차량에 의해 수행될 작업에 관한 서비스 정보(예: 주문을 컴파일할 위치 또는 시간 지정, 최우선(overriding) 상황에서의 수락 거절, 등)를 포함할 수 있다.
일부 실시예에서, 메시지는 수신자의 공개 키를 사용하여 추가로 암호화될 수 있다. 이러한 실시예에서, 공개 키를 교환하기 위해 핸드쉐이킹 절차가 사용될 수 있다. 또한, 공개 키는 핸드셰이크 동안 발신자의 신원을 확인하는 데 사용할 수 있는 트리플로 전송될 수 있다(추후 논의할 예정). 메시지 수준 암호화 외에도, 통신 채널 자체가 암호화될 수 있다(예: TLS 연결 사용).
일 실시예에서, 방법은 메시지에 서명하기 전에 메시지에 신선도 표시자를 더 추가할 수 있다. 일 실시예에서, 이 신선도 표시자는 리플레이 공격을 방지하고, 전술한 바와 같이 고유 값, 단조 카운터, 또는 다른 신선도 표시자를 포함할 수 있다.
단계 206에서, 방법은 메시지 및 트리플을 타겟 차량(들)에 전송한다.
일 실시예에서, 방법은 전용 근거리 통신(DSRC) 또는 5GLTE 네트워크를 사용하여 메시지를 전송할 수 있다. 일부 실시예에서, 차량 애드-혹 네트워크(VANET)가 사용될 수 있다. 다른 실시예에서, 중앙 집중식 네트워크가 사용될 수 있다. 일반적으로, VANET은 신속한 통신에 사용될 수 있고, 중앙 집중식 네트워크는 시간이 중요하지 않은 통신에 사용될 수 있다. 확실히, 두 가지 유형의 네트워크(애드-혹 대 중앙 집중식)를 조합하여(서로 배타적으로 또는 조합하여) 사용할 수 있다.
일 실시예에서, 차량에 전송된 트리플은 단계 202에서 생성된 공개 키 및 인증서를 포함한다. 일 실시예에서, 방법은 발신자에 대한 공개 식별자를 추가로 생성한다. 공개 식별자는 VIN 또는 유사한 유형의 식별자와 구별되는, 장치의 암호화 ID를 포함한다. 도 4a에 설명된 바와 같이, 공개 식별자는 장치의 전원을 켤 때마다 샘플링된 내부 암호화 기능 구성을 사용하여 생성된다(따라서 최종 호스트 명령으로 인해 암호화 구성이 변경되는 동안 런타임이 아닌 장치 전원을 켤 때만 변경된다). 이 공개 식별자는 단계 202에서 생성된 인증서 및 키 쌍의 공개 키 부분과 결합된다. 함께, 트리플 및 서명된 메시지는 자율주행차를 원격 제어하기 위한 패킷을 형성하거나, 다른 실시예에서 이러한 패킷에 응답한다.
일 실시예에서, 긴급 차량은 단계 202에서 L1 공개 키, 공개 식별자 및 인증서를 사용하여 트리플을 생성할 수 있다. 이 트리플과 관련된 메시지를 처리(아래에서 논의됨)한 후, 수신자는 L2 공개 키, 공개 식별자 및 수신자의 인증서를 사용하여 응답확인을 보낼 수 있다. 도 4b에 설명된 바와 같이, L2 공개 키, 공개 식별자 및 인증서는 발신자의 L1 공개 키를 사용하여 생성되어, 응답이 스푸핑되거나 그외 달리 변조되는 것을 막는다.
단계 208에서, 방법은 서명된 메시지 및 트리플을 수신한다. 일 실시예에서, 단계 208(및 나머지 단계들)은 수신 자율주행차의 하드웨어에 의해 수행될 수 있다.
단계 210에서, 방법은 발신자의 인증서를 검증한다.
시그너처 검증에 대한 구체적인 내용은 도 4b와 관련하여 보다 구체적으로 설명되며, 그 개시내용 전체는 참고로 본 명세서에 통합된다. 간단히 말해서 이 방법은 출력이 트리플의 공개 키와 일치하는지 확인하기 위해 트리플을 이중으로 해독한다. 먼저 공개 키를 해역 키로 사용하여 인증서를 해역한다. 그런 다음 해당 암호 해독의 출력은 데이터가 공개 식별자인 동안 제 2 암호 해독 단계의 키로 사용된다. 결과는 후보 공개 키이며 이는 트리플의 공개 키와 비교된다. 후보 공개키와 트리플 공개키가 같으면, 신원이 확인된다.
단계 212에서, 방법은 시그너처 비준(validation)의 출력을 체크한다. 인증서가 유효하지 않은 경우 방법은 메시지를 폐기한다(단계 214). 그렇지 않으면, 이 방법은 메시지를 기록(log)한다(222)(그리고 선택적으로, 단계 218-220에서 결과를 검증(verification)한다). 일 실시예에서, 메시지를 폐기하는 것은 단순히 명령을 따르는 것을 거부하는 것을 포함할 수 있다. 예시된 실시예에서, 방법은 폐기된 메시지를 추가로 기록한다(단계 216). 대안적으로, 방법이 메시지가 유효하다고 결정하면, 방법은 작업을 실행하거나, 또는, 응답을 수신하는 경우 메시지를 응답확인하고(단계 224) 작업 결과를 기록한다(단계 226). 이들 동작, 및 그 변형은 본 명세서에서 보다 상세하게 설명된다.
위에서(및 여기에서) 설명된 바와 같이 각 메시지는 공개 식별자, 공개 키 및 인증서와 연관된다. 각 메시지는 발신자의 개인 키로 추가 서명된다. 공개 키 암호화를 사용하여 이 방법은 발신자의 공개 키를 사용하여 시그너처를 해독한다. 일 실시예에서, 방법은 인증서 체커(checker)(도 4b에 설명됨)를 사용하여 트리플의 공개 키가 유효하다는 것을 이전에 인증했다. 따라서 이 방법은 (암호화된 보안 식별자를 통해) 발신자가 자신이 주장하는 사람인지와, (시그너처 검증에 의해) 메시지가 실제로 이 발신자에 의해 생성되었는지 모두 안전하게 확인할 수 있다.
도면에 도시된 바와 같이, 이 방법은 메시지의 유효 여부에 관계없이 메시지를 기록한다. 일부 실시예에서, 방법은 유효한 메시지만을 기록한다(따라서 단계 216을 건너뛴다). 도시된 실시예에서, 메시지의 로그는 분산 데이터베이스에 저장된다. 일 실시예에서, 이 분산 데이터베이스는 블록체인 데이터 구조를 포함한다. 일 실시예에서, 함대의 모든 긴급 차량은 블록체인 네트워크의 노드들을 포함할 수 있고 따라서 메시지를 비준하기 위한 합의 알고리즘에 참여할 수 있다. 블록체인 및 블록 구조에 대한 구체적인 내용은 도 3을 참조하여 상세히 설명되며,, 그 개시 내용이 참고로 본 명세서에 통합된다.
일 실시예에서, 방법은 긴급 차량에 응답하여 실행되는 유효한 명령의 안전하고 불변의 원장(ledger)으로서 블록체인을 사용한다. 이 로그는 암호적으로 조작불가능하기 때문에, 예를 들어, 경찰, 의료 전문가, 변호사, 및 긴급 자율주행차 및 기타 차량 모두에서 수행한 작업 기록이 필요한 기타 엔티티에 의해, 추후 분석에 사용될 수 있다. 예를 들어, 블록체인은 적절한 응급 조치가 취해졌는지 판단하기 위해 환자를 병원으로 이송할 때 자율주행차가 취한 조치를 기록할 수 있다. 유사하게, 블록체인은 긴급 메시지의 수신자가 그에 따라 응답했는지 또는 그렇지 않은 경우 긴급 주문을 무시할 정당한 이유가 있는지 여부를 결정하기 위해 분석될 수 있다.
일부 실시예에서, 모든 자율주행차는 단일 블록체인을 통해 통신할 수 있다. 이전 실시예와 달리 모든 차량은 블록체인에 액세스할 수 있으며 블록체인에 추가된 블록을 볼 수 있다. 이 실시예에서, 단계 222 는 단계 208 이전에 수행될 수 있거나, 일부 실시예에서, 단계 206로서 수행될 수 있다. 이 실시예에서, 발신자는 블록체인에 추가할 블록에 서명하고 제안한 다음, 블록체인에 액세스하는 모든 자율주행차에 의해 수신된다. 도 3에 도시된 바와 같이, 블록 구조는 트리플, 메시지 및 수신자의 식별자를 포함한다. 따라서, 발신자는, 단계 208에서 단일 자율주행차에 메시지를 전송하는 대신, 블록체인에 액세스하는 모든 차량에 메시지를 브로드캐스트한다. 이 실시예에서, 방법은 블록체인을 분석하여, 수신자가 명령을 확인하는 자신의 블록을 추가했는지 확인할 수 있다. 특히 이 시나리오에서는 시간이 핵심일 수 있으므로 제한된 합의가 필요할 수 있다. 따라서 상당한 시간과 컴퓨팅 리소스가 필요한 작업 증명(PoW)에 비해 덜 계산 집약적인 알고리즘이 사용될 수 있다. 예를 들어, 권한 증명(PoA)을 사용하여 블록을 비준할 수 있다. PoA 방식에서, 인지된 당국은 일반적인 합의 없이 블록체인에 블록을 추가할 수 있다. 긴급 차량은 잘 알려져 있기 때문에, 이러한 차량은 이 방식에서 하나의 기관으로 작용하여, 자체적으로 추가된 블록과 메시지를 수신한 다른 차량을 비준할 수 있다.
유효한 메시지를 기록한 후 수신자는 메시지에 지정된 조치를 수행한다. 조치는 메시지에 따라 다르며, 또한 실제로는 발신자에 따라 다르다. 발신자가 긴급 차량인 경우, 조치는 일반적으로 자율주행차의 차량 서브시스템을 조작하라는 주문을 포함한다(예: 길 한쪽으로 차 빼기(pull over), 정지, 경로 변경 등). 수신자가 긴급 차량이고 발신자가 비긴급 차량인 경우 메시지에는 자율주행차가 취할 조치에 대한 알림이 포함될 수 있으며, 긴급 차량에 대한 주문이 포함되지 않을 수 있다. 예를 들어, 비긴급 자율주행차는 자율주행차가 길 한쪽으로 차를 뺄(pull over) 시간을 나타낼 수 있다. 긴급 자율주행차는 메시지에 대한 응답으로 조치를 수행할 수 있지만 메시지의 조치를 반드시 수행할 필요는 없다. 예를 들어, 앞의 예를 계속하면, 긴급 자율주행차는 차량이 특정 시간 및 위치에서 풀 오버할 것이라는 것을 아는 것에 기초하여 차량 서브시스템에 의한 조치를 스케줄링할 수 있다.
마지막으로, 일부 실시예에서, 방법은 닫기 이벤트를 추가로 기록(log)할 수 있다(예를 들어, 단계 216/226). 이러한 기록은 선택 사항일 수 있지만 일련의 트랜잭션을 예약 종료(bookend)하는 데 사용할 수 있다. 예를 들어 긴급 자율주행차는 5대의 자율주행차에 브로드캐스트된 주문을 기록할 수 있다. 5대의 자율주행차는 응답을 기록할 수 있다. 그런 다음 긴급 자율주행차는 5개의 응답이 수신되었음을 확인하는 확인 블록을 기록할 수 있다. 일부 실시예에서, 긴급 자율주행차는 주문을 실제로 따랐음을 확인하는 제 2 트레일러 블록을 추가로 기록할 수 있다.
예시된 실시예에서, 방법은 여러 단계(216, 222, 226)에서 블록체인 데이터 구조에 데이터를 기록한다. 각 단계에서, 위에서 설명한 것처럼, 데이터 로깅은 블록체인 데이터 구조에 블록을 추가하는 것을 포함한다. 예시된 실시예에서, 두 가지 조건이 모두 충족되면 블록은 블로킹(blocking)의 일부로 인식된다(즉, 원장(ledger)에 포함됨). 첫째, 삽입하는 동안 이전 블록의 해시는 이전에 계산된 이전 블록의 해시와 일치해야 한다. 즉, 도 3을 참조하면, 헤더(303a)의 "해시(이전 로컬 블록)"는 블록(303)이 삽입되기 전에 이전 블록(302a)의 "해시(현재 로컬 블록)"와 일치해야 한다. 이 요구 사항 외에도, 블록은 시스템의 인증된 호스트에 의해 블록이 생성된다는 제 2 비표준 조건을 충족해야 한다. 이 특정 요구 사항은 효과적으로, 기존 블록체인 시스템(즉, 노드 간의 수학적 경쟁)에서의 작업 증명에 대한 대안이다. 특히, 예시된 블록체인에서, 시스템에 참여하는 노드는 블록체인에 블록을 삽입하기 위해 올바른 시그너처를 추측하려고 시도한다. 그러나 이 시스템에서, 시스템의 한 엔티티는 시그너처를 생성하는 데 사용되는 개인 키를 소유하므로 경쟁에서 빠르게 "승리"할 수 있다(단, 주장(assertion)은 개인 키 소유자의 공개 키를 사용하여 다른 임의의 노드에서 비준될 수 있음). 이러한 방식으로 진정한 서명자만이 경쟁에서 승리할 수 있어, 블록체인에 무단으로 블록이 들어가는 것을 방지할 수 있다.
대안적인 실시예에서, 방법은 트리플(218-220)의 공개 카탈로그를 사용하여 트리플을 추가로 검증할 수 있다. 공개 카탈로그는 인증 기관과 유사한 신뢰할 수 있는 엔티티가 운영하는, 안전한 중앙 집중식 트리플 저장소로 구성된다. 일부 실시예에서, 이 방법은 단계 210 및 212의 검증 대신에 사용될 수 있다. 특히, 공개 카탈로그의 사용은 인터넷 연결을 필요로 하고 그러한 시나리오에서 더 신뢰할 수 있다. 그러나 인터넷 연결을 사용할 수 없는 경우, 단계 210 및 212는 여전히 진위를 확인하기에 충분히 안전한다. 그러나 드문 경우지만 긴급 차량이 퇴역(decommissioned)할 수 있고, 따라서, 210-212 단계를 통과할 때 표준 트리플 저장은 이러한 시나리오에 대한 보호 장치 역할을 한다. 일부 실시예에서, 공개 카탈로그는 자율주행차가 온라인 상태일 때마다 자율주행차와 동기화될 수 있다. 따라서 218-220 단계는 카탈로그의 캐시된 복사본을 사용하여 로컬에서 수행할 수 있다.
도 3은 본 개시의 일부 실시예에 따른 대표 블록을 포함하는 블록체인의 도면이다.
예시된 실시예에서, 블록체인(300)은 블록(310a-310n, 312, 314a-312n, 316)과 같은 복수의 블록을 포함한다. 일 실시예에서, 블록(310a-310n, 314a-312n)은 (블록 303과 관련하여 더 자세히 설명되는) 비긴급 자율주행차에 의해 제안된 블록을 포함한다. 비긴급 자율주행차 블록(310a-310n 및 314a-312n) 사이에 긴급 또는 권한 차량 블록(312, 316)이 있다. 이 블록들은 긴급 자율주행차에 의해 생성(및 서명)된다. 예시된 바와 같이, 일반 자율주행차 블록(310a-310n-, 314a-312n)은 초기 긴급 자율주행차 블록(즉, 주문을 포함하는 블록)에 대한 응답 블록을 포함할 수 있다.
블록체인(300)은 대안적으로 2개의 블록(302, 203)의 블록 구조를 확장한 복수의 블록(301-304)으로 예시된다. 일 실시예에서, 블록(302, 302)은 블록(312, 314a)에 대응한다.
예시된 실시예에서, 두 블록(302, 303)은 현재 블록의 해시와 이전 블록의 해시를 포함하는 메인 원장 블록 헤더(302a, 303a)를 포함한다. 예시된 실시예에서, 메인 원장 블록 헤더(302a, 303a)는 거래의 연결 리스트를 생성하기 위한 표준 블록체인 헤더를 포함한다.
블록(302, 303)의 본체부에는 차량 식별자(302b, 303b), 인증서(302c, 303c) 및 공개 키(302d, 303d)를 포함하는 트리플이 저장된다. 이 트리플은 주문 내역(302f) 또는 서비스 정보(303f)를 생성한 자율주행차를 나타낸다. 추가적으로, 블록(302, 303)은 목적지 공개 식별자(302e, 303e)를 포함한다. 이 공개 식별자(302e, 303e)는 이전에 논의되었으며, 트리플(302b-302d, 303b-302d)에 의해 식별된 장치에 의해 전송된 메시지의 수신자를 포함한다.
마지막으로, 각 블록에 발신자가 서명하고, 시그너처는 패킹되어, 패킹된 디지털 시그너처(302g, 303g)로 블록에 포함된다. 예시된 실시예에서, 시그너처(302g, 303g)는 발신자의 개인 키를 사용하여 서명되고, 발신자의 공개 키를 사용하여 수신자에 의해 검증된다.
블록은 주문 내역(302f) 또는 서비스 정보(303f)를 추가로 포함한다. 이 필드의 정보 유형은 발신자에 따라 다르다. 블록(302)은 다른 자율주행차에 브로드캐스트(또는 달리 전송)되는 주문을 포함하는 블록을 포함한다. 이 시나리오에서, 블록(302)은 다른 차량에 전송된 명령 또는 주문을 저장하는 필드를 포함한다. 대조적으로, 블록(303)은 주문을 수신하는 자율주행차로부터의 응답확인 또는 응답을 포함한다. 따라서 서비스 정보(303f)는 긍정 또는 부정 확인, 요청에 응답할 때 자율주행차가 계획하는 방법에 대한 세부사항, 등과 같은, 주문에 대한 응답을 포함한다.
도 4a는 일부 실시예에 따른 트리플을 생성하기 위한 장치 또는 비일시적 컴퓨터 판독가능 저장 매체를 예시한다.
도시된 바와 같이, L0 소프트웨어(410) 및 L1 소프트웨어(412)는 제 1 장치에서 동작한다. L0 코드(410)는 장치의 ROM에서 실행되는 펌웨어를 포함한다. L0 코드(410)는 다음 공식에 따라 제 1 키(KL0)(퓨즈 파생 시크릿, FDS라고도 함)를 생성하는 역할을 한다.
FDS = KL0 = KDF (UDS, HASH (L 1 의 신원))
수식 2
여기서 KDF는 HMAC-SHA256 함수와 같은 단방향 함수이고, UDS는 L0 코드(410)를 작동하는 장치의 제조 중에 설정된 고유 장치 비밀 세트이며, HASH는 SHA256 함수와 같은 제 2 단방향 함수를 포함하고, L1의 신원은 L1 코드(412)의 호스트 구성 매개변수를 포함한다.
L0 코드(410)는 KL0을 L1 코드(412)로 내보낸 다음, L1 코드(412)를 나타내는 트리플을 생성하는 데 사용된다. 이 트리플(수식 1에 표시됨)은 L1 코드(412)에 의해 L2 코드(414)로 내보내진다. 논의된 바와 같이, L2 코드(414)는 외부 장치 또는 일부 실시예에서 원격 장치에서 실행되는 코드를 포함할 수 있다. 예를 들어, L0 코드(410) 및 L1 코드(412)는 제 1 자율주행차에서 실행할 수 있는 반면, L2(414)는 별도의 자율주행차에서 실행할 수 있다.
L1 코드(412)의 동작은 여기에서 더 자세히 설명된다. 일반적으로 설명된 바와 같이 L1 코드(412)는 키("별칭 키"라고 함)를 생성하고 L1 코드(412) 자체에 대한 트리플을 생성한다.
도시된 바와 같이, L1 코드(412)는 비대칭 식별자 생성기(402)를 통해 L1 코드(412)에 대한 식별자를 생성한다. 생성기(402)는 KL0 키를 시드 입력으로 취하고, 결정론적 공개 키(IDL1public) 및 개인 키(IDL1private)를 출력한다. L1 코드(412)는 공개 키(IDL1public)를 L2 코드(414)로 내보내고, 그 용도는 도 4b의 설명에서 설명될 것이다.
또한, L1 코드(412)는 제 2 비대칭 키 생성기(404)를 이용하여 제 2 키 쌍을 생성한다. 이 키 생성기(404)는 난수 생성기(408)에서 생성된 난수를 시드 입력으로 취하고, 제 2 결정론적 공개 키(KL1public) 및 개인 키(KL1private)를 출력한다. L1 코드(412)는 공개 키(KL1public)를 L2 코드(414)로 내보내고, 그 용도는 도 4b의 설명에서 설명될 것이다.
L1 코드(412)는 L2 코드(414)로 내보낸 트리플의 ID 인증서 부분을 생성하기 위해 이중 암호화 기술을 추가적으로 사용한다. 구체적으로, L1 코드(412)는 먼저 제 1 암호화 모듈(406a)을 사용하여 IDL1public 키를 암호화 키로 사용하여 KL1public 키를 암호화하여, 암호화된 암호문 K'를 생성한다. 그런 다음 이 암호문은 제 2 암호화 모듈(406b)에 제공되는 데이터로 사용되는 반면, 제 2 생성기(404)에 의해 생성된 KL1private가 암호화 키로 사용된다. 제 2 암호화 모듈(406B)의 결과는 IDL1 인증서로 내보내지는 이중 암호화된 암호문 K''다. 암호화 알고리즘(및 도 4b의 대응하는 해독 알고리즘)의 구체적 선택은 본 개시에서 제한되지 않는다.
도 4b는 일부 실시예에 따른 트리플을 검증하고 제 2 계층 트리플을 생성하기 위한 장치 또는 비일시적 컴퓨터 판독가능 저장 매체를 예시한다. 도 4b에 도시된 도면은 L2 코드(414)의 동작을 예시한다. 그러나, 여기에 설명된 동작은 L2 코드(414)(예를 들어, L3 코드(416))를 포함하는 그리고 그 너머에 있는 임의의 계층에 대해 일반화될 수 있다.
예시된 실시예에서, L2 코드(414)는 도 4a에 설명된 바와 같이 생성된 L1 코드(412)로부터 트리플을 수신한다. L2 코드(414)는 L2 트리플을 생성하는 것과 관련하여 L1 코드(412)의 동작과 유사한 동작을 수행하고 이러한 세부 사항은 여기에서 반복되지 않고 동일하게 번호가 매겨진 요소에 대해 참조로 포함된다. 트리플-생성 회로 또는 소프트웨어의 한 가지 주목할만한 차이점은 제 1 생성기가 도 4a에 설명된 KL0의 값(퓨즈에서 파생된 비밀)이 아니라 L1 코드(412)에 의해 생성된 KL1public 값으로 시딩(seed)된다는 것이다.
또한, L2 코드(414)는 하드웨어(즉, 전용 회로) 또는 소프트웨어 또는 펌웨어로 구현될 수 있는 인증서 체커(certificate checker)(418)를 포함한다. 인증서 체커(418)의 세부 사항은 도면에 분해도로 제시된다. 인증서 체커(418)는 L1 코드(412)로부터 수신된 트리플의 진위를 검증한다. 일부 실시예에서, 인증서 체커(418)는 나머지 구성요소에 대한 게이팅 기능으로 작용한다(즉, 트리플이 유효하지 않은 경우 L2 트리플의 생성을 방지함).
도시된 바와 같이, 인증서 체커(418)는 제 1 해역 모듈(420)을 통해 KL1public 키를 사용하여 IDL1 인증서를 해역한다. 결과적인 키 M'은 IDL1 공개 키를 해역하기 위해 키 M'을 사용하는 제 2 해역 모듈(424)을 위한 키로 사용된다. 마지막으로 결과 평문 M″은 비교기(426)를 통해 원래 공개 키(KL1public)와 비교된다. 비교기의 결과가 양수이면 트리플이 유효한 것으로 확인된다. 그렇지 않은 경우 트리플은 유효하지 않은 것으로 표시된다.
예시된 실시예에서, 인증서 체커(418)는 트리플 생성 회로/소프트웨어(402, 404, 406a-b)와 독립적으로 실행할 수 있다. 이러한 방식으로 L2 코드(414)에 의해 다양한 엔티티의 트리플이 검증될 수 있다.
도 5는 본 개시의 일부 실시예에 따른 자율주행차의 블록도이다.
도 5에 도시된 시스템이 차량 내부에 완전히 설치될 수 있다. 일부 실시예에서, 일부 구성요소(예를 들어, 서브시스템(504) 이외의 구성요소 및 서브시스템)는 기존의 자율주행차 서브시스템을 포함할 수 있다.
시스템은 자율주행차 서브시스템(502)을 포함한다. 예시된 실시예에서, 자율주행차 서브시스템(502)은 지도 데이터베이스(502A), 레이더 장치(502B), 라이더(Lidar) 장치(502C), 디지털 카메라(502D), 소나 장치(502E), GPS 수신기(502F) 및 관성 측정 유닛(502G)을 포함한다. 자율주행차 서브시스템(502)의 각 구성요소는 대부분의 현재 자율주행차에 제공되는 표준 구성요소를 포함한다. 일 실시예에서, 지도 데이터베이스(502A)는 라우팅 및 항법에 사용되는 복수의 고화질 3차원 지도를 저장한다. 레이더 장치(502B), 라이더 장치(502C), 디지털 카메라(502D), 소나 장치(502E), GPS 수신기(502F) 및 관성 측정 유닛(502G)은 자율주행차 전체의 다양한 위치에 설치된 다양한 개별 장치를 포함할 수 있다. 당업계에 공지된 바와 같이. 예를 들어, 이러한 장치들은 위치 인식, 충돌 회피 및 기타 표준 자율주행차 기능을 제공하기 위해 자율주행차의 주변을 따라 설치될 수 있다.
차량 서브시스템(506)은 시스템 내에 추가로 포함된다. 차량 서브시스템(506)은 다양한 잠금 방지 제동 시스템(506A), 엔진 제어 장치(502B) 및 변속기 제어 장치(502C)를 포함한다. 이러한 구성요소는 자율주행차 서브시스템(502A)에 의해 생성된 스트리밍 데이터에 응답하여 자율주행차의 작동을 제어하는데 활용될 수 있다. 자율주행차 서브시스템(502)과 차량 서브시스템(506) 사이의 표준 자율주행차 상호작용은 일반적으로 당업계에 공지되어 있으며 여기에서 상세하게 설명되지 않는다.
시스템의 처리 측면은 하나 이상의 프로세서(510), 단기 메모리(512), RF 시스템(514), 그래픽 처리 장치(GPU)(516), 장기 저장 장치(518) 및 하나 이상의 인터페이스(520)를 포함한다.
하나 이상의 프로세서(510)는 중앙 처리 장치, FPGA, 또는 자율주행차의 동작을 지원하는 데 필요한 처리 장치의 임의 범위의 프로세싱 장치를 포함할 수 있다. 메모리(512)는 프로세서(510)에 의해 요구되는 데이터의 임시 저장을 위한 DRAM 또는 다른 적절한 휘발성 RAM을 포함한다. RF 시스템(514)은 셀룰러 트랜시버 및/또는 위성 트랜시버를 포함할 수 있다. 장기 저장 장치(518)는 하나 이상의 고용량 솔리드 스테이트 드라이브(SSD)를 포함할 수 있다. 일반적으로, 장기 저장 장치(518)는 예를 들어 고화질 지도, 라우팅 데이터, 및 영구적 또는 반영구적 저장을 필요로 하는 임의의 다른 데이터를 저장하는 데 사용될 수 있다. GPU(516)는 자율주행차 서브시스템(502A)으로부터 수신된 데이터를 처리하기 위한 하나 이상의 고처리량 GPU 장치를 포함할 수 있다. 마지막으로, 인터페이스(520)는 자율주행차 내에 위치된 다양한 디스플레이 유닛(예를 들어, 인-대시 스크린)을 포함할 수 있다.
시스템은 이전 도면에 예시된 방법에 의해 요구되는 모든 원격 제어 동작을 수행하는 원격 제어 서브시스템(504)을 추가로 포함한다. 원격 제어 서브시스템(504)은 버스(508)에 연결되고 버스(508)에서 전송된 블록체인 데이터를 처리 및 저장하는 블록체인 저장 장치(504a)를 포함한다.
원격 제어 서브시스템(504)은 추가로 키 생성기(504B)를 포함한다. 일 실시예에서, 키 생성기(504B)는 ROM 기반 구성요소 및 소프트웨어 기반 구성요소로 구성되어 키(DICE-RIoT 기반 시스템의 다중 레벨에 대한 키 포함)를 생성한다.
원격 제어 서브시스템(504)은 메시지 프로세서(504C)를 추가로 포함한다. 일 실시예에서, 메시지 프로세서(504C)는 메시지를 하나 이상의 자율주행차에 브로드캐스트, 싱글캐스트 또는 멀티캐스트하도록 구성된다.
각 장치는 버스(508)를 통해 연결된다. 일 실시예에서, 버스(508)는 CAN(controller area network) 버스를 포함할 수 있다. 일부 실시예에서, 다른 버스 유형이 사용될 수 있다(예를 들어, FlexRay 또는 MOST 버스). 또한, 각 서브시스템은 내부 서브시스템 통신을 처리하기 위한 하나 이상의 추가 버스를 포함할 수 있다(예: 저대역폭 통신을 위한 LIN 버스).
그러나, 위에 개시된 주제는 다양한 상이한 형태로 구현될 수 있고, 따라서 커버되거나 청구된 주제는 여기에 설명된 임의의 예시적인 실시예에 제한되지 않는 것으로 해석되도록 의도된다; 예시적인 실시예는 단지 예시를 위해 제공된다. 마찬가지로, 청구되거나 적용되는 주제에 대한 합리적으로 넓은 범위가 의도된다. 무엇보다도, 예를 들어 주제는 방법, 장치, 구성 요소 또는 시스템으로 구현될 수 있다. 따라서, 실시예는 예를 들어 하드웨어, 소프트웨어, 펌웨어 또는 이들의 임의의 조합(소프트웨어 자체는 제외)의 형태를 취할 수 있다. 따라서, 다음의 상세한 설명은 제한적인 의미로 받아들여지도록 의도되지 않는다.
명세서 및 청구범위 전체에 걸쳐, 용어는 명시적으로 언급된 의미를 넘어 문맥에서 제안되거나 암시된 미묘한 의미를 가질 수 있다. 마찬가지로, 본 명세서에서 사용된 "일 실시예에서"라는 문구는 반드시 동일한 실시예를 지칭하는 것은 아니며, 본 명세서에서 사용되는 "다른 실시예에서"라는 문구가 반드시 다른 실시예를 지칭하는 것은 아니다. 예를 들어, 청구된 주제는 전체 또는 부분적으로 예시적인 실시예의 조합을 포함하도록 의도된다.
일반적으로, 용어는 문맥에서의 사용으로부터 적어도 부분적으로 이해될 수 있다. 예를 들어, 본 명세서에 사용된 "및", "또는", 또는 "및/또는"과 같은 용어는 이러한 용어가 사용되는 문맥에 적어도 부분적으로 의존할 수 있는 다양한 의미를 포함할 수 있다. 일반적으로 "또는"은 A, B 또는 C와 같은 목록을 연결하는 데 사용되며 여기에서 포괄적인 의미로 사용되는 A, B 및 C와 배타적인 의미로 여기에 사용된 A, B 또는 C를 의미한다. 또한, 본 명세서에 사용된 용어 "하나 이상"은 문맥에 따라 적어도 부분적으로 단수 의미로 임의의 특징, 구조 또는 특성을 설명하는 데 사용될 수 있거나, 복수 의미의 특징, 구조 또는 특성의 조합을 설명하는 데 사용될 수 있다. 유사하게, 다시 "a", "an" 또는 "the"와 같은 용어는 문맥에 따라 적어도 부분적으로 단수 용법을 전달하거나 복수 용법을 전달하는 것으로 이해될 수 있다. 또한, "~에 기초한"이라는 용어는 배타적 요인 세트를 전달하도록 반드시 의도되지 않은 것으로 이해될 수 있으며, 대신에 적어도 부분적으로 문맥에 따라 반드시 명시적으로 설명되지 않은 추가 요인의 존재를 허용할 수 있다.
본 개시는 방법 및 장치의 블록도 및 동작 예시를 참조하여 설명된다. 블록도 또는 동작 예시의 각 블록, 및 블록도 또는 동작 예시의 블록 조합은 아날로그 또는 디지털 하드웨어 및 컴퓨터 프로그램 명령에 의해 구현될 수 있음을 이해해야 한다. 이러한 컴퓨터 프로그램 명령은 범용 컴퓨터, 특수 목적 컴퓨터, ASIC 또는 기타 프로그램 가능한 데이터 처리 장치에 설명된 기능을 변경하기 위해 프로세서에 제공될 수 있다. 컴퓨터 또는 기타 프로그램 가능한 데이터 처리 장치는 블록 다이어그램 또는 작동 블록 또는 블록에 지정된 기능/행위를 구현한다. 일부 대안적인 구현에서, 블록에 언급된 기능/동작은 작동 예시에 언급된 순서와 다르게 발생할 수 있다. 예를 들어, 연속적으로 표시된 두 개의 블록은 실제로 실질적으로 동시에 실행될 수 있거나 관련된 기능/동작에 따라 블록이 때때로 역순으로 실행될 수 있다.
이러한 컴퓨터 프로그램 명령은 특수 목적으로 기능을 변경하기 위한 범용 컴퓨터; 특수 목적 컴퓨터; ASIC; 또는 기타 프로그램 가능한 디지털 데이터 처리 장치의 프로세서에 제공되어, 컴퓨터 또는 다른 프로그램 가능한 데이터 처리 장치의 프로세서를 통해 실행되는 명령어가 블록 다이어그램 또는 작동 블록 또는 블록들에 지정된 기능/동작을 구현하여 여기서의 실시예에 따라 그 기능을 변환하도록 할 수 있다.
본 개시내용의 목적을 위해, 컴퓨터 판독가능 매체(또는 컴퓨터 판독가능 저장 매체(들))는 컴퓨터 데이터를 저장하고, 이 데이터는 기계 판독가능한 형태로, 컴퓨터에 의해 실행가능한 컴퓨터 프로그램 코드(또는 컴퓨터 실행가능 명령어)를 포함할 수 있다. 제한이 아닌 예로서, 컴퓨터 판독 가능 매체는 데이터의 유형적 또는 고정적 저장을 위한 컴퓨터 판독 가능 저장 매체, 또는 코드 포함 신호의 일시적인 해석을 위한 통신 매체를 포함할 수 있다. 본 명세서에서 사용되는 컴퓨터 판독 가능 저장 매체는 물리적 또는 유형적 저장(신호와 반대)을 말하며, 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 유형적 저장을 위한 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성, 이동식 및 비이동식 매체를 제한 없이 포함한다. 컴퓨터 판독 가능 저장 매체에는 RAM, ROM, EPROM, EEPROM, 플래시 메모리 또는 기타 솔리드 스테이트 메모리 기술, CD-ROM, DVD 또는 기타 광학 저장 장치, 자기 카세트, 자기 테이프, 자기 디스크 저장 장치 또는 기타 자기 저장 장치, 또는 원하는 정보, 데이터 또는 명령을 유형적으로 저장하는 데 사용할 수 있고 컴퓨터 또는 프로세서에 의해 액세스할 수 있는 기타 물리적 또는 물질적 매체가 포함되지만 이에 국한되지는 않는다.
본 개시의 목적을 위해, 모듈은 여기에 설명된 프로세스, 특징 및/또는 기능을 수행하거나 용이하게 하는 소프트웨어, 하드웨어 또는 펌웨어(또는 이들의 조합) 시스템, 프로세스 또는 기능, 또는 이들의 구성요소이다(인간 상호 작용 또는 증강의 유무에 관계없이). 모듈은 서브모듈을 포함할 수 있다. 모듈의 소프트웨어 구성 요소는 프로세서에 의한 실행을 위해 컴퓨터 판독 가능 매체에 저장될 수 있다. 모듈은 하나 이상의 서버에 통합되거나 하나 이상의 서버에서 로드 및 실행될 수 있다. 하나 이상의 모듈을 엔진 또는 애플리케이션으로 그룹화할 수 있다.
당업자는 본 개시내용의 방법 및 시스템이 많은 방식으로 구현될 수 있고 그 자체가 전술한 예시적인 실시예 및 예에 의해 제한되지 않는다는 것을 인식할 것이다. 다시 말해서, 하드웨어 및 소프트웨어 또는 펌웨어의 다양한 조합 및 개별 기능에서 단일 또는 다중 구성 요소에 의해 수행되는 기능 요소는 클라이언트 수준 또는 서버 수준 또는 둘 다에서 소프트웨어 애플리케이션 사이에 분산될 수 있다. 이와 관련하여, 여기에 설명된 상이한 실시예의 임의의 수의 특징은 단일 또는 다수의 실시예로 결합될 수 있고, 여기에 설명된 모든 특징보다 적거나 많은 대안적인 실시예가 가능하다.
기능은 또한 현재 알려져 있거나 알려질 방식으로 전체 또는 부분적으로 다수의 구성요소에 분산될 수 있다. 따라서, 여기에 설명된 기능, 특징, 인터페이스 및 선호도를 달성하는 데 무수한 소프트웨어/하드웨어/펌웨어 조합이 가능하다. 더욱이, 본 개시내용의 범위는 설명된 특징 및 기능 및 인터페이스를 수행하기 위한 통상적으로 공지된 방식, 뿐만 아니라 현재 및 이후의 해당 기술 분야의 숙련자에 의해 이해되는 바와 같이 본 명세서에 설명된 하드웨어 또는 소프트웨어 또는 펌웨어 구성요소에 대해 이루어질 수 있는 변형 및 수정을 포함한다. .
또한, 본 개시물에서 흐름도로서 제시되고 설명된 방법의 실시예는 기술의 보다 완전한 이해를 제공하기 위해 예로서 제공된다. 개시된 방법은 여기에 제시된 동작 및 논리적 흐름에 제한되지 않는다. 다양한 동작의 순서가 변경되고 더 큰 동작의 일부인 것으로 설명된 하위 동작이 독립적으로 수행되는 대안적인 실시예가 고려된다.
본 개시의 목적을 위해 다양한 실시예가 설명되었지만, 이러한 실시예는 본 개시의 교시를 이러한 실시예로 제한하는 것으로 간주되어서는 안 된다. 본 개시에서 설명된 시스템 및 프로세스의 범위 내에 남아 있는 결과를 얻기 위해 위에서 설명된 요소 및 동작에 대해 다양한 변경 및 수정이 이루어질 수 있다.
Claims (20)
- 제 1 자율주행차로부터 메시지를 수신하는 단계 - 상기 메시지는 서명된 본문부와 트리플을 포함하고, 상기 트리플은 상기 제 1 자율주행차의 공개 식별자, 상기 제 1 자율주행차의 공개 키, 및 상기 제 1 자율주행차의 인증서로 구성되는 그룹으로부터 선택된 구성요소들을 포함함;
상기 제 1 자율주행차의 인증서를 검증함으로써 상기 메시지를 인증하는 단계;
복수의 블록을 저장하는 블록체인 저장 구조에 메시지를 기록하는 단계 - 각각의 블록은 서명된 본문부를 포함함; 및
서명된 본문부에 포함된 하나 이상의 주문을 실행하는 단계를 포함하는, 방법. - 제 1항에 있어서, 상기 구성요소들은 DICE-RIoT 코어 계층을 이용하여 생성되는, 방법.
- 제 1항에 있어서, 상기 서명된 본문부는 상기 제 1 자율주행차의 공개 키에 대응하는 개인 키를 사용하여 서명되는, 방법.
- 제 1항에 있어서, 상기 서명된 본문부는 제 2 자율주행차를 원격으로 제어하기 위한 주문을 포함하는, 방법.
- 제 1항에 있어서, 상기 서명된 본문부는 제 2 자율주행차를 원격으로 제어하기 위한 주문에 대한 응답을 포함하는, 방법.
- 제 1항에 있어서, 상기 서명된 본문부가 신선도 표시자를 포함하는, 방법.
- 제 1항에 있어서, 상기 메시지를 인증하는 단계는 상기 트리플을 이중으로 해역하고 그 결과를 상기 공개 식별자와 비교하는 단계를 포함하는, 방법.
- 제 1항에 있어서, 상기 메시지를 인증하는 단계는 상기 트리플을 이용하여 원격 데이터베이스에 질의함으로써 상기 제 1 자율주행차의 신원을 확인하는 단계를 더 포함하는, 방법.
- 컴퓨터 프로세서에 의해 실행될 수 있는 컴퓨터 프로그램 명령어를 유형적으로 저장하기 위한 비일시적 컴퓨터 판독 가능 저장 매체로서, 상기 컴퓨터 프로그램 명령어는:
제 1 자율주행차로부터 메시지를 수신하는 단계 - 상기 메시지는 서명된 본문부와 트리플을 포함하고, 상기 트리플은 상기 제 1 자율주행차의 공개 식별자, 상기 제 1 자율주행차의 공개 키, 및 상기 제 1 자율주행차의 인증서로 구성되는 그룹으로부터 선택된 구성요소들을 포함함;
상기 제 1 자율주행차의 인증서를 검증함으로써 상기 메시지를 인증하는 단계;
복수의 블록을 저장하는 블록체인 저장 구조에 메시지를 기록하는 단계 - 각각의 블록은 서명된 본문부를 포함함; 및
서명된 본문부에 포함된 하나 이상의 주문을 실행하는 단계를 규정하는, 비일시적 컴퓨터 판독 가능 저장 매체. - 제9항에 있어서, 상기 구성요소들은 DICE-RIoT 코어 계층을 사용하여 생성되는, 비일시적 컴퓨터 판독 가능 저장 매체.
- 제9항에 있어서, 상기 서명된 본문부는 제 2 자율주행차를 원격으로 제어하기 위한 주문을 포함하는, 비일시적 컴퓨터 판독 가능 저장 매체.
- 제9항에 있어서, 상기 서명된 본문부는 제 2 자율주행차를 원격으로 제어하기 위한 주문에 대한 응답을 포함하는, 비일시적 컴퓨터 판독 가능 저장 매체.
- 제9항에 있어서, 상기 메시지를 인증하는 단계는 트리플을 이중으로 해역하고 그 결과를 공개 식별자와 비교하는 단계를 포함하는, 비일시적 컴퓨터 판독 가능 저장 매체.
- 제9항에 있어서, 상기 메시지를 인증하는 단계는 트리플을 사용하여 원격 데이터베이스에 질의함으로써 상기 제 1 자율주행차의 신원을 확인하는 단계를 더 포함하는, 비일시적 컴퓨터 판독 가능 저장 매체.
- 프로세서; 및
상기 프로세서에 의한 실행을 위한 프로그램 로직을 유형적으로 저장하기 위한 저장 매체를 포함하는 장치에 있어서, 상기 저장된 프로그램 로직은:
제 1 자율주행차로부터 메시지를 수신하는 단계 - 상기 메시지는 서명된 본문부와 트리플을 포함하고, 상기 트리플은 상기 제 1 자율주행차의 공개 식별자, 상기 제 1 자율주행차의 공개 키, 및 상기 제 1 자율주행차의 인증서로 구성되는 그룹으로부터 선택된 구성요소들을 포함함;
상기 제 1 자율주행차의 인증서를 검증함으로써 상기 메시지를 인증하는 단계;
복수의 블록을 저장하는 블록체인 저장 구조에 메시지를 기록하는 단계 - 각각의 블록은 서명된 본문부를 포함함; 및
서명된 본문부에 포함된 하나 이상의 주문을 실행하는 단계를 수행하는 로직을 포함하는, 장치. - 제 15항에 있어서, 상기 구성요소들은 DICE-RIoT 코어 계층을 사용하여 생성되는, 장치.
- 제 15항에 있어서, 상기 서명된 본문부는 제 2 자율주행차를 원격으로 제어하기 위한 주문을 포함하는, 장치.
- 제 15항에 있어서, 상기 서명된 본문부는 제 2 자율주행차를 원격으로 제어하기 위한 명령에 대한 응답을 포함하는, 장치.
- 제 15항에 있어서, 상기 메시지를 인증하는 단계는 트리플을 이중으로 해역하고 그 결과를 공개 식별자와 비교하는 단계를 포함하는, 장치.
- 제 15항에 있어서, 상기 메시지를 인증하는 단계는 상기 트리플을 사용하여 원격 데이터베이스에 질의함으로써 상기 제 1 자율주행차의 신원을 확인하는 단계를 더 포함하는, 장치.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/363,047 | 2019-03-25 | ||
US16/363,047 US11456880B2 (en) | 2019-03-25 | 2019-03-25 | Cryptographically secure mechanism for remotely controlling an autonomous vehicle |
PCT/US2020/021117 WO2020197730A1 (en) | 2019-03-25 | 2020-03-05 | Cryptographically secure mechanism for remotely controlling an autonomous vehicle |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20210129742A true KR20210129742A (ko) | 2021-10-28 |
Family
ID=72605211
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020217033549A KR20210129742A (ko) | 2019-03-25 | 2020-03-05 | 자율주행차 원격 제어용 암호적 안전 메커니즘 |
Country Status (7)
Country | Link |
---|---|
US (2) | US11456880B2 (ko) |
EP (1) | EP3949266A4 (ko) |
JP (1) | JP2022528360A (ko) |
KR (1) | KR20210129742A (ko) |
CN (1) | CN113711535A (ko) |
SG (1) | SG11202109979RA (ko) |
WO (1) | WO2020197730A1 (ko) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11361660B2 (en) * | 2019-03-25 | 2022-06-14 | Micron Technology, Inc. | Verifying identity of an emergency vehicle during operation |
US11233650B2 (en) | 2019-03-25 | 2022-01-25 | Micron Technology, Inc. | Verifying identity of a vehicle entering a trust zone |
US11456880B2 (en) * | 2019-03-25 | 2022-09-27 | Micron Technology, Inc. | Cryptographically secure mechanism for remotely controlling an autonomous vehicle |
US11386228B2 (en) * | 2019-06-04 | 2022-07-12 | GM Global Technology Operations LLC | Real-time session-based anonymization and blurring of high-resolution GPS data |
US11792014B2 (en) * | 2020-03-16 | 2023-10-17 | Uatc, Llc | Systems and methods for vehicle message signing |
CN112929179B (zh) * | 2021-01-22 | 2022-03-04 | 西安电子科技大学 | 基于区块链的车联网设备身份认证及密钥协商方法 |
US11770701B2 (en) * | 2021-02-05 | 2023-09-26 | Argo AI, LLC | Secure communications with autonomous vehicles |
DE102021208459B4 (de) | 2021-08-04 | 2023-05-25 | Volkswagen Aktiengesellschaft | Verfahren zur authentischen Datenübertragung zwischen Steuergeräten eines Fahrzeugs, Anordnung mit Steuergeräten, Computerprogramm und Fahrzeug |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8090949B2 (en) * | 2008-03-13 | 2012-01-03 | GM Global Technology Operations LLC | Certificate assignment strategies for efficient operation of the PKI-based security architecture in a vehicular network |
US9769658B2 (en) * | 2013-06-23 | 2017-09-19 | Shlomi Dolev | Certificating vehicle public key with vehicle attributes |
CA2958269C (en) * | 2014-08-19 | 2017-07-04 | Aeryon Labs Inc. | Secure system for emergency-mode operation, system monitoring and trusted access vehicle location and recovery |
CA2969155C (en) | 2014-12-15 | 2023-10-17 | Polaris Industries Inc. | Autonomous ready vehicle |
US10158480B1 (en) * | 2015-03-16 | 2018-12-18 | Winklevoss Ip, Llc | Autonomous devices |
US9930027B2 (en) * | 2015-03-27 | 2018-03-27 | Amazon Technologies, Inc. | Authenticated messages between unmanned vehicles |
US9832024B2 (en) * | 2015-11-13 | 2017-11-28 | Visa International Service Association | Methods and systems for PKI-based authentication |
KR101678795B1 (ko) * | 2015-11-30 | 2016-11-22 | 전삼구 | 블록체인 인증을 이용하는 IoT 기반 사물 관리 시스템 및 방법 |
JP6648555B2 (ja) * | 2016-02-29 | 2020-02-14 | 富士ゼロックス株式会社 | 情報処理装置及びプログラム |
KR101829304B1 (ko) * | 2016-05-26 | 2018-03-30 | 고려대학교 산학협력단 | 차량 클라우드에서의 통신 보안 기법 |
KR101869340B1 (ko) | 2016-08-24 | 2018-06-21 | 국방과학연구소 | 자율주행 차량을 제어하기 위한 원격제어장치 및 원격제어방법 |
US10284654B2 (en) * | 2016-09-27 | 2019-05-07 | Intel Corporation | Trusted vehicle telematics using blockchain data analytics |
US10491405B2 (en) * | 2016-10-04 | 2019-11-26 | Denso International America, Inc. | Cryptographic security verification of incoming messages |
US10356088B1 (en) * | 2017-01-25 | 2019-07-16 | Salesforce.Com, Inc. | User authentication based on multiple asymmetric cryptography key pairs |
JP6804629B2 (ja) * | 2017-03-09 | 2020-12-23 | 三菱電機株式会社 | 走行支援装置及び走行支援方法 |
WO2018208777A1 (en) * | 2017-05-08 | 2018-11-15 | Bae Systems Information And Electronic Systems Integration Inc. | System and method for cryptographic verification of vehicle authenticity |
JP2020532215A (ja) * | 2017-08-24 | 2020-11-05 | ティー−セントラル,インコーポレイティド | 車両用のIoTデバイスの安全な通信 |
US10169587B1 (en) * | 2018-04-27 | 2019-01-01 | John A. Nix | Hosted device provisioning protocol with servers and a networked initiator |
US11700132B2 (en) * | 2018-05-02 | 2023-07-11 | Cable Television Laboratories, Inc. | Systems and methods for secure event and log management |
CN109040043A (zh) * | 2018-07-25 | 2018-12-18 | 三星电子(中国)研发中心 | 一种基于区块链的物联网构建方法和装置 |
US10637644B1 (en) * | 2018-12-21 | 2020-04-28 | Capital One Services, Llc | System and method for authorizing transactions in an authorized member network |
US11456880B2 (en) * | 2019-03-25 | 2022-09-27 | Micron Technology, Inc. | Cryptographically secure mechanism for remotely controlling an autonomous vehicle |
US11444846B2 (en) * | 2019-03-29 | 2022-09-13 | Intel Corporation | Technologies for accelerated orchestration and attestation with edge device trust chains |
-
2019
- 2019-03-25 US US16/363,047 patent/US11456880B2/en active Active
-
2020
- 2020-03-05 EP EP20779086.6A patent/EP3949266A4/en not_active Withdrawn
- 2020-03-05 JP JP2021557296A patent/JP2022528360A/ja active Pending
- 2020-03-05 KR KR1020217033549A patent/KR20210129742A/ko not_active Application Discontinuation
- 2020-03-05 WO PCT/US2020/021117 patent/WO2020197730A1/en unknown
- 2020-03-05 CN CN202080029712.XA patent/CN113711535A/zh active Pending
- 2020-03-05 SG SG11202109979R patent/SG11202109979RA/en unknown
-
2022
- 2022-09-23 US US17/952,105 patent/US20230035187A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
EP3949266A4 (en) | 2022-12-21 |
SG11202109979RA (en) | 2021-10-28 |
US20230035187A1 (en) | 2023-02-02 |
US20200313908A1 (en) | 2020-10-01 |
CN113711535A (zh) | 2021-11-26 |
US11456880B2 (en) | 2022-09-27 |
EP3949266A1 (en) | 2022-02-09 |
WO2020197730A1 (en) | 2020-10-01 |
JP2022528360A (ja) | 2022-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20210129742A (ko) | 자율주행차 원격 제어용 암호적 안전 메커니즘 | |
US11093643B2 (en) | Method and system for accessing anonymized data | |
US8526606B2 (en) | On-demand secure key generation in a vehicle-to-vehicle communication network | |
US11263329B2 (en) | Method, computer-readable medium, system and vehicle comprising the system for providing a data record of a vehicle to a third party | |
US20190097805A1 (en) | Security device for providing security function for image, camera device including the same, and system on chip for controlling the camera device | |
CN110336673B (zh) | 一种基于隐私保护的区块链设计方法 | |
CN105049877A (zh) | 一种用于直录播互动***的加密方法及装置 | |
CN106973046B (zh) | 网关间数据传输方法、源网关及目的网关 | |
US11917081B2 (en) | Issuing device and method for issuing and requesting device and method for requesting a digital certificate | |
Labrado et al. | Hardware security primitives for vehicles | |
US20200145220A1 (en) | Verification system, verification method and non-transitory computer readable storage medium | |
TW202044860A (zh) | 使用點對點網路及系統之車輛事故管理 | |
Zhao et al. | Challenges and opportunities for securing intelligent transportation system | |
CN111355581B (zh) | 区块链门禁控制方法、设备和存储介质 | |
Tsaur et al. | DANS: A Secure and Efficient Driver-Abnormal Notification Scheme with I oT Devices Over I o V | |
CN117439740A (zh) | 一种车内网络身份认证与密钥协商方法、***及终端 | |
CN114389812B (zh) | 一种基于puf的车联网轻量级隐私保护批量认证方法 | |
US10079680B2 (en) | Selective revocation of certificates | |
US20230239154A1 (en) | Secure communication of user device data | |
US10263976B2 (en) | Method for excluding a participant from a group having authorized communication | |
CN114979140A (zh) | 基于边缘计算的无人机城市交通管理交互方法、平台及计算机可读介质 | |
KR20150109202A (ko) | 차량용 통신 데이터 인증 방법 및 시스템 | |
CN117597688A (zh) | 一种密钥验证方法及相关装置 | |
Sontowski et al. | Towards Secure Communication for High-Density Longitudinal Platooning | |
KR101868227B1 (ko) | 차량용 모듈의 정품 인증 방법 및 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal |