implementing-hardware-security-key-authentication