KR20210134798A - 블록 체인을 이용한 보안 모니터링 - Google Patents

블록 체인을 이용한 보안 모니터링 Download PDF

Info

Publication number
KR20210134798A
KR20210134798A KR1020217034527A KR20217034527A KR20210134798A KR 20210134798 A KR20210134798 A KR 20210134798A KR 1020217034527 A KR1020217034527 A KR 1020217034527A KR 20217034527 A KR20217034527 A KR 20217034527A KR 20210134798 A KR20210134798 A KR 20210134798A
Authority
KR
South Korea
Prior art keywords
block
vehicle
memory
global
entity
Prior art date
Application number
KR1020217034527A
Other languages
English (en)
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 KR20210134798A publication Critical patent/KR20210134798A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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
    • 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
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C9/00Individual registration on entry or exit
    • G07C9/20Individual registration on entry or exit involving the use of a pass
    • G07C9/22Individual registration on entry or exit involving the use of a pass in combination with an identity check of the pass holder
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/16Multiple access memory array, e.g. addressing one storage element via at least two independent addressing line groups
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/126Applying verification of the received information the source of the received data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation 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
    • 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/3247Cryptographic 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/40Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
    • 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/24Key scheduling, i.e. generating round keys or sub-keys for block encryption
    • 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)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Power Engineering (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Traffic Control Systems (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Lock And Its Accessories (AREA)

Abstract

본 개시는 보안 업데이트들을 위한 로컬 원장 블록 체인을 사용하는 장치, 방법 및 시스템을 포함한다. 실시예는 메모리, 및 메모리에 저장된 데이터에 대한 업데이트를 확인하기 위해 로컬 원장 블록 체인에 추가될 글로벌 블록을 수신하도록 구성된 회로부를 포함하고, 로컬 원장 블록 체인에 추가될 글로벌 블록은 로컬 원장 블록 체인의 현재 로컬 블록의 암호화 해시, 업데이트될 메모리에 저장된 데이터의 암호화 해시를 포함하며, 로컬 원장 블록 체인의 현재 로컬 블록은 글로벌 블록이 인증된 엔티티로부터 온 것임을 나타내는 그와 연관된 디지털 서명을 갖는다.

Description

블록 체인을 이용한 보안 모니터링
본 개시는 일반적으로 반도체 메모리 및 방법에 관한 것으로, 보다 구체적으로는 블록 체인을 이용하여 트래픽을 안전하게 모니터링하기 위한 메모리 사용에 관한 것이다.
메모리 장치들은 일반적으로 컴퓨터들 또는 다른 전자 장치들의 내부 반도체 집적 회로 및/또는 외부 탈착식 장치들로 제공된다. 휘발성 및 비휘발성 메모리를 포함하여 많은 다른 유형의 메모리가 있다. 휘발성 메모리는 그 데이터를 유지하기 위한 전력을 필요로 할 수 있으며, 그 중에서도 랜덤 액세스 메모리(RAM), 동적 랜덤 액세스 메모리(DRAM) 및 동기식 동적 랜덤 액세스 메모리(SDRAM)를 포함할 수 있다. 비휘발성 메모리는 전력이 공급되지 않을 때 저장된 데이터를 유지함으로써 영구 데이터를 제공할 수 있으며, 그 중에서도, NAND 플래시 메모리, NOR 플래시 메모리, 읽기 전용 메모리(ROM), 및 상 변화 랜덤 액세스 메모리(PCRAM), 저항 랜덤 액세스 메모리(RRAM) 및 자기 랜덤 액세스 메모리(MRAM)와 같은 저항 가변 메모리를 포함할 수 있다.
메모리 장치들은 함께 결합되어 솔리드 스테이트 드라이브(SSD), 내장형 멀티미디어카드(e.MMC) 및/또는 범용 플래시 저장(UFS) 장치를 형성할 수 있다. SSD, e.MMC 및/또는 UFS 장치는 다양한 다른 유형의 비휘발성 및 휘발성 메모리 중에서, 비휘발성 메모리(예를 들어, NAND 플래시 메모리 및/또는 NOR 플래시 메모리)를 포함할 수 있고/있거나 휘발성 메모리(예를 들어, DRAM 및/또는 SDRAM)를 포함할 수 있다. 비휘발성 메모리는, 그 중에서도, 개인용 컴퓨터, 휴대용 메모리 스틱, 디지털 카메라, 휴대 전화, 예컨대 MP3 플레이터, 무비 플레이어와 같은 휴대용 뮤직 플레이어들과 같은 광범위한 전자 애플리케이션들에 사용될 수 있다.
플래시 메모리 장치들은 예를 들어, 플로팅 게이트와 같은 전하 저장 구조에 데이터를 저장하는 메모리 셀들을 포함할 수 있다. 플래시 메모리 장치들은 일반적으로 높은 메모리 밀도, 높은 신뢰성 및 낮은 전력 소비를 허용하는 단일 트랜지스터 메모리 셀을 사용한다. 저항 가변 메모리 장치들은 저장 소자(예를 들어, 가변 저항을 갖는 저항성 메모리 소자)의 저항 상태에 기초하여 데이터를 저장할 수 있는 저항성 메모리 셀들을 포함할 수 있다.
메모리 셀들은 어레이들로 배열될 수 있으며, 어레이 아키텍처의 메모리 셀들은 타겟(예를 들어, 원하는) 상태로 프로그래밍될 수 있다. 예를 들어, 특정 데이터 상태로 셀을 프로그램하기 위해 플래시 메모리 셀의 전하 저장 구조(예를 들어, 플로팅 게이트)에 전하가 놓이거나 제거될 수 있다. 셀의 전하 저장 구조에 저장된 전하는 셀의 임계 전압(Vt)을 나타낼 수 있다. 플래시 메모리 셀의 상태는 셀의 전하 저장 구조(예를 들어, Vt)에 저장된 전하를 감지함으로써 결정될 수 있다.
많은 위협이 메모리 장치의 메모리 셀들에 저장된 데이터에 영향을 줄 수 있다. 이러한 위협들은 예를 들어, 메모리 장치에서 발생하는 결함들 및/또는 해커들 또는 기타 악의적인 사용자들로부터의 위협을 포함할 수 있다. 이러한 위협들은 상당한 재정적 손실을 야기할 수 있고/또는 심각한 안전 및/또는 보안 문제를 일으킬 수 있다.
도 1은 본 개시의 일 실시예에 따른 예시적인 차량 관련 엔티티의 블록도이다.
도 2는 본 개시의 일 실시예에 따른 예시적인 차량 관련 엔티티의 블록도이다.
도 3a는 본 개시의 일 실시예에 따른 엔티티 노드 및 복수의 엔티티 노드들을 포함하는 예시적인 환경이다.
도 3b는 본 개시의 일 실시예에 따른 복수의 차량 관련 통신 컴포넌트들 및 복수의 출입 통신 컴포넌트들을 포함하는 예시적인 환경이다.
도 4는 본 개시의 일 실시예에 따른 차량 관련 통신 컴포넌트와 출입 통신 컴포넌트 간 인증 데이터의 예시적인 전송이다.
도 5는 본 개시의 일 실시예에 따른 차량 관련 통신 컴포넌트 및 출입 통신 컴포넌트를 포함하는 예시적인 시스템의 블록도이다.
도 6은 본 개시의 일 실시예에 따른 다수의 파라미터들을 결정하기 위한 예시적인 프로세스의 블록도이다.
도 7은 본 개시의 일 실시예에 따른 다수의 파라미터들을 결정하기 위한 예시적인 프로세스의 블록도이다.
도 8은 본 개시의 일 실시예에 따른 인증서를 확인하기 위한 예시적인 프로세스의 블록도이다.
도 9는 본 개시의 일 실시예에 따른 서명을 확인하기 위한 예시적인 프로세스의 블록도이다.
도 10은 본 개시의 일 실시예에 따른 다수의 물리적 블록들을 갖는 메모리 어레이 일부의 도면을 예시한다.
도 11a는 본 개시의 일 실시예에 따른 메모리 장치 형태의 호스트 및 장치를 포함하는 컴퓨팅 시스템의 블록도이다.
도 11b는 본 개시의 일 실시예에 따른 피어 투 피어 및 인터넷 프로토콜(IP)와 같은 무선 프로토콜들을 사용하여 유선 및/또는 무선 방식으로 연결된 공중 및 개인 네트워크의 많은 컴퓨팅 노드들을 포함할 수 있는 컴퓨팅 시스템 네트워크의 블록도이다.
도 12는 본 개시의 일 실시예에 따른 메모리에 저장된 보안 업데이트들을 위해 회로부에 의해 동작되고 메모리에 저장될 수 있는 글로벌 원장 블록 체인과 로컬 원장 블록 체인들 사이의 교환의 일 예를 예시한다.
도 13은 본 개시의 일 실시예에 따른 메모리에 저장된 보안 업데이트들을 위한 로컬 원장 블록 체인의 일 예를 예시한다.
도 14a는 본 개시의 일 실시예에 따른 보안 메모리 어레이를 정의하는 데 사용된 레지스터 쌍의 일 예를 예시한다.
도 14b는 본 개시의 일 실시예에 따라 정의된 보안 메모리 어레이를 포함하는 메모리 어레이 일부의 도면을 예시한다.
도 15는 본 개시의 일 실시예에 따른 예시적인 메모리 장치의 블록도이다.
본 개시는 보안 트래픽 모니터링을 위한 장치들, 방법들 및 시스템들을 포함한다. 보안 트래픽 모니터링을 위한 예시적인 장치는 메모리 및 회로부를 포함할 수 있다. 회로부는 엔티티로부터 식별 데이터, 서명 및 위치로 진입하라는 요청을 수신하도록 구성될 수 있다. 회로부는 식별 데이터 및 서명에 기초하여 엔티티의 ID를 확인함으로써 상기 요청을 분석하도록 구성될 수 있다. 회로부는 블록 체인의 다수의 블록들 중 적어도 하나를 참조하여 엔티티와 연관된 데이터가 상기 위치로의 진입을 승인하는지 여부를 결정함으로써 상기 요청을 더 분석하도록 구성될 수 있다. 블록 체인의 복수의 블록들 각각은 블록 체인의 이전 블록의 암호화 해시 및 각자의 복수의 블록들 각각의 암호화 해시를 포함할 수 있다. 회로부는, 엔티티의 ID를 확인하고 상기 위치로의 진입을 승인하는 것에 응답하여, 블록 체인의 복수의 블록들에 블록을 생성하도록 구성될 수 있다.
블록 체인의 각 블록은 개별 호스트 또는 다수의 호스트들과 연관될 수 있다. 본원에 설명된 바와 같이, 메모리 및 회로부는 로컬 원장 블록 체인을 생성하기 위해 글로벌 원장 블록 체인으로부터 다수의 블록들을 수신하도록 구성될 수 있고, 로컬 원장 블록 체인은 호스트 및/또는 회로부와 연관된 메모리와 관련된 블록들만을 포함하며, 각 관련 호스트 및/또는 메모리는 특정 출입 지점, 특정 게이트 등과 연관된다.
많은 위협들이 메모리에(예를 들어, 메모리 장치) 저장된 데이터에 영향을 줄 수 있다. 예를 들어, 메모리의 어레이 및/또는 회로부에서 결함들이 발생할 수 있으며, 이로 인해 데이터에 오류들이 발생할 수 있고 특정 위치에 대한 무단 액세스가 발생할 수 있다. 추가 예로서, 해커 또는 기타 악의적인 사용자가 악의적인 목적으로 데이터를 무단으로 변경하는 활동들을 수행하려고 시도할 수 있다. 해커에 의해 수행된 이러한 활동들은 부정한 ID 제공, 제한 영역에 액세스하라는 부정 요청 등을 포함할 수 있다. 이러한 해킹 활동들(예를 들어, 공격들)은 차량 관련 엔티티가 액세스 권한이 없는 제한된 영역 또는 위치에 대한 액세스를 허용할 수 있으며 심각한 안전 및/또는 보안 문제들을 나타낼 수 있다.
이와 같이, 보안 메모리 시스템과 특정 위치들 및/또는 영역들에 대한 보안 액세스를 보장하기 위해, 식별 데이터 및/또는 위치로 액세스하라는 요청이 진본인지(예를 들어, 인증/승인된 엔티티로부터 온 것이 정확한지) 또는 해킹 활동이나 기타 무단 변경 및/또는 의도하지 않은 변경들에 의해 변경되지 않았거나 및/도는 부정하게 제공되지 않았음을 확인(예를 들어, 인증 및/또는 입증)하는 것이 중요하다. 본 개시의 실시예들은 식별 데이터 및/또는 액세스 요청을 효과적으로 확인하여 보안 메모리 시스템을 보장하기 위해 메모리를 블록 체인 데이터 구조의 블록으로 사용(예를 들어, 메모리를 블록 체인에 대한 저장 구성 요소로 사용)할 수 있다. 예를 들어, 본 개시의 실시예들은 메모리의 기존 회로부(예를 들어, 메모리 장치의 기존 펌웨어)를 수정, 활용 및/또는 다르게 동작시켜 상기 메모리에 추가(예를 들어, 새로운) 컴포넌트들 또는 회로부를 추가하지 않고, 글로벌 블록 체인의 블록과 연관된 메모리 및/또는 특정 차량 관련 엔티티, 특정 출입구 또는 게이트 등과의 연관을 나타내는 로컬 원장 블록 체인의 보다 구체적으로 구성된 데이터를 사용하는 것과 같이, 메모리를 블록 체인의 블록으로 사용할 수 있다.
본원에 사용된 바와 같이, "하나(a)", "하나(an)" 또는 "다수의(a number of)"는 하나 이상의 무언가를 나타낼 수 있으며, "복수의(a plurality of)"는 둘 이상의 그러한 것들을 나타낼 수 있다. 예를 들어, 메모리 장치는 하나 이상의 메모리 장치들을 지칭할 수 있고, 복수의 메모리 장치들은 둘 이상의 메모리 장치들을 지칭할 수 있다. 추가로, 특히 도면들의 참조 부호들과 관련하여, 본원에 사용된 바와 같은, “R”, “B”, “S” 및 “N”과 같은 지정자들은 이렇게 지정된 많은 특정 특징이 본 개시의 많은 실시예들에 포함될 수 있음을 나타낸다. 숫자는 지정자들 간 동일하거나 다를 수 있다.
본원에서 도면들은 첫 번째 숫자 또는 숫자들이 도면 번호에 해당하고 나머지 숫자들이 도면에서의 요소 또는 구성요소를 식별하는 넘버링 관례를 따른다. 다른 도면들 간 유사한 요소들 또는 구성요소들이 유사한 숫자들의 사용에 의해 식별될 수 있다. 예를 들어, 102는 도 1의 요소 "02"를 참조 표시할 수 있으며, 유사한 요소는 도 2의 202로 참조 표시될 수 있다.
일부 이전 접근 방식들에서, 차량 관련 엔티티(예를 들어, 시민 차량, 구급차, 경찰차 등)는 아래에서 설명하는 것보다 더 간단한 통신 방법들을 사용하여 다른 장치들(예컨대 출입구, 게이트 등)과 통신할 수 있다. 차량 관련 엔티티가 진입 노드와 통신하는 예에서, 통신은 안전하지 않을 수 있다. 예를 들어, 차량 관련 엔티티와 진입 노드 및/또는 추가 진입 노드 간의 통신은 통신을 변경하기 위해 해커 또는 다른 엔티티들에 의해 인터셉트되고/되거나 조작될 수 있으며, 통신을 반복하여 위치 또는 영역 등에 대한 무단 액세스를 얻을 수 있다. 이러한 경우에, 차량 관련 엔티티는 차량 관련 엔티티가 이러한 통신을 제공할 권한이 있음(예를 들어, 위치에 액세스, 도로에 진입 등)을 통신 수신자에게 보장하기 위해 자신의 ID를 확인하는 기능을 제공하지 않을 수 있다. 차량 관련 엔티티의 ID를 확인하는 기능과 차량 관련 엔티티가 위치에 액세스할 수 있는 권한이 있는지 여부를 확인하는 기능이 없으면, 통신이 승인되지 않을 수 있으며 위치에 대한 승인되지 않은 액세스가 발생할 수 있다.
차량 관련 엔티티와 관련된 차량 관련 통신 컴포넌트는 차량 관련 엔티티의 ID를 확인하고 다른 차량들, 진입 게이트들 등에 대해 이루어진 요청들이 승인되어, 보안 통신 및 제한된 위치들에 대한 승인된 액세스를 보장할 수 있는 서명, 식별 정보 데이터 등을 포함한 인증 데이터를 제공할 수 있다. 그러나, 이전 접근 방식들에서, 차량 관련 엔티티와 진입 노드 사이의 통신은 공개 및 보안되지 않을 수 있으며, 실제로 해당 위치에 대한 액세스 권한이 있는 차량 관련 엔티티가 해당 위치에 진입하는 기능에 부정적인 영향을 미칠 수 있는 가능한 부정한 활동을 도입할 수 있다.
본원에서 설명되는 바와 같이, 요청을 제공하고, ID를 확인하고, 차량 관력 엔티티에 대해 위치에 대한 액세스가 승인되었는지 여부를 결정하기 위한 보안 형식의 통신을 도입함으로써, 요청 데이터와 관련된 악의적 활동과 관련된 정보는 거절, 회피, 폐기 등 및/또는 위치에 대한 액세스가 거부될 수 있다. 공개 키들은 교환되어 데이터를 암호화하는 데 사용할 수 있는 반면, 단일 엔티티에 대해 비공개로 유지되는 개인 키들은 데이터를 복호화하는 데 사용될 수 있다. 이 방식으로, 개인 키가 없는 사용자는 액세스 데이터를 인터셉트해서 이를 처음 의도한 것과 다른 목적으로 사용하는 것이 방지된다. 또한, 개인 키들을 사용하여 인증서들 및 서명들을 생성하여 데이터 발신자의 ID들을 확인하고 데이터가 의도한 출처 또는 청구된 출처에서 비롯되었음을 보장할 수 있다.
도 1은 본 개시의 일 실시예에 따른, 예시적인 차량 관련 엔티티(102)의 블록도이다. 차량 관련 엔티티(102)는 자율 차량, 전통적인 비자율 차량, 서비스 차량 등일 수 있다. 차량 관련 엔티티(102)는 온보드 컴퓨터와 같은 차량 컴퓨팅 장치(112)를 포함할 수 있다. 도시된 바와 같이, 차량 컴퓨팅 장치(112)는 판독기, 기록기, 트랜시버 및/또는 정보를 교환하기 위해 아래에 설명된 기능들을 수행할 수 있는 기타 컴퓨팅 장치 또는 회로부와 같은 차량 관련 통신 컴포넌트(116)에 결합된, 즉 안테나(119)에 결합된(또는 예를 들어, 이를 포함하는) 프로세서(114)를 포함할 수 있다. 차량 관련 통신 컴포넌트(116)는 아래에 인용된 액션들(예를 들어, 암호화/복호화, 인스트럭션 실행 등)을 수행하는 데 사용되는 로직 및/또는 회로부를 포함할 수 있다. 차량 관련 통신 컴포넌트(116)는 비휘발성 플래시 메모리와 같은 메모리(118)에 결합된 처리 리소스(117)를 포함할 수 있지만, 실시예들은 이에 제한되지 않는다. 차량 컴퓨팅 장치(112)는 자율 차량, 구급차, 경찰 차량, 소방차 등과 같은 차량 관련 엔티티(102)에 또는 그 내부에 결합될 수 있다.
차량 관련 통신 컴포넌트(116)는 도 2와 관련하여 설명된 출입 엔티티, 또는 추가 전자 표지판, 전자 조명 및/또는 디지털화된 도로 등과 같은 추가 컴퓨팅 장치들로부터 교통, 도로 및/또는 차량 데이터를 수신할 수 있다. 일 예로서, 도로 및/또는 표지판은 도로/표지판 조건, 도로/표지판 상태 등과 관련된 데이터를 전달할 수 있는 통신 컴포넌트(차량 관련 통신 컴포넌트(116)와 유사함)에 결합되거나 도로 및/또는 표지판 내에 임베디드될 수 있다.
도 2는 출입 엔티티(233)의 블록도이다. 출입 엔티티는 위치의 출입 지점, 게이트, 도로에 대한 출입구 등일 수 있다. 출입 엔티티(233)는 출입 엔티티(233)에 결합, 부착 및/또는 매우 근접한 출입 컴퓨팅 장치(242)를 포함할 수 있다. 출입 컴퓨팅 장치(242)는 무선 통신과 같은 다양한 통신 방법들을 사용하여 차량 컴퓨팅 장치(112)와 통신할 수 있다. 도 2의 예에서, 출입 컴퓨팅 장치(242)는 출입 컴퓨팅 장치(242)의 인스트럭션들 및 제어 기능들을 실행하기 위한 프로세서(244)를 포함할 수 있다. 프로세서(244)는 판독기, 기록기, 트랜시버 및/또는 정보를 교환하기 위해 아래에 설명된 기능들을 수행할 수 있는 기타 컴퓨팅 장치 또는 회로부와 같은 출입 통신 컴포넌트에 결합, 즉 안테나(249)에 결합될(또는 예를 들어 이를 포함할) 수 있다. 출입 통신 컴포넌트(246)는 비휘발성 플래시 메모리와 같은 메모리(248)에 결합된 처리 리소스(247)를 포함할 수 있지만, 실시예들은 이에 제한되지 않는다. 출입 컴퓨팅 장치(242)의 안테나(249)는 도 1에 도시된 차량 컴퓨팅 장치(112)의 안테나(119)와 통신, 예를 들어 통신 가능하게 결합될 수 있다.
일부 예들에서, 안테나들(249 및 119)은 인덕터 코일 등으로 구성된 루프 안테나일 수 있다. 안테나(119)는 예를 들어 차량 컴퓨팅 장치(112) 주위에 루프를 만들 수 있다. 안테나(119)는 안테나(119)를 통해 흐르는 전류에 응답하여 전자기장을 생성할 수 있다. 예를 들어, 전자기장의 강도는 코일들의 수와 전류의 양에 따라 달라질 수 있다. 안테나(119)에 의해 생성된 전자기장은 각각의 출입 컴퓨팅 장치(242)에 전력을 공급하는 안테나(249)에서 전류 흐름을 유도할 수 있다. 일 예로서, 도 1의 안테나(119)는 출입 컴퓨팅 장치(242)가 안테나(119)의 통신 거리(예를 들어, 통신 범위) 내에 있을 때 안테나(249)에 전류 흐름을 유도할 수 있다. 예를 들어, 통신 거리는 안테나(119)에 의해 생성된 전자기장의 강도에 따라 달라질 수 있다. 안테나(119)에 의해 생성된 전자기장은 안테나(119)의 코일들의 수 및/또는 안테나(119)를 통과하는 전류에 의해 설정될 수 있어, 통신 거리가 차량 컴퓨팅 장치(112)의 위치로부터 출입 컴퓨팅 장치(242)까지 확장될 수 있다. 일부 예들에서, 통신 거리는 차량 컴퓨팅 장치(112)의 양쪽에서 약 50센티미터 내지 약 100센티미터일 수 있다. 대안으로, 통신 거리는 안테나(249)에 의해 생성된 전자기장의 강도에 따라 달라질 수 있다. 이 거리에서, 안테나(249)에 의해 생성된 전자기장은 249개의 코일들의 수 및/또는 안테나(249)를 통과하는 전류에 의해 설정될 수 있다.
일부 예들에서, 출입 컴퓨팅 장치(242)는 송신기, 트랜스폰더, 트랜시버 등과 같은 다수의 무선 통신 장치들을 포함할 수 있다. 일 예로서, 출입 통신 컴포넌트(246)는 이러한 무선 통신 장치일 수 있다. 사용될 수 있는 무선 통신은 근거리 통신(NFC) 태그, RFID 태그 등을 포함할 수 있다. 적어도 하나의 실시예에서, 무선 통신은 마이크로칩과 같은 칩들에 각각 통합될 수 있는 비휘발성 저장 컴포넌트들을 사용하여 수행될 수 있다. 각자의 칩들의 각각은 안테나(249)와 같은 각각의 안테나에 결합될 수 있다. 각각의 저장 컴포넌트들은 각각의 식별 데이터, 알림 데이터, 차량 데이터, 도로 데이터 및/또는 표지판 데이터를 저장할 수 있다.
차량 관련 및 출입 데이터는 차량 컴퓨팅 장치(112)가 각각의 출입 컴퓨팅 장치(242)의 통신 거리 내를 통과하는 것에 응답하여 차량 컴퓨팅 장치(112)의 차량 관련 통신 컴포넌트(116)로부터 출입 컴퓨팅 장치(242)의 출입 통신 컴포넌트(246)로 전송될 수 있다. 차량 및/또는 알림 데이터는 무선 주파수 신호들과 같은 신호들의 형태로 전송될 수 있다. 예를 들어, 차량 컴퓨팅 장치(112)의 차량 관련 통신 컴포넌트(116) 및 출입 컴퓨팅 장치(242)의 출입 통신 컴포넌트(246)는 무선 주파수 신호들을 사용하여 통신할 수 있다.
무선 통신 장치들이 NFC 태그들인 예들의 경우, 차량 컴퓨팅 장치(112)의 차량 관련 통신 컴포넌트(116)는 NFC 판독기일 수 있고 처리 리소스(117)에 의한 처리를 위해 메모리(118)에 저장될 수 있는 NFC 프로토콜을 사용하여 무선 통신 장치들과 통신할 수 있다. 일 예에서, 출입 통신 컴포넌트(246)와 같은, 차량 관련 통신 컴포넌트(116) 및 무선 통신 장치들은 공중 인터페이스 통신들을 위한 수동 RFID에 대한 ISO/IEC 18000-3 국제 표준에 따라 약 13.56 메가 헤르츠에서 통신할 수 있다. 예를 들어, 정보는 약 13.56 메가 헤르츠의 주파수를 갖는 신호의 형태로 전송될 수 있다.
일부 예들에서, 출입 컴퓨팅 장치(242)는 식별 데이터, 차량 데이터, 인증 데이터, 및/또는 접근하는 차량의 상태, 접근하는 차량의 ID, 특정 위치에 접근하기 위한 요청 등과 같은 요청 데이터를 수집하는 데 사용될 수 있다. 예를 들어, 현재 차량 상태(예를 들어, 차량이 이전에 위치에 진입했는지 여부, 위치에 진입하는 빈도, 요청에서 액세스를 요청하고 있는 위치가 어느 서브 영역에 있는지 여부), 차량의 ID 및/또는 날짜 및 시간이 차량 관련 통신 컴포넌트(116)로부터 출입 통신 컴포넌트(246)로 전송될 수 있다.
일부 예들에서, 차량 컴퓨팅 장치(112) 및/또는 출입 컴퓨팅 장치(242)는 앞서 설명된 바와 같이 될 수 있는 근거리 통신 장치(예를 들어, NFC 태그)와 같은 수동 무선 통신 장치를 사용할 수 있다. NFC 태그는 차량 정보, 식별 정보, 차량 관련 장치 또는 장치 정보, 및/또는 위치와 그 제한된 액세스에 대한 정보와 같은 정보를 저장하는 비휘발성 저장 컴포넌트를 갖는 칩을 포함할 수 있다. 또한, NFC 태그는 안테나를 포함할 수 있다.
차량 관련 통신 컴포넌트(116)는 NFC 태그로부터 정보를 수신할 수 있거나 및/또는 NFC 태그에 정보를 전송할 수 있다. 일부 예들에서, 통신 장치는 차량 장치 판독기와 같은 판독기(예를 들어, NFC 판독기)를 포함할 수 있다.
차량 관련 통신 컴포넌트(116)의 메모리(118)는 차량 관련 통신 컴포넌트(116)가 NFC 태그와 통신할 수 있게 하는 NFC 프로토콜에 따라 동작하는 인스트럭션들을 포함할 수 있다. 예를 들어, 차량 관련 통신 컴포넌트(116) 및 NFC 태그는 ISO/IEC 18000-3 국제 표준에 따라 약 13.56 메가 헤르츠에서와 같은 NFC 프로토콜을 사용하여 통신할 수 있다.
차량 관련 통신 컴포넌트(116)는 또한 병원, 소방서, 경찰서 등과 같은 운영 센터와 통신할 수 있다. 예를 들어, 차량 관련 통신 컴포넌트(116)는 운영 센터에 무선으로 결합되거나 유선으로 결합될 수 있다. 일부 예들에서, 차량 관련 통신 컴포넌트(116)는 WIFI를 통해 또는 인터넷을 통해 운영 센터와 통신할 수 있다. 차량 관련 통신 컴포넌트(116)는 NFC 태그와 연관된 안테나(119)가 앞서 설명된 바와 같이 안테나(249)의 통신 거리 내에 있을 때 NFC 태그에 전원을 공급할 수 있다. 통신 거리는 더 짧을 수 있고 장치들을 상대적으로 서로 가까이 가져갈 수 있으며 RFID 태그들을 사용하는 이전 접근 방식들보다 더 나은 보안을 제공하고 더 적은 전력을 사용할 수 있다.
도 3a는 본 개시의 일 실시예에 따른 차량 관련 엔티티(302) 및 복수의 노드들(333-1, 333-2, 333-3, 333-4) 및 중앙 노드(333-C)(이하, 총칭하여 진입 노드들 및 중앙 노드(233)이라 함)를 포함하는 예시적인 환경을 도시한다. 중앙 노드(333-C)는 중앙 노드(333-C)가 다른 노드들을 지휘한다는 점을 제외하고 진입 노드들(333-1, 333-2, 333-3, 333-4)과 유사한 노드일 수 있다. 일부 예들에서, 중앙 노드(333-C)는 (진입 노드들(333-1, 333-2, 333-3, 333-4)과 대조적으로) 특정 진입 지점과 연관되지 않은 노드일 수 있다.
도 3에 예시된 바와 같이, 진입 노드(302)는 차량 관련 엔티티(차량 관련 엔티티(302)와 같은)일 수 있다. 엔티티 노드(302)는 복수의 진입 노드들(333-1, 333-2, 333-3, 333-4) 및/또는 중앙 노드(333-C)와 통신할 수 있다. 마찬가지로, 복수의 노드들(333) 각각은 복수의 노드들(333) 중 다른 노드와 통신할 수 있다. 일 예로서, 진입 노드(333-1)는 진입 노드(333-2) 등과 통신할 수 있다. 진입 노드들(333) 각각은 중앙 노드(333-C)와 통신할 수 있다. 엔티티 노드(302)가 제1 진입 노드(333-1)에 접근함에 따라, 식별 데이터, 인증 데이터 등이 진입 노드(302)와 제1 진입 노드(333-1) 사이에서 교환될 수 있다. 식별 데이터는 차량 식별 정보 번호(VIN), 인증 키들(예컨대 아래에 설명된, 공개 키), 차량 관련 증명서, 번호판 ID, 운전자 데이터, 위치에 진입하여 도달될 목적지 등을 포함할 수 있다.
도 3b는 본 개시의 일 실시예에 따른 복수의 차량 관련 통신 컴포넌트들(316-1, 316-2, 316-3, 316-4)(이하 총칭하여 차량 관련 통신 컴포넌트들(316)이라고 함) 및 복수의 출입 통신 컴포넌트들(346-1, 346-2, 346-3, 346-4)(이하, 총칭하여 출입 통신 컴포넌트들(346)이라고 함)을 포함하는, 예시적인 환경이다. 제1 차량 관련 통신 컴포넌트(316-1)는 제1 차량 관련 엔티티(302-1)에 결합 및/또는 연관될 수 있다. 제2 차량 관련 통신 컴포넌트(316-2)는 제2 차량 관련 엔티티(302-2)에 결합 및/또는 연관될 수 있고, 제3 차량 관련 통신 컴포넌트(316-3)는 제3 차량 관련 엔티티(302-3)에 결합 및/또는 연관될 수 있으며, 제4 차량 관련 통신 컴포넌트(316-4)는 제4 차량 관련 엔티티(302-4)에 결합 및/또는 연관될 수 있다. 마찬가지로, 출입 통신 컴포넌트(346)는 도 3b에 예시된 바와 같이, 대응하는 출입 엔티티(333)(예컨대, 게이트, 출입 도로, 체크포인트 등)에 결합 및/또는 연관될 수 있다.
차량 관련 엔티티(302-1)의 제1 차량 관련 통신 컴포넌트(316-1)가 진입 통신 컴포넌트(346)의 특정 근접도 내로 접근하고 이에 따라 진입되거나 액세스될 위치(337) 부근에 접근함에 따라, 차량 관련 통신 컴포넌트(316-1)에 의해 차량 관련 엔티티(302-1)의 식별 정보 데이터 및 인증 데이터를 포함하는 데이터 전송이 시작될 수 있다. 이 예에서, 특정 근접도는 50cm, 500미터 등의 거리를 지칭할 수 있다. 그러나, 실시예들은 특정 근접도로 제한되지 않는다. 일 예에서, 특정 근접도는 안테나의 유형(도 1의 안테나(119) 및 도 2의 안테나(249)와 같은)에 따라 달라질 수 있다.
제1 차량 관련 통신 컴포넌트(316-1)와 제1 출입 통신 컴포넌트(346-1) 간의 통신은 식별 데이터, 인증 데이터, 액세스 요청 데이터 등의 교환을 포함할 수 있다. 인증 데이터는 공개 식별 정보, 인증서 식별 정보, 공개 키 및 차량 관련 서명을 포함할 수 있으며, 이는 아래 도 5 내지 9와 관련하여 추가로 설명될 것이다. 일단 인증 데이터가 제1 출입 엔티티(302-1)에 의해 확인되면, 다른 데이터는 제1, 제2, 제3 및 제4 출입 통신 컴포넌트들(346-1, 346-2, 346-3, 346-4) 간 및/또는 그들 사이에서 교환될 수 있다. 일 예로서, 블록 체인은 출입 통신 컴포넌트들(346) 사이에서 공유될 수 있으며, 출입 통신 컴포넌트들(346) 각각은 차량 관련 엔티티(302-1)의 ID와 차량 관련 엔티티(302-1)의 위치 및/또는 요청 이력을 확인하기 위해 통신될 수 있다. 일 예로서, 출입 통신 컴포넌트들(346) 중 하나가 위치(337)에 대한 액세스를 얻으려고 시도하는 차량 관련 엔티티가 이미 액세스 권한을 얻었고 위치(337)를 벗어나지 않았음을 나타내는 블록 체인의 블록에 데이터를 포함하는 경우, 액세스를 시도 중인 현재 차량 관련 엔티티에 대한 액세스가 거부될 것이다. 다시 말해, 동일한 식별 데이터를 가진 두 차량 관련 엔티티들은 동시에 위치(337)에 들어갈 수 없으므로 블록 체인 데이터에 특정 차량 관련 엔티티가 이미 진입했다고 나타나는 경우, 동일한 식별 데이터를 가진 후속 차량 관련 엔티티는 액세스가 거부될 것이다.
아래에 더 설명되는 바와 같이, 출입 통신 컴포넌트들(346) 각각은 도 10 내지 14b와 관련하여 설명된 바와 같이 로컬 원장 블록 체인을 저장할 수 있으며, 로컬 원장 블록 체인은 각 차량 관련 엔티티와 관련된 해당 데이터를 저장하는 데 사용된다. 일 예로서, 제1 출입 통신 컴포넌트(346-1)는 발생한 모든 출입 차량들을 나타내는 로컬 원장 블록 체인 데이터를 저장할 수 있다. 특정 로컬 원장 블록 체인에 액세스하면 위치(337)에 대한 해당 특정 출입 지점에 대한 데이터가 제공될 것이다. 제2 출입 통신 컴포넌트(346-2)는 제3 및 제4 출입 통신 컴포넌트들(346-3, 346-4)과 함께 해당 특정 출입 지점에 대한 모든 출입을 나타내는 제2 로컬 원장 블록 체인 데이터를 저장할 수 있다. 마찬가지로, 로컬 원장 블록 체인은 어느 출입구가 사용되었는지에 상관없이, 로컬 해당 특정 차량 관련 엔티티가 위치(337)에 출입할 때마다 로컬 원장 블록 체인에 나타날 수 있도록 특정 차량 관련 엔티티와 연관될 수 있으며, 사용된 각 특정 출입구가 해당 차량 관련 엔티티와 연관된 로컬 원장 블록 체인에 표시될 수 있다.
도 4는 차량 관련 통신 컴포넌트(416)와 출입 통신 컴포넌트(446) 사이의 인증 데이터(441, 443) 교환의 일 예시이다. 차량 관련 통신 컴포넌트(416)에 의해 전송되고 출입 통신 컴포넌트(446)에 의해 수신된 인증 데이터(441)의 일부는 차량 데이터(465), 차량 식별 정보 인증서("Vehicle_ID cert")(481), 차량 관련 공개 키("Vehicle KL1_Public key)(483), 암호화된 페이로드(493) 및 차량 관련 서명("차량 서명")(496)을 포함할 수 있다. 차량 관련 데이터(465)는 위치 또는 도로에 진입하는 데 사용되는 출입구(예를 들어, 게이트) ID, 위치 좌표(예를 들어, GPS 좌표), 차량의 식별 정보판, 차량과 관련된 보험 정보, 운전자 정보, 등을 포함할 수 있다. 차량 식별 정보 인증서(481)는 차량 관련 엔티티의 ID가 인증되었음을 확인하는 데 사용될 수 있다. 차량 관련 공개 키(483)는 도 5 내지 9와 관련하여 더 설명되는 바와 같이, 출입 통신 컴포넌트(446)가 수신된 데이터를 자신의 개인 키를 사용하여 복호화하기 위해 출입 통신 컴포넌트(446)로 전송될 데이터를 암호화하는 데 사용될 수 있다. 암호화된 페이로드(493)는 번호판 또는 ID, 보험 번호, 운전자 정보, 차량의 최종 목적지 등과 같은 암호화된 데이터를 포함할 수 있다(465와 유사하지만 추가 보안을 위해 암호화됨).
차량 서명(496)은 이 확인 가능한 서명이 있는 데이터가 차량 관련 엔티티가 주장하는 발신자로부터 온 것이 되도록 데이터가 인증된 엔티티로부터 전송되었음을 확인하는 데 사용된다. 차량 서명(496)은 차량 관련 개인 키(이는 해당 차량 관련 엔티티 전용임)를 사용하여 서명을 암호화함으로써 생성되고 공개적으로 제공된 차량 관련 공개 키를 사용하여 복호화된다. 서명 확인에 대한 추가 설명은 도 9와 관련하여 아래에 설명되어 있다.
출입 통신 컴포넌트(446)에 의해 전송되고 차량 관련 통신 컴포넌트(416)에 의해 수신된 인증 데이터(443)의 일부는 출입 데이터(466), 출입 식별 정보 인증서("Entrance_ID cert")(482), 출입 공개 키("Entrance_KL2_Public key")(484), 출입 응답(497) 및 출입 서명("출입 서명")(495)을 포함할 수 있다. 출입 데이터(466)는 다른 데이터 중에서도, 게이트 식별 정보(예를 들어, 위치, 이름 등), 위치 데이터(예를 들어, GPS 좌표)를 포함할 수 있다. 출입 식별 정보 인증서(482)는 출입 장치의 ID가 인증되었음을 확인하는 데 사용될 수 있다. 출입 공개 키(484)는 도 5 내지 9와 관련하여 더 설명되는 바와 같이, 출입 통신 컴포넌트(446)가 수신된 데이터를 자신의 개인 키를 사용하여 복호화하기 위해 출입 통신 컴포넌트(446)에 전송될 데이터를 암호화하는 데 사용될 수 있다. 출입 응답(497)은 차량 관련 엔티티가 인증되었는지 여부를 나타낼 수 있으며, 위치에 대한 액세스를 허용하고/하거나 출입의 수락 또는 거절에 대한 이유를 제공할 수 있다.
출입 서명(495)은 이 확인 가능한 서명이 있는 데이터가 출입 엔티티가 주장하는 발신자로부터 온 것이 되도록 데이터가 인증된 엔티티로부터 전송되었음을 확인하는 데 사용된다. 출입 서명(495)은 출입 개인 키(이는 해당 출입 엔티티 전용임)를 사용하여 서명을 암호화함으로써 생성되고 공개적으로 제공된 출입 공개 키를 사용하여 복호화된다. 서명 확인에 대한 추가 설명은 도 9와 관련하여 아래에 설명되어 있다.
이러한 공개 키들(차량 관련 및 출입)은 차량 관련 및/또는 출입 데이터를 교환하기 위해 각각의 통신 컴포넌트에 전송된 데이터를 암호화하고 각각의 ID를 확인하는 데 사용될 수 있다. 일 예로서, 도 5 내지 9와 관련하여 아래에 더 설명되는 바와 같이, 차량 관련 통신 컴포넌트(416)는 수신된 출입 공개 키(484)를 사용하여 데이터를 암호화하고 암호화된 데이터를 출입 통신 컴포넌트(446)로 전송할 수 있다. 마찬가지로, 출입 통신 컴포넌트(446)는 수신된 차량 관련 공개 키(483)를 사용하여 데이터를 암호화하고 암호화된 데이터를 차량 관련 통신 컴포넌트(416)로 전송할 수 있다. 출입 통신 컴포넌트(446)에 의해 전송된 차량 데이터와 같은 데이터는 출입 위치 데이터, 출입 식별 데이터 등을 포함할 수 있다. 차량 데이터 수신 확인은 차량 관련 통신 컴포넌트(416)의 ID를 확인하기 위해 디지털 서명과 함께 전송될 수 있다.
일 예에서, 차량 관련 통신 컴포넌트(416)와 출입 통신 컴포넌트(446) 사이에서 교환되는 데이터는 다른 것에 의해 사용되는 신선도를 가질 수 있다. 일 예로서, 차량 및/또는 출입 데이터의 수신 시 차량 관련 통신 컴포넌트(416)에 의해 출입 통신 컴포넌트(446)로 전송된 데이터 및/또는 출입 데이터는 특정 시간 프레임 각각에서 또는 전송되는 특정 양의 데이터에 대해 변경될 수 있다. 이는 해커가 이전에 보낸 데이터를 인터셉트하여 동일한 데이터를 다시 보내 동일한 결과를 초래하는 것을 방지할 수 있다. 데이터가 약간 변경되었지만 여전히 동일한 인스트럭션을 나타내는 경우, 해커는 나중에 동일한 정보를 보낼 수 있으며, 수신자는 변경된 데이터가 동일한 인스트럭션을 수행할 것으로 기대하므로 동일한 인스트럭션이 수행되지 않을 것이다.
차량 관련 통신 컴포넌트(416)와 출입 통신 컴포넌트(446) 사이에서 교환되는 데이터는 아래에 설명된 바와 같은 다수의 암호화 및/또는 복호화 방법들을 사용하여 수행될 수 있다. 데이터의 보안은 악의적인 활동이 차량 관련 엔티티 및/또는 출입 엔티티에 제공되는 차량 데이터를 방해하는 것이 방지됨을 보장할 수 있다.
도 5는 본 개시의 일 실시예에 따른 차량 관련 통신 컴포넌트(516) 및 출입 통신 컴포넌트(546)를 포함하는 예시적인 시스템의 블록도이다. 차량 관련 엔티티(예를 들어, 도 1의 102)가 출입 엔티티(예를 들어, 도 2의 출입 엔티티(233))에 근접하여 접근할 때, 출입 엔티티의 관련 출입 통신 컴포넌트(546)(예를 들어, 도 4의 446)는 센서(예를 들어, 무선 주파수 식별 센서(RFID))를 사용하여 차량 관련 엔티티의 차량 관련 통신 컴포넌트(516)와 데이터를 교환할 수 있다.
컴퓨팅 장치는 계층들을 사용하여 단계적으로 부팅할 수 있으며, 각 계층은 후속 계층을 인증 및 로드하고 각 계층에서 점점 더 정교한 런타임 서비스들을 제공한다. 계층은 이전 계층에 의해 제공될 수 있고, 후속 층에 제공될 수 있으며, 이에 의해 하위 계층들 위에 구축되고 더 높은 차수의 계층들을 제공하는 계층들의 상호 연결된 웹을 생성한다. 도 5에 예시된 바와 같이, 계층 0("L0")(551) 및 계층 1("L1")(553)은 차량 관련 통신 컴포넌트(516) 내에 있다. 계층 0(551)은 펌웨어 파생 시크릿(FDS) 키(552)를 계층 1(553)에 제공할 수 있다. FDS 키(552)는 계층 1(553)의 코드의 ID 및 다른 보안 관련 데이터를 기술할 수 있다. 일 예에서, 특정 프로토콜(예컨대 강력한 사물 인터넷(RIOT) 코어 프로토콜)은 FDS(552)를 사용하여 이를 로드하는 계층 1(553)의 코드를 확인할 수 있다. 일 예에서, 특정 프로토콜은 장치 식별 구성 엔진(device identification composition engine; DICE) 및/또는 RIOT 코어 프로토콜을 포함할 수 있다. 일 예로서, FDS은 계층 1 펌웨어 이미지 자체, 인증된 계층 1 펌웨어를 암호화 방식으로 식별하는 매니페스트, 보안 부팅 구현의 맥락에서 서명된 펌웨어의 펌웨어 버전 번호 및/또는 장치의 보안에 중요한 구성 설정들을 포함할 수 있다. 장치 시크릿(558)을 사용하여 FDS(552)를 생성하고 차량 관련 통신 컴포넌트(516)의 메모리에 저장될 수 있다.
차량 관련 통신 컴포넌트(516)는 화살표(554)로 예시된 바와 같이, 출입 통신 컴포넌트(546)로 데이터를 전송할 수 있다. 전송된 데이터는 공개된 차량 관련 식별 정보(예를 들어, 도 4의 465), 인증서(예를 들어, 차량 관련 식별 정보 인증서(481)) 및/또는 차량 관련 공개 키(예를 들어, 483)를 포함할 수 있다. 출입 통신 컴포넌트(546)의 계층 2("L2")(555)는 전송된 데이터를 수신하고, 운영 체제("OS")(557)의 동작 시 및 제1 애플리케이션(559-1) 및 제2 애플리케이션(559-2)에서 데이터를 실행할 수 있다.
예시적인 동작에서, 차량 관련 통신 컴포넌트(516)는 장치 시크릿(558)을 판독하고, 계층 1(553)의 ID를 해시하고, 다음을 포함하는 계산을 수행할 수 있다:
KL1 = KDF [Fs(s), 해시("변경 불가능 정보")]
여기서, KL1은 차량 관련 공개 키이고, KDF(예를 들어, NIST(National Institute of Standards and Technology) 특별 간행물 800-108에 정의된 KDF)는 키 유도 함수(즉, HMAC-SHA256)이며, Fs(s)는 장치 시크릿(558)이다. FDS(552)는 다음을 수행하여 결정될 수 있다:
FDS = HMAC-SHA256 [ Fs(s), SHA256(“변경 불가능 정보”)]
마찬가지로, 출입 통신 컴포넌트(546)는 화살표(556)로 예시된 바와 같이, 공개된 출입 식별 정보(예를 들어, 출입 공개 식별 정보(466)), 출입 인증서(예를 들어, 차량 관련 식별 정보 인증서(482)), 및/또는 출입 공개 키(예를 들어, 공개 키(484))를 포함하는 데이터를 전송할 수 있다.
도 6은 본 개시의 일 실시예에 따른 다수의 파라미터들을 결정하기 위한 예시적인 프로세스의 블록도이다. 도 6은, 출입 통신 컴포넌트(예를 들어, 도 5의 546)의, 화살표(654)로 표시된, 계층 2(예를 들어, 계층 2(555))로 전송되는, 차량 관련 공개 식별 정보, 차량 관련 인증서 및 차량 관련 공개 키를 포함하는 파라미터들의 결정의 일 예이다. 도 6의 계층 0("L0")(651)은 도 5의 계층 0(551)에 대응하고, 마찬가지로 FDS(652)는 FDS(552)에 대응하고, 계층 1(653)은 계층 1(553)에 대응하고, 화살표들(654 및 656)은 각각 화살표들(554 및 556)에 대응한다.
계층 0(651)의 FDS(652)는 계층 1(653)로 전송되고, 비대칭 ID 생성기(661)에 의해 사용되어 공개 식별 정보("IDlk public")(666) 및 개인 식별 정보(667)를 생성한다. 약어 "IDlk public"에서 "lk"는 계층 k(이 예에서는 계층 1)를 나타내고, "public"은 ID가 공개적으로 공유됨을 나타낸다. 공개 식별 정보(“IDL1public") (666)는 차량 관련된 통신 컴포넌트의 계층 1(653)의 오른쪽 및 외부로 연장되는 화살표에 의해 공유되는 것으로 예시된다. 생성된 개인 식별 정보(667)는 암호화기(673)에 입력되는 키로서 사용된다. 암호화기(673)는 데이터를 암호화하는데 사용되는 임의의 프로세서, 컴퓨팅 장치 등일 수 있다.
차량 관련 통신 컴포넌트의 계층 1(653)은 비대칭 키 생성기(663)를 포함할 수 있다. 적어도 한 예에서, 난수 생성기(RND)(650)는 선택적으로 비대칭 키 생성기(663)에 난수를 입력할 수 있다. 비대칭 키 생성기(663)는 도 5의 차량 관련 통신 컴포넌트(516)와 같은 차량 관련 통신 컴포넌트와 관련된 공개 키("KLk public")(684)(차량 관련 공개 키라고 함) 및 개인 키("KLK private")(671)(차량 관련 개인 키라고 함)를 생성할 수 있다. 차량 관련 공개 키(683)는 암호화기(673)에 대한 ("데이터"로서의) 입력일 수 있다. 암호화기(673)는 차량 관련 개인 식별 정보(667) 및 차량 관련 공개 키(683)의 입력들을 사용하여 결과(K')(675)를 생성할 수 있다. 차량 관련 개인 키(671)와 결과(K')(675)는 추가 암호화기(677)에 입력될 수 있으며, 그 결과 출력(K'')(679)이 생성된다. 출력(K'')(679)은 계층 2(도 5의 555)로 전송된 차량 관련 인증서("IDL1 certificate")(681)이다. 차량 관련 인증서(681)는 차량 관련 엔티티로부터 전송된 데이터의 출처를 확인 및/또는 인증하는 기능을 제공할 수 있다. 일 예로서, 차량 관련 통신 컴포넌트로부터 전송된 데이터는 도 8과 관련하여 더 설명되는 바와 같이, 인증서를 확인함으로써 차량 관련 통신 컴포넌트의 ID와 연관될 수 있다. 또한, 차량 관련 공개 키("KL1 public key")(683)는 계층 2로 전송될 수 있다. 따라서, 차량 관련 통신 컴포넌트의 계층 1(653)의 공개 식별 정보(665), 인증서(681) 및 차량 관련 공개 키(683)는 출입 통신 컴포넌트의 계층 2로 전송될 수 있다.
도 7은 본 개시의 일 실시예에 따른 다수의 파라미터들을 결정하기 위한 예시적인 프로세스의 블록도이다. 도 7은 출입 식별 정보("IDL2 public")(766), 출입 인증서("IDL2 Certificate")(782), 및 출입 공개 키("KL2 public key")(784)를 생성하는 출입 통신 컴포넌트(예를 들어, 도 5의 출입 통신 컴포넌트(546))의 계층 2(755)를 예시한다.
도 6에 설명된 바와 같이, 출입 통신 컴포넌트의 계층 1에서 차량 관련 통신 컴포넌트의 계층 2(755)로 전송된 출입 공개 키("KL1 public key")(784)는 출입 통신 컴포넌트의 비대칭 ID 생성기(762)에 의해 사용되어 출입 통신 컴포넌트의 공개 식별 정보("IDlk public")(766) 및 개인 식별 정보(768)을 생성한다. 약어 "IDlk public"에서 "lk"는 계층 k(이 예에서는 계층 2)를 나타내고, "public"은 ID가 공개적으로 공유됨을 나타낸다. 공개 식별 정보(766)는 계층 2(755)의 오른쪽 및 외부로 연장되는 화살표에 의해 공유되는 것으로 예시된다. 생성된 개인 식별 정보(768)는 암호화기(774)에 입력되는 키로서 사용된다.
도 7에 도시된 바와 같이, 출입 인증서(782) 및 출입 식별 정보(766)는 출입 공개 키(784)와 함께 인증서 확인기(723)에 의해 사용된다. 인증서 확인기(723)는 호스트(예를 들어, 호스트(516))로부터 수신된 차량 관련 인증서(781)를 확인할 수 있으며, 차량 관련 인증서(782)의 확인 여부에 응답하여, 호스트로부터 수신된 데이터를 수락할지 또는 폐기할지 여부를 결정할 수 있다. 차량 관련 인증서(781)를 확인하는 추가 세부사항들이 도 8과 관련하여 설명된다.
출입 통신 컴포넌트의 계층 2(755)는 비대칭 키 생성기(764)를 포함할 수 있다. 적어도 한 예에서, 난수 생성기(RND)(650)는 선택적으로 비대칭 키 생성기(764)에 난수를 입력할 수 있다. 비대칭 키 생성기(764)는 도 5의 출입 통신 컴포넌트(546)와 같은 출입 통신 컴포넌트와 관련된 공개 키("KLk public")(784)(출입 공개 키라고 함) 및 개인 키("KLK private")(772)(출입 개인 키라고 함)를 생성할 수 있다. 출입 공개 키(770)는 암호화기(774)에 대한 ("데이터"로서의) 입력일 수 있다. 암호화기(774)는 출입 개인 식별 정보(768) 및 차량 관련 공개 키(770)의 입력들을 사용하여 결과(K')(776)를 생성할 수 있다. 출입 개인 키(772)와 결과(K')(776)는 추가 암호화기(778)에 입력될 수 있으며, 그 결과 출력(K'')(780)이 생성된다. 출력(K'')(780)은 계층 1(도 5의 553)로 다시 전송된 출입 인증서("IDL2 certificate")(782)이다. 출입 인증서(782)는 장치로부터 전송된 데이터의 출처를 확인 및/또는 인증하는 기능을 제공할 수 있다. 일 예로서, 출입 통신 컴포넌트로부터 전송된 데이터는 도 8과 관련하여 더 설명되는 바와 같이, 인증서를 확인함으로써 출입 통신 컴포넌트의 ID와 연관될 수 있다. 또한, 출입 공개 키("KL2 public key")(784)는 계층 1로 전송될 수 있다. 따라서, 공개 식별 정보(766), 인증서(782) 및 출입 통신 컴포넌트의 출입 공개 키(784)는 차량 관련 통신 컴포넌트의 계층 1로 (그리고 그 반대의 경우 차량 관련 통신 컴포넌트의 요소들이 출입 통신 컴포넌트로 전송되는 방향으로) 전송될 수 있다.
일 예에서, 차량 관련 통신 컴포넌트가 출입 통신 컴포넌트로부터 공개 키를 수신하는 것에 응답하여, 차량 관련 통신 컴포넌트는 출입 공개 키를 사용하여 출입 통신 컴포넌트로 전송될 데이터를 암호화할 수 있다. 반대로, 출입 통신 컴포넌트는 차량 관련 공개 키를 사용하여 차량 관련 통신 컴포넌트로 전송될 데이터를 암호화할 수 있다. 차량 관련 통신 컴포넌트가 차량 관련 공개 키를 사용하여 암호화된 데이터를 수신하는 것에 응답하여, 차량 관련 통신 컴포넌트는 그 자신의 차량 관련 개인 키를 사용하여 데이터를 복호화할 수 있다. 마찬가지로, 출입 통신 컴포넌트가 출입 공개 키를 사용하여 암호화된 데이터를 수신하는 것에 응답하여, 출입 통신 컴포넌트는 그 자신의 출입 개인 키를 사용하여 데이터를 복호화할 수 있다. 차량 관련 개인 키는 차량 관련 통신 컴포넌트 외부의 다른 장치와 공유되지 않고 출입 개인 키는 출입 통신 컴포넌트 외부의 다른 장치와 공유되지 않으므로, 차량 관련 통신 컴포넌트 및 출입 통신 컴포넌트로 전송되는 데이터는 안전하게 유지된다.
도 8은 본 개시의 일 실시예에 따른 인증서를 확인하기 위한 예시적인 프로세스의 블록도이다. 도 8의 예시된 예에서, 공개 키(883), 인증서(881) 및 공개 식별 정보는 차량 관련 통신 컴포넌트로부터(예를 들어, 도 5의 차량 관련 통신 컴포넌트(516)의 계층 1(553)로부터) 제공된다. 인증서(881) 및 차량 관련 공개 키(883)의 데이터는 복호화기(885)에 대한 입력들로 사용될 수 있다. 복호화기(885)는 데이터를 복호화하는데 사용되는 임의의 프로세서, 컴퓨팅 장치 등일 수 있다. 인증서(881) 및 차량 관련 공개 키(883)의 복호화 결과는 공개 식별 정보와 함께 2차 복호화기(887)에 대한 입력으로서 사용될 수 있으며, 그 결과 출력이 생성된다. 차량 관련 공개 키(883) 및 복호화기(887)의 출력은, 889에 예시된 바와 같이, 인증서가 확인되었는지 여부를 나타낼 수 있으며, 그 결과 예 또는 아니오(891)가 출력으로 생성된다. 인증서가 확인되는 것에 응답하여, 확인중인 장치로부터 수신된 데이터가 수락, 복호화 및 처리된다. 인증서가 확인되지 않는 것에 응답하여, 확인중인 장치로부터 수신된 데이터가 폐기, 제거 및/또는 무시된다. 이러한 방식으로, 부정한 데이터를 보내는 부정한 장치들이 검출되고 방지될 수 있다. 일 예로서, 처리될 데이터를 보내는 해커가 식별될 수 있으며 해킹 데이터가 처리되지 않을 수 있다.
도 9는 본 개시의 일 실시예에 따른 서명을 확인하기 위한 예시적인 프로세스의 블록도이다. 장치가 후속 거부를 피하기 위해 확인될 수 있는 데이터를 보내는 경우, 서명이 생성되어 데이터와 함께 전송될 수 있다. 일 예로서, 제1 장치는 제2 장치에 대한 요청을 할 수 있으며, 제2 장치가 요청을 수행하면, 제1 장치는 제1 장치가 이러한 요청을 한 적이 없음을 나타낼 수 있다. 서명을 사용하는 것과 같은 부인 방지 접근 방식은 제1 장치에 의한 부인을 방지하고, 제2 장치가 후속 어려움 없이 요청된 작업을 수행할 수 있도록 보장할 수 있다.
차량 관련 컴퓨팅 장치(912)(도 1의 차량 컴퓨팅 장치(112)와 같은)는 차량 관련 컴퓨팅 장치(도 1의 출입 컴퓨팅 장치(112)와 같은)로 데이터(990)를 전송할 수 있다. 차량 관련 컴퓨팅 장치(912)는, 994에서, 차량 관련 개인 키(972)를 사용하여 서명(996)을 생성할 수 있다. 서명(996)은 출입 컴퓨팅 장치(942)로 전송될 수 있다. 출입 컴퓨팅 장치(942)는, 998에서, 이전에 수신된 데이터(992) 및 차량 관련 공개 키(984)를 사용하여 확인할 수 있다. 이 방식으로, 서명 확인은 개인 키를 사용하여 서명을 암호화하고 공개 키를 사용하여 서명을 복호화하는 방식으로 동작한다. 이러한 방식으로, 고유 서명을 생성하는 데 사용되는 개인 키는 서명을 보내는 장치에 대해 비공개로 유지될 수 있으며, 수신 장치가 확인을 위해 전송 장치의 공개 키를 사용하여 서명을 복호화할 수 있도록 한다. 이는 데이터의 암복호화/복호화와 대조되는 것으로, 이는 수신 장치의 공개 키를 사용하여 전송 장치에 의해 암호화되고 수신기의 개인 키를 사용하여 수신 장치에 의해 복호화된다. 적어도 하나의 예에서, 차량은 내부 암호화 프로세스(예를 들어, 타원 곡선 디지털 서명(Elliptical Curve Digital signature; ECDSA)) 또는 유사한 프로세스를 사용하여 디지털 서명을 확인할 수 있다.
도 10은 본 개시의 일 실시예에 따른 다수의 물리적 블록들을 갖는 메모리 어레이(1001) 일부의 도면을 예시한다. 메모리 어레이(1001)는, 예를 들어, NAND 및/또는 NOR 플래시 메모리 어레이와 같은 플래시 메모리 어레이일 수 있다. 한 예시적인 실시예에서, 메모리(1001)는 NOR 플래시 메모리 어레이(1001)이다. 한 추가 예로서, 메모리 어레이(1001)는, 그 중에서도, PCRAM, RRAM, MMRAM, 또는 스핀 토크 전달(STT) 어레이와 같은 저항 가변 메모리 어레이일 수 있다. 그러나, 본 개시의 실시예들은 특정 유형의 메모리 어레이로 제한되지는 않는다. 또한, 메모리 어레이(1001)는 본원에 추가로 설명되는 바와 같이 보안 메모리 어레이일 수 있다. 또한, 도 10에 도시되지는 않았지만, 메모리 어레이(1001)는 그 동작과 관련된 다양한 주변 회로부와 함께 특정 반도체 다이 상에 위치될 수 있다.
도 10에 도시된 바와 같이, 메모리 어레이(1001)는 메모리 셀들의 다수의 물리적 블록들(1007-0(블록 0), 107-1(블록 1), ..., 107-B(블록 B))을 갖는다. 메모리 셀들은 단일 레벨 셀들 및/또는 예를 들어, 투 레벨 셀들, 트리플 레벨 셀들(TLC들) 또는 쿼드러플 레벨 셀들(QLC들)과 같은 다중 레벨 셀들일 수 있다. 일 예로서, 메모리 어레이(101)의 물리적 블록들의 수는 128개의 블록들, 512개의 블록들, 또는 1,024개의 블록들일 수 있지만, 실시예들은 메모리 어레이(1001)의 특정 수의 물리적 블록들 또는 특정 2의 거듭제곱으로 제한되지는 않는다.
메모리 셀들의 다수의 물리적 블록들(예를 들어, 블록들(1007-0, 1007-1, ..., 1007-B))은 메모리 셀들의 평면에 포함될 수 있고, 다수의 메모리 셀들의 평면들은 다이 상에 포함될 수 있다. 예를 들어, 도 10에 도시된 예에서, 각 물리적 블록(1007-0, 1007-1, ..., 1007-B)은 단일 다이의 일부일 수 있다. 즉, 도 10에 예시된 메모리 어레이(1001)의 부분은 메모리 셀들의 다이일 수 있다.
도 10에 도시된 바와 같이, 각 물리적 블록(1007-0, 1007-1, ..., 1007-B)은 액세스 라인들(예를 들어, 워드 라인들)에 결합된 메모리 셀들의 다수의 물리적 행들(예를 들어, 1003-0, 1003-1, ..., 1003-R)을 포함한다. 각 물리적 블록의 행들(예를 들어, 워드 라인들)의 수는 32개일 수 있지만, 실시예들은 물리적 블록당 특정 개수의 행들(1003-0, 1003-1, ...,1003-R)로 제한되지는 않는다. 또한, 도 10에 도시되지는 않았지만, 메모리 셀들은 감지 라인들의 열들(예를 들어, 데이터 라인들 및/또는 디지트 라인들)에 결합될 수 있다.
당업자가 이해할 수 있는 바와 같이, 각 행(1003-0, 1003-1, ..., 1003-R)은 메모리 셀들의 다수의 페이지들(예를 들어, 물리적 페이지들)을 포함할 수 있다. 물리적 페이지는 프로그래밍 및/또는 감지의 단위(예를 들어, 기능 그룹으로 함께 프로그래밍 및/또는 감지되는 메모리 셀들의 수)를 말한다. 도 1에 도시된 실시예에서, 각 행(1003-0, 1003-1, ..., 1003-R)은 메모리 셀들의 하나의 물리적 페이지를 포함한다. 그러나, 본 개시의 실시예는 이에 제한되지 않는다. 예를 들어, 일 실시예에서, 각 행은 메모리 셀들의 다수의 물리적 페이지들(예를 들어, 짝수 데이터 라인들에 결합된 메모리 셀들의 하나 이상의 짝수 페이지들, 및 홀수 데이터 라인들에 결합된 메모리 셀들의 하나 이상의 홀수 페이지들)을 포함할 수 있다. 추가로, 다중 레벨 셀들을 포함하는 실시예들의 경우, 메모리 셀들의 물리적 페이지는 데이터의 다수의 페이지들(예를 들어, 논리적 페이지들)(예를 들어, 물리적 페이지의 각 셀이 데이터의 상위 페이지를 향해 하나 이상의 비트들을 저장하고 데이터의 하위 페이지를 향해 하나 이상의 비트들을 저장하는, 데이터의 상위 페이지 및 데이터의 하위 페이지)을 저장할 수 있다.
도 10에 도시된 바와 같이, 메모리 셀들의 페이지는 다수의 물리적 섹터들(1005-0, 1005-1, ..., 1005-S)(예를 들어, 메모리 셀들의 서브셋들)을 포함할 수 있다. 셀들의 각 물리적 섹터(1005-0, 1005-1, ..., 1005-S)는 다수의 논리적 데이터 섹터들을 저장할 수 있다. 추가로, 각 논리적 데이터 섹터는 특정 데이터 페이지의 일부에 대응할 수 있다. 일 예로서, 특정 물리적 섹터에 저장된 데이터의 제1 논리적 섹터는 데이터의 제1 페이지에 대응하는 논리적 섹터에 대응할 수 있고, 특정 물리적 섹터에 저장된 데이터의 제2 논리적 섹터는 데이터의 제2 페이지에 대응할 수 있다. 각 물리적 섹터(1005-0, 1005-1, ..., 1005-S)는 시스템 및/또는 사용자 데이터를 저장할 수 있고/있거나 에러 정정 코드(ECC) 데이터, 논리적 블록 어드레스(LBA) 데이터 및 메타데이터와 같은 오버헤드 데이터를 포함할 수 있다.
논리적 블록 어드레싱은 데이터의 논리적 섹터를 식별하기 위해 호스트에 의해 사용될 수 있는 방식이다. 예를 들어, 각 논리적 섹터는 고유한 논리적 블록 어드레스(LBA)에 대응할 수 있다. 추가로, LBA는 또한 메모리에서 데이터의 해당 논리적 섹터의 물리적 위치를 나타낼 수 있는, 물리적 블록 어드레스(PBA)와 같은, 물리적 어드레스에 대응(예를 들어, 동적으로 매핑)할 수 있다. 데이터의 논리적 섹터는 데이터의 바이트 수(예를 들어, 256 바이트, 512 바이트, 1,024 바이트 또는 4,096 바이트)일 수 있다. 그러나, 실시예들은 이러한 예들로 제한되지는 않는다.
물리적 블록들(1007-0, 1007-1, ..., 1007-B), 행들(1003-0, 1003-1, ..., 1003-R), 섹터들(1005-0, 1005-1, ..., 1005-S) 및 페이지들에 대한 다른 구성들이 가능하다는 점에 유의한다. 예를 들어, 행들(1003-0, 1003-1, ..., 1003-R)의 물리적 블록들(1007-0, 1007-1, ..., 1007-B)은 각각 예를 들어, 512 바이트보다 많거나 적은 데이터를 포함할 수 있는 단일 논리적 섹터에 해당하는 데이터를 저장할 수 있다.
도 11a는 본 개시의 일 실시예에 따른 메모리 장치(1106) 형태의 호스트(1102) 및 장치를 포함하는 컴퓨팅 시스템(1100)의 블록도이다. 본원에 사용된 바와 같이, "장치(apparatus)"는, 이에 제한되는 것은 아니나, 예를 들어, 회로 또는 회로부, 다이 또는 다이들, 모듈 또는 모듈들, 장치 또는 장치들, 또는 시스템 또는 시스템들과 같은 임의의 다양한 구조들 또는 구조들의 조합들로 지칭할 수 있다. 또한, 일 실시예에서, 컴퓨팅 시스템(200)은 메모리 장치(1106)와 유사한 다수의 메모리 장치들을 포함할 수 있다. 한 예시적인 실시예에서, 도 11b에 더 도시된 바와 같이, 컴퓨팅 시스템(1100)은 분산형의, 피어 투 피어 네트워크와 같은 대규모 노드들의 네트워크 내의 노드를 나타낼 수 있다.
도 11a에 예시된 실시예에서, 메모리 장치(1106)는 메모리 어레이(1101)를 갖는 메모리(1140)를 포함할 수 있다. 도 11a에 도시된 바와 같이, 메모리(1140)는 블록 체인 기술 시스템에서 사용되는 "블록 체인 데이터"(1120)를 메모리 어레이(1101)에 저장할 수 있다. 블록 체인 기술 시스템의 블록 체인 데이터의 "블록"은 데이터(예를 들어, 페이로드), 헤더, 암호화, 이력, 타임스탬프 등을 포함할 수 있다. 도 12 및 13과 관련하여 본원에 더 설명되는 바와 같이, 블록 체인 데이터(1120)는 "로컬 블록 체인" 데이터 및/또는 "글로벌 블록 체인" 데이터일 수 있고, 저장된 글로벌 블록 체인 원장(예를 들어, "글로벌 원장 블록 체인" 데이터) 및/또는 저장된 로컬 블록 체인 원장(예를 들어, "로컬 원장 블록 체인" 데이터)을 포함할 수 있다.
메모리 어레이(1101)는 도 10과 관련하여 앞서 설명된 메모리 어레이(1001)와 유사할 수 있다. 그러나, 본원에 사용된 바와 같이, 블록 체인 아키텍처의 블록 체인 데이터 블록은 앞서 도 1과 관련하여 설명된 바와 같이 메모리 블록의 크기와 동일할 필요가 없다. 따라서, "글로벌 블록" 및/또는 "로컬 블록"이라는 용어는 메모리에 블록 체인 데이터로 저장될 때 메모리의 블록 크기 단위와 동일할 필요가 없다. 글로벌 블록 및/또는 로컬 블록은 특정 메모리 아키텍처 또는 디자인과 관련된, 블록 크기 단위, 예를 들어 디노미네이션(denomination)보다 더 작거나, 동등하거나, 및/또는 더 클 수 있다. 또한, 메모리 어레이(1101)는 도 14a 및 14b와 관련하여 본원에 추가로 설명되는 바와 같이, 보안 어레이일 수 있다. 하나의 메모리 어레이(1101)가 도 11a에 예시되어 있지만, 메모리(1140)는 메모리 어레이(1101)와 유사한 임의의 개수의 메모리 어레이들을 포함할 수 있다.
도 11a에 예시된 바와 같이, 호스트(1102)는 인터페이스(1104)를 통해 메모리 장치(1106)에 결합될 수 있다. 호스트(1102) 및 메모리 장치(1106)는 인터페이스(1104) 상에서 통신(예를 들어, 명령들 및/또는 블록 체인 데이터(220)와 같은 데이터를 전송)할 수 있다. 호스트(1102) 및/또는 메모리 장치(1106)는 랩톱 컴퓨터, 개인용 컴퓨터, 디지털 카메라, 디지털 기록 및 재생 장치, 모바일 폰, PDA, 메모리 카드 리더, 인터페이스 허브, 또는 예를 들어, 다른 호스트 시스템 중에서도, 자동차(예를 들어, 차량 및/또는 운송 인프라) IoT 가능 장치 또는 의료(예를 들어, 이식 가능 및/또는 건강 모니터링) IoT 가능 장치와 같은 사물 인터넷(IoT) 가능 장치이거나, 그 일 일부일 수 있으며, 메모리 액세스 장치(예를 들어, 프로세서)를 포함할 수 있다. 당업자들은 "프로세서"가 병렬 처리 시스템, 다수의 코프로세서들 등과 같은 하나 이상의 프로세서들을 의미할 수 있음을 이해할 것이다.
인터페이스(1104)는 표준화된 물리적 인터페이스 형태일 수 있다. 예를 들어, 메모리 장치(1106)가 컴퓨팅 시스템(1100)에 정보 저장을 위해 사용될 때, 인터페이스(1104)는, 다른 물리적 커넥터들 및/또는 인터페이스들 중에서도, 직렬 고급 기술 결합(SATA) 물리적 인터페이스, 주변 컴포넌트 인터커넥트 익스프레스(PCIe) 물리적 인터페이스, 범용 직렬 버스(USB) 물리적 인터페이스 또는 소형 컴퓨터 시스템 인터페이스(SCSI)일 수 있다. 인터페이스(1104)는 메모리 장치(1106)와 인터페이스(1104)에 대한 호환 가능한 리셉터들을 갖는 호스트(예를 들어, 호스트(1102)) 사이에 제어, 어드레스, 정보(예를 들어, 데이터), 및 기타 신호들을 전달하기 위한 인터페이스를 제공할 수 있다.
메모리 장치(1106)는 호스트(1102) 및 메모리(1140)(예를 들어, 메모리 어레이(1101))와 통신하는 컨트롤러(1108)를 포함한다. 예를 들어, 컨트롤러(1108)는, 다른 동작들 중에서도, 데이터(예를 들어, "로컬" 및/또는 "글로벌" 블록 체인 데이터)를 감지(예를 들어, 판독), 프로그래밍(예를 들어, 기입), 이동 및/또는 소거하는 동작들을 포함하는, 메모리 어레이(1101)에 대한 동작들을 수행하도록 하는 명령들을 전송할 수 있다. 다시, 블록 체인 기술 및 시스템에서 블록 체인 데이터에 대한 "글로벌 블록" 및/또는 "로컬 블록"이라는 용어들의 의도된 의미는 도 12 및 13과 관련하여 정의된다.
컨트롤러(1108)는 메모리(1140)와 동일한 물리적 장치(예를 들어, 동일한 다이)에 포함될 수 있다. 대안으로, 컨트롤러(1108)는 메모리(1140)를 포함하는 물리적 장치에 통신 가능하게 결합되는 별도의 물리적 장치에 포함될 수 있다. 일 실시예에서, 컨트롤러(1108)의 컴포넌트들은 분산형 컨트롤러로서 다수의 물리적 장치들(예를 들어, 메모리와 동일한 다이 상의 일부 컴포넌트들 및 다른 다이, 모듈 또는 보드 상의 일부 컴포넌트들)에 걸쳐 분산될 수 있다.
호스트(1102)는 메모리 장치(1106)와 통신하기 위한 호스트 컨트롤러(도 11a에 도시되지 않음)를 포함할 수 있다. 호스트 컨트롤러는 인터페이스(1104)를 통해 메모리 장치(1106)에 명령들을 전송할 수 있다. 호스트 컨트롤러는 메모리 장치(1106) 및/또는 메모리 장치(1106) 상의 컨트롤러(1108)와 통신하여, 다른 동작들 중에서도, 데이터(예를 들어, "로컬" 및/또는 "글로벌" 블록 체인 데이터)를 판독, 기입, 및/또는 소거할 수 있다. 또한, 일 실시예에서, 호스트(1102)는, 앞서 본원에 설명된 바와 같이, IoT 통신 능력을 갖는 IoT 가능 장치일 수 있다.
메모리 장치(1106) 상의 컨트롤러(1108) 및/또는 호스트(202) 상의 호스트 컨트롤러는 예를 들어, DICE-RIoT 아키텍처 및/또는 프로토콜에 따라, 예를 들어 도 12 및 도 13과 관련하여 본원에 설명된 블록 체인 동작들을 수행하도록 구성된 제어 회로부 및/또는 로직(예를 들어, 하드웨어 및 펌웨어)을 포함할 수 있다. 일 실시예에서, 메모리 장치(206) 상의 컨트롤러(1108) 및/또는 호스트(1102) 상의 호스트 컨트롤러는 물리적 인터페이스를 포함하는 인쇄 회로 기판에 결합된 주문형 반도체(ASIC)일 수 있다. 또한, 메모리 장치(1106) 및/또는 호스트(1102)는 휘발성 및/또는 비휘발성 메모리의 버퍼 및 다수의 레지스터들을 포함할 수 있다.
예를 들어, 도 11a에 도시된 바와 같이, 메모리 장치는 회로부(1110)를 포함할 수 있다. 도 11a에 예시된 실시예에서, 회로부(1110)는 컨트롤러(1108)에 포함된다. 그러나, 본 개시의 실시예는 이에 제한되지 않는다. 예를 들어, 일 실시예에서, 회로부(1110)는 (예를 들어, 컨트롤러(1108) 대신에) 메모리(1140)에(예를 들어, 이 메모리와 동일한 다이 상에) 포함될 수 있다. 회로부(1110)는, 예를 들어, DICE-RIoT 아키텍처 및/또는 프로토콜에 따라, 예를 들어 도 5 내지 9에 설명된 암호화 기술들을 사용하는 도 12 및 13과 관련하여, 본원에 설명된 블록 체인 동작들을 수행하기 위한 처리 리소스에 대한 하드웨어, 펌웨어 및/또는 통신 인스트럭션들을 포함할 수 있다.
예를 들어, 회로부(1110)는 블록 체인 데이터의 글로벌 블록(도 12 및 13에 정의됨)을 수신하도록 구성되어 메모리(1140)의 어레이(1101) 내 로컬 원장 블록 체인(도 12 및 13에도 정의됨)에서 블록 체인 데이터의 로컬 블록, 예를 들어 1120으로 추가될 수 있다. 예를 들어, 블록 체인 데이터의 로컬 블록, 예를 들어, 1120은 확인된 수신된 블록 체인 데이터의 글로벌 블록일 수 있으며, 로컬 원장 블록 체인(도 12 및 13에 도시됨)에 생성 및/또는 추가되어 메모리(1140)에(예를 들어, 메모리 어레이(1101)에) 저장된 데이터에 대한 업데이트를 확인(예를 들어, 인증 및/또는 입증)할 수 있다. 로컬 원장 블록 체인의 로컬 블록으로 추가될 글로벌 블록은 다수의 헤더들을 포함할 수 있다.
일 실시예에서, 어레이(1101)의 서브셋 또는 전체 어레이(1101)는 보안 어레이(예를 들어, 제어 하에 유지될 메모리(1140)의 영역)일 수 있다. 도 11a는 한 쌍의 레지스터들(1139-1 및 1139-2)을 예시하지만, 실시예들은 이에 제한되지 않으며, 하나 이상의 레지스터들이 사용될 수 있다. 예를 들어, 메모리 어레이(1101)에 저장된 데이터는 민감한 애플리케이션들을 위해 실행될 호스트 펌웨어 및/또는 코드와 같은, 민감한(예를 들어, 비사용자) 데이터를 포함할 수 있다. 이러한 실시예에서, 한 쌍의 비휘발성 레지스터들을 사용하여 보안 어레이를 정의할 수 있다. 예를 들어, 도 11a에 예시된 실시예에서, 회로부(1110)는 보안 어레이를 정의하는데 사용될 수 있는 레지스터들(1139-1, 1139-2)을 포함한다. 예를 들어, 레지스터(1139-1)는 보안 어레이의 어드레스(예를 들어, 데이터의 시작 LBA)를 정의할 수 있으며, 레지스터(1139-2)는 보안 어레이의 크기(예를 들어, 데이터의 종료 LBA)를 정의할 수 있다. 이러한 레지스터들의 일 예, 및 보안 어레이를 정의하는 데 있어서의 사용은 도 14a-14b와 관련하여 본원에 추가로 설명될 것이다.
보안 어레이가 정의되면, 회로부(1110)는 인증 및 재생 방지 보호 명령들을 사용한, 본원에서는 골든 해시(예를 들어, 메모리 장치(1106)만이 골든 해시를 알고 있고, 메모리 장치(1106)만이 이를 생성 및 업데이트할 수 있도록 함)라고 할 수 있는, 보안 어레이와 연관된 암호화 해시를 생성(예를 들어, 계산)하는 데 사용될 수 있다. 골든 해시는 메모리 어레이(1101)의 접근 불가능 부분(예를 들어, 블록 체인 데이터(1120) 및 로컬 원장 블록 체인이 저장되는 동일한 접근 불가능 부분)에 저장될 수 있으며, 보안 어레이의 데이터를 확인하는 프로세스 동안 사용될 수 있다.
한 예시적인 실시예에서, 메모리 장치(1106)는 (예를 들어, 회로부(1110)를 사용하여) 인터페이스(1104)를 통해 블록 체인 데이터(1120)와 연관된 디지털 서명과 함께, 블록 체인 데이터(1120)(이는 글로벌 원장 블록 체인으로부터 수신된 글로벌 블록일 수 있음)를 메모리 어레이(1101)에 저장된 데이터를 업데이트하기 전에 업데이트(예를 들어, 블록 체인 데이터의 페이로드)의 확인을 위해 호스트(1102)로 전송할 수 있다. 예를 들어, 회로부(1110)는 메모리 어레이(1101)에 수신 및 저장된 블록 체인 데이터(1120)를 감지(예를 들어, 판독)할 수 있으며, 메모리 장치(1106)의 전원 공급(예를 들어, 파워 온 및/또는 파워 업)에 응답하여, 어레이(1101)에 저장된 데이터에 대한 업데이트의 확인을 위해 감지된 블록 체인 데이터(1120)를 호스트(1102)로 전송할 수 있다. 이와 같이, 메모리 어레이(1101)에 저장된 데이터에 대한 업데이트의 확인은 메모리 장치(1106)의 전원 공급 시 (예를 들어, 자동으로) 개시될 수 있다.
한 추가 예로서, 회로부(1110)는 블록 체인 데이터(1120)와 연관된 디지털 서명과 함께, 블록 체인 데이터(1120)를 호스트(1102)와 같은 외부 엔티티 상의 호스트(1102)로 전송하여, 메모리 어레이(1101)에 저장된 데이터에 대한 업데이트의 확인을 개시할 수 있다. 예를 들어, 호스트(1102)는 블록 체인 데이터(1120)를 감지하기 위해 메모리 장치(1106)(예를 들어, 회로부(1110))에 명령을 보낼 수 있고, 회로부(1110)는 명령의 수신에 응답하여 어레이(1101)에 저장된 데이터의 확인을 위해 블록 체인 데이터(1120)를 감지하고 감지된 블록 체인 데이터(1120)를 호스트(1102)에 전송하는 명령에 대해 동작할 수 있다.
블록 체인 데이터(1120)를 수신하면, 호스트(1102)는 수신된 블록(예를 들어, 수신된 글로벌 블록의 페이로드)을 사용하여 메모리 어레이(1101)에 저장된 데이터를 확인(예를 들어, 확인할지 여부를 결정)할 수 있다. 예를 들어, 도 12 및 13과 관련하여 더 설명된 바와 같이, 호스트(1102)는 블록 체인의 이전 블록의 암호화 해시 및 메모리 어레이(1101)에 저장된 데이터의 암호화 해시를 사용하여 데이터를 확인할 수 있다. 또한, 호스트(1102)는 로컬 블록이 로컬 원장 블록 체인에 포함되는지(예를 들어, 포함될 자격이 있는지)를 결정하기 위해 블록 체인 데이터(1120)와 연관된 디지털 서명을 확인할 수 있다. 본원에 사용된 바와 같이, 메모리 어레이(1101)에 저장된 데이터에 대한 업데이트를 확인하는 것은 업데이트가 정품이고(예를 들어, 원래 프로그래밍된 것과 동일하고), 해커에 의해 자주 제공되는 해킹 활동 또는 무단 변경을 포함하는 것에 의해 변경되지 않았음을 인증 및/또는 입증하는 것을 포함 및/또는 참조할 수 있다.
메모리 어레이(1101)가 보안 어레이인 실시예들에서, 도 12 및 13과 관련하여 추가로 설명된 바와 같은, 골든 해시는 또한 메모리 어레이(1101)에 저장된 데이터에 대한 업데이트를 확인하는 데 사용될 수 있다. 예를 들어, 런타임 암호화 해시가 생성(예를 들어, 계산)되며, 골든 해시와 비교될 수 있다. 비교가 런타임과 골든 해시가 일치하는 것으로 나타나면, 이는 보안 어레이가 변경되지 않았으므로, 그 안에 저장된 데이터가 유효한 것으로 판단될 수 있다. 그러나, 비교가 런타임과 골든 해시가 일치하지 않는 것으로 나타나면, 이는 보안 어레이에 저장된 데이터가 (예를 들어, 해커 또는 메모리 내의 결함으로 인해) 변경되었음을 나타낼 수 있으며, 이는 호스트(1102)에 보고될 수 있다.
한 예시적인 실시예에서, 메모리 어레이(1101)에 저장된 데이터의 확인 외에, 회로부(1110)는 블록 체인 데이터(1120)(예를 들어, 글로벌 원장 블록 체인으로부터 수신된 글로벌 블록)를 확인하여 블록 체인 데이터(1120)가 인증된 엔티티(예를 들어, 알려진 엔티티)로부터 온 것인지, 그리고 수신된 블록 체인 데이터(1120)에 표시된 해시가 로컬 원장 블록 체인에 있는 블록 체인 데이터의 가장 최근 로컬 블록과 일치하는지를 결정할 수 있다. 블록 체인 데이터(1120)의 확인에 응답하여, 회로부(1110)는 보안 어레이에 저장된 코드(또는 코드의 일부)를 증대, 수정 및/또는 대체하기 위해 블록 체인 데이터(1120)에 포함된 업데이트를 제공하도록 구성될 수 있다.
도 12 및 13과 관련하여 더 설명되는 바와 같이, 메모리 어레이(1101)에 저장된 로컬 원장 블록 체인의 로컬 블록으로 사용되는 블록 체인 데이터(1120)의 확인 후, 회로부(1110)는 메모리 어레이(1101)에 저장된 데이터를 업데이트하기 위해 로컬 원장 블록 체인에 추가될 추가(예를 들어, 다음) 로컬 블록을 이전 블록 체인 데이터(1120)가 생성/수신된 것과 유사한 방식으로 생성(예를 들어, 글로벌 원장 블록 체인으로부터 다음 글로벌 블록을 수신)할 수 있다. 예를 들어, 블록 체인 데이터(1120)의 이 추가 로컬 블록은 로컬 원장 블록 체인에 있는 이전 블록의 암호화 해시, 및 메모리 어레이(1101)에 저장된 데이터에 대한 새로운 업데이트의 새로운 암호화 해시를 포함할 수 있다. 또한, 이 추가 로컬 블록은 이 블록이 생성(예를 들어, 추가 글로벌 블록으로 수신)된 때를 나타내는 타임스탬프를 갖는 헤더를 포함할 수 있으며, 이 추가 로컬 블록이 승인된 엔티티로부터 온 것임을 나타내는 디지털 서명을 가질 수 있으며 로컬 원장 블록 체인에 포함될 수 있다. 이러한 추가 로컬 블록을 예시하는 일 예가 (예를 들어, 도 3과 관련하여) 본원에 더 설명될 것이다. 또한, 메모리 어레이(1101)가 보안 어레이인 실시예들에서, 추가(예를 들어, 새로운) 골든 해시가 생성될 수 있다.
블록 체인 데이터의 추가 로컬 블록, 뿐만 아니라 추가 로컬 블록과 연관된 디지털 서명 및 추가 골든 해시는 로컬 원장 블록 체인의 일부로 메모리 어레이(1101)에 저장될 수 있다. 예를 들어, 추가 로컬 블록은 메모리 어레이(1101)의 블록 체인 데이터(1120)(예를 들어, 이전 블록 체인 데이터(1120))를 대체할 수 있다. 그런 다음, 추가 블록 체인 데이터, 디지털 서명 및 추가 골든 해시는 블록 체인 데이터(1120)에 대해 본원에서 앞서 설명된 것과 유사한 방식으로, 메모리 어레이(1101)에 저장된 데이터에 대한 업데이트(예를 들어, 페이로드)를 확인하기 위해 호스트(1102)에 의해 사용될 수 있다. 로컬 원장 블록 체인의 추가 로컬 블록들은 메모리 어레이(1101)에 저장된 데이터에 대한 업데이트를 확인하기 위해 이들이 글로벌 블록들로서 수신되고, 호스트(1102)에 의해 확인되고, 호스트(1102)에 의해 사용될 때 회로부(1110)에 의해 메모리 장치(1106)의 수명 내내 이러한 방식으로 계속 생성될 수 있다.
도 11a에 예시된 실시예는 본 개시의 실시예들을 모호하게 하지 않도록 예시되지 않는 추가 회로부, 로직 및/또는 컴포넌트들을 포함할 수 있다. 예를 들어, 메모리 장치(1106)는 I/O 회로부를 통해 I/O 커넥터들을 통해 제공된 어드레스 신호들을 래칭하는 어드레스 회로부를 포함할 수 있다. 어드레스 신호들은 메모리 어레이(1101)에 액세스하기 위해 행 디코더 및 열 디코더에 의해 수신 및 디코딩될 수 있다. 또한, 메모리 장치(1106)는 메모리 어레이(1101) 외에 및/또는 별도인, 예를 들어, DRAM 또는 SDRAM과 같은 메인 메모리를 포함할 수 있다. 메모리 장치(1106)의 추가 회로부, 로직, 및/또는 컴포넌트들을 더 예시하는 일 예가 (예를 들어, 도 15과 관련하여) 본원에 더 설명될 것이다.
도 11b는 본 개시의 일 실시예에 따른 무선 프로토콜들 및 인터넷 프로토콜(IP)을 사용하여 유선 및/또는 무선 방식으로 연결된, 피어 투 피어 네트워크와 같은, 공개 및 개인 분산형 네트워크의 많은 컴퓨팅 노드들을 포함할 수 있는 컴퓨팅 시스템 네트워크의 블록도이다. 도 11b의 예에서, 다수의 노드들(1100-1, 1100-2, 1100-3, ..., 1100-N)은 피어 투 피어 네트워크와 같은 네트워크에 연결된 것으로 표시된다. 네트워크는 "블록 체인" 기술과 같은 분산형 원장 기술(DLT)을 지원할 수 있다. 분산형 원장은 여러 노드들 또는 컴퓨팅 장치들을 통해 분산되는 데이터베이스이다.
"블록 체인"은 지속적으로 증가하는 암호화된 레코드 목록이다. 블록 체인은 다수의 노드들(1100-1, 1100-2, 1100-3, ..., 1100-N)은 피어 투 피어 네트워크 방식으로 분산 레코드 목록을 공유하고 저장할 수 있다. 본원에 설명된 바와 같이, 블록 체인의 "블록"은 예를 들어, 데이터, 헤더, 트랜잭션, 암호화 등과 같은 정보 모음이다. 블록이 확인되면 원장의 증가하는 레코드 목록에 블록이 추가될 수 있다. 블록들은 블록 체인 원장에 시간 순서대로 추가된다.
따라서, 도 11b의 예에서, 주어진 노드(1100-1(H1), 1100-2(H2), 1100-3(H3), ..., 1100-N)는 원장의 현재 목록 또는 레코드의 사본을 유지할 수 있다. 다수의 노드들(1100-1, 1100-2, 1100-3, ..., 1100-N)은 각각 각기 다른 호스트, 예를 들어 처리 리소스들을 갖는 컴퓨팅 장치를 나타낼 수 있다. 설명의 용이함을 위해, 호스트들 또는 다수의 노드들(1100-1, 1100-2, 1100-3, ..., 1100-N)은 자율 및/또는 비-자율 운송 차량, 자동차, 버스, 긴급 차량 등을 위한 블록 체인과 관련하여 고려될 수 있다. 그러나, 실시예들은 이 예에 제한되지는 않는다.
이 예에서, 공공 또는 사설 엔티티(예를 들어, 군대 엔티티, 공항 관리자, 호텔 소유자, 병원 엔티티 등)의 서버들은 도 11b에 도시된, 노드들(1100-1, 1100-2, 1100-3, ..., 1100-N)의 네트워크에서 하나의 노드, 예를 들어 1100-1를 나타낼 수 있다. 판매 수리점과 같은 공인 수리 시설은 또 다른 노드, 예를 들어, 1100-2를 나타낼 수 있다. 노드(1100-3)는 다른 호스트, 예를 들어 인터넷 및/또는 다른 무선 연결들을 통해 피어 투 피어 네트워크에 연결된 다른 컴퓨팅 장치일 수 있다.
노드(1100-1)와 공공 또는 사설 엔티티는 노드(1100-1)와 관련된 특정 주제와 관련된 데이터의 시간순으로 링크된 블록들을 갖는 "제1 블록 체인 원장"을 유지, 예를 들어, 해당 공공 또는 사설 엔티티와 관련된 모든 차량들에 대한 제1 블록 체인 원장을 유지할 수 있다. 제한하는 것이 아니라 설명의 용이함을 위해, 예를 들어, 주어진 공공 또는 사설 엔티티와 연관된 모든 차량들에 대해, 특정 노드와 관련된 특정 주제와 관련된 데이터의 시간순으로 링크된 블록들을 갖는 참조된 "제1 블록 체인 원장"은 본원에서 "글로벌 블록 체인 원장"(또는 "글로벌 원장 블록 체인")으로 지칭될 수도 있다. 공공 또는 사설 엔티티는 제1 블록 체인 원장(“글로벌 원장 블록 체인”)을 피어 투 피어 네트워크의 다른 노드들(1100-2, 1100-3) 등에 그리고 네트워크에 노드들로서 연결된 그 차량들에, 유선 및/또는 무선 방식으로, 분산시킬 수 있다. 서로 다른 노드들(1100-1, 1100-2, 1100-3, ..., 1100-N)과의 통신에는 다양한 무선 통신 기술들이 활용될 수 있다. 예를 들어, 다양한 세대의 광대역 이동 통신 기술들(예를 들어, 1 내지 5세대(1 내지 5G)), 장치간(예를 들어, 차량간(v2v)), 블루투스, 지그비 및/또는 LTE 장치간 통신 기술들, 및/또는 매개 장치(예를 들어, 액세스 포인트(AP)을 사용하는 WiFi)를 사용하는 기타 무선 통신은 다른 노드들과 통신하는 데 사용될 수 있다.
도 11b의 예에서, 노드(1100-4)는 노드(1100-1)에 의해 표현되는 특정 공공 또는 사설 엔티티에 의해 공공 또는 사설 엔티티와 연관된 차량들의 서브셋 또는 클래스에 속하는 특정 차량을 나타낼 수 있다. 이 예에서, 노드(1100-5)는 공공 또는 사설 엔티티와 연관된 차량들의 동일하거나 상이한 서브셋 또는 클래스에서, 또 다른 특정 차량을 나타낼 수 있거나, 대안적으로는 노드(1100-1)와 연관된 공공 또는 사설 엔티티와 관련되지 않을 수 있다. 마찬가지로, 노드(1100-N)는 공공 또는 사설 엔티티와 연관된 차량들의 동일하거나 상이한 서브셋 또는 클래스에서, 또 다른 특정 차량을 나타낼 수 있거나, 대안적으로는 노드(1100-1)와 연관된 공공 또는 사설 엔티티와 관련되지 않을 수 있다.
각 노드는 자체 처리 리소스, 예를 들어 도 11a에 예시된 것과 같은 하나 이상의 메모리 장치들에 연결된 호스트를 가질 수 있다. 따라서, 차량 노드들(1100-4, 1100-5, 1100-N)은 각각 단일 및/또는 다수의 호스트, 예를 들어 처리 리소스들(1102-4, 1102-5, 1102-N)을 각각 포함할 수 있다. 주어진 차량 노드(1100-4, 1100-5, 1100-N)의 각 호스트는 각 차량의 다수의 메모리 장치들에 연결할 수 있다. 예를 들어, 메모리 장치들(1106-4-1, 1106-4-2, 1106-4-X)은 노드(1100-4) 상의 호스트(1102-4)와 연관될 수 있고, 메모리 장치들(1106-5-1, 1106-5-2 및 1106-5-B)은 노드(1100-5) 상의 호스트(1102-5)와 연관될 수 있으며, 메모리 장치들(1106-N-1, 1106-N-2 및 1106-N-Z)는 노드(1100-N) 상의 호스트(1102-N)와 연관될 수 있다.
이 예에서, 노드(1100-1)는 공공 또는 사설 엔티티와 연관된 모든 차량들의 주제와 관련된 연대순 블록들, 예를 들어 데이터를 포함하는 노드(1101-1)에 의해 유지되는 지속적으로 성장하는 제1, 예를 들어, "글로벌", 블록 체인 원장(본원에서는 "글로벌 원장 블록 체인"이라고도 함)의 업데이트된 사본을 정기적으로 노드들(1100-4, 1100-5, ..., 및 1100-N)에 전송, 예를 들어 분산시킬 수 있다. 블록 체인 기술에 따르면, 노드(1100-1)는 분산형 네트워크에서 다른 노드들(1100-1, 1100-2, 1100-3, ..., 1100-N)과 제1, 예를 들어, "글로벌" 원장 블록 체인의 사본을 공유할 수 있다. 그러나, 노드(1100-1)에 의해 유지되고 다른 특정 노드들(1100-4, 1100-5, ..., 1100-N)에 수신된 성장하는 제1, 예를 들어 "글로벌" 원장 블록 체인의 모든 "블록들"이 인증되고/되거나 다른 특정 노드들과 관련되는 것은 아니다. 예를 들어, 특정 차량들, 예를 들어 노드들(1100-4, 1100-5, ..., 1100-N)은 노드(1100-1)과 연관된 특정 제조업체에 의해 제조된 차량들의 서브셋 또는 서브 클래스에 속할 수 있지만, 차량들의 해당 서브셋 또는 서브 클래스에서, 제1, 예를 들어 "글로벌", 원장 블록 체인의 특정 블록들만 특정 노드(1100-4, 1100-5, ..., 1100-N), 예를 들어 특정 차량과 관련될 수 있다. 이와 같이, 본원에 개시된 실시예들에 따르면, 특정 노드(1100-4, 1100-5, ..., 1100-N)는 인증되고 해당 노드(1100-4, 1100-5, ..., 1100-N)와 관련된 이러한 블록들만을 확인할 수 있다.
예시적인 실시예들에 따르면, 특정 노드, 예를 들어, 1100-4는 인증 및 노드와 관련된 블록들을 확인하며, 노드(1100-1)에서부터 노드(1100-4)로 수신된 글로벌 원장 블록 체인에 포함된 모든 블록들의 서브셋보다 적은 서브셋일 수 있는 제2 블록 체인 원장에 추가될 수 있다. 노드(1100-4)는 각각의 노드(1100-4, 1100-5, ..., 1100-N)에 "글로벌 원장 블록 체인"의 서브셋을 "로컬 블록 체인 원장"(본원에서는 "로컬 원장 블록 체인"이라고도 함)으로 저장할 수 있다. 노드(1100-4)는 로컬 원장 블록 체인을 다른 노드들과 공유할 수도 있다. 그러나, 동일하지 않아도 되며 로컬 원장 블록 체인은 특정 노드(1100-4), 예를 들어 특정 차량의 호스트 및/또는 메모리 장치들에만 "로컬"로 유지될 수 있다는 점에서 "로컬"이라고 한다. 따라서, 설명의 용이함을 위해, 제2 블록 체인 원장("로컬 원장 블록 체인")은 본원에서 로컬 원장 블록 체인으로 지칭될 수 있다. 노드, 예를 들어 1100-4는 연결되는 노드들의 네트워크를 통해, 다양한 주제에 속하는, 다른 글로벌 원장 블록 체인들과 관련된 많은 글로벌 블록들을 수신할 수 있다. 그러나, 노드, 예를 들어, 1100-4는 추가를 허용하는 블록들이 로컬 원장 블록 체인에 추가될 수 있도록 선택적일 수 있다. 도 12 및 13과 관련하여 보다 상세하게 설명된 바와 같이, 본 개시의 실시예들은 도 5 내지 9에 설명된 암호화 기술들을 사용하여 특정 노드(1100-4, 1100-5, ..., 1100-N)와 관련된 블록들을 확인 및 추가하고, 특정 노드(1100-4, 1100-5, ..., 1100-N)의 이러한 블록들을 "로컬 원장 블록 체인" 데이터로, 예를 들어, 특정 차량에 대한 보안 펌웨어 업데이트들로 저장 및 유지할 수 있다. 일 예에서, 단일 호스트(도 11a에 도시된 것과 같은) 또는 특정 차량, 예를 들어 노드들(1100-4, 1100-5, ..., 1100-N) 상의 다수의 호스트는 로컬 원장 블록 체인을 유지할 수 있다. 일 예로서, 단일 또는 다중 호스트는 변호사 문서 번호 제1016.0030001호의 "USING MEMORY AS A BLOCK IN A BLOCK CHAIN"이라는 명칭의 동시 계류중인 공동 출원된 미국 출원 번호 제_____________호에 설명된 기술들에 따른 노드 상의 분산형 원장을 유지할 수 있다. 이 예에서, 특정 차량, 예를 들어, 노드(1100-4, 1100-5, ..., 1100-N)와 관련된 펌웨어 업데이트는 확인될 수 있고 노드(1100-4, 1100-5, ..., 1100-N)의 "로컬 원장 블록 체인"에 추가될 수 있거나, 또는 대안으로는 폐기될 수 있다.
도 12는 회로부에 의해 동작될 수 있고 예를 들어, 도 11a의 회로부(1110)부 및 메모리(1140)에 의해 메모리 및/또는 보안 어레이에 저장될 수 있는 글로벌 원장 블록 체인(1222)과 로컬 원장 블록 체인들(1224, 1226, 1228) 사이의 교환의 일 예를 예시한다. 이 예에서, 데이터에 대한 보안 업데이트들이 확인되며 도 11a와 관련하여 설명된 메모리 어레이(1101)와 같은 메모리에 저장될 수 있다. 본원에 사용된 바와 같이, 블록 체인 원장 또는 시스템의 블록 체인 기술에 따른 "블록"은 데이터(예를 들어, 페이로드), 헤더, 암호화, 이력, 타임스탬프 등을 포함할 수 있다. 다시 말해, 블록 체인의 "블록"은 도 10의 메모리의 저장 단위로 설명된 것처럼, 메모리 블록의 크기와 상관 관계가 있거나 동일할 필요가 없다.
또한, 본원에 사용된 바와 같이, "글로벌 블록"이라는 용어는 제1 블록 원장의 블록으로서, 이 예에서는 대규모 시스템 또는 엔티티들의 네트워크에 거쳐 유지 및 공유된다. "로컬 블록"은 차량들의 서브셋 또는 시스템이나 엔티티들의 네트워크, 예를 들어 도 11a의 메모리 장치(1101) 내의 엔티티들의 보다 특정한 클래스와 관련된 특정 주제의 서브셋으로서, 특정 노드, 예를 들어, 1100-4와 관련된 데이터의 서브셋으로서 유지되는 로컬 원장 블록 체인의 블록이다. 글로벌 블록 또는 로컬 블록 체인이 특정 메모리 아키텍처의 블록 크기와 같을 필요는 없다. 글로벌 블록 및/또는 로컬 블록은 특정 메모리 아키텍처 또는 디자인과 관련된 블록 크기 디노미네이션보다 더 작거나, 동등하거나, 및/또는 더 클 수 있다.
도 12의 예에 도시된 바와 같이, 제1, 예를 들어, 글로벌, 원장 블록 체인(1222)은 도 11b의 노드(1100-1)와 연관된 주제와 관련될 수 있다. 글로벌 원장 블록 체인은 글로벌 블록들(1220-1, 1220-2, 1220-3, 1220-4, 1220-5, 1220-6 및 1220-N)을 포함할 수 있다. 본원에 설명된 회로부 및 로직에 의해 동작될 때, 글로벌 블록들(1220)이 확인되고 로컬 블록들(1221-1, 1221-2, 1221-3, 1221-4, 1221-5, 1221-6 및 1221-N)로서 도시된, 제2, 예를 들어, 로컬, 원장 블록 체인들(1224, 1226 및 1228)에 수용될 수 있다. 제2, 예를 들어 로컬, 원장 블록 체인들(1224, 1226 및 1228)은 그 안에 각각 도 11b에 도시된 노드들(1100-4, 1100-5, ..., 1100-N)에 의해 유지될 수 있다. 대안으로, 특정 노드, 예를 들어, 도 11b에 도시된 노드들(1100-4, 1100-5, ..., 1100-N)에 유지된 로컬 원장 블록 체인에 대해 확인되지 않은 경우, 글로벌 원장 블록 체인의 각 글로벌 블록들은 그로부터 거부될 수 있다.
예를 들어, 글로벌 블록 체인 데이터가 특정 메모리에 의해 수신되어 로컬 원장 블록 체인 내의 로컬 블록으로 확인 및 저장될 때, 글로벌 블록 체인 데이터는 로컬 원장 블록 체인 내의 로컬 블록이 되기 전에 회로부 및 로직, 예를 들어 도 11a의 회로부(1110)에 의해 확인되어야 한다. 도 12의 예에서, 글로벌 블록(1220-1)은, 예를 들어 회로부(1110)에 의해, 로컬 원장 블록 체인(1224)의 로컬 블록(1221-1)이 되도록 확인되고, 글로벌 블록(1220-2)은 로컬 원장 블록 체인(1226)의 로컬 블록(1221-2)이 되도록 확인되고, 글로벌 블록(1220-3)은 로컬 원장 블록 체인(1228)의 로컬 블록(1221-3)이 되도록 확인되고, 글로벌 블록(1220-4)은 로컬 원장 블록 체인(1224)의 로컬 블록(1221-4)이 되도록 확인되고, 글로벌 블록(1220-5)은 로컬 원장 블록 체인(1224)의 로컬 블록(1221-5)이 되도록 확인되고, 글로벌 블록(1220-6)은 로컬 원장 블록 체인(1226)의 로컬 블록(1221-6)이 되도록 확인되고, 글로벌 블록(1220-N)은 로컬 원장 블록 체인(1228)의 로컬 블록(1221-N)이 되도록 확인되었다.
한 예시적인 실시예에서, 글로벌 블록들(1220)이 도 11a에 설명된 회로부(1110)를 사용하여, 메모리 장치, 예를 들어 도 11a의 1101에 수신되고, 확인되며, 로컬 원장 블록 체인(1224, 1226 또는 1228)에 추가(예를 들어, 생성)될 수 있다. 도 12의 예에서, 글로벌 블록(1220-4)이 수신되고 로컬 블록(1221-4)이 되도록 확인되었다. 로컬 블록(1221-4)은 로컬 블록(1221-1)이 본원에 설명된 회로부 및 로직에 의해 확인된 후에 로컬 원장 블록 체인(1224)에 추가될 수 있다. 도 13과 관련하여 더 설명되는 바와 같이, 로컬 블록(1221-1)은 메모리에 저장된 데이터의 업데이트로서 글로벌 블록(1220-4)을 확인하는데 사용된다. 이 예에서, 로컬 블록(1221-4)이 로컬 블록(1221-1) 이후에 로컬 원장 블록 체인(1224)의 다음 블록으로 수락 및 저장될 수 있다. 글로벌 원장 블록 체인(1222)은 다수의 호스트들(예를 들어, 도 11a와 관련하여 설명된 호스트(1102))로부터의 블록 체인 구성, 아키텍처 및/또는 프로토콜의 블록들을 포함할 수 있다.
호스트 및/또는 메모리는 로컬 원장 블록 체인들(1224, 1226, 1228)을 유지, 예를 들어 저장하고, 특정 호스트 및/또는 메모리와 관련된 확인된 글로벌 블록들만을 포함할 수 있다. 일 예로서, 특정 진입 노드와 연관된 로컬 원장 블록 체인은 해당 특정 로컬 원장 블록 체인의 블록들로 해당 진입 지점 안팎의 트래픽과 관련된 데이터만 저장할 수 있다. 글로벌 블록들(1220)은 글로벌 블록에 포함된 데이터와 연관된 특정 호스트 및/또는 메모리에 대한 식별자들을 포함할 수 있다. 예를 들어, 로컬 원장 블록 체인(1224)은 특정 호스트/메모리 식별자(ID_1)와 연관된 것으로 도시되어 있다. 따라서, 이 호스트/메모리 관계와 관련된 회로부는 로컬 원장 블록 체인(1224)이 로컬 블록들(1221-1)(글로벌 원장 블록 체인(1220)의 글로벌 블록(1220-1)), 로컬 블록(1221-4)(글로벌 글로벌 원장 블록 체인(1220)의 글로벌 블록(1220-4)) 및 로컬 블록(1221-5)(글로벌 원장 블록 체인(1220)의 글로벌 블록(1220-5))만을 포함하도록 관련 글로벌 블록들만을 확인할 것이다. 일 예로서, 로컬 원장 블록 체인(1224)은 제1 진입 노드(예를 들어, 진입 노드(333-1))와 연관될 수 있다. 로컬 원장 블록 체인(1226)은 다른 호스트 및/또는 메모리 식별자(ID_2)와 연관된 것으로 도시된다. 일 예로서, 로컬 원장 블록 체인(1226)은 제2 진입 노드(예를 들어, 진입 노드(333-2))와 연관될 수 있다. 따라서, 이 호스트/메모리 관계와 연관된 회로부는 로컬 원장 블록 체인(1226)이 로컬 블록(1221-2)(글로벌 원장 블록 체인(1220)의 글로벌 블록(1220-2)) 및 로컬 블록(1221-6)(글로벌 글로벌 원장 블록 체인(1220)의 글로벌 블록(1220-6))을 포함하도록 관련 글로벌 블록들만을 확인할 것이다. 로컬 원장 블록 체인(1228)은 다른 호스트 및/또는 메모리 식별자(ID_k)(예를 들어, 도 3의 진입 노드(333-3)와 같은 제3 진입 노드)와 연관된 것으로 도시된다. 따라서, 이 호스트/메모리 관계와 관련된 회로부는 로컬 원장 블록 체인(1228)이 로컬 블록(1221-3)(글로벌 원장 블록 체인(1220)의 글로벌 블록(1220-3)), 및 이러한 블록들이 해당 특정 진입 노드 또는 액세스 포인트와 관련이 있을 때의 로컬 블록(1221-N)(글로벌 원장 블록 체인의 글로벌 블록(1220-N))을 포함하도록 관련 글로벌 블록들(위치에 대한 모든 진입 지점들과 관련됨)만을 확인할 것이다.
로컬 원장 블록 체인들(예를 들어, 1224, 1226, 1228)을 사용하여 각각의 호스트의 메모리 및/또는 메모리 관계(예를 들어, ID_1, ID_2 및 ID_k)에 대한 업데이트들로 적절한 블록 체인 데이터를 저장하면 주어진 호스트와 관련하여 주어진 메모리 장치(예를 들어, 도 11a의 메모리 장치(1106))에 저장된 데이터에 대한 보안 업데이트들을 제공할 수 있다. 이와 같이, 본원에 설명된 회로부 및 로직은 도 12에 도시된 교환 및 구성을 허용한다. 예를 들어, 회로부는 글로벌 원장 블록 체인(1222)으로부터 글로벌 블록, 예를 들어, 1220-4를 수신하고 글로벌 블록(1220-4)이 특정 호스트 및/또는 메모리 관계와 관련되는지 여부를 결정하도록 구성된다. 글로벌 블록(1220-4)이 특정 호스트 및/또는 메모리와 관련된 경우, 예를 들어 블록 체인 기술에 따른 각각의 식별자들(예를 들어, ID_1, ID_2 및 ID_k)에 대한 암호화된 해시의 비교가 일치하는 경우, 회로부는 글로벌 블록(1220-4)을 해당 로컬 원장 블록 체인(1224)에 추가할 수 있다. 블록 체인 데이터의 글로벌 블록(1220-4)은 호스트 및/또는 메모리와 관련된 보안 어레이에 포함된 데이터에 대한 업데이트의 페이로드를 포함할 수 있다. 본원에 설명된 회로부, 예를 들어 회로부(1110)는 로컬 원장 블록 체인(1224)의 현재 로컬 블록, 예를 들어 1221-1의 암호화 해시와 글로벌 블록(1220-4)에 포함된 업데이트될 메모리에 저장된 데이터의 암호화 해시를 체크, 예를 들어 비교함으로써 글로벌 블록(1220-4)을 확인할 수 있다. 로컬 원장 블록 체인(1224)의 현재 로컬 블록(1221-1)은 또한 글로벌 블록(1220-4)이 인증된 엔티티(예를 들어, 글로벌 블록(1220-4)이 로컬 원장 블록 체인(1224)을 포함하는 특정 호스트 및/또는 메모리 관계와 관련된 엔티티로부터 온 것임을 증명하는 식별자 ID_1를 포함함)로부터 온 것인지 여부를 나타내기 위해 마찬가지로 비교되는 것과 연관된 디지털 서명을 갖는다. 도 13과 관련하여 설명된 바와 같이, 확인된 경우, 현재 로컬 블록(1221-1)은 "이전" 로컬 블록이 되고 그런 다음 글로벌 블록(1220-4)은 로컬 원장 블록 체인(1224)의 "현재" 로컬 블록(1221-4)이 될 것이다. 로컬 원장 블록 체인(1224)(및/또는 예를 들어, 1226, 1228)의 로컬 블록들(1221)의 콘텐트는 도 13과 관련하여 상세히 설명된다.
인증된 엔티티는 글로벌 원장 블록 체인(1222)을 공개 원장으로 제공할 수 있으며, 이는 특정 위치에 대한 액세스를 수신하기 위해 글로벌 원장 블록 체인(1222)에 동의하는 호스트들 및/또는 메모리의 전부 및/또는 일부에 분산될 수 있다. 예를 들어, 글로벌 원장 블록 체인(1222)은 특정 위치, 도로 등으로 들어오고 나가는 트래픽을 모니터링할 수 있는 엔티티에 의해 생성 및 유지될 수 있다. 예를 들어, 글로벌 원장 블록 체인(1222)은 특정 차량들이 한 위치를 드나들 때 모니터링하는 공공 또는 사설 엔티티(예를 들어, 군대 엔티티, 공항 관리자, 호텔 소유주, 병원 엔티티 등)에 의해 생성 및 모니터링될 수 있다. 글로벌 원장 블록 체인(1222) 내의 글로벌 블록들(1220) 각각은 특정 식별자를 갖는 차량에 대한 출입 데이터를 포함할 수 있다. 예를 들어, 도 12에 의해 예시된 바와 같이, 글로벌 블록들(1220-1, 1220-4, 1220-5)은 호스트 및/또는 메모리 ID_1에 대응하고, 글로벌 블록들(1220-2, 1220-6)은 호스트 및/또는 메모리 ID_2에 대응하며, 글로벌 블록들(1220-3, 1220-N)은 호스트 및/또는 메모리 ID_k에 대응한다. 다른 ID가 다른 호스트 및/또는 메모리 관계(예를 들어, 다른 차량들)에 대응하는 경우.
이 예에서, 공공 또는 사설 엔티티는 특정 차량들(또는 예를 들어, 식별자를 공유하는 차량들의 특정 서브셋)에 대해 생성된 업데이트의 출입 업데이트의 각 인스턴스가 글로벌 원장 블록 체인(1222)에 변경 불가능한 레코드로 기록되도록 글로벌 원장 블록 체인(1222)을 생성 및 모니터링한다. 예를 들어, 글로벌 블록(1220-1)은 ID_1과 연관된 차량(예를 들어, 또는 차량과 연관된 메모리의 데이터)에 대한 업데이트를 포함하고, 글로벌 블록(1220-2)은 ID_2와 연관된 차량들에 대한 업데이트 등을 포함한다. 글로벌 블록들(1220)은 공공 또는 사설 엔티티에 의해 생성될 때 순차적인 순서로 조립되며, 각 글로벌 블록(1220)은 차량이 출입하는 특정 게이트 및/또는 특정 위치를 나타내는 디지털 서명을 포함할 수 있다. 이 방식으로, 공공 또는 사설 엔티티는 모니터링되는 서로 다른 차량들에 대해 생성된 모든 업데이트들(예를 들어, 출입, 이동 등)의 변경 불가능한 기록을 유지할 수 있다.
블록 체인 기술에 사용되고, 도 13과 관련하여 더 설명되는 바와 같이, 글로벌 원장 블록 체인(1222)의 글로벌 블록들(1220)은 다수의 헤더들 및 암호화를 포함할 수 있다. 예를 들어, 글로벌 원장 블록 체인의 글로벌 블록은 이전 글로벌 블록에 대한 암호화 해시 데이터(예를 들어, 이에 대한 링크)를 포함하는 글로벌 블록 헤더 및 이전 로컬 블록에 대한 암호화 해시 데이터를 포함하는 해시를 포함할 수 있다. 따라서, 글로벌 블록이 도 11a의 호스트(1102) 및/또는 메모리 장치(1106)에 의해 수신될 때, 로컬 원장 블록 체인에 추가될 글로벌 블록은 로컬 원장 블록 체인의 (예를 들어, 블록 체인 데이터(1120)의) 현재 로컬 블록의 암호화 해시(예를 들어, 이에 대한 링크) 및 메모리 장치(1106)에 저장된 데이터(예를 들어, 페이로드)에 대한 업데이트의 암호화 해시를 포함할 수 있다. 로컬 원장 블록 체인의 블록 체인 데이터(1120)는 또한 글로벌 블록이 인증된 엔티티로부터 온 것임을 나타내는 그와 연관된 디지털 서명을 포함할 수 있다.
달리 말하면, 글로벌 원장 블록 체인으로부터의 글로벌 블록은 호스트 및/또는 메모리, 예를 들어 도 11a에 도시된 호스트(1102) 및/또는 메모리(1140)에 의해 수신될 수 있으며, 호스트 및/또는 메모리 상의 회로부 및/또는 로직은 글로벌 블록이 호스트 및/또는 메모리와 관련되는지 여부를 결정할 수 있다. 그런 경우, 글로벌 블록 및 그 내용은 로컬 원장 블록 체인에 (예를 들어, 도 11a의 메모리(1140)의 어레이(1101)에 저장된 블록 체인 데이터(1120)의 일부로서) 저장된 블록 체인 데이터의 새로운 로컬 블록이 되도록 확인될 수 있다. 로컬 블록은 또한 로컬 블록이 생성/수신된 때를 나타내는 타임스탬프를 갖는 헤더를 포함할 수 있다.
메모리 어레이, 예를 들어 수신/생성된 로컬 블록들에 포함된 데이터에 의해 업데이트, 변경, 구성 및/또는 아니면 변경될 도 11a의 메모리 어레이(1101)에 저장된 데이터의 암호화 해시, 및/또는 로컬 원장 블록 체인의 이전 로컬 블록의 암호화 해시는 예를 들어 SHA-256 암호화 해시를 포함할 수 있다. 또한, 메모리 어레이에 저장된 데이터의 암호화 해시, 및 로컬 원장 블록 체인의 이전 로컬 블록의 암호화 해시는 각각 256바이트의 데이터를 포함할 수 있다.
메모리 어레이에 저장된 데이터의 암호화 해시는 회로부, 예를 들어 도 11a의 회로부(1110)에 의해 생성(예를 들어, 계산)될 수 있다. 이러한 예에서, 저장된 데이터의 암호화 해시는, 호스트/메모리 장치 인터페이스, 예를 들어 도 11a의 인터페이스(1104) 상에서 이동하는 외부 데이터 없이, 메모리 장치, 예를 들어 도 11a의 메모리 장치(1106)에 의해 내부적으로 생성될 수 있다. 한 추가 예로서, 데이터의 암호화 해시는 외부 엔티티로부터 전달될 수 있다. 예를 들어, 호스트는 메모리 어레이에 저장된 데이터의 암호화 해시를 생성하고 생성된 암호화 해시를 메모리 장치, 예를 들어, 호스트로부터 메모리 어레이에 저장된 데이터의 암호화 해시를 수신할 수 있는 메모리 장치의 회로부로 전송할 수 있다.
또한, 로컬 블록과 연관된 디지털 서명은 호스트로부터 수신된 명령과 같은 외부 명령에 기초한(예를 들어, 이에 응답하는) 회로부에 의해 생성(예를 들어, 계산)될 수 있다. 디지털 서명은 대칭 또는 비대칭 암호화를 사용하여 생성할 수 있다. 디지털 서명은 글로벌 원장 블록 체인의 이전 로컬 블록 형태의 신선도 필드를 포함할 수 있다(이는 블록이 추가될 때 로컬 원장 블록 체인의 현재 로컬 블록과 일치해야 함). 한 추가 예로서, 호스트는 디지털 서명을 생성하고 생성된 디지털 서명을 메모리 장치에 전송(예를 들어, 제공)할 수 있다.
본원에 설명된 신선도 필드는 로컬 원장 블록 체인에 추가되는 각 글로벌 블록에 의해 변경될 수 있다. 따라서, 신선도 필드는 들어오는 글로벌 블록이 로컬 원장 블록 체인의 다음 블록으로 추가될 올바른 블록인지 확인하는 데 사용할 수 있다. 들어오는 글로벌 블록은 디지털 서명이 들어오는 글로벌 블록이 호스트와 관련되어 있고, 들어오는 글로벌 블록의 이전 로컬 블록 필드(신선함)가 로컬 원장 블록 체인의 현재 로컬 블록과 동일하다는 것을 나타낼 때 로컬 원장에 추가될 다음 로컬 블록으로 확인된다. 신선도는 디지털 서명을 계산하는 데 사용될 수 있기 때문에, 디지털 서명은 들어오는 글로벌 블록마다 다를 수 있다.
언급된 바와 같이, 디지털 서명은 예를 들어, 비대칭 암호화를 사용하여(예를 들어, 공개 및/또는 개인 키를 기반으로) 생성된 디지털 서명일 수 있으며, 예를 들어 타원 곡선 디지털 서명을 포함할 수 있다. 한 추가 예로서, 서명은 대칭 암호화를 사용하여(예를 들어, 호스트와 메모리 장치 간에 공유되는 고유한 비밀 키를 기반으로) 생성될 수 있다. 비밀 키는 모든 비대칭 프로토콜(예를 들어, 디피 헬먼(Diffie-Hellman) 프로토콜)을 사용하여 교환될 수 있다. 다른 예들에서, 키는 안전한 환경(예를 들어, 차량이 공공 또는 사설 엔티티 등과 연관될 때, 공장 생산, 보안 제조 등)에서 호스트와 공유될 수 있다. 비밀 키의 생성 및 확인은 도 5 내지 9와 관련하여 추가로 논의된다.
도 11a와 관련하여 설명된 바와 같이, 이러한 블록 체인 데이터(1120)는 메모리 어레이, 예를 들어 도 2a의 메모리 어레이(201)에 저장될 수 있다. 블록 체인 데이터(1120)는 메모리 장치 및/또는 호스트의 사용자가 액세스할 수 없는 메모리 어레이(1101)의 일부에(예를 들어, 메모리 어레이의 "히든(hidden)" 영역에) 저장될 수 있다. 특정 메모리 어레이에 로컬 블록 및/또는 블록 체인 데이터의 로컬 원장 블록 체인을 저장하면 로컬 블록에 대한 소프트웨어 스토리지 관리의 필요성을 제거함으로써 로컬 블록의 저장을 단순화할 수 있다.
도 12의 예에서, 글로벌 블록(1220-6)은 이전 글로벌 블록(1220-5)의 해시를 위한 필드를 갖는 글로벌 헤더를 포함할 수 있으며, 여기서 이전 글로벌 블록 필드는 글로벌 원장 블록 체인(1222)의 이전 블록을 나타낸다. 글로벌 헤더의 다른 해시는 이전 로컬 블록 필드를 포함할 수 있으며, 여기서 이전 로컬 블록 필드는 동일한 호스트 및/또는 메모리 ID의 식별자를 가진 이전 글로벌 블록을 나타낸다.
예를 들어, 글로벌 블록(1220-6)은 글로벌 블록(1220-2)(이전 관련 글로벌 블록)에 대한 해시를 갖는 로컬 블록 필드를 포함할 수 있는데, 이는 이들이 둘 다 차량 ID_2이기 때문이다. 이 방식으로, (예를 들어, 차량 또는 차량의 서브셋에 대한) 특정 호스트 및/또는 메모리 장치 관계는 글로벌 원장 블록 체인(1222)으로부터 다수의 글로벌 블록들(1220)을 수신할 수 있고, 어느 글로벌 블록들(1220)을 로컬 블록으로 수락하고 어느 글로벌 블록들(1220)을 폐기할지를 결정할 수 있다.
예를 들어, 로컬 원장 블록 체인(1224)은 ID_1을 갖는 호스트(예를 들어, 차량) 형태의 식별자를 통해 특정 호스트와 연관된 메모리 장치 및/또는 메모리에 포함될 수 있다. 본원에 설명된 회로부는 로컬 원장 블록 체인(1224)의 일부로서 호스트 차량과 연관된 메모리에 글로벌 블록들(1220)을 저장하도록 구성될 수 있다. 다시 말해, 회로부는 글로벌 원장 블록 체인(1222)으로부터 다수의 글로벌 블록들(1220)을 수신하도록 구성되며, 회로부가 글로벌 블록(들)(1220)이 차량 ID_1과 연관된 호스트 차량에 속한다고 결정할 때, 이들은 로컬 블록들(1221)로서 수락되며 로컬 원장 블록 체인(1224)에 추가된다.
특히, 일 예에서, 호스트 차량 및/또는 ID_1을 갖는 호스트 차량과 연관된 메모리는 예를 들어 로컬 원장 블록 체인(1224)을 포함할 수 있으며, 회로부 및/또는 메모리는 글로벌 원장 블록 체인(1222)으로부터 다수의 글로벌 블록들(1220-1, 1220-2, 1220-3, 1220-4, 1220-5, 1220-6 및 1220-N)을 수신할 수 있다. 회로부는 회로부에 의해 글로벌 원장 블록 체인(1222)으로부터 수신된 다수의 글로벌 블록들(1220)이 호스트 차량 ID_1과 연관된 호스트 차량 및/또는 메모리와 관련되는지 여부를 결정하도록 구성된다. 따라서, 회로부는 글로벌 블록들(1220-1, 1220-4 및 1220-5)이 호스트 차량 ID_1과 관련되어 있다고 결정할 수 있으며, 회로부는 확인하고, 확인된 경우, 이는 글로벌 블록들이 호스트 차량 ID_1과 관련된 것임이 확인되었기 때문에 글로벌 원장 블록 체인(1222)으로부터 수신된 다수의 글로벌 블록들의 글로벌 블록들(1220-1, 1220-4, 1220-5)을 로컬 원장 블록 체인(1224)에 로컬 블록들(1221-1, 1221-4 및 1221-5)로서 순차적으로 추가하도록 구성된다. 다른 예에서, 다수의 글로벌 블록들(1220)이 위치의 특정 게이트와 관련되는지 여부의 결정. 이 방식으로, 하나의 로컬 블록 체인 원장이 차량(차량이 만드는 모든 출입을 포함함)과 연관될 수 있고 다른 로컬 블록 체인 원장이 게이트(해당 게이트를 출입하는 모든 차량 들을 포함함) 등과 연관될 수 있는 다른 엔티티들을 선별(sorted)하고 이와 연관될 수 있다.
일 예에서, 글로벌 블록들(1220-1, 1220-4 및 1220-5)은 각 글로벌 블록들(1220) 각각의 이전 로컬 블록 필드가 로컬 원장 블록 체인(1224)의 현재 로컬 블록의 현재 로컬 블록 필드와 일치할 때 로컬 원장 블록 체인(1224)에 (순차적으로) 추가될 수 있다. 특히, 회로부는 글로벌 블록(1220-4)이 인증된 엔티티(예를 들어, 글로벌 원장 블록 체인(1222)의 차량 ID)로부터 온 것인지를 확인하고, 글로벌 블록(1220-4)의 이전 로컬 블록 필드가 로컬 블록(1221-1)(이는 글로벌 블록(1220-1)과 동일함)에 대한 해시인지를 체크하고, 현재 로컬 블록(1221-1)이 자신의 현재 로컬 블록 필드에 있는 일치하는 해시를 가지고 있는지를 체크함으로써 들어오는 글로벌 블록(1220-4)을 확인할 수 있다. 이 절차는 글로벌 블록(1220-5)을 로컬 원장 블록 체인(1224)에 추가하기 위해 적용될 수 있다. 따라서, 글로벌 블록들(1220-1, 1220-4, 1220-5)은 로컬 원장 블록 체인(1224)의 로컬 블록들(1221-1, 1221-4 및 1221-5)이 될 수 있다. 이 방법 및 구성을 사용하여, 로컬 원장 블록 체인(1224)은 순차적으로 어셈블링된 (ID_1)과 관련된 호스트 및/또는 메모리와 관련된 다수의 로컬 블록들을 포함한다.
추가로, 회로부는 글로벌 블록들이 호스트 및 메모리 ID_1와 관련되지 않을 때, 로컬 원장 블록 체인(1224)에 글로벌 블록들(1220)을 추가하지 않도록 구성된다. 따라서, 회로부는 글로벌 블록들(1220-2, 1220-6, 1220-3 및 1220-N)이 호스트 및 메모리 ID_1과 관련되지 않다고 결정할 수 있으며, 로컬 원장 블록 체인(1224)으로부터 관련되지 않은 글로벌 블록들을 폐기할 수 있다. 도 12와 관련하여 설명된 메커니즘들은 다수의 호스트들 및/또는 다수의 메모리들, 예를 들어 로컬 원장 블록 체인(1226) 및 로컬 원장 블록 체인(1228)에 적용될 수 있다.
예를 들어, 회로부는 메모리에 저장된(예를 들어, ID_1과 연관됨) 데이터에 대한 업데이트를 확인하기 위한 로컬 원장 블록 체인(예를 들어, 1224)을 생성하며, 글로벌 원장 블록 체인(1222)으로부터 글로벌 블록들(예를 들어, 1220-1, 1220-2, 1220-3, 1220-4, 1220-5, 1220-6, 1220-N)을 수신할 수 있다. 회로부는 제1 부분의 글로벌 블록들 각각과 연관된 디지털 서명이 호스트 및/또는 메모리(예를 들어, ID_1)와 관련된 회로부에 의해 확인될 때 글로벌 블록들의 제1 부분(예를 들어, 1220-1, 1220-4, 1220-5)을 로컬 원장 블록 체인(1224)에 추가할 수 있다. 회로부는 글로벌 블록들의 제2 부분이 호스트 및/또는 ID_1과 관련된 메모리(예를 들어, 제2 부분은 ID_2 및/또는 ID_k와 관련됨)와 관련이 없는 것으로 결정될 때 수신된 글로벌 블록들의 상기 제2 부분(예를 들어, 1220-2, 1220-6, 1220-3, 1220-N)을 폐기할 수 있다.
도 13과 관련하여 더 설명되는 바와 같이, 신선도 필드는 글로벌 블록이 로컬 원장 블록 체인(예를 들어, 1224, 1226, 1228)에 속하는지를 확인하기 위해 회로부에 의해 사용될 수 있다. 상기 예에서, 제1 부분(예를 들어, 1220-1, 1220-4, 1220-5)의 글로벌 블록들 각각은 디지털 서명을 생성하는 데 사용되는 신선도 필드를 포함한다. 제1 부분(예를 들어, 1220-1, 1220-4, 1220-5)의 글로벌 블록들 각각에 대한 신선도 필드는 로컬 원장 블록 체인(1224)의 현재 로컬 블록에 해당한다. 이와 같이, 제1 부분(예를 들어, 1220-1, 1220-4, 1220-5)의 글로벌 블록들은 로컬 원장 블록 체인(1224)에 (로컬 블록들(1221-1, 1221-4 및 1221-5)로서) 순차적으로 추가되며, 호스트와 관련된 메모리에 저장된다.
특히, 회로부는 글로벌 블록의 신선도 필드를 기반으로 디지털 서명을 생성할 수 있다. 예를 들어, 회로부는 글로벌 블록(1220-4)의 헤더의 이전 로컬 블록 필드를 식별함으로써 글로벌 블록(1220-4)의 신선도 필드를 생성할 수 있다(이 예에서, 이는 ID_1을 가진 이전 글로벌 블록이기 때문에 글로벌 블록(1220-1)의 해시가 될 것이다). 로컬 원장 블록 체인(1224)의 현재 로컬 블록(1221-1)과 글로벌 원장 블록 체인(1222)의 글로벌 블록(1220-4)의 이전 로컬 블록 필드(다시 말해, 이 경우, 이는 글로벌 블록(1220-1)이 될 것임)이 동일한 경우.
도 13은 본 개시의 일 실시예에 따른 메모리에(예를 들어, 도 11a와 관련하여 앞서 설명된 메모리 어레이(1101)에) 저장된 보안 업데이트들을 위한 로컬 원장 블록 체인(예를 들어, 로컬 원장 블록 체인(1324))의 일 예를 예시한다. 로컬 원장 블록 체인(1324)은 도 12와 관련하여 설명된 로컬 원장 블록 체인(1224)과 유사할 수 있다. 설명의 용이함을 위해, 도 13은 로컬 원장 블록 체인(1324)만 예시한다. 그러나, 도 13과 관련하여 설명된 예들 및 로컬 원장 블록 체인(1324)은 또한 다른 로컬 원장 블록 체인들(예를 들어, 도 3과 관련하여 설명된 로컬 원장 블록 체인들(1326 및 1228))에 대해 적용될 수 있다. 로컬 원장 블록 체인(1324)은 각각의 호스트 및/또는 메모리 교환의 메모리에 저장된 데이터를 사용하여 위치 및/또는 도로에 출입하는 트래픽의 보안 모니터링에 사용되는 블록 체인이다. 일 예로서, 호스트 및/또는 메모리 교환은 특정 식별자, 예를 들어 식별자 ID_1과 연관된다.
이 예에서, 로컬 원장 블록 체인(1324)의 로컬 블록들(1321-1, 1321-4, 1321-5)은 앞서, 예를 들어 도 3의 예에서 글로벌 블록들(1220-1, 1220-4, 1220-5)로서 수신된 블록들이다. 일 예에서, 도 11a의 회로부(1110)는 도 5 내지 도 9와 관련하여 설명된 블록 체인 암호화 및 복호화 기술들을 사용하여 수신된 글로벌 블록들에 대해 동작하여 블록 체인 데이터의 각각의 해시를 예를 들어, SHA256 해시를 사용하여, 비교 및 확인한다. 글로벌 블록들이 호스트 및/또는 메모리(예를 들어, ID_1)와 관련된 것으로 확인되면, 이들은 로컬 블록들(1321-1, 1321-4 및 1321-5)이 되며, 호스트 및/또는 ID_1과 관련된 메모리를 위한 로컬 원장 블록 체인(1324)에 변경 불가능 레코드로서 저장될 수 있다. 이 예에서, 회로부는 호스트 ID_1와 관련된 메모리에 저장하기 위해, 로컬 블록(1321-4)(예를 들어, 이전 글로벌 블록(1320-4))에 대한 블록 체인 해시를 로컬 블록(1321-1)(예를 들어, 이전 글로벌 블록(1220-1))과 비교하도록 동작한다. 호스트 및/또는 메모리와 관련된 회로부에 의해 확인되면, 회로부는 로컬 블록(1321-1)에 링크될 수 있다. 마찬가지로, 로컬 블록(1321-5)(예를 들어, 이전 글로벌 블록(1220-5))은 일단 호스트 및/또는 메모리와 연관된 회로부에 의해 확인되면 로컬 블록(1321-4)에 링크될 수 있다.
도 13의 예에서, 각 로컬 블록(예를 들어, 1321-1, 1321-4 및/또는 1321-5 등)은 각각 다음 정보를 포함할 수 있다: 글로벌 블록 헤더, 예를 들어 1330-1, 1330-4, 1330-5, 및 로컬 블록 헤더, 예를 들어, 1332-1, 1332-4, 1332-5. 이 예에서, 각 로컬 블록 헤더(1332-1, 1332-4, 1332-5)는 이전 로컬 블록 해시(1345-1, 1345-4, 1345-5), 현재 로컬 블록 해시(1334-1, 1334-4, 1332-5), 및 블록 서명(1335-1, 1335-4, 1335-5)을 포함한다. 도 13의 예에 도시된 바와 같이, 각 로컬 블록(예를 들어, 1321-1, 1321-4 및 1321-5)은 블록 정보, 예를 들어 데이터의 일부로 페이로드, 예를 들어 1336-1, 1336-4, 1336-5를 포함한다. 도 3과 관련하여 언급된 바와 같이, 블록들(예를 들어, 글로벌 및 로컬) 각각은 현재 블록을 그들 각각의 블록 체인 원장들(글로벌 또는 로컬)의 이전 블록에 링크하기 위한 다수의 헤더들(예를 들어, 1330-1, 1332-1)을 포함할 수 있다.
예를 들어, 로컬 블록(1321-4)을 로컬 원장 블록 체인(1324)에 추가하는 방법을 참조하면, 글로벌 블록 헤더(1330-4)는 글로벌 원장 블록 체인, 뿐만 아니라 (글로벌 원장 블록 체인을 함께 링크하는) 현재 글로벌 블록에 대한 해시 내에서 동일한 연관 ID_1을 갖는 이전 글로벌 블록에 대한 해시 형태의 신선도 필드를 포함할 수 있다. 나아가, 글로벌 블록(예를 들어, 도 12의 1220-4)이 글로벌 원장 블록 체인(예를 들어, 도 12의 1222)에 있는 경우, 글로벌 블록 헤더의 신선도 필드는 글로벌 원장 블록 체인(예를 들어, 도 12의 1222)에서 동일한 연관 식별자(예를 들어, ID_1)를 갖는 이전 글로벌 블록(예를 들어, 도 12의 1220-1)에 대한 해시이다. 이 예에서, 로컬 블록(1321-4)이 로컬 원장 블록 체인(1324)에 추가되는 것으로 확인되면, 로컬 원장 블록 체인(1324)에 있는 로컬 블록(1321-1)의 현재 로컬 블록 해시(1334-1)는 회로부가 들어오는 글로벌 블록(예를 들어, 1220-4)을 로컬 블록(1321-4)으로서 로컬 원장 블록 체인(1324)에 추가하기 위해 이를 확인할 때 글로벌 블록 헤더(1330-4)의 신선도 필드와 동일할 것이다. 더 나아가, 현재 로컬 블록(1321-1)이 이전 글로벌 블록(1220-1)이었기 때문에, 글로벌 블록 헤더(1330-4)의 신선도 필드는 로컬 원장 블록 체인(1324)의 로컬 블록(1321-1)의 현재 로컬 블록 해시(1334-1)와 일치해야 한다.
로컬 블록 헤더들, 예를 들어 1332-1, 1332-4 및 1332-5는 각각 (로컬 원장 블록 체인(1324)과 함께 링크하기 위한) 이전 로컬 블록 해시, 예를 들어 1345-1, 1345-4 및 1345-5, 및 현재 로컬 블록 해시, 예를 들어, 1334-1, 1334-4 및 1334-5(이는 들어오는 글로벌 블록 신선도 필드와 동일함), 및 블록이 인증된 엔티티(예를 들어, 열거된 차량 ID 및/또는 호스트 및/또는 메모리와 연관된 엔티티)로부터 온 것이며 호스트 및/또는 메모리(예를 들어, ID_1)와 관련된 것임을 나타내기 위한 블록 서명들, 예를 들어 1335-1, 1335-4, 1335-5를 포함한다. 페이로드, 예를 들어 1336-1, 1336-4 및 1336-5는 하드웨어, 구성 및/또는 소프트웨어 업데이트(예를 들어, 구성, 구성의 변경, 호스트 및/또는 호스트와 연관된 메모리의 장지에 대한 변경 등) 및/또는 업데이트될 메모리에 저장된 데이터의 암호화 해시를 포함하는 데이터일 수 있다.
예를 들어, 차량 및/또는 식별자 ID_1를 갖는 차량과 관련된 메모리 형태의 호스트는 메모리 및 메모리에 저장된 데이터에 대한 업데이트를 확인하기 위한 로컬 원장 블록 체인(1324)를 생성하기 위한 회로부를 포함할 수 있다. 이 예에서, 로컬 원장 블록 체인(1324)은 글로벌 원장 블록 체인(예를 들어, 도 12의 1222)에서 가져온 로컬 블록(1321-4)(예를 들어, 도 12의 글로벌 블록(1220-4))으로 구성된다. 로컬 블록(1321-4)은 현재 로컬 블록(1321-4)의 현재 로컬 블록 암호화 해시(1334-4)를 포함한다. 현재 로컬 블록 암호화 해시(1334-4)는 순서(예를 들어, 시퀀스)를 확인하고 로컬 원장 블록 체인(1324) 및 업데이트될 메모리에 저장된 데이터(예를 들어, 페이로드(1336-1, 1336-4 및 1336-5))의 암호화 해시를 링크하기 위한 신선도 필드로서, 현재 로컬 블록 해시(1334-1)였던 이전 로컬 블록 암호화 해시(1345-4)와 비교될 수 있다. 로컬 원장 블록 체인(1324)의 로컬 블록(1321-4)은 글로벌 블록(예를 들어, 도 12의 1220-4)이 인증된 엔티티로부터 왔고 로컬 블록(1321-4)으로서 올바르게 추가되었음을 나타내는 그와 관련된 디지털 서명(1335-4)을 갖는다. 일부 예들에서, 인증된 엔티티는 공공 또는 사설 엔티티와 관련된 모든 차량들을 모니터링하는 차량들과 관련된 공공 또는 사설 엔티티일 수 있다. 이러한 방식으로, ID_1과 관련된 호스트 및/또는 메모리는 블록 서명(예를 들어, 1335-4)을 체크하며, 호스트 및/또는 ID_1과 관련된 메모리와 관련되지 않은 글로벌 원장 블록 체인(예를 들어, 글로벌 원장 블록 체인(1322))으로부터 수신된 글로벌 블록들을 폐기할 수 있다.
호스트 및/또는 메모리 ID_1은 메모리로부터 로컬 원장 블록 체인(1324)을 수신하고, 수신된 로컬 원장 블록 체인(1324)을 사용하여 메모리에 저장된 데이터에 대한 업데이트(예를 들어, 페이로드(1336-1, 1336-4 및 1336-5))를 확인하도록 구성될 수 있다. 이러한 방식으로, 호스트 및/또는 ID_1과 관련된 메모리는 인증된 엔티티로부터 호스트 및/또는 메모리에 제공된 업데이트들 각각을 유지 및/또는 모니터링할 수 있다. 로컬 원장 블록 체인(1324)의 어셈블리는 변경 불가능 레코드를 생성하기 때문에, 회로부는 어떤 업데이트들이 발생했는지에 대한 제어를 유지할 수 있다. 이를 통해 부정 업데이트들, 의도하지 않은 변경들, 의도하지 않은 오류 및 악의적인 해킹 시도들을 방지할 수 있다. 추가로, 호스트와 관련된 메모리에 대한 로컬 원장 블록 체인(1324)의 유지 관리는 요구 시 생성될 수 있는 업데이트들의 레코드를 제공할 수 있다. 글로벌 원장 블록 체인(예를 들어, 도 12의 글로벌 원장 블록 체인(1222))의 글로벌 블록이 확인되고 로컬 원장 블록 체인(1324)에 추가된 후, 회로부는 페이로드, 예를 들어 1336-1, 1336-4 및 1336-5에 포함된 업데이트를 구현할 수 있다.
예를 들어, 로컬 원장 블록 체인(1324)은 글로벌 블록(예를 들어, 도 12의 글로벌 블록(1220-1))을 확인하고 이를 로컬 원장 블록 체인(1324)에 로컬 블록(1321-1)으로서 추가할 수 있다. 확인 후에, 회로부는 로컬 블록(1321-1)의 페이로드(1336-1)에 포함된 업데이트(1338-1)를 실행할 수 있다. 인증된 엔티티는 ID_1과 연관된 호스트 및/또는 메모리에 대한 또 다른 업데이트를 푸시할 수 있으며, 이와 같이, 회로부는 회로부에 의해 확인되고 로컬 블록(1321-1)에 링크된, 로컬 블록(1321-4)으로서 순차적으로 추가될 수 있는 제2 글로벌 블록(예를 들어, 도 12의 글로벌 블록(1220-4))을 수신할 수 있다. 회로부는 신선도 필드의 암호화 해시, 예를 들어 이전 로컬 블록 해시(1345-4)의 암호화 해시를 확인하고 비교할 수 있다. 로컬 원장 블록 체인(1324)에서의 이 확인 및 링크가 유효한 경우, 회로부는 로컬 블록(1321-4)의 페이로드(1336-4)에 포함된 업데이트(1338-2)를 실행시킬 수 있다. 이 방법을 사용하여, 메모리는 로컬 블록(1321-5) 등에 대해 설명된 바와 같이 로컬 원장 블록 체인(1324)에 글로벌 블록들을 로컬 블록들로서 계속 추가할 수 있다. 일부 예들에서, ID_1과 연관된 호스트 및/또는 메모리는 로컬 원장 블록 체인(1324)의 더 오래된 부분을 제거하여 메모리에 빈 공간을 생성할 수 있는데, 이는 인증된 엔티티에 의해 더 많은 업데이트들이 생성될 때 로컬 원장 블록 체인(1324)이 증가하기 때문이다.
예를 들어, 호스트 및/또는 메모리는 ID_1을 갖는 차량의 컴퓨팅 장치일 수 있으며, 로컬 원장 블록 체인(1324)은 차량에 탑재된 소프트웨어 및/또는 하드웨어 컴포넌트에 대한 업데이트들을 나타낼 수 있다. 컴퓨팅 장치는 메모리에 저장될 수 있는 변경 불가능 레코드들의 임계량을 포함할 수 있다. 일부 예들에서, 업데이트들(예를 들어, 1338-1, 1338-2)이 글로벌 블록들을 통해 인증된 엔티티로부터 푸시되어 컴퓨팅 장치의 소프트웨어 및/또는 하드웨어 컴포넌트를 업데이트하며, 회로부는 로컬 원장 블록 체인(1324)이 임계값에 도달했을 때 로컬 원장 블록 체인(1324)으로부터 로컬 블록(예를 들어, 더 오래된 로컬 블록)을 제거할 수 있다. 회로부는 로컬 원장 블록 체인(1324)의 루트(예를 들어, 컨센서스의 루트, 머클 트리(Merkle tree)의 루트 등)를 변경하기 위해 펌웨어를 실행함으로써 새로운 로컬 블록(예를 들어, 1321-5)에 대한 컴퓨팅 장치의 메모리에 빈 공간을 만들기 위해 오래된 로컬 블록(예를 들어, 1321-1)을 제거할 수 있다. 이러한 방식으로, 회로부는 로컬 원장 블록 체인(1324)이 새로운 로컬 블록들을 추가함에 따라 업데이트들의 제어를 유지할 수 있다.
일 실시예에서, 위에서 설명한 글로벌 블록 체인 및 로컬 원장 블록 체인은 차량들의 트래픽을 안전하게 모니터링하는 데 사용될 수 있다. 일 예로서, 차량이 위치에 진입할 때, 차량과 진입 노드 간에 데이터를 교환하여 차량과 진입 노드의 ID들을 안전하게 확인할 수 있다. 진입 노드는 글로벌 블록 체인을 사용하여 차량의 ID 및 해당 특정 차량과 관련된 임의의 액세스 데이터를 확인할 수 있다. 추가로, 진입 노드는 수신된 이 특정 ID와 관련된 차량이 이미 상기 위치에 진입하지 않았음(이에 따라 승인되지 않은 경우 액세스를 요청하는 이 현재 차량이 악의적이고 해커 등임을 나타낼 수 있음)을 확인할 수 있다. 그러나, 이 과정을 통해 차량에 접근 권한이 부여되면, 해당 차량에 접근 권한이 부여되었음을 나타내는 블록이 글로벌 블록 체인에 추가될 수 있다. 해당 위치에서 차량이 빠져나올 때, 차량이 빠져나갔음을 나타내는 블록이 블록 체인에 추가될 수 있다. 로컬 원장 블록 체인은 전체 글로벌 블록 체인을 모니터링하지 않고도 특정 진입 지점들과 해당 진입 지점들에 어떤 차량들이 출입했는지 정확히 파악하는 데 사용될 수 있다.
도 14a는 본 개시의 일 실시예에 따른 보안 메모리 어레이를 정의하는데 사용되는 한 쌍의 레지스터들(1439-1, 1439-2)의 일 예를 예시하고, 도 14b는 본 개시의 일 실시예에 따른 레지스터들(1439-1 및 1439-2)을 사용하여 정의된 보안 메모리 어레이를 포함하는 메모리 어레이(1401)의 일부의 도면을 예시한다. 예를 들어, 레지스터들(1439-1 및 1439-2)은 각각 앞서 도 11a와 관련하여 설명된 레지스터들(1139-1 및 1139-2)일 수 있으며, 보안 메모리 어레이(1401)는 예를 들어, 앞서 도 11a와 관련하여 설명된 메모리 어레이(1101)일 수 있다. 예를 들어, 도 14b에 도시된 바와 같이, 보안 메모리 어레이(1401)는 메모리 셀들의 다수의 물리적 블록들(1407-0, 1407-1, ..., 1407-B)를 포함할 수 있으며, 각각은 도 10과 관련하여 앞서 설명된 메모리 어레이(1001)와 유사한 방식으로, 메모리 셀들의 다수의 섹터들을 갖는 다수의 물리적 행들(1403-0, 1403-1, ..., 1403-R)을 포함한다.
도 14a에 도시된 바와 같이, 레지스터(1439-1)는 보안 어레이의 어드레스들(예를 들어, 보안 어레이의 다른 부분들의 어드레스들)을 정의할 수 있고, 레지스터(1439-2)는 보안 어레이의 크기들(예를 들어, 보안 어레이의 다른 부분들의 크기들)을 정의할 수 있다. 레지스터(1439-1)에 의해 정의된 보안 어레이의 어드레스들은, 예를 들어, 보안 어레이의 시작 지점들(예를 들어, 시작 LBA들)(예를 들어, 보안 어레이의 다른 부분들의 시작 지점들)에 대응할 수 있고, 레지스터(1439-2)에 의해 정의된 보안 어레이의 크기들은, 예를 들어, 보안 어레이의 종료 지점들(예를 들어, LBA의 종료)(예를 들어, 보안 어레이의 다른 지점들의 종료 지점들)에 대응할 수 있다.
예를 들어, 도 14a에 도시된 바와 같이, 레지스터들(1439-1 및 1439-2)은 N 쌍의 값들을 정의할 수 있으며, 각각의 개별 쌍은 레지스터(1439-1)에 의해 정의된 어드레스 값(예를 들어, addr) 및 레지스터(1439-2)에 의해 정의된 크기 값(예를 들어, size)을 포함한다. 예를 들어, 도 14a에 예시된 예에서, Pair0은 어드레스 값 addr0과 크기 값 size0(예를 들어, Pair0 = [addr0, size0])을 포함하고, Pair1은 어드레스 값 addr1과 크기 값 size1(예를 들어, Pair1 = [addr1, size1]) 등을 포함하며, PairN은 어드레스 값 addrN 및 크기 값 sizeN(예를 들어, PairN = [addrN, sizeN])를 포함한다. 한 쌍의 어드레스 값은 보안 어레이의 일부의 시작 지점(예를 들어, 시작 LBA)에 대응할 수 있으며, 해당 쌍의 어드레스 값과 크기 값의 합은 보안 어레이의 해당 부분의 종료 지점(예를 들어, 종료 LBA)에 대응할 수 있다. 이와 같이, 전체 보안 어레이(예를 들어, 전체 보안 어레이를 포함하는 부분들)는 다음과 같이 주어질 수 있다: [addr0, addr0 + size0] ∪ [addr1, addr1 + size1] ∪ … ∪ [addrN, addrN + sizeN].
레지스터(1439-2)에 의해 정의된 크기 값이 0인 첫 번째 쌍은 보안 어레이의 정의를 중지할 수 있다. 예를 들어, 도 14a에 예시된 예에서, Pair2의 크기 값이 0이면, 보안 어레이는 다음과 같이 주어질 것이다: [addr0, addr0 + size0] ∪ [addr1, addr1 + size1].
레지스터들(1439-1 및 1439-2)에 의해 정의된 보안 어레이의 일 예(예를 들어, 레지스터(1439-2)에 의해 0이 아닌 것으로 정의된 모든 크기 값들을 가짐)가 도 14b에 예시된다. 예를 들어, 도 14b에 도시된 바와 같이, 메모리 어레이(1401)의 섹터(1405-0)와 연관된 어드레스(예를 들어, LBA)는 addr0이고, 메모리 어레이(1401)의 섹터(1405-1)와 연관된 어드레스는 addr0 + size0이고, 메모리 어레이(1401)의 섹터(1405-2)와 연관된 어드레스는 addr1이고, 메모리 어레이(1401)의 섹터(1405-3)와 연관된 어드레스는 addr1 + size1이고, 메모리 어레이(1401)의 섹터(1405-4)와 연관된 어드레스는 addrN이고, 메모리 어레이(1401)의 섹터(1405-5)와 연관된 어드레스는 addrN + sizeN이다. 이와 같이, 보안 어레이는 섹터들(예를 들어, 섹터들에 저장된 데이터)(1405-0 내지 1405-1), 섹터들(1405-2 내지 1405-3 및 1405-4 내지 1405-5)을 포함한다. 그러나, 섹터(1405-0) 앞에 있는 메모리 어레이(1401)의 섹터들, 및 메모리 어레이(1401)의 섹터들(1405-1 내지 1405-2)은 보안 어레이의 일부가 아니다(예를 들어, 보안 어레이는 어레이(1401)의 서브셋을 포함한다).
도 15는 본 개시의 일 실시예에 따른 예시적인 메모리 장치(1506)의 블록도이다. 메모리 장치(1506)는 예를 들어 도 11a와 관련하여 앞서 설명된 메모리 장치(1106)일 수 있다.
도 15에 도시된 바와 같이, 메모리 장치(1506)는 다수의 메모리 어레이들(1501-1 내지 1501-7)을 포함할 수 있다. 메모리 어레이들(1501-1 내지 1501-7)은 도 10과 관련하여 앞서 설명된 메모리 어레이(1001)와 유사할 수 있다. 또한, 도 15에 예시된 예에서, 메모리 어레이(1501-3)는 보안 어레이이고, 메모리 어레이(1501-6)의 서브셋(1511)은 보안 어레이를 포함하며, 메모리 어레이(1501-7)의 서브셋들(1513 및 1515)은 보안 어레이를 포함한다. 서브셋들(1511, 1513, 1515)은 각각 예를 들어 4 킬로바이트의 데이터를 포함할 수 있다. 그러나, 본 개시의 실시예들은 메모리 어레이 또는 보안 어레이의 특정 수 또는 배열로 제한되지 않는다.
도 15에 도시된 바와 같이, 메모리 장치(1506)는 교정(예를 들어, 복구) 블록(1560)을 포함할 수 있다. 교정 블록(1560)은 메모리 장치(1506)의 동작 동안 발생할 수 있는 오류들(예를 들어, 불일치들)의 경우 데이터 소스로서 사용될 수 있다. 교정 블록(1560)은 호스트에 의해 어드레스 가능한 메모리 장치(1506)의 영역 밖에 있을 수 있다.
도 15에 도시된 바와 같이, 메모리 장치(1506)는 직렬 주변기기 인터페이스(SPI)(1504) 및 컨트롤러(1508)를 포함할 수 있다. 메모리 장치(1506)는 SPI(1504) 및 컨트롤러(1508)를 사용하여 앞서 본원에 설명된 바와 같이(예를 들어, 도 11a와 관련하여), 호스트 및 메모리 어레이들(1501-1 내지 1501-7)과 통신할 수 있다.
도 15에 도시된 바와 같이, 메모리 장치(1506)는 메모리 장치(1506)의 보안을 관리하기 위한 보안 레지스터(1586)를 포함할 수 있다. 예를 들어, 보안 레지스터(1586)는 애플리케이션 컨트롤러를 구성하고 외부에서 통신할 수 있다. 또한, 보안 레지스터(1586)는 인증 명령에 의해 수정 가능할 수 있다.
도 15에 도시된 바와 같이, 메모리 장치(1506)는 키들(1521)을 포함할 수 있다. 예를 들어, 메모리 장치(1506)는 루트 키, DICE-RIOT 키, 및/또는 다른 외부 세션 키들과 같은 키들을 저장하기 위한 8개의 상이한 슬롯들을 포함할 수 있다.
도 15에 도시된 바와 같이, 메모리 장치(1506)는 전자적으로 소거 가능한 프로그램 가능 읽기 전용 메모리(EEPROM)(1523)를 포함할 수 있다. EEPROM(1523)은 데이터의 개별 바이트가 소거되고 프로그래밍될 수 있는 호스트에 사용할 수 있는 보안 비휘발성 영역을 제공할 수 있다.
도 15에 도시된 바와 같이, 메모리 장치(1506)는 카운터들(예를 들어, 단조 카운터들)(1525)을 포함할 수 있다. 카운터들(1525)은 호스트로부터 수신 및/또는 호스트로 전송된 (예를 들어, 명령 세트 또는 시퀀스에 서명하기 위한) 명령들에 대한 재생 방지 메커니즘(예를 들어, 신선도 생성기)으로서 사용될 수 있다. 예를 들어, 메모리 장치(1506)는 6개의 서로 다른 단조 카운터들을 포함할 수 있으며, 그 중 2개는 인증된 명령들을 위해 메모리 장치(1506)에 의해 사용될 수 있고, 그 중 4개는 호스트에 의해 사용될 수 있다.
도 15에 도시된 바와 같이, 메모리 장치(1506)는 SHA-256 암호화 해시 함수(1527) 및/또는 HMAC-SHA256 암호화 해시 함수(1529)를 포함할 수 있다. SHA-256 및/또는 HMAC-SHA256 암호화 해시 함수들(1527 및 1529)은 메모리 장치(1506)에 의해 사용되어 예를 들어, 본원에서 앞서 설명된 바와 같은 블록(220)의 암호화 해시 및/또는 본원에서 앞서 설명된 바와 같은 메모리 어레이들(1501-1 내지 1501-7)에 저장된 데이터를 확인하는데 사용된 골든 해시와 같은, 암호화 해시들을 생성할 수 있다. 또한, 메모리 장치(1506)는 DICE-RIOT(1531)의 L0 및 L1을 지원할 수 있다.
특정 실시예들이 본원에 예시되고 설명되었지만, 당업자들은 동일한 결과들을 달성하도록 계산된 배열이 도시된 특정 실시예들로 대체될 수 있음을 이해할 것이다. 이 개시는 본 개시의 많은 실시예들의 적응 또는 변형을 커버하도록 의도된다. 상기 설명은 제한적인 것이 아니라 예시적인 방식으로 이루어진 것으로 이해해야 한다. 상기 실시예들과 본원에 구체적으로 설명되지 않은 다른 실시예들의 조합은 상기 설명을 검토할 때 통상의 당업자들에게 명백할 것이다. 본 개시의 많은 실시예들의 범위는 상기 구조들 및 방법들이 사용된 다른 어플리케이션들을 포함한다. 따라서, 본 개시의 많은 실시예들의 범위는 첨부된 청구항과, 이와 함께 이러한 청구항들이 부여되는 등가물들의 전체 범위를 참조하여 결정되어야 한다.
전술한 상세한 설명에서, 본 개시를 간소화하기 위해 일부 특징들이 단일 실시예에 함께 그룹화된다. 이 개시 방법은 본 개시의 개시된 실시예들이 각 청구항에 명백히 인용된 것보다 더 많은 특징들을 사용해야 한다는 의도를 반영하는 것으로 해석되어서는 안된다. 오히려, 다음의 청구항들이 반영하는 바와 같이, 본 발명의 주제는 단일의 개시된 실시예의 모든 특징들 이내에 있다. 따라서, 다음의 청구항들은 이에 의해 상세한 설명으로 통합되며, 각 청구항은 그 자체가 별도의 실시예로서 존재한다.

Claims (20)

  1. 장치에 있어서,
    메모리; 및
    회로부로서,
    엔티티로부터 식별 데이터, 서명 및 위치로 진입하라는 요청을 수신하고;
    상기 요청을,
    상기 식별 데이터 및 상기 서명에 기초하여 상기 엔티티의 ID를 확인하고;
    블록 체인의 복수의 블록들 중 적어도 하나를 참조하여 상기 엔티티와 연관된 데이터가 상기 위치로의 진입을 승인하는지 여부를 결정함으로써 분석하되, 상기 복수의 블록들 각각은,
    상기 블록 체인의 이전 블록의 암호화 해시; 및
    상기 각자의 복수의 블록들 각각의 암호화 해시를 포함하고;
    상기 엔티티의 상기 ID를 확인하고 상기 위치로의 진입을 승인하는 것에 응답하여, 상기 블록 체인의 상기 복수의 블록들에 블록을 생성하도록 구성된, 상기 회로부를 포함하는, 장치.
  2. 청구항 1에 있어서, 상기 생성된 블록은 상기 엔티티가 상기 위치에 진입하도록 허용되었음을 나타내는, 장치.
  3. 청구항 1에 있어서,
    상기 블록 체인의 상기 복수의 블록들은 로컬 원장 블록 체인들에 추가되는 글로벌 블록 체인으로 구성되고;
    상기 로컬 원장 블록 체인들 각각은 상기 위치로의 복수의 진입들 중 특정 진입과 연관되는, 장치.
  4. 청구항 3에 있어서, 상기 회로부는,
    상기 블록 체인의 상기 복수의 블록들의 상기 생성된 블록을 상기 엔티티가 사용한 상기 위치로의 상기 특정 진입과 연관된 로컬 원장 블록 체인에 추가하고;
    글로벌 블록들이 상기 장치와 관련되지 않을 때, 상기 글로벌 블록들을 상기 로컬 원장 블록 체인에 추가하는 것을 금지하도록 더 구성되는, 장치.
  5. 청구항 4에 있어서, 상기 회로부는 상기 글로벌 원장 블록 체인으로부터 수신된 상기 다수의 글로벌 블록들의 글로벌 블록들이 상기 장치와 관련될 때, 상기 글로벌 블록들을 상기 로컬 원장 블록 체인에 순차적으로 추가하도록 구성되는, 장치.
  6. 청구항 1에 있어서, 상기 로컬 원장 블록 체인은 레지스터 쌍에 의해 정의된 보안 어레이에 저장되는, 장치.
  7. 청구항 1에 있어서, 상기 회로부는 글로벌 원장 블록 체인으로부터 다수의 글로벌 블록들을 수신하도록 구성되는, 장치.
  8. 청구항 1에 있어서, 상기 회로부는, 상기 엔티티의 상기 ID를 확인하지 않는 것에 응답하여, 상기 엔티티가 상기 위치에 대한 액세스가 거부되었다는 표시를 제공하도록 더 구성되는, 장치.
  9. 청구항 1 내지 8 중 어느 한 항에 있어서, 상기 회로부는, 참조했던 상기 적어도 하나의 블록이 상기 엔티티가 상기 위치에 이미 진입했음을 나타낸다고 결정하는 것에 응답하여, 상기 엔티티가 상기 위치에 대한 액세스가 거부되었다는 표시를 제공하도록 더 구성되는, 장치.
  10. 청구항 1 내지 8 중 어느 한 항에 있어서,
    상기 메모리는 메모리 셀 어레이를 포함하고;
    상기 회로부는 상기 어레이를 정의하도록 구성된 레지스터 쌍을 포함하는, 장치.
  11. 청구항 10에 있어서, 상기 레지스터 쌍은,
    상기 어레이의 어드레스를 정의하도록 구성된 레지스터; 및
    상기 어레이의 크기를 정의하도록 구성된 레지스터를 포함하는, 장치.
  12. 장치에 있어서,
    메모리; 및
    회로부로서,
    차량 관련 엔티티로부터 공개 키, 식별 데이터, 서명 및 위치로 진입하라는 요청을 수신하고;
    상기 요청을,
    상기 식별 데이터 및 상기 서명에 기초하여 상기 차량 관련 엔티티를 확인하고;
    블록 체인의 적어도 하나의 블록이 상기 차량 관련 엔티티와 연관되는지 여부를 결정하고;
    상기 적어도 하나의 블록이 상기 위치로의 진입을 허용하도록 표시하는지 여부를 결정함으로써 분석하도록 구성되며,
    상기 블록 체인의 상기 블록들 각각은,
    상기 블록 체인의 상기 블록들 각각과 관련되는 이전 블록의 암호화 해시; 및
    상기 각자의 블록들 각각의 암호화 해시를 포함하는, 상기 회로부를 포함하는, 장치.
  13. 청구항 12에 있어서, 상기 회로부는, 상기 엔티티의 상기 ID를 확인하고 상기 위치로의 진입을 허용하는 것에 응답하여,
    상기 차량 관련 엔티티가 상기 위치로 진입하도록 허용되었음을 나타내는 블록을 상기 블록 체인에 생성하고;
    상기 생성된 블록의 생성 전에 추가된 블록의 암호화 해시를 상기 생성된 블록에 추가하도록 더 구성되는, 장치.
  14. 청구항 12에 있어서, 상기 회로부는 상기 적어도 하나의 블록의 신선도 필드에 대한 상기 서명을 확인하도록 더 구성되는, 장치.
  15. 청구항 14에 있어서, 상기 회로부는 상기 블록 체인의 이전 블록의 필드를 식별함으로써 상기 신선도 필드를 결정하는, 장치.
  16. 청구항 12 내지 15 중 어느 한 항에 있어서, 상기 회로부는 상기 차량 관련 엔티티의 상기 식별 데이터와 동일한 후속 식별 데이터를 제공하는 후속 엔티티에 의해 이루어진 상기 위치로 진입하라는 후속 요청들을 거부하도록 구성되는, 장치.
  17. 청구항 16에 있어서, 상기 회로부는 상기 생성된 블록에 액세스하고 상기 차량 관련 엔티티가 이미 상기 위치에 진입했다고 결정함으로써 거부하도록 구성되는, 장치.
  18. 청구항 12 내지 15 중 어느 한 항에 있어서, 상기 회로부는, 상기 차량 관련 엔티티가 상기 위치를 빠져나갔다는 것에 응답하여, 상기 차량 관련 엔티티가 상기 위치를 빠져나갔음을 나타내는 추가 블록을 생성하도록 구성되는, 장치.
  19. 시스템에 있어서,
    메모리; 및
    회로부로서,
    엔티티로부터 식별 데이터, 서명 및 위치로 진입하라는 요청을 수신하고;
    상기 요청을,
    상기 식별 데이터 및 상기 서명에 기초하여 상기 엔티티의 ID를 확인하고;
    블록 체인의 복수의 블록들 중 적어도 하나를 참조하여 상기 엔티티와 연관된 데이터가 상기 위치로의 진입을 인증하는지 여부를 결정함으로써 분석하고;
    상기 엔티티의 상기 ID의 유효성을 확인하고 상기 위치로의 진입을 승인하는 것에 응답하여,
    상기 위치로의 진입이 허용되었다는 표시를 전송하고;
    상기 블록 체인의 상기 다수의 블록들에 블록을 생성하도록 구성된, 상기 회로부; 및
    호스트로서, 상기 호스트는 차량 관련 엔티티와 연관되고,
    상기 식별 데이터, 상기 서명 및 상기 요청을 전송하고;
    상기 위치로의 진입이 허용되었다는 상기 표시를 수신하도록 구성되는, 상기 호스트를 포함하는, 시스템.
  20. 청구항 19에 있어서, 상기 호스트는, 상기 차량 관련 엔티티가 상기 위치를 빠져나오는 것에 응답하여, 상기 차량 관련 엔티티가 빠져나왔음을 상기 회로부에 나타내고, 상기 회로부는, 상기 차량 관련 엔티티가 빠져나왔다는 상기 표시를 수신하는 것에 응답하여, 상기 차량 관련 엔티티가 빠져나왔음을 나타내는 상기 블록 체인의 상기 복수의 블록들에 추가될 추가 블록을 생성하도록 구성되는, 시스템.
KR1020217034527A 2019-03-25 2020-03-24 블록 체인을 이용한 보안 모니터링 KR20210134798A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/363,323 US11063747B2 (en) 2019-03-25 2019-03-25 Secure monitoring using block chain
US16/363,323 2019-03-25
PCT/US2020/024379 WO2020198184A1 (en) 2019-03-25 2020-03-24 Secure monitoring using block chain

Publications (1)

Publication Number Publication Date
KR20210134798A true KR20210134798A (ko) 2021-11-10

Family

ID=72604752

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217034527A KR20210134798A (ko) 2019-03-25 2020-03-24 블록 체인을 이용한 보안 모니터링

Country Status (7)

Country Link
US (2) US11063747B2 (ko)
EP (1) EP3949250A4 (ko)
JP (1) JP2022527906A (ko)
KR (1) KR20210134798A (ko)
CN (1) CN113841355B (ko)
SG (1) SG11202110573UA (ko)
WO (1) WO2020198184A1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11341451B2 (en) * 2018-10-10 2022-05-24 Questaweb Holdings Inc. Hierarchical blockchain architecture for global trade management
US11349636B2 (en) 2019-03-25 2022-05-31 Micron Technology, Inc. Local ledger block chain for secure updates
US11200040B2 (en) * 2020-01-08 2021-12-14 The Boeing Company Distributed ledger for software distribution in a wireless ad hoc network for ad-hoc data processing on a source node
CN112561006B (zh) * 2020-12-04 2023-08-29 中国联合网络通信集团有限公司 电子车牌管理方法、射频识别读写器、节点、设备及介质
CN114237509B (zh) * 2021-12-17 2024-03-26 西安紫光展锐科技有限公司 数据访问方法及装置
WO2024116951A1 (ja) * 2022-12-02 2024-06-06 京セラ株式会社 認証方法及びノード

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5475378A (en) * 1993-06-22 1995-12-12 Canada Post Corporation Electronic access control mail box system
US6986052B1 (en) * 2000-06-30 2006-01-10 Intel Corporation Method and apparatus for secure execution using a secure memory partition
US10147076B2 (en) * 2002-10-01 2018-12-04 Andrew H B Zhou Digital currency (virtual payment cards) issued by central bank for mobile and wearable devices
US8009013B1 (en) * 2007-09-21 2011-08-30 Precision Control Systems of Chicago, Inc. Access control system and method using user location information for controlling access to a restricted area
WO2010019916A1 (en) * 2008-08-14 2010-02-18 The Trustees Of Princeton University Hardware trust anchors in sp-enabled processors
US8051467B2 (en) * 2008-08-26 2011-11-01 Atmel Corporation Secure information processing
US9332018B2 (en) * 2014-04-03 2016-05-03 Prote. Us Converged Systems Corporation Method and system for secure authentication
US20160283920A1 (en) * 2015-03-28 2016-09-29 Justin Fisher Authentication and verification of digital data utilizing blockchain technology
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
WO2017092817A1 (en) 2015-12-03 2017-06-08 Rwe Ag Charging system for vehicles
US10534913B2 (en) * 2016-03-30 2020-01-14 British Telecommunications Public Limited Company Blockchain state reliability determination
US10068397B2 (en) * 2016-04-06 2018-09-04 Guardtime IP Holdings, Ltd. System and method for access control using context-based proof
US10437630B2 (en) * 2016-04-10 2019-10-08 Bank Of America Corporation System for transforming large scale electronic processing using application block chain and multi-structured data stores
US11172367B2 (en) 2016-05-25 2021-11-09 Nokia Technologies Oy Method, device and system for utilizing block chain to define trusted circle
US10169937B1 (en) * 2016-10-20 2019-01-01 Jpmorgan Chase Bank, N.A. Systems and methods for multifactor physical authentication
ES2819888T3 (es) * 2016-11-09 2021-04-19 Ingenico Group Dispositivo, método y programa para reducir de forma segura una cantidad de registros en una base de datos
JP6219485B1 (ja) * 2016-11-25 2017-10-25 本田技研工業株式会社 充電システム、充電方法及びプログラム
US10593129B2 (en) * 2017-03-20 2020-03-17 International Business Machines Corporation Cognitive and dynamic vehicular parking
WO2018209153A1 (en) * 2017-05-10 2018-11-15 Responsible Gold Operations Ltd. Asset cards for tracking divisible assets in a distributed ledger
US10783600B2 (en) * 2017-05-25 2020-09-22 GM Global Technology Operations LLC Method and system using a blockchain database for data exchange between vehicles and entities
CN107450981B (zh) * 2017-05-31 2020-04-24 创新先进技术有限公司 一种区块链共识方法及设备
US10608910B2 (en) 2017-06-26 2020-03-31 Myomega Systems Gmbh Using blockchain to track information for devices on a network
US11038681B2 (en) 2017-06-26 2021-06-15 Myomega Systems Gmbh Using blockchain to track information for devices on a network
US10348487B2 (en) * 2017-07-20 2019-07-09 International Business Machines Corporation Game data offloading to a blockchain
JP2019028549A (ja) * 2017-07-26 2019-02-21 株式会社デンソー 台帳管理ノード、台帳管理システム、車載の情報提供装置
US10745943B1 (en) * 2017-08-02 2020-08-18 United Services Automobile Associates (USAA) Smart lock box
US10997551B2 (en) * 2017-08-03 2021-05-04 Liquineq AG System and method for automotive inventory management and recordkeeping using multi-tiered distributed network transactional database
US20190058709A1 (en) 2017-08-16 2019-02-21 Telefonaktiebolaget Lm Ericsson (Publ) Tenant management method and system in a cloud computing environment
US20190080538A1 (en) * 2017-09-08 2019-03-14 Alex Shahidi Novel high assurance identity authentication and granular access oversight and management system based on indoor tracking, gps and biometric identification
CN111742521B (zh) * 2017-10-06 2023-09-22 瑞典爱立信有限公司 使用区块链的增量计费
WO2019075560A1 (en) * 2017-10-16 2019-04-25 Btl Group Ltd. METHOD AND SYSTEM FOR FACILITATING DATA TRANSFER BETWEEN BLOCK CHAINS
US20190156363A1 (en) * 2017-11-17 2019-05-23 Richard Postrel Implementation of a loyalty program and exchange system utilizing a blockchain
US10797883B2 (en) * 2018-02-28 2020-10-06 Kyocera Document Solutions Inc. Deploying multiple nodes for creation of blockchains for trackable actions
US20190392118A1 (en) * 2018-06-20 2019-12-26 Adp, Llc Blockchain Version Control
US11188089B2 (en) * 2018-06-21 2021-11-30 Ford Global Technologies, Llc Localization for autonomous vehicles using gaussian mixture models
US20190394046A1 (en) * 2018-06-22 2019-12-26 Sf Motors, Inc. Secure firmware updates for remote vehicles
US11122411B2 (en) * 2018-09-14 2021-09-14 RaGaPa Inc. Distributed, crowdsourced internet of things (IoT) discovery and identification using block chain
US11341451B2 (en) * 2018-10-10 2022-05-24 Questaweb Holdings Inc. Hierarchical blockchain architecture for global trade management
US20200118207A1 (en) * 2018-10-11 2020-04-16 Hive Project Limited Blockchain based invoice sales
US10868667B2 (en) * 2018-11-06 2020-12-15 GM Global Technology Operations LLC Blockchain enhanced V2X communication system and method
US11501483B2 (en) * 2018-12-10 2022-11-15 ImageKeeper, LLC Removable sensor payload system for unmanned aerial vehicle performing media capture and property analysis
US10839320B2 (en) * 2018-12-18 2020-11-17 Rokfin, Inc. Determining network-effects with decentralized applications
CA3123961A1 (en) * 2018-12-19 2020-06-25 Perk Hero Software Inc. Method, system, and computer readable medium for transferring cryptographic tokens
US11115218B2 (en) * 2019-01-15 2021-09-07 Fisher-Rosemount Systems, Inc. System for secure metering from systems of untrusted data derived from common sources

Also Published As

Publication number Publication date
US20210344481A1 (en) 2021-11-04
SG11202110573UA (en) 2021-10-28
JP2022527906A (ja) 2022-06-07
CN113841355A (zh) 2021-12-24
EP3949250A1 (en) 2022-02-09
US20200313864A1 (en) 2020-10-01
US11863661B2 (en) 2024-01-02
CN113841355B (zh) 2023-01-03
EP3949250A4 (en) 2022-12-21
US11063747B2 (en) 2021-07-13
WO2020198184A1 (en) 2020-10-01

Similar Documents

Publication Publication Date Title
US11271755B2 (en) Verifying vehicular identity
CN113841355B (zh) 用于使用块链安全地进行监测的设备和系统
CN113841368A (zh) 验证进入信任区的车辆的身份
KR20210132216A (ko) 동작 동안 긴급 차량의 아이덴티티 검증
US11728987B2 (en) Secure vehicular part communication
US11791984B2 (en) Local ledger block chain for secure updates
TW202038123A (zh) 使用密鑰之身份驗證
US11652602B2 (en) Secure communication in a traffic control network
CN111740854B (zh) 用于安全装置通信的设备、方法和系统
US11397814B2 (en) Local ledger block chain for secure electronic control unit updates
CN111740834A (zh) 安全传感器通信
CN111740835A (zh) 用于密钥替换的安全通信的设备、方法和系统
KR20210132721A (ko) 네트워크에 액세스 시의 보안 통신
JP2022527758A (ja) セキュア緊急車両通信
CN113826071A (zh) 空中更新确认
US20200314073A1 (en) Secure communication between an intermediary device and a network

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application