还剩48页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
协议简介HTTPS欢迎参加《协议简介》课程本课程将深入探讨协议的工作原HTTPS HTTPS理、安全机制及其在现代互联网中的重要性通过系统学习,您将了解从到的演进过程,以及如何保障网络通信的安全性HTTP HTTPS HTTPS本课程适合网络安全工程师、开发人员以及对网络安全有兴趣的技术人Web员我们将从基础概念出发,逐步深入技术细节,并结合实际应用场景进行分析,帮助您全面掌握协议的核心知识HTTPS让我们一起探索这个保障互联网安全的关键技术,了解它如何为我们的网络通信提供加密保护、数据完整性验证和身份认证服务什么是?HTTPS定义与的区别HTTPS HTTP(超文本传输安全协议)是协议的安全版本,在采用明文传输数据,无法保证通信过程中的安全性,而HTTPS HTTP HTTP基础上增加了传输层安全协议()或安全套接字层通过加密机制确保数据传输的机密性默认使用HTTP TLS HTTPS HTTP80()它通过在客户端与服务器之间建立加密连接,确保数端口,则使用端口SSL HTTPS443据在传输过程中的安全性不验证通信双方的身份,存在身份冒充风险,而通HTTP HTTPS使用了公钥基础设施()和数字证书来验证服务器身过数字证书验证服务器身份,提供身份认证此外,无法HTTPS PKIHTTP份,有效防止中间人攻击和数据窃听采用协议的网站验证数据完整性,数据可能被篡改,则使用消息认证码HTTPS HTTPS以开头,浏览器地址栏通常会显示锁形图标保证数据完整性URL https://发展历程HTTPS年11994网景公司()开发了协议,但由于存在严重安全漏洞,从未公开发Netscape SSL
1.0布随后在同年开发了版本,这是首个公开部署的安全套接字层协议SSL
2.0年21996发布,对前版本进行了全面重新设计,提高了安全性和灵活性这一版本奠定SSL
3.0了现代加密通信的基础,并得到广泛应用年31999()作为的继任者发布,由标准化虽然更名为,TLS
1.0RFC2246SSL
3.0IETF TLS但实际上是的延续,只是由于标准化组织变更而改名SSL年42006-2018不断发展,先后发布了(年)、(年)和TLS TLS
1.12006TLS
1.22008TLS
1.3(年)每个版本都增强了安全性并减少了握手时间,尤其是简化了握手2018TLS
1.3过程,同时移除了不安全的加密算法为什么需要?HTTPS信息窃听风险协议下,数据以明文形式传输,任何能够截获数据包的攻击者都可以直接读取其中HTTP的信息,包括用户名、密码和其他敏感数据这种窃听攻击在公共等共享网络环境Wi-Fi中尤为普遍数据篡改威胁通过传输的数据可能被中间人修改,而接收方无法检测到这种篡改攻击者可以插HTTP入恶意代码、修改网页内容或劫持用户会话,导致信息泄露或财产损失身份冒充问题无法验证通信对方的真实身份,用户可能连接到伪装的钓鱼网站而不自知HTTP HTTPS通过数字证书提供服务器身份验证,让用户能够确认自己正在与真实的目标网站通信合规与信任要求各国法规(如、《网络安全法》)和行业标准(如)对用户数据保护提出GDPR PCIDSS了严格要求已成为现代网站的基本要求,也是建立用户信任的重要因素HTTPS的应用场景HTTPS金融支付系统电子商务平台社交网络与通讯在线银行和支付平台必须使用保护用电商网站通过保护用户账户信息、购社交平台和即时通讯应用需要保护用HTTPS HTTPS HTTPS户的财务信息和交易数据当用户登录银行物历史和支付数据从浏览商品到最终结算户隐私和通信内容这些平台处理大量个人账户、输入信用卡信息或执行转账操作时,的整个购物流程都需要安全保障,特别是涉信息和私密对话,安全传输对维护用户信任确保这些敏感信息不会被窃取及个人地址和支付信息的环节至关重要HTTPS用户注册与登录个人资料信息••网上银行登录和操作•个人信息管理私信和群组聊天••第三方支付平台交易•订单处理与支付位置和状态共享••信用卡信息提交•协议回顾HTTP客户端发起请求用户在浏览器中输入网址或点击链接,浏览器创建请求请求包含方法(、HTTP GET等)、、版本和可能的请求头与请求体POST URL HTTP建立连接TCP客户端与服务器建立连接,通常使用三次握手确保连接可靠每个请求都TCP HTTP
1.0需要单独的连接,而引入了持久连接,允许多个请求复用同一连接TCP HTTP
1.1服务器处理请求服务器接收并解析请求,执行相应操作(如检索文件、查询数据库等),然后HTTP生成响应响应包含状态码、响应头和响应体HTTP客户端接收响应浏览器接收服务器返回的响应,解析其内容并渲染页面如果响应包含其HTTP他资源(如图片、、),浏览器会发起额外的请求获取这CSS JavaScriptHTTP些资源协议的主要缺点是数据以明文形式传输,任何能够访问传输路径的人都可以读取或修改数HTTP据这种明文通信在现代互联网环境中构成了严重的安全隐患的不足HTTP数据明文传输所有通信内容对第三方可见数据完整性无保障无法验证数据是否被篡改身份验证机制薄弱无法确认服务器真实身份易受网络劫持公共网络中尤其危险协议的这些安全缺陷使得它不适合传输敏感信息在使用的网络通信中,攻击者可以轻易实施中间人攻击,窃听用户与服务器之间的通信内容,或HTTP HTTP者修改传输中的数据例如,当用户在咖啡厅等公共场所使用登录网站时,如果网站使用,那么用户输入的密码和个人信息可能被同一网络中的攻击者截获这种风险在Wi-Fi HTTP现代互联网环境中是不可接受的,特别是对于处理敏感数据的应用典型攻击方式HTTP数据窃听中间人攻击攻击者使用网络嗅探工具(如攻击者位于客户端和服务器之间,拦截)捕获通信数据包,并Wireshark HTTP双方通信并可能修改传输的数据,而通从中提取用户名、密码、会话标识等敏信双方无法察觉感信息劫持会话劫持DNS攻击者篡改解析结果,将用户引导攻击者窃取用户的会话标识(如DNS至伪造的网站,从而获取用户输入的敏),从而能够冒充用户身份访问Cookie感信息网站,无需知道用户的登录凭证这些攻击方式在使用协议的网络通信中尤为常见,因为不提供任何加密保护攻击者可以利用各种网络工具和技术轻松实HTTPHTTP施这些攻击,使用户数据面临严重风险案例分析安全事件HTTP事件公共攻击政府监控项目Firesheep Wi-Fi年,安全研究人员发布了名为年至年间,研究人员在全球主要机场年,斯诺登披露的文件显示,某些政府机2010Firesheep201120142013的扩展,它能在公共网络中轻松和咖啡厅进行安全测试,发现超过的用户构能够大规模收集通信数据,并从中提取Firefox Wi-Fi70%HTTP窃取未加密的会话这个工具让普通用通过传输敏感信息,导致大量个人数据暴敏感信息这些监控项目能够分析未加密流量Cookie HTTP户也能实施会话劫持攻击,引发了广泛关注露风险中的电子邮件、聊天记录和浏览历史受影响的知名网站包括、等一些著名案例包括攻击者在星巴克等公共场所这一事件引发了对互联网隐私的广泛讨论,成Facebook Twitter社交平台,因为当时这些网站只在登录页面使设置恶意热点,截获用户的银行登录信息和电为推动全球网站采用的重要催化剂,也HTTPS用,登录后切换到此事件促使子邮件内容这类事件使公众逐渐认识到公共促使主要科技公司改进其加密实践HTTPS HTTP众多网站加速采用全站保护网络中使用的危险性HTTPS HTTP向迁移的趋势HTTPS的基本原理HTTPS基础安全通信目标TLS/SSL通过(传输层安全协议)或其前身(安全套接旨在实现三个核心安全目标HTTPS TLS SSL HTTPS字层)在与之间建立加密层协议负责加密HTTP TCP TLS/SSL保密性防止数据被窃听,确保通信内容只能被合法通信方•数据、验证服务器身份并确保数据完整性访问当浏览器连接到网站时,服务器会提供数字证书证明其HTTPS完整性确保数据在传输过程中未被篡改,任何修改都能被•身份浏览器验证证书后,双方通过握手过程协商加密参数并生检测出来成会话密钥,之后的通信都使用这个密钥加密认证性验证通信对方的身份,防止身份欺骗•这三个安全目标共同保障了网络通信的安全性,使成为HTTPS现代互联网中传输敏感信息的标准协议加密通信简介对称加密非对称加密对称加密使用相同的密钥进行加密和解非对称加密使用一对密钥公钥和私钥密这种方式计算效率高,适合加密大量公钥可以公开分享,用于加密;私钥需保数据,但面临密钥分发问题如何安全地密,用于解密这解决了密钥分发问题,将密钥传给对方?但计算开销较大优点加解密速度快,资源消耗低优点无需事先共享密钥,密钥管理••更安全缺点密钥管理困难,安全分发密钥•是主要挑战缺点计算速度慢,资源消耗高•常用算法、、、常用算法、、、•AES DES3DES•RSA ECCDSA DHChaCha20混合加密机制结合两种加密技术的优势使用非对称加密安全地交换对称密钥,然后用对称加密保HTTPS护实际通信数据,既保证安全性又保持高效率对称加密用于大量数据传输•非对称加密用于安全交换对称密钥•数字签名用于验证身份和数据完整性•使用的加密算法HTTPS对称加密算法非对称加密算法(高级加密标准)目前最广泛使用的对AES经典的非对称加密算法,基于大数分解RSA称加密算法,支持位密钥长度,128/192/256难题,广泛应用于数字签名和密钥交换安全性高且性能出色(椭圆曲线密码学)相比使用•ECC RSA新一代流加密算法,在移动•ChaCha20更短的密钥提供同等安全强度设备上性能优于AES用于密钥交换的算法,允许•DH/ECDH较旧的算法,仍在一些传统系统•3DES安全生成共享密钥中使用摘要算法密码套件安全哈希算法家族,生SHA-256/SHA-384密码套件是加密算法的组合,定义了整个安全成固定长度的消息摘要,用于验证数据完整通信过程中使用的算法集合性•TLS_AES_128_GCM_SHA256TLS
1.3较旧的算法,因安全性问题被弃•SHA-1中的标准套件用•ECDHE-RSA-AES256-GCM-SHA384已知存在严重安全漏洞,不应在安•MD5中的强安全套件TLS
1.2全场景使用介绍TLS/SSLSSL
2.0/
3.0(安全套接字层)由网景公司开发,于年发布,存在设计缺陷于SSL SSL
2.01995SSL
3.0年发布,改进了安全性,但现已被认为不安全,所有现代浏览器已停止支持1996TLS
1.0/
1.1(传输层安全)协议是的继任者,由标准化于年发布(TLSSSLIETF TLS
1.01999RFC),是的改进版于年发布(),增强了安全性,但两者2246SSL
3.0TLS
1.12006RFC4346都已被认为不够安全,主流浏览器已停止支持TLS
1.2年发布(),引入了重要的安全改进,支持更强的密码套件,能够防御许多已知2008RFC5246攻击长期作为互联网安全通信的主要协议,直到近期被逐渐替代TLS
1.2TLS
1.3TLS
1.3年发布(),是一次重大升级,简化了握手过程,减少了通信延迟,移除了所有2018RFC8446不安全的加密算法,并改进了隐私保护将握手时间减少到一个往返时间(),TLS
1.31-RTT显著提高了性能协议层次关系HTTPS应用层HTTP处理具体的应用通信内容安全层TLS/SSL提供加密、认证和数据完整性传输层TCP提供可靠的数据传输服务网络层IP负责数据包的路由和传递在标准的协议和协议栈之间插入了一个安全层()当浏览器发送请求时,数据首先交给层进行加密,然后再通过协HTTPS HTTPTCP/IP TLS/SSL HTTP TLS TCP/IP议传输到目标服务器服务器收到加密数据后,首先通过层解密,然后将解密后的请求传递给应用程序处理TLSHTTP这种分层架构使得安全机制对应用层透明,网站开发者可以专注于应用逻辑,而不必直接处理复杂的加密算法同时,协议的独立性也使它能够为多种应HTTP TLS用层协议(如、、等)提供安全保障HTTP FTPSMTP如何保障安全HTTPS加密保障通过对通信内容进行加密,确保数据在传输过程中无法被第三方读取,即使数据包被截获,也无法理解其内容完整性验证使用消息认证码()或数字签名技术,确保数据在传输过程中未被篡改,任何修MAC改都会导致验证失败身份认证通过数字证书验证服务器身份,确保用户连接到真实的目标网站,而非钓鱼网站或其他伪装站点前向保密即使长期使用的私钥被泄露,之前的通信内容仍然安全,因为每个会话使用独立的临时密钥加密这些安全特性共同作用,形成了的全面保护机制加密确保了通信的机密性,防止窃听;完整HTTPS性验证防止数据篡改;身份认证防止身份欺骗;前向保密则确保历史通信记录的安全性不会因密钥泄露而受到威胁端口与格式HTTPS URL默认端口格式与表示HTTPS URL协议默认使用端口进行通信,而则使用端的一般格式为其HTTPS TCP443HTTP HTTPS URL https://hostname[:port]/path口服务器端需要在端口配置证书并监听连接请中协议标识符明确告知浏览器使用协议而非80443TLS/SSL https://HTTPS求如果网站需要使用非标准端口,可以在中明确指定,例现代浏览器在地址栏中通常显示锁形图标,表示连接是URLHTTP如安全的https://example.com:8443/大多数防火墙默认允许端口的出站连接,这使得通信点击锁形图标可以查看证书详情和连接安全信息不同浏览器对443HTTPS能够顺利穿越企业网络边界在服务器配置中,通常需要开放安全连接的展示方式略有不同,但都遵循类似的视觉提示系统端口并配置相应的安全证书才能提供服务绿色锁形图标表示连接安全可靠,黄色或红色警告图标表示存在443HTTPS安全问题浏览器会强制执行到的降级限制如果用户首次通过访问网站,随后网站尝试将用户重定向到不安全的版HTTPS HTTP HTTPSHTTP本,现代浏览器会显示警告并可能阻止这种降级行为,以保护用户免受潜在的降级攻击的优势HTTPS用户数据保护加密用户数据,保护个人信息、登录凭证和支付详情等敏感内容,防止在传输过程中HTTPS被窃取这不仅增强了用户隐私保护,也降低了网站运营者面临的数据泄露风险和法律责任搜索引擎优化谷歌等搜索引擎已将作为排名信号,安全网站在搜索结果中获得更高权重此外,许HTTPS多现代功能(如地理位置、推送通知等)已将作为必要条件,确保网站能够使用Web HTTPS最新的技术Web增强品牌信任浏览器中的安全标识(如锁形图标)增强了用户对网站的信任感相反,不安全警告可能导致用户离开网站,增加跳出率研究表明,高达的网络用户会避免在被标记为不安全的85%网站上提交信息移动兼容性提升苹果和谷歌等移动平台提供商要求应用内嵌的网页内容必须使用采用确保网HTTPS HTTPS站内容能够在移动应用和中正常加载,避免平台兼容性问题WebView的不足与挑战HTTPS性能开销证书成本配置复杂性增加了额外的处虽然等组正确配置需要专HTTPS Lets Encrypt HTTPS理步骤,可能导致性能织提供免费证书,但企业知识,错误配置可能下降握手过程需要业级证书价格昂贵,导致安全警告或连接问TLS EV额外的网络往返,增加且需要定期更新大型题管理证书更新、密了页面加载时间加密组织管理大量证书的过码套件选择、协议版本和解密操作需要消耗程复杂,需要专门的证支持等技术细节需要持资源,特别是在高书管理系统和流程,增续关注,特别是当安全CPU流量网站上,这可能增加了运维成本和复杂最佳实践随时间变化加服务器负载和响应时性时间兼容性问题老旧系统可能不支持现代版本和加密标准,TLS需要特殊处理内部应用和遗留系统迁移到可能需要重大改HTTPS造,尤其是当它们包含硬编码的链接或依HTTP赖特定功能时HTTP对称加密技术详解工作原理常用算法对称加密使用相同的密钥进行加密和解密加密过程将明文与密(高级加密标准)目前最广泛使用的对称加密算法,支持AES钥结合,通过复杂的数学运算生成密文;解密过程则使用同一密、和位密钥长度处理速度快,安全性高,已成128192256AES钥将密文转换回明文算法的安全性依赖于密钥的保密性即为全球标准模式结合了加密和认证功能,提供数据——AES-GCM使算法细节公开,只要密钥保持私密,数据就应该安全完整性保护由设计的现代流加密算法,特ChaCha20Daniel J.Bernstein典型的对称加密算法采用分组加密模式(如、、别适合软件实现和资源受限设备它通常与认证算法ECB CBCPoly1305)或流加密模式分组加密将数据分为固定大小的块并单配对使用,形成密码套件,在移动设备上GCM ChaCha20-Poly1305独加密,而流加密则逐位或逐字节处理数据比更节能高效AES对称加密的主要优势是速度快、效率高,适合加密大量数据然而,它的主要挑战是密钥分发问题如何安全地将密钥传递给接收——方这正是通过结合非对称加密解决的关键问题HTTPS非对称加密技术详解工作机制算法RSA非对称加密使用一对关联的密钥公钥和私基于大数分解难题的加密算法,是最广泛使钥用公钥加密的数据只能用对应的私钥解用的非对称加密算法其安全性依赖于分解密;用私钥签名的数据可以用公钥验证公两个大质数乘积的计算困难性钥可以自由分发,而私钥必须严格保密通常使用位或位密钥•20484096密钥对的数学关联确保安全性•操作相对计算密集且速度较慢•即使知道公钥也无法推导出私钥•密钥交换算法算法ECC()和椭圆曲线椭圆曲线加密算法基于椭圆曲线上的离散对Diffie-Hellman DHDiffie-()算法允许双方在不安全数问题与相比,它使用更短的密钥提Hellman ECDHRSA的通道上建立共享密钥供同等安全强度不直接用于加密数据位密钥相当于位密钥••256ECC3072RSA为对称加密创建会话密钥更适合资源受限的环境••混合加密机制传输开始客户端获取服务器的公钥(通常包含在服务器的数字证书中)这个公钥是可以公开的,不需要特殊保护服务器同时保留对应的私钥,确保其绝对安全性生成会话密钥客户端生成一个随机的对称密钥(会话密钥),这将用于加密实际的通信数据这个密钥必须保密,因为它将用于加密所有后续数据交换密钥交换客户端使用服务器的公钥加密刚刚生成的会话密钥,并将加密后的密钥传送给服务器由于只有服务器拥有私钥,因此只有服务器能解密获取这个会话密钥安全通信服务器使用其私钥解密得到会话密钥此后,双方都持有相同的会话密钥,并使用这个共享密钥和对称加密算法(通常是)来加密和解密所有后续通信数AES据混合加密结合了非对称加密和对称加密的优势非对称加密解决了密钥分发问题,使得通信双方能够安全地共享密钥;对称加密则提供了高效率的数据传输加密实际上,协议的每个会话TLS都会重新生成会话密钥,即使服务器使用相同的证书消息摘要算法概念与原理常用算法消息摘要(或哈希函数)将任意长度的输入数系列算SHA-256/SHA-384/SHA-512SHA-2据转换为固定长度的输出值无论输入数据多法,分别产生位、位和位的摘要256384512大,输出的摘要值长度保持不变理想的哈希值,目前被广泛认为是安全的它们被应用于函数应具备以下特性证书、软件完整性验证等场景SSL/TLS单向性无法从摘要值逆向计算出原始输产生位摘要,由于存在碰撞••SHA-1160入风险已被逐渐废弃抗碰撞性难以找到产生相同摘要值的不产生位摘要,已被证明不安••MD5128同输入全,不应用于安全场景雪崩效应输入的微小变化会导致输出的最新的系列,提供更强的安••SHA-3SHA显著不同全保证在中的应用HTTPS消息摘要在中有多种重要应用,主要确保数据的完整性和真实性HTTPS数字签名通过对摘要值进行签名,验证消息来源和完整性•消息认证码结合密钥和哈希函数保护消息完整性•HMAC记录协议使用摘要算法验证传输数据未被篡改•TLS证书指纹用于标识和验证数字证书•数字签名技术创建消息摘要发送方使用哈希算法(如SHA-256)计算原始消息的摘要值摘要是消息的数字指纹,任何微小的修改都会导致完全不同的摘要值使用私钥加密摘要发送方使用自己的私钥对摘要值进行加密,生成数字签名私钥必须保密,确保只有真正的发送方才能创建有效签名发送消息和签名发送方将原始消息和数字签名一起发送给接收方二者分开传输,签名不会隐藏消息内容验证签名接收方使用发送方的公钥解密数字签名,获得原始摘要值同时,接收方使用相同的哈希算法计算收到的消息摘要如果两个摘要值匹配,则证明消息未被篡改且确实来自私钥持有者数字签名技术提供了两个关键的安全保障首先是身份认证,确认消息确实来自预期的发送方,因为只有持有正确私钥的人才能创建有效签名;其次是数据完整性,确保消息在传输过程中未被修改,因为任何修改都会导致摘要值变化,使签名验证失败证书的作用建立信任关系1在互联网这样的开放环境中建立可验证的信任体系绑定身份与公钥将实体身份与其公钥可靠关联,防止钓鱼和欺骗提供身份证明通过第三方验证确认网站所有者的合法身份防止中间人攻击4确保用户连接到真实服务器而非攻击者的伪装服务器数字证书解决了公钥密码学面临的核心问题如何确定某个公钥确实属于声称的拥有者证书由受信任的第三方(证书颁发机构,简称)签发,它证明了证CA书中的公钥确实属于指定的实体(如网站、组织或个人)在通信中,服务器向客户端提供其数字证书,客户端验证证书的有效性、颁发机构的可信度、域名匹配性等,确认服务器身份真实可信后,才会继续通HTTPS信过程这种机制有效防止了攻击者通过提供自己的公钥来冒充合法服务器的攻击行为加密算法的选择(案例)位2048RSA密钥长度提供基本安全保障的最小推荐RSA密钥长度位256ECC密钥长度提供同等安全级别的椭圆曲线密钥长度倍10性能差异ECC签名验证速度相比同等安全级别RSA的提升50%带宽节省使用ECC而非RSA密钥交换的通信开销减少RSA一直是HTTPS通信的主流加密算法,但随着计算能力提高,需要更长的密钥才能保证安全,这导致性能开销增加ECC椭圆曲线密码学使用更短的密钥提供同等安全强度,特别适合移动设备和物联网设备等资源受限环境案例某大型国际银行于2019年将其网上银行系统从2048位RSA迁移到256位ECC,结果证书大小减少了60%,TLS握手时间缩短了50%,同时显著减少了服务器CPU负载谷歌的HTTPS服务也采用了基于ECDHE的加密套件,这使得移动设备上的连接速度和电池效率都得到了优化协议握手阶段TLS客户端Hello客户端发起握手,发送支持的版本、加密套件列表、随机数据和会话恢复信息(如果TLS有)现代浏览器通常支持多种密码套件,按安全性排序,让服务器选择最强的共同支持的套件服务器Hello服务器响应选择的版本、从客户端列表中选择的加密套件和自己生成的随机数据服TLS务器还发送数字证书(包含公钥)和可能的证书请求(如果需要客户端证书)证书验证客户端验证服务器证书的有效性,检查签发者是否可信、证书是否过期、域名是否匹配等客户端还会检查证书是否被吊销,可能通过或查询证书状态CRL OCSP密钥交换客户端通过所选算法(如、)安全地与服务器协商会话密钥材料在密RSA ECDHERSA钥交换中,客户端生成预主密钥并用服务器公钥加密发送;在中,双方合作生成共ECDHE享密钥,提供前向保密性完成这些步骤后,双方用协商的材料派生出相同的会话密钥,后续通信将使用这些密钥加密简TLS
1.3化了此过程,将握手缩减到一个往返,同时保持安全性,显著提高了连接效率数据传输加密阶段压缩(可选)数据分段在某些场景下,数据可能先被压缩,但由于等攻击,现代实现通常禁用压缩CRIME TLS待传输的应用数据被分割成较小的片段(称为记录),每个记录都将单独加密和保护TLS完整性保护为每个记录计算消息认证码,确保数据MAC3不被篡改,使用或加密模式实现HMAC AEAD传输封装加密处理加密的记录被封装到段中传输,接收方TLS TCP执行相反过程解密和验证数据使用握手阶段生成的会话密钥和协商的对称加密算法(如)加密数据和AES-GCM MAC在现代实现中,通常使用认证加密模式,如或,它们在一个操作中同时提供加密和完整性保护这种方式比传统TLS AEADAES-GCM ChaCha20-Poly1305的先后加密方法更高效、更安全MAC每个记录还包含序列号和类型标识,防止重放攻击和记录类型混淆如果接收方检测到完整性验证失败,会立即终止连接,防止任何被篡改的数据被处TLS理这些机制共同确保了数据传输过程的机密性和完整性会话恢复与优化TLS会话恢复的必要性主要恢复机制完整的握手涉及复杂的密码操作和多次网络往返,增加了连服务器在初次握手时生成并发送一个会话标识TLS SessionID接延迟对于频繁访问同一服务器的用户,重复这一过程会造成符,客户端保存此并在后续连接中提供,服务器通过找到对ID ID不必要的性能损失会话恢复机制允许客户端和服务器快速重建应的会话参数此方法简单但要求服务器存储每个会话状态,在之前建立的安全连接,避免完整握手的开销大型部署中可能成为瓶颈这对移动设备尤为重要,因为移动网络的延迟较高,而且完整握服务器将会话参数加密后作为票据发送给客Session Ticket手的加密操作会增加电池消耗对高流量网站而言,会话恢复还户端,客户端在后续连接中返回此票据服务器解密票据恢复会能显著减轻服务器计算负担话,无需保存状态这使负载均衡更容易,但要求安全管理票据加密密钥进一步优化了这一过程,引入了模式,它集成了之前的恢复机制并改进了安全性结合的TLS
1.3Pre-Shared KeyPSK TLS
1.30-功能,客户端甚至可以在恢复的会话中立即发送应用数据,完全消除了握手延迟RTT证书体系介绍根证书颁发机构Root CA处于信任链顶端的最高级别认证机构中间证书颁发机构Intermediate CA受根授权的下级认证机构CA注册机构RA负责验证申请者身份的辅助机构终端实体获得证书的网站、服务器或个人根的证书预装在操作系统和浏览器中,是整个信任链的锚点为了安全起见,根通常离线存储,很少直接签发终端证书,而是通过中间间接签发中间CA CA CA CA由根签发证书,并代表根执行日常签发操作,这种分层结构增强了系统的安全性和可扩展性CA CA证书类型包括域名验证证书,仅验证域名控制权;组织验证证书,验证组织的合法存在;扩展验证证书,进行最严格的身份审核,在浏览器中显示组DV OVEV织名称证书还可按用途分为服务器证书、客户端证书、代码签名证书等不同类型证书颁发机构()CA证书颁发机构是负责签发、管理和验证数字证书的受信任实体全球主要商业包括、、等,它们提供不同级别的证书服务和验证流程近年CA CA DigiCert SectigoGlobalSign来,作为非营利提供免费自动化证书,极大推动了的普及Lets EncryptCA HTTPS的核心职责是验证证书申请者的身份,确保公钥确实属于声称的实体根据证书类型,验证流程可能包括域名控制验证通过记录或文件上传、组织存在验证通过查询公CADNS共数据库或官方记录,以及严格的法律身份验证通过实体文件审核和直接联系必须保持高度安全标准,防止错误签发证书任何的失误都可能导致其根证书被浏览器和操作系统移除信任列表,这对的业务是致命打击因此,运营商投入大量资CA CA CA CA源确保基础设施安全和验证流程可靠证书结构X.509版本号指定证书格式版本,现代证书通常为X.509v3序列号分配的唯一标识符,用于区分该签发的不同证CACA书签名算法用于签署证书的算法,如CA SHA-256with RSA颁发者签发证书的的可分辨名称CA DN有效期证书的生效和过期时间主体证书持有者的可分辨名称,包含组织、地点等信息主体公钥信息公钥及其使用的算法如位RSA2048颁发者唯一标识符可选字段,用于唯一标识及以上版本CAv2主体唯一标识符可选字段,用于唯一标识证书持有者及以上版本v2扩展证书的附加字段,包括密钥用途、备用名称等v3证书签名对证书内容的数字签名,使用的私钥创建CACA证书的关键扩展字段包括主体备用名称,列出证书可用于的所有域名;基本约束,标明证书是证X.509SAN CA书还是终端实体证书;密钥用途,指定允许的密钥用途如数字签名、密钥加密;证书策略,指明证书的审核级别和适用政策证书链与信任机制终端实体证书站点或服务使用的实际证书,由中间CA签发,包含网站域名和公钥当用户访问https://example.com时,服务器会提供此证书作为其身份证明中间CA证书连接根CA和终端证书的桥梁,由根CA签发并给予签发其他证书的权限一个证书链可能包含多个中间CA证书,形成多级验证路径服务器需要提供完整的中间证书以构建完整信任链根CA证书信任链的起点,预装在操作系统和浏览器的受信任根存储中根证书是自签名的,其可信度基于CA的声誉和操作系统供应商的认可信任验证浏览器从终端证书开始,通过验证每个证书的签名,沿着链向上追溯到根证书,确认整个链的完整性和有效性任何环节的验证失败都会导致证书被拒绝证书链的每个环节都通过数字签名与下一环节相连根CA用其私钥签署中间CA证书,中间CA用其私钥签署终端证书这形成了一个强大的信任递归系统,只要根CA是可信的,且链中的每个证书都有效,终端用户就能信任整个链的末端证书吊销机制证书吊销列表在线证书状态协议CRL OCSP是定期发布的已吊销证书清单,包含所有被吊销但尚未允许客户端实时查询单个证书的状态,而不是下载整个CRL CA OCSP过期的证书的序列号每个证书都包含分发点的,客客户端向响应者发送证书信息,响应者返回该证书CRL URLCRL OCSP户端可从此地址获取最新的当前状态有效、已吊销或未知CRL的主要缺点是文件大小随时间增长,可能变得非常庞大,导虽然解决了的大小问题,但它引入了新的隐私和性能CRL OCSPCRL致下载和处理延迟此外,通常按计划更新如每天,可能问题每次证书验证都需要额外的请求,增加了连接延CRLHTTP无法及时反映最新的吊销状态,造成吊销延迟窗口期迟;客户端向服务器发送查询也泄露了用户的浏览行为OCSP为解决这些问题,现代实现引入了装订服务器定期从获取带时间戳的响应,并在握手中直TLS OCSPOCSP StaplingCAOCSP TLS接提供给客户端这消除了客户端查询的需要,提高了性能和隐私保护OCSP另一种方法是证书透明度,要求在公共日志中记录所有签发的证书这不直接解决吊销问题,但有助于发现错误签发的证书,CT CA减少需要吊销的情况浏览器厂商也实施了和等机制,将高价值目标的吊销信息直接内置于浏览器更新中CRLSets OneCRL浏览器对证书校验流程证书链验证浏览器检查服务器提供的证书及其中间证书,构建一条通向内置信任根的完整路径它会验证链中每个证书的数字签名,确认每个证书确实由声称的上级签发如果无法构建完整链路或签名验证失CA败,浏览器将显示错误有效期检查浏览器检查整个证书链中的每个证书是否在有效期内证书通常有年有效期,过期证书将被视1-2为无效浏览器使用自身的系统时间作为参考,因此用户系统时间不准确可能导致有效证书被错误拒绝吊销状态检查浏览器根据策略和设置检查证书是否被吊销,可能使用、或不同CRL OCSPOCSP Stapling浏览器对吊销检查的处理各不相同有些严格要求成功检查,有些在检查失败时仍允许连接,还有些将检查限制在证书或关键站点上EV域名匹配浏览器确认访问的域名与证书中的域名匹配证书必须覆盖请求的确切域名,可以通过通配符或主体替代名称扩展字段列出多个域名域名不匹配是常见的*.example.com SAN证书错误原因如果上述任何验证步骤失败,现代浏览器会显示警告页面,告知用户连接不安全不同类型的错误会触发不同级别的警告域名不匹配或证书过期通常允许用户选择继续访问,而信任链断裂或签名无效等严重问题则提供更强烈的警告,增加继续访问的难度自签名证书与信任风险自签名证书概念安全风险自签名证书是由证书使用者自己创建并签名的证书,而非由受信任的第自签名证书的主要问题是缺乏信任锚点客户端无法验证证书持有者的三方颁发在技术上,它包含与常规证书相同的信息,但签发者和真实身份,因为没有可信第三方的背书攻击者可以轻易创建针对任何CA主体是同一实体,缺乏独立验证域名的自签名证书,实施中间人攻击,而用户难以分辨真伪适用场景安全使用建议尽管存在风险,自签名证书在某些场景仍有合理用途内部测试环境、如果必须使用自签名证书,应建立严格的证书分发和验证流程,确保用封闭网络中的内部服务器、个人开发环境等不面向公众的系统这些场户首次连接时通过可靠渠道获取正确的证书指纹考虑建立私有基CA景中,管理员可以通过其他渠道安全地分发证书给受限用户群础设施或使用等免费但受信任的服务作为更安全的替Lets EncryptCA代方案通信流程()请求发起HTTPS1用户操作解析DNS用户在浏览器地址栏输入或点浏览器执行查询,将域名转换为目标服HTTPS URLDNS击链接,触发安全连接请求务器地址HTTPS IP连接建立TCP握手启动TLS4浏览器与目标服务器的端口(默443HTTPS连接建立后,浏览器准备启动握手TCPTLS认端口)建立连接,通过三次握手确保TCP过程,开始与服务器协商安全参数可靠通信在这个初始阶段,浏览器会检查严格传输安全列表,确定是否必须使用连接对于之前访问过并设置了头的网站,即使HSTSHTTPHTTPS HSTS用户输入,浏览器也会自动转换为请求,提供额外的安全保障HTTP URLHTTPS浏览器还会准备握手所需的信息,包括支持的版本如、可用的加密套件列表、压缩方法和随机数据等这些参数将在下TLS TLSTLS
1.2,TLS
1.3一步的消息中发送给服务器,作为安全协商的起点ClientHello通信流程()握手HTTPS2TLSClient Hello Server Hello客户端发送第一个消息,包含以下关键信息服务器接收后,回应消息,包含TLS Client Hello ClientHelloServer Hello客户端支持的协议版本如选择的协议版本双方都支持的最高版本•TLSTLS
1.2,TLS
1.3•TLS客户端生成的随机数,用于后续密钥生成服务器生成的随机数•Client Random•Server Random会话用于会话恢复,如果有会话新会话或恢复会话•ID•ID客户端支持的加密套件列表,按优先级排序从客户端列表中选择的加密套件••支持的压缩方法选择的压缩方法••扩展信息如指定目标主机名、协议协商等服务器支持的扩展•SNI ALPN•紧接着服务器发送证书链,包含服务器证书及中间证书,供客户端验证服务器身份在中,服务器可能还会发送消息包含参数和消息如果需要客户端证书认证最后服TLS
1.2Server KeyExchangeDH/ECDHCertificate Request务器发送表示初始消息发送完成Server HelloDone简化了这一过程,将后的消息分组为加密的后握手消息,提高了效率和隐私保护服务器名称指示扩展在共享主机环境中尤TLS
1.3Server HelloSNI为重要,它允许服务器根据客户端请求的主机名提供正确的证书通信流程()密钥交换HTTPS3证书验证预主密钥生成密钥交换会话密钥派生客户端验证服务器证书的有效性,包客户端生成一个随机的预主密钥客户端使用协商的密钥交换方法安全客户端和服务器使用相同的算法,从Pre-括检查签名、有效期、吊销状态和域,这是后续所有密钥地将预主密钥传送给服务器在预主密钥和之前交换的随机数派生多Master SecretRSA名匹配等如果证书验证失败,客户材料的基础生成方式取决于协商的密钥交换中,预主密钥用服务器公钥个会话密钥,包括加密密钥、密MAC端会中止连接并显示警告密钥交换算法加密;在交换中,双方交换钥和初始化向量ECDHE公钥参数,各自计算相同的预主密钥密钥交换是握手的核心步骤,它确保只有通信双方知道会话密钥,即使攻击者截获了所有握手消息在现代部署中,椭圆曲线密钥交换已TLS TLSECDHE Diffie-Hellman成为首选方法,因为它提供前向保密性即使服务器长期私钥被泄露,之前的通信内容仍然安全Forward Secrecy——通信流程()握手结束HTTPS41客户端发送Change CipherSpec客户端发送消息,通知服务器之后的所有消息将使用刚刚协商的密钥和算Change CipherSpec法加密这标志着从明文握手切换到加密通信客户端发送消息Finished客户端发送消息,这是第一条加密的消息,包含握手消息的摘要这允许服务器验证握Finished手没有被篡改,并且双方都使用相同的密钥材料服务器发送Change CipherSpec服务器同样发送消息,表示后续通信将加密在中,此消息已被Change CipherSpec TLS
1.3删除,因为加密状态转换是隐式的服务器发送消息Finished服务器发送自己的消息,客户端验证此消息确保握手的完整性至此,双方已经安全地Finished协商了加密参数并验证了各自的身份成功完成这些步骤后,握手完成,安全的通信通道已建立客户端和服务器都验证了握手消息的完整TLS性,确认了双方都拥有相同的密钥,并且连接没有被中间人篡改简化了此过程,减少了往返次数,提高了性能在中,服务器可以在收到客户端的第一个TLS
1.3TLS
1.3消息后立即回应包含证书和消息的加密响应,实现一次往返时间握手Finished1-RTT通信流程()加密数据传输HTTPS5记录封装与加密TLS应用数据准备请求数据被分割成记录,使用握手HTTP TLS浏览器准备请求,包括方法、路HTTP URL阶段生成的会话密钥加密,并添加消息认证码径、头信息和可能的请求体2确保完整性MAC服务器响应加密数据传输服务器处理请求后,将响应通过相同的加密的记录通过连接传输给服务器,HTTP TLSTCP过程加密,发送给客户端,客户端解密并处理服务器使用相同的会话密钥解密,验证,MAC响应数据并处理请求HTTP在这个阶段,所有的通信都被层透明地加密保护记录协议确保每条消息都被加密、校验,并防止重放攻击记录头部包含类型、版本和HTTPTLSTLS长度信息,但这些元数据不会泄露实际请求的内容HTTP通信双方可以持续交换加密数据,直到一方关闭连接或发生错误如果检测到任何完整性验证失败,连接会立即中断,防止处理可能被篡改的数据TLS大多数现代网站使用或协议,这些协议通过多路复用、头部压缩等技术,进一步优化了加密连接上的性能HTTP/2HTTP/3握手全过程时序图客户端1发送ClientHello•包含支持的TLS版本服务器2•加密套件列表发送ServerHello•Client Random•选择TLS版本•选择加密套件客户端3•Server Random验证证书•发送服务器证书•检查证书链•验证域名匹配•发送Client KeyExchange4服务器•发送Change CipherSpec完成握手•发送Finished消息加密•处理密钥交换•计算会话密钥双向加密通信5•发送Change CipherSpec握手完成后,开始交换加密的应用数据•发送Finished消息加密这个时序图展示了TLS
1.2完整握手过程中的关键步骤和消息交换握手总共需要两个完整的往返2-RTT才能完成,之后才能开始发送实际应用数据会话恢复与重协商HTTPS完整握手恢复握手会话恢复技术详解vs完整握手需要多次网络往返,包含复杂的证书验证和密钥交会话恢复服务器在第一次握手时分配唯一会话,并将会话TLS IDID换步骤,资源开销较大相比之下,会话恢复仅需一次往返就能参数存储在服务器端客户端重连时提供此,服务器找到对应ID重新建立安全连接,省略了证书验证和完整密钥交换,大幅降低会话并快速恢复缺点是服务器需要为每个客户端存储状态,在了连接建立的延迟大规模部署中可能成为内存瓶颈性能对比数据显示,在典型网络条件下,完整握手通常需要会话票据服务器将会话参数加密后发送给客250-Session Ticket毫秒,而会话恢复仅需毫秒,性能提升约为倍户端保存,客户端重连时返回此票据服务器只需解密票据即可50050-1004-5对于移动网络,改善更为显著,可达倍以上恢复会话状态,无需维护客户端状态表这解决了会话在分布7ID式环境中的同步问题,但需要安全管理票据加密密钥引入了改进的机制,整合并增强了前两种方法它还支持模式,允许客户端在恢复会话时立即发TLS
1.3PSKPre-Shared Key0-RTT送应用数据,完全消除首次请求的往返延迟然而,模式需要小心使用,因为它可能面临重放攻击风险,不适合所有类型的请0-RTT求部署实践HTTPS证书选择与申请服务器配置根据网站需求选择合适的证书类型单域名证书在服务器上正确配置需要安装证书文Web HTTPS仅覆盖一个域名、通配符证书覆盖件、私钥和中间证书,并进行安全参数调优子域名或多域名证书证*.example.comSAN书,覆盖多个不同域名配置示例设置证书路径、启用•Nginx TLS商业证书、等提供、配置强加密套件•CADigiCertComodo
1.2/
1.3不同验证级别的付费证书配置示例启用模块、指定证•Apache SSL免费证书提供天有效期书文件、配置安全头部•LetsEncrypt90的免费证书,支持自动更新负载均衡配置在反向代理层终止或配•SSL证书申请流程生成证书签名请求置直通•CSR→SSL提交给完成身份验证获取签发证书CA→→安全性优化配置参数以提供最佳安全性和兼容性平衡TLS禁用旧版和不安全密码套件•TLS
1.0/
1.1配置安全头部、•HSTS Content-Security-Policy启用减少证书验证延迟•OCSP Stapling实施证书透明度以增强信任可见性•CT网站全站迁移步骤HTTPS准备与规划进行完整的网站内容审计,识别所有资源,包括外部、、图片、等评估依赖的第三方服务是否支持,并创建详细的HTTP JavaScriptCSS iframeHTTPS迁移计划和回退策略考虑分阶段迁移以降低风险证书获取与服务器配置为所有需要的域名获取证书,在服务器上安装证书和配置设置适当的参数,优先选择强加密套件并禁用旧版本协议在正式切SSL WebHTTPS TLS换前,使用等工具测试配置的安全性和兼容性SSL LabsHTTPS解决混合内容问题修复所有混合内容问题,确保所有资源都通过加载更新网站代码中的硬编码链接为或使用协议相对HTTPSHTTPHTTPSURL//example.com使用头部帮助检测和阻止混合内容,利用开发者工具和自动化工具扫描混合内容Content-Security-Policy实施重定向与HSTS配置永久重定向,将所有流量自动转向版本通过服务器配置实现,确保重定向保留原始路径和查询参数一旦确认301HTTPHTTPSWeb URL迁移成功,启用头部,告知浏览器始终使用连接网站,提升安全性并防止剥离攻击HSTS HTTPS SSL更新引用与维护更新所有外部引用,包括搜索引擎登记、社交媒体资料、广告链接等在等工具中更新首选域设置建立监控系统,跟踪Google SearchConsole证书有效期、重定向正确性和剩余的混合内容问题,确保长期维护的安全性HTTPS客户端验证逻辑HTTPS证书验证错误证书详情查看混合内容警告当浏览器无法验证连接的安全性时,会用户可以通过点击浏览器地址栏的锁形图标查当页面加载资源(如图片、脚本HTTPS HTTPSHTTP显示警告页面常见原因包括证书过期、自签看证书详情这些信息包括证书颁发者、有效或样式表)时,浏览器会显示混合内容警告名证书、域名不匹配或不受信任的证书颁发机期、加密算法以及证书链等技术细节高级用现代浏览器默认阻止混合活动内容(如脚构这些警告提醒用户潜在的安全风险,通常户可以通过这些信息判断连接的安全性和可信本),但可能允许加载混合显示内容(如图提供高级选项允许用户继续访问,但不推荐度,特别是在遇到警告时进行进一步调查片)开发者工具控制台会记录这些警告,帮普通用户这样做助开发者识别和修复混合内容问题不同浏览器处理证书错误和安全警告的方式略有不同和倾向于显示引人注目的全页警告,而某些移动浏览器可能使用更简单的通Chrome Firefox知企业环境中,管理员可能配置组策略或证书信任存储,更改默认的验证行为或添加内部证书到受信任列表CA优化建议HTTPS启用装订会话恢复优化HTTP/2OCSP与配合使用,通过传统验证需要客户端额外发正确配置会话缓存和票据机制,减HTTP/2HTTPS OCSP多路复用、头部压缩、服务器推送送请求验证证书状态,增加延迟少握手次数设置合理的会话超时等特性显著提升性能单个连启用后,服务器预时间如小时,平衡安全性和性TCP OCSPStapling2接可同时处理多个请求,减少握手先获取响应并在握手中能在分布式环境中,确保会话票OCSPTLS开销,特别适合加载大量小文件的直接提供给客户端,减少验证时据密钥在服务器间安全同步,以支网站多数现代服务器支持间,提高隐私保护在、持负载均衡对于频繁访问的网Web Nginx,只需在配置中启等服务器中只需几行配置站,这显著提升重复访问速度HTTP/2HTTPS Apache用即可启用硬件加速TLS利用内置的等指令集CPU AES-NI加速加密操作高流量网站可考虑专用加密加速卡或负载均衡设备处理计算云环境中选择支持硬TLS件加速的实例类型确保服务Web器和等库配置为使用这OpenSSL些硬件加速功能安全威胁分析HTTPS剥离攻击降级攻击SSL攻击者拦截客户端的初始请求,阻止攻击者强制客户端和服务器使用较旧、较弱HTTP网站重定向到版本,使整个会话保持的版本或不安全的加密套件,创造可被HTTPS TLS在不安全的状态用户可能没有注意破解的弱安全通道如攻击利用HTTP POODLE到连接未加密,因为仍以预期方式显的漏洞,通过降级连接实施攻击URL SSL
3.0示,只是没有锁形图标防御措施禁用旧版和不•TLS
1.0/
1.1防御措施部署(严格传输安全的密码套件•HSTS HTTP安全),强制浏览器始终通过连HTTPS配置防止协议•TLS_FALLBACK_SCSV接降级预加载将域名添加到浏览器•HSTS预加载列表,防止首次访问被攻HSTS击中间人证书攻击攻击者使用不当签发或伪造的证书拦截连接这可能发生在受感染的设备上安装了恶意HTTPS根证书,或机构被攻破导致错误签发证书的情况CA防御措施实施证书透明度监控可疑证书签发•CT启用公钥固定或期望头部,增加额外验证•HPKP CT防护和最佳实践HTTPS强密码套件配置优先使用现代、安全的加密算法,如AES-256-GCM和ChaCha20-Poly1305禁用所有已知不安全的加密套件,包括RC
4、DES、3DES和MD5仅支持强密钥交换机制,优先使用提供前向保密的ECDHE和DHE定期检查配置,跟进最新安全建议证书管理流程建立完善的证书生命周期管理流程,包括定期更新、验证和监控设置自动提醒系统,在证书到期前30天发出警报使用至少2048位RSA密钥或256位ECC密钥,确保足够的密码强度考虑使用证书管理平台集中管理大量证书安全响应头部配置关键的安全HTTP头部,增强HTTPS的保护效果启用HSTS,强制浏览器使用HTTPS连接配置Content-Security-Policy限制资源加载来源,防止XSS攻击添加X-Frame-Options防止点击劫持,X-Content-Type-Options阻止MIME类型嗅探持续监控与测试定期使用SSL Labs等工具测试HTTPS配置,发现潜在问题实施TLS日志监控,检测异常连接模式和潜在攻击建立漏洞通告跟踪系统,及时应对新发现的TLS漏洞开展定期渗透测试,验证HTTPS实现的安全性总结与问答的核心价值HTTPS保障网络通信安全的基础设施三大安全保障2加密通信、数据完整性、身份认证实现机制协议、证书体系、加密算法TLS最佳实践4强配置、定期更新、持续监控已成为现代互联网的基础安全层,通过加密机制保护用户数据免受窃听和篡改它不仅是金融和电子商务网站的必要保障,也已成为所有网站的基本要HTTPS求随着计算能力的提升和新攻击方式的出现,实践也在不断发展,对加密算法的选择和配置参数需要持续更新HTTPS本课程涵盖了的基本原理、技术细节和实施最佳实践我们了解了从早期到现代的演进,以及证书体系如何建立网络信任通过正确实施这HTTPSSSLTLS
1.3些知识,开发者和管理员可以为用户提供安全可靠的网络服务,保护敏感数据免受各种网络威胁。
个人认证
优秀文档
获得点赞 0