Security & Privacy

Web Architecture [./]
Fall 2010 — INFO 290 (CCN 42605)

Erik Wilde, UC Berkeley School of Information
2010-10-21

Creative Commons License [http://creativecommons.org/licenses/by/3.0/]

This work is licensed under a CC
Attribution 3.0 Unported License
[http://creativecommons.org/licenses/by/3.0/]

Contents E. Wilde: Security & Privacy

Contents

E. Wilde: Security & Privacy

(2) Abstract

TCP and thus HTTP are clear-text protocols, which make no attempt to hide the data being transmitted. For secure data transfers, it thus is necessary to use additional technologies for providing secure data transfers. For the Web, the most interesting security feature are secure HTTP interactions, which are provided by HTTP over SSL (HTTPS), a protocol that layers an encryption layer (SSL or TLS) between TCP and HTTP. For any task involving personalization and/or trust, it is not only necessary to have a concept for providing privacy, but also to have concepts for identity and how to prove identity, which needs authentication.



Security Concepts

Outline (Security Concepts)

  1. Security Concepts [3]
  2. Browser Security & Privacy [4]
  3. Security 101 [8]
    1. Secret-Key Cryptography [2]
    2. Public-Key Cryptography [2]
    3. Cryptographic Protocols [2]
  4. HTTP over SSL (HTTPS) [3]
  5. Conclusions [1]
Security Concepts E. Wilde: Security & Privacy

(4) Identification



Security Concepts E. Wilde: Security & Privacy

(5) Authentication



Security Concepts E. Wilde: Security & Privacy

(6) Authorization



Browser Security & Privacy

Outline (Browser Security & Privacy)

  1. Security Concepts [3]
  2. Browser Security & Privacy [4]
  3. Security 101 [8]
    1. Secret-Key Cryptography [2]
    2. Public-Key Cryptography [2]
    3. Cryptographic Protocols [2]
  4. HTTP over SSL (HTTPS) [3]
  5. Conclusions [1]
Browser Security & Privacy E. Wilde: Security & Privacy

(8) Trust and Security on the Web



Browser Security & Privacy E. Wilde: Security & Privacy

(9) Privacy Options

Firefox Options: Privacy

Browser Security & Privacy E. Wilde: Security & Privacy

(10) Security Options

Firefox Options: Security

Browser Security & Privacy E. Wilde: Security & Privacy

(11) Encryption Options

Firefox Options: Encryption

Security 101

Outline (Security 101)

  1. Security Concepts [3]
  2. Browser Security & Privacy [4]
  3. Security 101 [8]
    1. Secret-Key Cryptography [2]
    2. Public-Key Cryptography [2]
    3. Cryptographic Protocols [2]
  4. HTTP over SSL (HTTPS) [3]
  5. Conclusions [1]
Security 101 E. Wilde: Security & Privacy

(13) Cryptography



Security 101 E. Wilde: Security & Privacy

(14) One-Way Function

Hash

Secret-Key Cryptography

Secret-Key Cryptography E. Wilde: Security & Privacy

(16) Plausible Encryption

  • Secret-Key is was most people think of when thinking of encryption
    • symmetric cryptography is another popular term
  • One key for encryption and decryption
  • Revealing the key makes encrypted data openly readable
    • there must be a secure channel to transport keys, such as diplomatic pouches [http://en.wikipedia.org/wiki/Diplomatic_bag].
  • Good for long-term relationships with few partners
    • exchange secret keys as part of the initial setup of a relationships
    • adding partners requires a secure channel for key exchange
    • changing keys requires a secure channel for key exchange
  • Almost impractical in an environment with many ad-hoc partners


Secret-Key Cryptography E. Wilde: Security & Privacy

(17) Notice the Arrow

Secret-Key Cryptography

Public-Key Cryptography

Public-Key Cryptography E. Wilde: Security & Privacy

(19) Implausible Encryption

  • Public-Key intuitively is hard to accept as a concept
    • asymmetric cryptography is another popular term
  • Key pairs of one public and one secret key
    • key generation is the process of generating these key pairs
  • The public key can be made available to the public
    • only the secret key can do the inverse operation of the public key
  • Good for short-term relationships with many partners
    • publish your public key so that it can be used worldwide
    • everybody can encrypt data using the public key
    • only the owner of the secret can can decrypt the message and read it
  • Computationally expensive and not good for a large amounts of data


Public-Key Cryptography E. Wilde: Security & Privacy

(20) No Arrow Here …

Public-Key Cryptography (Encrypting with Secret Key)

Cryptographic Protocols

Cryptographic Protocols E. Wilde: Security & Privacy

(22) Building Secure Applications

  • Cryptographic primitives in most cases are not sufficient
    • they provide basic functionality for fundamental tasks
    • they must by combined to provide solutions for real-world problems
  • Typical problem #1: How to ensure key authenticity
    • with insecure keys, the majority of cryptographic methods is worthless
  • Typical problem #2: How to communicate securely without shared keys
    • many interesting scenarios are based on ad-hoc interactions
    • secret-key does not work, public-key needs to verify the peer
  • Typical problem #3: How to check authenticity and integrity of data
    • integrity can be done with checksums, but these could be forged
    • authenticity needs a cryptographically secure way of combining identity and data


Cryptographic Protocols E. Wilde: Security & Privacy

(23) Certificate

  • Certificates are digital signatures issued by a trusted party
    • most digital signatures are created with certified public keys
    • this means the digital signature is created based on a digitally signed key
  • Who can you trust on the Web?
    • trust can only start to grow based on initial trust in something
    • many systems come with pre-installed trust (root certificates)
    • certificates from other issuers will cause browsers to complain [https://katapultmedia.com/]
  • Certificates (like domain names) are a very easy way to make money
    • in theory there are different levels of certificates with different levels of identity checking
    • in practice most sites choose the cheapest one that does not give an error message


HTTP over SSL (HTTPS)

Outline (HTTP over SSL (HTTPS))

  1. Security Concepts [3]
  2. Browser Security & Privacy [4]
  3. Security 101 [8]
    1. Secret-Key Cryptography [2]
    2. Public-Key Cryptography [2]
    3. Cryptographic Protocols [2]
  4. HTTP over SSL (HTTPS) [3]
  5. Conclusions [1]
HTTP over SSL (HTTPS) E. Wilde: Security & Privacy

(25) Secure Communications



HTTP over SSL (HTTPS) E. Wilde: Security & Privacy

(26) HTTP and Security



HTTP over SSL (HTTPS) E. Wilde: Security & Privacy

(27) HTTP and SSL

HTTP and SSL

Conclusions

Outline (Conclusions)

  1. Security Concepts [3]
  2. Browser Security & Privacy [4]
  3. Security 101 [8]
    1. Secret-Key Cryptography [2]
    2. Public-Key Cryptography [2]
    3. Cryptographic Protocols [2]
  4. HTTP over SSL (HTTPS) [3]
  5. Conclusions [1]
Conclusions E. Wilde: Security & Privacy

(29) Internet Security



2010-10-21 Web Architecture [./]
Fall 2010 — INFO 290 (CCN 42605)