Advanced Authentication Methods: Hardware vs. Software