KR20140133383A - 데이터관리장치, 데이터관리방법 및 데이터관리시스템 - Google Patents

데이터관리장치, 데이터관리방법 및 데이터관리시스템 Download PDF

Info

Publication number
KR20140133383A
KR20140133383A KR1020130090463A KR20130090463A KR20140133383A KR 20140133383 A KR20140133383 A KR 20140133383A KR 1020130090463 A KR1020130090463 A KR 1020130090463A KR 20130090463 A KR20130090463 A KR 20130090463A KR 20140133383 A KR20140133383 A KR 20140133383A
Authority
KR
South Korea
Prior art keywords
data
information
keyword
user
keywords
Prior art date
Application number
KR1020130090463A
Other languages
English (en)
Other versions
KR102131306B1 (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 삼성전자주식회사
Publication of KR20140133383A publication Critical patent/KR20140133383A/ko
Application granted granted Critical
Publication of KR102131306B1 publication Critical patent/KR102131306B1/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
    • G06F21/602Providing cryptographic facilities or services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 데이터관리장치, 데이터관리방법 및 데이터관리시스템에 관한 것으로서, 본 발명의 실시 예에 따른 데이터관리장치는 복수의 키워드를 암호화하여 저장하고, 키워드를 포함하는 데이터의 ID 정보들의 집합에 대한 블룸 필터를 암호화하여 저장하는 저장부, 사용자로부터의 요청에 근거하여 저장부에서 동일 키워드에 대응되는 열의 ID 정보들의 집합을 추출하는 제어부, 및 추출한 ID 정보들의 집합을 복호화하는 복호화부를 포함하되, 제어부는 복호화한 ID 정보에 매칭되는 데이터를 사용자에게 제공하고, ID 정보들의 집합은, 비트 정보로서 처리되는 것을 특징으로 한다.

Description

데이터관리장치, 데이터관리방법 및 데이터관리시스템{Apparatus for M anaging Data, Method for Managing Data, System for Managing Data}
본 발명은 데이터관리장치, 데이터관리방법 및 데이터관리시스템에 관한 것으로서, 더 상세하게는 예컨대 클라우드 환경 하에서 외부 저장 공간에 데이터와 키워드를 암호화하여 저장하고, 키워드들에 대한 검색 가능한 암호문을 생성하며, 가령 검색하려는 키워드에 대한 토큰을 이용해 암호화된 키워드들로부터 해당 키워드를 포함하는 데이터의 검색 등을 가능케 하는 데이터관리장치, 데이터관리방법 및 데이터관리시스템에 관한 것이다.
암호화된 데이터들에 대해 키워드 검색을 허용하는 검색 가능 암호 시스템(Encrypted Keyword Search)은 대칭키 기반 기법과 비대칭키 기반 기법으로 나눠지는데, 대칭키 기반 기법은 데이터를 업로드하고 다운로드하는 대상이 동일하며, 비대칭키 기법은 그 대상이 서로 다르다.
대칭키를 이용하는 키워드 기반 검색 가능 암호시스템에서 사용자는 외부 저장공간에 자신의 비밀키로 암호화된 데이터와 해당 인덱스를 저장한다. 인덱스는 데이터가 포함하고 있는 키워드들에 대한 정보를 암호화한 것으로, 암호화된 데이터를 키워드에 기반해서 검색할 때 사용된다. 검색시 사용자는 검색 키워드에 해당하는 토큰을 서버에 전달하고, 서버는 토큰과 인덱스를 이용하여 일련의 테스트 과정을 거친 후에 암호화된 데이터들을 사용자에게 반환한다. 그리고 사용자는 자신의 비밀키를 이용하여 데이터를 복호화한다.
대칭키를 이용한 키워드 기반 검색 암호시스템은 검색 방법에 따라 포워드 인덱스(forward index) 방식과 인버티드(inverted index) 방식으로 나누어진다. forward index 방식에서는 각 데이터가 포함하는 키워드들을 집합(set)으로 저장하며, 각 집합이 검색 키워드를 포함하는지를 검사한다. 그렇기 때문에 저장되어 있는 데이터 개수에 비례하여 검색 시간이 증가한다. 그러나 데이터마다 암호화된 키워드들의 집합이 독립적으로 존재하기 때문에 새로운 데이터를 추가하거나 저장된 데이터를 삭제하는 것이 용이하다. 반면, inverted index 방식에서는 각각의 키워드마다 그 키워드를 포함하는 데이터의 ID들을 집합으로 저장하며, 검색시 검색 키워드에 해당하는 집합에 포함되는 데이터를 반환한다. 그렇기 때문에 forward index 방식과 비교하여 검색 속도가 빠르다. 그러나 키워드에 따라 데이터의 ID들이 집합으로 저장되어 있기 때문에, 추가 및 삭제되는 데이터가 포함하고 있는 키워드에 해당하는 집합을 추가 및 삭제시 매번 업데이트해야 한다는 단점이 있다.
그런데, 종래에 알려진 키워드 기반 검색 가능 암호시스템들은 단일 키워드(single keyword) 검색에 초점을 두고 있으며, 키워드들의 교집합 검색(conjunctive search)과 키워드들의 합집합 검색(disjunctive search)을 지원하는 불리안 검색(boolean search)에 대해서는 효율적인 검색 방법을 제시하지 못하고 있다.
또한 종래의 시스템들은 기존 데이터베이스(DB)의 수정 없이는 적용이 불가능하며, 데이터의 추가 및 삭제시 키워드에 해당하는 데이터의 ID들의 집합을 업데이트하기 위하여 많은 비용이 소요되는 문제가 있다.
본 발명의 실시 예는 예컨대 클라우드 환경 하에서 외부 저장 공간에 데이터와 키워드를 암호화하여 저장하고, 키워드들에 대한 검색 가능한 암호문을 생성하며, 가령 검색하려는 키워드에 대한 토큰을 이용하여 암호화된 키워드들로부터 해당 키워드를 포함하는 데이터의 검색 등을 가능케 하는 데이터관리장치, 데이터 관리 방법 및 데이터 관리 시스템을 제공함에 그 목적이 있다.
본 발명의 실시 예에 따른 데이터관리장치는 복수의 키워드를 암호화하여 저장하고, 상기 키워드를 포함하는 데이터의 ID 정보들의 집합을 암호화하여 저장하는 저장부, 사용자로부터의 요청에 근거하여 상기 저장부에서 동일 키워드에 대응되는 열의 상기 ID 정보들의 집합을 추출하는 제어부, 및 상기 추출한 ID 정보들의 집합을 복호화하는 복호화부를 포함하되, 상기 제어부는, 상기 복호화한 ID 정보에 매칭되는 데이터를 상기 사용자에게 제공하고, 상기 ID 정보들의 집합은, 비트(bit) 정보로서 처리된다.
여기서, 상기 비트 정보는 블룸 필터(bloom filter) 또는 비트맵(bit map)의 형태로 표현될 수 있다.
상기 비트 정보의 개수(number)는 상기 데이터의 개수와 일치할 수 있다.
한편, 상기 데이터관리장치는 상기 사용자가 상기 데이터의 추가 또는 삭제를 요청하는 경우, 추가되는 키워드 및 데이터를 암호화하여 상기 저장부에 저장시키는 암호화부를 더 포함할 수 있다.
한편, 상기 사용자로부터의 토큰(token)을 수신하여 상기 데이터의 검색, 추가 또는 삭제를 요청받는 인터페이스부를 더 포함하며, 상기 토큰은 키워드와 상기 암호화 및 상기 복호화를 위한 키를 포함할 수 있다.
한편, 상기 데이터관리장치는 상기 사용자가 복수의 키워드를 포함하는 상기 데이터를 요청하는 경우, 상기 복수의 키워드에 각각 해당되는 열의 ID 정보들의 집합을 논리 연산하여 연산 결과를 출력하는 연산부를 더 포함하되, 상기 제어부는, 상기 연산 결과의 비트 정보를 근거로 상기 데이터를 사용자에게 제공할 수 있다.
또한, 본 발명의 실시 예에 따른 데이터관리방법은 복수의 키워드를 암호화하여 저장하고, 상기 키워드를 포함하는 데이터의 ID 정보들의 집합을 암호화하여 저장부에 저장하는 단계, 사용자로부터의 요청에 근거하여 상기 저장부에서 동일 키워드에 대응되는 열의 상기 ID 정보들의 집합을 추출하는 단계, 상기 추출한 ID 정보들의 집합을 복호화하는 단계, 및 상기 복호화한 ID 정보에 매칭되는 데이터를 상기 사용자에게 제공하는 단계를 포함하되, 상기 ID 정보들의 집합은, 비트 정보로서 처리된다.
여기서, 상기 비트 정보는 블룸 필터 또는 비트맵의 형태로 표현될 수 있다.
또한 상기 비트 정보의 개수는 상기 데이터의 개수와 일치할 수 있다.
한편, 상기 데이터관리방법은, 상기 사용자가 상기 데이터의 추가 또는 삭제를 요청하는 경우, 추가되는 키워드 및 데이터를 암호화하여 상기 저장부에 저장시키는 단계를 더 포함할 수 있다.
한편, 상기 사용자로부터 토큰(token)을 수신하여 상기 데이터의 검색, 추가 또는 삭제를 요청받는 단계를 더 포함하며, 상기 토큰은 키워드와 상기 암호화 및 상기 복호화를 위한 키를 포함할 수 있다.
한편, 상기 데이터관리방법은, 상기 사용자가 복수의 키워드를 포함하는 상기 데이터를 요청하는 경우, 상기 복수의 키워드에 각각 해당되는 열의 ID 정보들의 집합을 논리 연산하여 연산 결과를 출력하는 단계를 더 포함하되, 상기 사용자에게 제공하는 단계는, 상기 연산 결과의 비트 정보를 근거로 상기 데이터를 사용자에게 제공할 수 있다.
한편, 본 발명의 실시 예에 따른 데이터관리시스템은 복수의 키워드와, 상기 복수의 키워드 각각에 매칭시켜 하나의 데이터에 부가되는 ID 정보들의 집합을 암호화하여 저장하고, 사용자로부터 제공된 키워드에 근거하여 상기 암호화한 ID 정보를 비트 정보의 형태로 처리하는 제1 데이터관리장치, 및 상기 ID 정보와, 각 ID 정보에 매칭시켜 상기 데이터를 저장하고, 상기 제1 데이터관리장치에서 처리된 비트 형태의 상기 ID 정보에 근거하여 상기 저장한 데이터를 검색하여 상기 사용자에게 제공하는 제2 데이터관리장치를 포함한다.
도 1은 본 발명의 실시 예에 따른 데이터 관리 시스템의 구조를 나타내는 도면,
도 2는 도 1의 데이터관리장치 1 및 2의 인덱스 및 데이터 테이블의 예시도,
도 3은 본 발명의 실시 예에 따른 인버티드 인덱스(inverted index)의 예시도,
도 4는 도 1의 데이터관리장치 1의 구조를 나타내는 블록다이어그램,
도 5는 본 발명의 실시 예에 따른 데이터 검색 과정을 설명하기 위한 도면,
도 6은 본 발명의 실시 예에 따른 데이터 추가 과정을 설명하기 위한 도면,
도 7은 본 발명의 실시 예에 따른 데이터 삭제 과정을 설명하기 위한 도면, 그리고
도 8은 본 발명의 실시 예에 따른 데이터 관리 방법을 나타내는 흐름도이다.
이하, 도면을 참조하여 본 발명의 실시 예에 대하여 상세히 설명한다.
본 발명의 실시 예는 키워드 기반 검색이 가능한 암호시스템으로서 EKS 시스템이라 명명될 수 있다. EKS 시스템은 본 발명의 실시 예에 따라 인버티드 인덱스 방식으로 블룸 필터를 적용하여 인덱스를 효율적으로 관리한다. EKS 시스템에서 사용자는 외부에 키워드 검색을 위한 인덱스 테이블과 데이터 검색을 위한 데이터 테이블을 두고, 검색(search), 추가(add) 및 삭제(delete) 요청을 통해 외부의 암호화된 데이터를 검색, 추가 및 삭제한다. 본 발명의 실시 예에서는 인덱스 테이블의 유지 대상은 Manager_1, 데이터 테이블의 유지 대상은 Manager_2라 명명할 수 있고, Manager_1 및 Manager_2는 하나의 Manager로 통합될 수 있다.
도 1은 본 발명의 실시 예에 따른 데이터관리시스템의 구조를 나타내는 도면이고, 도 2는 도 1의 데이터관리장치 1 및 2의 인덱스 및 데이터 테이블의 예시도이며, 도 3은 본 발명의 실시 예에 따른 인버티드 인덱스의 예시도이다.
도 1에 도시된 바와 같이, 본 발명의 실시 예에 따른 데이터관리시스템(90)은 사용자 장치(100), 통신망(110), 데이터관리장치 1(Manager 1)(120_1) 및 데이터관리장치 2(Manager 2)(120_2)의 일부 또는 전부를 포함한다.
여기서, 데이터관리장치 2(120_2)는 DB가 될 수 있으며, 일부 또는 전부를 포함한다는 것은 데이터관리장치 1(120_1) 및 데이터관리장치 2(120_2)가 통합되어 하나의 데이터관리장치(혹은 클라우드 장치)가 될 수 있고, 통신망(110)과 결합하여 클라우드 망을 형성할 수 있는 것 등을 의미하는 것으로서, 발명의 충분한 이해를 돕기 위하여 전부 포함하는 것으로 설명한다.
사용자 장치(100)는 사용자가 데이터 생성 작업을 수행하기 위한 장치에 해당된다. 예를 들어, 사용자 장치(100)는 문서 작업을 수행하기 위한 랩탑 및 데스크탑 컴퓨터가 될 수 있고, 사진 및 동영상과 같은 촬영 데이터를 생성하기 위한 휴대폰 및 녹화장치 등이 될 수 있다. 본 발명의 실시 예에 따라 사용자 장치(100)는 작업이 완료되면 생성된 데이터를 통신망(110)을 경유하여 데이터관리장치 1(120_1) 또는 데이터관리장치 2(120)에 저장하는 것이 바람직하다. 이때 사용자 장치(100)는 통신망(110)에 도 1에서와 같은 유선 통신이 아닌 무선 통신으로도 접속하여 데이터를 처리할 수 있을 것이다.
예컨대 사용자 장치(100)는 생성한 데이터를 저장하기 위하여 데이터와 함께 키워드 혹은 키워드를 대신할 수 있는 토큰(이하, 키워드로 설명함)을 생성하여 데이터관리장치 1(120_1)로 제공하고, 이후 키워드를 이용하여 자신이 데이터관리장치 1(120_1) 또는 데이터관리장치 2(120_2), 더 정확하게는 데이터관리장치 2(120_2)에 저장한 데이터를 불러올 수 있다. 여기서 키워드는 다양한 유형의 정보로 표현될 수 있으며, 토큰은 그 정보와 암호화 및 복호화를 위한 키를 결합한 형태로 이해해도 좋을 것이다.
이러한 과정을 통해 사용자 장치(100)는 추가로 생성한 데이터를 데이터관리장치 2(120_2)에 저장하여 데이터를 갱신할 수 있을 뿐 아니라, 키워드를 통해 기저장된 데이터를 삭제할 수도 있을 것이다. 다시 말해, 사용자 장치(100)는 데이터를 업/다운로드하고, 검색, 추가 및 삭제에 대한 쿼리를 토큰을 통하여 데이터관리장치 1(120_1)에 요청하게 된다. 기타 위의 검색, 추가 및 삭제 과정과 관련해서는 이후에 다시 자세히 다루기로 한다.
통신망(110)은 유무선 통신망을 모두 포함한다. 여기서 유선망은 케이블망이나 공중 전화망(PSTN)과 같은 인터넷망을 포함하는 것이고, 무선 통신망은 CDMA, WCDMA, GSM, EPC(Evolved Packet Core), LTE(Long Term Evolution), 와이브로 망 등을 포함하는 의미이다. 따라서 통신망(110)이 유선 통신망인 경우 액세스포인트는 전화국의 교환국 등에 접속할 수 있지만, 무선 통신망인 경우에는 통신사에서 운용하는 SGSN 또는 GGSN(Gateway GPRS Support Node)에 접속하여 데이터를 처리하거나, BTS(Base Station Transmission), NodeB, e-NodeB 등의 다양한 중계기에 접속하여 데이터를 처리할 수 있다.
데이터관리장치 1 및 2(120_1, 120_2)는 일종의 서버로서, 실질적으로 데이터관리장치 2(120_2)는 DB일 수 있지만, 도 1에서와 같이 서로 독립적인 장치로 구성되어 서로 연동할 수 있다. 이러한 독립적인 2개의 장치는 서로 통합되어 하나의 클라우딩 장치를 형성할 수 있는데, 하나의 장치를 구성하는 경우, 데이터관리장치 1 및 2(120_1, 120_2)는 각각 정보처리부 1 및 2로 명명될 수 있다.
데이터관리장치 1(120_1)은 효율적인 검색 및 인덱스 관리를 위해서 블룸 필터를 사용한다. 블룸 필터는 특정 집합 S={x1, x2, ..., xn}의 원소들을 고정된 크기의 배열에 표현할 수 있는 자료 구조로 가령 membership test 알고리즘으로 사용되며 주어진 입력이 특정 집합에 포함되는지 여부를 true/false로 반환한다. 본 발명의 실시 예에서 특정 집합 S={x1, x2, ..., xn}에 대한 블룸 필터를 BF_S로 표현하며, member xi에 대한 블룸 필터는 bf_xi로 표현한다. BF_S=∑i=1 n bf_xi이며, 이때 '+' 연산은 블룸 필터의 member accumulation 과정을 의미하며, '-'는 블룸 필터의 member elimination 과정을 의미한다. 그리고 '∧'는 블룸 필터의 set intersection을 의미하며, BF_S∧BF_S'은 집합 S와 S'의 교집합에 대한 블룸 필터가 된다. 블룸 필터의 set intersection은 bitwise AND 연산으로 구현이 가능하다.
데이터관리장치 1(120_1)은 사용자로부터 쿼리를 처리한다. 인덱스 테이블은 도 2의 (a) 및 도 3에서와 같이 2개의 칼럼(column)으로 구성되어 있는데, 칼럼 1에는 키워드 wi에 대한 암호화된 키워드가 저장되며, 칼럼 2에는 키워드 wi를 포함하는 데이터의 ID들의 집합에 대한 블룸 필터(BF_wi)가 암호화되어 저장된다. 가령 적용되는 암호 알고리즘은 결정 암호화 알고리즘(deterministic encryption algorithm)으로 동일한 입력에 대해서 동일한 결과를 출력한다. 그리고, K_s와 K_wi는 사용자의 마스터 키(=K)로부터 계산이 가능한 암호화/복호화 키를 나타낸다.
좀더 살펴보면, 데이터관리장치 1(120_1)은 사용자가 생성한 데이터와 키워드들을 결합하여 블룸 필터의 자료 구조 형태로 저장한다. 즉 인덱스 테이블을 생성한다. 다시 말해, 데이터관리장치 1(120_1)은 도 3에서와 같이 복수의 키워드를 저장하고, 각 키워드에 매칭시켜 해당 키워드를 포함하는 데이터들의 ID 정보를 집합 형태로 구성하고 이를 암호화하여 저장한다. 이때 ID들의 집합을 비트 정보로 표현할 수 있다. 예를 들어, 데이터관리장치 2(120_2)에 저장된 데이터가 모두 7개인 경우, 집합 형태의 ID 정보는 7비트 정보로 표현될 수 있다. 가령, 7개의 데이터 중 첫 번째 데이터만 키워드 1(w1)을 갖는 경우, 7비트 정보는 "1000000"으로 표현되고, 7번째 데이터만 키워드 1(w1)을 갖는 경우, 7비트 정보는 또한 "0000001"로 표현된다.
따라서, 데이터관리장치 1(120_1)은 사용자 장치(100)에서 생성된 데이터에 대한 키워드가 없는 경우, 새로운 키워드와 함께 그 키워드에 매칭되는 집합 형태의 ID 정보를 생성해 주게 되는 것이다. 만약 새로운 데이터에 대하여 키워드가 존재하는 경우에는 해당 키워드의 집합 형태의 ID 정보만을 갱신해 주면 된다. 반면 특정 키워드에 대하여 데이터의 삭제 요청이 있는 경우에는, 집합 형태의 ID 정보에서 삭제 요청이 있는 데이터의 ID를 삭제해 주게 된다.
또한, 데이터관리장치 1(120_1)은 사용자가 복수의 키워드에 대하여 논리 조합하는 형태로 정보를 제공한 경우, 가령 키워드 1(w1)과 키워드 2(w2)를 AND 즉 모두 갖는 데이터를 검색하고자 할 때, 데이터관리장치 1(120_1)은 집합의 비트 정보를 이용하여 새로운 비트 정보를 산출하고, 이를 데이터관리장치 2(120_2)로 제공한다. 예컨대 키워드 1(w1)을 갖는 집합의 7비트 정보가 "1000000"이고, 키워드 2(w2)를 갖는 집합의 7비트 정보도 "1000000"이었다면 두 정보를 AND 연산함으로써 "1000000"을 산출하고, 그 결과를 데이터관리장치 2(120_2)로 제공할 수 있다.
데이터관리장치 2(120_2)는 데이터관리장치 1(120_1)에 연동하는 일종의 DB일 수 있는데, 데이터관리장치 2(120_2)는 암호화된 데이터를 저장하고, 데이터 관리장치 1(120_1)이 요구하는 데이터들의 집합을 반환한다. 도 2의 (b)에서와 같이, 데이터 테이블은 암호화된 데이터(E(Datai))와 해당 bf_IDi(=블룸 필터 번호)를 저장하고 있으며, 데이터관리장치 1(120_1)로부터 제공되는 블룸 필터를 만족하는 bf_IDi에 한해서 암호화된 데이터를 데이터관리장치 1(120_1)로 반환한다. 데이터 Datai를 암호화하는 암호 알고리즘을 가령 EKS 시스템과 별도로 선택될 수 있다.
예를 들어, 위의 경우에서 데이터관리장치 1(120_1)이 단독이든, 아니면 논리 연산에 의해서든 가령 7비트 정보 ""1000000"을 제공하였다면, 데이터관리장치 2(120_2)는 이를 인식하여 첫 번째 비트열에 해당되는 데이터 1을 반환하게 되는 것이다. 만약 첫 번째 비트열에 해당되는 데이터가 데이터 7인 경우에는 데이터 7을 반환한다. 이와 같이 각 비트열에 대응되는 데이터는 다양하게 변경하여 매칭시킬 수 있으므로 본 발명의 실시 예에서는 그것에 특별히 한정하지는 않을 것이다.
상기의 구성 결과, 본 발명의 실시 예에 따른 데이터 관리 시스템(90) 즉 EKS 시스템은 외부 저장 공간에 암호화되어 저장되는 데이터들에 대해 키워드 검색 기능을 제공함으로써 사용자에 대한 개인 정보 유출을 방지하면서도 사용자 편의성을 확보할 수 있다.
또한, EKS 시스템은 종래 데이터베이스의 변경 없이도 적용이 가능하며, 블룸 필터를 이용하여 효율적인 불리안 검색 기능 및 인덱스 관리 기능을 제공할 수 있다. 이에 따라 외부에 데이터 저장을 지원하는 클라우드 저장 서비스에서 유용하게 활용될 수 있다.
도 4는 도 1의 데이터관리장치 1의 구조를 나타내는 블록다이어그램이다.
도 4를 도 1과 함께 참조하면, 본 발명의 실시 예에 따른 데이터관리장치 1(120_1)는 인터페이스부(400), 저장부(410), 제어부(420), 연산부(430) 및 암/복호화부(440)의 일부 또는 전부를 포함할 수 있다. 여기서, 일부 또는 전부를 포함한다는 것은 위에서의 의미와 동일하다.
인터페이스부(400)는 도 1의 통신망(110)을 경유하여 사용자 장치(100) 및 데이터관리장치 2(120_2)와 통신을 수행하기 위한 통신모듈을 포함한다. 인터페이스부(400)는 이러한 통신 과정에서 정보 변환 등의 과정을 수행할 수 있다. 가령 압축된 정보를 디코딩하는 등의 과정을 수행할 수 있다.
저장부(410)는 인덱스 테이블 형태로서, 복수의 키워드를 암호화하여 저장하고, 그 각각의 키워드에 매칭시켜 데이터에 대한 ID 정보들의 집합을 암호화하여 저장한다. 이때 저장된 정보는 사용자의 요청에 따라 추가 또는 삭제되어 인덱스 테이블을 갱신할 수 있다.
제어부(420)는 데이터관리장치 1(120_1) 내의 인터페이스부(400), 저장부(410), 연산부(430) 및 암/복호화부(440)의 전반적인 동작을 제어한다. 예를 들어, 사용자가 키워드 1(w1)을 포함하는 토큰을 제공한 경우, 제어부(420)는 해당 토큰에 매칭되는 열의 정보를 저장부(410)에서 읽어내어 암/복호화부(440)에서 복호화하고, 복호화된 ID 정보들의 집합 즉 비트 정보를 인터페이스부(400)를 통해 출력하도록 제어할 수 있다. 또한, 복수의 키워드가 제공되는 경우에는 복호화 과정에서 얻은 2개의 비트 정보를 연산부(430)를 통해 연산함으로써 산출된 새로운 비트 정보를 출력하도록 인터페이스부(400)를 제어할 수 있다.
연산부(430)는 사용자가 가령 2개의 키워드가 포함된 데이터를 제공받고자 할 때, 2개의 키워드에 대한 ID 정보들의 집합을 암/복호화부(440)에서 복호화한 비트 정보들을 논리 연산할 수 있다. 예컨대 연산부(430)는 구체적으로 AND 연산이나 OR 연산을 수행할 수 있는데, 이와 관련해서는 앞서 충분히 설명하였으므로 더 이상의 설명은 생략한다.
암/복호화부(440)는 가령 사용자가 새로운 키워드를 포함하는 데이터를 추가하거나 삭제하여 데이터관리장치 1(120_1)의 인덱스 테이블을 갱신하고자 할 때, 인덱스 테이블의 정보들이 암호화되어 저장부(410)에 저장되도록 한다. 또한, 암호화되어 저장된 정보를 추출하여 복호화함으로써 복호화된 정보, 예컨대 ID 정보들의 집합을 비트 정보로 표현한 정보들이 연산부(430)로 제공될 수 있도록 한다.
도 5는 본 발명의 실시 예에 따른 데이터 검색 과정을 설명하기 위한 도면이다.
도 5를 도 1과 함께 참조하면, 본 발명의 실시 예에 따른 데이터관리시스템(90), 가령 EKS 시스템에서 키워드 w2를 포함하는 데이터를 검색하고자 하는 경우, 사용자는 w2에 대한 Token = {E_k_s(w2), K_w2}을 생성하고, 데이터관리장치 1(120_1)로 전달한다.
그러면 데이터관리장치 1(120_1)은 E_k_s(w2)를 포함하는 열(row)에서 K_w2를 이용하여 BF_w2를 복구하고, BF_w2를 데이터관리장치 2(120_2)로 전달한다.
데이터관리장치 2(120_2)는 각 Datai의 bf_IDi가 BF_w2의 member인지를 테스트하고, True를 반환하는 bf_IDi의 E(Datai)를 데이터관리장치 1(120_1)에게 반환한다.
이의 과정에서 가령, 키워드 w1과 w2의 교집합 검색의 경우, 토큰을 이용하여 데이터관리장치 1(120_1)이 BF_w1과 BF_w2를 복구하고 (BF_w1∧BF_w2)를 데이터관리장치 2(120_2)로 전달한다. 그리고 데이터관리장치 2(120_2)는 (BF_w1∧BF_w2)에 포함되는 bf_IDi만을 반환한다.
만약 키워드 w1과 w2의 합집합 검색의 경우, 토큰을 이용하여 데이터관리장치 1(120_1)이 BF_w1과 BF_w2를 복구하고, (BF_w1 + BF_w2)를 데이터관리장치 2(120_2)로 전달한다. 그리고 데이터관리장치 2(120_2)는 (BF_w1 + BF_w2)에 포함되는 bf_IDi만을 반환하게 된다.
도 6은 본 발명의 실시 예에 따른 데이터 추가 과정을 설명하기 위한 도면이다.
도 6을 도 1과 함께 참조하면, 본 발명의 실시 예에 따른 데이터관리시스템(90) 즉 EKS 시스템에서 키워드 w2, w5를 포함하는 Data 8을 추가할 때, 사용자는 Data 8에 대한 암호문 E(Data8)을 생성하고, w2와 w5에 대한 EK _S(w2)와 EK _S(w5)를 계산한다. 그리고 Bloom filter member bf_ID8을 계산한다. 추가에 대한 토큰은 <관계식 1>과 같다.
[관계식 1]
Token = {EK _S(w2), EK _S(w5), K_w2, K_w5, bf_ID8, E(Data8)}
상기 과정에서 가령 사용자가 Data 8에 대한 ID, 즉 Bloom filter member bf_ID8을 알지 못할 경우, 사용자는 Bloom filter member bf_ID8을 EKS 시스템, 가령 데이터관리장치 1(120_1)로부터 해당 ID 정보를 수신하거나, 사용자 자신이 직접 지정할 수도 있을 것이다. 이의 경우, <관계식 1>에서 bf_ID8은 생략될 수 있으며, bf_08의 생성 방식에 따라 변경이 얼마든지 가능할 수 있다.
이어, 데이터관리장치 1(120_1)은 EK _s(w2)를 포함하는 열에서 K_w2를 이용하여 BF_w2를 복구하고 bf_ID8을 accumulation(BF_w2=BF_w2+bf_ID8)한다. 그리고 새로운 키워드 w5에 대해서 EK _S(w5)와 EK _ w5(BF_w5=bf_ID8)를 인덱스 테이블에 새로운 열로 추가하고, {bf_ID8, E(Data8)}을 데이터관리장치 2(120_2)로 전달한다.
또한, 데이터관리장치 2(120_2)는 bf_ID8와 E(Data8)를 데이터 테이블에 저장한다.
한편, 위에서와 같이 비트 정보가 블룸 필터의 형태가 아니라, 비트 정보의 개수가 데이터의 개수와 일치하는 비트맵(bitmap)일 경우, 상기 과정에서 BF_w2와 BF_w5를 암/복호화하는 과정은 생략 가능하며, bf_ID8을 BF_w2와 BF_w5의 암호문들에 bitwise EX-OR 연산함으로써 accumulation할 수 있다. 다시 말해, 비트 정보가 블룸 필터의 형태로 표현될 때, 데이터를 추가하기 위하여는 암호화된 BF_w2와 BF_w5를 복호화한 후, 관련 정보를 추가하고 나서 다시 암호화하는 과정을 갖는다면, 비트맵의 경우에는 이러한 과정을 생략하는 것이 가능할 수 있다. 이에 따라 <관계식 1>에서 K_w2, K_w5는 생략될 수 있다.
도 7은 본 발명의 실시 예에 따른 데이터 삭제 과정을 설명하기 위한 도면이다.
도 7을 도 1과 함께 참조하면, 본 발명의 실시 예에 따른 데이터관리시스템(90) 즉 EKS 시스템에서 키워드 w2, w5를 포함하는 Data 8을 삭제할 때, 사용자는 w2와 w5에 대한 EK _S(w2)와 EK _S(w5)를 계산한다. 그리고 Bloom filter member bf_ID8을 계산한다. 삭제에 대한 Token은 <관계식 2>와 같다.
[관계식 2]
Token = {EK _S(w2), EK _S(w5), K_w2, K_w5, bf_ID8}
데이터관리장치 1(120_1)은 EK _s(w2)와 EK _S(w5)를 포함하는 열에서 K_w2와 K_w5를 이용하여 BF_w2와 BF_w5를 복구하고, BF_w2=BF_w2-bf_ID8와 BF_w5=BF_w5-bf_ID8을 계산한다. 이때 BF_wi가 0이 되는 열은 인덱스 테이블에서 제거한다. 그리고 bf_ID8을 데이터관리장치 2(120_2)로 전달한다.
이어 데이터관리장치 2(120_2)는 bf_ID8과 E(Data8)를 데이터 테이블에서 삭제한다.
한편, 비트 정보의 개수가 데이터의 개수와 일치하는 비트맵일 경우, 상기 과정에서 BF_w2와 BF_w5를 암/복호화하는 과정은 생략 가능하며, bf_ID8을 BF_w2와 BF_w5의 암호문들에 bitwise EX-OR 연산을 수행함으로써 extraction할 수 있다. 이에 따라 <관계식 1>에서 K_w2, K_w5는 생략될 수 있다.
도 8은 본 발명의 실시 예에 따른 데이터 관리 방법을 나타내는 흐름도이다.
설명의 편의상 도 8을 도 4와 함께 참조하면, 본 발명의 실시 예에 따른 데이터관리장치 1(120_1)은 2개의 칼럼으로 구성하여 칼럼 1에는 키워드 wi에 대한 암호화된 키워드를 저장하고, 칼럼 2에는 키워드 wi를 포함하는 데이터의 ID 정보들의 집합에 대한 블룸 필터(BF_wi)를 암호화하여 저장한다(S800). 이때 ID 정보들의 집합은 비트 정보로서 처리되는 것이 바람직하다. 가령 비트 정보는 데이터 1 내지 데이터 7에 대하여, 7비트 정보로 나타낼 수 있다.
물론 본 발명의 실시 예에서는 바람직하게는 데이터 1 내지 데이터 7에 대하여 순차적으로 비트 정보를 표현하는 것이지만, 순서를 혼합하여 비트 정보를 표현하는 것도 얼마든지 가능할 수 있다. 예컨대, 데이터 1, 데이터 2 및 데이터 3의 순서대로 비트를 표현하는 것이 아니라, 데이터 1, 데이터 3 및 데이터 2와 같은 순서대로 순차적이지 않게 비트를 표현할 수도 있다. 이때, 데이터관리장치 1(120_1)만이 두 번째 ID 정보 즉 비트 정보가 데이터 3에 대한 것임을 알 수 있게 된다. 나아가 데이터가 7개 존재하더라도 이를 반드시 7 비트로 매칭시켜 비트 정보를 처리하는 것이 아니라, 어떠한 함수 관계를 설정하여 4 비트 정보 또는 그 이외의 정보로 표현하는 것도 얼마든지 가능할 수 있을 것이다.
또한, 데이터관리장치 1(120_1)은 사용자로부터의 요청에 근거하여 저장부(410)에서 동일 키워드에 해당되는 열의 ID 정보들의 집합을 추출한다(S810). 이때 요청은 토큰에 해당되며, ID 정보들은 비트 정보이다.
이어 데이터관리장치 1(120_1)은 추출한 ID 정보들의 집합을 복호화하여 출력한다(S820). 이의 과정에서 데이터관리장치 1(120_1)은 복호화를 위하여 토큰에 포함되는 복호화 키를 사용할 수 있다.
이후 데이터관리장치 1(120_1)은 복호화된 ID 정보에 매칭되는 데이터를 사용자에게 제공한다(S830). 이와 같은 데이터의 제공은 도 1에서와 같이 연동하는 데이터관리장치 2(120_2)로부터 제공받아 사용자에게 전달할 수 있지만, 별도의 데이터베이스를 구축하는 경우에는 데이터베이스의 검색에 의해 추출된 데이터를 사용자에게 제공할 수 있을 것이다.
기타, 복수의 키워드를 포함하는 데이터의 검색이나, 특정 키워드들을 포함하는 데이터의 추가 및 삭제 등과 관련해서는 앞서서의 도 5 내지 도 7을 참조하여 충분히 설명하였으므로 그 내용들로 대신하고자 한다.
도 9는 본 발명의 다른 실시예에 따른 데이터 추가 과정을 나타내는 흐름도로서, 비트 정보가 비트맵의 형태로 표현되는 경우를 가정한 것이다.
설명의 편의상 도 9를 도 1과 함께 참조하면, 본 발명의 실시예에 따른 데이터관리장치 1(120_1)은 데이터의 추가를 목적으로 하는 사용자로부터 복수의 키워드를 포함하는 데이터에 대한 암호문과 키워드들에 대한 암호문들을 포함한 토큰을 수신한다(S900).
이어, 데이터관리장치 1(120_1)은 수신된 토큰이 포함하고 있는 키워드 암호문에 해당하는 열의 ID 정보들에서 추가하는 데이터의 ID 정보를 추가한다(S910).
이후, 가령 데이터관리장치 2(120_2)는 추가되는 데이터의 암호문과 해당 ID를 저장부에 저장하게 된다(S920).
도 10은 본 발명의 다른 실시예에 따른 데이터 삭제 과정을 나타내는 흐름도로서, 비트 정보가 비트맵의 형태로 표현되는 경우를 가정한 것이다.
설명의 편의상 도 10을 도 1과 함께 참조하면, 본 발명의 실시예에 따른 데이터관리장치 1(120_1)은 데이터 삭제를 목적으로 하는 사용자로부터 삭제하고자 하는 데이터가 포함하고 있는 키워드들에 대한 암호문들을 포함한 토큰을 수신한다(S1000).
이어, 데이터관리장치 1(120_1)은 수신된 토큰이 포함하고 있는 키워드 암호문에 해당하는 열의 ID 정보들에서 삭제하려는 데이터의 ID 정보를 삭제한다(S1010).
이후, 데이터관리장치 2(120_2)는 삭제하는 데이터의 암호문과 해당 ID를 저장부에서 삭제할 수 있다(S1020).
한편, 본 발명의 실시 예를 구성하는 모든 구성 요소들이 하나로 결합하거나 결합하여 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시 예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 본 발명의 기술 분야의 당업자에 의해 용이하게 추론될 수 있을 것이다. 이러한 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 비일시적 저장매체(non-transitory computer readable media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시 예를 구현할 수 있다.
여기서 비일시적 판독 가능 기록매체란, 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라, 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로, 상술한 프로그램들은 CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리 카드, ROM 등과 같은 비일시적 판독가능 기록매체에 저장되어 제공될 수 있다.
이상에서는 본 발명의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안 될 것이다.
100: 사용자 장치 110: 통신망
120_1: 데이터관리장치 1 120_2: 데이터관리장치 2
400: 인터페이스부 410: 저장부
420: 제어부 430: 연산부
440: 암/복호화부

Claims (13)

  1. 데이터관리장치에 있어서,
    복수의 키워드를 암호화하여 저장하고, 상기 키워드를 포함하는 데이터의 ID 정보들의 집합을 암호화하여 저장하는 저장부;
    사용자로부터의 요청에 근거하여 상기 저장부에서 동일 키워드에 대응되는 열의 상기 ID 정보들의 집합을 추출하는 제어부; 및
    상기 추출한 ID 정보들의 집합을 복호화하는 복호화부;를 포함하되,
    상기 제어부는,
    상기 복호화한 ID 정보에 매칭되는 데이터를 상기 사용자에게 제공하고,
    상기 ID 정보들의 집합은,
    비트(bit) 정보로서 처리되는 데이터관리장치.
  2. 제1항에 있어서,
    상기 비트 정보는 블룸 필터(bloom filter) 또는 비트맵(bit map)의 형태로 표현되는 것을 특징으로 하는 데이터관리장치.
  3. 제1항에 있어서,
    상기 비트 정보의 개수(number)는 상기 데이터의 개수와 일치하는 것을 특징으로 하는 데이터관리장치.
  4. 제1항에 있어서,
    상기 사용자가 임상기 데이터의 추가 또는 삭제를 요청하는 경우, 추가되는 키워드 및 데이터를 암호화하여 상기 저장부에 저장시키는 암호화부;를 더 포함하는 것을 특징으로 하는 데이터관리장치.
  5. 제4항에 있어서,
    상기 사용자로부터의 토큰(token)을 수신하여 상기 데이터의 검색, 추가 또는 삭제를 요청받는 인터페이스부;를 더 포함하며,
    상기 토큰은 키워드와 상기 암호화 및 상기 복호화를 위한 키를 포함하는 것을 특징으로 데이터관리장치.
  6. 제1항에 있어서,
    상기 사용자가 복수의 키워드를 포함하는 상기 데이터를 요청하는 경우, 상기 복수의 키워드에 각각 해당되는 열의 ID 정보들의 집합을 논리 연산하여 연산 결과를 출력하는 연산부;를 더 포함하되,
    상기 제어부는,
    상기 연산 결과의 비트 정보를 근거로 상기 데이터를 사용자에게 제공하는 것을 특징으로 하는 데이터관리장치.
  7. 복수의 키워드를 암호화하여 저장하고, 상기 키워드를 포함하는 데이터의 ID 정보들의 집합을 암호화하여 저장부에 저장하는 단계;
    사용자로부터의 요청에 근거하여 상기 저장부에서 동일 키워드에 대응되는 열의 상기 ID 정보들의 집합을 추출하는 단계;
    상기 추출한 ID 정보들의 집합을 복호화하는 단계; 및
    상기 복호화한 ID 정보에 매칭되는 데이터를 상기 사용자에게 제공하는 단계;를 포함하되,
    상기 ID 정보들의 집합은,
    비트(bit) 정보로서 처리되는 데이터관리방법.
  8. 제7항에 있어서,
    상기 비트 정보는 블룸 필터(bloom filter) 또는 비트맵(bit map)의 형태로 표현되는 것을 특징으로 하는 데이터관리방법.
  9. 제7항에 있어서,
    상기 비트 정보의 개수(number)는 상기 데이터의 개수와 일치하는 것을 특징으로 하는 데이터관리방법.
  10. 제7항에 있어서,
    상기 사용자가 상기 데이터의 추가 또는 삭제를 요청하는 경우, 추가되는 키워드 및 데이터를 암호화하여 상기 저장부에 저장시키는 단계;를 더 포함하는 것을 특징으로 하는 데이터관리방법.
  11. 제10항에 있어서,
    상기 사용자로부터의 토큰(token)을 수신하여 상기 데이터의 검색, 추가 또는 삭제를 요청받는 단계;를 더 포함하며,
    상기 토큰은 키워드와 상기 암호화 및 상기 복호화를 위한 키를 포함하는 것을 특징으로 데이터관리방법.
  12. 제7항에 있어서,
    상기 사용자가 복수의 키워드를 포함하는 상기 데이터를 요청하는 경우, 상기 복수의 키워드에 각각 해당되는 열의 ID 정보들의 집합을 논리 연산하여 연산 결과를 출력하는 단계;를 더 포함하되,
    상기 사용자에게 제공하는 단계는,
    상기 연산 결과의 비트 정보를 근거로 상기 데이터를 사용자에게 제공하는 것을 특징으로 하는 데이터관리방법.
  13. 복수의 키워드와, 상기 복수의 키워드 각각에 매칭시켜 하나의 데이터에 부가되는 ID 정보들의 집합을 암호화하여 저장하고, 사용자로부터 제공된 키워드에 근거하여 상기 암호화한 ID 정보를 비트(bit) 정보의 형태로 처리하는 제1 데이터관리장치; 및
    상기 ID 정보와, 각 ID 정보에 매칭시켜 상기 데이터를 저장하고, 상기 제1 데이터관리장치에서 처리된 비트 형태의 상기 ID 정보에 근거하여 상기 저장한 데이터를 검색하여 상기 사용자에게 제공하는 제2 데이터관리장치;를
    포함하는 데이터관리시스템.
KR1020130090463A 2013-05-09 2013-07-30 데이터관리장치, 데이터관리방법 및 데이터관리시스템 KR102131306B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20130052758 2013-05-09
KR1020130052758 2013-05-09

Publications (2)

Publication Number Publication Date
KR20140133383A true KR20140133383A (ko) 2014-11-19
KR102131306B1 KR102131306B1 (ko) 2020-07-07

Family

ID=52454063

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130090463A KR102131306B1 (ko) 2013-05-09 2013-07-30 데이터관리장치, 데이터관리방법 및 데이터관리시스템

Country Status (1)

Country Link
KR (1) KR102131306B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080035295A (ko) * 2006-10-19 2008-04-23 고려대학교 산학협력단 암호화된 데이터베이스 검색 방법 및 그 시스템
KR20100068042A (ko) * 2008-12-12 2010-06-22 한국전자통신연구원 데이터 암호화 방법 및 암호화된 데이터의 결합 키워드 검색방법
US20100169321A1 (en) * 2008-12-30 2010-07-01 Nec (China)Co., Ltd. Method and apparatus for ciphertext indexing and searching
WO2012095973A1 (ja) * 2011-01-13 2012-07-19 三菱電機株式会社 データ処理装置及びデータ保管装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080035295A (ko) * 2006-10-19 2008-04-23 고려대학교 산학협력단 암호화된 데이터베이스 검색 방법 및 그 시스템
KR20100068042A (ko) * 2008-12-12 2010-06-22 한국전자통신연구원 데이터 암호화 방법 및 암호화된 데이터의 결합 키워드 검색방법
US20100169321A1 (en) * 2008-12-30 2010-07-01 Nec (China)Co., Ltd. Method and apparatus for ciphertext indexing and searching
WO2012095973A1 (ja) * 2011-01-13 2012-07-19 三菱電機株式会社 データ処理装置及びデータ保管装置

Also Published As

Publication number Publication date
KR102131306B1 (ko) 2020-07-07

Similar Documents

Publication Publication Date Title
CN110337649B (zh) 用于搜索模式未察觉的动态对称可搜索加密的方法和系统
CN110768787B (zh) 一种数据加密、解密方法及装置
Salam et al. Implementation of searchable symmetric encryption for privacy-preserving keyword search on cloud storage
US8533489B2 (en) Searchable symmetric encryption with dynamic updating
US9021259B2 (en) Encrypted database system, client terminal, encrypted database server, natural joining method, and program
US8225107B2 (en) Methods of storing and retrieving data in/from external server
JP2010061103A (ja) 高速検索可能な暗号化のための方法、装置およびシステム
US9147079B2 (en) Encrypted database system, client terminal, encrypted database server, natural joining method, and program
CN111026788B (zh) 一种混合云中基于同态加密的多关键词密文排序检索方法
US10037433B2 (en) Secure text retrieval
KR102449816B1 (ko) 암호화 및 검색 장치 및 그 방법
US20170262546A1 (en) Key search token for encrypted data
US8769302B2 (en) Encrypting data and characterization data that describes valid contents of a column
CN110765469B (zh) 一种高效且健壮的动态可搜索对称加密方法及系统
CN108777685B (zh) 用于处理信息的方法和装置
WO2014141802A1 (ja) 情報処理装置、情報処理システム、および情報処理方法、並びにプログラム
CN104992124A (zh) 一种用于云存储环境的文档安全存取方法
KR101697868B1 (ko) 공유 또는 검색을 위한 데이터 암호화 방법 및 이를 수행하는 장치
JP2017044779A (ja) 検索可能暗号処理システム
CN107294701B (zh) 具有高效密钥管理的多维密文区间查询装置及查询方法
JP2022544484A (ja) 暗号化されたナレッジ・グラフ
WO2019053788A1 (ja) データ処理装置、データ処理方法及びデータ処理プログラム
CN104794243B (zh) 基于文件名的第三方密文检索方法
KR101422759B1 (ko) 데이터 위탁 환경에서 결탁을 방지하는 데이터 저장 및 공유 방법
CN115510490A (zh) 一种非密钥共享的加密数据查询方法、装置、系统及设备

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