Mutual authentication between a hardware token and non-networked device
Systems and methods for performing mutual authentication between a hardware access token and a reader device are provided. The systems and methods include reading a unique or pseudo-unique identifier of the hardware access token and computing a password for the hardware access token based on the unique or pseudo-unique identifier and a group secret of the reader device.
1 . A method for performing mutual authentication between a hardware access token and a reader device, comprising:
computing, by the reader device, a computed password from:
a unique or pseudo-unique identifier stored on the hardware access token and
a group secret stored on the reader device;
wherein the unique or pseudo-unique identifier is read from the hardware access token when the hardware access token is in operational contact with the reader device;
granting, by the hardware access token, the reader device access to an onboard data structure of the hardware access token if the computed password, computed by the reader device, matches a password saved on the hardware access token, wherein the onboard data structure stores hardware access token authentication data;
authenticating, by the reader device, in response to accessing the hardware access token authentication data, a user of the hardware access token if the hardware access token authentication data read from the hardware access token matches reader device authentication data computed by the reader device from the unique or pseudo-unique identifier and a sub-group secret associated with sub-group-related access controls; and
causing at least one therapeutic device, by the reader device, in response to the hardware access token authentication data matching the reader device authentication data saved on the reader device, to enable the user associated with the hardware access token to control the at least one therapeutic device in at least one access controlled mode based at least in part on the sub-group-related access controls associated with a sub-group corresponding to the sub-group secret.
2 . The method of claim 1 , wherein the reader device is a non-networked device.
3 . The method of claim 1 , wherein the reader device is a biomedical device.
4 . The method of claim 1 , wherein the hardware access token is a radio frequency identification (RFID) card.
5 . The method of claim 1 , wherein the hardware access token is a universal serial bus (USB) drive.
6 . The method of claim 1 , further comprising determining that a second hardware access token has not been provisioned for use with the reader device, generating an onboard data structure, including authentication data, for the second hardware access token, and storing the generated onboard data structure on the second hardware access token.
7 . The method of claim 1 , wherein the group secret is a shared key between a group comprising a plurality of similar reader devices.
8 . The method of claim 7 , wherein the group comprises a subset of similar reader devices being less than all reader devices of a particular model supplied by a common manufacturer.
9 . The method of claim 7 , wherein the group comprises a set of devices operated by a common enterprise, and wherein the group secret is unique to the enterprise.
10 . The method of claim 9 , wherein the enterprise is a medical clinic or hospital.
11 . The method of claim 1 , further comprising provisioning a group secret to a device newly added to a group.
12 . The method of claim 1 , further comprising removing the group secret from a device to be removed from a group.
13 . The method of claim 1 , further comprising recognizing a master control token for a group, and entering an administrative mode.
14 . The method of claim 1 , wherein the hardware access token further comprising an onboard data structure including an expiry for the hardware access token.
15 . A multimode device to provide a plurality of modes, including one or more access-controlled modes, comprising:
a hardware platform comprising a processor and a memory;
a token reader comprising an interface to communicate with one or more hardware access tokens; and
instructions encoded within the memory to instruct the processor to:
detect, via the token reader, an insertion or proximity of a hardware access token;
obtain, via the token reader, an identification key from the hardware access token;
compute, based at least in part on the identification key and a group key stored on the multimode device, a password for the hardware access token;
use the password to access an authentication data structure stored on the hardware access token, wherein the hardware access token is configured to authenticate the reader device based on the password to enable the reader device to read the authentication data structure and access authentication data;
authenticate a user of the hardware access token using the identification key and the authentication data read from the hardware access token based at least in part on reader device authentication data computed by the token reader from the identification key and a sub-group key associated with sub-group-related access controls; and
responsive to authenticating the user, unlock an access-controlled mode of the multimode device based at least in part on the sub-group-related access controls associated with a sub-group corresponding to the sub-group key;
wherein the access-controlled mode of the multimode device is either a therapeutic mode or a therapy settings mode.
16 . The multimode device of claim 15 , wherein the device is a non-networked device.
17 . The multimode device of claim 15 , wherein the device is a biomedical device.
18 . The multimode device of claim 15 , wherein the one or more hardware access tokens further comprise radio frequency identification (RFID) cards.
19 . The multimode device of claim 15 , wherein the one or more hardware access tokens further comprise universal serial bus (USB) drives.
20 . The multimode device of claim 15 , wherein the group key is a shared key between a group comprising a plurality of similar devices.
21 . The multimode device of claim 20 , wherein the group comprises a subset of similar devices being less than all devices of a particular model supplied by a common manufacturer.
22 . The multimode device of claim 20 , wherein the group comprises a set of devices operated by a common enterprise, and wherein the group key is unique to the enterprise.
23 . The multimode device of claim 22 , wherein the enterprise is a medical clinic or hospital.
24 . The multimode device of claim 20 , further comprising provisioning the group secret to a device newly added to the group.