KR102310252B1 - 자동차 운전자 보조 시스템에 관련된 방법 - Google Patents

자동차 운전자 보조 시스템에 관련된 방법 Download PDF

Info

Publication number
KR102310252B1
KR102310252B1 KR1020207003742A KR20207003742A KR102310252B1 KR 102310252 B1 KR102310252 B1 KR 102310252B1 KR 1020207003742 A KR1020207003742 A KR 1020207003742A KR 20207003742 A KR20207003742 A KR 20207003742A KR 102310252 B1 KR102310252 B1 KR 102310252B1
Authority
KR
South Korea
Prior art keywords
blockchain
driver assistance
assistance system
instructions
block
Prior art date
Application number
KR1020207003742A
Other languages
English (en)
Other versions
KR20200020003A (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 KR20200020003A publication Critical patent/KR20200020003A/ko
Application granted granted Critical
Publication of KR102310252B1 publication Critical patent/KR102310252B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/001Planning or execution of driving tasks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic 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
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0062Adapting control system settings
    • B60W2050/0075Automatic parameter input, automatic initialising or calibrating means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0062Adapting control system settings
    • B60W2050/0075Automatic parameter input, automatic initialising or calibrating means
    • B60W2050/0095Automatic control mode change
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2556/00Input parameters relating to data
    • B60W2556/45External transmission of data to or from the vehicle
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2756/00Output or target parameters relating to data
    • B60W2756/10Involving external transmission of data to or from the vehicle
    • H04L2209/38
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/84Vehicles

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Bioethics (AREA)
  • Medical Informatics (AREA)
  • Automation & Control Theory (AREA)
  • Human Computer Interaction (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • Traffic Control Systems (AREA)
  • Stored Programmes (AREA)

Abstract

자동차의 운전자 보조 시스템에 대한 동작 명령어들을 보안하는 방법이 개시된다. 본 방법은, a) 복수의 블록들을 포함하는 분산된 블록체인을 구현하는 단계 - 블록체인의 사본은 복수의 노드들 각각에 저장되고, 각각의 블록은 동작 명령어들의 상이한 버전을 포함함 -; b) 블록체인의 사본들이 동일함을 체크하는 것을 포함하는 검증 루틴을 수행하고, 블록체인의 결함 사본이 동일하지 않은 경우, 결함 사본을 안전하지 않은 것으로서 플래깅하고, 결함 사본의 사용을 방지하여, 이에 따라 결함 사본의 블록들에 포함된 동작 명령어들의 설치를 방지하는 단계를 포함한다.

Description

