KR20200098561A - 연결된 엔드포인트 장치의 가입 및 등록을 위한 장치 식별 시스템 및 방법, 그리고 블록 체인 서비스 - Google Patents

연결된 엔드포인트 장치의 가입 및 등록을 위한 장치 식별 시스템 및 방법, 그리고 블록 체인 서비스 Download PDF

Info

Publication number
KR20200098561A
KR20200098561A KR1020207018954A KR20207018954A KR20200098561A KR 20200098561 A KR20200098561 A KR 20200098561A KR 1020207018954 A KR1020207018954 A KR 1020207018954A KR 20207018954 A KR20207018954 A KR 20207018954A KR 20200098561 A KR20200098561 A KR 20200098561A
Authority
KR
South Korea
Prior art keywords
service
certificate
subscription
endpoint device
request
Prior art date
Application number
KR1020207018954A
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 KR20200098561A publication Critical patent/KR20200098561A/ko

Links

Images

Classifications

    • 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/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/16
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/303Terminal profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • 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/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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • 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/321Cryptographic 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 a third party or a trusted authority
    • 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/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
    • H04L9/3268Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
    • 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/06Authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/005Discovery of network devices, e.g. terminals
    • H04L2209/38

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Computer And Data Communications (AREA)

Abstract

게이트웨이 장치에 연결된 엔드 포인트 장치의 가입 및 등록을 위한 장치 식별 방법이 개시된다. 상기 방법은 : 디스커버리 서비스에 엔드 포인트 장치 프로파일을 갖는 인증된 아이덴티티 비콘을 전송하는 단계; 상기 디스커버리 서비스에 의해, 프라이버시 인증 기관으로부터 상기 엔드 포인트 장치에 대한 인증서 요청을 생성하는 단계; 가입 서비스에 상기 엔드 포인트 장치에 대한 인증서 요청을 전송하는 단계; 상기 가입 서비스에 의해, 인증 기관에 대한 인증서 요청을 번역하기 위해 상기 인증서 요청을 처리하는 단계; 상기 가입 서비스에 의해, 상기 인증 기관에 상기 번역된 인증서 요청을 전송하는 단계; 상기 가입 서비스에 의해, 상기 인증 기관에 의해 발행된 상기 엔드 포인트 장치에 대한 인증서를 수신하는 단계; 상기 가입 서비스에 의해, 프라이버시 인증 기관을 나타내도록 상기 수신된 인증서를 번역하기 위해 상기 엔드 포인트 장치에 대해 수신된 인증서를 처리하는 단계; 및 상기 디스커버리 서비스에 상기 엔드 포인트 장치에 대한 인증서를 전송하는 단계를 포함한다.

Description

