특집

[창간특집 2부] ①한국 블록체인, 보안 미래를 논하다

최민지
(좌측부터) 김도원 KISA 팀장, 최영철 SGA솔루션즈 대표, 한호현 경희대 교수
(좌측부터) 김도원 KISA 팀장, 최영철 SGA솔루션즈 대표, 한호현 경희대 교수
블록체인이 산업 전방위에서 화두로 떠오르고 있습니다. 하지만, 안전한 블록체인 생태계를 구축하려면 보안문제를 빼놓고 말할 수 없습니다. 아직 블록체인 보안과 관련한 전문인력은 부족한 실정이고, 핵심적인 기술현황에 대한 의견도 뚜렷하게 모아지지 않고 있는 상황입니다. 특히, 블록체인이 해킹과 위·변조에 완벽하다는 오해가 퍼지면서 보안조치에 대해 소홀히 할 수 있는 여지도 생기고 있습니다. 이에 <디지털데일리>는 정부·기업·학계를 대표할 만한 3인을 통해 관련 현황과 문제점·대응방안 등을 논의합니다. <편집자주>


[디지털데일리 최민지기자] 김도원 취약점분석팀장을 비롯한 한국인터넷진흥원(KISA), 최영철 SGA솔루션즈 대표, 한호현 경희대 컴퓨터공학과 교수는 <디지털데일리>에서 마련한 블록체인 보안 논의에 각각 정부, 기업, 학계 대표로 참여했다. 질의응답은 서면을 통해 이뤄졌다.

KISA는 지난 2016년 블록체인 TF팀을 발족했으며, 최근 블록체인 기반의 ‘I-코리아(Korea) 4.0’을 추진하고 법제도 개선과제를 발굴하면서 중장기 발전전략 및 전략로드맵을 수립한 바 있다.

SGA솔루션즈는 외교부 인증서 발급 블록체인 시스템 사업자로 선정됐고, 블록체인 전자서명 서비스 개발에 착수했다. 지난달에는 물적분할을 통해 블록체인 전문기업 ‘SGA블록체인’을 출범키로 했다.

한호현 교수는 전자서명법 등 제도 도입 당시 참여한 인물로, 아시아IC카드포럼, 인증전문가 포럼 대표 등을 역임했다. 최근에는 물리적 복제방지 기능(PUF)을 블록체인에 접목시킨 ‘퓨어체인’ 기술 개발에 주요 역할을 했다.

다음은 ‘한국 블록체인, 보안 미래를 논하다’를 주제로 한 블록체인 보안 현황 및 대응방안에 대한 3인의 질의응답이다.

Q. 블록체인은 높은 보안성을 갖고 있다고 알려져 있습니다. 100% 완전무결한 보안은 존재하지 않은 만큼, 가상화폐 거래소 코인 탈취 사건 등을 미뤄봤을 때 블록체인 시스템만 사용한다 해서 해킹에 완벽히 대응하고 있다고 말할 수 없다는 점을 사람들이 인지하기 시작했습니다. 보안 관점에 비춰 봤을 때 블록체인을 어떻게 바라봐야 합니까?


▲(KISA) 블록체인에 기록된 데이터는 높은 보안성을 갖고 있지만 블록체인에 입력되기 전 데이터의 무결성까지 보장하는 것은 아닙니다. 따라서 블록체인에 입력되기 전까지의 데이터 관리가 중요합니다. 블록체인 부분의 보안성을 맹신하기 보다는 블록체인을 이용한 서비스 전체 보안을 함께 고려해야 합니다.

▲(최영철 SGA솔루션즈 대표) 우선 블록체인에 대한 정확한 시각을 갖기 위해서는 블록체인, 가상화폐, 가상화폐거래소, 전자지갑(가상화폐지갑), 가상화폐 해킹 이라는 키워드를 중심으로 해당 기술구조 상관관계를 볼 필요가 있습니다. 블록체인은 미지의 인물로 알려진 사토시 나카모토가 2009년 비트코인이라는 가상화폐 스킴을 설계할 때 이중사용(Double-spending) 방지 문제를 해결하기 위해 탈중화된 분산장부인 블록체인 구조를 개발 사용한 것이 그 배경입니다.

