이 문서의 과거 버전 (r1)을 보고 있습니다. 수정일: 2026.02.14 21:22
디지털 서명은 전자 문서나 데이터의 진위성, 무결성, 부인 방지를 보장하는 암호학적 기술이다. 종이 문서에 손으로 서명하는 것과 유사한 기능을 디지털 세계에서 구현한다. 이 기술은 공개키 암호 방식을 기반으로 하여, 송신자가 자신만이 소유한 개인키로 데이터에 서명하고, 수신자는 공개적으로 알려진 공개키를 사용해 그 서명을 검증한다.
이는 단순히 데이터를 암호화하는 것을 넘어, 데이터가 특정 발신자로부터 왔으며 전송 중에 변경되지 않았음을 증명하는 데 목적이 있다. 디지털 서명이 적용되면 문서의 해시값에 서명이 이루어지므로, 문서 내용이 단 한 글자라도 바뀌면 검증이 실패한다. 따라서 위변조가 사실상 불가능해진다.
디지털 서명의 활용은 매우 광범위하다. 전자 계약서, 이메일 보안(S/MIME), 소프트웨어 코드 서명, 그리고 블록체인 거래 검증 등 현대 디지털 인프라의 핵심 요소로 자리 잡았다. 또한 PKI와 같은 신뢰 체계와 결합되어 인터넷 보안의 근간을 이룬다.
이 기술의 등장으로 인해 물리적 거래와 유사한 수준의 법적 구속력과 신뢰를 온라인 상에서 확보할 수 있게 되었다. 이는 전자 상거래와 디지털 정부 서비스의 발전에 결정적인 기여를 했다.
디지털 서명은 전자 문서나 데이터의 진본성, 무결성, 부인 방지를 보장하기 위한 암호학적 기술이다. 이는 종이 문서에 손으로 서명하거나 도장을 찍는 행위의 디지털 세계에서의 대응물로 간주되지만, 기술적으로는 훨씬 더 강력한 보안 기능을 제공한다. 디지털 서명의 핵심 목적은 수신자가 메시지가 알려진 발신자로부터 왔음을 확인(인증)하고, 전송 중에 변경되지 않았음을 검증(무결성)하며, 발신자가 나중에 서명 사실을 부인할 수 없게(부인 방지) 만드는 것이다.
디지털 서명은 종종 전자 서명과 혼용되지만, 엄밀한 의미에서 차이점이 존재한다. 전자 서름은 서명 행위가 전자적인 형태로 이루어진 모든 것을 포괄하는 광의의 법적 개념이다. 이는 스캔된 사인 이미지나 타자된 이름, 심지어 체크박스 선택까지 포함할 수 있다. 반면 디지털 서명은 공개키 암호 방식을 기반으로 한 특정한 기술 구현체로, 수학적 알고리즘을 사용하여 생성 및 검증된다. 따라서 모든 디지털 서명은 전자 서명에 해당하지만, 모든 전자 서명이 디지털 서명의 기술적 보안 수준을 갖추지는 않는다.
디지털 서명의 작동은 비대칭 암호 체계에 의존한다. 서명자는 자신만이 알고 있는 개인키를 사용하여 문서에 서명을 생성한다. 그런 후 누구나 공개적으로 알려진 공개키를 이용하여 해당 서명의 유효성을 검증할 수 있다. 이 구조는 서명의 위조를 극도로 어렵게 만들며, 공개키가 진정한 서명자의 것임을 신뢰할 수 있다면 서명의 진위를 확신할 수 있게 해준다. 이와 같은 기술적 특성으로 인해 디지털 서명은 법적 효력을 인정받는 중요한 도구로 자리 잡았다.
디지털 서명은 전자 문서나 디지털 메시지의 진위성, 무결성, 부인 방지를 보장하기 위한 암호학적 기술이다. 이는 종이 문서에 손으로 서명하거나 도장을 찍는 행위의 디지털 세계에서의 대응물로, 서명자의 신원을 확인하고 문서가 서명된 후 변경되지 않았음을 증명하는 역할을 한다. 주요 목적은 수신자가 메시지가 특정 발신자로부터 왔음을 신뢰할 수 있게 하고, 발신자가 이후 메시지를 부인하지 못하도록 하는 데 있다.
이 기술의 핵심은 비대칭 암호 방식을 기반으로 한다. 서명자는 자신만이 알고 있는 개인키를 사용하여 서명을 생성하고, 누구나 알 수 있는 공개키를 사용하여 서명을 검증한다. 이 과정에서 해시 함수가 함께 사용되어 원본 문서의 고정된 길이의 요약값(해시값)을 생성하며, 실제 서명은 이 해시값에 대해 수행된다. 이를 통해 대용량 문서도 효율적으로 서명할 수 있고, 문서 내용의 최소한의 변경도 서명 무효화로 이어져 무결성을 보장한다.
디지털 서명의 적용은 단순한 인증을 넘어 법적 효력이 필요한 다양한 영역으로 확장되고 있다. 예를 들어, 전자 계약서, 이메일, 소프트웨어 배포 파일, 그리고 블록체인 거래의 검증 등에 널리 사용된다. 따라서 그 목적은 기술적 신뢰 구축뿐만 아니라, 디지털 환경에서의 법적 구속력과 책임 소재를 명확히 하는 데까지 이른다.
전자 서명은 서명 행위를 전자적 형태로 수행하는 모든 방식을 포괄하는 광의의 개념이다. 이는 간단한 스캔된 사인 이미지부터 생체 인증, 디지털 서명까지 포함한다. 반면, 디지털 서명은 공개키 암호 방식과 해시 함수를 기반으로 한 특정한 기술 구현체를 지칭한다. 즉, 모든 디지털 서명은 전자 서명의 한 형태이지만, 모든 전자 서명이 디지털 서명은 아니다.
두 방식의 핵심 차이는 보안성과 법적 효력의 근거에 있다. 일반적인 전자 서명은 서명자의 의사 표시를 증명할 수 있지만, 위변조 방지, 부인 방지, 문서 무결성 검증과 같은 강력한 암호학적 보증을 제공하지 않는다. 디지털 서명은 수학적 알고리즘을 통해 문서의 해시값에 서명하므로, 원본 문서가 단 한 글자라도 변경되면 서명 검증이 실패한다. 이는 문서의 무결성을 보장한다.
법적 관점에서도 차이가 존재한다. 많은 국가의 전자 서명법(예: 한국의 전자서명법)은 디지털 서명을 '공인전자서명'의 핵심 기술로 규정하며, 법적 추정 효력을 부여한다[1]. 이는 디지털 서명이 공인인증기관이 발급한 인증서와 결합된 PKI 환경에서 구현될 때, 서명자의 신원 확인과 부인 방지 기능을 법적으로 인정받을 수 있음을 의미한다. 반면, 다른 형태의 전자 서명은 이러한 강력한 법적 추정력을 가지지 못하고, 법정에서 별도의 증명이 필요할 수 있다.
디지털 서명은 공개키 암호 방식과 해시 함수라는 두 가지 암호학적 기본 요소에 기반을 둔다. 이 기술은 수학적으로 복잡한 문제, 특히 소인수분해나 이산 로그 문제의 계산적 난이도에 그 안전성을 의존한다.
공개키 암호 방식, 또는 비대칭 암호는 한 쌍의 수학적으로 연관된 키를 사용한다. 개인키는 서명자만이 비밀로 보유하며, 서명 생성에 사용된다. 공개키는 누구나 알 수 있도록 공개되며, 서명 검증에 사용된다. 공개키로부터 개인키를 추론하는 것은 계산상 현실적으로 불가능한 문제에 기반하기 때문에, 공개키를 아는 사람이라도 누가 서명을 생성했는지 확인할 수 있으면서도 서명 자체를 위조할 수는 없다. 이는 대칭키 암호와 구별되는 핵심 특성이다.
해시 함수는 디지털 서명의 효율성과 무결성 보장에 결정적인 역할을 한다. 해시 함수는 임의의 길이의 데이터를 고정된 길이의 짧은 "지문"(해시값)으로 변환하는 일방향 함수이다. 서명 과정에서는 원본 문서 자체가 아닌, 그 문서의 해시값에 서명을 한다. 이는 두 가지 주요 이점을 제공한다. 첫째, 아무리 큰 문서도 짧은 해시값으로 대표되므로 서명 연산이 효율적이다. 둘째, 해시 함수의 충돌 저항성 덕분에 원본 문서가 단 한 비트라도 변경되면 완전히 다른 해시값이 생성되어 서명 검증이 실패하게 된다. 따라서 문서의 무결성이 보장된다.
이 두 기초 기술이 결합하여 디지털 서명의 수학적 모델을 완성한다. 서명 생성은 서명 = 암호화(개인키, 해시(문서))의 형태로, 검증은 해시(문서) == 복호화(공개키, 서명)의 비교를 통해 이루어진다[2]. 이 구조는 서명자의 신원 확인(인증), 데이터의 변경 방지(무결성), 그리고 서명 행위의 부인 방지(부인 봉쇄)라는 세 가지 보안 목표를 동시에 달성할 수 있게 한다.
공개키 암호 방식 또는 비대칭 암호는 하나의 키 쌍, 즉 공개적으로 알려진 공개키와 비밀로 유지되는 개인키를 사용하는 암호 체계이다. 이 두 키는 수학적으로 연관되어 있지만, 공개키로부터 개인키를 추론하는 것은 계산상 거의 불가능하도록 설계되었다. 이 방식은 암호화와 복호화에 서로 다른 키를 사용한다는 점에서 암호화와 복호화에 동일한 키를 쓰는 대칭키 암호와 근본적으로 다르다.
디지털 서명에서 공개키 암호 방식의 핵심 원리는 부인 봉쇄를 제공하는 것이다. 서명자는 자신만이 알고 있는 개인키로 메시지의 해시값 같은 요약 정보를 암호화(서명)한다. 그런 다음 누구나 해당 서명자의 공개키를 이용해 이 서명을 열어(검증) 원본 메시지의 해시값과 비교할 수 있다. 공개키로 열리는 서명은 반드시 해당 공개키와 쌍을 이루는 개인키로만 생성되었음을 수학적으로 증명하므로, 서명자의 신원과 메시지의 무결성을 동시에 확인할 수 있다.
특성 | 공개키 (Public Key) | 개인키 (Private Key) |
|---|---|---|
소유 및 공개 여부 | 공개적으로 배포됨 | 소유자만 비밀로 보관함 |
디지털 서명에서의 역할 | 서명 검증에 사용됨 | 서명 생성에 사용됨 |
암호화에서의 역할 | 메시지 암호화에 사용됨 | 암호문 복호화에 사용됨 |
이러한 비대칭 구조는 키 배포 문제를 해결한다. 대칭키 방식에서는 암호 통신을 하려는 양측이 사전에 비밀키를 안전하게 공유해야 하지만, 공개키 방식에서는 검증자나 암호화를 보내는 측이 상대방의 공개키만 알면 되기 때문이다. 공개키는 디렉터리나 인증서를 통해 자유롭게 배포될 수 있으며, 개인키의 비밀성만 유지된다면 시스템의 보안이 유지된다.
해시 함수는 임의의 길이를 가진 데이터를 고정된 길이의 짧은 값으로 변환하는 암호학적 함수이다. 이때 생성된 고정 길이의 값을 해시값 또는 다이제스트라고 부른다. 디지털 서명 시스템에서 해시 함수는 서명할 메시지의 무결성을 보장하고 서명 연산의 효율성을 높이는 핵심적인 역할을 수행한다.
해시 함수는 몇 가지 중요한 암호학적 성질을 가져야 한다. 첫째, 역상 저항성으로, 주어진 해시값을 생성하는 원본 메시지를 찾는 것이 계산상 불가능해야 한다. 둘째, 제2 역상 저항성으로, 주어진 메시지와 해시값이 같은 다른 메시지를 찾는 것이 어려워야 한다. 셋째, 충돌 저항성으로, 서로 다른 두 메시지가 동일한 해시값을 생성하는 충돌 쌍을 찾는 것이 사실상 불가능해야 한다[3]. 이러한 성질 덕분에 원본 메시지가 단 한 비트라도 변경되면 전혀 다른 해시값이 출력되어 변경 사항을 쉽게 탐지할 수 있다.
디지털 서명 과정에서 해시 함수의 역할은 구체적으로 다음과 같다. 먼저, 서명 생성자는 원본 메시지 전체가 아닌 그 메시지의 해시값에 대해 개인키로 서명 연산을 수행한다. 이는 두 가지 주요 이점을 제공한다. 첫째, 원본 메시지의 크기에 상관없이 고정된 길이의 해시값만 서명하면 되므로 연산 효율성이 크게 향상된다. 둘째, 해시 함수의 출력값은 메시지의 고유한 '지문' 역할을 하여, 서명 검증 시 원본 메시지를 다시 해싱한 결과와 서명에서 복원된 해시값을 비교함으로써 메시지의 무결성을 동시에 검증할 수 있다. 즉, 서명 자체가 메시지가 변조되지 않았음을 보증하는 도구가 된다.
성질 | 설명 | 디지털 서명에서의 중요성 |
|---|---|---|
역상 저항성 | 해시값으로부터 원본 메시지를 찾기 어려움 | 서명된 해시값으로부터 원문을 유추 방지 |
제2 역상 저항성 | 주어진 메시지와 해시값이 같은 다른 메시지를 찾기 어려움 | 원문을 악의적으로 대체하는 공격 방지 |
충돌 저항성 | 같은 해시값을 내는 두 개의 서로 다른 메시지를 찾기 어려움 | 공격자가 합법적인 서명을 가진 다른 문서를 위조하는 것 방지 |
효율성 | 어떤 길이의 입력에도 빠르게 해시값 계산 가능 | 대용량 파일도 빠르게 서명 가능 |
따라서, SHA-256이나 SHA-3와 같은 강력한 암호학적 해시 함수는 RSA나 ECDSA 같은 서명 알고리즘과 결합되어 안전한 디지털 서명 체계의 기반을 형성한다.
디지털 서명의 생성과 검증은 공개키 암호 방식과 해시 함수를 결합한 일련의 단계적 절차를 따른다. 이 과정은 서명자와 검증자가 각각 보유한 개인키와 공개키를 통해 이루어진다.
서명 생성 과정은 다음과 같다. 먼저, 서명하려는 원본 메시지나 문서에 해시 함수를 적용하여 고정된 길이의 메시지 다이제스트를 생성한다. 이 다이제스트는 원본 데이터의 고유한 '지문' 역할을 한다. 다음으로, 서명자의 개인키를 사용하여 이 해시값에 암호화 연산을 수행한다. 이 연산 결과가 바로 해당 문서에 대한 디지털 서명이 된다. 생성된 서명은 일반적으로 원본 문서와 함께 전송되거나 첨부된다.
검증 과정은 생성 과정과 반대 방향으로 진행된다. 검증자는 먼저 수신한 원본 문서에 동일한 해시 함수를 적용하여 새로운 메시지 다이제스트(A)를 독립적으로 계산한다. 동시에, 수신한 디지털 서명을 서명자의 공개키를 사용하여 복호화하여 원래의 메시지 다이제스트(B)를 복원한다. 최종적으로, 검증자가 직접 계산한 해시값(A)과 서명에서 복원된 해시값(B)을 비교한다. 두 값이 정확히 일치하면, 서명이 유효한 개인키로 생성되었고 문서가 전송 중 변경되지 않았음을 증명한다. 일치하지 않으면 서명이 무효이거나 문서가 변조된 것으로 판단한다. 이 과정을 통해 무결성, 인증, 부인 방지의 세 가지 주요 보안 목표가 달성된다.
서명 생성 과정은 서명자(개인키) 소유자가 메시지나 문서에 디지털 서명을 부착하기 위해 수행하는 일련의 단계이다. 이 과정의 핵심은 원본 데이터를 변환하여 서명자의 고유한 정보와 결합하는 것이다.
먼저, 서명 대상이 되는 원본 메시지나 문서에 대해 해시 함수를 적용한다. 이는 문서 전체를 고정된 길이의 짧은 해시값으로 요약하는 단계로, 매우 중요한 과정이다. 해시 함수는 어떤 크기의 데이터라도 동일한 길이의 출력을 생성하며, 원본 데이터가 단 1비트만 변경되어도 완전히 다른 해시값이 도출된다. 이 단계를 통해 서명해야 할 데이터의 양이 크게 줄어들고, 이후 암호화 연산의 효율성이 높아진다.
생성된 해시값은 서명자의 개인키를 사용하여 암호화된다. 이는 공개키 암호 방식의 핵심 연산으로, RSA 알고리즘의 경우 해시값을 개인키 지수로 거듭제곱한 후 특정 모듈러 산술 연산을 수행한다. 결과적으로 생성되는 암호화된 해시값이 바로 디지털 서명 데이터가 된다. 이 서명 데이터는 원본 문서와 함께 또는 별도로 전송되며, 서명자의 공개키와 원본 문서가 있다면 누구나 검증할 수 있다.
전체 과정을 단계별로 정리하면 다음과 같다.
단계 | 수행 작업 | 설명 |
|---|---|---|
1 | 원본 데이터 준비 | 서명할 메시지 또는 문서(M)를 확인한다. |
2 | 해싱 | 해시 함수(H)를 적용하여 메시지 다이제스트(H(M))를 생성한다. |
3 | 암호화(서명) | 개인키(PrivK)로 메시지 다이제스트를 암호화하여 서명(Sig)을 생성한다. Sig = Encrypt(PrivK, H(M)) |
4 | 출력 | 원본 메시지(M)와 생성된 서명(Sig)을 짝으로 묶어 최종 출력물을 만든다. |
이 과정에서 원본 문서 자체가 아닌 그 해시값에 서명함으로써, 서명의 크기가 작고 효율적이며 문서 내용의 무결성이 보호받는다. 서명 생성의 성공 여부는 개인키의 비밀성과 안전한 관리에 전적으로 의존한다.
서명 검증 과정은 수신자가 받은 디지털 서명과 원본 메시지의 무결성 및 발신자의 신원을 확인하는 절차이다. 검증자는 서명자의 공개키를 신뢰할 수 있는 소스(예: 인증 기관)로부터 획득해야 한다.
검증 절차는 일반적으로 다음과 같은 단계로 진행된다. 먼저, 수신된 원본 메시지에 대해 서명 생성 시 사용된 것과 동일한 해시 함수를 적용하여 새로운 메시지 다이제스트를 계산한다. 동시에, 수신된 디지털 서명에 서명자의 공개키를 적용하여 복호화 연산을 수행한다. 이렇게 복원된 값은 서명 생성 당시 계산된 원본 메시지 다이제스트여야 한다. 마지막으로, 방금 계산한 새 메시지 다이제스트와 서명에서 복원된 다이제스트를 비교한다. 두 값이 정확히 일치하면, 서명이 유효한 것으로 판단한다. 이는 메시지가 전송 중 변경되지 않았고(무결성), 해당 개인키를 가진 발신자에 의해 생성되었음을(인증 및 부인 방지) 의미한다.
검증 과정의 성공 여부는 다음 표와 같이 요약할 수 있다.
비교 결과 | 의미 | 결론 |
|---|---|---|
다이제스트 일치 | 메시지 변조 없음, 서명자의 개인키로 서명됨 | 서명 유효 |
다이제스트 불일치 | 메시지가 변조되었거나, 잘못된 키로 검증되었거나, 서명이 위조됨 | 서명 무효 |
검증이 실패하는 경우는 여러 가지 원인이 있을 수 있다. 메시지 내용이 의도적이거나 우연히 변경되었거나, 검증에 사용된 공개키가 서명 생성에 사용된 개인키와 쌍을 이루지 않을 수 있다. 또한, 서명 자체가 손상되었을 가능성도 있다. 따라서 서명이 무효로 판단되면, 해당 메시지나 문서는 신뢰할 수 없는 것으로 간주하고 거부해야 한다.
디지털 서명을 구현하는 주요 알고리즘으로는 RSA, DSA, ECDSA 등이 널리 사용된다. 각 알고리즘은 서명 생성과 검증에 사용되는 수학적 문제와 연산 방식에 차이가 있다.
알고리즘 | 기반 수학 문제 | 주요 특징 | 일반적인 키 길이 |
|---|---|---|---|
큰 정수의 소인수분해 난이도 | 가장 먼저 개발되고 보편화됨. 암호화와 서명 모두 사용 가능. | 2048비트 이상 | |
이산 로그 문제 (Discrete Logarithm) | 미국 NIST 표준. 서명 전용 알고리즘이다. | 2048비트 (L), 224-256비트 (N) | |
타원곡선 이산 로그 문제 (ECDLP) | 동일한 보안 강도 대비 키 길이가 훨씬 짧아 효율적이다. | 256비트 |
RSA 알고리즘은 1977년에 제안된 공개키 암호 시스템으로, 디지털 서명에도 직접 적용된다. 서명 생성 시 송신자는 메시지의 해시 값을 자신의 개인키로 암호화하여 서명을 만든다. 수신자는 해당 서명을 송신자의 공개키로 복호화한 값과 직접 계산한 메시지 해시 값을 비교하여 검증한다. RSA는 이해와 구현이 비교적 간단하지만, 높은 보안 강도를 유지하려면 긴 키 길이가 필요하여 계산 부담이 큰 편이다.
DSA(Digital Signature Algorithm)는 디지털 서명에 특화된 알고리즘이다. RSA와 달리 암호화 기능은 없으며, 서명 생성과 검증만을 위한 설계이다. 서명 과정에서 난수를 사용하며, 생성되는 서명은 두 개의 정수 쌍(r, s)으로 구성된다. 보안은 유한체에서의 이산 로그 문제 계산 난이도에 기반한다. ECDSA(Elliptic Curve Digital Signature Algorithm)는 DSA의 원리를 타원곡선 암호 환경에 적용한 변종이다. 훨씬 짧은 키 길이(예: 256비트)로 RSA 2048비트와 동등한 보안 강도를 제공하여, 계산 자원이 제한된 모바일 장치나 고성능이 요구되는 블록체인 시스템에서 선호된다.
RSA는 로널드 라이베스트, 아디 샤미르, 레너드 애들먼의 성을 따서 명명된 공개키 암호 시스템이자 디지털 서명 알고리즘이다. 1977년에 발명되어 현재까지 가장 널리 사용되는 비대칭 암호 알고리즘 중 하나이다. RSA는 암호화와 디지털 서명 기능을 모두 제공하며, 그 안전성은 큰 정수를 소인수분해하는 것이 어렵다는 수학적 문제에 기반을 두고 있다[4].
RSA 디지털 서명의 생성과 검증 과정은 다음과 같은 수학적 연산을 따른다. 먼저, 서명자는 자신의 개인키를 사용하여 메시지의 해시 값에 서명 연산을 수행한다. 구체적으로, 서명 값 s는 s ≡ H(m)^d mod n의 형태로 계산된다. 여기서 H(m)은 메시지 m의 해시 값, (d, n)은 서명자의 개인키를 구성하는 파라미터이다. 검증자는 서명자의 공개키 (e, n)을 사용하여 s^e mod n을 계산한 결과가 원본 메시지의 해시 값 H(m)과 일치하는지 확인한다. 일치하면 서명이 유효한 것으로 판단한다.
RSA 알고리즘의 주요 매개변수와 일반적인 키 길이는 다음과 같다.
매개변수 | 설명 | 비고 |
|---|---|---|
| 모듈러스. 두 개의 큰 소수 | 공개키와 개인키 모두에 포함됨 |
| 공개 지수. 일반적으로 65537 (0x10001)과 같은 작은 홀수 사용 | 공개키의 일부 |
| 개인 지수. | 개인키의 일부, 비밀로 유지됨 |
키 길이 | 모듈러스 | 현대 보안 표준은 일반적으로 2048비트 이상을 권장함 |
이 알고리즘은 구현이 비교적 직관적이고 이해하기 쉬우며, 오랜 기간 동안 검증받아 왔다. 그러나 매우 긴 키 길이(예: 2048비트 이상)를 요구하여 계산 부하가 크고, 양자 컴퓨팅에 의해 안전성이 위협받을 수 있는 잠재적 취약점을 가지고 있다. 이러한 이유로 리소스가 제한된 환경에서는 타원곡선 디지털 서명 알고리즘(ECDSA)과 같은 대안이 선호되기도 한다.
DSA는 미국 국립표준기술연구소(NIST)가 1991년에 제정하고 1994년에 FIPS 186으로 표준화한 디지털 서명 알고리즘이다. RSA와 달리 서명 생성과 검증에만 사용되며, 데이터 암호화나 키 교환에는 사용되지 않는다. 이 알고리즘의 안전성은 이산 로그 문제의 계산적 난이도에 기반을 두고 있다.
DSA의 동작은 큰 소수 p, p의 약수인 소수 q, 그리고 g( g^q mod p = 1을 만족하는 생성자)로 정의되는 공개 파라미터 집합에 의존한다. 서명자는 먼저 난수 k를 생성하고, 서명할 메시지의 해시 값 H(m)과 자신의 개인키 x를 사용하여 두 개의 서명 구성요소 r과 s를 계산한다. 최종 서명은 (r, s) 쌍으로 표현된다.
검증자는 서명자의 공개키 y( y = g^x mod p )와 동일한 공개 파라미터 (p, q, g)를 사용한다. 수신된 서명 (r, s)와 메시지 해시 H(m)으로부터 몇 가지 계산을 수행한 후, 그 결과가 r과 일치하는지 확인한다. 일치하면 서명이 유효함을, 그렇지 않으면 위조되었거나 메시지가 변조되었음을 의미한다.
DSA의 주요 특징은 서명 길이가 비교적 짧으며, 특히 초기 FIPS 186-2 표준에서 키 길이와 서명 길이가 고정되어 있다는 점이다[5]. 그러나 이후 버전(FIPS 186-4 등)에서는 더 긴 키 길이(2048비트, 3072비트)를 지원하도록 확장되었다. 성능 측면에서 서명 생성은 검증보다 상대적으로 느리지만, 높은 수준의 보안을 제공한다는 평가를 받는다.
ECDSA는 타원곡선 암호를 기반으로 하는 디지털 서명 알고리즘이다. 이 알고리즘은 DSA의 변형으로, 유한체 위에서 정의된 타원곡선의 수학적 문제를 보안의 기초로 삼는다. 타원곡선 이산 로그 문제의 계산적 난해함에 의존하며, 동일한 수준의 보안을 제공하는 데 필요한 키 길이가 RSA나 기존 DSA에 비해 훨씬 짧다는 장점이 있다[6].
ECDSA의 서명 생성과 검증 과정은 다음과 같은 단계를 따른다. 서명 생성자는 먼저 메시지의 해시 값을 계산한다. 그 후, 임의의 수 k를 선택하여 타원곡선 연산을 통해 점 (x1, y1) = k * G를 계산한다. 여기서 G는 사전에 합의된 기본점이다. 서명 r은 x1 mod n으로 정의되며, n은 기본점 G의 위수이다. 서명 s는 s = k^(-1) (z + r * dA) mod n 공식으로 계산된다. 여기서 z는 해시 값에서 파생된 정수, dA는 서명자의 개인키이다. 최종 서명은 (r, s) 쌍이 된다.
검증자는 서명자의 공개키 QA = dA * G를 사용하여 검증을 수행한다. 먼저, u1 = z * s^(-1) mod n과 u2 = r * s^(-1) mod n을 계산한다. 그 다음, 타원곡선 상에서 점 (x1, y1) = u1 * G + u2 * QA를 계산한다. 계산된 점의 x 좌표를 n으로 나눈 나머지가 서명 r과 일치하면 서명은 유효한 것으로 판단된다.
특징 | 설명 |
|---|---|
기반 기술 | |
보안 근거 | 타원곡선 이산 로그 문제 (ECDLP) |
키 크기 | 작음 (예: 256비트) |
주요 장점 | 높은 보안 대비 계산 효율성 및 짧은 서명 길이 |
주요 사용처 |
이 알고리즘은 제한된 컴퓨팅 자원과 대역폭을 가진 환경, 예를 들어 스마트카드나 IoT 기기에서 특히 유용하다. 또한, 짧은 서명 길이는 블록체인과 같은 분산 원장 기술에서 트랜잭션 데이터를 효율적으로 저장하는 데 기여한다.
디지털 서명 기술은 데이터의 진본성, 무결성, 부인 방지를 보장하는 핵심 수단으로, 다양한 현대 디지털 환경에서 광범위하게 응용된다.
가장 대표적인 응용 분야는 전자 문서 및 전자 계약이다. 기업의 전자 결재, 정부의 전자 민원, 금융 계약서 등에서 문서가 변조되지 않았음을 증명하고 서명자의 신원을 확인하는 데 사용된다. 이는 종이 문서의 물리적 서명과 날인을 대체하며, 원격으로 법적 효력을 갖는 거래를 가능하게 한다. 또한, 소프트웨어 배포 및 업데이트 과정에서도 필수적이다. 소프트웨어 개발자는 배포 파일에 디지털 서명을 첨부하여, 최종 사용자가 다운로드한 파일이 공식적인 출처에서 제공된 것이며 중간에 악성 코드가 삽입되거나 변조되지 않았음을 검증할 수 있게 한다.
블록체인 및 암호화폐 생태계에서 디지털 서명은 거래의 핵심 요소로 작동한다. 예를 들어, 비트코인에서 사용자는 자신의 개인키로 거래 내역에 서명함으로써 자산 소유권을 증명하고 거래를 승인한다. 이 서명은 네트워크의 모든 노드에 의해 공개키를 이용해 검증되며, 이 과정을 통해 위조나 이중 지불을 방지한다. 디지털 서명은 또한 안전한 인증 시스템의 기반이 된다. 공개키 기반 구조(PKI)에서 발급되는 디지털 인증서는 서명 기술을 활용하여 인증서 자체의 유효성을 보증하며, 이는 SSL/TLS 프로토콜을 통한 보안 웹 통신(HTTPS)의 근간을 이룬다.
응용 분야 | 주요 역할 | 예시 |
|---|---|---|
전자 문서/계약 | 진본성, 무결성, 부인 방지 | 전자 결재, 전자 계약서, 전자 세금 신고 |
소프트웨어 보안 | 출처 인증 및 무결성 검증 | 운영체제 업데이트, 앱 스토어 배포, 드라이버 서명 |
블록체인 | 거래 승인 및 소유권 증명 | 암호화폐 거래, 스마트 계약 실행 승인 |
네트워크 보안 | 신원 인증 및 세션 보호 | 웹사이트 SSL/TLS 인증서, VPN 접속 인증 |
하드웨어 보안 | 펌웨어 신뢰성 보장 | IoT 기기 펌웨어 업데이트, 보안 부팅 프로세스 |
디지털 서명은 전자 문서와 계약 분야에서 문서의 진본성, 무결성, 그리고 부인 방지를 보장하는 핵심 기술로 활용된다. 종이 문서에 날인하는 물리적 서명의 디지털 대응물로서, 계약서, 제안서, 보고서 등 다양한 비즈니스 문서의 법적 효력을 부여한다. 서명자가 문서에 서명하면, 문서 내용은 고정되고 서명자의 신원이 그 문서에 영구적으로 바인딩된다. 이는 이후 문서가 위조되거나 변경되었을 때 검증 과정에서 쉽게 발견될 수 있게 한다.
전자 계약 체결 플랫폼에서는 디지털 서명이 전체 워크플로우의 중심에 위치한다. 계약 초안 작성, 협의, 서명 순환, 그리고 최종 보관의 모든 단계에서 디지털 서명이 적용된다. 서명 과정은 일반적으로 다음과 같은 단계를 거친다.
1. 서명자는 계약 문서 파일을 받는다.
2. 서명 플랫폼은 해당 문서의 고유한 해시 값을 생성한다.
3. 서명자는 자신의 개인키를 사용해 이 해시 값을 암호화(서명)한다.
4. 생성된 디지털 서명 값이 원본 문서 또는 메타데이터와 함께 패키징되어 상대방에게 전송된다.
5. 수신자는 서명자의 공개키로 서명을 검증하여 문서의 무결성과 서명자 신원을 확인한다.
법적 측면에서 많은 국가는 전자 서명법 또는 관련 법령을 제정하여 적절하게 생성된 디지털 서명이 자필 서명과 동등한 법적 효력을 가짐을 명시하고 있다. 예를 들어, 국제적으로는 UNCITRAL의 전자 서명에 관한 모델법이 있으며, 유럽의 eIDAS(전자 신원 확인 및 신뢰 서비스 규정) 규정은 서명의 수준을 단순 전자 서명, 고급 전자 서명, 그리고 자격을 갖춘 전자 서명으로 구분하여 각각의 법적 효력을 정의한다. 자격을 갖춘 전자 서명은 가장 높은 수준의 법적 효력을 가지며, 서명자의 신원을 공인된 인증기관이 보증해야 한다.
이 기술의 적용은 단순한 서명 행위를 넘어, 자동화된 계약 이행(스마트 계약의 기초), 공증 서비스, 그리고 타임스탬프 서비스와 결합되어 문서의 존재 시점을 증명하는 데까지 확장되고 있다. 이를 통해 분쟁 발생 시 명확한 증거 자료를 제시할 수 있어, 기업의 거래 비용을 줄이고 행정 절차의 효율성을 크게 높인다.
디지털 서명은 소프트웨어 배포 및 업데이트 과정에서 무결성과 출처 인증을 보장하는 핵심 기술이다. 소프트웨어 개발사나 배포자는 패키지나 설치 파일에 디지털 서명을 첨부하여, 최종 사용자가 다운로드한 파일이 공식적인 경로를 통해 전달되었으며 전송 중 변조되지 않았음을 확인할 수 있게 한다. 이는 악성 코드가 삽입된 위조된 소프트웨어나 중간자 공격을 통한 변조를 방지하는 데 필수적이다.
대부분의 현대 운영체제와 패키지 관리 시스템은 디지털 서명 검증을 기본 기능으로 통합하고 있다. 예를 들어, 마이크로소프트는 Windows용 드라이버 및 애플리케이션에 Authenticode 서명을 요구하며, 애플의 macOS는 Gatekeeper 기능을 통해 공식 앱 스토어 이외의 소프트웨어에 대한 서명 검사를 수행한다. 리눅스 배포판의 경우, APT(예: 데비안, 우분투)나 RPM(예: 페도라, RHEL)과 같은 패키지 관리자는 저장소 메타데이터와 개별 패키지에 대한 서명을 검증하여 신뢰할 수 있는 소스로부터의 설치만을 허용한다.
소프트웨어 업데이트 메커니즘에서 디지털 서명의 역할은 특히 중요하다. 업데이트 서버가 해킹당하더라도, 유효한 개인키로 서명되지 않은 악성 업데이트 패치는 클라이언트 측에서 검증 단계에서 거부된다. 이는 공급망 공격을 효과적으로 차단하는 수단이 된다. 또한, 오픈소스 프로젝트에서 개발자가 빌드한 바이너리 파일의 신뢰성을 제공하는 데에도 널리 사용된다.
시스템/플랫폼 | 주요 서명 기술/도구 | 검증 주체 |
|---|---|---|
Microsoft Windows | Authenticode, Catalog Files | 시스템(코드 서명 정책), 사용자 |
Apple macOS/iOS | Developer ID, App Notarization | Gatekeeper, 시스템 |
Linux 패키지 관리 | GPG(GNU Privacy Guard) | 패키지 관리자(apt, dnf, yum 등) |
Java 아카이브(JAR) | jarsigner | Java 런타임 |
모바일 앱 스토어 | 각 스토어의 개발자 인증서 | 앱 스토어 플랫폼, 디바이스 OS |
블록체인 기술에서 디지털 서명은 거래의 인증과 무결성을 보장하는 핵심 메커니즘이다. 모든 거래는 송신자의 개인키로 서명되어 생성되며, 네트워크 참여자들은 해당 송신자의 공개키를 사용해 서명의 유효성을 검증한다. 이 과정을 통해 거래가 위조되거나 변조되지 않았음을 확인하고, 송신자의 신원을 확립한다. 서명이 유효하지 않은 거래는 네트워크에 의해 거부된다.
암호화폐의 대표적인 예인 비트코인과 이더리움은 각각 ECDSA 알고리즘을 기반으로 디지털 서명을 구현한다. 사용자는 자신의 개인키로 거래에 서명함으로써 자산의 소유권을 증명하고 이동을 지시한다. 이때, 개인키 자체는 절대 네트워크에 공개되지 않으며, 서명 검증에는 공개키의 해시값인 공개키 주소가 사용된다. 이는 사용자의 실제 신원을 익명으로 유지하는 프라이버시 모델의 기초가 된다.
디지털 서명은 또한 새로운 블록 생성(채굴)과 합의 알고리즘에도 중요한 역할을 한다. 작업 증명 기반 블록체인에서 채굴자는 새 블록을 네트워크에 제출할 때 서명을 포함해야 한다. 일부 지분 증명이나 기타 합의 메커니즘에서는 검증자들이 투표나 블록 제안 행위에 서명하여 그 행위의 책임을 진다. 이를 통해 네트워크의 보안과 탈중앙화된 신뢰가 유지된다.
개인키 관리의 중요성은 디지털 서명 보안의 핵심이다. 디지털 서명의 무결성과 부인 방지는 전적으로 서명자의 개인키 비밀성에 의존한다. 개인키가 유출되면 공격자는 해당 키의 소유자를 가장하여 임의의 문서에 서명할 수 있게 되어, 서명의 모든 신뢰가 무너진다. 따라서 개인키는 안전한 하드웨어 보안 모듈(HSM)에 저장하거나, 암호화된 형태로 관리하며, 엄격한 접근 통제 절차를 적용해야 한다. 키 소유자의 실수나 내부 위협으로 인한 유출 또한 주요 위협 요소로 간주된다.
사용하는 암호 알고리즘의 강도는 지속적인 평가 대상이다. 과거 널리 사용되던 RSA나 DSA와 같은 알고리즘은 컴퓨팅 성능의 발전과 새로운 수학적 공격 기법에 따라 그 안전성이 도전받는다. 예를 들어, 키 길이가 충분히 길지 않은 RSA 키는 충분한 컴퓨팅 자원을 동원한 공격에 취약해질 수 있다[7]. 따라서 시의적절한 키 길이와 최신 알고리즘 표준을 준수하는 것이 필수적이다.
가장 심각한 장기적 위협 중 하나는 양자 컴퓨팅의 발전이다. 쇼어 알고리즘과 같은 양자 알고리즘은 현재 공개키 암호 체계의 기반이 되는 큰 수의 소인수 분해나 이산 로그 문제를 다항 시간 내에 해결할 수 있는 이론적 가능성을 제시한다. 이는 RSA, ECDSA를 포함한 현재 대부분의 디지털 서명 체계를 근본적으로 붕괴시킬 수 있는 잠재력을 가진다. 이에 대응하여 양자내성암호 또는 포스트 양자 암호라고 불리는 새로운 암호 체계의 연구와 표준화가 글로벌하게 진행 중이다.
위협 요소 | 설명 | 주요 대응 방안 |
|---|---|---|
개인키 유출 | 물리적/논리적 도난, 관리 소홀 | HSM 사용, 강력한 접근 통제, 키 순환 정책 |
알고리즘 취약점 | 계산 능력 향상으로 인한 기존 알고리즘 약화 | 충분한 키 길이 유지, 최신 표준 알고리즘 채택 (예: EdDSA) |
양자 컴퓨팅 공격 | 쇼어 알고리즘 등에 의한 공개키 암호 체계 붕괴 위협 | 양자내성암호(PQC) 알고리즘 연구/도입, 암호 유연성 확보 |
개인키는 디지털 서명 체계의 근간을 이루는 절대적인 비밀 정보이다. 서명 생성 권한의 유일한 증거이자 소유자의 디지털 신원 그 자체로 간주되므로, 그 관리의 중요성은 무엇보다 우선시된다. 개인키가 유출되면 공격자는 합법적인 소유자인 것처럼 임의의 문서에 서명할 수 있게 되어, 위조 문서 생성, 불법 거래 실행, 시스템에 대한 무단 접근 등 심각한 보안 위협이 발생한다. 이는 물리적 도장이나 서명이 도난당했을 때와 유사하지만, 디지털 세계에서는 복제와 대규모 악용이 훨씬 용이하고 탐지가 어려울 수 있다.
개인키 관리는 생성, 저장, 사용, 폐기의 전 주기에 걸쳐 엄격한 보안 절차를 요구한다. 안전한 생성은 신뢰할 수 있는 환경에서 충분한 엔트로피를 사용하여 이루어져야 한다. 저장 시에는 일반적으로 암호화된 형태로 하드웨어 보안 모듈(HSM)이나 전용 스마트 카드 같은 물리적으로 분리된 보안 장치에 보관하는 것이 가장 안전한 방법으로 여겨진다. 소프트웨어 기반 지갑이나 파일 시스템에 저장하는 경우 강력한 암호로 보호되어야 하며, 네트워크에 연결되지 않은 오프라인 환경(콜드 스토리지)에서 관리하는 것이 바람직하다.
사용자 측면에서도 주의가 필요하다. 개인키에 대한 접근은 최소 권한 원칙에 따라 엄격히 통제되어야 하며, 강력한 패스프레이즈로 추가 보호하는 것이 일반적이다. 또한, 개인키는 절대 타인과 공유되어서는 안 되며, 의심스러운 애플리케이션이나 웹사이트에 입력해서는 안 된다. 키가 손상되었을 가능성이 있다면 즉시 폐기(revocation) 절차를 시작하고 새로운 키 쌍을 생성해야 한다. 이러한 관리 부주의로 인한 사고는 법적 책임 소지와 같은 실질적인 피해로 이어질 수 있다[8].
관리 단계 | 주요 보안 조치 | 위험 요소 |
|---|---|---|
생성 | 높은 엔트로피 소스 사용, 신뢰된 환경에서 생성 | 예측 가능한 난수 사용, 악성 소프트웨어에 노출 |
저장 | HSM 또는 암호화된 콜드 스토리 사용 | 암호화되지 않은 파일 저장, 클라우드 동기화 폴더 보관 |
사용 | 강력한 패스프레이즈 사용, 접근 로깅 및 모니터링 | 공공 PC 사용, 피싱 사이트에 키 입력 |
폐기/갱신 | 유효기간 설정, 손상 시 즉시 인증서 폐기 목록(CRL) 등록 | 키를 영구적으로 사용, 폐기 절차 무시 |
디지털 서명의 안전성은 사용된 암호 알고리즘의 강도에 직접적으로 의존한다. 알고리즘 강도는 일반적으로 키의 길이와 수학적 문제의 복잡성으로 평가된다. 예를 들어, RSA 알고리즘의 안전성은 큰 수를 소인수분해하는 것이 계산상 어렵다는 사실에 기반한다. 따라서 충분히 긴 키(예: 2048비트 이상)를 사용해야 현실적인 시간 내에 공격을 막을 수 있다. 키 길이가 짧은 오래된 알고리즘은 컴퓨팅 성능의 발전으로 인해 더 이상 안전하지 않을 수 있다[9].
양자 컴퓨팅은 기존 공개키 암호 체계에 근본적인 위협으로 간주된다. 쇼어 알고리즘과 같은 양자 알고리즘은 대수적 구조를 이용하는 현재의 주요 디지털 서명 알고리즘(예: RSA, ECDSA)을 다항 시간 내에 해결할 수 있는 이론적 가능성을 제시한다. 이는 충분히 강력한 양자 컴퓨터가 실현되면, 현재 널리 사용되는 공개키 암호 기반의 디지털 서명이 무력화될 수 있음을 의미한다.
이 위협에 대응하기 위해 양자내성암호 또는 포스트-양자 암호라고 불리는 새로운 암호 체계가 활발히 연구되고 표준화되고 있다. 이 알고리즘들은 격자 기반 암호, 코드 기반 암호, 다변량 다항식 암호 등 양자 컴퓨터로도 해결하기 어려운 다른 수학적 문제에 기반을 둔다. 주요 표준화 기관들은 향후 표준으로 채택될 후보 알고리즘들을 선정하고 평가 중이다.
위협 요소 | 설명 | 대응 방향 |
|---|---|---|
컴퓨팅 성능 발전 | 더 짧은 키를 더 빠른 시간 내에 무력화 가능 | 더 긴 키 길이 사용, 강력한 알고리즘으로 전환 |
양자 컴퓨팅 | 쇼어 알고리즘 등으로 현재 공개키 암호 체계 붕괴 가능 | 양자내성암호(PQC) 알고리즘 연구 및 표준화 |
알고리즘 취약점 발견 | 수학적 공격 기법의 발전으로 특정 알고리즘이 취약해질 수 있음 | 지속적인 보안 평가 및 필요시 알고리즘 교체 |
따라서 디지털 서명 시스템을 설계하거나 운영할 때는 현재 알고리즘의 강도를 주기적으로 평가하고, 미래의 양자 컴퓨팅 위협을 고려한 장기적인 마이그레이션 계획을 수립하는 것이 중요하다.
디지털 서명의 상호운용성과 법적 효력을 보장하기 위해 국제적으로 인정받는 표준과 규정 체계가 마련되어 있다. 이 체계의 핵심은 공개키 기반 구조(PKI)이며, 이를 구현하는 구체적인 표준들이 존재한다.
가장 널리 사용되는 표준은 X.509이다. X.509는 공개키 인증서의 형식, 내용, 구조를 정의하는 국제 표준이다. 이 표준에 따라 발급된 인증서는 서명자의 신원과 공개키를 바인딩하며, 신뢰할 수 있는 제삼자인 인증 기관(CA)의 서명을 포함한다. X.509 인증서는 SSL/TLS를 통한 웹 보안, 이메일 보안(S/MIME), 코드 서명 등 다양한 분야에서 기반이 된다. PKI의 운영을 위해서는 인증서 생성, 발급, 저장, 폐기(CRL/OCSP)의 전 주기를 관리하는 프로토콜과 정책이 필요하며, 이는 PKIX(Public-Key Infrastructure X.509) 워킹 그룹에 의해 표준화되었다.
국가 및 산업별로도 구체적인 규정이 제정되어 있다. 예를 들어, 많은 국가는 전자 서명에 법적 효력을 부여하는 법률(예: 한국의 『전자서명법』, 미국의 ESIGN Act, EU의 eIDAS 규정)을 시행한다. 이러한 법률은 '공인전자서명' 또는 그에 상응하는 개념을 정의하고, 특정 기술 요건과 인증 기관의 승인 절차를 규정한다. 또한, 특정 산업에서는 자체 표준을 적용하기도 한다. 금융 분야의 FIPS(미국 연방 정보 처리 표준) 186 시리즈는 디지털 서명 알고리즘(DSA, ECDSA 등)에 대한 요구사항을 명시하며, FIPS 140는 암호 모듈의 보안 수준을 규정한다.
표준/규정 구분 | 주요 내용 | 적용 예시 |
|---|---|---|
인증서 형식 표준 | 공개키 인증서의 구조와 인코딩 방식을 정의함 | X.509 (ITU-T 표준) |
PKI 운영 표준 | 인증서 생명주기 관리(발급, 폐기, 검증) 프로토콜을 정의함 | |
알고리즘 표준 | 디지털 서명 생성에 사용되는 암호 알고리즘을 규정함 | FIPS 186 (DSA/ECDSA), PKCS#1(RSA) |
법적 규정 | 디지털 서명의 법적 효력과 공인 인증 절차를 규정함 | 한국 『전자서명법』, EU 『eIDAS 규정』 |
산업별 보안 표준 | 특정 산업의 보안 요구사항과 암호 모듈 기준을 정의함 | FIPS 140 (암호 모듈), Common Criteria |
PKI(공개키 기반 구조)는 디지털 서명과 공개키 암호 방식을 안전하게 사용하기 위해 필요한 인프라 체계이다. 이는 디지털 세계에서 신원 확인, 데이터 무결성 보장, 기밀성 유지를 가능하게 하는 신뢰의 기반을 제공한다. PKI의 핵심 구성 요소는 인증 기관, 등록 기관, 인증서 저장소, 그리고 인증서 폐지 목록 등이다.
인증 기관은 PKI의 핵심 신뢰 기관으로, 개인이나 조직의 신원을 확인하고 디지털 인증서를 발행한다. 이 인증서는 공개키와 소유자 정보를 바인딩하는 전자 문서이다. 등록 기관은 인증 기관을 대신하여 인증서 발급 신청자의 신원을 검증하는 역할을 한다. 발급된 인증서는 LDAP 디렉토리와 같은 인증서 저장소에 공개되어 필요한 사용자가 조회할 수 있다. 또한, 개인키가 유출되거나 소유자가 변경되는 등 인증서를 더 이상 신뢰할 수 없게 되면, 인증 기관은 해당 인증서를 폐지하고 그 정보를 인증서 폐지 목록에 게시한다.
PKI의 운영 모델은 크게 단일 인증 기관 계층 구조, 교차 인증 모델, 그리고 신뢰 웹 모델 등으로 나눌 수 있다. 가장 일반적인 형태는 루트 인증 기관과 하위 인증 기관으로 이루어진 계층 구조이다. 주요 국제 표준으로는 X.509가 있으며, 이는 인증서의 형식과 내용을 정의한다. PKI는 SSL/TLS(웹사이트 보안), S/MIME(이메일 서명 및 암호화), 코드 서명, 그리고 스마트 카드 기반 접근 제어 등 다양한 분야에서 광범위하게 응용된다.
디지털 서명의 상호운용성과 법적 효력을 보장하기 위해 국제 및 국가별 표준이 마련되었다. 이러한 표준은 서명 알고리즘, 형식, 인증서 구조, 그리고 이를 관리하는 공개키 기반 구조의 구현 방식을 정의한다. 가장 널리 채택된 국제 표준은 ITU-T(국제전기통신연합 전기통신표준화부문)의 X.509이다. X.509는 공개키 인증서의 형식과 인증 경로 검증 알고리즘 등을 규정하며, SSL/TLS, S/MIME, 많은 PKI 구현의 근간이 된다.
국가별로는 자국의 법제도와 보안 요구사항에 맞는 표준을 제정하기도 한다. 예를 들어, 대한민국에서는 국가보안기술연구소(NSRI)가 주관하여 전자서명법에 부합하는 표준을 관리한다. 대표적인 한국 표준으로는 SEED, ARIA 같은 대칭키 알고리즘과 함께 디지털 서명에 사용되는 KCDSA(한국형 전자서명 알고리즘)가 있다. 미국에서는 NIST(국립표준기술연구소)가 FIPS(연방정보처리표준)를 통해 DSA, ECDSA 등을 표준화하며, FIPS 186은 디지털 서명 표준을 다룬다.
표준은 기술적 명세뿐만 아니라 인증 기관의 운영 규정과 정책을 포함하는 프로파일 형태로도 발전했다. RFC 5280은 인터넷에서 X.509 인증서와 인증 경로를 사용하기 위한 프로파일을 정의한다. 또한, 유럽연합은 eIDAS(전자신원확인 및 신뢰서비스 규정)를 통해 회원국 간에 법적 효력을 인정받는 전자서명, 인감, 시점확인 등의 신뢰서비스에 대한 공통 규제 프레임워크를 수립했다. 이러한 표준과 규정은 글로벌 디지털 경제에서 안전한 전자 거래의 토대를 제공한다.