Secure Channel Injection and Anonymous Proofs of Account Ownership

Secure Channel Injection and Anonymous Proofs of Account Ownership

Secure Channel Injection and Anonymous Proofs of Account Ownership Liang Wang Rafael Pass abhi shelat Thomas Ristenpart University of Wisconsin – Madison Cornell Tech University of Virginia Cornell Tech [email protected] [email protected] [email protected] [email protected] Abstract— (SCI). As mentioned, an SCI protocol allows a client and proxy We introduce secure channel injection (SCI) protocols, which to jointly generate a sequence of encrypted messages sent to allow one party to insert a private message into another some server, with the ability of the proxy to insert a private party’s encrypted communications. We construct an efficient SCI message at a designated point in the sequence. In our proof protocol for communications delivered over TLS, and use it of ownership context, the server would be an authenticated to realize anonymous proofs of account ownership for SMTP email service, and the injected message will be a challenge servers. This allows [email protected] to prove ownership of some inserted into an email. To complete the proof, the client can email address @mail.com, without revealing “alice” to the verifier. later retrieve the challenge from the service using a separate We show experimentally that our system works with standard email server implementations as well as Gmail. We go on to connection. extend our basic SCI protocol to realize a “blind” certificate Our SCI construction targets protocols running over TLS, authority: the account holder can obtain a valid X.509 certificate which is the most widely used secure channel protocol. Recall binding [email protected] to her public key, if it can prove that TLS consists of a handshake that establishes a shared ownership of some email address @mail.com. The authority never secret, and then encrypts application-layer messages (SMTP learns which email account is used. in our context) using a record layer protocol that uses an authenticated encryption scheme. I. INTRODUCTION We design special-purpose secure two-party computation In this paper we introduce and construct secure channel protocols that allow the client and proxy to efficiently compute injection (SCI) protocols. These enable one party, the client, a TLS session with the server. For most of the session, the to securely allow another party, the proxy, to inject data into an proxy acts as a simple TCP-layer proxy that forwards messages encrypted channel between the client and a server. During the back and forth. The client negotiates a TLS session key directly protocol execution, the client should learn nothing about the with the destination server. At some point in the stream, injected data and the proxy should learn nothing about other however, the proxy must inject a message, and here the client content of the encrypted stream. (which has the session key) and the proxy (which has the secret To motivate SCI, consider the following scenario. The message to inject) perform an interactive protocol to compute owner of an email account [email protected] wishes to obtain a the record layer encryption of the message. By exploiting the certificate binding her email address to a public key. In existing cryptographic structure of the TLS record layer encryption systems, she must reveal her identify to a certificate authority scheme, we end up with a protocol whose most expensive (CA) service in order to prove ownership of the email address. step is a standard Yao [49] two-party protocol on a circuit This has privacy implications for Alice, as she may not want consisting of one to two AES computations (plus exclusive- to trust the CA with her identity (c.f., [35]). For example, if or operations). Direct use of Yao to perform the entire record certificates are to be used with end-to-end private messaging layer construction without our tricks would be prohibitively systems, there may be no reason a priori the CA should need to expensive. know Alice’s exact identity. We call a CA blind if it can deliver Our SCI construction can be used to perform anonymous certificates after checking ownership of an identity, while never PAO. The proxy can be directed to connect to an authenticated learning the exact identity. SMTP service, and then run the SCI to send an email from Unfortunately, no existing mechanisms allow building a the client’s email account to some other (possibly the same) blind CA. Traditional CAs use proofs of ownership of email account from which the client can read received email. The (or other) accounts in the following way: the user, as prover, SCI injects into the body of the email a challenge, and the submits an email address and the verifier sends an email client proves the email gets sent by obtaining the challenge containing a random challenge to the address. Obtaining access later and sending it back to the proxy. to the challenge proves ownership of the account. Anonymous We go on to show how to extend our basic SCI-based credential systems (e.g., [9], [38]), allow proving one has a anonymous PAO protocols for TLS to additionally yield as credential without revealing it, but these systems nevertheless output a cryptographic commitment by the client to the account require a traditional registration step and proof of ownership. identity, i.e., the sending email address. This commitment can We show how to build anonymous proof of account be used in conjunction with the challenge in a subsequent step ownership (PAO) that allow proving ownership of an existing to obtain a certificate from the proxy that binds the account email account without revealing which account. To do so, we identity to a public key of the client’s choosing. Thus we introduce the more general tool of secure channel injection obtain the first construction of a blind CA: it checks a user’s ownership of an email address and, if successful, generates a with Twitter and Facebook accounts [29]. Common to all signed X.509 certificate for them, without ever learning the proofs of account ownership is the fact that the verifier learns identity of the user. The identity provider (the email service) the identity of the prover. need not be modified, and never even learns that they are being Public-key registration. Proofs of account ownership have used as an identity provider. become increasingly used by certificate authorities (CAs) to We implement a prototype of the functionalities above verify ownership of an identity when registering a public and test it with various SMTP servers, showing that it is 1 key in a public-key infrastructure (PKI). One example is fast enough for deployment. Running the client on a laptop the Let’s Encrypt service [27], which provides free TLS connected via a public wireless network to a proxy running certificates to users that can prove ownership of the domain via on EC2, the median time to complete a SCI-based anonymous a DNS proof of ownership or web page proof of ownership. PAO is 1.6 seconds. More performance results are given in the Keybase.io signs PGP keys based on proofs of ownership of body. social media accounts [29]. Traditional CAs also need to do In summary, our contributions include the following: PAOs, e.g., proof ownership of the administrative email of • We introduce the notion of secure channel injection and the domain to validate one’s ownership of a domain, before show how to realize it efficiently in the case of TLS. Our issuing a certificate binding a public key to the domain. In techniques can be adapted to other secure channels such these contexts, the user sends her identity and public key as SSH and IPsec. to the CA, the latter invokes a proof of ownership protocol, and if the proof verifies then the CA provides the user with • We use secure channel injection to build anonymous proof an appropriate certificate. Importantly, the CA in all existing of account ownership protocols for SMTP-STARTTLS. systems learns the identity of the user. • We show how to extend our protocols to enable the Anonymous proofs of account ownership. The conventional construction of a blind CA that will generate a certificate protocols discussed so far reveal to the verifier the identity of binding a public key to an account identifier only should the account owner. Sometimes revealing the specific identity ownership of the account be proven, all without having is important for security, for example if one needs to log users the CA learn which account was used. and detect fraudulent requests. But in some settings the account owner / prover may be unwilling to reveal their identity. II. OVERVIEW In the end-to-end encryption setting, privacy is an often In this paper we introduce and construct secure channel mentioned critique of certificate transparency mechanisms like injection (SCI) protocols. These enable one party, the client, CONIKS [35]. Existing anonymous credential systems might to securely allow another party, the proxy, to inject data into an seem to solve this problem, but in fact current systems rely encrypted channel between the client and a server. The client on a trusted third party (TTP) to perform identity checks (via should learn nothing about the injected data and the proxy conventional PAOs) and distribute pseudonyms to users. The should learn nothing about other content of the encrypted pseudonym can be used to request a certificate from a CA, who stream. We believe SCI protocols to be of potentially broad checks the legitimacy of the pseudonym with the TTP [9], [25], applicability in privacy-sensitive settings. We now illustrate [38], [39]. However, these systems are vulnerable if the TTP one example application: anonymous proof of account owner- misbehaves.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    14 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us