전자서명

용어심층

Digital Signature

전자서명은 공개키 암호와 해시를 이용해 데이터의 작성자가 누구인지(인증)와 위·변조 여부(무결성)를 함께 증명하는 기술이다. 개인키로 서명하고 공개키로 검증하는 이 방식은 블록체인 거래의 정당성과 자산 소유권을 판정하는 근간을 이룬다.

1.개요

전자서명(Digital Signature)은 공개키 암호에 기반한 암호학 기술로, 어떤 데이터를 누가 작성하거나 승인했는지(인증)와 그 데이터가 만들어진 뒤 변조되지 않았는지(무결성)를 수학적으로 증명하는 수단이다. 종이 문서에 하는 손서명이나 도장을 디지털로 옮긴 것에 해당하지만, 서명이 단순한 이미지가 아니라 메시지 내용 그 자체에 암호학적으로 묶여 있다는 점이 결정적으로 다르다. 서명 대상이 한 글자라도 바뀌면 서명은 곧바로 무효가 되므로, 위조와 변조를 동시에 막는다.

법적인 정의에서 전자서명은 특정 전자문서에 첨부되거나 논리적으로 결합되어 서명자가 누구인지와 그가 그 문서에 서명했다는 사실을 나타내는 전자적 형태의 정보를 말한다. 요건을 갖춘 전자서명은 여러 나라의 법제에서 수기서명과 동일한 법적 효력을 가진다.

핵심 원리는 서로 짝을 이루는 두 개의 키, 즉 개인키와 공개키를 사용하는 것이다. 서명자는 자신만이 가진 개인키로 서명을 생성하고, 검증자는 누구나 알 수 있는 공개키로 그 서명이 올바른지 확인한다. 개인키 없이는 유효한 서명을 만들 수 없고, 서명은 원본이 조금이라도 바뀌면 즉시 무효가 되므로 서명자의 신원과 문서의 내용을 함께 보증한다.

[1]

2.역사

전자서명의 개념은 공개키 암호의 등장과 함께 나타났다. 1976년 휫필드 디피와 마틴 헬먼이 공개키 암호라는 아이디어를 제시하면서, 개인키로 서명하고 공개키로 검증한다는 전자서명의 골격이 이론적으로 제안되었다. 1977년에는 리베스트·샤미르·에이들먼이 RSA 알고리즘을 발표해 이 개념을 실제로 구현할 수 있는 첫 방법을 내놓았다.

1991년 미국 NIST가 전자서명 전용 알고리즘인 DSA를 제안했고, 1994년 이를 연방 표준 DSS로 채택하면서 전자서명은 정부·산업 표준의 영역으로 들어섰다. 이후 타원곡선을 이용한 ECDSA가 더 짧은 키로 같은 안전성을 제공하며 널리 자리 잡았고, 2009년 출범한 비트코인이 거래 서명에 ECDSA를 채택하면서 전자서명은 블록체인의 핵심 요소가 되었다.

3.동작 원리

전자서명은 보통 해싱과 함께 동작한다. 먼저 서명할 메시지 전체를 해시 함수(예: SHA 계열)에 넣어 고정 길이의 요약값인 해시를 만든다. 서명자는 이 해시값을 자신의 개인키로 암호학적으로 변환하여 서명을 생성한다. 메시지 전체가 아니라 짧은 해시에 서명하므로 크기가 큰 데이터도 효율적으로 처리할 수 있다.

검증 과정은 그 반대로 진행된다. 검증자는 받은 메시지를 서명자가 쓴 것과 같은 해시 함수로 다시 해싱하고, 첨부된 서명을 서명자의 공개키로 풀어 얻은 값과 비교한다. 두 값이 일치하면 서명은 그 공개키에 대응하는 개인키의 소유자가 만든 것이며 메시지가 도중에 바뀌지 않았음이 증명된다. 반대로 문서의 어느 한 글자라도 달라지면 해시가 완전히 바뀌어 검증에 실패한다.

초기 구현에서는 SHA-1 같은 해시 함수가 널리 쓰였으나 충돌 위험이 알려지면서 오늘날에는 더 안전한 해시 계열이 권장된다. 블록체인에서는 케차크나 SHA-256 같은 함수가 서명 대상 해시를 만드는 데 사용된다.

4.서명 알고리즘

