Network Security


Published on

Published in: Technology
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • In considering the place of encryption, its useful to use the following two models from Stallings section 1.6. The first, illustrated in Figure 1.5, models information flowing over an insecure communications channel, in the presence of possible opponents. Hence an appropriate security transform (encryption algorithm) can be used, with suitable keys , possibly negotiated using the presence of a trusted third party .
  • This general model shows that there are four basic tasks in designing a particular security service, as listed.
  • Detail the five ingredients of the symmetric cipher model, shown in Stallings Figure 2.1: plaintext - original message encryption algorithm – performs substitutions/transformations on plaintext secret key – control exact substitutions/transformations used in encryption algorithm ciphertext - scrambled message decryption algorithm – inverse of encryption algorithm
  • We assume that it is impractical to decrypt a message on the basis of the cipher- text plus knowledge of the encryption/decryption algorithm, and do not need to keep the algorithm secret; rather we only need to keep the key secret. This feature of symmetric encryption is what makes it feasible for widespread use. It allows easy distribution of s/w and h/w implementations. Can take a closer look at the essential elements of a symmetric encryption scheme: mathematically it can be considered a pair of functions with: plaintext X, ciphertext Y, key K, encryption algorithm E K , decryption algorithm D K .
  • Cryptographic systems can be characterized along these three independent dimensions.
  • Typically objective is to recover the key in use rather then simply to recover the plaintext of a single ciphertext. There are two general approaches: Cryptanalytic attacks rely on the nature of the algorithm plus perhaps some knowledge of the general characteristics of the plaintext or even some sample plaintext-ciphertext pairs. Brute-force attacks try every possible key on a piece of ciphertext until an intelligible translation into plaintext is obtained. On average,half of all possible keys must be tried to achieve success.
  • Stallings Table 2.1 summarizes the various types of cryptanalytic attacks, based on the amount of information known to the cryptanalyst, from least to most. The most difficult problem is presented when all that is available is the ciphertext only. In some cases, not even the encryption algorithm is known, but in general we can assume that the opponent does know the algorithm used for encryption. Then with increasing information have the other attacks. Generally, an encryption algorithm is designed to withstand a known-plaintext attack.
  • Two more definitions are worthy of note. An encryption scheme is unconditionally secure if the ciphertext generated by the scheme does not contain enough information to determine uniquely the corresponding plaintext, no matter how much ciphertext is available. An encryption scheme is said to be computationally secure if either the cost of breaking the cipher exceeds the value of the encrypted information, or the time required to break the cipher exceeds the useful lifetime of the information. Unconditional security would be nice, but the only known such cipher is the one-time pad (later). For all reasonable encryption algorithms, we have to assume computational security where it either takes too long, or is too expensive, to bother breaking the cipher.
  • A brute-force attack involves trying every possible key until an intelligible translation of the ciphertext into plaintext is obtained. On average, half of all possible keys must be tried to achieve success. Stallings Table 2.2 shows how much time is required to conduct a brute-force attack, for various common key sizes (DES is 56, AES is 128, Triple-DES is 168, plus general mono-alphabetic cipher), where either a single system or a million parallel systems, are used.
  • The terms diffusion and confusion were introduced by Claude Shannon to capture the two basic building blocks for any cryptographic system. Every block cipher involves a transformation of a block of plaintext into a block of ciphertext, where the transformation depends on the key. The mechanism of diffusion seeks to make the statistical relationship between the plaintext and ciphertext as complex as possible in order to thwart attempts to deduce the key. Confusion seeks to make the relationship between the statistics of the ciphertext and the value of the encryption key as complex as possible, again to thwart attempts to discover the key. So successful are diffusion and confusion in capturing the essence of the desired attributes of a block cipher that they have become the cornerstone of modern block cipher design.
  • Horst Feistel, working at IBM Thomas J Watson Research Labs devised a suitable invertible cipher structure in early 70's. One of Feistel's main contributions was the invention of a suitable structure which adapted Shannon's S-P network in an easily inverted structure. It partitions input block into two halves which are processed through multiple rounds which perform a substitution on left data half , based on round function of right half & subkey, and then have permutation swapping halves. Essentially the same h/w or s/w is used for both encryption and decryption, with just a slight change in how the keys are used. One layer of S-boxes and the following P-box are used to form the round function.
  • Stallings Figure 3.2 illustrates the classical feistel cipher structure, with data split in 2 halves, processed through a number of rounds which perform a substitution on left half using output of round function on right half & key, and a permutation which swaps halves, as listed previously.
  • The exact realization of a Feistel network depends on the choice of the following parameters and design features: block size - increasing size improves security, but slows cipher key size - increasing size improves security, makes exhaustive key searching harder, but may slow cipher number of rounds - increasing number improves security, but slows cipher subkey generation algorithm - greater complexity can make analysis harder, but slows cipher round function - greater complexity can make analysis harder, but slows cipher fast software en/decryption - more recent concern for practical use ease of analysis - for easier validation & testing of strength
  • The process of decryption with a Feistel cipher, as shown in Stallings Figure 3.3, is essentially the same as the encryption process. The rule is as follows: Use the ciphertext as input to the algorithm, but use the subkeys Ki in reverse order. That is, use Kn in the first round, Kn –1 in the second round, and so on until K 1 is used in the last round. This is a nice feature because it means we need not implement two different algorithms, one for encryption and one for decryption.
  • Network Security

    1. 1. Network Security Lecture 2
    2. 2. Security goals
    3. 3. Attacks
    4. 4. Security Services
    5. 5. Model for Network Security
    6. 6. Cryptogrphy <ul><li>Symmetric Encryption and Message Confidentiality. </li></ul><ul><li>Public Key Cryptography and Message Authentication </li></ul>
    7. 7. Symmetric Enryption <ul><li>DES, 3-DES, AES </li></ul><ul><li>Principles of Encryption </li></ul><ul><ul><li>Five Ingredients </li></ul></ul><ul><ul><li>Plain text, Encryption Algorithm, Secret Key, Cipher text, Decryption Algorithm </li></ul></ul>
    8. 8. Model for Network Security <ul><li>using this model requires us to: </li></ul><ul><ul><li>design a suitable algorithm for the security transformation </li></ul></ul><ul><ul><li>generate the secret information (keys) used by the algorithm </li></ul></ul><ul><ul><li>develop methods to distribute and share the secret information </li></ul></ul><ul><ul><li>specify a protocol enabling the principals to use the transformation and secret information for a security service </li></ul></ul>
    9. 9. Symmetric Cipher Model
    10. 10. Requirements <ul><li>two requirements for secure use of symmetric encryption: </li></ul><ul><ul><li>a strong encryption algorithm </li></ul></ul><ul><ul><li>a secret key known only to sender / receiver </li></ul></ul><ul><li>mathematically have: </li></ul><ul><ul><li>Y = E K ( X ) </li></ul></ul><ul><ul><li>X = D K ( Y ) </li></ul></ul><ul><li>assume encryption algorithm is known </li></ul><ul><li>implies a secure channel to distribute key </li></ul>
    11. 11. Model of Conventional Crypto System
    12. 12. Cryptography <ul><li>characterize cryptographic system by: </li></ul><ul><ul><li>type of encryption operations used </li></ul></ul><ul><ul><ul><li>substitution / transposition / product </li></ul></ul></ul><ul><ul><li>number of keys used </li></ul></ul><ul><ul><ul><li>single-key or private / two-key or public </li></ul></ul></ul><ul><ul><li>way in which plaintext is processed </li></ul></ul><ul><ul><ul><li>block / stream </li></ul></ul></ul>
    13. 13. Cryptanalysis <ul><li>objective to recover key not just message </li></ul><ul><li>general approaches: </li></ul><ul><ul><li>cryptanalytic attack </li></ul></ul><ul><ul><li>brute-force attack </li></ul></ul>
    14. 14. Cryptanalytic Attacks <ul><li>ciphertext only </li></ul><ul><ul><li>only know algorithm & ciphertext, is statistical, can identify plaintext </li></ul></ul><ul><li>known plaintext </li></ul><ul><ul><li>also have plaintext for the ciphertext </li></ul></ul><ul><li>chosen plaintext </li></ul><ul><ul><li>Also can select plaintext and obtain ciphertext </li></ul></ul><ul><li>chosen ciphertext </li></ul><ul><ul><li>Also can select ciphertext and obtain plaintext </li></ul></ul>
    15. 15. Level of Security <ul><li>unconditional security </li></ul><ul><ul><li>no matter how much computer power or time is available, the cipher cannot be broken since the ciphertext provides insufficient information to uniquely determine the corresponding plaintext </li></ul></ul><ul><li>computational security </li></ul><ul><ul><li>Cost exceed the value of information </li></ul></ul><ul><ul><li>Time exceeds the useful life of information </li></ul></ul>
    16. 16. Brute Force Search <ul><li>always possible to simply try every key </li></ul><ul><li>most basic attack, proportional to key size </li></ul><ul><li>assume either know / recognise plaintext </li></ul>6.4  10 6 years 2  10 26 µs = 6.4  10 12 years 26! = 4  10 26 26 characters permutation 5.9  10 30 years 2 167 µs = 5.9  10 36 years 2 168 = 3.7  10 50 168 5.4  10 18 years 2 127 µs = 5.4  10 24 years 2 128 = 3.4  10 38 128 10.01 hours 2 55 µs = 1142 years 2 56 = 7.2  10 16 56 2.15 milliseconds 2 31 µs = 35.8 minutes 2 32 = 4.3  10 9 32 Time required at 10 6 decryptions/µs Time required at 1 decryption/µs Number of Alternative Keys Key Size (bits)
    17. 17. Feistel Cipher <ul><li>Many encryption algorithims are based on Feistel Cipher. </li></ul>
    18. 18. Confusion and Diffusion <ul><li>cipher needs to completely obscure statistical properties of original message </li></ul><ul><li>a one-time pad does this </li></ul><ul><li>diffusion – dissipates statistical structure of plaintext over bulk of ciphertext </li></ul><ul><li>confusion – makes relationship between ciphertext and key as complex as possible </li></ul>
    19. 19. Feistel Cipher Structure <ul><li>Horst Feistel devised the feistel cipher </li></ul><ul><ul><li>based on concept of invertible product cipher </li></ul></ul><ul><li>partitions input block into two halves </li></ul><ul><ul><li>process through multiple rounds which </li></ul></ul><ul><ul><li>perform a substitution on left data half </li></ul></ul><ul><ul><li>based on round function of right half & subkey </li></ul></ul><ul><ul><li>then have permutation swapping halves </li></ul></ul><ul><li>implements Shannon’s S-P net concept </li></ul>
    20. 20. Feistel Cipher Structure
    21. 21. Feistel Cipher Design Elements <ul><li>block size </li></ul><ul><li>key size </li></ul><ul><li>number of rounds </li></ul><ul><li>subkey generation algorithm </li></ul><ul><li>round function </li></ul><ul><li>fast software en/decryption </li></ul><ul><li>ease of analysis </li></ul>
    22. 22. Feistel Cipher Decryption
    23. 23. On the Encryption side