연결된 엔드포인트 장치의 가입 및 등록을 위한 장치 식별 시스템 및 방법, 그리고 블록 체인 서비스
관련 출원
이 출원은 2017년 11월 30일에 출원된 미국 가출원 제62/592,868호 및 2018년 2월 19일에 출원된 미국 정규 출원 제15/898,842호의 우선권을 주장하며, 상기 출원들 각각은 그 전체가 본원에 참고로 포함된다.
발명의 기술분야
본 개시서는 아이덴티티 증명(identity proofing)에 기초한 인증 기관 및 가입 서비스에 의한 암호화 서명된 아티팩트(cryptographically signed artifact)의 발행에 기초한 사물 인터넷(IoT)에 대한 장치 보호 분야, 그리고 장치 관리 서비스들에 의해 발행된 아티팩트의 사용에 관한 것이다.
사이버 보안은 공업용, 자동차용 및 가정용 자동화 산업 분야에 걸쳐 유비쿼터스하게 배치된 IoT 장치들에 대한 신흥 운영 기술(Operation Technology; OT) 분야에서 심각한 위험을 초래한다. 공급 체인에 걸친 변조 방지 장치들에는 인증서 기반 가입이 필요하다. 업데이트 서비스들은 OTA(over the air)를 통해 또는 네트워크를 통해 원격 장치들에게 업데이트를 안전하게 전달하려면 높은 수준의 암호화 서명이 필요하다. 장치 등록 및 장치 관리 서비스에는 ZTP(Zero Touch Provisioning)(예를 들어, 일반적으로 장치 설치 동안, 사용자 개입없이 장치를 구성할 수 있는 기능)이 필요하다. 장치 등록에 대한 현재 접근 방식에는 보증 키(endorsement key) 또는 인증서(X.509)의 사용자 생성 디지털 해시(다이제스트)를 사용하는 웹 포털을 사용한 수동 프로비저닝 또는 할당된 장치 식별자들을 기반으로 한 서비스 제공자 독점 JSON 웹 토큰(JWT)의 사용이 포함된다. 작업의 확장성(scalability)을 위한 배치 처리를 위해 스크립트를 사용하여 자동화가 이루어진다. 대안으로 부상하는 또 다른 접근법은 전용/허가형 블록 체인 기술을 사용하여 분산 인증(decentralized authentication)을 기반으로 참가자들을 가입시키고 암호화 서명에 공개 키 인프라(public key infrastructure; PKI)를 사용하는 것이다. 블록 체인 사용을 기반으로 한 대안적인 방법들은 데이터 변조에 대한 강력한 보호 기능, 확장성을 위한 분산 제어, 그리고 공개 키 암호화 및 디지털 서명을 제공하여 디지털 자산 및 거래의 소유권을 보호한다.
이러한 방법들의 한계는 비-현실 아이덴티티의 부적절한 증거 보유, 안전하지 않은 아이덴티티 증명 방법, 프로토콜 기반이 아닌 인증서 관리를 위한 독점적 방법들, 벤더 잠금을 포함하고, 그리고 장치 가입 유스 케이스만을 다루어서, 응용 프로그램들은 보안 키/스토리지 및 인증서 관리를 다루어야 하며, 이는 응용 프로그램을 취약하게 만든다. 다른 접근 방식은 그룹 멤버쉽 기반 키 페어를 사용하여 공급 체인을 통해 서명 기반의 안전한 소유권 변경을 제공한다. 그러나 이는 정보 기술(IT) 및 OT 운영 도메인 외부의 워크 플로우에서 중앙 집중식 브로커를 필요로 한다. 블록 체인 기반 접근 방식은 통신에서 거부할 수 없는 장치 아이덴티티가 부족하며, 장치 가입에는 아이덴티티의 신뢰할만한 증거가 부족하고, 그리고 대량의 동시 트랜잭션에서 확장성이 부족하다.
블록 체인 기술은 공개 키 암호화 및 디지털 서명에 기초하여 확장성, 데이터 서명 및 서명 검증을 위한 분산 제어 방법을 제공하여 디지털 자산 및 트랜잭션의 소유권을 보호한다. 그러나 통신에는 거부할 수 없는 장치 아이덴티티가 없을 수 있으며, 아이덴티티의 신뢰할 만한 증거 없이 IoT 장치 등록이 수행될 수 있으며, IoT 장치들은 데이터를 암호화하고 해독하는데 필요한 계산 능력이 부족할 수 있다. 블록 체인 응용 프로그램은 네트워크에 트랜잭션 요청을 제출한다. 네트워크상의 피어(peer)는 스마트 계약(코드 체인)을 사용하여 트랜잭션 요청을 처리하고, 원장(ledger)을 업데이트하며 시스템 간 통합을 위해 트랜잭션 블록을 생성한다.
현재의 접근법은 장치 디스커버리, 식별 및 등록을 위한 다양한 방법들을 사용한다. 이러한 방법들은 헤드리스 장치들(즉, 대화형 사용자없이 작동하는 장치들)에 대한 사용자 개입을 필요로 하거나, 등록을 위한 신뢰할만한 검색 및 식별 전에 장치를 사전 등록하기 위한 관리 작업을 필요로 한다. 이러한 방법들 중 일부는 : (a) 네트워크(IP) 주소 및 특성(예를 들어, 잘 알려진 서비스 포트들, 애플리케이션 프로토콜 특정 쿼리 검사 등)에 기초한 디스커버리; (b) 장치 유형별로 가입 규칙들을 적용하기 위한 장치 사전 등록; (c) 공유된 비밀을 이용한 헤드리스 장치의 디스커버리; (d) 기기 유형별 가입 정책들; (e) 장치와 인증 기관 간의 신뢰된 연관성(이 때, 발행된 인증서가 장치의 통신 주소와 연관됨); (f) 기존 암호화 키 쌍의 사용; (g) 내부 및 외부 엔드 포인트와 중간 보조 게이트웨이 장치 간의 신뢰 관계(여기서, 구성 데이터베이스에 장치의 장치 패스워드 또는 사전-등록이 필요함); (h) 서비스에 의해 장치의 고유 식별자를 사용하여 네트워크 장치를 식별하는 것; (i) 제2 사용자 장치를 사용하여 네트워크에 연결된 제1 장치를 식별하고, 상기 제1 장치는 DHCP를 통해 IP를 획득하는 것; (j) 자산 관리 시스템에 의해 HSM을 사용하여 제어기와 어플라이언스간에 보안 엔드 포인트를 생성하는 것; 및 (k) 다른 장치에 대한 기존의 인증서 또는 토큰을 요구하는, 장치 식별자에 의해 다른 장치에 연결하기 위한 네트워크에 연결된 보조 장치의 사용을 포함한다.
예를 들어 인텔® 강화 프라이버시 ID(Enhanced Privacy ID; EPID) 방식과 같은 프라이버시 보호 및 익명성에 대한 요구에 기초한 기술들은, 그룹 공개 키 및 멤버 고유의 개인 키를 사용하여, 멤버가 멤버의 아이덴티티을 공개하지 않고 그룹의 신뢰할 수 있는 멤버임을 검증자에게 증명할 수 있게 한다. 그러나, 이러한 방법들은 데이터 교환에서 메시지 무결성을 검증하는 것으로 제한되며, 그룹들을 생성하고 멤버십을 관리하려면 중앙 발행자가 필요하다. EPID 서명을 통해 실리콘 공급 업체에서 IoT 서비스 제공업체로 소유권을 증명서(attestation) 기반으로 양도할 수 있지만, 장치 수명 주기 관리는 데이터 기밀성을 위해 장치 인증서 및 PKI를 기반으로 한 관리, 운영 및 유지 관리를 필요로 한다.
블록 체인에 기초한 다른 접근법은 데이터 해시를 서명 및 검증하기 위해 중앙 집중식 브로커 및 REST(Representational State Transfer) API들을 사용하여 클라이언트와 서버 간의 저장 데이터(data at rest), 데이터 서명 및 서명 검증을 보호하기 위한 서명 키들을 제공한다. PKI 또는 인증서에 의존하지 않고 키가 없는 서명들을 사용하는 것은 데이터 무결성을 위한 메시지 서명으로 제한된다. 서버의 서명 체계는 정기적(매월) 갱신이 필요하다.
불변의 하드웨어 구성에 기초한 장치의 고유한 디지털 지문의 사용 그리고 필러 코드를 위한 적어도 하나의 사용자 구성 가능 파라미터를 요구하는 알고리즘 처리에 기초한 대안적인 접근법들은 수백만의 분산 IoT 장치들에 걸친 확장성 또는 헤드리스 장치를 위한 실행 가능한 해결책이 아니다. 장치의 디지털 지문을 기반으로 하며 장치에 대한 발급된 공개 인증서에 장치의 디지털 지문을 포함하는 개인 키를 사용하면, 개인 정보 보호 및 익명성 보호가 무효화되고 장치가 리버스 엔지니어링 및 해커 공격에 노출된다.
상기 언급된 방법들과 현저히 대조적으로, 본 발명의 장치 가입 시스템은 : (a) 장치 디스커버리 및 식별 전 장치 사전 등록; (b) 공유 비밀 사용; (c) 인증 기관에 의해 장치에 대해 사전 발행된 인증서; (d) 사용자 장치와의 추론된 신뢰 관계; (e) 내부 엔드 포인트와 TCP/IP 네트워크의 연결; 또는 (f) 장치에 대해 발행된 기존 암호화 키의 사용을 필요로 하지 않지만, 옵션으로, 사전 공유된 비밀이 사용되어, 아이덴티티의 소지에 대한 강화된 증거를 제공할 수 있다. 개시된 시스템의 개시된 방법들은 구현에 따라 : (a) 그룹 및 멤버 키 관리를 위한 중앙화된 발급자를 요구하지 않으면서 분산 제어를 제공할 수 있고; (b) 데이터 부당 변경(data tampering)에 대한 디지털 자산 및 트랜잭션에 대한 PKI 기반 강력한 보호 및 분산 제어의 블록 체인 개념을 준수하는 중앙 집중식 브로커가 필요하지 않을 수 있으며; (c) 헤드리스 장치를 등록하는데 필요한 사용자 구성 가능 파라미터 없이 제로 터치 프로비저닝을 제공할 수 있고; 그리고 (d) 장치 인증서에 장치 지문을 포함시킬 필요없이 개인 정보 보호를 제공할 수 있다. 엔드 포인트 장치는 디스커버리 전에 가입 서비스에 대한 사전 등록이 필요하지 않은 불변의 장치 아이덴티티, 그리고 로컬 또는 원격 보안 요소가 있는 관련 게이트웨이 장치(비-IP 엔드 포인트 장치의 경우에만)가 신뢰 앵커의 루트 역할을 할 것을 요구할 뿐이다.
예시적인 실시예에서, 개시된 시스템의 방법은 장치 가입 및 장치 등록을 별개의 워크플로우로서 차별화한다. 장치 가입은 장치에 대한 신뢰의 루트 역할을 하는 보안 요소에 의한 장치의 아이덴티티 증명을 기반으로 하는 장치 크리덴셜의 첫번째 할당이다. 권한이 부여된 도메인 및 블록 체인에 장치를 추가(또는 조인)하려면 장치 가입이 필요하다. 장치 등록은 예를 들어 장치 관리 서비스, 정책 서비스 또는 업데이트 서비스와 같은 연결된 서비스에 가입된 장치(즉, 사후 가입 단계)를 추가하는 것이다. 정책 기반 원격 작업, 관리, 유지 관리 및 프로비저닝 기능을 위해, 장치 소유권을 장치 관리 서비스에 할당 또는 전송하기 위해, 그리고 장치를 관리 네트워크에 온-보딩하기 위해, 장치 등록이 필요하다. 장치 가입 요청에는 장치 가입 및 장치 등록(인증서 기반 가입용)이 통합된 워크플로우 작업으로서 포함될 수 있다. 마찬가지로, 장치 탈퇴(disenrollment) 요청에는 장치 탈퇴 및 장치 등록 취소(인증서 기반 가입용)가 통합된 워크플로우 작업으로서 포함될 수 있다.
종래의 IT 위협 모델들은 기준선으로부터의 편차에 기초하여 위협 인텔리전스(threat intelligence), 문법, 표현 및 이상 검출에 중점을 둔 다층 방어 마인드(multi-layer defense mindset)를 사용한다. IoT는 시스템의 안전에 중점을 둔, 검출에서 보호로의 패러다임 전환이 필요하다. 이를 위해서는 내장된 안전 제어 기능을 이용하기 위한 위험에 대한 예측, 선제적 대책 및 애플리케이션 복원력이 필요하다.
근거리 통신망(LAN) 또는 광역 통신망(WAN)을 통한 데이터 전송은 네트워크 서비스에 의해 정적으로 또는 동적으로 할당된 인터넷 프로토콜(IP) 주소를 필요로 한다. 레거시 브라운필드 장치들은 지점 간 인터페이스 및 링크 프로토콜(예를 들어, RS-232, RS-422, RS-485, HART(Highway Addressable Remote Transducer), Modbus, CAN(Controller Area Network) 버스, 항공 라디오(ARINC), GPIO(General Purpose Input Output))을 사용하며, 그리고 네트워킹을 위한 IP 프로토콜 스택이 없을 수 있다.
개시된 방법은 보호 및 원격 장치 관리에 대해 레거시 장치를 개량하기 위해 상당한 개선 및 효율을 제공할 수 있다. IP 네트워크를 통해 액세스할 수 없는 리소스 제한(예를 들어, 메모리, 배터리 전원 등) 및 지점 간 연결이 있는 비-IP 주소가 할당된 장치들(이하 "비 IP 장치들")은 장치 가입 및 관리를 위해 디스커버리될 수 있다. 네트워크 IP 주소가 없는 비-IP 장치들은 식별 및 인증서 기반 관리를 위해 연결된 IP 게이트웨이 장치와 연관될 수 있으며 그 반대도 가능하다. 장치 구성, 펌웨어 또는 응용 프로그램 소프트웨어 업데이트를 포함하여 비 IP 장치와의 데이터 전송은 기밀성과 무결성을 위해 장치 관련 인증서를 사용하여 IP(LAN 또는 WAN) 네트워크를 통해 연결된 IP 게이트웨이 장치에 의해 프록시될 수 있다. 연결된 게이트웨이 장치들에 대한 비-IP 장치들의 동적 연관(dynamic association)은 장치 관리 서비스에 의해 모니터링될 수 있다. 연결된 엔드 포인트 및 게이트웨이 장치들은 블록 체인 응용 프로그램으로 참여하여, 비-IP 또는 IP 장치 디스커버리를 개시할 수 있고, 오케스트레이션 규칙(orchestration rule)(즉, 스마트 계약 또는 코드 체인)을 기반으로, 블록 체인의 네트워크 피어들과 인증된 트랜잭션을 연관시킬 수 있고, 그리고 장치 수명주기 동안 장치 인벤토리 및 상태 관리를 위해 분산된 원장에서 트랜잭션 레코드를 생성할 수 있다.
개시된 방법은 다음을 통해 확장성을 위한 상당한 프로세스 개선 및 효율성을 제공할 수 있다 : (a) 장치 온-보딩을 위한 구성된 정책 서비스를 통한 인증서 기반 가입 동안 IP 및 비-IP 장치들의 자동 등록; (b) 장치 오프-보딩을 위해 구성된 정책 서비스를 사용하여 인증서를 해지하는 동안 IP 및 비-IP 장치들의 자동 등록 취소; (c) 인증서 발급 및 해지에 대한 복수의 인증 기관들과의 정책 기반 동적 연관(커넥터)(여기서, 커넥터의 속성들은 적어도 인증서 비용 및 기간을 포함할 수 있음); 및 (d) 다중 시스템 신뢰 체인을 설정하기 위해 가입 서비스에서 엔드 포인트 및 연결된 게이트웨이 장치들의 인증(여기서, 상기 연결된 엔드 포인트 장치에 대한 인증서 요청은 상기 게이트웨이 장치 인증서를 사용하여 서명되고, 상기 게이트웨이 장치 인증서는 게이트웨이 장치상의 기본 로컬 보안 요소(신뢰 루트)의 보증 인증서를 사용하여 서명됨).
예를 들어 TLS(Transport Layer Security) 또는 IPsec(Internet Protocol Security)과 같이 일반적으로 사용되는 보안 전송 프로토콜을 기반으로 하는 인필드 장치들에 대한 모든 형태의 업데이트는 단지 피어-투-피어 통신에서 발신자(서버) 및 옵션으로 수신기(클라이언트)의 검증에 의해 전송 중 데이터 기밀성을 제공한다. 공급 체인 무결성에 대한 검증은 없다. 펌웨어 업데이트, 구성 업데이트, 방화벽 규칙, 소프트웨어 업데이트, 운영 체제 패치 등과 같이 장치들에 제공되는 업데이트는 제공자로부터 배포자를 통해 퍼블리셔에게 전달된다. 이 흐름 경로에는 여러 홉(hop)의 저장 및 포워드 사일로(forward silo)가 포함된다. 이러한 전달 메커니즘에는 공급 체인 전체에서 업데이트 패키지의 변조 방지 패키징을 보장하기 위한 규정이 없다. 개시된 방법은 혁신적인 암호화 기술의 사용 및 분배 체인 내의 모든 엔티티(entity)들의 신뢰할만한 아이덴티티 증명에 기초하여 엔드-투-엔드 데이터 기밀성 및 무결성을 위한 공급 체인 출처를 통합하기 위한 확장 가능하고 자동화된 접근법을 기술한다.
가입 및 등록을 위한 장치 식별 및 보안 업데이트에 대해 개시된 방법은 비-IP 및 IP 엔드 포인트 장치들 및 IP 게이트웨이 장치들에 적용 가능하다. 산업 용어에서, 엔드 포인트 장치들은 에지 장치들 또는 센서들로 지칭될 수 있고, 게이트웨이 장치들은 또한 코어 장치들로 지칭될 수 있다.
본 개시서의 예시적인 실시예는 게이트웨이 장치에 연결된 엔드포인트 장치의 가입 및 등록을 위한 장치 식별 방법을 제공한다. 이 방법은 다단계 검증 부트 로더, 엔드포인트 장치에서의 디스커버리 에이전트, 게이트웨이 장치에서의 디스커버리 서비스, 가입 서비스, 정책 서비스 및 장치 관리 서비스를 사용한다. 상기 방법은 엔드 포인트 장치상의 디스커버리 에이전트에 의해, 엔드 포인트 장치 프로파일을 갖는 인증된 아이덴티티 비콘을 게이트웨이 장치의 디스커버리 서비스에 전송하는 단계를 포함한다. 상기 방법은 디스커버리 서비스에 의해 엔드 포인트 장치 및 엔드 포인트 장치 프로파일의 인증을 검증하는 단계; 및 디스커버리 서비스에 의해, 프라이버시 인증 기관으로부터 엔드 포인트 장치에 대한 인증서 요청을 생성하는 단계를 포함한다. 상기 방법은 디스커버리 서비스에 의해 엔드 포인트 장치에 대한 인증서 요청을 가입 서비스에 전송하는 단계를 포함한다. 이 방법은 가입 서비스에 의해, 인증 기관에 대한 인증서 요청을 번역하기 위해 수신된 엔드 포인트 장치에 대한 인증서 요청을 처리하는 단계; 및 가입 서비스에 의해 인증 기관에 엔드 포인트 장치에 대한 변환된 인증서 요청을 전송하는 단계를 포함한다. 이 방법은 가입 서비스에 의해 인증 기관에 의해 발행된 엔드 포인트 장치에 대한 인증서를 수신하는 단계; 및 가입 서비스에 의해, 프라이버시 인증 기관을 나타내도록 엔드 포인트 장치에 대한 수신된 인증서를 번역하기 위해 엔드 포인트 장치에 대한 수신된 인증서를 처리하는 단계를 포함한다. 방법은 가입 서비스에 의해 엔드 포인트 장치에 대한 인증서를 디스커버리 서비스에 전송하는 단계; 및 가입 서비스에 의해 엔드 포인트 장치 등록 통지를 정책 서비스에 전송하는 단계를 포함한다. 이 방법은 정책 서비스에 의해 엔드 포인트 장치를 장치 관리 서비스에 추가하라는 지시문을 전송하는 단계; 및 디스커버리 서비스에 의해, 발행된 엔드 포인트 장치 인증서를 로컬 인증서 저장소에 저장하는 단계를 포함한다.
본 발명의 예시적 실시예는 관리 대시 보드, 가입 서비스, 정책 서비스 및 장치 관리 서비스를 이용하여 장치를 등록 취소하는 방법을 제공한다. 상기 방법은 인증되고 특권이 있는 사용자에 의해 관리 대시 보드로부터, 장치 인증서를 해지하는 동작을 개시하는 단계; 및 가입 서비스에 의해 해지 명령을 인증 기관에 전송하는 단계를 포함한다. 이 방법은 가입 서비스에 의해 장치 인증서 해지 통지를 정책 서비스에 전송하는 단계를 포함한다. 이 방법은 정책 서비스에 의해 장치를 제거하라는 지시문을 장치 관리 서비스에 전송하는 단계를 포함한다.
본 개시의 예시적인 실시예는 블록 체인 애플리케이션으로서 게이트웨이 장치상의 디스커버리 서비스 및 블록 체인 네트워크 피어로서 네트워크에서의 가입 서비스를 사용하여 엔드 포인트 장치 가입 방법을 제공한다. 상기 방법은 네트워크에서 디스커버리 서비스에 의해 가입 서비스에 엔드 포인트 장치에 대한 가입 요청을 전송하는 단계를 포함한다. 상기 방법은 가입 서비스에 의해 가입 요청을 수신하고 게이트웨이 장치를 인증하는 단계를 포함할 수 있다. 상기 방법은 가입 서비스에 의해, 네트워크의 네트워크 서비스에 대해 설정된 오케스트레이션 규칙에 기초하여 엔드 포인트 장치에 대한 인증 기관에 의해 발행된 인증서를 생성하는 단계를 포함한다. 상기 방법은 가입 서비스에 의해 엔드 포인트 장치에 대한 인증서를 게이트웨이 장치에 전송하는 단계를 포함한다. 이 방법은 업데이트 서비스에 의해 엔드 포인트 디바이스에 대한 요청 로그를 로컬 원장에 트랜잭션 레코드로서 기록하는 단계 및 분산된 원장을 유지하여 디바이스 히스토리를 재생산(reproducing)하기 위해 트랜잭션 레코드들의 블록들을 블록 체인 피어들에 배포하는 단계를 포함한다.
본 발명의 예시적 실시예는 업데이트 제공자에 의해 운영되는 개발 시스템 및 릴리스 관리 시스템, 업데이트 퍼블리셔에 의해 운영되는 업데이트 서비스, 장치상의 업데이트 클라이언트 및 장치상의 로컬 보안 요소를 이용하여 등록된 장치를 업데이트하는 방법을 제공한다. 이 방법은 펌웨어 업데이트, 소프트웨어 업데이트, 구성 업데이트 및 업데이트 스크립트 중 적어도 하나를 포함하는 업데이트 패키지를 개발 시스템에 구축하는 단계를 포함한다. 이 방법은, 릴리스 관리 시스템에 의해, 제공자 서명 키를 사용하여 업데이트 패키지에 서명하는 단계를 포함하고, 여기서 제1 디지털 서명이 업데이트 패키지에 포함된다. 상기 방법은, 릴리스 관리 시스템에 의해, 업데이트 패키지의 초기 암호화를 위해 업데이트 퍼블리셔에 대한 퍼블리셔 인증서로부터 퍼블리셔 공개 키를 사용하여 서명된 업데이트 패키지를 암호화하는 단계를 포함한다. 이 방법은 릴리스 관리 시스템에 의해, 상기 서명되고 암호화된 업데이트 패키지를 업데이트 서비스로 전송하는 단계를 포함한다. 이 방법은 장치의 업데이트 클라이언트에 의해 업데이트 패키지를 요청하는 단계를 포함한다. 요청에는 장치 매니페스트(device manifest) 및 적어도 공급 업체 식별자, 모델 번호 및 장치의 장치 인증서가 포함될 수 있다. 상기 방법은 수신된 장치 매니페스트에 기초하여, 업데이트 서비스에 의해, 장치에 대해 구성된 오케스트레이션 규칙에 기초하여 장치에 대한 서명된 업데이트 패키지들의 세트를 준비하는 단계를 포함한다. 이 방법은 업데이트 서비스에 의해, 업데이트 퍼블리셔의 퍼블리셔 개인 키를 사용하여 초기 암호화를 해독하고, 업데이트 퍼블리셔의 서명 키를 사용하여 업데이트 패키지에 서명하고, 마지막으로 업데이트 패키지의 최종 암호화를 위해 장치 인증서로부터의 장치 공개 키를 사용하여 업데이트 패키지를 암호화함으로써, 상기 서명된 업데이트 패키지를 재암호화하고 재서명하는 단계를 포함한다. 제2 디지털 서명이 업데이트 패키지에 포함된다. 이 방법은 업데이트 서비스에 의해, 암호화되고 이중 서명된 업데이트 패키지를 장치상의 업데이트 클라이언트로 전송하는 단계를 포함한다. 상기 방법은 업데이트 클라이언트에 의해, 장치에 대한 장치 개인 키를 사용하여 암호화된 업데이트 패키지를 해독하는 단계를 포함한다. 이 방법은 업데이트 클라이언트에 의해, 인증 기관에 의해 발행된 업데이트 제공자 및 퍼블리셔 인증서들로부터의 각각의 공개 키들을 사용하여 제1 디지털 서명 및 제2 디지털 서명을 검증하는 단계를 포함한다. 예시적인 실시예에서, 업데이트 스크립트는 장치상에서 실행되어 장치에 업데이트 패키지를 적용한다.
본 개시서의 예시적인 실시예는 블록 체인 애플리케이션으로서 장치상의 업데이트 클라이언트, 블록 체인 네트워크 피어로서의 네트워크에서의 업데이트 서비스, 오케스트레이션 규칙 및 원장을 사용하여 장치를 업데이트하는 방법을 제공한다. 상기 방법은 업데이트 클라이언트에 의해 네트워크의 업데이트 서비스로부터 장치에 대한 업데이트 패키지에 대한 장치 요청을 전송하는 단계를 포함한다. 상기 방법은 업데이트 서비스에 의해 장치 요청을 수신하고 장치를 인증하는 단계를 포함할 수 있다. 이 방법은 업데이트 서비스에 의해, 네트워크의 네트워크 서비스에 대해 설정된 오케스트레이션 규칙에 기초하여 서명되고 암호화된 업데이트 패키지를 준비하는 단계를 포함한다. 이 방법은 업데이트 서비스에 의해, 서명되고 암호화된 업데이트 패키지를 장치로 전송하는 단계를 포함한다. 이 방법은 업데이트 서비스에 의해, 장치에 대한 요청 로그를 원장에 엔트리로서 기록하는 단계 및 분산된 원장을 유지하여 장치의 히스토리을 재생산하기 위해 트랜잭션 레코드들의 블록들을 블록 체인 피어들에 배포하는 단계를 포함한다.
본 개시서의 예시적인 실시예는 디스커버리 에이전트, 디스커버리 서비스, 가입 서비스, 정책 서비스 및 장치 관리 서비스를 사용하여, IP 주소를 갖지 않는 엔드 포인트 장치와 엔드 포인트 장치에 연결된 게이트웨이 장치 간의 데이터 전송을 보호하는 방법을 제공한다. 상기 방법은 엔드 포인트 장치상의 디스커버리 에이전트에 의해, 엔드 포인트 장치의 장치 프로파일을 갖는 인증된 아이덴티티 비콘을, 게이트웨이 장치상의 디스커버리 서비스에 전송하는 단계를 포함한다. 상기 방법은 디스커버리 서비스에 의해 엔드 포인트 장치 및 엔드 포인트 장치 프로파일의 인증을 검증하는 단계; 및 디스커버리 서비스에 의해, 프라이버시 인증 기관으로부터 가입 서비스로의 엔드 포인트 장치에 대한 인증서 요청을 생성하는 단계를 포함한다. 이 방법은 가입 서비스에 의해, 인증 기관에 대한 인증서 요청을 번역하기 위해 수신된 엔드 포인트 장치에 대한 인증서 요청을 처리하는 단계를 포함한다. 이 방법은 가입 서비스에 의해 인증 기관에 엔드 포인트 장치에 대한 인증서 요청을 전송하는 단계; 및 가입 서비스에 의해, 인증 기관에 의해 발행된 엔드 포인트 장치에 대한 인증서를 수신하는 단계를 포함한다. 이 방법은 가입 서비스에 의해, 프라이버시 인증 기관을 나타내도록 엔드 포인트 장치에 대해 수신된 인증서를 번역하기 위해 엔드 포인트 장치에 대해 수신된 인증서를 처리하는 단계를 포함한다. 상기 방법은 가입 서비스에 의해 엔드 포인트 장치에 대한 인증서를 디스커버리 서비스에 전송하는 단계를 포함한다. 상기 방법은 가입 서비스에 의해 엔드 포인트 장치 등록 통지를 정책 서비스에 전송하는 단계; 및 정책 서비스에 의해 엔드 포인트 장치를 추가하라는 지시문을 장치 관리 서비스에 전송하는 단계를 포함한다. 상기 방법은 디스커버리 서비스에 의해, 발행된 엔드 포인트 장치 인증서를 게이트웨이 장치의 로컬 인증서 저장소에 저장하는 단계를 포함한다. 이 방법은 게이트웨이 장치상의 애플리케이션에 의해, 엔드 포인트 장치로부터/엔드 포인트 장치로 전송되는 데이터를 수신하는 단계 및 안전한 데이터 전송을 위해 로컬 인증서 저장소로부터의 엔드 포인트 장치에 대한 인증서를 사용하여 데이터에 대한 암호화 동작을 수행하는 단계를 포함한다.
본 개시서는 첨부 도면과 관련하여 읽을 때 다음의 상세한 설명으로부터 가장 잘 이해된다. 일반적인 관례에 따르면, 도면의 다양한 특징들/요소들은 축척대로 그려지지 않을 수 있다. 공통적인 참조번호들은 유사한 특징들/요소들을 나타낸다. 다음 그림들이 도면에 포함되어 있다.
도 1은 개시된 시스템의 다양한 예시적인 실시예들에 따른 엔드 포인트 장치 및 게이트웨이 장치를 위한 장치 생활주기 관리 시스템의 그래픽 표현이다.
도 2는 개시된 시스템의 다양한 예시적인 실시예들에 따라 연결된 IP 게이트웨이 장치에 물리적으로 연결된 비-IP 엔드 포인트 장치들을 디스커버리하는 방법을 도시하는 개략도이다.
도 3은 개시된 시스템의 다양한 예시적인 실시예들에 따라 원격 보안 요소를 사용하는 비-IP 엔드 포인트 또는 IP 게이트웨이 장치 가입을 도시하는 개략도이다.
도 4는 개시된 시스템의 다양한 예시적인 실시예들에 따라 로컬 보안 요소 및 인증 기관들을 사용하는 비-IP 엔드 포인트 또는 IP 게이트웨이 장치 가입을 도시하는 개략도이다.
도 5는 개시된 시스템의 다양한 예시적인 실시예들에 따른 로컬 보안 요소, 인증 기관, 정책 서비스 및 장치 관리 서비스를 사용하여 온-보딩을 위한 장치 가입 및 등록 방법을 나타내는 흐름도이다.
도 6은 개시된 시스템의 다양한 예시적인 실시예들에 따른 업데이트 서비스, 업데이트 클라이언트 및 로컬 보안 요소를 사용하는 엔드 포인트 또는 게이트웨이 장치들의 보안 업데이트 방법을 나타내는 흐름도이다.
도 7은 개시된 시스템의 다양한 예시적인 실시예들에 따라 오프-보딩을 위한 장치 탈퇴 및 등록 취소 방법을 나타내는 흐름도이다.
도 8은 개시된 시스템의 다양한 예시적인 실시예들에 따라 복수의 디바이스들의 보안 업데이트를 조정(orchestrating)하기 위해 블록 체인 애플리케이션 및 네트워크 서비스에 대한, 제공자들, 퍼블리셔들 및 여러 종류의 장치들을 포함하는 엔티티 관계 모델을 도시한 개략도이다.
도 9는 개시된 시스템의 다양한 예시적인 실시예들에 따라 복수의 장치들의 보안 업데이트를 조정(orchestrating)하기 위해 블록 체인 애플리케이션 및 네트워크 서비스에 대한, 업데이트 패키지들의 제공자들, 퍼블리셔들 및 소비자들을 포함하는 워크플로우 모델을 도시한 개략도이다.
도 10은 개시된 시스템의 다양한 예시적인 실시예들에 따라 복수의 장치들의 장치 등록을 조정하기 위한 블록 체인 애플리케이션들 및 네트워크 서비스들에 대한, 가입 서비스, 인증 기관 서비스들, 장치 도메인들 및 장치 유형들을 포함하는 엔티티 관계 모델을 도시하는 개략도이다.
도 11은 개시된 시스템의 다양한 예시적인 실시예들에 따라 복수의 장치들의 장치 가입을 조정하기 위한 블록 체인 애플리케이션들 및 네트워크 서비스들에 대한, 가입 서비스, 인증 기관 서비스들, 장치 도메인들 및 장치 유형들을 포함하는 워크플로우 모델을 도시하는 개략도이다.
도 12는 개시된 시스템의 다양한 예시적인 실시예들에 따른 가입 서비스, 업데이트 클라이언트 및 업데이트 서비스의 클라우드 서비스와의 통합을 위한 워크 플로우 모델을 도시한 개략도이다.
도 13은 개시된 시스템의 다양한 예시적인 실시예들에 따라 공격자에 의해 손상된 개인 서명 키들의 남용에 대한 보호 대책 및 다단계 검증 부팅 방법에 의한 프로그램 이미지 검증을 도시하는 개략도이다.
도 14는 데이터 프라이버시 및 보호를 위해 엔티티 식별자들의 정책 기반 익명화 및 트랜잭션 레코드의 컨텐츠의 항목별 필터링을 제공하는 시스템 및 방법을 도시하는 개략도이다.
도 15는 실리콘 제조 플랜트, OEM(Original Equipment Manufacturer), 플랫폼 소유자로부터 블록 체인의 분산된 원장으로서 장치 소유자로 장치의 관리 연속성(chain of custody)을 추적하는 블록선도를 도시하는 개략도이다.
도 16은 실리콘 제조 플랜트, OEM(Original Equipment Manufacturer), 플랫폼 소유자로부터 블록 체인의 분산된 원장으로서 장치 소유자로 장치상의 애플리케이션 신뢰 체인을 추적하는 블록선도를 도시하는 개략도이다.
도 17은 공급 체인을 통해 실리콘 제조 플랜트, OEM(Original Equipment Manufacturer), 플랫폼 소유자로부터 블록 체인의 분산된 원장으로서 장치 소유자로 장치에 대한 변경 관리를 추적하는 블록선도를 도시하는 개략도이다.
도 18은 장치 식별, 디스커버리, 가입 및 등록 방법의 실시예들이 구현될 수 있는 예시적인 컴퓨터 시스템의 도면이다.
본 개시서의 추가의 적용 분야는 이하에 제공되는 상세한 설명으로부터 명백해질 것이다. 예시적인 실시예들의 상세한 설명은 단지 예시를 위한 것이며, 따라서 본 개시서의 범위를 제한하도록 의도된 것이 아님을 이해해야 한다.
본 개시서가 특정 실시예들을 참조하여 예시되고 설명되었지만, 본 개시서는 여기에 도시된 세부 사항으로 제한되도록 의도되지 않는다. 오히려, 청구범위의 등가 범위 내에서 그리고 본 개시서의 범위를 벗어나지 않으면서 세부적으로 다양한 수정이 이루어질 수 있다.
인증 기관(CA), 예를 들어 상업용 CA는 인증서들(예를 들어, X.509 표준에 기초한 인증서)을 발행하는 인증서 서비스 제공자를 지칭한다. 프라이버시 CA는 (예를 들어, TCG(Trusted Computing Group) 사양을 기반으로 하는 TPM(Trusted Platform Module), PUF(Physally Unclonable Function) 생성 장치 고유 식별자와 같은 장치 인증 아티팩트, 또는 제조업체에서 발행한 보증 키를 기반으로 하는 장치 인증을 위한 네트워크 또는 클라우드 기반의 HSM(Hardware Security Module)와 같은) 보안 요소들에 의해 지원되는 아이덴티티 증명 방법들에 참여하는 인증서 서비스 공급자를 지칭한다.
장치 고유 식별자는 불변의 정적 식별자이거나 장치의 PUF 엔진을 사용하여 전원을 켤 때 동적으로 재생성될 수 있다. 레거시 장치들에서, 디지털 지문은 프로그래밍 방식으로 판독 가능한 장치 일련 번호, 부트 ROM에 있는 개인 키의 OTP(One Time Programmable) 해시 또는 하드웨어 레지스터(들) 기반 고유 디지털 값들과 같은 장치 특성들 및 속성들에 기반한 암호화 서명으로 구성될 수 있다.
개시된 시스템의 예시적인 실시예에서, 장치 관리 서비스를 통한 게이트웨이 가입은 게이트웨이 고유 식별자를 사용하여 수행될 수 있으며, 보안 요소의 보증 인증서는 게이트웨이 인증서 요청을 디지털 서명하는데 사용될 수 있다. 발급된 게이트웨이 인증서는 이후 장치 고유 식별자를 사용하여 연결된 장치에 대한 인증서 요청에 디지털 서명하는데 사용될 수 있다.
개시된 시스템의 또 다른 예시적인 실시예에서, 발행된 게이트웨이 인증서는 고유 식별자로서 애플리케이션 또는 서비스 원칙 이름을 사용하여 게이트웨이에 설치되고 실행되는 애플리케이션 또는 서비스에 대한 인증서 요청에 디지털 서명하는데 사용될 수 있다.
도 1 및 도 2를 참조하면, 파워-온시에 그리고 옵션으로 구성된 주기적 간격에서 비-IP 엔드 포인트 장치(101)상의 디스커버리 에이전트(109)는 통신 인터페이스(100)를 통해 아이덴티티 비콘(110)을, 연결된 IP 게이트웨이 장치(102)의 디스커버리 서비스(111)에 전송한다. 통신 인터페이스(100)는 직렬, 병렬, 버스, USB 인터페이스 등일 수 있다. 단계 126에서, 디스커버리 서비스(111)는 게이트웨이 장치(102)상의 적절한 인터페이스 드라이버를 통해 아이덴티티 비콘(110)을 수신한다. 단계 112에서, 디스커버리 서비스(111)는 적어도 엔드 포인트 장치 식별자(231)를 포함하는 장치 프로파일(232) 및 아이덴티티 비콘(110)의 무결성을 검증하기 위해 장치 인증 및 프로파일링(113)을 수행한다. 단계 115에서, 디스커버리 서비스는 적어도 게이트웨이 식별자(115), 게이트웨이 장치의 유형, 제조사 및 모델을 포함하는 게이트웨이 프로파일(114)로부터 게이트웨이 장치(102)에 대한 불변의 식별자를 검색한다. 단계 116에서, 디스커버리 서비스(111)는 적어도 엔드 포인트 장치 프로파일(232) 및 게이트웨이 장치 프로파일(114)을 포함하는 엔드 포인트 장치(101)에 대한 인증서 요청(116)을 구축하고 가입 서비스(103)에 전송한다. 단계 117에서, 가입 서비스(103)는 확장된 속성들로서 엔드 포인트 장치 프로파일(232) 및 연결된 게이트웨이 프로파일(114)을 이용하여 엔드 포인트 장치(101)에 대해 인증 기관에 의해 발행된 인증서로 응답한다. 단계 118에서, 연결된 엔드 포인트 장치(101)에 대해 발행된 인증서는 로컬 인증서 저장소(127)에 저장된다.
도 1을 참조하면, 단계 119에서, 비-IP 엔드 포인트 장치(101)는 연결된 IP 게이트웨이 장치(102) 상의 통신 인터페이스(100)를 통해 연결된 서비스(106)와의 데이터 교환을 개시한다. 단계 120에서, 장치 데이터(120)는 엔드 포인트 장치(101)와 연결된 서비스(106) 사이에서 데이터 교환을 전달하기 위해 프록시 서비스로서 작용하는 클라이언트 애플리케이션(121)에 의해 수신된다. 단계 122에서, 연결된 엔드 포인트 장치(101)와 관련된 인증서는 로컬 인증서 저장소(127)로부터 클라이언트 애플리케이션(121)에 의해 검색된다. 검색된 인증서는 연결된 서비스(106)와의 보안 통신을 확립하기 위해 상호 인증을 위해 단계 123에서, 또는 보안 업데이트를 위해 업데이트 서비스(107)로부터 업데이트 패키지를 요청하기 위해 단계 124에서 사용될 수 있다.
도 1 및 도 2를 참조하면, 단계 124에서, 게이트웨이 장치(102)상의 업데이트 클라이언트(108)는 구성된 업데이트 서비스(107)로부터 업데이트 패키지를 요청한다. 업데이트 패키지 요청은 연결된 엔드 포인트 장치(101) 또는 게이트웨이 장치(102)에 대한 장치 인증서, 그리고 장치의 식별자, 유형, 제조사 및 모델을 적어도 포함하는 관련 장치 프로파일(114, 232)을 포함한다.
도 1을 참조하면, 단계 125에서, 장치 관리 서비스(105)는 게이트웨이 장치(102)에게 연결된 비-IP 엔드 포인트 장치들에 발행된 인증서를 문의한다.
도 1 및 도 2를 참조하면, 단계 128에서, 가입 서비스(103)는 엔드 포인트 장치 등록의 통지를 정책 서비스(104)에 전송한다. 단계 129에서, 정책 서비스(104)는 장치 관리 서비스(105)에 엔드 포인트 장치(101)를 추가하라는 지시문을 전송한다. 단계 130에서, 가입 서비스(103)는 엔드 포인트 장치(101)에 대한 인증서 요청을 인증 기관(406)에 전송하고; 프라이버시 인증 기관을 나타내도록 (인증 기관(406)으로부터 가입 서비스(103)에 의해 수신된) 수신된 인증서를 번역하기 위해 엔드 포인트 장치(101)에 대해 수신된 인증서를 처리하고; 그리고 엔드 포인트 장치(101)에 대한 인증서를 디스커버리 서비스(111)로 전송한다. 보안 요소(235)(예를 들어, TPM 등)는, 예를 들어 대응하는 개인 키를 사용하여서만 해독될 수 있는 보안 요소(235)의 공개 키를 사용함으로써, 발행된 인증서를 암호화하기 위해 프라이버시 CA에 의해 이용되어야 하는 아이덴티티(즉, 비밀)의 강화된 소유 증명을 지원할 수 있다. 다른 방법들은 키 유도 함수 및 보호된 시드를 사용하여 생성된 대칭 키를 사용하는 것을 포함할 수 있다. 따라서, 엔드 포인트 장치(101)상의 보안 요소(235)가 실제로 비밀을 소유하지 않는 한, 인증서는 보안 요소(235)에 의해 해독될 수 없다. 상업용 CA(406)는 이러한 메커니즘을 지원하지 않을 수 있다. 따라서, 디스커버리 서비스(111)와 상업용 CA(406) 사이의 프록시 서비스로서 역할을 하기 위해 가입 서비스(103)에서 번역이 수행될 수 있다. 상업용 CA(406)는 인증서를 발급하고 가입 서비스(103)는 강화된 아이덴티티 소유 증명을 지원하기 위해 암호화된 발급된 인증서를 포함하는 내용으로 응답 메시지를 준비한다.
도 2를 참조하면, 단계 202에서, 서명 사양(233)에 기초하여, 이미지 서명자(201)는 서명된 프로그램 이미지(203)를 생성하기 위해 프로그램 이미지(250)를 디지털 서명하기 위해 공개-비공개 비대칭 키 쌍을 생성한다. 단계 204에서, 생성된 키 쌍과 관련된 공개 키는 다단계 검증 부트 로더(240)에 포함된다. 엔드 포인트 장치(101)의 전원을 켤 때, 블록(205)에서, 제1 스테이지 부트 로더는 제어를 실행하고 다음 스테이지 다단계 검증 부트 로더(240)로 제어를 전달한다. 단계 209에서, 다단계 검증 부트 로더(240)는 장치 프로파일러(210)를 호출한다. 단계 211에서, 엔드 포인트 장치 식별자는 예를 들어 데이터 버스상의 엔드 포인트 주소 또는 엔드 포인트 장치(101)상의 비-휘발성 저장소의 1회 프로그램 가능 일련 번호와 같은 엔드 포인트 장치(101)상의 다수의 표시자들에 기초하여 장치 프로파일러(210)에 의해 생성된다. 단계 212에서, 엔드 포인트 장치(101)의 식별자, 유형, 제조사 및 모델을 적어도 포함하는 장치 프로파일(232)은 프로파일 송신 기능(213)에 의해 비대칭 키 쌍의 공개 키(214)를 사용하여 서명된다. 단계 216에서, 서명된 장치 프로파일(232)은 예를 들어 직렬 RS-232, RS-485, RS-422, CAN 버스, Modbus, HART, GPIO, USB(범용 직렬 버스) 인터페이스 등과 같은 통신 링크를 통해 연결된 게이트웨이 IP 장치(102)에게 통신 인터페이스(100)를 통해 전송된다.
도 2를 참조하면, 단계(206)에서, 이미지 검증기(207)는 다단계 검증 부트 로더(240)에 의해 실행된다. 단계 208에서, 이미지 검증기(207)는 서명된 프로그램 이미지(203)의 디지털 서명을 재생성 및 검증한다. 성공적인 검증에 기초하여, 서명된 프로그램 이미지가 메모리에 로드되어 실행된다.
도 2 및 도 1을 참조하면, 단계 217에서, 서명된 장치 프로파일(232)은 게이트웨이 장치(102)상의 물리적 인터페이스(200)를 통해 아이덴티티 비콘(110)으로서 수신된다. 단계 219에서, 장치 프로파일(232)은 프로파일 수신 기능(218)에 의해 처리된다. 단계 220에서, 디스커버리 서비스(111)는 연관된 개인 키(222)를 사용하여 서명된 장치 프로파일(232)의 무결성을 검증하기 위해 프로파일 검증 기능(221)을 사용한다. 디스커버리 서비스(111)는 물리적 통신 인터페이스(200)에 연결된 엔드 포인트 장치(101)에 대한 장치 프로파일(232)을 연관시킨다.
개시된 시스템의 예시적인 일 실시예에서, 도 2를 참조하면, 단계 234에서, 이미지 서명자(201)는 예를 들어 신뢰 플랫폼 모듈(TPM), 네트워크 하드웨어 보안 모듈(HSM), 클라우드 HSM 등과 같은 보안 요소(235)를 사용하여 서명 키 쌍을 생성하며, 여기서, 개인 서명 키는 보안 요소(235) 내에서 보호된다.
개시된 시스템의 일 예시적인 실시예에서, 다-단계 검증된 부트 로더(240)는 다수의 공개 키들을 사용할 수 있고, 그리고 이미지 서명자(201)는 서명된 프로그램 이미지에 대한 서명 사양(233)을 사용하여 다수의 디지털 서명들을 생성하기 위해 다수의 동등한 서명 키들을 사용할 수 있다. 이 방법은 다수의 서명 키들이 손상되도록 요구함으로써 분실 및/또는 도난된 개인키들로부터 엔드 포인트 장치(101)(또는 게이트웨이 장치(102))를 보호하여, 신속한 완화를 위한 대책을 제공한다. 다중 서명 키들의 사용은 손상된 서명 키를 사용하여 서명된 서명된 프로그램 이미지(203)의 인-필드 업데이트(in-field update)에 대한 강화된 보호를 위한 논리적인 'AND' 연산으로서, 또는 미션 크리티컬 시스템들의 리던던시 및 고 가용성을 위한 논리적인 'OR'연산으로서 구현될 수 있다. 공개 키들의 인증서 기반 유효성 검사가 없는 경우, 다수 키 쌍들에 대한 논리적 'AND' 및 'OR' 작업들은 손상된 키들에 기초한 검증을 차단하는 효과적인 대책을 제공한다. 발행된 PKI 공개 키의 손상은 예를 들어 ROCA(Return of the Coppersmith Attack)로서 설명된 공개된 취약점과 같은 기술들을 사용하여 설계될 수 있다.
개시된 시스템의 또 다른 예시적인 실시예에서, 다-단계 검증 부트(240)에 대한 서명 사양(233)은 고유성을 위해 각 키 쌍마다 상이한 서명 사양들의 사용, 그리고 느슨한 배치 순서를 갖는 서명된 프로그램 이미지(203)에 존재하는 디지털 서명들 중 적어도 2개의 검증만을 요구할 수 있다. 이 방법은 서명된 프로그램 이미지(203)의 퍼블리셔가, 다-단계 검증된 부트 로더(240)에 내장된 손상된 공개 키가 교체(즉, 키 갱신)될 때까지 장치에서 손상된 공개 키를 사용하지 않고 장치를 업데이트할 수 있게 한다.
개시된 시스템의 또 다른 예시적인 실시예에서, 다-단계 검증 부트 로더(240)에 대한 서명 사양(233)은 단지 하나의 손상된 공개-개인 키 쌍을 이용한 잠재적 남용으로부터 보호하기 위해, 고유성을 위해 각 키 쌍에 대한 서로 다른 서명 사양의 사용 그리고 다단계 검증 부트 로더(240)에서 공개 키들의 엄격한 배치 순서와 일치하도록 서명된 프로그램 이미지(203)에 대한 순서화된 디지털 서명 목록을 요구할 수 있다. 손상된 서명 키를 사용하여 서명된 프로그램 이미지(203) 업데이트를 가장하는 것은 서명 사양(233)에 의한 엄격한 배치 순서 및 논리적인 "AND" 연산을 사용해야 하는 그러한 대책에 의해 보호된다.
블록(203)에서 검증될 서명된 프로그램 이미지(250)는 장치상의 제1 단계 부트 로더, 다음 단계(예를 들어, 제2 단계 등) 부트 로더 또는 운영 체제(OS) 로더일 수 있다. 블록(205)에서의 다단계 검증 부트 로더(240)는 부트 시퀀스의 임의의 단계에서, 이르면 OS를 검증하고 로드할 수 있는 장치상의 부트 ROM에서 시작하여, 주입될 수 있다. 다단계 검증 부트 로더(240)는 후속 단계 부트 로더들에 대한 수정없이 다수의 후속 스테이지 부트 로더들, 이미지들, 구성 및 데이터 파일들을 포워딩 검증하기 위해 부트 시퀀스(또는 체인)에 주입될 수 있다.
도 3, 도 1 및 도 2를 참조하면, 단계 301에서, 게이트웨이 장치(102)상의 디스커버리 서비스(111)는 보안 전송을 통해 엔드 포인트 장치(101)를 위한 가입 요청을 전송하며, 가입 서비스(103) 단방향 인증서 검증은 가입 서비스에 대한 엔드 포인트 장치 프로파일(232) 및 게이트웨이 장치 프로파일(114)을 포함한다. 단계 304에서, 가입 서비스(103)는 게이트웨이 장치(102) 및 엔드 포인트 장치(101) 인증, 그리고 구성된 오케스트레이션 규칙들(305)에 기초한 가입 요청 검증을 수행한다. 장치 인증은 X.509 인증서들 또는 JWT 기반 방법들을 사용하여 수행될 수 있다. 단계 306에서, 가입 서비스(103)는 원격 보안 요소(307)를 사용하여 PKI 공개-개인 키 쌍을 생성한다. 단계 308에서, 엔드 포인트 장치(101)와 관련된 생성된 공개 키는 보안 전송을 통해 디스커버리 서비스(111)로 전송된다. 엔드 포인트 장치(101)와 관련된 개인 키는 원격 보안 요소(307) 내에 안전하게 저장된다. 단계 312에서, 엔드 포인트 장치(101)와 연관된 공개 키는 엔드 포인트 장치(101)에 의한 암호화 또는 서명을 위해 또는 단계 123에서 엔드 포인트 장치(101)의 보안 업데이트를 위해 로컬 키 저장소(313)에 저장된다.
개시된 시스템의 하나의 예시적인 실시예에서, 네트워크 또는 클라우드 기반 HSM은 원격 보안 요소(307)로서 구성될 수 있다.
개시된 시스템의 다른 예시적인 실시예에서, 단계 309에서, 장치 가입의 트랜잭션 레코드은 가입 서비스(103)에 의해 데이터베이스 기능(311)을 포함하는 로추가될 수 있다. 단계 314에서, 로컬 원장(310)은 블록 체인에서 애플리케이션들과의 통합을 위한 장치 가입 트랜잭션의 블록을 나타내는 이벤트(315)를 발생시킨다.
개시된 시스템의 또 다른 예시적인 실시예에서, 단계 301에서 가입 요청은 게이트웨이 장치(102)에 대한 것일 수 있다. 단계 312에서, 게이트웨이 장치(102)와 연관된 공개 키는 게이트웨이 장치(102)에 의한 암호화 또는 서명을 위해 또는 게이트웨이 장치(102)의 보안 업데이트를 위해 로컬 키 저장소(313)에 저장된다.
도 4, 도 1, 도 2 및 도 3을 참조하면, 단계 402에서, 디스커버리 서비스(111)는 키 쌍의 개인 키를 보호하기 위해 로컬 보안 요소(401)를 사용하여 PKI 비대칭 키 쌍을 생성한다. 단계 403에서, 디스커버리 서비스(111)는 엔드 포인트 장치 프로파일(232) 및 게이트웨이 장치 프로파일(114)을 포함하는 장치에 대한 인증서 서명 요청(certificate signing request; CSR)을 전송한다. CSR은 보증 공개 키를 사용하여 인증 기관(406)에 의해 암호화된 인증서를 해독하기 위해 개인 키의 소유의 증거로서 로컬 보안 요소(401)의 보증 공개 키 또는 인증서를 포함할 수 있다. 단계 404에서, 가입 서비스(103)는 게이트웨이 장치(102) 및 엔드 포인트 장치(101) 인증, 그리고 구성된 오케스트레이션 규칙들(305)에 기초한 가입 요청 검증을 수행한다. 단계 405에서, 가입 서비스(103)는 구성된 커넥터 속성들(예를 들어, 비용, 인증서 유형, 인증서 제공자 등)에 기초하여, 복수의 인증 기관(406) 중 하나에 장치에 대한 인증서를 요청하기 위해 커넥터를 사용한다. 단계 407에서, 인증 기관(CA)이 발행한 엔드 포인트 장치 인증서(확장된 속성들로서 적어도 엔드 포인트 장치 프로파일(232) 및 연결된 게이트웨이 장치 프로파일(114)를 포함할 수 있음)는 가입 서비스(103)로부터 게이트웨이 장치(102)의 디스커버리 서비스(111)로 전송된다. 단계 409에서, 디스커버리 서비스(111)는 수신된 엔드 포인트 장치 인증서를 로컬 인증서 저장소(127)에 저장하여, (단계 123에서) 안전한 데이터 전송을 제공하고 (단계 124에서) 엔드 포인트 장치(101)에 대한 업데이트 패키지를 요청한다.
개시된 시스템의 다른 예시적인 실시예에서, 단계 408에서, 장치 가입의 트랜잭션 레코드는 가입 서비스(103)에 의해 데이터베이스 기능을 수행하는 데이터베이스(311)를 포함하는 로컬 원장(310)에 추가될 수 있다. 단계 410에서, 원장(310)은 블록 체인에서 애플리케이션들과의 통합을 위한 장치 가입 및 등록 트랜잭션들의 블록을 나타내는 이벤트(411)를 발생시킨다.
도 5 및 도 1을 참조하면, 단계 501에서, 가입 서비스(103)는 정책 서비스(104)에게, 적어도 엔드 포인트 장치 프로파일(232) 및 발행된 엔드 포인트 장치 인증서와 함께, API를 통해 장치 가입의 통지를 전송하거나 메시지 버스 인터페이스를 통해 발행한다. 단계 502에서, 정책 서비스(104)는 API를 통해 장치를 장치 관리 서비스(105)에 추가하거나 메시지 버스 인터페이스를 통해 발행한다.
도 6, 도 1, 도 3 및 도 4를 참조하면, 업데이트 제공자(601)는 개발 시스템(604) 및 릴리스 관리 시스템(608)을 포함하고; 업데이트 퍼블리셔(602)는 업데이트 서비스(107), 로컬 원장(625), 오케스트레이션 규칙들(624) 및 이벤트(623)를 포함하고; 엔드 포인트 장치(101) 또는 게이트웨이 장치(102)는 업데이트 클라이언트(603) 및 로컬 보안 요소(401)를 포함한다. 단계 605에서, 개발 시스템(604)의 개발자는 패키지 요소들(606)로부터 업데이트 스크립트 및 (예를 들어 펌웨어 업데이트, 소프트웨어 업데이트, 구성 업데이트, 운영 체제 패치들/업데이트들, 장치 정책들 등과 같은) 복수의 컴포넌트 업데이트들을 포함하는 서명되지 않은 업데이트 패키지(607)를 구축한다. 단계 607에서, 서명되지 않은 업데이트 패키지는 릴리스 관리 시스템(608)에서 릴리스 관리자에 의해 처리되고 로컬 레지스트리(예를 들어, 데이터베이스 등)에 저장된다. 릴리스 관리 시스템(608)은 서명되고 암호화된 업데이트 패키지를 구축하는데, 서명은 제공자 서명 키(609)를 사용하여 수행되고 암호화는 퍼블리셔 인증서(610)를 사용하여 수행된다. 단계 611에서, 업데이트 퍼블리셔(602)의 업데이트 서비스(107)는 업데이트 퍼블리셔(602)의 공개 키를 사용하여 암호화된, 서명되고 암호화된 업데이트 패키지를 획득하고, 이를 로컬 레지스트리(예를 들어, 데이터베이스 등)에 저장한다. 업데이트 제공자(601)는 복수의 업데이트 퍼블리셔들(602)을 위해 서명되고 암호화된 패키지들을 구축하도록 구성될 수 있다. 단계 612에서, 업데이트 서비스(107)는 프로비저닝된 오케스트레이션 규칙들(624)을 사용하여, (예를 들어 장치 유형, 제조사, 모델, 벤더 식별자들 등과 같은) 복수의 장치 속성들에 의해 지정된 장치 클래스들로 업데이트 패키지를 구성한다. 단계 616에서, 게이트웨이 장치(102)의 업데이트 클라이언트(603)는 스스로 또는 연결된 엔드 포인트 장치(101)를 대신하여 업데이트 패키지에 대한 요청을 업데이트 서비스(107)에 전송한다. 요청은 적어도 확장된 속성들로서 장치 프로파일(예를 들어, 엔드 포인트 장치 프로파일(232) 또는 연결된 게이트웨이 장치 프로파일(114))을 갖는 장치 인증서(즉, 엔드 포인트 장치(101) 또는 게이트웨이 장치(102)의 암호화 인증서)를 포함한다. 장치 요청은 또한 장치 서명 키를 사용하여 디지털 서명된(즉, 디지털 서명을 검증하기 위해 업데이트 서비스에 대한 장치 요청에 포함된 장치 서명 인증서와 관련된) 장치 매니페스트를 포함할 수 있으며, 여기서 장치 매니페스트는 업데이트 서비스와의 이전 (히스토리적) 상호 작용을 기반으로 한 현재 설치된 업데이트 패키지들의 리스트이다. 이 단계는 잠재적인 MITM(Man-In-The-Middle) 공격들, 합법적인 업데이트 패키지들을 장치에 배포하는 것을 차단하는 가장 공격(impersonation attact), 그리고/또는 취약점을 악용하는 리버스 엔지니어링을 위한 업데이트 패키지의 인터셉트를 방지한다. 단계 619에서, 요청된 업데이트 패키지는 수신된 장치 인증서를 사용하여 재-암호화되고 업데이트 서비스(107)에 의해 퍼블리셔 서명 키(618)를 사용하여 재서명된다.
개시된 시스템의 다른 예시적인 실시예에서, 단계 620에서, 적어도 서명되고 암호화된 장치 요청 로그를 포함하는 장치 업데이트에 대한 트랜잭션 레코드가 생성되고, 데이터베이스 기능(311)을 포함하는 로컬 원장(310)에 저장된다. 단계 617에서, 로컬 원장(625)은 블록 체인에서 애플리케이션들과의 통합을 위한 장치 업데이트 트랜잭션의 블록을 나타내는 이벤트(623)를 발생시킨다. 단계 621에서, 업데이트 클라이언트(603)는 먼저 제공자 인증서(615)로부터의 공개 키 및 퍼블리셔 인증서(614)로부터의 공개 키를 사용하여 수신된 업데이트 패키지의 무결성을 검증한다. 단계 622에서, 업데이트 클라이언트(603)는 엔드 포인트 장치(101)(또는 자체 업데이트를 위한 게이트웨이 장치(102))의 개인 키 및 로컬 보안 요소(401)를 사용하여 수신된 업데이트 패키지를 해독한다.
개시된 시스템의 하나의 예시적인 실시예에서, 복수의 장치들은 장치 인증서 및 관련 개인 키를 공유하도록 구성될 수 있다. 업데이트 서비스(107)는, 이러한 구성에서, 다수의 장치들에 대한 업데이트의 성능 최적화 및 확장성을 위해 장치 인증서의 해시를 사용하여 단계 619에서 생성된 업데이트 패키지를 캐시할 수 있다.
도 7, 도 1, 도 3 및 도 4를 참조하면, 관리 대시 보드(701)의 관리자(700)는 등록 및 가입된 엔드 포인트 장치(101) 또는 게이트웨이 장치(102)의 등록 취소 및 탈퇴를 위한 동작을 수행한다. 단계 702에서, 관리 대시 보드(701)는 장치 인증서에 대한 인증서 해지 요청을 가입 서비스(103)에 전송한다. 단계 703에서, 가입 서비스(103)는 구성된 오케스트레이션 규칙들(305)에 기초하여 관리자 인증 및 해지 요청 검증을 수행한다. 단계 704에서, 가입 서비스(103)는 커넥터를 통해 인증서 해지 요청을 발행 인증 기관(406)으로 전송한다. 단계 706에서, 가입 서비스(103)는 정책 서비스(104)에 메시지 버스 인터페이스를 통한 게시 또는 API를 통해 장치 탈퇴의 통지를 전송한다. 단계 707에서, 정책 서비스(104)는 메시지 버스 인터페이스를 통한 발행 또는 API를 통해 장치 관리 서비스(105)에서 장치를 제거한다.
개시된 시스템의 다른 예시적인 실시예에서, 단계 705에서, 장치 탈퇴의 트랜잭션 레코드는 가입 서비스(103)에 의해 데이터베이스 기능(311)을 포함하는 로컬 원장(310)에 추가될 수 있다. 단계 708에서, 원장(310)은 블록 체인에서 애플리케이션들과의 통합을 위한 장치 탈퇴 및 등록 취소 트랜잭션들의 블록을 나타내는 이벤트(709)를 발생시킨다.
도 8을 참조하면, 엔드 포인트 장치(101) 또는 게이트웨이 장치(102)에서 보안 장치 업데이트를 조정하기 위한 엔티티들 및 엔티티 관계가 도시되어 있다. 임의의 두 엔티티 사이의 커넥터(800)는 일대다 관계를 나타낸다. (아래의) 표 1은 엔티티 오브젝트 및 속성을 설명한다.
오브젝트 속성들 유형
장치 카테고리
카테고리 식별자 Integer
카테고리 이름 VARCHAR
생성 타임스탬프 DATETIME
장치 유형 속성
식별자 Integer
장치 유형 식별자 Integer
장치 속성 식별자 Integer
장치 속성
장치 속성 식별자 Integer
장치 공급 업체 식별자 Integer
장치 모델 VARCHAR
장치 특성
장치 특성 식별자 Integer
장치 식별자 Integer
장치 속성 식별자 Integer
장치 속성 값 VARCHAR
장치 공급 업체
공급 업체 식별자 Integer
공급 업체 이름 VARCHAR
장치 유형
장치 유형 식별자 Integer
장치 카테고리 Integer
생성 타임스탬프 DATETIME
장치 유형 패키지
식별자 Integer
장치 유형 식별자 Integer
패키지 식별자 Integer
퍼블리셔
퍼블리셔 식별자 Integer
퍼블리셔 이름 VARCHAR
퍼블리셔 패키지
퍼블리켜 패키지 식별자 Integer
패키지 버전 VARCHAR
사용되지 않는 패키지 Integer
패키지 유형 Integer
패키지 카테고리 Integer
패키지 파일 BLOB
패키지 상태 Integer
퍼블리셔 서명 인증서 식별자 Integer
퍼블리셔 서명 VARCHAR
퍼블리셔 암호화 키 별칭 VARCHAR
생성 타임스탬프 DATETIME
퍼블리셔 식별자 Integer
제공자 패키지 식별자 Integer
제공자
제공자 식별자 Integer
제공자 이름 VARCHAR
제공자 패키지
제공자 패키지 식별자 Integer
패키지 유형 Integer
제공자 식별자 Integer
패키지 바이너리 BLOB
패키지 상태 Integer
생성 타임스탬프 DATETIME
제공자 인증서 식별자 Integer
제공자 서명 VARCHAR
퍼블리셔 암호화 키 별칭 VARCHAR
패키지 아카이브
패키지 아카이브 식별자 Integer
패키지 아카이브 타임스탬프 TIMESTAMP
생성 타임스탬프 DATETIME
서명된 암호화된 요청 BLOB
퍼블리셔가 서명하고 암호화한 데이터 요청 장치 식별자
요청 카운터
요청 동작 데이터
요청 타임스탬프
요청 논스(nonce)
장치 요청 서명
장치 요청 로그
로그 인덱스 Integer
장치 식별자 Integer
장치 동작 VARCHAR
패키지 식별자 Integer
요청 BLOB
서명된 암호화된 요청 BLOB
생성 타임스탬프 DATETIME
요청 해시 VARCHAR
장치 서명 BLOB
장치 인증서 식별자 Integer
퍼블리셔 서명 BLOB
퍼블리셔 인증서 식별자 Integer
도 9, 도 8 및 도 6을 참조하면, 엔드 포인트 장치(101) 또는 게이트웨이 장치(102)에서 보안 업데이트를 조정하기 위한 워크플로우가 도시되어 있다. 단계 902에서, 제공자(903)의 개발자(901)는 업데이트 패키지를 구축한다. 단계 904에서, 제공자(903)의 릴리스 관리자는 제공자 개인 키를 사용하여 업데이트 패키지에 서명하고, 그리고 퍼블리셔 공개 키를 사용하여 업데이트 패키지를 암호화하여 제공자 패키지(833)를 구축한다. 단계 912에서, 퍼블리셔(913)에 의해 운영되는 업데이트 서비스(911)의 관리자는 제공자 패키지(833)를 승인한다. 단계 915에서, 관리자는 장치 유형(923)을 정의하고, 단계 922에서 장치(921)가 장치 유형(923)에 속하도록 프로비저닝한다. 단계 916에서, 관리자는 제공자 패키지를 해독하고, 퍼블리셔 개인 키를 사용하여 업데이트 패키지를 재서명하고(단계 904에서 제공자에 의한 최초 서명 유지), 보안 저장을 위해 퍼블리셔 공개 키를 사용하여 업데이트 패키지를 다시 암호화한다. 제공자에 의한 보존된 최초 서명은 공급 체인 워크 플로우에서 변조 방지를 제공한다. 단계 918에서, 업데이트 서비스(911)의 관리자는 퍼블리셔 업데이트 패키지(917)를 장치 유형(923)에 연관시킨다. 단계 924에서, 장치(921)는 업데이트 서비스(911)에 대한 퍼블리셔 업데이트 패키지(917)를 위해, 장치 인증서를 포함하는 서명된 요청을 전송한다. 단계 925에서, 업데이트 서비스(911)는 퍼블리셔 개인 키를 사용하여 퍼블리셔 업데이트 패키지를 해독하고, 그리고 수신된 장치 인증서로부터 추출된 장치 공개 키를 사용하여 업데이트 패키지를 다시 암호화한다. 단계 926에서, 업데이트 서비스(911)는 로컬 원장(625)에서 장치 요청 저장소(927)를 위해, 적어도 서명되고 암호화된 장치 요청 로그를 포함하는 트랜잭션 레코드을 생성한다.
도 10을 참조하면, 엔드 포인트 장치(101) 또는 게이트웨이 장치(102)의 가입을 조정하기 위한 엔티티들 및 엔티티 관계가 도시되어 있다. 임의의 두 엔티티 사이의 커넥터(800)는 일대다 관계를 나타낸다. (아래의) 표 2는 엔티티 오브젝트 및 속성을 설명한다.
오브젝트 속성들 유형
장치 도메인
도메인 식별자 Integer
도메인 이름 VARCHAR
도메인 설명 VARCHAR
도메인 소유자 정보 VARCHAR
도메인 요청 URI VARCHAR
도메인 발행된 URI VARCHAR
생성 타임 스탬트 DATETIME
도메인 장치 유??
장치 유형 식별자 Integer
도메인 식별자 Integer
도메인 장치 가입 원장
엔트리 식별자 Integer
장치 UUID VARCHAR
장치 도메인 식별자 Integer
가입 레코드 BLOB
암호화된 가입 레코드 BLOB
생성 타임 스탬프 DATETIME
장치 유형 식별자 Integer
가입 서버 인증서 식별자 Integer
도메인 서버 인증서 식별자 Integer
발행된 인증서 식별자 Integer
암호화된 가입 레코드
장치 UUID VARCHAR
인증서 서명 요청 BLOB
가입 서버 식별자 Integer
가입 서버 서명 BLOB
발행된 인증서 BLOB
도메인 서명 BLOB
가입 서비스
가입 서버 식별자 Integer
가입 서비스 인증 기관
서버 인증 기관 식별자 Integer
가입 서버 식별자 Integer
인증 기관 서버 식별자 Integer
인증 기관 서비스
인증 기관 서버 식별자 integer
가입 서비스 요청 레코드
요청 레코드 식별자 Integer
생성 타임 스탬프 DATETIME
가입 서비스 발행된 레코드
발행된 레코드 식별자 Integer
요청 레코드 식별자 Integer
생성 타임 스탬프 DATETIME
도 11을 참조하면, 가입된 장치상의 애플리케이션, 게이트웨이 장치(102) 또는 엔드 포인트 장치(1101)의 가입을 조정하는 워크 플로우가 도시되어 있다. 단계 1102에서, 장치(1101)는 고유한 장치 식별자를 포함하는 가입 요청을 가입 서비스(1103)에 전송한다. 단계 1104에서, 가입 서비스(1103)는 장치 인증을 수행하고 옵션으로 인증 기관과 연관된 도메인 서버(1105)와 가입 요청을 검증할 수 있다. 단계 1106에서, 가입 서비스는 메시지 버스 인터페이스를 통한 발행 또는 API를 통해 장치 가입 요청을 인증 기관 서비스(1107)에 전송한다. 단계 1108에서, 인증 기관 서비스(1107)는 장치 인증서(1109)를 생성하고, 단계 1110에서, 장치 인증서(1109)는 가입 서비스(1103)에 의해 장치(1101)에 발행된다.
개시된 시스템의 일 예시적인 실시예에서, 단계 1112에서, 장치(1101)상의 애플리케이션(1111)은 애플리케이션(또는 서비스) 원칙 이름에 기초한 고유 식별자를 포함하는 가입 요청을 가입 서비스(1103)에 전송한다. 단계 1116에서, 가입 서비스(1103)는 가입 도메인과 연관된 도메인 서버(1105)와 애플리케이션 인증을 수행한다. 단계 1106에서, 가입 서비스는 메시지 버스 인터페이스를 통한 발행 또는 API를 통해 애플리케이션 가입 요청을 인증 기관 서비스(1107)에 전송한다. 단계 1113에서, 인증 기관 서비스(1107)는 애플리케이션 인증서(1114)를 생성하고, 단계 1115에서, 애플리케이션 인증서(1114)는 가입 서비스(1103)에 의해 애플리케이션(1111)에 발행된다.
도 12 및 도 1을 참조하면, 가입 서비스(103) 및 업데이트 서비스(107)를 클라우드 서비스(1202)와 각각 통합함으로써 엔드 포인트 장치(101) 또는 게이트웨이 장치(102)상의 장치 가입 및 보안 업데이트 동작들을 통합하는 워크 플로우가 도시되어 있다. 클라우드 서비스 제공자는 퍼블릭, 프라이빗 또는 커뮤니티 클라우드 운영자일 수 있으며, 서비스는 SaaS(Software-as-a-Service) 또는 PaaS(Platform-as-a-Service) 솔루션으로 제공될 수 있다. IoT 장치들은 가입 및 업데이트 서비스들을 위해 클라우드 서비스(1202)에 직접 등록할 수 있다. 클라우드 서비스(1202)는 제3자 가입 및 업데이트 서비스들을 위한 API 기반 커넥터들을 제공할 수 있다.
개시된 시스템의 예시적인 일 실시예에서, 도 12 및 도 1을 참조하면, 단계 1203에서, 가입 서비스(103)는 클라우드 연결 장치를 온보딩(또는 오프보딩)하기 위해 클라우드 서비스(1202)에 등록(또는 등록 취소) 장치 통지를 전송한다. 단계 102에서, 가입 서비스(103)는 정책 서비스(104)에 통지하고, 단계 1205에서, 정책 서비스는 메시지 버스 인터페이스를 통한 발행 또는 API를 통해 장치 관리 서비스(105)에 장치를 추가 또는 제거한다.
개시된 시스템의 또 다른 예시적인 실시예에서, 도 12, 도 6 및 도 1을 참조하면, 단계 1206에서, 엔드 포인트 장치(101) 또는 게이트웨이 장치(102)의 업데이트 클라이언트(603)는 적어도 장치 인증서를 포함하는 업데이트 패키지에 대한 요청을 클라우드 서비스(1202)에 전송한다. 단계 1207에서, 클라우드 서비스(1202)는 업데이트 패키지에 대한 수신된 요청을 장치로부터 업데이트 서비스(107)로 포워딩할 수 있다. 다른 방법에서, 클라우드 서비스는 복수의 장치 유형들에 대해 서명되고 암호화된 업데이트 패키지들을 사전-로드하고 캐시할 수 있다. 단계 1208에서, 업데이트 서비스(107)는 장치에 대한 서명되고 암호화된 업데이트 패키지를 클라우드 서비스(1202)로 전송하여 (단계 1209에서) 장치로 포워딩한다.
개시된 시스템의 예시적인 실시예에서, 엔드 포인트 장치(101) 또는 게이트웨이 장치(102)는 다수의 업데이트 제공자(602)에게 업데이트 패키지들을 요청하기 위해 다수의 업데이트 퍼블리셔들(601)과 관련된 복수의 업데이트 서비스들을 사용할 수 있다.
개시된 시스템의 예시적인 실시예에서, 로컬 원장들(310)의 트랜잭션 레코드들(309, 408, 620, 705)은 네트워크 피어들에 분배되고 가입 서비스(103) 또는 업데이트 서비스(107)에 의해 엔드 포인트 또는 게이트웨이 장치의 서명되고 암호화된 장치 요청 로그의 해시를 사용하여 연결된다. 또한, 블록 체인의 분산 원장에서의 트랜잭션 레코드들은 업데이트 패키지 제공자들(601) 및 퍼블리셔들(602)의 공급 체인에 걸친 도메인 간 추적성(cross-domain traceability)을 위해 장치 및 서비스 트랜잭션들의 재현 가능한 히스토리를 제공한다.
개시된 시스템의 예시적인 실시예에서, 복수의 중간 퍼블리셔들은 업데이트 패키지들의 분배기(distributor)로서 기능할 수 있고, 여기서 각각의 중간 퍼블리셔는 업데이트 패키지에 서명한다.
개시된 시스템의 예시적인 실시예에서, 가입 서비스(103)는 장치를 가입시키기 위해 엔드 포인트 장치(101) 또는 게이트웨이 장치(102) 인증서의 디지털 해시 다이제스트를 사용하여 API를 통해 클라우드 서비스들과 통합한다. 또한, 업데이트 서비스(107)는 클라우드 서비스로 가입된 장치에 업데이트 패키지들을 전달하기 위해 API를 통해 클라우드 서비스들과 통합한다.
개시된 시스템의 예시적인 실시예에서, 로컬 보안 요소(401)는 예를 들어, 신뢰할 수 있는 플랫폼 모듈(trusted platform module; TPM), 가입자 식별 모듈(SIM), 보안 키 생성 및 키 저장 기능들을 갖는 마이크로 컨트롤러 기반 암호화 엔진 등일 수 있다. 원격 보안 요소(307)는 네트워크 또는 클라우드 기반 HSM일 수 있다.
도 13 및 도 2를 참조하면, 블록(1300)에서, 다단계 검증 부트 로더(1301)(블록(205)의 실시예(240))는 프로그램 이미지(1302)(블록(203)의 실시예(250))의 디지털 서명들을 검증한다. 단계 1303, 1304, 1305에서, 디지털 서명들 A, B 및 C은 검증될 수 있는 복수의 키들 및 디지털 서명들의 예로서 키들 A, B 및 C을 각각 사용하여 검증된다. 이 방법은 인증된 퍼블리셔가 복수의 서명 키들을 사용하여 프로그램 이미지에 서명하는 논리 AND 연산을 도시한다. 블록 1320에서, 다단계 검증 부트 로더(1321)(블록(205)의 실시예(240))는 프로그램 이미지(1323, 1325 또는 1327)(블록(203)의 실시예(250))의 디지털 서명들을 검증한다. 단계 1322, 1324 및 1326에서, 디지털 서명들 A, B 또는 C은 검증될 수 있는 복수의 키들 및 디지털 서명들의 예로서 키 A, B 또는 C를 사용하여 검증된다. 이 방법은 인증된 퍼블리셔가 복수의 서명 키들 중 하나만 사용하여 프로그램 이미지에 서명하는 논리 OR 연산을 도시한다.
블록 1340에서, 워크 플로우는 예로서 공개 키 A와 관련된 손상된 개인 서명 키를 다루기 위한 대책을 도시한다. 프로그램 이미지(블록(203)의 실시예(250))의 인증 퍼블리셔는 손상된 키 A의 사용을 만료시키고 키 B 및 키 C를 사용하여 프로그램 이미지에 서명한다. 단계 1343 및 1344에서, 다단계 검증 부트 로더(1341)(블록 (205)의 실시예(240))는 서명된 프로그램 이미지에 포함된 고유 디지털 서명들의 전부 및 적어도 2개를 검증한다. 손상된 키 A의 사용은 퍼블리셔에 의해 제외되었다. 이 방법은 복수의 키 쌍들을 갖는 비-블록 논리 AND 연산을 예시한다. 단계 1346에서, 다단계 검증 부트 로더(1341)는 손상된 키를 소유한 공격자에 의해 손상된 서명 키 A를 사용하여 생성된 서명된 프로그램 이미지(1345)의 디지털 서명을 검증한다. 그러나, 서명된 프로그램 이미지의 적어도 2개의 디지털 서명들에 대한 서명 사양(233)의 요구 사항은 프로그램 이미지 검증을 부적격하다 판단하고 장치를 공격자의 프로그램 이미지(1345)로부터 보호한다. 단계 1349에서, 다단계 검증 부트 로더(1341)는 손상된 키를 소유한 공격자에 의해 손상된 서명 키 A를 사용하여 생성된 서명된 프로그램 이미지(1347)의 2 개의 디지털 서명들을 검증한다. 그러나, 서명된 프로그램 이미지의 디지털 서명들의 고유성에 대한 서명 사양(233)의 요구 사항은 프로그램 이미지 검증을 부적격하다 판단하고, 장치를 공격자의 프로그램 이미지(1347)로부터 보호한다.
예시적인 실시예는 게이트웨이 장치(102)에 연결된 엔드 포인트 장치(101)의 가입 및 등록을 위한 장치 식별 방법에 관한 것이다. 이 방법은 다단계 검증 부트 로더(240), 엔드포인트 장치(101)에서의 디스커버리 에이전트(109), 게이트웨이 장치(102)에서의 디스커버리 서비스(111), 가입 서비스(103), 정책 서비스(104) 및 장치 관리 서비스(105)를 사용한다. 상기 방법은 : 엔드 포인트 장치(101)상의 디스커버리 에이전트(109)에 의해, 엔드 포인트 장치 프로파일(232)을 갖는 인증된 아이덴티티 비콘(110)을 게이트웨이 장치(102)의 디스커버리 서비스(111)에 전송하는 단계를 포함할 수 있다. 상기 방법은 디스커버리 서비스(111)에 의해 엔드 포인트 장치(101) 및 엔드 포인트 장치 프로파일(232)의 인증을 검증하는 단계; 및 디스커버리 서비스(111)에 의해, 프라이버시 인증 기관으로부터 엔드 포인트 장치(101)에 대한 인증서 요청(116)을 생성하는 단계를 포함할 수 있다. 상기 방법은 디스커버리 서비스(111)에 의해 엔드 포인트 장치(101)에 대한 인증서 요청을 가입 서비스(103)에 전송하는 단계를 포함할 수 있다. 상기 방법은 가입 서비스(103)에 의해 인증 기관(406)에 대한 인증서 요청을 번역하기 위해 수신된 엔드 포인트 장치(101)에 대한 인증서 요청을 처리하는 단계; 및 가입 서비스(103)에 의해 엔드 포인트 장치(101)에 대한 번역된 인증서 요청을 인증 기관(406)에 전송하는 단계를 포함할 수 있다. 상기 방법은 가입 서비스(103)에 의해 인증 기관(406)에 의해 발행된 엔드 포인트 장치(101)에 대한 인증서를 수신하는 단계; 및 가입 서비스(103)에 의해, 프라이버시 인증 기관을 나타내도록 엔드 포인트 장치(101)에 대한 수신된 인증서를 번역하기 위해 엔드 포인트 장치(101)에 대한 수신된 인증서를 처리하는 단계를 포함할 수 있다. 상기 방법은 가입 서비스(103)에 의해 엔드 포인트 장치(101)에 대한 인증서를 디스커버리 서비스(111)에 전송하는 단계; 및 가입 서비스(103)에 의해 엔드 포인트 장치 등록 통지를 정책 서비스(104)에 전송하는 단계를 포함한다. 이 방법은 정책 서비스(104)에 의해 장치 관리 서비스(105)에 엔드 포인트 장치(101)를 추가하라는 지시문을 전송하는 단계;및 디스커버리 서비스(111)에 의해, 발행된 엔드 포인트 장치 인증서를 로컬 인증서 저장소(127)에 저장하는 단계를 포함할 수 있다.
예시적인 실시예에서, 아이덴티티 비콘(110)은 고유한 엔드 포인트 장치 식별자(231), 엔드 포인트 장치 유형, 엔드 포인트 장치 제조사 및 엔드 포인트 장치 모델을 포함하며, 여기서 엔드 포인트 장치 식별자(231)는 파워 온으로부터의 엔드 포인트 장치의 다단계 검증 부트 시퀀스에 기초하여 인증된다.
예시적인 실시예에서, 다단계 검증 부트 시퀀스는 이미지 서명자(201)에 의해 대응하는 개인 서명 키들을 사용하여 생성된 디지털 서명을 검증하기 위해 공개 키들의 다수의 매칭 키 세트들을 사용하여 엔드 포인트 장치(101)에서 서명된 프로그램 이미지와 연관된 다수의 디지털 서명 세트를 검증하는 다단계 검증 부트 로더에 의해 수행된다.
예시적인 실시예에서, 검증될 프로그램 이미지는 : 엔드 포인트 장치(101)상의 운영 체제 로더, 제1 스테이지 부트 로더 및 제2 스테이지 부트 로더 중 적어도 하나이고, 여기서 다단계 검증 부트 로더(240)는 부팅 시퀀스의 임의의 단계에서 주입될 수 있다.
예시적인 실시예에서, 디지털 서명들은 서명 및 검증 프로세스와 관련된 하나 이상의 공개-개인 키 쌍들의 손상을 검출하기 위한 대책으로서 논리 AND 또는 OR 연산자에 기초하여 검증되며, 여기서 서명 매치 기준 및 디지털 서명들의 배치 순서는 서명 사양을 기반으로 한다.
예시적인 실시예에서, 논리 AND 연산은 서명된 프로그램 이미지의 적어도 2개의 고유한 디지털 서명들이 검증될 것을 요구한다.
예시적인 실시예에서, 다단계 검증 부트 로더(240)는 후속 스테이지 부트 로더들에 대한 어떠한 수정도 요구하지 않고 복수의 후속 스테이지 부트 로더들, 이미지들, 구성 및 데이터 파일들을 포워드 검증하기 위해 부트 시퀀스에 주입된다.
예시적 실시예는 관리 대시 보드(701), 가입 서비스(103), 정책 서비스(104) 및 장치 관리 서비스(105)를 이용하여 장치(101, 102)를 등록 취소하는 방법에 관한 것이다. 상기 방법은 인증되고 특권이 있는 사용자에 의해 관리 대시 보드(701)로부터, 장치 인증서를 해지하는 동작을 개시하는 단계; 및 가입 서비스(103)에 의해 해지 명령(704)을 인증 기관(406)에 전송하는 단계를 포함할 수 있다. 이 방법은 가입 서비스(103)에 의해 장치 인증서 해지 통지를 정책 서비스(104)에 전송하는 단계를 포함할 수 있다. 이 방법은 정책 서비스(104)에 의해 장치(101, 102)를 제거하라는 지시문을 장치 관리 서비스(105)에 전송하는 단계를 포함할 수 있다.
예시적인 실시예는 블록 체인 애플리케이션으로서 게이트웨이 장치(102)상의 디스커버리 서비스(111), 그리고 블록 체인 네트워크 피어로서 네트워크에서의 가입 서비스(103)를 사용하는 엔드 포인트 장치(101) 가입 방법에 관한 것이다. 상기 방법은 네트워크에서 디스커버리 서비스(111)에 의해 가입 서비스에 엔드 포인트 장치(101)에 대한 가입 요청(301)을 전송하는 단계를 포함한다. 상기 방법은 가입 서비스(103)에 의해 가입 요청(301)을 수신하고 게이트웨이 장치(102)를 인증하는 단계를 포함할 수 있다. 상기 방법은 가입 서비스(103)에 의해, 네트워크의 네트워크 서비스에 대해 설정된 오케스트레이션 규칙들(305)에 기초하여 엔드 포인트 장치(101)에 대해 인증 기관(406)에 의해 발행된 인증서를 생성하는 단계를 포함할 수 있다. 상기 방법은 가입 서비스(103)에 의해 엔드 포인트 장치(101)에 대한 인증서를 게이트웨이 장치(102)에 전송하는 단계를 포함할 수 있다. 이 방법은 업데이트 서비스(107)에 의해 로컬 원장(310)에 트랜잭션 레코드(309)로서 엔드 포인트 장치에 대한 요청 로그를 기록하는 단계 및 분산 원장을 유지하여 장치 히스토리를 재생하기 위해 트랜잭션 레코드들(309)의 블록들을 블록 체인 피어들에 분배하는 단계를 포함할 수 있다.
예시적인 실시예에서, 엔드 포인트 장치에 대한 요청 로그는 서명 및 암호화되며, 그리고 적어도 요청 카운터, 요청 동작 데이터, 요청 타임 스탬프, 요청 nonce, 장치 요청 서명, 요청 해시, 장치 서명, 장치 인증서 식별자, 퍼블리셔 서명, 퍼블리셔 인증서 식별자, 패키지 식별자, 장치 식별자, 제공자 식별자 및 퍼블리셔 식별자를 포함한다.
예시적인 실시예에서, 블록 체인의 분산 원장은 업데이트 패키지 제공자들 및 퍼블리셔들의 공급 체인에 걸친 크로스 도메인 추적성을 위해 장치 및 서비스 트랜잭션의 히스토리를 재생산하기에 충분한 트랜잭션 레코드들을 갖는다.
예시적인 실시예에서, 장치 등록 취소 요청(702)은 엔드 포인트 장치(101)의 등록 취소를 위해 가입 서비스(103)에 의해 인증 기관(406)으로 인증서 해지 요청(704)을 생성하고 로컬 원장에 트랜잭션 레코드로서 엔드 포인트 장치(101)에 대한 요청 로그를 기록하기 위해 관리 대시 보드(701)로부터 발행될 수 있다.
예시적인 실시예는 업데이트 제공자(601)에 의해 운영되는 릴리스 관리 시스템(608) 및 개발 시스템(604), 업데이트 퍼블리셔(602)에 의해 운영되는 업데이트 서비스(107), 장치(101, 102)상의 업데이트 클라이언트(603) 및 장치(101, 102)상의 로컬 보안 요소(401)를 사용하여 등록된 장치(예를 들어, 엔드 포인트 장치(101), 게이트웨이 장치(102))를 업데이트하는 방법에 관한 것이다. 이 방법은 펌웨어 업데이트, 소프트웨어 업데이트, 구성 업데이트 및 업데이트 스크립트 중 적어도 하나를 포함하는 업데이트 패키지를 개발 시스템(604)에 구축하는 단계를 포함할 수 있다. 이 방법은, 릴리스 관리 시스템(608)에 의해, 제공자 서명 키(609)를 사용하여 업데이트 패키지(607)에 서명하는 단계를 포함할 수 있고, 여기서 제1 디지털 서명이 업데이트 패키지에 포함된다. 상기 방법은, 릴리스 관리 시스템(608)에 의해, 업데이트 패키지의 초기 암호화를 위해 업데이트 퍼블리셔(602)에 대한 퍼블리셔 인증서(610)로부터의 퍼블리셔 공개 키를 사용하여 서명된 업데이트 패키지를 암호화하는 단계를 포함할 수 있다. 이 방법은 릴리스 관리 시스템(608)에 의해, 상기 서명되고 암호화된 업데이트 패키지(611)를 업데이트 서비스(107)에 전송하는 단계를 포함할 수 있다. 상기 방법은 장치(101, 102)상의 업데이트 클라이언트(603)에 의해 업데이트 패키지를 요청하는 단계를 포함할 수 있다. 요청은 적어도 장치에 대한 장치 인증서(613), 공급 업체 식별자 및 모델 번호를 포함할 수 있다. 방법은 업데이트 서비스(107)에 의해 퍼블리셔 서명 키(618)를 사용하여 서명된 업데이트 패키지를 재서명하는 단계를 포함할 수 있다. 제2 디지털 서명이 업데이트 패키지에 포함된다. 방법은, 업데이트 서비스(107)에 의해, 업데이트 퍼블리셔(602)로부터의 퍼블리셔 개인 키를 사용하여 초기 암호를 해독하고 업데이트 패키지의 최종 암호화를 위해 장치 인증서(613)로부터의 장치 공개 키를 사용하여 업데이트 패키지를 암호화함으로써, 이중 서명된 업데이트 패키지를 재암호화하는 단계를 포함할 수 있다. 이 방법은 업데이트 서비스(107)에 의해, 암호화되고 이중 서명된 업데이트 패키지(619)를 장치(101, 102)상의 업데이트 클라이언트(603)에 전송하는 단계를 포함할 수 있다. 상기 방법은 업데이트 클라이언트(603)에 의해, 장치(101, 102)에 대한 장치 개인 키를 사용하여 암호화된 업데이트 패키지를 해독하는 단계를 포함할 수 있다. 이 방법은 업데이트 클라이언트(603)에 의해, 인증 기관(406)에 의해 발행된 퍼블리셔 인증서들 및 업데이트 제공자(601)로부터의 각각의 공개 키들을 사용하여 제1 디지털 서명 및 제2 디지털 서명을 검증하는 단계를 포함할 수 있다. 예시적인 실시예에서, 업데이트 스크립트는 장치상에서 실행되어 장치(101, 102)에 업데이트 패키지를 적용한다.
예시적인 실시예에서, 업데이트 패키지의 초기 암호화는 대칭 키를 사용하여 수행되고, 대칭 키는 퍼블리셔 공개 키를 사용하여 추가로 암호화된다. 업데이트 패키지의 메시지 다이제스트가 생성되고, 메시지 다이제스트에 대한 제1 디지털 서명은 업데이트 제공자(601)로부터의 제공자 개인 키를 사용하여 생성된다. 제1 디지털 서명은 퍼블리셔 공개 키를 사용하여 추가로 암호화된다.
예시적인 실시예에서, 업데이트 패키지의 최종 암호화는 대칭 키를 사용하여 수행되고, 대칭 키는 장치 공개 키를 사용하여 추가로 암호화된다. 업데이트 패키지의 메시지 다이제스트가 생성되고, 메시지 다이제스트에 대한 제2 디지털 서명은 업데이트 제공자(601)로부터 퍼블리셔 개인 키를 사용하여 생성된다. 제2 디지털 서명은 장치 공개 키를 사용하여 추가로 암호화된다.
예시적인 실시예에서, 암호화를 위한 장치 개인-공개 키 쌍은 장치(101, 102)상의 보안 요소(401)에 의해 생성될 수 있고, 장치 개인 키는 보안 요소(401) 내에서 보호된다. 장치 공개 키에 대한 장치 인증서는 인증 기관(406)에 의해 발행된다.
예시적인 실시예는 블록 체인 애플리케이션으로서 장치(101, 102)상의 업데이트 클라이언트(603), 블록 체인 네트워크 피어로서 네트워크의 업데이트 서비스(107), 오케스트레이션 규칙들(624) 및 원장(625)을 사용하여 장치(예를 들어, 엔드 포인트 장치(101), 게이트웨이 장치(102))를 업데이트하는 방법에 관한 것이다. 상기 방법은 네트워크의 업데이트 서비스(107)에 장치(101, 102)에 대한 업데이트 패키지에 대한 장치 요청(616)을 업데이트 클라이언트(603)에 의해 전송하는 단계를 포함할 수 있다. 상기 방법은 업데이트 서비스(107)에 의해 장치 요청을 수신하고 장치(101, 102)를 인증하는 단계를 포함할 수 있다. 방법은 업데이트 서비스(107)에 의해, 수신된 장치 매니페스트에 기초하여, 네트워크의 네트워크 서비스에 대해 확립된 오케스트레이션 규칙들(624)에 기초하여 서명되고 암호화된 업데이트 패키지를 준비하는 단계를 포함할 수 있다. 이 방법은 업데이트 서비스(107)에 의해, 서명되고 암호화된 업데이트 패키지를 장치(101, 102)에 전송하는 단계를 포함할 수 있다. 이 방법은 업데이트 서비스(107)에 의해, 원장(625)에 엔트리로서 장치에 대한 요청 로그를 기록하는 단계 및 분산된 원장을 유지하여 장치(101, 102)의 히스토리를 재생산하기 위해 트랜잭션 레코드들의 블록들을 블록 체인 피어들에 분배하는 단계를 포함한다.
예시적인 실시예에서, 장치에 대한 요청 로그는 서명 및 암호화되며, 그리고 적어도 요청 카운터, 요청 동작 데이터, 요청 타임 스탬프, 요청 nonce, 장치 요청 서명, 요청 해시, 장치 서명, 장치 인증서 식별자, 퍼블리셔 서명, 퍼블리셔 인증서 식별자, 패키지 식별자, 장치 식별자, 제공자 식별자 및 퍼블리셔 식별자를 포함한다.
예시적인 실시예에서, 블록 체인의 분산 원장은 업데이트 패키지 제공자들 및 퍼블리셔들의 공급 체인에 걸친 크로스 도메인 추적성을 위해 장치(101, 102) 및 서비스 트랜잭션의 히스토리를 재생산하기에 충분한 트랜잭션 레코드들을 갖는다.
예시적인 실시예는 디스커버리 에이전트(109), 디스커버리 서비스(111), 가입 서비스(103), 정책 서비스(104) 및 장치 관리 서비스(105)를 사용하여 IP 주소를 갖지 않는 엔드 포인트 장치(101)와, 엔드 포인트 장치에 연결된 게이트웨이 장치(102) 간의 데이터 전송을 보호하는 방법을 제공한다. 상기 방법은 : 엔드 포인트 장치(101)상의 디스커버리 에이전트(109)에 의해, 엔드 포인트 장치의 장치 프로파일을 갖는 인증된 아이덴티티 비콘(110)을 게이트웨이 장치(102)의 디스커버리 서비스(111)에 전송하는 단계를 포함할 수 있다. 상기 방법은 디스커버리 서비스(111)에 의해 엔드 포인트 장치(101) 및 장치 프로파일의 인증을 검증하는 단계; 및 디스커버리 서비스(111)에 의해, 프라이버시 인증 기관으로부터 가입 서비스(103)로의 엔드 포인트 장치(101)에 대한 인증서 요청을 생성하는 단계를 포함할 수 있다. 이 방법은 가입 서비스(103)에 의해, 인증 기관(406)에 대한 인증서 요청을 번역하기 위해 수신된 엔드 포인트 장치(101)에 대한 인증서 요청을 처리하는 단계를 포함할 수 있다. 방법은 가입 서비스(103)에 의해 인증 기관(406)으로 엔드 포인트 장치(101)에 대한 인증서 요청을 전송하는 단계; 및 가입 서비스(103)에 의해 인증 기관(406)에 의해 발행된 엔드 포인트 장치(101)에 대한 인증서를 수신하는 단계를 포함할 수 있다. 이 방법은 가입 서비스(103)에 의해, 프라이버시 인증 기관을 나타내도록 엔드 포인트 장치(101)에 대해 수신된 인증서를 번역하기 위해 엔드 포인트 장치(101)에 대해 수신된 인증서를 처리하는 단계를 포함할 수 있다. 상기 방법은 가입 서비스(103)에 의해 엔드 포인트 장치(101)에 대한 인증서를 디스커버리 서비스(111)에 전송하는 단계를 포함할 수 있다. 상기 방법은 가입 서비스(103)에 의해 엔드 포인트 장치 등록 통지를 정책 서비스(104)에 전송하는 단계; 및 정책 서비스(104)에 의해 엔드 포인트 장치(101)를 추가하라는 지시문을 장치 관리 서비스(105)에 전송하는 단계를 포함할 수 있다. 상기 방법은 디스커버리 서비스(111)에 의해, 발행된 엔드 포인트 장치 인증서를 게이트웨이 장치(102)의 로컬 인증서 저장소에 저장하는 단계를 포함할 수 있다. 이 방법은 게이트웨이 장치(102)상의 애플리케이션에 의해, 엔드 포인트 장치(101)로부터/로 전송되는 데이터를 수신하는 단계 및 안전한 데이터 전송을 위해 로컬 인증서 저장소로부터의 엔드 포인트 장치(101)에 대한 인증서를 사용하여 데이터에 대한 암호화 동작들을 수행하는 단계를 포함할 수 있다.
예시적인 실시예에서, 아이덴티티 비콘(110)은 고유한 엔드 포인트 장치 식별자(231), 엔드 포인트 장치 유형, 엔드 포인트 장치 제조사 및 엔드 포인트 장치 모델을 포함한다. 엔드 포인트 장치 식별자는 전원을 켠 후 엔드 포인트 장치(101)의 다단계 검증 부팅 시퀀스에 기초하여 인증된다.
예시적인 실시예에서, 다단계 검증 부트 시퀀스는 이미지 서명자(201)에 의해 대응하는 개인 서명 키들을 사용하여 생성된 디지털 서명을 검증하기 위해 공개 키들의 다수의 매칭 키 세트들을 사용하여 엔드 포인트 장치(101)에서 서명된 프로그램 이미지와 연관된 다수의 디지털 서명 세트를 검증하는 다단계 검증 부트 로더에 의해 수행된다.
예시적인 실시예에서, 검증될 프로그램 이미지는 엔드 포인트 장치(101)상의 운영 체제 로더, 제1 스테이지 부트 로더, 제2 스테이지 부트 로더 중 적어도 하나이다. 다단계 검증 부트 로더(240)는 부트 시퀀스의 임의의 단계에서 주입될 수 있다.
예시적인 실시예에서, 디지털 서명들은 서명 및 검증 프로세스와 관련된 하나 이상의 공개-개인 키 쌍들의 손상을 검출하기 위한 대책으로서 논리 AND 또는 OR 연산자에 기초하여 검증된다. 디지털 서명들 및 서명 매치 기준의 배치 순서는 서명 사양을 기반으로 한다.
예시적인 실시예에서, 논리 AND 연산은 서명된 프로그램 이미지의 적어도 2개의 고유한 디지털 서명들이 검증될 것을 요구한다.
예시적인 실시예에서, 다단계 검증 부트 로더(240)는 후속 스테이지 부트 로더들에 대한 어떠한 수정도 요구하지 않고 복수의 후속 스테이지 부트 로더들, 이미지들, 구성 및 데이터 파일들을 포워드 검증하기 위해 부트 시퀀스에 주입된다.
예시적인 실시예에서, 엔드 포인트 장치(101) 또는 게이트웨이 장치(102)상의 업데이트 클라이언트(108)는 장치 특성들(예를 들어, 프로파일), 플랫폼 특성들(예를 들어, 프로세서 아키텍처, 운영 체제 유형 및 버전) 및 확장된 특성들(예를 들어, 공장 구성 설정들)을 포함할 수 있는 동적 장치 속성들을 디스커버리할 수 있다.
도 14는 복수의 인터넷 프로토콜(IP) 가능 및 비-IP 분산 장치들(예를 들어, IoT 필드 및 에지 장치들 및 게이트웨이들), 장치 관리 서비스들(예를 들어, 가입 서비스, 업데이트 서비스, 정책 서비스, 분석 서비스), 블록 체인 네트워크에서 노드 역할을 하는 블록 체인 브로커 서비스 및 장치 관리 서비스로부터 블록 체인 브로커 서비스로의 트랜잭션 커넥터를 포함하는 시스템 및 방법을 기술한다. 일 실시예에서, 장치도 장치 관리 서비스도 블록 체인에 직접 참여하지 않는다. 일 실시예에서, 블록 체인 브로커 서비스는 장치들 및 장치 관리 서비스들을 위한 블록 체인 네트워크에서 프록시 노드로서 참여한다. 또한, 블록 체인 브로커 서비스는 데이터 프라이버시 및 보호를 위해, 버전화된 블록으로서 트랜잭션들을 제출하기 전에, 엔티티 식별자들의 정책 기반(예를 들어, 스마트 계약, 로컬 규칙) 익명화 및 트랜잭션 레코드의 콘텐츠의 항목별 필터링을 제공할 수 있다.
도 14를 참조하면, 단계 1404에서, 엔드 포인트 장치(101) 또는 게이트웨이 장치(102)는 적어도 인증 및 식별 아티팩트를 포함하는 가입 요청을 가입 서비스(103)에 전송할 수 있다. 가입 서비스(103)는 수신된 아티팩트들을 검증하고 동작 요청을 처리하여 장치(101, 102)와 연관된 인증서를 발행, 갱신 또는 재입력(rekey)할 수 있다. 장치 가입과 관련된 복수의 검증되고 거부-불가능한 아티팩트를 포함하는 가입 동작의 기록은 트랜잭션 커넥터(1412)를 통해 블록 체인 브로커 서비스(1414)로 전송될 수 있다. 단계 1416에서, 블록 체인 브로커 서비스는 분산 원장을 업데이트하기 위해 가입 동작을 위한 버전화된 블록을 생성하여 블록 체인 네트워크에 전송할 수 있다. 당업자는 블록 체인에 블록을 추가하는 많은 방법이 존재하며 본 명세서에 설명된 메커니즘과 실질적으로 동일하다는 것을 이해할 것이다.
단계 1406에서, 엔드 포인트 장치(101) 또는 게이트웨이 장치(102)는 적어도 인증 및 식별 아티팩트를 포함하는 업데이트 요청을 업데이트 서비스(107)에 전송할 수 있다. 업데이트 서비스(107)는 수신된 아티팩트들을 검증하고, 구성된 정책들에 기초하여 업데이트 패키지들을 준비하여 장치(101, 102)에 전송하기 위해 동작 요청을 처리할 수 있다. 업데이트 패키지 배포 및 게시와 관련된 제공자 및 퍼블리셔 동작들, 그리고 업데이트 패키지 공급 체인 출처와 관련된 복수의 검증된 거부 불가능한 아티팩트들로 구성된 업데이트 동작의 레코드는 트랜잭션 커넥터(1412)를 통해 블록 체인 브로커 서비스(1414)에 전송될 수 있다. 단계 1416에서, 블록 체인 브로커 서비스는 분산 원장을 업데이트하기 위해 업데이트 동작을 위한 버전화된 블록을 생성하여 블록 체인 네트워크에 전송할 수 있다. 당업자는 블록 체인에 블록을 추가하는 많은 방법이 존재하며 본 명세서에 설명된 메커니즘과 실질적으로 동일하다는 것을 이해할 것이다.
일 실시예에서, 업데이트 제공자(601)의 릴리스 관리 시스템(608)은 트랜잭션 커넥터(1412)를 통해 업데이트 분배 동작의 레코드를 블록 체인 브로커 서비스(1414)로 전송할 수 있다.
일 실시예에서, 업데이트 퍼블리셔(602)의 업데이트 서비스(107)는 트랜잭션 커넥터(1412)를 통해 업데이트 게시 동작의 레코드를 블록 체인 브로커 서비스(1414)에게 전송할 수 있다.
단계 1408에서, 엔드 포인트 장치(101) 또는 게이트웨이 장치(102)는 적어도 인증 및 식별 아티팩트를 포함하는 정책 요청을 정책 서비스(104)에 전송할 수 있다. 정책 서비스는 수신된 아티팩트를 검증하고, 장치 유형 및 자격 기준에 기초하여 장치(101, 102)에 대한 연속 런타임 모니터링을 위한 정책들을 준비하여 전송하기 위해 동작 요청을 처리할 수 있다. 고유한 정책 및 규칙 식별자들 및 문법을 포함하는 정책 구성 동작의 레코드는 트랜잭션 커넥터(1412)를 통해 블록 체인 브로커 서비스(1414)로 전송될 수 있다. 단계 1416에서, 블록 체인 브로커 서비스는 분산 원장을 업데이트하기 위해 정책 구성 동작을 위한 버전화된 블록을 생성하여 블록 체인 네트워크에 전송할 수 있다. 당업자는 블록 체인에 블록을 추가하는 많은 방법이 존재하며 본 명세서에 설명된 메커니즘과 실질적으로 동일하다는 것을 이해할 것이다.
단계 1410에서, 엔드 포인트 장치(101) 또는 게이트웨이 장치(102)는 적어도 인증, 식별 및 데이터 아티팩트 관련된 서명된 이벤트를 포함하는 정책 트리거 이벤트를 분석 서비스(1402)에 전송할 수 있다. 분석 서비스는 수신된 아티팩트를 검증하고, 그리고 적어도 에피소드 정보, 런타임 상태 측정 및 장치 무결성 점수를 포함하는 정책 트리거에 기초하여 검출된 인-필드 장치 활동의 레코드를 준비하여 트랜잭션 커넥터(1412)를 통해 블록 체인 브로커 서비스(1414)에 전송하기 위해 동작 요청을 처리할 수 있다. 단계 1416에서, 블록 체인 브로커 서비스는 분산 원장을 업데이트하기 위해 에피소드 정보, 런타임 상태 측정 및 장치 무결성 스코어들의 버전화된 블록을 생성하여 블록 체인 네트워크에 전송할 수 있다. 당업자는 블록 체인에 블록을 추가하는 많은 방법이 존재하며 본 명세서에 설명된 메커니즘과 실질적으로 동일하다는 것을 이해할 것이다.
일 실시예에서, 블록 체인 브로커 서비스(1414)는 정보 필터링 및 익명화를 위해 구성된 브로커 서비스 정책들에 기초하여 트랜잭션 필터들을 적용할 수 있다.
도 15는 블록체인의 분산 원장으로서 실리콘 제조 플랜트, OEM(Original Equipment Manufacturer), 플랫폼 소유자로부터 장치 소유자까지의 장치의 관리 연속성(chain of custody)을 추적하기위한 블록 스키마를 설명하며, 여기서, 가입 서비스와 연관된 트랜잭션 커넥터 및 장치와 연관된 원격 가입 서비스는 블록 체인 네트워크상의 블록 체인 브로커 서비스 노드에 트랜잭션들(작업 증명 및 인증 증명과 동일)을 제출할 수 있다.
도 15를 참조하면, 블록 1501에서, 블록# 1502는 블록 체인에서의 블록 시퀀스 번호를 나타내고, nonce(1503)는 블록 체인에서 블록을 해시하기 위한 요구 사항에 기초한 난수이다. 헤더 섹션(1504)은 적어도 산업 섹터, 블록 데이터의 유형 및 블록 데이터 포맷(또는 스키마)의 버전을 포함한다. 동작(1505, 1521, 1541)은 장치에 의해 요청된 동작(트랜잭션)의 유형(예를 들어, 가입, 갱신, 재입력(rekey), 해지)을 기술한다. 장치 섹션(1506)은 적어도 장치 이름, 장치 유형, 인증 계정(크리덴셜) 및 장치에 대한 고유 식별자(ID)를 포함한다. 인증서 섹션(1507)은 적어도 인증서와 관련된 주체 이름, 인증서 일련 번호(certificate serial number; CSN), 인증서 발행자의 고유 식별자(unique identifier; UID), 주체 고유 식별자, 인증서 내 주체 대체 이름(subject alternate name; SAN), 장치와 연관된 루트(공개) 키(하드웨어, 펌웨어 또는 소프트웨어 기반 신뢰 루트), 장치에 발행된 플랫폼(공개) 키, 장치의 소유권과 관련된 소유자(공개) 키, 키의 의도된 사용(예를 들어, 서명, 암호화 등) 및 작업 날짜 및 시간에 대한 타임 스탬프를 포함한다. Previous(1508)는 블록 체인(미도시)에서의 선행 블록의 해시이고 Hash(1509)는 블록(1501)의 해시이다. 블록(1520)에서, Previous(1522)는 블록 체인의 블록(1501)의 Hash(1509)를 지칭한다. 블록(1540)에서, 인증서(1542)는 재입력 동작(1541)과 관련된 해지 키(revoke key)를 포함한다.
일 실시예에서, 장치 키 해지는 해지 요청 동작 유형으로서 수행될 수 있다.
도 16은 블록체인의 분산 원장으로서 실리콘 제조 플랜트, OEM(Original Equipment Manufacturer), 플랫폼 소유자로부터 장치 소유자까지의 장치상의 애플리케이션 신뢰 체인을 추적하기위한 블록 스키마를 설명하며, 여기서, 가입 서비스와 연관된 트랜잭션 커넥터 및 장치와 연관된 원격 가입 서비스는 블록 체인 네트워크상의 블록 체인 브로커 서비스 노드에 트랜잭션들(작업 증명 및 인증 증명과 동일)을 제출한다.
도 16을 참조하면, 블록 1601에서, 블록# 1602는 블록 체인에서의 블록 시퀀스 번호를 나타내고, nonce(1603)는 블록 체인에서 블록을 해시하기 위한 요구 사항에 기초한 난수이다. 헤더 섹션(1604)은 적어도 산업 섹터, 블록 데이터의 유형 및 블록 데이터 포맷(또는 스키마)의 버전을 포함한다. 동작(1605)은 애플리케이션에 의해 요청된 동작(트랜잭션)의 유형(예를 들어, 가입, 갱신, 재입력(rekey), 취소)을 기술한다. 애플리케이션 섹션(1606)은 적어도 애플리케이션 이름, 애플리케이션 유형, 인증 계정(크리덴셜 또는 서비스 계정) 및 애플리케이션에 대한 고유 식별자(ID)를 포함한다. 인증서 섹션(1607)은 적어도 인증서와 관련된 주체 이름, 인증서 일련 번호(certificate serial number; CSN), 인증서 발행자의 고유 식별자(unique identifier; UID), 주체 고유 식별자, 인증서 내 주체 대체 이름(subject alternate name; SAN), 장치와 연관된 루트(공개) 키(하드웨어, 펌웨어 또는 소프트웨어 기반 신뢰 루트), 장치에 발행된 플랫폼(공개) 키, 장치의 소유권과 관련된 소유자(공개) 키, 원격 서비스들(예를 들어, 클라우드 서비스들, 피어-투-피터 통신 등)에 액세스하기 위한 애플리케이션과 연관된 서비스(공개) 키, 키의 의도된 사용(예를 들어, 서명, 암호화 등) 및 작업 날짜 및 시간에 대한 타임 스탬프를 포함한다. Previous(1608)는 블록 체인(미도시)에서의 선행 블록의 해시이고 Hash(1609)는 블록(1601)의 해시이다. 블록(1620)에서, Previous(1622)는 블록 체인의 블록(1601)의 Hash(1609)를 지칭한다. 블록(1640)에서, 인증서(1642)는 재입력 동작(1641)과 관련된 해지 키(revoke key)를 포함한다.
일 실시예에서, 애플리케이션 키 해지는 해지 요청 동작 유형으로서 수행될 수 있다.
도 17은 블록체인의 분산 원장으로서 실리콘 제조 플랜트, OEM(Original Equipment Manufacturer), 플랫폼 소유자로부터 장치 소유자까지의 공급 체인을 통한 장치에 대한 변경 관리를 추적하기위한 블록 스키마를 설명하며, 여기서, 업데이트 서비스와 연관된 트랜잭션 커넥터 및 장치와 연관된 원격 업데이트 서비스는 블록 체인 네트워크상의 블록 체인 브로커 서비스 노드에 트랜잭션들(작업 증명 및 인증 증명과 동일)을 제출한다.
일 실시예에서, 블록 체인의 블록은 제공자 식별자를 공급 체인의 원본 콘텐츠 제공자(소스)로서 식별하고 퍼블리셔 식별자를 공급 체인의 원격 식별자 서비스(예를 들어, 장치 소유자에 의해 운영되는 장치 관리자 또는 관리되는 서비스 제공자)로서 식별하며, 이는 트랜잭션의 직접 연결된(포인트 투 포인트) 엔티티들을 식별하는 수단으로만 기능하는 메시지들(또는 컨텐츠)의 발신자와 수신자의 공통 개념과 명확하게 구분된다.
일 실시예에서, 블록 체인의 블록은 다중 테넌트 서비스 구성에서 수백만 개의 IoT 장치에 대해 서비스 시점에서 미리 구성되고 암시적으로 추론되는 장치 속성들의 확장 불가능한 방법보다는 동작과 관련된 분산 및 동적 아티팩트(명시적 특성)를 포함한다.
일 실시예에서, 디바이스 히스토리언은 블록 체인의 블록에 기초하여 구축(인스턴스화)될 수 있으며, 여기서 블록들은 연결된 장치 및 장치의 하드웨어, 펌웨어 및 소프트웨어 컴포넌트들과 관련된 복수의 제공자들의 공급 체인에서 복수의 연결된 서비스들에 의해 제출된 복수의 분산 트랜잭션을 나타낸다. 또한, 버전화된 블록들은 작업 유형별로 그리고 장치, 애플리케이션 또는 (포털 또는 서비스) 운영자를 엔티티로하여 특정 산업 부문에 대해 준비될 수 있다.
도 17을 참조하면, 블록(1701)에서, 블록#(1702)은 블록 체인에서의 블록 시퀀스 번호를 나타내고, nonce(1703)는 블록 체인에서 블록을 해시하기 위한 요구 사항에 기초한 난수이다. 헤더 섹션(1704)은 적어도 산업 섹터, 블록 데이터의 유형 및 블록 데이터 포맷(또는 스키마)의 버전을 포함한다. 동작(1705, 1721, 1741)은 장치 업데이트 패키지와 연관된 동작(트랜잭션)의 유형(예를 들어, 제공자에 의한 배포, 퍼블리셔에 의한 게시, 장치에 의한 요청)을 기술한다. 운영자 섹션(1706)은 적어도 포털 또는 서비스 사용자 계정, (예를 들어, 공개 서명 키 또는 URL에 의한) 배포 내의 퍼블리셔 식별자 목록 및 업데이트 패키지가 배포되는 장치 클래스를 포함한다. 패키지 섹션(1707)은 적어도 업데이트 패키지 이름, 업데이트 패키지 유형, 업데이트 패키지 버전, 업데이트 패키지가 의도된 장치 카테고리, 서명자 공개 키들의 목록(예를 들어, 공급 체인 내 제공자들 및 퍼블리셔들), 장치 암호화 공개 키 및 작업 날짜 및 시간의 타임 스탬프를 포함한다. Previous(1708)는 블록 체인(미도시)에서의 선행 블록의 해시이고 Hash(1709)는 블록(1701)의 해시이다. 블록(1720)에서, Previous(1724)는 블록 체인의 블록(1701)의 Hash(1709)를 지칭한다. 운영자 섹션(1722)은 업데이트 패키지와 연관된 장치 유형을 포함하고 패키지 섹션(1723)은 퍼블리셔에 의해 업데이트 패키지와 연관된 태그를 포함한다.
도 18은 본 개시서의 실시예들 또는 그 일부가 컴퓨터 판독 가능 코드로서 구현될 수 있는 예시적인 컴퓨터 시스템(1800)을 도시한다. 예를 들어, 여기에 개시된 네트워크 시스템들 및 아키텍처들(엔드 포인트 장치들(101), 게이트웨이 장치들(102), 가입 서비스(103), 데이터베이스(311), 업데이트 제공자(601), 업데이트 퍼블리셔(602), 클라우드 서비스(1202) 등)은 하드웨어, 소프트웨어, 펌웨어, 명령어들이 저장된 비-일시적 컴퓨터 판독 가능 매체, 또는 이들의 조합을 사용하여 컴퓨터 시스템(1800)에서 구현될 수 있으며, 그리고 하나 이상의 컴퓨터 시스템 또는 다른 처리 시스템에서 구현될 수 있다. 하드웨어, 소프트웨어 또는 이들의 임의의 조합은 본 명세서에 개시된 아키텍처들 및 시스템들을 구현하는데 사용되는 임의의 모듈들 및 컴포넌트들을 구현할 수 있다.
프로그램 가능한 로직이 사용되는 경우, 이러한 로직은 상업적으로 이용 가능한 프로세싱 플랫폼 또는 특수 목적 장치에서 실행될 수 있다. 당업자는 개시된 특허 대상의 실시예들이 멀티 코어 멀티 프로세서 시스템, 미니 컴퓨터, 메인 프레임 컴퓨터, 분산된 기능들과 링크되거나 클러스터된 컴퓨터뿐만 아니라 거의 모든 장치에 내장될 수 있는 퍼베이시브(pervasive) 또는 소형 컴퓨터들을 포함하는 다양한 컴퓨터 시스템 구성들로 실행될 수 있음을 이해할 수 있다.
예를 들어, 적어도 하나의 프로세서 장치 및 메모리는 전술한 실시예들을 구현하기 위해 사용될 수 있다. 프로세서 장치는 단일 프로세서, 복수의 프로세서 또는 이들의 조합일 수 있다. 프로세서 장치들은 하나 이상의 프로세서 "코어"를 가질 수 있다.
본 개시서의 다양한 실시예들은 이 예시적인 컴퓨터 시스템(1800)의 관점에서 설명된다. 이 설명을 읽은 후, 다른 컴퓨터 시스템들 및/또는 컴퓨터 아키텍처들을 사용하여 본 개시서를 구현하는 방법이 관련 기술 분야의 통상의 기술자에게 명백해질 것이다. 동작들이 순차적인 프로세스로서 설명될 수 있지만, 동작들 중 일부는 실제로 병렬로, 동시에 그리고/또는 분산 환경에서, 그리고 단일 또는 다중 프로세서 머신에 의한 액세스를 위해 로컬로 또는 원격으로 저장된 프로그램 코드로 수행될 수 있다. 또한, 일부 실시예들에서, 동작 순서는 개시된 특허 대상의 사상을 벗어나지 않고 재배열될 수 있다.
프로세서 장치(1802)는 특수 목적 또는 범용 프로세서 장치일 수 있다. 관련 기술 분야의 통상의 기술자에 의해 이해될 바와 같이, 프로세서 장치(1802)는 또한 단독으로 동작하는 시스템과 같은 다중 코어/다중 프로세서 시스템의 또는 클러스터 또는 서버 팜에서 동작하는 컴퓨팅 장치들의 클러스터의 단일 프로세서일 수 있다. 프로세서 장치(1802)는 통신 인프라(1826), 예를 들어 버스, 메시지 큐, 네트워크 또는 멀티-코어 메시지 전달 체계에 연결된다.
컴퓨터 시스템(1800)은 또한 메인 메모리(1804), 예를 들어 랜덤 액세스 메모리(RAM) 또는 플래시 메모리를 포함하고, 보조 메모리(1806)를 포함할 수 있다. 보조 메모리(1806)는 예를 들어 하드 디스크 드라이브(1808), 이동식 저장 드라이브(1810)를 포함할 수 있다. 이동식 저장 드라이브(1810)는 플로피 디스크 드라이브, 자기 테이프 드라이브, 광학 디스크 드라이브, 플래시 메모리 등일 수 있다.
이동식 저장 드라이브(1812)는 공지된 방식으로 이동식 저장 유닛(1812)으로부터 판독하고 그리고/또는 이동식 저장 유닛(1812)에 기록한다. 이동식 저장 유닛(1812)은 이동식 저장 드라이브(1810)에 의해 판독 및 기록되는 플로피 디스크, 자기 테이프, 광 디스크 등일 수 있다. 관련 기술 분야의 통상의 기술자에게 이해될 바와 같이, 이동식 저장 유닛(1812)은 컴퓨터 소프트웨어 및/또는 데이터가 저장된 비-일시적 컴퓨터 사용 가능 저장 매체를 포함한다.
대안적인 구현들에서, 보조 메모리(1806)는 컴퓨터 프로그램들 또는 다른 명령어들이 컴퓨터 시스템(1800)에 로딩되게 하는 다른 유사한 수단을 포함할 수 있다. 이러한 수단은 예를 들어 이동식 저장 유닛(1816) 및 인터페이스(1814)를 포함할 수 있다. 그러한 수단의 예들은 (비디오 게임 장치에서 발견되는 것과 같은) 프로그램 카트리지 및 카트리지 인터페이스, (EPROM 또는 PROM과 같은) 이동식 메모리 칩 및 관련 소켓, 그리고 소프트웨어 및 데이터가 이동식 저장 유닛(1816)으로부터 컴퓨터 시스템(1800)으로 전달될 수 있게 하는 다른 이동식 저장 유닛들(1816) 및 인터페이스들(1814)을 포함할 수 있다.
컴퓨터 시스템(1800)은 또한 통신 인터페이스(1818)를 포함할 수 있다. 통신 인터페이스(1818)는 소프트웨어 및 데이터가 컴퓨터 시스템(1800)과 외부 장치 사이에서 전송될 수 있게 한다. 통신 인터페이스(1818)는 모뎀, (이더넷 카드와 같은) 네트워크 인터페이스, 통신 포트, PCMCIA 슬롯 및 카드 등을 포함할 수 있다. 통신 인터페이스(1818)를 통해 전송된 소프트웨어 및 데이터는 신호 형태일 수 있으며, 이는 전자, 전자기, 광학 또는 통신 인터페이스(1818)에 의해 수신될 수 있는 다른 신호일 수 있다. 이들 신호들은 통신 경로(1820)를 통해 통신 인터페이스(1818)에 제공될 수 있다. 통신 경로(1820)는 신호를 전달하며 유선 또는 케이블, 광섬유, 전화선, 셀룰러 전화 링크, RF 링크 또는 다른 통신 채널을 사용하여 구현될 수 있다.
컴퓨터 시스템(1800)은 또한 컴퓨터 디스플레이(1824) 및 디스플레이 인터페이스(1822)를 포함할 수 있다. 실시예들에 따르면, 전술된 도 1 내지 도 13에 도시된 GUI 및 대시 보드를 표시하는데 사용되는 디스플레이는 컴퓨터 디스플레이(1824)일 수 있고, 콘솔 인터페이스는 디스플레이 인터페이스(1822)일 수 있다.
본 문서에서, "컴퓨터 프로그램 매체", "비-일시적 컴퓨터 판독 가능 매체" 및 "컴퓨터 사용 가능 매체"라는 용어는 일반적으로 이동식 저장 유닛(1812), 이동식 저장 유닛(1816) 및 하드 디스크 드라이브(1808)에 설치된 하드 디스크와 같은 매체를 지칭하는데 사용된다. 통신 경로(1820)를 통해 전달된 신호들은 또한 여기에 설명된 논리를 구현할 수 있다. 컴퓨터 프로그램 매체 및 컴퓨터 사용 가능 매체는 또한 메모리 반도체(예를 들어, DRAM 등)일 수 있는 메인 메모리(1804) 및 보조 메모리(1806)와 같은 메모리들을 지칭할 수 있다. 이들 컴퓨터 프로그램 제품들은 컴퓨터 시스템(1800)에 소프트웨어를 제공하기 위한 수단이다.
컴퓨터 프로그램(컴퓨터 제어 로직이라고도 함)은 메인 메모리(1804) 및/또는 보조 메모리(1806)에 저장된다. 컴퓨터 프로그램은 또한 통신 인터페이스(1818)를 통해 수신될 수 있다. 이러한 컴퓨터 프로그램은 실행될 때 컴퓨터 시스템(1800)이 본 명세서에서 논의된 바와 같이 본 발명을 구현할 수 있게 한다. 특히, 컴퓨터 프로그램은 실행될 때, 프로세서 장치(1802)가 상기 논의된 도 1 내지 도 13의 흐름도들에 의해 예시된 방법들의 단계들과 같은 본 개시서의 프로세스들을 구현할 수 있게 한다. 따라서, 이러한 컴퓨터 프로그램은 컴퓨터 시스템(1800)의 제어기들을 나타낸다. 본 개시서가 소프트웨어를 사용하여 구현되는 경우, 소프트웨어는 컴퓨터 프로그램 제품에 저장되고 이동식 저장 드라이브(1812), 인터페이스(1814) 및 하드 디스크 드라이브 (1808) 또는 통신 인터페이스(1818)를 사용하여 컴퓨터 시스템(1800)에 로딩될 수 있다.
본 개시서의 실시예들은 또한 임의의 컴퓨터 사용 가능한 매체에 저장된 소프트웨어를 포함하는 컴퓨터 프로그램 제품에 관한 것일 수 있다. 이러한 소프트웨어는 하나 이상의 데이터 처리 장치에서 실행될 때, 데이터 처리 장치(들)가 본 명세서에 기술된 바와 같이 동작하게 한다. 본 개시서의 실시예들은 임의의 컴퓨터 사용 가능 또는 판독 가능 매체를 사용한다. 컴퓨터 사용 가능한 매체의 예들은 주 저장 장치들(예를 들어, 임의의 유형의 랜덤 액세스 메모리 등), 보조 저장 장치들(예를 들어, 하드 드라이브, 플로피 디스크, CD ROM, ZIP 디스크, 테이프, 자기 저장 장치 및 광학 저장 장치, MEMS, 나노 기술 저장 장치 등) 및 통신 매체(예를 들어, 유무선 통신 네트워크, 근거리 네트워크, 광역 네트워크, 인트라넷 등)를 포함하지만, 이에 제한되지 않는다.
결론
발명의 내용 및 요약 부분이 아닌 발명을 실시하기 위한 구체적인 내용은 청구항을 해석하기 위해 사용되는 것으로 이해되어야 한다. 발명의 내용 및 요약 부분은 본 발명자(들)에 의해 고려된 바와 같이 본 개시서의 하나 이상의 예시적인 실시예(모든 실시예는 아님)를 제시할 수 있고, 따라서 본 개시서 및 첨부된 청구 범위를 어떠한 방식으로 제한하도록 의도되지 않는다.
본 개시서의 실시예들은 특정 기능 및 그 관계의 구현을 나타내는 기능적 빌딩 블록의 도움으로 설명되었다. 이들 기능적 빌딩 블록들의 경계는 설명의 편의를 위해 본 명세서에서 임의로 정의되었다. 특정 기능 및 그 관계가 적절히 수행되는 한 다른 경계가 정의될 수 있다.
특정 실시예에 대한 전술한 설명은 다른 사람들이 당해 기술 분야의 기술 내의 지식을 적용함으로써, 과도한 실험없이, 본 개시의 일반적인 개념을 벗어나지 않으면서, 특정 실시예와 같은 다양한 응용에 대해 용이하게 수정 및/또는 적응할 수 있는 본 개시서의 일반적인 특성을 충분히 밝힐 것이다. 따라서, 이러한 적응 및 수정은 여기에 제시된 교시 및 지침에 기초하여 개시된 실시예들의 등가의 의미 및 범위 내에 있도록 의도된다. 본 명세서의 문구 또는 용어는 설명의 목적을 위한 것이지 제한하려는 것이 아니며, 본 명세서의 용어 또는 문구는 교시 및 지침에 비추어 당업자에 의해 해석되어야 한다. 단수의 요소에 대한 언급은 명시적으로 언급되지 않는 한 "하나 그리고 오직 하나만"을 의미하는 것이 아니라 "하나 이상"을 의미하는 것으로 의도된다. 또한, "A, B 또는 C 중 적어도 하나"와 유사한 문구가 청구범위에서 사용되는 경우, 문구는 A 단독이 실시예에서 존재할 수 있거나, B 단독이 실시예에 존재할 수 있거나, C 단독이 실시 예에 존재할 수 있거나, 요소들 A, B 및 C의 임의의 조합(예를 들어, A 및 B, A 및 C, B 및 C, 또는 A와 B와 C)이 단일 실시예에 존재할 수 있는 것으로 해석된다. "~를 위한 수단"이라는 문구를 사용하여 요소를 명백하게 언급하지 않는 한, 본 명세서의 어떠한 클레임 요소도 35 U.S.C. 112(f)의 조항에 따라 해석되지 않는다. 본 명세서에 사용된 바와 같이, 용어 "포함하다", "포함하는" 또는 이의 임의의 다른 변형은 비-배타적 포함을 커버하도록 의도되며, 이로써, 구성 요소 목록을 포함하는 프로세스, 방법, 물품 또는 장치는 그러한 구성 요소만을 포함하지 않고, 그러한 프로세스, 방법, 물품 또는 장치에 명시적으로 열거되거나 고유하지 않은 다른 요소들을 포함할 수 있다.
본 개시서가 특정 실시예들을 참조하여 예시되고 설명되었지만, 본 개시서는 여기에 도시된 세부 사항으로 제한되도록 의도되지 않는다. 오히려, 청구범위의 등가 범위 내에서 그리고 본 개시서를 벗어나지 않으면서 세부적으로 다양한 수정이 이루어질 수 있다.

Claims (12)

  1. 다-단계 검증된 부트 로더, 엔드 포인트 장치의 디스커버리 에이전트, 게이트웨이 장치의 디스커버리 서비스, 가입 서비스, 정책 서비스 및 장치 관리 서비스를 사용하여 게이트웨이 장치에 연결된 엔드 포인트 장치를 가입 및 등록하기 위한 장치 식별 방법으로서,
    상기 방법은 :
    상기 엔드 포인트 장치의 디스커버리 에이전트에 의해, 상기 게이트웨이 장치의 디스커버리 서비스에 엔드 포인트 장치 프로파일을 갖는 인증된 아이덴티티 비콘을 전송하는 단계;
    상기 디스커버리 서비스에 의해, 상기 엔드 포인트 장치의 인증된 아이덴티티 비콘 및 상기 엔드 포인트 장치 프로파일을 검증하는 단계;
    상기 디스커버리 서비스에 의해, 프라이버시 인증 기관으로부터 엔드 포인트 장치에 대한 인증서 요청을 생성하는 단계;
    상기 디스커버리 서비스에 의해, 상기 엔드 포인트 장치에 대한 인증서 요청을 상기 가입 서비스에 전송하는 단계;
    인증 기관에 대한 인증서 요청을 번역하기 위해 수신된 상기 엔드 포인트 장치에 대한 인증서 요청을 상기 가입 서비스에 의해 처리하는 단계;
    상기 가입 서비스에 의해 상기 인증 기관에, 상기 엔드 포인트 장치에 대한 번역된 인증서 요청을 전송하는 단계;
    상기 가입 서비스에 의해 상기 인증 기관에 의해 발행된 상기 엔드 포인트 장치에 대한 인증서를 수신하는 단계;
    상기 가입 서비스에 의해, 프라이버시 인증 기관을 나타내도록 상기 엔드 포인트 장치에 대한 상기 수신된 인증서를 번역하기 위해 상기 엔드 포인트 장치에 대해 수신된 인증서를 처리하는 단계;
    상기 가입 서비스에 의해, 상기 엔드 포인트 장치에 대한 인증서를 상기 디스커버리 서비스에 전송하는 단계;
    상기 가입 서비스에 의해, 엔드 포인트 장치 등록 통지를 상기 정책 서비스에 전송하는 단계;
    상기 정책 서비스에 의해, 장치 관리 서비스에 상기 엔드 포인트 장치를 추가하라는 지시문을 전송하는 단계; 및
    발행된 엔드 포인트 장치 인증서를 상기 디스커버리 서비스에 의해 로컬 인증서 저장소에 저장하는 단계를 포함하는, 방법.
  2. 청구항 1에 있어서,
    상기 아이덴티티 비콘은 고유한 엔드 포인트 장치 식별자, 엔드 포인트 장치 유형, 엔드 포인트 장치 제조사 및 엔드 포인트 장치 모델을 포함하고,
    상기 엔드 포인트 장치 식별자는 전원을 켠 후 상기 엔드 포인트 장치의 다단계 검증 부트 시퀀스에 기초하여 인증되는, 방법.
  3. 청구항 2에 있어서,
    상기 다단계 검증 부트 시퀀스는 이미지 서명자에 의해 대응하는 개인 서명 키들을 사용하여 생성된 디지털 서명들을 검증하기 위해 공개 키들의 다수의 매칭 키 세트들을 사용하여 엔드 포인트 장치에서 서명된 프로그램 이미지와 연관된 다수의 디지털 서명 세트를 검증하는 다단계 검증 부트 로더에 의해 수행되는, 방법.
  4. 청구항 3에 있어서,
    검증될 프로그램 이미지는 : 상기 엔드 포인트 장치상의 운영 체제 로더, 제1 스테이지 부트 로더 및 제2 스테이지 부트 로더 중 적어도 하나이고,
    상기 다단계 검증 부트 로더는 상기 부트 시퀀스의 임의의 단계에서 주입될 수 있는, 방법.
  5. 청구항 3에 있어서,
    상기 디지털 서명들은 서명 및 검증 프로세스와 관련된 하나 이상의 공개-개인 키 쌍들의 손상을 검출하기 위한 대책으로서 논리 AND 또는 OR 연산자에 기초하여 검증되며,
    서명 매치 기준 및 디지털 서명들의 배치 순서는 서명 사양을 기반으로 하는, 방법.
  6. 청구항 5에 있어서,
    상기 논리 AND 연산은 서명된 프로그램 이미지의 적어도 2개의 고유한 디지털 서명들이 검증될 것을 요구하는, 방법.
  7. 청구항 3에 있어서,
    상기 다단계 검증 부트 로더는 후속 스테이지 부트 로더들에 대한 어떠한 수정도 요구하지 않고 복수의 후속 스테이지 부트 로더들, 이미지들, 구성 및 데이터 파일들을 포워드 검증하기 위해 부트 시퀀스에 주입되는, 방법.
  8. 관리 대시 보드, 가입 서비스, 정책 서비스 및 장치 관리 서비스를 사용하여 장치를 등록 취소하는 방법으로서,
    상기 방법은 :
    인증되고 특권이 있는 사용자에 의해 상기 관리 대시 보드로부터 장치 인증서를 해지하는 동작을 개시하는 단계;
    상기 가입 서비스에 의해 인증 기관에 해지 명령을 전송하는 단계;
    상기 가입 서비스에 의해, 장치 인증서 해지 통지를 상기 정책 서비스에 전송하는 단계; 및
    상기 정책 서비스에 의해, 상기 장치를 제거하라는 지시문을 상기 장치 관리 서비스에 전송하는 단계를 포함하는, 방법.
  9. 게이트웨이 장치상의 디스커버리 서비스를 블록 체인 애플리케이션으로 사용하고 네트워크의 가입 서비스를 블록 체인 네트워크 피어로서 사용하는 엔드 포인트 장치 가입 방법으로서,
    상기 방법은 :
    상기 디스커버리 서비스에 의해, 상기 엔드 포인트 장치에 대한 가입 요청을 상기 네트워크의 가입 서비스에 전송하는 단계;
    상기 가입 서비스에 의해 상기 가입 요청을 수신하고 상기 게이트웨이 장치를 인증하는 단계;
    상기 네트워크의 네트워크 서비스에 대해 설정된 오케스트레이션 규칙(orchestration rule)들에 기초하여 상기 엔드 포인트 장치에 대한 인증 기관에 의해 발행된 인증서를, 상기 가입 서비스에 의해, 생성하는 단계;
    상기 가입 서비스에 의해, 상기 엔드 포인트 장치에 대한 인증서를 상기 게이트웨이 장치에 전송하는 단계; 및
    업데이트 서비스에 의해, 상기 엔드 포인트 장치에 대한 요청 로그를 상기 로컬 원장에 트랜잭션 레코드로서 기록하고, 그리고 분산 원장을 유지하여 장치 이력을 재생산하기 위해 트랜잭션 레코드들의 블록들을 블록 체인 피어들에 배포하는 단계를 포함하는, 방법.
  10. 청구항 9에 있어서,
    상기 엔드 포인트 장치에 대한 요청 로그는 서명 및 암호화되며, 그리고 적어도 요청 카운터, 요청 동작 데이터, 요청 타임 스탬프, 요청 넌스(nonce), 장치 요청 서명, 요청 해시, 장치 서명, 장치 인증서 식별자, 퍼블리셔 서명, 퍼블리셔 인증서 식별자, 패키지 식별자, 장치 식별자, 제공자 식별자 및 퍼블리셔 식별자를 포함하는, 방법.
  11. 청구항 10에 있어서,
    상기 블록 체인의 분산 원장은 업데이트 패키지 제공자들 및 퍼블리셔들의 공급 체인에 걸친 크로스 도메인 추적성을 위해 장치 및 서비스 트랜잭션의 히스토리를 재생산하기에 충분한 트랜잭션 레코드들을 갖는, 방법.
  12. 청구항 9에 있어서,
    장치 탈퇴 요청은 상기 엔드 포인트 장치의 탈퇴를 위해 상기 가입 서비스에 의해 인증 기관에 인증서 해지 요청을 생성하고 상기 로컬 원장에 트랜잭션 레코드로서 상기 엔드 포인트 장치에 대한 요청 로그를 기록하기 위해 관리 대시 보드로부터 발행될 수 있는, 방법.
