Formal Methods for the Analysis of Authentication Protocols