KR101297414B1 - 분산된 집합에서 프라이버시를 보호하는 집합 연산 제공 방법 및 시스템 - Google Patents

분산된 집합에서 프라이버시를 보호하는 집합 연산 제공 방법 및 시스템 Download PDF

Info

Publication number
KR101297414B1
KR101297414B1 KR1020110087982A KR20110087982A KR101297414B1 KR 101297414 B1 KR101297414 B1 KR 101297414B1 KR 1020110087982 A KR1020110087982 A KR 1020110087982A KR 20110087982 A KR20110087982 A KR 20110087982A KR 101297414 B1 KR101297414 B1 KR 101297414B1
Authority
KR
South Korea
Prior art keywords
participants
union
encrypted
data
owned
Prior art date
Application number
KR1020110087982A
Other languages
English (en)
Other versions
KR20130024498A (ko
Inventor
정익래
이동훈
천지영
노건태
Original Assignee
고려대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 고려대학교 산학협력단 filed Critical 고려대학교 산학협력단
Priority to KR1020110087982A priority Critical patent/KR101297414B1/ko
Publication of KR20130024498A publication Critical patent/KR20130024498A/ko
Application granted granted Critical
Publication of KR101297414B1 publication Critical patent/KR101297414B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

집합 연산 시스템이 분산된 집합의 프라이버시를 보호하는 집합 연산을 제공하는 방법은, 복수의 참여자의 협력을 통해, 상기 복수의 참여자가 소유한 각각의 집합에 대한 합집합 연산을 수행하여 암호화된 합집합을 생성하는 단계, 상기 복수의 참여자가 소유한 각각의 집합에 속하는 원소가 상기 암호화된 합집합에 속하는지 여부를 판단하는 단계 및 상기 집합 연산의 연산식 및 상기 각각의 집합에 속한 원소의 상기 암호화된 합집합에 속하는 지 여부에 기초하여, 상기 집합 연산을 수행하는 단계를 포함한다.

Description

분산된 집합에서 프라이버시를 보호하는 집합 연산 제공 방법 및 시스템 {SYSTEM AND METHOD FOR PROVIDING PRIVACY PRESERVING SET OPERATION ON DISTRIBUTED SET}
본 발명은 분산된 집합에서 프라이버시를 보호하는 집합 연산 제공 방법 및 시스템에 관한 것이다.
최근 프라이버시를 보호하는 집합 연산들에 대한 연구가 다양하고 활발하게 진행되고 있으며, 특히 자신이 가지고 있는 비밀 입력 집합에 대한 어떠한 정보의 노출 없이도 합집합이나 교집합 연산이 가능한 기법들이 연구되고 있다.
프라이버시를 보호하는 다양한 집합 연산들은 프라이버시 보존 데이터 마이닝(PPDM, Privacy Preserving Data Mining) 기술에서 유용하게 사용될 수 있지만, 현재까지는 기존 집합 연산에서 가능한 다양한 연산들에 대해서 프라이버시를 보호하는 연구가 부족한 실정이다.
프라이버시를 보호하는 다양한 집합 연산들은 프라이버시 보존 데이터 마이닝 기술에서 유용하게 사용될 수 있다. 기존에 제안되었던 프라이버시를 보호하는 집합 연산은 합집합, 교집합, 부분집합 등 일부 연산 집합에 국한된다.
이에, 기존 집합 연산에서 가능한 연산들을 모두 포괄하며, 임의의 집합 형태도 프라이버시를 보호하며 얻어낼 수 있는 집합 연산이 필요한 실정이다.
이와 관련하여, 한국공개특허 1(출원번호: 2007-0112469, 발명의 명칭: 프라이버시를 보장하는 암호화와 복호화를 이용한 파일공유 방법 및 시스템)은 프라이버시를 보장하는 암호화와 복호화를 이용한 파일공유 방법 및 시스템에 관한 것으로서, 파일 또는 데이터를 공유하는 데 있어서, 사용자의 프라이버시를 보호하기 위해 데이터를 암호화하고 암호화된 데이터를 복호화하는 방법을 제공하고 있다. 하지만, 분산된 집합에서 집합에 속한 데이터에 대한 임의의 집합 연산에 대해서는 개시하고 있지 않다.
한편, 한국공개특허 2(출원번호: 2009-0125220, 발명의 명칭: 연관규칙 마이닝에서의 프라이버시 보호 장치 및 방법)는 연관규칙 마이닝에서의 프라이버시 보호 장치 및 방법에 관한 것으로서, 데이터 집합을 알고리즘을 통해서 가상 데이터 집합으로 변환시키는 방법을 제공하고 있다. 하지만, 한국공개특허 2 또한, 집합에 속한 데이터에 대한 임의의 집합 연산에 대해서는 개시하고 있지 않다.
본 발명의 일부 실시예는, 복수의 참여자들의 분산된 비밀 입력 집합들에 대해 복수의 참여자들 간의 프라이버시를 보호할 수 있는 집합 연산을 제공하는 방법을 제공하는 데에 목적이 있다.
또한, 본 발명의 일부 실시예는, 복수의 참여자들의 분산된 비밀 입력 집합들에 대해 복수의 참여자들 간의 프라이버시를 보호할 수 있는 집합 연산을 제공하는 시스템을 제공하는 데에 목적이 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 제 1 측면에 따른 집합 연산 시스템이 분산된 집합의 프라이버시를 보호하는 집합 연산을 제공하는 방법은, 복수의 참여자의 협력을 통해, 상기 복수의 참여자가 소유한 각각의 집합에 대한 합집합 연산을 수행하여 암호화된 합집합을 생성하는 단계, 상기 복수의 참여자가 소유한 각각의 집합에 속하는 원소가 상기 암호화된 합집합에 속하는지 여부를 판단하는 단계 및 상기 집합 연산의 연산식 및 상기 각각의 집합에 속한 원소의 상기 암호화된 합집합에 속하는 지 여부에 기초하여, 상기 집합 연산을 수행하는 단계를 포함한다.
본 발명의 제 2 측면에 따른 분산된 집합의 프라이버시를 보호하는 집합 연산을 제공하는 집합 연산 제공 시스템은, 복수의 참여자의 협력을 통해, 상기 복수의 참여자가 소유한 각각의 집합에 대한 합집합 연산을 수행하여 암호화된 합집합을 생성하는 암호화 합집합 연산부, 상기 복수의 참여자가 소유한 각각의 집합에 속하는 원소가 상기 암호화된 합집합에 속하는지 여부를 판단하는 멤버 테스트부 및 상기 집합 연산의 연산식 및 상기 각각의 집합에 속한 원소가 상기 암호화된 합집합에 속하는 지 여부에 기초하여, 상기 집합 연산을 수행하는 집합 연산부를 포함한다.
전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 복수의 참여자들의 분산된 비밀 입력 집합들에 대해 복수의 참여자들 간의 프라이버시를 보호할 수 있는 집합 연산을 제공하는 방법을 제공할 수 있다.
또한, 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 복수의 참여자들의 분산된 비밀 입력 집합들에 대해 복수의 참여자들 간의 프라이버시를 보호할 수 있는 집합 연산을 제공하는 시스템을 제공할 수 있다.
도 1은 본 발명의 일실시예에 따른 집합 연산 제공 시스템을 설명하기 위한 구성도이다.
도 2는 본 발명의 일실시예에 따른 집합 연산 제공 방법에 있어서, 집합 연산 서버를 도시한 블록도이다.
도 3은 본 발명의 일실시예에 따른 집합 연산 제공 방법을 설명하기 위하여, 집합의 예시를 도시한 도면이다.
도 4는 본 발명의 일실시예에 따른 집합 연산 제공 시스템을 통하여 집합 연산을 제공하는 방법을 설명하기 위한 순서도이다.
도 5는 본 발명의 일실시예에 따른 집합 연산 제공 방법에 있어서, 암호화된 합집합 연산 수행 방법을 설명하기 위한 순서도이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
이하 첨부된 도면을 참고하여 본 발명을 상세히 설명하기로 한다.
도 1은 본 발명의 일실시예에 따른 집합 연산 제공 시스템을 설명하기 위한 구성도이다.
본 발명의 일실시예에 따른 집합 연산 제공 시스템은 복수의 참여자의 암호화된 집합에 대한 집합 연산을 수행하기 위하여, 복수의 참여자(100) 및 집합 연산 서버(200)를 포함할 수 있다.
복수의 참여자(100)는 자신 및 타 참여자의 프라이버시를 보호할 수 있는 집합 연산을 통하여, 참여자 간에 서로 노출시키고 싶지 않은 데이터에 대한 암호화된 데이터를 타 참여자에게 제공하고, 임의의 집합 연산에 대한 결과를 제공 받을 수 있다. 예를 들어, 복수의 병원 전산 시스템이 복수의 병원에 산재한 질병 데이터를 공유하며, 특정 목적에 의한 가공 데이터를 추출하고자 할 때, 각 병원 전산 시스템은 질병 데이터 또는 환자 데이터가 타 병원에 노출되는 것을 꺼릴 것이다. 이때, 복수의 참여자(병원)는 특정 질병에 걸린 환자들의 프라이버시를 보호하면서, 같은 질병에 걸린 환자 들의 정보를 타 참여자와 공유하기 위해, 본 발명의 일실시예에 따른 집합 연산을 수행할 있다.
본 발명의 다른 실시예에 따른 집합 연산 제공 시스템은 네트워크(10)에 연결된 복수의 참여자의 단말(100) 및 집합 연산 서버(200)를 포함할 수 있다.
네트워크(10)는 근거리 통신망(Local Area Network; LAN), 광역 통신망(Wide Area Network; WAN) 또는 부가가치 통신망(Value Added Network; VAN) 등과 같은 유선 네트워크나 이동 통신망(mobile radio communication network) 또는 위성 통신망 등과 같은 모든 종류의 무선 네트워크로 구현될 수 있다.
복수의 참여자의 단말(100)은 네트워크(10)를 통해 원격지의 서버에 접속할 수 있는 단말로 구현될 수 있다. 상기 단말(100)은 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, PCS(Personal Communication System), GSM(Global System for Mobile communications), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), Wibro(Wireless Broadband Internet) 단말, 스마트폰(smartphone) 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있다.
집합 연산 서버(200)는 참여자의 단말(100)로부터 집합의 원소, 집합을 표현하는 다항식 데이터 및 참여자의 단말(100)에서 선택된 랜덤 데이터 등 집합 연산에 필요한 일체의 데이터를 수신하고, 수신된 데이터에 기초하여 암호화된 합집합 연산, 참여자의 단말(100)로 수신한 집합의 원소가 암호화된 합집합에 속하는지 여부를 판단하는 멤버 테스트 등에 기초하여, 복수의 참여자 단말(100)로부터 제공받은 집합에 대한 다양한 집합 연산을 수행할 수 있다.
상술한 바와 같이, 본 발명의 일실시예에 따른 집합 연산 시스템은 네트워크(10)에 연결된 복수의 참여자 단말과의 데이터 송수신을 통해 수행되거나, 또는 단일 시스템으로 구성될 수 있다.
도 2는 본 발명의 일실시예에 따른 집합 연산 제공 방법에 있어서, 집합 연산 서버를 도시한 블록도이다.
본 발명의 일실시예에 따른 집합 연산 서버(200)는 암호화 합집합 연산부(210), 멤버 테스트부(220), 집합 연산부(230), 데이터 수신부(240) 및 데이터 송신부(250)를 포함할 수 있다.
암호화 합집합 연산부(210)는 복수의 참여자의 협력을 통해, 복수의 참여자가 소유한 각각의 집합에 대한 합집합 연산을 수행하여 암호화된 합집합을 생성할 수 있다.
암호화 합집합 연산부(210)가 수행하는 작업에 대해 이해를 돕기 위해, 예를 들어, 복수의 참여자에 대해 각각의 참여자를 Pk(1≤k≤n)라고 하고, 참여자 Pk가 비밀 집합 Ak를 가진다고 하자. Ak는 lk개의 원소를 가지며,
Figure 112011068097095-pat00001
와 같이 나타낼 수 있다.
또한,
Figure 112011068097095-pat00002
이고,
Figure 112011068097095-pat00003
이라고 가정 하자. 이 때, m은 합집합 U의 원소의 개수이다.
상기와 같은 가정하에, 제 1 참여자(P1)을 제외한 각각의 참여자 Pk (1≤k≤n)는 다항식
Figure 112011068097095-pat00004
를 계산하고,
Figure 112011068097095-pat00005
을 랜덤하게 선택하며,
Figure 112011068097095-pat00006
,
Figure 112011068097095-pat00007
와 암호화된 비밀 집합
Figure 112011068097095-pat00008
를 제 1 참여자 P1에게 보낸다.
제 1 참여자는
Figure 112011068097095-pat00009
을 계산하고, k=2부터 n까지에 대해 아래 [수학식 1]을 계산한다.
Figure 112011068097095-pat00010
또한, 제 1 참여자 P1
Figure 112011068097095-pat00011
을 랜덤하게 선택하고, 아래 [수학식 2]의 계산을 수행한다.
Figure 112011068097095-pat00012
여기서
Figure 112011068097095-pat00013
은 제 1 참여자 P1이 계산한 값들을 나타낸 것이다. 즉, bl≠0이면,
Figure 112011068097095-pat00014
은 합집합 원소들 중의 하나이다. 제 1 참여자 P1은 아래 [수학식 3]을 배포한다.
Figure 112011068097095-pat00015
Figure 112011068097095-pat00016
Figure 112011068097095-pat00017
상기와 같은 과정들을 통해, 모든 참여자 Pk (1≤k≤n)는 배포된 값에 대해 셔플 프로토콜(shuffle protocol)을 수행하고, yl=0인지를 테스트하기 위해 (Xl,Yl) (1≤l≤l’) 중에서
Figure 112011068097095-pat00018
을 다함께 복호화한다. 만약 yl≠0이면, 리스트 Γ에 (Xl,Yl)를 추가한다.
암호화 합집합 연산부(210)는 상기와 같은 과정을 통해, 암호화된 합집합을 생성할 수 있다.
멤버 테스트부(220)는 복수의 참여자가 소유한 각각의 집합에 속하는 원소가 암호화된 합집합에 속하는지 여부를 판단할 수 있다.
멤버 테스트부(210)가 수행하는 작업에 대해 이해를 돕기 위해 예를 들어, 복수의 참여자에 대해 각각의 참여자를 Pk(1≤k≤n)라고 하고, 참여자 Pk가 비밀 집합 Ak를 가진다고 하자. Ak는 lk개의 원소를 가지며,
Figure 112011068097095-pat00019
와 같이 나타낼 수 있다. 각각의 참여자 Pk(1≤k≤n)는
Figure 112011068097095-pat00020
를 가지며, 여기서
Figure 112011068097095-pat00021
이고,
Figure 112011068097095-pat00022
이다.
참여자 Pi가 xj/yj가 Ai의 원소인지 아닌지를 알기 원한다고 가정한다. i번째 참여자 Pi를 제외한 각각의 참여자 Pk (1≤k≤n)는 rk (1≤l≤l’)를 랜덤하게 선택하고, i번째 참여자 Pi에게
Figure 112011068097095-pat00023
를 보낸다. i번째 참여자 Pi는 ri와 R을 랜덤하게 선택하고, 아래 [수학식 4]에서의 B를 계산하여 배포한다.
Figure 112011068097095-pat00024
그러면 모든 참여자는 아래 [수학식 5]에서의 b를 얻기 위해 B를 다함께 복호화한다.
Figure 112011068097095-pat00025
만약 b=R이면 i번째 참여자 Pi는 1을 출력하고, 아니면 0을 출력한다. 한편, i번째 참여자 Pi를 제외한 다른 어떤 참여자들은 어떠한 정보도 얻지 못한다.
멤버 테스트부(220)는 상기와 같은 과정을 통해, 특정 원소가 암호화된 집합에 속하는 지 여부에 대한 판단을 할 수 있다.
집합 연산부(230)는 상기 암호화 합집합 연산부(210)에 의한 암호화된 합집합 및 집합 연산의 연산식에 기초하여 다양한 집합 연산을 수행할 수 있다.
데이터 수신부(240)는 복수의 참여자의 단말로부터 참여자의 집합 데이터를 수신할 수 있다.
데이터 제공부(250)는 상기 집합 연산의 수행을 통해 획득한 상기 연산식의 결과 데이터를 상기 복수의 참여자에게 제공할 수 있다.
도 3은 본 발명의 일실시예에 따른 집합 연산 제공 방법을 설명하기 위하여, 집합의 예시를 도시한 도면이다.
본 발명의 일실시예에 따른 집합 연산 제공 방법에 있어서, 복수의 집합에 연산을 설명하기 위해, 아래 [수학식 6]을 만족시키는 집합 SF를 찾는 과정을 예로 들기로 한다.
Figure 112011068097095-pat00026
상기 [수학식 6]에서 Ak는 참여자 Pk가 소유한 집합을 의미하며, 여집합(complement set)
Figure 112011068097095-pat00027
Figure 112011068097095-pat00028
와 같이 정의할 수 있다.
본 발명의 일실시예에 따른 집합 연산 제공 방법에서, 복수의 참여자(Pk)는 자신이 소유한 집합(Ak)에 대한 정보만 알 수 있으며, 타 참여자가 소유한 집합(
Figure 112011068097095-pat00029
)에 대한 정보는 알 수 없다. 복수의 모든 참여자는 분산된 집합에 대하여, 프라이버시를 보호하는 집합 연산을 수행하기 위해 상호 협력할 수 있다.
보다 상세한 설명을 위해, 도 3에 도시된 집합 A1, A2, A3를 예를 들어, 집합 연산 과정에 대해 이하에서 설명한다.
도3에서는 예를 들어, 참여자 P1, P2 및 P3가 각각 소유하고 있는 집합 A1, A2 및 A3에 대해서, 하나의 집합에만 속하는 원소를 추출하는 연산을 수행한다.
먼저, 참여자 P1, P2 및 P3는 암호화되고, 섞인(suffled) 합집합의 튜플(tuple)을 아래 [수학식 7]과 같이 생성한다.
Figure 112011068097095-pat00030
where,
Figure 112011068097095-pat00031
참여자들은 상기 [수학식 7]에서의 (xj, yj) 값을 알지 못하며, (xj, yj)는 아래 [표 1]과 같다.
Figure 112011068097095-pat00032
이후, 각 참여자 Pk는 집합
Figure 112011068097095-pat00033
에 대하여, 멤버 테스트를 수행한다. 만약 참여자 Pk
Figure 112011068097095-pat00034
와 같은 값인 원소를 갖는다면,
Figure 112011068097095-pat00035
의 값을 1로 설정하고, 그 결과는 아래 [표 2]와 같다.
Figure 112011068097095-pat00036
이후, 각 참여자 Pk
Figure 112011068097095-pat00037
에 대하여 계산을 수행한다. 만약,
Figure 112011068097095-pat00038
인 i에 대하여,
Figure 112011068097095-pat00039
이라면, Pk
Figure 112011068097095-pat00040
로 계산한다. 한편,
Figure 112011068097095-pat00041
이라면,
Figure 112011068097095-pat00042
와 같이 계산한다. 그렇지 않을 경우, Pk
Figure 112011068097095-pat00043
와 같이 계산을 수행한다.
상기 과정을 통해 계산된 는 아래 [표 3]과 같다.
Figure 112011068097095-pat00044
이후, 각 참여자 Pk
Figure 112011068097095-pat00045
를 랜덤하게 선택하고,
Figure 112011068097095-pat00046
Figure 112011068097095-pat00047
값을 중계(broadcasting)한다.
각 참여자 Pk는 중계된 값을 받은 후, 아래 [수학식 8]과 같은 계산을 수행한다.
Figure 112011068097095-pat00048
Figure 112011068097095-pat00049
Figure 112011068097095-pat00050
상기 과정을 통해서 계산된
Figure 112011068097095-pat00051
는 아래 [표 4]와 같다.
Figure 112011068097095-pat00052
이후, 각 참여자 Pk는 아래 [수학식 9]와 같은 계산을 수행한다.
Figure 112011068097095-pat00053
Figure 112011068097095-pat00054
Figure 112011068097095-pat00055
상기 과정을 통해 계산된 는 아래 [표 5]와 같다.
Figure 112011068097095-pat00056
이후, 모든 참여자들은
Figure 112011068097095-pat00057
Figure 112011068097095-pat00058
를 얻기 위해
Figure 112011068097095-pat00059
를 협력적으로 복호화한다. 만약,
Figure 112011068097095-pat00060
라면, 모든 참여자들은
Figure 112011068097095-pat00061
를 계산하기 위해
Figure 112011068097095-pat00062
를 복호화하고,
Figure 112011068097095-pat00063
를 결과 집합인
Figure 112011068097095-pat00064
에 덧붙인다. 만약,
Figure 112011068097095-pat00065
라면 모든 참여자들은
Figure 112011068097095-pat00066
를 복호화하지 않는다. 결과적으로, 모든 참여자들은
Figure 112011068097095-pat00067
를 얻게 된다.
도 4은 본 발명의 일실시예에 따른 집합 연산 제공 시스템을 통하여 집합 연산을 제공하는 방법을 설명하기 위한 순서도이고, 도 5는 본 발명의 일실시예에 따른 집합 연산 제공 방법에 있어서, 암호화된 합집합 연산 수행 방법을 설명하기 위한 순서도이다.
본 발명의 일실시예에 따른 집합 연산 제공 방법은 복수의 참여자로부터 집합 연산에 필요한 집합, 집합의 다항식 표현 및 랜덤 데이터 등의 암호화된 데이터를 수집하여, 집합 연산을 수행할 수 있다. 또한, 본 발명의 다른 실시예에 따른 집합 연산 제공 방법은 복수의 참여자의 단말로부터 집합 연산에 필요한 집합, 집합의 다항식 표현 및 랜덤 데이터 등의 암호화된 데이터를 수신하여, 집합 연산을 수행할 수도 있다. 즉, 집합 연산 제공 시스템은 네트워크(10)로 연결된 복수의 참여자 단말, 예를 들어 병원 전산 서버 등에서 환자의 진단 데이터 등을 수신하여, 특정 질병에 대한 데이터를 수집 가공하는 데에 활용될 수 있으며, 또는 집합 연산 시스템과 연결된 입력 수단을 통해 상술한 집합 연산에 필요한 데이터를 입력하고, 입력된 피 연산 데이터에 대한 집합 연산을 수행하는 데에 활용될 수도 있다.
먼저, 집합 연산 시스템은 복수의 참여자의 협력을 통해, 복수의 참여자가 소유한 각각의 집합에 대한 합집합 연산을 수행하여 암호화된 합집합을 생성한다(S2100).
본 발명의 일실시예에 따른 암호화된 합집합 연산은 복수의 참여자가 자신 및 타 참여자의 프라이버시를 보호하면서, 특정 집합 연산을 수행하기 위하여, 집합 연산에 참여하는 복수의 참여자의 집합 데이터를 통합하는 역할을 수행한다.
먼저, 제 1 참여자를 제외한 복수의 참여자가 각각 소유한 집합을 다항식의 형태로 표현하고, 랜덤 데이터를 선택한다(S2110).
다음으로, 제 1 참여자를 제외한 복수의 참여자가 상기 다항식, 상기 랜덤 데이터 및 상기 복수의 참여자가 각각 소유한 집합에 대하여 암호화된 데이터를 상기 제 1 참여자에게 전달한다(S2120).
다음으로, 상기 제 1 참여자가 자신의 소유한 집합 및 상기 제 1 참여자를 제외한 복수의 참여자로부터 수신한 암호화된 데이터에 기초하여, 암호화된 합집합을 생성한다(S2130).
다음으로, 집합 연산 시스템은 복수의 참여자가 소유한 각각의 집합에 속하는 원소가 암호화된 합집합에 속하는지 여부를 판단한다(S2200).
다음으로, 집합 연산 시스템은 집합 연산의 연산식 및 각각의 집합에 속한 원소가 암호화된 합집합에 속하는 지 여부에 기초하여, 집합 연산을 수행한다(S2300).
본 발명의 일 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.

Claims (10)

  1. 집합 연산 시스템이 분산된 집합의 프라이버시를 보호하는 임의의 집합 연산을 제공하는 방법에 있어서,
    (a) 복수의 참여자로부터 상기 임의의 집합 연산에 필요한 암호화된 데이터를 수집하여, 상기 복수의 참여자가 소유한 각각의 집합에 대한 합집합 연산을 수행하여 암호화된 합집합을 생성하는 단계;
    (b) 상기 복수의 참여자가 소유한 각각의 집합에 속하는 원소가 상기 암호화된 합집합에 속하는지 여부를 판단하는 단계; 및
    (c) 상기 각각의 집합에 속한 원소가 상기 암호화된 합집합에 속하는지 여부에 기초하여, 상기 임의의 집합 연산을 수행하는 단계;를 포함하는
    집합 연산 제공 방법.
  2. 제 1 항에 있어서,
    상기 복수의 집합에 포함되는 각각의 집합은 다항식의 형태로 표현되는 것인
    집합 연산 제공 방법.
  3. 제 2 항에 있어서,
    상기 (a) 단계는,
    (a-1) 제 1 참여자를 제외한 복수의 참여자가 각각 소유한 집합을 다항식의 형태로 표현하고, 랜덤 데이터를 선택하는 단계;
    (a-2) 상기 제 1 참여자를 제외한 복수의 참여자가 상기 다항식, 상기 랜덤 데이터 및 상기 복수의 참여자가 각각 소유한 집합에 대하여 암호화된 데이터를 상기 제 1 참여자에게 전달하는 단계; 및
    (a-3) 상기 제 1 참여자가 자신의 소유한 집합 및 상기 제 1 참여자를 제외한 복수의 참여자로부터 수신한 암호화된 데이터에 기초하여, 암호화된 합집합을 생성하는 단계를 포함하는
    집합 연산 제공 방법.
  4. 제 1 항에 있어서,
    (d) 상기 집합 연산의 수행을 통해 획득한 상기 연산식의 결과 데이터를 상기 복수의 참여자에게 제공하는 단계를
    더 포함하는 집합 연산 제공 방법.
  5. 제 4 항에 있어서,
    (e) 상기 복수의 참여자의 협력을 통해, 상기 연산식의 결과 데이터를 복호화하는 단계를 더 포함하는
    집합 연산 제공 방법.
  6. 제 1 항에 있어서,
    상기 (a) 단계는,
    복수의 참여자의 단말로부터 참여자의 집합 데이터를 수신하는 단계를 포함하는
    집합 연산 제공 방법.
  7. 제 1 항에 있어서,
    상기 집합 연산은 상기 복수의 참여자가 소유한 각각의 집합에 대한 DNF(Disjunctive normal form) 연산인 것인
    집합 연산 제공 방법.
  8. 분산된 집합의 프라이버시를 보호하는 임의의 집합 연산을 제공하는 집합 연산 제공 시스템에 있어서,
    복수의 참여자로부터 상기 임의의 집합 연산에 필요한 암호화된 데이터를 수집하여, 상기 복수의 참여자가 소유한 각각의 집합에 대한 합집합 연산을 수행하여 암호화된 합집합을 생성하는 암호화 합집합 연산부;
    상기 복수의 참여자가 소유한 각각의 집합에 속하는 원소가 상기 암호화된 합집합에 속하는지 여부를 판단하는 멤버 테스트부; 및
    상기 각각의 집합에 속한 원소가 상기 암호화된 합집합에 속하는지 여부에 기초하여, 상기 임의의 집합 연산을 수행하는 집합 연산부;를 포함하는
    집합 연산 제공 시스템.
  9. 제 8 항에 있어서,
    상기 집합 연산의 수행을 통해 획득한 상기 연산식의 결과 데이터를 상기 복수의 참여자에게 제공하는 데이터 제공부를 더 포함하는
    집합 연산 제공 시스템.
  10. 제 8 항에 있어서,
    복수의 참여자의 단말로부터 참여자의 집합 데이터를 수신하는 데이터 수신부를 더 포함하는
    집합 연산 제공 시스템.
