IdentityProvider interface should be used when implementing own -custom hardware key generation algorithm
The default implementation provided uses information from the motherboard, the cpu and disk to generate a unique
hardware id - representing a single device.