한호현 경희대학교 컴퓨터공학과 교수

[컴퓨터월드] 비트코인으로 인해 블록체인에 대한 관심이 나날이 증가하고 있다. 특히 위·변조와 관련 논란이 뜨겁다. 즉 위조 및 변조, 해킹이 불가능하다는 주장과 그렇지 않다는 주장이 맞서고 있는 것이다. 대다수 전문가들은 불가능하다고 주장하지만, 어떤 환경이든 가능하다’는 주장이 설득력을 얻고 있다. 불가능하다는 주장은 기존의 중앙 집중시스템이 위조나 변조, 해킹도 가능하다는 잘못된 전제로 나온 것이라고 한다. 때문에 블록체인이나 비트코인도 위조, 변조, 해킹이 가능하다는 것이다.

한호현 경희대학교 컴퓨터공학과 교수는 이에 대해 “중앙집중식의 경우 변조는 불가능하고, 해킹 이후 이뤄지는 위조는 가능하고, 해킹도 가능하다”고 주장했다. 본지는 논란이 되고 있는 블록체인과 비트코인과 관련, 경희대학교 컴퓨터공학과 한호현 교수를 통해 기술적인 관점, 경제적인 관점, 제도적인 관점 등으로 나눠 3회에 걸쳐 살펴본다. 이번호는 기술적인 관점이다. <편집자 주>

▲ 한호현 경희대학교 컴퓨터공학과 교수

한호현 교수는 현재 스마트카드 표준단체인 Asia IC Card Forum(AICF)의 회장이기도 하다. 정보통신산업진흥원(NIPA)에서 총괄본부장을 역임했으며 정보통신부 등 정부기관과 현대정보기술 등 민간 기업에서 다양한 경력을 쌓은 보안 및 정책 관련 전문가이다. 저서로는 RFID핸드북(역서) 등이 있으며 정보통신 관련 분야에서 모두 3개의 기술사 자격증을 보유하고 있다. 실시간부가가치세 징수제도 설계, 금거래소 설립, 전국호환교통카드 등 금융관련 분야에서도 큰 경험을 갖고 있다.


1. 들어가는 말

블록체인은 위․변조와 해킹이 불가능한 것으로 종종 이야기되고 있다. 약간의 수식어가 붙기도 한다. 위․변조와 해킹이 ‘거의’ 불가능하다는 식이다. 이런 이야기는 언론의 블록체인 이야기에 ‘거의’ 빠짐없이 등장한다. 이 같은 주장을 하는 블록체인 분야 종사자들도 많다.

한마디로 블록체인은 해킹이 가능하다. 또한 위․변조가 불가능하다고 주장하는 식으로 이야기를 한다면 위․변조도 가능하다. 그런데도 블록체인은 해킹이 불가능하다고 주장하는 이야기는 대체적으로 전문가들이나 일반인들 사이에서 그냥 받아들여지는 분위기다.

이러한 현상은 매우 특이한 경우다. 사실과 다르게 받아들여지고 있는데다가 거짓을 사실로 믿는 어처구니없는 현상인 것이다. 이는 블록체인에 대한 기술을 제대로 이해하지 못하고 있는데다가 위․변조와 해킹에 대한 개념도 잘 모르는 상태에서 통용되고 있기 때문이다.
 

2. 용어의 정리

블록체인의 위․변조와 해킹에 대한 이야기를 다루기 전에 먼저 용어에 대한 개념 정리가 필요하다. 블록체인과 관련한 위조(僞造)와 변조(變造), 해킹(hacking)이라는 용어는 일반적으로 법률적 개념과 기술적 개념이 혼재된 상황에서 표현되고 사용된다. 먼저 이들 용어의 사전적 의미를 살펴보면 다음과 같다. 국립국어원 표준국어대사전 인터넷 판에는 이들 용어를 다음과 같이 풀이하고 있다.

위조(僞造)「명사」: 어떤 물건을 속일 목적으로 꾸며 진짜처럼 만듦.

변조(變造)「명사」: 『법률』권한 없이 기존물의 형상이나 내용에 변경을 가하는 일.

