CMSC 414 Computer (and Network) Security Lecture 24 Jonathan Katz Administrative stuff… Please fill out course evaluation – On line – Link from course homepage Brief remarks on project… Otway-Rees AB: NC, KA(NA, NC, Alice, Bob) BKDC: KA(…), KB(NB, NC, Alice, Bob) – KDC checks that NC is the same… KDCB: NC, KA(NA, KAB), KB(NB, KAB) BA: KA(…) AB: KAB(timestamp) – Note: KDC already authenticated Bob Analysis? NC should be unpredictable, not just a nonce – Otherwise, can impersonate B to KDC • Send first message: (next NC), “garbage” • B forwards to KDC along with encryption of the next NC • Next time A initiates a conversation, replay previous message from B More about nonces… Important to understand what qualities the nonce needs to satisfy in order for protocol to be secure – Used once? Unpredictable? Random? – Note that long random nonces have negligible probability of being re-used E.g., challenge-response or reverse challenge-response A word about “random” Random numbers needed for all of cryptography – Difficult to generate “good” random numbers Possibilities: – “Real” (i.e., hardware) RNG – Cryptographic/non-cryptographic PRNG • Must use long (random, unpredictable) seed!! – Generate from user behavior Authentication tokens Authentication may be based on: – What you know (e.g., passwords) – What you have (e.g., token) – What you are (e.g., biometrics) Best security practice is to combine two (or more) of these… Using tokens/biometrics alone is useless without a secure protocol! Authentication tokens Advantages – Difficult to reproduce – Can “store” larger secrets – Psychological barrier to giving out your token Disadvantages – Can be stolen • Combine with PIN/password – Can be lost – Expensive; may require custom hardware Authentication tokens Magnetic stripe card – Simply records data and later reveals it – Non-trivial, but not too difficult, to copy “Smart card” – Embedded CPU/memory – Carries out an interactive protocol Smart cards PIN protected memory card – Information on card can be read only with correct PIN – After many wrong guesses, card “locks” itself “Crypto” card – Card stores key used to perform cryptographic operations (perhaps only with correct PIN) – Tamper resistant --- impossible to obtain key or duplicate card Smart cards Readerless smart card – Card interacts directly with the user via keyboard and/or monitor interface – E.g., secureID – Does not require special hardware Biometrics (briefly) “What you are…” Many possibilities: – Fingerprints/handprints – Retinal scans – Etc. Notes about biometrics Insecure if biometric data sent in the clear! – Need to use cryptographically-secure protocol – Not clear how to use biometric data as a cryptographic key • Data changes slightly every time it is scanned • Data is not random, although it has high entropy Note about biometrics Biometric data can be forged! – E.g., fingerprints… Review: checklist Whether eavesdropping, posing as either party, or acting as a “man-in-the-middle”, an attacker should be unable to: – – – – Learn the contents of messages Insert messages “Hijack” a conversation between two parties Impersonate either party, or learn information allowing impersonation in the future – Perform an off-line dictionary attack (ideally) Continued… In addition, when posing as either party an attacker should be unable to: – Trick the other party into “doing something useful” (e.g., signing an arbitrary message) Continued… If the server’s database is compromised (and even if further eavesdropping occurs), an attacker should be unable to: – Impersonate the user to this server (ideally; not always the case --- recall that an off-line dictionary attack is always possible) – Impersonate the user to other servers – Decrypt old conversations (forward secrecy) Final remark It is not always necessary to achieve all these goals – If shared secret is cryptographically strong, offline password guessing is not a concern – In some environments, certain attacks may be less feasible and therefore not a concern An overview of network security Network layers Application Transport Network Data link Physical Examples Application layer: PGP, SSH Transport layer: SSL/TLS Network layer: IPSec Not usually done at the data link level… Can’t really be done at the physical level Security in what layer? Depends on the purpose… – What information needs to be protected? – What is the attack model? – Who shares keys in advance? – Should the user be involved? E.g., a network-layer protocol cannot authenticate two end-users to each other Also affects efficiency, ease of deployment