KR1020207018954A 2017-11-30 2018-11-20 연결된 엔드포인트 장치의 가입 및 등록을 위한 장치 식별 시스템 및 방법, 그리고 블록 체인 서비스 KR20200098561A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201762592868P 2017-11-30 2017-11-30
US62/592,868 2017-11-30
US15/898,842 2018-02-19
US15/898,842 US10505920B2 (en) 2017-11-30 2018-02-19 System and method of device identification for enrollment and registration of a connected endpoint device, and blockchain service
PCT/US2018/061907 WO2019108435A1 (en) 2017-11-30 2018-11-20 System and method of device identification for enrollment and registration of a connected endpoint device, and blockchain service

Publications (1)

Publication Number Publication Date
KR20200098561A true KR20200098561A (ko) 2020-08-20

Family

ID=63144083

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020207018954A KR20200098561A (ko) 2017-11-30 2018-11-20 연결된 엔드포인트 장치의 가입 및 등록을 위한 장치 식별 시스템 및 방법, 그리고 블록 체인 서비스
KR1020207018835A KR20200097744A (ko) 2017-11-30 2018-11-20 게이트웨이 장치에 연결된 비-ip 엔드포인트 장치 및 연결된 서비스 간의 데이터 전송을 보호하기 위한 시스템 및 방법

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020207018835A KR20200097744A (ko) 2017-11-30 2018-11-20 게이트웨이 장치에 연결된 비-ip 엔드포인트 장치 및 연결된 서비스 간의 데이터 전송을 보호하기 위한 시스템 및 방법

Country Status (6)

Country Link
US (5) US10057243B1 (ko)
EP (2) EP3718282A4 (ko)
JP (2) JP7267293B2 (ko)
KR (2) KR20200098561A (ko)
IL (2) IL275294B1 (ko)
WO (2) WO2019108435A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022124652A1 (ko) * 2020-12-10 2022-06-16 엘지전자 주식회사 스마트홈 환경의 무선랜 시스템에서 c2c 연결을 기반으로 iot 제어기기와 iot 피제어기기 간 등록을 설정하는 방법 및 장치
US11595217B2 (en) 2018-12-06 2023-02-28 Digicert, Inc. System and method for zero touch provisioning of IoT devices

Families Citing this family (148)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10270748B2 (en) 2013-03-22 2019-04-23 Nok Nok Labs, Inc. Advanced authentication techniques and applications
US11521185B1 (en) * 2016-05-19 2022-12-06 Citibank, N.A. Distributed private ledger systems and methods
US10346152B2 (en) * 2016-09-20 2019-07-09 At&T Intellectual Property I, L.P. Facilitating use of a universal integrated circuit card (UICC) for secure device updates
US10243731B2 (en) * 2017-01-27 2019-03-26 Accenture Global Solutions Limited Hardware blockchain acceleration
US11194562B2 (en) * 2017-05-19 2021-12-07 Blackberry Limited Method and system for hardware identification and software update control
US11868995B2 (en) 2017-11-27 2024-01-09 Nok Nok Labs, Inc. Extending a secure key storage for transaction confirmation and cryptocurrency
US10057243B1 (en) 2017-11-30 2018-08-21 Mocana Corporation System and method for securing data transport between a non-IP endpoint device that is connected to a gateway device and a connected service
DE102017129698A1 (de) * 2017-12-13 2019-06-13 Endress+Hauser Conducta Gmbh+Co. Kg Verfahren und System zum Betreiben einer Erweiterung an einem Messumformer der Prozessautomatisierungstechnik
WO2019127275A1 (zh) * 2017-12-28 2019-07-04 深圳市元征软件开发有限公司 诊断设备的指令验证方法、装置和下位机
US11831409B2 (en) * 2018-01-12 2023-11-28 Nok Nok Labs, Inc. System and method for binding verifiable claims
US10924489B2 (en) * 2018-01-19 2021-02-16 International Business Machines Corporation Building trusted public blockchain networks based on participants' digital social behavior
US10552140B2 (en) * 2018-01-31 2020-02-04 Oracle International Corporation Automated identification of deployment data for distributing discrete software deliverables
US10693662B2 (en) * 2018-02-22 2020-06-23 Idlogiq Inc. Methods for secure serialization of supply chain product units
US10833849B2 (en) * 2018-03-21 2020-11-10 Clover Network, Inc. Unified secure device provisioning
CN110365719B (zh) * 2018-03-26 2021-10-01 华为技术有限公司 一种数据处理的方法以及相关设备
KR102181600B1 (ko) * 2018-03-30 2020-11-23 주식회사 코인플러그 블록체인 기반의 통합 로그인 방법, 단말 및 이를 이용한 서버
US10365922B1 (en) * 2018-04-10 2019-07-30 Sap Se Distributed-ledger based enterprise application deployment and management
EP3564883B1 (en) * 2018-04-30 2023-09-06 Hewlett Packard Enterprise Development LP System and method of decentralized management of device assets outside a computer network
EP3565218B1 (en) 2018-04-30 2023-09-27 Hewlett Packard Enterprise Development LP System and method of decentralized management of multi-owner nodes using blockchain
EP3564873B1 (en) 2018-04-30 2022-11-30 Hewlett Packard Enterprise Development LP System and method of decentralized machine learning using blockchain
US11799630B2 (en) * 2018-05-09 2023-10-24 Hefei Dappworks Technology Co., Ltd. Method and device for blockchain nodes
WO2019236482A1 (en) * 2018-06-04 2019-12-12 Rafalko Noah Telecommunication system and method for settling session transactions
JP7100502B2 (ja) * 2018-06-13 2022-07-13 キヤノン株式会社 情報処理装置とその制御方法、及びプログラム
US11138132B2 (en) * 2018-06-20 2021-10-05 Intel Corporation Technologies for secure I/O with accelerator devices
US20190394046A1 (en) * 2018-06-22 2019-12-26 Sf Motors, Inc. Secure firmware updates for remote vehicles
US11244064B2 (en) * 2018-06-26 2022-02-08 American Express Travel Related Services Company, Inc. Application level data security
US10756884B2 (en) * 2018-07-02 2020-08-25 International Business Machines Corporation On-chain governance of blockchain
US11108544B2 (en) 2018-07-02 2021-08-31 International Business Machines Corporation On-chain governance of blockchain
US11924323B2 (en) 2018-07-02 2024-03-05 International Business Machines Corporation On-chain governance of blockchain
US11165826B2 (en) 2018-07-02 2021-11-02 International Business Machines Corporation On-chain governance of blockchain
US11095433B2 (en) 2018-07-02 2021-08-17 International Business Machines Corporation On-chain governance of blockchain
US10778444B2 (en) * 2018-07-11 2020-09-15 Verizon Patent And Licensing Inc. Devices and methods for application attestation
US11652819B2 (en) * 2018-07-16 2023-05-16 Google Llc Secure methods, systems, and media for generating and verifying user credentials
US10915521B2 (en) * 2018-08-21 2021-02-09 Syniverse Technologies, Llc Blockchain gateway device and associated method of use
US11063760B2 (en) * 2018-08-22 2021-07-13 Sasken Technologies Ltd Method for ensuring security of an internet of things network
US10270770B1 (en) * 2018-08-23 2019-04-23 Xage Security, Inc. Generic computing device attestation and enrollment
CN111095213B (zh) 2018-08-23 2024-04-30 深圳市汇顶科技股份有限公司 嵌入式程序的安全引导方法、装置、设备及存储介质
US20200076574A1 (en) * 2018-08-30 2020-03-05 0Chain, LLC Systems and methods of blockchain platform for rule-based de-centralized roles and control
US11055105B2 (en) * 2018-08-31 2021-07-06 Micron Technology, Inc. Concurrent image measurement and execution
US11366865B1 (en) * 2018-09-05 2022-06-21 Amazon Technologies, Inc. Distributed querying of computing hubs
US11368446B2 (en) * 2018-10-02 2022-06-21 International Business Machines Corporation Trusted account revocation in federated identity management
US10984108B2 (en) * 2018-10-05 2021-04-20 International Business Machines Corporation Trusted computing attestation of system validation state
CN111357023A (zh) * 2018-10-23 2020-06-30 北京嘀嘀无限科技发展有限公司 用于在区块链系统中传递数据的方法和系统
US11068598B2 (en) * 2018-11-01 2021-07-20 Dell Products L.P. Chassis internal device security
EP3850510B1 (en) * 2018-11-01 2023-12-27 Hewlett-Packard Development Company, L.P. Infrastructure device enrolment
US10841287B2 (en) * 2018-11-04 2020-11-17 Tala Secure, Inc. System and method for generating and managing a key package
CN109462588B (zh) * 2018-11-13 2021-04-16 上海物融智能科技有限公司 一种基于区块链的去中心化数据交易方法及系统
US10439825B1 (en) * 2018-11-13 2019-10-08 INTEGRITY Security Services, Inc. Providing quality of service for certificate management systems
CN109740347B (zh) * 2018-11-23 2020-07-10 中国科学院信息工程研究所 一种针对智能设备固件的脆弱哈希函数的识别与破解方法
US11206134B2 (en) * 2018-11-29 2021-12-21 Mocana Corporation System and method for protection of multipart system applications using a cryptographically protected package, a package map and a package object store for decryption and verification at runtime on the target device platform
US11228453B2 (en) * 2018-12-05 2022-01-18 Sera4 Ltd. Secure provisioning of electronic lock controllers
US11133983B2 (en) * 2018-12-14 2021-09-28 T-Mobile Usa, Inc. Provisioning edge devices in a mobile carrier network as compute nodes in a blockchain network
US11165774B2 (en) * 2018-12-14 2021-11-02 Vmware, Inc. Delegated authentication to certificate authorities
CN109714759A (zh) * 2018-12-27 2019-05-03 浙江合众新能源汽车有限公司 一种安全的汽车ota服务方法及服务系统
CN109905272B (zh) * 2018-12-28 2021-07-30 杭州电子科技大学 一种工业防火墙固件安全动态清洗方法
EP3681099A1 (de) * 2019-01-14 2020-07-15 Siemens Aktiengesellschaft Verfahren zum betreiben eines rechnersystems für eine automatisierungsanlage und/oder fertigungsanlage sowie rechnersystem
CN109767534B (zh) * 2019-01-17 2022-03-04 平安科技(深圳)有限公司 基于区块链的门禁访问方法、系统、管理终端和门禁终端
JP7273523B2 (ja) * 2019-01-25 2023-05-15 株式会社東芝 通信制御装置および通信制御システム
US11627049B2 (en) 2019-01-31 2023-04-11 Hewlett Packard Enterprise Development Lp Failsafe firmware upgrade for cloud-managed devices
US11093628B2 (en) * 2019-02-14 2021-08-17 International Business Machines Corporation Cross-domain content-lifecycle management
EP3696708B1 (en) * 2019-02-17 2022-04-20 Accenture Global Solutions Limited Cryptologic sovereign profile control and exchange arbitration
US11966818B2 (en) 2019-02-21 2024-04-23 Hewlett Packard Enterprise Development Lp System and method for self-healing in decentralized model building for machine learning using blockchain
GB2581402B (en) * 2019-02-21 2021-02-24 Advanced Risc Mach Ltd Generating trust for devices
US20200280550A1 (en) * 2019-02-28 2020-09-03 Nok Nok Labs, Inc. System and method for endorsing a new authenticator
CN110035059B (zh) * 2019-03-05 2021-09-28 深圳前海微众银行股份有限公司 一种区块链的构建方法与装置
US10896412B2 (en) * 2019-03-12 2021-01-19 Airtime Network, Inc. Trustless physical cryptocurrency
AU2020201852A1 (en) 2019-03-15 2020-10-01 Carrier Corporation Configuring firmware for a target device
CN109862136A (zh) * 2019-03-19 2019-06-07 全链通有限公司 基于域名区块链的群组通信方法、区块链节点及介质
US11316841B2 (en) * 2019-03-25 2022-04-26 Micron Technology, Inc. Secure communication between an intermediary device and a network
US10936723B2 (en) * 2019-03-27 2021-03-02 Intel Corporation Fast and secure protocol to bootstrap a blockchain by restoring the blockchain state using trusted execution environment
CN109905247B (zh) * 2019-03-28 2022-03-15 郑州师范学院 基于区块链的数字签名方法、装置、设备及存储介质
US11792024B2 (en) 2019-03-29 2023-10-17 Nok Nok Labs, Inc. System and method for efficient challenge-response authentication
US11368430B2 (en) * 2019-03-29 2022-06-21 Verizon Patent And Licensing Inc. Domain name server based validation of network connections
CN109981665B (zh) * 2019-04-01 2020-05-26 北京纬百科技有限公司 资源提供方法及装置、资源访问方法及装置和系统
CN110097312A (zh) * 2019-04-04 2019-08-06 国美金控投资有限公司 一种基于区块链的物流单据核对系统及方法
CN111814063B (zh) * 2019-04-12 2023-09-15 百度在线网络技术(北京)有限公司 基于区块链的媒介信息处理方法、装置、设备和介质
EP3726798A1 (de) * 2019-04-15 2020-10-21 Siemens Aktiengesellschaft Kryptographisch geschütztes bereitstellen eines digitalen zertifikats
US11126425B2 (en) * 2019-04-19 2021-09-21 Sarcos Corp. Version history management using a blockchain
US11574060B2 (en) 2019-04-24 2023-02-07 International Business Machines Corporation Secure initial program load
US20220217002A1 (en) * 2019-05-10 2022-07-07 NEC Laboratories Europe GmbH Method and system for device identification and monitoring
CN110290108B (zh) * 2019-05-17 2020-10-13 深圳市网心科技有限公司 一种区块链网络中的数据处理方法、系统及相关设备
CN110266644B (zh) * 2019-05-20 2021-04-06 创新先进技术有限公司 结合代码标注与交易类型的收据存储方法和节点
CN110264200B (zh) * 2019-05-29 2021-11-19 中国工商银行股份有限公司 区块链数据处理方法及装置
US10942920B2 (en) 2019-06-03 2021-03-09 Advanced New Technologies Co., Ltd. Service processing system and method based on blockchain
CN110224838B (zh) * 2019-06-11 2022-04-15 中国联合网络通信集团有限公司 基于区块链的数据管理方法、装置及存储介质
DE102019116120A1 (de) * 2019-06-13 2020-12-17 Endress+Hauser Process Solutions Ag Verfahren zum Bereitstellen eines digitalen Zwillings für ein nicht digitales Feldgerät der Automatisierungstechnik
US11455379B2 (en) * 2019-06-19 2022-09-27 Ecolux Technology Co., Ltd. Control system and method thereof for secure manufacturing
CN116910726A (zh) 2019-07-02 2023-10-20 创新先进技术有限公司 用于将去中心化标识映射到真实实体的系统和方法
EP3688930B1 (en) 2019-07-02 2021-10-20 Advanced New Technologies Co., Ltd. System and method for issuing verifiable claims
CN111316303B (zh) 2019-07-02 2023-11-10 创新先进技术有限公司 用于基于区块链的交叉实体认证的系统和方法
EP3721603B1 (en) 2019-07-02 2021-12-08 Advanced New Technologies Co., Ltd. System and method for creating decentralized identifiers
WO2019179535A2 (en) 2019-07-02 2019-09-26 Alibaba Group Holding Limited System and method for verifying verifiable claims
CN111213147B (zh) 2019-07-02 2023-10-13 创新先进技术有限公司 用于基于区块链的交叉实体认证的系统和方法
CN110460445B (zh) * 2019-07-10 2022-04-26 南京邮电大学 一种基于信息安全行业产益的漏洞处理链网络架构
US10942728B2 (en) * 2019-07-15 2021-03-09 Vmware, Inc. Deploying device campaign updates to IoT devices
CN113966625B (zh) * 2019-07-17 2023-09-15 瑞典爱立信有限公司 用于核心网络域中的证书处理的技术
US10726681B1 (en) 2019-07-26 2020-07-28 Clover Network, Inc. Advanced hardware system for self service checkout kiosk
CN110689435B (zh) * 2019-08-02 2022-05-27 上海分布信息科技有限公司 基于区块链的数据处理方法及数据处理系统
CN110381167B (zh) * 2019-08-09 2022-02-08 中国工商银行股份有限公司 基于云的区块链节点主动发现系统及方法
US11381558B2 (en) 2019-10-18 2022-07-05 Avaya Inc. Blockchain-based device enrollment service
KR20210050215A (ko) * 2019-10-28 2021-05-07 삼성전자주식회사 전자 장치의 고유 정보에 대한 무결성을 보장하는 전자 장치 및 그의 동작 방법
CN110808841B (zh) * 2019-11-08 2023-07-11 杭州增信信息技术有限公司 基于区块链网络的通信系统及其通信方法
CN110751448B (zh) * 2019-12-20 2020-06-05 北京京邦达贸易有限公司 基于区块链的签单返还方法、装置、设备和可读存储介质
CN110995759A (zh) * 2019-12-23 2020-04-10 中国联合网络通信集团有限公司 物联网的接入方法以及装置
US11748835B2 (en) 2020-01-27 2023-09-05 Hewlett Packard Enterprise Development Lp Systems and methods for monetizing data in decentralized model building for machine learning using a blockchain
US11218293B2 (en) 2020-01-27 2022-01-04 Hewlett Packard Enterprise Development Lp Secure parameter merging using homomorphic encryption for swarm learning
US11272326B2 (en) * 2020-01-30 2022-03-08 Slack Technologies, Llc Methods, apparatuses and computer program products for implementing communication barriers in a group-based communication system
US11682095B2 (en) 2020-02-25 2023-06-20 Mark Coast Methods and apparatus for performing agricultural transactions
US20210274344A1 (en) * 2020-02-27 2021-09-02 Qualcomm Incorporated Third party control of a user equipment
US11763685B2 (en) 2020-02-28 2023-09-19 Ge Aviation Systems Llc Directing and communicating data to a flight management system
US11334235B2 (en) 2020-02-28 2022-05-17 Ge Aviation Systems Llc Comparison interface for navigation data
US20210273920A1 (en) * 2020-02-28 2021-09-02 Vmware, Inc. Secure certificate or key distribution for synchronous mobile device management (mdm) clients
CN111414638B (zh) * 2020-04-23 2023-03-24 飞天诚信科技股份有限公司 一种区分密钥生成方式的实现方法及装置
EP3902225A1 (en) * 2020-04-24 2021-10-27 Honeywell International Inc. Systems and methods for secure over-the-air updates for cyber-physical systems
JP7253809B2 (ja) * 2020-05-28 2023-04-07 株式会社ユビキタスAi 情報処理システム、情報処理方法、IoTデバイス、情報処理装置およびその制御プログラム
US11159513B1 (en) * 2020-05-29 2021-10-26 Kyocera Document Solutions Inc. Systems, apparatus, and computer program products for installing security certificates in publicly accessible printer stations through gateway
US11275576B2 (en) 2020-06-19 2022-03-15 Apple Inc. Techniques for firmware updates with accessories
US11822664B2 (en) 2020-06-22 2023-11-21 Apple Inc. Securely signing configuration settings
GB2596335A (en) * 2020-06-25 2021-12-29 British Telecomm Network access determination for user device
EP3957025B1 (en) 2020-07-03 2022-12-28 Alipay (Hangzhou) Information Technology Co., Ltd. System and method for providing privacy and security protection in blockchain-based private transactions
CA3094539A1 (en) 2020-07-23 2022-01-23 The Toronto-Dominion Bank Multidirectional synchronization of confidential data using distributed ledgers
CN111949989B (zh) * 2020-07-27 2021-09-10 首都师范大学 一种多核处理器的安全管控装置及方法
CN111917557B (zh) * 2020-07-28 2023-05-26 中国平安财产保险股份有限公司 网络服务请求的安全验证方法、安全验证系统及存储介质
US11296876B1 (en) 2020-09-11 2022-04-05 Rockwell Collins, Inc. Parallel cross-domain guard engines with sequential cryptographic controls
US11563579B2 (en) * 2020-10-02 2023-01-24 Nvidia Corporation Token-based zero-touch enrollment for provisioning edge computing applications
US11606694B2 (en) 2020-10-08 2023-03-14 Surendra Goel System that provides cybersecurity in a home or office by interacting with internet of things devices and other devices
US11423154B2 (en) * 2020-10-26 2022-08-23 Micron Technology, Inc. Endpoint authentication based on boot-time binding of multiple components
CN112104749B (zh) * 2020-11-09 2021-02-05 浙江甲骨文超级码科技股份有限公司 一种基于区块链的条码标签生命周期管理方法和装置
CN112636977B (zh) * 2020-12-23 2022-09-27 四川虹微技术有限公司 物联网设备管理方法、注册方法、装置、系统及电子设备
KR102528678B1 (ko) * 2020-12-30 2023-05-08 한국전자통신연구원 원격 검증 관리 장치 및 방법
KR20220102469A (ko) * 2021-01-13 2022-07-20 삼성전자주식회사 IoT 장치 및 IoT 장치를 서버에 온보딩 하는 방법
US11893141B2 (en) * 2021-02-18 2024-02-06 PUFsecurity Corporation Method and control circuit for managing information of electronic device
US11698968B2 (en) * 2021-03-05 2023-07-11 Red Hat, Inc. Management of building of software packages using a trusted execution environment
US11853100B2 (en) * 2021-04-12 2023-12-26 EMC IP Holding Company LLC Automated delivery of cloud native application updates using one or more user-connection gateways
GB202105297D0 (en) * 2021-04-14 2021-05-26 Enclave Networks Ltd Computer-implemented method and system
US11659049B2 (en) 2021-04-27 2023-05-23 Electronics And Telecommunications Research Institute Device and method for remote device profile management/identification for intelligent discovery
US11671507B2 (en) 2021-04-27 2023-06-06 Electronics And Telecommunications Research Institute Service profile discovery and connection management method for interworking with IoT device
WO2022245374A1 (en) * 2021-05-21 2022-11-24 Hewlett-Packard Development Company, L.P. Authorization service
US11689375B2 (en) * 2021-05-21 2023-06-27 International Business Machines Corporation Data in transit protection with exclusive control of keys and certificates across heterogeneous distributed computing environments
US11522755B1 (en) 2021-07-19 2022-12-06 Cisco Technology, Inc. Automated provisioning of endpoint devices with management connectivity
US20230127882A1 (en) * 2021-10-22 2023-04-27 Dell Products, L.P. Generating an inventory certificate for validation of information handling systems
US20230308284A1 (en) * 2022-03-23 2023-09-28 Headspin, Inc. Systems for remote signing of applications
CN114741102A (zh) * 2022-04-13 2022-07-12 鼎捷软件股份有限公司 具有自动升级功能的开发系统以及开发系统的自动升级方法
EP4270720A1 (en) * 2022-04-29 2023-11-01 Siemens Aktiengesellschaft Automatic, secure and bulk onboarding of devices
CN114978668B (zh) * 2022-05-19 2023-05-02 中国人民大学 一种跨链数据实体身份管理和认证方法及系统
CN115001801B (zh) * 2022-05-30 2023-05-30 北京沸铜科技有限公司 一种基于区块链的数字内容异构链跨链授权方法
US11968302B1 (en) 2023-03-24 2024-04-23 Srinivas Kumar Method and system for pre-shared key (PSK) based secure communications with domain name system (DNS) authenticator
US12015721B1 (en) 2023-03-24 2024-06-18 Srinivas Kumar System and method for dynamic retrieval of certificates with remote lifecycle management