해킹(hacking)「명사」: 『컴퓨터』다른 사람의 컴퓨터 시스템에 무단으로 침입하여 데이터와 프로그램을 없애거나 망치는 일.

다양한 분야에서 사용되는 위조, 변조라는 용어와는 달리 해킹은 컴퓨터 분야에서 사용되는 용어이다. 해킹이 무엇인지에 대하여 명확하게 정의하거나 표현하기 어렵다는 주장도 있다. 해킹에 대한 표현이 때로는 포괄적인 의미로, 때로는 한정된 의미로 사용되기 때문이다. 또한 특정한 목적에만 염두에 둔 표현으로 사용하기 때문에 서로 다른 관점에서 논의가 되기에 생겨나는 문제이기도 하다. 그러나 대체적으로 해킹에 대한 의미나 정의는 일반화되어 있다고 볼 수 있다. 먼저 한국정보통신기술협회에서는 해킹의 용어를 다음과 같이 2가지로 정해 단체 표준 용어로 사용하고 있다.

해킹, Hacking: 컴퓨터 또는 시스템의 정당한 접근권한 없이 또는 허용된 접근권한을 초과하여 정보통신 시스템에 침입하는 행위.

해킹, Hacking: 정보 시스템의 취약성을 이용하거나 기존에 알려진 공격 방법을 활용하여 정보 시스템에 해를 끼치는 새로운 기능을 만들어 내는 행위를 말한다. 또한 접근을 허가받지 않은 정보 시스템에 불법으로 침투하거나 허가되지 않은 권한을 불법으로 갖는 행위이자 1차적 공격이라 불린다.

Oxford learner's dictionaries 인터넷 판에서는 해킹(hacking)을 다음과 같이 정하고 있다.

www.oxfordlearnersdictionaries.com

the action of secretly finding a way of looking at and/or changing information on somebody else's computer system without permission

또한, 미국 과학기술국가표준원(NIST)은 직접적으로 해킹에 대한 용어를 정의하지 않았지만 ‘hacker’를 ‘Hacker – Unauthorized user who attempts to or gains access to an information system’과 같이 정의함으로써 간접적으로 해킹의 의미를 유추해 볼 수 있도록 했다.

이러한 다양한 관점에서 해킹은 기본적으로 접근 권한 획득을 위한 불법적 행위로 정의될 수 있다. 접근 권한의 획득은 시스템이 갖고 있는 자체 취약점을 이용하는 방법과 사용자나 관리자의 권한을 불법적으로 얻어 내는 것을 통해 이뤄질 수 있다.

해킹이 이뤄지면 그 이후의 일은 매우 다양하게 나타날 수 있다. 그냥 접근권한의 획득으로 끝나는 경우도 있을 수 있고 시스템의 데이터를 빼앗아 가는 행위도 있을 수 있다. 기존의 데이터를 변경, 즉 변조하거나 새로운 데이터를 넣는 위조의 행위도 있을 수 있다. 심지어는 모든 데이터를 삭제하거나 암호화하는 행위도 가능하다. 이외에 여러 가지가 복합적으로 이뤄질 수도 있다. 이를 정리하면 다음의 그림과 같이 표현될 수 있다.

 

해킹은 한마디로 특정 목적을 위해 불법적으로 혹은 정당하지 않은 방법으로 접근 권한을 획득하는 행위라고 할 수 있다.


3. 사례를 통한 비교

여기서 언급되는 사례는 국내외에서 실제 발생한 사례를 이해하기 쉽도록 일반인의 관점에서 다시 정리한 것이다. 특정기업이나 특정 시스템을 직접 언급하지는 않았다. 또한 시스템 자체가 갖고 있는 취약점을 이용한 접근은 논의 대상에서 제외했다. 일반화해 설명을 할 수 없기 때문이다. 취약점을 이용한 관리자나 사용자의 권한 획득은 논의의 범위에 당연히 포함된다.

편의상 사례 비교는 대부분 블록체인의 이야기에서 대비되는 중앙 집중시스템은 일반적인 금융시스템으로 가정을 한다.

