KR102406533B1 - 추적가능한 키 블록-체인 원장 - Google Patents

추적가능한 키 블록-체인 원장 Download PDF

Info

Publication number
KR102406533B1
KR102406533B1 KR1020207015884A KR20207015884A KR102406533B1 KR 102406533 B1 KR102406533 B1 KR 102406533B1 KR 1020207015884 A KR1020207015884 A KR 1020207015884A KR 20207015884 A KR20207015884 A KR 20207015884A KR 102406533 B1 KR102406533 B1 KR 102406533B1
Authority
KR
South Korea
Prior art keywords
key
transaction
block
cryptographic
chain ledger
Prior art date
Application number
KR1020207015884A
Other languages
English (en)
Other versions
KR20200074219A (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 이베이 인크.
Priority to KR1020227018763A priority Critical patent/KR102519327B1/ko
Publication of KR20200074219A publication Critical patent/KR20200074219A/ko
Application granted granted Critical
Publication of KR102406533B1 publication Critical patent/KR102406533B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/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/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or 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/002Countermeasures against attacks on cryptographic mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • 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)
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Abstract

키 소스에서 암호 키를 생성하는 것, 암호 키에 대응하는 키 블록-체인 원장에 대한 제네시스 블록을 생성하는 것, 및 키 소스를 기술하는 메타데이터를 포함하도록 제네시스 블록을 안전하게 수정하는 것을 포함하여, 추적가능한 키 블록-체인 원장을 이용한 키 관리 기술들이 도시되어 있다. 이러한 기술들은 또한 암호 키와의 제1 키 트랜잭션을 수행하는 것, 암호 키와의 제1 키 트랜잭션에 대응하는 제1 트랜잭션 블록을 생성하고 제1 트랜잭션 블록을 키 블록-체인 원장에 추가하는 것, 및 암호 키와의 제1 키 트랜잭션을 기술하는 메타데이터를 포함하도록 제1 트랜잭션 블록을 안전하게 수정하는 것을 포함한다.

Description

추적가능한 키 블록-체인 원장
키 관리는 암호화된 시스템에서의 암호 키들의 관리이며, 키들의 생성, 교환, 저장, 이용, 파괴 및 교체를 처리하는 것을 포함한다. 이것은 통상적으로 암호 프로토콜들, 키 서버들, 및 사용자 절차들을 포함한다. 키들이 많은 키 관리 시스템들에서 생성되는 경우, 키는 통상적으로 그 키가 이용되는 방법, 그 키에 대해 증명하는 에이전시, 및 그 키에 대한 수명주기 정책들을 통제하는 암호 인증서를 포함한다.
본 명세서에 기술된 개시내용은 이들 및 다른 고려사항들과 관련하여 제시되어 있다.
본 명세서에 개시된 기술들은 추적가능한 키 블록-체인 원장(ledger)에 관한 것이다. 개시된 기술은 키 트랜잭션들을 나타내는 트랜잭션 블록들을 생성하고 블록들을 중단되지 않은 블록-체인으로 체인화하여 보안 및 추적가능한 키 블록-체인 원장을 생성하는 것을 포함한다. 키 트랜잭션과 관련된 정보, 예컨대 키에 대해 수행된 동작들, 키가 적용된 데이터, 키를 이용하는 라이브러리들, 및 키에 대해 동작들이 수행되었거나 키가 존재하는 머신들을 기록하는 메타데이터를 각각의 트랜잭션 블록에 추가하기 위한 메커니즘들이 제공된다.
개시된 키 블록-체인 원장은 키의 특정 양태들에 대한 키 추적가능성을 확장하는데 이용될 수 있다. 키 블록-체인 원장 내의 메타데이터는 원래의 키가 그 원래의 키로부터 도출될 수 없도록 키를 수정하는 키 동작, 예컨대 키 순환이 수행되는 경우에도 그 키가 키 감사 동안 추적될 수 있게 한다. 이것은 키가 손상되는 경우 그 키가 공격 지점까지 추적되게 할 수 있다.
다양한 예들에서, 키 소스에서 암호 키를 생성하는 것, 암호 키에 대응하는 키 블록-체인 원장에 대한 제네시스 블록(genesis block)을 생성하는 것, 및 키 소스를 기술하는 메타데이터를 포함하도록 제네시스 블록을 안전하게 수정하는 것을 포함하는 키 관리를 위한 기술들이 도시되어 있다. 이러한 기술들은 또한 암호 키와의 제1 키 트랜잭션을 수행하는 것, 암호 키와의 제1 키 트랜잭션에 대응하는 제1 트랜잭션 블록을 생성하고 제1 트랜잭션 블록을 키 블록-체인 원장에 추가하는 것, 및 암호 키와의 제1 키 트랜잭션을 기술하는 메타데이터를 포함하도록 제1 트랜잭션 블록을 안전하게 수정하는 것을 포함한다. 일부 예들에서, 트랜잭션 블록을 안전하게 수정하는 것은 키 트랜잭션을 기술하는 메타데이터를 포함하도록 블록-체인 교정(emend) 또는 개정(amend) 기능을 이용하여 트랜잭션 블록을 수정하는 것을 포함한다. 키 트랜잭션의 일 예가 키의 순환이다.
본 명세서에 개시된 기술들의 다른 양태에서, 이러한 기술들은 암호 키와 연관된 데이터 또는 시스템에 대한 공격을 검출하는 것을 포함한다. 이 양태는 또한 키 블록-체인 원장 내의 트랜잭션 블록들의 메타데이터를 이용하여 공격 지점까지 암호 키를 추적하는 것 및 공격 지점에 대응하는 트랜잭션 블록을 결정하는 것을 포함한다. 이 양태는 또한 공격 지점에 대응하는 트랜잭션 블록으로부터의 메타데이터로 공격 지점을 나타내는 경고를 생성하는 것을 포함한다.
전술한 주제가 또한 컴퓨터에 의해 제어되는 장치, 컴퓨터 프로세스, 컴퓨팅 시스템, 또는 컴퓨터 판독가능한 매체와 같은 제조 물품으로서도 구현될 수 있다는 것을 알아야 한다. 이들 및 다양한 다른 특징들이 이하의 상세한 설명을 읽어보고 또한 연관된 도면들을 살펴보면 명백하게 될 것이다. 이 요약은 상세한 설명에서 아래에 추가로 설명되는 개념들의 선택을 단순화된 형태로 소개하기 위해 제공되는 것이다.
이 요약은 청구된 주제의 핵심 특징들 또는 필수 특징들을 식별하기 위해 의도된 것이 아니며, 청구된 주제의 범위를 제한하는데 이용되도록 의도된 것도 아니다. 또한, 청구된 주제는 본 개시내용의 임의의 부분에서 언급된 임의의 또는 모든 단점들을 해결하는 구현들에 제한되지 않는다.
상세한 설명은 첨부된 도면들을 참조하여 기술된다. 도면들에서, 참조 번호의 가장 왼쪽의 숫자(들)는 참조 번호가 처음 나타나는 도면을 식별한다. 상이한 도면들에 있는 동일한 참조 번호들은 유사하거나 동일한 항목들을 가리킨다.
도 1은 키 블록-체인 원장을 위한 시스템의 예시적인 예를 도시하는 아키텍처 도면이다.
도 2는 키 블록-체인 원장의 예시적인 예를 도시하는 데이터 아키텍처 도면이다.
도 3a 및 도 3b는 키 블록-체인 원장을 생성하기 위한 프로세스의 예시적인 예를 도시하는 제어 흐름도들이다.
도 3c는 비신뢰 노드들에 배포된 키 블록-체인 원장에 대한 검증 프로세스의 예시적인 예를 도시하는 제어 흐름도이다.
도 4는 키 블록-체인 원장에 대한 검증 프로세스의 예시적인 예를 도시하는 제어 흐름도이다.
도 5는 본 명세서에 제시된 기법들 및 기술들의 양태들을 구현할 수 있는 컴퓨팅 시스템에 대한 예시적인 컴퓨터 하드웨어 및 소프트웨어 아키텍처를 예시하는 컴퓨터 아키텍처 도면이다.
도 6은 본 명세서에 제시된 기법들 및 기술들의 양태들을 구현할 수 있는 분산 컴퓨팅 환경을 예시하는 도면이다.
도 7은 본 명세서에 제시된 기법들 및 기술들의 양태들을 구현할 수 있는 컴퓨팅 디바이스에 대한 컴퓨팅 디바이스 아키텍처를 예시하는 컴퓨터 아키텍처 도면이다.
다음의 상세한 설명은 원래의 키가 수정된 키로부터 도출될 수 없도록 키가 수정되는 경우에도 추적될 수 있는 키 블록-체인 원장을 생성하기 위해 키 관리 시스템에서 블록 체인화의 이용을 위한 기술들을 설명한다. 특정 예들은 블록-체인 기술의 교정 및 개정 기능을 이용하여 키 트랜잭션 이벤트의 키 동작들에 관한 메타데이터를 블록-체인의 블록들에 추가한다.
관례상, 키는 그 키에 관한 수명주기 정책들을 갖고 통상적으로 발행된다. 하나의 공통 수명주기 정책은 키가 매년과 같이 주기적으로 순환될 것을 요구하는 키 순환 정책이다. 예를 들어, NIST(National Institute for Standards and Technology)는 256 비트의 AES 키가 2년 후에 순환될 것을 요구하는 수명주기 정책을 적시한다. 키 순환 정책들의 다른 예들은 또한 키가 적용되는 데이터의 양에 관한 것이다. 다른 예에서, NIST는, 2년 시간 제한이 도달되지 않았더라도, AES-GCM-256 키가 64 GB의 데이터에 적용된 후에 순환되어야 한다는 것을 적시한다.
키들이 순환될 때, 키 직교성이 일반적으로 요구되며, 즉 새로운 키는 원래의 키로부터, 의도되지 않은 당사자, 사람 또는 머신에 의해 쓸 수 있게 도출될 수 없다. 이것은 키 감사 중에 키 추적가능성 문제들을 제기한다. 이것은 마스터 키 또는 부모/시드 키로부터의 도출 없이 키 순환이 수행될 때의 특정 문제이다.
키가 손상되어 감사 중에 키를 추적할 수 없다면, 공격 지점, 예컨대 데이터, 머신, 이용된 시스템 종속성들, 관련 인원 등이 식별가능하지 않을 수 있다. 그 결과, 보안 결함 또는 취약점을 식별하는 것이 막히고, 심층 포렌식들이 수행될 수 없다. 개시된 기술은 키 추적가능성을 가능하게 하는 보안 키 블록-체인 원장을 제공한다. 키 트랜잭션들을 나타내는 블록들을 생성하고 블록들을 중단되지 않은 블록-체인으로 체인화함으로써, 보안 키 블록-체인 원장이 생성된다. 키 트랜잭션과 관련된 정보, 예컨대 키에 대해 수행된 동작들, 키가 적용된 데이터, 키를 이용하는 라이브러리들, 및 키에 대해 동작들이 수행되었거나 키가 존재하는 머신들을 기록하는 메타데이터를 각각의 블록에 추가하기 위한 메커니즘들이 제공된다. 블록-체인 내의 블록들에 메타데이터를 안전하게 추가하기 위한 메커니즘들의 예들은 블록-체인 교정 및 개정 기능을 포함한다.
다양한 예들에서, 개시된 키 블록-체인 원장은 키가 어떻게 이용되는지, 키가 어떤 서비스에 관련되는지, 이력 데이터 로그들, 예컨대 글리치들 및 가능한 공격 시도들, 및 순환될 때 서비스에 대한 키 이용의 추적과 같은 키의 특정 양태들로 키 추적가능성을 확장하는데 이용될 수 있다. 특히 서비스에 대한 키 이용의 추적은 이것이 서로에 관련되거나 상이한 데이터에 관련된 동일한 데이터 및/또는 키들과 연관된 키들과 관련된다는 점에서 유휴 데이터를 지원하는데 중요하다.
특정 간략화된 예들에서, 키 관리를 위한 방법, 시스템 또는 컴퓨터 판독가능한 매체는 키 소스에서 암호 키를 생성하고, 암호 키에 대응하는 키 블록-체인 원장에 대한 제네시스 블록을 생성하고, 키 소스를 기술하는 메타데이터를 포함하도록 제네시스 블록을 안전하게 수정함으로써 추적가능한 키 블록-체인 원장을 구성하는 것을 포함한다. 이러한 예들은 또한 암호 키와의 키 트랜잭션을 수행하는 것, 암호 키와의 키 트랜잭션에 대응하는 트랜잭션 블록을 생성하고 트랜잭션 블록을 키 블록-체인 원장에 추가하는 것, 및 암호 키와의 키 트랜잭션을 기술하는 메타데이터를 포함하도록 트랜잭션 블록을 안전하게 수정하는 것을 포함한다.
특정 예들은 키 블록-체인 원장의 트랜잭션 블록들에 메타데이터를 안전하게 도입하기 위해 블록-체인 교정 및 개정 기능을 이용한다.
특정 예들은, 암호 키와 연관된 데이터 또는 시스템에 대한 공격을 검출하고, 키 블록-체인 원장 내의 트랜잭션 블록들의 메타데이터를 이용하여 공격 지점까지 암호 키를 추적하고, 공격 지점에 대응하는 트랜잭션 블록을 결정하고, 공격 지점에 대응하는 트랜잭션 블록으로부터의 메타데이터로 공격 지점을 나타내는 경고를 생성함으로써, 공격 지점을 결정하고 경고를 생성하기 위해 트랜잭션 블록들 내의 메타데이터를 이용하여 키 블록-체인 원장을 추적한다.
이들은 간략화된 예들이며, 많은 요인들이 아래에서 더 상세히 논의되는 바와 같이 추적가능한 키 블록-체인 원장에서 고려될 수 있다.
본 명세서에서 더 상세히 설명되는 바와 같이, 본 명세서에 설명되는 기법들 및 기술들의 구현들은 하나 이상의 입력 디바이스 상에서 실행되는 솔리드 스테이트 회로들, 디지털 로직 회로들, 컴퓨터 구성요소들 및/또는 소프트웨어의 이용을 포함할 수 있다는 것이 이해될 것이다. 본 명세서에 설명된 신호들은 키의 변경된 상태, 키와 연관된 데이터, 또는 키에 관련된 다른 정보를 통신하기 위한 아날로그 및/또는 디지털 신호들을 포함할 수 있다.
본 명세서에 설명된 주제가 컴퓨터 시스템 상에서 운영 체제 및 애플리케이션 프로그램들을 실행하는 것과 관련하여 실행되는 프로그램 모듈들의 일반 맥락에서 제시되어 있지만, 관련 기술분야의 통상의 기술자라면 다른 구현들이 다른 유형들의 프로그램 모듈들과 관련하여 수행될 수 있다는 것을 잘 알 것이다. 일반적으로, 프로그램 모듈들은 특정 작업들을 수행하거나 특정 추상 데이터 유형들을 구현하는 루틴들, 프로그램들, 구성요소들, 데이터 구조들 및 다른 유형들의 구조들을 포함한다. 또한, 관련 기술분야의 통상의 기술자들이라면, 본 명세서에 설명된 주제는 멀티프로세서 시스템들, 메인프레임 컴퓨터들, 마이크로프로세서 기반 또는 프로그래머블 소비자 전자 제품들, 미니 컴퓨터들, 휴대용 디바이스들 등을 포함하는 다른 컴퓨터 시스템 구성들로 실시될 수 있다는 것을 잘 알 것이다.
본 명세서에 설명된 기술들을 이용함으로써, 블록-체인은 키의 수정 또는 이용과 같은 키 관리 정보를 추적하기 위한 원장을 제공하는데 이용된다. 이러한 기술들은 블록-체인의 이용을 통해 키 원장을 제공한다. 특정 구성들은 원래의 키가 수정된 키로부터 도출될 수 없는 방식으로 키가 수정되는 경우에도 그 수명주기에 걸쳐 키를 감사 또는 추적하는데 유익할 수 있다. 본 명세서에 설명된 기술들에 의해 제공되는 많은 이점들 중에서, 이러한 기술들은 보안 배포된 블록-체인 키 원장을 제공할 수 있다. 본 명세서에서 언급된 것들 이외의 다른 기술적 효과들도 본 명세서에 개시된 기술들의 구현으로부터 실현될 수 있다.
이하의 상세한 설명에서는, 그 일부를 형성하고 예시적인 특정 구성들 또는 예들이 도시되어 있는 첨부 도면들이 참조되고 있다. 이제 이러한 도면들을 참조하면, 유사한 번호들이 여러 도면들에 걸쳐 유사한 요소들을 나타내고, 추적가능한 키 블록-체인 원장을 위한 컴퓨팅 시스템, 컴퓨터 판독가능한 저장 매체, 및 컴퓨터에 의해 구현되는 방법론들의 양태들이 설명될 것이다. 도면들과 관련하여 이하에서 더 상세히 설명되는 바와 같이, 본 명세서에서 설명되는 기능 및 기술들을 구현할 수 있는 다수의 애플리케이션들 및 서비스들이 있다.
도 1은 하드웨어 보안 모듈(HSM)(130)에서 생성된 키를 위한 키 블록-체인 원장(140)을 갖는 시스템(100)의 일 예를 나타내는 아키텍처 도면이다. 이 예에서, 신뢰 노드들의 세트, 서버(120A-D)가 네트워크(150)를 통해 상호접속된다. 개인 키가 HSM(130)에서 생성되고, 키 원장을 설정하는 블록-체인에 대해 제네시스 블록(142A)이 생성된다.
개인 키가 HSM(130)에서 생성될 때, 생성 소스, 예컨대 HSM(130), 및 키, 프로토콜들 등의 유형과 같은 키에 대한 생성 모드를 식별하는 메타데이터를 포함하는 블록-체인에 대한 제네시스 블록(142A)이 생성된다. 제네시스 블록(142A)은 키에 관한 정보를 이용하여 암호적으로 생성되는 시그니처로 서명된다. 사실상, 소스의 적절한 엔트로피를 체크하는 것에 더하여 키의 생성에 관한 정보를 포함하는 서명된 출생 인증서가 키에 발행된다.
일 예에서, 키에 관한 정보 및 키 소스 정보와 키 인증서에 서명하기 위한 키 값으로부터 도출된 시그니처로 제네시스 블록(142A)이 서명된다.
키 트랜잭션이 발생할 때, 예컨대 키가 순환될 때마다, 트랜잭션 블록이 생성되고, 서명되고, 키 블록-체인 원장(140)에 추가된다. 도 1의 예에서, 트랜잭션 블록들(142B-E) 각각은 키 트랜잭션, 예컨대 키 순환 또는 키 이용을 나타낸다. 키 블록-체인 원장(140)은 신뢰 클러스터의 노드들, 예컨대 서버들(120A-D)에 배포될 수 있다.
데이터, 머신들, 서명된 커널들, 또는 라이브러리들에 대한 참조들과 같은, 키 트랜잭션에 관한 메타데이터는 보안 암호화 동작들을 이용하여 키 블록-체인 원장(140) 내의 블록(142B-E)에 추가되어, 예를 들어 노트들 또는 기록들을 트랜잭션 블록들에 추가하는 것과 같이 정보를 삽입 및 어써팅한다.
키 블록-체인 원장의 특정 예들에서, 이러한 보안 암호화 동작들은 사후 교정 및 사후 개정을 포함할 수 있다. 일부 예들에서, 특정 태그들은 개정 및 교정을 구별하기 위해 추가될 수 있다. 도 1의 예에서, 키 블록-체인 원장(140)의 블록들(142A-E)은, 본 기술에서 변경들이 허가되거나 신뢰된 당사자에 의해 이루어질 수 있고, 변경 모드, 예컨대 개정 또는 교정이 식별되는 것을 제외하고는 블록-체인 포크와 유사한 개정 및 교정 동작들을 겪는다. 보안 암호화 동작들, 예컨대 개정 또는 교정 동작들에 의해 도입된 데이터는 키 블록-체인 원장(140)의 트랜잭션 블록들, 예컨대 블록-체인의 트랜잭션 블록들의 특정 머클 트리 분지에서 반영된다.
개정 동작은 통상적으로 트랜잭션 블록 내의 메타데이터에 변경 데이터를 추가하지만, 원래의 이력 데이터의 세부사항들이 변경되지 않으며, 예를 들어 새로운 사실들이 추가되고, 사실들이 교체되지 않는다. 예를 들어, 개정 데이터는 키와 연관된 특정 암호화된 데이터에 대해 데이터 덤프를 야기하려는 시도가 검출되었지만, 키가 유효했던 알려진 시간으로 소급 적용되었고, 키가 유효했던 알려진 시간 이후에 새로운 키가 N번 리프레시되었음을 나타낼 수 있다.
교정 동작은 전형적으로 이력 데이터의 일부가 부정확하고, 허가된 오자 데이터가 메타데이터에 추가되고, 예를 들어 사실들이 교체, 즉 폐기 또는 재언급되는 것을 나타낸다. 예를 들어, 키와 연관된 데이터의 이용을 위한 정책은 잘못 언급된 것으로 발견되었지만, 키 데이터는 키가 유효한 것으로 알려졌던 시간으로 소급 적용되었고, 새로운 키는 그 알려진 시간 이후에 N번 리프레시되었다.
관례상, 블록 체인은 불변이므로, 사실 후에 블록-체인으로부터의 정보를 제거, 교정 또는 개정하는 것이 통상적으로 가능하지 않다는 점에 유의한다. 이것은 사실 이후에 정보가 부정확하거나 불완전할 때 문제일 수 있다. 본 기술은, 대조적으로, 정책이 허가되고 개정될 때 스케일링가능하다. 이것은 증명되고 허가된 개정 메커니즘에 의해 명시될 것이다. 따라서, 본 기술은 심층 데이터 포렌식들이 수행되는 것을 가능하게 한다.
도 2는 도 1의 키 원장(140)의 블록들(142A-E)에 기반한 키 블록-체인 원장(200)의 간략화된 예를 나타내는 데이터 아키텍처 도면이다. 도 2의 키 블록-체인 원장(200)의 예는 블록-체인을 이용하여 추적가능한 보안 키 원장을 증명하기 위해 블록들(210A-E)의 블록 헤더들, 메타데이터 및 시그니처들을 보여주도록 간략화된다. 도 2의 예에서, ID "<hardware_tamperproof>.<application_name>.mother.key"를 갖는 제네시스 블록(210A)은 키가 도 1의 HSM(130)에 의해 생성될 때 HSM에 의해 생성된다.
도 3a의 제어 흐름도는 제네시스 블록을 생성하는 프로세스(300)의 일 예를 나타낸다. 302에서, 공개 개인 키 쌍과 같은 키가 예를 들어 HSM(130)에 의해 생성된다. 304에서, 키의 기점에 관한 정보를 기술하는 메타데이터1을 갖는 새로운 키에 대한 제네시스 블록(210A)이 생성된다. 도시된 예에서, 메타데이터1은 키의 소스, 예컨대 HSM(130) 및 키에 대한 발행 기관, 및 키에 대한 정책 데이터, 예컨대 순환 요건들을 포함한다. 306에서, 제네시스 블록(210A)은 키 출생 인증서를 제공하기 위해 시그니처1을 이용하여, 예를 들어 서버(120A)에 존재하는 키 관리 애플리케이션에 의해 암호화되고 서명된다.
블록(210A)이 제네시스 블록이기 때문에, 제네시스 블록이 체인화되는 이전 블록, 예컨대 이전 버전: NIL이 없다. 제네시스 블록(210A)은 생성 지점에서 체인의 유일한 블록이기 때문에, 이는 또한 종료 블록, 예컨대 다음 버전 인덱스: NIL이다.
키 동작들, 예컨대 키 순환 또는 키 이용이 발생함에 따라, 트랜잭션 블록들이 블록-체인(200)에 추가된다. 각각의 트랜잭션 블록은 키 순환을 수행하는 머신, 키가 적용되는 데이터, 키가 존재하는 머신들, 서명된 커널들, 라이브러리들 등과 같은 키에 대한 키 추적가능성 정보를 포함하는 메타데이터를 포함한다. 각각의 트랜잭션 블록은 이전 블록에 대한 링크로서의 해시 포인터, 타임스탬프 및 트랜잭션 데이터를 포함한다. 블록-체인은 본질적으로 데이터의 수정에 내성이 있고, 이는 메타데이터의 무결성을 유지하고, 원래의 키 또는 키의 이전 버전이 키의 수정된 형태로부터 도출될 수 없도록 키가 수정되는 경우에도 키가 그 수명주기에 걸쳐 추적될 수 있게 한다. 메타데이터는 또한 추적 정보가 발견될 수 있는 리소스들 또는 로그들의 위치에 대한 포인터일 수 있다는 점에 유의한다.
트랜잭션 블록 생성 프로세스(350)의 예는 도 2의 맥락에서 도 3b의 제어 흐름도에 도시된다. 352에서, 키 트랜잭션 이벤트가 발생할 때, 예를 들어 키가 데이터에 적용되고, 다른 트랜잭션 블록(210B)이 354에서 생성되어 제네시스 블록(210A)에 블록-체인화되고, 356에서, 트랜잭션 블록은 트랜잭션 블록의 진본성을 보장하도록 암호화되고 서명된다.
360에서, 트랜잭션 블록(210B)은 메타데이터2를 포함하도록 교정되거나 개정되며, 이는 키가 적용되었던 데이터, 서명된 커널들 또는 라이브러리들, 또는 키 순환을 수행하는 머신 또는 키가 존재하는 머신과 같이, 키 트랜잭션 이벤트에 관한 키 추적가능성 정보를 포함한다. 제네시스 블록(210A)은 트랜잭션 블록(210B)에 대한 참조들, 예컨대 다음 버전 인덱스: 0.2를 포함하도록 교정된다. 트랜잭션 블록(210B)은 제네시스 블록(210A)에 대한 링크, 예컨대 이전 버전 인덱스: 0.1을 포함하고, 예를 들어 시그니처2로 서명된다.
유사하게, 트랜잭션 블록들(210C-E)은 후속 키 트랜잭션 이벤트들이 발생할 때 생성되고, 트랜잭션 블록들은 트랜잭션 블록들의 메타데이터를 이용하여 추적가능한 보안 키 로그를 제공하기 위해 키 블록-체인 원장(200)에 블록-체인화된다. 각각의 블록이 추가될 때, 추가된 블록은 이전 블록에 대한 링크를 포함하고, 이전 블록은 추가된 블록에 대한 링크를 포함하도록 수정된다.
도 2의 예에서, 개정 동작은 노트들을 추가하는데 이용된다(예를 들어, 0.x는 0.end로 정의되고; 예를 들어, 0.x는 새로운 분지에 도출된다). 교정 동작은
오자를 언급하는데 이용된다(ID:는 "<hardware_tamperproof>.<application_name>.mother.key"로부터 "smartcard.mother.key"로 재정의/재명명된다).
키 블록-체인 원장(200)에서 트랜잭션 블록(210A-E)에 메타데이터를 추가하는 일 예에서, 원장(200)의 트랜잭션 블록들(210A-E)을 교정하는데 준-불변 마스터 키가 이용된다. 이 예에서, 교정 기능은 암호, 시그니처, 및 업데이트를 포함하고, 트랜잭션 블록(210A-E)에서의 별도의 텍스트일 수 있는 개정들을 허용하기 위해 원래의 체인 록 및 중간 체인간 록을 포함할 수 있다.
다른 예에서, 간략함을 위해 불변 키가 가정된다. 이것은 또한 보안 로그/원장 키를 순환하는 것 및 수명주기 상태 키를 교정/개정하는 것에 관한 것일 수 있다. 도출된 키들이 또한 이용될 수 있다. 불변 키는 또한, 보안 로거와 함께 이용하기 위한 높은 수명을 갖는 중간 키로서 인증 기관(CA) 발행 키와 같은, 준-불변 키일 수 있다. 예를 들어,
key_to_sign_its_own_cert = PBKDF2(키를 서명하기 위해 도출된 준-불변 키, indices + resultant_key)이고,
시그니처 = hmac(엔트로피 로그/엔트로피 로그 + 임의적인 머신 및 라이브러리들 등의 해시, key_to_sign_its_own_cert)이다.
키 블록-체인 원장(200)은 신뢰 클러스터 또는 공개 블록-체인에 배포될 수 있다. 본 명세서에 개시된 기술의 양태들은 스마트 계약을 닮지만, 본 기술들에서, 계약의 정책은 키 블록-체인 원장이 유지되는 방식을 결정할 수 있다. 예를 들어, 정책은 검증 또는 허가 프로세스가 신뢰 노드들의 클러스터의 중앙집중식 제어에 의해 결정되는 것을 요구할 수 있다. 이 경우에, 중앙집중식 제어는 이들을 검증하기 위해 트랜잭션 블록들을 증명하고 서명하도록 허가된 인증 기관과 같은 신뢰 노드일 수 있고, 채굴자들에 의한 검증이 필요하지 않을 수 있다.
대안적으로, 정책은 비신뢰 노드들의 분산된 클러스터에 의해 결정된 검증 프로세스를 제공할 수 있다. 키 블록-체인 원장이 비신뢰 노드들의 클러스터에 배포되는 상황에서, 체인 내의 블록들의 채굴은 키 블록-체인 원장을 검증하는데 이용될 수 있다.
키 블록-체인 원장의 일 양태는, 개인 키들이 HSM(130)과 같은 단일 보안 엔티티 내에서 유지되는 것을 허용할 수 있다는 것이다. 이를 통해 단일 보안 엔티티를 암호 서비스 제공자로서 이용하여 비즈니스 기능을 유지하는 보안이 주요 초점이 되는 중앙집중식 모듈에 대한 공격 위험을 중앙집중화할 수 있다.
다른 관점에서 볼 때, 키 및 그 프로파일, 예컨대 속성들 및 규칙들은 서비스에 연계된 엔티티, 예를 들어 합법적 엔티티이기 때문에, 키는 값 또는 화폐를 갖는 것으로 볼 수 있다. 키가 순환하지 않는 경우, 서비스의 본질이 수정되지 않기 때문에 그 값은 변하지 않는다. 그러나, 키가 순환하는 경우, 서비스가 변경되고, 키 트랜잭션은 키 블록-체인 원장에 기록되고, 재해싱되고, 원하는 구현에 따라 신뢰 또는 비신뢰일 수 있는 노드들의 네트워크로 브로드캐스팅된다. 트랜잭션 블록들의 콘텐츠가 비밀로서 유지되는 예에서, 각각의 트랜잭션 블록에 대한 시그니처만이 해제되고, 키 블록-체인 원장의 공개 설정을 위해 채굴된다.
블록-체인들은 작업 증명과 같은 다양한 시간-스탬핑 방식들을 이용하여 변경들을 직렬화할 수 있다. 대안적인 합의 방법들은 이해관계 증명(proof-of-stake)을 포함하고, PoB(proof-of-burn)가 변경들을 직렬화하는데 또한 이용될 수 있다.
전술한 바와 같이, 일부 예들에서, 키 블록-체인 원장은 블록-체인을 안전하게 하기 위해 채굴자들에 의해 검증될 수 있다. 이 경우에, 채굴자들은 이용될 검증 솔루션에 집단적으로 동의할 수 있다. 그러나, 작은 네트워크, 예컨대 개인 네트워크가 이용되는 경우, 그 솔루션은 머클 트리일 수 있고, 검증 솔루션에 대한 채굴이 요구되지 않을 수 있다. 키가 생성되면, 이것은 미확인되고 비식별된 엔티티이다. 확인응답된 "화폐"의 일부가 되기 위해, 이것은 블록-체인에 추가될 수 있고, 따라서 신뢰 클러스터의 개념과 관련된다.
신뢰 클러스터에서, 키가 순환될 때, 모든 노드는 다음 "트랜잭션"(키 순환 또는 교정/개정)을 확인응답하기 위해 경쟁하므로, 불변 키가 필요하지 않을 수 있다. 따라서, 어떠한 단일 노드도 각각의 노드가 키를 순환시키고 키 순환을 검증하기 위해 경쟁하고 있을 때 전체 클러스터의 그 공유 키에 대해 서명하지 않을 것이다. 일 예에서, 노드들은 채굴하고 최저 해시 값: min{previous_hash, contents_hash, random_nonce_to_be_guess} -> 결과를 얻기 위해 경쟁한다. 트랜잭션 순서는 계산 경쟁(아무도 네트워크를 이길 수 없다는 믿음)에 의해 보호된다. 이것은 서비스 프로파일, 예컨대 사람 인증서 프로파일(Human Certificate Profile)(HCP) 또는 키(엔티티)가 설정을 위한 평등적인 노드들에 의해 확인응답되고 설정되어야 하는 경우에 유용하다. 상호 인증 파라미터들은 브로드캐스팅되고, 이중 순환이 없도록 확인응답된다. 서비스 프로파일이 재할당될 때 HCP에 대해서도 동일할 수 있다.
제한된 네트워크에 걸쳐 비밀 원장을 인증하기 위한 메타데이터를 브로드캐스팅함으로써, 예컨대 서명된 해시만이 브로드캐스팅됨으로써, 블록-체인은 데이터가 중앙집중식으로 유지될 때 발생하는 위험들을 감소시킬 수 있다. 분산된 합의는 블록-체인들이 비밀 트랜잭션들 또는 이벤트들의 기록에 적합하게 한다. 키와 관련된 리소스들의 위치들을 포함할 수 있는 메타데이터는 또한, 메타데이터가 키에 관련된 리소스들의 네트워크 구성 정보를 개시하지 않도록 제한된 액세스를 위해 암호화될 수 있다.
채굴 프로세스는, 어떠한 단일 노드도 전체 클러스터를 제어할 수 없다는 "선의"에 기반한 합의에 대한 공동체 협의로, 이중 회계, 무효화 또는 리플레이 공격들을 저지하는데 이용될 수 있다. 채굴에 대한 작업 가정은 부정직하거나 타협한 사람들보다 우월한 정직한 당사자들의 동등한 세력의 분포가 존재한다는 것이다. 분산된 시스템 내의 모든 노드 또는 채굴자는 블록-체인의 사본을 갖는다. 어떠한 중앙집중식 "공식적" 사본도 존재하지 않고, 어떠한 사용자도 임의의 다른 사람보다 더 "신뢰"되지 않는다. 트랜잭션들은 소프트웨어를 이용하여 네트워크로 브로드캐스팅된다. 채굴 노드들은 트랜잭션들을 검증하고, 이들을 구축 중인 블록에 추가하고, 그 후 완성된 블록을 다른 노드들에 브로드캐스팅한다.
제한된 네트워크에서, 키 수명주기 추적에 대해 체크 또는 채굴하는 것이 허가되는 이해 관계자들은 키들 자체에 액세스할 수 있거나 그렇지 않을 수 있지만, (이들이 제한된 네트워크의 멤버들이고 신뢰되기 때문에) 메타데이터에 대한 키들을 가져서 세부사항들을 얻을 것이라는 점에 유의한다. 키들이 상이한 데이터 분류들을 갖는 데이터에 적용됨에 따라, 이해 관계자들이 세분화될 수 있다.
분산된 블록-체인은 또한 애드-혹 보안 메시지 전달 및 분산 네트워킹을 이용할 수 있다. 이 예에서, 키 블록-체인 원장은 중앙집중식 클리어링 하우스, 예컨대 검증을 위한 허가된 중앙 제어가 존재한다는 점에서 종래의 블록-체인과 상이할 수 있다. 채굴 프로세스가 없다면, 신뢰 클러스터는 공중 또는 평등한 블록-체인 대신에 중앙집중식 블록-체인에 포함될 수 있다. 이것을 보기 위한 한 가지 방식은 분산된 부분이 "평등한 N명의 정직한 당사자들"(다자간 정직한 당사자는 암호 개념임)이고, 중앙집중식 부분이 "블록-체인 정보 정정을 위한 신뢰 군주"라는 것이다. 키에 대한 최상위 인증 기관과 유사하게 중앙집중식으로 허가되고 오프라인으로 유지되는 식으로 교정 및 개정 메커니즘들을 유지하는 것에 대한 이점들이 있을 수 있다.
일부 예들에서, 분산된 추적가능한 키 블록-체인 원장에 대한 액세스는 암호 수단에 의해 제한되어 허가된 서버들에만 개방될 수 있다. 키 블록-체인 원장이 배포되기 때문에, 허가된 서버들은 이를 검증할 수 있다. 공개 키는 키 블록-체인에 대한 주소로서 이용될 수 있다.
더 큰 데이터에 대해 동작하는데 필요한 컴퓨터 리소스들이 점점 더 비싸지기 때문에, 분산된 블록-체인의 성장은 노드 중앙집중화의 위험을 동반할 수 있다는 점에 유의한다.
도 3c는 비신뢰 노드들에 배포된 키 블록-체인 원장에 대한 검증 프로세스(370)의 예를 나타내는 제어 흐름도이다. 프로세스(370)에서, 트랜잭션 블록이 키 트랜잭션에 대해 생성될 때, 키 트랜잭션은 372에서 비신뢰 노드들의 클러스터로 브로드캐스팅된다. 374에서, 노드들은 트랜잭션에 대한 검증 솔루션을 계산하기 위해 경쟁한다. 376에서, 승리 노드는 트랜잭션 블록에 대한 검증 솔루션을 브로드캐스팅하고 트랜잭션 블록을 키 블록-체인 원장의 그 사본에 추가한다. 378에서, 승리 노드의 브로드캐스트에 응답하여, 다른 노드들은 트랜잭션 블록을 승리 노드에 의해 설정된 트랜잭션 순서로 키 블록-체인 원장의 그 사본들에 추가한다. 분산된 검증 프로토콜은 키 블록-체인 원장의 무결성을 유지한다.
도 4는 개시된 기술의 키 블록-체인 원장을 이용하는 키 추적 프로세스(400)의 예시적인 예를 도시하는 제어 흐름도이다. 키는 순환되었더라도 추적될 수 있고, 예를 들어 키 직교성이 유지되었던 것과 같이 마스터 키 또는 부모 또는 시드 키로부터의 도출 없이 키 순환이 수행된다. 이 예의 402에서, 키에 의해 보호되는 데이터 또는 시스템들에 대한 공격이 검출되고, 여기서 키는 전술한 바와 같이 키 블록-체인 원장을 갖는다. 404에서, 키 블록-체인 원장의 블록들은 트랜잭션 블록들의 메타데이터를 이용하여 키에 대한 기점, 예컨대 제네시스 블록까지 추적될 수 있다.
406에서, 키 블록-체인 원장으로부터의 메타데이터를 이용하여, 키에 대한 공격 지점에 대응하는 트랜잭션 블록 또는 키가 유효했던 마지막 지점에 관한 트랜잭션 블록이 결정된다. 408에서, 키 블록-체인 원장으로부터의 메타데이터를 이용하여 식별된 공격 지점을 나타내는 경고가 생성된다. 대안적으로, 경고는 공격에 의해 손상되었을 수 있는 엔티티들, 예컨대 데이터, DLL, 서명된 커널들, 또는 시스템들을 결정하는데 이용하기 위해 키가 마지막으로 유효했던 지점을 나타낼 수 있다.
본 기술들은 하나 이상의 머신에서 발생하는 동작들을 수반할 수 있다. 본 명세서에서 사용되는 "머신"은 전문화된 컴퓨팅 동작들을 수행하기 위한 명령어들로 프로그래밍된 물리적 데이터 저장 및 처리 하드웨어를 의미한다. 2개 이상의 상이한 머신이 하드웨어 구성요소들을 공유할 수 있다는 것을 이해해야 한다. 예를 들어, 동일한 집적 회로는 2개 이상의 상이한 머신의 일부일 수 있다.
관련 기술분야의 통상의 기술자는 매우 다양한 접근법들이 이용될 수 있고 추적가능한 키 블록-체인 원장을 수반하는 본 접근법과 조합될 수 있다는 것을 인식할 것이다. 본 명세서에 설명된 추적가능한 키 블록-체인 원장의 상이한 양태들의 특정 예들은 예시적이며, 도시된 기술들의 범위를 제한하도록 의도되지 않는다.
프로세스들(200, 300, 350 및 400)의 적어도 일부들, 및 본 명세서에 설명된 다른 프로세스들은 도 6의 컴퓨터 환경(602), 또는 클라우드와 같은 서버에서 구현될 수 있고, 본 명세서에서 논의된 바와 같이 변환되거나 해석된 사용자 제어 신호들의 결과들을 정의하는 데이터는 디스플레이를 위해 사용자 디바이스로 통신될 수 있다는 점에 유의한다. 대안적으로, 추적가능한 키 블록-체인 원장 프로세스들은 클라이언트 디바이스에서 구현될 수 있다. 또 다른 예들에서, 일부 동작들은 서버들과 같은 하나의 컴퓨팅 리소스 세트에서 구현될 수 있고, 다른 단계들은 클라이언트 디바이스와 같은 다른 컴퓨팅 리소스들에서 구현될 수 있다.
본 명세서에 설명된 방법들은 언제든지 종료될 수 있고 그들 전체들로 수행될 필요가 없다는 것을 이해해야 한다. 본 명세서에 설명된 방법들의 일부 또는 모든 동작들, 및/또는 실질적으로 동등한 동작들은, 이하에서 정의되는 바와 같이, 컴퓨터 저장 매체 상에 포함되는 컴퓨터 판독가능한 명령어들의 실행에 의해 수행될 수 있다. 본 설명 및 청구항들에서 사용되는 용어 "컴퓨터 판독가능한 명령어들" 및 그 변형들은 루틴들, 애플리케이션들, 애플리케이션 모듈들, 프로그램 모듈들, 프로그램들, 구성요소들, 데이터 구조들, 알고리즘들 등을 포함하도록 본 명세서에서 포괄적으로 사용된다. 컴퓨터 판독가능한 명령어들은 단일-프로세서 또는 멀티프로세서 시스템들, 미니 컴퓨터들, 메인프레임 컴퓨터들, 개인용 컴퓨터들, 휴대용 컴퓨팅 디바이스들, 마이크로프로세서 기반, 프로그래머블 소비자 전자 제품들, 이들의 조합들 등을 포함하는 다양한 시스템 구성들 상에서 구현될 수 있다.
따라서, 본 명세서에 설명된 논리적 동작들이 (1) 컴퓨팅 시스템 상에서 실행되는 일련의 컴퓨터에 의해 구현되는 동작들 또는 프로그램 모듈로서 그리고/또는 (2) 컴퓨팅 시스템 내의 상호접속된 머신 로직 회로들 또는 회로 모듈들로서 구현된다는 것을 알아야 한다. 이 구현은 컴퓨팅 시스템의 성능 및 다른 요건들에 따른 선택의 문제이다. 따라서, 본 명세서에 설명된 논리적 동작들은 상태들, 동작들, 구조적 디바이스들, 행동들 또는 모듈들로서 다양하게 지칭된다. 이들 동작들, 구조적 디바이스들, 행동들 및 모듈들은 소프트웨어로, 펌웨어로, 특수 목적 디지털 로직으로, 또한 이들의 임의의 조합으로 구현될 수 있다.
본 명세서에 설명된 바와 같이, 본 명세서에 설명된 도면들과 관련하여, 루틴들(200, 300, 350 및 400)의 동작들은 본 명세서에서, 적어도 부분적으로, 애플리케이션, 구성요소, 및/또는 회로에 의해 구현되는 것으로서 설명된다. 이하의 예시가 도 1, 도 5, 도 6, 및 도 7의 구성요소들을 참조하지만, 그 루틴들의 동작들은 많은 다른 방식들로 구현될 수도 있다는 것을 알 수 있다. 예를 들어, 루틴들은 컴퓨터 프로세서 또는 다른 컴퓨터의 프로세서 또는 프로세서들에 의해 적어도 부분적으로 구현될 수 있다. 또한, 루틴들의 동작들 중 하나 이상은 대안적으로 또는 추가적으로, 단독으로 또는 다른 소프트웨어 모듈들과 함께 작동하는 컴퓨터에 의해 적어도 부분적으로 구현될 수 있다.
예를 들어, 루틴들의 동작들은 본 명세서에서 모듈들로 일반적으로 지칭되는 애플리케이션, 구성요소 및/또는 회로에 의해 적어도 부분적으로 구현되는 것으로서 본 명세서에서 설명된다. 일부 구성들에서, 모듈들은 DLL(dynamically linked library), 정적 링크된 라이브러리, API(application programing interface)에 의해 생성된 기능, 컴파일링된 프로그램, 해석된 프로그램, 스크립트 또는 임의의 다른 실행가능한 명령어 세트일 수 있다. 본 명세서에 개시된 데이터 및 모듈들과 같은 데이터 및/또는 모듈들은 하나 이상의 메모리 구성요소 내의 데이터 구조에 저장될 수 있다. 데이터는 데이터 구조에 대한 링크들 또는 참조들을 주소지정함으로써 데이터 구조로부터 검색될 수 있다.
이하의 예시가 도 1, 도 5, 도 6, 및 도 7의 구성요소들을 참조하지만, 루틴들(200, 300, 350, 370 및 400)의 동작들은 많은 다른 방식들로도 구현될 수 있다는 것을 알 수 있다. 예를 들어, 루틴들은 다른 원격 컴퓨터 또는 로컬 컴퓨터의 프로세서 또는 회로에 의해 적어도 부분적으로 구현될 수 있다. 또한, 루틴들의 동작들 중 하나 이상은 대안적으로 또는 추가적으로, 단독으로 또는 다른 소프트웨어 모듈들과 함께 작동하는 칩셋에 의해 적어도 부분적으로 구현될 수 있다. 본 명세서에 개시된 기술들을 제공하기에 적합한 임의의 서비스, 회로 또는 애플리케이션이 본 명세서에 설명된 동작들에서 이용될 수 있다.
도 5는 본 명세서에 설명된 프로그램 구성요소들을 실행할 수 있는, 서버들(120A-D)(도 1)과 같은 컴퓨터에 대한 예시적인 컴퓨터 아키텍처(500)의 추가적인 세부사항들을 도시한다. 따라서, 도 5에 예시된 컴퓨터 아키텍처(500)는 서버 컴퓨터, 모바일 폰, PDA, 스마트 폰, 데스크톱 컴퓨터, 넷북 컴퓨터, 태블릿 컴퓨터, 온-보드 컴퓨터, 게임 콘솔, 및/또는 랩톱 컴퓨터에 대한 아키텍처를 도시한다. 컴퓨터 아키텍처(500)는 본 명세서에 제시된 소프트웨어 구성요소들의 임의의 양태들을 실행하는데 이용될 수 있다.
도 5에 예시된 컴퓨터 아키텍처(500)는 CPU(central processing unit; 502), RAM(random access memory; 506) 및 ROM(read-only memory; 508)을 포함하는 시스템 메모리(504), 및 메모리(504)를 CPU(502)에 결합하는 시스템 버스(510)를 포함한다. 시동 중과 같은 때에, 컴퓨터 아키텍처(500) 내의 하위 요소들 사이의 정보 전송을 돕는 기본 루틴들을 포함하는 기본 입력/출력 시스템이 ROM(508)에 저장되어 있다. 컴퓨터 아키텍처(500)는 운영 체제(507), 키 블록-체인 원장 데이터(520) 및 암호화된 데이터(530)와 같은 데이터, 키 저장소(540) 및 하나 이상의 애플리케이션 프로그램을 저장하기 위한 대용량 저장 디바이스(512)를 더 포함한다.
대용량 저장 디바이스(512)는 버스(510)에 접속된 대용량 저장 제어기(도시되지 않음)를 통해 CPU(502)에 접속되어 있다. 대용량 저장 디바이스(512) 및 이와 연관된 컴퓨터 판독가능한 매체는 컴퓨터 아키텍처(500)에 비휘발성 저장을 제공한다. 본 명세서에 포함된 컴퓨터 판독가능한 매체에 대한 설명이 솔리드 스테이트 드라이브, 하드 디스크 또는 CD-ROM 드라이브 등의 대용량 저장 디바이스를 지칭하고 있지만, 관련 기술분야의 통상의 기술자라면 컴퓨터 판독가능한 매체가 컴퓨터 아키텍처(500)에 의해 액세스될 수 있는 임의의 이용가능한 컴퓨터 저장 매체 또는 통신 매체일 수 있다는 것을 알아야 한다.
통신 매체는 컴퓨터 판독가능한 명령어들, 데이터 구조들, 프로그램 모듈들 또는 반송파 또는 다른 전송 메커니즘 등의 변조된 데이터 신호 내의 다른 데이터를 포함하고 임의의 전달 매체를 포함한다. 용어 "변조된 데이터 신호"는 신호 내의 정보를 인코딩하기 위한 방식으로 설정 또는 변경된 그 특성들 중 하나 이상을 갖는 신호를 의미한다. 제한이 아니라 예로서, 통신 매체는 유선 네트워크 또는 직접 유선 접속과 같은 유선 매체, 및 음향, RF, 적외선 및 다른 무선 매체와 같은 무선 매체를 포함한다. 전술한 것들의 임의의 조합들이 컴퓨터 판독가능한 매체의 범위 내에 또한 포함되어야 한다.
제한이 아니라 예로서, 컴퓨터 저장 매체는 컴퓨터 판독가능한 명령어들, 데이터 구조들, 프로그램 모듈들 또는 다른 데이터와 같은 정보의 저장을 위해 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성, 분리식 및 비분리식 매체를 포함할 수 있다. 예를 들어, 컴퓨터 매체는 RAM, ROM, EPROM, EEPROM, 플래시 메모리 또는 다른 솔리드 스테이트 메모리 기술, CD-ROM, DVD(digital versatile disk), HD-DVD, BLU-RAY, 또는 다른 광학 저장소, 자기 카세트들, 자기 테이프, 자기 디스크 저장소 또는 다른 자기 저장 디바이스들, 또는 원하는 정보를 저장하는데 이용될 수 있고 컴퓨터 아키텍처(500)에 의해 액세스될 수 있는 임의의 다른 매체를 포함하지만, 이들로 제한되지 않는다. 청구항들을 위해, 문구 "컴퓨터 저장 매체", "컴퓨터 판독가능한 저장 매체" 및 그 변형들은 그 자체로 파들, 신호들, 및/또는 다른 일시적 및/또는 무형적 통신 매체를 포함하지 않는다.
다양한 구성들에 따르면, 컴퓨터 아키텍처(500)는 네트워크(556) 및/또는 다른 네트워크(도시되지 않음)를 통한 원격 컴퓨터들로의 논리적 접속들을 이용하여 네트워크화된 환경에서 동작할 수 있다. 컴퓨터 아키텍처(500)는 버스(510)에 접속된 네트워크 인터페이스 유닛(514)을 통해 네트워크(556)에 접속할 수 있다. 네트워크 인터페이스 유닛(514)은 또한 다른 유형들의 네트워크들 및 원격 컴퓨터 시스템들에 접속하는데 이용될 수 있음을 알아야 한다. 컴퓨터 아키텍처(500)는 또한 키보드, 마우스, 게임 제어기, 텔레비전 원격 또는 전자 스타일러스(도 5에 도시되지 않음)를 포함하는 다수의 다른 디바이스로부터 입력을 수신하고 이를 처리하기 위한 입력/출력 제어기(516)를 포함할 수 있다. 마찬가지로, 입력/출력 제어기(516)는 디스플레이 스크린, 프린터 또는 다른 유형의 출력 디바이스(또한 도 5에 도시되지 않음)에 출력을 제공할 수 있다.
본 명세서에 설명된 소프트웨어 구성요소들은 CPU(502)에 로딩되고 실행될 때, CPU(502) 및 전체 컴퓨터 아키텍처(500)를 범용 컴퓨팅 시스템으로부터 본 명세서에 제시된 기능을 용이하게 하도록 맞춤화된 특수 목적 컴퓨팅 시스템으로 변환할 수 있다는 것을 알아야 한다. CPU(502)는, 임의의 수의 상태들을 개별적으로 또는 집합적으로 가정할 수 있는, 임의의 수의 트랜지스터들 또는 다른 개별 회로 요소들로 구성될 수 있다. 더 구체적으로, CPU(502)는 본 명세서에 개시된 소프트웨어 모듈들 내에 포함된 실행가능한 명령어들에 응답하여 유한 상태 머신으로서 동작할 수 있다. 이러한 컴퓨터 실행가능한 명령어들은 CPU(502)가 상태들 사이에서 어떻게 전환하는지를 지정함으로써 CPU(502)를 변환할 수 있고, 이에 의해 CPU(502)를 구성하는 트랜지스터들 또는 다른 개별 하드웨어 요소들을 변환한다.
본 명세서에 제시된 소프트웨어 모듈들을 인코딩하는 것은 또한 본 명세서에 제시된 컴퓨터 판독가능한 매체의 물리적 구조를 변환할 수 있다. 물리적 구조의 특정 변환은 이 설명의 상이한 구현들에서 다양한 요인들에 따라 달라질 수 있다. 이러한 요인들의 예들로는, 이에 제한되는 것은 아니지만, 컴퓨터 판독가능한 매체가 주요 또는 보조 저장소 등으로 특징지어지든지 간에 컴퓨터 판독가능한 매체를 구현하는데 이용된 기술을 포함할 수 있다. 예를 들어, 컴퓨터 판독가능한 매체가 반도체 기반 메모리로서 구현되는 경우, 본 명세서에 개시된 소프트웨어는 반도체 메모리의 물리적 상태를 변환함으로써 컴퓨터 판독가능한 매체 상에 인코딩될 수 있다. 예를 들어, 이러한 소프트웨어는 트랜지스터들, 커패시터들, 또는 반도체 메모리를 구성하는 다른 개별 회로 요소들의 상태를 변환할 수 있다. 이러한 소프트웨어는 또한 그 위에 데이터를 저장하기 위해 이러한 구성요소들의 물리적 상태를 변환할 수 있다.
다른 예로서, 본 명세서에 개시된 컴퓨터 판독가능한 매체는 자기 또는 광학 기술을 이용하여 구현될 수 있다. 이러한 구현들에서, 본 명세서에 제시된 소프트웨어가 그 내부에 인코딩될 때, 그 소프트웨어는 자기 또는 광학 매체의 물리적 상태를 변환할 수 있다. 이러한 변환들은 주어진 자기 매체 내의 특정한 위치들의 자기 특성들을 바꾸는 것을 포함할 수 있다. 이러한 변환들은 또한 그 위치들의 광학 특성들을 변경하기 위해, 주어진 광학 매체 내의 특정한 위치들의 물리적 특징들 또는 특성들을 바꾸는 것을 포함할 수 있다. 본 설명의 범위 및 사상을 벗어나지 않고 물리적 매체의 다른 변환들이 가능하며, 이전의 예들은 단지 본 논의를 용이하게 하기 위해 제공된다.
전술한 바에 비추어, 본 명세서에 제시된 소프트웨어 구성요소들을 저장 및 실행하기 위해 많은 유형들의 물리적 변환들이 컴퓨터 아키텍처(500)에서 발생한다는 것을 알아야 한다. 또한, 컴퓨터 아키텍처(500)는 휴대용 컴퓨터들, 내장형 컴퓨터 시스템들, PDA들을 포함하는 다른 유형들의 컴퓨팅 디바이스들, 및 관련 기술분야의 통상의 기술자에게 공지된 다른 유형들의 컴퓨팅 디바이스들을 포함할 수 있다는 것도 알아야 한다. 또한, 컴퓨터 아키텍처(500)는 도 5에 도시된 구성요소들 모두를 포함하지 않을 수 있거나, 도 5에 명시적으로 도시되지 않은 다른 구성요소들을 포함할 수 있거나, 또는 도 5에 도시된 것과 완전히 상이한 아키텍처를 이용할 수 있다는 것이 고려된다.
도 6은 추적가능한 키 블록-체인 원장에 대해 본 명세서에 설명된 소프트웨어 구성요소들을 실행할 수 있는 예시적인 분산 컴퓨팅 환경(600)을 도시한다. 따라서, 도 6에 예시된 분산 컴퓨팅 환경(600)은 본 명세서에 제시된 소프트웨어 구성요소들의 많은 양태들을 실행하는데 이용될 수 있다. 예를 들어, 분산 컴퓨팅 환경(600)은 본 명세서에 설명된 소프트웨어 구성요소들의 하나 이상의 양태를 실행하는데 이용될 수 있다.
다양한 구현들에 따르면, 분산 컴퓨팅 환경(600)은 네트워크(604) 상에서 동작하거나, 이와 통신하거나, 또는 그 일부로서 컴퓨팅 환경(602)을 포함한다. 네트워크(604)는 전술한 네트워크(556)일 수 있거나 이를 포함할 수 있다. 네트워크(604)는 또한 다양한 액세스 네트워크들을 포함할 수 있다. 하나 이상의 클라이언트 디바이스(606A-606N)(이하, "클라이언트들(606)"로서 총칭하여 그리고/또는 일반적으로 지칭됨)는 네트워크(604) 및/또는 다른 접속들(도 6에 도시되지 않음)을 통해 컴퓨팅 환경(602)과 통신할 수 있다. 하나의 예시된 구성에서, 클라이언트들(606)은 랩톱 컴퓨터, 데스크톱 컴퓨터, 또는 다른 컴퓨팅 디바이스와 같은 컴퓨팅 디바이스(606A); 슬레이트 또는 태블릿 컴퓨팅 디바이스("태블릿 컴퓨팅 디바이스")(606B); 모바일 컴퓨팅 디바이스(606C), 예컨대 모바일 전화기, 스마트 폰, 온-보드 컴퓨터, 또는 다른 모바일 컴퓨팅 디바이스; 서버 컴퓨터(606D); 및/또는 하드웨어 보안 모듈을 포함할 수 있는 다른 디바이스들(606N)을 포함한다. 임의의 수의 디바이스들(606)이 컴퓨팅 환경(602)과 통신할 수 있다는 것을 이해해야 한다. 디바이스들(606)에 대한 2개의 예시적인 컴퓨팅 아키텍처가 도 5 및 도 6을 참조하여 본 명세서에서 예시되고 설명된다. 본 명세서에서 예시되고 설명된 예시된 디바이스들(606) 및 컴퓨팅 아키텍처들은 단지 예시적이며, 어떤 식으로든 제한하는 것으로 해석되어서는 안 된다는 것을 이해해야 한다.
예시된 구성에서, 컴퓨팅 환경(602)은 애플리케이션 서버들(608), 데이터 스토리지(610), 및 하나 이상의 네트워크 인터페이스(612)를 포함한다. 다양한 구현들에 따르면, 애플리케이션 서버들(608)의 기능은 네트워크(604)의 일부로서 실행되거나 또는 이와 통신하는 하나 이상의 서버 컴퓨터에 의해 제공될 수 있다. 애플리케이션 서버들(608)은 다양한 서비스들, 가상 머신들, 포털들, 및/또는 다른 리소스들을 호스팅할 수 있다. 예시된 구성에서, 애플리케이션 서버들(608)은 애플리케이션들 또는 다른 기능을 호스팅하기 위해 하나 이상의 가상 머신(614)을 호스팅한다. 다양한 구현들에 따르면, 가상 머신들(614)은 추적가능한 키 블록-체인 원장에 대한 하나 이상의 애플리케이션 및/또는 소프트웨어 모듈을 호스팅한다. 이러한 구성은 단지 예시적이며, 어떤 식으로든 제한하는 것으로 해석되어서는 안 된다는 것을 이해해야 한다.
다양한 구현들에 따르면, 애플리케이션 서버들(608)은 또한 하나 이상의 키 관리 서비스(618) 및 하나 이상의 블록-체인 서비스(620)를 포함한다. 키 관리 서비스들(618)은 데이터 및 통신들을 암호화하는데 이용되는 키들을 관리하기 위한 서비스들을 포함할 수 있다. 블록-체인 서비스들(620)은, 예를 들어 제네시스 블록들, 트랜잭션 블록들을 생성하고 검증을 수행함으로써, 하나 이상의 블록-체인의 관리에 참여하는 서비스들을 포함할 수 있다.
도 6에 도시된 바와 같이, 애플리케이션 서버들(608)은 또한 다른 서비스들, 애플리케이션들, 포털들, 및/또는 다른 리소스들("다른 리소스들")(624)을 호스팅할 수 있다. 다른 리소스들(624)은 데이터 암호화, 데이터 공유, 또는 임의의 다른 기능을 포함할 수 있지만, 이들로 제한되지 않는다.
전술한 바와 같이, 컴퓨팅 환경(602)은 데이터 스토리지(610)를 포함할 수 있다. 다양한 구현들에 따르면, 데이터 스토리지(610)의 기능은 네트워크(604) 상에서 동작하거나 또는 이와 통신하는 하나 이상의 데이터베이스 또는 데이터 저장소에 의해 제공된다. 데이터 스토리지(610)의 기능은 또한 컴퓨팅 환경(602)에 대한 데이터를 호스팅하도록 구성된 하나 이상의 서버 컴퓨터에 의해 제공될 수 있다. 데이터 스토리지(610)는, 하나 이상의 실제 또는 가상 데이터 저장소(626A-626N)(이하, 총칭하여 그리고/또는 일반적으로 "데이터 저장소들(626)"로 지칭됨)를 포함하거나, 호스팅하거나, 또는 제공할 수 있다. 데이터 저장소들(626)은 애플리케이션 서버들(608) 및/또는 다른 데이터에 의해 이용되거나 생성되는 데이터를 호스팅하도록 구성된다. 데이터 저장소들(626)의 양태들은 암호 키들을 이용하여 파일들을 안전하게 암호화하고 저장하기 위한 서비스와 연관될 수 있다. 도 6에 도시되지 않았지만, 데이터 저장소들(626)은 또한 웹 페이지 문서들, 워드 문서들, 프레젠테이션 문서들, 데이터 구조들, 추천 엔진에 의한 실행을 위한 알고리즘들, 및/또는 임의의 애플리케이션 프로그램 또는 다른 모듈에 의해 이용되는 다른 데이터를 호스팅 또는 저장할 수 있다.
컴퓨팅 환경(602)은 네트워크 인터페이스들(612)과 통신하거나 이들에 의해 액세스될 수 있다. 네트워크 인터페이스들(612)은 클라이언트들(606) 및 애플리케이션 서버들(608)을 포함하지만 이에 제한되지 않는 2개 이상의 컴퓨팅 디바이스 사이의 통신들을 지원하기 위한 다양한 유형들의 네트워크 하드웨어 및 소프트웨어를 포함할 수 있다. 네트워크 인터페이스들(612)은 또한 다른 유형들의 네트워크들 및/또는 컴퓨터 시스템들에 접속하는데 이용될 수 있다는 것을 알아야 한다.
본 명세서에 설명된 분산 컴퓨팅 환경(600)은 본 명세서에 개시된 소프트웨어 구성요소들의 임의의 양태들을 실행하도록 구성될 수 있는 임의의 수의 가상 컴퓨팅 리소스들 및/또는 다른 분산 컴퓨팅 기능을 본 명세서에 설명된 소프트웨어 요소들의 임의의 양태들에게 제공할 수 있다는 점이 이해되어야 한다. 본 명세서에 개시된 개념들 및 기술들의 다양한 구현들에 따르면, 분산 컴퓨팅 환경(600)은 디바이스들(606)을 이용하는 클라이언트들에 대한 서비스로서 본 명세서에 설명된 소프트웨어 기능을 제공할 수 있다. 디바이스들(606)은 서버 컴퓨터들, 웹 서버들, 개인용 컴퓨터들, 모바일 컴퓨팅 디바이스들, 스마트 폰들, 및/또는 사용자 입력 디바이스들을 포함할 수 있는 다른 디바이스들을 포함하지만, 이들로 제한되지 않는 실제 또는 가상 머신들을 포함할 수 있다는 것을 이해해야 한다. 이와 같이, 본 명세서에 개시된 개념들 및 기술들의 다양한 구성들은, 다른 양태들 중에서도, 분산 컴퓨팅 환경(600)에 액세스하도록 구성된 임의의 디바이스가 추적가능한 키 블록-체인 원장에 대해 본 명세서에 설명된 기능을 이용할 수 있게 한다.
이제 도 7을 참조하면, 다양한 소프트웨어 구성요소들을 실행할 수 있는 컴퓨팅 디바이스에 대한 예시적인 컴퓨팅 디바이스 아키텍처(700)가 추적가능한 키 블록-체인 원장에 대해 본 명세서에서 설명된다. 컴퓨팅 디바이스 아키텍처(700)는 보안 데이터를 관리하는 컴퓨팅 디바이스들에 적용가능하다. 일부 구성들에서, 컴퓨팅 디바이스들은 모바일 전화기들, 온-보드 컴퓨터들, 태블릿 디바이스들, 슬레이트 디바이스들, 휴대용 비디오 게임 디바이스들, 전통적인 데스크톱 컴퓨터들, 휴대용 컴퓨터들(예컨대, 랩톱들, 노트북들, 초-휴대용 기기들, 및 넷북들), 서버 컴퓨터들, 게임 콘솔들, 및 다른 컴퓨터 시스템들을 포함하지만, 이들로 제한되지 않는다. 컴퓨팅 디바이스 아키텍처(700)는 도 1에 도시된 서버들(120A-D) 및 도 6에 도시된 컴퓨팅 디바이스(606A-N)에 적용가능하다.
도 7에 예시된 컴퓨팅 디바이스 아키텍처(700)는 프로세서(702), 메모리 구성요소들(704), 네트워크 접속 구성요소들(706), 센서 구성요소들(708), 입력/출력 구성요소들(710), 및 전력 구성요소들(712)을 포함한다. 예시된 구성에서, 프로세서(702)는 메모리 구성요소들(704), 네트워크 접속 구성요소들(706), 센서 구성요소들(708), 입력/출력("I/O") 구성요소들(710), 및 전력 구성요소들(712)과 통신한다. 도 7에 도시된 개별 구성요소들 사이에 어떠한 접속들도 도시되지 않았지만, 이러한 구성요소들은 디바이스 기능들을 수행하기 위해 상호작용할 수 있다. 일부 구성들에서, 이러한 구성요소들은 하나 이상의 버스(도시되지 않음)를 통해 통신하도록 배열된다.
프로세서(702)는, 본 명세서에 설명된 다양한 기능을 수행하기 위해 데이터를 처리하고, 하나 이상의 애플리케이션 프로그램의 컴퓨터 실행가능한 명령어들을 실행하고, 컴퓨팅 디바이스 아키텍처(700)의 다른 구성요소들과 통신하도록 구성된 중앙 처리 유닛("CPU")을 포함한다. 프로세서(702)는 본 명세서에 제시된 소프트웨어 구성요소들, 및 특히 보안 데이터를 적어도 부분적으로 이용하는 것들의 양태들을 실행하는데 이용될 수 있다.
일부 구성들에서, 프로세서(702)는, 보안 컴퓨팅 애플리케이션들, 범용 과학적 및/또는 공학적 컴퓨팅 애플리케이션들뿐만 아니라, 고해상도 비디오(예컨대, 620P, 1080P, 및 더 높은 해상도), 비디오 게임들, 3차원("3D") 모델링 애플리케이션들 등과 같은 그래픽 집약적 컴퓨팅 애플리케이션들을 실행함으로써 수행되는 동작들을 포함하지만 이에 제한되지 않는, CPU에 의해 수행되는 동작들을 가속하도록 구성되는 그래픽 처리 유닛("GPU")을 포함한다. 일부 구성들에서, 프로세서(702)는 개별 GPU(도시되지 않음)와 통신하도록 구성된다. 임의의 경우에, CPU 및 GPU는 공동 처리 CPU/GPU 컴퓨팅 모델에 따라 구성될 수 있고, 여기서 애플리케이션의 순차적 부분은 CPU 상에서 실행되고, 계산 집약적 부분은 GPU에 의해 가속된다.
일부 구성들에서, 프로세서(702)는 이하에서 설명되는 다른 구성요소들 중 하나 이상과 함께 시스템-온-칩("SoC")이거나 또는 이에 포함된다. 예를 들어, SoC는 프로세서(702), GPU, 네트워크 접속 구성요소들(706) 중 하나 이상, 및 센서 구성요소들(708) 중 하나 이상을 포함할 수 있다. 일부 구성들에서, 프로세서(702)는, 부분적으로, 패키지-온-패키지("PoP") 집적 회로 패키징 기술을 이용하여 제조된다. 프로세서(702)는 단일 코어 또는 멀티 코어 프로세서일 수 있다.
프로세서(702)는 영국 케임브리지의 ARM HOLDINGS로부터의 라이센스로 이용가능한 ARM 아키텍처에 따라 생성될 수 있다. 대안적으로, 프로세서(702)는 캘리포니아주 마운틴 뷰의 INTEL CORPORATION 등으로부터 이용가능한 것과 같은 x86 아키텍처에 따라 생성될 수 있다. 일부 구성들에서, 프로세서(702)는, 캘리포니아주 샌디에고의 QUALCOMM으로부터 이용가능한 SNAPDRAGON SoC, 캘리포니아주 산타클라라의 NVIDIA로부터 이용가능한 TEGRA SoC, 한국 서울의 SAMSUNG로부터 이용가능한 HUMMINGBIRD SoC, 텍사스주 달라스의 TEXAS INSTRUMENTS로부터 이용가능한 OMAP(Open Multimedia Application Platform) SoC, 이러한 SoC들 중 임의의 것의 맞춤화된 버전, 또는 독점 SoC이다.
메모리 구성요소들(704)은 랜덤 액세스 메모리("RAM")(714), 판독 전용 메모리("ROM")(716), 통합 저장 메모리("통합 스토리지")(718), 및 이동식 저장 메모리("이동식 스토리지")(720)를 포함한다. 일부 구성들에서, RAM(714) 또는 그 일부, ROM(716) 또는 그 일부, 및/또는 RAM(714)과 ROM(716)의 일부 조합이 프로세서(702)에 통합된다. 일부 구성들에서, ROM(716)은 펌웨어, 운영 체제 또는 그 일부(예컨대, 운영 체제 커널), 및/또는 부트로더를 저장하여 통합 스토리지(718) 및/또는 이동식 스토리지(720)로부터 운영 체제 커널을 로딩하도록 구성된다.
통합 스토리지(718)는 솔리드 스테이트 메모리, 하드 디스크, 또는 솔리드 스테이트 메모리와 하드 디스크의 조합을 포함할 수 있다. 통합 스토리지(718)는 프로세서(702) 및 본 명세서에 설명된 다른 구성요소들이 또한 접속될 수 있는 로직 보드에 납땜되거나 다른 방식으로 접속될 수 있다. 이와 같이, 통합 스토리지(718)는 컴퓨팅 디바이스에 통합된다. 통합 스토리지(718)는 운영 체제 또는 그 일부, 애플리케이션 프로그램들, 데이터, 및 본 명세서에 설명된 다른 소프트웨어 구성요소들을 저장하도록 구성된다.
이동식 스토리지(720)는 솔리드 스테이트 메모리, 하드 디스크, 또는 솔리드 스테이트 메모리와 하드 디스크의 조합을 포함할 수 있다. 일부 구성들에서, 이동식 스토리지(720)는 통합 스토리지(718) 대신에 제공된다. 다른 구성들에서, 이동식 스토리지(720)는 추가적인 임의적 스토리지로서 제공된다. 일부 구성들에서, 이동식 스토리지(720)는 총 이용가능한 스토리지가 총 결합된 저장 용량으로서 이용가능하게 되도록 통합 스토리지(718)와 논리적으로 결합된다. 일부 구성들에서, 통합 스토리지(718) 및 이동식 스토리지(720)의 총 결합된 용량은 통합 스토리지(718) 및 이동식 스토리지(720)에 대한 별도의 저장 용량들 대신에 사용자에게 보여진다.
이동식 스토리지(720)는 이동식 스토리지(720)가 프로세서(702)와 같은 컴퓨팅 디바이스의 다른 구성요소들과 통신할 수 있는 접속을 용이하게 하도록 이동식 스토리지(720)가 삽입되고 고정되는 이동식 저장 메모리 슬롯(도시되지 않음) 또는 다른 메커니즘에 삽입되도록 구성된다. 이동식 스토리지(720)는 PC 카드, CompactFlash 카드, 메모리 스틱, 보안 디지털("SD"), 미니 SD, 마이크로 SD, 범용 집적 회로 카드("UICC")(예컨대, 가입자 아이덴티티 모듈("SIM") 또는 범용 SIM("USIM")), 독점 포맷 등을 포함하지만 이에 제한되지 않는 다양한 메모리 카드 포맷들로 구현될 수 있다.
메모리 구성요소들(704) 중 하나 이상이 운영 체제를 저장할 수 있다는 것이 이해될 수 있다. 다양한 구성들에 따르면, 운영 체제는 Open Group에 의해 인증된 UNIX 및 Free Software Foundation에 의해 인증된 LINUX의 다양한 형태들과 같은 서버 운영 체제들, 또는 워싱턴주 레드몬드의 Microsoft Corporation으로부터의 MICROSFT AZURE 또는 워싱턴주 시애틀의 Amazon Corporation으로부터의 AWS와 같은 SaaS(Software-as-a-Service) 아키텍처들의 양태들을 포함할 수 있지만, 이들로 제한되지 않는다. 운영 체제는 또한 워싱턴주 레드몬드의 Microsoft Corporation으로부터의 WINDOWS MOBILE OS, Microsoft Corporation으로부터의 WINDOWS PHONE OS, Microsoft Corporation으로부터의 WINDOWS, 캘리포니아주 팔로 알토의 Hewlett-Packard Company로부터의 PALM WEBOS, 캐나다 온타리오주 워털루의 Research In Motion Limited로부터의 BLACKBERRY OS, 캘리포니아주 쿠퍼티노의 Apple Inc.로부터의 MAC OS 또는 IOS, 및 캘리포니아주 마운틴 뷰의 Google Inc.로부터의 ANDROID OS를 포함할 수 있다. 다른 운영 체제들이 고려된다.
네트워크 접속 구성요소들(706)은 무선 광역 네트워크 구성요소("WWAN 구성요소")(722), 무선 근거리 네트워크 구성요소("WLAN 구성요소")(724), 및 무선 개인 영역 네트워크 구성요소("WPAN 구성요소")(726)를 포함한다. 네트워크 접속 구성요소들(706)은 네트워크(756), 또는 WWAN, WLAN 또는 WPAN일 수 있는 다른 네트워크로의 그리고 그로부터의 통신들을 용이하게 한다. 네트워크(756)만이 예시되지만, 네트워크 접속 구성요소들(706)은 도 5의 네트워크(556)를 포함하는 복수의 네트워크들과의 동시 통신을 용이하게 할 수 있다. 예를 들어, 네트워크 접속 구성요소들(706)은 WWAN, WLAN, 또는 WPAN 중 하나 이상을 통해 복수의 네트워크들과의 동시 통신들을 용이하게 할 수 있다.
네트워크(756)는 WWAN 구성요소(722)를 통해 컴퓨팅 디바이스 아키텍처(700)를 이용하는 컴퓨팅 디바이스에 음성 및/또는 데이터 서비스들을 제공하기 위해 하나 이상의 모바일 통신 기술을 이용하는 모바일 통신 네트워크와 같은 WWAN일 수 있거나 이를 포함할 수 있다. 모바일 통신 기술들은 GSM(Global System for Mobile communications), CDMA(Code Division Multiple Access) ONE, CDMA7000, UMTS(Universal Mobile Telecommunications System), LTE(Long Term Evolution), 및 WiMAX(Worldwide Interoperability for Microwave Access)를 포함할 수 있지만, 이에 제한되는 것은 아니다. 또한, 네트워크(756)는 TDMA(Time Division Multiple Access), FDMA(Frequency Division Multiple Access), CDMA, 광대역 CDMA("W-CDMA"), OFDM(Orthogonal Frequency Division Multiplexing), SDMA(Space Division Multiple Access) 등을 포함하지만 이에 제한되지 않는 다양한 채널 액세스 방법들(전술한 표준들에 의해 이용될 수 있거나 이용되지 않을 수 있음)을 이용할 수 있다. 데이터 통신들은 GPRS(General Packet Radio Service), EDGE(Enhanced Data rates for Global Evolution), HSDPA(High-Speed Downlink Packet Access), EUL(Enhanced Uplink) 또는 다르게 지칭되는 HSUPA(High-Speed Uplink Packet Access), HSPA+(Evolved HSPA(High-Speed Packet Access))를 포함하는 HSPA 프로토콜 패밀리, LTE, 및 다양한 다른 현재 및 미래의 무선 데이터 액세스 표준들을 이용하여 제공될 수 있다. 네트워크(756)는 전술한 기술들의 임의의 조합으로 음성 및/또는 데이터 통신들을 제공하도록 구성될 수 있다. 네트워크(756)는 미래 세대의 기술들에 따라 음성 및/또는 데이터 통신들을 제공하도록 구성되거나 적응될 수 있다.
일부 구성들에서, WWAN 구성요소(722)는 네트워크(756)에 이중-다중-모드 접속을 제공하도록 구성된다. 예를 들어, WWAN 구성요소(722)는 네트워크(756)에 접속을 제공하도록 구성될 수 있고, 여기서 네트워크(756)는 GSM 및 UMTS 기술들을 통해, 또는 기술들의 일부 다른 조합을 통해 서비스를 제공한다. 대안적으로, 복수의 WWAN 구성요소들(722)은 이러한 기능을 수행하고/하거나 다른 비호환 기술들(즉, 단일 WWAN 구성요소에 의해 지원될 수 없음)을 지원하기 위한 추가 기능을 제공하는데 이용될 수 있다. WWAN 구성요소(722)는 복수의 네트워크(예를 들어, UMTS 네트워크 및 LTE 네트워크)에 대한 유사한 접속을 용이하게 할 수 있다.
네트워크(756)는 하나 이상의 IEEE(Institute of Electrical and Electronic Engineers) 802.11 표준, 예컨대 IEEE 802.11a, 802.11b, 802.11g, 802.11n, 및/또는 미래의 802.11 표준(본 명세서에서는 WI-FI라고 총칭함)에 따라 동작하는 WLAN일 수 있다. 드래프트 802.11 표준들이 또한 고려된다. 일부 구성들에서, WLAN은 하나 이상의 무선 WI-FI 액세스 포인트를 이용하여 구현된다. 일부 구성들에서, 무선 WI-FI 액세스 포인트들 중 하나 이상은 WI-FI 핫스팟으로서 기능하는 WWAN에의 접속을 갖는 다른 컴퓨팅 디바이스이다. WLAN 구성요소(724)는 WI-FI 액세스 포인트들을 통해 네트워크(756)에 접속하도록 구성된다. 이러한 접속들은 WI-FI 보호 액세스("WPA"), WPA2, WEP(Wired Equivalent Privacy) 등을 포함하지만 이에 제한되지 않는 다양한 암호화 기술들을 통해 보호될 수 있다.
네트워크(756)는 IrDA(Infrared Data Association), 블루투스, 무선 USB(Universal Serial Bus), Z-Wave, 지그비, 또는 일부 다른 단거리 무선 기술에 따라 동작하는 WPAN일 수 있다. 일부 구성들에서, WPAN 구성요소(726)는 WPAN을 통해 주변 기기들, 컴퓨터들, 또는 다른 컴퓨팅 디바이스들과 같은 다른 디바이스들과의 통신들을 용이하게 하도록 구성된다.
센서 구성요소들(708)은 자력계(728), 주변 광 센서(730), 근접 센서(732), 가속도계(734), 자이로스코프(736) 및 GPS(Global Positioning System) 센서(738)를 포함한다. 온도 센서들 또는 충격 검출 센서들과 같은, 그러나 이에 제한되지 않는 다른 센서들이 또한 컴퓨팅 디바이스 아키텍처(700)에 포함될 수 있다는 것이 고려된다.
I/O 구성요소들(710)은 디스플레이(740), 터치스크린(742), 데이터 I/O 인터페이스 구성요소("데이터 I/O")(744), 오디오 I/O 인터페이스 구성요소("오디오 I/O")(746), 비디오 I/O 인터페이스 구성요소("비디오 I/O")(748), 및 카메라(750)를 포함한다. 일부 구성들에서, 디스플레이(740) 및 터치스크린(742)이 결합된다. 일부 구성들에서, 데이터 I/O 구성요소(744), 오디오 I/O 구성요소(746) 및 비디오 I/O 구성요소(748) 중 2개 이상이 결합된다. I/O 구성요소들(710)은 후술하는 다양한 인터페이스들을 지원하도록 구성된 개별 프로세서들을 포함할 수 있거나, 또는 프로세서(702)에 내장된 처리 기능을 포함할 수 있다.
예시된 전력 구성요소들(712)은 배터리 게이지(754)에 접속될 수 있는 하나 이상의 배터리(752)를 포함한다. 배터리들(752)은 재충전가능하거나 일회용일 수 있다. 재충전가능한 배터리 유형들은 리튬 폴리머, 리튬 이온, 니켈 카드뮴, 및 니켈 금속 수소화물을 포함하지만, 이에 제한되는 것은 아니다. 배터리들(752) 각각은 하나 이상의 전지로 이루어질 수 있다.
전력 구성요소들(712)은 또한 전술한 I/O 구성요소들(710) 중 하나 이상과 결합될 수 있는 전력 커넥터를 포함할 수 있다. 전력 구성요소들(712)은 I/O 구성요소를 통해 외부 전력 시스템 또는 충전 장비와 인터페이싱할 수 있다.
끝으로, 비록 다양한 구성들이 구조적 특징들 및/또는 방법론적 동작들에 특정한 언어로 설명되었지만, 첨부된 표현들에 정의된 주제는 설명된 특정 특징들 또는 동작들에 반드시 제한되는 것은 아니라는 것이 이해되어야 한다. 오히려, 특정 특징들 및 동작들은 청구된 주제를 구현하는 예시적인 형태들로서 개시되어 있다.
본 개시내용은 다음의 예들에 비추어 이루어진다:
예 1: 컴퓨터에 의해 구현되는 키 관리 방법으로서, 키 소스에서 암호 키를 생성하는 단계; 암호 키에 대응하는 키 블록-체인 원장에 대한 제네시스 블록을 생성하는 단계; 키 소스를 기술하는 메타데이터를 포함하도록 제네시스 블록을 안전하게 수정하는 단계; 암호 키와의 제1 키 트랜잭션을 수행하는 단계; 암호 키와의 제1 키 트랜잭션에 대응하는 제1 트랜잭션 블록을 생성하고 제1 트랜잭션 블록을 키 블록-체인 원장에 추가하는 단계; 및 암호 키와의 제1 키 트랜잭션을 기술하는 메타데이터를 포함하도록 제1 트랜잭션 블록을 안전하게 수정하는 단계를 포함한다.
예 2: 예 1에 있어서, 제1 트랜잭션 블록을 안전하게 수정하는 단계는 암호 키와의 제1 키 트랜잭션을 기술하는 메타데이터를 포함하도록 블록-체인 교정 및 개정 기능 중 적어도 하나를 이용하여 제1 트랜잭션 블록을 수정하는 단계를 포함한다.
예 3: 예 1에 있어서, 암호 키와 연관된 데이터 또는 시스템에 대한 공격을 검출하는 단계; 키 블록-체인 원장 내의 트랜잭션 블록들의 메타데이터를 이용하여 공격 지점까지 암호 키를 추적하는 단계; 공격 지점에 대응하는 트랜잭션 블록을 결정하는 단계; 및 공격 지점에 대응하는 트랜잭션 블록으로부터의 메타데이터로 공격 지점을 나타내는 경고를 생성하는 단계를 포함한다.
예 4: 예 1에 있어서, 암호 키와의 제1 키 트랜잭션은 암호 키를 순환시키는 것을 포함하고; 제1 키 트랜잭션을 기술하는 메타데이터는 암호 키의 순환을 기술하는 메타데이터를 포함한다.
예 5: 예 1에 있어서, 제1 키 트랜잭션을 기술하는 메타데이터는 암호 키가 적용된 데이터, 암호 키에 대해 수행된 동작, 암호 키를 이용하는 라이브러리, 암호 키에 대해 동작이 수행되었던 머신 또는 암호 키가 존재하는 머신 중 하나 이상을 포함한다.
예 6: 예 1에 있어서, 암호 키와의 제2 키 트랜잭션을 수행하는 단계; 암호 키와의 제2 키 트랜잭션에 대응하는 제2 트랜잭션 블록을 생성하고 제2 트랜잭션 블록을 키 블록-체인 원장에 추가하는 단계; 및 암호 키와의 제2 키 트랜잭션을 기술하는 메타데이터를 포함하도록 제2 트랜잭션 블록을 안전하게 수정하는 단계를 포함한다.
예 7: 예 1에 있어서, 제1 트랜잭션 블록을 복수의 노드에 브로드캐스팅하는 단계; 복수의 노드 중 하나에서 제1 트랜잭션 블록에 대한 검증 솔루션을 계산하는 단계; 및 제1 트랜잭션 블록에 대한 검증 솔루션을 복수의 노드 중 적어도 하나의 다른 노드에 브로드캐스팅하여 키 블록-체인 원장 상의 트랜잭션 블록을 검증하는 단계를 포함한다.
예 8: 예 1에 있어서, 허가된 중앙 제어 노드에서 제1 키 트랜잭션 블록을 검증하는 단계; 및 제1 트랜잭션 블록의 검증을 복수의 노드에 브로드캐스팅하는 단계를 포함한다.
예 9: 키 관리를 위한 시스템으로서, 하나 이상의 프로세서; 및 하나 이상의 프로세서와 통신하는 하나 이상의 메모리 디바이스를 포함하며, 메모리 디바이스들은 컴퓨터 판독가능한 명령어들을 저장하고, 컴퓨터 판독가능한 명령어들은, 프로세서들에 의해 실행될 때, 프로세서들로 하여금, 키 소스에서 암호 키를 생성하게 하고; 암호 키에 대응하는 키 블록-체인 원장에 대한 제네시스 블록을 생성하게 하고; 키 소스를 기술하는 메타데이터를 포함하도록 제네시스 블록을 안전하게 수정하게 하고; 암호 키와의 제1 키 트랜잭션을 수행하게 하고; 암호 키와의 제1 키 트랜잭션에 대응하는 제1 트랜잭션 블록을 생성하게 하고 제1 트랜잭션 블록을 키 블록-체인 원장에 추가하게 하며; 암호 키와의 제1 키 트랜잭션을 기술하는 메타데이터를 포함하도록 제1 트랜잭션 블록을 안전하게 수정하게 한다.
예 10: 예 9에 있어서, 시스템은 암호 키와의 제1 키 트랜잭션을 기술하는 메타데이터를 포함하도록 블록-체인 교정 및 개정 기능 중 적어도 하나를 이용하여 제1 트랜잭션 블록을 수정함으로써 제1 트랜잭션 블록을 안전하게 수정한다.
예 11: 예 9에 있어서, 시스템은, 암호 키와 연관된 데이터 또는 시스템에 대한 공격을 검출하고; 키 블록-체인 원장 내의 트랜잭션 블록들의 메타데이터를 이용하여 공격 지점까지 암호 키를 추적하고; 공격 지점에 대응하는 트랜잭션 블록을 결정하며; 공격 지점에 대응하는 트랜잭션 블록으로부터의 메타데이터로 공격 지점을 나타내는 경고를 생성하는 식으로 동작하도록 구성된다.
예 12: 예 9에 있어서, 암호 키와의 제1 키 트랜잭션은 암호 키를 순환시키는 것을 포함하고; 제1 키 트랜잭션을 기술하는 메타데이터는 암호 키의 순환을 기술하는 메타데이터를 포함한다.
예 13: 예 9에 있어서, 제1 키 트랜잭션을 기술하는 메타데이터는 암호 키가 적용된 데이터, 암호 키에 대해 수행된 동작, 암호 키를 이용하는 라이브러리, 암호 키에 대해 동작이 수행되었던 머신 또는 암호 키가 존재하는 머신 중 하나 이상을 포함한다.
예 14: 예 9에 있어서, 시스템은, 암호 키와의 제2 키 트랜잭션을 수행하고; 암호 키와의 제2 키 트랜잭션에 대응하는 제2 트랜잭션 블록을 생성하고 제2 트랜잭션 블록을 키 블록-체인 원장에 추가하며; 암호 키와의 제2 키 트랜잭션을 기술하는 메타데이터를 포함하도록 제2 트랜잭션 블록을 안전하게 수정하는 식으로 동작하도록 구성된다.
예 15: 예 9에 있어서, 시스템은, 제1 트랜잭션 블록을 복수의 노드에 브로드캐스팅하고; 복수의 노드 중 하나에서 제1 트랜잭션 블록에 대한 검증 솔루션을 계산하며; 제1 트랜잭션 블록에 대한 검증 솔루션을 복수의 노드 중 적어도 하나의 다른 노드에 브로드캐스팅하여 키 블록-체인 원장 상의 트랜잭션 블록을 검증하는 식으로 동작하도록 구성된다.
예 16: 예 9에 있어서, 시스템은, 허가된 중앙 제어 노드에서 제1 키 트랜잭션 블록을 검증하고; 제1 트랜잭션 블록의 검증을 복수의 노드에 브로드캐스팅하는 식으로 동작하도록 구성된다.
예 17: 컴퓨터 실행가능한 명령어들을 저장하는 컴퓨터 저장 매체로서, 컴퓨터 실행가능한 명령어들은, 하나 이상의 프로세서에 의해 실행될 때, 프로세서들로 하여금, 키 소스에서 암호 키를 생성하는 것; 암호 키에 대응하는 키 블록-체인 원장에 대한 제네시스 블록을 생성하는 것; 키 소스를 기술하는 메타데이터를 포함하도록 제네시스 블록을 안전하게 수정하는 것; 암호 키와의 제1 키 트랜잭션을 수행하는 것; 암호 키와의 제1 키 트랜잭션에 대응하는 제1 트랜잭션 블록을 생성하고 제1 트랜잭션 블록을 키 블록-체인 원장에 추가하는 것; 및 암호 키와의 제1 키 트랜잭션을 기술하는 메타데이터를 포함하도록 제1 트랜잭션 블록을 안전하게 수정하는 것을 포함하는 키 관리 방법을 실행하게 한다.
예 18: 예 17에 있어서, 제1 트랜잭션 블록을 안전하게 수정하는 것은 암호 키와의 제1 키 트랜잭션을 기술하는 메타데이터를 포함하도록 블록-체인 교정 및 개정 기능 중 적어도 하나를 이용하여 제1 트랜잭션 블록을 수정하는 것을 포함한다.
예 19: 예 17에 있어서, 방법은, 암호 키와 연관된 데이터 또는 시스템에 대한 공격을 검출하는 것; 키 블록-체인 원장 내의 트랜잭션 블록들의 메타데이터를 이용하여 공격 지점까지 암호 키를 추적하는 것; 공격 지점에 대응하는 트랜잭션 블록을 결정하는 것; 및 공격 지점에 대응하는 트랜잭션 블록으로부터의 메타데이터로 공격 지점을 나타내는 경고를 생성하는 것을 포함한다.
예 20: 예 17에 있어서, 암호 키와의 제1 키 트랜잭션은 암호 키를 순환시키는 것을 포함하고; 제1 키 트랜잭션을 기술하는 메타데이터는 암호 키의 순환을 기술하는 메타데이터를 포함한다.
예 21: 예 17에 있어서, 제1 키 트랜잭션을 기술하는 메타데이터는 암호 키가 적용된 데이터, 암호 키에 대해 수행된 동작, 암호 키를 이용하는 라이브러리, 암호 키에 대해 동작이 수행되었던 머신 또는 암호 키가 존재하는 머신 중 하나 이상을 포함한다.
예 22: 예 17에 있어서, 방법은, 암호 키와의 제2 키 트랜잭션을 수행하는 것; 암호 키와의 제2 키 트랜잭션에 대응하는 제2 트랜잭션 블록을 생성하고 제2 트랜잭션 블록을 키 블록-체인 원장에 추가하는 것; 및 암호 키와의 제2 키 트랜잭션을 기술하는 메타데이터를 포함하도록 제2 트랜잭션 블록을 안전하게 수정하는 것을 포함한다.
예 23: 예 17에 있어서, 방법은, 제1 트랜잭션 블록을 복수의 노드에 브로드캐스팅하는 것; 복수의 노드 중 하나에서 제1 트랜잭션 블록에 대한 검증 솔루션을 계산하는 것; 및 제1 트랜잭션 블록에 대한 검증 솔루션을 복수의 노드 중 적어도 하나의 다른 노드에 브로드캐스팅하여 키 블록-체인 원장 상의 트랜잭션 블록을 검증하는 것을 포함한다.
예 24: 예 17에 있어서, 방법은, 허가된 중앙 제어 노드에서 제1 키 트랜잭션 블록을 검증하는 것; 및 제1 트랜잭션 블록의 검증을 복수의 노드에 브로드캐스팅하는 것을 포함한다.

