HTTPS - Securing the HTTP - Part 1 - Intro
Naveen Kumar Gutti
Cutting edge innovations and solutions provider - Qualcomm WIFI | Mediatek Platform | Openwrt | Linux Application & Kernel Programming | Netfilter | L3,L4 protocols | AI&ML | LXC | Data Security | Web3
In the previous article we have read about the HTTP Protocol, its messaging format and Wireshark analysis of the HTTP protocol. In this article, we will see the method of securing the HTTP protocol with the use of SSL/TLS. Let's dive into the article and understand the method of securing HTTP communication.
??Why do we need to secure HTTP ?
The answer is pretty simple, "We are interacting with web servers located some where in the world. When we are sending and receiving the data, we want our data to be protected against unauthorised uses and have privacy". So to achieve this, we need to make sure that the data is encrypted end-to-end so that 3rd parties cannot inspect or misuse the data.
Encryption is a fundamental aspect of cyber-security and privacy, ensuring that information is accessible only to those authorised to view it. It involves converting plain text into a scrambled format known as cipher text, which is unreadable without the proper decryption key.
??So does encryption solve all the problems ?
Encryption only solves data security, by scrambling the data with various algorithms which are hardened against security attacks. AES(Advanced Encryption Standard) is the best algorithm out in the industry which is very secure against brute force attacks. But does this solve our problem of data security and misuse of data. We will know the answer of this by analysing a few scenarios and to understand them better, we are welcoming our old friends from the internet world "Alice", "Bob" and "Charlie". "Alice" is the client and "Bob" is the server, "Charlie" is the attacker or malicious user
Now we are understanding the complexity of Data Security and Authentication in terms of Internet Communication...??.
Let's discuss the approaches to solve all these problems. Before looking at the solution, we need to know few concepts - "Symmetric Encryption" and "Asymmetric Encryption" and "Digital Signatures".
?? Symmetric Encryption vs Asymmetric Encryption
Symmetric Encryption is the process of encrypting the data and sharing between sender and receiver where the key is common at sender place and receiver place.
Examples: AES(Rjindael), DES, 3DES, RC4, IDEA etc.,
Asymmetric Encryption on the other hand has two keys at sender place and receiver place. Private Key and Public Key.
Examples: RSA, Diffie-Hellman, ECDH, ECDSA etc.,
Note: This article doesn't explain the concepts of above mentioned algorithms, as they are far beyond the context of this article. I will discuss them in the upcoming articles.
?? Digital Signatures
Digital signatures are a cryptographic technique used to ensure the authenticity and integrity of digital messages. They are an electronic, asymmetrically encrypted, and mathematically verifiable signature, generated from the data. This allows for the identification of any tampering with the data.
Note: Digital Signatures will be explained in detail in future articles
?? How does these techniques solve our problems ?
Let's understand the way these techniques help us solve these problems. We will take the example of Alice sending data to bob
Awesome right ? we have exchanged the information between two entities also implementing Security, Privacy, Authenticity and Verifiability.
?? Problems Addressed
So all our issues are addressed with the above concept. The reason we have discussed all these concepts is because, these technologies are the driving concepts of HTTPS - HTTP Secured Communication.
领英推荐
There is one more problem, that is not discussed in this article, we will discuss that problem in detail when we are discussing SSL/TLS. If you can identify the problem, share the same in the comments section...??
?? How HTTPS is achieved ?
HTTPS Communication is achieved by the use of SSL/TLS Protocols. Currently SSL is used as synonym for TLS, but the actual implementations are using TLS1.2 and TLS1.3 versions.
SSL (Secure Sockets Layer) Versions:
TLS (Transport Layer Security) Versions:
?? How do we check if the website we are visiting is secured or not ?
As of writing this article, I was checking whether LinkedIN site is secure or not in Google Chrome Browser as per the screenshot given below
Let's take a look at the certificate of the LinkedIn website as given in the screenshots below
Wireshark Information of the TLS1.3 with LinkedIN Website
?? Conclusion of Part - 1
I hope you have enjoyed the article so far, especially in the context of securing HTTP communication. In our next article, we will delve into the SSL/TLS infrastructure and discuss these protocols in depth.
Until then, stay safe, stay healthy, stay happy, and enjoy your learning journey. Thank you, everyone.
If you like the content, please subscribe to my LinkedIn Newsletters below and share them.,
?? References