KR101747833B1 - 보안성이 향상된 전자투표 운용 시스템, 방법 및 그 방법을 실행시킬 수 있는 컴퓨터로 읽을 수 있는 프로그램이 저장된 기록매체 - Google Patents

보안성이 향상된 전자투표 운용 시스템, 방법 및 그 방법을 실행시킬 수 있는 컴퓨터로 읽을 수 있는 프로그램이 저장된 기록매체 Download PDF

Info

Publication number
KR101747833B1
KR101747833B1 KR1020160051075A KR20160051075A KR101747833B1 KR 101747833 B1 KR101747833 B1 KR 101747833B1 KR 1020160051075 A KR1020160051075 A KR 1020160051075A KR 20160051075 A KR20160051075 A KR 20160051075A KR 101747833 B1 KR101747833 B1 KR 101747833B1
Authority
KR
South Korea
Prior art keywords
information
voting
verification
key
encrypted
Prior art date
Application number
KR1020160051075A
Other languages
English (en)
Other versions
KR20170022857A (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 주식회사 자하스마트
Publication of KR20170022857A publication Critical patent/KR20170022857A/ko
Application granted granted Critical
Publication of KR101747833B1 publication Critical patent/KR101747833B1/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
    • 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
    • G07C13/02Ballot boxes
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • 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
    • 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

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

Abstract

본 발명은 보안성이 향상된 전자투표 운용 시스템 및 방법에 대한 것으로, 본 발명에 따르면 기표정보를 암호화하고 복호화하는 보안키의 운용 방식을 개선하여 기표정보의 유출이나 조작이 불가능하도록 하고, 분쟁 발생시 검증이 가능토록 하여 제3자에 의한 대리투표가 원천적으로 방지될 수 있다.

Description

보안성이 향상된 전자투표 운용 시스템, 방법 및 그 방법을 실행시킬 수 있는 컴퓨터로 읽을 수 있는 프로그램이 저장된 기록매체{System and method for operating electronic vote, and recording medium thereof}
본 발명은 전자투표 운용 시스템 및 방법에 관한 것으로, 투표의 기밀성 유지, 부정한 개표 방지, 분쟁 발생시 검증이 가능토록 하는 기술에 대한 것이다.
전통적인 투표 방식은 선거일에 정해진 투표 장소에 방문하여 신분 확인을 거쳐 종이로 된 기표용지에 기표를 하고 투표함에 투입하는 절차로 이루어진다. 이후 투표함을 개봉하여 기표용지를 수작업으로 확인함으로써 개표가 이루어진다.
하지만 전통적인 투표 방식은 시간적, 공간적 제약이 따르고 투표와 개표 절차 모두 번거롭다는 문제가 있다. 특히 국가 차원에서 시행하는 선거의 경우 공휴일로 지정되어 투표에 참여할 수 있도록 유도하고 있지만, 아파트 동대표 선출과 같은 민간 차원의 투표의 경우 따로 시간을 내야 하기 때문에 투표 참여율이 매우 낮다는 문제점이 있다.
이를 위해 온라인을 통해 투표를 실시하는 전자 투표 시스템에 대한 연구가 진행되고 있다. 즉 투표자가 따로 투표 장소에 방문하지 않더라도 투표단말을 이용하여 투표권을 행사함으로써 시간적, 공간적 제약이 없고, 전산을 통해 개표가 즉시 이루어질 수 있도록 하는 것이다.
하지만 전자투표의 경우 신분 확인이 어렵기 때문에 대리 투표의 우려가 있고, 기표정보의 조작이라는 부정행위도 염려되는 바이다.
한편 전자투표와 관련된 종래 기술로는 대한민국공개특허 제10-2005-0112008호 등이 있다.
본 발명은 상술한 바와 같은 종래 기술의 문제점을 해결하기 위해 안출된 것으로, 기표정보를 암호화하고 복호화하는 보안키의 운용 방식을 개선하여 기표정보의 유출이나 조작이 불가능하도록 하고, 분쟁 발생시 검증이 가능토록 하여 제3자에 의한 대리투표가 원천적으로 방지될 수 있도록 하는 전자투표 운용 시스템 및 방법을 제공하는 데 그 목적이 있다.
상기 목적을 달성하기 위한 본 발명에 따른 전자투표 운용 방법은, 선거 개시 전 복수의 선관위단말로부터 선관위암호를 각각 입력 받는 (a)단계; 상기 복수의 선관위암호를 조합한 제1조합순서를 통해 개표용 암호화키와 개표용 복호화키를 생성하는 (b)단계; 상기 복수의 선관위암호를 다르게 조합한 제2조합순서를 통해 검증용 암호화키와 검증용 복호화키를 생성하는 (c)단계; 상기 개표용 복호화키를 제1조합순서를 통해 암호화한 후, 상기 개표용 암호화키와 상기 암호화된 개표용 복호화키는 저장하고, 상기 개표용 복호화키는 삭제하는 (d)단계; 상기 검증용 복호화키를 제2조합순서를 통해 암호화한 후, 상기 검증용 암호화키와 상기 암호화된 검증용 복호화키는 저장하고, 상기 검증용 복호화키는 삭제하는 (e)단계; 투표자단말의 투표 참여 요청에 따라 상기 개표용 암호화키와 상기 검증용 복호화키를 상기 투표자단말로 제공하는 (f)단계; 상기 투표자단말에서 상기 개표용 암호화키를 이용해 암호화된 개표용투표정보를 수신하여 제1투표함에 저장하고, 상기 검증용 암호화키를 이용해 암호화된 검증용투표정보를 수신하여 제2투표함에 저장하는 (g)단계; 선거 종료 후 상기 복수의 선관위단말로부터 상기 선관위암호를 각각 입력 받는 (h)단계; 상기 제1조합순서를 통해 상기 암호화된 개표용 복호화키를 복호화하는 (i)단계; 및 상기 복호화된 개표용 복호화키를 통해 상기 제1투표함에 암호화되어 저장된 개표용투표정보를 복호화하여 개표를 진행하는 (j)단계;를 포함한다.
여기서, 상기 제1투표함에 저장되는 개표용투표정보는 평문 형태의 투표자정보와, 상기 개표용 암호화키를 통해 암호화된 기표정보가 분리되어 랜덤화되어 저장됨으로써 비밀투표가 보장될 수 있다.
또한, 상기 (j)단계에 따른 개표 결과에 분쟁이 발생할 경우, 상기 복수의 선관위단말로부터 상기 선관위암호를 각각 입력 받는 (k)단계; 상기 제2조합순서를 통해 상기 암호화된 검증용 복호화키를 복호화하는 (l)단계; 및 상기 복호화된 검증용 복호화키를 통해 상기 제2투표함에 암호화되어 저장된 검증용투표정보를 복호화하여 검증을 진행하는 (m)단계;를 더 포함할 수 있다.
또, 상기 제2투표함에 저장되는 검증용투표정보는 투표자정보와 기표정보가 합쳐져서 상기 검증용 암호화키를 통해 암호화되어 저장됨으로써, 검증 진행 시 대리투표 여부를 확인할 수 있다.
또, 상기 (a)단계를 통해 상기 선관위암호가 입력되면, 상기 선관위암호를 통해 두 개의 확인용파일 중 하나를 암호화하는 (n)단계; 상기 (h)단계를 통해 상기 선관위암호가 입력되면, 상기 선관위암호를 통해 상기 두 개의 확인용파일 중 다른 하나를 암호화하는 (o)단계; 및 상기 (n)단계에서 암호화된 확인용파일과 상기 (o)단계에서 암호화된 확인용파일의 동일성 여부를 확인함으로써 상기 선관위암호를 저장하지 않더라도, 상기 선관위암호가 제대로 입력되었는지 확인할 수 있다.
또, 상기 (f)단계 이전 또는 이후, 상기 투표자단말로부터 실시간으로 촬영된 사진정보를 수신하고, 상기 수신된 실시간 촬영된 사진정보를 기 저장된 사진정보와 비교하여 정당한 투표권자인지 인증하는 (p)단계;를 더 포함할 수 있다.
한편, 본 발명은 상기 방법을 실행시킬 수 있는 컴퓨터로 읽을 수 있는 프로그램이 저장된 기록매체를 포함한다.
그리고, 상기 목적을 달성하기 위한 본 발명에 따른 전자투표 운용 시스템은, 복수의 선관위단말에서 입력된 복수의 선관위암호를 수신하는 정보수신부; 상기 복수의 선관위암호를 조합한 제1조합순서를 통해 개표용 암호화키와 개표용 복호화키를 생성하고, 상기 복수의 선관위암호를 다르게 조합한 제2조합순서를 통해 검증용 암호화키와 검증용 복호화키를 생성하며, 상기 개표용 복호화키를 제1조합순서를 통해 암호화한 후, 상기 개표용 암호화키와 상기 암호화된 개표용 복호화키는 저장하고, 상기 개표용 복호화키는 삭제하며, 상기 검증용 복호화키를 제2조합순서를 통해 암호화한 후, 상기 검증용 암호화키와 상기 암호화된 검증용 복호화키는 저장하고, 상기 검증용 복호화키는 삭제하는 보안키 생성부; 투표자단말의 투표 참여 요청에 따라 상기 개표용 암호화키와 상기 검증용 복호화키를 상기 투표자단말로 제공하고, 상기 투표자단말에서 상기 개표용 암호화키를 이용해 암호화된 개표용투표정보를 수신하여 제1투표함에 저장하며, 상기 검증용 암호화키를 이용해 암호화된 검증용투표정보를 수신하여 제2투표함에 저장하는 투표처리부; 및 상기 개표용투표정보를 복호화하여 개표를 진행하는 개표부;를 포함하되, 선거 종료 후 상기 정보수신부에서 상기 복수의 선관위단말에서 입력된 복수의 선관위암호를 수신하면, 상기 보안키 생성부는 상기 제1조합순서를 통해 상기 암호화된 개표용 복호화키를 복호화하고, 상기 개표부는 상기 복호화된 개표용 복호화키를 통해 상기 제1투표함에 암호화되어 저장된 개표용투표정보를 복호화하여 개표를 진행할 수 있다.
여기서, 상기 제1투표함에 저장되는 개표용투표정보는 평문 형태의 투표자정보와, 상기 개표용 암호화키를 통해 암호화된 기표정보가 분리되어 랜덤화되어 저장됨으로써 비밀투표가 보장될 수 있다.
또한, 상기 검증용투표정보를 복호화하여 검증을 진행하는 검증부;를 더 포함하되, 상기 개표부를 통한 개표 결과에 분쟁이 발생할 경우, 상기 정보수신부는 상기 복수의 선관위단말로부터 상기 선관위암호를 각각 수신하고, 상기 보안키 생성부는 상기 제2조합순서를 통해 상기 암호화된 검증용 복호화키를 복호화하며, 상기 검증부는 상기 복호화된 검증용 복호화키를 통해 상기 제2투표함에 암호화되어 저장된 검증용투표정보를 복호화하여 검증을 진행할 수 있다.
또, 상기 제2투표함에 저장되는 검증용투표정보는 투표자정보와 기표정보가 합쳐져서 상기 검증용 암호화키를 통해 암호화되어 저장됨으로써, 검증 진행 시 대리투표 여부를 확인할 수 있다.
또, 상기 정보수신부를 통해 선거 개시 전 상기 선관위암호가 수신되면, 상기 선관위암호를 통해 두 개의 확인용파일 중 하나를 암호화하고, 선거 종료 후 상기 선관위암호가 수신되면, 상기 선관위암호를 통해 상기 두 개의 확인용파일 중 다른 하나를 암호화하며, 상기 각각 암호화된 두 개의 확인용파일의 동일성 여부를 확인하는 암호체크부;를 더 포함함으로써, 상기 선관위암호를 저장하지 않더라도, 상기 선관위암호가 제대로 입력되었는지 확인할 수 있다.
본 발명에 따르면 다음과 같은 효과가 있다.
먼저 투표자단말에서 기표 행위가 이루어지면, 개표용투표정보와 검증용투표정보로 각각 암호화하여 투표함에 저장하는데, 이때 개표용투표정보에는 평문의 투표자정보와 암호화된 기표정보가 랜덤화 되어 저장된다. 따라서 선거가 이루어지는 동안에는 물론 개표가 완료되더라도 특정 투표자가 어느 후보에게 투표하였는지 알 수 없어서 비밀투표가 보장된다.
더불어 개표 결과에 대한 분쟁이 발생하면 투표자정보와 기표정보가 함께 묶여서 암호화된 검증용투표정보를 복호화하여 검증할 수가 있어서, 대리투표 등의 부정 행위를 적발할 수가 있다.
특히 투표 행위가 수행될 때, 실시간으로 촬영한 사진정보와 투표인단 정보에 기 저장된 사진정보를 서로 비교하여 정당한 투표권자인지를 확인하기 때문에 대리투표를 미연에 방지할 수가 있다.
더 나아가 기표정보에 생체정보를 합성하여 암호화함으로써, 합성된 정보의 조작이 불가능하고, 이에 따라 제3자가 ID나 투표자단말을 도용하여 투표하는 것을 막을 수 있다.
또한 먼저 복수의 선거관리 위원으로부터 선관위암호를 입력받아 암호화키(키A, 키C)와 복호화키(키B, 키D)를 생성하되, 개표나 검증시에 활용될 복호화키(키B, 키D)는 다시 한번 암호화(키eB, 키eD)하여 저장하고, 선관위암호나 복호화키(키B, 키D)는 시스템에 남겨두지 않고 삭제하기 때문에 추후 선거관리 위원이 다시 선관위암호를 입력하기 전에 부정하게 개표되는 것을 막을 수가 있다.
또, 선관위암호의 일치 여부를 확인할 시, 한 쌍의 확인용파일을 암호화하여, 암호화된 확인용파일이 동일한지를 체크하는 것이기 때문에, 선관위암호 자체를 저장할 필요가 없어서 안전성이 보장된다.
더불어, 선거관리 위원 중 한명이 암호를 분실한다 하더라도, 다른 선거관리 위원의 암호로 분실된 암호를 암호화하여 분실한 자의 이메일에 송부해 놓기 때문에, 분실한 자 본인의 의지가 있을 시 다른 위원의 도움을 받아 분실 암호를 재취득할 수가 있다.
도1은 본 발명의 실시예에 따른 전자투표 운용 시스템을 설명하기 위한 블록도.
도2는 본 발명의 실시예에 따른 전자투표 운용 방법 중 암호화키 및 복호화키를 생성하는 과정을 설명하기 위한 흐름도.
도3은 본 발명의 실시예에 따른 전자투표 운용 방법 중 투표 과정을 설명하기 위한 흐름도.
도4는 도1에 도시된 전자투표 운용 시스템에서 제1투표함과 제2투표함에 저장된 투표정보의 예시를 설명하기 위한 도면.
도5는 본 발명의 실시예에 따른 전자투표 운용 방법 중 개표 과정을 설명하기 위한 흐름도.
도6은 본 발명의 실시예에 따른 전자투표 운용 방법 중 민원발생에 따라 개표결과를 검증하는 과정을 설명하기 위한 도면.
도7은 본 발명의 다른 실시예에 따른 전자투표 운용 방법 중 검증용투표정보의 보안성을 더욱 향상시키는 과정을 설명하기 위한 도면.
도8은 본 발명의 실시예에 따른 전자투표 운용 방법 중 선관위암호 분실에 대비하는 과정을 설명하기 위한 도면.
도9는 본 발명의 실시예에 따른 전자투표 운용 방법 중 분실된 선관위암호를 확인하는 과정을 설명하기 위한 도면.
도10은 본 발명의 실시예에 따른 전자투표 운용 방법 중 사진을 통해 투표권자를 인증하는 예시를 설명하기 위한 도면.
도11은 본 발명의 실시예에 따른 전자투표 운용 방법 중 사진을 통해 투표권자를 인증하는 다른 예시를 설명하기 위한 도면.
도12는 본 발명의 다른 실시예에 따른 전자투표 운용 방법 중 검증용투표정보 생성을 위해 이미지를 합성하는 과정의 예시를 설명하기 위한 도면.
이하에서는 본 발명의 바람직한 실시예를 첨부된 도면을 참조하여 설명한다. 다만 발명의 요지와 무관한 일부 구성은 생략 또는 압축할 것이나, 생략된 구성이라고 하여 반드시 본 발명에서 필요가 없는 구성은 아니며, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 결합되어 사용될 수 있다.
더불어 이하에서 설명하게 되는 각 구성부와 서버 및 시스템은 반드시 각각의 기능을 수행하는 독립적인 구성부나 서버로 이루어져야 하는 것은 아니며, 하나 이상의 프로그램 또는 하나 이상의 서버 또는 하나 이상의 시스템의 집합으로 구현되거나 일부가 공유될 수도 있음을 밝히는 바이다.
도1은 본 발명의 실시예에 따른 전자투표 운용 시스템을 설명하기 위한 블록도이다. 도1에 도시된 바와 같이 본 발명의 실시예에 따른 전자투표 운용 시스템(100)은 복수의 관리자단말(190), 복수의 선관위단말(310,320,330), 투표자단말(400)과 유무선 네트워크로 연결되어 투표 과정에서 필요한 정보를 송수신할 수 있다. 이러한 전자투표 운용 시스템(100)은 선거관리위원회에서 운용하는 시스템이거나, 또는 투표를 진행하고자 하는 단체에서 투표 운용을 위탁하여 이를 수행하는 시스템일 수 있다. 또한 전자투표 운용 시스템(100)은 검증용투표정보 발송을 위한 메일서버와 연동될 수 있으며, 이에 대해서는 다시 다루도록 한다. 이하에서는 편의상 전자투표 운용 시스템(100)을 '시스템'이라 칭하도록 한다.
관리자단말(190)은 선거를 담당하는 단체의 직원이 사용하는 단말이며, 관리자단말(190)을 통해 후보자정보, 기표지정보, 투표인단 정보, 선거기간 등의 선거정보를 입력하여 시스템(100)에 저장할 수 있다.
선관위단말(310,320,330)은 선거관리 위원이 사용하는 단말이다. 선거관리 위원은 투표를 진행하는 데 있어서 필요한 보안키의 생성을 위해 각자 선관위암호를 정하고 시스템(100) 측으로 전송한다. 여기서 선관위암호 입력은 시스템(100)과 연계된 관리자단말(190)을 통해 입력할 수도 있지만, 이하에서는 선거관리 위원이 개별적으로 사용하는 선관위단말(310,320,330)을 통해 선관위암호를 입력하고 전송하는 방식을 사용한다고 가정한다. 이러한 선관위단말(310,320,330)로는 데스크톱컴퓨터, 노트북, 스마트폰 또는 태블릿PC 등이 사용될 수 있다. 또한 보안성 향상을 위해서는 선거관리 위원이 복수여야 하며, 본 실시예에서는 3명의 선거관리 위원이 3개의 선관위단말(310,320,330)을 각자 사용한다고 가정한다.
투표자단말(400)은 투표권을 갖는 유권자가 사용하는 단말이며, 투표자단말(400) 역시 선관위단말(310,320,330)과 같이 다양한 종류가 적용될 수 있다. 이하에서는 투표자단말(400)이 스마트폰이라고 가정하여 설명토록 한다.
전자투표 운용 시스템(100)은 인터페이스 제공부(110), 정보수신부a(115), 정보제공부a(120), 암호체크부(125), 보안키 생성부(130), 투표처리부(135), 개표부(140), 검증부(145), 보안키 보관부(150), 선거정보 보관부(155), 제1투표함(160) 및 제2투표함(165)을 포함한다.
인터페이스 제공부(110)는 관리자단말(190), 선관위단말(310,320,330) 및 투표자단말(400)과 정보 송수신을 위한 통신 채널을 연결하고, 투표 과정에서 필요한 각종 정보를 입력 또는 선택할 수 있는 사용자 인터페이스를 제공하기 위해 마련된다.
정보수신부a(115)는 관리자단말(190), 선관위단말(310,320,330) 및 투표자단말(400)로부터 각종 정보를 수신하기 위해 마련된다. 예컨대 정보수신부a(115)는 관리자단말(190)에서 입력된 선거정보를 수신할 수 있다. 또한 정보수신부a(115)는 선관위단말(310,320,330)에서 입력된 선관위암호를 수신할 수 있다. 또 정보수신부a(115)는 투표자단말(400)로부터 기표를 완료한 투표정보를 수신할 수 있다.
정보제공부a(120)는 관리자단말(190), 선관위단말(310,320,330) 및 투표자단말(400) 측으로 각종 정보를 제공하기 위해 마련된다. 예컨대 정보제공부a(120)는 투표자단말(400) 측으로 후보자정보, 기표지정보 및 암호화키 등을 전송할 수 있다.
암호체크부(125)는 선관위단말(310,320,330)에서 입력한 선거 개시 전의 선관위암호와 선거 종료 후의 선관위암호의 일치 여부를 확인하기 위해 마련된다.
보안키 생성부(130)는 선관위단말(310,320,330)에서 입력한 선관위암호를 이용하여 기표정보 암호화를 위한 암호화키와, 암호화된 기표정보를 복호화하기 위한 복호화키 등의 보안키를 생성하기 위해 마련된다. 또한 보안키 생성부(130)는 보안성 향상을 위해 복호화키를 다시 암호화하여 저장하고, 선거 종료시 암호화된 복호화키를 복호화한다.
투표처리부(135)는 선거 기간 동안 시스템(100)에 접속하는 투표자단말(400) 측으로 투표 절차에 따른 일련의 과정을 처리한다. 예컨대 투표처리부(135)는 투표자단말(400)의 요청에 따라 선거정보 보관부(155)에 저장된 후보자정보, 기표지정보 등을 추출하여 제공하거나, 투표인단 정보와 비교하여 투표자를 인증 처리하거나, 보안키 보관부(150)에 저장된 암호화키를 제공하거나, 기표정보를 수신하여 투표함(160,165)에 저장할 수 있다.
개표부(140)는 선거 종료시 보안키 생성부(130)에서 복호화한 복호화키를 이용하여 제1투표함(160)에 저장된 개표용투표정보에서 기표정보를 복호화함으로써 개표를 수행한다.
검증부(145)는 추후 분쟁 발생시를 대비하기 위한 것으로, 보안키 생성부(130)에서 복호화한 복호화키를 이용하여 제2투표함(165)에 저장된 검증용투표정보를 복호화함으로써 검증을 수행한다.
보안키 보관부(150), 선거정보 보관부(155), 제1투표함(160) 및 제2투표함(165)은 투표 과정에서 필요한 각종 정보를 저장하기 위한 데이터베이스이다.
보안키 보관부(150)는 보안키 생성부(130)에서 생성된 개표용 암호화키, 개표용 복호화키, 검증용 암호화키, 검증용 복호화키를 보관한다. 또한 보안키 보관부(150)는 보안키 생성부(130)에서 개표용 복호화키 및 검증용 복호화키를 암호화하면 이 또한 저장한다.
선거정보 보관부(155)는 선거에 출마한 후보자정보, 기표지정보, 투표인단 정보 및 선거기간 등의 정보를 보관하기 위해 마련된다. 여기서 투표인단 정보란 투표권을 갖는 자들에 대한 정보이며, ID, 휴대폰번호, 주민등록번호, 이름, 사진정보 등을 포함할 수 있다.
제1투표함(160)은 개표용투표정보를 보관하기 위해 마련되며, 제2투표함(165)은 검증용투표정보를 보관하기 위해 마련된다.
투표자단말(400)은 정보수신부b(405), 정보제공부b(410), 화면출력부(415), 키입력부(420), 기표처리부(425) 및 촬영부(430)를 포함한다.
정보수신부b(405)는 시스템(100)으로부터 후보자정보, 기표지정보, 암호화키 등을 수신하기 위해 마련된다.
정보제공부b(410)는 투표자가 입력하여 암호화된 투표정보를 시스템(100)으로 전송하기 위해 마련된다.
화면출력부(415)는 후보자정보나 기표지정보를 화면출력 하기 위해 마련되며, 키입력부(420)는 화면출력부(415)를 통해 출력된 기표지정보를 통해 특정 후보(또는 찬반)에 대한 기표 행위를 입력하기 위해 마련된다. 여기서 화면출력부(415)와 키입력부(420)는 터치스크린 방식으로 일체로 제작될 수도 있다.
기표처리부(425)는 투표 과정에서 필요한 전체적인 프로세스를 수행하기 위해 마련된다. 예컨대 기표처리부(425)는 투표자의 로그인 정보를 입력 받아 시스템(100)으로 전송하고, 시스템(100)에서 투표자 인증을 마치면 후보자정보, 기표지정보 등을 화면 출력하도록 제어하며, 투표자의 기표 행위가 입력되면 기표정보를 복사하고 암호화하여 시스템(100)으로 전송하기 위해 마련된다.
촬영부(430)는 사진 또는 동영상을 촬영하기 위해 마련된다.
여기서 투표자단말(400)은 투표자가 소지하고 있는 스마트폰일 수 있으며, 일련의 투표 과정은 시스템(100) 또는 별도의 앱스토어를 통해 전송받아 설치한 전용 애플리케이션을 통해 이루어질 수 있다. 즉 투표자단말(400)의 기표처리부(425)는 하드웨어적인 구성이라기 보다는, 투표자단말(400)에 설치된 전용 애플리케이션을 통해 처리되는 소프트웨어적인 구성일 수 있다.
이상에서 설명한 본 발명의 실시예에 따른 전자투표 운용 시스템(100)과 투표자단말(400)의 각 구성들에 대한 설명은 이하 도2 내지 도12를 통해 설명하게 되는 전자투표 운용 방법에 대한 설명으로부터 더욱 구체화 될 것이다.
도2 내지 도9는 본 발명의 실시예에 따른 전자투표 운용 방법을 설명하기 위한 도면이다.
설명에 앞서 이하에서 설명하게 되는 각종 정보에 대한 정의를 미리 하도록 한다.
[선관위암호] : 선관위단말(310,320,330)을 통해 각 선거관리 위원이 입력한 암호이며, 암호화키 및 복호화키 생성, 복호화키의 암호화, 암호화된 복호화키의 복호화 등을 수행하기 위한 것이다. 3명의 선거관리 위원을 예시로 하였기에 각각 제1선관위암호, 제2선관위암호 및 제3선관위암호로 구별토록 한다.
[키A] : 선관위암호의 제1조합순서(예컨대 제1-2-3선관위암호의 조합)를 통해 생성된 암호화키이며, 개표용투표정보에서 기표정보를 암호화할 때 사용된다. 기표정보를 암호화할 때에는 RSA(Rivest Shamir Adleman) Public Key 방식이 적용된다.
[키B] : 선관위암호의 제1조합순서(예컨대 제1-2-3선관위암호의 조합)를 통해 생성된 복호화키이며, 키A로 암호화된 기표정보를 복호화할 때 사용된다. 즉 개표 진행시 사용된다. 기표정보를 복호화할 때에는 RSA Private Key 방식이 적용된다.
[키C] : 선관위암호의 제2조합순서(예컨대 제3-2-1선관위암호의 조합)를 통해 생성된 암호화키이며, 검증용투표정보 전체를 암호화할 때 사용된다. 암호화 시 RSA Public Key 방식이 적용된다.
[키D] : 선관위암호의 제2조합순서(예컨대 제3-2-1선관위암호의 조합)를 통해 생성된 복호화키이며, 키C로 암호화된 검증용투표정보를 복호화할 때 사용된다. 즉 검증 진행시 사용된다. 복호화 시 RSA Private Key 방식이 적용된다.
[키eB] : 키B를 제1조합순서로 암호화한 것으로, AES(Advanced Encryption Standard algorithm) 방식이 적용된다.
[키eD] : 키D를 제2조합순서로 암호화한 것으로, AES 방식이 적용된다.
[개표용투표정보] : 투표자를 식별할 수 있는 투표자정보(ID, 휴대폰번호, 주민등록번호, 이름, 서명, 사진 중 하나 이상)와 특정 후보를 선택(또는 찬반 선택)한 기표정보를 포함하는 정보이다. 개표용투표정보에서는 기표정보만 키A로 암호화된다.
[검증용투표정보] : 투표자정보와 기표정보를 포함하나, 투표자정보와 기표정보가 합쳐져서 키C를 통해 일체로 암호화된다. 또한 도7의 과정을 수행할 때에는 기표정보에 생체정보가 합성되어 투표자정보와 함께 전체 정보가 암호화될 수 있다.
[확인용파일A, 확인용파일B] : 선관위단말(310,320,330)에서 입력된 선관위암호가 최초 입력된 암호와 일치되는지 확인하기 위한 것으로 확인용파일A와 B는 동일한 더미파일이다. 즉 최초 선관위암호를 통해 확인용파일A를 암호화하고, 추후 입력된 선관위암호를 통해 확인용파일B를 암호화한 후 서로 비교하면 선관위암호가 제대로 입력되었는지 확인할 수 있다. 물론 선관위암호가 3개라면 각각의 선관위암호로 확인용파일A와 B를 암호화하여 각각 비교해야 한다.
도2는 본 발명의 실시예에 따른 전자투표 운용 방법 중 보안키를 생성하는 과정을 설명하기 위한 흐름도이다. 즉 도1에 도시된 전자투표 운용 시스템(100)이 선관위단말(310,320,330)로부터 선관위암호를 입력받아 암호화키와 복호화키를 생성하고 저장하는 과정에 대한 것이다.
먼저 선거 개시전 선거관리 위원은 각각의 선관위단말(310,320,330)을 통해 선관위암호를 입력하고 시스템(100)으로 전송<S205>한다. 이때 선관위암호를 잘못 입력할 수도 있기 때문에 두 번 입력하게 하여 확인 과정을 거칠 수 있다. 두 번 입력된 선관위암호가 일치하는지 여부는 이하 도5에서 다루어지는 확인용파일을 암호화하고 일치 여부를 검토하는 과정일 수 있다.
시스템(100)의 정보수신부a(115)가 3개의 선관위암호(제1선관위암호 내지 제3선관위암호)를 수신하면, 암호체크부(125)는 확인용파일A를 각각의 선관위암호로 암호화하여 저장<S210>한다. 이때 확인용파일A와 쌍을 이루고 있는 확인용파일B는 암호화하지 않으며, 개표 또는 검증시 선관위암호의 일치 여부 확인을 위해 사용된다.
이후 시스템(100)의 보안키 생성부(130)는 3개의 선관위암호를 특정 순서로 조합한 제1조합순서를 통해 개표용 암호화키인 키A와, 개표용 복호화키인 키B를 생성<S215>한다.
또한 보안키 생성부(130)는 선관위암호의 순서를 달리한 제2조합순서를 통해 검증용 암호화키인 키C와, 검증용 복호화키인 키D를 생성<S220>한다.
이후 보안키 생성부(130)는 제1조합순서를 통해 개표용 복호화키인 키B를 암호화하여 키eB를 생성<S225>하고, 제2조합순서를 통해 검증용 복호화키인 키D를 암호화하여 키eD를 생성<S230>한다. 키B와 키D를 암호화할 때에는 AES 방식이 적용된다.
이렇게 생성된 키A, 키eB, 키C, 키eD는 보안키 보관부(150)에 저장된다. 단 선거가 이루어지는 동안 시스템(100)에 복호화키인 키B와 키D가 존재하면 안된다. 즉 키B와 키D는 투표정보를 복호화할 수 있기 때문에 키eB 및 키eD로 각각 암호화된 이후 완전히 삭제된다.
한편 본 실시예에서는 암호화키(키A, 키C)와 암호화된 복호화키(키eB, 키eD)가 모두 시스템(100)의 보안키 보관부(150)에 저장된다고 도시하고 설명하였으나, 실시하기에 따라 암호화된 복호화키(키eB, 키eD)는 보안 유지가 가능한 별도의 서버에 저장될 수도 있다.
그리고 보안키 생성부(130)에서 복호화키(키B, 키D) 및 암호화된 복호화키(키eB, 키eD)를 생성할 때에는 미리 정해진 선거기간을 함께 설정할 수 있다. 즉 선거기간이 종료되지 않는다면 불순한 경로를 통해 선관위암호가 입력된다 할지라도, 암호화된 복호화키(키eB, 키eD)의 암호 해제가 불가능하고, 더불어 복호화키(키B, 키D)가 불완전하게 삭제되었다 할지라도 투표정보의 암호화를 해제할 수 없는 것이다.
도3은 본 발명의 실시예에 따른 전자투표 운용 방법 중 투표 과정을 설명하기 위한 흐름도이다. 즉 도1에 도시된 전자투표 운용 시스템(100)을 통해 도2의 과정을 거쳐 선관위암호를 통해 보안키가 생성되어 있고, 선거가 개시되어 투표자가 투표에 참여하는 과정에 대한 것이다. 설명에 앞서 투표자는 데스크톱 컴퓨터, 노트북, 스마트폰 또는 태블릿PC 등을 온라인 투표에 참여할 수 있는데, 이하에서는 스마트폰에 투표 참여를 위한 전용 애플리케이션이 미리 설치되어 있고, 전용 애플리케이션의 구동에 따라 투표에 참여한다고 가정하여 설명토록 한다.
먼저 투표자는 투표자단말(400)의 전용 애플리케이션을 구동하여 소정의 ID와 비밀번호를 입력함으로써 시스템(100)에 접속할 수 있다. 물론 시스템(100)의 투표처리부(135)는 투표자단말(400)의 접속에 대하여, ID와 비밀번호를 통한 인증 절차를 거칠 수 있다. 물론 ID와 비밀번호 외에 지문인식이나 인증서 체크를 통한 실명인증이 이루어질 수도 있고, 추가로 대리투표 방지를 위해 실시간으로 촬영된 사진정보를 통한 인증 절차가 이루어질 수도 있다. 여기서 사진정보를 통한 인증 절차에 대해서는 도10 및 도11을 통해 다시 다루도록 한다.
투표자단말(400)이 시스템(100)에 접속하여 소정의 인증 절차를 거치고, 투표 참여를 요청<S305>하면, 시스템(100)의 투표처리부(135)는 선거정보 보관부(155)에 저장된 후보자정보 및 기표지정보를 추출하여 투표자단말(400)로 제공한다. 또한 투표처리부(135)는 보안키 보관부(150)에 저장된 암호화키(키A, 키C)도 함께 투표자단말(400)로 제공<S310>한다.
투표자단말(400)의 정보수신부b(405)를 통해 후보자정보, 기표지정보 및 암호화키(키A, 키C)를 수신하면, 기표처리부(425)는 화면출력부(415)와 연계하여 후보자정보 및 기표지정보를 화면출력하고, 후보자정보를 확인한 투표자가 키입력부(420)를 통해 기표지에서 특정 후보를 선택하여 기표를 완료<S315>하면, 기표처리부(425)는 기표가 완료된 기표정보를 한부 복사<S320>한다. 기표정보를 복사하는 이유는 개표 뿐만 아니라 추후 분쟁 발생시 검증용으로 활용하기 위해서다.
이후 투표자단말(400)의 기표처리부(425)는 키A를 통해 기표정보만 암호화하고, 투표자정보(ID 등 투표자를 식별할 수 있는 정보)와 기표정보가 분리된 개표용투표정보를 준비<S325>한다. 여기서 기표정보만 암호화한다는 것은 투표자정보는 암호문이 아닌 평문으로 준비된다는 것을 의미한다.
이후 기표처리부(425)는 정보제공부b(410)를 통해 투표자정보와 기표정보가 분리된 개표용투표정보를 시스템(100)으로 전송<S330>한다. 투표정보를 전송할 때에는 https의 보안 전송 기능이 적용된다. 시스템(100)의 정보수신부a(115)가 개표용투표정보를 수신하면, 투표처리부(135)는 개표용투표정보에서 투표자정보와 기표정보를 제1투표함(160)에 분리하여 저장한다. 이때 개표용투표정보에서 투표자정보와 기표정보는 분리된 상태이기 때문에, 도4에 도시된 예시와 같이 랜덤화 하는 것이 가능하다. 즉 한명의 투표자로부터 받은 개표용투표정보에는 투표자정보와 기표정보가 모두 들어 있지만, 투표처리부(135)에서 제1투표함(160)에 개표용투표정보를 저장시킬 때에는 투표자정보는 투표자정보끼리, 기표정보는 기표정보끼리 서로 일치하지 않도록 랜덤화 시켜 저장<S335>하는 것이다. 이에 따라 개표시 제1투표함(160)을 열어보더라도 특정 투표자가 어느 후보에 기표하였는지는 알 수가 없다(비밀투표 보장).
이후 시스템(100)의 투표처리부(135)는 투표자단말(400) 측으로 검증용투표정보를 요청<S340>한다. 투표자단말(400)에서 검증용투표정보를 요청 받으면, 기표처리부(425)는 키C를 통해 투표자정보와 기표정보가 합쳐진 전체를 암호화함으로써 검증용투표정보를 준비<S345>한다. 여기서 전체를 암호화한다는 것은 개표용투표정보와 달리 투표자정보까지 일체화 시켜 함께 암호화 한다는 의미이다.
이후 기표처리부(425)는 정보제공부b(410)를 통해 전체 암호화된 검증용투표정보를 시스템(100)으로 전송<S350>한다. 마찬가지로 투표정보를 전송할 때에는 https의 보안 전송 기능이 적용된다. 시스템(100)의 정보수신부a(115)가 검증용투표정보를 수신하면, 투표처리부(135)는 검증용투표정보를 제2투표함(165)에 저장<S355>한다. 이때 검증용투표정보에서 투표자정보와 기표정보는 함께 암호화되어 묶여 있기 때문에, 도4에서와 같이 분리 저장되지 아니하고 매칭된 상태 그대로 제2투표함(165)에 저장된다.
이후 투표처리부(135)는 제1투표함(160)과 제2투표함(165)에 저장된 투표건수를 카운팅하여 개표용투표정보와 검증용투표정보가 오류 없이 제대로 저장되었는지 확인<S360>한다. 카운팅이 정상적으로 이루어졌다면 투표처리부(135)는 정보제공부a(120) 및 인터페이스 제공부(110)와 연계하여 투표자단말(400) 측으로 투표완료를 안내<S365>한다.
한편 검증용투표정보를 보관하는 제2투표함(165)은 시스템(100) 외부에 위치할 수도 있다. 즉, 검증용투표정보는 선거 기간이 종료된 후 분쟁이 발생하여 법원 판결이 있을 때에만 열람하는 정보이다. 또한 전자투표 운용 시스템(100)은 선거관리위원회가 직접 운용하는 시스템이 아니라, 해당 선거 기간(개표시까지)에만 위탁 받아 운용되는 시스템(100)일 수 있다. 즉 언제 열람하게 되는지 알 수 없는 상태에서, 임시로 위탁한 시스템(100)에 검증용투표정보를 마냥 보관할 수는 없는 것이다. 따라서 검증용투표정보를 보관하는 제2투표함(165)은 시스템(100)이 아닌 선거관리위원회가 직접 운용하는 별도의 데이터베이스(미도시)일 수 있다.
또 다른 방안으로, 시스템(100)이 투표자단말(400)로부터 검증용투표정보를 수신하면 투표처리부(135)는 정보제공부a(120)와 연계하여 별도의 메일링서버(미도시)를 통해 기 지정된 선거관리위원회의 이메일로 발송할 수도 있다. 즉 이메일 발송 후 시스템(100)이나 메일링서버에는 검증용투표정보가 삭제되고, 선거관리위원회의 담당 직원 이메일에만 검증용투표정보가 보관되는 것이다. 이 경우 제2투표함(165)은 선거관리위원회 담당 직원이 사용하는 이메일의 보관함이 될 수 있다.
도3에서는 한명의 투표자에 대한 일련의 투표 과정을 설명한 것이며, 선거기간 동안 다수의 투표자가 도3의 과정을 반복하여 투표에 참여할 수 있다.
도5는 본 발명의 실시예에 따른 전자투표 운용 방법 중 개표 과정을 설명하기 위한 흐름도이다.
즉 도3의 과정을 통해 선거기간 동안 다수의 투표가 이루어진 후 선거기간이 종료하면 시스템(100)은 개표를 위한 프로세스를 수행한다. 즉 시스템(100)의 개표부(140)는 선관위단말(310,320,330) 측으로 선관위암호의 입력을 요청하며, 선관위단말(310,320,330)에서 선관위암호를 입력하여 시스템(100)으로 전송<S505>하면, 시스템(100)의 정보수신부a(115)에서 3개의 선관위암호(제1선관위암호 내지 제3선관위암호)를 수신하고, 암호체크부(125)는 확인용파일A와 쌍을 이루고 있는 확인용파일B를 수신한 각각의 선관위암호로 암호화<S510>한다. 이후 도2의 과정에서 암호화된 확인용파일A와, 개표를 위해 입력된 선관위암호로 암호화된 확인용파일B의 일치 여부를 확인<S515>한다. 만약 암호화된 확인용파일A와 B가 일치하지 않는다면<S520>, 암호체크부(125)는 정보제공부a(120)와 연계하여 선관위단말(310,320,330) 측으로 암호가 불일치하여 재입력이 필요하다고 안내<S525>한다. 반면 암호화된 확인용파일A와 B가 일치한다면<S520>, 보안키 생성부(130)는 앞서 개표용 복호화키(키B)를 암호화할 때 사용하였던 제1조합순서를 통해 암호화된 개표용 복호화키(키eB)를 복호화<S530>한다. 이에 따라 개표용 복호화키(키B)가 준비되며, 키B를 이용하여 제1투표함(160)에 암호화되어 저장된 기표정보를 복호화<S535>함으로써, 개표를 진행<S540>한다.
여기서 개표 과정에서 입력한 선관위암호가 선거 개시전 보안키 생성을 위해 입력한 선관위암호와 일치하는지 확인하는 과정은, 한 쌍의 더미파일을 각각의 선관위암호로 암호화하고, 이것이 서로 일치하는지 확인하기 때문에, 선관위암호를 시스템(100)에 저장해 두지 않더라도 일치 여부를 확인할 수가 있다. 따라서 선관위암호가 시스템(100)에 남아 유출될 우려가 없다.
한편 도2의 보안키 생성 과정에서 선관위암호를 잘못 입력할 수도 있어서, 두 번 입력케 한다고 하였는데, 여기에서 두 번 입력한 선관위암호의 일치 여부도 도5의 확인용파일A와 B를 각각 암호화하여 비교하는 방식을 사용할 수 있다.
도6은 본 발명의 실시예에 따른 전자투표 운용 방법 중 민원발생에 따라 개표결과를 검증하는 과정을 설명하기 위한 도면이다.
즉 도5까지의 과정을 통해 정상적인 투표와 개표가 마쳐질 수도 있지만, 후보자의 민원 제기, 또는 전산상 오류 가능성 등의 분쟁이 발생할 수 있다. 만약 분쟁이 발생하여 법원으로부터 검증이 필요하다는 판결이 내려진다면 도6과 같은 검증 프로세스를 수행한다.
시스템(100)의 검증부(145)는 선관위단말(310,320,330) 측으로 선관위암호의 입력을 요청하며, 선관위단말(310,320,330)에서 선관위암호를 입력하여 시스템(100)으로 전송<S605>하면, 보안키 생성부(130)는 앞서 검증용 복호화키(키D)를 암호화할 때 사용하였던 제2조합순서를 통해 암호화된 검증용 복호화키(키eD)를 복호화<S610>한다. 물론 검증을 위해 선관위암호를 입력 받을 때에도 확인용파일A와 B를 이용한 암호 체크 과정이 수행될 수 있다.
이에 따라 검증용 복호화키(키D)가 준비되며, 키D를 이용하여 제2투표함(165)에 암호화되어 저장된 검증용투표정보를 복호화<S615>함으로써, 검증을 진행<S620>할 수 있다.
여기서 제2투표함(165)에 저장된 검증용투표정보는 투표자정보와 기표정보가 함께 묶여서 암호화된 것이다. 따라서 키D를 이용하여 검증용투표정보를 복호화한다면 투표자정보와 기표정보가 매칭된 상태로 추출될 것이다. 즉, 어느 투표자가 투표에 참여했고, 어느 후보자에게 기표하였는지 모두 확인 가능하다는 것이다.
개표 결과에 대한 분쟁이 발생하였다는 것은 여러 이유가 있을 수 있는 데, 그 중 전자투표에서 가장 문제시 되는 것이 대리투표이다. 즉 투표인단 정보에 등록되어 있지만, 투표를 하지 않았음에도 투표를 하였다는 민원이 있다거나, 다른 사람이 아이디 등을 도용하여 대리투표에 참여했을 수 있는 것이다. 따라서 투표자정보와 기표정보가 매칭 저장된 검증용투표정보를 확인한다면, 불순한 의도를 가진자에 의한 투표참여나, 서명의 확인을 통해 대리투표 여부를 잡아낼 수 있는 것이다.
한편 검증용투표정보는 선거관리위원회의 담당 직원이 사용하는 별도의 이메일에 보관되어 있을 수도 있다. 이 경우 검증 과정을 수행할 때에는 선거관리위원회에서 시스템(100)을 다시 위탁하고 담당 직원의 이메일에 보관된 검증용투표정보를 다운로드하여 시스템(100)에 제공함으로써 검증이 이루어지도록 할 수 있다.
또한 검증용투표정보에서 기표정보와 매칭된 투표자정보에는 투표자의 ID나 서명 외에도, 사진정보나 동영상 정보가 더 포함될 수 있다. 이때 사진정보나 동영상 정보는 도7, 10 또는 도11의 과정을 통해 투표 과정에서 실시간으로 촬영된 정보이다. 따라서 실시간으로 촬영되어 저장된 사진정보나 동영상 정보를 함께 확인함으로써 대리투표 여부를 정확하게 가려낼 수가 있다.
도7은 본 발명의 다른 실시예에 따른 전자투표 운용 방법 중 검증용투표정보의 보안성을 더욱 향상시키는 과정을 설명하기 위한 도면이다. 도7에 도시된 투표 과정은 도3의 과정과 대부분 유사하나, 기표 과정에서 생체정보를 활용한다는 점에서 차이가 있다.
투표자단말(400)이 시스템(100)에 접속하여 투표 참여를 요청<S705>하면, 시스템(100)의 투표처리부(135)는 선거정보 보관부(155)에 저장된 후보자정보 및 기표지정보를 추출하여 투표자단말(400)로 제공한다. 또한 투표처리부(135)는 보안키 보관부(150)에 저장된 암호화키(키A, 키C)도 함께 투표자단말(400)로 제공<S710>한다.
투표자단말(400)에서 후보자정보, 기표지정보 및 암호화키(키A, 키C)를 수신하면, 기표처리부(425)는 화면출력부(415)와 연계하여 후보자정보 및 기표지정보를 화면출력한다.
또한 기표처리부(425)는 생체정보의 입력 안내화면을 출력한다. 생체정보란 카메라를 이용해 실시간으로 촬영한 얼굴사진, 지문인식수단을 통해 입력된 지문 등이 될 수 있다. 즉 생체정보는 현재 투표자단말(400)을 사용하고 있는 사람을 특정할 수 있는 것이며, ID나 서명 등과 같이 다른 사람이 대신 입력하는 것이 원천적으로 불가능한 정보이다.
이렇게 실시간으로 생체정보가 입력<S715>된 이후, 후보자정보를 확인한 투표자가 키입력부(420)를 통해 기표지에서 특정 후보를 선택하여 기표를 완료하면, 기표처리부(425)는 기표가 완료된 기표정보를 한부 복사<S720>한다.
이후 투표자단말(400)의 기표처리부(425)는 키A를 통해 기표정보만 암호화하고, 투표자정보(ID 등 투표자를 식별할 수 있는 정보)와 기표정보가 분리된 개표용투표정보를 준비<S725>하여 정보제공부b(410)를 통해 개표용투표정보를 시스템(100)으로 전송<S730>한다. 시스템(100)의 정보수신부a(115)가 개표용투표정보를 수신하면, 투표처리부(135)는 개표용투표정보에서 투표자정보와 기표정보를 제1투표함(160)에 분리하여 저장하고 랜덤화<S735>한다.
이후 시스템(100)의 투표처리부(135)는 투표자단말(400) 측으로 검증용투표정보를 요청<S740>한다. 투표자단말(400)에서 검증용투표정보를 요청 받으면, 기표처리부(425)는 기표정보에 생체정보를 합성<S745>한다.
생체정보란 얼굴사진 또는 지문정보이며, 이는 공통적으로 이미지 파일로 생성될 수 있다. 또한 기표정보 역시 특정 후보에 투표도장을 찍은 형태의 이미지 파일로 준비될 수 있다. 잠시 도12를 참조하면 도12의 (a)를 통해 생체정보 이미지의 예시(얼굴사진)를 확인할 수 있고, (b)를 통해 기표정보 이미지의 예시를 확인할 수 있다. 기표정보에 생체정보를 합성한다는 것은, 기표정보라는 이미지 레이어에 생체정보라는 이미지 레이어를 덧 씌워 도12의 (c)와 같이 하나의 이미지 파일로 합성하는 작업을 말한다.
이렇게 기표정보에 생체정보가 합성되면, 기표처리부(425)는 키C를 통해 투표자정보와 기표정보(생체정보가 합성되어 있음)가 합쳐진 전체를 암호화함으로써 검증용투표정보를 준비<S750>한다. 물론 기표정보에 생체정보를 이미지 합성의 방식으로 합성할 시, 텍스트 형태의 투표자정보(ID 등)도 기표정보에 이미지로 함께 합성할 수 있으며, 투표자정보와 생체정보가 모두 기표정보에 합성되어 있다면, 기표정보만 암호화하더라도 전체 필요한 정보가 암호화된 검증용투표정보를 준비할 수 있다.
이후 기표처리부(425)는 정보제공부b(410)를 통해 전체 암호화된 검증용투표정보를 시스템(100)으로 전송<S755>한다. 시스템(100)의 정보수신부a(115)가 검증용투표정보를 수신하면, 투표처리부(135)는 검증용투표정보를 제2투표함(165)에 저장하고, 제1투표함(160)과 제2투표함(165)에 저장된 투표건수를 카운팅하여 개표용투표정보와 검증용투표정보가 오류 없이 제대로 저장되었는지 확인<S760>한다. 카운팅이 정상적으로 이루어졌다면 투표처리부(135)는 정보제공부a(120) 및 인터페이스 제공부(110)와 연계하여 투표자단말(400) 측으로 투표완료를 안내<S765>한다.
도7에 도시된 바와 같은 절차로 투표가 이루어진다면, 제1투표함(160)에 저장된 개표용투표정보는 도3의 절차를 통해 저장한 개표용투표정보와 동일하다. 단 제2투표함(165)에 저장된 검증용투표정보는 다르다. 즉 도7의 과정에 의해 저장된 검증용투표정보에는 투표자정보(ID 등)는 물론 기표정보와 생체정보가 이미지로 합성된 상태이다. 생체정보란 투표 과정에서 획득한 얼굴사진 또는 지문정보일 수 있는데, 이에 따라 실제 투표를 행한 사람이 누구인지 명확히 알 수가 있다. 즉 생체정보는 ID나 서명 등과 같이 다른 사람이 대신 입력하는 것이 원천적으로 불가능한 정보이기 때문에 검증 과정을 통해 대리투표 여부가 여지없이 드러나기 때문에, 제3자에 의한 대리투표의 시도를 막을 수가 있다.
더군다나 생체정보는 미리 저장된 정보를 이용하는 것이 아니고, 투표하는 시점에 실시간으로 획득한 정보를 이용하는 것이며, 또한 도12의 (c)와 같이 기표정보에 생체정보가 이미지 합성된 상태로 암호화되는 것이기 때문에, 합성된 이미지에서 기표정보의 내용만 조작하는 것도 불가능하다.
한편 도7의 과정에서도 투표자단말(400)의 최초 접속시, 또는 기표를 마친 후 개표용투표정보를 전송하는 과정에서 사진정보를 통한 사전 인증 과정을 거칠 수 있는데, 이에 대해서는 도10 및 도11을 통해 설명토록 한다.
도8 및 도9는 본 발명의 실시예에 따른 전자투표 운용 방법 중 선관위암호 분실에 대비하는 과정을 설명하기 위한 도면이다.
즉 본 발명에서는 선거 개시 전에 선거관리 위원 3명으로부터 선관위암호를 각각 입력 받아 보안키를 생성하고, 선거 기간이 종료된 시점에서 다시 동일한 선관위암호를 입력받아 복호화키(키eB, 키eD)의 암호를 해제한다. 이때 복호화키의 암호를 해제하기 위해서는 3개의 선관위암호를 조합해야 한다. 따라서 한명의 선거관리 위원이라도 암호를 분실하였다면 개표와 검증이 모두 불가능하다.
이러한 선관위암호 분실에 대비하는 방법으로, 각 선관위암호를 수기로 기재하고 봉인하여 금고에 보관하는 방법이 있다. 여기에 덧붙여 암호의 유출을 방지하기 위해 자외선 펜을 이용하여 기재할 수도 있다. 봉인하여 금고에 보관된 선관위암호는 암호 분실 시에만 모든 선거관리 위원 참관하에 봉인 해제될 수 있으며, 개표가 완료된 후 별도의 분쟁 발생이 없다면 봉인 해제하지 아니하고 폐기시킨다.
이 밖에 도8 및 도9에 도시된 방지 대책이 적용될 수도 있다. 예컨대 제1선관위단말(310)을 이용하는 제1선거관리 위원이 제1선관위암호를 분실하였다고 가정한다.
도2의 과정에서 선거 개시를 위해 선관위암호가 입력되어 시스템(100)에 전송<S205>되면, 시스템(100)의 암호체크부(125)는 제1선관위암호를 제2선관위암호 및 제3선관위암호의 조합으로 암호화<S805>한다. 이후 암호화된 제1선관위암호를 기 등록된 제1선거관리 위원의 이메일로 발송<S810>한다.
물론 3명의 선거관리 위원 중 누가 암호를 분실할지는 알 수 없는 것이기 때문에 다른 선거관리 위원에 대해서도 동일한 조치를 취한다.
만약 개표 준비 과정에서, 또는 검증 준비 과정에서 제1선거관리 위원이 암호를 분실한 것을 인지하였고, 이를 시스템(100)에 통보<S905>하면, 시스템(100)은 제1선관위단말(310)로 암호화된 제1선관위암호를 요청<S910>한다.
즉 제1선거관리 위원은 기 입력한 제1선관위암호는 기억나지 않을지라도, 본인의 이메일에 접속하면 '암호화된 제1선관위암호'를 파일 형태로 다운로드 할 수 있다. 물론 암호화된 제1선관위암호는 제1선거관리 위원 본인도 아직은 확인할 수가 없다.
이렇게 제1선거관리 위원이 이메일에서 암호화된 제1선관위암호를 다운로드 받으면, 이를 시스템(100)으로 전송<S915>한다. 시스템(100)의 정보수신부a(115)에서 암호화된 제1선관위암호를 수신하더라도, 시스템(100) 역시 아직은 제1선관위암호가 무엇인지 알 수 없다.
이에 따라 암호체크부(125)는 제2선관위단말(320)과 제3선관위단말(330)로 선관위암호의 입력을 요청<S920>하고, 제2선관위단말(320)과 제3선관위단말(330)에서 선관위암호를 각각 입력하여 시스템(100)으로 전송<S925>하면, 시스템(100)의 암호체크부(125)는 제2선관위암호 및 제3선관위암호의 조합으로 암호화된 제1선관위암호를 복호화<S930>함으로써, 비로소 제1선관위암호를 획득<S935>할 수 있다.
도8 및 도9에 도시된 분실 방지 대책을 활용한다면, 3명 중 한명의 선거관리 위원이 암호를 분실하더라도 나머지 선거관리 위원이 입력한 선관위암호를 이용하여 분실된 암호를 획득함으로써 정상적인 개표와 검증이 가능하다.
물론 어느 한명의 암호를 다른 두명이 합심하여 의도적으로 취득하는 일은 없어야 한다. 이를 위해 본 방지 대책은 다른 두명의 도움이 있더라도, 분실된 암호는 분실한 사람 본인의 이메일에 접속하여야만 확인할 수 있는 것이다. 따라서 분실한 자 본인의 의지가 있어야만 분실 암호를 재취득할 수 있는 구조인 것이다.
도10 및 도11은 본 발명의 실시예에 따른 전자투표 운용 방법 중 투표자를 인증하는 과정을 설명하기 위한 도면이다. 즉 투표자가 투표를 위해 시스템(100)에 접속하면 ID와 비밀번호, 인증서 등을 통해 본인확인을 수행할 수는 있지만, 이를 통해 대리투표를 완전히 방지할 수는 없다. 이를 위해 실시간 촬영된 사진정보를 통해 정당한 투표권자인지 인증하는 방식을 적용할 수 있다. 사진정보를 통한 인증의 경우, 인증을 마친 후 투표 절차가 수행될 수 있도록 하거나, 투표를 마친 후 인증을 통해 투표 완료 처리를 하는 방식일 수 있는데, 도10은 전자의 과정이고, 도11은 후자의 과정에 대한 예시이다.
먼저 도3의 과정 중 투표자단말(400)에서 시스템(100)에 접속하여 투표 참여를 요청<S305>하면, 도10에서와 같이 시스템(100)의 투표처리부(135)는 투표자단말(400)로 사진정보를 요청<S1005>한다.
여기서 사진정보의 요청이란 투표자단말(400)에 기 보관되어 있던 사진정보를 요청하는 것이 아니고 실시간으로 촬영된 사진정보를 요청하는 것이다. 따라서 투표자단말(400)의 정보수신부b(405)에서 사진정보 요청을 접수하면, 기표처리부(425)는 촬영부(430)를 구동시키고 촬영 인터페이스가 출력<S1010>되도록 처리한다.
이후 투표자가 본인의 얼굴 사진을 촬영<S1015>하면, 기표처리부(425)는 정보제공부(b)와 연계하여 촬영된 사진정보를 시스템(100)으로 전송<S1020>한다.
시스템(100)의 정보수신부a(115)에서 사진정보를 수신하면 투표처리부(135)는 선거정보 보관부(155)에 보관되어 있는 투표인단 정보 중에서 해당 투표자(ID를 통해 확인)의 사진정보를 추출한다. 앞서 설명한 바 있지만, 선거정보 보관부(155)에 보관된 투표인단 정보란 ID, 휴대폰번호, 주민등록번호, 이름, 사진정보 등을 포함할 수 있다. 따라서 접속한 투표자의 ID를 통해 해당 투표인단 정보를 추출하고, 여기에서 기 저장되어 있는 사진정보를 투표자단말(400)에서 실시간으로 촬영하여 전송한 사진정보와 비교함으로써 정당한 투표권자인지 확인<S1025>할 수 있다. 여기서 얼굴 사진 비교를 통해 동일 인물인지를 확인하기 위해서는 공지된 안면인식 기술이 적용될 수 있다.
투표인단 정보에 기 저장되어 있는 사진정보와, 실시간으로 촬영된 사진정보의 비교를 통해 정당한 투표권자인지 인증<S1030>된다면, 기표지정보와 키A, 키C를 투표자단말(400)로 제공<S310>하는 도3의 이후 과정이 수행된다.
반면 사진정보의 비교 과정에서 인증<S1030>이 되지 않는다면, 투표자단말(400) 측으로 인증이 실패하였음을 안내<S1035>한다. 인증이 실패하면 투표자단말(400)로 기표정보나 암호화키가 제공되지 않으며, 사진을 다시 촬영하여 전송하는 등의 조치가 수행될 수 있다.
도11은 사진정보를 통한 투표자 인증 과정의 다른 예시를 설명하기 위한 것이다. 즉 도3에서 투표자단말(400)의 투표 참여 요청<S305>이 있으면 시스템(100)은 일단 투표자단말(400)로 기표지정보와 키A, 키C를 전송하고, 투표자단말(400)에서는 기표<S315>를 수행한다.
이후 도11에 도시된 바와 같이, 투표자단말(400)의 기표처리부(425)는 촬영부(430)를 구동시켜 촬영 인터페이스가 출력<S1105>되도록 하고, 투표자는 본인의 얼굴 사진을 촬영<S1110>한다. 이때 사진 촬영과 더불어 동영상 촬영이 함께 이루어질 수 있다.
촬영된 사진정보와 동영상정보가 투표자단말(400)의 메모리(미도시)에 임시 저장되면, 기표처리부(425)는 화면출력부(415)로 서명화면을 출력<S1115>한다. 서명이란 투표자가 직접 투표하였음을 확인하기 위한 것으로, 터치스크린 상에 서명화면이 출력됨으로써 서명을 수행할 수 있다.
이때 서명화면의 일부 영역(예컨대 하단)에는 앞선 과정에서 촬영했던 사진정보나 동영상정보가 함께 출력될 수 있다. 즉 투표자는 서명을 하면서 촬영된 사진이나 동영상이 제대로 촬영되었는지 동시에 확인할 수 있는 것이다.
투표자가 서명을 마치고 별도의 완료 버튼을 터치하면<S1120>, 기표처리부(425)는 기표정보를 한부 복사<S1125>한다.
이후 기표처리부(425)는 키A를 통해 기표정보만 암호화하고, 투표자정보와 기표정보가 분리된 개표용투표정보를 준비<S1130>한다. 여기서 투표자정보에는 ID나 휴대폰번호 외에, 서명화면을 통해 입력한 서명정보와, 실시간으로 촬영된 사진정보 및 동영상정보가 포함되어 있다.
이렇게 개표용투표정보가 준비되면, 기표처리부(425)는 정보제공부b(410)를 통해 시스템(100)으로 전송<S1135>한다. 시스템(100)의 정보수신부a(115)에서 개표용투표정보를 수신하면, 바로 제1투표함(160)에 저장하지 아니하고, 사진정보를 통한 인증을 수행한다.
즉, 투표처리부(135)는 선거정보 보관부(155)에 보관되어 있는 투표인단 정보 중에서 해당 투표자에 대한 사진정보를 추출하고, 개표용투표정보에 평문 상태(암호화되어 있지 않다는 의미)로 포함되어 있는 투표자정보의 사진정보와 서로 비교함으로써 정당한 투표권자인지를 확인<S1140>하는 것이다.
정당한 투표권자임이 인증<S1145>된다면, 시스템의 투표처리부(135)는 투표자정보와 기표정보를 제1투표함(160)에 분리한 후 랜덤화<S335>시키는 도3의 이후 과정을 수행하게 된다.
반면 사진정보의 비교 과정에서 인증<S1145>이 되지 않는다면, 투표자단말(400) 측으로 인증이 실패하였음을 안내<S1150>하고, 사진 촬영과 기표 절차를 다시 수행토록 한다.
한편 투표자정보에 포함된 실시간으로 촬영된 사진정보는 투표를 마치기 전, 정당한 투표권자가 기표를 하는 것인지 사전에 인증하기 위한 용도로 활용되는 것이며, 동영상정보는 추후 검증용기표정보에도 함께 포함됨으로써, 추후 검증 과정에서 정당한 투표권자임을 확인하기 위한 용도로 사용된다.
물론 앞서 설명한 도7의 과정에서 기표정보에 합성되는 사진정보는, 추후 검증 용도이면서도 조작을 어렵게 하기 위한 것임을 이미 설명한 바 있다.
이상에서 상세히 설명한 바와 같이 본 발명에 따르면 다음과 같은 효과가 있다.
먼저 투표자단말(400)에서 기표 행위가 이루어지면, 개표용투표정보와 검증용투표정보로 각각 암호화하여 투표함에 저장하는데, 이때 개표용투표정보에는 평문의 투표자정보와 암호화된 기표정보가 랜덤화 되어 저장된다. 따라서 선거가 이루어지는 동안에는 물론 개표가 완료되더라도 특정 투표자가 어느 후보에게 투표하였는지 알 수 없어서 비밀투표가 보장된다.
더불어 개표 결과에 대한 분쟁이 발생하면 투표자정보와 기표정보가 함께 묶여서 암호화된 검증용투표정보를 복호화하여 검증할 수가 있어서, 대리투표 등의 부정 행위를 적발할 수가 있다.
특히 투표 행위가 수행될 때, 실시간으로 촬영한 사진정보와 투표인단 정보에 기 저장된 사진정보를 서로 비교하여 정당한 투표권자인지를 확인하기 때문에 대리투표를 미연에 방지할 수가 있다.
더 나아가 기표정보에 생체정보를 합성하여 암호화함으로써, 합성된 정보의 조작이 불가능하고, 이에 따라 제3자가 ID나 투표자단말(400)을 도용하여 투표하는 것을 막을 수 있다.
또한 먼저 복수의 선거관리 위원으로부터 선관위암호를 입력받아 암호화키(키A, 키C)와 복호화키(키B, 키D)를 생성하되, 개표나 검증시에 활용될 복호화키(키B, 키D)는 다시 한번 암호화(키eB, 키eD)하여 저장하고, 선관위암호나 복호화키(키B, 키D)는 시스템(100)에 남겨두지 않고 삭제하기 때문에 추후 선거관리 위원이 다시 선관위암호를 입력하기 전에 부정하게 개표되는 것을 막을 수가 있다.
또, 선관위암호의 일치 여부를 확인할 시, 한 쌍의 확인용파일을 암호화하여, 암호화된 확인용파일이 동일한지를 체크하는 것이기 때문에, 선관위암호 자체를 저장할 필요가 없어서 안전성이 보장된다.
더불어, 선거관리 위원 중 한명이 암호를 분실한다 하더라도, 다른 선거관리 위원의 암호로 분실된 암호를 암호화하여 분실한 자의 이메일에 송부해 놓기 때문에, 분실한 자 본인의 의지가 있을 시 다른 위원의 도움을 받아 분실 암호를 재취득할 수가 있다.
상기한 본 발명의 바람직한 실시예는 예시의 목적을 위해 개시된 것이고, 본 발명에 대해 통상의 지식을 가진 당업자라면, 본 발명의 사상과 범위 안에서 다양한 수정, 변경 및 부가가 가능할 것이며, 이러한 수정, 변경 및 부가는 본 발명의 특허청구 범위에 속하는 것으로 보아야 할 것이다.
100 : 전자투표 운용 시스템
110 : 인터페이스 제공부
115 : 정보수신부a
120 : 정보제공부a
125 : 암호체크부
130 : 보안키 생성부
135 : 투표처리부
140 : 개표부
145 : 검증부
150 : 보안키 보관부
155 : 선거정보 보관부
160 : 제1투표함
165 : 제2투표함
190 : 관리자단말
310 : 제1선관위단말
제1선관위암호
320 : 제2선관위단말
제2선관위암호
330 : 제3선관위단말
제3선관위암호
400 : 투표자 단말
405 : 정보수신부b
410 : 정보제공부b
415 : 화면출력부
420 : 키입력부
425 : 기표처리부
430 : 촬영부

Claims (12)

  1. 전자투표 운용 시스템(이하 '시스템'이라고 함)의 정보수신부a에서 복수의 선관위단말에서 입력된 선관위암호를 각각 수신하는 (a)단계;
    상기 시스템의 보안키 생성부에서 상기 복수의 선관위암호를 조합한 제1조합순서를 통해 개표용 암호화키와 개표용 복호화키를 생성하는 (b)단계;
    상기 시스템의 보안키 생성부에서 상기 복수의 선관위암호를 다르게 조합한 제2조합순서를 통해 검증용 암호화키와 검증용 복호화키를 생성하는 (c)단계;
    상기 시스템의 보안키 생성부에서 상기 개표용 복호화키를 제1조합순서를 통해 암호화한 후, 상기 개표용 암호화키와 상기 암호화된 개표용 복호화키는 저장하고, 상기 개표용 복호화키는 삭제하는 (d)단계;
    상기 시스템의 보안키 생성부에서 상기 검증용 복호화키를 제2조합순서를 통해 암호화한 후, 상기 검증용 암호화키와 상기 암호화된 검증용 복호화키는 저장하고, 상기 검증용 복호화키는 삭제하는 (e)단계;
    상기 시스템의 투표처리부에서 투표자단말의 투표 참여 요청에 따라 상기 개표용 암호화키와 상기 검증용 암호화키를 상기 투표자단말로 제공하는 (f)단계;
    상기 투표자단말에서 상기 개표용 암호화키를 이용해 암호화된 개표용투표정보를 상기 시스템의 정보수신부a에서 수신하면 상기 시스템의 투표처리부에서 제1투표함에 저장하고, 상기 검증용 암호화키를 이용해 암호화된 검증용투표정보를 상기 시스템의 정보수신부a에서 수신하면 상기 시스템의 투표처리부에서 제2투표함에 저장하는 (g)단계;
    선거 종료 후 상기 시스템의 정보수신부a에서 상기 복수의 선관위단말로에서 각각 입력된 상기 선관위암호를 수신하는 (h)단계;
    상기 시스템의 보안키 생성부에서 상기 제1조합순서를 통해 상기 암호화된 개표용 복호화키를 복호화하는 (i)단계; 및
    상기 시스템의 개표부에서 상기 복호화된 개표용 복호화키를 통해 상기 제1투표함에 암호화되어 저장된 개표용투표정보를 복호화하여 개표를 진행하는 (j)단계;를 포함하되,
    상기 제1투표함에 저장되는 개표용투표정보는 평문 형태의 투표자정보와, 상기 개표용 암호화키를 통해 암호화된 기표정보가 분리되어 랜덤화되어 저장됨으로써 비밀투표가 보장되고,
    상기 (j)단계에 따른 개표 결과에 분쟁이 발생할 경우, 상기 시스템의 정보수신부a에서 상기 복수의 선관위단말로부터 상기 선관위암호를 각각 입력 받는 (k)단계;
    상기 시스템의 보안키 생성부에서 상기 제2조합순서를 통해 상기 암호화된 검증용 복호화키를 복호화하는 (l)단계; 및
    상기 시스템의 검증부에서 상기 복호화된 검증용 복호화키를 통해 상기 제2투표함에 암호화되어 저장된 검증용투표정보를 복호화하여 검증을 진행하는 (m)단계;를 더 포함하며,
    상기 제2투표함에 저장되는 검증용투표정보는 투표자정보와 기표정보가 합쳐져서 상기 검증용 암호화키를 통해 암호화되어 저장됨으로써, 검증 진행 시 대리투표 여부를 확인할 수 있고,
    상기 (a)단계를 통해 상기 선관위암호가 입력되면, 상기 시스템의 암호체크부에서 상기 선관위암호를 통해 동일한 더미파일인 두 개의 확인용파일 중 하나를 암호화하는 (n)단계;
    상기 (h)단계를 통해 상기 선관위암호가 입력되면, 상기 시스템의 암호체크부에서 상기 선관위암호를 통해 상기 두 개의 확인용파일 중 다른 하나를 암호화하는 (o)단계; 및
    상기 시스템의 암호체크부에서 상기 (n)단계에서 암호화된 확인용파일과 상기 (o)단계에서 암호화된 확인용파일의 동일성 여부를 확인하는 (o-1)단계;를 더 포함함으로써 상기 선관위암호를 저장하지 않더라도, 상기 선관위암호가 제대로 입력되었는지 확인할 수 있는 것을 특징으로 하는 전자투표 운용 방법.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 제1항에 있어서,
    상기 (f)단계 이전 또는 이후, 상기 시스템의 정보수신부a에서 상기 투표자단말로부터 실시간으로 촬영된 사진정보를 수신하고, 상기 시스템의 투표처리부에서 상기 수신된 실시간 촬영된 사진정보를 기 저장된 사진정보와 비교하여 정당한 투표권자인지 인증하는 (p)단계;를 더 포함하는 것을 특징으로 하는 전자투표 운용 방법.
  7. 제1항 또는 6항 중 어느 한 항의 방법을 실행시킬 수 있는 컴퓨터로 읽을 수 있는 프로그램이 저장된 기록매체.
  8. 복수의 선관위단말에서 입력된 복수의 선관위암호를 수신하는 정보수신부;
    상기 복수의 선관위암호를 조합한 제1조합순서를 통해 개표용 암호화키와 개표용 복호화키를 생성하고, 상기 복수의 선관위암호를 다르게 조합한 제2조합순서를 통해 검증용 암호화키와 검증용 복호화키를 생성하며, 상기 개표용 복호화키를 제1조합순서를 통해 암호화한 후, 상기 개표용 암호화키와 상기 암호화된 개표용 복호화키는 저장하고, 상기 개표용 복호화키는 삭제하며, 상기 검증용 복호화키를 제2조합순서를 통해 암호화한 후, 상기 검증용 암호화키와 상기 암호화된 검증용 복호화키는 저장하고, 상기 검증용 복호화키는 삭제하는 보안키 생성부;
    투표자단말의 투표 참여 요청에 따라 상기 개표용 암호화키와 상기 검증용 암호화키를 상기 투표자단말로 제공하고, 상기 투표자단말에서 상기 개표용 암호화키를 이용해 암호화된 개표용투표정보를 수신하여 제1투표함에 저장하며, 상기 검증용 암호화키를 이용해 암호화된 검증용투표정보를 수신하여 제2투표함에 저장하는 투표처리부; 및
    상기 개표용투표정보를 복호화하여 개표를 진행하는 개표부;를 포함하되,
    선거 종료 후 상기 정보수신부에서 상기 복수의 선관위단말에서 입력된 복수의 선관위암호를 수신하면, 상기 보안키 생성부는 상기 제1조합순서를 통해 상기 암호화된 개표용 복호화키를 복호화하고, 상기 개표부는 상기 복호화된 개표용 복호화키를 통해 상기 제1투표함에 암호화되어 저장된 개표용투표정보를 복호화하여 개표를 진행하고,
    상기 제1투표함에 저장되는 개표용투표정보는 평문 형태의 투표자정보와, 상기 개표용 암호화키를 통해 암호화된 기표정보가 분리되어 랜덤화되어 저장됨으로써 비밀투표가 보장되며,
    상기 검증용투표정보를 복호화하여 검증을 진행하는 검증부;를 더 포함하되,
    상기 개표부를 통한 개표 결과에 분쟁이 발생할 경우, 상기 정보수신부는 상기 복수의 선관위단말로부터 상기 선관위암호를 각각 수신하고, 상기 보안키 생성부는 상기 제2조합순서를 통해 상기 암호화된 검증용 복호화키를 복호화하며, 상기 검증부는 상기 복호화된 검증용 복호화키를 통해 상기 제2투표함에 암호화되어 저장된 검증용투표정보를 복호화하여 검증을 진행하고,
    상기 제2투표함에 저장되는 검증용투표정보는 투표자정보와 기표정보가 합쳐져서 상기 검증용 암호화키를 통해 암호화되어 저장됨으로써, 검증 진행 시 대리투표 여부를 확인할 수 있는 것이며,
    상기 정보수신부를 통해 선거 개시 전 상기 선관위암호가 수신되면, 상기 선관위암호를 통해 두 개의 확인용파일 중 하나를 암호화하고, 선거 종료 후 상기 선관위암호가 수신되면, 상기 선관위암호를 통해 상기 두 개의 확인용파일 중 다른 하나를 암호화하며, 상기 각각 암호화된 두 개의 확인용파일의 동일성 여부를 확인하는 암호체크부;를 더 포함함으로써,
    상기 선관위암호를 저장하지 않더라도, 상기 선관위암호가 제대로 입력되었는지 확인할 수 있는 것을 특징으로 하는 전자투표 운용 시스템.
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
KR1020160051075A 2015-08-19 2016-04-26 보안성이 향상된 전자투표 운용 시스템, 방법 및 그 방법을 실행시킬 수 있는 컴퓨터로 읽을 수 있는 프로그램이 저장된 기록매체 KR101747833B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR1020150116715 2015-08-19
KR20150116715 2015-08-19
KR20160030084 2016-03-14
KR1020160030084 2016-03-14

Publications (2)

Publication Number Publication Date
KR20170022857A KR20170022857A (ko) 2017-03-02
KR101747833B1 true KR101747833B1 (ko) 2017-06-14

Family

ID=58426990

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160051075A KR101747833B1 (ko) 2015-08-19 2016-04-26 보안성이 향상된 전자투표 운용 시스템, 방법 및 그 방법을 실행시킬 수 있는 컴퓨터로 읽을 수 있는 프로그램이 저장된 기록매체

Country Status (1)

Country Link
KR (1) KR101747833B1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101908677B1 (ko) 2017-09-29 2018-10-16 숭실대학교산학협력단 블록체인을 이용한 전자투표 관리 시스템 및 방법
KR102051454B1 (ko) 2019-04-23 2019-12-04 에스지에이블록체인 주식회사 조건 검증에 의한 블록체인 기반 의사결정 시스템
KR102179421B1 (ko) 2020-07-07 2020-11-16 (주)한국전자투표 선거 명칭을 이용한 전자 투표 방법
KR102208763B1 (ko) 2020-07-07 2021-01-28 (주)한국전자투표 선거 명칭을 이용한 전자 투표 시스템

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101809976B1 (ko) * 2017-05-22 2017-12-18 전승주 다중 사용자의 인증요소를 조합하여 보안키를 생성하는 보안인증방법
KR101809974B1 (ko) * 2017-05-22 2017-12-19 주식회사 에프엔에스벨류 다중 사용자의 인증요소를 조합하여 보안키를 생성하는 보안인증시스템 및 보안인증방법
KR102053678B1 (ko) * 2018-04-11 2019-12-09 포인트아이 주식회사 블록체인 기술 기반 의사표시 시스템 및 방법
KR102197989B1 (ko) * 2019-04-19 2021-01-04 홍익대학교세종캠퍼스산학협력단 인공지능 본인 인증을 이용한 블록체인 기반 선거 시스템

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101908677B1 (ko) 2017-09-29 2018-10-16 숭실대학교산학협력단 블록체인을 이용한 전자투표 관리 시스템 및 방법
KR102051454B1 (ko) 2019-04-23 2019-12-04 에스지에이블록체인 주식회사 조건 검증에 의한 블록체인 기반 의사결정 시스템
KR102179421B1 (ko) 2020-07-07 2020-11-16 (주)한국전자투표 선거 명칭을 이용한 전자 투표 방법
KR102208763B1 (ko) 2020-07-07 2021-01-28 (주)한국전자투표 선거 명칭을 이용한 전자 투표 시스템

Also Published As

Publication number Publication date
KR20170022857A (ko) 2017-03-02

Similar Documents

Publication Publication Date Title
KR101747833B1 (ko) 보안성이 향상된 전자투표 운용 시스템, 방법 및 그 방법을 실행시킬 수 있는 컴퓨터로 읽을 수 있는 프로그램이 저장된 기록매체
US9716698B2 (en) Methods for secure enrollment and backup of personal identity credentials into electronic devices
EP2813961B1 (en) Biometric verification with improved privacy and network performance in client-server networks
US9384338B2 (en) Architectures for privacy protection of biometric templates
US20200084039A1 (en) Method and system for electronic voting with biometric identification
US11531746B2 (en) Method for electronic signing of a document by a plurality of signatories
Olaniyi et al. Design of secure electronic voting system using fingerprint biometrics and crypto-watermarking approach
CN113886860B (zh) 一种基于移动终端的电子数据保全***和方法
US11444784B2 (en) System and method for generation and verification of a subject&#39;s identity based on the subject&#39;s association with an organization
Gandhi et al. Study on security of online voting system using biometrics and steganography
RU2444063C1 (ru) Способ голосования с высоконадежной биометрической защитой анонимности голосующего
Khairnar et al. Survey on secure online voting system
KR101500947B1 (ko) 생체 정보 생성 및 인증
JP2020021127A (ja) 情報処理システム及び情報処理方法
WO2023022584A1 (en) System and method for decentralising digital identification
Rizwan Decentralized Voting System Based on Regions Using Facial Recognition
Haenni et al. Voting over the Internet on an Insecure Platform
Yun et al. The biometric based mobile ID and its application to electronic voting
Jamnadas et al. Challenges & Solutions Of Adoption In Regards To Phone-Based Remote E-Voting
JP2020022150A (ja) 情報処理システム及び情報処理方法
KR101611522B1 (ko) 생체 정보의 재사용을 방지하는 개인 인증 시스템 및 방법
Vignesh et al. E-biometric voting machine
KR102179421B1 (ko) 선거 명칭을 이용한 전자 투표 방법
WO2023181163A1 (ja) 照合システム、照合装置、照合方法及びプログラム
EP3937037A1 (en) A system and method for digital identity authentication based on biometric data

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
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