공인인증서와 블록체인을 이용한 공동인증 [2]

     

목차

I. 

암호화와 전자서명 바로가기

II. 블록체인을 이용한 인증
    1.블록체인 기술
        a.블록체인이란?
        b.금융권에서의 블록체인
    2.블록체인 인증서
        a.공인인증서의 블록체인 버전
        b.블록체인을 이용한 인증서의 장단점
    3.정리



II.블록체인을 이용한 인증

1.블록체인 기술

 최근 블록체인이라는 기술이 이슈가 되고있습니다. 블록체인은 가상화폐인 비트코인과 함께 등장한 기술입니다. 비트코인에서 블록체인은 거래에 대한 무결성과 위변조를 검증하는 데 사용됩니다. 비트코인을 통해 블록체인의 보안성이 입증되면서, 금융업계에서 블록체인을 이용하려는 움직임이 많이 일어나고 있습니다. 왜 금융업계가 블록체인을 사용하려고 하는 것일까요?

a.블록체인이란?

 블록체인이 이슈가 되면서 블록체인 기술에 대한 소개나 교육 등을 쉽게 접할 수 있게 되었습니다. 여기서는 기술에 대해서 깊게 설명하기보다 블록체인이 어떻게 데이터를 신뢰할 수 있게 만드는지 간략하게 설명하고 넘어가도록 하겠습니다. 
 블록체인은 말 그대로 블록들이 하나하나 연결된 구조를 말합니다. 하나의 블록이 다른 블록들과 연결되어있기 때문에 하나의 블록만 바꾸기는 어렵습니다. 왜냐하면, 블록 하나를 바꾸려면 연결돼있는 모든 블록의 정보까지 바꿔야 하기 때문이죠. 

그림1. 데이터 블록들은 일반적으로 독립되어 있다.


 그림1에서는 데이터 블록들이 독립되어 있습니다. 어떤 블록의 데이터를 위변조하고 싶다면, 해당 블록만 변경하면 됩니다. 데이터 블록들은 다른 블록 정보에 관심이 없기 때문입니다. 하지만 데이터 블록들이 블록체인으로 구성되어 있다면 서로의 정보를 알고 있기 때문에 하나의 블록을 위변조하기 위해서 모든 블록을 바꾸는 작업을 해야 합니다.

그림2. 블록체인의 경우 하나의 블록만 위변조하면 다른 블록들에게 들킨다


 그림2는 블록체인으로 구성된 데이터 블록들입니다. 블록들은 연결된 블록에 대한 정보를 알고 있기 때문에, 어떤 블록이 자신이 알고 있던 정보와 다른 정보를 가진다면 바로 알아차릴 수 있습니다. 따라서 블록3의 색을 바꾸고 싶다면, 블록1~5를 모두 바꿔줘야 합니다.

그림3. 하나를 바꾸기위해 전체를 바꿔야 한다


 그림3처럼 블록3의 데이터를 변경하기 위해서는 전체 블록을 변경해야 하므로 데이터를 쉽게 위변조할 수 없습니다. 물론 5개의 데이터 블록을 수정하는 것은 어려운 일이 아니겠지만, 실제 블록체인은 수많은 블록이 연결돼있기 때문에 사실상 불가능에 가깝습니다. 이것이 블록체인이 보안에 강한 이유입니다.


b.금융권에서의 블록체인

 블록체인을 적용하면 어떤 장점이 있어 금융권에서 블록체인 기술에 관심을 두는 것일까요? 블록체인의 핵심기술은 저장된 데이터를 신뢰할 수 있도록 만드는 것입니다. 금융권에서 블록체인에 관심을 두는 이유는 바로 이 부분입니다. 현재 금융거래에는 제3자의 도움이 필수로 들어가 있습니다. 가장 가까운 예는 우리가 이용하는 금융서비스들입니다. 우리는 이체를 하기 위해 은행을 이용하고, 주식거래를 위해 증권사를 이용합니다. 개인뿐만 아니라 기관들도 청산기관이나 중앙은행을 두고 거래를 해야 하기 때문에 절차가 복잡하고 비용이 많이 소모됩니다. 하지만 블록체인을 도입하게 되면 제3자의 도움 없이 데이터를 신뢰할 수 있게 되므로, 프로세스 간소화 및 비용 절감 효과가 있습니다. 인터넷만 되면 누구나 비트코인 거래를 할 수 있는 것처럼 말이죠.

그림4. 기존방식과 블록체인방식의 차이


 조금만 더 기술적으로 들여다보도록 하겠습니다. 블록체인을 적용한 금융네트워크에서는 스마트 컨트랙트(Smart Contract)를 사용하여 거래데이터를 관리합니다. 스마트 컨트랙트는 거래에 대한 정보가 적혀있는 스크립트로 원장데이터라고 생각하시면 됩니다. 스마트 컨트랙트는 기존에 서면으로 작성되던 계약서들을 디지털로 바꾸어 조건이 맞으면 자동으로 계약이 실행되게끔 만든 디지털 계약서로, 1994년에 최초로 등장했지만, 데이터를 신뢰하기 어려웠고, 위변조하기 쉬워서 실제 상용화되지 못했던 서비스입니다. 하지만 블록체인 기술이 등장하면서 데이터 신뢰에 대한 문제를 해결할 수 있게 되어 다시 조명을 받게 되었습니다.

 

