팁 - 해커로부터 EOS 비밀번호 보안 강화하기

in #kr6 years ago (edited)

EOS 지갑툴을 이용하면 키쌍(key pair), 계정(acccount)이란 용어를 접하는데,  연관성이 없어 보일수 있는 메타마스크 또는 레저나노s 에서 사용했던 시드문자(Seed Pharse)가  EOS 키쌍과 어떻게 연결되어 사용할 수  있는지에 관한 내용 입니다.

키쌍(Key Pair) 이해

EOS 에선 EOS Public & EOS Private Key 를 키쌍으로 말 합니다. EOS 에서만 언급되는게 아닌 암호화폐 주소 체계에서 단일주소의 공개(Public)  키와 비밀(Private)키를 키쌍으로 부릅니다.

니모닉 구(Mnemonic Phrase)

메타마스크 또는 레저나노s 에서 비밀번호로 사용되는 12 또는 24 문자를 말하며, 시드 문자(Seed Phrase)라고도 부르며 여러가지 코인 및 n 개 이상의 주소에 대한 비밀번호 입니다.

만약 메타마스크에서 1개의 이더리움 주소만 사용했던 사용자라면 시드문자가 1개의 이더리움 주소에 대한 비밀번호로 잘못 이해 할 수 있는데, 셀수없을 만큼 사용할 수 있는 주소중 1개만 사용했을 뿐 입니다.

또한 메타마스크는 이더리움만 지원하는 지갑툴 이었기 때문에  시드문자가 이더리움주소에 대한 비밀번호로 잘못 이해  할 수 있으나,  위의 그림에서 볼 수 있듯이 BTC,LTC 등 여러가지 코인에 대한 비밀번호로 활용 할 수 있습니다.

다수의 EOS 키쌍 필요성

EOS 에선 계정(account)이름은 한번 등록하면 변경이 불가능하며, 이 이름에 대한  EOS 키쌍을 연결하여 사용하는 방식입니다. 

만약 계정에 연결되어 있는 키쌍이 즉 EOS Private key 해킹이 의심된다면, 다른 키로 변경할 필요성이 있습니다.

대부분 <계정 + 1개의 키쌍>만 연결하여 사용하며, 이를 단일서명(Single-Sign) 계정이라 하며, <계정 + n 개의 키쌍>이 연결되어 있다면 멀티서명(Multi-Sign) 계정으로 부릅니다.


대표적으로 EOS BP 21 이 소유하고 있는 eosio.prods 가 그러한 예이며, 비트파이넥스 등 거래소  소유 계정은 멀티서명 계정으로 관리하는게 필수적 입니다.

니모닉구 -> EOS 키쌍 생성

신규로 EOS 계정을 만들려고 하거나, 또는 이미 등록된 키쌍을 변경하려고 하는 경우,  랜덤으로 키쌍을  생성하지 않고,  12 문자(시드문자)를 이용해서 EOS 키쌍을 생성하는 방법 입니다.

STEP 1

먼저 잘 알려진 메타 마스크 이용해서 시드문자를 생성하거나, 아래 링크 사이트를 이용해서 12 문자 시드를 생성합니다. 

URL : https://iancoleman.io/bip39/

12  단어수를 선택하신다음, Generate 를 실행후  하단 Coin - ETH 로 설정하시기 바랍니다.  기존에 사용하던 시드문자가 있다면 BIP39 Mnemonic 란에 입력 하시면 됩니다.

사용할 시드 문자(BIP 39 Memonic)는 별도로 메모장 또는 USB 저장장치에 보관 합니다.

STEP 2

Derived Address 하단에 표시된 m/44'/60/0'/0/0  에서 맨 마지막 숫자는 주소 생성 순서를 의미 하며, 메타마스크 또는 레저나노s 에서는 첫번째 주소부터 사용합니다.

하단에 "2020"  입력후 more rows 버튼을 누르면 추가로 2020 번째 주소가 더 보여 집니다.

중요한 포인트는 첫번째 주소가 아닌 임의로 정한 2020 번째 주소를 이용한다는 사실 입니다. 

해커가 시드문자를 탈취했다면, EOS 를 해킹하기 위해선 ETH 주소의 몇번째를 사용했는지를 알아야 하며,하지만  일반적으로  해커는 BTC,ETH 등의 잔고만 확인할 것 입니다.

STEP 3

2020 번째  Private Key 를 복사하여 스캐터나,  eoskey.io 에서 제공하는 툴을 이용해서 EOS 키쌍으로 변환 합니다.  

1. 스캐터 이용시 Key Pair 메뉴에서 ETH 로 설정후 0x까지 포함된 이더리움 Private Key 입력 합니다.

2.  https://eoskey.io/#/ 사이트에서 다운받은 툴을 실행하여 이더리움 Private Key 를 입력합니다.(주의: 0x 빼고 입력 해야 합니다)

스캐터나 eoskey.io 사이트에서 제공하는 툴을 이용하여 이더리움 비밀키(Private key)를 EOS 키로 전환하여 이 키를 사용하시면 됩니다. 그리고 이 키는 따로 보관할 필요성이 없으며, 시드문자와 몇번째 주소를 사용했는지를 기억하거나 저장해 놓으시면 됩니다. 

정리

메타마스크에서 잠시 쓰고 버렸던 시드문자가 EOS 키쌍을 저장하는데 매우 유용하며, 또한 키쌍을 직접 저장하여 해킹 당한다면 바로  도둑 맞지만, 시드문자를 이용하여  n 번째 주소를 사용 한다면  해커는 n 번째 주소를 사용한다는 사실을 확인해야 해킹할 수 있습니다.

즉 EOS 키쌍을 직접 저장하여 비밀번호를 관리하는 것보다, 시드문자를 이용하여 관리하는 것이 훨씬 더 보안이 뛰어 나며, 간단한 아이디어로 비밀번호의 보안을 한층 더 강화 할 수 있습니다.


Sort:  

이건 더 어려워요 ㅎㅎ
홀코인 님은 박사!

하학; 쉬운걸 어렵게 쓰는 재주가 있어서..
EOS 비밀키라고 저장되어 있으면, 혹시 해킹당하면 바로 탈취되는데..
시드문자로 저장해놓으면 해커도 어쩌지 못하는 상황이다. 이걸로 요약됩니다.

한 계정에 다수의 키쌍을 두면 개인은 어떤 이점이 있는건가요? 액티브키, 오너키를 달리 두는 거는 보안의 이점이 있을테지만, 추가로 키쌍을 두면 한 계정에 어느 키로든 접근 가능하게 되는 건가요? 자신의 어카운트에 있는 토큰의 전송, 투표 등을 여러 키쌍중의 하나로 접근해서 할 수 있다는 얘기인지요.

<멀티서명> 계정은 A와 B가 각각 있다고 했을때 A, B 각각 사인(동의)해야
토큰전송, 투표등이 이루어질수 있다는 개념입니다.
<단일서명>계정은 액티브키,오너키를 달리한다해도 둘중 하나만 해킹당해도,결국 토큰은 도난당합니다.

네. 감사합니다. 현재 멀티서명 계정 적용된 툴이 있나요? 스캐터나 그레이메스에 멀티계정만 이해하고 있었는데, 말씀하신것처럼 멀티서명 계정으로 적용가능한 사례가 어떤게 있나 궁금하네요.

아직 그레이메스,EOStoolkit.io 등에서 지원되지 않는데
지원될것으로 보고 있습니다.
현재는 eos 공식툴 cleos 만 가능하며, 처음 접하시면 매우
당혹스러울수 있습니다.

Congratulations @holcoin! You have completed the following achievement on Steemit and have been rewarded with new badge(s) :

Award for the number of comments received

Click on the badge to view your Board of Honor.
If you no longer want to receive notifications, reply to this comment with the word STOP

Do not miss the last post from @steemitboard:
SteemitBoard World Cup Contest - Croatia vs England


Participate in the SteemitBoard World Cup Contest!
Collect World Cup badges and win free SBD
Support the Gold Sponsors of the contest: @good-karma and @lukestokes


Do you like SteemitBoard's project? Then Vote for its witness and get one more award!