KR20010091742A - 안전한 전자 투표 시스템 - Google Patents

안전한 전자 투표 시스템 Download PDF

Info

Publication number
KR20010091742A
KR20010091742A KR1020000013743A KR20000013743A KR20010091742A KR 20010091742 A KR20010091742 A KR 20010091742A KR 1020000013743 A KR1020000013743 A KR 1020000013743A KR 20000013743 A KR20000013743 A KR 20000013743A KR 20010091742 A KR20010091742 A KR 20010091742A
Authority
KR
South Korea
Prior art keywords
voter
nec
voting
polling place
signature
Prior art date
Application number
KR1020000013743A
Other languages
English (en)
Other versions
KR100362603B1 (ko
Inventor
이임영
박희운
Original Assignee
이임영
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 이임영 filed Critical 이임영
Priority to KR1020000013743A priority Critical patent/KR100362603B1/ko
Publication of KR20010091742A publication Critical patent/KR20010091742A/ko
Application granted granted Critical
Publication of KR100362603B1 publication Critical patent/KR100362603B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/26Government or public services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C13/00Voting apparatus

Landscapes

  • Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Development Economics (AREA)
  • Educational Administration (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

본 발명은 투표 과정에서 발생 가능한 부정을 방지할 수 있도록 암호화 프로토콜을 사용한 전자 투표 시스템에 관한 것으로서, 각 투표인이 개별 세션 ID를 생성하여 투표인 정보를 등록하는 제 1 과정과, 상기 제 1 과정에 의해 등록된 정보를 확인하고 전자 투표를 수행하는 제 2 과정과, 상기 제 2 과정에 의한 투표 정보를 선거관리위원회(이하 "선관위"라 함) 및 투표소에서 확인하고 집계하는 제 3 과정과, 상기 제 3 과정에 따른 집계결과를 공표하는 제 4 과정을 포함하여 이루어진다.

Description

안전한 전자 투표 시스템{Secure Electronic Voting System}
본 발명은 전자 투표 시스템에 관한 것으로서, 보다 상세하게는 투표 과정에서 발생 가능한 부정을 방지할 수 있도록 암호화 프로토콜을 사용한 전자 투표 시스템에 관한 것이다.
현행 투표 방식은 도 1에 나타난 바와 같이 이루어지고 있다. 지방자치단체에 의해 생성된 투표인 명부와 선거관리위원회에 의해 제작된 투표용지가 투표소에 제공되고(A, B), 선관위에서는 투표 안내문을 각 투표자에게 발송한다(C). 투표일이 되면 투표인은 자신의 신분증을 가지고 투표소에 가서 자신이 유효 투표권자임을 확인한다. 이후, 소정 절차에 따라 투표를 행하고 이를 투표함에 넣는다(D). 투표 마감 시각이 되면 각 투표소에서 투표함을 개표소로 이동하여 집계하여 결과를 발표하게 된다(E). 이러한 유형의 투표는 투표인이 투표소에서 직접 투표를 수행해야 한다는 전제 조건을 가지고 있다. 이것은 투표인 명부가 하나로 갖추어져 있어서 이를 복수화 할 경우 이중 투표를 막을 방법이 없기 때문에 만들어진 하나의 방편이다. 따라서, 날씨가 안 좋은 경우나 개인적으로 급한 용무가 생겨 자신의 선거구 외의 장소로 이동해야 할 경우에 현행의 투표 방식은 매우 번거로운 일로 취급되었던 것이 사실이다. 그러나, 인터넷과 같은 개방형 네트워크가 급속도로 발전함에 따라 투표를 전자화 하여 적용시킬 수 있다면 현행 투표시스템이 가지고 있는 불편함을 해결할 수 있다. 즉, 장소나 날씨에 구애받을 필요 없이 투표가 가능하므로 번거로움이 개선될 수 있고, 투표의 투·개표 작업이 전자화 되므로 시간 및 비용 측면에서 매우 효율적인 방안이라 할 수 있다.
이러한 전자투표 방안은 여러 형태로 대두되고 있다. 일반적인 전자투표의 진행은 도 2에서 나타난 바와 같이 이루어진다. 지방자치단체에서 선관위로 선거인 명부를 전송하는 과정(S1)과, 선관위에서 투표자에게 안내문을 발송하는 과정(S2)과, 각 투표자의 인증 및 투표 과정(S3)과, 전자 투표소에서 투표 결과를 집계하여 선관위로 투표결과를 전송하는 과정(S4)과, 선관위에서 공개 데이터베이스에 투표결과를 발표하는 과정(S5)으로 이루어진다.
투표인과 투표 값의 상호연관성이 노출될 경우 비밀 투표성이 보장되기가 힘들다. 이러한 특성을 통해 사용자는 투표 매매로부터 안전성을 유지하기가 힘들게 된다. 이를 방지하기 위해 은닉 서명(Blind Signature)이라는 새로운 방법이 제시된 이후로 여러 가지 형태의 방식들이 제시되고 있다. 전자 투표에서 사용되는 은닉 서명 방식은 크게 RSA 방식에 근거한 기법과 이산대수 문제를 이용하는 ElGamal 방식에 근거한 기법으로 나누어 볼 수가 있다. 또한 이들은 메시지 복원형 방식을 취하고 있다. 이것은 선관위 및 투표소에서 서명을 받으려는 데이터 자체가 투표인의 식별자로서 투표 당일 자신의 투표권 유·무를 확인시키는데 중요한 수단이 되기 때문에 투표인 인증시 부가형을 사용하지 못하고 복원형을 사용하게 된다.
D. Chaum은 RSA암호를 근간으로 상대 메시지 내용을 비밀로 하고 서명을 붙이는 은닉 서명 방식을 제안하였다. 예를 들어 A가 B에게 m이라는 메시지에 서명하고 싶으나, m을 알리고 싶지 않을 때 은닉 서명을 사용하면 A는 B의 m에 대한 서명문을 얻을 수 있다.
이러한 내용 은닉 서명의 기본적인 요구조건은 다음과 같다.
·메시지 내용은 서명자에게 노출되지 않아야 한다.
·메시지와 서명문이 노출된 이후라도 메시지와 서명을 받은 사람과의 관계가 추적 불가능하여야 한다.
이와 같은 조건을 만족하는 RSA암호를 이용한 내용 은닉 서명은 다음과 같다. 먼저 A가 B에게 메시지 m을 은닉한 채 서명을 받고 싶다고 하고, B의 공개키를(e, n), 비밀키를 (d, n)이라고 하자.
(1) A는 난수 R을 생성하여 B에게 C = mremod n을 계산하여 보낸다.
(2) B는 수신한 C에 대한 서명문 Cd= (mre)dmod n을 계산하여 A에게 제시한다.
(3) A는 S = Cd/ r = mdred/ r = mdmod n을 계산하여 B의 메시지 m에 대한 서명문으로 S를 얻게된다.
이 경우 B는 서명을 해주는 기관으로 전자 투표인 경우 선관위가 된다. 또한 이 서명이 내용 은닉 서명이 되는 이유는 서명자가 메시지를 암호화하여 B에게 전송하므로 B가 서명의 내용을 알지 못한 체 서명문을 발생하기 때문이다.
한편, (k, n)-Threshold Secret Sharing 기법은 n명의 참여자들에게 비밀에 관한 부분 정보를 분배하는 신뢰성 있는 분배자와 나머지 n명의 참여자간에 수행된다. 여기서는 k보다 작은 참여자들의 그룹은 비밀에 관한 어떠한 정보도 얻을 수 없지만 적어도 k 참여자들의 그룹은 다항식 내의 비밀을 계산할 수 있다.
예를 들어 M을 재구성하는데 3명의 참여자가 필요한 k=3인 (3,n)-threshold 기법을 원한다면, k-1 차수인 2차 다항식을 생성한다.
F(x) = (ax2+ bx + M) mod p
여기서 p는 다른 계수보다 큰 랜덤 소수이다. 계수 a와 b는 랜덤하게 선택되어진다. 계수 a와 b는 분배 과정 동안만 비밀스럽게 유지되고 있다가 각 참여자의 부분 비밀인 shadow가 분배된 후 버려진다. M은 메시지이고, 소수 p는 공개된다. shadow는 아래와 같이 n개의 다른 점들에서 다항식 값을 구함으로서 얻어진다.
ki= F(xi)
첫 번째 shadow인 k1은 상기 다항식에 x=1을 대입한 결과 값이고, 두 번째는 x=2인 값을 대입한 결과 값이다. 2차 다항식은 3개의 미지 계수 a, b, M을 갖기 때문에 3개의 shadow를 이용하면 3개의 미지 계수들을 결정할 수 있다.
다음은 현재까지의 국내·외 전자 투표 연구 현황에 대해 간략히 기술하기로 한다. 1985년 일본의 Koyama는 RSA 공개키 암호를 이용한 안전한 무기명 투표 방식을 제안하였다. 그러나 이 방식은 선관위에 의해서나 혹은 선관위와 제 3자의 결탁으로 인한 부정행위를 방지할 수 없다.
1986년 Cohen과 Benaloh는 r차 잉여 암호계에 있어서 각각 대화형 영지식 증명 혹은 Secret Sharing을 응용하여 유권자의 프라이버시를 보호하는 투표 방식을 제안하고 있으나, Cohen의 방식은 부정 검출을 위해 통신 량이 많은 반면, Benaloh의 방식은 센터와의 통신 량이 보다 적은 장점을 갖고 있다. Benaloh의 방식을 개선한 전자 투표 프로토콜로서 1990년 Sakai, Murakami 등에 의해 제안된 방식을 들 수 있으며, 이는 Secret Sharing에 의한 투표 내용의 보호 방식에 있어서 보다 효과적으로 부정을 감시하는 것이 가능한 방식이다.
D. Chaum등은 한사람의 위원만으로 은닉 서명을 사용하여 무기명성을 보증하는 투표 방식을 제안하였으나, 유권자의 공평성을 제공할 수는 없었다. 그후 Asano 등은 통신에 있어서 은닉 서명에 의해 게시판을 이용함으로서 유권자의 공평성까지 만족하는 방식을 제안하였다.
1993년에 제안된 박춘식 방식은 익명 통신로를 그 전제로 하고 있다. 즉 투표가 잘못되었을 경우 모든 투표인이 알 수 있도록 구성함으로서 선관위들의 부정을 방지하려 하고 있다. 그러나 선관위가 반수 이상 부정을 저지를 경우 부정을 확인할 방법이 없으며 제 3자와의 결탁을 통해 투표 미등록자의 투표권을 행사할 가능성이 있기 때문에 완벽한 안전성을 확보했다고는 말할 수 없다. 또한, 1994년에 제안된 Sako 방식은 partially compatible homomorphism을 이용해 효율적인 MIX형 전자 투표 방식을 제안했다.
1996년에 Niemi-Renvall은 투표의 매매 가능성을 지적하고, 이에 대한 대책을 제안하였다. 즉, 투표 결과 공개 시 나타내는 각 투표인의 식별자를 생성할 때 위원회의 비밀 값을 결합해 생성함으로서 결코 제 3자에게 투표인이 자신의 식별자임을 증명 못하게 하는 방식을 제안했다. 그러나, 이 방식은 투표인이 투표 결과를 확인하지 못한 상태에서 식별자를 요구 당할 경우 아무런 대책이 없다는 문제점을 안고 있다.
그 외에 CFSY(Cramer -Franklin -Schoenmaker -Yung) 방식은 공개 보드 방식을 통하여 공평성을 확보하고 있으며, 비밀 채널 방식을 도입하여 제 3자의 도청 및 변조를 막을 수 있도록 하고 있다. 동시에 비밀성을 유지함으로서 투표인을 제외한 어느 누구의 단합에 대해서도 안전성을 가지고 있는 방식이다. 그러나, 투표매매자 대리 투표가 가능함으로서 완전한 투표 매매 방지가 불가능하며, 시스템 전체의 안전성이 선관위에 의존하기 때문에 투표 미등록자에 대한 부정 방지책이 없는 실정이다.
전술한 바와 같은 종래의 전자 투표 방식들은 투표 매매 방지, 유권자 비밀성 보장, 및 선관위 부정 방지에 있어서 문제점이 있다.
본 발명은 기존 투표 방식에서 문제점으로 지적되고 있는 투표 및 개표에 소요되는 인력, 시간 및 비용을 절감하고 투표인에게 안전성과 편리성을 제공하는 개방형 통신망 전자 투표 시스템 프로토콜을 제공하는 것을 목적으로 한다.
본 발명의 다른 목적은 투표 매매와 선관위의 부정을 방지할 수 있는 전자투표 시스템을 제공하는 것이다.
본 발명의 또 다른 목적은 투표인의 비밀을 보장할 수 있는 전자투표 시스템을 제공하는 것이다.
이러한 목적들을 달성하기 위한 본 발명은 각 투표인이 타인과 식별될 수 있도록 은닉 서명을 통해 개별 세션 ID를 생성하여 투표인 정보를 등록하는 제 1 과정과, 상기 제 1 과정에 의해 등록된 정보를 확인하고 전자 투표를 수행하는 제 2 과정과, 상기 제 2 과정에 의한 투표 정보를 선관위 및 투표소에서 확인하고 집계하는 제 3 과정과, 상기 제 3 과정에 따른 집계결과를 공표하는 제 4 과정을 포함하여 이루어지는 것을 특징으로 한다.
본 발명에 따른 전자투표시스템의 세부적 특징으로는 투표단계 및 확인단계와 공표단계에서 일반모드와 투표 매매에 대한 방지를 위한 보안모드로 구분되어 이루어질 수 있는 점이다.
도 1은 종래의 일반적인 선거 방식을 간단히 나타낸 구성도,
도 2는 일반적인 전자 투표 시스템의 운용 예시도,
도 3은 본 발명에 따른 전자 투표 시스템의 운용 절차를 나타낸 흐름도,
도 4는 도 3의 등록 진행 절차를 상세히 나타낸 예시도,
도 5는 도 3의 투표 진행 절차를 상세히 나타낸 흐름도,
도 6은 도 3의 확인 절차를 상세히 나타낸 흐름도이다.
이하, 첨부된 도면을 참조로 본 발명을 설명한다. 먼저 본 발명에 의해 구현될 수 있는 전자투표 시스템의 요구사항을 살펴보기로 한다.
첫째, 일반적으로 요구되는 사항
① 비밀성: 투표인과 투표 내용의 대응은 당사자만이 안다.
② 투표권의 단일성: 한 명의 투표인은 단 한번의 투표권만 가진다.
③ 투표권 인증: 투표권이 있는 사람만이 투표를 수행할 수 있다.
④ 공평성: 누구도 다른 사람의 투표 결과를 통해 자신의 투표결과를 결정할 수 없다.
⑤ 위조 불가능성: 제 3자에 의한 투표 결과의 변경은 불가능하다.
⑥ 정확성: 투표 결과의 집계는 정확해야 한다.
둘째, 전자 투표 매매 방지를 위한 요구 사항
① 투표인은 자신의 투표 결과를 확인할 수 있어야 한다.
② 제 3자는 투표인의 도움 없이는 결코 투표 결과를 확인할 수 없다.
③ 선관위에서는 투표인과 투표내용을 대응시킬 수 없다.
④ 선관위는 독립적이며, 투표에 관련된 어떠한 부정도 저질러서는 안 된다.
도 3은 본 발명의 전체적인 흐름을 나타낸 흐름도이다. 투표인이 등록과정을 통해 선관위 및 투표소로부터 자신을 인증하는 등록 단계(S10)와, 투표소에서 유효 투표권자임을 확인하고 투표를 수행하는 투표 단계(S20), 선관위 및 투표소에서 각 투표자로부터 제공된 정보를 통해 결과를 확인하는 확인단계(S30), 확인단계 절차를 거쳐 집계된 투표 결과를 공표하는 공표단계(S40)로 이루어진다.
본 발명에서는 일인당 투표 공란을 두 개 만들고 안전한 해쉬함수 및 공개키 암호화 기법을 적용해 매매자에게 투표인 자신의 식별자와 투표 결과 모두를 알려 준다 하여도, 투표인이 어떤 공란에 투표를 하였는지 모르게 함으로써 투표 매매를 방지할 수 있으며, 투표소의 기능을 강화하여 선관위가 집계할 때 저지를 수 있는 부정을 감시하도록 함으로서 선관위의 부정을 방지한다.
본 발명에서 표기되는 기호들은 다음과 같이 정의한다.
·ri1, ri2: 은닉 서명 비밀 계수들 (ri1* ri1' = 1 mod n, ri2* ri2' = 1 mod n)
·A1, A2, ... An: 선관위
·Vi: 투표인 i (i = 1, 2, ..., n)
·As, Ap: 선관위의 비밀키와 공개키
·Asj, Av: 선관위의 투표 확인용 분배 비밀 키들과 공개키(Secret Sharing사용, j = 1, 2, ..., k)
· Gs, Gp: 투표소의 비밀키와 공개키
· vi1, vi2: 투표인이 선택 가능한 두 개의 투표값 (집계 시에는 둘 중에 하나만이 등록된다.)
· Ri1, Ri2: 투표인이 생성하는 랜덤 수
· IDi: 투표인 i의 세션 ID
· H : 일 방향 해쉬 함수
· H(Sigi) : 투표인 i의 서명을 해쉬한 값
먼저 등록 단계(S10)를 상세히 살펴보기로 한다. 도 4는 본 발명에 따른 전자투표의 등록단계를 상세히 나타낸 흐름도이다. 선관위는 투표 대상자들을 확인하여 투표인 명부를 만들고, 투표인 및 투표소에 제공한다.(S11 과정)
각 투표인은 등록과정을 통해 선관위 및 투표소로부터 자신을 인증하고, 랜덤(random)한 세션 ID를 등록한다. 투표인은 은닉서명 비밀계수 ri1및 ri2를 선택해 세션 ID를 숨겨서 선관위 및 투표소에 보낸다. 즉, ri1(IDi)을 생성해 선관위에 전송하고, ri2(IDi)를 생성해 투표소에 등록한다.(S12 과정)
전송되어온 데이터에 대하여 선관위는 공동으로 인증을 수행한 후, 대표 비밀키로 서명한 뒤 투표인에게 전송하며, 투표소 역시 인증을 수행한 후 자신의 비밀키로 서명한 다음 투표인에게 제공한다. 선관위에서 As(ri1(IDi))를, 투표소에서는 Gs(ri2(IDi))를 투표인에게 전달한다.(S13 과정)
투표인은 선관위와 투표소로부터 받은 서명들을 확인하게 된다. 투표인은 자신의 비밀 계수를 제거하여 선관위의 서명이 붙은 자신의 식별자 SA와 투표소의 서명이 붙은 SG를 얻는다. ri1'(As(ri1(IDi))) = As(IDi) = SA,ri2'(Gs(ri2(IDi)) = Gs((IDi)) = SG(S14 과정)
이후, 선관위의 공개키 Ap과 투표소의 공개키 Gp을 이용하여 서명을 확인하고, 자신의 식별자가 정확히 등록되었는지 확인한다. Ap(SA) = Ap(As(IDi)) = IDi,Gp(SG) = Gp(Gs(IDi)) = IDi(S15 과정)
본 발명에 따른 투표과정(S20)은 도 5의 흐름도를 이용하여 설명하기로 한다. 투표일이 되면 투표인은 투표소에서 물리적으로 자신을 확인하고 투표를 수행한다.(S21 과정) 이때, 투표인의 자신의 의사에 따라 일반모드와 투표 매매에 대한 방지를 위한 보안모드 중 택일하여 투표를 수행할 수 있다.(S22 과정)
먼저, 투표자가 일반 모드를 선택할 경우를 예로 하여 설명한다. 투표인은 자신의 1차 선택 값 FIR와 더미(Dummy)값 DUM을 다음과 같이 생성한다. (vi1∥Ri1) = FIR, (IDi∥Ri2) = DUM (단, Ri1, Ri2는 투표인이 선택한 랜덤 값이다.)(S23-1 과정)
이후, 자신의 일반 모드값 FIR, 더미(Dummy)값 DUM, 그리고 투표인의 서명을 해쉬한 값{H(Sigi)}을 이용해 다음을 계산한다. H(FIR∥DUM∥H(Sigi)) = J(S24-1 과정)
투표인은 자신의 일반 모드값 FIR, 더미(Dummy)값 DUM 그리고 자신의 서명을 해쉬한 값 H(Sigi)를 연접해 선관위의 공개키로 암호화한다. Av(FIR∥DUM∥H(Sigi)) = E (S25-1 과정)
투표인은 투표소와 선관위의 서명을 암호 결과값과 연접하여 전송한다. SA∥E는 선관위에게 전송하고, SG∥J를 투표소의 DB에 저장한다.(S26-1 과정)
만일, 투표자가 투표 매매를 방지하기 위한 방안으로 보안 모드를 선택하여 투표를 하는 경우에는 다음과 같이 진행된다. 투표인은 1차 선택값 FIR와 2차 선택값 SEC를 다음과 같이 생성한다. (vi1∥Ri1) = FIR, (vi2∥Ri2) = SEC (단, Ri1, Ri2는 투표인이 선택한 랜덤 값이다.) (S23-2 과정)
이후, 해쉬함수 H를 이용하여 1차 선택값 FIR, 2차 선택값 SEC 그리고 자신의 서명을 해쉬한 값 H(Sigi)를 연접하여 함수 값을 산출한다. H(FIR∥SEC∥H(Sigi)) = K (S24-2 과정)
투표인은 1차 선택값 FIR, 2차 선택값 SEC 그리고 자신의 서명을 해쉬한 값 H(Sigi)를 연접해 선관위의 공개키로 암호화한다. Av(FIR∥SEC∥H(Sigi)) = E'(S25-2 과정)
투표인은 투표소와 선관위의 서명을 암호 결과값과 연접해 전송한다. SA∥E'는 선관위에게 전송하고, SG∥K를 투표소의 DB에 저장한다.(S26-2 과정)
본 발명에 따른 확인단계(S30)는 도 6의 흐름도에 나타낸 바와 같다. 도 5의 투표단계에서와 마찬가지로 일반모드와 보안모드로 나뉘게 된다.(S31 과정)
투표자가 일반 모드를 선택하여 투표한 경우, 선관위 및 투표소는 자신들의 공개키로 서명을 확인한다. Ap(SA) = IDi,Gp(SG) = IDi(S32-1 과정)
선관위는 자신들의 분배 비밀 키들로 투표 정보를 복호화하고 결과를 집계한다. Asj(E) = Asj(Ap(FIR∥DUM∥H(Sigi))) = FIR∥DUM∥H(Sigi) (S33-1)
선관위는 최종 집계 결과를 투표소만이 접근할 수 있는 비공개 데이터베이스로 전송하여 임시 저장한다.(S34-1 과정)
투표소는 투표소에서 집계한 최종 집계 결과와 선관위에서 보내온 결과를 확인하여 내용 일치 여부를 확인하고(S35 과정) 그 비교 결과를 선관위에 통보한다.(S36 과정)
만일 상기 S35 과정에 따른 비교결과가 최종 집계 결과와 일치하지 않을 경우(S37 과정), 선관위는 투표 결과를 투표소의 공개키로 암호화하여 전송한다.(S38과정)
투표소는 선관위로부터 수신된 투표 정보를 다음과 같이 자신들의 비밀키로 확인한 후 해쉬를 취한다. Gs(Gp(FIR∥DUM∥H(Sigi))) = FIR∥DUM∥H(Sigi) (S39 과정)
이후, 비공개 데이터베이스에 저장된 내용과 일치하는지 비교한다. H(FIR∥DUM∥H(Sigi)) = J (S40 과정)
만일 그 결과가 같다면 정당한 투표 값으로 인정하여 Ri1을 생략한 뒤 vi1과 H(Sigi)가 연접되어 집계에 들어간다. 그리고, 투표인의 투표 결과를 제 3자에게 노출시키지 않기 위하여 IDi∥Ri2를 해쉬하여 연접한다. IDi∥vi1∥H(Sigi)∥H(IDi∥Ri2) (S41 과정). 만일 결과가 일치하지 않을 때, 다시 선관위에 투표결과를 요구하여 다시 상기 S38 과정부터 수행하게 된다.
만일, 투표자가 보안 모드를 선택하여 투표를 한 경우의 확인과정(S30)은 다음과 같이 수행된다. 선관위 및 투표소는 자신들의 공개키로 서명을 확인한다. Ap(SA) = IDi, Gp(SG) = IDi(S32-2 과정)
선관위는 자신들의 분배 비밀 키들로 투표 정보를 복호화하고 결과를 집계한다. Asj(E') = Asj(Ap(FIR∥SEC∥H(Sigi))) = FIR∥SEC∥H(Sigi) (S33-2 과정)
선관위는 최종 집계 결과를 투표소만이 접근할 수 있는 비공개 데이터베이스전송하여 임시 저장한다.(S34-2 과정)
투표소는 투표소에서 집계한 최종 집계 결과와 선관위에서 보내온 결과를 비교하여(S35 과정) 내용 일치 여부를 선관위에 통보한다.(S36 과정)
일반모드의 경우와 마찬가지로 만일 최종 집계 결과가 일치하지 않을 경우(S37 과정) 선관위는 투표 결과를 투표소의 공개키로 암호화하고 전송한다.(S38 과정)
투표소는 선관위로부터 수신된 투표 정보를 다음과 같이 자신들의 비밀키로 확인한 후 해쉬를 취한다. Gs(Gp(FIR∥SEC∥H(Sigi))) = FIR∥SEC∥H(Sigi) (S39 과정)
비공개 데이터베이스에 저장된 내용과 일치하는지 비교한다. H(FIR∥SEC∥H(Sigi)) = K (S40 과정) 만일 동일한 결과가 나오면 그 결과를 인정한다.(S41 과정)
투표인이 일반모드를 택할 때, Ri1을 생략한 뒤 vi1과 H(Sigi)를 연접하여 집계에 사용하는 것과 달리, 보안모드를 선택하게 되면, vi2가 집계에 들어간다. 그리고, 결과를 다음과 같이 작성한다. IDi∥vi1∥H(IDi∥H(Sigi)∥H(vi2∥Ri2)). 이때 1차 선택 결과는 2차 선택결과와 내용이 같아서는 안되며, 제 3자로부터 투표인의 투표 결과를 노출시키지 않아야 한다.
한편, 투표 결과의 확인 및 집계과정이 완료된 후, 그 결과를 공표하는 과정(S40)은 다음과 같다. 선관위에서는 투표인의 투표 결과를 저장하고, 공개 보드 상에 공표한다. 이때에도 마찬가지로 일반모드와 보안모드로 나뉘며, 일반 모드를 선택했을 경우에는 IDi∥vi1∥H(Sigi)∥H(IDi∥Ri2)가 저장되고, 투표값 vi1이 집계 결과가 된다. 만일 보안 모드를 선택했을 경우에는 IDi∥vi1∥H(IDi∥H(Sigi)∥H(vi2∥Ri2))가 저장되며, 투표값 vi2가 집계 결과가 된다. 이 때 공개 보드 상에는 투표인의 투표값에 따라 후보자의 득표수가 누산(Counting)되어 공표된다.
각 투표인은 공개보드상에 공표된 자료를 통해 자신의 투표가 정상으로 반영되었는지 확인할 수 있다. 일반 모드를 선택한 투표자의 경우 vi1만 확인하면 되며, 투표 매매에 대한 방지책을 사용한 투표인은 보안 모드를 선택했기 때문에 자신의 식별자와 2차 선택값 그리고, 자신이 생성한 랜덤 수를 결합해 해쉬한 값을 투표 결과 값과 비교함으로써 자신의 투표 결과 vi2가 집계되었음을 확인한다. IDi∥vi1∥H(IDi∥H(Sigi)∥H(vi2∥Ri2))==> H(IDi∥H(Sigi)∥H(vi2∥Ri2))
이상에서 설명한 바와 같이 본 발명은 종래의 투표 방식에 비해 안전하고, 비용 및 인력, 시간을 절감할 수 있으며, 날씨나 장소에 구애받을 필요 없이 투표를 할 수 있으므로, 투표율 향상뿐만 아니라 우리의 생활에 편리함을 제공하고, 효율적이고 안전한 전자 투표 방식의 제안으로 그 기반이 되는 암호화 프로토콜에 대한 기본 개념을 정립하여 그 발전에 기여하는데 효과가 있다. 또한, 본 발명은 기술적 과제에서 살펴보았듯이 일반적인 요구 사항, 투표 매매 방지를 위한 요구 사항 및 선관위 부정방지를 위한 요구 사항을 모두 만족하므로 전자 투표 시스템에서 요구하는 보안 요소들을 충분히 포괄하고 있다.
이상에서 본 발명에 대한 기술 사상을 첨부 도면과 함께 서술하였지만 이는 본 발명의 가장 양호한 실시 예를 예시적으로 설명한 것이지 본 발명을 한정하는 것은 아니다. 또한, 이 기술 분야의 통상의 지식을 가진 자이면 누구나 본 발명의 기술 사상의 범주를 이탈하지 않는 범위 내에서 다양한 변형 및 모방이 가능함은 명백한 사실이다.

Claims (9)

  1. 각 투표인이 개별 세션 ID를 생성하여 투표인 정보를 등록하는 제 1 과정과,
    상기 제 1 과정에 의해 등록된 정보를 확인하고 전자 투표를 수행하는 제 2 과정과,
    상기 제 2 과정에 의한 투표 정보를 선관위 및 투표소에서 확인하고 집계하는 제 3 과정과,
    상기 제 3 과정에 따른 집계결과를 공표하는 제 4 과정을 포함하여 이루어지는 것을 특징으로 하는 전자 투표 시스템.
  2. 제 1 항에 있어서; 상기 제 1 과정은,
    투표인이 실명이 아닌 랜덤(random)한 세션 ID를 은닉 서명을 통해 인증하여 비밀성 보장을 유지하는 것을 특징으로 하는 전자 투표 시스템.
  3. 제 2 항에 있어서; 상기 제 1 과정은,
    선관위에서 투표인 명부를 생성하여 각 투표권자 및 투표소에 전송하는 제 1 단계와,
    투표권자가 상기 투표인 명부에 은닉서명을 사용하여 자신을 인증하고 은닉 서명 비밀계수를 선택하여 세션 ID를 생성하고 선관위 및 투표소에 전송하는 제 2 단계와,
    상기 제 2 단계에 의해 선관위 및 투표소에 전송된 데이터에 대하여 각각 인증을 수행하고 비밀키로 서명하여 투표인에게 전송하는 제 3 단계와,
    상기 제 3 단계에 의해 각 투표인에게 전송된 데이터로부터 선관위 서명이 포함된 식별자와 투표소의 서명이 포함된 식별자를 추출하는 제 4 단계와,
    상기 제 4 단계를 통해 추출된 정보를 선관위의 공개키와 투표소의 공개키를 이용하여 서명을 확인함으로써 식별자 등록을 확인하는 제 5 단계를 포함하여 구성됨을 특징으로 하는 전자 투표 시스템.
  4. 제 1 항에 있어서; 상기 제 2 과정 내지 제 4 과정은 일반모드와 투표 매매에 대한 방지를 위한 보안모드로 구분되어 이루어질 수 있음을 특징으로 하는 전자투표 시스템.
  5. 제 4 항에 있어서; 투표자가 일반모드를 선택하여 수행되는 제 2 과정은,
    투표자가 랜덤 값을 사용하여 자신의 1차 선택값 및 더미값(Dummy)을 생성하는 제 1 단계와,
    투표인의 서명을 해쉬한 값과 상기 1차 선택값, 그리고 더미값(Dummy)을 파라미터로 하는 해쉬함수(H)를 구하는 제 2 단계와,
    상기 제 1 단계에서 생성된 투표인의 1차 선택값과 더미값, 그리고 투표인의 서명을 해쉬한 값을 연접하여 선관위의 공개키로 암호화하는 제 3 단계와,
    상기 제 3 단계에 의해 생성된 암호결과 값에 선관위의 서명을 연접하여 선관위에 전송하는 제 4 단계와,
    상기 제 2 단계에 의해 생성된 해쉬함수 결과 값에 투표소의 서명을 연접하여 투표소의 데이터베이스에 저장하는 제 5 단계로 이루어짐을 특징으로 하는 전자 투표 시스템.
  6. 제 4 항에 있어서; 투표자가 일반모드를 선택하여 수행되는 제 3 과정은,
    상기 제 2 과정을 통해 선관위 및 투표소에 제공된 투표정보 데이터를 각각의 공개키로 서명을 확인하는 제 1 단계와,
    선관위 및 투표소에서 각각의 비밀키로 투표 정보를 복호화하여 그 결과를 집계하는 제 2 단계와,
    선관위에서 최종 집계결과를 투표소만이 억세스(access)가능한 비공개 데이터베이스에 전송하는 제 3 단계와,
    상기 제 2 단계 과정에 따라 투표소에서 집계한 최종결과와 상기 제 3 단계를 통해 선관위로부터 제공된 최종집계결과의 일치여부를 투표소에서 확인하는 제 4 단계와,
    상기 제 4 단계에 따른 확인결과를 투표소에서 선관위로 통보하는 제 5 단계를 포함하여 구성됨을 특징으로 하는 전자투표 시스템.
  7. 제 6 항에 있어서; 상기 제 5 단계에 의해 수행되는 통보결과가 부정적인 경우에,
    선관위에서 투표결과를 투표소의 공개키로 암호화하여 투표소로 전송하는 제 6 단계와,
    상기 제 7 단계를 통해 수신된 투표정보를 투표소의 비밀키로 확인하여 해쉬를 취하는 제 8 단계와,
    상기 제 8 단계에 의한 결과와 투표소의 데이터베이스에 저장된 투표 정보의 일치여부를 판단하는 제 9 단계와,
    상기 제 9 단계의 결과 정당한 투표값으로 인정된 경우, 투표인이 선택했던 제 1 투표값과 투표인의 서명 해쉬값, 그리고 투표인의 세션 ID와 투표인의 랜덤수의 해쉬값을 연접하여 집계하는 제 10 단계를 포함하는 일련의 과정이 부가되는 것을 특징으로 하는 전자투표시스템.
  8. 제 4 항에 있어서; 상기 제 4 과정은,
    선관위에서 투표 결과를 공개보드 상에 공표하는 제 1 단계와,
    상기 제 1 단계에 의해 공표된 결과를 각 투표인이 확인하는 제 2 단계를 포함하여 이루어짐을 특징으로 하는 전자투표 시스템.
  9. 제 8 항에 있어서; 투표자가 보안모드를 선택하여 수행되는 제 2 단계는 투표자의 식별자와 2차 선택값 그리고 자신이 생성한 랜덤 수를 결합해 해쉬한 값을 투표결과와 비교하여 확인하는 것을 특징으로 하는 전자투표 시스템.
KR1020000013743A 2000-03-17 2000-03-17 전자 투표 방법 KR100362603B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020000013743A KR100362603B1 (ko) 2000-03-17 2000-03-17 전자 투표 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020000013743A KR100362603B1 (ko) 2000-03-17 2000-03-17 전자 투표 방법

Publications (2)

Publication Number Publication Date
KR20010091742A true KR20010091742A (ko) 2001-10-23
KR100362603B1 KR100362603B1 (ko) 2002-11-27

Family

ID=19656344

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020000013743A KR100362603B1 (ko) 2000-03-17 2000-03-17 전자 투표 방법

Country Status (1)

Country Link
KR (1) KR100362603B1 (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020063660A (ko) * 2001-01-30 2002-08-05 정혜숙 지문을 이용한 선거인 신원확인 장치 및 방법
WO2002063540A1 (en) * 2001-02-05 2002-08-15 Lorza Jr Miguel Kramer Single-number encoding and decoding of questionnaire responses
KR20040000278A (ko) * 2002-06-24 2004-01-03 양경원 인터넷투표
KR100653361B1 (ko) * 2004-06-04 2006-12-06 고려대학교 산학협력단 투표결과의 반영 여부를 검증 가능한 전자투표 방법 및시스템
WO2009136717A2 (ko) * 2008-05-06 2009-11-12 엑스엠에스(주) 개인 단말기를 이용한 네트워크상의 선거관리 방법 및 선거관리 서버
KR102201085B1 (ko) 2019-12-13 2021-01-08 윤성민 전자투표시스템 및 전자투표방법

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101167647B1 (ko) 2010-09-14 2012-07-20 주식회사 이맥소프트 전자투표 시스템

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020063660A (ko) * 2001-01-30 2002-08-05 정혜숙 지문을 이용한 선거인 신원확인 장치 및 방법
WO2002063540A1 (en) * 2001-02-05 2002-08-15 Lorza Jr Miguel Kramer Single-number encoding and decoding of questionnaire responses
KR20040000278A (ko) * 2002-06-24 2004-01-03 양경원 인터넷투표
KR100653361B1 (ko) * 2004-06-04 2006-12-06 고려대학교 산학협력단 투표결과의 반영 여부를 검증 가능한 전자투표 방법 및시스템
WO2009136717A2 (ko) * 2008-05-06 2009-11-12 엑스엠에스(주) 개인 단말기를 이용한 네트워크상의 선거관리 방법 및 선거관리 서버
WO2009136717A3 (ko) * 2008-05-06 2010-03-04 엑스엠에스(주) 개인 단말기를 이용한 네트워크상의 선거관리 방법 및 선거관리 서버
KR102201085B1 (ko) 2019-12-13 2021-01-08 윤성민 전자투표시스템 및 전자투표방법
WO2021118251A1 (ko) 2019-12-13 2021-06-17 윤성민 전자투표시스템 및 전자투표방법
KR20210075869A (ko) 2019-12-13 2021-06-23 윤성민 전자투표시스템 및 전자투표방법

Also Published As

Publication number Publication date
KR100362603B1 (ko) 2002-11-27

Similar Documents

Publication Publication Date Title
Dimitriou Efficient, coercion-free and universally verifiable blockchain-based voting
CN109785494B (zh) 基于区块链的可追踪的匿名电子投票方法
US7260552B2 (en) Secure remote electronic voting system and cryptographic protocols and computer programs employed
Chow et al. Robust Receipt-Free Election System with Ballot Secrecy and Verifiability.
CN112995136A (zh) 一种基于联盟链的k-out-of-m匿名投票方法
Lambrinoudakis et al. Secure electronic voting: The current landscape
KR20060127194A (ko) 공정한 블라인드 서명을 이용한 전자 투표 방법 및 시스템
Wu et al. An electronic voting mechanism for fighting bribery and coercion
CN111612961B (zh) 一种对投票人选票信息加密的电子投票方法
Li et al. A verifiable electronic voting scheme over the internet
Fouard et al. Survey on electronic voting schemes
WO2001020562A2 (en) Multiway election method and apparatus
Mohanty et al. A secure multi authority electronic voting protocol based on blind signature
EP1361693B1 (en) Handle deciphering system and handle deciphering method, and program
KR100362603B1 (ko) 전자 투표 방법
Zwierko et al. A light-weight e-voting system with distributed trust
KR101167647B1 (ko) 전자투표 시스템
Haines et al. Votor: conceptually simple remote voting against tiny tyrants
Chung et al. Casting ballots over internet connection against bribery and coercion
KR101139898B1 (ko) 전자투표 방법
Sheikhi et al. Receipt-Free Electronic Voting from zk-SNARK
KR100338330B1 (ko) 매수행위 방지 가능한 전자투표 시스템의 투표 방법
Bingol et al. Norwegian Internet Voting Protocol Revisited: Security and Privacy Enhancements
Vangujar et al. A Novel Approach to e-Voting with Group Identity Based Identification and Homomorphic Encryption
Liu et al. How to design the faultless bribery and coercion prevention electronic voting scheme

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
E902 Notification of reason for refusal
N231 Notification of change of applicant
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20121106

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20130822

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20141020

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20150813

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20161114

Year of fee payment: 15

FPAY Annual fee payment

Payment date: 20181212

Year of fee payment: 17

FPAY Annual fee payment

Payment date: 20191114

Year of fee payment: 18