Instructional Objectives: Guideline for Preparing for Final Exam

About Final Exam

Time: 12/8/04, 8:00am - 11:00am. Location: the same class room as we meet for lectures.

About 20% of the final exam is about the materials before mid-term #1, 20% between the two mid-terms, and 60% about those after the mid-term. The final exam includes two types of questions:

The exam is open book and open notes. You are allowed to bring anything you want. However, exchanging materials is considered cheating. 

Please remember that the exam is to test your ability to use what you learned from class to solve problems, not just to see if you can remember something. You should pay special attention to homework questions and in-class exercises/examples.

At least 85% of the final exam questions will be about topics addressed in the homework assignments or listed below.

Please remember that the exam is to test your ability to use what you learned from class to solve problems, not just to see if you can remember something. You should pay special attention to homework questions and in-class exercises/examples.

List of Topics

General Security Concepts

  1. Be able to explain the following concepts. Security, three goals of information security, examples of attacks against the goals of information security, security policy, security mechanism, security assurance, typical security services (confidentiality, authentication, integrity, non-repudiation, access control, monitor & response, security management).

Secret Key Cryptography and Hash Function

  1. Be able to explain the following concepts: plaintext, cipher text, encryption, decryption, key, cryptanalysis (cipher text only, known plaintext, chosen plaintext, chosen cipher text), block cipher, stream cipher, secret key cryptography, public key cryptography, digital signature, hash function. Be able to give examples of the above concepts.
  2. What is security by obscurity? What isn't it good?
  3. Applications of secret key cryptography, public key cryptography, and hash function. Give examples.
  4. Explain the following concepts: substitution, permutation, product cipher, Feistel Cipher, diffusion, confusion. Explain how diffusion and confusion are usually achieved in secret key cryptography? Given examples of Feistel ciphers.
  5. Be able to describe DES algorithm. The facts about DES, including block size, key size, encryption process, decryption process, key generation. Explain what is avalanche effect.
  6. What is the major limitation of DES? What are the two methods for cryptanalyzing DES?
  7. The four modes of block cipher. That is, ECB, CBC, CFB, and OFB. Explain the advantages and the disadvantages of each mode. Be able to choose the right mode for different applications.
  8. Explain triple DES. Why don't we use double DES? Why do we use triple DES in the form of encryption-decryption-encryption? Explain what is meet-in-the-middle attack? Why do people keep developing new secret key algorithms instead of using DES multiple times? Be able to apply the principle of man-in-the-middle attack. 
  9. Explain what is message authentication and the goals of message authentication.
  10. Explain how encryption, message authentication code, and hash function used for message authentication.
  11. Describe the modes of message authentication code. Explain the security services provided by each mode.
  12. Explain the following concepts related to hash function: one-way property, weak collision free, strong collision free, birthday attack. Understand the implication of birthday attack. Explain how block chaining techniques can be used to build hash function and why it is insufficient.
  13. Explain the general procedure of MD5, including the padding algorithm, the division of 512-bit blocks, the processing of each block.

Basic Number Theory and Public key Cryptography

  1. What is public key cryptography? What are the typical applications of public key cryptography?
  2. What are the requirements for public key cryptography? What is the essential requirement? What is a trapdoor one-way function? What's difference between one-way function and one-way hash function? What's difference between one-way function and trapdoor one-way function?
  3. Explain the attacks against public key cryptography. How to protect against these attacks?
  4. Explain the following concepts: divides, divisor, prime number, greatest common divisor (gcd), order mod p, primitive root mod p, discrete logarithm mod p.
  5. Be able to do the following computations: modular arithmetic (addition, subtraction, multiplication, multiplicative inverse, exponentiation), gcd, order mod p, totient function.
  6. Be able to use the following theorems or algorithms: Fermat's theorem, Euler's theorem, Euclid's algorithm, extended Euclid's algorithm.
  7. Be able to explain and perform the following procedures: RSA key generation, RSA encryption/decryption, RSA digital signature generation/verification, Diffie-Hellman key generation, D-H key exchange, DSA key generation, DSA digital signature generation/verification.
  8. Be able to explain the timing attack against public key algorithms. Be able to explain RSA's blinding algorithm against the timing attack. Be able to explain the implication of factoring the modulo n of the RSA algorithm.
  9. Be able to explain the man-in-the-middle attack against D-H key exchange protocol. What is D-H in phone book mode? Can it protect against the above attack? What is the essential requirement to prevent the man-in-the-middle attack?

