개인공부용

출처 : ChatGPT

 

 

🔐 정의

알고리즘 요약

 

ECDSA 전통적인 타원곡선 서명, 설정과 난수가 중요
EdDSA 실수 방지형 설계, 항상 같은 결과가 나오는 안전한 서명

1️⃣ ECDSA (Elliptic Curve Digital Signature Algorithm)

▶ 핵심 개념

  • 비대칭키 전자서명
  • 개인키로 서명, 공개키로 검증
  • NIST 표준 계열 (P-256, P-384 등)

▶ 서명 과정의 핵심 포인트

  • 매 서명마다 랜덤 nonce k 필요
  • k가:
    • 재사용 ❌
    • 예측 가능 ❌
      개인키 유출

📌 실제 사고 사례 다수 (콘솔, 지갑, IoT 기기)


▶ 장단점

장점

  • 오래된 표준
  • 하드웨어 가속 풍부 (HSM, SoC)

단점

  • 난수 품질에 매우 민감
  • 구현 실수 위험
  • 파라미터 선택 복잡

2️⃣ EdDSA (Edwards-curve Digital Signature Algorithm)

▶ 핵심 개념

  • ECDSA의 실수 포인트를 제거한 설계
  • Edwards 곡선 사용
  • 대표 알고리즘: Ed25519

▶ 가장 큰 차이점

❌ 랜덤 nonce 필요 없음
Deterministic 서명

 
nonce = Hash(private_key || message)

→ 매번 같은 메시지 = 같은 서명

📌 난수 사고 원천 차단


▶ 장단점

장점

  • 구현 안전
  • 빠름
  • 사이드채널 방어 설계
  • 키·서명 포맷 단순

단점

  • 레거시 HW 가속 적음
  • 일부 규제/인증에서 늦게 채택

🔁 ECDSA vs EdDSA 핵심 비교

항목ECDSAEdDSA (Ed25519)
곡선 NIST P-256 등 Edwards Curve (25519)
nonce 랜덤 필수 결정적(Deterministic)
구현 난이도 높음 낮음
서명 속도 빠름 더 빠름
검증 속도 빠름 빠름
실수 위험 ⚠️ 높음 ✅ 낮음
권장도 유지 신규 강력 추천

🔐 보안 관점 핵심 차이

▶ ECDSA의 위험 포인트

  • TRNG 불량
  • VM/SoC에서 엔트로피 부족
  • 전력/타이밍 사이드채널
  • nonce 재사용

▶ EdDSA의 설계 철학

“개발자가 실수할 수 있는 모든 지점을 제거하자”

  • nonce를 내부적으로 파생
  • 곡선 선택도 고정
  • 검증 수식 단순화

🎯 실무 선택 가이드 (SoC / PUF 관점)

상황추천
레거시 HSM / CC 인증 ECDSA P-256
신규 제품 설계 Ed25519
IoT / 카메라 / 엣지 Ed25519
PUF 기반 키 생성 EdDSA (안정적)
블록체인 / TLS 신형 Ed25519

🧩 PUF와 결합 시 차이

▶ ECDSA + PUF

  • PUF → 개인키 재생성
  • nonce용 난수 추가 설계 필요
  • 실수 시 치명적

▶ EdDSA + PUF

  • PUF → 개인키
  • nonce는 내부 해시로 결정
  • PUF 특성과 궁합이 매우 좋음

📌 그래서 PUF + Ed25519 조합이 요즘 최선


⚠️ 흔한 오해 정리

  • ❌ “EdDSA는 ECC가 아니다” → ECC 맞음
  • ❌ “ECDSA가 더 안전하다” → 아님
  • ❌ “랜덤이 많을수록 안전” → 서명에서는 아님

🧠 한 문장 요약

  • ECDSA = “잘 쓰면 안전, 실수하면 위험”
  • EdDSA = “실수 자체를 못 하게 만든 서명”

 

'C.S. > Security' 카테고리의 다른 글

CA 서버, RA 서버 차이  (0) 2026.02.24
LDAP (Lightweight Directory Access Protocol)  (0) 2026.01.13
ECDSA (Elliptic Curve Digital Signature Algorithm)  (0) 2026.01.08
HMAC & CMAC (Message Authentication Code)  (0) 2026.01.08
PUF 세부 특징  (0) 2026.01.08

+ Recent posts