KR101133183B1 - 개인정보 보호를 강화한 전자투표방법 - Google Patents

개인정보 보호를 강화한 전자투표방법 Download PDF

Info

Publication number
KR101133183B1
KR101133183B1 KR1020100090208A KR20100090208A KR101133183B1 KR 101133183 B1 KR101133183 B1 KR 101133183B1 KR 1020100090208 A KR1020100090208 A KR 1020100090208A KR 20100090208 A KR20100090208 A KR 20100090208A KR 101133183 B1 KR101133183 B1 KR 101133183B1
Authority
KR
South Korea
Prior art keywords
voting
information
voter
processing unit
authentication
Prior art date
Application number
KR1020100090208A
Other languages
English (en)
Other versions
KR20120028159A (ko
Inventor
심선영
박재홍
동상호
Original Assignee
주식회사 이맥소프트
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 이맥소프트 filed Critical 주식회사 이맥소프트
Priority to KR1020100090208A priority Critical patent/KR101133183B1/ko
Publication of KR20120028159A publication Critical patent/KR20120028159A/ko
Application granted granted Critical
Publication of KR101133183B1 publication Critical patent/KR101133183B1/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
    • 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

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

Abstract

본 발명은 개인정보 보호를 강화한 전자투표방법에 있어서, 특히 투표 의뢰자 및 투표자의 개인정보 보호를 강화한 인증수단을 제공하여 개인정보가 외부로 노출되는 것을 미연에 방지토록 하는 것을 특징으로 하는 개인정보 보호를 강화한 전자투표방법에 관한 것으로,
정보등록 시스템 상의 관리 투표자 단말 및 투표자 단말이 네트워크 수단을 통해 상기 투표정보등록 서버에 접속하여 전자투표 운용을 위한 통신채널을 연결하는 단계와; 관리 투표자 단말 및 투표자 단말과 투표정보등록 서버 사이에 전자투표 운용을 위한 통신채널이 연결되면, 상기 관리 투표자 단말 및 투표자 단말이 상기 통신채널을 통해 투표정보등록 서버로 전자투표 운용을 위한 투표 등록 인터페이스 화면을 요청하는 단계와; 생성된 투표 등록 인터페이스 화면을 통신채널을 통해 관리 투표자 단말 및 투표자 단말로 전송하는 단계와; 투표 등록정보 및 투표자 개인정보를 전송하여 인증하는 단계와; 외부인증기관 또는 공인인증기관을 이용한 투표자 정보확인일 경우에는 주민등록번호 또는 사업자 등록번호는 인증 처리부 해쉬함수 값으로만 저장한 상태에서 본인확인을 하는 단계를 포함하여 이루어짐이 특징이다.

Description

개인정보 보호를 강화한 전자투표방법{A Electron Vote Method for an Individual Information Protection}
본 발명은 개인정보 보호를 강화한 전자투표방법에 관한 것으로, 특히 투표 의뢰자 및 투표자의 개인정보 보호를 강화한 인증수단을 제공하여 개인정보가 외부로 노출되는 것을 미연에 방지토록 하는 것을 특징으로 하는 개인정보 보호를 강화한 전자투표방법에 관한 것이다.
민주주의가 발전하고 다수결의 원칙이 의사결정의 중요한 수단으로 자리매김함으로 인해, 국가원수를 선출하는 것에서부터 각급 학교의 반장을 선출하거나, 또는 국가정책을 결정하는 것에서부터 각급 학교의 정책을 결정하는 등 다양한 분야에 투표가 적용되고 있다.
최근 정보통신 인프라의 비약적인 발전으로 인해, 종래 오프라인 방식으로 이루어지던 투표는 점차적으로 정보통신 기술을 기반으로 하는 전자투표로 이전되고 있으며, 국회에서도 상기 전자투표에 대한 논의가 활발히 이루어지고 있으며, 향후 입법화될 것으로 예상된다.
그러나, 현재의 전자투표 시스템은 자체인증기관에 인증하는 과정에서 해킹으로 투표자 정보나 투표 의뢰자 정보가 누출될 염려가 높은 문제가 있었다.
본 발명은 상기와 같은 문제점을 해결코자 하는 것으로,
전자투표용 투표자 정보 및 투표 의뢰자 정보에서 민감한 개인정보를 분리하여 등록토록 함으로서 개인정보가 외부로 빠져나가는 것을 미연에 방지토록 하는데 그 목적이 있다.
상기 목적을 달성하기 위한 수단으로,
본 발명은 전자투표를 하기위해 투표정보등록 서버와, 투표서버와, 개표서버 및 자체 인증기관의 데이터를 초기화하는 단계(S10)와; 정보등록 시스템 상의 관리 투표자 단말 및 투표자 단말이 네트워크 수단을 통해 상기 투표정보등록 서버에 접속하여 전자투표 운용을 위한 통신채널을 연결하는 단계(S20)와; 관리 투표자 단말 및 투표자 단말과 투표정보등록 서버 사이에 전자투표 운용을 위한 통신채널이 연결되면, 상기 관리 투표자 단말 및 투표자 단말이 상기 통신채널을 통해 투표정보등록 서버로 전자투표 운용을 위한 투표 등록 인터페이스 화면을 요청하는 단계(S30)와; 이에 대응하여 상기 투표정보등록 서버가 관리 투표자 단말 및 투표자 단말에서 투표 주관기관 정보 또는 투표 관리자 정보 또는 투표 운용 정보를 적어도 하나 이상 포함하는 투표 등록정보 및 투표자 개인정보를 입력하기 위한 사용자 인터페이스를 포함하는 투표 등록 인터페이스 화면을 생성하는 단계(S40)와; 생성된 투표 등록 인터페이스 화면을 통신채널을 통해 관리 투표자 단말 및 투표자 단말로 전송하는 단계(S50)와; 이후, 관리 투표자 단말 및 투표자 단말이 투표 등록정보를 입력하기 위한 사용자 인터페이스를 통해 투표 주관기관 정보 또는 투표 관리자 정보 또는 투표 운용 정보를 적어도 하나 이상 포함하는 투표 등록정보 및 투표자 개인정보를 입력하도록 처리하는 단계(S60)와; 상기 관리 투표자 단말 및 투표자 단말을 통해 투표 주관기관 정보 또는 투표 관리자 정보 또는 투표 운용 정보를 적어도 하나 이상 포함하는 투표 등록정보 및 투표자 개인정보를 입력받는 단계(S70)와; 상기 관리 투표자 단말 및 투표자 단말이 통신채널을 통해 투표 정보등록서버로 투표 주관기관 정보 또는 투표 관리자 정보 또는 투표 운용 정보를 적어도 하나 이상 포함하는 투표 등록정보 및 투표자 개인정보를 전송하는 단계(S80)와; 이에 대응하여 투표 정보등록서버가 인증 처리부를 이용하여 상기 투표 등록정보에 포함된 투표 주관기관 정보 및 투표자 개인에 대한 유효성을 확인하는 인증단계(S90)와; 외부인증기관 또는 공인인증기관을 이용한 투표자 정보확인일 경우에는 주민등록번호 또는 사업자 등록번호는 인증 처리부 해쉬함수 값으로만 저장한 상태에서 본인확인을 하는 단계(S100)와; 자체인증기관을 이용한 투표자 정보확인일 경우에는 주민등록번호 또는 사업자 등록번호 정보에 대한 해쉬함수값만 저장하고 패스워드 정보는 시스템에 저장하지 않는 도전응답(challenge-response)기법을 이용하는 단계(S110)와; 상기 투표 등록정보에 포함된 투표 주관기관 정보에 대한 유효성이 인증되면, 상기 투표 정보등록서버는 상기 투표 등록정보에 대응하는 소정의 투표 고유코드를 생성하고, 생성된 투표 고유코드와 수신된 투표 주관기관 정보 또는 투표 관리자 정보 또는 투표 운용 정보를 적어도 하나 이상 포함하는 투표 등록정보 및 투표자 개인정보를 연계 처리하여 상기 투표 등록정보 D/B(140)에 저장하는 단계(S120)와; 인증이 마무리되면 상기 투표자 단말(145a)로부터 투표값 서명 요청이 입력받아 은닉된 투표값을 투표서버가 서명을 하여 리턴하는 투표 단계(S130)와; 투표자 단말(145a)로부터 비트위임 정보로 암호화된 투표값과 서명값을 입력받아 개표서버를 통해 투표하고 키분할 방법으로 개표가 이루어지도록 하는 개표단계(S140)와; 상기 개표단계이후 개표를 검증하는 개표 검증단계(S150)로 이루어지는 것이 특징이다.
또한, 상기 전자투표 초기화단계(S10)는, (a-1) 외부 투표의뢰기관으로부터 인증 처리부, 투표서버 및, 개표서버의 비밀키와 공개키를 발급(ad,ae)(cd,ce)(td,te)받는 단계와; (a-2) 개표서버의 비밀키를 분할(F(x) = a0 + a1x + a2x2 + a3x3 + .. + ak -1xk -1 s.t (i,f(i)) where i=1,…,n 여기서 비밀키 조각 t1,t2,…tn = SecSplit(td))하는 단계와; (a-3) 유권자 식별자 정보를 포함 유권자명부와 인증방법를 등록하는 단계로 이루어짐이 특징이다.
또한, 상기 인증단계(S90)는, (b-1) 투표자 단말과 인증 처리부가 디피-헬먼(Diffie-Hellman)방식에 의해 세션키(va)를 생성하는 단계와; (b-2) 투표자 단말이 인증 처리부에 유권자 식별번호(Vi)를 Eva(Vi)를 통해 전송하는 단계와; (b-3) 인증 처리부가 Dva(Eva(Vi)) = Vi를 통해서 유권자 식별정보를 구하는 단계와; (b-4) 인증 처리부가 유권자명부에서 개인식별번호 Vi를 검색하는 단계와; (b-5) 개인식별번호 Vi를 찾은 후 인증 처리부가 인증방법에 따라 인증절차에 들어가는 단계와; (b-5-1-1) 인증 처리부의 인증방법이 공인인증기관 방식이면, 주민등록번호/사업자번호, 공인인증서 식별정보(Rvalue), 서명데이터를 추가적으로 투표자 단말에 요청하는 단계와; (b-5-1-2) 투표자 단말은 인증 처리부에 주민등록번호/사업자번호, 공인인증서 식별정보, 서명데이터를 전송하는 단계와; (b-5-1-3) 인증 처리부가 공인인증기관에 상기 데이터를 전송하여 공인인증기관에서 검증이 성공하면 인증 처리부 타임스탬프(Ts)를 Sa = Signad(Ts)를 통해 인증 처리부의 개인키로 전자서명하는 단계와; (b-5-2-1) 인증 처리부의 인증방법이 외부인증기관 방식이면, 인증 처리부와 외부인증기관사이에 디피-헬먼(Diffie-Hellman) 방식에 의해 세션키(ea)를 생성하는 단계와; (b-5-2-2) 투표자 단말이 추가인증 정보와 인증 처리부의 서명을 연접하여 SEea(Secret || Signad(Secret))를 통해 전송하는 단계와; (b-5-2-3) 외부인증기관에서 추가정보와 서명값을 복호화하여 얻고(SDea(SEea(Secret || Signad(Secret)) )= Secret || Signad(Secret)), 인증 처리부의 서명을 확인하고 추가인증 정보를 외부 정보장치에 검색하며, 인증이 성공되면 인증 처리부에 SUCCESS를 전송하고 인증 처리부는 개인키로 전자서명을 투표자에게 전송하는(Sa = Signad(Ts), SEva(Sa)) 단계와; (b-5-3-1) 인증 처리부의 인증방법이 자체인증기관이면, 자체인증기관 인증 프로토콜에 따라서 인증하는 단계와; (b-5-3-2) 인증 처리부에 SUCCESS를 전송하면 Sa = Signad(Ts)를 전송하는(SEva(Sa)) 단계로 이루어진 것이 특징이다.
또한, 상기 자체인증기관 인증 프로토콜 초기화 단계(b')는, (b'-1) 인증 처리부가 지원하는 대칭키 알고리즘/해쉬함수들을 정렬하되 키 길이가 작은 순으로 정렬한 CHIPER_SPEC을 자체인증기관에게 전송하는 단계와; (b'-2) 자체인증기관은 자신이 지원하는 대칭키 알고리즘/해쉬함수 중에서 알고리즘을 선택하되 인증 처리부가 보내준 CHIPER_SPEC에서 가장 상위에 있는 알고리즘을 선택하여 투표자 단말로 전송하는 단계와; (b'-3) 투표자 단말이 패스워드 정보(P)를 상기 선택한 해쉬알고리즘을 이용하여 임의의 seed값과 Hs = H(H(P || seed)) 를 계산하는 단계와; (b'-4) 투표자 단말이 식별정보(ID)와 H(H(P || seed)), seed만을 서버에 전송하는 단계로 이루어진 것이 특징이다.
또한, 상기 자체인증기관 인증 프로토콜을 인증하는 단계(b'')는, (b''-1) 투표자 단말이 식별정보(ID)을 가지고 자체인증기관에 인증요청을 하는 단계와; (b''-2) 자체인증기관이 임의의 난수 R을 생성하는 단계와; (b''-3) 자체인증기관이 seed || R XOR H(H(Hs))을 계산하되 도전응답(challenge-response)기법을 이용하여 도전(challenge)으로 투표자 단말에 전송하는 단계와; (b''-4) 투표자 단말은 H(H(Hs))을 계산하고 H(H(Hs)) XOR seed || R XOR H(H(Hs))를 계산하여 R을 획득하는 단계와; (b''-5) 투표자 단말은 response = H(H(Hs || R)) XOR H(P || Seed) || ER(newSeed || H(P || newSeed))을 계산하여 자체인증기관에 전송하는 단계와; (b''-6) 자체인증기관이 H(H(Hs || R)) XOR response = H(H(Hs || R )) XOR H(H(Hs || R)) XOR H(P || seed) || ER(newSeed || H(P || newSeed)) = H(P || Seed) || ER(newSeed || H(P || newSeed))을 계산하고 DR(ER(newSeed || H(P || newSeed)))를 복호화 하여 자체인증기관에 저장되어 있는 Hs와 H(P || Seed)의 해쉬값인 H(H(P || Seed))와 같은지 확인하여 투표자 단말로부터 요청된 투표자를 인증하는 단계와; (b''-7) 자체인증기관이 식별정보(ID)에 해당하는 seed와 H(P || seed)를 newSeed와 H(P || newSeed)에 한번 더 해쉬하여 H(H(P || newSeed))로 업데이트하는 단계로 이루어진 것이 특징이다.
또한, 상기 투표단계(S130)는, (c-1) 투표자 단말이 자신의 투표 값에 은닉계수를 계산하여 은닉투표 값을 생성(B = vj*bkce (mod n))하는 단계와; (c-2) 투표자 단말이 은닉투표 값과 인증값 Sa를 연접(SEvc(B || Sa))하여 투표서버로 전송하는 단계와; (c-3) 투표서버가 은닉투표값과 인증값을 복호화(SDvc(SEvc(B || Sa) = B || Sa)하는 단계와; (c-4) 투표서버가 인증 처리부의 공개키로 서명값을 검증(Verifyae(Sa))하는 단계와; (c-5) 검증이 성공하면 투표서버가 은닉투표 값에 대해서 전자서명을 하고 투표자에게 전송 Bcd (mod n) 하는 단계와; (c-6) 투표자 단말이 은닉계수를 제거하여 투표서버의 전자서명을 얻는 (Bcd/bk (mod n)= (vj*bkce)cd/bk (mod n) = vjcd (mod n) = Signcdvj = Sc) 단계와; (c-7) 투표자 단말이 비트위임정보인 랜덤정수(R1,R2)와 위임정보 b를 이용하여 H(R1,R2,b) || R1를 생성하는 단계와; (c-8) 투표자 단말이 최종 투표 데이터를 생성 (v = vj || Ts || Sa || Sc || H(R1,R2,b) || R1)하는 단계와; (c-9) 투표자 단말이 개표서버의 공개키로 최종 투표데이터를 암호화하여 전송(Ete(v) = Ete(vj || Ts || Sa || Sc || H(R1,R2,b)||R1))하는 단계와; (c-10) 투표자 단말이 개표서버에 최종 투표데이터와 검증 데이터를 연접하여 전송 SEvt(Ete(v) || Sa || Sc), SDvt(SEvt(Ete(v) || Sa || Sc))하는 단계로 이루어진 것이 특징이다.
또한, 상기 개표단계(S140)는, (d-1) 개표서버가 개표관리위원회의 개표키 조각을 받아서 개표 비밀키를 복원(td = SecAdd(t1,t2,…tk))하는 단계와; (d-2) 개표서버가 저장된 투표데이터를 복호화 (Dtd (Ete(v)) = vj || Ts || Sa || Sc || H(R1,R2,b) || R1)하는 단계와; (d-3) 개표서버가 Sa, Sc를 검증하고, vj를 집계하고, 검증부분인 H(R1,R2,b) || R1 을 분리하여 공표하는 단계로 이루어지는 것이 특징이다.
또한, 상기 개표 검증단계(S150)는, 투표자 단말이 H(R1,R2,b) || R1를 개표서버에 전송하여 검색하는 것이 특징이다.
상술한 바와 같이 본 발명은 전자투표용 투표자 정보 및 투표 의뢰자 정보에서 민감한 개인정보를 분리하여 등록토록 함으로서 개인정보가 외부로 빠져나가는 것을 미연에 방지하는 효과가 있다.
도 1, 도 2는 본 발명의 투표방법 흐름도.
도 3은 본 발명의 전체 동작 흐름도.
도 4는 본 발명의 전자 투표 초기화 단계 흐름도.
도 5, 도 6, 도 7은 본 발명의 인증단계 흐름도.
도 8, 도 9는 본 발명의 투표 및 개표단계 흐름도.
이하 첨부된 도면과 설명을 참조하여 본 발명의 바람직한 실시예에 대한 동작 원리를 상세히 설명한다. 다만, 하기에 도시되는 도면과 후술되는 설명은 본 발명의 특징을 효과적으로 설명하기 위한 여러 가지 방법 중에서 바람직한 실시 방법에 대한 것이며, 본 발명이 하기의 도면과 설명만으로 한정되는 것은 아니다.
또한, 하기에서 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서, 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 발명에서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
또한, 이하 실시되는 본 발명의 바람직한 실시예는 본 발명을 이루는 기술적 구성요소를 효율적으로 설명하기 위해 각각의 시스템 기능구성에 이미 구비되어 있거나, 또는 본 발명이 속하는 기술분야에서 통상적으로 구비되는 시스템 기능구성은 가능한 생략하고, 본 발명을 위해 추가적으로 구비되어야 하는 기능구성을 위주로 설명한다.
만약 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면, 하기에 도시하지 않고 생략된 기능구성 중에서 종래에 이미 사용되고 있는 구성요소의 기능을 용이하게 이해할 수 있을 것이며, 또한 상기와 같이 생략된 구성요소와 본 발명을 위해 추가된 구성요소 사이의 관계도 명백하게 이해할 수 있을 것이다.
또한, 이하 실시예는 본 발명의 핵심적인 기술적 특징을 효율적으로 설명하기 위해 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 명백하게 이해할 수 있도록 용어를 적절하게 변형하여 사용할 것이나, 이에 의해 본 발명이 한정되는 것은 결코 아니다.
결과적으로, 본 발명의 기술적 사상은 청구범위에 의해 결정되며, 이하 실시예는 진보적인 본 발명의 기술적 사상을 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 효율적으로 설명하기 위한 하나의 수단일 뿐이다.
한편, 본 발명에서 표기되는 기호들은 다음과 같이 정의한다.
(1) cd,ce : 투표서버의 비밀키와 공개키
(2) td,te : 개표서버의 비밀키와 공개키
(3) ad,de : 인증 처리부의 비밀키와 공개키
(4) t1,t2,…tn : td를 키분할한 키조각
(5) Vi : 투표자 식별번호
(6) vj : 투표값
(7) Sa : 인증 처리부의 전자서명 Sign(Ts)
(8) R1,R2,b : 투표자의 비트위임변수
(9) v : 실제 투표값. vj || Ts || Sc || Sj || H(R1,R2,b) || R1
(10) Sc : vj에 대한 투표서버의 전자서명(vjcd)
(11) B : 은닉 투표값
(12) bk : 은닉계수
(13) Ts : 인증 처리부의 타임스탬프
(14) E/D : 비대칭키 암호화/복호화 함수
(15) Sign/Verify : 대칭키 전자서명/서명검증
(16) SE/SD : 대칭키 암호화/복호화 함수
(16-1) SEvc/SDvc 투표자와 투표서버의 세션키 암호화/복호화 함수
(16-2) SEvt/SDvt 투표자와 개표서버의 세션키 암호화/복호화 함수
(16-3) SEva/SDva 투표자와 투표서버의 세션키 암호화/복호화 함수
(17) H : 해쉬함수
(18) Hs : H(H(P || seed)) 자체인증기관 인증정보
(19) SecSplit : 키분할 함수
(20) SecAdd : 키조각 합치기
(21) xor : Exclusive-OR 연산
도 1은 본 발명의 실시 방법에 따른 전자투표 운용을 위한 투표 정보등록 시스템을 도시한 도면, 도 2a 및 도 2b는 본 발명의 투표방법 흐름도.
도 3은 본 발명의 전체 동작 흐름도.
도 4는 본 발명의 전자 투표 초기화 단계 흐름도.
도 5, 도 6, 도 7은 본 발명의 인증단계 흐름도.
도 8, 도 9는 본 발명의 투표 및 개표단계 흐름도이다.
먼저, 도면 1은 본 발명의 실시 방법에 따른 전자투표 운용을 위한 투표 정보등록 시스템을 도시한 도면이다.
본 발명은, 투표를 의뢰하는 투표 관리자 단말(145)과, 투표자로부터 투표 데이터를 입력받아 투표를 하기 위한 투표자 단말(145a)과, 상기 투표 관리자 단말 및 투표자 단말로부터 투표의뢰 정보를 입력받고 인증절차에 따라 공인인증기관이나 외부인증기관 또는 자체인증기관을 이용하여 투표의뢰자의 유효성을 인증받아 데이터를 저장하는 투표정보등록 서버(100)와, 상기 투표자 단말(145a)로부터 투표값 서명 요청이 입력되면 은닉된 투표값에 서명을 하여 리턴하는 투표서버(200)와, 투표자 단말(145a)로부터 비트위임 정보로 암호화된 투표값과 서명값을 입력받아 투표하고 키분할 방법으로 개표가 이루어지도록 하는 개표서버(300)를 포함하여 이루어진다.
상기 투표 정보등록 서버(100)는 소정의 투표 관리자 단말(145)이 상기 인터페이스부(105)를 통해 상기 투표 정보등록 서버(100)에 접속시, 상기 인터페이스부(105)와 연동하여 상기 투표 관리자 단말(145) 및 투표자 단말(145a)에서 소정의 투표 주관기관 정보 또는 투표 관리자 정보 또는 투표 운용 정보를 적어도 하나 이상 포함하는 투표 등록정보 및 투표자 개인정보를 입력(또는 선택)하여 전송하도록 하는 소정의 투표 등록 인터페이스 화면을 생성(또는 추출)하여 제공하는 인터페이스 제공부(110)와, 상기 인터페이스부(105)와 연동하여 상기 투표 관리자 단말(145) 및 투표자 단말에서 상기 투표 등록 인터페이스 화면을 통해 입력하여 전송하는 투표 주관기관 정보 또는 투표 관리자 정보 또는 투표 운용 정보를 적어도 하나 이상 포함하는 투표 등록정보 및 투표자 개인정보를 수신하는 정보 수신부(115)와, 상기 수신된 투표 주관기관 정보 및 투표자 개인정보에 대한 유효성을 인증하는 인증 처리부(120)와, 상기 투표 주관기관 정보의 유효성이 인증되면, 상기 수신된 투표 등록정보에 대응하는 소정의 투표 고유코드를 생성하고, 상기 투표 고유코드와 상기 수신된 투표 주관기관 정보 또는 투표 관리자 정보 또는 투표 운용 정보를 적어도 하나 이상 포함하는 투표 등록정보 및 투표자 개인정보를 연계 처리하여 상기 투표 등록정보 D/B(140)에 저장하는 정보 저장부(125)와, 상기 인증 처리부와 연결되어 투표 관리자 및 투표자의 본인확인을 인증하되 주민등록번호 또는 사업자 등록번호는 인정서버 해쉬함수 값으로만 저장한 상태에서 본인확인을 인증하기 위한 외부인증기관 또는 공인인증기관과; 상기 인증 처리부와 연결되어 투표자의 본인확인을 인증하되 주민등록번호 또는 사업자 등록번호 정보에 대한 해쉬함수값만 저장하고 패스워드 정보는 시스템에 저장하지 않는 도전응답(challenge-response)기법을 이용하는 자체인증기관을 포함하여 이루어진다.
상기 자체 인증기관은, 자체인증기관의 인증 프로토콜을 초기화하는 프로그램 코드로서, (a) 인증 처리부가 지원하는 대칭키 알고리즘/해쉬함수들을 정렬하되 키 길이가 작은 순으로 정렬한 CHIPER_SPEC을 자체인증기관에게 전송하는 프로그램 코드와; (b) 자체인증기관이 자신이 지원하는 대칭키 알고리즘/해쉬함수 중에서 알고리즘을 선택하되 인증 처리부가 보내준 CHIPER_SPEC에서 가장 상위에 있는 알고리즘을 선택하여 투표자 단말로 전송하는 프로그램 코드와; (c) 투표 관리자 단말 및 투표자 단말이 패스워드 정보(P)를 상기 선택한 해쉬알고리즘을 이용하여 임의의 seed와 Hs = H(H(P || seed))를 계산하는 프로그램 코드와; (d) 투표 관리자 단말 및 투표자 단말이 식별정보(ID)와 H(H(P || seed)), seed만을 서버에 전송하는 프로그램 코드로 이루어진다.
그리고, 자체인증기관은, 인증 프로토콜을 인증하는 프로그램 코드로서, (e) 투표 관리자 단말 및 투표자 단말이 식별정보(ID)을 가지고 자체인증기관에 인증요청을 하는 프로그램 코드와; (f) 자체인증기관이 임의의 난수 R을 생성하는 프로그램 코드와; (g) 자체인증기관에 저장되어 있는 seed와 Hs 을 이용하여 seed || R XOR H(H(Hs))을 계산하되 도전응답 (challenge-response) 기법을 이용하여 도전(challenge)으로 투표자 단말에 전송하는 프로그램 코드와; (h) 투표자 단말이 전송된 seed와 알고 있는 패스워드정보를 이용하여 H(H(Hs))를 계산하여 H(H(Hs)) XOR seed || R XOR H(H(Hs)) 계산하여 R를 획득하는 프로그램 코드와; (i) 투표 관리자 단말 및 투표자 단말이 자체인증기관에 H(H(Hs || R)) XOR H(P || seed) || ER(newSeed || H(P || newSeed))을 도전(challenge)에 대한 응답(Response) 값으로 전송하는 프로그램 코드와; (j) 자체인증기관이 H(H(Hs || R)) XOR response = H(H(Hs || R)) XOR H(H(Hs || R)) XOR H(P || seed) || ER(newSeed || H(P || newSeed)) = H(P || Seed) || ER(newSeed || H(P || newSeed))를 계산하고 DR(ER(newSeed || H(P || newSeed)))를 복호화 하여 계산하여 자체인증기관에 미리 저장되어 있는 Hs와 H(P || Seed)의 해쉬값인 H(H(P || Seed))와 같은지 확인하여 투표 관리자 단말 및 투표자 단말로부터 요청된 투표자를 인증하는 프로그램 코드와; (k) 자체인증기관이 식별정보(ID)에 해당하는 seed과 투표 관리자 단말 및 투표자 단말이 보내온 H(P || newSeed)의 계산값 H(H(P || newSeed))으로 업데이트하는 프로그램 코드를 갖는다.
도면 1에 도시된 투표 정보등록 시스템 상에서 상기 투표 관리자 단말(145)및 투표자 단말(145a)로부터 제공되는 투표 주관기관 정보 또는 투표 관리자 정보 또는 투표 운용 정보를 적어도 하나 이상 포함하는 투표 등록정보 및 투표자 개인정보를 상기 투표 등록정보 D/B(140)에 저장하기 위한 적어도 하나 이상의 수단 또는 기능구성에 대응하는 구성요소를 편의상 "투표 정보 등록 서버(100)"라고 한다.
본 발명의 실시 방법을 따르는 본 도면1을 참조하면, 본 발명에 따른 전자투표 운용을 위한 투표 정보등록 시스템은, 소정의 네트워크 수단에 연결된 적어도 하나 이상의 투표 관리자 단말(145)과, 투표자 단말(145a)와, 상기 투표 관리자 단말(145) 및 투표자 단말(145a)에서 전송하는 투표 주관기관 정보 또는 투표 관리자 정보 또는 투표 운용 정보를 적어도 하나 이상 포함하는 투표 등록정보를 연계 처리하여 저장하는 투표 등록정보 D/B(140), 및 상기 투표 관리자 단말(145) 및 투표자 단말(145a)과 소정의 네트워크 수단을 통해 연결되며, 상기 네트워크 수단을 통해 전송되는 투표 주관기관 정보 또는 투표 관리자 정보 또는 투표 운용 정보를 적어도 하나 이상 포함하는 투표 등록정보 및 투표자 개인정보를 수신하여 상기 투표 등록정보 D/B(140)에 연계 처리하여 저장하는 투표 정보등록 서버(100)를 포함하여 이루어지는 것을 특징으로 한다.
상기 투표 관리자 단말(145) 및 투표자 단말(145a)은 TCP/IP(Transmission Control Protocol/Internet Protocol) 기반의 유선 네트워크(예컨대, ADSL(Asymmetric Digital Subscriber Line)/VDSL(Very high-data rate Digital Subscriber Line) 또는 케이블 통신망)를 통해 상기 투표 정보등록 서버(100)와 통신 연결되는 데스크탑 컴퓨터 또는 노트북을 포함하는 유선 단말을 적어도 하나 이상 포함하여 이루어지거나, 또는 WCDMA(Wideband Code Division Multiple Access) 기반의 이동 통신망에 연결되는 이동 통신단말, 또는 IEEE 802.16x 기반의 초고속 무선 인터넷에 연결되는 휴대 인터넷 단말, 또는 DataTAC/Mobitex 기반의 무선 데이터 통신망에 연결되는 무선 데이터 통신 단말을 적어도 하나 이상 포함하는 무선 단말을 적어도 하나 이상 포함하여 이루어지는 것을 특징으로 하며, 상기 투표 관리자 단말(145) 및 투표자 단말(145a)은 상기 투표 정보등록 서버(100)에서 제공하는 적어도 하나 이상의 투표 등록 인터페이스 화면을 출력하고, 상기 투표 등록 인터페이스 화면을 통해 적어도 하나 이상의 정보를 입력 또는 선택하여 상기 투표 정보등록 서버(100)로 전송하기 위한 기능 구성(예컨대, 브라우져 프로그램과 통신 기능)이 구비되어 있는 것이 바람직하다.
본 발명의 실시 방법에 따라 상기 투표 관리자 단말(145) 및 투표자 단말(145a)이 유선 단말인 경우, 상기 네트워크 수단은 상기 TCP/IP 기반의 유선 네트워크를 포함하여 이루어지며, 상기 투표 관리자 단말(145) 및 투표자 단말(145a)이 무선 단말인 경우, 상기 네트워크 수단은 상기 WCDMA 기반의 이동 통신망, 또는 IEEE 802.16x 기반의 초고속 무선 인터넷, 또는 DataTAC/Mobitex 기반의 무선 데이터 통신망을 적어도 하나 이상 포함하여 이루어지는 것이 바람직하다.
본 발명에 따른 전자투표 시스템 상에 구비되는 상기 투표 등록정보 D/B(140)는 상기 투표 관리자 단말(145) 및 투표자 단말(145a)로부터 전송되는 투표 주관기관 정보 또는 투표 관리자 정보 또는 투표 운용 정보를 적어도 하나 이상 포함하는 투표 등록정보 및 투표자 개인정보를 연계 처리하여 저장하는 것을 특징으로 하며, 상기 투표 등록정보에는 소정의 투표 고유코드가 할당 및 연결 처리되어 저장하는 것을 특징으로 한다.
여기서, 상기 투표 고유코드는 상기 투표 등록정보 D/B(140)에 저장되는 상기 투표 주관기관 정보 또는 투표 관리자 정보 또는 투표 운용 정보를 적어도 하나이상 포함하는 투표 등록정보와 다른 투표에 대응하는 투표 등록정보를 식별하기 위한 고유코드로서, 중복되지 않은 고유한 코드값을 포함하여 이루어지는 것을 특징으로 한다.
또한, 상기 투표 주관기관 정보는 상기 투표 등록정보에 대응하는 투표를 주관하는 기관 또는 단체에 대응하는 정보로서, 명칭 정보, 기관번호 정보, 기관장 정보 등을 적어도 하나 이상 포함하여 이루어지는 것을 특징으로 한다.
본 발명의 일 실시 방법에 따라 상기 투표 등록정보에 대응하는 투표가 국회의원 선거, 대통령 선거, 지방자치단체 의원 선거, 지방자치단체장 선거, 기초단체 의원 선거, 기초단체장 선거 등을 적어도 하나 이상 포함하거나, 또는 국민투표를 포함하는 경우, 상기 투표 주관기관 정보는 중앙선거관리위원회(또는 지방선거관리위원회) 정보를 포함하여 이루어지는 것이 바람직하다.
예컨대, 상기와 같은 투표에서 상기 투표 주관기관 정보의 명칭 정보는 "중앙선거관리위원회"를 포함하여 이루어지고, 상기 투표 주관기관 정보의 기관번호 정보는 상기 중앙선거관리위원회 법인등록번호를 포함하여 이루어지고, 상기 투표 주관기관 정보의 기관장 정보는 중앙선거관리위원회장의 개인정보를 포함하여 이루어지는 것이 바람직하다.
본 발명의 다른 일 실시 방법에 따라 상기 투표 등록정보에 대응하는 투표가 기업(또는 법인)의 주주총회 또는 임시총회를 통한 적어도 하나 이상의 안건투표를 포함하거나, 또는 임원(이사) 선거를 포함하는 경우, 상기 투표 주관기관 정보는 상기 기업(또는 법인) 정보를 포함하여 이루어지는 것이 바람직하다.
예컨대, 상기와 같은 투표에서 상기 투표 주관기관 정보의 명칭 정보는 해당 기업(또는 법인) 명칭을 포함하여 이루어지고, 상기 투표 주관기관 정보의 기관번호 정보는 해당 기업(또는 법인)의 법인등록번호(또는 사업자등록번호)를 포함하여 이루어지고, 상기 투표 주관기관 정보의 기관장 정보는 상기 기업(또는 법인)의 대표자(또는 대표이사) 개인정보를 포함하여 이루어지는 것이 바람직하다.
본 발명의 또다른 일 실시 방법에 따라 상기 투표 등록정보에 대응하는 투표가 기업(또는 법인)의 노조총회 또는 임시총회를 통한 적어도 하나 이상의 안건투표를 포함하거나, 또는 노조임원선거를 포함하는 경우, 상기 투표 주관기관 정보는 상기 기업(또는 법인) 정보와 상기 기업(또는 법인)의 노조 정보를 포함하여 이루어지는 것이 바람직하다.
예컨대, 상기와 같은 투표에서 상기 투표 주관기관 정보의 명칭 정보는 해당 기업(또는 법인) 명칭 또는 노조 명칭을 포함하여 이루어지고, 상기 투표 주관기관 정보의 기관번호 정보는 해당 기업(또는 법인)의 법인등록번호(또는 사업자등록번호)를 포함하여 이루어지고, 상기 투표 주관기관 정보의 기관장 정보는 상기 기업(또는 법인) 노조의 위원장 개인정보를 포함하여 이루어지는 것이 바람직하다.
본 발명의 또다른 일 실시 방법에 따라 상기 투표 등록정보에 대응하는 투표가 단체(또는 협회)의 총회 또는 임시총회를 통한 적어도 하나 이상의 안건투표를 포함하거나, 또는 단체(또는 협회) 임원 선거를 포함하는 경우, 상기 투표 주관기관 정보는 상기 단체(또는 협회) 정보를 포함하여 이루어지는 것이 바람직하다.
예컨대, 상기와 같은 투표에서 상기 투표 주관기관 정보의 명칭 정보는 해당 단체(또는 협회) 명칭을 포함하여 이루어지고, 상기 투표 주관기관 정보의 기관번호 정보는 해당 단체(또는 협회)의 법인등록번호를 포함하여 이루어지고, 상기 투표 주관기관 정보의 기관장 정보는 상기 단체(또는 협회)의 대표자 개인정보를 포함하여 이루어지는 것이 바람직하다.
만약 상기 단체(또는 협회)의 법인등록번호가 없는 경우, 상기 기관번호 정보는 생략되거나, 또는 상기 단체(또는 협회)를 식별할 수 있는 다른 번호로 대체될 수 있으며, 이에 의해 본 발명이 한정되지 아니한다.
본 발명의 또다른 일 실시 방법에 따라 상기 투표 등록정보에 대응하는 투표가 학교의 학생투표를 포함하거나, 또는 상기 학교의 회장 선거를 포함하는 경우, 상기 투표 주관기관 정보는 상기 학교 정보를 포함하여 이루어지는 것이 바람직하다.
예컨대, 상기와 같은 투표에서 상기 투표 주관기관 정보의 명칭 정보는 해당 학교 명칭을 포함하여 이루어지고, 상기 투표 주관기관 정보의 기관번호 정보는 해당 학교의 법인등록번호를 포함하여 이루어지고, 상기 투표 주관기관 정보의 기관장 정보는 상기 학교의 교장(또는 이사장) 개인정보를 포함하여 이루어지는 것이 바람직하다.
본 발명의 또 다른 일 실시 방법에 따라 상기 투표 등록정보에 대응하는 투표가 학교의 학급/반 투표를 포함하거나, 또는 상기 학교의 학급 반장 선거를 포함하는 경우, 상기 투표 주관기관 정보는 상기 학교 정보와 학급/반 정보를 포함하여 이루어지는 것이 바람직하다.
예컨대, 상기와 같은 투표에서 상기 투표 주관기관 정보의 명칭 정보는 해당 학교 명칭 또는 학급, 반 정보를 포함하여 이루어지고, 상기 투표 주관기관 정보의 기관번호 정보는 해당 학교의 법인등록번호를 포함하여 이루어지고, 상기 투표 주관기관 정보의 기관장 정보는 상기 학교의 학급, 반의 담임 개인정보를 포함하여 이루어지는 것이 바람직하다.
본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 상기 실시예 이외에도 다른 투표 주관기관에 대응하는 투표 주관기관 정보에 대한 다양한 실시예를 유추할 수 있을 것이며, 본 발명은 상기 유추되는 실시예를 모두 포함하여 이루어진다.
상기 투표 관리자 정보는 상기 투표 주관기관에서 본 발명에 따른 전자투표 운용 시스템을 통해 상기 투표를 관리하는 관리자 정보로서, 상기 투표 주관기관 대표자 정보, 또는 상기 투표 주관기관 대표자의 위임을 받은 대리인 정보를 적어도 하나 이상 포함하여 이루어지는 것을 특징으로 한다.
본 발명의 일 실시 방법에 따라 상기 투표 관리자가 상기 투표 주관기관 대표자인 경우, 상기 투표 주관기관 대표자 정보에 대응하는 상기 투표 관리자 정보는 상기 투표 주관기관 대표자의 개인정보와, 상기 투표 관리자가 본 발명에 따른 전자투표 운용 시스템에 접근하기 위한 ID/PW 정보 또는 투표 관리자 인증 정보를 적어도 하나 이상 포함하여 이루어지는 것이 바람직하다.
본 발명의 다른 일 실시 방법에 따라 상기 투표 관리자가 상기 투표 주관기관 대표자의 위임을 받은 대리인인 경우, 상기 투표 주관기관 대표자의 위임을 받은 대리인 정보에 대응하는 상기 투표 관리자 정보는 상기 투표 주관기관 대표자의 개인정보와, 상기 투표 주관기관 대표자가 상기 투표 관리를 상기 대리인에게 위임했음을 증명하는 투표 관리위임 정보와, 상기 투표 관리자 개인정보와, 상기 투표 관리자가 본 발명에 따른 전자투표운용 시스템에 접근하기 위한 ID/PW 정보 또는 투표 관리자 인증 정보를 적어도 하나 이상 포함하여 이루어지는 것이 바람직하다.
여기서, 상기 투표 관리위임 정보는, 상기 투표 주관기관 대표자의 전자서명이 첨부된 투표 관리 위임장(또는 투표 관리 위임장에 대응하는 전자문서)을 포함하여 이루어지거나, 또는 상기 투표 주관기관 대표자가 상기 투표 정보등록 서버(100)에 접속하여 상기 대리인에게 상기 투표 관리를 위임했음을 인증하는 소정의 인증정보를 제공하여도 무방하며, 이에 의해 본 발명이 한정되지 아니한다.
본 발명의 실시 방법에 따르면, 상기 투표 관리자는 상기 투표 등록정보 D/B(140)에 저장된 정보의 변경/갱신 권한을 가지며, 선거의 후보자 등록/승인 권한을 가지며, 투표의 경우 안건 등록/승인권한을 갖는 것이 바람직하다.
또한, 상기 투표 관리자는 상기 투표에 대응하는 전자투표 운용 시스템을 통한 전자투표운용 권한 또는 전자개표 운용 권한을 가지며, 또한, 상기 투표 운용 정보는 상기 투표 관리자가 상기 투표 주관기관에서 주관하는 적어도 하나 이상의 투표를 본 발명에 따른 전자투표 운용 시스템을 통해 처리하기 위해 등록하는 적어도 하나 이상의 정보를 포함하여 이루어지는 것을 특징으로 한다.
본 발명의 일 실시 방법에 따라 본 발명에 따른 전자투표 운용 시스템을 통해 소정의 선거가 처리되는 경우, 상기 투표 운용 정보는 상기 선거명칭 정보, 선거 유세기간 정보, 선거 일시 정보를 적어도 하나 이상포함하여 이루어지는 것이 바람직하며, 당업자의 의도에 따라 상기 투표 운용 정보는 상기 선거를 위한 적어도 하나 이상의 후보자 정보를 더 포함할 수 있으며, 이에 의해 본 발명이 한정되지 아니한다.
여기서, 상기 선거명칭 정보는 "제 xx대 국회의원 선거", 또는 "XX기업 이사 선거", 또는 "XX기업 노조위원장선거", 또는 "XX학교 회장 선거", 또는 "XX학교 x학년x반 반장 선거" 등을 적어도 하나 이상 포함하여 이루어지는 것이 바람직하며, 상기 선거 유세기간 정보는 상기 후보자 등록 후 상기 선거 일시까지의 기간 정보를 포함하여 이루어지는 것이 바람직하며, 상기 선거 일시 정보는 본 발명에 따른 전자투표 운용 시스템을 통해 전자투표가 이루어지는 일시(년월일/시분초)를 포함하여 이루어지는 것이 바람직하다.
본 발명의 다른 일 실시 방법에 따라 본 발명에 따른 전자투표 운용 시스템을 통해 소정의 투표가 처리되는 경우, 상기 투표 운용 정보는 상기 투표명칭 정보, 투표안건 정보, 투표 일시 정보를 적어도 하나 이상 포함하여 이루어지는 것이 바람직하다.
여기서, 상기 투표명칭 정보는 "XX시장 주민소환 투표", 또는 "XX기업 대표이사 연임 동의 투표", 또는 "XX기업노조 파업 찬/반 투표", 또는 "XX학교 수학여행지 선정 투표", 또는 "XX학교 x학년x반 보충학습 찬/반 투표" 등을 하나 이상 포함하여 이루어지는 것이 바람직하며, 상기 투표안건 정보는 상기 투표명칭에 대응하는 투표안건으로서 투표자가 선택하여 표를 던질 적어도 두개 이상의 안건을 포함하여 이루어지는 것이 바람직하며, 상기 투표 일시 정보는 본 발명에 따른 전자투표 운용 시스템을 통해 전자투표가 이루어지는 일시(년월일/시분초)를 포함하여 이루어지는 것이 바람직하다.
본 발명의 실시 방법에 따르면, 본 발명에 따른 전자투표 운용 시스템은 상기 서버(또는 투표)에 대한 투표방식(예컨대, 비밀투표, 공개투표 등)을 선택(또는 확인)하는 투표방식 정보, 또는 전자투표방식(예컨대, 현장투표, 온라인 투표, 현장/온라인 혼합 투표 등)을 선택하는 전자투표방식 정보, 또는 유권자 인증 방식(예컨대, 외부인증기관 인증 방식, 공인인증기관 인증 방식, 자체인증기관 인증방식, 휴대폰인증 방식, 금융계좌 인증 방식, 신용카드 인증 방식 등)을 선택하는 유권자인증방식 정보를 포함하여 이루어지는 것이 바람직하다.
본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 상기 예시된 투표 운용 정보구성 이외에도 다양한 형태의 투표 운용 정보구성을 유추할 수 있을 것이나, 본 발명은 상기 유추되는 모든 정보구성을 포함하며, 상기 예시된 투표 운용 정보구성으로 한정되지 아니한다.
도면 2는 본 발명의 실시 방법에 따른 전자투표 운용을 위한 투표 정보등록 과정을 도시한 도면이다.
보다 상세하게 본 도면2는 상기 도면1에 도시된 정보등록 시스템 상의 투표 관리자 단말(145) 및 투표자 단말(145a)이 소정의 네트워크 수단을 통해 상기 투표 정보등록 서버(100)로 전자투표 운용을 위한 투표주관기관 정보 또는 투표 관리자 정보 또는 투표 운용 정보를 적어도 하나 이상 포함하는 투표 등록정보를 전송하면, 상기 투표 정보등록 서버(100)에서 상기 투표 주관기관 정보 또는 투표 관리자 정보 또는 투표 운용 정보를 적어도 하나 이상 포함하는 투표 등록정보를 소정의 투표 고유코드와 연계 처리하여 투표등록정보 D/B(140)에 저장하는 과정에 대한 것으로서, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면, 본 도면 2를 참조 또는 변형하여 전자투표 운용을 위한 투표 정보등록 과정에 대한 다양한 실시 방법을 유추할 수 있을 것이나, 본 발명은 상기 유추되는 모든 실시 방법을 포함하며, 본 도면1에 도시된 실시 방법만으로 한정되지 아니한다.
전자투표를 하기위해 투표정보등록서버와, 투표서버와, 개표서버 및 자체 인증기관의 데이터를 초기화한다(S10)
정보등록 시스템 상의 관리 투표자 단말 및 투표자 단말은 상기 네트워크 수단을 통해 상기 투표정보등록 서버에 접속하여 전자투표 운용을 위한 통신채널을 연결한다(S20).
관리 투표자 단말 및 투표자 단말과 투표정보등록 서버 사이에 전자투표 운용을 위한 통신채널이 연결되면, 상기 관리 투표자 단말 및 투표자 단말은 상기 통신채널을 통해 상기 투표정보등록 서버로 상기 전자투표 운용을 위한 투표 등록 인터페이스 화면을 요청하고(S30), 이에 대응하여 상기 투표정보등록 서버는 상기 관리 투표자 단말 및 투표자 단말에서 상기 투표 주관기관 정보 또는 투표 관리자 정보 또는 투표 운용 정보를 적어도 하나 이상 포함하는 투표 등록정보 및 투표자 개인정보를 입력하기 위한 사용자 인터페이스를 포함하는 투표 등록 인터페이스 화면을 생성하고(S40), 상기 생성된 투표 등록 인터페이스 화면을 상기 통신채널을 통해 상기 단말로 전송한다(S50).
여기서, 상기 투표 고유코드는 상기 투표 등록정보 D/B(140)에 저장되는 상기 투표 주관기관 정보 또는 투표 관리자 정보 또는 투표 운용 정보를 적어도 하나이상 포함하는 투표 등록정보와 다른 투표에 대응하는 투표 등록정보 식별하기 위한 고유코드로서, 중복되지 않은 고유한 코드값을 포함하여 이루어지는 것을 특징으로 한다.
또한, 상기 투표 주관기관 정보는 상기 투표 등록정보에 대응하는 투표를 주관하는 기관 또는 단체에 대응하는 정보로서, 명칭 정보, 기관번호 정보, 기관장 정보 등을 적어도 하나 이상 포함하여 이루어지는 것을 특징으로 한다.
이후, 상기 관리 투표자 단말 및 투표자 단말은 상기 투표 등록정보를 입력하기 위한 상기 사용자 인터페이스를 통해 상기 투표 주관기관 정보 또는 투표 관리자 정보 또는 투표 운용 정보를 적어도 하나 이상 포함하는 투표 등록정보 및 투표자 개인정보가 입력하도록 처리한다(S60).
만약 상기 관리 투표자 단말 및 투표자 단말에서 상기 투표 주관기관 정보 또는 투표 관리자 정보 또는 투표 운용 정보를 적어도 하나 이상 포함하는 투표 등록정보 및 투표자 개인정보가 입력되면(S70), 상기 관리 투표자 단말 및 투표자 단말은 상기 통신채널을 통해 상기 투표 정보등록서버로 상기 투표 주관기관 정보 또는 투표 관리자 정보 또는 투표 운용 정보를 적어도 하나 이상 포함하는 투표 등록정보 및 투표자 개인정보를 전송하며(S80), 이에 대응하여 상기 투표 정보등록서버는 상기 투표 등록정보에 포함된 투표 주관기관 정보에 대한 유효성을 확인한다(S90).
본 발명의 일실시예에 따라서, 외부인증기관 또는 공인인증기관을 이용한 투표자 정보확인일 경우에는 주민등록번호 또는 사업자 등록번호는 인증 처리부 해쉬함수 값으로만 저장한 상태에서 본인확인을 한다.
그리고, 자체인증기관을 이용한 투표자 정보확인일 경우에는 주민등록번호 또는 사업자 등록번호 정보에 대한 해쉬함수값만 저장하고 패스워드 정보는 시스템에 저장하지 않는 도전응답(challenge-response)기법을 이용한다.
만약 상기 투표 등록정보에 포함된 투표 주관기관 정보에 대한 유효성이 인증되면(S100), 상기 투표 정보등록서버는 상기 투표 등록정보에 대응하는 소정의 투표 고유코드를 생성하고(S110), 상기 생성된 투표 고유코드와 상기 수신된 투표 주관기관 정보 또는 투표 관리자 정보 또는 투표 운용 정보를 적어도 하나 이상 포함하는 투표 등록정보 및 투표자 개인정보를 연계 처리하여 상기 투표 등록정보 D/B(140)에 저장한다(S120).
인증이 마무리되면 상기 투표자 단말(145a)로부터 투표값 서명 요청이 입력받아 은닉된 투표값을 투표서버가 서명을 하여 리턴하고(S130), 투표자 단말(145a)로부터 비트위임 정보로 암호화된 투표값과 서명값을 입력받아 개표서버를 통해 투표하고 키분할 방법으로 개표가 이루어지도록 하며(S140), 상기 개표이후 개표를 검증한다(S150).
상기 전자투표 초기화단계(a)는, 외부 투표의뢰기관으로부터 인증 처리부, 투표서버 및, 개표서버의 비밀키와 공개키(ad,ae)(cd,ce)(td,te)를 발급받고, 특성 다항식(F(x) = a0 + a1x + a2x2 + a3x3 + .. + ak-1xk-1 s.t (i,f(i)) where i=1,…,n)을 이용하여 개표서버의 비밀키를 n개로 분할하며(즉, t1,t2,…tn = SecSplit(td), 여기서, td는 개표서버의 비밀키를, SecSplit는 키분할 함수를 나타냄), 투표자 식별자 정보를 포함하여 투표자명부와 인증방법을 등록한다.
상기 인증단계(b)는, 투표자 단말과 인증 처리부가 디피-헬먼(Diffie-Hellman)방식에 의해 세션키(va)를 생성하고, 투표자 단말이 인증 처리부에 유권자 식별번호(Vi)를 비대칭키 암호화 함수(E)를 이용하여 암호화하여(즉, Eva(Vi), 여기서 첨자 va는 세션키를 의미) 전송하며, 인증 처리부가 비대칭키 복호화 함수(D)를 이용하여 투표자 식별정보(Vi)를 구하고(즉, Dva(Eva(Vi)) = Vi), 인증 처리부가 투표자명부에서 개인식별번호 Vi를 검색하며, 개인식별번호 Vi를 찾은 후 인증 처리부가 인증방법에 따라 인증절차에 들어가서 이루어진다.
이때, 인증 처리부의 인증방법이 공인인증기관 방식이면, 주민등록번호/사업자번호, 공인인증서 식별정보(Rvalue), 서명데이터를 추가적으로 투표자 단말에 요청하고, 투표자 단말을 통해 주민등록번호/사업자번호, 공인인증서 식별정보, 서명데이터를 전송하며, 공인인증기관에서 검증이 성공하면 인증 처리부 타임스탬프(Ts)를 대칭키 전자 서명 함수(Sign)를 통해 인증 처리부의 개인키로 전자서명한다(즉, Sa = Signad(Ts), 여기서 Sa는 인증 처리부의 전자서명을 나타냄).
그리고, 인증 처리부의 인증방법이 외부인증기관 방식이면, 인증 처리부와 외부인증기관사이에 디피-헬먼(Diffie-Hellman) 방식에 의해 세션키(ea)를 생성하고, 투표자 단말이 추가인증 정보(Secret)와 인증 처리부의 서명을 연접 연산하여(즉, SEea(Secret || Signad(Secret))) 외부인증기관으로 전송하고, 외부인증기관에서 이 SEea(Secret || Signad(Secret)))를 세션키 복호화 함수(SDea)를 이용하여 복호화함으로써 추가정보와 서명값을 얻고(즉, SDea(SEea(Secret || Signad(Secret)) )= Secret || Signad(Secret)), 인증 처리부의 서명을 확인하고 추가인증 정보를 외부 정보장치에 검색하며, 인증이 성공되면 인증 처리부에 SUCCESS를 전송하고 인증 처리부는 전자서명(Sa = Signad(Ts))을 세션키 암호화하여(즉, SEva(Sa)), 개인키로 전자서명을 하여 투표자에게 전송한다.
삭제
그리고, 인증 처리부의 인증방법이 자체인증기관이면, 자체인증기관이 인증 처리부에 SUCCESS를 전송하면 인증 처리부(40)전자서명(Sa = Signad(Ts))을 세션키 암호화하여(즉, SEva(Sa)), 이 암호화된 전자서명을 투표자 단말에 전송한다.
상기 자체인증기관의 인증 프로토콜을 초기화하는 단계(b')는, 인증 처리부가 지원하는 대칭키 알고리즘/해쉬함수들을 키 길이가 작은 순으로 정렬하여 리스트로 가지고 있는 CHIPER_SPEC을 자체인증기관에게 보내고, 자체인증기관이 자신이 지원하는 대칭키 알고리즘/해쉬함수 알고리즘중 인증 처리부가 보내준 CHIPER_SPEC중 가장 상위에 있는 알고리즘을 선택하며, 투표자 단말이 패스워드 정보(P)를 상기 선택한 해쉬함수 알고리즘을 이용하여 임의의 seed(즉, 투표자 단말이 생성한 임의의 난수로서 투표자 단말에 연동되고, 한 번 사용하면 폐기되며, 투표자 단말과 투표 인증 처리부 모두가 알고 있는 값임)와 해쉬 함수를 이용하여 이 seed 및 P에 대한 해쉬값을 계산하고(즉, Hs = H(H(P || seed)), 투표자 단말이 식별정보(ID)와 해쉬값 Hs만을 인증 처리부에 전송함으로써 초기화하는 단계(b')가 수행된다.
그리고, 자체인증기관 인증 프로토콜을 인증하는 단계(b'')는, 투표자 단말이 식별정보(ID)을 가지고 자체인증기관에 인증요청을 하고, 자체인증기관이 임의의 난수 R을 생성하며, 자체인증 처리부내에 저장되어 있는 seed 및 해쉬값(Hs)을 해쉬 함수에 이중으로 적용하고, 이들 값을 배타적 논리합(XOR)을 이용하여 도전(challenge)값을 계산하되(즉, challenge = seed || R XOR H(H(Hs)), 도전응답(challenge-response) 기법을 이용하며, 도전(challenge)값을 투표자 단말에 전송하며, 투표자 단말이 R값을 획득하기 위해 도전값과 H(H(Hs))를 배타적 논리합으로 계산하여 R을 획득하고(즉, R=H(H(Hs)) XOR seed || R XOR H(H(Hs))), 투표자 단말이 사용된 seed와는 다른 newSeed를 생성하고 이 newSeed를 이용하여 이 도전(challenge)에 대한 응답(Response) 값을 계산하고(즉, Response = H(H(Hs || R)) XOR H(P || seed) || ER(newSeed || H(P || newSeed))), 여기서 ER은 R를 키로 하는 비대칭키 암호화 함수임), 이 Response값을 자체인증기관에 전송한다. 또한, 여기서, "H(P || seed)"는 인증부분이고, "ER(newSeed || H(P || newSeed))"는 암호화 부분이 된다.
자체인증기관이 이 response 중 암호화 부분인 ER(newSeed || H(P || newSeed))만을 남기기 위해 H(H(Hs || R))와 response를 배타적 논리합을 수행하며(즉, XOR response = H(H(Hs || R)) XOR H(H(Hs || R)) XOR H(P || seed) || ER(newSeed || H(P || newSeed)) = H(P || seed) || ER(newSeed || H(P || newSeed)), 복호화 함수를 이용하여 위 배타적 논리합에 의해 남은 ER(newSeed || H(P || newSeed))를 복호화한다(즉, DR(ER(newSeed || H(P || newSeed)), 여기서 DR은 R를 키로하는 복호화 함수임).
인증 처리부 내 미리 저장되어 있는 Hs와 투표단말기(10)로부터 전송된 response값 중(H(P || seed))를 해쉬 함수를 이용하여 구한 값인 H(H(P || seed))와 비교하여 투표자 단말로부터 요청된 투표자가 동일인인지를 인증하며, 자체인증기관이 식별정보(ID)에 해당하는 newSeed 및 Hs를 H(H(P || newSeed))으로 업데이트하는 과정으로 이루어진다.
상기와 같이 투표자 본인인증이 마무리되면 투표자 단말을 통해 투표서버에서 투표내용을 입력받는 동작이 이루어진다.
이하에서 투표과정을 설명하면 다음과 같다.
본 발명의 투표단계(c)는, 먼저, 투표자 단말이 자신의 투표 값에 은닉계수(bk)를 곱하고 모드(mod) 함수를 이용하여 은닉투표 값(B)을 생성하고(즉, B = vj*bkce (mod n), 여기서 ce는 투표서버의 공개키를 나타냄), 투표자 단말이 이 은닉투표 값(B)과 인증처리부의 전자서명(Sa)을 연접하고 대칭키 암호화하여(즉, SEvc(B || Sa), 여기서 SEvc는 투표자 단말과 투표 서버간의 세션키 암호화 함수를 나타냄), 투표서버로 전송한다.
그리고, 투표서버가 세션키 복호화 함수(SDvc)를 이용하여 은닉투표값(B)과 인증 처리부의 전자서명(Sa)을 복호화하고(즉, SDvc(SEvc(B || Sa) = B || Sa)), 투표서버가 인증 처리부의 공개키(ae)로 인증 처리부의 전자서명(Sa)을 검증하며(즉, Verifyae(Sa)), 검증이 성공하면 투표서버가 은닉투표 값(B)에 대해서 전자서명을 하고 투표자 단말에게 전송하면(즉, Bcd (mod n), 여기서 cd는 투표서버의 비밀키를 나타냄), 투표자 단말이 은닉계수(bk)를 제거하여 투표값(vj)에 대한 투표서버의 전자서명(Sc)을 얻는다(즉, Bcd/bk (mod n) = (vj*bkce)cd/bk (mod n) = vjcd (mod n) = Sc).
그리고. 투표자 단말이 비트위임정보인 랜덤정수(R1,R2)와 위임정보(b)를 이용하여 H(R1,R2,b) || R1를 생성하고, 투표자 단말이 최종 투표 데이터(v)를 생성하며(즉, (v = vj || Ts || Sa || Sc || H(R1,R2,b) || R1)), 투표자 단말이 개표서버의 공개키로 최종 투표데이터(v)를 암호화하여 전송하고(즉, (Ete(v) = Ete(vj || Ts || Sa || Sc || H(R1,R2,b)||R1)), 여기서 Ete는 투표자 단말과 개표서버의 비대칭키 암호화 함수를 나타냄), 투표자 단말기가 최종 투표데이터와 검증 데이터인 인증 처리부의 전자서명(Sa) 및 투표서버의 전자서명(Sc)을 연접하고 대칭키 암호화하여(즉, SEvt(Ete(v) || Sa || Sc), 여기서 SEvt는 투표자 단말과 개표서버의 세션키 암호화 함수를 나타냄), 이를 투표서버(20)에 전송하면 투표과정이 종료된다.
상기와 같이 투표과정을 마치면 개표단계를 진행한다.
본 발명의 전자투표 개표단계(d)는 개표서버가 개표관리위원회의 비밀키 조각을 받아서 키조각 합치기 함수(SecAdd)를 이용하여 개표서버의 비밀키(td)를 복원하고(즉, (td = SecAdd(t1,t2,…tk), 여기서 t1,t2,...tk는 비밀키 조각을 나타냄), 개표서버가 투표 단말기로부터 암호화되어 전송된 투표데이터(SEvt(Ete(v) || Sa || Sc))를 투표서버로부터 받아서 이를 복호화하고(즉, Dtd (Ete(v)) = vj || Ts || Sa || Sc || H(R1,R2,b) || R1)), 개표서버가 인증처리부의 전자서명(Sa) 및 투표서버의 전자서명(Sc)을 저장된 인증 처리부의 전자서명(Sa) 및 투표서버의 전자서명(Sc)과 비교검증하고, 투표값(vj)을 집계하고, 투표자가 투표한 것을 검증하기 위한 검증부분인 H(R1,R2,b) || R1(이하 "제1 검증부분"이라 하자)을 분리하여 저장하고 공표하는 과정으로 이루어진다.
또한, 개표과정이 마무리되면, 투표자가 투표한 사실관계를 확인할 수 있는바, 개표 검증단계(e)에서, 투표자 단말이 제 2 검증부분(H(R1,R2,b) || R1)을 개표서버에 전송하며, 개표서버는 제 2 검증부분과 제 1 검증부분을 검색비교하여 H(R1,R2,b)와 R1이 모두 일치하는 경우에만 투표한 사실관계를 알려주게 된다.
이상의 설명은 본 발명의 기술사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다.
즉, 본 발명에 개시된 실시예들은 본 발명의 기술사상을 한정하는 것이 아니라 설명하기 위한 것이기 때문에 이러한 실시예에 의하여 본 발명의 기술사상의 범위가 한정되는 것은 아니다.
따라서, 본 발명의 보호범위는 아래 청구범위의 의하여 해석되어야 하며, 그와 동등한 범위내에 있는 모든 기술사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
100: 투표 정보등록 서버
105: 인터페이스부
110: 인터페이스 제공부
115: 정보 수신부
120: 인증 처리부
125: 정보 저장부
140: 투표 등록정보 D/B
145: 투표 관리자 단말
145a: 투표자 단말
150: 외부 인증기관
160: 공인 인증기관
170: 자체 인증기관

Claims (8)

  1. 인증 처리부가 구성되는 투표정보등록 서버, 투표서버, 개표서버, 투표 관리자 단말, 투표 단말, 및 인증기관으로 구성되고, 상기 인증기관은 외부 인증 기관, 공인 인증기관 및 자체 인증기관으로 구성되는 전자투표 운용을 위한 투표 정보 등록 시스템에서의 전자투표방법에 있어서,
    전자투표를 하기 위해 투표정보등록 서버와, 투표서버와, 개표서버 및 자체 인증기관의 데이터를 초기화하는 단계(S10)와;
    투표 관리자 단말 및 투표자 단말이 네트워크 수단을 통해 상기 투표정보등록 서버에 접속하여 전자투표 운용을 위한 통신채널을 연결하는 단계(S20)와;
    투표 관리자 단말 및 투표자 단말과 투표정보등록 서버 사이에 전자투표 운용을 위한 통신채널이 연결되면, 상기 투표 관리자 단말 및 투표자 단말이 상기 통신채널을 통해 투표정보등록 서버로 전자투표 운용을 위한 투표 등록 인터페이스 화면을 요청하는 단계(S30)와;
    이에 대응하여 상기 투표정보등록 서버가 투표 관리자 단말 및 투표자 단말에서 투표 주관기관 정보 또는 투표 관리자 정보 또는 투표 운용 정보를 적어도 하나 이상 포함하는 투표 등록정보 및 투표자 개인정보를 입력하기 위한 사용자 인터페이스를 포함하는 투표 등록 인터페이스 화면을 생성하는 단계(S40)와;
    생성된 투표 등록 인터페이스 화면을 통신채널을 통해 투표 관리자 단말 및 투표자 단말로 전송하는 단계(S50)와;
    이후, 투표 관리자 단말 및 투표자 단말이 투표 등록정보를 입력하기 위한 사용자 인터페이스를 통해 투표 주관기관 정보 또는 투표 관리자 정보 또는 투표 운용 정보를 적어도 하나 이상 포함하는 투표 등록정보 및 투표자 개인정보를 입력하도록 처리하는 단계(S60)와;
    상기 투표 관리자 단말 및 투표자 단말을 통해 투표 주관기관 정보 또는 투표 관리자 정보 또는 투표 운용 정보를 적어도 하나 이상 포함하는 투표 등록정보 및 투표자 개인정보를 입력받는 단계(S70)와;
    상기 투표 관리자 단말 및 투표자 단말이 통신채널을 통해 투표 정보등록서버로 투표 주관기관 정보 또는 투표 관리자 정보 또는 투표 운용 정보를 적어도 하나 이상 포함하는 투표 등록정보 및 투표자 개인정보를 전송하는 단계(S80)와;
    이에 대응하여 투표 정보등록서버가 인증 처리부를 이용하여 상기 투표 등록정보에 포함된 투표 주관기관 정보 및 투표자 개인에 대한 유효성을 확인하는 인증단계(S90)와;
    외부인증기관 또는 공인인증기관을 이용한 투표자 정보확인일 경우에는 주민등록번호 또는 사업자 등록번호는 인증 처리부 해쉬함수 값으로만 저장하여 로그인할 때마다 패스워드 정보의 해쉬함수 값이 변경되는 방식으로 본인확인을 하는 단계(S100)와;
    자체인증기관을 이용한 투표자 정보확인일 경우에는 주민등록번호 또는 사업자 등록번호 정보에 대한 해쉬함수값만 저장하고 패스워드 정보는 시스템에 저장하지 않도록 세션키를 만들기 위한 키 교환방식으로 사용되는 도전응답(challenge-response)기법을 이용하는 단계(S110)와;
    상기 투표 등록정보에 포함된 투표 주관기관 정보에 대한 유효성이 인증되면, 상기 투표 정보등록서버는 상기 투표 등록정보에 대응하는 소정의 투표 고유코드를 생성하고, 생성된 투표 고유코드와 수신된 투표 주관기관 정보 또는 투표 관리자 정보 또는 투표 운용 정보를 적어도 하나 이상 포함하는 투표 등록정보 및 투표자 개인정보를 연계 처리하여 상기 투표 등록정보 D/B(140)에 저장하는 단계(S120)와;
    인증이 마무리되면 상기 투표자 단말(145a)로부터 투표값 서명 요청이 입력받아 은닉된 투표값을 투표서버가 서명을 하여 리턴하는 투표 단계(S130)와;
    투표자 단말(145a)로부터 비트위임 기법을 이용하여 암호화된 투표값과 서명값을 입력받아 개표서버를 통해 투표하고 키분할 방법으로 개표가 이루어지도록 하는 개표단계(S140)와;
    상기 개표단계이후 개표를 검증하는 개표 검증단계(S150)를 포함하되,
    상기 전자투표 초기화단계(S10)는,
    (a-1) 외부 투표의뢰기관으로부터 인증 처리부, 투표서버 및, 개표서버의 비밀키와 공개키를 발급받는 단계와;
    (a-2) 개표서버의 비밀키를 특성 다항식을 이용하여 n개의 비밀키 조각으로 분할하는 단계와;
    (a-3) 유권자 식별자 정보를 포함하는 유권자명부와 인증방법을 등록하는 단계로 이루어짐을 특징으로 하는 개인정보 보호를 강화한 전자투표방법.
  2. 삭제
  3. 제 1 항에 있어서,
    상기 인증단계(S90)는,
    (b-1) 투표자 단말과 인증 처리부간 디피-헬먼(Diffie-Hellman)방식에 의해 세션키(va)를 생성하는 단계와;
    (b-2) 투표자 단말이 인증 처리부에 유권자 식별번호를 세션키를 이용하여 암호화하여 전송하는 단계와;
    (b-3) 인증 처리부가 암호화된 투표자 식별번호를 복호화하여 유권자 식별정보를 구하는 단계와;
    (b-4) 인증 처리부가 유권자명부에서 상기 투표자 식별번호를 검색하는 단계와;
    (b-5) 상기 투표자 식별번호가 검색되면 인증 처리부가 인증방법에 따라 인증절차에 들어가는 단계와;
    (b-5-1-1) 상기 (b-5) 단계에서, 상기 인증 처리부의 인증방법이 공인인증기관 방식이면, 인증 처리부가 주민등록번호/사업자번호, 공인인증서 식별정보(Rvalue), 서명데이터를 추가적으로 투표자 단말에 요청하는 단계와;
    (b-5-1-2) 투표자 단말은 인증 처리부에 주민등록번호/사업자번호, 공인인증서 식별정보, 서명데이터를 전송하는 단계와;
    (b-5-1-3) 인증 처리부가 공인인증기관에 상기 데이터를 전송하여 공인인증기관에서 검증이 성공하면 인증 처리부 타임스탬프를 이용하여 인증 처리부의 개인키로 전자서명하는 단계와;
    (b-5-2-1) 상기 (b-5) 단계에서, 상기 인증 처리부의 인증방법이 외부인증기관 방식이면, 인증 처리부와 외부인증기관사이에 디피-헬먼(Diffie-Hellman) 방식에 의해 세션키를 생성하는 단계와;
    (b-5-2-2) 투표자 단말이 추가인증 정보와 인증 처리부의 전자서명을 연접하고, 생성된 세션키를 이용하여 상기 추가인증 정보 및 인증처리부의 전자서명을 암호화하여 외부인증기관에 전송하는 단계와;
    (b-5-2-3) 외부인증기관에서 암호화된 추가정보와 서명값을 복호화하여 상기 추가인증 정보 및 인증 처리부의 전자서명을 얻고, 인증 처리부의 서명을 확인하고 추가인증 정보를 외부 정보장치에 검색하며, 인증이 성공되면 인증 처리부에 SUCCESS를 전송하고 인증 처리부는 개인키로 암호화하여 전자서명을 투표자 단말에게 전송하는 단계와;
    (b-5-3-1) 상기 (b-5) 단계에서, 상기 인증방법이 자체인증기관이면, 자체인증기관 인증 프로토콜에 따라서 인증하는 단계와;
    (b-5-3-2) 자체인증기관이 인증 처리부에 인증에 대한 SUCCESS를 전송하면 인증 처리부의 타임스탬프를 이용하여 인증 처리부의 개인키로 전자서명하고 상기 전자서명을 암호화하여 투표자 단말로 전송하는 단계로 이루어진 것을 특징으로 하는 개인정보 보호를 강화한 전자투표방법.
  4. 제 3 항에 있어서,
    상기 자체인증기관 인증 프로토콜 초기화 단계(b')는,
    (b'-1) 인증 처리부가 지원하는 대칭키 알고리즘/해쉬함수 알고리즘들을 정렬하되 키 길이가 작은 순으로 정렬한 CHIPER_SPEC을 자체인증기관에게 전송하는 단계와;
    (b'-2) 자체인증기관은 자신이 지원하는 대칭키 알고리즘/해쉬함수 알고리즘들 중에서 알고리즘을 선택하되 인증 처리부가 보내준 CHIPER_SPEC에서 가장 상위에 있는 알고리즘을 선택하여 투표자 단말로 전송하는 단계와;
    (b'-3) 투표자 단말이 선택된 해쉬함수 알고리즘을 이용하여 상기 투표자 단말과 연동되어 임의의 난수를 갖는 seed값과 상기 패스워드 정보를 연접시켜 이중 해쉬함수를 이용하여 해쉬값(Hs)을 계산하는 단계와;
    (b'-4) 투표자 단말이 계산된 해쉬값(Hs)을 인증 처리부에 전송하는 단계로 이루어진 것을 특징으로 하는 개인정보 보호를 강화한 전자투표방법.
  5. 제 3 항에 있어서,
    상기 자체인증기관 인증 프로토콜을 인증하는 단계(b'')는,
    (b''-1) 투표자 단말이 식별정보(ID)을 가지고 자체인증기관에 인증요청을 하는 단계와;
    (b''-2) 자체인증기관이 임의의 난수(R)를 생성하는 단계와;
    (b''-3) 자체인증기관이 상기 임의의 난수(R), seed값 및 해쉬값(Hs)을 논리 연산을 이용하여 도전값(challenge=seed || R XOR H(H(Hs)))을 생성하고, 생성된 도전값을 도전응답(challenge-response)기법을 이용하여 투표자 단말에 전송하는 단계와;
    (b''-4) 투표자 단말은 저장된 해쉬값(Hs)을 이용하여 H(H(Hs))을 계산하고 계산된 H(H(Hs))와 상기 전송된 도전값을 논리 연산을 이용하여 상기 임의의 난수(R, 여기서 R=H(H(Hs)) XOR challenge = H(H(Hs)) XOR seed || R XOR H(H(Hs))임을 특징으로 함)을 획득하는 단계와;
    (b''-5) 투표자 단말은 상기 seed값과 다른 newSeed값을 생성하고, 생성된 newSeed값을 이용하여 응답값(response = H(H(Hs || R)) XOR H(P || Seed) || ER(newSeed || H(P || newSeed), 여기서 ER은 암호화 함수를 나타냄)을 산출하여 자체인증기관에 전송하는 단계와;
    (b''-6) 자체인증기관이 저장된 H(H(Hs || R))와 전송된 응답값(response)을 논리 연산을 이용하여 인증부분(H(P || Seed))과 암호화 부분(ER(newSeed || H(P || newSeed))만을 추출하고 암호화된 부분을 복호화하여 자체인증기관에 저장되어 있는 해쉬값(Hs)과 상기 인증부분(H(P || Seed))의 해쉬값인 H(H(P || Seed))와 같은지 확인하여 투표자 단말로부터 요청된 투표자를 인증하는 단계와;
    (b''-7) 자체인증기관이 요청된 투표자이면 식별정보(ID)에 해당하는 자체인증기관에 저장된 seed값과 H(P || seed)를 newSeed와 H(P || newSeed)의 해쉬값 H(H(P || newSeed))로 업데이트하는 단계로 이루어진 것을 특징으로 하는 개인정보 보호를 강화한 전자투표방법.
  6. 제 1 항에 있어서,
    상기 투표단계(S130)는,
    (c-1) 투표자 단말이 자신의 투표 값에 은닉계수를 계산하여 은닉투표 값을 생성하는 단계와;
    (c-2) 투표자 단말이 은닉투표 값과 인증 처리부의 전자서명을 연접하고 암호화하여 투표서버로 전송하는 단계와;
    (c-3) 투표서버가 암호화된 은닉투표값과 인증 처리부의 전자서명을 복호화하여 상기 인증 처리부의 전자서명만을 추출하는 단계와;
    (c-4) 투표서버가 인증 처리부의 공개키로 추출된 인증 처리부의 전자서명을 검증하는 단계와;
    (c-5) 검증이 성공하면 투표서버가 은닉투표 값에 대해서 전자서명을 하고 투표자에게 투표서버의 전자서명을 전송하는 단계와;
    (c-6) 투표자 단말이 은닉계수를 제거하여 상기 투표서버의 전자서명을 얻는 단계와;
    (c-7) 투표자 단말이 비트위임정보인 랜덤정수(R1,R2)와 위임정보 b를 이용하여 제 1 검증부분(H(R1,R2,b) || R1)을 생성하는 단계와;
    (c-8) 투표자 단말이 생성된 제 1 검증부분(H(R1,R2,b) || R1), 투표값(vj), 인증 처리부의 타임스탬프(Ts), 인증 처리부의 전자서명(Sa) 및 투표서버의 전자서명(Sc)을 연접 연산을 이용하여 최종 투표 데이터(v = vj || Ts || Sa || Sc || H(R1,R2,b) || R1)를 생성하는 단계와;
    (c-9) 투표자 단말이 개표서버의 공개키로 최종 투표데이터(v)를 암호화하여 전송하는 단계와;
    (c-10) 투표자 단말이 투표서버에 암호화된 최종 투표데이터(v), 인증 처리부의 전자서명(Sa) 및 투표서버의 전자서명(Sc)을 연접 연산하고 암호화하여 암호화된 최종 투표 데이터를 전송하는 단계로 이루어진 것을 특징으로 하는 개인정보 보호를 강화한 전자투표방법.
  7. 제 1 항에 있어서,
    상기 개표단계(S140)는,
    (d-1) 개표서버가 분할된 n개의 비밀키 조각을 받아서 키조각 합치기 함수를 이용하여 개표 비밀키를 복원하는 단계와;
    (d-2) 개표서버가 상기 투표서버로부터 전송된 상기 암호화된 최종 투표데이터를 전송받아 복호화하는 단계와;
    (d-3) 개표서버가 복호화된 최종 투표데이터에서 인증 처리부의 전자서명(Sa) 및 투표서버의 전자서명(Sc)을 검증하고, 투표값(vj)을 집계하고, 복호화된 최종 투표데이터에서 제 1 검증부분(H(R1,R2,b) || R1)을 분리하여 공표하는 단계로 이루어지는 것을 특징으로 하는 개인정보 보호를 강화한 전자투표방법.
  8. 제 1 항에 있어서,
    상기 개표 검증단계(S150)는,
    (e) 투표자 단말이 제 2 검증부분을 개표서버에 전송하고, 개표서버가 상기 제 2 검증부분을 상기 제 1 검증부분과 비교 검색하여 투표한 사실관계를 인정해주는 것을 특징으로 하는 개인정보 보호를 강화한 전자투표방법.
KR1020100090208A 2010-09-14 2010-09-14 개인정보 보호를 강화한 전자투표방법 KR101133183B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100090208A KR101133183B1 (ko) 2010-09-14 2010-09-14 개인정보 보호를 강화한 전자투표방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100090208A KR101133183B1 (ko) 2010-09-14 2010-09-14 개인정보 보호를 강화한 전자투표방법

Publications (2)

Publication Number Publication Date
KR20120028159A KR20120028159A (ko) 2012-03-22
KR101133183B1 true KR101133183B1 (ko) 2012-04-06

Family

ID=46133158

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100090208A KR101133183B1 (ko) 2010-09-14 2010-09-14 개인정보 보호를 강화한 전자투표방법

Country Status (1)

Country Link
KR (1) KR101133183B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102170799B1 (ko) * 2020-04-23 2020-10-27 이동건 실시간 투표 현황 관리 시스템 및 그 방법
KR102479174B1 (ko) * 2022-07-05 2022-12-20 (주)링크허브 보안 전자 서명 관리 시스템 및 그 방법

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102179421B1 (ko) * 2020-07-07 2020-11-16 (주)한국전자투표 선거 명칭을 이용한 전자 투표 방법
KR102208763B1 (ko) * 2020-07-07 2021-01-28 (주)한국전자투표 선거 명칭을 이용한 전자 투표 시스템

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050116050A (ko) * 2004-06-04 2005-12-09 학교법인고려중앙학원 투표결과의 반영 여부를 검증 가능한 전자투표 방법 및시스템

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050116050A (ko) * 2004-06-04 2005-12-09 학교법인고려중앙학원 투표결과의 반영 여부를 검증 가능한 전자투표 방법 및시스템

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
‘실용적이고 안전한 전자투표 프로토콜에 관한 연구’, 정보보호학회논문지 10, 4 (2000.12) pp.21-32
'실용적이고 안전한 전자투표 프로토콜에 관한 연구', 정보보호학회논문지 10, 4 (2000.12) pp.21-32 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102170799B1 (ko) * 2020-04-23 2020-10-27 이동건 실시간 투표 현황 관리 시스템 및 그 방법
KR102479174B1 (ko) * 2022-07-05 2022-12-20 (주)링크허브 보안 전자 서명 관리 시스템 및 그 방법

Also Published As

Publication number Publication date
KR20120028159A (ko) 2012-03-22

Similar Documents

Publication Publication Date Title
AU2021206913B2 (en) Systems and methods for distributed data sharing with asynchronous third-party attestation
CN109614818B (zh) 可授权的基于身份的带关键词搜索加密方法
US7028180B1 (en) System and method for usage of a role certificate in encryption and as a seal, digital stamp, and signature
US7694330B2 (en) Personal authentication device and system and method thereof
CN108833114A (zh) 一种基于区块链的去中心化身份认证系统及方法
EP2805298B1 (en) Methods and apparatus for reliable and privacy protecting identification of parties' mutual friends and common interests
US20050021954A1 (en) Personal authentication device and system and method thereof
CN109728903A (zh) 一种使用属性密码的区块链弱中心密码授权方法
Qureshi et al. SeVEP: Secure and verifiable electronic polling system
CN109981287A (zh) 一种代码签名方法及其存储介质
CN110298152A (zh) 一种保护用户隐私和系统安全的线上身份管理方法
JP2018137788A (ja) 構造化集合に組織化された様々な識別情報ドメインからのデータを管理及び検査する方法
Bokslag et al. Evaluating e-voting: theory and practice
KR101133183B1 (ko) 개인정보 보호를 강화한 전자투표방법
US11831778B2 (en) zkMFA: zero-knowledge based multi-factor authentication system
KR101234745B1 (ko) 유권자 개인정보 보호용 전자투표 시스템과 방법 및 그 프로그램 소스를 저장한 저장매체
EP1164745A2 (en) System and method for usage of a role certificate in encryption, and as a seal, digital stamp, and a signature
Wang et al. Fault-tolerant quantum anonymous voting protocol
KR101167647B1 (ko) 전자투표 시스템
Rahat et al. Blockchain based secured multipurpose identity (smid) management system for smart cities
US20140245412A1 (en) Linking credentials in a trust mechanism
KR101116339B1 (ko) 개인정보 보호를 강화한 전자투표장치
Patel et al. The study of digital signature authentication process
KR101139898B1 (ko) 전자투표 방법
Miramirkhani et al. FOO e-voting protocol: Inductive analysis of the eligibility property

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee