One potential enabler at our disposal is the existence of tamper-resistant devices, such as smart cards. Cryptographic keys can be generated and stored on these devices, and they can perform computations to ensure that proper credentials can be exchanged between a client and a voting server. However, there are some limitations to the utility of such devices. The first is the lack of a deployed base of smart card readers on personal computers. Any system that requires financial investment (such as purchasing a smart card reader) in order to vote is unacceptable. Some people are more limited in their ability to spend, and it's unfair to decrease the likelihood that such people vote. In effect, this would be a poll tax. This issue is often referred to as the digital divide.
Even if every computer had a smart card reader, there are some security concerns. The smart card doesn't interact directly with the election server. The communication goes through the computer. Malicious code installed on the computer could misuse the smart card. At the very least, the code could prevent the vote from actually being cast, while fooling the user into believing that the vote was sent. At worst, it could change the vote.
Other specialized devices, such as a cell phone with no general-purpose processor but equipped with a smart card, offer more promise of solving the technical security problems. However, they introduce even greater digital divide issues. In addition, the user interface issues, which are fundamental to a fair election, are much more difficult with these specialized devices. This is due to the more limited displays and input devices. Finally, while computers offer some hope of improving the accessibility of voting for the disabled, specialized devices are even more limiting in that respect.