Claims (20)

  1. 컴퓨터에 의해 구현되는 키 관리 방법으로서,
    키 소스에서 암호 키를 생성하는 단계;
    상기 암호 키에 대응하는 키 블록-체인 원장에 대한 제네시스 블록(genesis block)을 생성하는 단계;
    상기 키 소스를 기술하는 메타데이터를 포함하도록 상기 제네시스 블록을 안전하게 수정하는 단계;
    상기 암호 키를 순환시키는 제1 키 트랜잭션을 수행하는 단계;
    상기 제1 키 트랜잭션에 대응하는 제1 트랜잭션 블록을 생성하고 상기 제1 트랜잭션 블록을 상기 키 블록-체인 원장에 추가하는 단계; 및
    상기 제1 키 트랜잭션을 기술하는 메타데이터를 포함하도록 상기 제1 트랜잭션 블록을 안전하게 수정하는 단계 - 상기 제1 키 트랜잭션을 기술하는 메타데이터는 상기 암호 키의 순환에 대한 추적가능성 정보를 포함함 -
    를 포함하는, 키 관리 방법.
  2. 제1항에 있어서,
    상기 제1 트랜잭션 블록을 안전하게 수정하는 단계는 상기 제1 키 트랜잭션을 기술하는 메타데이터를 포함하도록 블록-체인 교정(emend) 및 개정(amend) 기능 중 적어도 하나를 이용하여 상기 제1 트랜잭션 블록을 수정하는 단계를 포함하는, 키 관리 방법.
  3. 제1항에 있어서,
    상기 암호 키와 연관된 데이터 또는 시스템에 대한 공격을 검출하는 단계;
    상기 키 블록-체인 원장 내의 트랜잭션 블록들의 메타데이터를 이용하여 공격 지점까지 상기 암호 키를 추적하는 단계;
    상기 공격 지점에 대응하는 트랜잭션 블록을 결정하는 단계; 및
    상기 공격 지점에 대응하는 상기 트랜잭션 블록으로부터의 메타데이터로 상기 공격 지점을 나타내는 경고를 생성하는 단계
    를 포함하는, 키 관리 방법.
  4. 삭제
  5. 제1항에 있어서,
    상기 제1 키 트랜잭션을 기술하는 상기 메타데이터는 상기 암호 키가 적용된 데이터, 상기 암호 키에 대해 수행된 동작, 상기 암호 키를 이용하는 라이브러리, 상기 암호 키에 대해 상기 동작이 수행되었던 머신 또는 상기 암호 키가 존재하는 머신 중 하나 이상을 포함하는, 키 관리 방법.
  6. 제1항에 있어서,
    상기 암호 키에 대한 것이거나 상기 암호 키를 사용하는 제2 키 트랜잭션을 수행하는 단계;
    상기 제2 키 트랜잭션에 대응하는 제2 트랜잭션 블록을 생성하고 상기 제2 트랜잭션 블록을 상기 키 블록-체인 원장에 추가하는 단계; 및
    상기 제2 키 트랜잭션을 기술하는 메타데이터를 포함하도록 상기 제2 트랜잭션 블록을 안전하게 수정하는 단계
    를 포함하는, 키 관리 방법.
  7. 제1항에 있어서,
    상기 제1 트랜잭션 블록을 복수의 노드에 브로드캐스팅하는 단계;
    상기 복수의 노드 중 하나에서 상기 제1 트랜잭션 블록에 대한 검증 솔루션을 계산하는 단계; 및
    상기 제1 트랜잭션 블록에 대한 상기 검증 솔루션을 상기 복수의 노드 중 적어도 하나의 다른 노드에 브로드캐스팅하여 상기 키 블록-체인 원장 상의 트랜잭션 블록을 검증하는 단계
    를 포함하는, 키 관리 방법.
  8. 제1항에 있어서,
    허가된 중앙 제어 노드에서 상기 제1 트랜잭션 블록을 검증하는 단계; 및
    상기 제1 트랜잭션 블록의 검증을 복수의 노드에 브로드캐스팅하는 단계
    를 포함하는, 키 관리 방법.
  9. 키 관리를 위한 시스템으로서,
    하나 이상의 프로세서; 및
    상기 하나 이상의 프로세서와 통신하는 하나 이상의 메모리 디바이스
    를 포함하며,
    상기 메모리 디바이스들은 컴퓨터 판독가능한 명령어들을 저장하고, 상기 컴퓨터 판독가능한 명령어들은, 상기 프로세서들에 의해 실행될 때, 상기 프로세서들로 하여금,
    키 소스에서 암호 키를 생성하게 하고;
    상기 암호 키에 대응하는 키 블록-체인 원장에 대한 제네시스 블록을 생성하게 하고;
    상기 키 소스를 기술하는 메타데이터를 포함하도록 상기 제네시스 블록을 안전하게 수정하게 하고;
    상기 암호 키를 순환시키는 제1 키 트랜잭션을 수행하게 하고;
    상기 제1 키 트랜잭션에 대응하는 제1 트랜잭션 블록을 생성하게 하고 상기 제1 트랜잭션 블록을 상기 키 블록-체인 원장에 추가하게 하며;
    상기 제1 키 트랜잭션을 기술하는 메타데이터를 포함하도록 상기 제1 트랜잭션 블록을 안전하게 수정하게 하고, 상기 제1 키 트랜잭션을 기술하는 메타데이터는 상기 암호 키의 순환에 대한 추적가능성 정보를 포함하는, 키 관리를 위한 시스템.
  10. 제9항에 있어서,
    상기 시스템은 상기 제1 키 트랜잭션을 기술하는 메타데이터를 포함하도록 블록-체인 교정 및 개정 기능 중 적어도 하나를 이용하여 상기 제1 트랜잭션 블록을 수정함으로써 상기 제1 트랜잭션 블록을 안전하게 수정하는, 키 관리를 위한 시스템.
  11. 제9항에 있어서,
    상기 시스템은,
    상기 암호 키와 연관된 데이터 또는 시스템에 대한 공격을 검출하고;
    상기 키 블록-체인 원장 내의 트랜잭션 블록들의 메타데이터를 이용하여 공격 지점까지 상기 암호 키를 추적하고;
    상기 공격 지점에 대응하는 트랜잭션 블록을 결정하며;
    상기 공격 지점에 대응하는 상기 트랜잭션 블록으로부터의 메타데이터로 상기 공격 지점을 나타내는 경고를 생성하는 식으로
    동작하도록 구성되는, 키 관리를 위한 시스템.
  12. 삭제
  13. 제9항에 있어서,
    상기 제1 키 트랜잭션을 기술하는 상기 메타데이터는 상기 암호 키가 적용된 데이터, 상기 암호 키에 대해 수행된 동작, 상기 암호 키를 이용하는 라이브러리, 상기 암호 키에 대해 상기 동작이 수행되었던 머신 또는 상기 암호 키가 존재하는 머신 중 하나 이상을 포함하는, 키 관리를 위한 시스템.
  14. 제9항에 있어서,
    상기 시스템은,
    상기 암호 키에 대한 것이거나 상기 암호 키를 사용하는 제2 키 트랜잭션을 수행하고;
    상기 제2 키 트랜잭션에 대응하는 제2 트랜잭션 블록을 생성하고 상기 제2 트랜잭션 블록을 상기 키 블록-체인 원장에 추가하며;
    상기 제2 키 트랜잭션을 기술하는 메타데이터를 포함하도록 상기 제2 트랜잭션 블록을 안전하게 수정하는 식으로
    동작하도록 구성되는, 키 관리를 위한 시스템.
  15. 제9항에 있어서,
    상기 시스템은,
    상기 제1 트랜잭션 블록을 복수의 노드에 브로드캐스팅하고;
    상기 복수의 노드 중 하나에서 상기 제1 트랜잭션 블록에 대한 검증 솔루션을 계산하며;
    상기 제1 트랜잭션 블록에 대한 상기 검증 솔루션을 상기 복수의 노드 중 적어도 하나의 다른 노드에 브로드캐스팅하여 상기 키 블록-체인 원장 상의 트랜잭션 블록을 검증하는 식으로
    동작하도록 구성되는, 키 관리를 위한 시스템.
  16. 제9항에 있어서,
    상기 시스템은,
    허가된 중앙 제어 노드에서 상기 제1 트랜잭션 블록을 검증하고;
    상기 제1 트랜잭션 블록의 검증을 복수의 노드에 브로드캐스팅하는 식으로
    동작하도록 구성되는, 키 관리를 위한 시스템.
  17. 컴퓨터 실행가능한 명령어들을 저장하는 컴퓨터 저장 매체로서,
    상기 컴퓨터 실행가능한 명령어들은, 하나 이상의 프로세서에 의해 실행될 때, 상기 프로세서들로 하여금,
    키 소스에서 암호 키를 생성하는 것;
    상기 암호 키에 대응하는 키 블록-체인 원장에 대한 제네시스 블록을 생성하는 것;
    상기 키 소스를 기술하는 메타데이터를 포함하도록 상기 제네시스 블록을 안전하게 수정하는 것;
    상기 암호 키를 순환시키는 제1 키 트랜잭션을 수행하는 것;
    상기 제1 키 트랜잭션에 대응하는 제1 트랜잭션 블록을 생성하고 상기 제1 트랜잭션 블록을 상기 키 블록-체인 원장에 추가하는 것; 및
    상기 제1 키 트랜잭션을 기술하는 메타데이터를 포함하도록 상기 제1 트랜잭션 블록을 안전하게 수정하는 것 - 상기 제1 키 트랜잭션을 기술하는 메타데이터는 상기 암호 키의 순환에 대한 추적가능성 정보를 포함함 -
    을 포함하는 키 관리 방법을 실행하게 하는, 컴퓨터 저장 매체.
  18. 제17항에 있어서,
    상기 제1 트랜잭션 블록을 안전하게 수정하는 것은 상기 제1 키 트랜잭션을 기술하는 메타데이터를 포함하도록 블록-체인 교정 및 개정 기능 중 적어도 하나를 이용하여 상기 제1 트랜잭션 블록을 수정하는 것을 포함하는, 컴퓨터 저장 매체.
  19. 제17항에 있어서,
    상기 방법은,
    상기 암호 키와 연관된 데이터 또는 시스템에 대한 공격을 검출하는 것;
    상기 키 블록-체인 원장 내의 트랜잭션 블록들의 메타데이터를 이용하여 공격 지점까지 상기 암호 키를 추적하는 것;
    상기 공격 지점에 대응하는 트랜잭션 블록을 결정하는 것; 및
    상기 공격 지점에 대응하는 상기 트랜잭션 블록으로부터의 메타데이터로 상기 공격 지점을 나타내는 경고를 생성하는 것
    을 포함하는, 컴퓨터 저장 매체.
  20. 삭제
