KR102179421B1 - 선거 명칭을 이용한 전자 투표 방법 - Google Patents

선거 명칭을 이용한 전자 투표 방법 Download PDF

Info

Publication number
KR102179421B1
KR102179421B1 KR1020200083490A KR20200083490A KR102179421B1 KR 102179421 B1 KR102179421 B1 KR 102179421B1 KR 1020200083490 A KR1020200083490 A KR 1020200083490A KR 20200083490 A KR20200083490 A KR 20200083490A KR 102179421 B1 KR102179421 B1 KR 102179421B1
Authority
KR
South Korea
Prior art keywords
voter
election
voting
name
electronic voting
Prior art date
Application number
KR1020200083490A
Other languages
English (en)
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 KR1020200083490A priority Critical patent/KR102179421B1/ko
Application granted granted Critical
Publication of KR102179421B1 publication Critical patent/KR102179421B1/ko

Links

Images

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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • 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
    • G06Q2230/00Voting or election arrangements

Landscapes

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

Abstract

본 발명의 일 실시 예에 따른 선거 명칭을 이용한 전자 투표 방법은, 전자 투표 서버가 선거 명칭을 이용하여 전자 투표 서비스를 제공하는 방법으로서, 선거 명칭을 검색한 유권자 단말로 상기 선거 명칭과 일치하는 선거 정보를 송신하는 단계, 상기 유권자 단말로부터 암호화된 투표 데이터를 수신하는 단계, 상기 투표 데이터를 검증하여, 유권자 명부를 확정하는 단계 및 확정된 유권자 명부를 기초로 개표 결과를 도출하는 단계를 포함한다.
본 발명에 따르면, 유권자 명부가 선거 시작 전에 마련될 필요가 없어, 선거 준비 과정이 간소화되고, URL, PIN 코드와 같이 전자 투표를 하기 위해 각 유권자들에게 부여된 개인 식별 정보들이 사용되지 않아, 개인 식별 정보의 분실 및 도난에 따른 부당한 투표권이 행사되지 않고, 선거의 공정성 및 유권자의 신뢰를 확보할 수 있다.

Description

