본문으로 건너뛰기
글로벌 시각으로 보는 디지털 자산글로벌 시각 · 지역별 맥락
ChainView BTC866CHAIN VIEW
블록체인

체인 ID와 서명 도메인: 다른 곳에서 재사용되는 서명 줄이기

거래와 구조화 메시지의 경계를 읽고 서명 화면에서 확인할 항목을 정리합니다.

읽기 언어한국어简体中文繁體中文EnglishРусскийالعربيةEspañol (México)Tiếng Việtไทย
체인 ID와 서명 도메인: 다른 곳에서 재사용되는 서명 줄이기

주제별 원본 삽화: ChainView BTC866 주제별 원본 도해 · ChainView BTC866 Editorial · CC BY 4.0

체인 ID가 구분하는 범위

이더리움의 재사용 방지 거래 형식은 체인 ID를 서명 내용에 포함해 다른 체인에서 같은 거래를 쓰기 어렵게 합니다. 네트워크 이름과 체인 ID가 일치하는지 확인하고 임의 RPC가 제공한 이름만 믿지 마세요. 체인 ID 하나로 연결한 서비스의 정당성과 체인 자체의 안전이 증명되는 것은 아닙니다. 같은 자산 이름과 주소 형식을 사용하는 다른 네트워크도 있으므로 송금 전에 실제 체인과 수신 지원 범위를 확인해야 합니다.

메시지 서명의 별도 규칙

거래 서명과 일반 메시지, 구조화된 데이터 서명은 다릅니다. 구조화 서명은 도메인 이름과 버전, 체인 ID와 검증 계약 같은 항목을 포함할 수 있지만 모든 항목이 자동으로 제공되는 것은 아닙니다. 표준을 썼다는 설명만으로 재사용이 완전히 차단된다고 단정하지 마세요. 검증 계약이 어떤 필드를 실제로 확인하고 어떤 권한을 부여하는지가 중요합니다. 화면에서 생략된 값도 요청의 원문으로 확인할 필요가 있습니다.

허가 서명과 기한

토큰 사용 허가나 주문 서명은 즉시 체인 수수료가 발생하지 않아도 나중에 제출되어 자산 이동에 쓰일 수 있습니다. 지출자와 자산, 한도와 만료일, 논스 같은 재사용 방지 값부터 읽으세요. 긴 유효 기간과 무제한 금액이 꼭 필요한지 검토해야 합니다. 앱 연결을 끊는 것만으로 이미 생성한 서명이 무효가 되는 것은 아닙니다. 계약이 제공하는 취소와 논스 변경 기능을 확인하고 필요한 경우 실제 체인 상태를 검증합니다.

서명 요청을 대조하는 예시

특정 앱의 로그인이라고 안내받았는데 검증 계약과 토큰 한도가 표시된다면 목적이 맞는지 다시 확인해야 합니다. 도메인 이름은 공격자가 그럴듯하게 지을 수도 있어 공식 계약 주소와 독립적으로 대조하세요. 하드웨어 장치가 해시만 보여 주는 경우 사람이 내용을 이해하기 어렵다는 제한이 있습니다. 잘 모르겠는 요청을 작은 금액 계정에서 시험한다고 모든 서명 위험이 사라지지는 않습니다. 요청을 거부하고 문서 확인부터 하는 편이 적절할 수 있습니다.

증거와 사후 대응

서명한 내용과 요청 도메인, 계약 주소와 시각을 보관하되 개인 키와 복구 문구는 어떤 지원 경로에도 보내지 않습니다. 의심되는 허가를 발견하면 관련 계약의 승인과 서명 취소 경로를 분리해 확인하세요. 체인 ID와 도메인 필드는 유용한 경계이지만 잘못 작성된 검증 코드와 피싱을 대신 막아 주는 보증은 아닙니다. 사용자가 이해한 행동과 실제 권한이 일치하는지를 마지막 기준으로 삼아야 합니다.

직접 확인하는 연습

서명 요청에서 체인과 검증 계약을 각각 읽고 공식 자료의 주소와 대조합니다. 도메인 이름이 보기 좋다는 이유로 자산 한도와 기한을 생략해서는 안 됩니다.

자료 출처

  1. EIP-155 (새 탭에서 열림)
  2. EIP-712 (새 탭에서 열림)