KR20210130044A - 데이터 분석 장치 및 방법 - Google Patents

데이터 분석 장치 및 방법 Download PDF

Info

Publication number
KR20210130044A
KR20210130044A KR1020200048324A KR20200048324A KR20210130044A KR 20210130044 A KR20210130044 A KR 20210130044A KR 1020200048324 A KR1020200048324 A KR 1020200048324A KR 20200048324 A KR20200048324 A KR 20200048324A KR 20210130044 A KR20210130044 A KR 20210130044A
Authority
KR
South Korea
Prior art keywords
result
target data
ciphertext
sub
operations
Prior art date
Application number
KR1020200048324A
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 KR1020200048324A priority Critical patent/KR20210130044A/ko
Priority to US16/884,889 priority patent/US11509453B2/en
Priority to EP20194760.3A priority patent/EP3902193A1/en
Publication of KR20210130044A publication Critical patent/KR20210130044A/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
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/02Comparing digital values
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms

Landscapes

  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Complex Calculations (AREA)

Abstract

데이터 분석 장치 및 방법이 개시된다. 일 실시예에 따른 데이터 분석 방법은 클라이언트 장치로부터, 대상 데이터에 기초한 분석 알고리즘을 수행하기 위한 복수의 연산 중 일부 연산을 상기 대상 데이터에 적용하여 생성된 사전 연산 결과에 대한 암호문을 획득하는 단계; 및 상기 암호문을 이용하여 상기 복수의 연산 중 나머지 연산에 대한 암호화된 연산 결과를 생성하는 단계를 포함한다.

Description

데이터 분석 장치 및 방법{APPARATUS AND METHOD FOR DATA ANALYSIS}
개시되는 실시예들은 동형 암호를 이용한 데이터 분석 기술과 관련된다.
동형 암호(Homomorphic Encryption)는 암호화된 상태로 메시지 상의 덧셈과 곱셈의 기본 연산을 지원하여, 이외의 복합적인 계산은 두 기본 연산을 조합하여 다양한 계산알고리즘을 암호화된 상태로 수행할 수 있게 한다. 그러나 곱셈 연산을 반복적으로 수행하게 되면 어느 시점에서 암호문은 더 이상 동형연산이 불가능한 형태가 된다. 따라서 임의의 계산을 수행하기 위해서는 암호문을 연산 가능한 상태로 유지하게 하는 부트스트래핑(Bootstrapping) 연산을 반복적으로 수행해야 하며, 이 연산은 동형 암호를 이용한 분석 알고리즘 수행시간을 현저히 증가시킨다.
대한민국 등록특허공보 제10-1677114호 (2016.11.18. 공고)
개시되는 실시예들은 데이터 분석 장치 및 방법을 제공하기 위한 것이다.
일 실시예에 따른 데이터 분석 방법은, 클라이언트 장치로부터, 대상 데이터에 기초한 분석 알고리즘을 수행하기 위한 복수의 연산 중 일부 연산을 상기 대상 데이터에 적용하여 생성된 사전 연산 결과에 대한 암호문을 획득하는 단계; 및 상기 암호문을 이용하여 상기 복수의 연산 중 나머지 연산에 대한 암호화된 연산 결과를 생성하는 단계를 포함한다.
상기 사전 연산 결과에 대한 암호문은, 동형 암호(Homomorphic Encryption) 알고리즘을 이용하여 암호화된 암호문일 수 있다.
상기 생성하는 단계는, 상기 암호문을 이용하여 상기 나머지 연산에 대한 동형 연산을 수행함으로써, 상기 암호화된 연산 결과를 생성할 수 있다.
상기 분석 알고리즘은, 각각 상기 복수의 연산 중 하나 이상의 연산을 포함하는 복수의 서브 알고리즘을 포함하고, 상기 사전 연산 결과는, 상기 대상 데이터를 복수의 파트로 분류한 후 상기 복수의 파트 중 하나 이상에 대해 상기 복수의 서브 알고리즘 중 일부를 수행하여 생성되고, 상기 암호화된 연산 결과는, 상기 암호문을 이용하여 상기 복수의 서브 알고리즘 중 나머지를 수행한 결과에 대한 암호문일 수 있다.
상기 일부 연산은, 상기 대상 데이터에 기초한 곱셈 연산 및 비교 연산 중 적어도 하나를 포함할 수 있다.
일 실시예에 따른 데이터 분석 장치는, 클라이언트 장치로부터, 대상 데이터에 기초한 분석 알고리즘을 수행하기 위한 복수의 연산 중 일부 연산을 상기 대상 데이터에 적용하여 생성된 사전 연산 결과에 대한 암호문을 획득하는 암호문 획득부; 및 상기 암호문을 이용하여 상기 복수의 연산 중 나머지 연산에 대한 암호화된 연산 결과를 생성하는 연산부를 포함한다.
상기 사전 연산 결과에 대한 암호문은, 동형 암호(Homomorphic Encryption) 알고리즘을 이용하여 암호화된 암호문일 수 있다.
상기 연산부는, 상기 암호문을 이용하여 상기 나머지 연산에 대한 동형 연산을 수행함으로써, 상기 암호화된 연산 결과를 생성할 수 있다.
상기 분석 알고리즘은, 각각 상기 복수의 연산 중 하나 이상의 연산을 포함하는 복수의 서브 알고리즘을 포함하고, 상기 사전 연산 결과는, 상기 대상 데이터를 복수의 파트로 분류한 후 상기 복수의 파트 중 하나 이상에 대해 상기 복수의 서브 알고리즘 중 일부를 수행하여 생성되고, 상기 암호화된 연산 결과는, 상기 암호문을 이용하여 상기 복수의 서브 알고리즘 중 나머지를 수행한 결과에 대한 암호문일 수 있다.
상기 일부 연산은, 상기 대상 데이터에 기초한 곱셈 연산 및 비교 연산 중 적어도 하나를 포함할 수 있다.
개시되는 실시예들에 따르면, 분석 알고리즘 수행을 위한 복수의 연산 중 일부 연산을 클라이언트 장치에서 수행한 후 그 결과에 대한 암호문을 제공하고, 클라이언트 장치로부터 제공된 암호문을 이용하여 복수의 연산 중 나머지 연산에 대한 암호화된 연산 결과를 생성하도록 함으로써, 대상 데이터의 기밀성을 보호함과 동시에 분석 알고리즘 수행하기 위한 연산의 효율성을 증대시킬 수 있다.
도 1은 일 실시예에 따른 데이터 분석 시스템을 나타낸 도면
도 2는 일 실시예에 따른 데이터 분석 장치의 구성도
도 3은 일 실시예에 따른 분석 알고리즘에 포함된 복수의 서브 알고리즘의 일 예를 도시한 도면
도 4는 일 실시예에 따른 데이터 분석 방법의 순서도
도 5 내지 도7은 일 실시예에 따라 클라이언트 장치에서 수행될 수 있는 연산의 일 예를 설명하기 위한 도면
도 8은 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도
이하, 도면을 참조하여 본 발명의 구체적인 실시형태를 설명하기로 한다. 이하의 상세한 설명은 본 명세서에서 기술된 방법, 장치 및/또는 시스템에 대한 포괄적인 이해를 돕기 위해 제공된다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다.
본 발명의 실시예들을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 상세한 설명에서 사용되는 용어는 단지 본 발명의 실시예들을 기술하기 위한 것이며, 결코 제한적이어서는 안 된다. 명확하게 달리 사용되지 않는 한, 단수 형태의 표현은 복수 형태의 의미를 포함한다. 본 설명에서, "포함" 또는 "구비"와 같은 표현은 어떤 특성들, 숫자들, 단계들, 동작들, 요소들, 이들의 일부 또는 조합을 가리키기 위한 것이며, 기술된 것 이외에 하나 또는 그 이상의 다른 특성, 숫자, 단계, 동작, 요소, 이들의 일부 또는 조합의 존재 또는 가능성을 배제하도록 해석되어서는 안 된다.
도 1은 일 실시예에 따른 데이터 분석 시스템을 나타낸 도면이다.
도 1을 참조하면, 일 실시예에 따른 분석 시스템(100)은 데이터 분석 장치(110) 및 클라이언트 장치(120)를 포함한다.
데이터 분석 장치(110)는 대상 데이터에 대한 노출 없이 대상 데이터에 기초한 분석 알고리즘의 수행 결과를 생성하기 위한 장치이다.
일 실시예에 따르면, 분석 알고리즘은 예를 들어, 대상 데이터에 기초하여 예측 분석(predictive analysis), 통계 분석(statistical analysis), 분류(classification), 군집화(clustering) 등과 같은 데이터 분석을 수행하기 위한 데이터 분석 알고리즘일 수 있다.
다른 실시예에 따르면, 분석 알고리즘은 대상 데이터를 학습 데이터로 이용하여 데이터 분석을 위한 분석 모델을 학습하기 위한 기계 학습(machine learning) 알고리즘일 수 있다.
한편, 분석 알고리즘은 반드시 상술한 예에 한정되는 것은 아니며, 대상 데이터에 기초한 복수의 연산을 통해 수행될 수 있는 다양한 종류의 알고리즘일 수 있다.
대상 데이터는 데이터 분석을 위한 독립 변수로서 이용되는 데이터 또는 기계 학습을 위한 학습 데이터를 의미할 수 있다. 또한, 실시예에 따라 대상 데이터는 법률 상 허가되지 않은 제3자에 대한 공개가 금지되거나 개인의 프라이버시 보호, 보안 상의 필요성 등에 따라 비공개가 요구되는 데이터일 수 있다.
예를 들어, 대상 데이터는 유전자 데이터, 진료 기록 데이터, 금융 거래 정보 데이터(예를 들어, 계좌번호, 계좌 입출금 내역 등), 개인 정보 데이터(예를 들어, 이름, 주민등록번호 등) 등일 수 있으나, 분석 알고리즘의 종류, 분석 알고리즘을 이용한 분석 목적 등에 따라 상술한 예 외에도 다양한 종류의 데이터가 대상 데이터로 이용될 수 있다.
클라이언트 장치(120)는 대상 데이터를 소유하고 있는 장치이다. 이때, 클라이언트 장치(120)가 대상 데이터를 소유하고 있다는 것은 클라이언트 장치(120)가 내부에 구비된 저장 수단에 대상 데이터를 저장하고 있거나, 대상 데이터를 저장하고 있는 외부 장치에 접근하여 대상 데이터를 획득 가능함을 의미할 수 있다.
한편, 도 1에 도시된 예에서는 클라이언트 장치(120)가 하나인 것으로 예시하고 있으나, 실시예에 따라 클라이언트 장치(120)는 복수일 수 있다.
도 2는 일 실시예에 따른 데이터 분석 장치의 구성도이다.
도 2를 참조하면, 일 실시예에 따른 데이터 분석 장치(110)는 암호문 획득부(111) 및 연산부(112)를 포함한다.
암호문 획득부(111)는 클라이언트 장치(120)로부터, 대상 데이터에 기초한 분석 알고리즘을 수행하기 위한 복수의 연산 중 일부 연산을 대상 데이터에 적용하여 생성된 사전 연산 결과에 대한 암호문을 획득한다.
구체적으로, 분석 알고리즘은 대상 데이터에 기초하여 동시에 수행되거나 순차적으로 수행되는 복수의 연산을 포함할 수 있으며, 클라이언트 장치(120)로부터 수신되는 암호문은 대상 데이터에 기초하여 해당 복수의 연산 중 일부를 수행한 결과를 암호화한 암호문일 수 있다.
이때, 일 실시예에 따르면, 복수의 연산은 예를 들어, 사칙연산, 크기 비교 연산, 다항식 연산 등을 포함할 수 있으며, 클라이언트 장치(120)에 의해 수행되는 연산은 곱셈 연산 및 비교 연산 중 적어도 하나를 포함할 수 있다. 한편, 분석 알고리즘을 수행하기 위한 연산들의 종류는 반드시 상술한 예에 한정되는 것은 아니며, 분석 알고리즘에 따라 상이할 수 있다.
한편, 일 실시예에 따르면, 분석 알고리즘은 각각 분석 알고리즘 수행을 위한 복수의 연산 중 하나 이상의 연산을 포함하는 복수의 서브 알고리즘을 포함할 수 있으며, 클라이언트 장치(120)로부터 수신되는 암호문은 대상 데이터에 기초하여 복수의 서브 알고리즘 중 일부를 수행한 결과를 암호화한 암호문일 수 있다.
또한, 일 실시예에 따르면, 클라이언트 장치(120)로부터 수신되는 암호문은 대상 데이터를 복수의 파트로 분할한 후, 분할된 복수의 파트 중 하나 이상에 대해 복수의 서브 알고리즘 중 일부 알고리즘을 수행한 결과를 암호화한 암호문일 수 있다. 구체적으로, 클라이언트 장치(120)는 분할된 복수의 파트 각각에 대해 서로 동일 또는 상이한 서브 알고리즘을 수행할 수 있으며, 실시예에 따라 복수의 파트 중 일부에 대해서는 어떠한 서브 알고리즘도 수행하지 않을 수 있다.
한편, 일 실시예에 따르면, 클라이언트 장치(120)로부터 수신되는 암호문은 동형 암호(Homomorphic Encryption) 알고리즘을 이용하여 암호화된 암호문일 수 있다.
이때, 동형 암호 알고리즘은 분석 알고리즘 수행을 위한 복수의 연산 중 클라이언트 장치(120)에 의해 수행된 연산을 제외한 나머지 연산에 대한 동형 연산을 지원하는 것으로 충분하며, 반드시 특정한 알고리즘으로 한정되는 것은 아니다.
한편, 동형 암호 알고리즘이 특정 연산에 대한 동형 연산을 지원한다는 것은 동형 암호 알고리즘을 이용하여 암호화된 암호문을 암호화된 상태로 연산하여 암호문의 평문에 대해 특정 연산을 적용한 결과에 대한 암호문을 생성할 수 있음을 의미한다. 예를 들어, 덧셈에 대한 동형 연산
Figure pat00001
, 곱셈에 대한 동형 연산
Figure pat00002
및 함수 f에 대한 동형 연산
Figure pat00003
은 각각 아래의 수학식 1 내지 3을 만족하는 연산을 의미한다.
[수학식 1]
Figure pat00004
[수학식 2]
Figure pat00005
[수학식 3]
Figure pat00006
연산부(112)는 클라이언트 장치(120)로부터 획득된 암호문을 이용하여, 대상 데이터에 기초한 분석 알고리즘을 수행하기 위한 복수의 연산 중 나머지 연산에 대한 암호화된 연산 결과를 생성한다.
구체적으로, 연산부(112)는 클라이언트 장치(120)로부터 수신된 암호문을 암호화된 상태로 이용하여, 수신된 암호문에 대한 평문에 나머지 연산을 적용한 결과에 대한 암호문을 생성할 수 있다. 즉, 연산부(112)는 암호화를 위해 클라이언트 장치(120)에 의해 이용된 동형 암호 알고리즘을 이용하여 나머지 연산에 대한 동형 연산을 수행함으로써 나머지 연산에 대한 암호화된 연산 결과를 생성할 수 있다.
한편, 일 실시예에 따르면, 상술한 바와 같이 분석 알고리즘이 각각 하나 이상의 연산을 포함하는 복수의 서브 알고리즘을 포함하고, 클라이언트 장치(120)로부터 수신되는 암호문이 복수의 서브 알고리즘 중 일부를 수행한 결과를 암호화한 암호문인 경우, 연산부(112)는 수신된 암호문을 이용한 동형 연산을 통해 복수의 서브 알고리즘 중 나머지 알고리즘을 수행한 결과에 대한 암호문을 생성할 수 있다.
도 3은 일 실시예에 따른 분석 알고리즘에 포함된 복수의 서브 알고리즘의 일 예를 도시한 도면이다.
도 3에 도시된 예에서, 대상 데이터(310)는 3개의 파트(311, 312, 313)로 분할되며, 분석 알고리즘(320)은 3개의 서브 알고리즘(321, 322, 323)을 포함한다.
서브 알고리즘 1(321)과 서브 알고리즘 2(322)는 각각 대상 데이터의 파트 1(311)과 파트 2(312)를 입력 데이터로 이용하여 수행되며, 서브 알고리즘 3(323)은 서브 알고리즘 1(321)과 서브 알고리즘 2(322) 각각의 수행 결과와 대상 데이터의 파트 3(313)을 입력 데이터로 이용하여 수행되도록 구성된다.
일 예로, 서브 알고리즘 1(321)과 서브 알고리즘 2(322)는 클라이언트 장치(120)에 의해 수행될 수 있으며, 이 경우, 암호문 획득부(111)는 클라이언트 장치(120)로부터 서브 알고리즘 1(321) 및 서브 알고리즘 2(322) 각각에 대한 수행 결과와 대상 데이터 파트 3(313)에 대한 암호문을 수신하고, 연산부(112)는 수신된 암호문을 이용한 동형 연산을 통해 서브 알고리즘 3(323)에 대한 암호화된 수행 결과를 생성할 수 있다.
다른 예로, 서브 알고리즘 1(321)은 클라이언트 장치(120)에 의해 수행될 수 있으며, 이 경우, 암호문 획득부(111)는 클라이언트 장치(120)로부터 서브 알고리즘 1(321)에 대한 수행 결과와 대상 데이터의 파트 2(312) 및 파트 3(313)에 대한 암호문을 수신하고, 연산부(112)는 수신된 암호문을 이용한 동형 연산을 통해 서브 알고리즘 2(322) 및 서브 알고리즘 3(323)에 대한 암호화된 수행 결과를 생성할 수 있다.
한편, 도 3에 도시된 예에서는 대상 데이터가 3개의 파트(311, 312, 313)로 분할되며, 분석 알고리즘이 3개의 서브 알고리즘(321, 322, 323)을 포함하는 것으로 예시하고 있으나, 분석 알고리즘에 포함된 서브 알고리즘의 개수는 실시예에 따라 상이할 수 있으며, 대상 데이터로부터 분할되는 파트의 개수 및 분할 기준은 클라이언트 장치(120)에서 수행될 서브 알고리즘의 종류, 대상 데이터의 성격 등에 따라 상이할 수 있다.
또한, 분석 알고리즘에 포함된 복수의 서브 알고리즘 중 클라이언트 장치(120)에서 수행될 서브 알고리즘과 데이터 분석 장치(110)에서 수행될 서브 알고리즘은 동형 암호 알고리즘을 이용한 동형 연산의 효율성을 고려하여 사전 결정될 수 있으며, 실시예에 따라 상이할 수 있다.
도 4는 일 실시예에 따른 데이터 분석 방법의 순서도이다.
도 4에 도시된 방법은 예를 들어, 도 2에 도시된 데이터 분석 장치(110)에 의해 수행될 수 있다.
도 4를 참조하면, 우선, 데이터 분석 장치(110)는 클라이언트 장치(120)로부터 대상 데이터에 기초한 분석 알고리즘을 수행하기 위한 복수의 연산 중 일부 연산을 대상 데이터에 적용하여 생성된 사전 연산 결과에 대한 암호문을 획득한다(410).
이때, 일 실시예에 따르면, 분석 알고리즘은 각각 복수의 연산 중 하나 이상의 연산을 포함하는 복수의 서브 알고리즘을 포함할 수 있으며, 클라이언트 장치(120)로부터 수신되는 암호문은 대상 데이터를 이용하여 복수의 서브 알고리즘 중 일부를 수행한 결과에 대한 암호문일 수 있다.
또한, 일 실시예에 따르면, 클라이언트 장치로부터 수신되는 암호문은 동형 암호 알고리즘을 이용하여 암호화된 암호문일 수 있다.
이후, 데이터 분석 장치(110)는 획득된 암호문을 이용하여 대상 데이터에 기초한 알고리즘을 수행하기 위한 복수의 연산 중 나머지 연산에 대한 암호화된 연산 결과를 생성한다(420).
이때, 일 실시예에 따르면, 데이터 분석 장치(110)는 획득된 암호문을 이용하여 나머지 연산에 대한 동형 연산을 수행함으로써 사전 연산 결과에 나머지 연산을 적용한 결과에 대한 암호문을 생성할 수 있다.
또한, 일 실시예에 따르면, 분석 알고리즘이 각각 하나 이상의 연산을 포함하는 복수의 서브 알고리즘을 포함하고, 클라이언트 장치(120)로부터 수신되는 암호문이 복수의 서브 알고리즘 중 일부를 수행한 결과를 암호화한 암호문인 경우, 데이터 분석 장치(110)는 수신된 암호문을 이용한 동형 연산을 통해 복수의 서브 알고리즘 중 나머지 알고리즘을 수행한 결과에 대한 암호문을 생성할 수 있다.
이하에서는, 본 발명의 실시예에 따라 기계 학습(machine learning) 알고리즘의 일종인 의사 결정 트리(Decision Tree) 알고리즘을 수행하는 예를 설명하기로 한다.
의사 결정 트리 알고리즘은 데이터의 특징을 나타내는 특징 값과 데이터에 대한 분류 결과 값을 나타내는 라벨(label)로 이루어진 데이터 쌍을 학습 데이터로 이용하여 라벨이 결정되지 않은 임의의 데이터에 대한 라벨을 가장 잘 예측하는 특징들을 트리 구조의 질문들로 구성하는 것을 목표로 한다.
구체적으로, 의사 결정 트리 알고리즘에서는 학습 데이터의 각 특징들을 기준으로 학습 데이터를 분류해보고 라벨이 잘 분류되는 순서로 루트 노드(Root node)부터 트리 모델을 생성한다. 이때, 라벨이 잘 분류되었는지를 판단하기 위한 척도로 불순도(Impurity)를 나타내는 지니 계수(Gini index) 또는 불확실성(Uncertainty)을 나타내는 엔트로피(Entropy)를 이용한 정보 획득(Information gain)이 사용된다.
한편, 트리 모델 구성 방법은 학습 데이터에 포함될 수 있는 특징 값의 범위를 복수의 구간으로 나눈 후, 학습 데이터를 복수의 구간 중 하나로 분류하게 된다. 예를 들어, 학습 데이터에 현재 나이를 나타내는 "Age"라는 특징이 포함되어 있고, 해당 특징에 대한 특징 값의 범위가 0~100인 경우를 생각해보자. 이 경우, 학습을 위해 루트 노드부터 순서대로 아래의 질문들에 대한 답을 기반으로 학습 데이터를 분류하고 각 분류 결과를 지니 계수 등을 통해 평가하게 된다.
- Age≤10?
- Age≤20?
- Age≤30?
- Age≤40?
- Age≤50?
- Age≤60?
- Age≤70?
- Age≤80?
- Age≤90?
- Age≤100?
상술한 질문에 대한 답을 획득하기 위해서는 각각의 각 질문의 기준 값들과 특징 값 사이의 대소 비교 연산을 수행해야 한다. 그러나, 대소 비교 연산에 대한 동형 연산은 일반적으로 부트스트래핑(Bootstrapping) 연산이 한 번 이상 수행되어야 하는 비효율적인 연산이다. 따라서, 도 5에 도시된 예와 같이 클라이언트 장치(120)에서 대소 비교 연산을 통해 대상 데이터의 'Age' 특징에 대한 특징 값이 속하는 구간을 나타내는 바이너리 데이터로 변환하는 전처리 알고리즘을 수행한 후, 변환된 바이너리 데이터를 암호화하여 데이터 분석 장치(110)로 제공할 수 있다. 이 경우, 데이터 분석 장치(110)는 변환된 바이너리 데이터에 대한 암호문을 암호화된 상태로 이용하여 의사 결정 트리 알고리즘의 나머지 연산에 대한 동형 연산을 수행할 수 있다.
다른 예로, 트리 모델에서 각 노드 별로 도 6에 도시된 예와 같이 분기되는 경우를 생각해 보자.
구체적으로, 도 6에 도시된 예에서 부모 노드(610)는 총 m+n개의 샘플을 가지고 있고, m+n개의 샘플들이 왼쪽 자식 노드(620)로 m개, 오른쪽 자식 노드(630)로 n개의 샘플로 분기된다. 한편, 왼쪽 자식 노드(620)로 분기된 m개의 샘플들 중 라벨 값이 0인 샘플이 총 m0개이고 라벨 값이 1인 샘플이 m1개이다. 또한, 오른쪽 자식 노드(630)로 분기된 n개의 샘플들 중 라벨 값이 0인 샘플이 총 n0개이고 라벨 값이 1인 샘플이 n1개이다.
도 6에 도시된 예에서 지니 계수는 아래의 수학식 4와 같이 계산될 수 있다.
[수학식 4]
Figure pat00007
수학식 4에서 알 수 있듯이, 지니 계수 계산을 위해서는 (m+n)m과 (m+n)n의 역수(inverse)를 각각 계산해야 하는데, 이 연산에 대한 동형 연산을 위해 근사식을 이용하여 역수의 근삿값에 대한 동형 연산을 수행하는 방식이 이용될 수 있다. 그러나, 이러한 근사식을 이용한 동형 연산은 0과 2사이의 값에 대해서만 효율적으로 계산 가능하다. 이를 우회하기 위해, 도 7에 도시된 예와 같이 클라이언트 장치(120)에서 라벨 값을 전체 샘플들의 개수인 N으로 나눈 후, 그 결과를 암호화하여 데이터 분석 장치(110)로 제공하는 경우, 아래의 수학식 5에 따라 데이터 분석 장치(110)에서 동형 연산을 통해 효율적인 역수 계산이 가능하다.
[수학식 5]
Figure pat00008
이때, 라벨 값에 상수 1/N을 곱하는 동형연산은 비교적 효율적이지만, 사전계산하여도 전체 알고리즘 수행 결과에는 영향을 주지 않으므로, 클라이언트 장치(120)에서 라벨 값에 상수 1/N을 곱하는 연산을 수행한 후, 그 결과를 암호화하여 데이터 분석 장치(110)로 제공하는 경우, 전체 알고리즘 수행 시간을 줄여줄 수 있다.
도 8은 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도이다. 도시된 실시예에서, 각 컴포넌트들은 이하에 기술된 것 이외에 상이한 기능 및 능력을 가질 수 있고, 이하에 기술되지 않은 것 이외에도 추가적인 컴포넌트를 포함할 수 있다.
도시된 컴퓨팅 환경(10)은 컴퓨팅 장치(12)를 포함한다. 일 실시예에서, 컴퓨팅 장치(12)는 도 2에 도시된 데이터 분석 장치(110)에 포함된 하나 이상의 컴포넌트일 수 있다.
컴퓨팅 장치(12)는 적어도 하나의 프로세서(14), 컴퓨터 판독 가능 저장 매체(16) 및 통신 버스(18)를 포함한다. 프로세서(14)는 컴퓨팅 장치(12)로 하여금 앞서 언급된 예시적인 실시예에 따라 동작하도록 할 수 있다. 예컨대, 프로세서(14)는 컴퓨터 판독 가능 저장 매체(16)에 저장된 하나 이상의 프로그램들을 실행할 수 있다. 상기 하나 이상의 프로그램들은 하나 이상의 컴퓨터 실행 가능 명령어를 포함할 수 있으며, 상기 컴퓨터 실행 가능 명령어는 프로세서(14)에 의해 실행되는 경우 컴퓨팅 장치(12)로 하여금 예시적인 실시예에 따른 동작들을 수행하도록 구성될 수 있다.
컴퓨터 판독 가능 저장 매체(16)는 컴퓨터 실행 가능 명령어 내지 프로그램 코드, 프로그램 데이터 및/또는 다른 적합한 형태의 정보를 저장하도록 구성된다. 컴퓨터 판독 가능 저장 매체(16)에 저장된 프로그램(20)은 프로세서(14)에 의해 실행 가능한 명령어의 집합을 포함한다. 일 실시예에서, 컴퓨터 판독 가능 저장 매체(16)는 메모리(랜덤 액세스 메모리와 같은 휘발성 메모리, 비휘발성 메모리, 또는 이들의 적절한 조합), 하나 이상의 자기 디스크 저장 디바이스들, 광학 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 그 밖에 컴퓨팅 장치(12)에 의해 액세스되고 원하는 정보를 저장할 수 있는 다른 형태의 저장 매체, 또는 이들의 적합한 조합일 수 있다.
통신 버스(18)는 프로세서(14), 컴퓨터 판독 가능 저장 매체(16)를 포함하여 컴퓨팅 장치(12)의 다른 다양한 컴포넌트들을 상호 연결한다.
컴퓨팅 장치(12)는 또한 하나 이상의 입출력 장치(24)를 위한 인터페이스를 제공하는 하나 이상의 입출력 인터페이스(22) 및 하나 이상의 네트워크 통신 인터페이스(26)를 포함할 수 있다. 입출력 인터페이스(22) 및 네트워크 통신 인터페이스(26)는 통신 버스(18)에 연결된다. 입출력 장치(24)는 입출력 인터페이스(22)를 통해 컴퓨팅 장치(12)의 다른 컴포넌트들에 연결될 수 있다. 예시적인 입출력 장치(24)는 포인팅 장치(마우스 또는 트랙패드 등), 키보드, 터치 입력 장치(터치패드 또는 터치스크린 등), 음성 또는 소리 입력 장치, 다양한 종류의 센서 장치 및/또는 촬영 장치와 같은 입력 장치, 및/또는 디스플레이 장치, 프린터, 스피커 및/또는 네트워크 카드와 같은 출력 장치를 포함할 수 있다. 예시적인 입출력 장치(24)는 컴퓨팅 장치(12)를 구성하는 일 컴포넌트로서 컴퓨팅 장치(12)의 내부에 포함될 수도 있고, 컴퓨팅 장치(12)와는 구별되는 별개의 장치로 컴퓨팅 장치(12)와 연결될 수도 있다.
이상에서 대표적인 실시예를 통하여 본 발명에 대하여 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 전술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
10: 컴퓨팅 환경
12: 컴퓨팅 장치
14: 프로세서
16: 컴퓨터 판독 가능 저장 매체
18: 통신 버스
20: 프로그램
22: 입출력 인터페이스
24: 입출력 장치
26: 네트워크 통신 인터페이스
100: 데이터 분석 시스템
110: 데이터 분석 장치
111: 암호문 획득부
112: 연산부
120: 클라이언트 장치

Claims (10)

  1. 클라이언트 장치로부터, 대상 데이터에 기초한 분석 알고리즘을 수행하기 위한 복수의 연산 중 일부 연산을 상기 대상 데이터에 적용하여 생성된 사전 연산 결과에 대한 암호문을 획득하는 단계; 및
    상기 암호문을 이용하여 상기 복수의 연산 중 나머지 연산에 대한 암호화된 연산 결과를 생성하는 단계를 포함하는 데이터 분석 방법.
  2. 청구항 1에 있어서,
    상기 사전 연산 결과에 대한 암호문은, 동형 암호(Homomorphic Encryption) 알고리즘을 이용하여 암호화된 암호문인 데이터 분석 방법.
  3. 청구항 2에 있어서,
    상기 생성하는 단계는, 상기 암호문을 이용하여 상기 나머지 연산에 대한 동형 연산을 수행함으로써, 상기 암호화된 연산 결과를 생성하는 데이터 분석 방법.
  4. 청구항 1에 있어서,
    상기 분석 알고리즘은, 각각 상기 복수의 연산 중 하나 이상의 연산을 포함하는 복수의 서브 알고리즘을 포함하고,
    상기 사전 연산 결과는, 상기 대상 데이터를 복수의 파트로 분류한 후 상기 복수의 파트 중 하나 이상에 대해 상기 복수의 서브 알고리즘 중 일부를 수행하여 생성되고,
    상기 암호화된 연산 결과는, 상기 암호문을 이용하여 상기 복수의 서브 알고리즘 중 나머지를 수행한 결과에 대한 암호문인 데이터 분석 방법.
  5. 청구항 1에 있어서,
    상기 일부 연산은, 상기 대상 데이터에 기초한 곱셈 연산 및 비교 연산 중 적어도 하나를 포함하는 데이터 분석 방법.
  6. 클라이언트 장치로부터, 대상 데이터에 기초한 분석 알고리즘을 수행하기 위한 복수의 연산 중 일부 연산을 상기 대상 데이터에 적용하여 생성된 사전 연산 결과에 대한 암호문을 획득하는 암호문 획득부; 및
    상기 암호문을 이용하여 상기 복수의 연산 중 나머지 연산에 대한 암호화된 연산 결과를 생성하는 연산부를 포함하는 데이터 분석 장치.
  7. 청구항 6에 있어서,
    상기 사전 연산 결과에 대한 암호문은, 동형 암호(Homomorphic Encryption) 알고리즘을 이용하여 암호화된 암호문인 데이터 분석 장치.
  8. 청구항 7에 있어서,
    상기 연산부는, 상기 암호문을 이용하여 상기 나머지 연산에 대한 동형 연산을 수행함으로써, 상기 암호화된 연산 결과를 생성하는 데이터 분석 장치.
  9. 청구항 6에 있어서,
    상기 분석 알고리즘은, 각각 상기 복수의 연산 중 하나 이상의 연산을 포함하는 복수의 서브 알고리즘을 포함하고,
    상기 사전 연산 결과는, 상기 대상 데이터를 복수의 파트로 분류한 후 상기 복수의 파트 중 하나 이상에 대해 상기 복수의 서브 알고리즘 중 일부를 수행하여 생성되고,
    상기 암호화된 연산 결과는, 상기 암호문을 이용하여 상기 복수의 서브 알고리즘 중 나머지를 수행한 결과에 대한 암호문인 데이터 분석 장치.
  10. 청구항 6에 있어서,
    상기 일부 연산은, 상기 대상 데이터에 기초한 곱셈 연산 및 비교 연산 중 적어도 하나를 포함하는 데이터 분석 장치.
KR1020200048324A 2020-04-21 2020-04-21 데이터 분석 장치 및 방법 KR20210130044A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020200048324A KR20210130044A (ko) 2020-04-21 2020-04-21 데이터 분석 장치 및 방법
US16/884,889 US11509453B2 (en) 2020-04-21 2020-05-27 Apparatus and method for data analysis
EP20194760.3A EP3902193A1 (en) 2020-04-21 2020-09-07 Apparatus and method for data analysis

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200048324A KR20210130044A (ko) 2020-04-21 2020-04-21 데이터 분석 장치 및 방법

Publications (1)

Publication Number Publication Date
KR20210130044A true KR20210130044A (ko) 2021-10-29

Family

ID=72422105

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200048324A KR20210130044A (ko) 2020-04-21 2020-04-21 데이터 분석 장치 및 방법

Country Status (3)

Country Link
US (1) US11509453B2 (ko)
EP (1) EP3902193A1 (ko)
KR (1) KR20210130044A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024136370A1 (ko) * 2022-12-23 2024-06-27 주식회사 크립토랩 동형 암호문 처리 방법 및 전자 장치

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11809577B2 (en) 2020-09-07 2023-11-07 The Toronto-Dominion Bank Application of trained artificial intelligence processes to encrypted data within a distributed computing environment
US11651111B2 (en) 2020-09-25 2023-05-16 Intel Corporation Enabling secure state-clean during configuration of partial reconfiguration bitstreams on FPGA

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101677114B1 (ko) 2015-08-28 2016-11-18 고려대학교 산학협력단 동형 암호를 이용한 생체정보의 이상치 탐색 방법

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10333696B2 (en) * 2015-01-12 2019-06-25 X-Prime, Inc. Systems and methods for implementing an efficient, scalable homomorphic transformation of encrypted data with minimal data expansion and improved processing efficiency
US10491373B2 (en) 2017-06-12 2019-11-26 Microsoft Technology Licensing, Llc Homomorphic data analysis
JP6730741B2 (ja) * 2017-12-26 2020-07-29 株式会社アクセル 処理装置、処理方法、処理プログラム、及び暗号処理システム
CN108718231B (zh) 2018-07-04 2023-05-23 深圳大学 一种全同态加密方法、装置和计算机可读存储介质
US11750362B2 (en) * 2019-09-17 2023-09-05 Sap Se Private decision tree evaluation using an arithmetic circuit

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101677114B1 (ko) 2015-08-28 2016-11-18 고려대학교 산학협력단 동형 암호를 이용한 생체정보의 이상치 탐색 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024136370A1 (ko) * 2022-12-23 2024-06-27 주식회사 크립토랩 동형 암호문 처리 방법 및 전자 장치

Also Published As

Publication number Publication date
US11509453B2 (en) 2022-11-22
US20210328764A1 (en) 2021-10-21
EP3902193A1 (en) 2021-10-27

Similar Documents

Publication Publication Date Title
EP3676985B1 (en) High-precision privacy-preserving real-valued function evaluation
US11023682B2 (en) Vector representation based on context
US20180212752A1 (en) End-To-End Secure Operations from a Natural Language Expression
US20180365560A1 (en) Context aware sensitive information detection
KR20210130044A (ko) 데이터 분석 장치 및 방법
Decru et al. Faster SeaSign signatures through improved rejection sampling
Al-Janabi et al. Secure Data Computation Using Deep Learning and Homomorphic Encryption: A Survey.
US11281728B2 (en) Data generalization for predictive models
US11664998B2 (en) Intelligent hashing of sensitive information
US20240333508A1 (en) Systems and methods for intelligently constructing, transmitting, and validating spoofing-conscious digitally signed web tokens using microservice components of a cybersecurity threat mitigation platform
EP3843318A1 (en) Apparatus and method for performing homomorphic operation using approximation function
KR20210082019A (ko) 교집합 연산을 위한 장치 및 방법
US11809602B2 (en) Privacy verification for electronic communications
Bittner et al. Private speech characterization with secure multiparty computation
Bittner et al. Private speech classification with secure multiparty computation
Yeo et al. An enhanced binary characteristic set algorithm and its applications to algebraic cryptanalysis
Abbasi Privacy-Preserving speaker verification and speech recognition
US11861476B2 (en) Secure ensemble training and inference using heterogeneous private machine learning models
KR102123440B1 (ko) 멀티 클라이언트 환경에서 범위 질의를 지원하는 암호화 방법 및 이를 이용한 장치
US11763082B2 (en) Accelerating inference of transformer-based models
US11693989B2 (en) Computer-implemented methods and nodes implementing performance estimation of algorithms during evaluation of data sets using multiparty computation based random forest
WO2022068204A1 (en) System, method and apparatus for privacy preserving inference
Claro et al. Big Data Privacy by Design Computation Platform
Todoki Privacy-Preserving Machine Learning Applications
KR20210130048A (ko) 분석 모델 학습 방법 및 장치

Legal Events

Date Code Title Description
A201 Request for examination