선거 명칭을 이용한 전자 투표 방법{ELECTRONIC VOTING METHOD USING ELECTION NAMES}
본 발명은 선거 명칭을 이용한 전자 투표 방법에 관한 것이다. 보다 자세하게는 유권자 명부가 없는 상태에서 선거 명칭만으로 투표를 진행하고, 투표 및 개표의 기밀성과 선거 절차의 효율성을 확보할 수 있는 전자 투표 방법에 관한 것이다.
선거는 일정한 조직이나 집단에서 대표자와 임원을 투표로 뽑는 일련의 과정으로서,"1)기관의 선거 규정 수립 2)선거관리위원회 구성 3)선거 일정 지정" 선거 준비 단계, "4)선거일 공고 5)후보자 등록 신청 6)유권자들을 대상으로 하는 선거 운동 7)유권자 명부 열람 및 확정 8)유권자 본인인증 9)투표"의 선거 진행 단계로 이루어진다. 이 때, 선거를 진행하기 위해서는 유권자(조직이나 집단의 구성원) 명부를 확보하는 것이 기본이다.
이러한 유권자 명부는 그 구성원 수가 수작업으로 집계 가능한 경우에는 문제가 없지만, 구성원 수가 일정 수준 이상인 경우에는 선거 기관이 각 유권자들을 관리하기 위해 많은 준비 시간과 비용이 들며, 선거를 통한 유권자들의 의견을 취합하기까지 많은 시간이 걸린다.
또한, 유권자 별로 선거에 참여하는 정당한 유권자임을 나타낼 수 있는 정보(주소지 정보, 신분증 정보, 입사/퇴사 이력 등)를 소지하고 있으나, 선거 기관(선거 관리자)가 수많은 유권자들의 정보를 관리 감독하기에 한계가 있다. 아울러, 관리 감독의 문제로 잘못된 유권자 명부가 제작되면, 누락된 유권자는 투표할 수 없고, 자격이 없는 사람이 투표하게 되는 문제가 발생할 수 있다.
다만, 문제 발생에 대비하여 유권자 명부를 열람하거나 이의를 제기할 수 있지만, 이를 기억하고 확인하기 힘들 뿐만 아니라, 문제 제기에 따른 해결 과정에서도 실수할 여지가 있다.
한편, 선거는 유권자가 투표 장소를 직접 방문하여 투표하는 통상적인 방식 외에 네트워크에 연결된 단말을 통해 투표하는 전자 투표 방식이 존재한다. 전자 투표 방식은 선거의 시간 및 공간적 제약이 없고, 신속하고 정확한 투표 집계가 가능하지만, 유권자 명부를 확보하는 과정은 통상적인 방식을 그대로 답습하고 있다.
이에 본 발명은 선거에 참여하는 유권자 명부를 생성하는 과정을 개선하여 선거인 명부에 의존하지 않고, 선거 준비 과정의 효율성을 높일 수 있는 전자 투표 방법을 제안한다.
한국등록특허공보 제10-1747833호(2017.06.09.)
본 발명이 해결하고자 하는 기술적 과제는 유권자 명부 없이 선거를 진행한 후, 투표에 참여한 유권자들만으로 구성된 유권자 명부를 생성하여, 선거 준비 과정의 효율성을 높일 수 있는 전자 투표 방법을 제공하는 것이다.
본 발명이 해결하고자 하는 다른 기술적 과제는 투표에 참여한 유권자들의 개인 정보(고유의 식별 정보), 투표 정보를 암호화하여, 비밀 투표에 위배되지 않는 전자 투표 방법을 제공하는 것이다.
본 발명이 해결하고자 하는 또 다른 기술적 과제는 선거 명칭의 검색만으로 후보자의 정보, 공약 등을 확인할 수 있으며, 선거 명칭을 재사용할 수 있어, 선거 참여율을 높일 수 있는 전자 투표 방법을 제공하는 것이다.
본 발명이 해결하고자 하는 또 다른 기술적 과제는 투표를 통해 생성된 유권자 명부를 유권자가 주체가 되어 유권자 명부를 스스로 검증하여, 투표에 참여한 유권자 명부를 확정할 수 있으며, 선거 결과의 신뢰도를 높일 수 있는 전자 투표 방법을 제공하는 것이다.
*본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
본 발명의 일 실시 예에 따른 전자 투표 서버가 선거 명칭을 이용하여 전자 투표 서비스를 제공하는 방법으로서, 선거 명칭을 검색한 유권자 단말로 상기 선거 명칭과 일치하는 선거 정보를 송신하는 단계, 상기 유권자 단말로부터 암호화된 투표 데이터를 수신하는 단계, 상기 투표 데이터를 검증하여, 유권자 명부를 확정하는 단계 및 확정된 유권자 명부를 기초로 개표 결과를 도출하는 단계를 포함한다.
일 실시 예에 따르면, 상기 송신하는 단계 이전에, 투표를 위한 유권자의 투표 서명 생성키(skv) 및 투표 서명 검증키(pkv) 한 쌍, 개표를 위한 전자 투표 서버의 개표 복호화키(skt) 및 개표 암호화키(pkt) 한 쌍을 생성하는 단계를 포함할 수 있다.
일 실시 예에 따르면, 상기 한 쌍을 생성하는 단계는, 상기 개표 복호화키(skt)를 복수의 비밀키 조각으로 분할하는 단계를 포함할 수 있다.
일 실시 예에 따르면, 상기 한 쌍을 생성하는 단계와 상기 선거 정보를 송신하는 단계 사이에서, 선거를 주관하는 선거 관리자 단말로부터 선거 명칭을 입력 받고, 상기 투표 서명 생성키(skv)을 이용하여 상기 선거 명칭을 전자서명하는 단계를 포함할 수 있다.
일 실시 예에 따르면, 상기 선거 명칭은, 상기 선거 관리자 단말이 설정한 투표 조건에 부합하는 유권자에게 공개되는 명칭일 수 있다.
일 실시 예에 따르면, 상기 선거 명칭은, 상기 투표 서명 검증키(pkv)를 이용하여 상기 유권자 단말에 의해 검증될 수 있다.
일 실시 예에 따르면, 상기 투표 데이터를 수신하는 단계와 상기 유권자 명부를 확정하는 단계 사이에서, 본인 인증을 통과한 유권자 단말로부터 복수의 유권자 식별 항목을 수신하고, 상기 복수의 유권자 식별 항목과 함께 해당 유권자를 임시 유권자 명부에 기록하는 단계 및 상기 임시 유권자 명부에 기록된 유권자 단말로부터 투표 선택 정보가 상기 개표 암호화키(pkt)에 의해 암호화된 투표 데이터를 수신하는 단계를 포함할 수 있다.
일 실시 예에 따르면, 상기 유권자 명부를 확정하는 단계와 상기 개표 결과를 도출하는 단계 사이에서, 상기 복수의 유권자 식별 항목을 각각 검증하는 단계 및 검증을 통과한 유권자 식별 항목의 수가 검증을 통과하지 못한 유권자 식별 항목의 수 보다 많은 유권자를 최종 유권자 명부에 기록하는 단계를 포함할 수 있다.
일 실시 예에 따르면, 상기 유권자 명부를 확정하는 단계와 상기 개표 결과를 도출하는 단계 사이에서, 상기 복수의 유권자 식별 항목 중 어느 하나의 유권자 식별 항목에 대한 검증 요청을 다른 유권자 단말로 송신하는 단계 및 상기 다른 유권자 단말을 통한 검증 결과를 수신하고, 검증을 통과한 유권자를 최종 유권자 명부에 기록하는 단계를 포함할 수 있다.
일 실시 예에 따르면, 상기 개표 결과를 도출하는 단계는, 상기 최종 유권자 명부에서 조각난 복수의 비밀키(a0) 조각을 추출하여, 개표 암호화키(pkt)를 복원하고, 상기 투표 데이터를 추출하는 단계를 포함할 수 있다.
일 실시 예에 따르면, 상기 개표 결과를 도출하는 단계는, 상기 투표 데이터와 상기 유권자 단말을 무작위로 배열 및 재암호화하는 단계 및 재암호화된 투표 데이터를 상기 개표 복호화키(skt)를 이용하여 개표하는 단계를 포함할 수 있다.
본 발명에 의하면, 유권자 명부가 선거 시작 전에 마련될 필요가 없어, 선거 준비 과정이 간소화되고, 선거 진행 후 투표에 참여하지 않은 유권자들을 일일이 확인해야 하는 번거로움이 존재하지 않아 인력을 절감할 수 있다.
또한, URL, PIN 코드와 같이 전자 투표를 하기 위해 각 유권자들에게 부여된 개인 식별 정보들이 사용되지 않아, 개인 식별 정보의 분실 및 도난에 따른 부당한 투표권이 행사되지 않고, 선거의 공정성 및 유권자의 신뢰를 확보할 수 있다.
또한, 유권자는 선거 명칭만으로 해당 선거와 관련된 각종 정보들을 확인할 수 있어, 후보자의 정보, 공약 등을 찾아보기 위한 시간을 절약할 수 있으며, 그에 따라 유권자들의 선거 참여율을 높일 수 있다.
또한, 투표권을 행사한 유권자의 개인 정보, 각종 인증 방법을 통한 검증 외에도, 유권자들 또는 선거관리위원회 검증 위원이 포함된 유권자들이 서로가 정당한 유권자인지 검증해주는 상호 검증 과정을 거쳐, 정확한 유권자의 선별이 가능하고, 전자 투표 방법 및 이를 활용한 선거 결과의 신뢰도를 높이고, 직접 민주주의를 실현할 수 있다.
또한, 유권자의 개인 정보(고유의 식별 정보), 투표 정보, 검증 정보를 암호화하여, 전자 투표의 보안성 향상 및 익명성, 기밀성을 보장할 수 있다.
또한, 투표가 완료된 후에 유권자 명부를 확정 짓는 바, 선거 관리자의 실수 또는 부정 선거가 발생하더라도 이를 바로 잡을 수 있으며, 전자 투표 방식의 재개표에 대한 신뢰도를 높일 수 있다.
본 발명의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해 될 수 있을 것이다.
도 1은 본 발명의 일 실시 예에 따른 전자 투표 시스템의 구성을 나타낸 도면이다.
도 2는 본 발명의 일 실시 예에 따른 전자 투표 서버의 구성을 나타낸 도면이다.
도 3은 본 발명의 일 실시 예에 따른 전자 투표 서버가 선거 명칭을 이용한 전자 투표 서비스를 제공하는 방법을 나타낸 흐름도이다.
도 4는 도 3에 도시된 S104 단계와 S105 단계를 구체화한 순서도이다.
도 5는 본 발명의 일 실시 예에 따른 전자 투표 시스템을 이용한 전자 투표 방법의 흐름을 개략적으로 나타낸 도면이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예를 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 게시되는 실시 예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 게시가 완전하도록 하고, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시 예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.
본 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소, 단계 및/또는 동작은 하나 이상의 다른 구성요소, 단계 및/또는 동작의 존재 또는 추가를 배제하지 않는다.
도 1은 본 발명의 일 실시 예에 따른 전자 투표 시스템(1000)의 구성을 나타낸 도면이다.
도 1을 참조하면, 전자 투표 시스템(1000)은 복수의 유권자 단말(100), 선거 관리자 단말(200) 및 전자 투표 서버(300)를 포함할 수 있다.
복수의 유권자 단말(100)은 선거에 참여할 수 있는 유권자가 소지한 단말로서, 스마트폰, 태블릿 PC, PC 등 다양한 전자 장치를 포함할 수 있다. 여기서, 유권자 단말(100)은 유권자가 선거 명칭을 검색하고, 검색 결과에 따라 어느 하나의 선거에 대한 투표권을 행사할 수 있는 웹 또는 모바일 어플리케이션이 설치되어 실행될 수 있으며, 이 때의 웹 또는 모바일 어플리케이션은 전자 투표 서버(300)를 통해 제공받을 수 있다.
유권자는 유권자 단말(100)을 이용하여 전자 투표 서버(300)가 제공하는 웹 또는 모바일 어플리케이션에서 선거 관리자가 공표한 "선거 명칭"이 검색이 불허된 선거 명과 정확히 일치하는 선거가 선택된 경우 또는 "선거 명칭"이 검색 가능한 허용된 선거를 검색하고, 어느 하나의 선거 명칭을 선택한 후, 이에 대응되는 후보자 목록, 후보자들의 공약, 선거 일정, 투표일 등을 확인할 수 있다. 선거 정보를 확인한 유권자는 직접 어느 하나의 후보자를 선택하여 투표권을 행사할 수 있다.
구체적으로, 유권자가 유권자 단말(100)을 통해 선거 명칭을 검색하면, 전자 투표 서버(300)의 투표 서명 생성키(skv)를 이용하여 전자 서명된 선거 명칭과 함께 기타 선거 정보들이 유권자에게 제공될 수 있다. 유권자가 어느 하나의 선거에 대한 투표권을 행사하기 위해, "선거 명칭"을 선택하면, 유권자 단말(100)은 전자 투표 서버(300)가 공개한 투표 서명 검증키(pkv)를 이용하여 선거 명칭이 전자 투표 서버(300)에 의해 제작되었음을 검증하고, 검증된 선거 명칭에 한하여 투표를 할 수 있다.
다만, 투표권을 행사한 전 유권자는 유권자 단말(100)을 통해 각종 검증 기관 서버(미도시)으로부터 본인 인증을 수행하여 투표에 참여하는 사람이 본인임을 증명할 수 있다. 여기서, 본인 인증 절차는 선거를 주관하는 선거 관리자 단말(200) 또는 전자 투표 서버(300)에 의해 지정된 어느 하나의 절차일 수 있다.
구체적으로, 본인 인증 절차는 다양한 인증 절차를 포함하며, 대표적으로 공인인증서를 통한 인증, 스마트 폰 실명 인증, 이메일 검증, PGP 공개키 검증, 위치 정보 인증, 기타 식별 번호 검증 등을 포함할 수 있다. 여기서, 위치 정보 인증은 "선거 명칭"을 공표한 선거 관리자에 의해 지정된 위치 및 시간에 해당 유권자가 존재하는지 확인하기 위한 인증 절차일 수 있다.
예를 들어, 공인인증서를 통한 인증 절차를 진행할 경우, 유권자는 유권자 단말(100)을 이용하여 소지하고 있는 공인인증서와 함께 자신의 식별 번호(SSN, Social Security Number), 유권자 단말(100)이 생성한 난수(R, Random Number) 그리고 선택적으로 유권자의 부가 정보를 검증 기관 서버로 송신할 수 있다. 검증 기관 서버는 공인인증서 내 가상 식별 번호(VID, Virtual ID)를 추출하고, 이를 유권자가 제출한 식별 번호(RRS)와 난수(R)와 비교하여, 비교 결과 두 개의 정보가 일치하는 경우, 본인 인증을 요청한 유권자가 본인임을 검증할 수 있으며, 이는 [식 1]과 같이 표현될 수 있다.
[식 1]
Figure 112020070438413-pat00001
Figure 112020070438413-pat00002
다른 예를 들어, 스마트 폰과 유권자의 실명을 통한 인증 절차를 진행할 경우, 유권자는 유권자 단말(100)을 이용하여 단말 번호, 이름, 생년월일, 성별, 내외국인 구분을 선택하여 검증 기관 서버로 송신할 수 있다. 검증 기관 서버는 이동 통신사 서버로부터 유권자의 가입 정보를 확인하고, 본인 인증을 요청한 유권자가 본인임을 검증할 수 있다.
또 다른 예를 들어, 이메일(E-mail)을 통한 인증 절차를 진행할 경우, 유권자는 유권자 단말(100)을 이용하여 이메일 주소, 이름, 부가 정보를 검증 기관 서버로 송신할 수 있으며, 검증 기관 서버로부터 본인 인증 번호 또는 개인 식별 URL을 수신할 수 있다. 검증 기관 서버는 유권자 단말(100)이 올바른 본인 인증 번호를 입력하거나 지정된 URL을 이용하여 접속할 경우, 본인 인증을 요청한 유권자가 본인임을 검증할 수 있다.
또 다른 예를 들어, PGP 키를 통한 인증 절차를 진행할 경우, 유권자는 유권자 단말(100)을 이용하여 이름, PGP 공개키, 유권자 부가 정보 등을 PGP 비밀키로 서명하여 검증 기관 서버로 송신할 수 있다. 검증 기관 서버는 PGP 공개키를 사용하여 유권자의 서명을 검증할 수 있다. 즉, 검증 기관 서버는 유권자의 서명 검증을 통해 본인 인증을 요청한 유권자가 본인임을 검증할 수 있다.
이와 같이, 유권자는 본인이 가지고 있는 다양한 식별 정보 중 어느 하나를 이용하여 검증 기관 서버로부터 본인임을 검증 받을 수 있으며, 유권자 단말(100)은 유권자의 이름, 유권자 식별 항목, 부가 정보를 포함하는 유권자의 전자 서명(Signsku)을 [식 2]와 같이 생성할 수 있다. 아울러, 유권자 단말(100)은 전자 서명(Signsku)과 함께 이에 대한 공개키도 함께 전자 투표 서버(300)에 제공할 수 있다.
[식 2]
Figure 112020070438413-pat00003
아울러, 유권자의 전자 서명(Signsku)이 생성된 후, 유권자는 어느 하나의 후보에 대해 투표권을 행사할 수 있으며, 유권자 단말(100)은 투표 선택 정보가 투표 데이터를 [식 3]과 같이 생성하여 전자 투표 서버(300)로 송신할 수 있다. 여기서, i는 유권자를 식별하기 위한 임의의 번호일 수 있으며, 투표 데이터는 개표 암호화키(pkt)를 이용하여 암호화될 수 있다.
[식 3]
Figure 112020070438413-pat00004
아울러, 유권자 식별 항목은 유권자 단말 정보, 주소, 주민등록번호, 유권자 생체 정보 등을 포함할 수 있으며, 부가 정보에는 유권자의 소속, 직급 등을 포함할 수 있다. 여기서, 유권자 생체 정보는 유권자 단말(100)을 통해 인식 가능한 사람얼굴(facial image), 지문(finger print), 장문(friction ridge), 혈관(blood vessel), 홍채(iris), 시망막(retina), 심전도(ECG, electrocardiogram), 뇌전도(EEG, electroencephalogram), 맥박(pulse), 혈압(blood pressure), 가슴 소리(heart sound), 가슴 또는 복부운동, 인체의 전도성(conductivity of human body) 등을 포함할 수 있다. 또한, 상술한 생체 정보를 인식하기 위해, 유권자 단말(100)에는 전기신호, 소리신호, 힘 신호(force signal), 전자기신호, 이미지/동영상 신호, 광신호 등 각종 신호를 수집하는 센서가 구비될 수 있다. 이와 같이, 유권자가 투표권을 행사하기 위해 타인의 모방이 불가능한 본인 고유의 정보를 이용하는 바, 유권자에 대한 보안성이 강화될 수 있다.
한편, 일부 유권자는 투표가 완료된 후 전자 투표 서버(300)로부터 임시 유권자 명부 내 유권자 식별 항목에 대한 검증 요청을 받아, 유권자 식별 항목에 대한 유효성을 판단할 수 있다. 예를 들어, 선거가 어떠한 조직 내에서 진행될 경우, 투표에 참여한 일부 유권자는 유권자 단말(100)을 통해 전자 투표 서버(300)로부터 투표에 참여한 유권자의 소속 정보(예. 부서명, 조직명, 유권자의 직급)에 대한 검증 요청을 수신할 수 있으며, 수신한 소속 정보가 현재까지도 유효한 정보인지 확인하여, 그 결과를 전자 투표 서버(300)로 송신할 수 있다.
여기서, 유권자 식별 항목에 대한 유효성을 판단하는 유권자는 유권자들 간에 신뢰받는 유권자일 수 있으며, 투표가 종료된 후, 전자 투표 서버(300)에 의해 임의로 선정된 유권자일 수 있다. 또한, 임시 유권자 명부에 기록된 적어도 절반 이상의 유권자가 유권자 식별 항목에 대한 유효성을 판단할 수 있으며, 그에 따라 선거에 대한 유권자들의 신뢰도를 확보할 수 있다.
즉, 전자 투표 시스템(1000)은 가까운 사람끼리 신뢰 관계를 확인하는 평판 시스템(Honor System)을 통하여, 선거 시작 전에 제작되지 않은 유권자 명부를 확정할 수 있다.
선거 관리자 단말(200)은 선거를 주관하는 선거 관리자의 단말로서, 스마트 폰, 태블릿 PC, PC 등 다양한 전자 장치를 포함할 수 있다. 선거 관리자는 선거 관리자 단말(200)을 이용하여 선거에 관련된 각종 정보를 등록할 수 있으며, 이를 위해 선거 관리자 단말(200)에는 전자 투표 서버(300)가 제공하는 웹 또는 모바일 어플리케이션을 설치 및 실행될 수 있다.
한편, 선거 관련 정보는 선거 명칭, 선거 일정(예. 선거 운동 시작일, 종료일, 투표일), 후보자 목록(예. 후보자 정보, 후보자 이미지, 본인 PR 영상), 후보자 공약 등을 포함할 수 있다. 즉, 선거 관리자는 전자 투표에 참여할 수 있는 유권자 명부와 각 유권자에게 제공할 유권자 고유의 URL, PIN 코드 등을 사전에 마련하지 않고, 단지 유권자들에게 "선거 명칭"을 공표하는 것만으로 선거를 수행할 수 있다.
또한, 선거 명칭은 하나의 선거에 하나의 선거 명칭이 일대일 대응되는 것이 아니라, 주기적으로 이루어지는 선거에 동일한 명칭으로 사용가능하여, 유권자들의 선거 참여율을 높일 수 있다.
한편, 선거의 특성에 따라 "선거 명칭"이 공개되는 범위가 한정될 수 있으며, 선거 관리자는 그에 맞는 유권자 본인 인증 절차를 지정할 수 있다. 예를 들어, 선거가 강의실 내 학생들을 대상으로 이루어지는 경우, 선거 관리자는 강의실 내 학생들에게 "선거 명칭"을 공개하고, 유권자 본인 인증 절차를 위치/시간 정보 지정할 수 있다.
즉, 선거 관리자 단말(200)은 "선거 명칭"과 함께 유권자 본인 인증 절차를 지정하여, 전자 투표 서버(300)로 송신할 수 있다. 전자 투표 서버(300)는 해당 절차를 진행한 유권자 단말(100)로부터 제공받은 투표 데이터를 유효한 투표 데이터로 취급할 수 있다.
전자 투표 서버(300)는 유권자와 선거 관리자에게 선거를 위한 전자 투표 서비스를 제공할 수 있다. 구체적으로, 전자 투표 서버(300)는 선거 관리자로부터 제공 받은 선거 정보를 등록하고, 유권자들이 선거 명칭을 통해 투표에 참여할 수 있는 전자 투표 서비스를 제공할 수 있다. 여기서, 전자 투표 서버(300)는 유권자 명부가 확정되지 않은 상태에서 투표를 진행할 수 있으며, 투표가 완료된 후 유권자 명부를 확정하고, 개표 결과를 도출할 수 있다.
도 2는 본 발명의 일 실시 예에 따른 전자 투표 서버(300)의 구성을 나타낸 도면이다.
도 2를 참조하면, 전자 투표 서버(300)는 암호화키 생성부(310), 통신부(320), 유권자 명부 생성부(330), 유권자 명부 검증부(340), 복호화부(350) 및 개표 익명화부(360)를 포함할 수 있다.
암호화키 생성부(310)는 선거에서 사용할 암호화키를 생성할 수 있다. 구체적으로, 암호화키 생성부(310)는 선거 명칭 및 투표데이터에 적용될 투표 서명 생성키(skv), 투표 서명 검증키(pkv) 한 쌍을 생성하고, 유권자의 투표 선택 정보, 즉 투표 데이터 개표에 적용할 개표 복호화키(skt), 개표 암호화키(pkt) 한 쌍을 생성할 수 있다. 참조번호에서 알 수 있다시피, 암호화키 생성부(310)는 암호화와 복호화에 사용되는 키가 다른 비대칭키 암호화 방식으로 한 쌍의 키들을 생성할 수 있으며, 예를 들어, 비대칭키 암호화 방식은 디피-헬만 키 교환, RSA 암호화, Rabin 암호, ELGamml, DSA, 타원 곡선 암호화 방식일 수 있다.
아울러, 암호화키 생성부(310)는 보안성, 익명성을 위해 개표 복호화키(skt)를 복수의 비밀키(a0) 조각으로 분할할 수 있다. 구체적으로, 암호화키 생성부(310)는 [식 4]와 같은 다차 방정식을 이용하여, 개표 복호화키(skt)를 [식 5]와 같은 n개의 비밀키(a0)로 조각낼 수 있 다. 여기서, 개표 복호화키(skt)는 개표 위원의 수(n명)와 동일한 n개로 조각나고, n개의 비밀키(a0) 조각은 개표 위원들에게 하나씩 분배될 수 있다. 아울러, 개표 복호화키(skt)는 n명의 개표 위원 중 k명의 개표 위원이 비밀키(a0) 조각을 제출할 경우에 복원될 수 있다(n≥k).
[식 4]
Figure 112020070438413-pat00005
여기서, a1, a2, ..., an-1는 랜덤 값, k, n은 임계치(0<k≤n<P, ai<P)이다.
[식 5]
Figure 112020070438413-pat00006
통신부(320)는 유권자 단말(100) 및 선거 관리자 단말(200)과 선거와 관련된 각종 정보를 주고 받을 수 있다. 구체적으로, 통신부(320)는 선거 관리자 단말(200)로부터 선거 명칭과 함께 선거 관련 정보를 수신할 수 있다. 여기서, 선거 관련 정보는 선거 명칭, 선거 일정(예. 선거 운동 시작일, 종료일, 투표일), 후보자 목록(예. 후보자 정보, 후보자 이미지, 본인 PR 영상), 후보자 공약 등을 포함할 수 있다. 그에 따라, 만약 유권자 단말(100)이 선거 명칭을 검색하는 경우, 통신부(320)는 선거 명칭과 일치하는 선거 정보를 유권자 단말(100)로 송신할 수 있다.
유권자 명부 생성부(330)는 투표에 참여하기 위해 본인 인증을 통과한 유권자들을 기초로 임시 유권자 명부를 생성할 수 있다. 구체적으로, 유권자 명부 생성부(330)는 전자 서명(Signsku)된 유권자 식별 항목을 송신한 유권자 단말(100)을 임시 유권자 명부에 기록할 수 있다. 아울러, 전자 서명(Signsku)된 유권자 식별 항목은 유권자의 이름, 유권자 식별 항목, 부가 정보와 같이 복수 개의 항목을 포함할 수 있다. 다시 말해서, 임시 유권자 명부에는 한 명의 유권자와 이에 대응되는 복수의 유권자 식별 항목이 기록될 수 있으며, 이는 유권자 명부를 확정하기 위해 이용될 수 있다.
한편 이와 동시에, 통신부(320)는 임시 유권자 명부에 기록된 유권자 단말(100)로부터 암호화된 투표 데이터를 수신할 수 있으며, 투표 데이터는 암호화키 생성부(310)가 생성한 개표 암호화키(pkt)를 이용하여 암호화될 수 있다.
유권자 명부 검증부(340)는 투표가 종료된 후, 투표 데이터를 검증하여, 유권자 명부를 확정할 수 있다. 구체적으로, 유권자 명부 검증부(340)는 복수의 유권자 식별 항목을 검증하여, 임시 유권자 명부에 기록된 유권자를 최종 유권자 명부에 기록할지 결정할 수 있다.
유권자 명부 검증부(340)는 전자 서명(Signsku)된 복수의 유권자 식별 항목 각각을 검증하고, 그 결과를 "Signskvj(RETi); 검증 완료(Xi= Xj인 경우에만)" 또는 "Signskvj(~RETi); 검증 실패(Xi= Xj인 경우에만)"로 구분하여 공개할 수 있다. 여기서, i는 유권자를 식별하기 위한 임의의 번호일 수 있다. 또한, 유권자 명부 검증부(340)는 검증한 유권자 식별 항목이 유권자의 소속 정보와 같은 부가 정보일 경우, 진위 여부를 표시할 수 잇다.
유권자 명부 검증부(340)는 하기 [식 6]에 도시된 바와 같이, Signskvj(RETi)의 수가 Signskvj(~RETi) 수 보다 많은 유권자를 최종 유권자 명부에 기록할 수 있다.
[식 6]
Figure 112020070438413-pat00007
한편, 유권자 명부 검증부(340)는 유권자를 이용하여 임시 유권자 명부 확정 지을 수 있다. 구체적으로, 유권자 명부 검증부(340)는 통신부(320)를 통해 복수의 유권자 식별 항목 중 어느 하나의 식별 항목에 대한 검증 요청을 유권자 식별 항목과 대응되는 유권자와는 다른 유권자 단말(100)로 송신할 수 있으며, 유권자 단말(100)로부터 수신한 검증 결과를 확인할 수 있다. 그에 따라, 유권자 명부 검증부(340)는 다른 유권자에 의해 검증을 통과한 유권자를 최종 유권자 명부에 기록할 수 있다.
예를 들어, 유권자 식별 항목이 유권자의 소속 정보(예. 부서명, 조직명, 유권자의 직급)일 경우, 유권자 명부 검증부(340)는 해당 유권자의 소속 정보와 일치하는 다른 유권자에게 검증을 요청할 수 있다. 여기서, 유권자 식별 항목에 대한 유효성을 판단하는 유권자는 유권자들 간에 신뢰받는 유권자일 수 있으며, 투표가 종료된 후, 유권자 명부 검증부(340)에 의해 임의로 선정된 유권자일 수 있고 선거관리위원회에서 지정된 검증위원회 위원일 수도 있다. 또한, 임시 유권자 명부에 기록된 적어도 절반 이상의 유권자가 유권자 식별 항목에 대한 유효성을 판단할 수 있으며, 그에 따라 선거에 대한 유권자들의 신뢰도를 확보할 수 있다.
복호화부(350)는 확정된 유권자 명부에서 개표 결과를 도출하기 위한 투표 데이터를 추출할 수 있다. 구체적으로, 복호화부(350)는 최종 유권자 명부에서 복수의 비밀키(a0)로 조각 난 개표 암호화키(pkt)를 수집하여, 하나의 개표 암호화키(pkt)를 획득하고, 이를 이용하여 최종 유권자 명부에 기록된 유권자들의 투표 데이터를 추출할 수 있다.
또한, 복호화부(350)는 후술하게 될 개표 익명화부(360)에 의해 익명성이 보장되고, 암호화된 투표 데이터를 다시 개표 복호화키(skt)를 이용하여 복호화하여 최종 투표 데이터를 획득할 수 있다.
개표 익명화부(360)는 복호화부(350)를 통해 추출된 투표 데이터의 익명성을 보장하기 위해 믹스넷(Mix-net) 기법을 이용하여 전자 투표를 비밀 투표로 만들 수 있다. 구체적으로, 개표 익명화부(360)는 입력된 값(투표 데이터)들의 순서를 조정할 수 있는 치환 행렬(Permutation Matrix, ð)을 이용하여 Shuffle을 수행하고, 입력된 데이터의 모습을 바꾸기 위해 Randomization 일환으로 ElGamal 재암호화(RE, Dsk(REpk(c))=m)할 수 있다. 그에 따라, 입력 값과 출력 값의 연결 고리가 제거되고, 복호화부(350)에 의해 복호화된 투표 결과(투표 데이터)로부터 유권자를 식별할 수 없도록 하여 투표의 비밀성을 보장할 수 있다.
다시 말해서, 개표 익명화부(360)를 통해 투표 데이터와 유권자의 전자 서명(Signsku)이 매칭되지 않을 수 있으며, 투표 데이터와 유권자 단말을 무작위로 배열하고 재암호화하는 방법은 상술한 예시 외에도 공지된 다양한 기술이 이용될 수 있다.
개표 익명화부(360)는 익명화가 완료된 투표 데이터를 집계하여, 결과를 공개할 수 있으며, 이는 유권자 단말(100)과 선거 관리자 단말(200) 모두가 확인 가능할 수 있다.
지금까지 본 발명의 일 실시 예에 따른 전자 투표 서버(300) 및 이를 포함하는 전자 투표 시스템(1000)에 대하여 설명하였다. 본 발명에 따르면, 전자 투표 시스템(1000)은 선거 위해 사전에 유권자 명부를 작성하지 않아, 선거 준비 과정을 간소화시킬 수 있다. 또한, 투표가 종료된 후, 투표권을 행사한 유권자의 개인 정보, 각종 인증 방법을 통한 검증 외에도, 유권자들이 서로가 정당한 유권자인지 검증해주는 상호 검증 과정을 거쳐, 최종 유권자 명부를 생성할 수 있으며, 각 유권자의 개인 정보(고유 식별 정보), 투표 정보, 검증 정보를 암호화하여, 전자 투표의 보안성 향상 및 익명성, 기밀성을 보장할 수 있다.
또한, 유권자는 선거 명칭만으로 해당 선거와 관련된 각종 정보들을 확인할 수 있어, 후보자의 정보, 공약 등을 찾아보기 위한 시간을 절약할 수 있으며, 그에 따라 유권자들의 선거 참여율을 높일 수 있다.
이하에서는 상술한 전자 투표 서버(300)가 유권자 명부 없는 선거 명칭을 이용하여 전자 투표 서비스를 제공하는 방법에 대하여 설명하도록 한다.
도 3은 본 발명의 일 실시 예에 따른 전자 투표 서버(300)가 선거 명칭을 이용한 전자 투표 서비스를 제공하는 방법을 나타낸 흐름도이다.
이는 본 발명의 목적을 달성하기 위한 바람직한 실시 예일 뿐이며, 필요에 따라 일부 단계가 삭제 또는 추가되거나, 어느 한 단계가 다른 단계에 포함되어 수행될 수 있음은 물론이다.
도 3을 참조하면, 전자 투표 서버(300)는 선거 명칭 및 투표데이터에 적용될 투표 서명 생성키(skv), 투표 서명 검증키(pkv) 한 쌍을 생성하고, 유권자의 투표 선택 정보에 적용될 개표 복호화키(skt), 개표 암호화키(pkt) 한 쌍을 생성한다(S101). 즉, 전자 투표 서버(300)는 암호화와 복호화에 사용되는 키가 다른 비대칭키 암호화 방식으로 한 쌍의 키들을 생성할 수 있으며, 예를 들어, 비대칭키 암호화 방식은 디피-헬만 키 교환, RSA 암호화, Rabin 암호, ELGamml, DSA, 타원 곡선 암호화 방식일 수 있다.
또한, 전자 투표 서버(300)는 개표 복호화키(skt)를 복수의 비밀키(a0) 조각으로 분할하여, 투표의 보안을 강화시킬 수 있다.
S101 단계 이후, 전자 투표 서버(300)는 선거를 주관하는 선거 관리자 단말(200)로부터 선거 명칭을 입력 받고, 투표 서명 생성키(skv)를 이용하여 선거 명칭을 암호화한다(S102). 구체적으로, 전자 투표 서버(300)는 유권자 명부 없이 선거를 진행하기 위해 선거 명칭을 전자 서명할 수 있으며, 유권자가 투표권을 행사하기 위해 유권자 단말(100)을 통해 선거 명칭을 검색하고 선택할 시에, 해당 선거 명칭이 투표 서명 검증키(pkv)를 이용하여 유권자 단말(100)에 의해 검증될 수 있다.
아울러, 선거 명칭은 하나의 선거에 하나의 선거 명칭이 일대일 대응되는 것이 아니라, 주기적으로 이루어지는 선거에 동일한 명칭으로 사용가능하여, 유권자들의 선거 참여율을 높일 수 있다.
한편, 전자 투표 서버(300)는 선거 명칭 외에 선거와 관련된 각종 정보를 선거 관리자 단말(200)로부터 수신할 수 잇다. 예를 들어, 선거 관련 정보는 선거 명칭, 선거 일정(예. 선거 운동 시작일, 종료일, 투표일), 후보자 목록(예. 후보자 정보, 후보자 이미지, 본인 PR 영상), 후보자 공약 등을 포함할 수 있다. 즉, 선거 관리자는 전자 투표에 참여할 수 있는 유권자 명부와 각 유권자에게 제공할 유권자 고유의 URL, PIN 코드 등을 사전에 마련하지 않고, 단지 유권자들에게 "선거 명칭"을 공표하는 것만으로 선거를 수행할 수 있다.
또한, 전자 투표 서버(300)는 선거 관리자 단말(200)로부터 선거 명칭과 함께 유권자 본인 인증 절차 방식을 지정 받을 수 있다. 예를 들어, 선거가 강의실 내 학생들을 대상으로 이루어지는 경우, 선거 관리자는 강의실 내 학생들에게 "선거 명칭"을 공개하고, 유권자 본인 인증 절차를 위치/시간 정보 지정할 수 있다.
즉, 선거의 특성에 따라 특정 선거 명칭은 선거 관리자 단말(200)이 설정한 투표 조건에 부합하는 유권자들에게만 공개될 수 있으며, 전자 투표 서버(300)는 이러한 특성을 고려하여, 참여하지 않는 유권자들을 포함시켜 유권자 명부를 만들지 않아도 선거를 진행할 수 있다.
S102 단계 이후, 전자 투표 서버(300)는 선거 명칭을 검색한 유권자 단말(100)로 선거 명칭과 일치하는 선거 정보를 송신한다(S103). 여기서, 선거 정보는 선거 관리자 단말(200)로부터 수신한 선거 명칭, 선거 일정(예. 선거 운동 시작일, 종료일, 투표일), 후보자 목록(예. 후보자 정보, 후보자 이미지, 본인 PR 영상), 후보자 공약 등일 수 있다.
S103 단계 이후, 전자 투표 서버(300)는 유권자 단말(100)로부터 암호화된 투표 데이터를 수신하고(S104), 수신한 투표 데이터를 검증하여, 유권자 명부를 확정한다(S105).
도 4는 도 3에 도시된 S104 단계와 S105 단계를 구체화한 순서도이다.
도 4를 참조하면, 전자 투표 서버(300)는 유권자 단말(100)로부터 복수의 유권자 식별 항목을 수신하고, 수신한 복수의 유권자 식별 항목과 함께 해당 유권자를 임시 유권자 명부에 기록한다(S104-1). 여기서, 복수의 유권자 식별 항목은 유권자 단말(100)에 의해 전자 서명(Signsku)된 정보일 수 있으며, 유권자의 이름, 유권자 식별 항목, 부가 정보와 같이 복수 개를 포함할 수 있다. 아울러, 복수의 유권자 식별 항목을 전자 투표 서버(300)로 송신하기 위해 유권자는 검증 기관 서버를 통해 본인임을 인증할 수 있다.
한편, 투표에 참여하는 유권자에 대한 정보가 유권자 당사자에게만 증명된 정보인 바, 복수의 유권자 식별 항목을 제공한 유권자를 "임시" 유권자 명부에 기록할 수 있으며, 이후의 검증 과정을 통해 임시 유권자 명부에 기록된 유권자를 최종 유권자 명부에 기록할 수 있다.
S104-1 단계 이후, 전자 투표 서버(300)는 임시 유권자 명부에 기록된 유권자 단말(100)로부터 암호화된 투표 데이터를 수신한다(S104-2). 여기서 투표 데이터는 전자 투표 서버(300)가 생성한 개표 암호화키(pkt)를 이용하여 암호화될 수 있다.
투표에 참여한 유권자로부터 유권자 식별 항목을 수신하고, 이를 기초로 임시 유권자 생성하였다면, 전자 투표 서버(300)는 두 가지의 방식을 통해 최종적으로 유권자 명부를 확정할 수 있다.
1. 유권자 식별 항목 추가 검증(전자 서명(Signsku) 검증)
S104-2 단계 이후, 전자 투표 서버(300)는 복수의 유권자 식별 항목 각각을 검증하여, 검증 결과를 카운트 및 비교할 수 있다. 구체적으로, 한 명의 유권자와 이에 대응되는 복수의 유권자 식별 항목이 기록되어 있는 바, 전자 투표 서버(300)는 복수의 유권자 식별 항목 각각을 검증하고, 복수의 유권자 식별 항목에서 검증을 통과하는 유권자 식별 항목의 수가 검증을 통과하지 못하는 유권자 식별 항목의 수보다 많은지 확인할 수 있다(S105-1).
S105-1 단계에서, 검증을 통과한 유권자 식별 항목의 수가 검증을 통과하지 못하는 유권자 식별 항목의 수보다 많을 경우, 전자 투표 서버(300)는 해당 유권자가 제공한 정보가 유효한 것으로 판단하고, 해당 유권자를 최종 유권자 명부에 기록할 수 있다(S105-2, YES).
반면 S105-1 단계에서, 검증을 통과한 유권자 식별 항목의 수가 검증을 통과하지 못하는 유권자 식별 항목의 수보다 적을 경우, 전자 투표 서버(300)는 해당 유권자를 최종 유권자 명부에서 제외할 수 있다(S105-3, NO).
2. 유권자들 간의 상호 검증
S104-2 단계 이후, 전자 투표 서버(300)는 복수의 유권자 식별 항목 중 어느 하나의 유권자 식별 항목에 대한 검증 요청을 식별 항목에 대응되는 유권자와는 다른 유권자 단말(100)로 송신할 수 있으며(S105-10), 유권자 식별 항목이 검증을 통과하는지 확인할 수 있다(S105-20). 이는 곧 유권자들로부터 선거에 대한 신뢰도를 확보하기 위한 방법으로서, 소속 정보와 같은 다수의 유권자들이 동일한 범주의 부가 정보를 가진 경우에 이용될 수 있다.
즉, 유권자 식별 항목이 유권자의 소속 정보(예. 부서명, 조직명, 유권자의 직급)일 경우, 전자 투표 서버(300)는 해당 유권자의 소속 정보와 일치하는 다른 유권자에게 검증을 요청할 수 있다. 여기서, 유권자 식별 항목에 대한 유효성을 판단하는 유권자는 유권자들 간에 신뢰받는 유권자일 수 있으며, 투표가 종료된 후, 전자 투표 서버(300)에 의해 임의로 선정된 유권자일 수 있다. 또한, 임시 유권자 명부에 기록된 적어도 절반 이상의 유권자가 유권자 식별 항목에 대한 유효성을 판단할 수 있으며, 그에 따라 선거에 대한 유권자들의 신뢰도를 확보할 수 있다.
또한, 유권자가 어느 하나의 유권자를 검증하는 과정은 꼬리를 무는 방식으로 계속될 수 있다. 즉, A 유권자를 검증하는 B유권자를 C유권자가 검증할 수 있으며, A 유권자를 검증하는 B, D 유권자, B, D 유권자를 검증하는 E, F, G, H 유권자?? 와 같이 유권자들간의 검증 트리(Tree)를 확장할 수 있으며, 최종적으로 전체 유권자가 서로서로를 검증하게 될 수 있다. 아울러, 검증의 시작이 되는 B, B/D 유권자는 선거 관리 위원회에서 지정한 검증위원일 수 있다.
이와 같이, 유권자들의 검증 트리를 확장해 나갈 경우, 검증의 공정성과 신뢰성을 확보할 수 있으며, 최종 유권자 명부에 오차 발생률을 현저히 감소시킬 수 있다.
S105-20 단계에서 유권자 식별 항목이 다른 유권자에 의해 검증을 통과할 경우, 전자 투표 서버(300)는 해당 유권자를 최종 유권자 명부에 기록할 수 있으며(S105-30, YES), 반대로 S105-20 단계에서 유권자 식별 항목이 다른 유권자에 의해 검증을 통과하지 못할 경우, 전자 투표 서버(300)는 해당 유권자를 최종 유권자 명부에서 제외할 수 있다(S105-40, NO).
다시 도 3을 참조하여 설명한다.
S105 단계 이후, 전자 투표 서버(300)는 확정된 유권자 명부를 기초로 개표 결과를 도출한다(S106). 구체적으로, 전자 투표 서버(300)는 최종 유권자 명부에서 복수의 비밀키(a0) 조각을 추출하여, 개표 암호화키(pkt)를 복원할 수 있으며, 이를 이용하여 최종 유권자 명부에 기록된 암호화된 투표 데이터를 추출할 수 있다.
이때, 전자 투표 서버(300)가 추출한 투표 데이터는 유권자의 정보가 노출되어 있기 때문에, 전자 투표 서버(300)는 추출된 투표 데이터의 익명성을 보장하기 위해 믹스넷(Mix-net) 기법을 이용하여 전자 투표를 비밀 투표로 만들 수 있다. 예를 들어, 전자 투표 서버(300)는 입력된 값(투표 데이터)들의 순서를 조정할 수 있는 치환 행렬(Permutation Matrix, ð)을 이용하여 Shuffle을 수행하고, 입력된 데이터의 모습을 바꾸기 위해 Randomization 일환으로 ElGamal 재암호화(RE, Dsk(REpk(c))=m)할 수 있다. 그에 따라, 입력 값과 출력 값의 연결 고리가 제거되고, 개표 복호화키(skt)를 이용하여 복호화된 투표 결과로부터 유권자를 식별할 수 없도록 하여 투표의 비밀성을 보장할 수 있다.
상술한 방법을 통해, 전자 투표 서버(300)는 익명화가 완료된 투표 데이터를 집계하여 투표 결과를 공개할 수 있으며, 전자 투표 서버(300)는 투표, 개표 과정에서 비밀 투표를 보장할 수 있다.
도 5는 본 발명의 일 실시 예에 따른 전자 투표 시스템(1000)을 이용한 전자 투표 방법의 흐름을 개략적으로 나타낸 도면이다.
도 5를 참조하면, 유권자는 유권자 단말(100)을 통해 본인 인증을 하고, 유권자 식별 정보를 등록함으로써, 유권자 명부에 본인의 식별 정보를 기록할 수 있으며, 개표 암호화키(pkt)를 이용하여 투표 선택 정보를 암호화한 후 투표 데이터를 생성할 수 있다. 여기서, 개표 암호화키(pkt)를 이용하여 암호화된 투표 데이터는 복수의 비밀키(a0)로 조각 중 하나의 조각을 가질 수 잇다.
또한, 유권자 명부를 관리하는 전자 투표 서버(300)의 요청에 따라 유권자 식별 정보(본인 식별 정보)에 대한 검증을 할 수 있으며, 이는 유권자 상호 간의 평판을 확인하는 것으로 이해될 수 있다.
전자 투표 서버(300)는 개표된 확정된 유권자 명부에서 복수의 비밀키(a0) 조각을 추출하여, 개표 암호화키(pkt)를 복원하고, 이를 이용하여 암호화된 투표 데이터를 추출할 수 있으며, 이를 믹스넷(Mix-net) 기법을 이용하여 익명화시킬 수 있다.
즉, 전자 투표 서버(300)는 개표 전, 유권자의 투표 선택 정보를 익명화시켜 전자 투표의 보안성을 향상시킬 수 있으며, 마지막으로 복원된 개표 복호화키(skt)를 이용하여 투표 데이터를 집계하여 개표 결과를 도출할 수 있다.
지금까지 본 발명의 일 실시 예에 따른 전자 투표 시스템(1000)을 이용하여 전자 투표를 진행하기 위한 일련의 과정에 대하여 설명하였다. 본 발명에 따르면, 사전에 제작된 유권자 명부 없이, 그리고 선거 명칭만을 이용하여 전자 투표의 익명성, 기밀성을 보장하고 신뢰도 있는 전자 투표 서비스를 제공할 수 있다.
또한, 투표가 완료된 후에 유권자 명부를 확정 짓는 바, 선거 관리자의 실수 또는 부정 선거가 발생하더라도 이를 바로 잡을 수 있으며, 전자 투표 방식의 재개표에 대한 신뢰도를 높일 수 있다.
한편, 본 발명은 또한 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체는 마그네틱 저장매체, 광학적 판독 매체 등 모든 저장매체를 포함한다. 또한, 본 발명에서 사용되는 메시지의 데이터 포맷을 기록 매체에 기록하는 것이 가능하다.
이상 첨부된 도면을 참조하여 본 발명의 실시 예들을 설명하였지만, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
1000: 전자 투표 시스템
100: 유권자 단말
200: 선거 관리자 단말
300: 전자 투표 서버
310: 암호화키 생성부
320: 통신부
330: 유권자 명부 생성부
340: 유권자 명부 검증부
350: 복호화부
360: 개표 익명화부

