2018.08.16

강은성의 보안 아키텍트 | 블록체인과 보안(1)

강은성 | CIO KR
바야흐로 블록체인의 시대다. 블록체인이란 이 익숙한 듯 낯선 단어를 알지 못하면 시대에 뒤떨어진 듯한 느낌이 들 정도다. 정부가 강력하게 추진하고 있는 ‘혁신성장과 4차 산업혁명’에서도 블록체인은 주요 주제어 중 하나다. 여기저기 나온 블록체인 관련 뉴스, 블로그, 동영상, 책을 찾아 읽으면 뭔가 조금 안 것 같은데, 조금만 더 들어가면, 어느 암호화폐를 사야 하느냐, 가격은 오르냐, 어떤 ICO(Initial Coin Offering)가 있냐는 등 ‘돈 벌기'에 집중되어 있거나 금융, 물류, 의료 분야 등 사회의 온갖 분야에서 블록체인을 ‘만병통치약’처럼 활용할 수 있다는 얘기가 펼쳐져 있다. 최근에는 다양한 블록체인 기반의 서비스가 ‘토큰 경제’와 함께 나오고 있다. 수박 겉핥기로 알아서는 따라가기가 쉽지 않다.

여러 산업에서 보안업무를 하다가 퍼블릭 블록체인 기반의 암호화폐 보스코인(BOScoin)을 개발하는 회사에 합류한 필자에게는 블록체인 관련 논의에서도 역시 보안 이슈가 가장 눈에 띈다. “블록체인은 보안성이 좋다”, “블록체인은 해킹에 강하다”, “블록체인은 프라이버시에 좋다” 등 사실을 정확하게 이해하지 못하거나 심지어는 정반대의 주장이 회자되는 걸 보면서 블록체인과 보안에 관한 부분을 명확히 할 필요를 느낀다. 다만 이더리움의 '스마트 계약'(Smart Contract)이 블록체인을 한 단계 발전시키면서 이제는 블록체인의 기본 속성이 되었듯이 블록체인은 완성된 기술이 아니라 지금도 변화, 발전하고 있는 기술임을 염두에 둘 필요가 있다. 인터넷의 역사를 되돌아보면, 블록체인의 역사에서 2018년은, 월드와이드웹이 대중화되었던 1990년대 중반부터 인터넷 거품이 시작된 1990년대 후반 사이 어딘가에 있지 않을까 싶다. 이제 초기를 막 지났을 뿐이다.

전통적으로 정보보안의 목적은 기밀성(Confidentiality), 무결성(Integrity), 가용성(Availability)을 보호하는 것이라고 해 왔다. 간단하게 말하면, 기밀성은 권한 있는 자만이 데이터를 열람할 수 있도록 하는 것이고, 무결성은 권한 있는 자만이 데이터를 변경할 수 있도록 하는 것이며, 가용성은 권한 있는 자가 서비스를 사용하고자 할 때 언제든지 사용할 수 있도록 하는 것이다.

블록체인은 일정 요건을 갖춘 컴퓨터(노드)들이 P2P 기반으로 통신하면서 각 노드들에 동일한 트랜잭션 데이터를 저장한다. 블록체인 네트워크에 접속할 수 있으면 누구든지 노드에 저장된 데이터를 볼 수 있고, 결과를 확인할 수 있다. 투명성이 강점이다. 블록체인 노드에 프라이버시 데이터가 올라가 있다면 그것 역시 누구든지 손쉽게 내려받을 수도 있다. 어떤 정보의 열람이나 정보 유출도 쉽다는 얘기다. 보안의 기준으로 보면 기밀성은 0점에 가깝다.

