KR20080035295A - 암호화된 데이터베이스 검색 방법 및 그 시스템 - Google Patents

암호화된 데이터베이스 검색 방법 및 그 시스템 Download PDF

Info

Publication number
KR20080035295A
KR20080035295A KR1020060101805A KR20060101805A KR20080035295A KR 20080035295 A KR20080035295 A KR 20080035295A KR 1020060101805 A KR1020060101805 A KR 1020060101805A KR 20060101805 A KR20060101805 A KR 20060101805A KR 20080035295 A KR20080035295 A KR 20080035295A
Authority
KR
South Korea
Prior art keywords
document
key
encrypted
search
user
Prior art date
Application number
KR1020060101805A
Other languages
English (en)
Other versions
KR100839220B1 (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 KR1020060101805A priority Critical patent/KR100839220B1/ko
Publication of KR20080035295A publication Critical patent/KR20080035295A/ko
Application granted granted Critical
Publication of KR100839220B1 publication Critical patent/KR100839220B1/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/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials

Landscapes

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

Abstract

암호화된 데이터베이스 검색 방법 및 그 시스템이 개시된다.
본 발명은 인증된 사용자가 문서 및 상기 문서에 대한 대표 키워드를 입력하면, 상기 문서를 문서암호용 키로 암호화하고 상기 대표 키워드를 검색키로 암호화하여 인덱스를 생성하며, 상기 암호화된 문서 및 상기 인덱스를 상기 서버에 전송하는 단계, 임의의 클라이언트에서 인증된 사용자가 검색할 문서에 대한 키워드를 입력하면, 상기 입력된 키워드와 상기 사용자의 검색키를 이용한 트랩도어를 생성하여 상기 서버에 질의하는 단계 및 상기 서버에서 상기 트랩도어 및 상기 서버에 저장된 인덱스를 이용하여 암호화된 문서를 검색하고 검색된 문서를 상기 클라이언트에 전송하는 단계를 포함한다.
본 발명에 의하면, 데이터베이스에 암호화 기법을 적용하면서 동시에 효율적인 검색을 가능하게 하고, 정보의 유출을 막아 정보의 오남용을 막을 뿐 아니라 계층적인 접근 권한을 둘 수 있다.

Description

암호화된 데이터베이스 검색 방법 및 그 시스템 {Method for searching encrypted database and System thereof}
도 1은 본 발명에 따른 암호화된 데이터베이스 검색 시스템의 블럭도이다.
도 2는 본 발명의 일 실시예에 따른 암호화된 데이터베이스 검색 방법의 흐름도이다.
도 3은 본 발명의 다른 실시예에 따른 암호화된 데이터베이스 검색 방법의 흐름도이다.
도 4는 본 발명의 또다른 실시예에 따른 암호화된 데이터베이스 검색 방법의 흐름도이다.
본 발명은 서버 및 클라이언트 시스템에 관한 것으로, 특히, 암호화된 데이터베이스 검색 방법 및 그 시스템에 관한 것이다.
정보화 사회에서 그 정보들의 저장소인 데이터베이스의 관리는 무엇보다 중요하다. 민감한 정보 및 개인정보를 보호하기 위한 가장 현실적인 방법은 이러한 정보들을 저장하는 데이터베이스의 암호화이다. 현재까지의 상용 모듈이 제공하고 있는 암호화 방법은 암호화된 문서를 읽어와 복호화한 후 키워드 검색을 하는 형식이 대부분이고, 이런 복호화 과정에서 내부 관리자에 의한 정보 유출이 또 하나의 문제로 지적되고 있다. 또 지금까지 암호화 방법이 현실성이 없었던 가장 큰 이유는 암호화된 데이터베이스 상에서는 효율적인 자료 검색을 보장 받지 못했다는 것과 이를 위한 연구 또한 개인 사용자를 위한 안전성 위주의 이론적 연구에 국한되어져 현실적인 면과는 다소 거리가 있었던 것이다. 즉, 지금까지의 연구는 2000년 Song et al.의 대칭키 기반의 문서 전체를 검색하는 시스템에 관한 연구를 필두로 하여, 그 이후에는 문서의 키워드를 암호화하여 만든 인덱스를 사용하여 검색하는 시스템에 관한 연구가 주류를 이루면서 그것의 안전성 증명을 주목적으로 해왔다.
그러나, 암호화된 문서에 대한 효율적인 검색은 개인정보 뿐만 아니라 민감한 정보 보호에 가장 필요한 기술이다. 따라서 현재 절실히 요구되어지는 것은 암호화된 문서를 복호화하지 않은 상태에서 검색 가능한 시스템의 구축으로 이는 보안성 뿐만 아니라 상용 가능해야 하며, 개인의 비밀 문서 뿐만 아니라 조직의 그룹 관리를 위한 문서에도 적합한 것이어야 한다. 오늘날은 USB같은 대용량 저장 매체가 일반화되어 있기 때문에, 굳이 개인의 비밀 문서를 데이터베이스에 암호화하여 저장할 필요는 없으며, 조직내 구성원들이 공유한 비밀정보를 암호화하여 서버에 저장해 두고 수시로 검색해 업데이트 할 수 있는 환경이 더 현실적이기 때문이다.
그러나, 이러한 그룹 환경에서 암호화된 검색 시스템의 설계는 그리 간단한 것이 아니다. 왜냐하면, 그룹은 가입자의 입/탈퇴가 자유로운 다이나믹한 환경이고 암호화에 사용되는 그룹키는 멤버쉽 체인지 때마다 그것의 안전성을 위해 갱신되어 져야 하는 특성을 가진다. 또, 그룹 환경의 암호화된 검색 시스템에서는 다음과 같은 보안 요구 사항을 필요 조건으로 한다. 우선 탈퇴하는 멤버는 그 그룹에 관한 모든 문서에 대해서는 접근 불가능해야 하고, 새로 가입한 멤버는 그 그룹에 관해서는 현재 문서뿐 아니라 그 이전 문서까지 모두 검색 가능해야 한다. 이것의 해결책으로 우선, 그 그룹의 모든 문서를 복호화하여 갱신된 키로 다시 재암호화 하는 것을 들 수 있을 것이다. 하지만 이러한 과정은 엄청난 계산량을 필요로 한다.
따라서, 그룹 환경에서의 효율적인 검색 시스템은 멤버쉽 체인지가 일어나는 상황에서 기존 문서의 재암호화 과정 없이 새가입자는 그전 문서까지 검색 가능해야 하며, 탈퇴한 자는 그 이후의 문서에 대해서는 접근 불가능해야 하는 것이다.
Park et al.은 처음으로 일방향성 해쉬 함수 키체인을 역으로 사용하여 이런 그룹 환경에 대한 검색 스킴을 제안하였다. 하지만, 이 스킴은 전방향 안전성(forward secrecy)를 만족시키지 못한다. 즉, 탈퇴자 중 한명이 자신이 알고 있던 그룹키를 서버에게 알려준다면, 서버는 그 당시 뿐만 아니라 그 이전 문서까지 모두 복호화 할 수 있으며, 이는 완전한 시스템 붕괴를 의미하는 것이다.
그리고, Goll et al.이 동시적 검색(conjunctive search)을 제안하였지만 매번 검색시마다 문서 전체를 업데이트 해야 한다. 이들의 스킴은 종래 연구가 제공하지 못했던 'query isolation'(서버는 누적된 결과로부터 검색 결과 외의 평문에 관한 어떠한 정보도 알 수 없다)에 대한 안전성을 제공하면서 암호 검색 시스템이 갖추어야 할 완벽한 안전성을 구현하였다. 그러나, 이를 성취하기 위해서 검색시마다 모든 문서를 업데이트 해야 하는 비효율적인 측면이 발생한 것이다.
또, Ballad et al. 의 페어링 함수를 이용한 검색 스킴은 10,000개의 인덱스를 검색하는데 720초(720000 ms)가 소요된다. 이것은 절대 상용 불가능한 성능이다. 이러한 성능은 단지 페어링 함수의 연산량 때문만은 아니며, 서버의 데이터베이스 저장 구조와 검색 과정 자체의 문제에 기인하는 것으로 분석된다.
따라서, 종래의 암호화된 문서의 검색방법은 내부 관리자의 정보 유출을 방지할 수 없고, 조직의 그룹 관리를 위한 문서에 적합하지 않으며, 문서의 검색시마다 모든 문서를 업데이트 해야 하고, 데이터 저장 구조상의 문제와 암호화로 인한 검색 절차상의 문제로 DB 스키마 적용의 불가능성으로 인한 비효율적인 문제점이 있다.
따라서, 본 발명이 이루고자 하는 첫번째 기술적 과제는 암호화된 문서 검색시의 비효율성을 최소화하고, 데이터베이스에 암호화 기법을 적용하면서 동시에 효율적인 검색을 가능하게 하고, 정보의 유출을 막아 정보의 오/남용을 막을 뿐 아니라 계층적인 접근 권한을 두어 정보의 체계적인 관리 및 효율적인 자료 검색이 가능하게 하는 암호화된 데이터베이스 검색 방법을 제공하는데 있다.
본 발명이 이루고자 하는 두번째 기술적 과제는 상기의 암호화된 데이터베이스 검색 방법이 적용된 암호화된 데이터베이스 검색 시스템을 제공하는데 있다.
상기 첫번째 기술적 과제를 이루기 위하여, 본 발명은 인증된 사용자가 문서 및 상기 문서에 대한 대표 키워드를 입력하면, 상기 문서를 문서암호용 키로 암호 화하고 상기 대표 키워드를 검색키로 암호화하여 인덱스를 생성하며, 상기 암호화된 문서 및 상기 인덱스를 상기 서버에 전송하는 단계, 임의의 클라이언트에서 인증된 사용자가 검색할 문서에 대한 키워드를 입력하면, 상기 입력된 키워드와 상기 사용자의 검색키를 이용한 트랩도어를 생성하여 상기 서버에 질의하는 단계 및 상기 서버에서 상기 트랩도어 및 상기 서버에 저장된 인덱스를 이용하여 암호화된 문서를 검색하고 검색된 문서를 상기 클라이언트에 전송하는 단계를 포함하는 암호화된 데이터베이스 검색 방법을 제공한다.
또한, 상기 첫번째 기술적 과제를 이루기 위하여, 본 발명은 인증된 사용자가 문서 및 상기 문서에 대한 복수의 키워드를 입력하는 단계, 상기 문서를 문서암호용 키로 암호화하는 단계, 상기 복수의 키워드로부터 임의의 키워드를 추출하여 동시적 검색을 위한 병합 검색어를 구성하고, 상기 복수의 키워드 및 상기 병합 검색어를 검색키로 암호화하여 인덱스를 생성하는 단계, 상기 암호화된 문서 및 상기 인덱스를 상기 서버에 전송하는 단계, 임의의 클라이언트에서 인증된 사용자가 검색할 문서에 대한 키워드를 입력하면, 상기 복수의 키워드 및 상기 병합 검색어에 대해 상기 입력된 키워드를 상기 사용자의 검색키 및 랜덤하게 생성한 난수로 암호화한 트랩도어를 생성하여 상기 서버에 질의하는 단계 및 상기 서버에서 상기 트랩도어 및 상기 서버에 저장된 인덱스를 이용하여 암호화된 문서를 검색하고 검색된 문서를 상기 클라이언트에 전송하는 단계를 포함하는 암호화된 데이터베이스 검색 방법을 제공한다.
또한, 상기 첫번째 기술적 과제를 이루기 위하여, 본 발명은 인증된 사용자 가 문서 및 상기 문서에 대한 복수의 키워드를 입력하는 단계, 상기 문서를 문서암호용 키로 암호화하고, 상기 복수의 키워드를 검색키로 암호화하여 인덱스를 생성하며, 상기 암호화된 문서에 대한 식별자, 상기 암호화된 문서 및 상기 인덱스를 상기 서버에 전송하는 단계, 상기 서버에서 상기 인덱스와 상기 식별자를 매칭시킨 제1리스트를 생성하고, 상기 식별자와 상기 암호화된 문서를 매칭시킨 제2리스트를 생성하는 단계, 임의의 클라이언트에서 인증된 사용자가 검색할 문서에 대한 키워드를 입력하면, 상기 입력된 키워드를 상기 사용자의 검색키로 암호화한 트랩도어를 생성하여 상기 서버에 질의하는 단계 및 상기 서버에서 상기 제1리스트 및 상기 제2리스트를 이용하여 상기 트랩도어가 가리키는 암호화된 문서를 검색하고 검색된 문서를 상기 클라이언트에 전송하는 단계를 포함하는 암호화된 데이터베이스 검색 방법을 제공한다.
상기 두번째 기술적 과제를 이루기 위하여, 본 발명은 복수의 클라이언트 및 서버를 포함하는 데이터베이스 검색 시스템에 있어서, 상기 데이터베이스 검색 시스템은 사용될 보안 정책을 설정하고, 사용자들의 아이디, 패스워드, 문서암호용 키 및 검색키를 생성하여 키매칭 테이블에 저장하며, 상기 키매칭 테이블을 주기적으로 각 사용자들의 클라이언트에 전송하는 그룹 메니저를 포함하고, 상기 클라이언트는 상기 키매칭 테이블에 의해 인증된 사용자가 문서 및 상기 문서에 대한 대표 키워드를 입력하면, 상기 문서를 문서암호용 키로 암호화하고 상기 대표 키워드를 검색키로 암호화하여 인덱스를 생성하며, 상기 암호화된 문서 및 상기 인덱스를 상기 서버에 전송하는 업로드부 및 상기 키매칭 테이블에 의해 인증된 사용자가 검 색할 문서에 대한 키워드를 입력하면, 상기 입력된 키워드와 상기 사용자의 검색키를 이용한 트랩도어를 생성하여 상기 서버에 질의하는 검색부를 포함하고, 상기 서버는 상기 트랩도어 및 상기 서버에 저장된 인덱스를 이용하여 약정된 프로토콜에 의해 암호화된 문서를 검색하고 검색된 문서를 상기 클라이언트에 전송하는 것을 특징으로 하는 암호화된 데이터베이스 검색 시스템을 제공한다.
상술한 바와 같이, 본 발명은 완전히 암호화된 검색 시스템의 설계를 목적으로 한다. 민감한 정보를 저장하고 있는 데이터베이스를 암호화하여 그것을 복호화하지 않은 상태에서 암호화된 검색어로 질의하여 검색 가능하게 하는 시스템으로, 이는 서버 관리자는 사용자가 어떠한 검색어로 어떠한 내용의 문서를 검색하는지 모르기 때문에 비신뢰적인 서버 관리자가 사용자의 정보를 임의로 외부로 유출하는 것을 막을 수 있다.
다음으로, 본 발명은 그룹 환경에서의 다목적용 검색 시스템의 설계를 목적으로 한다. 기존의 사용자와 서버와의 1 대 1인 관계를 다 대 1로 확장하여 앞서 설명한 멤버쉽 체인지로 인한 그룹 환경에서의 검색 시스템의 문제를 해결하였다. 뿐만 아니라, 개인의 비밀 문서와 그룹 구성원들의 비밀 문서 모두 검색 가능하게 하는 다목적용 검색 시스템을 설계하고, 각각 다른 암호화키를 이용한 검색 시스템을 구성함으로써 접근 권한 역시 부여한다.
마지막으로, 본 발명은 다양한 기능과 상용 가능한 효율성을 제공을 목적으로 한다. 조직의 정책에 따라 Top secret 같은 일급 비밀을 관리하는 이상적인 안전성을 보장하는 검색 시스템과 그 보다 안전성은 다소 약하지만 현실적인 환경에 서 상용 적합한 효율적인 검색 시스템을 골라 사용할 수 있도록 한다. 상용 가능한 효율적인 검색 시스템은 암호화로 인한 검색 시스템의 비효율성을 극복한 것이어야 하며, 이를 위해 DB 스키마의 적용이 가능한 검색 구조이어야 한다. 그리고 효율적인 동시적 검색이 가능한 검색 시스템이어야 한다.
본 발명은 암호화된 문서를 복호화하지 않고 암호화된 키워드를 이용하여 원하는 문서를 검색하는 방법 및 시스템에 관한 것이다.
본 발명의 시나리오는 거대한 계층적 그룹의 하위 그룹인 gi의 멤버 pj은 그룹의 비밀 공유 문서 D1을 사내의 서버에 암호화하여 저장하고 키워드 w1를 이용하여 D1을 검색하려 한다. 이때, 다음과 같은 4가지 과정을 거친다.
첫번째, 준비 과정(Setup process)이다. 그룹 메니저(GM)는 검색 시스템에 사용될 함수 및 변수 크기, 키사이즈 등을 결정한다. 또한, 그룹 메니저는 사용자들의 등록을 수행하는데, 각 그룹 구성원 및 개인 사용자들을 아이디와 패스워드, 문서 암호용 키, 검색키를 생성하여 키매칭 테이블에 저장한다. 그룹 메니저는 각 사용자들의 클라이언트 프로그램에 키매칭 테이블 전송한다.
두번째, 인증 과정(Authentication process)이다. 사용자 로긴(login)은 입력창에 아이디와 패스워드를 입력하고, 그것과 매칭되는 값이 클라이언트 프로그램 내의 키매칭 테이블에 있는지 스캔하는 방식으로 수행될 수 있다. 인증 성공의 경우, 클라이언트의 비밀키로 암호화 되어있던 사용자의 문서 암호화키와 검색키를 복호화한다.
세번째, 업로딩 과정(Uploading process)이다. 사용자는 문서와 그 문서의 대표 키워드를 입력한다. 클라이언트 프로그램은 복호화한 사용자의 문서암호용 키와 검색키로 사용자가 입력한문서를 암호화하고 검색키로 키워드를 암호화하여 인덱스를 생성하여 서버에게 전송한다.
네번째, 검색 과정(Search process)이다. 사용자 인증이 완료되고, 인증된 사용자가 검색할 키워드를 입력하면, 클라이언트는 키워드와 사용자의 검색키를 이용하여 질의어(트랩도어)를 생성하고 서버에게 질의한다. 서버는 질의어를 이용하여 테스트 과정 수행하고, 해당 문서를 클라이언트에게 전송한다. 클라이언트는 전송받은 문서를 복호화하여 사용자의 모니터에 출력한다.
이하에서는 도면을 참조하여 본 발명의 바람직한 실시예를 설명하기로 한다. 그러나, 다음에 예시하는 본 발명의 실시예는 여러 가지 다른 형태로 변형될 수 있으며, 본 발명의 범위가 다음에 상술하는 실시예에 한정되는 것은 아니다.
도 1은 본 발명에 따른 암호화된 데이터베이스 검색 시스템의 블럭도이다.
본 발명에 따른 암호화된 데이터베이스 검색 시스템은 그룹 메니저(100), 복수의 클라이언트(110-180) 및 서버(190)를 포함한다.
그룹 메니저(100)는 시스템에 사용될 보안 정책을 설정하고, 사용자들의 아이디, 패스워드, 문서암호용 키 및 검색키를 생성하여 키매칭 테이블에 저장하며, 키매칭 테이블을 실시간 또는 주기적으로 각 사용자들의 클라이언트(110-180)에 전송한다.
클라이언트(110)는 클라이언트 프로그램을 포함하는데, 클라이언트 프로그램 은 인증부(111), 업로드부(112) 및 검색부(113)를 포함한다.
인증부(111)는 클라이언트(110)에 접근하는 사용자를 인증한다. 인증부(111)는 예를 들어, 입력창에 아이디와 패스워드를 입력하고, 입력된 아이디 및 패스워드와 매칭되는 값이 클라이언트 프로그램 내의 키매칭 테이블에 있는지 스캔하는 방식으로 사용자를 인증할 수 있다. 인증부(111)는 키매칭 테이블의 아이디와 패스워드로 개인 사용자 및 그룹 멤버쉽을 인증한다.
업로드부(112)는 키매칭 테이블에 의해 인증된 사용자가 업로드할 문서 및 문서에 대한 대표 키워드를 입력하면, 문서를 문서암호용 키로 암호화하고 대표 키워드를 검색키로 암호화하여 인덱스를 생성한다. 또한, 업로드부(112)는 암호화된 문서 및 인덱스를 서버(190)에 전송한다.
검색부(113)는 키매칭 테이블에 의해 인증된 사용자가 검색할 문서에 대한 키워드를 입력하면, 입력된 키워드와 사용자의 검색키를 이용한 트랩도어를 생성하여 서버(190)에 질의한다.
서버(190)는 트랩도어 및 서버에 저장된 인덱스를 이용하여 암호화된 문서를 검색하고 검색된 문서를 클라이언트(110)에 전송한다. 예를 들어, 서버(190)는 암호화된 문서 및 인덱스를 저장하기 위한 데이터 베이스(191), 트랩도어 및 인덱스를 이용하여 암호화된 문서를 데이터 베이스(191)에서 검색하고 검색된 문서를 클라이언트(110)에 전송하기 위한 서버 검색부(192)를 포함할 수 있다. 이때, 데이터 베이스(191)는 VLDB를 이용할 수 있다.
도 2는 본 발명의 일 실시예에 따른 암호화된 데이터베이스 검색 방법의 흐 름도이다.
먼저, 인증된 사용자가 문서 및 문서에 대한 대표 키워드를 입력하면, 입력된 문서를 문서암호용 키로 암호화하고 대표 키워드를 검색키로 암호화하여 인덱스를 생성하며, 암호화된 문서 및 인덱스를 서버에 전송한다(210 과정).
다음, 임의의 클라이언트에서 인증된 사용자가 검색할 문서에 대한 키워드를 입력하는지 판단한다(220 과정).
키워드가 입력되면, 입력된 키워드와 사용자의 검색키를 이용한 트랩도어를 생성하여 서버에 질의한다(225 과정). 반면에 키워드가 입력되지 않으면, 인증된 사용자가 키워드를 입력하거나 다른 작업을 완료할 때까지 대기한다(220 과정).
마지막으로, 서버에서 트랩도어 및 인덱스를 이용하여 암호화된 문서를 검색하고 검색된 문서를 클라이언트에 전송한다(230 과정).
바람직하게는, 본 발명의 일 실시예에 따른 암호화된 데이터베이스 검색 방법은 서버로부터 전송받은 문서를 클라이언트가 사용자의 문서암호용 키로 복호화하는 과정을 더 포함할 수 있다. 이때, 복호화된 문서를 사용자의 모니터로 출력하는 과정을 더 포함할 수 있다.
본 발명에서는 보다 현실적인 환경을 고려하여 그룹 환경에서 암호화된 문서 검색 시스템을 설계한다. 그리고 앞서 말한 Goll et al의 문제점을 극복하면서 안전성은 그들의 스킴처럼 최상으로 유지하는 스킴을 그룹 환경에서 설계한 SSIS를 제안한다. 이런 종래 연구의 연장선상의 스킴에서 탈피하여 현실적으로 상용 가능하도록 최적화 시킨 암호화된 DB 검색 시스템인 ESIS를 제안한다. 이 두 스킴 모두 다 위 도면의 4단계(setup, authentication, uploading, search)로 구성된다.
이하에서 사용되는 기호를 정의하면 다음과 같다.
Figure 112006075481713-PAT00001
는 그룹 i의 s번째 세션의 그룹키,
Figure 112006075481713-PAT00002
는 그룹 i의 검색키(인덱스 생성키)이다.
Figure 112006075481713-PAT00003
는 그룹 i의 문서 암호용 키이다. 즉, 문서의 암호와 인덱스 생성에 쓰이는 키를 달리한다.
Figure 112006075481713-PAT00004
는 개인 사용자
Figure 112006075481713-PAT00005
의 개인키,
Figure 112006075481713-PAT00006
는 사용자
Figure 112006075481713-PAT00007
의 검색키,
Figure 112006075481713-PAT00008
는 개인 사용자
Figure 112006075481713-PAT00009
의 문서 암호용 키,
Figure 112006075481713-PAT00010
는 사용자 j의 아이디,
Figure 112006075481713-PAT00011
는 n번째 문서,
Figure 112006075481713-PAT00012
는 문서
Figure 112006075481713-PAT00013
의 식별자,
Figure 112006075481713-PAT00014
는 n번째 문서
Figure 112006075481713-PAT00015
의 t번째 키워드,
Figure 112006075481713-PAT00016
는 n번째 문서
Figure 112006075481713-PAT00017
의 t번째 인덱스,
Figure 112006075481713-PAT00018
는 클라이언트 프로그램의 비밀키,
Figure 112006075481713-PAT00019
는 q번째 쿼리에 생성된 난수이다.
본 발명의 다른 실시예에 따른 암호화된 데이터베이스 검색 방법 즉, SSIS(Secure Searchable Index Schemes)는 다음과 같이 구성된다.
먼저, 준비 단계 (Setup process)이다. 그룹 메니저는 검색 시스템에 사용될 보안 정책을 설정하고 사용자들의 등록절차가 이뤄진다. 이 과정에서 생성된 키들은 키매칭 테이블의 형태로 저장되고 이는 다시 각 사용자들의 클라이언트 프로그램에 전송된다.
표 1은 키매칭 테이블의 일 예이다.
ID PW 검색키 문서암호용키
ID1, ID2, ID3...... h(PW1) Ekc(K1) Ekc(R1)
ID35, ID36, ID39..... h(PW2) Ekc(K2) Ekc(R2)
............ .... ..... .......
ID251, ID253, ID274..... h(PW11) Ekc(K11) Ekc(R11)
............. .... ..... ......
ID2, h(pw2) Ekc(k2) Ekc(r2)
ID5, h(pw5) Ekc(k5) Ekc(r5)
................ .... ........ .......
다음으로, 인증 단계 (Authentication process)이다. 로긴시 사용자가 사전에 등록된 정당한 사용자인지를 인증받는 과정이다.
다음으로, 업로딩 단계 (Uploading process)이다. 인증에 성공한 사용자는 업로딩할 문서와 그 문서에 대한 키워드를 입력하고 클라이언트 프로그램은 그것들을 암호화하고 인덱스를 생성하여 서버에 전송한다.
SSIS에서는 각 문서당 t 개의 키워드를 이용해 인덱스를 구성하며, 동시적 검색(conjunctive search)을 위해 t 개중 r 개를 뽑아 병합 검색어(meta-keywords)를 구성한다. 예로, 키워드 개수 t 가 7이고 r 이 3이면, 싱글 키워드 7개, 2개짜리 키워드 21개(7C2), 3개짜리 키워드 35개(7C3)로 한 문서당 총 63개의 키워드로 인덱스 스트링을 구성하게 된다. 인덱스 스트링 구성 방법은 다음의 수학식 1과 같다;
Figure 112006075481713-PAT00020
Figure 112006075481713-PAT00021
다음으로, 검색 단계 (Search process)는 트랩도어 생성 단계(Trapdoor generation stage)와 테스트 및 검색 단계 (Test and Search stage)를 포함한다.
먼저, 트랩도어 생성 단계를 설명하면 다음과 같다. 여기서 트랩도어란 사용자의 검색키(비밀키)로 키워드를 암호화하여 검색을 요청하는 질의어이다. 알고리즘 Trapdoor는 Tw=(T1, T2)를 출력한다.
SSIS에서 트랩도어 생성의 일 예는 다음의 수학식 2와 같다.
Figure 112006075481713-PAT00022
Figure 112006075481713-PAT00023
Figure 112006075481713-PAT00024
여기서
Figure 112006075481713-PAT00025
는 매 쿼리시 마다 새롭게 랜덤하게 생성되어지는 값이고, 트랩도어는 모듈 연산으로 연산되어진다. 때문에 서버는 다음과 같은 사실을 알 수 없다 ; 1)쿼리된 키워드가 이전에 쿼리되어졌던 키워드와 같은 것인지, 2)쿼리에 사용된 검색키 Ki가 이전 질의자의 키와 같은 것인지, 비록 같은 그룹의 멤버가 같은 키 워드를 검색했을지라도 서버는 그 사실을 알 수 없다. 이것으로 인해, 서버는 축적된 결과들로부터 어떤 새로운 사실을 알아낼 수 없어 암화화된 검색 시스템 상에서 완벽한 안전성을 제공할 수 있다.
다음으로, 테스트 및 검색 단계 (Test and Search stage)를 설명하면 다음과 같다. 모든 n={1,2,...,n}에 대하여, 서버는 전송받은 트랩도어와 각 문서의 인덱스 스트링에 있는 식별자(identifier, id0와 id1)를 사용해서 다음의 수학식 3을 연산하여 문서를 검색하게 된다.
Figure 112006075481713-PAT00026
서버는 각 문서마다 연산한 이 결과값과 같은 것이 인덱스 스트링 중에 존재하는지 체크하고, 만약 있다면 해당하는 암호문
Figure 112006075481713-PAT00027
을 클라이언트에게 리턴한다.
이와 같이, 효율적인 테스트식의 구성(트랩도어에서 랜덤하게 생성되어진
Figure 112006075481713-PAT00028
가 연산후 결과값에는 존재하지 않는다)에 의해서 Golle의 스킴처럼 검색시마다 문서 전체를 업데이트하는 과정 없이도 'query isolation'을 제공할 수 있다.
마지막으로, 출력 단계(Output Stage)는 다음과 같다. 클라이언트는 받은 암호문
Figure 112006075481713-PAT00029
을 문서암호용키 Ri를 사용하여 복호화하고, 그 결과를 사용자의 컴퓨터에 출력한다.
도 3은 본 발명의 다른 실시예에 따른 암호화된 데이터베이스 검색 방법의 흐름도이다.
먼저, 인증된 사용자가 문서 및 상기 문서에 대한 복수의 키워드를 입력한다(310 과정). 다음, 입력된 문서를 문서암호용 키로 암호화하고, 복수의 키워드로부터 임의의 키워드를 추출하여 동시적 검색을 위한 병합 검색어를 구성하며, 복수의 키워드 및 병합 검색어를 검색키로 암호화하여 인덱스를 생성한다(315 과정).
다음, 암호화된 문서 및 인덱스를 서버에 전송하여 업로드한다(317 과정).
업로드가 완료되면, 임의의 클라이언트에서 인증된 사용자가 검색할 문서에 대한 키워드를 입력하는지 판단한다(320 과정). 키워드가 입력되면, 입력된 키워드를 사용자의 검색키로 암호화하여 복수의 키워드 및 병합 검색어에 대한 트랩도어를 생성하고, 트랩도어로 서버에 질의한다(325 과정).
마지막으로, 서버에서 트랩도어 및 인덱스를 이용하여 암호화된 문서를 검색하고 검색된 문서를 클라이언트에 전송한다(330 과정).
본 발명의 또다른 실시예에 따른 암호화된 데이터베이스 검색 방법 즉, ESIS(Efficient Searchable Index Schemes)는 다음과 같이 구성된다. 스킴 진행 과정 역시 준비 단계와 인증 단계는 SSIS와 같으므로 업로딩 단계와 검색 단계만을 설명한다.
먼저, 업로딩 단계(Uploading process)를 설명하면 다음과 같다. ESIS에서는 SSIS와 달리 병합 검색어 (meta - keywords)에 대한 인덱스를 생성하지 않고 동시 적 검색은 교집합 연산법을 이용하기로 한다. 암호문과 인덱스 생성 방법은 다음의 수학식 4를 이용할 수 있다.
Figure 112006075481713-PAT00030
사용자가 입력한 업로딩할 문서를 클라이언트 프로그램이 위와 같이 서버에 전송하면 서버는 다음과 같은 인덱스 리스트를 만든다. 즉, ESIS는 2개의 데이터베이스로 구성되며, 여기서 dn은 문서 식별자로서의 역할 뿐만 아니라 주소지로서의 역할도 하는 것이다.
이와 같은 방법으로 인덱스 리스트의 구조가 생성되므로 기본키(primary key)와 외부키(foreign key)를 이용한 효율적인 DB 스키마를 적용시킬 수가 있다.
생성된 인덱스 리스트의 구조의 일 예는 표 2와 같다.
인덱스 문서 식별자 문서 식별자 암호화된 문서
Figure 112006075481713-PAT00031
Figure 112006075481713-PAT00032
Figure 112006075481713-PAT00033
Figure 112006075481713-PAT00034
Figure 112006075481713-PAT00035
Figure 112006075481713-PAT00036
Figure 112006075481713-PAT00037
Figure 112006075481713-PAT00038
..... .... ..... .....
Figure 112006075481713-PAT00039
Figure 112006075481713-PAT00040
Figure 112006075481713-PAT00041
Figure 112006075481713-PAT00042
Figure 112006075481713-PAT00043
Figure 112006075481713-PAT00044
Figure 112006075481713-PAT00045
Figure 112006075481713-PAT00046
Figure 112006075481713-PAT00047
Figure 112006075481713-PAT00048
Figure 112006075481713-PAT00049
Figure 112006075481713-PAT00050
... .... ..... .....
Figure 112006075481713-PAT00051
Figure 112006075481713-PAT00052
Figure 112006075481713-PAT00053
Figure 112006075481713-PAT00054
..... .... .... .....
Figure 112006075481713-PAT00055
Figure 112006075481713-PAT00056
Figure 112006075481713-PAT00057
Figure 112006075481713-PAT00058
...... .... ..... ......
Figure 112006075481713-PAT00059
Figure 112006075481713-PAT00060
Figure 112006075481713-PAT00061
Figure 112006075481713-PAT00062
...... ....
Figure 112006075481713-PAT00063
Figure 112006075481713-PAT00064
이하에서는 표 2의 왼쪽에 제시된 인덱스 리스트를 제1리스트로 정의하고, 오른쪽에 제시된 암호화된 문서는 제2리스트로 정의한다.
다음으로, 검색 단계(Search process)인데, 검색 단계는 트랩도어 생성 단계(Trapdoor generation stage), 테스트 및 검색 단계(Test and search stage)를 포함한다.
먼저, 트랩도어 생성 단계는 다음의 수학식 5와 같이 트랩도어를 생성한다.
Figure 112006075481713-PAT00065
다음, 테스트 및 검색 단계는 서버가 트랩도어를 받으면 인덱스 리스트에서 그것과 같은 값이 있는지 스캔한다. 만약 있다면 그것에 해당하는 문서 식별자를 오른쪽 표에서 다시 찾아 그것에 해당하는 암호화된 문서를 리턴한다. 만약 2개 이상의 동시적 검색(conjunctive search)이라면, 첫 번째 키워드를 검색한 후, 그 결과에 해당하는 인덱스에 대해서만 두 번째 키워드를 검색하여 공통된 결과만을 저장해 두고, 이 공통된 결과값에 대해서만 그 다음 키워드를 검색한다. 질의된 키워드만큼 이런 과정을 수행한 후, 최종 결과만을 사용자에게 리턴한다. 즉, 교집합(inersection) 연산을 통하여 동시적 검색을 수행하는 것이다.
마지막으로, 출력 단계(Output stage)에서는 클라이언트 프로그램이 서버로부터 받은 암호문을 사용자의 문서암호용키로 복호화하여 그 결과값을 사용자에게 출력한다.
도 4는 본 발명의 또다른 실시예에 따른 암호화된 데이터베이스 검색 방법의 흐름도이다.
먼저, 인증된 사용자가 업로드할 문서 및 문서에 대한 복수의 키워드를 입력한다(410 과정). 다음, 입력된 문서를 문서암호용 키로 암호화하고 복수의 키워드를 검색키로 암호화하여 인덱스를 생성하며, 암호화된 문서에 대한 식별자, 암호화된 문서 및 인덱스를 서버에 전송한다(415 과정).
업로드가 완료되면, 서버에서 인덱스와 식별자를 매칭시킨 제1리스트를 생성하고, 식별자와 암호화된 문서를 매칭시킨 제2리스트를 생성한다(417 과정). 이때, 제 1리스트의 인덱스와 식별자를 ‘기본키 (primary key)’로 선언하고, 제 2리스트의 식별자를 ‘외부키 (foreign key)’로 선언하여 DB 스키마를 적용함으로써 관계형 DB를 구성한다.
다음, 임의의 클라이언트에서 인증된 사용자가 검색할 문서에 대한 키워드를 입력하는지 판단한다(420 과정). 키워드가 입력되면, 입력된 키워드를 사용자의 검색키로 암호화한 트랩도어를 생성하여 서버에 질의한다(425 과정).
마지막으로, 서버에서 제1리스트 및 제2리스트를 이용하여 트랩도어가 가리키는 암호화된 문서를 검색하고 검색된 문서를 클라이언트에 전송한다(430 과정).
본 발명은 암호화 키를 이용하여 암호화한 문서를 복호화하지 않은 상태에서 검색 가능하게 하는 시스템에 관한 것이다.
본 발명은 키워드를 이용한 인덱스 검색 시스템에 관한 것이다. 서버 관리자를 비신뢰적인 내부 공격자로 간주한다. 이런 내부 공격자 및 외부 격자로부터 안전한 시스템을 구축하기 위해 각 문서를 암호화하고, 각 문서를 대표하는 주요 키 워드들을 뽑아 암호화하여 그 문서에 해당하는 인덱스를 만든다. 검색할 때는 검색어를 암호화하여 질의하고, 서버는 이런 질의에 해당하는 인덱스가 그 문서에 속한 것인지를 테스트하여 사용자에게 해당 문서를 리턴한다.
본 발명은 보안성과 기능성을 동시에 고려한 상용 적합한 알고리즘에 관한 것이다. 본 발명은 안전한 정보 관리를 위하여 암호화키를 이용한 암호화 기법을 사용한다. 또한, 로긴시 그룹 구성원 및 개인 사용자로서의 인증 과정을 거쳐 접근 권한을 준다. 서버단에서의 복호화 과정 없이 검색 가능하기 때문에 서버 관리자 역시 문서에 대한 내용을 알 수 없다. SSIS는 암호 검색 시스템에 있어서 최고의 안전성에 효율적인 측면을 개선한 알고리즘이다.
본 발명은 상용 DB와 연동 가능하다. ESIS는 일반 상용 데이터베이스에 사용되는 DB 스키마를 암호화된 검색 시스템에서도 사용 가능하도록 설계하여 검색 속도를 향상시킨다. 페어링 함수를 사용하지 않고도 동시적 검색(conjunctive search, 2개 이상의 검색어를 모두 포함하는 문서 검색)이 가능하다.
본 발명은 다목적용 시스템에 관한 것이다. 종래의 사용자와 서버와의 관계가 1:1인 검색 시스템에서 다:1인 그룹 환경으로 확장한다. 즉, 거대 조직을 하나의 계층적 그룹으로 간주하고, 전체 그룹 및 그 하위 그룹들의 구성원으로서 뿐만 아니라 개인 사용자로서도 검색 가능한 시스템을 구축한다.
본 발명은 관리 효율적이다. 그룹 메니저는 계층적 그룹의 여러 하위 그룹들의 구성원들의 키 관리와 등록 절차를 담당한다. 안전성과 기능성을 고려하여 각 키 사이즈와 변수들, 키워드 개수를 결정한다. 즉, 보안 정책 결정자로서의 역할을 수행한다. 클라이언트 프로그램은 검색 시스템에서 일종의 접속 프로그램이다. 사용자를 대신하여 서버와 검색 과정을 수행한다. 이를 위해 키 매칭 테이블을 보유하고 있으며, 이는 주기적으로 그룹 메니저로부터 업데이트된 정보를 내려받아 동기화 시켜준다. 키매칭 테이블은 사용자 로그인시 인증 기능을 수행하고 이로써 접근 제한을 가능하게 한다. 뿐만 아니라, 업데이트가 용이하다. 암호화하여 서버에 저장하고 싶은 문서가 있으면 업로딩 단계와 동일한 방법으로 수행하면 되기 때문에 별도의 제한 없이 업데이트 가능하다.
본 발명에 따른 스킴 SSIS, ESIS의 평문 버전인 P-SSIS와 P-ESIS를 모두 같이 실험하였다. 표 3에 의하면 ESIS의 성능은 SSIS보다 월등히 뛰어나며, 평문버전과 거의 차이가 없음을 알 수 있다. 그러나 DB스키마를 적용하지 않았던 처음 실험에서는 그러한 결과가 나오지 않았다. 처음 실험에서는 ESIS 역시 성능이 매우 저조하였다. 그래서 DB스키마를 적용하여 실험하려 하였으나 SSIS는 DB스키마 적용이 불가능한 구조와 검색 방법을 가지고 있었다. 따라서 ESIS에만 기본키와 외부키를 이용한 DB스키마를 적용하여 실험하였고 그 결과 표 3과 같은 놀라운 결과를 얻을 수 있었다. SSIS는 종래 연구들의 구조와 검색 방법을 그대로 따르면서 효율성을 향상시킨 스킴이기 때문에 종래 스킴 역시 성능이 저조할 것이라는 추측 아래 종래 스킴 역시 실험해 보았다. 결과는 예상했던대로 표 4에서 보는 바와 같이 ESIS는 Golle et al.의 스킴과 SSIS보다 약 480배 가량 빠르며, Song et al.의 스킴보다 약 10배 가량 빨랐다.
표 3과 표 4의 단위는 ms 이다.
P- SSIS SSIS P- ESIS ESIS
업로딩 시간 (1개문서) 54 154 28 49
검색 1-키워드 2-키워드 1-키워드 2-키워드 1-키워드 2-키워드 1-키워드 2-키워드
2500개 문서 94 102 6171 14148 30 33 35 41
5000개 문서 172 203 12359 28250 41 45 47 52
7500개 문서 203 250 18516 42554 51 55 61 74
10000개 문서 281 320 37828 57578 65 71 79 92
문서 수 Song Golle SSIS ESIS
2,500 262 8,328 6171 35
5,000 345 16,422 12359 47
7,500 608 24,453 18516 61
10,000 825 32,454 37828 79
이상에서는 안전성 위주의 스킴인 SSIS와 효율성 위주의 스킴인 ESIS를 설계하고, 이 두 스킴 모두를 구현하여 실험과 분석을 하였다. 이 과정에서 DB 검색 시스템에서 DB가 제공하는 스키마의 적절한 사용이 검색 시스템의 효율성에 얼마나 중요한 역할을 하는지 알 수 있으며 종래 스킴들 역시 DB 스키마 적용이 불가능하여 상용화하기엔 부적합 하다는 것을 실험을 통하여 알 수 있었다. 따라서 사용되는 함수의 연산량과 통신량의 효율성 뿐만 아니라 그것의 응용계층과의 상호 연동시 효율성도 반드시 고려해야 할 중요한 사항이라는 것을 알 수 있다.
NEIS 및 전자정부 구현과 더불어 개인정보보호는 굉장히 중요한 핫 이슈로 부각되었다. NEIS 및 전자정부에 사용되는 데이터베이스의 오남용을 가장 확실하게 방지할 수 있는 방안은 개인정보보호와 기밀한 정보보호를 담당하는 데이터베이스의 암호화이다. 본 발명은 데이터베이스에 암호화 기법을 적용하면서 동시에 효율적인 검색을 가능하게 하여 기업의 경쟁력과 관공서의 공신력, 그리고 서비스 제공 업자들 및 금융기관의 보안상 신뢰도를 높일 수 있다. 근자에 일어난 국내 대기업의 채용 응시자 정보가 인터넷에 대규모로 유출된 사건만 봐도 데이터베이스의 암호화가 얼마나 중요한 가를 알 수 있다.
경제적인 측면으로는 DB업계의 호응을 예상할 수 있다. 이미 국외에선 개발 단계에 들어가 있지만, 암호화 기법의 비효율성이란 선입견과 보안 문제의 인식 부족 때문에 국내에선 연구에 대한 시도조차 없는 상황에서 이와 같이 상용 가능한 효율적인 성능을 가진 시스템의 개발은 국내 업계에게 DB 보안에 관한 중요성을 고취시키고 상품 개발을 유도해 낼 수 있을 것으로 보여진다. 또한 이런 상품 개발은 기업, 병원, 관공서, 금융기관, 서비스 업체 등 개인 정보 및 민감한 정보를 다루는 데이터베이스를 두는 모든 조직들은 이를 사용할 것으로 여겨지므로 넓은 시장을 확보할 수 있을 것으로 보여진다. 기업이나 관공서 또는 병원 같은 공공기관에서는 외부로 노출되어져서는 안될 기밀한 정보를 많이 다룬다. 본 발명은 그들의 데이터베이스에 암호화 기법을 적용하여 정보의 유출을 막아 정보의 오남용을 막을 뿐 아니라 계층적인 접근 권한을 두어 정보의 체계적인 관리 및 효율적인 자료 검색이 가능하게 하고, 이러한 데이터베이스의 효율적인 검색 시스템을 실현함으로써 안전한 정보 관리 체계를 실현하여 정보화 사회에서 경제 성장뿐만 아니라 국가 정책 발전의 원동력이 되게 할 것이다.
바람직하게는, 본 발명의 암호화된 데이터베이스 검색 방법을 컴퓨터에서 실행시키기 위한 프로그램을 컴퓨터로 읽을 수 있는 기록매체에 기록하여 제공할 수 있다.
본 발명은 소프트웨어를 통해 실행될 수 있다. 소프트웨어로 실행될 때, 본 발명의 구성 수단들은 필요한 작업을 실행하는 코드 세그먼트들이다. 프로그램 또는 코드 세그먼트들은 프로세서 판독 가능 매체에 저장되거나 전송 매체 또는 통신망에서 반송파와 결합된 컴퓨터 데이터 신호에 의하여 전송될 수 있다.
컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 테이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 장치의 예로는 ROM, RAM, CD-ROM, DVD±ROM, DVD-RAM, 자기 테이프, 플로피 디스크, 하드 디스크(hard disk), 광데이터 저장장치 등이 있다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 장치에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
본 발명은 도면에 도시된 일 실시예를 참고로 하여 설명하였으나 이는 예시적인 것에 불과하며 당해 분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 실시예의 변형이 가능하다는 점을 이해할 것이다. 그러나, 이와 같은 변형은 본 발명의 기술적 보호범위내에 있다고 보아야 한다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해서 정해져야 할 것이다.
상술한 바와 같이, 본 발명에 의하면, 데이터베이스에 암호화 기법을 적용하 면서 동시에 효율적인 검색을 가능하게 하고, 정보의 유출을 막아 정보의 오남용을 막을 뿐 아니라 계층적인 접근 권한을 두어 정보의 체계적인 관리 및 효율적인 자료 검색이 가능하게 하는 효과가 있다.

