首页 > 编程知识 正文

ssl协议是一种安全通信协议(ssl协议是指什么)

时间:2023-05-05 15:59:09 阅读:67985 作者:3931

物品概略转载于图书馆http://www.pin lue.com/article/2020/03/2322/5910049346926.html

什么是SSL协议?

SSL协议是安全的传输协议,SSL是安全套接字层协议的缩写。 该协议最初由Netscape公司开发,目前已成为全球化标准协议,用于在互联网上确定网站和web浏览者的身份,并在浏览器用户和web服务器之间进行加密通信。 由于SSL技术内置于所有主要浏览器和WEB服务器程序中,因此只需安装数字证书或服务器证书即可启用服务器功能。

SSL协议更安全地保护信用卡和个人信息。 SSL是加密计算机之间整个会话的协议。 在SSL中,采用了公钥和私钥两种加密方法。

SSL协议的优点是它与建立APP应用层协议无关。 高层APP应用程序协议(如HTTP、FTP和Telnet )可以透明地构建在SSL协议之上。 在APP应用层协议通信之前,已经完成了加密算法、通信密钥协商和服务器验证。 然后,APP应用层协议传输的数据将被加密,以确保互联网上的通信安全。

SSL协议提供的安全服务包括:

1 )验证用户和服务器,确保数据发送到正确的客户端和服务器

2 )加密数据,以免数据在途中被盗

3 )维护数据完整性,确保数据在传输过程中不发生更改。

SSL的主要目的是在两个通信APP应用程序之间提供隐私和可靠性。 这个过程由三个要素完成。

1、握手协议。

握手负责协商用于客户端和服务器之间的会话的加密参数。 SSL客户端和服务器首次启动通信时,在协议版本上达成一致,选择加密算法,选择相互验证,然后使用公钥技术生成共享密钥。

2、记录协议。

协议用于交换APP应用层的数据。 将APP应用程序消息划分为可管理的数据块,还可以进行压缩,应用消息认证码(MAC ),然后对结果进行加密传输。 接收方接收数据,对其进行解密,验证MAC,对其进行解压缩并重新组合,并将结果提交给APP应用协议。

3、预警协议。 此协议指示错误何时发生,或者两个主机之间的会话何时结束。

接下来,我们来看看使用WEB客户端和服务器的示例。 WEB客户端连接到启用SSL的服务器以启动SSL会话。 支持SSL的典型WEB服务器在与标准HTTP请求(默认为端口80 )不同的端口(默认为443 )上接受SSL连接请求。 当客户端连接到此端口时,将开始建立SSL会话的握手。 握手完成后,通信内容将被加密,执行消息完整性检查,并显示SSL会话已过期。 SSL创建会话。 在此期间,握手必须进行一次。 如果在SSL会话期间出现问题或端口设置出现问题,SSL连接将无法使用。

SSL握手过程:

步骤1:SSL客户端连接到SSL服务器,并请求服务器验证其id。

步骤2 :服务器发送数字证书证明身份。 此交换还可以包括到根证书颁发机构(CA )的整个证书链。 通过检查有效日期并确保证书包含受信任CA的数字签名来验证证书。

步骤3 :服务器发出验证客户端证书的请求。 但是,由于缺少公钥体系结构,今天的大多数服务器都不进行客户端认证。

步骤4 :协商用于加密的消息加密算法和用于完整性检查的散列函数。 通常提供客户端支持的所有算法的列表,并选择服务最安全的加密算法。

步骤5 :客户机和服务器按以下步骤生成会话密钥:

a .客户端生成随机数,并使用从服务器证书获取的服务器公钥进行加密,然后将其发送到服务器

b .服务使用更随机的数据(如果来自客户机的密钥可用,则使用客户机密钥; 否则用明文发送数据)。

c .使用散列函数从随机数据生成安全密钥。

SSL协议的优点是提供了连接安全性,并具有三个基本属性:

连接是私有的。 在初始握手中定义密钥后,将使用加密算法。 数据加密使用了DES和RC4等对称加密。

l可以使用非对称加密或公钥加密(如RSA或DSS )验证对等方的标识信息。

l连接时可靠。 消息传输使用包含消息完整性检查的密钥的MAC。 MAC计算使用安全的散列函数,如SHA和MD5。

SSL的接受仅限于HTTP内。 虽然显示可以在其他协议中使用,但还没有广泛使用。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。