DOI QR코드

DOI QR Code

프라이버시를 보호하는 접근제어가 가능한 키워드 검색 기법

Privacy Preserving Keyword Search with Access Control based on DTLS

  • 노건태 (고려대학교 정보경영공학전문대학원) ;
  • 천지영 (고려대학교 정보경영공학전문대학원) ;
  • 정익래 (고려대학교 정보경영공학전문대학원) ;
  • 이동훈 (고려대학교 정보경영공학전문대학원)
  • Noh, Geon-Tae (Graduate School of Information Management and Security, Korea University) ;
  • Chun, Ji-Young (Graduate School of Information Management and Security, Korea University) ;
  • Jeong, Ik-Rae (Graduate School of Information Management and Security, Korea University) ;
  • Lee, Dong-Hoon (Graduate School of Information Management and Security, Korea University)
  • 발행 : 2009.10.31

초록

민감한 개인정보를 보호하기 위해 데이터를 암호화하는 것은 필수적이다. 하지만 복호화 과정 없이 암호화된 데이터를 검색하기 위해서는 암호화된 데이터에서 검색이 가능한 효율적인 기법이 필요하다. 지금까지 수많은 검색 가능한 암호화 기법이 제안되었지만, 아직까지 이러한 기법들은 암호화된 데이터를 공유하기 위해 접근 권한을 갖고 있는 동적인 사용자(dynamic user)에 대해서 적합하지 않다. 기존의 검색 가능한 암호화 기법들에서는 특정 사용자(대칭키 환경에서의 데이터 제공자, 공개키 환경에서 데이터를 암호화한 공개키에 대응되는 비밀키를 갖고 있는 사용자)에 대해서만 암호화된 데이터에 접근이 가능하였다. 이러한 문제를 해결하기 위해 Stephen S. Yau 등은 데이터 공급자의 접근 정책에 따라서 사용자의 검색 능력을 제어할 수 있는 기법을 처음으로 제안하였다. 그러나 이 기법은 데이터 검색자의 프라이버시가 노출되는 문제점을 가진다. 따라서 본 논문에서는 이 기법의 문제점을 분석하고, 이러한 문제를 해결한 프라이버시를 보호하는 접근제어가 가능한 키워드 검색 기법을 제안한다.

To protect sensitive personal information, data will be stored in encrypted form. However in order to retrieve these encrypted data without decryption, there need efficient search methods to enable the retrieval of the encrypted data. Until now, a number of searchable encryption schemes have been proposed but these schemes are not suitable when dynamic users who have the permission to access the data share the encrypted data. Since, in previous searchable encryption schemes, only specific user who is the data owner in symmetric key settings or has the secret key corresponding to the public key for the encrypted data in asymmetric key settings can access to the encrypted data. To solve this problem, Stephen S. Yau et al. firstly proposed the controlled privacy preserving keyword search scheme which can control the search capabilities of users according to access policies of the data provider. However, this scheme has the problem that the privacy of the data retrievers can be breached. In this paper, we firstly analyze the weakness of Stephen S. Yau et al.'s scheme and propose privacy preserving keyword search with access control. Our proposed scheme preserves the privacy of data retrievers.

키워드

Ⅰ.서론

최근 인터넷 서비스 업체들의 데이터베이스(data­ base) 유출사건을 계기로 데이터베이스 암호화 기술에 대한 관심이 급증하고 있다. 데이터베이스 유출은 데이터베이스에 대한 암호화 없이 단순히 접근이 허가된 사람들만 데이터베이스 접근이 가능하도록 한 접근제어방식을 사용하는 환경에서 치명적이다. 이는 해킹이나 내부 人용자의 의도하지 않은 실수 등으로 인해 데이터베이스가 유출되었을 때, 데이터베이스의 정보가 그대로 노출되는 문제를 내포하고 있기 때문이다. 이러한 문제를 해결하기 위해 데이터베이스를 직접 암호화하는 방식을 사용할 수 있다. 하지만 데이터베이스 암호화 방식은 데이터베이스 유출에 대한 안전성을 보장하는 반면, 검색의 효율성을 급격히 저하시킨다.

따라서 최근 암호화된 데이터에서 검색이 가능한 효율적인 기법에 대한 연구가 활발히 진행되고 있다 〔1-9〕. Dawn Song 등에 의해 최초로 제안된 대칭키 기반의 검색 가능한 암호 기법〔2-5〕은 자신의 데이터를 암호화하여 서버에 저장한 후 필요한 데이터를 검색하는, 데이터 공급자와 검색자가 일치하는 환경으로 이는 대칭키 암호화를 사용한 대칭키 기반의 검색 가능한 암호 기법이다. 또한 Dan Boneh 등에 .의해 최초로 제안된 공개키 기반의 검색 가능한 암호 기법 〔6-9〕은 데이터 공급자와 검색자가 일치하지 않는 환경으로 데이터 공급자는 특정 검색자를 위해 공개키 기반의 암호화를 사용하여 데이터를 암호화한 뒤 서버에 저장하여 검색자가 필요한 데이터를 검색할 수 있게 한다.

하지만 이러한 기법들은 모두 특정 사용자만이 복호화가 가능하다. 대칭키 기반의 검색 가능한 암호 기법은 데이터 공급자만이 복호화가 가능하고, 공개키 기반의 검색 가능한 암호 기법은 암호화에 사용되는 공개키에 대응되는 비밀키를 가진 사용자만이 복호화가 가능하다. 따라서 데이터베이스를 공유하는 환경에서 데이터베이스 접근이 허가된 여러 사용자가 암호화된 데이터를 검색하도록 하려면 기존의 기법들을 사용하기 어렵다. 최근 암호화된 데이터에 접근할 수 있는 사용자들을 지정하여 접근 권한을 가진 사용자들만이 접근할 수 있도록, 암호화된 데이터베이스에서 접근제어방식을 사용하기 위한 기법〔10〕이 Stephen S. Yau 등에 의해 최초로 제안되었다. 이 기법은 암호화된 데이터베이스에 대해 접근 가능한 사용자들만이 접근 가능하도록 데이터 공급자가 접근 권한을 지정할 수 있다는 장점을 가지고 있다. 하지만 이 기법은 신뢰할 수 없는 서버에게 검색자의 인덱스가 노출되는 문제점을 가진다. 따라서 본 논문에서는 서버에 검색자의 프라이버시가 노출되는 문제를 해결한 새로운 기법을 제안한다.

Ⅱ. 배경지식

2.1 겹선형 군 (bilinear groups)[11]

우리의 기법은 겹선형 맵을 제공하는 합성 위수의 어떤 유한군을 사용한다. 여기서는 다음과 같은 일반적인 표기를 사용한다.

1) G와 G은 같은 유한 위수 TI을 가지는 두 개의 (곱셈의) 순환군이다.

2) g는 군 G의 생성자이다.

3) e는 겹선형 맵 e:GxG—%이다. 다시 말하면, 모든 와 a, BWZ 에 대해서 e(必1物) = e* (") 를 만족한다. 또한 eg)는 %의 생성자이다.

주어진 위수 e의 겹선형 군을 구성하기 위해, 주어진 제곱 인수가 없는(square-free) 수가 n>3이라고흐!.자. 여기서 우리는 위수 n의 겹선형 군을 다음과 같이 구성한다.

1) p = /n—1°] 소수이고 p = 2mod3을 만족하는 가장 작은 양의 정수 旧Z를 찾는다.

2) 乌에 정의된 타원 곡선 矿 =书+1 상의 점들의 군을 고려하자. p = 2mod3이기 때문에 곡선은 鸟에서 0+1 = 弛개의 점들을 가진다. 그러므로 곡선상의 점들의 군은 위수 n을 가지는 군 G의 부분 군을 가진다.

3) 위수 n를 가지는 球의 부분군을 %이라고 하자. 곡선상에서 수정된 웨일 페어링(weil pairing) 은 필요한 속성과 함께 겹선형 맵 e : Gx G—G\ 을 제공한다.

2.2 부분군 결정 문제 (subgroup decision problem)[11]

보호 변수(secret parameter) tWZ4■가 주어졌을경우 튜플 (%, 勿, <"静)를 줄력하는 알고리즘 C를 정의한다. 여기에서 G, G은 위수 “ = %%를 가지는 그룹이고, e:GxG—q는 겹선형 맵이다. 입력 t에 대해 알코리즘 了는 다음을 수행한다.

1) 두 개의 랜덤한 r 비트 소수 位, 由를 생성하고, Ti = q、qKZ라고 하자.

2) .위수.n을 가지는 겹선형 군 &를 생성한다. 그리고 를 G의 생성자라고 하고, e:GxG—%를겹선형 맵이라고 하자.

3) 를 줄력한다.

여기서. 겹선형 맵뿐만 아니라 G, q에서의 그룹 연산도 다항식 시간 내에 계산될 -수 있다.

.'.点以라고 하고 n = q血인 경우에(、%面 G, G、, e)를 《分에 의해 생성된 튜플이라고 할 때, 부분군 결정 문제를. 다음과 같이 정의한다.

즉, '군의 위수 n의 인수분해 정보 없이 원소 工가 G 의"부분군에 있는지를 결정하는 문제이다. 알고리즘 A 에 대히여. 부분군.결정 문제를 풀기위한』의 이점 勿-;는 다음과같이 정의된다:

#(1)

간단히 말해서, 이 가정은 G에서의 균일한 분포가 G의 부분군에서의 균일한 분포와 구별 불가능하다는 것을 설명한다. G의 위수의 인수분해는 다항식 시간 공격자에게 G의 부분군의 위수가 드러나지 않게 하기 위해서 감춰진다.

2.3 준 동형 공개키 시스템(homomorphic public-key system) (11)

, 이 시스템은 키생성 (KeyGen), 암호화(Encrypt), 복호화(Decrypt)의 세 가지 알고리즘으로 구성된다.

D 키생성 알고리즘 (KeyGenG))

① 보안 변수 TS)가 주어졌을 경우, 튜플 (如由, Gq, e)를 얻기 위해 血를 실행한다」

② 위수 0 = 姙2인 군 G에서 두 개의 생성자 gqEG를 랜덤하게 선택한 후, 儿 = "如라고 한다. (h는 위수가 位인 군 q의 생성자가 된다. )

③ 공개키 PK=(n, G, Gi, e, gJi)와 비밀키 SK=q〔 를 설정한다.

2) 암호화 알고리즘 (Encrypt(密脱)

① 메시지 m의 메시지 공간을 라고 한다. 成<, 2)

② 랜덤값 을 선택하여 메시지 m의 암호문을 다음과 같이 계산하고, 암호문 暹 출력한다.

#(2)

3) 복호화 알고리즘 (Decrypt(S^C))

① 비밀키 潇= %로 암호문 C를 다음과 같이 복호화 한다.

#(3)

② 0=gS 이라고 할 때, m = logics 이고 0<: m<T 이므로, 메시지 m을 되찾기 위해서 Pollard's lambda 방법을 이용하면 O(v质)의 시간이 걸린다.

이 시스템의 안전성은 부분군 결정 문제의 어려움에 기반을 둔다. 이 기법은 다음의 두 가지 성질을 만족한다.

1) 검증 가능성 (verifiable) : 메시지 m의 암호문 矿w과 메시지 m‘, 그리고 검증키 以: = &이 주어졌을 때. (必们을 체크하여 m = m 인지를 확인할 수 있다. 여기서 메시지. 공간이 작은 경우 务을 비밀키(복호화키)로 사용할 수 있지만, 메시지 공간이 큰 경우에는 q을 오직 검증키로만 사용할 수 있다.

2) 준 동형 성질(homomorphic) : 메시지 ”%과 叫의 암호문 矿*泸이 주어졌을 때, 복호화하지 않고 叫+皿와 ”气 . 巾2의 암호문을 矿“矿 - 矿暫.와 e (*% 气广泸)을 이용하여 구할 수 있다. 이 때, 덧셈은 여러 번 연산이 가능하지만 곱셈은 한 번의 연산만 가능하다.

2.4 암호화된 다항식에서의 연산

"차 다항식 /(I)= anx" +an_1xn~1 + a^x1 + %抄 을 고려하자. 그러면 이것에 대한 암호문을 다음과 같이 각각의 계수들의 준 동형 암호화를 수행한 것으로 정의한다.

#(4)

1) 점 曜 암호화된 다항식 聲认/■(/)에 대입한 값 丑% (/G))를 구하는 방법

① 점 b에 대한 암호문을 다음과 같이 계산한다.

#(5)

② 2.3절에서 살펴본 준 동형 성질을 사용하여 다음과 같이 계산한다.

#(6)

2) 점 b, c를 암호화된 다항식 聲 * (/(/)에 대입한 값 H%(f(b)+/(c))를 구하는 방법

① 점 ;), c에 대한 암호문을 다음과 같이 계산한다.

#(7)

② 2.3절에서 살펴본 준 동형 성질을 사용하여 다음과 같이 계산한다.

#(8)

2.5 PIR 기법 (private information retrieval scheme)(11-15)

PIR 기법은 데이터 검색자가 자신의 어떠한 정보도 서버에게 드러내지 않고 원하는 데이터를 검색하는 방법이다. 이 기법에서 서버는 "개의 데이터를 가지고 있고, 데이터 검색자는 준 동형 시스템에 대한 키 쌍 (pfc, 就)을 가지고 있다고 가정한다. 데이터 검색자는 자신이 검색하고자 하는 데이터의 인덱스 4를 다항식 암호화를 통해 서버에 전송하고, 서버는 데이터 검색자가 원하는 값이 /번째인지 모르면서도 2번째 데이터베이스에 저장되어 있는 값 z再)를 암호화된 상태로 계산할 수 있다. 결과적으로 서버는 데이터 검색자에게 H%3(、甫를 전송하게 되고, 데이터 검색자는 복호화를 통해 /无)를 알게 된다. 예로 문헌〔11〕에 나온 PIR 기법을 살펴보면 다음과 같다.