Family Cites Families (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6546492B1 (en) * 1999-03-26 2003-04-08 Ericsson Inc. System for secure controlled electronic memory updates via networks
US7606938B2 (en) 2002-03-01 2009-10-20 Enterasys Networks, Inc. Verified device locations in a data network
US7570943B2 (en) 2002-08-29 2009-08-04 Nokia Corporation System and method for providing context sensitive recommendations to digital services
CA2776354A1 (en) * 2003-06-05 2005-02-24 Intertrust Technologies Corporation Interoperable systems and methods for peer-to-peer service orchestration
US20050235363A1 (en) 2004-04-06 2005-10-20 Fortress Technologies, Inc. Network, device, and/or user authentication in a secure communication network
US20060106920A1 (en) * 2004-11-15 2006-05-18 Microsoft Corporation Method and apparatus for dynamically activating/deactivating an operating system
CN101040552B (zh) 2005-04-18 2010-12-01 捷讯研究有限公司 控制软件版本更新的方法和系统
JP4429215B2 (ja) * 2005-06-15 2010-03-10 Necシステムテクノロジー株式会社 情報処理装置、情報処理システム、情報処理方法及びプログラム
US20070002750A1 (en) * 2005-07-01 2007-01-04 Nec Laboratories America, Inc. Generic Real Time Scheduler for Wireless Packet Data Systems
US8051414B2 (en) 2005-08-01 2011-11-01 Siemens Aktiengesellschaft Method and system for remote software updating of a medical device
US8176534B2 (en) 2005-12-30 2012-05-08 General Instrument Corporation Method and apparatus for provisioning a device to access digital rights management (DRM) services in a universal plug and play (UPnP) network
US20070254630A1 (en) 2006-04-24 2007-11-01 Nokia Corporation Methods, devices and modules for secure remote access to home networks
TWM325778U (en) * 2007-06-23 2008-01-21 Shuen Huang Attachment structure for a seat back
WO2009097350A1 (en) 2008-01-29 2009-08-06 Palm, Inc. Secure application signing
US20100023399A1 (en) * 2008-07-22 2010-01-28 Saurabh Sahni Personalized Advertising Using Lifestreaming Data
US8989383B2 (en) 2009-01-05 2015-03-24 Imation Corp. Data authentication using plural electronic keys
US8340635B2 (en) * 2009-03-16 2012-12-25 Apple Inc. Capability model for mobile devices
EP2507991B1 (en) * 2009-12-04 2017-08-30 LG Electronics Inc. Digital broadcast receiver and booting method of digital broadcast receiver
US9225525B2 (en) * 2010-02-26 2015-12-29 Red Hat, Inc. Identity management certificate operations
US8799640B2 (en) 2010-02-27 2014-08-05 Novell, Inc. Techniques for managing a secure communication session
JP5538132B2 (ja) * 2010-08-11 2014-07-02 株式会社日立製作所 真正性を保証する端末システム、端末及び端末管理サーバ
JP6022539B2 (ja) 2011-04-15 2016-11-09 サムスン エレクトロニクス カンパニー リミテッド マシンツーマシンサービス提供方法及び装置
US20130185552A1 (en) * 2012-01-13 2013-07-18 Research In Motion Limited Device Verification for Dynamic Re-Certificating
US9122554B2 (en) * 2013-02-08 2015-09-01 Microsoft Technology Licensing, Llc Pervasive service providing device-specific updates
US20140282916A1 (en) * 2013-03-15 2014-09-18 Aerohive Networks, Inc. Access authorization through certificate validation
JP2015036847A (ja) * 2013-08-12 2015-02-23 株式会社東芝 半導体装置
US9152794B1 (en) * 2013-09-05 2015-10-06 Xilinx, Inc. Secure key handling for authentication of software for a system-on-chip
JP6250887B2 (ja) * 2014-07-22 2017-12-20 ファナック株式会社 左手座標系対応の数値制御装置
US9325506B2 (en) 2014-09-23 2016-04-26 Red Hat, Inc. Cryptographically enforcing strict separation of environments
US9692748B2 (en) 2014-09-24 2017-06-27 Oracle International Corporation Unified provisioning of applications on devices in an enterprise system
US20160098723A1 (en) * 2014-10-01 2016-04-07 The Filing Cabinet, LLC System and method for block-chain verification of goods
US9571483B2 (en) * 2015-02-27 2017-02-14 Bank Of America Corporation Multi user device management system
US9967334B2 (en) 2015-03-02 2018-05-08 Dell Products Lp Computing device configuration and management using a secure decentralized transaction ledger
EP3281386B1 (en) 2015-04-07 2020-01-01 Tyco Fire & Security GmbH Machine-to-machine and machine to cloud end-to-end authentication and security
US9887842B2 (en) * 2015-06-30 2018-02-06 International Business Machines Corporation Binding software application bundles to a physical execution medium
CA2991905C (en) * 2015-07-10 2020-04-28 Whether or Knot LLC Systems and methods for electronic data distribution
GB2540987B (en) * 2015-08-03 2020-05-13 Advanced Risc Mach Ltd Bootstrapping without transferring private key
KR101637854B1 (ko) * 2015-10-16 2016-07-08 주식회사 코인플러그 블록체인을 기반으로 하는 공인인증서 발급시스템과 이를 이용한 블록체인을 기반으로 하는 공인인증서 발급방법 및 블록체인을 기반으로 하는 공인인증서 인증시스템과 이를 이용한 블록체인을 기반으로 하는 공인인증서 인증방법
JP6217728B2 (ja) 2015-10-19 2017-10-25 トヨタ自動車株式会社 車両システムおよび認証方法
US20170116693A1 (en) * 2015-10-27 2017-04-27 Verimatrix, Inc. Systems and Methods for Decentralizing Commerce and Rights Management for Digital Assets Using a Blockchain Rights Ledger
US10275962B2 (en) * 2015-12-14 2019-04-30 Afero, Inc. Apparatus and method for internet of things (IOT) security lock and notification device
WO2017127564A1 (en) * 2016-01-19 2017-07-27 Priv8Pay, Inc. Network node authentication
US9849364B2 (en) * 2016-02-02 2017-12-26 Bao Tran Smart device
US20170236123A1 (en) * 2016-02-16 2017-08-17 Blockstack Inc. Decentralized processing of global naming systems
JP6624277B2 (ja) * 2016-02-29 2019-12-25 富士通株式会社 情報処理装置、情報処理システム、情報処理方法、及び情報処理プログラム
US20170302663A1 (en) 2016-04-14 2017-10-19 Cisco Technology, Inc. BLOCK CHAIN BASED IoT DEVICE IDENTITY VERIFICATION AND ANOMALY DETECTION
US10432411B2 (en) * 2016-05-10 2019-10-01 Acronis International Gmbh System and method for file time-stamping using a blockchain network
US9888007B2 (en) * 2016-05-13 2018-02-06 Idm Global, Inc. Systems and methods to authenticate users and/or control access made by users on a computer network using identity services
US10700853B2 (en) * 2016-07-12 2020-06-30 International Business Machines Corporation Token identity and attribute management
US10187369B2 (en) * 2016-09-30 2019-01-22 Idm Global, Inc. Systems and methods to authenticate users and/or control access made by users on a computer network based on scanning elements for inspection according to changes made in a relation graph
US10382485B2 (en) * 2016-12-23 2019-08-13 Vmware, Inc. Blockchain-assisted public key infrastructure for internet of things applications
US20180183586A1 (en) * 2016-12-28 2018-06-28 Intel Corporation Assigning user identity awareness to a cryptographic key
US10057243B1 (en) 2017-11-30 2018-08-21 Mocana Corporation System and method for securing data transport between a non-IP endpoint device that is connected to a gateway device and a connected service

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11595217B2 (en) 2018-12-06 2023-02-28 Digicert, Inc. System and method for zero touch provisioning of IoT devices
WO2022124652A1 (ko) * 2020-12-10 2022-06-16 엘지전자 주식회사 스마트홈 환경의 무선랜 시스템에서 c2c 연결을 기반으로 iot 제어기기와 iot 피제어기기 간 등록을 설정하는 방법 및 장치

Also Published As

Publication number Publication date
KR20200097744A (ko) 2020-08-19
IL275291A (en) 2020-07-30
US10979419B2 (en) 2021-04-13
EP3718282A4 (en) 2021-08-11
WO2019108435A1 (en) 2019-06-06
EP3718252A1 (en) 2020-10-07
US20190166116A1 (en) 2019-05-30
WO2019108438A1 (en) 2019-06-06
JP2021505097A (ja) 2021-02-15
US20200067915A1 (en) 2020-02-27
JP2021504865A (ja) 2021-02-15
US20190166117A1 (en) 2019-05-30
JP7267293B2 (ja) 2023-05-01
IL275294A (en) 2020-07-30
EP3718252A4 (en) 2022-01-12
EP3718282A1 (en) 2020-10-07
US10505920B2 (en) 2019-12-10
US10162968B1 (en) 2018-12-25
US10057243B1 (en) 2018-08-21
JP7267295B2 (ja) 2023-05-01
IL275294B1 (en) 2024-05-01
US10469480B2 (en) 2019-11-05

Similar Documents

Publication Publication Date Title
KR102596411B1 (ko) 트랜잭션 커넥터 및 브로커 서비스를 사용하여 블록 체인 네트워크에서 장치 라이프사이클 트랜잭션을 버전 블록들로서 기록하기 위한 시스템 및 방법
US10979419B2 (en) System and method of device identification for enrollment and registration of a connected endpoint device, and blockchain service
JP7280396B2 (ja) 機器の安全なプロビジョニングと管理
US10855448B2 (en) Apparatus and method for using blockchains to establish trust between nodes in industrial control systems or other systems
US20220123946A1 (en) Systems and methods for enabling trusted communications between controllers
KR102318637B1 (ko) 데이터 전송 방법, 데이터의 사용 제어 방법 및 암호 장치
US11652637B2 (en) Enforcing a segmentation policy using cryptographic proof of identity
US20170324564A1 (en) Systems and methods for enabling trusted communications between entities
US11936772B1 (en) System and method for supply chain tamper resistant content verification, inspection, and approval
CN116561820B (zh) 可信数据处理方法及相关装置
US20230267226A1 (en) Blockchain-based operations

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal