KR102222936B1 - 완전 동형 암호화된 데이터를 데이터베이스에 저장하는 방법 - Google Patents

완전 동형 암호화된 데이터를 데이터베이스에 저장하는 방법 Download PDF

Info

Publication number
KR102222936B1
KR102222936B1 KR1020190043212A KR20190043212A KR102222936B1 KR 102222936 B1 KR102222936 B1 KR 102222936B1 KR 1020190043212 A KR1020190043212 A KR 1020190043212A KR 20190043212 A KR20190043212 A KR 20190043212A KR 102222936 B1 KR102222936 B1 KR 102222936B1
Authority
KR
South Korea
Prior art keywords
query
encrypted data
database
encrypted
data
Prior art date
Application number
KR1020190043212A
Other languages
English (en)
Other versions
KR20200120372A (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 KR1020190043212A priority Critical patent/KR102222936B1/ko
Publication of KR20200120372A publication Critical patent/KR20200120372A/ko
Application granted granted Critical
Publication of KR102222936B1 publication Critical patent/KR102222936B1/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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • 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)
  • Computer Security & Cryptography (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명에 의한 완전 동형 암호화 된 데이터를 데이터베이스에 저장하는 방법은 평문값의 데이터를 갖는 쿼리를 입력하는 단계, 쿼리를 암호화하는 단계 및 암호화 된 쿼리가 insert 쿼리일 경우, MySQL 프록시가 insert 쿼리의 평문값을 암호화하여 데이터베이스에 저장하는 단계를 포함한다.

Description

완전 동형 암호화된 데이터를 데이터베이스에 저장하는 방법{Storing fully-homomorphically encrypted data into databases}
본 발명은 완전 동형 암호화 라이브러리를 기반으로, 사용자가 입력하는 데이터를 암호화하고 복구화하는 기술에 관한 것이다.
사용자의 데이터를 데이터베이스에 저장할 때 데이터의 기밀성을 높이기 위해서 데이터를 암호화 된 상태로 저장하기도 한다. 하지만, 데이터를 암호화 된 상태로 저장하면 사용자가 요청하는 쿼리문에 응답할 수 없는 단점이 있다. 쿼리문에 응답이 가능하도록 하기 위해서, 사용자의 데이터를 덧셈에 대한 부분동형암호화 중 하나인 Paillier 암호화를 적용하여 데이터베이스에 저장하는 방안이 제안되기도 하였지만, 이와 같은 방법에 의해서는 덧셈으로만 구현 가능한 뭐리에만 응답이 가능한 한계가 있다.
본 발명은 사용자의 데이터를 완전 동형 암호화하여 데이터의 기밀성을 보장하면서, 사용자가 요청하는 쿼리의 종류에 구애받지 않고 응답할 수 있는 데이터 저장방법을 제공하기 위한 것이다.
본 발명에 의한 완전 동형 암호화 된 데이터를 데이터베이스에 저장하는 방법은 평문값의 데이터를 갖는 쿼리를 입력하는 단계, 쿼리를 암호화하는 단계 및 암호화 된 쿼리가 insert 쿼리일 경우, MySQL 프록시가 insert 쿼리의 평문값을 암호화하여 데이터베이스에 저장하는 단계를 포함한다.
본 발명은 완전 동형 암호화 라이브러리를 이용하여 기밀성을 높게하여 사용자의 데이터를 저장할 수 있다. 이와 동시에 본 발명은 MySQL 프록시를 사용하여 암호화 된 데이터를 데이터베이스에 효율적으로 저장하고, 복구화할 수 있다.
본 발명은 MySQL 프록시를 이용하여 사용자가 입력하는 쿼리문을 자동적으로 변환하기 때문에, 사용자는 평문 상태의 데이터베이스에 쿼리를 요청하는 방법을 이용하면서도 암호화 된 데이터베이스에 쿼리를 요청할 수 있다.
또한, 본 발명은 MySQL 프록시와 데이터베이스가 다른 key를 바탕으로 연산을 수행하기 때문에, 사용자의 데이터가 유출되는 것을 방지할 수 있다.
도 1은 본 발명에 의한 완전 동형 암호화 된 데이터를 저장하는 시스템의 개요를 나타내는 도면이다.
도 2는 본 발명에 의한 완전 동형 암호화 된 데이터를 저장하는 방법을 나타내는 순서도이다.
도 3은 본 발명에 의한 완전 동형 암호화 된 데이터를 데이터베이스에 암호화하여 저장하는 방법을 나타내는 도면이다.
도 4는 본 발명에 의한 완전 동형 암호화 된 데이터를 데이터베이스로부터 복구화하는 방법을 나타내는 도면이다.
이하 설명하는 기술은 다양한 변경을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나 이는 이하 설명하는 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 이하 설명하는 기술의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 해당 구성요소들은 상기 용어들에 의해 한정되지는 않으며, 단지 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 이하 설명하는 기술의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
본 명세서에서 사용되는 용어에서 단수의 표현은 문맥상 명백하게 다르게 해석되지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함한다" 등의 용어는 설시된 특징, 개수, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 의미하는 것이지, 하나 또는 그 이상의 다른 특징들이나 개수, 단계 동작 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 배제하지 않는 것으로 이해되어야 한다.
도면에 대한 상세한 설명을 하기에 앞서, 본 명세서에서의 구성부들에 대한 구분은 각 구성부가 담당하는 주기능 별로 구분한 것에 불과함을 명확히 하고자 한다. 즉, 이하에서 설명할 2개 이상의 구성부가 하나의 구성부로 합쳐지거나 또는 하나의 구성부가 보다 세분화된 기능별로 2개 이상으로 분화되어 구비될 수도 있다. 그리고 이하에서 설명할 구성부 각각은 자신이 담당하는 주기능 이외에도 다른 구성부가 담당하는 기능 중 일부 또는 전부의 기능을 추가적으로 수행할 수도 있으며, 구성부 각각이 담당하는 주기능 중 일부 기능이 다른 구성부에 의해 전담되어 수행될 수도 있음은 물론이다.
또, 방법 또는 동작 방법을 수행함에 있어서, 상기 방법을 이루는 각 과정들은 문맥상 명백하게 특정 순서를 기재하지 않은 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 과정들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.
도 1은 본 발명에 의한 완전 동형 암호화 된 데이터를 저장하는 시스템의 개요를 나타내는 도면이다.
도 1을 참조하면, 본 발명에 의한 데이터 저장 시스템은 MySQL 프록시(100) 및 DBMS 서버(200)를 포함한다.
MySQL 프록시(100)는 사용자가 저장하고자 하는 평문값의 사용자 데이터를 암호화하고, 암호화 된 필드값을 DBMS 서버(200)의 테이블들(TB1~TBn)에 저장한다. MySQL 프록시(100)는 완전 동형 암호화 라이브러리(Fast Fully Homomorphic Encryption over the Torus; 이하, TFHE) 기반으로 사용자 데이터를 암호화한다.
DBMS 서버(200)는 암호화 된 사용자의 데이터를 저장하는 데이터베이스를 지칭한다. 또한, MySQL 프록시(100)는 select 쿼리를 DBMS 서버(200)에서 시행될 수 있는 쿼리들로 변환한다. MySQL 프록시(100)는 변환된 쿼리를 이용하여 DBMS 서버(200)로부터 암호화 된 필드값을 제공받고, 필드값으로부터 평문 상태의 데이터를 획득한다.
본 발명에 의한 완전 동형 암호화 된 데이터를 저장하거나 복구하는 방법을 구체적으로 살펴보면 다음과 같다.
도 2는 본 발명에 의한 완전 동형 암호화 된 데이터를 데이터베이스에 저장하거나 복구하는 방법을 나타내는 순서도이다.
도 1 및 도 2를 참조하여, 본 발명에 의한 완전 동형 암호화 된 데이터를 데이터베이스에 저장하고, 복구하는 방법을 살펴보면 다음과 같다.
본 발명에 의한 완전 동형 암호화 된 데이터를 데이터베이스에 저장하는 방법은 제1 단계(S21)에서 평문 상태의 쿼리를 입력받는다.
제2 단계(S22)에서, 평문 상태로 입력된 쿼리는 암호화 된다. 평문 상태의 쿼리의 암호화 과정은 TFHE를 사용한다.
제3 단계(S23)에서, MySQL 프록시(100)는 쿼리 종류를 판단한다.
제4 단계(S24)에서, MySQL 프록시(100)는 insert 쿼리에 응답하여, TFHE를 기반으로 암호화 된 데이터를 DBMS 서버(200)에 저장한다. 도 3은 MySQL 프록시를 사용하여 암호화 된 데이터를 DBMS 서버(200)에 저장하는 과정을 도시하고 있다.
도 3을 결부하여, MySQL 프록시(100)가 사용자의 데이터를 저장하는 과정을 구체적으로 살펴보면 다음과 같다. 도 3에 도시된 ①, ②, ③은 순차적인 스텝을 설명하고 있다.
①스텝에서, MySQL 프록시(100)는 사용자가 입력하는 평문값의 insert 쿼리를 제공받는다. 도 3의 ①스텝에 도시된 "insert into Table values(50)"은 50의 평문값을 저장하는 쿼리를 지칭한다.
②스텝에서, MySQL 프록시(100)는 사용자가 입력한 insert 쿼리를 인터셉트한다. MySQL 프록시(100)는 insert 쿼리의 평문값을 비트로 변환하고, secret key를 사용하여 각각의 비트들을 암호화한다. MySQL 프록시(100)가 비트들을 암호화하는 과정에서 LweSample들이 반환된다.
③스텝에서, MySQL 프록시(100)는 LweSample의 모든 필드값을 저장하는 insert 쿼리문들을 작성하여 DBMS 서버(200)의 비트 테이블들(TB1~TBn)에 각각 저장한다.
이와 같이, MySQL 프록시(100)는 평문 상태의 쿼리를 변환시켜주기 때문에, 사용자는 평문 상태의 데이터베이스에서와 같은 insert 쿼리문을 이용하여 암호화 된 데이터를 DBMS 서버(200)에 저장할 수 있다.
아래의 [표 1]은 TFHE를 이용하여 암호화 된 데이터의 일례를 나타내는 표이다.
table userid 0th_a ... 499th_a b variance
bit0 1 470211269 ... -1455671213 1110023459 5.9536E-10
... ... ... ... ... ... ...
bit n-1 1 1637271175 ... -463281669 -602048671 5.9536E-10
상기의 [표 1]을 참조하면, TFHE는 C++ 기반으로 작성되어 있기 때문에, TFHE를 기반으로 데이터를 암호화하면 LweSample이라는 C++ struct가 반환된다. 이러한 LweSample stuct는 500개의 정수를 포함하는 a 배열(0th_a~499th_a), 1개의 정수인 b, double 타입인 variance 필드값을 포함한다. 이때, b 콜럼(Column)은 insert 쿼리에 입력되는 "사용자 데이터"라고 정의될 수 있다.
본 발명은 암호화 된 데이터들을 저장하기 위해서는 LweSample struct의 모든 필드값에 대해서 콜럼을 할당하고, 각각의 콜럼에 대해서 사용자를 구분하며 정의하는 userid 필드값을 매칭한다.
userid는 평문상태로 저장되거나 암호화되어 저장될 수 있다. 공격자가 단순히 userid 데이터만으로 유용한 정보를 얻을 수 없다고 판단되면, userid는 평문 상태로 저장될 수 있다. 또는 userid의 정보조차 공격자로에게 노출되기를 원하지 않으면 userid를 암호화할 수 있다. userid는 암호화 된 상태에서 equality를 판별할 수 있도록 deterministric한 암호화를 사용하여 암호화 될 수 있다.
또한, 암호화 된 정수값뿐만 아니라, 암호화 된 double 데이터도 같은 방식으로 저장될 수 있다. double 데이터의 정수 부분과 소수 부분을 표현하는 비트들을 각각 다른 테이블에 저장하여 임의의 double 데이터를 저장할 수 있다.
이와 같은 쿼리의 암호화 과정에서, MySQL 프록시(100)는 secret key를 이용하여 쿼리를 변환한다. secret key는 MySQL 프록시(100)만이 보유하고, 쿼리 연산을 수행하는 DBMS 서버(200)는 cloud key만을 보유한다. 따라서, DBMS 서버(200)가 악의적이다 하더라도 MySQL 프록시(100)가 공격자에게 장악되지 않는 이상 사용자의 데이터는 유출되지 않는다.
제5 단계(S25)에서, MySQL 프록시(100)는 select 쿼리에 응답하여, DBMS 서버(200)로부터 데이터를 복구한다. 도 4는 MySQL 프록시를 사용하여 암호화 된 데이터를 데이터베이스에서 복구하는 과정을 도시하고 있다. 도 4를 결부하여, MySQL 프록시(100)가 데이터를 복구하는 과정을 살펴보면 다음과 같다. 도 4에 도시된 ①, ②, ③, ④는 순차적인 스텝을 설명하고 있다.
① 스텝에서, MySQL 프록시(100)는 사용자가 전송한 평문 상태의 select 쿼리를 제공받는다. 도 4의 ①스텝은 userid가 "1"인 테이블의 데이터를 요청하는 쿼리를 지칭한다. ①스텝에서 "userid=1"은 [표 1]에서와 같이 암호화 된 데이터들 중에서 userid가 "1"에 해당하는 모든 사용자 데이터를 추출하기 위한 쿼리에 해당한다.
② 스텝에서, MySQL 프록시(100)는 사용자가 전송한 평문 상태의 select 쿼리를 DBMS 서버(200)에서 실행될 수 있는 형태의 쿼리로 변환하고, 변환된 쿼리를 DBMS 서버(200)에 제공한다.
③ 스텝에서, MySQL 프록시(100)는 DBMS 서버(200)로부터 암호화 된 필드값들을 받는다.
④ 스텝에서, MySQL 프록시(100)는 DBMS 서버(200)로부터 받은 필드값들을 이용하여 LweSample들을 형성하고, secret key를 이용하여 LweSample들을 복구화한다. MySQL 프록시(100)는 LweSample들을 복구화하여 추출된 비트값들을 이용하여 평문 상태인 사용자의 데이터를 얻는다. 결과적으로, 본 발명은 사용자가 평문 상태의 데이터베이스에서 쿼리를 행하는 것과 동일한 방식으로 암호화 된 DBMS 서버(200)에서 쿼리를 행할 수 있도록 한다.
살펴본 바와 같이, 본 발명은 TFHE 기반으로 사용자의 데이터를 암호화하여 데이터 보관의 기밀성을 높일 수 있다. 본 발명은 사용자의 데이터를 암호화하는 과정에서, MySQL 프록시(100)가 사용자의 쿼리를 암호화 된 DBMS 서버(200)에서 실행될 수 있는 쿼리로 변환한다. 따라서, 사용자는 평문 상태의 데이터를 저장하기 위한 쿼리를 입력하는 형태로 암호화 된 DBMS 서버(200)를 실행시킬 수 있다.
특히, 본 발명은 TFHE를 이용하기 때문에, 다른 암호화 방식과는 달리 어떠한 쿼리도 이용가능하다. 예컨대, 부분 동형 암호화 라이브러리는 데이터베이스에서 덧셈이나 곱셈과 같은 특정 연산만 지원하는 데에 반해서, 본 발명에 활용되는 완전 동형 암호화 방식은 모든 연산을 지원한다. 따라서, 본 발명은 사용자 정의 함수(User-Defined Function; UDF)에 정의된 어떠한 쿼리도 암호화 된 데이터베이스에서 실행될 수 있다.
또한, 본 발명은 MySQL 프록시(100)를 이용함으로써, TFHE를 사용하여 암호화 한 데이터를 데이터베이스에 저장할 수 있다. TFHE를 사용하여 암호화 된 데이터는 C++ struct 타입을 갖기 때문에, MySQL 데이터베이스에 직접 저장할 수 없다. 본 발명은 MySQL 프록시(100)를 이용하여 struct의 모든 필드값들에 테이블의 콜럼을 할당하여 저장함으로써, TFHE를 사용하여 암호화 한 데이터를 데이터베이스에 직접 저장할 수 있다.
이상 설명한 내용을 통해 당업자라면 본 명세서의 기술사상을 일탈하지 아니하는 범위에서 다양한 변경 및 수정이 가능함을 알 수 있을 것이다. 따라서, 본 명세서의 기술적 범위는 명세서의 상세한 설명에 기재된 내용으로 한정되는 것이 아니라 특허 청구의 범위에 의해 정하여져야만 할 것이다.
100: MySQL 프록시 200: DBMS 서버
TB1~TBn: 테이블들

Claims (9)

  1. 평문값의 데이터를 갖는 쿼리를 입력하는 단계;
    상기 쿼리를 암호화하는 단계;
    쿼리 종류를 판단하는 단계; 및
    암호화 된 상기 쿼리가 insert 쿼리일 경우, MySQL 프록시가 secret key를 이용하여 상기 insert 쿼리의 평문값을 암호화하여 데이터베이스에 저장하는 단계를 포함하는 완전 동형 암호화 된 데이터를 데이터베이스에 저장하는 방법.
  2. 삭제
  3. 제 1 항에 있어서,
    상기 insert 쿼리를 암호화하는 단계는,
    완전 동형 암호화 라이브러리를 이용하여 상기 평문값을 암호화하는 단계를 포함하는 완전 동형 암호화 된 데이터를 데이터베이스에 저장하는 방법.
  4. 제 3 항에 있어서,
    상기 insert 쿼리를 암호화하는 단계는,
    암호화 단계에서 생성된 LweSample struct의 필드값들 각각에 대해서 콜럼을 할당하고, 각각의 상기 콜럼에 대한 사용자 정보를 매칭하는 단계를 포함하는 완전 동형 암호화 된 데이터를 데이터베이스에 저장하는 방법.
  5. 제 1 항에 있어서,
    상기 MySQL 프록시는 상기 암호화 된 insert 쿼리를 서버의 테이블들에 저장하고,
    상기 서버는 상기 secret key와는 구분되는 cloud key를 바탕으로 쿼리 연산을 수행하는 완전 동형 암호화 된 데이터를 데이터베이스에 저장하는 방법.
  6. 제 1 항에 있어서,
    상기 쿼리가 select 쿼리일 경우,
    상기 데이터베이스에 저장된 암호화 된 데이터를 복구화하는 단계를 더 포함하는 완전 동형 암호화 된 데이터를 저장하는 방법.
  7. 제 6 항에 있어서,
    상기 암호화 된 데이터를 복구화하는 단계는
    상기 MySQL 프록시가 secret key를 이용하여 상기 select 쿼리를 암호화하는 단계를 포함하는 완전 동형 암호화 된 데이터를 데이터베이스에 저장하는 방법.
  8. 제 6 항에 있어서,
    상기 암호화 된 데이터를 복구화하는 단계는
    상기 MySQL 프록시가 암호화 된 상기 select 쿼리를 상기 데이터베이스에 제공하고, 상기 데이터베이스로부터 상기 insert 쿼리를 이용하여 암호화 된 데이터를 제공받는 단계를 포함하는 완전 동형 암호화 된 데이터를 데이터베이스에 저장하는 방법.
  9. 제 8 항에 있어서,
    상기 암호화 된 데이터를 복구화하는 단계는
    상기 MySQL 프록시가 상기 암호화 된 데이터를 평문값으로 복구화하는 단계를 포함하는 완전 동형 암호화 된 데이터를 데이터베이스에 저장하는 방법.

KR1020190043212A 2019-04-12 2019-04-12 완전 동형 암호화된 데이터를 데이터베이스에 저장하는 방법 KR102222936B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190043212A KR102222936B1 (ko) 2019-04-12 2019-04-12 완전 동형 암호화된 데이터를 데이터베이스에 저장하는 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190043212A KR102222936B1 (ko) 2019-04-12 2019-04-12 완전 동형 암호화된 데이터를 데이터베이스에 저장하는 방법

Publications (2)

Publication Number Publication Date
KR20200120372A KR20200120372A (ko) 2020-10-21
KR102222936B1 true KR102222936B1 (ko) 2021-03-04

Family

ID=73034545

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190043212A KR102222936B1 (ko) 2019-04-12 2019-04-12 완전 동형 암호화된 데이터를 데이터베이스에 저장하는 방법

Country Status (1)

Country Link
KR (1) KR102222936B1 (ko)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100995123B1 (ko) * 2008-01-16 2010-11-18 재단법인서울대학교산학협력재단 암호화 방법, 클라이언트의 데이터 처리 방법
KR101100724B1 (ko) * 2009-06-17 2011-12-29 이니텍(주) 암호화 데이터베이스와 응용 프로그램간의 데이터 처리 방법

Also Published As

Publication number Publication date
KR20200120372A (ko) 2020-10-21

Similar Documents

Publication Publication Date Title
EP3417397B1 (en) Searchable encryption of conjunctive sql statements
KR100737359B1 (ko) 암호화된 컬럼의 인덱스 구축방법
CN101587479B (zh) 面向数据库管理系统内核的数据加解密系统及其方法
US9087212B2 (en) Methods and apparatus for securing a database
US8930691B2 (en) Dynamic symmetric searchable encryption
US9021259B2 (en) Encrypted database system, client terminal, encrypted database server, natural joining method, and program
US8769302B2 (en) Encrypting data and characterization data that describes valid contents of a column
US20100161957A1 (en) Methods of storing and retrieving data in/from external server
CN106934301B (zh) 一种支持密文数据操作的关系型数据库安全外包数据处理方法
US20090022321A1 (en) Personal information management system, personal information management program, and personal information protecting method
CN116186108A (zh) 加密敏感字段支持模糊查询的方法
KR102222936B1 (ko) 완전 동형 암호화된 데이터를 데이터베이스에 저장하는 방법
CN116450689A (zh) 多方数据查询方法、计算节点和tee设备
Kerschbaum et al. Adjustably encrypted in-memory column-store
CN115455463A (zh) 一种基于同态加密的隐匿sql查询方法
Waage et al. Practical application of order-preserving encryption in wide column stores
JP2007249252A (ja) インデックスカラム暗号化方法、pkカラム暗号化方法
Moghadam et al. A secure order-preserving indexing scheme for outsourced data
Raghavendra et al. DRSIG: Domain and Range Specific Index Generation for Encrypted Cloud Data
Mu et al. Encrypted data retrieval scheme based on bloom filter
CN114647662B (zh) 数据检索方法、装置、电子设备、存储介质
US11669506B2 (en) Searchable encryption
CN115688132A (zh) 一种支持sql查询的数据库字段加密方法及装置
Almakdi et al. Designing a Bit-Based Model to Accelerate Query Processing Over Encrypted Databases in Cloud
Tu Lecture 20: Security and privacy for data processing

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant