KR102504361B1 - 보안 트랜잭션용 장치의 자가 인증 - Google Patents

보안 트랜잭션용 장치의 자가 인증 Download PDF

Info

Publication number
KR102504361B1
KR102504361B1 KR1020207018963A KR20207018963A KR102504361B1 KR 102504361 B1 KR102504361 B1 KR 102504361B1 KR 1020207018963 A KR1020207018963 A KR 1020207018963A KR 20207018963 A KR20207018963 A KR 20207018963A KR 102504361 B1 KR102504361 B1 KR 102504361B1
Authority
KR
South Korea
Prior art keywords
electronic
information
record
certificate
implementations
Prior art date
Application number
KR1020207018963A
Other languages
English (en)
Other versions
KR20200088901A (ko
Inventor
아빈 아루무감
콴 왕
켈반 하워드
제리 왈드
Original Assignee
비자 인터네셔널 서비스 어소시에이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 비자 인터네셔널 서비스 어소시에이션 filed Critical 비자 인터네셔널 서비스 어소시에이션
Publication of KR20200088901A publication Critical patent/KR20200088901A/ko
Application granted granted Critical
Publication of KR102504361B1 publication Critical patent/KR102504361B1/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/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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • 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
    • H04L9/3213Cryptographic 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 using tickets or tokens, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

본 발명의 구현예는 전자 장치의 자가 인증을 가능하게 하기 위한 기술에 관한 것으로, 전자 장치가 다른 엔티티에 스스로를 인증하기 위해 사용할 수 있는 보안 인증서의 발행을 생성한다. 일부 구현예에서, 현재 보안 인증서의 상태가 더 이상 유효하지 않음을 판정할 시, 장치로 하여금 자가 인증 프로세스를 개시시킨다. 일부 구현예에서, 전자 장치는 인증서 기관과 통신할 수 있으며, 이는 전자 장치에 대한 권한을 나타내는 정책 데이터 세트를 생성할 수 있다. 그 다음, 전자 장치는 보안 인증서와 연관될 전자 기록을 생성할 수 있으며, 이는 개인 키를 사용하여 서명할 수 있다. 그 다음, 인증서 기관은, 전자 장치와 연관된 공개 키를 사용하여, 서명된 전자 기록의 진위성을 검증할 수 있다. 전자 기록은 일부 기록 모음에 첨부될 수 있다.

Description

보안 트랜잭션용 장치의 자가 인증
가정에는, 통상적으로 사용자가 정기적으로 구매하는 제품 및 서비스와 연관된 여러 가전 제품이 포함된다. 예를 들어, 소비자는, 음식을 저장하기 위한 냉장고, 가스 사용량을 측정하기 위한 가스 계량기, 전력 사용량을 측정하기 위한 전기 계량기, 및 물 사용량을 측정하기 위한 수도 계량기를 갖는다. 소비자는 제품 및 서비스와 연관된 정기적인 종이 청구서로 인해 종종 불편을 겪는다. 이러한 문제를 해결하기 위해, 일부 전자 장치는 주요 기능과 연관된 리소스를 관리하도록 조정되었다. 예를 들어, 정수기는 현재 물 필터를 교체해야 한다고 결정하는 즉시, 교체 물 필터를 자동으로 주문하도록 구성될 수 있다. 그러나, 이는 이들 장치가 존재하기 전에 존재하지 않았던 사기라는 새로운 기회를 만들었고, 여기서 전자 장치는 도난, 복제, 계정과 부적절하게 연관될 수 있거나 또는 달리 침해될 수 있고, 이후 승인되지 않은 당사자를 위한 물품을 주문하기 위해 사용될 수 있다.
본 발명의 구현예는 이들 및 다른 문제를 개별적으로 또는 총괄적으로 해결한다.
본 발명의 일 구현예는, 보안 인증서가 필요하다고 결정하는 것에 응답하여, 인증서 기관에 요청을 전송하는 단계, 전자 기록을 생성하는 데 사용될 정보를 수신하는 단계, 적어도 전자 식별자 및 상기 전자 기록을 생성하는 데 사용될 정보를 포함하는 전자 기록을 생성하는 단계, 개인 키를 사용하여 상기 전자 정보의 적어도 일부에 서명하는 단계, 상기 인증서 기관에 상기 전자 기록을 전송하는 단계, 및 상기 인증서 기관에 의한 상기 전자 기록 검증시 상기 보안 인증서에 대한 액세스를 수신하는 단계를 포함하는 방법에 관한 것이다.
본 발명의 다른 구현예는, 프로세서 및 상기 프로세서에 연결된 메모리를 포함하는 전자 장치에 관한 것으로, 상기 메모리는 상기 프로세서에 의해 실행되는 경우 상기 전자 장치가 다수의 작업을 수행하도록 하는 코드를 포함한다. 특히, 전자 장치로 하여금, 인증서 기관에 요청을 전송시키고, 상기 인증서 기관으로부터 전자 기록을 생성하는 데 사용될 정보를 수신시키고, 적어도 전자 식별자 및 상기 전자 기록을 생성하는 데 사용될 정보를 포함하는 상기 전자 기록을 생성시키고, 개인 키를 사용하여 상기 전자 기록의 적어도 일부에 서명시키고, 상기 인증서 기관에 상기 전자 기록을 전송시키고, 상기 인증서 기관에 의한 상기 전자 기록 검증시 보안 인증서를 수신시킬 수 있다.
본 발명의 다른 구현예는 전자 기록의 레코드, 및 복수의 노드를 포함하는 인증 기관 네트워크에 관한 것이다. 상기 인증 기관에서, 상기 복수의 노드 각각은 명령어를 포함하고, 이것이 실행되는 경우, 상기 노드로 하여금 상기 전자 장치로부터 보안 인증서에 대한 요청을 수신시키고, 상기 전자 장치에 전자 기록을 생성하는 데 사용될 정보를 제공하도록 하고, 적어도 서명 부분을 포함하여 상기 생성된 전자 기록을 상기 전자 장치로부터 수신시키고, 상기 전자 장치와 연관된 공개 키를 식별시키고, 상기 공개 키를 사용하여 상기 생성된 전자 기록의 서명 부분을 검증시키고, 상기 생성된 전자 기록의 서명 부분을 검증시 상기 생성된 전자 기록을 상기 전자 기록의 레코드에 첨부시키도록 한다.
도 1은 적어도 일부 구현예에 따라 제1 장치의 진위성을 제2 장치에 인증하기 위한 예시적인 시스템(100)의 블록 다이어그램을 도시한다.
도 2는 적어도 일부 구현예에 따라 다수의 구성 요소를 포함하는 시스템의 일례를 도시한다.
도 3은 적어도 일부 구현예에 따른 예시적인 인증서 기관 네트워크 노드 및 예시적인 인증 장치의 다이어그램을 도시한다.
도 4는 적어도 일부 구현예에 따라 다수의 구성 요소 사이에서 발생할 수 있는 다양한 상호작용의 일례를 나타내는 수영 레인 다이어그램을 도시한다.
도 5는 본 개시의 구현예에 따라 구현될 수 있는 블록체인 기록의 일례를 도시한다.
도 6은 적어도 일부 구현예에 따라 전자 기록의 검증을 가능하게 하기 위해 블록체인 내의 전자 기록에 첨부될 수 있는 서명을 생성하기 위한 프로세스의 예시를 도시한다.
도 7은 장치가 적어도 일부 구현예에 따라 보안 인증서를 자동으로 획득할 수 있는 예시를 나타낸 흐름도를 도시한다.
다음의 설명에서는, 다양한 구현예를 설명한다. 설명 목적으로, 구현예를 완전한 이해를 제공하도록 특정 구성과 상세 내용을 설명한다. 그러나, 구현예가 특정 상세 내용 없이 실시될 수 있다는 점이 당업자에게 명백할 것이다. 또한, 설명 중인 구현예를 모호하게 하지 않도록 공지된 특징부를 생략하거나 간략화할 수 있다.
본 발명의 일부 구현예의 상세 내용을 설명하기 전에, 일부 용어의 설명이 다양한 구현예를 이해하는 데 도움을 줄 수 있다.
"블록체인"은 분산 데이터베이스일 수 있고, 이는 지속적으로 증가하는 기록 목록, 블록이라 지칭되는 것을 유지하기 위해 사용될 수 있다. 일부 구현에서, 각 블록은 타임스탬프와 이전 블록에 대한 링크가 포함된다. 블록체인은, 일반적으로 새로운 블록을 검증하기 위한 프로토콜을 집합적으로 준수하는 P2P 네트워크에 의해 관리되지만, 단일 엔티티에 의해 관리될 수 있다. 일단 기록되면, 모든 후속 블록의 변경과 네트워크의 공모 없이는 임의의 주어진 블록의 데이터를 소급 변경할 수 없다. 이는 블록체인으로 하여금, 검증 가능하고 영구적인 당사자간 데이터 기록으로 기능할 수 있다. 블록체인은 (예를 들어, 분산 컴퓨팅 시스템의) 복수의 노드에 걸쳐 확산될 수 있다.
"컴퓨팅 장치"는, 다른 장치와 통신하고/하거나 상호 작용할 수 있는 임의의 적절한 전자 장치일 수 있다. 컴퓨팅 장치의 예는, 모바일 폰, 스마트 폰, 개인용 휴대 정보 단말기(PDA), 랩톱 컴퓨터, 데스크톱 컴퓨터, 서버 컴퓨터, 차량(예, 자동차), 신-클라이언트 장치(thin-client device), 라우터, 모뎀, 태블릿 PC, 프린터 등일 수 있다. 추가적으로, 컴퓨팅 장치는 임의 유형의 웨어러블 기술 장치, 예컨대 시계, 이어폰, 안경 등일 수 있다. 사용자 장치는, 입력을 프로세싱할 수 있는 하나 이상의 프로세서를 포함할 수 있다. 컴퓨팅 장치는 네트워크에 원격 통신 능력을 제공할 수도 있다. 원격 통신 능력으로, 모바일 폰(무선) 네트워크, 무선 데이터 네트워크(예, 3G, 4G 또는 유사 네트워크), 블루투스, 저에너지 블루투스(BLE), Wi-Fi, Wi-Max, 또는 인터넷 또는 사설 네트워크와 같은 네트워크에 대한 액세스를 제공할 수 있는 임의의 다른 통신 매체를 예로 들 수 있다. 컴퓨팅 장치는 사용자 이름, 암호, 전자 식별자, 비대칭 암호화에 사용될 수 있는 하나 이상의 비대칭 키, 대칭 암호화 등에 사용될 수 있는 하나 이상의 대칭 키 등과 연관될 수 있다. 컴퓨팅 장치는 분산 데이터베이스(예, 블록체인)를 액세스 및/또는 관리하도록 구성될 수 있다.
"암호화 키"는, 암호화 알고리즘에 의해 사용된 임의의 비트 문자열로 일반 텍스트를 암호 텍스트로 변환하거나 그 반대로 변환할 수 있다. 암호화 키는 대칭 및 비대칭 키를 포함할 수 있다. 암호화 키를 사용하여 트랜잭션에 서명하거나 서명된 트랜잭션을 검증할 수 있다. 예를 들어, 암호화폐 트랜잭션은 개인 키를 사용하여 서명될 수 있다. 서명된 트랜잭션은 개인 키에 해당하는 공개 키를 사용하여 검증될 수 있다.
"전자 장치"는 목적을 전자적으로 달성하는 임의의 장치일 수 있다. 전자 장치는 다수의 기능을 가질 수 있다. 예를 들어, 전자 장치는 일차 기능과 하나 이상의 이차 기능을 가질 수도 있다. 일차 기능은, 전자 장치의 목적에 가장 가깝게 맞춰지는 기능일 수 있다. 전자 장치의 일례는 기계-대-기계 장치일 수 있다.
"전자 식별자"는, 엔티티(예, 장치, 사람, 또는 네트워크 도메인)를 식별하기 위해 사용된 임의의 적절한 개별 문자의 세트를 포함할 수 있다. 예시적인 전자 식별자는, 엔티티를 고유하게 나타낼 수 있는 문자(예, 숫자, 그래픽, 심볼, 또는 다른 정보)의 임의의 적절한 수 또는 유형을 포함할 수 있다. 예로서, 전자 식별자는 일련 번호, 부분 일련 번호, 매체 액세스 제어 주소, 장치 이름/별명, 엔티티가 발견될 수 있는 네트워크 주소 등일 수 있다. 일부 구현예에서, 전자 식별자는, 특정 정보를 보유한 임의의 엔티티에 의해 독립적으로 생성될 수 있도록 포맷될 수 있다. 예를 들어, 개인의 전자 식별자는 국가 코드, 개인 이름, 생년월일, 및 사회 보장 번호의 마지막 네 자리 수의 조합, 예컨대 "SHA256(USA*JOHN SMITH*19700101*1234"를 포함할 수 있다. 이 값을 해싱하면 겉보기엔 무작위 문자열, 예컨대 "444E982513BF546050C2D079FF5D65AB6E318E1AB5C1C"가 생성될 수 있다. 이 예시에서, 개인의 전자 식별자는, 국가 코드, 개인 이름, 개인 생년월일, 및 개인 사회 보장 번호의 마지막 네 자리 수뿐만 아니라 해싱 알고리즘을 보유한 임의의 엔티티에 의해, 독립적으로 생성될 수 있다.
"전자 기록"은 전자적으로 저장된 정보의 기록일 수 있다. 예를 들어, 전자 기록은 전자 식별자와 연관된 엔티티에 관해 취해진 조치의 기록일 수 있다. 일부 구현예에서, 전자 기록은, 특정 전자 식별자와 연관된 분산 환경에 기록된 각각의 전자 기록을 식별함으로써 컴파일될 수 있다. 일부 구현예에서, 전자 기록은, 전자 식별자가 연관된 사용자와 연관된 개인 키를 사용하여, 생성되고 서명된 부분을 포함할 수 있다. 일부 구현예에서, 전자 기록은 블록체인의 형태일 수 있다.
"기계-대-기계 장치"는, 다른 장치와 통신하고/하거나 상호 작용할 수 있는 임의의 적절한 전자 장치일 수 있다. 기계-대-기계 장치는, 다른 전자 장치과 통신하는 데 관련이 없는 일차 기능을 가질 수 있다. 예를 들어, 기계-대-기계 장치는, 음식 보관 외에, 하나 이상의 다른 전자 장치와 상호 작용할 수 있는 냉장고일 수 있다. 일부 구현예에서, 기계-대-기계 장치는 전자 식별자와 연관될 수도 있다. 전자 식별자는, 특정 기계-대-기계 장치에 대해 장치 유형을 결정하기 위해 인증서 기관에 의해 사용될 수 있다. 기계-대-기계 장치의 예로는, 가스 및 전기 계량기, 냉장고, 램프, 온도 조절기, 프린터, 자동차, 화재 경보기, 가정 의료 장치, 가정 경보기, 오토바이, 보트, 텔레비전 등이 포함될 수 있다.
"정책 세트(policy set)"는, 하나 이상의 액션이 허용되고/허용되거나 수행되어야 함을 나타내는 규칙 또는 구성 설정의 세트일 수 있다. 일부 경우에, 정책 세트는 또한 이들 액션이 수행되어야 하는 조건을 포함할 수도 있다. 일부 구현예에서, 정책 세트는, "if x_condition occurs, then perform y_action"과 같은 조건문을 포함할 수도 있다. 일부 구현예에서, 정책 세트는 구체적인 전자 장치 또는 보안 인증서에 대하여 허용되는 트랜잭션의 목록을 포함할 수도 있다. 예를 들어, 인증서 기관은, 전자 식별자에 기초하여 정책 세트가 관련되어 있는 장치 유형을 식별할 수 있다. 이어서, 인증서 기관은 장치 유형에 기초하여 이 장치에 설정된 맞춤형 정책 세트를 생성할 수 있다. 예를 들어, 장치가 수도 계량기라고 판정할 시, 인증서 기관은 물 사용에 관련된 트랜잭션만을 수행시키는, 수도 계량기에 설정된 정책 세트를 생성할 수 있다. 이 예에서, 정책 세트는 수도 계량기와 관련하여서 인증서 기관에 저장될 수 있고, 정책 세트의 적어도 일부는 (예를 들어, 보안 인증서 내에서) 수도 계량기에 프로비저닝될 수 있다.
"개인 키"는 당사자에 의해 비밀로 유지되는 암호화 키 유형이다. 개인 키는, 블록체인 네트워크를 사용하여 검증될 수 있는 트랜잭션에 서명하기 위해 사용될 수 있다.
"프로비저닝"이라는 용어는, 장치의 준비 및/또는 구성을 포함하여 이로 하여금 기능을 수행시킬 수 있다. 예를 들어, 프로비저닝은, 장치의 액션을 지시하도록 장치에 규칙 또는 명령어를 저장하는 것을 포함할 수 있다. 일부 구현예에서, 장치는, 장치를 인증하고 장치로 하여금 다른 장치와 통신시키는 보안 인증서를 이용해 프로비저닝될 수 있다. 보안 인증서는, 사용자로부터의 능동 입력 없이 장치로 하여금 사용자를 대신해서 트랜잭션을 실행시킬 수 있다.
"공개 키"는 해당 개인 키를 보유한 당사자보다는 일부 엔티티에 분산되거나 이용할 수 있는 암호화 키 유형일 수 있다. 일부 구현예에서, 키는 공개적으로 이용할 수 있는 반면, 다른 경우에서 네트워크 내의 노드로 분산될 수 있으나, 네트워크 자체는 일반 대중에게 액세스 가능하지 않을 수 있다. 공개 키를 블록체인 네트워크 및/또는 리소스 제공자의 노드로 사용할 수 있으므로, 공개 키와 연관되고 서명된 트랜잭션은 노드에 의해 검증될 수 있다.
"보안 인증서"는, 엔티티를 인증하기 위해 사용될 수 있는 전자 문서일 수 있다. 일부 구현예에서, 보안 인증서는 암호화 정보를 포함할 수 있고, 이는 보안 인증서의 소유자에게 전송하거나 소유자로부터 전송받은 데이터를 암호화하는 데 사용될 수 있다. 예를 들어, 보안 인증서는 SSL(보안 소켓 계층) 인증서일 수 있고, 이는 웹 브라우저와 웹 서버 간에 암호화된 통신을 가능하게 하는 글로벌 표준 보안 기술이다.
"서버 컴퓨터"는 강력한 컴퓨터 또는 컴퓨터의 클러스터를 포함할 수 있다. 예를 들어, 서버 컴퓨터는, 큰 메인프레임, 미니컴퓨터 클러스터, 또는 한 유닛으로서 기능하는 서버의 그룹일 수 있다. 일례로, 서버 컴퓨터는 웹 서버에 연결된 데이터베이스 서버일 수 있다. 서버 컴퓨터는, 데이터베이스에 결합될 수 있고, 하나 이상의 클라이언트 컴퓨터로부터의 요청을 서비스하기 위한 임의의 하드웨어, 소프트웨어, 기타 로직, 또는 이들의 조합을 포함할 수 있다. 서버 컴퓨터는, 하나 이상의 연산 장치를 포함할 수도 있고, 하나 이상의 클라이언트 컴퓨터로부터의 요청을 서비스하기 위해 다양한 연산 구조, 배열, 및 편집 중 임의의 것을 사용할 수도 있다.
"스마트 계약"은, 정책 데이터(또는 규칙) 세트의 성능을 촉진, 검증 또는 집행하고자 의도된 컴퓨터 프로토콜일 수 있다. 블록체인 기록에 스마트 계약이 포함될 수 있다. 일부 구현예에서, 블록체인과 연관된 스마트 계약은, 블록체인의 각 참가자에게 보일 수 있다. 스마트 계약은 정책 데이터 세트의 일례이고, 보안 인증서와 연관될 권한을 결정하기 위해 사용될 수 있다.
"토큰"은 실제 정보를 대체하는 정보 조각을 위한 식별자를 포함할 수 있다. 일부 구현예에서, 토큰은 일차 계정 번호(PAN)와 같은 결제 정보를 대체하기 위해 사용될 수 있다. 이들 구현예에서, 토큰은 PAN 대신에 사용되어 결제 트랜잭션을 개시, 승인, 정산 또는 해결할 수 있거나 원래의 크리덴셜이 통상적으로 제공되는 다른 시스템에서의 원래의 크리덴셜을 나타낼 수 있다. 일부 구현예에서, 토큰은 보안 인증서를 인증하고자 하는 엔티티에 제공될 수 있고, 토큰은 토큰을 발행한 토큰 서비스로 수신 당사자에 의해 중계될 수 있다. 이들 구현예에서, 수신 당사자가 보안 인증서를 인증하도록 승인된 것으로 결정된 경우, 보안 인증서와 관련된 정보는 토큰 볼트(token vault)로부터 검색되고 수신 당사자에게 제공될 수 있다. 토큰 값으로부터 대체 정보를 복구하는 것을 컴퓨터 방식으로 유도할 수 없도록 토큰 값을 생성할 수 있다. 또한, 일부 구현예에서, 토큰 포맷은, 토큰을 수신하는 엔티티로 하여금, 그것을 토큰으로서 식별하고 토큰을 발급한 엔티티를 인식할 수 있도록 구성될 수 있다. 토큰은 정책 세트 및/또는 보안 인증서와 연관될 수 있다.
"사용자 장치"는 사용자에 의해 작동되는 장치일 수 있다. 사용자 장치의 예는, 모바일 폰, 스마트 폰, 개인용 휴대 정보 단말기(PDA), 랩톱 컴퓨터, 데스크톱 컴퓨터, 서버 컴퓨터, 차량(예, 자동차), 신-클라이언트 장치, 태블릿 PC 등일 수 있다. 추가적으로, 사용자 장치는 임의 유형의 웨어러블 기술 장치, 예컨대 시계, 이어폰, 안경 등일 수 있다. 사용자 장치는, 사용자 입력을 프로세싱할 수 있는 하나 이상의 프로세서를 포함할 수 있다. 사용자 장치는 또한 사용자 입력을 수신하기 위한 하나 이상의 입력 센서를 포함할 수 있다. 당업계에 알려져 있듯이, 가속도계, 카메라, 마이크로폰 등의 사용자 입력을 감지할 수 있는 다양한 입력 센서가 존재한다. 입력 센서에 의해 얻어진 사용자 입력은, 오디오 데이터, 비주얼 데이터, 또는 생체 측정 데이터 등의 다양한 데이터 입력 유형으로부터 온 것일 수도 있지만, 이에 한정되지 않는다. 사용자 장치는, 사용자에 의해 작동될 수도 있는 임의의 전자 장치를 포함할 수도 있으며, 이는 또한 네트워크에 원격 통신 능력을 제공할 수도 있다. 원격 통신 능력으로, 모바일 폰(무선) 네트워크, 무선 데이터 네트워크(예, 3G, 4G 또는 유사 네트워크), Wi-Fi, Wi-Max, 또는 인터넷 또는 사설 네트워크와 같은 네트워크에 대한 액세스를 제공할 수 있는 임의의 다른 통신 매체를 예로 들 수 있다.
"검증"이라는 용어와 그 파생어는, 소정의 상황 세트 하에서 기저 대상이 유효한지 여부를 판정하기 위해 정보를 이용하는 프로세스를 지칭할 수 있다. 검증은, 일부 데이터 또는 정보가 올바르고, 유효하고, 정확하고, 적법하고, 및/또는 양호한 자격에 있음을 보장하기 위해 정보의 비교를 포함할 수 있다. 본 개시에 설명된 검증의 일부 예에서, 전자 기록은 개인 키를 사용하여 서명되고 공개 키를 사용하여 검증될 수 있다. 예를 들어, 검증 프로세스는 검증될 값(예, 제공된 데이터로부터의 해시 값)을 독립적으로 생성하는 단계를 포함할 수 있다. 검증 프로세스는, 검증될 정보의 일반 텍스트 버전을 생성하기 위해 검증될 정보에 대한 암호화 작업을 수행하는 단계(상기 검증될 정보와 연관된 엔티티용 공개 키 사용을 포함할 수 있음)를 또한 포함할 수 있다. 그런 다음, 검증 프로세스는 일치 여부를 결정하기 위해, 검증될 정보의 일반 텍스트 버전을 독립적으로 생성된 값과 비교하는 단계를 포함할 수 있다. 두 값이 일치할 경우, 검증될 정보는 엔티티의 개인 키를 사용하여 서명될 가능성이 매우 높다. 이는, 정보를 제공했다고 주장하는 엔티티로부터 정보가 유래되었음을 검증한다.
이제 본 발명의 일부 구현예의 상세 내용이 설명될 것이다.
본 발명의 구현예는, 전자 장치의 자가 인증을 가능하게 하기 위한 기술에 관한 것이다. 장치의 인증은, 장치가 (예를 들어, 트랜잭션에서) 다른 엔티티로 자가 인증하는 데 사용할 수 있는 보안 인증서의 발급을 생성할 수 있다. 일부 구현예에서, 현재 보안 인증서의 상태가 더 이상 유효하지 않거나 장치의 소유권 상태가 변경되었음을 판정할 시, 장치로 하여금 자가 인증 프로세스를 개시시킨다. 일부 구현예에서, 각각의 전자 장치는 특수 목적 하드웨어 및 소프트웨어를 포함할 수 있고, 이는 전자 장치로 하여금 본원에 기술된 기능의 적어도 일부분을 수행시킨다. 다양한 유형의 전자 장치가 설명된 시스템에 관련될 수 있다. 예시를 통해, 전자 장치는 일례로 웹사이트를 호스팅하는 웹서버일 수 있다. 추가 예시로서, 전자 장치는 기계-대-기계 장치(예, 사물 인터넷(IoT) 장치)일 수 있고, 이는 제2 구현예에서 본 개시와 무관한 기능을 수행한다. 이 제2 구현예에서, 기계-대-기계 장치는 본 개시의 구현예를 실행하도록 구성된 집적 회로를 포함할 수 있다.
본원에 설명된 시스템에 따라 보안 인증서를 취득하기 위해, 전자 장치는 네트워크 또는 분산 컴퓨팅 시스템일 수 있는 인증서 기관과 통신할 수 있다. 전자 장치는, 전자 식별자(즉, 전자 장치에 고유한 식별자)뿐만 아니라 다른 장치-특이적 또는 사용자-특이적 정보를 인증서 기관에 전송할 수 있다. 일부 구현예에서, 인증서 기관은 전자 장치와 관련된 계정을 (예를 들어, 사용자-특이적 정보에 기초하여) 식별할 수 있다. 일부 구현예에서, 인증서 기관은 정책 데이터 세트(예, 스마트 계약)를 생성할 수 있고, 이는 전자 장치의 유형 또는 분류뿐만 아니라 (예를 들어, 계정 정보에 기초한) 사용자 정의 제약 조건에 기초하여 전자 장치에 대한 권한을 표시한다. 일부 구현예에서, 인증서 기관은 토큰과 관련하여 전송된 정보의 적어도 일부를 저장할 수 있다. 그런 다음, 인증서 기관은 전자 기록을 생성하는 데 사용될 정보를 제공함으로써 전자 장치의 전송에 응답할 수 있다. 예를 들어, 인증서 기관은 전자 서명에 사용될 정책 데이터 세트, 토큰 및/또는 오프셋 값을 제공할 수 있다.
상기 정보를 수신하면, 전자 장치는 보안 인증서와 연관될 전자 기록을 생성할 수 있다. 이를 보다 상세히 후술한다. 일단 전자 기록이 생성되면, 전자 장치는 전자 장치와 연관된 개인 키를 사용하여 전자 기록에 서명할 수 있다. 일부 구현예에서, 개인 키는 전자 장치의 제조사에 의해 전자 장치에 저장될 수 있다. 서명된 전자 기록은 인증서 기관에 제공될 수 있으며, 이는 전자 장치와 연관된 공개 키를 사용하여 생성된 전자 기록의 진위성을 검증할 수 있다. 일단 검증되면, 전자 기록은 데이터베이스 또는 기타 전자 기록의 레코드에 첨부될 수 있다. 보안 인증서는, 전자 장치가 보안 인증을 갱신시키기 위해, 주기적으로 만료되도록 설정될 수 있다. 일부 경우에서, 보안 인증서는 특정 조건에 따라 유효할 수 있다. 예를 들어, 보안 인증서는, 전자 장치가 실질적으로 새로운 위치로 이동되었음을 감지할 시, 무효화될 수 있다.
도 1은 적어도 일부 구현예에 따라 제1 장치의 진위성을 제2 장치에 인증하기 위한 예시적인 시스템(100)의 블록 다이어그램을 도시한다. 시스템(100)은 다수의 엔티티 장치를 포함하고, 이는 적어도 인증 장치(102) 및 거래 장치(104)를 포함한다. 엔티티 장치(102) 및 거래 장치(104) 중 하나 이상은 네트워크(106)와 통신할 수 있다. 또한, 엔티티는 인증서 기관 네트워크(108)와 통신할 수 있고, 이는 다수의 노드(110)를 포함할 수 있다.
인증 장치(102)는 본원에 설명된 시스템의 구현예를 사용하여 자가 인증이 가능한 임의의 장치일 수 있다. 일부 구현예에서, 인증 장치(102)는 다른 전자 장치(예, 기계-대-기계 장치)와 상호 작용하도록 구성된 장치일 수 있다. 일부 구현예에서, 인증 장치(102)는, 네트워크 문서(예, 웹사이트)를 호스팅할 수 있는 웹서버 또는 다른 전자 장치일 수 있다. 인증 장치(102)는, 인증이 필요한 것으로 판정할 시, 최신 보안 인증서를 생성하기 위해 인증서 기관 네트워크(108)와 통신하도록 구성될 수 있다. 일부 구현예에서, 인증 장치(102)는, 현재 인증이 만료된 것으로 판정할 시, 인증이 필요한지 유무를 결정할 수 있다. 일부 구현예에서, 인증 장치(102)는, 인증 장치(102)의 소유권이 변경되었음을 감지할 시, 인증이 필요한지 유무를 결정할 수 있다. 일부 구현예에서, 사용자는, 사용자와 관련된 정보를 제공하기 위해 다른 전자 장치를 이용해서 상기 인증 장치와 연결할 수 있다. 예를 들어, 사용자는 모바일 폰으로 상기 인증 장치와 연결할 수 있다.
거래 장치(104)는, 인증 장치(102)와 연관된 보안 인증서의 진위성을 검증하기 위해, 인증서 기관 네트워크(108)와 통신할 수 있는 임의의 장치일 수 있다. 일부 구현예에서, 거래 장치(104)는 리소스 제공자 또는 리소스에 대한 액세스를 제어하는 다른 엔티티일 수 있다. 거래 장치(104)는, 관리된 리소스에 대한 액세스를 제공하기 위해 인증 장치(102)와 거래할 수 있다. 일부 구현예에서, 각각의 거래 장치(104)는 특정 유형의 트랜잭션을 수행하도록 구성될 수 있다. 이들 구현예에서, 거래 장치(104)는, 인증 장치(102)에 대한 보안 인증서의 진위성을 검증할 뿐만 아니라, 거래 장치(104)에 의해 수행될 트랜잭션의 특정 유형이 인증 장치(102)가 수행하도록 승인된 트랜잭션 유형인지 검증할 수 있다.
일부 예시에서, 네트워크(106)는, 케이블 네트워크, 인터넷, 무선 네트워크, 셀룰러 네트워크, 및 다른 사설 및/또는 공용 네트워크과 같이, 상이하게 많은 유형의 네트워크 중 임의의 하나 또는 조합을 포함할 수 있다.
인증서 기관 네트워크(108)는 다수의 노드(110)를 포함한 네트워크 또는 분산 컴퓨팅 환경일 수 있다. 일부 구현예에서, 인증서 기관 네트워크(108)는 적어도 하나의 블록체인 데이터베이스를 유지할 수 있고, 이는 체인에 저장된 전자 기록(112)의 다수 불록을 포함할 수 있어서(예를 들어, 각 블록은 타임스탬프 및 이전 블록에 대한 링크를 포함함), 인증서 기관 네트워크(108)는 다수의 엔티티가 관련된 트랜잭션의 완전한 이력을 유지하도록 한다.
전자 기록(112)은, 전자식으로 저장된 보안 인증서의 발행에 대한 임의의 기록일 수 있다. 일부 구현예에서, 인증서 기관 네트워크(108)는 블록체인 네트워크일 수 있고, 전자 기록은 블록체인 기록일 수 있다. 각각의 전자 기록(112)은, 특정 엔티티에 대응하는 특정 전자 식별자(eID)(114)와 연관될 수 있다. 또한, 각각의 전자 기록(112)은 서명될 수도 있고, 또는 전자 기록(112)의 진위성을 검증하기 위해 사용될 수 있는 서명(116)을 포함할 수도 있다. 전자 기록(112)은 또한 정책 데이터(118)를 포함할 수 있고, 이는 전자 기록(112)과 연관된 엔티티가 무슨 트랜잭션을 수행할 수 있는지 없는지를 표시한다. 또한, 각각의 전자 기록(112)은 토큰(120)을 포함할 수 있고, 이는 토큰 서비스(122)에 의해 저장된 토큰에 매핑될 수 있다.
토큰 서비스(122)는, 계정 데이터와 토큰 사이의 매핑 기록을 유지하는 임의의 적합한 엔티티일 수 있다. 일부 구현예에서, 토큰 서비스(122)는 토큰 볼트(124)를 유지할 수 있다. 토큰 볼트(124) 내의 각 토큰은 엔티티 또는 계정과 연관된 메타데이터(126)에 매핑될 수 있다. 일부 구현예에서, 메타데이터(126)는, 업데이트되거나 변경될 수 있는 엔티티와 관련된 정보를 포함할 수 있다. 예를 들어, 메타데이터(126)는, 엔티티와 연관된 일반 정보, 엔티티와 연관된 위치 또는 어드레스, 엔티티와 연관된 서비스 또는 보증 정보, 또는 엔티티와 연관된 임의의 다른 적절한 정보를 포함할 수 있다. 도 1은 전자 식별자와 연관된 메타데이터를 저장하기 위한 토큰 및 토큰 서비스의 사용을 도시하고 있지만, 본 개시의 일부 구현예는 단순히 전자 식별자를 데이터베이스에 저장된 메타데이터에 매핑할 수 있다(즉, 토큰은 필요하지 않음). 그러나, 설명된 방식으로 토큰을 사용하면 이들 구현예보다 더 높은 수준의 보안을 제공하는데, 그 이유는 승인되지 않은 당사자가 토큰 서비스에 의해 저장된 메타데이터에 접근할 수 있는 경우에도 그들은 그 메타데이터와 연관된 장치(102)가 무엇인지 판정할 수 없기 때문이다.
비록 도 1은 전자 기록을 (분산 데이터베이스의 유형인) 블록체인 데이터베이스에 저장되는 것으로 설명하나, 현재 시스템은 하나 이상의 다른 데이터베이스로의 매핑을 가능하게 하는 관계형 데이터베이스 요소(예, 토큰(120))를 포함할 수 있음(비록 블록체인 데이터베이스는 전형적으로 비관계형 데이터베이스임)을 인식해야 한다. 따라서, 본원에서 블록체인 데이터베이스에 대한 설명은 단지 예시적이고, 일치하지 않는 데이터베이스 모델을 지칭할 수 있고, 종래의 블록체인 데이터베이스 모델보다 특정 장점을 제공할 수 있다. 또한, 전자 기록은 임의의 적절한 데이터 저장 프로토콜을 사용하여 임의 유형(관계형 또는 비관계적 및 배분된 또는 비분산형)의 데이터베이스에 저장될 수 있음을 인식해야 한다. 본원에서 제공되는 특정 유형의 데이터 저장에 대한 임의의 설명은, 본질적으로 예시적인 것으로 의도되며 제한적인 것으로 해석되어서는 안 된다. 설명은, 당업자에게 균등한 것으로 인식될 임의의 적합한 데이터 저장 수단을 포함하고자 의도된다. 예를 들어, 일부 구현예에서, 각각의 전자 기록은 문서 지향 데이터베이스(예, XML 데이터베이스)에 별도의 문서로 저장될 수 있다. 일부 다른 구현예에서, 각각의 전자 기록은 객체 지향 데이터베이스 내에서 객체의 인스턴스로서 저장될 수 있다.
일부 구현예에서, 전자 기록(112)은 블록체인 기록일 수 있음에 유의해야 한다. 따라서, 전자 기록(112)에 포함된 정보는, 블록체인에 포함되는 경우 전형적으로 불변성(즉, 영구적이거나 변경 불가)이다. 그러나, 이들 구현예에서, 토큰 서비스(122)에 의해 유지되는 메타데이터(126)는, 전자 기록(112)과 독립적으로 편집 또는 달리 업데이트될 수 있다. 이러한 방식으로, 인증서 기관 네트워크(108)는 엔티티에 관해 정보를 유지할 수 있어서, 상기 정보의 적어도 제1 부분은 불변성이고 상기 정보의 적어도 제2 부분은 (예를 들어, 엔티티와 연관된 사용자에 의해) 편집 가능하도록 한다.
본원에 도시된 다양한 구성 요소 간의 상호 작용을 예시하는 방법으로, 다음의 시나리오를 고려하고, 여기서 인증 장치(102)는 그의 일차 기능과 연관된 리소스(예, 더 많은 세탁 세제를 주문할 수 있는 세탁기)를 보충할 수 있는 기계-대-기계 장치이고, 거래 엔티티 장치(104)는 리소스를 공급하는 리소스 제공업체에 의해 작동되는 컴퓨팅 장치(예, 소매 엔티티에 의해 운영되는 컴퓨팅 장치)일 수 있다. 인증 장치(102)가 신규 소유자에게 넘겨지는 경우, 상기 소유자는 새로운 소유권 상태를 나타내는 정보를 시스템에 제공할 수 있다. 일부 구현예에서, 이는, 모바일 폰이나 다른 장치를 사용하여 인증 장치(102)와 직접 통신하는 사용자를 포함할 수도 있다. 일부 구현예에서, 사용자는, 인증서 기관 네트워크(108)에 의해 유지된 계정에 로그인하여 인증 장치(102)에 대한 계정 세부사항을 업데이트할 수 있다. 일단 시스템이 새로운 정보를 수신하면(또는 현재 보안 인증서가 만료된 것으로 판정하는 경우), 보안 인증서를 획득하는 프로세스가 개시될 수 있다. 일부 구현예에서, 프로세스는, 인증서 기관 네트워크(108)에 전자 식별자를 전송하는 인증 장치(102)에 의해 개시될 수 있다. 일부 구현예에서, 프로세스는 인증서 기관 네트워크(108)에 의해 개시될 수도 있다. 이를 위해, 인증서 기관 네트워크(108)는 인증 장치(102)의 신뢰성/진위성을 결정하고 검증하기 위해 하나 이상의 기술을 사용할 수 있다. 일단 검증되면, 인증서 기관 네트워크(108)는 인증 장치(102)가 갖게 될 권한을 표시하는 정책 데이터 세트(118)를 생성할 수 있다. 정책 데이터(118)는, 상기 인증 장치(102)의 유형 또는 분류(예, 식기 세척기는 식기 비누 등을 구매만 할 수 있음), 사용자에 의해 설정된 제약 조건(예, 이 인증 장치(102)는 트랜잭션당 50.00 달러 이상 지출할 수 없음, 등), 또는 이들 둘의 일부 조합을 기초로 생성될 수 있다. 본 정책 데이터(118)에 기초하여, 인증 장치(102)에 대한 전자 기록(112)이 생성된다. 전자 기록(112)은, 인증 장치(102), 인증 장치(102)의 사용자, 인증서 기관 네트워크(108), 또는 이들 엔티티의 임의의 조합을 통해 서명될 수 있다. 전자 기록(112)은, 이 엔티티와 연관된 개인 키를 사용하여 상기 엔티티에 의해 서명할 수 있다. 그런 다음, 상응하는 전자 기록(112)을 지칭하는 인증 장치(102)에 대해, 보안 인증서가 생성될 수 있다. 일부 구현예에서, 전술한 프로세스는, 현재 보안 인증서가 만료된 것으로 판정될 시와 같이, 자동으로(예, 인간 상호작용 없이) 수행될 수 있다.
상기 예를 계속 참조하면, 인증 엔티티 장치(102)는, 거래 엔티티(104)를 갖는 리소스에 대해 트랜잭션을 개시할 수 있다. 이를 위해, 인증 엔티티 장치(102)는 거래 엔티티(104)에 트랜잭션 요청을 전송할 수 있고, 이는 획득될 리소스 표시, 결제 방법의 표시, 및 인증 엔티티 장치(102)에 대한 전자 식별자 또는 보안 인증서 중 적어도 하나를 포함한다. 트랜잭션을 수행하기 전에, 거래 엔티티 장치(104)는, 먼저 보안 인증서의 진위성을 검증할 수 있을 뿐만 아니라, 상기 요청된 트랜잭션이 상기 보안 인증서와 연관된 정책 데이터(118)의 범위 내에 있는지 보장할 수 있다. 예를 들어, 거래 엔티티 장치(104)는 인증 엔티티 장치(102)가 요청하는 트랜잭션을 수행할 권한이 있는지 여부를 결정할 수 있다. 일부 구현예에서, 거래 엔티티 장치(104)는 또한 인증 엔티티 장치(102)의 진위성을 검증할 수 있다. 보안 인증서가 믿을만하고 인증 엔티티 장치(102)가 트랜잭션을 수행하도록 승인될 시, 거래 엔티티 장치(104)는 트랜잭션을 개시할 수 있다.
일부 구현예에서, 거래 엔티티 장치(104) 및/또는 인증서 기관 네트워크(108)는 이전에 알려지지 않은 엔티티(예, 인증 엔티티 장치(102))의 신뢰성 또는 진위성을 결정하고 검증하기 위해 하나 이상의 기술을 사용할 수 있음에 유의해야 한다. 예를 들어, 인증서 기관 네트워크(108)는 장치(102)를 등록한 사용자가 실질적으로 장치(102)의 소유자인지 검증할 필요가 있을 수 있다. 간접적인 신뢰성 연관법을 사용함으로써 사기성 상호 작용의 가능성을 줄이면서 엔티티가 안전한 방식으로 상호 작용할 수 있게 하는 이러한 하나의 기술은, "CONDUCTING SECURE INTERACTION USING RELIABILITY INFORMATION"이라는 명칭으로 Wang 등에게 부여된 미국 특허 출원 제15/806,287호에 설명되어 있으며, 이는 본원에 참조로 전체가 포함된다.
예시를 간략화하도록, 소정 갯수의 구성 요소가 도 1에 나타나 있다. 그러나, 본 발명의 구현예는 각 구성 요소를 한 개 이상으로 포함할 수 있다. 또한, 본 발명의 일부 구현예는 도 1에 나타낸 구성 요소의 전부보다 더 많거나 더 적게 포함할 수 있음을 이해할 것이다. 또한, 도 1의 구성 요소는, 임의의 적절한 통신 정책을 사용하여 (인터넷을 포함한) 임의의 적절한 통신 매체를 통해 통신할 수 있다. 예를 들어, 도 1에 나타낸 구성 요소 사이의 통신용으로 적절한 통신 네트워크는, 직접 상호 접속; 인터넷; 근거리 통신망(LAN); 대도시 지역 네트워크(MAN); 인터넷 상의 노드로서의 운영 임무(OMNI); 보안 커스텀 접속(secured custom connection); 광역 네트워크(WAN); (예를 들어, 한정되는 것은 아니지만, 무선 애플리케이션 프로토콜(WAP), I-모드, 블루투스, 블루투스 저 에너지(BLE) 및/또는 이와 유사한 것들과 같은 프로토콜을 채용한) 무선 네트워크; 및/또는 이와 유사한 것들 중 어느 하나 및/또는 이들의 조합을 포함할 수 있다.
도 2는 적어도 일부 구현예에 따라 다수의 구성 요소를 포함한 예시적인 시스템(200)을 도시한다. 사용자 장치(220), 인증서 기관 네트워크 노드(250), 및 하나 이상의 기계-대-기계 장치(예, 스마트 냉장고(230), 수도 계량기(232), 가스 계량기(234), 및 전기 계량기(236))는, 네트워크 접속(230), 무선 라우터(240), 셀 타워(245), 또는 다른 임의의 적절한 통신 수단을 통해 서로 직접적으로 또는 간접적으로 통신할 수도 있다.
전술한 바와 같이, 기계-대-기계 장치는 다른 장치들과 통신할 수 있고/있거나 상호 작용할 수 있는 임의의 장치일 수도 있다. 기계-대-기계 장치 각각은, 장치의 상호 작용하는 능력과는 관련되지 않은 하나 이상의 기능을 수행하도록 구성될 수도 있다. 예를 들어, 스마트 냉장고(230)(M2M, 즉 기계-대-기계 장치의 일례)는 냉장 능력과 컴퓨팅 능력 모두를 포함할 수 있다. 스마트 냉장고(230)는, 음식을 저장하고 냉장하는 수단으로서 일차적으로 이용되지만, 다른 장치와 통신할 수 있게 하는 이차 기능을 가져서, 이러한 스마트 냉장고를 기계-대-기계 장치로 만들 수 있다. 기계-대-기계 장치는 전자 식별자를 포함할 수 있고, 이는 기계-대-기계 장치의 제조사에 의해 제공될 수 있다. 전자 식별자는 기계-대-기계 장치를 위한 통신 어드레스로서 기능할 수도 있고, (무결성/비밀성이 보호될 수 있도록) 신뢰받는 하드웨어 신뢰 루트(root of trust)에 기초하는 보안 전자 식별자일 수도 있다. 일부 구현예에서, 제조사는 비밀 보호되는 전자 식별자의 위탁 발급자일 수도 있다. 일부 구현예에서, 전자 식별자는 기계-대-기계 장치에 대한 일련번호 또는 다른 식별자일 수 있다.
기계-대-기계 장치는 보안 실행 환경, 예컨대 보안 메모리(예, 저 전력 장치에서 이용 가능한 스마트카드 기반 기술)를 포함할 수 있다. 일부 구현예에서, 보안 메모리는 보안 요소를 포함할 수 있다. 보안 요소(SE)는, 잘 식별된 위탁 기관 세트에 의해 진술된 규칙과 보안 요건에 따라, 애플리케이션 및 이들의 비밀 및 암호 데이터를 안전하게 호스팅할 수 있는(예, 키 관리) 변경 억제 플랫폼(통상적으로, 원 칩 시큐어 마이크로컨트롤러)일 수 있다.
기계-대-기계 장치에 대해 프로비저닝되는 정보(예, 보안 인증서)는 보안 메모리에 저장될 수 있다. 기계-대-기계 장치는, 유휴 데이터와 암호화 키(예, 공유 비밀)를 보호하도록 보안 키 저장부를 포함할 수 있다. 암호화 키는 고유 유도 키(UDK)일 수 있고, 이는 사용자 계정 정보 및 기타 고유 정보로부터 유도될 수 있다. 기계-대-기계 장치는 또한 다른 장치와 통신하기 위한 명령어 및/또는 트랜잭션을 개시하기 위한 명령어를 저장할 수 있다.
일부 구현예에서, 기계-대-기계 장치는, (예를 들어, WiFi, 블루투스(클래식 및 BLE 또는 블루투스 저 에너지), IR, GSM 등을 통해) 무선 라우터(240), 사용자 장치(220), 및/또는 셀 타워(245)와 무선 통신할 수 있다. 또한, 기계-대-기계 장치는, 인증서 기관 네트워크 노드(250)와 통신하기 위해 무선 라우터(240), 사용자 장치(220), 및/또는 셀 타워(245)를 통해 인터넷에 액세스할 수 있다. 예를 들어, 직접 접속이 없는 경우(예, WWAN, GSM), 기계-대-기계 장치는 로컬 장치(예, 무선 라우터(240), 핫스팟으로서 기능할 수 있는 사용자 장치(220) 등)과 접속할 수 있고, 인터넷 접속 및 통신을 위한 장치에 의존할 수도 있다. 이에 따라, 기계-대-기계 장치는, 다른 장치에 의해 원격으로 액세스 가능할 수 있고, 또한 (소유권 데이터의 업데이팅과 정보 프로비저닝과 같은) 관리 목적으로 사용자 인터페이스를 포함할 수 있다.
일부 구현예에서, 기계-대-기계 장치에 의해 사용되는 통신 기술은, 기계-대-기계 장치에 의해 사용되는 전원의 유형에 의존할 수 있다. 예를 들어, 기계-대-기계 장치가 (예를 들어, 스마트 냉장고와 다른 장치, 예컨대 세척기/건조기, 차고 문, 차 등에 보편적인 것처럼) 정상적인 외부 전력 공급 장치에 대한 액세스를 갖는 경우, 이는 WiFi 인터페이스를 포함할 수 있다. 대안적으로, 기계-대-기계 장치가 외부 전력 공급 장치 대신에 배터리에 의존하는 경우, 이는 전력을 덜 소모하는 통신 수단, 예컨대 저 전력 블루투스 인터페이스, 지그비(ZigBee) 인터페이스, 근거리 무선 통신(NFC), 또는 무선 주파수(RF) 인터페이스, 또는 다른 임의의 적절한 무선 액세스 인터페이스를 포함할 수 있다.
일부 구현예에서, 기계-대-기계 장치는 대신에 가정용 기능을 제공하는 임의의 기타 장치일 수 있다. 전술한 바와 같이, 도 2는 스마트 냉장고(230), 수도 계량기(232), 가스 계량기(234), 및 전기 계량기(236) 등의 여러 장치를 포함한다. 그러나, 가정용 장치의 추가 예시는 텔레비전, 램프, 화재 경보기, 홈 의료 장치, 홈 경보기, 세척기/건조기, 차고 문, 차, 및 다른 임의의 적절한 장치를 포함한다. 본원에 설명된 시스템에 포함된 기계-대-기계 장치는, 그 장치를 인증하는 데 사용될 수 있는 보안 인증서를 생성 또는 획득하기 위해 인증서 기관 네트워크 노드(250)와 독립적으로 통신할 수 있다.
인증서 기관 네트워크 노드(250)는 기계-대-기계 장치에 정보를 프로비저닝하도록 구성될 수 있다. 일부 구현예에서, 인증서 기관 네트워크 노드(250)에 의해 기계-대-기계 장치에 프로비저닝되는 정보는, 보안 인증서일 수 있다. 일부 구현예에서, 인증서 기관 네트워크 노드(250)는 결제 기기의 발급사, 결제 기기와 연관된 결제 프로세싱 네트워크, 제3 위탁자, 디지털 지갑 제공자, 토큰 서버 컴퓨터, 및/또는 다른 임의의 적절한 엔티티에 연관될 수 있다.
도 3은 적어도 일부 구현예에 따른 예시적인 인증서 기관 네트워크 노드(300) 및 예시적인 인증 장치(320)의 다이어그램을 도시한다. 인증서 기관 네트워크 노드(300)는, 도 1의 예시적인 인증서 기관 네트워크 노드(108)일 수 있다. 상기 인증 장치(320)는 도 1의 예시적인 인증 엔티티 장치(102)일 수 있다.
인증서 기관 네트워크 노드(300)는 임의의 컴퓨팅 장치일 수 있고. 이는 인증 장치(320)로부터 전자 기록을 수신할 수 있고, 전자 기록으로부터 정보를 포함시키기 위해 사용자와 연관된 블록체인을 업데이트할 수 있고, 개인 키를 사용하여 블록체인에 서명할 수 있고, 블록체인을 사용자와 연관된 클라이언트 장치에 분산할 수 있다. 적어도 일부 구현예에서, 인증 장치(320)는 적어도 하나의 메모리(302) 및 하나 이상의 프로세싱 유닛 (또는 프로세서(들))(304)을 포함할 수 있다. 프로세서(들)(304)는 하드웨어, 컴퓨터 실행가능 명령어, 펌웨어, 또는 이들의 조합으로 적절하게 구현될 수 있다. 프로세서(들)(304)의 컴퓨터 실행가능 명령어 또는 펌웨어 구현예는, 기술된 다양한 기능을 수행하도록 임의의 적절한 프로그래밍 언어로 작성된 컴퓨터 실행가능 또는 기계 실행가능 명령어를 포함할 수 있다.
메모리(302) 또는 본원에 설명된 기타 메모리는, 프로세서에 로딩 가능하고 실행 가능한 프로그램 명령어뿐만 아니라, 이들 프로그램 명령어의 실행 중에 생성되는 데이터를 저장할 수 있다. 메모리는 (랜덤 액세스 메모리(RAM) 등과 같이) 휘발성이고/휘발성이거나 (읽기 전용 메모리(ROM), 플래시 메모리 등과 같이) 비휘발성일 수 있다. 인증서 기관 네트워크 노드(300)는 또한 추가 저장 장치(306), 예컨대 자기 저장 장치, 광학 디스크, 및/또는 테이프 저장 장치를 포함하지만 이에 한정되지 않는 분리형 저장 장치 또는 비분리형 저장 장치를 포함할 수 있다. 디스크 드라이브 및 이에 연관되는 컴퓨터 판독 가능 매체는, 인증서 기관 네트워크 노드(300)를 위한 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 및 기타 데이터의 비휘발성 저장 장치를 제공할 수 있다. 일부 구현예에서, 메모리(302)는 다수의 상이한 유형의 메모리, 예컨대 정적 랜덤 액세스 메모리(SRAM), 동적 랜덤 액세스 메모리(DRAM), 또는 ROM을 포함할 수 있다.
메모리(302)의 콘텐츠를 보다 상세하게 보면, 메모리(302)는 운영 시스템(308)과 본원에 개시된 특징을 구현하기 위한 하나 이상의 애플리케이션 프로그램 또는 서비스를 포함할 수 있고, 이는 사용자 및/또는 장치와 연관된 전자 기록을 생성하고 관리하기 위한 적어도 하나의 모듈(기록 관리 모듈(310))을 포함한다. 메모리(302)는 또한 블록체인 데이터(312)를 포함할 수 있고, 이는 다수의 사용자/장치 및 계정 데이터(314)에 대한 과거 트랜잭션(보안 인증서가 발급된 트랜잭션을 포함함)과 연관된 데이터를 포함하고, 이는 사용자 및/또는 계정과 연관된 데이터를 포함한다.
일부 구현예에서, 기록 관리 모듈(210)은 프로세서(204)와 함께, 인증 장치(320)로부터의 보안 인증서 요청을 수신하고, 보안 인증서를 생성하고, 보안 인증서가 인증 장치(320)에 대해 생성되었음의 표시를 기록하도록 구성될 수 있다. 일부 구현예에서, 기록 관리 모듈(310)은 요청을 수신할 시, 상기 인증 장치(320)의 진위성 또는 신뢰성을 검증할 수 있다. 상기 요청에서, 기록 관리 모듈(310)은, 인증 장치(320)와 연관된 개인 키를 사용하여 인증 장치(320)에 의해 서명된 데이터의 일부를 수신할 수 있다. 그런 다음, 인증 장치(320)와 연관된 공개 키를 사용하여, 데이터의 서명된 부분이 인증서 기관 네트워크 노드(300)에 의해 검증될 수 있다. 일부 구현예에서, 인증 장치(320) 각각에 대한 공개 키는 인증서 기관 네트워크 내의 인증서 기관 네트워크 노드(300) 각각에 분산되고, 저장될 수 있다. 일부 구현예에서, 데이터의 서명된 부분을 검증할 시, 인증서 기관 네트워크 노드(300)는 인증 장치(320)에 대한 보안 인증서뿐만 아니라, 인증 장치(320)에 대해 보안 인증서가 생성되었음을 나타내는 전자 기록을 생성하도록 구성될 수 있다. 일부 구현예에서, 전자 기록은 블록체인 기록일 수 있다. 일부 구현예에서, 인증 장치(320)는 전자 기록을 생성하고, 전자 기록을 블록체인에 첨부하고, 인증 장치(320)와 연관된 개인 키를 사용하여 전자 기록에 서명하도록 구성될 수 있다. 이들 구현예에서, 보안 인증서는 전자 기록을 링크하거나 참조할 수 있다.
일부 구현예에서, 인증 장치(320)는, 본원에 설명된 기술을 사용하여 보안 인증서를 생성하거나 획득할 수 있는 임의 유형의 전자 장치일 수 있다. 인증 장치(320)는, 적어도 하나의 추가 전자 장치와 거래하도록 구성된 전자 장치일 수 있다. 인증 장치(320)는 본원에 설명된 기술과 관련이 없는 적어도 하나의 일차 기능을 수행하도록 구성될 수 있다. 이는 일차 기능 하드웨어/소프트웨어(322)를 포함할 수 있고, 이는 인증 장치(320)의 일차 기능을 수행하는 데 필요한 기계적 구성 요소 및 소프트웨어 요소의 임의 조합을 포함할 수 있다.
또한, 인증 장치(320)는, 하나 이상의 프로세서(들)(326) 및 메모리(328)를 갖는 인증 회로(324)를 포함할 수 있다. 메모리(328)는 보안 실행 환경을 포함할 수 있다. 일부 구현예에서, 인증 회로(324)는, 인증 장치(320)에 설치된 집적 회로일 수 있다. 예를 들어, 인증 회로(324)는 시스템 온 칩(SoC), 주문형 집적 회로(ASIC) 또는 필드 프로그래머블 게이트 어레이(FPGA)일 수 있다. 메모리(328)의 콘텐츠를 보다 상세하게 보면, 메모리(328)는 전자 식별자(330)와 본원에 개시된 특징을 구현하기 위한 하나 이상의 애플리케이션 프로그램 또는 서비스를 포함할 수 있고, 이는 보안 인증서의 생성 또는 획득뿐만 아니라 다른 전자 장치와의 상호 작용을 제어하기 위한 적어도 하나의 모듈(상호 작용 모듈(232))을 포함한다.
일부 구현예에서, 상호 작용 모듈(332)은 프로세서(326)와 함께, 보안 인증서를 생성하거나 취득하도록 구성될 수 있다. 메모리(328)는, 보안 인증서의 현재 상태 표시뿐만 아니라 현재 상태와 관련된 임의의 날짜(예, 만료일)의 표시를 저장할 수 있다. 상호 작용 모듈(332)은, 이들 표시된 날짜를 초과하거나 도달할 시, 현재 상태를 업데이트하도록 구성될 수 있다. 일부 구현예에서, 인증 장치(320)의 현재 상태가 비활성 상태(예, 만료된 상태)로 변경되었음을 감지할 시, 상호 작용 모듈(332)은 새로운 보안 인증서를 자동으로 생성하거나 획득하도록 구성될 수 있다. 일부 구현예에서, 이는, 인증 장치(320)에 의해 저장된 다양한 정보(예, 현재 소유자, 결제 정보 등)를 컴파일하는 단계 및 그 정보를 인증서 기관 네트워크 노드(300)에 제공하는 단계를 포함할 수 있다. 인증 장치(320)는 또한 인증 장치(320)용 전자 식별자(330)를 인증서 기관 네트워크 노드(300)에 전송할 수 있다. 일부 구현예에서, 인증 장치(320)는, 인증 장치(320)에 할당된 개인 키를 사용하여, 인증서 기관 네트워크 노드(300)에 제공된 데이터의 적어도 일부분에 서명하도록 구성될 수 있다. 개인 키는, 인증 장치(320)의 제조사에 의해 인증 장치(320)에 저장될 수 있다. 데이터의 서명된 부분을 검증할 시, 상호 작용 모듈(332)은 인증서 기관 네트워크 노드(300)로부터 보안 인증서를 수신할 수 있다.
일부 구현예에서, 상호 작용 모듈(332)은 프로세서(326)와 함께, 적어도 하나의 다른 전자 장치와의 트랜잭션을 개시 및/또는 수행하기 위해 구성될 수 있다. 예를 들어, 상호 작용 모듈(332)은, 인증 장치(320)에 의해 추가 리소스가 요구되는 시점을 결정하기 위해 일차 기능 하드웨어/소프트웨어(322)와 통신할 수 있다. 이 예에서, 상호 작용 모듈(332)은, 추가 리소스를 제공할 수 있는 리소스 제공자와 통신하도록 구성될 수 있다. 일부 구현예에서, 보안 인증서와 관련해서 저장된 정책 데이터 세트는, 인증 장치(320)가 트랜잭션을 개시하거나 수행할 수 있는 리소스 제공자에 대한 표시를 포함할 수 있다. 일부 구현예에서, 보안 인증서에 관련해서 저장된 정책 데이터 세트는, 무슨 리소스, 또는 이들 리소스 중 얼마나 많은 것이 인증 장치(320)에 의한 트랜잭션의 적용을 받을 수 있는지에 대한 표시를 포함할 수 있다. 일부 구현예에서, 인증 장치(320)는, 리소스 제공자가 인증 장치(320)의 진위성을 검증할 수 있도록, 트랜잭션 요청과 함께 전자 식별자 및/또는 보안 인증서를 리소스 제공자에게 제공할 수 있다.
인증 장치(320)는 또한 통신 인터페이스(들)(334)를 포함할 수 있고, 이는 인증 장치(320)로 하여금 임의의 다른 적합한 전자 장치와 통신할 수 있게 한다. 일부 구현예에서, 통신 인터페이스(334)는 서버로 하여금 네트워크(예, 개인 네트워크) 상의 다른 전자 장치와 통신하게 할 수 있다. 인증 장치(320)는, 예컨대 키보드, 마우스, 펜, 음성 입력 장치, 터치 입력 장치, 디스플레이, 스피커, 프린터 등과의 접속을 가능하게 하기 위해, 입력/출력(I/O) 장치(들) 및/또는 포트(336)를 또한 포함할 수 있다.
도 4는 적어도 일부 구현예에 따라 다수의 구성 요소 사이에서 발생할 수 있는 다양한 상호 작용의 일례를 나타낸 수영 레인 다이어그램을 도시한다. 도 4에 나타낸 것은, 인증 엔티티 장치(102), 인증서 기관 네트워크(108), 토큰 서비스(122), 및 트랜잭션 엔티티 장치(104) 사이에서 발생할 수 있는 상호 작용이다. 인증 엔티티 장치(102), 인증서 기관 네트워크(108), 토큰 서비스(122), 및 트랜잭션 엔티티 장치(104) 각각은 상기 도 1과 관련해서 설명된 개별적인 대응 부분의 예일 수 있다. 설명 목적상, 도 4에 도시된 예시적인 상호 작용은, 프로세싱(400)으로서 도시될 것이다.
일부 구현예에서, 인증 엔티티 장치(102)는, 신규 보안 인증서가 필요하다는 것을 감지하도록 구성될 수 있다. 일부 구현예에서, 인증 엔티티 장치(102)는, 현재 보안 인증서가 더 이상 유효하지 않음을 결정할 수 있다. 예를 들어, 인증 엔티티 장치(102)는, 인증 엔티티 장치(102)의 현재 소유권 상태가 변경되었거나 현재 보안 인증서가 만료되었음을 결정할 수 있다. 이러한 결정을 내릴 시, 인증 엔티티 장치(102)는 프로세스(400)를 개시하도록 구성될 수 있다.
402에서, 인증 엔티티 장치(102)는, 전자 식별자(즉, 인증 엔티티에 고유한 식별자)뿐만 아니라 다른 장치-특이적 또는 사용자-특이적 정보를 인증서 기관에 전송하도록 구성될 수 있다. 일부 구현예에서, 사용자는, 인증 엔티티 장치(102)와 상호 작용하여 사용자-특이적 정보를 제공할 수 있다. 일 구현예에서, 사용자는, 인증 엔티티 장치(102) 상의 그래픽 사용자 인터페이스(GUI)를 통해 인증 엔티티 장치(102)와 직접 상호 작용할 수 있다. 다른 예에서, 사용자는, 인증 엔티티 장치(102)와 모바일 장치(예, 스마트폰) 사이에 통신 채널(예, 블루투스)을 설정할 수 있고, 모바일 장치의 GUI를 통해 통신 채널에 걸쳐 다양한 정보를 제공할 수 있다. 일부 구현예에서, 사용자는 인증 엔티티 장치(102)에 사용자 정보를 직접 제공할 수 없음에 유의해야 한다. 예를 들어, 사용자는 해당 계정에 대한 자신의 정보를 업데이트하기 위해, 인증서 기관 네트워크(108)에 의해 유지되는 계정에 (예를 들어, 웹사이트를 통해) 로그인할 수 있다. 일부 구현예에서, 사용자는, 인증 엔티티 장치(102)를 자신의 계정과 연관시키기 위해, 인증 엔티티 장치(102)에 대한 식별자를 인증서 기관 네트워크(108)에 제공할 수 있다.
인증서 기관 네트워크(108)는, 인증 엔티티 장치와 관련된 계정을 (예를 들어, 사용자-특이적 정보 또는 전자 식별자에 기초하여) 식별하도록 구성될 수 있다. 일부 구현예에서, 인증서 기관은 정책 데이터 세트(예, 스마트 계약)를 생성할 수 있고, 이는 인증 엔티티 장치의 유형 또는 분류뿐만 아니라 (예를 들어, 계정 정보에 기초한) 사용자 정의 제약 조건에 기초하여 인증 엔티티 장치에 대한 권한을 표시한다. 예를 들어, 인증 엔티티 장치(102)의 각 유형은, 기본 정책 세트(예, 정수기는 물 필터를 구매할 수만 있음 등)와 연관될 수 있다. 이 예에서, 사용자는, 임의의 특정 장치에 제약 조건을 추가로 배치할 수 있다. 예시를 통해, 사용자는 (예를 들어, 계정 정보를 업데이트함으로써) 인증 엔티티 장치(102)에 의해 요청될 수 있는 리소스의 특정 브랜드 또는 버전, 인증 엔티티 장치(102)가 리소스를 요청하는 특정 리소스 제공자 세트, 및/또는 인증 엔티티 장치(102)가 특정 리소스에 지출할 수 있는 금액을 정의할 수 있다.
일부 구현예에서, 인증서 기관 네트워크(108)는, 404에서 보안 인증서와 연관될 토큰을 요청할 수 있다. 예를 들어, 인증서 기관 네트워크(108)는, 보안 인증서와 연관될 메타데이터 정보 하나 이상을 토큰 서비스에 전송할 수 있다. 일부 구현예에서, 메타데이터 정보는, 정보가 미승인 당사자(예, 해커)에 의해 획득되는 경우에 사용자가 인증 엔티티 장치(102)와 연관되지 않기를 원하는 민감한 정보를 포함할 수 있다. 토큰의 사용자는 메타데이터 정보를 미승인 당사자에게 쓸모 없는 것으로 만들 수 있는데, 그 이유는 미승인 당사자가 메타데이터 정보와 연관된 인증 엔티티 장치(102)가 무엇인지 결정할 수 없기 때문이다. 그 다음, 토큰 서비스(122)는, 토큰과 관련하여 전송된 정보의 적어도 일부를 저장하도록 구성될 수 있다. 그 다음, 토큰 서비스(122)는, 406에서 토큰을 인증서 기관 네트워크(108)로 전송할 수 있다.
408에서, 인증서 기관 네트워크(108)는, 전자 기록을 생성하는 데 사용될 정보를 제공함으로써, 전자 장치의 통신에 응답하도록 구성될 수 있다. 예를 들어, 인증서 기관은 전자 서명에 사용될 정책 데이터 세트, 토큰 및/또는 오프셋 값을 제공할 수 있다. 오프셋 값은, 특정 보안 인증서 요청에 대한 고유한 값일 수 있고, 이는 서명될 정보와 결합하는 경우에 최종 서명이 그 보안 인증서에 고유함을 보장한다. 일부 구현예에서, 토큰은 오프셋 값일 수 있다. 일부 구현예에서, 오프셋 값은 단순히 카운터 변수(예, 수신된 다수의 요청 또는 거래를 카운팅하는 데 사용되는 변수)일 수 있고, 이는 각각의 요청을 수신하여 증분된다. 오프셋 값은 임의의 적합한 고유 값일 수 있고, 이는 인증서 기관 네트워크(108)와 인증 엔티티 장치(102) 사이에서 공유될 수 있음에 유의해야 한다. 일부 구현예에서, 오프셋 값은 인증 엔티티 장치(102)에 의해 생성될 수도 있다. 예를 들어, 인증 엔티티 장치(102)는 오프셋 값을 생성할 수 있고, 이는, 402에서, 인증서 기관 네트워크(108)로 전송된 보안 인증서의 요청에 제공될 수 있다.
410에서, 인증 엔티티 장치(102)는, 전자 기록을 생성하는 데 사용될 정보를 수신할 시, 요청된 보안 인증서와 연관될 전자 기록을 생성하도록 구성될 수 있다. 인증된 엔티티 장치(102)에 의해 생성될 수 있는 예시적인 전자 기록은, 본 개시의 다른 곳에 설명되어 있다. 일단 전자 기록이 생성되면, 인증 엔티티 장치(102)는 인증 엔티티 장치(102)와 연관된 개인 키를 사용하여 전자 기록에 서명할 수 있다. 이는, 전자 기록에 포함된 데이터의 적어도 일부분에 대한 암호화 작업을 수행하는 단계를 포함할 수 있다. 이 프로세스는 이하의 도 6과 관련하여 보다 상세하게 설명한다. 일부 구현예에서, 개인 키는 인증 엔티티 장치(102)의 제조사에 의해 인증 엔티티 장치(102)에 저장될 수 있다. 일부 구현예에서, 개인 키는 (예를 들어, 등록 프로세스 동안) 인증서 기관 네트워크(108)에 의해 인증 기관 장치(102)에 제공될 수 있다. 전자 기록은 블록체인의 기록일 수 있으며, 여기서 각 기록은 이전 기록을 참조함을 유의해야 한다. 이들 구현예에서, 이전 기록에 대한 링크는 인증 엔티티 장치(102), 인증서 기관 네트워크(108), 또는 둘 모두에 의해 유지될 수 있고, 전자 기록을 생성할 경우에 이를 사용할 수 있다.
412에서, 서명된 전자 기록은 인증 기관 장치(102)에 의해 인증서 기관 네트워크(108)에 제공될 수 있고, 이는 그런 다음 414에서, 전자 장치와 연관된 공개 키를 사용하여, 생성된 전자 기록의 진위성을 검증할 수 있다. 일단 검증되면, 전자 기록은 데이터베이스 또는 기타 전자 기록의 레코드에 첨부될 수 있다. 예를 들어, 인증서 기관 네트워크(108)가 블록체인 스타일의 기록 방식을 사용하는 경우라면, 인증 기관서 네트워크(108)에 의해 수신된 전자 기록은, 진위성이 검증될 시, 블록체인의 말단에 첨부될 수 있다. 일단 전자 기록이 검증되면, 416에서, 인증서 기관 네트워크(108)는 보안 인증서 또는 보안 인증서에 대한 링크를 인증서 엔티티 장치(102)에 제공할 수 있다. 일부 구현예에서, 전자 기록은 보안 인증서임을 유의해야 한다.
418에서, 보안 인증서의 현재 상태를 업데이트한 후, 인증 엔티티 장치(102)는 다른 엔티티와의 트랜잭션을 개시하도록 구성될 수 있다. 일부 구현예에서, 트랜잭션은, 인증 엔티티 장치(102)가 리소스를 필요로 함을 판정할 시, 개시될 수 있다. 일부 구현예에서, 리소스는, 인증 엔티티 장치(102)의 일차 기능과 관련하여 필요한 리소스일 수 있다. 리소스를 필요로 함을 판정한 것에 응답하여, 인증 엔티티 장치(102)는, 많은 리소스를 얻을 수 있는 적절한 거래 엔티티(예, 리소스 제공자 또는 다른 벤더)를 식별할 수 있다. 일부 구현예에서, 적절한 거래 엔티티는, 전자 기록에 포함된 정책 데이터 세트에 기초하여 식별될 수 있고, 그 중 적어도 일부는 인증 엔티티 장치(102)에 저장될 수도 있다. 일부 경우에, 인증 엔티티 장치(102)는 또한 결제 장치의 표시(예, 신용 카드 번호)를 프로비저닝할 수 있고, 이는 리소스에 대한 잠재적 트랜잭션을 수행하는 데 사용될 수 있다. 일단 인증 엔티티 장치(102)가 적절한 거래 엔티티를 식별하면, 인증 엔티티 장치(102)는 거래 엔티티와 연관된 거래 엔티티 장치(104)로 송신될, 리소스에 대한 요청을 생성할 수 있다. 생성된 요청은, 요청된 리소스에 관련된 정보, 보안 인증서(또는 보안 인증서로의 링크), 결제 정보(예: 결제 장치 또는 계정), 및 기타 적절한 트랜잭션 관련 정보를 포함할 수 있다.
420에서, 거래 엔티티 장치(104)는, 리소스에 대한 요청을 수신할 시, (예를 들어, 전자 기록의 정책 데이터 세트에 기초하여) 보안 인증서가 유효한지 그리고 요청된 트랜잭션이 특정 인증 엔티티 장치(102)에 대해 허가되는지 검증하도록 구성될 수 있다. 일단 검증되면, 거래 엔티티 장치(104)는, 제공된 결제 정보를 사용하여 요청된 트랜잭션을 수행할 수 있다. 이 프로세스는 (예를 들어, 인간 상호 작용 없이) 자동으로 수행될 수 있는 점에 유의해야 한다. 예를 들어, 일부 구현예에서, 인증 엔티티 장치(102)는 센서를 포함할 수 있거나 센서와 통신할 수 있고, 이는 이용 가능한 리소스의 현재 수량을 확인할 수 있다. 인증 엔티티 장치(102)는, 리소스의 현재 수량이 소정 임계 수량 미만임을 감지할 시, 추가 리소스를 필요로 하는지를 결정할 수 있다.
도 5는, 본 개시의 구현예에 따라 구현될 수 있는 예시적인 블록체인 기록을 도시한다. 도 5에서, 블록체인 레코드(502)는 전자 기록(504) 또는 인증서 기관 네트워크에 걸쳐 분산된 다른 상호 작용 기록을 포함할 수 있다. 도시된 바와 같이, 기록은 블록체인을 포함할 수 있고, 여기서 다양한 전자 식별자에 관련된 다수의 전자 기록(504)이 "블록"으로 처리되고, 이어서 블록체인 기록(502)의 일부로 인증서 기관 네트워크의 다수의 노드에 분산된다.
전술한 바와 같이, 다수의 전자 기록(504)은 전자 식별자(506)와 연관될 수 있다. 비록 전자 식별자(506)가 임의의 사람, 장치 또는 엔티티에 대해 생성될 수 있지만, 도 5는, 전자 식별자(506)가 특정 전자 장치(508)에 대해 생성되는 구현예에 초점을 맞추고 있다. 일부 구현예에서, 전자 식별자(506)는, 클라이언트 장치(예, 도 3의 인증 장치(320)) 또는 클라이언트 장치를 대표하는 인증 기관 네트워크 노드에 의해 생성될 수 있다. 일부 구현예에서, 전자 식별자(506)는, 개인, 장치 또는 엔티티와 거래를 수행하는 엔티티에 의해 독립적으로 생성될 수 있다. 예를 들어, 전자 식별자는, 개인, 장치 또는 엔티티와 관련된 정보를 사용하여 지정된 포맷에 따라 생성될 수 있다.
전자 장치(508)가 새로운 보안 인증서를 요청함에 따라, 전자 기록(504)은 각 요청에 대해 생성될 수 있다. 일부 구현예에서, 전자 장치(508)는 전자 기록(504)을 생성할 수 있고, 전자 장치(508)와 연관된 개인 키를 이용해 이에 서명할 수 있다. 일부 구현예에서, 전자 기록(504)은 인증서 기관 네트워크 노드에 의해 생성될 수 있고, 전자 장치(508)에 의해 서명될 수도 있다. 전자 기록(504)은 데이터(512)를 포함할 수 있다. 일부 구현예에서, 전자 기록(504)에 포함된 데이터(512)는 정책 데이터(514)를 포함할 수 있고, 이는 전자 장치(508)와 연관된 권한 표시를 포함할 수 있다. 일부 구현예에서, 전자 기록(504)에 포함된 데이터(512)는 또한 토큰(516)을 포함할 수도 있고, 이는 데이터베이스 내에 저장된 장치-특이적 정보의 위치를 표시일 수 있다. 일부 구현예에서, 추가 데이터(512)는 또한 임의의 다른 적절한 정보의 표시를 포함할 수 있다.
특정 전자 장치(508)가 다양한 다른 엔티티(예, 거래 엔티티)와 거래를 수행함에 따라, 전자 장치(508)는 상기 엔티티에게 전자 기록(504)의 표시 또는 링크를 제공할 수 있어서 전자 장치(508)가 트랜잭션을 수행하는 것이 승인됨을 증명한다. 그런 다음, 거래 엔티티는, 전자 장치(508)와 연관된 공개 키를 획득함으로써 전자 기록(504)의 진위성을 확인할 수 있고, 공개키는 인증 기관 네트워크에 저장되고 전자 기록에 포함된 서명(510)을 검증한다. 그런 다음, 거래 엔티티는, 트랜잭션이 정책 데이터(514)와 일치하는지 여부를 결정할 수 있고, 이는 트랜잭션을 수행하는 경우 전자 장치(508)의 권한을 개괄적으로 설명한다. 거래 엔티티는 전자 기록(504)을 사용하여, 거래를 수행하는 능력, 거래될 수 있는 것, 또는 전자 장치(508)에 대해 임의의 다른 적합한 트랜잭션 관련 정보를 평가할 수 있다.
도 6은 적어도 일부 구현예에 따른 전자 기록의 검증을 가능하게 하도록, 블록체인 내의 전자 기록에 첨부될 수 있는 서명을 생성하기 위한 프로세스(600)의 예시를 도시한다. 프로세스(600)는 도 3에 도시된 바와 같이, 인증 장치(320)에 의해 수행될 수 있다.
일부 구현예에서, 인증 장치(320)는 메모리(602) 내의 장치 정보를 포함할 수 있다. 일부 구현예에서, 인증 장치(320)는, 메모리(602)에 저장된 장치-특이적 정보로부터 제1 전자 식별자(604)(예, 장치 식별자)를 검색하거나 생성할 수 있다. 일부 구현예에서, 전자 식별자(604)는 인증 장치(320)의 메모리에 있는 데이터 필드에서 직접 검색될 수 있다. 일부 구현예에서, 전자 식별자(604)는 메모리(602)에 저장된 하나 이상의 값으로부터 유도될 수 있다. 예를 들어, 인증 장치(320)는, 텍스트 문자열로 조합될 메모리(602) 내의 장치 정보의 특정 필드에 대한 값을 식별할 수 있다. 장치 정보(602)는 임의의 장치-특이적 정보를 포함할 수 있다. 일부 구현예에서, 텍스트 문자열은, 인증 장치(320)와 상호 작용할 수 있는 임의의 엔티티에 접근할 수 있는 정보의 조합을 포함할 수 있다. 예시적인 일 구현예에서, 인증 장치(320)는, 인증 장치(320)의 일련 번호를, 인증 장치(320)의 모델 또는 버전 번호와 조합하여 전자 식별자(604)를 생성할 수 있다. 일부 구현예에서, 텍스트 문자열은 전자 식별자(604)에 포함된 정보를 혼화시키기 위해 해시될 수 있다.
일부 구현예에서, 인증 장치(320)는 또한 사용자-특이적 정보(606)(이는 인증 장치(320)의 소유자 또는 사용자와 관련될 수 있음)를 구비할 수 있다. 사용자-특이적 정보(606)를 수신할 시, 인증 장치(320)는, 텍스트 문자열로 조합될 사용자-특이적 정보(606)의 특정 필드에 대한 값을 식별할 수 있다. 예시적인 일례로, 인증 장치(320)는 전자 식별자(608)를 얻기 위해, 텍스트 문자열로 국가 코드, 소유자 이름, 생년월일, 및 사회 보장 번호의 마지막 네 자리 숫자를 결합할 수 있다. 일부 구현예에서, 텍스트 문자열은 전자 식별자(608)에 포함된 정보를 혼화시키기 위해 해시될 수 있다.
610에서, 인증 장치(320)는 전자 식별자(604)와 전자 식별자(608)를 단일 텍스트 문자열로 결합할 수 있다. 정보는 일부 구현예에서 연결 프로세스를 사용하여 조합될 수 있다. 예를 들어, 일부 구현예에서 두 개의 텍스트 문자열(전자 식별자(604) 및 전자 식별자(608)) 각각은 숫자 문자열로 변환될 수 있고, 이어서 두 개의 숫자 문자열이 더해져서 제3 문자열을 형성할 수 있다. 일부 구현예에서, 이 제3 문자열은 사용자/이중 인증 값(614)을 생성하기 위해 해싱 알고리즘(612)을 거칠 수 있다. 이중 인증 값(614)은 텍스트 문자열일 수 있는 제3 문자열의 유도형일 수 있다. 일부 구현예에서, 이중 인증 값(614)은 오프셋 값과 조합될 수 있고, 이는, 본원에 설명된 프로세스를 사용하여 생성된 서명이 특정 트랜잭션 또는 요청에 고유함을 보장하기 위해 사용된다. 예를 들어, 오프셋 값은 이중 인증 값(614)을 생성하기 위해 제3 문자열의 유도형에 추가되거나 첨부될 수 있다.
일단 이중 인증 값(614)이 생성되면, 인증 장치(320)는 서명(618)을 생성하기 위해 616에서 이중 인증 값(614)을 서명할 수 있다. 이중 인증 값(614)을 "서명"하기 위해, 인증 장치(320)는 인증 장치(320)와 연관된 개인 키와 함께, 하나 이상의 암호화 프로토콜을 사용할 수 있다. 그 다음, 블록체인 기록(예, 도 5의 블록체인 기록(502))에 추가되는 전자 기록에 서명을 첨부할 수 있다 그 다음, 인증 장치(320)와 거래하는 임의의 엔티티는, 전자 기록의 진위성을 검증하기 위해 서명을 사용할 수 있다. 일부 구현예에서, 서명을 검증하는 데 필요한 정보(예, 장치-특이적 정보 및 사용자-특이적 정보)는, 블록체인 기록을 포함한 인증 기관 네트워크에 의해 저장될 수 있다. 일부 구현예에서, 이 정보는 전자 기록 자체에 포함될 수 있다. 일부 구현예에서, 이 정보는 별도의 데이터베이스에 저장될 수 있다(예를 들어, 전자 기록에 포함된 토큰을 사용하여 접근 가능함). 따라서 인증 기관 네트워크는, 승인된 엔티티만 정보를 얻을 수 있도록 함으로써, 저장된 정보에 대한 액세스를 제어할 수 있다. 본원에서 설명된 프로세스는 인증 장치(320)에 의해 반복되어, 보안 인증서가 요청될 때마다 블록체인 내에서 전자 기록 각각에 대한 서명을 생성할 수 있다. 일부 구현예에서, 각각의 서명이 특정 전자 기록에 고유함을 보장하기 위해, 오프셋 값을 연결 값(610)에 추가하거나 첨부시킬 수 있다. 예를 들어, 인증 장치(320)는 연결 값(610)에 카운터 값을 추가할 수 있고, 이는 인증 장치(320)에 대해 생성된 전자 기록의 총 갯수를 나타낸다. 일부 구현예에서, 오프셋 값은 보안 인증서 요청용 식별자에 대응하는 트랜잭션 식별자일 수 있다.
상기 프로세스를 사용하여 생성된 서명을 검증하기 위해, 리소스 제공자 또는 인증 기관 네트워크는 (제공된 장치 및 사용자 정보를 사용하여) 전술한 방식으로 전자 식별자(604 및 608)를 독립적으로 생성할 수 있다. 그 다음, 리소스 제공자 또는 인증 기관 네트워크는, 인증 장치(320)와 관련된 공개 키와 함께, 하나 이상의 검증 알고리즘을 사용하여 서명을 검증할 수 있다. 그 다음, 독립적으로 생성된 이중 인증 값(614)은 공개 키, 서명 및 검증 알고리즘을 사용하여 얻은 값과 비교되고, 리소스 제공자 또는 인증 기관 네트워크는 두 값이 일치하는지를 결정한다. 일치는 검증된 서명을 표시한다. 서명은 인증 장치(320)의 이중 인증을 본질적으로 제공하는 점에 유의해야 한다. 예를 들어, 상기 서명은, 장치가 믿을 수 있을 뿐만 아니라 장치가 장치의 소유자 또는 사용자와 관련된 정보를 보유하고 있음을 검증하고, 이는 인증 장치(320)를 사용하여 수행 중인 사기 트랜잭션의 위험을 더욱 감소시킨다.
도 7은 장치가 적어도 일부 구현예에 따라 보안 인증서를 자동으로 획득할 수 있는 예시를 나타낸 흐름도를 도시한다. 프로세스(700)는 논리 흐름도로서 예시되고, 이러한 프로세스의 각 단계는 하드웨어, 컴퓨터 명령어, 또는 이들의 조합으로 구현될 수 있는 동작 시퀀스를 나타낸다. 컴퓨터 명령어의 관점에서, 동작은, 하나 이상의 프로세서에 의해 실행될 때 언급되는 해당 동작을 수행하는 하나 이상의 컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 실행가능 명령어를 나타낸다. 일반적으로, 컴퓨터 실행가능 명령어는, 특정 기능을 수행하거나 특정 데이터 유형을 구현하는 루틴, 프로그램, 객체, 구성요소, 데이터 구조 등을 포함한다. 동작들이 기술되는 순서는 제한적으로 해석되지 않으며, 이 프로세스 및 여기에 설명된 다른 임의의 프로세스를 구현하기 위해, 설명되는 동작의 임의의 개수가 생략 또는 임의의 순서로 및/또는 병행하여 조합될 수 있다.
프로세스(700)(또는 본원에 설명된 다른 임의의 프로세스, 또는 그 변형, 및/또는 이들의 조합)의 일부 또는 전부는, 실행가능 명령어들로 구성된 하나 이상의 컴퓨터 시스템의 제어 하에 수행될 수 있으며, 코드(예를 들어, 실행가능 명령어, 하나 이상의 컴퓨터 프로그램, 또는 하나 이상의 애플리케이션)로서 구현될 수 있다. 적어도 일 구현예에 따라, 도 7의 프로세스(700)는 도 3에 관해 설명된 인증 장치(320)에 의해 적어도 수행될 수 있다. 코드는, 컴퓨터 판독가능 저장 매체에, 예를 들어, 하나 이상의 프로세서에 의해 실행가능한 복수의 명령어를 포함하는 컴퓨터 프로그램의 형태로 저장될 수 있다. 컴퓨터 판독가능 저장 매체는 비일시적일 수 있다.
보안 인증서에 대한 필요성이 식별되는 경우, 프로세스(700)는 702에서 시작할 수 있다. 일부 구현예에서, 현재 보안 인증서와 연관된 상태가 더 이상 유효하지 않다고 결정할 수 있다. 예를 들어, 인증 엔티티장치의 현재 소유권 상태가 변경되었거나 현재 보안 인증서가 만료되었음(예, 만료 날짜 초과)을 결정할 수 있다.
704에서, 보안 인증서 요청이 인증서 기관에 전송될 수 있다. 일부 구현예에서, 요청은 전자 식별자(즉, 특정 엔티티에 고유한 식별자)뿐만 아니라 다른 엔티티-특이적 정보를 포함할 수 있다. 인증서 기관은 정책 데이터(예, 스마트 계약)를 생성할 수 있고, 이는 수신된 앤티티-특이적 정보뿐만 아니라 인증서 기관에 저장된 정보를 기초로 하여 요청된 보안 인증서와 연관될 권한을 나타낸다. 일부 구현예에서, 인증서 기관은 또한 보안 인증서와 연관될 토큰을 생성하거나 획득할 수 있다. 토큰은 인증서 기관에 의해 생성되거나, 인증서 기관 외부의 토큰 서비스를 통해 획득할 수 있다. 706에서, 인증서 기관은, 전자 기록을 생성하는 데 사용될 정보의 요청에 응답할 수 있다. 정보는 정책 데이터 세트, 토큰, 오프셋 값, 또는 요청 엔티티가 전자 기록을 생성하기 위해 사용할 수 있는 임의의 다른 적절한 정보를 포함할 수 있다.
708에서, 전자 기록이 생성될 수 있다. 일부 구현예에서, 인증서 기관은 블록체인 네트워크일 수 있고, 전자 기록은 블록체인 기록일 수 있다. 전자 기록은 특정 전자 식별자와 연관될 수 있고, 이는 전자 기록을 생성하는 엔티티에 대응한다. 전자 기록은 정책 데이터를 포함할 수 있고, 이는 전자 기록과 연관된 엔티티가 무슨 트랜잭션을 수행할 수 있는지 없는지를 표시한다. 또한, 전자 기록은 토큰을 포함할 수 있고, 이는 전자 기록과 관련하여 저장된 계정 정보에 매핑될 수 있다. 또한, 각각의 전자 기록은, 요청 엔티티와 연관된 개인 키를 사용하여 생성된 서명을 포함할 수 있고, 이는 710에서 전자 기록의 진위성을 검증하기 위해 사용될 수 있다.
712에서, 서명된 전자 기록은 인증서 기관에 전송될 수 있다. 그 다음, 인증서 기관은, 전자 기록을 생성한 엔티티와 관련된 공개 키를 사용하여, 생성된 전자 기록의 진위성을 확인할 수 있다. 일단 검증되면, 전자 기록은 데이터베이스 또는 인증서 기관에 의해 저장된 기타 전자 기록의 레코드에 첨부될 수 있다.
714에서, 보안 인증서에 대한 액세스를 수신 받을 수 있다. 인증서 기관은, 보안 인증서 또는 보안 인증서로의 링크를 요청 엔티티에 제공할 수 있다. 일부 구현예에서, 전자 기록은 보안 인증서이다. 이들 구현예에서, 요청 엔티티는, 인증 기관에 의해 전자 기록이 저장되는 위치를 구비할 수 있다. 보안 인증서(또는 링크)를 수신할 시, 요청 엔티티는 보안 인증서 상태를 업데이트하여 신규 획득한 보안 인증서를 반영할 수 있다.
716에서, 트랜잭션에 대한 필요성이 감지될 수 있다. 일부 구현예에서, 트랜잭션은, 보안 인증서를 취득한 엔티티가 리소스를 필요로 함을 판정할 시, 개시될 수 있다. 그 다음, 엔티티는, 많은 리소스를 얻을 수 있는 적절한 거래 엔티티(예, 리소스 제공자 또는 다른 벤더)를 식별할 수 있다. 일부 구현예에서, 적절한 거래 앤티티는 전자 기록에 포함된 정책 데이터 세트에 기초하여 식별될 수 있다.
718에서, 요청을 생성할 수 있고, 거래가 수행될 엔티티에 제공될 수 있다. 생성된 요청은, 요청된 리소스에 관련된 정보, 보안 인증서(또는 보안 인증서로의 링크), 결제 정보(예: 결제 장치 또는 계정), 및 기타 적절한 트랜잭션 관련 정보를 포함할 수 있다. 720에서, 트랜잭션을 완료할 수 있다. 예를 들어, 거래 엔티티는, 보안 인증서가 유효한 것으로 검증될 시, 트랜잭션을 수행할 수 있다.
본원에 설명된 시스템의 구현예는 종래의 시스템에 비해 다수의 기술적 이점을 제공한다. 예를 들어, 전자 장치가 다른 전자 장치와 통신하고 트랜잭션을 수행하는 종래의 시스템에서, 주어진 전자 장치는, 장치가 믿을 수 있음을 인증하기 위해 사용될 수 있는 임의의 보안 인증서를 갖지 못할 수도 있다. 따라서, 본원에서 설명된 시스템은, 보안이 개선되고 사기 거래의 가능성이 줄어드는 것을 제공한다. 또한, 도 5와 관련하여 설명된 이중 서명을 사용하는 구현예에서, 시스템은 장치뿐만 아니라 장치가 승인 사용자를 갖고 있음을 인증할 수 있다.
또한, 전자 장치가 특정 소유자에게 등록된 시스템에서, 소유자는 장치를 등록하는 데 적극적인 역할을 수행해야 한다. 여기에서, 소유자는 매우 기본적인 정보를 제공할 수 있고, 등록(및 보안 인증서 갱신) 프로세스는 전자 장치에 의해 자동화된 방식으로 처리된다. 이는 보다 굳건한 시스템을 허용하고, 여기서 보안 인증서를 갱신하거나 신청하기 위해 소유자에게 의존하는 것이 제거된다.
설명한 대로, 본 발명의 일부 구현예는 하나 이상의 기능, 프로세스, 동작 또는 방법 단계를 구현하는 것을 포함할 수 있다. 일부 구현예에서, 기능, 프로세스, 동작 또는 방법 단계는 적절하게 프로그래밍된 컴퓨팅 장치, 마이크로프로세서, 데이터프로세서 또는 기타 등에 의한 명령어 세트 또는 소프트웨어 코드의 실행 결과로서 구현될 수 있다. 명령어 세트 또는 소프트웨어 코드는 컴퓨팅 장치, 마이크로프로세서 등에 의해 액세스되는 메모리 또는 다른 형태의 데이터 저장 요소에 저장될 수 있다. 다른 구현예에서, 기능, 프로세스, 동작 또는 방법 단계는 펌웨어 또는 전용 프로세서, 집적 회로 등에 의해 구현될 수 있다.
본원에서 설명하는 소프트웨어 구성요소 또는 기능 중 임의의 것은, 예를 들어, 종래의 또는 객체 지향 기술들을 이용하여 예를 들어 Java, C++ 또는 Perl 등의 임의의 적합한 컴퓨터 언어를 사용하여 프로세서에 의해 실행되는 소프트웨어 코드로서 구현될 수 있다. 소프트웨어 코드는, 일련의 명령어들, 또는 RAM, ROM, 하드 드라이브 또는 플로피 디스크와 같은 자기 매체, 또는 CD-ROM과 같은 광학 매체 등의 컴퓨터 판독 가능 매체 상의 커맨드로서 저장될 수 있다. 이러한 임의의 컴퓨터 판독 가능 매체는, 단일 연산 장치 상에 또는 내에 상주할 수 있으며, 시스템 또는 네트워크 내에서 상이한 연산 장치상에 또는 내에 존재할 수 있다.
특정한 예시적인 구현예가 상세히 설명되고 첨부 도면에 나타나 있지만, 그러한 구현예는 단지 설명일 뿐이고 본 발명을 제한하지 않으며, 당업자에게 다양한 다른 변경이 발생할 수 있기 때문에, 본 발명은 도시되고 설명된 구체적인 배열 및 구성에 한정되지 않는다는 사실을 이해해야 한다.
본원에 사용된 대로, 단수의 사용은 특별히 반대로 나타내지 않는다면 "적어도 하나"를 의미하는 것으로 의도된다.

Claims (20)

  1. 보안 인증서가 필요하다고 판정하는 것에 응답하여, 인증 기관에 요청을 전송하는 단계 - 상기 요청은 전자 장치의 전자 식별자를 포함하고, 상기 인증 기관은 인증 기관 네트워크를 포함하며, 상기 인증 기관 네트워크는 전자 기록들 중 하나의 전자 기록을 저장하고, 상기 전자 기록은 블록체인 기록을 포함함 -;
    상기 전자 기록들 중 하나의 전자 기록을 생성하는 데 사용될 정보를 상기 인증 기관에 전송하는 단계 - 상기 정보는 장치-특이적 정보 및 사용자-특이적 정보를 포함하고, 상기 정보는 상기 전자 장치의 전자 식별자를 사용하여 상기 인증 기관에 의해 식별되며, 상기 전자 식별자는 해싱 알고리즘에 의해 생성된 사용자-특이적 정보의 해시를 포함함 -;
    적어도 상기 전자 식별자 및 상기 전자 기록을 생성하는 데 사용될 정보를 포함한 상기 전자 기록을 생성하는 단계 - 상기 전자 식별자는 상기 정보에 기초하여 지정된 포맷에 따라 생성되고, 상기 지정된 포맷은 상기 장치-특이적 정보 또는 상기 사용자-특이적 정보에 특정됨 -;
    개인 키를 사용하여 상기 전자 기록의 적어도 일부분을 서명하는 단계;
    상기 전자 기록을 상기 인증 기관에 전송하는 단계; 및
    상기 인증 기관에 의해 상기 전자 기록을 검증할 시, 상기 보안 인증서에 대한 액세스를 수신하는 단계를 포함하는 방법.
  2. 제1항에 있어서, 현재 보안 인증서가 만료되었음을 감지할 시, 상기 보안 인증서가 필요하다고 판정되는, 방법.
  3. 제1항에 있어서, 상기 전자 기록을 생성하는 데 사용될 정보는 적어도 하나의 토큰을 포함하는, 방법.
  4. 제3항에 있어서, 상기 토큰은 상기 전자 기록을 위해 계정 정보에 매핑되는, 방법.
  5. 제1항에 있어서, 상기 전자 장치의 소유권 상태에 대한 변경을 감지할 시, 상기 보안 인증서가 필요하다고 판정되는, 방법.
  6. 제1항에 있어서, 상기 보안 인증서는 보안 소켓 계층 인증서인, 방법.
  7. 제1항에 있어서, 웹사이트를 호스팅하는 웹서버에 의해 상기 방법을 수행하되, 상기 보안 인증서는 상기 웹사이트와 연관되는, 방법.
  8. 제1항에 있어서, 상기 보안 인증서의 표시 및 리소스 요청을 포함한 트랜잭션 요청을 리소스 제공자에게 전송함으로써 트랜잭션을 개시하는 단계를 추가로 포함하는 방법.
  9. 제8항에 있어서, 상기 보안 인증서는 상기 트랜잭션에 대한 권한을 포함한 정책 데이터와 연관되는, 방법.
  10. 제1항에 있어서, 상기 보안 인증서에 대한 액세스를 수신하는 단계는 상기 보안 인증서에 대한 링크 또는 참조를 수신하는 단계를 포함하는, 방법.
  11. 전자 장치로서,
    프로세서; 및
    상기 프로세서에 결합된 메모리를 포함하되, 상기 메모리는 상기 프로세서에 의해 실행되는 경우에 상기 전자 장치로 하여금,
    인증 기관에 제1 요청을 전송하는 동작 - 상기 제1 요청은 상기 전자 장치의 전자 식별자를 포함하고, 상기 인증 기관은 인증 기관 네트워크를 포함하며, 상기 인증 기관 네트워크는 전자 기록들 중 하나의 전자 기록을 저장하고, 상기 전자 기록은 블록체인 기록을 포함함 -;
    상기 전자 기록들 중 하나의 전자 기록을 생성하는 데 사용될 정보를 상기 인증 기관에 전송하는 동작 - 상기 정보는 장치-특이적 정보 및 사용자-특이적 정보를 포함하고, 상기 정보는 상기 전자 장치의 전자 식별자를 사용하여 상기 인증 기관에 의해 식별되며, 상기 전자 식별자는 해싱 알고리즘에 의해 생성된 사용자-특이적 정보의 해시를 포함함 -;
    적어도 상기 전자 식별자 및 상기 전자 기록을 생성하는 데 사용될 정보를 포함한 상기 전자 기록을 생성하는 동작 - 상기 전자 식별자는 상기 정보에 기초하여 지정된 포맷에 따라 생성되고, 상기 지정된 포맷은 상기 장치-특이적 정보 또는 상기 사용자-특이적 정보에 특정됨 -;
    개인 키를 사용하여 상기 전자 기록의 적어도 일부분을 서명하는 동작;
    상기 전자 기록을 상기 인증 기관에 전송하는 동작;
    상기 인증 기관에 의해 상기 전자 기록을 검증할 시, 보안 인증서를 수신하는 동작;
    을 수행하게 하는 코드를 포함하는, 전자 장치.
  12. 제11항에 있어서, 상기 전자 장치는 기계-대-기계 장치인, 전자 장치.
  13. 제12항에 있어서, 상기 코드는 상기 전자 장치로 하여금, 상기 기계-대-기계 장치의 일차 기능에 사용된 리소스가 필요함을 감지할 시, 상기 리소스를 제공하는 리소스 제공자에게 상기 리소스의 제2 요청을 전송하는 동작을 수행하게 하는 코드를 더 포함하고, 상기 제2 요청은 상기 보안 인증서를 포함하는, 전자 장치.
  14. 제11항에 있어서, 상기 인증 기관에 의한 상기 전자 기록의 검증은, 상기 전자 장치와 연관된 공개 키를 사용하는 것을 포함하는, 전자 장치.
  15. 제11항에 있어서, 상기 제1 요청은 상기 메모리에 저장된 어드레스에서 상기 인증 기관으로 전송되는, 전자 장치.
  16. 제11항에 있어서, 상기 코드는 사용자 상호 작용 없이 상기 프로세서에 의해 실행되는, 전자 장치.
  17. 제11항에 있어서, 상기 프로세서와 상기 메모리는 집적 회로 상에 포함되는, 전자 장치.
  18. 인증 기관 네트워크로서,
    전자 기록들 중 하나의 전자 기록 - 상기 전자 기록은 블록체인 기록을 포함함 -; 및
    복수의 노드들을 포함하되, 상기 복수의 노드들 각각은 실행되는 경우에 상기 노드로 하여금,
    보안 인증서에 대한 요청을 전자 장치로부터 수신하는 동작 - 상기 요청은 상기 전자 장치의 전자 식별자를 포함함 -;
    상기 전자 기록들 중 하나의 전자 기록을 생성하는 데 사용될 정보를 상기 전자 장치로부터 수신하는 동작 - 상기 정보는 장치-특이적 정보 및 사용자-특이적 정보를 포함하고, 생성된 전자 기록은 적어도 하나의 전자 식별자를 포함하며, 상기 전자 식별자는 상기 정보에 기초하여 지정된 포맷에 따라 생성되고, 상기 지정된 포맷은 상기 장치-특이적 정보 또는 상기 사용자-특이적 정보에 특정되며, 상기 정보는 상기 전자 장치의 전자 식별자를 사용하여 식별되고, 상기 전자 식별자는 해싱 알고리즘에 의해 생성된 사용자-특이적 정보의 해시를 포함함 -;
    적어도 하나의 서명 부분을 포함한 상기 생성된 전자 기록을 상기 전자 장치로부터 수신하는 동작;
    상기 전자 장치와 연관된 공개 키를 식별하는 동작;
    상기 공개 키를 이용해 상기 생성된 전자 기록의 서명 부분을 검증하는 동작;
    상기 생성된 전자 기록의 서명 부분을 검증할 시, 상기 생성된 전자 기록을 상기 전자 기록들 중 하나의 전자 기록에 첨부하는 동작;
    을 수행하게 하는 명령어들을 포함하는, 인증 기관 네트워크.
  19. 삭제
  20. 제18항에 있어서, 상기 인증 기관 네트워크는 상기 복수의 노드들 각각에 분산되어 있는 블록체인 네트워크인, 인증 기관 네트워크.
KR1020207018963A 2017-12-13 2017-12-13 보안 트랜잭션용 장치의 자가 인증 KR102504361B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2017/066204 WO2019117899A1 (en) 2017-12-13 2017-12-13 Self certification of devices for secure transactions

Publications (2)

Publication Number Publication Date
KR20200088901A KR20200088901A (ko) 2020-07-23
KR102504361B1 true KR102504361B1 (ko) 2023-02-28

Family

ID=66820539

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207018963A KR102504361B1 (ko) 2017-12-13 2017-12-13 보안 트랜잭션용 장치의 자가 인증

Country Status (5)

Country Link
US (1) US11290269B2 (ko)
EP (1) EP3725030A4 (ko)
JP (1) JP7090161B2 (ko)
KR (1) KR102504361B1 (ko)
WO (1) WO2019117899A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110033258B (zh) * 2018-11-12 2021-03-23 创新先进技术有限公司 基于区块链的业务数据加密方法及装置
US11483143B2 (en) * 2019-04-15 2022-10-25 Smart Security Systems, Llc Enhanced monitoring and protection of enterprise data
US20220200973A1 (en) * 2019-04-15 2022-06-23 Bear System, LLC Blockchain schema for secure data transmission
KR102067262B1 (ko) * 2019-09-09 2020-01-16 주식회사 세미나인터내셔널 유체 혼합 용기
DE102020108828A1 (de) * 2020-03-31 2021-09-30 Bundesdruckerei Gmbh Personalisierter, serverindividueller Authentifizierungsmechanismus
US11711286B2 (en) * 2020-09-27 2023-07-25 International Business Machines Corporation Compliance mechanisms in blockchain networks
CN117118622A (zh) * 2022-05-16 2023-11-24 华为技术有限公司 安全通信的方法与装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060059346A1 (en) * 2004-09-14 2006-03-16 Andrew Sherman Authentication with expiring binding digital certificates
US20160098723A1 (en) * 2014-10-01 2016-04-07 The Filing Cabinet, LLC System and method for block-chain verification of goods

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5745574A (en) * 1995-12-15 1998-04-28 Entegrity Solutions Corporation Security infrastructure for electronic transactions
US6035402A (en) * 1996-12-20 2000-03-07 Gte Cybertrust Solutions Incorporated Virtual certificate authority
US8380630B2 (en) * 2000-07-06 2013-02-19 David Paul Felsher Information record infrastructure, system and method
KR100431210B1 (ko) * 2002-08-08 2004-05-12 한국전자통신연구원 공개키 기반구조에서 인증서 정책 및 인증서 정책사상을이용한 인증서 검증서버에서의 인증서 검증방법
RU2451425C2 (ru) 2006-08-11 2012-05-20 Виза Интернешнл Сервис Ассошиэйшн Служба уведомления об оценке соответствия
DE102010030590A1 (de) * 2010-06-28 2011-12-29 Bundesdruckerei Gmbh Verfahren zur Erzeugung eines Zertifikats
US9117062B1 (en) 2011-12-06 2015-08-25 Amazon Technologies, Inc. Stateless and secure authentication
US9705674B2 (en) 2013-02-12 2017-07-11 Amazon Technologies, Inc. Federated key management
US9276944B2 (en) 2013-03-13 2016-03-01 International Business Machines Corporation Generalized certificate use in policy-based secure messaging environments
JP2015039141A (ja) * 2013-08-19 2015-02-26 富士通株式会社 証明書発行要求生成プログラム、証明書発行要求生成装置、証明書発行要求生成システム、証明書発行要求生成方法、証明書発行装置および認証方法
GB2541162A (en) * 2015-07-13 2017-02-15 Vodafone Ip Licensing Ltd Machine to machine virtual private network
US9979553B2 (en) * 2015-08-06 2018-05-22 Airwatch Llc Secure certificate distribution
US10003591B2 (en) * 2015-09-08 2018-06-19 Plaid Technologies, Inc. Secure permissioning of access to user accounts, including secure deauthorization of access to user accounts
US9621355B1 (en) 2015-10-01 2017-04-11 Cisco Technology, Inc. Securely authorizing client applications on devices to hosted services
JP2017175226A (ja) 2016-03-18 2017-09-28 株式会社インテック 公開鍵証明書を発行するためのプログラム、方法およびシステム
KR101780636B1 (ko) * 2016-05-16 2017-09-21 주식회사 코인플러그 인증 정보의 발급 방법 및 이를 지원하는 블록체인기반 인증 정보 관리 서버

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060059346A1 (en) * 2004-09-14 2006-03-16 Andrew Sherman Authentication with expiring binding digital certificates
US20160098723A1 (en) * 2014-10-01 2016-04-07 The Filing Cabinet, LLC System and method for block-chain verification of goods

Also Published As

Publication number Publication date
WO2019117899A1 (en) 2019-06-20
JP7090161B2 (ja) 2022-06-23
US11290269B2 (en) 2022-03-29
KR20200088901A (ko) 2020-07-23
JP2021507591A (ja) 2021-02-22
US20200322137A1 (en) 2020-10-08
EP3725030A1 (en) 2020-10-21
EP3725030A4 (en) 2020-12-16

Similar Documents

Publication Publication Date Title
KR102504361B1 (ko) 보안 트랜잭션용 장치의 자가 인증
US11973750B2 (en) Federated identity management with decentralized computing platforms
US11336634B2 (en) Identity management via a centralized identity management server device
EP3602388B1 (en) Blockchain node communication method and apparatus
KR102117584B1 (ko) 로컬 디바이스 인증
US20210004454A1 (en) Proof of affinity to a secure event for frictionless credential management
US9867043B2 (en) Secure device service enrollment
CN110300972B (zh) 匿名证明
US10164963B2 (en) Enforcing server authentication based on a hardware token
WO2019033116A1 (en) SYSTEMS AND METHODS FOR RIGHTS CONTROL OF NETWORK CONNECTED DEVICES OR IOT DEVICES USING INFORMATION STORED IN A DISTRIBUTED REGISTER
KR102020780B1 (ko) 언제 인증이 철회되어야 하는지를 표시하는 기준을 정의하기 위한 다차원 프레임워크
WO2018069566A1 (en) Method, device and system for validating sensitive user data transactions within trusted circle
Puri et al. Smart contract based policies for the Internet of Things
US20140164764A1 (en) Assignment of digital signature and qualification for related services
US10439809B2 (en) Method and apparatus for managing application identifier
US20190306159A1 (en) Time-based one-time password for device identification across different applications
WO2019199276A1 (en) Method, system, and computer program product for authenticating a device
US20140013116A1 (en) Apparatus and method for performing over-the-air identity provisioning
Put et al. PACCo: Privacy-friendly Access Control with Context.
Sousa Privacy preserving middleware platform for IoT

Legal Events

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