Top Banner
Network Security The security problems in the networks may be subdivided in four cathegories: - confidentiality - authenticity -non repudiation -integrity confidentiality : requires that information sent on the network only be accessible for reading to authorized parts. authenticity: requires that it is possible to verify the identity of the subjects involved in the communication. non repudiation : requires that it is impossible to repudiate the sending of a message. integrity : requires that the received message is the
70

Network Security

Mar 23, 2016

Download

Documents

Yvon

Network Security. The security problems in the networks may be subdivided in four cathegories : - confidentiality - authenticity -non repudiation -integrity confidentiality : requires that information sent on the network only be accessible for reading to authorized parts. - PowerPoint PPT Presentation
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: Network Security

Network Security

• The security problems in the networks may be subdivided in four cathegories:

- confidentiality- authenticity-non repudiation-integrity

• confidentiality : requires that information sent on the network only be accessible for reading to authorized parts.

• authenticity: requires that it is possible to verify the identity of the subjects involved in the communication.

• non repudiation : requires that it is impossible to repudiate the sending of a message.

• integrity : requires that the received message is the same respect to that sent.

Page 2: Network Security

Types of threats

a)Sniffing (snooping)

• A packet sniffer is a software that is able to capture each packet flowing in the network and, if needed, to decode and to analyze its content.

• Attack to the data confidentiality.

• Use of criptography techniques

Page 3: Network Security

b)Address spoofing

• IP spoofing refers to the creation of IP packets with a false source IP address, called spoofing, with the purpose of hiding the identity of the sender or impersonating another computing system.

• The machine that receives spoofed packets will send response back to the false source address, which means that this technique is mainly used when the attacker does not care about the response.

Page 4: Network Security

Denial of service

• A denial-of-service attack (DoS attack) or distributed denial-of-service attack (DDoS attack) is an attempt to make a computer resource unavailable to its intended users.

• It consists of the concerted efforts of a person or people to prevent an Internet site or service from functioning efficiently or at all, temporarily or indefinitely.

.

Page 5: Network Security

Example: TCP SYN flood attack

• When a client attempts to start a TCP connection to a server, the client and server exchange a series of messages (TCP three way handsake)

.• The client requests a connection by sending a SYN

(synchronize) message to the server. The server acknowledges this request by sending SYN-ACK back to the client. The client responds with an ACK, and the connection is established.

.

Page 6: Network Security

• In case of attack a malicious client can skip sending the SYN ACK message. The server will wait for the acknowledgement for some time, as simple network congestion could also be the cause of the missing ACK.

• If these half open connections bind resources on the server, it may be possible to take up all these resources by flooding the server with SYN messages. Once all resources set aside for half-open connections are reserved, no new connections (legitimate or not) can be made, resulting in denial of service .

Page 7: Network Security

Trojan Horse• A Trojan, (Trojan horse), is a program that appears to

perform a desirable function for the user but instead facilitates unauthorized access to the user's computer system.

• Trojan horses are designed to allow a hacker remote access to a target computer system. Once a Trojan horse has been installed on a target computer system, it is possible for a hacker to access it remotely and perform various operations.

• Examples: attacks of spamming, DDoS, data theft (e.g.

passwords, credit card information, etc.), installation of software (including other malware), downloading-uploading of files, modification or deletion of files, keystroke logging,..

.

Page 8: Network Security

Backdoor

• A backdoor is a method of bypassing normal authentication, securing remote access to a computer, obtaining access to plaintext, and so on, while attempting to remain undetected.

• A backdoor can be designed during the development or maintenance phases of a program to allow the direct acces to the code or it may be derived by errors in designing or coding a program.

Page 9: Network Security

Attack to a DNS server

• Attack to the data integrity or to the service availability.

• Attack based on backdoor techniques: modification of the data-base containing the corrispondence among logical and binary addresses

• DoS attack: the server is not accessible by the network nodes

.

Page 10: Network Security

Cryptology

• Cryptography: design and development of cryptographic systems.