KR1020207015884A 2017-12-29 2018-12-14 추적가능한 키 블록-체인 원장 KR102406533B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020227018763A KR102519327B1 (ko) 2017-12-29 2018-12-14 추적가능한 키 블록-체인 원장

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/858,949 US10715323B2 (en) 2017-12-29 2017-12-29 Traceable key block-chain ledger
US15/858,949 2017-12-29
PCT/US2018/065851 WO2019133307A1 (en) 2017-12-29 2018-12-14 Traceable key block-chain ledger

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020227018763A Division KR102519327B1 (ko) 2017-12-29 2018-12-14 추적가능한 키 블록-체인 원장

Publications (2)

Publication Number Publication Date
KR20200074219A KR20200074219A (ko) 2020-06-24
KR102406533B1 true KR102406533B1 (ko) 2022-06-10

Family

ID=65003540

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020227018763A KR102519327B1 (ko) 2017-12-29 2018-12-14 추적가능한 키 블록-체인 원장
KR1020207015884A KR102406533B1 (ko) 2017-12-29 2018-12-14 추적가능한 키 블록-체인 원장

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020227018763A KR102519327B1 (ko) 2017-12-29 2018-12-14 추적가능한 키 블록-체인 원장

Country Status (5)

Country Link
US (4) US10715323B2 (ko)
EP (1) EP3732817A1 (ko)
KR (2) KR102519327B1 (ko)
CN (2) CN117640057A (ko)
WO (1) WO2019133307A1 (ko)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10776404B2 (en) 2015-04-06 2020-09-15 EMC IP Holding Company LLC Scalable distributed computations utilizing multiple distinct computational frameworks
US10541938B1 (en) 2015-04-06 2020-01-21 EMC IP Holding Company LLC Integration of distributed data processing platform with one or more distinct supporting platforms
US10791063B1 (en) 2015-04-06 2020-09-29 EMC IP Holding Company LLC Scalable edge computing using devices with limited resources
US10860622B1 (en) 2015-04-06 2020-12-08 EMC IP Holding Company LLC Scalable recursive computation for pattern identification across distributed data processing nodes
US10509684B2 (en) * 2015-04-06 2019-12-17 EMC IP Holding Company LLC Blockchain integration for scalable distributed computations
US10706970B1 (en) 2015-04-06 2020-07-07 EMC IP Holding Company LLC Distributed data analytics
US10425350B1 (en) 2015-04-06 2019-09-24 EMC IP Holding Company LLC Distributed catalog service for data processing platform
US10277668B1 (en) 2015-04-06 2019-04-30 EMC IP Holding Company LLC Beacon-based distributed data processing platform
US10541936B1 (en) 2015-04-06 2020-01-21 EMC IP Holding Company LLC Method and system for distributed analysis
US10656861B1 (en) 2015-12-29 2020-05-19 EMC IP Holding Company LLC Scalable distributed in-memory computation
US10715323B2 (en) 2017-12-29 2020-07-14 Ebay Inc. Traceable key block-chain ledger
US10896418B2 (en) 2017-12-29 2021-01-19 Ebay Inc. Secure management of data files using a blockchain
US11700132B2 (en) * 2018-05-02 2023-07-11 Cable Television Laboratories, Inc. Systems and methods for secure event and log management
JP6614280B1 (ja) * 2018-06-05 2019-12-04 富士通株式会社 通信装置および通信方法
GB201811263D0 (en) * 2018-07-10 2018-08-29 Netmaster Solutions Ltd A method and system for managing digital using a blockchain
US10708250B2 (en) 2018-07-11 2020-07-07 Americorps Investments Llc Blockchain operating system
US11522710B2 (en) * 2018-08-06 2022-12-06 Tyson York Winarski Blockchained media stored in a material exchange format file
US11301452B2 (en) 2018-10-09 2022-04-12 Ebay, Inc. Storing and verification of derivative work data on blockchain with original work data
US10949548B2 (en) 2018-10-18 2021-03-16 Verizon Patent And Licensing Inc. Systems and methods for providing multi-node resiliency for blockchain peers
US11263315B2 (en) 2018-12-03 2022-03-01 Ebay Inc. System level function based access control for smart contract execution on a blockchain
US11405182B2 (en) 2018-12-03 2022-08-02 Ebay Inc. Adaptive security for smart contracts using high granularity metrics
US11250125B2 (en) 2018-12-03 2022-02-15 Ebay Inc. Highly scalable permissioned block chains
US11275801B1 (en) * 2019-03-05 2022-03-15 Sprint Communications Company L.P. Performance metrics collection and promulgation from within a mobile application
US11176560B2 (en) * 2019-08-02 2021-11-16 Capital One Services, Llc Systems, methods and devices for ATM access during outages
US10966213B1 (en) * 2019-08-02 2021-03-30 Sprint Spectrum L.P. Method and system for controlling interference between access nodes operating on adjacent TDD carriers with different TDD configurations
US11182269B2 (en) 2019-10-01 2021-11-23 International Business Machines Corporation Proactive change verification
US11295031B2 (en) 2019-10-08 2022-04-05 International Business Machines Corporation Event log tamper resistance
US11588631B2 (en) * 2019-10-09 2023-02-21 Arizona Board Of Regents On Behalf Of Arizona State University Systems and methods for blockchain-based automatic key generation
CN112749964B (zh) * 2019-10-30 2024-01-16 深圳市迅雷网络技术有限公司 一种信息监控方法、系统、设备及存储介质
EP3776412A4 (en) 2019-11-19 2021-03-24 Alipay (Hangzhou) Information Technology Co., Ltd. CONSENSUS MANAGEMENT SYSTEM AND PROCESS
US11392348B2 (en) 2020-02-13 2022-07-19 International Business Machines Corporation Ordering records for timed meta-data generation in a blocked record environment
US11461312B2 (en) * 2020-03-28 2022-10-04 Wipro Limited Method and system for performing adaptive consensus in a distributed ledger network
US11544229B1 (en) * 2020-04-29 2023-01-03 American Express Travel Related Services Company, Inc Enhanced tracking of data flows
US10771243B1 (en) * 2020-04-29 2020-09-08 Ecosteer Srl Multicast encryption scheme for data-ownership platform
EP3907645A1 (en) * 2020-05-08 2021-11-10 Secure Thingz Limited Apparatus and method for controlling the assembly of electronic devices
CN111988331B (zh) * 2020-08-28 2021-04-16 清华大学 基于区块链的DDoS攻击追踪方法、系统、设备和介质
CN116368833A (zh) * 2020-10-08 2023-06-30 三星电子株式会社 针对边缘计算服务的安全连接的建立和认证的方法和系统
US20220407689A1 (en) * 2021-06-16 2022-12-22 Cisco Technology, Inc. Key sharing for media frames using blockchain
WO2023027756A1 (en) * 2021-08-26 2023-03-02 Hewlett-Packard Development Company, L.P. Secure ledger registration

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150278450A1 (en) * 2012-08-15 2015-10-01 Hewlett-Packard Development Company, Lp Metadata tree with key rotation information
WO2017006136A1 (en) * 2015-07-08 2017-01-12 Barclays Bank Plc Secure digital data operations
US20170046526A1 (en) * 2015-08-13 2017-02-16 TD Bank Group System and Method for Implementing Hybrid Public-Private Block-Chain Ledgers

