KR20100003093A - 암호문 크기를 줄이기 위한 공개키 기반의 검색가능암호문생성 방법과, 그에 따른 공개키 기반의 데이터 검색 방법 - Google Patents

암호문 크기를 줄이기 위한 공개키 기반의 검색가능암호문생성 방법과, 그에 따른 공개키 기반의 데이터 검색 방법 Download PDF

Info

Publication number
KR20100003093A
KR20100003093A KR1020080063202A KR20080063202A KR20100003093A KR 20100003093 A KR20100003093 A KR 20100003093A KR 1020080063202 A KR1020080063202 A KR 1020080063202A KR 20080063202 A KR20080063202 A KR 20080063202A KR 20100003093 A KR20100003093 A KR 20100003093A
Authority
KR
South Korea
Prior art keywords
searchable
cipher text
ciphertext
data
public key
Prior art date
Application number
KR1020080063202A
Other languages
English (en)
Other versions
KR100951034B1 (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 KR1020080063202A priority Critical patent/KR100951034B1/ko
Publication of KR20100003093A publication Critical patent/KR20100003093A/ko
Application granted granted Critical
Publication of KR100951034B1 publication Critical patent/KR100951034B1/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
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • H04L9/3073Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing

Abstract

본 발명은 암호문 크기를 줄이기 위한 공개키 기반의 검색가능암호문 생성 방법과, 그에 따른 공개키 기반의 데이터 검색 방법과, 상기 각 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것으로, 송신 측에서는 키워드들에 대한 검색가능암호문들의 크기를 블룸 필터를 이용하여 줄임으로써, 서버로 전송하는 데이터 전송량을 줄일 수 있으며, 서버 측에서는 그 크기가 줄어든 검색가능암호문들 중에서 수신 측의 검색 키워드가 포함되는 검색가능암호문을 검색함으로써, 데이터 검색에 필요한 데이터 연산량을 줄일 수 있는, 암호문 크기를 줄이기 위한 공개키 기반의 검색가능암호문 생성 방법과, 그에 따른 공개키 기반의 데이터 검색 방법과, 상기 각 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하고자 한다.
이를 위하여, 본 발명은 암호문 크기를 줄이기 위한 공개키 기반의 검색가능암호문 생성 방법에 있어서, 데이터로부터 키워드를 추출하고, 소정의 집합 중에서 어느 하나의 난수를 선택하는 난수 선택 단계; 상기 추출된 키워드 각각에 대한 제1 검색가능암호문을, 상기 선택된 난수와 수신 단말의 공개키를 이용하여 생성하는 제1 암호문 생성 단계; 상기 생성된 제1 검색가능암호문을 해쉬 함수를 이용하여 상기 추출된 키워드에 대응되는 이진 문자열로 변환하는 암호문 변환 단계; 및 상기 이진 문자열과 상기 선택된 난수를 이용하여 제2 검색가능암호문을 생성하는 제2 암호문 생성 단계를 포함한다.
검색가능암호문, 공개키, 비공개키, 트랩도어, 난수, 블룸 필터, 이진 문자열

Description

암호문 크기를 줄이기 위한 공개키 기반의 검색가능암호문 생성 방법과, 그에 따른 공개키 기반의 데이터 검색 방법{METHOD OF PRODUCING SEARCHABLE KEYWORD ENCRYPTION BASED ON PUBLIC KEY FOR MINIMIZING DATA SIZE OF SEARCHABLE KEYWORD ENCRYPTION AND METHOD OF SEARCHING DATA BASED ON PUBLIC KEY THROUGH THAT}
본 발명은 암호문 크기를 줄이기 위한 공개키 기반의 검색가능암호문 생성 방법과, 그에 따른 공개키 기반의 데이터 검색 방법과, 상기 각 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것으로, 더욱 상세하게는 송신 측에서는 키워드들에 대한 검색가능암호문들의 크기를 블룸 필터를 이용하여 줄임으로써, 서버로 전송하는 데이터 전송량을 줄일 수 있으며, 서버 측에서는 그 크기가 줄어든 검색가능암호문들 중에서 수신 측의 검색 키워드가 포함되는 검색가능암호문을 검색함으로써, 데이터 검색에 필요한 데이터 연산량을 줄일 수 있는, 암호문 크기를 줄이기 위한 공개키 기반의 검색가능암호문 생성 방법과, 그에 따른 공개키 기반의 데이터 검색 방법과, 상기 각 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것이다.
인터넷의 급격한 보급과 컴퓨팅 기술의 발전으로 인하여, 자신의 개인 컴퓨터뿐만 아니라, 온라인 저장 서비스 등을 이용하여 개인의 정보를 보관하고 있는 사용자들이 많아지고 있다. 이때, 서비스 관리자는 온라인 저장 매체에 저장되어 있는 개인 정보들에 쉽게 접근할 수 있어야 한다. 또한, 서비스 관리자는 외부의 해킹과 같은 공격 등으로부터 개인 정보를 보호하기 위하여, 데이터를 암호화해서 온라인 저장 매체에 저장해야 한다. 그리고 온라인 저장 서비스에서의 효율적인 데이터의 관리를 위해서는 데이터에 대한 검색 기능도 제공되어야 한다. 즉, 사용자들이 암호화된 데이터의 기밀성을 해치지 않으면서도 원하는 데이터를 검색할 수 있는 방법이 필요한데, 이를 위하여 제안된 것이 검색가능암호문 시스템이다.
2000년에 "Dawn Xiaodong Song" 등에 의해서 대칭키 암호화 방식을 사용하여 단일 키워드에 대한 검색을 가능하게 하는 검색 가능 암호 시스템이 처음으로 제안되었다. 하지만, 이러한 대칭키 암호화 방식은 데이터를 암호화하여 전송하는 사람과 이후에 검색을 수행하는 사람이 동일한 경우에만 사용할 수 있다는 단점이 있다. 즉, 대칭키 암호화 방식은 개인이 단독으로 사용하는 온라인 저장 서비스와 같은 경우에만 사용할 수 있다.
그리고 2004년에 "Dan Boneh" 등은 공개키 암호화 방식(Public Key Encryption)을 사용하여 단일 키워드에 대한 검색을 가능하게 하는 검색 가능 암호 시스템(PEKS: Public key Encryption with Keyword Search)을 처음으로 제안하였다. 이러한 공개키 암호화 방식에 기반한 검색 가능 암호 시스템은 데이터를 암호 화하는 사람과 이후에 검색하려는 사람이 다른 경우에도 사용할 수 있기 때문에, 대칭키 암호화 방식을 사용한 경우보다 응용 분야가 다양하다는 장점이 있다.
하지만, 공개키 기반의 단일 키워드 검색 암호 기법에서는 데이터에 포함되어 있는 키워드의 개수가 증가함에 따라 검색가능암호문의 개수도 선형적으로 증가한다. 이를 온라인 저장 서비스에 적용할 경우, 송신자가 서버에 전송하는 데이터량도 키워드 개수에 따라 선형적으로 증가하게 된다는 문제점이 있다. 또한, 서버에서 저장되는 검색가능암호문의 크기도 선형적으로 증가하게 된다는 문제점이 있다. 또한, 서버에서 데이터 검색 과정에서 수행하는 연산량도 키워드 개수에 따라 선형적으로 증가하게 된다는 문제점이 있다.
따라서 상기와 같은 종래 기술은 데이터에 포함되어 있는 키워드의 개수가 증가함에 따라, 전송 데이터량, 검색가능암호문의 크기 및 데이터 검색 연산량이 선형적으로 증가하게 된다는 문제점이 있으며, 이러한 문제점을 해결하고자 하는 것이 본 발명의 과제이다.
따라서 본 발명은 송신 측에서는 키워드들에 대한 검색가능암호문들의 크기를 블룸 필터를 이용하여 줄임으로써, 서버로 전송하는 데이터 전송량을 줄일 수 있으며, 서버 측에서는 그 크기가 줄어든 검색가능암호문들 중에서 수신 측의 검색 키워드가 포함되는 검색가능암호문을 검색함으로써, 데이터 검색에 필요한 데이터 연산량을 줄일 수 있는, 암호문 크기를 줄이기 위한 공개키 기반의 검색가능암호문 생성 방법과, 그에 따른 공개키 기반의 데이터 검색 방법과, 상기 각 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는데 그 목적이 있다.
본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있으며, 본 발명의 실시예에 의해 보다 분명하게 알게 될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
본 발명은 상기 문제점을 해결하기 위하여, 송신 측에서는 키워드들에 대한 검색가능암호문들의 크기를 블룸 필터를 이용하여 줄이고, 서버 측에서는 그 크기가 줄어든 검색가능암호문들 중에서 수신 측의 검색 키워드가 포함되는 검색가능암호문을 검색하는 것을 특징으로 한다.
더욱 구체적으로, 본 발명의 방법은, 암호문 크기를 줄이기 위한 공개키 기반의 검색가능암호문 생성 방법에 있어서, 데이터로부터 키워드를 추출하고, 소정의 집합 중에서 어느 하나의 난수를 선택하는 난수 선택 단계; 상기 추출된 키워드 각각에 대한 제1 검색가능암호문을, 상기 선택된 난수와 수신 단말의 공개키를 이용하여 생성하는 제1 암호문 생성 단계; 상기 생성된 제1 검색가능암호문을 해쉬 함수를 이용하여 상기 추출된 키워드에 대응되는 이진 문자열로 변환하는 암호문 변환 단계; 및 상기 이진 문자열과 상기 선택된 난수를 이용하여 제2 검색가능암호문을 생성하는 제2 암호문 생성 단계를 포함한다.
또한, 상기 본 발명의 방법은, 상기 데이터를 암호화하는 데이터 암호화 단계; 및 상기 암호화된 데이터와 상기 생성된 제2 검색가능암호문을 해당 서버로 전송하는 전송 단계를 더 포함한다.
한편, 본 발명의 다른 방법은, 데이터 검색 방법에 있어서, 송신 단말로부터 암호화된 데이터와, 제1 이진 문자열과 난수가 포함된 검색가능암호문을 수신받는 데이터 및 암호문 수신 단계; 수신 단말로부터 검색 키워드에 대한 트랩도어를 수신받는 트랩도어 수신 단계; 및 상기 수신받은 검색가능암호문 중에서 상기 검색 키워드가 포함된 검색가능암호문을 상기 수신받은 트랩도어와 상기 검색가능암호문에 포함된 난수를 이용하여 검색하는 데이터 검색 단계를 포함한다.
또한, 상기 본 발명의 다른 방법은, 상기 검색 키워드가 포함된 검색가능암호문을 적어도 하나 검색함에 따라, 상기 검색된 검색가능암호문에 대한 암호화된 데이터를 상기 수신 단말로 전송하는 데이터 전송 단계를 더 포함한다.
한편, 상기 본 발명은, 암호문 크기를 줄이기 위한 공개키 기반의 검색가능암호문을 생성하기 위하여, 프로세서를 구비한 송신 단말에, 데이터로부터 키워드를 추출하고, 소정의 집합 중에서 어느 하나의 난수를 선택하는 난수 선택 기능; 상기 추출된 키워드 각각에 대한 제1 검색가능암호문을, 상기 선택된 난수와 수신 단말의 공개키를 이용하여 생성하는 제1 암호문 생성 기능; 상기 생성된 제1 검색가능암호문을 해쉬 함수를 이용하여 상기 추출된 키워드에 대응되는 이진 문자열로 변환하는 암호문 변환 기능; 및 상기 이진 문자열과 상기 선택된 난수를 이용하여 제2 검색가능암호문을 생성하는 제2 암호문 생성 기능을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
또한, 상기 본 발명은, 상기 데이터를 암호화하는 데이터 암호화 기능; 및 상기 암호화된 데이터와 상기 생성된 제2 검색가능암호문을 해당 서버로 전송하는 전송 기능을 더 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
한편, 본 발명은, 데이터 검색을 위하여, 서버에, 송신 단말로부터 암호화된 데이터와, 제1 이진 문자열과 난수가 포함된 검색가능암호문을 수신받는 데이터 및 암호문 수신 기능; 수신 단말로부터 검색 키워드에 대한 트랩도어를 수신받는 트랩도어 수신 기능; 및 상기 수신받은 검색가능암호문 중에서 상기 검색 키워드가 포함된 검색가능암호문을 상기 수신받은 트랩도어와 상기 검색가능암호문에 포함된 난수를 이용하여 검색하는 데이터 검색 기능을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
또한, 본 발명은, 상기 검색 키워드가 포함된 검색가능암호문을 적어도 하나 검색함에 따라, 상기 검색된 검색가능암호문에 대한 암호화된 데이터를 상기 수신 단말로 전송하는 데이터 전송 기능을 더 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
상기와 같은 본 발명은, 송신 측에서는 암호화된 데이터에 해당하는 키워드들에 대한 검색가능암호문들을 블룸 필터를 이용하여 결합함으로써, 서버에 전달하는 데이터 전송량을 줄이는 효과가 있다.
또한, 상기 본 발명은, 서버 측에서는 암호화된 데이터에 대해, 데이터 크기가 줄어든 검색가능암호문을 수신받음으로써, 서버에서 암호화된 데이터 이외에 저장해야 하는 검색가능암호문의 크기를 줄이는 효과가 있다.
또한, 상기 본 발명은, 서버 측에서는 검색가능암호문에 대해 검색을 수행함으로써, 키워드 단위가 아닌 암호화된 데이터 단위로 검색을 수행할 수 있게 되어 검색 시 요구되는 연산량이 줄어드는 효과가 있다.
상술한 목적, 특징 및 장점은 첨부된 도면을 참조하여 상세하게 후술되어 있는 상세한 설명을 통하여 보다 명확해 질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하기로 한다.
이하의 일실시예에서는 본 발명의 이해를 돕기 위하여, 이메일(Email)을 주고 받는 상황을 일례로 들어 본 발명에 따른 공개키 기반의 데이터 검색 방법을 살펴보기로 하나, 본 발명이 이에 한정되는 것이 아님을 미리 밝혀두며, 본 발명은 파일 공유 서버, ISP(Internet Service Provider) 서버 등을 이용하는 인터넷을 통해 데이터를 주고 받는 환경 등에도 적용될 수 있다.
도 1에 도시된 바와 같이, 본 발명이 적용되는 이메일 시스템(100)은 키 생성 장치(110), 이메일 서버(120), 송신 단말(130), 및 수신 단말(140)을 포함한다.
키 생성 장치(110)는 이메일 시스템(100)에서 공개키 기반 단일 키워드 검색 암호 기법을 사용할 때, 필요한 공개키/비공개키 쌍을 생성하는 키 생성 알고리즘을 수행한다. 이때, 키 생성 장치(110)에서 생성된 수신 단말(130)의 공개키는 송신 단말(140)이 암호화된 데이터에 대한 검색가능암호문을 생성할 때와 이메일 서버(120)가 수신 단말로부터 트랩도어를 전송받아 데이터를 검색할 때 이용된다. 그 리고 비공개키는 수신 단말이 검색 키워드에 해당하는 트랩도어를 생성할 때 이용된다.
송신 단말(130)은 전송하고자 하는 이메일 데이터를 암호화하고, 암호화된 이메일 데이터의 키워드들에 대한 제2 검색가능암호문을 수신 단말(140)의 공개키(
Figure 112008047370474-PAT00001
)를 이용하여 생성한다.
구체적으로 살펴보면, 송신 단말(130)은 이메일 데이터로부터 키워드를 추출하고, 특정 정수의 집합 중에서 어느 하나의 난수를 선택한다. 그리고 송신 단말(130)은 키워드 각각에 대한 제1 검색가능암호문을, 그 선택된 난수와 수신 단말(140)의 공개키를 이용하여 생성한다. 이어서, 송신 단말(130)은 생성된 제1 검색가능암호문을 해쉬 함수를 이용하여 키워드에 대응되는 이진 문자열로 변환한다. 이후, 송신 단말(130)은 이진 문자열과 난수를 이용하여 제2 검색가능암호문을 생성한다.
그리고 송신 단말(130)은 암호화된 이메일 데이터에 제2 검색가능암호문을 덧붙여 이메일 서버(120)로 전송한다. 이때, 송신 단말(130)이 전송하고자 하는 이메일 데이터를 암호화하는 것과 제2 검색가능암호문을 생성하는 것은 서로 독립적으로 수행된다. 따라서 송신 단말(130)은 일반적인 공개키 암호화 방식을 이용하여 이메일 데이터를 암호화하고, 수신 단말(140)의 공개키(
Figure 112008047370474-PAT00002
)를 이용하여 그 이메일 데이터의 키워드들에 해당하는 제2 검색가능암호문을 생성하며, 그 둘을 덧붙여 이메일 서버(120)로 전송한다.
수신 단말(140)은 이메일 서버(120)에서 자신이 전송받은 이메일 데이터들 중에서 특정 검색 키워드가 포함된 이메일 데이터를 검색하고자 할 때, 자신의 비공개키(
Figure 112008047370474-PAT00003
)와 자신이 검색하려는 검색 키워드들을 이용하여 트랩도어를 생성한다. 그리고 수신 단말(140)은 생성된 트랩도어를 이메일 서버(120)로 전송한다.
이메일 서버(120)는 송신 단말(130)로부터 전송된 이메일 데이터들과 제2 검색가능암호문을 저장한다. 그리고 이메일 서버(120)는 수신 단말(140)로부터 전송된 트랩도어, 검색하려는 수신 단말(140)의 공개키(
Figure 112008047370474-PAT00004
), 및 송신 단말(130)로부터 전송되어 저장된 제2 검색가능암호문을 이용하여, 트랩도어에 대한 키워드들을 모두 포함하는 검색가능암호문이 있는지 여부를 확인한다. 즉, 이메일 서버(120)는 다수의 이메일 데이터의 키워드들에 대한 제2 검색가능암호문들 중에서 검색하려는 검색 키워드가 포함된 제2 검색가능암호문을 트랩도어와 검색가능암호문에 포함된 난수를 이용하여 검색한다. 이때, 이메일 서버(120)는 수신 단말(140)이 검색하려는 검색 키워드들을 확인할 수 없으며, 단지 검색하는 이메일 데이터에 대한 검색가능암호문이 특정 검색 키워드에 관련되어 있는지 여부만을 확인할 수 있다. 그리고 이메일 서버(120)는 검색된 결과 또는 특정 이메일 데이터를 수신 단말(140)로 전송한다.
한편, 송신 단말(130)은 암호화된 데이터가 포함하고 있는 각 유일 키워드들에 대한 제1 검색암호문을 생성하고 그 제1 검색암호문을 블룸 필터(Bloom Filter)를 이용하여 결합함으로써, 이메일 서버(120)로 전송할 데이터의 크기를 줄인다. 만약, 암호화하고자 하는 이메일 데이터가 "입금", "통장", "핸드폰", "서울", "금융"이라는 5개의 단어를 포함하고 있으면, 송신 단말(130)은 5개의 단어를 전송하는 암호화된 데이터의 유일 키워드로 정한다. 그리고 송신 단말(130)은 각 단어에 대한 제1 검색가능암호문을 생성한 후, 그 값들을 결합하여 제2 검색암호문을 생성한다. 이어서, 송신 단말(130)은 암호화된 데이터와 제2 검색가능암호문을 이메일 서버(120)로 전송한다.
반면, 수신 단말(140)은 "입금"이라는 단어를 검색 키워드로 설정할 경우, 검색 키워드 "입금"에 대한 트랩도어를 생성하고 그 트랩도어를 이메일 서버(120)로 전송한다.
그러면, 이메일 서버(120)는 송신 단말(130)로부터 수신받은 암호화된 데이터와 그에 해당하는 제2 검색가능암호문을 저장한다. 이메일 서버(120)는 수신 단말(140)로부터 "입금"이라는 단어에 해당하는 트랩도어가 전송되면, 그에 해당하는 암호화된 데이터를 수신 단말(140)에 전송한다. 이때, 이메일 서버(120)는 수신 단말(140)로부터 수신받은 트랩도어에 해당하는 검색 키워드에 대한 정보를 알지 못한다. 또한, 이메일 서버(120)는 수신받은 트랩도어에 해당하는 검색 키워드와 제2 검색가능암호문을 생성하는 데 이용된 키워드들의 집합 사이의 포함 여부만을 확인할 수 있다.
이후, 본 발명을 더욱 상세하게 설명하기에 앞서, 배경이 되는 수학적 지식에 대해 개략적으로 설명하기로 한다.
먼저, 임의의 군(
Figure 112008047370474-PAT00005
)과 그 군(
Figure 112008047370474-PAT00006
)의 원소(
Figure 112008047370474-PAT00007
)가 존재할 때, 하기의 [수학식 1]을 만족하는 원소(
Figure 112008047370474-PAT00008
)를 군(
Figure 112008047370474-PAT00009
)의 생성자라 한다.
Figure 112008047370474-PAT00010
여기서,
Figure 112008047370474-PAT00011
는 정수의 집합을 나타내고,
Figure 112008047370474-PAT00012
이 항등원이 되는 가장 작은 양의 정수(
Figure 112008047370474-PAT00013
)를 군(
Figure 112008047370474-PAT00014
)의 위수(Order)라 한다.
이때, 임의의 큰 소수(
Figure 112008047370474-PAT00015
)를 위수로 갖는 제1 및 제2 군(
Figure 112008047370474-PAT00016
Figure 112008047370474-PAT00017
) 사이에 성립하는 겹선형 사상(bilinear map)은 하기의 [수학식 2]로 표현되며, 하기의 세 가지 특성을 만족한다.
Figure 112008047370474-PAT00018
여기서,
Figure 112008047370474-PAT00019
는 페어링(pairing) 연산을 나타낸다.
첫째로, 겹선형(Bilinear) 성질에 대해, 제1 군(
Figure 112008047370474-PAT00020
)의 모든 원소
Figure 112008047370474-PAT00021
,
Figure 112008047370474-PAT00022
와 에 대해 하기의 [수학식 3]을 만족하면 겹선형(Bilinear)하다고 말한다.
Figure 112008047370474-PAT00023
여기서,
Figure 112008047370474-PAT00024
,
Figure 112008047370474-PAT00025
는 제1 군(
Figure 112008047370474-PAT00026
)의 임의의 원소,
Figure 112008047370474-PAT00027
,
Figure 112008047370474-PAT00028
는 정수 집합(
Figure 112008047370474-PAT00029
)에 속하는 원소를 나타낸다.
둘째로, 비퇴화성(non-degenerate) 성질에 대해,
Figure 112008047370474-PAT00030
,
Figure 112008047370474-PAT00031
가 제1 군(
Figure 112008047370474-PAT00032
)의 원소이면,
Figure 112008047370474-PAT00033
이어야 한다. 여기서
Figure 112008047370474-PAT00034
는 제2 군(
Figure 112008047370474-PAT00035
)의 항등원이다.
셋째로, 계산가능성(computable) 성질에 대해, 제1 군(
Figure 112008047370474-PAT00036
)의 임의의 원소(
Figure 112008047370474-PAT00037
,
Figure 112008047370474-PAT00038
)에 대해서
Figure 112008047370474-PAT00039
를 효율적으로 계산할 수 있는 알고리즘이 존재한다.
한편, 겹선형 디피-헬만 문제(BDHP: Bilinear Diffie-Hellman Problem)는 제1 군(
Figure 112008047370474-PAT00040
)의 원소인
Figure 112008047370474-PAT00041
가 입력으로 주어지면, 제2 군(
Figure 112008047370474-PAT00042
)의 원소인
Figure 112008047370474-PAT00043
을 계산하는 문제이다. 본 발명의 안전성은 상기 겹선형 디피-헬만 문제(BDHP: Bilinear Diffie-Hellman Problem)를 다항 시간 안에 푸는 것이 어렵다는 가정에 기반한다.
이하, 전술한 내용을 기반으로 본 발명에 따른 블룸 필터를 이용한 공개키 기반의 데이터 검색 방법에 대하여 보다 상세하게 살펴보기로 한다.
도 2 는 본 발명에 적용되는 공개키 기반의 키 생성 방법에 대한 일실시예 흐름도이다.
키 생성 장치(110)는 "
Figure 112008047370474-PAT00044
"로 표현되는 보안 매개변수(k: Security Parameter)를 입력으로 받고, 입력받은 보안 매개변수에 따라 제1 군(
Figure 112008047370474-PAT00045
)과 제2 군(
Figure 112008047370474-PAT00046
)의 위수(
Figure 112008047370474-PAT00047
)의 크기를 결정한다(202).
그리고 키 생성 장치(110)는 시스템 매개변수로부터 공개키 기반의 검색가능암호문 생성 방법에 이용될 공개키 및 비공개키 쌍을 생성하기 위해서, 정수 집합(
Figure 112008047370474-PAT00048
)에서 난수(
Figure 112008047370474-PAT00049
)를 선택한다(204). 여기서,
Figure 112008047370474-PAT00050
는 "1"부터 "p-1"까지의 정수들의 집합{1, 2, …, p-1}을 나타낸다.
이어서, 키 생성 장치(110)는 선택된 난수(
Figure 112008047370474-PAT00051
)를 하기의 [수학식 4]에 적용하여 공개키 및 비공개키 쌍을 생성한다(206).
Figure 112008047370474-PAT00052
여기서,
Figure 112008047370474-PAT00053
는 제1 군(
Figure 112008047370474-PAT00054
)의 생성자이므로,
Figure 112008047370474-PAT00055
도 제1 군(
Figure 112008047370474-PAT00056
)의 원소가 되며,
Figure 112008047370474-PAT00057
는 수신 단말(140)의 공개키,
Figure 112008047370474-PAT00058
는 그에 해당하는 비공개키를 나타낸다.
상기의 [수학식 4]의 수신 단말(140)의 공개키 원소인
Figure 112008047370474-PAT00059
로부터 선택된 난수(
Figure 112008047370474-PAT00060
)를 알아내는 것은 수학적으로 어려운 문제이기 때문에, 수신 단말(140)의 공개키(
Figure 112008047370474-PAT00061
)를 알고 있더라도 그 수신 단말의 비공개키를 알아내는 것은 어렵다.
도 3 은 본 발명에 따른 암호문 크기를 줄이기 위한 공개키 기반의 검색가능 암호문 생성 방법에 대한 일실시예 흐름도이다.
먼저, 송신 단말(130)은 전송할 이메일 데이터에 대한 키워드들을 추출하고, 정수 집합(
Figure 112008047370474-PAT00062
)에서 어느 하나의 난수(
Figure 112008047370474-PAT00063
)를 선택한다(302). 그 선택된 난수(
Figure 112008047370474-PAT00064
)는 각 키워드들에 대한 제1 검색가능암호문을 생성하는데 동일하게 사용된다. 송신 단말(130)에서 선택된 키워드 집합(
Figure 112008047370474-PAT00065
) 은
Figure 112008047370474-PAT00066
로 표현될 수 있다. 여기서,
Figure 112008047370474-PAT00067
는 전송하려는 이메일 데이터가 포함하고 있는 각 키워드를 나타내며,
Figure 112008047370474-PAT00068
은 이메일 데이터가 포함하는 최대 키워드의 개수를 나타낸다.
그리고 송신 단말(130)은 이메일 데이터로부터 추출된 키워드들과, 선택된 난수(
Figure 112008047370474-PAT00069
) 및 수신 단말(140)의 공개키(
Figure 112008047370474-PAT00070
)를 하기의 [수학식 5]에 적용하여, 키워드 각각에 대한 제1 검색가능암호문(
Figure 112008047370474-PAT00071
)을 생성한다(304).
Figure 112008047370474-PAT00072
여기서,
Figure 112008047370474-PAT00073
은 임의의 크기를 갖는 이진 문자열을 입력으로 받아 제1 군(
Figure 112008047370474-PAT00074
)의 임의의 원소를 출력하는 해쉬 함수,
Figure 112008047370474-PAT00075
은 제2 군(
Figure 112008047370474-PAT00076
)의 원소를 입력으로 받아
Figure 112008047370474-PAT00077
의 크기를 갖는 이진 문자열을 출력하는 해쉬 함수를 나타낸다.
즉, 상기의 [수학식 5]를 살펴보면, 송신 단말(130)은 각 키워 드(
Figure 112008047370474-PAT00078
)에 대해 동일한 난수(
Figure 112008047370474-PAT00079
)와 수신 단말(140)의 공개키(
Figure 112008047370474-PAT00080
), 및 추출된 키워드를 해쉬 함수와 페어링 연산을 이용하여 키워드 각각에 대한
Figure 112008047370474-PAT00081
개의 제1 검색가능암호문
Figure 112008047370474-PAT00082
을 생성한다.
본 발명에서는 키워드 개수에 따른 검색가능암호문의 크기가 선형적으로 증가하는 문제를 해결하기 위해, 송신 단말(130)은 생성된 제1 검색가능암호문을 해쉬 함수를 이용하여 키워드에 대응되는 이진 문자열로 변환한다(306). 일례로, 송신 단말(130)은 생성된
Figure 112008047370474-PAT00083
개의 제1 검색가능암호문을 블룸 필터를 이용하여 키워드에 대응되는 이진 문자열로 변환한다.
Figure 112008047370474-PAT00084
개의 제1 검색가능암호문을 블룸 필터로 변환하는 방법은 하기의 [수학식 6]과 같다.
Figure 112008047370474-PAT00085
여기서,
Figure 112008047370474-PAT00086
Figure 112008047370474-PAT00087
비트 크기의 이진 스트링으로 초기값은 '0'으로 설정되며, "
Figure 112008047370474-PAT00088
"은 비트 단위의 논리합 연산자(bitwise or)를 나타낸다. 또한,
Figure 112008047370474-PAT00089
Figure 112008047370474-PAT00090
의 크기를 갖는 이진 문자열을
Figure 112008047370474-PAT00091
비트 크기의 임의의 이진 문자열로 변환하는 해쉬 함수를 나타낸다. 여기서,
Figure 112008047370474-PAT00092
Figure 112008047370474-PAT00093
의 하위
Figure 112008047370474-PAT00094
번째 비트를 '1'로 설정함을 의미한다.
"306" 과정을 구체적으로 살펴보면, 송신 단말(130)은 제1 검색가능암호문
Figure 112008047370474-PAT00095
을 각 해쉬 함수
Figure 112008047370474-PAT00096
를 이용하여 m 비트 크기의 이진 문자열로 변환한다. 즉, 송신 단말(130)은 키워드의 개수 즉, 1 내지 n에 해당하는
Figure 112008047370474-PAT00097
개의 제1 검색가능암호문(
Figure 112008047370474-PAT00098
)을
Figure 112008047370474-PAT00099
개의 해쉬 함수(
Figure 112008047370474-PAT00100
)에 적용한다. 그리고 송신 단말(130)은
Figure 112008047370474-PAT00101
개의 해쉬 함수(
Figure 112008047370474-PAT00102
)에 적용한 결과에 따라 출력 값이 가리키는
Figure 112008047370474-PAT00103
의 비트를 '1'로 설정한다.
그리고 송신 단말(130)은 기 정해진 초기 이진 문자열(
Figure 112008047370474-PAT00104
)과 변환된 이진 문자열을 논리합 연산하여 새로운 이진 문자열을 산출한다. 이어서, 송신 단말(130)은 키워드의 개수(n)만큼 새로운 이진 문자열 산출을 반복연산한다.
Figure 112008047370474-PAT00105
이후, 송신 단말(130)은 상기의 [수학식 7]과 같이, 이진 문자열(
Figure 112008047370474-PAT00106
)과 난수를 이용하여 제2 검색가능암호문(
Figure 112008047370474-PAT00107
)을 생성한다(308).
여기서, 블룸 필터(
Figure 112008047370474-PAT00108
)의 크기(
Figure 112008047370474-PAT00109
)는 상기 [수학식 6]을 통해서 산출된다. 상기의 [수학식 6]을 살펴보면, 블룸 필터(
Figure 112008047370474-PAT00110
)의 크기(
Figure 112008047370474-PAT00111
)는 이메일 데이터 가 포함할 수 있는 최대 키워드의 개수(
Figure 112008047370474-PAT00112
)와 블룸 필터의 긍정 오류율(
Figure 112008047370474-PAT00113
)에 따라서 달라진다. 또한, 긍정오류율(
Figure 112008047370474-PAT00114
)은 이메일 서버의 전체 사용자 수(
Figure 112008047370474-PAT00115
)에 의해 결정된다.
그리고 송신 단말(130)은 제2 검색가능암호문(
Figure 112008047370474-PAT00116
)의 생성과는 독립적인 방법으로 데이터를 암호화한다(310).
그리고 송신 단말(130)은 별도의 암호화 방식을 이용하여 암호화된 이메일 데이터와 그에 해당하는 제2 검색가능암호문(
Figure 112008047370474-PAT00117
)을 이메일 서버(120)로 전송한다(312).
한편, 본 발명에 따른 암호문 크기를 줄이기 위한 공개키 기반의 검색가능암호문 생성 방법과 일반적인 공개키 기반의 검색가능암호문 생성 방법을 비교하면 다음과 같다. 본 발명에 따른 제2 검색가능암호문(
Figure 112008047370474-PAT00118
)의 전체 크기는 키워드 개수(
Figure 112008047370474-PAT00119
)에 따라 선형적으로 증가하지 않는다. 예를 들어, 제2 검색가능암호문(
Figure 112008047370474-PAT00120
)과 일반적인 검색가능암호문(
Figure 112008047370474-PAT00121
)에 대한 데이터 크기 비율은
Figure 112008047370474-PAT00122
로 나타난다. 여기서,
Figure 112008047370474-PAT00123
는 제2 검색가능암호문,
Figure 112008047370474-PAT00124
는 공개키 기반의 검색가능암호문 생성 방법을 적용할 때, 암호화된 데이터의 전체 검색가능암호문,
Figure 112008047370474-PAT00125
는 블룸 필터(
Figure 112008047370474-PAT00126
)의 크기,
Figure 112008047370474-PAT00127
은 키워드의 개수,
Figure 112008047370474-PAT00128
는 제1 군(
Figure 112008047370474-PAT00129
)과 제2 군(
Figure 112008047370474-PAT00130
)의 위수의 크기를 나타낸다.
도 4 는 본 발명에 적용되는 공개키 기반의 트랩도어 생성 방법에 대한 일실시예 흐름도이다.
수신 단말(140)은 자신이 수신받은 이메일 데이터 중에서 특정 이메일 데이터를 검색하고자 하는 검색 키워드(
Figure 112008047370474-PAT00131
)를 선택한다(402).
그리고 수신 단말(140)은 자신의 비공개키(
Figure 112008047370474-PAT00132
)와 검색 키워드(
Figure 112008047370474-PAT00133
)를 이용하여 하기의 [수학식 8]과 같이 트랩도어를 생성한다(404).
Figure 112008047370474-PAT00134
여기서,
Figure 112008047370474-PAT00135
는 트랩도어,
Figure 112008047370474-PAT00136
는 검색 키워드,
Figure 112008047370474-PAT00137
는 수신 단말의 비공개키(
Figure 112008047370474-PAT00138
)인 난수를 나타낸다.
이후, 수신 단말(140)은 생성된 트랩도어(
Figure 112008047370474-PAT00139
)를 이메일 서버(120)로 전송한다(406). 여기서, 트랩도어(
Figure 112008047370474-PAT00140
)는 해당 수신 단말(140)만 알고 있는 비공개키(
Figure 112008047370474-PAT00141
)가 이용되어 생성된다. 따라서 수신 단말(140) 이외에 다른 단말은 정당한 트랩도어를 생성할 확률이 낮기 때문에, 정당한 트랩도어를 생성할 수 없는 것으로 가정한다.
도 5 는 본 발명에 따른 공개키 기반의 데이터 검색 방법에 대한 일실시예 흐름도이다.
먼저, 이메일 서버(120)는 송신 단말(130)로부터 암호화된 데이터와, 제1 이진 문자열 및 난수가 포함된 제2 검색가능암호문(
Figure 112008047370474-PAT00142
)을 수신받는다(502).
그리고 이메일 서버(120)는 수신 단말(140)로부터 검색 키워드에 대한 트랩도어(
Figure 112008047370474-PAT00143
)를 수신받는다(504).
이어서, 이메일 서버(120)는 수신받은 제2 검색가능암호문들 중에서 검색 키워드가 포함된 제2 검색가능암호문을 트랩도어와 수신 단말(140)의 공개키(
Figure 112008047370474-PAT00144
)를 이용하여 검색한다(506). 여기서, 수신 단말(140)의 공개키(
Figure 112008047370474-PAT00145
)는 제2 검색가능암호문에 포함되어 있다.
"506" 과정을 구체적으로 살펴보면, 이메일 서버(120)는 검색 키워드를 포함하는 제2 검색가능암호문을 검색하기 위하여, 수신받은 트랩도어(
Figure 112008047370474-PAT00146
)와 난수를 이용하여 검색 키워드에 대응되는 제2 이진 문자열을 생성한다. 즉, 이메일 서버(120)는 수신받은 트랩도어와 난수를 페어링 연산과 해쉬 연산을 이용하여 단일 검색가능암호문을 생성하고, 그 생성된 단일 검색가능암호문을 각 해쉬 함수를 이용하여 제2 이진 문자열을 생성한다.
예를 들면, 이메일 서버(120)는 각 암호화된 데이터에 대한 단일 블룸 필터(
Figure 112008047370474-PAT00147
)를 생성한다. 각 암호화된 데이터에 대한 단일 블룸 필터(
Figure 112008047370474-PAT00148
)는 하기의 [수학식 9]과 같다. 즉, 제2 이진 문자열은 검색 키워드에 대응되는 단일 블룸 필터이다.
Figure 112008047370474-PAT00149
여기서,
Figure 112008047370474-PAT00150
는 단일 검색가능암호문,
Figure 112008047370474-PAT00151
는 단일 블룸 필터를 나타낸다.
상기의 [수학식 9]과 같이, 이메일 서버(120)는 각 암호화된 데이터에 대해 단일 검색가능암호문(
Figure 112008047370474-PAT00152
)을 생성하고, 그를 이용하여 각 암호화된 데이터에 대한 단일 블룸 필터(
Figure 112008047370474-PAT00153
)인 제2 이진 문자열을 생성한다.
이후, 이메일 서버(120)는 제2 이진 문자열과 제1 이진 문자열을 비트별로 각각 비교한다. 예를 들면, 이메일 서버(120)는 단일 블룸 필터(
Figure 112008047370474-PAT00154
)에서 '1'이 되는 비트가 검색가능암호문(
Figure 112008047370474-PAT00155
)에 포함된 블룸 필터(
Figure 112008047370474-PAT00156
)에서도 '1'인지를 검사한다.
이어서, 이메일 서버(120)는 제1 및 제2 이진 문자열의 비교 결과에 따라 검색가능암호문 중에서 트랩도어의 검색 키워드가 포함된 검색가능암호문을 검색한다. 즉, 이메일 서버(120)는 제2 이진 문자열에서 '1'인 비트가 제1 이진 문자열에서 '1'이면, 수신받은 검색가능암호문이 트랩도어의 검색 키워드를 포함하는 것으로 판단한다. 다시 말하면, 상기 [수학식 9]의 단일 블룸 필터(
Figure 112008047370474-PAT00157
)와 검색가능암호문(
Figure 112008047370474-PAT00158
)의 블룸 필터(
Figure 112008047370474-PAT00159
)에서 검사한 모든 위치의 비트가 '1'이면, 이메일 서버(120)는 해당 검색가능암호문(
Figure 112008047370474-PAT00160
)이 검색 키워드(
Figure 112008047370474-PAT00161
)를 포함하고 있는 것으로 판단한다.
그리고 이메일 서버(120)는 검색된 검색가능암호문에 대한 암호화된 데이터를 수신 단말(140)로 전송한다(508).
한편, 일반적인 공개키 기반의 데이터 검색 방법은 암호화된 데이터의 검색가능암호문들이 검색 키워드를 포함하고 있는지 여부를 판단하기 위해, 암호화된 데이터의 키워드 개수만큼 페어링 연산을 수행해야 한다.
반면에, 본 발명에 따른 공개키 기반의 데이터 검색 방법은 암호화된 데이터의 검색가능암호문들이 검색 키워드를 포함하고 있는지의 여부를 판단하기 위해, 한 번의 페어링 연산이 요구된다. 그렇기 때문에, 검색 효율성 측면에서, 본 발명은 일반적인 공개키 기반의 데이터 검색 방법보다 효율적이다. 또한, 본 발명은 암호화된 데이터가 포함하는 전체 검색가능암호문을 블룸 필터의 형태로 변환하였기 때문에, 이메일 서버(120)에서 저장해야 하는 데이터의 크기도 감소한다.
한편, 전술한 바와 같은 본 발명의 방법은 컴퓨터 프로그램으로 작성이 가능하다. 그리고 상기 프로그램을 구성하는 코드 및 코드 세그먼트는 당해 분야의 컴퓨터 프로그래머에 의하여 용이하게 추론될 수 있다. 또한, 상기 작성된 프로그램은 컴퓨터가 읽을 수 있는 기록매체(정보저장매체)에 저장되고, 컴퓨터에 의하여 판독되고 실행됨으로써 본 발명의 방법을 구현한다. 그리고 상기 기록매체는 컴퓨터가 판독할 수 있는 모든 형태의 기록매체를 포함한다.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.
도 1 은 본 발명이 적용되는 이메일 시스템의 일실시예 구성도,
도 2 는 본 발명에 적용되는 공개키 기반의 키 생성 방법에 대한 일실시예 흐름도,
도 3 은 본 발명에 따른 암호문 크기를 줄이기 위한 공개키 기반의 검색가능암호문 생성 방법에 대한 일실시예 흐름도,
도 4 는 본 발명에 적용되는 공개키 기반의 트랩도어 생성 방법에 대한 일실시예 흐름도,
도 5 는 본 발명에 따른 공개키 기반의 데이터 검색 방법에 대한 일실시예 흐름도이다.
* 도면의 주요 부분에 대한 부호의 설명
100: 이메일 시스템 110: 키 생성 장치
120: 이메일 서버 130: 송신 단말
140: 수신 단말

