Geth . 이더리움 키스토어
Geth 지갑 복구
이더리움 초창기에 Geth 노드를 운영했다면, 여러분의 ETH는 거의 틀림없이 더 이상 기억하지 못하는 비밀번호로 보호된 키스토어 파일 안에 잠겨 있을 것입니다. 해당 파일만 있다면 대개 복구가 가능합니다.
이더리움의 공식 클라이언트인 Geth(go-ethereum)는 메타마스크(MetaMask)나 하드웨어 지갑이 등장하기 전, 초기 보유자 다수가 ETH를 보관하던 방식이었습니다. 계정을 생성하면 Geth는 암호화된 키스토어 파일을 디스크에 저장하고 비밀번호로 보호했습니다. 몇 년이 지난 지금, 바로 그 비밀번호가 문제의 핵심입니다. 파일은 온전하고, 온체인에서도 ETH가 확인되지만 지갑을 열 수 없는 상황입니다. 키스토어 파일만 남아 있다면, 이는 복구 가능성이 가장 높은 사례 중 하나입니다.
사용자의 키스토어 파일 (UTC / V3)
Geth stores each account as a JSON keystore file with a name like UTC–2015-08-14T…–<address>. Inside is your private key, encrypted to the Ethereum Web3 Secret Storage V3 standard. This is the single most important thing to find and protect — it is what makes recovery possible. Without it, there is nothing to decrypt; with it and a password hint, the odds are good.
키스토어 폴더의 일반적인 위치:
- 리눅스: ~/.ethereum/keystore/
- macOS: ~/Library/Ethereum/keystore/
- Windows: %APPDATA%\Ethereum\keystore\
이 파일들은 확장자가 없으며, 파일 이름이 UTC–로 시작합니다. 이전에 Geth, Mist 또는 구버전 이더리움 지갑 앱을 실행한 적이 있다면, 바로 이곳에 키가 저장되어 있습니다.
키스토어의 암호화 방식
V3 키스토어는 사용자의 비밀번호를 저장하지 않습니다. 대신 비밀번호를 사용하여, 그 사이에 의도적으로 일정량의 연산 작업을 거친 후 개인 키를 복호화하는 키를 도출합니다. Geth는 기본적으로 scrypt 키 도출 함수(강력한 N, r, p 매개변수 설정)를 사용하지만, 일부 파일에서는 대신 PBKDF2를 사용하기도 합니다. 이후 실제 키는 AES-128-CTR로 암호화되며, MAC을 통해 후보 비밀번호가 올바른지 확인합니다. 이러한 복잡한 KDF가 바로 복구가 단순한 계산 속도보다는 유용한 힌트에 의존하는 이유입니다. 설계상 각 시도마다 많은 비용이 들기 때문에, 검색 범위를 좁히는 것이 가장 중요합니다.
Geth 비밀번호를 복구하는 방법
복구 서비스는 사용자의 비밀번호를 대상으로 하는 오프라인 검색 방식입니다. 당사는 사용자의 키스토어 파일에서 KDF 매개변수를 읽어들이고, 사용자가 기억하는 정보(길이, 일부 단편, 자주 사용하는 단어와 숫자, 비밀번호를 설정한 연도 및 기기 등)를 바탕으로 후보 비밀번호를 생성한 뒤, hashcat의 이더리움 지갑 모드(scrypt 키스토어의 경우 15700, PBKDF2의 경우 15600)를 사용하여 전용 GPU 하드웨어에서 이를 테스트합니다. 후보 비밀번호 중 하나가 MAC 조건을 충족하는 순간, 비밀번호가 확인되고 귀하의 개인 키를 다시 되찾게 됩니다. 실제 사이트에는 어떠한 정보도 입력되지 않으며, 키가 귀하에게 반환될 때까지 평문 형태로 처리되는 일은 절대 없습니다.
Geth, Mist 및 프리세일 키스토어
두 형식이 서로 다르기 때문에, 현재 어떤 형식을 사용하고 있는지 파악해 두는 것이 좋습니다. Geth 키스토어(V3)는 클라이언트에서 계정을 생성할 때 얻게 되는 것입니다. 이는 자체적인 encseed 형식을 사용하는 2014년 프리세일 지갑과는 다릅니다. 만약 파일이 프리세일 당시의 것이라면, 해당 페이지를 참고하시기 바랍니다. 구형 Mist/이더리움 지갑 앱은 내부적으로 Geth와 동일한 V3 키스토어를 사용했기 때문에, 해당 사례도 여기에서 다룹니다. 어떤 클라이언트를 사용했는지 알려주시면 저희가 즉시 올바른 해결 방법을 적용할 수 있습니다.
게스 비밀번호가 작동하지 않는 이유
대부분의 “분명히 맞을 텐데”라는 경우는 사소한 차이에서 비롯됩니다. 대문자 하나나 마지막 숫자를 깜빡 잊은 경우, 현재 입력하는 방식과 다른 인코딩으로 저장된 특수 문자나 악센트 부호가 있는 문자, 또는 계정을 만들었던 기기의 키보드 배열 차이 등이 그 예입니다. 명령줄 사용자들의 경우, 비밀번호 끝에 공백이 포함되거나 셸 이스케이프 처리의 특이성으로 인해 비밀번호가 잘못 기록되는 경우도 종종 있습니다. 저희는 이러한 모든 경우를 체계적으로 재현해 봅니다. 비밀번호 자체는 대개 맞았지만, 사용자가 다시 입력하는 정확한 형식과 일치하지 않았을 뿐입니다.
오래된 컴퓨터에서 키스토어 찾기
Geth는 휴대폰이나 호스팅 계정이 아닌 컴퓨터에서 실행되었기 때문에, 키스토어 파일은 종종 수년 동안 손도 대지 않은 하드웨어 — 오래된 노트북, 더 이상 사용하지 않는 데스크톱, 외장 드라이브, 또는 업그레이드할 때 만들어 둔 백업 파일 — 에 저장되어 있는 경우가 많습니다. 파일 이름에 포함된 계정 주소를 통해, 다른 어떤 작업보다 먼저 올바른 파일을 찾았는지 확인할 수 있습니다. 드라이브가 고장 났거나 데이터가 지워졌거나 파일이 삭제되었다고 해도 반드시 끝은 아닙니다. 저장 매체의 포렌식 이미지를 생성하여 키스토어를 추출한 다음, 재구성된 파일에서 비밀번호를 복구할 수 있습니다. 파일이 사라진 것 같다고 생각되더라도 드라이브를 포맷하거나 계속 사용하지 마십시오. 쓰기 작업이 발생할 때마다 복구 가능한 데이터의 양이 줄어듭니다. 저장 매체를 그대로 보존한 채 먼저 저희에게 확인해 달라고 요청해 주십시오.
우리가 할 수 없는 일
키스토어 파일이 사라진 경우, 복호화할 대상이 없어 누구도 이를 복구할 수 없습니다. 암호화된 키는 오직 해당 파일에만 존재하기 때문입니다. 공개 주소만 가지고 있다면 이를 복구할 수 없습니다. 또한, 길고 완전히 무작위로 생성된 비밀번호에 대해 정말로 아무것도 기억하지 못한다면, 스크립트(scrypt) 연산에 드는 비용 때문에 비밀번호 검색이 사실상 불가능할 수 있습니다. 저희는 귀하가 서비스를 신청하기 전에 이 점을 솔직하게 알려드립니다. 저희는 절대 선불 결제를 요구하지 않습니다.
자주 묻는 질문
Geth 지갑을 복구하려면 어떤 파일이 필요한가요?
키스토어 JSON 파일 — 키스토어 폴더 내에 있는 ‘UTC–…–address’라는 이름의 파일입니다. 이 파일에는 암호화된 개인 키가 저장되어 있습니다. 이 파일이 없으면 복호화할 수 있는 것이 아무것도 없습니다.
내 Geth 키스토어는 어디에 저장되어 있나요?
리눅스에서는 ~/.ethereum/keystore/, macOS에서는 ~/Library/Ethereum/keystore/, 윈도우에서는 %APPDATA%\Ethereum\keystore\에 있습니다. 파일 이름은 UTC–로 시작하며 확장자가 없습니다.
Geth 비밀번호를 잊어버렸는데, 복구할 수 있나요?
보통 키스토어 파일과 비밀번호에 대한 대략적인 기억이 있다면, 해당 파일의 scrypt 또는 PBKDF2 설정을 확인한 뒤, 후보 중 일치하는 것이 나올 때까지 힌트를 바탕으로 오프라인에서 검색을 진행합니다.
게스 키스토어는 프리세일 지갑과 같은 것인가요?
아닙니다. Geth 키스토어는 V3 형식을 사용하지만, 2014년 프리세일 지갑은 자체적인 encseed 형식을 사용합니다. 두 지갑에는 서로 다른 처리 방법이 필요합니다. 어떤 지갑을 사용 중인지 알려주시면 올바르게 처리해 드리겠습니다.
예전에 쓰던 Mist/이더리움 지갑 파일인데요 — 좀 도와주실 수 있을까요?
네. Mist와 이더리움 지갑 앱은 Geth와 동일한 V3 키스토어를 사용했기 때문에, 복구 방법도 동일합니다.
Geth 복구 비용은 얼마인가요?
성과 기반: 지갑을 열었을 경우에만 회수된 금액의 일정 비율을 수수료로 받으며, 선불 수수료는 없습니다.
게스 키스토어에 접속할 수 없나요?
Send us your UTC / V3 keystore file and what you remember of the password. Honest assessment within 24 hours, and you pay only on success. Our experienced technical staff will examine your request and suggest next steps.
