검수요청.png검수요청.png

다중서명

해시넷
Asadal (토론 | 기여)님의 2019년 7월 7일 (일) 03:35 판 (같이 보기)
이동: 둘러보기, 검색

다중서명(Multi-signature)이란 데이터의 위변조, 부인을 막고 메시지의 무결성을 확인, 인증을 수행하는 기술인 전사서명 중 특수 전자서명 방식에 해당되는 기술이다.[1]

전자서명

전자서명이란 작성자로 기재된 자가 그 전자문서를 작성하였다는 사실과 내용이 송/수신과정에서 위/변조되지 않았다는 사실을 증명하는 역할을 한다.[2] 한 예시로 우리가 송금을 하게 된다면, 이 과정 속에서 필요한 것은 계좌번호와 비밀번호이다. 암호화폐 거래, 특히 비트코인(Bitcoin) 거래에 있어서 계좌번호의 역할을 해주는 것은 공개 키(Public Key)이고, 비밀번호의 역할을 수행하는 것은 개인 키(Private Key)이다. 공개키는 모든 사람에게 공개되며, 비밀번호인 개인키는 개인이 간직하게 된다. 여기서 비트코인의 거래 과정을 살펴보게 된다면 개인키로 잠근 문서는 공개키로만 열 수 있다. 만일 A가 B에게 정보를 보낼 때 A의 개인키로 문서를 암호화하여 보내고, B는 A의 공개키로 복호화한 후, 해당 정보가 A가 보낸 것이 맞는지 확인하는 과정을 거친다. 이러한 비트코인 전자서명 시스템은 하나의 주소에 하나의 개인 키가 연결된 단일서명거래 방식을 사용하고 있다.[3]

다중서명

일반적으로 전자사명 방식은 한 문서에 한 사람이 서명을 하는 환경에 기초하여 설계되어 있기 때문에, 서류 결제, 서명 운동, 계약의 경우와 같이 여러 사람이 한 문서에 서명하는 경우, 단순서명을 반복해서 적용하여 문제를 해결할 수 있지만, 이러한 방식은 서명의 길이가 늘어나도 서명을 검증하는 경우 서명자의 수만큼 검증과정을 거쳐야 하기 때문에 서명자가 많은 경우 시간이 오래 걸린다는 단점이 존재한다. 이러한 단순서명 방식의 문제를 해결하기 위해 나온 개념이 바로 다중서명 방식이다. 다중서명 주소는 하나의 주소에 n개의 개인키가 설정되어 있다. 이 다중서명 주소에서 인출을 할 때는 n개의 개인키 중에서 m개의 서명이 있어야 가능하다. 이를 M-of-N 거래라고도 일컫는다. 보안을 강화하거나 온라인 거래 시 소비자를 보호하는 방안 등 다양하게 활용할 수 있다[4]

다중서명의 특성

1. 복수의 서명인

단순 전자서명 방식은 한 명의 서명자가 문서에 서명을 하고 필요한 사람에게 전송하여 절차를 따라 서명을 검증하게 된다. 하지만 다중서명 방식에서는 한 문서에 둘 이상의 서명자가 존재하게 되므로 다중서명 생성/검증에 단순서명 방식보다 복잡하고 추가적인 과정이 요구된다.[4]

2. 통신

단순서명 방식은 서명자가 서명을 한 후, 증명하고자 하는 사람이나 단체에 서명한 문서와 서명을 전송하면 서명자로서의 역할은 종료된다. 하지만 다중서명 방식은 모두 떨어져 있는 각각의 서명자 사이에 통신 매체를 이용하여 서명이 필요한 문서, 서명문, 정보들을 송/수신한다고 가정한다.[4]

3. 다중서명 생성

다중서명 방식은 기본적으로 두 사람 이상의 서명문이 모아진 것이며 다중서명 방식의 첫 번째 목표가 서명문의 길이가 늘어나는 것을 방지하는 것이므로 각 서명자의 서명이 하나로 모아지지만 길이의 증가가 발생하면 안 된다.[4]

4. 다중서명 검증

단순서명 방식에서는 서명자와 검증자가 다르다고 할 수 있지만 다중서명 방식에서는 서명자가 검증자의 역할도 겸하게 된다. 이로 인해 서명의 검증과정이 단순 서명 방식 보다 복잡해지는 것이 일반적이다.[4]

다중서명 블록체인 활용

다중서명지갑

일반적으로 암호화폐 지갑은 크게 핫월렛(HotWallet)과 콜드월렛(Cold Wallet)으로 구분이 되며 더 나아가 이더리움스마트 계약을 기반으로 한 지갑으로 다중서명지갑(Multi-Signature Wallet)이 존재한다. 다중서명지갑은 단일서명을 통해서 지갑에서 암호화폐를 출금하던 방식과 다르게 이더리움의 스마트 계약으로 구현 되었으며 지갑의 출금은 다중서명을 통해 출금이 가능하도록 한 스마트 계약이다. 이러한 다중서명지갑은 일반 지갑에 비해 보안이 더 우수하며 실수로 인한 출금 또한 방지할 수 있다. 하지만 지갑의 편이성이 부족하고 많은 주의성이 요구되기 때문에 일반지갑에 비해 사용이 쉽지 않기 때문에 종류 또한 많지 않다.[5]

(NEM)은 뉴이코노미무브먼트코인(New Economy Movement coin)의 줄임말로 이더리움과 같은 플랫폼 코인 형태로 POI(Proof OF Importance)라는 합의 알고리즘을 발행 방식으로 채택하고 있는 스마트 자산 시스템을 위한 암호화폐이다. 넴은 다중서명지갑을 활용하여 여러 사람 또는 단체 사이에서 주소의 소유권을 나누게 되는데 즉, 여러 사람의 비밀번호를 동시에 입력하는 다중서명 방식을 채택하여 거래의 안전성을 높였다.[6]

스팀

스팀(Steem)은 블록체인 기반의 소셜 블로깅 플랫폼으로 블로그에 글을 쓰거나 댓글을 달게 된다면 보상으로 직접 채굴하지 않아도 스팀코인(SteemCoin)을 받을 수 있다. 이를 통해 정확한 정보제공, 생산적인 피드백을 유도하여 소셜 생태계가 자율적으로 순환되게 해준다.[7] 스팀 블록체인을 사용하면 권한을 여러 엔터티로 분할할 수 있으므로 여러 사용자가 동일한 권한을 공유하거나 여러 엔터티가 트랜잭션을 인증해야만 유효하게 된다. 여기서 각 공개키 / 개인키 쌍에 가중치가 할당되고 권한에 대해 임계 값이 정의되며 트랜잭션이 인정되려면 충분한 가중치의 합이 임계 값 이상이 되도록 서명해야하는 방식을 채택하여 스팀을 사용하는 사람들의 계정과 스팀코인을 안전하게 보호하고 있다.[8]

패리티

패리티(Parity)란 이더리움 노드 소프트웨어 용 웹 인터페이스를 제공하는 이더리움 클라이언트이자 이더리움의 지갑 중 하나이다. 패리티는 스마트 계약으로 구현된 다중서명지갑 중 하나로 암호화폐를 전송할 때 2명 이상이 승인해야 거래가 가능하며 해킹 취약점을 보완하기 위해 개발되었다.[9]2017년 중순에는 최초 지갑 컨트랙트 생성 시 지갑 소유권을 지정하는 코드가 어느 누구나 실행할 수 있게 작성 되있는 다중서명지갑의 취약점을 노린 해커들에 의해 50만 이더리움 (한화 약 1,658억 원어치)이 사용불가능한 상태가 된 사건이 있었다.[10]

네오

네오(NEO)는 중국 최초의 블록체인 프로젝트로 스마트 자산 플랫폼 기능을 한다. 이더리움과 비슷한 기능을 제공하기 때문에 중국판 이더리움이라고도 불리운다. 네오에서 제공하는 네오전용지갑으로는 하나의 퍼블릭 키와 1of1 다중서명 주소로 구성되어있는 지갑과 주소가 여러 개의 퍼블릭 키와 M-of-N의 다중 서명 주소로 구성 되고 스마트 계약에 사용되는 다중서명지갑이 있다.[11]

각주

  1. on21life, 〈IT보안-Digital Signature, 전자서명이란 무엇인가〉, 《네이버 블로그》, 2018-08-09
  2. crytobell, 〈(블록체인 용어)디지털 서명 / 다중서명이란?〉, 《네이버 블로그》, 2018-10-15
  3. KimKwangWoo, 〈(코이신블)블록체인의 디지털 서명〉, 《미디엄》, 2018-10-15
  4. 4.0 4.1 4.2 4.3 4.4 이철수, 〈다중전자서명 알고리즘 연구 및 개발〉, 《한국정보보호센터》, 1999-12-01
  5. holcoin, 〈멀티서명지갑(Multi-Signature Wallet) 개념 - 이더리움〉, 《스팀잇》, 2017-04-15
  6. 토큰포스트, 〈넴(NEM)〉, 《토큰포스트 지식백과》
  7. 이일구 교수, 〈(디센터 톺아보기)암호화폐는 왜 가상화폐가 아닌가〉, 《서울경제 디센터》, 2018-02-01
  8. relaxkim, 〈스팀 청서(블루페이퍼) 공동번역 결과입니다.〉, 《스팀잇》, 2017-02-14
  9. 유수현 기자, 〈(카드뉴스) 이더리움이 또! ‘패리티’ 지갑 해킹〉, 《보안뉴스》, 2017-11-08
  10. 윤도, 〈정보 자료 패리티 멀티시그 지갑 해킹의 원인(by delegate call)〉, 《채인토크》, 2017-07-22
  11. 네오, 〈네오 공식홈페이지 설명서〉, 《네오》,

참고자료

같이 보기


  검수요청.png검수요청.png 이 다중서명 문서는 암호 알고리즘에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.