1. Technical Field
The present teaching relates to methods, systems, and programming for cryptography. Particularly, the present teaching is directed to methods, systems, and programming for exchanging a cryptographic key with an unauthenticated device.
2. Discussion of Technical Background
As the Internet grows and computers become widely available, cryptography becomes more and more important for secure communication in the presence of adversaries. Nowadays, personal devices can be equipped with a secure application to perform communications in a trust network, such as secure access to personal data, or secure end-to-end (E2E) messaging or email. Typically, one user may have access to multiple devices, e.g. a desktop that is convenient to use at home and a smartphone that is convenient to use at work or on a trip. A user having a trusted device in a trust network may purchase a new device and want to expand trust from the trusted device to the new untrusted device.
Most existing techniques for trust expansion try to exchange a key over an insecure channel, e.g. over the Internet where any intermediate party can eavesdrop the key, or assume that the key exchange is facilitated by a fully-trusted server. Another way of trust expansion is to physically transfer the key from the trusted device to the untrusted device, e.g. using a floppy disk or a flash drive, which may be impossible or difficult for a user to handle because the two devices can have different connection standards.
Therefore, there is a need to develop techniques to exchange a key between a trusted device and a new or unauthenticated device to overcome the above drawbacks.