[Back to Lecture Notes page]

Network Security

Subtopic Outline:

 

The Need for Network Security

 

Network Security Problems:

    1. Secrecy: not letting unauthorized personnel access certain data.
    2. Authentication: verifying who we are communicating with.
    3. Non-repudiation: ensuring a sender of a message cannot deny they sent the message.
    4. Integrity control: ensuring a piece of data is not tampered with.

Such issues are handled in traditional non- electronic systems as well. Eg. The postal system ensures the content of letters are secret and free from tampering until it reaches the destinations. We use our signature for authentication, etc.

 

Example Security Measures in Various Layers

Besides packet filters, we do not usually have security measures put in lower layers.

 

Some Terminology

Figure 7-2 p580

 

The Encryption Key

 

Substitution Ciphers

Plaintext:

abcdefghijklmnopqrstuvwxyz

Key:

QWERTYUIOPASDFGHJKLZXCVBNM

The plaintext string "cipher" becomes "EOHITK"

 

Transposition Ciphers

 

One-Time Pads

    1. Generate a random bit-string as key
    2. Convert plaintext to bits, eg using ASCII representation.
    3. EXCLUSIVE-OR the plaintext and key together to get the ciphertext.

Secret-Key Algorithms

Figure 7-4 p587

P-Box – takes a set of bits and scrambles the order.

S-Box – take a set of bits, change to another bit representation, scramble using P-Box, change back to original representation.

Product-Cipher – use P-boxes and S-Boxes in combination.

 

Example Secret-Key Algorithms

 

Public-Key Algorithms

 

Public-Key Algorithms

 

Example Public-Key Algorithms

 

Authentication Protocols

    1. Using a shared secret key – using symmetric cryptography.
    2. Using a Key Distribution Center (KDC) – a trusted organization who will handle authenticating and managing the session keys.
    3. Using the Kerberos protocol – developed at MIT.
    4. Using public-key cryptography.

 

Digital Signatures

 

Message Digests

 

Using Message Digest

    1. Sender runs the message through the digest function to get a hash value
    2. Encrypt the hash value with the sender’s private key
    3. Send the signed hash and the original message to the receiver
    4. Receiver decrypts the signed hash using the sender’s public key to get back the hash value
    5. Receiver runs the received message through the same digest function – if the hash value is the same as the one sent by the sender, then the message has not been tampered with

 

Common Digest Functions

 

[Back to Lecture Notes page]