A plaintext is converted into apparently random non sense, referred to as encrypted text

• Cryptanalys: The process of attempting to decrypt the encrypted text.

Page 11: Network Security

Conventional Encryption Model

• The encryption process consists of an algorithm and a key

• The key is a value indipendent of the plaintext. The algorithm will produce a different output depending on the specific key being used at the time. Changing the key changes the output of the algorithm.

• The security of conventional encryption depends on the secrecy of the key, not on the secrecy of the algorithm.

• The fact that the algorithm need not to be kept secret means that manufactures can and have developed low- cost chip implementation of data encryption algorithms.

Page 12: Network Security

decryption algorithm,D

plaintext,X

Y= Ek(X) indicates that Y is produced by using the encryption algorithm E and the K key.

The receiver, in possession of the K key, is able to invert the transformation

X= Dk(Y)

encryptionAlgorithm, E

secure channelK

cryptoanalistXK

Ksource

encrypted message,Y X

Page 13: Network Security

• An opponent, observing Y but not having access to K or X, may attempt to recover X or K or both X and K.

• It is assumed that the opponent knows the encryption ( E) and decription (D) algorihms.

• If the opponent is interested in only this particular message, then the focus of the effort is to recover X by generating a plaintext estimate of X.

• Often, hovewer, the opponent is interested in being able to read future messages as well, in wich case an attempt is made to recover K by generating an estimate of K

Page 14: Network Security

• E, D are mathematical functions named encryption algorithms or decryption algorithms. The algorithms, generally, are public and well known. The secret is the key.

• While the alghorithm always operates the same way, a different key used on the same plaintext will produces different ciphertext.

• A cryptographic key is a string used to characterize a known algorithm.

.

Page 15: Network Security

• It is foundamental that the algorithm is public.

• A cryptographyc system based on a secret algorithm presents serious drawbacks. In fact, it is necessary to change it everytime the danger exists that it is no more unknown.

• Instead, a key may be easily modified..

• The basic model of a cryptographic system is constituted.of a solid, well known algorithm and a fixed size or variable size “strong key” .

Page 16: Network Security

Criptography

Criptographic systems are generally classified along three independent dimensions:

•The type of operations used for transforming plaintext to ciphertext.

All encryption algorithms are based on two general principles: substitution, in which each element in the plaintext (bit, letter, group of bit or letters) is mapped into another element, and transposition, in which elements in the plaintext are rearranged.

Most systems, referred to as product systems, involve multiple stages of substitution and transposition.

Page 17: Network Security

• The number of keys usedIf both sender and receiver use the same key, the system is referred to as symmetric, single key, secret key or conventional encryption.If the sender and the receiver each use a different key, the system is referred to as asymmetric, two key, or public key encription.

• The way in which the plaintext is processed. A block cypher processes the input one block of elements at a time, producing an output block for each input block. A stream cypher processes the input elements continously, producing output one element at a time, as it goes along.

Page 18: Network Security

Cryptanalysis

• brute force attack is a strategy used to break the encryption of data.

•It involves traversing the search space of all possible keys until the correct key is found.

•The resources required for a brute force attack scale exponentially with encreasing key size, not linearly. As a result, doubling the key size for an algorithm does not simply double the required number of operations but rather squares them.

•Although there are algoritms which use 56-bit symmetric keys (e.g. Data Encryption Standard), usually 128-256 bit keys are standard.

Page 19: Network Security

Average time required for exhaustive key search

keys size number of time required at(bits) altenative keys 106 decript/sec

32 232= 4.3 x 1092.15 msec 56 256=7.2 x 1016 10 hours128 2128=3.4x 1038 5.4x1018 years168 2168=3.7x 1050 5.9x 1030 years

Page 20: Network Security

- in english language e is the most common letter, followed by t,o,a,n,i,etc..

- two letters (digrams) more common: th, in, er,re,an.

- Three letters (trigrams) more common: the,ing, and, ion