Claims (11)

  1. 인증된 사용자가 문서 및 상기 문서에 대한 대표 키워드를 입력하면, 상기 문서를 문서암호용 키로 암호화하고 상기 대표 키워드를 검색키로 암호화하여 인덱스를 생성하며, 상기 암호화된 문서 및 상기 인덱스를 상기 서버에 전송하는 단계;
    임의의 클라이언트에서 인증된 사용자가 검색할 문서에 대한 키워드를 입력하면, 상기 입력된 키워드와 상기 사용자의 검색키를 이용한 트랩도어를 생성하여 상기 서버에 질의하는 단계; 및
    상기 서버에서 상기 트랩도어 및 상기 서버에 저장된 인덱스를 이용하여 암호화된 문서를 검색하고 검색된 문서를 상기 클라이언트에 전송하는 단계를 포함하는 암호화된 데이터베이스 검색 방법.
  2. 제 1 항에 있어서,
    상기 클라이언트에서 상기 검색된 문서를 상기 사용자의 문서암호용 키를 이용하여 복호화하는 단계를 더 포함하는 것을 특징으로 하는 암호화된 데이터베이스 검색 방법.
  3. 제 2 항에 있어서,
    상기 복호화된 문서를 상기 클라이언트의 모니터로 출력하는 단계를 더 포함하는 것을 특징으로 하는 암호화된 데이터베이스 검색 방법.
  4. 제 1 항에 있어서,
    상기 문서 및 상기 문서에 대한 대표 키워드를 입력하는 단계는
    그룹 메니저에서 검색 시스템에 사용될 보안 정책을 설정하고, 사용자들의 아이디, 패스워드, 문서암호용 키 및 검색키를 생성하여 키매칭 테이블에 저장하는 단계; 및
    상기 키매칭 테이블을 주기적으로 각 사용자들의 클라이언트에 전송하는 단계를 포함하는 것을 특징으로 하는 암호화된 데이터베이스 검색 방법.
  5. 제 4 항에 있어서,
    상기 문서 및 상기 문서에 대한 대표 키워드를 입력하는 단계는
    임의의 클라이언트에서 사용자가 입력한 아이디 및 패스워드가 상기 키매칭 테이블에 존재하면, 상기 아이디 및 패스워드를 입력한 사용자를 인증하는 단계; 및
    상기 인증된 사용자의 클라이언트에서 비밀키로 암호화된 문서암호용 키 및 검색키를 복호화하는 단계를 포함하는 것을 특징으로 하는 암호화된 데이터베이스 검색 방법.
  6. 인증된 사용자가 문서 및 상기 문서에 대한 복수의 키워드를 입력하는 단계;
    상기 문서를 문서암호용 키로 암호화하는 단계;
    상기 복수의 키워드로부터 임의의 키워드를 추출하여 동시적 검색을 위한 병합 검색어를 구성하고, 상기 복수의 키워드 및 상기 병합 검색어를 검색키로 암호화하여 인덱스를 생성하는 단계;
    상기 암호화된 문서 및 상기 인덱스를 상기 서버에 전송하는 단계;
    임의의 클라이언트에서 인증된 사용자가 검색할 문서에 대한 키워드를 입력하면, 상기 복수의 키워드 및 상기 병합 검색어에 대해 상기 입력된 키워드를 상기 사용자의 검색키 및 랜덤하게 생성한 난수로 암호화한 트랩도어를 생성하여 상기 서버에 질의하는 단계; 및
    상기 서버에서 상기 트랩도어 및 상기 서버에 저장된 인덱스를 이용하여 암호화된 문서를 검색하고 검색된 문서를 상기 클라이언트에 전송하는 단계를 포함하는 암호화된 데이터베이스 검색 방법.
  7. 제 6 항에 있어서,
    상기 검색된 문서를 상기 클라이언트에 전송하는 단계는
    모든 n={1,2,...,n}에 대하여, 상기 서버에서 전송받은 트랩도어
    Figure 112006075481713-PAT00066
    Figure 112006075481713-PAT00067
    와 각 문서의 인덱스에 있는 식별자 id0 및 id1를 이용하여
    Figure 112006075481713-PAT00068
    Figure 112006075481713-PAT00069
    Figure 112006075481713-PAT00070
    를 연산하여, 각 문서마다 연산한 결과값과 동일한 것이 인덱스 중에 존재하면 해당하는 암호화된 문서를 상기 클라이언트에게 전송하는 단계를 포함하는 것을 특징으로 하는 암호화된 데이터베이스 검색 방법.
  8. 인증된 사용자가 문서 및 상기 문서에 대한 복수의 키워드를 입력하는 단계;
    상기 문서를 문서암호용 키로 암호화하고, 상기 복수의 키워드를 검색키로 암호화하여 인덱스를 생성하며, 상기 암호화된 문서에 대한 식별자, 상기 암호화된 문서 및 상기 인덱스를 상기 서버에 전송하는 단계;
    상기 서버에서 상기 인덱스와 상기 식별자를 매칭시킨 제1리스트를 생성하고, 상기 식별자와 상기 암호화된 문서를 매칭시킨 제2리스트를 생성하는 단계;
    임의의 클라이언트에서 인증된 사용자가 검색할 문서에 대한 키워드를 입력하면, 상기 입력된 키워드를 상기 사용자의 검색키로 암호화한 트랩도어를 생성하여 상기 서버에 질의하는 단계; 및
    상기 서버에서 상기 제1리스트 및 상기 제2리스트를 이용하여 상기 트랩도어가 가리키는 암호화된 문서를 검색하고 검색된 문서를 상기 클라이언트에 전송하는 단계를 포함하는 암호화된 데이터베이스 검색 방법.
  9. 제 8 항에 있어서,
    상기 암호화된 문서를 검색하고 검색된 문서를 상기 클라이언트에 전송하는 단계는
    상기 트랩도어가 2 이상의 키워드를 포함하는 동시적 검색을 나타내는 경우, 하나의 키워드를 검색한 결과에 해당하는 인덱스에 대해서만 다음 키워드를 검색하여 공통된 결과를 추출하는 교집합 연산을 이용하여 동시적 검색을 수행하는 단계를 포함하는 것을 특징으로 하는 암호화된 데이터베이스 검색 방법.
  10. 제 8 항에 있어서,
    상기 제2리스트를 생성하는 단계는
    상기 제1리스트의 인덱스와 식별자를 기본키로 선언하고, 상기 제2리스트의 식별자를 외부키로 선언하여 DB 스키마를 적용하여 암호화된 데이터베이스에 관계형 DB를 구성하는 단계를 포함하는 것을 특징으로 하는 암호화된 데이터베이스 검색 방법.
  11. 복수의 클라이언트 및 서버를 포함하는 데이터베이스 검색 시스템에 있어서,
    상기 데이터베이스 검색 시스템은
    사용될 보안 정책을 설정하고, 사용자들의 아이디, 패스워드, 문서암호용 키 및 검색키를 생성하여 키매칭 테이블에 저장하며, 상기 키매칭 테이블을 주기적으로 각 사용자들의 클라이언트에 전송하는 그룹 메니저를 포함하고,
    상기 클라이언트는
    상기 키매칭 테이블에 의해 인증된 사용자가 문서 및 상기 문서에 대한 대표 키워드를 입력하면, 상기 문서를 문서암호용 키로 암호화하고 상기 대표 키워드를 검색키로 암호화하여 인덱스를 생성하며, 상기 암호화된 문서 및 상기 인덱스를 상기 서버에 전송하는 업로드부; 및
    상기 키매칭 테이블에 의해 인증된 사용자가 검색할 문서에 대한 키워드를 입력하면, 상기 입력된 키워드와 상기 사용자의 검색키를 이용한 트랩도어를 생성하여 상기 서버에 질의하는 검색부를 포함하고,
    상기 서버는 상기 트랩도어 및 상기 서버에 저장된 인덱스를 이용하여 약정된 프로토콜에 의해 암호화된 문서를 검색하고 검색된 문서를 상기 클라이언트에 전송하는 것을 특징으로 하는 암호화된 데이터베이스 검색 시스템.
