Search

KR-102961301-B1 - HOMOMORPHIC ENCRYPTION-BASED USER INFORMATION QUERY-RESPONSE SERVER AND METHOD FOR OPERATING THE SAME

KR102961301B1KR 102961301 B1KR102961301 B1KR 102961301B1KR-102961301-B1

Abstract

본 발명에 따른 동형암호 기반 사용자 정보 질의 응답 서버는 동형암호 기반 스마트 계약 환경에서 사용자의 민감 정보에 대한 조건 검증을 수행하기 위한 동형암호 기반 사용자 정보 질의 응답 서버는 암호화 데이터 타입을 정의한 후 스마트 계약 언어에서 인식되어 연산될 수 있도록 설정하는 암호화 데이터 타입 정의부; 상기 암호화 데이터 타입에 적용 가능한 동형 연산자를 정의하고, 상기 동형 연산자를 호출하여 암호문 상태로 연산을 수행하는 암호 연산자 정의부; 및 제1 사용자 단말 또는 제2 사용자 단말로부터 조건 암호문을 수신하여, 암호화 데이터 타입 및 연산자를 바탕으로 상기 조건 암호문에 대한 조건 검증 연산을 수행하고, 상기 수행 결과를 암호화된 형태로 반환하는 조건 검증부를 포함한다.

Inventors

  • 김범진
  • 김상환
  • 김기수

Assignees

  • 주식회사 에이다루트

Dates

Publication Date
20260506
Application Date
20251112

Claims (8)

  1. 동형암호 기반 스마트 계약 환경에서 사용자의 민감 정보에 대한 조건 검증을 수행하기 위한 동형암호 기반 사용자 정보 질의 응답 서버에 있어서, 암호화 데이터 타입을 정의한 후 스마트 계약 언어에서 인식되어 연산될 수 있도록 설정하는 암호화 데이터 타입 정의부; 상기 암호화 데이터 타입에 적용 가능한 동형 연산자를 정의하고, 상기 동형 연산자를 호출하여 암호문 상태로 연산을 수행하는 암호 연산자 정의부; 및 제1 사용자 단말 또는 제2 사용자 단말로부터 조건 암호문을 수신하여, 암호화 데이터 타입 및 연산자를 바탕으로 상기 조건 암호문에 대한 조건 검증 연산을 수행하고, 상기 수행 결과를 암호화된 형태로 반환하는 조건 검증부를 포함하며, 상기 조건 암호문은 제1 피연산자, 연산자 및 제2 피연산자의 구조를 갖는 삼항 형태로 구성되며, 상기 연산자가 암호 연산자 함수에 매핑되도록 구성된 것을 특징으로 하는 동형암호 기반 사용자 정보 질의 응답 서버.
  2. 제1항에 있어서, 상기 암호화 데이터 타입 정의부는 상기 조건 암호문 자체를 하나의 암호화 데이터 타입으로 정의하고, 상기 조건 암호문을 스마트 계약 언어의 구조체 또는 사용자 정의 타입으로 선언하여 조건문의 각 피연산자 및 연산자가 암호화된 상태에서 상호 참조되도록 하는 것을 특징으로 하는 동형암호 기반 사용자 정보 질의 응답 서버.
  3. 제1항에 있어서, 상기 암호화 데이터 타입 정의부는 오프체인 API, 이더리움 가상머신(EVM: Ethereum Virtual Machine) 프리컴파일 모듈 또는 영지식 기반 이더리움 가상머신(zkEVM: Zero-Knowledge Ethereum Virtual Machine) 실행기 중 어느 하나와 연동되어 스마트 계약 내에서 암호문 상태로 연산을 수행하는 것을 특징으로 하는 동형암호 기반 사용자 정보 질의 응답 서버.
  4. 삭제
  5. 동형암호 기반 사용자 정보 질의 응답 서버에서 실행되는 동형암호 기반 스마트 계약 환경에서 사용자의 민감 정보에 대한 조건 검증을 수행하기 위한 동형암호 기반 사용자 정보 질의 응답 방법에 있어서, 암호화 데이터 타입을 정의한 후 스마트 계약 언어에서 인식되어 연산될 수 있도록 설정하는 단계; 상기 암호화 데이터 타입에 적용 가능한 동형 연산자를 정의하고, 상기 동형 연산자를 호출하여 암호문 상태로 연산을 수행하는 단계; 제1 사용자 단말 또는 제2 사용자 단말로부터 조건 암호문을 수신하여, 암호화 데이터 타입 및 연산자를 바탕으로 조건 검증 연산을 수행하는 단계; 및 상기 수행 결과에 따라 암호화된 결과값 또는 영지식 증명값으로 반환하는 단계를 포함하며, 상기 조건 암호문은 제1 피연산자, 연산자 및 제2 피연산자의 구조를 갖는 삼항 형태로 구성되며, 상기 연산자가 암호 연산자 함수에 매핑되도록 구성된 것을 특징으로 하는 동형암호 기반 사용자 정보 질의 응답 방법.
  6. 제5항에 있어서, 상기 암호화 데이터 타입을 정의한 후 스마트 계약 언어에서 인식되어 연산될 수 있도록 설정하는 단계는 상기 조건 암호문 자체를 하나의 암호화 데이터 타입으로 정의하고, 상기 조건 암호문을 스마트 계약 언어의 구조체 또는 사용자 정의 타입으로 선언하여 조건문의 각 피연산자 및 연산자가 암호화된 상태에서 상호 참조되도록 하는 것을 특징으로 하는 동형암호 기반 사용자 정보 질의 응답 방법.
  7. 제5항에 있어서, 상기 암호화 데이터 타입을 정의한 후 스마트 계약 언어에서 인식되어 연산될 수 있도록 설정하는 단계는 오프체인 API, 이더리움 가상머신(EVM: Ethereum Virtual Machine) 프리컴파일 모듈 또는 영지식 기반 이더리움 가상머신(zkEVM: Zero-Knowledge Ethereum Virtual Machine) 실행기 중 어느 하나와 연동되어 스마트 계약 내에서 암호문 상태로 연산을 수행하는 단계를 포함하는 것을 특징으로 하는 동형암호 기반 사용자 정보 질의 응답 방법.
  8. 삭제

Description

동형암호 기반 사용자 정보 질의 응답 서버 및 그 실행 방법{HOMOMORPHIC ENCRYPTION-BASED USER INFORMATION QUERY-RESPONSE SERVER AND METHOD FOR OPERATING THE SAME} 본 발명은 동형암호 기반 사용자 정보 질의 응답 서버 및 그 실행 방법에 관한 것으로, 보다 구체적으로 스마트 계약 환경에서 사용자의 민감 정보를 평문으로 노출하지 않고도, 계약 조건 검증을 안전하게 수행할 수 있는 동형암호 기반 사용자 정보 질의 응답 서버 및 그 실행 방법에 관한 것이다. 최근 블록체인 환경에서 실행되는 스마트 계약은 금융, 헬스케어, 공공 서비스 등 다양한 분야에서 자동화된 거래 및 조건 검증을 가능하게 하고 있다. 그러나 기존의 스마트 계약 언어(Solidity 등)는 모든 연산을 평문 데이터에 기반하여 수행하도록 설계되어 있어, 사용자 계정 잔액, 나이, 소득, 의료 기록 등 민감한 개인정보가 평문 상태로 노출될 위험이 존재한다. 특히 블록체인 네트워크의 특성상 모든 노드가 동일한 계약 실행 결과를 공유해야 하므로, 스마트 계약 내에서 민감 데이터가 그대로 기록될 경우 제3자나 노드 운영자에게 정보가 쉽게 유출될 수 있다. 이를 보완하기 위하여 영지식증명(ZKP: Zero-Knowledge Proof) 기반의 개인정보 보호 기술이 연구되고 있으나, 이는 특정 조건 충족 여부를 증명하는 데에 제한적이며, 일반적인 연산을 암호화 상태에서 직접 수행하는 기능은 제공하지 못하는 한계가 있다. 한편, 동형암호(FHE: Fully Homomorphic Encryption) 기술은 데이터의 복호화 없이도 덧셈, 곱셈, 비교와 같은 연산을 직접 수행할 수 있도록 지원하므로, 블록체인 스마트 계약의 개인정보 보호 문제를 근본적으로 해결할 수 있는 기술로 주목받고 있다. 하지만, 현재의 스마트 계약 언어는 동형암호(FHE)에 특화된 암호화 변수 타입을 지원하지 않으며, 암호화된 데이터를 직접 다룰 수 있는 연산자 체계 또한 제공하지 못하고 있다. 한국공개특허 제10-2023-0068089호는 블록체인 네트워크를 통한 동형 암호 기술 기반의 전자 투표 서비스 서버, 방법, 컴퓨터 판독 가능한 기록매체에 관한 것으로, 권자의 개인 정보를 동형 암호화하면서도 유권자의 투표 내용은 식별 가능한 상태로 블록에 기록함으로써, 유권자의 개인 정보를 보호함과 동시에 투표의 신뢰성을 보장할 수 있는 것을 특징으로 하지만 상기의 문제점을 해결하기 위한 방안이 개시되어 있지 않다. 따라서, 기존 기술에서는 사용자가 자신의 민감 데이터를 안전하게 제출하고, 이를 기반으로 계약 조건을 자동으로 검증·판단하며, 그 과정 전체가 암호화 상태로 유지되는 스마트 계약을 구현하는 것이 어려운 실정이다. 특히, 조건 검증 과정에서 “나이 ≥ 18세”, “소득 ≥ 3,000만원” 등과 같은 간단한 비교 연산조차 평문 기반으로 수행되므로, 개인정보 보호와 계약 자동화를 동시에 달성하는 데에 한계가 있다. 도 1은 본 발명의 일 실시예에 따른 동형암호 기반 사용자 정보 질의 응답 시스템을 설명하기 위한 블록도이다. 도 2는 본 발명의 일 실시예에 따른 동형암호 기반 사용자 정보 질의 응답 서버의 내부 구조를 설명하기 위한 블록도이다. 도 3은 본 발명에 따른 동형암호 기반 사용자 정보 질의 응답 방법의 일 실시예를 설명하기 위한 흐름도이다. 전술한 목적, 시그니처 및 장점은 첨부된 도면을 참조하여 상세하게 후술되며, 이에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 상세한 설명을 생략한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하기로 한다. 도면에서 동일한 참조부호는 동일 또는 유사한 구성요소를 가리키는 것으로 사용된다. 도 1은 본 발명의 일 실시예에 따른 동형암호 기반 사용자 정보 질의 응답 시스템을 설명하기 위한 블록도이다. 도 1을 참조하면, 동형암호 기반 사용자 정보 질의 응답 시스템은 제1 사용자 단말(100), 제2 사용자 단말(200) 및 동형암호 기반 사용자 정보 질의 응답 서버(300)를 포함한다. 제1 사용자 단말(100)은 사용자가 입력한 개인 정보 또는 조건 검증에 필요한 데이터(예: 나이, 소득, 근무연수 등)를 평문 형태로 수신한다. 이후, 제1 사용자 단말(100)은 로컬 저장소 또는 키 관리 서버(KMS)로부터 발급받은 공개키(pk) 및 개인키(sk) 쌍을 로드한다. 공개키(pk)는 암호화 연산에 사용되며, 개인키(sk)는 사용자 본인만이 복호화에 사용할 수 있도록 보안 모듈 내에 저장된다. 제1 사용자 단말(100)은 사용자의 평문 데이터에 대해 동형암호(FHE) 알고리즘을 적용하여 암호문 Enc(x)를 생성한다. 예를 들어, 사용자의 나이가 25세인 경우 Enc(age)=FHE.encrypt(pk,25) 와 같은 변환이 수행된다. 이때 생성된 암호문은 스마트 계약 언어(Solidity 등)에서 정의된 euint256 타입으로 매핑 가능하도록 형식을 지정하며, 각 데이터 필드는 JSON 혹은 ABI(Contract Interface) 구조로 패키징된다. 제1 사용자 단말(100)은 사용자가 특정 조건에 대한 검증을 요청할 경우, 해당 조건을 암호화 질의문 형태로 생성한다. 예컨대 “나이 ≥ 18세” 검증을 요청하는 경우, 연산자 정보(op), 비교 기준값(operand), 컨텍스트 정보(ctx), 키 식별자(keyId) 등이 포함된 조건 암호문 Q={op=GE,operand=Enc(18), ctx, keyId}를 생성한다. 제1 사용자 단말(100)은 상기 조건 암호문(Q)을 트랜잭션 형태로 변환하여 동형암호 기반 사용자 정보 질의 응답 서버(300)에 전송한다. 트랜잭션에는 암호화된 입력 데이터(Enc(age)), 조건 암호문(Q), 연산자 호출 정보(FHEcond 또는 FHEquery), 서명 및 해시 정보가 포함된다. 동형암호 기반 사용자 정보 질의 응답 서버(300)는 제1 사용자 단말(100)로부터 전송된 트랜잭션을 수신하면, 정합성 검증 후 조건 검증부(360)를 호출하여 암호화된 상태에서 조건 검증 연산을 수행한다. 조건 검증이 완료되면, 제1 사용자 단말(100)은 동형암호 기반 사용자 정보 질의 응답 서버(300)로부터 암호화된 결과값 Enc(b) 또는 영지식 증명값(π)을 수신한다. 사용자는 개인키(sk)를 이용하여 Enc(b)를 복호화하거나, 복호화 없이 영지식 증명값(π)의 검증 함수(verify())를 통해 조건 충족 여부를 확인할 수 있다. 이에 따라 제1 사용자 단말(100)은 사용자의 민감 정보를 평문으로 노출하지 않고, 동형암호(FHE) 방식으로 스마트 계약과 상호작용함으로써 프라이버시 보호와 계약 자동화를 동시에 달성할 수 있다. 제2 사용자 단말(200)은 제1 사용자 단말(100)로부터 제출된 암호화 데이터를 기반으로 조건 검증을 요청하고, 동형암호 기반 사용자 정보 질의 응답 서버(300)로부터 반환된 연산 결과를 이용하여 거래 승인, 서비스 접근, 결제 수행 등의 후속 동작을 실행하는 기능을 수행한다. 일 실시예에 있어서, 제2 사용자 단말(200)은 스마트 계약 실행을 위한 거래 요청 데이터를 수집하여 조건 검증 요청 패킷(Query Request Packet)을 생성한다. 상기 요청 패킷은 거래 요청 ID(tx_id), 검증 대상 항목(예: Enc(age), Enc(income)), 검증 조건(예: FHE.ge, FHE.eq 등), 요청자 서명(Signature), 무결성 검증용 해시(Hash) 및 임의 난수 값(nonce)를 포함한다. 제2 사용자 단말(200)은 생성된 조건 검증 요청 패킷을 트랜잭션 형태로 변환하여 동형암호 기반 사용자 정보 질의 응답 서버(300)에 전송한다. 이때 전송되는 데이터는 모두 암호화된 상태로 유지되며, 평문 데이터는 포함되지 않는다. 트랜잭션에는 조건 검증 함수 호출 정보(FHEcond() 또는 FHEquery())와 암호화된 입력 데이터, 비교 기준 암호문, 연산 경로 식별자, 서명 정보가 함께 포함된다. 동형암호 기반 사용자 정보 질의 응답 서버(300)는 제2 사용자 단말(200)로부터 수신된 트랜잭션을 정합성 검증한 후, 조건 검증부(360)를 호출하여 동형암호(FHE) 연산을 수행하고, 검증 결과를 암호화된 상태로 반환한다. 제2 사용자 단말(200)은 동형암호 기반 사용자 정보 질의 응답 서버(300)로부터 결과값 Enc(b) 또는 영지식 증명값(π)을 수신하여, 다음 중 하나의 방식으로 검증을 수행한다. 제2 사용자 단말(200)은 개인키(sk)를 이용하여 Enc(b)를 복호화함으로써 조건 충족 여부를 직접 확인할 수 있거나 복호화 없이 영지식 증명값(π)에 대한 검증 함수 verify()를 수행하여 결과의 정당성을 판정할 수 있다. 이후 제2 사용자 단말(200)은 검증 결과에 따라 후속 동작을 자동으로 수행한다. 예컨대, 결과값이 Enc(1)인 경우 조건이 충족된 것으로 판단하여 거래 승인, 서비스 접근 허용, 결제 실행 등의 프로세스를 진행하며, 결과값이 Enc(0)인 경우에는 요청을 거절하거나 재시도 대기 상태로 전환한다. 또한 제2 사용자 단말(200)은 각 검증 요청 및 응답 결과를 감사 로그(Audit Log)로 기록한다. 상기 로그에는 트랜잭션 ID, 연산 경로 정보(프리컴파일, zkEVM, 오프체인 실행기 등), 입력 데이터 해시, 키 버전 정보가 포함되며, 이는 사후 검증 및 분쟁 발생 시 신뢰 가능한 증거 자료로 활용될 수 있다. 따라서 제2 사용자 단말(200)은 조건 검증 요청, 암호화 트랜잭션 전송, 결과 검증, 후속 처리 및 감사 기록의 전 과정을 수행함으로써, 사용자의 민감 데이터에 대한 직접 접근 없이도 스마트 계약의 실행 조건을 안전하게 판정할 수 있다. 동형암호 기반 사용자 정보 질의 응답 서버(300)는 제1 사용자 단말(100) 및 제2 사용자 단말(200)로부