Patent ID: 8145520
Filing Date: 2012-03-27
Classification: G07C,H04L

Abstract:
1. A method for verifying ballots that are cast in an election, the method comprising the steps of: executing a mutual attestation procedure between a plurality of devices communicating in a voting system via a network, wherein the mutual attestation procedure determines that only devices within the plurality of devices loaded with specified software participate in the voting system; publishing a number of certificates, wherein each certificate corresponds to one of the plurality of devices communicating in the voting system via the network, and wherein each certificate contains one or more public keys associated with its corresponding device and also contains reference election configuration data defining a reference machine execution environment state of its corresponding device generated during a certificate generation process before the election; generating a voter authorization token for each authorized voter, wherein each voter authorization token enables one authorized voter to cast one and only one of the ballots in the election; generating a set of voting results in response to using a given voter authorization token to cast a given ballot using a specified voting device, wherein the set of voting results includes the given voter authorization token and the given ballot after being marked; generating current election configuration data that defines a current machine execution environment state of the specified voting device when the given ballot was cast, wherein the current election configuration data also is included with the set of voting results, and wherein the set of voting results is digitally signed using a unique private key that corresponds to one of the one or more public keys that is associated with the specified voting device; comparing the current election configuration data that defines the current machine execution environment state of the specified voting device with the reference configuration data that defines the reference machine execution environment state for the specified voting device in the corresponding certificate to determine that a match exists verifying a valid machine execution environment state of the specified voting device; and publishing a set of items that include at least lists of all voter authorization tokens and all sets of voting results that are respectively generated in connection with the election, wherein the set of items published are available with the number of certificates published to verify the ballots that are cast in the election.