KR1020060101805A 2006-10-19 2006-10-19 암호화된 데이터베이스 검색 방법 및 그 시스템 KR100839220B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060101805A KR100839220B1 (ko) 2006-10-19 2006-10-19 암호화된 데이터베이스 검색 방법 및 그 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060101805A KR100839220B1 (ko) 2006-10-19 2006-10-19 암호화된 데이터베이스 검색 방법 및 그 시스템

Publications (2)

Publication Number Publication Date
KR20080035295A true KR20080035295A (ko) 2008-04-23
KR100839220B1 KR100839220B1 (ko) 2008-06-19

Family

ID=39574310

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060101805A KR100839220B1 (ko) 2006-10-19 2006-10-19 암호화된 데이터베이스 검색 방법 및 그 시스템

Country Status (1)

Country Link
KR (1) KR100839220B1 (ko)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100899450B1 (ko) * 2007-09-21 2009-05-27 고려대학교 산학협력단 암호화된 문서의 근사 스트링 매칭 방법, 이를 기록한기록매체 및 그 시스템
KR100903601B1 (ko) * 2007-10-24 2009-06-18 한국전자통신연구원 암호화된 수치 데이터 검색 시스템 및 그 방법
KR101104845B1 (ko) * 2010-09-08 2012-01-16 (주)소만사 데이터베이스와 클라이언트 간 db vpn을 이용한 안전 통신 시스템 및 방법
US8380720B2 (en) 2008-12-12 2013-02-19 Electronics And Telecommunications Research Institute Method for data encryption and method for conjunctive keyword search of encrypted data
KR101282281B1 (ko) * 2011-08-30 2013-08-23 고려대학교 산학협력단 프라이버시를 보장하는 가중치 기반의 키워드 검색을 위한 방법 및 장치
KR101302137B1 (ko) * 2009-12-16 2013-09-16 한국전자통신연구원 대칭 키 기반 검색 가능 암호 방법
US20140331044A1 (en) * 2011-12-01 2014-11-06 Hitachi, Ltd. Secure search method and secure search device
KR20140133383A (ko) * 2013-05-09 2014-11-19 삼성전자주식회사 데이터관리장치, 데이터관리방법 및 데이터관리시스템
US9152816B2 (en) 2012-08-31 2015-10-06 Electronics And Telecommunications Research Institute Method of managing medical information in operating system for medical information database
KR20160136060A (ko) * 2015-05-19 2016-11-29 포항공과대학교 산학협력단 공유 또는 검색을 위한 데이터 암호화 방법 및 이를 수행하는 장치
CN113626485A (zh) * 2021-07-03 2021-11-09 西安电子科技大学 一种适用于数据库管理系统的可搜索加密方法及系统
CN114417109A (zh) * 2021-12-29 2022-04-29 电子科技大学广东电子信息工程研究院 一种基于安全网关的密文搜索方法、装置及其系统

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101174058B1 (ko) 2008-12-18 2012-08-16 한국전자통신연구원 데이터베이스의 암호화된 데이터 저장 및 검색 방법

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100243657B1 (ko) * 1996-12-06 2000-02-01 정선종 정보 검색 시스템에서의 보안 유지 방법
KR20000072232A (ko) * 2000-08-19 2000-12-05 이석구 인터넷망을 이용한 디지털컨텐츠 배포시스템
JP2005149126A (ja) * 2003-11-14 2005-06-09 Sony Corp 情報取得システム、情報取得方法、及び情報処理プログラム
KR100594886B1 (ko) * 2004-04-12 2006-06-30 주식회사 비티웍스 데이터베이스 보안 시스템 및 방법
KR20050112943A (ko) * 2004-05-28 2005-12-01 주식회사 다음커뮤니케이션 특화된 검색키워드를 이용한 개인화된 정보 제공 시스템및 방법

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100899450B1 (ko) * 2007-09-21 2009-05-27 고려대학교 산학협력단 암호화된 문서의 근사 스트링 매칭 방법, 이를 기록한기록매체 및 그 시스템
KR100903601B1 (ko) * 2007-10-24 2009-06-18 한국전자통신연구원 암호화된 수치 데이터 검색 시스템 및 그 방법
US8380720B2 (en) 2008-12-12 2013-02-19 Electronics And Telecommunications Research Institute Method for data encryption and method for conjunctive keyword search of encrypted data
KR101302137B1 (ko) * 2009-12-16 2013-09-16 한국전자통신연구원 대칭 키 기반 검색 가능 암호 방법
US8812867B2 (en) 2009-12-16 2014-08-19 Electronics And Telecommunications Research Institute Method for performing searchable symmetric encryption
KR101104845B1 (ko) * 2010-09-08 2012-01-16 (주)소만사 데이터베이스와 클라이언트 간 db vpn을 이용한 안전 통신 시스템 및 방법
KR101282281B1 (ko) * 2011-08-30 2013-08-23 고려대학교 산학협력단 프라이버시를 보장하는 가중치 기반의 키워드 검색을 위한 방법 및 장치
US9311494B2 (en) * 2011-12-01 2016-04-12 Hitachi, Ltd. Secure search method and secure search device
US20140331044A1 (en) * 2011-12-01 2014-11-06 Hitachi, Ltd. Secure search method and secure search device
US9152816B2 (en) 2012-08-31 2015-10-06 Electronics And Telecommunications Research Institute Method of managing medical information in operating system for medical information database
KR20140133383A (ko) * 2013-05-09 2014-11-19 삼성전자주식회사 데이터관리장치, 데이터관리방법 및 데이터관리시스템
KR20160136060A (ko) * 2015-05-19 2016-11-29 포항공과대학교 산학협력단 공유 또는 검색을 위한 데이터 암호화 방법 및 이를 수행하는 장치
CN113626485A (zh) * 2021-07-03 2021-11-09 西安电子科技大学 一种适用于数据库管理系统的可搜索加密方法及系统
CN113626485B (zh) * 2021-07-03 2024-05-31 西安电子科技大学 一种适用于数据库管理系统的可搜索加密方法及系统
CN114417109A (zh) * 2021-12-29 2022-04-29 电子科技大学广东电子信息工程研究院 一种基于安全网关的密文搜索方法、装置及其系统
CN114417109B (zh) * 2021-12-29 2024-05-17 电子科技大学广东电子信息工程研究院 一种基于安全网关的密文搜索方法、装置及其系统

