Lecture 18

Tuesday, December 01, 2009

By: Alexander Bonomo

Security:

Computer security techniques are designed to make the computer less useful.

--> making computers more secure comes at a cost

Start by Knowing Your Enemy,

Threat modeling + classification <== to come up with defense mechanisms

Example: Securing CourseWeb or maybe University Credit Union

Biggest Threats:

General O.S. functions:

·Authentication - proving you are who you say you are

·Integrity - don’t let attackers muck with data or metadata (esp. security metadata)

·Authorization - are you allowed to do X? where X is whatever action you're trying to do

·Auditing - keep logs, so that you can figure out what bad guys did ---> need this for insider attacks

Constraints:

·efficiency (esp. to avoid DoS problems)

·Correctness

Authentication:

3 ways:

1. based on who the principal (user in charge of the session) is (e.g. retinal scan)

2. based on what the principal knows (e.g. passwords)

3. based on what the principal has (e.g. physical keys)

·often, these forms of authentication are combined

·you can use one to bootstrap another (e.g. go present your student id for a seasnet account, then you get a password

·authentication prevents masquerading attack

Techniques:

·external

·internal

Authentication building blocks:

·cryptographic hash functions

· symmetric encryption

· asymmetric encryption

A typical conversation:

A wants to talk to B

Nonce is a random bit string that is different every time.

Here they are used to verify that A and B are really who the say they are and that they recieved each other's messages.

The session key is also a nonce used for symmetric encryption.

SSH does this!

SSH transport layer

· initial key exchange: session key.

·enclosing each packet with a cryptographic checksum to preserve integrity

·for privacy:

·both privacy and integrity checks are typical

Authorization:

we know who the users are, but now we need to keep track of what they're allowed to do

Access Control:

In practice, this model is too hard to administer.

It is possible to shorten the authorization metadata by making it easier to understand and maintain, but the cost for this is that the underlying model is more complicated.