KR101701295B1 - 맵리듀스 환경에서의 프라이버시 보호 동등 조인 방법 - Google Patents

맵리듀스 환경에서의 프라이버시 보호 동등 조인 방법 Download PDF

Info

Publication number
KR101701295B1
KR101701295B1 KR1020150122281A KR20150122281A KR101701295B1 KR 101701295 B1 KR101701295 B1 KR 101701295B1 KR 1020150122281 A KR1020150122281 A KR 1020150122281A KR 20150122281 A KR20150122281 A KR 20150122281A KR 101701295 B1 KR101701295 B1 KR 101701295B1
Authority
KR
South Korea
Prior art keywords
data
random number
cipher text
generating
bloom filter
Prior art date
Application number
KR1020150122281A
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 고려대학교 산학협력단
Priority to KR1020150122281A priority Critical patent/KR101701295B1/ko
Application granted granted Critical
Publication of KR101701295B1 publication Critical patent/KR101701295B1/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
    • G06F17/30592
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명의 실시예에 따른 맵리듀스 환경에서의 프라이버시 보호 동등 조인 방법은 동등 조인 장치에 의해서 구현되며, 데이터 소유자의 데이터를 암호화해서 클라우드 서버에 저장하고, 암호화된 상기 데이터를 맵리듀스를 이용하여 동등 조인하는 맵리듀스 환경에서의 프라이버시 보호 동등 조인 방법으로서, 암호화 키를 생성하는 단계, 상기 암호화 키를 이용하여 블룸 필터값을 생성하는 단계, 상기 데이터의 영역을 분할하는 단계, 적어도 하나 이상의 데이터로 이루어진 제1 및 제2테이블의 난수를 선택하는 단계, 상기 제1테이블의 난수를 이용하여 상기 제1테이블을 구성하는 상기 데이터를 암호화하여 암호문을 생성하고, 제2테이블의 난수를 이용하여 하기 [수학식 1]에 의한 트랩도어(TAB)를 생성하는 단계, 및 상기 암호문을 이용하여 상기 테이블의 행 또는 열 숫자를 포함하는 상기 데이터 영역의 숫자를 키로 지정하고, 상기 키, 상기 암호문, 상기 트랩도어 및 테이블의 종류를 표시하는 데이터 세트를 생성하며, 상기 데이터 세트를 이용하여 동등 조인 결과를 출력하는 맵리듀스 단계를 포함한다.
[수학식 1]
Figure 112016110487990-pat00094

n은 암호키 생성-비밀파라미터 s∈Z+ 를 이용해서 두 개의 랜덤 s비트 소수 p, q의 곱(n=pq),
Figure 112016110487990-pat00095
는 제1테이블의 난수,
Figure 112016110487990-pat00096
는 제2테이블의 난수,
Figure 112016110487990-pat00097
,
Figure 112016110487990-pat00098
∈(0, 1, ...n-1),
Figure 112016110487990-pat00099
는 블룸필터의 난수, l은 블룸필터 생성시의 난수개수

Description