1) 데이터 검색자는 자신이 원하는 값의 인덱스를 서버에 드러내지 않기 위해 다음의 조건을 만족하는 n-l차 다항식 p(z)를 구성한다.

#(9)

2) 데이터 검색자는 다음과 같이 다항식 p(z)를 암호화하고, 이것을 서버에 전송한다.

#(10)

3) 서버는 암호화된 다항식과 데이터베이스의 값들을 사용하여 다음을 계산한다. 여기서 D")는 i 번째 데이터베이스에 저장되어 있는 값이다. 이 과정을 통해 데이터 검색자는 서버에게 자신이 원하는 데이터에 대한 정보를 드러내지 않고 값을 얻을 수 있다.

#(11)

4) 서버는 HE”J、D侦)、)를 데이터 검색자에게 되돌려주고, 데이터 검색자는 이 값을 자신이 가지고 있는 s* 를 사용해서 복호화하여 /无)의 값을 얻을 수 있다.

Ⅲ. 관련연구 : Yau 등의 기법[10]

이 기법은 암호화된 DB에서 접근제어방식을 사용하기 위한 것으로 Stephen S. Yau 등에 의해 최초로 제안되었다. 이 기법은 암호화된 DB에 대해 허가된 사용자들만 접근이 가능하도록 데이터 공급자가 접근 권한을 지정할 수 있다는 장점을 가지고 있다. 기존의 대칭키 기반 또는 공개키 기반의 검색 가능한 암호 기법들은 특정 사용자만이 암호화된 데이터에 접근이 가능하였다. 따라서 기존 기법들에서 암호화된 데이터에 대해 여러 사용자가 접근 가능하게 하기 위해서는 같은 데이터를 여러 사용자를 위해 여러 번 암호화할 수밖에 없다. 이러한 번거로움을 피하기 위해 이기 법에서는 우선 데이터를 대칭키 t로 암호화 한 후 이 대칭키 fc를 각 사용자들의 접근키 (access key, 亦)로 감추어 암호화된 데이터에 접근할 수 있는 사용자들만이 자신의 法를 이용하여 fc를 얻을 수 있게 설계하였다. Yau 등이 제안한 기법을 간략하게 알아보면 다음과 같다.

데이터 공급자는 대칭키 fc를 사용하여 메시지 m을 암호화한다. 그리고 데이터 공급자는 접근키 响와 키워드 /叫를 선택하여 다항식 f(r)를 생성한다. 만약 테이블 각각의 행별로 ak 안에 妮와 kw 안에. 屈가 포함되어 있다면, 网) 값은 a為의 위치를 리턴한다. 데이터 공급자는 하;]를 사용하여 암호화하고, 결과적으로 데이터 공급자는 암호화된 메시지 E&n), 접근키 ak, 키워드 kw, 암호화된 다항식 HEU(h)、), 암호화된 대칭키 孩*化)로 이루어진 테이블을 얻을 수 있다. 마지막으로 데이터 공급자는 Ek(m), Eg,를 서버에 저장한다. 이후, 검색을 원하는 데이터 검색자는 자신의 싸^과 知/을 사용하여 Eq(싸W吗, )를계산하여 서버에 전송한다. 그러면 서버는 丑研/'(/)와끄乌㈣眼叫, )를 매치하는 알고리즘을 사용하여 테이블 각각의 행별로 저장된 위치를 알아낼 수 있고, 그 위치에 저장된 媒(两의 값을 데이터 검색자에게 전송한다.

먼저, 이 기법에 사용되는 제어된 검색(controlled search)과 검증(verify) 알고리즘에 대해서 살펴보자.

3.1 제어된 검색 (Controlled Search)

§ = 叵, ..., %}, 岛 = {妬..., 4}일 때 s、, 呂에 대해서 다음의 조건을 만족하는 제어된 검색 다항식 /(抄를 정의한다. 이 때, f(z)는 s + t차 다항식이고「은 랜덤 값이다.

#(12)

姮§, 拍耳일 때 /(a)+/((>)는 §의 원소 a의 인덱스를 나타내고, 그렇지 않으면 /'(a)+/(b)는 랜덤 값이 된다.

- 이 기법에서는 제어된 검색을 위해 접근키 afc의 집합을 % 키워드 血, 의 집합을 耳라 하고, 데이터 공급자는 耳, &에 대한 제어된 검색 다항식 /(抄를 서버에 저장한다. 따라서 §의 접근키를 하나라도 알고 있는 검색자는 이 값을 이용하여 呂에 있는 키워드를 검색할 수 있다. 제어된 검색 알고리즘은 다음과 같다.

이고 屜巳£이면, 이 알고리즘은 §에서 afe의인덱스를 출력하고, 그렇지 않으면 0을 출력한다.

두 개의 임의의 원소 a와 b에 대해서, lM/(a) + /(3)Ms의 확률은 3缶*) 2国/|, 이2를 넘지 않는다. 여기서 S는 禹의 크기이고, t는 $2의 크기이며, D는 다항식 氏"의 변역이고, 辟 다항식 /S)의 치역이다.

3.2 검증 알고리즘 (Verify)

신뢰할 수 없는 서버로부터 다항식을 보호하기 위해서는 /(/를 암호화하여 저장하여야 하고, 또한 ak 와 就도 노출되어서는 안 된다. 하지만 서버는 제어된 검색을 하기 위해 舐와 kw, 그리고 六工)에 대한 정보 없이 /(站)+/(屈)를 계산할 수 있어야 한다. 따라서 신뢰할 수 없는 서버가 입력값에 대한 정보 없이 제어된 검색이 가능하게 하기 위해 다음과 같은 검증 알고리즘을 사용한다. 검증 알고리즘은 암호화된 다항식 /(/와 암호화된 점 b, 그리고 상수 c가 주어졌을 때, /(b) = c이면 1을, 그렇지 않으면 0을 출력한다.

다항식 fM = anxn +an_1xn~1 +... + a1a:+a0 일 때, E慌 六抄의 각각의 계수를 준 동형 공개키 시스템 (2.3절 참조)을 이용하여 암호화한 값으로. EC= {丑%, 丑鸟血))}이다. EP는 점 /를 암호화한 값으로 EP={丑砍(铲), ..., 尊的。)}이다. 이 때, 泌와 侨(= sk)는 준 동형 공개키 시스템에서 공개키와 비밀키(=검증키)이고, /표"。)은 준 동형 공개키 시 . 스템을 이용하여 암호화한 값을 나타낸다. 서버는 vk 로부터 암호문을 복호화할 수 있지만 이는 메시지 공간이 작은 평문이 암호화되었을 때 7]능하고, 메시지 공간이 큰 평문이 암호화되었다면 서버는 단지 검증만 할 수 있을 뿐 복호화는 할 수 없다. (2.3절에서 지적한 바와 같이 복호화에 걸리는 시간이 메시지 공간 T 의 크기에 대해 다항식 시간만큼 걸리기 때문이다.)

3.3 기법 (main construction)

이 기법의 주요 구성은 다음의 다섯 가지 단계로 이루어져 있다.

3.3.1 초기화

