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
        • Not secure
      • 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