A system to pair devices, comprising: an input output, 10, device configured to be coupled to a computing system; a secure element to, receive, during a boot process of the system, a first pairing authentication value, receive a message that includes a pairing key, a second pairing authentication value, and a device address of the IO device, and in response to determining that the second pairing authentication value matches the first pairing authentication value, use the pairing key and the device address to establish a trusted channel between the secure element and the IO device; and a pairing agent to, generate a random pairing authentication value, send, during the boot process, the random pairing authentication value to the secure element, receive, from an operating system module running on the host processor of the computing system, a pairing request that includes the device address of the IO device, generate a random pairing key in response to the pairing request associated with the IO device, send a message to the secure element that includes the pairing key, the previously generated pairing authentication value and the device address of the IO device, send the pairing key to the IO device without making the host operating system software aware of the pairing key, and send a pairing notification to the operating system module. an input output, 10, device configured to be coupled to a computing system; a secure element to, receive, during a boot process of the system, a first pairing authentication value, receive a message that includes a pairing key, a second pairing authentication value, and a device address of the IO device, and in response to determining that the second pairing authentication value matches the first pairing authentication value, use the pairing key and the device address to establish a trusted channel between the secure element and the IO device; and receive, during a boot process of the system, a first pairing authentication value, receive a message that includes a pairing key, a second pairing authentication value, and a device address of the IO device, and in response to determining that the second pairing authentication value matches the first pairing authentication value, use the pairing key and the device address to establish a trusted channel between the secure element and the IO device; and a pairing agent to, generate a random pairing authentication value, send, during the boot process, the random pairing authentication value to the secure element, receive, from an operating system module running on the host processor of the computing system, a pairing request that includes the device address of the IO device, generate a random pairing key in response to the pairing request associated with the IO device, send a message to the secure element that includes the pairing key, the previously generated pairing authentication value and the device address of the IO device, send the pairing key to the IO device without making the host operating system software aware of the pairing key, and send a pairing notification to the operating system module. generate a random pairing authentication value, send, during the boot process, the random pairing authentication value to the secure element, receive, from an operating system module running on the host processor of the computing system, a pairing request that includes the device address of the IO device, generate a random pairing key in response to the pairing request associated with the IO device, send a message to the secure element that includes the pairing key, the previously generated pairing authentication value and the device address of the IO device, send the pairing key to the IO device without making the host operating system software aware of the pairing key, and send a pairing notification to the operating system module.