최근 가상화폐의 해킹 문제는 블록체인의 속성인 분산형 위변조방지 및 부인방지 기능을 해킹한 것이 아니라, 해커가 개인 또는 가상화폐거래소의 전자지갑에서 사용되는 개인키 및 가상화폐 거래 메시지를 유출해 본인이 실 소유주인 것처럼 해당 가상화폐를 사용하는 것입니다.

즉, 블록체인의 보안성은 위변조 방지 및 부인방지이고 이는 암호학적 이론에 의해서 수학적으로 증명 가능한 방식으로 안전하다고 말할 수 있으나, 블록체인을 기반으로 한 가상화폐의 보안성은 해당 전자지갑의 개인키를 얼마나 안전하게 관리하는가가 기준이 될 수 있습니다.

단, 탈중앙화 된 분산장부인 블록체인 기술을 가상화폐가 아닌 인프라로 도입하면서 블록에 기록하는 정보의 프라이버시 문제, P2P 네트워킹 기술의 신뢰성 문제 등이 보안 측면에서 별도 고려되어야 하는 것이 필요하다고 볼 수 있습니다.

▲(한호현 교수) 해킹은 이용자나 관리자의 권한을 탈취하는 행위입니다. 이러한 행위 후에 데이터의 위조나 변조 등이 파생됩니다. 블록체인의 경우도 예외는 아닙니다. 또한 블록체인을 만드는 소프트웨어의 취약점으로 인한 보안 문제도 자주 발생하고 있습니다.

블록체인에 저장된 데이터 변조에 대한 어려움이 마치 해킹이나 위조의 불가능으로 오인된 측면이 강합니다. 블록체인에 있어서도 이용자 보안, 프로그램 보안 등 다양한 측면에서 보안을 고려해야 합니다.

Q. 현재 전세계 블록체인 보안 기술 수준은 어느 정도로 진화했고, 한국은 어느 수준까지 올라와 있나요?

▲(최영철 SGA솔루션즈 대표) 현재 가상화폐에서 화두가 된 블록체인 기술은 비트코인에 사용된 블록체인 기술이 근간이 되고 있습니다. 블록체인의 기술 구성요소 중 성능에 중요한 영향을 미치는 핵심기술이 합의알고리즘(Consensus Algorithm)인데 비트코인에서는 작업증명(Proof of Work)이라는 기술을 사용하고 있습니다.

비트코인에서 새로운 블록은 반드시 작업증명을 성공한 노드가 생성하게 돼 있는데 새로운 블록 생성 주기는 10분이고, 블록 생성의 완전성을 위해서 최소 6개의 블록이 생성되고 연결됐을 때 완전한 블록체인으로 간주합니다. 즉, 완전한 블록체인 구성에는 1시간이 소요됩니다.

이때 블록체인의 성능요소로서 1초에 몇 개의 거래메시지가 처리되는지에 대한 ‘TPS(Transaction Per Second)’라는 기준 요소와 거래가 확정되는 거래 확정시간이라는 두 가지 중요 성능 기준요소가 존재하게 됩니다.

이러한 비트코인의 블록체인 합의알고리즘인 작업증명 방식의 비효율성 문제 때문에 최근에는 지분증명(Proof of Stake), 분산지분증명(Delegated Proof of Stake), PBFT(Practical Byzantine Fault Tolerance) 등의 다양한 합의알고리즘이 적용된 블록체인 기술이 개발되고 있습니다.

