Hardware 2FA Keys vs Software Authenticators: Which Is Truly More Secure?