KR102524194B1 - 보안을 위해 유권자의견을 암호화하는 의견수렴 시스템 및 방법 - Google Patents

보안을 위해 유권자의견을 암호화하는 의견수렴 시스템 및 방법 Download PDF

Info

Publication number
KR102524194B1
KR102524194B1 KR1020220011613A KR20220011613A KR102524194B1 KR 102524194 B1 KR102524194 B1 KR 102524194B1 KR 1020220011613 A KR1020220011613 A KR 1020220011613A KR 20220011613 A KR20220011613 A KR 20220011613A KR 102524194 B1 KR102524194 B1 KR 102524194B1
Authority
KR
South Korea
Prior art keywords
voter
opinion
algorithm
opinions
ciphertext
Prior art date
Application number
KR1020220011613A
Other languages
English (en)
Inventor
오일환
오두환
Original Assignee
주식회사 엔티스
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 엔티스 filed Critical 주식회사 엔티스
Priority to KR1020220011613A priority Critical patent/KR102524194B1/ko
Application granted granted Critical
Publication of KR102524194B1 publication Critical patent/KR102524194B1/ko

Links

Images

Classifications

    • 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/3236Cryptographic 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 using cryptographic hash functions
    • H04L9/3239Cryptographic 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 using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/26Government or public services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Abstract

일 실시예는 유권자로부터 의견을 수렴하기 위한 보안링크-상기 보안링크는 접속주소를 암호화한 형태임-를 유권자단말기에게 송신하고, 상기 접속주소를 통해 유권자의견을 수신하며, 양방향 특성을 가지는 제1 알고리즘 및 단방향 특성을 가지는 제2 알고리즘을 통해 접속기록, 상기 유권자의견 및 보안링크정보에 대하여 제1 암호화를 수행함으로써 제1 암호문을 생성하는 의견수렴서버; 및 해시알고리즘을 통해 상기 제1 암호문에 대하여 제2 암호화를 수행함으로써 제2 암호문을 생성하고, 노드에 상기 제2 암호문을 기록하는 블록체인를 포함하는 보안을 위해 유권자의견을 암호화하는 의견수렴 시스템을 제공할 수 있다.

Description

