SSL Secure Socket Layer

omkarbhagat31 214 views 25 slides Apr 04, 2017
Slide 1
Slide 1 of 25
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25

About This Presentation

SSL Working


Slide Content

1
Omkar Bhagat Siddhesh Palkar

2
• SSL Basics
•SSL Architecture
•SSL Session & Connection
•Process In SSL

3
•SSL was first developed by Netscape in 1994
and became an internet standard in 1996
( RFC 2246 – TLS V1.0)
•SSL is a cryptographic protocol to secure
network across a connection-oriented layer
•Any program using TCP can be modified to
use SSL connection

4
•SSL connection uses a dedicated TCP/IP
socket(e.g. port 443 for https)
•SSL is flexible in choice of which symmetric
encryption, message digest, and
authentication can be used
•SSL provides built in data compression

5
•Authenticate the server to the client
•Allow the client and server to select
cryptographic algorithms, or ciphers, that they
both support
•Optionally authenticate the client to the server
•Use public key encryption techniques to
generate shared secret
•Establish an encrypted SSL connection

6
SSL is a secure protocol which runs above
TCP/IP and allows users to encrypt data and
authenticate servers/vendors identity securely
Application
layer
Transport
layerTCP/IP layer
SMTPSFTPSHTTPS
SECURE SOCKET LAYER

7
SSL Protocol Stack

8
DATA
DATA 1 DATA 2 DATA 3
Application Data
Fragment
Compress
Add MAC
Encryption
Append SSL
Record Header

9
E
n
c
r
y
p
t
e
d

10
SSL handshake verifies the server and
allows client and server to agree on an
encryption set before any data is sent
out

11
Server
Client
Public
key
Private
key
Client
request
Public key

12
Server
Client
Public
key
Private
key
Public key Pre-Master
Pre-
Master
Pre-
Master
Session key
Session key

13
Server
Client
Public
key
Private
key
Session
key
Data Session key Data
Data
Data Session key Data

14
Server
Client
Public
key
Private
key
Hacker
Public
key
Private
key
Pre-
master
Public
key
Public
key
Public key
Session
key
Pre-master
Public
key
Pre-
master
Pre-
master
Session
key

15
SSL version number client supported
(v2, v3)
Ciphers supported client
(DES, RC2, RC4)
Client Random Number
SSL version number server picked
(v2, v3)
Ciphers server picked
(DES, RC2, RC4)
Server Random Number
Server
Client
Public
key
Private
key
Public key
Certificate

16
Checking
Server
Client
Public
key
Private
key
Client
request
Certificate
Certificate
Valid
Public key
Certificate is Good and Valid
Server/vendor has been verified and authenticated
Client has vendor’s public key and Client has vendor’s public key and
can now encrypt pre-master to send can now encrypt pre-master to send
to server/vendorto server/vendor

17

18
•Notifies the client that they should send a client
hello message to begin the negotiation process
•Sent by the server at any time
•After the server sends a request, it does not
send another one until a handshake has been
completed
•Client can choose to ignore them or send a
Client Hello

19
• Sent by the client
When first connecting to a server
In response to a hello request or on its
own
• Contains
32 bytes random number created by a
secure random number generator
Protocol version
Session ID
A list of supported ciphers
A list of compression methods

20
• Sent as response if client hello is accepted
If not, a handshake failure alert is sent
• Contains
32 bytes random number created by a secure random
number generator
Protocol version
Session ID
Cipher suite chosen
Compression method selected

21
•Immediately following the server hello,
the server sends its certificate
Generally an X.509.v3 certificate
•Server sends server hello done message

22

23

24
•Client sends 48-bytes pre-master, encrypted
using server’s public key, to the server
•Both server and client use the pre-master to
generate the master secret
•A same session key is generated on both
client and server side using the master secret

25
• Client sends change_cipher_spec
• Client sends finished message
• Server sends change_cipher_spec
• Server sends finished message