그림5. 블록체인 네트워크에서 smart contact 생성


 그림5에서 A와 B사이에서만 금융거래가 일어났지만, 이 거래는 스마트 컨트랙트형태로 네트워크상에 모두가 공유하게 됩니다. 이런 식으로 진행되면 결국 네트워크에 연결된 모든 사람이 네트워크에 일어난 모든 거래를 알고 있게 됩니다.


그림6. 스마트 컨트랙트 체이닝

그림7. 위변조를 시도할 경우



 그림6처럼 네트워크 내에서 생성되는 모든 스마트 컨트랙트는 차곡차곡 쌓이게 되며 서로를 검증할 수 있는 네트워크가 형성됩니다. 만약 누군가가 스마트 컨트랙트를 위변조하여 부당한 이득을 취하려고 한다면 네트워크에 있는 모두가 위변조를 감지할 수 있습니다. 따라서 스마트 컨트랙트 하나를 위변조하기 위해서는 네트워크상의 모든 스마트 컨트랙트를 위변조 해야 합니다. 한 번에 모든 컨트랙트를 위변조하는 것은 어려울 뿐만 아니라, 스마트 컨트랙트는 실시간으로 계속해서 업데이트되고 있기 때문에 짧은 시간에 모든 컨트랙트를 바꾸는 것은 거의 불가능에 가깝습니다. 

 위처럼 스마트 컨트랙트와 블록체인을 사용해 보안이 향상된 금융거래 네트워크를 만들 수 있습니다. 


2.블록체인 인증서

 앞서 설명한 것처럼, 블록체인 기술은 데이터에 대한 신뢰를 보증할 수 있는 데이터 저장방법입니다. 즉, 저장된 데이터를 믿을 수 있는지 없는지를 보증하는 것이지, 저장하는 데이터가 신뢰 가능한지 검증하는 기술은 아닙니다. 위에 금융거래 네트워크에서 예를 들어보면, 과거의 금융거래에 대해서는 확실히 신뢰를 보장하지만, 어떤 거래가 발생했을때 이 거래가 정상적으로 방법으로 발생된 거래인지 아닌지는 검증할 수 없습니다. 

그림8. 신규로 들어오는 데이터에 대한 검증은 하지 못한다


 그림8처럼 신규로 거래데이터가 들어올 때, 이 데이터가 올바른 것인지 아닌지는 검증하지 못합니다. 왜냐하면, 블록체인은 저장된 데이터를 신뢰할 수 있게 하는 데이터저장 기술이지 인증 기술이 아니기 때문입니다. 그렇다면 도대체 블록체인을 이용한 인증서는 무엇일까요?


a.공인인증서의 블록체인 버전

 일부 사람들이 블록체인을 인증기술로 오해할 수 있는데, 반은 맞고 반은 틀린 이야기입니다. 실제로 외국에서는 블록체인을 공개키 암호화 기반의 인프라로 활용해 인증 서비스를 제공하는 기업들이 있습니다. 이런 서비스들은 블록체인으로 인증서비스를 제공하는 것이 아니라, 인증 데이터를 블록체인 인프라에 저장하는 서비스입니다. 실제로 인증은 기존의 PKI(공개키)방식의 인증방법과 동일합니다.
 국내에서도 현재 금융투자협회가 블록체인 컨소시엄을 구성하여 블록체인 인프라를 구축해 공동인증 서비스를 제공하고 있습니다. 공동인증 서비스금융거래에서 본인인증으로 사용되던 인증서를 블록체인 네트워크로 옮긴 서비스입니다. 기존에는 제3자(공인인증기관)에 의해 본인인증을 할 수 있었는데, 인증서를 블록체인 네트워크로 옮기면서 제3자의 도움 없이 본인인증을 할 수 있습니다. 

그림9. 블록체인 네트워크에서 인증서


 그림9처럼 인증서를 어느 한 금융사에서 발급하게 되면, 금융사끼리 구축된 블록체인 네트워크를 통해 모든 금융사가 해당 인증서 정보를 공유하게 됩니다. 이렇게 되면 발급받은 인증서는 금융사 블록체인 인프라를 통해 신뢰가 가능해지기 때문에 제3자의 도움이 필요 없으며, 인증서를 발급받은 금융사가 아니어도 인증서 정보를 갖고 있기 때문에 어떤 금융사에서도 인증서를 사용할 수 있게 됩니다.