Claims (11)

  1. 전자 투표 서버가 선거 명칭을 이용하여 전자 투표 서비스를 제공하는 방법으로서,
    선거 명칭을 검색한 유권자 단말로 상기 선거 명칭과 일치하는 선거 정보를 송신하는 단계;
    본인 인증을 통과한 유권자 단말로부터 복수의 유권자 식별 항목을 수신하는 단계;
    상기 복수의 유권자 식별 항목과 함께 해당 유권자를 임시 유권자 명부에 기록하는 단계;
    상기 유권자 단말로부터 암호화된 투표 데이터를 수신하는 단계;
    상기 복수의 유권자 식별 항목을 검증하여 최종 유권자 명부를 확정하는 단계; 및
    확정된 최종 유권자 명부를 기초로 개표 결과를 도출하는 단계;
    를 포함하고,
    상기 최종 유권자 명부를 확정하는 단계는, 상기 투표 데이터가 수신된 유권자 단말의 유권자들만을 대상으로 최종 유권자 명부를 확정하는 것을 특징으로 하는, 선거 명칭을 이용한 전자 투표 방법.
  2. 제1항에 있어서,
    상기 송신하는 단계 이전에,
    투표를 위한 유권자의 투표 서명 생성키(skv) 및 투표 서명 검증키(pkv) 한 쌍, 개표를 위한 전자 투표 서버의 개표 복호화키(skt) 및 개표 암호화키(pkt) 한 쌍을 생성하는 단계;
    를 포함하는 선거 명칭을 이용한 전자 투표 방법.
  3. 제2항에 있어서,
    상기 한 쌍을 생성하는 단계는,
    상기 개표 복호화키(skt)를 복수의 비밀키(a0) 조각으로 분할하는 단계;
    를 포함하는 선거 명칭을 이용한 전자 투표 방법.
  4. 제3항에 있어서,
    상기 한 쌍을 생성하는 단계와 상기 선거 정보를 송신하는 단계 사이에서,
    선거를 주관하는 선거 관리자 단말로부터 선거 명칭을 입력 받고, 상기 투표 서명 생성키(skv)을 이용하여 상기 선거 명칭을 전자서명하는 단계;
    를 포함하는 선거 명칭을 이용한 전자 투표 방법.
  5. 제4항에 있어서,
    상기 선거 명칭은,
    상기 선거 관리자 단말이 설정한 투표 조건에 부합하는 유권자에게 공개되는 명칭인, 선거 명칭을 이용한 전자 투표 방법.
  6. 제4항에 있어서,
    상기 선거 명칭은,
    상기 투표 서명 검증키(pkv)를 이용하여 상기 유권자 단말에 의해 검증되는, 선거 명칭을 이용한 전자 투표 방법.
  7. 제4항에 있어서,
    상기 유권자 단말로부터 암호화된 투표 데이터를 수신하는 단계는,
    상기 임시 유권자 명부에 기록된 유권자 단말로부터 투표 선택 정보가 상기 개표 암호화키(pkt)에 의해 암호화된 투표 데이터를 수신하는 단계인,
    선거 명칭을 이용한 전자 투표 방법.
  8. 제7항에 있어서,
    상기 유권자 명부를 확정하는 단계와 상기 개표 결과를 도출하는 단계 사이에서,
    상기 복수의 유권자 식별 항목을 각각 검증하는 단계; 및
    검증을 통과한 유권자 식별 항목의 수가 검증을 통과하지 못한 유권자 식별 항목의 수 보다 많은 유권자를 최종 유권자 명부에 기록하는 단계;
    를 포함하는 선거 명칭을 이용한 전자 투표 방법.
  9. 제7항에 있어서,
    상기 유권자 명부를 확정하는 단계와 상기 개표 결과를 도출하는 단계 사이에서,
    상기 복수의 유권자 식별 항목 중 어느 하나의 유권자 식별 항목에 대한 검증 요청을 다른 유권자 단말로 송신하는 단계; 및
    상기 다른 유권자 단말을 통한 검증 결과를 수신하고, 검증을 통과한 유권자를 최종 유권자 명부에 기록하는 단계;
    를 포함하는 선거 명칭을 이용한 전자 투표 방법.
  10. 제8항 또는 제9항에 있어서,
    상기 개표 결과를 도출하는 단계는,
    상기 최종 유권자 명부에서 조각난 복수의 비밀키(a0) 조각을 추출하여, 개표 암호화키(pkt)를 복원하고, 상기 투표 데이터를 추출하는 단계;
    를 포함하는 선거 명칭을 이용한 전자 투표 방법.
  11. 제10항에 있어서,
    상기 개표 결과를 도출하는 단계는,
    상기 투표 데이터와 상기 유권자 단말을 무작위로 배열 및 재암호화하는 단계; 및
    재암호화된 투표 데이터를 상기 개표 복호화키(skt)를 이용하여 개표하는 단계;
    를 포함하는 선거 명칭을 이용한 전자 투표 방법.
