Security
Goals
- Authentication: No Spoofing
- Data Integrity: No data alteration
- Privacy: No eavesdropping
Methods
- Authentication
- A way to verify the sender is legitimate
- For authentication (of course)
- Encryption
- How to hide the contents of the message
- For privacy
- Types
- Keyless
- Symmetric
- Both keys are the same
- If there is a secure way to give the key to the other party and the other party is fully trusted
- Asymmetric
- Public key system
- Computationally infeasible to derive one from the other
- Obfuscation (aka Logic Locking)
- Obfuscate the design functionally and structurally
- Achieved my modifying the state transition function
- Normal behavior is enabled only upon application of a key
- Prevents
- Reverse engineering
- Hardware trojans (hiding malicious functionality inside larger chip design)
- Watermarking
- For IP protection
- Does not hide anything
- Hiding something inside of the firmware which can prove that it’s yours in court
- Physically Unclonable Function
- What you see is not what you get
- Process variations
- No two transistors have the same parameters
- Have to use special algorithms to adapt to the variations
- A silicon PUF can be used as an unclonable key
- The lock has a database of challenge-response pairs
- To open the lock, the key has to show that it knows the response to one or more challenges
- So if you hack one chip, it only works with that one chip