본문으로 건너뛰기

보안 및 복구

이 페이지는 QoreX가 키를 보호하는 방법과 지갑을 되찾는 방법을 설명합니다. ML-DSA-87 키, 소셜 복구, Legacy, 기기 연결, EVM 액세스 윈도우, 승인 창에 표시되는 내용, Q-Day 스캐너를 다룹니다. 모든 QoreX 사용자를 위한 페이지이며, 복구 도구 대부분은 모바일 앱에 있습니다.

혁신​

  • 암호화된 조각을 이용한 소셜 복구. 가디언은 ML-KEM으로 봉인된 시드의 암호화된 조각을 보관하며, 3개 중 2개로 분할됩니다. 복구는 48시간 타임락을 거치고 본인에게 알림을 보냅니다. 복구를 취소할 수 있으며, 취소는 지연만 시킬 수 있을 뿐 자금을 옮길 수는 없습니다. 릴레이에는 불투명한 봉투만 저장됩니다.
  • Legacy. 지정한 수혜자를 위해 가디언 위에 얹는 데드맨 스위치입니다.
  • 기기 연결. 일회용 코드와 QR을 절대 같은 화면에 표시하지 않습니다. QR만으로는 메모리 하드 키 유도 함수 뒤에 있는 암호문일 뿐입니다.
  • 결정적 ML-DSA-87 키. 같은 24단어(SHAKE256("qorechain:pqc:v1|" + address + "|" + mnemonic))에서 파생되므로 키를 따로 백업할 필요가 없습니다. QoreSign을 참조하세요.
  • 제한된 EVM 액세스. EVM 트랜잭션은 액세스 윈도우가 열려 있는 동안에만 허용되며, 트랜잭션 수, 금액, 만료 시점으로 제한됩니다.
  • 읽을 수 없는 것은 거부하는 승인. 승인 창에 표시되는 내용을 참조하세요.
  • Q-Day 스캐너. 모든 Bitcoin 또는 Ethereum 주소에 대한 노출 리포트입니다.

사용 방법과 위치​

아래의 모든 기능은 모바일 앱의 설정 → 보안에 있습니다. 브라우저 확장 프로그램에는 EVM 액세스 윈도우, 연결된 사이트, 승인이 있으며, 소셜 복구, Legacy, 기기 연결, Q-Day 스캐너는 모바일 전용입니다. QoreX는 무료이며 이 모든 기능에 계정이 필요하지 않습니다. 스토어 링크는 개요를 참조하세요.

홈 탭에도 소셜 복구가 설정될 때까지 계속 경고하는 백업 상태 카드가 표시됩니다. 이 카드는 소셜 복구만 추적합니다. 복구 구문을 적어두었는지는 알 수 없으므로 직접 챙기세요(아래 참고).

지금 바로 백업하세요 - 잃어버린 지갑은 누구도 대신 복구해줄 수 없습니다​

지갑에 자금을 넣기 전에 반드시 읽어보세요

QoreX는 비수탁형(non-custodial) 지갑입니다. 여러분의 키는 오직 여러분의 기기에만 존재하며, QoreChain 협회는 그 사본도, 마스터 키도, 지갑을 재설정하거나 복원할 방법도 가지고 있지 않습니다. "비밀번호를 잊으셨나요" 같은 절차도, 지원 티켓도, 고객 서비스를 통한 우회 방법도 존재하지 않습니다 - 백업 없이 키에 대한 접근 권한을 잃으면 자금은 영구적으로, 되돌릴 수 없이 사라집니다. 이는 QoreX만의 제약이 아니라 모든 비수탁형 지갑에 해당하는 사실이지만, 명확히 짚고 넘어갈 가치가 있습니다.

지갑을 만든 직후, 나중이 아니라 바로 다음 중 최소 하나는 반드시 하세요.

  1. 24단어 복구 구문을 적어두고 오프라인의 안전하고 내구성 있는 곳에 보관하세요 (스크린샷 금지, 클라우드에 동기화되는 메모 금지, 자신에게 보내는 메시지 금지). 이는 언제 어떤 기기에서든 지갑을 복원할 수 있는 유일한 수단입니다 - 모바일에서는 설정 → 보안 → 복구 구문 보기에서 확인할 수 있습니다(앱은 지갑을 만드는 동안에는 구문을 보여주지 않으므로 직접 찾아가서 확인해야 합니다 - 바로 하세요). 확장 프로그램에서는 지갑을 만들 때 한 번 표시되며, 이후에도 팝업의 복구 구문 보기에서 언제든 확인할 수 있습니다. 기존 지갑 복원하기를 참고하세요.
  2. 신뢰하는 가디언과 함께 **소셜 복구**를 설정하세요. 이를 통해 구문을 잃어버리더라도 지갑을 복구할 수 있으며, 어떤 가디언 한 명도 단독으로 자금에 접근할 수는 없습니다.

두 가지를 모두 하는 것이 가장 안전합니다 - 구문은 기기를 바꾸거나 앱을 사용할 수 없을 때 대비책이 되고, 가디언은 구문 자체를 잃어버렸을 때 대비책이 됩니다.

앱을 삭제하면 해당 기기의 키도 함께 삭제됩니다. 모바일 앱의 볼트와 브라우저 확장 프로그램의 볼트는 각각 그것을 생성한 기기에만 존재합니다. 앱을 삭제하거나, 휴대폰을 초기화하거나, 확장 프로그램을 제거/초기화하면 그 사본이 삭제되며 - 백업이나 연결된 기기가 없다면 QoreChain을 포함해 누구도 여러분의 지갑을 복구할 수 없습니다. 휴대폰이나 브라우저에서 지갑을 제거하는 것(설정 → 지갑 → 이 휴대폰에서 제거, 또는 확장 프로그램의 이 브라우저에서 제거)도 마찬가지로 해당 지갑의 키를 기기에서 삭제합니다 - 자금은 체인에 그대로 남아 있지만, 복구 구문만이 지갑을 되살릴 수 있습니다.

ML-DSA-87 키​

보안 화면에는 ML-DSA-87 키의 실시간 온체인 상태가 "첫 전송 시 등록됨" → **"온체인에 등록됨 ✓"**으로 표시됩니다. 사용되는 알고리즘은 ML-DSA-87(결정적 방식, secp256k1과의 하이브리드)입니다.

키 로테이션 - ML-DSA-87 키를 회전하는 작업(온체인 MsgRotatePQCKey 오퍼레이션)은 아직 QoreX 안에서 사용할 수 없습니다. 이후의 키 관리 업데이트와 함께 제공될 예정이며, 새로운 생체 인증 확인이 필요하고 절대 자동화되지 않습니다. 웹사이트는 QoreX에 ML-DSA-87 키의 등록, 마이그레이션 또는 로테이션을 요청할 수 없습니다. 등록은 첫 전송과 함께 저절로 이루어지며 사용자가 할 일은 없습니다 - v3.2.3부터 체인이 등록 시 선택적인 *소유 증명(proof of possession)*도 받으며, 현재 스토어 빌드에서는 QoreX가 이를 보이지 않게 처리합니다. 기본 메커니즘은 키 로테이션을 참고하세요.

소셜 복구​

소셜 복구를 이용하면 신뢰하는 가디언이 여러분의 복구 구문을 전혀 보지 않고도 지갑 복원을 도와줄 수 있습니다.

  • 여러분의 시드는 암호화된 조각(share)(ML-KEM으로 봉인)으로 분할됩니다. 기본값은 세 개이며, 그중 두 개만 있으면 복구를 도울 수 있습니다(2-of-3 임계값 방식). 하나만으로는 불가능합니다.
  • 각 가디언은 자격 증명을 받습니다. 설정 과정에서 릴레이에는 읽을 수 있는 정보가 전혀 기록되지 않으며, 오직 불투명하게 봉인된 봉투(envelope)만 남습니다.
  • 복구를 실행하려면 임계값만큼의 가디언 승인이 필요하며, 이후 48시간 타임락이 진행되고 본인에게 취소 알림이 전송되어, 악의적인 시도를 중단시킬 수 있습니다.

설정 방법: 홈 → 복구 설정(또는 설정 → 보안 → 소셜 복구) → 가디언 자격 증명 만들기. QoreX가 세 개의 자격 증명 - 가디언 1, 가디언 2, 인쇄용 백업 - 을 만들며, 3개 중 2개만 있으면 복구를 도울 수 있습니다. 신뢰하는 사람이나 기기에 하나씩 전달하고, 인쇄용 백업은 안전한 곳에 보관하세요. 이 작업을 완료하면 백업 상태 경고가 사라집니다.

다른 사람의 복구 승인하기: 누군가의 가디언으로 지정되어 있다면, 홈 탭의 복구 돕기를 사용해 해당 요청을 승인할 수 있습니다.

Legacy Protocol​