서버는 공개 .파라미터 와 암호화키 协 ={g, 사, 그리고 검증키 싸<: = %를 설정한다. 그리고 서버는 안전한 대칭키 암호화 기법 E와, 해시함수 H 도 설정한다.

3.3.2 공유데이터(m, ak,kw)

们을 공유하기 원하는 데이터 공급자는 ak= {afcp .."幻}와 的『{&, ■..;싸에 대해서 제어된 검색 다항식 …一&许+%를 계산한 후, m과 /S)의계수를 암호화한다.

① 데이터 공급자는 다음과 같이 f(z)를 암호화한다.

#(13)

② 데이터 공급자는을 임의로 선택하여 대칭키 Tk = H(、gf)을 계산한 후, 데이터 m에 대한 대칭키 암호문 %侦)을 얻는다.

③ 데이터 공급자는 암호화키의 리스트 C= {gJak\ ..., 矿齐바를 계산한다.

④ 데이터 공급자는 서버에 암호화된 데이터 D= (与«(m), 四0를 저장한다.

3.3.3 질의생성(ak,kw)

접근키 afc를 가지고 키워드 紬로 검색을 원하는 데이터 검색자는 암호화된 질의 Q= [* H%버f + + 서职 + '), …, 丑* %(站° +")}를 생성한다.

3.3.4 매치질의(D,Q)

서버는 데이터 검색자로부터 받은 암호화된 질의 Q 와 암호화된 데이터。를 검증 알고리즘을 이용하여 다음과 같이 매치 (match)한다.

① 서버는 D=tE, Nm\EC, 。를 스캔한다.

② iMWMs에 대해서, 서버는 검증 알고리즘 Verify (EG Q, 挪幻 * ) 을 실행한다.

③ 만약 검증 알고리즘 Verify (EC: QZ 泌诚)이 어떤 洲) 대해 1을 출력한다면, 데이터 검색자에게 晶(m)과 C의 S번째 값 时을 * 전송한다.

3.3.5 검색데이터(Erk(m),gr/akc)

데이터 검색자는 자신의 접근키 a&를 이용하여 대칭키 나, = 砚时*伊 , 를 계산한 후, 晶 (m)를 복호화하여 m을 얻는다.

Ⅳ. 프라이버시를 보호하는 접근제어가 가능한 키워드 검색 기법

3장에서 살펴본 Yau 등의 기법은 검색자의 인덱스 위치가 서버에 노출되는 문제점을 가진다. 이 기법에서 서버는 매치질의에서 검증 알고리즘을 통해 검색자의 인덱스를 찾고, 이 인덱스를 이용하여 검색자가 대칭 키를 구할 수 있도록 암호화키를 전송한다. 따라서 이번 장에서는 서버에 검색자의 프라이버시가 노출되는 문제를 해결한 프라이버시를 보호하는 접근제어가 가능한 키워드 검색 기법을 제안한다. 이 기법에서는 검색자의 인덱스 위치가 서버에 노출되는 문제를 PIR 기법을 사용하여 해결하였다. 우리가 제안한 기법을 간략하게 살펴보면 다음과 같다.

데이터 공급자는 대칭키 를 사용하여 메시지 m을 암호화한다. 그리고 데이터 공급자는 접근키 风와 키워드 k®喜 선택하여 다항식 /(抄를 생성한다. 만약 테이블 각각의 행별로 ak 안에 曲와 ku, 안에 m가 포함되어 있다면, fg+m%) 값은 1을 리턴한다. 데이터 공급자는 临를 사용하여 fc를 암호화하고, 결과적으로 암호화된 메시지 Ek(rn), 접근키 ak, 키워드 kw, 암호화된 다항식 암호화된 대칭키 £盘局로이루어진 테이블을 얻을 수 있다. 마지막으로 데이터공급자는 Ek(m), Eak(k), 丑EU(抄)를 서버에 저장한다. 이후, 검색을 원하는 데이터 검색자는 자신의 ak:. 과 fc的을 사용하여 Q(血W叫, )를 계산하고, PIR 기법에 사용되는 다항식 pG)을 선택하여 암호화한 尸를 Q 와 함께 서버에 전송한다. 그러면 서버는 검증 알고리즘을 통해 확인하고, pGr)를 암호화한 것과 fc를 사용하여, &를 계산한다. 서버는.최종적으로 .或(m)와 血를데이터 검색자에게 되돌려준다.

먼저“ 이 기법에 사용되는 제어된 검색과 검증 알고킈즘에 대해서 살펴보자.

4.1 제어된 검색 (Controlled Search)

爲={%, :.., %}. 禹 = 也, ..., 아일 때 禹, 呂에 대한 제어된 :검쇄다항식 以中)를 다음과 같이 정의한다. 이때, /(Z)는*+ t차 다항식이고 T을 랜덤 값이다.

#(14)

婚坎, 蚯耳일 때., 了(/."(&)는 1이고, 그렇지 않으면 j(a)+/0)은 랜덤, 값이 , 된다.

제어된.검색을'위해.접근키 依의 집합을 林 키워드 屈의 집합을 &라고'하고, '禺, 呂에 대한 제어된 검색 다항식을 /(z)라고 할 경우에, 제⑶된 검색 알고리즘은 다음과 같다.

두 개의 임의의. 원소 a와 3에 대해서 , /(a)+/(b) = l 의 확률은 妗 1)2因/L이2를 넘자 않는다. 여기서 t는 岛의 .크기이며', D는 다항식 六/의 '변역이고, R은 다항식 八挤의 치역이다.

4.2검증 알고리즘 (Verify)

'검증 알고리즘은 암호화된 다항식 六挤와 암호화된 점 3, .그리고 1이:주어졌을 때, /(时 = 1이면 1을, 그렇 , 지 않으면 0을 출력한다.

다항식, /0) = %^+%一1此7+ .. + "+佝 일 때, 及7리丑鼠(%), …', 昭血나이고, 점 曜 암호화한 값 EP= {HEpjH), ..., 丑硫渺)}이다.「

4.3 제안하는 기법

제안하는 기법은 다음의 다섯 단계로 구성된다.

4.3.1 초기화

서버는 공개 파라미터 {neG%}와 암호화키 pk={g, h}, 그리고 검증키 株 = 务를 설정한다. 그리고 서버는 안전한 대칭키 암호화 기법 归와, 해시함수 H 도 설정한다.

4.3.2 공유데이터伽, 아由°)