b.블록체인을 이용한 인증서의 장단점

 금투협에서는 블록체인을 이용한 공동인증 서비스 사용 시 아래와 같은 장점이 있다고 소개했습니다.

 구분

 As-Is 

 To-Be 

 사용 가능 기관

 온라인증권거래 및 보험거래, 전자정부민원서비스 

 블록체인 참여 회원사 

 타기관 인증서 등록 

 계좌확인, ARS인증, OTP인증 등 2차 인증 필요 

 자동등록 

 개인키 접근 

 가능 

 불가 

 개인키저장공간 

 지정된 경로(파일형태) 

 TEE 또는 앱 영역 

 유효기간 

 1년 

 3년 

 개인키 암호화 방법

 패스워드 

 패스워드/핀번호/지문 

 인증서 유효성 확인

 외부기관과 통신필요 

 각 사의 네트워크에서 확인 가능 


 인증서를 사용하는 사용자 입장에서 좋아지는 점은 무엇일까요? 가장 눈에 띄게 변하는 점은 인증 기간입니다. 현재 공인인증서는 유효기간이 1년으로 상당히 짧은데, 공동인증 인증서는 유효기간을 3년으로 두고 있습니다. 블록체인 인프라와 개인키 저장방식 등으로 인증서에 대한 보안이 더욱 강화되었기 때문에 기존보다 더 긴 유효기간을 가질 수 있습니다. 또, 타기관 인증서 등록을 장점으로 볼 수 있는데, 기존에 금융사에서 타기관에서 쓰던 인증서를 등록하려면 계좌인증이나 전화인증 등 2차 인증절차를 거쳐야 등록할 수 있던 반면, 공동인증은 처음 이용하는 금융사도 자동으로 내가 쓰던 인증서 정보가 등록됩니다. 인증서에 대한 암호화 방법도 기존 공인인증서가 패스워드 방식만 지원하던 것에서 PIN번호 인증과 지문인증이 추가되었습니다. 

 위 나열한 장점들만 보면 공동인증 서비스는 상당히 좋은 서비스입니다. 일단 사용자들이 한 곳에서만 인증서를 발급받으면 모든 금융사에서 사용할 수 있게 됩니다. 물론 해당 금융사가 블록체인 인프라에 가입되어 있어야 합니다. 하지만 아직은 모든 금융사에서 공동인증 서비스를 도입하지 않았기 때문에 하나의 인증서로 모든 금융사를 사용할 수는 없습니다. 그뿐만 아니라 공동인증 서비스는 별도의 앱으로 제공되기 때문에 사용자는 별도의 추가 앱을 설치해야 합니다. 인증서를 사용할 때도 금융사 앱에서 공동인증 앱으로 넘어갔다가 다시 금융사 앱으로 돌아와 인증해야 하는 번거로움이 있습니다. 편하려고 만든 서비스가 오히려 사용자에게 불편함을 줄 수 있습니다.

 공동인증 서비스를 제공하는 금융사 입장에서도 몇 가지 아쉬운 점이 있습니다. 공동인증 서비스는 기존의 인증서를 대체하는 것이 아니기 때문에, 기존 인증서와 공동인증서 두 방법을 동시에 유지해야 합니다. 그에 따른 유지비용이 추가로 들게 되죠. 또, 기존 공인인증과 차별점으로 인증서 유효성 검증 시 공인인증기관과의 통신이 필요 없다고 말했지만, 실제로 블록체인 인프라가 각 금융사 내에 있는 것이 아니기 때문에 외부와 통신을 해야 하는 것은 똑같습니다. 즉, 금융사 입장에서는 블록체인 인프라나 기존의 공인인증기관이나 다를게 없습니다. 


3.정리

 아직 국내 블록체인 기술은 시작단계이기 때문에 시행착오가 많을 것으로 생각됩니다. 공동인증 서비스 역시 국내에서 처음 시도되는 블록체인 인프라를 이용한 인증 서비스입니다. 블록체인 기술이 현재 금융권에 완벽하게 적용되려면 아주 많은 검토와 시간이 필요할 것 같습니다. 어쩌면, 현재 금융 인프라는 블록체인에 적합하지 않을 수도 있습니다. 무엇보다 안전이 우선시되는 금융분야이기 때문에 변화에 빠르게 적응하기 보다는 좀 늦더라도 완벽하게 적응되는 것이 더 좋을 것이라 생각됩니다.

 증권사에서 블록체인으로 만든 공동인증 서비스 도입작업을 진행하면서 기존 인증서의 인증방법이나 블록체인을 활용한 인증서비스에 대해 정리해보았습니다. 공동인증 서비스에 초점을 맞추다 보니 실제 블록체인 기술에 관한 내용(합의 알고리즘, 퍼블릭/프라이빗 구성 등)은 과감히 빼버렸습니다. 그만큼 전자서명의 원리와 블록체인을 이용한 인증 서비스에 대해 쉽게 설명하려고 노력했는데 잘 됐는지 모르겠네요. 전자서명의 경우 다양한 분야에서 사용되니 이번에 개념을 꼭 알고 가면 도움이 될것 같습니다. ^^



 ps. 현재 금투협에서 제공하는 블록체인 솔루션은 TheLoop라는 회사의 솔루션입니다. 이 솔루션은 오픈소스로 공개했기 때문에 누구나 프로젝트에 참여할 수 있습니다.

https://github.com/theloopkr/loopchain



반응형

댓글

Designed by JB FACTORY