This module will introduce the basics of cryptography and how to achieve practical crypto implementations. This will include a study of classical cryptographic algorithms. It will also cover block ciphers, public key cryptographic algorithms, digital signatures, hash functions and Message Authentication Codes (MACs) in addition to key generation and management. The module will provide a basic understanding of possible practical and theoretical attacks that can be performed on encryption algorithms and their implementations to uncover the secret key. The design of secure and efficient implementations of cryptographic algorithms will also be addressed. Topics covered will include: • Classical Cryptographic Algorithms • Symmetric Key Algorithms: DES, AES, Modes of Operation • Stream Ciphers: LFSRs • Public Key Algorithms: RSA, El Gamal, Diffie-Hellman, ECC, Digital Signatures • Hash Functions and MACs: SHA-1,2,3, MD4,5 • Key Management and Generation • Vulnerabilities of Cryptographic Algorithms and Implementations: Linear Cryptanalysis, Differential Cryptanalysis, Side Channel Attacks • Cryptographic Applications: PKI, SSL, TLS, Smartcard, payment systems, distributed cryptography
Network fundamentals, OSI model, TCP/IP, network protocols • Network threats and vulnerabilities • Anatomy of an attack from a network perspective • Secure network principles, design and architectures • Network security monitoring theory and practice • Packet and flow analysis • Access control, firewalls and DMZs • Intrusion detection, prevention and response • Tools for network monitoring and pen-testing • Emerging topics in network security.
Software is ubiquitous and underpins much of our services and technologies that are essential for business, government, e-commerce and society. Traditional Software Development Lifecycle (SDLC) do not include key security initiatives. The lack of these security initiatives can lead to poorly designed and implemented software that can result in security vulnerabilities that go undiscovered and maliciously exploited. Effective cybersecurity requires a layered and a continuous approach to security. Software Assurance is a crucial part of achieving secure software through risk-based thinking by understanding the critical risks and thereby prioritising security controls/effort to deliver business outcomes. Software Assurance introduces the concepts of terminology, methodologies, and approaches needed to minimise these vulnerabilities in various stages of the SDLC and improves the security, reliability, and integrity of the final software solution. The core body of knowledge focuses on important software assurance activities across the lifecycle and includes topics such as risk assessment/threat modelling, architectural design method with emphasis that this should evolve with the life-cycle informing design, secure coding principles and risk-based testing. Software Assurance explores the concept of weaving security initiatives in the Software Development Lifecycle to form the "Secure Software Development Lifecycle" (SSDLC) and includes the architectural design principles of Saltzer and Schroeder. This module will provide a basic understanding of managing a secure development environment, together with secure programming principles, examination of common software errors (exploits) and testing. Topics included are: • Introduction to the threat landscape • Software assurance initiatives and standards • Secure software development lifecycle (SSDLC); • Security analysis and threat modelling; • Security issues risks and risk management; • Secure architecture and design • Secure architecture design principles • Risk management • Secure coding, principles and practice • Security analysis and testing (Penetration Testing). • Development and code analysis tools
| QS 综合 | 院校 | 学制 | 学费 |
|---|---|---|---|
| 第 325 位 | 赫瑞瓦特大学Heriot-Watt University | 1年 | 26296英镑/年 |