Implementing a secure networked application can be challenging, even for developers who have previously worked with cryptographic building blocks such as encryption and digital signatures. To help 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 common issues that can undermine these requirements, alongside practical real-world solutions.
Given that 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 diving into deep mathematical theory, these concepts are presented from a developer’s perspective, featuring typical use-case examples and practical considerations such as public key infrastructures. Security protocols used across various areas of secure communication are introduced, with an in-depth focus on widely adopted protocol families like IPSEC and SSL/TLS.
The course examines typical crypto vulnerabilities related to specific cryptographic algorithms and protocols, such as BEAST, CRIME, TIME, BREACH, FREAK, Logjam, Padding oracle, Lucky Thirteen, POODLE, and the RSA timing attack. For each issue, the practical implications and potential consequences are clearly described, avoiding complex mathematical derivations.
Finally, since XML technology is central to data exchange for networked applications, the security aspects of XML are thoroughly explored. This includes the use of XML within web services and SOAP messages, alongside protection mechanisms like 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 fundamental concepts of security, IT security, and secure coding
- Grasp the requirements of secure communication
- Learn about network attacks and defences across different OSI layers
- Develop a practical understanding of cryptography
- Comprehend essential security protocols
- Gain insight into recent attacks targeting cryptosystems
- Learn about some recent related vulnerabilities
- Understand the security concepts underpinning web services
- Access resources and further reading materials on secure coding practices
Audience
Developers, Professionals
Read more...