KR1020200083490A 2020-07-07 2020-07-07 선거 명칭을 이용한 전자 투표 방법 KR102179421B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200083490A KR102179421B1 (ko) 2020-07-07 2020-07-07 선거 명칭을 이용한 전자 투표 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200083490A KR102179421B1 (ko) 2020-07-07 2020-07-07 선거 명칭을 이용한 전자 투표 방법

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020190165882 Division 2019-12-12

Publications (1)

Publication Number Publication Date
KR102179421B1 true KR102179421B1 (ko) 2020-11-16

Family

ID=73680061

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200083490A KR102179421B1 (ko) 2020-07-07 2020-07-07 선거 명칭을 이용한 전자 투표 방법

Country Status (1)

Country Link
KR (1) KR102179421B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120028159A (ko) * 2010-09-14 2012-03-22 주식회사 이맥소프트 개인정보 보호를 강화한 전자투표방법
KR101747833B1 (ko) 2015-08-19 2017-06-14 주식회사 자하스마트 보안성이 향상된 전자투표 운용 시스템, 방법 및 그 방법을 실행시킬 수 있는 컴퓨터로 읽을 수 있는 프로그램이 저장된 기록매체
KR20180016641A (ko) * 2015-04-23 2018-02-14 최운호 유비쿼터스 환경에서 인증
KR20180096976A (ko) * 2017-02-22 2018-08-30 (주)우리리서치 전자투표 서비스를 제공하는 서버, 방법, 컴퓨터 프로그램 및 컴퓨터 판독 가능한 기록 매체

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120028159A (ko) * 2010-09-14 2012-03-22 주식회사 이맥소프트 개인정보 보호를 강화한 전자투표방법
KR20180016641A (ko) * 2015-04-23 2018-02-14 최운호 유비쿼터스 환경에서 인증
KR101747833B1 (ko) 2015-08-19 2017-06-14 주식회사 자하스마트 보안성이 향상된 전자투표 운용 시스템, 방법 및 그 방법을 실행시킬 수 있는 컴퓨터로 읽을 수 있는 프로그램이 저장된 기록매체
KR20180096976A (ko) * 2017-02-22 2018-08-30 (주)우리리서치 전자투표 서비스를 제공하는 서버, 방법, 컴퓨터 프로그램 및 컴퓨터 판독 가능한 기록 매체

