KR20210126141A - 블록체인 및 dice-riot을 사용한 원격 장치 관리 - Google Patents

블록체인 및 dice-riot을 사용한 원격 장치 관리 Download PDF

Info

Publication number
KR20210126141A
KR20210126141A KR1020217031916A KR20217031916A KR20210126141A KR 20210126141 A KR20210126141 A KR 20210126141A KR 1020217031916 A KR1020217031916 A KR 1020217031916A KR 20217031916 A KR20217031916 A KR 20217031916A KR 20210126141 A KR20210126141 A KR 20210126141A
Authority
KR
South Korea
Prior art keywords
controlled device
secure channel
network
devices
control command
Prior art date
Application number
KR1020217031916A
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 KR20210126141A publication Critical patent/KR20210126141A/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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0847Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving identity based encryption [IBE] schemes
    • 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
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2816Controlling appliance services of a home automation network by calling their functionalities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/28Restricting access to network management systems or functions, e.g. using authorisation function to access network configuration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • 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/3215Cryptographic 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 a plurality of channels
    • 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/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/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • 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
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W48/00Access restriction; Network selection; Access point selection
    • H04W48/16Discovering, processing access restriction or access information
    • 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/80Wireless

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Automation & Control Theory (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Telephonic Communication Services (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

블록체인 및 DICE-RIoT를 사용하여 컴퓨팅 장치를 원격으로 관리하는 기술이 개시된다. 일 실시예에서, 개시되는 방법은, 네트워크 상의 장치들의 리스트를 획득하기 위해 네트워크를 스캔하는 단계; 제어형 장치 또는 비제어형 장치로 장치를 분류하는 단계; 제어형 장치와 보안 채널을 설정하는 단계; 보안 채널을 통해 제어형 장치에 하나 이상의 제어 명령을 발행하는 단계 - 상기 하나 이상의 제어 명령은 서명된 메시지 내에 포함되며, 서명된 메시지는 발신자의 개인 키를 사용하여 서명되고 수신자의 공개 키를 사용하여 검증되며, 상기 개인 키 및 공개 키는 보안 채널을 설정하는 동안 생성됨; 제어 명령에 대한 응답을 수신하는 단계; 및 제어 명령 및 응답을 블록체인에 기록하는 단계를 포함한다.

Description

블록체인 및 DICE-RIOT을 사용한 원격 장치 관리
관련 출원
본 출원은 "REMOTELY MANAGING DEVICES USING BLOCKCHAIN AND DICE-RIOT"을 발명의 명칭으로 하는 2019년 3월 25일자 미국특허출원 제16/363,295호에 기초한 우선권을 주장하며, 그 개시내용 전체는 본 발명에 참고자료로 포함된다.
저작권 고지
본 출원에는 저작권 보호 대상이 되는 자료가 포함되어 있다. 저작권 소유자는 특허청 파일 또는 기록에 나타나는 특허 공개 내용을 팩스로 복제하는 데 반대하지 않지만, 그렇지 않으면 모든 저작권을 보유한다.
개시된 실시예는 컴퓨터 보안에 관한 것으로, 특히 블록체인 및 DICE-RIoT를 사용하여 컴퓨팅 장치를 원격으로 관리하기 위한 장치, 컴퓨터 판독 가능 매체 및 방법에 관한 것이다.
안전상의 이유로 당국이 일부 연결된 장치(예: 기기, 전화, 랩톱 등)의 기능을 규제할 수 있어야 하는 여러 상황이 있다. 예를 들어, 병원에서는 중환자실 및 수술실에 있는 장치의 기능과 실험실 장비, 고압 챔버 등과 같은 특정 장치의 기능을 엄격하게 규제해야 한다. 또 다른 예로, 비상 시 당국은 비상 구호를 위한 대역폭을 갖기 위해 장치의 사용을 제한해야 할 수도 있다.
위험한 환경의 안전을 개선하려면, 일부 영역에 존재하는 연결된 전자 장비를 직접 제어하는 것이 중요하다. 그러나 개인(및 개별 장치)이 이러한 제어를 실행하도록 강제하면 심각한 보안 문제가 발생한다. 현재 두 가지 기술이 다른 장치를 개별적으로 제어해야 하는 것을 보완하는 데 사용된다.
한 시나리오에서, 사용자 장치가 강제로 제어된다. 즉, 사용자는 부정적인 조치의 위협에 따라 중앙 기관에 복종(예: 휴대전화 전원 끄기, 등)해야 한다. 예를 들어, 항공 여행 중에 사용자는 법적으로 휴대전화 및 기타 무선 장치를 항공기로부터 퇴출 또는 민사 처벌의 위험 하에 전원을 꺼야 한다.
두 번째 시나리오에서, 사용자는 원격 엔티티에 장치 관리를 기꺼이 허용한다. 예를 들어, 사용자는 사용자의 고용주가 프로비저닝 프로파일을 통해 그들의 장치에 액세스하고 애플리케이션을 설치/제거하고 설정을 제어할 수 있음을 수락할 수 있다. 일부 실시예에서, 이러한 방식은 제어가 수행될 수 있는 지리적 영역 또는 수행되는 제어 유형으로 제한될 수 있다.
이러한 시스템에는 수많은 결함이 있다. 첫 번째 시나리오에서, 사용자는 단순히 준수하지 않을 수 있으므로 제어 목적이 좌절된다. 실제로, 시나리오가 기술적으로 구현되지 않았기 때문에, 각 장치를 수동으로 확인하지 않고 준수 여부를 확인할 수 있는 방법이 없다. 두 번째 시스템에서, 사용자는 일반적으로 통제 주체(예: 고용주-종업원)와 관계가 있어야 하고, 통제에 동의해야 한다. 따라서 공개 시나리오에서 이 솔루션은 기술적으로 불가능하다. 또한, 사용자는 제어되지 않는 상이한 장치를 사용할 수 있으므로, 목적을 좌절시킬 수 있다.
따라서, 사용자 개입에 의존하지 않는 전자 장치를 원격으로 관리하는 방법이 당업계에 필요하다. 또한, 이러한 기술적 솔루션을 구현하기 위해서는. 제어 장치가 적절한 권한을 가진 장치로 안정적으로 식별될 수 있도록 해야 한다.
블록체인 및 DICE-RIoT를 사용하여 컴퓨팅 장치를 원격으로 관리하기 위한 방법, 컴퓨터 판독 가능 매체 및 장치가 여기에 개시된다.
일 실시예에서, 개시되는 방법은, 네트워크 상의 장치들의 리스트를 획득하기 위해 네트워크를 스캔하는 단계; 장치를 제어형 장치(controlled device) 또는 비제어형 장치(uncontrolled device)로 분류하는 단계; 제어형 장치와 보안 채널을 설정하는 단계; 보안 채널을 통해 제어형 장치에 하나 이상의 제어 명령을 발행하는 단계 - 하나 이상의 제어 명령은 서명된 메시지 내에 포함되며, 서명된 메시지는 발신자의 개인 키를 사용하여 서명되고 수신자의 공개 키를 사용하여 검증되며, 보안 채널을 설정하는 동안 개인 키 및 공개 키가 생성됨; 제어 명령에 대한 응답을 수신하는 단계; 및 제어 명령 및 응답을 블록체인에 기록(logging)하는 단계를 포함한다.
다른 실시예에서, 컴퓨터 프로세서에 의해 실행될 수 있는 컴퓨터 프로그램 명령어를 유형적으로 저장하기 위한 비일시적 컴퓨터 판독 가능 저장 매체가 개시되며, 상기 컴퓨터 프로그램 명령어는: 네트워크 상의 장치들의 리스트를 획득하기 위해 네트워크를 스캔하는 단계; 장치를 제어형 장치 또는 비제어형 장치 또는 제한형 장치(restricted device)로 분류하는 단계; 제어형 장치와 보안 채널을 설정하는 단계; 보안 채널을 통해 제어형 장치에 하나 이상의 제어 명령을 발행하는 단계 - 하나 이상의 제어 명령은 서명된 메시지 내에 포함되며, 서명된 메시지는 발신자의 개인 키를 사용하여 서명되고 수신자의 공개 키를 사용하여 검증되며, 보안 채널을 설정하는 동안 개인 키 및 공개 키가 생성됨; 제어 명령에 대한 응답을 수신하는 단계; 및 제어 명령 및 응답을 블록체인에 기록(logging)하는 단계를 형성한다.
다른 실시예에서, 개시되는 장치는: 프로세서; 및 프로세서에 의해 실행하기 위한 프로그램 로직을 유형적으로 저장하기 위한 저장 매체를 포함하고, 상기 저장된 프로그램 로직은: 네트워크 상의 장치들의 리스트를 획득하기 위해 네트워크를 스캔하도록 프로세서에 의해 실행되는 로직; 장치를 제어형 장치, 비제어형 장치, 또는 제한형 장치로 분류하도록 프로세서에 의해 실행되는 로직; 제어형 장치와 보안 채널을 설정하도록 프로세서에 의해 실행되는 로직; 보안 채널을 통해 제어형 장치에 하나 이상의 제어 명령을 발행하도록 프로세서에 의해 실행되는 로직 - 하나 이상의 제어 명령은 서명된 메시지 내에 포함되며, 서명된 메시지는 발신자의 개인 키를 사용하여 서명되고 수신자의 공개 키를 이용하여 검증되며, 보안 채널을 설정하는 동안 개인 키 및 공개 키가 생성됨; 제어 명령에 대한 응답을 수신하도록 프로세서에 의해 실행되는 로직; 및 블록체인에 제어 명령 및 응답을 기록하도록 프로세서에 의해 실행되는 로직을 포함한다.
본 발명의 상기 및 기타 목적, 특징 및 이점은 첨부된 도면에 도시된 실시예에 대한 하기의 설명으로부터 명백할 것이며, 도면에서 참조 부호는 다양한 도면 전체에 걸쳐 동일한 부분을 지칭한다. 도면은 반드시 축척에 맞춰진 것은 아니며, 대신에 본 개시의 원리를 예시하는 데 중점을 둔다.
도 1은 본 발명의 일 실시예에 따른 원격 장치 관리 시스템의 블록도이다.
도 2a는 본 개시의 일부 실시예에 따른 폐쇄된 영역에서 원격 장치를 제어하기 위한 방법을 예시하는 흐름도이다.
도 2b는 본 개시내용의 일부 실시예에 따른 개방 영역에서 원격 장치를 제어하기 위한 방법을 예시하는 흐름도이다.
도 3은 본 개시의 일부 실시예에 따른 원격 제어 요청에 응답하기 위한 방법을 예시하는 흐름도이다.
도 4는 본 개시의 일부 실시예에 따른 DICE-RIoT 통신 시스템을 예시하는 블록도이다.
도 5는 본 개시의 일부 실시예에 따른 블록체인 데이터 구조 및 구조의 각 블록을 나타내는 도면이다.
도 6은 본 개시의 일부 실시예들에 따른 컴퓨팅 장치의 블록도이다.
도 1은 본 발명의 일 실시예에 따른 원격 장치 관리 시스템의 블록도이다.
예시된 실시예에서, 네트워크(118)는 스캐너(102), 장치(108a-108n), 인증 기관(120), 비제한형 장치(116), 및 비제어형 장치(114)를 연결한다. 일 실시예에서, 네트워크(118)는 Wi-Fi 네트워크, 셀룰러 네트워크, 개인 영역 네트워크(예를 들어, 블루투스), 근거리 통신(NFC) 네트워크, 및 임의의 다른 네트워크와 같은 다수의 상이한 네트워크를 포함할 수 있다.
일 실시예에서, 스캐너(102)는 하나 이상의 장치를 제어하도록 설계된 장치를 포함한다. 일 예로서, 스캐너(102)는 제어가 필요한 닫힌 영역에 배치된 하드웨어 모듈 또는 독립형 장치를 포함한다. 예를 들어, 스캐너(102)는 공항, 병원 실험실, 비행기 객실, 또는 전자 장치에 대한 제어가 존재하는 기타 영역에서 x-선 기계에 부착된 장치를 포함할 수 있다.
스캐너(102)는 DICE/RIoT 서브시스템(104) 및 블록체인 모듈(106)을 포함한다. 일 실시예에서, DICE/RIoT 서브시스템(104)은 본 명세서에서 설명되는 바와 같이 계층 1 공개 키, 장치 식별자, 및 인증서를 생성하는 L0 및 L1 DICE/RIoT 서브시스템을 포함한다. DICE/RIoT 서브시스템(104)은 펌웨어(ROM) 코드와 상위 계층 소프트웨어의 조합을 포함할 수 있다. DICE/RIoT 서브시스템(104)의 동작은 도 4와 관련하여 더 완전하게 설명되며, 그 전체가 참고로 여기에 포함된다.
스캐너(102)는 블록체인 모듈(106)을 추가로 포함한다. 일 실시예에서, 블록체인 모듈(106)은 블록체인 데이터의 실제 저장(도 5에 도시됨) 뿐만 아니라 모든 블록체인 작업(예를 들어, 블록 검증, 합의 등)의 수행 책임이 있다. 설명되는 바와 같이, 블록체인 모듈(106)은 장치(108a-108n)에 전송된 명령어의 변조 방지 기록(record) 및 이러한 장치가 명령에 반응한 방식을 제공한다.
장치(108a-108n)는 스캐너(102)에 의해 제어될 수 있으므로 제어형 장치라고 지칭한다. 일 실시예에서, 장치는 DICE/RIoT 서브시스템(112)을 포함하는 경우 제어 가능하다. 도 4에서 설명되는 바와 같이, DICE/RIoT 서브시스템의 존재는 제어형 장치가 스캐너의 신원을 확인하고 각 장치(스캐너 및 제어형 장치)가 자신이 누구인지 상호 인정하는 데 사용할 수 있는 자체 검증 가능한 신원을 생성할 수 있도록 한다. 도시되는 바와 같이, 제어되는 각 장치에는 다양한 표준 네트워크 인터페이스(110a-110c)가 포함되어 있다. 이러한 인터페이스는 표준 인터페이스로 작동하며, 제어형 장치(108a-108n)가 다양한 네트워크를 통해 스캐너(102)와 통신할 수 있도록 한다.
제어형 장치에 더하여, 도면은 비제한형 장치(116) 및 비제어형 장치(114)를 예시한다. 예시된 실시예에서, 비제한형 장치는 DICE/RIoT 서브시스템을 가질 수 있지만(또는 갖지 않을 수 있음) 그렇지 않으면 제어로부터 면제된다. 일 실시예에서, 비제한형 장치는 알려진 비제한형 장치로 기록된 트리플(a triple)을 가지며, 따라서 스캐너(102)는 커버리지 영역 내에서 장치를 제어하려고 시도할 때 이러한 장치를 무시한다. 비제한형 장치의 한 예는 스캐너가 커버하는 영역에 존재할 수 있는 통신 장비(예: 라우터, 등)를 포함한다.
비제한형 장치(116)와 대조적으로, 비제어형 장치(114)는 DICE/RIoT 서브시스템을 포함하지 않는 장치이다. 이 서브시스템이 없기 때문에, 비제어형 장치(114)는 스캐너(102)의 신원을 확인할 수 없으므로, (보안 목적으로) 장치를 제어하는 명령에 응답하지 않을 것이다. 이러한 장치의 경우, 시스템은 장치를 제어하는 기존 방법(이전에 논의됨)으로 대체될 수 있다. 특히, DICE/RIoT가 명세서에서 주로 논의되지만, 여기에 설명된 요구 사항을 충족하는 경우 다른 인증 체계가 사용될 수 있다.
마지막으로, 시스템은 인증 기관(120)을 예시한다. 이 인증 기관(120)은 스캐너(102) 또는 제어형 장치(108a-108n)에 의해 생성된 인증서에 서명할 수 있는 신뢰가능 엔터티를 포함한다. 일부 실시예에서, 인증 기관(120)은 존재하지 않을 수 있고, 장치는 자신의 인증서에 서명할 수 있다.
도 2a는 본 개시의 일부 실시예에 따른 닫힌 영역에서 원격 장치를 제어하기 위한 방법을 예시하는 흐름도이다. 예시된 실시예에서, 도 2a의 방법은 전술한 스캐너에 의해 수행될 수 있다.
단계 202에서, 방법은 네트워크를 스캔한다.
일 실시예에서, 네트워크는 블루투스 네트워크, 즉 블루투스를 통해 연결할 수 있는 주변 네트워크의 목록을 포함한다. 대안으로서, 방법은 네트워크 상의 장치를 식별하기 위해 Wi-Fi 네트워크 또는 다른 네트워크를 통해 브로드캐스트 요청을 전송할 수 있다. 그 결과, 단계 202에서, 방법은 장치 및 네트워크 주소(예를 들어, IP 주소, MAC 주소, 블루투스 주소 등)의 리스트를 획득한다.
단계 204에서, 방법은 단계 202에서 식별된 장치를 분류한다.
일 실시예에서, 장치가 감지되면, 장치의 다양한 속성을 보고할 수 있다. 예를 들어, Bluetooth 시나리오에서 스캐너는 Bluetooth 주소를 감지한 후 제어할 장치와 함께 안전하지 않은 소켓을 설정할 수 있다. 장치에 DICE/RIoT 시스템이 포함된 경우, 안전하지 않은 채널을 통해 해당 기능을 브로드캐스트하도록 구성될 수 있다. DICE/RIoT 시스템을 포함하지 않는 장치의 경우, 이 방법은 그러한 표시를 수신하지 않고 장치를 지원되지 않는 장치로 분류한다.
단계 206에서, 상기 방법은 각각의 장치에 대해, 장치가 지원되는지 또는 지원되지 않는지 여부를 결정한다.
장치가 지원되지 않는 경우, 방법은 기존의 장치 제어 방식으로 폴백(fallback)을 진행한다. 예를 들어, 방법은 장치 자체를 끄거나(단계 208) 일부 다른 동작을 수행하라는 통지를 장치에 전송할 수 있다. 이 메시지는 사용자에게 원하는 작업을 알리기 위해 장치에 표시될 수 있다. 물론 사용자는 이 알림을 무시하도록 선택할 수 있다.
일부 실시예에서, 방법은 장치를 끄도록 사용자에게 통지하는 것 외에 통신을 방해(jamming)할 수 있다(단계 210). 일 실시예에서, 통신의 방해(jamming)는 특정 시나리오에서만 사용되는 선택적인 사항일 수 있다.
단계 212에서, 방법은 비제어형 장치에 전송된 알림을 블록체인 블록에 기록한다. 일 실시예에서, 방법은 장치가 메시지에 응답할 수 있는지 또는 응답하는지 여부에 관계없이 장치에 전송된 모든 메시지를 기록한다. 이러한 방식으로, 이 방법은 안전한 변조 방지 데이터 구조로 스캐너 작동 중에 전송된 메시지의 기록(record)을 유지한다.
상기와 대조적으로, 방법은 장치가 원격 제어를 지원하는 장치(예를 들어, DICE-RIoT 서브시스템을 갖는 장치)로 분류되는 것으로 결정하는 경우, 장치에 대한 인증 및 보안 채널 설정을 진행한다(단계 214). 일 실시예에서, 이것은 식별 정보를 장치에 전송하는 방법 및 스캐너의 신원을 확인하는 장치를 포함한다. 일 실시예에서, 식별 정보는 장치 식별자, 공개 키, 및 L1 DICE-RIoT 키 생성 프로세스(본 명세서에 설명됨)를 통해 생성된 인증서를 포함하는 트리플을 포함한다. 여기에서 사용된 바와 같이 계층 0 및 1은 인증에 사용되는 반면 계층 2 이상(두 장치 모두에서)은 메시징에 사용된다. 일 실시예에서, 보안 채널은 키를 교환한 후에 형성된 TLS 연결을 포함한다.
단계 216에서, 인증 후, 방법은 통신 제어 명령을 발행한다.
일 실시예에서, 방법은 장치가 동작(예를 들어, 턴오프)을 수행하게 하는 제어 명령을 생성한다. 일 실시예에서, 이러한 명령은 다양한 장치 유형에 대해 기록된다. 대안적인 실시예에서, 이러한 명령은 수신 장치에 의해 방법으로 전송될 수 있다. 어떤 경우든 방법은 방법을 구현하는 장치의 구성 파라미터를 기반으로 필요한 명령을 선택한다.
일 실시예에서, 방법은 제어 명령을 메시지로 패킹하고, L1 개인 키를 사용하여 메시지에 서명한다. 그 다음, 방법은 이 명령을 장치에 전송하며, 여기서 장치는 L2 공개 키를 사용하여 시그너처를 확인할 수 있다. 일 실시예에서, 메시지는 단조 카운터(monotonic counter), 타임스탬프 등과 같이, 재생 공격을 피하기 위해 신선도 값(freshness value)을 추가로 포함한다.
장치는 명령을 수신한 후 도 3에 도시된 바와 같이 명령을 실행한다. 명령을 실행한 후(또는 명령이 메시지를 전송하는 능력에 영향을 미치는 경우), 장치는 방법에 대한 응답을 반환한다(단계 218).
일 실시예에서, 응답은 주문의 실행에 관한 다양한 데이터를 포함할 수 있다. 예를 들어, 여기에는 주문에 대한 명시적 승인, 주문이 실행될 타임스탬프, 실행된 시간의 스택 트레이스(stack trace) 및 주문과 관련된 기타 데이터가 포함될 수 있다. 주문과 유사하게, 응답은 장치 L1 키를 사용하여 서명되고 방법 L2 키(예: 스캐너 L2 키)를 사용하여 검증될 수 있다.
단계 220에서, 방법은 응답이 진짜인지를 결정한다. 일 실시예에서, 이것은 방법의 L2 키를 사용하여 응답의 시그너처를 확인하는 것을 포함한다. 또한 이 방법은 발신자의 인증서와 공개 식별자가 유효한지 확인해줄 수 있다.
응답이 인증되지 않은 경우 방법은 기존 방법으로 대체된다(단계 208-212와 관련하여 설명됨).
응답이 인증되면 이 방법은 응답을 블록체인에 기록한다(단계 222). 단계 212와 유사하게, 스캐너는 장치 간의 상호 작용을 기록하기 위해 블록체인에 대한 주문 및 응답을 기록한다. 일 실시예에서, 방법은 응답을 수신하기 전에 주문을 기록할 수 있다. 또는 이 방법은 두 레코드를 동시에 기록할 수 있다.
도 2b는 본 개시내용의 일부 실시예에 따른 개방 영역에서 원격 장치를 제어하기 위한 방법을 예시하는 흐름도이다.
단계 224에서, 방법은 광범위한 요청(broad request)을 수신한다.
도 2a의 동작과 대조적으로, 도 2b에 도시된 방법은 넓은 지리적 영역(예: 몇 에이커, 도시 등)에 적용될 수 있다. 이 실시예에서, 브로드캐스트 요청은 당국(예를 들어, 경찰)에 의해 발행될 수 있다. 브로드캐스트 요청은 정의된 영역 내의 모든 장치가 요청에 포함된 하나 이상의 작업(예: 끄기, 대역폭 제한)을 수행함을 명시할 수 있다.
이러한 요청들이 모든 장치에 의해 전송될 수 있고 시스템이 채널의 보안에 대해 가정하지 않기 때문에, 방법은 요청을 전송하는 장치가 인증되었는지 여부를 확인한다(단계 226). 이 방법은 발신자의 신원을 확인하기 위해 DICE-RIoT 인증서 체크를 사용할 수 있다(예를 들어, 신원 확인을 위해 발신자와 관련된 트리플을 이중 복호화함으로써).
체크(226)를 통과못하면, 방법은 요청을 거부하고(단계 228) 요청을 블록체인 저장 장치에 기록한다(230). 예시된 실시예에서, 방법은 단순히 요청을 무시함으로써 요청을 거부한다. 이 방법은 또한 법 집행 또는 기타 목적을 위한 요청을 기록한다. 일부 실시예에서, 로그는 악의적 가능성의 사용자를 식별하기 위해 발신자의 신원(예를 들어, IP 주소 등)을 포함한다.
대안으로서, 방법이 발신자를 인증하면 방법은 요청을 서비스 영역에 브로드캐스트한다(단계 232). 이 서비스 영역은 브로드캐스트 요청에 정의되거나, 방법 자체를 구현하는 장치와 연관될 수 있다. 일 실시예에서, 방법은 메시지의 보안을 보장하기 위해 요청을 다시 포장하고 자신의 개인 키를 사용하여 요청에 서명한다.
단계 234에서 상기 방법은 수신기의 종류에 따라 별도의 동작을 수행한다. 일 실시예에서, 방법은 긴급 차량 또는 인력으로부터 무시 메시지를 수신한다(단계 240). 예를 들어, 제어 명령이 비상시 모든 휴대 전화를 끄는 것(또는 대역폭을 제한하는 것)인 경우, 비상 작업자와 장비는 이 제어 명령을 무시할 수 있다.
대안으로서, 임의의 다른 장치에 대해, 방법은 제어 명령을 이러한 장치에 전송하고 확인 응답을 수신한다(단계 238). 이 두 단계는 도 2a에, 특히 단계 216, 218, 220, 208, 210, 212 및 222에서 완전히 설명되어 있고, 그 개시 내용 전체가 참고로 여기에 포함된다.
일 실시예에서, 단계 234는 도 2a의 단계 202 및 204에서 설명된 것과 유사한 서비스 영역 내의 장치 리스트를 식별하는 것을 포함할 수 있다. 그러나 특히, 서비스 영역이 더 크기 때문에 스캔된 네트워크는 셀룰러 네트워크 영역(예를 들어, 주어진 셀 타워에 의해 서비스되는 하나 이상의 영역)을 포함할 수 있다. 이 예에서, 네트워크를 스캔하는 것은 (예를 들어, 셀룰러 기지국 장비에 질의함으로써) 주어진 영역에서 IP 주소의 목록을 식별하는 것을 포함한다.
도 3은 본 개시의 일부 실시예에 따른 원격 제어 요청에 응답하기 위한 방법을 예시하는 흐름도이다. 예시된 실시예에서, 방법은 제어형 장치에 의해 수행될 수 있다. 제어형 장치의 많은 특징은 제어하는 장치의 맥락에서 설명되었으며 이러한 세부 사항은 여기에서 반복되지 않고 참조로 포함된다.
302단계에서 상기 방법은 요청을 수신한다. 전술한 바와 같이, 이 요청은 원격 장치(예를 들어, 도 1의 스캐너)로부터의 제어 명령어를 포함한다.
단계 304에서, 방법은 요청을 인증한다. 전술한 바와 같이, 이것은 L2 공개 키를 사용하여 디지털 시그너처를 검증하는 것을 포함할 수 있다.
단계 310에서, 방법은 시그너처 검증이 실패하면 요청을 거부하고 선택적으로 장치가 요청을 존중하지 않을 것이라는 통지를 발신자에게 전송한다.
단계 306에서, 방법은 시그너처 검증이 통과하면 요청을 존중(honor)한다. 이 단계에서 장치는 장치 끄기, 대역폭 제한, 전체 대역폭 활성화(장치가 라우터 또는 기타 통신 장비인 경우) 등과 같은 요청에 포함된 하나 이상의 작업을 수행할 수 있다.
단계 308에서, 방법은 응답을 생성, 시그너처 및 전송한다.
일 실시예에서, 응답은 요청이 이행될 시간, 어떤 특정 조치가 취해질 것인지 등과 같은 요청의 서비스 정보를 포함한다. 방법은 개인 키를 사용하여 요청에 서명하고, 위에서 설명한 대로 블록체인에 기록을 위해 발신자에게 응답을 전송한다.
도 4는 본 개시의 일부 실시예에 따른 DICE-RIoT 통신 시스템을 예시하는 블록도이다.
예시된 바와 같이, 스캐너(502a) 및 타겟(502b)은 양방향 통신 경로(512)를 통해 통신한다. 경로(512)를 통한 모든 통신은 스캐너(502a) 및 대상(502b) 내에 각각 설치된 UDS 서버(504, 408)를 통해 보안화된다. 일 실시예에서, UDS 서버(504, 408)는 스캐너(502a) 및 타겟(502b) 내에 설치된 동일하거나 유사한 하드웨어 장치를 포함한다. 따라서 하나의 UDS 서버에 대한 설명은 달리 구별되지 않는 한 다른 서버에도 동일하게 적용된다.
각 UDS 서버에는 "장치 비밀"(예: 404a)이 있다. 예시된 실시예에서, 장치 비밀(device secret)은 장치의 제조사 및 서버의 프로세싱 코어(예를 들어, L0 ROM(404b))에만 알려져 있고, 프로세싱 코어에 의해 복합 장치 식별자("CDI: Compound Device Identifier")의 생성에 사용된다. 일 실시예에서, CDI는 데이터를 생성하는 데 사용된 시스템에서 실행되는 소프트웨어를 식별하는 데 사용되는 데이터 세트이다.
일 실시예에서, CDI는 단방향 해시 함수(H로 표시됨)를 사용하여 생성된다. 먼저, UDS 서버는 해시(또는 L1 코드(504c)의 다른 고유 측정치)를 계산한다. 일부 실시예에서, UDS 서버는 해시를 계산할 때 장치의 하드웨어 상태 및 구성 데이터를 추가로 활용할 수 있다. 이 해시는 불러들인 장치 암호(예: 404a)에 부착되고, 단방향 해시 함수에 입력되어, CDI를 생성할 수 있다. 장치 비밀(가령, 404a)에 대한 액세스는 그 후 제거되고, 장치 비밀의 콘텐츠가 휘발성 메모리로부터 완전히 제거된다. 그 다음, 장치의 제어는 L1 코드(504c)로 이전된다(단계 420e). 일부 실시예에서, 해시 메시지 인증 코드(HMAC) 함수가 단방향 해시 함수 대신에 사용될 수 있다. 본 실시예에서, 장치 비밀을 키로 사용할 수 있고 L1 코드의 해시를 메시지로 사용할 수 있다.
L1 코드(504c)는 CDI를 수신하고, CDI를 사용하여 장치를 식별하기 위한 보안 키 및 인증서를 생성한다. CDI는 이러한 키를 생성하는 코드의 해시 및 UDS를 사용하여 생성되기 때문에, 생성된 키/인증서의 신뢰성을 보장한다. CDI를 생성한 후 L1 코드(504c)는 메모리에서 CDI를 영구적으로 삭제하여, CDI의 누출을 방지한다. 일 실시예에서, L1 코드(504c)는 절대 수정되지 않으므로, CDI는 L1 코드(504c)를 제공하는 장치의 수명 내내 동일하게 유지된다.
UDS 서버는 다른 계층(예: 계층 L2(406a))에서 사용하기 위해 DICE-RIoT 아키텍처에서 보안 키 쌍을 생성한다. UDS 서버는 L0 코드(위에서 논의됨)로부터 수신된 CDI를 사용하여 비대칭 DeviceID 키 쌍을 생성한다. 일 실시예에서, 방법은 공개 및 개인 키를 생성하기 위해 결정론적 비대칭 키 생성 알고리즘을 사용하며, 특정 알고리즘의 선택은 제한하도록 의도되지 않는다. UDS 서버는 키 쌍의 공개 부분을 다음 코드 계층(예: L2 계층)으로 내보낸다. UDS 서버는 공개 키를 포함하는 인증서 구조를 생성한다. 인증서는 X.509 형식의 인증서를 포함할 수 있다. UDS 서버는 CID와 다음 소프트웨어 계층의 해시를 사용하여 하나 이상의 별칭 키를 추가로 생성할 수 있다. 예를 들어, UDS 서버는 L2 소프트웨어(506a)의 해시 및 CID 를 사용하여 별칭 키(alias keys)를 생성할 수 있다. 일 실시예에서, UDS 서버는 L2 코드의 해시를 요청하기 위해 타겟 장치(502b)에 질의할 수 있다. 다른 실시예에서, UDS 서버는 제조 동안 설치되거나 원격 서비스에 의해 대역외 업데이트된 L2 코드의 해시를 저장한다. 일 실시예에서, L2 코드는 타겟(502b) 또는 스캐너(502a)에 설치된 특정 하드웨어와 연관되고, 따라서 장치의 수명 동안 비교적 정적이고 변하지 않는다. 예를 들어, 단일 엔티티가 L1 및 L2 소프트웨어와 관련된 칩을 제조할 수 있으므로, 이 코드의 해시는 시스템에 잘 알려져 있을 수 있다.
L2 소프트웨어는 펌웨어 보안 설명자에 의해 승인되었다고 가정할 때 추가 모듈을 로드할 수 있다. 결국, L2 소프트웨어(또는 L2 소프트웨어에 의해 로드된 코드)는 L1에서 제공한 키와 인증서를 사용하여, TLS(전송 계층 보안)를 사용하여 자체 인증할 수 있다. 일 실시예에서, L2 소프트웨어는 소프트웨어가 그것에 발행된 앨리어스 키만을 사용하는 것을 보장한다. 즉, L2 소프트웨어는 이전 펌웨어 버전에 발급된 별칭 자격 증명(alias credential)을 사용해서는 안 된다.
전술한 과정은 타겟(502b) 전체에 걸쳐 반복될 수 있다. 즉, L2 소프트웨어(506a)는 상위 계층의 해시를 인코딩하는 별칭 인증서와 함께 다음 계층에 대한 새로운 별칭 키를 생성한다. 예를 들어, L2 소프트웨어(506a)는 OS(506b)의 해시를 사용하여 OS(506b)에 대한 별칭 키를 생성하고, OS(506b)는 앱(506c)의 해시를 사용하여 앱(506c)에 대한 별칭 키를 생성하고( 506c), 등등이다. 다음 계층에 발급된 별칭 인증서는 (DeviceID 키가 아닌) 기본 계층에 부여된 별칭 키로 서명된다. 즉, 추가 계층은 추가 하위 인증 기관 역할을 한다. 이 체계는 응용 프로그램 계층까지 줄곧 확장될 수 있고, 여기서 각 응용 프로그램은 고유한 별칭 키와 해당 ID를 인코딩하는 인증서를 얻는다. 이러한 경우 신뢰 당사자는 별칭 인증서 체인을 사용하여 최상위 계층의 신원과, 최상위 계층의 신뢰가능 컴퓨팅 기반을 구성하는 모든 하위 계층의 신원을 모두 설정할 수 있다.
특히, DICE-RIoT의 전통적인 사용과 대조적으로, 예시된 시스템은 2개 이상의 장치 간에 프로토콜 계층을 분산한다. 즉, 스캐너에 상주하는 L2 소프트웨어(506a) 대신, 타겟 장치에 상주하며 별도의 하드웨어와 연결된다. 예시된 실시예에서, 스캐너 및 타겟 장치는 서로 매우 근접한 경우(즉, 100미터 이내 또는 Bluetooth® 범위 내) DICE-RIoT 프로토콜을 사용하여 작동할 수 있다. 두 장치는 PAN(Personal Area Network), 근거리 통신 네트워크 또는 기타 고속 Ad Hoc 네트워크를 사용하여, 위에서 설명한 방식으로 별칭 키를 생성하는 데 사용되는 계층의 해시를 교환할 수 있다. 키와 인증서를 할당한 후, 이러한 키와 인증서는 서명하는 데 사용될 수 있으며 일부 실시예에서는 두 장치 간의 모든 향후 통신을 암호화하여, 스푸핑 키(spoofed key)를 이용하여 타겟 장치를 제어하게 될 중간자 공격을 방지함을 보장할 수 있다.
메시징 시, 스캐너는 일반적으로 스캐너의 개인 키를 사용하여 생성된 디지털 시그너처가 포함된 메시지를 전송한다. 이 메시지를 수신하면 L2 소프트웨어(506a)는 위에서 설명한 프로세스 동안 수신된 스캐너 인증서를 사용하여 식별을 확인할 수 있다. 일부 실시예에서, 메시지는 또한 재생 공격으로부터 보호될 것이다. 이 실시예에서, L2 소프트웨어(506a)는 L1 코드에 랜덤 스트링(예를 들어, 랜덤 메시지)을 제공한다. 메시지에 서명할 때 L1 코드는 개인 키와 랜덤 메시지를 모두 사용하여 메시지에 서명한다. 검증할 때 L2 소프트웨어(506a)는 랜덤 메시지를 알고 발신자가 실제로 권한이 있는지 검증할 수 있다.
도 5는 본 개시의 일부 실시예에 따른 블록체인 데이터 구조 및 구조의 각 블록을 나타내는 도면이다.
도 5에 도시된 블록체인에서는 복수의 블록(501-505)과 제네시스 블록(genesis block)(500)이 도시되어 있다. 당업계에 알려진 바와 같이, 블록체인은 데이터 상태의 변화 또는 거래의 변경 불가능하고 암호학적으로 검증된 기록을 나타낸다. 인스턴트 애플리케이션에서, 실행 및 작동(및 이에 대한 응답) 요청이 있을 때마다, 요청 및 응답이 블록체인에 기록된다. 일 실시예에서, 스캐너 장치(또는 다른 제어 장치(other controlling devices)만이 블록체인에 액세스한다. 이러한 방식으로, 모든 요청/응답이 확인되고 필요한 경우 향후 불러오기를 위해 기록된다. 또한 블록체인의 고유한 검증을 통해, 불량 엔티티가 악의적으로 제어 명령을 실행하려고 시도할 수 없다(또는 이에 응답하는 척 잘못 시도할 수 없음). 이것은 DICE-RIoT 키를 블록체인 주소로 사용하기 때문에 보장된다. 왜냐하면 DICE-RIoT 키는 손상되거나 변조될 수 없기 때문이다.
도 5는 스캐너와 같은 제어 장치에 의해 생성된 체인의 블록(502)의 내용을 추가로 도시한다. 도시된 바와 같이, 블록은 현재 블록의 해시 및 이전 블록의 해시를 포함하는 메인 원장 블록 헤더(502a)를 포함한다. 블록은 앞서 설명한 스캐너 ID(502b), 스캐너 인증서(502c) 및 스캐너의 공개 키(502d)를 포함하는 트리플을 추가로 포함한다. 요청("타겟") 장치의 목적지도 기록된다(502e). 마지막으로, 타임스탬프, 단조 값, 또는 다른 값을 포함할 수 있는 신선도 필드(502f)가 포함된다.
블록은, 선택적으로, 암호화될 수 있는 주문 세부사항(502g)을 추가로 포함한다. 이러한 세부사항에는 스캐너가 대상 장치에 발행한 특정 제어 지침이 포함된다.
마지막으로, 각 블록은 발신자(예: 블록 502에 대한 스캐너)에 의해 서명되고, 시그너처는 패킹되어, 압축된 디지털 시그너처(502h)로 블록에 포함된다. 예시된 실시예에서, 시그너처(502h)는 발신자 개인 키를 사용하여 서명되고, 수신자 공개 키를 사용하여 수신자에 의해 검증된다.
도시된 바와 같이, 체인은 응답 블록(503)과 같은 응답을 포함한다. 이 응답 블록(503)은 스캐너에 의해 생성되지만, 요청에 대한 응답으로 제어형 장치에 의해 반환된 데이터를 활용한다. 블록(503)은 블록(502)과 유사하고, 블록(502)의 많은 세부 사항은 블록(503)의 설명에 참조로 포함된다. 블록(502)에서와 같이, 블록(503)은 헤더(503a), 신선도 값(503f), 트리플(503b-503d) 및 목적지 식별자(503e)를 포함한다. 특히, 트리플 및 목적지 식별자는 블록(502)의 반대인 타겟 장치 및 스캐너를 각각 참조한다. 또한, 블록(503)은 타겟 장치가 주문에 어떻게 응답했는지에 대한 세부사항을 포함하는 서비스 정보(503g)를 포함한다.
예시된 실시예에서, 방법은 여러 단계에서 블록체인 데이터 구조에 데이터를 기록한다. 각 단계에서 위에서 설명한 것처럼 데이터 로깅은 블록체인 데이터 구조에 블록을 추가하는 것을 포함한다. 예시된 실시예에서, 두 가지 조건이 모두 충족되면 블록은 블로킹(blocking)의 일부로 인식된다(즉, 원장(ledger)에 포함됨). 첫째, 삽입하는 동안 이전 블록의 해시는 이전에 계산된 이전 블록의 해시와 일치해야 한다. 즉, 도 5를 참조하면, 헤더(503a)의 "해시(이전 로컬 블록)"는 블록(503)이 삽입되기 전에 이전 블록(502a)의 "해시(현재 로컬 블록)"와 일치해야 한다. 이 요구 사항 외에도, 블록은 시스템의 인증된 호스트에 의해 블록이 생성된다는 두 번째 비표준 조건을 충족해야 한다. 이 특정 요구 사항은 효과적으로, 기존 블록체인 시스템(즉, 노드 간의 수학적 경쟁)에서의 작업 증명에 대한 대안이다. 특히, 예시된 블록체인에서, 시스템에 참여하는 노드는 블록체인에 블록을 삽입하기 위해 올바른 시그너처를 추측하려고 시도한다. 그러나 시스템에서, 시스템의 한 엔터티는 시그너처를 생성하는 데 사용되는 개인 키를 소유하므로 경쟁에서 빠르게 "승리"할 수 있다(단, 주장(assertion)은 개인 키 소유자의 공개 키를 사용하여 다른 임의의 노드에서 검증될 수 있음). 이러한 방식으로 진정한 서명자만이 경쟁에서 승리할 수 있어 블록체인에 무단으로 블록이 들어가는 것을 방지할 수 있다.
도 6은 본 개시의 일부 실시예들에 따른 컴퓨팅 장치의 블록도이다.
처리 장치는 도 6에 도시된 것보다 더 많거나 더 적은 구성요소를 포함할 수 있다. 예를 들어, 앞서 언급한 경우에는 오디오 인터페이스, 디스플레이, 키패드, 조명기 또는 카메라/센서가 필요하지 않을 수 있다. 그러나, 도시된 구성요소는 본 개시를 구현하기 위한 예시적인 실시예를 개시하기에 충분하다. 또한, 일부 실시예에서, 도 6에 도시된 장치는 가상 머신으로 구현될 수 있는 반면, 다른 실시예에서 장치는 물리적 머신으로 구현될 수 있다. 일부 실시예에서, 장치는 도 6에 도시된 장치에서 실행되는 가상 머신과 함께 두가지 모두로 구현된다.
도 6에 도시된 바와 같이, 장치(600)는 버스(614)를 통해 대용량 메모리(604)와 통신하는 프로세싱 유닛(CPU)(602)을 포함한다. 장치(600)는 또한 하나 이상의 네트워크 인터페이스(616), 오디오 인터페이스(618), 디스플레이(620), 키패드(622), 조명기(624), 입/출력 인터페이스(626) 및 카메라(들) 또는 기타 광학, 열 또는 전자기 센서(628)를 포함한다. 장치(600)는 당업자에 의해 이해되는 바와 같이 하나의 카메라/센서(628) 또는 복수의 카메라/센서(628)를 포함할 수 있다.
장치(600)는 선택적으로, 기지국(미도시)과 통신하거나 다른 컴퓨팅 장치와 직접 통신할 수 있다. 네트워크 인터페이스(616)는 장치(600)를 하나 이상의 네트워크에 연결하기 위한 회로를 포함하고, 하나 이상의 통신 프로토콜 및 기술과 함께 사용하도록 구성된다. 네트워크 인터페이스(616)는 때때로 송수신기, 송수신 장치 또는 네트워크 인터페이스 카드(NIC)로 알려져 있다.
오디오 인터페이스(618)는 사람의 음성과 같은 오디오 신호를 생성 및 수신하도록 구성된다. 예를 들어, 오디오 인터페이스(618)는 다른 사람들과의 통신을 가능하게 하고 어떤 동작에 대한 오디오 승인을 생성하기 위해 스피커 및 마이크로폰(미도시)에 결합될 수 있다. 디스플레이(620)는 액정 디스플레이(LCD), 가스 플라즈마, 발광 다이오드(LED), 또는 컴퓨팅 장치와 함께 사용되는 임의의 다른 유형의 디스플레이일 수 있다. 디스플레이(620)는 또한 스타일러스와 같은 물체로부터의 입력 또는 사람의 손으로부터의 숫자를 수신하도록 배열된 터치 감지 스크린을 포함할 수 있다.
키패드(622)는 사용자로부터 입력을 수신하도록 배열된 임의의 입력 장치를 포함할 수 있다. 예를 들어, 키패드(622)는 푸시 버튼 숫자 다이얼 또는 키보드를 포함할 수 있다. 키패드(622)는 또한 이미지 선택 및 전송과 관련된 명령 버튼을 포함할 수 있다. 조명기(624)는 상태 표시를 제공하고 빛을 제공할 수 있다. 조명기(624)는 특정 기간 동안 또는 이벤트에 대한 응답으로 활성 상태를 유지할 수 있다. 예를 들어, 조명기(624)가 활성화되면 키패드(622)의 버튼에 백라이트가 켜지고 장치(600)에 전원이 공급되는 동안 조명기가 켜져 있을 수 있다. 또한, 조명기(624)는 다른 처리 장치에 전화를 거는 것과 같은 작업이 수행될 때 이러한 버튼을 다양한 패턴으로 백라이트할 수 있다. 조명기(624)는 또한 장치(600)의 투명 또는 반투명 케이스 내에 위치된 광원이 동작에 응답하여 조명하게 할 수 있다.
장치(600)는 또한 도 6에 도시되지 않은 외부 장치와 통신하기 위한 입/출력 인터페이스(626)를 포함한다. 입/출력 인터페이스(626)는 USB, 적외선, Bluetooth™ 등과 같은 하나 이상의 통신 기술을 활용할 수 있다.
대용량 메모리(604)는 RAM(606), ROM(610) 및 기타 저장 수단을 포함한다. 대용량 메모리(604)는 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보를 저장하기 위한 컴퓨터 저장 매체의 다른 예를 예시한다. 대용량 메모리(604)는 처리 장치(600)의 저수준 동작을 제어하기 위한 기본 입/출력 시스템("BIOS")(612)을 저장한다. 대용량 메모리는 또한 처리 장치(600)의 동작을 제어하기 위한 운영 체제를 저장할 수 있다. 이 구성요소는 UNIX 또는 LINUX™ 버전과 같은 범용 운영 체제 또는 Windows Client™ 또는 Symbian® 운영 체제와 같은 특수 클라이언트 통신 운영 체제를 포함할 수 있다. 운영 체제는 Java 응용 프로그램을 통해 하드웨어 구성 요소 및 운영 체제 작동을 제어할 수 있는 Java 가상 머신 모듈을 포함하거나 이와 인터페이스할 수 있다. 메모리(604)는 위에서 명시적으로 설명된(ROM(61)에서 수행되는) ROM 기반 암호화 DICE-RIoT 동작을 제외하고, 위에서 설명된 방법의 일부 또는 전부를 구현하기 위한 하나 이상의 소프트웨어 애플리케이션을 포함한다.
그러나, 위에 개시된 주제는 다양한 상이한 형태로 구현될 수 있고, 따라서 커버되거나 청구된 주제는 여기에 설명된 임의의 예시적인 실시예에 제한되지 않는 것으로 해석되도록 의도된다; 예시적인 실시예는 단지 예시를 위해 제공된다. 마찬가지로, 청구되거나 적용되는 주제에 대한 합리적으로 넓은 범위가 의도된다. 무엇보다도, 예를 들어 주제는 방법, 장치, 구성 요소 또는 시스템으로 구현될 수 있다. 따라서, 실시예는 예를 들어 하드웨어, 소프트웨어, 펌웨어 또는 이들의 임의의 조합(소프트웨어 자체는 제외)의 형태를 취할 수 있다. 따라서, 다음의 상세한 설명은 제한적인 의미로 받아들여지도록 의도되지 않는다.
명세서 및 청구범위 전체에 걸쳐, 용어는 명시적으로 언급된 의미를 넘어 문맥에서 제안되거나 암시된 미묘한 의미를 가질 수 있다. 마찬가지로, 본 명세서에서 사용된 "일 실시예에서"라는 문구는 반드시 동일한 실시예를 지칭하는 것은 아니며, 본 명세서에서 사용되는 "다른 실시예에서"라는 문구가 반드시 다른 실시예를 지칭하는 것은 아니다. 예를 들어, 청구된 주제는 전체 또는 부분적으로 예시적인 실시예의 조합을 포함하도록 의도된다.
일반적으로, 용어는 문맥에서의 사용으로부터 적어도 부분적으로 이해될 수 있다. 예를 들어, 본 명세서에 사용된 "및", "또는", 또는 "및/또는"과 같은 용어는 이러한 용어가 사용되는 문맥에 적어도 부분적으로 의존할 수 있는 다양한 의미를 포함할 수 있다. 일반적으로 "또는"은 A, B 또는 C와 같은 목록을 연결하는 데 사용되며 여기에서 포괄적인 의미로 사용되는 A, B 및 C와 배타적인 의미로 여기에 사용된 A, B 또는 C를 의미한다. 또한, 본 명세서에 사용된 용어 "하나 이상"은 문맥에 따라 적어도 부분적으로 단수 의미로 임의의 특징, 구조 또는 특성을 설명하는 데 사용될 수 있거나, 복수 의미의 특징, 구조 또는 특성의 조합을 설명하는 데 사용될 수 있다. 유사하게, 다시 "a", "an" 또는 "the"와 같은 용어는 문맥에 따라 적어도 부분적으로 단수 용법을 전달하거나 복수 용법을 전달하는 것으로 이해될 수 있다. 또한, "~에 기초한"이라는 용어는 배타적 요인 세트를 전달하도록 반드시 의도되지 않은 것으로 이해될 수 있으며, 대신에 적어도 부분적으로 문맥에 따라 반드시 명시적으로 설명되지 않은 추가 요인의 존재를 허용할 수 있다.
본 개시는 방법 및 장치의 블록도 및 동작 예시를 참조하여 설명된다. 블록도 또는 동작 예시의 각 블록, 및 블록도 또는 동작 예시의 블록 조합은 아날로그 또는 디지털 하드웨어 및 컴퓨터 프로그램 명령에 의해 구현될 수 있음을 이해해야 한다. 이러한 컴퓨터 프로그램 명령은 범용 컴퓨터, 특수 목적 컴퓨터, ASIC 또는 기타 프로그램 가능한 데이터 처리 장치에 설명된 기능을 변경하기 위해 프로세서에 제공될 수 있다. 컴퓨터 또는 기타 프로그램 가능한 데이터 처리 장치는 블록 다이어그램 또는 작동 블록 또는 블록에 지정된 기능/행위를 구현한다. 일부 대안적인 구현에서, 블록에 언급된 기능/동작은 작동 예시에 언급된 순서와 다르게 발생할 수 있다. 예를 들어, 연속적으로 표시된 두 개의 블록은 실제로 실질적으로 동시에 실행될 수 있거나 관련된 기능/동작에 따라 블록이 때때로 역순으로 실행될 수 있다.
이러한 컴퓨터 프로그램 명령은 특수 목적으로 기능을 변경하기 위한 범용 컴퓨터; 특수 목적 컴퓨터; ASIC; 또는 기타 프로그램 가능한 디지털 데이터 처리 장치의 프로세서에 제공되어, 컴퓨터 또는 다른 프로그램 가능한 데이터 처리 장치의 프로세서를 통해 실행되는 명령어가 블록 다이어그램 또는 작동 블록 또는 블록들에 지정된 기능/동작을 구현하여 여기서의 실시예에 따라 그 기능을 변환하도록 할 수 있다.
본 개시내용의 목적을 위해, 컴퓨터 판독가능 매체(또는 컴퓨터 판독가능 저장 매체(들))는 컴퓨터 데이터를 저장하고, 이 데이터는 기계 판독가능한 형태로, 컴퓨터에 의해 실행가능한 컴퓨터 프로그램 코드(또는 컴퓨터 실행가능 명령어)를 포함할 수 있다. 제한이 아닌 예로서, 컴퓨터 판독 가능 매체는 데이터의 유형적 또는 고정적 저장을 위한 컴퓨터 판독 가능 저장 매체, 또는 코드 포함 신호의 일시적인 해석을 위한 통신 매체를 포함할 수 있다. 본 명세서에서 사용되는 컴퓨터 판독 가능 저장 매체는 물리적 또는 유형적 저장(신호와 반대)을 말하며, 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 유형적 저장을 위한 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성, 이동식 및 비이동식 매체를 제한 없이 포함한다. 컴퓨터 판독 가능 저장 매체에는 RAM, ROM, EPROM, EEPROM, 플래시 메모리 또는 기타 솔리드 스테이트 메모리 기술, CD-ROM, DVD 또는 기타 광학 저장 장치, 자기 카세트, 자기 테이프, 자기 디스크 저장 장치 또는 기타 자기 저장 장치, 또는 원하는 정보, 데이터 또는 명령을 유형적으로 저장하는 데 사용할 수 있고 컴퓨터 또는 프로세서에 의해 액세스할 수 있는 기타 물리적 또는 물질적 매체가 포함되지만 이에 국한되지는 않는다.
본 개시의 목적을 위해, 모듈은 여기에 설명된 프로세스, 특징 및/또는 기능을 수행하거나 용이하게 하는 소프트웨어, 하드웨어 또는 펌웨어(또는 이들의 조합) 시스템, 프로세스 또는 기능, 또는 이들의 구성요소이다(인간 상호 작용 또는 증강의 유무에 관계없이). 모듈은 서브모듈을 포함할 수 있다. 모듈의 소프트웨어 구성 요소는 프로세서에 의한 실행을 위해 컴퓨터 판독 가능 매체에 저장될 수 있다. 모듈은 하나 이상의 서버에 통합되거나 하나 이상의 서버에서 로드 및 실행될 수 있다. 하나 이상의 모듈을 엔진 또는 애플리케이션으로 그룹화할 수 있다.
당업자는 본 개시내용의 방법 및 시스템이 많은 방식으로 구현될 수 있고 그 자체가 전술한 예시적인 실시예 및 예에 의해 제한되지 않는다는 것을 인식할 것이다. 다시 말해서, 하드웨어 및 소프트웨어 또는 펌웨어의 다양한 조합 및 개별 기능에서 단일 또는 다중 구성 요소에 의해 수행되는 기능 요소는 클라이언트 수준 또는 서버 수준 또는 둘 다에서 소프트웨어 애플리케이션 사이에 분산될 수 있다. 이와 관련하여, 여기에 설명된 상이한 실시예의 임의의 수의 특징은 단일 또는 다수의 실시예로 결합될 수 있고, 여기에 설명된 모든 특징보다 적거나 많은 대안적인 실시예가 가능하다.
기능은 또한 현재 알려져 있거나 알려질 방식으로 전체 또는 부분적으로 다수의 구성요소에 분산될 수 있다. 따라서, 여기에 설명된 기능, 특징, 인터페이스 및 선호도를 달성하는 데 무수한 소프트웨어/하드웨어/펌웨어 조합이 가능하다. 더욱이, 본 개시내용의 범위는 설명된 특징 및 기능 및 인터페이스를 수행하기 위한 통상적으로 공지된 방식, 뿐만 아니라 현재 및 이후의 해당 기술 분야의 숙련자에 의해 이해되는 바와 같이 본 명세서에 설명된 하드웨어 또는 소프트웨어 또는 펌웨어 구성요소에 대해 이루어질 수 있는 변형 및 수정을 포함한다. .
또한, 본 개시물에서 흐름도로서 제시되고 설명된 방법의 실시예는 기술의 보다 완전한 이해를 제공하기 위해 예로서 제공된다. 개시된 방법은 여기에 제시된 동작 및 논리적 흐름에 제한되지 않는다. 다양한 동작의 순서가 변경되고 더 큰 동작의 일부인 것으로 설명된 하위 동작이 독립적으로 수행되는 대안적인 실시예가 고려된다.
본 개시의 목적을 위해 다양한 실시예가 설명되었지만, 이러한 실시예는 본 개시의 교시를 이러한 실시예로 제한하는 것으로 간주되어서는 안 된다. 본 개시에서 설명된 시스템 및 프로세스의 범위 내에 남아 있는 결과를 얻기 위해 위에서 설명된 요소 및 동작에 대해 다양한 변경 및 수정이 이루어질 수 있다.

Claims (20)

  1. 네트워크 상의 장치들의 리스트를 획득하도록 네트워크를 스캔하는 단계;
    장치를 제어형 장치 또는 비제어형 장치로 분류하는 단계;
    상기 제어형 장치와 보안 채널을 설정하는 단계;
    보안 채널을 통해 상기 제어형 장치에 하나 이상의 제어 명령을 발행하는 단계 - 상기 하나 이상의 제어 명령은 서명된 메시지 내에 포함되며, 서명된 메시지는 발신자의 개인 키를 사용하여 서명되고 수신자의 공개 키를 사용하여 검증되며, 상기 개인 키 및 공개 키는 보안 채널을 설정하는 동안 생성됨;
    상기 제어 명령에 대한 응답을 수신하는 단계; 및
    상기 제어 명령과 응답을 블록체인에 기록(log)하는 단계를 포함하는, 방법.
  2. 제1항에 있어서, 장치를 제어형, 비제어형 또는 제한형 장치로 분류하는 단계는 DICE-RIoT 키 생성을 지원하는 하나 이상의 장치를 식별하는 단계를 포함하는, 방법.
  3. 제1항에 있어서, 상기 네트워크 상의 장치들의 리스트를 획득하도록 네트워크를 스캔하는 단계는 하나 이상의 블루투스-가능 장치를 스캔하는 단계를 포함하는, 방법.
  4. 제1항에 있어서, 상기 제어형 장치와 보안 채널을 설정하는 단계는 장치 식별자, 인증서 및 공개 키를 포함하는 트리플(triple)을 상기 제어형 장치를 이용하여 전송하는 단계를 포함하는, 방법.
  5. 제1항에 있어서, 상기 보안 채널을 통해 상기 제어형 장치에 하나 이상의 제어 명령을 발행하는 단계는 상기 제어형 장치에 전원을 끄도록 지시하는 제어 명령을 발행하는 단계를 포함하는, 방법.
  6. 제1항에 있어서, 상기 비제어형 장치에 통지를 전송하는 단계를 더 포함하고, 상기 통지는 상기 비제어형 장치에 동작을 수행하도록 지시하는, 방법.
  7. 제1항에 있어서, 상기 제어 명령 및 응답을 블록체인에 기록하는 단계는 상기 제어 명령을 생성하는 장치의 트리플, 목적지 공개 식별자, 주문 정보 및 디지털 시그너처를 기록하는 단계를 포함하는 방법.
  8. 컴퓨터 프로세서에 의해 실행될 수 있는 컴퓨터 프로그램 명령어를 유형적으로 저장하기 위한 비일시적 컴퓨터 판독 가능 저장 매체로서, 상기 컴퓨터 프로그램 명령어는,
    네트워크 상의 장치들의 리스트를 획득하도록 네트워크를 스캔하는 단계;
    장치를 제어형 장치, 비제어형 장치, 또는 제한형 장치로 분류하는 단계;
    상기 제어형 장치와 보안 채널을 설정하는 단계;
    보안 채널을 통해 상기 제어형 장치에 하나 이상의 제어 명령을 발행하는 단계 - 상기 하나 이상의 제어 명령은 서명된 메시지 내에 포함되며, 서명된 메시지는 발신자의 개인 키를 사용하여 서명되고 수신자의 공개 키를 사용하여 검증되며, 상기 개인 키 및 공개 키는 보안 채널을 설정하는 동안 생성됨;
    상기 제어 명령에 대한 응답을 수신하는 단계; 및
    상기 제어 명령과 응답을 블록체인에 기록(log)하는 단계를 정의하는, 비일시적 컴퓨터 판독 가능 저장 매체.
  9. 제8항에 있어서, 장치를 제어형 장치, 비제어형 장치, 또는 제한형 장치로 분류하는 단계는 DICE-RIoT 키 생성을 지원하는 하나 이상의 장치를 식별하는 단계를 포함하는, 비일시적 컴퓨터 판독 가능 저장 매체.
  10. 제8항에 있어서, 상기 네트워크 상의 장치들의 리스트를 획득하도록 네트워크를 스캔하는 단계는 하나 이상의 블루투스-가능 장치를 스캔하는 단계를 포함하는, 비일시적 컴퓨터 판독 가능 저장 매체.
  11. 제8항에 있어서, 상기 제어형 장치와 보안 채널을 설정하는 단계는 장치 식별자, 인증서 및 공개 키를 포함하는 트리플을 제어형 장치를 이용하여 전송하는 단계를 포함하는, 비일시적 컴퓨터 판독 가능 저장 매체.
  12. 제8항에 있어서, 상기 보안 채널을 통해 상기 제어형 장치에 하나 이상의 제어 명령을 발행하는 단계는 상기 제어형 장치에 전원을 끄도록 지시하는 제어 명령을 발행하는 단계를 포함하는, 비일시적 컴퓨터 판독 가능 저장 매체.
  13. 제8항에 있어서, 상기 단계들은 상기 비제어형 장치에 동작을 수행하도록 지시하는 통지를 상기 비제어형 장치에 전송하는 단계를 더 포함하는, 비일시적 컴퓨터 판독 가능 저장 매체.
  14. 제8항에 있어서, 상기 제어 명령 및 응답을 블록 체인에 기록하는 단계는 제어 명령을 생성하는 장치의 트리플, 목적지 공개 식별자, 주문 정보 및 디지털 시그너처를 기록하는 단계를 포함하는, 비일시적 컴퓨터 판독 가능 저장 매체.
  15. 장치에 있어서,
    프로세서; 및
    프로세서에 의한 실행을 위한 프로그램 로직을 유형적으로 저장하기 위한 저장 매체를 포함하며, 저장되는 프로그램 로직은:
    네트워크 상의 장치들의 리스트를 획득하도록 네트워크를 스캔하도록 프로세서에 의해 실행되는 로직;
    장치를 제어형 장치, 비제어형 장치, 또는 제한형 장치로 분류하도록 프로세서에 의해 실행되는 로직;
    상기 제어형 장치와 보안 채널을 설정하도록 프로세서에 의해 실행되는 로직;
    보안 채널을 통해 상기 제어형 장치에 하나 이상의 제어 명령을 발행하도록 프로세서에 의해 실행되는 로직 - 상기 하나 이상의 제어 명령은 서명된 메시지 내에 포함되며, 서명된 메시지는 발신자의 개인 키를 사용하여 서명되고 수신자의 공개 키를 사용하여 검증되며, 상기 개인 키 및 공개 키는 보안 채널을 설정하는 동안 생성됨;
    상기 제어 명령에 대한 응답을 수신하도록 프로세서에 의해 실행되는 로직; 및
    상기 제어 명령과 응답을 블록체인에 기록(log)하도록 프로세서에 의해 실행되는 로직을 포함하는, 장치.
  16. 제15항에 있어서, 상기 장치를 제어형, 비제어형, 또는 제한형 장치로 분류하는 것은 DICE-RIoT 키 생성을 지원하는 하나 이상의 장치를 식별하는 것을 포함하는, 장치.
  17. 제15항에 있어서, 상기 네트워크 상의 장치들의 리스트를 획득하도록 네트워크를 스캔하는 것은 하나 이상의 블루투스-가능 장치를 스캔하는 것을 포함하는, 장치.
  18. 제15항에 있어서, 상기 제어형 장치와 보안 채널을 설정하는 것은 장치 식별자, 인증서 및 공개 키를 포함하는 트리플을 제어형 장치를 이용하여 전송하는 것을 포함하는, 장치.
  19. 제15항에 있어서, 상기 보안 채널을 통해 상기 제어형 장치에 하나 이상의 제어 명령을 발행하는 것은 상기 제어형 장치에 전원을 끄도록 지시하는 제어 명령을 발행하는 것을 포함하는, 장치.
  20. 제15항에 있어서, 제어 명령 및 응답을 블록체인에 기록하는 단계는 제어 명령을 생성하는 장치, 목적지 공개 식별자, 주문 정보 및 디지털 시그너처의 트리플을 기록하는 단계를 포함하는, 장치.
KR1020217031916A 2019-03-25 2020-03-05 블록체인 및 dice-riot을 사용한 원격 장치 관리 KR20210126141A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/363,295 2019-03-25
US16/363,295 US11128451B2 (en) 2019-03-25 2019-03-25 Remotely managing devices using blockchain and DICE-RIoT
PCT/US2020/021116 WO2020197729A1 (en) 2019-03-25 2020-03-05 Remotely managing devices using blockchain and dice-riot

Publications (1)

Publication Number Publication Date
KR20210126141A true KR20210126141A (ko) 2021-10-19

Family

ID=72604172

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217031916A KR20210126141A (ko) 2019-03-25 2020-03-05 블록체인 및 dice-riot을 사용한 원격 장치 관리

Country Status (6)

Country Link
US (2) US11128451B2 (ko)
EP (1) EP3949254A4 (ko)
JP (1) JP2022528359A (ko)
KR (1) KR20210126141A (ko)
CN (1) CN113678402A (ko)
WO (1) WO2020197729A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11623671B2 (en) * 2019-04-11 2023-04-11 Progress Rail Locomotive Inc. Blockchain remote command verification
EP3723007B1 (de) * 2019-04-12 2021-03-10 Siemens Aktiengesellschaft Verfahren und steuersystem zum steuern einer ausführung von transaktionen
US11847171B2 (en) * 2019-08-20 2023-12-19 International Business Machines Corporation Facilitating blockchain transactions with an Internet of Things (IoT) device
US20230062244A1 (en) * 2021-09-01 2023-03-02 Qualcomm Incorporated Extended reality control of smart devices
CN115942255A (zh) * 2021-09-15 2023-04-07 华为技术有限公司 通道配置方法及装置

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BG63887B1 (bg) 1999-10-18 2003-04-30 Ивайло ПОПОВ Метод и устройство за създаване на сигурен канал за връзка, идентификация и извършване на разплащания
DE10121819A1 (de) * 2001-05-04 2002-11-21 Wolfgang Rosner Verfahren zur kontextspezifischen Remote-Authentifizierung des Datenzugriffs
US7031473B2 (en) * 2001-11-13 2006-04-18 Microsoft Corporation Network architecture for secure communications between two console-based gaming systems
JP2003283489A (ja) * 2002-03-20 2003-10-03 Hitachi Ltd パケット認証システムおよび認証方法、ならびにグループ管理サーバとグループメンバー装置
WO2005024598A2 (en) 2003-09-09 2005-03-17 Oto Software, Inc Method and system for securing and monitoring a wireless network
US7971059B2 (en) 2007-05-30 2011-06-28 Bank Of America Corporation Secure channel for image transmission
CN202022184U (zh) * 2011-01-24 2011-11-02 陕西理工学院 汽车远程防盗报警器
US10129211B2 (en) * 2011-09-15 2018-11-13 Stephan HEATH Methods and/or systems for an online and/or mobile privacy and/or security encryption technologies used in cloud computing with the combination of data mining and/or encryption of user's personal data and/or location data for marketing of internet posted promotions, social messaging or offers using multiple devices, browsers, operating systems, networks, fiber optic communications, multichannel platforms
CN108563405A (zh) * 2012-02-21 2018-09-21 Zih公司 用于实现云连接打印机和应用程序框架的方法和设备
WO2014018808A1 (en) * 2012-07-25 2014-01-30 Devicescape Software, Inc. Systems and methods for enhanced engagement
JP6502329B2 (ja) * 2013-06-14 2019-04-17 シグニファイ ホールディング ビー ヴィ 制御デバイスと被制御デバイスとを含むシステム
WO2015092953A1 (ja) * 2013-12-16 2015-06-25 パナソニックIpマネジメント株式会社 認証システムおよび認証方法
CN103944734A (zh) * 2014-04-25 2014-07-23 天地融科技股份有限公司 数据安全交互方法
US9906924B2 (en) * 2014-10-09 2018-02-27 General Motors Llc Establishing a local vehicle communication group
US9871772B1 (en) 2015-03-17 2018-01-16 The Charles Stark Draper Laboratory, Inc. Cryptographic system for secure command and control of remotely controlled devices
US9900159B2 (en) * 2015-07-21 2018-02-20 Micron Technology, Inc. Solid state storage device with command and control access
KR101678795B1 (ko) * 2015-11-30 2016-11-22 전삼구 블록체인 인증을 이용하는 IoT 기반 사물 관리 시스템 및 방법
CN108476205B (zh) * 2015-12-21 2019-12-03 皇家飞利浦有限公司 登记者设备、配置器设备及其方法
US10708139B2 (en) 2017-08-01 2020-07-07 Servicenow, Inc. Automatic grouping of similar applications and devices on a network map
US11233644B2 (en) * 2017-08-09 2022-01-25 Gridplus Inc. System for secure storage of cryptographic keys
FR3076420B1 (fr) * 2017-12-29 2020-02-07 Commissariat A L'energie Atomique Et Aux Energies Alternatives Methode d'echange de cles par contrat intelligent deploye sur une chaine de blocs
CN108305072B (zh) * 2018-01-04 2021-02-26 上海点融信息科技有限责任公司 部署区块链网络的方法、设备和计算机存储介质
US10678938B2 (en) * 2018-03-30 2020-06-09 Intel Corporation Trustworthy peripheral transfer of ownership
US10937253B2 (en) * 2018-06-11 2021-03-02 International Business Machines Corporation Validation of vehicle data via blockchain
US11223606B2 (en) * 2018-06-29 2022-01-11 Intel Corporation Technologies for attesting a deployed workload using blockchain
CN109492352B (zh) * 2018-10-09 2021-01-29 华为技术有限公司 一种设备标识组合引擎的实现方法及装置
CN112912939A (zh) * 2018-10-12 2021-06-04 美光科技公司 改进的车辆通信
US11070632B2 (en) * 2018-10-17 2021-07-20 Servicenow, Inc. Identifying computing devices in a managed network that are involved in blockchain-based mining
ES2963293T3 (es) * 2019-02-08 2024-03-26 Uze! Mobility Gmbh Unidad telemática

Also Published As

Publication number Publication date
US11128451B2 (en) 2021-09-21
WO2020197729A1 (en) 2020-10-01
CN113678402A (zh) 2021-11-19
EP3949254A1 (en) 2022-02-09
EP3949254A4 (en) 2022-12-21
JP2022528359A (ja) 2022-06-10
US20200313877A1 (en) 2020-10-01
US20210409201A1 (en) 2021-12-30

Similar Documents

Publication Publication Date Title
CN109417553B (zh) 经由内部网络监视来检测使用泄漏证书的攻击
US11936619B2 (en) Combined security and QOS coordination among devices
KR20210126141A (ko) 블록체인 및 dice-riot을 사용한 원격 장치 관리
US8737965B2 (en) Wireless device monitoring systems and monitoring devices, and associated methods
EP2574090B1 (en) Managing mobile device applications
EP2574098B1 (en) Managing mobile device applications in a wireless network
US8474031B2 (en) Access control method and apparatus
EP2574089B1 (en) Authentication procedures for managing mobile device applications
CA2849757C (en) Managing mobile device applications on a mobile device
US8175578B2 (en) Wireless device monitoring methods, wireless device monitoring systems, and articles of manufacture
US20040073801A1 (en) Methods and systems for flexible delegation
KR20230048431A (ko) 서비스 통신 방법, 시스템, 장치 및 전자 디바이스
CN112765684B (zh) 区块链节点终端管理方法、装置、设备及存储介质
US9866591B1 (en) Enterprise messaging platform
US20220103584A1 (en) Information Security Using Blockchain Technology
Zhou et al. Heracles: Scalable, fine-grained access control for internet-of-things in enterprise environments
KR20190048587A (ko) 사물인터넷 장치의 원격 보안 방법 및 이를 위한 장치
CN115001841A (zh) 一种身份认证方法、装置及存储介质
Zhou et al. Towards fine-grained access control in enterprise-scale Internet-of-Things
JP2023535474A (ja) アソシエーション制御方法及び関連装置
KR102020488B1 (ko) IoT 디바이스의 인터넷 접근 제어를 위한 장치 및 이를 위한 방법
KR102020986B1 (ko) 블록체인기반의 신뢰 네트워크 시스템
US11330003B1 (en) Enterprise messaging platform
CN115623013A (zh) 一种策略信息同步方法、系统及相关产品
US20220272073A1 (en) Proxy And A Communication System Comprising Said Proxy

Legal Events

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