83
Crypto and the Internet: Real-World Usage Josh Benaloh Senior Cryptographer Microsoft Research

Crypto and the Internet: Real-World Usage

  • Upload
    joanne

  • View
    53

  • Download
    1

Embed Size (px)

DESCRIPTION

Crypto and the Internet: Real-World Usage. Josh Benaloh Senior Cryptographer Microsoft Research. Todo. After digital certificate slide ~#54 Add a picture of a browser when talking about verisign. Internet Security?. The Internet was not designed for security. - PowerPoint PPT Presentation

Citation preview

Verifiable Elections

Crypto and the Internet: Real-World UsageJosh Benaloh Senior Cryptographer Microsoft ResearchTodoAfter digital certificate slide ~#54Add a picture of a browser when talking about verisignMarch 5, 2013Internet Security?The Internet was not designed for security.

Sending data via the Internet is like sending post cards through the mail when you dont trust the Post Office.March 5, 2013March 5, 2013A Typical Internet SessionYou (client)Merchant (server)I want to make a purchase.What is your Credit Card Number?My Credit Card is 6543 2345 6789 8765.Basic EncryptionCan we at least protect the credit card number so that it wont be revealed to anyone except the intended merchant? March 5, 2013March 5, 2013Kerckhoffss Principle (1883)The security of a cryptosystem should depend only on the key.

You should assume that attackers know everything about your system except the key.March 5, 2013PINs, Passwords, & KeysInformally A PIN is a 4-6 digit speed bump.A password is a short, user-chosen, usually guessable selection from a small dictionary.A key is an unguessable, randomly chosen string usually at least 128 bits. March 5, 2013Off-Line AttacksDont even think about using user-chosen passwords as encryption keys.Dont even think about using keys derived deterministically from user-chosen passwords.Given the ciphertext, an attacker can do a (guided) exhaustive search through the space to find the password.March 5, 2013Symmetric EncryptionIf the client has a pre-existing relationship with the merchant, the two parties may have a shared secret key K known only to these two.

User encrypts private data with key K.

Merchant decrypts data with key K.March 5, 2013Symmetric CiphersPrivate-key (symmetric) ciphers are usually divided into two classes.

Stream ciphers

Block ciphersMarch 5, 2013Symmetric CiphersPrivate-key (symmetric) ciphers are usually divided into two classes.

Stream ciphers

Block ciphersMarch 5, 2013Stream Ciphers RC4, A5/1, SEAL, etc.

Use the key as a seed to a pseudo-random number-generator.Take the stream of output bits from the PRNG and XOR it with the plaintext to form the ciphertext.March 5, 2013Stream Cipher EncryptionPlaintext:PRNG(seed):Ciphertext:March 5, 2013Stream Cipher DecryptionCiphertext:PRNG(seed):Plaintext:March 5, 2013A PRNG: Alleged RC4InitializationS[0..255] = 0,1,,255; j=0K[0..255] = Key,Key,Key,for i = 0 to 255j = (j + S[i] + K[i]) mod 256swap S[i] and S[j]March 5, 2013A PRNG: Alleged RC4Iterationi = (i + 1) mod 256j = (j + S[i]) mod 256swap S[i] and S[j]t = (S[i] + S[j]) mod 256Output S[t]March 5, 2013Some Good PropertiesStream ciphers are typically very fast.

Stream ciphers can be very simple.

The same function is used for encryption and decryption.March 5, 2013Stream Cipher SecurityIf two plaintexts are ever encrypted with the same stream cipher and keyC1 = K P1C2 = K P2an attacker can easily computeC1 C2 = P1 P2from which P1 and P2 can usually be teased apart easily.March 5, 2013Stream Cipher EncryptionPlaintext:PRNG(seed):Ciphertext:March 5, 2013Stream Cipher IntegrityIt is easy for an adversary (even one who cant decrypt the ciphertext) to alter the plaintext in a known way.March 5, 2013Stream Cipher IntegrityIt is easy for an adversary (even one who cant decrypt the ciphertext) to alter the plaintext in a known way.Bob to Bobs Bank: Please transfer $0,000,002.00 to the account of my good friend Alice.March 5, 2013Stream Cipher IntegrityIt is easy for an adversary (even one who cant decrypt the ciphertext) to alter the plaintext in a known way.Bob to Bobs Bank: Please transfer $1,000,002.00 to the account of my good friend Alice.March 5, 2013Symmetric CiphersPrivate-key (symmetric) ciphers are usually divided into two classes.

Stream ciphers

Block ciphersMarch 5, 2013Block CiphersBlockCipherPlaintext DataCiphertextKeyUsually 8 or 16 bytesAES, DES, 3DES, Twofish, etc.Usually 16 or more bytesMarch 5, 2013How to Build a Block CipherBlockCipherPlaintextCiphertextKeyMarch 5, 2013Feistel CiphersUglyMarch 5, 2013Feistel CiphersUglyMarch 5, 2013Feistel CiphersUglyMarch 5, 2013UglyFeistel CiphersMarch 5, 2013Feistel CiphersUglyUglyMarch 5, 2013Feistel CiphersTypically, Feistel ciphers are iterated for about 10-16 rounds.Different sub-keys are used for each round.

Even a weak round function can yield a strong Feistel cipher if iterated sufficiently.March 5, 2013Feistel CiphersUglyUglyMarch 5, 2013Feistel CiphersUglyUglyKey1Key2March 5, 2013Feistel CiphersTypically, Feistel ciphers are iterated for about 10-16 rounds.Different sub-keys are used for each round.

Even a weak round function can yield a strong Feistel cipher if iterated sufficiently.March 5, 2013Transfer of Confidential DataYou (client)Merchant (server)I want to make a purchase.My Credit Card is E(6543 2345 6789 8765).What is your Credit Card Number?March 5, 2013Transfer of Confidential DataYou (client)Merchant (server)I want to make a purchase.Please encrypt your credit number with our shared secret key.What shared secret key???March 5, 2013Asymmetric EncryptionWhat if the user and merchant have no prior relationship?