Authentication

  1. Be able to explain the following concepts: authentication, user authentication, three things on the basis of which user authentication is based.
  2. Be able to explain the following concepts and techniques involved in password authentication: password authentication, storage of password in the system, the role of hash function in the storage of password, dictionary attack and the reason, the three scenarios of dictionary attacks, the role of password salt in deterring the dictionary attack. Be able to give at least three methods to choose good password and the limitation of the methods.
  3. Be able to explain the following concepts related to one-time password: one-time password, the reason for one-time password, S/Key, time-synchronized one-time password, challenge-response one-time password. 
  4. Be able to explain what are biometric-based authentication, FAR, FRR, and implications of combining multiple authentication mechanisms. Be able to give at least three examples of biometric-based authentication mechanisms.
  5. Be able to determine the security of variations of S/Key authentication protocols.
  6. Be able to identify the security problems of an authentication protocol mentioned in Security Pitfalls (Topic 3.3).

Access Control

  1. Concepts: access control, access control matrix, discretionary access control, mandatory access control, ACL, Capabilities, content-based access control, context-based access control, Trojan horses, lattice-based access control, Bell-LaPadula Model, access hierarchies (e.g., TS-S-C-U), compartments..
  2. Be able to represent a given access control policy in Denning's formalism. Be able to determine whether a given policy is a lattice-based model.
  3. Be able to compute composition of lattice-based models, i.e., to compute the product of two lattices.
  4. Be able to explain the RBAC models RBAC0, RBAC1, RBAC2.
  5. Be able to represent access control policies in RBAC models.

Distributed Systems and Network Security

  1. Be able to explain the Kerberos authentication process and the protocol.
  2. Be able to explain the functionality of each component in each Kerberos message.
  3. Be able to explain why Kerberos is considered stateless.
  4. Be able to explain and determine how multi-realm Kerberos authentication occurs.
  5. Be able to identify problems in authentication protocols using the techniques and attacks involved in the Kerberos design process. 
  6. Be able to explain the following: the objective of IPsec, the architecture of IPsec (two modes, two protocols, etc.), Security Association, Security Parameter Index, Security Association Database, Security Policy Database, SA bundle, Integrity Check Value (ICV).
  7. Be able to explain the two IPsec modes and their difference, why we need both modes.
  8. Be able to describe AH and ESP protocols and various options.
  9. Be able to choose the appropriate IPsec modes and protocols for given security policies.
  10. Be able to explain the in-bound and out-bound processing of IPsec packets. Be able to explain how replay attack is prevented in IPsec.
  11. Be able to explain the following: principles of key management, Perfect Forward Secrecy (PFS).
  12. Be able to explain how to achieve PFS. Be able to explain ephemeral D-H protocol based on both public key authentication and symmetric key authentication. In other words, what is ephemeral Diffie-Hellman key exchange? Why can it achieve PFS?
  13. Be able to describe the following protocols: SKIP, Oakley, ISAKMP, IKE.
  14. Be able to choose appropriate optional features in the main mode of Oakley for different situations.For example, what do you need to achieve PFS?
  15. What are the purposes of Oakley and ISAKMP? Explain ISAKMP message format. Explain the purposes of ISAKMP  phases 1 and 2.
  16. What is ISAKMP DOI? Given an example of ISAKMP DOI. Explain the five pre-defined ISAKMP exchange types. 
  17. What is resource clogging attack? What is cookie? What's the purpose of introducing cookie? What are the requirements for cookie? 
  18. Be able to use cookie to thwart resource clogging attacks.
  19. Be able to explain and describe the protocols in the SSL protocol suite. In particular, be able to describe the four phases of SSL Handshake protocol.
  20. Be able to explain the following concepts: SSL session, SSL connection, client (server) write MAC secret, client (server) write key, client (server) IV.
  21. Be able to determine what messages should be included based on the key exchange options. For example, what messages must appear when ephemeral D-H with server side RSA digital signature is selected?
  22. Be able to explain the following types of firewalls: packet filter, session filter, circuit- level proxy, application-level proxy.
  23. Be able to explain the advantages and disadvantages of the above types of firewalls.

Misc

  1. Be able to explain what are malicious logic, Trojan horses, virus, worms, rabbits and bacteria, and logical bombs. Be able to give examples of each type of malicious logic.
  2. Be able to explain the differences between the above malicious logic.
  3. Be able to explain the characteristics of boot sector infectors, executable infectors, terminate and staty resident virus, polymorphic virus, stealth virus, encrypted virus, and macro virus.
  4. Be able to explain how worms spread.
  5. Be able to give examples of possible defenses against malicious logic and their limitations.
  6. Be able to explain what are TCSEC, CC.
  7. Be able to explain the following CC related concepts: Protection Profile, Security Target, Target of Evaluation, Security Functional Requirement, Security Assurance Requirement, Evaluation Assurance Levels (EAL)