JP2019053712A - Electronic voting system, and, control method - Google Patents

Electronic voting system, and, control method Download PDF

Info

Publication number
JP2019053712A
JP2019053712A JP2018090310A JP2018090310A JP2019053712A JP 2019053712 A JP2019053712 A JP 2019053712A JP 2018090310 A JP2018090310 A JP 2018090310A JP 2018090310 A JP2018090310 A JP 2018090310A JP 2019053712 A JP2019053712 A JP 2019053712A
Authority
JP
Japan
Prior art keywords
voting
authentication
data
transaction data
servers
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
JP2018090310A
Other languages
Japanese (ja)
Other versions
JP7064947B2 (en
Inventor
勇二 海上
Yuji Kaijo
勇二 海上
田中 章
Akira Tanaka
章 田中
添田 純一郎
Junichiro Soeda
純一郎 添田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Intellectual Property Corp of America
Original Assignee
Panasonic Intellectual Property Corp of America
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 Panasonic Intellectual Property Corp of America filed Critical Panasonic Intellectual Property Corp of America
Priority to EP18191202.3A priority Critical patent/EP3457622B1/en
Priority to US16/115,724 priority patent/US10818122B2/en
Priority to CN201810999687.2A priority patent/CN109509287B/en
Publication of JP2019053712A publication Critical patent/JP2019053712A/en
Priority to US17/025,230 priority patent/US11875607B2/en
Application granted granted Critical
Publication of JP7064947B2 publication Critical patent/JP7064947B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

To provide an electronic voting system that allows for a secret ballot.SOLUTION: An authentication server 200a comprises: an authentication processing unit that authenticates a voter using authentication data including first ID associated with the voter and authentication information of the voter; and a first synchronization unit that synchronizes a first block chain including first transaction data indicating that the voter has been authenticated using a plurality of authentication servers 200a or the like. A voting server 300a comprises: a voting processing unit that receives voting data including second ID, which is the second ID associated with a vote voted by the voter and which is independent from the first ID, and voting information indicating voting content of the vote from a terminal; and a second synchronization unit that synchronizes a second block chain including second transaction data which is voting information included in the voting data and dummy transaction data being not associated with the vote using a plurality of voting servers 300a or the like. The terminal transmits the authentication data to the authentication server, and transmits the voting data to one voting server of the plurality of voting servers after the authentication is successfully performed.SELECTED DRAWING: Figure 1

Description

本発明は、電子投票システム、及び、制御方法に関する。   The present invention relates to an electronic voting system and a control method.

近年、一部の地方自治体において電子投票が行われている。電子投票システムでは、投票者の投票内容を秘匿にするために、投票者の認証情報と投票内容との紐付けをさせないようにする必要がある。   In recent years, electronic voting has been conducted in some local governments. In the electronic voting system, in order to keep the voter's vote contents secret, it is necessary not to associate the voter authentication information with the vote contents.

特許文献1に開示される電子投票システムでは、投票者の認証に用いられる通信端末に投票参加チケットを送信し、通信端末が投票参加チケットを匿名化して送信することで、投票者の匿名性を確保している。   In the electronic voting system disclosed in Patent Literature 1, a vote participation ticket is transmitted to a communication terminal used for voter authentication, and the communication terminal anonymizes and transmits the vote participation ticket. Secured.

また、電子投票システムは、システムの信頼性が高いこと、及び、記録されている投票内容の改変がされないことという要件の具備も必要である。非特許文献1では、システムの高信頼性、及び、投票内容の改変の防止を実現するためにブロックチェーンを用いることが開示されている。   In addition, the electronic voting system needs to have the requirement that the reliability of the system is high and that the recorded voting content is not altered. Non-Patent Document 1 discloses the use of a block chain in order to realize high reliability of the system and prevention of alteration of voting contents.

特表2011−517825号公報Special Table 2011-517825

「ブロックチェーンの分散台帳を利用した電子投票による集合知の構成」 情報処理 第57巻 第12号 pp.1204−1209“Configuration of Collective Intelligence by Electronic Voting Using Blockchain Distributed Ledger” Information Processing Vol.57 No.12 pp. 1204-1209

電子投票システムにおいて投票をブロックチェーンで管理する場合、投票結果を含むブロックチェーンを公開すると、投票者と投票内容との紐付けができてしまい、秘密投票が実現し得ないという問題がある。   When managing a vote with a block chain in an electronic voting system, there is a problem that if a block chain including a vote result is disclosed, a voter can be associated with the contents of the vote and a secret vote cannot be realized.

そこで、本発明は、秘密投票を可能とする電子投票システム等を提供する。   Therefore, the present invention provides an electronic voting system that enables secret voting.

本発明の一態様に係る電子投票システムは、端末と、複数の認証サーバと、複数の投票サーバとを備える電子投票システムであって、前記複数の認証サーバのそれぞれは、投票者に紐付けられる第一IDと、前記投票者の認証情報とを含む認証データを前記端末から受信し、受信した前記認証データを用いて前記投票者を認証する認証処理部と、前記認証処理部により前記投票者が認証されたことを示す第一取引データを含む第一ブロックチェーンを記憶している第一記憶部と、前記第一記憶部が記憶している前記第一ブロックチェーンを、前記複数の認証サーバのうち当該認証サーバを除く1以上の認証サーバと同期する第一同期部とを備え、前記複数の投票サーバのそれぞれは、前記投票者が投票する票に紐付けられる第二IDであって、前記第一IDとは独立である第二IDと、前記票の投票内容を示す投票情報とを含む投票データを前記端末から受信する投票処理部と、前記投票処理部が受信した前記投票データに含まれる前記投票情報である第二取引データと、前記投票者による投票に紐付られていないダミー票の投票内容を含む取引データであるダミー取引データとを含む第二ブロックチェーンを記憶している第二記憶部と、前記第二記憶部が記憶している前記第二ブロックチェーンを、前記複数の投票サーバのうち当該投票サーバを除く1以上の投票サーバと同期する第二同期部とを備え、前記端末は、前記認証データを生成し、生成した前記認証データを前記複数の認証サーバのうちの一の認証サーバに送信するデータ生成部を備え、前記データ生成部は、さらに、前記認証サーバに前記認証データを送信することで、前記一の認証サーバによる認証が成功した後に前記投票データを生成し、生成した前記投票データを前記複数の投票サーバのうちの一の投票サーバに送信する。   An electronic voting system according to an aspect of the present invention is an electronic voting system including a terminal, a plurality of authentication servers, and a plurality of voting servers, and each of the plurality of authentication servers is associated with a voter. Authentication data including a first ID and authentication information of the voter is received from the terminal, and the voter is authenticated by the authentication processor by authenticating the voter using the received authentication data. A first storage unit storing a first block chain including first transaction data indicating that the first authentication unit has been authenticated, and the first block chain stored in the first storage unit, the plurality of authentication servers Each of the plurality of voting servers is a second ID associated with a vote voted by the voter. A voting processing unit that receives voting data including a second ID that is independent of the first ID and voting information indicating the voting content of the vote from the terminal, and the voting data received by the voting processing unit A second block chain is stored that includes second transaction data that is the voting information included, and dummy transaction data that is transaction data including voting content of a dummy vote that is not linked to the vote by the voter. Two storage units, and a second synchronization unit that synchronizes the second block chain stored in the second storage unit with one or more voting servers other than the voting server among the plurality of voting servers, The terminal includes a data generation unit that generates the authentication data and transmits the generated authentication data to one authentication server of the plurality of authentication servers, and the data generation unit further includes: By transmitting the authentication data to the authentication server, the voting data is generated after successful authentication by the one authentication server, and the generated voting data is sent to one voting server among the plurality of voting servers. Send.

なお、これらの包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD−ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。   Note that these comprehensive or specific aspects may be realized by a system, a method, an integrated circuit, a computer program, or a recording medium such as a computer-readable CD-ROM, and the system, method, integrated circuit, and computer program. And any combination of recording media.

本発明によれば、秘密投票が可能となる。   According to the present invention, secret voting is possible.

図1は、実施の形態における電子投票システムの構成を示す模式図である。FIG. 1 is a schematic diagram illustrating a configuration of an electronic voting system according to an embodiment. 図2は、ブロックチェーンのデータ構造を示す説明図である。FIG. 2 is an explanatory diagram showing the data structure of the block chain. 図3は、取引データのデータ構造を示す説明図である。FIG. 3 is an explanatory diagram showing a data structure of transaction data. 図4は、実施の形態における投票端末の構成を示すブロック図である。FIG. 4 is a block diagram showing a configuration of the voting terminal in the embodiment. 図5は、実施の形態における認証サーバの構成を示すブロック図である。FIG. 5 is a block diagram showing a configuration of the authentication server in the embodiment. 図6は、実施の形態における投票サーバの構成を示すブロック図である。FIG. 6 is a block diagram showing the configuration of the voting server in the embodiment. 図7は、実施の形態における電子投票システムの初期化処理を示すシーケンス図である。FIG. 7 is a sequence diagram illustrating an initialization process of the electronic voting system according to the embodiment. 図8は、実施の形態における初期化処理中の認証コインの所有者を示す説明図である。FIG. 8 is an explanatory diagram showing the owner of the authentication coin during the initialization process in the embodiment. 図9は、実施の形態における初期化処理中の投票コインの所有者を示す説明図である。FIG. 9 is an explanatory diagram showing owners of voting coins during initialization processing in the embodiment. 図10は、実施の形態における電子投票システムの投票処理を示す第一のシーケンス図である。FIG. 10 is a first sequence diagram illustrating voting processing of the electronic voting system according to the embodiment. 図11は、実施の形態における電子投票システムの投票処理を示す第二のシーケンス図である。FIG. 11 is a second sequence diagram illustrating a voting process of the electronic voting system according to the embodiment. 図12は、実施の形態における投票処理中の認証コインの所有者を示す説明図である。FIG. 12 is an explanatory diagram showing the owner of the authentication coin during the voting process in the embodiment. 図13は、実施の形態における投票処理中の投票コインの所有者を示す説明図である。FIG. 13 is an explanatory diagram showing owners of voting coins during voting processing in the embodiment. 図14は、実施の形態におけるブロックに含まれる投票内容を示す説明図である。FIG. 14 is an explanatory diagram showing voting contents included in a block in the embodiment. 図15は、実施の形態における電子投票システムの投票終了処理を示すフロー図である。FIG. 15 is a flowchart showing voting end processing of the electronic voting system in the embodiment. 図16は、実施の形態における投票結果を示す説明図である。FIG. 16 is an explanatory diagram illustrating a voting result in the embodiment. 図17は、実施の形態における投票サーバによる投票結果の公開処理を示すシーケンス図である。FIG. 17 is a sequence diagram illustrating a voting result disclosure process by the voting server in the embodiment. 図18は、実施の形態における電子投票システムでの投票に用いる投票端末を示す模式図である。FIG. 18 is a schematic diagram illustrating a voting terminal used for voting in the electronic voting system according to the embodiment. 図19は、実施の形態における電子投票システムでの投票結果の公開に用いる端末を示す模式図である。FIG. 19 is a schematic diagram illustrating a terminal used for disclosing voting results in the electronic voting system according to the embodiment.

本発明の一態様に係る電子投票システムは、端末と、複数の認証サーバと、複数の投票サーバとを備える電子投票システムであって、前記複数の認証サーバのそれぞれは、投票者に紐付けられる第一IDと、前記投票者の認証情報とを含む認証データを前記端末から受信し、受信した前記認証データを用いて前記投票者を認証する認証処理部と、前記認証処理部により前記投票者が認証されたことを示す第一取引データを含む第一ブロックチェーンを記憶している第一記憶部と、前記第一記憶部が記憶している前記第一ブロックチェーンを、前記複数の認証サーバのうち当該認証サーバを除く1以上の認証サーバと同期する第一同期部とを備え、前記複数の投票サーバのそれぞれは、前記投票者が投票する票に紐付けられる第二IDであって、前記第一IDとは独立である第二IDと、前記票の投票内容を示す投票情報とを含む投票データを前記端末から受信する投票処理部と、前記投票処理部が受信した前記投票データに含まれる前記投票情報である第二取引データと、前記投票者による投票に紐付られていないダミー票の投票内容を含む取引データであるダミー取引データとを含む第二ブロックチェーンを記憶している第二記憶部と、前記第二記憶部が記憶している前記第二ブロックチェーンを、前記複数の投票サーバのうち当該投票サーバを除く1以上の投票サーバと同期する第二同期部とを備え、前記端末は、前記認証データを生成し、生成した前記認証データを前記複数の認証サーバのうちの一の認証サーバに送信するデータ生成部を備え、前記データ生成部は、さらに、前記認証サーバに前記認証データを送信することで、前記一の認証サーバによる認証が成功した後に前記投票データを生成し、生成した前記投票データを前記複数の投票サーバのうちの一の投票サーバに送信する。   An electronic voting system according to an aspect of the present invention is an electronic voting system including a terminal, a plurality of authentication servers, and a plurality of voting servers, and each of the plurality of authentication servers is associated with a voter. Authentication data including a first ID and authentication information of the voter is received from the terminal, and the voter is authenticated by the authentication processor by authenticating the voter using the received authentication data. A first storage unit storing a first block chain including first transaction data indicating that the first authentication unit has been authenticated, and the first block chain stored in the first storage unit, the plurality of authentication servers Each of the plurality of voting servers is a second ID associated with a vote voted by the voter. A voting processing unit that receives voting data including a second ID that is independent of the first ID and voting information indicating the voting content of the vote from the terminal, and the voting data received by the voting processing unit A second block chain is stored that includes second transaction data that is the voting information included, and dummy transaction data that is transaction data including voting content of a dummy vote that is not linked to the vote by the voter. Two storage units, and a second synchronization unit that synchronizes the second block chain stored in the second storage unit with one or more voting servers other than the voting server among the plurality of voting servers, The terminal includes a data generation unit that generates the authentication data and transmits the generated authentication data to one authentication server of the plurality of authentication servers, and the data generation unit further includes: By transmitting the authentication data to the authentication server, the voting data is generated after successful authentication by the one authentication server, and the generated voting data is sent to one voting server among the plurality of voting servers. Send.

上記態様によれば、電子投票システムは、正当な投票者であることの認証と、認証後に行われる投票とで、互いに独立のIDを含むデータを用いる。これにより、例えば選挙後に認証の結果と投票内容とが公開された場合でも、その投票内容の投票を行った投票者が特定されないようにすることができる。また、認証されたことを示すデータと投票内容を示すデータとをそれぞれ個別のブロックチェーンで管理することで、各データの改ざんを抑制することができる。さらに、投票内容が格納されたブロックチェーンに、投票者による投票の内容を示すデータと、投票者による投票に紐付られていないダミー票の投票内容を示すデータとが格納されているので、投票者による投票内容が特定されることが抑制される。よって、電子投票システムは、秘密投票を可能とする。   According to the above aspect, the electronic voting system uses data including IDs that are independent of each other for authentication of being a valid voter and for voting performed after authentication. Thereby, for example, even when the result of the authentication and the content of the vote are made public after the election, it is possible to prevent the voter who has voted for the content of the vote from being specified. Further, by managing the data indicating the authentication and the data indicating the contents of the voting with individual block chains, it is possible to suppress falsification of each data. Furthermore, since the blockchain storing the contents of the vote stores data indicating the contents of the vote by the voter and data indicating the contents of the vote of the dummy vote not associated with the vote by the voter, the voter It is suppressed that the content of voting by is specified. Therefore, the electronic voting system enables secret voting.

例えば、複数の投票サーバのそれぞれは、さらに、前記端末から前記投票データを受信した場合には、受信した前記投票データに含まれる前記投票内容を示す第二取引データを生成する第二取引データ生成部と、前記ダミー票の投票内容とを含む取引データである前記ダミー取引データを生成するダミーデータ生成部と、前記第二取引データ生成部が生成した1以上の前記第二取引データと、前記ダミーデータ生成部が生成した1以上の前記ダミー取引データとを含む第二ブロックを生成し、生成した前記第二ブロックを前記第二ブロックチェーンに接続する第二ブロック生成部とを備えてもよい。   For example, each of a plurality of voting servers further generates second transaction data indicating second voting data included in the received voting data when the voting data is received from the terminal. A dummy data generation unit that generates the dummy transaction data, which is transaction data including the voting content of the dummy vote, and the one or more second transaction data generated by the second transaction data generation unit, And a second block generation unit that generates a second block including the one or more dummy transaction data generated by the dummy data generation unit and connects the generated second block to the second block chain. .

上記態様によれば、電子投票システムは、投票者による投票の内容を含む取引データと、ダミー取引データとをブロックチェーンに格納する。よって、電子投票システムは、投票者によるダミー取引データを利用して、秘密投票を可能とする。   According to the above aspect, the electronic voting system stores the transaction data including the contents of the vote by the voter and the dummy transaction data in the block chain. Therefore, the electronic voting system enables secret voting using the dummy transaction data by the voter.

例えば、前記ダミーデータ生成部は、さらに、生成した前記ダミー取引データの個数を出力してもよい。   For example, the dummy data generation unit may further output the number of generated dummy transaction data.

上記態様によれば、電子投票システムは、出力されたダミー取引データの個数を、候補者の得票数から差し引くことで、実際の候補者の得票数を算出することができる。   According to the above aspect, the electronic voting system can calculate the actual number of votes of the candidate by subtracting the number of output dummy transaction data from the number of votes of the candidate.

例えば、前記ダミーデータ生成部は、予め、前記複数の投票サーバが生成する前記ダミー取引データの個数を決定し、決定した前記個数を他の投票サーバの前記ダミーデータ生成部と共有してもよい。   For example, the dummy data generation unit may determine in advance the number of dummy transaction data generated by the plurality of voting servers, and share the determined number with the dummy data generation units of other voting servers. .

上記態様によれば、電子投票システムは、複数の投票サーバにより生成するダミー取引データの個数が予め決定されているので、より確実に、予め決定された個数のダミー取引データを生成することができる。仮に生成するダミー取引データの個数が予め定められていなければ、投票者による投票がなされている最中に、生成すべきダミー取引データの個数が変動することがあり得る。これにより複数の投票サーバにおいて生成するダミー取引データの個数が変動し、投票数の算出が不正確になる要因になり得る。   According to the above aspect, since the number of dummy transaction data generated by the plurality of voting servers is determined in advance, the electronic voting system can generate the predetermined number of dummy transaction data more reliably. . If the number of dummy transaction data to be generated is not determined in advance, the number of dummy transaction data to be generated may vary while the voter is voting. As a result, the number of dummy transaction data generated in a plurality of voting servers fluctuates, which can be a factor in calculating the number of votes.

例えば、前記ダミーデータ生成部は、前記端末から前記投票データを受信した場合には、受信した前記投票データに含まれる前記投票内容とは異なる投票内容を有する前記ダミー取引データを生成してもよい。   For example, when the voting data is received from the terminal, the dummy data generating unit may generate the dummy transaction data having voting contents different from the voting contents included in the received voting data. .

上記態様によれば、電子投票システムは、投票者による投票と異なる投票内容を有するダミー取引データをブロックチェーンに格納するので、候補者ごとの得票数を均一化する方向に得票数が変化する。これにより、投票者による投票の秘密性が欠如することが抑制される。   According to the above aspect, the electronic voting system stores the dummy transaction data having voting contents different from the vote by the voter in the block chain, so that the number of votes is changed in a direction to equalize the number of votes for each candidate. Thereby, it is suppressed that the secrecy of the vote by the voter is lacking.

また、本発明の一態様に係る電子投票システムは、複数の認証サーバと、複数の投票サーバとを備える電子投票システムであって、前記複数の認証サーバのそれぞれは、投票者に紐付けられる第一IDと、前記投票者の認証情報とを含む認証データを前記端末から受信し、受信した前記認証データを用いて前記投票者を認証する認証処理部と、前記認証処理部により前記投票者が認証されたことを示す第一取引データを含む第一ブロックチェーンを記憶している第一記憶部と、前記第一記憶部が記憶している前記第一ブロックチェーンを、前記複数の認証サーバのうち当該認証サーバを除く1以上の認証サーバと同期する第一同期部とを備え、前記複数の投票サーバのそれぞれは、前記投票者が投票する票に紐付けられる第二IDであって、前記第一IDとは独立である第二IDと、前記票の投票内容を示す投票情報とを含む投票データを前記端末から受信する投票処理部と、前記投票処理部が受信した前記投票データに含まれる前記投票情報である第二取引データと、前記投票者による投票に紐付られていないダミー票の投票内容を含む取引データであるダミー取引データとを含む第二ブロックチェーンを記憶している第二記憶部と、前記第二記憶部が記憶している前記第二ブロックチェーンを、前記複数の投票サーバのうち当該投票サーバを除く1以上の投票サーバと同期する第二同期部とを備えてもよい。   An electronic voting system according to an aspect of the present invention is an electronic voting system including a plurality of authentication servers and a plurality of voting servers, and each of the plurality of authentication servers is associated with a voter. An authentication processing unit that receives authentication data including one ID and authentication information of the voter from the terminal, and authenticates the voter using the received authentication data; and The first storage unit storing the first block chain including the first transaction data indicating that it has been authenticated, and the first block chain stored in the first storage unit are connected to the plurality of authentication servers. A first synchronization unit that synchronizes with one or more authentication servers excluding the authentication server, and each of the plurality of voting servers is a second ID associated with a vote voted by the voter, A voting processor that receives from the terminal voting data including a second ID that is independent of the first ID and voting information indicating the voting content of the vote, and the voting data received by the voting processor A second block chain is stored that includes second transaction data that is the voting information included, and dummy transaction data that is transaction data including voting content of a dummy vote that is not linked to the vote by the voter. A second storage unit, and a second synchronization unit that synchronizes the second block chain stored in the second storage unit with one or more voting servers other than the voting server among the plurality of voting servers. Also good.

上記態様によれば、電子投票システムは、電子投票システムに含まれない端末を用いて、上記と同様に秘密投票を可能とする。   According to the above aspect, the electronic voting system enables secret voting as described above using a terminal not included in the electronic voting system.

また、本発明の一態様に係る投票サーバの制御方法は、電子投票システムにおける複数の投票サーバのうちの一の投票サーバの制御方法であって、投票者が投票する票に紐付けられる第二IDであって、前記投票者に紐付けられる第一IDとは独立である第二IDと、前記票の投票内容を示す投票情報とを含む投票データを端末から受信し、受信した前記投票データに含まれる前記投票情報である第二取引データと、前記投票者による投票に紐付られていないダミー票の投票内容を含む取引データであるダミー取引データとを含む第二ブロックチェーンを記憶し、記憶している前記第二ブロックチェーンを、前記複数の認証サーバのうち前記一の当該投票サーバを除く1以上の投票サーバと同期し、前記端末から前記投票データを受信した場合には、受信した前記投票データに含まれる前記投票内容を示す第二取引データを生成し、生成した1以上の前記第二取引データと、生成した1以上の前記ダミー取引データとを含む第二ブロックを生成し、生成した前記第二ブロックを前記第二ブロックチェーンに接続する。   A voting server control method according to an aspect of the present invention is a voting server control method of a plurality of voting servers in an electronic voting system, and is a second method associated with a vote voted by a voter. The voting data received from the terminal is received voting data including a second ID that is independent of the first ID associated with the voter and voting information indicating the voting content of the vote. Storing a second block chain including the second transaction data that is the voting information included in the data and the dummy transaction data that is the transaction data including the voting content of the dummy vote that is not linked to the vote by the voter. The second block chain is synchronized with one or more voting servers excluding the one voting server among the plurality of authentication servers, and the voting data is received from the terminal. Includes generating the second transaction data indicating the content of the vote included in the received voting data, and including the generated one or more second transaction data and the generated one or more dummy transaction data. A block is generated, and the generated second block is connected to the second block chain.

これにより、上記電子投票システムと同様の効果を奏する。   Thereby, there exists an effect similar to the said electronic voting system.

また、本発明の一態様に係る電投票システムの制御方法は、端末と、複数の認証サーバと、複数の投票サーバとを備える電子投票システムの制御方法であって、前記複数の認証サーバのそれぞれにより、投票者に紐付けられる第一IDと、前記投票者の認証情報とを含む認証データを前記端末から受信し、受信した前記認証データを用いて前記投票者を認証し、前記投票者が認証されたことを示す第一取引データを含む第一ブロックチェーンを記憶し、記憶している前記第一ブロックチェーンを、前記複数の認証サーバのうち当該認証サーバを除く1以上の認証サーバと同期し、前記複数の投票サーバのそれぞれにより、前記投票者が投票する票に紐付けられる第二IDであって、前記第一IDとは独立である第二IDと、前記票の投票内容を示す投票情報とを含む投票データを前記端末から受信し、受信した前記投票データに含まれる前記投票情報である第二取引データと、前記投票者による投票に紐付られていないダミー票の投票内容を含む取引データであるダミー取引データとを含む第二ブロックチェーンを記憶し、記憶している前記第二ブロックチェーンを、前記複数の投票サーバのうち当該投票サーバを除く1以上の投票サーバと同期し、前記端末により、前記認証データを生成し、生成した前記認証データを前記複数の認証サーバのうちの一の認証サーバに送信し、前記認証サーバに前記認証データを送信することで、前記一の認証サーバによる認証が成功した後に前記投票データを生成し、生成した前記投票データを前記複数の投票サーバのうちの一の投票サーバに送信する。   Further, a control method for an electric voting system according to an aspect of the present invention is a control method for an electronic voting system including a terminal, a plurality of authentication servers, and a plurality of voting servers, each of the plurality of authentication servers. The authentication data including the first ID associated with the voter and the voter authentication information is received from the terminal, and the voter is authenticated using the received authentication data. Storing a first block chain including first transaction data indicating that it has been authenticated, and synchronizing the stored first block chain with one or more authentication servers excluding the authentication server among the plurality of authentication servers And a second ID associated with the vote voted by the voter by each of the plurality of voting servers, the second ID independent of the first ID, and the vote contents of the vote The voting data including the voting information to be received from the terminal, the second transaction data that is the voting information included in the received voting data, and the voting content of the dummy vote not linked to the vote by the voter A second block chain including dummy transaction data, which is transaction data included, and the stored second block chain is synchronized with one or more voting servers other than the voting server among the plurality of voting servers. The authentication data is generated by the terminal, the generated authentication data is transmitted to one authentication server of the plurality of authentication servers, and the authentication data is transmitted to the authentication server. After the authentication by the authentication server is successful, the voting data is generated, and the generated voting data is sent to one voting server among the plurality of voting servers. To trust.

これにより、上記電子投票システムと同様の効果を奏する。   Thereby, there exists an effect similar to the said electronic voting system.

なお、これらの包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD−ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムまたは記録媒体の任意な組み合わせで実現されてもよい。   Note that these comprehensive or specific aspects may be realized by a system, a method, an integrated circuit, a computer program, or a recording medium such as a computer-readable CD-ROM, and the system, method, integrated circuit, and computer program. Alternatively, it may be realized by any combination of recording media.

以下、実施の形態について、図面を参照しながら具体的に説明する。   Hereinafter, embodiments will be specifically described with reference to the drawings.

なお、以下で説明する実施の形態は、いずれも包括的または具体的な例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。   It should be noted that each of the embodiments described below shows a comprehensive or specific example. The numerical values, shapes, materials, constituent elements, arrangement positions and connecting forms of the constituent elements, steps, order of steps, and the like shown in the following embodiments are merely examples, and are not intended to limit the present invention. In addition, among the constituent elements in the following embodiments, constituent elements that are not described in the independent claims indicating the highest concept are described as optional constituent elements.

(実施の形態)
本実施の形態において、秘密投票を可能とする電子投票システムについて説明する。
(Embodiment)
In this embodiment, an electronic voting system that enables secret voting will be described.

1. システム構成
電子投票システムは、投票者に対して投票端末を用いて電子的な投票をさせるシステムである。電子投票システムは、投票端末と認証サーバとの間で投票に関する認証処理を行い、その後、投票端末と投票サーバとの間で投票処理を行う。電子投票システムが投票者による投票を受け付ける期間を投票期間ともいう。なお、電子投票システムによって投票する人を「投票者」ともいい、これに対して、投票できる権利を有する者を有権者という。
1. System Configuration The electronic voting system is a system that allows a voter to electronically vote using a voting terminal. The electronic voting system performs an authentication process regarding voting between the voting terminal and the authentication server, and then performs a voting process between the voting terminal and the voting server. A period during which the electronic voting system accepts votes by voters is also referred to as a voting period. A person who votes by an electronic voting system is also called a “voter”, and a person who has the right to vote is called a voter.

以降において、電子投票システムについて図面を参照しながら説明する。   Hereinafter, the electronic voting system will be described with reference to the drawings.

1.1 電子投票システム10の全体構成
図1は、本実施の形態に係る電子投票システム10の構成を示した図である。電子投票システム10は、投票端末100a、101a、102a、100b、101b、102b、100c、101c及び102c(投票端末100a等ともいう)と、認証サーバ200a、200b及び200c(認証サーバ200a等ともいう)と、投票サーバ300a、300b及び300c(投票サーバ300a等ともいう)とを備え、これらがネットワークNで接続されている。なお、電子投票システム10は、投票端末100a等を備えず、電子投票システム10の外部の端末、例えば投票者が保有している端末を投票端末100a等として利用してもよい。
1.1 Overall Configuration of Electronic Voting System 10 FIG. 1 is a diagram showing a configuration of the electronic voting system 10 according to the present embodiment. The electronic voting system 10 includes voting terminals 100a, 101a, 102a, 100b, 101b, 102b, 100c, 101c, and 102c (also referred to as voting terminals 100a) and authentication servers 200a, 200b, and 200c (also referred to as authentication servers 200a). And voting servers 300a, 300b, and 300c (also referred to as voting server 300a and the like), which are connected by a network N. In addition, the electronic voting system 10 may not include the voting terminal 100a or the like, and may use a terminal outside the electronic voting system 10, for example, a terminal held by a voter as the voting terminal 100a or the like.

認証サーバ200a等は、投票者が正当であるか否かの認証を行い、認証された投票者を示す情報を管理している。認証サーバ200aは、上記の認証、及び、情報の管理に公知のブロックチェーンの技術を利用している。すなわち、認証サーバ200aは、仮想的な取引(トランザクション)の対象の取引履歴をブロックチェーンによって管理している。ここでは、仮想的な取引対象としてコイン(認証コインともいう)を用いて説明するが、仮想的な取引対象はコインに限定されない。また、複数の認証サーバ200aなどは、認証コインの取引履歴を収めたブロックチェーンを共有し、相互に承認することで取引履歴の改ざんを防止している。認証コインは、認証サーバ200a等により生成され、投票端末100a等に提供される。投票者の認証が成功すると、認証コインは、投票端末100aから認証サーバ200aに提供される。認証コインの授受を認証取引ともいう。認証コインは実体を有しない仮想的なコインであり、その取引履歴が認証サーバ200a等によって管理されている。認証コインは、当該認証コインを一意に識別し得るID(識別子)を有している。認証コインのIDは、有権者に割り振られるIDに1対1に紐付けられている。認証コインのIDを認証IDともいう。   The authentication server 200a etc. authenticates whether or not the voter is valid, and manages information indicating the authenticated voter. The authentication server 200a uses a known block chain technology for the above authentication and information management. That is, the authentication server 200a manages a transaction history of a virtual transaction (transaction) as a block chain. Here, a description will be given using a coin (also referred to as an authentication coin) as a virtual transaction target, but the virtual transaction target is not limited to a coin. In addition, the plurality of authentication servers 200a and the like share a block chain that stores the transaction history of authentication coins, and prevent the transaction history from being altered by mutually approving them. The authentication coin is generated by the authentication server 200a and provided to the voting terminal 100a and the like. When the voter authentication is successful, the authentication coin is provided from the voting terminal 100a to the authentication server 200a. The exchange of authentication coins is also called authentication transaction. The authentication coin is a virtual coin having no substance, and its transaction history is managed by the authentication server 200a or the like. The authentication coin has an ID (identifier) that can uniquely identify the authentication coin. The ID of the authentication coin is linked to the ID assigned to the voter on a one-to-one basis. The ID of the authentication coin is also called an authentication ID.

投票サーバ300a等は、投票者による投票内容を管理している。投票サーバ300aは、投票内容の管理に公知のブロックチェーンの技術を利用している。すなわち、投票サーバ300aは、仮想的な取引対象の取引履歴をブロックチェーンによって管理している。ここでは、仮想的な取引対象としてコイン(投票コインともいう)を用いて説明するが、仮想的な取引対象はコインに限定されない。また、複数の投票サーバ300aなどは、投票コインの取引履歴を収めたブロックチェーンを共有し、相互に承認することで取引履歴の改ざんを防止している。投票コインは、投票サーバ300aにより生成され、認証サーバ200aを経て投票端末100a等に提供される。投票コインの授受を投票取引ともいい、投票端末100aから候補者への投票コインの提供が、選挙における投票に相当する。投票コインは実体を有しない仮想的なコインであり、その取引履歴が投票サーバ300a等によって管理されている。そして、投票者による投票の際に、投票端末100aから候補者に提供される。最終的に候補者が獲得した投票コインの個数が、電子投票における候補者の得票数になる。投票コインは、従来の選挙における投票用紙に相当する。投票コインは、当該投票コインを一意に識別し得るID(識別子)を有している。投票コインのIDは、投票者が投票する票に1対1に紐付けられている。投票コインのIDを投票IDともいう。   The voting server 300a and the like manage voting contents by voters. The voting server 300a uses a known block chain technology for managing the contents of voting. In other words, the voting server 300a manages a transaction history of a virtual transaction target using a block chain. Here, a description will be given using a coin (also referred to as a voting coin) as a virtual transaction target, but the virtual transaction target is not limited to a coin. Further, the plurality of voting servers 300a and the like share a block chain containing the transaction history of voting coins, and prevent the transaction history from being altered by mutually approving them. The voting coin is generated by the voting server 300a and provided to the voting terminal 100a and the like through the authentication server 200a. The exchange of voting coins is also called a voting transaction, and the provision of voting coins from the voting terminal 100a to a candidate corresponds to voting in an election. The voting coin is a virtual coin having no substance, and its transaction history is managed by the voting server 300a or the like. And at the time of vote by a voter, it is provided to a candidate from the voting terminal 100a. The number of voting coins finally obtained by the candidate becomes the number of votes of the candidate in the electronic voting. The voting coin is equivalent to a ballot in a conventional election. The voting coin has an ID (identifier) that can uniquely identify the voting coin. The ID of the voting coin is associated with the vote voted by the voter on a one-to-one basis. The ID of the voting coin is also called a voting ID.

認証コインのIDと投票コインのIDとは、互いに独立である。   The ID of the authentication coin and the ID of the voting coin are independent from each other.

電子投票システム10は、例えば、3つのサブシステムA、B及びCに区分されている。なお、サブシステムの数は3に限られず、2以上の任意の数であってよい。   The electronic voting system 10 is divided into, for example, three subsystems A, B, and C. Note that the number of subsystems is not limited to three and may be any number of two or more.

電子投票システム10は、市町村、県又は全国規模の選挙に用いられ得るように、複数の認証サーバ200a等と、複数の投票サーバ300a等とにより処理を分散させるとともに、情報共有をしている。また、複数の認証サーバ200a同士、及び、複数の投票サーバ300a同士でブロックチェーン技術における相互の承認を行うことによって取引履歴の改ざんを防止している。   The electronic voting system 10 distributes processing and shares information with a plurality of authentication servers 200a and the like and a plurality of voting servers 300a and the like so that the electronic voting system 10 can be used for municipal, prefecture, or nationwide elections. Further, the transaction history is prevented from being falsified by performing mutual approval in the blockchain technology between the plurality of authentication servers 200a and between the plurality of voting servers 300a.

例えば、投票者が投票所に設置された投票端末100aを用いて投票をするケースでは、認証サーバ200aと投票サーバ300aとは、投票所ごとに設けられる。この場合、サブシステムA、B及びCのそれぞれが投票所に対応して設けられる。例えば、日本における全国規模の選挙では、サブシステムの数は、数万程度になり得る。   For example, in a case where a voter votes using a voting terminal 100a installed at a polling place, the authentication server 200a and the voting server 300a are provided for each polling place. In this case, each of the subsystems A, B, and C is provided corresponding to the polling place. For example, in a nationwide election in Japan, the number of subsystems can be on the order of tens of thousands.

また、投票者が自宅などでネットワーク経由で投票をするケースでは、認証サーバ200aと投票サーバ300aとは、有権者の属性(性別、居住地、職業など)ごとに設けられてもよい。この場合、サブシステムA、B及びCのそれぞれが有権者の属性それぞれに対応して設けられる。   Further, in a case where a voter votes at home or the like via a network, the authentication server 200a and the voting server 300a may be provided for each voter attribute (gender, place of residence, occupation, etc.). In this case, each of the subsystems A, B, and C is provided corresponding to each attribute of the voter.

図2は、ブロックチェーンのデータ構造を示す説明図である。   FIG. 2 is an explanatory diagram showing the data structure of the block chain.

ブロックチェーンは、その記録単位であるブロックがチェーン(鎖)上に接続されたものである。それぞれのブロックは、複数の取引データと、直前のブロックのハッシュ値とを有している。具体的には、ブロックB2には、その前のブロックB1のハッシュ値が含まれている。そして、ブロックB2に含まれる複数の取引データと、ブロックB1のハッシュ値とから演算されたハッシュ値が、ブロックB2のハッシュ値として、ブロックB3に含められる。このように、前のブロックの内容をハッシュ値として含めながら、ブロックをチェーン状に接続することで、規則された取引データの改ざんを有効に防止する。   The block chain is a block in which the recording units are connected on a chain. Each block has a plurality of transaction data and a hash value of the immediately preceding block. Specifically, the block B2 includes the hash value of the previous block B1. Then, the hash value calculated from the plurality of transaction data included in the block B2 and the hash value of the block B1 is included in the block B3 as the hash value of the block B2. In this manner, by connecting the blocks in a chain shape while including the contents of the previous block as a hash value, it is possible to effectively prevent tampering with the regular transaction data.

仮に過去の取引データが変更されると、ブロックのハッシュ値が変更前と異なる値になり、改ざんしたブロックを正しいものとみせかけるには、それ以降のブロックすべてを作り直さなければならず、この作業は現実的には非常に困難である。   If past transaction data is changed, the hash value of the block will be different from that before the change, and in order to make the altered block appear correct, all subsequent blocks must be recreated. Is very difficult in practice.

各取引データは、コインの新規生成及び授受を示している。このコインは、認証コイン及び投票コインに相当する。   Each transaction data indicates new generation and exchange of coins. This coin corresponds to an authentication coin and a voting coin.

図3は、取引データのデータ構造を示す第一の説明図である。   FIG. 3 is a first explanatory diagram showing a data structure of transaction data.

図3に示される取引データは、コインが保持者から提供先に提供されることを示す取引データD1の一例である。取引データD1は、保持者を示すアドレスP1と、提供先を示すアドレスP2と、アドレスP1及びP2のハッシュ値に対して、保持者の署名鍵で署名することで生成される電子署名P3とを含んでいる。なお、新たなコインが生成されるときにも取引データが生成される。新たなコインが生成されるときの取引データは、アドレスP1が空欄となる。   The transaction data shown in FIG. 3 is an example of transaction data D1 indicating that a coin is provided from the holder to the provider. The transaction data D1 includes an address P1 indicating the holder, an address P2 indicating the destination, and an electronic signature P3 generated by signing the hash values of the addresses P1 and P2 with the signature key of the holder. Contains. Transaction data is also generated when a new coin is generated. In the transaction data when a new coin is generated, the address P1 is blank.

以降において、投票端末100a、認証サーバ200a及び投票サーバ300aについて順に説明する。なお、他の投票端末、他の認証サーバ、及び、他の投票サーバについても同様の説明が成立する。   Hereinafter, the voting terminal 100a, the authentication server 200a, and the voting server 300a will be described in order. The same explanation holds true for other voting terminals, other authentication servers, and other voting servers.

1.2 投票端末100aの構成
投票端末100aは、投票者の認証情報、及び、投票内容の入力を投票者から受け、また、各種情報を表示する端末である。投票端末100aは、投票者が保有する携帯端末(具体的には、携帯電話端末、スマートフォン、パーソナルコンピュータ)であってもよいし、投票所に備え付けの端末であってもよい。
1.2 Configuration of Voting Terminal 100a The voting terminal 100a is a terminal that receives the voter's authentication information and voting details from the voter and displays various information. The voting terminal 100a may be a mobile terminal held by a voter (specifically, a mobile phone terminal, a smartphone, a personal computer), or a terminal provided in a polling place.

図4は、本実施の形態に係る投票端末100aの構成を示すブロック図である。投票端末100b及び100cも同様の構成である。投票端末100aは、表示部111と、入力部112と、取引データ生成部113と、通信部114とを備える。投票端末100aは、プロセッサがメモリを用いて所定のプログラムを実行することで実現され得る。   FIG. 4 is a block diagram showing a configuration of voting terminal 100a according to the present embodiment. The voting terminals 100b and 100c have the same configuration. The voting terminal 100a includes a display unit 111, an input unit 112, a transaction data generation unit 113, and a communication unit 114. The voting terminal 100a can be realized by a processor executing a predetermined program using a memory.

表示部111は、投票時の画面を表示する表示装置である。単に「画面」という場合、液晶ディスプレイ又は有機EL(Electro−Luminescence)ディスプレイなどの表示装置に表示される、画像で映し出される画面を意味する。以降でも同様である。   The display unit 111 is a display device that displays a screen during voting. When simply referred to as “screen”, it means a screen displayed as an image displayed on a display device such as a liquid crystal display or an organic EL (Electro-Luminescence) display. The same applies to the following.

入力部112は、投票時の認証情報の入力、及び、投票内容の入力を投票者から受け付ける。   The input unit 112 receives input of authentication information at the time of voting and input of voting contents from a voter.

取引データ生成部113は、投票者の認証のための認証データと、投票者による投票のための投票データとを生成する。また、取引データ生成部113は、認証に伴う認証コインの授受のための認証取引データと、投票者による投票に伴う投票コインの授受のための投票取引データとを生成する。認証データは、投票者本人に固有の認証IDを含む認証情報と、投票端末100aの電子署名(単に署名ともいう)とを含む。電子署名は、認証情報のハッシュ値を署名鍵で署名生成したものである。認証取引データは、認証コインを投票端末100aから認証サーバ200aに提供する取引を示す取引データである。認証取引データを第一取引データともいう。   The transaction data generation unit 113 generates authentication data for voter authentication and vote data for vote by the voter. Further, the transaction data generation unit 113 generates authentication transaction data for exchange of authentication coins accompanying authentication and voting transaction data for exchange of voting coins accompanying voting by a voter. The authentication data includes authentication information including an authentication ID unique to the voter and an electronic signature (also simply referred to as a signature) of the voting terminal 100a. The electronic signature is a signature generated from a hash value of authentication information using a signature key. The authentication transaction data is transaction data indicating a transaction for providing an authentication coin from the voting terminal 100a to the authentication server 200a. The authentication transaction data is also referred to as first transaction data.

また、投票データは、電子投票における投票内容と、投票端末100aの署名とを含む。投票内容は、具体的には、投票先の候補者を示す情報、又は、信任もしくは不信任などを示す情報である。投票取引データは、認証サーバ200aから提供された投票コインを、候補者に提供する取引を示す取引データである。投票取引データを第二取引データともいう。   The voting data includes the contents of voting in electronic voting and the signature of the voting terminal 100a. Specifically, the voting content is information indicating a voted candidate or information indicating confidence or non-confidence. The voting transaction data is transaction data indicating a transaction for providing a candidate with the voting coin provided from the authentication server 200a. Voting transaction data is also referred to as second transaction data.

取引データ生成部113は、認証データを生成し、生成した認証データを認証サーバ200aに送信する。また、取引データ生成部113は、認証サーバ200aに認証データを送信することで、認証サーバ200aによる認証が成功した後に投票データを生成し、生成した投票データを投票サーバ300aに送信する。   The transaction data generation unit 113 generates authentication data and transmits the generated authentication data to the authentication server 200a. Further, the transaction data generation unit 113 transmits the authentication data to the authentication server 200a, thereby generating voting data after successful authentication by the authentication server 200a, and transmits the generated voting data to the voting server 300a.

なお、投票端末100aによる署名の生成に必要な署名鍵は、あらかじめ投票端末100aが保持していてもよいし、投票者による認証情報の入力を受ける際に、認証サーバ200aから取得するとしてもよい。   Note that the signature key necessary for generating the signature by the voting terminal 100a may be held in advance by the voting terminal 100a, or may be acquired from the authentication server 200a when receiving input of authentication information by the voter. .

通信部114は、認証サーバ200a及び投票サーバ300aそれぞれとの通信を行う通信インタフェースである。この通信は、TLS(Transport Layer Security)によりなされてもよい。その場合、TLS通信用の暗号鍵は、通信部114が保持してもよい。   The communication unit 114 is a communication interface that performs communication with each of the authentication server 200a and the voting server 300a. This communication may be performed by TLS (Transport Layer Security). In that case, the communication unit 114 may hold the encryption key for TLS communication.

1.3 認証サーバ200aの構成
図5は、本実施の形態における認証サーバ200aの構成を示すブロック図である。認証サーバ200b及び200cも同様の構成である。認証サーバ200aは、画面データ生成部211と、取引データ検証部212と、取引データ生成部213と、ブロック生成部214と、同期部215と、記憶部216と、通信部217とを備える。認証サーバ200a等は、プロセッサがメモリを用いて所定のプログラムを実行することで実現され得る。
1.3 Configuration of Authentication Server 200a FIG. 5 is a block diagram showing a configuration of the authentication server 200a in the present embodiment. The authentication servers 200b and 200c have the same configuration. The authentication server 200a includes a screen data generation unit 211, a transaction data verification unit 212, a transaction data generation unit 213, a block generation unit 214, a synchronization unit 215, a storage unit 216, and a communication unit 217. The authentication server 200a and the like can be realized by a processor executing a predetermined program using a memory.

画面データ生成部211は、投票端末100aから認証のためのアクセスがあると、認証用の画面を描画するための画面データを生成する。具体的には、画面データ生成部211は、投票端末100aで、投票者から認証情報の入力を受けるための画面を描画するための画面データを生成する。   When there is an access for authentication from the voting terminal 100a, the screen data generation unit 211 generates screen data for rendering an authentication screen. Specifically, the screen data generation unit 211 generates screen data for rendering a screen for receiving input of authentication information from the voter at the voting terminal 100a.

取引データ検証部212は、投票端末100aから認証取引データを受信すると、受信した認証取引データを検証する。取引データ検証部212は、投票端末100aから認証取引データを受信すると、受信した認証取引データに含まれている署名が正当であるかを検証し、また、認証情報が正当であるかを検証する。認証情報の正当性の検証では、電子投票システム10によって事前に発行された認証情報であるか、また、投票期間中に一の認証情報が2回以上使用されていないかなどを検証する。一の認証情報が2回以上使用されていないものであるか否かは、記憶部216を参照することで、当該一の認証情報による認証の取引が記憶部216に記憶されていないものであるかどうかで確認する。取引データ検証部212は、検証処理の結果、認証情報が正当であると判定した場合には、認証取引データを記憶部216に記憶する。また、正当な認証取引データは、同期部215により、他の認証サーバ200b及び200cへ送信し、同期される。   When the transaction data verification unit 212 receives the authentication transaction data from the voting terminal 100a, the transaction data verification unit 212 verifies the received authentication transaction data. When the transaction data verification unit 212 receives the authentication transaction data from the voting terminal 100a, the transaction data verification unit 212 verifies whether the signature included in the received authentication transaction data is valid, and verifies whether the authentication information is valid. . In the verification of the authenticity of the authentication information, it is verified whether the authentication information is issued in advance by the electronic voting system 10 and whether one authentication information is used more than once during the voting period. Whether or not one authentication information has been used more than once is determined by referring to the storage unit 216, and the authentication transaction based on the one authentication information is not stored in the storage unit 216. Check whether or not. If the transaction data verification unit 212 determines that the authentication information is valid as a result of the verification process, the transaction data verification unit 212 stores the authentication transaction data in the storage unit 216. Further, the valid authentication transaction data is transmitted to the other authentication servers 200b and 200c by the synchronization unit 215 and synchronized.

また、取引データ検証部212は、投票サーバ300aから投票取引データを受信すると、投票取引データに含まれている署名が正当であるかを検証する。   Further, when receiving the voting transaction data from the voting server 300a, the transaction data verification unit 212 verifies whether the signature included in the voting transaction data is valid.

取引データ生成部213は、認証取引に係る認証取引データを生成する。取引データ生成部213は、初期化処理において、有権者の人数と同じ個数の認証コインを新たに生成する認証取引データを生成する。この時点での認証コインの所有者は、有権者それぞれである。   The transaction data generation unit 213 generates authentication transaction data related to the authentication transaction. The transaction data generating unit 213 generates authentication transaction data for newly generating the same number of authentication coins as the number of voters in the initialization process. At this time, the owner of the authentication coin is each voter.

また、取引データ生成部213は、投票サーバ300aから提供される投票コインを投票端末100aに提供する投票取引データを生成する。取引データ生成部213は、第一取引データ生成部に相当する。   Further, the transaction data generation unit 213 generates voting transaction data for providing the voting coin provided from the voting server 300a to the voting terminal 100a. Transaction data generation unit 213 corresponds to a first transaction data generation unit.

ブロック生成部214は、複数の認証サーバ200aの間でコンセンサスアルゴリズムを実行する。コンセンサスアルゴリズムは、PBFT(Practical Byzantine Fault Tolerance)とよばれるコンセンサスアルゴリズムを用いてもよいし、その他の公知のコンセンサスアルゴリズムを用いてもよい。ブロック生成部214は、一以上の認証取引に関してコンセンサスアルゴリズムで合意形成ができた場合には、認証取引データを含むブロックを生成し、記憶部216に記憶する。さらに、ブロック生成部214は、生成したブロックを、記憶部216に記憶されているブロックチェーンに接続する。ブロック生成部214は、第一ブロック生成部に相当する。   The block generation unit 214 executes a consensus algorithm among the plurality of authentication servers 200a. As the consensus algorithm, a consensus algorithm called PBFT (Practical Byzantine Fault Tolerance) may be used, or other known consensus algorithms may be used. The block generation unit 214 generates a block including the authentication transaction data and stores the block in the storage unit 216 when the consensus algorithm can be formed with respect to one or more authentication transactions. Further, the block generation unit 214 connects the generated block to the block chain stored in the storage unit 216. The block generation unit 214 corresponds to a first block generation unit.

同期部215は、複数の認証サーバ200aの間で、ブロックチェーンのブロックの同期、及び、認証取引データの同期を行う。複数の認証サーバ200aの間では、peer to peerでブロックチェーンのブロックの同期が行われる。例えば、投票端末100aから認証取引データを受信し、取引データ検証部212により認証取引データの正当性が検証されると、同期部215は、他の認証サーバ200b及び200cに認証取引データの複製を送信することによって、検証済みの認証取引データを他の認証サーバ200b及び200cの記憶部216に記憶させる。また、同期部215は、他の認証サーバ200b及び200cから認証取引データを受信したら、受信した認証取引データを記憶部216に記憶する。   The synchronization unit 215 synchronizes the blocks of the block chain and the authentication transaction data among the plurality of authentication servers 200a. Between a plurality of authentication servers 200a, blocks in the block chain are synchronized peer-to-peer. For example, when the authentication transaction data is received from the voting terminal 100a and the validity of the authentication transaction data is verified by the transaction data verification unit 212, the synchronization unit 215 copies the authentication transaction data to the other authentication servers 200b and 200c. By transmitting, the verified authentication transaction data is stored in the storage units 216 of the other authentication servers 200b and 200c. In addition, when the synchronization unit 215 receives the authentication transaction data from the other authentication servers 200b and 200c, the synchronization unit 215 stores the received authentication transaction data in the storage unit 216.

記憶部216は、認証取引データと、ブロックチェーンのブロックとを記憶する記憶装置である。記憶部216が記憶しているブロックには、ブロックを識別し得る識別子(ID)が付与されている。記憶部216が記憶しているブロックチェーンを第一ブロックチェーンともいう。   The storage unit 216 is a storage device that stores authentication transaction data and blocks of the block chain. An identifier (ID) that can identify the block is given to the block stored in the storage unit 216. The block chain stored in the storage unit 216 is also referred to as a first block chain.

通信部217は、投票端末100a及び投票サーバ300aそれぞれとの通信を行う通信インタフェースである。この通信は、TLSによりなされてもよい。その場合、TLS通信用の暗号鍵は、通信部217が保持してもよい。   The communication unit 217 is a communication interface that performs communication with each of the voting terminal 100a and the voting server 300a. This communication may be performed by TLS. In that case, the communication unit 217 may hold the encryption key for TLS communication.

なお、取引データ検証部212と取引データ生成部213とは、投票者に紐付けられる認証ID(つまり第一ID)と、投票者の認証情報とを含む認証データを投票端末100aから受信し、受信した認証データを用いて投票者を認証する認証処理部212Aに相当する。   The transaction data verification unit 212 and the transaction data generation unit 213 receive authentication data including the authentication ID (that is, the first ID) associated with the voter and the voter authentication information from the voting terminal 100a. This corresponds to the authentication processing unit 212A that authenticates the voter using the received authentication data.

1.4 投票サーバ300aの構成
図6は、本実施の形態における投票サーバ300aの構成を示すブロック図である。投票サーバ300b及び300cも同様の構成である。投票サーバ300aは、画面データ生成部311と、候補者DB(データベース)312と、取引データ検証部313と、取引データ生成部314と、ダミーデータ生成部315と、ブロック生成部316と、同期部317と、記憶部318と、通信部319とを備える。投票サーバ300aは、プロセッサがメモリを用いて所定のプログラムを実行することで実現され得る。
1.4 Configuration of Voting Server 300a FIG. 6 is a block diagram showing the configuration of the voting server 300a in the present embodiment. The voting servers 300b and 300c have the same configuration. The voting server 300a includes a screen data generation unit 311, a candidate DB (database) 312, a transaction data verification unit 313, a transaction data generation unit 314, a dummy data generation unit 315, a block generation unit 316, and a synchronization unit. 317, a storage unit 318, and a communication unit 319. The voting server 300a can be realized by a processor executing a predetermined program using a memory.

画面データ生成部311は、投票端末100aから投票のためのアクセスがあると、投票用の画面を描画するための描画データである画面データを生成する。具体的には、画面データ生成部311は、候補者DB312から候補者に関する情報を取得し、投票端末100aに表示される画面であって、投票者による投票情報の入力を受けるための画面を描画するための描画データである画面データを生成する。   When there is an access for voting from the voting terminal 100a, the screen data generation unit 311 generates screen data that is drawing data for drawing a voting screen. Specifically, the screen data generation unit 311 obtains information related to the candidate from the candidate DB 312 and displays a screen that is displayed on the voting terminal 100a for receiving vote information input by the voter. Screen data that is drawing data to be generated is generated.

候補者DB312は、候補者に関する情報が記憶されているデータベースである。候補者DB312には、少なくとも、候補者を特定する情報が記憶されている。具体的には、候補者DB312には、候補者を特定する情報として候補者の氏名を示す文字列が記憶されており、さらに当該候補者の顔写真を示す画像などが記憶されていてもよい。   The candidate DB 312 is a database in which information related to candidates is stored. The candidate DB 312 stores at least information for identifying a candidate. Specifically, the candidate DB 312 stores a character string indicating the candidate's name as information for identifying the candidate, and may further store an image or the like indicating the candidate's face photograph. .

取引データ検証部313は、投票端末100aから投票取引データを受信すると、受信した投票取引データを検証する。取引データ検証部313は、投票取引データに含まれている署名が正当であるかを検証し、また、投票情報が正当であるかを検証する。投票情報の正当性の検証では、電子投票システム10によって事前に発行された投票情報であるか、また、投票期間中に一の投票情報が2回以上使用されていないかなどを検証する。一の投票情報が2回以上使用されているか否かは、記憶部318を参照することで、当該一の投票情報が記憶部318に記憶されていないものであるかどうかで確認する。取引データ検証部313は、検証処理の結果、投票情報が正当であると判定した場合には、投票取引データを記憶部318に記録する。また、正当な投票取引データは、同期部317により、他の投票サーバ300b及び300cへ送信し、同期される。   When receiving the voting transaction data from the voting terminal 100a, the transaction data verification unit 313 verifies the received voting transaction data. The transaction data verification unit 313 verifies whether the signature included in the voting transaction data is valid and verifies whether the voting information is valid. In the verification of the validity of the voting information, it is verified whether the voting information is issued in advance by the electronic voting system 10 or whether one voting information is used more than once during the voting period. Whether one piece of voting information is used more than once is confirmed by referring to the storage unit 318 based on whether the one piece of voting information is not stored in the storage unit 318. If the transaction data verification unit 313 determines that the voting information is valid as a result of the verification process, the transaction data verification unit 313 records the voting transaction data in the storage unit 318. In addition, the valid voting transaction data is transmitted to the other voting servers 300b and 300c by the synchronization unit 317 and synchronized.

取引データ生成部314は、投票取引に係る投票取引データを生成する。取引データ生成部314は、初期化処理において、有権者の人数と同じ個数の投票コインを新たに生成する投票取引データを生成する。この時点での投票コインの所有者は、投票サーバ300aである。次に、取引データ生成部314は、認証サーバ200aに投票コインを提供する投票取引データ(第三取引データに相当)を生成する。生成する投票取引データには、提供先の投票コインの所有者を示す情報(つまり、認証サーバ200aを示す情報)と、投票サーバ300aの署名とが含まれる。認証サーバ200aに投票コインを提供する投票取引データを生成した時点で、投票コインの所有者は認証サーバ200aになる。取引データ生成部314は、第二取引データ生成部に相当する。   The transaction data generation unit 314 generates voting transaction data related to voting transactions. The transaction data generation unit 314 generates voting transaction data for newly generating the same number of voting coins as the number of voters in the initialization process. The owner of the voting coin at this time is the voting server 300a. Next, the transaction data generation unit 314 generates voting transaction data (corresponding to third transaction data) for providing voting coins to the authentication server 200a. The voting transaction data to be generated includes information indicating the owner of the voting coin of the providing destination (that is, information indicating the authentication server 200a) and the signature of the voting server 300a. When the voting transaction data for providing voting coins to the authentication server 200a is generated, the voting coin owner becomes the authentication server 200a. Transaction data generation unit 314 corresponds to a second transaction data generation unit.

ダミーデータ生成部315は、ダミーの投票コインを生成する投票取引データを生成し、ブロック生成部316にブロックを生成させる。ダミーの投票コインの投票取引データを、ダミー取引データともいう。取引データ生成部314が生成する投票取引データが、投票者による投票の投票内容を含むのに対して、ダミーデータ生成部315が生成するダミー取引データは、投票者による投票に紐付られていないダミー票の投票内容を含む。なお、ダミー取引データが示すダミー票の投票内容は、複数の候補者のうちからランダムに定めてもよいし、投票端末100a等から受信した投票データに含まれる投票内容とは異なる投票内容としてもよい。   The dummy data generation unit 315 generates voting transaction data for generating dummy voting coins, and causes the block generation unit 316 to generate blocks. The voting transaction data of dummy voting coins is also referred to as dummy transaction data. While the voting transaction data generated by the transaction data generation unit 314 includes the contents of the voting vote by the voter, the dummy transaction data generated by the dummy data generation unit 315 is a dummy that is not linked to the vote by the voter. Includes the voting content of the vote. In addition, the voting content of the dummy vote indicated by the dummy transaction data may be determined randomly from among a plurality of candidates, or may be voting content different from the voting content included in the voting data received from the voting terminal 100a or the like. Good.

また、ダミーデータ生成部315は、生成したダミーの投票コインの個数を記録しておき、投票期間が終了した後に、生成したダミーの投票コインの個数を出力する。例えば、ダミーデータ生成部315は、候補者Xへの投票に相当する投票取引データを何個生成したかを出力する。なお、ダミーデータ生成部315が生成するダミーの投票コインの個数は、事前に投票サーバ300a、300b及び300cの間で予め定めて共有しておいてもよい。   The dummy data generation unit 315 records the number of generated dummy voting coins, and outputs the number of generated dummy voting coins after the voting period ends. For example, the dummy data generation unit 315 outputs how many pieces of voting transaction data corresponding to the vote for the candidate X are generated. Note that the number of dummy voting coins generated by the dummy data generation unit 315 may be determined and shared in advance between the voting servers 300a, 300b, and 300c.

また、ダミーの投票コインを生成するタイミングは任意に定められてよい。   Moreover, the timing for generating the dummy voting coins may be arbitrarily determined.

ブロック生成部316は、複数の投票サーバ300a等の間でコンセンサスアルゴリズムを実行する。ブロック生成部316は、ダミーデータ生成部315からのコンセンサスアルゴリズムの実行依頼を基に、複数の投票サーバ300a等の間でコンセンサスアルゴリズムを実行する。コンセンサスアルゴリズムは、PBFTを用いてもよいし、その他の公知のコンセンサスアルゴリズムを用いてもよい。投票取引データに関して、コンセンサスアルゴリズムで合意形成ができた場合には、投票取引データを含むブロックを生成し、記憶部318に記憶する。さらに、ブロック生成部316は、生成したブロックを、記憶部318に記憶されているブロックチェーンに接続する。ブロック生成部316は、第二ブロック生成部に相当する。   The block generation unit 316 executes a consensus algorithm among the plurality of voting servers 300a and the like. Based on the consensus algorithm execution request from the dummy data generation unit 315, the block generation unit 316 executes the consensus algorithm among the plurality of voting servers 300a and the like. As the consensus algorithm, PBFT may be used, or other known consensus algorithms may be used. When the consensus algorithm can be formed with respect to the voting transaction data, a block including the voting transaction data is generated and stored in the storage unit 318. Further, the block generation unit 316 connects the generated block to the block chain stored in the storage unit 318. The block generation unit 316 corresponds to a second block generation unit.

また、ブロック生成部316は、認証サーバ200aに投票コインを提供する投票取引データ(第三取引データ)を含むブロック(第三ブロックに相当)を生成し、生成したブロックをブロックチェーンに接続する。第三取引データは、認証処理部212A(取引データ検証部212)が複数の有権者それぞれに対する認証をすることができる状態になったことを示す取引データである。   The block generation unit 316 generates a block (corresponding to the third block) including voting transaction data (third transaction data) for providing voting coins to the authentication server 200a, and connects the generated block to the block chain. The third transaction data is transaction data indicating that the authentication processing unit 212A (transaction data verification unit 212) can authenticate each of a plurality of voters.

また、ブロック生成部316は、認証サーバ200aから投票端末100aに投票コインを提供する投票取引データ(第四取引データ)を含むブロック(第四ブロックに相当)を生成し、生成した第四ブロックを第二ブロックチェーンに接続する。第四取引データは、認証サーバ200aにより投票者が認証されたことによって、投票端末100aが投票者による投票内容の入力を受けることができる状態になったことを示す取引データである。   In addition, the block generation unit 316 generates a block (corresponding to the fourth block) including voting transaction data (fourth transaction data) for providing voting coins from the authentication server 200a to the voting terminal 100a, and generates the generated fourth block. Connect to the second blockchain. The fourth transaction data is transaction data indicating that the voting terminal 100a can receive an input of voting content by the voter when the voter is authenticated by the authentication server 200a.

同期部317は、複数の投票サーバ300a等の間で、ブロックチェーンのブロックの同期、及び、投票取引データの同期を行う。複数の投票サーバ300aの間では、peer to peerでブロックチェーンのブロックの同期が行われる。例えば、投票端末100aから投票取引データを受信し、取引データ検証部313により投票取引データの正当性が検証されると、同期部317は、他の投票サーバ300b及び300cに投票取引データの複製を送信し、検証済みの投票取引データを他の投票サーバ300b及び300cの記憶部318に記憶させる。また、同期部317は、他の投票サーバ300b及び300cから投票取引データを受信したら、受信した投票取引データを記憶部318に記憶する。   The synchronization unit 317 synchronizes the blocks of the block chain and the voting transaction data among the plurality of voting servers 300a and the like. Between the plurality of voting servers 300a, the blocks of the block chain are synchronized by peer to peer. For example, when voting transaction data is received from the voting terminal 100a and the validity of the voting transaction data is verified by the transaction data verification unit 313, the synchronization unit 317 copies the voting transaction data to the other voting servers 300b and 300c. The voting transaction data that has been transmitted and verified is stored in the storage units 318 of the other voting servers 300b and 300c. Moreover, the synchronization part 317 will store the received voting transaction data in the memory | storage part 318, if voting transaction data are received from the other voting servers 300b and 300c.

記憶部318は、投票取引データと、ブロックチェーンのブロックとを記憶する記憶装置である。記憶部318が記憶しているブロックチェーンを第二ブロックチェーンともいう。   The storage unit 318 is a storage device that stores voting transaction data and blocks of the block chain. The block chain stored in the storage unit 318 is also referred to as a second block chain.

通信部319は、投票端末100a及び認証サーバ200aそれぞれとの通信を行う通信インタフェースである。この通信は、TLSによりなされてもよい。その場合、TLS通信用の暗号鍵は、通信部319が保持してもよい。   The communication unit 319 is a communication interface that performs communication with each of the voting terminal 100a and the authentication server 200a. This communication may be performed by TLS. In that case, the communication unit 319 may hold the encryption key for TLS communication.

なお、取引データ検証部313と取引データ生成部314とは、投票者が投票する票に紐付けられる投票ID(つまり第二ID)であって、認証IDとは独立である投票IDと、票の投票内容を示す投票情報とを含む投票データを投票端末100aから受信する投票処理部313Aに相当する。   The transaction data verification unit 313 and the transaction data generation unit 314 are a vote ID (that is, a second ID) associated with a vote voted by a voter, and a vote ID that is independent of the authentication ID, and a vote It corresponds to the voting processing unit 313A that receives the voting data including the voting information indicating the content of the voting from the voting terminal 100a.

1.5 投票端末とサーバ間の投票シーケンス
以降において、電子投票システム10による処理について説明する。ここでは、投票端末100a等と認証サーバ200a等との間で認証コインを用いて投票者の認証を行うとともに、投票端末100a等と投票サーバ300a等との間で投票コインを用いて投票を行う処理について説明する。その際、認証済みの投票者のみに投票を許可するために、投票コインは認証サーバ200aを経て投票端末100aに提供される。
1.5 Voting Sequence Between Voting Terminal and Server Hereinafter, processing by the electronic voting system 10 will be described. Here, while authenticating a voter between the voting terminal 100a and the like and the authentication server 200a using the authentication coin, the voting is performed between the voting terminal 100a and the voting server 300a using the voting coin. Processing will be described. At that time, in order to permit only the voter who has been authenticated to vote, the voting coin is provided to the voting terminal 100a through the authentication server 200a.

以降において、初期化処理、投票処理、終了処理、及び、投票結果の公開処理について順に説明する。   Hereinafter, an initialization process, a voting process, an end process, and a voting result disclosure process will be described in order.

<初期化処理>
図7は、本実施の形態における電子投票システム10の初期化処理を示すシーケンス図である。図8及び図9は、それぞれ、本実施の形態における初期化処理中の認証コイン及び投票コインの所有者を示す説明図である。認証コイン及び投票コインの所有者は、それぞれ、認証サーバ200a等及び投票サーバ300a等により管理されている。
<Initialization process>
FIG. 7 is a sequence diagram showing an initialization process of the electronic voting system 10 in the present embodiment. 8 and 9 are explanatory diagrams showing owners of authentication coins and voting coins during initialization processing in the present embodiment, respectively. The owners of the authentication coin and the voting coin are managed by the authentication server 200a and the voting server 300a, respectively.

図7に示される初期化処理は、電子投票システム10を用いる1回の選挙について、事前に1回実行される処理である。   The initialization process shown in FIG. 7 is a process executed once in advance for one election using the electronic voting system 10.

ステップS101において、認証サーバ200aは、認証初期化処理を実行する。認証初期化処理は、有権者に事前に配布されているID(有権者IDともいう)を認証IDとして有する認証コインを生成する認証取引データを生成し、生成した認証取引データを含むブロックを生成する。この段階では、認証コインの所有者は、当該有権者IDにより識別される有権者である(図8参照)。   In step S101, the authentication server 200a executes an authentication initialization process. The authentication initialization process generates authentication transaction data for generating an authentication coin having an ID (also referred to as a voter ID) distributed in advance to the voters as an authentication ID, and generates a block including the generated authentication transaction data. At this stage, the owner of the authentication coin is a voter identified by the voter ID (see FIG. 8).

ステップS102において、投票サーバ300aは、投票初期化処理を実行する。投票初期化処理は、有権者の人数と同じ個数の投票コインを生成する投票取引データを生成し、生成した投票取引データを含むブロックを生成する。この段階では、すべての投票コインの所有者は、投票サーバ300aである(図9の(a)参照)。投票コインのIDは、投票コインそれぞれを一意に識別できる文字列又は値であり、すべて異なる。投票コインのIDは、ランダムに選択される文字列又は値であってもよい。投票コインのIDがすべて異なる文字列又は値であることで、ブロックチェーンを参照したときに、同じ投票コインが二重に利用されていないものであるか否かについての確認ができる。   In step S102, the voting server 300a executes voting initialization processing. In the voting initialization process, voting transaction data for generating the same number of voting coins as the number of voters is generated, and a block including the generated voting transaction data is generated. At this stage, the owner of all the voting coins is the voting server 300a (see (a) of FIG. 9). The ID of the voting coin is a character string or a value that can uniquely identify each voting coin, and is all different. The ID of the voting coin may be a character string or a value selected at random. When all the IDs of the voting coins are different character strings or values, it is possible to confirm whether or not the same voting coin is not used twice when referring to the block chain.

また、投票サーバ300aは、将来に生成するダミーの投票コインの個数を決定し、他の投票サーバ300b及び300cと共有する。ここでは、各投票サーバは各候補者に500票ずつ投票することを示すダミーの投票取引データを生成するとして説明する。なお、投票サーバ300aは、上記で決定したダミーの投票コインの個数を出力してもよい。   Also, the voting server 300a determines the number of dummy voting coins to be generated in the future and shares it with the other voting servers 300b and 300c. Here, it is assumed that each voting server generates dummy voting transaction data indicating that each candidate will vote 500 votes each. The voting server 300a may output the number of dummy voting coins determined above.

ステップS103において、投票サーバ300aは、ステップS102で生成した投票コインを認証サーバ200cに提供する投票取引データを生成し、生成した投票取引データを含むブロックを生成する。また、生成した投票取引データを認証サーバ200cに送信する。なお、投票コインの提供先が認証サーバ200cである場合を例として説明するが、投票コインの提供先は、他の認証サーバ200a又は200bであってもよい。この段階では、認証サーバ200cに提供された投票コインの所有者を示す情報が、認証サーバ200cに変更されている(図9の(b)参照)。   In step S103, the voting server 300a generates voting transaction data for providing the voting coin generated in step S102 to the authentication server 200c, and generates a block including the generated voting transaction data. Further, the generated voting transaction data is transmitted to the authentication server 200c. In addition, although the case where the provision destination of voting coins is the authentication server 200c will be described as an example, the provision destination of voting coins may be another authentication server 200a or 200b. At this stage, the information indicating the owner of the voting coin provided to the authentication server 200c is changed to the authentication server 200c (see FIG. 9B).

ステップS104において、認証サーバ200cは、他の認証サーバ200a及び200bとの間で同期処理を行う。同期処理では、認証サーバ200cは、同期部215によって、受信した投票取引データを、他の認証サーバ200a及び200bに送信する。認証サーバ200a及び200bの同期部215は、認証サーバ200cの同期部215から受信した投票取引データを記憶する。   In step S104, the authentication server 200c performs a synchronization process with the other authentication servers 200a and 200b. In the synchronization process, the authentication server 200c transmits the received voting transaction data to the other authentication servers 200a and 200b by the synchronization unit 215. The synchronization unit 215 of the authentication servers 200a and 200b stores the voting transaction data received from the synchronization unit 215 of the authentication server 200c.

<投票処理>
図10及び図11は、本実施の形態における電子投票システム10の投票処理を示すシーケンス図である。図12及び図13は、それぞれ、本実施の形態における投票処理中の認証コイン及び投票コインの所有者を示す説明図である。
<Voting process>
10 and 11 are sequence diagrams showing the voting process of the electronic voting system 10 in the present embodiment. 12 and 13 are explanatory diagrams showing the authentication coin and the owner of the voting coin during the voting process in the present embodiment, respectively.

図10及び図11に示される投票処理は、1人の投票者が1回の投票を行うときに1回実行される処理であり、1回の選挙において投票者の人数と同じ回数だけ実行される。   The voting process shown in FIG. 10 and FIG. 11 is a process executed once when one voter makes one vote, and is executed as many times as the number of voters in one election. The

ステップS201において、投票端末100aは、認証サーバ200aにアクセスする。このアクセスは、例えば、認証サーバ200aが提供しているWebサイトへのWebアクセスであり、HTTP(Hypertext Transfer Protocol)又はHTTPS(HTTP over SSL(Secure Sockets Layer)/TLS(Transport Layer Security))などが用いられ得る。   In step S201, the voting terminal 100a accesses the authentication server 200a. This access is, for example, Web access to a Web site provided by the authentication server 200a, and HTTP (Hypertext Transfer Protocol) or HTTPS (HTTP over SSL (Secure Sockets Layer) / TLS (Transport Layer) or the like. Can be used.

ステップS202において、認証サーバ200aは、ステップS201でのアクセスに応じて、投票者の有権者IDを取得するための認証画面の画面データを生成し、投票端末100aに送信する。   In step S202, the authentication server 200a generates screen data of an authentication screen for acquiring the voter's voter ID in response to the access in step S201, and transmits the screen data to the voting terminal 100a.

ステップS203において、投票端末100aは、ステップS202で送信された画面データに基づいて認証画面を表示し、投票者の有権者IDを含む認証情報の入力を受ける。投票者は、投票端末100aに表示された認証画面を視認し、事前に配布されている有権者IDを投票端末100aに入力する。投票者は、有権者IDを手入力してもよいし、投票端末100aによって有権者IDが記録されたバーコード又は二次元コードを読み取ることで入力してもよい。   In step S203, the voting terminal 100a displays an authentication screen based on the screen data transmitted in step S202, and receives input of authentication information including the voter's voter ID. The voter visually recognizes the authentication screen displayed on the voting terminal 100a, and inputs the voter ID distributed in advance to the voting terminal 100a. The voter may manually input the voter ID, or may input the voter ID by reading the barcode or the two-dimensional code on which the voter ID is recorded by the voting terminal 100a.

ステップS204において、投票端末100aは、ステップS203で入力された有権者IDを認証IDとして用いて認証取引データを生成する。   In step S204, the voting terminal 100a generates authentication transaction data using the voter ID input in step S203 as an authentication ID.

ステップS205において、投票端末100aは、ステップS204で生成した認証取引データを認証サーバ200aへ送信する。ここでは、認証取引データを認証サーバ200aに送信する場合を例として説明するが、他の認証サーバ200b及び200cに送信してもよい。認証サーバ200aは、送信された認証取引データを受信する。   In step S205, the voting terminal 100a transmits the authentication transaction data generated in step S204 to the authentication server 200a. Here, a case where authentication transaction data is transmitted to the authentication server 200a will be described as an example, but the authentication transaction data may be transmitted to other authentication servers 200b and 200c. The authentication server 200a receives the transmitted authentication transaction data.

ステップS206において、認証サーバ200aは、ステップS205で投票端末100aから受信した認証取引データの検証を行う。認証取引データの検証では、記憶部216に記憶されている認証取引データのブロックチェーンを参照し、投票端末100aから受信した認証取引データに含まれる有権者IDが当該ブロックチェーンに既に格納されていないものであるか否かを判定する。有権者IDが当該ブロックチェーンに既に格納されていないものであると判定した場合には、認証取引データの検証に成功したとし、既に格納されていると判定した場合には、認証取引データの検証に失敗したとする。   In step S206, the authentication server 200a verifies the authentication transaction data received from the voting terminal 100a in step S205. In verification of authentication transaction data, a block chain of authentication transaction data stored in the storage unit 216 is referred to, and a voter ID included in the authentication transaction data received from the voting terminal 100a is not already stored in the block chain It is determined whether or not. If it is determined that the voter ID is not already stored in the blockchain, the verification transaction data is successfully verified. If it is determined that the voter ID is already stored, the verification transaction data is verified. Suppose it failed.

上記ステップS206で認証取引データの検証に失敗した場合には、認証サーバ200aは、エラー処理を行う(不図示)。エラー処理では、例えば、投票端末100aにエラーメッセージを通知する。エラーメッセージは、「有権者ではない」または「既に認証済みのため、同じ有権者IDは利用できない」等のメッセージを含んでもよい。また、エラー処理では、これ以降に投票端末100aによる投票データの送信などの投票処理を行うことを禁止する。   If verification of the authentication transaction data fails in step S206, the authentication server 200a performs error processing (not shown). In the error process, for example, an error message is notified to the voting terminal 100a. The error message may include a message such as “not voter” or “cannot use the same voter ID because it has already been authenticated”. Further, in error processing, subsequent voting processing such as transmission of voting data by the voting terminal 100a is prohibited.

上記ステップS206で認証取引データの検証に成功した場合には、ステップS207に進む。   If the verification of the authentication transaction data is successful in step S206, the process proceeds to step S207.

ステップS207において、認証サーバ200aは、他の認証サーバ200b及び200cに認証取引データの複製を送信する。認証サーバ200b及び200cは、受信した認証取引データを検証する。   In step S207, the authentication server 200a transmits a copy of the authentication transaction data to the other authentication servers 200b and 200c. The authentication servers 200b and 200c verify the received authentication transaction data.

ステップS208において、認証サーバ200a、200b及び200cは、コンセンサスアルゴリズムを実行する。コンセンサスアルゴリズムを実行することで、受信した認証取引データが正当な取引であることが検証される。認証サーバ200a、200b及び200cは、検証済みの認証取引データを含むブロックの生成を行う。これにより、認証済みの有権者IDを含むブロックが生成されるので、この後に同じ有権者IDを含む認証取引データを受信しても、ブロックチェーンを参照することで同一有権者IDの二重利用であることを判断することができる。この段階では、認証がなされた有権者の有権者IDを有する認証コインの所有者が認証サーバ200aに変更されている(図12参照)。   In step S208, the authentication servers 200a, 200b, and 200c execute a consensus algorithm. By executing the consensus algorithm, it is verified that the received authentication transaction data is a legitimate transaction. The authentication servers 200a, 200b, and 200c generate a block that includes verified authentication transaction data. As a result, a block including an authenticated voter ID is generated, so that even if authentication transaction data including the same voter ID is subsequently received, the same voter ID can be used by referring to the block chain. Can be judged. At this stage, the owner of the authentication coin having the voter ID of the voter who has been authenticated is changed to the authentication server 200a (see FIG. 12).

ステップS209において、認証サーバ200aは、ステップS205で認証取引データを送信した投票端末100aに投票コインを提供する投票取引データを生成し、生成した投票取引データを投票端末100a及び投票サーバ300aに送信する。   In step S209, the authentication server 200a generates voting transaction data that provides voting coins to the voting terminal 100a that has transmitted the authentication transaction data in step S205, and transmits the generated voting transaction data to the voting terminal 100a and the voting server 300a. .

ステップS210において、認証サーバ200aは、生成した投票取引データの複製を他の認証サーバ200b及び200cに送信し、投票取引データの同期をとる。認証サーバ200a、200b及び200cは、生成した投票取引データに係る投票コインを利用済みとして記録する。   In step S210, the authentication server 200a transmits a copy of the generated voting transaction data to the other authentication servers 200b and 200c, and synchronizes the voting transaction data. The authentication servers 200a, 200b, and 200c record the voting coins related to the generated voting transaction data as used.

ステップS211において、投票サーバ300aは、ステップS209で認証サーバ200aから受信した投票取引データの検証を行う。投票取引データの検証では、記憶部318に記憶されている投票取引データのブロックチェーンを参照し、認証サーバ200aから受信した投票取引データに含まれる投票IDが当該ブロックチェーンに既に格納されていないものであるか否かを判定する。投票IDが当該ブロックチェーンに既に格納されていないものであると判定した場合には、投票取引データの検証に成功したとし、既に格納されていると判定した場合には、投票取引データの検証に失敗したとする。   In step S211, the voting server 300a verifies the voting transaction data received from the authentication server 200a in step S209. In the verification of the voting transaction data, the block chain of the voting transaction data stored in the storage unit 318 is referred to, and the voting ID included in the voting transaction data received from the authentication server 200a is not already stored in the block chain. It is determined whether or not. If it is determined that the voting ID is not already stored in the blockchain, the verification of the voting transaction data is successful. If it is determined that the voting transaction data is already stored, the verification of the voting transaction data is performed. Suppose it failed.

上記ステップS211で投票取引データの検証に失敗した場合には、投票サーバ300aはエラー処理を行う(不図示)。エラー処理では、例えば、投票端末100aにエラーメッセージを通知する。エラーメッセージは、「既に投票済みのため、同じIDは利用できない」等のメッセージを含んでもよい。また、エラー処理では、これ以降に投票端末100aによる投票データの送信などの投票処理を行うことを禁止する。   If the verification of voting transaction data fails in step S211, the voting server 300a performs error processing (not shown). In the error process, for example, an error message is notified to the voting terminal 100a. The error message may include a message such as “The same ID cannot be used because it has already been voted”. Further, in error processing, subsequent voting processing such as transmission of voting data by the voting terminal 100a is prohibited.

ステップS212において、投票サーバ300aは、他の投票サーバ300b及び300cに投票取引データの複製を送信する。投票サーバ300b及び300cは、受信した投票取引データを検証する。   In step S212, the voting server 300a transmits a copy of the voting transaction data to the other voting servers 300b and 300c. The voting servers 300b and 300c verify the received voting transaction data.

ステップS213において、投票サーバ300a、300b及び300cは、コンセンサスアルゴリズムを実行する。コンセンサスアルゴリズムを実行することで、受信した投票取引データが正当な取引であることが検証される。投票サーバ300a、300b及び300cは、検証済みの投票取引データを含むブロックの生成を行う。この段階では、ステップS206で認証取引データの検証が成功した投票者に提供される投票コインの所有者が、投票端末100aに変更されている(図13の(a)参照)。   In step S213, the voting servers 300a, 300b, and 300c execute a consensus algorithm. By executing the consensus algorithm, it is verified that the received voting transaction data is a valid transaction. The voting servers 300a, 300b, and 300c generate a block that includes verified voting transaction data. At this stage, the owner of the voting coin provided to the voter who has successfully verified the authentication transaction data in step S206 is changed to the voting terminal 100a (see (a) of FIG. 13).

ステップS221において、投票端末100aは、投票サーバ300aにアクセスする。このアクセスは、例えば、投票サーバ300aが提供しているWebサイトへのWebアクセスであり、HTTP又はHTTPSなどが用いられ得る。ここでは、投票端末100aが投票サーバ300aにアクセスする場合を例として説明するが、投票サーバ300b又は300cにアクセスする場合にも同様の説明が成立する。   In step S221, the voting terminal 100a accesses the voting server 300a. This access is, for example, Web access to a Web site provided by the voting server 300a, and HTTP or HTTPS can be used. Here, a case where the voting terminal 100a accesses the voting server 300a will be described as an example, but the same description holds true when accessing the voting server 300b or 300c.

ステップS222において、投票サーバ300aは、ステップS221でのアクセスに応じて、投票者による投票のための投票画面の画面データを生成し、投票端末100aに送信する。このとき、投票サーバ300aは、候補者DB312を参照し、候補者の一覧を含む画面データを生成する。この投票画面は、投票者が投票先である候補者を選択するために閲覧する画面である。   In step S222, the voting server 300a generates screen data of a voting screen for voting by a voter in response to the access in step S221, and transmits the screen data to the voting terminal 100a. At this time, the voting server 300a refers to the candidate DB 312 and generates screen data including a list of candidates. This voting screen is a screen that the voter browses to select candidates who are voting destinations.

ステップS223において、投票端末100aは、ステップS222で送信された画面データに基づいて投票画面を表示し、投票先の候補者を示す情報の入力を受ける。投票者は、投票端末100aに表示された投票画面を視認し、投票先の候補者を示す情報である投票情報を入力する。投票者は、表示デバイスに表示された画面を操作することで投票情報を入力してもよいし、投票先の候補者の名前などの情報を手入力することで投票情報を入力してもよい。投票端末100aは、投票者から投票先の候補者を示す投票情報の入力を受けると、投票情報を含む投票取引データを生成する。これは、投票先の候補者に投票コインを提供する投票取引データである。投票端末100aは、生成した投票取引データを、投票サーバ300aに送信する。   In step S223, the voting terminal 100a displays a voting screen based on the screen data transmitted in step S222, and receives input of information indicating a voting destination candidate. The voter visually recognizes the voting screen displayed on the voting terminal 100a, and inputs the voting information that is information indicating the voting candidate. The voter may input the voting information by operating the screen displayed on the display device, or may input the voting information by manually inputting information such as the names of the candidates for the vote. . When receiving the input of voting information indicating a voting candidate from the voter, the voting terminal 100a generates voting transaction data including the voting information. This is voting transaction data that provides voting coins to candidates for voting. The voting terminal 100a transmits the generated voting transaction data to the voting server 300a.

ステップS224において、投票サーバ300aは、ステップS223で投票端末100aから受信した投票取引データの検証を行う。投票取引データの検証では、記憶部318に記憶されている投票取引データのブロックチェーンを参照し、投票端末100aから受信した投票取引データに含まれる投票IDが当該ブロックチェーンに既に格納されていないものであるか否かを判定する。投票IDが当該ブロックチェーンに既に格納されていないものであると判定した場合には、投票取引データの検証に成功したとし、既に格納されていると判定した場合には、投票取引データの検証に失敗したとする。   In step S224, the voting server 300a verifies the voting transaction data received from the voting terminal 100a in step S223. In the verification of voting transaction data, the block chain of voting transaction data stored in the storage unit 318 is referred to, and the voting ID included in the voting transaction data received from the voting terminal 100a is not already stored in the block chain It is determined whether or not. If it is determined that the voting ID is not already stored in the blockchain, the verification of the voting transaction data is successful. If it is determined that the voting transaction data is already stored, the verification of the voting transaction data is performed. Suppose it failed.

上記ステップS224で投票取引データの検証に失敗した場合には、投票サーバ300aは、エラー処理を行う(不図示)。エラー処理では、例えば、投票端末100aにエラーメッセージを通知する。エラーメッセージは、「既に投票済みのため、同じ投票IDは利用できない」等のメッセージを含んでもよい。   If the verification of the voting transaction data fails in step S224, the voting server 300a performs error processing (not shown). In the error process, for example, an error message is notified to the voting terminal 100a. The error message may include a message such as “Same vote ID cannot be used because it has already been voted”.

上記ステップS224で投票取引データの検証に成功した場合には、ステップS225に進む。   If the voting transaction data is successfully verified in step S224, the process proceeds to step S225.

ステップS225において、投票サーバ300aは、他の投票サーバ300b及び300cに投票取引データの複製を送信する。投票サーバ300b及び300cは、受信した投票取引データを検証し、記憶部318に記憶する。   In step S225, the voting server 300a transmits a copy of the voting transaction data to the other voting servers 300b and 300c. The voting servers 300b and 300c verify the received voting transaction data and store them in the storage unit 318.

ステップS226において、投票サーバ300aは、ダミーの投票コインを生成するダミー取引データを生成する。ただし、投票サーバ300aは、常に本ステップを実行するのではなく、投票期間内に生成すべきダミーの投票コインの個数として事前に定められた個数の投票コインを、投票期間のうちに生成できるように、所定回数だけ本ステップを実行するように制御する。なお、このとき、投票サーバ300a、300b及び300cのうちの任意の一台以上の投票サーバがダミー取引データを生成してもよい。   In step S226, the voting server 300a generates dummy transaction data for generating dummy voting coins. However, the voting server 300a does not always execute this step, but can generate a predetermined number of voting coins during the voting period as the number of dummy voting coins to be generated within the voting period. In addition, this step is controlled to be executed a predetermined number of times. At this time, any one or more voting servers among the voting servers 300a, 300b, and 300c may generate dummy transaction data.

ステップS227において、投票サーバ300aは、ステップS226で生成したダミーの投票取引データを、投票サーバ300b及び300cに送信することで、投票サーバ間で共有する。   In step S227, the voting server 300a transmits the dummy voting transaction data generated in step S226 to the voting servers 300b and 300c, thereby sharing the voting servers.

ステップS228において、投票サーバ300a、300b及び300cは、コンセンサスアルゴリズムを実行する。コンセンサスアルゴリズムを実行することで、受信した投票取引データが正当な取引であることが検証される。受信した投票取引データが正当な取引であると検証された場合、検証された投票取引データを含むブロックの生成を行う。これにより、投票済みの投票IDを含むブロックが生成されるので、この後に同じ投票IDを含む投票取引データを受信しても、ブロックチェーンを参照することで同一投票IDの二重利用であることを判断することができる。この段階では、投票者による投票に用いられた投票コインの所有者が、投票先の候補者である候補者Xに変更されている(図13の(b)参照)。   In step S228, the voting servers 300a, 300b, and 300c execute a consensus algorithm. By executing the consensus algorithm, it is verified that the received voting transaction data is a valid transaction. When the received voting transaction data is verified as a legitimate transaction, a block including the verified voting transaction data is generated. As a result, a block including voted vote IDs is generated, and even if voting transaction data including the same vote ID is received thereafter, the same vote ID is used by referring to the block chain. Can be judged. At this stage, the owner of the voting coin used for voting by the voter is changed to the candidate X who is the candidate for the vote (see FIG. 13B).

なお、ステップS228のコンセンサスアルゴリズムの実行は、毎回行うのではなく、所定の条件が成立した場合のみ行うようにしてもよい。所定の条件は、例えば、ブロックに含める投票取引データが匿名化に関する所定の基準、より具体的には、k−匿名化のk=2およびl−多様性のl=3を満たすという条件としてもよい。   Note that the consensus algorithm in step S228 may not be executed every time, but only when a predetermined condition is satisfied. The predetermined condition may be, for example, a condition that the voting transaction data included in the block satisfies a predetermined standard regarding anonymization, more specifically, k-anonymization k = 2 and l-diversity l = 3. Good.

図14はブロックに含まれる投票取引の一例である。   FIG. 14 is an example of a voting transaction included in the block.

図14に示されるブロックは、投票IDが101である投票コインが候補者Xに投票され、同様に、投票IDが102、103、104及び105である投票コインが、それぞれ、候補者Y、X、Z及びZに投票されたことを示す投票取引データを含む。ここで、投票IDが103である投票コインは、認証サーバ200aなどにより認証を受けた有権者による投票に相当する。一方、投票IDが101、102、104及び105である投票コインは、ダミーの投票コインである。   In the block shown in FIG. 14, the voting coin with the voting ID 101 is voted to the candidate X. Similarly, the voting coins with the voting IDs 102, 103, 104, and 105 are the candidates Y, X, respectively. , Z and voting transaction data indicating that it has been voted for Z. Here, the voting coin with the voting ID 103 corresponds to voting by a voter who has been authenticated by the authentication server 200a or the like. On the other hand, the voting coins with the voting IDs 101, 102, 104, and 105 are dummy voting coins.

図14に示されるブロックは、有権者による投票に係る投票コインと、ダミーの投票コインとを含むので、このブロックだけを見ても、有権者がどの投票を行ったかを特定することができない。   Since the block shown in FIG. 14 includes voting coins related to voting by voters and dummy voting coins, it is not possible to specify which voter has voted by looking only at this block.

このようにして、投票サーバ300aのブロックチェーンのブロックが公開された場合であっても、有権者による投票の内容が漏えいすることを防止できる。   In this way, even when the block of the block chain of the voting server 300a is released, it is possible to prevent the contents of the vote by the voter from leaking.

<終了処理>
図15は、本実施の形態における電子投票システム10の投票終了処理を示すフロー図である。図15に示される一連の処理は、投票サーバ300a、300b及び300cの少なくとも1つが実行すればよい。図16は、本実施の形態における投票結果を示す説明図である。
<End processing>
FIG. 15 is a flowchart showing voting end processing of the electronic voting system 10 in the present embodiment. The series of processes shown in FIG. 15 may be executed by at least one of the voting servers 300a, 300b, and 300c. FIG. 16 is an explanatory diagram showing voting results in the present embodiment.

図15に示されるように、ステップS301において、ブロック生成部316は、投票期間が超過したか否かを判定する。投票期間が超過したと判定した場合(ステップS301でYes)にはステップS302に進み、投票期間が超過していないと判定した場合(ステップS301でNo)には再びステップS301を実行する。つまり、ブロック生成部316は、投票期間が超過するまでステップS301で待ち状態をとる。   As shown in FIG. 15, in step S301, the block generation unit 316 determines whether or not the voting period has expired. If it is determined that the voting period has been exceeded (Yes in step S301), the process proceeds to step S302. If it is determined that the voting period has not been exceeded (No in step S301), step S301 is executed again. That is, the block generation unit 316 waits in step S301 until the voting period is exceeded.

ステップS302において、記憶部318に記録されている投票取引データであって、未だブロックチェーンに含まれていない投票取引データを含むブロックを生成し、生成したブロックをブロックチェーンに接続する。なお、このとき、記憶部318に記録されている投票取引データであって、未だブロックチェーンに含まれていない投票取引データが匿名化の基準を満たしていない場合であっても、ブロックを生成し、ブロックチェーンに接続してもよい。   In step S302, a block including voting transaction data recorded in the storage unit 318 and not yet included in the block chain is generated, and the generated block is connected to the block chain. At this time, the voting transaction data recorded in the storage unit 318 is generated even if the voting transaction data not yet included in the block chain does not satisfy the criteria for anonymization. It may be connected to the block chain.

ステップS303において、投票サーバ300a、300b及び300cは、コンセンサスアルゴリズムを実行する。この処理の内容は、ステップS228と同じである。   In step S303, the voting servers 300a, 300b, and 300c execute a consensus algorithm. The contents of this process are the same as in step S228.

ステップS304において、投票サーバ300aは、各候補者に投票された投票コインの個数を出力する。出力される情報には、ダミーの投票コインの個数も含まれる。   In step S304, the voting server 300a outputs the number of voting coins voted for each candidate. The output information includes the number of dummy voting coins.

このようにすることで、投票サーバ300a等は、すべての投票取引データをブロックチェーンに接続し、その後に、ダミーの投票コインを含む、各候補者に投票された投票コインの個数を出力することができる。   In this way, the voting server 300a and the like connect all voting transaction data to the block chain, and then output the number of voting coins voted by each candidate including dummy voting coins. Can do.

この出力を利用して、投票取引データを示すブロックチェーンから得られる各候補者への投票数から、ダミーの投票コインの個数を差し引くことで、候補者の実際の得票数が算出される(図16参照)。例えば、候補者Xへの投票数である5678票から、ダミー投票数である1500票を差し引くことで、候補者Xの得票数が4178と算出される。候補者Y及びZについても同様である。   By using this output, the actual number of votes of the candidate is calculated by subtracting the number of dummy voting coins from the number of votes for each candidate obtained from the blockchain indicating the voting transaction data (see FIG. 16). For example, the number of votes for candidate X is calculated to be 4178 by subtracting 1500 votes for dummy votes from 5678 votes for candidate X. The same applies to candidates Y and Z.

ここで、ダミーの投票コインの数、つまり、ダミーの投票数が事前に公開されている場合、投票サーバが不正に投票数を水増ししていないかについての確認が可能となる利点がある。   Here, when the number of dummy voting coins, that is, the number of dummy voting is disclosed in advance, there is an advantage that it is possible to check whether the voting server has illegally increased the number of votes.

<投票結果の公開処理>
図17は、実施の形態における投票サーバ300aによる投票結果の公開処理を示すシーケンス図である。
<Publication processing of voting results>
FIG. 17 is a sequence diagram illustrating a voting result disclosure process by the voting server 300a according to the embodiment.

図17に示される一連の処理は、端末110から投票サーバ300aに、投票結果の公開のためのアクセスがなされた場合に行われる処理である。このアクセスは、例えば、投票サーバ300aが提供しているWebサイトへのWebアクセスであり、HTTP又はHTTPSなどが用いられ得る。なお、投票サーバ300aにアクセスする端末110は、投票端末100aであってもよいし、他の端末であってもよい。   A series of processing shown in FIG. 17 is processing performed when the terminal 110 accesses the voting server 300a for publishing the voting result. This access is, for example, Web access to a Web site provided by the voting server 300a, and HTTP or HTTPS can be used. Note that the terminal 110 accessing the voting server 300a may be the voting terminal 100a or another terminal.

なお、ここでは、投票サーバ300aが上記アクセスを受けた場合を例として説明するが、他の投票サーバ300b又は300cが上記アクセスを受けた場合でも同様である。   Here, the case where the voting server 300a receives the access will be described as an example, but the same applies to the case where the other voting server 300b or 300c receives the access.

ステップS401において、投票サーバ300aの画面データ生成部311は、現時点が、投票結果を公開することを許容する期間内であるか否かを判定する。投票結果を公開することを許容する期間を公開期間ともいう。公開期間は、例えば、投票期間の終了後の期間であり、つまり投票が締め切られた時点より後の期間である。ステップS401で公開期間内であると判定した場合(ステップS401でYes)には、ステップS402に進み、そうでない場合(ステップS401でNo)には、ステップS411に進む。   In step S401, the screen data generation unit 311 of the voting server 300a determines whether or not the current time is within a period of allowing the voting result to be disclosed. A period during which voting results are allowed to be disclosed is also referred to as a disclosure period. The public period is, for example, a period after the end of the voting period, that is, a period after the time when voting is closed. If it is determined in step S401 that it is within the publication period (Yes in step S401), the process proceeds to step S402. If not (No in step S401), the process proceeds to step S411.

ステップS402において、画面データ生成部311は、記憶部318に記憶されている投票取引データが格納されたブロックチェーンを取得する。   In step S <b> 402, the screen data generation unit 311 acquires a block chain in which the voting transaction data stored in the storage unit 318 is stored.

ステップS403において、画面データ生成部311は、ステップS402で取得したブロックチェーンに含まれる情報に基づいて、投票結果を示す画面の画面データを生成する。そして、画面データ生成部311は、生成した画面データを端末に送信し、端末において投票結果を示す画面を表示させる。   In step S403, the screen data generation unit 311 generates screen data of a screen indicating the voting result based on the information included in the block chain acquired in step S402. Then, the screen data generation unit 311 transmits the generated screen data to the terminal, and causes the terminal to display a screen indicating the voting result.

ステップS411において、画面データ生成部311は、エラー処理を行う。エラー処理では、例えば、端末にエラーメッセージを通知する。エラーメッセージは、「まだ公開期間ではないので、投票結果を公開できません」等のメッセージを含んでもよい。   In step S411, the screen data generation unit 311 performs error processing. In the error processing, for example, an error message is notified to the terminal. The error message may include a message such as “The voting result cannot be published because it is not yet a publication period”.

なお、画面データ生成部311は、ステップS402で、投票サーバ300a等が投票期間中に生成したダミーの投票取引データの個数を示す情報を取得してもよい。その場合、画面データ生成部311は、ステップS403で、投票期間中に生成したダミーの投票取引データの個数を示す情報をさらに含む画面データを生成し、生成した画面データを端末に送信してもよい。このようにすれば、端末により、ダミーの投票取引データの個数を示す情報をさらに提示できる。   Note that the screen data generation unit 311 may acquire information indicating the number of dummy voting transaction data generated during the voting period by the voting server 300a or the like in step S402. In this case, the screen data generation unit 311 may generate screen data further including information indicating the number of dummy voting transaction data generated during the voting period in step S403, and transmit the generated screen data to the terminal. Good. In this way, the terminal can further present information indicating the number of dummy voting transaction data.

以降において、電子投票システム10での投票に用いる投票端末100aの画面、及び、投票結果の公開に用いる端末の画面の例を説明する。   Hereinafter, an example of the screen of the voting terminal 100a used for voting in the electronic voting system 10 and the screen of the terminal used for publishing the voting result will be described.

図19は、本実施の形態における電子投票システム10での投票に用いる投票端末100aを示す模式図である。   FIG. 19 is a schematic diagram showing a voting terminal 100a used for voting in the electronic voting system 10 according to the present embodiment.

図19に示される投票端末100aは、投票先の候補者を選択するための画面を表示し、投票者に提示している。   The voting terminal 100a shown in FIG. 19 displays a screen for selecting a voting candidate and presents it to the voter.

図19に示される画面は、投票者に対して投票を促すメッセージを示す画像401を含んでいる。また、候補者の氏名及び顔写真を示す画像402、及び、候補者に投票することを示すボタンの画像403を含んでいる。投票者が画像403つまり投票ボタンに対して操作をすると、入力部112は、当該投票ボタンに対応づけられた候補者へ投票するという投票内容を受けたことになる。   The screen shown in FIG. 19 includes an image 401 that shows a message prompting the voter to vote. In addition, an image 402 indicating a candidate's name and face photo, and a button image 403 indicating voting for the candidate are included. When the voter performs an operation on the image 403, that is, the voting button, the input unit 112 receives the voting content that the voting is performed on the candidate associated with the voting button.

図20は、本実施の形態における電子投票システム10での投票結果の公開に用いる端末110を示す模式図である。   FIG. 20 is a schematic diagram showing a terminal 110 used for publishing a voting result in the electronic voting system 10 according to the present embodiment.

図20に示される端末110は、投票結果を公開するための画面を表示し、投票者に提示している。   The terminal 110 shown in FIG. 20 displays a screen for publishing the voting result and presents it to the voter.

図20に示される画面は、当該画面に表示している内容が投票結果であることを示すメッセージを示す画像411を含んでいる。また、候補者の氏名及び顔写真を示す画像412、及び、候補者の得票数を示す画像413を含んでいる。また、最も得票数が多い候補者の画像412は、当選したことを示す枠の画像414によって囲まれている。   The screen shown in FIG. 20 includes an image 411 indicating a message indicating that the content displayed on the screen is a voting result. Further, an image 412 indicating the name and face photograph of the candidate and an image 413 indicating the number of votes obtained by the candidate are included. Further, the candidate image 412 with the largest number of votes is surrounded by a frame image 414 indicating that it has been won.

端末110は、このような画面によって投票結果を提示することができる。   The terminal 110 can present the voting result through such a screen.

1.6 実施の形態の効果
本実施の形態の電子投票システムは、正当な投票者であることの認証と、認証後に行われる投票とで、互いに独立のIDを含むデータを用いる。これにより、例えば選挙後に認証の結果と投票内容とが公開された場合でも、その投票内容の投票を行った投票者が特定されないようにすることができる。また、認証されたことを示すデータと投票内容を示すデータとをそれぞれ個別のブロックチェーンで管理することで、各データの改ざんを抑制することができる。さらに、投票内容が格納されたブロックチェーンに、投票者による投票の内容を示すデータと、投票者による投票に紐付られていないダミー票の投票内容を示すデータとが格納されているので、投票者による投票内容が特定されることが抑制される。よって、電子投票システムは、秘密投票を可能とする。
1.6 Effects of Embodiment The electronic voting system according to the present embodiment uses data including IDs that are independent of each other for authentication of being a valid voter and for voting performed after authentication. Thereby, for example, even when the result of the authentication and the content of the vote are made public after the election, it is possible to prevent the voter who has voted for the content of the vote from being specified. Further, by managing the data indicating the authentication and the data indicating the contents of the voting with individual block chains, it is possible to suppress falsification of each data. Furthermore, since the blockchain storing the contents of the vote stores data indicating the contents of the vote by the voter and data indicating the contents of the vote of the dummy vote not associated with the vote by the voter, the voter It is suppressed that the content of voting by is specified. Therefore, the electronic voting system enables secret voting.

また、電子投票システムは、投票者による投票の内容を含む取引データと、ダミー取引データとをブロックチェーンに格納する。よって、電子投票システムは、投票者によるダミー取引データを利用して、秘密投票を可能とする。   In addition, the electronic voting system stores transaction data including the contents of the vote by the voter and dummy transaction data in the block chain. Therefore, the electronic voting system enables secret voting using the dummy transaction data by the voter.

また、電子投票システムは、出力されたダミー取引データの個数を、候補者の得票数から差し引くことで、実際の候補者の得票数を算出することができる。   In addition, the electronic voting system can calculate the actual number of votes for the candidate by subtracting the number of output dummy transaction data from the number of votes for the candidate.

上記態様によれば、電子投票システムは、複数の投票サーバにより生成するダミー取引データの個数が予め決定されているので、より確実に、予め決定された個数のダミー取引データを生成することができる。仮に生成するダミー取引データの個数が予め定められていなければ、投票者による投票がなされている最中に、生成すべきダミー取引データの個数が変動することがあり得る。これにより複数の投票サーバにおいて生成するダミー取引データの個数が変動し、投票数の算出が不正確になる要因になり得る。   According to the above aspect, since the number of dummy transaction data generated by the plurality of voting servers is determined in advance, the electronic voting system can generate the predetermined number of dummy transaction data more reliably. . If the number of dummy transaction data to be generated is not determined in advance, the number of dummy transaction data to be generated may vary while the voter is voting. As a result, the number of dummy transaction data generated in a plurality of voting servers fluctuates, which can be a factor in calculating the number of votes.

上記態様によれば、電子投票システムは、投票者による投票と異なる投票内容を有するダミー取引データをブロックチェーンに格納するので、候補者ごとの得票数を均一化する方向に得票数が変化する。これにより、投票者による投票の秘密性が欠如することが抑制される。   According to the above aspect, the electronic voting system stores the dummy transaction data having voting contents different from the vote by the voter in the block chain, so that the number of votes is changed in a direction to equalize the number of votes for each candidate. Thereby, it is suppressed that the secrecy of the vote by the voter is lacking.

上記態様によれば、電子投票システムは、電子投票システムに含まれない端末を用いて、上記と同様に秘密投票を可能とする。   According to the above aspect, the electronic voting system enables secret voting as described above using a terminal not included in the electronic voting system.

2. その他変形例
なお、本発明を上記実施の形態に基づいて説明してきたが、本発明は、上記実施の形態に限定されないのはもちろんである。以下のような場合も本発明に含まれる。
2. Other Modifications Although the present invention has been described based on the above embodiments, the present invention is of course not limited to the above embodiments. The following cases are also included in the present invention.

(1)上記の実施の形態では、認証サーバと投票サーバとは別の装置として説明したが、認証サーバと投票サーバを同一の装置としてもよい。このとき、認証サーバが保持する記録部は投票端末などに公開しない。   (1) In the above embodiment, the authentication server and the voting server are described as separate devices. However, the authentication server and the voting server may be the same device. At this time, the recording unit held by the authentication server is not disclosed to the voting terminal.

(2)上記の実施の形態では、認証コイン及び投票コインの提供によって認証及び投票を実現したが、仮想的な取引対象の一例としてコインを用いたものであり、仮想的な取引対象はコインに限定されない。   (2) In the above embodiment, authentication and voting are realized by providing authentication coins and voting coins. However, coins are used as an example of virtual transaction objects, and virtual transaction objects are coins. It is not limited.

(3)上記の実施の形態では、投票サーバは投票端末から投票取引を受信した後に、ダミーの投票取引データを生成して、ブロックを生成しているが、これに限定されない。例えば、投票端末から複数の投票取引データを受信してからダミーの投票取引データを生成し、ブロックを生成するとしてもよい。また、ダミーの投票取引データは、事前に生成しておくとしてもよい。   (3) In the above embodiment, the voting server generates the dummy voting transaction data after receiving the voting transaction from the voting terminal and generates the block. However, the present invention is not limited to this. For example, after receiving a plurality of voting transaction data from a voting terminal, dummy voting transaction data may be generated to generate a block. The dummy voting transaction data may be generated in advance.

(4)上記の実施の形態では、認証サーバから投票端末に投票コインの提供を行っているが、投票端末への投票コインの投票の投票取引を投票サーバに送信するとしてもよい。また、投票サーバでは認証サーバから投票取引を受信し、投票取引の検証を行うとしてもよい。これにより、投票端末への投票コインの提供についてもブロックチェーンで管理できる。   (4) In the above embodiment, voting coins are provided from the authentication server to the voting terminal. However, a voting transaction for voting coins to the voting terminal may be transmitted to the voting server. The voting server may receive a voting transaction from the authentication server and verify the voting transaction. Thereby, provision of voting coins to the voting terminal can be managed by the block chain.

(5)上記の実施の形態では、投票結果の公開は、投票端末からのアクセスに基づいて行っているが、これに限定するわけではなく、投票サーバにアクセスできる端末であれば何でもよい。また、投票サーバが投票取引を含むブロックチェーンを公開するとしてもよい。また、投票結果は、ダミーの投票取引データを除いた投票数のみを公開するとしてもよい。   (5) In the above embodiment, the voting result is disclosed based on access from the voting terminal. However, the present invention is not limited to this, and any terminal that can access the voting server may be used. Further, the voting server may disclose a block chain including a voting transaction. Further, only the number of votes excluding the dummy vote transaction data may be disclosed as the vote result.

(6)上記の実施の形態では、選挙の電子投票を一例に説明したが、これに限定するわけではなく、一般的な投票であればよく、また、信任投票やアンケートに適用するとしてもよい。例えば、株主総会の決議やアンケートに利用することで、決議やアンケート結果の改ざんを防止することができる。   (6) In the above embodiment, the electronic voting for the election has been described as an example. However, the voting is not limited to this, and it may be a general vote, and may be applied to a confidence vote or a questionnaire. . For example, it is possible to prevent falsification of resolutions and questionnaire results by using them for resolutions and questionnaires at a general meeting of shareholders.

(7)上記の実施の形態では、ダミーの投票取引データは、投票サーバで同数のダミーの投票取引データを生成したが、これに限定されない。例えば、各投票サーバでダミーの投票取引数を決定し、投票締め切り後に公開するとしてもよい。このとき、各ブロックに含まれるダミーの投票コインの数を変更するとしてもよい。また、各投票サーバで決定したダミーの投票コインの個数を事前に投票サーバ間で共有するとしてもよい。   (7) In the above embodiment, the dummy voting transaction data is generated by the voting server with the same number of dummy voting transaction data. However, the present invention is not limited to this. For example, the number of dummy voting transactions may be determined at each voting server and released after the voting deadline. At this time, the number of dummy voting coins included in each block may be changed. The number of dummy voting coins determined by each voting server may be shared between the voting servers in advance.

(8)上記の実施の形態における各装置は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記RAMまたはハードディスクユニットには、コンピュータプログラムが記録されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。   (8) Each device in the above embodiment is specifically a computer system including a microprocessor, ROM, RAM, a hard disk unit, a display unit, a keyboard, a mouse, and the like. A computer program is recorded in the RAM or hard disk unit. Each device achieves its functions by the microprocessor operating according to the computer program. Here, the computer program is configured by combining a plurality of instruction codes indicating instructions for the computer in order to achieve a predetermined function.

(9)上記の実施の形態における各装置は、構成する構成要素の一部または全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAMなどを含んで構成されるコンピュータシステムである。前記RAMには、コンピュータプログラムが記録されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、システムLSIは、その機能を達成する。   (9) Each device in the above-described embodiment may be configured such that a part or all of the constituent elements are configured by one system LSI (Large Scale Integration). The system LSI is an ultra-multifunctional LSI manufactured by integrating a plurality of components on a single chip, and specifically, a computer system including a microprocessor, ROM, RAM, and the like. . A computer program is recorded in the RAM. The system LSI achieves its functions by the microprocessor operating according to the computer program.

また、上記の各装置を構成する構成要素の各部は、個別に1チップ化されていても良いし、一部又はすべてを含むように1チップ化されてもよい。   In addition, each part of the components constituting each of the above devices may be individually made into one chip, or may be made into one chip so as to include a part or all of them.

また、ここでは、システムLSIとしたが、集積度の違いにより、IC、LSI、スーパーLSI、ウルトラLSIと呼称されることもある。また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。   Although the system LSI is used here, it may be called IC, LSI, super LSI, or ultra LSI depending on the degree of integration. Further, the method of circuit integration is not limited to LSI's, and implementation using dedicated circuitry or general purpose processors is also possible. An FPGA (Field Programmable Gate Array) that can be programmed after manufacturing the LSI or a reconfigurable processor that can reconfigure the connection and setting of circuit cells inside the LSI may be used.

さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。   Further, if integrated circuit technology comes out to replace LSI's as a result of the advancement of semiconductor technology or a derivative other technology, it is naturally also possible to carry out function block integration using this technology. Biotechnology can be applied.

(10)上記の各装置を構成する構成要素の一部または全部は、各装置に脱着可能なICカードまたは単体のモジュールから構成されているとしてもよい。前記ICカードまたは前記モジュールは、マイクロプロセッサ、ROM、RAMなどから構成されるコンピュータシステムである。前記ICカードまたは前記モジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、前記ICカードまたは前記モジュールは、その機能を達成する。このICカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。   (10) Part or all of the constituent elements constituting each of the above-described devices may be configured from an IC card that can be attached to and detached from each device or a single module. The IC card or the module is a computer system including a microprocessor, a ROM, a RAM, and the like. The IC card or the module may include the super multifunctional LSI described above. The IC card or the module achieves its function by the microprocessor operating according to the computer program. This IC card or this module may have tamper resistance.

(11)本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。   (11) The present invention may be the method described above. Further, the present invention may be a computer program that realizes these methods by a computer, or may be a digital signal composed of the computer program.

また、本発明は、前記コンピュータプログラムまたは前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD−ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blu−ray(登録商標) Disc)、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されている前記デジタル信号であるとしてもよい。   The present invention also provides a computer-readable recording medium such as a flexible disk, a hard disk, a CD-ROM, an MO, a DVD, a DVD-ROM, a DVD-RAM, a BD (Blu-ray ( (Registered trademark) Disc), or recorded in a semiconductor memory or the like. The digital signal may be recorded on these recording media.

また、本発明は、前記コンピュータプログラムまたは前記デジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。   In the present invention, the computer program or the digital signal may be transmitted via an electric communication line, a wireless or wired communication line, a network represented by the Internet, a data broadcast, or the like.

また、本発明は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記録しており、前記マイクロプロセッサは、前記コンピュータプログラムにしたがって動作するとしてもよい。   The present invention may be a computer system including a microprocessor and a memory, wherein the memory records the computer program, and the microprocessor operates according to the computer program.

また、前記プログラムまたは前記デジタル信号を前記記録媒体に記録して移送することにより、または前記プログラムまたは前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。   In addition, the program or the digital signal is recorded on the recording medium and transferred, or the program or the digital signal is transferred via the network or the like, and executed by another independent computer system. It is good.

(12)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。   (12) The above embodiment and the above modifications may be combined.

なお、本実施の形態の電子投票システムは、以下のようにも記載され得るが、この記載に限定されない。   The electronic voting system of the present embodiment can be described as follows, but is not limited to this description.

(a)投票端末と、複数の認証サーバ、複数の投票サーバからなる電子投票システムであって、前記投票端末は、認証取引および投票取引を生成する第一の取引生成部を含み、前記第一の取引生成部は、有権者の識別子から認証取引を生成すると認証サーバに送信し、前記認証サーバから投票権を譲渡された第一の投票取引から第二の投票取引を生成すると投票サーバに送信し、前記複数の認証サーバは、前記投票端末から前記認証取引を受信すると認証取引の検証を行う第一の取引検証部と、認証取引を生成する第二の取引生成部と、認証取引のブロック生成を行う第一のブロック生成部を含み、前記取引検証部は、前記認証取引を受信すると、前記認証取引に含まれる識別子がブロックチェーンに2つ以上存在するか否かを検証し、2つ以上ある場合は二重使用と判断し、前記第二の取引生成部は、前記取引検証部で前記認証取引の検証が成功すると前記投票サーバから受信した第三の投票取引から前記第一の投票取引を生成して投票端末へ送信し、前記複数の投票サーバでは、前記投票端末から前記第二の投票取引を受信すると取引の検証を行う第二の取引検証部と、投票取引を生成する第三の取引生成部と、ダミーの投票取引を生成する第四の取引生成部と、投票取引のブロック生成を行う第二のブロック生成部を含み、前記第二の取引検証部は、前記投票端末から前記第二の投票取引を受信すると、前記第二の投票取引に含まれる投票権がブロックチェーンに2つ以上存在するか否かを検証し、2つ以上ある場合は二重使用と判断し、前記第三の取引生成部は、投票権の第三の投票取引を生成し、前記認証サーバに送信し、前記第二のブロック生成部は、前記第二の投票取引と、前記ダミーの投票取引を含んでブロックを生成することを特徴とする電子投票システム。   (A) An electronic voting system including a voting terminal, a plurality of authentication servers, and a plurality of voting servers, wherein the voting terminal includes a first transaction generation unit that generates an authentication transaction and a voting transaction, The transaction generation unit transmits to the authentication server when generating an authentication transaction from the voter's identifier, and transmits to the voting server when generating the second voting transaction from the first voting transaction to which the voting right is transferred from the authentication server. The plurality of authentication servers, when receiving the authentication transaction from the voting terminal, a first transaction verification unit that verifies the authentication transaction, a second transaction generation unit that generates the authentication transaction, and a block generation of the authentication transaction A first block generating unit that performs the verification, and the transaction verification unit verifies whether two or more identifiers included in the authentication transaction exist in the block chain upon receiving the authentication transaction. If it is above, it is determined that the second transaction generation unit uses the first voting from the third voting transaction received from the voting server when the verification of the authentication transaction is successful in the transaction verification unit. A transaction is generated and transmitted to a voting terminal, and the plurality of voting servers generate a voting transaction with a second transaction verifying unit that verifies the transaction upon receipt of the second voting transaction from the voting terminal. A third transaction generation unit, a fourth transaction generation unit that generates a dummy voting transaction, and a second block generation unit that generates a block of a voting transaction, wherein the second transaction verification unit includes the voting terminal When the second voting transaction is received from, it is verified whether there are two or more voting rights included in the second voting transaction in the block chain. The third transaction generation unit The third voting transaction is generated and transmitted to the authentication server, and the second block generation unit generates the block including the second voting transaction and the dummy voting transaction. Voting system.

(b)前記複数の投票サーバの前記第四の取引生成部は、さらに、生成した前記ダミーの投票取引の数を公開することを特徴とする(a)に記載の電子投票システム。   (B) The electronic voting system according to (a), wherein the fourth transaction generation unit of the plurality of voting servers further discloses the number of the generated dummy voting transactions.

(c)前記複数の投票サーバの前記第四の取引生成部は、さらに、ダミーの投票取引の数をあらかじめ前記複数の投票サーバ間で共有することを特徴とする(a)に記載の電子投票システム。   (C) The electronic voting according to (a), wherein the fourth transaction generation unit of the plurality of voting servers further shares the number of dummy voting transactions between the plurality of voting servers in advance. system.

(d)前記複数の投票サーバの前記第四の取引生成部は、さらに、前記第二の投票取引に含まれる投票内容と異なるダミーの投票取引を生成することを特徴とする(b)に記載の電子投票システム。   (D) The fourth transaction generation unit of the plurality of voting servers further generates a dummy voting transaction different from the voting content included in the second voting transaction. Electronic voting system.

これにより、投票端末と認証サーバ間で有権者であるかの認証を行い、有権者の場合、認証サーバが投票サーバから譲渡されている投票権を投票端末に譲渡する。投票端末では譲渡された投票権を用いて投票を行うことができる。投票サーバでは投票権が二重に利用されているかの検証を行うことで、有権者の情報がなくとも、不正な投票を防止できる。また、投票サーバは、投票取引にブロックチェーンを用いることで、投票結果の改ざんをも防止できる。さらに、ブロックにダミーの投票を入れることによって、ユーザの投票内容を識別することができないため、安全な電子投票システムを構築できる。   Thereby, it is authenticated whether it is a voter between the voting terminal and the authentication server, and in the case of the voter, the authentication server transfers the voting right transferred from the voting server to the voting terminal. The voting terminal can vote using the assigned voting right. By verifying whether the voting right is used twice in the voting server, illegal voting can be prevented even if there is no voter information. Further, the voting server can prevent falsification of the voting result by using the block chain for the voting transaction. Furthermore, since a user's vote contents cannot be identified by putting a dummy vote in the block, a safe electronic voting system can be constructed.

以上、一つまたは複数の態様に係る電子投票システムなどについて、実施の形態に基づいて説明したが、本発明は、この実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、一つまたは複数の態様の範囲内に含まれてもよい。   As described above, the electronic voting system according to one or more aspects has been described based on the embodiment, but the present invention is not limited to this embodiment. Unless it deviates from the gist of the present invention, various modifications conceived by those skilled in the art have been made in this embodiment, and forms constructed by combining components in different embodiments are also within the scope of one or more aspects. May be included.

本発明に係る電子投票システムは、秘密投票を可能とする。   The electronic voting system according to the present invention enables secret voting.

10 電子投票システム
100a、101a、102a、100b、101b、102b、100c、101c、102c 投票端末
110 端末
111 表示部
112 入力部
113、213、314 取引データ生成部
114、217、319 通信部
200a、200b、200c 認証サーバ
211、311 画面データ生成部
212、313 取引データ検証部
212A 認証処理部
214、316 ブロック生成部
215、317 同期部
216、318 記憶部
300a、300b、300c 投票サーバ
312 候補者DB
315 ダミーデータ生成部
401、402、403、411、412、413、414 画像
B1、B2、B3 ブロック
D1 取引データ
N ネットワーク
P1、P2 アドレス
P3 電子署名
10 Electronic voting system 100a, 101a, 102a, 100b, 101b, 102b, 100c, 101c, 102c Voting terminal 110 Terminal 111 Display unit 112 Input unit 113, 213, 314 Transaction data generation unit 114, 217, 319 Communication unit 200a, 200b , 200c Authentication server 211, 311 Screen data generation unit 212, 313 Transaction data verification unit 212A Authentication processing unit 214, 316 Block generation unit 215, 317 Synchronization unit 216, 318 Storage unit 300a, 300b, 300c Voting server 312 Candidate DB
315 Dummy data generation unit 401, 402, 403, 411, 412, 413, 414 Image B1, B2, B3 Block D1 Transaction data N Network P1, P2 Address P3 Electronic signature

Claims (8)

端末と、複数の認証サーバと、複数の投票サーバとを備える電子投票システムであって、
前記複数の認証サーバのそれぞれは、
投票者に紐付けられる第一IDと、前記投票者の認証情報とを含む認証データを前記端末から受信し、受信した前記認証データを用いて前記投票者を認証する認証処理部と、
前記認証処理部により前記投票者が認証されたことを示す第一取引データを含む第一ブロックチェーンを記憶している第一記憶部と、
前記第一記憶部が記憶している前記第一ブロックチェーンを、前記複数の認証サーバのうち当該認証サーバを除く1以上の認証サーバと同期する第一同期部とを備え、
前記複数の投票サーバのそれぞれは、
前記投票者が投票する票に紐付けられる第二IDであって、前記第一IDとは独立である第二IDと、前記票の投票内容を示す投票情報とを含む投票データを前記端末から受信する投票処理部と、
前記投票処理部が受信した前記投票データに含まれる前記投票情報である第二取引データと、前記投票者による投票に紐付られていないダミー票の投票内容を含む取引データであるダミー取引データとを含む第二ブロックチェーンを記憶している第二記憶部と、
前記第二記憶部が記憶している前記第二ブロックチェーンを、前記複数の投票サーバのうち当該投票サーバを除く1以上の投票サーバと同期する第二同期部とを備え、
前記端末は、
前記認証データを生成し、生成した前記認証データを前記複数の認証サーバのうちの一の認証サーバに送信するデータ生成部を備え、
前記データ生成部は、さらに、
前記認証サーバに前記認証データを送信することで、前記一の認証サーバによる認証が成功した後に前記投票データを生成し、生成した前記投票データを前記複数の投票サーバのうちの一の投票サーバに送信する
電子投票システム。
An electronic voting system comprising a terminal, a plurality of authentication servers, and a plurality of voting servers,
Each of the plurality of authentication servers includes:
An authentication processing unit that receives authentication data including a first ID associated with a voter and authentication information of the voter from the terminal, and authenticates the voter using the received authentication data;
A first storage unit storing a first block chain including first transaction data indicating that the voter has been authenticated by the authentication processing unit;
A first synchronization unit that synchronizes the first block chain stored in the first storage unit with one or more authentication servers other than the authentication server among the plurality of authentication servers;
Each of the plurality of voting servers is
Voting data including a second ID associated with a vote voted by the voter, the second ID being independent of the first ID, and voting information indicating the voting content of the vote from the terminal A voting processor to receive,
Second transaction data that is the voting information included in the voting data received by the voting processing unit, and dummy transaction data that is transaction data including the voting content of a dummy vote that is not linked to the vote by the voter A second storage unit storing a second block chain including;
A second synchronization unit that synchronizes the second block chain stored in the second storage unit with one or more voting servers other than the voting server among the plurality of voting servers;
The terminal
A data generation unit that generates the authentication data and transmits the generated authentication data to one authentication server of the plurality of authentication servers;
The data generation unit further includes:
By transmitting the authentication data to the authentication server, the voting data is generated after successful authentication by the one authentication server, and the generated voting data is sent to one voting server among the plurality of voting servers. Send electronic voting system.
複数の投票サーバのそれぞれは、さらに、
前記端末から前記投票データを受信した場合には、受信した前記投票データに含まれる前記投票内容を示す第二取引データを生成する第二取引データ生成部と、
前記ダミー票の投票内容とを含む取引データである前記ダミー取引データを生成するダミーデータ生成部と、
前記第二取引データ生成部が生成した1以上の前記第二取引データと、前記ダミーデータ生成部が生成した1以上の前記ダミー取引データとを含む第二ブロックを生成し、生成した前記第二ブロックを前記第二ブロックチェーンに接続する第二ブロック生成部とを備える
請求項1に記載の電子投票システム。
Each of the plurality of voting servers further
When receiving the voting data from the terminal, a second transaction data generating unit that generates second transaction data indicating the voting content included in the received voting data;
A dummy data generating unit that generates the dummy transaction data, which is transaction data including the voting content of the dummy vote;
The second block generated by generating a second block including one or more second transaction data generated by the second transaction data generation unit and one or more dummy transaction data generated by the dummy data generation unit The electronic voting system according to claim 1, further comprising: a second block generation unit that connects a block to the second block chain.
前記ダミーデータ生成部は、さらに、
生成した前記ダミー取引データの個数を出力する
請求項2に記載の電子投票システム。
The dummy data generation unit further includes:
The electronic voting system according to claim 2, wherein the number of the generated dummy transaction data is output.
前記ダミーデータ生成部は、
予め、前記複数の投票サーバが生成する前記ダミー取引データの個数を決定し、決定した前記個数を他の投票サーバの前記ダミーデータ生成部と共有する
請求項2又は3に記載の電子投票システム。
The dummy data generator is
The electronic voting system according to claim 2 or 3, wherein the number of the dummy transaction data generated by the plurality of voting servers is determined in advance, and the determined number is shared with the dummy data generation unit of another voting server.
前記ダミーデータ生成部は、
前記端末から前記投票データを受信した場合には、受信した前記投票データに含まれる前記投票内容とは異なる投票内容を有する前記ダミー取引データを生成する
請求項3又は4に記載の電子投票システム。
The dummy data generator is
The electronic voting system according to claim 3 or 4, wherein when the voting data is received from the terminal, the dummy transaction data having voting contents different from the voting contents included in the received voting data is generated.
複数の認証サーバと、複数の投票サーバとを備える電子投票システムであって、
前記複数の認証サーバのそれぞれは、
投票者に紐付けられる第一IDと、前記投票者の認証情報とを含む認証データを端末から受信し、受信した前記認証データを用いて前記投票者を認証する認証処理部と、
前記認証処理部により前記投票者が認証されたことを示す第一取引データを含む第一ブロックチェーンを記憶している第一記憶部と、
前記第一記憶部が記憶している前記第一ブロックチェーンを、前記複数の認証サーバのうち当該認証サーバを除く1以上の認証サーバと同期する第一同期部とを備え、
前記複数の投票サーバのそれぞれは、
前記投票者が投票する票に紐付けられる第二IDであって、前記第一IDとは独立である第二IDと、前記票の投票内容を示す投票情報とを含む投票データを前記端末から受信する投票処理部と、
前記投票処理部が受信した前記投票データに含まれる前記投票情報である第二取引データと、前記投票者による投票に紐付られていないダミー票の投票内容を含む取引データであるダミー取引データとを含む第二ブロックチェーンを記憶している第二記憶部と、
前記第二記憶部が記憶している前記第二ブロックチェーンを、前記複数の投票サーバのうち当該投票サーバを除く1以上の投票サーバと同期する第二同期部とを備える
電子投票システム。
An electronic voting system comprising a plurality of authentication servers and a plurality of voting servers,
Each of the plurality of authentication servers includes:
An authentication processing unit that receives authentication data including a first ID associated with a voter and authentication information of the voter from the terminal, and authenticates the voter using the received authentication data;
A first storage unit storing a first block chain including first transaction data indicating that the voter has been authenticated by the authentication processing unit;
A first synchronization unit that synchronizes the first block chain stored in the first storage unit with one or more authentication servers other than the authentication server among the plurality of authentication servers;
Each of the plurality of voting servers is
Voting data including a second ID associated with a vote voted by the voter, the second ID being independent of the first ID, and voting information indicating the voting content of the vote from the terminal A voting processor to receive,
Second transaction data that is the voting information included in the voting data received by the voting processing unit, and dummy transaction data that is transaction data including the voting content of a dummy vote that is not linked to the vote by the voter A second storage unit storing a second block chain including;
An electronic voting system comprising: a second synchronization unit that synchronizes the second block chain stored in the second storage unit with one or more voting servers other than the voting server among the plurality of voting servers.
電子投票システムにおける複数の投票サーバのうちの一の投票サーバの制御方法であって、
投票者が投票する票に紐付けられる第二IDであって、前記投票者に紐付けられる第一IDとは独立である第二IDと、前記票の投票内容を示す投票情報とを含む投票データを端末から受信し、
受信した前記投票データに含まれる前記投票情報である第二取引データと、前記投票者による投票に紐付られていないダミー票の投票内容を含む取引データであるダミー取引データとを含む第二ブロックチェーンを記憶し、
記憶している前記第二ブロックチェーンを、前記複数の認証サーバのうち前記一の当該投票サーバを除く1以上の投票サーバと同期し、
前記端末から前記投票データを受信した場合には、受信した前記投票データに含まれる前記投票内容を示す第二取引データを生成し、
生成した1以上の前記第二取引データと、生成した1以上の前記ダミー取引データとを含む第二ブロックを生成し、生成した前記第二ブロックを前記第二ブロックチェーンに接続する
制御方法。
A method for controlling one voting server among a plurality of voting servers in an electronic voting system,
Voting including a second ID linked to a vote voted by a voter, which is independent of the first ID linked to the voter, and voting information indicating the vote content of the vote Receive data from the device,
Second block chain including second transaction data that is the voting information included in the received voting data, and dummy transaction data that is transaction data including voting contents of a dummy vote that is not linked to the vote by the voter Remember
Synchronizing the stored second block chain with one or more voting servers excluding the one voting server among the plurality of authentication servers,
When receiving the voting data from the terminal, generate second transaction data indicating the voting content included in the received voting data,
A control method of generating a second block including the generated one or more second transaction data and the generated one or more dummy transaction data, and connecting the generated second block to the second block chain.
端末と、複数の認証サーバと、複数の投票サーバとを備える電子投票システムの制御方法であって、
前記複数の認証サーバのそれぞれにより、
投票者に紐付けられる第一IDと、前記投票者の認証情報とを含む認証データを前記端末から受信し、受信した前記認証データを用いて前記投票者を認証し、
前記投票者が認証されたことを示す第一取引データを含む第一ブロックチェーンを記憶し、
記憶している前記第一ブロックチェーンを、前記複数の認証サーバのうち当該認証サーバを除く1以上の認証サーバと同期し、
前記複数の投票サーバのそれぞれにより、
前記投票者が投票する票に紐付けられる第二IDであって、前記第一IDとは独立である第二IDと、前記票の投票内容を示す投票情報とを含む投票データを前記端末から受信し、
受信した前記投票データに含まれる前記投票情報である第二取引データと、前記投票者による投票に紐付られていないダミー票の投票内容を含む取引データであるダミー取引データとを含む第二ブロックチェーンを記憶し、
記憶している前記第二ブロックチェーンを、前記複数の投票サーバのうち当該投票サーバを除く1以上の投票サーバと同期し、
前記端末により、
前記認証データを生成し、生成した前記認証データを前記複数の認証サーバのうちの一の認証サーバに送信し、
前記認証サーバに前記認証データを送信することで、前記一の認証サーバによる認証が成功した後に前記投票データを生成し、生成した前記投票データを前記複数の投票サーバのうちの一の投票サーバに送信する
制御方法。
A method for controlling an electronic voting system comprising a terminal, a plurality of authentication servers, and a plurality of voting servers,
By each of the plurality of authentication servers,
Receiving the authentication data including the first ID associated with the voter and the authentication information of the voter from the terminal, and authenticating the voter using the received authentication data;
Storing a first blockchain including first transaction data indicating that the voter has been authenticated;
Synchronizing the stored first block chain with one or more authentication servers excluding the authentication server among the plurality of authentication servers,
By each of the plurality of voting servers,
Voting data including a second ID associated with a vote voted by the voter, the second ID being independent of the first ID, and voting information indicating the voting content of the vote from the terminal Receive
Second block chain including second transaction data that is the voting information included in the received voting data, and dummy transaction data that is transaction data including voting contents of a dummy vote that is not linked to the vote by the voter Remember
Synchronizing the stored second block chain with one or more voting servers excluding the voting server among the plurality of voting servers,
By the terminal
Generating the authentication data, transmitting the generated authentication data to one of the plurality of authentication servers,
By transmitting the authentication data to the authentication server, the voting data is generated after successful authentication by the one authentication server, and the generated voting data is sent to one voting server among the plurality of voting servers. Control method to send.
JP2018090310A 2017-09-15 2018-05-09 Electronic voting system and control method Active JP7064947B2 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP18191202.3A EP3457622B1 (en) 2017-09-15 2018-08-28 Electronic voting system
US16/115,724 US10818122B2 (en) 2017-09-15 2018-08-29 Electronic voting system and control method
CN201810999687.2A CN109509287B (en) 2017-09-15 2018-08-30 Electronic voting system and control method
US17/025,230 US11875607B2 (en) 2017-09-15 2020-09-18 Electronic voting system and control method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201762559043P 2017-09-15 2017-09-15
US62/559,043 2017-09-15

Publications (2)

Publication Number Publication Date
JP2019053712A true JP2019053712A (en) 2019-04-04
JP7064947B2 JP7064947B2 (en) 2022-05-11

Family

ID=66015213

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018090310A Active JP7064947B2 (en) 2017-09-15 2018-05-09 Electronic voting system and control method

Country Status (1)

Country Link
JP (1) JP7064947B2 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110995444A (en) * 2019-12-03 2020-04-10 山东爱城市网信息技术有限公司 Election method based on block chain
WO2020189648A1 (en) 2019-03-20 2020-09-24 曙ブレーキ工業株式会社 Friction material for disc brake
JP2020190874A (en) * 2019-05-21 2020-11-26 株式会社医療情報技術研究所 Document management system
KR20210008702A (en) * 2019-07-15 2021-01-25 넷마블 주식회사 Method for alarming an automatic transmission
JPWO2021229691A1 (en) * 2020-05-12 2021-11-18
WO2022107216A1 (en) 2020-11-17 2022-05-27 富士通株式会社 Transaction control method, transaction control program, and information processing device
WO2022185412A1 (en) * 2021-03-02 2022-09-09 アステリア株式会社 Voting system and voting program

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6061449A (en) * 1997-10-10 2000-05-09 General Instrument Corporation Secure processor with external memory using block chaining and block re-ordering
JP2003228643A (en) * 2002-01-31 2003-08-15 Ikuo Kitagaki Electronic voting model
JP2004524759A (en) * 2001-02-20 2004-08-12 ヴォートヒア インコーポレイテッド Detecting compromised voting
JP2005339247A (en) * 2004-05-27 2005-12-08 Secured Communications:Kk Bidirectional one time id authenticating system and authenticating method
US20170048209A1 (en) * 2015-07-14 2017-02-16 Fmr Llc Crypto Key Recovery and Social Aggregating, Fractionally Efficient Transfer Guidance, Conditional Triggered Transaction, Datastructures, Apparatuses, Methods and Systems

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6061449A (en) * 1997-10-10 2000-05-09 General Instrument Corporation Secure processor with external memory using block chaining and block re-ordering
JP2004524759A (en) * 2001-02-20 2004-08-12 ヴォートヒア インコーポレイテッド Detecting compromised voting
JP2003228643A (en) * 2002-01-31 2003-08-15 Ikuo Kitagaki Electronic voting model
JP2005339247A (en) * 2004-05-27 2005-12-08 Secured Communications:Kk Bidirectional one time id authenticating system and authenticating method
US20170048209A1 (en) * 2015-07-14 2017-02-16 Fmr Llc Crypto Key Recovery and Social Aggregating, Fractionally Efficient Transfer Guidance, Conditional Triggered Transaction, Datastructures, Apparatuses, Methods and Systems

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020189648A1 (en) 2019-03-20 2020-09-24 曙ブレーキ工業株式会社 Friction material for disc brake
JP2020190874A (en) * 2019-05-21 2020-11-26 株式会社医療情報技術研究所 Document management system
KR20210008702A (en) * 2019-07-15 2021-01-25 넷마블 주식회사 Method for alarming an automatic transmission
KR102243737B1 (en) * 2019-07-15 2021-04-23 넷마블 주식회사 Method for alarming an automatic transmission
CN110995444A (en) * 2019-12-03 2020-04-10 山东爱城市网信息技术有限公司 Election method based on block chain
JPWO2021229691A1 (en) * 2020-05-12 2021-11-18
WO2021229691A1 (en) * 2020-05-12 2021-11-18 富士通株式会社 Control method, control program, and information processing device
WO2022107216A1 (en) 2020-11-17 2022-05-27 富士通株式会社 Transaction control method, transaction control program, and information processing device
WO2022185412A1 (en) * 2021-03-02 2022-09-09 アステリア株式会社 Voting system and voting program

Also Published As

Publication number Publication date
JP7064947B2 (en) 2022-05-11

Similar Documents

Publication Publication Date Title
JP7253085B2 (en) ELECTRONIC VOTING SYSTEM, DEVICE, CONTROL METHOD AND PROGRAM
CN109509287B (en) Electronic voting system and control method
CN109509288B (en) Electronic voting system and control method
US11018869B2 (en) Blockchain-based digital identity management (DIM) system
CN109246175B (en) Electronic voting system and control method
JP7064947B2 (en) Electronic voting system and control method
US10887098B2 (en) System for digital identity authentication and methods of use
CA2711243C (en) System and method for secure voting
JP7029328B2 (en) Electronic voting system and control method
JP7064950B2 (en) Electronic voting system and control method
EP3457622B1 (en) Electronic voting system
Dash et al. Artificial intelligence models for blockchain-based intelligent networks systems: Concepts, methodologies, tools, and applications
EP3457623B1 (en) Electronic voting system
Nagesh et al. E-Voting System Using Blockchain Technology
KR102051454B1 (en) A decision-making system using blockchains by verifying conditions
Pujari et al. A decentralized consensus application using blockchain ecosystem
Lobanchykova et al. Study of Cyber Security Approaches in Organizing Digital Voting
WO2023201032A1 (en) Secure retrieval of off-network data by trusted network entities

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201130

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211117

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211124

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220217

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220405

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220425

R150 Certificate of patent or registration of utility model

Ref document number: 7064947

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150