Claims (18)

  1. 암호문 크기를 줄이기 위한 공개키 기반의 검색가능암호문 생성 방법에 있어서,
    데이터로부터 키워드를 추출하고, 소정의 집합 중에서 어느 하나의 난수를 선택하는 난수 선택 단계;
    상기 추출된 키워드 각각에 대한 제1 검색가능암호문을, 상기 선택된 난수와 수신 단말의 공개키를 이용하여 생성하는 제1 암호문 생성 단계;
    상기 생성된 제1 검색가능암호문을 해쉬 함수를 이용하여 상기 추출된 키워드에 대응되는 이진 문자열로 변환하는 암호문 변환 단계; 및
    상기 이진 문자열과 상기 선택된 난수를 이용하여 제2 검색가능암호문을 생성하는 제2 암호문 생성 단계
    를 포함하는 암호문 크기를 줄이기 위한 공개키 기반의 검색가능암호문 생성 방법.
  2. 제 1 항에 있어서,
    상기 데이터를 암호화하는 데이터 암호화 단계; 및
    상기 암호화된 데이터와 상기 생성된 제2 검색가능암호문을 해당 서버로 전송하는 전송 단계
    를 더 포함하는 암호문 크기를 줄이기 위한 공개키 기반의 검색가능암호문 생성 방법.
  3. 제 2 항에 있어서,
    상기 데이터 암호화 단계와 상기 제2 암호문 생성 단계는,
    서로 독립적으로 수행되는 것을 특징으로 하는 암호문 크기를 줄이기 위한 공개키 기반의 검색가능암호문 생성 방법.
  4. 제 1 항 또는 제 2 항에 있어서,
    상기 제1 암호문 생성 단계는,
    상기 선택된 난수, 상기 수신 단말의 공개키, 및 상기 추출된 키워드를 해쉬 함수 및 페어링 연산을 이용하여 상기 키워드 각각에 대한 제1 검색가능암호문을 생성하는 것을 특징으로 하는 암호문 크기를 줄이기 위한 공개키 기반의 검색가능암호문 생성 방법.
  5. 제 4 항에 있어서,
    상기 암호문 변환 단계는,
    상기 생성된 제1 검색가능암호문을 각 해쉬 함수를 이용하여 소정 비트 크기의 이진 문자열로 변환하고, 기 정해진 초기 이진 문자열과 상기 변환된 이진 문자열을 논리합 연산하여 새로운 이진 문자열을 산출하는 것을 특징으로 하는 암호문 크기를 줄이기 위한 공개키 기반의 검색가능암호문 생성 방법.
  6. 제 5 항에 있어서,
    상기 암호문 변환 단계는,
    상기 키워드만큼 상기 새로운 이진 문자열에 대한 산출을 반복연산하는 것을 특징으로 하는 암호문 크기를 줄이기 위한 공개키 기반의 검색가능암호문 생성 방법.
  7. 제 6 항에 있어서,
    상기 암호문 변환 단계는,
    상기 생성된 제1 검색가능암호문을 블룸 필터를 이용하여 상기 추출된 키워드에 대응되는 이진 문자열로 변환하는 것을 특징으로 하는 암호문 크기를 줄이기 위한 공개키 기반의 검색가능암호문 생성 방법.
  8. 제 7 항에 있어서,
    상기 블룸 필터는,
    상기 데이터가 포함할 수 있는 최대 키워드의 개수와 상기 블룸 필터의 긍정 오류율에 따라 다른 크기를 가지는 것을 특징으로 하는 암호문 크기를 줄이기 위한 공개키 기반의 검색가능암호문 생성 방법.
  9. 데이터 검색 방법에 있어서,
    송신 단말로부터 암호화된 데이터와, 제1 이진 문자열과 난수가 포함된 검색가능암호문을 수신받는 데이터 및 암호문 수신 단계;
    수신 단말로부터 검색 키워드에 대한 트랩도어를 수신받는 트랩도어 수신 단계; 및
    상기 수신받은 검색가능암호문 중에서 상기 검색 키워드가 포함된 검색가능암호문을 상기 수신받은 트랩도어와 상기 검색가능암호문에 포함된 난수를 이용하여 검색하는 데이터 검색 단계
    를 포함하는 데이터 검색 방법.
  10. 제 9 항에 있어서,
    상기 검색 키워드가 포함된 검색가능암호문을 적어도 하나 검색함에 따라, 상기 검색된 검색가능암호문에 대한 암호화된 데이터를 상기 수신 단말로 전송하는 데이터 전송 단계
    를 더 포함하는 데이터 검색 방법.
  11. 제 9 항 또는 제 10 항에 있어서,
    상기 검색 단계는,
    상기 수신받은 트랩도어와 상기 난수를 이용하여 상기 검색 키워드에 대응되는 제2 이진 문자열을 생성하는 문자열 생성 단계; 및
    상기 생성된 제2 이진 문자열과 상기 제1 이진 문자열을 비트별로 각각 비교하는 비트 비교 단계; 및
    상기 제1 및 제2 이진 문자열의 비교 결과에 따라 상기 수신받은 검색가능암호문 중에서 상기 수신받은 트랩도어의 검색 키워드가 포함된 검색가능암호문을 검색하는 암호문 검색 단계
    를 포함하는 데이터 검색 방법.
  12. 제 11 항에 있어서,
    상기 문자열 생성 단계는,
    상기 수신받은 트랩도어와 상기 난수를 페어링 연산과 해쉬 연산을 이용하여 단일 검색가능암호문을 생성하고, 상기 생성된 단일 검색가능암호문을 각 해쉬 함수를 이용하여 제2 이진 문자열을 생성하는 것을 특징으로 하는 데이터 검색 방법.
  13. 제 12 항에 있어서,
    상기 암호문 검색 단계는,
    상기 제2 이진 문자열에서 "1"인 비트가 상기 제1 이진 문자열에서 "1"이면, 상기 수신받은 검색가능암호문이 상기 수신받은 트랩도어의 검색 키워드를 포함하는 것으로 판단하는 것을 특징으로 하는 데이터 검색 방법.
  14. 제 13 항에 있어서,
    상기 제2 이진 문자열은,
    상기 검색 키워드에 대응되는 단일 블룸 필터인 것을 특징으로 하는 데이터 검색 방법.
  15. 암호문 크기를 줄이기 위한 공개키 기반의 검색가능암호문을 생성하기 위하여, 프로세서를 구비한 송신 단말에,
    데이터로부터 키워드를 추출하고, 소정의 집합 중에서 어느 하나의 난수를 선택하는 난수 선택 기능;
    상기 추출된 키워드 각각에 대한 제1 검색가능암호문을, 상기 선택된 난수와 수신 단말의 공개키를 이용하여 생성하는 제1 암호문 생성 기능;
    상기 생성된 제1 검색가능암호문을 해쉬 함수를 이용하여 상기 추출된 키워드에 대응되는 이진 문자열로 변환하는 암호문 변환 기능; 및
    상기 이진 문자열과 상기 선택된 난수를 이용하여 제2 검색가능암호문을 생성하는 제2 암호문 생성 기능
    을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  16. 제 15 항에 있어서,
    상기 데이터를 암호화하는 데이터 암호화 기능; 및
    상기 암호화된 데이터와 상기 생성된 제2 검색가능암호문을 해당 서버로 전송하는 전송 기능
    을 더 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  17. 데이터 검색을 위하여, 서버에,
    송신 단말로부터 암호화된 데이터와, 제1 이진 문자열과 난수가 포함된 검색가능암호문을 수신받는 데이터 및 암호문 수신 기능;
    수신 단말로부터 검색 키워드에 대한 트랩도어를 수신받는 트랩도어 수신 기능; 및
    상기 수신받은 검색가능암호문 중에서 상기 검색 키워드가 포함된 검색가능암호문을 상기 수신받은 트랩도어와 상기 검색가능암호문에 포함된 난수를 이용하여 검색하는 데이터 검색 기능
    을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  18. 제 17 항에 있어서,
    상기 검색 키워드가 포함된 검색가능암호문을 적어도 하나 검색함에 따라, 상기 검색된 검색가능암호문에 대한 암호화된 데이터를 상기 수신 단말로 전송하는 데이터 전송 기능
    을 더 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020080063202A 2008-06-30 2008-06-30 암호문 크기를 줄이기 위한 공개키 기반의 검색가능암호문생성 방법과, 그에 따른 공개키 기반의 데이터 검색 방법 KR100951034B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080063202A KR100951034B1 (ko) 2008-06-30 2008-06-30 암호문 크기를 줄이기 위한 공개키 기반의 검색가능암호문생성 방법과, 그에 따른 공개키 기반의 데이터 검색 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080063202A KR100951034B1 (ko) 2008-06-30 2008-06-30 암호문 크기를 줄이기 위한 공개키 기반의 검색가능암호문생성 방법과, 그에 따른 공개키 기반의 데이터 검색 방법

Publications (2)

Publication Number Publication Date
KR20100003093A true KR20100003093A (ko) 2010-01-07
KR100951034B1 KR100951034B1 (ko) 2010-04-05

Family

ID=41813046

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080063202A KR100951034B1 (ko) 2008-06-30 2008-06-30 암호문 크기를 줄이기 위한 공개키 기반의 검색가능암호문생성 방법과, 그에 따른 공개키 기반의 데이터 검색 방법

Country Status (1)

Country Link
KR (1) KR100951034B1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101232385B1 (ko) * 2011-03-23 2013-02-13 순천향대학교 산학협력단 대칭키 기반의 암호 생성 및 검색 방법과 그 시스템
KR101380868B1 (ko) * 2012-11-28 2014-04-02 한국전자통신연구원 스마트미터에서 지능형 원격검침 서버로 검침정보를 전송하는 방법
US20180053209A1 (en) * 2016-08-17 2018-02-22 International Business Machines Corporation Aggregation of unique user invocations in an online environment
KR20200032414A (ko) * 2018-09-18 2020-03-26 이화여자대학교 산학협력단 블록체인 및 핑거프린팅을 이용한 디지털 콘텐츠 관리 방법, 이를 수행하기 위한 장치 및 기록매체

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080010095A (ko) * 2006-07-26 2008-01-30 전북대학교산학협력단 개선된 블룸필터 기반의 분산 서비스 거부 공격 탐지구조와 이를 이용한 탐지 알고리즘.

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101232385B1 (ko) * 2011-03-23 2013-02-13 순천향대학교 산학협력단 대칭키 기반의 암호 생성 및 검색 방법과 그 시스템
KR101380868B1 (ko) * 2012-11-28 2014-04-02 한국전자통신연구원 스마트미터에서 지능형 원격검침 서버로 검침정보를 전송하는 방법
US20180053209A1 (en) * 2016-08-17 2018-02-22 International Business Machines Corporation Aggregation of unique user invocations in an online environment
US10832279B2 (en) * 2016-08-17 2020-11-10 International Business Machines Corporation Aggregation of unique user invocations in an online environment
KR20200032414A (ko) * 2018-09-18 2020-03-26 이화여자대학교 산학협력단 블록체인 및 핑거프린팅을 이용한 디지털 콘텐츠 관리 방법, 이를 수행하기 위한 장치 및 기록매체

Also Published As

Publication number Publication date
KR100951034B1 (ko) 2010-04-05

Similar Documents

Publication Publication Date Title
Pasupuleti et al. An efficient and secure privacy-preserving approach for outsourced data of resource constrained mobile devices in cloud computing
Raman et al. Distributed storage meets secret sharing on the blockchain
US9355271B2 (en) System and method for dynamic, non-interactive, and parallelizable searchable symmetric encryption
KR101190059B1 (ko) 데이터 암호화 방법 및 암호화된 데이터의 결합 키워드 검색방법
US9275250B2 (en) Searchable encryption processing system
KR100903599B1 (ko) 내적을 이용한 암호화된 데이터 검색 방법 및 이를 위한단말 장치와 서버
US20130287210A1 (en) Data processing apparatus and data storage apparatus
CN112270006A (zh) 电商平台中隐藏搜索模式和访问模式的可搜索加密方法
CN112800445B (zh) 一种用于密文数据的前后向安全和可验证的布尔查询方法
JP6770075B2 (ja) 暗号化メッセージ検索方法、メッセージ送受信システム、端末、プログラム
CN114338038B (zh) 区块链数据保密查询的存储系统及不经意传输方法
Tuo et al. An effective fuzzy keyword search scheme in cloud computing
JP5670365B2 (ja) 暗号文検索システム、検索情報生成装置、検索実行装置、検索要求装置、暗号文検索方法、検索情報生成方法、検索実行方法、検索要求方法、およびプログラム
Kissel et al. Verifiable phrase search over encrypted data secure against a semi-honest-but-curious adversary
CN114417073B (zh) 一种加密图的邻居节点查询方法及装置、电子设备
Ma et al. CP-ABE-based secure and verifiable data deletion in cloud
Jiang et al. An Efficient Symmetric Searchable Encryption Scheme for Cloud Storage.
KR100951034B1 (ko) 암호문 크기를 줄이기 위한 공개키 기반의 검색가능암호문생성 방법과, 그에 따른 공개키 기반의 데이터 검색 방법
KR100945535B1 (ko) 사전 공격의 방지를 위한 키 생성 방법과, 그를 이용한검색 가능 암호문 생성 방법 및 데이터 검색 방법
Hoang et al. A multi-server oblivious dynamic searchable encryption framework
KR101217491B1 (ko) 공개키 기반의 키워드 검색 방법
CN109672525B (zh) 一种具有前向索引的可搜索公钥加密方法及系统
KR101232385B1 (ko) 대칭키 기반의 암호 생성 및 검색 방법과 그 시스템
Jiang et al. A novel privacy preserving keyword search scheme over encrypted cloud data
Tosun et al. FSDS: A practical and fully secure document similarity search over encrypted data with lightweight client

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140303

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150304

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160304

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190924

Year of fee payment: 10