How to Use QR Codes for End User Authentication