KR102401485B1 - 동형 암호화된 데이터 처리 방법 및 시스템 - Google Patents

동형 암호화된 데이터 처리 방법 및 시스템 Download PDF

Info

Publication number
KR102401485B1
KR102401485B1 KR1020210192462A KR20210192462A KR102401485B1 KR 102401485 B1 KR102401485 B1 KR 102401485B1 KR 1020210192462 A KR1020210192462 A KR 1020210192462A KR 20210192462 A KR20210192462 A KR 20210192462A KR 102401485 B1 KR102401485 B1 KR 102401485B1
Authority
KR
South Korea
Prior art keywords
data
user
encrypted
server
combining
Prior art date
Application number
KR1020210192462A
Other languages
English (en)
Inventor
안용대
정승우
Original Assignee
주식회사 디사일로
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 디사일로 filed Critical 주식회사 디사일로
Priority to KR1020210192462A priority Critical patent/KR102401485B1/ko
Application granted granted Critical
Publication of KR102401485B1 publication Critical patent/KR102401485B1/ko
Priority to PCT/KR2022/019463 priority patent/WO2023128340A1/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Telephonic Communication Services (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

본 발명은, 데이터 이용자 디바이스의 프로세서에 의해 수행되는 동형 암호를 이용한 데이터 처리 방법으로서, 상기 방법은, 데이터 서버로 데이터 이용자 데이터에 대한 데이터 결합 요청을 송신하는 단계, 상기 데이터 결합 요청에 따라, 상기 데이터 서버로부터 결합 가능한 외부 데이터 목록을 수신하는 단계, 상기 외부 데이터 목록 중 어느 하나의 외부 데이터와의 결합 조건을 결정하는 단계, 상기 데이터 서버로부터 암호화된 외부 데이터를 수신하고, 상기 이용자 데이터를 동형 암호화하는 단계, 상기 암호화된 이용자 데이터와 상기 암호화된 외부 데이터를 상기 결합 조건을 이용하여 결합하는 단계 및 상기 결합 조건에 해당하는 결합 결과만을 복호화하고, 복호화된 결합 결과를 상기 데이터 서버로 송신하는 단계를 포함하도록 구성된다.

Description

동형 암호화된 데이터 처리 방법 및 시스템{METHOD AND SYSTEM FOR PROCESSING HOMOMORPHIC ENCRYPTED DATA}
본 발명은 동형 암호화된 데이터 처리 방법 및 시스템에 관한 것이다.
클라우드 컴퓨팅의 발달로 사람들은 많은 비용이 소요되는 스토리지 공 간을 임대하는 대신 클라우드 환경에 데이터를 저장하거나 필요에 따라 다른 사람들과 데이터를 공유할 수 있다.
클라우드 컴퓨팅은 네트워크를 통해 사용자들은 언제 어디서든 데이터를 공유 및 사용할 수 있어 편리하지만, 클라우드 환경 자체는 보안에 취약하다는 문제점이 존재한다.
이에, 클라우드 환경에 저장되는 데이터를 보호하기 위한 각종 보안 기술이 개시되었다. 종래 보안 기술의 대부분은 클라우드 서버가 사용자가 저장하고자 하는 데이터를 사용자의 개인정보를 토대로 암호화하고, 데이터에 접근할 수 있는 토큰을 해당 사용자에게 제공하는 방식으로 구성되어 있다.
그러나, 데이터의 용량이 큰 경우, 암호화된 데이터를 복호화하기까지 많은 시간이 소요되어, 데이터 검색 속도, 데이터 공유 속도가 느려지는 단점이 있으며, 클라우드 서버 또는 클라우드 서버와 사용자 디바이스 사이의 중간 서비스 업체가 외부로부터 해킹 당하는 경우에는 사용자의 개인정보가 노출되는 상황이 발생할 수도 있다.
발명의 배경이 되는 기술은 본 발명에 대한 이해를 보다 용이하게 하기 위해 작성되었다. 발명의 배경이 되는 기술에 기재된 사항들이 선행기술로 존재한다고 인정하는 것으로 이해되어서는 안 된다.
이에, 클라우드 환경에 데이터 원본을 저장하지 않고도, 데이터 제공자와 데이터 이용자 간에 데이터를 주고받을 수 있는 새로운 방식의 거래 방식이 요구된다.
그 결과, 본 발명의 발명자들은, 클라우드 서버가 데이터 이용자로부터 데이터 대여 요청을 수신하는 경우, 데이터 제공자에 의해 암호화된 데이터를 전달함으로써, 데이터 이용자가 동형 암호화된 연산 결과만을 획득할 수 있는 방법 및 이를 수행하는 시스템을 개발하고자 하였다.
본 발명의 과제들은 이상에서 언급한 과제들로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
전술한 바와 같은 과제를 해결하기 위하여 본 발명의 일 실시예에 따른 데이터 처리 방법이 제공된다. 상기 방법은, 데이터 서버로 데이터 이용자 데이터에 대한 데이터 결합 요청을 송신하는 단계, 상기 데이터 결합 요청에 따라, 상기 데이터 서버로부터 결합 가능한 외부 데이터 목록을 수신하는 단계, 상기 외부 데이터 목록 중 어느 하나의 외부 데이터와의 결합 조건을 결정하는 단계, 상기 데이터 서버로부터 암호화된 외부 데이터를 수신하고, 상기 이용자 데이터를 동형 암호화하는 단계, 상기 암호화된 이용자 데이터와 상기 암호화된 외부 데이터를 상기 결합 조건을 이용하여 결합하는 단계 및 상기 결합 조건에 해당하는 결합 결과만을 복호화하고, 복호화된 결합 결과를 상기 데이터 서버로 송신하는 단계를 포함하도록 구성된다.
본 발명의 특징에 따르면, 상기 결합 조건을 결정하는 단계는, 상기 이용자 데이터의 메타 데이터를 이용하여 결합 인덱스를 결정하는 단계와 상기 결합 인덱스 및 상기 메타 데이터를 기초로 상기 이용자 데이터를 동형 암호화 연산 가능한 형태로 변환하기 위한 파라미터를 생성하는 단계를 더 포함할 수 있다.
본 발명의 다른 특징에 따르면, 상기 결합 인덱스 및 상기 파라미터는, 상기 외부 데이터를 제공하는 데이터 제공자 디바이스로 전달되며, 상기 암호화된 외부 데이터는, 상기 데이터 제공자 디바이스에 의해 상기 결합 인덱스 및 상기 파라미터를 이용하여 암호화된 데이터일 수 있다.
본 발명의 또 다른 특징에 따르면, 상기 암호화하는 단계는, 상기 데이터 서버로부터 동형 암호화 연산을 위한 파라미터를 수신하는 단계를 더 포함할 수 있다.
본 발명의 또 다른 특징에 따르면, 상기 외부 데이터는, 사용자의 개인정보가 포함된 데이터일 수 있다.
전술한 바와 같은 과제를 해결하기 위하여 본 발명의 다른 실시예에 따른 데이터 처리 방법이 제공된다. 상기 방법은, 데이터 서버로부터 데이터 이용자의 결합 조건을 포함하는 데이터 결합 요청을 수신하는 단계, 상기 데이터 결합 요청에 대응되는 데이터를 동형 암호화하는 단계 및 상기 암호화된 데이터를 상기 데이터 서버로 송신하는 단계를 포함하도록 구성된다.
전술한 바와 같은 과제를 해결하기 위하여 본 발명의 또 다른 실시예에 따른 데이터 처리 중개 방법이 제공된다. 상기 방법은, 데이터 제공자 디바이스를 통해 데이터 처리 가능한 외부 데이터를 획득하는 단계, 데이터 이용자 디바이스로부터 결합 조건을 포함하는 데이터 결합 요청을 수신하는 단계, 상기 외부 데이터 중 상기 결합 조건에 따라 결합 가능한 외부 데이터 목록을 결정하는 단계, 결합될 외부 데이터를 제공하는 데이터 제공자 디바이스로 상기 데이터 결합 요청을 전달하는 단계, 상기 데이터 제공자 디바이스로부터 동형 암호화된 외부 데이터를 수신하고, 상기 동형 암호화된 외부 데이터를 상기 데이터 이용자 디바이스로 송신하는 단계 및 상기 데이터 이용자 디바이스로부터 상기 결합 조건에 대응되는 데이터의 복호화된 결합 결과를 수신하는 단계를 포함하도록 구성된다.
기타 실시예의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명은 사용자들이 개인 정보를 포함하는 데이터를 퍼블릭 클라우드 환경 상에서 안전하게 대여할 수 있다.
또한, 본 발명은 데이터 제공자에 의해 데이터가 암호화 및 복호화됨에 따라, 데이터 제공자는 퍼블릭 클라우드 환경을 통해서도 보안 상의 문제를 고려하지 않고 데이터를 처리할 수 있다. 특히, 데이터 제공자는 동형 암호화 기법을 사용하여 데이터를 암호화함으로써, 보안을 강화시킬 수 있다.
또한, 본 발명은 데이터의 양, 종류, 데이터가 활용될 서비스 등에 따라 암호화 파라미터의 길이 및 그에 따른 암호화 강도를 조절할 수 있어, 데이터 제공자와 데이터 이용자는 각자의 요구 사항에 맞게 데이터를 거래할 수 있다.
본 발명에 따른 효과는 이상에서 예시된 내용에 의해 제한되지 않으며, 더욱 다양한 효과들이 본 발명 내에 포함되어 있다.
도 1은 본 발명의 일 실시예에 따른 데이터 처리 시스템의 개략도이다.
도 2는 본 발명의 일 실시예에 따른 데이터 제공자 디바이스의 구성을 나타낸 블록도이다.
도 3은 본 발명의 일 실시예에 따른 데이터 제공자 디바이스의 데이터 처리 방법에 대한 순서도이다.
도 4는 본 발명의 일 실시예에 따른 데이터 처리를 중개하는 데이터 서버의 구성을 나타낸 블록도이다.
도 5는 본 발명의 일 실시예에 따른 데이터 처리 중개 방법에 대한 순서도이다.
도 6은 본 발명의 일 실시예에 따른 데이터 이용자 디바이스의 구성을 나타낸 블록도이다.
도 7은 본 발명의 일 실시예에 따른 데이터 이용자 디바이스의 데이터 처리 방법에 대한 순서도이다.
도 8 내지 도 10은 본 발명의 일 실시예에 따른 데이터를 처리할 수 있는 데이터 이용자 인터페이스 화면을 설명하기 위한 개략도이다.
도 11은 본 발명의 일 실시예에 따른 데이터 처리 방법에 대한 개략적인 순서도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조부호가 사용될 수 있다.
본 문서에서, "가진다," "가질 수 있다," "포함한다," 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.
본 문서에서, "A 또는 B," "A 또는/및 B 중 적어도 하나," 또는 "A 또는/및 B 중 하나 또는 그 이상" 등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. 예를 들면, "A 또는 B," "A 및 B 중 적어도 하나," 또는 "A 또는 B 중 적어도 하나"는, (1) 적어도 하나의 A를 포함, (2) 적어도 하나의 B를 포함, 또는(3) 적어도 하나의 A 및 적어도 하나의 B 모두를 포함하는 경우를 모두 지칭할 수 있다.
본 문서에서 사용된 "제1," "제2," "첫째," 또는 "둘째," 등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다. 예를 들면, 제1 사용자 기기와 제2 사용자 기기는, 순서 또는 중요도와 무관하게, 서로 다른 사용자 기기를 나타낼 수 있다. 예를 들면, 본 문서에 기재된 권리범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 바꾸어 명명될 수 있다.
어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 다른 구성요소(예: 제3 구성요소)가 존재하지 않는 것으로 이해될 수 있다.
본 문서에서 사용된 표현 "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, "~에 적합한(suitable for)," "~하는 능력을 가지는(having the capacity to)," "~하도록 설계된(designed to)," "~하도록 변경된(adapted to)," "~하도록 만들어진(made to)," 또는 "~ 를 할 수 있는(capable of)"과 바꾸어 사용될 수 있다. 용어 "~하도록 구성된(또는 설정된)"은 하드웨어적으로 "특별히 설계된(specifically designed to)" 것만을 반드시 의미하지 않을 수 있다. 대신, 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성된(또는 설정된)프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(generic-purpose processor)(예: CPU 또는 application processor)를 의미할 수 있다.
본 문서에서 사용된 용어들은 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 다른 실시예의 범위를 한정하려는 의도가 아닐 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 용어들은 본 문서에 기재된 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가질 수 있다. 본 문서에 사용된 용어들 중 일반적인 사전에 정의된 용어들은, 관련 기술의 문맥상 가지는 의미와 동일 또는 유사한 의미로 해석될 수 있으며, 본 문서에서 명백하게 정의되지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다. 경우에 따라서, 본 문서에서 정의된 용어일지라도 본 문서의 실시예들을 배제하도록 해석될 수 없다.
본 발명의 여러 실시예들의 각각 특징들이 부분적으로 또는 전체적으로 서로 결합 또는 조합 가능하며, 당업자가 충분히 이해할 수 있듯이 기술적으로 다양한 연동 및 구동이 가능하며, 각 실시예들이 서로에 대하여 독립적으로 실시 가능할 수도 있고 연관 관계로 함께 실시 가능할 수도 있다.
본 명세서의 해석의 명확함을 위해, 이하에서는 본 명세서에서 사용되는 용어들을 정의하기로 한다.
도 1은 본 발명의 일 실시예에 따른 데이터 처리 시스템의 개략도이다.
도 1을 참조하면, 데이터 처리 시스템(1000)은 데이터 제공자 디바이스(100), 데이터 서버(200), 데이터 이용자 디바이스(300) 및 클라우드 서버(400)를 포함할 수 있다.
데이터 처리 시스템(1000)은 사용자들로 하여금 퍼블릭 클라우드 상에서 암호화된 데이터를 처리할 수 있는 환경을 제공할 수 있다. 여기서, 데이터를 처리한다는 것은 디바이스와 서버 간에 암호화된 데이터가 전달되거나, 디바이스 내에서 데이터를 분석하는 것으로 이해될 수 있다.
구체적으로, 데이터 처리 시스템(1000)은 데이터 제공자와 데이터 이용자 사이에서 데이터 서버(200)를 통해 동형 암호화된 데이터를 전달할 수 있다. 특히, 본 발명은 암호화된 데이터 간의 연산이 가능할 수 있도록, 데이터를 동형 암호화 기법을 통해 암호화할 수 있다.
본 발명에서 동형 암호화되는 데이터는 사용자의 개인정보를 포함할 수 있으며, 예를 들어, 개인 정보는 사용자의 이름, 주민등록번호, 개인통관번호, 운전면허번호, 사용자의 통화 기록, 위치(위도, 경도) 정보, 은행 거래 정보, 토지, 부동산 정보 등을 포함할 수 있다.
데이터 처리 시스템(1000)에서 각 구성 요소들 간에 주고받는 데이터는 데이터 원본이 아닌, 동형 암호화된 데이터와 동형 암호화 연산을 위한 파라미터(예. 동형 암호화 연산을 위해 사용되는 함수의 차수(polynomial degree), 동형 암호화 연산을 위해 지정되는 스케일 비트(scale bit), 계수(coefficient))일 수 있으며, 데이터의 원본은 각자의 디바이스에 저장될 수 있다.
즉, 데이터 처리 시스템(1000)은 데이터 이용자들에게 데이터를 온전히 제공하는 것이 아니라, 지정된 영역(데이터 서버(200)가 제공하는 웹 페이지 또는 어플리케이션 환경 내)에서 동형 암호화된 데이터를 처리할 수 있도록 데이터 제공자와 데이터 이용자를 중개할 수 있다.
데이터 제공자 디바이스(100)는 개인정보를 포함하는 데이터를 소지하여, 해당 데이터의 이용 권한을 제공하는 사용자 디바이스로, PC, 태블릿 PC, 스마트 폰 등의 전자 장치를 포함할 수 있다. 데이터 제공자 디바이스(100)는 데이터 처리를 위한 어플리케이션이 설치되어 실행되거나, 데이터 서버(200)가 제공하는 웹 페이지에 접속할 수 있으며, 어플리케이션 또는 웹 페이지를 통해 대여 가능한 데이터를 동형 암호화시켜 데이터 서버(200)로 송신할 수 있다.
데이터 제공자 디바이스(100)는 동형 암호화된 데이터 간의 연산이 가능하도록 데이터를 전처리하고, 전처리된 데이터를 동형 암호화 기법을 통해 암호화할 수 있다. 이때, 동형 암호화 연산을 위한 파라미터는 데이터 서버(200) 또는 데이터 이용자 디바이스(300)로부터 수신된 파라미터일 수 있다.
데이터 제공자 디바이스(100)는 수신된 파라미터가 반영된 동형 암호화 키를 생성하여 동형 암호화할 수 있으며, 동일한 파라미터를 통해 동형 암호화를 수행한 데이터 이용자 디바이스(300)는 동형 암호화된 데이터의 결합 결과를 복호화할 수 있다.
다양한 실시예에서, 데이터 제공자 디바이스(100)는 데이터 이용자들이 동형 암호화된 데이터를 검색할 수 있도록, 데이터 등록 시, 데이터의 제목, 개략적인 설명, 데이터 필드를 구성하는 항목들의 설명 등 부가 정보를 함께 제공할 수 있다.
다양한 실시예에서, 데이터 제공자 디바이스(100)는 데이터 이용자의 요청에 따라 데이터를 동형 암호화하여 데이터 서버(200)로 송신하거나, 데이터 이용자의 요청 없이 대여 가능한 데이터를 동형 암호화하여 데이터 서버(200)로 송신할 수 있다. 데이터 서버(200)로 송신된 동형 암호화된 데이터는 웹 페이지 또는 어플리케이션의 대여 가능한 데이터 목록에 포함될 수 있다.
데이터 서버(200)는 데이터 제공자 디바이스(100)와 데이터 이용자 디바이스(300) 간의 데이터 대여 또는 데이터 결합을 중개할 수 있는 서버로서, 범용 컴퓨터, 랩탑 및 클라우드 서버 등으로 구현될 수 있다.
데이터 서버(200)는 데이터 제공자 디바이스(100) 및 데이터 이용자 디바이스(300)로 데이터 대여, 결합, 분석을 위한 웹 페이지 또는 어플리케이션을 제공할 수 있다.
다양한 실시예에서, 데이터 서버(200)는 동형 암호화 연산을 위한 동일한 파라미터를 데이터 제공자 디바이스(100) 및 데이터 이용자 디바이스(300)에 제공할 수 있다. 즉, 동형 암호화된 데이터들 간의 연산(결합) 및 복호화가 가능하도록, 데이터 서버(200)는 중개 과정에서 파라미터를 제공할 수도 있다.
다양한 실시예에서, 데이터 서버(200)는 동형 암호화된 데이터들을 클라우드 서버(400)에 등록할 수 있다. 여기서, 클라우드 서버(400)는 퍼블릭 클라우드 환경에서 운영되는 서버로, 동형 암호화된 데이터들만이 클라우드 서버(400)에 등록될 수 있다.
데이터 이용자 디바이스(300)는 개인정보를 포함하는 데이터를 이용하고자 하는 사용자 디바이스로, PC, 태블릿 PC, 스마트 폰 등의 전자 장치를 포함할 수 있다. 데이터 이용자 디바이스(300)는 데이터 처리를 위한 어플리케이션이 설치되어 실행되거나, 데이터 서버(200)가 제공하는 웹 페이지에 접속할 수 있으며, 어플리케이션 또는 웹 페이지를 통해 동형 암호화된 데이터를 처리할 수 있다. 여기서, 동형 암호화된 데이터를 처리한다는 것은 데이터 분석을 위해 데이터를 필터링(filtering), 그루핑(grouping), 소팅(sorting)한 결과를 얻거나, 데이터 이용자 디바이스(300)에 저장된 데이터와 결합하고, 결합 결과를 데이터 이용자가 지정한 조건에 따라 전환시키는 것으로 이해될 수 있다.
데이터 이용자 디바이스(300)는 데이터 대여 요청 시, 데이터의 분석 과정(워크 플로우)을 미리 결정할 수 있다. 구체적으로, 분석 과정은 메타 데이터를 등록 후, 메타 인덱스를 이용하여 결합 인덱스를 결정하고, 동형 암호화 연산을 위한 파라미터를 생성하는 과정을 포함할 수 있다. 여기서, 동형 암호화 연산을 위한 파라미터란, 동형 암호화된 또 다른 데이터와의 연산을 위해 활용되는 파라미터이며, 예를 들어, 동형 암호화 연산을 위해 사용되는 함수의 차수(polynomial degree), 동형 암호화 연산을 위해 지정되는 스케일 비트(scale bit), 계수(coefficient) 등, 메타 데이터에 포함된 일부 데이터들이 동형 암호화 연산을 위한 파라미터가 될 수 있다.
데이터 이용자 디바이스(300)는 결합 인덱스 및 메타 데이터를 기초로 이용자 데이터를 동형 암호화 연산 가능한 형태로 변환하기 위한 파라미터를 생성할 수 있다.
이러한 분석 과정은 추후 데이터 제공자 디바이스(100)로 전달될 수 있으며, 데이터 제공자 디바이스(100)는 이와 같이 데이터 활용 방안이 지정된 데이터 이용자 디바이스(300)에 한해서만 데이터를 대여해 줄 수 있다.
데이터 이용자 디바이스(300)는 암호화된 데이터 간의 연산이 가능하도록, 이용자 데이터를 전처리하고, 전처리된 데이터를 동형 암호화 기법을 통해서 암호화할 수 있다. 이때, 동형 암호화를 위한 파라미터는 데이터 결합 인덱스에 따라 데이터 이용자 디바이스(300)가 생성한 파라미터이거나, 데이터 서버(200)로부터 수신된 파라미터일 수 있다.
데이터 이용자 디바이스(300)는 파라미터가 반영된 데이터 이용자의 암호화 키를 생성하여 동형 암호화할 수 있으며, 동일한 파라미터를 이용하여 동형 암호화된 데이터를 데이터 서버(200)로부터 전달받을 수 있다. 데이터 이용자 디바이스(300)는 이를 자신의 동형 암호화된 데이터와 결합하고, 결합 결과를 복호화할 수 있다.
클라우드 서버(400)는 데이터를 공유 가능한 형태로 저장할 수 있는 퍼블릭 클라우드 기반의 서버로서, 클라우드 서버(400)에는 데이터 서버(200)가 제공하는 동형 암호화된 데이터, 동형 암호화된 상태로 연산된 결과들이 저장될 수 있다.
다양한 실시예에서, 클라우드 서버(400)는 클라우드 데이터베이스에 저장되어 있는 동형 암호화된 데이터를 데이터 서버(200)로 제공할 수 있다.
지금까지 본 발명의 일 실시예에 따른 데이터 처리 시스템(1000)에 대하여 설명하였다. 데이터 처리 시스템(1000)에서 데이터 제공자와 데이터 이용자를 구분하였으나, 데이터 제공자가 데이터 이용자가 될 수 있고, 데이터 이용자 역시 데이터 제공자가 되어, 서로 간의 데이터를 대여하고, 분석할 수 있다.
이하에서는, 데이터 대여 요청에 따라 선택적으로 데이터를 제공해주는 데이터 제공자 디바이스(100)에 대하여 설명하도록 한다.
도 2는 본 발명의 일 실시예에 따른 데이터 제공자 디바이스의 구성을 나타낸 블록도이다.
도 2를 참조하면, 데이터 제공자 디바이스(100)는 메모리 인터페이스(110), 하나 이상의 프로세서(120) 및 주변 인터페이스(130)를 포함할 수 있다. 데이터 제공자 디바이스(100) 내의 다양한 컴포넌트들은 하나 이상의 통신 버스 또는 신호 라인에 의해 연결될 수 있다.
메모리 인터페이스(110)는 메모리(150)에 연결되어 프로세서(120)로 다양한 데이터를 전할 수 있다. 여기서, 메모리(150)는 플래시 메모리 타입, 하드디스크 타입, 멀티미디어 카드 마이크로 타입, 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램, SRAM, 롬, EEPROM, PROM, 네트워크 저장 스토리지, 클라우드, 블록체인 데이터베이스 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.
다양한 실시예에서, 메모리(150)는 운영 체제(151), 통신 모듈(152), 그래픽 사용자 인터페이스 모듈(GUI)(153), 센서 처리 모듈(154), 전화 모듈(155) 및 애플리케이션 모듈(156) 중 적어도 하나 이상을 저장할 수 있다. 구체적으로, 운영 체제(151)는 기본 시스템 서비스를 처리하기 위한 명령어 및 하드웨어 작업들을 수행하기 위한 명령어를 포함할 수 있다. 통신 모듈(152)은 다른 하나 이상의 디바이스, 컴퓨터 및 서버 중 적어도 하나와 통신할 수 있다. 그래픽 사용자 인터페이스 모듈(GUI)(153)은 그래픽 사용자 인터페이스를 처리할 수 있다. 센서 처리 모듈(154)은 센서 관련 기능(예를 들어, 하나 이상의 마이크(192)를 통해 수신된 음성 입력을 처리함)을 처리할 수 있다. 전화 모듈(155)은 전화 관련 기능을 처리할 수 있다. 애플리케이션 모듈(156)은 사용자 애플리케이션의 다양한 기능들, 예컨대 전자 메시징, 웹 브라우징, 미디어 처리, 탐색, 이미징, 기타 프로세스 기능을 수행할 수 있다. 아울러, 데이터 제공자 디바이스(100)는 메모리(150)에 어느 한 종류의 서비스와 연관된 하나 이상의 소프트웨어 애플리케이션(156-1, 156-2)(예. 데이터 대여 어플리케이션)을 저장할 수 있다.
다양한 실시예에서, 메모리(150)는 디지털 어시스턴트 클라이언트 모듈(157)(이하, DA 클라이언트 모듈)을 저장할 수 있으며, 그에 따라 디지털 어시스턴트의 클라이언트 측의 기능을 수행하기 위한 명령어 및 다양한 사용자 데이터(158)(예. 사용자 맞춤형 어휘 데이터, 선호도 데이터, 사용자의 전자 주소록 등과 같은 기타 데이터)를 저장할 수 있다.
한편, DA 클라이언트 모듈(157)은 데이터 제공자 디바이스(100)에 구비된 다양한 사용자 인터페이스(예. I/O 서브시스템(140))를 통해 사용자의 음성 입력, 텍스트 입력, 터치 입력 및/또는 제스처 입력을 획득할 수 있다.
또한, DA 클라이언트 모듈(157)은 시청각적, 촉각적 형태의 데이터를 출력할 수 있다. 예를 들어, DA 클라이언트 모듈(157)은 음성, 소리, 알림, 텍스트 메시지, 메뉴, 그래픽, 비디오, 애니메이션 및 진동 중 적어도 둘 하나 이상의 조합으로 이루어진 데이터를 출력할 수 있다. 아울러, DA 클라이언트 모듈(157)은 통신 서브시스템(180)을 이용하여 디지털 어시스턴트 서버(미도시)와 통신할 수 있다.
다양한 실시예에서, DA 클라이언트 모듈(157)은 사용자 입력과 연관된 상황(context)을 구성하기 위하여 다양한 센서, 서브시스템 및 주변 디바이스로부터 데이터 제공자 디바이스(100)의 주변 환경에 대한 추가 정보를 수집할 수 있다. 예를 들어, DA 클라이언트 모듈(157)은 사용자 입력과 함께 상황 정보를 디지털 어시스턴트 서버에 제공하여 사용자의 의도를 추론할 수 있다. 여기서, 사용자 입력에 동반될 수 있는 상황 정보는 센서 정보, 예를 들어, 광(lighting), 주변 소음, 주변 온도, 주변 환경의 이미지, 비디오 등을 포함할 수 있다. 다른 예를 들어, 상황 정보는 데이터 제공자 디바이스(100)의 물리적 상태(예. 디바이스 배향, 디바이스 위치, 디바이스 온도, 전력 레벨, 속도, 가속도, 모션 패턴, 셀룰러 신호 강도 등)을 포함할 수 있다. 또 다른 예를 들어, 상황 정보는 데이터 제공자 디바이스(100)의 소프트웨어 상태에 관련된 정보(예. 데이터 제공자 디바이스(100)에서 실행 중인 프로세스, 설치된 프로그램, 과거 및 현재 네트워크 활동성, 백그라운드 서비스, 오류 로그, 리소스 사용 등)를 포함할 수 있다.
다양한 실시예에서, 메모리(150)는 추가 또는 삭제된 명령어를 포함할 수 있으며, 나아가 데이터 제공자 디바이스(100)도 도 2에 도시된 구성 외에 추가 구성을 포함하거나, 일부 구성을 제외할 수도 있다.
프로세서(120)는 데이터 제공자 디바이스(100)의 전반적인 동작을 제어할 수 있으며, 메모리(150)에 저장된 어플리케이션 또는 프로그램을 구동하여 일정 관리용 인터페이스를 구현하기 위한 다양한 명령들을 수행할 수 있다.
프로세서(120)는 CPU(Central Processing Unit)나 AP(Application Processor)와 같은 연산 장치에 해당할 수 있다. 또한, 프로세서(120)는 NPU(Neural Processing Unit)과 같은 다양한 연산 장치가 통합된 SoC(System on Chip)와 같은 통합 칩(Integrated Chip (IC))의 형태로 구현될 수 있다.
다양한 실시예에서, 프로세서(120)는 데이터를 필요로 하는 데이터 이용자, 즉 데이터 분석가들에게 데이터를 대여해 줄 수 있으며, 이하 도 3을 참조하여 설명하도록 한다.
도 3은 본 발명의 일 실시예에 따른 데이터 제공자 디바이스의 데이터 처리 방법에 대한 순서도이다.
도 3을 참조하면, 프로세서(120)는 통신 서브 시스템(180)을 통해 데이터 처리 환경을 제공하는 데이터 서버(200)로부터 데이터 이용자의 결합 조건을 포함하는 데이터 결합 요청을 수신할 수 있다(S110). 여기서, 데이터 처리 환경을 제공한다는 것은 데이터 서버(200)에서 데이터 처리 가능한 어플리케이션을 배포하거나, 데이터 처리 가능한 웹 페이지를 제공하는 것으로 이해될 수 있다.
다양한 실시예에서, 데이터 결합 요청은 데이터 이용자 디바이스(300)에서 생성된 요청일 수 있으며, 이는 데이터 이용자 디바이스(300)를 통해 등록된 메타 데이터, 결합 인덱스 및 동형 암호화 연산을 위한 파라미터를 포함할 수 있다.
즉, 데이터 제공자 디바이스(100)의 프로세서(120)는 데이터 이용자가 자신의 데이터를 대여하여 어떠한 처리(분석)를 수행할 것인지 확인할 수 있으며, 그에 맞는 형태로 데이터를 전처리할 수 있다.
S110 단계 이후, 프로세서(120)는 데이터 결합 요청에 대응되는 데이터를 동형 암호화할 수 있다(S120). 프로세서(120)는 메모리(150) 또는 데이터 제공자 디바이스(100)와 연결된 데이터베이스에 저장된 데이터 중 데이터 결합 요청에 대응되는 데이터만을 동형 암호화할 수 있다.
다양한 실시예에서, 프로세서(120)는 데이터 서버(200)로부터 동형 암호화 연산을 위한 파라미터를 수신할 수 있다. 그에 따라, 프로세서(120)는 S110 단계에서 데이터 이용자 디바이스(300)로부터 전달받은 동형 암호화 연산을 위한 파라미터와 데이터 서버(200)로부터 수신된 동형 암호화 연산을 위한 파라미터를 이용하여 동형 암호화 키를 생성하고, 전처리된 데이터를 암호화할 수 있다.
아울러, 데이터 서버(200)로부터 수신된 파라미터는 데이터 이용자 디바이스(300)로 제공된 파라미터와 동일할 수 있으며, 그에 따라 동형 암호화된 데이터를 통해 연산된 암호화된 결과는 추후 데이터 이용자 디바이스(300)가 복호화할 수 있다.
S120 단계 이후, 프로세서(120)는 통신 서브 시스템(180)을 통해 동형 암호화된 데이터를 데이터 서버(200)로 송신할 수 있다. 예를 들어, 프로세서(120)는 동형 암호화된 데이터를 데이터 처리 가능한 웹 페이지 또는 어플리케이션에 등록할 수 있다.
한편, 데이터 서버(200)로 송신되는 데이터는 사용자의 개인정보가 포함된 데이터일 수 있으며, 본 발명에서의 데이터 서버(200)는 사용자의 개인정보가 포함된, 동형 암호화된 데이터를 클라우드 서버(400)에 저장할 수 있다.
다시 도 2를 참조하면, 주변 인터페이스(130)는 다양한 센서, 서브 시스템 및 주변 디바이스와 연결되어, 데이터 제공자 디바이스(100)가 다양한 기능을 수행할 수 있도록 데이터를 제공해 줄 수 있다. 여기서, 데이터 제공자 디바이스(100)가 어떠한 기능을 수행한다는 것은 프로세서(120)에 의해 수행되는 것으로 이해될 수 있다.
주변 인터페이스(130)는 모션 센서(160), 조명 센서(광 센서)(161) 및 근접 센서(162)로부터 데이터를 제공받을 수 있으며, 이를 통해, 데이터 제공자 디바이스(100)는 배향, 광, 및 근접 감지 기능 등을 수행할 수 있다. 다른 예를 들어, 주변 인터페이스(130)는 기타 센서들(163)(포지셔닝 시스템-GPS 수신기, 온도 센서, 생체인식 센서)로부터 데이터를 제공받을 수 있으며, 이를 통해 데이터 제공자 디바이스(100)가 기타 센서들(163)과 관련된 기능들을 수행할 수 있다.
다양한 실시예에서, 데이터 제공자 디바이스(100)는 주변 인터페이스(130)와 연결된 카메라 서브시스템(170) 및 이와 연결된 광학 센서(171)를 포함할 수 있으며, 이를 통해 데이터 제공자 디바이스(100)는 사진 촬영 및 비디오 클립 녹화 등의 다양한 촬영 기능을 수행할 수 있다.
다양한 실시예에서, 데이터 제공자 디바이스(100)는 주변 인터페이스(130)와 연결된 통신 서브 시스템(180)을 포함할 수 있다. 통신 서브 시스템(180)은 하나 이상의 유/무선 네트워크로 구성되며, 다양한 통신 포트, 무선 주파수 송수신기, 광학 송수신기를 포함할 수 있다.
다양한 실시예에서, 데이터 제공자 디바이스(100)는 주변 인터페이스(130)와 연결된 오디오 서브 시스템(190)을 포함하며, 이러한 오디오 서브 시스템(190)은 하나 이상의 스피커(191) 및 하나 이상의 마이크(192)를 포함함으로써, 데이터 제공자 디바이스(100)는 음성 작동형 기능, 예컨대 음성 인식, 음성 복제, 디지털 녹음, 및 전화 기능 등을 수행할 수 있다.
다양한 실시예에서, 데이터 제공자 디바이스(100)는 주변 인터페이스(130)와 연결된 I/O 서브시스템(140)을 포함할 수 있다. 예를 들어, I/O 서브시스템(140)은 터치 스크린 제어기(141)를 통해 데이터 제공자 디바이스(100)에 포함된 터치 스크린(143)을 제어할 수 있다.
예를 들어, 터치 스크린 제어기(141)는 정전용량형, 저항형, 적외형, 표면 탄성파 기술, 근접 센서 어레이 등과 같은 복수의 터치 감지 기술 중 어느 하나의 기술을 사용하여 사용자의 접촉 및 움직임 또는 접촉 및 움직임의 중단을 검출할 수 있다. 다른 예를 들어, I/O 서브시스템(140)은 기타 입력 제어기(들)(142)를 통해 데이터 제공자 디바이스(100)에 포함된 기타 입력/제어 디바이스(144)를 제어할 수 있다. 일 예로서, 기타 입력 제어기(들)(142)은 하나 이상의 버튼, 로커 스위치(rocker switches), 썸 휠(thumb-wheel), 적외선 포트, USB 포트 및 스타일러스 등과 같은 포인터 디바이스를 제어할 수 있다.
지금까지 본 발명의 일 실시예에 따른 데이터 제공자 디바이스(100)에 대하여 설명하였다. 본 발명에 따르면, 데이터 제공자 디바이스(100)는 자신이 가지고 있는 데이터를 다른 사용자들이 사용하기 위해, 데이터 원본 자체를 데이터 서버(200) 또는 클라우드 서버(400)에 등록하는 것이 아니라, 데이터 이용 요청 시, 자신의 디바이스에서 직접 동형 암호화한 일부의 데이터만을 제공할 수 있다.
이하에서는 데이터 제공자와 데이터 이용자를 중개하고, 데이터 처리 공간을 마련할 수 있는 데이터 서버(200)에 대하여 설명하도록 한다.
도 4는 본 발명의 일 실시예에 따른 데이터 처리를 중개하는 데이터 서버의 구성을 나타낸 블록도이다.
도 4를 참조하면, 데이터 서버(200)는 통신 인터페이스(210), 메모리(220), I/O 인터페이스(230) 및 프로세서(240)를 포함할 수 있으며, 각 구성은 하나 이상의 통신 버스 또는 신호 라인을 통해 서로 통신할 수 있다.
통신 인터페이스(210)는 유/무선 통신 네트워크를 통해 복수의 데이터 제공자 디바이스(100)와 연결되어 데이터를 주고받을 수 있다. 예를 들어, 통신 인터페이스(210)는 데이터 제공자 디바이스(100)로 데이터 결합 요청, 동형 암호화를 위한 파라미터, 복호화된 결합 결과 등을 송신할 수 있으며, 데이터 제공자 디바이스(100)로부터 동형 암호화된 외부 데이터를 수신할 수 있다. 여기서, 외부 데이터란 데이터 제공자 디바이스(100)에 저장되어 있는 데이터를 의미할 수 있다.
다른 예를 들어, 통신 인터페이스(210)는 데이터 이용자 디바이스(300)로부터 데이터 결합 요청, 동형 암호화된 이용자 데이터, 복호화된 결합 결과 등을 수신할 수 있으며, 데이터 이용자 디바이스(300)로 대여 가능한 외부 데이터 목록, 동형 암호화 연산을 위한 파라미터, 동형 암호화된 외부 데이터를 송신할 수 있다.
한편, 이러한 데이터의 송수신을 가능하게 하는 통신 인터페이스(210)는 통신 포드(211) 및 무선 회로(212)를 포함하며, 여기 유선 통신 포트(211)는 하나 이상의 유선 인터페이스, 예를 들어, 이더넷, 범용 직렬 버스(USB), 파이어와이어 등을 포함할 수 있다. 또한, 무선 회로(212)는 RF 신호 또는 광학 신호를 통해 외부 디바이스와 데이터를 송수신할 수 있다. 아울러, 무선 통신은 복수의 통신 표준, 프로토콜 및 기술, 예컨대 GSM, EDGE, CDMA, TDMA, 블루투스, Wi-Fi, VoIP, Wi-MAX, 또는 임의의 기타 적합한 통신 프로토콜 중 적어도 하나를 사용할 수 있다.
메모리(220)는 데이터 서버(200)에서 사용되는 다양한 데이터를 저장할 수 있다. 예를 들어, 메모리(220)는 데이터 제공자 디바이스(100), 데이터 이용자 디바이스(300) 식별 정보를 저장할 수 있으며, 데이터의 동형 암호화를 위한 파라미터를 저장할 수 있다.
다양한 실시예에서, 메모리(220)는 각종 데이터, 명령 및 정보를 저장할 수 있는 휘발성 또는 비휘발성 기록 매체를 포함할 수 있다. 예를 들어, 메모리(220)는 플래시 메모리 타입, 하드디스크 타입, 멀티미디어 카드 마이크로 타입, 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램, SRAM, 롬, EEPROM, PROM, 네트워크 저장 스토리지, 클라우드, 블록체인 데이터베이스 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.
다양한 실시예에서, 메모리(220)는 운영 체제(221), 통신 모듈(222), 사용자 인터페이스 모듈(223) 및 하나 이상의 애플리케이션(224) 중 적어도 하나의 구성을 저장할 수 있다.
운영 체제(221)(예. LINUX, UNIX, MAC OS, WINDOWS, VxWorks 등의 내장형 운영 체제)는 일반적인 시스템 작업(예. 메모리 관리, 저장 디바이스 제어, 전력 관리 등)를 제어하고 관리하기 위한 다양한 소프트웨어 컴포넌트 및 드라이버를 포함할 수 있으며, 다양한 하드웨어, 펌웨어, 및 소프트웨어 컴포넌트 간의 통신을 지원할 수 있다.
통신 모듈(223)은 통신 인터페이스(210)를 통해 다른 디바이스와 통신을 지원할 수 있다. 통신 모듈(220)은 통신 인터페이스(210)의 유선 통신 포트(211) 또는 무선 회로(212)에 의해 수신되는 데이터를 처리하기 위한 다양한 소프트웨어 구성 요소들을 포함할 수 있다.
사용자 인터페이스 모듈(223)은 I/O 인터페이스(230)를 통해 키보드, 터치 스크린, 마이크 등으로부터 사용자의 요청 또는 입력을 수신하고, 디스플레이 상에 사용자 인터페이스를 제공할 수 있다.
애플리케이션(224)은 하나 이상의 프로세서(230)에 의해 실행되도록 구성되는 프로그램 또는 모듈을 포함할 수 있다. 여기서, 데이터 처리를 중개하기 위한 어플리케이션은 서버 팜(server farm) 상에서 구현될 수 있다.
I/O 인터페이스(230)는 데이터 서버(200)의 입출력 디바이스(미도시), 예컨대 디스플레이, 키보드, 터치 스크린 및 마이크 중 적어도 하나를 사용자 인터페이스 모듈(223)과 연결할 수 있다. I/O 인터페이스(230)는 사용자 인터페이스 모듈(223)과 함께 사용자 입력(예. 음성 입력, 키보드 입력, 터치 입력 등)을 수신하고, 수신된 입력에 따른 명령을 처리할 수 있다.
프로세서(240)는 통신 인터페이스(210), 메모리(220) 및 I/O 인터페이스(230)와 연결되어 데이터 서버(200)의 전반적인 동작을 제어할 수 있으며, 메모리(220)에 저장된 애플리케이션 또는 프로그램을 통해 동형 암호화된 데이터가 처리되기 위한 다양한 명령들을 수행할 수 있다.
프로세서(240)는 CPU(Central Processing Unit)나 AP(Application Processor)와 같은 연산 장치에 해당할 수 있다. 또한, 프로세서(240)는 다양한 연산 장치가 통합된 SoC(System on Chip)와 같은 통합 칩(Integrated Chip (IC))의 형태로 구현될 수 있다. 또는 프로세서(240)는 NPU(Neural Processing Unit)과 같이 인공 신경망 모델을 계산하기 위한 모듈을 포함할 수 있다.
다양한 실시예에서, 프로세서(240)는 데이터 이용자와 데이터 제공자 간에 민감정보를 포함한 데이터가 오고 갈 수 있도록 중개할 수 있으며, 이하 도 5를 참조하여 설명하도록 한다.
도 5는 본 발명의 일 실시예에 따른 데이터 처리 중개 방법에 대한 순서도이다.
도 5를 참조하면, 프로세서(240)는 데이터 제공자 디바이스(100)를 통해 데이터 처리 가능한 외부 데이터를 획득할 수 있다(S210). 구체적으로, 프로세서(240)는 복수의 데이터 제공자 디바이스(100)로부터 데이터 처리(예. 대여를 통한 분석)가 가능한 데이터들의 정보를 획득할 수 있다. 예를 들어, 프로세서(240)는 외부 데이터의 메타 데이터, 외부 데이터의 제목, 개략적인 설명, 데이터 필드를 구성하는 항목들의 설명 등의 부가 설명을 획득할 수 있다.
S210 단계 이후, 프로세서(240)는 통신 인터페이스(210)를 통해 데이터 이용자 디바이스(300)로부터 결합 조건을 포함하는 데이터 결합 요청을 수신할 수 있다(S220). 여기서, 데이터 결합 요청에는 데이터 이용자가 설계한 분석 과정(워크 플로우)이 포함될 수 있다. 구체적으로, 분석 과정에는 두 개의 데이터를 어떻게 결합하고, 결합 결과를 이용하여 어떠한 데이터 처리(예. 필터링, 그룹화)를 수행 것인지에 대한 설명이 포함될 수 있다. 예를 들어, 데이터 결합 요청은 데이터 이용자의 메타 데이터, 결합 인덱스 및 동형 암호화 연산을 위한 파라미터가 포함될 수 있다.
다양한 실시예에서, 프로세서(240)는 데이터 결합 요청에 포함된 분석 과정의 유효성을 판단하고, 분석 과정이 유효한 경우에 한하여, 데이터 이용자 디바이스(300)로 사용자의 개인정보가 포함된 제3자의 데이터를 대여해 줄 수 있다. 만약, 분석 과정이 유효하지 않은 경우, 프로세서(240)는 통신 인터페이스(210)를 통해 데이터 이용자 디바이스(300)로 분석 과정(워크 플로우) 재설계 알림을 송신할 수 있다.
S220 단계 이후, 프로세서(240)는 외부 데이터 중 결합 조건에 따라 결합 가능한 외부 데이터 목록을 결정할 수 있다(S230). 예를 들어, 프로세서(240)는 데이터 이용자의 메타 데이터 또는 결합 인덱스를 기초로 결합 가능한 외부 데이터를 결정할 수 있으며, 외부 데이터 제공자명, 외부 데이터 제목, 외부 데이터의 개략적인 설명을 포함하는 외부 데이터 목록을 생성할 수 있다.
아울러, 프로세서(240)는 통신 인터페이스(210)를 통해 결정된 외부 데이터 목록을 데이터 이용자 디바이스(300)로 송신할 수 있다.
S230 단계 이후, 프로세서(240)는 데이터 이용자 디바이스(300)를 통해 선택되어 결합을 진행할 외부 데이터를 제공하는 데이터 제공자 디바이스(100)로 데이터 결합 요청을 전달할 수 있다(S240). 구체적으로, 프로세서(240)는 결합 조건과 함께 데이터 이용자의 메타 데이터, 결합 인덱스 및 동형 암호화 연산을 위한 파라미터를 전달할 수 있다. 여기서, 동형 암호화 연산을 위한 파라미터는 데이터 이용자 디바이스(300)에서 결합 인덱스를 기반으로 데이터 이용자 디바이스(300)에서 추출된 파라미터일 수 있다.
다양한 실시예에서, 프로세서(240)는 통신 인터페이스(210)를 통해 데이터 이용자 디바이스(300) 및 데이터 제공자 디바이스(100)로 동일한 동형 암호화 연산을 위한 파라미터를 송신할 수 있다. 즉, 프로세서(240)는 동형 암호화된 외부 데이터와 동형 암호화된 이용자 데이터가 암호화된 상태로 연산된 후, 데이터 이용자 디바이스(300)에 의해 복호화될 수 있도록 동일한 암호화 파라미터를 송신할 수 있다.
S240 단계 이후, 프로세서(240)는 통신 인터페이스(210)를 통해 데이터 제공자 디바이스(100)로부터 동형 암호화된 외부 데이터를 수신하고, 동형 암호화된 외부 데이터를 데이터 이용자 디바이스(300)로 송신할 수 있다(S250). 여기서, 동형 암호화된 각각의 데이터는 사용자의 개인정보가 포함된 데이터일 수 있으며, 각각의 데이터는 데이터 서버(200) 및 데이터 이용자 디바이스(300)에서 생성된 파라미터가 반영된 동형 암호화 키를 이용하여 동형 암호화된 바, 연산 및 복호화가 가능할 수 있다.
S250 단계 이후, 프로세서(240)는 통신 인터페이스(210)를 통해 데이터 이용자 디바이스(300)로부터 결합 조건에 대응되는 데이터의 복호화된 결합 결과를 수신할 수 있다(S260). 프로세서(240)는 동형 암호화된 외부 데이터, 이용자 데이터의 복호화된 결과가 아닌, 결합 조건에 따라 처리된 데이터의 복호화 결과를 획득할 수 있으며, 이를 데이터 제공자 디바이스(100)로 전달할 수 있다.
지금까지 본 발명의 일 실시예에 따른 데이터 서버(200)에 대하여 설명하였다. 본 발명에 따르면, 사용자의 개인정보가 포함된 데이터들이 각자의 안전한 디바이스 내에 저장된 상태로 동형 암호화, 결합 및 복호화되고, 데이터 서버(200)는 이러한 결과만을 전달해 줄 수 있으며, 그에 따라 민감 정보 중개에 따른 위험 부담을 최소화할 수 있다.
이하에서는 데이터 분석을 위해 개인정보를 포함하는 사용자 데이터를 필요로 하는 데이터 이용자 디바이스(300)에 대하여 설명하도록 한다.
도 6은 본 발명의 일 실시예에 따른 데이터 이용자 디바이스의 구성을 나타낸 블록도이다.
도 6을 참조하면, 데이터 이용자 디바이스(300)는 메모리 인터페이스(310), 하나 이상의 프로세서(320) 및 주변 인터페이스(330)를 포함할 수 있다.
앞서 설명한 바와 같이, 사용자 개인정보를 포함하는 데이터를 제공할 수 있다면, 데이터 이용자는 데이터 제공자가 될 수 있으며, 그에 따라, 데이터 이용자 디바이스(300)는 데이터 제공자 디바이스(100)와 동일한 구성으로 이루어질 수 있다.
도 6에서 도 2와 중복되는 구성에 대한 설명은 생략하도록 하며, 도 7을 참조하여 프로세서(320)에 의해 수행되는 동형 암호를 이용한 데이터 처리 방법에 대하여 설명하도록 한다.
도 7은 본 발명의 일 실시예에 따른 데이터 이용자 디바이스의 데이터 처리 방법에 대한 순서도이고, 도 8 내지 도 10은 본 발명의 일 실시예에 따른 데이터를 처리할 수 있는 데이터 이용자 인터페이스 화면을 설명하기 위한 개략도이다.
도 7을 참조하면, 프로세서(320)는 통신 서브 시스템(380)을 통해 데이터 서버(200)로 이용자 데이터에 대한 데이터 결합 요청을 송신할 수 있다(S310). 구체적으로, 프로세서(320)는 터치 스크린(341) 또는 기타 입력/제어 디바이스(344)를 통해 데이터 이용자가 생성(설계)한 분석 과정(워크 플로우)를 획득할 수 있으며, 이용자 데이터의 메타 데이터를 등록할 수 있다. 여기서, 프로세서(240)는 데이터 처리(대여, 결합 및 분석)가 가능한 웹 페이지 또는 어플리케이션에 메타 데이터를 업로드함으로써, 메타 데이터를 등록할 수 있다.
분석 과정이 유효하고, 메타 데이터가 등록된 경우, 프로세서(320)는 통신 서브 시스템(380)을 통해 데이터 서버(200)로부터 데이터 결합 요청에 따라, 결합 가능한 외부 데이터 목록을 수신할 수 있다(S320). 여기서, 외부 데이터는 사용자의 개인정보를 포함할 수 있으며, 예를 들어, 개인 정보는 사용자의 이름, 주민등록번호, 개인통관번호, 운전면허번호, 사용자의 통화 기록, 위치(위도, 경도) 정보, 은행 거래 정보, 토지, 부동산 정보 등을 포함할 수 있다.
관련하여, 도 8을 참조하면, 데이터 이용자 디바이스(300)에는 분석 과정(워크 플로우)에 따라 데이터 제공자의 외부 데이터(3rd party 데이터)와 이용자 데이터(로컬 데이터)를 선택할 수 있는 항목(11)이 제공될 수 있다. 아울러, 데이터 이용자 디바이스(300)에는 외부 데이터와 이용자 데이터를 이용하여, 데이터 이용자가 사용 가능한 데이터 처리 목록(12)이 제공될 수 있으며, 앞선 데이터 결합 요청에 따라, 결합 가능한 외부 데이터 목록(13)이 나열될 수 있다. 예를 들어, 외부 데이터 목록에는 외부 데이터 제공자명, 외부 데이터 제목, 외부 데이터의 개략적인 설명이 포함될 수 있다.
S320 단계 이후, 프로세서(320)는 외부 데이터 목록 중 어느 하나의 외부 데이터와의 결합 조건을 결정할 수 있다(S330). 구체적으로, 프로세서(320)는 이용자 데이터의 메타 데이터를 이용하여 결합 인덱스를 결정할 수 있으며, 결합 인덱스 및 메타 데이터를 기초로 이용자 데이터를 동헝 암호화 연산 가능한 형태로 변환하기 위한 파라미터를 생성할 수 있다. 예를 들어, 프로세서(320)는 메타 데이터에서 동형 암호화 연산을 위해 필요한 함수의 차수(polynomial degree), 동형 암호화 연산을 위해 지정되는 스케일 비트(scale bit), 계수(coefficient)를 동형 암호화 연산을 위한 파라미터로 추출할 수 있다.
아울러, 결합 조건에는 데이터 이용자가 선택한 데이터 필드 선택 정보가 포함될 수 있으며, 프로세서(320)는 결합 조건에 맞게 데이터를 전처리할 수 있다.
프로세서(320)는 통신 서브 시스템(380)을 통해 결합 조건을 데이터 서버(200)로 송신할 수 있으며, 결합 인덱스 및 파라미터를 포함하는 결합 조건은 데이터 서버(200)를 통해 외부 데이터를 제공하는 데이터 제공자 디바이스(100)로 전달될 수 있다.
S330 단계 이후, 프로세서(320)는 데이터 서버(200)로부터 동형 암호화된 외부 데이터를 수신하고, 이용자 데이터를 동형 암호화할 수 있다(S340). 이때, 프로세서(320)는 자신이 생성한 동형 암호화 파라미터 외에, 데이터 서버(200)로부터 동형 암호화 연산을 위한 파라미터를 추가로 수신할 수 있으며, 그에 따라, 두 개의 파라미터가 반영된 암호화 키를 생성하고, 전처리된 이용자 데이터를 동형 암호화할 수 있다.
데이터 서버(200)로부터 수신된 동형 암호화된 외부 데이터는 데이터 제공자 디바이스(100)에 의해 동형 암호화된 데이터이며, 프로세서(320)가 생성한 동형 암호화 키는 데이터 서버(200) 및 데이터 이용자 디바이스(300)에 의해 생성된 파라미터가 반영될 수 있다.
S340 단계 이후, 프로세서(320)는 동형 암호화된 이용자 데이터와 동형 암호화된 외부 데이터를 결합 조건을 이용하여 결합할 수 있다(S350).
관련하여, 도 9 및 도 10을 참조하면, 데이터 이용자 디바이스(300)에는 동형 암호화된 이용자 데이터를 등록할 수 있는 아이콘(14)이 제공될 수 있으며, 동형 암호화된 이용자 데이터와 동형 암호화된 외부 데이터가 결합된 상태에서 데이터 이용자가 이용 가능한 분석 항목(15)이 나열될 수 있다. 해당 분석 항목(15)에서 데이터 이용자가 “필터”를 선택할 경우, 데이터 이용자 디바이스(300)에는 두 개의 동형 암호화된 데이터가 결합되고, 필터링되는 시퀀스가 시각적인 아이콘 형태(16)로 표시될 수 있다.
S350 단계 이후, 프로세서(320)는 결합 조건에 해당하는 결합 결과만을 복호화하고, 복호화된 결합 결과를 데이터 서버(200)로 송신할 수 있다(S360). 외부 데이터와 이용자 데이터가 동일한 파라미터가 반영된 암호화 키를 이용하여 데이터를 암호화한 바, 데이터 이용자 디바이스(300)는 결합 결과를 자신의 키를 이용하여 복호화할 수 있다.
즉, 데이터 이용자 디바이스(300)는 외부 데이터, 이용자 데이터의 원본과 그에 따른 결합 결과를 출력하는 것이 아니라, 결합된 결과만을 확인하기 때문에 사용자의 개인정보 일체가 노출되지 않을 수 있다.
다양한 실시예에서, 데이터 이용자 디바이스(300)는 이용자 데이터 없이 외부 데이터만을 처리/분석할 수도 있으며, 이러한 경우, 데이터 제공자 디바이스(100)에서 미리 동형 암호화된 외부 데이터를 활용할 수 있다.
지금까지 본 발명의 일 실시예에 따른 데이터 이용자 디바이스(300)에 대하여 설명하였다. 본 발명에 따르면, 데이터 이용자 디바이스(300)는 사용자 개인정보가 포함된 외부 데이터를 구매하지 않고도, 원하는 분석 과정에 맞게 선택적으로 이용할 수 있다.
이하에서는 데이터 제공자 디바이스(100), 데이터 서버(200) 및 데이터 이용자 디바이스(300)를 포함하는 3자 간의 동형 암호화된 데이터 처리 방법을 개략적으로 설명하도록 한다.
도 11은 본 발명의 일 실시예에 따른 데이터 처리 방법에 대한 개략적인 순서도이다.
도 11을 참조하면, 데이터 제공자 디바이스(100)에 의해 처리 가능한 외부 데이터 정보가 등록된 상태에서, 데이터 이용자 디바이스(300)를 통한 데이터 대여 요청이 가능할 수 있다.
데이터 이용자 디바이스(300)는 데이터 서버(200)로 데이터 처리(분석)을 위한 데이터 대여 요청을 송신할 수 있으며(S1), 이에 대한 응답으로 데이터 처리(분석/결합) 가능한 외부 데이터 목록을 수신할 수 있다(S2).
데이터 이용자 디바이스(300)는 결합 인덱스 및 동형 암호화를 위한 파라미터를 생성하고(S3), 이를 포함하는 결합 조건을 데이터 서버(200)로 송신할 수 있다. 데이터 서버(200)는 데이터 이용자 디바이스(300)로부터 수신한 일체의 정보를 데이터 제공자 디바이스(100)로 전달함으로써, 데이터 결합 요청을 송신할 수 있다(S5).
아울러, 데이터 서버(200)는 동형 암호화 연산을 위한 동일한 파라미터를 데이터 제공자 디바이스(100) 및 데이터 이용자 디바이스(300)로 제공할 수 있으며(S6), 각자의 디바이스에서 전처리된 외부 데이터 및 이용자 데이터는, 동형 암호화된 상태로 데이터 서버(200)에 전달될 수 있다(S7)(S8). 다만, 여기서, 데이터 대여를 요청한 데이터 이용자 디바이스(300)는 동형 암호화된 이용자 데이터를 데이터 서버(200)에 송신하지 않을 수도 있다.
데이터 이용자 디바이스(300)는 데이터 서버(200)로부터 동형 암호화된 외부 데이터를 전달받아(S9), 결합 조건에 따라 동형 암호화된 데이터를 결합한 뒤(S10), 이를 복호화할 수 있다(S11). 실시예에 따라, 데이터 이용자 디바이스(300)는 복호화된 결합 결과를 데이터 서버(200)로 송신할 수 있으며(S12), 데이터 서버(200)는 클라우드 서버(400)에 등록할 수 있다(S13).
이상 첨부된 도면을 참조하여 본 발명의 일 실시예들을 더욱 상세하게 설명하였으나, 본 발명은 반드시 이러한 실시예로 국한되는 것은 아니고, 본 발명의 기술사상을 벗어나지 않는 범위 내에서 다양하게 변형 실시될 수 있다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
1000: 데이터 처리 시스템
100: 데이터 제공자 디바이스 300: 데이터 이용자 디바이스
110, 310: 메모리 인터페이스 120, 320: 프로세서
130, 330: 주변 인터페이스 140, 340: I/O 서브 시스템
141, 341: 터치 스크린 제어기 142, 342: 기타 입력 제어기
143, 343: 터치 스크린
144, 344: 기타 입력 제어 디바이스
150, 350: 메모리 151, 351: 운영 체제
152, 352: 통신 모듈 153, 353: GUI 모듈
154, 354: 센서 처리 모듈 155, 355: 전화 모듈
156, 356: 애플리케이션들
156-1, 156-2, 356-1, 356-2: 애플리케이션
157, 357: 디지털 어시스턴트 클라이언트 모듈
158, 358: 사용자 데이터
160, 360: 모션 센서 161, 361: 조명 센서
162, 362: 근접 센서 163. 363: 기타 센서
170, 370: 카메라 서브 시스템 171, 371: 광학 센서
180, 380: 통신 서브 시스템
190, 390: 오디오 서브 시스템
191, 391: 스피커 192, 392: 마이크
200: 데이터 서버
210: 통신 인터페이스
211: 유선 통신 포트 212: 무선 회로
220: 메모리
221: 운영 체제 222: 통신 모듈
223: 사용자 인터페이스 모듈 224: 애플리케이션
230: I/O 인터페이스 240: 프로세서
400: 클라우드 서버

Claims (15)

  1. 데이터 이용자 디바이스의 프로세서에 의해 수행되는 동형 암호를 이용한 데이터 처리 방법으로서,
    데이터 서버로 데이터 이용자 데이터에 대한 데이터 결합 요청을 송신하는 단계;
    상기 데이터 결합 요청에 따라, 상기 데이터 서버로부터 결합 가능한 외부 데이터 목록을 수신하는 단계;
    상기 외부 데이터 목록 중 어느 하나의 외부 데이터와의 결합 조건을 결정하는 단계;
    상기 데이터 서버로부터 암호화된 외부 데이터를 수신하고, 상기 이용자 데이터를 동형 암호화하는 단계;
    상기 암호화된 이용자 데이터와 상기 암호화된 외부 데이터를 상기 결합 조건을 이용하여 결합하는 단계; 및
    상기 결합 조건에 해당하는 결합 결과만을 복호화하고, 복호화된 결합 결과를 상기 데이터 서버로 송신하는 단계; 를 포함하는, 데이터 처리 방법.
  2. 제1항에 있어서,
    상기 결합 조건을 결정하는 단계는,
    상기 이용자 데이터의 메타 데이터를 이용하여 결합 인덱스를 결정하는 단계, 와
    상기 결합 인덱스 및 상기 메타 데이터를 기초로 상기 이용자 데이터를 동형 암호화 연산 가능한 형태로 변환하기 위한 파라미터를 생성하는 단계, 를 더 포함하는 데이터 처리 방법.
  3. 제2항에 있어서,
    상기 결합 인덱스 및 상기 파라미터는,
    상기 외부 데이터를 제공하는 데이터 제공자 디바이스로 전달되며,
    상기 암호화된 외부 데이터는,
    상기 데이터 제공자 디바이스에 의해 상기 결합 인덱스 및 상기 파라미터를 이용하여 암호화된 데이터인, 데이터 처리 방법.
  4. 제1항에 있어서,
    상기 암호화하는 단계는,
    상기 데이터 서버로부터 동형 암호화 연산을 위한 파라미터를 수신하는 단계, 를 더 포함하는 데이터 처리 방법.
  5. 제1항에 있어서,
    상기 외부 데이터는,
    사용자의 개인정보가 포함된 데이터인, 데이터 처리 방법.
  6. 데이터 제공자 디바이스의 프로세서에 의해 수행되는 동형 암호를 이용한 데이터 처리 방법으로서,
    데이터 서버로부터 데이터 이용자의 결합 조건, 데이터 이용자 디바이스를 통해 등록된 메타 데이터, 결합 인덱스 및 암호화 파라미터를 포함하는 데이터 결합 요청을 수신하는 단계;
    상기 데이터 결합 요청에 대응되는 데이터를 동형 암호화하는 단계; 및
    상기 암호화된 데이터를 상기 데이터 서버로 송신하는 단계; 를 포함하는 데이터 처리 방법.
  7. 삭제
  8. 제6항에있어서,
    상기 암호화하는 단계는,
    상기 데이터 서버로부터 동형 암호화 연산을 위한 파라미터를 수신하는 단계, 를 더 포함하는 데이터 처리 방법.
  9. 제8항에 있어서,
    상기 파라미터는,
    상기 데이터 결합 요청에 대응되는 데이터 이용자 디바이스로 제공된 파라미터와 동일한 파라미터인, 데이터 처리 방법.
  10. 제6항에 있어서,
    상기 암호화된 데이터는,
    사용자의 개인정보가 포함된 데이터인, 데이터 처리 방법.
  11. 데이터 서버의 프로세서에 의해 수행되는 동형 암호를 이용한 데이터 처리 중개 방법으로서,
    데이터 제공자 디바이스를 통해 데이터 처리 가능한 외부 데이터를 획득하는 단계;
    데이터 이용자 디바이스로부터 결합 조건을 포함하는 데이터 결합 요청을 수신하는 단계;
    상기 외부 데이터 중 상기 결합 조건에 따라 결합 가능한 외부 데이터 목록을 결정하는 단계;
    결합될 외부 데이터를 제공하는 데이터 제공자 디바이스로 상기 데이터 결합 요청을 전달하는 단계;
    상기 데이터 제공자 디바이스로부터 동형 암호화된 외부 데이터를 수신하고, 상기 동형 암호화된 외부 데이터를 상기 데이터 이용자 디바이스로 송신하는 단계; 및
    상기 데이터 이용자 디바이스로부터 상기 결합 조건에 대응되는 데이터의 복호화된 결합 결과를 수신하는 단계; 를 포함하는 데이터 처리 중개 방법.
  12. 제11항에 있어서,
    상기 데이터 결합 요청을 전달하는 단계 이후에,
    상기 데이터 이용자 디바이스 및 상기 데이터 제공자 디바이스로 동형 암호화 연산을 위한 동일한 파라미터를 송신하는 단계, 를 더 포함하는 데이터 처리 중개 방법.
  13. 제12항에 있어서,
    상기 데이터 결합 요청을 전달하는 단계는,
    상기 결합 조건과 함께 데이터 이용자의 메타 데이터, 결합 인덱스 및 파라미터를 전달하는 단계인, 데이터 처리 중개 방법.
  14. 제11항에 있어서,
    상기 복호화된 결합 결과를 수신하는 단계는,
    상기 데이터 제공자 디바이스로 상기 복호화된 결합 결과를 전달하는 단계, 를 더 포함하는 데이터 처리 중개 방법.
  15. 제11항에 있어서,
    상기 동형 암호화된 데이터는,
    사용자의 개인정보가 포함된 데이터인, 데이터 처리 중개 방법.
KR1020210192462A 2021-12-30 2021-12-30 동형 암호화된 데이터 처리 방법 및 시스템 KR102401485B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020210192462A KR102401485B1 (ko) 2021-12-30 2021-12-30 동형 암호화된 데이터 처리 방법 및 시스템
PCT/KR2022/019463 WO2023128340A1 (ko) 2021-12-30 2022-12-02 동형 암호화된 데이터 처리 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210192462A KR102401485B1 (ko) 2021-12-30 2021-12-30 동형 암호화된 데이터 처리 방법 및 시스템

Publications (1)

Publication Number Publication Date
KR102401485B1 true KR102401485B1 (ko) 2022-05-24

Family

ID=81806658

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210192462A KR102401485B1 (ko) 2021-12-30 2021-12-30 동형 암호화된 데이터 처리 방법 및 시스템

Country Status (2)

Country Link
KR (1) KR102401485B1 (ko)
WO (1) WO2023128340A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023128340A1 (ko) * 2021-12-30 2023-07-06 주식회사 디사일로 동형 암호화된 데이터 처리 방법 및 시스템

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130056314A (ko) * 2010-12-08 2013-05-29 가부시키가이샤 히타치세이사쿠쇼 검색 가능 암호 처리 시스템
KR101622703B1 (ko) * 2015-09-25 2016-05-23 거창군 행정편의 기능이 포함된 부동산 평가 시스템
KR20180024390A (ko) * 2016-08-30 2018-03-08 숭실대학교산학협력단 환자 정보 전달 시스템 및 방법
KR20180136267A (ko) * 2017-06-14 2018-12-24 한국스마트인증 주식회사 동형 암호화를 이용한 개인 정보 보호 방법
KR20190134935A (ko) * 2018-05-18 2019-12-05 변상구 클라우드 환경에서 안전한 개인 자료 파일 보호 시스템
KR20210064675A (ko) * 2019-11-26 2021-06-03 주식회사 더블체인 블록체인 기반 데이터 거래 및 보관을 위한 보안 시스템 및 그 방법
KR20210104655A (ko) * 2020-02-14 2021-08-25 구글 엘엘씨 다수 당사자 도달 및 빈도 추정 보안화

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
MX2019008738A (es) * 2018-12-21 2019-09-09 Alibaba Group Holding Ltd Proteccion de datos de cadenas de bloques basada en modelo de cuenta generica y cifrado homomorfico.
KR102303253B1 (ko) * 2021-03-15 2021-09-17 주식회사 에프원시큐리티 블록체인 플랫폼 사용주체의 분산식별자 관리 시스템
KR102401485B1 (ko) * 2021-12-30 2022-05-24 주식회사 디사일로 동형 암호화된 데이터 처리 방법 및 시스템

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130056314A (ko) * 2010-12-08 2013-05-29 가부시키가이샤 히타치세이사쿠쇼 검색 가능 암호 처리 시스템
KR101622703B1 (ko) * 2015-09-25 2016-05-23 거창군 행정편의 기능이 포함된 부동산 평가 시스템
KR20180024390A (ko) * 2016-08-30 2018-03-08 숭실대학교산학협력단 환자 정보 전달 시스템 및 방법
KR20180136267A (ko) * 2017-06-14 2018-12-24 한국스마트인증 주식회사 동형 암호화를 이용한 개인 정보 보호 방법
KR20190134935A (ko) * 2018-05-18 2019-12-05 변상구 클라우드 환경에서 안전한 개인 자료 파일 보호 시스템
KR20210064675A (ko) * 2019-11-26 2021-06-03 주식회사 더블체인 블록체인 기반 데이터 거래 및 보관을 위한 보안 시스템 및 그 방법
KR20210104655A (ko) * 2020-02-14 2021-08-25 구글 엘엘씨 다수 당사자 도달 및 빈도 추정 보안화

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023128340A1 (ko) * 2021-12-30 2023-07-06 주식회사 디사일로 동형 암호화된 데이터 처리 방법 및 시스템

Also Published As

Publication number Publication date
WO2023128340A1 (ko) 2023-07-06

Similar Documents

Publication Publication Date Title
US10623431B2 (en) Discerning psychological state from correlated user behavior and contextual information
TWI538462B (zh) 用於管理文件之數位使用權的方法、非暫時性電腦可讀媒體及行動運算裝置
EP3191998B1 (en) Methods and systems for secure and reliable identity-based computing
EP3203709B1 (en) Cloud service server and method for managing cloud service server
US10073985B2 (en) Apparatus and method for trusted execution environment file protection
JP5852265B2 (ja) 計算装置、コンピュータプログラム及びアクセス許否判定方法
CN102576399B (zh) 基于多个凭证的资源访问
TWI438642B (zh) 供應數位身份表徵的系統及方法
EP2239677A1 (en) Integration of a non-token-based relying party into a token-based information card system
CN111475841A (zh) 一种访问控制的方法、相关装置、设备、系统及存储介质
EP3320477B1 (en) Protecting data from unauthorized access
US11627129B2 (en) Method and system for contextual access control
CN103621128B (zh) 基于上下文的安全计算
US20170371625A1 (en) Content delivery method
JP2016517056A (ja) 複数デバイスに基づく演算のセンサ関連データ
EP2583224A2 (en) Techniques to verify location for location based services
WO2020024929A1 (zh) 对电子身份证的业务适用范围进行升级的方法和终端设备
US20240163279A1 (en) Systems and methods for securing login access
KR102404763B1 (ko) 동형 암호화된 이미지를 이용한 개인 식별 방법 및 시스템
JP2018512106A (ja) スマートイメージを使用したフィッシング対策のための方法およびシステム
CN115943376A (zh) 认证界面元素交互
KR102401485B1 (ko) 동형 암호화된 데이터 처리 방법 및 시스템
KR20240009957A (ko) 보안 인터넷 통신을 위한 시스템 및 방법
CN111931214A (zh) 数据处理方法、装置、服务器及存储介质
US10049222B1 (en) Establishing application trust levels using taint propagation

Legal Events

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