in the fields of data security and system reliability and qualification , this disclosure is of a method , system and apparatus for verifying or authenticating a device to a host using a zero - knowledge based authentication technique which includes a keyed message authentication code such as an hmac or keyed cipher function and which operates on secret information shared between the host and the device . this is useful both for security purposes and also to make sure that a device such as a computer peripheral or accessory or component is qualified to be interoperable with the host .