(1) 사용자 또는 관리자 권한 획득

사용자의 권한 획득은 사실상 중앙 집중시스템이나 블록체인이나 거의 동일 선상에 놓인다. 그 차이가 별반 없다는 것이다.

비트코인의 해킹은 대부분 사용자 권한 획득을 통해 이뤄진다. 사용자 권한 획득이라 함은 사용자가 갖고 있는 개인키를 불법적(정당하지 않은 방법을 포함)으로 확보하는 것이다. 사용자 권한을 획득함으로써 해커는 비트코인을 원하는 곳으로 보내거나 불특정 사용자에게도 보낼 수 있다. 이러한 행위는 전형적인 해킹에 해당된다.

그런데 블록체인을 주장하는 이들은 이를 해킹이 아니라고 주장한다. 블록체인은 해킹이 불가능하다고 맹신하고 있는 것이다. ❶ 이런 주장이 사실이라면 중앙 집중시스템을 사용하는 은행의 사용자 권한을 획득해 특정 계좌에서 돈을 인출하여 다른 계좌로 보내면 이 또한 해킹이 아니라는 것이 된다.

다음은 관리자 권한의 불법적 획득이다. 중앙 집중시스템의 경우 관리자 권한을 획득하면 그 이후에 할 수 있는 일이 사실상 너무 많다. 블록체인의 경우 관리자가 따로 존재하지 않는다. 비트코인 시스템이 이런 경우다. 관리자가 아예 없는 경우, 관리자 권한 획득은 존재하지 않는다.

다만 블록체인시스템에 있어서 관리자가 분명히 존재하는 경우가 있다. 이른바 통제된 또는 허가된 사용자만이 참여하는 경우이다. 이 또한 2가지 경우로 나눠진다. 사용자가 곧 관리자가 되는 경우와 사용자와 관리자가 분리되는 경우이다.

그러나 관리자가 존재하는 블록체인 시스템의 경우 관리자 권한의 획득이 가능하다. 이는 중앙 집중시스템의 관리자 권한 획득과 같은 경우이다. 특히 소수의 노드를 갖는 블록체인 시스템의 경우에는 일부 관리자의 권한 획득으로 전체 시스템을 통제할 수 있는 권한을 갖게 될 수도 있다. 여기서 관리자 권한을 획득하는 것이 어느 쪽이 더 용이할 것인가에 대한 것은 논란의 여지가 많다.

은행과 같은 금융시스템(중앙 집중시스템)의 경우 관리자 권한을 획득하는게 쉽지 않은 일이다. 관리자 권한이 다양한 방법으로 나눠져 있고 시스템 마다 권한이 분산되어 있기 때문이다. 작은 전자상거래 시스템의 경우는 관리자의 권한을 보호하는 시스템이 사용자 권한을 보호하는 체계와 유사한 경우도 있다. 관리자의 권한 획득은 시스템마다 차이를 보이고 있다. 그것이 중앙 집중시스템이든 블록체인시스템이든 난이도의 차이가 다르다는 점이다. 물론 비트코인과 같이 사실상 별도의 관리자가 없는 경우는 관리자 권한의 획득이라는 것은 존재하지 않는다. 이는 비트코인만의 특성이 아니라 P2P시스템이 갖는 특성이기도 하다.

여기서 시스템을 운영하는 회사나 기관의 내부 사용자에 대해서는 별도로 언급하지 않겠다. 내부 사용자는 때에 따라서 모두 관리자로도 볼 수도 있고 경우에 따라서는 일반 사용자와 큰 차이를 보이지 않을 수도 있기 때문이다. 그냥 필요에 따라 관리자나 사용자의 범주에 포함해서 보면 될 것이다.

(2) 권한 획득 이후 2차적 행위에 관하여