KR1020110087982A 2011-08-31 2011-08-31 분산된 집합에서 프라이버시를 보호하는 집합 연산 제공 방법 및 시스템 KR101297414B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110087982A KR101297414B1 (ko) 2011-08-31 2011-08-31 분산된 집합에서 프라이버시를 보호하는 집합 연산 제공 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110087982A KR101297414B1 (ko) 2011-08-31 2011-08-31 분산된 집합에서 프라이버시를 보호하는 집합 연산 제공 방법 및 시스템

Publications (2)

Publication Number Publication Date
KR20130024498A KR20130024498A (ko) 2013-03-08
KR101297414B1 true KR101297414B1 (ko) 2013-08-19

Family

ID=48176562

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110087982A KR101297414B1 (ko) 2011-08-31 2011-08-31 분산된 집합에서 프라이버시를 보호하는 집합 연산 제공 방법 및 시스템

Country Status (1)

Country Link
KR (1) KR101297414B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102152774B1 (ko) 2013-03-07 2020-09-07 삼성전자 주식회사 반도체 소자 시뮬레이션 시스템 및 이를 이용한 시뮬레이션 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120020014A (ko) * 2010-08-27 2012-03-07 고려대학교 산학협력단 프라이버시를 보호할 수 있는 집합 연산 시스템 및 그 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120020014A (ko) * 2010-08-27 2012-03-07 고려대학교 산학협력단 프라이버시를 보호할 수 있는 집합 연산 시스템 및 그 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
논문2(2008.03) *

