Ⅰ. 서론
최근 클라우드 컴퓨팅 (cloud computing) 기술의 발달과 더불어 인터넷을 통해 자료를 공유할 수 있는 클라우드 기반 스토리지 (storage) 서비스가 주목받고 있다. 사용자들은 이러한 스토리지 서비스를 통해 공공의 서버(public server)에 자신의 자료를 업로드(upload)하고 관심 있는 자료를 다운로드%(dowm load) 받는다’ 공공의 서버를 통한 자료의 공유는 사용자들의 편리성을 증가시킨 반면 사용자들의 프라이버시에 대한 새로운 문제를 야기한다. 공공의 서버에 저장된 자료는 사용자들이 아닌 스토리지 서비스 제공자에 의해 관리되므로 신뢰할 수 없는 서비스 제공자에 의한 데이터 노출은 단순한 접근통제만으로 해결하기 힘들다. 신뢰할 수 없는 서비스 제공자에 대한 데이터 노출을 막기 위해서는 데이터를 암호화 하여 저장하는 방법이 최선이겠으나 데이터 암호화는 검색의 효율을 급격히 저하시킨다.
이러한 검색 문제를 해결하기 위해 최근 암호화된 데이터에서의 키워드 검색에 대한 연구가 활발히 진행되고 있다〔1-12〕. 암호화된 데이터에서의 키워드 검색에 대한 연구는 크게 대칭키(symmetric key) 기반과 공개키 (public key) 기반으로 나뉜다. Song 등의 논문〔2〕을 시작으로 한 대칭키 기반의 키워드 검색〔2-5〕은 자신의 대칭키로 문서를 암호화하여 서버에 저장한 후 자신의 대칭키를 이용하여 문서를 검색하는 방법으로 문서 암호화에 사용한 대칭키를 소유한 사람만이 검색이 가능하다. 반면 공개키 기반의 키워드 검색 기법〔6-9〕은 암호화된 문서와 함께 문서검색정보를 어떤 사용자의 공개키로 암호화하여 서버에 저장하는데 암호화에 사용된 공개키에 대한 비밀키를 소유한 사람만이 검색이 가능한 기법으로 Boneh 등의 논문〔6〕을 시작으로 연구가 활발히 진행되고 있다. 그러나 대칭키. 공개키 기반 모두 문서 암호화시 특정사 용자를 염두에 두고 암호화하기 때문에 특정 사용자만이 검색이 가능하게 된다. 따라서 이러한 기법은 여러 사용자가 공공의 서버를 통해 문서를 공유하는 환경에는 적합하지 않다. 만약 "명의 사용자가 서로의 문서를 공유하는 환경이라면 문서를 업로드하는 사용자는 n명의 사용자 모두 문서 검색이 가능하도록 같은 문서를 n번 암호화하여 저장하여야 한다. 이는 저장량 측면에서 매우 비효율적이다’ 따라서 다자간 문서 공유 환경에서 이러한 문제를 해결하기 위해 여러기법들〔5, 10.11.12〕이 제안되었다. 문헌 [5, 10.12] 은 다자간 문서 공유 환경에서 여러 사용자들이 검색 가능한 기법이지만 문서 업로드가 가능한 사람은 특정한 한명 뿐이다. 따라서 이러한 기법은 여러 사용자들이 자신의 문서를 업로드하는 환경에는 적합하지 않다. Bao 등의 논문〔11〕은 암호화된 문서에 대해 여러 사용자들이 자신의 문서를 업로드하고 다운로드받을 수 있는 환경으로 다자간 문서 공유 환경에 적합한 기법이기는 하나 탈퇴자의 수동적 공격 (passive attack)에 대해 안전하지 못하다. 이 기법에서 기존사용자가 탈퇴할 경우 문서를 검색할 수는 없으나 다른 사용자가 검색하는 문서를 도청 (eavesdropping) 할 경우 도청한 모든 문서에 대한 복호화가 가능하게 된다.
따라서 본 논문에서는 다자간 문서 공유 환경에서 기존 기법들이 갖는 문제점 들을 개선한 프라이버시를 보호하는 다자간 키워드 검색 기법을 제안한다. 제안하는 기법은 여러 사용자가 자신의 문서를 업로드하고 다운로드받을 수 있는 기법으로 이러한 과정에서 신뢰할 수 없는 서버에 대해 사용자들의 프라이버시를 보호한다. 또한 제안하는 기법은 사용자들의 가입과 탈퇴가 용이하며 특히 탈퇴자에 대한 안전성을 보장한다.
본 논문의 구성은 다음과 같다. 2장에서는 본 논문과 관련된 연구, 3장에서는 본 논문과 관련된 배경지식에 대해서 살펴본다. 4장에서 시스템 모델 및 안전성 모델을 정립한 후 5장에서 정립된 안전성 모델에 대해 안전한 기법을 제안하고 분석한다. 6장에서는 결론을 통해서 논문을 마무리한다.
Ⅱ. 관련 연구
최근 다자간 문서 공유 환경에서 사용자들의 프라이버시를 보-호하면서도 문서 검색이 가능한 여러 기법들〔5, 10.11, 12〕이 제안되었다. 서론에서 살펴본 바와 같이 문헌〔5, 10.12〕은 다자간 문서 공유 환경에서 여러 사용자들이 검색 가능한 기법이지만 문서 업로드가 가능한 사람은 특정한 한명 뿐이다. 문서 업로드가 가능한 사람은 문서를 업로드하기 전에 먼저 문서를 다운로드 받을 사람들을 정한 후 그 사람들만이 문서를 다운로드 받을 수 있도록 문서를 암호화하여 저장한다. 따라서 이러한 기법들은 여러 사용자들이 자신의 문서를 업로드하는 환경에는 적합하지 않다. 또한 사전에 검색 가능한 사용자들을 지정하기 때문에 추후 가입자나 탈퇴자가 발생하였을 경우 처리가 어렵다. 문헌 ⑸의 경우 탈퇴자 처리(revocation)를 위해 브로드캐스트 암호화(broadcast encryption) 기법을 사용하기 때문에 탈퇴자 발생 시마다 다른 모든 사용자들이 새로운 값을 갱신해야하는 번거로움이 따른다. 또한 문헌〔10, 12〕의 경우 가입자나 탈퇴자 처리를 위해 모든 문서에 대한 암호화된 인덱스를 수정해야 하기 때문에 가입자나 탈퇴자 처리가 매우 비효율적이다.
이후 기존 기법들에서의 문서 업로드 문제와 가입 . 탈퇴자 처리 문제를 해결하기 위해 Bao 등은 다자간 문서 공유 환경에 적합한 기법〔11〕을 제안하였다. Bao 등의 기법은 권한이 있는 사람은 누구나 문서 업로드, 다운로드가 가능한 기법으로 신뢰할 수 없는 서버에 대해 사용자들의 프라이버시를 보호한다. Bao 등의 기법에서는 신뢰할 수 있는 사용자 관리자 (user manager)가 존재하여 각각의 사용자에게 검색에 사용할 비밀키와 문서 암호화에 사용할 대칭키 e 를 제공한다. 각 사용지.의 비밀키는 사용자마다 모두다르지만 문서 암호화에 사용되는 대칭키 e는 모든 사용자가 공유한다. 따라서 각각의 사용자는 자신의 문서를 모든 사용자가 공유한 대칭키 e로 암호화하여 업로드하게 된다. 자신이 원하는 키워드를 포함하는 문서를 검색하기 위해 자신의 비밀키를 사용하여 암호화한 검색정보를 서버에 보내면 서버는 이 값을 이용하여 사용자가 원하는 문서를 찾아 보내준다. 이때 사용자가 받게 되는 문서 또한 모든 사용자가 공유한 대칭키 e로 암호화되어 있다. 탈퇴자를 처리하기 위해사용자 관리자는 서버에게 탈퇴자 리스트를 보내고 서버는 자신의 사용자 리스트에서 탈퇴자들의 정보를 삭제한다. 추 후 탈퇴자가 문서 검색을 시도하더라도 서버에는 탈퇴자에 대한 정보가 남아 있지 않으므로 탈퇴자는 검색할 수 없게 된다.
Bao 등의 기법이 탈퇴자 처리에 대한 고려를 하였음에도 불구하고 탈퇴자의 수동적 공격(passive attack)에 대해 안전하지 못-하다. 이는 탈퇴자가 발생하더라도 문서 암호화에 사용된 대칭키 e를 갱신하지 않기 때문이다. 따라서 기존 사용자가 탈퇴할 경우이 사용자에 대한 정보가 서버에서 삭제되므로 기존비밀키를 사용하여 문서를 검색할 수는 없으나 다른 사용자가 검색하는 문서를 도청(eavesdropping) 할 경우 도청한 모든 문서에 대해 복호화가 가능하게 된다.
Ⅲ. 배경지식
3.1 의사난수 함수(pseudorandom function)와 의사난수 치환(pseudorandom permutation)
난수 함수(random function)의 출력 값과 효율적으로 구별이 불가능한 출력 값을 가지는 함수를 의사 난수 함수(pseudorandom function)라고 한다. 즉. 의사난수 함수 f- (o, ipx(o, l}m >{0」}"이고. 여기서 顶는 시드(seed) 값의 비트수, me 입력 값의 비트 수. 71은 출력 값의 비트수이다. 본 논문에서 사용하는 암호학적 해시 함수는 일반적으로 의사난수 함수로부터 모델링된다. 의사난수 함수 중에서 입력 값의 비트수와 출력 값의 비트수가 같을 경우, 이것을 의사난수 치환(pseudorandom permutation)0] 라고 한다. 즉, 의사난수 치환 P: (0, 1}^ (0, 1)" »{0, 1}"이다. 일반적으로 안전한 대칭키 임호화 기법은 의사난수 치환을 사용하여 모델링된다.
3.2 겹선형 사상(bilinear maps)
제안하는 기법은 겹선형 사상을 제공하는 소수 위수의 어떤 유한군을 사용한다. G와 q 은 같은 소수 위수 μ를 가지는 두 개의 군이라 하고, 겹선형 사상을 e: GxG-라고 하면, 다음의 성질을 만족한다.
1) 모든 产G와 모는 a, 虹%에대해e(光房) = "勿板;尸를 만족한다.
2) 만약 g가 군 G의 생성자이면, e(g, g)는 군 伝의 생성자이다.
3) 임의의 원소 如奂에 대해 e(g")는 계산하기 쉬워야한다.
3.3 BLS 짧은 서명(short signature)[13]
BLS 짧은 서명 (short signature)은 Boneh 등에 의해 제안된 겹선형 사상에 기반을 둔 서명 기법이다. 이것을 간단히 살펴보면 다음과 같다:(GG, , e)를 3.2절과 동일하게 정의하고, g를 군 G의 생성자, *: 를 충돌 저항성 해시 함수, 사용자의 서명키를 kez;. 검증키를 9 = Kg라고 흐}자. 이때 메시지 m에 대한 서명을 = 라고 하며, 이에 대한 검증은 e(次) = e(M(m))를 통해 가능하다 BLS 짧은 서명은 CDH(Computational Diffie- Hellman) 문제의 어려움에 기반하여 랜덤 오라클 모델에서 서명 위조 불가능성을 만족한다.
Ⅳ. 시스템 모델 및 정의
4.1 시스템 모델
우리는 로 구성된 데이터베이스 시스템 r을 고려한다. 여기서 D는 데이터베이스. ume 사용자 관리지-, u는 사용자. 집합, s는 서버이다. 데이터베이스 D는 다수의 속성들로 구성된 m개의 레코드 位, …, 媳}로 구성되어 있으며, 속성 중의 하나는 검색을 위한 키워드이다. 사용자 관리자 UMe 사용자의 관리를 책임지는 신뢰 기관으로써 사용자 등록 및 탈퇴, 사용자와 서버의 개인키를 발급하는 역할을 수행하며, 본 논문에서 과 통신하는 모든 채널은 안전하다고 가정한다. 사용자 집합 〃에 속하는 모든 사용자는 서버 s를 통해 데이터베이스 〃에 자유롭게 문서를 저장하고 검색할 수 있으며. 문서는 키워드를 가지는 암호화된 형태로 저장되고. 키워드를 사용하여 검색할 수 있다. 결과적으로 서버 S는 데이터베이스。에 m개의 암호화된 형태의 레코드 EId = *E* ”, EI啬를 저장한다.
본 논문에서 우리는 다음의 표기를 사용한다. 3:드*는 班 집합 X의 원소 "를 랜덤하게 선택한다는 표기이며, |X|는 집합 X의 크기를 말하는 것이고. xeA 는 알고리즘 4에서 0를 출력한다는 표기이다. 마지막으로 0(灼 :4豈는 모든 양의 정수 C에 대하여 정수 凡가 존재해서 k>叫旧(새<1修를 만족할 때 무시할수 있을 만큼 작은 값으로 수렴하는 함수Ineligible function) 라고 한다.
4.2 정의
데이터베이스 시스템「={〃, iWUS}에서는 다음과 같은 프로토콜들이 존재한다.
. Setupe). 사용자 관리자 UMe 제안하는 기법에 사용될 공개 파라미터 partms와 자신의 개인키아g를 생성한다.
, Jmn(w, skUM;Sl/listy. 이 프로토콜은 사용자 u, 관리자 双 서버 S가 참여하는 프로토콜이다. 사용자 «는 관리자 珮에게 등록을 요청하고, UMe 자신의 비밀값 skp福을 사용하여 사용자 “에게 비밀키 qk«를 발급한다. 이때 서버는 사용자 등록 리스트인 SU"1 에 사용자 *의 정보를 등록한다.
. Stored, deSUeEIe-. 이 프로토콜은 사용자 14와 서버 S가 참여하는 프로토콜이다. 사용자 * 는문서 d와 키워드 U■를 자신의 개인키 (此를 이용해서 암호화한 문서 珥〔를 서버에 전송한다. 서버 S는 사용자 «가 등록된 사용자인지를 체크하고. 叫를 %에저 장한다. N
. Qtiery(, qku, w') '■ 사용자 u는 키워드 u와 자신의 개인 키 q虹를 이용하여, 서버에 요청할 질의 &(湖를 생성한다.
. Search(qku, qu (w); SUlist, EIe\: 이 프로토콜은 사용자 «와 서버 S가 참여하는 프로토콜이다. 사용자 u 는 서버에 & (也)를 보내서 函s(* w) 를 받는다. 사용자 u는 자신의 개인키 <既를 이용해서 0»亳(3)로부터 키워드 u/와 관련된 암호화된 문서들을 복호화한다.
. ReMke.{u-, SUiis(y- 이 프로토콜은 관리자 S꽈서버 S가 참여하는 프로토콜이다. 관리자 UMe 서버 S에게 삭제할 사용자 w를 보내며, 서버는 사용자 “의정보를 S命函로부터 삭제한다.
앞으로 우리는 질의 프라이버시(query privacy), 질의 위조 불가능성 (query unforgeability), 탈퇴한 사용자로부터의 안전성(full-revocability)을 통해 제안하는 기법의 안전성을 정의한다.
- 질의 프라이버시 (query privacy): 사용자와 서버의 통신을 통해서는 문헌〔4〕에서 정의한 흔적 (trace) 이외의 어떠한 정보도 노출하지 않는다. 즉, 질의에 대한 안전성을 제공한다.
- 질의 위조 불가능성 (query unforgeability): 정당한 사용자만이 정당한 질의를 생성할 수 있다.
- 탈퇴한 사용자로부터의 안전성 (full- revocability): 탈퇴한 사용자는 정당한 사용자인척 검색할 수 없고. 다른 정당한 사용자가 검색하는 문서에 대해 어떠한 정보도 얻을 수 없어야한다.
4.2.1 질의 프라이버시(Query Privacy)
모든 검색 가능한 암호화 기법들은 안전성의 조건으로 질의 프라이버시를 만족해야 한다. 이것은 사용자가 서버에 질의를 하였을 때 서버에 노출되는 정보의 양을 표현하는 안전성에 대한 개념이다. 어떠한 기법이든 piR(Private Information Retrieval) 프로토콜을 적용하지 않는 이상은 질의를 할 때에 서버에 특정한 질의의 흔적이 남게 된다. 비록 서버가 질의로부터 어떠한 키워드가 검색이 되었는지는 알 수가없더라도 사용자 질의의 접근 유형 (access pattern)은 항상 관찰할 수 있다. 하지만 이러한 흔적이나 흔적들로부터 알아낸 정보로부터 사용자의 다른 정보들이 서버에게 노출되어서는 안 된다. 다시 말하면 질의 프라이버시를 만족하기 위해서는 정당한 질의 과정을 통해서 공격자가 얻을 수 있는 정보이상으로는 어떠한 정보도 노출되지 않아야 한다는 것이다.
정의 1. 다수의 사용자에 대한 암호화된 데이터베이스 시스템「는 모든 데이터베이스 £>와 모든 다항 시 간 (PPT, Probabilistic Polynomial Time) 알고리즘 4게 대해서, 다음을 만족하는 다항시간 알고리즘 4* 가 존재하면 질의 프라이버시를 만족한다. vM 는 무시할 수 있을 만큼 작은 값으로 수렴하는 함수이다(negligible function).
#(1)
서버에 (임의의 사용자에 의해서) Z번째 저장되는 데이터와 키워드를 각각 (妃叫)라고 하며, (5) 를 암호화한 암호문을 码라고 한다. 이런 可들의 집합은 砰이다. SU眼.는 서버에 등록된 사용자들의 정보목록이다. 그리고 Q = 0, 를 사용자 그룹 내에서 발생한 t개의 질의, 博 = (明, …, ?叫)를 질의된 키워드, , 4&耳 =(ms[, ..., ans, )를 질의에 대한 결과라고 하자. 우리는 〃(%)= (叫, {.北", )를 정의하며, 이때 叫 는 ii번째 질의를 하는 사용자이며, {顶}奶는 寸번째 질의에 들어있는 키워드 舛僵 포함하는 %, 들의 인덱스 집합을 말한다.〔5〕의 정의를 이용해서 匕를 서버가 질의를 통해서 얻을 수 있는 모든 실질적인 정보, 뷰 (view)라 하면 이러한 匕는 실제 질의와 해당하는 결과를 포함하고 있다. *를 Vf = {EID, SUltst, Qt, ANSt} 로 정의한다. 그리고 4를 t개의 질의에 대한 흔적, 즉 어쩔 수 없이 노출되어야 하는 정보들이라고 하고 4 = {旧지, …, 〃*) ( }로 정의한다. 旧지, 原饥」는 각각 암호화된 데이터의 개수, Ww에 포함된 사용자의 수를 의미한다.
정의에 따라 질의 프라이버시를 증명하기 위해서는, 주어진 흔적 4를 가지고서 母를 시뮬레이션 할수 있는 시뮬레이터 s가 존재함을 보인다. 그러면 S를 이용해서』*(c)= 4(s(4))를 구성할 수가 있다. S는질의를 하고 그 결과를 대답하는 과정에서 어쩔 수 없이 노출되는 정보를 가지고, 서버가 얻을 수 있는 모든 정보를 시뮬레이션 할 수 있다는 것을 의미한다. 그러면, 』가 자신이 가진 %를 이용해서 Co, 庇)에 대해 얻을 수 있는 정보와 4* 가 자신이 가진 4를 이용해서 (力, 倒)에 대해 얻을 수 있는 정보의 차이가 없다는 것을 알 수 있다.
4.2.2 질의 위조 불가능성(Query unforegeability)
모든 검색 가능한 암호화 기법들은 질의의 생성이 정당한 사용자에 의해서만 이루어져야 한다. 정당한 사용자는 tw으로부터 받은 자신의 비밀키를 이용해서 질의를 생성하고, 서버는 이 질의가 정당한 사용자의 것임을 확인하고 질의에 대한 답을 한다’ 이러한 질의는 다른 사용자는 물론이고 서버 또한 정당한 사용자인 것처럼 질의를 생성할 수 없어야 한다. 검색 가능한 암호화 기법에서 이러한 안전성 조건을 질의위조 불가능성이라고 한다.
정의 2. 다수의 사용자에 대한 암호화된 데이터베이스 시스템「는 임의의 사용자 w와 PPT 공격자 Av, 冬에 대해서 다음을 만족할 때 질의 생성 불가능성을 만족한다.
#(2)
彼/는 사용자 “가 질의를 생성할 때 사용하는 비밀키이고, SU"느 서버에 저장되는 등록된 사용자들에 대한 정보 목록이다. 질의 위조 불가능성을 설명하기 위해서 우선 정당한 사용자를 정의해야 한다. 정당한 사용자란 (7M으로부터 개인키를 받아서 서버에 정당한 검색을 할 수 있는 능력을 가진 사용자들을 말한다. 정당한 사용자 질의의 집합을 0 = {& (씨底, MeQaery(qku, w), we W}로 정의한다. 여기서 0는 가능한 키워드들의 집합이다. 즉, 정당한 질의를 생성하기 위해서는 정당한 사용자의 개인키와 키워드가 Query라는 단계를 거쳐야 한다는 것이다. 직관적으로 개인키를 가지지 않은 사용자는 정당한 질의를 생성할 수 없으므로 질의 위조 불가능성을 만족한다고 할 수 있다.
질의 위조 불가능성을 증명하기 위해서 공격자 (adversary)와 챌린저(challenger)의 게임을 정의한다. 우선 공격자의 유형을 두 가지로 나눈다. 를 임의의 사용자가 타겟 사용자 法에 대한 질의를 위조하는 공격자라 하고, 4s를 서버가 타겟 사용자 法에 대한 질의를 위조하는 공격자라고 하자. 각각은 서로 알고있는 것이 다르며 공격능력 또한 다르다.의 게임에서는 챌린저가 I의 실행을 시뮬레이션하고, 임의의 사용자 法에 대한 키워드 질의를 생성할 수 있게 해주는 QueTg를 포함한 Search, Stare 오라클을 제공한다, As 의 게임에서는 공격자가 서버이기 때문에 sq&에 저장된 값을 알 고 있고, 成의 질의의 집합을 알고 있다고 가정한다. 그래서 챌린저는 >1$에게 Query 오라클을 제공해야 한다. 두 가지 게임은 다음과 같이 이루어진다. 공격자는 우선 타겟 사용자 £를 설정한다. 그리고 챌린저는 타겟 사용자 贷를 제외한 모든 사용자의키를 시뮬레이션해서 공격자 4〃에게 주고 타겟 사용자 法에 대한 모든 오라클 질의를 시뮬레이션 해준다. 位의 경우에도 마찬가지로 챌린저가 서버가 알아야할 S命3에 포함된 값을 시뮬레이션 해주고 Query 오라클도 시뮬레이션 해준다. 익;를 사용자 £의 생성가능한 질의의 집합이라고 하고. 底을 공격자가 Query 를 통해서 얻은 사용자 "의 질의의 집합이라고 했을때, 공격자는 疟@\«인 경우에 게임에서 이길 수 있다.
4.2.3 탈퇴한 사용자로부터의 안전성(Full-revocability)
사용자의 가입과 탈퇴가 자주 일어나는 현재의 데이터베이스 환경에서는 사용자를 탈퇴시키는 과정은 필수적이다. 신뢰할 수 있는 血] 정당한 사용자 목록에서 사용자를 삭제하고 이를 서버에게 알려주어서 탈퇴한 사용자가 정당한 질의를 생성할 수 없어야 하고, 검색을 할 수 없어야 한다.
표 1 제안하는 기법
정의 3. 다수의 사용자에 대한 암호화된 데이터베이스 시스템「는 사용자 "와 PPT 공격자』= (禹, &) 에 대해서 다음을 만족할 때 탈퇴한 사용자로부터의 안전성을 만족한다.
#(3)
공격자 4 =(4, 4, )의 공격 성공을 다음의 게임에서 이기는 것으로 정의한다. &은 UMe 등록된 정당한 사용자 중 한명인 "*를 선택한다. 爲는 선택된 사용자 泌의 개인키인 砍”와 A의 상태 정보인 statel 을 받는다. u* 는 정당한 시용자에서 삭제된다' ./匕는 두 개의 키워드 (叫.叫)와 각각의 키워드와 연결된 데이터(M4)을 선택하며 , s쎄 등록된 정당한 사용자중 한명인 £을 선택한다. *3 는 두 개의 키워드-데이터 쌍 중에서 랜덤하게 선택된 하나의 키워드-데이터쌍을 암호화한 昭와 4의 상태 정보인 state2를 받고서 어떤 키워드-데이터 쌍이 암호화되어있는지를 추측하는 H을 줄력한다. 여기서 b'=b를 만족하면 4는 게임에서 이기게 된다.
〔11〕에서 제안하는 기법은 탈퇴한 사용자로부터의 안전성을 만족하지 않는다. 왜냐하면〔11〕의 기법에서는 데이터를 암호화하는 키가 모두 동일하기 때문에 u* 가 탈퇴한 상태가 되더라도 주어진 珥〔를 (此.로 복호화해볼 수 있기 때문에 6를 알아낼 수 있다.
Ⅴ. 제안하는 기법
본 논문에서 제안하는 기법은 Setupt Join, Avoke, Store, Query, Search 단계로 구성되어 있다. 제안하는 기법의 구체적인 설명은 다음과 같다.
5.1. 구성
臬顷(1*)] UMe 시큐리티 파라미터(security parameter) 1” 를 입력받아서 공개 파라미터 params 티 £q, e: CxG-Gj 를 설정하고, SZ의 개인키 爲/를 랜덤하게 선택한다. 그리고 안전한 대칭키 암호화 기법 E, 충돌 저항성 (collision resistance) 해시함수 H-. 해시함수의 시드값 0S를 랜덤하게 선택하고. 시드를 가지는 충돌저항성 해시함수 를 설정한다. 여기서 K는 가능한 키들의 집합, S는 시드들의 집합, W는가능한 키워드들의 집합이다’
[J>m(u;.sfcw;M4si)] 등록을 원하는 사용자 "는 闵;쎄게 "를 전송하고, UMe 이 값을 사용자 목록 £农, 에 포함시킨다. 그리고 UMe 사용자 "의 개인키 奴戶를 랜덤하게 선택하고, 서버에 저장되는 사용자 a 에 대한 키 를 계산한다. 마지막으로 UMe 사용자 “에게 {虹, s}, 서버에게 切品}를 전송하고, 서버는 서버의 사용자 목록 에 {發%}를 포함시킨다.
[At>ote(u; SUlist)l fWe 탈퇴하고자 하는 사용자 U 를 사용자 목록에서 제거하고, 서버에 W를 전송한다. 서버 역시 서버의 사용자 목록 sq, 时에서 W, s«}를 제거한다.
[Store(gku, d, w, SUust, EID)] 사용자 w는 문서를 암호화하기 위한 키 如와 키워드 3에 대한 인덱스 생성키 를 생성하기 위해 먼저 七寻%와 t戶aZ;를 랜덤하게 선택하고, {"//”(也广}를 계산해서 서버에게 전송한다. 그러면 서버는 사용자 "가 处와 虹;를 생성할 수 있도록 瓦와 &룰 아래와 같이 생성해서 시용자 *에게 전송한다.
#(4)
사용자 “는 서버에게 받은 耳와 &로부터 &와 歸 를 다음과 같句 생성한다.
#(5)
그리고 사용자 "는 저장하기 원하는 문서 q를 위에서 생성한 키 如를 사용하여 %(也로 암호화하고, 이 문서에 대해 키워드 s로 검색 가능하도록 랜덤한수 R戶%를 선택하여 위에서 생성한 키 蝠를 사용하여 %.(4)로 암호화한다. 마지막으로 사용자 *는 翊={彳=9'頌=气0, ), 4={心, 砌}=杆, 气 (4)}}를 서버에 저장한다.
[Queryiqkew)] 키워드 ur를 사용하여 문서를 검색하고자 하는 사용자 a는 %(s) = {u, /i«(s)"}를 계산한다.
[Search (qku, qu (w); EId)] 사용자 ”로부터 印(堕) = {“也(药*, }를 받은 서버는 物遂에 u가 있는지 확인하고, 만약 없으면 정당한 사용자가 아니므로 종료한다. sq.”에 "가 있다면, 서버는 sq, "의 戏와 대응되는 &를 사용하여 為*를 다음과 같이 계산한다.
#(6)
서버는 저장된 码 = {", 耳")"屿, , (짜들의 집합 EId 중에서 杼, 我(끼}이 지금 계산된 虹, 를 사용하여 암호화된 것들을 모두 스캔하고, 맞다면 %何, )와 ^ = e(g'', s«)를 계산하여 사용자 *에게 전송한다' 사용자 "는 이 값을 사용하여 ℃를 다음과 같이 생성할 수 있다.
#(7)
결과적으로 사용자 “는 이렇게 계산된 3를 사용하여 耳, (4)를 복호화할 수 있다.
5.2. 정확성(correctness)
제안하는 기법의 정확성은 다음과 같다. 어떤 사용자 u가 어떤 문서 q에 대해 키워드 3를 사용하여 서버에 저장한 값을 成; = {/, 气国)两, 气叫)} 라고 하자. 그러면 이 값에 대해 kw = 이고, 处 = H(e(g‘, 扣)이다. 그 이후 다른 사용자 u 이 동일한 키워드 w를 사용하여 생성된 질의 如(S)= {w'0.血)바를 서버에 보내면. 서버는 歸 = H{e(hs (* ") W、))= H(e(hs (w), 扣)을 생성한다. 그러면 결국 시, =加, '를 만족하므로, 사용자은 사용자 “가 저장한 암호화된 문서를 받을 수 있다. 그리고 사용자 t/은 서버에게 전송받는 H(e 甘, s* , )%)= 비")바)= 丑(e(罪, "”))를 계산할 수 있다. 그러면 如, = 电'이므로, 사용자 de 사용자 *가 저장한 암호화된 문서를 복호화할 수 있다. 제안하는 기법에서 사용되는 해시함수 H, a。는 충돌 저항성 해시함수이기 때문에, 서로 다른 키워드에 대해 동일한 키를 생성할 확률은 무시해도 좋을 정도이다.
5.3. 안전성 증명
본 논문에서 제안하는 기법에 대한 안전성을 4장에서 정의한 안전성 정의를 바탕으로 증명한다.
정리 L 제안하는 기법은 질의 프라이버시, 질의 위조 불가능성 , 탈퇴한 사용자로부터의 안전성을 만족하는 안전한 키워드 검색 기법이다.
아래의 부명제 L 2, 3을 증명함으로써 본 논문에서 제안하는 기법이 질의 프라이버시, 질의 위조 불가능성, 탈퇴한 사용자로부터의 안전성을 만족함을 보인다.
5.3.1 질의 프라이버시(Query Privacy)
부명제 L E( .)이 의사 난수 치환이고 九( .)가 의사 난수 함수라면 제안하는 기법은 질의 프라이버시를 만족한다.
증명) 주어진 t개의 질의에 대한 흔적 彳를 이용해서 시뮬레이터 S가 匕와 구별 불가능한 **를 시뮬레이션 한다면 질의 프라이버시를 제공한다는 것을 증명하기에 충분하다.
시뮬레이터 , 아는 질의에 대한 흔적 Tt = eEID\, 阕…, 〃(4)}가 주어진다. 이런 흔적 彳가 R 틔瓦”5%, , , 0, &幅}로부터 발생했다고 하자. 또한 이런 R가 실제 데이터베이스 사용자 집합 心(灼, ...叩如)와 질의 키워드 집합 庵 妈)로부터 "(4) = (。4出}时丿가 되도록 발생했다고 하자.
시뮬레이터 S는 力와 增를 모르지만 Vt = {EId, SUyQANSA와 구별 불가능한 V* = [E.fD, SUl, at, 를 생성하기 위해서 임의로 行= {0:诚)}爵와 町 = (衣;, ..., 更4)를 〃(<?;) = “(%)가 만족되게끔 생성한다. S는 또한 임으로 £, 足诚, )를 생성한다. 그런 이후에 S는(3*J 如、), Z/.H{를 이용해서 〃(q;) = “(%)가 되도록 제안된 프로토콜을 그대로 실행한다. S는 이렇게 실행한 후에 만들어지는 ** = {副, , 血為, (/ &V矿}를 출력한다.
Id". p")과 (D, 弔)는 비록 다를지라도, vt = [eid, 呢}와 v; = {e*suL, q"ans:}는 같은질의에 대한 흔적을 가지고 있다. 즉, 4 = T이다. 또한, £.( .)가 의사 난수 치환이고, hs ( .)가 의사 난수 함수라면 % = {EID, SUllsV 0&VSJ와 匕* = {磋题為, Q"4¥S;*}는 계산적으로 구별 불가능하다는 것을 알 수 있다.
5.3.2. 질의 위조 불가능성(Query unforgerability)
부명제 2. BLS short signature7]- 안전하면 제안하는 기법은 질의 위조 불7]능성을 만족한다. 증명) 공격자를 사용자가 공격자가 되는 경우인 악의적인 사용자 /坛와 서버가 공격자가 되는 경우인 악의적인 서버 4로 정의하고, 이 두 가지 공격자에 대해서 제안하는 기법의 안전성을 증명을 한다.
i ) 공격자 Av
제안하는 기법의 질의를 위조하는 공격자 孔, 를 이용해서 BLS 서명을 위조하는 공-격자 B를 만들 수 있음을 보임으로써 제안하는 기법의 질의 위조 불가능성에 대한 안전성을 증명한다. 공격자 4^4는 타겟 사용자인 "의 질의의 집합 Q= {"赤®.(皿)%...}을 Qu.ery(qk;, *)를 통해서 얻을 수 있다.
- Setup : 준비과정에서 B는 BLS short signature의 변수들인 %q, e를 사용한다. E는 임의의 시드(seed)값 s를 선택한다’ k* 을 선택하기 위해서 B는 fc戶£彳를 택해서 及={小.., 서, ”.사를 설정한다. 여기서 max는 최대 사용자 수를 나타낸다. 리고 .X Iff~ n _나서 B는 km= ye' =g J" wq를 계산한다.
- Join : 사용자 «를 등록하기 위해서 3는 K로부터 임의의 값을 뽑아서 사용자 "의 키로 지정한다. 각각의 사용자 以戶 Z7\{아에 대해서 다른 如三R를 선택해서 (%"」= ((為, 心)를 설정한다. 타겟 사 . nt용자 "에 대해서는 S. = g”■, 로 설정한다. 匕는 "戶 에 대해서 仙"를』£/에게 준다. 이렇게 설정하면 타겟 사용자 w의 개인키 处 = *가 된다.
- Store, Search : 이 세 단계 에서는 3가 이전 단계에서 모든 사용자의 SIS를 생성했기 때문에 그 값을 이용해서 .歹卜 冬, 의 모든 요청0!「응답할 수가 있다.
- Query : 3는 서명을 위조하는 공격자이기 때문에서명 오라클 <9( .)을 이용할 수 있다. 그리고 B는 A(, 의 h, (.产를 시뮬레이션 해주기 위해서 서명 오라클 0( .)을 사용한다. /까 키워드 it를 /侦로부터 받으면 B는 w를 0( . )에게 주어서 결과를 받는다. 이러한 결과가 유효한 것인지 서명 기법의 확인 알고리즘을 통해서 확인한 후 유효하다면 그 결과를 /坛에게 준다. 勺 에 의해서 얻은 집합 版(叫件相皿)%...}은 "(叫)勺血2)七…}가 되고 이러한 값은 BLS signature의 형태가 된다.
- A, 7\ 질의 위조에 성공해서 위조된 질의를 출력하면 B는 &가 위조한 값을 그대로 출력함으로써 BLS short signature를 위조할 수 있다.
ii) 공격자 As
증명방법은 i )과 동일하다. 다른 점은 위의 공격자 4匕와는 다르게는 서버가 공격자인 형태이므로 시드값 s를 알지 못하는 대신에 常를 알게 된다. 자세한 증명은 다음과 같다.
- Setup : i )과 동일하다.
- Join : 기본적인 키의 생성방법은 i )과 동일하지만 4s는 서버이기 때문에 qk«를 주는 것이 아니라, 常 를 공격자인에거] 준다는 점만 다르다.
- Store, Search : i )과 동일하다.
- Query : 는 Query(qku, .) 오라클을 사용해서 타겟 사용자 法에 대한 질의를 얻을 수 있다. 나머지 과정은 i )과 동일하다.
- 4$가 질의 위조에 성공해서 위조된 질의를 출력하면 3는가 위조한 값을 그대로 출력함으로써 BLS short signature# 위조할 수 있다.
5.3.3 탈퇴한 사용자로부터의 안전성(Full-revocability)
부명제 3. 瓦 .)이 안전한 암호화 기법이라면 제안하는 기법은 탈퇴한 사용자로부터의 안전성을 만족한다.
증명) %向弓^에 대해서 虹, 蝠를 각각 키워드 細, 1勺에 대한 인덱스를 생성하는 키라고 했을 때 두개의 키워드에 대한 인덱스는 4 = {%气(%)}, 4 = {4, 耳「%)}로 구성된다. 탈퇴한 사용자는 suUst 에서 값이 삭제되었기 때문에 虹也, 를 생성할 수가없다. 그리고 0 .)이 안전한 암호화 기법이기 때문에 ■%, 叫어】 관한 정보를 얻을 수 없다. 마찬가지로 g气 乩*0), g气%, (妃에 대해서도 복호화 해 볼 수 있는키를 생성할 수 없고, £( .)가 안전한 암호화 기법이기 때문에 弗山에 관한 정보도 얻을 수 없다. 그러므로 旬는 %-%쌍에 대한 암호문인지 凹-诺쌍에 대한 암호문인지 탈퇴한 사용자 입장에서는 구별 불가능하다. 즉, 4장에서 정의한 수식 (3)이 만족함을 보일수 있다.
5.4. 분석
이번 절에서는 다수의 사용자를 고려한 다른 기법들〔5.10, 11, 12〕과 제안하는 기법을〔표 2〕와 같이 비교 분석한다. ( * : 동적인 환경을 고려했으나 안전하지 않음)
(표 2) 기존 기법과 제안하는 기법의 비교
문헌〔5〕.〔10〕과〔12〕는 유일한 데이터 공급자를 가지며, 데이터 공급자가 다수의 데이터 검색자에 대해 접근제어 정책을 설정하는 환경에서 기법을 제안하였다. 하지만 데이터 공급자가 문서를 서버에 저장할 때 접근제어 정책이 결정되는 구조이기 때문에 데이터 검색자의 추가적인 등록 및 탈퇴가 불가능한 단점을 가진다. 그리고 문헌〔11〕은 다수의 데이터 공급자와 다수의 데이터 검색자를 고려한 환경에서 기법을 제안하였다. 하지만 이것은 탈퇴자로부터의 안전성에 결함을 가진다. 다시 말하면, 서버에 저장되는 모든 문서의 암호화 키가 동일하기 때문에 탈퇴한 사용자도 도청을 통해 얼마든지 추가적인 정보의 획득이 가능하다. 우리가 제안하는 기법은 문헌〔11〕에서의 장점을 모두 수렴하면서도, 모든 문서의 암호화 키를 다르게 설정하였다. 즉, 본 논문에서 최초로 동적 환경에서 안전한 기법을 제안하였다. 또한 제안하는 기법에서 서버를 반卜신뢰 (semi-trust)한다는 가정하에 데이터공급자가 문서를 암호화하여 저장할 때 접근 가능한 사용자 목록을 추가적으로 저장하는 방법을 사용하여 접근제어 정책이 가능하다.
Ⅵ. 결론
본 논문에서는 동적 환경에서 프라이버시를 보호하는 키워드 검색 기법을 제안하였다. 기존 연구에서 모든 문서의 동일한 암호화 키를 사용하는 문제점을 해결하기 위해 본 논문에서는 암호화된 문서별로 다른암호화 키를 설정하였으며, 사용자가 문서를 검색할때 문서에 대한 암호화 키를 계산할 수 있기 때문에암호화된 문서의 복호화가 가능하다. 결과적으로 제안하는 기법은 다수의 사용자 환경에서 탈퇴한 사용자에대한 안전성을 가지는 최초의 기법이며, 제안하는 기법을 사용하여 동적 환경에서 사용자의 프라이버시를보호하는 키워드 검색이 가능하다.
* 본 연구는 지식경제부 및 한국산업기술평가관리원의 산업 원천기술개발사업 (정보통신 〔KI0021L3, ca「헬스케어 보안 기술개발〕과 지식경제부 및 정보통신산업진흥원의 "대학 IT연구센터 육성•지원사업” 사업의 일환으로 수행하 였음 (NIPAr201CH;109(E1001T)004)
참고문헌
- 김선영, 서재우, 이필중, "검색가능 암호기술의 연구 동향," 정보보호학회지, 19(2), pp. 63-73, 2009년 4월.
- D. Song, D. Wagner, and A. Perrig, "Practical Techniques for Searches on Encrypted Data," IEEE Symposium on Security and Privacy, pp. 44-55, May 2000.
- E. Goh, "Secure Indexes," Technical report 2003/216, In IACR ePrint Cryptography Archive, Oct. 2003.
- Y. Chang, and M. Mitzenmacher, "Privacy Preserving Keyword Searches on Remote Encrypted Data," ACNS, LNCS 3531, pp. 442-455, 2005.
- R. Curtmola, J. Garay, S. Kamara, R. Ostrovskey. "Searchable Symmetric Encryption: Improved Definitions and Efficient Constructions," ACM CCS, pp. 79-88, Oct. 2006.
- D. Boneh, G. Crescenzo, R. Ostrovsky, and G. Persiano, "Public Key Encryption with Keyword Search," EUROCRYPT, LNCS 3027, pp. 506-522, 2004.
- P. Golle, J. Staddon, and B. Waters, "Secure Conjunctive Keyword Search over Encrypted Data," ACNS, LNCS 3089, pp. 31-45, 2004.
- D. Boneh and B. Waters, "Conjunctive, Subset, and Range Queries on Encrypted Data," TCC, LNCS 4392, pp. 535-554, 2007.
- J. Katz, A. Sahai, and B. Waters, "Predicate Encryption Supporting Disjunctions, Polynomial Equations, and Inner Products," EUROCRYPT, LNCS 4965, pp. 146-162, 2008.
- S. Yau and Y. Yin, "Controlled privacy preserving keyword search," ASIACCS, pp. 321-324, Mar. 2008
- F. Bao, R. Deng, X. Ding, and Y. Yang, "Private query on encrypted data in multi-user settings," Information Security Practice and Experience, 4th International Conference, LNCS 4991, pp. 71-85. 2008.
- 노건태, 천지영, 정익래, 이동훈, "프라이버시를 보호하는 접근제어가 가능한 키워드 검색 기법," 정보보호학회논문지, 19(5), pp. 35-44, 2009년 10월.
- D. Boneh, B. Lynn, and H. Shacham, "Short signatures from the Weil Pairing," ASIACRYPT, LNCS 2248, pp. 514-532. 2001.