수백 대, 수천 대의 컴퓨터들이 참여하는 개방형(Public) 블록체인에서는 디도스(DDoS) 공격으로 일부 노드에 장애가 발생하더라도 전체 블록체인 네트워크가 중단되지는 않는다. 어떠한 거래나 데이터를 확인하려 한다면 자신에게 가까운 노드를 접속하여 볼 수 있다. 가용성이 좋다. 각 거래에 대한 해쉬와 이전 블록에 대한 해쉬, 각 노드의 합의를 통해 생성된 블록체인에서 데이터를 무단으로 변경하기 어렵다. 다만 무결성이 이론적으로 증명된 것은 아니다. 노드 수가 충분하지 않을 경우 51%의 처리 용량(컴퓨팅 파워)을 장악할 수 있다면 합의를 왜곡하여 (일정 시간 동안) 무결성을 깰 수 있고, 실제 발생한 경우도 있다. 그럼에도 전반적으로는 무결성이 좋다고 볼 수 있다.


블록체인의 특성을 설명할 때 가장 많이 예를 드는 것은 블록체인 대중화의 원조 격인 비트코인이다. 비트코인은 전형적인 개방형 블록체인으로 구현되어 있다. 참여 노드 수가 1만 개 정도 되기 때문에 51% 공격에 의해 무결성이 깨질 가능성이 적고, 가용성은 좋다. 하지만 한 전산실 안에 몇 개 정도의 노드로 구성된 블록체인 네트워크가, 블록체인이라서 무결성과 가용성이 좋다고 주장하는 것은 무리가 있다. 따라서 블록체인을 사용하기 때문에 보안성이 좋다는 말은, 일정 수 이상의 노드로 구성된 블록체인이 무결성과 가용성이 좋다는 표현으로 바뀌어야 한다.

*강은성 CISO는 보안전문업체 연구소장과 시큐리티대응센터장을 거치고, 인터넷 포털회사에서 최고보안책임자(CSO)를 역임한 국내 최고의 보안전문가다. CISO Lab을 설립하여 보안컨설팅과 보안교육을 진행하였고, 지금은 암호화폐 개발업체인 블록체인오에스의 CISO로 일하고 있다. 저서로 IT시큐리티(한울, 2009)와 CxO가 알아야 할 정보보안(한빛미디어, 2015)가 있다. ciokr@idg.co.kr
 



2018.08.16

강은성의 보안 아키텍트 | 블록체인과 보안(1)

강은성 | CIO KR
바야흐로 블록체인의 시대다. 블록체인이란 이 익숙한 듯 낯선 단어를 알지 못하면 시대에 뒤떨어진 듯한 느낌이 들 정도다. 정부가 강력하게 추진하고 있는 ‘혁신성장과 4차 산업혁명’에서도 블록체인은 주요 주제어 중 하나다. 여기저기 나온 블록체인 관련 뉴스, 블로그, 동영상, 책을 찾아 읽으면 뭔가 조금 안 것 같은데, 조금만 더 들어가면, 어느 암호화폐를 사야 하느냐, 가격은 오르냐, 어떤 ICO(Initial Coin Offering)가 있냐는 등 ‘돈 벌기'에 집중되어 있거나 금융, 물류, 의료 분야 등 사회의 온갖 분야에서 블록체인을 ‘만병통치약’처럼 활용할 수 있다는 얘기가 펼쳐져 있다. 최근에는 다양한 블록체인 기반의 서비스가 ‘토큰 경제’와 함께 나오고 있다. 수박 겉핥기로 알아서는 따라가기가 쉽지 않다.

여러 산업에서 보안업무를 하다가 퍼블릭 블록체인 기반의 암호화폐 보스코인(BOScoin)을 개발하는 회사에 합류한 필자에게는 블록체인 관련 논의에서도 역시 보안 이슈가 가장 눈에 띈다. “블록체인은 보안성이 좋다”, “블록체인은 해킹에 강하다”, “블록체인은 프라이버시에 좋다” 등 사실을 정확하게 이해하지 못하거나 심지어는 정반대의 주장이 회자되는 걸 보면서 블록체인과 보안에 관한 부분을 명확히 할 필요를 느낀다. 다만 이더리움의 '스마트 계약'(Smart Contract)이 블록체인을 한 단계 발전시키면서 이제는 블록체인의 기본 속성이 되었듯이 블록체인은 완성된 기술이 아니라 지금도 변화, 발전하고 있는 기술임을 염두에 둘 필요가 있다. 인터넷의 역사를 되돌아보면, 블록체인의 역사에서 2018년은, 월드와이드웹이 대중화되었던 1990년대 중반부터 인터넷 거품이 시작된 1990년대 후반 사이 어딘가에 있지 않을까 싶다. 이제 초기를 막 지났을 뿐이다.

전통적으로 정보보안의 목적은 기밀성(Confidentiality), 무결성(Integrity), 가용성(Availability)을 보호하는 것이라고 해 왔다. 간단하게 말하면, 기밀성은 권한 있는 자만이 데이터를 열람할 수 있도록 하는 것이고, 무결성은 권한 있는 자만이 데이터를 변경할 수 있도록 하는 것이며, 가용성은 권한 있는 자가 서비스를 사용하고자 할 때 언제든지 사용할 수 있도록 하는 것이다.

블록체인은 일정 요건을 갖춘 컴퓨터(노드)들이 P2P 기반으로 통신하면서 각 노드들에 동일한 트랜잭션 데이터를 저장한다. 블록체인 네트워크에 접속할 수 있으면 누구든지 노드에 저장된 데이터를 볼 수 있고, 결과를 확인할 수 있다. 투명성이 강점이다. 블록체인 노드에 프라이버시 데이터가 올라가 있다면 그것 역시 누구든지 손쉽게 내려받을 수도 있다. 어떤 정보의 열람이나 정보 유출도 쉽다는 얘기다. 보안의 기준으로 보면 기밀성은 0점에 가깝다.

수백 대, 수천 대의 컴퓨터들이 참여하는 개방형(Public) 블록체인에서는 디도스(DDoS) 공격으로 일부 노드에 장애가 발생하더라도 전체 블록체인 네트워크가 중단되지는 않는다. 어떠한 거래나 데이터를 확인하려 한다면 자신에게 가까운 노드를 접속하여 볼 수 있다. 가용성이 좋다. 각 거래에 대한 해쉬와 이전 블록에 대한 해쉬, 각 노드의 합의를 통해 생성된 블록체인에서 데이터를 무단으로 변경하기 어렵다. 다만 무결성이 이론적으로 증명된 것은 아니다. 노드 수가 충분하지 않을 경우 51%의 처리 용량(컴퓨팅 파워)을 장악할 수 있다면 합의를 왜곡하여 (일정 시간 동안) 무결성을 깰 수 있고, 실제 발생한 경우도 있다. 그럼에도 전반적으로는 무결성이 좋다고 볼 수 있다.


블록체인의 특성을 설명할 때 가장 많이 예를 드는 것은 블록체인 대중화의 원조 격인 비트코인이다. 비트코인은 전형적인 개방형 블록체인으로 구현되어 있다. 참여 노드 수가 1만 개 정도 되기 때문에 51% 공격에 의해 무결성이 깨질 가능성이 적고, 가용성은 좋다. 하지만 한 전산실 안에 몇 개 정도의 노드로 구성된 블록체인 네트워크가, 블록체인이라서 무결성과 가용성이 좋다고 주장하는 것은 무리가 있다. 따라서 블록체인을 사용하기 때문에 보안성이 좋다는 말은, 일정 수 이상의 노드로 구성된 블록체인이 무결성과 가용성이 좋다는 표현으로 바뀌어야 한다.

*강은성 CISO는 보안전문업체 연구소장과 시큐리티대응센터장을 거치고, 인터넷 포털회사에서 최고보안책임자(CSO)를 역임한 국내 최고의 보안전문가다. CISO Lab을 설립하여 보안컨설팅과 보안교육을 진행하였고, 지금은 암호화폐 개발업체인 블록체인오에스의 CISO로 일하고 있다. 저서로 IT시큐리티(한울, 2009)와 CxO가 알아야 할 정보보안(한빛미디어, 2015)가 있다. ciokr@idg.co.kr
 

X