IP Library Granted Patent US 8,621,210
Granted Patent B2
US 8,621,210 · App. 12/146,774 · Granted Dec 31, 2013

Ad-hoc trust establishment using visual verification

Inventors: Laurent Bussard (Aachen, DE); Ulrich Müller (Aachen, DE); Alain Gefflaut (Aachen, DE)
Assignee: Microsoft Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,621,210
App. No.
12/146,774
Filed
Jun 26, 2008
Granted
Dec 31, 2013
Kind
B2
Art Unit
2492
USPC
713/168
Abstract

Methods for ad-hoc trust establishment using visual verification are described. In a first embodiment, a visual representation of a shared data is generated on two or more devices and the visual representations generated can be visually compared by a user. This method can be used to verify that the correct devices are involved in a negotiation, when pre-existing trust relationships do not exist between the devices. The visual representation may, for example, comprise a picture with a number of different elements, each representing a part of the shared data. In another embodiment, a method of secure key exchange is described in which, before sharing the keys, the parties exchange information which encapsulates the key. This information can be used subsequently to check that a party has not changed the key that they are using and prevents a man in the middle attack.

Claims (63)

1. A computer implemented method of establishing a trust relationship, the method operable on a processor, the method comprising:

computing, by the processor, a hash value of the shared data;

dividing a predetermined number of bits of the hash value into a plurality of unequal sized portions;

mapping at least one of the plurality of portions to a graphical symbol and at least another one of the plurality of portions to a background color, wherein the portion mapped to the graphical symbol comprises a larger portion than the portion mapped to the background color; and

combining the graphical symbol comprising the larger portion and the background color comprising the smaller portion to form a visual representation, wherein dividing the predetermined number of bits of the hash value into a plurality of unequal sized portions comprises:

dividing the hash value into at least one 8 bit portion and at least one 3 bit portion, and

wherein mapping at least one of the plurality of portions to a graphical symbol and at least another one of the plurality of portions to a background color comprises:

mapping the at least one 8 bit portion of the hash value to the graphical symbol, and

mapping the at least one 3 bit portion of the hash value to the background color.

2. A method according to claim 1 , wherein each graphical symbol and background color is selected from a dictionary of visual features.

3. A method according to claim 1 , further comprising generating data corresponding to a visual representation and sending the data to a user for comparison with a second visual representation of the shared data, wherein the comparison with the second visual representation comprises a comparison of the visual representation displayed on the display device with the second visual representation displayed on a display device of another device.

4. A method according to claim 1 , further comprising, prior to generating a visual representation of shared data:

generating at least a first key;

transmitting a hash of at least the first key to a device and receiving a hash of at least a second key from the device;

transmitting the first key to the device and receiving the second key from the device; and

checking that the hash of at least the second key corresponds to the second key, and

wherein the shared data comprises a combination of at least the first key and the second key.

5. A method of secure key exchange comprising:

generating at least a first key at a first device;

transmitting a hash of at least the first key to a second device and receiving a hash of at least a second key from the second device;

transmitting the first key to the second device and receiving the second key from the second device;

checking that the hash of at least the second key corresponds to the second key;

generating a visual representation of at least the first key and the second key, the generating including:

computing a hash of at least the first key and the second key;

dividing a predetermined number of bits of the hash into a plurality of unequal sized portions;

mapping at least one of said plurality of portions to a graphical symbol and mapping at least another one of said plurality of portions to a background color, wherein the portion mapped to the graphical symbol comprises a larger portion than the portion mapped to the background color;

combining at least the graphical symbol comprising the larger portion and the background color comprising the smaller portion to form the visual representation;

creating a combination of at least the first key, the second key, and at least one of the hash of at least the first key and the hash of at least the second key;

mapping the combination of at least the first key, the second key, and at least one of the hash of at least the first key and the hash of at least the second key to a plurality of combined graphical symbols and backgrounds; and

displaying the plurality of combined graphical symbols and backgrounds as the combined visual representation.

6. A method according to claim 5 , wherein each graphical symbol and background color is selected from a dictionary of visual features.

7. A method according to claim 5 , wherein the first key comprises a public key and wherein generating at least a first key comprises:

generating a pair of keys comprising a public key and a private key.

8. A method according to claim 7 , wherein the hash of at least the first key comprises a hash value of the first key and a first secret value and the hash of the at least second key comprises a hash value of the second key and a second secret value and wherein the method further comprises:

encrypting the first secret value using the second key to generate a first encrypted value;

transmitting the first encrypted value to the second device;

receiving a second encrypted value from the second device; and

decrypting the second encrypted value using the private key to determine the second secret value.

9. A method according to claim 8 , wherein generating a visual representation of at least the first key and the second key comprises:

generating a visual representation of the first and second keys and the first and second secret values.

10. One or more memory devices with device-executable instructions for performing steps comprising:

generating a first public key and a corresponding private key at a first device;

generating a first hash value from at least the first public key, the first hash value being generated from the first public key and a first value;

sending the first hash value to a second device and receiving a second hash value from the second device, the second hash value being generated from at least a second public key;

sending the first public key to the second device and receiving the second public key from the second device;

verifying that the second hash value corresponds to the second public key;

creating a combined visual representation generated from at least the first public key and the second public key, the creating including:

computing a hash of at least the first public key and the second public key;

dividing a predetermined number of bits of the hash into a plurality of unequal sized portions;

mapping at least one of said plurality of portions to a first graphical feature and mapping at least another one of said plurality of portions to a second feature different from the first feature, wherein the portion mapped to the first graphical feature comprises a larger portion than the portion mapped to the second feature; and

combining at least the first feature comprising the larger portion and the second feature comprising the smaller portion to form the combined visual representation;

encrypting the first value using the second public key;

sending the encrypted first value to the second device;

receiving an encrypted second value from the second device; and

decrypting the second encrypted value using the private key to identify a second value, the second value being used in verifying that the second hash value corresponds to the second key.

11. One or more memory devices according to claim 10 , wherein verifying that the second hash value corresponds to the second public key comprises:

computing a hash value of the second public key and the second value; and

comparing said computed hash value to said second hash value.

12. One or more memory devices according to claim 10 , wherein the combined visual representation is generated from the first public key, the second public key and the first and second values.

13. One or more memory devices according to claim 10 , wherein creating the combined visual representation generated from at least the first public key and the second public key further comprises:

creating a combination of at least the first public key, the second public key, and at least one of the first and second hash values;

mapping the combination of at least the first public key, the second public key, and at least one of the first and second hash values to a plurality of combined graphical symbols and backgrounds; and

displaying the plurality of combined graphical symbols and backgrounds as the combined visual representation.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034564/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 27, 2008
From: BUSSARD, LAURENT; MULLER, ULRICH; GEFFLAUT, ALAIN
To: MICROSOFT CORPORATION
Reel/Frame 021454/0429 →
Continuity (1)
Related Publication 20100017602A1 · Jan 21, 2010