KR101699192B1 - 프라이버시 보호 데이터베이스 시스템 - Google Patents

프라이버시 보호 데이터베이스 시스템 Download PDF

Info

Publication number
KR101699192B1
KR101699192B1 KR1020157017104A KR20157017104A KR101699192B1 KR 101699192 B1 KR101699192 B1 KR 101699192B1 KR 1020157017104 A KR1020157017104 A KR 1020157017104A KR 20157017104 A KR20157017104 A KR 20157017104A KR 101699192 B1 KR101699192 B1 KR 101699192B1
Authority
KR
South Korea
Prior art keywords
server
database
array
encrypted
encryption key
Prior art date
Application number
KR1020157017104A
Other languages
English (en)
Other versions
KR20150090204A (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 KR20150090204A publication Critical patent/KR20150090204A/ko
Application granted granted Critical
Publication of KR101699192B1 publication Critical patent/KR101699192B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • 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

Abstract

데이터베이스 시스템이 서버, 인덱스 서버 및 클라이언트를 포함한다. 일 실시형태에서, 서버는 데이터베이스 레코드의 순서를 랜덤하게 치환한다. 서버는 각각의 치환된 데이터베이스 레코드에 대응하는 랜덤 암호화 키를 생성하는 것에 의해 암호화 키의 어레이를 인덱스 서버로 제공한다. 서버는 각각의 치환된 데이터베이스 레코드를 그것의 대응하는 암호화 키로 암호화한다. 인덱스 서버는 각각의 암호화 키와 대응하는 랜덤 마스크의 합을 계산하여 암호화하고 마스킹된 키의 치환된 어레이를 서버로 전송한다. 인덱스 서버는 암호화된 레코드에 대응하는 키, 마스크 및 암호화된 데이터베이스 레코드를 클라이언트로 제공한다. 클라이언트는 마스크와 키의 암호화된 합을 서버로 전송한다. 서버는 마스킹된 키를 공개 키로 암호해제하고 암호해제된 키를 클라이언트로 전송한다. 그 다음 클라이언트는 레코드 키를 복원하고 레코드를 암호해제한다.

Description

프라이버시 보호 데이터베이스 시스템{A PRIVACY-PRESERVING DATABASE SYSTEM}
연방정부 지원 연구 또는 개발에 관한 설명
본 발명은 IARPA(Intelligence Advanced Research Projects Activity; 고등정보연구계획국)에 의해 수여된 계약번호 D11PC20194 하에서의 정부 지원으로 이루어졌다. 정부는 본 발명에서 소정의 권리를 갖는다.
기술분야
본 개시는 보안 스토리지 및 정보의 검색(retrieval) 분야에 일반적으로 관련된다.
종종 클라이언트가 데이터베이스로부터 데이터를 검색할 때, 검색된 데이터 및 쿼리 그 자체를 중간 엔티티(예를 들면, 데이터베이스 서버 및 만약 존재한다면 보조 서비스)가 볼 수 없어야 하는 것이(즉, 중간 엔티티로부터 숨겨지는 것이) 바람직하다. 데이터를 서버로부터 숨기기 위해 다양한 방법이 고안되었지만, 예를 들면, 상당한 계산적 오버헤드(computational overhead)를 겪게 된다. 또한, 현재의 해결책은 클라이언트 쿼리를 감시로부터 충분히 보호하지 못하여, 클라이언트로 제공되는 정보를 악의적인 엔티티가 결정할 기회를 제공하게 될 수도 있다.
결과적으로, 상술된 결점을 해결하는, 데이터베이스로부터 데이터의 향상된 보안 검색(secure retrieval)을 제공하기 위한 해결책이 요구된다.
일 실시형태에서, 본 개시는 데이터베이스 서버를 제공한다. 서버는 프로세서와 메모리를 포함한다. 메모리는 프로세서에 의해 액세스가능하고 복수의 데이터베이스 레코드를 포함한다. 프로세서는 네트워크를 통해 인덱스 서버, 예를 들면 보조 비결탁 서버(auxiliary noncolluding server)와 통신하도록 구성된다. 프로세서는 데이터베이스 레코드의 순서를 적어도 의사랜덤하게 치환하여(pseudorandomly permute), 치환된 데이터베이스(permuted database)를 생성하도록 구성된다. 프로세서는 각각의 치환된 데이터베이스 레코드에 대응하는 적어도 의사랜덤한 암호화 키(encryption key)를 생성하여, 암호화된 키 어레이를 생성할 수도 있다. 각각의 치환된 데이터베이스 레코드는 자신의 대응하는 암호화 키로 암호화될 수도 있다. 프로세서는 치환된 데이터베이스 레코드 및 적어도 의사랜덤한 암호화 키를 메모리에 저장하도록 구성된다.
데이터베이스 서버의 임의의 실시형태에서, 프로세서는 공개-개인 키 쌍을 생성하도록 그리고 키 쌍, 예를 들면 공개 키를 사용하여 의사랜덤한 암호화 키의 각각을 준동형적으로(homomorphically) 암호화하도록 더 구성될 수도 있다. 임의의 실시형태에서, 프로세서는 마스킹될 수도 있는 암호화 키의 어레이를 수신하여 암호해제하고 암호해제된 암호화 키를 저장하도록 더 구성될 수도 있다. 임의의 실시형태에서, 프로세서는 인덱스 서버로부터 수신된 암호화된 키를 암호해제하고 결과적으로 나타나는 암호해제된 키를 예를 들면 클라이언트로 송신하도록 구성될 수도 있다. 임의의 실시형태에서, 프로세서는 치환된 데이터베이스 및 암호화된 키 어레이를 보조 비결탁 서버로 전송하도록 구성될 수도 있다.
다른 실시형태에서, 본 개시는 데이터베이스 인덱스 서버를 제공한다. 인덱스 서버는 프로세서 및 프로세서에 의해 액세스가능한 메모리를 포함한다. 메모리는, 프로세서와 클라이언트 및 데이터베이스 서버 사이에서 네트워크를 통한 통신을 제공하도록 프로세서에 의해 실행가능한 프로그램 명령을 포함한다. 프로세서는 암호화될 수도 있는 암호화 키의 어레이를 수신하도록 구성된다. 프로세서는 어레이의 각각의 키에 대응하는 적어도 의사랜덤한 마스크를 생성할 수도 있다. 프로세서는 각각의 암호화 키 및 그 키에 대응하는 마스크의 합을 계산하여 암호화할 수도 있다.
인덱스 서버의 임의의 실시형태에서, 프로세서는 암호화된 합의 순서를 적어도 의사랜덤하게 치환하여 마스킹된 키의 치환된 어레이(permuted array)를 생성하도록 더 구성될 수도 있다. 몇몇 실시형태에서, 합은 준동형적으로 암호화된다. 임의의 실시형태에서, 프로세서는 데이터베이스 서버로부터 데이터 레코드의 어레이를 수신하도록 더 구성될 수도 있다. 이러한 실시형태에서, 프로세서는 클라이언트로부터 레코드 번호를 수신하도록 그리고 그 레코드 번호에 대응하는 마스크 및 데이터 레코드를 클라이언트로 리턴하도록 더 구성될 수도 있다. 인덱스 서버의 임의의 실시형태에서, 데이터 레코드의 어레이의 각각의 레코드는 암호화될 수도 있다.
다른 실시형태는 데이터베이스 클라이언트를 제공한다. 클라이언트는 프로세서와 메모리를 포함한다. 메모리는 프로세서에 의해 액세스 가능하며, 인덱스 서버로부터 데이터베이스 레코드, 마스크 및 대응 키를 수신하도록 프로세서에 의해 실행가능한 프로그램 명령을 포함한다. 프로세서는 키와 마스크의 합을 계산하여 암호화하도록, 그리고 암호화된 합을 데이터베이스 서버로 전송하도록 구성된다.
데이터베이스 클라이언트의 임의의 실시형태에서, 키는 마스킹된 키일 수도 있고, 프로세서는 마스킹된 키에 대응하는 암호해제된 키를 서버로부터 수신하도록 더 구성될 수도 있다. 임의의 이러한 실시형태에서, 프로세서는 수신되는 암호해제된 키에서 마스크를 감산하도록 더 구성될 수도 있다. 임의의 이러한 실시형태에서, 프로세서는 수신된 데이터베이스 레코드를 암호해제된 키를 사용하여 암호해제하도록 더 구성될 수도 있다.
다른 실시형태는 데이터베이스 서버를 동작시키는 방법을 제공한다. 그 방법은 서버에 의해 저장된 데이터베이스 레코드의 순서를 적어도 의사랜덤하게 치환하는 것을 포함한다. 각각의 치환된 데이터베이스 레코드에 대응하는 적어도 의사랜덤한 암호화 키가 생성된다. 각각의 치환된 데이터베이스 레코드는 자신의 대응하는 암호화 키로 암호화된다.
다른 실시형태는 데이터베이스 인덱스 서버를 동작시키는 방법을 제공한다. 그 방법은 암호화될 수도 있는 암호화 키의 어레이를 수신하는 것을 포함한다. 어레이의 각각의 키에 대응하는 적어도 의사랜덤한 마스크가 생성된다. 각각의 암호화 키 및 그 키에 대응하는 마스크의 암호화된 합이 계산된다.
또 다른 실시형태는 데이터베이스 클라이언트를 동작시키는 방법을 제공한다. 그 방법은 레코드 번호에 대응하는 키, 데이터베이스 레코드, 및 마스크에 대해 인덱스 서버를 쿼리하는 것을 포함한다. 키와 마스크의 합이 계산되어 암호화된다. 암호화된 합은 데이터베이스 서버로 제공된다.
본 발명의 추가 양태는 하기의 발명의 상세한 설명, 도면 및 임의의 청구항에서 부분적으로 설명될 것이고, 부분적으로는 상세한 설명으로부터 유도될 것이거나, 또는 본 발명의 실시에 의해 학습될 수 있다. 상기 일반적인 설명과 하기의 상세한 설명 둘 다는 예시적인 것이고 설명만을 위한 것이며, 본 발명을 개시되는 바와 같이 제한하는 것이 아님이 이해되어야 한다.
본 발명의 더 완전한 이해는, 첨부된 도면과 연계하여 취해질 때 하기의 상세한 설명을 참조로 얻어질 수도 있는데, 도면에서:
도 1은 통신 네트워크를 통해 커플링된 서버(S), 인덱스 서버(IS) 및 클라이언트(C)를 포함하는 데이터베이스 시스템을 예시한다;
도 2 내지 도 4는, 예를 들면 도 1에 도시된 바와 같은 서버, 인덱스 서버 및 클라이언트의 기능적 블록을 각각 예시한다;
도 5는, 예를 들면, 쿼리에 응답하여 클라이언트로 데이터를 안전하게 제공하도록 도 1의 서버 및 인덱스 서버를 셋업하기 위한 도 1의 서버와 인덱스 서버의 일 실시형태에서의 동작을 예시한다;
도 6 및 도 7은, 예를 들면, 클라이언트로 데이터를 안전하게 제공하기 위한, 도 1의 서버, 인덱스 서버 및 클라이언트의 제1의 실시형태에서의 동작을 예시한다;
도 8은, 예를 들면, 도 1의 서버 및 인덱스 서버를 셋업하기 위한 도 1의 서버 및 인덱스 서버의 다른 실시형태에서의 동작을 예시한다.
도 9 및 도 10은, 예를 들면, 클라이언트로 데이터를 안전하게 제공하기 위한, 도 1의 서버, 인덱스 서버 및 클라이언트의 제2의 실시형태에서의 동작을 예시한다.
본 개시는 예를 들면 서버에 의한 데이터베이스 레코드의 안전한 검색에 대한 것이다. 몇몇 종래의 보안 데이터 시스템에서, 데이터 서버는 2개의 비결탁 엔티티, 즉 서버(S) 및 인덱스 서버(IS)로서 구현된다. 이러한 시스템에서, 서버는 데이터베이스의 오너(owner)이다. 인덱스 서버는 예를 들면 보조 비결탁 서버로서 간주될 수도 있다. 셋업 단계 동안, 서버는 데이터베이스의 각각의 로우를 암호화하고 암호화물(encryption)을 인덱스 서버로 전송한다. 인덱스 서버에 의해 유지되는 암호화된 데이터베이스를 클라이언트(C)가 쿼리하는 경우, 인덱스 서버는 올바른(암호화된) 로우로 응답하고, 암호해제 키를 클라이언트로 전송할 것을 서버에게 요청한다. 그러나, 서버가 클라이언트로 전송되는 키를 알기 때문에, 클라이언트 쿼리는 엄밀히 비밀이 아니며, 어쩌면 악의적인 엔티티에게 쿼리 데이터를 가로챌 기회를 제공하게 된다.
이러한 종래 시스템의 보안성을 향상시키기 위한 몇몇 시도는, 비용이 많이 들거나 심지어 엄청나게 비쌀 수도 있는 계산적 리소스(computational resource)를 요구한다. 예를 들면, 하나의 제안되는 해결책은 사이즈 n2의 준동형 암호화물의 매트릭스를 사용하는데, n은 데이터베이스 레코드의 수이다. 이러한 구현예에서, 인덱스 서버는 n개의 레코드의 각각을 새로운 키로 재암호화하는데, n2개의 암호화 동작을 필요로 한다. 적절한 수의 데이터베이스 레코드보다 많은 경우, 이러한 해결책은 데이터베이스 시스템의 실제 계산적 한계를 초과할 수도 있다. 따라서, 대안적인 해결책에 대한 필요성이 존재한다.
본 발명가는, 예를 들면, 본원에서 설명되는 실시형태에서 개시된 바와 같이, 예를 들면, 셋업 단계에서 암호해제 키를 할당하고 처리함으로써, 보안 데이터베이스 시스템에서의 쿼리의 보안성이 향상될 수도 있다는 것을 발견하였다. 간략히 요약하면, 비제한적으로, 일 실시형태에서, 서버는 비결탁 인덱스 서버로 치환된의 암호화된 데이터베이스 및 암호화/암호해제 키의 대응하는 어레이를 제공한다. 본원에서 비결탁 서버는 암호화된 데이터베이스를 저장하고 검색하는 보조 서버로서 정의된다. 클라이언트는 데이터베이스 레코드에 대해 인덱스 서버에게 쿼리한다. 인덱스 서버는 요청된 레코드를, 대응하는 암호해제 키 및 대응하는 마스크 값과 함께, 암호화된 형태로 클라이언트로 리턴한다. 그 다음 클라이언트는 마스크 값을 키에 가산하고, 그 합을 암호화하고 그것을 서버로 전송한다. 그 다음 서버는 암호화되지 않은 마스킹된 키를 리턴하는데, 이 암호화되지 않은 마스킹된 키를 통해, 클라이언트는 인덱스 서버로부터 이전에 수신된 암호화된 레코드를 암호해제한다. 요청된 데이터베이스 레코드의 값을 결정하기 위한 충분한 정보는 클라이언트만이 갖는다. 쿼리는 인덱스 서버로부터 숨겨지는데, 인덱스 서버가 암호화된 데이터베이스의 치환된 복제본을 소유하기 때문이다. 따라서, 인덱스 서버는 비치환된 데이터베이스(unpermuted database)의 어떤 레코드가 리턴되는지를 알지 못한다. 또한, 서버는 비치환된 데이터베이스의 어떤 레코드가 리턴되는지를 알지 못하는데, 서버가 리턴하는 키가 마스킹되기 때문이다. 따라서, 서버는 마스킹된 키를, 데이터베이스의 특정 로우를 암호화하기 위해 서버에 의해 사용되는 키와 상관시킬 수 없다. 이로써, 보안 데이터베이스 시스템은 레코드의 보안 검색을 제공할 수도 있다. 또한, 설명되는 실시형태는 n에 비례하는 시간에 데이터베이스 쿼리를 서비스한다. 따라서, 1E8 레코드를 포함하는 데이터베이스에서, 본 발명의 실시형태는 본 예에서 n2/n, 또는 1E8의 효율성 증가를 제공할 수도 있다.
도 1은, 예를 들면, 데이터의 보안 저장 및 검색을 제공하도록 동작할 수도 있는 하나의 비제한적인 실시형태에 따른 시스템(100)을 예시한다. 시스템(100)은, 서버(S)(200) 및 인덱스 서버(IS)(300)를 결국 포함하는 시스템(110)을 포함한다. 클라이언트(C)(400)는 데이터베이스 엔트리를 검색하기 위해 시스템(110)과 통신할 수도 있다. 클라이언트(400), 서버(200) 및 인덱스 서버(300) 사이의 통신은 네트워크(120)를 통할 수도 있다. 네트워크(120)는 유선, 무선, 또는 광학적 연결의 임의의 조합, 예를 들면 인터넷일 수도 있다. 서버(200) 및 인덱스 서버(300)는 물리적으로 동일 위치에 있거나 또는 서로 멀리 떨어질 수도 있다. 몇몇 실시형태에서, 서버(200), 인덱스 서버(300) 및 클라이언트(400)는 인터넷을 통해 통신한다.
도 2는 서버(200)의 한 예시적인 실시형태를 예시한다. 서버(200)는 프로세서(CPU)(210), 메모리(220) 및 네트워크 인터페이스(230)를 포함한다. 메모리(220)는 본원에서 설명되는 기능을 지원하기 위해 예를 들면 RAM, ROM 및 디스크 스토리지의 임의의 조합을 포함할 수도 있다. 메모리(220)는 프로세서(210)가 액세스할 수 있고 프로세서(210)에 의해 실행되는 명령을 포함할 수도 있다. 메모리(220)는 데이터베이스 레코드, 예를 들면, 요청시 클라이언트(400)로 제공될 수도 있는 데이터 엔트리의 어레이를 또한 포함할 수도 있다. 메모리(220)는, 데이터베이스 기능을 지원하기 위해, 예를 들면 100 GB 이상의 RAM을 포함할 수도 있다. 네트워크 인터페이스(230)는 인덱스 서버(300) 및 클라이언트(400)와 통신하기 위한 기능성을 포함할 수도 있다. 예를 들면, 네트워크 인터페이스(230)는 TCP/IP 또는 유사한 표준안에 의해 네트워크(120)를 통해 통신하도록 구성될 수도 있다.
도 3은 인덱스 서버(300)의 한 예시적인 실시형태를 예시한다. 인덱스 서버(300)는 서버(200)에 대해 설명된 것과 유사한 기능 블록을 포함할 수도 있다. 예를 들면, 인덱스 서버(300)는 프로세서(310), 메모리(320) 및 네트워크 인터페이스(330)를 포함할 수도 있다. 메모리(320)는 프로세서(310)가 액세스할 수 있고 프로세서(310)에 의해 실행될 수 있는 명령뿐만 아니라, 클라이언트(400)에 의한 데이터 액세스 요청 및 하기에 설명되는 다양한 데이터 구조를 수용하기 위한 메모리 공간을 포함한다.
도 4는 클라이언트(400)의 한 실시형태를 예시한다. 클라이언트(400)는 서버(200) 및 인덱스 서버(300)의 것과 유사한 기능 블록, 예를 들면, 프로세서(410), 메모리(420) 및 네트워크 인터페이스(430)를 다시 포함할 수도 있다. 메모리(220)는 프로세서(400)가 액세스할 수 있고 프로세서(400)에 의해 실행가능한 명령을 포함할 수도 있다. 클라이언트(400)는, 예를 들면, 퍼스널 컴퓨터, 모바일 컴퓨팅 디바이스(예를 들면, iPad®), 스마트폰, 워크스테이션, 또는 메인프레임 컴퓨터 시스템일 수도 있다.
도 5는 클라이언트(400)로 보안 데이터 검색을 제공하기 위한 서버(200) 및 인덱스 서버(300)의 초기화의 제1의 실시형태에서의 양태를 예시한다. 데이터베이스를 초기화하는 방법(500)은 단계 S05로 시작하는데, 여기서 서버(200)는 공개-개인 키 쌍(kpp)을 생성하고 공개 키를 클라이언트(400)로 전송한다. 서버(200)는 레코드(R[i]=R[1], R[2], R[3], …,)의 데이터베이스를 미리 포함하는 것으로 간주된다. 단계 S10에서, 서버(200)는 데이터베이스 레코드의 순서를 적어도 의사랜덤하게 치환하여 치환된 데이터베이스(R[πi])를 생성한다. 다시 말하면, 데이터베이스 어레이의 레코드(R[i])는, 레코드 인덱스(i)가 {i}의 세트 중에서 적어도 의사랜덤하게 선택되는 치환된 인덱스(πi)로 대체되는 새로운 데이터베이스 어레이로 매핑된다. 본원에서, 용어 "적어도 의사랜덤하게"는, "랜덤" 값을 생성하는 계산적 방법이 몇몇 결정의 레벨을 본질적으로 포함하지만, 랜덤하게 생성된 값과는 유효하게 구분불가능할 수도 있다는 이해를 반영한다. 이하, 계산(computation) 및 수치 세트는 제한 없이 "랜덤"으로서 설명될 수도 있지만 이들 계산 또는 세트를 인식하는 것이 단지 의사랜덤할 수도 있다.
단계 S15에서, 서버(200)는 랜덤 키 어레이(kri])를 생성한다. 이 어레이는 치환된 데이터베이스(R[πi])의 각각의 레코드와 관련된 랜덤 키 값인 kr을 포함한다. 단계 S20에서, 서버(200)는 R([πi])의 각각의 값을 그것과 관련된 키 값(kri])을 사용하여 암호화하는 것에 의해 암호화된 데이터베이스 어레이(E[πi])를 생성한다. 단계 S25에서, 서버(200)는 kri]의 각각의 멤버를 키 쌍(kpp)의 공개 키를 사용하여 암호화하여 암호화된 키 어레이를 생성한다. 바람직한 실시형태에서, 암호화는 준동형이다. 준동형 암호화(homomorphic encryption; HE)의 한 예는 Paillier 암호체계이다. 다양한 실시형태에서의 HE의 활용이 이하 설명된다. 암호화된 키 어레이는 이 실시형태를 반영하는 데 제한 없이 kr,HEi]로서 칭해진다. 단계 S30에서, 서버(200)는 암호화된 데이터베이스 어레이(E[πi]) 및 암호화된 키 어레이(kr,HEi])를 인덱스 서버(300)로 전송한다. 단계 IS05에서, 인덱스 서버(300)는 어레이(E[πi] 및 kr,HEi])를 저장한다.
단계 IS05의 완료시, 시스템(100)의 셋업 단계는 완료된다. E[πi]를 생성하기 위해 사용되는 설명된 동작 때문에, 서버(200)는 E[πi] 어레이의 컨텐츠를 결정하기에 충분한 정보를 갖지 못한다. 더 구체적으로는, 서버(200)에 의해 저장된 R[i] 데이터베이스 어레이는 인덱스 서버(300)에 의해 저장된 E[πi] 어레이와는 상이하게 인덱싱되고, 그 결과 이들 어레이 사이의 관계는 서버(200) 및 인덱스 서버(300)의 각각으로부터 숨겨진다. 그러나, 하기에 설명되는 바와 같이, 클라이언트(400)는 자신에게만 알려진 정보를 사용하여 암호화된 데이터베이스 레코드의 값을 결정하여, 종래의 데이터베이스 시스템에 비해 시스템(100)의 더 큰 보안성을 제공하게 될 수도 있다.
이제 도 6 및 도 7을 참조하면, 클라이언트(400)에 의한 시스템(100)으로부터의 데이터의 보안 검색의 제1의 실시형태가 설명된다. 도 6은 클라이언트(400)와 서버(200) 사이의 정보의 교환, 및 클라이언트(400)와 인덱스 서버(300) 사이의 정보의 교환의 하이 레벨 설명을 제공한다. 도 7은 본 실시형태에서 데이터베이스 쿼리에 응답하여 서버(200), 인덱스 서버(300) 및 클라이언트(400)에 의해 수행되는 동작의 보다 상세한 설명을 제공하는 방법(700)을 제시한다.
도 7을 참조하면, 단계 C05에서, 클라이언트(400)는 특정 레코드(n)에 대한 쿼리를 인덱스 서버(300)로 전송한다. 이 단계는 도 6에서의 클라이언트(400)로부터 인덱스 서버(300)로의 제1의 통신에 대응한다. 쿼리에 응답하여, 단계 IS10(도 7)에서, 인덱스 서버는 E[n] 및 kr,HE[n]을 클라이언트(400)로 전송한다. 이 단계는 도 6에서의 인덱스 서버(300)로부터 클라이언트(400)로의 제2의 통신에 대응한다.
도 7을 계속 참조하면, 단계 S10에서, 클라이언트(400)는 치환된 데이터베이스의 각각의 엔트리에 대해 랜덤 마스크 값을 생성한다. 단계 C15에서, 클라이언트(400)는 키(kr[n])를 암호해제하기 위한 서버(200)에 대한 요청을 형성한다. 그러나 서버(200)가 키 값을 결정하는 것을 방지하기 위해, 클라이언트(400)는, 먼저, 단계 C10에서 생성된 대응 마스크 값을 가산하는 것에 의해 키의 값을 마스킹한다. 이것은 단계 S10(도 5)에서의 키 값의 준동형 암호화로 인해 가능하다. 따라서, 제1의 부단계 C20에서, 클라이언트(400)는, 서버(200)로부터 이전에 수신된 공개 키를 사용하여, kr,HE[n]와 mask[n]의 합의 준동형 암호화를 수행한다. 관련 기술의 당업자에 의해 이해되는 바와 같이, 준동형 암호화의 특성은, 예를 들면, 하기에 설명되는 단계 C30에서, 암호화된 합을 먼저 암호해제하지 않고도 mask[n]을 감산하는 것에 의해 kr[n] 값이 나중에 복원될 수도 있도록, mask[n]과 같은 오프셋을 암호화된 kr,HE[n] 값에 가산하고 그 결과를 암호화하는 것을 가능하게 한다. 부단계 C25에서, 클라이언트(400)는 km,HE[n]을 서버(200)로 송신한다. 이 단계는 도 6에서의 클라이언트(400)로부터 서버(200)로의 제3의 통신에 대응한다.
km,HE[n] 값의 송신은 kr,HE[n]를 암호해제하여 마스킹된 키(km[n])를 생성하기 위한 서버(200)에 대한 요청을 초기화하도록 기능한다. 단계 S35(도 7)에서, 서버(200)는 kpp, 예를 들면 kpp의 개인 키를 사용하여 km,HE[n]를 암호해제하여 km[n]을 복원한다. 이 값은 여전히 마스킹되기 때문에, 서버(200)는 대응하는 kr[n]의 값의 지식을 갖지 않는다. 단계 S40에서, 서버(200)는 km[n]을 클라이언트(200)로 전송한다. 이 단계는 도 6에서 서버(200)로부터 클라이언트로의 제4의 통신으로서 도시된다.
단계 C30(도 7)에서, 클라이언트(400)는 km[n]에서 mask[n]을 감산하여, kr[n]을 복원한다. 단계 C35에서, 클라이언트(400)는 kr[n]을 사용하여 E[n]을 암호해제하여 R[n]을 획득한다.
이전의 실시형태에서, 클라이언트(400)만이 암호화된 데이터(E[n]) 및 mask[n] 값을 소유하기 때문에, 클라이언트만이 E[n]을 암호해제하는 데 필요한 값(kr[n])을 복원할 수 있다. 또한, R[i] 어레이로부터 R[πi] 어레이의 치환은, 클라이언트(400)가 복원하려고 시도하고 있는 데이터베이스 레코드를 서버(200)가 결정할 수 없다는 것을 보장한다. 이와 같이, 클라이언트(400)는 R[n]의 값을, 예를 들면, 서버(200) 또는 인덱스 서버(300)가 클라이언트(400)에 의해 검색되는 데이터를 결정할 수 없는 상태에서, 안전하게 복원할 수 있다.
도 8 내지 도 10은 시스템(100)의 동작의 제2의 실시형태를 나타낸다. 도 8은 도 5에 도시된 데이터베이스 셋업 방법(500)의 실시형태에 대한 대안예를 설명하는 방법(800)을 제공한다. 도 9 및 도 10은 각각 방법(1000)의 하이 레벨의 그리고 상세한 설명을 제공한다. 이 실시형태에서는, 방법(700)에서 클라이언트(400)에 의해 이전에 수행된 준동형 동작을 수행하는 것은 인덱스 서버(300)이다. 이러한 동작은 클라이언트(400)가 서버(200) 및 인덱스 서버(300)와 온라인으로 되는 데 필요한 시간을 줄일 수도 있지만, 가끔 추가적인 오프라인 프로세싱을 희생하게 된다.
도 8을 참조하면, 단계 S05-S30 및 IS05는 도 5와 관련하여 이전에 설명된 바와 같다. 방법(800)은 단계 IS05 이전에 단계 IS15를 제공하는데, 단계 IS15에서는, 인덱스 서버(300)는, 예를 들면, 단계 C10(도 7)과 관련하여 이전에 설명된 바와 같이, 각각의 데이터베이스 레코드에 대응하는 랜덤 마스크 값(mask[πi])을 생성한다. 단계 IS05에서, 인덱스 서버(300)는 앞서 설명된 바와 같이 어레이(E[πi] 및 kr,HEi])를 저장한다. 단계 IS20에서, 인덱스 서버(300)는 각각의 데이터베이스 레코드에 대해 kpp의 공개 키를 사용하여 mask[πi] 및 (예를 들면, kpp의 공개 키를 사용하여) kr,HEi]의 합의 준동형 암호화를 계산하는데, 합은 km,HEi]로 표시된다. 단계 IS25에서, 인덱스 서버(300)는 km,HEi]의 순서를 랜덤하게 치환하고 값의 치환된 어레이를 서버(200)로 전송한다. 단계 S45에서 서버(200)는 kpp의 개인 키를 사용하여 치환된 마스크 어레이를 암호해제하고, 결과적인 값을 저장한다.
도 10을 참조하면, 방법(1000)은 이전에 설명된 단계 C05를 포함하는데, 단계 C05에서는 클라이언트(400)는 암호화된 레코드(n)에 대해 인덱스 서버(300)에게 쿼리한다. 이 쿼리는 도 9에서 클라이언트(400)로부터 인덱스 서버(300)로의 제1의 통신으로서 도시된다. 단계 IS30에서 인덱스 서버(300)는 E[n] 및 mask[n]을 클라이언트(400)로 전송한다. 이 단계는 도 9에서의 클라이언트(400)와 인덱스 서버(300) 사이의 제2의 통신에 대응한다. 단계 IS35에서, 인덱스 서버(300)는 치환된 인덱스(πi)를 서버(200)로 전송한다. 이 단계는 도 9에서의 인덱스 서버(300)로부터 서버(200)로의 제3의 통신에 대응한다. 단계 S50에서, 서버(200)는 치환된 인덱스를 치환된 마스크 어레이의 대응하는 값과 관련시키고 단계 S55에서 대응하는 값(kmi])을 클라이언트(400)로 전송한다. 이 송신은 도 9에서 서버(200)로부터 클라이언트(400)로의 제4의 통신으로서 도시된다. 단계 C30에서 앞서 설명된 바와 같이, 클라이언트(400)는 km[n]에서 mask[n]을 감산하여, kr[n]을 복원하고, 단계 C35에서, 클라이언트(400)는 kr[n]을 사용하여 E[n]을 암호해제하여 R[n]을 획득한다.
설명된 실시형태에서, 서버(200), 인덱스 서버(300) 및 클라이언트(400)의 동작은 설명된 순서에 제한되지 않음에 유의한다. 다른 실시형태에서, 설명된 동작의 단계는 다른 순서일 수도 있거나, 또는 병합되거나 분리될 수도 있다. 몇몇 실시형태에서, 본 개시의 범위를 벗어나지 않으면서, 몇몇 예시된 단계가 제거되거나, 또는 다른 단계가 추가될 수도 있다.
본 발명의 다수의 실시형태가 첨부의 도면에 예시되고 앞서의 상세한 설명에서 설명되었지만, 본 발명은 개시된 실시형태에 제한되지 않으며, 하기의 특허청구범위에 의해 정의되고 설명되는 바와 같은 본 발명에서 벗어나지 않으면서 다양한 재배치, 수정 및 치환이 가능함이 이해되어야 한다.

Claims (15)

  1. 데이터베이스 서버(200)로서,
    프로세서와,
    상기 프로세서에 의해 액세스가능하고 복수의 데이터베이스 레코드를 포함하는 메모리를 포함하되,
    상기 프로세서는,
    상기 데이터베이스 레코드의 순서를 적어도 의사랜덤하게 치환하여(pseudorandomly permute), 치환된 데이터베이스(permuted database)(R[πi])를 생성하고(S10),
    각각의 치환된 데이터베이스 레코드에 대응하는 적어도 의사랜덤한 암호화 키(encryption key)를 생성하여, 암호화 키 어레이(kri])를 생성하고(S15),
    상기 암호화 키 어레이의 대응하는 암호화 키를 사용하여 각각의 치환된 데이터베이스 레코드를 암호화하여, 암호화된 데이터베이스 어레이(E[πi])를 생성하고(S20),
    상기 암호화 키 어레이의 각각의 암호화 키를 암호화하여, 암호화된 암호화 키 어레이(kr,HEi])를 생성하고(S25),
    상기 암호화된 데이터베이스 어레이(E[πi]) 및 상기 암호화된 암호화 키 어레이(kr,HEi])를 인덱스 서버로 향하게 하고(direct)(S30),
    상기 인덱스 서버로부터 수신되는 마스킹된 암호화 키 어레이(km,HEi]) - 상기 마스킹된 암호화 키 어레이는 상기 암호화된 암호화 키 어레이로부터 도출됨 - 를 암호해제(decrypt)하여 저장하고(S45),
    클라이언트 서버로부터 특정한 암호화 된 마스킹 암호화 키를 수신하는 것에 응답하여 공개-개인 키 쌍을 사용하여 상기 마스킹된 암호화 키 어레이의 상기 특정한 암호화된 마스킹 암호화 키를 암호해제하고 결과로 도출된 암호해제된 마스킹된 키(km[n])를 상기 클라이언트 서버로 향하게 하도록 구성되는
    데이터베이스 서버.
  2. 제1항에 있어서,
    상기 프로세서, 상기 인덱스 서버 및 클라이언트 사이에서 네트워크를 통해 통신을 제공하도록 구성된 네트워크 인터페이스를 더 포함하는
    데이터베이스 서버.
  3. 제1항에 있어서,
    상기 프로세서는 공개-개인 키 쌍을 생성하고(S05), 상기 공개-개인 키 쌍을 사용하여 상기 암호화 키 어레이의 상기 의사랜덤한 암호화 키의 각각을 준동형적으로(homomorphically) 암호화하도록(S25) 더 구성되는
    데이터베이스 서버.
  4. 데이터베이스 인덱스 서버(300)로서,
    프로세서와,
    상기 프로세서에 의해 액세스가능하며, 상기 프로세서에 의해 실행가능한 프로그램 명령을 포함하는 메모리를 포함하되,
    상기 프로세서는,
    암호화된 암호화 키의 키 어레이를 수신하고(S30),
    적어도 의사랜덤한 마스크 - 각각의 의사랜덤한 마스크는 상기 키 어레이의 멤버에 대응함 - 를 포함하는 마스크 어레이를 생성하고(IS15),
    상기 키 어레이의 각각의 암호화 키에 대해 그 암호화 키와 대응하는 마스크의 합(sum)을 계산하고(IS20),
    각각의 합을 준동형적으로(homomorphically) 암호화하여, 암호화된 마스킹된 키의 어레이를 생성하고(IS20),
    상기 암호화된 합의 순서를 적어도 의사랜덤하게 치환하여 마스킹된 암호화된 키의 치환된 어레이를 생성하고, 상기 마스킹된 암호화된 키의 치환된 어레이를 데이터베이스 서버로 향하게 하는(IS25)
    데이터베이스 인덱스 서버.
  5. 삭제
  6. 제4항에 있어서,
    상기 프로세서는 데이터베이스 서버(200)로부터 데이터 레코드의 어레이를 수신하고(S30), 클라이언트 서버(400)로부터 레코드 번호를 수신하고(C05), 응답으로 상기 레코드 번호에 대응하는 마스크 및 데이터 레코드를 상기 클라이언트 서버로 리턴하도록(IS30) 더 구성되는
    데이터베이스 인덱스 서버.
  7. 제6항에 있어서,
    상기 프로세서는 상기 마스킹된 암호화된 키의 치환된 어레이의 대응하는 멤버에 액세스하기 위해 치환된 데이터베이스 인덱스를 상기 데이터베이스 서버로 향하게 하도록(IS35) 더 구성되는
    데이터베이스 인덱스 서버.
  8. 제6항에 있어서,
    상기 데이터 레코드의 어레이의 각각의 레코드는 암호화되는
    데이터베이스 인덱스 서버.
  9. 데이터베이스 서버(200)를 동작시키는 방법으로서,
    상기 서버에 의해 저장된 데이터베이스 레코드의 순서를 적어도 의사랜덤하게 치환하여, 치환된 데이터베이스(R[πi])를 생성하는 단계(S10)와,
    각각의 치환된 데이터베이스 레코드에 대응하는 적어도 의사랜덤한 암호화 키를 생성하여, 암호화 키 어레이(kri])를 생성하는 단계(S15)와,
    상기 암호화 키 어레이의 대응하는 암호화 키를 사용하여 각각의 치환된 데이터베이스 레코드를 암호화하여, 암호화된 데이터베이스 어레이(E[πi])를 생성하는 단계(S20)와,
    상기 암호화 키 어레이의 각각의 암호화 키를 암호화하여, 암호화된 암호화 키 어레이(kr,HEi])를 생성하는 단계(S25)와,
    상기 암호화된 데이터베이스 어레이 및 상기 암호화된 암호화 키 어레이를 인덱스 서버로 향하게 하는 단계(S30)와,
    상기 인덱스 서버로부터 수신되는 마스킹된 암호화 키 어레이 - 상기 마스킹된 암호화 키 어레이는 상기 암호화된 암호화 키 어레이로부터 도출됨 - 를 암호해제하여 저장하는 단계(S45)와,
    클라이언트 서버로부터 특정한 암호화 된 마스킹 암호화 키를 수신하는 것에 응답하여 공개-개인 키 쌍을 사용하여 상기 마스킹된 암호화 키 어레이의 상기 특정한 암호화된 마스킹 암호화 키를 암호해제하고 결과로 도출된 암호해제된 마스킹된 키(km[n])를 상기 클라이언트 서버로 향하게 하도록 하는 단계를 포함하는
    데이터베이스 서버를 동작시키는 방법.
  10. 제9항에 있어서,
    공개-개인 키 쌍을 생성하는 단계(S05), 및 상기 공개-개인 키 쌍을 사용하여 상기 의사랜덤한 암호화 키의 각각을 준동형적으로 암호화하는 단계(S25)를 더 포함하는
    데이터베이스 서버를 동작시키는 방법.
  11. 데이터베이스 인덱스 서버(300)를 동작시키는 방법으로서,
    암호화 키의 어레이를 수신하는 단계(S30)와,
    복수의 적어도 의사랜덤한 마스크 - 각각의 적어도 의사랜덤한 마스크는 상기 키 어레이의 멤버에 대응함 - 를 포함하는 마스크 어레이를 생성하는 단계(IS15)와,
    각각의 암호화 키 및 그 키에 대응하는 적어도 의사랜덤한 마스크의 합을 계산하여 준동형적으로(homomorphically) 암호화하는 단계(IS20)와,
    각각의 합을 암호화하여, 암호화된 마스킹된 키의 어레이를 생성하는 단계(IS20)와,
    상기 암호화된 합의 순서를 적어도 의사랜덤하게 치환하여 마스킹된 암호화된 키의 치환된 어레이를 생성하고, 상기 마스킹된 암호화된 키의 치환된 어레이를 데이터베이스 서버로 향하게 하는 단계(IS25)를 포함하는
    데이터베이스 인덱스 서버를 동작시키는 방법.
  12. 삭제
  13. 제11항에 있어서,
    데이터베이스 서버(200)로부터 데이터 레코드의 어레이를 수신하는 단계(S30)와, 클라이언트 서버(400)로부터 레코드 번호를 수신하는 단계(C05)와, 응답으로 상기 레코드 번호에 대응하는 마스크 및 데이터 레코드를 상기 클라이언트 서버로 리턴하는 단계(IS30)를 더 포함하는
    데이터베이스 인덱스 서버를 동작시키는 방법.
  14. 제11항에 있어서,
    상기 마스킹된 암호화된 키의 치환된 어레이의 대응하는 멤버에 액세스하기 위해 치환된 데이터베이스 인덱스를 상기 서버로 향하게 하는 단계(IS35)를 더 포함하는
    데이터베이스 인덱스 서버를 동작시키는 방법.
  15. 제13항에 있어서,
    상기 데이터 레코드의 어레이의 각각의 레코드는 암호화되는
    데이터베이스 인덱스 서버를 동작시키는 방법.
KR1020157017104A 2012-12-28 2013-12-18 프라이버시 보호 데이터베이스 시스템 KR101699192B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/729,619 2012-12-28
US13/729,619 US8943331B2 (en) 2012-12-28 2012-12-28 Privacy-preserving database system
PCT/US2013/076255 WO2014105580A1 (en) 2012-12-28 2013-12-18 A privacy-preserving database system

Publications (2)

Publication Number Publication Date
KR20150090204A KR20150090204A (ko) 2015-08-05
KR101699192B1 true KR101699192B1 (ko) 2017-01-23

Family

ID=49956402

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157017104A KR101699192B1 (ko) 2012-12-28 2013-12-18 프라이버시 보호 데이터베이스 시스템

Country Status (6)

Country Link
US (1) US8943331B2 (ko)
EP (1) EP2939175A1 (ko)
JP (1) JP5997851B2 (ko)
KR (1) KR101699192B1 (ko)
CN (1) CN104995632B (ko)
WO (1) WO2014105580A1 (ko)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8943331B2 (en) 2012-12-28 2015-01-27 Alcatel Lucent Privacy-preserving database system
US10325329B2 (en) * 2014-12-12 2019-06-18 Mcafee, Inc. Smart home security of metered data using a mask
US11403407B2 (en) 2016-09-19 2022-08-02 Koninklijke Philips N.V. Oblivious outsourcing of file storage
US10395060B2 (en) 2016-10-17 2019-08-27 Microsoft Technology Licensing, Llc Multiple message retrieval for secure electronic communication
US10291592B2 (en) 2016-10-17 2019-05-14 Microsoft Technology Licensing, Llc Secure electronic communication
GB2571049B (en) * 2016-12-30 2022-05-11 Bosch Gmbh Robert Method and system for search pattern oblivious dynamic symmetric searchable encryption
US10360397B2 (en) * 2017-02-22 2019-07-23 Sap Se Secure retrieval of cloud-based sensitive data by obfuscating data access patterns
KR101945885B1 (ko) * 2017-07-07 2019-06-11 서울대학교산학협력단 동형 암호화된 데이터의 연산의 위변조를 판단하는 방법
KR102602119B1 (ko) * 2018-04-06 2023-11-15 주식회사 크립토랩 블록체인 및 동형암호 기술을 이용하여 데이터를 공유하는 사용자 장치와 전자장치 및 그 방법들
US11334547B2 (en) * 2018-08-20 2022-05-17 Koninklijke Philips N.V. Data-oblivious copying from a first array to a second array
US10778410B2 (en) * 2019-06-18 2020-09-15 Alibaba Group Holding Limited Homomorphic data encryption method and apparatus for implementing privacy protection
CN111008236B (zh) * 2019-12-06 2023-05-02 支付宝(杭州)信息技术有限公司 一种数据查询的方法和系统
CN115640601A (zh) * 2022-09-30 2023-01-24 蚂蚁区块链科技(上海)有限公司 一种实现隐私信息检索的方法、系统、服务端和客户端

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020025043A1 (en) * 2000-04-13 2002-02-28 Bao Feng Private retrieval of digital objects

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005080131A (ja) * 2003-09-02 2005-03-24 Apuriko System:Kk 秘密データ通信システム
EP1569380B1 (en) * 2004-02-27 2008-06-18 International Business Machines Corporation System for achieving anonymous communication of messages using secret key crytptography
JP4837362B2 (ja) * 2005-10-31 2011-12-14 株式会社エヌ・ティ・ティ・データ データ検索システム、情報処理装置、データ検索方法、及び、プログラム。
JP4256897B2 (ja) * 2006-06-16 2009-04-22 インターナショナル・ビジネス・マシーンズ・コーポレーション マッチング・サービスを提供するための装置、方法及びプログラム
US7689547B2 (en) * 2006-09-06 2010-03-30 Microsoft Corporation Encrypted data search
KR20100003380A (ko) * 2008-07-01 2010-01-11 주식회사 사람인 암호화된 데이터베이스 정보의 조회 방법
KR101041568B1 (ko) * 2008-12-16 2011-06-15 한국전자통신연구원 다수의 데이터베이스에 저장된 보호가 필요한 정보들의 평균값 산출 방법
KR101003131B1 (ko) * 2009-04-09 2010-12-22 소프트포럼 주식회사 데이터베이스 패턴별 암호화에 따른 인덱스 검색 시스템
JP5506704B2 (ja) * 2011-01-20 2014-05-28 日本電信電話株式会社 復号システム、鍵装置、復号方法、及びプログラム
US9021263B2 (en) * 2012-08-31 2015-04-28 Cleversafe, Inc. Secure data access in a dispersed storage network
US8943331B2 (en) 2012-12-28 2015-01-27 Alcatel Lucent Privacy-preserving database system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020025043A1 (en) * 2000-04-13 2002-02-28 Bao Feng Private retrieval of digital objects

Also Published As

Publication number Publication date
EP2939175A1 (en) 2015-11-04
CN104995632B (zh) 2017-11-03
KR20150090204A (ko) 2015-08-05
US8943331B2 (en) 2015-01-27
US20140189364A1 (en) 2014-07-03
WO2014105580A1 (en) 2014-07-03
CN104995632A (zh) 2015-10-21
JP5997851B2 (ja) 2016-09-28
JP2016502153A (ja) 2016-01-21

Similar Documents

Publication Publication Date Title
KR101699192B1 (ko) 프라이버시 보호 데이터베이스 시스템
US11303445B2 (en) Method and system of preserving privacy for usage of lightweight blockchain clients
US10586057B2 (en) Processing data queries in a logically sharded data store
US8447983B1 (en) Token exchange
US9483657B2 (en) Secure online distributed data storage services
US10650164B2 (en) System and method for obfuscating an identifier to protect the identifier from impermissible appropriation
US8862895B2 (en) Systems and methods for communication, storage, retrieval, and computation of simple statistics and logical operations on encrypted data
KR101371608B1 (ko) Dbms 및 데이터베이스에서 암호화 방법
CN105051750A (zh) 用于加密文件系统层的系统和方法
US20150143111A1 (en) Methods and devices for securing keys for a nonsecured, distributed environment with applications to virtualization and cloud-computing security and management
JP6348004B2 (ja) 暗号化データ管理システム、プロキシサーバ、暗号化データ管理方法およびコンピュータプログラム
EP3860036B1 (en) Key management method, security chip, service server and information system
AU2017440029A1 (en) Cryptographic key generation for logically sharded data stores
CN114679340B (zh) 一种文件共享方法、系统、设备及可读存储介质
CN115577370A (zh) 一种支持智能无人集群数据访问模式保护的安全存储方法
KR102245886B1 (ko) 협력형으로 개인정보를 보호하는 통신환경에서의 분석서버 및 분석서버의 동작 방법, 서비스제공장치 및 서비스제공장치의 동작 방법
CN113407967A (zh) 一种基于应用市场架构的服务安全方法及设备
CN105518696A (zh) 对数据存储器执行操作
CN113824713B (zh) 一种密钥生成方法、系统及存储介质
CN116248289A (zh) 基于密文属性加密的工业互联网标识解析访问控制方法
KR102386717B1 (ko) 익명 사용자 속성기반의 데이터 접근 제어 시스템 및 방법
Koppaka et al. ElGamal algorithm with hyperchaotic sequence to enhance security of cloud data
EP3323220A1 (en) Encryption scheme using multiple parties
Goswami et al. Investigation on storage level data integrity strategies in cloud computing: classification, security obstructions, challenges and vulnerability
CN112769560B (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