Mobile voting and voter verification system and method
A mobile voting system and method are provided. The mobile voting system may include a mobile messaging aggregator configured to receive voter verification requests from one or more mobile carriers, and a mobile voter verification server configured to verify a voter's identity in response to a voter verification request and generate a link to a mobile ballot once the voter's identity has been verified. The mobile messaging aggregator may cause the link to the mobile ballot to be transmitted to a mobile device of the voter, which when selected by the voter, allows the voter to cast a vote.
1 . A mobile voting system comprising:
one or more processors configured to execute instructions stored in a memory, which when executed by said one or more processors perform steps comprising:
receiving a voter verification request, said voter verification request including a first mobile device number associated with a mobile device from which the voter verification request was received;
transmitting a first request containing said first mobile device number to a first server containing voter registration information, and receiving a first response containing information stored in the first server that corresponds to the first mobile device number;
transmitting a second request containing said first mobile device number to a second server containing mobile carrier information, and receiving a second response containing information stored in the second server, which information corresponds to the first mobile device number;
determining that an identity of the voter is verified based on information received in the first response corresponding to information received in the second response;
querying the mobile device to verify a make and model of the mobile device including comparing the make and model with information associated with the first mobile device number in a mobile voting verification system;
determining that a network address of the mobile device corresponds to an approved mobile-carrier domain and that a geographic location of the mobile device is within an approved location;
determining that metadata associated with at least one of a voter image and an identification image indicates capture within a predetermined time window preceding the voter verification request;
verifying that a predetermined plurality of independent verification factors are satisfied;
in response to determining that the identity of the voter is verified, and verifying that the predetermined plurality of independent verification factors are satisfied, transmitting, directly or indirectly, a link to the mobile device of the voter, wherein the link is time-limited and specific to the mobile device configured to provide a mobile ballot corresponding to the voter's identity, the link being bound to the mobile device associated with the first mobile device number, automatically expires outside a predetermined time window, and causes access to be rejected when opened from any other device;
in response to selection of the link, revalidating the mobile device by confirming that the link was selected from a device having the make and model verified for the first mobile device number and having the network address corresponding to the approved mobile-carrier domain;
providing the mobile ballot to the mobile device only when the mobile device is revalidated in response to selection of the link;
receiving selections made by the voter on the mobile ballot from the mobile device;
generating a unique identifier associated with the mobile ballot and providing the unique identifier to the voter;
transmitting the mobile ballot with the selections made by the voter to a local election system along with the unique identifier associated with the mobile ballot;
receiving an electronic image of the mobile ballot;
providing the electronic image of the mobile ballot upon receiving a voter request for the mobile ballot associated with the unique identifier; and
updating a database storing election results reflecting selections of a plurality of voters on a plurality of mobile ballots based on the received selections.
2 . The mobile voting system of claim 1 , wherein determining that the identity of the voter is verified further comprises:
transmitting a unique code to the mobile device of the voter;
receiving a code from the mobile device of the voter; and
determining that the identity of the voter is verified based on the unique code corresponding to the code received from the mobile device.
3 . The mobile voting system of claim 2 , wherein determining that the identity of the voter is verified further comprises verifying that a type of the mobile device from which the code was received corresponds to a type of mobile device corresponding to the first mobile device number stored in the second server.
4 . The mobile voting system of claim 1 , wherein determining that the identity of the voter is verified further comprises:
generating a unique uniform resource locator (URL) that is specific to the mobile device of the voter;
transmitting the unique URL to the mobile device of the voter; and
determining that the identity of the voter is verified based on the voter selecting the unique URL.
5 . The mobile voting system of claim 1 , wherein the steps performed by said one or more processors further comprise:
transmitting a notification to at least one of the first server and the second server based on a lack of correspondence between information received in the first response and information received in the second response.
6 . The mobile voting system of claim 1 , wherein the steps performed by said one or more processors further comprise:
rendering the mobile ballot corresponding to the voter's identity on a remote browser that is remote from the mobile device of the voter;
providing an image of the rendered mobile ballot to the mobile device of the voter; and
the remote browser receiving ballot selections from the mobile device of the voter.
7 . The mobile voting system of claim 1 , wherein the steps performed by said one or more processors further comprise:
transmitting the mobile ballot with the selections made by the voter and the plurality of mobile ballots to a server configured to store election data;
receiving election results from the server, wherein the election results received from the server are generated by printing the mobile ballot with the selections made by the voter and the plurality of mobile ballots, and determining a total number of votes for each candidate on said mobile ballot and plurality of mobile ballots; and
comparing the election results stored in the database and the election results received from said server.
8 . The mobile voting system of claim 7 , wherein the steps performed by said one or more processors further comprise transmitting a notification indicating a result of the comparison.
9 . The mobile voting system of claim 1 , wherein verifying that the predetermined plurality of independent verification factors are satisfied comprises verifying at least two of: (i) device-origin evidence of user presence at the mobile device including at least one of biometric data captured by the mobile device and liveness detection, (ii) cross-correlation of identity information extracted from a government identification image including at least one of decoding machine-readable barcode data and optical character recognition of printed text and comparing the decoded and recognized identity information with voter registration data received from the first server and mobile carrier data received from the second server, (iii) network-based constraints including confirming that an Internet Protocol address for the mobile device corresponds to an approved mobile-carrier domain and confirming that a geographic location of the mobile device is within an approved location, and (iv) verification that the make and model queried from the mobile device match information associated with the user in the mobile voting verification system.
10 . A mobile voting method, the method comprising:
receiving a voter verification request, said voter verification request including a first mobile device number from a mobile device from which the voter verification request was received;
transmitting a first request containing said first mobile device number to a first server containing voter registration information;
receiving a first response containing information stored in the first server that corresponds to the first mobile device number;
transmitting a second request containing said first mobile device number to a second server containing mobile carrier information;
receiving a second response containing information stored in the second server, which information corresponds to the first mobile device number;
determining that an identity of the voter is verified, comprising:
confirming that information contained in the first response from the first server corresponds to information contained in the second response from the second server, each indexed by the first mobile device number,
generating a unique uniform resource locator (URL) specific to the mobile device associated with the first mobile device number, transmitting the unique URL to the mobile device, and, via the unique URL, querying the mobile device to obtain a make and a model of the mobile device, and confirming a match of the make and the model to information associated with the first mobile device number of a mobile voting verification system, and
authenticating device possession by confirming that the unique URL was selected from the mobile device associated with the first mobile device number,
wherein confirming that the unique URL was selected from the mobile device associated with the first mobile device number comprises confirming that the mobile device selecting the unique URL has the make and the model matched to the information associated with the first mobile device number and has a network address corresponding to an approved mobile-carrier domain;
in response to determining that the identity of the voter is verified, transmitting, directly or indirectly, a link to a mobile device of the voter, wherein the link is configured to provide a mobile ballot corresponding to the voter's identity;
receiving selections made by the voter on the mobile ballot; and
updating a database storing election results reflecting selections of a plurality of voters on a plurality of mobile ballots based on the received selections.
11 . The method of claim 10 , wherein determining that the identity of the voter is verified further comprises:
transmitting a unique code to the mobile device of the voter;
receiving a code from the mobile device of the voter; and
determining that the identity of the voter is verified based on the unique code corresponding to the code received from the mobile device.
12 . The method of claim 11 , wherein determining that the identity of the voter is verified further comprises verifying that a type of the mobile device from which the code was received corresponds to a type of mobile device corresponding to the first mobile device number stored in the second server.
13 . The method of claim 10 , further comprising:
transmitting a notification to at least one of the first server and the second server based on a lack of correspondence between information received in the first response and information received in the second response.
14 . The method of claim 10 , further comprising:
rendering the mobile ballot corresponding to the voter's identity on a remote browser that is remote from the mobile device of the voter; and
providing an image of the rendered mobile ballot to the mobile device of the voter; and
the remote browser receiving ballot selections from the mobile device of the voter.
15 . The method of claim 10 further comprising:
transmitting the mobile ballot with the selections made by the voter and the plurality of mobile ballots to a server configured to store election data;
receiving election results from the server, wherein the election results received from the server are generated by printing the mobile ballot with the selections made by the voter and the plurality of mobile ballots, and determining a total number of votes for each candidate on said mobile ballot and plurality of mobile ballots; and
comparing the election results stored in the database and the election results received from said server.
16 . The method of claim 15 , further comprising transmitting a notification indicating a result of the comparison.
17 . The method of claim 10 , further comprising: generating a unique identifier associated with the mobile ballot and providing the unique identifier to the voter;
transmitting the mobile ballot with the selections made by the voter to a local election system along with the unique identifier associated with the mobile ballot;
receiving an electronic image of the mobile ballot; and
providing the electronic image of the mobile ballot upon receiving a voter request for the mobile ballot associated with the unique identifier.
18 . The method of claim 10 , wherein confirming that the mobile device selecting the unique URL has the network address corresponding to the approved mobile-carrier domain is performed before the mobile ballot is provided, and wherein the mobile ballot is not provided to the mobile device when the network address does not correspond to the approved mobile-carrier domain.
19 . A method for mobile voting, comprising:
accessing a voter verification request including a mobile number associated with a mobile device;
verifying an identity of a voter by correlating voter registration data associated with the mobile number with mobile carrier information associated with the mobile number;
verifying a make and model associated with the mobile device;
prior to providing ballot access, verifying that a predetermined plurality of independent verification factors are satisfied;
transmitting a link to the mobile device, the link being specific to the mobile device associated with the mobile number, automatically expiring outside a predetermined interval, and causing access to be rejected when opened from any other device;
after verifying the identity of the voter and the make and model of the mobile device, and in response to selection of the link from the mobile device associated with the mobile number, rendering a ballot corresponding to the voter's identity on a remote browser to provide an image of the ballot to the voter;
streaming, from the remote browser to the mobile device, only image data of the rendered ballot while withholding underlying ballot information and ballot-rendering code from the mobile device;
receiving, at the remote browser, ballot selections corresponding to user interactions with the image data streamed to the mobile device;
generating a unique identifier associated with the ballot and providing the unique identifier to the voter; and
transmitting the ballot with selections made by the voter to a local election system along with the unique identifier associated with the ballot.
20 . The method of claim 19 , further comprising:
accessing an electronic image of the ballot; and
providing the electronic image of the mobile ballot upon receiving a voter request for the mobile ballot associated with the unique identifier.
21 . The method of claim 19 , further comprising:
receiving selections made by the voter on the mobile ballot; and
updating a database storing election results reflecting selections of a plurality of voters on a plurality of mobile ballots based on the received selections.
22 . The method of claim 19 , wherein malware on the mobile device is prevented from accessing the underlying ballot information because the mobile device receives the image data of the rendered ballot without receiving the underlying ballot information or ballot-rendering code.