맵리듀스 환경에서의 프라이버시 보호 동등 조인 방법{METHOD OF PRIVACY-PRESERVING EQUI JOIN USING MAPREDUCE}
본 발명은 맵리듀스 환경에서의 프라이버시 보호 동등 조인 방법에 관한 발명으로서, 보다 상세하게는 클라우드 환경에서 테이블의 데이터를 이용하여 동일 조인을 할 때 데이터의 프라이버시를 보호하는 발명이다.
현재까지 제안된 대부분의 클라우드 환경에서의 동등 조인 기술의 경우 다음의 문제점이 있다. 모든 기술이 원본 데이터의 프라이버시를 보호하지 않고 그대로 동등 조인에 사용한다. 클라우드 환경에서는 데이터 소유자와 클라우드 서버가 따로 있는 경우가 많은데 원본 데이터를 그대로 사용하게 되면 모든 데이터가 클라우드 서버에 노출되기 때문에 심각한 프라이버시 문제를 야기한다. 또한 현재까지 제안된 프라이버시 보호 조인 기법의 경우에는 맵리듀스 환경에서는 사용할 수 없다는 문제점이 있다. 그래서 클라우드 환경에서의 프라이버시 보존 동등 조인 기술이 필요하다.
S. Ma, B. Yang, K. Li, and F. Xia, "A Privacy-Preserving Join on Outsourced Database", Information Security, 2011.에서는 데이터베이스를 아웃소싱 했을 때의 프라이버시 보존 동일 조인 기법을 제안하였다. Boneh-Goh-Nissim 암호화 기법과 블룸필터를 이용하여 데이터의 프라이버시를 보호하고 높은 정확도를 가지는 결과를 나타내지만 맵리듀스에 그대로 적용하기에는 어려운 기술이다.
A. Okcan and M. Riedewald, “Theta-Joins using MapReduce”SIGMOD, 2011.에서는 맵리듀스를 이용한 효율적인 동등 조인 기법을 제안하였다. 이 기법을 이용하면 기존의 동등 조인 기법보다 계산 복잡도가 낮지만 데이터의 프라이버시가 보호되지 않기 때문에 현실적으로 사용하기에는 부적합한 기법이다.
한국등록특허 제10-1515304호(하둡 기반의 리듀스-사이드 조인 처리 시스템의 리듀스-사이드 조인 질의 처리 방법)
본 발명의 목적은 클라우드 환경에서의 동등 조인시에 프라이버시가 노출되지 않는 동등 조인 방법을 제공하는데 있다.
본 발명의 실시예에 따른 맵리듀스 환경에서의 프라이버시 보호 동등 조인 방법은 동등 조인 장치에 의해서 구현되며, 데이터 소유자의 데이터를 암호화해서 클라우드 서버에 저장하고, 암호화된 상기 데이터를 맵리듀스를 이용하여 동등 조인하는 맵리듀스 환경에서의 프라이버시 보호 동등 조인 방법으로서, 암호화 키를 생성하는 단계, 상기 암호화 키를 이용하여 블룸 필터값을 생성하는 단계, 상기 데이터의 영역을 분할하는 단계, 적어도 하나 이상의 데이터로 이루어진 제1 및 제2테이블의 난수를 선택하는 단계, 상기 제1테이블의 난수를 이용하여 상기 제1테이블을 구성하는 상기 데이터를 암호화하여 암호문을 생성하고, 제2테이블의 난수를 이용하여 하기 [수학식 1]에 의한 트랩도어(TAB)를 생성하는 단계, 및 상기 암호문을 이용하여 상기 테이블의 행 또는 열 숫자를 포함하는 상기 데이터 영역의 숫자를 키로 지정하고, 상기 키, 상기 암호문, 상기 트랩도어 및 테이블의 종류를 표시하는 데이터 세트를 생성하며, 상기 데이터 세트를 이용하여 동등 조인 결과를 출력하는 맵리듀스 단계를 포함한다.
[수학식 1]
Figure 112015084049375-pat00001
n은 암호키 생성-비밀파라미터 s∈Z+ 를 이용해서 두 개의 랜덤 s비트 소수 p, q의 곱(n=pq),
Figure 112015084049375-pat00002
는 제1테이블의 난수,
Figure 112015084049375-pat00003
는 제2테이블의 난수,
Figure 112015084049375-pat00004
,
Figure 112015084049375-pat00005
∈(0, 1, ...n-1),
Figure 112015084049375-pat00006
는 블룸필터의 난수, l은 블룸필터 생성시의 난수개수
본 발명의 실시예에 따른 동등 조인 방법에 의하면 클라우드 환경에서의 프라이버시의 보호가 가능하다.
또한, 원본 데이터를 공개키로 암호화하여 전송하기 때문에 안정성이 높아진다.
또한, 공개키 암호화 시스템이기에 각각 다른 테이블에 있는 동일한 데이터를 암호화 하더라도 다른 암호문이 생성되기 때문에 클라우드 서버에서 암호문으로 공격을 하기 어렵다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.
도 1은 본 발명의 실시예에 따른 동등 조인 방법의 순서도이다.
도 2는 본 발명의 실시예에 따른 예시 테이블 도면이다.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 또는 기능적 설명은 단지 본 발명의 개념에 따른 실시 예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시 예들은 다양한 형태들로 실시될 수 있으며 본 명세서에 설명된 실시 예들에 한정되지 않는다.
본 발명의 개념에 따른 실시 예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시 예들을 도면에 예시하고 본 명세서에서 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예들을 특정한 개시 형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 벗어나지 않은 채, 제1 구성 요소는 제2 구성 요소로 명명될 수 있고 유사하게 제2 구성 요소는 제1 구성 요소로도 명명될 수 있다.
어떤 구성 요소가 다른 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성 요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성 요소가 다른 구성 요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는 중간에 다른 구성 요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성 요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로서, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 본 명세서에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하 첨부된 도면을 참고하여 본 발명의 실시예에 따른 맵리듀스를 이용한 프라이버시 보호 동등 조인 방법에 대해서 상세히 설명한다.
조인은 데이터베이스 내의 여러 테이블의 데이터를 조합한 결과를 나타내는 것으로 그 중 동일 조인은 여러 테이블에서 같은 값을 가지는 컬럼이 있을 경우 각 테이블에서 그 값을 포함하는 데이터를 조합하여 결과로 나타내는 것이다. 예를 들어 A 테이블에 나이와 이름 데이터를 포함하고 있고 B 테이블에서 이름과 주소 데이터를 포함하고 있다면 동일 조인 연산을 하면 같은 이름을 가지는 데이터들을 나이, 이름, 주소 형태의 새로운 테이블 모양의 데이터로 만들어 결과로 나타내는 것이다.
맵리듀스는 구글에서 대용량 데이터 처리를 위해서 개발한 분산 병렬 컴퓨팅 기술로 맵 함수과 리듀스 함수로 구성되어 있다. 맵 함수는 대규모 데이터를 여러 대의 컴퓨터에 분산해 병렬적으로 처리해 중간 결과를 만들어 내고 리듀스 함수는 맵 함수에서 생성한 중간 결과를 결합하여 최종적인 결과를 나타낸다. 이 때 맵 과 리듀스는 여러 대의 컴퓨터를 동시해 활용하여 결과를 나타낸다.
도 1은 본 발명의 실시예에 따른 동등 조인 방법의 순서도이다.
도 1에 도시된 바와 같이 본 발명의 실시예에 따른 맵리듀스 환경에서의 프라이버시 보호 동등 조인 방법은 동등 조인 장치에 의해서 구현되며, 데이터 소유자의 데이터를 암호화해서 클라우드 서버에 저장하고, 암호화된 상기 데이터를 맵리듀스를 이용하여 동등 조인하는 맵리듀스 환경에서의 프라이버시 보호 동등 조인 방법으로서, 암호화 키를 생성하는 단계(S100), 상기 암호화 키를 이용하여 블룸 필터값을 생성하는 단계(S200), 상기 데이터의 영역을 분할하는 단계(S300), 적어도 하나 이상의 데이터로 이루어진 제1 및 제2테이블의 난수를 선택하는 단계(S400), 상기 제1테이블의 난수를 이용하여 상기 제1테이블을 구성하는 상기 데이터를 암호화하여 암호문을 생성하고, 제2테이블의 난수를 이용하여 하기 [수학식 1]에 의한 트랩도어(TAB)를 생성하는 단계(S500), 및 상기 암호문을 이용하여 상기 테이블의 행 또는 열 숫자를 포함하는 상기 데이터 영역의 숫자를 키로 지정하고, 상기 키, 상기 암호문, 상기 트랩도어 및 테이블의 종류를 표시하는 데이터 세트를 생성하며, 상기 데이터 세트를 이용하여 동등 조인 결과를 출력하는 맵리듀스 단계(S600)를 포함한다.
여기서 수학식 1은 아래와 같다.
[수학식 1]
Figure 112015084049375-pat00007
(n은 암호키 생성-비밀파라미터 s∈Z+ 를 이용해서 두 개의 랜덤 s비트 소수 p, q의 곱(n=pq),
Figure 112015084049375-pat00008
는 제1테이블의 난수,
Figure 112015084049375-pat00009
는 제2테이블의 난수,
Figure 112015084049375-pat00010
,
Figure 112015084049375-pat00011
∈(0, 1, ...n-1),
Figure 112015084049375-pat00012
는 블룸필터의 난수, l은 블룸필터 생성시의 난수개수)
먼저 암호화 키를 생성하는 단계(S100)는 비밀 파라미터
Figure 112015084049375-pat00013
를 이용해서 두 개의 램덤
Figure 112015084049375-pat00014
비트소수
Figure 112015084049375-pat00015
를 선택한다. 그리고
Figure 112015084049375-pat00016
을 오더로 하는 두 개의 곱셈 그룹
Figure 112015084049375-pat00017
을 생성한다. 두 개의 그룹사이에는 페어링 연산
Figure 112015084049375-pat00018
이 존재한다. 이때 모든
Figure 112015084049375-pat00019
이면
Figure 112015084049375-pat00020
을 만족한다. 그리고 그룹
Figure 112015084049375-pat00021
의 생성자를 g라고 하고 그룹
Figure 112015084049375-pat00022
의 생성자를 e(g,g)라고 한다.
Figure 112015084049375-pat00023
의 생성자를 임의로 두 개 g, u를 선택하고 p를 오더로 가지는
Figure 112015084049375-pat00024
의 부분그룹 생성자 h=ua를 계산한다. 그래서 공개키는 (n, G, G1,e,g,h)이고 비밀키는 p이다.
상기 암호화 키를 이용하여 블룸 필터값을 생성하는 단계(S200)는 l개의 난수
Figure 112015084049375-pat00025
를 생성하고
Figure 112015084049375-pat00026
를 계산하여 블룸 필터에 넣는다.
상기 데이터의 영역을 분할하는 단계(S300)는 예를 들어 테이블이 두 개 존재하고 각 테이블의 데이터 개수가 m, n개 일 경우 전체 데이터를 비교하기 위해서는 mn번 연산을 해야 한다. 그래서 이 데이터들을 효율적으로 리듀스로 보내주기 위해서 앞서 언급한 A. Okcan and M. Riedewald, “Theta-Joins using MapReduce”SIGMOD, 2011.에서 제안한 The 1-Bucket-theta 기법을 사용하여 전체 리듀스의 개수가 R개일 때 1개의 리듀스에
Figure 112015084049375-pat00027
개 들어갈 수 있도록 데이터 영역을 분할한다.
적어도 하나 이상의 데이터로 이루어진 제1 및 제2테이블의 난수를 선택하는 단계(S400)는 만약 테이블이 제1테이블, 제2테이블 두 개가 존재한다면, 각 테이블을
Figure 112015084049375-pat00028
테이블이라고 하고 난수
Figure 112015084049375-pat00029
를 선택한다.
선택된 난수는 데이터 암호문을 생성하기 위해서 사용되며, 트랩도어를 생성하기 위해서 사용된다.
상기 제1테이블의 난수를 이용하여 상기 제1테이블을 구성하는 상기 데이터를 암호화하여 암호문을 생성하고, 제2테이블의 난수를 이용하여 트랩도어(TAB)를 생성하는 단계(S500)는 제1테이블이 테이블 A라하고 제2테이블이 테이블 B라 가정한다면 테이블
Figure 112016110487990-pat00030
의 데이터
Figure 112016110487990-pat00031
를 암호화 하려면 테이블 난수
Figure 112016110487990-pat00032
를 이용하여 암호문
Figure 112016110487990-pat00033
를 만든다. 그리고 다른 테이블의 난수
Figure 112016110487990-pat00034
를 이용하여 트랩도어를 아래 수학식 2에 의해 만든다.
[수학식 2]
Figure 112015084049375-pat00035
그리고 클라우드 서버에 저장할 때 암호문
Figure 112015084049375-pat00036
와 트랩도어
Figure 112015084049375-pat00037
를 같이 저장한다. 테이블
Figure 112015084049375-pat00038
Figure 112015084049375-pat00039
와 같은 방법으로 진행한다.
상기 암호문을 이용하여 상기 테이블의 행 또는 열 숫자를 포함하는 상기 데이터 영역의 숫자를 키로 지정하고, 상기 키, 상기 암호문, 상기 트랩도어 및 테이블의 종류를 표시하는 데이터 세트를 생성하며, 상기 데이터 세트를 이용하여 동등 조인 결과를 출력하는 맵리듀스 단계(S600)는 맵단계(S610)와 리듀스 단계(S620)로 구별될 수 있다.
먼저 맵단계(S610)는 암호문 데이터와 트랩도어가 클라우드 서버 등과 같은 외부장치로부터 들어왔을 때, A테이블의 데이터일 경우 행 숫자
Figure 112015084049375-pat00040
를 생성하여 행 숫자 ma를 포함하는 영역의 숫자를 키로 지정하여 리듀스로 보내준다. 이 때 보내준 데이터가 A의 데이터인 것을 명시해준다. 마찬가지로 B테이블의 데이터일 경우 열 숫자
Figure 112015084049375-pat00041
를 생성하여 열 숫자 mb를 포함하는 영역의 숫자를 키(key)로 지정하여 리듀스 단계를 수행하도록 한다. 마찬가지로 B테이블인 것을 명시한다. 맵단계에서 생성된 데이터 세트는 <키, (값)>같은 형태일 수 있다. 그리고 값은 (암호문, 트랩도어, 테이블 표기)같은 형태일 수 있다.
다음으로 리듀스 단계(S620)는 우선 받은 데이터들을
Figure 112015084049375-pat00042
테이블 데이터와
Figure 112015084049375-pat00043
테이블 데이터로 분류하고
Figure 112015084049375-pat00044
테이블 데이터를
Figure 112015084049375-pat00045
테이블 데이터들과 비교한다. 비교하는 방법은 암호화 할 때 같이 저장한 트랩도어를 이용한다. 만약
Figure 112015084049375-pat00046
일 때 [수학식 3]을 계산하여
Figure 112015084049375-pat00047
이 블룸필터에 있을 경우
Figure 112015084049375-pat00048
를 결과 값으로 출력한다.
[수학식 3]
Figure 112015084049375-pat00049
왜냐하면
만약 [수학식 3]을 연산하면, [수학식 4]와 같다.
[수학식 4]
Figure 112015084049375-pat00050
이 되는데
Figure 112015084049375-pat00051
는 블룸 필터에 값이 존재하고
Figure 112015084049375-pat00052
에서의
Figure 112015084049375-pat00053
는 블룸 필터에 높은 확률로 존재하지 않기 때문이다.
본 발명의 실시예에 따른 맵리듀스 환경에서의 프라이버시 보호 동등 조인 방법을 구체적으로 설명하기 위해 도 2와 같이 테이블 A, B(A 테이블의 수는 8개, B테이블의 수는 6개), 리듀스의 수는 4개인 경우를 예로 들어 설명한다.
도 2는 본 발명의 실시예에 따른 예시 테이블 도면이다.
먼저 공개키는
Figure 112015084049375-pat00054
이고 비밀키는 p를 생성한다(S100). 또한 5개의 난수
Figure 112015084049375-pat00055
를 생성하고
Figure 112015084049375-pat00056
를 블룸필터에 넣는다(S200). The 1-Bucket-theta 알고리즘을 이용하여 1개의 리듀스에 12개의 데이터가 들어갈 수 있도록 도 2와 같이 데이터 영역을 분할 해준다(S300).
각 테이블의 난수
Figure 112015084049375-pat00057
를 생성(S400)하여 각 데이터를 암호화한다. 테이블 A의 데이터 ai
Figure 112015084049375-pat00058
와 같은 암호문을 만들고 테이블 B의 데이터 bi
Figure 112015084049375-pat00059
와 같은 암호문을 만든다. 또한 각 암호문을 저장할 때 트랩도어
Figure 112015084049375-pat00060
를 같이 생성(S500)하여 저장한다. 이 때 rk는 블룸 필터 생성 단계에서 생성한 5개의 난수 중 하나이며 각 데이터를 암호화 할 때마다 임의로 선택한다.
맵단계(S610)에서
Figure 112015084049375-pat00061
데이터가 들어왔다면 A테이블의 데이터이기 때문에
Figure 112015084049375-pat00062
를 생성하여 만약 4를 뽑았다면
Figure 112015084049375-pat00063
Figure 112015084049375-pat00064
를 <키, (값)>형태로 리듀스 단계를 진행한다. 반대로
Figure 112015084049375-pat00065
데이터가 들어왔다면 B테이블의 데이터이기 때문에
Figure 112015084049375-pat00066
를 생성하여 만약 4를 뽑았다면
Figure 112015084049375-pat00067
Figure 112015084049375-pat00068
를 <키, (값)>형태로 리듀스 단계를 진행한다.
리듀스 단계(S620)에서는 2번 리듀스(키)일 경우, 입력받은 데이터는
Figure 112015084049375-pat00069
이거나
Figure 112015084049375-pat00070
형태의 데이터이다. 만약 받은 데이터가
Figure 112015084049375-pat00071
Figure 112015084049375-pat00072
이고 a3=a4이라고 하자.
하지만 리듀스 단계(S620)는 각 데이터가 암호화 되어 있기 때문에 모든 데이터를 비교해야 한다. 그래서
Figure 112015084049375-pat00073
Figure 112015084049375-pat00074
,
Figure 112015084049375-pat00075
와 비교하고
Figure 112015084049375-pat00076
Figure 112015084049375-pat00077
와 비교한다.
Figure 112015084049375-pat00078
를 계산하면 아래 수학식 4와 같다.
[수학식 4]
Figure 112015084049375-pat00079
따라서,
Figure 112015084049375-pat00080
는 블룸필터에 포함이 안되고
Figure 112015084049375-pat00081
만 포함이 되기 때문에 이 리듀스는
Figure 112015084049375-pat00082
를 결과 값으로 출력한다.
출력된 암호문
Figure 112015084049375-pat00083
을 사용자는 기 생성된 비밀키 p로 복호화할 수 있다.