Legacy Protocol은 가디언 위에 얹는 데드맨 스위치입니다. 연락이 닿지 않게 되었을 때 자산을 지정한 수혜자에게 전달할 수 있습니다. 선택 사항이며 설정 → 보안에서 설정합니다.

서버 없이, 24단어를 입력할 필요도 없이 지갑을 두 번째 휴대폰이나 태블릿으로 옮길 수 있습니다.

  1. 새 기기에서 → 온보딩 → 다른 기기에서 연결하기를 선택합니다. 일회용 10자리 코드가 표시되고 카메라가 열립니다.
  2. 기존 기기에서 → 설정 → 보안 → 새 기기 연결하기 → 해당 코드를 입력 → 생체 인증으로 확인합니다. QR 코드가 나타납니다 (이 코드에서 파생된 키로 봉인된 시드: scrypt N=2¹⁷ → AES-256-GCM).
  3. 새 기기가 QR을 스캔하면 → 로컬에서 복호화되고 → 동일한 지갑, 동일한 주소가 됩니다.

QR 사진만으로는 충분하지 않은 이유: 코드와 QR은 절대 같은 화면에 동시에 표시되지 않습니다. QR 사진만으로는 메모리 하드 키 유도 함수 뒤에 숨겨진 암호문일 뿐이며, 두 요소 모두 일회용이고 화면과 함께 사라집니다. 잘못된 코드를 입력하면 명확한 오류 메시지가 뜨므로 다시 시도하면 됩니다.

노트

기기 연결은 편의 기능일 뿐, 복구 수단이 아닙니다. 24단어 구문과 소셜 복구가 실제 안전망입니다.

EVM 액세스 윈도우​

체인 v3.2.0부터, EVM 레인의 트랜잭션 - 예를 들어 QoreChain의 EVM 네트워크에서 MetaMask로 서명하는 트랜잭션 - 은 등록된 ML-DSA-87 키가 있고 동시에 열린 인증 윈도우(하이브리드 서명된 MsgOpenEVMWindow)가 있는 계정에서만 허용됩니다. EVM 트랜잭션 자체에는 secp256k1 서명만 들어 있습니다. 탐색기는 이러한 트랜잭션을 "Authorised by a PQC window"로 표시합니다. 윈도우를 여는 것은 MetaMask가 만들 수 없는 QoreChain 네이티브 레인 메시지이므로, 윈도우는 QoreX에서 열어야 합니다. QoreX 자체의 전송은 네이티브 레인을 사용하며 윈도우가 필요하지 않습니다.

누가 필요로 하는가. 윈도우는 Ethereum 방식(coin 60) 계정을 위한 것입니다 - MetaMask에서 처음 사용한 구문에 대해 *Ethereum 계정 추가(coin 60)*로 추가하는 계정입니다(MetaMask 또는 대시보드에서 구문 복원하기 참고). MetaMask는 Ethereum 키로 서명하며, 이는 coin 60 계정의 키입니다. 어떤 MetaMask 키도 일반 coin 118 qor1… 계정에서는 전송할 수 없으므로, 그런 계정에서 윈도우를 열어도 아무 효과가 없고 수수료만 듭니다.

앱에서는 설정 → 보안 → EVM 액세스 윈도우에서, 확장 프로그램에서는 팝업의 EVM 액세스 윈도우 버튼으로 엽니다. 다음을 선택합니다:

필드의미한도
기간 (블록 수, 최대 17280)윈도우가 열려 있는 기간최대 17,280 블록 (메인넷에서 약 15시간)
트랜잭션 수 (최대 1000)허용하는 EVM 트랜잭션의 수최대 1,000건
지출 한도, QOR - 전송하는 각 금액 그리고 그 최대 수수료까지 포함통과시킬 수 있는 최대 금액값 그리고 각 트랜잭션의 최대 수수료를 합산

체인은 v3.2.3부터 더 좁은 범위 지정 윈도우도 지원하지만, QoreX에는 이를 위한 화면이 없습니다. 기본값은 300 블록(메인넷에서 약 16분), 트랜잭션 5건, 1 QOR입니다. 윈도우를 여는 데는 일반 네트워크 수수료가 들며 통상의 하이브리드 서명(secp256k1과 ML-DSA-87)으로 서명되고, 새 윈도우는 이미 열려 있는 윈도우를 대체합니다. 윈도우를 열면 계정의 nonce도 증가하므로, 윈도우를 먼저 연 다음 MetaMask에서 전송하세요 - 그 이전에 준비된 트랜잭션은 "nonce too low"로 거부됩니다. 윈도우 닫기는 윈도우가 활성 상태일 때만 제공됩니다.

