WO2014066956A1 - A system, computing device and application server for voting - Google Patents

A system, computing device and application server for voting Download PDF

Info

Publication number
WO2014066956A1
WO2014066956A1 PCT/AU2013/001277 AU2013001277W WO2014066956A1 WO 2014066956 A1 WO2014066956 A1 WO 2014066956A1 AU 2013001277 W AU2013001277 W AU 2013001277W WO 2014066956 A1 WO2014066956 A1 WO 2014066956A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
voter
computing device
election
server
Prior art date
Application number
PCT/AU2013/001277
Other languages
French (fr)
Inventor
Kyle BUTLER
Original Assignee
Butler Kyle
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
Priority claimed from AU2012904825A external-priority patent/AU2012904825A0/en
Application filed by Butler Kyle filed Critical Butler Kyle
Priority to AU2013337617A priority Critical patent/AU2013337617A1/en
Publication of WO2014066956A1 publication Critical patent/WO2014066956A1/en
Priority to AU2019203146A priority patent/AU2019203146A1/en
Priority to AU2021203079A priority patent/AU2021203079A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/26Government or public services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C13/00Voting apparatus

Definitions

  • the present invention relates to electronic voting and in particular to a system, computing device and application server for voting. Background
  • Periodic voting is conducted in democratic countries around the world at municipal, provincial and national levels. So as to ensure against vote rigging, fraud and the like, such voting is normally a manual exercise wherein eligible voters attend registration stations for face-to-face identification and a manual recordal of votes. At the completion of voting, the paper votes are counted and the results tallied.
  • Klein discloses a conventional GPS location authentication method for mobile voting, which, through comparing GPS coordinate representations of postal addresses of voters with geographical locations of mobile devices from which internet votes of the voters are received, rejects the internet votes if the corresponding mobile devices are not located within a predetermined distance from the corresponding postal addresses This method has several downsides.
  • the voters since indoor GPS reception is generally poor, for the method to be practicable, the voters may have to send the internet votes to the server from outdoor. Also, in poor weather condition, this method may fail due to poor GPS reception even at outdoor.
  • location of the mobile devices may be determined by basestation triangulation techniques, the results may be significantly inaccurate relative to those obtained by means of GPS. As a result, some voters located the edge of the respective election areas may thus be unable to vote due to the inaccuracy.
  • the conventional GPS location authentication method may unnecessarily prevent eligible voters from voting. For example, when the eligible voters are on a trip or living in another area, they may be unable to vote. As such, this method may unnecessarily limit the usefulness and convenience of the Internet. It is to be understood that, if any prior art information is referred to herein, such reference does not constitute an admission that the information forms part of the common general knowledge in the art, in Australia or any other country.
  • the invention seeks to provide a system, computing device and application server for voting which will overcome or substantially ameliorate at least some of the deficiencies of the prior art, or to at least provide an alternative.
  • a system for verifying a voter identity in an electronic voting system comprises: a data network; a server in communication with the data network, the server comprising a database, the database being adapted for storing voter identification data representing identification information of at least one voter; a verifier computing device in communication with the data network and in operable communication with the server; and a voter computing device in communication with the data network and in operable communication with the server.
  • the voter computing device is adapted to receive voter identification data, the voter identification data representing identification information of the voter; the voter computing device is adapted to send, via the data network, the voter identification data to the server; the server is adapted to store the voter identification data in the database; and the verifier computing device is adapted to send, via the data network, successful verification data to the server, the successful verification data representing the voter having been successfully verified.
  • the voter identification data comprises driver license data.
  • the driver license data representing at least one of a driver license number, a full name, a date of birth, an address, a license expiry date and an image of the voter.
  • the voter identification data comprises image data representing an image of an identification document.
  • the server is further adapted to send, via the data network, key data, the key data representing information for authenticating the voter computing device;
  • the server in sending the authentication data, is adapted to send, via the network, the key data to the verifier computing device.
  • the server is adapted to send, via the data network, the key data to the verifier computing device.
  • the server in sending the key data, is adapted to send, via the network, an email comprising the authentication data.
  • the server in sending the key data, is adapted to send, via the network, a short messaging service (SMS) message comprising the authentication data.
  • SMS short messaging service
  • the server is adapted to generate the key data in accordance with at least one of the voter identification data and the successful verification data.
  • the server is further adapted to store, in the database, the key data in relation to the voter verification data.
  • the key data comprises a password.
  • the password is unique.
  • the server is adapted to send, via the network, the key data to the voter computing device.
  • the voter computing device is further adapted to send, via the network, unlock data to the server in accordance with the key data; and
  • the server is further adapted to verify the voter computing device in accordance with the unlock data.
  • the verifier computing device is further adapted to receive, via the data network voter computing device, the voter identification data for verification of the voter identification data.
  • the voter computing device in sending the voter identification data to the server, is further adapted to send, via the data network to the server, unique device identifier data, the unique device identifier data representing a unique device identifier of the voter computing device.
  • the server in storing the voter identification data, is further adapted to store, in the database, the voter identification data in relation to the unique device identifier data.
  • the voter computing device is further adapted to send, via the data network to the server, the unlock data in relation to the unique device identifier data.
  • the server is further adapted to authenticate the voter computing device in accordance with the key data and the unique device identifier data.
  • a system for voting comprising a data network; an application server in communication with the data network, the application server comprising a database comprising eligible voter data representing eligible voters; and at least one computing device in communication with the data network and in operable communication with the application server, wherein: the at least one computing device is adapted to receive authentication credentials data representing authentication credentials from a voter; the at least one computing device is adapted to send the authentication credentials data to the application server; the application server is adapted to select, from the database, voter data in accordance with the authentication credentials data; the application server is adapted to authenticate the at least one computing device in accordance with the authentication credentials data and the voter data; the at least one computing device is adapted to receive vote selection data representing a vote selection from the voter; the at least one computing device is adapted to send the vote selection data to the application server; and the application server is adapted to increment a vote count in accordance with the vote selection data.
  • the authentication credentials data represents a username and password.
  • the authentication credentials data comprises image capture data representing an image capture of an object
  • the application server is adapted to employ image recognition technique in accordance with the image capture data in authenticating the at least one computing device.
  • the application server is adapted to calculate identification data representing an identification in accordance with the image capture data.
  • the application server is adapted to send, to an identification database, the identification data; and receive, from the identification database, validity data representing the validity of the identification.
  • the authentication credentials data comprises location data representing a location
  • the application server is adapted to calculate whether the location falls within a voting region in authenticating the at least one computing device.
  • the application server is adapted to send, to the at least one computing device, election details data representing election details of an election.
  • the election details data comprises election period data representing an election period.
  • the election details data comprises election registration data representing the registration status of the voter.
  • the application server is adapted to send, to the at least one computing device, candidate data representing at least one election candidate.
  • the candidate data comprises image data representing an image of the at least one election candidate.
  • the candidate data comprises election candidate identification data representing an identification of the at least one election candidate
  • the vote selection data comprises the election candidate identification data
  • the at least one computing device is a mobile computing device.
  • a computing device for voting comprising a processor for processing digital data; a memory device for storing digital data including computer program code and being coupled to the processor; a user interface for sending and receiving user Interface data and being coupled to the processor; and a data interface for sending and receiving data across a data network and being coupled to the processor, wherein the processor is controlled by the computer program code to: receive, via the user interface, authentication credentials data representing authentication credentials from a voter; send, via the data interface, the authentication credentials data to an application server; receive, via the user interface, vote selection data representing a vote selection from the voter; and send, via the data interface, the vote selection data to the application server.
  • the authentication credentials data represents a username and password.
  • the computing device further comprises an image capture device for capturing image data representing an image capture of an object and wherein the authentication credentials data comprises the image capture data.
  • the computing device further comprises a location sensing device adapted for generating location data representing a location, and wherein the authentication credentials data comprises the location data representing the location.
  • the processor is further controlled by the computer program code to receive, via the data interface election details data representing election details of an election.
  • the election details data comprises election period data representing an election period.
  • the election details data comprises election registration data representing the registration status of the voter.
  • the processor is further controlled by the computer program code to receive, via the date interface, candidate data representing at least one election candidate.
  • the candidate data comprises image data representing an image of the at least one election candidate.
  • the candidate data comprises election candidate identification data representing an identification of the at least one election candidate
  • the vote selection data comprises the election candidate identification data.
  • the computing device is a mobile computing device.
  • an application server for voting comprising a processor for processing digital data; a memory device for storing digital data including computer program code and being coupled to the processor; a database for storing digital data including eligible voter data representing eligible voters, the database being coupled to the processor; a data interface for sending and receiving data across a data network and being coupled to the processor, wherein the processor is controlled by the computer program code to receive, via the data interface, authentication credentials data from at least one computing device, select, from the database, voter data in accordance with the authentication credentials data; authenticate the at least one computing device in accordance with the authentication credentials data and the voter data; receive, via the data interface, vote selection data representing a vote selection from the voter; increment a vote count in accordance with the vote selection data.
  • the authentication credentials data represents a username and password.
  • the authentication credentials data comprises image capture data representing an image capture of an object
  • the processor is further controlled by the computer program code to employ image recognition technique in accordance with the image capture data in authenticating the at least one computing device.
  • the processor is further controlled by the computer program code to calculate identification data representing an identification in accordance with the image capture data.
  • the processor is further controlled by the computer program code to send, via the data interface, the identification data to an identification database; and receive, via the data interface, validity data representing the validity of the identification from the identification database.
  • the authentication credentials data comprises location data representing a location
  • the processor is further controlled by the computer program code to calculate whether the location falls within a voting region in authenticating the at least one computing device.
  • the processor is further controlled by the computer program code to send, via the date interface, election details data representing election details of an election to the at least one computing device.
  • the election details data comprises election period data representing an election period.
  • the election details data comprises election registration data representing the registration status of the voter.
  • the processor is further controlled by the computer program code to send, via the data interface candidate data representing at least one election candidate to the at least one computing device.
  • the candidate data comprises image data representing an image of the at least one election candidate.
  • the candidate data comprises election candidate identification data representing an identification of the at least one election candidate
  • the vote selection data comprises the election candidate identification data
  • the at least one computing device is a mobile computing device.
  • Fig. 1 shows a computing device on which the various embodiments described herein may be implemented in accordance with an embodiment of the present invention
  • Fig. 2 shows a network of computing devices on which the various embodiments described herein may be implemented in accordance with an embodiment of the present invention
  • Fig. 3 is a diagram showing steps of a computer implemented method for voting enumerating data interchange between an application server and a mobile communication device in recording a vote, in accordance with a preferred embodiment of the present invention
  • Figs. 4 to 6 show exemplary graphical user interfaces on which the various embodiments described herein may be implemented in accordance with a preferred embodiment of the present invention
  • Fig. 7 shows another network of computing devices on which the various embodiments described herein may be implemented in accordance with another embodiment of the present invention
  • Fig. 8 is a diagram showing steps of a computer implemented method for verifying a voter identity in an electronic voting system in accordance with a preferred embodiment of the present invention.
  • Figs. 9 to 11 show exemplary graphical user interfaces on which the various embodiments described herein may be implemented in accordance with a preferred embodiment of the present invention.
  • Fig. 1 shows a computing device 100 on which the various embodiments described herein may be implemented.
  • the computing device 100 may be configured in differing manners, such as an application server 210, a mobile communication device 220 or the like as described herein.
  • the steps of the method of voting may be implemented as computer program code instructions executable by the computing device 100.
  • the computer program code instructions may be divided into one or more computer program code instruction libraries, such as dynamic link libraries (DLL), wherein each of the libraries performs a one or more steps of the method. Additionally, a subset of the one or more of the libraries may perform graphical user interface tasks relating to the steps of the method.
  • DLL dynamic link libraries
  • the device 100 comprises semiconductor memory 110 comprising volatile memory such as random access memory (RAM) or read only memory (ROM).
  • RAM random access memory
  • ROM read only memory
  • the memory 100 may comprise either RAM or ROM or a combination of RAM and ROM.
  • the device 100 comprises a computer program code storage medium reader 130 for reading the computer program code instructions from computer program code storage media 120.
  • the storage media 120 may be optical media such as CD-ROM disks, magnetic media such as floppy disks and tape cassettes or flash media such as USB memory sticks.
  • the device further comprises I/O interface 140 for communicating with one or more peripheral devices.
  • the I/O interface 140 may offer both serial and parallel interface connectivity.
  • the I/O interface 140 may comprise a Small Computer System Interface (SCSI), Universal Serial Bus (USB) or similar I/O interface for interfacing with the storage medium reader 130.
  • the I/O interface 140 may also communicate with one or more human input devices (HID) 160 such as keyboards, pointing devices, joysticks and the like.
  • the I/O interface 140 may also comprise a computer to computer interface, such as a Recommended Standard 232 (RS-232) interface, for interfacing the device 100 with one or more personal computer (PC) devices 190.
  • the I/O interface 140 may also comprise an audio interface for communicate audio signals to one or more audio devices 1050, such as a speaker or a buzzer.
  • the device 100 also comprises a network interface 170 for communicating with one or more computer networks 180.
  • the network 180 may be a wired network, such as a wired EthernetTM network or a wireless network, such as a BluetoothTM network or IEEE 802.11 network.
  • the network 180 may be a local area network (LAN), such as a home or office computer network, or a wide area network (WAN), such as the Internet or private WAN.
  • LAN local area network
  • WAN wide area network
  • the device 100 comprises an arithmetic logic unit or processor 1000 for performing the computer program code instructions.
  • the processor 1000 may be a reduced instruction set computer (RISC) or complex instruction set computer (CISC) processor or the like.
  • the device 100 further comprises a storage device 1030, such as a magnetic disk hard drive or a solid state disk drive.
  • Computer program code instructions may be loaded into the storage device 1030 from the storage media 120 using the storage medium reader 130 or from the network 180 using network interface 170.
  • an operating system and one or more software applications are loaded from the storage device 1030 into the memory 110.
  • the processor 1000 fetches computer program code instructions from memory 110, decodes the instructions into machine code, executes the instructions and stores one or more intermediate results in memory 100.
  • the instructions stored in the memory 110 when retrieved and executed by the processor 1000, may configure the computing device 100 as a special-purpose machine that may perform the functions described herein.
  • the device 100 also comprises a video interface 1010 for conveying video signals to a display device 1020, such as a liquid crystal display (LCD), cathode-ray tube (CRT) or similar display device.
  • a display device 1020 such as a liquid crystal display (LCD), cathode-ray tube (CRT) or similar display device.
  • LCD liquid crystal display
  • CRT cathode-ray tube
  • the device 100 also comprises a communication bus subsystem 150 for interconnecting the various devices described above.
  • the bus subsystem 150 may offer parallel connectivity such as Industry Standard Architecture (ISA), conventional Peripheral Component Interconnect (PCI) and the like or serial connectivity such as PCI Express (PCIe), Serial Advanced Technology Attachment (Serial ATA) and the like.
  • ISA Industry Standard Architecture
  • PCI Peripheral Component Interconnect
  • PCIe PCI Express
  • Serial Advanced Technology Attachment Serial ATA
  • Fig. 2 shows a system 200 of computing devices 100 on which the various embodiments described herein may be implemented for the purposes of receiving votes from a plurality of voters.
  • the system 200 comprises an application server 210 in operable communication with one or more mobile communication device is 220 across a communication network such as the Internet 230.
  • the application server 210 takes the form of a web server serving web pages.
  • the web server 210 is provided with a web server application 240 for receiving requests, such as Hypertext Transfer Protocol (HTTP) and File Transfer Protocol (FTP) requests, and serving hypertext web pages or files in response.
  • the web server application 240 may be, for example the ApacheTM or the MicrosoftTM IIS HTTP server.
  • the web server 210 is also provided with a hypertext preprocessor 250 for processing one or more web page templates 260 and data from one or more databases 270 to generate hypertext web pages.
  • the hypertext preprocessor may, for example, be the PHP: Hypertext Preprocessor (PHP) or Microsoft AspTM hypertext preprocessor.
  • the web server 210 is also provided with web page templates 260, such as one or more PHP or ASP files.
  • the hypertext preprocessor 250 Upon receiving a request from the web server application 240, the hypertext preprocessor 250 is operable to retrieve a web page template, from the web page templates 260, execute any dynamic content therein, including updating or loading information from the one or more databases 270, to compose a hypertext web page.
  • the composed hypertext web page may comprise client side code, such as Javascript, for Document Object Model (DOM) manipulating, asynchronous HTTP requests and the like.
  • the application server 210 need not necessarily take the embodiment of a web server and may, for example, employ other communication mechanisms such as propriety data interchange for the purposes of security in the voting process.
  • the mobile communication devices 220 are provided with a browser application 280, such as the Mozilla FirefoxTM or Microsoft Internet ExplorerTM browser applications.
  • the browser application 280 requests hypertext web pages from the web server 210 and renders the hypertext web pages on a display device 1020.
  • Fig. 3 shows a computer implemented method 300 for voting enumerating the data interchange between the application server 210 and the mobile communication device 220 in recording a vote.
  • the method 300 is executed by one or more computing devices 100 and in particular one or more computing devices 100 connected across the Internet 230 as substantially shown in Fig. 2. Particularly, the method 300 shows the data interchange between the mobile communication device 220 on the application server 210.
  • the mobile communication device 220 need not necessarily be a mobile communication device and may take on embodiments of other computing devices as the case may be, such as a standalone computing devices, tablet computing devices and the like.
  • the application server 210 need not necessarily be a web server and may take on other embodiments as the case may be including servers 220 adapted for communication across other network apologies and types such as a server 220 adapted for implementing a propriety communication protocol, communicate across a virtual private network and the like.
  • the data network 180 need not necessarily be the Internet network 230 let alone a distributed network.
  • the data network 180 may comprise short-range networks such as a local area network.
  • the network 118 need not necessarily send and received packetised data as described herein and may employ other communication protocol as the case may be.
  • the application server 210 comprises a database 270 comprising eligible voter data representing a plurality of voters who are eligible to vote in a particular election.
  • the voter data may comprise differing data fields but typically comprises a voter identification such as the name, address, date of birth and the like of a voter and may further more comprise additional information such as election eligibility data representing whether the voter is eligible to vote in a particular election. Additional information may be recorded such as the age, gender and the like of the voter including the voter's current registration status, registration expiry date, date of registration and the like.
  • the method 300 starts at step 305 where the mobile communication device 220 is adapted to receive authentication credentials data representing authentication credentials from a voter.
  • the authentication credentials comprise an ID number (username) and a password.
  • the voter may be provided with a secure ID number and password.
  • the voter may be required to initially attend a registration station to manually complete the registration process and received from the registration station, the ID number and password.
  • the ID number and password may be provided to the voter by other means, such as by mail outs, or other communication mechanisms such as e-mail SMS and the like.
  • the registration process comprises identity verification procedures so as to negate the risk of an authorised supply of ID numbers and passwords.
  • the voter may be required to provide various forms of identification such as a utility bill indicating an address of the voter, photo identification and the like.
  • the ID number may be a unique number already assigned to the voter, such as a driver's licence identification number, passport number, tax number or the like.
  • the network 200 may be provided with authorised mobile communication devices 220 adapted for use by one or more authorised individuals, such as election officials. In this manner, each of the authorised mobile communication devices 220 may be adapted for the purposes of generating or making available the secure ID and password information to a voter.
  • the election official need only travel door-to-door, or prospective voters visit the election official, wherein the election official verifies the identity of each voter and, having confirmed the identity of each voter, operates the authorised mobile communication device 220 so as to generate a unique ID number and password for the voter.
  • the system 200 may be adapted to store session data on the mobile communication device 220 for additional security.
  • the system 200 may be adapted to store in the memory 110 of the mobile communication device 220 further unique data, such as data stored by way of a cookie where web server technology is employed.
  • the further unique data may be sent in addition to the ID number and password provided by the voter.
  • the unique data may be provided alternative to the ID number and password such that, for example, once having authenticated with the application server 210, the voter need not input the ID number and password again during a certain time period.
  • the system 200 may be adapted for receiving alternative or additional information for the purposes of authenticating a voter.
  • the mobile communication device 220 may be adapted to direct the voter to capture image data of the voters drivers license (or other identification document such as a passport) such that the noble dedication device 200 is adapted to send the image capture data to the application server for the purposes of authentication or registration.
  • the system 200 may be adapted to receive the image capture data, perform an image recognition technique to identify and identification number from the image capture data (such as a driver's licence ID number located at the Copyright of a drivers license card), and, in one embodiment, send the licence ID number to an identification database 280 for the purposes of verifying the validity of the licence ID number. Having received confirmation from the identification database 280 as to the validity of the licence
  • the application server 210 may be adapted to register the voter and generates a unique ID and password for the voter.
  • the voter already having been registered with the system 200 by means of the image capture of the voters drivers license, need only input the ID number and password provided by the application server 210 for the purpose of placing a vote.
  • the system 200 may be adapted such that the ID number and password have a certain lifespan during which the voter may vote for different elections and, after the expiry of the ID number and password, the system 200 may require the voter to complete the registration process again.
  • the system 200 may be adapted such that the person must upload a photo of their drivers license each time the voter places a vote. This image capture data may be required by the system alternatively or additionally to the ID number and password provided to the voter.
  • each voter may be provided with an RFID dongle adapted for use by the mobile community device 220 for the purposes of receiving RFID data from an RFID tag, such as an RFID tag provided in a "smart" passport.
  • the system 200 may be adapted for the purposes of registering and or receiving votes from voters only within a certain location.
  • the mobile communication device 220 may be adapted to receive location data from a GPS unit of the mobile communication device 220 and sent the location data to the application server.
  • the application server 210 may be adapted to verify that the location of the mobile communication device 220 at the time of registration is within a certain radius (such as 200 m) of a known registration station before registering the mobile communication device 220.
  • this location methodology may be employed also for the purposes of authenticating the voter, such as by restricting voters from voting from proximity of their known home address, known registration station or the like.
  • the mobile communication device 220 is adapted to send the authentication credentials data to the application server 210.
  • the mobile communication device 220 establish as a secure connection with the application server such as by way of a secure socket layer so as to prevent eavesdropping of the authenticated credentials.
  • the application server 210 is adapted to select, from the database 270, voter data in accordance with the authentication credentials data.
  • the application server 210 may be adapted to select voter data in accordance with the ID number provided by the voter.
  • the voter data may comprise a checksum or hash (such as an MD5 hash) of the password data for the voter so as to be used for the purposes of authenticating the voter as described below.
  • the application server 210 is adapted to authenticate the mobile communication device 220 in accordance with the authentication credentials data and the voter data, such as by comparing the above-mentioned hash against the provided password. Should the authentication credentials prove incorrect the application server 210 may be adapted to send indication of such unsuccessful authentication back to the mobile communication device 220 so as to prompt the voter to correct the provided information.
  • the system 200 may be adapted to record a number of unsuccessful authentication requests and showed a threshold number be exceeded, block the mobile communication device 220 from further attempts either permanently rental registration is completed again, or temporarily.
  • the application server 210 may be adapted to send data to the mobile communication device 220 for presentation so as to allow the voter to make a vote selection.
  • the interface 600 comprises a plurality of candidate's for each of which the voter may vote.
  • the candidate is shown need not necessarily be people but may be parties also.
  • the interface 600 may be adapted for implementing various voting types, such as a single voting selection for a preferred party, in ranking of candidate's in accordance with preference and the like.
  • the mobile communication device 220 is adapted to receive vote selection data representing a vote selection from the voter.
  • the voter activates the vote button of interface 600 adjacent the appropriate candidate.
  • the mobile communication device 220 is adapted to send the vote selection data to the application server 210.
  • the application server 210 is adapted to receive the vote selection data from the mobile communication device 220 and increments a vote count in accordance with the vote selection data.
  • the candidate data provided by the application server 210 to the mobile communication device 220 may comprise a unique candidate identification for each candidate.
  • the vote selection data comprises the candidate identification data for the candidate chosen by the voter.
  • the application server 210 is adapted to increment the vote count in relation to a particular candidate in accordance with the candidate identification number.
  • the system 200 may be adapted to bar the voter from placing further votes, such as by providing an indication that the user has already voted for a particular election.
  • an election may run for a certain time period, during which the voter may amend the voters original vote. In this manner, the voters vote at the time of the termination of the voting period would be the vote that constitutes the voters vote.
  • the application server 210 is adapted to send election details data to the mobile communication device 220.
  • the election details comprises the date of the next election (or current election time period such as the time remaining in which to vote), the election details (such as a municipal or Federal election) and the users registration status.
  • the system 200 may also be adapted for executing a method for verifying a voter (i.e. a user of the system 200) identity in a voting event, such as a presidential election.
  • the system 200 in this embodiment may be adapted for verifying a voter identity. It is worth noting that, in this embodiment, the system 200 further comprises a verifier computing device 710 in communication with the data network 230 (e.g. the Internet) and in operable communication with the server 210. Also, in the embodiments described below, the application server 210 will be referred to as “the server 210", and the mobile communication device 220 will be referred to as "the voter computing device 220.
  • the ID database 280 in this embodiment is adapted for storing voter identification data representing identification information of at least one voter. Such identification information may comprise, for example, names, addresses, phone numbers and images, as will become apparent below.
  • the database 280 is shown to be operably coupled to the server 210 via the data network 230, in another arrangement, the database 280 may be operably coupled to the server 210 by other means.
  • the server 210 may comprise the database 280.
  • the voter computing device 220 may be any computing device (e.g. an iPhone, a smart phone or a personal computer) through which a voter may authenticate and communicate with the server 210.
  • the verifier computing device 710 may be any computing device (e.g. an iPhone, a smart phone and a personal computer) provided at any suitable locations (e.g. a post office or a school), for the purpose of voter identity verification. These locations will be referred to as "identity verification locations".
  • the server 210, the voter computing device 220 and the verifier computing device 710 are adapted to execute a preferred embodiment of a method for verifying a voter identity.
  • the method starts at step 805, where the voter computing device 220 receives voter identification data.
  • Figure 9 shows an exemplary interface 900 for user (i.e. voter) input of identification information.
  • the voter identification data comprises driver license data.
  • the driver license data may represent a driver license number, a full name, date of birth, an address, and a license expiry date.
  • the user may select an image to be sent to the server 210.
  • the user may click an image selection button 920 to select an image file, or may click an image capture button 930 to capture an image (e.g. using a camera 1060 of the voter computing device 220, see figure 1), for sending to the server 210.
  • the image selected or captured may be a self-portrait image of the voter, or an image of any relevant documents (e.g. a driver license document). That is, the voter identification data to be sent to the server 210 may also comprise image data representing the image.
  • the exemplary interface 900 may also be adapted for attachment of electronic identification file for verification purpose.
  • the voter computing device 220 is adapted to send, via the data network 230, the voter identification data to the server 210.
  • the voter may send the voter identification data to the server 210 by clicking a send button 940 in the exemplary interface 900. Once the user clicks the send button 940, the voter identification data representing information inputted by the user in the exemplary interface 900 is sent to the server 210 via the data network 230.
  • the voter identification data may be sent to the server 210 in various forms, such as email attachments (i.e.
  • the server 210 is adapted to register (e.g. record) the voter identification data in the database 280.
  • Shown in figure 10 is an exemplary interface 1070 showing a message 1080 indicating that the voter identification data of the user has been successfully registered in the database 280.
  • the user may proceed to any location provided with the verifier computing device 710, as alluded to above.
  • the verifier computing device 710 is a mobile computing device (e.g. an iPhone)
  • verification of the voter identity does not have to take place at the abovementioned locations.
  • the verifier computing device 710 may be carried to other locations (e.g. postal addresses of the voters) for the purpose of voter identity verification.
  • This arrangement may be particularly useful where the voter may be unable to proceed to the identity verification locations. For example, some voters may be physically disabled.
  • the voter may present his or her driver's licence or the like for verification by the staff.
  • the staff may use the verifier computing device 710 to send, via the data network 230, successful verification data to the server 210.
  • the successful verification data indicates the voter having been successfully verified.
  • the method may further comprise additional steps.
  • the server 210 is adapted to send, via the data network 230, key data representing information for authenticating the voter computing device 220 (described below).
  • the key data is to be provided to the voter.
  • the server 210 is adapted to send, via the data network 230, the key data to the verifier computing device 710, such that, upon receipt of the key data, the staff may provide the key data to the voter.
  • the server 210 may be adapted to send the key data directly to the voter computing device 220 (described below).
  • Sending of the key data to the verifier computing device 710 or to the voter computing device 220 may take on several embodiments.
  • the server 210 may send an email comprising the key data in one arrangement, and may send a short messaging service (SMS) message comprising the key data in another arrangement.
  • SMS short messaging service
  • the server 210 may be adapted for generating the key data in accordance with at least one of the voter identification data and the successful verification data corresponding to the voter. Also, in another embodiment where the key data has already been generated and stored in the database 280, the server 210 may be configured to send the key data from the database 280.
  • the server 210 may be configured to store, in the database 280, the key data in relation to the corresponding voter identification data (i.e. the voter identification data of the voter for which the key data is provided).
  • the key data may take on several embodiments.
  • the key data comprises a password, a passcode, or the like, which may be unique in the database 280.
  • the key data may be non-unique. That is, the key data provided for one voter may be identical to that provided for another voter.
  • the password may comprise a combination of numbers, letters and symbols.
  • the server 210 may be adapted send in the key data directly to the voter (e.g. to the voter computing device 220).
  • This arrangement may be convenient where the identity of the voter is verified remotely from, for example, home or the like. Also, this arrangement may spare the need of the staff providing or forwarding the key data to the voter.
  • the voter may send unlock data to the server 210 for authenticating with the server 210 to access various services.
  • the voter may use the voter computing device 220 to send, via the network 230, unlock data to the server 210 in accordance with the key data.
  • Shown in figure 11 is an exemplary interface 1100 for user input of the unlock data (marked by line 1110).
  • the user may, for example, access various services pertaining to the voting event (e.g. cast a vote and view the live result).
  • the unlock data may, in one embodiment, be identical to the key data. However, in another embodiment, the unlock data may be obtained based on the key data.
  • the voter computing device 220 may be adapted to calculate (or compute) the unlock data based on the key data in accordance with a preconfigured algorithm.
  • Such an algorithm may in one embodiment comprise public-private-key encryption techniques for improved security.
  • the server is further adapted to verify the voter computing device 220 in accordance with the unlock data. More particularly, if the unlock data received from the voter computing device 220 corresponds to the key data provided to the voter, the unlock data is successfully verified as being sent from the voter. In the case where the unlock data received from the voter computing device 220 does not correspond to the key data provided to the voter, the server 210 is adapted to send an error message to the voter computing device 220, indicating the unlock data being rejected by the server 210. Therefore, it is possible to configure the system 200 such that only the voter computing device 220 of the intended voter may obtain the correct unlock data. In other words, in a situation where the key data is stolen, the likelihood of misuse is reduced.
  • the voter may in one embodiment send an image of the identify document (e.g. a driver's license) to the verifier computing device 710 for identity verification. That is, the verifier computing device 710 may be adapted to receive, via the data network 230, the corresponding image data for verification of the voter identification data. It should be noted that the computing device by which the voter sends the unlock data may be different from the computing device by which the voter sends the voter identification data.
  • Unique device identifier UDID
  • system 200 should be adapted such that the server 210 receives the unlock data only from the voter computing device 220 from which the voter identification data is received. This may have the effect of improved security. For example, this arrangement may be reduce the likelihood of the key data belonging to a particular user being stolen for misuse.
  • the voter computing device 220 comprises a unique device identifier (UDID)
  • the voter computing device 220 may further be adapted to further send, via the data network 230, UDID data to the server 210.
  • the UDID data represents the UDID of the voter computing device 220.
  • the server 210 may be adapted to store the voter identification data in relation to the UDID data.
  • the voter computing device 220 may further be adapted to further send, via the data network 230, the UDID data to the server 210.
  • the server 210 may be adapted to compare the UDID data received with the unlock data and the UDID data received with the voter identification data.
  • the server 210 may be adapted to accept the unlock data if the comparison indicates a match in the UDID data, and to reject the unlock data if otherwise.
  • bus and its derivatives, while being described in a preferred embodiment as being a communication bus subsystem for interconnecting various devices including by way of parallel connectivity such as Industry Standard Architecture (ISA), conventional Peripheral Component Interconnect (PCI) and the like or serial connectivity such as PCI Express (PCIe), Serial Advanced Technology Attachment (Serial ATA) and the like, should be construed broadly herein as any system for communicating data.
  • parallel connectivity such as Industry Standard Architecture (ISA), conventional Peripheral Component Interconnect (PCI) and the like or serial connectivity such as PCI Express (PCIe), Serial Advanced Technology Attachment (Serial ATA) and the like
  • PCIe PCI Express
  • Serial Advanced Technology Attachment Serial ATA
  • 'a computer implemented method' should not necessarily be inferred as being performed by a single computing device such that the steps of the method may be performed by more than one cooperating computing devices.
  • objects as used herein such as 'web server', 'server', 'client computing device', 'computer readable medium' and the like should not necessarily be construed as being a single object, and may be implemented as a two or more objects in cooperation, such as, for example, a web server being construed as two or more web servers in a server farm cooperating to achieve a desired goal or a computer readable medium being distributed in a composite manner, such as program code being provided on a compact disk activatable by a license key downloadable from a computer network.
  • database and its derivatives may be used to describe a single database, a set of databases, a system of databases or the like.
  • the system of databases may comprise a set of databases wherein the set of databases may be stored on a single implementation or span across multiple implementations.
  • database is also not limited to refer to a certain database format rather may refer to any database format.
  • database formats may include MySQL, MySQLi , XML or the like.
  • the invention may be embodied using devices conforming to other network standards and for other applications, including, for example other WLAN standards and other wireless standards.
  • Applications that can be accommodated include IEEE 802.11 wireless LANs and links, and wireless Ethernet.
  • wireless and its derivatives may be used to describe circuits, devices, systems, methods, techniques, communications channels, etc., that may communicate data through the use of modulated electromagnetic radiation through a non-solid medium. The term does not imply that the associated devices do not contain any wires, although in some embodiments they might not. In the context of this document, the term “wired” and its derivatives may be used to describe circuits, devices, systems, methods, techniques, communications channels, etc., that may communicate data through the use of modulated electromagnetic radiation through a solid medium. The term does not imply that the associated devices are coupled by electrically conductive wires. Processes:
  • processor may refer to any device or portion of a device that processes electronic data, e.g., from registers and/or memory to transform that electronic data into other electronic data that, e.g., may be stored in registers and/or memory.
  • a "computer” or a “computing device” or a “computing machine” or a “computing platform” may include one or more processors.
  • the methodologies described herein are, in one embodiment, performable by one or more processors that accept computer-readable (also called machine-readable) code containing a set of instructions that when executed by one or more of the processors carry out at least one of the methods described herein.
  • Any processor capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken are included.
  • a typical processing system that includes one or more processors.
  • the processing system further may include a memory subsystem including main RAM and/or a static RAM, and/or ROM.
  • a computer-readable carrier medium may form, or be included in a computer program product.
  • a computer program product can be stored on a computer usable carrier medium, the computer program product comprising a computer readable program means for causing a processor to perform a method as described herein.
  • the one or more processors operate as a standalone device or may be connected, e.g., networked to other processor(s), in a networked deployment, the one or more processors may operate in the capacity of a server or a client machine in server-client network environment, or as a peer machine in a peer-to-peer or distributed network environment.
  • the one or more processors may form a web appliance, a network router, switch or bridge, or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine.
  • each of the methods described herein is in the form of a computer- readable carrier medium carrying a set of instructions, e.g., a computer program that are for execution on one or more processors.
  • embodiments of the present invention may be embodied as a method, an apparatus such as a special purpose apparatus, an apparatus such as a data processing system, or a computer-readable carrier medium.
  • the computer-readable carrier medium carries computer readable code including a set of instructions that when executed on one or more processors cause a processor or processors to implement a method.
  • aspects of the present invention may take the form of a method, an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects.
  • the present invention may take the form of carrier medium (e.g., a computer program product on a computer-readable storage medium) carrying computer-readable program code embodied in the medium.
  • the software may further be transmitted or received over a network via a network interface device.
  • the carrier medium is shown in an example embodiment to be a single medium, the term “carrier medium” should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more sets of instructions.
  • the term “carrier medium” shall also be taken to include any medium that is capable of storing, encoding or carrying a set of instructions for execution by one or more of the processors and that cause the one or more processors to perform any one or more of the methodologies of the present invention.
  • a carrier medium may take many forms, including but not limited to, non-volatile media, volatile media, and transmission media.
  • a processor with the necessary instructions for carrying out such a method or element of a method forms a means for carrying out the method or element of a method.
  • an element described herein of an apparatus embodiment is an example of a means for carrying out the function performed by the element for the purpose of carrying out the invention.
  • a device A connected to a device B should not be limited to devices or systems wherein an output of device A is directly connected to an input of device B. It means that there exists a path between an output of A and an input of B which may be a path including other devices or means.
  • Connected may mean that two or more elements are either in direct physical or electrical contact, or that two or more elements are not in direct contact with each other but yet still cooperate or interact with each other.

Abstract

A system for verifying a voter identity in an electronic voting system, the system comprising a data network, a server in communication with the data network, the server comprising a database adapted for storing voter identification data representing identification information of at least one voter; a verifier computing device in communication with the data network and in operable communication with the server; and a voter computing device in communication with the data network and in operable communication with the server; wherein, in use the voter computing device is adapted to receive voter identification data and adapted to send, via the data network, the voter identification data to the server, the server is adapted to store the voter identification data in the database and the verifier computing device is adapted to send, via the data network, successful verification data representing the voter having been successfully verified to the server.

Description

A SYSTEM, COMPUTING DEVICE AND APPLICATION SERVER FOR VOTING
Field of the Invention
The present invention relates to electronic voting and in particular to a system, computing device and application server for voting. Background
Periodic voting is conducted in democratic countries around the world at municipal, provincial and national levels. So as to ensure against vote rigging, fraud and the like, such voting is normally a manual exercise wherein eligible voters attend registration stations for face-to-face identification and a manual recordal of votes. At the completion of voting, the paper votes are counted and the results tallied.
However, such a manual voting techniques are labour-intensive and expensive especially in highly populated countries such as India having 1.2 billion inhabitants.
Klein (U.S. 2011/0053559) discloses a conventional GPS location authentication method for mobile voting, which, through comparing GPS coordinate representations of postal addresses of voters with geographical locations of mobile devices from which internet votes of the voters are received, rejects the internet votes if the corresponding mobile devices are not located within a predetermined distance from the corresponding postal addresses This method has several downsides.
Firstly, since indoor GPS reception is generally poor, for the method to be practicable, the voters may have to send the internet votes to the server from outdoor. Also, in poor weather condition, this method may fail due to poor GPS reception even at outdoor.
Secondly, although location of the mobile devices may be determined by basestation triangulation techniques, the results may be significantly inaccurate relative to those obtained by means of GPS. As a result, some voters located the edge of the respective election areas may thus be unable to vote due to the inaccuracy.
Thirdly, where the voting event is open to eligible voters not located within the predetermined distance from their respective postal addresses, the conventional GPS location authentication method may unnecessarily prevent eligible voters from voting. For example, when the eligible voters are on a trip or living in another area, they may be unable to vote. As such, this method may unnecessarily limit the usefulness and convenience of the Internet. It is to be understood that, if any prior art information is referred to herein, such reference does not constitute an admission that the information forms part of the common general knowledge in the art, in Australia or any other country.
Summary The invention seeks to provide a system, computing device and application server for voting which will overcome or substantially ameliorate at least some of the deficiencies of the prior art, or to at least provide an alternative.
According to one aspect, there is provided a system for verifying a voter identity in an electronic voting system. The system comprises: a data network; a server in communication with the data network, the server comprising a database, the database being adapted for storing voter identification data representing identification information of at least one voter; a verifier computing device in communication with the data network and in operable communication with the server; and a voter computing device in communication with the data network and in operable communication with the server. In use: the voter computing device is adapted to receive voter identification data, the voter identification data representing identification information of the voter; the voter computing device is adapted to send, via the data network, the voter identification data to the server; the server is adapted to store the voter identification data in the database; and the verifier computing device is adapted to send, via the data network, successful verification data to the server, the successful verification data representing the voter having been successfully verified.
Preferably, the voter identification data comprises driver license data.
Preferably, the driver license data representing at least one of a driver license number, a full name, a date of birth, an address, a license expiry date and an image of the voter.
Preferably, the voter identification data comprises image data representing an image of an identification document.
Preferably, the server is further adapted to send, via the data network, key data, the key data representing information for authenticating the voter computing device;
Preferably, in sending the authentication data, the server is adapted to send, via the network, the key data to the verifier computing device. Preferably, in sending the key data, the server is adapted to send, via the data network, the key data to the verifier computing device. Preferably, in sending the key data, the server is adapted to send, via the network, an email comprising the authentication data.
Preferably, in sending the key data, the server is adapted to send, via the network, a short messaging service (SMS) message comprising the authentication data. Preferably, the server is adapted to generate the key data in accordance with at least one of the voter identification data and the successful verification data.
Preferably, the server is further adapted to store, in the database, the key data in relation to the voter verification data.
Preferably, the key data comprises a password. Preferably, the password is unique.
Preferably, in sending the key data, the server is adapted to send, via the network, the key data to the voter computing device.
Preferably, the voter computing device is further adapted to send, via the network, unlock data to the server in accordance with the key data; and Preferably, the server is further adapted to verify the voter computing device in accordance with the unlock data.
Preferably, the verifier computing device is further adapted to receive, via the data network voter computing device, the voter identification data for verification of the voter identification data.
Preferably, in sending the voter identification data to the server, the voter computing device is further adapted to send, via the data network to the server, unique device identifier data, the unique device identifier data representing a unique device identifier of the voter computing device.
Preferably, in storing the voter identification data, the server is further adapted to store, in the database, the voter identification data in relation to the unique device identifier data.
Preferably, in sending the key data, the voter computing device is further adapted to send, via the data network to the server, the unlock data in relation to the unique device identifier data.
Preferably, in authenticating the voter computing device, the server is further adapted to authenticate the voter computing device in accordance with the key data and the unique device identifier data.
According to another aspect, there is provided a system for voting comprising a data network; an application server in communication with the data network, the application server comprising a database comprising eligible voter data representing eligible voters; and at least one computing device in communication with the data network and in operable communication with the application server, wherein: the at least one computing device is adapted to receive authentication credentials data representing authentication credentials from a voter; the at least one computing device is adapted to send the authentication credentials data to the application server; the application server is adapted to select, from the database, voter data in accordance with the authentication credentials data; the application server is adapted to authenticate the at least one computing device in accordance with the authentication credentials data and the voter data; the at least one computing device is adapted to receive vote selection data representing a vote selection from the voter; the at least one computing device is adapted to send the vote selection data to the application server; and the application server is adapted to increment a vote count in accordance with the vote selection data.
Preferably, the authentication credentials data represents a username and password.
Preferably, the authentication credentials data comprises image capture data representing an image capture of an object, and wherein the application server is adapted to employ image recognition technique in accordance with the image capture data in authenticating the at least one computing device.
Preferably, the application server is adapted to calculate identification data representing an identification in accordance with the image capture data.
Preferably, the application server is adapted to send, to an identification database, the identification data; and receive, from the identification database, validity data representing the validity of the identification.
Preferably, the authentication credentials data comprises location data representing a location, and wherein the application server is adapted to calculate whether the location falls within a voting region in authenticating the at least one computing device. Preferably, the application server is adapted to send, to the at least one computing device, election details data representing election details of an election.
Preferably, the election details data comprises election period data representing an election period.
Preferably, the election details data comprises election registration data representing the registration status of the voter. Preferably, the application server is adapted to send, to the at least one computing device, candidate data representing at least one election candidate. Preferably, the candidate data comprises image data representing an image of the at least one election candidate.
Preferably, the candidate data comprises election candidate identification data representing an identification of the at least one election candidate Preferably, the vote selection data comprises the election candidate identification data.
Preferably, the at least one computing device is a mobile computing device.
According to another aspect, there is provided a computing device for voting, the computing device comprising a processor for processing digital data; a memory device for storing digital data including computer program code and being coupled to the processor; a user interface for sending and receiving user Interface data and being coupled to the processor; and a data interface for sending and receiving data across a data network and being coupled to the processor, wherein the processor is controlled by the computer program code to: receive, via the user interface, authentication credentials data representing authentication credentials from a voter; send, via the data interface, the authentication credentials data to an application server; receive, via the user interface, vote selection data representing a vote selection from the voter; and send, via the data interface, the vote selection data to the application server.
Preferably, the authentication credentials data represents a username and password.
Preferably, the computing device further comprises an image capture device for capturing image data representing an image capture of an object and wherein the authentication credentials data comprises the image capture data.
Preferably, the computing device further comprises a location sensing device adapted for generating location data representing a location, and wherein the authentication credentials data comprises the location data representing the location.
Preferably, the processor is further controlled by the computer program code to receive, via the data interface election details data representing election details of an election.
Preferably, the election details data comprises election period data representing an election period.
Preferably, the election details data comprises election registration data representing the registration status of the voter.
Preferably, the processor is further controlled by the computer program code to receive, via the date interface, candidate data representing at least one election candidate.
Preferably, the candidate data comprises image data representing an image of the at least one election candidate. Preferably, the candidate data comprises election candidate identification data representing an identification of the at least one election candidate
Preferably, the vote selection data comprises the election candidate identification data.
Preferably, the computing device is a mobile computing device. According to another aspect, there is provided an application server for voting, the computing device comprising a processor for processing digital data; a memory device for storing digital data including computer program code and being coupled to the processor; a database for storing digital data including eligible voter data representing eligible voters, the database being coupled to the processor; a data interface for sending and receiving data across a data network and being coupled to the processor, wherein the processor is controlled by the computer program code to receive, via the data interface, authentication credentials data from at least one computing device, select, from the database, voter data in accordance with the authentication credentials data; authenticate the at least one computing device in accordance with the authentication credentials data and the voter data; receive, via the data interface, vote selection data representing a vote selection from the voter; increment a vote count in accordance with the vote selection data.
Preferably, the authentication credentials data represents a username and password.
Preferably, the authentication credentials data comprises image capture data representing an image capture of an object, and wherein the processor is further controlled by the computer program code to employ image recognition technique in accordance with the image capture data in authenticating the at least one computing device.
Preferably, the processor is further controlled by the computer program code to calculate identification data representing an identification in accordance with the image capture data.
Preferably, the processor is further controlled by the computer program code to send, via the data interface, the identification data to an identification database; and receive, via the data interface, validity data representing the validity of the identification from the identification database.
Preferably, the authentication credentials data comprises location data representing a location, and wherein the processor is further controlled by the computer program code to calculate whether the location falls within a voting region in authenticating the at least one computing device.
Preferably, the processor is further controlled by the computer program code to send, via the date interface, election details data representing election details of an election to the at least one computing device.
Preferably, the election details data comprises election period data representing an election period. Preferably, the election details data comprises election registration data representing the registration status of the voter.
Preferably, the processor is further controlled by the computer program code to send, via the data interface candidate data representing at least one election candidate to the at least one computing device.
Preferably, the candidate data comprises image data representing an image of the at least one election candidate.
Preferably, the candidate data comprises election candidate identification data representing an identification of the at least one election candidate Preferably, the vote selection data comprises the election candidate identification data.
Preferably, the at least one computing device is a mobile computing device.
Other aspects of the invention are also disclosed.
Brief Description of the Drawings
Notwithstanding any other forms which may fall within the scope of the present invention, preferred embodiments of the invention will now be described, by way of example only, with reference to the accompanying drawings in which:
Fig. 1 shows a computing device on which the various embodiments described herein may be implemented in accordance with an embodiment of the present invention;
Fig. 2 shows a network of computing devices on which the various embodiments described herein may be implemented in accordance with an embodiment of the present invention;
Fig. 3 is a diagram showing steps of a computer implemented method for voting enumerating data interchange between an application server and a mobile communication device in recording a vote, in accordance with a preferred embodiment of the present invention;
Figs. 4 to 6 show exemplary graphical user interfaces on which the various embodiments described herein may be implemented in accordance with a preferred embodiment of the present invention;
Fig. 7 shows another network of computing devices on which the various embodiments described herein may be implemented in accordance with another embodiment of the present invention; Fig. 8 is a diagram showing steps of a computer implemented method for verifying a voter identity in an electronic voting system in accordance with a preferred embodiment of the present invention; and
Figs. 9 to 11 show exemplary graphical user interfaces on which the various embodiments described herein may be implemented in accordance with a preferred embodiment of the present invention.
Description of Embodiments
It should be noted in the following description that like or the same reference numerals in different embodiments denote the same or similar features. Computing device
Fig. 1 shows a computing device 100 on which the various embodiments described herein may be implemented. It should be noted that the computing device 100 may be configured in differing manners, such as an application server 210, a mobile communication device 220 or the like as described herein. The steps of the method of voting (described in further detail below) may be implemented as computer program code instructions executable by the computing device 100. The computer program code instructions may be divided into one or more computer program code instruction libraries, such as dynamic link libraries (DLL), wherein each of the libraries performs a one or more steps of the method. Additionally, a subset of the one or more of the libraries may perform graphical user interface tasks relating to the steps of the method.
The device 100 comprises semiconductor memory 110 comprising volatile memory such as random access memory (RAM) or read only memory (ROM). The memory 100 may comprise either RAM or ROM or a combination of RAM and ROM.
The device 100 comprises a computer program code storage medium reader 130 for reading the computer program code instructions from computer program code storage media 120. The storage media 120 may be optical media such as CD-ROM disks, magnetic media such as floppy disks and tape cassettes or flash media such as USB memory sticks.
The device further comprises I/O interface 140 for communicating with one or more peripheral devices. The I/O interface 140 may offer both serial and parallel interface connectivity. For example, the I/O interface 140 may comprise a Small Computer System Interface (SCSI), Universal Serial Bus (USB) or similar I/O interface for interfacing with the storage medium reader 130. The I/O interface 140 may also communicate with one or more human input devices (HID) 160 such as keyboards, pointing devices, joysticks and the like. The I/O interface 140 may also comprise a computer to computer interface, such as a Recommended Standard 232 (RS-232) interface, for interfacing the device 100 with one or more personal computer (PC) devices 190. The I/O interface 140 may also comprise an audio interface for communicate audio signals to one or more audio devices 1050, such as a speaker or a buzzer.
The device 100 also comprises a network interface 170 for communicating with one or more computer networks 180. The network 180 may be a wired network, such as a wired Ethernet™ network or a wireless network, such as a Bluetooth™ network or IEEE 802.11 network. The network 180 may be a local area network (LAN), such as a home or office computer network, or a wide area network (WAN), such as the Internet or private WAN.
The device 100 comprises an arithmetic logic unit or processor 1000 for performing the computer program code instructions. The processor 1000 may be a reduced instruction set computer (RISC) or complex instruction set computer (CISC) processor or the like. The device 100 further comprises a storage device 1030, such as a magnetic disk hard drive or a solid state disk drive. Computer program code instructions may be loaded into the storage device 1030 from the storage media 120 using the storage medium reader 130 or from the network 180 using network interface 170. During the bootstrap phase, an operating system and one or more software applications are loaded from the storage device 1030 into the memory 110. During the fetch-decode-execute cycle, the processor 1000 fetches computer program code instructions from memory 110, decodes the instructions into machine code, executes the instructions and stores one or more intermediate results in memory 100.
In this manner, the instructions stored in the memory 110, when retrieved and executed by the processor 1000, may configure the computing device 100 as a special-purpose machine that may perform the functions described herein. The device 100 also comprises a video interface 1010 for conveying video signals to a display device 1020, such as a liquid crystal display (LCD), cathode-ray tube (CRT) or similar display device.
The device 100 also comprises a communication bus subsystem 150 for interconnecting the various devices described above. The bus subsystem 150 may offer parallel connectivity such as Industry Standard Architecture (ISA), conventional Peripheral Component Interconnect (PCI) and the like or serial connectivity such as PCI Express (PCIe), Serial Advanced Technology Attachment (Serial ATA) and the like. Network of computing devices
Fig. 2 shows a system 200 of computing devices 100 on which the various embodiments described herein may be implemented for the purposes of receiving votes from a plurality of voters.
The system 200 comprises an application server 210 in operable communication with one or more mobile communication device is 220 across a communication network such as the Internet 230.
In one embodiment, the application server 210 takes the form of a web server serving web pages. In this manner, the web server 210 is provided with a web server application 240 for receiving requests, such as Hypertext Transfer Protocol (HTTP) and File Transfer Protocol (FTP) requests, and serving hypertext web pages or files in response. The web server application 240 may be, for example the Apache™ or the Microsoft™ IIS HTTP server. The web server 210 is also provided with a hypertext preprocessor 250 for processing one or more web page templates 260 and data from one or more databases 270 to generate hypertext web pages. The hypertext preprocessor may, for example, be the PHP: Hypertext Preprocessor (PHP) or Microsoft Asp™ hypertext preprocessor. The web server 210 is also provided with web page templates 260, such as one or more PHP or ASP files. Upon receiving a request from the web server application 240, the hypertext preprocessor 250 is operable to retrieve a web page template, from the web page templates 260, execute any dynamic content therein, including updating or loading information from the one or more databases 270, to compose a hypertext web page. The composed hypertext web page may comprise client side code, such as Javascript, for Document Object Model (DOM) manipulating, asynchronous HTTP requests and the like.
However, it should be noted that the application server 210 need not necessarily take the embodiment of a web server and may, for example, employ other communication mechanisms such as propriety data interchange for the purposes of security in the voting process.
Furthermore, in the embodiment with the application server 210 takes the form of a web server, the mobile communication devices 220 are provided with a browser application 280, such as the Mozilla Firefox™ or Microsoft Internet Explorer™ browser applications. The browser application 280 requests hypertext web pages from the web server 210 and renders the hypertext web pages on a display device 1020.
Computer implemented method for voting
Fig. 3 shows a computer implemented method 300 for voting enumerating the data interchange between the application server 210 and the mobile communication device 220 in recording a vote.
The method 300 is executed by one or more computing devices 100 and in particular one or more computing devices 100 connected across the Internet 230 as substantially shown in Fig. 2. Particularly, the method 300 shows the data interchange between the mobile communication device 220 on the application server 210. As alluded to above, the mobile communication device 220 need not necessarily be a mobile communication device and may take on embodiments of other computing devices as the case may be, such as a standalone computing devices, tablet computing devices and the like. Furthermore, the application server 210 need not necessarily be a web server and may take on other embodiments as the case may be including servers 220 adapted for communication across other network apologies and types such as a server 220 adapted for implementing a propriety communication protocol, communicate across a virtual private network and the like. Furthermore, the data network 180 need not necessarily be the Internet network 230 let alone a distributed network. For example, the data network 180 may comprise short-range networks such as a local area network. Furthermore, the network 118 need not necessarily send and received packetised data as described herein and may employ other communication protocol as the case may be.
The application server 210 comprises a database 270 comprising eligible voter data representing a plurality of voters who are eligible to vote in a particular election. The voter data may comprise differing data fields but typically comprises a voter identification such as the name, address, date of birth and the like of a voter and may further more comprise additional information such as election eligibility data representing whether the voter is eligible to vote in a particular election. Additional information may be recorded such as the age, gender and the like of the voter including the voter's current registration status, registration expiry date, date of registration and the like.
The method 300 starts at step 305 where the mobile communication device 220 is adapted to receive authentication credentials data representing authentication credentials from a voter.
Referring now to figure 4, there is shown an exemplary graphical user interface 400 implement it by the mobile communication device 220 for the purposes of receiving the authentication credentials from the voter. As is evident from the exemplary embodiments given, the authentication credentials comprise an ID number (username) and a password. In this manner, during the registration process, the voter may be provided with a secure ID number and password. For example, the voter may be required to initially attend a registration station to manually complete the registration process and received from the registration station, the ID number and password. The ID number and password may be provided to the voter by other means, such as by mail outs, or other communication mechanisms such as e-mail SMS and the like. However, in a preferred embodiment the registration process comprises identity verification procedures so as to negate the risk of an authorised supply of ID numbers and passwords. During the registration process, the voter may be required to provide various forms of identification such as a utility bill indicating an address of the voter, photo identification and the like. In one embodiment, the ID number may be a unique number already assigned to the voter, such as a driver's licence identification number, passport number, tax number or the like. In one embodiment, so as to remove the need for physical registration stations, the network 200 may be provided with authorised mobile communication devices 220 adapted for use by one or more authorised individuals, such as election officials. In this manner, each of the authorised mobile communication devices 220 may be adapted for the purposes of generating or making available the secure ID and password information to a voter. In this manner, in the registration process, the election official need only travel door-to-door, or prospective voters visit the election official, wherein the election official verifies the identity of each voter and, having confirmed the identity of each voter, operates the authorised mobile communication device 220 so as to generate a unique ID number and password for the voter.
In one embodiment, the system 200 may be adapted to store session data on the mobile communication device 220 for additional security. For example, during the registration process wherein the mobile communication device 220 is registered with the system 200, the system 200 may be adapted to store in the memory 110 of the mobile communication device 220 further unique data, such as data stored by way of a cookie where web server technology is employed. In this manner, the further unique data may be sent in addition to the ID number and password provided by the voter. In one embodiment, the unique data may be provided alternative to the ID number and password such that, for example, once having authenticated with the application server 210, the voter need not input the ID number and password again during a certain time period.
It should be noted that in certain embodiments the system 200 may be adapted for receiving alternative or additional information for the purposes of authenticating a voter. In one embodiment, the mobile communication device 220 may be adapted to direct the voter to capture image data of the voters drivers license (or other identification document such as a passport) such that the noble dedication device 200 is adapted to send the image capture data to the application server for the purposes of authentication or registration. Where the image capture data is used for the purposes of registration, the system 200 may be adapted to receive the image capture data, perform an image recognition technique to identify and identification number from the image capture data (such as a driver's licence ID number located at the Copyright of a drivers license card), and, in one embodiment, send the licence ID number to an identification database 280 for the purposes of verifying the validity of the licence ID number. Having received confirmation from the identification database 280 as to the validity of the licence
ID number, the application server 210 may be adapted to register the voter and generates a unique ID and password for the voter. In this manner, during the subsequent voting process, the voter, already having been registered with the system 200 by means of the image capture of the voters drivers license, need only input the ID number and password provided by the application server 210 for the purpose of placing a vote. The system 200 may be adapted such that the ID number and password have a certain lifespan during which the voter may vote for different elections and, after the expiry of the ID number and password, the system 200 may require the voter to complete the registration process again. Alternatively, where the image capture data is used for the purposes of authentication, the system 200 may be adapted such that the person must upload a photo of their drivers license each time the voter places a vote. This image capture data may be required by the system alternatively or additionally to the ID number and password provided to the voter.
It should be noted that other additional data over and above image capture data may be employed for similar purposes. For example, each voter may be provided with an RFID dongle adapted for use by the mobile community device 220 for the purposes of receiving RFID data from an RFID tag, such as an RFID tag provided in a "smart" passport.
In yet another embodiment, the system 200 may be adapted for the purposes of registering and or receiving votes from voters only within a certain location. For example, in the process of registering the mobile communication device 220, the mobile communication device 220 may be adapted to receive location data from a GPS unit of the mobile communication device 220 and sent the location data to the application server. In this manner, the application server 210 may be adapted to verify that the location of the mobile communication device 220 at the time of registration is within a certain radius (such as 200 m) of a known registration station before registering the mobile communication device 220. It should be noted that this location methodology may be employed also for the purposes of authenticating the voter, such as by restricting voters from voting from proximity of their known home address, known registration station or the like.
Having input the authentication credentials at step 305, at step 310 of method 300, the mobile communication device 220 is adapted to send the authentication credentials data to the application server 210. In a preferred embodiment, the mobile communication device 220 establish as a secure connection with the application server such as by way of a secure socket layer so as to prevent eavesdropping of the authenticated credentials. At step 315 of method 300, the application server 210 is adapted to select, from the database 270, voter data in accordance with the authentication credentials data. For example, the application server 210 may be adapted to select voter data in accordance with the ID number provided by the voter. In this manner, the voter data may comprise a checksum or hash (such as an MD5 hash) of the password data for the voter so as to be used for the purposes of authenticating the voter as described below.
At step 320 of method 300, the application server 210 is adapted to authenticate the mobile communication device 220 in accordance with the authentication credentials data and the voter data, such as by comparing the above-mentioned hash against the provided password. Should the authentication credentials prove incorrect the application server 210 may be adapted to send indication of such unsuccessful authentication back to the mobile communication device 220 so as to prompt the voter to correct the provided information. In certain embodiments, the system 200 may be adapted to record a number of unsuccessful authentication requests and showed a threshold number be exceeded, block the mobile communication device 220 from further attempts either permanently rental registration is completed again, or temporarily.
Having authenticated the mobile communication device 220, the application server 210 may be adapted to send data to the mobile communication device 220 for presentation so as to allow the voter to make a vote selection. Referring now to the exemplary graphical user interface 600 as substantially shown in figure 6, it is evident that the interface 600 comprises a plurality of candidate's for each of which the voter may vote. In the example given, there is shown at least two candidates A and B (with further candidates viewable by operation of the vertical scrollbar), each candidate comprising an image of the candidate and information about the candidate representation. Also shown is a voter selection button allowing the voter to vote for each candidate. It should be noted that the candidate is shown need not necessarily be people but may be parties also. Furthermore, the interface 600 may be adapted for implementing various voting types, such as a single voting selection for a preferred party, in ranking of candidate's in accordance with preference and the like.
At step 325 of method 300, the mobile communication device 220 is adapted to receive vote selection data representing a vote selection from the voter. In this regard, once the voter has made a decision, the voter activates the vote button of interface 600 adjacent the appropriate candidate.
At step 330 of method 300, the mobile communication device 220 is adapted to send the vote selection data to the application server 210.
At step 335 of method 300, the application server 210 is adapted to receive the vote selection data from the mobile communication device 220 and increments a vote count in accordance with the vote selection data. Note that in one embodiment, the candidate data provided by the application server 210 to the mobile communication device 220 may comprise a unique candidate identification for each candidate. In this manner, in receiving the vote selection data from the mobile communication device 220, the vote selection data comprises the candidate identification data for the candidate chosen by the voter. In this manner, in incrementing the vote count in accordance with the vote selection data, the application server 210 is adapted to increment the vote count in relation to a particular candidate in accordance with the candidate identification number.
In certain embodiments, once a voter has placed a vote for an election, the system 200 may be adapted to bar the voter from placing further votes, such as by providing an indication that the user has already voted for a particular election. In one embodiment, an election may run for a certain time period, during which the voter may amend the voters original vote. In this manner, the voters vote at the time of the termination of the voting period would be the vote that constitutes the voters vote.
Referring now to the exemplary graphical user Interface 500 as substantially shown in figure 5, in one embodiment, the application server 210 is adapted to send election details data to the mobile communication device 220. In the embodiment given, the election details comprises the date of the next election (or current election time period such as the time remaining in which to vote), the election details (such as a municipal or Federal election) and the users registration status.
A system for verifying voter identity
The system 200 may also be adapted for executing a method for verifying a voter (i.e. a user of the system 200) identity in a voting event, such as a presidential election.
Referring to figure 7, there is provided another preferred embodiment of the system 200. The system 200 in this embodiment may be adapted for verifying a voter identity. It is worth noting that, in this embodiment, the system 200 further comprises a verifier computing device 710 in communication with the data network 230 (e.g. the Internet) and in operable communication with the server 210. Also, in the embodiments described below, the application server 210 will be referred to as "the server 210", and the mobile communication device 220 will be referred to as "the voter computing device 220. In addition, the ID database 280 in this embodiment is adapted for storing voter identification data representing identification information of at least one voter. Such identification information may comprise, for example, names, addresses, phone numbers and images, as will become apparent below. Furthermore, although the database 280 is shown to be operably coupled to the server 210 via the data network 230, in another arrangement, the database 280 may be operably coupled to the server 210 by other means. For example, in another arrangement, the server 210 may comprise the database 280. The voter computing device 220 may be any computing device (e.g. an iPhone, a smart phone or a personal computer) through which a voter may authenticate and communicate with the server 210. The verifier computing device 710 may be any computing device (e.g. an iPhone, a smart phone and a personal computer) provided at any suitable locations (e.g. a post office or a school), for the purpose of voter identity verification. These locations will be referred to as "identity verification locations".
Specifically, turning to figure 8, the server 210, the voter computing device 220 and the verifier computing device 710 are adapted to execute a preferred embodiment of a method for verifying a voter identity. The method starts at step 805, where the voter computing device 220 receives voter identification data. Figure 9 shows an exemplary interface 900 for user (i.e. voter) input of identification information. In this embodiment, the voter identification data comprises driver license data. Specifically, as indicated by bracket 910, the driver license data may represent a driver license number, a full name, date of birth, an address, and a license expiry date. Also, the user may select an image to be sent to the server 210. In particular, the user may click an image selection button 920 to select an image file, or may click an image capture button 930 to capture an image (e.g. using a camera 1060 of the voter computing device 220, see figure 1), for sending to the server 210. The image selected or captured may be a self-portrait image of the voter, or an image of any relevant documents (e.g. a driver license document). That is, the voter identification data to be sent to the server 210 may also comprise image data representing the image. Alternatively, the exemplary interface 900 may also be adapted for attachment of electronic identification file for verification purpose.
It should be noted that other types of identification documents, which are fit for the purpose of voting, may also be used in other embodiments. Passport is an example of such documents. In step 910, the voter computing device 220 is adapted to send, via the data network 230, the voter identification data to the server 210. In particular, the voter may send the voter identification data to the server 210 by clicking a send button 940 in the exemplary interface 900. Once the user clicks the send button 940, the voter identification data representing information inputted by the user in the exemplary interface 900 is sent to the server 210 via the data network 230. Depending on applications, the voter identification data may be sent to the server 210 in various forms, such as email attachments (i.e. multipurpose internet mail extensions (MIME)), short messaging service (SMS) messages, or the likes). In step 815, the server 210 is adapted to register (e.g. record) the voter identification data in the database 280. Shown in figure 10 is an exemplary interface 1070 showing a message 1080 indicating that the voter identification data of the user has been successfully registered in the database 280. Upon successful registration of the voter identification data, the user may proceed to any location provided with the verifier computing device 710, as alluded to above.
In another embodiment where the verifier computing device 710 is a mobile computing device (e.g. an iPhone), verification of the voter identity does not have to take place at the abovementioned locations. In other words, the verifier computing device 710 may be carried to other locations (e.g. postal addresses of the voters) for the purpose of voter identity verification. This arrangement may be particularly useful where the voter may be unable to proceed to the identity verification locations. For example, some voters may be physically disabled.
During identity verification, the voter may present his or her driver's licence or the like for verification by the staff. Upon successful verification, in step 820, the staff may use the verifier computing device 710 to send, via the data network 230, successful verification data to the server 210. The successful verification data indicates the voter having been successfully verified.
In an alternative embodiment, the method may further comprise additional steps. In step 825, the server 210 is adapted to send, via the data network 230, key data representing information for authenticating the voter computing device 220 (described below). The key data is to be provided to the voter. In one arrangement, the server 210 is adapted to send, via the data network 230, the key data to the verifier computing device 710, such that, upon receipt of the key data, the staff may provide the key data to the voter. In another arrangement, the server 210 may be adapted to send the key data directly to the voter computing device 220 (described below).
Sending of the key data to the verifier computing device 710 or to the voter computing device 220 may take on several embodiments. For example, the server 210 may send an email comprising the key data in one arrangement, and may send a short messaging service (SMS) message comprising the key data in another arrangement.
Also, the server 210 may be adapted for generating the key data in accordance with at least one of the voter identification data and the successful verification data corresponding to the voter. Also, in another embodiment where the key data has already been generated and stored in the database 280, the server 210 may be configured to send the key data from the database 280.
In addition, the server 210 may be configured to store, in the database 280, the key data in relation to the corresponding voter identification data (i.e. the voter identification data of the voter for which the key data is provided). The key data may take on several embodiments. In one exemplary arrangement, the key data comprises a password, a passcode, or the like, which may be unique in the database 280. However, in a less preferred arrangement, the key data may be non-unique. That is, the key data provided for one voter may be identical to that provided for another voter. The password may comprise a combination of numbers, letters and symbols.
As alluded to above, in an alternative arrangement, the server 210 may be adapted send in the key data directly to the voter (e.g. to the voter computing device 220). This arrangement may be convenient where the identity of the voter is verified remotely from, for example, home or the like. Also, this arrangement may spare the need of the staff providing or forwarding the key data to the voter.
In step 830, the voter may send unlock data to the server 210 for authenticating with the server 210 to access various services. In particular, the voter may use the voter computing device 220 to send, via the network 230, unlock data to the server 210 in accordance with the key data. Shown in figure 11 is an exemplary interface 1100 for user input of the unlock data (marked by line 1110). In the context of voting event, once authenticated, the user may, for example, access various services pertaining to the voting event (e.g. cast a vote and view the live result).
The unlock data may, in one embodiment, be identical to the key data. However, in another embodiment, the unlock data may be obtained based on the key data. For example, the voter computing device 220 may be adapted to calculate (or compute) the unlock data based on the key data in accordance with a preconfigured algorithm. Such an algorithm may in one embodiment comprise public-private-key encryption techniques for improved security.
In step 835, the server is further adapted to verify the voter computing device 220 in accordance with the unlock data. More particularly, if the unlock data received from the voter computing device 220 corresponds to the key data provided to the voter, the unlock data is successfully verified as being sent from the voter. In the case where the unlock data received from the voter computing device 220 does not correspond to the key data provided to the voter, the server 210 is adapted to send an error message to the voter computing device 220, indicating the unlock data being rejected by the server 210. Therefore, it is possible to configure the system 200 such that only the voter computing device 220 of the intended voter may obtain the correct unlock data. In other words, in a situation where the key data is stolen, the likelihood of misuse is reduced.
As alluded to above, the voter may in one embodiment send an image of the identify document (e.g. a driver's license) to the verifier computing device 710 for identity verification. That is, the verifier computing device 710 may be adapted to receive, via the data network 230, the corresponding image data for verification of the voter identification data. It should be noted that the computing device by which the voter sends the unlock data may be different from the computing device by which the voter sends the voter identification data. Unique device identifier (UDID)
There may be applications where the system 200 should be adapted such that the server 210 receives the unlock data only from the voter computing device 220 from which the voter identification data is received. This may have the effect of improved security. For example, this arrangement may be reduce the likelihood of the key data belonging to a particular user being stolen for misuse.
In particular, where the voter computing device 220 comprises a unique device identifier (UDID), in sending the voter identification data, the voter computing device 220 may further be adapted to further send, via the data network 230, UDID data to the server 210. The UDID data represents the UDID of the voter computing device 220. Upon receipt of the voter identification data and the UDID data, the server 210 may be adapted to store the voter identification data in relation to the UDID data. Further, in sending the unlock data, the voter computing device 220 may further be adapted to further send, via the data network 230, the UDID data to the server 210. Upon receipt of the unlock data, the server 210 may be adapted to compare the UDID data received with the unlock data and the UDID data received with the voter identification data. The server 210 may be adapted to accept the unlock data if the comparison indicates a match in the UDID data, and to reject the unlock data if otherwise.
Interpretation
Bus
In the context of this document, the term "bus" and its derivatives, while being described in a preferred embodiment as being a communication bus subsystem for interconnecting various devices including by way of parallel connectivity such as Industry Standard Architecture (ISA), conventional Peripheral Component Interconnect (PCI) and the like or serial connectivity such as PCI Express (PCIe), Serial Advanced Technology Attachment (Serial ATA) and the like, should be construed broadly herein as any system for communicating data.
In accordance with:
As described herein, 'in accordance with' may also mean 'as a function of and is not necessarily limited to the integers specified in relation thereto. Composite items
As described herein, 'a computer implemented method' should not necessarily be inferred as being performed by a single computing device such that the steps of the method may be performed by more than one cooperating computing devices. Similarly objects as used herein such as 'web server', 'server', 'client computing device', 'computer readable medium' and the like should not necessarily be construed as being a single object, and may be implemented as a two or more objects in cooperation, such as, for example, a web server being construed as two or more web servers in a server farm cooperating to achieve a desired goal or a computer readable medium being distributed in a composite manner, such as program code being provided on a compact disk activatable by a license key downloadable from a computer network.
Database:
In the context of this document, the term "database" and its derivatives may be used to describe a single database, a set of databases, a system of databases or the like. The system of databases may comprise a set of databases wherein the set of databases may be stored on a single implementation or span across multiple implementations. The term "database" is also not limited to refer to a certain database format rather may refer to any database format. For example, database formats may include MySQL, MySQLi , XML or the like.
Wireless:
The invention may be embodied using devices conforming to other network standards and for other applications, including, for example other WLAN standards and other wireless standards. Applications that can be accommodated include IEEE 802.11 wireless LANs and links, and wireless Ethernet.
In the context of this document, the term "wireless" and its derivatives may be used to describe circuits, devices, systems, methods, techniques, communications channels, etc., that may communicate data through the use of modulated electromagnetic radiation through a non-solid medium. The term does not imply that the associated devices do not contain any wires, although in some embodiments they might not. In the context of this document, the term "wired" and its derivatives may be used to describe circuits, devices, systems, methods, techniques, communications channels, etc., that may communicate data through the use of modulated electromagnetic radiation through a solid medium. The term does not imply that the associated devices are coupled by electrically conductive wires. Processes:
Unless specifically stated otherwise, as apparent from the following discussions, it is appreciated that throughout the specification discussions utilizing terms such as "processing", "computing", "calculating", "determining", "analysing" or the like, refer to the action and/or processes of a computer or computing system, or similar electronic computing device, that manipulate and/or transform data represented as physical, such as electronic, quantities into other data similarly represented as physical quantities.
Processor:
In a similar manner, the term "processor" may refer to any device or portion of a device that processes electronic data, e.g., from registers and/or memory to transform that electronic data into other electronic data that, e.g., may be stored in registers and/or memory. A "computer" or a "computing device" or a "computing machine" or a "computing platform" may include one or more processors.
The methodologies described herein are, in one embodiment, performable by one or more processors that accept computer-readable (also called machine-readable) code containing a set of instructions that when executed by one or more of the processors carry out at least one of the methods described herein. Any processor capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken are included. Thus, one example is a typical processing system that includes one or more processors. The processing system further may include a memory subsystem including main RAM and/or a static RAM, and/or ROM.
Computer-Readable Medium:
Furthermore, a computer-readable carrier medium may form, or be included in a computer program product. A computer program product can be stored on a computer usable carrier medium, the computer program product comprising a computer readable program means for causing a processor to perform a method as described herein.
Networked or Multiple Processors:
In alternative embodiments, the one or more processors operate as a standalone device or may be connected, e.g., networked to other processor(s), in a networked deployment, the one or more processors may operate in the capacity of a server or a client machine in server-client network environment, or as a peer machine in a peer-to-peer or distributed network environment. The one or more processors may form a web appliance, a network router, switch or bridge, or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine. Note that while some diagram(s) only show(s) a single processor and a single memory that carries the computer-readable code, those in the art will understand that many of the components described above are included, but not explicitly shown or described in order not to obscure the inventive aspect. For example, while only a single machine is illustrated, the term "machine" shall also be taken to include any collection of machines that individually or jointly execute a set
(or multiple sets) of instructions to perform any one or more of the methodologies discussed herein.
Additional Embodiments:
Thus, one embodiment of each of the methods described herein is in the form of a computer- readable carrier medium carrying a set of instructions, e.g., a computer program that are for execution on one or more processors. Thus, as will be appreciated by those skilled in the art, embodiments of the present invention may be embodied as a method, an apparatus such as a special purpose apparatus, an apparatus such as a data processing system, or a computer-readable carrier medium. The computer-readable carrier medium carries computer readable code including a set of instructions that when executed on one or more processors cause a processor or processors to implement a method. Accordingly, aspects of the present invention may take the form of a method, an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present invention may take the form of carrier medium (e.g., a computer program product on a computer-readable storage medium) carrying computer-readable program code embodied in the medium.
Carrier Medium:
The software may further be transmitted or received over a network via a network interface device. While the carrier medium is shown in an example embodiment to be a single medium, the term "carrier medium" should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more sets of instructions. The term "carrier medium" shall also be taken to include any medium that is capable of storing, encoding or carrying a set of instructions for execution by one or more of the processors and that cause the one or more processors to perform any one or more of the methodologies of the present invention. A carrier medium may take many forms, including but not limited to, non-volatile media, volatile media, and transmission media.
Implementation:
It will be understood that the steps of methods discussed are performed in one embodiment by an appropriate processor (or processors) of a processing (i.e., computer) system executing instructions (computer-readable code) stored in storage. It will also be understood that the invention is not limited to any particular implementation or programming technique and that the invention may be implemented using any appropriate techniques for implementing the functionality described herein. The invention is not limited to any particular programming language or operating system. Means For Carrying out a Method or Function
Furthermore, some of the embodiments are described herein as a method or combination of elements of a method that can be implemented by a processor of a processor device, computer system, or by other means of carrying out the function. Thus, a processor with the necessary instructions for carrying out such a method or element of a method forms a means for carrying out the method or element of a method. Furthermore, an element described herein of an apparatus embodiment is an example of a means for carrying out the function performed by the element for the purpose of carrying out the invention.
Connected
Similarly, it is to be noticed that the term connected, when used in the claims, should not be interpreted as being limitative to direct connections only. Thus, the scope of the expression a device A connected to a device B should not be limited to devices or systems wherein an output of device A is directly connected to an input of device B. It means that there exists a path between an output of A and an input of B which may be a path including other devices or means. "Connected" may mean that two or more elements are either in direct physical or electrical contact, or that two or more elements are not in direct contact with each other but yet still cooperate or interact with each other.
Embodiments:
Reference throughout this specification to "one embodiment" or "an embodiment" means that a particular feature, structure or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Thus, appearances of the phrases "in one embodiment" or "in an embodiment" in various places throughout this specification are not necessarily all referring to the same embodiment, but may. Furthermore, the particular features, structures or characteristics may be combined in any suitable manner, as would be apparent to one of ordinary skill in the art from this disclosure, in one or more embodiments. Similarly it should be appreciated that in the above description of example embodiments of the invention, various features of the invention are sometimes grouped together in a single embodiment, figure, or description thereof for the purpose of streamlining the disclosure and aiding in the understanding of one or more of the various inventive aspects. This method of disclosure, however, is not to be interpreted as reflecting an intention that the claimed invention requires more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive aspects lie in less than all features of a single foregoing disclosed embodiment. Thus, the claims following the Detailed Description of Specific Embodiments are hereby expressly incorporated into this Detailed Description of Specific Embodiments, with each claim standing on its own as a separate embodiment of this invention.
Furthermore, while some embodiments described herein include some but not other features included in other embodiments, combinations of features of different embodiments are meant to be within the scope of the invention, and form different embodiments, as would be understood by those in the art. For example, in the following claims, any of the claimed embodiments can be used in any combination.
Specific Details
In the description provided herein, numerous specific details are set forth. However, it is understood that embodiments of the invention may be practiced without these specific details. In other instances, well-known methods, structures and techniques have not been shown in detail in order not to obscure an understanding of this description.
Terminology
In describing the preferred embodiment of the invention illustrated in the drawings, specific terminology will be resorted to for the sake of clarity. However, the invention is not intended to be limited to the specific terms so selected, and it is to be understood that each specific term includes all technical equivalents which operate in a similar manner to accomplish a similar technical purpose. Terms such as "forward", "rearward", "radially", "peripherally", "upwardly", "downwardly", and the like are used as words of convenience to provide reference points and are not to be construed as limiting terms.
Different Instances of Objects
As used herein, unless otherwise specified the use of the ordinal adjectives "first", "second", "third", etc., to describe a common object, merely indicate that different instances of like objects are being referred to, and are not intended to imply that the objects so described must be in a given sequence, either temporally, spatially, in ranking, or in any other manner.
Comprising and Including
In the claims which follow and in the preceding description of the invention, except where the context requires otherwise due to express language or necessary implication, the word "comprise" or variations such as "comprises" or "comprising" are used in an inclusive sense, i.e. to specify the presence of the stated features but not to preclude the presence or addition of further features in various embodiments of the invention. Any one of the terms: including or which includes or that includes as used herein is also an open term that also means including at least the elements/features that follow the term, but not excluding others. Thus, including is synonymous with and means comprising.
Scope of Invention
Thus, while there has been described what are believed to be the preferred embodiments of the invention, those skilled in the art will recognize that other and further modifications may be made thereto without departing from the spirit of the invention, and it is intended to claim all such changes and modifications as fall within the scope of the invention. For example, any formulas given above are merely representative of procedures that may be used. Functionality may be added or deleted from the block diagrams and operations may be interchanged among functional blocks. Steps may be added or deleted to methods described within the scope of the present invention.
Although the invention has been described with reference to specific examples, it will be appreciated by those skilled in the art that the invention may be embodied in many other forms.

Claims

Claims
1. A system for verifying a voter identity in an electronic voting system, the system comprising:
a data network;
a server in communication with the data network, the server comprising a database, the database being adapted for storing voter identification data representing identification information of at least one voter;
a verifier computing device in communication with the data network and in operable communication with the server; and
a voter computing device in communication with the data network and in operable communication with the server; wherein, in use:
the voter computing device is adapted to receive voter identification data, the voter identification data representing identification information of the voter;
the voter computing device is adapted to send, via the data network, the voter identification data to the server;
the server is adapted to store the voter identification data in the database; and
the verifier computing device is adapted to send, via the data network, successful verification data to the server, the successful verification data representing the voter having been successfully verified.
2. A system as claimed in claim 1, wherein the voter identification data comprises driver license data.
3. A system as claimed in claim 2, wherein the driver license data representing at least one of a driver license number, a full name, a date of birth, an address, a license expiry date and an image of the voter.
4. A system as claimed in claim 1, wherein the voter identification data comprises image data representing an image of an identification document.
5. A system as claimed in claim 1, wherein the server is further adapted to send, via the data network, key data, the key data representing information for authenticating the voter computing device.
6. A system as claimed in claim 5, wherein, in sending the authentication data, the server is adapted to send, via the network, the key data to the verifier computing device.
7. A system as claimed in claim 5, wherein, in sending the key data, the server is adapted to send, via the data network, the key data to the verifier computing device.
8. A system as claimed in claim 5, wherein, in sending the key data, the server is adapted to send, via the network, an email comprising the authentication data.
9. A system as claimed in claim 5, wherein, in sending the key data, the server is adapted to send, via the network, a short messaging service (SMS) message comprising the authentication data.
10. A system as claimed in claim 5, wherein the server is adapted to generate the key data in accordance with at least one of the voter identification data and the successful verification data.
11. A system as claimed in claim 5, wherein the server is further adapted to store, in the database, the key data in relation to the voter verification data.
12. A system as claimed in claim 5, wherein the key data comprises a password.
13. A system as claimed in claim 12, wherein the password is unique.
14. A system as claimed in claim 5, wherein, in sending the key data, the server is adapted to send, via the network, the key data to the voter computing device.
15. A system as claimed in claim 5, wherein the voter computing device is further adapted to send, via the network, unlock data to the server in accordance with the key data; and
16. A system as claimed in claim 15, wherein the server is further adapted to verify the voter computing device in accordance with the unlock data.
17. A system as claimed in claim 1, wherein the verifier computing device is further adapted to receive, via the data network voter computing device, the voter identification data for verification of the voter identification data.
18. A system as claimed in claim 1, wherein, in sending the voter identification data to the server, the voter computing device is further adapted to send, via the data network to the server, unique device identifier data, the unique device identifier data representing a unique device identifier of the voter computing device.
19. A system as claimed in claim 18, wherein, in storing the voter identification data, the server is further adapted to store, in the database, the voter identification data in relation to the unique device identifier data.
20. A system as claimed in claim 18, wherein, in sending the key data, the voter computing device is further adapted to send, via the data network to the server, the unlock data in relation to the unique device identifier data.
21. A system as claimed in claim 20, wherein, in authenticating the voter computing device, the server is further adapted to authenticate the voter computing device in accordance with the key data and the unique device identifier data.
22. A system for voting comprising:
a data network;
an application server in communication with the data network, the application server comprising a database comprising eligible voter data representing eligible voters; and at least one computing device in communication with the data network and in operable communication with the application server, wherein:
the at least one computing device is adapted to receive authentication credentials data representing authentication credentials from a voter;
the at least one computing device is adapted to send the authentication credentials data to the application server;
the application server is adapted to select, from the database, voter data in accordance with the authentication credentials data;
the application server is adapted to authenticate the at least one computing device in accordance with the authentication credentials data and the voter data;
the at least one computing device is adapted to receive vote selection data representing a vote selection from the voter;
the at least one computing device is adapted to send the vote selection data to the application server;
the application server is adapted to increment a vote count in accordance with the vote selection data; and wherein:
the application server is adapted to send, to the at least one computing device, election details data representing election details of an election; and
the election details data comprises election period data representing an election period.
23. A system as claimed in claim 22, wherein the authentication credentials data represents a username and password.
24. A system as claimed in claim 22, wherein the authentication credentials data comprises image capture data representing an image capture of an object, and wherein the application server is adapted to employ image recognition technique in accordance with the image capture data in authenticating the at least one computing device.
25. A system as claimed in claim 24, wherein the application server is adapted to calculate identification data representing an identification in accordance with the image capture data.
26. A system as claimed in claim 25, wherein the application server is adapted to:
send, to an identification database, the identification data; and
receive, from the identification database, validity data representing the validity of the identification.
27. A system as claimed in claim 22, wherein the authentication credentials data comprises location data representing a location, and wherein the application server is adapted to calculate whether the location falls within a voting region in authenticating the at least one computing device.
28. A system as claimed in claim 22, wherein the election details data further comprises election registration data representing the registration status of the voter.
29. A system as claimed in claim 22, wherein the application server is adapted to send, to the at least one computing device, candidate data representing at least one election candidate.
30. A system as claimed in claim 29, wherein the candidate data comprises image data representing an image of the at least one election candidate.
31. A system as claimed in claim 29, wherein the candidate data comprises election candidate identification data representing an identification of the at least one election candidate
32. A system as claimed in claim 31, wherein the vote selection data comprises the election candidate identification data.
33. A system as claimed in claim 22, wherein the at least one computing device is a mobile computing device.
34. A computing device for voting, the computing device comprising:
a processor for processing digital data;
a memory device for storing digital data including computer program code and being coupled to the processor;
a user interface for sending and receiving user Interface data and being coupled to the processor; and
a data interface for sending and receiving data across a data network and being coupled to the processor, wherein the processor is controlled by the computer program code to:
receive, via the user interface, authentication credentials data representing authentication credentials from a voter;
send, via the data interface, the authentication credentials data to an application server; receive, via the user interface, vote selection data representing a vote selection from the voter;
send, via the data interface, the vote selection data to the application server; and wherein: the processor is further controlled by the computer program code to receive, via the data interface, election details data representing election details of an election; and
the election details data comprises election period data representing an election period.
35. A computing device as claimed in claim 34, wherein the authentication credentials data represents a username and password.
36. A computing device as claimed in claim 34, further comprising an image capture device for capturing image data representing an image capture of an object and wherein the authentication credentials data comprises the image capture data.
37. A computing device as claimed in claim 34, further comprising a location sensing device adapted for generating location data representing a location, and wherein the authentication credentials data comprises the location data representing the location.
38. A computing device as claimed in claim 34, wherein the election details data comprises election registration data representing the registration status of the voter.
39. A computing device as claimed in claim 34, wherein the processor is further controlled by the computer program code to receive, via the date interface, candidate data representing at least one election candidate.
40. A computing device as claimed in claim 39, wherein the candidate data comprises image data representing an image of the at least one election candidate.
41. A computing device as claimed in claim 39, wherein the candidate data comprises election candidate identification data representing an identification of the at least one election candidate
42. A computing device as claimed in claim 41, wherein the vote selection data comprises the election candidate identification data.
43. A computing device as claimed in claim 34, being a mobile computing device.
44. An application server for voting, the computing device comprising:
a processor for processing digital data;
a memory device for storing digital data including computer program code and being coupled to the processor;
a database for storing digital data including eligible voter data representing eligible voters, the database being coupled to the processor;
a data interface for sending and receiving data across a data network and being coupled to the processor, wherein the processor is controlled by the computer program code to:
receive, via the data interface, authentication credentials data from at least one computing device,
select, from the database, voter data in accordance with the authentication credentials data; authenticate the at least one computing device in accordance with the authentication credentials data and the voter data;
receive, via the data interface, vote selection data representing a vote selection from the voter;
increment a vote count in accordance with the vote selection data; and wherein:
the processor is further controlled by the computer program code to send, via the date interface, election details data representing election details of an election to the at least one computing device; and
the election details data comprises election period data representing an election period.
45. An application server as claimed in claim 44, wherein the authentication credentials data represents a username and password.
46. An application server as claimed in claim 44, wherein the authentication credentials data comprises image capture data representing an image capture of an object, and wherein the processor is further controlled by the computer program code to employ image recognition technique in accordance with the image capture data in authenticating the at least one computing device.
47. An application server as claimed in claim 46, wherein the processor is further controlled by the computer program code to calculate identification data representing an identification in accordance with the image capture data.
48. An application server as claimed in claim 47, wherein the processor is further controlled by the computer program code to:
send, via the data interface, the identification data to an identification database; and
receive, via the data interface, validity data representing the validity of the identification from the identification database.
49. An application server as claimed in claim 44, wherein the authentication credentials data comprises location data representing a location, and wherein the processor is further controlled by the computer program code to calculate whether the location falls within a voting region in authenticating the at least one computing device.
50. An application server as claimed in claim 44, wherein the election details data comprises election registration data representing the registration status of the voter.
51. An application server as claimed in claim 44, wherein the processor is further controlled by the computer program code to send, via the data interface candidate data representing at least one election candidate to the at least one computing device.
52. An application server as claimed in claim 51, wherein the candidate data comprises image data representing an image of the at least one election candidate.
53. An application server as claimed in claim 51, wherein the candidate data comprises election candidate identification data representing an identification of the at least one election candidate
54. An application server as claimed in claim 53, wherein the vote selection data comprises the election candidate identification data.
55. An application server as claimed in claim 44, wherein the at least one computing device is a mobile computing device.
PCT/AU2013/001277 2012-11-05 2013-11-04 A system, computing device and application server for voting WO2014066956A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
AU2013337617A AU2013337617A1 (en) 2012-11-05 2013-11-04 A system, computing device and application server for voting
AU2019203146A AU2019203146A1 (en) 2012-11-05 2019-05-03 A system, computing device and application server for voting
AU2021203079A AU2021203079A1 (en) 2012-11-05 2021-05-13 A system, computing device and application server for voting

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
AU2012904825 2012-11-05
AU2012904825A AU2012904825A0 (en) 2012-11-05 A system, computing device and application server for voting

Publications (1)

Publication Number Publication Date
WO2014066956A1 true WO2014066956A1 (en) 2014-05-08

Family

ID=50626229

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/AU2013/001277 WO2014066956A1 (en) 2012-11-05 2013-11-04 A system, computing device and application server for voting

Country Status (2)

Country Link
AU (3) AU2013337617A1 (en)
WO (1) WO2014066956A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105490925A (en) * 2015-12-22 2016-04-13 北京奇虎科技有限公司 Verification method and apparatus of information validity

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110053559A1 (en) * 2009-09-01 2011-03-03 Elliot Klein Gps location authentication method for mobile voting

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110053559A1 (en) * 2009-09-01 2011-03-03 Elliot Klein Gps location authentication method for mobile voting

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105490925A (en) * 2015-12-22 2016-04-13 北京奇虎科技有限公司 Verification method and apparatus of information validity
CN105490925B (en) * 2015-12-22 2019-07-23 北京奇虎科技有限公司 A kind of verification method and device of effectiveness of information

Also Published As

Publication number Publication date
AU2013337617A1 (en) 2015-05-28
AU2021203079A1 (en) 2021-06-10
AU2019203146A1 (en) 2019-05-30

Similar Documents

Publication Publication Date Title
AU2019415474B2 (en) Fixed-point authorization identity recognition method and apparatus, and server
US8090351B2 (en) Geographical location authentication method
CN109389723B (en) Visitor management method and device using face recognition and computer equipment
CN105229485B (en) Multifactor position verification method
US10818122B2 (en) Electronic voting system and control method
US20130339256A1 (en) System and method for providing virtual arbitration
KR20180048600A (en) Systems and methods for providing legal writing electronically
CN106796708B (en) Electronic voting system and method
JP7064947B2 (en) Electronic voting system and control method
CN109711847B (en) Near field information authentication method and device, electronic equipment and computer storage medium
US20170155629A1 (en) Network-based user authentication device, method, and program that securely authenticate a user's identity by using a pre-registered authenticator in a remote portable terminal of the user
JP2021529394A (en) Time and attendance systems, methods and electronics
CN112347452B (en) Electronic contract signing method, electronic equipment and storage medium
US11531776B2 (en) Image and message management and archiving for events
US11756038B2 (en) Transaction authentication using multiple biometric inputs
JP2019053713A (en) Electronic voting system, and, control method
WO2007085824A2 (en) Image retrieval system
AU2021203079A1 (en) A system, computing device and application server for voting
US20190114861A1 (en) Mobile voting and voting verification system and method
KR20190047662A (en) Method for issuing certificates for identification of companion animals
US20210112057A1 (en) Multi-party document validation
KR20230016540A (en) A method and apparatus for providing electronic documents service
CN113395162A (en) System and method for counting votes in an electronic voting system
EP3145117A1 (en) A method and a system for shared digital signing of a document
US20210051017A1 (en) Mobile voting and voting verification system and method

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13851851

Country of ref document: EP

Kind code of ref document: A1

DPE1 Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101)
NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2013337617

Country of ref document: AU

Date of ref document: 20131104

Kind code of ref document: A

122 Ep: pct application non-entry in european phase

Ref document number: 13851851

Country of ref document: EP

Kind code of ref document: A1