co co 447 co course introduction se secu curit rity p
play

CO CO 447 CO COURSE INTRODUCTION SE SECU CURIT RITY P PROP - PowerPoint PPT Presentation

CO CO 447 CO COURSE INTRODUCTION SE SECU CURIT RITY P PROP OPER ERTIE IES SE SECU CURE D RE DESIG SIGN Dr. Ben Livshits Hi High-Le Level el Course e Lo Logistics cs 2 https://co447.doc.ic.ac.uk/ Cou Course Log ogistics


  1. CO CO 447 CO COURSE INTRODUCTION SE SECU CURIT RITY P PROP OPER ERTIE IES SE SECU CURE D RE DESIG SIGN Dr. Ben Livshits

  2. Hi High-Le Level el Course e Lo Logistics cs 2 https://co447.doc.ic.ac.uk/

  3. Cou Course Log ogistics 3 Monday, Wednesday 2-hour time slot for the class Instructors Dr Ben Livshits, Dr Soteris Dimitriou Course TAs Ms. Dominika Woszczyk, Mr. Daniel Perez Email doc-staff-447@imperial.ac.uk Piazza https://piazza.com/class/k0r3cj25uu0137

  4. Wh What Helps You to Be Prepared for the Class Classes Cl Practica Pr cal knowledge You should ideally have maturity in both the ¨ Recommended (not required) ¨ mathematics of computer science and in the prerequisites are CO331 (Web engineering of computer systems and network security) This means that you should: have a good ¨ understanding of data structures and ¨ CO211 Operating systems algorithms; be comfortable writing programs from scratch in C, Java, and a scripting ¨ CO212 Networks and language like Python or JavaScript; be Communications comfortable writing and debugging assembly code; and be reasonably comfortable in a ¨ Related courses: command-line Unix development environment (gdb, gcc, etc). ¤ CO408H Privacy Enhancing Techniques You should also have a good understanding of ¨ computer architecture, operating systems, and ¤ CO409 Cryptography computer networks. It would also help to know a bit about programming languages and ¤ CO440 Software Reliability compilers. It would also be helpful to be ¤ CO470 Program Analysis. comfortable with web technologies such as HTML and JavaScript

  5. Fi First-Da Day y Su Survey 5 https://docs.google.com/f orms/d/1nL2hquKDC4- eUG67X9yIBeD- xhust97pLkuyN5SnafE

  6. Do Do NOT Be Be Scared ¨ Likely, nobody here has satisfied ev every single pr prerequi quisite . This is not the point. ¨ Most important thing of all: Eagerness to learn! ¤ ThisWe expect you to push yourself to learn as much as possible ¤ is a 400-level course. ¤ We expect you to be a strong, independent learner capable of learning new concepts from the lectures, the readings, and on your own.

  7. Participation M Matters! s! ¨ This is an optional course ¨ I assume you are here because you want to be here ¨ I also assume that you intend to use what you learn later in life ¨ We only have a few chances to interact during the term ¨ You don’t get as much from this course if you don’t participate

  8. Cou Course Reading: Textbook ook 8 ¨ The book is easy to read ¨ Not nearly as dry as an average textbook ¨ Has read-world illustrations and war stories ¨ Has lots of details not covered in lecture ¨ Proposes a different narrative focusing on the developer, which is good

  9. Other Helpful Bo Books (online) ¨ Ross Anderson, “Security Engineering” (1st edition) ¤ Focuses on design principles for secure systems ¤ Wide range of entertaining examples: banking, nuclear command and control, burglar alarms ¤ You should all at least look at the Table of Contents for this book (2nd edition available for purchase) ¨ Menezes, van Oorschot, and Vanstone, “Handbook of Applied Cryptography” ¨ Many many other useful books exist (not all online)

  10. Ro Role of Research 10 10 ¨ This is a 400-level course ¨ It is one of the goals to ge get you interested you in research in computer science

  11. Re Reading Re Research Papers 11 11

  12. Pa Paper Summaries 12 12

  13. Cou Course Structure Ba Basics We Web Mo Mobile To Topics

  14. Se Secu curity y Con Conce cepts 1. Authentication 2. Authorization 3. Confidentiality 4. Data/message integrity 5. Accountability 6. Availability 7. Non-repudiation

  15. 1) A Authentication ¨ Identity Verification ¨ How can Bob be sure that he is communicating with Alice? ¨ Three general strategies: ¤ Something you kn know w (i (i.e., Passwo words) ¤ Something you hav have (i.e .e., ., Tokens) ns) ¤ Something you are are (i.e .e., ., Biometri trics) cs)

  16. Something Y You K Know ¨ Example: Passwords ¤ Pros: n Simple to implement n Simple for users to understand ¤ Cons: n Easy to crack (unless users choose strong ones) n Passwords are reused many times ¨ One-time Passwords (OTP): different password used each time, but it is difficult for user to remember all of them

  17. Something Y You H Have ¨ OTP Cards (e.g. SecurID): generates new password each time user logs in ¨ Smart Card: tamper-resistant, stores secret information, entered into a card-reader ¨ Strength of authentication depends on difficulty of forging

  18. Yb Ybikey 18 18

  19. Or Or Maybe I Have a Browser Cookie 19 19 Cookie is part of subsequent requests

  20. Bi Biom ometrics cs 20 20 ¨ Pros: “raises the bar” Technique Effectiveness Acceptance ¨ Cons: false negatives/positives, Palm Scan 1 6 social acceptance, key Iris Scan 2 1 management Retinal Scan 3 7 ¤ False positive: authentic Fingerprint 4 5 user rejected Voice Id 5 3 ¤ False negative: impostor accepted Facial 6 4 Recognition Signature 7 2 Dynamics

  21. Final N Notes ¨ Two-factor Authentication: Methods can be combined (i.e. ATM card & PIN) ¨ Who is authenticating who? ¤ Person-to-computer? ¤ Computer-to-computer? ¨ Three types (e.g. SSL): ¤ Client Authentication: server verifies client’s id ¤ Server Authentication: client verifies server’s id ¤ Mutual Authentication (Client & Server) ¨ Authenticated user is a “ Pr Principal ”

  22. 2) 2) Au Authorization ¨ Checking whether a user has permission to conduct some action ¨ Identity vs. Authority ¨ Is a “subject” (Alice) allowed to access an “object” (open a file)? ¨ Access Control List : mechanism used by many operating systems to determine whether users are authorized to conduct different actions

  23. Co Configuring Mailing List Permissions 23 23

  24. Ac Access Control Lists (ACL CLs) ¨ Set of three-tuples Table 1-1. A Simple ACL ¤ <User, Resource, User Resource Privilege Privilege> Alice /home/Alice/* Read, write, ¤ Specifies which users execute are allowed to access which resources with which privileges Bob /home/Bob /* Read, write, execute ¨ Privileges can be assigned based on roles (e.g. ad admin )

  25. Access C ss Control M Models ¨ ACLs used to implement these models ¨ Ma Mandatory : computer system decides exactly who has access to which resources ¨ Di Discretionary (e.g. UNIX): users are authorized to determine which other users can access files or other resources that they create, use, or own ¨ Ro Role-Ba Based (Non-Discretionary): user’s access & privileges determined by role

Recommend


More recommend