KR102145701B1 - 안전한 다자 계산에서 참가자에 의한 입력 데이터의 허위 표시 방지 - Google Patents

안전한 다자 계산에서 참가자에 의한 입력 데이터의 허위 표시 방지 Download PDF

Info

Publication number
KR102145701B1
KR102145701B1 KR1020197028793A KR20197028793A KR102145701B1 KR 102145701 B1 KR102145701 B1 KR 102145701B1 KR 1020197028793 A KR1020197028793 A KR 1020197028793A KR 20197028793 A KR20197028793 A KR 20197028793A KR 102145701 B1 KR102145701 B1 KR 102145701B1
Authority
KR
South Korea
Prior art keywords
input data
mac
computing device
data item
trusted
Prior art date
Application number
KR1020197028793A
Other languages
English (en)
Inventor
리춘 리
웬젠 린
젱 리우
샨 인
Original Assignee
알리바바 그룹 홀딩 리미티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 알리바바 그룹 홀딩 리미티드 filed Critical 알리바바 그룹 홀딩 리미티드
Application granted granted Critical
Publication of KR102145701B1 publication Critical patent/KR102145701B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3242Cryptographic 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 keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/46Secure multiparty computation, e.g. millionaire problem

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Storage Device Security (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

안전한 다자간 계산을 위해, 컴퓨터 저장 매체들 상에 인코딩된 컴퓨터 프로그램들을 포함하는, 방법들, 시스템들, 및 장치들이 본 명세서에 개시된다. 방법들 중 하나는 동형 암호화된 신뢰할 수 있는 입력 데이터 아이템을 식별하는 단계; 메시지 인증 코드(MAC) 키 지분을 생성하는 단계; 신뢰할 수 있는 입력 데이터 아이템과 연관된 MAC 지분을 생성하는 단계 - MAC 지분은 난수임 -; 신뢰할 수 있는 입력 데이터 아이템, MAC 키 지분, 및 MAC 지분에 기초하여 암호문을 생성하는 단계; 암호문을 제2 컴퓨팅 디바이스로 송신하는 단계 - 제2 컴퓨팅 디바이스는 암호문을 비밀 입력 데이터 아이템과 연관된 MAC 지분의 컴포넌트로서 사용함 -; 및 다자간 계산이 복수의 컴퓨팅 디바이스들에 의해 완료된 후에, 비밀 입력 데이터 아이템과 연관된 MAC 지분에 적어도 부분적으로 기초하여 다자간 계산의 결과를 검증하는 단계를 포함한다.

Description

안전한 다자 계산에서 참가자에 의한 입력 데이터의 허위 표시 방지
본 명세서는 안전한 다자간 계산(secure multi-party computation)에 관한 것이다.
안전한 다자간 계산은 다른 참가자들에게 비밀로 유지되어야 하는 각각의 참가자로부터의 입력에 기초하여 계산을 수행하기 위해 협력하는 다수의 참가자 컴퓨팅 디바이스들을 수반한다. 기존의 기술들은 참가자가 다른 참가자들의 비밀 입력 데이터를 알지 못하면서 계산의 최종 결과가 올바르다는 것을 검증하기 위한 메커니즘들을 제공한다.
컨센서스 네트워크들(consensus networks), 및/또는 블록체인 네트워크들(blockchain networks)이라고도 지칭될 수 있는, 분산 원장 시스템들(distributed ledger systems, DLS들)은 참여 엔티티들이 데이터를 안전하게 그리고 변경할 수 없게(immutably) 저장할 수 있게 해준다. DLS들은 통상적으로 임의의 특정의 사용 사례(user case)를 언급함이 없이 블록체인 네트워크들이라고 지칭된다. 블록체인 네트워크들의 유형들의 예들은 퍼블릭 블록체인 네트워크들(public blockchain network), 프라이빗 블록체인 네트워크들(private blockchain networks), 및 컨소시엄 블록체인 네트워크들(consortium blockchain networks)을 포함할 수 있다. 컨센서스 프로세스(consensus process)를 제어하고 액세스 제어 계층을 포함하는 선택된 엔티티 그룹을 위해 컨소시엄 블록체인 네트워크가 제공된다.
기존의 안전한 다자간 계산 기술들은 계산의 각각의 참가자가 자신의 비밀 입력 데이터를 올바르게 표현하고 있다는 어떠한 보증도 제공하지 않는다. 따라서 당사자는, 자신의 비밀 입력 데이터를 조작함으로써, 어쩌면 자신에 유리하게, 계산의 최종 결과에 영향을 미칠 수 있다. 모든 비밀 입력 데이터가 다른 참가자들에 의해 정확하게 표현되고 있음을 다자간 계산에 대한 다른 참가자들이 검증할 수 있게 해주는 기술들이 바람직할 것이다.
본 명세서는 다자간 계산에서 참가자들에 의한 입력 데이터의 허위 표현(misrepresentation)을 방지하기 위한 기술들을 설명한다. 이러한 기술들은 일반적으로 당사자가 다른 당사자의 비밀 입력 데이터의 동형 암호화된 버전(homomorphically encrypted version)인 신뢰할 수 있는 입력 데이터 아이템을 획득하는 것을 수반한다. 당사자는 이어서 신뢰할 수 있는 입력 데이터 아이템의 신뢰할 수 있는 메시지 인증 코드(message authentication code, MAC) 지분(share)을 생성하고, 신뢰할 수 있는 MAC 지분에 적어도 부분적으로 기초하여 암호문(ciphertext)을 생성한다. 당사자는 이어서 암호문을 비밀 입력 데이터와 연관된 당사자에게 제공하며, 이 당사자는 다른 당사자로부터 수신된 암호문을 컴포넌트로서 이용하여 자신의 비밀 입력 데이터의 MAC 지분을 계산한다.
본 명세서는 하나 이상의 프로세서에 커플링되고, 하나 이상의 프로세서에 의해 실행될 때, 하나 이상의 프로세서로 하여금 본 명세서에 제공된 방법들의 실시예들에 따른 동작들을 수행하게 하는 명령어들이 저장되어 있는 하나 이상의 비일시적 컴퓨터 판독가능 저장 매체를 또한 제공한다.
본 명세서는 본 명세서에 제공된 방법들을 구현하기 위한 시스템을 추가로 제공한다. 이 시스템은 하나 이상의 프로세서, 및 하나 이상의 프로세서에 커플링되고, 하나 이상의 프로세서에 의해 실행될 때, 하나 이상의 프로세서로 하여금 본 명세서에 제공된 방법들의 실시예들에 따른 동작들을 수행하게 하는 명령어들이 저장되어 있는 컴퓨터 판독가능 저장 매체를 포함한다.
본 명세서에 따른 방법들이 본 명세서에 설명된 양태들 및 특징들의 임의의 조합을 포함할 수 있다는 것이 이해된다. 즉, 본 명세서에 따른 방법들은 본 명세서에 구체적으로 설명된 양태들 및 특징들의 조합들로 제한되지 않고, 제공된 양태들 및 특징들의 임의의 조합을 또한 포함한다.
본 명세서의 하나 이상의 실시예의 세부사항들이 첨부 도면들 및 아래의 설명에 기재되어 있다. 본 명세서의 다른 특징들 및 장점들은 설명 및 도면들로부터 그리고 청구항들로부터 명백할 것이다.
도 1은 본 명세서의 실시예들을 실행하는 데 사용될 수 있는 환경의 예를 예시하는 다이어그램이다.
도 2는 본 개시내용의 구현들에 따른 신호 흐름의 예를 묘사하고 있다.
도 3은 본 명세서의 실시예들에 따라 실행될 수 있는 프로세스의 예를 묘사하고 있다.
도 4는 본 명세서의 실시예들에 따른 장치의 모듈들의 예들을 묘사하고 있다.
다양한 도면들에서의 유사한 참조 번호들 및 명칭들은 유사한 요소들을 나타낸다.
본 명세서의 실시예들에 대한 추가적인 맥락을 제공하기 위해, 위에서 소개된 바와 같이, 안전한 다자간 계산은 다른 참가자들에게 비밀로 유지되어야 하는 각각의 참가자로부터의 입력에 기초하여 계산을 수행하기 위해 협력하는 다수의 참가자 컴퓨팅 디바이스들을 수반한다. 안전한 다자간 계산을 수행하기 위한 하나의 기술은 SPDZ(
Figure 112019113293564-pct00001
) 프로토콜(원래의 SPDZ 프로토콜 또는 그 변형)이다. SPDZ에서, 당사자들은 당사자들 사이에 비밀 공유되는(secret-shared) MAC 키에 합의하며 따라서 어느 당사자도 MAC 키를 알지 못한다. 당사자들은 MAC 키의 지분들을 사용하여 자신들의 비밀 입력 데이터의 MAC을 생성하며, 이 MAC는 비밀 입력 데이터의 지분들이 계산 동안 다른 당사자들에 의해 변조되지 않았음을 검증하는 데 사용될 수 있다. 각각의 당사자가 지분을 수신하도록, 각각의 당사자는 이어서 ("MAC 지분들"인) MAC 및 비밀 입력 데이터 둘 다를 다른 당사자들과 비밀 공유한다. 각각의 당사자는 이어서 자신이 수신한 모든 입력 및 MAC 지분들에 대해 로컬적으로 계산을 수행하여 결과 지분 z 및 결과 MAC 지분 M(z)를 산출(produce)한다. n 개의 당사자와의 가산 계산의 경우, 최종 결과 r은 이하의 방정식:
r = z1+ z2+...zn
에 따라 결정되고, 다자간 계산의 MAC 결과 M(r)은 이하의 방정식:
M(r) = M(z1) + M(z2) +... M(zn)
에 따라 결정된다.
악의적인 당사자가 잘못된 결과 z를 제공하는 것에 의해 계산을 변조하려고 시도하더라도, 그 당사자는 대응하는 MAC 값이 잘못된 결과와 매칭하게 하기 위해 대응하는 MAC 값을 변경할 수 없을 것이다. 따라서, 최종 MAC 결과 M(r)은 결과 r과 매칭하지 않을 것이고, 다른 당사자들은 변조에 대해 경고받을 것이다.
위의 접근법에서, 악의적인 당사자는 자신의 비밀 입력 데이터의 값을 허위 표현하는 것에 의해 계산을 여전히 변조할 수 있다. 그러한 허위 표현은 위의 스킴을 사용하여 검출가능하지 않을 것이다.
본 명세서는 다자간 계산에서 참가자들에 의한 입력 데이터의 허위 표현을 방지하기 위한 기술들을 설명한다. 이러한 기술들은 일반적으로 당사자가 블록체인과 같은 신뢰할 수 있는 소스로부터 다른 당사자의 비밀 입력 데이터의 동형 암호화된 버전을 획득하는 것을 수반한다. 당사자는 이어서 암호화된 데이터의 메시지 인증 코드(MAC)를 생성하고, MAC을 비밀 입력 데이터와 연관된 당사자에게 제공하며, 이 당사자는 다른 당사자로부터 수신된 MAC을 컴포넌트로서 이용하여 자신의 비밀 입력 데이터의 MAC을 계산한다. 이것은, 비밀 입력 데이터의 MAC을, 신뢰할 수 있는 입력 데이터에 암호적으로 서명한(cryptographically-signed) 신뢰할 수 있는 당사자인 블록체인과 같은, 신뢰할 수 있는 소스, 또는 다른 소스들로부터 획득된 대응하는 암호문에 연계시키는(tying) 것에 의해, 각각의 당사자가 자신의 비밀 입력 데이터를 올바르게 표현하도록 보장할 수 있다.
블록체인은 트랜잭션들이 변경불가능한 방식으로 트랜잭션들을 저장하는 데이터 구조이다. 따라서, 블록체인에 기록된 트랜잭션들은 신뢰성 있고 신뢰할 만하다. 블록체인은 트랜잭션들을 저장하기 위한 탈중앙화된(decentralized) 또는 적어도 부분적으로 탈중앙화된 데이터 구조이다. 블록체인 네트워크는 트랜잭션들 등을 브로드캐스팅, 검증 및 유효성 확인하는 것에 의해 하나 이상의 블록체인을 관리, 업데이트, 및 유지하는 컴퓨팅 노드들의 네트워크이다. 일부 예들에서, 글로벌 블록체인은 모든 노드들에 걸쳐 복제되는 블록체인으로서 제공된다. 즉, 모든 컨센서스 노드들(consensus nodes)은 글로벌 블록체인과 관련하여 완벽한 상태 컨센서스(state consensus)에 있다. 컨센서스(예컨대, 블록체인에 블록을 추가하는 것에 대한 합의)를 달성하기 위해, 컨소시엄 블록체인 네트워크 내에서 컨센서스 프로토콜이 구현된다. 예를 들어, 컨소시엄 블록체인 네트워크는 PBFT(practical Byzantine fault tolerance) 컨센서스를 구현할 수 있다. 본 명세서에 설명된 기술들은 블록체인으로부터 검색된 신뢰할 수 있는 입력 데이터가 블록체인에 입력된 이래로 변경되지 않았다는 보증을 제공하기 위해 블록체인의 컨센서스 메커니즘들을 활용한다.
도 1은 본 명세서의 실시예들을 실행하는 데 사용될 수 있는 환경(100)의 예를 예시하는 다이어그램이다. 일부 예들에서, 환경(100)은 엔티티들이 다자간 계산에 참여할 수 있게 해준다. 환경(100)은 노드들(102a 내지 102d), 및 네트워크(130)를 포함한다. 일부 예들에서, 네트워크(130)는 LAN(local area network), WAN(wide area network), 인터넷, 또는 이들의 조합을 포함하고, 웹 사이트들, 사용자 디바이스들(예컨대, 컴퓨팅 디바이스들), 및 백엔드 시스템들을 접속시킨다. 일부 예들에서, 네트워크(130)는 유선 및/또는 무선 통신 링크를 통해 액세스될 수 있다. 일부 예들에서, 네트워크(130)는 환경(100)과의 통신, 및 환경(100) 내에서의 통신을 가능하게 해준다. 일반적으로, 네트워크(130)는 하나 이상의 통신 네트워크를 나타낸다. 일부 경우들에서, 노드들(102a 내지 102d)은 클라우드 컴퓨팅 시스템(도시되지 않음)의 노드들일 수 있거나, 또는 각각의 노드(102a 내지 102d)는 네트워크에 의해 상호접속되고 분산 프로세싱 시스템으로서 기능하는 다수의 컴퓨터들을 포함하는 개별 클라우드 컴퓨팅 시스템일 수 있다.
묘사된 예에서, 노드들(102a 내지 102d) 각각은 다자간 계산에의 참여를 가능하게 해주는 임의의 적절한 컴퓨팅 시스템을 포함할 수 있다. 컴퓨팅 디바이스들의 예들은, 제한 없이, 서버, 데스크톱 컴퓨터, 랩톱 컴퓨터, 태블릿 컴퓨팅 디바이스, 및 스마트폰을 포함한다. 일부 예들에서, 노드들(102a 내지 102d)은 다자간 계산에 참여하는 다른 노드들과 상호작용하기 위한 하나 이상의 컴퓨터-구현 서비스를 호스팅한다. 일부 구현들에서, 노드(102a)는 제1 엔티티와 연관될 수 있고, 제1 엔티티와 연관된 데이터를 저장할 수 있다. 노드(102b)는 제2 엔티티의 컴퓨터-구현 서비스들을 호스팅할 수 있고, 제2 엔티티와 연관된 데이터를 저장할 수 있다. 도 1의 예에서, 환경(100)은 다자간 계산에 참여하는 노드들(102a 내지 102d)의 피어-투-피어 네트워크로서 표현된다.
노드(102a)는 다자간 계산에 대한 입력으로서 노드(102a)에 의해 제공될 비밀 입력 데이터(140)를 저장한다. 일부 예들에서, 비밀 입력 데이터(140)는 다자간 계산에 참여하는 다른 노드들(102b 내지 102d)에게 그 값이 노출되지 않아야 하는 민감한 데이터이다. 일부 경우들에서, 노드들(102a 내지 102d) 각각은 자신의 비밀 입력 데이터를 저장한다. 위에서 설명된 바와 같이, SPDZ와 같은 알고리즘들을 사용하여, 노드들(102a 내지 102d)은 각각의 노드로부터의 비밀 입력 데이터에 대해 다자간 계산을 수행할 수 있고, 임의의 노드가 자신의 비밀 입력 데이터의 실제 값을 임의의 다른 노드에 노출시키지 않으면서 계산의 올바르고 검증가능한 결과를 산출할 수 있다.
노드(102b)는 노드(102a)에 의해 저장된 비밀 입력 데이터(140)에 대응하는 신뢰할 수 있는 입력 데이터(150)를 저장한다. 일부 경우들에서, 신뢰할 수 있는 입력 데이터(150)는 노드(102a)만이 복호화 키를 보유하는 비밀 입력 데이터(140)의 암호화된 표현일 수 있으며, 이는 노드(102b)가 신뢰할 수 있는 입력 데이터(150)로부터 비밀 입력 데이터(140)의 실제 값을 알 수 없음을 의미한다. 일부 경우들에서, 신뢰할 수 있는 입력 데이터(150)는, 여기서 블록체인으로 도시된, 신뢰할 수 있는 데이터 소스(110)로부터 노드(102b)에 의해 획득된다. 일부 예들에서, 신뢰할 수 있는 입력 데이터(150)는 그의 진정성을 보장하는 소스로부터 획득된다. 예를 들어, 적절하게 유지되는 블록체인은 블록체인에 저장된 데이터가 일단 저장되면 변경불가능하도록 보장하며, 이는 신뢰할 수 있는 입력 데이터(150)가 블록체인에 저장된 후에 노드(102a) 또는 임의의 다른 행위자가 신뢰할 수 있는 입력 데이터(150)의 값을 변경했을 위험이 거의 없다는 것을 의미한다. 신뢰할 수 있는 입력 데이터(150)는 신뢰할 수 있는 입력 데이터(150)에 암호적으로 서명하여 그의 진정성이 검증될 수 있게 해주는 제3 신뢰 기관(trusted third party)으로부터 또한 획득될 수 있다. 일부 경우들에서, 신뢰할 수 있는 입력 데이터(150)는 비밀 입력 데이터(140)의 암호화된 해시일 수 있고, 노드(102b)는 암호화된 해시가 비밀 입력 데이터(140)의 해시 값에 대응함을 검증하기 위해 노드(102a)로부터 영지식 증명 알고리즘(zero-knowledge proof algorithm)을 획득할 수 있다.
도 2는 본 개시내용의 구현들에 따른 신호 흐름(200)의 예를 묘사하고 있다. 210에서, 노드(102b)는 노드(102a)에 의해 저장된 비밀 입력 데이터(140)에 대응하는 신뢰할 수 있는 입력 데이터(150)를 신뢰할 수 있는 데이터 소스(110)로부터 검색한다. 220에서, 노드(102b)는 신뢰할 수 있는 입력 데이터(150)에 기초하여 신뢰할 수 있는 MAC 지분을 생성한다. 일부 경우들에서, 신뢰할 수 있는 MAC 지분은, 다자간 계산에 참여하는 모든 노드들에 의해 생성된 글로벌 MAC 키의 지분인, 노드(102b)에 의해 생성된 MAC 키 지분에 기초할 수 있다.
230에서, 노드(102b)는 신뢰할 수 있는 MAC 지분에 부분적으로 기초한 암호문을 노드(102a)로 송신한다.일부 경우들에서, 노드(102b)는 신뢰할 수 있는 입력 데이터, MAC 키 지분, 및 신뢰할 수 있는 MAC 지분에 기초하여 암호문을 생성한다. 240에서, 노드(102a)는 암호문에 부분적으로 기초하여 비밀 입력 데이터의 MAC 지분을 생성한다. 일부 경우들에서, MAC 지분은 암호문, 노드(102a)와 연관된 MAC 키 지분, 비밀 입력 데이터 아이템, 및 신뢰할 수 있는 입력 데이터 아이템을 복호화하도록 구성된 비밀 키에 기초하여 생성된다.
250에서, 노드들(102a 및 102b)은 다자간 계산을 수행한다. 일부 경우들에서, 노드들(102a 및 102b)은 계산에 참여하고 있는 다른 노드들과 협력하여 계산을 수행한다. 일부 예들에서, 다자간 계산은, 위에서 논의된, SPDZ 프로토콜에 따라 수행된다.
260에서, 노드들(102a 및 102b)은 다자간 계산을 수행한다. 일부 경우들에서, 노드들(102a 및 102b)은 계산에 참여하고 있는 다른 노드들과 협력하여 계산을 검증한다. 일부 예들에서, 다자간 계산은, 위에서 논의된, SPDZ 프로토콜에 따라 검증된다.
도 3은 복수의 컴퓨팅 디바이스들을 수반하는 다자간 계산에서 입력 데이터의 허위 표현을 방지하기 위한 프로세스(300)의 예의 플로차트이다. 편의상, 프로세스(300)는 하나 이상의 위치에 위치되고 본 명세서에 따라 적절하게 프로그래밍된 하나 이상의 컴퓨터의 시스템에 의해 수행되는 것으로 설명될 것이다. 예를 들어, 적절하게 프로그래밍된 시스템, 예컨대, 도 1의 시스템(100)은 프로세스(300)를 수행할 수 있다.
302에서, 제1 컴퓨팅 디바이스는 동형 암호화된 신뢰할 수 있는 입력 데이터 아이템을 식별하고, 여기서 신뢰할 수 있는 입력 데이터 아이템은 제1 컴퓨팅 디바이스와 상이한 제2 컴퓨팅 디바이스와 연관된 비밀 입력 데이터 아이템에 대응하고, 여기서 제2 컴퓨팅 디바이스는 비밀 입력 데이터 아이템의 소유자와 연관되고, 여기서 제1 컴퓨팅 디바이스는 비밀 입력 데이터 아이템의 소유자가 아닌 상이한 당사자와 연관된다. 일부 경우들에서, 신뢰할 수 있는 입력 데이터 아이템은 신뢰할 수 있는 데이터 소스로부터 제1 컴퓨팅 디바이스에 의해 수신된다. 일부 예들에서, 신뢰할 수 있는 데이터 소스는 블록체인이다.
304에서, 제1 컴퓨팅 디바이스는 신뢰할 수 있는 입력 데이터 아이템과 연관된 신뢰할 수 있는 MAC 지분을 생성한다.
306에서, 제1 컴퓨팅 디바이스는 신뢰할 수 있는 MAC 지분에 적어도 부분적으로 기초하여 암호문을 생성한다.
308에서, 제1 컴퓨팅 디바이스는 암호문을 제2 컴퓨팅 디바이스로 송신하고, 여기서 제2 컴퓨팅 디바이스는 암호문을 비밀 입력 데이터 아이템과 연관된 MAC 지분의 컴포넌트로서 사용한다. 일부 경우들에서, 비밀 입력 데이터 아이템과 연관된 MAC 지분은 암호문, 제2 컴퓨팅 디바이스와 연관된 MAC 키 지분, 비밀 입력 데이터 아이템, 및 신뢰할 수 있는 비밀 입력 데이터 아이템을 복호화하도록 구성된 비밀 키에 기초하여 생성된다.
310에서, 다자간 계산이 복수의 컴퓨팅 디바이스들에 의해 완료된 후에, 제1 컴퓨팅 디바이스는 비밀 입력 데이터 아이템과 연관된 MAC 지분에 적어도 부분적으로 기초하여 다자간 계산의 결과를 검증한다.
일부 경우들에서, 프로세스(300)는, 제1 컴퓨팅 디바이스에 의해, 제1 컴퓨팅 디바이스와 연관된 MAC 키 지분을 생성하는 단계를 포함하며, 여기서 MAC 키 지분은 난수(random number)이고, 여기서 암호문은 MAC 키 지분에 적어도 부분적으로 기초하여 생성된다.
일부 경우들에서, 프로세스(300)는 다자간 계산을 검증하는 단계 이전에 SPDZ(
Figure 112019113293564-pct00002
) 프로토콜에 따라 다자간 계산을 수행하는 단계를 포함하고, 다자간 계산의 결과를 검증하는 단계는 SPDZ 프로토콜에 따라 수행된다.
일부 예들에서, 다자간 계산의 결과 r은 이하의 방정식:
r = f(z1, z2, ... zn)
에 따라 결정되고, 여기서 f는 다자간 계산에 의해 수행되는 연산이며, z1, z2, ...zn은 복수의 컴퓨팅 디바이스들과 연관된 비밀 입력 데이터 아이템들이고; 다자간 계산의 MAC 결과 M(r)은 이하의 방정식:
M(r) = M(f(z1, z2, ... zn))
에 따라 결정되며, 여기서 M은 비밀 입력 데이터 아이템의 MAC 지분을 생성하는 데 사용되는 MAC 함수이다. 일부 경우들에서, MAC 함수는 데이터 아이템 및 MAC 키 지분이 입력으로서 주어지면 MAC 지분으로서 사용될 숫자를 생성하는 수치 연산이다. 일부 구현들에서, MAC 함수는, 해시 함수와 유사하게, 동일한 입력이 주어질 때 동일한 숫자를 산출할 것이다.
일부 경우들에서, 다자간 계산에 의해 수행되는 연산은 가산 연산이며, 다자간 계산의 결과 r은 이하의 방정식:
r = z1+ z2+... zn
에 따라 결정되고, 다자간 계산의 MAC 결과 M(r)은 이하의 방정식:
M(r) = M(z1) + M(z2) +... M(zn)
에 따라 결정된다.
도 4는 본 명세서의 실시예들에 따른 장치(400)의 모듈들의 예의 다이어그램이다.
장치(400)는 다자간 계산을 수행할 수 있는 컴퓨팅 디바이스의 실시예의 예일 수 있다. 장치(400)는 위에서 설명된 실시예들에 대응할 수 있고, 장치(400)는 다음과 같은 것: 동형 암호화된 신뢰할 수 있는 입력 데이터 아이템을 식별하는 식별 모듈(402) - 신뢰할 수 있는 입력 데이터 아이템은 제1 컴퓨팅 디바이스와 상이한 제2 컴퓨팅 디바이스와 연관된 비밀 입력 데이터 아이템에 대응하고, 제2 컴퓨팅 디바이스는 비밀 입력 데이터 아이템의 소유자와 연관되며, 제1 컴퓨팅 디바이스는 신뢰할 수 있는 입력 데이터 아이템의 소유자가 아닌 상이한 당사자와 연관됨 -; 신뢰할 수 있는 입력 데이터 아이템과 연관된 신뢰할 수 있는 MAC 지분을 생성하는 제1 생성 모듈(404); 신뢰할 수 있는 MAC 지분에 적어도 부분적으로 기초하여 암호문을 생성하는 제2 생성 모듈(406); 암호문을 제2 컴퓨팅 디바이스로 송신하는 송신 모듈(408) - 제2 컴퓨팅 디바이스는 암호문을 비밀 입력 데이터 아이템과 연관된 MAC 지분의 컴포넌트로서 사용함 -; 및 다자간 계산이 복수의 컴퓨팅 디바이스들에 의해 완료된 후에 비밀 입력 데이터 아이템과 연관된 MAC 지분의 컴포넌트인 신뢰할 수 있는 입력 데이터 아이템에 기초한 암호문에 적어도 부분적으로 기초하여 다자간 계산의 결과를 검증하는 검증 모듈(310)을 포함한다.
이전의 실시예들에서 예시된 시스템, 장치, 모듈, 또는 유닛은 컴퓨터 칩 또는 엔티티에 의해 구현될 수 있거나, 또는 특정한 기능을 갖는 제품을 사용하여 구현될 수 있다. 전형적인 실시예 디바이스는 컴퓨터이고, 컴퓨터는 개인 컴퓨터, 랩톱 컴퓨터, 셀룰러 폰, 카메라 폰, 스마트폰, 개인 휴대 단말(personal digital assistant), 미디어 플레이어, 내비게이션 디바이스, 이메일 수신 및 송신 디바이스, 게임 콘솔, 태블릿 컴퓨터, 웨어러블 디바이스, 또는 이러한 디바이스들의 임의의 조합일 수 있다.
장치 내의 각각의 모듈의 기능들 및 역할들의 실시예 프로세스에 대해서는, 이전의 방법에서의 대응하는 단계들의 실시예 프로세스가 참조될 수 있다. 세부사항들이 간단함을 위해 여기서 생략된다.
장치 실시예가 기본적으로 방법 실시예에 대응하기 때문에, 관련 부분들에 대해서는, 방법 실시예에서의 관련 설명들이 참조될 수 있다. 이전에 설명된 장치 실시예는 예에 불과하다. 별개의 부분들로서 설명된 모듈들이 물리적으로 분리되어 있을 수 있거나 그렇지 않을 수 있고, 모듈들로서 표시된 부분들이 물리적 모듈들일 수 있거나 그렇지 않을 수 있거나, 하나의 위치에 위치될 수 있거나, 또는 복수의 네트워크 모듈들에 분산될 수 있다. 모듈들 중 일부 또는 전부는 본 명세서의 해결책들의 목적들을 달성하기 위해 실제 수요들에 기초하여 선택될 수 있다. 본 기술분야의 통상의 기술자는 창조적 노력 없이 본 출원의 실시예들을 이해하고 구현할 수 있다.
도 4를 또다시 참조하면, 이는 다자간 계산에 참여하도록 동작가능한 컴퓨팅 디바이스의 구조 및 내부 기능 모듈을 예시하는 것으로 해석될 수 있다. 실행 주체는 본질적으로 전자 디바이스일 수 있으며, 전자 디바이스는 다음과 같은 것: 하나 이상의 프로세서; 및 하나 이상의 프로세서의 실행가능 명령어를 저장하도록 구성된 메모리를 포함한다.
본 명세서에 설명된 기술들은 하나 이상의 기술적 효과를 산출한다. 일부 실시예들에서, 본 명세서에 설명된 기술들은 다자간 계산에 참여하는 컴퓨팅 디바이스들이 모든 다른 참가자들이 계산에 진정성있는 입력 데이터를 제공하고 있음을 검증할 수 있게 해주는 것에 의해 다자간 계산의 참가자들에게 향상된 데이터 보안을 제공한다. 이것은 악의적인 참가자가 자신의 입력 데이터를 허위 표현하여 다자간 계산의 결과에 영향을 미치는 것을 방지한다. 이 기술들은 결과의 산출과 검증 사이에 많은 양의 시간이 있지 않도록 이 검증이 다자간 계산의 일부로서 수행될 수 있게 해준다.
주제(subject matter)의 설명된 실시예들은 하나 이상의 특징을, 단독으로 또는 조합하여, 포함할 수 있다.
예를 들어, 제1 실시예에서, 예시적인 방법은, 제1 컴퓨팅 디바이스에 의해, 동형 암호화된 신뢰할 수 있는 입력 데이터 아이템을 식별하는 단계 - 신뢰할 수 있는 입력 데이터 아이템은 제1 컴퓨팅 디바이스와 상이한 제2 컴퓨팅 디바이스와 연관된 비밀 입력 데이터 아이템에 대응하고, 제2 컴퓨팅 디바이스는 비밀 입력 데이터 아이템의 소유자와 연관되며, 제1 컴퓨팅 디바이스는 신뢰할 수 있는 입력 데이터 아이템의 소유자가 아닌 상이한 당사자와 연관됨 -; 제1 컴퓨팅 디바이스에 의해, 신뢰할 수 있는 입력 데이터 아이템과 연관된 신뢰할 수 있는 MAC 지분을 생성하는 단계; 제1 컴퓨팅 디바이스에 의해, 신뢰할 수 있는 MAC 지분에 적어도 부분적으로 기초하여 암호문을 생성하는 단계; 제1 컴퓨팅 디바이스에 의해, 암호문을 제2 컴퓨팅 디바이스로 송신하는 단계 - 제2 컴퓨팅 디바이스는 암호문을 비밀 입력 데이터 아이템과 연관된 MAC 지분의 컴포넌트로서 사용함 -; 및 다자간 계산이 복수의 컴퓨팅 디바이스들에 의해 완료된 후에, 제1 컴퓨팅 디바이스에 의해, 비밀 입력 데이터 아이템과 연관된 MAC 지분에 적어도 부분적으로 기초하여 다자간 계산의 결과를 검증하는 단계를 포함한다.
전술한 및 다른 설명된 실시예들 각각은, 임의로, 이하의 특징들 중 하나 이상을 포함할 수 있다:
이하의 특징들 중 임의의 특징과 결합가능한, 제1 특징은, 신뢰할 수 있는 입력 데이터 아이템이 신뢰할 수 있는 데이터 소스로부터 제1 컴퓨팅 디바이스에 의해 수신된다는 것을 명시한다.
이전의 또는 이하의 특징들 중 임의의 것과 결합가능한, 제2 특징은 신뢰할 수 있는 데이터 소스가 블록체인이라는 것을 명시한다.
이전의 또는 이하의 특징들 중 임의의 것과 결합가능한, 제3 특징은, 이 방법이, 제1 컴퓨팅 디바이스에 의해, 제1 컴퓨팅 디바이스와 연관된 MAC 키 지분을 생성하는 단계를 추가로 포함하며, 여기서 MAC 키 지분은 난수이고, 여기서 암호문은 MAC 키 지분에 적어도 부분적으로 기초하여 생성된다는 것을 명시한다.
이전의 또는 이하의 특징들 중 임의의 것과 결합가능한, 제4 특징은 비밀 입력 데이터 아이템과 연관된 MAC 지분이 암호문, 제2 컴퓨팅 디바이스와 연관된 MAC 키 지분, 비밀 입력 데이터 아이템, 및 신뢰할 수 있는 비밀 입력 데이터 아이템을 복호화하도록 구성된 비밀 키에 기초하여 생성된다는 것을 명시한다.
이전의 또는 이하의 특징들 중 임의의 것과 결합가능한, 제5 특징은, 이 방법이, 다자간 계산을 검증하기 전에, SPDZ(
Figure 112019113293564-pct00003
) 프로토콜에 따라 다자간 계산을 수행하는 단계를 추가로 포함하고, 여기서 다자간 계산의 결과를 검증하는 단계는 SPDZ 프로토콜에 따라 수행된다는 것을 명시한다.
이전의 또는 이하의 특징들 중 임의의 것과 결합가능한, 제6 특징은 다자간 계산의 결과 r이 이하의 방정식:
r = f(z1, z2, ... zn)
에 따라 결정되고, 여기서 f는 다자간 계산에 의해 수행되는 연산이며, z1, z2, ...zn은 복수의 컴퓨팅 디바이스들과 연관된 비밀 입력 데이터 아이템들이고; 다자간 계산의 MAC 결과 M(r)이 이하의 방정식:
M(r) = M(f(z1, z2, ... zn))
에 따라 결정되며, 여기서 M은 상기 비밀 입력 데이터 아이템의 상기 MAC 지분을 생성하는 데 사용되는 MAC 함수라는 것을 명시한다.
이전의 또는 이하의 특징들 중 임의의 것과 결합가능한, 제7 특징은 다자간 계산에 의해 수행되는 연산이 가산 연산이며, 다자간 계산의 결과 r이 이하의 방정식:
r = z1+ z2+... zn
에 따라 결정되고, 다자간 계산의 MAC 결과 M(r)이 이하의 방정식:
M(r) = M(z1) + M(z2) +... M(zn)
에 따라 결정된다는 것을 명시한다.
본 명세서에 설명된 주제 및 액션들 및 동작들의 실시예들은 디지털 전자 회로부로, 유형적으로 구체화된 컴퓨터 소프트웨어 또는 펌웨어로, 본 명세서에 개시된 구조들 및 이들의 구조적 등가물들을 포함한, 컴퓨터 하드웨어로, 또는 이들 중 하나 이상의 조합들로 구현될 수 있다. 본 명세서에 설명된 주제의 실시예들은 하나 이상의 컴퓨터 프로그램, 예컨대, 데이터 프로세싱 장치에 의해 실행하기 위한 또는 데이터 프로세싱 장치의 동작을 제어하기 위한, 컴퓨터 프로그램 캐리어(computer program carrier) 상에 인코딩된, 컴퓨터 프로그램 명령어들의 하나 이상의 모듈로서 구현될 수 있다. 예를 들어, 컴퓨터 프로그램 캐리어는 명령어들이 인코딩되어 있거나 저장되어 있는 하나 이상의 컴퓨터 판독가능 저장 매체를 포함할 수 있다. 캐리어는, 자기, 자기 광학, 또는 광학 디스크, 솔리드 스테이트 드라이브, 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 또는 다른 유형들의 매체들과 같은, 유형적인(tangible) 비일시적 컴퓨터 판독가능 매체일 수 있다. 대안적으로 또는 그에 부가하여, 캐리어는 데이터 프로세싱 장치에 의해 실행하기 위해 적당한 수신기 장치로의 전송을 위한 정보를 인코딩하기 위해 생성되는 인위적으로 생성된 전파 신호(artificially generated propagated signal), 예컨대, 머신 생성(machine-generated) 전기, 광학, 또는 전자기 신호일 수 있다. 컴퓨터 저장 매체는 머신 판독가능 저장 디바이스, 머신 판독가능 저장 기판, 랜덤 또는 직렬 액세스 메모리 디바이스, 또는 이들 중 하나 이상의 조합일 수 있거나, 그의 일부일 수 있다. 컴퓨터 저장 매체는 전파 신호가 아니다.
프로그램, 소프트웨어, 소프트웨어 애플리케이션, 앱, 모듈, 소프트웨어 모듈, 엔진, 스크립트, 또는 코드라고도 지칭될 수 있는, 컴퓨터 프로그램은, 컴파일(compile)되거나 인터프리트(interpret)되는 언어들, 선언적(declarative) 또는 절차적(procedural) 언어들을 포함한, 임의의 형태의 프로그래밍 언어로 작성될 수 있다. 이는 독립형 프로그램으로서 또는 컴퓨팅 환경에서 실행하기에 적당한 모듈, 컴포넌트, 엔진, 서브루틴, 또는 다른 유닛으로서를 포함한, 임의의 형태로 배포될 수 있으며, 이 환경은 하나 이상의 위치에 있는 데이터 통신 네트워크에 의해 상호접속된 하나 이상의 컴퓨터를 포함할 수 있다.
컴퓨터 프로그램이 파일 시스템에서의 파일에 대응할 수 있지만 그럴 필요는 없다. 컴퓨터 프로그램은 다른 프로그램들 또는 데이터, 예컨대, 마크업 언어 문서에 저장된 하나 이상의 스크립트를 보유하는 파일의 일 부분에, 문제의 프로그램에 전용된 단일 파일에, 또는 다수의 통합 파일들(coordinated files), 예컨대, 하나 이상의 모듈, 서브 프로그램(sub program), 또는 코드 부분(portion of code)을 저장하는 파일들에 저장될 수 있다.
컴퓨터 프로그램의 실행을 위한 프로세서들은, 예로서, 범용 및 특수 목적 마이크로프로세서들 둘 다, 및 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서를 포함한다. 일반적으로, 프로세서는 실행을 위한 컴퓨터 프로그램의 명령어들은 물론 데이터를 프로세서에 커플링된 비일시적 컴퓨터 판독가능 매체로부터 수신할 것이다.
용어 “데이터 프로세싱 장치"는, 예로서, 프로그래밍가능 프로세서, 컴퓨터, 또는 다수의 프로세서들 또는 컴퓨터들을 포함한, 데이터를 프로세싱하기 위한 모든 종류의 장치들, 디바이스들, 및 머신들을 포괄한다. 데이터 프로세싱 장치는 특수 목적 로직 회로부, 예컨대, FPGA(field programmable gate array), ASIC(application specific integrated circuit), 또는 GPU(graphics processing unit)를 포함할 수 있다. 이 장치는, 하드웨어에 부가하여, 컴퓨터 프로그램들에 대한 실행 환경을 생성하는 코드, 예컨대, 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제, 또는 이들 중 하나 이상의 조합을 구성하는 코드를 또한 포함할 수 있다.
본 명세서에 설명된 프로세스들 및 로직 흐름들은 입력 데이터를 조작하여 출력을 생성함으로써 동작들을 수행하기 위해 하나 이상의 컴퓨터 프로그램을 실행하는 하나 이상의 프로그래밍가능 프로세서에 의해 수행될 수 있다. 프로세스들 및 로직 흐름들은 특수 목적 로직 회로부, 예컨대, FPGA, ASIC, 또는 GPU에 의해, 또는 특수 목적 로직 흐름와 하나 이상의 프로그래밍된 컴퓨터의 조합에 의해 또한 수행될 수 있다.
컴퓨터 프로그램의 실행에 적당한 컴퓨터들은 범용 또는 특수 목적 마이크로프로세서들 또는 둘 다, 또는 임의의 다른 종류의 중앙 프로세싱 유닛에 기초할 수 있다. 일반적으로, 중앙 프로세싱 유닛은 판독 전용 메모리 또는 랜덤 액세스 메모리 또는 둘 다로부터 명령어들 및 데이터를 수신할 것이다. 컴퓨터의 요소들은 명령어들을 실행하기 위한 중앙 프로세싱 유닛 및 명령어들 및 데이터를 저장하기 위한 하나 이상의 메모리 디바이스를 포함할 수 있다. 중앙 프로세싱 유닛 및 메모리는 특수 목적 로직 회로부에 의해 보완되거나 그에 통합될 수 있다.
일반적으로, 컴퓨터는 하나 이상의 저장 디바이스를 또한 포함하거나, 이들로부터 데이터를 수신하거나 이들로 데이터를 전송하도록 동작가능하게 커플링될 것이다. 저장 디바이스들은, 예를 들어, 자기, 자기 광학, 또는 광학 디스크들, 솔리드 스테이트 드라이브들, 또는 임의의 다른 유형의 비일시적 컴퓨터 판독가능 매체들일 수 있다. 그렇지만, 컴퓨터가 그러한 디바이스들을 가질 필요는 없다. 따라서, 컴퓨터는 로컬 및/또는 원격인, 하나 이상의 메모리와 같은, 하나 이상의 저장 디바이스에 커플링될 수 있다. 예를 들어, 컴퓨터는 컴퓨터의 필요불가결한 컴포넌트들인 하나 이상의 로컬 메모리를 포함할 수 있거나, 또는 컴퓨터는 클라우드 네트워크에 있는 하나 이상의 원격 메모리에 커플링될 수 있다. 더욱이, 컴퓨터는, 몇 가지 예를 들면, 다른 디바이스. 예컨대, 모바일 전화, PDA(personal digital assistant), 모바일 오디오 또는 비디오 플레이어, 게임 콘솔, GPS(Global Positioning System) 수신기, 또는 휴대용 저장 디바이스, 예컨대, USB(universal serial bus) 플래시 드라이브에 임베딩될 수 있다.
컴포넌트들은, 직접적으로 또는 하나 이상의 중간 컴포넌트를 통해, 서로 전기적으로 또는 광학적으로와 같이 통신가능하게 접속되는 것에 의해 서로 "커플링"될 수 있다. 컴포넌트들 중 하나가 다른 컴포넌트에 통합되어 있는 경우 컴포넌트들이 또한 서로 "커플링"될 수 있다. 예를 들어, 프로세서에 통합된 저장 컴포넌트(예컨대, L2 캐시 컴포넌트)는 프로세서에 "커플링"된다.
사용자와의 상호작용을 제공하기 위해, 본 명세서에 설명된 주제의 실시예들은 정보를 사용자에게 디스플레이하기 위한 디스플레이 디바이스, 예컨대, LCD(liquid crystal display) 모니터, 및 사용자가 컴퓨터에 입력을 제공할 수 있는 입력 디바이스, 예컨대, 키보드 및 포인팅 디바이스, 예컨대, 마우스, 트랙볼 또는 터치 패드를 갖는 컴퓨터 상에서 구현되거나 컴퓨터와 통신하도록 구성될 수 있다. 사용자와의 상호작용을 제공하기 위해 다른 종류의 디바이스들도 사용될 수 있고; 예를 들어, 사용자에게 제공되는 피드백은 임의의 형태의 감각적 피드백, 예컨대, 시각적 피드백, 청각적 피드백, 또는 촉각적 피드백일 수 있으며; 사용자로부터의 입력은, 음향, 음성, 또는 촉각적 입력을 포함한, 임의의 형태로 수신될 수 있다. 그에 부가하여, 컴퓨터는 사용자에 의해 사용되는 디바이스로 문서들을 송신하고 그로부터 문서들을 수신하는 것에 의해; 예를 들어, 웹 브라우저로부터 수신된 요청들에 응답하여 웹 페이지들을 사용자의 디바이스 상의 웹 브라우저로 송신하는 것에 의해, 또는 사용자 디바이스, 예컨대, 스마트폰 또는 전자 태블릿 상에서 실행 중인 앱과 상호작용하는 것에 의해, 사용자와 상호작용할 수 있다. 또한, 컴퓨터는 텍스트 메시지 또는 다른 형태들의 메시지를 개인 디바이스, 예컨대, 메시징 애플리케이션을 실행하는 스마트폰으로 송신하고 그에 응답하여 사용자로부터 응답 메시지들을 수신하는 것에 의해 사용자와 상호작용할 수 있다.
본 명세서는 시스템들, 장치들, 및 컴퓨터 프로그램 컴포넌트들과 관련하여 "~하도록 구성된"이라는 용어를 사용한다. 하나 이상의 컴퓨터들의 시스템이 특정의 동작들 또는 액션들을 수행하도록 구성된다는 것은 시스템이 동작 중에 시스템으로 하여금 동작들 또는 액션들을 수행하게 하는 소프트웨어, 펌웨어, 하드웨어, 또는 이들의 조합을 시스템 상에 설치하였음을 의미한다. 하나 이상의 컴퓨터 프로그램이 특정의 동작들 또는 액션들을 수행하도록 구성된다는 것은 하나 이상의 프로그램이, 데이터 프로세싱 장치에 의해 실행될 때, 장치로 하여금 동작들 또는 액션들을 수행하게 하는 명령어들을 포함한다는 것을 의미한다. 특수 목적 로직 회로부가 특정의 동작들 또는 액션들을 수행하도록 구성된다는 것은 그 회로부가 동작들 또는 액션들을 수행하는 전자 로직을 갖는다는 것을 의미한다.
본 명세서가 많은 구체적인 실시예 세부사항들을 포함하고 있지만, 이들은 청구항들 자체에 의해 한정되는, 청구되고 있는 것의 범위에 대한 제한들로서 해석되어서는 안되고, 오히려 특정의 실시예들에 특정적일 수 있는 특징들에 대한 설명들로서 해석되어야 한다. 개별적인 실시예들의 맥락에서 본 명세서에 설명되는 특정한 특징들이 또한 단일 실시예에 조합하여 구현될 수 있다. 이와 달리, 단일 실시예의 맥락에서 설명되는 다양한 특징들이 또한 다수의 실시예들에 개별적으로 또는 임의의 적당한 서브콤비네이션(subcombination)으로 실현될 수 있다. 더욱이, 특징들이 특정한 조합들로 기능하는 것으로 위에서 설명되고 심지어 처음에 그 자체로서 청구될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징이 일부 경우들에서 그 조합으로부터 제거될 수 있고, 청구항은 서브콤비네이션 또는 서브콤비네이션의 변형에 관한 것일 수 있다.
이와 유사하게, 동작들이 특정의 순서로 도면들에 묘사되고 청구항들에 열거되어 있지만, 이것은, 바람직한 결과들을 달성하기 위해, 그러한 동작들이 도시된 특정의 순서로 또는 순차적 순서로 수행되어야 한다는 것, 또는 모든 예시된 동작들이 수행되어야 한다는 것을 요구하는 것으로 이해되어서는 안된다. 특정한 상황들에서, 멀티태스킹 및 병렬 프로세싱이 유리할 수 있다. 더욱이, 위에서 설명된 실시예들에서의 다양한 시스템 모듈들 및 컴포넌트들의 분리는 모든 실시예들에서 그러한 분리를 요구하는 것으로 이해되어서는 안되며, 설명된 프로그램 컴포넌트들 및 시스템들이 일반적으로 단일 소프트웨어 제품에 함께 통합되거나 다수의 소프트웨어 제품들에 패키징될 수 있다는 것이 이해되어야 한다.
주제의 특정의 실시예들이 설명되었다. 다른 실시예들이 이하의 청구항들의 범위 내에 있다. 예를 들어, 청구항들에서 열거된 액션들은 상이한 순서로 수행될 수 있고 바람직한 결과들을 여전히 달성할 수 있다. 일 예로서, 첨부 도면들에 묘사된 프로세스들은, 바람직한 결과들을 달성하기 위해, 도시된 특정의 순서 또는 순차적 순서를 반드시 요구하지는 않는다. 일부 경우들에서, 멀티태스킹 및 병렬 프로세싱이 유리할 수 있다.

Claims (27)

  1. 복수의 컴퓨팅 디바이스들을 수반하는 다자간 계산(multi-party computation)에서 입력 데이터의 허위 표현(misrepresentation)을 방지하기 위한 컴퓨터-구현(computer-implemented) 방법에 있어서,
    상기 복수의 컴퓨팅 디바이스들 중의 제1 컴퓨팅 디바이스에 의해, 준동형 암호화된(homomorphically encrypted) 신뢰할 수 있는 입력 데이터 아이템(trusted input data item)을 식별하는 단계 - 상기 신뢰할 수 있는 입력 데이터 아이템은 상기 제1 컴퓨팅 디바이스와 상이한 상기 복수의 컴퓨팅 디바이스들 중의 제2 컴퓨팅 디바이스와 연관된 비밀 입력 데이터 아이템(secret input data item)에 대응하고, 상기 제2 컴퓨팅 디바이스는 상기 비밀 입력 데이터 아이템의 소유자와 연관되고, 상기 제1 컴퓨팅 디바이스는 상기 비밀 입력 데이터 아이템의 상기 소유자가 아닌 상이한 당사자와 연관됨 -;
    상기 제1 컴퓨팅 디바이스에 의해, 상기 신뢰할 수 있는 입력 데이터 아이템과 연관된 신뢰할 수 있는 메시지 인증 코드(message authentication code, MAC) 지분(share)을 생성하는 단계;
    상기 제1 컴퓨팅 디바이스에 의해, 상기 신뢰할 수 있는 MAC 지분에 적어도 부분적으로 기초하여 암호문(ciphertext)을 생성하는 단계;
    상기 제1 컴퓨팅 디바이스에 의해, 상기 암호문을 상기 제2 컴퓨팅 디바이스로 송신하는 단계 - 상기 제2 컴퓨팅 디바이스는 상기 암호문을 상기 비밀 입력 데이터 아이템과 연관된 MAC 지분의 컴포넌트로서 사용함 -; 및
    상기 다자간 계산이 상기 복수의 컴퓨팅 디바이스들에 의해 완료된 후에, 상기 제1 컴퓨팅 디바이스에 의해, 상기 비밀 입력 데이터 아이템과 연관된 상기 MAC 지분에 적어도 부분적으로 기초하여 상기 다자간 계산의 결과를 검증하는(verify) 단계
    를 포함하고,
    상기 다자간 계산의 결과 r은 이하의 방정식:
    r = f(z1, z2, ...zn)
    에 따라 결정되고, f는 상기 다자간 계산에 의해 수행되는 연산이며, z1, z2, ...zn은 상기 복수의 컴퓨팅 디바이스들과 연관된 상기 비밀 입력 데이터 아이템들이고;
    상기 다자간 계산의 MAC 결과 M(r)은 이하의 방정식:
    M(r) = M(f(z1, z2, ...zn))
    에 따라 결정되며, M은 상기 비밀 입력 데이터 아이템의 상기 MAC 지분을 생성하는 데 사용되는 MAC 함수인 것인, 입력 데이터의 허위 표현을 방지하기 위한 컴퓨터-구현 방법.
  2. 제1항에 있어서, 상기 신뢰할 수 있는 입력 데이터 아이템은 신뢰할 수 있는 데이터 소스로부터 상기 제1 컴퓨팅 디바이스에 의해 수신되는 것인, 입력 데이터의 허위 표현을 방지하기 위한 컴퓨터-구현 방법.
  3. 제2항에 있어서, 상기 신뢰할 수 있는 데이터 소스는 블록체인인 것인, 입력 데이터의 허위 표현을 방지하기 위한 컴퓨터-구현 방법.
  4. 제1항에 있어서,
    상기 제1 컴퓨팅 디바이스에 의해, 상기 제1 컴퓨팅 디바이스와 연관된 MAC 키 지분(MAC key share)을 생성하는 단계
    를 더 포함하며, 상기 MAC 키 지분은 난수(random number)이고, 상기 암호문은 상기 MAC 키 지분, 상기 신뢰할 수 있는 입력 데이터 아이템 및 상기 신뢰할 수 있는 MAC 지분에 적어도 부분적으로 기초하여 생성되는 것인, 입력 데이터의 허위 표현을 방지하기 위한 컴퓨터-구현 방법.
  5. 제1항에 있어서, 상기 비밀 입력 데이터 아이템과 연관된 상기 MAC 지분은 상기 암호문, 상기 제2 컴퓨팅 디바이스와 연관된 MAC 키 지분, 상기 비밀 입력 데이터 아이템, 및 상기 비밀 입력 데이터 아이템을 복호화하도록 구성된 비밀 키에 기초하여 생성되는 것인, 입력 데이터의 허위 표현을 방지하기 위한 컴퓨터-구현 방법.
  6. 제1항에 있어서, 상기 다자간 계산을 검증하기 전에, SPDZ(
    Figure 112020037744854-pct00009
    ) 프로토콜에 따라 상기 다자간 계산을 수행하는 단계를 더 포함하고, 상기 다자간 계산의 결과를 검증하는 단계는 상기 SPDZ 프로토콜에 따라 수행되는 것인, 입력 데이터의 허위 표현을 방지하기 위한 컴퓨터-구현 방법.
  7. 제1항에 있어서, 상기 다자간 계산에 의해 수행되는 상기 연산은 가산(addition) 연산이며, 상기 다자간 계산의 결과 r은 이하의 방정식:
    r = z1 + z2 + …zn
    에 따라 결정되고, 상기 다자간 계산의 MAC 결과 M(r)은 이하의 방정식:
    M(r) = M(z1) + M(z2) +…M(zn)
    에 따라 결정되는 것인, 입력 데이터의 허위 표현을 방지하기 위한 컴퓨터-구현 방법.
  8. 제7항에 있어서, 상기 MAC 결과 M(r)의 지분들은 상기 복수의 컴퓨팅 디바이스들에 의한 입력 데이터의 MAC 지분들에 기초하여 계산되는 것인, 입력 데이터의 허위 표현을 방지하기 위한 컴퓨터-구현 방법.
  9. 제1항에 있어서, 상기 신뢰할 수 있는 MAC 지분은 난수인 것인, 입력 데이터의 허위 표현을 방지하기 위한 컴퓨터-구현 방법.
  10. 동작들을 수행하도록 컴퓨터 시스템에 의해 실행가능한 하나 이상의 명령어를 저장한 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 상기 동작들은,
    복수의 컴퓨팅 디바이스들 중의 제1 컴퓨팅 디바이스에 의해, 준동형 암호화된 신뢰할 수 있는 입력 데이터 아이템을 식별하는 동작 - 상기 신뢰할 수 있는 입력 데이터 아이템은 상기 제1 컴퓨팅 디바이스와 상이한 상기 복수의 컴퓨팅 디바이스들 중의 제2 컴퓨팅 디바이스와 연관된 비밀 입력 데이터 아이템에 대응하고, 상기 제2 컴퓨팅 디바이스는 상기 비밀 입력 데이터 아이템의 소유자와 연관되고, 상기 제1 컴퓨팅 디바이스는 상기 비밀 입력 데이터 아이템의 상기 소유자가 아닌 상이한 당사자와 연관됨 -;
    상기 제1 컴퓨팅 디바이스에 의해, 상기 신뢰할 수 있는 입력 데이터 아이템과 연관된 신뢰할 수 있는 메시지 인증 코드(MAC) 지분을 생성하는 동작;
    상기 제1 컴퓨팅 디바이스에 의해, 상기 신뢰할 수 있는 MAC 지분에 적어도 부분적으로 기초하여 암호문을 생성하는 동작;
    상기 제1 컴퓨팅 디바이스에 의해, 상기 암호문을 상기 제2 컴퓨팅 디바이스로 송신하는 동작 - 상기 제2 컴퓨팅 디바이스는 상기 암호문을 상기 비밀 입력 데이터 아이템과 연관된 MAC 지분의 컴포넌트로서 사용함 -; 및
    다자간 계산이 상기 복수의 컴퓨팅 디바이스들에 의해 완료된 후에, 상기 제1 컴퓨팅 디바이스에 의해, 상기 비밀 입력 데이터 아이템과 연관된 상기 MAC 지분에 적어도 부분적으로 기초하여 상기 다자간 계산의 결과를 검증하는 동작
    을 포함하고,
    상기 다자간 계산의 결과 r은 이하의 방정식:
    r = f(z1, z2, ...zn)
    에 따라 결정되고, f는 상기 다자간 계산에 의해 수행되는 연산이며, z1, z2, ...zn은 상기 복수의 컴퓨팅 디바이스들과 연관된 상기 비밀 입력 데이터 아이템들이고;
    상기 다자간 계산의 MAC 결과 M(r)은 이하의 방정식:
    M(r) = M(f(z1, z2, ...zn))
    에 따라 결정되며, M은 상기 비밀 입력 데이터 아이템의 상기 MAC 지분을 생성하는 데 사용되는 MAC 함수인 것인, 비일시적 컴퓨터 판독가능 저장 매체.
  11. 제10항에 있어서, 상기 신뢰할 수 있는 입력 데이터 아이템은 신뢰할 수 있는 데이터 소스로부터 상기 제1 컴퓨팅 디바이스에 의해 수신되는 것인, 비일시적 컴퓨터 판독가능 저장 매체.
  12. 제11항에 있어서, 상기 신뢰할 수 있는 데이터 소스는 블록체인인 것인, 비일시적 컴퓨터 판독가능 저장 매체.
  13. 제10항에 있어서, 상기 동작들은,
    상기 제1 컴퓨팅 디바이스와 연관된 MAC 키 지분을 생성하는 동작
    을 더 포함하며, 상기 MAC 키 지분은 난수이고, 상기 암호문은 상기 MAC 키 지분, 상기 신뢰할 수 있는 입력 데이터 아이템 및 상기 신뢰할 수 있는 MAC 지분에 적어도 부분적으로 기초하여 생성되는 것인, 비일시적 컴퓨터 판독가능 저장 매체.
  14. 제10항에 있어서, 상기 비밀 입력 데이터 아이템과 연관된 상기 MAC 지분은 상기 암호문, 상기 제2 컴퓨팅 디바이스와 연관된 MAC 키 지분, 상기 비밀 입력 데이터 아이템, 및 상기 비밀 입력 데이터 아이템을 복호화하도록 구성된 비밀 키에 기초하여 생성되는 것인, 비일시적 컴퓨터 판독가능 저장 매체.
  15. 제10항에 있어서, 상기 동작들은,
    상기 다자간 계산을 검증하기 전에, SPDZ(
    Figure 112020037744854-pct00010
    ) 프로토콜에 따라 상기 다자간 계산을 수행하는 동작을 더 포함하고, 상기 다자간 계산의 결과를 검증하는 동작은 상기 SPDZ 프로토콜에 따라 수행되는 것인, 비일시적 컴퓨터 판독가능 저장 매체.
  16. 제10항에 있어서, 상기 다자간 계산에 의해 수행되는 상기 연산은 가산 연산이며, 상기 다자간 계산의 결과 r은 이하의 방정식:
    r = z1 + z2 + …zn
    에 따라 결정되고, 상기 다자간 계산의 MAC 결과 M(r)은 이하의 방정식:
    M(r) = M(z1) + M(z2) +…M(zn)
    에 따라 결정되는 것인, 비일시적 컴퓨터 판독가능 저장 매체.
  17. 제16항에 있어서, 상기 MAC 결과 M(r)의 지분들은 상기 복수의 컴퓨팅 디바이스들에 의한 입력 데이터의 MAC 지분들에 기초하여 계산되는 것인, 비일시적 컴퓨터 판독가능 저장 매체.
  18. 제10항에 있어서, 상기 신뢰할 수 있는 MAC 지분은 난수인 것인, 비일시적 컴퓨터 판독가능 저장 매체.
  19. 컴퓨터 구현 시스템에 있어서,
    하나 이상의 컴퓨팅 디바이스; 및
    상기 하나 이상의 컴퓨팅 디바이스와 상호 동작가능하게 연결되며, 상기 하나 이상의 컴퓨팅 디바이스에 의해 실행될 때 하나 이상의 동작을 수행하는 하나 이상의 명령어를 저장한 유형의(tangible) 비일시적 기계 판독가능 매체를 갖는 하나 이상의 컴퓨터 메모리 디바이스
    를 포함하고, 상기 하나 이상의 동작은,
    복수의 컴퓨팅 디바이스들 중의 제1 컴퓨팅 디바이스에 의해, 준동형 암호화된 신뢰할 수 있는 입력 데이터 아이템을 식별하는 동작 - 상기 신뢰할 수 있는 입력 데이터 아이템은 상기 제1 컴퓨팅 디바이스와 상이한 상기 복수의 컴퓨팅 디바이스들 중의 제2 컴퓨팅 디바이스와 연관된 비밀 입력 데이터 아이템에 대응하고, 상기 제2 컴퓨팅 디바이스는 상기 비밀 입력 데이터 아이템의 소유자와 연관되고, 상기 제1 컴퓨팅 디바이스는 상기 비밀 입력 데이터 아이템의 상기 소유자가 아닌 상이한 당사자와 연관됨 -;
    상기 제1 컴퓨팅 디바이스에 의해, 상기 신뢰할 수 있는 입력 데이터 아이템과 연관된 신뢰할 수 있는 메시지 인증 코드(MAC) 지분을 생성하는 동작;
    상기 제1 컴퓨팅 디바이스에 의해, 상기 신뢰할 수 있는 MAC 지분에 적어도 부분적으로 기초하여 암호문을 생성하는 동작;
    상기 제1 컴퓨팅 디바이스에 의해, 상기 암호문을 상기 제2 컴퓨팅 디바이스로 송신하는 동작 - 상기 제2 컴퓨팅 디바이스는 상기 암호문을 상기 비밀 입력 데이터 아이템과 연관된 MAC 지분의 컴포넌트로서 사용함 -; 및
    다자간 계산이 상기 복수의 컴퓨팅 디바이스들에 의해 완료된 후에, 상기 제1 컴퓨팅 디바이스에 의해, 상기 비밀 입력 데이터 아이템과 연관된 상기 MAC 지분에 적어도 부분적으로 기초하여 상기 다자간 계산의 결과를 검증하는 동작
    을 포함하고,
    상기 다자간 계산의 결과 r은 이하의 방정식:
    r = f(z1, z2, ...zn)
    에 따라 결정되고, f는 상기 다자간 계산에 의해 수행되는 연산이며, z1, z2, ...zn은 상기 복수의 컴퓨팅 디바이스들과 연관된 상기 비밀 입력 데이터 아이템들이고;
    상기 다자간 계산의 MAC 결과 M(r)은 이하의 방정식:
    M(r) = M(f(z1, z2, ...zn))
    에 따라 결정되며, M은 상기 비밀 입력 데이터 아이템의 상기 MAC 지분을 생성하는 데 사용되는 MAC 함수인 것인, 컴퓨터 구현 시스템.
  20. 제19항에 있어서, 상기 신뢰할 수 있는 입력 데이터 아이템은 신뢰할 수 있는 데이터 소스로부터 상기 제1 컴퓨팅 디바이스에 의해 수신되는 것인, 컴퓨터 구현 시스템.
  21. 제20항에 있어서, 상기 신뢰할 수 있는 데이터 소스는 블록체인인 것인, 컴퓨터 구현 시스템.
  22. 제19항에 있어서, 상기 동작은,
    상기 제1 컴퓨팅 디바이스에 의해, 상기 제1 컴퓨팅 디바이스와 연관된 MAC 키 지분을 생성하는 동작
    을 더 포함하며, 상기 MAC 키 지분은 난수이고, 상기 암호문은 상기 MAC 키 지분, 상기 신뢰할 수 있는 입력 데이터 아이템 및 상기 신뢰할 수 있는 MAC 지분에 적어도 부분적으로 기초하여 생성되는 것인, 컴퓨터 구현 시스템.
  23. 제19항에 있어서, 상기 비밀 입력 데이터 아이템과 연관된 상기 MAC 지분은 상기 암호문, 상기 제2 컴퓨팅 디바이스와 연관된 MAC 키 지분, 상기 비밀 입력 데이터 아이템, 및 상기 비밀 입력 데이터 아이템을 복호화하도록 구성된 비밀 키에 기초하여 생성되는 것인, 컴퓨터 구현 시스템.
  24. 제19항에 있어서, 상기 동작은,
    상기 다자간 계산을 검증하기 전에, SPDZ(
    Figure 112020037744854-pct00011
    ) 프로토콜에 따라 상기 다자간 계산을 수행하는 동작을 더 포함하고, 상기 다자간 계산의 결과를 검증하는 동작은 상기 SPDZ 프로토콜에 따라 수행되는 것인, 컴퓨터 구현 시스템.
  25. 제19항에 있어서, 상기 다자간 계산에 의해 수행되는 상기 연산은 가산 연산이며, 상기 다자간 계산의 결과 r은 이하의 방정식:
    r = z1 + z2 + …zn
    에 따라 결정되고, 상기 다자간 계산의 MAC 결과 M(r)은 이하의 방정식:
    M(r) = M(z1) + M(z2) +…M(zn)
    에 따라 결정되는 것인, 컴퓨터 구현 시스템.
  26. 제25항에 있어서, 상기 MAC 결과 M(r)의 지분들은 상기 복수의 컴퓨팅 디바이스들에 의한 입력 데이터의 MAC 지분들에 기초하여 계산되는 것인, 컴퓨터 구현 시스템.
  27. 제19항에 있어서, 상기 신뢰할 수 있는 MAC 지분은 난수인 것인, 컴퓨터 구현 시스템.
KR1020197028793A 2019-03-18 2019-03-18 안전한 다자 계산에서 참가자에 의한 입력 데이터의 허위 표시 방지 KR102145701B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/078516 WO2019101243A2 (en) 2019-03-18 2019-03-18 Preventing misrepresentation of input data by participants in a secure multi-party computation

Publications (1)

Publication Number Publication Date
KR102145701B1 true KR102145701B1 (ko) 2020-08-19

Family

ID=66630475

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197028793A KR102145701B1 (ko) 2019-03-18 2019-03-18 안전한 다자 계산에서 참가자에 의한 입력 데이터의 허위 표시 방지

Country Status (12)

Country Link
US (2) US10637659B1 (ko)
EP (1) EP3616356B1 (ko)
JP (1) JP6882512B2 (ko)
KR (1) KR102145701B1 (ko)
CN (1) CN110800252B (ko)
AU (1) AU2019203863B2 (ko)
CA (1) CA3058227C (ko)
ES (1) ES2871053T3 (ko)
PL (1) PL3616356T3 (ko)
SG (1) SG11201909014QA (ko)
TW (1) TWI720720B (ko)
WO (1) WO2019101243A2 (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11245536B2 (en) * 2019-04-16 2022-02-08 Meta Platforms, Inc. Secure multi-party computation attribution
CN111931250B (zh) * 2019-07-11 2024-03-22 华控清交信息科技(北京)有限公司 多方安全计算一体机
CN112769742B (zh) * 2019-11-06 2024-06-14 电科云(北京)科技有限公司 Spdz系列协议中的消息验证方法、装置及存储介质
CN111832074B (zh) * 2020-07-14 2023-04-07 西安电子科技大学 基于spdz安全多方计算的安全验证协作学习方法及系统
CN112184220A (zh) * 2020-09-22 2021-01-05 远光软件股份有限公司 安全多方计算方法、电子设备及存储介质
CN115088003B (zh) * 2020-12-11 2023-10-31 维萨国际服务协会 用于安全实时n方计算的系统、方法和计算机程序产品
CN113067822B (zh) * 2021-03-19 2023-11-10 中国工商银行股份有限公司 基于区块链的信息处理方法、装置、设备、介质和产品
CN113259123B (zh) * 2021-06-08 2022-02-08 清华大学 一种区块链数据写入、访问方法及装置
CN113468564A (zh) * 2021-06-30 2021-10-01 华控清交信息科技(北京)有限公司 一种数据处理方法、装置、电子设备及存储介质
CN114422116B (zh) * 2021-12-14 2023-11-28 阿里巴巴(中国)有限公司 数据处理方法及装置
CN114444069B (zh) * 2021-12-17 2023-04-07 中国科学院信息工程研究所 一种恶意模型下高效的阈值安全多方计算方法
CN114520720B (zh) * 2022-03-22 2023-06-16 暨南大学 一种基于tls协议的多方认证区块链数据上链方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160112197A1 (en) * 2014-10-16 2016-04-21 Dyce, Llc Method and apparatus for storing encrypted data files across distributed storage media
WO2017177313A1 (en) * 2016-04-12 2017-10-19 The Governing Council Of The University Of Toronto System and methods for validating and performing operations on homomorphically encrypted data
US20180096248A1 (en) * 2016-09-30 2018-04-05 Safran Identity & Security Methods for secure learning of parameters of a convolution neural network, and for secure input data classification
US20180139054A1 (en) * 2016-11-14 2018-05-17 International Business Machines Corporation Providing computation services with privacy

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7890771B2 (en) * 2002-04-17 2011-02-15 Microsoft Corporation Saving and retrieving data based on public key encryption
US9344438B2 (en) * 2008-12-22 2016-05-17 Qualcomm Incorporated Secure node identifier assignment in a distributed hash table for peer-to-peer networks
EP2348449A3 (en) * 2009-12-18 2013-07-10 CompuGroup Medical AG A computer implemented method for performing cloud computing on data being stored pseudonymously in a database
WO2013101174A1 (en) * 2011-12-30 2013-07-04 Intel Corporation Mobile device position detection
US9998434B2 (en) * 2015-01-26 2018-06-12 Listat Ltd. Secure dynamic communication network and protocol
GB201705621D0 (en) * 2017-04-07 2017-05-24 Nchain Holdings Ltd Computer-implemented system and method
EP3439234B1 (en) * 2017-07-31 2020-12-30 Koninklijke Philips N.V. Distributing a computation output
CN107819587B (zh) * 2017-12-13 2020-08-11 陈智罡 基于全同态加密的认证方法和用户设备以及认证服务器
CN108683669B (zh) * 2018-05-19 2021-09-17 深圳市图灵奇点智能科技有限公司 数据验证方法和安全多方计算系统
US11201734B2 (en) * 2018-06-04 2021-12-14 Robert Bosch Gmbh Method and system for fault tolerant and secure multiparty computation with SPDZ
CN108718240A (zh) * 2018-06-08 2018-10-30 浙江捷尚人工智能研究发展有限公司 基于全同态加密的认证方法、电子设备、存储介质及系统
CN109120398B (zh) * 2018-08-03 2021-07-27 河南师范大学 一种基于区块链系统的秘密共享方法与装置
CN109241016B (zh) * 2018-08-14 2020-07-07 阿里巴巴集团控股有限公司 多方安全计算方法及装置、电子设备
CN109255247B (zh) * 2018-08-14 2020-08-14 阿里巴巴集团控股有限公司 多方安全计算方法及装置、电子设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160112197A1 (en) * 2014-10-16 2016-04-21 Dyce, Llc Method and apparatus for storing encrypted data files across distributed storage media
WO2017177313A1 (en) * 2016-04-12 2017-10-19 The Governing Council Of The University Of Toronto System and methods for validating and performing operations on homomorphically encrypted data
US20180096248A1 (en) * 2016-09-30 2018-04-05 Safran Identity & Security Methods for secure learning of parameters of a convolution neural network, and for secure input data classification
US20180139054A1 (en) * 2016-11-14 2018-05-17 International Business Machines Corporation Providing computation services with privacy

Also Published As

Publication number Publication date
WO2019101243A2 (en) 2019-05-31
US10637659B1 (en) 2020-04-28
US20200304294A1 (en) 2020-09-24
CA3058227C (en) 2021-02-09
US10790971B1 (en) 2020-09-29
TWI720720B (zh) 2021-03-01
CA3058227A1 (en) 2019-05-31
CN110800252B (zh) 2023-06-27
JP6882512B2 (ja) 2021-06-02
PL3616356T3 (pl) 2021-07-26
AU2019203863A1 (en) 2019-05-31
CN110800252A (zh) 2020-02-14
WO2019101243A3 (en) 2020-01-23
EP3616356A2 (en) 2020-03-04
ES2871053T3 (es) 2021-10-28
AU2019203863B2 (en) 2021-01-28
TW202036292A (zh) 2020-10-01
SG11201909014QA (en) 2019-10-30
EP3616356B1 (en) 2021-03-10
JP2020537362A (ja) 2020-12-17
EP3616356A4 (en) 2020-07-01

Similar Documents

Publication Publication Date Title
KR102145701B1 (ko) 안전한 다자 계산에서 참가자에 의한 입력 데이터의 허위 표시 방지
JP6892513B2 (ja) 信頼できる実行環境に基づいたオフチェーンスマートコントラクトサービス
KR102215245B1 (ko) 준동형 암호화를 사용하는 블록체인 데이터 보호
CN111566649B (zh) 使用公有侧链验证存储在联盟区块链中的数据的完整性
CA3058013C (en) Managing sensitive data elements in a blockchain network
JP2020528224A (ja) 信頼できる実行環境におけるスマート契約動作のセキュアな実行
AU2019204712A1 (en) Managing sensitive data elements in a blockchain network
US10917249B2 (en) Processing data elements stored in blockchain networks
CN110188550B (zh) 一种区块链的数据验证方法和装置
JP2020521343A (ja) ブロックチェーンネットワーク内で使用するためのフィールドプログラマブルゲートアレイベースの信頼できる実行環境
WO2019170174A2 (en) Implementing a blockchain-based workflow
JP6921266B2 (ja) パブリックサイドチェーンを使用してコンソーシアムブロックチェーンに記憶されたデータの完全性を検証すること

Legal Events

Date Code Title Description
GRNT Written decision to grant