Also Published As

Publication number Publication date
KR100839220B1 (ko) 2008-06-19

Similar Documents

Publication Publication Date Title
KR100839220B1 (ko) 암호화된 데이터베이스 검색 방법 및 그 시스템
EP2731041B1 (en) Computer system for storing and retrieval of encrypted data items, client computer, computer program product and computer-implemented method
US9031876B2 (en) Managing keys for encrypted shared documents
US9558366B2 (en) Computer system for storing and retrieval of encrypted data items, client computer, computer program product and computer-implemented method
Li et al. Secure deduplication storage systems supporting keyword search
Zerr et al. Zerber: r-confidential indexing for distributed documents
Zhang et al. Inference attack-resistant e-healthcare cloud system with fine-grained access control
Wang et al. Towards secure and effective utilization over encrypted cloud data
Sun et al. Research on logistics information blockchain data query algorithm based on searchable encryption
US20180123790A1 (en) Encryption directed database management system and method
CN114579998A (zh) 一种区块链辅助的医疗大数据搜索机制与隐私保护方法
Zhang et al. A dynamic searchable symmetric encryption scheme for multiuser with forward and backward security
CN114640458A (zh) 云边协同环境下细粒度的多用户安全可搜索加密方法
Ou et al. An Efficient and Privacy‐Preserving Multiuser Cloud‐Based LBS Query Scheme
Sultan et al. Securing organization’s data: A role-based authorized keyword search scheme with efficient decryption
Meharwade et al. Efficient keyword search over encrypted cloud data
EP2920732B1 (en) Computer system for storing and retrieval of encrypted data items, client computer, computer program product and computer-implemented method
WO2018080857A1 (en) Systems and methods for creating, storing, and analyzing secure data
Di Crescenzo et al. Practical and privacy-preserving policy compliance for outsourced data
Tian et al. A trusted control model of cloud storage
Wang et al. An effective verifiable symmetric searchable encryption scheme in cloud computing
Mu et al. Encrypted data retrieval scheme based on bloom filter
Almobaideen et al. Searchable encryption architectures: survey of the literature and proposing a unified architecture
Manek et al. Cloud Oriented Distributed and Encrypted File Storage (CODE-FS)
Mehto et al. A secured and searchable encryption algorithm for cloud storage

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

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140304

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20150622

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee