System and method for permitting a request after verifying knowledge of first and second secrets
A method for multi-party authorization includes a security component determining that a request for the performance of an action on a computing device is from a first party. The security component initiates transmissions to the computing device of first and second information indicating knowledge of first and second secrets provisioned on the computing device. The computing device, upon verifying the knowledge of first and second secrets, then permits the requested action.
1. A method comprising:
provisioning a computing device with a first secret known to a first party but not a second party;
provisioning the computing device with a second secret that is known to the second party but not the first party;
receiving, by a security component running on a server, a request for the performance of an action on the computing device, the computing device requiring proof of knowledge of the first secret and the second secret, to permit the request;
determining, by the security component without receiving the first secret with the request, that the request is from the first party having knowledge of the first secret;
initiating the transmitting of first information to the computing device, by the security component running on the server, the first information indicating knowledge of the first secret; and
initiating the transmitting of second information to the computing device, by the security component running on the server, the second information indicating knowledge of the second secret, the computing device permitting the requested action upon the computing device verifying the first information and the second information.
2. The method of claim 1 , the requested action implementing a disable switch, the disable switch disabling a subset of the functions of the computing device.
3. The method of claim 2 , the requested action including the disablement of all forms of updating the computing device.
4. The method of claim 2 , the provisioning the computing device with a first secret comprising:
accessing a secure environment on the computing device, the secure environment bypassing a host operating system;
opening in the secure environment a user interface; and
providing, using the user interface, the first secret as keying material.
5. The method of claim 1 , wherein:
the determining, by the security component without receiving the first secret, that the request is from the first party, includes:
sending, by the security component, a cryptographic challenge to the first party, a solution to the cryptographic challenge requiring knowledge of the first secret; and
receiving, by the security component from the first party, the solution to the cryptographic challenge.
6. The method of claim 5 , wherein the cryptographic challenge employs a zero-knowledge protocol.
7. The method of claim 5 , wherein the second secret was provisioned by one of: a network operator, a device manufacturer, or a security software provider, and wherein the second information indicates knowledge of the second secret.
8. A non-transitory, computer-readable: storage medium having stored thereon instructions, which, when executed by a processor of a server, cause the server to perform actions comprising:
receiving, by a security component running on the server, a request for the performance of an action on the computing device, the computing device requiring proof of knowledge of a first secret and proof of knowledge of a second secret to permit the request, the first secret provisioned on the computing device and known to a first party but not a second party, the second secret provisioned on the computing device and known to the second party but not the first party;
determining, by the security component without receiving the first secret with the request, that the request is from the first party having knowledge of the first secret;
initiating the transmitting of first information to the computing device, by the security component running on the server, the first information indicating knowledge of the first secret; and
initiating the transmitting of second information to the computing device, by the security component running on the server; the second information indicating knowledge of the second secret, the computing device permitting the requested action upon the computing device verifying the first information and the second information.
9. The non-transitory, computer-readable storage medium of claim 8 , the requested action implementing a disable switch, the disable switch disabling a subset of the functions of the computing device.
10. The non-transitory, computer-readable storage medium of claim 9 , the requested action including the disablement of all forms of updating the computing device.
11. The non-transitory, computer-readable storage medium of claim 8 , wherein:
the determining, by the security component without receiving the first secret, that the request is from the first party, includes:
sending, by the security component, a cryptographic challenge to the first party, a solution to the cryptographic challenge requiring knowledge of the first secret; and
receiving, by the security component from the first party, the solution to the cryptographic challenge.
12. The non-transitory, computer-readable storage medium of claim 11 , wherein the cryptographic challenge employs a zero-knowledge protocol.
13. The non-transitory, computer-readable storage medium of claim 11 , wherein the second secret was provisioned by one of: a network operator, a device manufacturer, or a security software provider, and wherein the second information indicating knowledge of the second secret.
14. A system, comprising a server including at least one processor and memory with instructions that when executed by the at least one processor; cause the server to perform actions comprising:
receiving, by a security component running on the server, a request for the performance of an action on the computing device, the computing device requiring proof of knowledge of a first secret and proof of knowledge of a second secret to permit the request, the first secret provisioned on the computing device and known to a first party but not a second party, the second secret provisioned on the computing device and known to the second party but not the first party;
determining, by the security component without receiving the first secret with the request, that the request is from the first party having knowledge of the first secret;
initiating the transmitting of first information to the computing device, by the security component running on the server, the first information indicating knowledge of the first secret; and
initiating the transmitting of second information to the computing device, by the security component running on the server, the second information indicating knowledge of the second secret, the computing device permitting the requested action upon the computing device verifying the first information and the second information.
15. The system of claim 14 ; the requested action implementing a disable switch, the disable switch disabling a subset of the functions of the computing device.
16. The system of claim 15 , the requested action including the disablement of all forms of updating the computing device.
17. The system of claim 15 , the provisioning the computing device with a first secret comprising:
accessing a secure environment on the computing device, the secure environment bypassing a host operating system;
opening in the secure environment a user interface; and
providing, using the user interface, the first secret as keying material.
18. The system of claim 14 , wherein:
the determining, by the security component without receiving the first secret, that the request is from the first party, includes:
sending, by the security component, a cryptographic challenge to the first party, a solution to the cryptographic challenge requiring knowledge of the first secret; and
receiving, by the security component from the first party, the solution to the cryptographic challenge.
19. The system of claim 18 , wherein the cryptographic challenge employs a zero-knowledge protocol.
20. The system of claim 18 , wherein the second secret was provisioned by one of: a network operator, a device manufacturer, or a security software provider, and wherein the second information indicating knowledge of the second secret.