The present disclosure relates to systems and methods for gaining access to an electronic voting device. More specifically, the present disclosure relates to systems and methods that utilize a paper ticket to gain access to an electronic voting device.
A wide variety of voting systems and processes are commonly used in federal, state, county and local elections. In some cases, a voter may utilize an electronic voting device located at a voting precinct or an official polling location to access an electronic ballot and specify their voting preferences. Electronic voting devices typically include a display screen for displaying voting information to the voter. Examples of voting information that may be displayed on the display screen include electronic ballots, instructions for utilizing electronic ballots, summaries of voting selections made by the voter on an electronic ballot, etc. In addition, the display screen may display various graphical user interface (GUI) components, which enable a voter to enter information, navigate through an electronic ballot, make voting selections on the electronic ballot and cast their vote once voting selections are reviewed and confirmed.
Examples of electronic voting devices used by voters include ballot marking devices (BMDs), voting terminals, voter interface devices, accessibility interfaces, voter-verified paper trail devices, scanning devices, direct recording electronic (DRE) devices, hybrid paper/electronic voting devices, and a wide range of other devices used to present and/or input voting information to and/or from a voter. These electronic voting devices are typically deployed within a voting precinct or an official polling location in groups. The electronic voting devices deployed at polling locations may be independent, standalone devices or connected via a network to a centralized server (or centralized controller).
A variety of methods are currently used to provide voter access to an electronic voting system and to select a particular ballot style corresponding to the current election and the voter's precinct. For example, an election official or poll worker can provide voter access to an electronic voting device by manually entering a poll worker access code into the electronic voting device followed by selection of the voter's precinct to activate the corresponding ballot style. This manual voter access and ballot activation method can be used to access both standalone and network connected electronic voting devices, but requires poll worker intervention.
Alternatively, voter access and ballot style selection can be controlled by a centralized controller when the electronic voting devices are connected via a network in a centralized network model. For example, the centralized controller (or another networked device) can print an access code ticket, which is provided to the voter and used to gain access to a networked electronic voting device. The access code ticket (otherwise referred to as a ballot activation ticket) may have a code (such as, for example, an alphanumeric code) printed thereon. The voter may enter the code into the electronic voting device to gain access to the electronic voting device and/or select a particular ballot style corresponding to the voter's precinct.
In the centralized network model, the code entered by the voter can be verified or validated against a corresponding code stored within the centralized controller that issued the access code ticket. While this method provides secure voter access and ballot activation in a centralized network model, this method cannot be used in a non-networked topology in which the device issuing the access code ticket is disconnected from the electronic voting devices used for voting.
A need, therefore, exists for improved systems and methods that enable voters to access an electronic voting device and activate a corresponding ballot style without manual poll worker intervention or communicating information across a network.
The present disclosure provides various embodiments of systems and methods that enable voters to access an electronic voting device and activate a corresponding ballot style without manual poll worker intervention or communicating information across a network. More specifically, the present disclosure provides an improved ticket reader for validating a paper ticket inserted into the ticket reader, and subsequently voiding the paper ticket after successful validation. The ticket reader, which may be built-in or communicatively coupled to an electronic voting device, may utilize a wide variety of methods to validate a paper ticket used to access the electronic voting device. Unlike conventional systems and methods, which require poll worker intervention or communicating information across a network, the validation methods disclosed herein are performed entirely within the ticket reader.
The paper ticket described herein has encoded data printed thereon, which can be used to access an electronic voting device and/or select a ballot style corresponding to the voter's precinct. In some embodiments, the paper ticket may be an access code ticket or a ballot activation ticket, which is printed by another device (for example, a ballot activation unit (BAU)) and provided to a voter. Upon detecting insertion of a paper ticket, the ticket reader disclosed herein may use various methods of validation to verify that the paper ticket inserted into the ticket reader is original (i.e., not a copy) and trusted (i.e., came from a trusted source). After successfully validating a paper ticket, the ticket reader voids the paper ticket to ensure that the paper ticket cannot be reused (i.e., single use).
In some embodiments, the ticket reader disclosed herein may use a variety of methods for validating and voiding a paper ticket, which is printed on thermal paper. For example, the ticket reader may attempt to validate a paper ticket by determining whether a thermal marking can be produced on the paper ticket and/or by comparing reflectance values obtained from the paper ticket to known values of reflectance for thermal paper. In some embodiments, the ticket reader may validate the paper ticket if: (a) a thermal marking is produced on the paper ticket and detected by the ticket reader, and/or (b) the reflectance values measured from the paper ticket and detected by the ticket reader fall within a range of reflectance values corresponding to thermal paper. Other validation methods may additionally or alternatively be used by the ticket reader to validate a paper ticket inserted into the ticket reader. For example, the ticket reader may attempt to validate a paper ticket by determining whether an invisible ink (for example, ink that is invisible to the human eye under visible light conditions and visible under ultra-violet (UV) ink (or “invisible ink” infrared (IR) light conditions) marking provided on or embedded within the thermal paper is detected on the paper ticket.
Upon successfully validating a paper ticket, the ticket reader disclosed herein may use the encoded data printed on the paper ticket to enable voter access to the electronic voting device and/or select a ballot style corresponding to the voter's precinct. Before returning the validated paper ticket to the voter, however, the ticket reader disclosed herein may obfuscate the encoded data printed on the paper ticket to void the paper ticket and prevent the paper ticket from being reused. In some embodiments, the ticket reader may use a thermal heating element, which is provided within the ticket reader and positioned adjacent to the paper ticket, to thermally obfuscate at least a portion of the encoded data printed on the paper ticket after successful validation of the paper ticket.
According to one embodiment, an electronic voting device is provided herein with a paper slot that is configured to receive a paper ticket having encoded data printed on a first side of the paper ticket, such as a QR code, a barcode or another machine-readable code. In some embodiments, the paper ticket may include, or be printed on, thermal paper. The electronic voting device disclosed herein may further include at least one light source coupled to provide illumination to the paper ticket, at least one optical sensor coupled to detect illumination that passes through, or is reflected from, the paper ticket, and a thermal heating element that is positioned adjacent to the paper ticket. In some embodiments, the at least one programmable integrated circuit (IC) may be configured to execute program instructions to attempt to validate the paper ticket based, at least in part, on the illumination detected by the at least one optical sensor. Upon validating the paper ticket, the at least one programmable IC may be further configured to execute the program instructions to activate the thermal heating element to obfuscate the encoded data printed on the first side of the paper ticket and void the paper ticket.
After the paper ticket is validated, the at least one programmable IC may be further configured to execute the program instructions to use the encoded data to perform at least one of the following: (a) enable or disable user access to the electronic voting device, and (b) select a ballot style if the user access to the electronic voting device is enabled. Activating the thermal heating element to obfuscate the encoded data printed on the first side of the paper ticket provides the advantage of preventing the paper ticket from being reused.
The thermal heating element provided within the electronic voting device may be implemented in a wide variety of ways. In some embodiments, for example, the thermal heating element may include a printed circuit board having conductive traces printed thereon, a ceramic substrate based heating element or a metal substrate based heating element. The conductive components of the thermal heating element (for example, the conductive traces printed on the printed circuit board, the ceramic substrate based heating element or the metal substrate based heating element) may form a word, a letter, a shape or a symbol. Upon activating the thermal heating element, current is supplied to the conductive components of the thermal heating element to generate an amount of heat that is sufficient to activate the thermal paper and thermally obfuscate at least a portion of the encoded data printed on the first side of the paper ticket.
The at least one light source and the at least one optical sensor may also be implemented in a wide variety of ways. In some embodiments, the at least one light source may include a white light source providing illumination in the visible light spectrum (for example, 400-700 nm). In some embodiments, the at least one light source may include an ultra-violet (UV) light source providing illumination in the UV light spectrum (for example, 200-400 nm) and/or an infrared (IR) light source providing illumination in the IR light spectrum (for example, 700 nm-1 mm). In some embodiments, the at least one optical sensor may include a photodetector, a photodiode array or an image sensor. In one example embodiment, the at least one optical sensor may be a camera having an image sensor and a lens.
The at least one programmable IC may attempt to validate the paper ticket in a wide variety of ways. In some embodiments, the at least one programmable IC may attempt to validate the paper ticket based on reflectance values obtained from the thermal paper. For example, the at least one programmable IC may execute the program instructions to: generate a digital value corresponding to an amount of the illumination that is reflected from the paper ticket and detected by the at least one optical sensor; validate the paper ticket if the digital value falls within a range of digital values corresponding to thermal paper; and invalidate the paper ticket if the digital value does not fall within the range of digital values corresponding to thermal paper. In some embodiments, the at least one light source may be a first light source (for example, a white light source), and the range of digital values may correspond to a range of reflectance values obtained from thermal paper illuminated with light in the visible light spectrum. In other embodiments, the at least one light source may be a second light source (for example, a UV or IR light source), and the range of digital values correspond to a range of reflectance values obtained from thermal paper illuminated with light in the infrared (IR) or ultra-violet (UV) light spectrum.
In other embodiments, the at least one programmable IC may attempt to validate the paper ticket based on the presence or absence of an invisible ink marking on the paper ticket. In such embodiments, the at least one light source may include an ultra-violet (UV) light source for illuminating the paper ticket with light in the UV light spectrum or an infrared (IR) light source for illuminating the paper ticket with light in the IR light spectrum.
When attempting to validate the paper ticket based on the presence or absence of an invisible ink marking on the paper ticket, the at least one programmable IC may execute the program instructions to obtain an image of the first side of the paper ticket from the at least one optical sensor, and analyze the image to determine the presence or absence of an invisible ink marking on the paper ticket. In some embodiments, the image may be obtained from an image frame or a video stream, which is captured by the at least one optical sensor while the paper ticket is illuminated with light in the UV light spectrum or the IR light spectrum. Based on the image analysis, the program instructions executed by the at least one programmable IC may validate the paper ticket if the invisible ink marking is detected on the paper ticket, or invalidate the paper ticket if the invisible marking is not detected on the paper ticket.
In other embodiments, the at least one programmable IC may attempt to validate the paper ticket based on the ability or inability to produce a thermal mark on the paper ticket. In such embodiments, the at least one light source may include a white light source for illuminating the paper ticket with light in the visible light spectrum.
When attempting to validate the paper ticket based on the ability or inability to produce a thermal mark on the paper ticket, the at least one programmable IC may execute the program instructions to obtain a first image of the first side of the paper ticket from the at least one optical sensor, activate the thermal heating element to attempt to thermally mark the paper ticket, obtain a second image of the first side of the paper ticket from the at least one optical sensor, and compare the second image to the first image. In some embodiments, the first image may be obtained from a first image frame or a first video stream, and the second image may be obtained from a second image frame or a second video stream, which is captured by the at least one optical sensor while the paper ticket is illuminated with light in the visible light spectrum. Based on the image comparison, the program instructions executed by the at least one programmable IC may validate the paper ticket if the comparison shows a thermal mark is produced on the paper ticket by the thermal heating element, or invalidate the paper ticket if the comparison shows a thermal mark is not produced on the paper ticket by the thermal heating element.
In some embodiments, the electronic voting device may be a stand-alone device, which is not connected to a network. In such an embodiment, the at least one programmable IC may be configured to execute the program instructions to validate the paper ticket automatically without poll worker intervention or communicating information across a network. In other embodiments, the electronic voting device may be connected to a centralized controller via a network. Regardless of network topology, the electronic voting device set forth above and described further herein may utilize the various embodiments disclosed herein to provide secure voter access and ballot activation.
According to another embodiment, a method is provided herein for validating and subsequently voiding a paper ticket used to access an electronic voting device. In some embodiments, the method may generally include receiving a paper ticket having encoded data printed on a first side of the paper ticket, providing illumination to the paper ticket, detecting illumination reflected from the paper ticket and attempting to validate the paper ticket based, at least in part, on the illumination detected from the paper ticket. Upon validating the paper ticket, the method may further include using the encoded data printed on the first side of the paper ticket to perform at least one of the following: (a) enable or disable user access to the electronic voting device, and (b) select a ballot style if the user access to the electronic voting device is enabled; and thermally obfuscating at least a portion of the encoded data printed on the first side of the paper ticket to void the paper ticket and prevent the paper ticket from being reused.
In some embodiments, the paper ticket may include thermal paper, and the encoded data may be thermally obfuscated by generating a thermal mark over at least a portion of the encoded data. In such embodiments, the thermal mark may include a word, a letter, a shape or a symbol.
In some embodiments, the paper ticket may include thermal paper, and the electronic voting device may include a thermal heating element positioned adjacent to the paper ticket. In such embodiments, the encoded data may be thermally obfuscated by supplying current to the thermal heating element to generate an amount of heat that is sufficient to activate the thermal paper and thermally obfuscate the encoded data printed on the first side of the paper ticket.
The method may attempt to validate the paper ticket in a wide variety of ways. In some embodiments, the method may attempt to validate the paper ticket based on reflectance values obtained from the paper ticket. For example, the method may attempt to validate the paper ticket by: generating a digital value corresponding to an amount of the illumination that is reflected from the paper ticket; validating the paper ticket if the digital value falls within a range of digital values corresponding to thermal paper; and invalidating the paper ticket if the digital value does not fall within the range of digital values corresponding to thermal paper.
In other embodiments, the method may attempt to validate the paper ticket based on the presence or absence of an invisible ink marking on the paper ticket. For example, the method may attempt to validate the paper ticket by: obtaining an image of the first side of the paper ticket, wherein the image is captured while the paper ticket is illuminated with UV illumination or IR illumination; analyzing the image to determine the presence or absence of an invisible ink marking on the paper ticket; validating the paper ticket if the invisible ink marking is detected on the paper ticket; and invalidating the paper ticket if the invisible ink marking is not detected on the paper ticket.
In other embodiments, the method may attempt to validate the paper ticket based on the ability or inability to produce a thermal mark on the paper ticket. For example, the method may attempt to validate the paper ticket by: obtaining a first image of the first side of the paper ticket; activating a thermal heating element positioned adjacent to a second side of the paper ticket to attempt to thermally mark the paper ticket; obtaining a second image of the first side of the paper ticket; comparing the second image to the first image; validating the paper ticket if the comparison shows a thermal mark is produced on the paper ticket by the thermal heating element; and invalidating the paper ticket if the comparison shows a thermal mark is not produced on the paper ticket by the thermal heating element.
Various embodiments of electronic voting devices and methods are provided herein for enabling secure voter access to an electronic voting device, and more specifically, for validating and subsequently voiding a paper ticket used to securely access an electronic voting device. Of course, the order of discussion of the different steps as described herein has been presented for clarity sake. In general, these steps can be performed in any suitable order. Additionally, although each of the different features, techniques, configurations, etc. herein may be discussed in different places of this disclosure, it is intended that each of the concepts can be executed independently of each other or in combination with each other. Accordingly, the present invention can be embodied and viewed in many different ways.
Note that this summary section does not specify every embodiment and/or incrementally novel aspect of the present disclosure or claimed inventions. Instead, this summary only provides a preliminary discussion of different embodiments and corresponding points of novelty over conventional techniques. For additional details and/or possible perspectives of the invention and embodiments, the reader is directed to the Description of the Preferred Embodiments section and corresponding figures of the present disclosure as further discussed below.
A more complete understanding of the present invention and advantages thereof may be acquired by referring to the following description taken in conjunction with the accompanying drawings, in which like reference numbers indicate like features. It is to be noted, however, that the accompanying drawings illustrate only exemplary embodiments of the disclosed concept and are therefore not to be considered limiting of its scope, for the disclosed concept may admit to other equally effective embodiments.
Turning now to the drawings,
In addition to other components, the first device 110 includes a ticket printer 112 for generating a paper ticket 120. In some embodiments, ticket printer 112 may generate the paper ticket 120 by printing information on thermal paper. The thermal paper can be provided within the ticket printer 112 as a roll or individually cut sheets. In some embodiments, the thermal paper may have a thermal coating on only one side of the paper and a non-coated side on the other. In other embodiments, both sides of the thermal paper may have a thermal coating. Conventional thermal paper has a chemical coating on at least one side that changes color in an area where sufficient heat is applied to the thermal paper. Often the chemical coating is selected to turn black when sufficiently heated, but any color can be used in the practice.
After a paper ticket 120 is generated by the ticket printer 112 and handed to the voter, the voter may attempt to access the second device 130 by inserting the paper ticket 120 into a ticket reader 132, which is built-in or communicatively coupled to the second device 130. The second device 130 may be an electronic voting device (for example, a ballot marking device (BMD), a voting terminal, a voter interface device, an accessibility interface, a voter-verified paper trail device, a ballot scanning device, a direct recording electronic (DRE) device, a hybrid paper/electronic voting device, etc.), which is used by the voter to enter voter information and voting selections. In addition to gaining access to the electronic voting device, the paper ticket 120 inserted into the ticket reader 132 may be used to select a particular ballot style to be used by the voter for voting on the electronic voting device.
In addition to other components, the second device 130 includes a ticket reader 132 for receiving, validating and voiding the paper ticket 120, and a ticket reader controller 134 for controlling operations of the ticket reader 132 and determining the validity of the paper ticket 120. As described in more detail below, the ticket reader 132 validates the paper ticket 120 for authenticity and originality, and ensures that it has not been used before. Once validated, the ticket reader 132 voids the paper ticket 120 (to ensure that it cannot be used again) before the paper ticket 120 is retrieved by the voter and/or discarded.
In the embodiment shown in
A wide variety of information may be printed on the paper ticket 120. For example, the paper ticket 120 generated by the ticket printer 112 may have encoded data printed on one side, and instructions for the voter (and/or the poll worker) printed on the other side of the paper ticket 120.
When a voter checks in at a polling location and is assigned a specific ballot style (based on jurisdictional provided processes), a poll worker enters the assigned ballot style into the first device 110. The first device 110 uses the ballot style entered by the poll worker and possibly other data (such as, for example, a username of the voter, a digital signature of the username, an election identification (ID) and/or a voter-specific nonce) to generate the encoded data 212, which is printed onto the first side 210 of the paper ticket 200. In some embodiments, the encoded data 212 may be printed onto the first side 210 of the paper ticket 200 as a QR code (as shown in
As noted above, the ticket reader 132 includes at least one light source, which is coupled to provide illumination to the first side of the paper ticket 120. In the example embodiment shown in
As noted above, the ticket reader 132 further includes at least one optical sensor, which is coupled to detect illumination that passes through, or is reflected from, the paper ticket 120. In the example embodiment shown in
In the example embodiment shown in
The second optical sensor 320 is positioned above the paper channel 302 and used to obtain images (“ticket images”) of the paper ticket 120 under various backlight conditions (for example, under white light, IR light and/or UV light conditions). The ticket images obtained by the second optical sensor 320 are provided to the ticket reader controller 134. In some embodiments, the second optical sensor 320 may be used to measure the amount of illumination that is reflected from the front side of the paper ticket 120 and provide a corresponding sensor output signal (for example, a reflectance value) to the ticket reader controller 134. The sensor output signal(s) provided by the second optical sensor 320 to the ticket reader controller 134 (for example, the ticket images and/or the reflectance values) can be used to validate the paper ticket 120, as described in more detail below.
In other embodiments (not shown in
The first optical sensor 310 and the second optical sensor 320 may each be implemented in a wide variety of ways. For example, the first optical sensor 315 may be implemented as a photodetector or a photodiode array. In some embodiments, the second optical sensor 320 may be an image sensor, such as a charge coupled device (CCD) sensor or a complementary metal oxide semiconductor (CMOS) sensor. In other embodiments, the second optical sensor 320 may be a camera having an image sensor and a lens. In some embodiments, the camera may include a fixed lens to avoid issues with autofocus. A wide variety of cameras may also be used to implement the second optical sensor 320. In some embodiments, the second optical sensor 320 may be implemented as a still frame camera, which is configured to capture and output one or more image frames of image data. In other embodiments, the camera may be a video camera, which is configured to capture and output a video stream of image data. In one example embodiment, the camera may be a universal serial bus (USB) video camera.
When the paper ticket 120 is inserted fully into the ticket reader 132, the paper channel 302 provided within the ticket reader 132: (a) positions the paper ticket 120 at a fixed distance from the second optical sensor 320 to ensure that the ticket images captured by the second optical sensor 320 are in focus, and (b) positions the encoded data 212 printed on the paper ticket 120 within the field of view (FOV) of the second optical sensor 320. The ticket images and/or the reflectance values obtained by the second optical sensor 320 are provided to the ticket reader controller 134 for validation purposes. As described in more detail below, the ticket reader controller 134 may use a wide variety of methods for validating the paper ticket 120 inserted within the ticket reader 132.
The ticket reader 132 shown in
The thermal heating element 325 may be implemented in a wide variety of ways. In one embodiment, the thermal heating element 325 may be implemented as a printed circuit board (PCB) having conductive traces printed thereon, a ceramic substrate based heating element or a metal substrate based heating element. Upon successful validation of the paper ticket 120, the thermal heating element 325 can be activated by supplying current to the conductive traces provided on the PCB, the ceramic substrate based heating element or the metal substrate based heating element. The current supplied to the thermal heating element 325 generates heat sufficient to activate the thermal paper and thermally obfuscate at least a portion of the encoded data 212. The amount of current supplied to the thermal heating element 325, and thus, the amount heat sufficient to activate the thermal paper, may generally depend on the characteristics of the thermal paper used to print the paper ticket 120. In some embodiments, approximately 0.6-8amperes (A) of current may be supplied to the thermal heating element 325 to activate the thermal paper and partially or completely obscure the encoded data 212.
The conductive components of the thermal heating element 325 may take a wide variety of forms, such as a word (for example, “void,” “done,” “used,” etc.), a letter (for example, “V,” “D,” “X,” etc.), a shape (for example, a geometric shape, a line, etc.) or a symbol.
The ticket reader controller 134 shown in
As shown in
When MCU 340 detects insertion of a paper ticket 120 within the ticket reader 132 (based on the sensor output signals received from the first optical sensor 315), the MCU 340 supplies a ticket reader activation signal to the CPU 330 to activate the ticket reader operations. Upon receiving the ticket reader activation signal from MCU 340, CPU 330 executes program instructions 335 to control operations of the ticket reader 132 (such as, for example, backlight control and heater activation) and determine the validity of the paper ticket 120 inserted into the ticket reader 132. In some embodiments, CPU 330 may utilize sensor output signals (for example, reflectance values and/or ticket images) to determine the validity of the paper ticket 120. The program instructions 335 executed by CPU 330 may be included within one or more applications or software modules (as shown, for example, in
The ticket reader logic engine 505 communicates with the MCU 340 via the MCU communication protocol proxy 510 (executed by the CPU 330) and the communication protocol routing 530 (executed by the MCU 340) to control various ticket reader operations (such as, for example, backlight control and heater activation) and receive various sensor output signals (such as, for example, reflectance and/or transmittance values) from the optical sensor(s) included within the ticket reader 132.
MCU 340 further includes one or more general purpose input/output (GPIO) ports 535, a GPIO engine 540, an analog to digital converter (ADC) 545 and an ADC interrupt routine 550. In some embodiments, the first power switch 345, the second power switch 350 and the power regulator 355 shown in
ADC 545 is coupled to receive analog sensor output signals from one or more of the optical sensors included within the ticket reader 132, and configured to convert the analog sensor output signals into digital values, which are supplied to the ticket reader logic engine 505 via 550, 530 and 510. In some embodiments, ADC 545 may receive analog sensor output signals (for example, transmittance values and/or reflectance values) from the first optical sensor 315 before and after ticket insertion. In such embodiments, ADC 545 may convert the analog sensor output signals from the first optical sensor 315 into digital values, which are supplied to the ticket reader logic engine 505 and used to detect insertion of a paper ticket 120 into the ticket reader 132 and/or determine the validity of the paper ticket 120 inserted within the ticket reader 132. In some embodiments, the ADC 545 may receive analog sensor output signals (for example, reflectance values) from the second optical sensor 320 after ticket insertion. In such embodiments, ADC 545 may convert the analog sensor output signals received from the second optical sensor 320 into digital values, which are supplied to the ticket reader logic engine 505 and used to determine the validity of the paper ticket 120 inserted within the ticket reader 132.
The host application 500 communicates with the ticket reader logic engine 505 to control operations of the ticket reader 132 and determine the validity of the paper ticket 120 inserted into the ticket reader 132. The host application 500 may utilize a wide variety of methods to validate the paper ticket 120 inserted into the ticket reader 132.
In some embodiments, the host application 500 may attempt to validate the paper ticket 120 based on media printed on, or embedded within, the paper ticket 120. For example, a first validation method used by the host application 500 may determine whether the encoded data 212 printed on the paper ticket 120 is valid. A second validation method used by the host application 500 may determine whether invisible ink (for example, a UV or IR marking) is present on the paper ticket 120. Other validation methods may additionally or alternatively be used by the host application 500 to validate the paper ticket 120 based on media printed on, or embedded within, the paper ticket 120.
In the first validation method, the second optical sensor 320 obtains a ticket image of the paper ticket 120 while the white light source 305 is activated. The ticket image, which may be supplied to the CPU 330 via the USB port 525 and USB camera driver 520, is analyzed by the encoded data detector/decoder 515 to detect the encoded data 212 printed on the paper ticket 120. If encoded data 212 is detected within the ticket image, the encoded data detector/decoder 515 decodes the encoded data 212 to obtain the information originally used to generate the encoded data (such as, for example, the ballot style, the username of the voter, the digital signature of the username, the election ID and/or the voter-specific nonce). The decoded information is then provided to the host application 500 for validation. The host application 500 may: (a) validate the paper ticket 120 if the information obtained from the encoded data 212 contains data specific to the current election (for example, the correct election ID or ballot style), or (b) invalidate the paper ticket 120 if the information obtained from the encoded data 212 does not contain data specific to the current election.
In the second validation method, the second optical sensor 320 obtains a ticket image of the paper ticket 120 while the UV light source 310 (or an IR light source) is activated. The ticket image, which may be supplied to the CPU 330 via the USB port 525 and USB camera driver 520, is analyzed by the host application 500 to determine if an invisible ink marking (such as, for example, invisible ink marking 216) is present on the paper ticket 120. Detecting an invisible ink marking on the paper ticket 120 proves that the paper ticket is original (not a copy) and came from a trusted source. Thus, the host application 500 may: (a) validate the paper ticket 120 if an invisible ink marking is detected on the paper ticket 120, or (b) invalidate the paper ticket 120 if an invisible ink marking is not detected on the paper ticket 120.
In other embodiments, the host application 500 may attempt to validate the paper ticket 120 based on characteristics of the paper on which the paper ticket 120 is printed. As noted above, the paper ticket 120 printed by the ticket printer 112 may be printed on thermal paper. Thermal paper is differentiated from other types of paper by having at least one thermally coated side. Unlike other types of paper, the thermal coating provided on thermal paper is activated by heat. Thermal paper is further differentiated from other types of paper by exhibiting different values of reflectance on opposite sides of the paper (since one side is thermally coated, while the other is not). In some embodiments, the host application 500 may utilize validation methods that exploit these characteristics to determine whether the printed ticket 120 is printed on thermal paper, as opposed to other types of paper (for example, printer paper or photocopy paper). Although the examples below pertain to validating paper tickets printed on thermal paper, one skilled in the art would understand how other validation methods may additionally or alternatively be used by the host application 500 to validate a paper ticket 120 based on characteristics of the paper on which the paper ticket 120 is printed.
In some embodiments, a third validation method used by the host application 500 may attempt to validate the paper ticket 120 by determining whether a thermal marking can be produced on the paper ticket 120. In the third validation method, the second optical sensor 320 obtains a first ticket image of the paper ticket 120 while the white light source 305 is activated. After the first image is obtained, a heater activation signal is sent to the MCU 340 to activate the thermal heating element 325 positioned below the paper ticket 120. Upon receiving the heater activation signal, MCU 340 supplies a heater enable (heater EN) signal to the power regulator 355, which causes the power regulator 355 to supply current to the thermal heating element 325. If the paper ticket 120 inserted into the ticket reader 132 is printed on thermal paper, the current supplied to the thermal heating element 325 will generate an amount of heat, which is sufficient to thermally mark the paper ticket 120 with a predetermined thermal mark. However, a thermal mark will not be generated on the paper ticket 120 if the paper ticket is printed on other types of paper (for example, printer paper or photocopy paper).
The thermal heating element 325 may utilize a variety of methods to thermally mark the paper ticket with a predetermined mark. In some embodiments, a predetermined mark may be formed on the paper ticket 120 by the conductive traces 405 shown in
After the thermal heating element 325 is activated, the second optical sensor 320 obtains a second ticket image of the paper ticket 120 while the white light source 305 is activated. The host application 500 compares the second ticket image to the first ticket image to determine if a predetermined mark is generated on the paper ticket 120. The host application 500 may: (a) validate the paper ticket 120 if the comparison shows that the predetermined mark is produced on the paper ticket 120 by the thermal heating element 325, or (b) invalidate the paper ticket 120 if the comparison shows the predetermined mark is not produced on the paper ticket 120 by the thermal heating element 325.
In some embodiments, a fourth validation method used by the host application 500 may attempt to validate the paper ticket 120 by comparing a reflectance value measured from the paper ticket 120 to a range of reflectance values corresponding to thermal paper. In the fourth validation method, the host application 500 may detect an amount of the illumination that is reflected from the paper ticket 120 (i.e., reflectance values), generate a digital value corresponding to the amount of the illumination that is reflected from the paper ticket 120, and either: (a) validate the paper ticket 120 if the digital value falls within a range of digital values corresponding to thermal paper, or (b) invalidate the paper ticket 120 if the digital value does not fall within the range of digital values corresponding to thermal paper.
In some embodiments, the second optical sensor 320 may be used to measure a reflectance value from the front side of the paper ticket 120 while the paper ticket 120 is illuminated with light from the white light source 305. The reflectance value measured from the front side of the paper ticket 120 is converted to a digital value (for example, by ADC 545) and compared to a range of digital values, which correspond to known reflectance values from thermal paper illuminated with light in the visible light spectrum (for example, 400-700 nm). The host application 500 may invalidate the paper ticket 120 if the digital value of measured reflectance does not match the expected results.
In some embodiments, the second optical sensor 320 may be used to measure a reflectance value from the front side of the paper ticket 120 while the paper ticket 120 is illuminated with light from the UV light source 310. The reflectance value measured from the front side of the paper ticket 120 is converted to a digital value (for example, by ADC 545) and compared to a range of digital values, which correspond to known reflectance values from thermal paper illuminated with light in the UV light spectrum (for example, 200-400 nm). The host application 500 may invalidate the paper ticket 120 if the digital value of measured reflectance does not match the expected results.
In some embodiments, the second optical sensor 320 may be used to measure a reflectance value from the front side of the paper ticket 120 while the paper ticket 120 is illuminated with light from an IR light source (not shown). The reflectance value measured from the front side of the paper ticket 120 is converted to a digital value (for example, by ADC 545) and compared to a range of digital values, which correspond to known reflectance values from thermal paper illuminated with light in the IR light spectrum (for example, 700 nm-1 mm). The host application 500 may invalidate the paper ticket 120 if the digital value of measured reflectance does not match the expected results.
In some embodiments, the first optical sensor 315 may additionally or alternatively be used to measure a reflectance value from the back side of the paper ticket 120 while the paper ticket 120 is illuminated with light from an additional light source (for example, a UV light source, white light source or IR light source, not shown) positioned below the paper ticket 120. The reflectance value measured from the back side of the paper ticket 120 is converted to a digital value (for example, by ADC 545) and compared to a range of digital values, which correspond to known reflectance values from thermal paper illuminated with light in the UV light spectrum (for example, 200-400 nm), visible light spectrum (for example, 400-700 nm) or IR light spectrum (for example, 700 nm-1 mm). The host application 500 may invalidate the paper ticket 120 if the digital value(s) of measured reflectance do not match the expected results.
Step 608 attempts to detect encoded data from a first ticket image. If encoded data is not detected (step 610), the process proceeds to step 612 which is a 100 millisecond (ms) delay and then proceeds back to step 608. If encoded data is detected within the first ticket image (YES branch of step 610), process flow 600 decodes the encoded data to obtain the information embedded therein (in step 614) and validates the information obtained from the encoded data (in step 616) to determine if the information contains data specific to the current election (in step 618). If the information does not contain election specific data (NO branch of step 618), the process flow 600 informs the host application that the encoded data is invalid (in step 620). As noted above, the host application may invalidate the paper ticket if the encoded data printed on the paper ticket is determined to be invalid.
If the information obtained from the encoded data is determined to be valid (YES branch of step 618), the process flow 600 may continue to validate the paper ticket using one or more methods of validation, as described further herein. For example, the process flow 600 may determine whether a reflectance value measured from the paper ticket corresponds to known values of reflectance for thermal paper illuminated with white light in steps 622-624. In one embodiment, the process flow 600 may read the optical sensor ADC value (obtained, for example, by optical sensor 315/320 and ADC 545) (in step 622) while the paper ticket is illuminated with white light (step 602), and may compare the optical sensor ADC value to a range of digital values, which correspond to known reflectance values from thermal paper illuminated with light in the visible light spectrum (in step 624). If the optical sensor ADC value does not fall within the known range of digital values (NO branch of step 624), the process flow 600 informs the host application that the paper ticket is invalid (in step 626).
In some embodiments (not shown), process flow 600 may inform the host application that the paper ticket is valid (in step 650) if the optical sensor ADC value matches the reflectance values expected for thermal paper illuminated with white light in step 624. In other embodiments, process flow 600 may perform one or more additional method(s) to further validate (or invalidate) the paper ticket in steps 628-632, steps 634-338 and/or steps 640-648.
In some embodiments, for example, the process flow 600 may determine whether a reflectance value measured from the paper ticket corresponds to known values of reflectance for thermal paper illuminated with UV light in steps 628-632. After turning off the white backlights and turning on the UV backlights (in step 628), process flow 600 may read the optical sensor ADC value (obtained, for example, by optical sensor 315/320 and ADC 545) (in step 630), and compare the optical sensor ADC value to a range of digital values, which correspond to known reflectance values from thermal paper illuminated with light in the UV light spectrum (in step 632). If the optical sensor ADC value does not fall within this range of digital values (NO branch of step 632), the process flow 600 informs the host application that the paper ticket is invalid (in step 626).
In some embodiments, the process flow 600 may perform additional validation under UV backlight conditions. For example, the process flow may determine whether an invisible ink marking is present on the paper ticket in steps 634-638. To determine whether an invisible ink marking is present on the paper ticket, the process flow 600 may obtain a ticket image of the paper ticket while the paper ticket is illuminated with UV light (in step 634), and analyze the ticket image to attempt to detect an invisible ink marking on the paper ticket (in step 636). If an invisible ink marking is not detected (NO branch of step 638), the process flow 600 informs the host application that the paper ticket is invalid (in step 626).
In some embodiments, the process flow 600 may determine whether a thermal marking can be produced on the paper ticket in steps 640-648. After turning on the white backlights and turning off the UV backlights (in step 640), the process flow 600 may activate the thermal heating element in an attempt to thermally mark the paper ticket (in step 642), obtain a second ticket image of the paper ticket (in step 644) and compare the second ticket image to the first ticket image (in step 646). If a thermal marking is not detected in the second ticket image (NO branch of step 648), the process flow 600 informs the host application that the paper ticket is invalid (in step 626).
In the embodiment shown in
While a plurality of validation methods are shown in
The process flow 700 shown in
An electronic voting device having an improved ticket reader 132 and ticket reader controller 134 is described above. The electronic voting device described herein improves upon conventional electronic voting devices by providing a ticket reader 132 and ticket reader controller 134 for validating and subsequently voiding a paper ticket. Unlike conventional electronic voting devices, which require poll worker intervention or a centralized network controller to manually input or validate an access code printed on a paper ticket, the electronic voting device shown and described herein performs ticket validation and voiding functions entirely within the ticket reader 132. This enables voters to access an electronic voting device that is not connected to a centralized network controller, and self-activate a corresponding ballot style without poll worker intervention. Other advantages not specifically mentioned herein may also be apparent to the skilled artisan.
It will be recognized that the embodiment shown in
The method 900 shown in
In one embodiment, the method 900 may attempt to validate the paper ticket (in step 940) by generating a digital value corresponding to an amount of illumination that is reflected from the paper ticket. In such an embodiment, the method 900 may: (a) validate the paper ticket if the digital value falls within a range of digital values corresponding to thermal paper, and (b) invalidate the paper ticket if the digital value does not fall within the range of digital values corresponding to thermal paper.
In another embodiment, the method 900 may attempt to validate the paper ticket (in step 940) by obtaining an image of the first side of the paper ticket while the paper ticket is illuminated with UV illumination or IR illumination, and analyzing the image to determine the presence or absence of an invisible ink marking on the paper ticket. In such an embodiment, the method 900 may: (a) validate the paper ticket if the invisible ink marking is detected on the paper ticket, and (b) invalidate the paper ticket if the invisible ink marking is not detected on the paper ticket.
In yet another embodiment, the method 900 may attempt to validate the paper ticket (in step 940) by obtaining a first image of the first side of the paper ticket and activating a thermal heating element positioned adjacent to a second side of the paper ticket to attempt to thermally mark the paper ticket. Next, the method 900 may obtain a second image of the first side of the paper ticket, and compare the second image to the first image. In such an embodiment, the method 900 may: (a) validate the paper ticket if the comparison shows a thermal mark is produced on the paper ticket by the thermal heating element, and (b) invalidate the paper ticket if the comparison shows a thermal mark is not produced on the paper ticket by the thermal heating element.
The method 900 shown in
Other advantages may be apparent to those skilled in the art in view of this description. In addition, further modifications and alternative embodiments of the inventions described herein will be apparent to those skilled in the art in view of this description. Accordingly, this description is to be construed as illustrative only and is for the purpose of teaching those skilled in the art the manner of carrying out the inventions. It is to be understood that the forms and methods of the inventions herein shown and described are to be taken as presently preferred embodiments. Equivalent techniques may be substituted for those illustrated and described herein and certain features of the inventions may be utilized independently of the use of other features, all as would be apparent to one skilled in the art after having the benefit of this description of the inventions.
This application claims priority to U.S. Provisional Patent Application No. 63/533,739 entitled Systems and Methods for Validating and Subsequently Voiding a Paper Ticket Used to Access an Electronic Voting Device, filed Aug. 21, 2023, the disclosure of which is expressly incorporated by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
63533739 | Aug 2023 | US |