Asymmetric encryption allows someone to encrypt a message for a recipient without knowledge of the recipients decryption key.March 5, 2013The Fundamental EquationMarch 5, 2013The Fundamental EquationMarch 5, 2013The Fundamental EquationMarch 5, 2013The Fundamental EquationMarch 5, 2013The Fundamental EquationMarch 5, 2013March 5, 2013March 5, 2013March 5, 2013March 5, 2013March 5, 2013The Fundamental EquationMarch 5, 2013RSA Encryption/DecryptionMarch 5, 2013RSA Signatures and VerificationMarch 5, 2013Transfer of Confidential DataYou (client)Merchant (server)I want to make a purchase.What is your Credit Card Number?My Credit Card is 6543 2345 6789 8765.March 5, 2013Transfer of Confidential DataYou (client)Merchant (server)I want to make a purchase.Here is my RSA public key E.My Credit Card is E(6543 2345 6789 8765).March 5, 2013Intermediary AttackYou (client)Merchant (server)I want to make a purchase.My public key is .(CC#)IntermediaryI want to make a purchase.My public key is E.E(CC#)March 5, 2013Digital Certificates

March 5, 2013Transfer of Confidential DataYou (client)Merchant (server)I want to make a purchase.Here is my RSA public key E and a cert.My Credit Card is E(6543 2345 6789 8765).March 5, 2013Replay AttackYou (client)Merchant (server)I want to make a purchase.Here is my RSA public key E and a cert.My Credit Card is E(6543 2345 6789 8765).Later EavesdropperMerchant (server)I want to make a different purchase.Here is my RSA public key E and a cert.My Credit Card is E(6543 2345 6789 8765).March 5, 2013Transfer of Confidential DataYou (client)Merchant (server)I want to make a purchase.Here is my RSA public key E and a cert and a nonce.My Credit Card and your nonce areE(6543 2345 6789 8765, nonce).March 5, 2013SSL/PCT/TLS History1994: Secure Sockets Layer (SSL) V2.0

1995: Private Communication Technology (PCT) V1.0

1996: Secure Sockets Layer (SSL) V3.0

1997: Private Communication Technology (PCT) V4.0

1999: Transport Layer Security (TLS) V1.0

March 5, 2013SSL/PCT/TLS HandshakeYou (client)Merchant (server)Lets talk securely.Here are the protocols and ciphers I understand.I choose this protocol and these ciphers.Here is my public key, a cert, a nonce, etc.Using your public key, Ive encrypted a random symmetric key (and your nonce).March 5, 2013SSL/PCT/TLS AgilityA principal reason for the success of SSL/TLS is its agility.The handshake negotiates symmetric and asymmetric ciphers, the hash function, and even the protocols own version.This has allowed the protocol to survive and expand while many underlying primitives have been discredited or lost favor.March 5, 2013SSL/PCT/TLS Secure ChannelOnce the negotiation is complete, all subsequent secure messages are sentencrypted using the negotiated session key, andintegrity checked with a keyed hash.Hybrid CryptographyAsymmetric cryptography has many useful features not available in traditional symmetric cryptography.Symmetric cryptography is much more efficient than asymmetric.The practical hybrid is formed by using asymmetric cryptography to establish a secure channel and symmetric cryptography within the secure channel.March 5, 2013Application: Verifiable ElectionsCurrent election technology requires trust inthe officials who manage elections,the equipment and its manufacturers, andthe processes used in the election.

Cryptography allows us to eliminate this trust.

March 5, 2013A Verifiable ElectionVoter NameVoteAlice SmithJeffersonBob WilliamsAdamsCarol JamesAdamsDavid FuentesJeffersonEllen ChuJeffersonTotalsJefferson3Adams2A Verifiable ElectionVoter NameVoteAlice SmithJeffersonX37BM6YPMBob WilliamsAdams2J8CNF2KQCarol JamesAdamsVRSF5JQWZDavid FuentesJeffersonMW5B2VA7YEllen ChuJefferson8VPPS2L39TotalsJefferson3Adams2A Verifiable ElectionVoter NameVoteAlice SmithJeffersonX37BM6YPMBob WilliamsAdams2J8CNF2KQCarol JamesAdamsVRSF5JQWZDavid FuentesJeffersonMW5B2VA7YEllen ChuJefferson8VPPS2L39TotalsJefferson3Adams2A Verifiable ElectionVoter NameVoteAlice SmithJeffersonX37BM6YPMBob WilliamsAdams2J8CNF2KQCarol JamesAdamsVRSF5JQWZDavid FuentesJeffersonMW5B2VA7YEllen ChuJefferson8VPPS2L39TotalsJefferson3Adams2A Verifiable ElectionX37BM6YPM2J8CNF2KQVRSF5JQWZMW5B2VA7Y8VPPS2L39TotalsJefferson3Adams2A Verifiable ElectionX37BM6YPM2J8CNF2KQVRSF5JQWZMW5B2VA7Y8VPPS2L39TotalsJefferson3Adams2MathematicalProofThe Voters PerspectiveSystems that produce verifiable elections can be built to look exactly like current systems paper-basedfully-electronicin-personremote

with one addition A Verifiable ReceiptPrecinct 37 Machine 4Nov. 6, 2012 1:39PM

Vote receipt tag:7A34ZR9K4BX

***VOTE COMFIRMED***

The Voters PerspectiveVoters can Use receipts to check their results are properly recorded on a public web site.Throw their receipts in the trash.

Write and use their own election verifiersDownload applications from sources of their choice to verify the mathematical proof of the tally.Believe verifications done by their political parties, LWV, ACLU, etc.Accept the results without question.Some systems producing verifiable elections Prt Voter BallotBobEveCarolAliceDavid17320508Prt Voter BallotBobEveCarolAliceXDavid17320508Prt Voter BallotX17320508Scantegrity

VeriScan

Helios

Helios

STAR-VoteVoters use electronic ballot marking devices to indicate their preferences.When a voters selections are completed, the device provides the voter with a paper ballot summary and an encrypted receipt. It also records the encrypted ballot.The voter can review the paper ballot summary, and optionally deposit it in a ballot box.All encrypted ballots are posted, but the only votes counted are those for which a corresponding paper ballot has been deposited. The remaining ballots are decrypted.Benefits of E2E-VerifiabilityStrong public assurance of election integrityElimination of trust requirementsCertification reliefMarch 5, 2013Questions???