1 / 86

Week 2: Technologies & Classical Techniques

Week 2: Technologies & Classical Techniques. 68-525 Encryption and Authentication Systems Spring 2010. Approach. It helps to keep in mind our approach: gain a broad tech-oriented overview of how encryption and authentication are employed

yuval
Download Presentation

Week 2: Technologies & Classical Techniques

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Week 2: Technologies & Classical Techniques 68-525 Encryption and Authentication Systems Spring 2010

  2. Approach • It helps to keep in mind our approach: • gain a broad tech-oriented overview of how encryption and authentication are employed • armed with that perspective, we can then learn how the individual algorithms work, confident that we’re not just studying theory for the sake of studying theory

  3. Last time • Syllabus • Terms • Network vs. Computer Security • Types of attacks • Security Services (X.800) • Legal Responsibilities • Legality of Crypto

  4. Last time (continued) • Symmetric encryption • Message integrity • Public-key encryption • Public-key authentication • Digital Signatures • Secure Key Transport • PK Infrastructure

  5. Today • Specific applications of crypto-technology: Digital Signatures, PGP, Web of Trust, SSL, Certificates, IPsec • A first look at algorithms: classical techniques

  6. Review of How Public-Key Works Bob has two keys – a private key, and a matching public key. These keys were established using software (such as a PGP client) These uber-attractive people have Bob’s public key, but only Bob has his private key. Having Bob’s public key allows them to send encrypted information to Bob and to verify that things they receive are from Bob. Here’s an example. Susan wants to send an email to Bob that only Bob can see. So, she encrypts it using Bob’s public key Sure enough, Bob decrypts it with his private key and ... voila! he can read it

  7. How about authentication now? Well, the number one tool for doing authentication is to place a digital signature on a document. A digital signature attests to (1) the fact that Bob originated the document and (2) the document wasn’t modified in transit. Bob will use some software tool to sign a document. Here’s how it works: The tool runs the message through some hash function that compresses it down to some code that bears no statistical relationship to the original message. This is called the message digest. The message digest is then encrypted using Bob’s private key to form the signature. The signature is then appended to the document and sent down the wire to the recipient (in this case, Pat).

  8. Pat receives the message. He decrypts the signature using Bob’s public key to retrieve the message digest. Then, he hashes the original message to obtain the digest that corresponds to the message. • If the two message digests are the same, Pat knows: • Bob was the sender of the message - authentication • The message was not modified in transit – it has integrity

  9. The major remaining stumbling block is ... how do we know Bob’s public key really is Bob’s? After all, somebody else might pretend to be Bob and create a public key and send that to us. The trick is to have some trusted third party – like Susan – sign Bob’s public key. To do this, Susan will have to review some identity information about Bob and then vouch that it really is Bob who is requesting to use a particular key. This gives rise to a certificate. Susan is a certification authority. Susan is a CA. She hashes Bob’s certification information and encrypts it using her private key to yield a signature, which she appends to Bob’s submission to form his certificate. If Pat wants to verify that a message came from Bob, he decrypts Bob’s certificate first using Susan’s public key. If that was successful, he can go ahead and use Bob’s public key to decrypt the message Bob sent. As long as he trusts Susan, Pat knows that that really is Bob’s public key.

  10. Web of Trust • Of course, we might not know Susan, so how can we trust her? • If somebody we trust signed Susan’s certificate, then we can trust the certificate that Susan signed. • Building these chains of trusted people allows us to verify that a certificate is legitimate • This is called a web of trust

  11. Example: PGP / GPG • PGP = Pretty Good Privacy • An encryption / authentication mechanism • Developed by Phil Zimmerman in 1991 • Originally used just for email, but now used for all sorts of encryption • Open Standard: OpenPGP • GNU Privacy Guard (GPG) is OpenPGP-compliant

  12. Getting GPG • The site for everything GPG is http://www.gnupg.org/ • There are versions for most major operating systems • It is the most popular strong-encryption algorithm around today

  13. PGP Encryption (of recipient)

  14. PGP Decryption

  15. PGP Authentication (of sender) (of sender)

  16. Brief GPG How-to

  17. Brief GPG How-to (continued)

  18. What’s this “signing key” stuff? • It’s how you build the web of trust • When you add a signature to a public key, you are vouching for the authenticity of that key • GPG depends on this kind of activity • Key-signing typically takes place at ...

  19. Key-Signing Parties http://cryptnet.net/fdp/crypto/keysigning_party/en/keysigning_party.html

  20. Key-Signing Party How-To • You go around giving others the id and fingerprint of your key • They do the same for you. • For each key, you do the following: gpg --keyserver keyserver --recv-keys keyID gpg --fingerprint keyID check that this matches the one you received at the party gpg -u yourKeyToUse --sign-key keyID gpg --keyserver keyserver --send-key keyID

  21. Another example:SSL: Secure Sockets Layer • Protocol developed in 1996 by Netscape • Like PGP, uses a mix of public- and symmetric-key encryption • Uses a private key to encrypt data transferred over the SSL connection • URLs start with https: instead of http:

  22. Where is it deployed?

  23. A View of SSL private key

  24. SSL Certificates • Enable SSL to do what it does • Contents: • Domain for which the certificate was issued • Legal owner of the certificate • IP address of server • Validity dates of certificate • Server’s public key

  25. Why use an SSL Certificate? • Confirms that you are who you say you are • Encrypts information sent between you and webserver

  26. How does a server get a certificate? • Your server generates a public-key / private-key pair • The public-key becomes part of a CSR (certificate signing request) • Other parts of the CSR typically include • Organization Name • Organizational unit • Country Code • State or Province • Locality • Common Name

  27. To whom does the CSR go? • It goes to a certificate authority Remember this? Susan is a CA. She hashes Bob’s certification information and encrypts it using her private key to yield a signature, which she appends to Bob’s submission to form his certificate. We will take a look at the mechanics of creating a cerfiicate later in the course

  28. Security at a lower layer • These solutions that we have discussed all work at the application layer. • How about encrypting things at the IP layer? • That’s where IPSec comes in.

  29. What is IPSec? • A set of protocols and standards to support the securing of data at the IP layer • It’s a framework • Not an implementation • Supports authentication & encryption • Certifies originator of packet • Protects data from interception and tampering while in transit • Good (although Microsoft-centric) description: http://www.microsoft.com/technet/network/ipsec/default.mspx

  30. Why use IPSec? • Secures the network • Remember the “secure the network” vs. “secure the host” debate • Is transparent to applications • Secures any IP-based protocol • Supports legacy software and any IP-based tool in the future • Alternative to application-level security such as SSL • Broad industry support • Will be mandatory in IPv6

  31. How is it transparent?

  32. Disadvantages of IPSec • Processor overhead • Encrypting and verifying each packet is hard • Network design a bit more complex • Additional devices

  33. Two IPSec Protocols • There are 2 IPSec protocols: • Authentication Header • Encapsulating Security Payload • Biggest difference: • ESP encrypts • AH does not • Why both? • AH used for countries that have laws about encrypting

  34. Security Associations • Security Associations are at the heart of IPSec • There are two SAs per each IPSec connection • SAs specify • Authentication algorithm & mode • Encryption algorithm & mode • Keys used for auth & encryption • Lifetime of the key • Lifetime of the SA • Source address of the SA • Sensitivity level (secret or unclassified)

  35. Basics of IPSec Operation • We will cover how IPSec works later in the course • For now, understand this outline • Internet Key exchange (IKE) • Sets up secure channel • Negotiates SAs • Negotiates algorithms and keys • Sending initial AH/ESP packet • IKE exchange again • Specific to what is being done (FTP, Telnet) • Traffic communicated using SA

  36. How IPsec works

  37. Let’s Change Gears Bigtime • Now let’s shift into talking about algorithms • Some cryptography algorithms are very complicated - DES, AES • Some are quite easy - classical techniques • We’ll start by talking about the easy ones

  38. Objectives • To demonstrate two building blocks of encryption • Substitution • Transposition • In the process, to learn some of the most popular pre-computer encryption techniques

  39. Encryption and Decryption Encryption Algorithm Plaintext P Ciphertext C Plaintext P Key K Key K Notation C = E(k, P) Encryption P = D(k, C) Decryption

  40. Cryptanalysis Encryption Algorithm Plaintext P Ciphertext C Key K Key K ^ P “cracked” plaintext and key ^ K Cryptanalyst

  41. System Perspective Model of a Symmetric Cryptosystem

  42. Cryptography Characteristics • Fundamental Operations • Number of Keys • Processing

  43. Fundamental Operations Cryptography Characteristics • Substitution • Replace elements with another set of the same size • Transposition • Rearrange (permute) the elements

  44. Number of keys Cryptography Characteristics • One-key: • Symmetric / single-key / conventional • Two-key • Asymmetric / two-key / public-key

  45. Processing Cryptography Characteristics • Block cipher • Data grouped into larger units • Stream cipher • Data considered individual elements

  46. Cryptanalysis Characteristics • Method of attack • Type of analytical study

  47. Methods of Attack Cryptanalysis Characteristics • Analytical • Study algorithm for weaknesses to exploit • Can crack the plaintext or, better yet, the key • Brute force • Try every possible key • Key size is the crucial decision

  48. Types of Analytical Study Cryptanalysis Characteristics The algorithm is usually known, but other items may or may not be • Ciphertext only • Known plaintext • Chosen plaintext • Chosen ciphertext • Chosen text

  49. Judging Cryptographic Systems • Unconditionally secure: • No matter how much ciphertext, can’t determine plaintext • Only a “one-time pad” achieves this level • Conditionally secure • Cost required to break it exceeds the value of the encrypted information • Time required to break it exceeds the useful lifetime of the encrypted information

  50. Brute Force Effort

More Related