1. One or more computer storage devices having instructions stored thereon that, when executed by a computing device, cause the computing device to perform acts comprising: in a first instance: sending a query to a hardware device, the hardware device being one of a plurality of devices associated with a manufacturing model having a common processing signature; determining an expected result of the query, the expected result reflecting the common processing signature associated with the manufacturing model of the hardware device; creating, on a processing unit of the computing device, a first session key based on the expected result of the query; and using the first session key to encrypt or decrypt at least one communication with the hardware device, wherein the hardware device creates a second session key based on the query by passing an actual result of the query through a function to create the second session key, the second session key being usable to encrypt or decrypt the at least one communication, and wherein creating the first session key includes passing the expected result of the query through the function used by the hardware device to create the second session key; and in a second instance: performing the sending, the determining, and the creating again with a different query to obtain a different expected result and a different session key, and using the different session key to encrypt or decrypt at least one other communication with the hardware device.