Similar Documents

Publication Publication Date Title
US10530577B1 (en) Systems and methods for biometric key generation in data access control, data verification, and path selection in block chain-linked workforce data management
RU2652443C1 (ru) Система и способ определения количества голосов избирателей, собираемых с помощью электронного голосования
CA2947086C (en) System and method for secure voting
AU2003212617B2 (en) A biometric authentication system and method
Roh et al. A study on electronic voting system using private blockchain
CN111800252A (zh) 基于区块链的信息审核方法、装置和计算机设备
US20220141020A1 (en) Blockchain e-voting system and operating method thereof
US20220405765A1 (en) Know your customer (kyc) and anti-money laundering (aml) verification in a multi-decentralized private blockchains network
CN112002436B (zh) 基于区块链的医疗问答方法、装置及介质
Qureshi et al. SeVEP: Secure and verifiable electronic polling system
Pathak et al. Blockchain based e-voting system
Juan et al. A model for national electronic identity document and authentication mechanism based on blockchain
Zhu et al. Secure Online Examination with Biometric Authentication and Blockchain‐Based Framework
CN103858377B (zh) 用于管理和控制来自组织成结构化集合的不同身份域的数据的方法
Sarier Privacy Preserving Biometric Authentication on the blockchain for smart healthcare
Al-Rawy et al. A design for blockchain-based digital voting system
Khairnar et al. Survey on secure online voting system
KR20210032880A (ko) 숙의 및 투표를 통한 의사 결정 방법
Vakarjuk et al. Russian federal remote E-voting scheme of 2021–protocol description and analysis
KR102179421B1 (ko) 선거 명칭을 이용한 전자 투표 방법
KR102208763B1 (ko) 선거 명칭을 이용한 전자 투표 시스템
Pan et al. Enhanced name and vote separated E‐voting system: an E‐voting system that ensures voter confidentiality and candidate privacy
KR102307668B1 (ko) 인증 시스템 및 인증 방법
KR100743356B1 (ko) 전자 투표 시스템 및 그 방법
US12002297B1 (en) System and method for reliable opinion polls

Legal Events

Date Code Title Description
A302 Request for accelerated examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant