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 grasp the role and application of these cryptographic primitives, a solid foundation is first laid regarding the core requirements of secure communication: secure acknowledgment, integrity, confidentiality, remote identification, and anonymity. This includes presenting typical problems that can undermine these requirements alongside real-world solutions.
Given that cryptography is a critical aspect of network security, the most important cryptographic algorithms in symmetric cryptography, hashing, asymmetric cryptography, and key agreement are also discussed. Rather than presenting an in-depth mathematical background, these elements are explored from a developer's perspective, illustrating typical use-case examples and practical considerations related to cryptography, such as public key infrastructures. Security protocols in various areas of secure communication are introduced, with an in-depth discussion on the most widely-used protocol families, such as IPSEC and SSL/TLS.
Typical cryptographic vulnerabilities are discussed, both in relation to certain crypto algorithms and cryptographic protocols (e.g., BEAST, CRIME, TIME, BREACH, FREAK, Logjam, Padding oracle, Lucky Thirteen, POODLE, and similar), as well as the RSA timing attack. In each case, the practical considerations and potential consequences of each problem are described, again, without delving into deep mathematical details.
Finally, as XML technology is central to data exchange for 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 discussion also covers weaknesses in these protection measures and XML-specific security issues, such as 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
- Gain information about some recent related vulnerabilities
- Understand security concepts of web services
- Obtain sources and further readings on secure coding practices
Audience
Developers, Professionals
Read more...