KR20200115514A - 디지털 원장을 이용한 프라이버시 관리를 위한 시스템들 및 방법들 - Google Patents
디지털 원장을 이용한 프라이버시 관리를 위한 시스템들 및 방법들 Download PDFInfo
- Publication number
- KR20200115514A KR20200115514A KR1020207021918A KR20207021918A KR20200115514A KR 20200115514 A KR20200115514 A KR 20200115514A KR 1020207021918 A KR1020207021918 A KR 1020207021918A KR 20207021918 A KR20207021918 A KR 20207021918A KR 20200115514 A KR20200115514 A KR 20200115514A
- Authority
- KR
- South Korea
- Prior art keywords
- blockchain
- subscriber
- consumer
- information
- node
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/33—User authentication using certificates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0435—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0442—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic 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/3239—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- H04L2209/38—
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Medical Informatics (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Storage Device Security (AREA)
Abstract
프라이버시 정보를 안전하게 저장하기 위한 시스템이 제공된다. 시스템은 복수의 엔트리를 갖는 소비자 프라이버시 정보를 포함하는 분산 데이터베이스를 유지하도록 구성된 복수의 노드를 포함한다. 분산 데이터베이스 내의 복수의 엔트리 중의 각각의 엔트리는 (i) 소비자 및 분산 데이터베이스에 연관된 고유 암호화 키로 암호화되고, (ⅱ) 소비자에 연관된 공개 암호화 키에 기초하여 인덱싱된다. 소비자에 연관된 가장 최근의 엔트리는 소비자에 관한 현재 개인 정보를 포함한다. 소비자에 연관된 제1 엔트리는 고유 암호화 키의 암호화된 버전을 포함한다.
Description
[관련 출원들에 대한 상호 참조]
본 출원은 2019년 1월 31일자로 출원되고 발명의 명칭이 "협의된 개방 프라이버시 실행 및 활성화 커널[프라이버시 블록체인](NEGOTIATED OPEN PRIVACY EXERCISE AND ENABLEMENT KERNEL[PRIVACY BLOCKCHAIN])"인 미국 특허 가출원 제62/624,519호에 대한 혜택 및 우선권을 주장하며, 그것의 전체 내용 및 개시내용은 전체로서 참조에 의해 여기에 포함된다.
[기술분야]
본 개시내용의 분야는 프라이버시 트랜잭션 관리 시스템에 관한 것으로, 더 구체적으로는 디지털 원장 기술(digital ledger technology)을 사용하여 프라이버시 트랜잭션들을 인증(authenticating), 감사(auditing) 및 기록(logging)하기 위한 시스템들 및 방법들에 관한 것이다.
정부의 조치 및 소비자 요구 둘 다를 통해, 개인 프라이버시 선택들(personal privacy choices)은 첨단 기술 회사들이 소비자들 및 그들의 디바이스들에 관해 수집하는 대량의 개인 정보에 대한 핵심 관문이 되고 있다. 종래의 소비자 데이터-사용 선택들(consumer data-use choices)(예를 들어, 옵트 인/아웃(opt-in/out))은 종종 개별 회사들에 의해 내부적으로 수집, 저장 및 제거되어, 소비자들에게 단편적이고 불투명한 환경을 야기한다.
많은 종래의 전자 디바이스들은 원격통신(예를 들어, 이동 통신 디바이스들), 사물 인터넷(IoT), 온라인 뱅킹, 보안 이메일 및 전자 상거래와 같은 다양한 기술 분야에서 디바이스의 전자 서명을 검증하기 위해 공개 키 기반구조(Public Key Infrastructure)(PKI)를 사용한다. 이러한 종래의 IoT 디바이스들은 하나보다 많은 종래의 에코시스템(예를 들어, OCF(Open Connectivity Foundation), AllSeen/AllJoyn, Nest/Thread, Zigbee 등)에 배치될 수 있으며, 배치가 요구되는 각각의 에코시스템에 대해 디바이스들에 상이한 키가 삽입될 수 있다.
PKI는 데이터를 암호화 및 해독하기 위해 한 쌍의 암호화 키(예를 들어, 하나의 공개 키 및 하나의 개인 키)를 사용한다. 예를 들어, PKI 이용은 디바이스들이 X.509 인증서들을 획득하고 갱신할 수 있게 하며, 그러한 인증서들은 디바이스들 사이에 신뢰를 확립하고 TLS(Transport Layer Security) 등과 같은 프로토콜들을 사용하여 통신들을 암호화하기 위해 사용된다. PKI는 디지털 인증서들의 생성, 관리, 배포, 사용, 저장 및 해지뿐만 아니라, 공개 키들을 암호화하기 위한 정책들 및 절차들을 포함한다. PKI는 전형적으로 신뢰할 수 있는 인증 기관(CA)을 통해, 공개 키들을 개인 또는 법인의 신원에 바인딩한다. PKI 계층은 디바이스 또는 프로그램에 대한 신뢰 체인을 식별하고, 디바이스들에 대한 보안 소프트웨어 다운로드 요건들 및/또는 디바이스 제조업체들에 대한 보안 인증서 주입 요건들을 더 제공할 수 있다. CA, 전자 디바이스들, 및 디바이스의 사용자들은 PKI 에코시스템을 통해 상호작용한다.
다수의 종래의 PKI 메커니즘은 특정 사용 사례들에 대해 도메인 이름 시스템 보안 확장(Domain Name System Security Extensions)(DNSSEC)에 의존한다. 이러한 기존 메커니즘들은 부트스트래핑을 허용하지 않으며, 예를 들어 블록체인과 같은 디지털 또는 분산 원장에서 암호화 방식으로 검증될 수 있는 컨센서스(consensus)를 사용하는 신뢰된 루트 CA 세트의 구축을 가능하게 하지도 않는다. 위에서의 전반적인 종래의 PKI 에코시스템과 마찬가지로, 이러한 종래의 PKI 메커니즘들은 또한 하나 이상의 신뢰할 수 있는 루트 CA를 셋업해야 하므로, 다수의 에코시스템에서 PKI를 구현하는 것이 더 어려워진다는 문제를 겪는다. 따라서, 하나 이상의 루트 CA의 사전 셋업을 요구하지 않고서, PKI 에코시스템 또는 서브시스템에서 구현될 수 있는 PKI 메커니즘을 갖는 것이 바람직하다.
네트워크를 통해 수행되는 대량의 트랜잭션은 안전한 것으로 간주되지 않으며, 종래의 트랜잭션 보안 솔루션들은 극단적으로 복잡할 수 있다. 또한, 현재 안전한 것으로 간주될 수 있는 종래의 트랜잭션 보안 메커니즘은 새로운 악용 기술이 발견됨에 따라 향후 덜 안전한 것으로 간주될 가능성이 높다. 트랜잭션에 대한 하나의 보안이 침해된 경우, 트랜잭션 자체가 손상되었다는 것, 또는 손상이 발생한 시기를 증명하기가 특히 어려울 수 있다.
종래의 블록체인 기술은 트랜잭션 정보를 취하여, 디지털 엔벨로프 또는 "블록"으로 정보를 캡슐화하며, 다음으로, 블록은 다른 트랜잭션들의 체인의 끝에 (암호 체인화 기술을 사용하여) 암호화 방식으로 추가된다. 이러한 암호화 방식의 추가는 체인 상의 이전 블록들로부터의 정보를 통합하여, 이 새로운 블록에 대한 디지털 체인 또는 "해시"를 계산한다. 암호화 방식의 추가를 위한 계산들은 블록체인의 규칙들에 기초하여 복잡성이 크게 달라질 수 있다. 그러나, 이러한 복잡성은 추가되고 있는 기존 블록체인의 수정을 방지하기 위해 의도적이다. 즉, 체인 내의 선행 블록을 수정하기 위해서는, 해당 지점부터 앞으로의 전체 체인이 다시 계산되어야 한다. 이 기술을 통해 체인의 불변성과 그것의 공개 원장의 영구성이 유지된다.
블록체인은 예를 들어 "비트코인"(일반적으로 "암호화 통화"의 형태)으로 알려진 디지털 통화의 핵심 컴포넌트며, 여기서 블록체인은 모든 트랜잭션에 대해 공개 원장을 제공한다. 비트코인 트랜잭션들은 모든 호환가능한 클라이언트가 네트워크에 접속하는 것을 허용하고, 네트워크에 트랜잭션들을 송신하고, 트랜잭션들을 검증하고, 블록체인의 블록들을 생성하기 위해 경쟁하는 것을 허용한다. 그러나, 비트코인 트랜잭션은 클라이언트와 네트워크 사이의 통화의 교환만을 포함한다. 비트코인 트랜잭션들은 두 개별 클라이언트 간의 트랜잭션들 및 협상들을 직접 수반하지 않으며, 비트코인 클라이언트들은 통화 가치 자체를 넘어서 콘텐츠를 전송하지 않는다. 한편, 반드시 금융적인 것은 아닌 상이한 트랜잭션 콘텐츠의 고객들 및 사용자들은 미디어 서비스들에 대한 액세스를 서로 간에 점점 더 많이 공유하고 있다.
GDPR(General Data Protection Regulation)은 2018년 5월 25일부터 시행되었다. GDPR 규정들 중 하나는 광고주들에게 상이한 레벨들, 상이한 시간들 및 상이한 장소들에서 옵트 인 및 아웃을 추적할 것을 요구한다. 그러나, 집행 기관들은 소비자 옵트 인 선택들을 추적하는 네트워크 운영자의 자체 데이터베이스에 대한 신뢰가 부족함을 나타냈다. 또한, 이러한 GDPR 규정의 위반에 대한 처벌은 전세계 수익의 최대 4%일 수 있다. 추가로, 많은 회사들은 개별 소비자가 소비자 자신의 옵트 인/옵트 아웃 선택을 회사 자체에 직접 제공해야 한다고 요구하므로, 이는 일반적으로 소비자가 옵트 인/아웃 요청들에 대해 응답하거나 응답할 위치를 찾는 데 상당량의 시간을 소비할 것을 요구한다. 따라서, 시스템은 소비자들의 옵트 인 및 옵트 아웃을 독립적으로 그리고 중앙에서 추적할 필요가 있다.
실시예에서, 프라이버시 정보를 안전하게 저장하기 위한 시스템이 제공된다. 시스템은 복수의 엔트리를 갖는 소비자 프라이버시 정보를 포함하는 분산 데이터베이스를 유지하도록 구성된 복수의 노드를 포함한다. 분산 데이터베이스 내의 복수의 엔트리 중의 각각의 엔트리는 (i) 소비자 및 분산 데이터베이스에 연관된 고유 암호화 키로 암호화되고, (ⅱ) 소비자에 연관된 공개 암호화 키에 기초하여 인덱싱된다. 소비자에 연관된 최신 엔트리는 소비자에 관한 현재 개인 정보를 포함한다. 소비자에 연관된 제1 엔트리는 고유 암호화 키의 암호화된 버전을 포함한다.
본 개시내용의 이들 및 다른 특징들, 양태들 및 이점들은 이하의 상세한 설명을 이하의 첨부 도면을 참조하여 읽을 때 더 잘 이해될 것이고, 이하의 첨부 도면들에서 유사한 문자들은 도면 전체에 걸쳐 유사한 부분들을 나타낸다.
도 1은 실시예에 따른, 복수의 블록체인 노드를 사용하는 프라이버시 트랜잭션 관리 시스템의 개략도이다.
도 2는 실시예에 따른, 도 1에 도시된 프라이버시 트랜잭션 관리 시스템 내의 블록체인 노드들 중 하나 이상에 접속하기 위한, 접속된 사용자 컴퓨터 디바이스의 개략도이다.
도 3은 도 1의 프라이버시 트랜잭션 관리 시스템에 도시된 블록체인 노드의 개략도이다.
도 4는 도 1에 도시된 프라이버시 트랜잭션 관리 시스템을 사용하는 도 3에 도시된 블록체인 노드의 보안 실행 환경의 개략도이다.
도 5는 도 1에 도시된 프라이버시 트랜잭션 관리 시스템을 사용하기 위한 가입자 사전 등록 프로세스의 데이터 흐름도이다.
도 6은 가입자가 도 1에 도시된 프라이버시 트랜잭션 관리 시스템을 사용하여 블록체인에 등록하는 프로세스의 데이터 흐름도이다.
도 7은 가입자가 도 1에 도시된 프라이버시 트랜잭션 관리 시스템을 사용하여 블록체인으로부터 정보를 검색하는 프로세스의 데이터 흐름도이다.
도 8은 가입자가 도 1에 도시된 프라이버시 트랜잭션 관리 시스템을 사용하여 블록체인에 데이터를 첨부하는 프로세스의 데이터 흐름도이다.
달리 지시되지 않는 한, 본 개시내용에 제공된 도면은 본 개시내용의 실시예들의 특징을 설명하기 위한 것이다. 이러한 특징들은 본 개시내용의 하나 이상의 실시예를 포함하는 다양한 시스템에 적용가능한 것으로 여겨진다. 이와 같이, 도면들은 본 명세서에 개시된 실시예들의 실시를 위해 요구되는 본 기술분야의 통상의 기술자에게 공지된 모든 종래의 특징들을 포함하도록 의도된 것은 아니다.
도 1은 실시예에 따른, 복수의 블록체인 노드를 사용하는 프라이버시 트랜잭션 관리 시스템의 개략도이다.
도 2는 실시예에 따른, 도 1에 도시된 프라이버시 트랜잭션 관리 시스템 내의 블록체인 노드들 중 하나 이상에 접속하기 위한, 접속된 사용자 컴퓨터 디바이스의 개략도이다.
도 3은 도 1의 프라이버시 트랜잭션 관리 시스템에 도시된 블록체인 노드의 개략도이다.
도 4는 도 1에 도시된 프라이버시 트랜잭션 관리 시스템을 사용하는 도 3에 도시된 블록체인 노드의 보안 실행 환경의 개략도이다.
도 5는 도 1에 도시된 프라이버시 트랜잭션 관리 시스템을 사용하기 위한 가입자 사전 등록 프로세스의 데이터 흐름도이다.
도 6은 가입자가 도 1에 도시된 프라이버시 트랜잭션 관리 시스템을 사용하여 블록체인에 등록하는 프로세스의 데이터 흐름도이다.
도 7은 가입자가 도 1에 도시된 프라이버시 트랜잭션 관리 시스템을 사용하여 블록체인으로부터 정보를 검색하는 프로세스의 데이터 흐름도이다.
도 8은 가입자가 도 1에 도시된 프라이버시 트랜잭션 관리 시스템을 사용하여 블록체인에 데이터를 첨부하는 프로세스의 데이터 흐름도이다.
달리 지시되지 않는 한, 본 개시내용에 제공된 도면은 본 개시내용의 실시예들의 특징을 설명하기 위한 것이다. 이러한 특징들은 본 개시내용의 하나 이상의 실시예를 포함하는 다양한 시스템에 적용가능한 것으로 여겨진다. 이와 같이, 도면들은 본 명세서에 개시된 실시예들의 실시를 위해 요구되는 본 기술분야의 통상의 기술자에게 공지된 모든 종래의 특징들을 포함하도록 의도된 것은 아니다.
이하의 명세서 및 청구항들에서, 다수의 용어가 참조될 것이며, 이는 다음의 의미를 갖도록 정의될 것이다.
단수 형태("a", "an", 및 "the")는 문맥상 명백하게 다르게 지시되지 않는 한, 복수의 참조를 포함한다.
"임의적(optional)" 또는 "임의적으로(optionally)"는 이후에 설명되는 이벤트 또는 상황이 발생하거나 발생하지 않을 수 있으며, 설명은 이벤트가 발생하는 경우 및 발생하지 않는 경우를 포함한다는 것을 의미한다.
본 명세서에서 추가로 사용될 때, "CA"는 루트 인증서를 호스팅하는 인증 기관을 지칭할 수 있고, CA 컴퓨터 시스템, CA 서버, CA 웹페이지 및 CA 웹 서비스 중 하나 이상을 더 포함할 수 있지만, 이에 제한되지는 않는다.
본 명세서 및 청구항들 전체에 걸쳐 사용되는 근사적 표현(approximating language)은 관련된 기본 기능의 변경을 초래하지 않으면서 허용가능하게 변할 수 있는 임의의 정량적 표현을 수정하기 위해 적용될 수 있다. 따라서, "약", "대략"및 "실질적으로"와 같은 용어 또는 용어들에 의해 수정된 값은 명시된 정확한 값으로 제한되지 않아야 한다. 적어도 일부 경우들에서, 근사적 표현은 값을 측정하기 위한 기기의 정밀도에 대응할 수 있다. 여기 및 본 명세서 및 청구항들 전체에 걸쳐, 범위 제한들은 결합 및/또는 교환될 수 있으며; 문맥 또는 언어가 달리 지시하지 않는 한, 그러한 범위들은 식별되고 포함된 모든 하위범위들을 포함한다.
본 명세서에서 사용될 때, 용어 "프로세서" 및 "컴퓨터" 및 관련 용어, 예를 들어 "처리 디바이스", "컴퓨팅 디바이스", 및 "제어기"는 본 기술분야에서 컴퓨터로서 지칭되는 집적 회로들만으로 제한되는 것이 아니라, 마이크로컨트롤러, 마이크로컴퓨터, 프로그래밍가능한 로직 제어기(programmable logic controller)(PLC), 주문형 집적 회로(application specific integrated circuit)(ASIC) 및 다른 프로그래밍가능한 회로를 넓게 지칭하며, 이러한 용어들은 본 명세서에서 상호교환가능하게 사용된다. 본 명세서에 설명된 실시예들에서, 메모리는 랜덤 액세스 메모리(RAM)와 같은 컴퓨터 판독가능한 매체, 및 플래시 메모리와 같은 컴퓨터 판독가능한 비휘발성 매체를 포함할 수 있지만, 이에 제한되지는 않는다. 대안적으로, 플로피 디스크, 컴팩트 디스크 판독 전용 메모리(CD-ROM), 광자기 디스크(MOD) 및/또는 디지털 다목적 디스크(DVD)도 사용될 수 있다. 또한, 본 명세서에 설명된 실시예들에서, 추가 입력 채널들은 마우스 및 키보드와 같은 조작자 인터페이스에 연관된 컴퓨터 주변장치들일 수 있지만 이에 제한되지는 않는다. 대안적으로, 예를 들어 스캐너를 포함할 수 있지만 이에 제한되지 않는 다른 컴퓨터 주변장치들이 또한 사용될 수 있다. 또한, 예시적인 실시예에서, 추가 출력 채널들은 조작자 인터페이스 모니터를 포함할 수 있지만, 이에 제한되지는 않는다.
또한, 본 명세서에서 사용될 때, 용어 "소프트웨어" 및 "펌웨어"는 상호 교환가능하며, 개인용 컴퓨터, 워크스테이션, 클라이언트 및 서버에 의한 실행을 위한 메모리 내의 컴퓨터 프로그램 스토리지를 포함한다.
본 명세서에서 사용될 때, "비-일시적 컴퓨터 판독가능한 매체"라는 용어는 임의의 디바이스 내에서의 컴퓨터 판독가능한 명령어, 데이터 구조, 프로그램 모듈 및 서브 모듈, 또는 다른 데이터와 같은 정보의 단기 및 장기 저장을 위한 임의의 방법 또는 기술로 구현되는 임의의 실체있는(tangible) 컴퓨터 기반 디바이스를 표현하는 것으로 의도된다. 그러므로, 본 명세서에 설명된 방법들은 저장 디바이스 및 메모리 디바이스를 포함하지만 이에 제한되지 않는 실체있는 비-일시적 컴퓨터 판독가능한 매체에 구현된 실행가능한 명령어들로서 인코딩될 수 있다. 이러한 명령어들은 프로세서에 의해 실행될 때, 프로세서로 하여금 본 명세서에 설명된 방법들의 적어도 일부를 수행하게 한다. 또한, 본 명세서에서 사용될 때, 용어 "비-일시적 컴퓨터 판독가능한 매체"는 일시적인 전파 신호를 유일하게 제외하고서, 펌웨어, 물리적 및 가상 스토리지, CD-ROM, DVD, 및 네트워크 또는 인터넷과 같은 임의의 다른 디지털 소스는 물론, 앞으로 개발될 디지털 수단과 같은 이동식 및 비-이동식 매체 및 휘발성 및 비-휘발성 매체를 포함하지만 이에 제한되지 않는 비-일시적 컴퓨터 저장 디바이스를 포함하지만 이에 제한되지 않는 모든 실체있는 컴퓨터 판독가능한 매체를 포함한다.
또한, 본 명세서에서 사용될 때, 용어 "실시간"은 연관된 이벤트들의 발생 시간, 미리 결정된 데이터의 측정 및 수집 시간, 컴퓨팅 디바이스(예를 들어, 프로세서)가 데이터를 처리할 시간, 및 이벤트들 및 환경에 대한 시스템 응답 시간 중 적어도 하나를 지칭한다. 본 명세서에 설명된 실시예에서, 이러한 활동들 및 이벤트들은 실질적으로 순간적으로 발생한다.
본 시스템들 및 방법들의 예시적인 실시예들에서, X.509 신뢰 모델이 이용되며, 여기서 신뢰할 수 있는 제3자 CA가 디지털 인증서들에 서명하는 것을 담당한다. 따라서, 본 명세서에 설명된 바와 같이, CA는 대응하는 개인 키들뿐만 아니라 하나 이상의 신뢰할 수 있는 루트 인증서(또는 중간 인증서)를 저장하는 능력을 갖는 것으로 추정될 수 있다. CA는 추가로, 발행된 인증서들의 유효성에 관한 최신 해지 정보를 유지할 책임이 있을 수 있으며, 예를 들어 OCSP(Online Certificate Status Protocol)를 통해 다른 당사자들에게 정보를 제공할 것이다. 일부 실시예들에서, CA는 CRL(Certificate Revocation List)에 따라 정보를 제공할 수 있다. OCSP는 X.509 디지털 인증서의 해지 상태를 획득하기 위한 인터넷 프로토콜이며, 일반적으로 CRL에 대한 대안으로서 고려된다. OCSP 메시지들은 예를 들어 HTTP(Hypertext Transfer Protocol)를 통한 ASN.1(Abstract Syntax Notation One) 인코딩에 의해 CA 서버(또는 OCSP 서버)의 OCSP 응답자들로부터 및 그러한 응답자들에게 전달될 수 있다.
예시적인 동작에서, CA는 PKI 인증서들 및 공개 키들을 운영 체제 내의 엔티티들, 애플리케이션들 또는 디바이스들에 발행한다. CA는 이러한 다양한 참여자들로부터 요청 메시지들을 수신하고, 대응하는 인증서(예를 들어, CA의 신뢰할 수 있는 데이터베이스에 저장됨)의 해지 상태를 확인한다. 다음으로, CA는 해지 상태를 나타내는 응답 메시지(예를 들어, "유효함", "해지됨", "알 수 없음" 등, 또는 요청 메시지가 처리되지 못할 경우의 오류 메시지)를 전송한다. 예시적인 실시예에서, CA는 공개/개인 키 쌍의 발행을 생성 또는 기록한다. 일부 실시예들에서, CA는 임의적으로 키 쌍들에 연관된 인증서들을 추가로 생성/기록한다. 생성된 키들은 단일 키 쌍, 단일 에코시스템을 위한 복수의 키 쌍, 또는 상이한 에코시스템들에 대한 복수의 키 쌍에 대한 것일 수 있다.
본 명세서의 본 시스템들 및 방법들은 유리하게는 소비자 정보의 프라이버시를 관리 및 보안하기 위해 분산 원장들을 이용한다. 본 명세서에 기술되고 예시된 분산 원장들은 예를 들어 디지털 원장들을 생성하기 위한 블록체인 기술을 포함할 수 있다. 설명의 편의를 위해, 이하의 설명은 분산 원장 기술의 예시적인 실시예들로서 "블록체인" 또는 "블록체인들"을 참조한다. 그러나, 본 기술분야의 통상의 기술자는 본 설명 및 연관된 예시들을 읽고 이해할 때, 분산 원장 기술들의 다른 예들이 본 명세서의 신규하고 유리한 원리들에 따라 구현될 수 있음을 이해할 것이다.
즉, 이하의 개시내용에서, "분산 원장" 및 "블록체인"이라는 문구들이 사용된다. 종래의 실무 문헌에서, 이러한 두 가지 개념은 종종 동의어로 간주된다. 그러나, 본 출원에서, 두 가지 개념은 그들 각각의 사용 및 구현 측면에서 더 상이 할 수 있다. 예를 들어, 일부 경우들에서, "분산 원장"이라는 문구는 원장 또는 블록체인이 어떻게 사용되는지, 즉 컨센서스 풀(consensus pool) 사이에 분산된 것으로 인해 트랜잭션의 사실들을 증명하기 위해 이용가능한 것으로서의 액세스가능한 분산 원장을 참조할 수 있다. 반면에, "블록체인"은 분산 원장이 생성되고 운영되게 하는 프로세스를 지칭할 수 있다. 예를 들어, 블록체인이 분산 원장을 생성할 수 있지만, 분산 원장은 다른 기술들에 의해서도 생성될 수 있다. 이하의 설명에서, "디지털 원장"이라는 문구는 분산 원장 및 블록체인 중 하나 또는 둘 다를 지칭할 수 있고, 설명의 편의를 위해 "블록체인"에 대한 언급들은 불변 원장 기술의 대표적인 예를 나타내도록 의도되는 것이며, 블록체인 실시예에만 한정되도록 의도되는 것은 아니다.
본 발명의 해법들은 종종 신뢰할 수 있는 라벨들을 사용하여 데이터베이스들 또는 다른 기록 유지 메커니즘들에 이벤트들을 기록하는 신뢰할 수 있는 당사자들에 의존하는, 독립형 시스템들로서, 또는 종래의 시스템에 대한 보완 시스템들 또는 서브시스템들로서 유리하게 구현될 수 있다.
본 명세서의 실시예들에 따르면, 디지털 원장들은 안전하고 불변인 트랜잭션 기록들을 생성하도록 구현된다. 이러한 기록들에서, 트랜잭션 정보는 암호화 기술을 사용하여 디지털 서명되며 분산 원장 네트워크의 프로세서들의 네트워크에 제출되는 형식들로 인코딩된다. 이러한 프로세서들은 제출된 트랜잭션들의 정확성을 검증하고, 후속하여, 검증된 트랜잭션들은 불변 원장의 대기열 또는 스택에 추가된다. 소정 시점에서, 미리 결정된 기준(예를 들어, 제한되는 것은 아니지만, 시간 간격, 데이터 용량, 트랜잭션 수, 또는 이들 및 다른 요인들의 조합)에 따라, 대기열 또는 스택에 추가된 트랜잭션들은 (예를 들어, 머클(Merkle) 프로세스를 사용하여) 순차적으로 해시되고, (예를 들어, 블록체인의 경우) 블록으로 집합적으로 인코딩되며, 다음으로, 암호화 프로세스를 사용하여 진행 블록의 해시로 해시된다. 알고리즘은 복수의 프로세서가 다수의 프로세서 중에서의 블록을 블록체인에 추가될 블록으로 선택하는 것을 허용할 수 있다.
예시적인 실시예들에서, 디지털 원장은 블록체인이다. 디지털 원장들 및 블록체인 기술의 예시적인 시스템들 및 방법들은 공동 계류 중인 2016년 11월 7일자로 출원된 미국 특허 출원 제15/345,411호, 2016년 12월 12일자로 출원된 미국 특허 출원 제15/376,375호, 2017년 3월 31일자로 출원된 미국 특허 출원 제15/476,111호, 및 2017년 3월 31일자로 출원된 미국 특허 출원 제15/476,098호에 더 상세하게 설명되어 있으며, 이들 모두는 본 명세서에 참조로 포함된다.
본 시스템들 및 방법들에 따르면, 디지털 원장 기술들은 소비자들로부터의 정보 및 트랜잭션들을 더 안전하게 하기 위해 이용될 수 있다. 본 명세서에 설명된 원리들은 당사자들 사이의 단순한 통화 트랜잭션들 또는 협상들(예를 들어, 비트코인) 및/또는 비금융 소비자 정보 또는 콘텐츠에 일반적으로 적용가능할 수 있다. 즉, 개인적인 소비자 정보는 본 실시예들이 유리하게 사용될 수 있는 "통화"로서 고려될 수 있다. 이러한 논의를 목적으로, 이러한 비금융 콘텐츠는 스마트 계약(smart contract) 공유 미디어, 소프트웨어, 저작권이 있는 저작물, 라이센스, 보안 자격증명, 및 엄격하게 통화만은 아닌 다른 형태의 양도가능한 콘텐츠를 포함하지만 이에 제한되지 않는다. 이러한 정보는 때로는 "라이센스가 부여된 콘텐츠(licensed-burdened content)", "가치있는 계루된 콘텐츠(valuable encumbered content)" 또는 "통화로서의 콘텐츠(Content as Currency)(CAC)"라고도 지칭된다.
위에서 설명된 바와 같이, 블록체인은 암호화 기술을 이용하여 트랜잭션들의 디지털 원장들을 생성한다. 본 명세서에 설명된 시스템들 및 방법들에 따르면, CAC 트랜잭션에 대한 블록체인들의 적용은 네트워크들을 통한 정보/트랜잭션들의 보안을 증가시킬 것을 원하거나 그렇게 하도록 요구되는 회사들에 광범위하게 적용가능하다. CAC 정보에 더하여, 본 실시예들은 스마트 계약; 향상된 콘텐츠 보호; 디지털 권한 관리(DRM); 보안 이미징; 분산 서비스 거부(DDoS) 완화 및/또는 공격; 확장가능한 사물 인터넷(IoT) 보안 솔루션; 공급망 무결성; 디바이스 등록, 향상된 DRM 및 DOCSIS(Data over Cable Service Interface Specification) 보안; 향상된 콘텐츠 보호; 접속성 협상; 동적 서비스 생성 또는 프로비저닝; 서비스 인증; 가상화 오케스트레이션; 및 청구 변환(billing transformation)을 포함하지만 그에 제한되지 않는 영역들에서 프라이버시 보안을 더 상당히 증가시킬 것이다.
본 명세서에 설명된 실시예들은 보안 환경으로 통신하는 개별 사용자 또는 디바이스의 프라이버시를 모니터링 및 유지하기 위한 시스템들 및 방법들을 제공한다.
예시적인 실시예에서, 프라이버시 트랜잭션 관리 시스템은 소비자들이 광고들 및 다른 제안들을 옵트 인 및 옵트 아웃하도록 허용한다. 프라이버시 트랜잭션 관리 시스템은 소비자 정보 및 옵트 인/아웃 결정의 보안 데이터베이스를 유지하는 보호 인터페이스 또는 "미드박스"의 역할을 한다. 프라이버시 트랜잭션 관리 시스템은 소비자로부터 소비자 정보를 직접 수신하고 그 정보를 안전하게 저장한다. 예시적인 실시예에서, 프라이버시 트랜잭션 관리 시스템은 정보를 불변 원장 구조로 저장하고, 정보는 공개/개인 키 암호화를 사용하여 암호화될 수 있다. 예를 들어, 정보는 소비자의 공개/개인 키 쌍, 및 또한 개별 트랜잭션에 연관된 키 쌍에 의해 암호화될 수 있다. 다른 실시예들에서, 정보는 다른 분산 원장들 또는 데이터베이스들(예를 들어, 블록체인)에 저장된다.
본 프라이버시 트랜잭션 관리 시스템은 유리하게 소비자들이 옵트 인하고, 그들의 데이터를 검토하며, 소비자가 옵트 아웃하도록 허용하는 것을 포함하여 그들의 데이터를 변경할 수 있게 하기 위해 등록하는 것을 허용한다. 다음으로, 프라이버시 트랜잭션 관리 시스템은 광고주들과 인터페이스하여, 옵트 인한 소비자들에 대한 정보를 광고주들에게 제공할 수 있다. 유리하게도, 소비자는 알려지거나 알려지지 않은 광고주들과 직접 통신할 필요가 없게 되며; 본 시스템은 개별 소비자와, 소비자의 개인 데이터에 대한 액세스를 원하는 수많은 잠재적 광고주들 및 다른 엔티티들 사이의 단일 인터페이스 지점으로서 기능하는 역할을 한다.
이하의 실시예들에서, "블록체인"은 블록들로 알려진, 정렬된 기록들의 계속 증가하는 목록을 유지할 수 있는 분산 데이터베이스를 지칭한다. 각각의 블록은 체인 내의 이전 블록에 대한 링크 및 타임스탬프를 적어도 포함할 수 있다. 이전 블록에 대한 링크는 이전 블록의 해시일 수 있다. 소비자 정보를 저장하기 위해, 제1 블록은 제1 소비자에 대한 개인 정보를 포함할 수 있다. 제2 블록은 제2 소비자에 대한 개인 정보를 저장할 수 있다. 제2 블록은 제1 블록의 해시 사본을 또한 포함할 수 있다. 제3 블록은 제1 소비자에 대한 옵트 인/옵트 아웃 선택들에 대한 변경들 또는 업데이트들을 포함할 수 있다. 이것은 블록체인 내의 이전 블록들의 해시를 포함하면서 각각의 블록이 다음에 추가되는 식으로 계속된다.
블록체인에 포함된 정보의 보안을 보장하기 위해, 블록체인의 사본들은 노드들로 알려진 복수의 컴퓨터 디바이스에 걸쳐 분산될 수 있다. 이러한 노드들은 블록체인을 유지하고, 변경이 발생할 때 블록체인을 업데이트하며, 블록체인 자체의 안정성을 보장한다. 일부 실시예들에서, 노드들은 또한 이전 블록들의 해시를 계산하기 위해 사용될 수 있다. 블록체인이 커짐에 따라 이전 블록들의 해시를 계산하는 데 필요한 처리 능력도 커진다. 이러한 실시예들에서, 해시의 처리는 처리 속도를 향상시키고/시키거나 해싱 프로세서에 과도한 부담을 주지 않기 위해 복수의 컴퓨터 디바이스에 걸쳐 분산될 수 있다. 노드가 블록을 처리(해싱)할 때, 그 노드는 마이너(miner)라고 알려지며, 블록을 검증하고 해싱하는 동작은 마이닝이라고도 알려진다.
추가로, 승인된 블록체인은 사용자가 블록체인의 데이터를 판독하도록 승인받을 것을 요구한다. 일부 실시예들에서, 노드는 블록체인 데이터에 액세스하도록 승인을 받았다. 요청자 컴퓨터 디바이스가 데이터에 대한 액세스를 요청할 때, 노드는 데이터에 대한 액세스를 부여하기 전에 요청자를 인증한다. 일부 실시예들에서, 노드는 요청자에게 블록체인 자체에 직접 액세스할 권한을 제공하지 않고서 블록체인으로부터 관련 소비자 데이터를 판독한다.
도 1은 복수의 블록체인 노드(105)를 사용하는 프라이버시 트랜잭션 관리 시스템(100)의 개략도이다. 예시적인 실시예에서, 각각의 블록체인 노드(105)는 메모리 디바이스(112), 처리 디바이스(112), 키 데이터베이스(114), 신뢰 저장소(trust store)(116) 및 스마트 계약(120)을 갖는 보안 실행 환경(110); 통신 인터페이스(130); 노드 통신 요소(142) 및 계류 중 트랜잭션 요소(144)를 갖는 블록체인 처리 시스템(140); 블록체인(150)(즉, 디지털 원장); 및 암호화된 오프-체인 스토리지(encrypted off-chain storage)(160) 중 하나 이상을 포함한다. 일부 실시예들에서, 시스템(100)은 PKI 서브시스템(170), 적어도 하나의 접속된 장비(180), 로드 밸런서(185) 및 애플리케이션 프로그래밍 인터페이스(application programming interface)(API)(190) 중 하나 이상을 더 포함한다.
예시적인 실시예에서, 프라이버시 트랜잭션 관리 시스템(100)은 소비자 정보에 관심이 있는 다양한 광고주들 및 다른 엔티티들에 독립적인 중앙 리포지토리(central repository)로서 기능한다. 일부 실시예들에서, 프라이버시 트랜잭션 관리 시스템(100)은 복수의 인터넷 서비스 제공자(ISP)에 연관된다. 다른 실시예들에서, 프라이버시 트랜잭션 관리 시스템(100)은 다른 제3자에 연관된다.
예시적인 실시예에서, 프라이버시 트랜잭션 관리 시스템(100)은 복수의 블록체인 노드(105a, 105b 및 105c)를 포함한다. 일부 실시예들에서, 각각의 블록체인 노드(105a, 105b 및 105c)는 상이한 ISP에 연관되며, 여기서 대응하는 ISP는 노드를 유지한다. 다른 실시예들에서, 각각의 ISP는 복수의 블록체인 노드(105)를 유지할 수 있다. 각각의 블록체인 노드(105a, 105b 및 105c)는 블록체인(150a, 150b 및 150c)의 사본을 저장한다. 다양한 노드들(105a, 105b 및 105c)은 블록체인에 추가 블록들을 추가하고 공통 체인을 유지하기 위해 함께 작동한다. 예시적인 실시예에서, 블록체인(150)은 승인된 개인 블록체인이며, 여기서 블록체인에 액세스하도록 허용되는 것들만이 블록들을 추가하거나 데이터를 판독할 수 있다. 이러한 실시예에서, 블록체인 상의 데이터는 또한 복호화 키(들)를 가진 것들만이 블록체인(150) 상의 데이터를 판독할 수 있도록 암호화된다.
예시적인 실시예에서, 블록체인 노드(105a)는 보안 실행 환경(110a), 블록체인 처리 시스템(140a) 및 블록체인(150a)의 사본을 포함한다. 일부 실시예들에서, 블록체인 노드(105a)는 비-노드 컴퓨터 디바이스들 및 암호화된 오프-체인 스토리지(160a)와 통신하기 위한 통신 인터페이스(130a)를 임의적으로 포함할 수 있다.
예시적인 동작에서, 블록체인 처리 시스템(140a)은 다른 블록체인 처리 시스템들(140b 및 140c)과 통신하여, 어느 트랜잭션들이 블록들에 추가되는지를 조정하고 블록체인(150)에 대한 블록들을 생성한다. 추가의 예시적인 동작에서, 블록체인 처리 시스템(140a)은 노드 통신 요소(142a)를 이용하여, 다른 블록체인 처리 시스템들(140b 및 140c)과 통신한다. 예시적인 실시예에서, 블록체인 처리 시스템(140a)은 블록에 추가되지 않은 계류 중인 트랜잭션들을 저장하도록 구성된 임의적 계류 중 트랜잭션 요소(144a)를 포함한다. 일부 실시예들에서, 새로운 블록은 미리 결정된 기간 후에 블록체인(150)에 추가된다. 다른 실시예들에서, 새로운 블록은 미리 결정된 수의 트랜잭션이 블록에 추가될 준비가 된 후에 추가된다.
예시적인 실시예에서, 보안 실행 환경(110a)은 적어도 하나의 메모리 디바이스(112a), 적어도 하나의 처리 디바이스(118a), 키 데이터베이스(114a), 신뢰 저장소(116a) 및 스마트 계약(120a)을 더 포함한다. 예시적인 실시예에서, 보안 실행 환경(110a)은 인가되지 않은 개인들에 의한 수정을 방지하기 위해 서명된 펌웨어 및 소프트웨어를 포함한다. 실시예에서, 키 데이터베이스(114a)는 암호화 키들의 데이터베이스를 나타낸다. 신뢰 저장소(116a)는 아래에 더 설명되는 바와 같이 루트 인증 기관 및 서명 노드 기관과 같은 하나 이상의 서명 기관과의 신뢰를 증명하기 위해 인증서를 저장한다. 예시적인 실시예에서, 신뢰 저장소(116a)는 블록체인 노드(105a)와 통신하도록 인가된 다른 블록체인 노드들(105b 및 105c)의 인증서들을 저장한다. 신뢰 저장소(116a)는 또한 블록체인(150a)의 데이터에 액세스하도록 인가된 광고주들 및 다른 개인들의 인증서들을 저장한다. 예시적인 실시예에서, 키 데이터베이스(114a)는 블록체인(150)의 개인 키, 다른 블록체인 노드들(105b 및 105c)에 연관된 암호화 키들, 및 광고주들 및 다른 개인들에 연관된 암호화 키들을 저장한다.
본 명세서에 설명된 바와 같이, 스마트 계약(120a)은 본 명세서에 설명된 처리를 허용하는 서명된 로직의 컬렉션을 포함한다. 본 기술분야의 통상의 기술자는 "스마트 계약"이라는 문구가 설명의 편의를 위해 본 명세서에서 예로서 정의되지만 제한으로 의도된 것은 아님을 이해할 것이다. 즉, 이 예에서 소비자는 옵트 인 선택들에서, 특정 개인들만이 특정 기간 동안 자신의 정보에 액세스할 수 있다고 명시할 수 있다. 로직은 액세스 권한들이 만료되지 않았음을 보장하기 위해 점검할 수 있다. "스마트 계약"에 포함된 로직은 본 명세서에 설명된 다른 점검들 및 프로세스들을 수행할 수 있다. 다른 예에서, 가입자는 그들의 스트리밍 정보에 대한 액세스를 제한하였고, 여기서 그들은 자신의 영화 스트리밍 시청 정보는 공유하지만 자신의 텔레비전 쇼 스트리밍 시청 정보는 공유하지 않으려고 할 것이다. "스마트 계약"이라는 문구는 더 일반적으로 사용되므로, 스마트 계약들의 이러한 예는 "스마트 계약"의 일례를 나타낼 뿐이다.
일부 예시적인 동작에서, 프라이버시 트랜잭션 관리 시스템(100)은 블록체인 노드들(105a, 105b 및 105c)로부터의 데이터에 액세스하기 위해 API(190)를 이용한다. 이러한 경우들에서, API(190)는 사용자가 블록체인(150) 상의 데이터에 액세스하는 것을 허용하기 위해, 접속된 장비(180)에 의해 실행될 수 있다. 접속된 장비(180)는 클라이언트 컴퓨팅 디바이스(예를 들어, 스마트폰, 태블릿, 랩탑, 데스크탑 컴퓨팅 디바이스, 웨어러블, 또는 다른 컴퓨팅 디바이스), 또는 시스템이 본 명세서에 설명된 바와 같이 작동할 수 있게 하는 다른 유형의 디바이스를 포함할 수 있지만 이에 제한되지는 않는다. 사용자는 자신에 관한 정보를 추가, 검토 또는 업데이트하려는 소비자일 수 있다. 사용자는 또한 옵트 인한 소비자들에 관한 정보를 찾는 광고주일 수 있다. 그러한 경우들에서, 프라이버시 트랜잭션 관리 시스템(100)은 또한 어느 블록체인 노드(105a, 105b 또는 105c)가 API(190) 및 접속된 장비(180)와 통신해야 하는지를 결정하도록 구성될 수 있는 임의적 로드 밸런서(185)를 포함할 수 있다. 일부 실시예들에서, 로드 밸런서(185)는 지리적 거리, 처리 로드, 요청된 트랜잭션, 미리 결정된 규칙들, 또는 시스템이 본 명세서에 설명된 바와 같이 작동하도록 허용하는 임의의 다른 근거에 기초하여 적절한 블록체인 노드(105)를 결정한다.
일부 실시예들에서, 각각의 블록체인 노드(105)는 또한 블록체인 노드(105)와 임의의 비-노드 컴퓨터 디바이스들 사이의 통신을 위해 통신 인터페이스(130)를 이용한다. 이러한 실시예에서, 통신 인터페이스(130a)는 블록체인 노드(105a)가 액세스될 때 API(190)와 통신한다. 일부 실시예들에서, 광고주가 API(190)를 사용하여 옵트 인한 소비자들의 목록을 요청할 때, 광고주는 블록체인(150) 자체에의 액세스 권한은 제공받지 않는다. 대신에, 통신 인터페이스(130a)는 소비자들의 목록 및 그들의 연관된 정보에 대한 요청을 수신한다. 보안 실행 환경(110) 및 블록체인 처리 시스템(140)은 요청된 데이터를 검색하기 위해 블록체인(150)에 액세스한다. 블록체인 처리 시스템(140)은 또한 암호화된 오프-체인 스토리지(160)로부터 데이터를 검색할 수 있다. 다음으로, 검색된 데이터는 통신 인터페이스(130)에 송신되고, 그러면 통신 인터페이스는 이 데이터를 API(190)에 전송한다. 일부 다른 실시예들에서, API(190)는 보안 실행 환경(110) 및 블록체인 처리 시스템(140) 중 하나와 직접 통신한다.
일부 실시예들에서, 각각의 블록체인 노드(105)는 암호화된 오프-체인 스토리지(160)를 더 포함한다. 블록체인(150) 상에서 저장 공간이 제한될 수 있기 때문에, 암호화된 오프-체인 스토리지(160)는 프라이버시 트랜잭션 관리 시스템(100)에 추가 정보를 위한 추가 보안 스토리지를 유리하게 제공할 수 있다. 예를 들어, 암호화된 오프-체인 스토리지(160a)는 소비자의 브라우징 이력 또는 뷰잉 이력을 저장할 수 있다. 건강 관리 실시예에서, X-레이, MRI 결과, 및 의료 사례 이력과 같은 의료 이력 정보는 블록체인(150)으로부터 오프-체인 스토리지(160)에 원격으로 저장될 수 있다. 이러한 실시예들에서, 블록체인 처리 시스템(140)은 블록체인(150) 내에 저장된 정보와 오프-체인 스토리지(160) 내에 저장된 정보 사이를 조정할 수 있다. 예를 들어, 블록체인(150) 상의 데이터는 암호화된 오프-체인 스토리지(160) 내의 정보에 액세스하기 위한 키 및 링크를 포함할 수 있다.
일부 다른 실시예들에서, 블록체인(150)은 각각의 소비자에 대한 고유 식별자, 및 소비자의 옵트 인 또는 옵트 아웃 결정을 저장한다. 소비자에 관한 데이터에 액세스할 때, 블록체인 처리 시스템(140)은 고유 식별자 및 옵트 인/아웃 상태를 검색한다. 소비자가 옵트 인된 경우, 블록체인 처리 시스템(140)은 암호화된 오프-체인 스토리지(160)에 액세스하여 소비자에 관한 추가 정보를 검색한다.
예시적인 실시예에서, 각각의 블록체인 노드(150)는 PKI 서브시스템(170)에 접속되는데, 이는 일부 실시예들에서 프라이버시 트랜잭션 관리 시스템(100)에 의해 사용되는 하나 이상의 디지털 인증서를 유지하는 신뢰할 수 있는 CA를 표현한다. 종래의 전자 디바이스들은 다수의 보안 전자 네트워크 및 컴퓨터 시스템과 상호작용한다. 이러한 네트워크들 및 시스템들 중 다수는 상당한 보안 보호들을 받지만, 그들과 상호작용하는 전자 디바이스들은 동일한 수준의 보안에 종속되지 않을 수 있다. 따라서, 특정 네트워크, 시스템 또는 에코시스템 내에서의 사용을 위해 디바이스들을 프로비저닝하기 위해 이러한 전자 디바이스들의 신원을 신뢰가능하게 결정할 수 있는 것이 중요하다. 이러한 프로비저닝 기술들은 사소한 것이 아니다.
도 2는 도 1에 도시된 프라이버시 트랜잭션 관리 시스템(100) 내의 블록체인 노드들(105) 중 하나 이상에 접속하기 위한 접속된 사용자 컴퓨터 디바이스(200)의 개략도이다. 예시적인 실시예에서, 사용자 컴퓨터 디바이스(200)는 네트워크 통신 인터페이스(210), 사용자 인터페이스(220), 처리 디바이스(230), 하나 이상의 애플리케이션(242)을 갖는 메모리 디바이스(240), 및 임의적 보안 입력 디바이스(250)를 포함한다.
예시적인 실시예에서, 사용자 컴퓨터 디바이스(200)는 웹 브라우저 또는 소프트웨어 애플리케이션을 포함하는 컴퓨터일 수 있으며, 이는 사용자 컴퓨터 디바이스(200)가 인터넷 또는 다른 네트워크를 사용하여 원격 컴퓨터 디바이스들에 액세스할 수 있게 한다. 보다 구체적으로, 사용자 컴퓨터 디바이스(200)는 인터넷, 근거리 통신망(LAN), 광역 통신망(WAN) 또는 ISDN(integrated services digital network), 다이얼 업 접속(dial-up-connection), DSL(digital subscriber line), 셀룰러 폰 접속, 및 케이블 모뎀과 같은 네트워크 중 적어도 하나를 포함하지만 이에 제한되지 않는 다수의 인터페이스를 통해 인터넷에 통신가능하게 연결될 수 있다. 사용자 컴퓨터 디바이스(200)는 데스크탑 컴퓨터, 랩톱 컴퓨터, 개인 휴대 정보 단말기(PDA), 셀룰러 폰, 스마트폰, 태블릿, 패블릿, 웨어러블 전자제품, 스마트 워치, 또는 다른 웹 기반 접속가능 장비 또는 모바일 디바이스들을 포함하지만 이에 제한되지 않는, 인터넷에 액세스할 수 있는 임의의 디바이스일 수 있다. 일부 실시예들에서, 사용자 컴퓨터 디바이스(200)는 접속된 장비(180)(도 1에 도시됨)와 유사할 수 있다.
사용자 컴퓨터 디바이스(200)는 사용자에 의해 작동될 수 있다. 사용자 컴퓨터 디바이스(200)는 명령어들을 실행하기 위해 처리 디바이스(230)를 이용한다. 일부 실시예들에서, 실행가능한 명령어들은 메모리 디바이스(240)에 저장될 수 있다. 일부 실시예들에서, 실행가능한 명령어들은 애플리케이션들(242)을 포함한다. 처리 디바이스(230)는 (예를 들어, 멀티-코어 구성으로) 하나 이상의 처리 유닛을 포함할 수 있다. 메모리 디바이스(240)는 실행가능한 명령어들 및/또는 트랜잭션 데이터와 같은 정보가 저장되고 검색되는 것을 허용하도록 구성된 디바이스일 수 있다. 메모리 디바이스(240)는 하나 이상의 컴퓨터 판독가능한 매체(별도로 도시되지 않음)를 포함할 수 있다.
사용자 컴퓨터 디바이스(200)는 정보를 사용자에게 제시하기 위해 사용자 인터페이스(220)를 추가로 이용할 수 있다. 사용자 인터페이스(220)는 정보를 사용자에게 전달할 수 있는 임의의 컴포넌트일 수 있다. 일부 실시예들에서, 사용자 인터페이스(220)는 비디오 어댑터 및/또는 오디오 어댑터와 같은 출력 어댑터(도시되지 않음)를 포함할 수 있다. 출력 어댑터는 처리 디바이스(230)에 동작가능하게 연결될 수 있고, 디스플레이 디바이스(예를 들어, 음극선 관(CRT), 액정 디스플레이(LCD), 발광 다이오드(LED) 디스플레이, 또는 "전자 잉크" 디스플레이) 또는 오디오 출력 디바이스(예를 들어, 스피커 또는 헤드폰)와 같은 출력 디바이스에 동작가능하게 연결가능할 수 있다.
일부 실시예들에서, 사용자 인터페이스(220)는 그래픽 사용자 인터페이스(예를 들어, 웹 브라우저 및/또는 클라이언트 애플리케이션)를 사용자에게 제시할 수 있다. 그래픽 사용자 인터페이스는 예를 들어 소비자 정보를 보기 위한 온라인 인터페이스를 포함할 수 있다. 일부 실시예들에서, 사용자 인터페이스(220)는 사용자로부터 입력을 수신하기 위한 입력 디바이스를 포함할 수 있다. 사용자는 입력 디바이스를 이용하여 소비자 정보를 입력하거나 업데이트할 수 있지만, 이에 제한되지는 않는다.
입력 디바이스는, 예를 들어, 키보드, 포인팅 디바이스, 마우스, 스타일러스, 터치 감지 패널(예를 들어, 터치 패드 또는 터치 스크린), 자이로스코프, 가속도계, 위치 검출기, 생체인식 입력 디바이스, 및/또는 오디오 입력 디바이스를 포함할 수 있다. 터치 스크린과 같은 단일 컴포넌트는 출력 디바이스 및 입력 디바이스 둘 다를 포함하는 사용자 인터페이스(220)로서 기능할 수 있다.
사용자 컴퓨터 디바이스(200)는 네트워크 통신 인터페이스(210)를 원격 디바이스(도시되지 않음)에 통신가능하게 연결할 수 있다. 네트워크 통신 인터페이스(210)는, 예를 들어, 이동 통신 네트워크와 함께 사용하기 위한 유선 또는 무선 네트워크 어댑터 및/또는 무선 데이터 송수신기를 포함할 수 있다.
메모리 디바이스(240)에는, 예를 들어, 출력 디바이스를 통해 사용자 인터페이스(220)를 사용자에게 제공하고, 임의적으로 입력 디바이스로부터 입력을 수신 및 처리하기 위한 컴퓨터 판독가능한 명령어들이 저장된다. 사용자 인터페이스(220)는 다른 가능성들 중에서도 웹 브라우저 및/또는 클라이언트 애플리케이션을 포함할 수 있다. 웹 브라우저들은 사용자들이 전형적으로 웹 페이지 또는 웹사이트에 임베드된 미디어 및 다른 정보를 디스플레이하고 그와 상호작용할 수 있게 한다. 클라이언트 애플리케이션들(242) 중 하나 이상은 사용자가 예를 들어 하나 이상의 블록체인 노드(105)(도 1에 도시됨)와 상호작용하도록 허용할 수 있다. 예를 들어, 명령어들은 클라우드 서비스에 의해 저장될 수 있고, 명령어들의 실행의 출력은 사용자 인터페이스(220)에 송신될 수 있다.
일부 실시예들에서, 사용자 컴퓨터 디바이스(200)는 예를 들어, 사용자 컴퓨터 디바이스(200)에 부착되는 물리적 키일 수 있는 임의적 보안 입력 디바이스(250)를 포함한다. 다른 실시예들에서, 보안 입력 디바이스(250)는 사용자 컴퓨터 디바이스(200)의 메모리 디바이스(240) 내에 저장된 전자 토큰 또는 디지털 인증서일 수 있다. 또 다른 실시예들에서, 보안 입력 디바이스(250)는 카메라, 지문 판독기 또는 다른 생체인식 디바이스일 수 있다. 이러한 실시예들에서, 사용자의 이미지 또는 사용자의 지문은 사용자를 위한 고유 보안 키들을 생성하기 위해 사용될 수 있다.
도 3은 도 1의 프라이버시 트랜잭션 관리 시스템(100)에 도시된 블록체인 노드(300)의 개략도이다. 예시적인 실시예에서, 블록체인 노드(300)는 블록체인 노드(105)(도 1에 도시됨)와 유사하다.
예시적인 실시예에서, 블록체인 노드(300)는 원격 디바이스들과 통신하기 위한 네트워크 통신 인터페이스(312)와의 인터페이스(310)를 포함한다. 예를 들어, 블록체인 노드(300)는 다른 블록체인 노드들(300)과 통신하기 위해 인터페이스(310) 및/또는 네트워크 통신 인터페이스(312)를 사용할 수 있다. 블록체인 노드(300)는 또한 사용자 컴퓨터 디바이스(200)(도 2에 도시됨)와 같은 원격 컴퓨터 디바이스들과 통신하기 위해 인터페이스(310) 및/또는 네트워크 통신 인터페이스(312)를 또한 사용할 수 있다. 예시적인 실시예에서, 블록체인 노드(300)는 블록체인 처리 시스템(320)을 더 포함한다.
블록체인 노드(300)는 또한 보안 실행 환경(330)을 포함하며, 이는 보안 실행 환경(110)(도 1에 도시됨)과 유사할 수 있다. 예시적인 실시예에서, 보안 실행 환경(330)은 키 데이터베이스(332), 신뢰 저장소(334), 및 명령어들을 실행하기 위한 적어도 하나의 처리 디바이스(336)를 포함한다. 일부 실시예들에서, 실행가능한 명령어들은 적어도 하나의 메모리 디바이스(338)에 저장될 수 있다. 처리 디바이스(336)는 (예를 들어, 멀티-코어 구성으로) 하나 이상의 처리 유닛을 포함할 수 있다. 메모리 디바이스(338)는 실행가능한 명령어들 및/또는 트랜잭션 데이터와 같은 정보가 저장되고 검색되는 것을 허용하는 임의의 디바이스일 수 있다. 메모리 디바이스(338)는 하나 이상의 컴퓨터 판독가능한 매체를 포함할 수 있다.
키 데이터베이스(332)는 암호화 키들의 데이터베이스이다. 신뢰 저장소(334)는 아래에 더 설명되는 바와 같이 루트 인증 기관 및 서명 노드 기관과 같은 하나 이상의 서명 기관과의 신뢰를 증명하기 위한 인증서들을 저장한다. 예시적인 실시예에서, 신뢰 저장소(334)는 블록체인 노드(300)와 통신하도록 인가된 다른 블록체인 노드들의 인증서들을 저장한다. 예시적인 실시예에서, 보안 실행 환경(330)은 스마트 계약(340)을 더 포함한다. 위에서 설명된 실시예들과 마찬가지로, 스마트 계약(340)은 본 명세서에 설명된 처리를 허용하는 서명된 로직의 컬렉션을 포함한다. 예를 들어, 소비자는 그들의 옵트 인 선택들에서 특정 개인들만이 특정 기간 동안 자신의 정보에 액세스할 수 있다고 명시할 수 있다. 로직은 액세스 권한이 만료되지 않았음을 보장하기 위해 점검할 수 있다. 스마트 계약에 포함된 로직은 본 명세서에 설명된 바와 같은 다른 점검들 및 프로세스들을 수행할 수 있다.
예시적인 실시예에서, 블록체인 처리 시스템(320)은 블록체인 처리 시스템(140)(도 1에 도시됨)과 유사하며, 하나 이상의 프로세서 및 하나 이상의 메모리 디바이스(별도로 도시되지 않음)를 포함할 수 있다. 예시적인 실시예에서, 블록체인 처리 시스템(320)은 임의적인 인덱서(350)와 동작가능하게 통신하거나, 블록체인(150)(도 1에 도시됨)과 유사할 수 있는 블록체인(360)과 직접 통신한다. 블록체인 처리 시스템은 블록체인(360)을 관리하도록 구성되고, 블록체인(360)에 블록들을 추가하고, 블록체인(360)의 다른 사본들과의 불일치를 해결하고, 블록체인(360)을 유지하기 위해, 다른 블록체인 처리 시스템들(320)과 협력하도록 기능한다.
예시적인 실시예에서, 블록체인 처리 시스템(320)은 블록체인(360)으로부터 데이터를 판독한다. 이러한 실시예들에서, 블록체인 노드(300)는 블록체인(360) 내의 데이터의 인덱스를 생성하기 위해 블록체인(360) 내의 데이터를 모니터링하도록 구성된 인덱서(350)를 포함한다. 예를 들어, 블록체인 처리 시스템(320)이 개별 소비자에 관한 데이터를 찾기 위해 모든 블록들을 파싱하도록 요구하는 대신에, 인덱서(350)는 그 소비자가 나열된 모든 블록을 나열한다. 다른 실시예들에서, 인덱서(350)는 단지 소비자에 대한 트랜잭션을 포함하는 마지막 블록을 나열한다. 일부 실시예들에서, 인덱서(350)는 주기적으로, 예컨대 하루에 한 번 인덱스를 유지관리한다. 이러한 실시예들에서, 블록체인 처리 시스템(320)은 소비자에 관한 모든 데이터가 검색될 것을 보장하기 위해 마지막 인덱싱 이후의 블록들만을 검토하면 된다.
일부 실시예들에서, 각각의 블록체인 노드(300)는 또한 암호화된 오프-체인 스토리지(370)를 포함하며, 이는 암호화된 오프-체인 스토리지(160)(도 1에 도시됨)와 유사할 수 있다. 블록체인(360) 상에서 저장 공간은 제한될 수 있고, 암호화된 오프-체인 스토리지(370)는 추가 정보를 위한 추가의 보안 저장을 허용한다. 예를 들어, 암호화된 오프-체인 스토리지(370)는 소비자의 시청 이력에 대한 브라우징 이력을 저장할 수 있다. 건강 관리 실시예에서, X-레이, MRI 결과, 및 의료 사례 이력과 같은 의료 이력 정보는 블록체인(360)으로부터 오프-체인 스토리지(370)에 원격으로 저장될 수 있다. 이러한 실시예들에서, 블록체인 처리 시스템(320)은 블록체인(360) 내에 저장된 정보와 오프-체인 스토리지(370) 내에 저장된 정보 사이를 조정할 수 있다. 예를 들어, 블록체인(360) 상의 데이터는 암호화된 오프-체인 스토리지(370)의 정보에 액세스하기 위한 키 및 링크를 포함할 수 있다.
일부 다른 실시예들에서, 블록체인(360)은 각각의 소비자에 대한 고유 식별자, 및 소비자의 옵트 인 또는 옵트 아웃 여부를 저장한다. 소비자에 관한 데이터에 액세스할 때, 블록체인 처리 시스템(320)은 고유 식별자 및 옵트 인/아웃 상태를 검색한다. 소비자가 옵트 인된 경우, 블록체인 처리 시스템(320)은 암호화된 오프-체인 스토리지(370)에 액세스하여 소비자에 관한 추가 정보를 검색한다.
도 4는 프라이버시 트랜잭션 관리 시스템(100)(도 1에 도시됨)을 사용하는 블록체인 노드(300)(도 3에 도시됨)의 보안 실행 환경(400)의 개략도이다. 예시적인 실시예에서, 보안 실행 환경(400)은 보안 실행 환경(110)(도 1에 도시됨) 및 보안 실행 환경(330)(도 3에 도시됨)과 유사하다. 예시적인 실시예에서, 보안 실행 환경(400)은 인가되지 않은 개인들에 의한 수정을 방지하기 위해 서명된 펌웨어 및 소프트웨어를 포함한다.
예시적인 실시예에서, 보안 실행 환경(400)은 하나 이상의 개인 키(412)를 갖는 키 데이터베이스(410), 루트 인증 기관(422) 및 임의적인 공개 키(424)를 갖는 신뢰 저장소(420), 및 명령어들을 실행하기 위한 적어도 하나의 처리 디바이스(430)를 포함한다. 예시적인 실시예에서, 처리 디바이스(430)는 특정 프로세스들을 수행하기 위해 복수의 소프트웨어 패키지를 실행한다. 하나의 패키지는 소비자를 블록체인(360)(도 3에 도시됨)에 추가하기 위한 기원 패키지(genesis package)(432)이다. 기원 패키지(432)에 대한 프로세스(600)는 도 6에 도시되어 있다. 다른 패키지는 블록체인(360)으로부터 데이터를 검색하기 위한 검색 패키지(434)이다. 검색 패키지(434)에 대한 프로세스(700)는 도 7에 도시되어 있다. 추가 패키지는 블록체인(360) 내에서 소비자에 관한 정보를 업데이트하기 위한 첨부 패키지(436)이다. 첨부 패키지(436)를 위한 프로세스(800)는 도 8에 도시되어 있다.
추가로, 광고주들 또는 다른 요청자들에게 제시되는 것으로부터 소비자를 제거하기 위한 소각 패키지(burn package)(438)가 제공된다. 소각 패키지(438)는 블록체인(360)으로부터 모든 소비자 정보를 제거하지 않는 한편, 소비자의 정보가 전파되지 않도록 소비자 계정에 옵션들 또는 플래그들을 설정한다. 일부 실시예에서, 소비자는 소각 옵션을 선택적으로 사용할 수 있다. 예를 들어, 소비자는 특정 회사만이 그들의 정보를 사용하도록 허용할 수 있다. 다른 예에서, 소비자는 "나의 위치 사용(use my location)"의 발생 시마다 소각될 것을 요청할 수 있다.
일부 실시예들에서, 보안 실행 환경(400)은 스마트 계약(440) 및 적어도 하나의 메모리 디바이스(450)를 더 포함한다. 실행가능한 명령어들은 예를 들어 메모리 디바이스(450)에 저장될 수 있다. 처리 디바이스(430)는 (예를 들어, 멀티-코어 구성으로) 하나 이상의 처리 유닛을 포함할 수 있다. 메모리 디바이스(450)는 실행가능한 명령어들 및/또는 트랜잭션 데이터와 같은 정보가 저장되고 검색되는 것을 허용하는 임의의 디바이스일 수 있다. 메모리 디바이스(450)는 하나 이상의 컴퓨터 판독가능한 매체를 포함할 수 있다. 처리 디바이스(430)는 블록체인 처리 디바이스(320)와 통신한다.
실시예에서, 키 데이터베이스(410)는 암호화 키들의 데이터베이스이다. 예시적인 실시예에서, 키 데이터베이스(410)는 트랜잭션을 위한 개인 키들(412)을 저장한다. 이 실시예에서, 공개 키/개인 키 쌍은 블록체인(360) 상에서 각각의 소비자에 대해 생성된다. 키 데이터베이스(410)는 추후 검색을 위해 트랜잭션 개인 키들(412)을 저장한다. 신뢰 저장소(420)는 루트 인증 기관(422) 및 서명 노드 기관(424)과 같은 하나 이상의 서명 기관과의 신뢰를 증명하기 위한 인증서를 저장한다.
예시적인 실시예에서, 신뢰 저장소(420)는 블록체인 노드(300)와 통신하도록 인가된 다른 블록체인 노드들의 인증서들을 저장한다. 신뢰 저장소(420)는 또한 블록체인(360) 상의 데이터에 액세스하도록 인가된 광고주들 및 다른 개인들의 인증서들을 저장한다. 신뢰 저장소(420)는 PKI 서브시스템(170)(도 1에 도시됨)으로부터 인증서들을 수신할 수 있다. 예시적인 실시예에서, 키 데이터베이스(410)는 블록체인(360)의 개인 키, 다른 블록체인 노드들에 연관된 암호화 키들, 및 광고주들 및 다른 개인들에 연관된 암호화 키들을 저장한다.
스마트 계약(440)은 본 명세서에 설명된 처리를 허용하는 서명된 로직의 컬렉션을 포함한다. 예를 들어, 소비자는 자신의 옵트 인 선택들에서, 특정 개인들만이 특정 기간 동안 자신의 정보에 액세스할 수 있다고 명시할 수 있다. 로직은 액세스 권한들이 만료되지 않았음을 보장하기 위해 점검할 수 있다. 스마트 계약에 포함된 로직은 본 명세서에 설명된 다른 점검들 및 프로세스들을 수행할 수 있다.
도 5 내지 도 8에 도시된 각각의 프로세스들은 가입자(505), 컴퓨터 디바이스(510), 포털 노드(515), 프로세서 노드(520), 신뢰 플랫폼 모듈(trusted platform module)(TPM) 노드(525) 및 블록체인(530) 중 하나 이상을 포함하는 다양한 요소들에 의한 실행에 대하여, 또는 그러한 다양한 요소들에 관련하여 설명된다. 이러한 요소들 중 몇몇은 동일한 각자의 라벨들을 사용하여 위에서 설명된 요소들과 구조 및 기능이 유사한 것으로 간주될 수 있다. 그러나, 본 기술 분야의 통상의 지식을 가진 자는 예시적인 요소들이 설명의 편의를 위해 제공되며 제한하도록 의도된 것이 아님을 이해할 것이다. 즉, 이하의 프로세스들의 동작은 예들에서 제공된 특정 요소들로 엄격하게 제한되지 않으며, 또한 몇몇 요소들은 본 설명 전반에 걸쳐 제공된 예시적인 설명들로 제한되지 않는다.
도 5는 가입자(505)가 프라이버시 트랜잭션 관리 시스템(100)(도 1에 도시됨)을 사용하기 위해 사전 등록하는 프로세스(500)의 데이터 흐름도이다. 예시적인 실시예에서, 가입자 A(505)는 프라이버시 트랜잭션 관리 시스템(100)에 등록하기 위해 컴퓨터 디바이스(510)를 사용하고 있다. 예시적인 실시예에서, 컴퓨터 디바이스(510)는 사용자 컴퓨터 디바이스(200)(도 2에 도시됨)와 유사하다. 예시적인 실시예에서, 프로세스(500)는 가입자(505)가 프라이버시 트랜잭션 관리 시스템(100)에 액세스한 적이 있기 전에, 그리고 블록체인(360)(도 3에 도시됨) 상에 엔트리를 갖지 않을 때 발생한다.
예시적인 실시예에서, 가입자 A(505)는 컴퓨터 디바이스(510)가 개인 키를 생성할 것을 요청한다(S550). 일부 실시예들에서, 컴퓨터 디바이스(510)는 컴퓨터 디바이스(510)의 신뢰 플랫폼 모듈(TPM)의 사용을 통해 개인 키를 생성한다(S555). 다른 실시예들에서, 컴퓨터 디바이스(510)는 가입자(505)가 이미지 내의 물체들로 사진을 촬영하여 엔트로피를 생성하게 한다. 다음으로, 컴퓨터 디바이스(510)는 사진으로부터 개인 키를 생성한다(S555). 또 다른 실시예들에서, 컴퓨터 디바이스(510)는 지문 스캔을 시드로서 사용하여 개인 키를 생성한다(S555). 컴퓨터 디바이스(510)는 또한 공개 키를 생성한다(S560). 여기에서 사용될 때, 가입자 A의 개인 키는 Kav로 표기될 것이고, 여기서 'K'는 키를 나타내고, 'a'는 가입자 A(505)를 나타내고, 'v'는 개인을 나타낸다. 가입자 A의 공개 키는 Kab로 표기될 것이고, 여기서 'b'는 공개를 나타낸다.
키 쌍이 생성되고 나면, 가입자(505)는 컴퓨터 디바이스(510)에 개인 정보를 입력한다(S565). 개인 정보는 이름, 연령, 주소, 우편 번호, 다른 인구 통계 데이터, 및 광고주들과 관계를 맺기 위해 검색가능한 필드들을 포함할 수 있지만, 이에 제한되지는 않는다. 예에서, 가입자는 그들의 스트리밍 정보에 대한 액세스를 제한하였고, 여기서 그들은 자신의 영화 스트리밍 시청 정보는 공유하지만 자신의 텔레비전 쇼 스트리밍 시청 정보는 공유하지 않으려고 할 것이다. 컴퓨터 디바이스(510)는 체인의 공개 키(Kcb)를 검색하고(S570), 여기서 'c'는 프라이버시 트랜잭션 관리 시스템(100)에 대한 체인을 나타낸다. 컴퓨터 디바이스(510)는 가입자의 개인 키(Kav) 및 체인의 공개 키(Kcb)를 이용하여 가입자의 개인 정보를 암호화한다(S575). 컴퓨터 디바이스(510)는 도 6에 도시된 바와 같이 등록을 진행하고 프로세스(600)로 진행할 준비가 되었음을 가입자(505)에게 통지한다(S580).
도 6은 가입자(505)가 프라이버시 트랜잭션 관리 시스템(100)(도 1에 도시됨)을 사용하여 블록체인(150)(도 1에 도시됨)에 등록하는 프로세스(600)의 데이터 흐름도이다. 예시적인 실시예에서, 가입자 A(505)는 컴퓨터 디바이스(510)를 사용하고 있다. 예시적인 실시예에서, 컴퓨터 디바이스(510)는 접속된 장비(180)(도 1에 도시됨) 및 사용자 컴퓨터 디바이스(200)(도 2에 도시됨)와 유사하다. 컴퓨터 디바이스(510)는 포털 노드(515)과 통신하며, 이는 컴퓨터 디바이스(510)가 프라이버시 트랜잭션 관리 시스템(100)과 통신하는 것을 허용한다. 일부 실시예들에서, 포털 노드(515)는 인터페이스(130a)(도 1에 도시됨)와 유사하다. 다른 실시예에서, 포털 노드(515)는 API(190)(도 1에 도시됨)와 유사하다. 포털 노드(515)는 컴퓨터 디바이스(510)가 지향되고 있는 블록체인(530)의 블록체인 노드(300)에 대한 처리 노드(520)와 통신한다. 예시적인 실시예에서, 처리 노드(520)는 보안 실행 환경(110a)(도 1에 도시됨), 보안 실행 환경(330)(도 3에 도시됨) 및 보안 실행 환경(400)(도 4에 도시됨)과 유사하다. 예시적인 실시예에서, TPM 노드(525)는 키 데이터베이스(410)와 신뢰 저장소(420)의 조합이다(둘 다 도 4에 도시됨). TPM 노드(525)는 키 데이터베이스(410) 및 신뢰 저장소(420)와의 통신을 허용하지만 직접 액세스는 허용하지 않는다. TPM 노드(525)는 요청 시에 키 데이터베이스(410) 및 신뢰 저장소(420)에 대한 동작을 수행하는 처리를 포함하지만, 둘 중 어느 하나에 대한 판독 또는 기입 액세스는 허용하지 않는다. 블록체인(530)은 블록체인(150)(도 1에 도시됨) 및 블록체인(360)(도 3에 도시됨)과 유사하며, 또한 블록체인 처리 시스템(140a)(도 1에 도시됨) 및 블록체인 처리 시스템(320)(도 3에 도시됨)을 포함할 수 있다.
예시적인 실시예에서, 프로세스(600)는 가입자(505)가 프라이버시 트랜잭션 관리 시스템(100)에 처음 액세스하고 블록체인(530)에 엔트리를 갖지 않을 때 발생한다.
예시적인 실시예에서, 가입자(505)는 프라이버시 트랜잭션 관리 시스템(100)에 등록할 것을 요청한다(S605). 컴퓨터 디바이스(510)는 등록 정보를 포털 노드(515)에 전송한다(S610). 등록 정보는 가입자 A의 공개 키(Kab) 및 가입자 A의 개인 정보를 포함하지만 이에 제한되지는 않는다. 개인 정보는 블록체인의 공개 키(Kcb)로 암호화된다. 일부 실시예들에서, 컴퓨터 디바이스(510)는 TLS 프로토콜을 통해 등록 정보를 전송한다(S610).
포털 노드(515)는 어느 TPM 노드(525)에 등록을 전송할지를 결정한다(S615). 일부 실시예들에서, 포털 노드(515)는 지리적 근접성, 다양한 노드들의 처리 로드, 또는 임의의 다른 규칙 세트에 기초하여 TPM 노드(525)를 결정한다(S615).
목적지 TPM 노드(525)가 결정되면, 포털 노드(515)는 등록 정보를 결정된 TPM 노드(525)에 연관된 처리 노드(520)에 전송한다(S620). 처리 노드(520)는 TPM 노드(525)와 통신하여, 가입자의 공개 키(Kab)에 기초하여 가입자 A(505)에 대한 체인 키(Kac)를 생성한다(S625). 일부 실시예들에서, TPM 노드(525)는 대칭 키 암호화 알고리즘들을 사용하여 체인 키를 생성한다(S625). 처리 노드(520)는 TPM 노드(525)와 통신하여, 암호화된 체인 키(K'ac)를 생성하기 위해 가입자의 체인 키(Kac)를 블록체인의 개인 키(Kcv)로 암호화한다(S630). TPM 노드(525)는 암호화된 체인 키(K'ac)를 처리 노드(520)에 전송한다. 처리 노드(520)는 등록 정보(가입자 A의 개인 정보 및 가입자 A의 공개 키 [Kab])를 TPM 노드(525)에 전송한다(S640). 일부 실시예들에서, 처리 노드(520)와 TPM 노드(525) 사이의 복수의 호출은 메시지들을 결합함으로써 더 적은 호출들로 수행될 수 있다.
TPM 노드(525)는 가입자 A의 공개 키(Kab)에 대한 복호화 키를 결정한다(S645). TPM 노드(525)는 체인의 개인 키(Kcv)를 사용하여 개인 정보를 해독한다(S650). 다음으로, TPM 노드(525)는 가입자의 체인 키(Kac)를 사용하여 개인 정보를 암호화한다(S655). TPM 노드(525)는 재암호화된 개인 정보를 처리 노드(520)에 전송한다(S660). 처리 노드(520)는 암호화된 개인 정보, 암호화된 체인 키(K'ac) 및 가입자의 공개 키(Kab)를 블록체인(530)에 저장되도록 제출한다(S665).
예시적인 실시예에서, 블록체인(530)으로의 제출은 i) 가입자의 키 체인(Kac)으로 암호화된 개인 정보, ⅱ) TPM 노드(525)에 의한 도움으로 노드의 개인 체인 키(Kcv)에 의해 복호화될 수 있는 암호화된 가입자의 체인 키(K'ac), ⅲ) 가입자에 연관된 모든 장래의 체인 블록이 연관될 가입자의 공개 키(Kab)를 포함한다.
예시적인 실시예에서, 암호화된 가입자 체인 키(K'ac)는 항상 블록체인(530) 내의 가입자의 제1 엔트리 내에 있다. 블록체인(530) 내의 가입자의 가장 최근 엔트리는 i) 블록체인(530)에서 가입자(505)에 연관된 엔트리들을 찾기 위한 인덱스로서 사용될 수 있는 가입자의 공개 키(Kab), ⅱ) 가입자의 키 체인(Kac)으로 암호화된 가입자의 모든 개인 정보를 포함한다. 여기에 설명된 바와 같이 가입자의 개인 정보가 업데이트될 때마다 블록체인 상의 가장 최근 엔트리는 가입자의 모든 현재 개인 정보의 사본을 포함한다.
도 7은 가입자(505)가 프라이버시 트랜잭션 관리 시스템(100)(도 1에 도시됨)을 사용하여 블록체인(150)(도 1에 도시됨)으로부터 정보를 검색하는 프로세스(700)의 데이터 흐름도이다. 예시적인 실시예에서, 프로세스(700)는 가입자(505)가 프라이버시 트랜잭션 관리 시스템(100)상에서 그들의 데이터를 볼 때마다 그리고 블록체인(530)에 하나 이상의 엔트리를 가질 때 발생한다.
가입자(505)는 프라이버시 트랜잭션 관리 시스템(100)에서 그들의 현재 정보를 볼 것을 요청한다(S705). 일부 실시예들에서, 가입자의 정보는 컴퓨터 디바이스(510) 상에 저장될 수 있다. 컴퓨터 디바이스(510)가 분실되거나 교체되면, 프라이버시 트랜잭션 관리 시스템(100)은 가입자(505)가 블록체인(530)에 질의하여 가입자의 개인 정보를 검색하는 것을 허용한다. 컴퓨터 디바이스(510)는 가입자의 공개 키(Kab) 및 요청 중인 개인 정보를 포함하는 요청 패키지를 생성한다(S710). 컴퓨터 디바이스(510)는 가입자의 개인 키(Kav)로 요청 패키지에 서명한다(S715). 요청 패키지에 서명(S715)하는 것은, 프라이버시 트랜잭션 관리 시스템(100)이 가입자(505)를 인증하기 위해 서명을 파일 상에 있는 공개 키(Kab)와 대조하는 것을 허용한다. 컴퓨터 디바이스(510)는 서명된 요청 패키지 및 가입자의 공개 키(Kab)를 포털 노드(515)에 전송한다(S720). 일부 실시예들에서, 전송은 TLS 프로토콜을 사용하여 이루어진다. 일부 추가의 실시예들에서, 전송은 논스(nonce)를 포함하고, 리플레이 공격들을 방지하기 위해 체인의 공개 키(Kcb)로 추가로 암호화된다.
포털 노드(515)는 서명된 요청 패키지 및 가입자의 공개 키(Kab)를 처리 노드(520)에 전송한다(S725). 처리 노드(520)는 가입자의 공개 키(Kab)를 사용하여, 서명된 요청 패키지에 대한 서명을 검증한다(S730). 다음으로, 처리 노드(520)는 가입자의 공개 키(Kab)에 연관된 가장 최근의 트랜잭션을 찾기 위해 블록체인(530)에 질의한다(S735). 처리 노드(520)가 가장 최근의 트랜잭션이 소각/망각(forget) 또는 옵트 아웃 트랜잭션이라고 결정하면(S740), 프로세스(700)는 종료된다. 그렇지 않으면, 처리 노드(520)는 블록체인에서 가입자(505)에 연관된 제1 엔트리를 위치시킨다(S745). 처리 노드(520)는 가입자의 공개 키(Kab)를 사용하여 제1 엔트리로부터 암호화된 체인 키(K'ac)를 추출한다(S750). 처리 노드(520)는 가입자의 체인 키(Kac)를 검색하기 위해, 체인의 개인 키(Kcv)를 사용하여, 암호화된 체인 키(K'ac)를 복호화한다(S755). 처리 노드(520)는 가입자의 체인 키(Kac)를 이용하여 가입자의 개인 정보를 복호화한다(S760). 처리 노드(520)는 응답 패키지를 생성한다(S765). 처리 노드(520)는 가입자의 공개 키(Kab) 및 체인의 공개 키(Kcb)로 응답 패키지를 암호화한다(S770).
처리 노드(520)는 암호화된 응답 패키지를 포털 노드(515)에 전송한다(S775). 포털 노드(515)는 암호화된 응답을 컴퓨터 디바이스(510)에 전달한다(S780). 컴퓨터 디바이스(510)는 가입자의 개인 키(Kav)를 사용하여 암호화된 응답을 복호화한다(S785). 컴퓨터 디바이스(510)는 블록체인(530)으로부터 검색된 정보를 가입자(505)에 디스플레이한다(S790). 컴퓨터 디바이스(510)는 가입자(505)에게 프로세스(800)(도 8에 도시됨)에 설명된 바와 같이 편집 프로세스를 시작할 수 있음을 통지한다(S795).
도 8은 가입자(505)가 프라이버시 트랜잭션 관리 시스템(100)(도 1에 도시됨)을 사용하여 블록체인(150)(도 1에 도시됨)에 데이터를 첨부하는 프로세스(800)의 데이터 흐름도이다. 예시적인 실시예에서, 프로세스(800)는 가입자(505)가 프라이버시 트랜잭션 관리 시스템(100)에서 그들의 정보에 대한 변경을 제출하고 블록체인(530) 상에 하나 이상의 엔트리를 가질 때 발생한다. 예시적인 실시예에서, 프로세스(800)는 블록체인(530)으로부터 데이터를 검색하기 위해 프로세스(700)가 사용된 후에 발생한다. 일부 실시예들에서, 프로세스(800)는 실시예들에서와 같이 프로세스(700)에 의존하지 않고, 블록체인(530) 상에 저장된 가입자의 데이터는 컴퓨터 디바이스(510)에도 저장된다.
예시적인 실시예에서, 가입자(505)는 컴퓨터 디바이스(510)에 업데이트하고자하는 필드들을 편집한다(S805). 예를 들어, 가입자(505)는 가입자의 개인 정보에서 필드들의 일부 또는 전부를 편집할 수 있다(S805). 가입자(505)는 편집들을 커밋한다(S810). 컴퓨터 디바이스(510)는 업데이트된 개인 정보 및 가입자의 공개 키(Kab)를 포함하는 업데이트 패키지를 생성한다(S815). 가입자의 공개 키는 요구되는 기록들을 찾는 데에 요구된다. 예시적인 실시예에서, 가입자가 하나 또는 두 개의 필드만을 업데이트하고 있더라도, 업데이트된 개인 정보는 가입자의 모든 개인 정보를 포함한다. 컴퓨터 디바이스(510)는 가입자의 개인 키(Kav)로 업데이트 패키지에 서명한다(S820). 요청 패키지에 서명하는 것(S820)은 프라이버시 트랜잭션 관리 시스템(100)이 가입자(505)를 인증하기 위해 서명을 파일 상에 있는 공개 키(Kab)와 대조하는 것을 허용한다. 컴퓨터 디바이스(510)는 서명된 업데이트 패키지 및 가입자의 공개 키(Kab)를 포털 노드(515)에 전송한다(S825). 일부 실시예들에서, 전송은 TLS 프로토콜을 사용하여 이루어진다. 일부 다른 실시예에서, 전송은 논스를 포함하고, 리플레이 공격들을 방지하기 위해 체인의 공개 키(Kcb)로 더 암호화된다.
포털 노드(515)는 서명된 업데이트 패키지 및 가입자의 공개 키(Kab)를 처리 노드(520)에 전달한다(S830). 처리 노드(520)는 가입자의 공개 키(Kab)를 사용하여, 서명된 요청 패키지 상의 서명을 검증한다(S835). 다음으로, 처리 노드(520)는 가입자의 공개 키(Kab)에 연관된 가장 최근의 트랜잭션을 찾기 위해 블록체인(530)에 질의한다(S840). 처리 노드(520)가 가장 최근의 트랜잭션이 소각/망각 또는 옵트 아웃 트랜잭션이라고 결정하는 경우(S845), 프로세스(800)는 종료된다. 그렇지 않으면, 처리 노드(520)는 블록체인 내에서 가입자(505)에 연관된 제1 엔트리의 위치를 찾는다(S850). 처리 노드(520)는 가입자의 공개 키(Kab)를 이용하여 제1 엔트리로부터 키를 추출한다(S855). 처리 노드(520)는 가입자의 체인 키(Kac)를 검색하기 위해, 체인의 개인 키(Kcv)를 사용하여, 암호화된 체인 키(K'ac)를 복호화한다(S860). 처리 노드(520)는 업데이트된 개인 정보를 검색하기 위해 가입자의 공개 키(Kab)를 사용하여 업데이트 패키지를 복호화한다(S865).
처리 노드(520)는 업데이트된 개인 정보 및 가입자의 키 체인(Kac)을 TPM 노드(525)에 전송한다(S870). TPM 노드(525)는 업데이트된 개인 정보를 가입자의 체인 키(Kac)를 사용하여 암호화한다(S875). TPM 노드(525)는 재암호화된 업데이트된 개인 정보를 처리 노드(520)에 전송한다(S880). 처리 노드(520)는 암호화된 업데이트된 개인 정보 및 가입자의 공개 키(Kab)를 블록체인(530) 상에 저장되도록 제출한다(S885). 예시적인 실시예에서, 가입자(505)에 연관된 각각의 엔트리는 가입자(505)에 고유한 가입자의 키 체인(Kac) 및 가입자의 공개 키(Kab)로 암호화된다.
컴퓨터 디바이스(510)는 업데이트 프로세스(800)가 완료될 때 가입자(505)에게 통지한다(S890).
예시적인 실시예에서, 소비자 정보의 데이터베이스를 유지하는 것의 일부는 소비자 또는 가입자가 자신의 정보를 다른 사람들이 이용할 수 있는 것으로부터 자신을 제거하는 능력을 포함하며, 이는 잊혀질 권리라고도 알려져 있다. 본 명세서에 설명된 바와 같이, 소비자의 정보에 대한 액세스를 제거하는 몇몇 접근법이 존재한다. 블록체인 상의 정보는 제거되지 않을 수 있지만, 프라이버시 트랜잭션 관리 시스템(100)은 소비자가 옵트 아웃했을 때 광고주들과 같은 다른 사람들이 소비자의 개인 정보에 액세스하는 것을 방지할 수 있다.
첫 번째 방법은 서명된 소각(signed burn)이다. 가입자(505)가 예컨대 그들의 컴퓨터 디바이스(510)를 통해 그들의 개인 키(Kav)에 여전히 액세스할 수 있다면, 가입자(505)는 블록체인(530)에 새로운 트랜잭션을 발행하기 위해 첨부 프로세스(800)를 사용할 수 있다. 이러한 새로운 트랜잭션은 임의의 장래의 트랜잭션이 가입자의 공개 키(Kab)에 대해 기원 프로세스(600), 검색 프로세스(700), 또는 첨부 프로세스(800)를 사용하는 능력을 종료시킨다. 스마트 계약(440) 및 보안 실행 환경(400)(둘 다도 4에 도시됨)은 이러한 승인들을 강화한다.
일부 상황들에서, 예컨대 가입자(505)가 더 이상 그들의 개인 키(Kav)를 소유하지 않을 때, 즉 컴퓨터 디바이스(510)를 분실한 경우에, 서명된 소각 방법은 이용불가능하다. 이러한 상황을 다루는 하나의 방법은 두 번째의 팩터 검증 소각 접근법이다. 이러한 방법에서, 가입자(505)는 이름 및 전화 번호와 같은 특정 정보에 연관된 자신의 신원을 소각하려는 의도를 나타낸다. 이러한 정보는 가입자를 고유하게 식별하는 데에 요구된다. 스마트 계약(440) 및 보안 실행 환경(400)은 가입자(505)를 대신하여 소각 트랜잭션을 발행할 것이다.
세 번째 방법은 시각적 검증 소각일 것이다. 이 방법은 초기 등록 프로세스(600)에 다른 단계를 추가한다. 가입자(505)가 등록 정보를 제출할 때(S610), 등록 정보는 가입자의 개인 키(Kav)를 생성(S555)하는 데 사용된 이미지의 썸네일을 포함한다. 블록체인(530) 상에서 가입자(505)에 대한 제1 트랜잭션이 생성될 때, 시스템(100)은 식별자로서 사용될 수 있는 썸네일의 암호화된 값을 포함한다. 가입자(505)가 소각 트랜잭션을 요청할 때, 가입자(505)는 썸네일들의 라인업 중에서 그들이 등록하는 데 사용했던 썸네일을 선택하기 위한 검증 챌린지를 제공받는다. 선택이 올바르면, 스마트 계약(440) 및 보안 실행 환경(400)은 가입자(505)를 대신하여 소각 트랜잭션을 발행할 것이다. 선택이 올바르지 않은 경우, 가입자의 제1 트랜잭션 내의 올바르지 않게 선택된 썸네일 식별자가 더 이상 선택될 수 없음, 다른 시각적 검증 소각이 시도될 수 있기 전의 시간 량, 및 현재 시각적 검증 대기 시간(초 단위)을 나열하는 새로운 썸네일 소각 트랜잭션이 발행된다. 예를 들어, 제1 대기 지속시간은 30초일 수 있으며, 각각의 후속하는 시도는 이 대기 기간을 두 배로 하려고 시도한다.
본 명세서에서 논의된 컴퓨터로 구현되는 방법은 본 명세서의 다른 곳에서 논의된 것들을 포함하여 추가의, 더 적은 또는 대안적인 동작들을 포함할 수 있다. 방법들은 하나 이상의 로컬 또는 원격 프로세서, 송수신기 및/또는 센서(예를 들어, 차량 또는 모바일 디바이스에 장착되거나 스마트 기반구조 또는 원격 서버에 연관된 프로세서, 송수신기 및/또는 센서)를 통해, 및/또는 비-일시적 컴퓨터 판독가능한 매체 또는 매체들에 저장된 컴퓨터 실행가능한 명령어들을 통해 구현될 수 있다.
추가로, 본 명세서에서 논의된 컴퓨터 시스템들은 본 명세서의 다른 곳에서 논의된 것을 포함하여 추가의, 더 적은 또는 대안적인 기능을 포함할 수 있다. 본 명세서에서 논의된 컴퓨터 시스템들은 비-일시적 컴퓨터 판독가능한 매체 또는 매체들에 저장된 컴퓨터 실행가능한 명령어들을 포함하거나 이를 통해 구현될 수 있다.
본 명세서에 제공된 예시적인 실시예들은 소비자 프라이버시 정보 및 선호도를 관리 및 모니터링하도록 유리하게 배치된 프라이버시 트랜잭션 관리 시스템을 설명한다. 따라서, 프라이버시 트랜잭션 관리 시스템은 (i) 소비자 프라이버시 트랜잭션들을 안전하게 저장하고; (ⅱ) 그러한 소비자 정보를 위한 중앙 리포지토리를 제공하고; (ⅲ) 소비자의 옵트 인/아웃 결정들에 기초하여 소비자 정보를 릴리즈하고; (ⅳ) 소비자가 정보 공개를 안전하게 옵트 아웃하는 것을 허용할 수 있는 미드박스로서 기능한다.
본 명세서에 설명된 양태들은 예를 들어 클라이언트 디바이스와 같은 하나 이상의 컴퓨터 컴포넌트, 및/또는 블록체인 노드들과 같은 하나 이상의 백엔드 컴포넌트의 일부로서 구현될 수 있다. 또한, 본 명세서에 설명된 양태들은 소비자 정보를 안전하게 저장하고 선택적으로 릴리즈하는 것을 용이하게 하는 컴퓨터 네트워크 아키텍처 및/또는 인지 컴퓨팅 아키텍처의 일부로서 구현될 수 있다. 따라서, 여기에 설명된 양태들은 컴퓨터 기술에 필연적으로 뿌리를 둔 기술적 특성의 쟁점들을 다루고 해결한다.
예를 들어, 양태들은 소비자 프라이버시 정보 및 결정들의 중앙화된 블록체인을 관리하는 것을 포함한다. 그렇게 하는 데에 있어서, 양태들은 복수의 위치에 저장된 복수의 결정 목록을 갖고 소비자들에게 제안들을 개별적으로 옵트 인 및 옵트 아웃하도록 요구하는 것에 연관된 문제를 해결한다. 또한, 이러한 양태들은 데이터 손상 가능성을 줄인다. 본 명세서에서 제안된 개선들이 없다면, 그러한 활동들을 수행하기 위해 추가적인 처리 및 메모리 사용, 또는 심지어 직접적인 사람의 개입이 요구될 것이다. 추가적인 기술적 이점들은 i) 접속된 디바이스와 통신할 때의 속도와 응답성이 향상되는 것; ⅱ) 정보의 프라이버시가 보안됨을 보장하는 것, ⅲ) 인가된 자들만이 릴리즈를 위해 인가된 정보에 액세스할 수 있을 것을 보장하는 것; ⅳ) 요구되는 소비자 상호작용이 감소되는 것; v) 사용자 선택에 기초하여 정보에 대한 액세스를 자동으로 방지하는 것; 및 vi) 트랜잭션들의 영구적인 기록들을 허용하는 것을 포함하지만 그에 제한되지 않는다. 추가적인 기술적 이점들은 본 명세서의 다른 섹션들에 설명된다.
또한, 본 명세서에 설명된 실시예들은 최신 소비자 개인 정보 및 결정들을 더 정확하게 저장함으로써 기존 기술들을 개선하고 컴퓨터의 기능을 향상시킨다. 본 실시예들은 그러한 방법들이 수행될 수 있는, 요구되는 속도, 효율, 보안 및 저장 공간을 향상시킨다. 이러한 개선들로 인해, 양태들은 종래 기술들보다 나은 효율에 관한 컴퓨터 관련 쟁점들을 해결한다. 따라서, 양태들은 또한 예를 들어 소비자 정보의 프라이버시에 관한 컴퓨터 관련 쟁점들을 해결한다.
따라서, 여기에 설명된 혁신적인 시스템들 및 방법들은 역사적으로 개인 정보 보안의 열악한 기록에 연관되어 있었고 새로운 규정을 준수하도록 설계된 소비자 프라이버시의 영역 내에서 특히 가치가 있다. 본 실시예들은 이러한 정보의 보다 안정적인 업데이트 및 제어를 가능하게 하지만 데이터 및 보안을 손상시키지 않는다. 또한, 개시된 기술들에 따르면, 광고주들은 자신이 광고를 전송하는 자들이 광고를 요청한 자들일 것을 더 잘 보장할 수 있다. 또한, 소비자 데이터에 추가적인 위험을 더하지 않으면서 소비자들을 더 신뢰성 있게 추적할 수 있는 능력은 광고주들과 소비자들이 통신할 수 있는 능력을 크게 향상시킨다.
소비자 정보를 보안하기 위한 시스템들 및 방법들의 예시적인 실시예들이 위에서 상세히 설명된다. 그러나, 본 개시내용의 시스템들 및 방법들은 본 명세서에 설명된 특정 실시예들에만 제한되는 것이 아니고, 그 구현의 컴포넌트들 및/또는 단계들은 본 명세서에 설명된 다른 컴포넌트들 및/또는 단계들과 독립적으로, 그리고 별도로 사용될 수 있다.
다양한 실시예들의 구체적인 특징들이 일부 도면들에는 도시되고 다른 도면들에는 도시되지 않을 수 있지만, 이는 단지 편의를 위한 것이다. 본 명세서에 설명된 시스템들 및 방법들의 원리에 따라, 도들의 임의의 특징은 임의의 다른 도면의 임의의 특징과 조합하여 참조되거나 청구될 수 있다.
일부 실시예들은 하나 이상의 전자 또는 컴퓨팅 디바이스의 사용을 포함한다. 이러한 디바이스들은 전형적으로 범용 중앙 처리 장치(CPU), 그래픽 처리 장치(GPU), 마이크로컨트롤러, 축소 명령어 세트 컴퓨터(RISC) 프로세서, 주문형 집적 회로(ASIC), 프로그래밍가능한 로직 회로(PLC), 프로그래밍가능한 로직 유닛(PLU), 필드 프로그래밍가능한 게이트 어레이(FPGA), 디지털 신호 처리(DSP) 디바이스, 및/또는 본 명세서에 설명된 기능들을 실행할 수 있는 임의의 다른 회로 또는 처리 디바이스와 같은 프로세서, 처리 디바이스 또는 제어기를 포함한다. 본 명세서에 설명된 방법들은 저장 디바이스 및/또는 메모리 디바이스를 포함하지만 이에 제한되지 않는 컴퓨터 판독가능한 매체에 구현된 실행가능한 명령어들로서 인코딩될 수 있다. 이러한 명령어들은 처리 디바이스에 의해 실행될 때 처리 디바이스로 하여금 본 명세서에 설명된 방법들의 적어도 일부를 수행하게 한다. 상기 예들은 단지 예시적인 것이며, 따라서 프로세서 및 처리 디바이스라는 용어의 정의 및/또는 의미를 제한하려고 의도된 것은 아니다.
이러한 기술된 설명은 예들을 사용하여, 최상의 모드를 포함하는 실시예들을 개시하고, 또한 본 기술분야의 통상의 기술자가 임의의 디바이스들 또는 시스템들을 제조 및 사용하고 임의의 통합된 방법들을 수행하는 것을 포함하여 실시예들을 실시할 수 있게 한다. 본 개시내용의 특허가능한 범위는 청구항들에 의해 정의되며, 본 기술분야의 통상의 기술자에게 발생하는 다른 예들을 포함할 수 있다. 그러한 다른 예들은 청구항들의 문자 표현과 다르지 않은 구조적 요소들을 갖는 경우, 또는 청구항들의 문자 표현과 사소한 차이를 갖는 등가의 구조적 요소들을 포함하는 경우, 청구항들의 범위 내에 있는 것으로 의도된다.
Claims (1)
- 프라이버시 정보를 안전하게 저장하기 위한 시스템으로서,
복수의 엔트리를 포함하는 소비자 프라이버시 정보를 포함하는 분산 데이터베이스를 유지하도록 구성된 복수의 노드
를 포함하고, 상기 분산 데이터베이스 내의 복수의 엔트리 중의 각각의 엔트리는 소비자 및 상기 분산 데이터베이스에 연관된 고유 암호화 키로 암호화되고,
각각의 엔트리는 상기 소비자에 연관된 공개 암호화 키에 기초하여 인덱싱되고,
상기 소비자에 연관된 가장 최근의 엔트리는 상기 소비자에 관한 현재 개인 정보를 포함하고,
상기 소비자에 연관된 제1 엔트리는 상기 고유 암호화 키의 암호화된 버전을 포함하는, 시스템.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862624519P | 2018-01-31 | 2018-01-31 | |
US62/624,519 | 2018-01-31 | ||
PCT/US2019/016177 WO2019152732A1 (en) | 2018-01-31 | 2019-01-31 | Systems and methods for privacy management using a digital ledger |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200115514A true KR20200115514A (ko) | 2020-10-07 |
KR102451524B1 KR102451524B1 (ko) | 2022-10-06 |
Family
ID=65496978
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020207021918A KR102451524B1 (ko) | 2018-01-31 | 2019-01-31 | 디지털 원장을 이용한 프라이버시 관리를 위한 시스템들 및 방법들 |
Country Status (6)
Country | Link |
---|---|
US (2) | US11281779B2 (ko) |
EP (2) | EP4170970A1 (ko) |
KR (1) | KR102451524B1 (ko) |
CN (1) | CN111727594B (ko) |
CA (1) | CA3088416C (ko) |
WO (1) | WO2019152732A1 (ko) |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106991334B (zh) * | 2016-11-24 | 2021-03-02 | 创新先进技术有限公司 | 一种数据存取的方法、系统及装置 |
US10419225B2 (en) | 2017-01-30 | 2019-09-17 | Factom, Inc. | Validating documents via blockchain |
US10411897B2 (en) | 2017-02-17 | 2019-09-10 | Factom, Inc. | Secret sharing via blockchains |
US10817873B2 (en) | 2017-03-22 | 2020-10-27 | Factom, Inc. | Auditing of electronic documents |
US11170366B2 (en) | 2018-05-18 | 2021-11-09 | Inveniam Capital Partners, Inc. | Private blockchain services |
US10783164B2 (en) | 2018-05-18 | 2020-09-22 | Factom, Inc. | Import and export in blockchain environments |
US11134120B2 (en) | 2018-05-18 | 2021-09-28 | Inveniam Capital Partners, Inc. | Load balancing in blockchain environments |
US10505737B1 (en) * | 2018-06-04 | 2019-12-10 | Syniverse Technologies, Llc | System and method for blockchain-based consent and campaign management |
US11334874B2 (en) * | 2018-08-06 | 2022-05-17 | Inveniam Capital Partners, Inc. | Digital contracts in blockchain environments |
US11989208B2 (en) | 2018-08-06 | 2024-05-21 | Inveniam Capital Partners, Inc. | Transactional sharding of blockchain transactions |
US11328290B2 (en) | 2018-08-06 | 2022-05-10 | Inveniam Capital Partners, Inc. | Stable cryptocurrency coinage |
JP7554181B2 (ja) * | 2018-09-12 | 2024-09-19 | ライブランプ インコーポレーテッド | ブロックチェーン分散型台帳を使用した複雑な消費者データのサプライチェーンの同意の履歴と適合性の追跡 |
SG11201903496PA (en) | 2018-11-16 | 2019-05-30 | Alibaba Group Holding Ltd | Cross-chain interactions using a domain name scheme in blockchain systems |
MX2019004660A (es) * | 2018-11-16 | 2019-08-12 | Alibaba Group Holding Ltd | Esquema de administracion de nombre de dominio para interacciones de cadena cruzada en sistemas de cadena de bloques. |
US11068316B2 (en) | 2018-12-24 | 2021-07-20 | LiquidApps Ltd | Systems and method for managing memory resources used by smart contracts of a blockchain |
EP3706011A1 (en) * | 2019-03-05 | 2020-09-09 | Siemens Aktiengesellschaft | Computer implemented method and processing device for processing maintenance information in a distributed database system using a storage client unit |
US11120167B2 (en) * | 2019-03-25 | 2021-09-14 | Micron Technology, Inc. | Block chain based validation of memory commands |
US11315150B2 (en) | 2019-05-08 | 2022-04-26 | Data Vault Holdings, Inc. | Portfolio driven targeted advertising network, system, and method |
US20210021407A1 (en) * | 2019-07-17 | 2021-01-21 | Charter Communications Operating, Llc | Apparatus and methods for blockchain-based verification |
US11954681B2 (en) * | 2019-09-30 | 2024-04-09 | Southeast University | Blockchain-enhanced open internet of things access architecture |
EP3846403A1 (en) * | 2019-12-31 | 2021-07-07 | Thales Dis France Sa | Method, ledger and system for establishing a secure connection from a chip to a network and corresponding network |
US11343075B2 (en) | 2020-01-17 | 2022-05-24 | Inveniam Capital Partners, Inc. | RAM hashing in blockchain environments |
US12099997B1 (en) | 2020-01-31 | 2024-09-24 | Steven Mark Hoffberg | Tokenized fungible liabilities |
US20210281921A1 (en) * | 2020-03-03 | 2021-09-09 | Arris Enterprises Llc | Media program viewership measurement using blockchains |
US11394717B2 (en) * | 2020-04-03 | 2022-07-19 | Kyndryl, Inc. | Digitally secure transactions over public networks |
CN111930852B (zh) * | 2020-09-29 | 2022-03-25 | 北京百度网讯科技有限公司 | 基于区块链的数据处理方法、装置、设备以及存储介质 |
US12008526B2 (en) | 2021-03-26 | 2024-06-11 | Inveniam Capital Partners, Inc. | Computer system and method for programmatic collateralization services |
CN113110899B (zh) * | 2021-06-11 | 2021-10-12 | 北京百度网讯科技有限公司 | 区块链系统的运行方法、装置、设备和存储介质 |
US12007972B2 (en) | 2021-06-19 | 2024-06-11 | Inveniam Capital Partners, Inc. | Systems and methods for processing blockchain transactions |
US20230306128A1 (en) * | 2022-02-23 | 2023-09-28 | San Francisco | Systems and methods for using secure, encrypted communications across distributed computer networks to provide variable resiliency when indexing blockchain states for performing blockchain operations in decentralized applications using cryptography-based digital repositories |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070250700A1 (en) * | 2006-04-21 | 2007-10-25 | Microsoft Corporation | Peer-to-peer contact exchange |
US20170126644A1 (en) * | 2015-10-30 | 2017-05-04 | Intuit Inc. | Selective encryption of profile fields for multiple consumers |
US20170206523A1 (en) * | 2015-11-06 | 2017-07-20 | Cable Television Laboratories, Inc | Systems and methods for digital asset security ecosystems |
Family Cites Families (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6115709A (en) * | 1998-09-18 | 2000-09-05 | Tacit Knowledge Systems, Inc. | Method and system for constructing a knowledge profile of a user having unrestricted and restricted access portions according to respective levels of confidence of content of the portions |
EP1035462B1 (en) * | 1999-03-08 | 2006-11-29 | Software Ag | Method for checking user access |
US6820204B1 (en) * | 1999-03-31 | 2004-11-16 | Nimesh Desai | System and method for selective information exchange |
US7146505B1 (en) * | 1999-06-01 | 2006-12-05 | America Online, Inc. | Secure data exchange between date processing systems |
US7302634B2 (en) * | 2001-03-14 | 2007-11-27 | Microsoft Corporation | Schema-based services for identity-based data access |
US7469341B2 (en) * | 2001-04-18 | 2008-12-23 | Ipass Inc. | Method and system for associating a plurality of transaction data records generated in a service access system |
US7359517B1 (en) * | 2001-10-09 | 2008-04-15 | Adobe Systems Incorporated | Nestable skeleton decryption keys for digital rights management |
US8065713B1 (en) * | 2001-12-12 | 2011-11-22 | Klimenty Vainstein | System and method for providing multi-location access management to secured items |
US7076558B1 (en) * | 2002-02-27 | 2006-07-11 | Microsoft Corporation | User-centric consent management system and method |
US20060126836A1 (en) * | 2004-12-10 | 2006-06-15 | Hector Rivas | System and method for dynamic generation of encryption keys |
US20070174362A1 (en) * | 2006-01-18 | 2007-07-26 | Duc Pham | System and methods for secure digital data archiving and access auditing |
US20080155267A1 (en) * | 2006-12-24 | 2008-06-26 | Zeev Lieber | Identity management system with an untrusted identity provider |
CN102025507B (zh) * | 2010-12-24 | 2013-05-15 | 暨南大学 | 一种保护数字内容消费者隐私的数字版权管理方法 |
US9582678B2 (en) * | 2011-04-19 | 2017-02-28 | Invenia As | Method for secure storing of a data file via a computer communication network |
US9270653B2 (en) * | 2011-05-11 | 2016-02-23 | At&T Mobility Ii Llc | Carrier network security interface for fielded devices |
US9542209B2 (en) * | 2012-06-29 | 2017-01-10 | Vmware, Inc. | Preserving user profiles across remote desktop sessions |
US9390279B2 (en) * | 2012-09-11 | 2016-07-12 | Nextnav, Llc | Systems and methods for providing conditional access to transmitted information |
US9892265B1 (en) * | 2015-03-31 | 2018-02-13 | Veritas Technologies Llc | Protecting virtual machine data in cloud environments |
US10699020B2 (en) * | 2015-07-02 | 2020-06-30 | Oracle International Corporation | Monitoring and alert services and data encryption management |
US20170099267A1 (en) * | 2015-10-01 | 2017-04-06 | Unisys Corporation | Systems and methods for pkcs #8 private file key support |
WO2017171165A1 (ko) * | 2015-12-14 | 2017-10-05 | (주)코인플러그 | 블록체인을 기반으로 하는 공인인증서 발급시스템과 이를 이용한 블록체인을 기반으로 하는 공인인증서 발급방법 |
US11361316B2 (en) * | 2016-06-06 | 2022-06-14 | Refinitiv Us Organization Llc | Systems and methods for providing a personal distributed ledger |
US20190012666A1 (en) * | 2016-09-30 | 2019-01-10 | Cable Television Laboratories, Inc | Systems and methods for protecting communications and supply chain information |
US10484178B2 (en) * | 2016-10-26 | 2019-11-19 | Black Gold Coin, Inc. | Systems and methods for providing a universal decentralized solution for verification of users with cross-verification features |
US20180343120A1 (en) * | 2016-10-26 | 2018-11-29 | Black Gold Coin, Inc. | Systems and methods for providing a universal decentralized solution for verification of users with cross-verification features |
WO2018093373A1 (en) * | 2016-11-17 | 2018-05-24 | Intel Corporation | Media and device for adaptable display |
US11178432B2 (en) * | 2016-11-17 | 2021-11-16 | Intel Corporation | Multi-use fog device |
EP3394756B1 (en) * | 2016-11-25 | 2024-01-03 | NEC Corporation | Method and system for byzantine fault - tolerance replicating of data |
EP3934203A1 (en) * | 2016-12-30 | 2022-01-05 | INTEL Corporation | Decentralized data storage and processing for iot devices |
WO2018222797A1 (en) * | 2017-06-02 | 2018-12-06 | Walmart Apollo, Llc | Systems and methods for product review management with distributed database |
CN107294709A (zh) * | 2017-06-27 | 2017-10-24 | 阿里巴巴集团控股有限公司 | 一种区块链数据处理方法、装置及系统 |
CN107622096B (zh) * | 2017-08-31 | 2020-06-05 | 上海保险交易所股份有限公司 | 基于区块链系统的异步多方数据交互方法和存储介质 |
US20190102850A1 (en) * | 2017-09-29 | 2019-04-04 | David McMakin Wheeler | Smart city commodity exchange with smart contracts |
US11520880B2 (en) * | 2017-11-03 | 2022-12-06 | International Business Machines Corporation | Identifying internet of things network anomalies using group attestation |
US11868995B2 (en) * | 2017-11-27 | 2024-01-09 | Nok Nok Labs, Inc. | Extending a secure key storage for transaction confirmation and cryptocurrency |
US20190034936A1 (en) * | 2017-12-29 | 2019-01-31 | Intel Corporation | Approving Transactions from Electronic Wallet Shares |
US11288740B2 (en) * | 2017-12-29 | 2022-03-29 | Intel Corporation | Securing distributed electronic wallet shares |
US10291395B1 (en) * | 2018-01-25 | 2019-05-14 | Fortress Cyber Security, LLC | Secure storage of data via a distributed ledger system |
US10380685B1 (en) * | 2018-05-18 | 2019-08-13 | Capital One Services, Llc | Secure system |
-
2019
- 2019-01-31 KR KR1020207021918A patent/KR102451524B1/ko active IP Right Grant
- 2019-01-31 CN CN201980011023.3A patent/CN111727594B/zh active Active
- 2019-01-31 US US16/264,406 patent/US11281779B2/en active Active
- 2019-01-31 EP EP22214750.6A patent/EP4170970A1/en active Pending
- 2019-01-31 EP EP19706332.4A patent/EP3744064B1/en active Active
- 2019-01-31 CA CA3088416A patent/CA3088416C/en active Active
- 2019-01-31 WO PCT/US2019/016177 patent/WO2019152732A1/en unknown
-
2022
- 2022-03-21 US US17/699,608 patent/US20220207159A1/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070250700A1 (en) * | 2006-04-21 | 2007-10-25 | Microsoft Corporation | Peer-to-peer contact exchange |
US20170126644A1 (en) * | 2015-10-30 | 2017-05-04 | Intuit Inc. | Selective encryption of profile fields for multiple consumers |
US20170206523A1 (en) * | 2015-11-06 | 2017-07-20 | Cable Television Laboratories, Inc | Systems and methods for digital asset security ecosystems |
Also Published As
Publication number | Publication date |
---|---|
EP3744064B1 (en) | 2024-01-31 |
US11281779B2 (en) | 2022-03-22 |
KR102451524B1 (ko) | 2022-10-06 |
EP3744064A1 (en) | 2020-12-02 |
US20220207159A1 (en) | 2022-06-30 |
CA3088416C (en) | 2024-03-19 |
WO2019152732A1 (en) | 2019-08-08 |
EP4170970A1 (en) | 2023-04-26 |
CA3088416A1 (en) | 2019-08-08 |
US20190236286A1 (en) | 2019-08-01 |
CN111727594B (zh) | 2023-04-04 |
CN111727594A (zh) | 2020-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102451524B1 (ko) | 디지털 원장을 이용한 프라이버시 관리를 위한 시스템들 및 방법들 | |
US11818265B2 (en) | Methods and systems for creating and recovering accounts using dynamic passwords | |
US11777726B2 (en) | Methods and systems for recovering data using dynamic passwords | |
US20210273812A1 (en) | Data system with information provenance | |
US20180322587A1 (en) | Payroll based blockchain identity | |
US20160300223A1 (en) | Protected data transfer across disparate networks | |
US20090271635A1 (en) | Methods and systems for authentication | |
US20130006865A1 (en) | Systems, methods, apparatuses, and computer program products for providing network-accessible patient health records | |
JP2021527970A (ja) | クラウドベースの鍵管理 | |
CA3051066A1 (en) | Dynamic implementation and management of hash-based consent and permissioning protocols | |
WO2014207554A2 (en) | Method and apparatus for providing database access authorization | |
US20040186998A1 (en) | Integrated security information management system and method | |
JP2019153181A (ja) | 管理プログラム | |
JPWO2019082442A1 (ja) | データ登録方法、データ復号方法、データ構造、コンピュータ、及びプログラム | |
US20230075539A1 (en) | Method and system for providing an electronic credential associated with electronic identification information | |
US11870898B2 (en) | Split keys for wallet recovery | |
WO2019163040A1 (ja) | アクセス管理システム、及びそのプログラム | |
CN117457133A (zh) | 支持动态访问的去中心化电子病历共享方法及系统 | |
JP2004213265A (ja) | 電子文書管理装置、文書作成者装置、文書閲覧者装置、電子文書管理方法及び電子文書管理システム | |
JPWO2020122095A1 (ja) | 制御方法、サーバ、プログラム、および、データ構造 | |
JP2024535211A (ja) | 信頼できる台帳を使用して個人情報を安全に管理するためのシステム及び方法 | |
JP2012079231A (ja) | 認証情報管理装置および認証情報管理方法 | |
WO2021073383A1 (zh) | 一种用户注册方法、用户登录方法及对应装置 | |
JP2015203947A (ja) | サービス提供装置、プログラム、及び、方法 | |
JP7367692B2 (ja) | 装置、リクエスト装置、方法、およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
A302 | Request for accelerated examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |