데이터 반출 없는 다기관 연합 인공지능 학습 플랫폼

개인정보보호 강화 기술 31

데이터 분석을 위한 익명화 기법

익명화(Anonymization)는 개인 식별 정보를 제거하거나 변환하여 데이터의 유용성은 유지하면서 개인정보를 안전하게 보호하는 핵심 기술입니다. 본 문서는 성공적인 데이터 익명화를 위해 '왜' 익명화가 필요한지 이해하고, 보호 수준을 측정하는 '무엇(프라이버시 모델)'을 배우며, 이를 구현하는 '어떻게(처리 기법)'를 단계적으로 알아봅니다.1. 주요 용어 정리익명화 기법을 이해하기 전에 몇 가지 핵심 용어를 알아두는 것이 좋습니다.식별자 (Identifier): 그 자체만으로 특정 개인을 바로 알아볼 수 있는 정보입니다. (예: 주민등록번호, 여권번호, 이름, 전화번호)준식별자 (Quasi-identifier): 단독으로는 개인을 식별하기 어렵지만, 다른 정보와 결합하면 특정 개인을 추론할 수 있는 ..

k-익명성 vs. 차등 정보보호: 무엇이, 어떻게 다른가?

개인정보 보호 기술의 세계에는 서로 다른 두 가지 접근법이 존재합니다. 바로 k-익명성(k-anonymity)으로 대표되는 '데이터 익명화'와 차등 정보보호(Differential Privacy)라는 '통계적 프라이버시'입니다.​결론부터 말하자면, 차등 정보보호는 k-익명성, l-다양성, t-근접성과 직접적으로 비교하거나 연관 짓기 어렵습니다. 이 둘은 서로를 대체하는 관계가 아닌, 각기 다른 문제 상황을 해결하기 위한 별개의 도구이기 때문입니다.​핵심 차이점: '데이터'를 보호하는가, '분석 결과'를 보호하는가?두 기술의 가장 큰 차이는 무엇을 보호의 대상으로 삼는지에 있습니다.1. k-익명성 (k-anonymity), l-다양성, t-근접성​"데이터 자체를 수정하여 안전하게 만든다"​이 기법들은 데이..

ECC-04. 타원 곡선 디지털 서명 알고리즘(ECDSA)

타원 곡선 암호에서 디지털 서명은 타원 곡선 디지털 서명 알고리즘(ECDSA)을 통해 이루어집니다. 이는 메시지를 보낸 사람이 정말 본인인지(인증), 메시지가 위변조되지 않았는지(무결성), 그리고 서명한 사실을 부인할 수 없도록(부인 방지) 보장하는 기술입니다. ​핵심 원리는 공개 키로는 할 수 없지만 개인 키(비밀 키)로만 쉽게 할 수 있는 수학적 연산을 이용하는 것입니다. 즉, 개인 키 소유자만이 유효한 서명을 생성할 수 있고, 다른 사람들은 해당 개인 키와 쌍을 이루는 공개 키를 이용해 그 서명이 올바른지 검증할 수 있습니다. 앨리스가 밥에게 메시지를 서명하여 보낸다고 가정해 보겠습니다.​1. 키 생성​먼저, 앨리스는 서명과 검증에 사용할 한 쌍의 키를 생성해야 합니다.공통 정보 공유: 서명자와 검..

ECC-03. 타원 곡선 디피-헬만(ECDH) 키 교환

타원 곡선 디피-헬만(ECDH) 키 교환은 타원 곡선 암호(ECC)를 이용하여 안전하게 비밀 키를 공유하는 방법입니다. 이 과정의 보안은 '타원 곡선 이산 로그 문제(Elliptic Curve Discrete Logarithm Problem, ECDLP)'라는 수학적 난제에 기반을 둡니다.​쉽게 말해, 타원 곡선 위의 한 점에서 특정 연산을 반복하여 다른 점을 찾는 것은 쉽지만, 결과 점만 가지고 몇 번의 연산을 했는지 알아내는 것은 계산적으로 매우 어렵다는 원리입니다.​ECDH 키 교환 과정앨리스와 밥이 안전하지 않은 통신 채널을 통해 비밀 키를 공유하려는 상황을 가정해 보겠습니다.초기 설정 공유: 먼저, 앨리스와 밥은 모두가 알아도 되는 공개된 정보 두 가지를 사전에 합의합니다.타원 곡선 (E): 사..

CMATH-11. 암호학에서 유한체를 정의할 때 소수를 사용하는 이유

암호학에서 유한체를 정의할 때 소수($p$)를 사용하는 이유는 단순히 숫자가 커서가 아니라, 수학적으로 '체(Field)'라는 완벽한 대수 구조를 형성하기 위한 필수 조건이기 때문입니다. 물리학에서 계(system)가 붕괴하지 않기 위해 보존 법칙이 필요하듯, 암호 연산이 성립하기 위해서는 모든 원소에 대해 역원(Inverse)이 존재해야 합니다.1. 모든 원소의 역원 존재 (나눗셈의 가능성)가장 핵심적인 이유는 '0을 제외한 모든 원소로 나눌 수 있어야 한다'는 것입니다.합성수($n$)를 사용할 때: 예를 들어 $\pmod 6$의 세계를 가정해 봅시다.$2 \times 3 = 6 \equiv 0 \pmod 6$ 입니다.여기서 $2$에 무엇을 곱해도 $1$이 될 수 없습니다. 즉, 2의 역원($1/2$)..

CMATH-10. 로그 문제, 이산 로그 문제, 타원 곡선 이산 로그 문제

수학적 원리에서 현대 암호학의 정수까지, 로그(Logarithm)라는 개념이 어떻게 진화하며 난이도를 쌓아왔는지 핵심 위주로 정리합니다.1. 로그 문제 (Logarithm Problem)우리가 흔히 아는 실수 체계에서의 로그입니다. 연속적인 공간에서의 연산을 다룹니다.정의: $b^x = y$ 일 때, 지수 $x$를 찾는 문제입니다 ($x = \log_b y$).특징: 공간이 연속적입니다.난이도: 매우 쉬움. 수치 해석적인 방법(Newton's method 등)이나 테일러 급수 전개를 통해 소수점 아래 수만 자리까지도 순식간에 계산할 수 있습니다.비유: 매끄러운 오르막길에서 특정 높이에 도달하기 위해 몇 미터를 걸어야 하는지 찾는 것과 같습니다.2. 이산 로그 문제 (Discrete Logarithm Pr..

ECC-02. 타원 곡선 암호 키 생성

타원 곡선 암호(Elliptic Curve Cryptography, ECC)에서 키 생성은 공개 키 암호 방식의 핵심적인 부분으로, 개인 키와 공개 키라는 한 쌍의 키를 만드는 과정입니다. 이 과정은 타원 곡선 위의 점들을 이용한 수학적 연산을 기반으로 합니다.핵심 개념키 생성 과정을 이해하기 위해서는 몇 가지 기본적인 개념을 알아야 합니다.타원 곡선: 특정 수학 방정식($y^2=x^3+ax+b$ 형태)을 만족하는 점들의 집합입니다. 암호학에서는 유한체(finite field) 상에서 정의된 타원 곡선을 사용합니다.기저점 (G): 타원 곡선 위에 미리 정해진 기준이 되는 점입니다. 이 점은 모든 참여자에게 공개되어 있습니다.개인 키 (d): 사용자가 비밀리에 선택하는 매우 큰 정수입니다. 이 키는 절대로..

CMATH-09. ECDLP가 DLP보다 풀기 어려운 이유

핵심을 한 문장으로 요약하면, 전통적인 DLP를 푸는 데에는 '지름길' 같은 효율적인 공격 알고리즘이 존재하지만, ECDLP에는 아직 그런 '지름길'이 발견되지 않았기 때문입니다.문제의 구조적 차이: 왜 '지름길'이 없을까?두 문제의 난이도 차이는 이들이 정의된 수학적 공간의 근본적인 구조 차이에서 비롯됩니다.​사람 찾기 비유전통적인 DLP: 잘 정돈된 격자 도시에서 특정 번지수(h)를 가진 집을 찾는 것과 같습니다. 이 도시에는 g라는 '이동 규칙'(예: 동쪽으로 1칸, 북쪽으로 2칸)이 있고, 이 규칙을 몇 번(x) 반복하면 목표(h)에 도착하는지 알아내는 것이 문제입니다. 도시가 매우 규칙적이기 때문에, 우리는 지도를 활용하고, 구역을 나누어 탐색하는 등 효율적인 탐색 전략(지름길)을 사용할 수 있..

CMATH-08. 유한체 위의 타원 곡선 이산 로그 문제(ECDLP)

암호학에서 사용되는 타원 곡선 이산 로그 문제(Elliptic Curve Discrete Logarithm Problem, ECDLP)는 반드시 유한체(Finite Field) 위에서 정의됩니다. 우리가 개념을 설명할 때 흔히 보는 부드러운 곡선 그래프는 실수(Real Numbers) 위에서 그려진 것이지만, 이를 직접 암호에 사용하지는 않습니다.실수 위가 아닌, 유한체 위의 점들암호학에 타원 곡선을 사용하기 위해서는 곡선을 이산적이고 유한한 공간으로 가져와야 합니다. 이는 모든 계산을 특정 소수 p로 나눈 나머지, 즉 모듈러 연산(Modular Arithmetic)을 통해 수행함으로써 이루어집니다.개념 (실수 위): $y^2 = x^3 + ax + b$ 방정식의 해가 되는 무한히 많은 점 (x, y)들..

ECC-01. 타원 곡선 암호(ECC)

타원 곡선(Elliptic Curve)은 이름과 달리 타원 모양이 아니며, 특정 수학 방정식을 만족하는 점들의 집합으로 정의됩니다. 이 곡선은 독특한 성질을 가지고 있어 현대 암호학에서 매우 중요한 역할을 합니다.타원 곡선이란?타원 곡선은 일반적으로 다음과 같은 형태의 방정식으로 정의됩니다.$y^2=x^3+ax+b$​여기서 a와 b는 상수이며, 곡선이 특이점(뾰족한 점이나 교차점)을 갖지 않도록$4a^3+27b^2\ne 0$​이라는 조건을 만족해야 합니다. 이 방정식의 해가 되는 모든 점 $(x, y)$와 무한 원점(point at infinity, $\mathcal{O}$)이라고 불리는 특별한 점을 포함하여 타원 곡선을 구성합니다.타원 곡선 예시(출처: 위키피디아)​ 그래프를 보면 알 수 있듯이, 타원..