이오스 프라이빗 키의 중요성과 관리

in #privatekey6 years ago

안녕하세요, 위즈페이스의 로날드입니다.
이번에는 이오스 프라이빗 키의 중요성과 관리법에 대해서 간략하게 알아보겠습니다.


이오스 등의 블록체인에서 데이터를 전송하고 스마트 컨트랙트를 수행하기 위해서는 사용자는 암호화된 전자 서명을 해야 합니다. 이 때 암호화 방식은 비대칭키 암호화(공개키 암호화) 방식을 따릅니다.

  • 암호화 : 원래의 메시지를 특정 대상자만 알아볼 수 있도록 바꾸는 것
  • 복호화 : 암호화된 메시지를 원래 메시지로 복원하는 것


대칭키 암호화 : 암호화와 복호화에 동일한 키 사용

비대칭키 암호화 : 암호와와 복호화에 서로 다른 키(공개키, 비밀키) 사용

  • 공개키(public key) : 시스템에 공개되어 누구나 볼 수 있는 키
  • 비밀키(private key) : 사용자에 의해 비밀리에 관리되어야 하는 키

A의 공개키로 암호화된 내용 : A의 비밀키로만 복호화 가능
A의 비밀키로 암호화된 내용 : A의 공개키로만 복호화 가능

  1. 메시지 전송 시 : 송신자는 수신자의 공개키를 이용하여 메시지를 암호화하고, 수신자는 자신의 비밀키를 이용하여 복호화하여 메시지를 확인한다.
  2. A의 전자 서명 : A는 자신의 비밀키를 이용하여 메시지(서명)를 암호화하고 수신자 및 제3자는 A의 공개키를 이용하여 복호화하여 메시지를 확인한다.


이오스의 프라이빗 키(비밀키)

한편 이오스에서 사용되는 비밀키는 특정 법칙을 따라 생성되는 51자리의 난수이며, 공개키는 이 비밀키해싱하여 생성됩니다. 하지만 공개키를 다시 역해싱하여 비밀키를 구할 수 없습니다.
즉, 비밀키(private key) 를 통해서 공개키(public key)를 구할 수는 있으나, 공개키를 통해서 비밀키를 찾는 것은 불가능합니다.
따라서 한번 비밀키를 분실하게 되면 되찾는 것은 불가능에 가깝기 때문에 안전한 곳에 백업해두어야 합니다.


프라이빗 키 보관

분실의 우려가 있다고 해서 이러한 비밀키를 공개된 네트워크 상에 함부로 보관하는 것은 소중한 자산을 잃을 위험이 커지게 됩니다. 그렇다면, 비밀키를 어떻게 보관하는 것이 분실의 걱정을 해결하는 동시에, 해킹의 위험으로부터 안전할 수 있을까요?



이오스를 비롯한 비트코인, 이더리움 등 블록체인 기반의 거래소, 개인 지갑 등이 해킹 당하는 사고가 빈번히 발생하고 있으며 이에 따라 각종 보안 해결책 등이 나오고 있습니다. 하지만 보안 기술을 뛰어 넘은 해킹 기술은 계속해서 등장하고 있어 보안 프로그램 및 기술에 전적으로 프라이빗 키 관리를 의존하는 것은 매우 위험합니다.
이 글 또한 이오스 프라이빗 키 관리를 몇 가지 방법을 제시하지만 완벽한 해법은 아니며 개인의 각별한 주의와 철저한 관리가 지속적으로 필요합니다.

2중, 3중 보안하거나 검증된 전문 방식으로 보관할 수 있지만, 번거로움과 복잡함 때문에 포기하는 분들을 위해 최대한 안전하면서 쉬운 방법을 소개해드립니다.


1. 신원 인증 툴 스캐터(scatter) 사용하기

  • 신원 인증 툴스캐터를 사용할 경우, 각종 Dapp 등을 사용할 때마다 매번 회원가입을 하거나 프라이빗 키를 입력하지 않아도 되어 해킹의 위험이 줄어들게 됩니다. 최초의 1회 인증 후 사용할 수 있으며 스캐터는 절대 프라이빗키에 관한 정보를 요청하거나 제공하지 않습니다.

  • 스캐터는 지금까지 이오스에 출시된 가장 신뢰 있는 신원인증 툴로 로컬에 저장되기 때문에 타인이 자신의 스캐터 비밀번호를 알아내더라도 노트북이나 데스크톱 하드웨어를 집에 와서 훔쳐가지 않는 이상 스캐터 계정을 해킹하는 것은 힘듭니다.

  • 하지만 스캐터 자체가 감염된 경우 문제가 발생할 수 있으므로 처음에 정상적인 스캐터 프로그램을 확실하게 설치하는 것이 중요합니다. 크롬 브라우저의 확장 프로그램 관리자 모드로 정상 프로그램임을 확인할 수 있습니다.

(블록원에서 자체 신원 확인 댑을 개발하고 있어 향후 최선의 보안 방법이 어떻게 될지는 지켜보아야 합니다.)


2. 키/자산 쪼개서 보관하기

51자리로 된 긴 프라이빗 키한 곳에 보관하는 것은 매우 위험합니다. 일종의 멀티 시그니처 방식으로 여러 군데의 온라인/오프라인 상에 51자리의 키를 분산해 보관하는 방법입니다. 예를 들어 한글 문서에는 5EjXk6 / 워드 문서에는 k6Bai1 / USB 저장소에는 i1HE3O … 이와 같은 방식으로 저장하며 이 때 순서를 잊어버리는 경우를 대비해 앞의 순서와 몇 자리가 중복되도록 저장해둘 수 있습니다.
Ex) 프라이빗 키 : 5EjXk6Bai1HE3O …
A 저장소 : 5EjXk6
B 저장소 : k6Bai1
C 저장소 : i1HE3O …



자산 보관 또한 분산해서 보관하는 것이 더 안전합니다. 한 번의 해킹으로 모든 자산을 날리는 것을 방지하기 위해 프라이빗 키 자체를 여러 개 만들어 보관할 수도 있으며 이오스에서는 각종 트랜잭션을 수행하는 active 계정과 소유권을 담당하는 owner 계정을 따로 둘 수 있습니다. 또한 앞서 말한 스캐터를 이용하여 잦은 Dapp 사용을 할 때에도 소액의 분할한 자산을 보관하고 있는 키를 인증해두는 것이 더 안전합니다.


3. 개인의 주의 깊은 행동

안전하게 보관하기 위한 방법들이 나오고 있지만 동시에 해킹의 위험에 노출되는 부주의한 행동들을 하지 않는 것도 중요합니다. 실제로 해킹 사례를 보면 개인의 관리 소홀로 인한 경우가 많습니다. 암호화된 USB 저장소에 프라이빗키를 저장해서 사용하였음에도 불구하고 컴퓨터가 바이러스에 감염되어 유출된 경우도 있으며, 복사+붙여넣기 하는 과정에서 해킹되는 경우도 있습니다. 결국 불명확한 이메일을 함부로 열어보아서는 안되며, 인증되지 않은 사이트나 프로그램을 설치하지 않는 등 주의 깊게 행동하는 것이 중요합니다.

또한 프라이빗 키를 함부로 제공해서도 안됩니다. 특수한 경우를 제외하고는 개인의 프라이빗 키를 요구하는 Dapp 이나 BP는 없기 때문에 검증되지 않는 툴이나 Dapp에 섣불리 프라이빗 키를 입력해서는 안됩니다.
네트워크를 차단한 오프라인 상태에서 프라이빗 키를 불러온다거나 컴퓨터가 아닌 공책에 51자리의 프라이빗 키를 적은 뒤 소중히 보관하는 것도 방법이 될 수 있습니다.



지금까지 말씀드린 내용은 단순 제안에 그치지 않습니다. 해킹을 당할 경우 그 누구도 책임져주지 않습니다. 소중한 자산이 들어 있는 만큼 스스로가 지속적인 관심을 가지고 최신, 최선의 관리 방법을 알고 활용해야 합니다. 개인정보를 관리하는 중앙화된 주체가 없다는 말은 책임져줄 중앙화된 주체가 없다는 말과 같습니다. 탈중앙화 시스템 안에서 그 장점을 온전히 누리기 위해서는 개인의 노력이 필요합니다.


지금까지 이오스 프라이빗 키의 중요성과 몇몇 관리법에 대해서 간략하게 알아보았습니다.
감사합니다.

Coin Marketplace

STEEM 0.32
TRX 0.11
JST 0.034
BTC 66269.58
ETH 3204.67
USDT 1.00
SBD 4.24