SSL / TLS
Introduction to SSL
• SSL: Secure Socket Layer
• Communications security protocol
• Developed by Netscape.
• TLS: Transport Layer Security
• an IETF standard protocol first defined in RFC 2246
Provides
• Confidentiality.
• Encryption of data.
• Peer Authenticity.
• Digital Certificates
• Message Integrity.
• Message Authentication Code (MAC)
• URLs start with https:// instead of http://
• [Link]
© 2007 Citrix Systems, Inc. — All rights reserved 2
SSL/TLS stack
© 2007 Citrix Systems, Inc. — All rights reserved 3
SSL Transaction
• TCP Connection
• SSL Handshake
• Client and Server decide on common protocol version and cipher-suite.
• Client authenticates the server.
• (Optional) Server authenticates the client – Client-Authentication.
• Session Keys.
• Public-Key cryptography (RSA, DH).
• Secure Data transfer
• Symmetric key encryption.(RC4, DES, 3DES, AES)
• SSL Closure
• Close-Notify message.
• TCP Closure
© 2007 Citrix Systems, Inc. — All rights reserved 4
SSL / TLS architecture
INITIALIZES SECURE ERROR HANDLING
COMMUNICATION
HANDLES COMMUNICATION
WITH THE APPLICATION
Protocols
INITIALIZES COMMUNCATION
BETWEEN CLIENT & SERVER
HANDLES DATA
COMPRESSION
© 2007 Citrix Systems, Inc. — All rights reserved 5
SSL Handshake Timeline
Client Server
Client Hello
Server Hello
Server Certificate*
Server Hello Done*
Client Key Exchange*
Change Cipher Specs
[Finish Message]
Change Cipher Specs
[Finished Message]
[Application Data]
[Application Data]
* : These messages are not present in a resume handshake.
© 2007 Citrix Systems, Inc. — All rights reserved 6
SSL Messages
CLIENT SIDE SERVER SIDE
OFFER CIPHER SUITE SELECT A CIPHER SUITE
MENU TO SERVER
SEND CERTIFICATE AND
CHAIN TO CA ROOT
SEND PUBLIC KEY TO
ENCRYPT SYMM KEY
SEND ENCRYPTED SERVER NEGOTIATION
SYMMETRIC KEY FINISHED
ACTIVATE
ENCRYPTION
CLIENT PORTION ( SERVER CHECKS OPTIONS )
DONE ACTIVATESERVER
ENCRYPTION
( CLIENT CHECKS OPTIONS ) SERVER PORTION
DONE
NOW THE PARTIES CAN USE SYMMETRIC ENCRYPTION
© 2007 Citrix Systems, Inc. — All rights reserved 7
SSL Record Protocol
© 2007 Citrix Systems, Inc. — All rights reserved 8
X.509 certificates
© 2007 Citrix Systems, Inc. — All rights reserved 9
SSL processing issues.
• SSL Involves CPU intensive cryptographic
operations.
• SSL handshake
• Involves complex Asymmetric-key crypto routines (RSA operations)
• RSA Decryption operation (Client-key Exchange) on Server: M=C^d mod(n), where ‘C’ is
encrypted message, ‘M’ is the decrypted message, and ‘d’ and ‘n’ are 1024 –to- 4096 bits
number, which forms the RSA private-key.
• Secure Data transfer
• Encryption and Decryption of bulk data.
• DES/3DES, AES, RC4.
• Severely affects the web-server performance
• SSL certificate management and renewal.
© 2007 Citrix Systems, Inc. — All rights reserved 10
Netscaler SSL Performance
Model Processor Memory SSL SSL SSL
(Core) (GB) Chips transactions throughput
/sec Gbps
MPX 12 48 16 220,000 11
21500
MPX 8 16 8 60,000 6
12500
MPX 4 8 4 10,000 1
7500
MPX 2 4 1 5,000 0.5
5500
© 2007 Citrix Systems, Inc. — All rights reserved 11
SSL Off-Loading
• SSL(VIP)HTTP(services)
© 2007 Citrix Systems, Inc. — All rights reserved 12
SSL Entities
• SSL VIP
• Load Balancing, Content Switching, CRD, VPN.
• SSL Service
• Front-end: Transparent SSL Acceleration
• Back-end: Server side SSL(end-to-end security).
• Certificate
• X.509 Digital certificate that binds Individual’s or organization’s identity to its public-key parameter.
• Root-CA certificate: CA certificate that signs for itself (self-signed)
• Intermediate-CS certificate: CA certificate signed by Root-CA or some other Intermediate-CA certificate.
• Server Certificate: Certificate for a secure domain (e.q [Link])
• Client Certificate: Certificate for an individual.
• Certificate Revocation List / OCSP
• List of revoked certificates.
• Used in Client-authentication to reject clients with revoked certificates.
• OCSP – Online Certificate Status Protocol
• Client Authentication
• Verification of Client’s Authenticity. “Is he the one, who he claims to be?”.
• Cipher Suite
• Combination of Key-Exchange, Authentication, Encryption and MAC (Hash) algorithms.
• E.g. SSL3-RC4-SHA
• Key-Exchange: RSA, Authentication: RSA, Encryption: RC4, MAC: SHA.
• SSL Actions, SSL policies
© 2007 Citrix Systems, Inc. — All rights reserved 13
SSL Configurations
1. Basic SSL Off-Loading configuration
• NetScaler does SSL Off-Loading with SSL VIP on the front-end, and sends clearText data
to the backend servers.
• Basic Configuration: SSL+LB
enable ns feature SSL LB
add server s1 [Link]
add server s2 [Link]
add service src1 s1 HTTP 80
add service src2 s2 HTTP 80
add vserver ssl_vip SSL [Link] 443
add ssl certkey cert1 –cert /nsconfig/ssl/[Link] –key /nsconfig/ssl/[Link]
bind ssl certkey ssl_vip cert1
bind lb vserver ssl_vip src1
bind lb vserver ssl_vip src2
SSL HTTP
Client NetScaler Server
© 2007 Citrix Systems, Inc. — All rights reserved 14
SSL Configurations
2. SSL Off-Loading with Backend encryption
• NetScaler does SSL Off-Loading with SSL VIP on the front-end, re-encrypts the data and
sends it over a secure SSL session to the backend servers.
• Basic Configuration: SSL+LB
enable ns feature SSL LB
add server s1 [Link]
add server s2 [Link]
add service src1 s1 SSL 443
add service src2 s2 SSL 443
add vserver ssl_vip SSL [Link] 443
add ssl certkey cert1 –cert /nsconfig/ssl/[Link] –key
/nsconfig/ssl/[Link]
bind ssl certkey ssl_vip cert1
bind lb vserver ssl_vip src1
bind lb vserver ssl_vip src2
SSL HTTP
Client NetScaler Server
© 2007 Citrix Systems, Inc. — All rights reserved 15
NetScaler Certificate Authority
Minimal CA functionality
• Creation of keys Steps for Certificate creation
• RSA 1. Create key
• DSA 2. Create CSR
• Creation of DH params 3. Create Cert
• Creation of CSR (Certificate Signing Request)
• Creation of
• Root-CA
• Intermediate-CA
• Client certificate
• Server certificate.
• CRL
• Creation
• Revocation
• Other tool
• PKCS#12 conversion utility
• PKCS#8 conversion utility
© 2007 Citrix Systems, Inc. — All rights reserved 16
Thank You
•Q&A
SSL
© 2007 Citrix Systems, Inc. — All rights reserved 17