전자서명을 구현하는 알고리즘은 여러 가지가 있으며, 어떤 수학 문제의 어려움에 안전성을 기대느냐에 따라 갈린다.

  • RSA: 큰 수의 소인수분해가 어렵다는 점에 기반한 방식으로, 전자서명이 실용화된 초기부터 가장 널리 쓰였다. RSA사가 정리한 PKCS 표준군, 특히 PKCS#7이 서명 메시지 형식으로 오랫동안 사용되었다.
  • DSA: 미국 표준기술연구소(NIST)가 제안해 연방 표준(DSS)으로 채택한 전자서명 전용 알고리즘이다.
  • ECDSA: 타원곡선 암호를 이용한 DSA로, 같은 안전성을 더 짧은 키로 얻을 수 있어 효율적이다. 비트코인이더리움을 비롯한 대부분의 암호화폐가 이 방식을 쓴다.
  • EdDSA·슈노어(Schnorr): 타원곡선을 쓰되 서명 생성 과정이 더 단순하고 결정적이어서 구현 실수에 강하다. 이더리움 생태계와 비트코인의 탭루트 업그레이드 등에서 채택되었다.

ECDSA를 비롯한 여러 방식은 서명을 만들 때마다 무작위 값(논스)을 포함해 서명이 매번 달라지도록 한다. 이 값이 재사용되거나 예측 가능하면 개인키가 통째로 노출될 수 있어, 구현 시 안전한 난수 생성이 필수적이다.

5.PKI와 인증서

공개키로 서명을 검증하려면 그 공개키가 실제로 누구의 것인지 믿을 수 있어야 한다. 이 신뢰를 제공하는 체계가 공개키 기반구조(PKI)다. PKI에서는 인증기관(CA)이 특정 공개키가 특정 주체의 것임을 보증하는 인증서를 발급하고, 검증자는 이 인증서를 통해 공개키와 신원을 연결한다.

기술적으로 PKI에서의 전자서명은 전자문서의 해시값을 서명자의 개인키로 암호화한 것이며, 검증자는 대응하는 공개키로 이를 복호화해 원래 해시와 대조한다. 서명 메시지의 형식으로는 RSA사가 정리한 PKCS#7 표준이 오랫동안 널리 쓰였다.

6.블록체인에서의 전자서명

블록체인에서 전자서명은 거래(트랜잭션)의 정당성을 보장하는 근간이다. 어떤 지갑에서 자금을 옮기려면 그 지갑의 개인키로 거래 내용에 서명해야 하며, 네트워크의 노드들은 첨부된 공개키로 서명을 검증한 뒤에야 거래를 유효한 것으로 받아들인다.

여기서 자산의 소유권을 증명하는 것은 곧 해당 개인키로 서명할 수 있다는 사실 그 자체다. 은행처럼 소유자 명부를 관리하는 중앙 기관이 없는 분산원장에서, 전자서명은 '누가 무엇을 쓸 권한이 있는가'를 판정하는 유일한 근거가 된다. 이 때문에 개인키를 잃어버리거나 도난당하면 자산에 대한 통제권도 함께 사라진다.

7.관련 서명 기법

전자서명은 다양한 응용 기법의 토대가 된다.

  • 다중서명: 하나의 거래에 여러 개의 서명을 요구해, 예컨대 세 명 중 두 명이 동의해야 자금을 움직일 수 있게 한다. 자금 관리의 보안과 권한 분산에 쓰인다.
  • 링 서명: 실제 서명자를 여러 후보 속에 숨겨 누가 서명했는지 특정할 수 없게 한다. 프라이버시를 강조하는 암호화폐에서 활용된다.
  • 슈노어 기반 서명 집계: 여러 서명을 하나로 합쳐 검증 비용과 데이터 크기를 줄이는 기법으로, 다중서명을 겉보기에 단일 서명처럼 보이게 해 프라이버시와 효율을 함께 높인다.

이 모든 기법은 결국 개인키로 서명하고 공개키로 검증한다는 전자서명의 기본 골격 위에 서 있다.

8.전자서명과 디지털 서명

'전자서명'과 '디지털 서명'은 흔히 섞여 쓰이지만 층위가 다르다. 전자서명(electronic signature)은 서명의 의사를 전자적으로 나타내는 넓은 개념으로, 스캔한 손서명 이미지나 입력한 이름처럼 형태를 가리지 않는 법적·기능적 용어다. 반면 디지털 서명(digital signature)은 그 가운데 공개키 암호와 해시를 이용하는 특정한 기술적 방식을 가리킨다.

따라서 모든 디지털 서명은 전자서명이 될 수 있지만, 모든 전자서명이 디지털 서명인 것은 아니다. 이 문서가 다루는 공개키 기반의 서명은 좁은 의미의 디지털 서명에 해당하며, 블록체인과 암호화폐에서 말하는 전자서명도 대부분 이 방식을 가리킨다.

9.국내 제도와 전자서명법

대한민국은 1999년 전자서명법을 제정해 전자서명에 수기서명과 같은 법적 효력을 부여하는 제도적 기반을 마련했다. 초기에는 국가가 지정한 공인인증기관이 발급한 공인인증서를 통해서만 강한 법적 효력을 인정하는 구조였으며, 증권·금융·전자거래·행정 등 분야별로 한국증권전산, 금융결제원, 한국정보인증, 정부전산정보관리소 등의 기관이 인증 업무를 맡았다.

이후 공인인증서가 특정 소프트웨어와 절차를 강제해 이용자의 불편을 낳는다는 지적이 이어졌고, 2020년 시행된 개정 전자서명법으로 공인인증서의 독점적 지위가 폐지되었다. 이에 따라 다양한 민간 전자서명 수단이 동등하게 경쟁할 수 있는 길이 열렸다.

10.보안 고려사항

전자서명의 안전성은 개인키가 오직 서명자만의 비밀로 남아 있다는 전제에 달려 있다. 개인키가 유출되면 공격자가 정당한 서명을 위조할 수 있으므로, 개인키는 콜드 스토리지나 하드웨어 기기 등으로 안전하게 보관해야 한다.

구현 단계의 위험도 있다. ECDSA처럼 서명마다 무작위 논스를 쓰는 방식은 그 값이 재사용되거나 편향되면 개인키가 역산될 수 있어, 안전한 난수 생성이 필수적이다. 또한 서명에 쓰이는 해시 함수가 충돌에 취약하면 서로 다른 문서가 같은 서명을 갖는 상황이 생길 수 있어, 검증된 해시 알고리즘을 선택하는 것이 중요하다.

11.앞으로의 과제

현재 널리 쓰이는 RSA와 ECDSA는 소인수분해나 이산로그 문제가 어렵다는 가정에 안전성을 두고 있다. 그러나 충분히 강력한 양자컴퓨터가 등장하면 쇼어 알고리즘으로 이 문제들을 빠르게 풀 수 있어, 기존 전자서명이 무력화될 수 있다는 우려가 제기되어 왔다.

이에 대응해 양자컴퓨터로도 깨기 어려운 양자내성 서명 방식이 연구되어 왔고, 미국 NIST는 2024년 격자·해시 기반의 양자내성 전자서명을 표준으로 확정했다. 블록체인처럼 한번 배포된 뒤 오래 유지되는 시스템에서는 이러한 차세대 서명으로의 전환이 장기 과제로 남아 있다.

12.연표9

  1. 1976이정표디피와 헬먼이 공개키 암호 개념을 제시하며 전자서명의 이론적 골격이 제안됨
  2. 1977이정표리베스트·샤미르·에이들먼이 RSA 알고리즘을 발표해 전자서명의 첫 실용적 구현을 제시
  3. 1991이정표미국 NIST가 전자서명 전용 알고리즘 DSA를 제안
  4. 1994이정표DSA가 연방 표준 DSS(FIPS 186)로 채택됨
  5. 1999규제대한민국 전자서명법 제정
  6. 2009출시비트코인이 거래 서명에 ECDSA를 채택하며 출범
  7. 2020규제개정 전자서명법 시행으로 공인인증서의 독점적 지위 폐지
  8. 2021이정표비트코인 탭루트 업그레이드로 슈노어 서명 도입
  9. 2024이정표미국 NIST가 양자내성 전자서명을 표준으로 확정

각주

  1. [1]위키백과 — 전자서명
이 문서 인용하기
토큰포스트 위키, “전자서명”, 2026-08-06 수정, https://wiki.tokenpost.kr/w/digital-signature

문단 11개 · 연표 9건 · 각주 1