디지털 시그니처의 인증·무결성 검증 구조와 알고리즘

디지털 시그니처가 인증·무결성·부인방지를 보장하는 방식과 RSA, ECDSA, PKI, 인증서 활용 구조를 정리한다.

2026-08-14 · 최초 발행 2025-06-28

신뢰할 수 있는 데이터 교환의 출발점

디지털 시그니처는 데이터가 누구에게서 왔는지와 전송 뒤 내용이 달라지지 않았는지를 확인하는 메커니즘이다. 종이 문서의 서명과 닮았지만, 디지털 환경에서는 수학적 알고리즘으로 인증(Authentication), 무결성(Integrity), 부인방지(Non-repudiation), 출처 증명(Origin verification)을 구현한다.

전자상거래, 온라인 뱅킹, 전자정부처럼 민감한 정보를 주고받는 시스템에서는 이 검증 체계가 신뢰의 기반이 된다.

개인키로 만들고 공개키로 검증하는 과정

디지털 시그니처는 비대칭 암호화(Asymmetric Cryptography)를 이용한다. 개인키(Private Key)는 서명을 만들 때 사용하고, 이에 수학적으로 연결된 공개키(Public Key)는 서명을 확인하는 데 사용한다.

수신자송신자수신자송신자메시지(M) 생성해시 함수로 메시지 다이제스트 생성 H(M)개인키로 다이제스트 암호화 = 시그니처(S)수신된 메시지에서 해시 다이제스트 생성 H(M)송신자의 공개키로 시그니처 복호화두 다이제스트 비교하여 일치 여부 확인메시지(M) + 시그니처(S) 전송

서명자는 먼저 원본 메시지에 해시 함수를 적용해 고정 길이 다이제스트를 만든다. 이 다이제스트를 개인키로 암호화해 시그니처를 생성한 뒤, 원본 데이터와 함께 전달한다.

수신자는 받은 데이터에 같은 해시 함수를 적용하고, 송신자의 공개키로 시그니처를 복호화해 원래 다이제스트를 얻는다. 두 값이 같으면 데이터의 무결성과 송신자 인증이 확인된다.

알고리즘마다 달라지는 키와 연산 특성

RSA 기반 시그니처에서는 RSA-PSS(Probabilistic Signature Scheme)가 사용된다. 널리 지원되고 구현이 상대적으로 쉽지만, 타원곡선 알고리즘과 비교하면 계산 비용이 높다. 키 길이는 2048비트 이상이 권장된다.

DSA(Digital Signature Algorithm)는 NIST가 1991년에 표준화했다. 서명 생성은 RSA보다 빠르지만, 검증 속도는 RSA보다 느리다.

ECDSA(Elliptic Curve Digital Signature Algorithm)는 타원곡선 암호화를 기반으로 한다. 더 짧은 키로 동등한 보안 수준을 제공하며, 256비트 ECDSA는 3072비트 RSA에 해당한다. 작은 키 크기와 효율적인 계산이 장점이라 모바일 환경에 적합하지만 구현은 복잡하다.

EdDSA(Edwards-curve Digital Signature Algorithm)에는 Ed25519, Ed448 등의 변형이 있다. 높은 보안성과 성능을 함께 제공하고, 서명과 검증 속도가 빠르며 부채널 공격에 강하다. 동일한 메시지와 키에서는 항상 같은 서명을 생성하는 결정적 서명 방식이다.

해시 함수가 서명의 기반을 만든다

시그니처의 보안 강도는 서명에 결합하는 해시 함수의 선택에도 영향을 받는다.

원본 메시지해시 함수메시지 다이제스트암호화 알고리즘개인키디지털 시그니처

SHA-256은 256비트 출력을 제공하며 현재 가장 널리 사용된다. SHA-384와 SHA-512는 더 높은 보안 수준을 제공하고, SHA-3는 이전 SHA 함수와 내부 구조가 다른 최신 해시 함수 표준이다. BLAKE2는 높은 성능과 보안성을 제공하는 현대적 해시 함수다.

MD5는 충돌 공격에 취약한 것으로 알려져 있다. SHA-1 역시 더 이상 안전하지 않으며, 2017년 구글에 의해 충돌이 발견됐다.

인증서가 공개키의 소유자를 연결하는 방식

