SSL如何使用非对称和对称加密?SSL加密技术

SSL(安全套接字层)是一种标准的安全技术,用于在服务器和客户端之间建立加密连接。安装SSL证书后,就可以建立此安全连接。但这是如何实现的?数据是如何加密的?本文介绍了SSL背后的加密技术,它涵盖了非对称加密和对称加密以及它们如何协同工作以创建SSL加密连接。
一、非对称加密
非对称加密(或公钥加密)使用单独的密钥进行加密和解密。任何人都可以使用加密密钥(公钥)来加密消息。但是,解密密钥(私钥)是秘密的。这样,只有预期的接收者才能解密该消息。最常见的非对称加密算法是RSA。
非对称密钥通常为2048位,小于2048位的密钥不再被认为是安全的。2048位密钥有足够的唯一加密代码,虽然可以创建更大的密钥,但是会增加计算负担。而且,破解2048位的证书需要超过140亿年的普通计算机。
二、对称加密
对称加密(或预共享密钥加密)使用单个密钥来加密和解密数据。发送方和接收方都需要相同的密钥才能进行通信。
对称密钥大小通常为128或256位,密钥大小越大,密钥越难破解。是使用128位还是256位密钥取决于服务器和客户端软件的加密功能。SSL证书不指定使用的密钥大小。
三、SSL如何使用非对称和对称加密
公钥基础结构(PKI)是创建,管理,分发,使用,存储和撤销数字证书所需的一组硬件,软件,人员,策略和过程。PKI也是通过证书颁发机构(CA)将密钥与用户身份绑定的方式。PKI使用混合密码系统,并且可以使用这两种类型的加密。例如,在SSL通信中,服务器的SSL证书包含非对称公钥和私钥对。服务器和浏览器在SSL握手期间创建的会话密钥是对称的。这将在下图中进一步解释。
① 服务器发送其非对称公钥的副本。
② 浏览器创建对称会话密钥,并使用服务器的非对称公钥对其进行加密。然后将其发送到服务器。
③ 服务器使用其非对称私钥解密加密的会话密钥以获得对称会话密钥。
④ 服务器和浏览器现在使用对称会话密钥加密和解密所有传输的数据。这允许安全通道,因为只有浏览器和服务器知道对称会话密钥,并且会话密钥仅用于该会话。如果浏览器第二天要连接到同一服务器,则会创建一个新的会话密钥。
四、加密算法介绍
公钥加密(非对称)使用RSA和椭圆曲线加密(ECC)等加密算法来创建公钥和私钥。通过非对称加密,可以轻松地生成公钥和私钥,使用公钥加密消息,以及使用私钥解密消息。但是,任何人都很难(或不可能)仅基于公钥导出私钥。
1、RSA
RSA基于假定的大整数因子分解(整数分解)。在假设不存在用于整数分解的有效算法的情况下,认为RSA密文的完全解密是不可行的。RSA的用户创建并发布两个大质数的乘积以及辅助值作为其公钥。主要因素必须保密。任何人都可以使用公钥来加密消息,但只有了解主要因素的人才能切实地解码消息。
RSA代表Ron Rivest,Adi Shamir和Leonard Adleman– 1977年首次公开描述该算法的人。
2、ECC
椭圆曲线密码学 (ECC)依赖于有限域上椭圆曲线的代数结构。假设发现与公知基点相关的随机椭圆曲线元素的离散对数是不切实际的。ECC算法优于RSA的优点是密钥可以更小,从而提高了速度和安全性。缺点在于并非所有服务和应用程序都可与基于ECC的SSL证书互操作。
1985年,Neal Koblitz和Victor S. Miller独立地提出了在密码学中使用椭圆曲线; ECC算法于2004年投入使用。
3、预共享密钥加密算法
预共享密钥加密(对称)使用Twofish,AES或Blowfish等算法来创建,目前最受欢迎的密钥——AES。所有这些加密算法分为两种类型:流密码和分组密码。流密码将加密密钥和算法应用于数据流中的每个二进制数字,一次一位。分组密码将加密密钥和算法作为一组应用于数据块(例如,64个连续位)。分组密码是目前最常用的对称加密算法。
-
多域名SSL证书能保护多少个域名?
多域名SSL证书(也称为SAN证书)可以保护多个域名,其保护域名的数量上限通常为250个。然而,具体数量可能因证书品牌和购买配置的不同而有所差异。以下是对多域名SSL证书保护域名数量的详细分析:一、一
-
Let’s Encrypt将在2025年6月停用证书到期邮件通知
免费数字证书颁发机构 Let’s Encrypt 日前宣布重大决定:自 2025 年 6 月 4 日起不再通知用户证书即将到期并需要续订,也就是后续不再发送任何电子邮件通知。对某些托管服务商和用户来说
-
Nginx环境安装SSL数字证书教程
Nginx安装SSL证书需要,FullSSL.crt和SSL.key文件1.将证书文件放到网站根目录将FullSSL.crt和SSL.key文件上传到网站根目录,新建一个文件夹放进去2.首先我们用编辑
[广告]赞助链接:
关注数据与安全,洞悉企业级服务市场:https://www.ijiandao.com/
让资讯触达的更精准有趣:https://www.0xu.cn/

随时掌握互联网精彩
- 现代化浏览器Arc 开启Windows版下载测试
- Windows驱动曝出严重漏洞 影响所有Win10/11系统!
- 历经 64 次更新,开发者倡议“产品别在周五上线”!惹争议后,其 AI 工具意外爆火,结果崩了
- Google 后开发的 Carbon 真的会取代 C++ 吗?
- 时代落在英伟达身上的是粒什么沙,国产GPU的机会又在哪?
- 派拉软件《云原生企业数字化白皮书》正式发布
- 什么样的CISO对企业来说是有用的?
- Golang 常见设计模式之单例模式
- 华为已出售X86服务器业务;苹果3nm芯片或将2023年问世;微软官宣加入JCP计划 | 极客头条
- 未来已来!分布式数据库的“星辰大海”绝不仅限于替换!
- 企业使用免费SSL证书?可能要付出巨大的代价
- 免费的加密SSL证书助长假冒钓鱼网站的盛行