KR20150048827A - 2 당사자 보안 함수 평가를 위한 입력 일관성 검증 - Google Patents
2 당사자 보안 함수 평가를 위한 입력 일관성 검증 Download PDFInfo
- Publication number
- KR20150048827A KR20150048827A KR1020157007753A KR20157007753A KR20150048827A KR 20150048827 A KR20150048827 A KR 20150048827A KR 1020157007753 A KR1020157007753 A KR 1020157007753A KR 20157007753 A KR20157007753 A KR 20157007753A KR 20150048827 A KR20150048827 A KR 20150048827A
- Authority
- KR
- South Korea
- Prior art keywords
- party
- function
- input
- verification
- executions
- Prior art date
Links
Images
Classifications
-
- 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/3218—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 proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/46—Secure multiparty computation, e.g. millionaire problem
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/50—Oblivious transfer
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
입력 일관성 검증을 갖는 SFE(secure function evaluation)가 함수를 평가하기 위해 2 당사자에 의해 수행된다. 각각의 실행에 대해, 제 1 당사자는 함수에 대응하는 가블레드 회로를 연산하고, 제 2 당사자의 입력 x i의 암호화된 버전 k i 인 와이어 비밀을 제공하기 위해 OT(Oblivious Transfer) 프로토콜을 이용한다. 제 2 당사자는 복수의 실행에 대한 제 2 당사자의 입력 x i의 암호화된 버전 k i 을 저장한다. 제 2 당사자는 제 1 당사자에 전송되는 출력의 연산을 위해 가블레드 회로를 수신한다. 2개의 실행에 대한 제 2 당사자의 입력을 검증하기 위해, 제 1 당사자는 검증되는 가블레드 회로의 입력 키에 근거한 검증 함수에 대응하는 체크 가블레드 회로를 연산하고, 검증 출력의 연산을 위해 체크 가블레드 회로를 제 2 당사자에 전송한다. 2개의 실행에 대한 저장된 암호화된 버전 k i 을 체크 가블레드 회로에 인가함으로써 검증 출력이 연산된다. 2개의 실행을 위한 제 2 당사자의 입력 x i을 검증하기 위해 검증 출력이 평가된다.
Description
정부 권한에 대한 설명
본 발명은 Department of the Interior (DOI) Contract No. D11PC20194를 통해 IARPA(Intelligence Advanced Research Projects Activity) 하에서 수행된 작업과 관련하여 이루어진 것이다.
본 발명은, 전반적으로 전자 거래를 보안하는 기술에 관한 것으로, 보다 구체적으로는 이러한 전자 거래의 당사자(parties)에 대해 프라이버시를 제공하는 보안 함수 평가(SFE)(secure function evaluation) 기술에 관한 것이다.
2 당사자(two-party)의 일반적인 SFE는 두 당사자가 두 입력 x 및 y의 프라이버시를 유지하면서 제각각의 입력 x 및 y상에서의 임의의 함수를 평가할 수 있게 한다. 효율적인 SFE 알고리즘은 가입자의 상호 불신 때문에 이전에는 불가능했던 다양한 전자 거래를 가능하게 한다. 예를 들어, SFE 알고리즘은 경매, 계약 서명 및 분산 데이터베이스 마이닝(mining) 애플리케이션에서 채용되어 왔으며, 반(半)정직한(semi-honest) 플레이어 및 악의적인(malicious) 플레이어에 대해 보안 연산의 문제를 풀어 왔다. 일반적으로, 반정직한 서버에 대해 액세스하는 것은 악의적인 회로 생성의 문제를 해결한다. 연산 및 통신 리소스가 증대됨에 따라, SFE는 통상의 사용에 대해 정말로 실제적이게 되고 있다. 악의적인 SFE 모델은 플레이어의 입력의 완전한 프라이버시의 보장을 제공한다. 기존의 일반적인 2 당사자 SFE 알고리즘은 통상적으로 가블레드 회로(garbled circuit : GC)를 채용한다. GC의 상세한 설명을 위해, 예를 들어, Y. Lindell 및 B. Pinkas, "A Proof of Yao's Protocol for Secure Two-Party Computation," Journal of Cryptology, 22(2):161-188(2009)를 참조한다.
가블레드 회로(GC) 구현 하에서, 연산된 함수를 나타내는 불린(Boolean) 회로가 제 1 당사자(first party)에 의해 암호화되고, 평가를 위해 제 2 당사자(second party)에 제공된다. 암호화 하에서 평가가 진행되고, 이에 따라 제 2 당사자는 프로토콜로부터 벗어날 수 없다. 가블레드 회로에 근거하는 이러한 기존의 일반적인 2 당사자 SFE 알고리즘은 2 당사자 거래의 프라이버시 및 보안성을 크게 향상시켰지만, 복수의 제한이 남아 있으며, 이들 제한이 극복된다면 일반적인 2 당사자 SFE 알고리즘의 효율, 유용성 및/또는 보안성이 향상될 수 있다. 예를 들어, 동일한 당사자들 사이의 복수의 SFE 실행의 경우에, 실행들 사이의 입력 일관성(consistency)을 검증할 필요가 있다. 그러나, 제 2 당사자는 그의 이전 입력을 대체(즉, 실제의 입력을, 자신의 이익이 되는 상이한 값으로 대체)함으로써 공격을 수행할 수 있다.
따라서 복수의 실행에 걸쳐 악의적인 플레이어의 입력 일관성을 보장하는 기법에 대한 필요성이 존재한다. 이전 실행에서 사용되었던 (당사자들 간에 합의된) 동일 또는 관련된 입력을 이용하고 있는지를 당사자가 입증할 수 있게 하는 입력 일관성을 보장하는 기법에 대한 필요성이 또한 존재한다.
일반적으로, 2 당사자 보안 함수 평가(SFE)를 위해 입력 일관성 검증을 위한 방법 및 장치가 제공된다. 본 발명의 한 측면에 따르면, 제 2 당사자와의 복수의 실행 i를 위한 함수를 평가하기 위해 제 1 당사자에 의해 2 당사자 SFE를 위한 방법이 수행된다. 상기 복수의 실행 i에 대해, 제 1 당사자는 함수에 대응하는 가블레드 회로(GC)를 연산하고, 제 2 당사자의 입력 x i의 암호화된 버전 k i 인 와이어 비밀(wire secrets)을 제공하기 위해 OT(Oblivious Transfer) 프로토콜을 이용하여 제 2 당사자와 통신하며, 제 2 당사자는 복수의 실행에 대한 제 2 당사자의 입력 x i의 암호화된 버전 k i 을 저장하고, 출력의 연산을 위해 연산된 가블레드 회로(GC)를 제 2 당사자에 전송하고, 제 2 당사자로부터 출력을 수신한다. 복수의 실행 중 2개의 실행에 대한 제 2 당사자의 입력 x i의 후속 검증을 위해, 제 1 당사자는 검증되는 가블레드 회로의 입력 키에 근거한 검증 함수에 대응하는 체크 가블레드 회로(CGC)를 연산하고, 검증 출력의 연산을 위해 연산된 체크 가블레드 회로(CGC)를 제 2 당사자에 전송하며, 제 2 당사자는 2개의 실행에 대한 저장된 암호화된 버전 k i 을 인가함으로써 검증 출력을 연산하고, 제 2 당사자로부터 검증 출력을 수신하고, 2개의 실행에 대한 제 2 당사자의 입력 x i을 검증하기 위해 검증 출력을 평가한다.
본 발명의 다른 측면에 따르면, 제 1 당사자와의 복수의 실행 i를 위한 함수를 평가하기 위해 제 2 당사자에 의해 2 당사자 보안 함수 평가(SFE)를 위한 방법이 수행된다. 상기 복수의 실행 i에 대해, 제 2 당사자는 제 1 당사자로부터 함수에 대응하는 가블레드 회로(GC)를 수신하고, 제 2 당사자의 입력 x i의 암호화된 버전 k i 인 와이어 비밀을 수신하도록 OT 프로토콜을 이용하여 제 1 당사자와 통신하고, 복수의 실행에 대한 제 2 당사자의 입력 x i의 암호화된 버전 k i 을 저장하고, 출력을 연산하기 위해 연산된 가블레드 회로(GC)에 출력을 인가하고, 출력을 제 1 당사자에 제공한다. 복수의 실행 중 2개의 실행에 대한 제 2 당사자의 입력 x i의 제 1 당사자에 의한 후속 검증을 위해, 제 2 당사자는 제 1 당사자로부터 검증 함수에 대응하는 체크 가블레드 회로(CGC)를 수신하고, 2개의 실행에 대한 저장된 암호화된 버전 k i 을 체크 가블레드 회로(CGC)에 인가함으로써 검증 출력을 연산하고, 2개의 실행에 대한 제 2 당사자의 입력 x i을 검증하기 위해 제 1 당사자에 검증 출력을 제공한다.
검증 함수는, 예를 들어, 동일성 함수(equality function), 초과 함수(greater than function), 미만 함수(less than function) 및 두 당사자에 의해 합의되는 검증 함수 중 하나 이상을 포함한다.
본 발명의 보다 완전한 이해 뿐만 아니라 본 발명의 추가의 특징 및 장점은 후술하는 상세한 설명 및 도면을 참조하여 얻어질 것이다.
도 1은 본 발명의 프로세스를 구현할 수 있는 향상된 일반적인 2 당사자 SFE 시스템의 블록도이고,
도 2는 본 발명의 측면을 포함하는 2 당사자 SFE 프로세스의 예시적인 구현예를 기술하는 플로우차트이고,
도 3은 본 발명의 측면을 포함하는 2 당사자 SFE 입력 일관성 검증 프로세스의 예시적인 구현예를 기술하는 플로우차트이고,
도 4는 소정의 실행 쌍에 대한 본 발명의 측면에 따른 입력 일관성 검증을 도시하는 도면이다.
도 2는 본 발명의 측면을 포함하는 2 당사자 SFE 프로세스의 예시적인 구현예를 기술하는 플로우차트이고,
도 3은 본 발명의 측면을 포함하는 2 당사자 SFE 입력 일관성 검증 프로세스의 예시적인 구현예를 기술하는 플로우차트이고,
도 4는 소정의 실행 쌍에 대한 본 발명의 측면에 따른 입력 일관성 검증을 도시하는 도면이다.
본 발명의 측면은 복수의 실행에 걸쳐 SFE의 적어도 하나의 당사자의 입력 일관성을 보장하는 방법 및 장치를 제공한다. 예를 들어, 온라인 뱅킹 데이팅(dating) 애플리케이션을 고려하면, 제 1 당사자 P1(서버) 및 제 2 당사자 P2(예를 들어, 고객 또는 클라이언트)는 복수의 실행에 걸쳐 SFE를 이용하여 정보를 교환한다. 일단 특정의 입력이 제 1 당사자 P1과 통신하는 제 2 당사자 P2에 의해 사용되었으면, 제 1 당사자 P1은 추후의 통신에서 동일한 입력(또는, 예를 들어, 증가하는 입력)을 공급하도록 제 2 당사자 P2에게 항상 요청할 수 있다. 제 1 당사자 P1은, 2개의 SFE 평가를 위해, 제 2 당사자 P2의 특정의 입력 와이어(input wire)가 동일한 평문 값(또는 보다 큰 값)으로 설정됨을 검증할 수 있다.
도 1은 본 발명의 프로세스를 구현할 수 있는 향상된 일반적인 2 당사자 SFE 시스템(100)의 블록도이다. 도 1에 도시된 바와 같이, 메모리(130)는 프로세서(120)가 본 명세서에서 기술된 일반적인 2 당사자 SFE 방법, 단계, 및 기능(통합적으로, 도 1에서 (150)으로서 도시되어 있고, 이하 도 2 내지 도 4를 참조하여 더 기술됨)을 구현하도록 구성한다. 메모리(130)는 분산되거나 로컬일 수 있고 프로세서(120)는 분산되거나 하나일 수 있다. 메모리(130)는 전기적, 자기적 또는 광학적 메모리 또는 이들 또는 다른 타입의 저장 디바이스의 임의의 조합으로서 구현될 수 있다. 프로세서(120)를 구성하는 각각의 분산된 프로세서는 일반적으로 그 자신의 어드레스 가능한 메모리 공간을 포함한다는 점에 주목해야 한다. 컴퓨터 시스템(100)의 일부 또는 전부는 퍼스널 컴퓨터, 랩탑 컴퓨터, 휴대형 컴퓨터 디바이스, 애플리케이션 특정 회로 또는 범용 집적 회로에 포함될 수 있음에 또한 주목해야 한다.
일반적인 2 당사자
SFE
알고리즘
기존의 일반적인 2 당사자 SFE 알고리즘은 통상적으로 가블레드 회로(GC)를 채용한다. GC의 상세한 설명을 위해, 예를 들어, Andrew C. Yao, "Protocols for Secure Computations," Proc. 23rd IEEE Symp. on Foundations of Comp. Science, 160-164, (Chicago, 1982); 또는 Andrew C. Yao," "How to Generate and Exchange Secrets," Proc. 27th IEEE Symp. on Foundations of Comp. Science, 162-167(Toronto, 1986)를 참조한다.
GC는 악의적인 회로 평가자 및 반정직한 회로 구성자에 대해 보안적이므로, 본 발명에서는 반정직한 서버 가 (두 클라이언트에 의해 에 대해 통신되는) 선택된 함수에 대한 가블레드 회로를 생성하게 할 것이다. 입력에 대해, 악의적인 수신기 및 반정직한 서버에 대해 보안적이도록 OT 확장이 사용된다. 예를 들어, D. Harnik et al., "OT-Combiners via Secure Computation," TCC 5th Theory of Cryptography Conference 2008 (Mar. 2008), Lecture Notes in Computer Science, Vol. 4948, 393-411 (2008); 및/또는 Y. Ishai et al., "Extending Oblivious Transfers Efficiently," Advances in Cryptology - CRYPTO 2003 (Aug. 2003), Lecture Notes in Computer Science, Vol. 2729, 145-161(2003)를 참조한다.
도 2는 본 발명의 측면을 포함하는 2 당사자 SFE 프로세스(200)의 예시적인 구현예를 기술하는 플로우차트이다 2 당사자 SFE 프로세스(200)는 소정의 실행 i 및 예시적인 16 비트 입력에 대한 함수를 평가하기 위해 제 1 당사자 P1(서버) 및 제 2 당사자 P2(예를 들어, 고객 또는 클라이언트)에 의해 수행된다. 도 2에 도시된 바와 같이, 제 1 당사자 P1은 단계(210) 동안 먼저 해당 함수에 대응하는 가블레드 회로를 연산한다. 이후, 제 1 당사자 P1가 제 2 당사자 P2의 입력 x i,1 ... x i,16 을 인지할 수 없도록 제 1 당사자 P1은 단계(220) 동안 소정의 실행 i 및 예시적인 16 비트 입력에 대해, 제 2 당사자 P2의 입력 x i,1 ... x i,16 의 암호화된 버전 k i,1 ... k i ,16 인 와이어 비밀(wire secrets)을 제공하기 위해 OT(Oblivious Transfer) 프로토콜을 이용하여 제 2 당사자 P2와 통신한다.
그 다음에 제 1 당사자 P1은 단계(230) 동안 출력의 연산을 위해 연산된 가블레드 회로를 제 2 당사자 P2에 전송한다. 그 다음에 제 2 당사자 P2는 단계(240) 동안 출력을 연산하고 출력을 제 1 당사자 P1에 전송한다. 제 2 당사자는 단계(250) 동안 제 2 당사자 P2의 입력 x i,1 ... x i,16 의 암호화된 버전 k i ,1 ... k i ,16 을 저장한다.
이러한 방식으로, 당사자 1 및 2가 그들의 조인트 연산의 다음 스테이지에 관여하기를 원할 때마다, 당사자 1(서버)는 연산 함수에 대한 GC를 생성하고 도 2의 2 당사자 SFE 프로세스(200)에 따른 평가를 위해 당사자 2(클라이언트)에 전송할 것이다.
상기 표시된 바와 같이, 예시적인 2 당사자 SFE 프로세스(200)는 당사자 2가, 입력 일관성이 시행될 실행 i 중에서 입력 와이어 암호화 k i ,1 ... k i , 16 를 저장할 것을 요구한다. 당사자 1이 입력 일관성을 체크하기를 원할 때마다, 당사자 1은 도 3과 관련하여 이하 더 기술되는 바와 같이, 체크 가블레드 회로를 생성할 것이며, 이 경우 GC 입력은 체크되는 실행에서와 동일한 암호화로 암호화된다.
이 체크는 플레이어 1에 의해 요구되는 바와 같이 드물게 또는 빈번하게 확률적인 방식으로 행해질 수 있다. 즉, 제 1 당사자 P1은 언제 어느 실행을 체크하고 있는지를 마음대로 선택할 수 있다. 실패한 체크는 제 2 당사자 P2가 속이고 있는지를 암시할 것이며 처벌 동작(punitive action)을 발생시켜야 한다. 또한, 제 1 당사자 P1이 체크를 위해 과거로부터 임의의 실행을 선택할 수 있으므로, 제 2 당사자 P2는 자신의 속임수로 처벌을 "모면"했는지 여부를 알지 못할 것이다.
제 2 당사자 P2가 암호화 하에서 동작하고 GC 평가로부터 벗어날 수 없으므로, 제 2 당사자 P2는 체크의 결과에 관해 속일 수 없을 것이다. 제 1 당사자 P1은 GC 평가의 특성 때문에 입력 일관성 체크의 결과 이외의 추가적인 어떠한 것도 인지하지 못할 것이다.
도 3은 본 발명의 측면을 포함하는 2 당사자 SFE 입력 일관성 검증 프로세스(300)의 예시적인 구현예를 기술하는 플로우차트이다. 소정의 실행 쌍 i 및 예시적인 16 비트 입력에 대해 제 1 당사자 P1이 제 2 당사자 P2(예를 들어, 고객 또는 클라이언트)의 입력 일관성 검증을 수행하기를 원하는 경우 제 1 당사자 P1(서버)에 의해 2 당사자 SFE 입력 일관성 검증 프로세스(300)가 개시된다. 예를 들어, 제 2 당사자 P2의 입력은 16 비트 정수일 수 있고, 제 1 당사자 P1은 제 2 당사자 P2의 제 2 입력이 제 2 당사자 P2의 제 1 입력보다 큰(이와 동일한)지를 보장하기를 원한다.
도 3에 도시된 바와 같이, 제 1 당사자 P1은 단계(310) 동안 원하는 검증 함수(예를 들어, 동일성 함수, 초과/미만 함수(greater/lesser than function))에 대해 체크 GC를 연산한다. 제 1 당사자 P1은 단계(320) 동안 검증 출력의 연산을 위해 연산된 체크 GC를 제 2 당사자 P2에 전송한다. 연산된 체크 GC는 체크되는 GCs를 생성하는 데에 사용되었던 입력 와이어 키에 대해 연산된다. 특히, 체크 GC에 대한 입력 키는 체크되는 실행에 있어서 S가 P2에 대해 생성했던 바로 그 입력 키일 것이다.
제 2 당사자 P2는 단계(330) 동안 제 1 당사자 P1에 의해 요청된 2개의 실행 i에 대한 제 2 당사자의 입력 x i,1 ... x i,16 의 이전 저장된 암호화된 버전 k i ,1 ... k i,16 을 인가함으로써 검증 출력을 연산한다. 제 2 당사자 P2는 단계(340) 동안 연산된 검증 출력을 제 1 당사자 P1에 전송한다. 그 다음에 제 1 당사자는 단계(350) 동안 검증 출력을 평가한다.
도 4는 소정의 실행 쌍 i=1 및 i=2에 대한 본 발명의 측면에 따른 입력 일관성 검증(400)을 도시하는 도면이다. 도 2와 관련하여 상술한 바와 같이, 제 1 당사자 P1은 각각의 실행을 위한 가블레드 회로를 생성한다. 도 4에 도시된 바와 같이, 제 1 당사자 P1은 제 1 실행을 위한 가블레드 회로 GC1 및 제 2 실행을 위한 가블레드 회로 GC2를 생성하고(반드시 연속적이지 않음), 각각의 실행에 대해, 제 1 당사자 P1은 출력의 연산을 위해 생성된 가블레드 회로를 제 2 당사자에 전송한다. 소정의 실행 i 및 예시적인 16 비트 입력에 대해, 제 2 당사자가 제 2 당사자의 입력 x i,1 ... x i,16 의 암호화된 버전 k i ,1 ... k i ,16 을 획득하도록, 당사자들은 OT(oblivious transfer)를 이용하여 그들의 입력을 교환한다. 따라서, 제 1 실행(i=1)에 대해, 제 2 당사자 P2는 그 실행 입력의 암호화된 버전 k 1 ,1 ... k 1 ,16 을 획득하고, 제 2 실행(i=2)에 대해, 제 2 당사자 P2는 그 실행 입력의 암호화된 버전 k 2 ,1 ... k 2 ,16 을 획득한다.
예시적인 2 당사자 SFE 프로세스(200)에 따르면, 제 2 당사자 P2는 소정의 실행을 위해 가블레드 회로에 그 입력 x i,1 ... x i,16 을 인가하고, 제 1 당사자와의 이후의 가능한 검증을 위해 그 입력의 암호화된 버전 k i ,1 ... k i ,16 을 저장하다.
도 3과 관련하여 상술한 바와 같이, 소정의 실행 쌍 i 및 예시적인 16 비트 입력에 대해 제 1 당사자 P1가 제 2 당사자 P2(예를 들어, 고객 또는 클라이언트)의 입력 일관성 검증을 수행하기를 원하는 경우, 2 당사자 SFE 입력 일관성 검증 프로세스(300)가 제 1 당사자 P1(서버)에 의해 개시된다. 예를 들어, 제 2 당사자 P2의 입력이 검증 함수에 의해 관련될 필요가 있는 2개의 실행이 존재하는 것으로 한다.
예를 들어, 제 2 당사자 P2의 입력은 16 비트 정수일 수 있고, 제 1 당사자 P1은 제 2 당사자 P2의 제 2 입력이 제 2 당사자 P2의 제 1 입력보다 큰(이와 동일한)지를 보장하기를 원한다. 제 2 당사자 P2의 제 1 입력이 x 1,1 ... x 1, 16 이고, 제 2 당사자 P2의 제 2 입력이 x 2,1 ... x 2,16 이라고 가정한다. 위에서 나타낸 바와 같이, 2 당사자 SFE 프로세스(200)에 따른 GC 기반 실행 1 및 2 각각의 일부로서, 제 1 당사자 P1은 제 2 당사자 P2의 입력 비트 각각의 2개의 값(0 및 1) 각각의 암호화를 생성할 것이고, 제 2 당사자 P2는 자신의 입력에 대응하는 암호화를 획득할 것이다(합해서 P2는 자신의 2개의 16 비트 입력에 대응하는 2×16개의 암호화를 수신할 것임). 이제, P2가 자신의 입력을 정확하게 제출하였는지를 제 1 당사자 P1이 체크하기를 원하는 경우, 제 1 당사자 P1은 체크 회로 GC3(450)를 생성할 것이며, 이 체크 회로 GC3(450)는 32개의 암호화된 입력 비트(k 값)를 취하고 이들 입력에 대해 체크 함수를 연산할 것이다. 예시적인 실시예에서, 체크 회로 GC3(450)는 x2가 x1보다 큰지의 체크를 구현할 것이다. 체크 회로 GC3(450)의 암호화된 출력은 단계(340)(도 3) 동안 제 2 당사자 P2에 의해 연산되고 단계(350)(도 3) 동안 암호화 및 검증을 위해 제 1 당사자 P1에 다시 전송된다.
시스템 및 제조 물품 상세
도 2 및 도 3은 예시적인 단계의 시퀀스를 도시하지만, 본 발명의 실시예에서는 시퀀스가 또한 가변될 수 있다. 알고리즘의 다양한 치환이 본 발명의 다른 실시예으로서 고려된다.
본 발명의 예시적인 실시예는 소프트웨어 프로그램에서의 프로세싱 단계에 대해 기술되었지만, 당 분야에서 통상의 지식을 가진 자에게 이해되는 바와 같이, 디지털 도메인에서 소프트웨어 프로그램, 회로 요소 또는 상태 머신에 의한 하드웨어, 또는 소프트웨어와 하드웨어의 조합의 프로세싱 단계로서 다양한 함수가 구현될 수 있다. 이러한 소프트웨어는, 예를 들어, 디지털 신호 프로세서, ASIC(application specific integrated circuit), 마이크로콘트롤러, 또는 범용 컴퓨터에서 채용될 수 있다. 이러한 하드웨어 및 소프트웨어는 집적 회로 내에서 구현되는 회로내에서 구현될 수 있다.
따라서, 본 발명의 함수는 이들 방법을 실시하는 방법 및 장치의 형태로 구현될 수 있다. 본 발명의 하나 이상의 측면은, 예를 들어, 저장 매체에 저장되고, 머신에 의해 로드되고 및/또는 실행되거나, 또는 몇몇 전송 매체를 통해 전송되는지에 따라 프로그램 코드의 형태로 구현될 수 있고, 프로그램 코드가 컴퓨터와 같은 머신에 의해 로드되고 실행되는 경우, 머신은 본 발명을 실시하는 장치가 된다. 범용 프로세서상에서 구현되는 경우, 프로그램 코드는 특정의 논리 회로에 대해 유사하게 동작하는 디바이스를 제공하기 위해 프로세서와 결합한다. 본 발명은 하나 이상의 집적 회로, 디지털 신호 프로세서, 마이크로프로세서 및 마이크로콘트롤러로 또한 구현될 수 있다.
당 분야에서 알려져 있는 바와 같이, 본 명세서에서 기술된 방법 및 장치는 내부에 구현된 컴퓨터 판독가능한 코드 수단을 갖는 컴퓨터 판독가능한 매체를 포함하는 제조물품으로서 배포될 수 있다. 컴퓨터 판독가능한 프로그램 코드 수단은 컴퓨터 시스템과 관련하여, 단계의 전부 또는 일부를 실행하여 방법을 수행하거나 또는 본 명세서에서 기술된 장치를 생성하도록 동작가능하다. 컴퓨터 판독가능한 매체는 기록가능한 매체(예를 들어, 플로피 디스크, 하드 드라이브, 컴팩트 디스크, 메모리 카드, 반도체 디바이스, 칩, ASIC(application specific integrated circuit))일 수 있거나, 또는 전송 매체(예를 들어, 광 섬유, WWW(world-wide web), 케이블, 또는 TFMA(time-division multiple access), CDMA(code-division multiple access)를 이용하는 무선 채널, 또는 다른 무선 주파수 채널을 포함하는 네트워크)일 수 있다. 컴퓨터 시스템과 함께 사용하는데 적합한 정보를 저장할 수 있는 알려진 또는 개발된 임의의 매체가 사용될 수 있다. 컴퓨터 판독가능한 코드 수단은 자기 매체상의 자기 편차 또는 컴팩트 디스크의 표면상의 높이 편차와 같은, 인스트럭션 및 데이터를 컴퓨터가 판독할 수 있게 하는 임의의 메커니즘이다.
본 명세서에서 기술된 컴퓨터 시스템 및 서버는 본 명세서에서 기술된 방법, 단계 및 함수를 구현하도록 연관된 프로세서를 구성할 메모리를 각각 포함한다. 메모리는 분산되거나 로컬일 수 있고 프로세서는 분산되거나 하나일 수 있다. 메모리는 전기적, 자기적 또는 광학적 메모리 또는 이들 또는 다른 타입의 저장 디바이스의 임의의 조합으로서 구현될 수 있다. 또한, "메모리"란 용어는 연관된 프로세서에 의해 액세스되는 어드레스 가능한 공간에서 어드레스로부터 판독 가능하고 어드레스에 기입 가능한 임의의 정보를 포함하도록 충분히 폭넓게 해석될 수 있다. 이 정의에 의해, 연관된 프로세서가 네트워크로부터 정보를 수신할 수 있으므로 네트워크상에서의 정보는 메모리 내에 여전히 있다.
본 명세서에서 도시되고 기술된 실시예는 본 발명의 원리를 단지 예시하기 위한 것이며 당 분야에서 통상의 지식을 가진 자라면 본 발명의 범위 및 사상으로부터 벗어나지 않고 각종 변형예가 구현될 수 있음을 이해할 것이다.
Claims (10)
- 제 2 당사자(second party)와의 복수의 실행 i를 위한 함수를 평가하기 위해 제 1 당사자(first party)에 의해 수행되는 2 당사자(two-party) 보안 함수 평가(SFE)(secure function evaluation)을 위한 방법으로서,
상기 복수의 실행 i에 대해;
상기 함수에 대응하는 가블레드 회로(garbled circuit : GC)를 연산하는 단계와,
상기 제 2 당사자의 입력 x i의 암호화된 버전 k i 인 와이어 비밀(wire secrets)을 제공하기 위해 OT(Oblivious Transfer) 프로토콜을 이용하여 상기 제 2 당사자와 통신하는 단계로서, 상기 제 2 당사자는 상기 복수의 실행에 대한 상기 제 2 당사자의 상기 입력 x i의 상기 암호화된 버전 k i 을 저장하는 단계와,
출력의 연산을 위해 상기 연산된 가블레드 회로(GC)를 상기 제 2 당사자에 전송하는 단계와,
상기 제 2 당사자로부터 상기 출력을 수신하는 단계와,
상기 복수의 실행 중 2개의 실행에 대한 상기 제 2 당사자의 상기 입력 x i의 후속 검증을 위해;
검증되는 상기 가블레드 회로의 입력 키에 근거한 검증 함수에 대응하는 체크 가블레드 회로(CGC)를 연산하는 단계와,
검증 출력의 연산을 위해 상기 연산된 체크 가블레드 회로(CGC)를 상기 제 2 당사자에 전송하는 단계로서, 상기 제 2 당사자는 상기 2개의 실행에 대한 상기 저장된 암호화된 버전 k i 을 상기 체크 가블레드 회로(CGC)에 인가함으로써 상기 검증 출력을 연산하는 단계와,
상기 제 2 당사자로부터 상기 검증 출력을 수신하는 단계와,
상기 2개의 실행에 대한 상기 입력 x i을 검증하기 위해 상기 검증 출력을 평가하는 단계를 포함하는
방법.
- 제 1 항에 있어서,
상기 검증 함수는 동일성 함수(equality function), 초과 함수(greater than function), 미만 함수(less than function) 및 두 당사자에 의해 합의되는 검증 함수 중 하나 이상을 포함하는
방법.
- 제 2 당사자와의 복수의 실행 i를 위한 함수를 평가하기 위해 제 1 당사자에 의해 수행되는 2 당사자 보안 함수 평가(SFE)를 위한 유형의 머신 판독가능한 기록가능 저장 매체로서, 하나 이상의 프로세싱 디바이스에 의해 실행되는 경우 하나 이상의 소프트웨어 프로그램이 청구항 1의 방법의 단계를 구현하는
유형의 머신 판독가능한 기록가능 저장 매체.
- 제 1 당사자와의 복수의 실행 i를 위한 함수를 평가하기 위해 제 2 당사자에 의해 수행되는 2 당사자 보안 함수 평가(SFE)를 위한 방법으로서,
상기 복수의 실행 i에 대해;
상기 제 1 당사자로부터 상기 함수에 대응하는 가블레드 회로(GC)를 수신하는 단계와,
상기 제 2 당사자의 입력 x i의 암호화된 버전 k i 인 와이어 비밀을 수신하도록 OT 프로토콜을 이용하여 상기 제 1 당사자와 통신하는 단계와,
상기 복수의 실행에 대해 상기 제 2 당사자의 입력 x i의 상기 암호화된 버전 k i 을 저장하는 단계와,
출력을 연산하기 위해 상기 연산된 가블레드 회로(GC)에 입력을 인가하는 단계와,
상기 제 1 당사자에 상기 출력을 제공하는 단계와,
상기 복수의 실행 중 2개의 실행에 대한 상기 제 2 당사자의 상기 입력 x i의 상기 제 1 당사자에 의한 후속 검증을 위해;
상기 제 1 당사자로부터 검증 함수에 대응하는 체크 가블레드 회로(CGC)를 수신하는 단계와,
상기 2개의 실행에 대한 상기 저장된 암호화된 버전 k i 을 상기 체크 가블레드 회로(CGC)에 인가함으로써 검증 출력을 연산하는 단계와,
상기 2개의 실행에 대한 상기 제 2 당사자의 상기 입력 x i을 검증하기 위해 상기 제 1 당사자에 상기 검증 출력을 제공하는 단계를 포함하는
방법.
- 제 4 항에 있어서,
상기 검증 함수는 동일성 함수, 초과 함수, 미만 함수 및 두 당사자에 의해 합의되는 검증 함수 중 하나 이상을 포함하는
방법.
- 제 1 당사자와의 복수의 실행 i를 위한 함수를 평가하기 위해 제 2 당사자에 의해 수행되는 2 당사자 보안 함수 평가(SFE)를 위한 유형의 머신 판독가능한 기록가능 저장 매체로서, 하나 이상의 프로세싱 디바이스에 의해 실행되는 경우 하나 이상의 소프트웨어 프로그램이 청구항 4의 방법의 단계를 구현하는
유형의 머신 판독가능한 기록가능 저장 매체.
- 제 2 당사자와의 복수의 실행 i를 위한 함수를 평가하기 위해 제 1 당사자에 의해 수행되는 2 당사자 보안 함수 평가(SFE)를 위한 시스템으로서,
메모리와,
상기 메모리에 연결된 적어도 하나의 하드웨어 디바이스를 포함하며,
상기 하드웨어 디바이스는,
상기 복수의 실행 i에 대해;
상기 함수에 대응하는 가블레드 회로(GC)를 연산하는 단계와,
상기 제 2 당사자의 입력 x i의 암호화된 버전 k i 인 와이어 비밀을 제공하기 위해 OT 프로토콜을 이용하여 상기 제 2 당사자와 통신하는 단계로서, 상기 제 2 당사자는 상기 복수의 실행에 대한 상기 제 2 당사자의 상기 입력 x i의 상기 암호화된 버전 k i 을 저장하는 단계와,
출력의 연산을 위해 상기 연산된 가블레드 회로(GC)를 상기 제 2 당사자에 전송하는 단계와,
상기 제 2 당사자로부터 상기 출력을 수신하는 단계와,
상기 복수의 실행 중 2개의 실행에 대한 상기 제 2 당사자의 상기 입력 x i의 후속 검증을 위해;
검증되는 상기 가블레드 회로의 입력 키에 근거한 검증 함수에 대응하는 체크 가블레드 회로(CGC)를 연산하는 단계와,
검증 출력의 연산을 위해 상기 연산된 체크 가블레드 회로(CGC)를 상기 제 2 당사자에 전송하는 단계로서, 상기 제 2 당사자는 상기 2개의 실행에 대한 상기 저장된 암호화된 버전 k i 을 상기 체크 가블레드 회로(CGC)에 인가함으로써 상기 검증 출력을 연산하는 단계와,
상기 제 2 당사자로부터 상기 검증 출력을 수신하는 단계와,
상기 2개의 실행에 대한 상기 제 2 당사자의 상기 입력 x i을 검증하기 위해 상기 검증 출력을 평가하는 단계
를 수행하도록 동작 가능한 시스템.
- 제 7 항에 있어서,
상기 검증 함수는 동일성 함수, 초과 함수, 미만 함수 및 두 당사자에 의해 합의되는 검증 함수 중 하나 이상을 포함하는
시스템.
- 제 1 당사자와의 복수의 실행 i를 위한 함수를 평가하기 위해 제 2 당사자에 의해 수행되는 2 당사자 보안 함수 평가(SFE)를 위한 시스템으로서,
메모리와,
상기 메모리에 연결된 적어도 하나의 하드웨어 디바이스를 포함하며,
상기 하드웨어 디바이스는,
상기 복수의 실행 i에 대해;
상기 제 1 당사자로부터 상기 함수에 대응하는 가블레드 회로(GC)를 수신하는 단계와,
상기 제 2 당사자의 입력 x i의 암호화된 버전 k i 인 와이어 비밀을 수신하도록 OT 프로토콜을 이용하여 상기 제 1 당사자와 통신하는 단계와,
상기 복수의 실행에 대한 상기 제 2 당사자의 입력 x i의 상기 암호화된 버전 k i 을 저장하는 단계와,
출력을 연산하기 위해 상기 연산된 가블레드 회로(GC)에 입력을 인가하는 단계와,
상기 제 1 당사자에 상기 출력을 제공하는 단계와,
상기 복수의 실행 중 2개의 실행에 대한 상기 제 2 당사자의 상기 입력 x i의 상기 제 1 당사자에 의한 후속 검증을 위해;
상기 제 1 당사자로부터 검증 함수에 대응하는 체크 가블레드 회로(CGC)를 수신하는 단계와,
상기 2개의 실행에 대한 상기 저장된 암호화된 버전 k i 을 상기 체크 가블레드 회로(CGC)에 인가함으로써 검증 출력을 연산하는 단계와,
상기 2개의 실행에 대한 상기 제 2 당사자의 상기 입력 x i을 검증하기 위해 상기 제 1 당사자에 상기 검증 출력을 제공하는 단계
를 수행하도록 동작 가능한 시스템.
- 제 9 항에 있어서,
상기 검증 함수는 동일성 함수, 초과 함수, 미만 함수 및 두 당사자에 의해 합의되는 검증 함수 중 하나 이상을 포함하는
시스템.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/630,568 | 2012-09-28 | ||
US13/630,568 US8891766B2 (en) | 2012-09-28 | 2012-09-28 | Input consistency verification for two-party secure function evaluation |
PCT/US2013/060323 WO2014052113A1 (en) | 2012-09-28 | 2013-09-18 | Input consistency verification for two-party secure function evaluation |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20150048827A true KR20150048827A (ko) | 2015-05-07 |
KR101687122B1 KR101687122B1 (ko) | 2016-12-15 |
Family
ID=49301626
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020157007753A KR101687122B1 (ko) | 2012-09-28 | 2013-09-18 | 2 당사자 보안 함수 평가를 위한 입력 일관성 검증 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8891766B2 (ko) |
EP (1) | EP2901613A1 (ko) |
JP (1) | JP5925969B2 (ko) |
KR (1) | KR101687122B1 (ko) |
CN (1) | CN104685826B (ko) |
WO (1) | WO2014052113A1 (ko) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10044695B1 (en) | 2014-09-02 | 2018-08-07 | Amazon Technologies, Inc. | Application instances authenticated by secure measurements |
US9577829B1 (en) * | 2014-09-03 | 2017-02-21 | Amazon Technologies, Inc. | Multi-party computation services |
US10061915B1 (en) | 2014-09-03 | 2018-08-28 | Amazon Technologies, Inc. | Posture assessment in a secure execution environment |
US9246690B1 (en) | 2014-09-03 | 2016-01-26 | Amazon Technologies, Inc. | Secure execution environment services |
US10079681B1 (en) | 2014-09-03 | 2018-09-18 | Amazon Technologies, Inc. | Securing service layer on third party hardware |
US9754116B1 (en) | 2014-09-03 | 2017-09-05 | Amazon Technologies, Inc. | Web services in secure execution environments |
US9442752B1 (en) | 2014-09-03 | 2016-09-13 | Amazon Technologies, Inc. | Virtual secure execution environments |
US9584517B1 (en) | 2014-09-03 | 2017-02-28 | Amazon Technologies, Inc. | Transforms within secure execution environments |
US9491111B1 (en) | 2014-09-03 | 2016-11-08 | Amazon Technologies, Inc. | Securing service control on third party hardware |
GB201511520D0 (en) * | 2015-07-01 | 2015-08-12 | Barclays Bank Plc | Secure computation |
JP6034927B1 (ja) * | 2015-07-27 | 2016-11-30 | 日本電信電話株式会社 | 秘密計算システム、秘密計算装置、およびプログラム |
US10243738B2 (en) * | 2015-12-04 | 2019-03-26 | Microsoft Technology Licensing, Llc | Adding privacy to standard credentials |
US10437953B2 (en) * | 2016-07-08 | 2019-10-08 | efabless corporation | Systems for engineering integrated circuit design and development |
US11818249B2 (en) * | 2017-12-04 | 2023-11-14 | Koninklijke Philips N.V. | Nodes and methods of operating the same |
WO2019121384A1 (en) * | 2017-12-22 | 2019-06-27 | Koninklijke Philips N.V. | Evaluation of events using a function |
US10999082B2 (en) | 2018-09-28 | 2021-05-04 | Analog Devices, Inc. | Localized garbled circuit device |
US11245680B2 (en) * | 2019-03-01 | 2022-02-08 | Analog Devices, Inc. | Garbled circuit for device authentication |
CN112711744B (zh) * | 2020-06-23 | 2024-06-25 | 华控清交信息科技(北京)有限公司 | 一种计算任务的处理方法、装置和用于计算任务的处理装置 |
CN112231642B (zh) * | 2020-10-19 | 2024-02-02 | 贵州大学 | 基于安全熵判据的理性两方计算模型的计算方法 |
CN114024674B (zh) * | 2021-11-23 | 2024-05-31 | 支付宝(杭州)信息技术有限公司 | 两方安全比较的方法及系统 |
CN114285558B (zh) * | 2021-12-24 | 2023-09-08 | 浙江大学 | 一种基于半可信硬件的多方隐私计算方法及装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010053220A1 (en) * | 1998-06-03 | 2001-12-20 | Cryptography Research, Inc. | Cryptographic computation using masking to prevent differential power analysis and other attacks |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7240198B1 (en) * | 2000-08-08 | 2007-07-03 | Yeda Research & Development Co., Ltd. | Honesty preserving negotiation and computation |
WO2005071640A1 (ja) * | 2004-01-26 | 2005-08-04 | Nec Corporation | 多数の入力から関数を計算する方法および装置 |
US8923519B2 (en) * | 2009-05-29 | 2014-12-30 | Alcatel Lucent | Method of efficient secure function evaluation using resettable tamper-resistant hardware tokens |
US8539220B2 (en) * | 2010-02-26 | 2013-09-17 | Microsoft Corporation | Secure computation using a server module |
US8488791B2 (en) * | 2010-09-22 | 2013-07-16 | Alcatel Lucent | Securing two-party computation against malicious adversaries |
US8837715B2 (en) * | 2011-02-17 | 2014-09-16 | Gradiant, Centro Tecnolóxico de Telecomunicacións de Galica | Method and apparatus for secure iterative processing and adaptive filtering |
US9077539B2 (en) * | 2011-03-09 | 2015-07-07 | Microsoft Technology Licensing, Llc | Server-aided multi-party protocols |
-
2012
- 2012-09-28 US US13/630,568 patent/US8891766B2/en not_active Expired - Fee Related
-
2013
- 2013-09-18 JP JP2015534553A patent/JP5925969B2/ja not_active Expired - Fee Related
- 2013-09-18 EP EP13771683.3A patent/EP2901613A1/en not_active Withdrawn
- 2013-09-18 WO PCT/US2013/060323 patent/WO2014052113A1/en active Application Filing
- 2013-09-18 CN CN201380050556.5A patent/CN104685826B/zh not_active Expired - Fee Related
- 2013-09-18 KR KR1020157007753A patent/KR101687122B1/ko active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010053220A1 (en) * | 1998-06-03 | 2001-12-20 | Cryptography Research, Inc. | Cryptographic computation using masking to prevent differential power analysis and other attacks |
Non-Patent Citations (1)
Title |
---|
Kimmo Jarvinen 외 3인, Financial Cryptography and Data Security, vol. 6052, pp. 207-221, "Embedded SFE: Offloading Server and Network using Hardware Tokens" (2010.01. 공개) * |
Also Published As
Publication number | Publication date |
---|---|
US8891766B2 (en) | 2014-11-18 |
US20140105393A1 (en) | 2014-04-17 |
CN104685826A (zh) | 2015-06-03 |
CN104685826B (zh) | 2018-01-30 |
JP5925969B2 (ja) | 2016-05-25 |
WO2014052113A1 (en) | 2014-04-03 |
EP2901613A1 (en) | 2015-08-05 |
KR101687122B1 (ko) | 2016-12-15 |
JP2015530623A (ja) | 2015-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101687122B1 (ko) | 2 당사자 보안 함수 평가를 위한 입력 일관성 검증 | |
JP7454035B2 (ja) | ブロックチェーンにより実装される方法及びシステム | |
US11601407B2 (en) | Fast oblivious transfers | |
Yuan et al. | Public integrity auditing for dynamic data sharing with multiuser modification | |
Yang et al. | Provable data possession of resource-constrained mobile devices in cloud computing | |
CN111898137A (zh) | 一种联邦学习的隐私数据处理方法、设备及系统 | |
US11979492B2 (en) | Computer-implemented system and method for distributing shares of digitally signed data | |
Son et al. | On the design of a privacy-preserving communication scheme for cloud-based digital twin environments using blockchain | |
Hayward et al. | Parallelizing fully homomorphic encryption for a cloud environment | |
US20220045840A1 (en) | Methods and systems for somewhat homomorphic encryption and key updates based on geometric algebra for distributed ledger/blockchain technology | |
Mohassel et al. | Efficient server-aided 2pc for mobile phones | |
US9178704B2 (en) | Input consistency verification for server assisted secure function evaluation | |
CN118160275A (zh) | 阈值签名方案 | |
Shi et al. | Threshold eddsa signature for blockchain-based decentralized finance applications | |
WO2013153628A1 (ja) | 演算処理システムおよび演算結果認証方法 | |
Song et al. | Enabling transparent deduplication and auditing for encrypted data in cloud | |
CN118160273A (zh) | 生成共享密钥 | |
KR102094606B1 (ko) | 인증 장치 및 방법 | |
Akshay et al. | Dynamic list based data integrity verification in cloud environment | |
Jajodia et al. | Recoverable encryption through a noised secret over a large cloud | |
JP7348848B2 (ja) | 統合属性ベースグループ署名処理方法、統合属性ベースグループ署名処理システム、および、プログラム | |
Li et al. | Designated-Verifier zk-SNARKs Made Easy | |
WO2023055582A1 (en) | Round optimal oblivious transfers from isogenies | |
CN111986028A (zh) | 实名制合约地址生成方法、装置及计算机设备 | |
CN112749965A (zh) | 一种信息监控方法、系统、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |