HTTP和HTTPS,SSH协议都属于应用层协议:
HTTP:超文本传输协议
HTTPS:安全的超文本传输协议, 在HTTP协议基础上加入了SSL协议保证安全传输
SSH:安全外壳协议
0x01 HTTP&HTTPS
1.1 简介
HTTP&HTTPS主要应用于Web浏览器和网站服务器之间传递数据,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此HTTP协议不适合传输一些敏感信息,比如信用卡号、密码等。而HTTPS为了数据传输的安全,在HTTP协议的基础上加入了SSL协议,SSL协议依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。
1.2 HTTP和HTTPS的主要区别:
一: HTTPS协议需要申请CA证书,一般免费的证书很少,需要交费;
二: HTTP是超文本传输协议,信息是明文传输,HTTPS是具有安全性的SSL加密传输协议;
三: HTTP和HTTPs使用的是完全不同的连接方式,用的端口号也不一样(HTTP: 80 HTTPS: 443);
四:HTTP协议的连接简单,是无状态的,HTTPS协议是由SSL+HTTP协议构成的可进行加密传输,身份认证的网络协议,比HTTP协议安全。
0x02 SSH
SSH协议为建立在应用层基础上的安全协议,SSH是目前较可靠的,专门为远程登录会话和其他网络服务提供安全性的协议,并且用SSH协议传输的数据是经过压缩的,加快数据传输的速度。SSH提供两种级别的安全验证,一: 基于口令的安全验证;二: 基于密匙的安全验证。
2.1 基于口令的安全验证
只要你知道自己的账号和口令,就可以登录到远程主机上。所有传输的数据都会被加密,但是不能保证你正在连接的服务器就是你想连接的服务器。可能会有别的服务器冒充真正的服务器,也就是受到“中间人”这种方式攻击。
2.2 基于密匙的安全验证
需要依靠密匙,也就是你必须为自己创建一对密匙,将共用密匙放到需要访问点服务器上。如果你要连接到SSH服务器上,客户端软件会向服务器发出请求,请求用的密匙进行安全验证。服务器收到请求后,先在服务器上你的主目录下寻找你的共用密匙,然后将它和你发送过来的共用密匙进行比较。如果两个密匙一致,服务器就用共用模式加密“质询”并将它发送给客户端软件。客户端软件收到“质询”之后,就可以用你的私有密匙解密再将它发送给服务器。
2.3 SSH协议的组成部分
传输层协议、 用户认证协议、 连接协议
提升资料参考:
1.HTTP&HTTPS协议:
HTTPS和HTTP的区别-1
HTTPS和HTTP的区别-2
2.HTTP请求报文段和应答报文段格式,以及服务器响应状态码:
《Linux高性能服务器编程》第4章第6节
HTTP请求报文解剖
HTTP请求响应报文&&相关状态码&&GET_POST请求方法 总结
http请求报文 响应报文 状态码
3.SSH协议:
SSH协议详解
SSH原理与运用(一):远程登录