영지식 증명이 하는 일
보통 무언가를 증명하려면 증거를 보여줘야 합니다. 비밀번호를 입력하거나 신분증을 건네는 식입니다. 이 과정에서 상대가 알 필요 없는 정보까지 드러날 수 있습니다.
영지식 증명은 이 방식을 바꿔주는 암호화 기법입니다. 증명자라 불리는 한 사람이, 검증자라 불리는 다른 사람에게 주장을 사실로 만드는 비밀은 밝히지 않은 채 정확한 주장을 입증합니다. 검증자는 필요한 답, 예를 들어 나이 조건을 충족한다는 사실은 알게 되지만 생일이나 주소, 문서 번호는 알지 못합니다.
막연한 프라이버시 약속이 아닙니다. 증명은 하나의 정확한 주장을 위해 설계되어야 하며, 잘 설계된 증명은 부정행위를 사실상 불가능에 가깝게 만듭니다.
동굴 비유
잠긴 문 뒤에서 두 갈래 길이 만나는 동굴을 상상해 보십시오. 문은 비밀 단어를 말해야만 열립니다. 당신은 그 단어를 알고 있다고 말하지만, 소리 내어 말하고 싶지는 않습니다.
친구가 밖에서 기다리는 동안 당신은 두 길 중 하나로 들어갑니다. 친구는 당신이 어느 길로 돌아오길 원하는지 외칩니다. 비밀 단어를 알고 있다면 동굴 안에서 문을 열고 어느 쪽으로든 돌아올 수 있습니다. 그냥 찍은 것이라면 원하는 쪽으로 나올 확률은 반반뿐입니다.
이 테스트를 매번 예측할 수 없는 새로운 선택으로 여러 번 반복합니다. 열 번 연속 성공하면 허풍을 떠는 사람이 운으로 통과할 확률은 약 1,000분의 1에 불과합니다. 친구는 당신이 그 단어를 알고 있다는 강력한 증거를 얻지만, 단어 자체는 결코 듣지 못합니다.
동굴 이야기에서 실제 소프트웨어로
실제 증명은 동굴 대신 수학을 사용하지만, 프라이버시 목표는 같습니다. 거래의 모든 세부 내용을 드러내지 않고도 규칙을 따랐음을 보여줄 수 있습니다. 또한 하나의 작은 증명으로 대량의 검사를 대신할 수 있어, 일부 시스템의 검증 속도를 높이기도 합니다.
디지털 자격 증명도 실용적인 활용 사례입니다. 모든 서비스에 신분증 전체를 올리는 대신, 잘 설계된 자격 증명은 딱 필요한 질문에만 답할 수 있습니다. “이 사람은 18세 이상인가?” 또는 “이 자격을 갖추고 있는가?” 같은 질문입니다.
세부 사항이 중요합니다. 증명은 그것이 숨기도록 설계된 정보만 보호합니다. 앱의 다른 부분에서는 여전히 데이터를 수집하거나, 사용자를 식별하거나, 보안이 허술한 선택을 할 수 있습니다.
영지식 증명 vs. 영지식 암호화
'영지식'이라는 표현은 클라우드 스토리지에서도 쓰입니다. 하지만 이는 전혀 다른 개념입니다. 영지식 암호화는 복호화 키가 없어서 저장소 제공업체가 파일을 읽을 수 없다는 뜻입니다.
영지식 증명은 답 뒤의 비밀을 드러내지 않고 질문에 답합니다. 영지식 암호화는 저장된 파일을 제공업체가 읽을 수 없게 만듭니다. 둘 다 프라이버시를 높여주지만 서로 바꿔 쓸 수는 없습니다.
실용적인 프라이버시 교훈
영지식 증명은 어떤 일을 하는 데 필요한 최소한의 정보만 공유하면 된다는 사실을 일깨워 줍니다. 그렇다고 익명이 되거나 앱의 모든 부분이 안전해지는 것은 아닙니다. 서비스는 여전히 당신이 접속했다는 사실, 접속 시각, 증명 범위 밖의 다른 정보를 알 수 있습니다.
Sealby는 무언가를 증명해 달라고 요구하는 계정이나 서버가 없어서 영지식 증명이 필요하지 않습니다. 파일은 iPhone에서 암호화됩니다. 일상적인 프라이버시를 지키려면 질문은 간단합니다. 이 서비스가 정말로 알아야 할 정보는 무엇이며, 더 적은 정보로도 작동할 수 있는지입니다.