은닉 서명

IT 위키
(블라인드 서명에서 넘어옴)
Blind Signature; 블라인드 서명, 은닉 전자서명
서명자가 서명 대상 메시지의 내용을 알지 못한 채 유효한 전자서명을 생성해 주는 서명 방식

1982년 데이비드 촘(David Chaum)이 전자화폐를 위해 제안했다. 메시지의 기밀성을 지키면서도 제3자에게 인증받아야 하는 상황에서 쓴다.

비유하면, 내용을 적은 종이를 먹지가 든 봉투에 넣어 봉한 채 서명을 받는 것과 같다. 서명자는 봉투 겉면에 서명하지만 먹지를 통해 안쪽 종이에도 서명이 찍힌다. 서명자는 내용을 보지 못했지만 서명은 유효하다.

  1. 은닉(Blinding) : 요청자가 메시지 m 에 난수(blinding factor) r 을 곱해 m' 으로 가린다.
  2. 서명 : 서명자는 m' 에 자신의 개인키로 서명해 s' 를 돌려준다. 이때 서명자는 m 을 알 수 없다.
  3. 은닉 해제(Unblinding) : 요청자가 s' 에서 r 의 영향을 제거해 m 에 대한 정상 서명 s 를 얻는다.
  4. 검증자는 서명자의 공개키로 sm 에 대한 유효한 서명임을 확인할 수 있다.

RSA 기반 구현에서는 은닉 인자의 r^e mod n 성질을 이용해 곱셈 한 번으로 가리고 역원을 곱해 벗긴다.

  • 서명자 무지(Blindness) : 서명자는 무엇에 서명했는지 알지 못하며, 나중에 그 서명을 보아도 어느 요청과 짝인지 연결할 수 없다.
  • 불추적성(Untraceability) : 발급 시점과 사용 시점을 연결할 수 없다. 익명성의 근거가 된다.
  • 검증 가능성 : 그럼에도 서명은 서명자의 공개키로 정상 검증된다.
  • 전자화폐 : 은행이 액면가를 보증하는 서명을 해 주되, 누가 어디에 썼는지는 추적할 수 없게 한다. 촘이 설계한 이캐시(ecash)가 대표적이다.
  • 전자 투표 : 선거관리 주체가 '유권자 자격이 있다'는 사실만 서명하고 투표 내용은 보지 못하게 한다. 자격 확인과 비밀 투표를 동시에 만족시킨다.
  • 익명 인증서·익명 자격 증명

다른 서명과의 비교

[편집 | 원본 편집]
방식 특징
은닉 서명 서명자가 내용을 모른 채 서명한다. 익명성·불추적성 확보
이중 서명 하나의 거래를 두 부분으로 나눠 각 수신자가 자신에게 필요한 부분만 보게 한다. SET 프로토콜에서 주문 정보와 결제 정보를 분리하는 데 쓴다
전자서명 서명자가 내용을 보고 서명한다. 무결성·인증·부인 방지
영지식 증명 비밀 자체를 드러내지 않고 알고 있다는 사실만 증명한다

같이 보기

[편집 | 원본 편집]