Week 9

advertisement
CS 407 Distributed System & Databases
WEEK # 9 - SECURITY TECHNIQUES IN DISTRIBUTED SYSTEMS
DAY # 25
Security Threats


The main goal of security is to restrict access to information and resources to just those principals that are
authorized to have access.
Security threats fall into three broad classes:
o Leakage: Refers to the acquisition of information by unauthorized recipients.
o Tampering: Refers to the unauthorized alteration of information.
o Vandalism: Refers to interference with the proper operation of a system without gain to the
perpetrator.
Methods of Attack
Methods of attack can be further classified according to the way in which a channel is misused:





Eavesdropping: Obtaining copies of messages without authority.
Masquerading: Sending or receiving messages using the identity of another principal without their authority.
Message tampering: Intercepting messages and altering their contents before passing them on to the intended
recipient. The man-in-the-middle attack is a form of message tampering in which an attacker intercepts the
very first message in an exchange of encryption keys to establish a secure channel. The attacker substitutes
compromised keys that enable them to decrypt subsequent messages before re encrypting them in the correct
keys and passing them on.
Replaying: Storing intercepted messages and sending them at a later date. This attack may be effective even
with authenticated and encrypted messages.
Denial of service: Flooding a channel or other resource with messages in order to deny access for others.
Some Basic Concept
Cryptography
The art or science encompassing the principles and methods of transforming an intelligible message into one that is
unintelligible, and then retransforming that message back to its original form
Plaintext:
The original intelligible message
Cipher text:
The transformed message
Cipher
An algorithm for transforming an intelligible message into unintelligible by transposition and/or
substitution
Key
Engr. Muhammad Nadeem
Page 1
CS 407 Distributed System & Databases
Some critical information used by the cipher, known only to the sender & receiver
Encipher (encode)
The process of converting plaintext to cipher text
Decipher (decode)
The process of converting cipher text back into plaintext
Encryption:
Encryption is the process of encoding a message in such a way as to hide its contents. Modern cryptography
includes several secure algorithms for encrypting and decrypting messages. They are all based on the use of secrets
called keys.
Encryption Algorithm:
There are two main classes of encryption algorithm in general use.

The first uses shared secret keys – the sender and the recipient must share a knowledge of the key and it
must not be revealed to anyone else.

The second class of encryption algorithms uses public/private key pairs. Here the sender of a message uses
a public key – one that has already been published by the recipient – to encrypt the message. The recipient
uses a corresponding private key to decrypt the message. Although many principals may examine the public
key, only the recipient can decrypt the message, because they have the private key.
Encryption and Decryption
.
Secret-Key or Symmetric Cryptography
Because of its symmetrical use of keys, secret-key cryptography is often referred to as symmetric cryptography,
Engr. Muhammad Nadeem
Page 2
CS 407 Distributed System & Databases
•
•
•
Alice and Bob agree on an encryption method and a shared key.
Alice uses the key and the encryption method to encrypt (or encipher) a message and sends it to
Bob.
Bob uses the same key and the related decryption method to decrypt (or decipher) the message.
Public Key or Asymmetric Cryptography
Public-key cryptography is referred to as asymmetric because the keys used for encryption and decryption are
different, as we shall see below. In the next section, we describe several widely used encryption functions of both
types.
•
Alice generates a key value (usually a number or pair of related numbers) which she makes public.
•
Alice uses her public key (and some additional information) to determine a second key (her private key).
Engr. Muhammad Nadeem
Page 3
CS 407 Distributed System & Databases
•
Alice keeps her private key (and the additional information she used to construct it) secret.
•
Bob (or Carol, or anyone else) can use Alice’s public key to encrypt a message for Alice.
•
Alice can use her private key to decrypt this message.
•
No-one without access to Alice’s private key (or the information used to construct it) can easily decrypt the
message.
WEEK # 9 - SECURITY TECHNIQUES IN DISTRIBUTED SYSTEMS
DAY # 26
Cryptographic Algorithms
Block Ciphers
A block cipher is a method of encrypting text (to produce cipher text) in which a cryptographic key
and algorithm are applied to a block of data (for example, 64 contiguous bits) at once as a group rather than to one
bit at a time. Example DES, Triple-DES
Stream Ciphers
A stream cipher is a method of encrypting text (to produce cipher text) in which a cryptographic key
and algorithm are applied to each binary digit in a data stream, one bit at a time. This method is not much used in
modern cryptography. Example RC4
Hash Algorithms
The key in public-key encryption is based on a hash value. This is a value that is computed from a base input
number using a hashing algorithm. Essentially, the hash value is a summary of the original value. The important
thing about a hash value is that it is nearly impossible to derive the original input number without knowing the data
used to create the hash value. Example MD2,MD4,MD5,SHA1
Digital Signatures
Engr. Muhammad Nadeem
Page 4
CS 407 Distributed System & Databases
Digital Signatures: Signing a Document
•
Alice applies a (publicly known) hash function to a document that she wishes to “sign.” This
function produces a digest of the document (usually a number).
•
Alice then uses her private key to “encrypt” the digest.
•
She can then send, or even broadcast, the document with the encrypted digest.
Digital Signature Verification
•
Bob uses Alice’s public key to “decrypt” the digest that Alice “encrypted” with her private key.
•
Bob applies the hash function to the document to obtain the digest directly.
•
Bob compares these two values for the digest. If they match, it proves that Alice signed the document and
that no one else has altered it.
Engr. Muhammad Nadeem
Page 5
CS 407 Distributed System & Databases
Secure Transmission of Digitally Signed Documents
•
Alice uses her private key to digitally sign a document. She then uses Bob’s public key to encrypt this
digitally signed document.
•
Bob uses his private key to decrypt the document. The result is Alice’s digitally signed document.
•
Bob uses Alice’s public key to verify Alice’s digital signature.
Question:
Some of the ways in which conventional email is vulnerable to eavesdropping, masquerading,
tampering, replay, denial of service. Suggest methods by which email could be protected against each
of these forms of attack.
Answers
Question:
Estimate the time required to crack a 56-bit DES key by a brute-force attack using a 500 MIPS (million
instruction per second) workstation, assuming that the inner loop for a brute-force attack program
involves around 10 instructions per key value, plus the time to encrypt an 8-byte plaintext (see Figure
7.14). Perform the same calculation for a 128-bit IDEA key. Extrapolate your calculations to obtain the
time for a 50,000 MIPS parallel processor (or an Internet consortium with similar processing power).
Answers
Engr. Muhammad Nadeem
Page 6
CS 407 Distributed System & Databases
WEEK # 9 - SECURITY TECHNIQUES IN DISTRIBUTED SYSTEMS
DAY # 27
Lab - Encrypt and Decrypt Data Application
Engr. Muhammad Nadeem
Page 7
Download