Skip to content

Commit 9895306

Browse files
committed
Updating Link to HTTPS chapter
1 parent bb9553c commit 9895306

File tree

2 files changed

+16
-8
lines changed

2 files changed

+16
-8
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ Our detailed explanations should help the first type while we hope our checklist
1414

1515
1. [The Security Checklist](security-checklist.md)
1616
2. [What can go wrong?](what-can-go-wrong.md)
17-
3. Securely transporting stuff: HTTPS explained
17+
3. [Securely transporting stuff: HTTPS explained](https.md)
1818
4. Authentication: I am who I say I am
1919
4.1 Form based authentication
2020
4.2 Basic authentication

https.md

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22

33

44
## The problem
5-
The problem with HTTP without any S is that it sends and receives data in plain text.
5+
HTTP is the protocol that the browsers use to communicate with the server. The problem with HTTP without any S is that it sends and receives data in plain text.
66

77
#### Well, who can see my data in plain text?
88

9-
Well, anyone in your local network, your co-workers for example or people sitting around in your favourite cåfe.
9+
Well, anyone in your local network, your co-workers for example or people sitting around you in your favourite cafe.
1010

1111
#### How will they do it?
1212

@@ -33,10 +33,18 @@ There is still one problem with the above process, that is, any [man in the midd
3333

3434
To solve that problem browser like Chrome, Firefox, Safari etc. come embedded with information to find out which certificates are genuine. Browsers look for signature in the certificate, the signature on the certificate needs to be from one of the trusted [certificate authorities](https://en.wikipedia.org/wiki/Certificate_authority). In simple terms, certificate authorities are certain well-known organisations which everyone knows to be trust worthy (it all boils down to trust). If there is no such signature in the certificate then the browser will display a warning to the user that this connection is not really HTTPS. The server on the other hand need to get the signed certificate from one of the certificate authority by physically verifying their identity(by sending docs etc.).
3535

36+
So, `https` servers two main purpose
37+
38+
* It tells you that the website domain shown in the browser is the one you are actually talking to.
39+
* It encrypts all the communication between the domain in the browser and the browser itself.
40+
3641
### How to get HTTPS for my website?
3742
#### There are two ways to get HTTPS to your website
3843
1. Paid
39-
* TODO
44+
* You need to buy a SSL certificate from some CAs
45+
* Then you need to generate a certificate signing request from your server
46+
* Then they ask you to verify that you really own the domain.
47+
* Then they let you download the signed certificate which you can use in your server's configuration.
4048
2. Free:
4149
* Use [LetsEncrypt](https://letsencrypt.org/). Letsencrypt is free because the whole process is totally automated hence getting rid of the manual cost of configuration, creation, validation, expiration etc.
4250
* To setup, follow the steps mentioned here depending on your server: [Setup steps](https://certbot.eff.org/#ubuntuxenial-nginx)
@@ -94,11 +102,11 @@ https://www.paypal-engineering.com/2015/10/14/key-pinning-in-mobile-applications
94102
```
95103

96104
## Precautions for general public
97-
* When you visit a website in your browser, make sure it displays the padlock like this (will be gray in safari)
98-
![padlock](/img/padlock.png)
99-
* If you see striked out padlock and a warning page, then do not proceed, someone might be snooping on your traffic.
105+
* When you visit a website in your browser, make sure it displays the padlock like this ![padlock](/img/padlock.png) (will be gray in safari)
106+
* If you are using an untrusted or public internet(wifi/wired) and you see striked out padlock and a warning page, then do not proceed, someone might be snooping on your traffic.
100107
* iOS and Android apps have no way to tell if they are encrypting the traffic. Bad luck.
101-
* If you use a mobile phone or laptop provided by the company then they may install certain certificates to be trusted by the device and can easily snoop on all your browsing. You should check if any ca cert is installed in your phone. Steps to check: todo
108+
* Do not hand over your unloked mobile phones to any untrusted person. He/she might install certain untrusted `CAs` (certificate authorities) and can see all your traffic.
109+
* If you use a mobile phone or laptop provided by the company then they might have installed certain `CAs` (certificates authorities) to be trusted by the device and can easily snoop on all your browsing. You should check if any `CA` is installed in your phone. Steps to check: In iOS, go to `Settings` -> `General` -> `Profiles`. If there is anything installed there then someone might be sniffing your traffic. In Android, go to `Settings`, under "Personal," tap `Security`, under "Credential storage," tap `Trusted credentials`. Check the certificates installed by user and system.
102110

103111

104112
## Future of HTTPS

0 commit comments

Comments
 (0)