KR20090001497A - Internet voting method for all participants having mutual attestation functions on trusted computing environment and system thereof - Google Patents

Internet voting method for all participants having mutual attestation functions on trusted computing environment and system thereof Download PDF

Info

Publication number
KR20090001497A
KR20090001497A KR1020070038314A KR20070038314A KR20090001497A KR 20090001497 A KR20090001497 A KR 20090001497A KR 1020070038314 A KR1020070038314 A KR 1020070038314A KR 20070038314 A KR20070038314 A KR 20070038314A KR 20090001497 A KR20090001497 A KR 20090001497A
Authority
KR
South Korea
Prior art keywords
voting
server
voter
counting
ballot
Prior art date
Application number
KR1020070038314A
Other languages
Korean (ko)
Other versions
KR100912532B1 (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 한국전자통신연구원
Publication of KR20090001497A publication Critical patent/KR20090001497A/en
Application granted granted Critical
Publication of KR100912532B1 publication Critical patent/KR100912532B1/en

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/00Systems or methods specially adapted for 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
    • G07C15/00Generating random numbers; Lottery apparatus
    • G07C15/005Generating random numbers; Lottery apparatus with dispensing of lottery tickets
    • 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/3263Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/46Secure multiparty computation, e.g. millionaire problem
    • H04L2209/463Electronic voting

Abstract

An Internet voting system for providing a mutual attestation function to each participant in a trusted computing environment by using a TMP is provided to make each participant trust and use the Internet voting system on a trusted platform by adding the mutual attestation function. An authentication server performs authentication. A voter terminal(100) performs the authentication with the authentication server by using TPM and performs voting after the mutual attestation between a voting server(200) and a ballot counting server(300). The voting server stores voting information received from the voter terminal. The ballot counting server performs the authentication with the authentication server by using the TPM and performing the mutual attestation with the voter terminal, and provides a voting ticket for inputting the voting information to the voter terminal during the voting, and announces a voting result by analyzing the voting information stored through the voting server during ballot counting.

Description

신뢰 컴퓨팅 환경에서 각 참여자가 상호 보증 기능을 갖는 인터넷 전자투표 방법 및 시스템{Internet Voting method for all participants having mutual attestation functions on trusted computing environment and system thereof}Internet Voting method for all participants having mutual attestation functions on trusted computing environment and system

도1은 본 발명의 일실시예에 따른 인터넷 전자투표 시스템의 구성을 나타낸 도면,1 is a view showing the configuration of the Internet electronic voting system according to an embodiment of the present invention,

도2는 본 발명의 일실시예에 따른 인터넷 전자투표 방법의 전처리 과정을 설명하기 위한 도면,2 is a view for explaining a preprocessing process of the Internet electronic voting method according to an embodiment of the present invention;

도3a 및 도3b는 본 발명의 일실시예에 따른 인터넷 전자투표 방법의 투표 과정을 설명하기 위한 도면,3a and 3b are views for explaining the voting process of the Internet electronic voting method according to an embodiment of the present invention;

도4는 본 발명의 일실시예에 따른 인터넷 전자투표 방법의 개표 과정을 설명하기 위한 도면,Figure 4 is a view for explaining the counting process of the Internet electronic voting method according to an embodiment of the present invention,

도5a는 본 발명의 일실시예에 따른 투표서버의 보증 과정을 보다 상세히 설명하기 위한 도면, 그리고Figure 5a is a view for explaining in more detail the warranty process of the voting server according to an embodiment of the present invention, and

도5a는 본 발명의 일실시예에 따른 개표서버의 보증 과정을 보다 상세히 설명하기 위한 도면이다. Figure 5a is a view for explaining in more detail the warranty process of the ticket server according to an embodiment of the present invention.

본 발명은 인터넷 전자투표 방법 및 시스템에 관한 것으로, 특히 TPM(Trusted Platform Module) 기술을 이용하여 각 참여자가 상호 보증 기능을 갖는 인터넷 전자투표 방법 및 시스템에 관한 것이다. The present invention relates to an Internet electronic voting method and system, and more particularly, to an Internet electronic voting method and system in which each participant has a mutual guarantee function using a Trusted Platform Module (TPM) technology.

일반적으로, 전자투표(electronic voting)는 전자적 수단에 의한 투표행위나 투표집계 등 투표의 모든 측면에 응용된 개념을 말한다. 즉, 전자투표 실시를 위해 한 부분 또는 다양한 부분에서 전자적 수단의 조합이 가능하다. 실제 전자적 수단에 의한 투표집계는 이미 세계적으로 상당부분 도입되어 있으며 그 효과가 입증되었다. In general, electronic voting refers to a concept applied to all aspects of voting, such as voting by electronic means or voting counting. That is, a combination of electronic means is possible in one part or in various parts for conducting an electronic voting. In fact, electronic voting counting has already been introduced in large parts of the world and its effectiveness has been proven.

전자투표는 크게 지정된 장소에서 전자기기를 이용하는 방식과 원격투표방식 즉, 지정된 장소가 아닌 다양한 장소에서 투표하는 방식으로 나눌 수 있다. Electronic voting can be divided into two methods: using electronic devices at large designated places and voting at various places other than designated places.

먼저, 지정된 장소에서 전자기기를 이용하는 방식은 투표소, 관공서, 쇼핑센터 등 사람들이 자주 모이거나, 접근이 용이한 장소에 전자기기를 설치하고 투표하는 방식을 말하며, 터치스크린 시스템, PC 기반 기술, 그리고 고정식/이동식 키오스크(kiosks) 방식으로 구분된다. First, the use of electronic devices in designated places refers to the method of installing and voting electronic devices in places where people frequently gather or access easily, such as polling stations, public offices, shopping centers, and so on. It is divided into fixed / mobile kiosks.

이중, 키오스크 방식은 투표의 편의증진을 위해 투표소가 아닌 선거구내의 편리한 공공기관이나 장소에 설치된 무인자동안내시스템과 유사한 투표전용기기를 이용한 전자투표방식으로, 다양한 장소로 이동이 가능하며 키패드나 터치스크린 기 술을 활용한다. The kiosk system is an electronic voting system using a voting device similar to an unmanned automatic guidance system installed at a convenient public institution or place in a voting district, not for a polling place, to facilitate voting convenience. Use technology.

상기 방식은 기존의 방식과 같이 투표소에 나와 투표를 해야 하는 점이 불편하지만, 편리하고 쉬운 사용자 인터페이스를 제공하고, 개표 및 집계과정이 신속하며, 무효표 발생 확률이 거의 없다는 점이 장점이다. 무엇보다, 보안상의 위험이 인터넷투표보다 낮다는 차원에서 유력한 차세대 전자투표 방식으로 꼽힌다. Although the above method is inconvenient to vote in the polling place as in the conventional method, it is advantageous in that it provides a convenient and easy user interface, the counting and counting process is fast, and there is little probability of generating invalid votes. First of all, it is considered as a next-generation electronic voting method in that security risk is lower than Internet voting.

원격투표방식은 지정된 투표장소가 아닌 다양한 장소에서 다른 여러 전자적 기술을 활용하여 투표하는 것을 의미하며, 전화 투표 방식, 단문 서비스 텍스트 투표방식, 양방향 디지털 TV를 이용한 투표 방식, 그리고 인터넷 투표 방식 등이 있다. Remote voting means voting using a variety of other electronic technologies at various places other than designated polling places. There are telephone voting, short text service voting, two-way digital TV, and internet voting. .

이중 인터넷 투표 방식은 인터넷을 이용하여 시민들이 어느 장소에서나 투표할 수 있도록 하는 방식으로, 유권자들은 인터넷으로 연결된 단말기(PC)를 이용해 자신의 의사를 표시하며, 단말기를 떠난 투표 데이터는 네트워크를 통해 전송되어 서버에 저장된다. The dual Internet voting system allows citizens to vote at any place by using the Internet. Voters express their intentions using a PC connected through the Internet, and the voting data leaving the terminal is transmitted through the network. And stored on the server.

국내외 여러 업체가 ASP(Application Service Provider) 형식의 상용 서비스를 시작한 대표적인 전자투표 방식으로, 인터넷뱅킹 또는 인터넷 전자상거래와 비슷한 개념의 방식이라 할 수 있다. It is a representative electronic voting method that several domestic and foreign companies started commercial service in the form of Application Service Provider (ASP), and can be called a concept similar to Internet banking or Internet e-commerce.

한편, TPM 기술은 보안 및 신뢰 서비스를 위해 저전력, 고성능의 하드웨어/소프트웨어 결합을 통한 신뢰 컴퓨팅 환경을 제공하는 것을 목적으로 하고 있다. TPM은 플랫폼 무결성 보증, 안전한 스토리지 제공 및 공통 암호 라이브러리를 지원한다. Meanwhile, TPM technology aims to provide a trusted computing environment through a combination of low power and high performance hardware / software for security and trust services. TPM supports platform integrity assurance, secure storage provisioning, and common cryptographic libraries.

여기서, 신뢰 컴퓨팅에 대한 선업 표준화를 목적으로 하는 단체인 TCG(Trusted Computing Group)는 TCPA(Trusted Computing Platform Alliance)의 후신으로 현재 세계 120 여개 회사가 참여하고 있는 표준화 단체이다. 신뢰 컴퓨팅은 사용자 정보와 컴퓨팅 환경을 보호하고, 암호키를 통한 하드웨어로 보호되는 애플리케이션을 제공하며, 안전한 플랫폼들 간의 상호 인증을 제공하는 것을 목적으로 한다. Here, the Trusted Computing Group (TCG), a group that aims to standardize entrepreneurship on trusted computing, is a standard body of more than 120 companies worldwide, which is a successor of the Trusted Computing Platform Alliance (TCPA). Trusted computing aims to protect user information and computing environments, provide hardware-protected applications through cryptographic keys, and provide mutual authentication between secure platforms.

상기 TPM은 TCG에 의해 정의된 하드웨어로, 컴퓨팅 플랫폼에 임베디드 형태로 장착되어 신뢰 근원(root of trust)의 역할을 한다. The TPM is hardware defined by the TCG, which is embedded in the computing platform and serves as a root of trust.

TPM은 암호키들을 생성, 사용 및 보호하고, 플랫폼이 동일한 configuration일 때에만 읽기 가능한 데이터를 암호화하는 이른바 "Sealed storage"를 제공한다. TPM provides so-called "sealed storage" that generates, uses and protects cryptographic keys and encrypts readable data only when the platform is in the same configuration.

또한, 플랫폼에 대한 측정값(Platform Configuration Register, 이하 PCR)을 저장하고 서명하는 방법으로 플랫폼 상의 소프트웨어를 측정한다. In addition, the software on the platform is measured by storing and signing the platform configuration register (PCR).

그리고 본 발명과 연관된 기능으로서, 유효한 TPM 임을 인증하고 PCR 값에 대한 서명을 제공하는 방법으로 제삼자에 대한 PCR 값 보증 기능을 제공한다. And as a function associated with the present invention, it provides a PCR value assurance function for a third party by a method for authenticating that it is a valid TPM and providing a signature for the PCR value.

프라이빗-CA(privacy-Certificate Authority)을 이용한 보증은 보증 과정을 위해, 각 플랫폼의 TPM이 유일한 암호키(Endorsement Key, 이하 EK)를 갖고, 각 검증자는 유효한 TPM들의 EK를 알거나 인증기관이 발급한 각 EK에 대한 인증서를 가지고 있다. Assurance using the private-Certificate Authority (CA) is for the assurance process that each platform's TPM has a unique Endorsement Key (EK), and each verifier knows the EK of valid TPMs or is issued by a certification authority. You have a certificate for each EK.

플랫폼이 안전한 OS(Operating System)를 실행하는지 여부를 검증자가 알고자 할 경우, TPM은 유효한 TPM임을 검증자에게 보증하기 위해, 플랫폼에 대한 측정 값(PCR 값)을 검증자에게 송신하고, 검증자는 EK를 통해 해당 PCR을 확인하여 TPM이 유효한지 여부를 검증한다. If the verifier wants to know whether the platform is running a secure operating system (OS), the TPM sends a verifier (PCR value) to the verifier to ensure that the verifier is a valid TPM. Validate the PCR via EK to verify whether the TPM is valid.

그러나 위와 같은 방법에서는 두 개 이상의 검증자들이 동일한 플랫폼에서의 보증임을 알게 되고, 이를 통해 동일한 사용자의 동작들이 링크될 가능성이 있으므로 TPM이 장착된 플랫폼의 익명성을 보장할 수 없다는 문제점이 있다. However, in the above method, two or more verifiers know that they are guaranteed on the same platform, and there is a problem in that the anonymity of the TPM-equipped platform cannot be guaranteed because the operations of the same user may be linked.

이 문제의 해결을 위해 제삼자인 사설 인증기관을 두어 검증자마다 다른 키를 사용할 수 있도록 한다. 각 플랫폼의 TPM이 EK외에 각 검증자마다의 보증키(Attestation Identity Key, 이하 AIK)를 갖도록 한다. To solve this problem, a third-party private certification authority is set up so that different validators can use different keys. Make sure that the TPM of each platform has an Attestation Identity Key (AIK) for each verifier in addition to the EK.

AIKi는 RSA키쌍으로서 AIKi_공개키(검증키)와 AIKi_비밀키(서명키)로 구성된다. 이를 이용한 보증 과정은 다음과 같다.(이때, i는 1≤i≤k, k는 검증자의 수) AIKi is an RSA key pair consisting of AIKi public key (validation key) and AIKi secret key (signature key). The assurance process using this is as follows (where i is 1≤i≤k and k is the number of validators).

TPM은 EK와 AIKi_공개키를 사설 인증기관에게 보내고, 사설 인증기관은 EK가 유효한지 여부를 검사한다. The TPM sends the EK and AIKi_public key to the private certification authority, which checks whether the EK is valid.

사설 인증기관으로부터 자신이 서명한 AIKi_공개키의 인증서인 SIGprivacy-CA(AIKi_공개키)를 EK로 암호화된 형태로 얻는다. (이때, SIGx(Y)는 X를 키로 하는 Y에 대한 서명)Obtain SIG privacy-CA (AIKi public key), which is a certificate of AIKi public key, signed by a private certification authority in EK encrypted form. Where SIGx (Y) is the signature for Y with X as the key

TPM은 복호화를 통해 SIGprivacy-CA(AIKi_공개키)를 얻는다. TPM obtains SIG privacy-CA (AIKi_public key) through decryption.

검증자가 요청하면, TPM은 SIGprivacy-CA(AIKi_공개키)와 AIKi_공개키, 그리고 플랫폼을 측정한 값인 PCR을 AIKi_비밀키로 서명한 SIGAIKi_비밀키(PCR)와 플랫폼 측정 리스트(Measurement List, 이하 ML)를 검증자에게 포워딩한다. At the request of the verifier, the TPM sends the SIG privacy-CA (AIKi_public key) and AIKi_public key, and the SIG AIKi_Private key (PCR) and platform measurement list (signed with the AIKi_Private key ). Forward the Measurement List (ML) to the verifier.

검증자는 TPM으로부터 받은 인증서 SIGprivacy-CA(AIKi_공개키)를 통해 함께 수신한 AIKi_공개키를 확인한 후, 이 키를 통해 SIGAIKi_비밀키(PCR)를 검증하여 PCR을 획득한다. The verifier verifies the AIKi public key received through the certificate SIG privacy-CA (AIKi public key) received from the TPM, and verifies the SIG AIKi secret key (PCR) through this key to obtain PCR.

그리고 함께 수신한 ML과 PCR의 내용을 비교하여 보증을 확인한다. And compare the contents of the ML and PCR received together to confirm the guarantee.

이에 본 발명의 목적은 인터넷 전자투표를 구성하는 참여자인 유권자, 투표서버 및 개표서버 모두를 신뢰할 수 있도록 상호 보증(Mutual attestation) 기능을 추가하여 신뢰 플랫폼 상에서 각 참여자 모두가 전자투표 시스템을 믿고 이용할 수 있는 인터넷 전자투표 방법 및 시스템을 제공하는 데 있다. Accordingly, an object of the present invention is to add a mutual attestation function to trust all the voters, the voting server, and the ballot counting server, which constitute the Internet electronic voting, so that each participant can trust and use the electronic voting system on a trust platform. The present invention provides a method and system for electronic electronic voting.

또한 저전력, 고성능의 TPM 칩을 유권자(PC), 투표서버 및 개표서버의 메인 보드에 각각 장착하여 성능을 극대화하는 동시에, 기존의 공개키 기반구조 상의 인증기관이 사설 인증기관 역할을 하도록 하여 유권자와 서버들간의 상호 보증의 주체가 될 수 있도록 해주는 인터넷 전자투표 방법 및 시스템을 제공하는 데 있다. In addition, the low-power, high-performance TPM chip is mounted on the main board of the voter (PC), the voting server, and the ballot counting server, respectively, to maximize performance, while allowing the certification authority on the existing public key infrastructure to act as a private certification authority. An object of the present invention is to provide an electronic voting method and system for internet voting that can be a subject of mutual guarantee between servers.

상기한 목적을 달성하기 위한 본 발명에 따른 유권자 단말기, 투표서버, 개표서버, 및 인증서버를 참여자로 가지는 인터넷 전자투표 방법은, 상기 유권자 단말기, 투표서버, 및 개표서버 각각은 TPM을 이용하여 상기 인증서버로부터 자신의 인증서를 제공받고, 상기 투표서버와 개표서버는 자신의 인증서를 서로 교환한 후 투표 처리 정보와 개표 처리 정보를 각각 생성하는 전처리 과정; 상기 유권자 단말기, 상기 투표서버 및 상기 개표서버가 상기 TPM을 이용하여 서로를 보증한 후 상기 유권자 단말기가 투표 정보를 생성하면, 상기 투표서버가 상기 투표 처리 정보에 따라 상기 투표 정보를 저장하는 투표 과정; 및 상기 저장된 투표 정보를 상기 개표 처리 정보에 따라 분석하여 투표 내용을 집계하고 출력하는 개표 과정을 포함한다. According to the present invention, a voter terminal, a voting server, a ballot server, and an authentication server according to the present invention have a participant. The voter terminal, the voting server, and the ballot server each use the TPM. Receiving a certificate of its own from an authentication server, the ballot server and the ballot server after the pre-processing process for generating each of the ballot processing information and the ballot processing information after exchanging their certificates; A voting process in which the voting server stores the voting information according to the voting process information after the voter terminal, the voting server and the ballot counting server guarantee each other by using the TPM, and then the voting terminal generates voting information. ; And a counting process for analyzing the stored voting information according to the counting information and counting and outputting the voting contents.

상기한 목적을 달성하기 위한 본 발명에 따른 인터넷 전자투표 시스템은, TPM의 프라이버시-CA으로써 인증 작업을 수행하는 인증서버; 상기 TPM를 이용하여 상기 인증서버와의 인증 작업과 하기의 투표서버 및 개표서버와의 상호 보증 작업을 수행한 후, 투표 작업을 수행하는 유권자 단말기; 상기 TPM를 이용하여 상기 인증서버와의 인증 작업과 상기 유권자 단말기와의 상호 보증 작업을 수행한 후, 상기 유권자 단말기로부터 전송되는 투표정보를 저장하는 투표서버; 및 상기 TPM를 이용하여 상기 인증서버와의 인증 작업과 상기 유권자 단말기와의 상호 보증 작업을 수행한 후, 투표 시에는 상기 유권자 단말기에 상기 투표정보를 입력할 수 있도록 하는 투표 티켓을 제공하고, 개표 시에는 상기 투표서버를 통해 저장된 상기 투표 정보를 분석하여 투표결과를 발표하는 개표서버를 포함한다.Internet voting system according to the present invention for achieving the above object, the authentication server for performing the authentication operation as a privacy-CA of the TPM; A voter terminal for performing a voting operation after performing an authentication operation with the authentication server and a mutual guarantee operation with a voting server and a ballot counting server using the TPM; A voting server for storing the voting information transmitted from the voter terminal after performing the authentication operation with the authentication server and the mutual guarantee operation with the voter terminal using the TPM; And after performing authentication work with the authentication server and mutual guarantee work with the voter terminal by using the TPM, provide a voting ticket for inputting the voting information into the voter terminal when voting. The city includes a counting server that analyzes the voting information stored through the voting server and announces a voting result.

이하, 본 발명에 따른 인터넷 전자투표 방법에 대한 바람직한 실시예에 대하여 첨부한 도면을 참조하여 상세하게 살펴보기로 한다. 이 때, 아래에서 설명하는 시스템 구성은 본 발명의 설명을 위해서 인용한 시스템으로써 아래 시스템으로 본 발명을 한정하지 않음을 이 분야의 통상의 지식을 가진 자라면 이해해야할 것이다. Hereinafter, a preferred embodiment of the Internet electronic voting method according to the present invention will be described in detail with reference to the accompanying drawings. At this time, it will be understood by those of ordinary skill in the art that the system configuration described below is a system cited for the purpose of the present invention and does not limit the present invention to the following system.

도1은 본 발명의 일실시예에 따른 인터넷 전자투표 시스템의 구성을 나타낸 도면이다. 1 is a view showing the configuration of the Internet electronic voting system according to an embodiment of the present invention.

도1을 참조하면, 본 발명의 인터넷 전자투표 시스템은 유권자 단말기(100), 투표서버(200), 개표서버(300), 인증서버(400), 그리고 유권자 데이터베이스(500) 및 투표 데이터베이스(600)를 포함한다. 그리고 유권자 단말기(100), 투표서버(200), 및 개표서버(300) 각각에는 TPM이 장착된다. Referring to Figure 1, the Internet electronic voting system of the present invention is a voter terminal 100, voting server 200, ballot server 300, authentication server 400, and voter database 500 and voting database 600 It includes. Each voter terminal 100, the voting server 200, and the ballot counting server 300 are each equipped with a TPM.

유권자 단말기(100)는 TPM을 이용하여 인증서버(400)로부터 자신의 인증서(SIGCA(AIK_Vi_공개키)를 제공받아 보유하고 있으며, 유권자(Vi)에 의해 투표 정보가 입력되면 유권자 TPM 정보를 첨부하여 투표서버(200) 및 개표서버(300)에 전송한 후, TPM을 이용한 보증 작업이 정상적으로 완료된 후에만 실질적인 투표 작업을 수행하도록 한다. The voter terminal 100 receives and holds its certificate (SIG CA (AIK_Vi_public key)) from the authentication server 400 using the TPM, and receives voter TPM information when the voter information is input by the voter Vi. After attaching and transmitting to the voting server 200 and the ballot counting server 300, the actual voting work is performed only after the guarantee work using the TPM is normally completed.

투표서버(200)는 TPM을 이용하여 인증서버(400)로부터 자신의 인증서(SIGCA(AIK_투표서버_공개키)를 제공받고, 투표시에는 유권자 단말기(100)로부터 전송되는 유권자 TPM 정보를 이용하여 유권자 단말기(100)를 보증한 후, 투표 정보를 투표 데이터베이스(600)에 저장한다. 그리고 개표 시에는 투표 데이터베이스(600)에 저장된 투표 정보들을 개표서버(300)에 제공해준다. The voting server 200 receives its certificate (SIG CA (AIK_voting server_public key)) from the authentication server 400 using the TPM, and receives voter TPM information transmitted from the voter terminal 100 when voting. After assuring the voter terminal 100 using the voting information, the voting information is stored in the voting database 600. The voting information stored in the voting database 600 is provided to the voting server 300.

개표서버(300)는 TPM을 이용하여 인증서버(400)로부터 자신의 인증서(SIGCA(AIK_개표서버_공개키)를 제공받고, 투표시에는 유권자 단말기(100)로부터 전송되는 유권자 TPM 정보를 이용하여 유권자 단말기(100)를 보증한 후, 투표 정보 를 생성할 수 있는 투표 티켓(T)을 제공한다. 그리고 개표 동작시에는 투표서버(200)가 제공하는 투표 정보를 분석하여, 투표 결과를 발표한다. Vote server 300 receives its certificate (SIG CA (AIK_count server_public key)) from the authentication server 400 using the TPM, and voter TPM information transmitted from the voter terminal 100 when voting After the endorsement of the voter terminal 100, the voting ticket T may be provided to generate voting information, and the voting information provided by the voting server 200 may be analyzed and the voting result may be analyzed. To announce.

인증서버(400)는 TPM의 사설 인증기관으로서의 기능을 수행하여, 플랫폼의 익명성을 제공하면서 유권자 단말기(100), 투표서버(200), 개표서버(300) 각각에 대한 인증을 수행한 후, 각각의 인증서를 제공한다. The authentication server 400 performs a function as a private certification authority of the TPM, and performs authentication for each of the voter terminal 100, the voting server 200, and the ballot counting server 300 while providing anonymity of the platform. Provide each certificate.

유권자 데이터베이스(500)는 투표와 관련된 유권자 단말기(또는 유권자)(100)의 모든 정보를 저장하고, 투표 데이터베이스(600)는 투표서버(200)에 의해 저장되는 투표 정보들이 저장된다. The voter database 500 stores all information of the voter terminal (or voter) 100 related to voting, and the voting database 600 stores voting information stored by the voting server 200.

이하에서는 본 발명의 일실시예에 따른 인터넷 전자투표 방법을 설명하기로 한다. Hereinafter will be described the Internet electronic voting method according to an embodiment of the present invention.

도2는 인터넷 전자투표 방법의 전처리 과정을 설명하기 위한 도면이고, 도3a 및 도3b는 투표 과정을 설명하기 위한 도면이고, 도4는 개표 과정을 설명하기 위한 도면이다. 2 is a view for explaining a preprocessing process of the Internet electronic voting method, Figures 3a and 3b is a view for explaining the voting process, Figure 4 is a view for explaining the counting process.

도2를 참조하여, 인터넷 전자투표 시스템의 투표 및 개표를 위한 전처리 과정을 설명하면 다음과 같다. Referring to Figure 2, the pre-processing process for voting and counting the Internet electronic voting system will be described as follows.

먼저, 유권자 단말기(100), 투표서버(200), 및 개표서버(300)가 보증에 관한 인증서를 발급받기 위해 자신의 EK와 AIK를 인증서버(400)에 전송한다(S110). First, the voter terminal 100, the voting server 200, and the ballot counting server 300 transmits its EK and AIK to the authentication server 400 in order to obtain a certificate regarding the guarantee (S110).

단계 S110에서, 유권자 단말기(100)는 EK_Vi와 AIK_Vi_공개키(이때, Vi는 유권자 단말기의 식별 번호)를, 투표서버(200)는 EK_투표서버와 AIK_투표서버_공개키를, 개표서버(300)는 EK_개표서버와 AIK_개표서버_공개키를 인증서버(400)로 각각 전송한다. In step S110, the voter terminal 100 receives the EK_Vi and AIK_Vi_ public keys (where Vi is the identification number of the voter terminal), and the voting server 200 displays the EK_ voting server and the AIK_voting server_public key. The server 300 transmits the EK count server and the AIK count server public key to the authentication server 400, respectively.

인증서버(400)는 수신한 EK_Vi, EK_투표서버, EK_개표서버 각각을 이용하여 유권자 단말기(100), 투표서버(200), 및 개표서버(300)의 유효성을 검사한 후, 자신이 서명한 AIK_공개키의 인증서인 SIGCA(AIK_Vi_공개키), SIGCA(AIK_투표서버_공개키), SIGCA(AIK_개표서버_공개키)를 대응되는 EK로 암호화하여 유권자 단말기(100), 투표서버(200), 및 개표서버(300) 각각으로 제공한다(S120). The authentication server 400 checks the validity of the voter terminal 100, the voting server 200, and the voting server 300 by using the received EK_Vi, EK_ voting server, and EK_ voting server, respectively, AIK_ signed public key SIG CA (AIK_Vi_ public key) of the certificate, SIG CA (AIK_ _ voting server's public key), SIG CA (AIK_ _ counting server's public key) to encrypt the corresponding EK voters terminal Provided to each of the 100, the voting server 200, and the ballot counting server 300 (S120).

그러면, 투표서버(200)와 개표서버(300)는 자신의 인증서인 SIGCA(AIK_투표서버_공개키)와 SIGCA(AIK_개표서버_공개키)를 개표 과정 시에 사용하기 위해 상호 교환한다(S130).Then, the voting server 200 and counting server 300 to mutually use their certificates of SIG CA (AIK_ _ voting server's public key) and SIG CA (AIK_ _ counting server's public key) during the election process Exchange (S130).

그리고 투표서버(200)는 유권자수 만큼(N개)의 무작위 수열을 생성하고(S140), 개표서버(300)는 유권자수 만큼(N개)의 무작위 수열을 생성함과 동시에 k 종류의 투표 티켓(T)을 유권자수 만큼(N개) 생성하고, 이를 섞는다(S150). The voting server 200 generates a random sequence of N votes as many as (N) (S140), and the ballot counting server 300 generates a random sequence of N votes (N) and k kinds of voting tickets. Generate (T) as many voters as possible (N) and mix them (S150).

이때, 투표서버(200) 및 개표서버(300)는 생성된 무작위 수열을 외부에는 비밀로 한다. At this time, the voting server 200 and the ballot counting server 300 keeps the generated random sequence secret.

도2의 방법이 완료되면, 도3a 및 도3b에서와 같이 투표 과정을 진행된다. When the method of Figure 2 is completed, the voting process proceeds as shown in Figures 3a and 3b.

먼저, 단계 S211에서는 임의의 유권자 단말기(100)를 통해 유권자가 전자투표를 하면, 유권자 단말기(100)는 제1난수(f1), 투표횟수(RN), 투표횟수(RN)에 대한 해쉬값(H(RN)), 투표시간(TS)을 생성하고, 이를 유권자 TPM 정보와 함께 투표서 버(200)와 개표서버(300)에 각각 전송한다. First, in step S211, when a voter makes an electronic vote through any voter terminal 100, the voter terminal 100 has a hash value for the first random number f1, the voting frequency RN, and the voting frequency RN. H (RN)), and generates a voting time (TS) and transmits it to the voting server 200 and the ballot counting server 300 together with voter TPM information.

이때, 유권자 TPM 정보는 SIGCA(AIK_Vi_공개키), AIK_Vi_공개키, 그리고 PCR을 EK_Vi로 서명한 서명값(S)과 ML로 이루어지며, 서명값(S)은 수학식1에 따라 생성된다. At this time, the voter TPM information is composed of SIG CA (AIK_Vi_ public key), AIK_Vi_ public key, and the signature value (S) and ML signed PCR with EK_Vi, the signature value (S) is generated according to Equation 1 do.

S=SIGAIK _Vi_비밀키(H(RN)∥TS∥PCR)S = SIG AIK _Vi_ Secret (H (RN) ∥ TS ∥ PCR)

단계 S212에서, 투표서버(200) 및 개표서버(300) 각각은 유권자 단말기(100)가 전송하는 유권자 TPM 정보를 이용하여 유권자에 대한 보증 작업을 수행하고, 투표횟수(RN)를 이용하여 이중 투표 검사 작업을 수행한 후, 유권자 단말기(100)가 자신을 신뢰할 수 있도록 TPM 정보를 생성하여 유권자 단말기(100)에 각각 전송한다. 단계 S212에 대한 상세한 설명은 이하의 도5a 및 도5b를 통해 보다 상세히 설명하기로 한다. In step S212, each of the voting server 200 and the ballot counting server 300 performs a guarantee operation for the voter by using the voter TPM information transmitted from the voter terminal 100, and double voting using the number of votes RN. After performing the inspection operation, the voter terminal 100 generates TPM information so as to trust itself, and transmits the TPM information to the voter terminal 100, respectively. A detailed description of step S212 will be described in more detail with reference to FIGS. 5A and 5B below.

여기서, 투표서버 TPM 정보는 SIGCA(AIK_투표서버_공개키), AIK_투표서버_공개키, 그리고 PCR을 투표서버(200)의 AIK_개표서버_비밀키로 서명한 서명값(SIGAIK_투표서버_비밀키(PCR))과 ML로 이루어지고, 개표서버 TPM 정보는 SIGCA(AIK_개표서버_공개키)와 AIK_개표서버_공개키, 그리고 PCR을 개표서버(300)의 AIK_개표서버_비밀키로 서명한 서명값(SIGAIK_개표서버_비밀키(PCR))과 ML로 이루어진다. Here, the voting server TPM information is a SIG CA (AIK_voting server_public key), AIK_voting server_public key, and a signature value signed by PCR with the AIK_voting server_secret key of the voting server 200 (SIG AIK _ Ballot server _ secret key (PCR) and ML, the ballot server TPM information is SIG CA (AIK_ ballot server_ public key) and AIK_ ballot server_ public key, and PCR of the ballot server (300) It consists of a signature value (SIG AIK_Evaluation Server_Private Key (PCR)) and an ML signed by AIK_Evaluation Server_Private key .

단계 S213에서, 유권자 단말기(100)는 투표서버 TPM 정보와 개표서버 TPM 정 보를 통해 투표서버(200) 및 개표서버(300)의 신뢰성을 확인한다. In step S213, the voter terminal 100 confirms the reliability of the voting server 200 and the counting server 300 through the voting server TPM information and the counting server TPM information.

이를 위해, 유권자 단말기(100)는 투표서버(200)로부터 받은 SIGCA(AIK_개표서버_공개키)을 통해 함께 수신한 AIK_투표서버_공개키를 확인하고, 이 키를 통해 투표서버(200)의 서명값(SIGAIK_개표서버_비밀키(PCR))을 검증하여 PCR을 획득한 후, 함께 수신한 ML과 PCR의 내용을 비교하여 보증을 확인한다. 그리고 개표서버(300)의 신뢰성도 이와 동일한 방법으로 확인한다. To this end, the voter terminal 100 checks the AIK_voting server_public key received through the SIG CA (AIK_voting server_public key) received from the voting server 200, and through this key, the voting server ( Acquire the PCR by verifying the signature value (SIG AIK_ Ticket Server_Private Key (PCR)) of 200), and then verify the guarantee by comparing the contents of the received PCR with the contents of the PCR. And it also checks the reliability of the counting server 300 in this same way.

단계 S214에서, 개표서버(300)가 제2 난수(f2)를 생성한 후, 수학식2에 따라 유권자 단말기(100) AIK_Vi_공개키로 암호화하여 유권자 단말기(100)로 전송한다. In step S214, after the ballot counting server 300 generates the second random number f2, it is encrypted with the voter terminal 100 AIK_Vi_public key according to Equation 2 and transmitted to the voter terminal 100.

A = ENCAIK _Vi_공개키(f2)A = ENC AIK _Vi_public key (f2)

여기서, ENCx(Y)는 X를 키로 하는 Y에 대한 공개키 암호화 함수이다. Here, ENCx (Y) is a public key encryption function for Y with X as the key.

단계 S215에서, 유권자 단말기(100)는 암호화된 제2 난수(A)를 복호화하여 제2 난수(f2)를 획득하고, 이를 자신이 생성해놓은 제1 난수(f1)를 통해 다시 암호화하여 개표서버(300)에게 전송한다. In step S215, the voter terminal 100 decrypts the encrypted second random number A to obtain a second random number f2, and encrypts it again through the first random number f1 generated by the voter server ( 300).

f2 = DECAIK_Vi_비밀키(A),f2 = DEC AIK_Vi_secret (A),

B = Ef2(f1) B = E f2 (f1)

여기서, DECx(Y)는 X를 키로 하는 Y에 대한 공개키 복호화 함수이고, Ex(Y) 는 X를 키로 하는 Y에 대한 대칭키 암호화 함수이다. Here, DECx (Y) is a public key decryption function for Y with X as a key, and Ex (Y) is a symmetric key encryption function for Y with X as a key.

단계 S216에서, 유권자 단말기(100)는 제1 난수(f1)와 제2 난수(f2)를 배타적 논리합(XOR)하여 개표서버(400)와의 세션키(SK_Vi개표)를 생성한다. In step S216, the voter terminal 100 generates an exclusive logical OR (XOR) of the first random number f1 and the second random number f2 to generate a session key (SK_Vi count) with the count server 400.

SK_Vi개표 = f1 XOR f2SK_Vi count = f1 XOR f2

단계 S217에서, 개표서버(400)는 암호화된 제2 난수(B)로부터 제1 난수(f1)를 추출하고 유권자 단말기(100)와의 세션키(SK_Vi 개표)를 획득한 후, 세션키(SK_Vi 개표)를 이용하여 투표 티켓(T)을 암호화하여 유권자 단말기(100)로 전송한다.In step S217, the ballot counting server 400 extracts the first random number f1 from the encrypted second random number B, obtains the session key (SK_Vi counting) with the voter terminal 100, and then selects the session key (SK_Vi counting) ) And encrypts the voting ticket (T) to the voter terminal (100).

C = ESK _ Vi 개표(T) C = E SK _ Vi count (T)

단계 S218에서, 유권자 단말기(100)는 자신의 세션키(SK_Vi 개표)를 이용해 암호화된 투표 티켓(C)을 복호화하여 투표 티켓(T)을 획득한 후, 이에 투표내용(O) 및 자신의 비밀번호(PW)를 기입하여 수학식 6에 따라 투표값(p)을 생성한다. 그리고 자신의 EK_Vi로 서명하여 유권자 서명값(r)을 더 생성한 후, 투표값(p)과 유권자 서명값(r)을 함께 투표서버(300)에게 전송한다. In step S218, the voter terminal 100 decrypts the encrypted voting ticket C using its session key (SK_Vi counting count) to obtain the voting ticket T, and thus the vote contents O and its password. Fill in (PW) to generate a vote p according to equation (6). After signing with its own EK_Vi to further generate the voter signature value r, the voting value p and the voter signature value r are transmitted to the voting server 300 together.

p = ENCAIK_투표서버_공개키(T || O || PW),p = ENC AIK_voting server_public key (T || O || PW),

r= SIGAIK_Vi_비밀키(p)r = SIG AIK_Vi_secret (p)

단계 S219에서, 투표서버(300)는 투표값(p)과 유권자 서명값(r)을 수신하여 유권자 서명값(r)을 검증한 후, 유권자 데이터베이스(500)에 인증서 일련번호, 인증서 발급기관, SIGCA(AIK_Vi_공개키), 투표시간(TS), 유권자 단말기의 링크 주소(URL), 및 서명값(S)을 포함하는 유권자 단말기(또는 유권자)의 정보를 저장한다. 그리고 투표값(p)을 수학식7에 따라 AIK_투표서버_비밀키로 서명하여 투표서버 서명값(q)로 변환한 후, 유권자 단말기(100)에게 전송한다. In step S219, the voting server 300 receives the vote value (p) and voter signature value (r) to verify the voter signature value (r), the certificate serial number, certificate issuer, SIG CA (AIK_Vi_public key), polling time (TS), the voter terminal's link address (URL), and the signature value (S), and stores information of the voter terminal (or voter). Then, the voting value p is signed by AIK_Voice Server_Private key according to Equation 7 and converted to the voting server signature value q, and then transmitted to the voter terminal 100.

q = SIGAIK_투표서버_비밀키(p)q = SIG AIK voting server secret key (p)

단계 S210에서, 유권자 단말기(100)는 투표서버 서명값(q)을 검증한 후 자신이 투표한 값(p)이 성공적으로 전달되었음을 개표서버(300)에 통보하기 위해, 투표횟수(RN)를 개표서버(400)와의 세션키(SK_Vi 개표)로 암호화하여 개표서버(300)에게 전송한다.In step S210, the voter terminal 100 verifies the voting server signature value q and then notifies the ballot count 300 to notify the counting server 300 that the value p of the vote has been successfully delivered. It encrypts with the session key (SK_Vi count) with the count server 400 and transmits it to the count server 300.

D = ESK_Vi 개표(RN) D = E SK_Vi count (RN)

단계 S211에서, 개표서버(400)는 암호화된 세션키(ESK_Vi개표(RN))를 자신의 세션키(SK_Vi 개표)로 복호화하여 투표횟수(RN)를 추출한 후, 유권자 데이터베이스(500)에 저장된 값들을 참조하여 올바른 투표횟수(RN)가 전송되었는지를 확인함과 동시에 투표서버(300)가 유권자 데이터베이스(500)에 값들을 올바르게 기록하였는지 검사한다. 검사가 성공하면, 이에 대한 투표횟수(RN)에 대한 해쉬값(H(RN+1)) 을 유권자 단말기(100)에게 전송하여 이를 통보하고, 투표횟수(RN)를 유권자 데이터베이스(500)에 기록한다.In step S211, the ballot counting server 400 decrypts the encrypted session key (E SK_Vi ballot count (RN)) with its session key (SK_Vi ballot count) to extract the number of votes (RN), and then stores them in the voter database 500. It is checked whether the correct number of votes (RN) has been transmitted by referring to the values, and at the same time, the vote server 300 checks whether the values are correctly recorded in the voter database 500. If the test is successful, the hash value H (RN + 1) of the voting frequency RN is transmitted to the voter terminal 100 and notified, and the voting frequency RN is recorded in the voter database 500. do.

단계 S212에서, 유권자 단말기(100)는 수신된 해쉬값(H(RN+1))과 자신의 투표횟수(RN)를 비교하여 투표의 정상 수행 여부를 확인한 후, 투표가 정상적으로 완료되었다는 의미로 해쉬값(H(RN+2))을 투표서버(300)에 전송한다.In step S212, the voter terminal 100 compares the received hash value H (RN + 1) with its vote count RN to check whether the vote is normally performed, and then hashes it to indicate that the vote is normally completed. The value H (RN + 2) is transmitted to the voting server 300.

단계 S213에서, 투표서버(300)는 해쉬값 H(RN+2)를 받아 유권자 데이터베이스(500)에 기록된 투표횟수(RN)와 비교하여 올바른 값인지 검증하고, 검증이 성공하면 투표 종료를 유권자 단말기(100)에게 알리고, 투표값 및 개표서버의 서명값쌍(p, r)에 미리 생성해 놓은 무작위 수열을 매핑하여 투표 데이터베이스(600)에 저장한다.In step S213, the voting server 300 receives the hash value H (RN + 2) and compares it with the number of votes RN recorded in the voter database 500, and verifies that it is the correct value. The terminal 100 is notified, and a random sequence generated in advance to the voting value and the signature value pair (p, r) of the ballot counting server is mapped and stored in the voting database 600.

이와 같은 도3a 및 도3b의 투표 과정이 완료되면, 마지막은 도4에서와 같이 개표 과정을 진행된다. When the voting process of FIG. 3A and FIG. 3B is completed, the last counting process is performed as shown in FIG. 4.

단계 S310에서, 투표서버(200)가 투표 종료 후 무작위 수열에 따라 투표값 및 개표서버의 서명값쌍(p, r)을 정렬한 후, 투표 데이터베이스(600)에 기재된 숫자를 지우고 이를 개표서버(300)에게 전달한다.In step S310, after the voting server 200 aligns the voting value and the signature value pair (p, r) of the ballot counting server according to the random sequence after the end of the voting, deletes the number described in the voting database 600 and counts the counting server 300 To).

단계 S320에서, 개표서버(300)가 투표 데이터베이스(600)를 받아 무작위 수열을 투표값 및 개표서버의 서명값쌍(p, r)에 부여하고 이를 정렬한다.In step S320, the ballot counting server 300 receives the voting database 600 and assigns a random sequence to the ballot value and the signature value pairs p and r of the ballot counting server and sorts them.

단계 S330에서, 개표서버(300)가 투표 데이터베이스(600)를 공개 및 개표하고 투표 마감자수와 투표 데이터베이스(600)의 투표수가 일치하는지를 검사한 후, 수학식9에 따라 각각의 투표값 및 개표서버의 서명값쌍(p, r)에 대하여 투표서버 서명값(q)의 서명을 검증한다. In step S330, the ballot counting server 300 publishes and counts the voting database 600 and checks whether the number of voting deadlines matches the number of voting in the voting database 600, and then, according to Equation 9, each voting value and the counting count server The signature of the voting server signature value (q) is verified with respect to the signature value pairs (p, r) of.

VERAIK _ 투표서버 _공개키(q, p)VER AIK _ voting server _ public key (q, p)

여기서, VERX(Y,Z)는 키 X를 통해 서명 Y를 풀고, 이 결과 값을 Z와 비교하는 검증하는 함수이다. Here, VER X (Y, Z) is a function that verifies the signature Y through the key X and compares the result with Z.

단계 S340에서, 개표서버(300)는 수학식10에 따라 투표값(p)을 자신의 AIK_개표서버_비밀키로 복호화하여 투표내용(O), 투표 티켓(T), 비밀 번호(PW)등을 획득한다. In step S340, the ballot counting server 300 decrypts the voting value p with its AIK_counting server_secret key according to Equation 10 to vote contents (O), voting ticket (T), password (PW) and the like. Acquire.

(T∥O∥PW)=DECAIK_개표서버_비밀키(p)(T∥O∥PW) = DECAIK_ Ticket server_Private key (p)

단계 S350에서, 개표서버(300)는 투표 티켓(T)이 발행 내용을 통해 올바른 투표 티켓이 포함되었는지 그리고 개수가 일치하는지를 검사하고, 투표내용을 집계한 후, 이를 발표하고 검증 자료로서 투표내용(O), 투표 티켓(T), 비밀 번호(PW)를 공개한다. In step S350, the ballot counting server 300 checks whether the voting ticket T includes the correct voting ticket and the number of the voting tickets through the issued contents, counts the voting contents, announces the voting contents, and verifies the voting contents (as verification data). O), voting ticket (T), password (PW) are disclosed.

이하의 도5a 및 도5b는 도3의 단계 S212를 보다 상세히 설명하기 위한 흐름도로, 도5a는 투표서버의 보증 동작을, 도5b는 개표서버의 보증 동작을 각각 나타낸다. 5A and 5B are flowcharts for explaining step S212 of FIG. 3 in more detail, where FIG. 5A shows the guarantee operation of the voting server and FIG. 5B shows the guarantee operation of the counting server.

먼저, 도5a를 참조하여 단계 S212에서의 투표서버의 동작을 설명하기로 한다. First, the operation of the voting server in step S212 will be described with reference to FIG. 5A.

투표서버(200)는 유권자 단말기(100)부터 받은 SIGCA(AIK_Vi_공개키)를 통해 함께 수신한 AIK_Vi_공개키를 확인한다(S2121). The voting server 200 checks the AIK_Vi_public key received together through the SIG CA (AIK_Vi_public key) received from the voter terminal 100 (S2121).

그리고 AIK_Vi_공개키를 통해 SIGAIK_Vi_비밀키(H(RN)||TS||PCR)를 검증하여 PCR을 획득한 후(S2122), 수신한 ML과 PCR의 내용을 비교하여 보증을 확인한다(S2123). After SIG AIK_Vi_public key (H (RN) || TS || PCR) is verified through AIK_Vi_ public key, PCR is obtained (S2122), and the received ML is compared with the contents of PCR to confirm the guarantee. (S2123).

이어서, 유권자 데이터베이스(500)의 항목을 조사하여 투표횟수(RN)의 존재 여부를 확인하여 이중 투표 여부를 검사한다(S2124). Subsequently, the items of the voter database 500 are examined to determine whether the number of votes RN is present and to check whether or not there is a double vote (S2124).

단계 S2124의 검사 결과, 유권자 데이터베이스(500)에 동일한 투표횟수(RN)가 이미 존재하면, 투표서버(200)는 해당 유권자(Vi)가 이중 투표임을 알린 후 투표를 종료하고, 그렇지 않으면 다음의 단계 S213을 진행한다. As a result of the check in step S2124, if the same number of votes RN already exists in the voter database 500, the voting server 200 informs that the voters Vi are double votes and ends the voting, otherwise the next step Proceed to S213.

계속하여, 도5b를 참조하여 단계 S212에서의 개표서버의 동작을 설명하기로 한다. Subsequently, the operation of the ballot counting server in step S212 will be described with reference to FIG. 5B.

개표서버(300)는 유권자(Vi)부터 받은 SIGCA(AIK_Vi_공개키)를 통해 함께 수신한 AIK_Vi_공개키를 확인한다(S2126). The ballot counting server 300 checks the AIK_Vi_public key received together through the SIG CA (AIK_Vi_public key) received from the voter Vi (S2126).

그리고 AIK_Vi_공개키를 통해 SIGAIK_Vi_비밀키(H(RN)||TS||PCR)를 검증하여 PCR을 획득한 후(S2127), 개표서버(300)가 함께 수신한 ML과 PCR의 내용을 비교하여 보증을 확인한다(S2128). And after verifying the SIG AIK_Vi_secret key (H (RN) || TS || PCR) through the AIK_Vi_ public key to obtain the PCR (S2127), the number of ML and PCR received by the counting server 300 together Compare the to check the warranty (S2128).

그리고 유권자 데이터베이스(500)의 항목을 조사하여 투표횟수(RN)의 존재 여부를 확인하여 이중 투표 여부를 검사한다(S2129). Then, by checking the items in the voter database 500 to determine the existence of the number of votes (RN) (S2129).

단계 S2129의 검사 결과, 유권자 데이터베이스(500)에 동일한 투표횟수(RN)가 이미 존재하면, 개표서버(300)는 해당 유권자(Vi)가 이중 투표임을 알린 후 투표를 종료하고, 그렇지 않으면 다음의 단계 S213을 진행한다. As a result of the check in step S2129, if the same number of votes RN already exists in the voter database 500, the ballot counting server 300 informs that the voters Vi are double votes and ends the voting; otherwise, the next step Proceed to S213.

즉, 본 발명의 투표서버와 개표서버는 TPM을 이용하여 동일한 방법으로 유권자에 대한 보증 작업과 이중 투표 검사 작업을 수행한다. That is, the voting server and the ballot counting server of the present invention perform the guarantee work and the double voting check work for the voters in the same way using the TPM.

이상에서 설명한 본 발명은 전술한 실시 예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경할 수 있다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 당업자에게 있어 명백할 것이다. The present invention described above is not limited to the above-described embodiments and the accompanying drawings, and it is common in the art that various substitutions, modifications, and changes can be made without departing from the technical spirit of the present invention. It will be apparent to those skilled in the art.

상술한 바와 같이 본 발명에 의한 인터넷 전자투표 방법 및 시스템에 의하면, 저전력, 고성능의 TPM을 인터넷 전자투표의 구성 요소인 유권자 단말기, 투표서버 및 개표서버에 각각 장착하여 성능을 극대화하는 동시에 기존의 공개키 기반 구조상의 인증기관이 사설 인증기관 기능을 하도록 하여 유권자 단말기와 서버들간 보증 주체가 될 수 있도록 하여, 투표 참여자인 유권자와 해당 서버들이 상호 보증을 통해 서로 신뢰를 확인한 후 안심하고 투표할 수 있도록 해주는 뛰어난 효과가 있다. As described above, according to the Internet electronic voting method and system according to the present invention, a low-power, high-performance TPM is mounted on a voter terminal, a voting server, and a voting server, which are components of the Internet voting, respectively, to maximize performance and at the same time. The certification authority in the key infrastructure can function as a private certification authority so that the voter terminal and the servers can be the subject of the guarantee, so that voters and the servers who vote as voting members can check with confidence through mutual guarantees, and then vote with confidence. It has an excellent effect.

Claims (18)

유권자 단말기, 투표서버, 개표서버, 및 인증서버를 참여자로 가지는 인터넷 전자투표 방법에 있어서, In the Internet voting method having a voter terminal, a voting server, a voting server, and an authentication server as participants, 상기 유권자 단말기, 투표서버, 및 개표서버 각각은 TPM(Trusted Platform Module)을 이용하여 상기 인증서버로부터 자신의 인증서를 제공받고, 상기 투표서버와 개표서버는 자신의 인증서를 서로 교환한 후 투표 처리 정보와 개표 처리 정보를 각각 생성하는 전처리 과정; Each of the voter terminal, the voting server, and the ballot counting server receives its own certificate from the certificate server using a Trusted Platform Module (TPM), and the ballot server and the ballot counting server exchange their certificates with each other, and then vote processing information. And a preprocessing step of generating the counting information respectively; 상기 유권자 단말기, 상기 투표서버 및 상기 개표서버가 상기 TPM을 이용하여 서로를 보증한 후 상기 유권자 단말기가 투표 정보를 생성하면, 상기 투표서버가 상기 투표 처리 정보에 따라 상기 투표 정보를 저장하는 투표 과정; 및 A voting process in which the voting server stores the voting information according to the voting process information after the voter terminal, the voting server and the ballot counting server guarantee each other by using the TPM, and then the voting terminal generates voting information. ; And 상기 저장된 투표 정보를 상기 개표 처리 정보에 따라 분석하여 투표 내용을 집계하고 출력하는 개표 과정을 포함하는 인터넷 전자투표 방법.And a ballot counting process for analyzing the stored ballot information according to the ballot counting information and counting and outputting the ballot contents. 제1항에 있어서, 상기 전처리 과정은 The method of claim 1, wherein the pretreatment process 상기 유권자 단말기, 투표서버, 및 개표서버 각각이 자신의 암호키와 검증키를 상기 인증서버에 전송하는 제1 단계; A first step of each of the voter terminal, the voting server, and the ballot counting server transmitting its encryption key and verification key to the authentication server; 상기 유권자 단말기, 투표서버, 및 개표서버 각각이 상기 인증서버로부터 상기 유권자 단말기, 투표서버, 및 개표서버 인증서 각각을 제공받는 제2 단계; A second step in which each of the voter terminal, the voting server, and the voting server receive each of the voter terminal, the voting server, and the voting server certificate from the authentication server; 상기 투표서버와 상기 개표서버가 자신의 인증서를 서로 교환하는 제3 단계; A third step in which the voting server and the ballot counting server exchange their certificates with each other; 상기 투표서버가 유권자수 만큼의 무작위 수열을 포함하는 상기 투표 처리 정보를 생성하는 제4 단계; 및 A fourth step of generating, by the voting server, the voting processing information including a random sequence of the number of voters; And 상기 개표서버가 유권자수 만큼의 무작위 수열과 투표 티켓을 포함하는 상기 개표 처리 정보를 생성하는 제5 단계를 포함하는 인터넷 전자투표 방법. And a fifth step, wherein the ballot counting server generates the ballot counting information including a random number of votes and a voting ticket. 제2항에 있어서, 상기 투표 과정은 The method of claim 2, wherein the voting process is 상기 유권자 단말기가 제1 난수, 투표횟수, 투표횟수의 제1 해쉬값, 및 투표시간, 그리고 유권자 TPM 정보를 생성하여 상기 투표서버와 상기 개표서버로 전송하는 제6 단계; A sixth step of generating, by the voter terminal, a first random number, a voting number, a first hash value of the voting number, a voting time, and a voter TPM information to the voting server and the counting server; 상기 투표서버와 상기 개표서버 각각이 상기 유권자 TPM 정보를 통해 상기 유권자 단말기의 보증을 확인하고 상기 투표횟수를 통해 이중 투표를 검사한 후, 투표서버 TPM 정보와 개표서버 TPM 정보를 생성하여 상기 유권자 단말기로 전송하는 제7 단계; Each of the voting server and the ballot counting server confirms the guarantee of the voter terminal through the voter TPM information and examines the double votes through the number of votes. Transmitting to the seventh step; 상기 유권자 단말기가 상기 투표서버 TPM 정보와 개표서버 TPM 정보를 이용하여 투표서버와 개표서버 각각의 신뢰성을 확인하는 제8 단계; An eighth step of the voter terminal confirming the reliability of each of the voting server and the ballot counting server using the voting server TPM information and the ballot counting server TPM information; 상기 개표서버가 제2 난수를 더 생성한 후, 상기 개표서버와 상기 유권자 단말기가 상기 제2 난수와 상기 제1 난수를 이용하여 세션키를 생성하는 제9 단계; A ninth step of generating, by the counting server, a second random number further, the counting server and the voter terminal generating a session key using the second random number and the first random number; 상기 개표서버가 상기 투표 티켓들 중 하나를 선택하여 상기 유권자 단말기에게 제공하고, 상기 유권자 단말기는 상기 투표 티켓을 획득하여 투표값 및 서명된 투표값을 포함하는 상기 투표정보를 생성한 후 상기 투표서버에게 전송하는 제 10 단계; The ballot counting server selects one of the voting tickets and provides it to the voter terminal, wherein the voter terminal obtains the voting ticket and generates the voting information including a voting value and a signed voting value. Transmitting to the tenth step; 상기 투표서버가 상기 서명된 투표값을 검증한 후 상기 유권자 단말기의 정보를 저장하고, 상기 유권자 단말기는 상기 투표횟수를 상기 개표서버로 전송하는 제11 단계; 및An eleventh step in which the voting server stores the information of the voter terminal after verifying the signed voting value, and the voter terminal transmits the number of votes to the counting server; And 상기 개표서버가 상기 투표횟수를 통해 투표가 정상 수행되었음을 확인하면, 상기 투표서버는 상기 무작위 수열에 상기 투표값 및 서명된 투표값를 매핑하여 저장하는 제12 단계를 구비하는 것을 특징으로 하는 인터넷 전자투표 방법. If the ballot counting server confirms that voting is normally performed through the number of votes, the voting server includes a twelfth step of mapping and storing the voting value and the signed voting value in the random sequence. Way. 제3항에 있어서, 상기 유권자 TPM 정보는 The method of claim 3, wherein the voter TPM information is 하기의 수학식과 같은 유권자 서명값, 유권자 인증서, 유권자 검증키, 및 플랫폼의 측정값 리스트를 포함하는 것을 특징으로 하는 인터넷 전자투표 방법. An electronic voting method comprising a voter signature value, a voter certificate, a voter verification key, and a list of measured values of the platform as shown in the following equation. S=SIGAIK_Vi_비밀키(H(RN)∥TS∥PCR)S = SIG AIK_Vi_ Secret (H (RN) ∥ TS ∥ PCR) 여기서, S는 유권자 서명값, AIK_Vi_비밀키는 유권자 서명키, RN는 투표횟수, H(RN)는 투표횟수의 제1 해쉬값, TS는 투표시간, PCR는 플랫폼의 측정값, SIGX(Y)는 X키로 하는 Y에 대한 서명 함수이다. Where S is the voter signature value, AIK_Vi_secret key is the voter signature key, RN is the number of votes, H (RN) is the first hash value of the number of votes, TS is the voting time, PCR is the platform's measured value, SIG X ( Y) is the signature function for Y with the X key. 제4항에 있어서, 상기 제7 단계는 The method of claim 4, wherein the seventh step 상기 투표서버 및 상기 개표서버 각각이 상기 유권자 인증서를 이용하여 상기 유권자 검증키를 확인하고, 상기 유권자 서명값을 검증하여 상기 플랫폼의 측정 값을 획득한 후, 상기 플랫폼의 측정값 리스트와 비교함으로써 상기 유권자 단말기의 보증을 확인하는 단계; 및Each of the voting server and the ballot counting server verifies the voter verification key using the voter certificate, verifies the voter signature value, obtains the measured value of the platform, and compares it with the measured value list of the platform. Confirming a warranty of the voter terminal; And 상기 유권자 단말기의 보증을 확인한 상기 투표서버와 상기 개표서버 각각이 상기 투표횟수의 저장여부를 조사하여 이중 투표 여부를 확인한 후, 상기 투표서버 TPM 정보와 상기 개표서버 TPM 정보를 각각 생성하여 상기 유권자 단말기에 전송하는 단계를 구비하는 것을 특징으로 하는 인터넷 전자투표 방법. Each of the voting server and the voting server confirming the guarantee of the voter terminal checks whether the voting number is stored, and confirms whether the voting is double, and then generates the voting server TPM information and the voting server TPM information, respectively, to generate the voting terminal. And transmitting to the Internet electronic voting method. 제4항에 있어서, The method of claim 4, wherein 상기 투표서버 TPM 정보는 상기 투표서버 인증서, 상기 투표서버 검증키, 상기 투표서버 서명값, 및 상기 플랫폼의 측정값 리스트를 포함하고, The voting server TPM information includes the voting server certificate, the voting server verification key, the voting server signature value, and the measurement list of the platform, 상기 개표서버 TPM 정보는 상기 개표서버 인증서, 상기 개표서버 검증키, 상기 개표서버 서명값, 및 상기 플랫폼의 측정값 리스트를 포함하는 것을 특징으로 하는 인터넷 전자투표 방법.  The counting server TPM information includes the counting server certificate, the counting server verification key, the counting server signature value, and a list of measured values of the platform. 제6항에 있어서, 상기 제8 단계는 The method of claim 6, wherein the eighth step 상기 유권자 단말기가 상기 투표서버 인증서를 이용하여 상기 투표서버 검증키를 확인하고, 상기 투표서버 검증키를 이용하여 상기 투표서버 서명값을 검증하여 상기 플랫폼의 측정값을 획득한 후, 상기 플랫폼의 측정값 리스트와 비교함으로써 상기 투표서버의 보증을 확인하는 단계; 및After the voter terminal verifies the voting server verification key using the voting server certificate, verifies the voting server signature value using the voting server verification key, obtains the measurement value of the platform, and measures the platform. Confirming the guarantee of the voting server by comparing with a list of values; And 상기 유권자 단말기가 상기 개표서버 인증서를 이용하여 상기 개표서버 공개 키를 확인하고, 상기 개표서버 공개키를 이용하여 상기 개표서버 서명값을 검증하여 상기 플랫폼의 측정값을 획득한 후, 상기 플랫폼의 측정값 리스트와 비교함으로써 상기 개표서버의 보증을 확인하는 단계를 구비하는 것을 특징으로 하는 인터넷 전자투표 방법. After the voter terminal verifies the ticket server public key using the ticket server certificate, verifies the ticket server signature value using the ticket server public key, obtains a measured value of the platform, and measures the platform. And confirming the guarantee of the ballot counting server by comparing with the list of values. 제6항에 있어서, 상기 제9 단계는 The method of claim 6, wherein the ninth step 상기 개표서버가 상기 제2 난수를 더 생성하고, 상기 유권자 서명키로 암호화하여 상기 유권자 단말기로 전송하는 단계;Generating, by the counting server, the second random number and encrypting the second random number with the voter signature key and transmitting the encrypted number to the voter terminal; 상기 유권자 단말기가 상기 개표서버로부터 전송되는 암호화된 제2 난수를 복호화한 후, 다시 상기 제1 난수로 암호화하여 상기 개표서버에 전송하는 단계; 및 Decrypting, by the voter terminal, the encrypted second random number transmitted from the ticket server, and transmitting the encrypted second random number to the ticket server again; And 상기 유권자 단말기가 상기 제2 난수와 상기 제1 난수를 이용하여 상기 세션키를 생성하는 단계를 구비하는 것을 특징으로 하는 인터넷 전자투표 방법. And generating, by the voter terminal, the session key using the second random number and the first random number. 제8항에 있어서, 상기 제10 단계는 The method of claim 8, wherein the tenth step 상기 개표서버가 상기 유권자 단말기로부터 전송되는 암호화된 제2 난수를 복호화하여 상기 제1 난수와 상기 세션키를 획득하고, 상기 투표 티켓들 중 하나를 선택한 후 상기 세션키로 암호화하여 상기 유권자 단말기로 전송하는 단계; 및The ballot counting server decrypts the encrypted second random number transmitted from the voter terminal to obtain the first random number and the session key, selects one of the voting tickets, encrypts the session key, and transmits the encrypted number to the voter terminal. step; And 상기 유권자 단말기가 상기 암호화된 투표 티켓을 복호화한 후 상기 투표값을 생성하고, 상기 투표값을 상기 유권자 서명키로 서명하여 상기 서명된 투표값을 생성한 후, 상기 투표값과 상기 서명된 투표값을 상기 투표서버에게 전송하는 단계를 구비하는 것을 특징으로 하는 인터넷 전자투표 방법. After the voter terminal decrypts the encrypted voting ticket, the voting value is generated, and the voting value is generated by signing the voting value with the voter signature key to generate the signed voting value. Internet voting method comprising the step of transmitting to the voting server. 제9항에 있어서, 상기 제11 단계는 The method of claim 9, wherein the eleventh step 상기 투표서버가 상기 서명된 투표값을 검증하여, 투표와 관련된 상기 유권자 단말기의 정보를 모두 저장하고, 상기 투표값을 상기 투표서버 비밀키로 서명하여 상기 유권자 단말기로 전송하는 단계; 및Verifying, by the voting server, the signed voting value, storing all information of the voter terminal related to voting, and signing the voting value with the voting server secret key and transmitting the result to the voter terminal; And 상기 유권자 단말기가 상기 투표서버가 제공하는 서명된 투표값을 검증한 후, 상기 투표횟수를 상기 세션키로 암호화하여 상기 개표서버로 전송하는 단계를 구비하는 것을 특징으로 하는 인터넷 전자투표 방법. And after the voter terminal verifies the signed voting value provided by the voting server, encrypting the voting frequency with the session key and transmitting the voting number to the voting server. 제10항에 있어서, 상기 제12 단계는 The method of claim 10, wherein the twelfth step 상기 개표서버가 상기 유권자 단말기가 제공하는 암호화된 투표횟수를 분석하여, 올바른 투표횟수가 전송되었는지 상기 투표서버가 올바른 정보를 저장하였는지를 검사하고, 상기 검사가 성공하면 상기 투표횟수의 제2 해쉬값을 생성하여 상기 유권자 단말기에 전송한 후 상기 투표횟수를 저장하는 단계;The ballot counting server analyzes the encrypted number of votes provided by the voter terminal, checks whether the correct number of votes has been transmitted or not, and if the ballot server has stored the correct information, and if the check succeeds, returns the second hash value of the number of votes. Generating and transmitting the vote count to the voter terminal; 상기 유권자 단말기는 상기 개표서버가 상기 투표횟수의 제2 해쉬값으로부터 상기 투표 횟수를 획득하여, 투표의 정상 수행 여부를 확인한 후 상기 투표횟수의 제3 해쉬값을 생성하여 상기 투표서버에 전송하는 단계; 및The voter terminal obtaining the number of votes from the second hash value of the number of votes, checking whether the vote is normally performed, and generating a third hash value of the number of votes and transmitting the generated number to the vote server. ; And 상기 투표서버는 상기 투표횟수의 제3 해쉬값으로부터 상기 투표 횟수를 획 득하여, 투표의 정상 수행 여부를 확인한 후 상기 투표값 및 상기 서명된 투표값에 상기 무작위 수열을 매핑하여 저장하는 단계를 구비하는 것을 특징으로 하는 인터넷 전자투표 방법. The voting server acquires the number of votes from the third hash value of the number of votes, and confirms whether or not the voting is normally performed, and then mapping and storing the random sequence to the vote value and the signed vote value. Internet electronic voting method characterized in that. 제3항에 있어서, 상기 개표 단계는 The method of claim 3, wherein the counting step 상기 투표서버가 상기 투표값과 상기 서명된 투표값을 포함하는 상기 투표 정보를 자신의 무작위 수열에 따라 정렬한 후, 상기 개표서버에 제공하는 단계;Providing, by the voting server, the voting information including the voting value and the signed voting value according to its own random sequence, and providing the voting information to the voting server; 상기 개표서버가 상기 투표서버가 제공한 상기 투표값과 상기 서명된 투표값을 자신의 무작위 수열에 따라 정렬한 후, 공개 및 개표하는 단계;Voting and voting, after the voting server sorts the voting value provided by the voting server and the signed voting value according to its random sequence; 상기 개표서버가 투표 마감자수와 투표수가 일치하는지를 검사한 후, 상기 투표서버 검증키로 상기 서명된 투표값의 서명을 검증하고, 상기 개표서버 서명키로 복호화하여 투표내용, 투표 티켓, 및 비밀 번호를 추출하는 단계; 및  After the ballot counting server checks whether the number of ballot deadlines matches the number of votes, the ballot server verification key verifies the signature of the signed ballot value, and decrypts the ballot counting server signature key to extract the contents of the ballot, the ballot ticket, and the password. Doing; And 상기 개표서버가 상기 투표 티켓을 참조하여 올바른 투표 티켓이 포함되었는지 그리고 개수가 일치하는지를 검사한 후, 상기 투표내용을 집계하여 발표하는 단계를 구비하는 것을 특징으로 하는 인터넷 전자투표 방법. And counting and voting the voting contents by checking the voting ticket by checking whether the correct voting ticket is included in the voting ticket and whether the number is the same. TPM(Trusted Platform Module)의 프라이버시-CA(Certificate Authority)으로써 인증 작업을 수행하는 인증서버;A certificate server that performs authentication as a Privacy-CA (Certificate Authority) of the Trusted Platform Module (TPM); 상기 TPM를 이용하여 상기 인증서버와의 인증 작업과 하기의 투표서버 및 개표서버와의 상호 보증 작업을 수행한 후, 투표 작업을 수행하는 유권자 단말기;A voter terminal for performing a voting operation after performing an authentication operation with the authentication server and a mutual guarantee operation with a voting server and a ballot counting server using the TPM; 상기 TPM를 이용하여 상기 인증서버와의 인증 작업과 상기 유권자 단말기와의 상호 보증 작업을 수행한 후, 상기 유권자 단말기로부터 전송되는 투표정보를 저장하는 투표서버; 및 A voting server for storing the voting information transmitted from the voter terminal after performing the authentication operation with the authentication server and the mutual guarantee operation with the voter terminal using the TPM; And 상기 TPM를 이용하여 상기 인증서버와의 인증 작업과 상기 유권자 단말기와의 상호 보증 작업을 수행한 후, 투표 시에는 상기 유권자 단말기에 상기 투표정보를 입력할 수 있도록 하는 투표 티켓을 제공하고, 개표 시에는 상기 투표서버를 통해 저장된 상기 투표 정보를 분석하여 투표결과를 발표하는 개표서버를 포함하는 인터넷 전자투표 시스템. After performing the authentication work with the authentication server and the mutual guarantee work with the voter terminal by using the TPM, provide a voting ticket for inputting the voting information into the voter terminal when voting. Internet voting system including a ballot server for analyzing the voting information stored through the voting server to announce a voting result. 제13항에 있어서, 상기 인증서버는The method of claim 13, wherein the authentication server TPM을 이용한 보증 작업을 수행하는 상기 유권자 단말기, 투표서버, 및 개표서버로부터 암호키와 검증키를 전송되면, 상기 암호키의 유효성을 검사한 후 자신이 서명한 상기 검증키의 인증서를 생성하고, 상기 인증서를 제공하는 것을 특징으로 하는 인터넷 전자투표 시스템. When the encryption key and the verification key are transmitted from the voter terminal, the voting server, and the ballot counting server performing the assurance work using the TPM, the certificate of the verification key signed by the user is verified after validating the encryption key. Internet voting system, characterized in that for providing the certificate. 제14항에 있어서, 상기 유권자 단말기는 15. The system of claim 14, wherein the voter terminal is 전처리 시에는 유권자 암호키와 유권자 검증키를 상기 인증서버에 전송하여 상기 유권자 검증키의 인증키를 제공받고, 투표 시에는 상기 투표서버와 상기 개표서버와 TPM 정보를 교환하여 보증 작업을 수행한 후 상기 개표서버로부터 상기 투표 티켓을 제공받아 상기 투표정보를 생성하는 것을 특징으로 하는 인터넷 전자투 표 시스템. In the preprocessing, the voter encryption key and the voter verification key are transmitted to the authentication server to receive the authentication key of the voter verification key, and during voting, the TPM information is exchanged with the voting server and the ballot counting server to perform a guarantee operation. And receiving the voting ticket from the ballot counting server to generate the voting information. 제14항에 있어서, 상기 투표서버는 15. The system of claim 14, wherein the voting server is 전처리 시에는 투표서버 암호키와 투표서버 검증키를 상기 인증서버에 전송하여 상기 투표서버 검증키의 인증키를 제공받고, 투표 시에는 상기 유권자 단말기와 TPM 정보를 교환하여 보증 작업을 수행한 후 상기 유권자 단말기를 통해 생성되는 상기 투표정보를 저장하고, 개표 시에는 상기 저장된 투표정보를 상기 개표서버로 제공하는 것을 특징으로 하는 인터넷 전자투표 시스템. In the preprocessing, the authentication server of the voting server verification key is provided by transmitting the voting server encryption key and the voting server verification key to the authentication server. Internet voting system, characterized in that for storing the voting information generated through the voter terminal, and provides the stored voting information to the counting server when counting. 제14항에 있어서, 상기 개표서버는 The method of claim 14, wherein the counting server 전처리 시에는 개표서버 암호키와 개표서버 검증키를 상기 인증서버에 전송하여 상기 개표서버 검증키의 인증키를 제공받고, 개표 시에는 상기 투표서버가 제공하는 상기 투표정보를 분석하여 투표결과를 집계하고 발표하는 것을 특징으로 하는 인터넷 전자투표 시스템. In the preprocessing, the voting server encryption key and the voting server verification key are transmitted to the authentication server to receive the authentication key of the voting server verification key, and when counting, voting results are analyzed by analyzing the voting information provided by the voting server. Internet voting system, characterized in that and announced. 제13항에 있어서, The method of claim 13, 투표와 관련된 상기 유권자 단말기의 정보들이 저장되는 유권자 데이터베이스; 및 A voter database that stores information of the voter terminal related to voting; And 상기 투표정보가 저장되는 투표 데이터베이스를 더 포함하는 것을 특징으로 하는 인터넷 전자투표 시스템. And an voting database in which the voting information is stored.
KR1020070038314A 2006-12-01 2007-04-19 Internet Voting method for all participants having mutual attestation functions on trusted computing environment and system thereof KR100912532B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20060120453 2006-12-01
KR1020060120453 2006-12-01

Publications (2)

Publication Number Publication Date
KR20090001497A true KR20090001497A (en) 2009-01-09
KR100912532B1 KR100912532B1 (en) 2009-08-18

Family

ID=40484569

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070038314A KR100912532B1 (en) 2006-12-01 2007-04-19 Internet Voting method for all participants having mutual attestation functions on trusted computing environment and system thereof

Country Status (1)

Country Link
KR (1) KR100912532B1 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014011684A1 (en) * 2012-07-09 2014-01-16 Everyone Counts, Inc. Auditing election results
US8843389B2 (en) 2011-06-24 2014-09-23 Everyone Counts, Inc. Mobilized polling station
US8899480B2 (en) 2011-03-28 2014-12-02 Everyone Counts Inc. Systems and methods for remaking ballots
KR20180065345A (en) * 2016-12-07 2018-06-18 주식회사 미루시스템즈 Election Result Transmission Device Using Result Table Scan
KR20190023894A (en) * 2017-08-30 2019-03-08 세종대학교산학협력단 System and method for electronic voting
CN112000935A (en) * 2019-05-27 2020-11-27 阿里巴巴集团控股有限公司 Remote authentication method, device, system, storage medium and computer equipment

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100653361B1 (en) * 2004-06-04 2006-12-06 고려대학교 산학협력단 Electronic voting method and system which is able to identify a voter`s ballot effective in counting of electronic vote
US7590867B2 (en) * 2004-06-24 2009-09-15 Intel Corporation Method and apparatus for providing secure virtualization of a trusted platform module

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8899480B2 (en) 2011-03-28 2014-12-02 Everyone Counts Inc. Systems and methods for remaking ballots
US9619956B2 (en) 2011-03-28 2017-04-11 Everyone Counts, Inc. Systems and methods for remaking ballots
US10186102B2 (en) 2011-03-28 2019-01-22 Everyone Counts, Inc. Systems and methods for remaking ballots
US8843389B2 (en) 2011-06-24 2014-09-23 Everyone Counts, Inc. Mobilized polling station
WO2014011684A1 (en) * 2012-07-09 2014-01-16 Everyone Counts, Inc. Auditing election results
KR20180065345A (en) * 2016-12-07 2018-06-18 주식회사 미루시스템즈 Election Result Transmission Device Using Result Table Scan
KR20190023894A (en) * 2017-08-30 2019-03-08 세종대학교산학협력단 System and method for electronic voting
CN112000935A (en) * 2019-05-27 2020-11-27 阿里巴巴集团控股有限公司 Remote authentication method, device, system, storage medium and computer equipment

Also Published As

Publication number Publication date
KR100912532B1 (en) 2009-08-18

Similar Documents

Publication Publication Date Title
US11018869B2 (en) Blockchain-based digital identity management (DIM) system
CN1956372B (en) A digital certificate that indicates a parameter of an associated cryptographic token
CN100583768C (en) Safety requirement based remote proving method and system thereof
US8984280B2 (en) Systems and methods for automating certification authority practices
KR100962399B1 (en) Method for providing anonymous public key infrastructure and method for providing service using the same
KR101863953B1 (en) System and method for providing electronic signature service
CN100459488C (en) Portable one-time dynamic password generator and security authentication system using the same
US20080250246A1 (en) Method for Controlling Secure Transactions Using a Single Multiple Dual-Key Device, Corresponding Physical Deivce, System and Computer Program
CN101479987A (en) Biometric credential verification framework
US20230171105A1 (en) Digital notarization using a biometric identification service
KR100912532B1 (en) Internet Voting method for all participants having mutual attestation functions on trusted computing environment and system thereof
KR20190076535A (en) System and method for anonymous votes using block-chain
KR20060127194A (en) Electronic voting process using fair blind signature
KR101176023B1 (en) Repudiation Checking System for e-Commerce
KR101746102B1 (en) User authentication method for integrity and security enhancement
KR101856530B1 (en) Encryption system providing user cognition-based encryption protocol and method for processing on-line settlement, security apparatus and transaction approval server using thereof
Shakiba et al. ESIV: an end-to-end secure internet voting system
JP5537129B2 (en) Authentication system, authentication method and program
KR102056612B1 (en) Method for Generating Temporary Anonymous Certificate
KR101868564B1 (en) Apparatus for authenticating user in association with user-identification-registration and local-authentication and method for using the same
Deswarte et al. A Proposal for a Privacy-preserving National Identity Card.
Pan et al. Enhanced name and vote separated E‐voting system: an E‐voting system that ensures voter confidentiality and candidate privacy
KR101167647B1 (en) An Electron Vote Symtem
CN112784249A (en) Method, system, processor and computer readable storage medium for implementing mobile terminal authentication processing under non-identification condition
Saquib et al. Secure solution: One time mobile originated PKI

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
E902 Notification of reason for refusal
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120730

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20130729

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140728

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20150728

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20160726

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20170727

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20190725

Year of fee payment: 11