[PROOFER] 유즈케이스::신원증명- “블록체인이 제공하는 보안성과 암호화 알고리즘이 제공하는 보안성의 비교”

유미선
proofer-tech
Published in
7 min readDec 22, 2019

Writer : 유미선(Misun Yoo)
Reviewer : 맹주현(Juhyun Maeng)
Blockchain Academy PROOFER

Photo byGerd Altmann on Pixabay

블록체인 학회 ‘PROOFER’에서 신원증명 분야에서의 블록체인 보안성에 관한 3부작 글을 연재하며, 연재의 구성은 다음과 같습니다.

1.블록체인이 제공하는 보안성과 암호화 알고리즘이 제공하는 보안성의 비교

2.블록체인 기반 신원증명 DID의 보안성과 한계 — Part 1

3. 블록체인 기반 신원증명 DID의 효용 및 전망 — Part 2

이번에 다루는 주제는 “블록체인이 제공하는 보안성과 암호화 알고리즘이 제공하는 보안성의 비교” 입니다.

글의 순서는 블록체인에서 비롯된 보안성, 암호화 알고리즘에서 비롯된 보안성으로 나누어 설명합니다.

Executive summary

미국의 IT컨설팅 펌 가트너는 매년마다 이듬해의 10대 전략 기술 트렌드를 발표하는 것으로 유명하다. 특히 다가오는 2020년을 맞아 지난 10월에 발간한 보고서에서는 앞으로 5~10년간 혁신과 기회를 이끌 트렌드로 ‘실용적인 블록체인(Practical Blockchain)’을 들며 기업들에게 블록체인 도입에 대한 검토를 시작할 것을 권유하기도 했다.

이는 블록체인이 초기 시장에서 나아가 보다 대중적인 활용 사례를 통해 보다 큰 영향력을 지닐 수 있음을 시사하는 것이기도 하다. 이처럼 블록체인의 활용처를 논할 때 종종 접할 수 있는 단어 중 하나가 바로 ‘블록체인의 보안성’이다. 특히 블록체인 자체가 보안과 안전성이 강조되는 데이터 저장기술인만큼 ‘보안성’ 키워드는 블록체인과 밀접하게 연관되어 블록체인의 대표적 장점 중 하나로 종종 언급된다.

그러나 실제 블록체인을 도입할 기업의 입장에서는 정말 블록체인의 도입만으로 모든 보안 문제를 만능으로 해결할 수 있는 것인지, 그리고 블록체인이 제공하는 보안 기능을 대체할 다른 방안이 존재하지는 않는 것인지에 대한 의문을 가질 수밖에 없다. 이에 본고에서는 블록체인 자체로 해결 가능한 보안 기능과 블록체인 없이도 해결 가능한 보안 기능을 나누어 살펴보려 한다. 이에 따라 먼저 블록체인에서 비롯한 보안성인 무결성, 부인방지, 가용성에 대해서 설명한 뒤, 암호화 알고리즘에서 비롯하여 블록체인의 도입 없이도 해결 가능한 보안성인 기밀성과 익명성에 대해 설명하고자 한다.

블록체인이 제공하는 보안성: 무결성 및 부인방지와 가용성

블록체인은 다음과 같은 데이터의 생성 및 저장 방식을 바탕으로 무결성 및 부인 방지와 가용성 기능을 확보하여 이용자의 지속적 이용 가능성을 보장하는 시스템에 대한 신뢰를 제공할 수 있다.

무결성

무결성이란 위·변조를 방지하여 데이터의 신뢰성을 지키는 성질이다. 이와 관련하여 블록체인은 해시 함수를 사용함으로써 데이터 위·변조를 불가능하게 한다는 점에서 무결성을 지닌다. 예를 들어 블록체인은 과거의 모든 거래내역이 담긴 장부를 해시 값으로 변환하여 전송하고, 그 결과를 블록체인 네트워크에 참여한 다른 노드들이 검증하게 함으로써 기록 위·변조를 통해 이미 사용하여 기록된 자산을 두 번 사용하려는 이중지불 문제를 막을 수 있다. 이때 해시 값은 데이터를 고유하게 식별하는 숫자 값으로, 같은 입력값은 항상 같은 해시값으로 변환하는 성질을 가진다. 이를 바탕으로 수신된 데이터의 해시 값을 전송된 데이터의 해시 값과 비교하여 데이터의 진본 여부를 확인할 수 있기 때문에 데이터의 무결성을 확인하는 데도 유용하다. 다만 디지털 상에 기록된 거래의 무결성을 보장할 수 있으나, 디지털 상에 실제 기록이 옮겨지기 전의 위변조 여부는 보장하기 어렵다는 점에서 오라클 문제도 존재한다.

부인방지

이러한 무결성은 곧 거래 기록 등의 행위 과정이 투명하게 기록된다는 점에서 어떠한 행위를 한 후 그 행위에 대해 부인하는 것을 방지할 수 있다는 기능과도 연결된다. 예를 들어 거래 입금이 완료되었음에도 이를 받지 않았다고 부인하는 경우 거래 기록을 바탕으로 진위를 판별하는데 도움이 될 수 있다.