자동차 운전자 보조 시스템에 관련된 방법
본 발명은 운전자 보조 시스템의 동작을 보안하는(securing) 방법에 관한 것이고, 더 구체적으로는 변화들로부터, 운전자 보조 시스템의 동작 명령어들을 보안하는 방법 및 그 추적능력에 관한 것이다.
사고들을 방지하고 운전 법규들을 준수하기 위해, 차량을 운전하는 것은, 종종 장기간 동안 운전자로부터의 집중을 요구한다. 운전자로부터 집중의 상실은 증가된 사고 위험 및/또는 법 위반을 초래한다. 점점 더, 보조 기능을 수행할 수 있는 운전자 보조 시스템들이 운전자의 차량(이하, "자 차량(ego vehicle)" 으로 지칭됨)에 맞춰진다. 예를 들어, 보조 기능은 운전자에게서 그의/그녀의 운전 부담들 중 일부를 덜어주는 것을 포함할 수 있거나, 또는 에러들이 예측 및/또는 회피될 수 있도록 운전자의 행동을 모니터링하는 것을 포함할 수 있다.
대안으로, 보조 기능은 운전자에게 통상적으로 이용가능하지 않은 일부 추가 기능을 도입할 수 있다. 그러한 추가 기능은, 운전자가 운전 태스크(task)를 더 용이하게 또는 안전하게 수행할 수 있도록, 운전자가 통상적으로 갖는 것보다 더 많은 정보를 운전자가 갖게 할 수 있다. 예를 들어, 후진하고 있을 때 운전자에게 비디오 피드(video feed)를 제공할 수 있는 후방 카메라는 그러한 추가 기능의 예를 구성한다. 이러한 예에서, 비디오 피드는 운전자가 더 용이하고 안전하게 후진 주차를 하게 하지만, 실제로는 반드시 운전자의 행동을 모니터링하거나 또는 운전자를 대신해서 태스크를 직접 수행하는 것은 아니다.
따라서, 운전자 보조 시스템들은 자 차량의 운전자, 그의/그녀의 승객들, 및 다른 도로 사용자들에 대한 위험을 완화시킨다. 궁극적으로, 운전자 보조 기능들은 그들이 자 차량을 운전하는 대부분의 또는 모든 양태들을 제어할 수 있는 정도로 개발될 것이다. 이러한 경우에, 운전자 보조 시스템은 자율 주행 시스템일 것이다.
운전자 보조 시스템들은 능동 디바이스들을 포함할 수 있으며, 이는 예를 들어, 자 차량의 속력을 변경함으로써, 자 차량의 동작에 능동적으로 개입할 수 있다. 운전자 보조 시스템들은 대안으로 또는 추가적으로 수동 디바이스들을 포함할 수 있으며, 이는 예를 들어, 특정한 운전 상황을 운전자에게 통지하여 사용자가 통지에 반응할 수 있게 한다. 예를 들어, 운전자 보조 시스템은, 자 차량이 예상외로 도로 표시를 가로질러 벗어날 때 가청 신호를 만들 수 있다. 주어진 자 차량은 수동 및 능동 시스템들 양자 모두를 포함할 수 있다.
대체적으로, 운전자 보조 시스템은 적어도 하나의 센서를 포함할 수 있다. 특정 센서는 자 차량 및/또는 그 주변을 설명하는 파라미터들을 측정한다. 다수의 센서들로부터의 데이터가 조합될 수 있다. 그러한 센서 또는 센서들로부터의 데이터는 센서 측정치들에 기초하여 결론들을 도출하기 위해 처리된다. 운전자 보조 시스템은 결론들의 결과에 기초하여, 자 차량과의, 또는 운전자와의 상호작용을 트리거할 수 있다. 자율 주행 시스템의 경우에서, 실질적으로 모든 운전 기능들이 시스템에 의해 제어된다.
운전자 보조 시스템들 및 자율 주행 시스템들에서 사용되는 잠재적 센서들의 예들은 RADAR 시스템들, LIDAR 시스템들, 카메라들 또는 카메라, 차량간 통신들(또는 차량-대-차량 통신들), 및 차량-대-인프라구조 통신들을 포함한다.
운전자 보조 시스템은 주행 안전 또는 운전자 모니터링의 여러 상이한 양태들을 제어하는 데 사용될 수 있다. 예를 들어, ACC("Adaptive Cruise Control")는 도로 상에서 자 차량과 바로 앞에 있는 차량 사이의 거리를 모니터링하도록 RADAR 또는 LIDAR 시스템을 사용할 수 있다. 그러한 센서는 앞쪽 차량까지의 거리를 결정할 수 있다. 운전자 보조 시스템은 또한, 자 차량의 속도를 알고, 제어할 수 있다. 운전자 보조 시스템은 앞쪽 차량에 대해 미리정의된 안전 상태를 유지하기 위해 자 차량의 속력을 제어할 수 있다. 예를 들어, 운전자 보조 시스템은 자 차량과 앞쪽 차량 사이의 소정 거리를 유지하도록 속력을 제어할 수 있다. 대안으로, 운전자 보조 시스템은 일정 지점을 통과하는 앞쪽 차량과 동일한 지점을 통과하는 자 차량 사이의 미리결정된 기간을 유지하도록 속력을 제어할 수 있다.
자 차량이 주행하고 있는 도로 상의 또는 그 주변의 다른 차량들 및 엔티티(entity)들의 위치를 식별하기 위해 자 차량의 주위를 모니터링하는 기존의 운전 보조 시스템들이 존재한다. 주위를 모니터링함으로써, 그러한 운전자 보조 시스템은 자 차량에 대한 상황 인식을 유지할 수 있다. 이러한 상황 인식은 사용자에게 잠재적 위험들을 통지하는 데 사용될 수 있다. 예를 들어, 제2 차량이 사각 지대에 있을 때 자 차량이 차선을 변경하는 것, 또는 자 차량의 경로로 제2 차량이 끼어드는 것을 검출하는 것이 운전자에게 통지될 수 있다. 상황 인식은 또한, 예를 들어, ACC 시스템에 대한 입력으로서 사용될 수 있다.
대체적으로, 운전자 보조 시스템의 동작은 운전자 보조 시스템의 일부를 형성하는 동작 명령어들의 적어도 하나의 세트에 의해 지시를 받는다. 동작 명령어들은, 예를 들어, 기계 코드, 소프트웨어, 컴파일된 실행파일들, 라이브러리들, 펌웨어, 및 당업자가 이해하는 다른 예들을 포함할 수 있다.
특정 운전자 보조 시스템의 동작 명령어들은 업데이트될 수 있다. 업데이트들은 패치들을 적용하는 것, 기능을 추가하는 것, 및 간단히 제1 시간 동안 동작 명령어들을 설치하는 것을 포함할 수 있다. 동작 명령어들을 업데이트하는 것은 동작 명령어를 운전자 보조 시스템(또는 그의 일부) 상으로 "플래싱(flashing)"하는 것에 대응할 수 있다. 운전자 보조 시스템의 동작 명령어들에 대한 업데이트들은 안전하고 신뢰할 만한 방식으로 추적가능하다는 것이 중요하다. 본 문헌의 나머지 부분에서, 동작 명령어들은 대체적으로 ECU(electronic control unit)의 동작을 지시하는 것들인 것으로서 설명된다. 그러나, 동작 명령어들은 운전자 보조 시스템의 다른 요소들, 예를 들어 센서의 동작을 지시할 수 있다는 것이 이해될 것이다.
자율 주행 시스템은 대체적으로 더 포괄적인 운전자 보조 시스템에 대응할 수 있다는 것이 이해될 것이다. 따라서, 하기의 논의가 운전자 보조 시스템들에 초점을 맞추지만, 본 발명의 의도는 또한, 자율 주행 시스템에 용이하게 적용가능하다는 것이다.
운전자 보조 시스템이 다양한 안전-임계 기능들(차량의 운전자와 다른 것들 양자 모두의 안전)을 수행할 수 있기 때문에, 운전자 보조 시스템과 그 동작의 임의의 무허가 간섭이 검출되고, 필요한 경우 조치를 취하는 것이 중요하다.
운전자 보조 시스템의 동작이 동작 명령어들에 의해 지시를 받기 때문에, 운전자 보조 시스템의 보안의 중요한 요소 및 그 안전하고 신뢰할 만한 동작은 동작 명령어들을 보안함으로써 달성된다.
대체적으로, 운전자 보조 시스템은 전자 제어 유닛(ECU)을 포함한다. ECU는 효과적으로, 동작 명령어들에 따라 태스크들을 수행할 수 있는 컴퓨팅 디바이스이다 - 이것은 "운전자 보조 시스템의 브레인"으로서 간주될 수 있다. 동작 명령어들은 대체적으로 ECU 상에 저장되고, 소프트웨어 및 펌웨어 양자 모두를 포함할 수 있다. 소프트웨어는 컴파일된 기계 코드일 수 있거나, 소스 코드일 수 있거나, 또는 적시에(Just In Time, JIT) 컴파일되는 코드일 수 있다. 주요 특성은, 동작 명령어들이 ECU의 동작 및 이에 따라 운전자 보조 시스템의 적어도 일부를 지시한다는 것이다. 단일 자 차량은 내부에 설치된 다수의 ECU들을 가질 수 있다. 대응하여, 단일 운전자 보조 시스템은 동작 명령어들의 다수의 세트들을 사용할 수 있다.
동작 명령어들은, 예를 들어 ECU 의 기능을 증가시키거나 또는 변경하도록 업데이트될 수 있다. 업데이트들은, 예를 들어 네트워크에 대한 무선 접속을 통해, 그리고 궁극적으로는 업데이트의 소스로부터 "무선으로(over the air)" 발생할 수 있다. 업데이트는 운전자 보조 시스템으로 무선으로 전송되고, 그 결과 동작 명령어들이 업데이트된다. 업데이트들은 대안으로, 운전자 보조 시스템에 대한 물리적 접속을 통해 수행될 수 있다. 물리적 접속 업데이트들은, 예를 들어, 자 차량이 서비스되고 있을 때 수행될 수 있다.
임의의 경우에서, 운전자 보조 시스템에 대한 동작 명령어들에 대한 업데이트는 신뢰된 소스로부터 오는 것으로서 검증되고, 동작 명령어들은 함부로 변경되지 않거나, 손상되지 않거나, 우발적으로 변경되지 않는 것이 중요하다. 동작 명령어들이 검증되지 않으면, 동작 명령어들에 대한 바람직하지 않은 변화들이 이루어질 가능성이 있다. 동작 명령어들에 대한 그러한 바람직하지 않은 변화들은 악의적이거나 우발적일 수 있다. 원인에 관계없이, 동작 명령어들에 대한 그러한 변화들은 운전자 보조 시스템의 부정확한, 신뢰할 수 없는, 또는 실패한 동작을 초래할 수 있고, 이는 심각한 안전 위험을 나타낼 수 있다.
동작 명령어들에 대한 악의적인 변화들의 경우에서, 악의적 파티(party)는, 사실 운전자 보조 시스템이 적절하게 작동하지 않고 운전자 보조 시스템의 동작이 안전하지 않거나 제어되지 않을 때, 운전자에게는 운전자 보조 시스템이 적절하게 작동하는 것처럼 보이도록 동작 명령어들을 변경할 수 있다. 따라서, 운전자 보조 시스템들에 대한 악의적 공격들에 대해 지키는 것이 특히 중요하다.
요약하면, 동작 명령어들에 대한 변경들은 허가된 파티에 의해서만 이루어질 수 있다는 것이 중요하다.
상기 논의는 동작 명령어들에 대한 업데이트들에 초점을 맞추지만, 동작 명령어들의 초기 설치를 검증하는 것이 또한 중요하다. 그러한 초기 설치는 운전자 보조 시스템의 제조 시에 발생할 수 있다.
본 발명의 목적은 운전자 보조 시스템의 동작을 보안하는 방법을 제공하는 것으로, 이는 이들 문제들 중 일부 또는 전부를 다루고자 한다.
제1 태양에 따르면, 자동차의 운전자 보조 시스템에 대한 동작 명령어들을 보안하는 방법이 제공되는데, 본 방법은, a) 복수의 블록들을 포함하는 분산된 블록체인을 구현하는 단계 - 블록체인의 사본은 복수의 노드들 각각에 저장되고, 각각의 블록은 동작 명령어들의 상이한 버전을 포함함 -; b) 블록체인의 사본들이 동일함을 체크하는 것을 포함하는 검증 루틴을 수행하고, 블록체인의 결함 사본이 동일하지 않은 경우, 결함 사본을 안전하지 않은 것으로서 플래깅하고, 결함 사본의 사용을 방지하여, 이에 따라 결함 사본의 블록들에 포함된 동작 명령어들의 설치를 방지하는 단계를 포함한다.
바람직하게, 본 방법은 각각의 노드 상의 블록체인의 사본에 새로운 블록을 추가하는 것을 포함하는 버전 추가 루틴을 추가로 포함하고, 새로운 블록은 동작 명령어들의 업데이트된 버전을 포함한다.
편리하게, 운전자 보조 시스템은 안전 전자 제어 유닛("ECU")을 포함하고, 동작 명령어들은 상기 안전 ECU의 동작을 지시한다.
유리하게, 본 방법은, 설치 블록으로부터 동작 명령어들의 설치 버전을 운전자 보조 시스템 상에 설치하는 것을 포함하는 ECU 업데이트 루틴을 추가로 포함하고, 설치 블록은 결함 사본에 포함되지 않는다.
바람직하게, 본 방법은 설치 블록의 전체를 ECU에 복사하는 단계를 추가로 포함한다.
편리하게, 각각의 블록은 동작 명령어들의 각각의 버전을 포함하는 입력 데이터에 대해 계산된 검증된 해시 값을 포함한다.
유리하게, 본 방법은 동작 명령어들의 설치 버전의 검증된 해시 값을 안전 ECU 상의 검증된 해시 저장 수단으로 복사하는 단계를 추가로 포함한다.
바람직하게, 검증된 해시 값은 설치 블록의 설치 블록 메타데이터의 적어도 일부분을 포함하는 입력 데이터에 대해 계산된다.
편리하게, 블록체인은 액세스 제어된다.
유리하게, 블록체인은 암호화된다.
제2 태양에 따르면, 자동차의 운전자 보조 시스템에 대한 동작 명령어들을 추적하는 방법이 제공되는데, 본 방법은, a) 복수의 블록들을 포함하는 분산된 블록체인을 구현하는 단계 - 블록체인의 사본은 복수의 노드들 각각에 저장되고, 각각의 블록은 적어도 하나의 설치 레코드를 포함하고, 각각의 설치 레코드는 적어도 운전자 보조 시스템 고유 식별자 및 동작 명령어들 식별자를 포함함 -; b) 블록체인의 각각의 블록이 블록체인의 사본들에 걸쳐 동일함을 체크하는 것을 포함하는 검증 루틴을 수행하고, 블록체인의 결함 사본이 동일하지 않은 경우, 결함 사본을 안전하지 않은 것으로서 플래깅하고, 결함 사본의 사용을 방지하여, 이에 의해 결함 사본의 블록들에 포함된 설치 레코드들의 사용을 방지하는 단계를 포함한다.
바람직하게, 상기 동작 명령어들 식별자는 상기 설치된 동작 명령어들의 버전 식별자를 포함한다.
편리하게, 운전자 보조 시스템은 안전 전자 제어 유닛("ECU")을 포함하고, 설치된 동작 명령어들은 상기 안전 ECU의 동작을 지시한다.
유리하게, 본 방법은 c) 결함 사본이 아닌 블록체인의 사본이, 설치된 동작 명령어들의 더 최근의 버전이 블록체인의 사본에 이용가능한지 여부를 식별하도록 질의되는 것을 허용하고, 더 최근의 버전이 이용가능한 경우, 운전자 보조 시스템 상에 동작 명령어들의 상기 더 최근의 버전을 설치하는 단계를 추가로 포함한다.
바람직하게, 적어도 하나의 설치 레코드는, 동작 명령어들 식별자에 대응하는 동작 명령어들이 운전자 보조 시스템 고유 식별자에 대응하는 운전자 보조 시스템 상에 설치되었던 설치 시간; 운전자 보조 시스템 고유 식별자에 대응하는 운전자 보조 시스템의 동작의 테스트 결과들 중 적어도 하나를 포함한다.
본 발명이 더 용이하게 이해될 수 있고, 그의 추가 특성들이 이해될 수 있도록, 본 발명의 실시예들이 이제 첨부 도면을 참조하여 예로서 설명될 것이다.
도 1은 운전자 보조 시스템의 일례를 포함하는 자 차량의 개략도를 도시한다.
도 2는 운전자 보조 시스템에 포함된 안전 전자 제어 유닛(ECU)의 개략도를 도시한다.
도 3은 도 2의 안전 ECU를 포함하는 자 차량의 개략도를 도시한다.
도 4는 자 차량이 접속할 수 있는, 복수의 노드들을 갖는, 네트워크의 개략도를 도시한다.
도 5는 네트워크의 하나의 노드의 개략도를 도시한다.
도 6은 차량이 접속할 수 있는 분산된 블록체인의 개략도를 도시한다.
도 7은 차량이 접속해제 노드에 의해 접속할 수 있는 분산된 블록체인의 개략도를 도시한다.
도 8은 본 발명의 제1 태양에 따른, 노드 상의 블록체인의 사본의 개략도를 도시한다.
도 9는 본 발명의 제2 태양에 따른, 노드 상의 블록체인의 사본의 개략도를 도시한다.
이제 도 1을 더 상세히 고려하기 위해, 자 차량(2)에 설치된 예시적인 운전자 보조 시스템(1)의 개략도가 예시된다(차량의 배향을 나타내도록 자 차량의 단지 하나의 측면 패널이 도 1에 표시되어 있다). 운전자 보조 시스템(1)은 자 차량(2) 상의 적합한 위치들에 장착된 다수의 상이한 유형들의 센서를 포함한다. 특히, 예시된 시스템(1)은 차량(2)의 각각의 전방 코너들에 장착된 한 쌍의 분기된 그리고 외향으로 지향된 중거리 레이더(mid-range radar, "MRR") 센서들(3), 차량의 각각의 후방 코너들에 장착된 유사한 한 쌍의 분기된 그리고 외향으로 지향된 다기능 레이더 센서들(4), 차량(2)의 전방에서 중심에 장착된 전방으로 지향된 장거리 레이더(long-range radar, "LRR") 센서(5), 및 예를 들어 차량의 윈드스크린(windscreen)의 상부 에지의 영역에 장착될 수 있는 스테레오 비전 시스템(stereo vision system, "SVS")(7)의 일부를 형성하는 한 쌍의 대체적으로 전방으로 지향된 광학 센서들(6)(카메라들)을 포함한다. 다양한 센서들(3 내지 6)은, 전형적으로 차량 내의 편리한 위치에 장착된 통합형 전자 제어 유닛(ECU)(8)의 형태로 제공되는 중앙 전자 제어 시스템에 동작가능하게 접속된다. 예시된 특정 배열체에서, 전방 및 후방 MRR 센서들(3, 4)은 종래의 제어기 영역 네트워크(Controller Area Network, "CAN") 버스(9)를 통해 ECU(8)에 접속되고, LRR 센서(5) 및 SVS(7)의 센서들은, 그 자체로도 알려진 유형인, 더 빠른 FlexRay 직렬 버스(9)를 통해 ECU(8)에 접속된다.
종합적으로, 그리고 ECU(8)의 제어 하에서, 다양한 센서들(3 내지 6)은, 예를 들어 사각지대 모니터링; 적응형 크루즈 제어; 충돌 방지 보조; 차선 이탈 보호; 및 후방 충돌 완화와 같은 여러 상이한 유형들의 운전자 보조 기능들을 제공하는 데 사용될 수 있다. 유사한 센서들이 자율 주행 시스템에 사용될 수 있다.
시스템은 또한, 적어도 하나의 2차 ECU를 포함할 수 있다. 2차 ECU들은 CAN 버스 또는 FlexRay 직렬 버스(9)를 통해 ECU(8)와 통신할 수 있다. 2차 ECU들은 이하에서 더 상세히 논의된다.
본 발명에 따른 장치의 예가 도 2에 도시되어 있다. 시스템은 도 1에 도시된 유형의 전자 제어 유닛(ECU)(8)을 포함한다. ECU는 소위 안전 또는 1차 ECU이다. 안전 ECU(8)는 자 차량(2) 내의 자 차량 통신 네트워크(9)에 접속된다. 자 차량 통신 네트워크(9)는, 예를 들어 CAN 버스 또는 FlexRay 시스템일 수 있다. 특정 ECU(8)는 하나 초과의 그러한 네트워크에 접속될 수 있는데, 이는 동일한 유형일 필요는 없다. 안전 ECU(8)는 자 차량 통신 네트워크(9)를 통해 자 차량 내의 다른 ECU들과 통신할 수 있다.
안전 ECU(8)는 적어도 하나의 센서(10)에 접속된다. 도 2에 도시된 예에서, 3개의 센서들(10)이 안전 ECU(8)에 접속되지만, 센서들의 이러한 수는 제한하는 것으로 간주되어서는 안 된다. 안전 ECU(8)에 대한 센서들(10) 각각의 접속들은 유선 또는 무선일 수 있다. 센서 접속들은 또한, 자 차량 통신 네트워크(9)를 통한 것일 수 있다. 각각의 센서(10)와 안전 ECU(8) 사이의 접속은 양 방향 접속일 수 있다 - 즉, 안전 ECU(8)는 센서(10)로부터 데이터를 수신할 수 있고 안전 ECU(8)는 데이터 및/또는 커맨드들을 센서들(10)로 전송할 수 있다. 센서들(10)은 자 차량 자체의 상태 및/또는 주위 환경의 상태에 관한 정보를 제공하고 있을 수 있다. 센서들(10)은 또한, 일부 데이터 축소 능력을 제공할 수 있다 - 즉, 센서들(10)이 센서들(10)에 의해 수행된 원시 측정치들을 안전 ECU(8)로 전송하기 보다는 (또는 이에 추가하여), 결정된 파라미터들이 센서들(10)에서 계산되고 센서들(10)로부터 안전 ECU(8)로 전송될 수 있다.
안전 ECU(8)는 또한, 양 방향 무선 통신 링크(11)를 통해 인터넷과 무선 통신할 수 있다. 인터넷은 안전 ECU(8)가 프로세싱 태스크들을 오프로드(offload)할 수 있는 클라우드 컴퓨팅 능력(12)을 포함한다. 무선 통신 링크(11)는, 예를 들어, 이동 전화 통신 네트워크에 대한 접속을 포함할 수 있다. 안전 ECU(8)는 무선 통신 링크(11)를 통해 클라우드(12)로 프로세싱 태스크들을 전송할 수 있으며, 여기서 프로세싱 태스크는, 프로세싱 태스크의 결과들이 무선 통신 링크(11)를 통해 안전 ECU(8)로 다시 전송되기 전에 클라우드(12)에서 수행된다.
무선 통신 링크(11)는 또한, ECU(8)에 즉시 이용가능하지 않은 데이터에 대한 액세스를 제공할 수 있다. 그러한 데이터는, 예를 들어, 맵 데이터를 포함할 수 있다.
안전 ECU(8)는 또한, 자 차량(2) 외부의 분산된 기능(14)에 대한 액세스를 제공하는 제2 통신 링크(13)를 갖는다. 분산된 기능은 차량-대-차량 통신, 및/또는 차량-대-인프라구조 통신을 포함할 수 있다. 이들은, 정보가 자 차량(2)과 공유될 수 있고/있거나 자 차량(2)이 제2 통신 링크(13)를 통해 정보를 공유할 수 있는 운전자 보조 기능 및/또는 자율 주행 기능들을 허용할 수 있다.
도 3은 자 차량(2)의 도면을 도시한다. 자 차량(2)은 안전 ECU(8)를 포함한다. 2개의 2차 ECU들(15, 16)이 또한 자 차량(2)에 포함된다. 안전 ECU(8) 및 2차 ECU들(15, 16)은 차량내 통신 네트워크(17)를 통해 접속된다. 차량내 통신 네트워크(17)는, 예를 들어, CAN 버스, FlexRay 버스, 로컬 인터커넥트 네트워크(Local Interconnect Network, LIN) 또는 이더넷(Ethernet) 네트워크일 수 있다.
자 차량(2)은 또한, ECU(8)에 동작가능하게 접속되는 무선 통신 송수신기(18)를 포함한다(하지만, 그 접속이 도 3에 도시되어 있지는 않음). 무선 통신 송수신기(18)는 양 방향 무선 통신 링크(20)를 통해 네트워크(19)와의 무선 통신을 위해 구성된다. 네트워크(19)는, 적어도 하나의 저장 위치(21)에서, 동작 명령어들 및/또는 동작 명령 업데이트들의 저장을 포함한다.
도 4는 네트워크(19)의 개략도를 도시한다. 네트워크(19)는 분산된 블록체인을 포함한다. 분산된 블록체인은 복수의 노드들(22)을 포함한다. 분산된 블록체인의 각각의 노드(22)는 블록체인의 사본을 (상기 사본들 중 임의의 사본에 대한 변화의 부재 하에) 포함한다. 다시 말하면, 노드들 각각은 블록체인의 사본을 갖고; 동시에, 노드들은 분산된 블록체인을 형성한다. 블록체인은 승인될 수 있다. 즉, 블록체인에 대한 참여자들(즉, 블록체인의 사본을 갖는 노드)이 제어된다. 다시 말하면, 잠재적 노드는 분산된 블록체인에 참여하기 위한 승인을 필요로 한다.
노드들(22)은 복수의 접속들(22A)을 통해 서로 상호접속된다. 각각의 노드(22)가 모든 다른 노드(22)와 직접 접속될 필요는 없다. 동등하게, 도 4에 예시된 특정 접속들(22A)은 제한적인 것으로 간주되어서는 안 된다. 노드들(22)은 피어 투 피어(peer to peer) 네트워크의 방식으로 서로 접속될 수 있는데, 예를 들어, 이것이 개별 접속들(22A)에 대한 많은 상이한 가능성들을 포함한다는 것을 당업자는 이해할 것이다. 개별 접속들(22A)은 시간의 함수로서 이루어지거나 취해질 수 있다. 접속들(22A)은 근거리 네트워크 또는 광역 네트워크를 통해 이루어질 수 있다. 접속들(22A)은 인터넷을 통해 이루어질 수 있다.
임의의 경우에, 노드들(22)이 형성되는 물리적 서버들은 서로 물리적으로 원격에 위치될 수 있다. 이는 상이하고 서로 다른 물리적 위치들에 있다. 상이한 위치들은 수마일 떨어져 있고/있거나 상이한 국가들에 있을 수 있다. 이는 하나 초과의 노드에 대한 동시 물리적 액세스(또는 노드들 모두에 대한 액세스)를 획득하는 것을 예비 공격자(would-be attacker)에게 매우 어렵게 만든다. 노드들(22)은 단일 파티에 의해 동작 및 제어되는 상이한 시설들 내에 위치될 수 있다. 예를 들어, 노드들(22)은 별개의 생산 및 개발 시설들에 위치될 수 있다. 파티 제공자의 고객들은 고객에 국부적으로 위치된 노드를 가질 수 있다.
도 5는 분산된 블록체인의 단일 노드(22)의 개략도를 도시한다. 노드(22)는 4개의 블록들(23)을 포함하는 블록체인의 사본을 포함한다. 동시에, 블록들(23)은 (노드(22)에 국부적인) 블록체인의 로컬 사본을 형성한다. 각각의 블록(23)은 데이터 섹션(23A)을 포함한다. 각각의 블록은 또한, 블록 메타데이터(23B)를 포함한다. 블록 메타데이터(23B)는 블록체인의 기능이 달성되게 한다. 사실상, 블록들(23)은 선형 시퀀스로 서로 상징적으로 체인화된다. 체인 효과는 이하에서 간략히 설명되는 해시 함수들에 의해 형성된 해시 값들에 따라 좌우된다.
대체적으로, 해시 함수(또는 해시 알고리즘)는, 입력 데이터가 주어지면, 상기 입력 데이터의 해시 값(대안으로 해시 코드, 다이제스트, 또는 해시로 알려짐)을 생성하는 연산 루틴이다. 해시 함수는 임의의 크기의 입력 데이터를 고정된 크기(해시 값)의 비트 스트링에 매핑하는 수학적 알고리즘이다. 해시 함수들은 그 자체로 알려져 있으며, 여기에서 상세히 설명되지 않을 것이다. 말하자면, 제1 입력 데이터에 대해 해시 함수는 제1 해시 값을 생성한다. 제1 입력 데이터가 심지어 아주 작은 양만큼만 변경되면, 해시 함수가 (입력 데이터에 대해 다시 실행될 때) 제1 해시 값과 상이한 제2 해시 값을 생성할 확률은 매우 높다. 따라서, 2개의 상이한 시간들에서 동일한 해시 함수에 의해 생성된 하나의 입력 데이터의 해시 값들을 비교함으로써, 입력 데이터가, 심지어 소량만큼이라도 변했는지 또는 변하지 않았는지 여부를 극히 높은 정도의 확실성을 갖고 결정하는 것이 가능하다. 입력 데이터의 기본 의미 또는 콘텐츠는 해시 함수의 목적에 무관하다는 것에 유의한다. 해시 함수는 입력 데이터에 대해 이진 레벨로 동작한다.
일례로서, 해시 함수는 보안 해시 알고리즘(Secure Hash Algorithm) - 제2 세대인, SHA-2 알고리즘일 수 있다. 설명된 실시예에서 사용되는 특정 알고리즘은 256 비트 해시 값을 생성하고, SHA-256으로 알려져 있다. 그러나, 본 발명은 SHA-256 또는 SHA-2 알고리즘에 제한되지 않아야 한다. 해시 함수들이 대체적으로 본 발명에 사용하기에 적합하다는 것이 본 발명의 관점에서는 당업자에게 명백할 것이다.
이제 본 발명의 블록체인으로 돌아가서, 주어진 블록(23)에 대한 블록 메타데이터(23B)는 블록체인에서 선행 블록(23)의 블록 해시 값을 포함한다. 선행 블록(23)의 데이터에 대해 이루어진 임의의 변화들은 그 블록의 블록 해시 값에 대한 변화를 요구할 것이며, 이는 (변화가 검출되지 않는 경우) 후속하는 블록에서 재연산 및 변경되어야 한다. 이어서, 이것은 다음 블록의 블록 해시 값을 변경하며, 이는 또한 데이터에 대한 변화가 검출되지 않을 경우 재연산되어야 한다. 이것은 데이지 체인 효과(daisy chain effect)를 야기하며, 여기서 블록의 데이터 콘텐츠는 선행 블록의 데이터 콘텐츠에 따라 좌우된다.
대체적으로, 단일 해시 값을 계산하는 것은 통상 비교적 연산적으로 저비용이다. 그러나, 블록 해시 값에 대한 허용된 값들은 제약된다. 대체적으로, 해시 알고리즘에 대한 입력 데이터에 주어진 변화가 이루어질 때 해시 값에 대한 변화를 예측하는 것이 불가능하기 때문에, 제약조건을 충족시키는 해시 값을 찾기 위한 유일한 방식은 브루트 포스(brute force)에 의한 것이다. 그것은, 입력 데이터를 변경하는 것, 해시 값을 계산하는 것, 해시 값이 제약조건을 충족하는지 여부를 평가하는 것, 및 그것이 아닌 경우 반복하는 것이다.
블록체인 제약조건이 충족될 수 있도록 블록 해시 값이 변경되게 하기 위해, 해시 함수에 대한 입력 데이터는 블록이 만들어질 때 변경될 수 있어야 한다. 이를 달성하기 위해, "난스(nonce)"로 지칭된 블록 메타데이터(23B)의 일부분이 변경되도록 허용된다. 난스가 변경될 수 있기 때문에, (후속하는 블록에 저장된 바와 같은) 그 블록의 블록 해시 값이 또한 변화한다. 블록체인에 대해 설정된 제한조건(들)을 충족시키는 블록 해시 값이 달성될 때까지, 난스는 반복적으로 변경되고, 각각의 변화 후에 블록 해시 값이 재계산된다. 난스의 이러한 반복된 변화 및 해시 알고리즘의 동작은, 예를 들어 제약조건들을 충족시키는 블록 해시 값이 찾아질 것으로 예상되기 전에, 엄청난 양의 시도들을 요구할 수 있다. 유효한 블록 해시 값을 찾기 전에 요구된 다수의 시도들은 블록 해시 값을 결정하는 것이 연산적으로 고비용일 수 있고, 따라서 실제로 달성하는 데 시간 소모적일 수 있다는 것을 의미한다. 블록 해시 값을 찾는 계산 어려움은 블록체인에 대한 제약조건(들)의 엄격함을 포함하는 다수의 인자들에 따라 좌우된다.
블록 해시 값 및 난스뿐만 아니라, 다른 정보가 또한, 블록 메타데이터(23B)에 포함될 수 있다.
악의적 파티가 블록의 데이터 콘텐츠를 변경하면, 체인 내의 모든 후속 블록들에서의 블록 해시 값들은 대응하는 선행 블록의 데이터 콘텐츠와 매칭되지 않을 것이고, 변화가 검출될 수 있다. 데이터를 변경하고 그에 따라 그것이 미검출 상태로 유지되게 하기 위해, 악의적 파티는 그 변경을 행해야 할 것이고 이어서 변경된 블록 및 모든 후속 블록들에 대한 유효한 블록 해시 값들(즉, 제약조건들을 충족시킴)을 재계산해야 할 것이다. 적합하게 선택된 제약조건들로, 이것은 엄청나게 계산적으로 고비용이며 시간 소모적일 수 있다. 따라서, 블록체인의 데이터 콘텐츠가 보안되고, 블록체인에 대한 변화들이 검출될 수 있다.
블록체인 데이터의 각각의 로컬 사본은 블록체인 메타데이터(23B) 내의 블록 해시 값이 블록의 데이터에 대해 계산된 테스트 해시 값에 대해 체크되는 블록체인 보안 체크에서 검증될 수 있다. 임의의 변화(악의적 또는 우발적)가 블록체인 사본에서 이루어지는 경우, 변화의 발생이 주목되며, 블록체인 사본은 변경된 것으로서 식별된다. 이러한 블록체인 보안 체크는 단일 노드 내에서 발생할 수 있고, 노드의 외부에 어떠한 접속들도 필요하지 않다. 따라서, 이러한 프로세스는 인트라-노드(intra-node) 보안 모드로 지칭될 수 있다. 각각의 노드는 블록체인 사본 상에서 동작하는 그러한 블록체인 보안 체크를 수행하도록 구성된다. 블록체인 보안 체크는 각각의 노드에 의해 주기적으로 수행될 수 있다. 블록체인 보안 체크는, 예를 들어, 상기 노드에 대한 판독 요청이 이루어질 때마다 수행될 수 있다. 블록체인 보안 체크는, 새로운 블록이 블록체인의 사본에 추가되기 전에 수행될 수 있다.
도 6은 노드(22)에 걸쳐 분포되는 블록체인 데이터의 사본들의 크로스 체킹의 개략도이다. 이것은 블록체인의 사본들이 동일하다는 분산된 블록체인의 검증 루틴을 형성한다. 검증 루틴은 크로스 체크들(24)을 포함하며, 이들 중 일부가 도 6에 화살표들로 도시되어 있다. 각각의 크로스 체크는 블록들의 비교를 포함할 수 있다. 모든 블록들의 비교는 이들 블록들의 블록 해시 값들의 비교를 포함할 수 있다. 손상된 노드 상의 블록체인의 사본이 변경되면(무허가 파티는 블록체인 보안 체크가 변화를 주목할 수 없도록 해야 하기 때문에, 블록 해시 값들을 수정하는 것을 포함함 - 상기 참조), 사본은 결함 사본으로서 플래깅된다. 결함 사본의 데이터에 대한 변화는 악의적 또는 우발적일 수 있다. 검증 루틴은 블록체인의 결함 사본과 다른 노드들 중 적어도 하나 상의 변경되지 않은 사본 사이에서 불일치가 주목되는 것을 허용한다.
노드/블록체인 사본이 결함 사본으로서 식별될 때, 이어서 그 결함 사본 내의 데이터의 사용은 차단된다. 검증 루틴을 사용하면, 변화가 식별되지 않고 블록체인의 사본에서 데이터에 변화가 이루어지는 것은 불가능하다. 따라서, 블록체인의 블록들(23)의 데이터 섹션들(23A) 내의 데이터는 변화로부터 안전하고, 이는 눈에 띄지 않을 수 없다. 이러한 검증 루틴은 분산된 블록체인의 노드들 사이에서 발생한다. 따라서, 이러한 프로세스는 인터-노드(inter-node) 보안 모드로서 지칭된다.
검증 루틴은 노드들 사이의 합의가 추구되게 하는 컨센서스 프로토콜(consensus protocol)을 구현할 수 있다. 컨센서스 프로토콜은 다양한 카테고리들, 예를 들어:
Figure 112020013092742-pct00001
PoW - 작업 증명(Proof of Work);
Figure 112020013092742-pct00002
PoS - 지분 증명(Proof of Stake);
Figure 112020013092742-pct00003
PoET - 경과 시간 증명(Proof of Elapsed Time);
Figure 112020013092742-pct00004
BFT - 비잔틴 장애 허용(Byzantine Fault Tolerance) 및 그 변형들로 나뉠 수 있다. 예를 들어, 프랙티컬 비잔틴 장애 허용(Practical Byzantine Fault Tolerance algorithm, PBFT), SIEVE 컨센서스 프로토콜, 또는 크로스-결함 허용(Cross-Fault Tolerance, XFT);
Figure 112020013092742-pct00005
연합 BFT, 예를 들어 리플(Ripple) 컨센서스 프로토콜 알고리즘 또는 스텔라(Stellar) 컨센서스 프로토콜.
컨센서스 프로토콜은 2개의 결함 카테고리들: 실패-정지 결함들 및 소위 "비잔틴" 유형 결함들을 용인할 수 있다. 실패-정지 결함들은 노드 고장들에 의해 야기된다. 예를 들어, 컨센서스 프로토콜을 따라 정지하는 노드는 실패-정지 결함이다. 비잔틴 유형 결함은 노드 또는 노드들이 불규칙하게 거동하는 것에 의해 야기되는 결함이다. 비잔틴 유형 결함들은 노드가 절충되는 것에 의해 야기될 수 있다. 그러한 절충된 노드는 분산된 블록체인 노드들의 나머지에 의도적으로 거짓 또는 잘못된 정보를 제공할 수 있다. 컨센서스 프로토콜은 실패-정지 및/또는 비잔틴 유형 결함들의 존재 하에 노드들 사이의 합의에 도달할 수 있다.
도 7은 블록체인의 다른 노드들(22)로부터 접속해제된 접속해제 노드(25)의 개략도이다. 접속해제 노드를 네트워크 상의 다른 노드들(22)과 이전에 상호접속시켰던 끊어진 네트워크(broken network) 접속들(26)이 끊어져 있다. 이러한 접속해제는 일시적일 수 있다. 끊어진 네트워크 접속들(26)이 접속해제된 채로 있는 동안, 다른 노드들(22)에 걸쳐 분포되는 블록체인의 사본들과 접속해제 노드(25) 상의 블록체인의 사본들의 크로스 체킹은 가능하지 않다. 네트워크 접속들 중 적어도 하나가 복원될 때, 검증 루틴은 상기와 같이 재개될 수 있다.
도 8은 본 발명의 제1 실시예에 따른 블록체인의 3개의 블록들(23)을 예시한다. 대체적으로, 각각의 블록(23)은 동작 명령어들의 검증된 버전 및 동작 명령어들의 상기 검증된 버전에 대한 검증된 해시 값을 포함한다. 예를 들어, 도 8에 도시된 실시예에서, 각각의 데이터 섹션(23A)은 운전자 보조 시스템의 안전 ECU(8)에 대한 동작 명령어들(27)의 검증된 버전을 포함한다. 각각의 데이터 섹션(23A)은 또한, 동작 명령어들(27)의 검증되고 신뢰된 사본에 대해 계산된 검증된 해시 값(28)을 포함한다. 검증된 해시 값(28)은 데이터 섹션(23A)에 저장된 검증된 동작 명령어들(27)에 대응하는 데이터에 대해 해시 함수를 수행하는 결과이다. 검증된 해시 값(28)은 동작 명령어들(27)의 대응하는 버전을 원래 생성했던 동작 명령어들의 신뢰된 소스에 의해 형성될 수 있다. 데이터 섹션(23A)에 저장된 동작 명령어들(27)에 대응하는 데이터가 변경되면, 그 변경된 데이터에 대해 계산된 테스트 해시 값은 검증된 해시 값(28)과 동일하지 않을 것이다.
대안으로, 동작 명령어들에 대한 검증된 해시 값(28)은 블록 메타데이터(23B)에 포함될 수 있다. 검증된 해시 값은 블록 메타데이터의 적어도 일부분을 포함할 수 있거나, 또는 그로부터 형성될 수 있다. 예를 들어, 동작 명령어들에 대한 검증된 해시 값은 상기 동작 명령어들을 포함하는 블록에 대한 대응하는 블록 메타데이터(23B)에 저장된 블록 해시 값과 동일할 수 있다.
제1 실시예에 따른 분산된 블록체인은 (인트라-노드를 기반으로 한) 블록체인 보안 체크 및 (인터-노드를 기반으로 한) 검증 루틴 양자 모두를 구현하여 동작 명령어들을 안전하게 한다.
이러한 방식에서, 동작 명령어들의 검증된 버전들의 안전한 사본들이 블록체인에 유지된다. 동작 명령어들의 보안은 블록체인의 고유 기능뿐만 아니라 인터노드-크로스 체킹에 의해 (즉, 블록 해시 값들을 사용하여) 유지된다. 다시 말하면, 분산된 블록체인은 동작 명령어들의 안전한 사본들을 운전자 보조 시스템에 공급하는 것을 허용한다.
동작 명령어들의 검증된 버전이 안전 ECU 상에 설치될 때, ECU 업데이트 루틴이 수행된다. 안전 ECU 상에 설치될 동작 명령어들의 버전이 식별되며, 이것은 설치 버전이다. 설치 버전은 블록체인의 설치 블록에 포함된다. 분산된 블록체인의 노드 상의 설치 버전의 사본이 식별된다.
설치 블록이 블록체인의 결함 사본에 포함되는지 또는 포함되지 않는지 여부가 체크될 수 있다. 설치 블록이 결함 사본에 포함되지 않으면, 설치 버전은 설치 블록으로부터 안전 ECU 상에 설치될 수 있다.
설치 사본에 대한 검증된 해시 값은 설치 블록의 블록 메타데이터를 포함하는 입력 데이터에 대해 계산될 수 있다. 설치 사본의 검증된 해시 값은 설치 블록의 블록 메타데이터의 적어도 일부분을 포함하는 입력 데이터에 대해 계산될 수 있다. 설치 사본이 안전 ECU 상에 설치되는 경우, 검증된 해시 값은 안전 ECU 내로 복사될 수 있다. 예를 들어, 검증된 해시 값은 안전 ECU 상의 검증된 해시 저장 수단 내로 복사될 수 있다.
또한, 설치 블록 메타데이터로부터의 추가 정보가 또한, ECU 업데이트 루틴 동안 안전 ECU에 복사될 수 있다. 대안으로, (블록 메타데이터 및 데이터 섹션을 포함하는) 설치 블록의 전체가 ECU 업데이트 루틴 동안 안전 ECU 내로 복사될 수 있다. 이것은 블록체인에 저장된 바와 동일한 해시의 값과 비교되도록 설치 블록의 전체의 해시를 체크하는 것을 허용한다. 또한, 이것은 ECU 업데이트 루틴 동안 동작 명령어들의 보안을 체크하는 것을 허용한다.
제1 실시예에서, 동작 명령어들(27)의 새로운 또는 업데이트된 버전이 생성될 때, 새로운 블록(23)이 형성되어 각각의 블록체인 사본의 끝에 첨부된다. 분산된 블록체인은 이에 의해 하나의 블록만큼 길이가 증가한다. 새로운 블록은 접속들(22A)을 통해 노드들로 송신되고, 블록체인의 사본들 각각의 끝에 추가된다. 새로운 블록은 다른 노드들(22)로 송신되기 전에 노드들(22) 중 하나에 형성될 수 있다. 새로운 블록은 임의의 노드(22)에 의해, 추정되는 새로운 블록의 블록체인 메타데이터(23B)에서의 블록 해시 값을 블록체인 데이터의 그 노드의 사본 내의 바로 선행하는 블록의 데이터 콘텐츠에 따라 블록 해시 값이 무엇인지의 노드 자신의 계산과 비교함으로써, 검증될 수 있다.
도 9는 본 발명의 제2 실시예에 따른 블록체인의 3개의 블록들(23)을 예시한다. 각각의 데이터 섹션(23A)은 복수의 설치 레코드들(29)을 포함한다. 도 9에서, 각각의 블록(23)은 동일한 수의 설치 레코드들(29)을 포함하는 것으로 도시되지만, 이것은 제한적인 것으로 간주되어서는 안 된다. 블록체인의 블록들(23)은 블록체인의 다른 블록들(23)에 대해 상이한 수의 레코드들(29)을 각각 포함할 수 있다.
각각의 설치 레코드(29)는 적어도 운전자 보조 시스템 고유 식별자 (예를 들어, 안전 ECU의 일련 번호) 및 동작 명령어들 식별자 (예를 들어, 동작 명령어들 버전 번호)를 포함한다. 각각의 설치 레코드(29)는 안전 ECU 식별자에 대응하는 안전 ECU 상의 동작 명령어들 식별자에 대응하는 동작 명령어들의 설치의 문서화(documentation)를 나타낸다. 단일 ECU 식별자를 갖는 주어진 안전 ECU는 분산된 블록체인에 다수의 설치 레코드들(29)을 가질 수 있다. 예를 들어, 원래의 동작 명령어들이 안전 ECU 상에 설치될 때의 제1 설치 레코드 다음에, 동작 명령어들의 상이한(예를 들어, 추후의) 버전으로의 안전 ECU 상의 동작 명령어들의 업데이트에 대응하는 적어도 하나의 업데이트 설치 레코드가 뒤따른다. 일부 또는 모든 설치 레코드들은 또한, 추가 정보, 예를 들어 설치의 시간 및 날짜를 포함할 수 있다. 안전 ECU의 거동의 테스트 결과들, 또는 ECU 내의 파라미터들의 트리밍(trimming)은 스마트 컨트랙트(smart contract)에 저장될 수 있으며, 이는 설치 레코드의 적어도 일부를 형성할 수 있다. 설치 레코드들(29)은 모두 포맷(즉, 동일한 필드들)을 가질 필요는 없다. 주어진 블록은 상이한 운전자 보조 시스템 고유 식별자들에 대응하는 설치 레코드들을 포함할 수 있다.
노드 상의 블록체인의 사본은 그것이 결함 사본과 같이 안전하지 않은 것으로 플래깅되지 않은 경우에만 질의될 수 있다. 다시 말하면, 블록체인의 사본이 결함 사본이 아닌 경우에 블록체인의 사본의 사용이 단지 허용된다. 블록체인의 사본이 결함 사본으로서 플래깅되었다면, 블록체인의 사본의 사용은 차단된다. 이어서, 이것은, 결함 사본이 질의될 수 없고 그 내부의 데이터가 사용될 수 없다는 것을 의미한다.
블록체인의 사본이 결함 사본이 아니라면, 블록체인의 사본은 데이터베이스의 방식으로 질의될 수 있다. 예를 들어, 질의는 질의 운전자 보조 시스템 고유 식별자에 기초할 수 있고, 이러한 경우에 그 질의 운전자 보조 시스템 고유 식별자에 대응하는 모든 설치 레코드들은 리턴될 수 있다. 이러한 예에서, 특정 운전자 보조 시스템에 대한 검증된 설치 이력이 발견될 수 있다. 다른 예에서, 질의는 질의 동작 명령어들 식별자에 기초할 수 있고, 이러한 경우에 그 질의 동작 명령어들 식별자에 대응하는 모든 설치 레코드들은 리턴될 수 있다. 이러한 예에서, 동작 명령어들의 질의된 버전이 설치된 안전 ECU들의 검증된 목록이 식별될 수 있다. 이어서, 이들 특정 안전 ECU들을 포함하는 자 차량들은, 이용가능한 경우, 이들 동작 명령어들에 대한 업데이트를 위해 타깃화될 수 있다.
제2 실시예에 따른 분산된 블록체인은 (인트라-노드 기준으로) 블록체인 보안 체크 및 (인터-노드 기준으로) 검증 루틴 양자 모두를 구현하여 설치 레코드들을 안전하게 한다.
이러한 방식으로, 특정 안전 ECU 상에 설치된 동작 명령어들의 보안 레코드가 유지된다. 레코드의 정확성은 검증 루틴 및 블록체인 보안 기능에 의해 (즉, 블록 해시 값들을 사용하여) 유지된다. 다시 말하면, 블록체인은 운전자 보조 시스템의 동작 명령어들의 안전한 추적능력을 허용한다.
동작 명령어들이 특정 안전 ECU 상에서 업데이트될 때, 예를 들어, 그 업데이트에 대응하는 새로운 설치 레코드가 생성된다. 설치 레코드는 블록체인에 추가될 필요가 있다. 더 구체적으로, 레코드는 블록체인에 추가될 새로운 블록의 데이터 섹션(23A)에 추가된다. 다수의 레코드들이 단일의 새로운 블록으로 수집될 수 있으며, 이는 이어서 각각의 블록체인 사본의 끝에 첨부된다. 블록체인은 이에 의해 하나의 블록(23)만큼 길이가 증가한다. 새로운 블록(23)은 노드들로 송신되고, 블록체인의 사본들 각각의 끝에 추가된다. 새로운 블록(23)은 다른 노드들(22)로 송신되기 전에 노드들(22) 중 하나에 형성될 수 있다. 새로운 블록(23)은 임의의 노드(22)에 의해, 추정되는 새로운 블록의 블록체인 메타데이터(23B)에서의 블록 해시 값을 블록체인의 그 노드의 사본 내의 바로 선행하는 블록의 데이터에 따라 블록 해시 값이 무엇인지의 노드 자신의 계산과 비교함으로써, 검증될 수 있다.
양자 모두의 실시예들에서, 블록체인의 콘텐츠를 검증하기 위해 수행될 수 있는 2개의 체크들, 즉 각각의 블록체인 사본의 블록체인 보안 체크 및 검증 루틴이 있다. 조합은 개선된 동작 명령어 보안 또는 동작 명령어 설치 추적능력을 허용할 수 있다. 블록체인의 결함 사본은 또한, 블록체인 보안 체크에 의해 식별될 수 있다.
양자 모두의 실시예들에서, 블록체인에 대한 액세스가 제어될 수 있다. 예를 들어, 단지 소정 파티들만이 새로운 블록들을 추가할 수 있고/있거나 단지 (잠재적으로 상이한 또는 중첩되는) 소정 파티들이 블록체인을 판독할 수 있다. 블록체인은 승인된 블록체인일 수 있다.
양자 모두의 실시예들에서, 블록체인은 암호화될 수 있다. 즉, 블록체인의 사본은 노드들 상에서 암호화될 수 있다. 또한, 제1 실시예의 블록체인으로부터 추출된, 또는 블록체인으로 전송된 데이터 - 예를 들어, 동작 명령어들의 버전 및 대응하는 검증된 해시 값, 또는 블록의 사본 - 는 그것이 송신될 때 암호화될 수 있다. 제2 실시예의 블록체인으로부터 추출되고/되거나 블록체인으로 전송된 데이터는 또한, 그것이 송신될 때 암호화될 수 있다. 양자 모두의 경우들에서, 그리고 단지 예들로서, 암호화는 전송 계층 보안(Transport Layer Security, TLS) 또는 보안 소켓 계층(Secure Sockets Layer, SSL) 프로토콜을 사용하는 것일 수 있다. 자 차량과 블록체인 사이의 통신은 하나 이상의 이러한 암호화 프로토콜들을 사용할 수 있다.
본 명세서 및 청구범위에서 사용될 때, 용어들 "포함하다" 및 "포함하는" 및 그의 변형들은 지정된 특징들, 단계들 또는 완전체들이 포함된다는 것을 의미한다. 용어들은 다른 특징들, 단계들 또는 완전체들의 존재를 배제하는 것으로 해석되지는 않는다.
개시된 기능을 수행하기 위한 수단들, 또는 개시된 결과들을 획득하기 위한 방법 또는 프로세스의 특정 형태들로 또는 이들의 관점에서 표현되는 전술된 설명, 또는 하기의 청구범위, 또는 첨부 도면들에 개시된 특징들은, 적합하게, 별개로 또는 그러한 특징들의 임의의 조합으로, 본 발명을 그 다양한 형태로 실현하기 위해 이용될 수 있다.
본 발명이 전술된 예시적인 실시예들과 관련하여 설명되었지만, 많은 등가의 수정들 및 변형들이 본 개시 내용을 고려할 때 당업자에게 명백할 것이다. 따라서, 상기에 기재된 본 발명의 예시적인 실시예들은 예시적인 것으로 그리고 제한적이지 않은 것으로 간주된다. 본 발명의 사상 및 범주로부터 벗어남이 없이 설명된 실시예들에 대한 다양한 변경들이 이루어질 수 있다.

Claims (15)

  1. 자동차의 운전자 보조 시스템에 대한 동작 명령어들을 보안하는(securing) 방법으로서, 상기 운전자 보조 시스템은 안전 전자 제어 유닛(electronic control unit, "ECU")을 포함하고, 상기 동작 명령어들은 상기 안전 ECU의 동작을 지시하는, 자동차의 운전자 보조 시스템에 대한 동작 명령어들을 보안하는 방법에 있어서,
    상기 방법은,
    a) 복수의 블록들을 포함하는 분산된 블록체인을 구현하는 단계 - 상기 블록체인의 사본은 네트워크에 걸쳐 상호 접속되어 있는 복수의 노드들 각각에 저장되고, 각각의 블록은 상기 동작 명령어들의 상이한 버전을 포함함 -;
    b) 상기 블록체인의 사본들이 상기 노드들에서의 상기 블록체인의 사본들에 걸쳐 동일함을 체크하는 것을 포함하는 검증 루틴을 수행하며;
    상기 블록체인의 결함 사본이 동일하지 않은 경우, 상기 결함 사본을 안전하지 않은 것으로서 플래깅하고;
    상기 결함 사본의 사용을 방지하여, 이에 따라 상기 결함 사본의 블록들에 포함된 상기 동작 명령어들을 상기 안전 ECU 상에 설치하는 것을 방지하는 단계를 포함하며,
    상기 방법은,
    상기 블록체인의 설치 블록으로부터 동작 명령어들의 설치 버전을 운전자 보조 시스템상에 설치하는 것을 포함하는 ECU 업데이트 루틴을 수행하는 단계를 포함하고, 상기 설치 블록은 상기 결함 사본에 포함되지 않는, 자동차의 운전자 보조 시스템에 대한 동작 명령어들을 보안하는 방법.
  2. 제1항에 있어서, 상기 방법은, 각각의 노드 상의 상기 블록체인의 사본에 새로운 블록을 추가하는 것을 포함하는 버전 추가 루틴을 수행하는 단계를 포함하고, 상기 새로운 블록은 상기 동작 명령어들의 업데이트된 버전을 포함하는, 자동차의 운전자 보조 시스템에 대한 동작 명령어들을 보안하는 방법.
  3. 삭제
  4. 삭제
  5. 제1항에 있어서, 상기 방법은, 상기 설치 블록의 전체를 상기 안전 ECU에 복사하는 단계를 포함하는, 자동차의 운전자 보조 시스템에 대한 동작 명령어들을 보안하는 방법.
  6. 제1항 또는 제5항에 있어서, 각각의 블록은 상기 동작 명령어들의 각각의 버전을 포함하는 입력 데이터에 대해 계산된 검증된 해시 값을 포함하는, 자동차의 운전자 보조 시스템에 대한 동작 명령어들을 보안하는 방법.
  7. 제6항에 있어서, 상기 방법은, 상기 동작 명령어들의 설치 버전의 검증된 해시 값을 상기 안전 ECU 상의 검증된 해시 저장 수단으로 복사하는 단계를 포함하는, 자동차의 운전자 보조 시스템에 대한 동작 명령어들을 보안하는 방법.
  8. 제7항에 있어서, 상기 검증된 해시 값은 상기 설치 블록의 설치 블록 메타데이터의 적어도 일부분을 포함하는 입력 데이터에 대해 계산되는, 자동차의 운전자 보조 시스템에 대한 동작 명령어들을 보안하는 방법.
  9. 제1항에 있어서, 상기 블록체인은 액세스 제어되는, 자동차의 운전자 보조 시스템에 대한 동작 명령어들을 보안하는 방법.
  10. 제1항에 있어서, 상기 블록체인은 암호화되는, 자동차의 운전자 보조 시스템에 대한 동작 명령어들을 보안하는 방법.
  11. 자동차의 운전자 보조 시스템에 대한 동작 명령어들을 추적하는 방법으로서, 상기 운전자 보조 시스템은 안전 전자 제어 유닛("ECU")을 포함하고, 상기 안전 ECU 상에 설치된 동작 명령어들은 상기 안전 ECU의 동작을 지시하는, 자동차의 운전자 보조 시스템에 대한 동작 명령어들을 추적하는 방법에 있어서,
    상기 방법은,
    a) 복수의 블록들을 포함하는 분산된 블록체인을 구현하는 단계 - 상기 블록체인의 사본은 네트워크에 걸쳐 상호 접속되어 있는 복수의 노드들 각각에 저장되고, 각각의 블록은 적어도 하나의 설치 레코드를 포함하고, 각각의 설치 레코드는 적어도 운전자 보조 시스템 고유 식별자 및 동작 명령어들 식별자를 포함함 -;
    b) 상기 블록체인의 각각의 블록이 상기 노드들에서의 상기 블록체인의 사본들에 걸쳐 동일함을 체크하는 것을 포함하는 검증 루틴을 수행하고;
    상기 블록체인의 결함 사본이 동일하지 않은 경우, 상기 결함 사본을 안전하지 않은 것으로서 플래깅하며;
    상기 결함 사본의 사용을 방지하여, 이에 의해 상기 결함 사본의 블록들에 포함된 상기 설치 레코드들의 사용을 방지하는 단계를 포함하며,
    상기 방법은,
    c) 상기 결함 사본이 아닌 상기 블록체인의 사본이, 상기 설치 레코드에 기초하여 상기 설치된 동작 명령어들의 더 최근의 버전이 상기 블록체인의 사본에 이용가능한지 여부를 식별하도록 질의되는 것을 허용하고, 더 최근의 버전이 이용가능한 경우, 상기 운전자 보조 시스템 상에 상기 동작 명령어들의 상기 더 최근의 버전을 설치하는 단계를 추가로 포함하는, 자동차의 운전자 보조 시스템에 대한 동작 명령어들을 추적하는 방법.
  12. 제11항에 있어서, 상기 동작 명령어들 식별자는 상기 설치된 동작 명령어들의 버전 식별자를 포함하는, 자동차의 운전자 보조 시스템에 대한 동작 명령어들을 추적하는 방법.
  13. 삭제
  14. 삭제
  15. 제11항 또는 제12항에 있어서, 적어도 하나의 설치 레코드는,
    상기 동작 명령어들 식별자에 대응하는 동작 명령어들이 상기 운전자 보조 시스템 고유 식별자에 대응하는 운전자 보조 시스템 상에 설치되었던 설치 시간;
    상기 운전자 보조 시스템 고유 식별자에 대응하는 운전자 보조 시스템의 동작의 테스트 결과들; 중 적어도 하나를 포함하는, 자동차의 운전자 보조 시스템에 대한 동작 명령어들을 추적하는 방법.
