🔒 전통적인 서명
- 문서에 직접 포함된다.
- 수신자는 서명의 확인을 위해 별도의 서명 파일을 가지고 있어야 한다.
- 여러 문서에 하나의 서명을 사용한다.
- 서명 파일을 복사해도 원본 파일과 구분할 수 있다.
🔒 디지털 서명
- 서명과 문서는 분리되어 전송된다.
- 수신자는 기술을 사용하여 서명을 확인한다.
- 각 문서마다 각기 다른 서명을 사용한다.
- 서명 파일을 캡쳐했다가 다시 보여주면, 원본 파일과 구분이 불가능하다. 대신, 타임스탬프를 사용하여 해결할 수 있다.
- 송신자는 자신의 개인키로 서명을 하고, 수신자는 송신자의 공개키로 서명을 검증한다.
- 메시지의 길이가 길기 때문에 다이제스트에 서명을 하도록 한다.
🔒 디지털 서명이 보장할 수 있는 것
- 메시지 인증
- 메시지 무결성
- 부인 방지
- 기밀성 X
🔒 여러가지 디지털 서명 구조
∎ RSA 디지털 서명
M과 M'를 비교하여 서명을 검증한다.
∎ ElGamal 디지털 서명
- e1과 비밀키 d를 선택하고, e2를 생성하여
- e1, e2, p를 공개한다.
∎ Schnorr 디지털 서명
- ElGamal의 구조를 가지고 있지만 해시함수로 이루어져 있어 더 강력하다.
∎ DSS (디지털 서명 표준)
- 동일한 소수 p를 사용할 경우, RSA보다 서명 계산이 빠르다
- ElGamal보다 서명의 길이가 짧다.
∎ ECDSS (타원곡선 디지털 서명 구조)
DSA를 타원 곡선 상에 적용시킨 구조
🔒 타임스탬프
디지털 서명을 캡처하여 재사용하지 못하도록 하는 방법
🔒 블라인드 서명
서명을 검증받을 때 메시지의 내용은 보여주고 싶지 않을 때 사용