화면에는 네 가지 상태 중 하나가 표시됩니다: {blocks} 블록 · {txs} 트랜잭션 · {value} QOR 남음 동안 열려 있음, 열린 윈도우가 없습니다. 이 계정의 MetaMask 트랜잭션은 거부됩니다., 해당 윈도우가 만료되었거나 모두 사용되었습니다, 또는 QoreX가 네트워크에서 윈도우를 읽을 수 없었습니다 - 이는 QoreX가 알지 못한다는 뜻이며, 윈도우가 없다는 뜻이 아닙니다. 계정에 아직 ML-DSA-87 키가 없다면 먼저 하나를 등록하세요(첫 QoreX 전송이 이를 수행합니다). 그 전에는 윈도우가 도움이 되지 않습니다.

작게, 짧게 유지하세요

윈도우는 일반 MetaMask 트랜잭션이 secp256k1 서명만으로 QOR을 이동할 수 있게 합니다. 한도를 낮게 - 작은 지출 한도, 적은 트랜잭션 수, 짧은 시간으로 - 유지하고, 끝나면 윈도우를 닫으세요. 새 윈도우를 열면 기존 윈도우가 대체되며, 한도는 전송하는 모든 금액 그리고 그 최대 수수료를 합산하므로, 한도를 넘게 되는 트랜잭션은 거부됩니다.

QoreX 자체는 QoreChain의 EVM 레인으로 전송하지 않습니다. 이를 위해서는 열린 윈도우 안에서 MetaMask나 다른 EVM 지갑을 사용하세요. (QoreX에서 다른 네트워크의 ETH, BNB 및 기타 자산을 보내는 것은 별개의 기능입니다 - 외부 네트워크 및 토큰을 참고하세요.)

승인 창에 표시되는 내용​

QoreX가 생성하는 모든 서명은 여러분이 승인하며, 승인 창에는 서명하는 내용이 정확히 나열됩니다. QoreX는 다음을 표시합니다:

  • 요청의 모든 메시지에 대한 제목과 라벨이 붙은 필드 - authz MsgExec 안에 중첩된 메시지와 권한 부여 조건도 포함합니다 - 그리고 표시할 수 없는 것은 거부합니다("QoreX cannot read this message … Approve only if you trust this site completely");
  • 수수료(Fee: {amount} · gas {gas}), 누가 부담하는지, 그리고 수수료 대납(fee grant) 여부 - 수수료를 읽을 수 없으면 QoreX는 그렇게 알리고 승인하지 말라고 안내합니다;
  • 지출 허용량과 authz 권한 부여의 한도, 허용된 동작, 만료 시점 - UNLIMITED와 NEVER는 그대로 표기됩니다. 만료 시점은 초 단위까지 표시되며(YYYY-MM-DD HH:MM:SS UTC), 거버넌스 투표는 무엇에 투표하는지 볼 수 있도록 해독됩니다. 읽을 수 없거나, 무제한이거나, 끝이 없는 항목은 승인에 두 번째 탭이 필요합니다(Tap again to approve);
  • 여러 계정이 있을 때 서명 계정(Signed by …);
  • 메시지 수가 매우 많은 요청의 경우, 처음 50개와 나머지의 개수.

QoreX는 또한 바이트를 두 가지로 읽을 수 있는 요청을 거부합니다(1.1.7 / 0.3.7부터). 한 번만 나타나야 하는 필드가 반복되는 요청 - 예를 들어 수수료나 금액이 두 번 나오는 경우 - 은 한 가지로 표시되고 다른 방식으로 실행될 수 있으므로, QoreX는 이를 승인용으로 아예 표시하지 않습니다. 웹사이트의 경우 QoreX는 요청한 사이트를 요청이 스스로 말하는 내용이 아니라 브라우저가 직접 증명하는 출처(origin)로 식별합니다.

지갑이나 계정을 전환하거나 지갑을 잠그면 대기 중인 요청은 "거부"로 응답됩니다. 사이트당 대기 가능한 요청은 하나이며, 전체로는 세 개까지 대기할 수 있습니다. 일부 빌드에서는 승인 창의 필드 이름이 영어로 표시됩니다.

복구 구문과 접근성 도구​

복구 구문 화면은 매번 새로운 생체 인증 또는 기기 PIN을 요구하고, 단어를 복사 버튼 없이 번호가 매겨진 읽기 전용 격자로 표시하며, Android에서는 스크린샷이 차단되고 앱 전환기에서 숨겨집니다. Android 14 이상에서는 진짜 접근성 도구가 아닌 접근성 서비스에도 단어가 제공되지 않습니다(TalkBack과 기타 실제 스크린 리더는 여전히 읽을 수 있습니다). 이전 Android와 iOS에서는 단어가 기본적으로 스크린 리더에서 숨겨집니다. 스크린 리더에 의존한다면 해당 화면의 안내를 탭하여 읽도록 허용하세요. 아무도 화면을 볼 수 없을 때만 구문을 확인하세요.

연결된 dApp​

dApp 연결은 출처(origin)별로 관리됩니다. 앱에서는 세션 범위이기도 합니다. 앱 내 dApp 브라우저를 닫으면 모든 연결이 취소되므로 백그라운드에서 연결된 상태로 남는 것이 없습니다(설정 → 보안의 연결된 dApp 카드에도 그렇게 안내됩니다). 브라우저 확장 프로그램에서는 연결을 제거할 때까지 유지됩니다 - 팝업의 연결된 사이트를 열어 이 지갑이 승인한 모든 사이트를 확인하고 원하는 사이트를 해제할 수 있습니다.

연결된 서명자 및 지출 한도​

외부 키(Phantom 또는 MetaMask)를 자체 지출 한도가 있는 연결된 서명자로 연결하는 기능은 아직 QoreX 안에서 사용할 수 없습니다 - 설정 → 보안에는 카드가 표시되지만 동작은 곧 제공으로 표시됩니다. QoreX 밖에서 직접 하지 않았다면 지갑에 연결된 것은 아무것도 없습니다. 키 관리 권한은 연결된 키에 위임될 수 없습니다. 온체인 모델에 대해서는 연결된 지갑 인증자를 참고하세요.

Q-Day 스캐너​

Q-Day 스캐너를 사용하면 (본인 또는 타인의) 주소를 입력해 모든 Bitcoin 또는 Ethereum 주소에 대한 노출 리포트를 확인할 수 있습니다. 홈 탭의 빠른 실행 버튼에서 접근할 수 있습니다.

보안 모델 요약​

  1. 비수탁형 - 키는 기기에서 생성되어 하드웨어 기반 볼트(모바일) 또는 암호화된 볼트(확장 프로그램)에 저장되며, 절대 기기 밖으로 나가지 않습니다.
  2. 동의 없이는 아무 일도 일어나지 않습니다 - 모든 연결은 출처별로 관리되고, 모든 서명은 개별적으로 승인되며(모바일에서는 생체 인증), 페이로드는 서명 전에 항상 디코딩됩니다 - QoreX가 디코딩할 수 없는 것은 거부합니다.
  3. 하이브리드 서명되는 네이티브 레인. 모든 네이티브 QOR 전송은 고전 키와 ML-DSA-87(FIPS 204)로 두 번 서명됩니다. 고전 방식인 것(외부 네트워크, EVM)은 반드시 표시되며 절대 감춰지지 않습니다.
  4. 분석도, 크래시 보고도, 추적 SDK도 없습니다. 키, 복구 구문, 볼트, 승인 내역은 기기 밖으로 나가지 않습니다. 선택 사항인 로그인, 푸시 알림, 소셜 복구는 사용자가 켰을 때만 서버를 사용합니다. QoreX가 보내는 것의 전체 목록은 QoreX가 네트워크로 보내는 것에 있으며, QoreChain 개인정보 처리방침이 이를 다룹니다.
  5. 복구 경로 - 24단어 구문(항상 사용 가능), 가디언 + 48시간 타임락을 이용한 소셜 복구(선택), Legacy 상속(선택), 기기 연결(편의 기능).

제한 사항 및 알려진 문제​

  • 소셜 복구, Legacy, 기기 연결, Q-Day 스캐너는 모바일 전용입니다.
  • ML-DSA-87 키의 키 로테이션은 아직 QoreX 안에서 사용할 수 없습니다.
  • 지출 한도가 있는 연결된 서명자는 아직 QoreX 안에서 사용할 수 없습니다.
  • QoreX에는 범위가 지정된 EVM 윈도우를 위한 화면이 없습니다(체인은 v3.2.3부터 지원).
  • 기기 연결은 편의 기능일 뿐, 복구 수단이 아닙니다. 적어둔 구문도 소셜 복구도 없는 상태에서 잃어버린 지갑은 누구도 복구할 수 없습니다.
  • 일부 빌드에서는 승인 창의 일부 필드 이름이 영어로 표시됩니다.