logo

TLS/SSL Handshake with RSA and DHE - Desklib

16 Pages2305 Words399 Views
   

Added on  2023-06-10

About This Document

This article explains the TLS/SSL Handshake with RSA and DHE, including the steps for establishing the connection, authentication, and code execution. It also provides references for further reading. This content is relevant for computer science and engineering courses in universities and colleges. Get solved assignments, essays, and dissertations on Desklib.

TLS/SSL Handshake with RSA and DHE - Desklib

   Added on 2023-06-10

ShareRelated Documents
INSTITUTION:
FACULTY:
DEPARTMENT:
COURSE TITLE:
COURSE CODE:
NAME:
REGISTRATION NUMBER:
YEAR OF STUDY:
TUTOR:
TLS/SSL Handshake with RSA and DHE - Desklib_1
Table of contents.
1 introduction..................................................................................1.0
2 TLS server......................................................................................2.0
2.1 steps for establishing the connection..................................2.1
3 SSL client.........................................................................................3.0
3.1 Authentication..........................................................................3.1
3.2 code............................................................................................3.2
4 how to execute a TLS/SSL handshake program.........................4.0
TLS/SSL Handshake with RSA and DHE - Desklib_2
TLS/SSL HANDSHAKE WITH RSA AND DHE.
1 Introduction
Brabson,2011 found out that handshake is an authentication program between these two protocols
which acknowledges the communication between them. In this communication there are sockets for
both the client and the server, a server is made from the available two choices, either TLS or SSL but in
this project TLS is the server while SSL is the client and the communication uses RSA and DHE. Using RSA
and DHE the communication is very secure between the client and the server. RSA is an encryption
algorithm which does not necessarily need to exchange secret keys separately. It is used for both public
key encryption and digital signatures. The security of RSA encryption is almost guaranteed thus making it
very popular.
2 TLS server.
Creating the TLS server, Oppliger,2016, writes that firstly an open ssl is needed, so the ssl is created as
the first step in the making of the server, this is done by initializing the int_openssl () function then load
the strings that are used for error messages. After creation of the server, an SSL_CTX also called the SSL
context is then created. This is achieved by use of the SSLv23_server method and the context configured
therein. To do this configuration a function SSL_CTX_set_ecdh_auto tells the openssl() to handle the
elliptic curves. This is followed by specification of the certificates and the private keys.
From creating the openssl and the whole procedure there comes normal socket programming which
now handles the actual communication. SSL structure is created to hold the information which pertains
the connection. Using the SSL_set_fd to communicate to the openssl() the kind of file descriptor to be
used.
2.1 Steps for establishing the connection.
1. The client sends a " hello" message to the server, alongside the random value for the client and
reinforced cipher suites.
2. The server replies by sending a " hello too" to the client, alongside the random value for the
server.
3. The server sends its certificate to the client for substantiation and requests a certificate from the
client though not very necessary
4. If the server had requested for a certificate from the client, the client sends it to the server.
TLS/SSL Handshake with RSA and DHE - Desklib_3
5. The client then generates a random Pre-Master Secret and then encrypts it with the public key
emanating from the server's certificate, then sends the encrypted Pre-Master Secret to the
server.
6. The server accepts the Pre-Master Secret. The server and client each of them generates the
Master Secret and session key basing on the Pre-Master Secret.
7. The client sends "Alter cipher specification" notice to server to designate that the client will now
or sooner flinch using the new session key for hashing and even encrypting messages. Client also
sends "Client is done" message. For acknowledgement, now when all these steps are executed
successfully, a TLS/SSL handshake is said to have occurred.
8. Server accepts "Changes cipher specifications" and switches its handshake layer security state
to symmetrical encryption by use of the session keys. Server relays "Server complete"
notification to the client.
9. Client and server can therein exchange application data over the secured communication
channel that has been established. All messages and notifications sent from client to server and
from server to client are encrypted by use of session key thus very safe even in the
communication channel. Basically it is an end to end encrypted kind of channel between the
server side and the client side. Below is a conceptualized overview of the handshake concept.
TLS/SSL Handshake with RSA and DHE - Desklib_4

End of preview

Want to access all the pages? Upload your documents or become a member.

Related Documents
SSL/TLS VPN Technologies for Secure Network Connection
|8
|2000
|419

SSL Handshake: A Process for Secure Communication between Client and Server
|5
|774
|344

Wireshark Lab: SSL v7.0
|15
|2052
|219

Root Certificates- Doc
|13
|3497
|643

Advanced Network Security - PDF
|9
|1400
|70

Advanced Network Security: Cryptography, HTTPS, Access Control, Firewalls, Wireless Security
|10
|1404
|169