Authentication in Insecure Environments