  Security protocols are building blocks in secure communications. They deploy
some security mechanisms to provide certain security services. Security
protocols are considered abstract when analyzed, but they can have extra
vulnerabilities when implemented. This manuscript provides a holistic study on
security protocols. It reviews foundations of security protocols, taxonomy of
attacks on security protocols and their implementations, and different methods
and models for security analysis of protocols. Specifically, it clarifies
differences between information-theoretic and computational security, and
computational and symbolic models. Furthermore, a survey on computational
security models for authenticated key exchange (AKE) and password-authenticated
key exchange (PAKE) protocols, as the most important and well-studied type of
security protocols, is provided.
