<转载>初识SSL和SSH:含义与区别

本文详细介绍了SSL和SSH这两种重要的安全协议。SSL确保了Web和其他应用层协议的安全传输,而SSH则为远程登录提供了安全的通道。文章解释了两种协议的工作原理、安全验证机制及其在网络中的位置。
2018年2月2日
【1】什么是SSH?

SSH是安全外壳协议(security shell),它的本质是在http/ftp等应用层提供一个安全的"通道",避免了"中间人"的攻击,SSH是由客户端和服务端软件构成的。

SSH的安全验证是如何工作的从客户端来看,SSH提供两种级别的安全验证。

第一种级别(基于口令的安全验证)只要你知道自己帐号和口令,就可以登录到远程主机。所有传输的数据都会被加密,但是不能保证你正在连接的服务器就是你想连接的服务器。可能会有别的服务器在冒充真正的服务器,也就是受到“中间人”这种方式的攻击。

第二种级别(基于密匙的安全验证)需要依靠密匙,也就是你必须为自己创建一对密匙,并把公用密匙放在需要访问的服务器上。如果你要连接到SSH服务器上,客户端软件就会向服务器发出请求,请求用你的密匙进行安全验证。服务器收到请求之后,先在你在该服务器的家目录下寻找你的公用密匙,然后把它和你发送过来的公用密匙进行比较。如果两个密匙一致,服务器就用公用密匙加密“质询”(challenge)并把它发送给客户端软件。

客户端软件收到“质询”之后就可以用你的私人密匙解密再把它发送给服务器。用这种方式,你必须知道自己密匙的口令。但是,与第一种级别相比,第二种级别不需要在网络上传送口令。第二种级别不仅加密所有传送的数据,而且“中间人”这种攻击方式也是不可能的(因为他没有你的私人密匙)。但是整个登录的过程可能需要10秒。


【2】什么是SSL?
SSL是安全套接层(Secure socket Layer & Security Socket Layer),SSL协议使用通讯双方的客户证书以及CA根证书,允许客户/服务器应用以一种不能被偷听的方式通讯。
在通讯双方间建立起了一条安全的、可信任的通讯通道。它具备以下基本特征:信息保密性、信息完整性、相互鉴定。 主要用于提高应用程序之间数据的安全系数。
SSL协议的整个概念可以被总结为:一个保证任何安装了安全套接字的客户和服务器间事务安全的协议,它涉及所有TC/IP应用程序。

【3】联系
单的来说:SSL是安全传输的一种安全协议,SSH只是在传输的时候为了防止"中间人"篡改数据而提供的安全的"通道",在使用的时候我们只关心传输数据的安全性,那么在对于传输层和应用层,在数据请求返回的时候就存在安全性的问题:"中间人"篡改数据,并且可以伪装为服务器提供给客户端数据。由此就有了SSL和SSH
在最初的设计意图中,SSL(Secure Sockets Layer (SSL) and Transport Layer Security (TLS))被设计为加强Web安全传输(HTTP/HTTPS/)的协议(事实上还有SMTP/NNTP等),SSH(Secure Shell)更多的则被设计为加强Telnet/FTP安全的传输协议,默认地,它使用22端口。
以SSL为例,基本上SSL在传输过程中所处的位置如下:
--------- 
| HTTP | 
--------- 
| SSL | 
--------- 
| TCP | 
--------- 
| IP | 
---------

如果利用SSL协议来访问网页,其步骤如下:
用户:在浏览器的地址栏里输入https://www.sslserver.com
HTTP层:将用户需求翻译成HTTP请求,如
GET /index.htm HTTP/1.1
Host http://www.sslserver.com

SSL层: 借助下层协议的的信道安全的协商出一份加密密钥,并用此密钥来加密HTTP请求。

TCP层:与web server的443端口建立连接,传递SSL处理后的数据。

接收端与此过程相反。

SSL在TCP之上建立了一个加密通道,通过这一层的数据经过了加密,因此达到保密的效果。

SSL协议分为两部分:Handshake Protocol和Record Protocol,。其中Handshake Protocol
用来协商密钥,协议的大部分内容就是通信双方如何利用它来安全的协商出一份密钥。 Re
cord Protocol则定义了传输的格式。


### HTML链接的使用方法及示例 HTML链接通过 `<a>` 标签定义,`<a>` 是锚点标签 (anchor),用于创建超链接。以下是关于 `<a>` 标签的主要属性及其功能: #### 基本语法 ```html <a href="URL">显示的文字</a> ``` - `href`: 定义链接的目标地址,可以是绝对路径或相对路径。 #### 打开方式控制 可以通过 `target` 属性指定链接打开的方式: - `_self`: 默认值,在当前窗口加载目标 URL[^4]。 - `_blank`: 在新窗口或新标签页中打开链接[^4]。 - `_parent`: 在父框架集中打开链接(如果存在父框架集,则在其中打开;否则行为类似于 `_self`)[^4]。 - `_top`: 在整个浏览器窗口中打开链接,忽略任何框架[^4]。 #### 邮件链接 还可以利用 `mailto:` 协议发送电子邮件: ```html <a href="mailto:example@example.com">发送邮件</a> ``` #### 下载文件 当希望用户下载某个资源时,可以使用 `download` 属性: ```html <a href="/path/to/file.pdf" download>下载PDF文件</a> ``` 此代码会提示用户保存文件而不是直接浏览它[^5]。 #### 锚点跳转 在同一页面内实现快速定位到特定部分的功能称为内部链接或者叫书签链接: ```html <!-- 页面顶部 --> <a href="#section1">前往第1节</a> <!-- 页面中间某处 --> <h2 id="section1">这是第1节</h2> ``` #### 示例综合代码 以下是一段包含多种用法的例子: ```html <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <title>HTML Link Example</title> </head> <body> <!-- 外部网站链接 --> <p><a href="https://www.example.com" target="_blank">访问Example站点</a></p> <!-- Email链接 --> <p><a href="mailto:support@example.com?subject=Feedback&body=Hello%20World">联系我们</a></p> <!-- 文件下载 --> <p><a href="document.pdf" download>点击这里下载文档</a></p> <!-- 内部导航 --> <nav> <ul> <li><a href="#about">关于我们</a></li> <li><a href="#services">服务项目</a></li> <li><a href="#contact">联系方式</a></li> </ul> </nav> <article> <section id="about"><h2>关于我们</h2><p>...</p></section> <section id="services"><h2>服务项目</h2><p>...</p></section> <section id="contact"><h2>联系方式</h2><p>...</p></section> </article> </body> </html> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值