Ⅰ.서론
선거는 민주주의를 실현하는데 가장 중요한 도구 중 하나이다. 국민들은 선거를 통해 국가의 대소사에 참여하게 된다. 그러나 현행 선거방식은 그 낙후성으로 인해 자원 낭비가 심하고, 거대해진 현대사회에서 국민들의 의견을 정확하고 신속하게 반영하기에 부족한 면이 많다. 또한 시간과 공간상의 제약으로 인하여 많은 사람들이 선거에 참여하지 않아, 전 세계적으로 저조한 선거 참여율이 문제가 되고 있다. 인터넷을 통한 전자 선거가 실현되면 지역적인 제한 없이 이 인터넷에 연결된 컴퓨터만 있다면 언제, 어디서나 선거에 참여할 수 있게 된다. 따라서 현재 문제가 되고 있는 저조한 선거 참여율을 어느 정도 해결할 수 있을 것으로 전망된다. 또한 투표와 개표하는 시간이 짧아지며 집계에 드는 시간과 비용도 절감된다.
전자 선거가 현재 사용되고 있는 선거방식을 대체 하기 위해서는 비밀성, 선거권 등과 같은 선거가 기본적으로 만족해야 하는 요구사항口을 모두 만족해야 하며, 선거를 전자적으로 구성하였을 때 생길 수 있는 문제젬'쉬들을 정확히 파악하고 해결해야 한다. 전자 선거가 실행되었을 때 문제가 될 수 있는 것 중 하나는 선거에 사용된 데이터가 변경되거나 삭제되는 것이다. 선거가 전자적으로 구성되면 모든 것이 디지털 정보 형태로 표현되고 통신망을 통해 전달된다. 이러한 경우 악의적인 외부 공격자나 선거관리자에 의해 선거에 사용된 데이터가 변경되거나 삭제될 수 있다. 또한 선거관리자가 고의로 유효한 표를 집계에서 누락시킬 수도 있다. 따라서 전자 선거 기법은 선거가 올바르게 진행되었는지를 확인할 수 있도록 검증절차(verifiability) 를 제공해야 한다. Sako 와 Kilian131은 Fujioka111 등이 정의한 검증을 개별검증(individual verifiability)과 전체검증(universal verifiablitiy)으로 세분화하였다. Fujioka 등이 정의한 검증은 개별검증으로 투표한 유권자만이 자신의 표가 집계에 포함되었는지를 확인할 수 있다. 전체검증에서는 누구나 개별 투표지의 유효성과 집계 결과의 유효성을 확인할 수 있다. 투명한 선거가 되기 위해서는 전자 선거 기법이 전체검증을 제공하여 부정선거에 대한 의혹이 발생하지 않도록 해야 한다.
선거를 전자적으로 구성할 때 생기는 또 다른 문제는 매표 행위 피이다. 현재의 선거방식은 밀폐된 투표소를 사용하므로 유권자가 어떤 후보자에게 투표하였는지 확인할 수 없어 표를 사고파는 것이 어렵다. 그러나 선거를 전자적으로 구성하면 선거에 사용된 모든 데이터를 유권자가 저장할 수 있고, 특정 후보자에게 투표했다는 증거를 남길 수 있다. 유권자는 이러한 증거를 구매자에게 제시하고 표를 팔 수 있으며, 구매자는 증거를 확인한 후 표를 살 수 있다. 매표행위를 방지하기 위해서는 유권자가 특정 후보자에게 투표했다는 증거를 남길 수 없거나 유권자가 증거를 남길 수 있어도 구매자가 증거를 통해 유권자가 특정 후보자에게 투표했는지 확신할 수 없어야 한다.
공정하고 투명한 전자 선거를 이루기 위해서 매표 방지와 전체검증은 반드시 제공되어야 하지만 두 가지 특성이 상반되는 의미를 지니고 있어 동시에 만족시키기는 어렵다. 지금까지 제안된 전자 선거 기법을 살펴보면 둘 중 한 가지 특성만을 제공하거나^ 두 가지 특성을 모두 제공하는 경우 계산량이 많아 실용적이지 못하다[3.7].
이 논문에서는 신뢰할 수 있는 제3자인 HR(Honest Randomizer)2]- 최소한의 물리적 가정인 일방향 도청 불가능한 채널(one-way untappable channel)을 이용하여 매표방지와 전체검증을 제공하는 효율적인 전자선거 기법을 제안한다. 선거가 시작되면 H球은 암호화된 투표지를 암호화하여 섞은 다음 공개적으로 유효함을 증명하고, 도청 불가능한 채널을 통해 지정된 확인자 증명 (designated verifier proof)으로 유권자에게 섞인 순서를 증명한다. 유권자는 투표하려는 후보자의 표를 선택하여 재 암호화한 후 게시판에 게시하고, 투표지의 유효함을 공개적으로 증명한다. 이 기법은 일방향 도청 불가능한 채널을 가정하는 기법 중에서 계산량이 가장 적으며, 기존의 전체검증과 매표방지를 제공하는 기법보다 약한 물리적 가정을 사용한다.
이 논문의 구성은 다음과 같다. 2장에서는 기존의 전자선거 기법의 특성과 문제점을 분석하고 3장에서는 제안 하는 전자 선거 기법에서 사용하는 기본 암호 프로토콜을 설명한다. 4장에서는 제안하는 전자 선거 기법을 서술하고, 5장에서는 이 기법의 안전성을 분석하고 기존 전자 선거 기법과 비교하여 장단점을 논의한다. 끝으로 6장에서는 결론과 향후 연구 방향에 대해 서술한다.
Ⅱ.관련 연구
전자 선거 기법은 Chaum回이 ”81년에 처음으로 제안한 이후 많은 발전을 거듭하여 오늘날까지 다양한 기법이 제안되었다. 지금까지 제안된 전자 선거 기법들은 접근 방법에 따라 크게 세 가지로 분류할 수 있다.
• 준동형 암호화를 이용한 전자 선거 기법[2,4,6,9,10,11]
• 믹스넷(mix-net)을 이용한 전자 선거 기법[3,7,8,12]
• 은닉 서명 (blind signature)을 이용한 전자 선거 기법[1,5,13,14]
Benaloh와 Tuinstra闵는 선거관리자와 유권자 사이의 비밀통신을 물리적으로 보장하는 선거 부스 (voting booth)와 준동형 암호화 기법을 이용하는 두 가지 전자 선거 기법을 제안하였다. 첫 번째 전자 선거 기법은 단일 선거관리자를 이용하여 매표방지를 제공하였지만 유권자의 투표내용이 노출되는 단점이 있다. 두 번째 프로토콜은 다중 선거관리자를 두어 유권자의 투표내용이 노출되는 것을 방지하였다. 그러나 유권자가 cut-and-choose 기법으로 투표지의 유 효성을 증명할 때, 임의의 문자열을 선택하여 해쉬한 값을 사용하면 매표행위가 가능해진다[7].
이병천과 김광조 回는 정직한 확인자(Honest Verifier, HV)라고 하는 신뢰할 수 있는 저〕3자를 이용하여 매표방지와 전체검증을 제공하는 전자 선거 기법을 제안 하였다. 이 전자 선거 기법에서 유권자는 자신이 구성한 첫 번째 투표지와 HV가 생성하는 임의의 쌍을 곱해서 최종 투표지를 구성하여 투표하게 된다. 유권자는 도청 불가능한 채널을 통해 HV에게 첫 번째 투표지를 전달하고, HV도 도청 불가능한 채널을 통해 임의의 쌍을 유권자에게 전달하기 때문에 유권자는 구매자에게 가짜 트랜스크립트를 제시할 수 있게 된다. 따라서 구매자는 유권자를 신뢰할 수 없게 되어, 매표행위를 방지할 수 있다. Hirt回는 HV가 임의의 쌍에 대해서 유효성을 증명할 때 유권자가 선택하는 임의의 도전 값을 특정 값으로 고정하면 유권자는 가짜 트랜스크립트를 생성할 수 없게 되어, 매표행위를 막을 수 없다는 것을 증명하였다. 그러나 HV가 유권자에게 임의의 쌍에 대해서 유효성을 증명할 때 일반적인 영지식 증명(zeroknowledge proof)를 이용하지 않고 지정된 확인자 증명으로 증명하면 매표행위를 방지할 수 있다.
Hirt는 이병천과 김광조의 기법을 확장한 새로운 전자 선거 기법을 제안하였다(句. 이 기법은 이병천과 김광조의 기법에서 이용한 HV와 비슷한 역할을 하는 신뢰할 수 있는 저)3자인 HR을 이용한다. 유권자는 투표지를 구성하여 도청 불가능한 채널을 통해 HR에게 투표지를 전달한다. 그러면 HRe 이것을 재 암호화하여 게시판에 게시하고 재 암호화가 올바르게 이루어졌다는 것을 도청 불가능한 채널을 통해 지정된 확인자 증명으로 유권자에게 증명한다. 유권자는 지정된 확인자 증명을 통해 투표지의 유효성 증명을 받았기 때문에 구매자에게 가짜 트랜스크립트를 제공할 수 있고, 구매자는 유권자를 신뢰할 수 없어 매표행위가 방지된다. 그러나 Hire가 제안한 전자 선거 기법은 전체검증을 제공하지 않는다.
Sako와 Kilian同은 믹스넷을 이용하여 처음으로 매표방지와 전체검증을 제공하는 전자 선거 기법을 제안하였다. 이 기법은 최소한의 물리적 가정인 일방향 도청 불가능한 채널을 가정한다. 그러나 믹스넷을 이용하여 유권자의 익명성을 보장하고 단일 표를 일일이 해독하여 집계하기 때문에 시간이 많이 걸리고 계산량이 많은 단점이 있다.
믹스넷을 이용하는 또 다른 전자 선거 기법으로는 Hirt와 Sak/71 가 제안한 기법이 있다. 선거가 시작되면 첫 번째 믹스서버는 암호화된 투표지들을 재 암호화하여 섞은 다음 두 번째 믹스서버에게 전달한다. 그런 다음 재 암호화한 투표지들의 유효성을 공개적으로 증명하고, 도청 불가능한 채널을 통해 지정된 확인자 증명으로 유권자에게 섞인 순서를 증명한다. 이러한 과정을 마지막 믹스서버까지 반복하게 되면, 최종적으로 재 암호화된 표가 어떤 후보자를 나타내고 있는지를 유권자만 알 수 있게 된다. 유권자는 마지막 믹스서버가 공개한 투표지 중 원하는 후보자의 표를 선택하여 게시판에 게시하여 투표를 한다. 선거 관리자가 지정된 확인자 증명을 통해 유권자에게 섞인 순서를 증명하기 때문에 유권자는 구매자에게 섞인 순서를 거짓으로 증명할 수 있다. 또한 재 암호화된 투표지의 유효성을 공개적으로 증명하기 때문에 선거가 올바르게 진행되었는지를 누구나 확인할 수 있다. 즉, 매표방지와 전체검증을 제공한다. 그러나 이 기법은 각각의 믹스서버(mix server)가 계산해야 하는 증명이 너무 많아 후보자가 여럿인 선거에는 적합하지 않다.
Okamoto[14]는 은닉 서명과 트랩도어 비트위임(trapdoor bitYommitment)을 이용하여 매표방지를 제공하는 전자선거 기법을 제안하였다. 그러나 이 기법은 유권자가 비트위임에 사용되는 개인 키를 모르는 상태에서 투표를 하면 매표행위가 가능해지는 단점이 있다. Okamoto同는 이 단점을 보안한 새로운 두가지 전자선거 기법을 제안하였다. 첫 번째 기법에서는 PRC (Parameter Registration Committee)를 가정하고, PRC를 통해 유권자가 개인 키를 알도록 한다. 두 번째 기법에서는 양방향 도청 불가능한 채널인 선거부스를 가정하고, 유권자가 개인 키를 알고 있다는 것을 선거 부스를 통해 선거관리자에게 증명한다. 그러나 Okamoto의 전자 선거 기법은 매표방지는 제공하지만 전체검증은 제공하지 않는다.
Ⅲ.기본 프로토콜
이 논문에 있는 모든 수학 연산은 군(group)의 위수(order)가 매우 큰 소수 q인 Gq군에서 이루어진다. 이 군은 먼저 큰 소수 p를 선택하고, p-1의 소인수 중 하나인 q를 선택하여 구성한다. Gq군은 곱셈 군 Zp의 부분 군(subgroup)으로 1을 제외한 모든 원소는 법 p에서 Gq군의 생성자가 된다. Gq의 생성자를 g 또는 gi 와 같이 g에 아래 첨자를 사용하여 표현한다. 이 논문에서 지수 요소와 관련된 연산은 법 q에서 이루어지고 나머지 군 연산은 모두 법 p에서 이루어진다. 이후, 논문에서는 법 p와 q에 대한 연산 표기를 생략한다.
3.1 Threshold EIGamal 암호 프로토콜
Threshold EIGamal 암호프로토콜에서는 개인 키 x∈Zq를 한 명이 소유하지 않고, "개의 비밀조각 (secret share) xi,i= 1,…,n로 나눈 다음 如명 의 참여자에게 분산한다. 암호화된 메시지를 해독하기 위해서는 K力명의 정직한 참여자가 협력해야 한다. Threshold EIGamal 암호 프로토콜은 키 생성 프로토 콜(key generation protocol), 암호 알고리즘, 해독 프로토콜(decryption protocol)로 구성된다[15]. 암호 알고리즘은 일반 EIGamal 암호 알고리즘[16]과 같다.
• 키 생성 프로토콜 : 참여자는 Pedersen이 제안한 키 생성 프로토콜[15]을 실행한다. 키 생성 프로토콜이 끝나면 n명의 참여자는 개인 키 x의 비밀조각 xi∈Zq,1≤i≤n를 소유하게 된다. 참여자는 xi를 고정하기 위해서 yi=gxr를 계산하고 공개한다. t≤n명 이상의 정직한 참여자 집합을 ∧라고 하면 다음 식에 의해서 개인 키 x를 재구성할 수 있다.
# , #
공개키 y=gx는 시스템의 모든 참여자에게 공개된다. t보다 적은 참여자만으로는 개인 키 X를 재구성할 수 없고, 개인 키 X는 계산적으로 보호된다.
• 해독 프로토콜 : 개인 키 x를 재구성하지 않고 암호문 (a,b)=(ga, yam)을 해독하기 위해서 참여자는 다음의 프로토콜을 실행한다.
1. 각각의 참여자는 wi=axi를 계산하여 다른 참여자들에게 브로드캐스트하고 다음을 영지식으로 증명한다.
2. 영지식 증명을 통과한 t≤n명의 참여자 집합을 ∧ 라고 하면, 다음과 같이 평문 m을 얻을 수 있다
#
3.2 준동형 암호화
ε은 확률적 암호화 기법이고, 군 Me 어떤 # 연산에 대해서 닫혀있는 메시지 공간이며, 군 C는 어떤 # 연산에 대해서 닫혀있는 암호문 공간이라 하자. ε의 모든 인스턴스 E에 대해 c1=Er1(m1)과 C2 = Er2(m2)가 주어졌을 때, 다음을 만족하는, r이 존재하면, ε을 (#,#) 준동형(homomorphic) 암호화 기법이라 한다.
#
EIGamal 암호화 알고리즘은 준동형 속성을 만족한다. 평문 m1을 암호화한 암호문이 (a1,b1)이고, 평문 m2를 암호화한 암호문이 (a2,b2)일 때, 평문 m1,m2를 암호화한 암호문은 (a1a2,b1b2)가 된다. 평문 m이 Zq군에 속하는 경우에는 고정된 생성자 g∈Gq를 이용하여 gm으로 만든 다음에 EIGamal 암호화를 할 수 있다. 이 경우에도 준동형 속성을 만족한다. 즉, 평문 m1을 암호화한 암호문이 (a1,b1)=(ga1,ya1gm1)이고, 평문m2를 암호화한 암호문이 (a2,b2)=(ga2,ya2gm2) 라고 할 때, 두 암호문(a1,b1)과 (a2,b2)를 곱한 것은 평문 m1 +m2를 암호화한 것과 같다.
3.3 K중 하나 암호화 증명
(X, Y)를 암호화한 암호문이 K개의 암호문 (X1,Y1),…,(Xk,Yk)중에 있다는 것을 암호화에 사용된 비밀 값을 밝히지 않으면서 증명하는 프로토콜은 [그림 1]과 같다[7] [그림 1]의 프로토콜에서 (X,Y)를 암호화한 암호문을 (Xi,Yi)라 가정하고, 암호화에 사용된 비밀 값을 β∈Zq라고 가정한다. 즉, (XiYi)=(gβX,yβY)가 된다.
[그림 1] K 중 하나 암호화 증명
1. 증명자는 임의로 d1,…,dk와 r1,…,rk를 선택하고, 다음을 계산하여 확인자에게 전송한다.
#
i=j인 경우를 제외한 모든 di와 ri는 고정된다. #이고, #이므로 비밀 값 β를 알고 있는 증명자는 나중에 di와 ri를 변경할 수 있다.
2. 확인자는 임의의 도전 값 c∈Zq를 선택하여 증명 자에게 전송한다.
3. 증명자는 c=d1+…+di+…+dk가 되도록 di를 d1로 변경하고, βdi+ri-βdj+rj가 되도록 ri를 rj로 변경한다. 그런 다음, d1,…,di…,dk와 r1,…,ri…,rk를 확인자에게 전송한다.
4. 확인자는 다음을 확인한다.
#
#
#
[그림 1]에 기술된 프로토콜은 도전과 응답을 통해 이루어지지만 Fiat 와 Shamir가 제안한 기법[17]을 이용하면 비상호작용 증명으로 변환할 수 있다.
1. 증명자는 상호작용 증명과 동일하게 a1와 bi를 계산한다.
2. 증명자는 도전 값 c=H(E∥a1∥…∥ak∥b1∥…∥bk)를 계산한다. 이때, E는 다음과 같다.
#
3. 계산한 도전 값 c에 맞게 d1,ri(i=1,…,K)를 변경하고, (d1,ri),…,(dk,rk)를 확인자에게 전송한다.
4. 확인자는 다음을 확인한다.
#
앞에서 설명한 프로토콜을 약간만 변형하면 K개의 (X1, Y1),…,(Xk,Yk) 중 하나인 (Xj,Yj)를 암호화한 암호문이 (XF,YF)라는 것을 증명하는 프로토콜로 바꿀 수 있다. 이 프로토콜은 [그림 2]와 같고 암호화에 사용된 비밀 값을 β∈Zq라고 가정한다. 즉, (XF,YF)0=(gβX1,yβYi)가 된다.
(그림 2) 변형된 K 중 하나 암호화 증명
이 프로토콜도 [그림 1]에 기술된 프로토콜과 마찬가지로 Fiat 와 Shamir가 제안한 기법을 이용하면 비상호작용 증명으로 변환할 수 있다.
3.4 지정된 확인자 증명
K개의 (Xi, Yi),i=1,…,K를 암호화하고 임의의 순서로 섞은 k개의 암호문(X'1, Y'1), …, (x’k,Y'k)가 있을 때 섞인 순서를 지정된 확인자만 알 수 있도록 증명하는 프로토콜은 [그림 3]과 같다[6]. 이 프로토콜에서 임의의 (Xi,Yi)를 암호화한 암호문을(X'i,Y'i) =(gβXi,yβYi) 라고 가정하고, 암호화에 사용된 비밀 값을 β∈Zq라고 가정한다. 확인자의 개인 키는 xΛ∈Zq이고, 공개키는 yv=gxv 이다. 증명자는 암호화에 사용되는 비밀 값 β를 밝히지 않으면서 (X'i,Y'i)가(Xi,Yi)를 암호화한 암호문이라는 것을 다음의 절차에 따라 지정된 확인자에게 증명한다.
[그림 3] 지정된 확인자 증명
1. 증명자는 임의로 w,s2,c2∈Zq를 선택하고 다음을 계산해서 확인자에게 전송한다.
#
이 경우 w,s2,c2는 고정된다. 그러나 개인 키 XV를 알고 있는 확인자는 S2-XvC2=S'2-XvC'2를 만족하는 S'2, C'2를 선택하여 원하는 대로 d를 공개할 수 있다.
2. 확인자는 임의의 도전 값 c∈Zq를 선택하여 증명자에게 전송한다.
3. 증명자는 C1=C—C2와 s1= w+βc1을 계산하고, C1, C2, S1, S2를 확인자에게 전송한다.
4. 확인자는 다음을 확인한다.
#
#
#
#)
증명자는 트랩도어 비트위임을 이용하여 섞인 순서를 증명한다. 개인 키 #3를 알고 있는 확인자만 증명의 유효성을 확인할 수 있다. 또한 개인 키 旳, 를 알고 있는 확인자는 증명을 자신이 원하는 형태로 바꾸어서 공개할 수 있다. 따라서 제3자는 확인자가 공개하는 증명을 신뢰할 수 없다. 공개키"를 개인 키 :"를 알고 있는 확인자는 암호문 (X, V)의 재암호문이 (x‘, r)이 아닌 임의의 암호문(文, P)라고 제3자에게 거짓으로 증명할 수 있다. 확인자는 임의로 瓦克芬丘乙를 선택하고 다음을 계산하여 (文, 戸)를 만족하는 가짜 트랜스크립트를 쉽게 만들 수 있다.
#
#
#
#
[그림 3]에 기술된 프로토콜은 도전과 응답을 통해 이루어지는 프로토콜이지만 도전 값 C를 다음과 같이 계산하여 사용하면 비상호작용 증명으로 바꿀 수 있다.
#
Ⅳ,제안하는 전자 선거 기법
이 장에서는 매표방지와 전체검증을 제공하는 전자 선거 기법을 제안한다. 이 기법은 신뢰할 수 있는 제3자인 HR과 일방향 도청 불가능한 채널을 가정한다.
4.1 시스템 모델
4.1.1 참여자
이 전자 선거 기법은 N명의 선거관리자 (&, ..., An), 乙 명의 유권자 ( 咯, 縻의 HR, 代의 후보자로 구성된다. 유권자는 한 명의 H依과의 상호작용을 통해 투표지를 구성하지만, 실패할 경우를 대비하여 "帰의 HR을 둔다. 특히, DOS(Denial Of Service) 공격에 대한 방어수단으로 사용한다. 선거가 진행되는 동안 정직한 상태로 남아있어야 하는 최소한의 선거관리자의 수는 / 명이다. 만일 / 명 이상의 부정한 선거관리자가 공모하면 암호해독 프로토콜을 실행하여 선거 중간에 부분적인 결과를 알 수 있게 된다.
4.1.2 통신모델
게시판. 선거에 사용되는 데이터를 저장하기 위해 게시판(bulletin board)이라고 하는 메모리를 가지는 공개 채널을 사용한다. 선거관리자와 유권자는 게시판상에 자신의 지정된 영역을 가지며, 이 영역에 메시지를 게시할 수 있다. 게시판에 게시된 메시지는 누구나 읽을 수 있지만 삭제할 수는 없다. 게시판에서 유권자의 영역은 [표 1]과 같이 4개로 나누어진다. 각 영역에 메시지를 게시하기 위해서는 안전한 인증 절차를 거쳐야 하며, 어떤 특정 영역에 메시지를 게시할 권한이 있는 참여자만이 그 영역에 메시지를 게시할 수 있다.
[표 1] 게시판상의 유권자의 지정된 영역
일방향 도청 불가능한 채널. 우리는 HR로부터 유권자로 가는 채널이 도청 불가능함을 가정한다. HR 만이 이 채널을 통해서 유권자에게 메시지를 보낼 수 있으며, 유권자를 제외한 누구도 어떤 메시지가 채널을 통해 전달되었는지 알 수 없어야 한다. 채널의 안전성은 물리적으로 보장되어야 한다.
4.2 시스템 설정
시스템을 설정하기 위해서 우선 q│p-1인 두 개의 매우 큰 소수 p와 q를 선택하여 Z'q의 부분군이 며 위수가 q인 Gq군을 설정하고, [표 2]와 같이 3개의 Gq군의 생성자를 임의로 선택한다. 각각의 선거 관리자는 threshold ElGamal 암호 프로토콜의 키 생성 프로토콜을 실행하여 개인 키 XA의 비밀조 각 Xi,i=1,…,N를 소유하고, #를 계산하고 공개하여 Xi를 고정한다. 선거 관리자가 공유하는 개인 키 XA에 대한 공개키는 #이다. 각각의 유권자도 개인 키와 공개키를 갖는다. 유권자의 개인 키 는xv이고, 공개키는 #이다.
[표 2] 시스템 설정을 위한 Gq군의 생성자
제안하는 전자 선거 기법은 이병천과 김광조[18]가 제안한 인코딩 방식을 이용한다. 이 인코딩 방식에서는 이 전체 유권자 수일 때, i,1≤i≤K 번째 후보자는 #로 표현된다. 선거가 시작되기 전에 선거관리자는 각 후보자 i=l,…,K를 나타내는 표를 #로 표현하여 공개한다. 누구나 각 후보자의 표가 유효한지 확인할 수 있다.
4.3 선거단계
유권자가 HR을 통해서 투표지를 구성하는 것은 크게 두 단계로 나누어진다. 먼저 HR이 선거관리자 가 공개한 각 후보자를 나타내는 표 #를 암호화하여 유권자에게 전달한다. 그러면 유권자는 HR에게서 받은 암호화된 표를 재 암호화하여 최종 투표지를 구성하여 투표하게 된다. 선거 단계에 대한 전체적인 구성은 [그림 4]와 같이 4단계로 이루어지고, 각 단계에 대한 자세한 설명은 다음과 같다.
[그림 4] 제안하는 전자 선거 기법의 선거단계
단계 1. 선거가 시작되면 유권자는 임의의 HR을 선택하고 투표하겠다는 의사를 밝힌다.
단계 2. HRe 임의의 ai,i=1,…,K를 선택하고, 선거관리자가 공개한 후보자의 표 #를 #로 암호화하고 임의로 섞은 다음, 게시판상에 있는 유권자의 암호화된 투표지 영역에 공개한다. HRe 모든 (Xi, Yi)를 빠짐없이 암호화하였고, 중복된 것이 없다는 것을 [그림 1]에 기술된 K 중 하나 암호화 증명을 K 번 수행하여 증명한다. 이 증명은 [그림 4]에나타난 것과 같이 게시판상에 있는 유권자의 암호화된 투표지의 유효성 증명 영역에 공개된다. 따라서 누구나 成이 올바르게 匕)를 암호화했는지 확인할 수 있다. [그림 1]에 기술된 프로토콜은 상호 작용 증명이지만 실제 HR이 이 프로토콜을 수행할 때는 비상호작용 증명으로 변환하여 수행한다.
단계 3. HRe [그림 3]에 기술된 지정된 확인자 증명을 통해서 유권자에게 암호화된 표들이 섞인 순서를 증명한다. 이 증명은 도청 불가능한 채널을 통해서 유권자에게 전달된다. 유권자는 이 증명을 통해서 어떤 (X'i,Y'i)이 어떤 (Xi,Yi)를 암호화하고 있는지 알 수 있게 된다. 채널의 특성상 유권자를 제외한 누구도 채널을 통해 무엇을 수신하였는지 알 수 없고, 지정된 확인자 증명의 특성상 개인 키 xv를 알고 있는 유권자만 HR로부터 받은 증명의 유효성을 확인할 수 있다. 개인 키 xv, 를 알고 있는 유권자는 증명을 여러가지 형태로 보일 수 있기 때문에 제3자는 유권자가 제시하는 증명을 신뢰할 수 없다. 이 증명도 각각의 (Xi,Yi)에 대해서 한 번씩 수행해야 하기 때문에 총 K을 수행해야 한다.
단계 4. 유권자는 임의의 β∈Zq를 선택하여 투표하려는 후보자의 투표지 (X'i,Y'i)를 #로 재 암호화하고 게시판상에 있는 유권자의 최종 투표지 영역에 게시한다. 게시된 최종 투표가 HR이 공개한 암호화된 투표지 (X'i,Y'i)중 하나를 선택하여 재 암호화하였다는 것을 [그림 2]에 기술된 프로토콜을 이용하여 증명한다. 이 증명은 게시판 상에 있는 유권자의 최종 투표지의 유효성 증명 영역에 게시된다. 따라서 누구나 유권자가 올바르게 투표하였다는 것을 확인해 볼 수 있어 전체 검증이 이루어진다.
4.4 집계단계
투표가 끝나면 지정된 선거관리자는 유효한 투표지를 모으고, 다음을 계산한다. 이때, /은 투표한 총 유권자의 수이다.
I#
모든 투표지가 게시판에 게시되기 때문에 누구나 (XT,YT)를 계산하여 선거관리자가 계산한 값이 올바른지 확인해 볼 수 있다. 선거관리자는 해독 프로토콜을 실행하여 #를 계산한다. 암호해독에 사용되는 개인 키 xA는 N명의 선거관리자가 나누어 가지고 있고, N명의 선거관리자 중 t명 이상이 협력해야만 (XT,YT)를 해독하여 M를 얻을 수 있다. 투표 결과를 집계할 때 개인 키 xA를 재구성하여 각각의 표를 해독하는 것이 아니라 #를 계산하여 결과를 한꺼번에 계산한다.
선거관리자가 협력하여 해독 프로토콜을 실행하면 다음의 결과를 얻을 수 있다.
#
이때 ri,(i=1,…,K)는 각 후보자 i가 얻은 득표수가 된다. 일반적으로 ri,(i=1,…,K)를 계산하는 것은 이산 대수 문제이고, 이것은 계산하기 어려운 문제이다. 그러나 Cramer[4] 등이 제안한 방법을 이용하면 #의 복잡도를 가지고 각 ri,(i=1,…,K)를 계산할 수 있다.
Ⅴ.성능 분석
5.1 안전성
가정 1 (게시판의 안전성). 인가된 유권자는 게시판상에 자신의 지정된 영역을 가지며, 이 영역은 [표 1] 과 같이 4개의 영역으로 다시 나누어진다. 각 영역에 메시지를 게시하기 위해서는 안전한 인증 절차를 거쳐야 하며, 어떤 특정 영역에 메시지를 게시할 권한이 있는 참여자만이 그 영역에 메시지를 게시할 수 있다. 누구나 게시판에 게시된 메시지를 읽을 수 있지만 누구도 삭제할 수 없다.
가정 2 ((t, N)-treshold ElGamal 암호 프로토콜의 안전성). 선거관리자는 안전한 키 생성 프로토콜을 실행하여 선거에 사용하는 개인 키 :队를 다른 선거관리자와 공유하며, 선거관리자가 / 명 이상 협력해야 암호문을 해독할 수 있다.
가정 3 (K 중 하나 암호화 증명의 안전성). [그림 1] 에 기술된 증명에서 (X, Y) 암호문이 K개의 암호문 (X1,Y1),…,(Xk,Yk) 중에 없을 때 거짓으로 증명하는 것은 계산적으로 어렵다. 마찬가지로 [그림 2]에 기술된 증명에서 (XF,YF)가 K개의 (X1,Y1),…,(Xk,Yk)중 하나를 암호화한 것이 아닐 때, 거짓으로 증명하는 것은 계산적으로 어렵다. 정직하게 수행되었을 때, 확인자가 두 증명에서 특정 관계를 알 확률은 1/K이다.
가정 4 (지정된 확인자 증명의 안전성) [그림 3]에 기술된 증명에서 증명자가 지정된 확인자에게 섞인 순서를 거짓으로 증명하는 것은 계산적으로 어렵다.
정리 1 (비밀성). t명 이상의 선거관리자가 공모하지 않는 이상 누구도 유권자의 투표 내용을 알 수 없다.
증명. ElGamal 암호 알고리즘의 안전성과 가정 2에 의해서 t명 이상의 선거관리자가 공모하지 않는 이상 누구도 유권자의 투표지를 해독할 수 없다. 또한 HRe 가정 4에 의해서 유권자에게 섞인 순서를 거짓으로 증명할 수 없고, 유권자가 어떤 표를 재 암호화했는지 알 수 없다. 가정 3에 의해 HR도 유권자의 투표 내용을 알 수 없다.
정리 2 (완전성(completeness)). 모든 유효한 투표지는 정확하게 집계된다.
증명. 가정 3에 의해서 HRe [그림 1]에 기술된 증명을 거짓으로 통과할 수 없고, 암호화한 투표지의 유효성을 공개적으로 증명하기 때문에 누구나 유효성을 확인해 볼 수 있다. 마찬가지로 유권자도 [그림 2] 에 기술된 증명을 거짓으로 통과할 수 없고, 재 암호화한 투표지의 유효성을 공개적으로 증명하기 때문에 누구나 최종 투표지가 올바르게 구성되었는지 확인해 볼 수 있다. 최종 투표지는 모두 게시판에 게시되고, 가정 1에 의해 누구도 게시된 메시지를 지울 수 없기 때문에 선거관리자가 계산한 #를 누구나 계산해서 올바른지 확인해 볼 수 있다. 선거관리자는 해독 프로토콜을 실행하여 계산한 # 을 이용하여 # 가 올바른지 계산해 볼 수 있다. 따라서 모든 유효한 투표지는 올바르게 집계된다.
정리 3 (선거권). 인가된 유권자만이 선거에 참여할 수 있다.
증명. 가정 1에 의해서 선거에 참여하는 유권자는 게시판상에 자신의 지정된 영역을 가지고 있고, 안전한 인증 절차를 거쳐야만 이 영역에 투표지를 게시 할 수 있다. 따라서 인가된 유권자만이 선거에 참여 할 수 있다.
정리 4 (이중투표 방지(unreusability)). 모든 유권자는 한 표만 투표할 수 있다.
증명. 가정 1에 의해서 유권자는 게시판상에 자신의 지정된 영역을 제외한 다른 영역에 투표지를 게시할 수 없으므로 유권자는 단지 한 표만 투표할 수 있다.
정리 5 (견실성(soundness)). 정직하지 않은 유권자가 선거를 방해할 수 없다.
증명. 정리 3과 4에 의해서 인가된 유권자만이 투표에 참여할 수 있고, 한 표만 투표할 수 있다. 또한 가정 3에 의해서 올바르지 않은 투표지를 구성한 유권자가 [그림 2]의 증명을 성공적으로 통과하는 것은 계산적으로 어렵다. 따라서 정직하지 않은 유권자가 선거를 방해할 수 없다.
정리 6 (공정성(fairness)), t 명 이상의 선거관리자가 공모하지 않는 이상 투표 중에 부분적인 투표 결과를 알 수 없다.
증명. 가정 2에 의해서 厂경 이상의 선거관리자가 협동해야만 해독 프로토콜을 진행하여 투표 결과를 얻을 수 있다.
정리 7 (표의 복사 가능성(vote duplication)). 유권자는 게시판상에 게시되어 있는 다른 유권자의 표를 복사하여 투표할 수 없다.
증명. 유권자는 다른 유권자의 최종 투표지와 유효성 증명을 복사하여 자신의 게시판에 게시할 수 있다. 그러나 유권자는 가정 1에 의해서 HR이 유권자의 암호화된 투표지 영역과 암호화된 투표지의 유효성 증명 영역에 게시하는 메시지를 복사하여 게시할 수 없다.
정리 8 (매표방지(receipt-freeness)). 구매자나 유권자가 HR과 공모하지 않는 이상 매표행위를 할 수 없다.
증명. 유권자는 HR이 암호화에 사용한 비밀 값 ai,1≤i≤K를 알지 못하기 때문에 구매자에게 #를 직접적으로 증명할 수 없다. HRe 도청 불가능한 채널을 통해 지정된 확인자 증명으로 암호화된 투표지가 섞인 순서를 유권자에게 증명한다. 채널의 안전성이 물리적으로 보장되기 때문에 구매자는 이러한 증명을 관찰할 수 없다. 따라서 구매자는 유권자에게 도청 불가능한 채널을 통해서 수신한 증명과 유권자가 재 암호화한 투표지의 증명을 요구해야 한다. 그러나 개인 키 任3를 알고 있는 유권자는 3.4절과 같이 섞인 순서를 거짓으로 증명할 수 있고, 자신이 투표한 것과 전혀 다른 것을 투표한 것처럼 증명할 수 있다. 결국 구매자는 유권자를 신뢰할 수 없어 매표행위가 이루어지지 않는다.
정리 9 (전체검증(universal verifiability)). 제안하는 기법은 전체검증을 제공한다.
증명. HRe 선거관리자가 공개한 초기 투표지를 암호화하고, 유효성 증명을 유권자의 게시판상에 있는 유권자의 암호화된 투표지의 유효성 증명 영역에 공개한다. 가정 3에 의해서 이 증명을 거짓으로 생성하는 것은 계산적으로 어렵다. 유권자는 HR이 암호화한 투표지를 재 암호화한 후 유효성 증명을 게시판상에 있는 유권자의 최종 투표지의 유효성 증명 영역에 공개한다. 이 증명 또한 가정 3에 의해서 거짓으로 생성하는 것은 계산적으로 어렵다. 가정 1에 의해 게시판상에 공개된 모든 메시지는 누구나 읽을 수 있으므로, HR과 유권자가 공개한 증명은 누구나 확인해 볼 수 있다. 따라서 유효하지 않은 투표지가 집계에 반영될 수 없으며, 집계과정의 특성상 누구나 집계 결과의 정확성을 알 수 있다.
5.2 다른 전자 선거 기법과 비교
신뢰할 수 있는 제3자를 이용한 전자 선거 기법을 이병천과 김광조가 제안하였지만, 그들의 기법이 매표방지를 제공하지 못한다는 것을 Hir酉가 증명하였다. 그러나 이병천과 김광조가 제안한 기법에서 HV 가 유권자에게 임의의 쌍에 대한 유효성을 증명할 때 일반 영지식 증명 대신 지정된 확인자 증명을 사용하면 매표방지를 제공할 수 있다. 이 기법은 유권자가 초기 투표지를 구성하고 유효성을 증명하기 위해서 1번의 K 중 하나 암호화 증명이 필요하고, HV 가 전체검증을 위해 공개하는 정보의 유효성을 증명하기 위해서 또 1번의 K 중 하나 암호화 증명이 필요하다. 또한 H秒가 임의의 쌍에 대한 유효성을 유권자에게 증명할 때, 1번의 영지식 증명 또는 1번의 지정된 확인자 증명이 필요하다. Hirt는 기존의 방법보다 적은 계산량으로 매표방지를 제공하는 전자선거 기법을 제안하였지만 전체검증을 제공하지 않는다. 이 기법에서는 유권자가 구성한 초기 투표지의 유효성을 증명하기 위해서 1번의 X 중 하나 암호화 증명이 필요하다. 그리고 HR이 암호화한 투표지의 유효성을 증명하기 위해서 1번의 지정된 확인자 증명이 필요하게 된다. 이병천과 김광조의 기법과 Hirt 의 기법은 이 논문에서 제안하는 기법보다 계산량이 적지만 물리적 가정이 양방향 도청 불가능한 채널이라는 단점이 있다.
Hirt와 Sako의 기법은 일방향 도청 불가능한 채널과 믹스넷을 이용하여 매표방지와 전체검증을 제공한다. 한 명의 유권자가 투표하기 위해서는 최대 N개의 믹스서버가 유권자와 통신해야 한다. 각각의 믹스서버 는 이전 믹스서버에게 받은 투표지를 올바르게 재 암호화했다는 것을 증명하기 위해 K 번의 K 중 하나 암호화 증명을 실행한다. 또한, 섞인 순서를 유권자에게 알려주기 위해서 K 번의 지정된 확인자 증명을 실행한다. 이 기법은 믹스서버가 계산해야 하는 증명이 많아 다수 후보자 선거에 적합하지 않다.
이 논문에서 제안하는 전자 선거 기법은 신뢰할 수 있는 제3자와 일방향 도청 불가능한 채널을 가정하고 있다. HR이 초기 투표지를 암호화하고 섞은 다음, 유효성을 증명하기 위해서 K 번의 K 중 하나 암호화 증명을 실행한다. 이 증명은 전체검증을 제공하기 위해서 실행하는 것이기 때문에 유권자가 확인할 필요가 없다. 또한 HRe 섞인 순서를 유권자에게 증명하기 위해서 K 번의 지정된 확인자 증명을 실행한다. HR이 K개의 비상호작용 증명을 도청 불가능한 채널을 통해 유권자에게 보내지만 유권자는 K개의 증명을 모두 확인할 필요는 없다. 단지 유권자는 투표하려는 후보자의 표가 올바르게 구성되었는지 확인하면 된다. 유권자는 HR이 공개한 암호화한 투표지 중 하나를 선택하여 재 암호화하고 유효성을 증명하기 위해 1번의 K 하나 암호화 증명을 실행한다.
이 논문에서 제안하는 기법은 신뢰할 수 있는 제3 자를 가정하는 다른 기법과 비교하였을 때는 계산량은 많지만 보다 약한 물리적 채널을 가정하고 있고, 동일한 일방향 도청 불가능한 채널을 가정하는 기법들 중에서는 계산량이 가장 적다. [표 3]은 이병천과 김광조의 기법, Hirt의 기법, Hirt와 Sako의 기법과 제안하는 기법을 비교한 표이다.
[표 3] 전자 선거 기법 비교
Ⅵ.결론
전자 선거의 최종 목표는 현재 사용되고 있는 선거방식을 대체하는 것이다. 따라서 비밀성, 선거권 등과 같은 선거가 기본적으로 만족해야 하는 요구사항들을 모두 만족해야 하며, 선거를 전자적으로 구성하였을 때 생길 수 있는 매표행위를 방지하고, 선거가 올바르게 진행되었다는 것을 누구나 확인할 수 있도록 전체검증을 제공해야 한다. 그러나 지금까지 제안된 전자 선거 기법들은 매표방지나 전체검증 중 하나만을 제공하거나 둘 다 제공하더라도 계산량이 많아 실용적이지 못했다. 이 논문에서는 선거 시스템이 기본적으로 만족해야 하는 요구사항을 모두 충족시키면서, 전자 선거를 구성할 때 문제가 되는 매표행위를 방지하고 전체검증까지 제공하는 전자 선거 기법을 제안하였다. 이 기법에서는 신뢰할 수 있는 제3자인 HR과 최소한의 물리적 가정인 일방향 도청 불가능한 채널을 가정하고, 준동형 암호화 기법을 이용한다. 이 기법은 매표방지와 전체검증을 제공하는 기존 기법들과 비교하였을 때 가장 약한 가정을 사용하며, 같은 물리적 가정을 사용하는 기법 중에서는 계산량이 가장 적다.
인터넷을 이용한 전자 선거가 실행된다면 일반가정에서 웹 TV나 컴퓨터를 이용하여 쉽고 편하게 선거에 참여할 수 있다. 그러나, 현재까지 제안된 전자선거 기법들은 매표방지를 제공하기 위해서 물리적으로 안전성이 보장되는 채널을 가정하고 있다. 이러한 경우 현재의 선거방식과 마찬가지로 일정 장소에 투표소를 설치하고 유권자는 투표소까지 가서 투표해야 하는 불편함이 있다. 따라서, 향후 인터넷과 같이 안전성이 보장되지 않은 공개 채널을 이용하여도 매표행위를 방지할 수 있는 방법에 대한 연구가 필요하다.
References
- Advances in Cryptology, AUSCRYPT '92, LNCS 718 A Practical Secret Voting Scheme for Large Scale Eletions A.Fujioka;T.Okamoto;K.Ohta
- Proc. of the 26th ACM Symp. on Theory of Computing Receipt-free Secret-ballot Elections J.Benaloh;D.Tuinstra
- Advances in Cryptology, Eurocrypt '95, LNCS 921 Receipt-free Mix-Type Voting Scheme: A Practical Solution to the Implementation of a Voting Booth K.Sako;J.Kilian
- Advances in Cryptology, Eurocrypt '97, LNCS 1233 A Secure and Optimally Efficient Multi-Authority Election Scheme R.Cramer;R.Gennaro;B.Schoenmakers
- Proc. of Workshop on Security Protocols '97, LNCS 1361 Receipt-Free Electronic Voting Schemes for Large Scale Elections T.Okamoto
- Presentated at the Workshop on Trustworthy Elections Receipt-free Voting with Randomizers M.Hirt
- Advances in Cryptology, Eurocrypt '00, LNCS 1807 Efficient Receipt-Free Voting Based on Homomorphic M.Hirt;K.Sako
- Communications of the ACM Untraceable Electronic Mail, Return Address, and Digital Pseudonyms D.Chuam
- Proc. of the 26th IEEE Symp. on the Foundations of Computer Science A Robust and Verifiable Cryptographically Secure Election Scheme J.D.Cohen;M.J.Fischer
- Advances in Cryptology, Eurocrypt '96, LNCS 1070 Multi-Authority Secret-Ballot Elections with Linear Work R.Cramer;M.K.Franklin;B.Schoenmakers;M.Yung
- Proc. of the JWISC 2000 Receipt-free Electronic Voting through Collaboration of Voter and Honest Verifier B.Lee;K.Kim
- Advances in Cryptology, Eurocrypt '98, LNCS 1403 A Practical Mix M.Jakobsson
- IEICE Trans. on Fundamentals v.E77-A no.1 Electronic Voting Schemes allowing Open Objection to the Tally K.Sako
- Proc. of IFIP '96, Advanced IT Tools An Electronic Voting Scheme T.Okamoto
- Advances in Cryprtology, Eurocrypt '91, LNCS 547 A Threshold Cryptosystem without a Trusted Party T.P.Pedersen
- Advances in Cryptology, Crypto '84, LNCS 196 A Public Key Cryptosystem and a Signature Scheme based on Discret Logarithms T.ElGamal
- Advances in Cryptology, Crypto '86, LNCS 263 How To Prove Yourself: Practical Solutions to Identification and Signature problems A.Fiat;A.Shamir
- Pre-Proc. of ICISC2002 Receipt-free electronic voting scheme with a tamper-resistant randomizer B.Lee;K.Kim