DSA 서명 도구
디지털 서명 알고리즘 (FIPS 186)
FIPS 186-5 지원 중단 공지
DSA는 FIPS 186-5(2023년 2월)에서 서명 생성이 지원 중단되었습니다. 서명 검증만 승인됩니다. 새 애플리케이션에는 ECDSA 또는 Ed25519를 고려하세요.
DSA 키 가져오기
DSA 키(PEM 형식)를 붙여넣으세요. 브라우저 제한으로 인해 이 도구는 DSA 키 생성을 지원하지 않습니다. OpenSSL로 키를 생성한 후 여기에 가져올 수 있습니다.
OpenSSL로 키 생성
# DSA 매개변수 생성 openssl dsaparam -out dsaparam.pem 2048
# 개인 키 생성 openssl gendsa -out private.pem dsaparam.pem
# 공개 키 내보내기 openssl dsa -in private.pem -pubout -out public.pem
키가 성공적으로 검증되었습니다
문서
DSA(Digital Signature Algorithm)는 FIPS 186에 명시된 디지털 서명에 대한 연방 정보 처리 표준입니다. 1994년에 처음 발표된 DSA는 정부 및 상업 시스템에서 디지털 서명 응용 프로그램에 널리 사용되었습니다. 올바르게 구현되면 여전히 안전하지만, NIST는 FIPS 186-5(2023)에서 서명 생성을 위한 DSA를 지원 중단하고 더 효율적인 타원 곡선 알고리즘을 선호했습니다.
FIPS 186-5 상태
2023년 2월부터 NIST FIPS 186-5는 더 이상 디지털 서명 생성에 DSA를 승인하지 않습니다. 전환 전에 생성된 서명을 검증하기 위해 DSA 서명 검증만 승인됩니다. 디지털 서명이 필요한 새 애플리케이션에 대해 NIST는 ECDSA(P-256, P-384, P-521) 또는 EdDSA(Ed25519, Ed448)를 권장합니다.
주요 기능
- FIPS 준수: NIST FIPS 186-4 디지털 서명 표준 구현
- 다중 파라미터: (2048, 256), (3072, 256) 및 레거시 크기의 (L, N) 조합 지원
- SHA-2 계열: SHA-1(레거시), SHA-224, SHA-256 해시 함수와 호환
- DER 인코딩: 표준 ASN.1 DER 형식으로 서명 생성
- 브라우저 기반: jsrsasign 라이브러리를 사용하여 모든 작업이 브라우저에서 로컬로 실행됩니다
지원되는 파라미터
- (2048, 256): 권장 파라미터 세트. L=2048비트 소수 모듈러스, N=256비트 소인수. 112비트 보안 수준 제공.
- (3072, 256): 고급 보안 파라미터 세트. 128비트 보안 수준을 위한 L=3072비트 소수 모듈러스. 더 느리지만 미래에 더 안전.
- (1024, 160): 레거시 파라미터 세트. 기존 시스템과의 호환성을 위해서만. 새 애플리케이션에는 권장되지 않음.
- (2048, 224): N=224비트 인수를 가진 대안 파라미터 세트. 덜 일반적이지만 여전히 안전.
해시 알고리즘
- SHA-256: DSA의 권장 해시 함수. (2048, 256) 파라미터에 적합한 128비트 충돌 저항성 제공.
- SHA-224: 112비트 충돌 저항성을 제공하는 대체 해시 함수. 표준 보안 요구 사항에 적합합니다.
- 참고: jsrsasign 라이브러리 제한으로 인해 본 도구는 SHA-384 및 SHA-512를 지원하지 않습니다.
- SHA-1: 알려진 취약점이 있는 레거시 해시 함수. 오래된 서명 검증에만 사용하고 새 서명에는 절대 사용하지 마세요.
보안 고려 사항
- 마이그레이션 권장: NIST는 새 서명 애플리케이션을 위해 DSA에서 ECDSA 또는 EdDSA로의 마이그레이션을 권장합니다.
- 무작위성 품질: DSA의 보안은 서명 중 고품질 무작위성에 크게 의존합니다. 낮은 무작위성 품질은 개인 키 유출을 초래할 수 있습니다.
- 개인 키 보호: 개인 키를 절대 노출하거나 공유하지 마세요. 민감한 애플리케이션에는 하드웨어 보안 모듈(HSM) 사용을 고려하세요.
- 파라미터 검증: 악의적으로 제작된 파라미터를 사용한 공격을 방지하기 위해 사용 전에 항상 DSA 파라미터(p, q, g)를 검증하세요.
- 로컬 처리: 이 도구는 완전히 브라우저에서 실행됩니다. 키가 장치를 떠나지 않습니다.
DSA vs 현대 서명 체계
| 기능 | DSA (2048, 256) | ECDSA (P-256) | Ed25519 |
|---|---|---|---|
| 개인 키 크기 | ~256비트 | 256비트 | 256비트 |
| 공개 키 크기 | ~2048비트 | 512비트 | 256비트 |
| 서명 크기 | ~512비트 | 512비트 | 512비트 |
| 보안 수준 | 112비트 | 128비트 | 128비트 |
| FIPS 186-5 상태 | 지원 중단 | 승인됨 | 승인됨 |