KR102377187B1 - 블록체인의 프라이버시 데이터 처리방법, 장치, 디바이스 및 저장매체 - Google Patents
블록체인의 프라이버시 데이터 처리방법, 장치, 디바이스 및 저장매체 Download PDFInfo
- Publication number
- KR102377187B1 KR102377187B1 KR1020210025329A KR20210025329A KR102377187B1 KR 102377187 B1 KR102377187 B1 KR 102377187B1 KR 1020210025329 A KR1020210025329 A KR 1020210025329A KR 20210025329 A KR20210025329 A KR 20210025329A KR 102377187 B1 KR102377187 B1 KR 102377187B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- calculation
- privacy
- transaction request
- source data
- Prior art date
Links
Images
Classifications
-
- 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
-
- 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
-
- 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
- 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/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
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- 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/008—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
-
- 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)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
본 출원의 실시예는 블록체인의 프라이버시 데이터 처리방법, 장비, 디바이스 및 저장매체를 공개하며, 블록체인의 기술분야에 관한 것이다. 블록체인 노드에 의해 실행되는 경우, 구체적인 실현수단으로서, 데이터 사용자에 의해 프라이버시 스마트 계약에 근거하여 개시된 데이터 계산 트랜잭션 요청을 취득하는 단계 - 데이터 계산 트랜잭션 요청에 있어서의 호출 데이터는 데이터 사용자에 의해 블라인드처리된 데이터임 - 와, 데이터 계산 트랜잭션 요청에 의해, 동형 암호화된 소스 데이터를 취득하는 단계와, 데이터 계산 트랜잭션 요청에 있어서의 계산 태스크에 의해 프라이버시 스마트 계약을 호출하고 호출 데이터 및 소스 데이터에 대한 계산을 실행하여 계산 결과를 취득하는 단계와, 데이터 계산 트랜잭션 요청 및 계산 결과를 업링크하고, 데이터 계산 트랜잭션 요청의 데이터 사용자에게 피드백하여, 데이터 사용자가 계산 결과에 대해 동형 복호화 및 블라인드 제거처리를 실시하도록 하여 평문 계산 결과를 취득하는 단계를 포함한다. 따라서, 블록체인의 프라이버시 데이터 처리수단이 최적화된다.
Description
본 출원의 실시예는 컴퓨터 기술분야에 관한 것이며, 특히 블록체인 기술에 관한 것이다.
블록체인 기술의 발전과 함께, 블록체인은 많은 어플리케이션 프로그램에서 구현되고있다. 블록체인 기술은 멀티카피 리던던시 모드를 특징으로하며, 체인에서 처리된 트랜잭션 요청은 모든 노드에 의해 검증되고 저장된다. 이 모드로 인해, 비 트랜잭션 참가자가 블록체인의 프라이버시 데이터를 획득하거나 스마트 계약의 데이터가 유출되는 우려가 있다.
상기 문제에 대한 종래 해결방법으로서, 신뢰 실행 환경 (Trust Execution Environment)에 근거하여 데이터계산을 행하거나 또는 완전히 오프체인하에서 프라이버시 계산을 행하는 등이 포함된다.
상기 방법의 문제점은 TEE를 기반으로 하는 기술적수단은 배포비용이 상대적으로 높고, 사용자가 특수한 하드웨어를 구입해야하며, 오프체인하에서의 계산방식은 계산이 과도집중되어 계산의 공정성과 안전성을 보증하기 어렵다.
본 발명의 실시예는 블록체인의 프라이버시 데이터 처리수단을 최적화하기 위한 블록체인의 프라이버시 데이터 처리방법, 장치, 디바이스 및 저장매체를 제공한다.
본 발명의 일 양태에 따르면, 블록체인 노드에 의해 실행되는 블록체인의 프라이버시 데이터 처리방법으로서, 상기 방법은, 데이터 사용자에 의해 프라이버시 스마트 계약에 근거하여 개시된 데이터 계산 트랜잭션 요청을 취득하는 단계 - 상기 데이터 계산 트랜잭션 요청에 있어서의 호출 데이터는 상기 데이터 사용자에 의해 블라인드처리된 데이터임 - 와, 상기 데이터 계산 트랜잭션 요청에 의해, 동형 암호화된 소스 데이터를 취득하는 단계와, 상기 데이터 계산 트랜잭션 요청에 있어서의 계산 태스크에 의해 상기 프라이버시 스마트 계약을 호출하고 상기 호출 데이터 및 상기 소스 데이터에 대한 계산을 실행하여 계산 결과를 취득하는 단계와, 상기 데이터 계산 트랜잭션 요청 및 계산 결과를 업링크하고, 상기 데이터 계산 트랜잭션 요청의 데이터 사용자에게 피드백하여 상기 데이터 사용자가 상기 계산 결과에 대해 동형 복호화 및 블라인드 제거처리를 실시하여 평문계산 결과를 취득하는 단계를 포함한다.
본 발명의 다른 한 양태에 따르면, 블록체인 클라이언트가 실행되는 블록체인의 프라이버시 데이터 처리방법으로서, 상기 방법은, 블록체인에 공개된 동형 암호화 데이터로부터 계산 태스크에 필요한 소스 데이터를 결정하는 단계와, 상기 계산 태스크의 호출 데이터를 블라인드 처리하는 단계와, 블록체인 노드가 배치한 프라이버시 스마트 계약에 근거하여, 상기 호출 데이터 및 소스 데이터에 대해 상기 계산 태스크를 실행하는 데이터 계산 트랜잭션 요청을 개시하여, 상기 프라이버시 스마트 계약을 호출하고 상기 계산 태스크를 실행하여 계산 결과를 취득하도록 상기 블록체인 노드에 요청하는 단계와, 업링크된 계산 결과를 취득하는 단계와, 상기 소스 데이터의 데이터 제공자가 동형 암호화 공개키를 제공하도록 요청하는 단계와, 상기 동형 암호화 공개키를 이용하여 상기 계산 결과에 대해 동형 복호화를 실시함과 동시에 상기 계산 결과에 대해 블라인드 제거 처리를 실시하여 평문계산 결과를 취득하는 단계를 포함한다.
본 발명의 다른 한 양태에 따르면, 블록체인 노드에 배치되는 블록체인의 프라이버시 데이터 처리장치로서, 상기 장치는, 데이터 사용자에 의해 프라이버시 스마트 계약에 근거하여 개시된 데이터 계산 트랜잭션 요청을 취득하기 위한 트랜잭션 요청 취득 모듈 - 상기 데이터 계산 트랜잭션 요청에 있어서의 호출 데이터가 상기 데이터 사용자에 의해 블라인드처리된 데이터임 - 과, 상기 데이터 계산 트랜잭션 요청에 의해, 동형 암호화된 소스 데이터를 취득하기 위한 소스 데이터 취득 모듈과, 상기 데이터 계산 트랜잭션 요청에 있어서의 계산 태스크에 의해, 상기 프라이버시 스마트 계약을 호출하고 상기 호출 데이터 및 상기 소스 데이터에 대한 계산을 실행하여 계산 결과를 취득하기 위한 계산 태스크 처리 모듈과, 상기 데이터 계산 트랜잭션 요청 및 계산 결과를 업링크하고, 상기 데이터 계산 트랜잭션 요청의 데이터 사용자에게 피드백하여 상기 데이터 사용자가 상기 계산 결과에 대해 동형 복호화 및 블라인드 제거처리를 실시하여 평문 계산 결과를 취득하기 위한 업링크 처리 모듈을 구비한다.
본 발명의 다른 한 양태에 따르면, 블록체인 클라이언트에 배치되는 블록체인의 프라이버시 데이터 처리장치로서, 상기 장치는, 블록체인에 공개된 동형 암호화 데이터로부터 계산 태스크에 필요한 소스 데이터를 결정하기 위한 소스 데이터 결정 모듈과, 상기 계산 태스크의 호출 데이터를 블라인드 처리하기 위한 블라인드 처리 모듈과, 블록체인 노드가 배치한 프라이버시 스마트 계약에 근거하여, 상기 호출 데이터 및 소스 데이터에 대해 상기 계산 태스크를 실행하는 데이터 계산 트랜잭션 요청을 개시하고, 상기 블록체인 노드에 상기 프라이버시 스마트 계약을 호출하고 상기 계산 태스크를 실행하도록 요청하여 계산 결과를 취득하기 위한 계산 요청 개시 모듈과, 업링크된 계산 결과를 얻기 위한 계산 결과 취득 모듈과, 상기 소스 데이터의 데이터 제공자가 동형 암호화 공개키를 제공하도록 요청하는 암호화 키 취득 모듈과,상기 동형 암호화 공개키를 이용하여 상기 계산 결과에 대해 동형 복호화를 실시함과 동시에 상기 계산 결과에 대해 블라인드 제거 처리를 실시하여 평문 계산 결과를 취득하기 위한 계산 결과 처리 모듈을 구비한다.
본 발명의 다른 한 양태에 따르면, 전자기기로서, 상기 전자기기는 적어도 하나의 프로세서와, 상기 적어도 하나의 프로세서에 통신 가능하게 연결되는 메모리를 포함하며, 상기 메모리에는 상기 적어도 하나의 프로세서에 의해 실행되는 지령이 포함되어 있으며, 상기 지령은 상기 적어도 하나의 프로세서에 의해 실행되고, 상기 적어도 하나의 프로세서에 본 출원 중 임의의 실시예에 기재된 블록체인의 프라이버시 데이터 처리방법을 실행하도록 한다.
본 발명의 다른 한 양태에 따르면, 컴퓨터 지령이 저장되어 있는 비 일시적 컴퓨터 판독 가능한 저장매체로서, 상기 컴퓨터 지령은 상기 컴퓨터가 본 출원의 임의의 실시예에 기재된 블록체인 프라이버시 데이터 처리방법을 실행하도록 한다.
본 출원에 의한 기술은 종래기술에서 블록체인의 프라이버시 데이터 처리를 실행할 때 안전성과 프라이버시가 보장되지 않는 문제를 해결하고, 블록체인의 프라이버시 데이터 처리수단을 최적화한다.
이 부분에서 설명된 내용은 본 발명의 실시예의 관건 또는 중요한 특징을 나타내기위한 것이 아니며 본 발명의 범위를 제한하기 위한 것도 아님을 이해해야 한다. 본 발명의 기타 특징은 아래의 명세서에 의해 쉽게 이해하게 될것이다.
도면은 본 기술적수단을 더 잘 이해하기 위한 것으로서, 본 출원을 한정하는 것이 아니다.
도1은 본 출원의 실시예에 따른 블록체인의 프라이버시 데이터 처리방법의 흐름도이다.
도2는 본 출원의 실시예에 따른 다른 블록체인의 프라이버시 데이터 처리방법의 흐름도이다.
도3은 본 출원의 실시예에 따른 다른 블록체인의 프라이버시 데이터 처리방법의 흐름도이다.
도4는 본 출원의 실시예에 따른 다른 블록체인의 프라이버시 데이터 처리방법의 흐름도이다.
도5는 본 출원의 실시예에 따른 다른 블록체인의 프라이버시 데이터 처리방법의 흐름도이다.
도6은 본 출원의 실시예에 따른 다른 블록체인의 프라이버시 데이터 처리방법의 흐름도이다.
도7a는 본 출원의 실시예에 따른 블록체인의 프라이버시 데이터 처리방법의 신호도이다.
도7b는 본 출원의 실시예에 따른 블록체인의 프라이버시 데이터 처리시스템 프레임 워크의 개략도이다.
도8은 본 출원의 실시예에 따른 블록체인의 프라이버시 데이터 처리장치의 구조 개략도이다.
도9는 본 출원의 실시예에 따른 블록체인의 프라이버시 데이터 처리장치의 구조 개략도이다.
도10은 본 출원의 실시예의 블록체인의 프라이버시 데이터 처리방법을 실현하기 위한 전자기기의 블록도이다.
도1은 본 출원의 실시예에 따른 블록체인의 프라이버시 데이터 처리방법의 흐름도이다.
도2는 본 출원의 실시예에 따른 다른 블록체인의 프라이버시 데이터 처리방법의 흐름도이다.
도3은 본 출원의 실시예에 따른 다른 블록체인의 프라이버시 데이터 처리방법의 흐름도이다.
도4는 본 출원의 실시예에 따른 다른 블록체인의 프라이버시 데이터 처리방법의 흐름도이다.
도5는 본 출원의 실시예에 따른 다른 블록체인의 프라이버시 데이터 처리방법의 흐름도이다.
도6은 본 출원의 실시예에 따른 다른 블록체인의 프라이버시 데이터 처리방법의 흐름도이다.
도7a는 본 출원의 실시예에 따른 블록체인의 프라이버시 데이터 처리방법의 신호도이다.
도7b는 본 출원의 실시예에 따른 블록체인의 프라이버시 데이터 처리시스템 프레임 워크의 개략도이다.
도8은 본 출원의 실시예에 따른 블록체인의 프라이버시 데이터 처리장치의 구조 개략도이다.
도9는 본 출원의 실시예에 따른 블록체인의 프라이버시 데이터 처리장치의 구조 개략도이다.
도10은 본 출원의 실시예의 블록체인의 프라이버시 데이터 처리방법을 실현하기 위한 전자기기의 블록도이다.
이하에서는 첨부된 도면을 참조하여 본 출원의 실시예를 설명하며, 이는 이해를 돕기 위해 본 출원의 실시예에 대한 다양한 세부사항을 포함하며, 단지 예시적인 것으로 간주되어야 한다. 따라서, 당업자는 본 출원의 범위 및 사상에서 벗어남이 없이 본 명세서에 기재된 실시예에 대해 다양한 변경 및 수정을 할 수 있음을 이해하기 바란다. 또한 아래의 설명에서는 명확성 및 간결성을 위해, 잘 알려져 있는 기능 및 구조에 대한 설명은 생략한다.
도1은 본 출원의 실시예에 따른 블록체인의 프라이버시 데이터 처리방법의 흐름도이다. 본 출원의 실시예는 블록체인에 있어서의 프라이버시 데이터에 대해 계산처리를 실시하는 경우에 적용된다. 상기 실시예는 블록체인 노드에 배치된 블록체인의 프라이버시 데이터 처리장치에 의해 실행할 수 있으며, 상기 장치는 소프트웨어 및 / 또는 하드웨어에 의해 구현될수 있으며 블록체인 노드로서의 전자기기에 통합될 수 있다.
도1에 나타낸 바와 같이, 상기 방법은 하기와 같은 단계를 포함한다.
단계(S101)에서, 데이터 사용자에 의해 프라이버시 스마트 계약에 근거하여 개시된 데이터 계산 트랜잭션 요청을 취득하되, 데이터 계산 트랜잭션 요청에 있어서의 호출 데이터는 데이터 사용자에 의해 블라인드처리된 데이터이다.
여기서, 데이터 사용자는 블록체인에 저장된 소스 데이터를 사용하여 데이터처리 조작을 실행하려고 하는 블록체인 사용자일 수 있다. 프라이버시 스마트 계약은 프라이버시 데이터 처리를 실현하는 프로그램 컬렉션일 수 있고, 해당 프라이버시 스마트 계약에 대화형 인터페이스를 제공하여, 사용자가 데이터를 개시하거나 데이터의 다양한 콘텐츠에 응하도록 함으로써 구체적인 트랜잭션 요청을 생성 또는 실행하도록 할 수 있다. 데이터 계산 트랜잭션 요청은 데이터 사용자가 프라이버시 스마트 계약에 근거하여 현재의 블록체인 네트워크에서 개시한, 블록체인 노드가 관련 데이터 계산 태스크를 실행하도록 요청하는데 사용되는 요청이다.
선택적으로, 데이터 사용자가 개시한 데이터 계산 트랜잭션 요청은, 이번에 실행해야 할 계산 태스크 및 해당 계산 태스크를 실행하는데 필요한 데이터를 포함할 수 있다. 선택적으로, 계산 태스크에 필요한 데이터는, 이번 계산 태스크 실행시, 데이터 사용자 자신이 제공해야 할 데이터인 호출 데이터를 포함할 수 있다. 데이터 사용자 자신의 데이터는 프라이버시 데이터일 가능성이 있고 계산 태스크 실행 중 공개를 바라지 않기 때문에 본 출원의 실시예에서는 데이터 계산 트랜잭션 요청에 있어서의 호출 데이터를 데이터 사용자에 의해 블라인드 처리된 데이터로 할 수 있다. 블라인드 처리는 데이터 사용자가 스스로 결정한 규칙에 따라 호출 데이터를 처리함으로써, 처리된 데이터가 호출 데이터 평문을 유출시키지 않도록 하며 데이터 계산 태스크를 계속하여 실행할 수 있도록 할 수 있다. 여기서, 상기 블라인드 처리의 규칙은 가역적인 것으로, 후속의 블라인드 처리된 호출 데이터에 근거하여 계산 태스크를 실행한 후, 계산 결과에 대해 블라인드 제거 처리를 행해야 한다.
선택적으로, 본 출원의 실시예에 있어서, 블라인드 처리방법은 여러가지일 수 있지만, 이에 대해 특별히 한정하지 않는다. 예를 들면, 상기 블라인드 처리는 호출 데이터에 랜덤값을 추가하는 것을 포함할 수 있고, 상기 블라인드 제거 처리는 계산 결과로부터 상기 랜덤값을 제거하는 것을 포함할 수 있다. 랜덤값을 추가하는 과정은 가하기, 덜기, 곱하기, 나누기 등의 연산 중 적어도 하나일수 있고, 대응하여, 랜덤값을 제거하는 과정은 랜덤값을 추가하는 과정의 반대과정일 수 있다. 예를 들어, 호출 데이터가 5이고 랜덤값이 10이라고 가정하면, 상기 호출 데이터에 대한 블라인드 처리는 호출 데이터 5와 랜덤값 10을 더한 결과 15를 블라인드처리된 호출 데이터로 할 수 있다. 계산 결과가 20인 경우, 계산 결과 20과 랜덤값10을 감한 결과 10을 블라인드 제거처리된 계산 결과로 한다. 상기 블라인드 처리는 호출 데이터 자체에 대한 지수, 로그 등의 연산처리를 더 포함할 수 있으며, 대응하여, 상기 블라인드 제거 처리는 계산 결과에 대한 제곱근, 지수 등의 연산처리를 포함할 수 있다.
선택적으로, 본 조작에 있어서, 로컬의 블록체인 노드는 로컬로부터 데이터 사용자에 의해 프라이버시 스마트 계약에 근거하여 개시된 데이터 계산 트랜잭션 요청을 취득할 수 있고, 블록체인 네트워크를 통해 다른 노드에서 전송된 데이터 계산 트랜잭션 요청을 수신할 수 있다.
단계(S102)에서, 데이터 계산 트랜잭션 요청에 의해, 동형 암호화된 소스 데이터를 취득한다.
여기서, 동형 암호화된 소스 데이터는 동형 암호화 기술을 통해 데이터 제공자의 소스 데이터를 동형 암호화 처리하여 얻을 수 있다. 이른바 소스 데이터는 예를 들어, 직원정보, 고객정보 등 데이터 제공자 내부의 프라이버시 데이터일 수 있다. 소스 데이터의 안전성과 프라이버시를 보장하기 위해, 데이터 제공자는 일반적으로 소스 데이터를 동형 암호화한 후 블록체인에 저장하여 다른 블록체인 사용자가 사용하도록 한다. 본 출원의 실시예가 소스 데이터에 동형 암호화를 행하는 이유는, 동형 암호화된 소스 데이터를 이용하여 계산 태스크를 실행한 계산 결과를 복호화한 후, 암호화하지 않은 소스 데이터 평문을 이용하여 상기 계산 태스크를 실행한 계산 결과와 동일하기 때문이다. 이렇게 함으로써 데이터 제공자의 소스 데이터 평문의 누설을 방지한 전제하에서, 데이터 사용자에게 제공되어 계산 태스크를 실행할 수 있게 된다.
선택적으로, 본 출원의 실시예에 있어서, 데이터 제공자는 소스 데이터를 동형 암호화한 후 블록체인 네트워크에 업링크 저장할 수 있다. 로컬의 블록체인 노드가 데이터 사용자에 의해 개시된 데이터 계산 트랜잭션 요청을 받은 후, 먼저, 해당 데이터 계산 트랜잭션 요청에 있어서 이번의 계산 태스크가 지정하는 소스 데이터에 대한 관련정보 예를 들어, 소스 데이터 식별 ID, 데이터 제공자 및 데이터 사용량 등을 결정한 후, 블록체인 네트워크로부터 해당 관련정보가 지정하는 동형 암호화된 소스 데이터를 검색하고 취득한다.
단계(S103)에서, 데이터 계산 트랜잭션 요청에 있어서의 계산 태스크에 의해, 프라이버시 스마트 계약을 호출하고 호출 데이터 및 소스 데이터에 대한 계산을 실행하여 계산 결과를 취득한다.
계산 태스크는, 데이터 사용자가 동형 암호화된 소스 데이터와 자체의 호출 데이터를 이용하여 실행해야 할 계산 태스크일 수 있다. 예를 들어, 상기 계산 태스크에는 모델 훈련 태스크, 데이터 통계 태스크, 데이터 예측 태스크 등을 포함 할 수 있나, 이에 국한되지 않는다.
선택적으로, 본 조작에 있어서, 로컬의 블록체인 노드는 먼저 데이터 계산 트랜잭션 요청으로부터 실행해야 할 계산 태스크를 취득한 후, 프라이버시 스마트 계약을 호출하여 데이터 계산 트랜잭션 요청에 있어서의 블라인드처리된 호출 데이터와 단계(S102)에서 취득한 동형 암호화된 소스 데이터에 대해 이번의 계산 태스크를 실행하여 계산 결과를 취득할 수 있다.
예를 들어, 데이터 사용자가 공개한 계산 트랜잭션 요청을 얼굴 인식 네트워크 모델로 가정하면, 로컬의 블록체인 노드는 계산 트랜잭션 요청으로부터 블라인드처리된 훈련될 얼굴 인식 모델의 관련 데이터를 호출 데이터로서 취득하고, 블록체인 네트워크로부터 대량의 동형 암호화된 사용자 얼굴 이미지를 소스 데이터로 취득한 다음, 프라이버시 스마트 계약에서 모델 훈련을 실행하는 관련 프로그램 코드를 호출하고 소스 데이터를 훈련샘플로 하여 호출 데이터에 대응하는 얼굴 인식 모델을 모델 파라미터 훈련하고, 훈련된 얼굴 인식 모듈을 계산 결과로 한다.
단계(S104), 데이터 계산 트랜잭션 요청 및 계산 결과를 업링크 조작하고, 데이터 계산 트랜잭션 요청의 데이터 사용자에게 피드백하여, 데이터 사용자가 계산 결과에 대해 동형 복호화 및 블라인드 제거 처리를 실시하도록 하여 평문 계산 결과를 취득한다.
선택적으로, 본 조작에 있어서, 로컬의 블록체인 노드가 이번 계산 태스크를 실행하여 계산 결과를 얻은 후, 프라이버시 스마트 계약에 있어서의 업링크 조작의 관련 프로그램 코드를 호출하고, 이번에 처리한 데이터 계산 트랜잭션 요청 및 계산하여 얻은 계산 결과를 업링크 저장할 수 있다. 이 때, 데이터 사용자는 블록체인으로부터, 개시한 데이터 계산 트랜잭션 요청의 계산 결과를 얻을 수 있다. 상기 계산 결과는, 데이터 제공자가 동형 암호화된 소스 데이터와 블라인드 처리된 호출 데이터를 통해 계산하여 얻은 것이기 때문에, 데이터 사용자는 해당 계산 결과에 대해 동형 복호화 처리를 행하여 초기의 평문 계산 결과를 얻어야 하며, 해당 초기의 평문 계산 결과는 암호화 하지 않은 소스 데이터를 이용하여 이번 계산 태스크를 실행하여 얻은 결과와 동일하다. 그 후, 스스로 호출 데이터를 블라인드 처리할 때의 조작과 반대되는 조작에 근거하여 초기의 평문 계산 결과에 대해 블라인드 제거 처리를 행하여 최종의 평문 계산 결과를 얻는다.
선택적으로, 본 출원의 실시예는 계산 결과에 대해 동형 암호화 처리를 행할 때, 이번의 계산 태스크가 사용하는 소스 데이터의 제공자가 해당 소스 데이터를 동형 암호화 할 때에 사용하는 동형 암호화 키 (동형 암호화 공개키 등)를 취득하여 계산 결과를 해독화 처리하도록 할 수 있다. 예를 들어, 데이터 제공자와 오프라인하에서 상호 교환하여 데이터 제공자의 동형 암호화 공개키의 취득을 요청하도록 할 수 있다. 또한, 데이터 제공자의 동형 암호화 공개키 등을 얻기 위해 블록체인 네트워크에 데이터 제공자의 암호화 키의 취득 요청을 개시할 수 있으며, 이에 대해 본 출원의 실시예는 한정하지 않는다.
본 출원의 실시예의 기술적수단은, 블록체인 노드가 데이터 사용자가 개시한 데이터 계산 트랜잭션 요청을 취득한 후, 이번 계산 태스크 실행에 필요한 동형 암호화된 소스 데이터 및 블라인드처리된 호출 데이터를 취득하고, 프라이버시 스마트 계약을 호출하고, 이번 계산 태스크를 실행하여 계산 결과를 얻고 업링크 저장한다. 본 출원의 실시예에 있어서, 계산 태스크를 실행에 사용하는 소스 데이터는 데이터 제공자에 의해 동형 암호화된 소스 데이터이며, 데이터 제공자의 데이터의 안전성을 보증하고, 사용하는 호출 데이터는 데이터 사용자에 의해 블라인드처리된 데이터이며, 데이터 사용자의 데이터의 안전성을 보증하고, 마지막으로 복호화 처리 및 블라인드 제거 처리를 통해 계산 결과의 정확성을 보증한다. 프라이버시 데이터처리 프로세스는 전반적으로 일반적인 블록체인 노드를 사용하여 완성할 수 있으며, 데이터 제공자 및 데이터 사용자의 데이터의 유출을 방지하고 프라이버시 데이터 처리과정의 공정성과 안전성을 보증한다. 따라서, 블록체인의 프라이버시 데이터 처리 프로그램이 최적화된다.
도2는 본 출원의 실시예에 따른 다른 하나의 블록체인의 프라이버시 데이터 처리방법의 흐름도이다. 본 실시예는 상기 실시예의 기초하에 진일보적인 최적화를 행한 것이며, 데이터 제공자의 데이터 공개 트랜잭션 요청을 처리하는 구체적인 상황을 소개한다. 도2에 나타낸 바와 같이, 상기 방법은 다음을 포함한다.
단계(S201)에서, 데이터 제공자에 의해 프라이버시 스마트 계약에 근거하여 개시된 데이터 공개 트랜잭션 요청을 취득하되, 데이터 공개 트랜잭션 요청에 있어서의 소스 데이터는 동형 암호화된 데이터이다.
데이터 공개 트랜잭션 요청은, 데이터 제공자가 프라이버시 스마트 계약에 근거하여 현재 블록체인 네트워크에 개시한, 블록체인 노드가 그 중에 포함된 소스 데이터를 업링크 저장하도록 요청하기 위한 요청이다. 선택적으로, 본 출원의 실시예에 있어서, 데이터 공개 트랜잭션 요청에 포함된 소스 데이터는 데이터 제공자 자체의 프라이버시 데이터일 수 있고, 상기 소스 데이터는 동형 암호화 알고리즘을 이용하여 암호화된 소스 데이터이다.
선택적으로, 데이터 제공자가 블록체인 네트워크에 소스 데이터를 업링크하고 다른 블록체인 사용자가 사용하도록 할 경우, 먼저 소스 데이터를 동형 암호화 알고리즘을 이용하여 암호화한 후, 프라이버시 스마트 계약에 근거하여 블록체인 네트워크에 데이터 공개 트랜잭션 요청을 개시할 수 있다. 로컬의 블록체인 노드는 로컬에서 데이터 사용자가 프라이버시 스마트 계약에 근거하여 개시한 데이터 공개 트랜잭션 요청을 취득할 수 있고, 블록체인 네트워크를 통해 다른 노드에서 전송된 데이터 공개 트랜잭션 요청을 수신할 수도 있다.
단계(S202)에서, 프라이버시 스마트 계약을 호출하고 데이터 공개 트랜잭션 요청을 실행하여 소스 데이터를 업링크 공개한다.
선택적으로, 로컬의 블록체인 노드는 데이터 공개 트랜잭션 요청을 받은 후, 프라이버시 스마트 계약을 호출하여 해당 데이터 공개 트랜잭션 요청을 실행하여, 공개되는 동형 암호화된 소스 데이터를 취득한 후, 취득한 해당 소스 데이터 및 데이터 공개 트랜잭션 요청을 트랜잭션 데이터로 블록체인 네트워크에 저장하여 다른 블록체인 어카운트가 사용하도록 한다.
선택적으로, 사용자가 필요한 소스 데이터를 선택하기 쉽게 하기 위해, 본 출원의 실시예는 데이터 제공자가 데이터 공개 트랜잭션 요청을 개시할 때, 공개되는 소스 데이터에 해당 소스 데이터를 소개하는 요약정보 등을 추가할 수 있다. 이에 대응하여, 본 단계는 프라이버시 스마트 계약을 호출하여 데이터 공개 트랜잭션 요청을 실행할 때, 데이터 공개 트랜잭션 요청, 소스 데이터 및 소스 데이터의 요약정보를 일괄하여 업링크 저장한다.
단계(S203)에서, 데이터 사용자에 의해 프라이버시 스마트 계약에 근거하여 개시된 데이터 계산 트랜잭션 요청을 취득하되, 데이터 계산 트랜잭션 요청에 있어서의 호출 데이터는 데이터 사용자에 의해 블라인드처리된 데이터이다.
단계(S204)에서, 데이터 계산 트랜잭션 요청에 의해, 동형 암호화된 소스 데이터를 취득한다.
단계(S205)에서, 데이터 계산 트랜잭션 요청에 있어서의 계산 태스크에 의해, 프라이버시 스마트 계약을 호출하고, 호출 데이터 및 소스 데이터에 대한 계산을 실행하여 계산 결과를 취득한다.
단계(S206)에서, 데이터 계산 트랜잭션 요청 및 계산 결과를 업링크 조작하고, 데이터 계산 트랜잭션 요청의 데이터 사용자에게 피드백하여, 데이터 사용자가 계산 결과에 대해 동형 복호화 및 블라인드 제거 처리를 실시하도록 하여 평문 계산 결과를 취득한다.
본 출원의 실시예의 기술적수단은, 블록체인 노드가 데이터 제공자에 의해 개시된 데이터 공개 트랜잭션 요청을 취득한 후, 해당 데이터 공개 트랜잭션 요청을 실행하고 동형 암호화된 소스 데이터를 취득하여 업링크한다. 데이터 제공자의 소스 데이터의 안전성이 보장된다. 블록체인 노드는 데이터 사용자가 개시한 데이터 계산 트랜잭션 요청을 취득한 후, 이번 계산 태스크의 실행에 필요한 동형 암호화된 소스 데이터 및 블라인드처리된 호출 데이터를 취득하고 프라이버시 스마트 계약을 호출하고 이번 계산 태스크를 실행하여 계산 결과를 얻고 업링크 저장한다. 본 출원의 실시예는 소스 데이터 및 호출 데이터의 평문의 누설을 방지함과 동시에 데이터 사용자가 정상적으로 데이터 계산 태스크를 행하도록 지원할 수 있을뿐만 아니라, 후속의 동형 복호화 및 블라인드 제거 처리를 통해 정확한 계산 결과를 얻을 수 있다. 계산과정의 공정성과 안전성이 보증된다.
선택적으로, 본 출원의 실시예는 상기 S202의 조작을 실행할 때, 프라이버시 스마트 계약을 호출하고 데이터 공개 트랜잭션 요청을 실행하여, 데이터 사용자 정보, 소스 데이터 설명 정보, 소스 데이터 저장 위치 및 소스 데이터 요약 정보를 포함하는 소스 데이터의 데이터 정보를 취득하고, 데이터 공개 트랜잭션 요청 및 데이터 정보를 업링크할 수도 있다. 구체적으로, 본 출원의 실시예에서는 데이터 제공자가 프라이버시 스마트 계약과 공개되는 소스 데이터의 데이터 정보에 근거하여 데이터 공개 트랜잭션 요청을 개시한다. 그 중, 공개되는 소스 데이터의 데이터 정보는, 데이터 사용권한이 있는 사용자 정보, 이번에 공개된 소스 데이터 설명정보 (데이터 유형, 데이터 크기 등), 소스 데이터의 구체적인 저장장소 및 소스 데이터의 내용을 소개하는 소스 데이터 요약정보 등을 포함할 수 있다. 이 때, 블록체인 노드는 프라이버시 스마트 계약을 호출하여 해당 데이터 공개 트랜잭션 요청을 실행하여 소스 데이터의 데이터 정보를 취득한 후, 취득한 데이터 공개 트랜잭션 요청 및 그 중에 포함된 소스 데이터의 데이터 정보를 블록체인 네트워크에 저장하여, 다른 블록체인 사용자가 사용하도록 할 수 있다. 본 출원의 실시예에서는 블록체인 네트워크에 소스 데이터의 구체적인 내용이 아니라 데이터의 데이터정보가 저장되어 있으며, 이러한 설치는 블록체인의 메모리 공간을 절약하고 후속의 소스 데이터 검색의 효율성을 향상시킬 수 있다.
도3은 본 출원의 실시예에 따른 다른 블록체인의 프라이버시 데이터 처리방법의 흐름도이다. 본 실시예는 상기 각 실시예의 기초상에 진일보적인 최적화를 실시한 것이며, 데이터 계산 트랜잭션 요청을 취득한 후, 데이터 사용자를 인증하는 구체적인 상황을 소개한다. 도3에 나타낸 바와 같이, 상기 방법은 다음을 포함한다.
단계(S301)에서, 데이터 사용자에 의해 프라이버시 스마트 계약에 근거하여 개시된 데이터 계산 트랜잭션 요청을 취득하되, 데이터 계산 트랜잭션 요청에 있어서의 호출 데이터는 데이터 사용자에 의해 블라인드처리된 데이터이다.
단계(S302)에서, 데이터 계산 트랜잭션 요청에 있어서의 지정된 소스 데이터에 근거하여 데이터 사용자가 소스 데이터를 사용하는 권한에 대해 인증조작을 실시한다.
선택적으로, 본 출원의 실시예에 있어서, 로컬의 블록체인 노드는 데이터 계산 트랜잭션 요청을 취득한 후, 해당 데이터 계산 트랜잭션 요청을 분석하여, 지정된 이번에 사용해야 할 소스 데이터를 취득한 후, 먼저 해당 소스 데이터를 취득하는 것이 아니라, 먼저 이번의 데이터 계산 트랜잭션 요청을 공개하는 데이터 사용자를 인증하여 해당 데이터 사용자가 해당 소스 데이터를 사용하는 권한이 있는지 여부를 판단한다. 구체적으로 블록체인 노드가 데이터 사용자를 인증하는 방법은 아주 많지만 본 출원의 실시예는 이에 한정하지 않는다.
실시형태 1에 의하면, 데이터 제공자가 데이터 공개 트랜잭션 요청을 개시할 때, 해당 데이터 공개 트랜잭션 요청에 데이터 사용자 정보를 추가할 수 있고, 이렇게 함으로써 블록체인 노드가 데이터 공개 트랜잭션 요청을 실행할 때, 이미 소스 데이터 및 대응하는 데이터 사용자 정보가 일괄적으로 블록체인 네트워크에 저장되어 있어, 이 때, 블록체인 노드는 블록체인 네트워크에서 이번 데이터 계산 트랜잭션 요청에 있어서 지정된 소스 데이터에 대응하는 데이터 사용자 정보를 검색하고 해당 데이터 사용자 정보에 따라 이번의 데이터 사용자가 해당 소스 데이터를 사용할 권한이 있는지 여부를 판단할 수 있다. 예를 들어, 데이터 사용자 정보가 해당 소스 데이터를 사용 가능한 사용자의 조건이라면 이번의 데이터 사용자가 해당 조건을 갖추고 있는지 여부를 판단하도록 할 수 있고, 데이터 사용자 정보가 해당 라이센스 또는 블랙리스트의 각 데이터 사용자 어카운트 ID라면 이번 데이터 사용자가 그 중에 있는지 여부를 판단하도록 할 수 있다.
실시형태 2에 의하면, 데이터 계산 트랜잭션 요청에 있어서 지정된 소스 데이터에 근거하여, 인증센터에 데이터 사용자가 소스 데이터를 사용하는 인증 요청을 송신하여 데이터 제공자가 배치한 권한에 의해 인증 요청을 처리하도록 인증센터에 요청하며, 인증센터로부터 피드백된 인증 결과를 취득한다. 그 중, 인증센터는 블록체인 네트워크에 있어서 전문적으로 인증감정을 실시하는 노드이다. 데이터 제공자는 공개한 소스 데이터의 사용권한을 해당 인증센터에 배치할 수 있다. 구체적으로 해당 실시형태는 블록체인 노드가 데이터 계산 트랜잭션 요청에 있어서 지정된 소스 데이터 및 이번 데이터 사용자 관련정보에 근거하여, 해당 데이터 요청자가 소스 데이터를 사용하는 인증요청을 개시하여 인증센터에 송신하고, 인증센터는 내부에서 해당 소스 데이터 제공자가 배치한 사용권한을 검색하여 이번의 데이터 사용자가 해당 사용권한에 부합되는지 여부를 판단하고, 부합되면 인증 결과가 통과로 되고, 그렇지 않으면 인증 결과가 실패로 된다. 블록체인 노드는 인증센터로부터 피드백된 인증 결과를 취득한다.
실시형태 3에 의하면, 블록체인 노드는 상기 데이터 계산 트랜잭션 요청에 있어서 지정된 소스 데이터에 근거하여, 해당 소스 데이터에 대응하는 데이터 제공자를 확정하고, 프라이버시 스마트 계약을 호출하여 이번 데이터 사용자의 인증 트랜잭션 요청을 생성하여 데이터 제공자에게 보내여 이번 데이터 사용자 에 대해 온라인 인증을 행하도록 데이터 제공자에게 요청하고 데이터 제공자로부터 피드백된 인증 결과를 취득하도록 할 수 있다.
본 단계는 데이터 계산 트랜잭션 요청에 있어서 지정된 소스 데이터에 근거하여, 데이터 사용자가 소스 데이터를 사용하는 권한을 인증하고 인증이 통과 된 후, 비로소 단계(S303) 및 후속 조작을 실행할 수 있다는 점에 유의해야 한다.
단계(S303)에서, 데이터 계산 트랜잭션 요청에 의해, 동형 암호화된 소스 데이터를 취득한다.
단계(S304)에서, 데이터 계산 트랜잭션 요청의 계산 태스크에 근거하여, 프라이버시 스마트 계약을 호출하고, 호출 데이터 및 소스 데이터에 대한 계산을 실행하여 계산 결과를 취득한다.
단계(S305)에서, 데이터 계산 트랜잭션 요청 및 계산 결과를 업링크 조작하고, 데이터 계산 트랜잭션 요청의 데이터 사용자에게 피드백하,여 데이터 사용자가 계산 결과에 대해 동형 복호화 및 블라인드 제거 처리를 행하도록 하여 평문 계산 결과를 취득한다.
본 출원의 실시예의 기술적수단은, 블록체인 노드가 데이터 사용자가 개시한 데이터 계산 트랜잭션 요청을 취득한 후, 먼저 데이터 사용자가 사용할 소스 데이터에 근거하여 데이터 사용자가 해당 소스 데이터를 사용하는 권한에 대해 인증을 실행하고, 인증이 통과되면 이번 계산 태스크에 필요한 동형 암호화된 소스 데이터와 블라인드처리된 호출 데이터를 취득하고, 프라이버시 스마트 계약을 호출하고 이번 계산 태스크를 실행하여 계산 결과를 취득하고 업링크 저장할 수 있다. 본 출원의 실시예는 데이터 계산 트랜잭션 요청의 계산 태스크를 처리하기 전에, 먼저 데이터 사용자가 소스 데이터를 사용하는 권한에 대해 인증을 실시한다. 소스 데이터가 허용되지 않은 데이터 사용자에 의해 사용되는 것을 방지하고 데이터 제공자의 소스 데이터의 안전성을 진일보 보증한다.
도4는 본 출원의 실시예에 따른 다른 블록체인의 프라이버시 데이터 처리방법의 흐름도이다. 본 실시예는 상기 실시예의 기초상에 진일보 최적화를 실행한 것이며, 상기 프라이버시 스마트 계약을 호출하여 상기 호출 데이터와 상기 소스 데이터에 대한 계산 프로세스를 실행하는 구체적인 상황을 소개한다. 도4에 나타낸 바와 같이, 해당 방법은 다음을 포함한다.
단계(S401)에서, 데이터 사용자에 의해 프라이버시 스마트 계약에 근거하여 개시된 데이터 계산 트랜잭션 요청을 취득하는 단계로서, 데이터 계산 트랜잭션 요청에 있어서의 호출 데이터는 데이터 사용자에 의해 블라인드처리된 데이터이다.
단계(S402)에서, 데이터 계산 트랜잭션 요청에 의해, 동형 암호화된 소스 데이터를 취득한다.
단계(S403)에서, 데이터 계산 트랜잭션 요청에 있어서의 계산 태스크에 의해, 프라이버시 스마트 계약을 호출하여 가상머신에서 실행하고, 프라이버시 스마트 계약에 의해 가상머신의 내장함수를 호출하고, 호출 데이터 및 소스 데이터에 대한 계산을 실행하여 계산 결과를 취득한다.
가상머신의 내장함수는 내재함수 및 인라인함수라고도 불리운다. 내장함수를 호출하여 계산 태스크를 실행할 때, 가상머신의 상층 메인 호출함수에 대해 투명하다. 내장함수를 이용하여 계산 태스크를 실시함으로써 계산 속도를 높일 수 있다.
선택적으로, 블록체인 노드는 데이터 계산 태스크에 있어서의 계산 태스크에 의해 프라이버시 스마트 계약을 호출하고 계산 태스크를 실행할 때, 먼저 스마트 계약을 호출하여 가상머신에서 운행하고, 재차 스마트 계약에 의해 가상머신 내장함수를 호출하고, 내장함수를 이용하여 블라인드된 호출 데이터와 동형 암호화된 소스 데이터에 대해 이번의 계산 태스크를 실행한다. 본 조작의 계산 태스크를 실행하는 내장함수는 컴파일 과정에 있어서 메인 호출 함수에 직접 내장되어 있기 때문에 내장함수가 계산조작을 실행할 때, 가상머신의 메인 호출 함수를 통과할 필요가 없기에 내장함수를 이용하여 계산 태스크를 실행함으로써 계산운행시간을 크게 절약하고 계산효율을 향상시킬 수 있다.
단계(S404)에서, 데이터 계산 트랜잭션 요청 및 계산 결과를 업링크 조작하고, 데이터 계산 트랜잭션 요청의 데이터 사용자에게 피드백하여, 데이터 사용자가 계산 결과에 대해 동형 복호화 및 블라인드 제거 처리를 행하도록 하여 평문 계산 결과를 취득한다.
본 출원의 실시예의 기술적수단은, 블록체인 노드가 데이터 사용자가 개시한 데이터 계산 트랜잭션 요청을 취득한 후, 프라이버시 스마트 계약을 호출하여 가상머신에서 실행하고, 스마트 계약에 근거하여 가상머신의 내장함수를 호출하여 동형 암호화된 소스 데이터와 블라인드처리된 호출 데이터에 대해 특정 계산을 실행하고, 얻은 계산 결과를 업링크 저장한다. 본 출원의 실시예는 가상머신의 내장함수를 통해 소스 데이터 및 호출 데이터에 대해 계산을 실시함으로써 계산운행시간을 크게 절약하고 계산효율을 향상시킬 수 있다.
도5는 본 출원의 실시예에 따른 다른 하나의 블록체인의 프라이버시 데이터 처리방법의 흐름도이다. 본 출원의 실시예는 블록체인에 있어서의 프라이버시 데이터에 대해 계산처리를 실행하는 경우에 적용가능하다. 해당 실시예는 블록체인 클라이언트를 갖는 장치에 배치된 블록체인의 프라이버시 데이터 처리장치에 의해 실행할 수 있으며, 해당 장치는 소프트웨어 및 / 또는 하드웨어에 의해 구현되며 블록체인 클라이언트를 갖는 전자기기에 통합될 수 있다. 선택적으로, 블록체인 클라이언트는 블록체인 사용자 (데이터 사용자 또는 데이터 제공자 등)의 전자기기에 안장된 블록체인 네트워크의 클라이언트일 수 있다. 본 출원의 실시예의 실행주체는 데이터 사용자의 블록체인 클라이언트일 수도 있다.
단계(S5010)에서, 블록체인에 공개된 동형 암호화 데이터로부터 계산 태스크에 필요한 소스 데이터를 결정한다.
선택적으로, 본 출원의 실시예에서는 데이터 사용자가 블록체인에 이미 공개된 동형 암호화 데이터를 이용하여 계산 태스크를 실행해야 할 경우, 먼저 블록체인 클라이언트를 통해 블록체인 네트워크에 액세스하여 블록체인에 이미 공개된 동형 암호화된 소스 데이터의 데이터정보 (예를 들어, 소스 데이터ID, 소스 데이터 요약정보 및 데이터 사용자정보 등)를 취득하여 분석하고, 그 중에서 이번 계산 태스크에 필요한 소스 데이터를 특정하도록 할수 있다. 구체적으로는, 블록체인에 이미 공개되어 있는 동형 암호화 데이터의 데이터ID 또는 소스 데이터 요약정보를 검색하고 그 중에서 이번 계산 태스크에 필요한 소스 데이터를 특정하도록 할 수 있다. 또한 이 기초상에서, 소스 데이터의 데이터 사용자정보를 결합하여 자체가 해당 소스 데이터를 사용할 권한이 있는지 그 여부를 판단하고, 권한이 있으면 해당 소스 데이터가 이번 계산 태스크에 필요한 소스 데이터이다고 결정하도록 할 수 있다.
단계(S502)에서, 계산 태스크의 호출 데이터에 대해 블라인드 처리를 행한다.
선택적으로, 데이터 사용자는 블록체인에 공개된 소스 데이터에 대해 계산 태스크를 실행하려고 할 때, 자체 데이터 (즉 호출 데이터)의 호출이 필요하며, 블록체인 노드가 계산 태스크를 실행하는 과정에서 자체의 호출 데이터가 누설되지 않도록 방지하기 위해, 데이터 사용자는 그 블록체인 클라이언트를 통해 이번 계산 태스크에 사용해야 할 호출 데이터를 블라인드 처리할 수 있다. 구체적인 블라인드처리 과정은 상기 실시예에서 상세히 설명되어 있기에 이 실시예에서는 반복하지 않는다. 예를 들어, 블라인드처리는 호출 데이터에 랜덤값을 추가하는 것을 포함할 수 있다.
단계(S503)에서, 블록체인 노드가 배치한 프라이버시 스마트 계약에 근거하여, 호출 데이터 및 소스 데이터에 대해 계산 태스크를 실행하는 데이터 계산 트랜잭션 요청을 개시하고, 프라이버시 스마트 계약을 호출하고 계산 태스크를 실행하여 계산 결과를 취득하도록 블록체인 노드에 요청한다.
선택적으로, 데이터 사용자의 블록체인 클라이언트는 블록체인 노드가 배치한 프라이버시 스마트 계약에 근거하여, 블록체인 네트워크로부터 선택된 소스 데이터, 블라인드처리된 호출 데이터 및 이번 실행해야 할 계산 태스크를 결합하여, 호출 데이터 및 소스 데이터에 대해 계산 태스크를 실행하는 데이터 계산 트랜잭션 요청을 개시하고 그것을 블록체인 네트워크로 송신한다. 블록체인 노드는 해당 데이터 계산 트랜잭션 요청을 받은 후, 프라이버시 스마트 계약을 호출하고 해당 데이터 계산 트랜잭션 요청에 있어서의 계산 태스크를 실행하여 계산 결과를 얻고, 계산 결과 및 데이터 계산 트랜잭션 요청을 업링크 저장한다.
단계(S504)에서, 업링크된 계산 결과를 취득한다.
선택적으로, 처리된 데이터 계산 트랜잭션 요청 및 그 계산 결과가 블록체인 노드에 의해 이미 업링크 저장되어 있기 때문에, 이 때 데이터 사용자의 블록체인 클라이언트는 블록체인에서 데이터 사용자의 블록체인 클라이언트가 개시한 데이터 계산 트랜잭션 요청의 계산 결과가 업링크되어 있는지 여부를 조사하여, 업링크되어 있으면, 업링크된 해당 계산 결과를 취득할 수 있다.
단계(S505)에서, 소스 데이터의 데이터 제공자가 동형 암호화 공개키를 제공하도록 요청한다.
선택적으로, 블록체인 노드가 호출 데이터 및 소스 데이터에 대해 계산 태스크를 실행 할 때에 사용하는 소스 데이터는 데이터 제공자에 의해 동형 암호화 처리된 소스 데이터이기 때문에, 정확한 계산 결과를 얻기 위해, 동형 암호화 처리때에 사용한 암호화 키를 이용하여 해당 계산 결과를 복호화해야 한다. 따라서, 이 때 데이터 사용자의 블록체인 클라이언트는 소스 데이터의 데이터 제공자가 동형 암호화된 공개키를 제공하도록 요청한다.
구체적으로, 블록체인 네트워크에 각 데이터 제공자의 동형 암호화 공개키가 포함되어 있는 경우, 블록체인 네트워크에게 소스 데이터의 데이터 제공자의 공개키 취득 요청을 제출하여, 블록체인 노드가 이번에 사용하는 소스 데이터의 데이터 제공자의 동형 암호화 공개키를 피드백하도록 요청한다. 각 데이터 제공자의 동형 암호화 공개키가 블록체인 네트워크에 포함되어 있지 않은면, 데이터 사용자의 블록체인 클라이언트는 데이터 제공자의 블록체인 클라이언트와 직접 상호작용하여 데이터 제공자가 동형 암호화 공개키를 제공하도록 요청할 수 있다.
단계(S506)에서, 동형 암호화 공개키를 이용하여 계산 결과를 동형 복호화함과 동시에 계산 결과를 블라인드 제거 처리하여 평문 계산 결과를 취득한다.
선택적으로, 데이터 사용자의 블록체인 클라이언트가 데이터 제공자의 동형 암호화 공개키를 취득한 후, 프라이버시 스마트 계약을 호출하고, 동형 암호화 공개키를 이용하여 계산 결과에 대해 동형 복호화하여 초기 평문 계산 결과를 얻도록 할 수 있다. 해당 초기 평문 계산 결과는 암호화 하지 않은 소스 데이터 평문을 사용하여 진행한 계산 태스크의 결과와 동일하다. 블록체인 노드가 호출 데이터 및 소스 데이터에 대해 계산 태스크를 실행할 때에 사용하는 호출 데이터는 사전에 블라인드처리된 데이터이기 때문에, 스스로 호출 데이터를 블라인드 처리하던 때의 역조작에 근거하여 초기 평문 계산 결과를 블라인드 제거 처리하여 최종 평문 계산 결과를 얻어야 한다. 선택적으로, 단계(S502)에서 블라인드 처리가 호출 데이터에 랜덤값을 추가하는 것을 포함하는 한다면, 본 단계의 블라인드 제거 처리는 계산 결과로부터 상기 랜덤값을 제거하는 것을 포함한다.
본 출원의 실시예의 기술적수단은, 데이터 사용자의 블록체인 클라이언트가 블록체인에 이미 공개된 동형 암호화 데이터로부터 이번 계산에 필요한 소스 데이터를 확정하고, 이번 계산 태스크의 로컬 호출 데이터에 대해 블라인드 처리하고, 호출 데이터 및 소스 데이터에 대해 이번의 계산 태스크를 실행하는 데이터 계산 트랜잭션 요청을 개시하고, 블록체인 노도가 해당 계산 태스크를 실행하고 계산 결과를 얻도록 요청한다. 블록체인 클라이언트는 계산 결과를 취득한 후, 먼저 이번에 소스 데이터를 사용하는 데이터 제공자의 동형 암호화 공개키를 취득하도록 요청한 후, 계산 결과에 대해 동형 복호화 및 블라인드 제거 처리를 실시하여 최종의 평문 계산 결과를 얻도록 할 수 있다. 본 출원의 실시예에서, 계산 태스크 실행에 사용되는 데이터 제공자의 소스 데이터는 동형 암호화된 소스 데이터이며, 데이터 제공자 데이터의 안전성을 보증하고, 사용되는 데이터 사용자의 호출 데이터는 블라인드처리된 데이터이며, 데이터 사용자 데이터의 안전성을 보증하고, 마지막으로 복호화처리 및 블라인드 제거 처리를 통해 계산 결과의 정확성을 보증하였다. 전체 계산과정에 있어서, 데이터 제공자 및 데이터 사용자의 데이터 유출을 방지하고, 계산과정의 공정성과 안전성을 보증하였다. 따라서, 블록체인의 프라이버시 데이터 처리수단이 최적화되었다.
도6은 본 출원의 실시예에 따른 다른 하나의 블록체인의 프라이버시 데이터 처리방법의 흐름도이다. 본 실시예는 상기 실시예의 기초상에 진일보로 최적화를 실행한 것이며, 데이터 제공자의 블록체인 클라이언트가 프라이버시 데이터 처리를 실행하는 구체적인 상황을 소개한다. 도6에 나타낸 바와 같이, 상기 방법은 다음을 포함한다.
단계(S601)에서, 동형 암호화 모듈을 호출하고, 동형 암호화 비밀키와 동형 암호화 공개키를 포함하는 비대칭 동형 암호화 키를 생성한다.
선택적으로 동형 암호화 모듈은 동형 암호화 관련 조작을 실행하는 모듈일 수 있다. 이 단계에서, 데이터 제공자가 자신의 소스 데이터를 업링크 저장하여 다른 블록체인 사용자에게 공유하려고 할 때, 동형 암호화 모듈에 있어서의 동형 암호화 키를 생성하는 관련 프로그램 코드를 호출하여 한 쌍의 비대칭 동형 암호화 키, 즉 동형 암호화 공개키와 동형 암호화 비밀키를 생성하도록 할 수 있다. 그 중, 동형 암호화 비밀키는 다른 블록체인 사용자에게 제공되어 사용되는 소스 데이터를 로컬에 의해 암호화하는데 사용되며, 동형 암호화 공개키는 데이터 사용자에게 제공되어 데이터 사용자가 동형 암호화된 소스 데이터를 이용하여 계산을 행한 계산 결과에 대해 동형 복호화 처리를 실시하는데 사용된다.
단계(S602)에서, 동형 암호화 모듈을 호출하고, 제공되는 소스 데이터를 동형 암호화 비밀키를 이용하여 동형 암호화한다.
선택적으로, 본 단계에서는 데이터 제공자의 블록체인 클라이언트가 비대칭 동형 암호화 키를 생성한 후, 동형 암호화 모듈을 다시 호출하여, 단계(S601)에서 생성된 동형 암호화 비밀키를 이용하여, 다른 블록체인 사용자에게 제공되어 사용되는 소스 데이터에 대해 동형 암호화를 행하여 동형 암호화된 소스 데이터를 얻도록 할 수 있다. 선택적으로, 본 출원의 실시예는 임의의 동형 암호화 알고리즘을 이용하여 동형 암호화 조작을 실행할 수 있으며, 이에 대해 한정하지 않는다. 예를 들어, Pallier 동형 암호화 알고리즘일 수 있다.
단계(S603)에서, 프라이버시 스마트 계약에 근거하여 소스 데이터를 업링크하는 데이터 공개 트랜잭션 요청을 개시한다.
선택적으로, 제공되는 소스 데이터를 동형 암호화한 후, 데이터 제공자의 블록체인 클라이언트는 프라이버시 스마트 계약을 호출하여 동형 암호화된 소스 데이터를 포함하는 데이터 공개 트랜잭션 요청을 생성하여 블록체인 네트워크에 전송하고, 블록체인 노드가 프라이버시 스마트 계약을 호출하여 해당 데이터 공개 트랜잭션 요청을 실행하도록 하고, 상기 소스 데이터를 업링크 저장할 수 있다.
선택적으로, 본 단계는 데이터 사용자가 필요한 소스 데이터를 빠르게 검색할 수 있도록 하기 위해, 프라이버시 스마트 계약에 근거하여, 개시된 데이터 공개 트랜잭션 요청에 소스 데이터의 설명정보 및 소스 데이터 요약정보를 포함시킬 수 있다. 블록체인의 메모리 공간을 절약하기 위해, 본 단계는 또한 동형 암호화된 소스 데이터를 업링크하는 것이 아니라, 소스 데이터를 미리 설정된 위치에 저장한 후, 소스 데이터의 저장위치를 블록체인에 업링크 저장하도록 할 수 있다. 즉, 본 단계는, 개시한 소스 데이터를 업링크하는 데이터 공개 트랜잭션 요청에 소스 데이터 저장위치를 포함할 수 있다.
단계(S604)에서, 데이터 사용자의 소스 데이터 사용에 대해 인증을 행하도록, 소스 데이터의 사용권한을 인증센터에 배치한다.
선택적으로, 본 출원의 실시예는 데이터 제공자가 동형 암호화된 소스 데이터에 대한 업링크 저장을 완료한 후, 제공하는 소스 데이터의 사용권한을 인증센터에 배치하여, 인증센터가 소스 데이터를 사용하는 데이터 사용자에 대해 인증을 행하도록 제공하여, 권한이 없는 사용자가 소스 데이터를 사용하는 것을 방지하고 소스 데이터의 안전성을 진일보 보증할 수 있다.
선택적으로, 본 단계에 있어서, 소스 데이터의 사용권한을 인증센터에 배치하는 과정은 많은 방법으로 이루어 질수 있으며, 이에 대해서는 제한하지 않는다. 예를 들어, 해당 소스 데이터를 사용할 수 있는 사용자 어카운트ID를 인증센터에 설치할 수 있고, 해당 소스 데이터를 사용할 수 있는 사용자 조건을 인증센터에 설치할 수도 되고, 해당 소스 데이터를 사용할 수 없는 사용자 어카운트ID를 인증센터에 설치할 수도 있다. 선택적으로, 본 출원의 실시예는 소스 데이터의 사용권한을 사전에 설치하는 것이 아니라 사용자가 해당 소스 데이터를 사용할 때에 인증센터를 통해 데이터 제공자와 상호작용하여 온라인 인증을 실시할 수도 있다.
본 출원의 실시예의 기술적수단은, 데이터 제공자가 블록체인 네트워크에 소스 데이터를 업링크하려고 할 때, 블록체인 클라이언트를 통해 동형 암호화 모듈을 호출하여 먼저 한 쌍의 동형 암호화된 키를 생성하고, 제공되는 소스 데이터를 동형 암호화 비밀키를 이용하여 동형 암호화한 후, 프라이버시 스마트 계약에 근거하여, 동형 암호화된 소스 데이터를 업링크하는 데이터 공개 트랜잭션 요청을 개시할 수 있다. 본 출원의 실시예에 따른 업링크 저장된 소스 데이터는 동형 암호화된 소스 데이터이며, 동형 암호화된 소스 데이터의 계산 결과는 복호화 후, 암호화하지 않은 소스 데이터와 동일한 계산 결과를 얻을 수 있기에 본 실시예는 데이터 사용자의 소스 데이터에 대한 정상적인 사용을 보증함과 동시에, 데이터 제공자의 소스 데이터 평문의 누설을 방지하고 계산과정의 공정성 및 안전성을 보증하였다. 또한 데이터 제공자는 소스 데이터를 업링크한 후, 소스 데이터의 사용권을 인증센터에 배치함으로써 데이터 사용자가 소스 데이터를 사용할 때에 인증센터가 데이터 사용자에 대해 인증을 실시하도록 하여 소스 데이터의 안전성을 진일보 보증하였다. 따라서, 권한이 없는 사용자가 마음대로 소스 데이터를 사용하는 것을 방지한다.
도7a는 본 출원의 실시예에 따른 블록체인의 프라이버시 데이터 처리방법의 신호도이다. 도7b는 본 출원의 실시예에 따른 블록체인의 프라이버시 데이터 처리시스템 프레임 워크도이다. 본 실시예는 상기 각 실시예의 기초상에 진일보 최적화를 행한 것이며, 데이터 사용자의 블록체인 클라이언트, 데이터 제공자의 블록체인 클라이언트 및 블록체인 노드가 상호 결합하여 블록체인 프라이버시 데이터 처리를 실현하기 위한 구체적인 상황을 소개한다. 도7a ~ 도7b에 나타낸 바와 같이, 상기 방법은 다음을 포함한다.
단계(S701)에서, 데이터 제공자의 블록체인 클라이언트가 동형 암호화 모듈을 호출하고, 동형 암호화 비밀키 및 동형 암호화 공개키를 포함하는 비대칭 동형 암호화 키를 생성한다.
단계(S702)에서, 데이터 제공자의 블록체인 클라이언트가 동형 암호화 모듈을 호출하고, 제공되는 소스 데이터를 동형 암호화 비밀키를 이용하여 동형 암호화한다.
선택적으로, 단계(S701) ~ 단계(S702)는 도7b의 블록체인 클라이언트(1)에 의해 실행될 수 있으며, 이 때의 블록체인 클라이언트(1)는 데이터 제공자의 블록체인 클라이언트이며, 해당 블록체인 클라이언트(1)는 블록체인 소프트웨어 개발키트 SDK일 수 있다. Pallier 동형 비밀 모듈 등의 동형 암호화 모듈이 통합되어 있다. 블록체인 클라이언트(1)는 도7b의 화살표1의 조작을 실행할 수 있다. 즉 내부의 동형 암호화 모듈을 호출하여 한 쌍의 비대칭 동형 암호화 키, 즉 동형 암호화 공개키와 동형 암호화 비밀키를 생성한 후, 해당 동형 암호화 모듈을 계속 호출하고 동형 암호화 비밀키를 이용하여 제공되는 소스 데이터를 동형 암호화 처리한다.
단계(S703)에서, 데이터 제공자의 블록체인 클라이언트가 프라이버시 스마트 계약에 근거하여, 소스 데이터를 업링크하는 데이터 공개 트랜잭션 요청을 개시한다.
선택적으로, 본 단계는 마찬가지로 도7b 중의 블록체인 클라이언트(1)에 의해 실행되며, 이 때 블록체인 클라이언트(1)는 도7b의 화살표2의 조작을 실행할 수 있다. 프라이버시 스마트 계약에 근거하여, 소스 데이터를 업링크하는 데이터 공개 트랜잭션 요청을 개시하여 블록체인 네트워크에 송신한다.
단계(S704)에서, 블록체인 노드는 데이터 제공자에 의해 프라이버시 스마트 계약에 근거하여 개시된 데이터 공개 트랜잭션 요청을 취득하는 단계로서, 데이터 공개 트랜잭션 요청에 있어서의 소스 데이터는 동형 암호화된 데이터이다.
단계(S705)에서, 블록체인 노드는 프라이버시 스마트 계약을 호출하고 데이터 공개 트랜잭션 요청을 실행하여 소스 데이터를 업링크 공개한다.
선택적으로, 도7b는 두개의 블록체인 노드, 즉 블록체인 노드a와 블록체인 노드b를 표시하며 양자의 구조는 동일하다. 본 출원의 블록체인 노드는 가상머신 (WebAssembly 가상머신 등)이 작성되어 있고, 가상머신내에 내장함수가 포함되어 있으며, 내장함수가 운행환경에서 동기 암호화 모듈을 호출하여 동형 암호화된 소스 데이터의 관련조작을 실행한다.
선택적으로, 도7b는, 도7b 중의 블록체인 노드a와 블록체인 노드b가 단계 (S704) ~ 단계(S705)를 실행하는 조작을 보여주고 있으며, 구체적으로는, 블록체인 노드a 및 블록체인 노드b는 프라이버시 스마트 계약을 호출하여 가상머신에서 실행하고, 프라이버시 스마트 계약에 의해 가상머신의 내장함수를 호출하고, 내장함수에 의해 동기 암호화 모듈을 호출하여 화살표6의 조작, 즉 데이터 공개 트랜잭션 요청을 실행하고 소스 데이터를 업링크 공개하는 조작을 실행한다. 선택적으로, 소스 데이터를 업링크하는 조작은 가상머신의 상층 함수에 의해 실행될 수 있으며, 이에 대해 본 실시예는 한정하지 않는다.
단계(S706)에서, 데이터 제공자의 블록체인 클라이언트는, 데이터 사용자의 상기 소스 데이터 사용에 대해 인증을 행하도록 소스 데이터의 사용권한을 인증센터에 배치한다.
선택적으로, 본 단계는 도7b의 화살표3의 조작에 대응한다. 블록체인 클라이언트(1)는 제공하는 소스 데이터에 대해 그 사용권한을 인증센터에 배치하고, 나중에 인증센터는 데이터 사용자의 소스 데이터 사용에 대해 인증을 행한다.
단계(S707)에서, 데이터 사용자의 블록체인 클라이언트는 블록체인에 공개된 동형 암호화 데이터로부터 계산 태스크에 필요한 소스 데이터를 결정한다.
단계(S708)에서, 데이터 사용자의 블록체인 클라이언트는 계산 태스크의 호출 데이터에 대해 블라인드 처리를 행한다.
단계(S709)에서, 데이터 사용자의 블록체인 클라이언트는 블록체인 노드가 배치한 프라이버시 스마트 계약에 근거하여, 호출 데이터 및 소스 데이터에 대해 계산 태스크를 실행하는 데이터 계산 트랜잭션 요청을 개시한다.
선택적으로, 단계 (S707) ~ 단계(S709)는 도7b 중의 블록체인 클라이언트(2)에 의해 실행될 수 있으며, 이 때의 블록체인 클라이언트(2)는 데이터 사용자의 블록체인 클라이언트이며, 해당 블록체인 클라이언트(2)는 블록체인 SDK일 수 있으며, Pallier 동형 비밀 모듈 등의 동형 암호화 모듈이 통합되어 있다. 이 때의 블록체인 클라이언트(2)는 도7b 중의 화살표4의 조작을 실행할 수 있는바, 먼저 블록체인에 공개된 동형 암호화 데이터로부터 이번의 계산 태스크에 필요한 소스 데이터를 확정한 후, 데이터 사용자 자체의 호출 데이터를 블라인드 처리하고, 블록체인 노드가 배치한 프라이버시 스마트 계약에 따라 블록체인 네트워크에 향해 호출 데이터 및 소스 데이터에 대해 계산 태스크를 실행하는 데이터 계산 트랜잭션 요청을 개시한다. 선택적으로, 상기 블라인드처리는 호출 데이터에 랜덤값을 추가하는 것을 포함한다.
단계(S710)에서, 블록체인 노드는 데이터 사용자에 의해 프라이버시 스마트 계약에 근거하여 개시된 데이터 계산 트랜잭션 요청을 취득하는바, 데이터 계산 트랜잭션 요청에 있어서의 호출 데이터는 상기 데이터 사용자에 의해 블라인드처리된 데이터이다.
단계(S711)에서, 블록체인 노드는 데이터 계산 트랜잭션 요청에 있어서의 지정된 소스 데이터에 근거하여, 데이터 사용자가 소스 데이터를 사용하는 권한에 대해 인증조작을 실시한다.
선택적으로, 도7b의 화살표5는 본 단계의 조작을 보여주는 바, 블록체인 노드a 및 블록체인 노드b가 데이터 계산 트랜잭션 요청에 있어서 지정된 소스 데이터에 근거하여 인증센터에 향해 데이터 사용자가 해당 소스 데이터를 사용하는 인증 요청을 송신하고, 인증센터가 데이터 제공자에 의해 배치된 권한에 따라 해당 인증 요청을 처리하도록 요청하고, 인증센터로부터 피드백된 인증 결과를 취득한다.
단계(S712)에서, 블록체인 노드는 데이터 계산 트랜잭션 요청에 의해, 동형 암호화된 소스 데이터를 취득한다.
단계(S713)에서, 블록체인 노드는 데이터 계산 트랜잭션 요청에 있어서의 계산 태스크에 의해 프라이버시 스마트 계약을 호출하고, 호출 데이터 및 소스 데이터에 대한 계산을 실행하여 계산 결과를 취득한다.
단계(S714)에서, 블록체인 노드는 데이터 계산 트랜잭션 요청 및 계산 결과를 업링크 조작한다.
선택적으로, 도7b 중의 블록체인 노드a와 블록체인 노드b는 단계(S712) ~ 단계(S714)를 실행하는 바, 구체적으로는 블록체인 노도A 및 블록체인 노드b는 프라이버시 스마트 계약을 호출하여 가상머신에서 실행함과 동시에, 프라이버시 스마트 계약에 의해 가상머신의 내장함수를 호출하고 내장함수에 의해 동기 암호화 모듈을 호출하고 화살표6의 조작, 즉 호출 데이터 및 소스 데이터에 대한 계산을 실행하고, 데이터 계산 트랜잭션 요청 및 계산 결과를 업링크 조작한다.
단계(S710) ~ 단계(S714)의 조작은 도7b 중의 블록체인 노드a 및 블록체인 노드b에 의해 실행되는 바, 블록체인 노드a는 데이터 계산 트랜잭션 요청을 사전 실행하는 과정에서 상기 조작을 실행하고, 블록체인 노드b는 블록체인 노드a의 실행결과를 검증하는 과정에서 상기 조작을 실행한다.
단계(S715)에서, 데이터 사용자의 블록체인 클라이언트는 업링크된 계산 결과를 취득한다.
단계(S716)에서, 데이터 사용자의 블록체인 클라이언트는 소스 데이터의 데이터 제공자가 동형 암호화 공개키를 제공하도록 요청한다.
단계(S717)에서, 데이터 사용자의 블록체인 클라이언트는 동형 암호화 공개키를 이용하여 계산 결과에 대해 동형 복호화를 행함과 동시에 계산 결과에 대해 블라인드 제거 처리를 행하여 평문 계산 결과를 취득한다.
선택적으로, 블록체인 노드는 데이터 계산 트랜잭션 요청 및 계산 결과에 대한 업링크 조작을 실행한 후, 도7b 중의 화살표7의 트랜잭션 브로드 캐스트 조작을 실행하고, 그 계산 결과를 기타 블록체인 노드에 통지한다. 이 때 데이터 사용자 는 그 블록체인 클라이언트(2)를 통해 도7b 중의 화살표8의 조작을 실행할 수 있다. 즉 업링크된 계산 결과를 얻을 수 있으며, 계산 결과에 사용되는 소스 데이터가 동형 암호화된 소스 데이터이기 때문에, 이 때, 블록체인 클라이언트(2)는 소스 데이터의 데이터 제공자의 동형 암호화 공개키를 먼저 요청한 후, 프라이버시 스마트 계약을 호출하여 가상머신에서 운행하고 프라이버시 스마트 계약에 의해 가상머신의 내장함수를 호출하여 내장함수에 의해 동기 암호화 모듈을 호출하여 동형 암호화 공개키를 이용하여 계산 결과를 동형 복호화함과 동시에 계산 결과에 대해 블라인드 제거 처리를 행하여 최종의 평문 계산 결과를 얻는다.
선택적으로, 단계(S708)의 블라인드처리가 호출 데이터에 랜덤값을 추가하는 것을 포함하는 경우, 본 단계의 블라인드 제거 처리는 계산 결과로부터 상기 랜덤값을 제거하는 것을 포함한다.
본 출원의 실시예의 수단은 데이터 제공자, 데이터 사용자 및 블록체인 노드의 세 단자가 상호 작용하여 프라이버시 데이터를 처리하는 수단을 나타낸 바, 본 실시예에 있어서 데이터 제공자의 소스 데이터는 동형 암호화된 후 블록체인에 업링크 저장되고, 데이터 사용자는 데이터계산 태스크를 개시할 때에 호출 함수에 대해 블라인드 처리를 행함으로써, 블록체인 노드가 계산 태스크를 실행할 때 소스 데이터의 평문을 공개하지 않을뿐만 아니라 호출 데이터의 평문도 공게하지 않으므로 데이터 사용자와 데이터 제공자의 데이터의 안전성이 보증되며, 동시에 계산 결과가 동형 복호화 및 블라인드 제거 처리됨으로써 정확한 평문 계산 결과를 얻을 수 있고, 블록체인의 프라이버시 데이터 처리수단을 최대한 최적화할 수 있다.
도8은 본 출원의 실시예에 따른 블록체인의 프라이버시 데이터 처리장치의 구조 개략도이다. 본 출원의 실시예는 블록체인에 있어서의 프라이버시 데이터에 대해 계산처리를 진행하는 경우에 적용가능하다. 해당 장치는 본 출원의 실시예에 있어서 블록체인 노드가 실행하는 각 블록체인의 프라이버시 데이터 처리방법을 구현할 수 있다. 해당 장치는 블록체인 노드로서의 전자기기에 통합 될 수 있고, 해당 장치(800)는 구체적으로 다음을 포함한다.
데이터 사용자에 의해 프라이버시 스마트 계약에 근거하여 개시된 데이터 계산 트랜잭션 요청을 취득하기 위한 트랜잭션 요청 취득 모듈(801)로서, 상기 데이터 계산 트랜잭션 요청에 있어서의 호출 데이터가 상기 데이터 사용자에 의해 블라인드처리된 데이터인 트랜잭션 요청 취득 모듈(801)과, 상기 데이터 계산 트랜잭션 요청에 의해, 동형 암호화된 소스 데이터를 취득하기 위한 소스 데이터 취득 모듈(802)과, 상기 데이터 계산 트랜잭션 요청에 있어서의 계산 태스크에 의해 상기 프라이버시 스마트 계약을 호출하고 상기 호출 데이터 및 상기 소스 데이터에 대한 계산을 실행하여 계산 결과를 취득하기 위한 계산 태스크 처리 모듈(803)과, 상기 데이터 계산 트랜잭션 요청 및 계산 결과를 업링크하고, 상기 데이터 계산 트랜잭션 요청의 데이터 사용자에게 피드백하여 상기 데이터 사용자가 상기 계산 결과에 대해 동형 복호화 및 블라인드 제거 처리를 행하도록 하여 평문 계산 결과를 취득하기 위한 업링크 처리 모듈(804)을 포함한다.
본 출원의 실시예의 기술적수단은, 블록체인 노드가 데이터 사용자가 개시한 데이터 계산 트랜잭션 요청을 취득한 후, 이번 계산 태스크 실행에 필요한 동형 암호화된 소스 데이터 및 블라인드처리된 호출 데이터를 취득하고 프라이버시 스마트 계약을 호출하고 계산 태스크를 실행하여 계산 결과를 얻고 블록체인에 업링크 저장한다. 본 출원의 실시예에 있어서, 계산 태스크 실행에 사용되는 소스 데이터는 데이터 제공자에 의해 동형 암호화된 소스 데이터이며, 데이터 제공자 데이터의 안전성을 보증하고, 사용하는 호출 데이터는 데이터 사용자에 의해 블라인드처리된 데이터이며, 데이터 사용자 데이터의 안전성을 보증하고, 마지막으로 복호화 처리 및 블라인드 제거 처리를 통해 계산 결과의 정확성을 보증한다. 전체 프라이버시 데이터 처리과정은 일반적인 블록체인 노드를 사용하여 완성할 수 있으며, 데이터 제공자 및 데이터 사용자의 데이터 유출을 방지하고 프라이버시 데이터 처리과정의 공정성과 안전성을 보증한다. 따라서, 블록체인의 프라이버시 데이터 처리 프로세스가 최적화된다.
또한, 상기 트랜잭션 요청 취득 모듈(801)은 추가로, 데이터 제공자에 의해 상기 프라이버시 스마트 계약에 근거하여 개시된 데이터 공개 트랜잭션 요청을 취득하는데 사용되며, 상기 데이터 공개 트랜잭션 요청에 있어서의 소스 데이터는 동형 암호화된 데이터이며, 상기 업링크 처리 모듈(804)은 추가로, 상기 프라이버시 스마트 계약을 호출하고 상기 데이터 공개 트랜잭션 요청을 실행하여 상기 소스 데이터를 블록체인에 업링크 공개하는데 사용된다.
또한, 상기 블라인드 처리는 호출 데이터에 랜덤값을 추가하는 것을 포함하고, 상기 블라인드 제거 처리는 계산 결과로부터 상기 랜덤값을 제거하는 것을 포함한다.
또한, 상기 장치는 다음을 더 포함한다.
상기 데이터 계산 트랜잭션 요청에 있어서 지정된 소스 데이터에 근거하여, 상기 데이터 사용자가 상기 소스 데이터를 사용하는 권한에 대해 인증조작을 진행하기 위한 인증 처리 모듈을 포함한다.
또한, 상기 인증 처리 모듈은 다음을 포함한다.
상기 데이터 계산 트랜잭션 요청에 있어서 지정된 소스 데이터에 근거하여 인증센터에 향해 상기 데이터 사용자가 상기 소스 데이터를 사용하는 인증 요청을 송신하고, 인증센터가 데이터 제공자에 의해 배치된 권한에 의해 상기 인증 요청을 처리하도록 요청하기 위한 인증 요청 송신 유닛과, 상기 인증센터에 의해 피드백된 인증 결과를 얻기 위한 인증 결과 취득 유닛을 포함한다.
또한, 상기 계산 태스크 처리 모듈(803)은 구체적으로 다음에 사용된다.
상기 프라이버시 스마트 계약을 호출하여 가상머신에서 운행하고, 상기 프라이버시 스마트 계약에 의해 상기 가상머신의 내장함수를 호출하여 상기 호출 데이터 및 상기 소스 데이터에 대한 계산을 실행한다.
도9는 본 출원의 실시예에 따른 블록체인의 프라이버시 데이터 처리장치의 구조 개략도이다. 본 출원의 실시예는 블록체인에 있어서의 프라이버시 데이터에 대해 계산처리를 진행하는 경우에 적용가능하다. 해당 장치는 본 출원의 실시예에 있어서 블록체인 클라이언트가 실행하는 각 블록체인의 프라이버시 데이터 처리방법을 구현할 수 있다. 해당 장치는 블록체인 클라이언트가 존재하는 전자기기에 통합될 수 있으며, 해당 장치(900)는 구체적으로 다음을 포함한다.
블록체인에 공개된 동형 암호화 데이터에서 계산 태스크에 필요한 소스 데이터를 결정하기 위한 소스 데이터 결정 모듈(901)과, 상기 계산 태스크의 호출 데이터를 블라인드 처리하기 위한 블라인드 처리 모듈(902)과, 블록체인 노드가 배치한 프라이버시 스마트 계약에 근거하여, 상기 호출 데이터 및 소스 데이터에 대해 상기 계산 태스크를 실행하는 데이터 계산 트랜잭션 요청을 개시하고, 상기 블록체인 노드가 상기 프라이버시 스마트 계약을 호출하여 상기 계산 태스크를 실행하도록 요청하고 계산 결과를 얻기 위한 계산 요청 개시 모듈(903)과, 블록체인에 업링크된 계산 결과를 취득하기 위한 계산 결과 취득 모듈(904)과, 상기 소스 데이터의 데이터 제공자가 동형 암호화 공개키를 제공하도록 요청하는 암호화 키 취득 모듈(905)과, 상기 동형 암호화 공개키를 이용하여 상기 계산 결과에 대해 동형 복호화를 실시함과 동시에 상기 계산 결과에 대해 블라인드 제거 처리를 실시하여 평문 계산 결과를 얻기 위한 계산 결과 처리 모듈(906)을 포함한다.
본 출원의 실시예의 기술적수단은, 데이터 사용자의 블록체인 클라이언트가 블록체인에 공개된 동형 암호화 데이터로부터 이번 계산에 필요한 소스 데이터를 확정하고 이번 계산 태스크의 로컬 호출 데이터에 대해 블라인드 처리를 행하고 호출 데이터 및 소스 데이터에 대해 이번 계산 태스크를 실행하는 데이터 계산 트랜잭션 요청을 개시하고 블록체인 노드가 해당 계산 태스크를 실행하고 계산 결과를 얻도록 요청하여 블록체인 클라이언트가 계산 결과를 취득한 후, 먼저 이번 소스 데이터를 사용하는 데이터 제공자의 동형 암호화 공개키를 취득하도록 요청한 후, 재차 계산 결과에 대해 동형 복호화 및 블라인드 제거 처리를 행하여 최종의 평문 계산 결과를 얻는다. 본 출원의 실시예에 있어서, 계산 태스크 실행에 사용되는 데이터 제공자의 소스 데이터는 동형 암호화된 소스 데이터이며, 데이터 제공자 데이터의 안전성을 보증하고, 사용되는 데이터 사용자의 호출 데이터는 블라인드처리된 데이터이며, 데이터 사용자 데이터의 안전성을 보증하며, 마지막으로 복호화 처리 및 블라인드 제거 처리를 통해 계산 결과의 정확성을 보증한다. 전체 계산과정에 있어서 데이터 제공자 및 데이터 사용자의 데이터 의 유출을 방지하고 계산과정의 공정성과 안전성을 보증하였다. 따라서, 블록체인의 프라이버시 데이터 처리 프로그램이 최적화된다.
또한, 상기 블라인드 처리는 호출 데이터에 랜덤값을 추가하는 것을 포함하고, 상기 블라인드 제거 처리는 계산 결과로부터 상기 랜덤값을 제거하는 것을 포함한다.
또한, 상기 장치는 다음을 더 포함한다.
동형 암호화 모듈을 호출하고 동형 암호화 비밀키와 동형 암호화 공개키를 포함하는 비대칭 동형 암호화 키를 생성하기 위한 암호화 키 생성 모듈과, 상기 동형 암호화 모듈을 호출하고, 제공되는 소스 데이터를 동형 암호화 비밀키를 이용하여 동형 암호화하기 위한 동형 암호화 모듈과, 상기 프라이버시 스마트 계약에 근거하여, 상기 소스 데이터를 블록체인에 업링크하는 데이터 공개 트랜잭션 요청을 개시하기 위한 업링크 요청 공개 모듈을 포함한다.
또한, 상기 장치는 다음을 더 포함한다.
데이터 사용자의 상기 소스 데이터 사용에 대한 인증을 진행하도록, 상기 소스 데이터의 사용권한을 인증센터에 배치하기 위한 권한 배치 모듈을 포함한다.
본 출원의 실시예에 따르면, 본 출원은 또한 전자기기 및 판독가능 저장매체를 제공한다.
도10에 나타낸 바와 같이, 본 출원의 실시예의 블록체인의 프라이버시 데이터 처리방법의 전자기기의 블록도이다. 전자기기는 랩톱 컴퓨터, 데스크톱 컴퓨터, 태블릿 컴퓨터, 개인 휴대 정보 단말기, 서버, 블레이드 서버, 메인 프레임 컴퓨터 및 기타 적합한 컴퓨터 등 각종형태의 디지털 컴퓨터를 나타내기 위한 것을 목적으로 하고있다. 전자기기는 개인 휴대 정보 단말기, 휴대폰, 스마트폰, 웨어러블 장치 및 기타 유사한 컴퓨팅장치 등 각종형태의 모바일장치를 나타낼 수도 있다. 본 명세서에 나타내는 부품, 그들의 연결 및 관계, 그리고 그들의 기능은 단순한 예로서, 본 명세서에서 설명 및 / 또는 요구되는 본 출원의 실시를 제한하려는 것이 아니다.
도10에 나타낸 바와 같이, 해당 전자기기는 하나 또는 여러개의 프로세서(1001), 메모리(1002), 및 고속 인터페이스 및 저속 인터페이스 등 각 부품을 연결하기 위한 인터페이스를 포함한다. 각 부품은 서로 다른 버스로 상호 연결되어 있으며, 공용 마더보드에 안장되거나 또는 필요에 따라 다른 방식으로 안장될 수도 있다. 프로세서는 전자기기내에서 실행되는 지령을 처리할 수 있으며, 메모리내 또는 메모리에 저장되어 외부 입력 / 출력장치 (인터페이스 등에 접속된 디스플레이 장치 등)에 GUI 그래픽정보를 표시하는 지령을 포함한다. 다른 실시형태에서는, 필요에 따라 여러 프로세서 및 / 또는 복수의 버스를 여러 메모리 및 복수의 메모리와 함께 사용할 수 있다. 마찬가지로, 여러 전자기기를 연결할 수 있으며, 각 기기는 몇가지 필요한 조작 (예를 들어, 서버 배열, 한 쌍의 블레이드 서버, 또는 멀티 프로세서 시스템)을 제공한다. 도10은 하나의 프로세서(1001)를 예로 한다.
메모리(1002)는 본 출원에 의한 비 일시적 컴퓨터 판독가능 저장매체이다. 상기 메모리는 적어도 하나의 프로세서에 의해 실행되는 지령을 저장하고, 상기 적어도 하나의 프로세서에 본 출원에 의한 블록체인의 프라이버시 데이터 처리방법을 실행시킨다. 본 출원의 비 일시적 컴퓨터 판독가능 저장매체는 본 출원에 의한 블록체인의 프라이버시 데이터 처리방법을 컴퓨터에 실행시키기 위한 컴퓨터 지령을 저장한다.
메모리(1002)는 비 일시적 컴퓨터 판독가능 저장매체로서, 본 출원의 실시예의 블록체인의 프라이버시 데이터 처리방법에 대응하는 프로그램 지령 / 모듈 (예를 들어, 도8에 나타내는 트랜잭션 요청 취득 모듈(801), 소스 데이터 취득 모듈(802), 계산 태스크 처리 모듈(803) 및 업링크 처리 모듈(804), 또는 도9에 나타낸 소스 데이터 결정 모듈(901), 블라인드 처리 모듈(902), 계산 요청 개시 모듈(903), 계산 결과 취득 모듈(904), 암호화 키 취득 모듈(905) 및 계산 결과 처리 모듈(906)) 등 비 일시적인 소프트웨어 프로그램, 비 일시적인 컴퓨터 실행 가능 프로그램 및 모듈을 저장할 수 있다. 프로세서(1001)는 메모리(1002)에 저장되어 있는 비 일시적인 소프트웨어 프로그램, 지령 및 모듈의 운행을 통해 서버의 각종 기능 응용 및 데이터 처리를 실행한다. 즉, 상기 방법의 실시예에 있어서의 블록체인의 프라이버시 데이터 처리방법을 실현한다.
메모리(1002)는, 운영체제, 적어도 하나의 기능을 실행하기 위해 필요한 애플리케이션 프로그램을 저장할 수 있는 스토리지 프로그램 영역과, 블록체인의 프라이버시 데이터 처리방법의 전자기기의 사용에 의해 생성된 데이터 등을 저장할 수 있는 스토리지 데이터 영역을 포함할 수 있다. 또한 메모리(1002)는 고속 랜덤 액세스 메모리를 포함할 수도 있을뿐만 아니라, 예를 들어, 하나의 자기디스크 메모리장치, 플래시 메모리장치, 또는 기타 비 일시적인 고체 메모리장치와 같은 비 일시적인 메모리를 포함 할 수도 있다. 일부 실시예에 있어서, 메모리(1002)는 프로세서(1001)에 대해 원격설치된 메모리를 선택적으로 포함할 수도 있고, 이러한 원격 메모리는 네트워크를 통해 블록체인의 프라이버시 데이터 처리방법의 전자기기에 연결되어 있다. 상기 네트워크의 실례는 인터넷, 인트라넷, 로컬 영역 네트워크, 이동 통신 네트워크 및 이들의 조합을 포함하지만 이에 한정되지 않는다.
블록체인의 프라이버시 데이터 처리방법의 전자기기는 추가로, 입력장치(1003) 및 출력장치(1004)를 포함할 수 있다. 프로세서(1001), 메모리(1002), 입력장치(1003) 및 출력장치(1004)는 버스 또는 기타 형태를 통해 연결될 수 있으며, 도10은 버스를 통해 연결되어 있는 예이다.
입력장치(1003)는 입력된 디지털 또는 문자정보를 수신할 수 있고, 블록체인의 프라이버시 데이터 처리방법의 전자기기의 사용자 설치 및 기능 제어에 관한 키신호 입력을 생성할 수 있으며, 예를 들어, 터치스크린, 키패드, 마우스, 트랙패드, 터치패드, 포인팅스틱, 1개 또는 여러개의 마우스버튼, 트랙볼, 조이스틱 등의 입력장치를 포함한다. 출력장치(1004)는 디스플레이장치, 보조조명장치 (예를 들면, LED), 촉각피드백장치 (예를 들어, 진동모터) 등을 포함할 수 있다. 해당 디스플레이장치는 액정 디스플레이(LCD), 발광 다이오드(LED) 디스플레이 및 플라즈마 디스플레이를 포함하나 이에 한정되지 않는다. 일부 실시형태에 있어서, 디스플레이장치는 터치스크린일 수 있다.
여기에 설명한 시스템 및 기술의 각종 실시형태는 디지털 전자회로 시스템, 집적회로 시스템, 전용 ASIC (주문형 집적회로), 컴퓨터 하드웨어, 펌웨어, 소프트웨어 및 / 또는 이들의 조합으로 실현될 수 있다. 이러한 각종 실시형태는 다음을 포함할 수 있다. 즉 하나 이상의 컴퓨터 프로그램에서 실시되고, 해당 하나 이상의 컴퓨터 프로그램은 적어도 하나의 프로그래머블 프로세서를 포함하는 프로그램 가능한 시스템에서 실행 및 / 또는 해석될 수 있고, 해당 프로그래머블 프로세서는 전용 또는 범용 프로그래머블 프로세서일 수 있고, 스토리지 시스템, 적어도 하나의 입력장치, 및 적어도 하나의 출력장치로부터 데이터 및 지령을 수신하고, 데이터 및 지령을 해당 스토리지 시스템, 해당 적어도 하나의 입력장치 및 해당 적어도 하나의 출력장치에 전송할 수 있다.
이러한 컴퓨터 프로그램 (프로그램, 소프트웨어, 소프트웨어 응용 프로그램, 또는 코드라고도 한다)은 프로그래머블 프로세서의 기계 지령을 포함하며, 컴퓨터 프로그램을 고급 절차 및 / 또는 객체 지향 프로그래밍 언어, 및 / 또는 어셈블리 / 기계언어를 이용하여 실시할 수 있다. 본 명세서에 사용된 바와 같이, 용어 "기계 판독가능 매체" 및 "컴퓨터 판독가능 매체"는 기계 지령 및 / 또는 데이터를 프로그래머블 프로세서에 제공하는 모든 컴퓨터 프로그램 제품, 설비 및 / 또는 장치 (예를 들어, 자기 디스크, 광디스크, 메모리, 프로그래머블 로직 디바이스 (PLD))를 의미하며, 기계 판독 신호로서의 기계 지령을 수신하는 기계 판독 가능 매체를 포함한다. 용어 "기계 판독 신호"는 기계 지령 및 / 또는 데이터를 프로그래머블 프로세서에 제공하는 모든 신호를 가리킨다.
사용자와의 상호작용을 제공하기 위해, 컴퓨터에서 명세서에 설명한 시스템 및 기술을 실시할 수 있으며, 상기 컴퓨터는 사용자에게 정보를 표시하기 위한 표시장치 (예를 들면, CRT (음극 레이 튜브) 또는 LCD (액정 디스플레이) 모니터), 그리고, 사용자가 컴퓨터에 입력을 제공하기 위한 키보드 및 포인팅 장치 (예를 들어, 마우스 또는 트랙볼)을 가진다. 다른 종류의 장치는 사용자와의 상호작용을 제공하기 위해 이용될 수 있으며, 예를 들어, 사용자에게 제공되는 피드백은 모든 형태의 감지 피드백 (예를 들어, 시각 피드백, 청각 피드백, 또는 촉각 피드백)이며, 모든 형태 (음향 입력, 음성 입력 또는 촉각 입력을 포함)로 사용자의 입력을 받을 수 있다.
본 명세서에 설명되는 시스템 및 기술은, 백엔드 구성요소를 포함하는 컴퓨팅 시스템 (예를 들어, 데이터 서버로), 또는 미들웨어 구성요소를 포함하는 컴퓨팅 시스템 ( 예를 들어, 응용 프로그램 서버), 또는 프런트 엔드 구성요소를 포함하는 컴퓨팅 시스템 ( 예를 들어, 그래픽 사용자 인터페이스 또는 웹 브라우저가있는 사용자 컴퓨터는, 사용자가 해당 그래픽 사용자 인터페이스 또는 해당 웹 브라우저를 통해 본 명세서에서 설명하는 시스템 및 기술의 실시형태와 상호작용할 수 있다), 또는 이러한 백엔드 구성요소, 미들웨어 구성요소 또는 프런트 엔드 구성요소의 임의의 조합을 포함하는 컴퓨팅 시스템에서 실시할 수 있다. 또한, 시스템의 구성요소는 모든 형태 또는 매체의 디지털 데이터 통신 (예를 들어, 통신 네트워크)을 통해 서로 연결할 수 있다. 통신 네트워크의 예로서 로컬 영역 네트워크 (LAN), 광역 네트워크 (WAN) 및 인터넷을 포함한다.
컴퓨터 시스템은 클라이언트 및 서버를 포함할 수 있다. 클라이언트와 서버는 일반적으로 서로 떨어져 있으며, 보통 통신 네트워크를 통해 상호작용한다. 클라이언트와 서버 사이의 관계는, 대응하는 컴퓨터에서 운행되며 동시에 서로 클라이언트 - 서버 관계를 가지는 컴퓨터 프로그램에 의해 생성된다.
본 출원의 실시예의 기술적수단에 의하면, 데이터 사용자의 블록체인 클라이언트가 블록체인에 이미 공개된 동형 암호화 데이터로부터 이번 계산에 필요한 소스 데이터를 결정하고, 이번 계산 태스크의 로컬 호출 데이터를 블라인드 처리하고, 호출 데이터 및 소스 데이터에 대해 이번 계산 태스크를 실행하는 데이터 계산 트랜잭션 요청을 개시하고, 블록체인 노드가 해당 계산 태스크를 실행하고 계산 결과를 얻도록 요청하고, 블록체인 클라이언트가 계산 결과를 얻은 후, 먼저 이번 소스 데이터를 사용하는 데이터 제공자의 동형 암호화 공개키를 취득하도록 요청한 후, 다시 계산 결과에 대해 동형 복호화 및 블라인드 제거 처리를 행하여 최종의 평문 계산 결과를 얻는다. 본 출원의 실시예에 있어서, 계산 태스크 실행에 사용되는 데이터 제공자의 소스 데이터는 동형 암호화된 소스 데이터이며, 데이터 제공자 데이터의 안전성이 보증되고, 사용되는 데이터 사용자의 호출 데이터는 블라인드처리된 데이터이며, 데이터 사용자 데이터의 안전성을 보증하고, 마지막으로 복호화 처리 및 블라인드 제거 처리를 통해 계산 결과의 정확성을 보증한다. 전반 계산과정은 데이터 제공자 및 데이터 사용자의 데이터 누설을 방지하고, 계산과정의 공정성과 안전성을 보장하였다. 따라서, 블록체인의 프라이버시 데이터 처리 프로그램이 최적화되었다.
단계는 위에 나타낸 각종 형태의 프로세스를 사용하여 순서 변경하거나 추가하거나 또는 제거할 수 있다는 것을 이해하기 바란다. 본 출원이 공개하는 기술적수단의 바람직한 결과를 얻을 수만 있다면, 예를 들어, 본 출원에 기재된 각 단계는 동시에 또는 순서대로 또는 부동한 순서로 실행되어도 좋고, 본 명세서는 이에 대해 제한하지 않는다.
상술한 구체적인 실시형태는 본 출원의 보호범위를 제한하는 것은 아니다. 당업자는 설계요구 및 기타 요인에 따라 다양한 수정, 조합, 서브 조합 및 대체가 가능하다는 것을 이해해야 한다. 본 출원의 사상과 원칙의 범위내에서 실시된 모든 수정, 동등한 교환 및 개선 등은 모두 본 출원의 보호범위 내에 포함되어야 한다.
Claims (23)
- 블록체인 노드에 의해 실행되는 블록체인의 프라이버시 데이터 처리방법으로서,
데이터 사용자에 의해 프라이버시 스마트 계약에 근거하여 개시된 데이터 계산 트랜잭션 요청을 취득하는 단계 - 상기 데이터 계산 트랜잭션 요청에 있어서의 호출 데이터는 상기 데이터 사용자에 의해 블라인드처리된 데이터임 - 와,
상기 데이터 계산 트랜잭션 요청에 의해, 동형 암호화된 소스 데이터를 취득하는 단계와,
상기 데이터 계산 트랜잭션 요청에 있어서의 계산 태스크에 의해 상기 프라이버시 스마트 계약을 호출하고, 상기 호출 데이터 및 상기 소스 데이터에 대한 계산을 실행하여 계산 결과를 취득하는 단계와,
상기 데이터 계산 트랜잭션 요청 및 계산 결과를 업링크하고, 상기 데이터 계산 트랜잭션 요청의 데이터 사용자에게 피드백하여, 상기 데이터 사용자가 상기 계산 결과에 대해 동형 복호화 및 블라인드 제거처리를 진행하도록 하여 평문계산 결과를 취득하는 단계를 포함하는 방법.
- 제1항에 있어서,
데이터 제공자에 의해 상기 프라이버시 스마트 계약에 근거하여 개시된 데이터 공개 트랜잭션 요청을 취득하는 단계 - 상기 데이터 공개 트랜잭션 요청에 있어서의 소스 데이터는 동형 암호화된 데이터임 - 와,
상기 프라이버시 스마트 계약을 호출하고 상기 데이터 공개 트랜잭션 요청을 실행하여 상기 소스 데이터를 업링크 공개하는 단계를 더 포함하는 방법.
- 제1항에 있어서,
상기 블라인드 처리는 호출 데이터에 랜덤값을 추가하는 것을 포함하고, 상기 블라인드 제거처리는 계산 결과로부터 상기 랜덤값을 제거하는 것을 포함하는 방법.
- 제1항에 있어서,
데이터 사용자에 의해 프라이버시 스마트 계약에 근거하여 개시된 데이터 계산 트랜잭션 요청을 취득한 후,
상기 데이터 계산 트랜잭션 요청에 있어서 지정된 소스 데이터에 근거하여, 상기 데이터 사용자가 상기 소스 데이터를 사용하는 권한에 대한 인증조작을 실행하는 단계를 더 포함하는 방법.
- 제4항에 있어서,
상기 데이터 계산 트랜잭션 요청에 있어서 지정된 소스 데이터에 근거하여, 상기 데이터 사용자가 상기 소스 데이터를 사용하는 권한에 대해 인증조작을 진행하는 단계는,
상기 데이터 계산 트랜잭션 요청에 있어서 지정된 소스 데이터에 근거하여, 인증센터에 상기 데이터 사용자가 상기 소스 데이터를 사용하는 인증 요청을 송신하여, 데이터 제공자에 의해 배치된 권한에 의해 상기 인증 요청을 처리 하도록 상기 인증센터에 요청하는 단계와,
상기 인증센터로부터 피드백된 인증 결과를 취득하는 단계를 포함하는 방법.
- 제1항에 있어서,
상기 프라이버시 스마트 계약을 호출하고 상기 호출 데이터 및 상기 소스 데이터에 대한 계산을 실행하는 과정에, 추가로
상기 프라이버시 스마트 계약을 호출하여 가상머신에서 실행하되, 상기 프라이버시 스마트 계약에 근거하여 상기 가상머신의 내장함수를 호출하고 상기 호출 데이터 및 상기 소스 데이터에 대한 계산을 실행하는 단계를 포함하는 방법.
- 블록체인 클라이언트에 의해 실행되는 블록체인의 프라이버시 데이터 처리방법으로서,
블록체인에 공개된 동형 암호화 데이터로부터 계산 태스크에 필요한 소스 데이터를 결정하는 단계와,
상기 계산 태스크의 호출 데이터를 블라인드 처리하는 단계와,
블록체인 노드가 배치한 프라이버시 스마트 계약에 근거하여, 상기 호출 데이터 및 소스 데이터에 대해 상기 계산 태스크를 실행하는 데이터 계산 트랜잭션 요청을 개시하여, 상기 프라이버시 스마트 계약을 호출하고 상기 계산 태스크를 실행하여 계산 결과를 취득하도록 상기 블록체인 노드에 요청하는 단계와,
업링크된 계산 결과를 취득하는 단계와,
상기 소스 데이터의 데이터 제공자가 동형 암호화 공개키를 제공하도록 요청하는 단계와,
상기 동형 암호화 공개키를 이용하여 상기 계산 결과에 대해 동형 복호화를 진행하고, 상기 계산 결과에 대해 블라인드 제거처리를 행하여 평문계산 결과를 취득하는 단계를 포함하는 방법.
- 제7항에 있어서,
상기 블라인드 처리는 호출 데이터에 랜덤값을 추가하는 것을 포함하고, 상기 블라인드 제거처리는 계산 결과로부터 상기 랜덤값을 제거하는 것을 포함하는 방법.
- 제7항에 있어서,
동형 암호화 모듈을 호출하여, 동형 암호화 비밀키와 동형 암호화 공개키를 포함하는 비대칭 동형 암호화 키를 생성하는 단계와,
상기 동형 암호화 모듈을 호출하여, 동형 암호화 비밀키를 이용하여, 제공될 소스 데이터를 동형 암호화하는 단계와,
상기 프라이버시 스마트 계약에 근거하여, 상기 소스 데이터를 업링크하는 데이터 공개 트랜잭션 요청을 개시하는 단계를 더 포함하는 방법.
- 제9항에 있어서,
상기 소스 데이터를 업링크하는 데이터 공개 트랜잭션 요청을 개시한 후, 추가로
데이터 사용자의 상기 소스 데이터의 사용에 대한 인증을 실행하기 위해, 상기 소스 데이터의 사용권한을 인증센터에 배치하는 단계를 포함하는 방법.
- 블록체인 노드에 배치되는 블록체인의 프라이버시 데이터 처리장치로서,
데이터 사용자에 의해 프라이버시 스마트 계약에 근거하여 개시된 데이터 계산 트랜잭션 요청을 취득하기 위한 트랜잭션 요청 취득 모듈 - 상기 데이터 계산 트랜잭션 요청에 있어서의 호출 데이터는 상기 데이터 사용자에 의해 블라인드처리된 데이터임 - 과,
상기 데이터 계산 트랜잭션 요청에 의해, 동형 암호화된 소스 데이터를 취득하기 위한 소스 데이터 취득 모듈과,
상기 데이터 계산 트랜잭션 요청에 있어서의 계산 태스크에 의해 상기 프라이버시 스마트 계약을 호출하고, 상기 호출 데이터 및 상기 소스 데이터에 대한 계산을 실행하여 계산 결과를 얻기 위한 계산 태스크 처리 모듈과,
상기 데이터 계산 트랜잭션 요청 및 계산 결과를 업링크하여, 상기 데이터 계산 트랜잭션 요청의 데이터 사용자에게 피드백하여, 상기 데이터 사용자가 상기 계산 결과에 대해 동형 복호화 및 블라인드 제거처리를 진행하도록 하여 평문 계산 결과를 취득하기 위한 업링크 처리 모듈을 구비하는 장치.
- 제11항에 있어서,
상기 트랜잭션 요청 취득 모듈은 추가로 데이터 제공자에 의해 상기 프라이버시 스마트 계약에 근거하여 개시된 데이터 공개 트랜잭션 요청을 취득하도록 구성되고, 상기 데이터 공개 트랜잭션 요청에 있어서의 소스 데이터는 동형 암호화된 데이터이고,
상기 업링크 처리 모듈은 추가로 상기 프라이버시 스마트 계약을 호출하고 상기 데이터 공개 트랜잭션 요청을 실행하여 상기 소스 데이터를 업링크 공개하도록 구성되는 장치.
- 제11항에 있어서,
상기 블라인드 처리는 호출 데이터에 랜덤값을 추가하는 것을 포함하고, 상기 블라인드 제거처리는 계산 결과로부터 상기 랜덤값을 제거하는 것을 포함하는 장치.
- 제11항에 있어서,
상기 데이터 계산 트랜잭션 요청에 있어서 지정된 소스 데이터에 근거하여, 상기 데이터 사용자가 상기 소스 데이터를 사용하는 권한에 대해 인증조작을 실행하기 위한 인증처리 모듈을 더 구비하는 장치.
- 제14항에 있어서,
상기 인증처리 모듈은,
상기 데이터 계산 트랜잭션 요청에 있어서 지정된 소스 데이터에 근거하여, 인증센터에 상기 데이터 사용자가 상기 소스 데이터를 사용하는 인증 요청을 송신하여, 데이터 제공자에 의해 배치된 권한에 의해 상기 인증 요청을 처리하도록 상기 인증센터에 요청하기 위한 인증 요청 송신 유닛과,
상기 인증센터로부터 피드백된 인증 결과를 취득하기 위한 인증 결과 취득 유닛을 포함하는 장치.
- 제11항에 있어서,
상기 계산 태스크 처리 모듈은,
상기 프라이버시 스마트 계약을 호출하여 가상머신에서 실행하되, 상기 프라이버시 스마트 계약에 근거하여 상기 가상머신의 내장함수를 호출하여 상기 호출 데이터 및 상기 소스 데이터에 대한 계산을 실행하도록 구성되는 장치.
- 블록체인 클라이언트에 배치되는 블록체인의 프라이버시 데이터 처리장치로서,
블록체인에 공개된 동형 암호화 데이터로부터 계산 태스크에 필요한 소스 데이터를 결정하기 위한 소스 데이터 결정 모듈과,
상기 계산 태스크의 호출 데이터를 블라인드 처리하기 위한 블라인드 처리 모듈과,
블록체인 노드가 배치한 프라이버시 스마트 계약에 근거하여, 상기 호출 데이터 및 소스 데이터에 대해 상기 계산 태스크를 실행하는 데이터 계산 트랜잭션 요청을 개시하여, 상기 프라이버시 스마트 계약을 호출하고 상기 계산 태스크를 실행하여 계산 결과를 취득하도록 상기 블록체인 노드에 요청하기 위한 계산 요청 개시 모듈과,
업링크된 계산 결과를 취득하기 위한 계산 결과 취득 모듈과,
상기 소스 데이터의 데이터 제공자가 동형 암호화 공개키를 제공하도록 요청하기 위한 암호화 키 취득 모듈과,
상기 동형 암호화 공개키를 이용하여 상기 계산 결과에 대해 동형 복호화를 진행하고, 상기 계산 결과에 대해 블라인드 제거처리를 행하여 평문 계산 결과를 취득하기 위한 계산 결과 처리 모듈을 포함하는 장치.
- 제17항에 있어서,
상기 블라인드 처리는 호출 데이터에 랜덤값을 추가하는 것을 포함하고, 상기 블라인드 제거처리는 계산 결과로부터 상기 랜덤값을 제거하는 것을 포함하는 장치.
- 제17항에 있어서,
동형 암호화 모듈을 호출하여, 동형 암호화 비밀키와 동형 암호화 공개키를 포함하는 비대칭 동형 암호화 키를 생성하기 위한 암호화 키 생성 모듈과,
상기 동형 암호화 모듈을 호출하여, 동형 암호화 비밀키를 이용하여, 제공될 소스 데이터를 동형 암호화하기 위한 동형 암호화 모듈과,
상기 프라이버시 스마트 계약에 근거하여, 상기 소스 데이터를 업링크하는 데이터 공개 트랜잭션 요청을 개시하기 위한 업링크 요청 공개 모듈을 더 포함하는 장치.
- 제19항에 있어서,
데이터 사용자의 상기 소스 데이터의 사용에 대한 인증을 진행하도록 상기 소스 데이터의 사용권한을 인증센터에 배치하기 위한 권한배치 모듈을 더 포함하는 장치.
- 적어도 하나의 프로세서와,
상기 적어도 하나의 프로세서에 통신가능하게 연결되는 메모리를 구비하는 전자기기로서,
상기 메모리에 상기 적어도 하나의 프로세서에 의해 실행되는 지령이 저장되어 있고, 상기 지령이 상기 적어도 하나의 프로세서에 의해 실행되여, 상기 적어도 하나의 프로세서에 의해 제1항 내지 제6항 또는 제7항 내지 제10항 중 어느 한 항에 기재된 블록체인의 프라이버시 데이터 처리방법을 실행하도록 하는 전자기기.
- 컴퓨터 지령이 저장되는 비 일시적 컴퓨터 판독가능한 저장매체로서,
상기 컴퓨터 지령은, 상기 컴퓨터이 제1항 내지 제6항 또는 제7항 내지 제1 0항 중 어느 한 항에 기재된 블록체인의 프라이버시 데이터 처리방법을 실행하도록 하는 비 일시적 컴퓨터 판독 가능한 저장매체. - 컴퓨터 판독 가능한 저장 매체에 저장된 컴퓨터 프로그램으로서,
상기 컴퓨터 프로그램이 프로세서에 의해 실행될 경우 제1항 내지 제6항 또는 제7항 내지 제10항 중 어느 한 항에 기재된 블록체인의 프라이버시 데이터 처리방법을 구현하도록 하는 컴퓨터 프로그램.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010474245.3A CN111683071B (zh) | 2020-05-29 | 2020-05-29 | 区块链的隐私数据处理方法、装置、设备以及存储介质 |
CN202010474245.3 | 2020-05-29 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20210148863A KR20210148863A (ko) | 2021-12-08 |
KR102377187B1 true KR102377187B1 (ko) | 2022-03-21 |
Family
ID=72453737
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210025329A KR102377187B1 (ko) | 2020-05-29 | 2021-02-25 | 블록체인의 프라이버시 데이터 처리방법, 장치, 디바이스 및 저장매체 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11665000B2 (ko) |
EP (1) | EP3916604B1 (ko) |
JP (1) | JP2021189431A (ko) |
KR (1) | KR102377187B1 (ko) |
CN (1) | CN111683071B (ko) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112199734A (zh) * | 2020-09-24 | 2021-01-08 | 北京冲量在线科技有限公司 | 多方数据流通*** |
CN112615712B (zh) * | 2020-12-16 | 2023-03-24 | 百度在线网络技术(北京)有限公司 | 数据的处理方法、相关装置及计算机程序产品 |
KR20220087297A (ko) * | 2020-12-17 | 2022-06-24 | 삼성전자주식회사 | 처리 코드를 실행하는 스토리지 장치 및 이의 동작 방법 |
CN113014373B (zh) * | 2021-02-20 | 2022-06-10 | 广东浪潮智慧计算技术有限公司 | 一种同态计算中的数据加密方法、装置、设备及介质 |
CN112580107A (zh) * | 2021-02-23 | 2021-03-30 | 布比(北京)网络技术有限公司 | 基于区块链的数据开放方法、数据获取方法及相应装置 |
CN112989390A (zh) * | 2021-04-15 | 2021-06-18 | 深圳前海移联科技有限公司 | 一种基于可插拔同态加密的区块链同质数据共享方法 |
CN113282935A (zh) * | 2021-05-19 | 2021-08-20 | 中原银行股份有限公司 | 一种基于模型的预测方法、装置和存储介质 |
CN113438237B (zh) * | 2021-06-24 | 2023-05-26 | 上海万向区块链股份公司 | 数据安全协同计算方法及*** |
CN114358764A (zh) * | 2021-11-15 | 2022-04-15 | 深圳众联数字科技有限公司 | 基于区块链中智能合约的隐私计算方法及相关设备 |
CN113901523B (zh) * | 2021-12-08 | 2022-04-15 | 江苏移动信息***集成有限公司 | 基于区块链的可信溯源方法及***、存储介质 |
WO2023113573A1 (ko) * | 2021-12-17 | 2023-06-22 | 주식회사 크립토랩 | 전자 장치 및 암호화 방법 |
CN114244851B (zh) * | 2021-12-24 | 2023-07-07 | 四川启睿克科技有限公司 | 一种基于区块链的数据分发方法 |
CN114362958B (zh) * | 2021-12-28 | 2023-12-01 | 湖北工业大学 | 一种基于区块链的智能家居数据安全存储审计方法及*** |
CN114390035A (zh) * | 2022-01-12 | 2022-04-22 | 国家计算机网络与信息安全管理中心陕西分中心 | 一种以太坊智能合约应用态势感知*** |
CN114978651B (zh) * | 2022-05-16 | 2023-07-07 | 中国联合网络通信集团有限公司 | 一种隐私计算存证方法、装置、电子设备及存储介质 |
CN115001858B (zh) * | 2022-07-19 | 2022-11-01 | 北京融数联智科技有限公司 | 基于分布式计算的数据安全隔离方法、***、介质和设备 |
CN116055564A (zh) * | 2022-12-28 | 2023-05-02 | 支付宝(杭州)信息技术有限公司 | 跨平台的任务调度方法、计算任务执行方法和装置 |
CN115965388B (zh) * | 2022-12-30 | 2023-12-22 | 国网数字科技控股有限公司 | 基于区块链的产业链金融密态溯源方法、装置及相关设备 |
CN116611094B (zh) * | 2023-06-13 | 2024-07-05 | 上海零数众合信息科技有限公司 | 基于安全多方计算的充电网络数据获取方法及*** |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110033368A (zh) | 2018-11-30 | 2019-07-19 | 阿里巴巴集团控股有限公司 | 区块链中实现隐私保护的方法 |
WO2020037654A1 (zh) | 2018-08-24 | 2020-02-27 | 区链通网络有限公司 | 区块链数据保护方法、装置、***及计算机可读存储介质 |
CN111125763A (zh) | 2019-12-24 | 2020-05-08 | 百度在线网络技术(北京)有限公司 | 隐私数据的处理方法、装置、设备和介质 |
CN111143890A (zh) | 2019-12-26 | 2020-05-12 | 百度在线网络技术(北京)有限公司 | 一种基于区块链的计算处理方法、装置、设备和介质 |
US20200169387A1 (en) | 2019-07-31 | 2020-05-28 | Alibaba Group Holding Limited | Blockchain-based data authorization method and apparatus |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4387297B1 (en) | 1980-02-29 | 1995-09-12 | Symbol Technologies Inc | Portable laser scanning system and scanning methods |
FR2788650B1 (fr) | 1999-01-14 | 2001-02-16 | Gemplus Card Int | Procede cryptographique a cles publique et privee |
JP5790471B2 (ja) | 2011-12-13 | 2015-10-07 | 富士通株式会社 | 暗号処理方法、復号処理方法、装置及びプログラム |
US10484168B2 (en) | 2015-03-02 | 2019-11-19 | Dell Products L.P. | Methods and systems for obfuscating data and computations defined in a secure distributed transaction ledger |
US9819679B1 (en) * | 2015-09-14 | 2017-11-14 | Sprint Communications Company L.P. | Hardware assisted provenance proof of named data networking associated to device data, addresses, services, and servers |
SG11201808657TA (en) | 2016-04-01 | 2018-10-30 | Jpmorgan Chase Bank Na | Systems and methods for providing data privacy in a private distributed ledger |
CN106203178B (zh) * | 2016-08-26 | 2018-11-20 | 杨鹏 | 一种区块链的写入权限分配方法及*** |
US10783263B2 (en) | 2017-08-11 | 2020-09-22 | Palo Alto Research Center Incorporated | System and architecture for supporting analytics on encrypted databases |
CN107749865B (zh) * | 2017-12-07 | 2019-11-15 | 安徽大学 | 一种基于同态加密的位置隐私查询方法 |
CN108055128B (zh) * | 2017-12-18 | 2021-11-19 | 数安时代科技股份有限公司 | Rsa密钥的生成方法、装置、存储介质及计算机设备 |
CN108830716B (zh) * | 2018-05-31 | 2021-12-17 | 上海万向区块链股份公司 | 基于区块链和加密处理的保护用户隐私的交易*** |
CN108961058A (zh) * | 2018-07-11 | 2018-12-07 | 佛山伊苏巨森科技有限公司 | 一种用于区块链的多个计算机节点的方法 |
CN110298190A (zh) * | 2019-04-19 | 2019-10-01 | 矩阵元技术(深圳)有限公司 | 去中心化多方安全数据处理方法、装置及存储介质 |
-
2020
- 2020-05-29 CN CN202010474245.3A patent/CN111683071B/zh active Active
- 2020-12-09 US US17/116,327 patent/US11665000B2/en active Active
-
2021
- 2021-02-22 JP JP2021026236A patent/JP2021189431A/ja active Pending
- 2021-02-22 EP EP21158448.7A patent/EP3916604B1/en active Active
- 2021-02-25 KR KR1020210025329A patent/KR102377187B1/ko active IP Right Grant
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020037654A1 (zh) | 2018-08-24 | 2020-02-27 | 区链通网络有限公司 | 区块链数据保护方法、装置、***及计算机可读存储介质 |
CN110033368A (zh) | 2018-11-30 | 2019-07-19 | 阿里巴巴集团控股有限公司 | 区块链中实现隐私保护的方法 |
US20200169387A1 (en) | 2019-07-31 | 2020-05-28 | Alibaba Group Holding Limited | Blockchain-based data authorization method and apparatus |
CN111125763A (zh) | 2019-12-24 | 2020-05-08 | 百度在线网络技术(北京)有限公司 | 隐私数据的处理方法、装置、设备和介质 |
CN111143890A (zh) | 2019-12-26 | 2020-05-12 | 百度在线网络技术(北京)有限公司 | 一种基于区块链的计算处理方法、装置、设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
EP3916604A1 (en) | 2021-12-01 |
KR20210148863A (ko) | 2021-12-08 |
CN111683071B (zh) | 2023-02-28 |
CN111683071A (zh) | 2020-09-18 |
JP2021189431A (ja) | 2021-12-13 |
US20210377038A1 (en) | 2021-12-02 |
US11665000B2 (en) | 2023-05-30 |
EP3916604B1 (en) | 2024-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102377187B1 (ko) | 블록체인의 프라이버시 데이터 처리방법, 장치, 디바이스 및 저장매체 | |
JP2021189431A5 (ko) | ||
CN108632284B (zh) | 基于区块链的用户数据授权方法、介质、装置和计算设备 | |
JP7209750B2 (ja) | ブロックチェーンに基づくマルチパーティ計算方法、装置、電子機器、非一時的コンピュータ可読記憶媒体およびコンピュータプログラム | |
JP7069286B2 (ja) | プライバシーデータの処理方法、プライバシーデータの処理装置、機器及び媒体 | |
CN111737366B (zh) | 区块链的隐私数据处理方法、装置、设备以及存储介质 | |
CN111460429B (zh) | 基于可信执行环境的任务处理方法、装置、设备和介质 | |
CN114788226B (zh) | 用于建立分散式计算机应用的非托管工具 | |
US20210351938A1 (en) | Method and apparatus for sharing data based on blockchain network, device, and medium | |
CN105027107A (zh) | 安全虚拟机迁移 | |
US11418320B2 (en) | Blockchain-based data processing methods, devices, and media | |
CN114584307B (zh) | 一种可信密钥管理方法、装置、电子设备和存储介质 | |
CN111464297B (zh) | 基于区块链的事务处理方法、装置、电子设备和介质 | |
CN112039826A (zh) | 一种应用于小程序端的登录方法和装置 | |
US11449582B2 (en) | Auditable secure token management for software licensing/subscription | |
US20210117533A1 (en) | Private password constraint validation | |
CN112182635A (zh) | 一种联合建模的实现方法、装置、设备和介质 | |
CN110610101A (zh) | 一种数据存证方法、装置、设备及存储介质 | |
CN111200593A (zh) | 应用登录方法、装置和电子设备 | |
GB2546612A (en) | Password-authenticated public key encryption and decryption | |
CN112560003A (zh) | 用户权限管理方法和装置 | |
CN112261015B (zh) | 基于区块链的信息共享方法、平台、***以及电子设备 | |
CN115280718B (zh) | 用于授权实例之间的安全私钥分发的方法和*** | |
CN111400743B (zh) | 基于区块链网络的事务处理方法、装置、电子设备和介质 | |
JP2022141962A (ja) | データの照会と書き込み方法、装置、電子機器、読み取り可能な記憶媒体およびコンピュータプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |