Patent ID: 7457964
Filing Date: 2008-11-25
Classification: G06F

Abstract:
1. A method for a processor of a computing device to obtain a trusted identification of a hardware peripheral of the computing device, the processor and the peripheral being coupled by a path through which data is to be exchanged therebetween, the method comprising: the processor and the peripheral deriving a set of shared keys based on the identification of the peripheral by: the processor and the peripheral each generating a random value, performing a first operation based on the random value thereof to produce an intermediary value, and sending the produced intermediary value to each other by way of the path; the peripheral generating a signed representation of the intermediary value and sending the signed representation to the processor by way of the path, the signed representation being verifiable by the processor according to the identification of the peripheral; the processor and the peripheral each performing a second operation based on the intermediary value from each other and also based on the random value thereof to produce a final value, the final value as produced by the processor being equal to the final value as produced by the peripheral and thus constituting a shared secret known only to the processor and the peripheral; the processor and the peripheral each employing the shared secret to generate the set of shared keys; the processor requesting by way of a trusted hardware channel that the peripheral provide the identification to such processor by way of such trusted channel, the trusted channel being independent of and exterior to the path; the processor receiving by way of the trusted hardware channel the identification from the peripheral; and the processor, having prior knowledge of the peripheral and the identification thereof, concluding based on the received identification by way of the trusted channel that the peripheral is indeed the peripheral and imparting trust to the peripheral based on such conclusion, and exchanging data with the peripheral over the path based on the identification.