KR101398216B1 - 검색 가능한 암호화 방법 및 암호화된 데이터 검색방법 - Google Patents

검색 가능한 암호화 방법 및 암호화된 데이터 검색방법 Download PDF

Info

Publication number
KR101398216B1
KR101398216B1 KR1020120116947A KR20120116947A KR101398216B1 KR 101398216 B1 KR101398216 B1 KR 101398216B1 KR 1020120116947 A KR1020120116947 A KR 1020120116947A KR 20120116947 A KR20120116947 A KR 20120116947A KR 101398216 B1 KR101398216 B1 KR 101398216B1
Authority
KR
South Korea
Prior art keywords
encrypted
data
keyword
key
encryption
Prior art date
Application number
KR1020120116947A
Other languages
English (en)
Other versions
KR20140050477A (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 KR1020120116947A priority Critical patent/KR101398216B1/ko
Publication of KR20140050477A publication Critical patent/KR20140050477A/ko
Application granted granted Critical
Publication of KR101398216B1 publication Critical patent/KR101398216B1/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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • 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/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption

Landscapes

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

Abstract

본 발명은 검색 가능한 암호화 방법 및 암호화된 데이터 검색 방법으로서, 서버에 저장할 데이터로부터 추출된 키워드들과 각 키워드의 빈도의 목록으로 구성된 인덱스를 생성하고, 암호화 및 복호화용 키들을 생성하는 준비 단계와, 암호화용 키를 이용하여 데이터, 인덱스 내부의 키워드 및 인덱스 내부의 키워드 빈도를 각각 암호화하여 서버에 저장하는 암호화 단계와, 서버로부터 암호화된 데이터를 검색하기 위한 검색 키워드를 포함하는 검색 기준을 생성하고, 생성된 검색 기준을 프록시 재-암호화 방법(proxy re-encryption)으로 암호화하는 검색 기준 생성 단계와 암호화된 검색 기준에 기초하여 검색 질의 생성하고, 생성된 검색 질의를 준동형 암호화 방법으로(homomorphic encryption) 암호화하여 서버로 전송하는 검색 질의 생성 단계와 서버에서 암호화된 검색 질의에 대한 평가를 암호화 상태에서 수행하여 검색 질의 평가 결과를 도출하는 검색 질의 평가 단계와 검색 질의 평가 결과에 기초하여 원하는 데이터를 검출하는 데이터 검출 단계를 포함한다.

Description

검색 가능한 암호화 방법 및 암호화된 데이터 검색방법{METHOD FOR SEARCHABLE ENCRYPTION AND METHOD FOR SEARCHING OF ENCRYPTED DATA}
본 발명은 데이터 암호화 방법 및 암호화된 데이터의 검색방법에 관한 것이다. 보다 상세하게는, 검색 가능한 데이터 암호화 방법과 검색 정보의 노출 없이 외부 서버에 저장된 암호화된 데이터로부터 원하는 데이터를 검색하는 방법에 관한 것이다.
최근 클라우드 스토리지와 같은 외부 저장 공간에 저장된 데이터에 대한 보안 문제가 이슈가 되고 있다. 외부 저장 공간에 저장된 데이터를 보호하기 위해 접근 제어나 키 관리 기술들이 주로 사용되는데, 이는 외부 침입자를 막기에 유효한 방법이지만 외부 저장 공간의 운영자가 저장되어 있는 데이터를 악의적으로 사용하는 것을 근본적으로 방지하지 못한다. 이렇게 신뢰할 수 없는 외부 저장 공간의 운영자로부터 데이터를 안전하게 보호하기 위하여 데이터를 암호화하여 저장하는 방법을 이용할 수 있다. 그러나 이러한 방법은 일반적인 데이터 검색 방법으로는 사용자가 원하는 데이터에 대한 검색이 불가능하다는 문제점을 갖는다. 따라서 검색 가능한 암호화 방법 및 암호화된 데이터에 대한 검색 방법을 고려할 필요가 있다.
2000년 Song XD외 다수에 의해 제시된 내용에는 검색 가능한 대칭 키 암호방식(Symmetric Key Cryptography, SKC)이 기재되어 있는데, 이 방식은 트랩도어들을 이용함으로써 암호화된 데이터로부터 특정 키워드에 대한 검색을 가능하게 한다. 2004년 Boneh 외 다수에 의해 제시된 내용에는 검색 가능한 공개 키 암호방식(Public Key Cryptography, PKC)이 기재되어 있는데, 이 방식 역시 암호화된 데이터에 대한 검색을 위하여 트랩도어를 이용한다. 이러한 SKC와 PKC는 트랩도어들의 수에 의해 사용자가 이용할 수 있는 검색 질의의 수가 제한된다는 문제점을 갖는다. 나아가 트랩도어를 이용한 검색 방법은 외부 저장공간에 저장된 데이터에 대한 수정을 가할 때마다 트랩도어를 업데이트하고 재분배할 필요가 있다는 문제점을 갖는다.
그래서 2011년 Kmara S외 다수에 의해 제시된 내용에는 검색 인증(Search Authentication, SA)을 갖는 대칭 검색가능 암호방식(Symmetric Searchable Encryption, SSE)이 기재되어 있는데, 이 방식은 암호화된 데이터를 검색하기 위하여 반전 인덱스(inverted index)를 이용한다. 그러나, 이 방식은 개인 스토리지 시스템에 한정되어 여러 사용자들이 암호화된 데이터를 검색하는 것을 허용하지 않는다는 문제점을 갖는다.
본 발명은 프록시 재-암호화 방법 및 준동형 암호화 방법으로 암호화된 검색 질의에 기초하여 암호화 상태에서 검색 질의를 수행하므로 검색 정보의 노출 없이 외부 서버에서 원하는 데이터를 검색하는 방법을 제공한다.
또한, 본 발명은 사용자가 검색 질의의 수의 제한 없이 암호화된 데이터를 검색하는 방법을 제공한다.
또한, 본 발명은 암호화된 데이터에 대한 검색을 승인 받은 다수의 사용자가 암호화된 데이터를 검색하는 방법을 제공한다.
일 실시예에 따른 검색 가능한 암호화 방법 및 암호화된 데이터 검색 방법은 서버에 저장할 데이터로부터 추출된 키워드들과 각 키워드의 빈도의 목록으로 구성된 인덱스를 생성하고, 암호화 및 복호화용 키들을 생성하는 준비 단계와, 암호화용 키를 이용하여 데이터, 인덱스 내부의 키워드 및 인덱스 내부의 키워드 빈도를 각각 암호화하여 서버에 저장하는 암호화 단계와, 서버로부터 암호화된 데이터를 검색하기 위하여 검색 키워드를 포함하는 검색 기준을 생성하고 생성된 검색 기준을 암호화하는 검색 기준 생성 단계와, 암호화된 검색 기준에 기초하여 검색 질의 생성하고생성된 검색 질의를 암호화하여 서버로 전송하는 검색 질의 생성 단계와 서버에서 암호화된 검색 질의에 대한 평가를 수행하여 검색 질의 평가 결과를 도출하는 검색 질의 평가 단계와, 검색 질의 평가 결과에 기초하여 원하는 데이터를 검출하는 데이터 검출 단계를 포함한다.
하나의 보충적이거나 대안적인 실시예에서, 검색 가능한 암호화 방법 및 암호화된 데이터 검색 방법에서 암호화 단계는 데이터 암호화용 비밀 키를 이용하여 대칭키 암호화 방법으로 데이터를 암호화하고, 키워드 암호화용 데이터 소유자 키를 이용하여 프록시 재-암호화 방법로 인덱스 내부의 키워드를 암호화하고, 키워드 빈도 암호화용 비밀 키를 이용하여 대칭키 암호화 방법으로 인덱스 내부의 키워드 빈도를 암호화하는 것을 특징으로 한다.
다른 보충적이거나 대안적인 실시예에서, 검색 가능한 암호화 방법 및 암호화된 데이터 검색 방법에서 암호화 단계는 데이터와 인덱스 내부의 키워드가 각각 분리되어 암호화되고 저장되기 때문에 데이터의 내용을 나타내는 적합한 키워드를 선택하기 위하여 데이터의 변화 없이 인덱스 내부의 키워드들을 변경할 수 있는 것을 특징으로 한다.
다른 보충적이거나 대안적인 실시예에서, 검색 가능한 암호화 방법 및 암호화된 데이터 검색 방법에서 준비 단계는 검색 기준 암호화용 사용자 키를 생성하고, 사용자 키 암호화용 사용자 공공 키 및 사용자 키 복호화용 사용자 개인 키를 생성하는 것을 특징으로 하고, 암호화 단계는 사용자 공공 키를 이용하여 비대칭키 암호화 방법으로 사용자 키를 암호화하여 서버에 저장하는 것을 더 포함하고, 키워드 빈도 암호화용 비밀 키를 이용하여 준동형 암호화 방법으로 생성된 검색 질의를 암호화하여 서버로 전송하는 것을 특징으로 한다.
다른 보충적이거나 대안적인 실시예에서, 검색 가능한 암호화 방법 및 암호화된 데이터 검색 방법에서 준비 단계는 서버에 저장된 데이터 소유자 키를 이용하여 암호화된 키워드를 변환하여 재 암호화하는데 이용되는 변환 키를 생성하는 것을 특징으로 한다.
다른 보충적이거나 대안적인 실시예에서, 검색 가능한 암호화 방법 및 암호화된 데이터 검색 방법에서 검색 질의 평가 단계는 변환 키를 이용하여 프록시 재-암호화 방법으로 암호화된 키워드를 재 암호화하고, 재 암호화된 키워드와 암호화된 검색 질의를 비교하여 암호화된 검색 질의에 대한 평가를 수행함으로써 암호화된 평가 값을 계산하는 것을 특징으로 하고, 암호화된 평가 값은 암호화된 검색 질의를 구성하는 검색 키워드가 재 암호화된 키워드를 구성하는 저장 키워드들에 포함되는 지에 대한 암호화된 정보 값을 의미하는 것을 특징으로 한다.
다른 보충적이거나 대안적인 실시예에서, 검색 가능한 암호화 방법 및 암호화된 데이터 검색 방법에서 검색 질의 평가 단계는 준동형 암호화 방법을 이용하여 암호화된 상태에서 검색 질의에 대한 평가를 수행하므로 서버에 검색 정보에 대한 노출이 없는 것을 특징으로 한다.
다른 보충적이거나 대안적인 실시예에서, 검색 가능한 암호화 방법 및 암호화된 데이터 검색 방법에서 데이터 검출 단계는 준동형 암호화 방법으로 암호화된 평가 값을 복호화하고, 복호화된 평가 값에 기초하여 암호화된 키워드를 복호화하고 암호화된 키워드 빈도를 복호화하여 원하는 데이터를 검출하는 것을 특징으로 한다.
본 발명은 프록시 재-암호화 방법과 준동형 암호화 방법으로 암호화된 검색 질의에 기초하여 암호화 상태에서 검색 질의를 수행하므로 외부 서버에서 데이터를 검색하는 과정에서 외부 서버 등에 검색 정보 등의 노출을 막을 수 있어 데이터의 기밀성이 보장된다.
또한, 본 발명은 트랩도어를 이용하는 대신에 고유의 검색 질의를 정의해서 데이터를 검색하는 방법이므로 사용자가 검색 질의의 수의 제한 없이 암호화된 데이터를 검색할 수 있다.
또한, 본 발명은 데이터 소유자에 의해 제공된 사용자키를 승인된 사용자에게 발급함으로써 검색을 승인 받은 다수의 사용자가 암호화된 데이터를 검색할 수 있다.
도 1는 본 발명의 일 실시예에 따른 검색 가능한 암호화 방법 및 암호화된 데이터의 검색 방법에 대한 순서도이다.
도 2는 본 발명의 일 실시예에 따른 검색 가능한 암호화 방법의 순서도이다.
도 3는 본 발명의 일 실시예에 따른 암호화된 데이터의 검색 방법의 순서도이다.
도 1은 본 발명의 일 실시예에 따른 검색 가능한 암호화 방법 및 암호화된 데이터의 검색 방법에 대한 순서도이다.
도 1을 참조하면 검색 가능한 암호화 방법 및 암호화된 데이터의 검색 방법은 준비단계(S110), 암호화 단계(S120), 검색 기준 생성 단계(S130), 검색 질의 생성 단계(S140), 검색 질의 평가 단계(S150), 데이터 검출 단계(S160)를 포함한다.
준비단계(S110)를 설명하면, 이는 데이터 소유자 단말(10)에서 수행되나, 이에 한정되지 않는다. 여기서 우선 데이터 소유자 단말(10)은 인덱싱 알고리즘을 이용함으로써, 인덱스
Figure 112012085456331-pat00001
를 생성한다.
Figure 112012085456331-pat00002
는 키워드와 각 키워드 빈도의 목록을 포함한다.
향후 검색 질의들은 이 키워드들에 기초하여 평가될 수 있다. 그리고,
Figure 112012085456331-pat00003
가 생성되면, 데이터 소유자 단말(10)은 데이터 소유자 키
Figure 112012085456331-pat00004
, 사용자 키
Figure 112012085456331-pat00005
및 변환 키
Figure 112012085456331-pat00006
를 생성함으로써, 프록시 재-암호화 방법을 초기화한다.
다음으로, 암호화 단계(S120)를 설명하면, 이는 데이터 소유자 단말(10)에서 수행되나, 이에 한정되지 않는다. 데이터 소유자 단말(10)은 일반적인 부호화 함수를 사용하여, 인덱스 내부의 키워드들을
Figure 112012085456331-pat00007
를 부호화한다.
그리고, 데이터 소유주 키
Figure 112012085456331-pat00008
를 이용하여 부호화된 키워드들
Figure 112012085456331-pat00009
을 프록시 재-암호화 알고리즘(proxy re-encrytion)으로 암호화한다.
여기서, 외부 서버가 중개자의 비밀키로 암호화된 키워드 빈도로부터, 암호화된 키워드들에 대한 어느 정보도 알아낼 수 없게 할 수 있다. 그리고, 데이터 소유자 단말(10)은 외부 서버에 저장된 암호화된 데이터에 대한 검색 능력을 승인 받기를 원하는 사용자의 공공 키를 가지고 사용자 키를 암호화한다.
일단, 데이터 소유자 단말(10)이
Figure 112012085456331-pat00010
,
Figure 112012085456331-pat00011
Figure 112012085456331-pat00012
를 확보하면 암호화하여, 암호화된 데이터와 함께, 암호화된 키워드
Figure 112012085456331-pat00013
, 암호화된 키워드 빈도
Figure 112012085456331-pat00014
및 암호화된 사용자 키
Figure 112012085456331-pat00015
를 외부 서버에 저장한다.
그리고, 이러한 암호화 단계(S120)는 데이터와 인덱스 내부의 키워드가 각각 분리되어 암호화하고 저장하므로, 데이터의 내용을 나타내는 적합한 키워드를 선택하기 위하여 상기 데이터의 변화 없이 인덱스 내부의 키워드들을 변경할 수 있다.
다음으로, 검색 기준 생성 단계(S130)를 설명하면, 우선 사용자 단말(50)은 외부 서버로부터 암호화된 사용자 키를 내려 받고, 사용자 개인키를 이용하여 복호화한다.
여기서, 사용자 키를 비대칭 암호화 방식으로 암호화하여 승인된 사용자에게 발급하는 것은 인덱스 내부의 키워드를 각 승인된 사용자에게 분리하여 암호화할 필요 없이 다수의 사용자가 암호화된 데이터에 대하여 검색하는 것을 가능하게 한다. 그리고, 키워드들의 목록
Figure 112012085456331-pat00016
으로 구성된, 즉 검색 키워드로 구성된 검색 기준
Figure 112012085456331-pat00017
을 정의하고,
Figure 112012085456331-pat00018
을 일반적인 부호화 함수를 사용하여 부호화한다.
그리고, 외부 서버나 중개자 단말(30)로부터 키워드들의 기밀성을 보장하기 위하여, 사용자 키를 이용하여
Figure 112012085456331-pat00019
을 프록시 재-암호화 방법에 의해 암호화한다.
그리고, 암호화된 검색 기준을 중개자 단말(30)에 보낸다.
다음으로, 검색 질의 생성 단계(S140)를 설명하면, 검색 질의 생성 단계는 중개자 단말에서 수행될 수 있으나, 이에 한정되지 않는다. 여기서, 중개자 단말(30)은
Figure 112012085456331-pat00020
를 수신하여, 이에 기초하여 검색질의를 생성한다. 검색 질의는 다항식
Figure 112012085456331-pat00021
으로 모델링 될 수 있다. 다항식
Figure 112012085456331-pat00022
은 수학식 1과 같이 묘사된다.
Figure 112012085456331-pat00023
일단,
Figure 112012085456331-pat00024
Figure 112012085456331-pat00025
에 기초하여 정의되면, 중개자 단말(30)은 중개자 준동형 공공 키
Figure 112012085456331-pat00026
, 준동형 비밀 키
Figure 112012085456331-pat00027
를 생성함으로써, 준동형 암호화 방법(homomorphic encryption)을 초기화한다. 준동형 암호화 방법을 이용함으로써, 암호화된 상태에서 키워드 검색을 통한 원하는 데이터를 검색하는 것이 가능할 수 있다.
그리고, 중개자 단말(30)은
Figure 112012085456331-pat00028
를 사용하여 준동형 암호화 알고리즘을 으로
Figure 112012085456331-pat00029
의 계수
Figure 112012085456331-pat00030
를 암호화한다.
그리고, 암호화된 검색질의
Figure 112012085456331-pat00031
Figure 112012085456331-pat00032
은 외부 서버로 전송된다. 여기서, 암호화된 계수들
Figure 112012085456331-pat00033
은 암호화된 역 인덱스(암호화된 키워드)
Figure 112012085456331-pat00034
에 대한 검색 질의를 평가하기 위하여 사용된다.
다음으로, 검색 질의 평가 단계(S150)를 설명하면, 중개자 단말(30)에 의하여 외부 전송된 암호화된 검색 질의
Figure 112012085456331-pat00035
는 암호화된 키워드
Figure 112012085456331-pat00036
에 대응하여 평가된다.
Figure 112012085456331-pat00037
를 수신하면, 외부 서버는 데이터 소유자에 의하여 제공된 각각의 사용자 변환 키
Figure 112012085456331-pat00038
를 가지고 암호화된 키워드를
Figure 112012085456331-pat00039
를, 키워드 암호화문으로 변환한다.
암호화된 키워드가 키워드 암호화문으로 변환되면, 중개자 단말(30)은
Figure 112012085456331-pat00040
의 계수로
Figure 112012085456331-pat00041
의 각 원소를 사용함으로써, 다항식
Figure 112012085456331-pat00042
을 정의한다. 그리고,
Figure 112012085456331-pat00043
를 평가함으로써, 암호화된 평가 값
Figure 112012085456331-pat00044
을 계산한다
Figure 112012085456331-pat00045
. 여기서,
Figure 112012085456331-pat00046
이고,
Figure 112012085456331-pat00047
은 랜덤 숫자이다. 외부 서버가 수학식 2를 평가해내면, 중개자 단말(30)에 숨겨진 키워드 주파수를 갖는 평가 값의 목록을 포함하는 질의 평가 결과에 대하여 전송 한다.
Figure 112012085456331-pat00048
다음으로, 데이터 검출 단계(S160)를 설명하면, 중개자 단말(30)은 중개자 준동형 비밀 키를 이용하여, 암호화된 평가 값을 복호화한다.
여기서,
Figure 112012085456331-pat00049
는 0 또는 랜덤 숫자가 될 수 있다. 검색 질의가 암호화된 검색 기준 과 동일한 루트를 가지는 수학식 3과 같은 다항식으로서 모델링되기 때문에, 외부 서버에서의 질의 평가는 0 또는 0이 아닌 값이 될 수 있다.
Figure 112012085456331-pat00050
0은 암호화된 검색 질의를 구성하는 검색 키워드가 키워드 암호문을 구성하는 저장 키워드에 포함되는 것을 의미하는 값이고, 0이 아닌 값은 암호화된 검색 질의를 구성하는 검색 키워드가 키워드 암호문을 구성하는 저장 키워드에 포함되지 않는 것을 의미하는 값이다. 검색 키워드가 저장 키워드에 포함되지 않는 경우, 사용자에 의하여 생성된 검색 기준은 무의미한 것이 된다. 그러나, 질의 평과 결과가 0이라면, 사용자의 검색 기준은 유요한 기준이되고, 이런 경우 중개자 단말(30)은 중개자 비밀 키를 사용함으로써, 대응되는 주파수 인덱스를 해독한다.
그리고, 중개자 단말(30)은, 질의 평가 결과를 정렬하고, 사용자 단말(50)에 응답을 준다. 사용자 단말(50)이 중개자 단말(30)의 응답을 수신함에 따라, 사용자 단말(50)은 각 사용자 키를 이용하여 검색 기준을 해독한다.
복호화를 통해, 사용자 단말(50)은 암호화된 키워드와 매칭되는 키워드를 알게 된다. 여기서,
Figure 112012085456331-pat00051
Figure 112012085456331-pat00052
Figure 112012085456331-pat00053
사이의 동일한 숫자 항이다. 결국, 사용자 단말(50)은 인덱스 내부를 구성하는 키워드 및 키워드 빈도에 대한 정보를 획득하여, 외부 서버로부터 원하는 데이터를 검출 할 수 있다.
도 2는 본 발명의 일 실시예에 따른 검색 가능한 암호화 방법의 순서도이다.
데이터 소유자 단말(10)이 서버에 저장하고자 하는 데이터로부터 추출된 키워드와 이에 대응하는 키워드 빈도의 목록으로 구성된 인덱스를 생성한다(S201).
그리고, 데이터 암호화용 비밀키, 데이터 소유자 키, 사용자 키 및 변환 키를 생성한다(S202).
다음으로, 중개자 단말(30)이 중개자 비밀키, 중개자 준동형 비밀 키를 생성한다(S203).
다음으로, 사용자 단말(50)이 사용자 공공 키, 사용자 개인 키를 생성한다(S204).
다음으로, 데이터 소유자 단말(10)이 중개자 단말(30)에 키워드 빈도를 전송한다(S205).
다음으로, 사용자 단말(50)이 데이터 소유자 단말(10)에 사용자 공공키를 전송한다(S206).
다음으로, 데이터 소유자 단말(10)이 데이터 암호화용 비밀키를 이용하여 데이터를 대칭 암호화 방식으로 암호화한다(S207).
그리고, 키워드를 부호화하고, 데이터 소유자 키를 이용하여 부호화된 키워드를 프록시 재-암호화방식으로 암호화한다(S208).
그리고, 사용자 공공 키를 이용하여 사용자 키를 비대칭암호화 방식으로 암호화한다(S209).
다음으로, 중개자 단말(30)이 키워드 주파수 암호화용 제1 중개자 비밀 키를 이용하여 키워드 주파수를 대칭 암호화 방식으로 암호화한다(S210).
그리고, 중개자 단말(30)이 데이터 소유자 단말(10)에 암호화된 키워드 빈도를 전송한다(S211).
다음으로, 데이터 소유자 단말(10)이 암호화된 데이터, 암호화된 키워드와 키워드의 빈도로 구성된 인덱스, 암호화된 사용자 키를 외부 서버(70)에 저장한다(S212).
도 3은 본 발명의 일 실시예에 따른 암호화된 데이터의 검색 방법의 순서도이다.
사용자 단말(50)이 외부 서버(70)에 저장된 암호화된 사용자 키를 다운로드 한다(S301).
그리고, 사용자 개인 키를 이용하여 암호화된 사용자 키를 비대칭 복호화 방식으로 복호화한다(S302).
그리고, 암호화된 데이터의 검색을 위한 키워드를 포함하는 검색 기준을 생성하고, 부호화 함수를사용하여 검색 기준을 부호화하고, 사용자 키를 이용하여 부호화된 검색 기준을 프록시 재-암호화 방식으로 암호화한다(S303).
그리고, 중개자 단말(30)에 암호화된 검색기준을 전송한다(S304).
다음으로, 중개자 단말(30)이 암호화된 검색 기준에 기초하여 검색 질의를 생성하고, 중개자 준동형 비밀키를 이용하여 생성된 검색질의를 준동형 암호화 방식으로 암호화한다(S305).
그리고, 외부 서버(70)에 암호화된 검색질의를 전송한다(S306).
다음으로, 외부 서버(70)가 사용자 키를 이용하여 암호화된 키워드를 프록시 재-암호화 방식으로 재암호한다(S307).
그리고, 암호화된 검색질의를 암호화 상태에서 수행한다(S308).
그리고, 중개자 단말(30)에 암호화된 질의 수행 결과를 전송한다(S309).
다음으로, 중개자 단말(30)은 암호화된 질의 수행 결과를 복호화한다(S310).
그리고, 사용자 단말(50)에 질의 수행 결과를 전송한다(S311).
다음으로, 사용자 단말(50)은 암호화된 검색기준을 복호화한다(S311).
그리고, 암호화된 검색기준을 복호화한다(S312).
그리고, 사용자가 원하는 데이터를 검출한다(S313)
10 :데이터 소유자 단말
30 : 중개자 단말
50 : 사용자 단말
70 : 외부 서버

Claims (9)

  1. 서버에 저장할 데이터로부터 추출된 키워드들과 각 키워드의 빈도(frequency)의 목록으로 구성된 인덱스를 생성하고, 암호화 및 복호화용 키들을 생성하는, 준비 단계;
    상기 암호화용 키를 이용하여 데이터, 인덱스 내부의 키워드 및 인덱스 내부의 키워드 빈도를 각각 암호화하여 서버에 저장하는, 암호화 단계;
    서버로부터 암호화된 데이터를 검색하기 위한 검색 키워드를 포함하는 검색 기준을 생성하고, 상기 생성된 검색 기준을 프록시 재-암호화 방법(proxy re-encryption)으로 암호화하는, 검색 기준 생성 단계;
    상기 암호화된 검색 기준에 기초하여 검색 질의 생성하고, 상기 생성된 검색 질의를 준동형 암호화 방법으로(homomorphic encryption) 암호화하여 서버로 전송하는, 검색 질의 생성 단계;
    서버에서 상기 암호화된 검색 질의에 대한 평가를 암호화 상태에서 수행하여 평가 값을 도출하는, 검색 질의 평가 단계; 및
    상기 평가 값에 기초하여 서버로부터 데이터를 검출하는, 데이터 검출 단계를 포함하며,
    상기 검색 질의 생성 단계는 중개자 단말에서 상기 검색 질의의 생성을 수행하는 것을 특징으로 하는, 검색 가능한 암호화 방법 및 암호화된 데이터 검색 방법.
  2. 제 1항에 있어서,
    상기 암호화 단계는
    데이터 암호화용 비밀 키를 이용하여 대칭키 암호화 방법으로 상기 데이터를 암호화하고, 키워드 암호화용 데이터 소유자 키를 이용하여 프록시 재-암호화 방법로 상기 인덱스 내부의 키워드를 암호화하고, 키워드 빈도 암호화용 비밀 키를 이용하여 대칭키 암호화 방법으로 상기 인덱스 내부의 키워드 빈도를 암호화하여, 서버로 전송하는 것을 특징으로 하는, 검색 가능한 암호화 방법 및 암호화된 데이터 검색 방법.
  3. 제 1항에 있어서,
    상기 암호화 단계에서 상기 데이터와 상기 인덱스 내부의 키워드가 각각 분리되어 암호화되고 저장되는 것을 특징으로 하는, 검색 가능한 암호화 방법 및 암호화된 데이터 검색 방법.
  4. 제 2항에 있어서,
    상기 준비 단계는 상기 검색 기준 암호화용 사용자 키를 생성하고, 상기 사용자 키 암호화용 사용자 공공 키 및 상기 사용자 키 복호화용 사용자 개인 키를 생성하는 것을 특징으로 하고,
    상기 암호화 단계는 상기 사용자 공공 키를 이용하여 비대칭키 암호화 방법으로 상기 사용자 키를 암호화하여 서버에 저장하는 것을 더 포함하는 것을 특징으로 하는, 검색 가능한 암호화 방법 및 암호화된 데이터 검색 방법.
  5. 제 4항에 있어서,
    상기 서버로부터 암호화된 사용자 키를 내려 받아 상기 사용자 개인 키를 이용하여 복호화하는 단계를 더 포함하고,
    상기 검색 기준 생성 단계는 상기 복호화된 사용자 키를 이용하여 프록시 재-암호화 방법으로 상기 생성된 검색 질의를 암호화하는 것을 특징으로 하는, 검색 가능한 암호화 방법 및 암호화된 데이터 검색 방법.
  6. 삭제
  7. 제 5항에 있어서,
    상기 준비 단계는 데이터 소유자 키를 이용하여 암호화된 키워드를 변환하고 재 암호화하여 암호화된 키워드 암호문을 생성하는데 이용되는 변환 키를 생성하는 것을 특징으로 하고,
    상기 검색 질의 평가 단계는,
    상기 암호화된 키워드를 상기 변환 키를 이용하여 프록시 재-암호화 방법으로 재 암호화하여 키워드 암호문을 생성하는 제 1단계와, 상기 키워드 암호문과 상기 암호화된 검색 질의를 암호화된 상태에서 비교하여 상기 검색 질의에 대한 평가를 수행함으로써 암호화된 평가 값을 도출하는 제 2 단계를 포함하는 것을 특징으로 하는, 검색 가능한 암호화 방법 및 암호화된 데이터 검색 방법.
  8. 제 7항에 있어서,
    상기 암호화된 평가 값은 상기 암호화된 검색 질의를 구성하는 검색 키워드가 상기 키워드 암호문을 구성하는 저장 키워드들에 포함되는지 여부에 대한 암호화된 정보인 것을 특징으로 하는, 검색 가능한 암호화 방법 및 암호화된 데이터 검색 방법.
  9. 제 7항에 있어서,
    상기 검색 질의 평가 단계는
    준동형 암호화 방법을 이용하여 암호화된 상태에서 검색 질의에 대한 평가를 수행하므로 서버에 검색 정보에 대한 노출이 없는 것을 특징으로 하는, 검색 가능한 암호화 방법 및 암호화된 데이터 검색 방법.



KR1020120116947A 2012-10-19 2012-10-19 검색 가능한 암호화 방법 및 암호화된 데이터 검색방법 KR101398216B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120116947A KR101398216B1 (ko) 2012-10-19 2012-10-19 검색 가능한 암호화 방법 및 암호화된 데이터 검색방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120116947A KR101398216B1 (ko) 2012-10-19 2012-10-19 검색 가능한 암호화 방법 및 암호화된 데이터 검색방법

Publications (2)

Publication Number Publication Date
KR20140050477A KR20140050477A (ko) 2014-04-29
KR101398216B1 true KR101398216B1 (ko) 2014-05-22

Family

ID=50655644

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120116947A KR101398216B1 (ko) 2012-10-19 2012-10-19 검색 가능한 암호화 방법 및 암호화된 데이터 검색방법

Country Status (1)

Country Link
KR (1) KR101398216B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101600016B1 (ko) * 2014-12-10 2016-03-15 서울대학교기술지주 주식회사 동형 암호화 알고리즘을 이용한 암호화 방법 및 이를 수행하는 컴퓨팅 장치
US10523417B2 (en) 2016-03-25 2019-12-31 Samsung Electronics Co., Ltd. Apparatus for encryption and search and method thereof

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101657893B1 (ko) * 2015-04-30 2016-09-19 성균관대학교산학협력단 클라우드 서비스를 위한 암호화 방법 및 사용자 장치에 기반한 암호화 방법을 제공하는 클라우드 시스템
KR102402625B1 (ko) 2015-07-02 2022-05-27 삼성전자주식회사 데이터를 관리하는 방법 및 그를 위한 장치들
KR101971215B1 (ko) * 2016-06-17 2019-04-22 서울대학교산학협력단 유효 숫자 연산을 지원하는 동형 암호문의 생성 방법 및 그러한 방법에 의해서 생성된 동형 암호문에 대한 유효 숫자 연산 방법
KR102248756B1 (ko) * 2019-07-18 2021-05-07 국방과학연구소 순방향 안정성을 갖는 탐색 가능한 암호화 시스템과 그 장치 및 방법
KR102178049B1 (ko) * 2020-03-10 2020-11-12 주식회사 피앤피시큐어 개인정보 자산과 사용현황 파악 기반의 데이터 모니터링 방법
KR102508448B1 (ko) * 2020-12-28 2023-03-08 연세대학교 산학협력단 적응적 암호화를 이용한 IoT 서비스 방법 및 IoT 장치
CN114676441B (zh) * 2022-03-18 2024-07-16 上海电力大学 一种多维度信息隐私保护轮廓查询方法
CN115080989B (zh) * 2022-04-19 2024-06-14 北京理工大学 车联网中支持标签范围查询的道路交通网络图加密方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090053037A (ko) * 2007-11-22 2009-05-27 한국전자통신연구원 내적을 이용한 암호화된 데이터 검색 방법 및 이를 위한단말 장치와 서버

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090053037A (ko) * 2007-11-22 2009-05-27 한국전자통신연구원 내적을 이용한 암호화된 데이터 검색 방법 및 이를 위한단말 장치와 서버

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Qingji Zheng 외 1명, ‘Multiparty Cloud Computation’, http://arxiv.org/abs/1206.3717, 17 Jun 2012
Qingji Zheng 외 1명, 'Multiparty Cloud Computation', http://arxiv.org/abs/1206.3717, 17 Jun 2012 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101600016B1 (ko) * 2014-12-10 2016-03-15 서울대학교기술지주 주식회사 동형 암호화 알고리즘을 이용한 암호화 방법 및 이를 수행하는 컴퓨팅 장치
US10523417B2 (en) 2016-03-25 2019-12-31 Samsung Electronics Co., Ltd. Apparatus for encryption and search and method thereof

Also Published As

Publication number Publication date
KR20140050477A (ko) 2014-04-29

Similar Documents

Publication Publication Date Title
KR101398216B1 (ko) 검색 가능한 암호화 방법 및 암호화된 데이터 검색방법
US9275250B2 (en) Searchable encryption processing system
KR100903599B1 (ko) 내적을 이용한 암호화된 데이터 검색 방법 및 이를 위한단말 장치와 서버
JP5420085B2 (ja) データ処理装置及びデータ保管装置
KR101190061B1 (ko) 결합 키워드를 이용한 데이터 암호화 방법 및 데이터 검색방법
Salam et al. Implementation of searchable symmetric encryption for privacy-preserving keyword search on cloud storage
JP5084817B2 (ja) 暗号文の索引付けおよび検索方法と装置
CN113626484A (zh) 一种可灵活替换密文可搜索加密方法、系统及计算机设备
KR20170142872A (ko) 데이터 재-암호화를 통하여 민감한 데이터를 보호하기 위한 컴퓨터-구현 시스템 및 방법
JP6348004B2 (ja) 暗号化データ管理システム、プロキシサーバ、暗号化データ管理方法およびコンピュータプログラム
JP5846198B2 (ja) 乱数値特定装置、乱数値特定システム、および、乱数値特定方法
EP2999159A1 (en) Safety control method for cloud storage
CN114036240A (zh) 一种基于区块链的多服务商隐私数据共享系统和方法
JP2017044779A (ja) 検索可能暗号処理システム
CN107294701B (zh) 具有高效密钥管理的多维密文区间查询装置及查询方法
CN112685753A (zh) 一种用于加密数据存储的方法及设备
CN112000985A (zh) 具有指定条件关键字搜索功能的代理重加密方法和系统
KR101217491B1 (ko) 공개키 기반의 키워드 검색 방법
CN116611083A (zh) 一种医疗数据共享方法及系统
JPH11215117A (ja) 鍵の符号化及び回復方法及び装置
CN111052108A (zh) 数据处理装置、数据处理方法和数据处理程序
US20130333024A1 (en) Random value identification device, random value identification system, and random value identification method
KR102248756B1 (ko) 순방향 안정성을 갖는 탐색 가능한 암호화 시스템과 그 장치 및 방법
CN108920968B (zh) 一种基于连接关键词的文件可搜索加密方法
CN111552988A (zh) 基于蒙特卡罗抽样的前向安全k近邻检索方法及系统

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: 20170410

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180409

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190401

Year of fee payment: 6