EMBEDDED SECURITY EEN 417 Fall /6/13, Dr. Eric Rozier, V1.0, ECE Thanks to Edward Lee and Sanjit Seshia of UC Berkeley
SECURITY
What is Security? Compare with: –Reliability = the fraction of time that a system performs its specified function for a specified period of time under stated operating conditions ) What’s different: New kinds of functions Worst-case adversarial conditions
What is Security? Secrecy/Privacy Can secret data be leaked to an attacker? Integrity Can the system be modified by the attacker? Availability Is the system always able to perform its function? (Is “denial-of-service” possible?)
About this Lecture Security is increasingly a major concern for embedded systems designers Voiced by representatives from GM, Boeing, and United Technologies in recent workshop in St. Louis Need to know about the security pitfalls in design & implementation of embedded systems Security is a full topic, we can’t do it justice in this course. EEN 595 – Computer Security – Dr. Zonouz
Authentication For a user/process – Establish and verify identity – Make access control decisions For a data stream – Validate integrity – Has it been modified by an untrusted actor?
General Process Get authentication information Validate Set access control restrictions Allow access
Authentication Three factors – Something you have Key, card – Something you know Password – Something you are Biometrics
Multi-Factor Authentication Factors can be combined – ATM system: 2-factor ATM card PIN
Password Authentication Protocol Reusable passwords Database stores mappings – Username:password Prompt client for key value pair – Look up in the database and see if they match
Challenge-Handshake Authentication Protocol Shared secret Hash of challenge and secret proves knowledge of the shared secret. Server Client Challenge Hash(Challenge, Secret) OK
Problems with PAP What if the password file has insufficient protections? Even if trusted sources see your password, it may be the key to several systems! – Hash passwords – Use salt on hashes to prevent dictionary attacks
Another Solution One-time passwords – What if the user had a different password each time? – Generate a list of passwords!
Another Solution One-time passwords – What if the user had a different password each time? – Generate a list of passwords! Produces a limited number of authenticated sessions Relies on one-way functions
One time passwords Alice wants to get into Wonderland Wonderland isn’t happy with reusable passwords. Pick a random number, R and a one-way function f(x) – x1 = f(R) – x2 = f(x1) = f(f(R)) – … – x100 = f(x99) = f(f(x98)) = …
One time passwords Store x101 in a database for Alice Alice presents the last number on her list, x100. Host computes and compares to x101. Next time Alice gives x99. Why do it this way?
RSA SecureID
Ask for password (something you know) Ask for RSA SecureID value (something you have)
RSA SecureID Token computes key – Time of day – Known seed (shared secret!) Server knows token given a user – Computers key from seed and time of day
RSA SecureID f(seed, PIN, time) Intruders lack: seed, f(), PIN Stealing card, or PIN isn’t enough
More in Laboratory 1!