• The relative frequency of the letters of the encrypted text is evaluated; to the letter with higher frequency the e letter is associated, then the letter t etc..

• If there are trigrams of the form tXe the letter X is substituted by h, ec..

Page 21: Network Security

• An encryption scheme is uncoditionally secure if the ciphertext generated by the scheme does not contains enough information to determine uniquely the corresponding plaintext, no matter how much ciphertext is available.

• With the exception of a scheme known as on time pad, there is no encryption algorithm that is unconditionally secure.

• An encryption scheme is computationally secure if the following two criteria are met:

• The cost of breaking the cipher exceeds the value of the encrypted information.

• The time required to break the cipher exceeds the useful lifetime of the information

Page 22: Network Security

The criptographic methods are subdivided in two cathegories:

- Transposition technique- Substitution technique

In a transposition technique the units of the plaintext ( (single letters, pairs of letters,..) are rearranged in a different and usually quite complex order, but the units themselves are left unchanged.

• In a substitution technique, the units of the plaintext are retained in the same sequence in the cybertext, but the units themselves are altered.

Page 23: Network Security

Substitution technique

•Caesar ciphereach letter of the alphabet in the plaintext is replaced

with the letter standing three places further down the alphabet.For instance,

plaintext: de bello gallicoencrypted text: gh ehoor ldoonfr

AD, BE, CF…ZC

plaintext: meet me after the toga partyencrypted text: phhw ph diwhu wkh wrjd sduwb

Page 24: Network Security

• Note that the alphabet is wrappep around, so that the letter following Z is A. We can define the trasformation by listing all possibilities, as follows:

plain: a b c d e f g h i j k l m n o p q r s t u v w x y zcipher: D E F G H I J K L M N O P Q R S T U V W X Y Z A B C

• If we assign a numerical equivalent to each letter (a=1,b=2,..) for each plaintext letter p, substitute the letter C

C=E(p)=(p+3)mod 26

Page 25: Network Security

• A shift may be of any amount, so that the general Caesar algorithm is:

C=E(p)=(p+k) mod(26)

where k takes on a value in the range 1 to 25.

• The decryption algorithm is

p=D(C)= (C-k) mod(26)

• There are only 25 possible keys

Page 26: Network Security

If it is know that a given ciphertext is a Caesar cipher, then a brute –force cryptanalysis is easily performed: simply try all the 25 possible keys.

PHHC PH DIWHU WKH WRJD SDUWBKey

1 oggv og chvgt vjg vqic rctva2 nffu nf bgufs uif uphb qbsuz3 meet me after the toga party4 ldds ld zesdq sgd snfz ozqsx…………………………………………………………25 qiix qi ejxiv xli xske tevxc

Page 27: Network Security

• Three important characteristics of this problem enabled us to use a brute force cryptanalysis:

1. The encryption and decryption algoritms are known2. There are only 25 keys to try3. The language of the plaintext is known and easily recognizable

• In most networking situations, we can assume that the algorithms are known. What generally makes brute-force cryptanalysis impractical is the use of an algoritm that employs a large number of keys.

• The third characteristic is also significant. If the language of the plaintext is unknown, then plaintext output may not be recognizable.

(text compressed using a ZIP algorithm)

Page 28: Network Security

Monoalfabetic Ciphers• Each character in the plaintext is replaced by an another

character (arbitrary substitution).

plaintext: : a b c d e f g h i j l m n o p q r s t u v w x y zcipher line: Q W E R T Y U I O PR S T U V W X Y Z X C V B N M

• The cipher line can be any permutation of the 26 alphabetic characters, then there are 26! (4x1026 ) possible keys.

• However, if the cryptanalyst knows the nature of the plaintext (e.g. non compressed english text) then the analist can exploit the regularities of the language (relative frequence of the letters,frequence of two letter combination,..)

Page 29: Network Security

- in english language e is the most common letter, followed byt,o,a,n,i,etc..

- Two letters (digrams) more common: th, in, er,re,an.

- Three letters (trigrams) more common: the,ing, and,e ion

• The relative frequency of the letters of the encrypted text is evaluated; to the letter with higher frequency the e letter is associated, then the letter t etc..

• If there are trigrams of the form tXe the letter X is substituted by h, ec..

Page 30: Network Security

ExampleThe ciphertext to be solved is:

UZQSOVUOHXMOPVGPOZPEVSGZWSZOPFPESXUDBMETSXAIZVUEPHZHMDZSHZOWSFPAPPDTSVPQUZWYMXUZUHSXEPYEPOPDZSZUFPOMBZWPFUPZHMDJUDTMOHMQ.

1. Relative frequency of the letters compared to a standard frequency distribution for English.

2. P and Z are the equivalent of e and t. The letters S,U,O,M, and H are relatively high frequency and probably correspond to plain letters from the set (r,n,i,o,a,s)……..

3. Frequency of two letters. The most common digram in the ciphertext is ZW and the most common digram in the plain text is th. So we make thecorrespondence of Z with T and W with h.

4. Frequency of three letters………………

Page 31: Network Security

Continued analysis of frequencies plus trial and error shoud easily yeld a solution.

The complete plain text, with spaces added between words is:

It was disclosed yesterday that several informal but direct contacts have been made with political representatives of the….

Page 32: Network Security

One-time pad

The plain text is converted in a string of bit using, for example, the ASCII representation for the characthers.

Key: random generated string of bit of the same lenght of the converted plain text.

XOR (exclusive-or) of the two strings is evaluated.

The encrypted message does not contain any information about the plain text ( all the possible plaintext with the same probability are contained in it ), it is impossible to break the code.

The practical difficulty with this method is that sender and receiver must be in possession of , and protect, the random key

Page 33: Network Security

• ExampleMessage “i love you” is converted using a 7 bit ASCII code Message :1001001 0100000 1101100 1101111 1110110 1100101 0100000 1111001 1101111 1110101 0101110KEY:1010010 1001011 1110010 1010101 1010010 1100011 0001011 0101010 1010111 1100110 0101011Encrypted text0011011 1101011 0011110 0111010 0110100 0000110 0101011 1010011 0111000 0010011 0000101

• To decrypt the message all the possible key can be used in order to examine the corresponding plaintexts. It is possible to find more acceptable plaintexts.

• . There is no information on the encrypted text.

Page 34: Network Security

Transposition Techniques•Columnar transpositionM E G A B U C K key (no duplicated letters)7 4 5 1 2 8 3 6 numerical position in the alphabetp l e a s e t ra n s f e r o ne m i l l i o n …d o l l a r s tO m y s w i s s …….plaintext: pleasetransferonemilliondollarstomyswiss…encripted text:AFLLSKSOSELAWAIATOOSSCTCLNMOMANTESILYNT..

The encrypted text is read by columns beginning from the column with lowest key letter.

Even in this case the statistical properties of the language may be used to facilitate the work of a cryptoanalyst.

Page 35: Network Security

Two types A block cypher processes the input one block of elements at a time,

producing an output block for each input block. A stream cypher processes the input elements continously,

producing output one element at a time, as it goes along.

plaintext

secret key

algorithm

secret key

algorithm

plaintext

encrypted textencrypted

text

Symmetric key algorithms

Page 36: Network Security

DES (Data Encryption Standard)

Adopted in 1977 by the National Bureau of Standards as Federal Information Processing Standard.

DES encrypts 64-bit blocks and uses a key 56 bits; longer blocks of plaintext are encrypted in blocks of 64 bits

DES processes plaintext by passing each 64-bit input through 16 iterations, producing an intermediate 64-bit value at the end of each iteration. Each iteration is essentially the same complex function that involves a permutation of the bits and substituting one bit pattern for another. The input at each stage consists of the output of the previous stage plus a permutation on the key bits , where the permutation is known as a subkey.

DES utilizes logical and arithmetic operations that can be easily hardware implemented.

Page 37: Network Security

The strength of DES

• 1998. Electronic Frontier Foundation (EFF) announced that it had broken a new DES challenge using a special purpose “DES cracker” machine that was built for less than $ 250,000.

• The attack took less than three days• Hardware prices will continue to drop as speed increase,

making DES worthless.• Fortunately, there are a number of alternative available

in the marketplace.

Page 38: Network Security

Triple DEA

• Given the potential vulnerability of DES to a brute force attack, there has been considerable interst in finding an alternative.

• One approach, which preserves the existing investment in software and equipment, is to use multiple encription with DES and multiple keys.

• Triple DEA (TDEA) usese three keys and three executions of the DES algorithm (168-bit key length)

Page 39: Network Security

Symmetric algorithms

CAST (lunghezza di chiave variabile) IDEA (lunghezza di chiave pari a 128; due volte

piu’ veloce del DES); RC2, RC4, RC5 (lunghezza di chiave variabile); SKIPJACK (80-bit key); GOST(256 bit-key)

Page 40: Network Security

Symmetric encryption problems

• Key distribution

• Source authentication and non repudiation

Page 41: Network Security

Key distribution• For symmetric encryption technique to work, the two parties to

an exchange must share the same key, and that key must be protected froma access by others.

• Key distribution technique:-A key can be selected by A and phisically delivered to

B- A third part can select the key and phisically deliver it

to A and B- If A and B have previously and recently used a key,

one part can transmit the new key to the other, encrypted using the old key- If A and B each has an encrypted connection to a third party C, C can deliver a Key on the encrypted links to A and B (KDC, Key Distribution Center)

Page 42: Network Security

• In a distributed system, any given host or terminal may need to engage in exchanges with many others hosts and terminal over time. Thus, each device needs a number of keys supplied dynamically.

• Thus, if there are N hosts and the end-to-end encryption is done at network or IP level the number of required Keys is N(N-1)/2

• If encryption is done at thye application level , then a key is necessary for e3very pair of users or processes that require communication.

• A network using node-level encryption with 1000 nodes would need to distribute as many as half a million keys. If the same network supported 10000 applications, then 50 milion keys may be required for application level encryption.

Page 43: Network Security

Public key encryption• The encryption technique assigns to each user a pair of keys.

(Kpub,Kpriv)A

(Kpub,Kpriv)B

• The private key (Kpriv) is kept secret, while the other, the public key (Kpub), is published along the name of the user, so everyone knows the value of the key.

• The cryptographic algorithm must have the mathematical property that:

- a message encrypted with one of the two keys is decryptable only with the other

- known one of the two keys (public), is computationally infeasible to obtain the other (private).

Page 44: Network Security

Public key Encryption

plaintextplaintextalgorithm

public key of the receiver

private key of the receiver

ciphertextalgorithm

encryption

private key of the sender

public key of the sender

authentication

Page 45: Network Security

If Bob wishes to send a private message to Alice, Bob encrypts the message using Alice’s public key.

• When Alice receives the message, she decrypts it using her private key. No other recipient can decrypt the message because only Alice knows Alice’s private key.

Encryption

Page 46: Network Security

Encryption

• Confidenziality is provided. The message can be open with only the Alice’ private key.

• Authenticity is not provided. The key used to encrypt the message is public and it may be used by any user.

• Integrity is provided. If the message is changed, it is impossible for Alice to decrypt it using its private key.

Page 47: Network Security

Authentication

• Suppose that Bob wants to send a message to Alice and he wants Alice be certain that the message is indeed from him.

• Bob uses his own private key to encrypt the message. When Alice receive the cyphertext, she finds that she can decrypt it with Bob’ public Key, thus proving that the message must have been encrypted by Bob.

• Therefore the entire encrypted message serves as a digital signature. In addition it is impossible to alter the message without access to the private key of Bob, so the message is authenticated both in terms of source and in terms of data integrity.

Page 48: Network Security

Authentication

• Authentication is provided. The message can be open with only the Bob’ public key

• Confidentiality is not provided. Any observer can decrypt the message by using the sender’s public key.

• Integrity is provided. If the message is changed, it is impossible for Alice to decrypt it using the Bob’ public key.

Page 49: Network Security

Certification Authority

• How is possible that Alice be sure that the public key found in the data base actually belong to Bob? The assurance scheme is improved in terms of scalability and security when it is based on the trust in a third party (CA, Certification Authority) that ensures the integrity and the authenticity of the public key stored in its database.

Page 50: Network Security

Confidentiality and Authenticity

• Two levels of encryption can be used to guarantee that a message is both authentic and confidential.

• First the message is encrypted by using the Bob’ private key (digital signature). Second, the encrypted message is encrypted again using the Alice’ public key.

• At the receiving end, Alice uses his private key to decrypt the message. Then, Alice uses the Bob’s public key to decrypt the message again.

• The disadvantage of this approach is that the public key algorithm, which is complex, must be exercised four times in each communication

Page 51: Network Security

Requirements for Public-Key Cryptography

• The cryptosystem illustraded depends on a cryptographic algorithm based on two related keys.

• Diffie and Hellman (1976) postulated this system without demonstrating that such algorithm exists. However, they did lay out the conditions that such algorithms must fulfill.

Page 52: Network Security

1. It is computationally easy for a party to generate a pair (public key , private key)

2. It s computationally easy for a sender, knowing the public key and the message to be encrypted, to generate the corresponding cyphertext.

3. Its computationally easy for the receiver B to decrypt the resulting cypertext using the private key to recover the original message.

4. It is computationally infeasible for an opponent, knowing the public key to determine the private key.

5. It is computationally infeasible for an opponent knowing the public key and a cyphertext, to recover the original message.

Page 53: Network Security

• Generally easy is defined to mean a problem that can be solved in polinomial time as a function of input length. Then if , if the length of the input is n bits, then the time to compute the function is proportional to na, where a is a fixed constant

• A problem is infeasible if the effort to solve it grows faster than polinomial time as a function of input size

Page 54: Network Security

RSA• Rivest, Shamir, Adleman. MIT (1978)

• Keys of at least 1024 bit are required in order to obtain a good security. The algorithm is computationally complex . It is based on the properties of prime numbers.

• It is the only widely accepted and implemented general purpose approach to public key encryption.

.

Page 55: Network Security

• Each message is represented as an integer between 0 and n-1 (a long message is broken into a series of smaller messages, each of which can be represente as such an integer).

• The integer n is computed as the product of two large (100 or more digits) randomly chosen prime numbers p,q

n=pxq

• The public encryption key is a pair (e,n); the private key is a pair (d,n), where e,d,n are positive integers.

• The functions E,D are defined as:E(m)= me mod n =C

D(C) = Cd mod n = m

Page 56: Network Security

Bob private and public keys• 1. Two large prime numbers p and q are chosen. More

large are the values, more difficult is the RSA violation. (Recomanded values: the order of pq must be1024 bits).

• 2. n=pq and z=(p-1)(q-1)• 3. A value for e is chosen, such that e<n and e is relative

prime with z (there are not common factors between e and z, not considering 1).

• 4. A number d is chosen such that ed-1 is divisible by z.ed mod z=1

• 5.The Bob’ public key is the couple of numbers (n,e); its private key is the couple of numbers (n,d)

Page 57: Network Security

• Note that, although n is publicy known, p and q are not. This condition is allowed because, as is well known, it is difficult to factor n. Consequently, the integers d and e cannot be guessed easily.

Page 58: Network Security

• To factor a number n means to find a set of numbers such that their product is the number n.

There are different kinds of factorization. 24=2x12=2x3x4=3x8..

• Prime numbers factorization : looking for a set of factors of the number n that are prime numbers.

Each natural number has one and only one prime numbers factorization .

• In 2005 a number of 640 bits (193 decimal numbers) has been decomposed into two 320 bits prime numbers by using an Opteron cluster with 80 processors (2.2 GHZ)during a 5 months period of time .

Page 59: Network Security

Example.p=5 and q=7. Then n=35 and z=(p-1)x(q-1)=24. Since 5 is relative prime to 24 (don’t have prime factors), we can choose e =5;

d=29 becauseed-1=5x29-1 mod 24=1.

Suppose that m=12, we have:

C= me mod n=125 mod 35=17

andCd mod n =1729 mod 35=12 =m

Then if we encode m using e, we can decode m using d.

Page 60: Network Security

Performance:

• RSA in hardware: is about 1000 times slower than DES• RSA in software: is about 100 times slower than DES

Page 61: Network Security

RSA• m is the message to be encrypted. We have:

(me)d mod n= med mod nIf p,q are prime numbers and n=pq then

xy mod n is equal to

x (ymod(p-1)(q-1)) mod n (number theory)Applying this result we have:

(me)d mod n = m (ed mod(p-1)(q-1 )) mod n

ed-1 is divisible by (p-1)(q-1) and ed is divisible by (p-1)(q-1) with the rest 1. Then:

ed mod (p-1)(q-1)=1

Page 62: Network Security

. Then we have:

(me)d mod n= m1 mod n=m(me)d mod n=m.

me the message encrypted. (me)d the message decrypted. we obtain the original value of the message.If the order of operations is inverted (decryption, encryption)

the result is even the original message m.

Page 63: Network Security

63

Distribution of symmetric keys using public-key techniques

Encryption Process Decryption Process

encrypt file usingsymmetric key

encrypt symmetric keyfor recipients using

their public keys

+combine header with

protected data in one file

extract symmetrickey using

private key

decrypt file usingsymmetric key

recoveroriginal file

Page 64: Network Security

Digital signature

• The public key algorithms do not provide good performances in the signature of high dimension documents.• To improve the perfomance in implementing the digital signature hash functions are introduced.

Aencryption

Bdecryption

Cypher text

A private key A public key

plaintext plaintext

Page 65: Network Security

Hash Functions

•A hash value is generated by a function H of the formh=H(m)

where m is a variable-length message and H(m) is the fixed-length hash value.

•The purpose of a hash function is to produce a “ digest” of a file, message or other block of data.

Page 66: Network Security

Requirements for a hash function:

• H can be applied to a block of data of any size.

• H produces a fixed -length output (whatever is the block size)

• For any given code h, it is computationally infeasible to find x such that H(x)=h (one- way property)

-.• It is computationally infeasible to find any pair (x,y) such

that H(x)= H(Y). This is sometimes referred to as strong collision resistance.

• H(M) is relatively easy to compute for any given M, making both hardware and software implementations practical.

Page 67: Network Security

long hash function fixed length message digest

Examples:

• MD5 Algorithm di Ron Rivest (RFC1321) produces a 128 bit digest

• SHA-1 Algorithm (Secure Hash Algorithm) federal standard (USA)produces a 160 bit digest

Page 68: Network Security

Digital Signature

Digital signature obtained using public key criptography and one-way hash functions

The two hash are compared

signature process verification process

hash

hash encryption with the private key

a new hash is calculated

the sent hash is decryptedwith the sender public key

=

Page 69: Network Security

PKI (Public Key Infrastructure)RA (Registration Authority)• Phisical identification of the user. A smart card is delivered

to the user. In the smart card the RSA algorithm is executed and the two keys, public and private, produced.

• The public key is sent from RA to CA. The private key is stored in ROM memory of the smart card.

• The reader of the smart card is connected to the user’ PC.• When the user intends to use the digital signature, the hash

function of the message is normally executed on the PC and the “digest” is transmitted to the smart card.

• The user accesses the smart card by using a PIN and the digital signature is calculated.

Page 70: Network Security

PKI (Public Key Infrastructure)

CA (Certification Authority)• Produces a certificate containing the public key of the user

(and other related information) and encrypts it using its digital signature.

• The CA public key is sent to RA and from RA to the user smart card.

• List of not more valid certificates