Hardware security, vulnerabilities, and attacks: a comprehensive taxonomy