앞에서 언급한 2차적 행위 중에서 ② 위조, 변조 행위, ③ 데이터 파괴, ④ 데이터 유출의 관점에서만 살펴보기로 한다. ①번과 ⑤번 항에 대하여는 블록체인이나 중앙 집중시스템이 서로 큰 차이점을 보이지 않기 때문이다. 먼저 가장 논란이 되고 있는 위조와 변조에 대한 부분을 먼저 논의한다. 위조는 없는 것은 만들어 내는 것이고 변조는 있는 내용을 변경하는 행위로 단순화하여 볼 수 있다. 금융거래로 본다면 없는 거래를 만들어 내는 것은 위조이고 기존의 금융거래 장부를 바꾸면 변조 행위가 되는 것이다.

가. 위조 행위에 관하여
위조는 없는 것은 만들어 내는 행위로 볼 수 있다. 즉 권한이 있는 사람의 의사와는 관계없는 것을 만들어 내어 마치 진짜인 것처럼 꾸미는 것이다. 금융거래에 있어서 사용자의 계좌정보, 비밀번호 등을 훔쳐내어 돈을 다른 계좌로 보내는 것이 여기에 해당될 수 있을 것이다.

비트코인의 경우도 마찬가지이다. 사용자 권한을 획득하여 비트코인을 다른 비트코인 계좌로 보내는 행위가 여기에 해당된다. 이 두 가지 경우 모두 가능하다. 이러한 거래는 블록체인이든 중앙 집중시스템이든 시스템 관점에서 볼 때 모두 정상적인 거래로 인지된다.

❷ 이처럼 위조에 의한 거래가 정상적인 거래로 인지되어 시스템에 기록되고 이 기록이 다른 거래의 근거로 사용된다. 이러한 위조는 권한이 있는 사용자나 관리자가 이를 찾아냈을 때 비로소 위조가 있었음이 확인이 된다.

나. 변조 행위에 관하여
변조는 기존에 기록되어 있는 데이터를 변경하는 일이다. 예를 들어 장부에 기록되어 있는 잔액 50,000원을 100,000원으로 바꾸는 것이다. 1비트코인을 5비트코인으로 바꾸는 것이다. 비트코인 블록체인의 경우 이러한 변조는 해시 값의 계산이나 계산을 통해 찾아내는 것이 가능하다. 변조가 확인되면 변조가 이뤄지지 않은 다른 노드의 데이터를 옮겨와 원래의 데이터로 복원이 가능하다.

중앙 집중시스템에 있어서도 변조의 확인이 가능하다. 잔액의 대사 등을 통해서이다. 변조가 확인된 데이터는 거래 기록을 이용하거나 백업 등을 이용해 원래의 데이터 상태로 복구가 가능하다.

❸ 결국 불록체인이나 중앙 집중시스템의 경우 대체적으로 변조에 대한 복구는 모두 가능하다. 블록체인에서 변조가 불가능하다는 주장은 복구가 가능하다는 것을 전제로 하는 주장이다. 이러한 주장대로라면 중앙 집중시스템도 변조에 대한 복구가 가능하므로 중앙 집중시스템도 변조가 불가능한 것이 될 것이다.

블록체인의 경우 노드의 수가 적을 경우 복구 자체가 어려워질 수가 있다. 모든 노드의 데이터를 동일하게 변조시키는 경우이다. 블록체인 노드들은 대체로 동일한 시스템으로 구성된다. 하나의 노드를 변경할 수 있다면 다른 노드의 변경도 같은 방법으로 가능할 것이다.

다. 데이터 파괴에 관하여
데이터 파괴는 변조와 유사하다. 다만 비트코인의 경우 모든 노드의 데이터를 동시에 파괴할 수 없기에 사실상 원천적인 데이터 파괴는 어렵다. 노드의 수가 작은 블록체인의 경우는 비트코인과 다르다. 앞의 데이터 변조와 유사하다.

라. 데이터 유출에 관하여
비트코인 블록체인의 경우는 데이터 유출이라는 개념이 사실상 없다. 모든 데이터가 공개되어 있는 것과 마찬가지이기 때문이다. 이를 제외하고는 중앙 집중시스템이든 여타 블록체인에서든 데이터 유출은 동일하게 발생한다. 사용자 권한이나 관리자 권한을 획득해 그 권한 하에서 통제 받는 데이터는 모두 유출이 가능하다고 할 수 있을 것이다.

