용어집 / 개발자 참고 자료
SSL 서명
- SSL 서명이란 무엇입니까?
- SSL 서명은 BIP70이 PaymentRequest를 웹 서버의 인증서 키로 서명한 바이트들에 붙인 이름이며, 이 명칭은 쓰일 당시부터 이미 잘못된 이름이었습니다.
BIP-70에 명시되어 있습니다.
SSL 서명에는 어떤 SSL 프로토콜도 관여하지 않습니다. 이 바이트들은 직렬화된 메시지에 대한 평범한 X.509 서명으로, TLS 서버 인증서의 개인 키로 만들어지며, SSL 3.0%토콜은 2015년 6월에 RFC 7568에 의해 공식적으로 금지되었습니다. 오래된 비트코인 문서를 읽는 사람은 이 표현을 "인증서 서명"이라는 뜻으로 이해하고 넘어가면 됩니다.
작동 방식
상태: SSL 서명은 그것을 정의한 프로토콜인 BIP70과 함께 사라졌습니다. Bitcoin Core는 2014년 3월부터 BIP70을 포함했으나 릴리스 0.20.0에서 이를 제거했고, 오늘날 관리되고 있는 어떤 소프트웨어도 이러한 서명을 생성하거나 검증하지 않습니다. 이 표현은 bitcoin.org 개발자 참조 문서에 남아 있으며, 대부분의 사람이 바로 그곳에서 이 표현을 접합니다.
알고리즘은 서명 자체가 알리는 것이 아니라 형제 필드에 의해 선택되었습니다. 지불 요청은 pki_type을 none, x509+sha256 또는 x509+sha1로 선언했습니다. 그 값은 인증서 형식과 다이제스트를 지정했으며, 서명 알고리즘은 판매자의 인증서가 가진 키에서 비롯되었고 실제로는 RSA였습니다. 검증자는 판매자가 서명한 정확한 바이트를 재구성하고 지정된 다이제스트로 해시한 뒤, 그 결과를 첨부된 체인의 첫 번째 인증서에 있는 공개 키와 비교했습니다.
세 가지 선택지 중 두 가지는 시간이 지나며 나빠졌습니다. x509+sha1 설정은 BIP70이 발표되기도 전에 이미 취약했습니다. NIST가 2013년 12월 31일 이후 디지털 서명 생성에 SHA-1을 허용하지 않았기 때문입니다. 2020년 1월까지 연구자들은 약 $45,000어치의 임대 GPU 시간으로 SHA-1에 대한 선택 접두사 충돌을 시연했는데, 이는 서명된 문서 하나를 다른 문서로 바꿔치기할 수 있게 하는 바로 그 공격입니다. 이후 NIST는 2030년 12월 31일을 SHA-1이 승인 알고리즘에서 완전히 빠지는 시점으로 정했습니다.
더 근본적인 요점은 이 서명과 비트코인 서명이 서로 다른 질문에 답한다는 것입니다. 비트코인 트랜잭션 내부의 서명은 secp256k1 곡선 위에서 ECDSA로, 또는 Taproot가 2021년 11월 14일에 블록 709,632에서 활성화된 이후로는 BIP340에 명시된 Schnorr로 만들어지며, 모든 노드가 합의 규칙에 따라 검증합니다. SSL 서명은 지갑 하나가 공급업체가 관리하는 인증서 저장소와 대조하여 검증했습니다. 하나는 자금의 이동을 승인하며 누구도 이를 무효화할 수 없습니다. 다른 하나는 누가 그것을 요청하고 있는지에 대한 주장이었습니다.
확인할 수 있는 곳
인증서 서명은 사라지지 않았고, BIP70이라는 필드 이름만 사라졌습니다. 브라우저는 여전히 TLS 핸드셰이크 중에 서버가 자신의 인증서 키를 보유하고 있음을 증명하는 것을 지켜보며, 그것이 BIP70이 빌려오려 했던 것의 정직한 버전입니다.
비트코인을 보유할 때 신경 써야 할 버전은 코드 서명입니다. 지갑 소프트웨어와 하드웨어 지갑 펌웨어는 제조사가 관리하는 키로 서명되며, 설치 전에 그 서명을 확인하는 것이 변조된 다운로드를 잡아내는 단계입니다. Trezor와 Ledger 기기는 기기 자체에서 펌웨어 서명을 검증하고, 인증할 수 없는 빌드는 거부하거나 눈에 띄게 표시합니다. 이는 BIP70 필드와 달리 실제로 일을 하는 서명입니다. 결제 페이지에 인쇄된 이름이 아니라 여러분의 코인을 보관하는 키를 지키기 때문입니다.
SSL 서명 vs 디지털 서명
SSL 서명은 블록체인에서 아무것도 승인하지 않았습니다. 비트코인 트랜잭션의 디지털 서명은 특정 출력을 잠금 해제하며 수천 개의 노드가 독립적으로 검증합니다. BIP70 필드는 클라이언트 소프트웨어 하나가 인증 기관 목록과 대조하여 검증했습니다. 키를 잃었을 때의 결과도 똑같이 극명하게 다릅니다. 침해된 인증서 키는 같은 날 오후에 폐기되고 재발급됩니다. 침해된 비트코인 키는 코인이 이미 사라졌다는 뜻입니다.