KR20130085491A - 인덱스 검증과 추적이 가능한 다자간 환경에서의 검색 가능 암호 시스템 및 방법 - Google Patents

인덱스 검증과 추적이 가능한 다자간 환경에서의 검색 가능 암호 시스템 및 방법 Download PDF

Info

Publication number
KR20130085491A
KR20130085491A KR1020110132068A KR20110132068A KR20130085491A KR 20130085491 A KR20130085491 A KR 20130085491A KR 1020110132068 A KR1020110132068 A KR 1020110132068A KR 20110132068 A KR20110132068 A KR 20110132068A KR 20130085491 A KR20130085491 A KR 20130085491A
Authority
KR
South Korea
Prior art keywords
index
key
user
user terminal
terminal device
Prior art date
Application number
KR1020110132068A
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 KR1020110132068A priority Critical patent/KR20130085491A/ko
Priority to US13/705,666 priority patent/US8873749B2/en
Publication of KR20130085491A publication Critical patent/KR20130085491A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • 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
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Analysis (AREA)
  • Algebra (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 다수의 사용자들이 동시에 사용하는 데이터베이스에서 각각의 사용자가 생성한 인덱스에 대한 검증이 기능하고 인덱스를 생성한 사용자를 추적할 수 있는 검색 가능 암호화 방법 및 시스템으로서, 다자간 환경에서 암호화된 데이터를 검색할 수 있는 효율적인 방법을 제공하는 것뿐만 아니라 암호화된 인덱스에 대한 검증이 가능하고, 향후 저장된 자료에 문제가 발견된 경우 자료를 제공한 사용자를 추적할 수 있어 보다 보안성을 높일 수 있다.

Description

인덱스 검증과 추적이 가능한 다자간 환경에서의 검색 가능 암호 시스템 및 방법{MULTI-USER SEARCHABLE ENCRYPTION SYSTEM WITH INDEX VALIDATION AND TRACING AND METHOD THEREOF}
본 발명은 다자간 환경에서의 검색 가능 암호 기법에 관한 것으로, 더욱 상세하게는 다수의 사용자들이 동시에 사용하는 데이터베이스에서 각각의 사용자가 생성한 인덱스에 대한 검증이 기능하고 인덱스를 생성한 사용자를 추적할 수 있는 검색 가능 암호화 방법 및 시스템에 관한 것이다.
근래에 들어, 정보화 사회가 고도화되면서 개인 및 기업 등에서 처리하는 데이터의 양이 늘어나며, 이러한 데이터를 효율적으로 관리하기 위해 필요한 비용 또한 크게 늘어났다. 하지만, 정보 사회의 모든 구성원이 이러한 정보 관리에 필요한 비용을 부담하기에는 무리가 있으며, 이에 외부 데이터베이스 서비스를 활용하여 정보를 저장하는 사례가 점차 늘고 있다. 그러나 외부 데이터베이스를 활용하는 경우, 최근 빈번히 발생하는 개인 정보의 유출 사례 등을 통해 알 수 있듯이 외부 데이터베이스를 신뢰할 수 없다는 문제가 제기되고 있어 이에 대한 해결책을 제시하는 것이 매우 중요한 문제로 부각되고 있다.
이러한 문제점을 해결하기 위한 해결책으로 여러 가지 방법이 제시되고 있으, 그 중 가장 완벽한 해결책으로 주목 받는 방법은 데이터베이스에 저장된 모든 데이터를 암호화하는 것이다. 오랫동안 정보보호의 기반이 되어온 암호화 시스템은 암호화된 데이터의 안전성을 이론적으로 보장하기 때문에, 저장된 모든 데이터에 대한 안전성을 확보할 수 있다. 즉, 외부 데이터베이스에 저장할 정보를 암호화하여 외부 공격자 또는 데이터베이스 관리자가 저장된 암호화된 자료를 획득했다 하더라도 실제 의미 있는 정보를 얻지는 못한다는 것을 의미한다.
이와 같은 자료의 암호화는 저장된 정보의 기밀성을 완벽하게 보장하는 방법이지만, 데이터베이스 서버가 제공하는 다양한 서비스를 제공할 수 없다는 단점을 지니고 있다. 즉, 일반적인 암호화 기법으로 암호화한 경우 데이터베이스에 저장된 자료에 대한 검색, 연산 등을 수행할 수 없기 때문에, 사용자는 데이터에 대해 특정 작업을 수행하기 위해 서버에 저장된 모든 데이터를 전송 받아 복호화 및 특정 작업을 스스로 처리해야 한다.
한편, 검색 가능 암호 기술은 기존의 암호 기술과 같이 암호화된 정보에 대한 기밀성을 보장하면서 동시에 특정 키워드를 포함하는 자료를 검색할 수 있도록 고안된 암호 기술이다. 데이터베이스에서 제공되는 다양한 기능 중 많은 경우가 특정 키워드를 포함하는 정보에 대한 검색을 바탕으로 이루어지기 때문에 검색 가능 암호 시스템은 앞에서 제기된 문제에 대한 가장 유력한 해결 방안으로 여겨지고 있다.
검색 가능 암호 시스템은 2000년대 초반부터 연구가 본격적으로 이루어졌으며, 현재 검색 가능 암호 시스템은 '키 설정 단계', '암호화 및 인덱스 생성 단계', '트랩도어 생성 단계', '검색 단계'의 네 단계로 구성된다. 각 단계에 대해 자세히 살펴보면 다음과 같다. 키 설정 단계는 사용자가 시스템에 필요한 모든 변수를 설정하고 암/복호화키 및 검색에 사용할 비밀키를 준비하는 단계이다. 암호화 및 인덱스 생성 단계는 사용자가 암호화키와 주어진 자료를 이용하여 자료를 암호화 하고 향후 검색에 사용될 인덱스를 생성하는 단계이다. 이 때, 생성된 암호문과 인덱스는 외부 데이터베이스에 저장된다. 트랩도어 생성 단계는 사용자가 자신의 비밀키와 검색하고자 하는 키워드를 이용하여 자료의 검색에 사용될 트랩도어를 생성하는 단계로, 서버가 트랩도어로부터 검색하고자 하는 키워드에 대한 정보를 얻을 수 없도록 설계된다. 마지막 검색 단계에서는 서버가 주어진 트랩도어와 저장하고 있는 인덱스를 이용하여 사용자가 원하는 자료를 검색하는 단계이다. 검색 단계에서 서버는 저장된 자료가 사용자가 원하는 자료인지의 여부만을 알 수 있고, 사용자가 검색한 키워드나 저장된 자료의 내용에 대해서는 어떠한 정보도 알 수 없도록 설계된다.
검색 가능 암호 시스템에 대한 연구는 대칭키에 기반한 검색 가능 암호 시스템에 대해 처음으로 연구가 시작되었다. 대칭키 기반 검색 가능 암호 시스템은 인덱스 생성과 검색에 동일한 비밀키가 사용되기 때문에 비밀키를 소유한 사용자만이 암호화 및 인덱스 생성 단계를 수행할 수 있다. 즉, 대칭키 기반 검색 가능 암호 시스템은 한 명의 사용자가 자신이 소유한 자료를 외부 데이터베이스를 통해 효율적으로 관리하기 위한 기법으로 볼 수 있다. 이후에는 검색에 사용되는 비밀키와 구별된 공개키를 사용하여 인덱스 생성 단계를 수행할 수 있는 공개키 기반 검색 가능 암호 시스템이 연구되었다. 공개키 기반 검색 가능 암호 시스템은 임의의 자료 제공자 공개키를 사용하여 인덱스 및 암호문을 생성할 수 있기 때문에 대칭키 기반 검색 가능 암호 시스템에 비해 다양한 응용 환경에 사용될 수 있다.
미래 컴퓨팅 환경은 클라우드 서버를 통해 모든 작업을 처리하는 클라우드 컴퓨팅 환경으로 변화해 가고 있다. 클라우드 컴퓨팅 환경에서 가장 이슈가 되는 문제는 클라우드 서버에 집중되는 자료의 기밀성을 보장하는 것으로, 검색 가능 암호 시스템의 적용이 필수적으로 요구되고 있다.
대한민국 등록특허번호 10-0839220호 등록일자 2008년 06월 11일에는 암호화된 데이터베이스 검색 방법 및 그 시스템에 관한 기술이 개시되어 있다.
하지만, 기존의 대칭키 또는 공개키 기반의 검색 가능 암호 시스템만으로는 클라우드 컴퓨팅으로 대표되는 다자간 컴퓨팅 환경에서 활용되는 데이터를 효과적으로 보호하기 힘들다. 다자간 환경을 위한 검색 가능 암호 시스템에서는 다수의 사용자가 자신의 자료를 자유롭게 암호화하여 제공하는 것은 물론이고 다른 사용자가 암호화한 자료를 자유롭게 검색하는 방법이 요구된다. 다자간 환경의 검색 가능 암호 시스템에서는 다수의 사용자가 자유롭게 자료를 제공하고 검색할 수 있기 때문에 일반적인 대칭키-공개키 검색 가능 암호 시스템의 요구사항 이외의 여러 요구사항들이 존재한다. 다수의 사용자가 하나의 데이터베이스를 통해 자료를 공유하는 경우, 가장 심각한 문제는 데이터베이스를 통해 제공되는 자료의 정확성을 확보하는 것이다. 즉, 다수의 사용자가 자유롭게 자료를 제공할 수 있기 때문에 부적절한 자료가 발견된 경우, 이러한 자료를 제공한 사용자를 추적할 수 있어야 한다. 또한 부적절한 자료가 제공된 경우의 자료에 대한 책임 소재를 정확히 하기 위해서는 데이터를 서버에 저장하는 과정에서 모든 인덱스에 대한 검증 과정이 요구된다. 하지만, 현재까지 개발된 다자간 환경의 검색 가능 암호 시스템은 이러한 자료 검증 및 추적기능이 전혀 고려되어 있지 않다.
따라서, 본 발명은 다수의 사용자들이 동시에 사용하는 데이터베이스에서 각각의 사용자가 생성한 인덱스에 대한 검증이 가능하고 인덱스를 생성한 사용자를 추적할 수 있는 다자간 환경에서의 검색 가능 암호화 방법 및 시스템을 제공하고자 한다.
상술한 본 발명은 다자간 환경에서의 검색 가능 암호 시스템으로서, 사용자에게 개인 비밀키를 발행하고 부적절한 인덱스가 발견된 경우 생성자를 추적하는 키 발행 센터(KGC)와, 상기 개인 비밀키를 이용하여 데이터베이스에 대한 검색을 위한 인덱스 생성하는 사용자 단말장치와, 상기 사용자 단말장치에서 생성된 인덱스를 검증하고, 검증된 인덱스에 대해 해당하는 데이터를 검색하여 제공하는 데이터베이스 (DB) 서버를 포함한다.
또한, 상기 사용자 단말장치는, 상기 개인 비밀키를 사용하여 자료의 암호화 및 인덱스 생성 작업을 수행하는 것을 특징으로 한다. 이때 생성된 인덱스에는 작업을 수행한 개인의 비밀정보가 외부 관찰자에 의해 구별 불가능하도록 암호화된 형태로 포함된다.
또한, 상기 사용자 단말장치는, 상기 인덱스가 저장된 DB를 이용한 검색 시 상기 개인 비밀키를 이용하여 검색하고자 하는 키워드로부터 트랩도어를 생성하고, 상기 트랩도어를 이용하여 검색을 요청하는 것을 특징으로 한다.
또한, 상기 키 발행 센터는, 상기 사용자 단말장치에서 생성된 인덱스에 문제가 발생한 경우 자신의 비밀키를 이용하여 상기 사용자 단말장치로 발행한 개인 비밀키에 대한 정보를 확인하는 것을 특징으로 한다.
또한, 상기 DB 서버는, 사용자가 암호화된 데이터를 제공하는 경우 DB에 저장하기 전에 키 생성 센터가 제공한 공개키를 이용하여 상기 생성된 인덱스의 정당성을 검증하는 것을 특징으로 한다.
또한, 상기 키 발행 센터는, 상기 개인 비밀키의 발행 전에 시스템 파라메타와 인덱스 검증을 위한 공개키를 발행하여 상기 DB 서버로 제공하는 것을 특징으로 한다.
또한, 본 발명은 다자간 환경에서의 검색 가능 암호화방법으로서, 키 발행 센터에서 센터의 비밀키, 공개키 및 시스템 파라메타를 생성하는 사전 준비 단계와, 상기 키 발행 센터에서 자신의 비밀키를 이용하여 각 사용자를 위한 개인 비밀키를 생성하는 키 발행 단계와, 상기 각 사용자의 사용자 단말장치에서 상기 발행된 개인 비밀키를 이용하여 인덱스를 생성하는 인덱스 생성 단계와, 상기 사용자 단말장치에서 각 사용자의 개인 비밀키를 이용하여 데이터베이스로부터 검색하고자 하는 키워드로부터 트랩도어를 생성하는 트랩도어 생성단계와, DB 서버에서 상기 공개키를 이용하여 상기 사용자 단말장치에서 생성된 인덱스를 검증하는 검증 단계와, 상기 인덱스와 트랩도어를 이용하여 데이터베이스상에서 검색을 수행하는 검색단계와, 상기 인덱스를 생성한 사용자를 추적하는 추적 단계를 포함한다.
또한, 상기 인덱스 생성 단계에서, 상기 사용자 단말장치는, 상기 개인 비밀정보를 포함하여 상기 인덱스를 암호화하여 생성하는 것을 특징으로 한다.
또한, 상기 추적 단계에서, 상기 키 발행 센터는, 상기 사용자 단말장치에서 생성된 인덱스에 문제가 발생한 경우 상기 센터의 비밀키를 이용하여 상기 인덱스로부터 사용자 개인 비밀정보를 확인하는 것을 특징으로 한다.
본 발명은 다수의 사용자들이 동시에 사용하는 데이터베이스에서 각각의 사용자가 생성한 인덱스에 대한 검증이 기능하고 인덱스를 생성한 사용자를 추적할 수 있는 검색 가능 암호화 방법 및 시스템으로서, 다자간 환경에서 암호화된 데이터를 검색할 수 있는 효율적인 방법을 제공하는 것뿐만 아니라 암호화된 인덱스에 대한 검증이 가능하고, 향후 저장된 자료에 문제가 발견된 경우 자료를 제공한 사용자를 추적할 수 있어 보다 보안성을 높일 수 있는 이점이 있다.
도 1은 본 발명의 실시예에 따른 다자간 환경에서의 검색 가능 암호화 시스템에서의 동작 제어 흐름도,
도 2는 본 발명의 실시예에 따른 다자간 환경에서의 검색 가능 암호화 시스템의 네트워크 구성도.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
본 발명의 실시 예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명의 실시 예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실시 예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
이하, 첨부된 도면을 참조하여 본 발명의 실시 예를 상세히 설명하기로 한다. 도 1은 본 발명의 실시 예에 따른 다자간 환경의 검색 가능 암호 시스템에서의 동작 흐름을 도시한 것이다.
도 1을 참조하면, 다자간 환경의 검색 가능 암화 시스템에서의 동작은 크게 시스템 파라미터(system parameter)를 생성하고, 공개키(public key)를 발행하는 등의 사전 준비 단계(S100), 키 발행 단계(S102), 암호화 및 인덱스 생성 단계(S104), 인덱스 검증 단계(S106), 트랩도어 생성 단계(S108), 검색 단계(S110), 추적 단계(S112) 등을 포함할 수 있다.
또한, 다자간 환경의 검색 가능 암호 시스템은 도 2에 도시된 바와 같이 키 발행 센터(Key Generation Center, KGC)(200), 데이터베이스(data base : DB) 서버(server)(202), 그리고 다수의 사용자들(u1, u2, …, un)이 사용하는 사용자 단말장치(204)가 포함된다.
본 발명에서는 수학적으로 잘 알려져 있는 bilinear map 연산을 사용한다. 소수 p를 위수로 갖는 순환군 G1, G2에서 정의된 bilinear map(e)은 다음과 같은 [수학식 1]과 같이 정의될 수 있다.
Figure pat00001
- Bilinearity : 임의의 u∈G1, v∈G2와 두 정수 a,b에 대해서
Figure pat00002
- Non-degeneracy : g1, g2가 각각 G1, G2의 생성자 일 때,
Figure pat00003
타원곡선 위에서 정의된 Weil pairing, Tate pairing 등이 이러한 bilinear map의 예로 임의의 위수 p에 대해 순환군 G1, G2, G3와 bilinear map을 구성하는 방법은 잘 알려져 있고 널리 사용되고 있으므로 본 명세서에서는 자세한 설명을 생략한다.
먼저, 사전 준비 단계(S100)는 키 발행 센터(200)에 의해 수행된다. 키 발행 센터(200)는 임의의 소수 p를 선택하고, 위수가 p인 순환군 G1 = <g1>, G2 = <g2>, G3 = <g3>을 선택한다. 여기에 bilinear map, 이 존재하는 것을 가정한다. 또한, 두 개의 해쉬(hash) 함수
Figure pat00004
Figure pat00005
를 선택한다, 단 여기에서 K는 검색을 위한 키워드 공간을 의미한다. 키 발행 센터(200)는 G1에서 임의의 원소 h를 선택하고, 아래와 같은 [수학식 2]을 만족하는 z1, z2를 Zp에서, u,v를 G1에서 선택한다.
Figure pat00006
그리고, Zp에서 임의의 정수 t를 선택하여
Figure pat00007
를 계산한다. 마지막으로 키 발행 센터(200)는 데이터 암호화에 사용할 암호화키 SK를 임의로 선택한다. 키 발행 센터(200)는 (p, G1, G2, G3, g1, g2, g3, h, u, v, w)을 DB 서버(202)에 공개 정보로 제공한다. 키 발행 센터(200)는 (z1, z2, t, SK)를 자신의 비밀키로 저장한다.
키 발행 단계(S102)는 키 발행 센터(200)에 의해 실행된다. 키 발행 센터(200)는 사용자(ui)가 사용자 단말장치(204) 등을 이용하여 키 발행을 요청한 경우, 아래와 같은 [수학식 3]에서와 같이 임의의 정수 xi를 Zp에서 선택하여 사용자에 대한 Ai 값을 계산한다.
Figure pat00008
키 발행 센터(200)는 사용자 ui에 (Ai, xi, SK)를 사용자 비밀키로 발행하고, 각 사용자에 대한 Ai 값을 리스트로 저장한다.
암호화 및 인덱스 생성 단계(S104)는 각각의 사용자 단말장치(204)가 실행하는 단계로 여기서는 i-번째 사용자 ui가 키워드
Figure pat00009
를 포함하는 데이터에 대한 인덱스를 생성하는 것을 예로 설명한다. 사용자가 생성하는 최종 인덱스는
Figure pat00010
의 형태를 지니며 각각의 원소를 계산하는 방법은 다음과 같다.
사용자 단말장치(204)는 임의의 정수 d를 Zp에서 선택하여 아래의 [수학식 4]에서와 같이 계산한다.
Figure pat00011
또한, a,b를 Zp에서 임의로 선택한 후, 아래의 [수학식 5]에서와 같이 T1, T2, T3를 계산한다.
Figure pat00012
그리고, 임의로 ra, rb, rx, r1, r2를 Zp에서 선택하여, 아래의 [수학식 6]에서와 같이, R1, R2, R3, R4, R5를 계산한다.
Figure pat00013
또한, 위에서 계산된 값을 바탕으로 challenge c값을 아래의 [수학식 7]에서와 같이 계산한다.
Figure pat00014
이어, c와 앞에서 선택한 ra, rb, rx, r1, r2를 이용하여 아래의 [수학식 8]에서와 같이 sa, sb, sx, s1, s2를 계산하고,
Figure pat00015
마지막으로, 인덱스(
Figure pat00016
)를 아래의 [수학식 9]에서와 같이 생성하여 DB 서버(202)에 전송한다.
Figure pat00017
검증 단계(400)는 DB 서버(202)에 의해서 실행되는 단계로 사용자가 생성하여 전송한 인덱스를 DB 서버(202)가 검증하기 위해 실행된다. DB 서버(202)는 전송받은 인덱스
Figure pat00018
와 공개정보로 저장해 놓은 g1, g2, h, u, v, w의 값을 이용하여 아래의 [수학식 10]에서와 같이
Figure pat00019
를 계산한다.
Figure pat00020
이어, 위의 계산된 값을 이용하여 아래의 [수학식 11]에서와 같이 c'를 계산하고,
Figure pat00021
c' = c를 만족하는 지 확인한다. 일치한 경우 정당한 인덱스로 인정하고 DB 서버(202)에 저장하고, 일치하지 않는 경우 정당하지 않은 인덱스 저장을 거부한다.
트랩도어 생성 단계(S108)는 각 사용자가 실행하는 단계로 검색하고자 하는 키워드 k에 대해서 아래의 [수학식 12]에서와 같이 트랩도어를 생성하고, DB 서버(202)에 전송한다.
Figure pat00022
검색 단계(S110)는 DB 서버(202)가 실행하는 단계로, 사용자 단말장치(204)가 전송한 트랩도어와 저장된 인덱스를 가지고 실행한다. DB 서버(202)는 전송받은 트랩도어와 인덱스의 처음 부분인
Figure pat00023
에 대해서
Figure pat00024
이 성립하는 지를 확인한다. 위의 식이 일치하는 인덱스는 검색한 키워드 k와 일치하는 자료로 사용자에 전송된다.
마지막으로, 추적 단계(S112)은 키 발행 센터(200)가 실행하는 단계로 문제가 있는 인덱스가 발견된 경우, 키 발행 센터(200)에 의해서 인덱스를 생성한 사용자를 추적하기 위해 실행한다. 키 발행 센터(200)는 주어진 인덱스
Figure pat00025
중 T1, T2, T3에 대해서 아래의 [수학식 13]에서와 같은 계산을 수행한다,
Figure pat00026
여기에서 z1, z2는 키 설정 단계에서 생성한 키 발행 센터(200)가 생성한 비밀키이다. 키 발행 센터(200)는 키 발행 단계에서 각 사용자에 제공한 Ai값과 계산된 A를 비교하여 인덱스를 생성한 사용자를 추적할 수 있다.
상기한 바와 같이, 본 발명은 다수의 사용자들이 동시에 사용하는 데이터베이스에서 각각의 사용자가 생성한 인덱스에 대한 검증이 기능하고 인덱스를 생성한 사용자를 추적할 수 있는 검색 가능 암호화 방법 및 시스템으로서, 다자간 환경에서 암호화된 데이터를 검색할 수 있는 효율적인 방법을 제공하는 것뿐만 아니라 암호화된 인덱스에 대한 검증이 가능하고, 향후 저장된 자료에 문제가 발견된 경우 자료를 제공한 사용자를 추적할 수 있어 보다 보안성을 높일 수 있다.
한편 상술한 본 발명의 설명에서는 구체적인 실시예에 관해 설명하였으나, 여러 가지 변형이 본 발명의 범위에서 벗어나지 않고 실시될 수 있다. 따라서 발명의 범위는 설명된 실시 예에 의하여 정할 것이 아니고 특허청구범위에 의해 정하여져야 한다.
200 : 키 발행 센터 202 : DB 서버
204 : 사용자 단말장치

Claims (9)

  1. 사용자에게 개인 비밀키를 발행하고 인덱스를 생성한 사용자에 대한 정보를 추적하는 키 발행 센터와,
    상기 개인 비밀키를 이용하여 데이터베이스에 대한 검색을 위한 인덱스 생성하는 사용자 단말장치와,
    상기 사용자 단말장치에서 생성된 인덱스를 검증하고, 검증된 인덱스에 대해 해당하는 데이터를 검색하여 제공하여 주는 DB(database) 서버
    를 포함하는 다자간 환경에서의 검색 가능 암호 시스템.
  2. 제 1 항에 있어서,
    상기 사용자 단말장치는,
    상기 개인 비밀정보를 포함하여 상기 인덱스를 암호화하여 생성하는 다자간 환경에서의 검색 가능 암호 시스템.
  3. 제 1 항에 있어서,
    상기 사용자 단말장치는,
    상기 인덱스를 이용한 검색 시 상기 개인 비밀키를 이용하여 검색하고자 하는 키워드로부터 트랩도어를 생성하고, 상기 트랩도어를 이용하여 검색을 요청하는 다자간 환경에서의 검색 가능 암호 시스템.
  4. 제 1 항에 있어서,
    상기 키 발행 센터는,
    상기 사용자 단말장치에서 생성된 인덱스에 문제가 발생한 경우 자신의 비밀키를 이용하여 상기 사용자 단말장치로 발행한 개인 비밀정보를 확인하여 인덱스를 생성한 사용자를 추적하는 다자간 환경에서의 검색 가능 암호 시스템.
  5. 제 1 항에 있어서,
    상기 DB 서버는,
    사용자가 암호화된 데이터를 제공하는 경우 DB에 저장하기 전에 상기 키 발생 센터가 제공한 공개키를 이용하여 상기 생성된 인덱스의 정당성을 검증하는 다자간 환경에서의 검색 가능 암호 시스템.
  6. 제 1 항에 있어서,
    상기 키 발행 센터는,
    상기 개인 비밀키의 발행 전에 시스템 파라메타와 인덱스 검증을 위한 공개키를 발행하여 상기 DB 서버로 제공하는 다자간 환경에서의 검색 가능 암호 시스템.
  7. 키 발행 센터에서 센터의 비밀키, 공개키 및 시스템 파라메타를 생성하는 사전 준비 단계와,
    상기 키 발행 센터에서 자신의 비밀키를 이용하여 각 사용자를 위한 개인 비밀키를 생성하는 키 발행 단계와,
    상기 키 발행 센터가 인덱스를 생성한 사용자를 추적하는 추적 단계와,
    상기 각 사용자의 사용자 단말장치에서 상기 발행된 개인 비밀키를 이용하여 인덱스를 생성하는 인덱스 생성 단계와,
    상기 사용자 단말장치에서 각 사용자의 개인 비밀키를 이용하여 데이터베이스로부터 검색하고자 하는 키워드로부터 트랩도어를 생성하는 트랩도어 생성단계와,
    DB 서버에서 상기 키 발생 센터에서 제공한 공개키를 이용하여 상기 사용자 단말장치에서 생성된 인덱스를 검증하는 검증 단계와,
    상기 인덱스와 트랩도어를 이용하여 데이터베이스 상에서 검색을 수행하는 검색단계
    를 포함하는 다자간 환경에서의 검색 가능 암호화 방법.
  8. 제 7 항에 있어서,
    상기 인덱스 생성 단계에서,
    상기 사용자 단말장치는, 상기 개인 비밀정보를 포함하여 상기 인덱스를 암호화하여 생성하는 다자간 환경에서의 검색 가능 암호화 방법.
  9. 제 7 항에 있어서,
    상기 추적 단계에서,
    상기 키 발행 센터는, 상기 사용자 단말장치에서 생성된 인덱스에 문제가 발생한 경우 상기 비밀키를 이용하여 상기 사용자 단말장치로 발행한 개인 비밀정보를 확인하여 인덱스를 생성한 사용자를 추적하는 다자간 환경에서의 검색 가능 암호화 방법.
KR1020110132068A 2011-12-09 2011-12-09 인덱스 검증과 추적이 가능한 다자간 환경에서의 검색 가능 암호 시스템 및 방법 KR20130085491A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020110132068A KR20130085491A (ko) 2011-12-09 2011-12-09 인덱스 검증과 추적이 가능한 다자간 환경에서의 검색 가능 암호 시스템 및 방법
US13/705,666 US8873749B2 (en) 2011-12-09 2012-12-05 Multi-user searchable encryption system and method with index validation and tracing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110132068A KR20130085491A (ko) 2011-12-09 2011-12-09 인덱스 검증과 추적이 가능한 다자간 환경에서의 검색 가능 암호 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR20130085491A true KR20130085491A (ko) 2013-07-30

Family

ID=48571988

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110132068A KR20130085491A (ko) 2011-12-09 2011-12-09 인덱스 검증과 추적이 가능한 다자간 환경에서의 검색 가능 암호 시스템 및 방법

Country Status (2)

Country Link
US (1) US8873749B2 (ko)
KR (1) KR20130085491A (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101404642B1 (ko) * 2013-08-30 2014-06-11 고려대학교 산학협력단 래티스 기반 인증서 비사용 서명 시스템 및 방법
CN109784917A (zh) * 2018-12-13 2019-05-21 如般量子科技有限公司 基于对称密钥池的抗量子计算区块链保密交易系统和方法
KR20210090563A (ko) * 2020-01-10 2021-07-20 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. 블록체인 기반의 다자간 컴퓨팅 방법, 장치, 기기 및 매체

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140168264A1 (en) 2012-12-19 2014-06-19 Lockheed Martin Corporation System, method and computer program product for real-time alignment of an augmented reality device
JP5976932B2 (ja) * 2013-06-18 2016-08-24 株式会社日立製作所 保持数検証システム
WO2016018298A1 (en) * 2014-07-30 2016-02-04 Hewlett-Packard Development Company, L.P. Key search token for encrypted data
KR102329333B1 (ko) 2014-11-12 2021-11-23 삼성전자주식회사 질의를 처리하는 장치 및 방법
JPWO2016120975A1 (ja) * 2015-01-26 2017-06-08 株式会社日立製作所 データ集計分析システム及びその方法
US10404669B2 (en) 2015-06-09 2019-09-03 Skyhigh Networks, Llc Wildcard search in encrypted text
US10176207B1 (en) 2015-06-09 2019-01-08 Skyhigh Networks, Llc Wildcard search in encrypted text
US9894042B2 (en) * 2015-07-24 2018-02-13 Skyhigh Networks, Inc. Searchable encryption enabling encrypted search based on document type
KR102415626B1 (ko) 2016-01-04 2022-07-01 한국전자통신연구원 데이터 소유권 검증 방법 및 장치
CN105553660B (zh) * 2016-01-25 2018-11-02 华中科技大学 一种动态可搜索公钥加密方法
CN107294701B (zh) * 2017-07-05 2021-05-18 西安电子科技大学 具有高效密钥管理的多维密文区间查询装置及查询方法
CN107491497B (zh) * 2017-07-25 2020-08-11 福州大学 支持任意语言查询的多用户多关键词排序可搜索加密系统
CN108171066A (zh) * 2017-12-22 2018-06-15 湖北工业大学 一种医疗云中隐私保护下的关键词跨域搜索方法及系统
CN108599937B (zh) * 2018-04-20 2020-10-09 西安电子科技大学 一种多关键字可搜索的公钥加密方法
JP6599066B1 (ja) 2018-05-08 2019-10-30 三菱電機株式会社 登録装置、サーバ装置、秘匿検索システム、秘匿検索方法、登録プログラムおよびサーバプログラム
CN109858263B (zh) * 2019-01-21 2021-05-14 北京城市网邻信息技术有限公司 数据存储检索方法、装置、电子设备及存储介质
CN109902501B (zh) * 2019-03-19 2021-09-17 中国海洋大学 一种基于云服务平台进行相等性测试的结构化加密方法及系统
CN110166466B (zh) * 2019-05-28 2020-02-21 湖南大学 一种可高效更新权限的多用户可搜索加密方法和系统
CN112751670B (zh) * 2020-12-30 2022-11-11 西安邮电大学 一种多中心密文策略的属性基可搜索加密及相应的搜索获取数据的方法
CN114884700B (zh) * 2022-04-18 2023-04-28 华中科技大学 抗关键字猜测攻击的可搜索公钥加密批处理方法及系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6886096B2 (en) * 2002-11-14 2005-04-26 Voltage Security, Inc. Identity-based encryption system
KR100594886B1 (ko) 2004-04-12 2006-06-30 주식회사 비티웍스 데이터베이스 보안 시스템 및 방법
US8015211B2 (en) * 2004-04-21 2011-09-06 Architecture Technology Corporation Secure peer-to-peer object storage system
KR100903601B1 (ko) * 2007-10-24 2009-06-18 한국전자통신연구원 암호화된 수치 데이터 검색 시스템 및 그 방법
US20090234848A1 (en) * 2008-03-07 2009-09-17 Andy Leff System and method for ranking search results
US20100042520A1 (en) * 2008-08-12 2010-02-18 27804Branch Banking and Trust Company System and method for an electronic lending system

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101404642B1 (ko) * 2013-08-30 2014-06-11 고려대학교 산학협력단 래티스 기반 인증서 비사용 서명 시스템 및 방법
WO2015030553A1 (ko) * 2013-08-30 2015-03-05 고려대학교 산학협력단 래티스 기반 인증서 비사용 서명 시스템 및 방법
CN109784917A (zh) * 2018-12-13 2019-05-21 如般量子科技有限公司 基于对称密钥池的抗量子计算区块链保密交易系统和方法
KR20210090563A (ko) * 2020-01-10 2021-07-20 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. 블록체인 기반의 다자간 컴퓨팅 방법, 장치, 기기 및 매체
US11909886B2 (en) 2020-01-10 2024-02-20 Beijing Baidu Netcom Science And Technology Co., Ltd. Method, apparatus for blockchain-based multi-party computation, device and medium

Also Published As

Publication number Publication date
US20130148803A1 (en) 2013-06-13
US8873749B2 (en) 2014-10-28

Similar Documents

Publication Publication Date Title
KR20130085491A (ko) 인덱스 검증과 추적이 가능한 다자간 환경에서의 검색 가능 암호 시스템 및 방법
Li et al. Full verifiability for outsourced decryption in attribute based encryption
Miao et al. Lightweight fine-grained search over encrypted data in fog computing
Zheng et al. VABKS: Verifiable attribute-based keyword search over outsourced encrypted data
Elmehdwi et al. Secure k-nearest neighbor query over encrypted data in outsourced environments
CN105812141B (zh) 一种面向外包加密数据的可验证交集运算方法及系统
Wu et al. Verifiable public key encryption with keyword search based on homomorphic encryption in multi-user setting
US9037846B2 (en) Encoded database management system, client and server, natural joining method and program
CN109361644A (zh) 一种支持快速搜索和解密的模糊属性基加密方法
Miao et al. Threshold multi-keyword search for cloud-based group data sharing
Nasiraee et al. Privacy-preserving distributed data access control for cloudiot
Wang et al. Tag-based verifiable delegated set intersection over outsourced private datasets
Alimohammadi et al. A secure key-aggregate authentication cryptosystem for data sharing in dynamic cloud storage
Sandhia et al. Secure sharing of data in cloud using MA-CPABE with elliptic curve cryptography
Chen et al. Password-authenticated searchable encryption
CN109740383B (zh) 一种面向雾计算医疗系统的隐私保护控制方法
KR101140576B1 (ko) 암호화 문서에 대한 다자간 검색 시스템 및 그 방법
Yin et al. A privacy-preserving and identity-based personalized recommendation scheme for encrypted tasks in crowdsourcing
Ren et al. Decentralized multi-authority attribute-based searchable encryption scheme
Zhang et al. Privacy‐Preserving Attribute‐Based Keyword Search with Traceability and Revocation for Cloud‐Assisted IoT
Cui et al. Towards Multi-User, Secure, and Verifiable $ k $ NN Query in Cloud Database
Zhang et al. Multi-client boolean file retrieval with adaptable authorization switching for secure cloud search services
JP5799635B2 (ja) 暗号データ検索システム、装置、方法及びプログラム
Park Secure chip based encrypted search protocol in mobile office environments
Waziri et al. Big data analytics and data security in the cloud via fully homomorphic encryption

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid