Top Banner
Security Chapters 14,15
28

Security Chapters 14,15. The Security Environment Threats Security goals and threats.

Dec 19, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Security Chapters 14,15. The Security Environment Threats Security goals and threats.

Security

Chapters 14,15

Page 2: Security Chapters 14,15. The Security Environment Threats Security goals and threats.

The Security EnvironmentThreats

Security goals and threats

Page 3: Security Chapters 14,15. The Security Environment Threats Security goals and threats.

Basics of Cryptography

Relationship between the plaintext and the ciphertext

Page 4: Security Chapters 14,15. The Security Environment Threats Security goals and threats.

• Monoalphabetic substitution– each letter replaced by different letter

• Given the encryption key, – easy to find decryption key

• Secret-key crypto called symmetric-key crypto

Secret-Key Cryptography

Page 5: Security Chapters 14,15. The Security Environment Threats Security goals and threats.

Public-Key Cryptography

• All users pick a public key/private key pair– publish the public key– private key not published

• Public key is the encryption key– private key is the decryption key

Page 6: Security Chapters 14,15. The Security Environment Threats Security goals and threats.

RSA Encryption To find a key pair e, d: 1. Choose two large prime numbers, P and Q (each greater than 10100), and

form:N = P x Q Z = (P–1) x (Q–1)

2. For d choose any number that is relatively prime with Z (that is, such that d has no common factors with Z).

We illustrate the computations involved using small integer values for P and Q:

P = 13, Q = 17 –> N = 221, Z = 192 d = 5

3. To find e solve the equation:e x d = 1 mod Z

That is, e x d is the smallest element divisible by d in the series Z+1, 2Z+1, 3Z+1, ... .

e x d = 1 mod 192 = 1, 193, 385, ...385 is divisible by de = 385/5 = 77

Page 7: Security Chapters 14,15. The Security Environment Threats Security goals and threats.

RSA Encryption (contd.)

To encrypt text using the RSA method, the plaintext is divided into equal blocks of length k bits where 2k < N (that is, such that the numerical value of a block is always less than N; in practical applications, k is usually in the range 512 to 1024).

k = 7, since 27 = 128 The function for encrypting a single block of plaintext M is: (N = P X Q = 13X17 =

221), e = 77, d = 5:E'(e,N,M) = Me mod Nfor a message M, the ciphertext is M77 mod 221

The function for decrypting a block of encrypted text c to produce the original plaintext block is:

D'(d,N,c) = cd mod NThe two parameters e,N can be regarded as a key for the encryption function, and

similarly d,N represent a key for the decryption function. So we can write Ke

= <e,N> and Kd = <d,N>, and we get the encryption function: E(Ke, M) ={M}K (the notation here indicating that the encrypted message can be

decrypted only by the holder of the private key Kd) and D(Kd, ={M}K ) = M.

<e,N> - public key, d – private key for a station

Page 8: Security Chapters 14,15. The Security Environment Threats Security goals and threats.

Application of RSA

• Lets say a person in Atlanta wants to send a message M to a person in Buffalo:

• Atlanta encrypts message using Buffalo’s public key B E(M,B)

• Only Buffalo can read it using it private key b: E(b, E(M,B)) M

• In other words for any public/private key pair determined as previously shown, the encrypting function holds two properties:– E(p, E(M,P)) M– E(P, E(M,p)) M

Page 9: Security Chapters 14,15. The Security Environment Threats Security goals and threats.

How can you authenticate “sender”?

• In real life you will use signatures: we will look at concept of digital signatures next.

• Instead of sending just a simple message, Atlanta will send a signed message signed by Atlanta’s private key:– E(B,E(M,a))