Claims (5)

  1. 동등 조인 장치에 의해서 구현되며, 데이터 소유자의 데이터를 암호화해서 클라우드 서버에 저장하고, 암호화된 상기 데이터를 맵리듀스를 이용하여 동등 조인하는 맵리듀스 환경에서의 프라이버시 보호 동등 조인 방법으로서,
    (a) 암호화 키를 생성하는 단계;
    (b) 상기 암호화 키를 이용하여 블룸 필터값을 생성하는 단계;
    (c) 상기 데이터의 영역을 분할하는 단계;
    (d) 적어도 하나 이상의 데이터로 이루어진 제1 및 제2테이블의 난수를 선택하는 단계;
    (e) 상기 제1테이블의 난수를 이용하여 상기 제1테이블을 구성하는 상기 데이터를 암호화하여 암호문을 생성하고, 제2테이블의 난수를 이용하여 하기 [수학식 1]에 의한 트랩도어(TAB)를 생성하는 단계; 및
    (f) 상기 제1 테이블 및 상기 제2테이블 각각에 대하여, 상기 암호문을 이용하여 테이블의 행 또는 열 숫자를 포함하는 상기 데이터 영역의 숫자를 키로 지정하고, 상기 키, 상기 암호문, 상기 트랩도어 및 테이블의 종류를 표시하는 데이터 세트를 생성하며, 상기 데이터 세트를 이용하여 동등 조인 결과를 출력하는 맵리듀스 단계를 포함하고
    상기 (b)단계는 l개의 난수 ri(i∈1,…,l)를 생성하고,
    Figure 112016110487990-pat00102
    를 계산하여 블룸 필터값을 생성하는 것을 특징으로 하는 프라이버시 보호 동등 조인 방법.
    [수학식 1]
    Figure 112016110487990-pat00103

    n은 암호키 생성-비밀파라미터 s∈Z+ 를 이용해서 두 개의 랜덤 s비트 소수 p, q의 곱(n=pq),
    Figure 112016110487990-pat00104
    는 제1테이블의 난수,
    Figure 112016110487990-pat00105
    는 제2테이블의 난수,
    Figure 112016110487990-pat00106
    ,
    Figure 112016110487990-pat00107
    ∈(0, 1, ...n-1),
    Figure 112016110487990-pat00108
    는 블룸필터의 난수, l은 블룸필터 생성시의 난수개수
  2. 삭제
  3. 제1항에 있어서,
    상기 (e)단계 이후 상기 암호문과 상기 트랩도어를 상기 클라우드 서버에 함께 저장하는 단계를 더 포함하는 것을 특징으로 하는 프라이버시 보호 동등 조인 방법.
  4. 제1항에 있어서,
    상기 (f)단계는 하기 [수학식 2]의 연산을 통해 연산값이 상기 블룸 필터값의 범위내에 있을 경우 상기 동등 조인 결과를 출력하는 것을 특징으로 하는 프라이버시 보호 동등 조인 방법.
    [수학식 2]
    Figure 112016110487990-pat00091

    Figure 112016110487990-pat00092
    는 제1테이블에 속한 데이터의 암호문,
    Figure 112016110487990-pat00093
    는 제2테이블에 속한 데이터의 암호문
  5. 제1항, 제3항 및 제4항 중 어느 한 항의 방법을 구현하는 프로그램 및 정보를 기록한 컴퓨터로 판독가능한 기록매체.
