은닉 서명
IT 위키
(블라인드 서명에서 넘어옴)
- Blind Signature; 블라인드 서명, 은닉 전자서명
- 서명자가 서명 대상 메시지의 내용을 알지 못한 채 유효한 전자서명을 생성해 주는 서명 방식
1982년 데이비드 촘(David Chaum)이 전자화폐를 위해 제안했다. 메시지의 기밀성을 지키면서도 제3자에게 인증받아야 하는 상황에서 쓴다.
비유하면, 내용을 적은 종이를 먹지가 든 봉투에 넣어 봉한 채 서명을 받는 것과 같다. 서명자는 봉투 겉면에 서명하지만 먹지를 통해 안쪽 종이에도 서명이 찍힌다. 서명자는 내용을 보지 못했지만 서명은 유효하다.
- 은닉(Blinding) : 요청자가 메시지
m에 난수(blinding factor)r을 곱해m'으로 가린다. - 서명 : 서명자는
m'에 자신의 개인키로 서명해s'를 돌려준다. 이때 서명자는m을 알 수 없다. - 은닉 해제(Unblinding) : 요청자가
s'에서r의 영향을 제거해m에 대한 정상 서명s를 얻는다. - 검증자는 서명자의 공개키로
s가m에 대한 유효한 서명임을 확인할 수 있다.
RSA 기반 구현에서는 은닉 인자의 r^e mod n 성질을 이용해 곱셈 한 번으로 가리고 역원을 곱해 벗긴다.
- 서명자 무지(Blindness) : 서명자는 무엇에 서명했는지 알지 못하며, 나중에 그 서명을 보아도 어느 요청과 짝인지 연결할 수 없다.
- 불추적성(Untraceability) : 발급 시점과 사용 시점을 연결할 수 없다. 익명성의 근거가 된다.
- 검증 가능성 : 그럼에도 서명은 서명자의 공개키로 정상 검증된다.
- 전자화폐 : 은행이 액면가를 보증하는 서명을 해 주되, 누가 어디에 썼는지는 추적할 수 없게 한다. 촘이 설계한 이캐시(ecash)가 대표적이다.
- 전자 투표 : 선거관리 주체가 '유권자 자격이 있다'는 사실만 서명하고 투표 내용은 보지 못하게 한다. 자격 확인과 비밀 투표를 동시에 만족시킨다.
- 익명 인증서·익명 자격 증명
| 방식 | 특징 |
|---|---|
| 은닉 서명 | 서명자가 내용을 모른 채 서명한다. 익명성·불추적성 확보 |
| 이중 서명 | 하나의 거래를 두 부분으로 나눠 각 수신자가 자신에게 필요한 부분만 보게 한다. SET 프로토콜에서 주문 정보와 결제 정보를 분리하는 데 쓴다 |
| 전자서명 | 서명자가 내용을 보고 서명한다. 무결성·인증·부인 방지 |
| 영지식 증명 | 비밀 자체를 드러내지 않고 알고 있다는 사실만 증명한다 |