nr을 공유하기 원하는 데이터 공급자는 qk= {akv …, 魄}와 切尸 {知 ..., 為}에 대해서 제어된 검색 다항식 .fS)二% +产宀 +…를-계산한 후' "과 /(£)의 계수를 암호화한다.

① 데이터 공급자는 다음과 같이 /(挤를 암호화한다.

#(15)

② 데이터 공급자는 写을 임의로 선택하여 대칭키 *; = 矶矿“、)을 계산한 후, 데이터 m에 대한 대칭키 암호문 氏丄皿)을 얻는다.

③ 데이터 공급자는 암호화키의 리스트 C= {gJak\ ... 妒刀바를 계산한다.

④ 데이터 공급자는 서버에 암호화된 '데이터 D= (耳* (m), 死C)를 저장한다.

4.3.3 질의생성 (ak, K如)

접근키 하를 가지고 키워드 ku로 검색을 원하는 데이터 검색자는 암호화된 값 Q=、H%k狀" + 睛"), ..., 丑练(<泅+由)}를 생성한다. 그리고 데이터 검색자는 다음과 같은 조건을 만족하는 s-1차 다항식 P(z)를 선택한다.

#(16)

여기서 寸는 데이터 검색자 자신의 인덱스 값이다" 즉, 夙£)=&一1梦7+...+处는 자신의 인덱스 값 2에 대해서는 1을 출력하고, 그 이외에는 0을 출력하는 다항식이다. 데이터 검색자는 /)S)의 계수들을 자신의 공개키 购로 암호화하여 P= {丑^成 压认(%)} 를 얻는다. 데이터 검색자가 생성한 암호화된 질의는 。와 戶이다.

4.3.4 매치질의

서버는 데이터 검색자로부터 받은 암호화된 질의 Q 와 암호화된 데이터 D를 검증 알고리즘을 이용하여 다음과 같이 매치 (match)한다.

① 서버는 검증 알고리즘 VerifyCEQQ丄泌, 株)을실행한다.

② 만약 검증 알고리즘이 1을 출력하면 다음을 계산하고, 그렇지 않으면 종료한다.

#(17)

③ 서버는 晶(m)과 血를 데이터 검색자에게 전송한다.

서버는 암호화키의 리스트 <7=由'曲, ..甘姓와 户=任^!1風_1), ..., 丑%, (处)}로부터 2.3절의 준동 형성 질을 이용하여 Fp = HE。、五时*' . P(分)를 계산할'i = 1수 있다.

본 단계에서 검색자는 서버에게 자신의 프라이버시를 보호받기 위해 PIR 기법을 사용한다. 제안하는 기법에서는 기법의 통일성을 위해 준 동형 공개키 시스템〔11〕 을 이용한 PIR 기법을 사용하였으나 기존에 제안된 효율적인 PIR 기법〔12-15〕을 사용하여 효율성을 높일 수 있다.

4.3.5 검색데이터(Erk(m), lp)

데이터 검색자는 办를 복호화하여 자신의 숨겨진 암호화키 矿'어를 찾을 수 있고, 자신의 접근키 呢를 이용하여 대칭키 ”=瓦(广独肿)를 계산한 후 E湛命) 를 복호화하여 m을 얻는다.

4.4 분석

기존에 제안된 Yau 등의 기법에서는 데이터 공급자가 사용자들의 검색 능력을 제어할 수 있는 장점을 가지고 있는 반면, 신뢰할 수 없는 서버에게 데이터 검색자에 대한 키들의 위치가 드러나는 문제점을 가지고 있다. 예를 들면, k번째 사용자가 서버에 자신의 접근키 a处와 자신이 선택한 키워드 %를 사용하여 암호화된 질의 Q를 서버에 보냈다고 흐卜자. 이 경우 서버는 a械와 fa%, 가 포함되어 있는 문서들의 리스트에서 키들의 위치를 파악할 수 있다. 그리고 그 이후에 火 번째 사용자가 서버에 자신의 접근키 싸%와 자신이 선택한 예전과는 다른 키워드 k»를 사용하여 암호화된 질의 아'를 서버에 보낸 경우, 서버는 이미 접근키 akk 에 해당하는 문서들의 리스트를 일정량 알고 있기 때문에, 이러한 것들을 토대로 서버는 암호화된 질의 Qk 와 Q*' 를 생성한 사용자가 같은지 다른지를 판단할 수 있는 정보를 얻게 된다.