Also Published As

Publication number Publication date
KR20130024498A (ko) 2013-03-08

Similar Documents

Publication Publication Date Title
US10581812B2 (en) Device, system and method for fast and secure proxy re-encryption
JP2019537871A5 (ko)
TWI544774B (zh) 利用接收方識別符提供與服務進行的通訊之方法及裝置
EP3387809B1 (en) Schemes of homomorphic re-encryption
EP2510713B1 (en) Preservation of user data privacy in a network
US9548861B2 (en) Encrypted statistical processing system, device, method, and program
US8891764B2 (en) Quarantine method for sellable virtual goods
CN113259106B (zh) 一种数据处理方法和系统
CN106797230B (zh) 在非毗连信道上的扩展频谱无线
TW201330577A (zh) 基於雲儲存的資料安全保護系統及方法
EP3248354A1 (en) Method and apparatus for heterogeneous data storage management in cloud computing
CN110475247A (zh) 消息处理方法及装置
CN107786972B (zh) 无线局域网中建立关联的方法、终端和接入点
CN108292347A (zh) 一种用户属性匹配方法及终端
KR101297414B1 (ko) 분산된 집합에서 프라이버시를 보호하는 집합 연산 제공 방법 및 시스템
DeMers et al. Secure scalable disaster electronic medical record and tracking system
Tedeschi et al. SpreadMeNot: A provably secure and privacy-preserving contact tracing protocol
CN110598427B (zh) 数据的处理方法、系统和存储介质
JP2020068486A (ja) データ通信システム
CN113645022B (zh) 一种确定隐私集合交集方法、装置、电子设备及存储介质
CN111984932B (zh) 两方数据分组统计方法、装置及系统
CN106031079A (zh) 加密算法中的运算符提升
KR20150078654A (ko) 영상을 암호화하는 장치 및 방법, 암호화된 영상을 공유하는 서버
WO2021225497A1 (en) Beacon-based privacy-preserving communication system for tracing of mobile device users
WO2019142824A1 (ja) 通信装置、サーバ装置、秘匿通信システム、その方法、及びプログラム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160615

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170707

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180723

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190805

Year of fee payment: 7