시그니처만으로는 특정 공개키가 실제로 누구의 것인지 확인하기 어렵다. PKI(Public Key Infrastructure)는 공개키 인증서를 통해 키 소유자의 신원을 보증하는 인프라를 제공한다.

인증서 발급시그니처 생성공개키로 검증인증서 유효성 확인사용자인증기관 CA디지털 문서검증자

인증서에는 소유자의 공개키, 소유자 식별 정보(DN, Distinguished Name), 인증기관(CA, Certificate Authority)의 서명, 유효 기간, 일련번호가 포함된다. X.509는 인증서의 형식과 구조를 정의하는 가장 일반적인 표준이다.

코드부터 전자문서까지 이어지는 적용 영역

코드 서명(Code Signing)은 소프트웨어 배포자가 코드의 출처와 무결성을 보장하기 위해 적용한다. Windows, macOS, Android, iOS 등 대부분의 OS는 코드 서명을 검증하며, Microsoft Authenticode와 Apple Developer Program이 사례다. 이는 악성 코드 배포를 막고 사용자 신뢰를 확보하는 데 쓰인다.

이메일에서는 S/MIME(Secure/Multipurpose Internet Mail Extensions) 또는 PGP(Pretty Good Privacy)를 이용해 메시지에 서명한다. 이를 통해 발신자를 인증하고 이메일 내용의 무결성을 확인한다.

블록체인 트랜잭션도 디지털 시그니처로 소유권과 거래 무결성을 보장한다. 비트코인은 ECDSA 알고리즘을 사용하고, 이더리움은 secp256k1 곡선 기반 ECDSA를 사용한다.

전자계약과 PDF 문서에는 디지털 서명을 적용해 법적 효력이 있는 전자문서 체계를 구축할 수 있다. Adobe Sign, DocuSign 등의 서비스와 한국의 공인전자서명법에 따른 전자서명 시스템이 여기에 해당한다.

SSL/TLS 인증서에는 웹사이트 인증과 암호화 통신을 위해 CA의 디지털 서명이 포함된다.

운영에서 함께 점검할 보안 조건

개인키를 안전하게 보관하는 일은 시그니처 보안의 핵심이다. HSM(Hardware Security Module)으로 키를 보호하고, 키 갱신(Key Rotation) 정책과 적절한 키 길이 유지 방안을 마련해야 한다.

알고리즘 선택에서는 RSA 3072비트 이상, ECDSA 256비트 이상이 현재 권장된다. 양자 컴퓨팅 위협에 대비한 포스트 양자 암호화(PQC)도 고려 대상이며, 알고리즘 전환 계획(Algorithm Agility)을 갖출 필요가 있다.

서명 시점은 타임스탬프로 증명할 수 있다. 장기 검증(Long-term Validation) 문제를 다루고, 인증서 해지 목록(CRL)과 OCSP(Online Certificate Status Protocol)를 확인하는 절차도 필요하다.

표준과 법적 체계

국제적으로는 PKCS(Public-Key Cryptography Standards), FIPS 186-4(Digital Signature Standard), eIDAS(유럽연합의 전자식별 및 인증 서비스 규정)가 관련 표준 및 규정으로 사용된다.

국내에서는 전자서명법이 기반이 되며, 공인인증서 제도는 전자서명인증 제도로 전환됐다. 금융거래와 전자계약 등에서 전자서명의 법적 효력도 적용된다.

변화하는 환경에서의 시그니처

양자 컴퓨터가 발전하면 기존 RSA와 ECC 기반 시그니처가 취약해질 수 있다. 이에 대응하는 알고리즘으로 격자 기반 CRYSTALS-Dilithium, 해시 기반 SPHINCS+, 다변수 다항식 기반 Rainbow이 개발되고 있다.

모바일과 IoT 환경에서는 제한된 컴퓨팅 자원에서도 효율적으로 동작하는 경량 시그니처 알고리즘의 중요성이 커진다. 블록체인과 분산 신원(DID)에서는 중앙화된 PKI를 넘어 분산화된 신원 관리와 결합한 시그니처 활용 방안도 확대되고 있다.

디지털 시그니처는 온라인 트랜잭션, 통신, 문서 교환에서 데이터의 출처와 무결성을 보장한다. 시스템 설계와 구현에서는 적용 환경에 맞는 시그니처 메커니즘을 선택하고 올바르게 적용하는 일이 전체 보안 수준에 직접 영향을 준다.

디지털 시그니처전자서명공개키 암호PKI정보보안