Implementing a secure networked application can be challenging, even for developers who have previously used various cryptographic building blocks (such as encryption and digital signatures). To ensure participants understand the role and usage of these cryptographic primitives, a solid foundation is provided on the main requirements of secure communication—secure acknowledgment, integrity, confidentiality, remote identification, and anonymity. The course also presents typical problems that can compromise these requirements along with real-world solutions.
As a critical aspect of network security, cryptography is thoroughly discussed, covering the most important cryptographic algorithms in symmetric cryptography, hashing, asymmetric cryptography, and key agreement. These elements are presented from a developer's perspective, focusing on practical use-case examples and considerations related to the use of crypto, such as public key infrastructures. Security protocols in various areas of secure communication are introduced, with an in-depth discussion on widely-used protocol families such as IPSEC and SSL/TLS.
Typical cryptographic vulnerabilities are examined, including issues related to certain crypto algorithms and cryptographic protocols like BEAST, CRIME, TIME, BREACH, FREAK, Logjam, Padding oracle, Lucky Thirteen, POODLE, and similar attacks, as well as the RSA timing attack. In each case, practical considerations and potential consequences are described without delving into deep mathematical details.
Finally, since XML technology is central to data exchange in networked applications, the security aspects of XML are discussed. This includes the use of XML within web services and SOAP messages, along with protection measures such as XML signature and XML encryption—along with weaknesses in these 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 for government
- 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 recent related vulnerabilities
- Understand security concepts of Web services
- Get sources and further readings on secure coding practices for government
Audience
Developers, Professionals
Read more...