Building a secure networked application presents challenges even for developers familiar with cryptographic building blocks like encryption and digital signatures. To help participants grasp the role and application of these primitives, the course begins by establishing a strong foundation in the core requirements of secure communication—specifically secure acknowledgment, integrity, confidentiality, remote identification, and anonymity. It also highlights common threats to these requirements alongside practical, real-world solutions.
Given that cryptography is central to network security, the curriculum covers key algorithms in symmetric cryptography, hashing, asymmetric cryptography, and key agreement. Rather than focusing on complex mathematics, these topics are explored from a developer's perspective, featuring typical use-case examples and practical considerations such as the implementation of public key infrastructures. The course introduces security protocols used across various domains of secure communication, with a detailed examination of widely adopted protocol families like IPSEC and SSL/TLS.
Typical cryptographic vulnerabilities are examined, covering both specific algorithms and protocols. Topics include the BEAST, CRIME, TIME, BREACH, FREAK, Logjam, Padding oracle, Lucky Thirteen, and POODLE attacks, as well as the RSA timing attack. For each issue, the practical implications and potential consequences are described without delving into deep mathematical theory.
Finally, since XML technology is pivotal for data exchange in networked applications, the course addresses XML security. This includes the use of XML in web services and SOAP messages, along with protective measures like XML signature and XML encryption. It also covers weaknesses in these protection mechanisms 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
- Comprehend the requirements of secure communication
- Learn about network attacks and defenses across different OSI layers
- Gain practical knowledge of cryptography
- Understand essential security protocols
- Recognize recent attacks targeting cryptosystems
- Learn about relevant recent vulnerabilities
- Understand security concepts in Web services
- Access sources and further reading on secure coding practices
Audience
Developers, Professionals
Read more...