December 15,2019

영지식증명으로 개인 데이터 보호 강화

서비스 사용 인증 유효성 인증할 수 있어

FacebookTwitter
GDPR로 개인 정보 관한 규정이 강화되고 있다. ⓒ Flickr

GDPR로 개인 정보 관한 규정이 강화되고 있다. ⓒ Flickr

유럽연합(EU)이 개인데이터보호규정(GDPR)을 발표한지 1년이 넘었다. 2015년 5월 EU는 유럽 시민의 개인 데이터 보호 강화를 위한 신규 규제 법안을 발표했고, 유예 기간을 거쳐 2018년 5월 시행했다.

GDPR 적용 대상은 유럽 시민의 개인 데이터를 다루는 기업으로 한정한다. 다시 말해, GDPR의 보호 대상은 유럽 시민의 개인 데이터이다. 기업은 이들 관련 데이터를 마음대로 보유하거나 가공할 수 없다. 허락을 받아야 한다. 그리고 데이터 관리 방식을 투명하게 공유해야 한다. 핵심은 개인 데이터를 무작위로 수집하지 못하게 하는 것이다.

GDPR 규제는 기업에게 가혹해 보일 수 있다. 그러나 4차 산업혁명 관점에서 보면, 적절한 조치일 수 있다. 현재 사물인터넷(IoT), 소셜네트워크서비스(SNS), 검색 포털 등에 의해서 개인 데이터가 수집되어 가공되고 있기 때문이다.

이러한 이유로, 여러 국가에서는 GDPR과 같은 개인 데이터 강화 방안을 모색하고 있다. 그러나 쉽지 않은 상황이다.

지난 5일 과학기술정보방송통신위원회 박광온 의원(더불어민주당)이 발표한 정보통신망 개인정보 유출 현황 분석 자료에 따르면 2012년 8월부터 2019년 8월까지 7428만 건의 개인 데이터가 유출됐다. 유출된 횟수는 340회에 이른다.

개인 데이터 수집 최소화는 유출 문제를 해결할 수 있는 가장 근본적인 방법이다. 이에 GDPR 등 정보 보호 규정에서 요구하는 주요 항목이기도 하다. 개인 데이터 수집이 적으면, 데이터 유출 건수도 줄어들기 때문이다. 하지만 익명의 공간인 인터넷에서 쉽지 않은 일이다.

개인 인증을 요구하는 서비스는 개인 데이터 수집이 필수이기 때문이다. 전자 금융 거래를 예로 들어보자. 금융 거래 회사는 사용자가 금융 거래를 했음을 증명할 수 있는 데이터를 기록해야 한다. 그렇게 해야만, 해당 거래의 유효성 여부를 검증할 수 있다. 그리고 거래 사기와 같은 악의적인 사건에 대응할 수 있다.

그러나 해결책이 없는 것은 아니다.

영지식증명(ZKP, Zero Knowledge Proof)을 활용하면 개인 데이터 수집을 최소화할 수 있기 때문이다. 영지식증명은 검증자가 데이터를 직접적으로 보지 않고도 서비스 사용 인증의 유효성을 입증할 수 있는 기술이다.

영지식증명, 인증에 필요한 개인 데이터 노출을 줄여줘

인터넷 공간에서 공유되는 데이터는 크게 ‘공개 데이터’와 ‘개인 데이터’로 나눌 수 있다. 공유 데이터는 인터넷 공간에서 공개적으로 공유되는 일반 데이터이다. 뉴스, 날씨 등이 이에 해당한다.

반면 개인 데이터는 본인 인증, 인터넷 공간에서의 활동 내역 등이 이에 해당한다. 따라서 개인 데이터 유출 사고는 이러한 데이터의 유출을 의미한다.

영지식증명은 후자의 데이터 수집을 최소화한다. 그중에서도 서비스 사용 인증에 관한 개인 데이터 수집을 줄여준다.

물론, 본인 여부 인증에도 영지식증명을 적용할 수 있다. 그러나 적용할 필요가 없다. 인증 기능을 빼면 되기 때문이다. 다시 말해, 특정 서비스에서 계정 기능을 넣은 이유는 본인 인증이 필요하기 때문이다. 이를 숨겨야 한다면, 계정 기능을 구현하지 않으면 된다.

추론으로 진위 여부를 증명할 수 있어

영지식증명은 단어에서도 뜻을 유추할 수 있는데, 영의 지식으로 증명하는 기술로 풀어서 정의할 수 있다. 다시 말해, 증명에 필요한 직접적이면서도 결정적인 정보를 제공하지 않는다는 뜻이다.

그런데 여기서 중요한 특징이 있다. 영지식증명은 확률을 기반으로 한다. 다시 말해, 영지식증명은 그럴 가능성이 높음을 제시할 뿐이다. 100% 확신할 수 있도록 증명하지 못한다.

영지식증명은 결정적으로 중요한 데이터를 근거로 증명하지 않기 때문이다. 다만, 검증자가 옳을 수 있음을 추론할 수 있도록 데이터를 제공한다.

이에 따라, 영지식증명에는 세 가지 조건이 뒤따른다. 첫 번째는 완전성(Completeness)이다. 증명자가 올바른 데이터를 입증할 때 충족하는 조건이다. 증명자는 검증자가 충분히 높은 확률로 데이터가 올바름을 알 수 있게 증명해야 한다. 건전성(Soundness)은 진술이 거짓일 때 만족해야 하는 조건이다. 거짓 데이터를 올바른 것으로 입증할 확률이 충분히 낮아야 한다. 끝으로 영지식(Zero-Knolwledge)는 검증자가 증명 내용의 사실 여부만을 알 수 있어야 한다.

조건을 보면, 확률이 등장한다. 그리고 ‘충분’이라는 단어도 등장한다. 어느 정도 돼야지 충분히 높은 확률 혹은 충분히 낮은 확률의 조건을 만족할까? 주관적일 수밖에 없다. 보편적으로 받아들일 수 있는 수치로 이해하면 된다.

이해를 돕기 위해 예를 들어보자. 증명자와 검증자가 있다. 검증자는 시각 장애인이다. 그리고 검증자에게는 ‘빨간 공’과 ‘흰색 공’이 있다. 증명자는 검증자가 색깔이 다른 공을 들고 있다고 말하고 싶다. 대신, 공 색깔을 말해서는 안 된다. 어떻게 이를 입증할까? 영지식증명의 방법을 이용할 수 있다.

검증자는 공을 서랍 밑에 숨겨서 증명자가 보이지 않게 한다. 그리고 검증자는 첫 번째 공을 보인다. 그리고 증명자는 이후 공 색깔이 첫 번째의 것과 동일 유무를 말해야 한다. 공 색깔이 정말로 다르다면, 검증자는 100% 확률로 다름을 증명할 수 있다. 그러나 공 색깔이 같다면, 시도 횟수가 늘어날수록 맞출 확률은 낮아진다. 공 색깔이 비슷하기 때문에 검증자는 1/2 확률로 답을 맞힐 수 있다. 이러한 시도가 10번 일어나면 1/1024(2분의 1의 10제곱 수) 확률로 맞출 수 있는데, 이는 맞출 확률이 매우 낮음을 의미한다. 다시 말해, 증명자가 거짓 정보를 줄 확률이 충분히 낮다. 그러므로 증명자가 공의 색깔을 모두 맞춘다면, 검증자는 공의 색깔이 다름을 확신할 수 있다.

블록체인과 함께 영지식증명이 주목받기 시작해

영지식증명을 기반으로 한 비밀번호 계정 ⓒ Pixabay

영지식증명을 기반으로 한 비밀번호 계정 ⓒ Pixabay

영지식증명은 직접적인 데이터 노출 없이도 진위를 확인할 수 있게 한다. 이는 서비스 사용 시에 민감 데이터를 증명 방식으로 쓰이는 곳에 활용할 수 있게 한다. 시스템 계정 비밀번호를 예로 들어보자.

비밀번호는 개인의 중요 데이터이다. 누구에게도 노출이 돼서는 안 된다. 그러나 사용자가 입력한 비밀번호가 맞음을 입증해야 한다. 이에 영지식증명이 활용될 수 있다. 예시를 통해 구체적으로 살펴보자.

사용자는 시스템에 비밀번호를 생성한다. 그런데 이러한 비밀번호 값은 암호화 알고리즘에 의해서 임의의 값으로 변형된다. 이러한 값을 해시(Hash)라고 부르고, 이러한 알고리즘을 해시 알고리즘이라고 부른다. 해시 알고리즘은 어떤 투입값을 넣으면 해시로 산출해낸다. 참고로 해시를 가지고 투입값을 역으로 알아내는 것은 거의 불가능에 가깝다. 세계 최고 슈퍼컴퓨터를 가지고 시도한다고 해도, 수십 년이 걸린다.

따라서 시스템은 비밀번호를 그대로 저장하는 것이 아니라, 해시 값으로 바꿔서 저장한다. 그리고 사용자가 비밀번호를 입력할 시에 입력값으로 비밀번호를 대조하지 않는다. 입력값을 해시로 변형해서 해시 동일 유무를 통해 비밀번호 진위를 판별한다. 비밀번호 정보 노출 없이도 인증할 수 있는 셈이다.

최근에는 블록체인 산업에서도 영지식증명이 주목받고 있다. 블록체인의 단점은 거래 데이터가 공유될 수밖에 없다는 점이다. 그래야만 채굴자(검증자)가 데이터의 유효성을 검증하기 때문이다. 이에 따라, 블록체인 산업에서는 영지식증명이 활용되어 데이터를 숨기고도 유효성을 검증할 방안이 등장하고 있다.

영지식증명은 계정 정보와 블록체인에만 국한되지 않는다. 앞서 언급했듯이, 서비스 사용자 인증에서 개인 데이터 보호 부분에 활용될 수 있다. 이는 개인 데이터 강화뿐만 아니라, 서비스 효율성을 높인다. 불필요한 데이터 저장을 줄여주고, 불필요한 데이터가 네트워크상에서 오가는 것도 줄여준다. 인증에 필요한 값만을 저장하고, 이러한 값만을 네트워크상에서 오가게 하면 되기 때문이다.

의견달기(0)