KR1020207003742A 2017-08-16 2018-08-13 자동차 운전자 보조 시스템에 관련된 방법 KR102310252B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP17186406.9 2017-08-16
EP17186406.9A EP3445017B1 (en) 2017-08-16 2017-08-16 A method relating to a motor vehicle driver assistance system
PCT/EP2018/071948 WO2019034621A1 (en) 2017-08-16 2018-08-13 METHOD FOR A DRIVER ASSISTANCE SYSTEM FOR A MOTOR VEHICLE

Publications (2)

Publication Number Publication Date
KR20200020003A KR20200020003A (ko) 2020-02-25
KR102310252B1 true KR102310252B1 (ko) 2021-10-08

Family

ID=59677058

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207003742A KR102310252B1 (ko) 2017-08-16 2018-08-13 자동차 운전자 보조 시스템에 관련된 방법

Country Status (6)

Country Link
US (1) US20200235936A1 (ko)
EP (1) EP3445017B1 (ko)
JP (2) JP7041738B2 (ko)
KR (1) KR102310252B1 (ko)
CN (1) CN111066303B (ko)
WO (1) WO2019034621A1 (ko)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10826706B1 (en) 2018-01-30 2020-11-03 State Farm Mutual Automobile Insurance Company Systems and methods for vehicle configuration verification with failsafe code
US11159308B2 (en) * 2019-03-20 2021-10-26 PolySign, Inc. Preventing an erroneous transmission of a copy of a record of data to a distributed ledger system
US11349636B2 (en) * 2019-03-25 2022-05-31 Micron Technology, Inc. Local ledger block chain for secure updates
US11397814B2 (en) * 2019-03-25 2022-07-26 Micron Technology, Inc. Local ledger block chain for secure electronic control unit updates
US11228443B2 (en) * 2019-03-25 2022-01-18 Micron Technology, Inc. Using memory as a block in a block chain
JP7176488B2 (ja) * 2019-07-08 2022-11-22 株式会社デンソー データ保存装置、及びデータ保存プログラム
CN110796855A (zh) * 2019-09-18 2020-02-14 吴明贵 一种基于物联网和区块链的区域交通疏导系统
US11456874B2 (en) * 2019-09-19 2022-09-27 Denso International America, Inc. Vehicle control system for cybersecurity and financial transactions
JP6884196B1 (ja) * 2019-12-06 2021-06-09 三菱重工業株式会社 検知装置、改ざん検知システム、中央サーバ、参加者サーバ、改ざん検知方法、及びプログラム
KR102172534B1 (ko) * 2020-04-30 2020-11-02 주식회사 에스비이엔씨 도로를 주행하는 자율 주행차량의 충돌방지를 위한 블록체인 및 센서 근거리 통신 시스템
CN112543928B (zh) * 2020-04-30 2021-12-14 华为技术有限公司 数据保护方法及装置
KR102172535B1 (ko) * 2020-05-02 2020-11-02 주식회사 에스비이엔씨 도로를 주행하는 자율주행 차량의 충돌방지를 위한 통신과 블록체인 방법
CN112416389B (zh) * 2020-11-11 2024-06-11 沈海峰 一种基于区块链技术的ota软件版本管理方法
JP7491470B2 (ja) * 2020-11-26 2024-05-28 株式会社デンソー ゾーンベースのブロックチェーンシステム、及びゾーンベースのブロックチェーンシステムを運用するための方法
JP2022166870A (ja) * 2021-04-22 2022-11-04 和男 吉原 マルウェア検知を目的とした改ざん検知システム

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170031676A1 (en) * 2015-07-27 2017-02-02 Deja Vu Security, Llc Blockchain computer data distribution

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005242871A (ja) * 2004-02-27 2005-09-08 Denso Corp 通信システム
US9754130B2 (en) * 2011-05-02 2017-09-05 Architecture Technology Corporation Peer integrity checking system
US10847251B2 (en) * 2013-01-17 2020-11-24 Illumina, Inc. Genomic infrastructure for on-site or cloud-based DNA and RNA processing and analysis
MX2013005303A (es) * 2013-05-10 2013-08-07 Fondo De Informacion Y Documentacion Para La Ind Infotec Un sistema y un proceso de alto desempeño para el tratamiento y almacenamiento de datos, basado en componentes de bajo costo, que garantiza la integridad y disponibilidad de los datos para su propia administracion.
US10366204B2 (en) 2015-08-03 2019-07-30 Change Healthcare Holdings, Llc System and method for decentralized autonomous healthcare economy platform
US10402792B2 (en) * 2015-08-13 2019-09-03 The Toronto-Dominion Bank Systems and method for tracking enterprise events using hybrid public-private blockchain ledgers
KR20170040466A (ko) * 2015-10-05 2017-04-13 에스케이하이닉스 주식회사 데이터 처리 시스템
BR112018072929A2 (pt) 2016-05-13 2019-02-19 nChain Holdings Limited método e sistema para verificar a integridade de um software de computador e programa de software de computador
US10592639B2 (en) * 2016-09-06 2020-03-17 Intel Corporation Blockchain-based shadow images to facilitate copyright protection of digital content
US10185550B2 (en) * 2016-09-28 2019-01-22 Mcafee, Inc. Device-driven auto-recovery using multiple recovery sources
US10447480B2 (en) 2016-12-30 2019-10-15 Guardtime Sa Event verification receipt system and methods

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170031676A1 (en) * 2015-07-27 2017-02-02 Deja Vu Security, Llc Blockchain computer data distribution

Also Published As

Publication number Publication date
JP2022040171A (ja) 2022-03-10
EP3445017B1 (en) 2019-10-09
CN111066303A (zh) 2020-04-24
US20200235936A1 (en) 2020-07-23
JP7041738B2 (ja) 2022-03-24
JP7250411B2 (ja) 2023-04-03
KR20200020003A (ko) 2020-02-25
JP2020529667A (ja) 2020-10-08
CN111066303B (zh) 2022-10-04
WO2019034621A1 (en) 2019-02-21
EP3445017A1 (en) 2019-02-20

Similar Documents

Publication Publication Date Title
KR102310252B1 (ko) 자동차 운전자 보조 시스템에 관련된 방법
US11618395B2 (en) Vehicle data verification
US11601282B1 (en) Systems and methods for vehicle configuration verification with failsafe code
US20210034745A1 (en) Security system and methods for identification of in-vehicle attack originator
US11223631B2 (en) Secure compliance protocols
JP6585019B2 (ja) ネットワーク監視装置、ネットワークシステムおよびプログラム
US11528325B2 (en) Prioritizing data using rules for transmission over network
JP2018133743A (ja) 監視装置、通信システム、車両、監視方法、およびコンピュータプログラム
US11456874B2 (en) Vehicle control system for cybersecurity and financial transactions
US20220179636A1 (en) Vehicle controller
US20240103843A1 (en) Robust over the air reprogramming
US11895241B2 (en) Driver assistance apparatus and method
US11265713B2 (en) Validating vehicles traveling within specific regions
Rosenstatter et al. V2C: a trust-based vehicle to cloud anomaly detection framework for automotive systems
Iclodean et al. Safety and cybersecurity
Bertschy Vehicle computer and network security: Vulnerabilities and recommendations
US20220076565A1 (en) Method, Device and Computer Program for a Vehicle
CN115762122A (zh) 用于监控作用链的组件的方法

Legal Events

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