CPSC441 Security Module Internet Security
TYPES  OF  SECURITY 1. INTEGRITY AND PRIVACY OF INFORMATION  (SECURE DATA COMMUNICATION) SOLUTION: Electronic transaction ...
SUMMARY OF SECURITY OPTIONS   1.SECURE COMMUNICATION:   a) Secure Socket Layer (SSL) b) Virtual Private Networks (VPN) c) ...
SECURE DATA COMMUNICATION Required by e-commerce Based on the business transaction Current business transaction consist of...
TRANSACTION EXECUTION - cont. CLIENT: 1.  HAS certificate 2. KNOWS account number 3. REQUESTS transaction 4. CONFIRMS (sig...
E -  COMMERCE:  NEEDED 1. CERTIFICATES 2. SERVER AUTHENTICATION 3. CLIENT AUTHENTICATION 4. DIGITAL SIGNATURES 5. CONFIDEN...
Symmetric-Key Encryption <ul><li>T he same key is used for both encryption and decryption </li></ul><ul><li>T he encryptio...
<ul><li>Implementations can be highly efficient      no  significant time delay  </li></ul><ul><li>P rovides a degree of ...
Public-Key Encryption <ul><li>Patented by RSA Data Security (www.rsa.com) </li></ul><ul><li>A lso called asymmetric encryp...
Public-Key Encryption <ul><li>L ets you freely distribute a public key, and only you will be able to read data encrypted u...
Public-Key Encryption <ul><li>I t's possible to use public-key encryption to send a symmetric key, which can then be used ...
<ul><li>Digital signatures using public-key cryptography. </li></ul>
<ul><li>R ely on a mathematical function called a  one-way hash  (also called a  message digest ).  </li></ul><ul><li>A on...
Digital Signatures
Digital Signatures <ul><li>If the two hashes match, the recipient can be certain that the public key used to decrypt the d...
<ul><li>S trength of encryption is related to the difficulty of discovering the key, which in turn depends on both the cip...
<ul><li>Different ciphers may require different key lengths to achieve the same level of encryption strength   </li></ul><...
OVERVIEW OF CRYPTO ALGORITHMS I.  SYMETRICAL Name  Key length (bits) Triple DES  168  (US only) RC2, RC4  128  (US only) D...
One-Time Pads (Topic for Quantum Cryptography) The use of a one-time pad for encryption and the possibility of getting any...
A Certificate Identifies Someone or   Something <ul><li>A  certificate  is an electronic document used to identify an indi...
X.509 <ul><li>The basic fields of an X.509 certificate. </li></ul>
Certificate authorities (CAs)   <ul><li>B inds a particular public key to the name of the entity the certificate identifie...
CA Hierarchies  In large organizations, it may be appropriate to delegate the responsibility for issuing certificates to s...
Types of Certificates <ul><li>Client SSL certificates </li></ul><ul><li>Server SSL certificates </li></ul><ul><li>S/MIME c...
Client SSL certificates <ul><li>Used to identify clients to servers via SSL (client authentication).  </li></ul><ul><li>Ty...
Server SSL certificates <ul><li>Used to identify servers to clients via SSL (server authentication).  </li></ul><ul><li>Se...
<ul><li>Used for signed and encrypted email.  </li></ul><ul><li>A single certificate may be used as both an S/MIME certifi...
Object-signing certificates <ul><li>Used to identify signers of Java code, JavaScript scripts, or other signed files. </li...
CA  certificates <ul><li>Used to identify CAs.  </li></ul><ul><li>Client and server software use CA certificates to determ...
Authentication Confirms an Identity <ul><li>Client authentication  refers to the confident identification of a client by a...
T wo forms of client authentication:   <ul><li>Password-Based Authentication.  </li></ul><ul><li>Certificate-Based Authent...
<ul><li>The user has already decided to trust the server, either without authentication or on the basis of server authenti...
<ul><li>In response to an authentication request from the server, the client displays a dialog box requesting the user's n...
<ul><li>the user has already decided to trust the server and has requested a resource, and that the server has requested c...
<ul><li>The client software   maintains a database of the private keys that correspond to the public keys published in any...
<ul><li>The client unlocks the private-key database, retrieves the private key for the user's certificate, and uses that p...
<ul><li>The client sends both the user's certificate and the evidence (the randomly generated piece of data that has been ...
<ul><li>The server uses the certificate and the evidence to authenticate the user's identity  (more on SSL…) </li></ul>Cer...
<ul><li>The server may optionally  perform other authentication tasks  to evaluate whether the identified user is permitte...
Certificate-based authentication is generally considered preferable to password-based authentication because it is based o...
<ul><li>C ertificates replace the authentication portion of the interaction    between the client and the server.  </li></...
Authentication Using Kerberos <ul><li>The operation of Kerberos V4. </li></ul>
SECURE SOCKET LAYER (SSL) A PROTOCOL BETWEEN TCP/IP LAYER AND APPLICATION LAYER ORIGINALY DESIGNED BY NETSCAPE PROVIDES SE...
SERVER AUTHENTICATION - SSL I. SERVER: SENDS THE CERIFICATE  AND DIGITAL SIGGNITURE  OF RANDOM DATA II. CLIENT: READS THE ...
CLIENT AUTHENTICATION - SSL ( OPTIONAL) I.  SERVER REQUEST CLIENT'S CERTIFICATE II. CLIENT SENDS:  1.  CERIFICATE 2. DIGIT...
SSL HANDSHAKE 1. CLIENT SENDS &quot;hello&quot; MESSAGE CONSISTING OF: Some system info Cipher to be used Random number 2....
SSL HANDSHAKE - cont. 6. BOTH CLIENT AND SERVER GENERATE THE SESSION SYMETRICAL KEY AND SEND MESSAGES THAT FURTHER COMMUNI...
SSL- establishing connection
SSL Session State
SSL Connection State
SSL Handshake Protocol
OPENSSL  (www.opens.org) FREE SOFTWARE PACKAGE AVAILABLE ON THE NET. CONSISTS OF: opens COMMAND LINE UTILITY SSL LIBRARIES...
OpenSSL <ul><li>http://www.openssl.org </li></ul><ul><li>Free library providing cryptographic functions </li></ul><ul><ul>...
VIRTUAL  PRIVATE  NETWORKS (VPN) 1. CONNECTS SECURE NETWORKS VIA INTERNET (NAT protected networks are incompatible with VP...
Virtual Private Networks (VPN)
<ul><li>Adds integrity checking, authentication, encryption and protection to IP packets </li></ul><ul><li>End-to-end secu...
COMPONENTS  OF  IPSec 1. AUTHENTICATION HEADER (AH) Responsible  for authentication  2. ENCAPSULATED SECURITY PAYLOAD (ESP...
IP security scenario
IPsec
Transport Mode Tunneling Mode
<ul><li>En-route intermediate processing: </li></ul><ul><li>Destination specified in the outer header (Ipsec firewall or r...
The IP security architecture (IPsec) Authentication Header (AH) AH verifies that the data hasn’t been altered. In transpor...
The IP security architecture (IPsec) Authentication Header (AH)
The IP security architecture (IPsec) Encapsulating Security Payload (ESP) ESP encrypts the data so it remains confidential...
The IP security architecture (IPsec) Encapsulating Security Payload (ESP) Transport-level security
The IP security architecture (IPsec) Encapsulating Security Payload (ESP) A virtual private network via Tunnel Mode
<ul><li>Tunneling (encapsulation): </li></ul><ul><li>Common in packet-switching networks </li></ul><ul><li>Wrapping a pack...
IPsec <ul><li>The IPsec authentication header in transport mode for IPv4. </li></ul>
IPsec  <ul><li>(a)  ESP in transport mode.  (b)  ESP in tunnel mode. </li></ul>
<ul><li>Supports automated negotiation of Security Associations and automated generation and refresh of cryptographic keys...
Authentication Based on a Shared Secret Key <ul><li>Two-way authentication using a challenge-response protocol. </li></ul>
Authentication Using Kerberos <ul><li>The operation of Kerberos V4. </li></ul>
<ul><li>To protect a network against unauthorised access to a network, network administrators can set up a firewall. </li>...
<ul><li>Firewalls can also be programmed to  limit access  to certain machines and certain ports.  This reduces the chance...
<ul><li>Firewalls  do not inhibit  the internal operation of the network.  Nor do they completely prevent access to the ou...
<ul><li>Firewalls cannot protect against: </li></ul><ul><ul><li>Attacks that do not go through the firewall  (hand carried...
Firewalls packet filter:  restrict IP addresses ( address filtering ), ports connection filter:  only allow packets belong...
Packet filtering (screening router) Firewalls  Allow only datagrams with certain properties to pass.
Firewalls
 
 
Packet filtering <ul><li>Service level filtering - TCP/UDP protocols </li></ul><ul><li>Source/Destination filtering - IP P...
PACKET FILTERING Firewall has to distinguish between the outgoing packets (not filtered) and incoming packets (filtered) E...
PACKET FILTERING  EXAMPLE - CONT Client  Firewall  Server telnet request In this situation the firewall must stop the pack...
<ul><li>PACKET FILTERING  </li></ul><ul><li>EXAMPLE – CONT </li></ul><ul><li>Solution: </li></ul><ul><li>The client reques...
PACKET FILTERING  EXAMPLE – CONT Solution: 2. Client builds a Transmission Control Block (TCB) describing the request. TCB...
Application level(Proxy) <ul><li>Accepts the request from the client </li></ul><ul><li>Checks for the validity of the requ...
Circuit level Gateway <ul><li>Allows or disallows all TCP/IP services according to the set of rules </li></ul><ul><li>Simi...
Upcoming SlideShare
Loading in …5
×

security slides

1,413 views
1,311 views

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,413
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
49
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

security slides

  1. 1. CPSC441 Security Module Internet Security
  2. 2. TYPES OF SECURITY 1. INTEGRITY AND PRIVACY OF INFORMATION (SECURE DATA COMMUNICATION) SOLUTION: Electronic transaction 2. LIMIT TO CONNECTIVITY SOLUTION: Various kinds of Firewalls 3. NODE SECURITY SOLUTION: Anti-virus software
  3. 3. SUMMARY OF SECURITY OPTIONS   1.SECURE COMMUNICATION:   a) Secure Socket Layer (SSL) b) Virtual Private Networks (VPN) c) Kerberos authentication d) Special protocols (S/MIME, DNSsec)   2.LIMITING CONNECTIVITY   a) Packet filtering firewalls b) Proxy servers c) SOCKS servers d) NAT routers   LINUX includes Packet filtering and NAT routing as a part of the Kernel software 3. NODE SECURITY Anti-virus software
  4. 4. SECURE DATA COMMUNICATION Required by e-commerce Based on the business transaction Current business transaction consist of: I. Initial identification of the client (S.I.N., Passport, certificates) II. Transaction: a) Initial setup: 1. Client selects and trusts server (Bank etc.) 2. Sever verifies client, sets account b) Transaction execution:
  5. 5. TRANSACTION EXECUTION - cont. CLIENT: 1. HAS certificate 2. KNOWS account number 3. REQUESTS transaction 4. CONFIRMS (signs) the request SERVER: 1. AUTHENTICATES the client 2. PERFORMS the transaction 3. CONFIRMS (signs) the transaction 4. GUARANTEES the confidentiality
  6. 6. E - COMMERCE: NEEDED 1. CERTIFICATES 2. SERVER AUTHENTICATION 3. CLIENT AUTHENTICATION 4. DIGITAL SIGNATURES 5. CONFIDENCIALITY OF THE TRANSACTION Collectively known as SECURE COMMUNICATION Based on ENCRYPTION techniques
  7. 7. Symmetric-Key Encryption <ul><li>T he same key is used for both encryption and decryption </li></ul><ul><li>T he encryption key can be calculated from the decryption key and vice versa </li></ul>
  8. 8. <ul><li>Implementations can be highly efficient  no significant time delay </li></ul><ul><li>P rovides a degree of authentication  information encrypted with one symmetric key cannot be decrypted with any other symmetric key. </li></ul><ul><li>E ffective only if the symmetric key is kept secret by the two parties involved. </li></ul><ul><li>P lays an important role in the SSL protocol, which is widely used for authentication, tamper detection, and encryption over TCP/IP networks. </li></ul><ul><ul><li>SSL also uses techniques of public-key encryption (next)  </li></ul></ul>Symmetric-Key Encryption
  9. 9. Public-Key Encryption <ul><li>Patented by RSA Data Security (www.rsa.com) </li></ul><ul><li>A lso called asymmetric encryption </li></ul><ul><li>P air of keys--a public key and a private key </li></ul><ul><li>Data encrypted with your public key can be decrypted only with your private key  P ublic key is published, and the corresponding private key is kept secret. (more info in Certificates and Authentication.) </li></ul>
  10. 10. Public-Key Encryption <ul><li>L ets you freely distribute a public key, and only you will be able to read data encrypted using this key. </li></ul><ul><li>T o send encrypted data to someone, you encrypt the data with that person's public key, and the person receiving the encrypted data decrypts it with the corresponding private key. </li></ul><ul><li>Compared with symmetric-key encryption, public-key encryption requires more computation and is therefore not always appropriate for large amounts of data. </li></ul>
  11. 11. Public-Key Encryption <ul><li>I t's possible to use public-key encryption to send a symmetric key, which can then be used to encrypt additional data. This is the approach used by the SSL protocol. </li></ul><ul><li>The reverse also works: data encrypted with your private key can be decrypted only with your public key. </li></ul><ul><li>This would not be a desirable way to encrypt sensitive data : anyone with your public key ( published ) , could decrypt the data. </li></ul>
  12. 12. <ul><li>Digital signatures using public-key cryptography. </li></ul>
  13. 13. <ul><li>R ely on a mathematical function called a one-way hash (also called a message digest ). </li></ul><ul><li>A one-way hash is a number of fixed length with the following characteristics: </li></ul><ul><ul><li>The value of the hash is unique for the hashed data. Any change in the data, even deleting or altering a single character, results in a different value. </li></ul></ul><ul><ul><li>The content of the hashed data cannot, for all practical purposes, be deduced from the hash--which is why it is called &quot;one-way.&quot; </li></ul></ul>Digital Signatures
  14. 14. Digital Signatures
  15. 15. Digital Signatures <ul><li>If the two hashes match, the recipient can be certain that the public key used to decrypt the digital signature corresponds to the private key used to create the digital signature. </li></ul><ul><li>Confirming the identity of the signer, however, also requires some way of confirming that the public key really belongs to a particular person or other entity ( Certificates and Authentication ) </li></ul>
  16. 16. <ul><li>S trength of encryption is related to the difficulty of discovering the key, which in turn depends on both the cipher used and the length of the key. </li></ul><ul><li>Encryption strength is often described in terms of the size of the keys used to perform the encryption </li></ul><ul><li>I n general, longer keys provide stronger encryption. </li></ul>Key Length and Encryption Strength
  17. 17. <ul><li>Different ciphers may require different key lengths to achieve the same level of encryption strength </li></ul><ul><ul><li>Example: a 128-bit key for use with a symmetric-key encryption cipher would provide stronger encryption than a 128-bit key for use with the RSA public-key encryption cipher. </li></ul></ul><ul><li>L evel of strength may be vulnerable to attacks in the near future. </li></ul>Key Length and Encryption Strength
  18. 18. OVERVIEW OF CRYPTO ALGORITHMS I. SYMETRICAL Name Key length (bits) Triple DES 168 (US only) RC2, RC4 128 (US only) DES 56 (US only) RC2, RC4 40 (Export) II. PUBLIC KEY RSA, Some others 512 (equiv. to 64) III. HASHING (OWH) MD5, Some others
  19. 19. One-Time Pads (Topic for Quantum Cryptography) The use of a one-time pad for encryption and the possibility of getting any possible plaintext from the ciphertext by the use of some other pad.
  20. 20. A Certificate Identifies Someone or Something <ul><li>A certificate is an electronic document used to identify an individual, a server, a company, or some other entity and to associate that identity with a public key. </li></ul><ul><li>Addresses Impersonation ( Information passes to a person who poses as the intended recipient. ) </li></ul><ul><li>Certificate authorities (CAs) are entities that validate identities and issue certificates </li></ul>
  21. 21. X.509 <ul><li>The basic fields of an X.509 certificate. </li></ul>
  22. 22. Certificate authorities (CAs) <ul><li>B inds a particular public key to the name of the entity the certificate identifies (such as the name of an employee or a server). </li></ul><ul><li>Only the public key certified by the certificate will work with the corresponding private key possessed by the entity identified by the certificate. </li></ul><ul><li>A lways includes : </li></ul><ul><ul><li>the name of the entity it identifies, an expiration date, the name of the CA that issued the certificate, a serial number, and other information. </li></ul></ul><ul><ul><li>the digital signature of the issuing CA. </li></ul></ul>
  23. 23. CA Hierarchies In large organizations, it may be appropriate to delegate the responsibility for issuing certificates to several different certificate authorities.
  24. 24. Types of Certificates <ul><li>Client SSL certificates </li></ul><ul><li>Server SSL certificates </li></ul><ul><li>S/MIME certificates </li></ul><ul><li>Object-signing certificates </li></ul><ul><li>CA certificates </li></ul>
  25. 25. Client SSL certificates <ul><li>Used to identify clients to servers via SSL (client authentication). </li></ul><ul><li>Typically, the identity of the client is assumed to be the same as the identity of a human being, such as an employee in an enterprise. </li></ul><ul><li>Examples: </li></ul><ul><li>A bank gives a customer a client SSL certificate that allows the bank's servers to identify that customer and authorize access to the customer's accounts. </li></ul><ul><li>A company might give a new employee a client SSL certificate that allows the company's servers to identify that employee and authorize access to the company's servers. </li></ul>
  26. 26. Server SSL certificates <ul><li>Used to identify servers to clients via SSL (server authentication). </li></ul><ul><li>Server authentication may be used with or without client authentication. </li></ul><ul><li>Example: </li></ul><ul><li>Internet sites that engage in electronic commerce (commonly known as e-commerce ) usually support certificate-based server authentication, at a minimum, to establish an encrypted SSL session and to assure customers that they are dealing with a web site identified with a particular company. The encrypted SSL session ensures that personal information sent over the network, such as credit card numbers, cannot easily be intercepted. </li></ul>
  27. 27. <ul><li>Used for signed and encrypted email. </li></ul><ul><li>A single certificate may be used as both an S/MIME certificate and an SSL certificate. </li></ul><ul><li>Examples: </li></ul><ul><li>A company deploys combined S/MIME and SSL certificates solely for the purpose of authenticating employee identities, thus permitting signed email and client SSL authentication but not encrypted email. </li></ul><ul><li>Another company issues S/MIME certificates solely for the purpose of both signing and encrypting email that deals with sensitive financial or legal matters. </li></ul>S/MIME certificates
  28. 28. Object-signing certificates <ul><li>Used to identify signers of Java code, JavaScript scripts, or other signed files. </li></ul><ul><li>Example: </li></ul><ul><li>A software company signs software distributed over the Internet to provide users with some assurance that the software is a legitimate product of that company. Using certificates and digital signatures in this manner can also make it possible for users to identify and control the kind of access downloaded software has to their computers. </li></ul>
  29. 29. CA certificates <ul><li>Used to identify CAs. </li></ul><ul><li>Client and server software use CA certificates to determine what other certificates can be trusted. </li></ul><ul><li>Example: </li></ul><ul><li>The CA certificates stored in Communicator determine what other certificates that copy of Communicator can authenticate. An administrator can implement some aspects of corporate security policies by controlling the CA certificates stored in each user's copy of Communicator. </li></ul>
  30. 30. Authentication Confirms an Identity <ul><li>Client authentication refers to the confident identification of a client by a server (that is, identification of the person assumed to be using the client software). </li></ul><ul><li>Server authentication refers to the confident identification of a server by a client (that is, identification of the organization assumed to be responsible for the server at a particular network address). </li></ul>
  31. 31. T wo forms of client authentication: <ul><li>Password-Based Authentication. </li></ul><ul><li>Certificate-Based Authentication </li></ul>
  32. 32. <ul><li>The user has already decided to trust the server, either without authentication or on the basis of server authentication via SSL. </li></ul><ul><li>The user has requested a resource controlled by the server. </li></ul><ul><li>The server requires client authentication before permitting access to the requested resource. </li></ul>Password-Based Authentication
  33. 33. <ul><li>In response to an authentication request from the server, the client displays a dialog box requesting the user's name and password for that server. The user must supply a name and password separately for each new server the user wishes to use during a work session. </li></ul><ul><li>The client sends the name and password across the network, either in the clear or over an encrypted SSL connection. </li></ul><ul><li>The server looks up the name and password in its local password database and, if they match, accepts them as evidence authenticating the user's identity. </li></ul><ul><li>The server determines whether the identified user is permitted to access the requested resource, and if so allows the client to access it. </li></ul>Password-Based Authentication
  34. 34. <ul><li>the user has already decided to trust the server and has requested a resource, and that the server has requested client authentication in the process of evaluating whether to grant access to the requested resource. </li></ul>Certificate -Based Authentication
  35. 35. <ul><li>The client software maintains a database of the private keys that correspond to the public keys published in any certificates issued for that client. The client asks for the password to this database the first time the client needs to access it during a given session </li></ul>Certificate -Based Authentication
  36. 36. <ul><li>The client unlocks the private-key database, retrieves the private key for the user's certificate, and uses that private key to digitally sign some data that has been randomly generated for this purpose . The digital signature can be created only with that private key and can be validated with the corresponding public key against the signed data, which is unique to the SSL session. </li></ul>Certificate -Based Authentication
  37. 37. <ul><li>The client sends both the user's certificate and the evidence (the randomly generated piece of data that has been digitally signed) across the network. </li></ul>Certificate -Based Authentication
  38. 38. <ul><li>The server uses the certificate and the evidence to authenticate the user's identity (more on SSL…) </li></ul>Certificate -Based Authentication
  39. 39. <ul><li>The server may optionally perform other authentication tasks to evaluate whether the identified user is permitted to access the requested resource. </li></ul>Certificate -Based Authentication
  40. 40. Certificate-based authentication is generally considered preferable to password-based authentication because it is based on what the user has (the private key) as well as what the user knows (the password that protects the private key).
  41. 41. <ul><li>C ertificates replace the authentication portion of the interaction between the client and the server. </li></ul><ul><li>Instead of requiring a user to send passwords across the network throughout the day, single sign-on requires the user to enter the private-key database password just once, without sending it across the network. . </li></ul>
  42. 42. Authentication Using Kerberos <ul><li>The operation of Kerberos V4. </li></ul>
  43. 43. SECURE SOCKET LAYER (SSL) A PROTOCOL BETWEEN TCP/IP LAYER AND APPLICATION LAYER ORIGINALY DESIGNED BY NETSCAPE PROVIDES SECURE COMMUNICATION BASED ON ENCRYPTION TECHNIQUES BASIC FUNCTIONALITY: I. AUTHENTICATES SERVER II. AUTHENTICATES CLIENT (OPTION) III. ENCRYPTS THE MESSAGE USES PUBLIC KEY FOR AUTHENTICAT. USES SYMETRICAL KEY FOR MESSAGE ENCRYPTION
  44. 44. SERVER AUTHENTICATION - SSL I. SERVER: SENDS THE CERIFICATE AND DIGITAL SIGGNITURE OF RANDOM DATA II. CLIENT: READS THE CERTIFICATE EXTRACTS PUBLIC KEY VERIFIES THE FOLLOWING: 1. Date within valid period? 2. Is CA a trusted CA? 3. Is certificate's Digital Signature valid? 4. Is the server's Domain Name correct?
  45. 45. CLIENT AUTHENTICATION - SSL ( OPTIONAL) I. SERVER REQUEST CLIENT'S CERTIFICATE II. CLIENT SENDS: 1. CERIFICATE 2. DIGITAL SIGNITURE OF RANDOM DATA KNOWN ONLY TO CLIENT AND SERVER. III. SERVER PERFORMS THE SAME STEPS AS THE CLIENT IN THE PREVIOUS CASE
  46. 46. SSL HANDSHAKE 1. CLIENT SENDS &quot;hello&quot; MESSAGE CONSISTING OF: Some system info Cipher to be used Random number 2. SERVER RESPONDS WITH A SIMILAR MESSAGE 3. SERVER SENDS ITS CERTIFICATE AND OPTIONALLY REQUESTS CLIENT CERTIFICATE 4. CLIENT AUTHENTICATES SERVER 5. OPTIONALLY, SERVER AUTHENTICATES CLIENT
  47. 47. SSL HANDSHAKE - cont. 6. BOTH CLIENT AND SERVER GENERATE THE SESSION SYMETRICAL KEY AND SEND MESSAGES THAT FURTHER COMMUNICATION WILL BE ENCRYPTED 7. ENCRYPTED SSL SESSION BEGINS
  48. 48. SSL- establishing connection
  49. 49. SSL Session State
  50. 50. SSL Connection State
  51. 51. SSL Handshake Protocol
  52. 52. OPENSSL (www.opens.org) FREE SOFTWARE PACKAGE AVAILABLE ON THE NET. CONSISTS OF: opens COMMAND LINE UTILITY SSL LIBRARIES SOME DOCUMENTATION CAN BE USED FOR: Making yourself CA Writing SSL Client/Server programs Studying SSL code
  53. 53. OpenSSL <ul><li>http://www.openssl.org </li></ul><ul><li>Free library providing cryptographic functions </li></ul><ul><ul><li>it’s not the only one, alternatives: Crypto++ and Cryptlib of Peter Guttman </li></ul></ul><ul><li>The important feature is the complete implementation of the protocols SSLv2,SSLv3 and TLSv1 </li></ul><ul><li>The relevant specifications are at: </li></ul><ul><li>SSLv2: http://www.netscape.com/eng/security/SSL_2.html </li></ul><ul><li>SSLv3: http://home.netscape.com/eng/ssl3/index.html </li></ul><ul><li>TLS (RFC 2246): http://www.ietf.org/rfc/rfc2246.txt </li></ul><ul><li>HTTPS (RFC 2818): http://www.ietf.org/rfc/rfc2818.txt </li></ul>
  54. 54. VIRTUAL PRIVATE NETWORKS (VPN) 1. CONNECTS SECURE NETWORKS VIA INTERNET (NAT protected networks are incompatible with VPN) 2. USES TUNNELING TECHNIQUE TO CREATE A ILLUSION OF A PRIVATE LEASED LINE 3. IS IMPLEMENTED BY ENCRYPTION AND CERTIFICATION SIMILAR TO SSL 4. BASED ON PROTOCOL CALLED IPSec
  55. 55. Virtual Private Networks (VPN)
  56. 56. <ul><li>Adds integrity checking, authentication, encryption and protection to IP packets </li></ul><ul><li>End-to-end security + secure tunnels between gateways </li></ul><ul><li>Independent of current cryptographic algorithms </li></ul><ul><li>Works for IPv4 and IPv6 (mandatory component) </li></ul><ul><li>Two major concepts: </li></ul><ul><ul><li>Security Association </li></ul></ul><ul><ul><li>Tunneling </li></ul></ul>The IP security architecture (IPsec)
  57. 57. COMPONENTS OF IPSec 1. AUTHENTICATION HEADER (AH) Responsible for authentication 2. ENCAPSULATED SECURITY PAYLOAD (ESP) Responsible for encryption 3. INTERNET KEY EXCHANGE (IKE) Responsible for the handshake to establish the encrypted communication
  58. 58. IP security scenario
  59. 59. IPsec
  60. 60. Transport Mode Tunneling Mode
  61. 61. <ul><li>En-route intermediate processing: </li></ul><ul><li>Destination specified in the outer header (Ipsec firewall or router) receives the tunneled packet, extracts the original packet, and sends to the ultimate destination </li></ul><ul><li>Tradeoff: Processing overhead / extra security </li></ul>IP security architecture (IPsec)
  62. 62. The IP security architecture (IPsec) Authentication Header (AH) AH verifies that the data hasn’t been altered. In transport mode  some fields in the IP header change en-route and their value cannot be predicted by the receiver (mutable fields) Type of service, flags, fragment offset, time to live, header checksum. Protection of mutable fields? Use tunneling
  63. 63. The IP security architecture (IPsec) Authentication Header (AH)
  64. 64. The IP security architecture (IPsec) Encapsulating Security Payload (ESP) ESP encrypts the data so it remains confidential. Provide integrity check, authentication, and encryption to IP datagrams
  65. 65. The IP security architecture (IPsec) Encapsulating Security Payload (ESP) Transport-level security
  66. 66. The IP security architecture (IPsec) Encapsulating Security Payload (ESP) A virtual private network via Tunnel Mode
  67. 67. <ul><li>Tunneling (encapsulation): </li></ul><ul><li>Common in packet-switching networks </li></ul><ul><li>Wrapping a packet in a new one: </li></ul><ul><ul><li>a new header is attached to the original packet </li></ul></ul><ul><ul><li>Entire original packet becomes the payload of the new one </li></ul></ul>IP security architecture (IPsec)
  68. 68. IPsec <ul><li>The IPsec authentication header in transport mode for IPv4. </li></ul>
  69. 69. IPsec <ul><li>(a) ESP in transport mode. (b) ESP in tunnel mode. </li></ul>
  70. 70. <ul><li>Supports automated negotiation of Security Associations and automated generation and refresh of cryptographic keys </li></ul><ul><li>The ability to perform these functions with little or no manual configuration of machines  critical element to any enterprise-scale IPsec deployment. </li></ul>The Internet Key Exchange protocol (IKE framework)
  71. 71. Authentication Based on a Shared Secret Key <ul><li>Two-way authentication using a challenge-response protocol. </li></ul>
  72. 72. Authentication Using Kerberos <ul><li>The operation of Kerberos V4. </li></ul>
  73. 73. <ul><li>To protect a network against unauthorised access to a network, network administrators can set up a firewall. </li></ul><ul><li>A firewall is a component that is incorporated into the gateway between the network and any external connections. </li></ul><ul><li>The firewall examines incoming packets from outside the network. Packets using the HTTP or SMTP protocols are allowed to pass through because they are considered safe but packets using other protocols are rejected. </li></ul>Firewalls Our Network Gateway Rest of World
  74. 74. <ul><li>Firewalls can also be programmed to limit access to certain machines and certain ports. This reduces the chance of malicious people trying to tie up computer resources from outside the network. </li></ul><ul><li>They can also be programmed to reject packets or if they come from certain sources. This reduces the chance of spamming (unwanted E-mails from third parties). </li></ul><ul><li>Firewalls can also limit access from the network to the rest of the world to prevent the downloading of programs that may contain viruses or to stop employees from wasting time by surfing the net. </li></ul>Firewalls
  75. 75. <ul><li>Firewalls do not inhibit the internal operation of the network. Nor do they completely prevent access to the outside world. </li></ul><ul><li>Furthermore, what access is allowed can be monitored by the Firewall which can flag suspicious activity. </li></ul>Firewalls
  76. 76. <ul><li>Firewalls cannot protect against: </li></ul><ul><ul><li>Attacks that do not go through the firewall (hand carried tapes/disks, modem connections). </li></ul></ul><ul><ul><li>Data-driven attacks: something (malicious) is uploaded or copied through a legitimate channel, and then executed. </li></ul></ul><ul><ul><li>Denial of service attacks that overload the data connection between Intranet and Internet. </li></ul></ul>Firewalls
  77. 77. Firewalls packet filter: restrict IP addresses ( address filtering ), ports connection filter: only allow packets belonging to authorized (TCP) connections Application (proxy)gateway: Reissues the request on behalf of the client NAT: network address (and port) translator are not firewalls, but can prevent all incoming connections
  78. 78. Packet filtering (screening router) Firewalls Allow only datagrams with certain properties to pass.
  79. 79. Firewalls
  80. 82. Packet filtering <ul><li>Service level filtering - TCP/UDP protocols </li></ul><ul><li>Source/Destination filtering - IP Packets </li></ul><ul><li>Combination of both </li></ul><ul><li>Limitations: Cannot control the data within the packet </li></ul>
  81. 83. PACKET FILTERING Firewall has to distinguish between the outgoing packets (not filtered) and incoming packets (filtered) EXAMPLE Client Firewall Server telnet request telnet response In this situation the firewall must allow The response to go through Secure network Untrusted network
  82. 84. PACKET FILTERING EXAMPLE - CONT Client Firewall Server telnet request In this situation the firewall must stop the packet Secure network Untrusted network
  83. 85. <ul><li>PACKET FILTERING </li></ul><ul><li>EXAMPLE – CONT </li></ul><ul><li>Solution: </li></ul><ul><li>The client request is configured as follows: </li></ul><ul><li>dest IP dest Port # source IP source Port # </li></ul><ul><li>IPd 23 IPs >1024 </li></ul><ul><li>The server response will come as follows: </li></ul><ul><li>dest IP Dest Port # source IP source Port # </li></ul><ul><li>IPs >1024 IPd 23 </li></ul><ul><li>The firewall is configured such that it allows incoming packets with destination Port # > 1024 and blocks the other incoming packets </li></ul>
  84. 86. PACKET FILTERING EXAMPLE – CONT Solution: 2. Client builds a Transmission Control Block (TCB) describing the request. TCB contains the following: Verification tags for client and server IP addresses of client and server State of the connection etc. The firewall is configured to allow only the incoming packets which came as a response to the request.
  85. 87. Application level(Proxy) <ul><li>Accepts the request from the client </li></ul><ul><li>Checks for the validity of the request </li></ul><ul><li>Reissues the request to the server </li></ul><ul><li>Provides higher level of control then filtering </li></ul><ul><li>In general, client software has to be modified </li></ul>
  86. 88. Circuit level Gateway <ul><li>Allows or disallows all TCP/IP services according to the set of rules </li></ul><ul><li>Similar to Proxy Server </li></ul><ul><li>Most of the firewall software provides some combination of all 3 functions </li></ul>

×