KR20210134649A - 프라이버시 보호 자율 증명 - Google Patents

프라이버시 보호 자율 증명 Download PDF

Info

Publication number
KR20210134649A
KR20210134649A KR1020217027963A KR20217027963A KR20210134649A KR 20210134649 A KR20210134649 A KR 20210134649A KR 1020217027963 A KR1020217027963 A KR 1020217027963A KR 20217027963 A KR20217027963 A KR 20217027963A KR 20210134649 A KR20210134649 A KR 20210134649A
Authority
KR
South Korea
Prior art keywords
group
request
layer
devices
processing circuitry
Prior art date
Application number
KR1020217027963A
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 KR20210134649A publication Critical patent/KR20210134649A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/33User authentication 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/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/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/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/083Key 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) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • H04L9/0833Key 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) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
    • 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
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • 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/3218Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • 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
    • H04L9/3255Cryptographic 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 using group based signatures, e.g. ring or threshold 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
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/84Vehicles

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Algebra (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Power Engineering (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

인증 기관(CA)으로서 동작하는 장치가 설명된다. 이 장치는 복수의 요청 디바이스로부터 그룹에 조인하기 위한 요청을 수신하는 것을 포함하는 동작들을 수행할 수 있다. 상기 요청은 상기 그룹에 대한 식별 정보 및 상기 복수의 요청 디바이스에 대한 증명 증거를 포함할 수 있다. 상기 요청을 수신하는 것에 응답하여, 장치는 상기 그룹에 대한 그룹 인증서를 상기 복수의 요청 디바이스에 제공할 수 있다.

Description

프라이버시 보호 자율 증명
우선권 주장
본 출원은 2019년 4월 1일자로 출원된 미국 가출원 일련 번호 제62/827,397호에 대한 우선권의 이익을 주장하고, 그 전체가 인용에 의해 본 명세서에 포함된다.
본 명세서에서 설명된 실시예들은 일반적으로 에지 컴퓨팅 및 관련 분산 컴퓨팅 환경들에 관한 것이다. 특히, 실시예들은 에지 컴퓨팅, MEC(multi-access edge computing), 및 사물 인터넷(IoT) 디바이스 네트워크들에서의 모바일 디바이스 인증 프로세스들을 위한 기법들에 관한 것이다.
일반적인 레벨에서, 에지 컴퓨팅은 전체 소유 비용을 최적화하고, 애플리케이션 지연을 감소시키고, 서비스 능력을 개선하고, 보안 또는 데이터 프라이버시 요구들의 준수를 개선하기 위한 엔드포인트 디바이스들(예를 들어, 소비자 컴퓨팅 디바이스들, 사용자 장비 등)에 더 가까이로의 컴퓨팅 및 저장 리소스들의 전이를 언급한다. 일부 시나리오들에서, 에지 컴퓨팅은 많은 유형들의 저장 및 컴퓨팅 리소스들 중에서 애플리케이션들에 대한 오케스트레이션 및 관리를 제공하는 클라우드 같은 분산 서비스를 제공할 수 있다. 그 결과, 에지 컴퓨팅의 일부 구현들은 "에지 클라우드" 또는 "포그"라고 언급되었는데, 그 이유는 이전에는 큰 원격 데이터 센터들에서만 이용가능한 강력한 컴퓨팅 리소스들이 엔드포인트들에 더 가깝게 이동하고 네트워크의 "에지"에서 소비자에 의한 사용을 위해 이용가능하게 되기 때문이다.
에지 컴퓨팅은 사물 인터넷(IoT) 및 포그 네트워킹을 위해 개발된 사용 사례들 및 기술과 추가로 통합될 수 있는데, 그 이유는 엔드포인트 디바이스들 및 게이트웨이들이 네트워크의 "에지"에 더 가깝게 이동된 위치들에서 네트워크 리소스들 및 애플리케이션들에 액세스하려고 시도하기 때문이다. 예를 들어, 모바일 네트워크 환경에서의 개발중인 에지 컴퓨팅 사용 사례들은 "모바일 에지 컴퓨팅"으로도 알려진, MEC(multi-access edge computing)와의 통합을 위해 설계되었다. MEC 접근법들은 애플리케이션 개발자들 및 콘텐츠 제공자들이 네트워크의 에지에서 동적 모바일 네트워크 환경에서 컴퓨팅 능력들 및 IT 서비스 환경에 액세스하는 것을 허용하도록 설계된다. MEC 시스템들, 플랫폼들, 호스트들, 서비스들, 및 애플리케이션들의 동작을 위한 공통 인터페이스들을 정의하려는 시도로 제한된 표준들이 ETSI(European Telecommunications Standards Institute) ISG(industry specification group)에 의해 개발되었다.
에지 컴퓨팅, MEC, 및 관련 기술들은 전통적인 클라우드 네트워크 서비스들 및 광역 네트워크 연결들에서 제공되는 것보다 감소된 지연, 증가된 응답성, 및 더 많은 이용가능한 컴퓨팅 능력을 제공하려고 시도한다. 이들 기술을 수반하는 표준들 및 아키텍처들의 개발과 함께 발생하는 빠른 활동에도 불구하고, IoT, MEC, 및 차세대 에지 네트워크들의 설계 및 사용에 많은 제한들 및 기술적 문제점들이 여전히 존재한다.
반드시 일정한 비율로 그려진 것은 아닌 도면들에서, 같은 번호들이 상이한 뷰들에서의 유사한 컴포넌트들을 설명할 수 있다. 상이한 문자 접미사들을 갖는 같은 번호들은 유사한 컴포넌트들의 상이한 인스턴스들을 나타낼 수 있다. 일부 실시예들은 첨부 도면들에서 제한이 아닌 예로서 예시된다.
도 1은 본 명세서에서 논의되는 기법들(예를 들어, 동작들, 프로세스들, 방법들, 및 방법론들) 중 어느 하나 이상이 수행될 수 있는 제1 사용 사례를 예시한다.
도 2는 본 명세서에서 논의되는 기법들(예를 들어, 동작들, 프로세스들, 방법들, 및 방법론들) 중 어느 하나 이상이 수행될 수 있는 제2 사용 사례를 예시한다.
도 3은 예에 따른 디바이스 증명이 발생할 수 있는 예시적인 시스템을 예시한다.
도 4는 일부 예들에 따른 디바이스 계층화를 예시한다.
도 5는 예에 따른 증명 프로세스에서의 증명 가능한 계층화된 디바이스의 사용을 예시한다.
도 6은 예에 따른, 프라이버시 보호 증명을 예시한다.
도 7은 예에 따른, 비-프라이버시 보호 증명을 예시한다.
도 8은 예를 지원하는 메시징을 구현하기 위한 프로토콜을 예시한다.
도 9는 예에 따른 영지식 증명(zero-knowledge proofs)을 사용한 암시적 증명(implicit attestation)을 예시한다.
도 10은 예에 따른 에코시스템을 예시한다.
도 11은 예에 따른 공개 키 암호화(public key encryption, PKE)를 위한 계산들을 수행하기 위한 시스템을 예시한다.
도 12는 예에 따른 인증 기관(certificate authority, CA)으로서 동작하는 장치에 의해 실행되는 방법의 흐름도를 예시한다.
도 13은 예에 따른 에지 컴퓨팅 네트워크에서 동작하는 노드에 대한 장치에 의해 실행되는 방법의 흐름도를 예시한다.
도 14는 예에 따른, 에지 컴퓨팅을 위한 에지 클라우드 구성의 개관을 예시한다.
도 15는 예에 따른, 각각의 사물 인터넷(IoT) 네트워크들에 대한 도메인 토폴로지를 예시한다.
도 16은 예에 따른, 클라우드 컴퓨팅 네트워크의 에지에서의 IoT 디바이스들의 네트워크와 통신하는 클라우드 컴퓨팅 네트워크를 예시한다.
도 17은 예에 따른, 다수의 IoT 디바이스들 사이의 통신을 예시하는 네트워크의 블록도를 포함한다.
도 18은 예에 따른, 본 명세서에서 논의되는 기법들(예를 들어, 동작들, 프로세스들, 방법들, 및 방법론들) 중 어느 하나 이상이 수행될 수 있는 IoT 또는 에지 프로세싱 시스템 아키텍처에 대한 블록도를 포함한다.
은행업무(banking), 의료(healthcare), 수송(transit), 및 다른 서비스들과 같은 일부 서비스들은 개별 인증을 요구한다. 인증 프로세스는 서비스 제공자에 의해 소유되는데, 서비스 제공자는 액세스 권한을 계정 식별자에 직접 연계시키고, 계정 식별자는 그 후 보통 추가적인 개인 계정 상세에 직접 링크된다. 이와 대조적으로, 다른 서비스들은 개별 가입자 식별을 요구하지 않는다. 오히려, 특정 서비스에 대해서만 증명이 요구된다. 적어도 이들 상황에서는, 사용자의 프라이버시가 중요할 수 있다. 더욱이, 임의의 프라이버시 요구에 관계없이, 디바이스 밀도 및 네트워크 지연 요건을 지원하기 위해 적시에 증명이 수행되어야 한다.
그러나, 현재의 프라이버시 보호 접근법들(예를 들어, 인텔의 EPID(Enhanced Privacy Identification), IBM의 IDEMIX(Identity Mixer Technology), 및 마이크로소프트의 U-Prove)의 성능은 예상되는 5G 디바이스 지연(1-4 밀리초) 및 디바이스 밀도(예를 들어, 제곱 킬로미터당 약 1백만 개의 연결된 디바이스) 요구를 지원하기에 충분하지 않을 수 있다.
도 1은 본 명세서에서 논의되는 기법들(예를 들어, 동작들, 프로세스들, 방법들, 및 방법론들) 중 어느 하나 이상이 수행될 수 있는 제1 사용 사례를 예시한다. 도 1에 예시된 사용 사례에서, 클라우드 연결된 모바일 디바이스(100)는 자율 증명을 수행할 수 있다. 증명들은 예를 들어 차량 디바이스 식별 정보(108), 또는 위치 정보(110)와 같은 일부 정보를, 예를 들어, 원격 데이터 센터의 서버, 또는 에지 서버 내에 포함될 수 있는 또 다른 디바이스(112)에 제공하는 것을 포함할 수 있다. 증명은 모바일 디바이스들(100, 104, 106)의 위치를 검증할 수 있다. 일부 디바이스들(100)은 고정 구역(102)(예를 들어, 공항 픽업 구역)을 가질 수 있는 반면, 다른 디바이스들(104)은 고정 구역(102)에 진입하기 위한 승인을 추구하고 있을 수 있다. 또 다른 디바이스들(106)은 고정 구역(102)으로의 접근이 거부될 수 있다.
디바이스(112)는 공개 키의 도출, 조인 연산들, 타원 곡선 포인트 곱셈을 포함하는 서명 생성 및 서명 검증을 포함하는 동작들을 수행하는, 본 명세서에서 나중에 설명되는, 프로세싱 회로를 포함할 수 있다. 그러한 프로세싱의 결과들(예를 들어, 키들)은, 근접 서비스들(예를 들어, 공항 픽업 서비스)과 같은 서비스에 액세스할 때 모바일 디바이스(100)에 의한 이용을 위해 승인된 모바일 디바이스(100)에 제공될 수 있다.
도 2는 본 명세서에서 논의되는 기법들(예를 들어, 동작들, 프로세스들, 방법들, 및 방법론들) 중 어느 하나 이상이 수행될 수 있는 제2 사용 사례를 예시한다. 도 2에서, 고정 디바이스(200)(예를 들어, 스마트 홈 디바이스, 통행료 징수소 컴포넌트, 건물 컨트롤, 에너지 계량기 등의 형식에 관계없이 IoT 디바이스)는 원격 데이터 센터의 서버, 에지 컴퓨팅 위치에서의 에지 컴퓨팅 노드, 또는 디바이스(200)에 더 가까운 다른 디바이스에 포함될 수 있는 다른 디바이스(202)에 고정 디바이스 식별자, 위치 정보 등을 제공할 수 있다. 그러나, 도 1에 예시된 사용 사례와 유사하게, 자격증명들을 획득하기 위해 개인 식별 정보는 필요하지 않다. 유사하게, 모바일 디바이스(204)(예를 들어, 자율 모바일 디바이스들, 모바일 디바이스(204)에서 사용하기 위한 통행료 패스들, 스마트 시계들, 스마트 센서들, 자율 차량들, 웨어러블 의료 디바이스들 등)는 단지 모바일 디바이스 식별자들, 또는 위치 정보를 제공하는 것만으로 서비스들에 액세스하기 위한 자격증명들을 수신할 수 있다. 개인 가입자 식별은 필요하지 않다. 디바이스(112)의 프로세싱 회로는 고정 디바이스들(200) 및 모바일 디바이스들(204)에 임의의 조합으로 동시에 자율 증명을 제공할 수 있다. 예를 들어, 다양한 실시예에 따른 자율 증명 하에서, 모바일 디바이스(204)는 이전에 발행된 RFID 태그를 넘어서 개인 정보를 제공하지 않고 통행료 징수소를 통과할 수 있다. 개인 가입자 식별 정보는 어떠한 트랜잭션 또는 추적 디바이스(112)에서도 직접 알려져 있지 않다.
이들 사용 사례는 고성능의, 프라이버시 보호, 로밍 및 고정된 증명 메커니즘들에 대한 필요를 예시한다. 일부 경우들에서, 에지 에코시스템 플레이어들은 엔드포인트 프라이버시를 보호하도록 신뢰되지만, 일부 경우들에서 디바이스(예를 들어, 도 1 및 도 2에 예시된 모바일 및 고정 디바이스들)는 프라이버시 보호와 전통적인 증명 자격증명들 사이에 선택하기 위한 증명 능력을 가져야 한다. 또한, 사용된 자격증명은 동적으로 도출되어야 하는데 그 이유는 일부 에지 디바이스들이 다수의 키를 유지하기에 충분한 저장소를 갖지 않기 때문이다.
이전의 증명 솔루션들은: TCG(Trusted Computing group) TPM(Trusted Platform Module), TCG DICE(Device Identifier Composition Engine) 계층화된 증명(Layered Attestation), 인텔의 SGX(Software Guard Extensions), 인텔의 TXT(Trusted Execution Technology)(TPM의 변형), FIDO(Fast IDentity Online) 연합(Alliance), 글로벌 플랫폼(Global Platform), 및 구글의 KeyStore Attestation을 포함하는 솔루션들을 포함한다. 다양한 원격 측정 수집 기술들이 또한 이용가능하다. 그러나, 이들 다양한 기술은 EPID의 모든 특징들을 지원하지 않고 따라서 EPID의 모든 보안 및 효율 개선들을 이용하지 않는다. 예를 들어, TPM 및 TXT는 EPID 그룹들 또는 EPID 취소(revocation)를 구현하지 않는다. TCG DICE 계층화된 증명은 EPID 그룹들 또는 프라이버시 보호 증명을 구현하지 않는다. 인텔 SGX는 EPID를 지원하지만 프라이버시 CA 및 계층화된 증명을 지원하지 않는다. FIDO 연합 및 글로벌 플랫폼은 디바이스 출처, 프라이버시 및 계층화된 증명을 지원하지 않는다. FIDO 연합 및 글로벌 플랫폼은 또한 위치 컨텍스트 청구(location context claim)를 구현하지 않는다. 구글 Key Store는 프라이버시 보호 증명을 구현하지 않고, 위치 컨텍스트 청구를 구현하지 않는다. 마지막으로, 위에 열거된 기술들 중 어느 것도 취소의 EPID 성능 최적화를 구현하지 않는다.
실시예들은 인증 기관(CA)의 암호 익명 증명 동작들의 증가된 속도를 위해 타원 곡선 그룹들에 걸쳐 이중선형 맵(bilinear map)들을 사용하는 것에 의해 속도 및 효율 문제들을 다룬다. CA는 PKI 설정에서 전통적인 CA와 상이할 수 있다; 대신에, CA는 에지 컴퓨팅 및 IoT 시나리오들에서 사용되는 임의의 수의 디바이스들일 수 있다. 그러한 동작들은 공개 키의 도출, 조인 연산들, 서명 생성, 및 서명 검증을 포함할 수 있고, 이들 모두는 수 개의 타원 곡선 포인트 곱셈 연산들을 수반할 수 있다.
실시예들은 또한 디바이스가 상이한 에지 서비스들(예를 들어, 관리 서비스들, 사용자 인증 서비스들, FaaS(Function as a Service) 클러스터 관리자들, 에지 서비스 레벨 협약(service level agreement, SLA) 오케스트레이터들, 사용자들, 로드 밸런서들 등)과 상호작용할 수 있는 다수의 서브-환경들을 포함할 때 발생할 수 있는 문제들을 다룬다. DICE 하드웨어 루트-오브-트러스트의 사용은 플랫폼 내의 각각의 IP 블록, 주변, 필드 프로그래머블 게이트 어레이(FPGA), 신뢰 실행 환경(trusted execution environment, TEE) 또는 다른 서브-환경이 프라이버시 보호 아이덴티티들을 포함하는 증명 가능한 아이덴티티들을 생성하는 네이티브 능력을 갖는 것을 허용한다. 실시예들은 클라우드 및 통신 서비스 제공자들이 5G 디바이스 지연 및 디바이스 용량을 지원할 수 있게 하여 고정 디바이스 및 모바일 디바이스 둘 다에 대한 동시(개별 프라이버시 보호) 증명들을 제공한다.
실시예들에 따른 방법들은 그룹 멤버십들이 반-허가될 수 있는 경우 디바이스들이 완전히 익명으로 또는 부분적으로 익명으로 유지되도록 허용한다. 디바이스 구성은 애플리케이션 또는 사용자 정의 그룹화 의미론에 영향을 주지 않고 자동 그룹 정의들 및 인구가 조밀한 그룹들을 허용하는 그룹 멤버십을 결정한다. 디바이스들은 비대칭 자격증명들을 수반하는 기존/보통 보안 상호작용들의 일부로서 프라이버시 보호 속성들로 암시적으로 증명할 수 있다. 더욱이, 실시예들에 따른 방법들은 디바이스들이 임의의 동작 모드; (리셋, 정상, 격리, 복구 등)에 있는 동안 프라이버시로 증명하는 것을 허용한다.
실시예들은 디바이스의 동작 양상(operational facet)들의 프라이버시 보호 증명을 가능하게 하기 위해 그룹 자격증명들 및 DICE 계층화를 사용한다. 많은 디바이스들이 동일한 소프트웨어 및 구성으로 동작하는 에지 사용 사례들에서, 디바이스들은 프라이버시를 보호하기 위해 이 다양성을 사용할 수 있다. 검증자들은 단순히 디바이스의 구성에 대한 지식을 요구할 수 있지만 그것이 디바이스의 어느 인스턴스인지에 대한 지식은 요구하지 않을 수 있다. DICE 계층화 아키텍처는 각각의 계층이 아래에 더 상세히 설명되는 바와 같이 (동일한 계층 특정 구성을 갖는 다수의 다른 디바이스를 갖는) 그룹을 형성하는 것을 허용한다.
각각의 DICE 계층에 대한 EPID 키 및 그룹이 정의될 수 있다. EPID 그룹들은 다수의 방식 중 하나로 형성될 수 있다. 제1 예로서, DICE TCB 컴포넌트 식별자(TCI)가 EPID gid(그룹 ID)로서 사용될 수 있다. 이 옵션에서, TCI는 알려진 구성을 지칭하고 디바이스는 준수를 입증하기 위해 전통적인 증명을 사용한다. 그룹 발행자는 비-익명 그룹 멤버십을 시행하기 위해 전통적인 증명을 사용할 수 있지만, 비-그룹 검증자들은 그룹 멤버들을 구별할 수 없다는 점에서 그룹 발행자는 신뢰된다.
EPID 그룹을 형성하는 제2 예시적인 방법으로서, DICE CDI를 영지식 증명(ZKP) 커밋(즉, EPID 조인 프로토콜)과 함께 사용하여 그룹 증명 키를 생성한다. 이 옵션에서 그룹 조인 프로토콜은 그룹을 정의하는 증거(Evidence)의 속성 증명을 수행하도록 변형된다. EPID 인증서는 검증자가 될 모두(all would-be verifiers)에게 계층을 구성하기 위해 사용되는 속성들을 통지하는 증거 확장(Evidence extension)을 포함한다. 발행자 및 멤버들은 그룹 조인/등록 단계 동안에도 익명성을 유지한다. 비-그룹 검증자들은 그룹 멤버들을 구별할 수 없다.
도 3은 예에 따른 디바이스 증명이 발생할 수 있는 예시적인 시스템(300)을 예시한다. 도 3에서, 디바이스들(302, 304 및 306)의 커뮤니티가 상이한 계층들이 상이한 기능성을 구현할 수 있는 계층들 또는 컴포넌트들로 분할될 수 있고, 각각의 계층은 DICE 루트 오브 트러스트, 복합 디바이스 식별자(Compound Device Identifier, CDI) 및 신뢰 컴퓨팅 베이스(Trusted Computing Base, TCB) 컴포넌트 식별자(TCI)를 이용하여 식별자들을 도출할 수 있다. 3개의 디바이스(302, 304, 306)가 도시되어 있지만, 예시적인 시스템(300)은 임의의 수의 모바일 또는 고정 디바이스들을 포함할 수 있다.
도 4는 일부 예들에 따른 디바이스 계층화를 예시한다. DICE를 구현하는 하드웨어는 TCB 계층화된 아키텍처의 제1 계층(400)이다. 후속 TCB 계층들은 동적으로 추가되거나 제거되어 신뢰된 상태로 되돌아갈 수 있다. TCB 계층들은 제조 동안 및/또는 나중에 대응하는 디바이스의 배치 동안 추가될 수 있다. 베이스 계층(예를 들어, 계층(400)) 능력들은 하드웨어에서 신뢰되고 구현되고, 예를 들어, 제조 동안 퓨즈들을 사용하여 하드웨어로 프로그래밍될 수 있다. 암호 일방향 함수들, 키 도출 및 키 생성 함수들, 회로 파워-온, 및 부트스트래핑 제어 로직을 계산하기 위한 알고리즘들은 이 하드웨어에서 구현될 수 있는 그러한 함수들의 일부 예들이다.
도 4를 참조하면, DICE 계층(예를 들어, 하드웨어 계층)(400)은 UDS(Unique Device Secret)(402)을 포함하는 신뢰 능력들을 포함할 수 있다. UDS는, FMC(First Mutable Code) 값과 조합될 때, FMC를 제공한 계층에 특정한 대칭 비밀을 생성하는 CDI 함수(404)를 시딩(seed)하기 위해 사용될 수 있는 1회 프로그램 가능한 글로벌 고유 값이다. 계층 0 제품 ID 정보와 조합된 FMC는 계층 0 TCB를 식별한다. CDI 함수는 UDS를 사용하여 FMC의 키 해시(keyed hash)를 생성하는 일방향 함수이다. 이 키 해시는 이하에서 계층 0에 대한 CDI(406)로 지칭된다. CDI(406)는 계층 0 TCB를 고유하게 식별한다.
유사하게, CDI(406)는 함수(408)를 시딩하고 계층 1의 식별 정보(410)를 사용하여 CDI(412)를 생성한다. CDI(412)는 함수(414)를 시딩하고 계층 2의 정보(416)를 사용하여 계층 2에 대한 CDI를 생성하고, 등등 n개의 계층에 대해 계속된다. 따라서, 도 4에 도시된 바와 같이, 각각의 계층(예를 들어, 계층 0, 계층 1, ... 계층 n)은 계층 특정 TCI, CDI 및 키들을 가질 수 있다.
계층 특정 키들이 증명에 사용될 수 있다. 도 5는 예에 따른 증명 프로세스에서의 증명 가능한 계층화된 디바이스(500)의 사용을 예시한다. 인증 계층 구조는 루트 인증 기관(CA)(502)과 최종 엔티티 인증서(504) 사이에 다수의 계층(tier)을 포함할 수 있다. 루트 CA(502)로부터 요청될 수 있는 인증서들의 유형들을 정의하고 인가하기 위해 루트 CA(502)와 최종 엔티티 인증서(504) 사이에 하나 이상의 종속 CA(506)가 존재할 수 있다. 최종 엔티티 인증서(504)는 다양한 동작들(예를 들어, 이메일 암호화, 디지털 서명, 인증 등)의 수행을 위해 디바이스(500) 상에 설치된다. (도 4에 관하여 위에 설명된) 계층들 중 하나 이상은 아래에 더 상세히 설명되는 바와 같이 임베디드 CA들(ECA들)(508, 510)을 구현할 수 있다. 옵션의 속성 인증서들(512)이 또한 생성될 수 있다.
다시 도 3을 참조하면, 많은 디바이스들(예를 들어, 디바이스들(302, 304, 306))이 에지 배치들에서 배치되거나 동작할 것이고, 디바이스들(302, 304, 306)은 많은 수의 디바이스들에 걸쳐 공통인 펌웨어 및 소프트웨어를 실행할 것으로 예상된다. 다시 말해서, 디바이스(302)에 대한 계층-0은 디바이스(304)에 대한 계층-0 등과 동일한 펌웨어 또는 소프트웨어를 포함할 수 있다. 이는 많은 멤버들을 갖는 계층 구현에 기초하여 그룹들(308, 310, 312)이 형성되는 결과를 야기한다(예를 들어, 그룹(308)은 디바이스(302)에 대한 계층-0, 디바이스(304)에 대한 계층-0, 디바이스(306)에 대한 계층-0 등을 포함할 수 있다). 계층-0 펌웨어에 대한 그룹(308)에는 펌웨어의 해시에 기초하여 식별자(예를 들어, TCIL0(도 4))가 주어질 수 있다. 동일한 계층 0 TCI를 갖는 m개의 디바이스가 에지 네트워크에 있을 수 있고, 따라서 디바이스(302)가 그룹 기반 자격증명(예를 들어, EPID)을 사용하여 증명하는 것을 감안하면 검증자가 디바이스(302)를 수반하는 트랜잭션들을 추적 또는 상관시킬 수 있는 1/m 가능성이 있다.
디바이스(302)는 디바이스(302)가 프라이버시 보호 증명을 수행할 필요가 있을 것으로 디바이스(302)가 예상하는 각각의 DICE 계층에 대한 EPID 키를 생성하는 것에 의해 그룹(308) 자격증명을 요청할 수 있다. 디바이스(302)는 EPID 조인 요청(도 8을 참조하여 본 명세서에서 나중에 더 설명됨)을 EPID 발행자이기도 한 프라이버시 CA(314)로 송신할 것이다. 프라이버시 CA(314)는, 디바이스(302)에 의한 요청에 기초하여, 그룹 ID가 TCI를 사용하여 표현되는 계층-0 TCI가 존재한다는 것을 검출할 수 있다. 따라서, 프라이버시 CA(314)는 계층-0 TCI(예를 들어, gidL0 = TCIL0)에 대한 EPID 그룹(예를 들어, 그룹(308))을 형성할 수 있다. 디바이스(302)의 다른 계층들에 대해서도 동일한 관찰이 이루어진다(예를 들어, gidL1 = TCIL1, ..., gidLn = TCILn).
프라이버시 CA(314)는 각각의 그룹에 대한 그룹 자격증명들(예를 들어, 인증서들)(예를 들어, 인증서(316, 318 또는 320))을 발행할 수 있다. 그룹 인증서(316, 318, 320)는 계층-x 환경의 신뢰성 속성들을 기술하는 증명 증거(322, 324 또는 326)를 포함한다. 계층-x TCB(계층-x는 도 4를 참조하여 위에 설명된 바와 같이 계층 0, 계층 1 등 중 하나를 지칭함)가 계층-x 신뢰성 속성들을 익명으로 증명하기를 원할 때, 계층-x는 계층-x EPID 그룹 인증서(316, 318 또는 320)를 이용한다. 검증자는 계층-x 펌웨어가 신뢰할 수 있는지를 결정하는 정책에 따라 증거를 평가할 수 있다. 계층-x 펌웨어를 갖는 1/m개의 가능한 디바이스들이 있기 때문에, 검증자가 디바이스를 정확하게 추측할 수 있는 1/m 기회가 있다. 그룹-증명 키는 디바이스(302, 304, 306)마다 고유하지만 어느 정확한 디바이스가 요청을 하고 있는지를 검출하기 위해 사용될 수 없다(검증자 또는 다른 당사자에 의해).
도 6은 예에 따른 프라이버시 보호 증명을 예시한다. 일부 예들에서, 예시된 증명 요청들은 계층화된 디바이스들(302, 304, 306)(도 3) 중 하나 이상에 의해 프라이버시 CA(314)(도 3)로 행해질 수 있다. 일부 예들에서, 온라인 CA로 요청들이 행해질 수 있는 반면, 다른 예들에서는 온라인 CA의 기능성들 중 적어도 일부가 오프라인으로, 또는 예를 들어, 다른 계층화된 디바이스들(302, 304, 306)에 의해 또는 에지 네트워크 컴포넌트들에 의해 수행될 수 있다. 일부 예들에서, 일부 동작들에 대해서는 그룹 식별이 수신되지만 다른 동작들에 대해서는 개인 식별이 수신될 때 프라이버시 보호 증명은 비-프라이버시 보호 증명과 동시에 발생할 수 있다.
증명은 디바이스(302)의 증명 환경(602)이 조인 요청(604)을 제출하고 프라이버시 CA(314)로부터의 요청에 대한 응답(606)을 수신하는 것을 포함할 수 있다. 본 명세서에서 앞서 설명된 바와 같이, 디바이스(302)의 상이한 환경들은 상이한 에지 서비스들과의 디바이스 상호작용을 수행한다. 예를 들어, 증명 환경(602)은 에지 관리 서비스들을 수행하기 위한 것일 수 있다. 응답(606)은 서비스들에 액세스하기 위해 사용될 그룹 인증서를 포함할 수 있다. 다른 환경들(608, 610)은 유사한 요청들(612, 614)을 제출하고 응답들(616, 618)에서 유사한 그룹 인증서들을 수신할 수 있다. 환경들은 동작 620 및 동작 622에서 수신된 인증서들을 디바이스(302)의 다른 환경들에 제공할 수 있다. 디바이스(302)는 동작 626에서 그룹 인증서들을 프라이버시 민감 검증자(624)에 제공할 수 있다. 검증자(624)는 보증인(628)의 보증들을 사용하여 인증서들을 평가할 수 있고 소유자(630)로부터의 입력에 기초하여 증거에 대한 정책들을 평가한다. 조인 요청 및 응답에 대한 프로토콜에 대해서는 도 8에 관하여 아래에 더 상세히 설명한다.
도 7은 예에 따른 프라이버시-보호가 아닌 계층화된 증명을 예시한다. 비-프라이버시 보호 자격증명들은, 프라이버시 보호 증명에서와 같이 그룹 인증서들을 수신하기보다는, 계층-특정 증명 키를 생성하기 위해 DICE CDI 시드 또는 랜덤 시드를 사용하여 임베디드 CA(Embedded CA, ECA) 함수에 의해 발행된다. 이 키의 사용은 비-프라이버시 보호 검증자(702)가 디바이스 계층을 링크하는 트랜잭션들의 데이터베이스를 구축할 수 있게 한다. 사용자 아이덴티티를 검증하기 위해 사용될 수 있는 증거(704)가 제공되고, 따라서 트랜잭션은 비-프라이버시 보호이다. 확증하는 검증자들이 그들 각각의 데이터베이스를 병합하여 훨씬 더 큰 프라이버시 노출 데이터 세트를 생성할 수 있다.
도 8은 일부 예들을 지원하는 메시징을 구현하기 위한 프로토콜을 예시한다. 도 1 내지 도 7의 것들과 유사한 요소들은 유사한 참조 번호들을 이용하여 설명된다.
도 8에 따른 프로토콜은 EPID 그룹을 입력하는 조건이 계층-N 증명이 검증자(624)에 의해 검증될 수 있도록 그룹 조인 프로토콜을 증명 프로토콜과 조합한다. 디바이스가 손상되지 않는 것을 보장하는 계층 및 모든 그의 서브-계층들의 신뢰성을 입증하기 위해 전통적인 비-프라이버시 보호 증명 자격증명이 사용될 수 있다. 프라이버시 CA(314)는 비-프라이버시 보호 키들을 프라이버시 보호 EPID 키와 상관시키지 않도록 신뢰된다. 프라이버시 CA(314)는 메시지(800)의 JoinP 파라미터들을 이용하여 그룹 공개 키를 생성하고 디바이스(302)에 의해 이용되는 개인 키 생성 파라미터들을 생성하고 EPID 발행자(802)는 고유 그룹 개인 키를 JoinI 메시지(804)를 통해 계층(806)에 송신한다.
프라이버시 CA(314)는 TCI의 해시를 이용하여 그룹 이름을 결정하고 증명으로부터의 증거를 이용하여 어느 증명 증거가 그룹 인증서에 포함하기에 적절한지를 선택한다. 증거의 선택은 이미 그룹의 멤버들인 디바이스들의 수를 평가하는 것을 수반할 수 있다. 적어도 크기 t의 적합한 그룹이 존재하지 않으면, JoinI 응답(804)은 t+1개의 JoinP 요청이 계류 중일 때까지 지연될 수 있다. 임계치 t는 통계적으로 안전하도록 선택된다. 예를 들어, t = 1백만이면, 검증자들은 EPID 개인 키를 수반하는 트랜잭션들을 정확하게 상관시키는 데 1/1M 기회를 가질 것이다.
EPID 그룹들을 이용한 암시적 증명
다른 실시예에서, 방법들은 분산 영지식 증명들(ZKP)을 이용하여 증거와 암시적 증명의 프라이버시 보호 검증을 가진다. 그룹에 대한 정책은 구성을 포함하고, 검증자는 디바이스의 구성이 용인가능한 정책을 준수하는 것을 보장하기 위해 그룹 키를 사용한다. 검증자는 그룹의 멤버를 검증하기 위해 그룹 인증서를 사용하고 검증자는 그것을 사용하여 준수 지점(point of compliance)을 식별할 수 있다. 디바이스가 이 인증서에 대해 인증하면 디바이스는 또한 정책을 단언(assert)할 수 있다. GID는 이 정책 구성의 일부이다. 전반적으로 이 방법은 각각의 계층에 의해 드러나는 정보를 최소화했을 뿐만 아니라 검증자의 복잡성을 감소시켜 검증자를 보다 강건하고 스케일러블하게 만든다.
ZKP는 적어도 2개의 동작을 포함한다: (1) 비밀 데이터(예를 들어, 도출된 DICE id, 증거 및 잠재적으로 다른 정책 데이터)의 커밋 및 (2) 비밀 데이터에 대한 지식의 증명. 도 9를 참조하면, 커밋은 조인 프로토콜 동안에 행해지고(메시지 1-6) 증명은 검증 그룹 멤버십 프로토콜 동안에 생성된다(메시지 7-9).
영지식 커밋들이 다음과 같이 행해진다. 식별자 m에 대한 증명을 생성할 수 있기 위해, 디바이스는 형식
Figure pct00001
의 페더슨의 커밋(Pedersen's commitment)을 생성하고, 여기서 r은 사용자에 의해 선택된 랜덤 값이고
Figure pct00002
Figure pct00003
은 등록 담당자(registrar)의 공개 파라미터들이다. 옵션으로 메시지 1에서, 계층 n+1은 계층 n으로부터의 청구들을 수집한다. 이 커밋은 메시지 2-4에서 조인 그룹 n을 허용하기 위해 계층 n에 대해 계층 n+1에 등록된다. 메시지 5에서, 계층 n은 나중의 사용을 위해 조인 파라미터들을 캐싱하고, 메시지 6에서, 계층 n은 조인 파라미터들을 계층 n+1에 전달한다. 커밋, 메시지 7에서, 계층 n+1은 CDI를 이용하여 비밀 값을 생성한다(또는 CDI로부터 도출됨). 비밀은 그룹 서명들을 생성하기 위해 사용될 수 있는 고유 개인 키이다.
Figure pct00004
를 계층 n에 의해 계층 n+1에 입증될 필요가 있는 증거 및 디바이스 식별자들에 대응하는 서명들이라고 하자. 등록 시에 계층 n+1은 서명을
Figure pct00005
로 집계하고, 여기서
Figure pct00006
는 커밋된 값
Figure pct00007
의 서명이다. 이것은 계층 n+1로부터 발행자로의 다수의 커밋들(증명 증거)을 허용하기 위한 것이다. 이것은 다음 단계들에서 그룹 인증서에 의해 집계되고 서명된다.
메시지 8에서, 발행자는 그룹 인증서를 생성한다(주의: 후속 멤버 커밋들은 인증서 생성을 포기할 수 있는데, 그 이유는 그것이 이미 생성되었고 모든 그룹 멤버들에 대해 동일하기 때문이다). 인증서는 증명 증거 확장(attestation evidence extension)을 포함할 수 있어 검증자는 증거의 명시적 표현에 액세스할 수 있다. 그룹 인증서는 메시지 9를 사용하여 계층 n+1로 전달된다. 계층 n+1은 커밋 M에 서명하여 서명으로서
Figure pct00008
를 출력하고, 여기서
Figure pct00009
는 계층 n+1의 비밀 키(그룹 키에 대응함)이다. M은 증명 증거 및 계층 n_1 아이덴티티를 커밋한다. 위의 동작들을 수행한 후에, 계층 n+1은 검증자와 상호작용하여 그룹 멤버십을 입증하고, 계층 n+1 구성을 암시적으로 증명하고, 그룹 개인 키를 사용하여 익명 트랜잭션들을 수행할 수 있다.
그룹 키를 사용하는 검증 프로토콜들은 전형적으로 검증자로부터의 최신 상태 논스(freshness nonce)를 전형적으로 포함하는 챌린지 메시지와 이어서 챌린지가 참 또는 거짓임을 입증하는 입증자로부터의 응답의 수신을 수반한다. 응답 실패는 증명이 거짓임을 암시한다. 메시지 10은 챌린지 메시지의 계층 n+1 증명을 제공하고, (그룹 인증서 내의 증거에 의해 정의된 바와 같은) 계층 n+1 구성도 참인 것을 암시적으로 입증한다.
검증은 다음과 같이 진행된다. 서명들은 하나의 비밀 디바이스 식별자/증거 또는 그룹 멤버십만이 입증되어야 한다면 하나의 서명만을 포함할 수 있다. 그러나, 본 명세서에서의 설명은 등록이 디바이스 아이덴티티뿐만 아니라 디바이스의 다른 속성들을 요구하는 경우들에 대해 알고리즘을 속성들의 세트로 일반화한다. 이들 속성은 등록 고려사항을 만족시키면서 정보 누설을 피하기 위해 영지식 증명의 일부로서 포함된다. 일부 실시예들에서, 2개의 예시적인 커밋이 포함된다: 제1 커밋은 증거의 증명들을 포함하고, 제2 커밋은 암시적 증명에 사용되는 DICE 키를 포함한다.
메시지 10에서, 계층 n+1은
Figure pct00010
를 계산한다. 계층 n+1은
Figure pct00011
, 1≤i≤t를 검증자에 전송한다.
동작 11에서, 검증자는 챌린지를 전송하고, 입증자(계층 n+1)는 ZKPK를 생성할 것이다. 입증자 및 검증자는 동작 12 및 동작 13)의 일부로서 다음의 ZKPK 프로토콜을 수행한다:
Figure pct00012
검증자가 커밋들의 영지식 증명을 수락한 후에, 검증자는 다음의 검증들이 성공하는지를 체크한다(동작 14):
Figure pct00013
Figure pct00014
여기서
Figure pct00015
는 공개 파라미터이고, v는 등록 담당자의 공개 키이고, e는 이중선형 매핑이다. 마지막 단계가 성공하면, 검증자는 서명된 커밋들의 ZKPK를 수락한다.
증명의 끝에서, 예시적인 실시예들에 따른 방법들은 (명확한 증거와 대조적으로) 증거의 지식을 입증하는 ZKP를 획득하였고 또한 그것이 암시적 증명으로 이어지는 도출된 DICE 키의 값을 알고 있다는 것도 획득하였다.
증거는 GPS 좌표 또는 BS 타워 삼각측량과 같은 위치 컨텍스트를 포함할 수도 있다. 증명된 위치 정보는 프라이버시 CA(314)가 그룹에 승인될 때 디바이스(302)에 지오펜스 정책을 적용하도록 허용한다. 계층-x 펌웨어 구성과 지리적 위치(geo-location)의 조합은 펌웨어의 신뢰할 수 있는 구현이 위치 좌표를 생성하기 위해 사용된다고 단언한다.
위치의 동적 증명을 수행할 때 동일한 소프트웨어에 의한 위치 좌표의 후속 판독이 사용될 수 있다. EPID 그룹 키를 사용하여 동적 증명들에 서명하는 것은 프라이버시를 보장하면서도 또한 위치 좌표들이 신뢰할 수 있는 펌웨어를 사용하여 제공되는 것을 보장할 것이다.
암호-가속(crypto-acceleration) 및 타원 곡선 암호기법(elliptical curve cryptography, ECC)
콘텐츠 프로세싱 모듈(content processing module, CPM) 공개 키 유닛은 CPM 공유 RAM에 인터페이스하는 CPM 슬라이스이다. PKE 회로(도 11에 관하여 본 명세서에서 더 상세히 설명됨)는 인터넷 키 교환(Internet Key Exchange, IKE) 및 TLS/SSL 애플리케이션들에서 계산적으로 비용이 많이 드는 동작들을 가속시킬 수 있다. PKE 회로는, 많은 다른 기능들을 수행하기도 하지만, 큰 수들에 대해 모듈러 멱승(modular exponentiation) 연산들을 수행하기 위해 사용될 수 있다. 모듈러 멱승은 정수 연산 ge mod m으로서 정의되고, 여기서 g는 기수(base)이고, e는 지수(exponent)이고, m은 모듈러스이다. 일부 예들에서, PKE 회로는 512 내지 8192 비트의 범위 내의 모듈러 멱승 피연산자들과 함께 작업한다.
모듈러 멱승의 가속은, Diffie-Hellman 키 교환, DSA 디지털 서명, RSA 디지털 서명, RSA 암호화/복호화, 또는 소수 테스팅(primality testing)을 포함하는, 공개 키 알고리즘들의 성능을 개선할 수 있다. PKE 회로는 또한, 큰 수들에 대한 모듈러 역원(modular inverse) 및 최대 공약수의 계산과 같은, 공개 키 암호기법에 보조적인 다른 산술 함수들을 수행할 수 있다. PKE 회로는 또한 소수체(prime field)들 및 이진체(binary field)들에 대해 ECC를 수행하기 위해 필요한 계산 프리미티브들의 HW 가속을 제공할 수 있다. (위에 설명된 바와 같이) 모듈러 멱승에 적용가능한 넓은 정수 곱셈의 형식은 또한 PKE에서의 소수체들에 걸친 ECC에 적용가능하다.
PKE의 다른 구현은 2개의 특정 ECC 표준, 즉, NIST - P256, P384, Bernstein 곡선들 - X25519, X448 및 PRC 표준 SM2의 경우에 대한 모듈러 곱셈을 지원하기 위한 추가적인 프로비전(provision)을 한다. PKE 곱셈기에서의 이러한 추가적인 프로비전의 이유들은 두 가지이다: 이들 곡선은 다양한 ECC 표준들 사이에서 매우 널리 사용되고 이러한 비교적 비용이 적게 드는 아키텍처 개선은 이들 곡선에 대한 ECC 성능에서 10배의 개선을 야기한다.
이진 확장 필드들에 기초한 ECC에 대해, PKE는 GF(2) 필드에서 2개의 576 비트 이진 다항식을 곱할 수 있는 하드웨어 곱셈기(아래 도 11에 관하여 더 상세히 설명됨)를 지원한다. ECC 및 관련 계산들은 EPID의 암호 프레임워크의 기반 및 익명 증명에 대한 그것의 적용을 형성한다. ECC는 소수체들(즉, 곡선 상의 모든 포인트의 좌표들은 0과 p 사이의 정수들임)에 걸쳐 정의된 타원 곡선들 상의 포인트들이 유한 그룹을 형성한다는 개념에 의존하고, 곡선 상의 2개의 포인트는 수학식 (1)에 나타내어진 곡선 상의 제3 포인트를 생성하기 위해 '추가'될 수 있다:
Figure pct00016
여기서 a, b, x 및 y는 모두 어떤 소수 p에 대해 p보다 작은 정수들이다.
ECC는, 타원 곡선 상의 포인트 P가 그 자체에 k번 추가될 때, 그것은 다른 포인트 Q = [k]P를 생성한다는 개념에 기초한다. ECC 시스템에서, 비밀 정수 p가 개인 키에서 선택되고, 곡선 상의 잘 알려진 포인트 G에 대한 Q = [p]G가 그것의 공개 키일 것이다. ECC는, G 및 Q가 주어지고 타원 곡선을 정의하는 것의 파라미터들을 알고 있는 상황에서, 개인 키인 p의 값을 아는 것은 계산적으로 다루기 어렵다는 사실에 의존한다. 일반적으로, k 및 G가 주어질 때, [k]G를 구하는 ECC 포인트 곱셈은, 특히 현실적인 암호 프로토콜들이 256 이상의 비트 수의 소수에 의해 정의되는 수 필드들에서 ECC 포인트 그룹들을 이용한다는 점을 고려하면, 매우 번거롭다.
원격 익명 증명은 사용 모델들에 대한 PKC의 개념을 익명 증명 및 취소로 확장하기 위해 고유 개인 키(예를 들어, EPID)를 적용하는 암호 프로토콜이다. 익명 증명에서, 아이덴티티 그룹 내의 많은 멤버들은 그들의 개인 아이덴티티들을 공개할 필요 없이 그룹에서의 그들의 멤버십을 검증자에게 입증할 수 있다. 이 스킴에서는, 3개의 주요 엔티티가 있는데, 즉 개인 키들의 발행자, 그 각각이 그 자신의 개인 키를 얻는 그룹 멤버들, 및 그룹 멤버들에게 서비스 제공자로서 보일 수도 있는 검증자이다. 발행자는, 각각의 멤버의 수명에서 한번 실행되는, 이른바 조인(JOIN) 프로토콜을 통해 고유 개인 키(예를 들어, EPID)를 그룹의 각각의 멤버에게 할당한다. 조인 프로토콜의 끝에서, 멤버는 발행자에게 알려지지 않은 개인 키를 얻는다. 공개 키는 그룹의 모든 멤버들에 공통이고, 임의의 장래의 검증자(또는 서비스 제공자)에게 제공된다. 멤버들은 검증자에 의해 제공된 챌린지에 서명하는 것에 의해 그들의 멤버십을 입증할 수 있다. 입증 및 검증의 프로세스는 영지식 증명을 포함한다. 익명 증명의 주요 이점은 멤버들이 그들의 개인 아이덴티티들을 공개하지 않고, 그룹에 대한 그들의 멤버십 또는 가입을 입증할 수 있다는 것이다.
취소는 키들의 취소를 수반할 수 있다. 손상된 키들은 키 값들과 키들에 의해 서명된 트랜잭션들(여기서 키 자체는 알려지지 않음) 둘 다에 의해 식별될 수 있고 취소 리스트들은 검증자에 의해 유지된다. 검증자는 새로운 서명들을 수락하기 전에 그것들을 취소 리스트들과 대조한다.
타원 곡선 그룹들 위의 이중선형 맵들은 익명 증명을 위한 암호 기반을 제공한다. 이 스킴에서는, 2개의 타원 곡선 그룹 G1 및 G2가 선택되어, G1 x G2로부터 다른 순환 그룹 G로의 이중선형 매핑
Figure pct00017
가 존재하도록 하고, G1에서의 포인트 X 및 G2에서의 Y의 모든 쌍에 대해(각각), 다음의 진술이 참이 되도록 한다:
Figure pct00018
, 여기서 모든 곱셈은 각각의 타원 곡선 그룹에서의 포인트들의 곱셈을 나타낸다.
익명 증명은 제3 그룹 G3을 사용하고 G1, G2, f(G1, G2) 및 G3의 사용을 통해 공개 및 개인 키들을 정의한다. 공개 키의 도출, 조인 연산, 서명 생성 및 서명 검증을 수반하는 모든 계산들은 수 개의 타원 곡선 포인트 곱셈을 수반한다.
도 10은 예에 따른 에코시스템(1000)을 예시한다. 에코시스템(1000)은 EPID와 관련될 수 있지만, 예들은 이에 제한되지 않는다. 기관(authority)(예를 들어, EPID 기관)은 그룹들(예를 들어, EPID 그룹들)을 생성하고 개인 키들을 생성하는 것을 담당하고 멤버들 및 그룹들을 취소하는 것을 담당한다. EPID 기관은 그룹 공개 키들에 서명하기 위한 루트 ECC 키, EPID 미리 정의된 파라미터들, 및 취소 리스트들을 갖는다. 플랫폼(1002)은 서비스들을 수신하는 최종 소비자 디바이스(예를 들어, 계층화된 디바이스들(302, 304, 306)(도 3) 또는 도 1 및 도 2에 도시된 사용자 디바이스들 중 임의의 것)일 수 있다. 검증자(1004)는 특정 디바이스에 프리미엄 서비스들을 제공하는 서비스 제공자일 수 있다. 다수의 플랫폼들(1002)이 서비스들을 동시에 또는 거의 동시에 수신할 수 있고, 검증자(1004)의 검증들 및 증명들을 동시에 또는 거의 동시에 요청할 수 있다는 것을 알 것이다.
메시지(1006)에서, 검증자(1004)는 플랫폼(1002)이 아직 키들을 수신했는지에 관해 플랫폼(1002)에 쿼리한다. 플랫폼(1002)이 키들을 아직 수신하지 않았다면(통지(1008)에서 제공된 바와 같이), 검증자(1004)는 플랫폼(1002)의 그룹 ID를 요청한다(메시지(1010)). 플랫폼은 메시지(1012)에서 PrivateKey.GroupId를 제공하고 검증자(1004)는 메시지(1014)에서 그룹 공개 키를 제공한다. 플랫폼(1002)은 EPID 기관의 ECC 서명을 검증하는 것, 개인 키를 압축해제시키는 것, 압축해제된 개인 키를 보안 저장소에 저장하는 것, 및 그룹 공개 키 및 미리 정의된 파라미터들을 저장하는 것을 포함하는 동작들을 수행한다. 그 후 플랫폼(1002)은 메시지(1016)에서 프로비저닝이 완료되었음을 검증자(1004)에 통지한다.
EPID 알고리즘은 4개의 수학적 그룹: G1, G2, G3, 및 GT를 사용한다. 그룹들 G1, G2, 및 G3은 타원 곡선 그룹들이다. 그룹 GT는 유한체(finite field) 그룹이다.
Figure pct00019
G1은 크기가 512 비트이다. G1의 요소는 (x, y)의 포맷을 취하고, 여기서 x 및 y는 0 내지 q - 1 범위(언급된 값 포함)의 큰 정수들이다.
Figure pct00020
G2는 크기가 1536 비트이다. G2의 요소는 (x[0], x[1], x[2], y[0], y[1], y[2])의 포맷을 취하고, 여기서 x[i] 및 y[i]는 0 내지 q - 1 범위(언급된 값 포함)의 큰 정수들이다.
Figure pct00021
G3은 크기가 512 비트이다. G3의 요소는 (x, y)의 포맷을 취하고, 여기서 x 및 y는 0 내지 q - 1 범위(언급된 값 포함)의 큰 정수들이다.
Figure pct00022
GT는 크기가 1536 비트이다. GT의 요소는 (x[0], x[1], ..., x[5])의 포맷을 취하고, 여기서 x[i]는 0 내지 q - 1 범위(언급된 값 포함)의 큰 정수이다.
모든 EPID 그룹들은 G1, G2, G3, 및 GT에 대해 동일한 미리 정의된 파라미터들을 공유한다. 이들 그룹은 다음의 파라미터들에 의해 정의된다:
Figure pct00023
타원 곡선 그룹 G1의 파라미터들:
p (256-비트), 소수
q (256-비트), 소수
h (32-비트), 공통 인자(cofactor)라고도 나타내는 작은 정수
a (256-비트), 0 내지 q - 1 범위(언급된 값 포함)의 정수
b (256-비트), 0 내지 q - 1 범위(언급된 값 포함)의 정수
g1 (512-비트), G1의 생성자(요소)
Figure pct00024
타원 곡선 그룹 G2의 파라미터들:
p (256-비트), G1에서와 동일
q (256-비트), G1에서와 동일
a (256-비트), G1에서와 동일
b (256-비트), G1에서와 동일
coeff (768-비트), 기약 다항식(irreducible polynomial)의 계수들
coeff[0], coeff[1], coeff[2]: 0 내지 q - 1 범위(언급된 값 포함)의 256-비트 정수들
qnr (256-비트), 비이차잉여(quadratic nonresidue)(0 내지 q - 1 범위(언급된 값 포함)의 정수)
orderG2 (768-비트), G2 타원 곡선에서의 포인트의 총수
g2 (1536-비트), G2의 생성자(요소)
Figure pct00025
타원 곡선 그룹 G3의 파라미터들:
p' (256-비트), 소수
q' (256-비트), 소수
h' (32-비트), 공통 인자'라고도 나타내는 작은 정수, 보통 1
a' (256-비트), 0 내지 q' - 1 범위(언급된 값 포함)의 정수
b' (256-비트), 0 내지 q' - 1 범위(언급된 값 포함)의 정수
g3 (512-비트), G3의 생성자(요소)
Figure pct00026
유한체 그룹 GT의 파라미터들:
q (256-비트), G1에서와 동일
coeff (768-비트), G2에서와 동일
qnr (256-비트), G2에서와 동일
Figure pct00027
EPID 그룹의 공개 키는 다음의 요소들로 구성된다:
그룹 ID(적어도 32 비트, 일부 예들은 64 비트 또는 128 비트의 그룹 ID들을 가질 수 있기는 하지만)
h1 (512 비트): G1 내의 요소
h2 (512 비트): G1 내의 요소
w (1536 비트): 미리 정의된 1536-비트 타원 곡선 그룹 G2 내의 요소.
그룹 공개 키 및 미리 정의된 파라미터들이 비밀들이 아니긴 하지만, 플랫폼은 검증자에 의해 전송되는 것이 신뢰할 수 있는 것임을 검증해야 한다. EPID 그룹 공개 키 및 미리 정의된 파라미터들은 ECDSA.2를 사용하여 EPID 기관에 의해 디지털 서명된다. EPID 기관의 ECC 공개 키는 모든 플랫폼 디바이스들에서 하드코딩된다. 플랫폼은 개인 키 압축해제를 수행하기 위해 검증자들에 의해 전송된 데이터를 사용하기 전에 EPID 기관의 ECDSA 서명을 검증한다.
도 11은 예에 따른 공개 키 암호화(PKE)를 위한 계산들을 수행하기 위한 시스템(1100)을 예시한다. 기본 정수 필드(underlying integer field)를 정의하는 소수들은 잉여 계산(residue calculation)을 기본 '원시' 곱셈 연산과 인터리빙하는 것에 의해 (
Figure pct00028
에서와 같이) 모듈러 감소 연산들의 효율적인 프로세싱에 적합한 특수 구조를 갖는다. 작은 추가적인 HW 복잡성에 대해, 이 방법은 이들 곡선을 수반하는 ECC 연산들의 성능을 10배(by an order of magnitude) 개선할 것이다.
도 12는 예에 따른 인증 기관(CA)으로서 동작하는 장치에 의해 실행되는 방법(1200)의 흐름도를 예시한다. 방법(1200)은 임의의 컴퓨팅 시스템, 예를 들어, 데이터 센터 내의 컴퓨팅 시스템, 또는 에지 컴퓨팅 컴포넌트, 모바일 디바이스 등의 프로세싱 회로(예를 들어, 프로세싱 회로(1832)(도 18))에 의해 수행될 수 있다.
방법(1200)은 프로세싱 회로가 그룹에 조인하기 위한 요청을 수신하는 동작 1202로 시작될 수 있다. 요청은 도 8에 도시된 것들과 유사한 파라미터들을 포함할 수 있지만, 예들은 이에 제한되지 않는다.
방법(1200)은 프로세싱 회로가 그룹에 대한 식별 정보를 결정하는 동작 1204로 계속될 수 있다. 프로세싱 회로는 도 3 내지 도 4를 참조하여 본 명세서에서 앞서 설명된 바와 같이 TCI에 기초하여 해시 연산을 수행하는 것에 기초하여 이 결정을 할 수 있다. 그룹을 식별하는 즉시 프로세싱 회로가 그룹 크기가 임계치보다 작다고 결정하면(동작 1206), 프로세싱 회로는 요청을 저장하는 것 이외의 임의의 다른 추가 액션을 취하는 것 또는 그룹을 생성하는 것을 삼갈 수 있다(동작 1208). 그렇지 않으면, 동작 1210에서 프로세싱 회로는 (예를 들어, 요청에 포함된 정보로부터) 증명 증거를 획득한 다음 그룹 인증서에 포함시키기 위한 증명 증거를 선택할 수 있다. 동작 1212에서, 이 증명 증거는, 위치 기반인 경우, 지오펜스 정책을 적용하기 위해 사용될 수 있다. 동작 1216에서, 프로세싱 회로는 도 11을 참조하여 본 명세서에서 앞서 설명된 바와 같이 ECC를 이용하여 키를 결정하고, 동작 1218에서, 동작 1202의 원래의 요청에 응답하여 적어도 이 키 및 그룹에 대한 임의의 다른 정보(예를 들어, 그룹 인증서)를 제공할 수 있다.
도 13은 예에 따른 에지 컴퓨팅 네트워크에서 동작하는 노드에 대한 장치에 의해 실행되는 방법(1300)의 흐름도를 예시한다. 이 방법은 본 명세서에서 설명된 임의의 모바일 또는 고정 디바이스의 프로세싱 회로(예를 들어, 프로세서(1832)(도 18))에 의해 수행될 수 있다.
방법(1300)은 프로세싱 회로가 장치에 대응하는 각각의 디바이스의 계층을 식별하도록 계층 식별자를 구성하는 동작 1302로 시작될 수 있다. 동작 1302는 도 3 내지 도 5를 참조하여 위에 설명된 바와 유사하게 수행될 수 있다.
방법(1300)은 프로세싱 회로가 계층 식별자에 기초하여 그룹에 조인하기 위한 요청을 송신하는 동작 1304로 계속된다. 요청은 적어도 도 1 내지 도 3을 참조하여 본 명세서에서 설명된 바와 같은 임의의 유형의 임의의 CA에 송신될 수 있지만, 예들은 이에 제한되지 않는다. 요청은 적어도 계층 식별자 및 증명 증거를 포함할 수 있지만, 다른 정보가 포함될 수 있다. 요청에 응답하여, 프로세싱 회로는, 동작 1306에서, 요청에 응답하여, 계층 식별자에 의해 식별된 그룹에 대한 그룹 인증서를 수신할 수 있다. 그러나, 일부 예들에서, 요청은 CA가 요청되는 그룹의 그룹 크기가 충분히 크지 않다고 결정하면, 또는 임의의 다른 이유로 인해 큐잉될 수 있다.
다른 장치들, 시스템들 및 방법들
본 명세서에서 앞서 설명된 바와 같이, 일부 예들은 원격 데이터 센터와의 통신을 통해 구현될 수 있다. 그러나, 많은 예시적인 구현들이 에지 컴퓨팅을 사용하여 구현될 것으로 예상된다.
도 14는 현재 예들 중 다수에서 "에지 클라우드"로서 언급되는 프로세싱의 계층을 포함하는, 에지 컴퓨팅을 위한 구성의 개관을 보여주는 블록도(1400)이다. 다수의 종래의 네트워킹 계층(본 명세서에 도시되지 않은 것들을 포함함)을 포함할 수 있는 이러한 네트워크 토폴로지는 본 명세서에서 논의된 보안 메모리 관리 기법들 및 컴퓨팅 및 네트워크 구성들의 사용을 통해 확장될 수 있다.
도시된 바와 같이, 에지 클라우드(1410)는 기지국(1440), 로컬 프로세싱 허브(1450), 또는 중앙 오피스(1420)와 같은 에지 위치에 공동 배치되고, 따라서 다수의 엔티티들, 디바이스들, 및 장비 인스턴스들을 포함할 수 있다. 에지 클라우드(1410)는 클라우드 데이터 센터(1430)보다 엔드포인트(소비자 및 생산자) 데이터 소스들(1460)(예를 들어, 자율 차량들(1461), 사용자 장비(1462), 비즈니스 및 산업 장비(1463), 비디오 캡처 디바이스들(1464), 드론들(1465), 스마트 도시들 및 빌딩 디바이스들(1466), 센서들 및 IoT 디바이스들(1467) 등)에 훨씬 더 가까이 위치한다. 에지 클라우드(1410) 내의 에지들에 제공되는 컴퓨팅, 메모리, 및 저장 리소스들은 엔드포인트 데이터 소스들(1460)에 의해 사용되는 서비스들 및 기능들에 대한 초저지연 응답 시간들을 제공할 뿐만 아니라 에지 클라우드(1410)로부터 클라우드 데이터 센터(1430)를 향한 네트워크 백홀 트래픽을 감소시키는 데에 중요하고, 따라서 많은 이점들 중에서도 특히 에너지 소비 및 전체 네트워크 사용들을 개선한다.
컴퓨팅, 메모리, 및 저장은 부족한 리소스들이고, 일반적으로 에지 위치에 따라 감소한다(예를 들어, 기지국에서 또는 중앙 오피스에서보다 소비자 엔드 포인트 디바이스에서 이용가능한 프로세싱 리소스가 더 적다). 그러나, 에지 위치가 엔드포인트(예를 들어, UE들)에 더 가까울수록, 더 많이 공간 및 전력이 제약된다. 따라서, 에지 컴퓨팅은, 일반적인 설계 원리로서, 지리적으로 그리고 네트워크 액세스 시간 양쪽 모두에서 더 가까이 위치하는 더 많은 리소스들의 분포를 통해, 네트워크 서비스들을 위해 필요한 리소스들의 양을 최소화하려고 시도한다.
이하에서는 다수의 잠재적 배치들을 커버하고 일부 네트워크 운영자들 또는 서비스 제공자들이 그들 자신의 인프라스트럭처들을 가질 수 있는 제한들을 다루는 에지 클라우드 아키텍처의 양태들을 설명한다. 이들은, 에지 위치에 기초한 구성들의 변형(예를 들어, 기지국 레벨에서의 에지들이 더 제약된 성능을 가질 수 있기 때문에); 에지 위치들, 위치들의 계층들, 또는 위치들의 그룹들에 이용가능한 컴퓨팅, 메모리, 저장, 패브릭, 가속, 또는 유사한 리소스들의 유형에 기초한 구성들; 서비스, 보안, 및 관리 및 오케스트레이션 능력들; 및 최종 서비스들의 유용성 및 성능을 달성하기 위한 관련 목적들을 포함한다.
에지 컴퓨팅은 네트워크의 "에지"에서 또는 그에 더 가까이에서, 전형적으로, 데이터를 생산하고 소비하는 엔드포인트 디바이스들에 훨씬 더 가까운 기지국들, 게이트웨이들, 네트워크 라우터들, 또는 다른 디바이스들에서 구현되는 컴퓨팅 플랫폼의 사용을 통해 컴퓨팅이 수행되는 개발 패러다임이다. 예를 들어, 에지 게이트웨이 서버들은 연결된 클라이언트 디바이스들에 대한 저지연 사용 사례들(예를 들어, 자율 주행 또는 비디오 감시)에 대해 실시간으로 계산을 수행하기 위해 메모리 및 저장 리소스들의 풀들을 갖출 수 있다. 또는 예로서, 기지국들은 백홀 네트워크들을 통해 데이터를 추가로 통신하지 않고, 연결된 사용자 장비에 대한 서비스 작업 부하들을 직접 프로세싱하기 위해 컴퓨팅 및 가속 리소스들로 보강될 수 있다. 또는 다른 예로서, 중앙 오피스 네트워크 관리 하드웨어는 가상화된 네트워크 기능들을 수행하고 연결된 디바이스들에 대한 서비스들 및 소비자 기능들의 실행을 위한 컴퓨팅 리소스들을 제공하는 컴퓨팅 하드웨어로 대체될 수 있다. 이들 및 다른 시나리오들은, 아래에 더 상세히 논의되는 바와 같이, 마이크로서비스들 및 보안 데이터 관리 및 공유의 사용에 의해 향상될 수 있다.
도 14의 네트워크 아키텍처와 대조적으로, 전통적인 엔드포인트(예를 들어, UE, 차량-대-차량(vehicle-to-vehicle, V2V), 차량-대-모든 사물(vehicle-to-everything, V2X) 등) 애플리케이션들은 로컬 디바이스 또는 원격 클라우드 데이터 저장 및 프로세싱에 의존하여 정보를 교환 및 조정한다. 클라우드 데이터 배열은 장기간 데이터 수집 및 저장을 허용하지만, 충돌, 교통 신호등 변경 등과 같은 매우 시변하는 데이터에 대해서는 최적이 아니고, 지연 문제들을 충족시키려고 시도하는 데 실패할 수 있다.
통신 컨텍스트에서의 실시간 요구들에 따라, 에지 컴퓨팅 배치에서 데이터 프로세싱 및 저장 노드들의 계층적 구조가 정의될 수 있다. 예를 들어, 그러한 배치는 로컬 초저지연 프로세싱, 지역 저장 및 프로세싱뿐만 아니라 원격 클라우드 데이터 센터 기반 저장 및 프로세싱을 포함할 수 있다. 키 성능 지시자(key performance indicator, KPI)들은 센서 데이터가 가장 잘 전송되는 곳 및 그것이 프로세싱되거나 저장되는 곳을 식별하기 위해 사용될 수 있다. 이는 전형적으로 데이터의 ISO 계층 의존성에 의존한다. 예를 들어, 하위 계층(PHY, MAC, 라우팅 등) 데이터는 전형적으로 빠르게 변하고, 지연 요구들을 충족시키기 위해 로컬로 더 양호하게 처리된다. 애플리케이션 계층 데이터와 같은 상위 계층 데이터는 전형적으로 덜 시간 임계적이고 원격 클라우드 데이터 센터에 저장 및 프로세싱될 수 있다.
도 15는 구체적으로 IoT 디바이스들(1504)을 포함하는 다수의 IoT 네트워크들에 대해 사용될 수 있는 도메인 토폴로지의 단순화된 도면을 제공하고, IoT 네트워크들(1556, 1558, 1560, 1562)은 백본 링크들(1202)을 통해 각각의 게이트웨이들(1554)에 결합된다. 예를 들어, 다수의 IoT 디바이스들(1504)은 게이트웨이(1554)와 그리고 게이트웨이(1554)를 통해 서로 통신할 수 있다. 도면을 단순화하기 위해, 모든 IoT 디바이스(1504), 또는 통신 링크(예를 들어, 링크(1516, 1522, 1528, 또는 1532))가 라벨링되어 있는 것은 아니다. 백본 링크들(1502)은 광학 네트워크들을 포함하는 임의의 수의 유선 또는 무선 기술들을 포함할 수 있고, 로컬 영역 네트워크(LAN), 광역 네트워크(WAN), 또는 인터넷의 일부일 수 있다. 추가적으로, 그러한 통신 링크들은 다양한 디바이스들의 상호연결을 용이하게 하는 멀티플렉싱/디멀티플렉싱(MUXing/deMUXing) 컴포넌트들의 사용을 포함하여, IoT 디바이스들(1504) 및 게이트웨이들(1554) 둘 다 사이의 광학 신호 경로들을 용이하게 한다.
네트워크 토폴로지는 BLE(Bluetooth low energy) 링크들(1222)을 이용하는 네트워크(1556)와 함께 제공되는 메시 네트워크와 같은 임의의 수의 유형들의 IoT 네트워크들을 포함할 수 있다. 존재할 수 있는 다른 유형들의 IoT 네트워크들은 IEEE 802.11(Wi-Fi®) 링크들(1528)을 통해 IoT 디바이스들(1504)과 통신하기 위해 사용되는 무선 로컬 영역 네트워크(WLAN) 네트워크(1558), LTE/LTE-A(4G) 또는 5G 셀룰러 네트워크를 통해 IoT 디바이스들(1504)과 통신하기 위해 사용되는 셀룰러 네트워크(1560), 및 저전력 광역(LPWA) 네트워크(1562), 예를 들어, LoRa alliance에 의해 공포된 LoRaWan 사양과 호환가능한 LPWA 네트워크, 또는 IETF(Internet Engineering Task Force)에 의해 공포된 사양과 호환가능한 LPWAN(IPv6 over Low Power Wide-Area Networks) 네트워크를 포함한다. 또한, 각각의 IoT 네트워크들은 LTE 셀룰러 링크, LPWA 링크, 또는 Zigbee®와 같은 IEEE 802.15.4 표준에 기초한 링크와 같은 임의의 수의 통신 링크들을 이용하여 외부 네트워크 제공자(예를 들어, tier 2 또는 tier 3 제공자)와 통신할 수 있다. 각각의 IoT 네트워크들은 또한 다양한 네트워크 및 CoAP(Constrained Application Protocol)와 같은 인터넷 애플리케이션 프로토콜들의 사용으로 동작할 수 있다. 각각의 IoT 네트워크들은 또한 링크된 디바이스들 및 네트워크들의 클러스터 트리를 형성하는 링크들의 체인을 제공하는 코디네이터 디바이스들과 통합될 수 있다.
이들 IoT 네트워크 각각은 본 명세서에서 설명된 것들과 같은 새로운 기술적 특징들에 대한 기회들을 제공할 수 있다. 개선된 기술들 및 네트워크들은 포그 디바이스들 또는 시스템들로의 IoT 네트워크들의 사용을 포함하여, 디바이스들 및 네트워크들의 기하급수적 성장을 가능하게 할 수 있다. 그러한 개선된 기술들의 사용이 증가함에 따라, IoT 네트워크들은 직접적인 인간 개입을 필요로 하지 않고 자체-관리, 기능 진화, 및 협업을 위해 개발될 수 있다. 개선된 기술들은 심지어 IoT 네트워크들이 중앙집중식 제어 시스템들 없이 기능하는 것을 가능하게 할 수 있다. 따라서, 본 명세서에서 설명된 개선된 기술들은 현재 구현들을 훨씬 넘어서 네트워크 관리 및 동작 기능들을 자동화하고 향상시키기 위해 사용될 수 있다.
예에서, 예컨대 백본 링크들(1502)을 통한, IoT 디바이스들(1504) 사이의 통신들은 AAA(authentication, authorization, and accounting)를 위해 탈중앙화 시스템(decentralized system)에 의해 보호될 수 있다. 탈중앙화 AAA 시스템에서는, 상호연결된 이종 네트워크 인프라스트럭처에 걸쳐 분산 지불, 신용, 감사, 인가, 및 인증 시스템들이 구현될 수 있다. 이는 시스템들 및 네트워크들이 자율 동작들을 향해 나아가는 것을 가능하게 한다. 이들 유형들의 자율 동작들에서, 머신들은 심지어 인간 리소스들에 대해 계약할 수 있고 다른 머신 네트워크들과의 파트너십들을 협상할 수 있다. 이는 개략적으로 설명된, 계획된 서비스 레벨 협약들에 대한 상호 목적들 및 밸런싱된 서비스 제공의 달성뿐만 아니라 계량, 측정, 트레이스 가능성(traceability) 및 추적 가능성(trackability)을 제공하는 솔루션들을 달성하는 것을 가능하게 할 수 있다. 새로운 공급 체인 구조들 및 방법들의 생성은 어떠한 인간 관여도 없이 다수의 서비스가 생성되고, 가치를 위해 마이닝되고, 붕괴되는 것을 가능하게 할 수 있다.
그러한 IoT 네트워크들은 IoT 디바이스들 사이의 자율 조직들 내로의 사운드, 광, 전자 트래픽, 얼굴 및 패턴 인식, 냄새, 진동과 같은 감지 기술들의 통합에 의해 추가로 향상될 수 있다. 감각 시스템들의 통합은 계약 서비스 목적들, 오케스트레이션 및 리소스들의 QoS 기반 스워밍(swarming) 및 융합에 대한 서비스 제공의 체계적이고 자율적인 통신 및 조정을 가능하게 할 수 있다. 네트워크 기반 리소스 프로세싱의 개별 예들 중 일부는 다음에 언급한 것을 포함한다.
메시 네트워크(1556)는, 예를 들어, 인라인 데이터-정보 변환을 수행하는 시스템들에 의해 향상될 수 있다. 예를 들어, 멀티-링크 네트워크를 포함하는 프로세싱 리소스들의 자체-형성 체인들은 효율적인 방식으로 원시 데이터의 정보로의 변환, 및 자산들과 리소스들을 구별하는 능력 및 각각의 연관된 관리를 배포할 수 있다. 더욱이, 데이터 무결성, 품질, 보증을 개선하고 데이터 신뢰의 메트릭을 전달하기 위해 인프라스트럭처 및 리소스 기반 신뢰 및 서비스 인덱스들의 적절한 컴포넌트들이 삽입될 수 있다.
예를 들어, WLAN 네트워크(1558)는 다중 표준 연결을 제공하도록 표준 변환을 수행하는 시스템들을 이용하여, 상이한 프로토콜들을 사용하는 IoT 디바이스들(1504)이 통신하는 것을 가능하게 할 수 있다. 추가 시스템들은 가시적인 인터넷 리소스들 및 숨겨진 인터넷 리소스들을 포함하는 다중 표준 인프라스트럭처에 걸쳐 심리스한 상호연결을 제공할 수 있다.
셀룰러 네트워크(1560)에서의 통신은, 예를 들어, 데이터를 오프로드하는, 더 많은 원격 디바이스들로 통신을 확장하는, 또는 둘 다를 수행하는 시스템들에 의해 향상될 수 있다. LPWA 네트워크(1562)는 비-인터넷 프로토콜(IP) 대 IP 상호연결들, 어드레싱, 및 라우팅을 수행하는 시스템들을 포함할 수 있다. 또한, IoT 디바이스들(1504) 각각은 해당 디바이스와의 광역 통신을 위한 적절한 트랜시버를 포함할 수 있다. 또한, 각각의 IoT 디바이스(1504)는 추가 프로토콜들 및 주파수들을 사용하는 통신을 위한 다른 트랜시버들을 포함할 수 있다. 이는 도 17에 묘사된 IoT 프로세싱 디바이스의 통신 환경 및 하드웨어에 관하여 더 논의된다.
마지막으로, IoT 디바이스들의 클러스터들은 다른 IoT 디바이스들뿐만 아니라 클라우드 네트워크와 통신할 장비를 갖출 수 있다. 이는 IoT 디바이스들이 디바이스들 사이에 애드혹 네트워크를 형성하는 것을 가능하게 하여, 이들이, 포그 디바이스, 포그 플랫폼, 또는 포그 네트워크라고 지칭될 수 있는, 단일 디바이스로서 기능하는 것을 가능하게 할 수 있다. 이 구성은 아래 도 17에 관하여 더 논의된다.
도 16은 네트워킹된 시나리오에서 포그 플랫폼으로서 동작하는 IoT 디바이스들(디바이스들(1602))의 메시 네트워크와 통신하는 클라우드 컴퓨팅 네트워크를 예시한다. IoT 디바이스들의 메시 네트워크는, 클라우드(1600)의 에지에서 동작하는 디바이스들의 네트워크로부터 확립된 포그 네트워크(1620)라고 지칭될 수 있다. 도면을 단순화하기 위해, 모든 IoT 디바이스(1602)가 라벨링되어 있는 것은 아니다.
포그 네트워크(1620)는 다수의 IoT 디바이스들(1602)이, 예를 들어, 무선 링크들(1622)에 의해 서로 통신하고 있는, 대규모 상호연결된 네트워크인 것으로 간주될 수 있다. 포그 네트워크(1620)는 IoT 에지 디바이스들과 클라우드 또는 데이터 센터들 사이에 존재하는 것으로 간주될 수 있는 수평, 물리, 또는 가상 리소스 플랫폼을 확립할 수 있다. 일부 예들에서, 포그 네트워크는 계층화된, 연합된, 또는 분산 컴퓨팅, 저장, 및 네트워크 연결 동작들을 통해 수직으로 격리된 지연에 민감한 애플리케이션들을 지원할 수 있다. 그러나, 포그 네트워크는 또한 에지 및 클라우드에서 그리고 그들 사이에서 리소스들 및 서비스들을 분산시키기 위해 사용될 수 있다. 따라서, "에지", "포그", 및 "클라우드"에 대한 본 문서에서의 언급들은 반드시 별개이거나 서로 배타적인 것은 아니다.
예로서, 포그 네트워크(1620)는 OCF(Open Connectivity Foundation™)에 의해 공개된 상호연결 사양을 이용하여 용이하게 될 수 있다. 이 표준은 디바이스들이 서로를 발견하고 상호연결들을 위한 통신을 확립하는 것을 가능하게 한다. 예를 들어, 많은 것들 중에서도 특히, 최적화된 링크 상태 라우팅(optimized link state routing, OLSR) 프로토콜, 모바일 애드혹 네트워킹에 대한 더 양호한 접근법(better approach to mobile ad-hoc networking, B.A.T.M.A.N.) 라우팅 프로토콜, 또는 OMA LWM2M(Lightweight M2M) 프로토콜을 포함하는 다른 상호연결 프로토콜들이 또한 사용될 수 있다.
3가지 유형의 IoT 디바이스들(1602), 이 예에서는, 게이트웨이들(1604), 데이터 집계기들(1626), 및 센서들(1628)이 도시되어 있지만, IoT 디바이스들(1602)의 임의의 조합들 및 기능성이 사용될 수 있다. 게이트웨이들(1604)은 클라우드(1600)와 포그(1620) 사이의 통신들을 제공하는 에지 디바이스들일 수 있고, 또한 모션 데이터, 흐름 데이터, 온도 데이터 등과 같은 센서들(1628)로부터 획득된 데이터에 대한 백엔드 프로세스 기능을 제공할 수 있다. 데이터 집계기들(1626)은 임의의 수의 센서들(1628)로부터 데이터를 수집하고, 분석을 위해 백엔드 프로세싱 기능을 수행할 수 있다. 결과들, 원시 데이터, 또는 둘 다가 게이트웨이들(1604)을 통해 클라우드(1600)로 전달될 수 있다. 센서들(1628)은, 예를 들어, 데이터를 수집하는 것 및 데이터를 프로세싱하는 것 둘 다를 할 수 있는 풀 IoT 디바이스들(1602)일 수 있다. 일부 경우들에서, 센서들(1628)은, 예를 들어, 데이터를 수집하는 것 및 데이터 집계기들(1628) 또는 게이트웨이들(1604)이 데이터를 프로세싱하는 것을 가능하게 하는 것 등, 기능성에서 더 제한될 수 있다.
임의의 IoT 디바이스(1602)로부터의 통신들은 IoT 디바이스들(1602) 중 임의의 것 사이의 편리한 경로(예를 들어, 가장 편리한 경로)를 따라 전달되어 게이트웨이들(1604)에 도달할 수 있다. 이들 네트워크에서, 상호연결들의 수는 상당한 중복성을 제공하여, 다수의 IoT 디바이스들(1602)의 손실에도 불구하고 통신이 유지되는 것을 가능하게 한다. 또한, 메시 네트워크의 사용은 매우 낮은 전력인 또는 인프라스트럭처로부터 거리를 두고 위치하는 IoT 디바이스들(1602)이 사용되는 것을 가능하게 할 수 있는데, 그 이유는 다른 IoT 디바이스(1602)에 연결하기 위한 범위가 게이트웨이(1604)에 연결하기 위한 범위보다 훨씬 작을 수 있기 때문이다.
이들 IoT 디바이스(1302)로부터 제공되는 포그(1320)는, 서버(1606)와 같은 클라우드(1600) 내의 디바이스들에, 클라우드(1600)의 에지에 위치하는 단일 디바이스로서, 예를 들어, 포그 디바이스로서 제시될 수 있다. 이 예에서, 포그 디바이스로부터 오는 경보들은 포그(1620) 내의 특정 IoT 디바이스(1602)로부터 오는 것으로 식별되지 않고 전송될 수 있다. 이러한 방식으로, 포그(1620)는, 많은 것들 중에서도 특히, 데이터 분석, 데이터 집계, 및 머신 학습과 같은 프로세싱 또는 데이터 집약적 작업들을 수행하기 위해 컴퓨팅 및 저장 리소스들을 제공하는 분산 플랫폼으로 간주될 수 있다.
일부 예들에서, IoT 디바이스들(1602)은 명령형 프로그래밍 스타일(imperative programming style)을 이용하여 구성될 수 있어, 예를 들어, 각각의 IoT 디바이스(1602)가 특정 기능 및 통신 파트너들을 갖는다. 그러나, 포그 디바이스를 형성하는 IoT 디바이스들(1602)은 선언형 프로그래밍 스타일(declarative programming style)로 구성될 수 있어서, 예컨대 조건들, 쿼리들, 및 디바이스 고장들에 응답하여 필요한 리소스들을 결정하기 위해 IoT 디바이스들(1602)이 그들의 동작들 및 통신을 재구성하는 것을 가능하게 한다. 예로서, IoT 디바이스들(1602)에 의해 모니터링되는 장비의 서브세트의 동작들에 관한 서버(1606)에 위치하는 사용자로부터의 쿼리는 포그(1620) 디바이스가 쿼리에 응답하기 위해 필요한 특정 센서들(1628)과 같은, IoT 디바이스들(1602)을 선택하는 결과를 야기할 수 있다. 이들 센서(1628)로부터의 데이터는 그 후 쿼리에 응답하기 위해 포그(1620) 디바이스에 의해 서버(1606)로 전송되기 전에, 센서들(1628), 데이터 집계기들(1626), 또는 게이트웨이들(1604)의 임의의 조합에 의해 집계되고 분석될 수 있다. 이 예에서, 포그(1620) 내의 IoT 디바이스들(1602)은, 흐름 센서들 또는 온도 센서들로부터 데이터를 추가하는 것과 같이, 쿼리에 기초하여 사용되는 센서들(1628)을 선택할 수 있다. 또한, IoT 디바이스들(1602) 중 일부가 동작하지 않으면, 포그(1620) 디바이스 내의 다른 IoT 디바이스들(1602)이, 이용가능한 경우, 유사한 데이터를 제공할 수 있다.
다른 예들에서, 위에 설명된 동작들 및 기능성은 전자 프로세싱 시스템의 예시적인 형식의 IoT 디바이스 머신에 의해 구현될 수 있고, 그 안에서 전자 프로세싱 시스템으로 하여금, 예에 따른, 본 명세서에서 논의된 방법론들 중 어느 하나를 수행하게 하는, 명령어들의 세트 또는 시퀀스가 실행될 수 있다. 머신은 개인용 컴퓨터(PC), 태블릿 PC, 개인 휴대 정보 단말기(PDA), 이동 전화 또는 스마트폰의 양태들에 의해 구현되는 머신, 또는 해당 머신에 의해 취해질 액션들을 특정하는 명령어들(순차적 또는 다른 방식)을 실행할 수 있는 임의의 머신을 포함하는, IoT 디바이스 또는 IoT 게이트웨이일 수 있다.
또한, 프로세서 기반 시스템에 대한 이들 및 유사한 예들은 본 명세서에서 논의된 방법론들 중 어느 하나 이상을 수행하기 위한 명령어들을 개별적으로 또는 공동으로 실행하기 위해 프로세서, 프로세서들의 세트, 또는 프로세싱 회로(예를 들어, 컴퓨터 형식의 머신, UE, MEC 프로세싱 디바이스, IoT 프로세싱 디바이스 등)에 의해 제어되거나 동작되는 하나 이상의 머신의 임의의 세트를 포함하는 것으로 간주되어야 한다. 따라서, 다양한 예들에서, 프로세싱(예를 들어, 프로세싱, 제어, 생성, 평가 등)를 위한 적용가능한 수단은 그러한 프로세싱 회로에 의해 구현될 수 있다.
도 17은 다수의 IoT 디바이스들과 통신하는 클라우드 컴퓨팅 네트워크, 또는 클라우드(1700)의 도면을 예시한다. 클라우드(1700)는 인터넷을 나타낼 수 있거나, 로컬 영역 네트워크(LAN), 또는 회사용 사유 네트워크와 같은 광역 네트워크(WAN)일 수 있다. IoT 디바이스들은 다양한 조합들로 그룹화된 임의의 수의 상이한 유형의 디바이스들을 포함할 수 있다. 예를 들어, 교통 제어 그룹(1706)은 도시 내의 거리들을 따라 IoT 디바이스들을 포함할 수 있다. 이들 IoT 디바이스는 정지등들, 교통 흐름 모니터들, 카메라들, 날씨 센서들 등을 포함할 수 있다. 교통 제어 그룹(1706), 또는 다른 서브그룹들은 LPWA 링크들, 광학 링크들 등과 같은 유선 또는 무선 링크들(1708)을 통해 클라우드(1700)와 통신할 수 있다. 또한, 유선 또는 무선 서브-네트워크(1712)는 IoT 디바이스들이, 예컨대 로컬 영역 네트워크, 무선 로컬 영역 네트워크 등을 통해, 서로 통신하는 것을 허용할 수 있다. IoT 디바이스들은 클라우드(1700)와 같은 원격 위치들과 통신하기 위해 게이트웨이(1710 또는 1728)와 같은 다른 디바이스를 사용할 수 있다; IoT 디바이스들은 또한 클라우드(1700)와의 또는 게이트웨이(1710)와의 통신을 용이하게 하기 위해 하나 이상의 서버(1730)를 사용할 수 있다. 예를 들어, 하나 이상의 서버(1730)는 로컬 영역 네트워크 중의 로컬 에지 클라우드 또는 포그 구현을 지원하기 위한 중간 네트워크 노드로서 동작할 수 있다. 또한, 묘사되어 있는 게이트웨이(1728)는, 예컨대 다양한 IoT 디바이스들(1714, 1720, 1724)이 클라우드(1700) 내의 리소스들의 할당 및 사용에 대해 제약되거나 동적인, 클라우드-게이트웨이-다수의 에지 디바이스 구성에서 동작할 수 있다.
IoT 디바이스들의 다른 예시적인 그룹들은, 많은 것들 중에서도 특히, 원격 날씨 스테이션들(1714), 로컬 정보 단말들(1716), 경보 시스템들(1718), 자동 출납기들(1720), 경보 패널들(1722), 또는 긴급 차량들(1724) 또는 다른 차량들(1726)과 같은 움직이는 차량들을 포함할 수 있다. 이들 IoT 디바이스 각각은 다른 IoT 디바이스들과, 서버들(1704)과, 다른 IoT 포그 플랫폼 또는 시스템, 또는 그 안의 조합과 통신할 수 있다. IoT 디바이스들의 그룹들은 다양한 주거, 상업 및 산업 환경들에서(프라이빗 또는 퍼블릭 환경들 둘 다를 포함하여) 배치될 수 있다.
도 17로부터 알 수 있는 바와 같이, 많은 수의 IoT 디바이스들이 클라우드(1700)를 통해 통신할 수 있다. 이는 상이한 IoT 디바이스들이 다른 디바이스들에게 자율적으로 정보를 요청하거나 제공하는 것을 허용할 수 있다. 예를 들어, IoT 디바이스들의 그룹(예를 들어, 교통 제어 그룹(1706))은 인간의 개입 없이 예보를 제공할 수 있는 원격 날씨 스테이션들(1714)의 그룹에 현재 날씨 예보를 요청할 수 있다. 또한, 긴급 차량(1724)은 절도가 진행 중인 것을 자동 출납기(1720)에 의해 경보를 받을 수 있다. 긴급 차량(1724)이 자동 출납기(1720)를 향해 진행함에 따라, 그것은, 예를 들어, 긴급 차량(1724)이 교차로에 방해 받지 않고 접근할 수 있도록 충분한 시간 내에 교차로에서의 크로스 교통을 차단하기 위해 신호등을 적색으로 전환하는 것에 의해, 해당 위치까지의 클리어런스를 요청하기 위해 교통 제어 그룹(1706)에 액세스할 수 있다.
원격 날씨 스테이션들(1714) 또는 교통 제어 그룹(1706)과 같은 IoT 디바이스들의 클러스터들은 다른 IoT 디바이스들뿐만 아니라 클라우드(1700)와 통신할 장비를 갖출 수 있다. 이는 IoT 디바이스들이 디바이스들 사이에 애드혹 네트워크를 형성하는 것을 허용하여, 이들이, 포그 플랫폼 또는 시스템이라고 지칭될 수 있는, 단일 디바이스로서 기능하는 것을 허용할 수 있다(예를 들어, 도 16을 참조하여 위에 설명된 바와 같이).
도 18은 본 명세서에서 설명된 기법들 중 임의의 것을 구현하기 위해 에지 프로세싱 디바이스(1850)(예를 들어, 컴퓨터, IoT 디바이스, 에지 서버 등)에 존재할 수 있는 컴포넌트들의 예의 블록도이다. 디바이스(1850)는 예에서 도시되거나 위의 개시내용에서 참조된 컴포넌트들의 임의의 조합들을 포함할 수 있다. 컴포넌트들은 디바이스(1850)에 적응된 IC들, 그의 부분들, 개별 전자 디바이스들, 또는 다른 모듈들, 로직, 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 조합으로서, 또는 더 큰 시스템의 섀시 내에 달리 포함된 컴포넌트들로서 구현될 수 있다. 추가적으로, 도 18의 블록도는 디바이스(1850)의 컴포넌트들의 하이-레벨 뷰를 묘사하도록 의도되어 있다. 그러나, 다른 구현들에서는 도시된 컴포넌트들 중 일부가 생략될 수 있고, 추가 컴포넌트들이 존재할 수 있고, 도시된 컴포넌트들의 상이한 배열이 발생할 수 있다.
디바이스(1850)는 프로세서(1852) 형식의 프로세싱 회로를 포함할 수 있고, 이는 마이크로프로세서, 멀티-코어 프로세서, 멀티스레드 프로세서, 초저전압 프로세서, 임베디드 프로세서, 또는 다른 알려진 프로세싱 요소일 수 있다. 프로세서(1852)는 프로세서(1852) 및 다른 컴포넌트들이 단일 집적 회로 내로 형성되는 시스템 온 칩(SoC)의 일부, 또는 Intel로부터의 Edison™ 또는 Galileo™ SoC 보드들과 같은 단일 패키지일 수 있다. 예로서, 프로세서(1852)는 Quark™, Atom™, i3, i5, i7, 또는 MCU-클래스 프로세서와 같은, Intel® Architecture Core™ 기반 프로세서, 또는 캘리포니아주 산타 클라라의 Intel® Corporation으로부터 입수가능한 다른 그러한 프로세서를 포함할 수 있다. 그러나, 예를 들어, 캘리포니아주, 서니베일의 AMD(Advanced Micro Devices, Inc.)로부터 입수가능한 것, 캘리포니아주, 서니베일의 MIPS Technologies, Inc.로부터의 MIPS-기반 설계, ARM Holdings, Ltd. 또는 그의 고객, 또는 그들의 면허권자들 또는 사용권자로부터 라이센싱된 ARM-기반 설계와 같은, 임의의 수의 다른 프로세서들이 사용될 수 있다. 프로세서들은 Apple® Inc.로부터의 A5-A12 프로세서, Qualcomm® Technologies, Inc.로부터의 Snapdragon™ 프로세서 또는 Texas Instruments, Inc.로부터의 OMAP™ 프로세서와 같은 유닛들을 포함할 수 있다.
프로세서(1852)는 인터커넥트(1856)(예를 들어, 버스)를 통해 시스템 메모리(1854)와 통신할 수 있다. 주어진 양의 시스템 메모리를 제공하기 위해 임의의 수의 메모리 디바이스들이 사용될 수 있다. 예로서, 메모리는 DDR 또는 모바일 DDR 표준들(예를 들어, 번호 LPDDR, LPDDR2, LPDDR3, 또는 LPDDR4)과 같은 JEDEC(Joint Electron Devices Engineering Council) 설계에 따른 RAM(random access memory)일 수 있다. 다양한 구현들에서, 개별 메모리 디바이스들은 단일 다이 패키지(SDP), 듀얼 다이 패키지(DDP) 또는 쿼드 다이 패키지(Q17P)와 같은 임의의 수의 상이한 패키지 유형들일 수 있다. 이들 디바이스는, 일부 예들에서, 더 낮은 프로파일 솔루션을 제공하기 위해 마더보드 상에 직접 솔더링될 수 있는 반면, 다른 예들에서 디바이스들은 주어진 커넥터에 의해 마더보드에 차례로 결합되는 하나 이상의 메모리 모듈로서 구성된다. 다른 유형들의 메모리 모듈들, 예를 들어 microDIMM들 또는 MiniDIMM들을 포함하지만 이들로 제한되지 않는 상이한 다양성들의 DIMM(dual inline memory module)들과 같은 임의의 수의 다른 메모리 구현들이 사용될 수 있다.
데이터, 애플리케이션, 운영 체제 등과 같은 정보의 영구적 저장을 제공하기 위해, 저장소(1858)가 인터커넥트(1856)를 통해 프로세서(1852)에 결합될 수도 있다. 예에서, 저장소(1858)는 솔리드 스테이트 디스크 드라이브(SSDD)를 통해 구현될 수 있다. 저장소(1858)에 사용될 수 있는 다른 디바이스들은 SD 카드들, microSD 카드들, xD 픽처 카드들 등과 같은 플래시 메모리 카드들, 및 USB 플래시 드라이브들을 포함한다. 저전력 구현들에서, 저장소(1858)는 프로세서(1852)와 연관된 온-다이 메모리 또는 레지스터들일 수 있다. 그러나, 일부 예들에서, 저장소(1858)는 마이크로 하드 디스크 드라이브(HDD)를 이용하여 구현될 수 있다. 또한, 설명된 기술들에 더하여, 또는 그 대신에, 많은 것들 중에서도 특히, 저항 변화 메모리들, 상 변화 메모리들, 홀로그래픽 메모리들, 또는 화학 메모리들과 같은, 임의의 수의 새로운 기술들이 저장소(1858)에 사용될 수 있다.
컴포넌트들은 인터커넥트(1856)를 통해 통신할 수 있다. 인터커넥트(1856)는 ISA(industry standard architecture), EISA(extended ISA), PCI(peripheral component interconnect), PCIx(peripheral component interconnect extended), PCIe(PCI express), 또는 임의의 수의 다른 기술들을 포함하는 임의의 수의 기술들을 포함할 수 있다. 인터커넥트(1856)는, 예를 들어, SoC 기반 시스템에서 사용되는 사유 버스일 수 있다. 많은 것들 중에서도 특히, I2C 인터페이스, SPI 인터페이스, 포인트 투 포인트 인터페이스들, 및 전력 버스와 같은, 다른 버스 시스템들이 포함될 수 있다.
인터커넥트(1856)는, 다른 메시 디바이스들(1864)과의 통신을 위해, 프로세서(1852)를 메시 트랜시버(1852)에 결합할 수 있다. 메시 트랜시버(1852)는, 많은 것들 중에서도 특히, Bluetooth® Special Interest Group에 의해 정의된 바와 같은, BLE(Bluetooth® low energy) 표준, 또는 ZigBee® 표준을 이용하여, IEEE 802.15.4 표준 하에서 2.4 기가헤르츠(GHz) 송신들과 같은 임의의 수의 주파수들 및 프로토콜들을 사용할 수 있다. 특정 무선 통신 프로토콜을 위해 구성된 임의의 수의 무선기들이 메시 디바이스들(1864)로의 연결들을 위해 사용될 수 있다. 예를 들어, WLAN 유닛은 IEEE(Institute of Electrical and Electronics Engineers) 802.11 표준에 따라 Wi-Fi™ 통신을 구현하기 위해 사용될 수 있다. 또한, 예를 들어, 셀룰러 또는 다른 무선 광역 프로토콜에 따른 무선 광역 통신이 WWAN 유닛을 통해 발생할 수 있다.
메시 트랜시버(1852)는 상이한 거리에서의 통신을 위해 다수의 표준 또는 무선기를 이용하여 통신할 수 있다. 예를 들어, 디바이스(1850)는, BLE에 기초한 로컬 트랜시버, 또는 다른 저전력 무선기를 이용하여, 예를 들어, 약 10 미터 내의 가까운 디바이스들과 통신하여, 전력을 절약할 수 있다. 예를 들어, 약 50 미터 내의, 더 멀리 있는 메시 디바이스들(1864)은 ZigBee 또는 다른 중간 전력 무선기들을 통해 도달될 수 있다. 양쪽 통신 기법들은 상이한 전력 레벨들에서 단일 무선기를 통해 발생할 수 있거나, 별개의 트랜시버들을 통해, 예를 들어, BLE를 사용하는 로컬 트랜시버 및 ZigBee를 사용하는 별개의 메시 트랜시버를 통해 발생할 수 있다.
로컬 또는 광역 네트워크 프로토콜들을 통해 클라우드(1800) 내의 디바이스들 또는 서비스들과 통신하기 위해 무선 네트워크 트랜시버(1866)가 포함될 수 있다. 무선 네트워크 트랜시버(1866)는, 많은 것들 중에서도 특히, IEEE 802.15.4, 또는 IEEE 802.15.4g 표준들을 따르는 LPWA 트랜시버일 수 있다. 디바이스(1860)는 Semtech 및 LoRa Alliance에 의해 개발된 LoRaWAN™(Long Range Wide Area Network)을 이용하여 광역에 걸쳐 통신할 수 있다. 본 명세서에서 설명된 기법들은 이들 기술로 제한되지 않고, 장거리, 낮은 대역폭 통신, 예컨대 Sigfox, 및 다른 기술들을 구현하는 임의의 수의 다른 클라우드 트랜시버들과 함께 사용될 수 있다. 또한, IEEE 802.15.4e 사양에 기술된 시간 슬롯 채널 호핑과 같은 다른 통신 기법들이 사용될 수 있다.
본 명세서에서 설명된 바와 같이, 메시 트랜시버(1852) 및 무선 네트워크 트랜시버(1866)에 대해 언급된 시스템들에 더하여 임의의 수의 다른 무선 통신 및 프로토콜들이 사용될 수 있다. 예를 들어, 무선 트랜시버들(1852 및 1866)은 고속 통신을 구현하기 위해 확산 스펙트럼(SPA/SAS) 통신을 사용하는 LTE 또는 다른 셀룰러 트랜시버를 포함할 수 있다. 또한, 네트워크 통신의 제공 및 중속 통신을 위해 Wi-Fi® 네트워크들과 같은 임의의 수의 다른 프로토콜들이 사용될 수 있다.
무선 트랜시버들(1852 및 1866)은 임의의 수의 3GPP(Third Generation Partnership Project) 사양들, 특히 LTE(Long Term Evolution), LTE-A(Long Term Evolution-Advanced), 및 LTE-A Pro(Long Term Evolution-Advanced Pro)와 호환가능한 무선기들을 포함할 수 있다. 임의의 수의 다른 고정, 모바일, 또는 위성 통신 기술들 및 표준들과 호환가능한 무선기들이 선택될 수 있다는 점에 유의할 수 있다. 이들은, 예를 들어, 임의의 셀룰러 광역 무선 통신 기술을 포함할 수 있고, 이는 예를 들어 5세대(5G) 통신 시스템, GSM(Global System for Mobile Communications) 무선 통신 기술, GPRS(General Packet Radio Service) 무선 통신 기술, 또는 EDGE(Enhanced Data Rates for GSM Evolution) 무선 통신 기술, UMTS(Universal Mobile Telecommunications System) 통신 기술을 포함할 수 있다. 위에 열거된 표준들에 더하여, 많은 것들 중에서도 특히, 예를 들어, ITU(International Telecommunication Union), 또는 ETSI(European Telecommunications Standards Institute)에 의해 발행된 표준들을 준수하는 무선기들을 포함하는, 임의의 수의 위성 업링크 기술들이 무선 네트워크 트랜시버(1866)에 사용될 수 있다. 따라서, 본 명세서에 제공된 예들은 기존의 그리고 아직 공식화되지 않은 양쪽 모두의 다양한 다른 통신 기술들에 적용가능한 것으로 이해된다.
유선 통신을 클라우드(1800)에 또는 메시 디바이스들(1864)과 같은 다른 디바이스들에 제공하기 위해 네트워크 인터페이스 컨트롤러(NIC)(1868)가 포함될 수 있다. 유선 통신은 이더넷 연결을 제공할 수 있거나, 많은 것들 중에서도 특히, CAN(Controller Area Network), LIN(Local Interconnect Network), DeviceNet, ControlNet, Data Highway+, PROFIBUS, 또는 PROFINET와 같은 다른 유형의 네트워크들에 기초할 수 있다. 제2 네트워크로의 연결을 가능하게 하기 위해 추가 NIC(1868), 예를 들어, 이더넷을 통해 클라우드에 통신을 제공하는 NIC(1868), 및 다른 유형의 네트워크를 통해 다른 디바이스들에 통신을 제공하는 제2 NIC(1868)가 포함될 수 있다.
디바이스로부터 다른 컴포넌트 또는 네트워크로의 다양한 유형들의 적용가능한 통신들이 주어지면, 디바이스에 의해 사용되는 적용가능한 통신 회로는 컴포넌트들(1852, 1866, 1868, 또는 1870) 중 어느 하나 이상을 포함하거나 그에 의해 구현될 수 있다. 따라서, 다양한 예들에서, 통신(예를 들어, 수신, 송신 등)을 위한 적용가능한 수단은 그러한 통신 회로에 의해 구현될 수 있다.
인터커넥트(1856)는 외부 디바이스들 또는 서브시스템들을 연결하기 위해 사용되는 외부 인터페이스(1870)에 프로세서(1852)를 결합할 수 있다. 외부 디바이스들은 가속도계들, 레벨 센서들, 흐름 센서들, 광학 광 센서들, 카메라 센서들, 온도 센서들, 글로벌 포지셔닝 시스템(GPS) 센서들, 압력 센서들, 기압 센서들 등과 같은 센서들(1872)을 포함할 수 있다. 외부 인터페이스(1870)는 추가로 디바이스(1850)를 전력 스위치들, 밸브 액추에이터들, 가청 사운드 생성기, 시각적 경고 디바이스 등과 같은 액추에이터들(1874)에 연결하기 위해 사용될 수 있다.
일부 옵션 예들에서, 다양한 입력/출력(I/O) 디바이스들이 디바이스(1850) 내에 존재하거나 그에 연결될 수 있다. 예를 들어, 센서 판독 또는 액추에이터 위치와 같은 정보를 보여주기 위해 디스플레이 또는 다른 출력 디바이스(1884)가 포함될 수 있다. 입력을 수용하기 위해 터치 스크린 또는 키패드와 같은 입력 디바이스(1886)가 포함될 수 있다. 출력 디바이스(1884)는, 이진 상태 지시기들(예를 들어, LED들) 및 다중 문자 시각적 출력들과 같은 단순한 시각적 출력들, 또는 디스플레이 스크린들(예를 들어, LCD 스크린들)과 같은 더 복잡한 출력들을 포함하는 임의의 수의 형식의 오디오 또는 시각적 디스플레이를 포함할 수 있고, 문자들, 그래픽들, 멀티미디어 객체들 등의 출력이 디바이스(1850)의 동작으로부터 발생되거나 생성된다.
배터리(1876)는 디바이스(1850)에 전력을 공급할 수 있지만, 디바이스(1850)가 고정된 위치에 장착되는 예들에서, 그것은 전기 그리드에 결합된 전원을 가질 수 있다. 배터리(1876)는 리튬 이온 배터리, 또는 아연-공기 배터리, 알루미늄-공기 배터리, 리튬-공기 배터리와 같은 금속-공기 배터리 등일 수 있다.
배터리(1876)의 충전 상태(SoCh)를 추적하기 위해 디바이스(1850)에 배터리 모니터/충전기(1878)가 포함될 수 있다. 배터리 모니터/충전기(1878)는 배터리(1876)의 건강 상태(SoH) 및 기능 상태(SoF)와 같은 고장 예측들을 제공하기 위해 배터리(1876)의 다른 파라미터들을 모니터링하기 위해 사용될 수 있다. 배터리 모니터/충전기(1878)는 Linear Technologies로부터의 LTC4020 또는 LTC2990과 같은 배터리 모니터링 집적 회로, 아리조나주 피닉스의 ON Semiconductor로부터의 ADT7488A, 또는 텍사스주 달라스의 Texas Instruments로부터의 UCD90xxx 패밀리로부터의 IC를 포함할 수 있다. 배터리 모니터/충전기(1878)는 배터리(1876)에 관한 정보를 인터커넥트(1856)를 통해 프로세서(1852)에 전달할 수 있다. 배터리 모니터/충전기(1878)는 프로세서(1852)가 배터리(1876)의 전압 또는 배터리(1876)로부터의 전류 흐름을 직접 모니터링하는 것을 가능하게 하는 아날로그-디지털(ADC) 컨버터를 또한 포함할 수 있다. 배터리 파라미터들은 송신 주파수, 메시 네트워크 동작, 감지 주파수 등과 같은, 디바이스(1850)가 수행할 수 있는 액션들을 결정하기 위해 사용될 수 있다.
그리드에 결합된 전력 블록(1880), 또는 다른 전원이 배터리(1876)를 충전하기 위해 배터리 모니터/충전기(1878)와 결합될 수 있다. 일부 예들에서, 전력 블록(1880)은 무선 전력 수신기로 대체되어, 예를 들어, 디바이스(1850) 내의 루프 안테나를 통해 무선으로 전력을 획득할 수 있다. 많은 것들 중에서도 특히, 캘리포니아주 밀피타스의 Linear Technologies로부터의 LTC4020 칩과 같은 무선 배터리 충전 회로가 배터리 모니터/충전기(1878)에 포함될 수 있다. 선택된 특정 충전 회로들은 배터리(1876)의 크기, 및 따라서, 요구되는 전류에 의존한다. 충전은, 많은 것들 중에서도 특히, Airfuel Alliance에 의해 공포된 Airfuel 표준, Wireless Power Consortium에 의해 공포된 Qi 무선 충전 표준, 또는 Alliance for Wireless Power에 의해 공포된 Rezence 충전 표준을 이용하여 수행될 수 있다.
저장소(1858)는 본 명세서에서 설명된 기법들을 구현하기 위한 소프트웨어, 펌웨어 또는 하드웨어 커맨드들의 형식으로 된 명령어들(1882)을 포함할 수 있다. 그러한 명령어들(1882)이 메모리(1854) 및 저장소(1858)에 포함된 코드 블록들로서 도시되어 있지만, 코드 블록들 중 임의의 것이 예를 들어 ASIC(application specific integrated circuit)에 내장된 하드와이어드 회로들로 대체될 수 있다는 것을 이해할 수 있다.
예에서, 메모리(1854), 저장소(1858), 또는 프로세서(1852)를 통해 제공되는 명령어들(1882)은 디바이스(1850) 내의 전자 동작들을 수행하도록 프로세서(1852)에 지시하는 코드를 포함하는 비-일시적 머신 판독가능 매체(1860)로서 구현될 수 있다. 프로세서(1852)는 인터커넥트(1856)를 통해 비-일시적 머신 판독가능 매체(1860)에 액세스할 수 있다. 예를 들어, 비-일시적 머신 판독가능 매체(1860)는 저장소(1858)에 대해 설명된 디바이스들에 의해 구현될 수 있거나 광학 디스크들, 플래시 드라이브들, 또는 임의의 수의 다른 하드웨어 디바이스들과 같은 특정 저장 유닛들을 포함할 수 있다. 비-일시적 머신 판독가능 매체(1860)는, 예를 들어, 위에 묘사된 동작들 및 기능성의 흐름도(들) 및 블록도(들)에 관하여 설명된 바와 같이, 액션들의 특정 시퀀스 또는 흐름을 수행하도록 프로세서(1852)에 지시하는 명령어들을 포함할 수 있다.
추가 예들에서, 머신 판독가능 매체는 머신에 의한 실행을 위한 명령어들을 저장, 인코딩 또는 반송할 수 있는 그리고 머신으로 하여금 본 개시내용의 방법론들 중 어느 하나 이상을 수행하게 하는, 또는 그러한 명령어들에 의해 이용되거나 그와 연관된 데이터 구조들을 저장, 인코딩 또는 반송할 수 있는 임의의 유형 매체를 또한 포함한다. 따라서, "머신 판독가능 매체"는 솔리드 스테이트 메모리들, 및 광학 및 자기 매체들을 포함할 수 있지만, 이들로 제한되지 않는다. 머신 판독가능 매체의 특정 예들은, 예로서, 반도체 메모리 디바이스들(예를 들어, 전기적으로 프로그램 가능한 판독 전용 메모리(EPROM), 전기적으로 소거 가능한 프로그램 가능한 판독 전용 메모리(EEPROM)) 및 플래시 메모리 디바이스들을 포함하지만 이들로 제한되지 않는 비휘발성 메모리; 내부 하드 디스크들 및 이동식 디스크들과 같은 자기 디스크들; 광자기 디스크들; 및 CD-ROM 및 DVD-ROM 디스크들을 포함한다. 머신 판독가능 매체에 의해 구현되는 명령어들은 또한 다수의 전송 프로토콜(예를 들어, HTTP) 중 어느 하나를 이용하는 네트워크 인터페이스 디바이스를 통해 송신 매체를 이용하여 통신 네트워크를 통해 송신 또는 수신될 수 있다.
비-일시적인 포맷으로 데이터를 호스팅할 수 있는 저장 디바이스 또는 다른 장치에 의해 머신 판독가능 매체가 제공될 수 있다. 예에서, 머신 판독가능 매체 상에 저장되거나 또는 달리 제공되는 정보는 명령어들 자체 또는 명령어들이 도출될 수 있는 포맷과 같은 명령어들을 나타낼 수 있다. 명령어들이 도출될 수 있는 이 포맷은 소스 코드, 인코딩된 명령어들(예를 들어, 압축된 또는 암호화된 형식의), 패키징된 명령어들(예를 들어, 다수의 패키지들로 분할된) 등을 포함할 수 있다. 머신 판독가능 매체 내의 명령어들을 나타내는 정보는 프로세싱 회로에 의해 본 명세서에서 논의된 동작들 중 임의의 것을 구현하는 명령어들로 프로세싱할 수 있다. 예를 들어, 정보로부터 명령어들을 도출하는 것(예를 들어, 프로세싱 회로에 의해 프로세싱하는 것)은 다음을 포함할 수 있다: 컴파일하는 것(예를 들어, 소스 코드, 객체 코드 등으로부터), 해석하는 것, 로딩하는 것, 조직하는 것(예를 들어, 동적으로 또는 정적으로 링크하는 것), 인코딩하는 것, 디코딩하는 것, 암호화하는 것, 암호 해제하는 것, 패키징하는 것, 언패키징하는 것, 또는 달리 정보를 명령어들로 조작하는 것.
예에서, 명령어들의 도출은 머신 판독가능 매체에 의해 제공되는 어떤 중간 또는 전처리된 포맷으로부터 명령어들을 생성하기 위한 정보의 조립, 컴파일, 또는 해석(예를 들어, 프로세싱 회로에 의한)을 포함할 수 있다. 정보는, 다수의 부분으로 제공될 때, 명령어들을 생성하기 위해 조합, 언패킹, 및 수정될 수 있다. 예를 들어, 정보는 하나 또는 수 개의 원격 서버들 상에서 다수의 압축된 소스 코드 패키지들(또는 객체 코드, 또는 이진 실행가능 코드 등)에 있을 수 있다. 소스 코드 패키지들은 네트워크를 통해 전송 중일 때 암호화되고 필요한 경우 암호 해독되고, 압축 해제되고, 조립되고(예를 들어, 링크되고), 로컬 머신에서 컴파일 또는 해석되고(예를 들어, 라이브러리, 독립형 실행파일 등으로), 로컬 머신에 의해 실행될 수 있다.
본 명세서에서 설명된 기능 유닛들 또는 능력들은, 그들의 구현 독립성을 더욱 특히 강조하기 위해, 컴포넌트들 또는 모듈들로서 라벨링되거나 언급되었을 수 있다는 점을 이해해야 한다. 그러한 컴포넌트들은 임의의 수의 소프트웨어 또는 하드웨어 형식들에 의해 구현될 수 있다. 예를 들어, 컴포넌트 또는 모듈은 커스텀 VLSI(very-large-scale integration) 회로들 또는 게이트 어레이들, 로직 칩들, 트랜지스터들, 또는 다른 개별 컴포넌트들과 같은 기성품(off-the-shelf) 반도체들을 포함하는 하드웨어 회로로서 구현될 수 있다. 컴포넌트 또는 모듈은 필드 프로그래머블 게이트 어레이들, 프로그래머블 어레이 로직, 프로그래머블 로직 디바이스들 등과 같은 프로그래머블 하드웨어 디바이스들로 또한 구현될 수 있다. 컴포넌트들 또는 모듈들은 다양한 유형의 프로세서들에 의한 실행을 위해 소프트웨어로 또한 구현될 수 있다. 예를 들어, 실행가능 코드의 식별된 컴포넌트 또는 모듈은, 예를 들어, 객체, 프로시저, 또는 함수로서 조직될 수 있는, 컴퓨터 명령어들의 하나 이상의 물리 또는 논리 블록을 포함할 수 있다. 그럼에도 불구하고, 식별된 컴포넌트 또는 모듈의 실행파일들은 물리적으로 함께 위치할 필요가 없고, 논리적으로 함께 결합될 때, 컴포넌트 또는 모듈을 포함하고 그 컴포넌트 또는 모듈에 대한 언급된 목적을 달성하는, 상이한 위치들에 저장된 이질적인 명령어들을 포함할 수 있다.
사실상, 실행가능 코드의 컴포넌트 또는 모듈은 단일 명령어, 또는 다수의 명령어일 수 있고, 심지어, 수 개의 상이한 코드 세그먼트들에 걸쳐, 상이한 프로그램들 사이에, 및 수 개의 메모리 디바이스들 또는 프로세싱 시스템들에 걸쳐 분산될 수도 있다. 특히, 설명된 프로세스의 일부 양태들(예컨대 코드 재기입 및 코드 분석)은 코드가 배치되어 있는 것(예를 들어, 센서 또는 로봇에 임베드된 컴퓨터에서)과는 상이한 프로세싱 시스템 상에서(예를 들어, 데이터 센터 내의 컴퓨터에서) 발생할 수 있다. 유사하게, 운영 데이터가 본 명세서에서 컴포넌트들 또는 모듈들 내에서 식별되고 예시될 수 있고, 임의의 적합한 형식으로 구현되고 임의의 적합한 유형의 데이터 구조 내에서 조직될 수 있다. 운영 데이터는 단일 데이터 세트로 수집될 수 있거나, 상이한 저장 디바이스들을 포함하는 상이한 위치들에 걸쳐 분산될 수 있고, 시스템 또는 네트워크 상에서 단지 전자 신호들로서 적어도 부분적으로 존재할 수 있다. 컴포넌트들 또는 모듈들은, 원하는 기능들을 수행하도록 동작가능한 에이전트들을 포함하여, 수동형 또는 능동형일 수 있다.
추가적인 예들
현재 설명되는 방법, 시스템, 및 디바이스 실시예들의 추가의 예들은 다음의 비제한적인 구성들을 포함한다. 다음의 비제한적인 예들 각각은 그 자체로서 독립할 수 있거나, 본 개시내용 전체에 걸쳐 또는 아래에 제공되는 다른 예들 중 어느 하나 이상과의 임의의 치환 또는 조합으로 조합될 수 있다.
예 1은 인증 기관(CA)으로서 동작하는 장치로서, 이 장치는 프로세싱 회로; 및 그 위에 구현된 명령어들을 포함하는 메모리 디바이스를 포함하고, 상기 명령어들은, 상기 프로세싱 회로에 의해 실행될 때, 복수의 요청 디바이스로부터 그룹에 조인하기 위한 요청을 수신하고 - 상기 요청은 상기 그룹에 대한 식별 정보 및 상기 복수의 요청 디바이스에 대한 증명 증거를 포함함 -; 상기 요청을 수신하는 것에 응답하여, 상기 그룹에 대한 그룹 인증서를 상기 복수의 요청 디바이스에 제공하는 동작들을 수행하도록 상기 프로세싱 회로를 구성한다.
예 2에서, 예 1의 주제는 상기 요청은 상기 복수의 요청 디바이스 중의 디바이스를 고유하게 식별하는 정보를 포함하지 않는 것을 옵션으로 포함한다.
예 3에서, 예 1-2 중 어느 하나의 주제는 상기 복수의 디바이스 중 적어도 하나의 디바이스는 모바일 디바이스이고 상기 복수의 디바이스 중 적어도 하나의 디바이스는 고정형 디바이스인 것을 옵션으로 포함한다.
예 4에서, 예 1-3 중 어느 하나의 주제는 상기 동작들은 상기 그룹이 적어도 임계 수의 멤버들을 포함하는지를 검증하는 것 및 상기 그룹이 적어도 상기 임계 수의 멤버들을 포함하지 않으면 상기 그룹 인증서를 제공하는 것을 삼가는 것을 추가로 포함하는 것을 옵션으로 포함한다.
예 5에서, 예 1-4 중 어느 하나의 주제는 상기 식별 정보는 EPID(Enhanced Privacy ID) 패밀리의 표준들을 준수하는 것을 옵션으로 포함한다.
예 6에서, 예 5의 주제는 상기 식별 정보는 신뢰 컴퓨팅 베이스(TCB) 컴포넌트 식별자(TCI)인 것을 옵션으로 포함한다.
예 7에서, 예 6의 주제는 상기 동작들은 상기 그룹에 대한 식별 정보를 결정하기 위해 상기 TCI에 기초하여 해시 연산을 수행하는 것을 추가로 포함하는 것을 옵션으로 포함한다.
예 8에서, 예 6의 주제는 상기 동작들은 상기 증명 증거를 사용하여 상기 그룹 인증서에 포함시키기 위한 증명 증거를 선택하는 동작들을 추가로 포함하는 것을 옵션으로 포함한다.
예 9에서, 예 1-8 중 어느 하나의 주제는 상기 장치는 네트워크 인터페이스, 서버, 랙, 데이터 센터, 또는 모바일 서버 중 하나 이상에 포함되는 것을 옵션으로 포함한다.
예 10에서, 예 1-9 중 어느 하나의 주제는 상기 프로세싱 회로는 상기 복수의 요청 디바이스가 조인하기를 요청하고 있는 상기 그룹 내의 디바이스의 컴포넌트인 것을 옵션으로 포함한다.
예 11에서, 예 1-10 중 어느 하나의 주제는 상기 동작들은 타원 곡선 암호기법(ECC)을 사용하여 키를 결정하는 것을 추가로 포함하는 것을 옵션으로 포함한다.
예 12에서, 예 1-11 중 어느 하나의 주제는 상기 증명 증거는 위치 기반인 것을 옵션으로 포함한다.
예 13에서, 예 12의 주제는 상기 동작들은 상기 증명 증거에 기초하여 지오펜스 정책을 적용하는 것을 추가로 포함하는 것을 옵션으로 포함한다.
예 14는 에지 컴퓨팅 네트워크에서 동작하는 노드에 대한 장치로서, 이 장치는: 프로세싱 회로; 및 그 위에 구현된 명령어들을 포함하는 메모리 디바이스를 포함하고, 상기 명령어들은, 상기 프로세싱 회로에 의해 실행될 때, 상기 디바이스의 계층을 식별하도록 계층 식별자를 구성하고; 상기 계층 식별자에 기초하여 그룹에 조인하기 위한 요청을 인증 기관(CA)에 송신하고 - 상기 요청은 상기 계층 식별자 및 증명 증거를 포함함 -; 상기 요청에 응답하여, 상기 계층 식별자에 의해 식별된 상기 그룹에 대한 그룹 인증서를 수신하는 동작들을 수행하도록 상기 프로세싱 회로를 구성한다.
예 15에서, 예 14의 주제는 상기 식별자는 상기 디바이스의 TCB 계층을 식별하기 위한 신뢰 컴퓨터 그룹 패밀리의 표준들 중의 표준에 따른 신뢰 TCB 컴포넌트 식별자(TCI)인 것을 옵션으로 포함할 수 있다.
예 16에서, 예 15의 주제는 상기 요청은 상기 TCB 계층의 신뢰성을 지시하는 증명 증거를 추가로 포함하는 것을 옵션으로 포함할 수 있다.
예 17에서, 예 14-16 중 어느 하나의 주제는 상기 요청은 상기 디바이스를 고유하게 식별하는 정보를 포함하지 않는 것을 옵션으로 포함할 수 있다.
예 18에서, 예 14-17 중 어느 하나의 주제는 상기 CA는 상기 그룹 내의 디바이스인 것을 옵션으로 포함할 수 있다.
예 19는 명령어들 또는 명령어들로 구성될 수 있는 저장된 데이터를 포함하는 적어도 하나의 비-일시적 머신 판독가능 저장 매체로서, 상기 명령어들은, 컴퓨팅 디바이스의 프로세싱 회로에 의해 구성 및 실행될 때, 상기 프로세싱 회로로 하여금 예 1-18의 동작들 중 임의의 것을 수행하게 한다.
예 20은 데이터를 포함하는 하나 이상의 컴퓨터 판독가능 저장 매체를 포함할 수 있는데, 상기 데이터는 전자 디바이스로 하여금, 상기 전자 디바이스의 하나 이상의 프로세서 또는 전자 회로에 의해 상기 데이터의 로딩, 실행, 구성, 또는 프로비저닝 시에, 예 1-18 중 어느 하나에서 설명된 또는 그와 관련된 방법, 또는 본 명세서에서 설명된 임의의 다른 방법 또는 프로세스의 하나 이상의 요소를 수행하게 하는 것이다.
예 21은 예 1-18 중 어느 하나에서 설명된 또는 그와 관련된 방법, 또는 본 명세서에서 설명된 임의의 다른 방법 또는 프로세스의 하나 이상의 요소를 수행하기 위한 로직, 모듈들, 또는 회로를 포함하는 장치를 포함할 수 있다.
예 22는 예 1-18 중 어느 하나에서 설명된 또는 그와 관련된 방법, 기법, 또는 프로세스, 또는 그의 부분들 또는 일부들을 포함할 수 있다.
예 23은 하나 이상의 프로세서 및 상기 하나 이상의 프로세서에 의해 실행될 때, 상기 하나 이상의 프로세서로 하여금 예 1-18 중 어느 하나에서 설명된 또는 그와 관련된 방법, 기법들, 또는 프로세스, 또는 그의 부분들을 수행하게 하거나, 상기 하나 이상의 프로세서를 그렇게 구성하거나, 적응시키는 명령어들을 포함하는 하나 이상의 컴퓨터 판독가능 매체를 포함하는 장치를 포함할 수 있다.
예 24는 예 1-18 중 어느 하나에서 설명된 또는 그와 관련된 신호, 또는 그의 부분들 또는 일부들을 포함할 수 있다.
예 25는 예 1-18 중 어느 하나에서 설명된 또는 그와 관련된 바와 같은, 또는 달리 본 명세서에서 설명되고 도시된 바와 같은 무선 네트워크에서의 신호를 포함할 수 있다.
예 26은 예 1-18 중 어느 하나에서 설명된 또는 그와 관련된 바와 같은, 또는 달리 본 명세서에서 설명되고 도시된 바와 같은 무선 네트워크에서 통신을 수행하거나 조정하는 방법을 포함할 수 있다.
예 27은 예 1-18 중 어느 하나에서 설명된 또는 그와 관련된 바와 같은, 또는 달리 본 명세서에서 설명되고 도시된 바와 같은 통신을 프로세싱하기 위한 디바이스를 포함할 수 있다.
예 28은 예 1-18의 동작들 중 임의의 것을 수행하기 위한, 또는 달리 본 명세서에서 설명되고 도시된 바와 같은 각각의 디바이스들 및 디바이스 통신 매체들을 포함하는 네트워크이다.
예 29는 회로를 포함하는, 그리고 예 1-18의 동작들 중 임의의 것을 수행하기 위한, 또는 달리 본 명세서에서 설명되고 도시된 바와 같은 각각의 로직 및 기능성을 구현하는 네트워크 인터페이스 카드이다.
예 30은 예 1-18의 동작들 중 임의의 것을 수행하도록 적응된, 또는 달리 본 명세서에서 설명되고 도시된 바와 같은 프로세싱 노드들 및 컴퓨팅 유닛들을 포함하는 에지 클라우드 컴퓨팅 디바이스 구현이다.
예 31은 예 1-18 중 어느 하나를 구현하는 수단을 포함하는 장치이다.
예 32는 예 1-18 중 어느 하나를 구현하는 시스템이다.
예 33은 예 1-18 중 어느 하나를 구현하는 방법이다.
위 상세한 설명에서는, 본 개시내용을 간소화하기 위해 다양한 특징들이 함께 그룹화될 수 있다. 그러나, 청구항들은 본 명세서에 개시된 모든 특징을 제시하는 것은 아닐 수도 있는데 그 이유는 실시예들이 상기 특징들의 서브세트를 특징으로 할 수 있기 때문이다. 또한, 실시예들은 특정 예에서 개시된 것들보다 더 적은 특징들을 포함할 수 있다. 따라서, 다음의 청구항들은 이로써 상세한 설명 내에 포함되고, 청구항은 개별 실시예로서 그 자체로서 독립한다.

Claims (28)

  1. 인증 기관(CA)으로서 동작하는 장치로서,
    상기 장치는:
    프로세싱 회로; 및
    그 위에 구현된 명령어들을 포함하는 메모리 디바이스를 포함하고, 상기 명령어들은, 상기 프로세싱 회로에 의해 실행될 때,
    복수의 요청 디바이스로부터 그룹에 조인하기 위한 요청을 수신하고 - 상기 요청은 상기 그룹에 대한 식별 정보 및 상기 복수의 요청 디바이스에 대한 증명 증거를 포함함 -;
    상기 요청을 수신하는 것에 응답하여, 상기 그룹에 대한 그룹 인증서를 상기 복수의 요청 디바이스에 제공하는 동작들을 수행하도록 상기 프로세싱 회로를 구성하는, 장치.
  2. 제1항에 있어서,
    상기 요청은 상기 복수의 요청 디바이스 중의 디바이스를 고유하게 식별하는 정보를 포함하지 않는, 장치.
  3. 제1항에 있어서,
    상기 복수의 디바이스 중 적어도 하나의 디바이스는 모바일 디바이스이고 상기 복수의 디바이스 중 적어도 하나의 디바이스는 고정형 디바이스인, 장치.
  4. 제1항에 있어서,
    상기 동작들은 상기 그룹이 적어도 임계 수의 멤버들을 포함하는지를 검증하는 것 및 상기 그룹이 적어도 상기 임계 수의 멤버들을 포함하지 않으면 상기 그룹 인증서를 제공하는 것을 삼가는 것을 추가로 포함하는, 장치.
  5. 제1항에 있어서,
    상기 식별 정보는 EPID(Enhanced Privacy ID) 패밀리의 표준들을 준수하는, 장치.
  6. 제5항에 있어서,
    상기 식별 정보는 신뢰 컴퓨팅 베이스(TCB) 컴포넌트 식별자(TCI)인, 장치.
  7. 제6항에 있어서,
    상기 동작들은 상기 그룹에 대한 식별 정보를 결정하기 위해 상기 TCI에 기초하여 해시 연산을 수행하는 것을 추가로 포함하는, 장치.
  8. 제6항에 있어서,
    상기 동작들은 상기 증명 증거를 사용하여 상기 그룹 인증서에 포함시키기 위한 증명 증거를 선택하는 동작들을 추가로 포함하는, 장치.
  9. 제1항에 있어서,
    상기 장치는 네트워크 인터페이스, 서버, 랙, 데이터 센터, 또는 모바일 서버 중 하나 이상에 포함되는, 장치.
  10. 제1항에 있어서,
    상기 프로세싱 회로는 상기 복수의 요청 디바이스가 조인하기를 요청하고 있는 상기 그룹 내의 디바이스의 컴포넌트인, 장치.
  11. 제1항에 있어서,
    상기 동작들은 타원 곡선 암호기법(ECC)을 사용하여 키를 결정하는 것을 추가로 포함하는, 장치.
  12. 제1항에 있어서,
    상기 증명 증거는 위치 기반인, 장치.
  13. 제12항에 있어서,
    상기 동작들은 상기 증명 증거에 기초하여 지오펜스 정책을 적용하는 것을 추가로 포함하는, 장치.
  14. 에지 컴퓨팅 네트워크에서 동작하는 노드에 대한 장치로서,
    상기 장치는:
    프로세싱 회로; 및
    그 위에 구현된 명령어들을 포함하는 메모리 디바이스를 포함하고, 상기 명령어들은, 상기 프로세싱 회로에 의해 실행될 때,
    상기 노드의 계층을 식별하도록 계층 식별자를 구성하고;
    상기 계층 식별자에 기초하여 그룹에 조인하기 위한 요청을 인증 기관(CA)에 송신하고 - 상기 요청은 상기 계층 식별자 및 증명 증거를 포함함 -;
    상기 요청에 응답하여, 상기 계층 식별자에 의해 식별된 상기 그룹에 대한 그룹 인증서를 수신하는 동작들을 수행하도록 상기 프로세싱 회로를 구성하는, 장치.
  15. 제14항에 있어서,
    상기 식별자는 상기 디바이스의 TCB 계층을 식별하기 위한 신뢰 컴퓨터 그룹 패밀리의 표준들 중의 표준에 따른 신뢰 TCB 컴포넌트 식별자(TCI)인, 장치.
  16. 제15항에 있어서,
    상기 요청은 상기 TCB 계층의 신뢰성을 지시하는 증명 증거를 추가로 포함하는, 장치.
  17. 제14항에 있어서,
    상기 요청은 상기 노드를 고유하게 식별하는 정보를 포함하지 않는, 장치.
  18. 제14항에 있어서,
    상기 CA는 상기 그룹 내의 노드인, 장치.
  19. 그 위에 저장된 명령어들을 포함하는 적어도 하나의 머신 판독가능 저장 디바이스로서,
    상기 명령어들은, 인증 기관(CA)과 연관된 컴퓨팅 디바이스의 프로세싱 회로에 의해 실행될 때, 상기 프로세싱 회로로 하여금:
    요청 디바이스로부터 그룹에 조인하기 위한 요청을 수신하고 - 상기 요청은 상기 그룹에 대한 식별 정보 및 증명 증거를 포함함 -;
    상기 식별 정보에 기초하여 상기 그룹 이름을 결정하고;
    상기 요청을 수신하는 것에 응답하여, 상기 그룹 이름과 연관된 상기 그룹이 적어도 임계 수의 멤버들을 포함하는지를 검증하고, 상기 그룹이 적어도 상기 임계 수의 멤버들을 포함한다면, 상기 그룹에 대한 그룹 인증서를 상기 요청 디바이스에 제공하게 하는, 머신 판독가능 저장 디바이스.
  20. 제19항에 있어서,
    상기 식별 정보는 EPID(Enhanced Privacy ID) 패밀리의 표준들을 준수하고 신뢰 컴퓨팅 베이스(TCB) 컴포넌트 식별자(TCI)를 포함하는, 머신 판독가능 저장 디바이스.
  21. 제21항에 있어서,
    상기 동작들은 상기 그룹 이름을 결정하기 위해 상기 TCI에 기초하여 해시 연산을 수행하는 것을 추가로 포함하는, 머신 판독가능 저장 디바이스.
  22. 제20항에 있어서,
    상기 동작들은 상기 증명 증거를 사용하여 상기 그룹 인증서에 포함시키기 위한 증명 증거를 선택하는 것을 추가로 포함하는, 머신 판독가능 저장 디바이스.
  23. 제22항에 있어서,
    상기 증명 증거는 위치 기반인, 머신 판독가능 저장 디바이스.
  24. 그 위에 저장된 명령어들을 포함하는 적어도 하나의 머신 판독가능 저장 디바이스로서,
    상기 명령어들은, 에지 컴퓨팅 네트워크에서 동작하는 노드의 프로세싱 회로에 의해 실행될 때, 상기 프로세싱 회로로 하여금:
    상기 디바이스의 계층을 식별하도록 계층 식별자를 구성하고;
    상기 계층 식별자에 기초하여 그룹에 조인하기 위한 요청을 인증 기관(CA)에 송신하고 - 상기 요청은 상기 계층 식별자 및 증명 증거를 포함함 -;
    상기 요청에 응답하여, 상기 계층 식별자에 의해 식별된 상기 그룹에 대한 그룹 인증서를 수신하는 동작들을 수행하게 하는, 머신 판독가능 저장 디바이스.
  25. 제24항에 있어서,
    상기 식별자는 상기 디바이스의 TCB 계층을 식별하기 위한 신뢰 컴퓨터 그룹 패밀리의 표준들 중의 표준에 따른 신뢰 TCB 컴포넌트 식별자(TCI)인, 머신 판독가능 저장 디바이스.
  26. 제25항에 있어서,
    상기 요청은 상기 TCB 계층의 신뢰성을 지시하는 증명 증거를 추가로 포함하는, 머신 판독가능 저장 디바이스.
  27. 제24항에 있어서,
    상기 요청은 상기 디바이스를 고유하게 식별하는 정보를 포함하지 않는, 머신 판독가능 저장 디바이스.
  28. 제24항에 있어서,
    상기 CA는 상기 그룹 내의 디바이스인, 머신 판독가능 저장 디바이스.
KR1020217027963A 2019-04-01 2020-03-27 프라이버시 보호 자율 증명 KR20210134649A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962827397P 2019-04-01 2019-04-01
US62/827,397 2019-04-01
PCT/US2020/025211 WO2020205514A1 (en) 2019-04-01 2020-03-27 Privacy protected autonomous attestation

Publications (1)

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

Family

ID=72666910

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217027963A KR20210134649A (ko) 2019-04-01 2020-03-27 프라이버시 보호 자율 증명

Country Status (5)

Country Link
US (1) US20220141041A1 (ko)
KR (1) KR20210134649A (ko)
CN (1) CN113544672A (ko)
DE (1) DE112020001814T5 (ko)
WO (1) WO2020205514A1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115037491A (zh) * 2021-03-03 2022-09-09 美光科技公司 具有被保护用于可靠身份验证的存储器装置的端点群组中的订阅共享
CN115079935A (zh) * 2021-03-15 2022-09-20 伊姆西Ip控股有限责任公司 用于存储和查询数据的方法、电子设备和计算机程序产品
US11621846B2 (en) * 2021-03-25 2023-04-04 Lenovo (Singapore) Pte. Ltd. Privacy protecting transparency tree for device attestation
AU2022285487A1 (en) * 2021-06-04 2023-12-14 Map My Skills Limited Method and apparatus for issuing or invalidating digital attribute certificates
WO2022266777A1 (en) * 2021-06-25 2022-12-29 Eleven-X Incorporated Method and system for authenticating encrypted communication
CN114050914B (zh) * 2021-10-21 2022-08-02 广州大学 面向边缘控制器的可撤销轻量级群认证方法、系统和介质
US11949583B2 (en) 2022-04-28 2024-04-02 Hewlett Packard Enterprise Development Lp Enforcing reference operating state compliance for cloud computing-based compute appliances
CN115022324B (zh) * 2022-06-08 2024-04-19 中国银行股份有限公司 基于边缘计算的网点集群处理方法及系统
CN116663075B (zh) * 2023-07-24 2023-12-15 信联科技(南京)有限公司 一种基于国密算法的工控编程平台安全通信方法及系统

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6842863B1 (en) * 1999-11-23 2005-01-11 Microsoft Corporation Certificate reissuance for checking the status of a certificate in financial transactions
EP1429224A1 (en) * 2002-12-10 2004-06-16 Texas Instruments Incorporated Firmware run-time authentication
GB2419067A (en) * 2004-10-06 2006-04-12 Sharp Kk Deciding whether to permit a transaction, based on the value of an identifier sent over a communications channel and returned over a secure connection
US8078876B2 (en) * 2007-04-30 2011-12-13 Intel Corporation Apparatus and method for direct anonymous attestation from bilinear maps
US8356181B2 (en) * 2007-11-15 2013-01-15 Intel Corporation Apparatus and method for a direct anonymous attestation scheme from short-group signatures
WO2009107351A1 (ja) * 2008-02-25 2009-09-03 パナソニック株式会社 情報セキュリティ装置および情報セキュリティシステム
US9292881B2 (en) * 2012-06-29 2016-03-22 Crowdstrike, Inc. Social sharing of security information in a group
US9411962B2 (en) * 2012-07-18 2016-08-09 Sequitur Labs Inc. System and methods for secure utilization of attestation in policy-based decision making for mobile device management and security
WO2016013944A1 (en) * 2014-07-24 2016-01-28 Intel Corporation Secure wireless charging
US20160285630A1 (en) * 2015-03-23 2016-09-29 Qualcomm Incorporated Private service identifiers in neighborhood aware networks
US10205712B2 (en) * 2015-06-10 2019-02-12 Mcafee, Llc Sentinel appliance in an internet of things realm
KR101753859B1 (ko) * 2015-10-23 2017-07-04 아주대학교산학협력단 서버 및 이에 의한 스마트홈 환경의 관리 방법, 스마트홈 환경의 가입 방법 및 스마트 기기와의 통신 세션 연결 방법
US10355854B2 (en) * 2015-12-17 2019-07-16 Intel Corporation Privacy preserving group formation with distributed content key generation
US10019556B2 (en) * 2015-12-23 2018-07-10 Mcafee, Llc EPID attestation using RFID
US10158671B2 (en) * 2016-03-07 2018-12-18 Intel Corporation Reverse DRM geo-fencing of UAV method and apparatus
US10790978B2 (en) * 2016-05-25 2020-09-29 Intel Corporation Technologies for collective authorization with hierarchical group keys
GB201707168D0 (en) * 2017-05-05 2017-06-21 Nchain Holdings Ltd Computer-implemented system and method
US10771264B2 (en) * 2018-10-10 2020-09-08 Hewlett Packard Enterprise Development Lp Securing firmware

Also Published As

Publication number Publication date
DE112020001814T5 (de) 2021-12-30
CN113544672A (zh) 2021-10-22
US20220141041A1 (en) 2022-05-05
WO2020205514A1 (en) 2020-10-08

Similar Documents

Publication Publication Date Title
US11736277B2 (en) Technologies for internet of things key management
US11425111B2 (en) Attestation token sharing in edge computing environments
US20220141041A1 (en) Privacy protected autonomous attestation
US11611491B2 (en) Edge computing service global validation
US11683685B2 (en) Trusted IoT device configuration and onboarding
US11907704B2 (en) Attestation manifest derivation and distribution using software update image
US11734458B2 (en) Extensible layered trusted computing base for computing devices
US11025627B2 (en) Scalable and secure resource isolation and sharing for IoT networks
US11399285B2 (en) Secure device onboarding techniques
US11509644B2 (en) Establishing connections between IOT devices using authentication tokens
US11337070B2 (en) User-authorized onboarding using a public authorization service
CN114026834A (zh) 边缘计算部署中的多实体资源、安全性和服务管理
US11818584B2 (en) Two-phase discovery and onboarding of internet of things (IoT) devices
US20220303123A1 (en) Security profiles for ocf devices and trusted plaforms
US20240163274A1 (en) Credential dependency encoding and verification based on other credential resources
US20230216849A1 (en) Attestation verifier role delegation
US11368850B2 (en) Data model visibility in IoT network implementations
US20240022550A1 (en) Systems and methods for key access distribution and management

Legal Events

Date Code Title Description
A201 Request for examination