앞에서 설명한 내용을 토대로 이를 정리하면 다음의 표와 같다.

▲ 해킹과 위변조 가능 대비표


4. 논의의 쟁점

블록체인에 대한 논란의 쟁점은 위조와 변조의 불가능과 해킹의 불가능에 대한 것이다. 앞의 <표 1>을 중심으로 순서대로 살펴보고자 한다.

주장 1 “사용자 정보가 해킹을 당한 것이지 블록체인 자체가 해킹을 당한 것은 아니다.”
주장 2 “비트코인 거래소가 해킹을 당한 것이지 블록체인 자체가 해킹을 당한 것은 아니다.”

위의 주장 2는 비트코인 거래소를 통해서 사용자의 정보(개인키)가 해킹을 당한 것이므로 결국 주장 2는 주장 1로 수렴된다. 이 주장의 핵심은 사용자 개인키는 블록체인을 구성하는 일부가 아니라는 것과 같다.

주장 1이 옳다면 중앙 집중시스템에서도 동일한 이야기가 성립된다. 예를 들어 은행에서 ‘사용자 접근 계정(ID, 비밀번호 등)이 해킹을 당한 것이지 중앙 집중시스템 자체가 해킹을 당한 것은 아니다.’가 된다는 점이다. 일반적으로 중앙 집중시스템에서는 사용자 접근 계정도 전체 시스템의 일부로 본다. 비트코인의 경우도 마찬가지이다. 그런데 상반된 주장을 하고 있는 것이다.

주장 3 “블록체인은 위조가 불가능하다.”
사용자나 관리자의 권한을 정당하지 않은 방법으로 또는 불법적인 방법으로 획득해 어떠한 거래를 하고 그 거래가 장부에 기록되면 바로 이것이 위조된 거래이다. 이러한 위조 거래는 사용자나 관리자가 발견하기 전에는 위조 여부를 확인할 수가 없다. 권한 획득을 통한 위조 거래는 항시 가능하다. 위조 거래가 발생하면 비트코인의 경우 그 위조된 거래를 다시 원위치하기가 사실상 거의 불가능하다. 반면에 중앙 집중시스템의 경우는 그 가능성이 어느 정도 열려 있다.

주장 4 “블록체인은 변조가 불가능하다.”
주장 4는 2가지 관점에서 검토해 볼 수 있다. 하나는 정상거래인 것처럼 변조하는 것이다. 다른 하나는 그냥 불특정 데이터를 변조하는 것이다. 블록체인은 변조가 어렵다고 주장하는 이야기는 ‘정상거래인 것처럼 변조하는 것’에만 국한된 것이다. 그런데 중앙 집중시스템에서도 마찬가지로 정상거래인 것처럼 변조하는 것은 사실상 거의 불가능하다. 위조 거래를 만들어 내야 하는데 이는 변조가 아닌 위조가 되는 것이다.

변조는 위조와는 다르게 쉽게 검출되고 그 복원도 가능하다. 중앙 집중시스템에서도 변조는 다양한 수단에 의해 확인이 가능하고 확인된 변조 데이터는 백업된 데이터나 로그 데이터 등을 통해 복구가 가능하다. 다른 방법에 의해서도 복구가 가능하다. 결론적으로 블록체인이나 비트코인도 변조는 가능하다. 다만 다른 수단에 의해 그 변조의 복구가 가능하다는 것이다.

▲ 변조 가능 대비 표


5. 결론

앞에서 살펴 본 바와 같이 블록체인은 위조, 변조가 불가능하고 해킹이 불가능하다고 하는 주장은 대부분 옳지 않다. 또한 마치 기존의 중앙 집중시스템은 위조나 변조가 쉽게 가능하고 해킹이 가능하다는 것도 잘못된 전제로 하는 주장이다. 블록체인이나 비트코인이 위조, 변조, 해킹이 불가능하다고 주장하는 것이 옳다면 중앙 집중시스템 또한 위조, 변조, 해킹이 불가능하다는 주장이 성립하게 된다.

저작권자 © 아이티데일리 무단전재 및 재배포 금지