Family Cites Families (90)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3810813B2 (ja) 1994-03-14 2006-08-16 富士通株式会社 セルフスキャニングposシステム,セルフスキャン式登録端末,セルフスキャン式登録端末用管理装置およびセルフスキャン式登録端末用pos装置
US5607350A (en) 1995-03-21 1997-03-04 Levasseur; Joseph L. Global coin payout method and control apparatus
US7656271B2 (en) 2002-01-09 2010-02-02 I.D. Systems, Inc. System and method for managing a remotely located asset
AU2001243473A1 (en) 2000-03-07 2001-09-17 American Express Travel Related Services Company, Inc. System for facilitating a transaction
ATE552562T1 (de) 2000-11-10 2012-04-15 Aol Musicnow Llc Verteilungs und -abonnementsystem für digitalen inhalt
US20060100965A1 (en) 2004-11-10 2006-05-11 Nokia Corporation Digital content after-market broker system, method, apparatus and computer program
US8584259B2 (en) 2011-12-29 2013-11-12 Chegg, Inc. Digital content distribution and protection
US20170149560A1 (en) 2012-02-02 2017-05-25 Netspective Communications Llc Digital blockchain authentication
US20130219458A1 (en) 2012-02-17 2013-08-22 Vasudevan Ramanathan Methods and systems for secure digital content distribution and analytical reporting
US20160203572A1 (en) 2013-08-21 2016-07-14 Ascribe Gmbh Method to securely establish, affirm, and transfer ownership of artworks
CN105830107A (zh) * 2013-12-19 2016-08-03 维萨国际服务协会 基于云的交易方法和系统
US10497037B2 (en) 2014-03-31 2019-12-03 Monticello Enterprises LLC System and method for managing cryptocurrency payments via the payment request API
US20150302400A1 (en) 2014-04-18 2015-10-22 Ebay Inc. Distributed crypto currency reputation system
US10340038B2 (en) 2014-05-13 2019-07-02 Nant Holdings Ip, Llc Healthcare transaction validation via blockchain, systems and methods
US9608829B2 (en) 2014-07-25 2017-03-28 Blockchain Technologies Corporation System and method for creating a multi-branched blockchain with configurable protocol rules
US9749297B2 (en) 2014-11-12 2017-08-29 Yaron Gvili Manicoding for communication verification
US10230526B2 (en) 2014-12-31 2019-03-12 William Manning Out-of-band validation of domain name system records
EP3257221B1 (en) 2015-02-13 2022-03-09 Yoti Holding Limited Digital identity
US9436923B1 (en) 2015-02-26 2016-09-06 Skuchain, Inc. Tracking unitization occurring in a supply chain
WO2016154001A1 (en) * 2015-03-20 2016-09-29 Rivetz Corp. Automated attestation of device integrity using the block chain
GB2531828A (en) 2015-03-24 2016-05-04 Intelligent Energy Ltd An energy resource network
CN107683488B (zh) 2015-04-05 2023-09-05 数字资产(瑞士)股份有限公司 数字资产中介电子结算平台
SG11201708295XA (en) 2015-04-06 2017-11-29 Bitmark Inc System and method for decentralized title recordation and authentication
KR101628009B1 (ko) 2015-04-20 2016-06-13 주식회사 코인플러그 당사자간 블록체인을 갖는 디지털 가상화폐의 거래시스템
US20160321752A1 (en) 2015-05-01 2016-11-03 Medici, Inc. Digitally Encrypted Securities Platform, Along With Methods And Systems For The Same
EP3292484B1 (en) 2015-05-05 2021-07-07 Ping Identity Corporation Identity management service using a block chain
US10812274B2 (en) 2015-05-07 2020-10-20 Blockstream Corporation Transferring ledger assets between blockchains via pegged sidechains
US10635471B2 (en) 2015-05-15 2020-04-28 Joshua Paul Davis System and method for an autonomous entity
US20160342977A1 (en) 2015-05-20 2016-11-24 Vennd.io Pty Ltd Device, method and system for virtual asset transactions
US10026082B2 (en) 2015-05-21 2018-07-17 Mastercard International Incorporated Method and system for linkage of blockchain-based assets to fiat currency accounts
US10075298B2 (en) 2015-06-02 2018-09-11 ALTR Solutions, Inc. Generation of hash values within a blockchain
US20160379212A1 (en) 2015-06-26 2016-12-29 Intel Corporation System, apparatus and method for performing cryptographic operations in a trusted execution environment
JP6636058B2 (ja) 2015-07-02 2020-01-29 ナスダック, インコーポレイテッドNasdaq, Inc. 分散トランザクションデータベースにおける出所保証のシステムおよび方法
US20170011460A1 (en) 2015-07-09 2017-01-12 Ouisa, LLC Systems and methods for trading, clearing and settling securities transactions using blockchain technology
US20170109735A1 (en) 2015-07-14 2017-04-20 Fmr Llc Computationally Efficient Transfer Processing and Auditing Apparatuses, Methods and Systems
US20170048209A1 (en) 2015-07-14 2017-02-16 Fmr Llc Crypto Key Recovery and Social Aggregating, Fractionally Efficient Transfer Guidance, Conditional Triggered Transaction, Datastructures, Apparatuses, Methods and Systems
WO2017027900A1 (en) 2015-08-14 2017-02-23 Identitii Pty Ltd A computer implemented method for processing a financial transaction and a system therefor
US9680799B2 (en) 2015-09-21 2017-06-13 Bank Of America Corporation Masking and unmasking data over a network
JP6951329B2 (ja) 2015-10-14 2021-10-20 ケンブリッジ ブロックチェーン,エルエルシー デジタルアイデンティティを管理するためのシステム及び方法
EP3362970A4 (en) 2015-10-17 2019-06-26 Banqu, Inc. BLOCKCHAIN-BASED IDENTITY AND TRANSACTION PLATFORM
US20170116693A1 (en) 2015-10-27 2017-04-27 Verimatrix, Inc. Systems and Methods for Decentralizing Commerce and Rights Management for Digital Assets Using a Blockchain Rights Ledger
US11941588B2 (en) 2015-11-06 2024-03-26 Cable Television Laboratories, Inc. Systems and methods for blockchain virtualization and scalability
US20170132615A1 (en) 2015-11-11 2017-05-11 Bank Of America Corporation Block chain alias for person-to-person payments
US10841082B2 (en) 2015-11-24 2020-11-17 Adi BEN-ARI System and method for blockchain smart contract data privacy
WO2017098519A1 (en) 2015-12-08 2017-06-15 Tallysticks Limited A system and method for automated financial transaction validation, processing and settlement using blockchain smart contracts
US10013573B2 (en) 2015-12-16 2018-07-03 International Business Machines Corporation Personal ledger blockchain
US9849364B2 (en) 2016-02-02 2017-12-26 Bao Tran Smart device
EP3411824B1 (en) 2016-02-04 2019-10-30 Nasdaq Technology AB Systems and methods for storing and sharing transactional data using distributed computer systems
US20170236102A1 (en) 2016-02-12 2017-08-17 D+H Usa Corporation Peer-to-Peer Financial Transactions Using A Private Distributed Ledger
US10164952B2 (en) 2016-02-16 2018-12-25 Xerox Corporation Method and system for server based secure auditing for revisioning of electronic document files
US20170250796A1 (en) 2016-02-18 2017-08-31 Gideon Samid Trans Vernam Cryptography: Round One
US20170243193A1 (en) 2016-02-18 2017-08-24 Skuchain, Inc. Hybrid blockchain
CN109643420A (zh) 2016-02-23 2019-04-16 区块链控股有限公司 用于在区块链上有效转移实体的方法和系统
WO2017145047A1 (en) 2016-02-23 2017-08-31 nChain Holdings Limited Blockchain-implemented method for control and distribution of digital content
BR112018016822A2 (pt) 2016-02-23 2018-12-26 Nchain Holdings Ltd método implementado por computador para realizar uma troca de entidades entre um primeiro usuário e um segundo usuário, processador e meio legível por computador
CN107145768B (zh) 2016-03-01 2021-02-12 华为技术有限公司 版权管理方法和系统
US20190109889A1 (en) 2016-03-22 2019-04-11 Novus4 Limited Method and system for controlling data transmission
GB201605032D0 (en) 2016-03-24 2016-05-11 Eitc Holdings Ltd Recording multiple transactions on a peer-to-peer distributed ledger
CN117151853A (zh) 2016-04-11 2023-12-01 区块链控股有限公司 用于区块链上的安全点对点通信的方法
US10720232B2 (en) 2016-04-13 2020-07-21 Accenture Global Solutions Limited Distributed healthcare records management
US20170302663A1 (en) 2016-04-14 2017-10-19 Cisco Technology, Inc. BLOCK CHAIN BASED IoT DEVICE IDENTITY VERIFICATION AND ANOMALY DETECTION
DE102016206916B4 (de) 2016-04-22 2023-07-06 Bundesdruckerei Gmbh Elektronisches Verfahren zur kryptographisch gesicherten Überweisung eines Betrags einer Kryptowährung
US10333705B2 (en) 2016-04-30 2019-06-25 Civic Technologies, Inc. Methods and apparatus for providing attestation of information using a centralized or distributed ledger
US20170322992A1 (en) 2016-05-09 2017-11-09 Comcast Cable Communications, Llc Distributed Data Access Control
US9979718B2 (en) 2016-05-11 2018-05-22 Bank Of America Corporation System for managing security and access to resource sub-components
CN109074433B (zh) 2016-05-13 2023-07-21 区块链控股有限公司 使用分布式散列表和点对点分布式分类账验证数字资产完整性的方法和系统
US10362058B2 (en) 2016-05-13 2019-07-23 Vmware, Inc Secure and scalable data transfer using a hybrid blockchain-based approach
US9785369B1 (en) 2016-05-23 2017-10-10 Accenture Global Solutions Limited Multiple-link blockchain
US9635000B1 (en) 2016-05-25 2017-04-25 Sead Muftic Blockchain identity management system based on public identities ledger
EP3485437B1 (en) 2016-07-18 2024-04-03 Royal Bank Of Canada Distributed ledger platform for vehicle records
CN106130738A (zh) 2016-08-25 2016-11-16 杭州天谷信息科技有限公司 一种支持国密算法的区块链系统
KR101781583B1 (ko) 2016-08-31 2017-09-27 서강대학교산학협력단 블록체인을 기반으로 한 파일 관리/검색 시스템 및 파일 관리/검색 방법
CN106777923A (zh) 2016-11-30 2017-05-31 谭小刚 医院信息监管平台和监管方法
EP3555792B1 (en) 2016-12-15 2023-10-04 Telefonaktiebolaget LM Ericsson (publ) Methods, apparatuses, computer programs, computer program products and systems for sharing content
US10552381B2 (en) 2016-12-16 2020-02-04 International Business Machines Corporation Shared document editing in the blockchain
CN107077682A (zh) 2016-12-23 2017-08-18 深圳前海达闼云端智能科技有限公司 查询电子票的状态信息的方法、装置及区块链节点
CN107070644B (zh) * 2016-12-26 2020-02-28 北京科技大学 一种基于信任网络的去中心化公钥管理方法和管理系统
CN107086909B (zh) 2017-03-07 2021-01-12 创新先进技术有限公司 身份信息的生成方法和装置、身份审核的方法和装置
CN106920169A (zh) 2017-03-07 2017-07-04 中钞信用卡产业发展有限公司北京智能卡技术研究院 一种基于区块链和数字货币的数字票据交易方法及系统
WO2018165155A1 (en) 2017-03-09 2018-09-13 Walmart Apollo, Llc System and methods for three dimensional printing with blockchain controls
US20180294957A1 (en) 2017-04-07 2018-10-11 Walmart Apollo, Llc System for Recording Ownership of Digital Works and Providing Backup Copies
KR101919586B1 (ko) 2017-05-10 2018-11-16 주식회사 코인플러그 블록체인 기반의 사물 인터넷 기기에 대한 비용을 결제하는 방법, 이를 이용한 서버, 서비스 제공 단말, 및 사용자 전자 지갑
KR101919590B1 (ko) 2017-05-10 2019-02-08 주식회사 코인플러그 블록체인 데이터베이스 및 이와 연동하는 머클 트리 구조를 통해 사물 인터넷 기기에 대한 비용을 결제하는 방법, 이를 이용한 서버, 서비스 제공 단말, 및 사용자 전자 지갑
KR20200032086A (ko) 2017-06-01 2020-03-25 쉬비, 인크. 디/비/에이 액소니 안전한 액세스 제한 관리를 통해 분산된 블록 체인 데이터 구조 배포
TWI632507B (zh) 2017-06-03 2018-08-11 蔡政育 實物履歷識別碼之輸出系統
US11556521B2 (en) 2017-09-29 2023-01-17 Oracle International Corporation System and method for providing an interface for a blockchain cloud service
US10361859B2 (en) * 2017-10-06 2019-07-23 Stealthpath, Inc. Methods for internet communication security
US11227284B2 (en) * 2017-12-13 2022-01-18 Mastercard International Incorporated Method and system for consumer-initiated transactions using encrypted tokens
US10715323B2 (en) 2017-12-29 2020-07-14 Ebay Inc. Traceable key block-chain ledger
US10896418B2 (en) 2017-12-29 2021-01-19 Ebay Inc. Secure management of data files using a blockchain

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150278450A1 (en) * 2012-08-15 2015-10-01 Hewlett-Packard Development Company, Lp Metadata tree with key rotation information
WO2017006136A1 (en) * 2015-07-08 2017-01-12 Barclays Bank Plc Secure digital data operations
US20170046526A1 (en) * 2015-08-13 2017-02-16 TD Bank Group System and Method for Implementing Hybrid Public-Private Block-Chain Ledgers

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Giuseppe Athniese 외 3명, Redactable Blockchain - or - Rewriting History in Bitcoin and Friends, Proc. of the 2nd IEEE European Symposium on Security and Privacy - EuroS&P 2017 (2017.04.26.)*

Also Published As

Publication number Publication date
US11108554B2 (en) 2021-08-31
US11956357B2 (en) 2024-04-09
US20220014370A1 (en) 2022-01-13
US11736288B2 (en) 2023-08-22
US20230353357A1 (en) 2023-11-02
US20190207759A1 (en) 2019-07-04
KR20200074219A (ko) 2020-06-24
CN111512591A (zh) 2020-08-07
WO2019133307A1 (en) 2019-07-04
KR20220082099A (ko) 2022-06-16
US10715323B2 (en) 2020-07-14
CN117640057A (zh) 2024-03-01
CN111512591B (zh) 2023-12-01
KR102519327B1 (ko) 2023-04-10
US20200235926A1 (en) 2020-07-23
EP3732817A1 (en) 2020-11-04

Similar Documents

Publication Publication Date Title
KR102406533B1 (ko) 추적가능한 키 블록-체인 원장
US11734681B2 (en) Secure management of data files using a blockchain
US11899783B2 (en) System level function based access control for smart contract execution on a blockchain
US11681551B2 (en) Resource trust model for securing component state data for a resource using blockchains
US20200403809A1 (en) Service request authentication utilizing permissions associated with digital certificates
US20240028711A1 (en) Highly scalable permissioned block chains

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right