• Buffalo will first decrypt using its private key and use Atlanta’s public key to decrypt the signed message:– E(b, E(B,E(M,a)) E(M,a)– E(A,E(M,a)) M

Page 10: Security Chapters 14,15. The Security Environment Threats Security goals and threats.

SSH protocol

• ssh (SSH client) is a program for logging into a remote machine and for executing commands on a remote machine.

• Provides secure encrypted communications between two untrusted hosts over an insecure network.

• X11 connections , arbitrary TCP/IP ports and SFTP can also be forwarded over the secure channel.

Page 11: Security Chapters 14,15. The Security Environment Threats Security goals and threats.

SSH with RSA

• ssh supports RSA based authentication. The scheme is based on public-key cryptography: there are cryptosystems where encryption and decryption are done using separate keys, and it is not possible to derive the decryption key from the encryption key.

• RSA is one such system. The idea is that each user creates a public/private key pair for authentication purposes.

Page 12: Security Chapters 14,15. The Security Environment Threats Security goals and threats.

SSH (contd.)

• The server knows the public key, and only the user knows the private key.

• The file $HOME/.ssh/authorized_keys lists the public keys that are permitted for logging in.

• When the user logs in, the ssh program tells the server which keypair it would like to use for authentication.

• The server checks if this key is permitted, and if so, sends the user

(actually the ssh program running on behalf of the user) a challenge, a random number, encrypted by the user's public key.

• The challenge can only be decrypted using the proper private key. • The user's client then decrypts the challenge using the private key,

proving that he/she knows the private key but without disclosing it to the server.

Page 13: Security Chapters 14,15. The Security Environment Threats Security goals and threats.

More uses of SSH

• Password-less access:• The user creates his/her RSA key pair by running ssh-keygen(1).

• This stores the private key in $HOME/.ssh/identity and

the public key in $HOME/.ssh/identity.pub in the user's home directory.

• The user should then copy the identity.pub to $HOME/.ssh/authorized_keys in his/her home directory on the remote machine (the authorized_keys file corresponds to the conventional $HOME/.rhosts file, and has one key per line, though the lines can be very long).

• After this, the user can log in without giving the password.

Page 14: Security Chapters 14,15. The Security Environment Threats Security goals and threats.

Digital Signatures

• Strong digital signatures are essential requirements of a secure system. These are needed to verify that a document is:

• Authentic : source• Not forged : not fake• Non-repudiable : The signer cannot credibly

deny that the document was signed by them.

Page 15: Security Chapters 14,15. The Security Environment Threats Security goals and threats.

Digest Functions

• Are functions generated to serve a signatures. Also called secure hash functions.

• It is message dependent.

• Only the Digest is encrypted using the private key.

Page 16: Security Chapters 14,15. The Security Environment Threats Security goals and threats.

Alice’s bank account certificate

1. Certificate type: Account number2. Name: Alice3. Account: 62626264. Certifying authority: Bob’s Bank5. Signature: {Digest(field 2 + field 3) }Kbpr iv

Page 17: Security Chapters 14,15. The Security Environment Threats Security goals and threats.

Digital signatures with public keys

{h}Kpri

M

Signing

Verifying

E(Kpri , h)

128 bits

H(M) h

M

hH(doc)

D(Kpub ,{h}) {h}Kpri h'

h = h'?

M

signed doc

Page 18: Security Chapters 14,15. The Security Environment Threats Security goals and threats.

Low-cost signatures with a shared secret key

M

Signing

Verifying

H(M+K) h

h'H(M+K)

h

h = h'?

K

M

signed doc

M

K

Page 19: Security Chapters 14,15. The Security Environment Threats Security goals and threats.

One-Way Functions

• Function such that given formula for f(x)

– easy to evaluate y = f(x)

• But given y

– computationally infeasible to find x

Page 20: Security Chapters 14,15. The Security Environment Threats Security goals and threats.

Digital Signatures

• Computing a signature block

• What the receiver gets

(b)

Page 21: Security Chapters 14,15. The Security Environment Threats Security goals and threats.

Protection Mechanisms Protection Domains (1)

Examples of three protection domains

Page 22: Security Chapters 14,15. The Security Environment Threats Security goals and threats.

Protection Domains (2)

A protection matrix

Page 23: Security Chapters 14,15. The Security Environment Threats Security goals and threats.

Protection Domains (3)

A protection matrix with domains as objects

Page 24: Security Chapters 14,15. The Security Environment Threats Security goals and threats.

Access Control Lists (1)

Use of access control lists of manage file access

Page 25: Security Chapters 14,15. The Security Environment Threats Security goals and threats.

Access Control Lists (2)

Two access control lists

Page 26: Security Chapters 14,15. The Security Environment Threats Security goals and threats.

Capabilities (1)

Each process has a capability list

Page 27: Security Chapters 14,15. The Security Environment Threats Security goals and threats.

• Cryptographically-protected capability

• Generic Rights1. Copy capability

2. Copy object

3. Remove capability

4. Destroy object

Capabilities (2)

Server Object Rights f(Objects, Rights, Check)

Page 28: Security Chapters 14,15. The Security Environment Threats Security goals and threats.

Summary

• We studied fundamental concepts in security and protection.

• Public key infrastructure is foundational many transformational features and applications on the (internet) and the web.