현재 블록체인 기술 관련 세계적인 트렌드는 효율성과 안전성을 확보한 새로운 합의알고리즘을 개발하고 더불어 블록체인의 구조를 효율적으로 개선한 퍼블릭 블록체인의 개발과 이를 기반으로 한 가상화폐 개발이 주를 이루고 있으며, 동시에 블록체인을 운영체제나 웹브라우저 같은 기본 시스템 소프트웨어 내에 내재화하여 하나의 인프라 및 플랫폼으로 사용하려고 하는 노력들이 시도되고 있습니다.

반면 국내에서는 일부 관련 업체가 자체 블록체인 기술을 개발해 이를 기반으로 가상화폐 개발 또는 프라이빗 블록체인 플랫폼을 보유하고 있으나, 국외 현황에 비교해서는 아직까지 극소수에 불과합니다. 기술개발 활성화 측면에서도 가상화폐 및 ICO 규제 정책과 맞물려 적극적인 기술 개발이 이뤄지지 못하고 있는 것이 현실입니다.

▲(한호현 교수) 현재 블록체인 보안에 대한 기술은 이용자 측면에 집중되고 있습니다. 이용자 인증에서부터 이용자의 개인키(비밀키) 보안을 위한 기술이 주를 이루고 있습니다. 하드웨어 월렛이나 멀티시그 등이 대표적인 사례가 될 수 있습니다.

국내에서도 관련 분야에 대한 논의와 기술 개발이 함께 이뤄지고 있습니다. 그러나 블록체인은 해킹이나 위변조가 불가능하다는 잘못된 인식으로 인해 그 기술 수준이나 도입은 외국에 비하여 6개월에서 1년 정도 뒤늦은 것으로 보고 있습니다.

Q. 블록체인을 도입할 때 프라이버시와 개인정보보호 문제에 직면할 수 있다는 지적이 제기되고 있습니다. 만약, 이러한 문제가 발생했을 때 어떻게 대응해야 합니까?


▲(한호현 교수) 블록체인에 기록되는 데이터는 기본적으로 공개를 전제로 이뤄집니다. 이러한 데이터에서 프라이버시나 개인정보의 관리 문제는 동전의 양면과 같습니다. 이러한 정보를 암호화하거나 별도의 저장 공간에 둘 경우, 블록체인이라는 기술 관점에서 바라볼 수 없는 상황이 됩니다.

또한 암호화할 경우, 이를 복호화 등을 하여 사용할 때 처리 지연 등으로 활용에 지장을 초래할 가능성이 큽니다. 프라이버시와 개인정보보호에 대한 블록체인 표준 가이드라인을 정립하고 이에 대한 합의가 중요합니다. 공개와 비공개의 처리 및 절차에 대한 합의를 통해 인식을 공유하고 활용한다면 블록체인 도입을 촉진할 수 있는 계기가 될 것입니다.

▲(최영철 SGA솔루션즈 대표) 세계최초로 가상화폐에 적용된 비트코인 블록체인은 그 탄생 배경이 비트코인의 이중사용을 방지하기 위해서 개인키로 서명된 거래 메시지를 공개적으로 블록에 저장하고 이를 분산형 장부로 공유한 것입니다.

그런데 이제는 이러한 블록체인 기술이 다양한 업무 영역에 위변조방지 및 부인방지를 위한 분산형 장부 기술로 확대 적용되고 있는 상태입니다. 이 경우 블록체인을 도입하고자 할 때 블록에 저장되는 정보는 퍼블릭 블록체인의 경우에는 불특정 다수에게 공개될 수밖에 없고, 프라이빗 블록체인의 경우에는 해당 커뮤니티 내 구성원들에게 공개될 수 있다는 전제 조건이 생깁니다.

이 때문에 개인정보를 블록체인에 저장하게 되는 경우 기존 개인정보보호법과 상충되는 문제가 생기게 됩니다. 블록체인 도입 때 개인정보를 블록에 저장하는 모델은 적절하지 않는 응용 영역이라고 볼 수 있으며, 그럼에도 불구하고 해당 응용 모델이 구성돼야 한다면 블록에 저장하는 정보는 해쉬 값과 같은 가독성이 없는 정보로 표현하고 원문 정보는 오프체인 형태로 구성하여 연동시키는 방법이 있습니다.