KR1020150122281A 2015-08-31 2015-08-31 맵리듀스 환경에서의 프라이버시 보호 동등 조인 방법 KR101701295B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150122281A KR101701295B1 (ko) 2015-08-31 2015-08-31 맵리듀스 환경에서의 프라이버시 보호 동등 조인 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150122281A KR101701295B1 (ko) 2015-08-31 2015-08-31 맵리듀스 환경에서의 프라이버시 보호 동등 조인 방법

Publications (1)

Publication Number Publication Date
KR101701295B1 true KR101701295B1 (ko) 2017-02-01

Family

ID=58109276

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150122281A KR101701295B1 (ko) 2015-08-31 2015-08-31 맵리듀스 환경에서의 프라이버시 보호 동등 조인 방법

Country Status (1)

Country Link
KR (1) KR101701295B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190063204A (ko) * 2017-11-29 2019-06-07 고려대학교 산학협력단 클라우드 컴퓨팅 환경에서 암호화된 데이터에 대한 유사도 검색 방법 및 시스템

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101515304B1 (ko) 2013-11-08 2015-07-02 한국산업기술대학교산학협력단 하둡 기반의 리듀스-사이드 조인 처리 시스템의 리듀스-사이드 조인 질의 처리 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101515304B1 (ko) 2013-11-08 2015-07-02 한국산업기술대학교산학협력단 하둡 기반의 리듀스-사이드 조인 처리 시스템의 리듀스-사이드 조인 질의 처리 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190063204A (ko) * 2017-11-29 2019-06-07 고려대학교 산학협력단 클라우드 컴퓨팅 환경에서 암호화된 데이터에 대한 유사도 검색 방법 및 시스템
KR102050888B1 (ko) 2017-11-29 2019-12-02 고려대학교 산학협력단 클라우드 컴퓨팅 환경에서 암호화된 데이터에 대한 유사도 검색 방법 및 시스템

