공인인증서 |
전자 서명을 검증하는 데 필요한 공개키에다 소유자 정보를 추가한 증명서이다. CA(Certificate Authority, 인증기관)와 사용자 간 인증서 체결을 통해 사용자 공개키를 인증한다.
사용자는 검증키와 서명키 쌍을 보유한다. CA는 사용자 정보를 확인하고, 검증키와 사용자 정보에 서명해 인증서를 생성한 후 사용자에게 전달한다. CA에서 받은 인증키로 검증키를 인증하고, 서명을 확인한다. 사용자는 개인 서명키를 이용해 데이터나 자금을 거래할 수 있다.
서명 압축(Signature Aggregation) |
블록체인에서 서명이 차지하는 비중은 크다. 효율성을 위해서 서명 크기를 줄여야 하는데, 이를 구현한 것이 서명 압축이다.
다수의 서명을 하나로 압축하는데, 개수에 상관 없이 일정한 크기로 유지된다. 노드(채굴자)는 거래가 유효한지 서명을 검증해 증명하고, 모든 거래를 모아 압축하여 유효성을 유지한다.
거래 크기를 줄이고, 배치 형태로 한 번에 검증할 수 있어서 블록체인의 확장성을 향상시키는 기술이다.
은닉 서명(Blind Signature) |
서명하는 사람이 메시지 내용을 모른 채 서명값을 생성하는 방법이다. 서명은 제3자가 나중에 검증한다.
자신의 메시지 서명을 획득하려는 사용자와 자신의 비밀키를 갖고 서명하는 서명자를 포함하는 프로토콜이다. 전자 투표, 디지털 캐시처럼 프라이버시가 요구되는 분야에 응용된다.
전자투표를 살펴보자. 투표자는 투표를 하고 내용은 감춘 채 선거관리위원회에 전달한다. 선관위는 내용을 확인하지 않는다. 이중투표가 되었는지, 올바른 형식인지만 확인한 뒤 서명한다. 서명된 투표지는 다시 투표자에게 전달되고 투표 내용을 공개해 투표함에 넣는다. 대표자는 투표함에 있는 투표자의 서명과 선관위의 서명을 확인하고 개표한다.
그룹 서명(Group Signature) |
임의의 그룹 멤버가 그룹을 대표해 자신의 비밀키로 서명을 생성하는 방식이다. 생성된 서명은 그룹의 공개키를 알고 있는 사람은 누구나 확인할 수 있다. 그룹 매니저가 존재한다. 매니저는 서명한 사람의 신분을 드러낼 수 있고, 멤버를 수정할 수 있는 권한을 가지고, 그룹 멤버십 인증서를 발행하거나 폐기할 수 있다.
익명성(anonymity), 비연결성(unlinkabiliry), 익명성 폐기(anonymity revocation)와 같은 특성은 프라이버시에 민감한 블록체인 분야에 응용하기 적합하다.
링 서명(Ring Signature) |
그룹 서명처럼 그룹을 대표해서 인증하나, 그룹 매니저가 아니라 어떤 한 멤버가 인증하는 방식이다. 익명성 폐기가 불가능하여 프라이버시 측면에서는 강력한 방식이다. 반면에 무책임하게 서명을 생성하는 멤버가 있다면 이 특징은 단점으로 작용할 수도 있다.
그룹 매니저를 가정하기 어려운 환경에서는 현실적인 대책이지만 링 멤버가 악의적인 행동을 하지 않도록 방지할 수 있는 추가 암호기술이 요구될 수도 있다.
링 서명을 이용한 암호화폐로 모네로가 있다. 비트코인이 탈중앙화에 집중한 것과 다르게 익명성에 중점을 두었다.
전방 안정 서명(Forward Secure Signature) |
기존 서명 기법은 서명키가 유출되면 모든 거래 내용을 조작할 수 있다는 문제가 있다. 전방 안정 서명은 주기마다 서명키를 해시 함수같은 일방향 함수(one-way function)으로 업데이트한다. 따라서 현재키가 유출되어도 과거 서명은 유출할 수 없다.
블록체인에서는 매 블록마다 서명한다. 서명 이후 서명키를 갱신한다면, 현재 상태에서 서명키가 노출되더라도 과거 블록에 있는 서명 값은 생산할 수 없으므로 과거 블록에 대한 안정성이 보장된다. 서명키 유출로 인한 피해를 최소화할 수 있는 방법이다.
참고 자료
매치업 - 블록체인을 위한 암호학과 보안성
'보안 > 블록체인' 카테고리의 다른 글
블록체인 암호학 - 블록 암호 (0) | 2020.11.16 |
---|---|
블록체인 암호학 - 고전 암호, 현대 암호 시스템 (0) | 2020.11.03 |
블록체인 암호학- 전자서명 (0) | 2020.09.22 |
블록체인 암호학 - 작업 증명(PoW), 양자 안정성, 머클 해시 트리 (0) | 2020.09.15 |
블록체인 암호학 - 암호학적 해시 함수 (0) | 2020.09.06 |