Nowadays, we are using internet like we never used it before. We are using it for almost everything form watching watching videos to operating buisness (you may find many). But are you aware of all the terms that you encounter, may be you never heard them before and what about some problems or error messages that you encounter for say error 404 (although you know what it is now, if not please let me know in the comment). So, i think this is good if i write some threads expalining some terms which will help you in understanding more about internet you use daily. So in this series lets jump into Seventh topic, which is mainly related to software part which secure communication over internet, i am talking about Open SSL…..
So, Lets dig deeper and try to understand what it is and how it works!!!!
What is Open SSL?
- OpenSSL is a software library for applications that secure communications over computer networks against eavesdropping or need to identify the party at the other end.
- OpenSSL contains an open-source implementation of the SSL and TLS protocols. i.e Transport Layer Security (TLS) and Secure Sockets Layer (SSL) protocols.
- SSL/TLS is not a piece of software or a technology — it is a protocol, a procedure for accomplishing the above series of steps, along with specific cryptographic algorithms. A piece of software (an “implementation”) is needed to implement the protocol.
- The core library, written in the C programming language, implements basic cryptographic functions and provides various utility functions. Wrappers allowing the use of the OpenSSL library in a variety of computer languages are available.
How it is works to provide encryption?
- Once a connection is made between a client and server, the client requests a secure connection. It requests information about what types of cryptographic security the client supports.
- The server choses the most secure option that both the server and client support, and then sends a security certificate signed with the server’s public key.
- The client verifies the certificate and generates a secret key to send to the server, encrypted with the server’s public key.
- The client and server use the secret key to generate pair of symmetric keys (or two pairs of public-private keys), and communication commences securely.
What is the advantages & disadvantages of using SSL?
- The advantages of OpenSSL include good licensing terms, availability of source codes, encryption, so that only authorised user can view the data.
- It also help in guarding against the phishing attacks as when an unauthorized site which does not have SSL certificate, it will show warning.
- A SSL authenticated website shows a lock icom: and the page URL starts with https:// instead of http://.
- On the other hand the disadvantages include poor documentation,and poor code quality (“hacks”) in some parts of the library. The library also does notsupport all latest crypto standards.
- SSL/TLS extends the time it takes for web pages to load on a browser. When a browser first connects to an SSL/TLS-secured web server, a secure session is initiated by the client computer and web server.
Imagine this. You want to send a message to John. You don’t know where he is or what his other contact details are. You pass the message to Jane, who knows someone who knows John. The message then is sent to Jane, who then sends to this unknown party who passes it on to John. If Jane cannot connect to that party, she will try to find another person who can then take the message to John. The data passes through multiple nodes in the network. By default the data is all plain text and insecure. Jane and unknown others whom you pass the message to, can read your message. If it is something confidential, you are screwed.