Similar Documents

Publication Publication Date Title
Liu et al. New order preserving encryption model for outsourced databases in cloud environments
JP6180177B2 (ja) プライバシーを保護することができる暗号化データの問い合わせ方法及びシステム
Giannotti et al. Privacy-preserving mining of association rules from outsourced transaction databases
KR101679156B1 (ko) 블룸 필터를 숨기는 콘텐츠에 의한 안전한 개인 데이터베이스 쿼링
Al Etaiwi Encryption algorithm using graph theory
Mandal et al. Symmetric key image encryption using chaotic Rossler system
KR101829267B1 (ko) 암호문의 크기가 감소되는 동형 암호화 방법
EP2228942A1 (en) Securing communications sent by a first user to a second user
WO2016159357A1 (ja) 秘密計算システム、サーバ装置、秘密計算方法、および、プログラム
EP2953052B1 (en) Systems and methods for dynamic data storage
Jayapandian et al. Secure and efficient online data storage and sharing over cloud environment using probabilistic with homomorphic encryption
CN107592298B (zh) 一种基于单服务器模型的序列比较算法安全外包方法、用户终端和服务器
US11856099B2 (en) Cryptographic pseudonym mapping method, computer system, computer program and computer-readable medium
CN109361644A (zh) 一种支持快速搜索和解密的模糊属性基加密方法
US11741242B2 (en) Cryptographic pseudonym mapping method, computer system computer program and computer-readable medium
JP2017516194A (ja) ストリーミングデータの匿名化
Liu et al. Image Encryption Technology Based on Fractional Two‐Dimensional Triangle Function Combination Discrete Chaotic Map Coupled with Menezes‐Vanstone Elliptic Curve Cryptosystem
Malik et al. A homomorphic approach for security and privacy preservation of Smart Airports
Liu et al. Query encrypted databases practically
CN108197491B (zh) 一种基于密文的子图检索方法
Taleb A new chaos based image encryption scheme using chaotic logistic maps
KR101701295B1 (ko) 맵리듀스 환경에서의 프라이버시 보호 동등 조인 방법
KLEF An efficient light weight cryptography algorithm scheme for WSN devices using chaotic map and GE
Dasgupta et al. Colour image encryption based on multiple fractional order chaotic systems
Lian et al. Efficient Privacy‐Preserving Protocol for k‐NN Search over Encrypted Data in Location‐Based Service

Legal Events

Date Code Title Description
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20200120

Year of fee payment: 4