용어집 / 지갑과 수탁
패스프레이즈
별칭은 25번째 단어, 숨겨진 지갑, Passphrase입니다.
- 패스프레이즈란 무엇입니까?
- 패스프레이즈는 복구 문구에 추가하는 별도의 비밀값으로, 완전히 다른 지갑을 만들어 내며, 입력한 값이 올바른지 확인할 방법은 없습니다.
BIP-39에 명시되어 있습니다.
패스프레이즈는 어떤 키가 만들어지기 전에 단어와 섞이므로, 문자 하나만 바꿔도 완전히 새롭고 빈 지갑이 만들어집니다. 모든 가능한 문자열이 유효한 입력이므로 잘못된 입력을 거부하는 장치는 없습니다. 이 특성이 이 기능의 전부이자, 이 기능으로 사람들이 돈을 잃는 가장 흔한 경로이기도 합니다.
작동 방식
BIP-39는 패스프레이즈를 단어를 시드로 변환할 때 쓰는 솔트의 선택적 확장으로 정의합니다. 솔트는 문자 그대로의 텍스트 "mnemonic"에 패스프레이즈를 덧붙인 것이며, 이 쌍은 HMAC-SHA512를 사용하는 PBKDF2의 2,048회 반복을 거칩니다. 패스프레이즈를 바꾸면 512개의 출력 비트가 모두 바뀌고, 그에 따라 마스터 키가 바뀌며, 지갑이 앞으로 보여 줄 모든 주소가 바뀝니다.
세 가지 결과가 따르며, 세 가지 모두 사람들을 놀라게 합니다.
틀린 답이라는 것이 없습니다. 지난번에 쓰지 않은 대문자를 넣어 패스프레이즈를 입력해도 지갑은 성공적으로 열리고, 잔액이 없다고 표시하며, 새로운 수신 주소를 건네줍니다. 고장 난 것은 아무것도 없고 경고하는 것도 없습니다. 그 지갑으로 코인을 보내는 순간 실수가 영구적이 됩니다.
모든 문자는 입력한 그대로 정확히 반영됩니다. 대소문자, 공백, 문장 부호, 악센트가 있는 문자는 모두 비밀값의 일부이며, 눈에 보이지 않는 끝의 공백도 포함됩니다. 지갑은 해시하기 전에 텍스트를 Unicode NFKD로 정규화하여 대부분의 악센트 인코딩 차이를 처리하지만, 대략적으로만 기억하는 문구를 구해 주는 것은 아무것도 없습니다.
키 스트레칭이 약합니다. 이천사십팔 번의 PBKDF2 반복은 2013년에는 저렴했고 지금은 거의 공짜에 가깝습니다. 이미 적어 둔 단어를 가진 공격자는 사전에 있는 패스프레이즈를 엄청난 속도로 시험해 볼 수 있으므로, "bitcoin2020"이나 반려동물 이름은 몇 년이 아니라 몇 시간의 보호만 더합니다. 패스프레이즈는 길고 추측할 수 없어야 하며, 그렇지 않으면 보여 주기식 연극에 불과합니다.
별명도 오해를 부릅니다. “25번째 단어”라고 부르면 BIP-39 단어 목록에서 나오고 체크섬의 보호를 받는다는 뜻으로 읽힙니다. 둘 다 아닙니다. 임의의 텍스트이며, 검사되지 않고, 목록에 없으며, 복구할 수 없습니다.
비트코인을 구매할 때 이것이 중요한 이유
패스프레이즈는 한 가지 특정한 위협, 즉 누군가가 기기나 적어 둔 단어를 물리적으로 손에 쥐는 상황을 위해 존재합니다. 설정의 나머지 부분은 이미 원격 공격자를 방어합니다.
이 위협은 오래된 하드웨어에서는 가상의 것이 아닙니다. 이 사이트에서 리뷰한 Trezor 기기 두 가지, 즉 Model One과 Model T는 보안 칩(시큐어 엘리먼트)이 없으며, 제조사는 실험실에서 기기를 손에 넣은 공격자가 저장된 시드를 추출할 수 있다고 분명히 밝히고 있습니다. 패스프레이즈는 문서화된 완화책입니다. 추출된 비밀값만으로는 엉뚱한 지갑이 열리기 때문입니다. 절도 중에 발견되거나 방문객이 읽게 된 적어 둔 백업에도 같은 논리가 적용됩니다.
그 대가로 이제 복구에는 서로 독립적인 두 가지 비밀값이 필요하며, 두 번째 것은 대개 머릿속에만 존재합니다. 패스프레이즈 손실의 대부분은 여기서 비롯됩니다. 도난이 아니라 사망했거나, 잊었거나, 이사한 사람 때문입니다. 패스프레이즈를 쓴다면 적어 두고 단어와는 다른 장소에 보관하여, 어느 한 곳이 둘 다 담고 있지 않고 어느 한 번의 사고로 둘이 모두 사라지지 않게 하십시오. Trezor는 입력을 50자로 제한하므로 그에 맞는 길이를 계획하십시오.
보유한 자산이 삶을 의미 있게 바꿀 만한 규모이고 현실적인 위협이 해커가 아니라 사람일 때 사용하십시오. 아직 배우는 중이거나, 잔액이 적거나, 본인이 연락이 닿지 않을 때 패스프레이즈를 어떻게 할지 계획이 없다면 사용하지 마십시오.
실제로 효과가 있는 강요 대비 지갑
숨겨진 지갑 기능은 눈에 보이는 지갑이 그럴듯할 때만 도움이 되며, 대부분의 사람들은 이를 거꾸로 이해합니다.
기기를 패스프레이즈 없이 설정하고 실제로 쓸 수 있는 금액을 넣어 두십시오. 가끔 움직이는 수백 달러어치의 비트코인은 평범한 사람의 지갑처럼 보입니다. 비어 있는 표준 지갑은 있는 그대로, 즉 어딘가에 패스프레이즈가 존재한다는 증거처럼 보입니다.
저축은 패스프레이즈 지갑에 두고 조용히 놔두십시오. Trezor에서는 패스프레이즈를 입력하면 별도의 세션으로 숨겨진 지갑이 열리고, 비워 두면 다른 지갑이 존재한다는 어떤 표시도 없이 미끼 지갑으로 돌아갑니다.
한계에 대해 솔직해야 합니다. 이는 기기를 발견하거나 훔쳐서 안에 무엇이 있는지 찾는 사람으로부터는 보호해 줍니다. 이 기능이 존재한다는 것을 아는 사람으로부터는 훨씬 덜 보호해 주며, 여러 관할권에서는 당국에 자산에 대해 적극적으로 거짓말하는 것이 비트코인과 무관한 별개의 범죄입니다. 침묵은 방어할 수 있는 입장입니다. 거짓 진술은 그렇지 않습니다.
패스프레이즈 vs 이중 인증
패스프레이즈는 두 번째 비밀값이지, 은행이 이 용어를 쓰는 의미의 두 번째 인증 요소가 아닙니다. 이중 인증은 서버가 수행하는 확인으로, 서버는 접근을 거부하고, 시도 횟수를 제한하고, 계정을 잠그고, 고객 지원팀이 접근 권한을 복구하게 할 수 있습니다. 패스프레이즈는 아무도 확인하지 않고, 재설정할 수 없으며, 단어를 가진 누구에게나 오프라인에서 무한한 추측을 허용하고, 틀렸을 때 조용히 다른 지갑을 엽니다. 이 비교는 정확히 잘못된 방향으로 패스프레이즈를 돋보이게 합니다.
패스프레이즈 vs Shamir 백업
패스프레이즈는 비밀값을 더하고, Shamir 백업은 비밀값을 나눕니다. 둘은 서로 다른 질문에 답합니다. 패스프레이즈는 발견된 백업을 어떻게 쓸모없게 만들 것인가를 묻고, 발견한 사람이 갖고 있지 않은 무언가를 요구하는 방식으로 이를 해결합니다. Shamir는 백업을 잃어도 어떻게 버틸 것인가를 묻고, 한 장의 종이를 여러 장으로 바꾸어 그중 일부만 있으면 되게 하는 방식으로 이를 해결합니다. 둘을 결합하는 것도 가능하지만 복구가 실패할 수 있는 경로가 늘어나므로, 실제로 가진 문제를 골라야 합니다.