보안을 위해 유권자의견을 암호화하는 의견수렴 시스템 및 방법{OPINION GATERING SYSTEM FOR ENCRYPTING VOTER OPINION FOR SECURITY AND METHOD THEREOF}
본 실시예는 블록체인을 이용하여 유권자의견을 암호화하는 의견수렴 시스템 및 방법에 관한 것이다.
민주주의가 발전하고 다수결의 원칙이 의사결정의 중요한 수단으로 자리매김함으로 인해, 다양한 목적으로 투표, 설문조사 등의 의견조사가 진행되고 있다. 특히, 투표는, 대통령 및 국회의원을 선출하는 경우부터 중요 국가정책을 결정하는 경우까지 다양한 목적으로 진행될 수 있다.
전통적인 투표방식은 선거일에 정해진 투표장소에 방문하여 신분확인을 거쳐 종이로 된 기표용지에 기표를 하고 투표함에 투입하는 절차로 이루어진다. 이후 투표함을 개봉하여 기표용지를 수작업으로 확인함으로써 개표가 이루어진다.
하지만 전통적인 투표방식은 시간적 및 공간적 제약을 받고 투표절차 및 개표절차 모두가 번거롭다는 문제를 가질 수 있다. 국가 차원에서 시행하는 선거는 공휴일로 지정되어 있어서 모든 유권자는 투표에 참여할 수 있도록 유도되고 있다. 반면 아파트 동대표선출과 같은 민간 차원의 선거에서 유권자는 시간을 별도로 할애하기 때문에, 투표 참여율이 매우 낮을 수 있다.
이를 위해 온라인을 통해 전자투표 또는 설문조사 등의 의견 조사를 실시하는 시스템에 대한 연구가 진행되고 있다. 즉 조사대상자가 따로 오프라인 장소에 방문하지 않더라도 모바일 단말을 이용하여 투표하거나 또는 의견을 개진함으로써, 시간적 및 공간적 제약이 없고 개표가 전산을 통해 즉시 이루어질 수 있다.
종래의 의견수렴 시스템에서 전통적인 웹서비스 형태로 투표의 결과가 중앙 서버에 저장될 수 있다. 서버 보안에 취약한 의견수렴 시스템의 경우, 해킹 또는 특정 서버 관리자에 의한 투표 결과의 조작과 같은 부정행위에 쉽게 노출될 수 있다. 그래서 특정인에 의한 투표 결과 조작을 방지하고자 종래의 의견수렴 시스템을 수정 또는 증설할 수도 있는데, 이 방식은 비용과 시간을 많이 소모한다는 단점을 가질 수 있다. 종래의 의견수렴 시스템은 이러한 근본적인 문제를 해결하지 못한 채 투표결과를 불투명하게 운영할 수 있다.
이와 관련하여, 본 실시예는 상술한 단점을 개선하기 위한 블록체인 기반의 의견수렴 시스템을 개발하기 위하여 오랜 연구를 거친 끝에 본 발명을 완성하기에 이르렀다.
이러한 배경에서, 본 실시예의 일 목적은, 블록체인을 이용한 의견수렴 시스템을 제공하는 것이다.
본 실시예의 다른 목적은, 블록체인으로부터 수신한 투표정보에 기반한 투표결과의 유효성을 검증하거나 혹은, 블록체인으로부터 수신한 투표정보에 기반한 투표결과를 이용하여 자체적으로 생성한 투표결과의 유효성을 검증하는 의견수렴 시스템을 제공하는 것이다.
본 실시예의 또 다른 목적은, 접속주소의 보안화, 의견수렴서버에서의 암호화, 블록체인에서의 재암호화를 통해 유권자의견에 다중 보안을 수행하는 의견수렴 시스템을 제공하는 것이다.
한편, 본 발명의 명시되지 않은 또 다른 목적들은 하기의 상세한 설명 및 그 효과로부터 용이하게 추론할 수 있는 범위 내에서 추가적으로 고려될 것이다.
전술한 목적을 달성하기 위하여, 일 실시예는, 유권자로부터 의견을 수렴하기 위한 보안링크-상기 보안링크는 접속주소를 암호화한 형태임-를 유권자단말기에게 송신하고, 상기 접속주소를 통해 유권자의견을 수신하며, 양방향 특성을 가지는 제1 알고리즘 및 단방향 특성을 가지는 제2 알고리즘을 통해 접속기록, 상기 유권자의견 및 보안링크정보에 대하여 제1 암호화를 수행함으로써 제1 암호문을 생성하는 의견수렴서버; 및 해시알고리즘을 통해 상기 제1 암호문에 대하여 제2 암호화를 수행함으로써 제2 암호문을 생성하고, 노드에 상기 제2 암호문을 기록하는 블록체인를 포함하는 보안을 위해 유권자의견을 암호화하는 의견수렴 시스템을 제공한다.
상기 시스템에서, 상기 제1 알고리즘은, ARIA 256알고리즘을 포함하고, 상기 제2 알고리즘은, SHA-2 256알고리즘을 포함할 수 있다.
상기 시스템에서, 상기 의견수렴서버는, 상기 접속기록, 상기 유권자의견 및 상기 보안링크정보를 묶은 평문에 대하여 상기 제1 암호화를 한 번에 수행함으로써 상기 제1 암호문을 생성할 수 있다.
상기 시스템에서, 상기 유권자의견은, 제1 및 2 안건에 대한 유권자의견을 포함하고, 상기 의견수렴서버는, 상기 접속기록, 상기 제1 및 2 안건에 대한 유권자의견 및 상기 보안링크정보를 묶은 평문에 대하여 상기 제1 암호화를 한 번에 수행함으로써 상기 제1 암호문을 생성할 수 있다.
다른 실시예는, 의견수렴서버가 유권자로부터 의견을 수렴하기 위한 보안링크를 유권자단말기에게 송신하는 단계; 상기 의견수렴서버가 상기 보안링크를 통해 유권자의견을 수신하는 단계; 상기 의견수렴서버가 양방향 특성을 가지는 제1 알고리즘 및 단방향 특성을 가지는 제2 알고리즘을 통해 접속기록, 유권자의견 및 보안링크정보에 대하여 제1 암호화를 수행함으로써 제1 암호문을 생성하는 단계; 블록체인이 해시알고리즘을 통해 상기 제1 암호문에 대하여 제2 암호화를 수행함으로써 제2 암호문을 생성하는 단계; 및 상기 블록체인이 노드에 상기 제2 암호문을 기록하는 단계를 포함하는 보안을 위해 유권자의견을 암호화하는 방법을 제공한다.
이상에서 설명한 바와 같이 본 실시예에 의하면, 블록체인의 분산형 장부와 스마트계약을 이용함으로써 해킹 및 악의적 정보조작을 방지하고 의견수렴 결과에 대한 투명성 및 보안성을 높일 수 있다.
그리고, 본 실시예에 의하면, 종래의 의견수렴 방식에 블록체인을 적용함으로써 최소한의 비용과 시간으로 익명성 및 보안성 개선의 효과를 달성할 수 있다.
그리고, 본 실시예에 의하면, 다중 암호화를 통해 의견수렴과정에서 보안성을 극대화할 수 있다.
한편, 여기에서 명시적으로 언급되지 않은 효과라 하더라도, 본 발명의 기술적 특징에 의해 기대되는 이하의 명세서에서 기재된 효과 및 그 잠정적인 효과는 본 발명의 명세서에 기재된 것과 같이 취급됨을 첨언한다.
도 1은 종래의 유권자의견을 수렴하는 방식을 설명하기 위한 도면이다.
도 2는 일 실시예에 따른 의견수렴 시스템의 구성도이다.
도 3은 일 실시예에 따른 유권자의견에 대한 암호화를 설명하기 위한 도면이다.
도 4는 일 실시예에 따른 유권자의견에 대한 암호화 동작을 나타내는 흐름도이다.
도 5는 일 실시예에 따른 복수의 안건에 대한 유권자의견이 유권자단말기를 통해 수렴되는 방식을 나타내는 흐름도이다.
도 6은 다른 실시예에 따른 의견수렴 시스템의 구성도이다.
도 7은 다른 실시예에 따른 의견수렴서버 및 집계서버의 구성도이다.
도 8은 다른 실시예에 따른 의견수렴 시스템의 동작을 나타내는 흐름도이다.
도 9는 다른 실시예에 따른 도 8에 이은 의견수렴 시스템의 동작을 나타내는 흐름도이다.
첨부된 도면은 본 발명의 기술사상에 대한 이해를 위하여 참조로서 예시된 것임을 밝히며, 그것에 의해 본 발명의 권리범위가 제한되지는 아니한다.
본 발명을 설명함에 있어서 관련된 공지기능에 대하여 이 분야의 기술자에게 자명한 사항으로서 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
이하, 본 발명에 따른 실시예를 첨부도면을 참조하여 상세히 설명하기로 하며, 첨부 도면을 참조하여 설명함에 있어, 동일하거나 대응하는 구성 요소는 동일한 도면번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
도 1은 종래의 유권자의견을 수렴하는 방식을 설명하기 위한 도면이다.
도 1을 참조하면, 종래의 의견수렴 시스템(1)은 관리자단말(10), 유권자단말(20) 및 의견수렴서버(30)를 포함할 수 있다. 종래의 의견수렴 시스템(1)의 의견수렴서버(30)는 중앙집중형 방식으로 의견을 수렴할 수 있다.
종래의 의견수렴 시스템(1)에서 유권자의견은 일 서버-예를 들어 의견수렴서버(30)-로 모두 전송되어 저장될 수 있다. 상기 유권자의견은 상기 일 서버 내부의 데이터베이스 또는 별도의 데이터베이스에 저장될 수 있다. 이렇게 상기 유권자의견이 하나의 서버에 모여서 저장되는 것은 중앙집중형 방식으로 명명될 수 있다. 반면 상기 유권자의 의견이 복수의 주체-예를 들어 복수의 서버-에 흩어져서 산발적으로 저장될 수도 있는데, 이것은 분산형 방식으로 명명될 수 있다. 블록체인은 상기 분산형 방식의 대표적인 예시가 될 수 있는데, 이에 대해서는 추후 설명하도록 한다.
이하에서 수렴되는 의견의 대상은 서술식의 응답 또는 선택식의 응답이 가능한 모든 안건들을 포함할 수 있다. 개방형인 서술식의 응답에서 유권자는 자신의 생각을 제약없이 자유롭게 표출할 수 있고, 이러한 유권자의견은 의견수렴서버(30)에 전달될 수 있다. 폐쇄형인 선택식의 응답에서 유권자는 주어진 선택지의 한도에서 자신의 생각을 표출할 수 있고, 이러한 유권자의견 또한 의견수렴서버(30)에 전달될 수 있다.
예를 들어 서술식의 응답이 가능한 안건으로서 '아파트 단지에 필요한 시설물에 대한 수요조사'의 경우, 유권자(아파트 입주민)는 원하는 시설물을 자유롭게 표현할 수 있다. 또한 선택식의 응답이 가능한 안건으로서 '아파트대표자 선출 투표'의 경우, 유권자(아파트 입주민)는 주어진 후보자들 중에서 한 명을 선택하거나 혹은 찬성 또는 반대할 수 있다. 이하에서, 의견수렴의 대상은 후보군에서 일 후보를 선출하는 안건이고 유권자의 의견은 상기 후보군에 대한 찬성 또는 반대의 의사표시를 포함하는 것을 예시로 하여 설명할 수 있으나, 이에 한정되지 않고 본 실시예는 서술식의 응답이 가능한 안건에도 적용될 수 있다.
관리자단말(10)은 유권자정보를 의견수렴서버(30)로 송신할 수 있다. 유권자정보는 안건에 대하여 의견을 낼 수 있는 권한의 소유자에 대한 정보를 포함할 수 있다. 예를 들어 유권자정보는 투표의 정당한 권한을 가지는 사람들의 인적정보를 포함할 수 있다.
의견수렴서버(30)는 유권자정보를 관리자단말(10)로부터 수신하고, 상기 유권자정보로부터 의견을 낼 수 있는 권한을 가진 사람들을 추출할 수 있다. 의견수렴서버(30)는 상기 권한을 가진 사람들이 소유하는 유권자단말기(20)에 의견개진의 요청을 할 수 있다. 예를 들어 의견수렴서버(30)는 유권자정보로부터 투표할 수 있는 권한을 가지는 유권자단말기(20)를 선별하고, 상기 선별된 유권자단말기(20)에 투표를 요청할 수 있다.
유권자단말기(20)가 의견수렴서버(30)로부터 의견개진의 요청-예를 들어 투표 요청-을 받으면, 유권자의견을 의견수렴서버(30)로 송신할 수 있다. 예를 들어 유권자는 특정 후보에 대한 찬성 또는 반대의 의사를 유권자단말기(20)를 통해 표시할 수 있다. 유권자단말기(20)는 특정 후보에 대한 의사표시를 포함하는 유권자의견을 의견수렴서버(30)로 송신할 수 있다.
도 2는 일 실시예에 따른 의견수렴 시스템의 구성도이다.
도 2를 참조하면, 일 실시예에 따른 의견수렴 시스템(이하 '시스템'이라 함, 100)은 관리자단말기(110), 유권자단말기(120), 의견수렴서버(130), 블록체인(140) 및 집계서버(150)를 포함할 수 있다. 시스템(100)은 종래의 의견수렴 시스템에 블록체인(140)을 추가적으로 포함하여 유권자의견이 해킹되거나 임의로 조작되지 않도록 보안성과 투명성을 높일 수 있다. 여기서 관리자단말기(110), 유권자단말기(120) 및 의견수렴서버(130)는 종래의 의견수렴 시스템에서처럼 개별적인 기능의 측면에서는 동일하나, 블록체인(140) 및 집계서버(150)와 결합하여 유기적인 기능을 수행할 수 있다.
관리자단말기(110)는 의견개진에 대한 정당한 권원을 가지는 소유자들의 리스트와 같은 유권자정보를 의견수렴서버(130)로 송신할 수 있다. 유권자정보는 안건에 대하여 의견을 낼 수 있는 권한의 소유자에 대한 정보-인적정보-를 포함할 수 있다. 예를 들어 유권자정보는 투표의 정당한 권한을 가지는 사람들의 인적정보를 포함할 수 있다.
의견수렴서버(130)는 유권자정보에 포함된 유권자를 추출하여 해당 유권자에 대응하는 유권자단말기(120)에게 유권자의견을 요청할 수 있다. 유권자의견의 요청에는 유권자가 의견을 개진할 수 있도록 돕는 정보 및 데이터가 포함될 수 있다. 예를 들어 유권자의견은 보안링크를 포함할 수 있는데, 유권자가 보안링크를 클릭(click)하면 특정 안건에 대하여 의견을 개진할 수 있는 웹페이지가 유권자단말기(120)로 제공될 수 있다.
관리자단말기(110), 유권자단말기(120), 의견수렴서버(130), 블록체인(140) 및 집계서버(150)는 유무선 네트워크로 연결되어 통신할 수 있다. 유무선 네트워크는 단말기, 서버와 같은 각각의 노드 상호 간에 정보 교환이 가능한 연결 구조를 의미하는 것으로, 이러한 네트워크의 일 예는, 인터넷(Internet), LAN(local area network), wireless LAN(local area network), WAN(wide area network), PAN(personal area Network), 3G, 4G, 5G, Wi-Fi, Bluetooth, NFC, RFID, 홈 네트워크 등이 포함되나 이에 한정되지는 않는다. 여기서 관리자단말기(110) 및 유권자단말기(120)는 유무선 네트워크를 통해 데이터통신이 가능한 전자장치로서 스마트폰, 휴대폰, 태블릿 PC, 데스크탑(desktop), 랩탑(laptop) 등 다양한 기기를 포함할 수 있으며, 이에 한정되지 않는다.
시스템(100)은 유권자의견을 수렴하는 과정에서 유권자의견을 암호화할 수 있다. 유권자의견의 암호화는 유권자의견이 위조 또는 변조되지 않도록 의견수렴 절차의 보안성을 향상시킬 수 있다.
구체적으로 의견수렴서버(130)는 특정 안건에 대하여 유권자로부터 의견을 수렴하기 위한 보안링크를 유권자단말기에게 송신할 수 있다. 상기 보안링크는 접속주소가 암호화된 형태를 가질 수 있는데, 유권자는 접속주소를 매개로 하여 웹페이지에 접근할 수 있다. 유권자는 웹페이지에 유권자의견을 남길 수 있다.
의견수렴서버(130)는 보안링크를 포함하는 유권자의견요청을 유권자단말기(120)에게 송신할 수 있다. 의견수렴서버(130)는 특수문자, 영문자 및 숫자를 조합하여 접속주소로부터 보안링크를 생성할 수 있다. 보안링크는 대략 10자리로 된 문자로 보여지고 접속주소는 복호화없이 식별될 수 없다. 보안링크는 유권자의견의 수렴을 위하여 1회 생성되고, 유권자의견의 수렴이 완료되면, 삭제될 수 있다. 여기서 보안링크는 유권자단말기(120)에 SMS(short message service) 메시지의 형태로 또는 SNS(social network service) 계정을 통해 전달될 수 있다.
유권자는 유권자단말기(120)를 통해 유권자의견을 입력하고 의견수렴서버(130)로 송신할 수 있다. 예를 들어 유권자는 SMS 메시지에 포함된 보안링크를 확인하고, 보안링크를 실행함으로써 접속주소를 매개로 특정 안건이 표시되는 웹페이지에 접근할 수 있다. 유권자는 웹페이지상에서 특정 안건에 대한 유권자의견을 입력할 수 있다.
그러면 의견수렴서버(130)는 보안링크를 통해 남겨진 유권자의견을 수신할 수 있다. 그리고 의견수렴서버(130)는 유권자의견에 대하여 암호화를 수행할 수 있다. 의견수렴서버(130)는 이 암호문을 블록체인(140)으로 전달할 수 있다. 블록체인(140)은 상기 암호문에 대하여 재암호화를 수행할 수 있다. 여기서 유권자의견은 복수회 암호화될 수 있다. 의견수렴서버(130)에서 유권자의견에 대한 암호화는 제1 암호화로, 제1 암호화로 생성된 암호문은 제1 암호문으로, 각각 명명될 수 있다. 블록체인(140)에서 제1 암호문에 대한 암호화는 제2 암호화로, 제2 암호화로 생성된 암호문은 제2 암호문으로, 각각 명명될 수 있다.
구체적으로 의견수렴서버(130)는 양방향 특성을 가지는 제1 알고리즘과, 단방향 특성을 가지는 제2 알고리즘을 이용하여 유권자의견에 대하여 암호화를 수행할 수 있다. 여기서 양방향 특성의 알고리즘은 암호화된 암호문을 복호화할 수 있는 알고리즘으로서 대칭키(비공개키) 방식과 비대칭키(공개키) 방식으로 구분될 수 있다. 대표적으로 ARIA 256 알고리즘이 양방향 알고리즘에 포함될 수 있다. 반면에 단방향 특성의 알고리즘은 암호화된 암호문을 복호화할 수 없는 알고리즘으로 이해될 수 있다. 대표적으로 SHA-2 256알고리즘 또는 해시(hash)알고리즘이 단방향 알고리즘에 포함될 수 있다. 의견수렴서버(130)는 제1 알고리즘으로서 ARIA 256 알고리즘을, 제2 알고리즘으로서 SHA-2 256알고리즘을, 각각 이용하여 제1 암호화를 수행할 수 있다. 그러면 SHA-2 256알고리즘이 단방향 특성을 가지므로, 제1 암호문은 다시 복호화될 수 없다.
그리고 블록체인(140)은 제1 암호문을 의견수렴서버(130)로부터 전달받아 제2 암호화를 수행할 수 있다. 블록체인(140)은 해시알고리즘을 이용하며 이에 따라 제2 암호문을 생성할 수 있다.
유권자의견이외에, 의견수렴서버(130) 및 블록체인(140)은 접속기록 및 보안링크정보를 더 포함하여 암호화할 수 있다. 접속기록은 접속시간, 접속주소, 접속기기-유권자단말기(120)-의 모델 및/또는 접속에 이용된 브라우저(browser) 등을 포함할 수 있다.
집계서버(150)는 유권자의견을 수집 및 저장할 수 있다. 집계서버(150)는 적어도 하나 이상이 요구되는데, 수많은 유권자들이 동시에 접속하기 때문에 동시에 많은 트래픽(traffice)을 감당해야 하기 때문이다. 본 도면에서 집계서버(150)는 2개로 도시되었으나 이에 한정되지 않고 더 많은 수의 집계서버(150)가 포함될 수 있다.
또한 일시에 많은 트래픽이 하나의 집계서버(150)로 몰리는 것을 막기 위하여 시스템(100)은 로드밸런서(load balancer, LB, 160)를 더 포함할 수 있다. 로드밸런서(160)는 유권자의 접속 트래픽을 분산할 수 있다. 트래픽이 복수의 집계서버(150)로 분산되는 경우, 복수의 집계서버(150) 중 하나는 관리서버로서의 기능을 하면서 분산되었던 유권자의견을 수집하여 최종적으로 집계할 수 있다. 그리고 이러한 관리서버로서의 집계서버(150)는 다른 집계서버(150)의 상태를 모니터링할 수 있다. 다른 집계서버(150)는 수신하는 트래픽량을 측정하여 데이터베이스로 보내거나 관리서버로 송신할 수 있다. 관리서버는 데이터베이스에 보내어지는 트래픽량에 대한 정보 또는 다른 집계서버(150)가 측정한 트래픽량에 대한 정보를 통해 트래픽의 분산을 제어할 수 있다.
또한 과도하게 집중되는 트래픽을 분산할 수 있도록 의견수렴서버(130)는 보안링크 및 이를 포함하는 SMS 메시지를 일정한 시간 간격을 두고 유권자단말기(120)로 송신할 수 있다.
한편 의견수렴서버(130)는 의견수렴의 보안성을 높이기 위하여 다음과 같은 보안정책을 수행할 수 있다. 의견수렴서버(130)는 관리자단말기(110)의 요청에 따라 유권자의견수렴결과를 관리자단말기(110)로 송신할 수 있다. 유권자의견수렴결과에는 접속기록, 유권자의 서명 및 유권자의견 등이 포함될 수 있다.
의견수렴이 종료하면, 의견수렴서버(130)는 다음날 유권자정보를 모두 삭제할 수 있고, 일정 기간-예를 들어 3개월-이 지나면 유권자의견수렴결과를 모두 삭제할 수 있다.
도 3은 일 실시예에 따른 유권자의견에 대한 암호화를 설명하기 위한 도면이다.
도 3을 참조하면, 일 실시예에 따른 시스템에서 유권자의견에 대한 암호화 과정이 도시될 수 있다. 의견수렴서버는 접속기록, 보안링크정보 및 유권자의견을 암호화하는 동시에 데이터베이스 또는 집계서버에 저장할 수 있다. 암호화한 데이터는 검증용데이터이고 암호화없이 저장된 데이터는 집계용데이터로 명명될 수 있다. 의견수렴서버는 집계용데이터를 검증용데이터와 비교함으로써 집계용데이터를 검증할 수 있다.
암호화과정에서 의견수렴서버는 접속기록, 보안링크정보 및 유권자의견을 각각 암호화하지 않는다. 의견수렴서버는 접속기록, 보안링크정보 및 유권자의견을 통합하여 제1 암호화를 수행할 수 있다. 의견수렴서버는 접속기록, 보안링크정보 및 유권자의견을 통합하여 하나의 평문을 만들고, 이 평문에 대하여 암호화를 수행할 수 있다. 그리고 블록체인 상기 평문에 대한 암호문을 재암호화하기 때문에, 블록체인 역시 접속기록, 보안링크정보 및 유권자의견을 통합하여 제2 암호화를 수행할 수 있다. 이와 같이 제1 및 2 암호화를 통해 의견수렴의 보안성을 높이는 한편 접속기록, 보안링크정보 및 유권자의견을 통합한 암호화를 통해 암호화 연산량을 줄일 수 있게 된다. 접속기록, 보안링크정보 및 유권자의견 각각을 암호화하여 블록체인에 저장하는 경우는 빈번한 암호화 연산을 요구할 수 있다.
또한 일 실시예에 따른 시스템에 따라 복수의 안건에 대하여 유권자의견을 개진하는 경우가 있을 수 있다. 제1 및 2 안건에 대해서 유권자의견도 함께 통합되어 암호화될 수 있다. 즉 제1 안건에 대한 유권자의견 및 제2 안건에 대한 유권자의견이 모두 통합되어 제1 암호화되고 이를 바탕으로 제2 암호화가 이뤄질 수 있다.
도 4는 일 실시예에 따른 유권자의견에 대한 암호화 동작을 나타내는 흐름도이다.
도 4를 참조하면, 일 실시예에 따른 시스템이 유권자의견에 대한 암호화하는 과정이 도시될 수 있다. 의견수렴서버는 유권자로부터 의견을 수렴하기 위한 접속주소를 특수문자, 영문자 및 숫자의 조합으로 표현한 보안링크를 생성하고, 보안링크를 유권자단말기로 송신할 수 있다(S401 단계).
유권자가 보안링크를 통해 유권자의견을 남기면, 의견수렴서버는 유권자의견을 수신하게 된다(S403 단계).
의견수렴서버는 양방향 특성을 가지는 제1 알고리즘 및 단방향 특성을 가지는 제2 알고리즘을 통해 접속기록, 유권자의견 및 보안링크정보에 대하여 제1 암호화를 수행함으로써 제1 암호문을 생성할 수 있다(S405 단계). 의견수렴서버는 제1 암호문을 블록체인으로 송신할 수 있다.
블록체인은 해시알고리즘을 통해 상기 제1 암호문에 대하여 제2 암호화를 수행함으로써 제2 암호문을 생성할 수 있다(S407 단계).
그리고 블록체인은 노드에 제2 암호문을 기록할 수 있다(S409 단계).
도 5는 일 실시예에 따른 복수의 안건에 대한 유권자의견이 유권자단말기를 통해 수렴되는 방식을 나타내는 흐름도이다.
도 5를 참조하면, 일 실시예에 따라 유권자가 유권자단말기를 통해 유권자의견을 작성하는 과정이 도시될 수 있다.
유권자단말기는 의견수렴서버로부터 보안링크를 수신할 수 있다(S501 단계). 의견수렴서버는 관리자단말기로부터 유권자정보를 수신하고, 유권자정보로부터 특정 안건에 대한 의견 개진 권한을 가지는 유권자를 파악할 수 있다. 관리자단말기는 유권자명부(선거인명부)를 의견수렴서버로 업로드시키면, 명부에 기입된 유권자만을 선택할 수 있다. 그러면 선택된 유권자의 휴대폰번호로 접속주소가 포함된 보안링크가 전송될 수 있다.
유권자는 유권자단말기를 통해 본인인증을 수행할 수 있다(S503 단계). 본인인증의 제1 방법으로서, 의견수렴서버가 유권자단말기로 본인인증을 요청하면 유권자는 유권자단말기를 통해 이미 약속된 문자 또는 숫자를 입력할 수 있다. 또는 유권자는 자신의 인적정보-이름, 생년월일 휴대폰번호 및/또는 통신사-를 입력할 수 있다. 본인인증의 제2 방법으로서, 브라우저의 쿠키(cookie)가 이용될 수 있다. 특히 불특정 다수가 의견을 개진하는 경우-예를 들어 설문조사의 경우- 쿠키가 중복적인 의견의 개진을 차단할 수 있다.
본인인증이 완료되면, 유권자는 유권자단말기를 통해 유권자의견을 수렴시킬 수 있다. 복수의 안건 즉, 제1 및 2 안건에 대한 의견이 요구되는 경우 유권자는 제1 안건 및 제2 안건을 처리할 수 있다(S505 단계 및 S507 단계). 여기서 제1 안건 및 제2 안건이 한 번에 출력될 수도 있고, 제1 안건 및 제2 안건이 순차적으로 출력될 수도 있다. 또한 본인인증이 안건의 처리 이전에 한 번만 요구되는 것으로 도시되었으나, 이에 한정되지 않고 각 안건의 처리마다 중간에 계속 본인인증이 요구될 수 있다.
유권자가 모든 안건에 대하여 유권자의견을 개진하면, 본인임을 증명하는 서명을 작성할 수 있다(S509 단계). 유권자단말기는 유권자의견 및 서명에 대한 정보를 의견수렴서버로 송신할 수 있다.
도 6은 다른 실시예에 따른 의견수렴 시스템의 구성도이다.
도 6을 참조하면, 다른 실시예에 따른 의견수렴 시스템(이하 '시스템'이라 함, 600)은 관리자단말기(110), 유권자단말기(120), 의견수렴서버(130), 중개서버(610), 블록체인(140) 및 집계서버(150)를 포함할 수 있다. 시스템(600)은 일 실시예에 따른 시스템(100)에 중개서버(610)를 추가적으로 포함하여 유권자의견이 해킹되거나 임의로 조작되지 않도록 보안성과 투명성을 높일 수 있다. 여기서 관리자단말기(110), 유권자단말기(120), 의견수렴서버(130), 블록체인(140) 및 집계서버(150)는 일 실시예에 따른 시스템(100)과 동일한 기능을 수행할 수 있다. 그리고 시스템(600)은 중개서버(610)와 결합하여 유기적인 기능을 수행할 수 있다.
유권자의견이 수렴되는 방식은 개방형의 서술식 응답 또는 폐쇄형의 선택식 응답이 가능하나, 이하에서는 선택식 응답-예를 들어 특정 안건에 대한 투표-을 예시로 설명하도록 한다. 물론 시스템(600)은 서술식 응답에도 적용될 수 있다.
관리자단말기(110)는 의견개진에 대한 정당한 권원을 가지는 소유자들의 리스트와 같은 유권자정보를 의견수렴서버(130)로 송신할 수 있다.
의견수렴서버(130)는 관리자단말기(110)로부터 유권자정보를 수신하고, 유권자정보에 기반하여 정당한 권원을 가지는 유권자를 위한 투표정보를 생성할 수 있다. 상기 투표정보는 유권자의 인적정보-예를 들어 이름, 주민등록번호와 같은 식별번호-, 투표할 후보군, 유권자의견 등을 포함할 수 있다. 그리고 의견수렴서버(130)는 유권자정보로부터 유권자의 인적정보를 이용할 수 있으므로, 각 유권자마다 상기 투표정보를 생성할 수 있다.
또한 투표정보에 새로운 내용이 추가되는 경우, 의견수렴서버(130)는 투표정보를 갱신하고 상기 갱신된 투표정보를 중개서버(610)로 송신할 수 있다. 상기 갱신된 투표정보는 블록체인(140)의 투표노드에 기록 및 저장될 수 있다.
의견수렴서버(130)가 투표정보 또는 상기 갱신된 투표정보를 중개서버(610)로 송신하기 위하여 에이전트(agent, 미도시)를 포함하거나 또는 웹서비스(web service)를 제공할 수 있다. 에이전트는 의견수렴서버(130)에서 유권자의견을 포함하는 투표정보를 주기적으로 취득(poll)하고, 상기 취득한 투표정보를 중개서버(610)로 송신할 수 있다. 또는 의견수렴서버(130)는 투표정보를 웹(web)에 업로드하여 중개서버(610)가 취득할 수 있도록 할 수 있다.
필요에 따라, 중개서버(610)는 의견수렴서버(130)로부터 수신한 투표정보를 다시 의견수렴서버(130)로 송신할 수 있다.
또한 의견수렴서버(130)는 유권자정보에 기반하여 블록체인(140)에 투표노드를 생성하기 위한 인증정보를 생성하고, 인증정보를 중개서버(610)로 송신할 수 있다.
여기서 투표노드는 블록체인(140)을 구성하는 복수의 노드 중 유권자의 투표정보를 분산하여 저장하는 2이상의 노드들로 이해될 수 있다. 블록체인(140)에서 일련의 투표노드들이 지정되면, 일련의 투표노드들은 각 유권자의 투표정보를 동일하게 기록 및 저장할 수 있다. 각 유권자의 투표정보가 갱신되면, 그 갱신된 내용도 동일하게 일련의 투표노드들에 기록 및 저장될 수 있다.
또한 인증정보는 중개서버(610)가 블록체인(140)에 접근하기 위하여 필요한 정보를 의미할 수 있다. 인증정보가 유효해야만, 중개서버(610)는 블록체인(140)에 접근해서 투표노드의 생성을 요청할 수 있고, 블록체인(140)은 일 유권자를 위한 투표노드를 생성할 수 있다. 인증정보는 유권자의 인적정보와 동일할 수 있으나, 대체로 유권자의 인적정보에 기반하여 의견수렴서버(130)나 중개서버(610)에서 생성되므로 인적정보와 상이할 수 있다.
중개서버(610)는 의견수렴서버(130)와 블록체인(140) 사이에 연결되어, 투표정보 및 인증정보를 중개할 수 있다. 중개서버(610)는 의견수렴서버(130)가 블록체인(140)을 이용할 수 있도록 매개 역할을 할 수 있다. 예를 들어 중개서버(610)는 API(application programming interface)기능을 가지는 서버를 포함할 수 있다. 그래서 의견수렴서버(130)가 블록체인(140)에 직접적으로 접근할 수 없거나 접근이 불가능하더라도, 중개서버(610)에 대한 접근이 가능하면 중개서버(610)는 의견수렴서버(130)의 블록체인(140)에 대한 요청을 대신하여 수행할 수 있다. 그리고 중개서버(610)는 요청의 결과를 다시 의견수렴서버(130)로 전달해 줄 수 있다.
블록체인(140)은 중개서버(610)로부터 투표정보 또는 인증정보를 수신할 수 있다. 인증정보가 유효하여 중개서버(610)의 접속도 유효한 것으로 판정되면, 블록체인(140)은 인증정보에 상응하는 유권자를 위하여 투표노드를 생성할 수 있다. 블록체인(140)은 투표정보 또는 갱신된 투표정보를 투표노드에 기록 및 저장할 수 있다. 블록체인(140)이 투표노드를 생성하면, 중개서버(610)에 투표노드 생성을 완료를 알릴 수 있다. 여기서 블록체인(140)은 투표노드의 정보-예를 들어 주소-를 중개서버(610)에 송신할 수 있다.
투표노드가 생성되면, 블록체인(140)은 유권자의견을 포함하는 투표정보를 수신하여 기록 및 저장할 수 있다. 블록체인(140)이 투표노드를 생성하는 동시에, 한편으로 의견수렴서버(130)는 유권자단말기(120)에 투표를 요청하고 유권자단말기(120)는 유권자의견을 의견수렴서버(130)로 송신할 수 있다. 예를 들어 유권자는 유권자단말기(120)을 통해 후보에 대하여 투표를 할 수 있다. 의견수렴서버(130)는 유권자의견을 투표정보에 반영함으로써 투표정보를 갱신할 수 있다. 또는 의견수렴서버(130)는 애초에 유권자의견을 반영한 투표정보를 생성할 수 있다. 의견수렴서버(130)는 투표정보 또는 갱신된 투표정보를 중개서버(610)로 송신하고, 블록체인(140)은 중개서버(610)로부터 투표정보 또는 갱신된 투표정보를 수신하여 투표노드에 기록 및 저장할 수 있다.
집계서버(150)는 블록체인(140)으로부터 유권자의견을 포함하는 투표정보를 수신하고, 상기 유권자의견을 분석하여 투표결과를 생성할 수 있다. 예를 들어 유권자가 특정 후보에 투표를 하는 경우, 투표기간이 종료하면, 집계서버(150)는 투표정보의 유권자의견으로부터 각 후보의 득표수를 산출하여 상기 득표수를 투표결과에 포함시킬 수 있다. 집계서버(150)는 투표결과를 의견수렴서버(130)로 송신할 수 있다.
의견수렴서버(130)는 집계서버(150)가 생성한 투표결과의 유효성을 검증할 수 있다. 의견수렴서버(130)는 자체적으로 다른 투표결과를 생성하고, 집계서버(150)가 생성한 투표결과를 상기 다른 투표결과와 비교할 수 있다. 여기서 집계서버(150)가 생성한 투표결과는 제1 투표결과로, 의견수렴서버(130)가 생성한 투표결과는 제2 투표결과로 정의될 수 있다. 의견수렴서버(130)는 제1 투표결과가 제2 투표결과와 일치하면 유효한 것으로 판정하고, 제1 투표결과가 제2 투표결과와 상이하면 무효로 판정할 수 있다. 또는 의견수렴서버(130)는 자체적으로 생성한 투표결과-제2 투표결과-의 유효성을 검증할 수 있다. 즉 의견수렴서버(130)는 제2 투표결과가 제1 투표결과와 일치하면 제2 투표결과가 유효한 것으로 판정하고, 제2 투표결과가 제1 투표결과와 상이하면 제2 투표결과를 무효로 판정할 수 있다.
도 7은 다른 실시예에 따른 중개서버 및 집계서버의 구성도이다.
도 7을 참조하면, 일 실시예에 따른 중개서버(610)는 수신부(611), 제어부(612) 및 송신부(613)를 포함할 수 있다.
수신부(611)는 의견을 개진할 수 있는 권한을 가지는 유권자임을 나타내는 인증정보 및 유권자의견을 포함하는 투표정보를 의견수렴서버로부터 수집할 수 있다. 여기서 유권자의견은 특정 후보에 대한 찬반의 의사표시를 포함할 수 있다. 수신부(611)는 의견수렴서버의 에이전트에 접속하거나 의견수렴서버가 제공하는 웹서비스를 이용하여 인증정보 및 투표정보를 수집할 수 있다.
송신부(613)는 인증정보 및 투표정보를 블록체인으로 송신할 수 있다. 블록체인은 인증정보를 통해 유권자의 의견 개진의 권한을 확인하고 투표정보를 기록하기 위한 투표노드를 설정할 수 있다. 블록체인은 투표노드에 투표정보를 기록 및 저장할 수 있다.
제어부(612)는, 수신부(611)가 인증정보와 투표정보를 의견수렴서버로부터 수집하고 송신부(613)가 수집된 정보를 블록체인으로 전달하도록 수신부(611) 및 송신부(613)를 제어할 수 있다.
또한 제어부(612)는 의견수렴서버와 블록체인을 중개하기 위하여 의견수렴서버의 요청과 블록체인의 응답을 처리할 수 있다. 예를 들어 중개서버(610)는 API서버로서 기능할 수 있는데, 수신부(611)를 통해 의견수렴서버의 블록체인에 대한 요청이 들어오면, 제어부(612)는 블록체인이 처리할 수 있게끔 의견수렴서버의 요청을 가공할 수 있다. 반대로 수신부(611)를 통해 의견수렴서버의 요청에 대한 블록체인의 응답이 들어오면, 제어부(612)는 의견수렴서버가 인식할 수 있게끔 블록체인의 응답을 가공할 수 있다.
한편 일 실시예에 따른 집계서버(150)는 수신부(151), 제어부(152) 및 송신부(153)를 포함할 수 있다.
수신부(151)는 블록체인의 투표노드로부터 유권자의견을 포함하는 투표정보를 수신할 수 있다. 여기서 유권자의견은 특정 후보에 대한 찬반의 의사표시를 포함할 수 있다.
제어부(152)는 유권자의견을 분석하고, 상기 분석의 결과를 포함하는 제1 투표결과를 생성할 수 있다. 예를 들어 집계서버(150)는 특정 후보가 유권자로부터 얼마나 많은 표를 획득하였는지를 산출하거나 또는 가장 많이 득표한 순서대로 순위를 매길 수 있다. 제1 투표결과는 득표수와 득표순위를 포함할 수 있다.
송신부(153)는 제1 투표결과를 의견수렴서버로 송신할 수 있다. 제1 투표결과는 의견수렴서버에서 독립적으로 생성된 제2 투표결과와 비교됨으로써 그 유효성이 검증될 수 있다. 또는 제2 투표결과의 유효성을 검증하기 위해서 제1 투표결과이 의견수렴서버에서 이용될 수 있다.
도 8은 다른 실시예에 따른 의견수렴 시스템의 동작을 나타내는 흐름도이고, 도 9는 다른 실시예에 따른 도 8에 이은 의견수렴 시스템의 동작을 나타내는 흐름도이다.
도 8 및 9를 참조하면, 시스템(600)이 특정 후보에 대한 유권자 유견을 수렴하고 투표의 결과를 분석하는 동작의 흐름이 도시된다.
관리자단말기(110)는 유권자정보를 의견수렴서버(130)에 송신할 수 있다(S402 단계).
의견수렴서버(130)는 유권자정보에 기반하여 투표정보 및 인증정보를 생성할 수 있다(S803 단계 및 S805 단계). 의견수렴서버(130)는 유권자정보 중 인적정보에 기반하여 블록체인(140)의 투표노드 생성을 위한 인증정보를 생성할 수 있다.
의견수렴서버(130)는 인증정보를 중개서버(610)로 송신하고, 중개서버(610)는 인증정보를 다시 블록체인(140)으로 송신할 수 있다(S807 단계 및 S809 단계).
블록체인(140)은 인증정보의 유효성을 판정하고, 인증정보가 유효하면 복수의 노드 중에서 일부 또는 전부를 투표노드로 설정할 수 있다(S811 단계).
한편 의견수렴서버(130)는 유권자단말기(120)에 유권자의견의 개진 즉, 투표를 요청할 수 있다(S813 단계). 유권자가 유권자단말기(120)를 통해 투표를 하면, 유권자단말기(120)는 투표의 내용이 반영된 유권자의견을 의견수렴서버(130)에 송신할 수 있다(S815 단계).
의견수렴서버(130)는 유권자의견을 이미 생성된 투표정보에 반영하여 투표정보를 갱신할 수 있다(S817 단계). 또는 의견수렴서버(130)는 애초에 유권자의견을 반영하여 투표정보를 생성할 수 있다.
의견수렴서버(130)는 투표정보를 중개서버(610)로 송신하고, 중개서버(610)는 투표정보를 다시 블록체인(140)으로 송신할 수 있다(S819 단계 및 S821 단계).
블록체인(140)은 복수의 투표노드에 투표정보를 분산하여 기록 및 저장할 수 있다(S823 단계).
집계서버(150)는 블록체인(140)으로부터 투표정보를 불러올 수 있다(S825 단계).
집계서버(150)는 상기 독출된 투표정보를 분석하여 투표결과를 생성할 수 있다(S827 단계 및 S829 단계). 예를 들어 집계서버(150)는 특정 후보가 유권자로부터 얼마나 많은 표를 획득하였는지를 산출하거나 또는 가장 많이 득표한 순서대로 순위를 매길 수 있다. 집계서버(150)는 득표수와 득표 순위를 포함하는 투표결과를 생성할 수 있다. 여기서 의견수렴서버(130)가 자체적으로 생성하는 투표결과와 구별하기 위하여, 집계서버(150)가 생성한 투표결과는 제1 투표결과로 명명될 수 있다. 집계서버(150)는 제1 투표결과를 의견수렴서버(130)로 송신할 수 있다(S831 단계).
의견수렴서버(130)는 이미 보관하던 투표정보를 토대로 투표결과를 생성할 수 있다(S833 단계). 여기서 의견수렴서버(130)가 생성한 투표결과는 제2 투표결과로 명명될 수 있다.
의견수렴서버(130)는 제2 투표결과를 이용하여 제1 투표결과의 유효성을 검증할 수 있다(S835 단계). 의견수렴서버(130)는 제1 투표결과와 제2 투표결과을 비교하고, 서로 동일하면 제1 투표결과를 유효한 것으로 인정할 수 있다. 예를 들어 의견수렴서버(130)는 제1 투표결과 및 제2 투표결과에서 각 후보의 득표수나 득표 순위가 동일하면, 제1 투표결과를 유효하다고 판정할 수 있다.
반대로 의견수렴서버(130)는 제1 투표결과를 이용하여 제2 투표결과의 유효성을 검증할 수 있다. 의견수렴서버(130)는 제1 투표결과와 제2 투표결과을 비교하고, 서로 동일하면 제2 투표결과를 유효한 것으로 인정할 수 있다. 예를 들어 의견수렴서버(130)는 제1 투표결과 및 제2 투표결과에서 각 후보의 득표수나 득표 순위가 동일하면, 제2 투표결과를 유효하다고 판정할 수 있다.
본 발명의 보호범위가 이상에서 명시적으로 설명한 실시예의 기재와 표현에 제한되는 것은 아니다. 또한, 본 발명이 속하는 기술분야에서 자명한 변경이나 치환으로 말미암아 본 발명의 보호범위가 제한될 수도 없음을 다시 한 번 첨언한다.

