Implementing a secure networked application can be challenging, even for developers who have prior experience with various cryptographic building blocks (such as encryption and digital signatures). To ensure participants grasp the role and application of these cryptographic primitives, the course begins by establishing a solid foundation on the core requirements of secure communication – including secure acknowledgment, integrity, confidentiality, remote identification, and anonymity. It also highlights typical issues that can compromise these requirements alongside real-world solutions.
Since cryptography is a critical aspect of network security, the course covers the most important algorithms in symmetric cryptography, hashing, asymmetric cryptography, and key agreement. Rather than focusing on in-depth mathematical theory, these topics are explored from a developer's perspective, featuring typical use-case examples and practical considerations such as public key infrastructures. Security protocols used in various aspects of secure communication are introduced, with a detailed discussion on widely adopted protocol families like IPSEC and SSL/TLS.
The course examines typical cryptographic vulnerabilities associated with specific algorithms and protocols, such as BEAST, CRIME, TIME, BREACH, FREAK, Logjam, Padding oracle, Lucky Thirteen, POODLE, and RSA timing attacks. For each issue, practical considerations and potential consequences are described, avoiding deep mathematical details.
Finally, as XML technology is central to data exchange in networked applications, the course describes its security aspects. This includes using XML within web services and SOAP messages, along with protection measures like XML signature and XML encryption. It also addresses 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 across different OSI layers
- Gain a practical understanding of cryptography
- Understand essential security protocols
- Understand recent attacks against cryptosystems
- Gain 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...