가용성

다음으로 블록체인은 특정 노드가 DDoS 등 해킹 공격을 받더라도 다른 노드를 통해서 언제든 서비스에 접근할 수 있다는 점에서 가용성을 지닌다. 한 곳에 데이터가 중앙 저장된 경우 단일 시스템의 실패가 전체 데이터의 손실로 이어지는 단일 실패 지점(Single point of failure) 위험을 분산 시스템을 기반으로 한 블록체인은 걱정하지 않아도 되기 때문이다.

이와 같은 블록체인의 보안성은 디지털화 되어 가는 현대 사회에서 데이터의 신뢰를 강화하는데 있어 중요한 기능을 하리란 기대를 받고 있다. 그러나 좀 더 나아가 정보를 외부로 유출되는 것을 막아 보호하는 것과 관련된 보안 기능은 블록체인의 적용만으로 얻어지는 것이 아니다.

암호화 알고리즘이 제공하는 보안성: 기밀성과 익명성

앞서 언급한 정보의 외부 유출 보호와 연관한 보안 기능으로는 기밀성과 익명성이 있으며, 기밀성은 사용자가 보유하고 있는 중요 정보를 보호하는 반면 익명성은 사용자의 신원과 관련된 정보를 보호한다. 두 기능은 모두 비대칭 암호화 알고리즘을 통해 얻어지는 것들이며, 블록체인만으로는 이를 충족할 수 없다는 공통점을 지닌다. 이는 해당 기능이 블록체인의 적용 없이도 암호화 알고리즘만을 적용한 시스템이라면 충족할 수 있는 것임을 의미한다.

기밀성

기밀성은 중요 정보를 보호하고 유출을 방지하며 권한 없는 사용자가 해당 정보를 탈취해도 읽을 수 없도록 하는 것과 관련된 기능이다. 이와 관련하여 블록체인 상의 비트코인 등은 권한이 없는 자가 특정 데이터에 접근하지 못하도록 하는 기밀성을 제공한다. 하지만 이는 블록체인 자체에서 비롯된 기능이 아니라 비대칭 암호화 알고리즘에 따라 개인키로 인증한 사용자가 아니면 전송된 내용을 볼 수 없다는 점을 바탕으로 한 보안 기능이다. 비대칭 암호화 알고리즘은 계정마다 서로 다른 공개 키와 개인 키를 생성하여 암호화 및 복호화에 사용한다는 특징에 따라 붙여진 이름이다. 또한 개인 키로 암호화한 정보는 그 쌍이 되는 공개 키로 누구나 복호화가 가능하다. 그러나 특정한 공개 키로 복호화를 하려면 이와 쌍을 이루는 특정 개인 키로 암호화된 상태여야 한다는 점에서 암호화 작성자가 개인 키의 소유자임을 보증하는 전자서명의 역할을 할 수 있다. 추가적으로 공개 키로 암호화한 정보는 특정한 개인 키로만 복호화하여 수신할 수 있다. 이에 따라 전송자가 수신자를 지정하면 동일한 비밀 키를 공유하지 않고도 메시지를 전송할 수 있다.

뿐만 아니라 정보의 보호 및 유출은 순수하게 블록체인만으로는 해결할 수 없는 문제이다. 암호 키 등의 비밀번호 자체는 공격자가 이를 탈취함에 따라 얼마든지 해당 정보에 접근할 수 있다는 문제를 지니기 때문이다. 일례로 이와 같은 가능성 때문에 사용자들은 암호화 자산을 관리할 때 암호 키에 대한 기밀성을 확보하기 위해 종이에 이를 적어 보관하거나, 하드웨어 월렛을 사용하기도 한다. 또한 정보를 블록체인 상에 기록하는 것은 오히려 기밀성을 위협하는 공격 가능성을 만들 수도 있다. 이러한 문제를 극복하기 위해 해시 값만을 블록체인 상에 기록할 수도 있지만 이는 기밀성의 보장이 아닌 무결성의 검증이라고 보는 편이 더 정확하다.

익명성

또한 블록체인 기반의 비트코인 등이 익명성을 제공할 수 있는 이유는 블록체인을 적용했기 때문이 아니라 비대칭 암호화 알고리즘을 사용했기 때문이다. 이에 따라 개인정보를 받는 대신에 개인 식별 정보로서 개인 키를 사용하여 개인 키가 사용자 계정의 역할을 대신 하게 된다. 또한 계좌번호에 해당하는 공개 키는 개인 키를 기반으로 생성하는 방식을 통해 익명성을 띤 암호 자산의 거래 등을 가능하게 한다.

Reference

이어지는 연재 게시물 링크:

블록체인 기반 신원증명 DID의 보안성과 한계 — Part 1

블록체인 기반 신원증명 DID의 효용 및 전망 — Part 2

--

--