Claims (5)

  1. 유권자로부터 의견을 수렴하기 위한 보안링크-상기 보안링크는 접속주소를 암호화한 형태임-를 유권자단말기에게 송신하고, 상기 접속주소를 통해 유권자의견을 수신하며, 양방향 특성을 가지는 제1 알고리즘 및 단방향 특성을 가지는 제2 알고리즘을 통해 접속기록, 상기 유권자의견 및 보안링크정보에 대하여 제1 암호화를 수행함으로써 제1 암호문을 생성하는 의견수렴서버; 및
    해시알고리즘을 통해 상기 제1 암호문에 대하여 제2 암호화를 수행함으로써 제2 암호문을 생성하고, 노드에 상기 제2 암호문을 기록하는 블록체인을 포함하고,
    상기 의견수렴서버는, 상기 제1 암호화를 수행하기 위하여, 상기 접속기록, 상기 유권자의견 및 상기 보안링크정보를 통합하여 단일한 평문을 만들고, 상기 평문을 양방향 특성의 상기 제1 알고리즘으로 암호화하고 상기 제1 알고리즘으로 암호화한 결과를 단방향 특성의 제2 알고리즘으로 재암호화하여 상기 제1 암호문을 생성하거나, 혹은 상기 평문을 단방향 특성의 상기 제2 알고리즘으로 암호화하고 상기 제2 알고리즘으로 암호화한 결과를 양방향 특성의 상기 제1 알고리즘으로 재암호화하여 상기 제1 암호문을 생성하며,
    상기 블록체인은, 상기 접속기록, 상기 유권자의견 및 상기 보안링크정보가 통합적으로 양방향 특성의 상기 제1 알고리즘으로 암호화되고 단방향 특성의 상기 제2 알고리즘으로 재암호화된 상기 제1 암호문을 상기 해시알고리즘을 통해 재암호화하여 상기 제2 암호문을 생성하거나, 혹은 상기 접속기록, 상기 유권자의견 및 상기 보안링크정보가 통합적으로 단방향 특성의 상기 제2 알고리즘으로 암호화되고 양방향 특성의 상기 제1 알고리즘으로 재암호화된 상기 제1 암호문을 상기 해시알고리즘을 통해 재암호화하여 상기 제2 암호문을 생성하는 보안을 위해 유권자의견을 암호화하는 의견수렴 시스템.
  2. 제1항에 있어서,
    상기 제1 알고리즘은, ARIA 256알고리즘을 포함하고,
    상기 제2 알고리즘은, SHA-2 256알고리즘을 포함하는 보안을 위해 유권자의견을 암호화하는 의견수렴 시스템.
  3. 삭제
  4. 제1항에 있어서,
    상기 유권자의견은, 제1 및 2 안건에 대한 유권자의견을 포함하고,
    상기 의견수렴서버는, 상기 접속기록, 상기 제1 및 2 안건에 대한 유권자의견 및 상기 보안링크정보를 묶은 평문에 대하여 상기 제1 암호화를 한 번에 수행함으로써 상기 제1 암호문을 생성하는 보안을 위해 유권자의견을 암호화하는 의견수렴 시스템.
  5. 의견수렴서버가 유권자로부터 의견을 수렴하기 위한 보안링크-상기 보안링크는 접속주소를 암호화한 형태임-를 유권자단말기에게 송신하는 단계;
    상기 의견수렴서버가 상기 접속주소를 통해 유권자의견을 수신하는 단계;
    상기 의견수렴서버가 접속기록, 상기 유권자의견 및 보안링크정보를 통합하여 단일한 평문을 만드는 단계;
    상기 의견수렴서버가 양방향 특성을 가지는 제1 알고리즘 및 단방향 특성을 가지는 제2 알고리즘을 통해 상기 접속기록, 상기 유권자의견 및 상기 보안링크정보에 대하여 제1 암호화를 수행함으로써 제1 암호문을 생성하는 단계;
    블록체인이 해시알고리즘을 통해 상기 제1 암호문에 대하여 제2 암호화를 수행함으로써 제2 암호문을 생성하는 단계; 및
    상기 블록체인이 노드에 상기 제2 암호문을 기록하는 단계를 포함하고,
    상기 제1 암호문을 생성하는 단계는, 상기 제1 암호화를 수행하기 위하여, 상기 평문을 양방향 특성의 상기 제1 알고리즘으로 암호화하고 상기 제1 알고리즘으로 암호화한 결과를 단방향 특성의 제2 알고리즘으로 재암호화하여 상기 제1 암호문을 생성하거나, 혹은 상기 평문을 단방향 특성의 상기 제2 알고리즘으로 암호화하고 상기 제2 알고리즘으로 암호화한 결과를 양방향 특성의 상기 제1 알고리즘으로 재암호화하여 상기 제1 암호문을 생성하며,
    상기 제2 암호문을 생성하는 단계는, 상기 접속기록, 상기 유권자의견 및 상기 보안링크정보가 통합적으로 양방향 특성의 상기 제1 알고리즘으로 암호화되고 단방향 특성의 상기 제2 알고리즘으로 재암호화된 상기 제1 암호문을 상기 해시알고리즘을 통해 재암호화하여 상기 제2 암호문을 생성하거나, 혹은 상기 접속기록, 상기 유권자의견 및 상기 보안링크정보가 통합적으로 단방향 특성의 상기 제2 알고리즘으로 암호화되고 양방향 특성의 상기 제1 알고리즘으로 재암호화된 상기 제1 암호문을 상기 해시알고리즘을 통해 재암호화하여 상기 제2 암호문을 생성하는 보안을 위해 유권자의견을 암호화하는 방법.
KR1020220011613A 2022-01-26 2022-01-26 보안을 위해 유권자의견을 암호화하는 의견수렴 시스템 및 방법 KR102524194B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220011613A KR102524194B1 (ko) 2022-01-26 2022-01-26 보안을 위해 유권자의견을 암호화하는 의견수렴 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220011613A KR102524194B1 (ko) 2022-01-26 2022-01-26 보안을 위해 유권자의견을 암호화하는 의견수렴 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR102524194B1 true KR102524194B1 (ko) 2023-04-24

Family

ID=86142038

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220011613A KR102524194B1 (ko) 2022-01-26 2022-01-26 보안을 위해 유권자의견을 암호화하는 의견수렴 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR102524194B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101378285B1 (ko) * 2014-01-21 2014-03-25 신철우 전자 투표 시스템 및 방법
KR101908677B1 (ko) * 2017-09-29 2018-10-16 숭실대학교산학협력단 블록체인을 이용한 전자투표 관리 시스템 및 방법
KR20190125223A (ko) * 2018-04-27 2019-11-06 동상호 전자 투표 시스템 및 전자 투표 방법
WO2019234801A1 (ja) * 2018-06-04 2019-12-12 株式会社あいびし サービス提供システム及びサービス提供方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101378285B1 (ko) * 2014-01-21 2014-03-25 신철우 전자 투표 시스템 및 방법
KR101908677B1 (ko) * 2017-09-29 2018-10-16 숭실대학교산학협력단 블록체인을 이용한 전자투표 관리 시스템 및 방법
KR20190125223A (ko) * 2018-04-27 2019-11-06 동상호 전자 투표 시스템 및 전자 투표 방법
WO2019234801A1 (ja) * 2018-06-04 2019-12-12 株式会社あいびし サービス提供システム及びサービス提供方法

Similar Documents

Publication Publication Date Title
US11451544B2 (en) Systems and methods for secure online credential authentication
JP6524347B2 (ja) 情報共有システム
CN111260398B (zh) 一种广告投放控制方法、装置、电子设备及存储介质
US11212347B2 (en) Private content storage with public blockchain metadata
CN108416578A (zh) 一种区块链系统及数据处理方法
JP6273185B2 (ja) 監視情報共有システム、監視装置及びプログラム
US20220035950A1 (en) Privacy-preserving mobility as a service supported by blockchain
JP6543743B1 (ja) 管理プログラム
KR101378285B1 (ko) 전자 투표 시스템 및 방법
Zhong et al. Privacy-protected blockchain system
CN110490610A (zh) 一种基于区块链的社区管理系统
Li et al. An anonymous data reporting strategy with ensuring incentives for mobile crowd-sensing
US20090169010A1 (en) Method and system for providing data field encryption and storage
KR102143530B1 (ko) 블록체인 기반의 온라인 비밀 투표 시스템을 구축하는 전자투표 서버 및 이의 동작 방법
Sodagari Trends for mobile IoT crowdsourcing privacy and security in the big data era
Ma et al. Decentralized privacy-preserving reputation management for mobile crowdsensing
KR102014647B1 (ko) 블록체인 기반 전자투표방법
CN105743935A (zh) 资源共享装置及其方法
CN112423302B (zh) 无线网络接入方法、终端及无线接入设备
KR102524194B1 (ko) 보안을 위해 유권자의견을 암호화하는 의견수렴 시스템 및 방법
JP2015225385A (ja) 情報処理システム、情報処理方法及びプログラム
KR102457915B1 (ko) 블록체인의 스마트 컨트랙트를 이용한 전자 투표 시스템 및 방법
JP7060463B2 (ja) データ管理システム及びノード装置
Asiri A blockchain-based IoT trust model
Abd Al-Rahman et al. Design a mobile application for vehicles managing of a transportation issue

Legal Events

Date Code Title Description
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
N231 Notification of change of applicant
GRNT Written decision to grant