Implementing a secure networked application can be challenging, even for developers who have previously utilized various cryptographic building blocks (such as encryption and digital signatures). To help participants understand the role and usage of these cryptographic primitives, a solid foundation is first established regarding the main requirements of secure communication—secure acknowledgment, integrity, confidentiality, remote identification, and anonymity. Additionally, typical problems that may compromise these requirements are presented alongside real-world solutions.
Since cryptography is a critical aspect of network security, this course discusses the most important cryptographic algorithms in symmetric cryptography, hashing, asymmetric cryptography, and key agreement. Rather than providing an in-depth mathematical background, these elements are examined from a developer's perspective, showcasing typical use-case examples and practical considerations related to cryptography, such as public key infrastructures. Security protocols across various areas of secure communication are introduced, with an in-depth discussion on widely-used protocol families like IPSEC and SSL/TLS.
Typical crypto vulnerabilities are discussed concerning both certain cryptographic algorithms and protocols, including BEAST, CRIME, TIME, BREACH, FREAK, Logjam, Padding oracle, Lucky Thirteen, POODLE, and others, as well as the RSA timing attack. For each case, practical considerations and potential consequences are described for every problem, again without delving into deep mathematical details.
Finally, since XML technology is central to data exchange by networked applications, the security aspects of XML are described. This includes the usage of XML within web services and SOAP messages, alongside protection measures such as XML signature and XML encryption. The course also covers weaknesses in these protection measures and XML-specific security issues like XML injection, XML external entity (XXE) attacks, XML bombs, and XPath injection.
Participants attending this course will
- Understand basic concepts of security, IT security, and secure coding
- Understand the requirements of secure communication
- Learn about network attacks and defenses at different OSI layers
- Have a practical understanding of cryptography
- Understand essential security protocols
- Understand some recent attacks against cryptosystems
- Get information about some recent related vulnerabilities
- Understand security concepts of Web services
- Get sources and further readings on secure coding practices
Audience
Developers, Professionals
Read more...