그러나 이 경우 원문 정보에 대한 저장 및 보관이 이슈가 될 수 있고 이것이 다시 탈중앙화가 기본 철학인 블록체인의 사상과 충돌될 수 있다는 점과 데이터 트랜잭션에 따른 비효율성 및 안전성 문제도 있을 수 있습니다.

▲(KISA) 중앙기관이 없고 블록체인에 수록되는 데이터들은 누구나 열람할 수 있기 때문에 개인정보보호와 프라이버시 이슈가 발생할 수 있습니다. 개인식별정보 등 개인정보는 블록체인에서 분리해 운영하고 블록체인에는 일방향 암호기술인 해시 알고리즘을 활용해 저장해야 합니다.

Q. 중앙시스템과 달리 각각의 노드에 대한 동일화된 정책을 사용할 수 없게 되면서, 이것이 해커들의 침입 경로가 될 수 있다는 우려가 제기됩니다. 이에 대한 의견과 이를 해결할 수 있는 방안이 있을까요?

▲(KISA) 블록체인의 원리기술은 공인인증서와 동일한 공개키 기반 암호기술입니다. 공개키 기반 암호기술에서 가장 약한 보안의 연결고리는 개인키에 대한 보안 관리입니다. 해킹에 의한 유출위험이 없는 물리적인 하드웨어 보안매체(HSM)에 개인키를 보관하고 필요에 의해 네트워크에 연결돼 있는 경우 HSM에 대한 접근통제를 강화하는 방향으로 보안을 설계해야 합니다.

▲(최영철 SGA솔루션즈 대표) 블록체인의 특성 상 블록을 생성하는 노드는 제네시스블록(최초로 생긴 블록)부터 현재까지의 블록정보를 모두 보유하고 있어야 합니다. 이 때문에 노드를 운영하고 있는 기업·기관·개인의 경우 해당 시스템 및 네트워크 구성환경에 따라 해커에게 쉽게 침입 당할 수 있는 노드가 생길 수도 있습니다. 이때 퍼블릭 블록체인과 프라이빗 블록체인의 접근이 조금 다를 수 있습니다.

퍼블릭 블록체인은 일반적으로 해당 블록의 정보를 공개하고 있기 때문에 해커가 취하는 악성행위가 정보유출이라고 한다면 그 목적에 부합하지 않을 수 있습니다. 오히려 노드 시스템을 해커가 장악해 허위 블록체인을 생성하는 경우를 가정해볼 수 있으나 이는 블록체인이 사용하고 있는 합의 알고리즘에 의해 안전성이 보장될 수 있습니다.

해커의 위험성이 높은 경우는 블록 내 중요 정보가 기록되고 있는 프라이빗 블록체인일 수 있습니다. 블록 생성 및 검증 노드들을 구분해 생성을 담당하는 노드의 보안은 컨소시엄 내 보안정책규정을 통해 해당 노드의 보안강화를 하는 것이 필요할 수 있습니다.

▲(한호현 교수) 최근 블록체인 기술들은 각 노드(이용자)의 보안을 강화하는 추세로 가고 있습니다. 개인키에 대한 관리를 강화해 주는 방식입니다. 생체정보와 PKI기술이 접목되는 추세이기도 합니다. 다만 각 노드의 피해가 노드 이용자에게만 한정된다는 측면에서는 다른 시스템과는 차별화 된다고 볼 수 있습니다. 그러나 최근의 블록체인이 점차 집중화되는 측면이 있음을 고려할 때 각 노드의 보안 중요성은 더 커지고 있습니다. 결국 이러한 노드에 대해 중앙시스템에 버금가는 보안 구조를 가져가야 합니다.

Q. 퍼블릭 블록체인의 경우, 불특정 다수의 참여와 투명한 공개가 전제돼 있습니다. 이에 대한 데이터 안전성 문제가 불거질 수 있는데, 이를 해결하기 위해 제3의 기관이 등장하거나 비공개화한다는 점을 두면 당초의 블록체인의 강점이 사라질 수 있다는 지적도 있습니다. 이에 대해 어떻게 생각하십니까?

▲(최영철 SGA솔루션즈 대표) 비트코인에서 개발된 탈중앙화 분산장부인 블록체인의 내용은 공개를 전제로 운용되는 구조입니다. 이러한 블록체인 내 블록 정보에 비밀정보 또는 민감 개인정보를 포함시킬 경우 프라이버시 문제가 될 수밖에 없습니다. 이 경우 블록 내 정보를 오프체인으로 구성하고 원문 정보를 별도 보관 및 운용해야 하는데 이때 제3의 기관이 필요할 수 있습니다.

만약 제3의 기관을 원치 않는다면 암호기술 중 비밀분산(Secret Sharing) 기술을 사용해 각각의 노드서버에 중요정보를 분산 저장하는 시스템을 구성할 수도 있습니다. 정보 접근 때 처리 속도 및 안전성에 대한 이슈가 있을 수 있습니다. 프라이버시 문제를 해결하기 위해서 중앙집중 방식의 제3기관을 이용한다고 했을 때 블록체인의 강점이 사라진다고 볼 수도 있으나 프라이버시 데이터에 대한 위변조방지 및 부인방지 기능은 블록체인 플랫폼으로 유지되기 때문에 블록체인의 특성이 적절히 이용되고 있다고 생각할 수도 있습니다.

▲(한호현 교수) 당분간 일정한 합의가 이뤄지기 전까지는 두 가지 상황이 딜레마가 될 것입니다. 그러나 데이터의 안전성이 확보되지 못한다면 블록체인 실용화에 걸림돌이 될 것입니다. 데이터의 안전성을 확보하는 기술 개발들이 많이 이뤄지고 있다는 점은 긍정적인 신호입니다.

▲(KISA) 퍼블릭 블록체인은 본래 목적이 불특정 다수의 제한 없는 참여에 있습니다. 참여자가 많을수록 보안의 안정성도 강화된다(분산장부를 공유하는 참여자가 많아져서)는 게 취지입니다. 해결방법으로 제3자 기관의 등장, 비공개화는 퍼블릭 블록체인임을 포기한 것이라고 할 수 있습니다. 현실적으로도 불가능한 해결책이라 생각됩니다.

Q. 키 관리의 중요성도 커지고 있습니다. 키 관리를 어떻게 해야 안전할까요?

▲(한호현 교수) 가장 안전한 방법은 오프라인 상태로 두는 것입니다. 그러나 이 방식은 블록체인 사용에 많은 제약을 가져오게 됩니다. 키에 대한 인증 방법으로 해결해야 합니다. 생체정보와 결합을 하는 방식이 선호되고 있습니다. 또한 여러 개로 키를 나눠 관리하는 방법도 있습니다. 결국 사용하는 블록체인에서 오는 피해에 따라 관리 방식이 선정돼야 합니다.

▲(KISA) 블록체인에 데이터를 입력할 때 자신을 입증하기 위한 수단이 키를 통해 이뤄집니다. 키 관리가 소홀해 유출된다면 타인이 나로 가장해 잘못된 값을 입력할 수 있습니다. 예를 들어 내 계좌에 있는 가상통화를 다른 사람에게 이체하는 등의 행위를 할 수 있는 것입니다. 따라서 평상시 키 관리는 안전한 장소에 별도 보관해야 하고 필요시 시스템에 연결하여 사용하길 권합니다. 그리고 키는 복제해 분실에 대비해야 합니다.

▲(최영철 SGA솔루션즈 대표) 현재 해커의 가장 큰 공격대상이 되는 시스템은 블록체인 자체가 아니라 블록체인에 저장할 가상화폐 거래 메시지를 생성할 수 있는 사용자 전자지갑의 개인키 및 기존 거래출력 메시지입니다. 가상화폐 시스템에서는 코인을 주고받을 수 있도록 송금자 및 수취자 모두 개인 전자지갑을 가지고 있으며, 이는 일반적으로 PC나 모바일에서 별도 앱 형태로 구동되거나 가상화폐거래소의 시스템에서 웹 기반 전자지갑 형태로 운용되고 있습니다.

해커들은 이러한 전자지갑의 개인키를 불법적으로 유출하려고 합니다. 전자지갑의 키 관리는 반드시 안전하게 이뤄져야 하며 중요도가 높은 개인키의 경우에는 별도의 HSM(Hardware Securty Module)과 같은 별도의 하드웨어 장치에 보관될 필요가 있으며, 가상화폐 거래소의 경우 HSM이나 네트워크가 분리된 별도의 콜드스토리지(Cold Stroage)를 사용할 필요가 있습니다.

Q. 보안성을 높일수록 가용성과 효율성 문제가 함께 발생한다고 합니다. 이를 해결하려면 어떠한 접근이 필요합니까?

▲(KISA) 블록체인은 네트워크에 참여하는 모든 노드가 모든 거래를 기록하게 설계돼 있어 한 노드의 데이터가 변조되더라도 분산도니 노드들을 통해 검증할 수 있는 장점이 있습니다. 하지만, 이러한 구조 때문에 네트워크 전체의 처리 능력이 단일 노드 처리 능력으로 제한될 수밖에 없는 한계가 있습니다. 이를 극복하기 위해서 전체 거래를 모든 노드가 검증하지 않고 노드를 그룹으로 나눠 처리하는 방식 등 효율성을 개선하는 방안이 논의되고 있습니다.

▲(최영철 SGA솔루션즈 대표) 블록체인 자체의 보안성 이슈는 비잔틴 공격이라고 정의되는 분산된 환경에서 악의적 노드들이 허위 블록을 생성하는 것을 막는 일입니다. 이를 위해 비트코인은 작업증명 방식의 합의 알고리즘을 개발 적용했고 이후 다양한 합의 알고리즘의 개발이 이뤄지고 있습니다. 그러나 수많은 불특정 다수가 참여하는 퍼블릭 블록체인의 합의 알고리즘은 기술 특성상 그 한계가 존재합니다. 거래확정시간 등을 개선하기에는 최소한의 한계가 있습니다.

이에 탈중화된 분산장부인 블록체인 이지만 합의 알고리즘을 운영하는 노드는 최소화하고 허가된 노드만 참여하게 하거나 중앙집중식 합의알고리즘을 사용하는 블록체인 기술도 있습니다. 대부분의 프라이빗 블록체인의 합의 알고리즘이 여기에 해당합니다. 결국 보안성, 가용성, 효율성은 상호 보완관계이며 도입 기업이나 기관은 해당 상관관계의 특성을 이해하고 도입목적에 알맞는 프라이빗 또는 퍼블릭 블록체인을 도입할 필요가 있습니다.

▲(한호현 교수) 트레이드오프의 관점에서 봐야 합니다. 보안을 중시하면 일반적으로 가용성이나 효율성이 낮아질 수밖에 없습니다. 이러한 문제를 해결하기 위해 항상 하드웨어적인 방안이 우선적으로 고려됩니다. 또한 데이터를 체계적으로 분류해서 필요한 부분만 보안을 강화하는 방안도 고려할 수 있습니다.

<최민지 기자>cmj@ddaily.co.kr
최민지
cmj@ddaily.co.kr
기자의 전체기사 보기 기자의 전체기사 보기

이 기사와 관련된 기사

디지털데일리가 직접 편집한 뉴스 채널