이러한 문제점을 개선하기 위해, 우리는 PIR 기법 〔11-15〕을 사용하여 사용자의 인덱스를 서버에 유출시키지 않고 원하는 데이터의 검색이 가능하게 하였다. Yau 등의 기법에서는 매치질의 단계에서 검증 알고리즘이 어떤 *에 대해서 1을 출력하면 데이터 검색자에게 암호화키의 리스트 C에서 W번째 키를 전송하는 방법을 사용함으로써 검색자의 인덱스 정보를 서버에게 노출시켰다. 제안하는 기법에서는 암호화키의 리스트 6에서 測째 키를 검색자에게 전송할 때 PIR 기법을 사용하기 때문에 서버는 검색자의 인덱스 정보를 알 수 없다. 제안하는 기법이 문헌〔11〕의 PIR 기법을 사용하였을 경우, 만약 矿丿畋가 b 비트라고 하면 Ip 로부터 时粼를 베이비-스텝 자이언트-스텝 알고리즘과 같은 이산 대수 계산 방법에 의해。(2松) 시간 안에 찾을 수 있다.

Ⅴ.결론

본 논문에서는 기존 연구에서 신뢰하지 않는 서버에 검색자의 프라이버시가 노출되는 문제를 해결한 프라이버시를 보호하는 접근제어가 7]능한 키워드 검색기법을 제안하였다. 제안된 기법을 통해 데이터 공급자와 데이터 검색자는 신뢰하지 않는 공개 서버에 데이터를 저장하고, 프라이버시를 노출시키지 않으면서 데이터를 안전하게 공유할 수 있다.

* 본 연구는 지식경제부 및 정보통신연구진흥원의 IT산업원 천기술개발사업 (2009-S-001-02,,Car-헬스케어 보안 기술개발)과 2008년도 정부재원(교육인적자원부 학술연구조성사업니])으로 한국학술진흥재단의 지원을 받아 연구 되었음. (KRF-2008-331-D00581)

참고문헌

  1. 김선영, 서재우, 이필중, '검색 가능 암호 기술의 연구 동향,' 정보보호학회지, 19(2), pp. 63-73, 2009년 4월.
  2. D.X. Song, D. Wagner, and A. Perrig, 'Practical Techniques for Searches on Encrypted Data,' IEEE Computer Society, IEEE Symposium on Security and Privacy, pp. 44-55, May 2000
  3. E.J. Goh, 'Secure Indexes,' Technical report 2003/216, In IACR ePrint Cryptography Archive, Oct. 2003
  4. Y.C. Chang and M. Mitzenmacher, 'Privacy Preserving Keyword Searches on Remote Encrypted Data,' ACNS, LNCS 3531, pp. 442-455, 2005
  5. R. Curtmola, J.A. Garay, S. Kamara, and R. Ostrovsky, 'Searchable symmetric encryption: improved definitions and efficient constructions,' ACM Conference on Computer and Communications Security, pp. 79-88, Oct. 2006 https://doi.org/10.1145/1180405.1180417
  6. D. Boneh, G.D. Crescenzo, R. Ostrovsky, and G. Persiano, 'Public Key Encryption with Keyword Search,' EUROCRYPT, LNCS 3027, pp. 506-522, 2004
  7. P. Golle, J. Staddon, and B.R. Waters, 'Secure Coniunctive Keyword Search over Encrypted Data,' ACNS, LNCS 3089, pp. 31-45, 2004
  8. D. Boneh and B. Waters, 'Coniunctive, Subset, and Range Queries on Encrypted Data,' TCC, LNCS 4392, pp. 535-554, 2007
  9. J. Katz, A. Sahai, and B. Waters, 'Predicate Encryption Supporting Disjunctions, Polynomial Equations, and Inner Products,' EUROCRYPT, LNCS 4965, pp. 146-162, 2008
  10. S.S. Yau and Y. Yin, 'Controlled privacy preserving keyword search,' AISACCS, pp. 321-324, Mar. 2008 https://doi.org/10.1145/1368310.1368356
  11. D. Boneh, E.J. Goh, and K. Nissim, 'Evaluating 2-DNF Formulas on Cipher-texts,' TCC, LNCS 3378, pp. 325-341, 2005
  12. E. Kushilevitz and R. Ostrovsky, 'Replication is NOT Needed: SINGLE Database, Computationally-Private Information Retrieval,' FOCS, pp. 364-373, Oct. 1997
  13. C. Cachin, S. Micali, and M. Stadler, 'Computationally Private Information Retrieval with Polylogarithmic Communication,' EUROCRYPT, pp. 402-414, May 1999 https://doi.org/10.1007/3-540-48910-X
  14. Y. Ishai, E. Kushilevitz, R. Ostrovsky, and A. Sahai, 'Batch Codes and Their Applications,' STOC, pp. 373-382, June 2004
  15. C. Gentry and Z. Ramzan, 'SingleDatabase Private Informatiori Retrieval with Constant Communication Rate,' ICALP, pp. 803-815, July 2005