当前位置: 首页 > article >正文

别再死记硬背了!用HTTPS握手过程,一次搞懂AES和RSA是怎么分工的

HTTPS握手过程AES与RSA如何协同守护你的数据安全每次在浏览器地址栏看到那个绿色小锁图标时你是否好奇过背后的技术魔法让我们跟随一次真实的HTTPS请求看看加密算法们如何在幕后默契配合。这不是枯燥的理论课而是一次技术探秘之旅——我们会像拆解时钟齿轮那样逐帧观察TLS握手过程中AES和RSA的精准协作。1. 安全通信的基石为什么需要双重加密现代网络通信面临三大核心挑战窃听风险数据被偷看、篡改风险数据被修改和冒充风险伪装成合法服务器。单一加密方式无法同时解决所有问题就像不能用同一把钥匙既锁门又启动汽车。对称加密的困境AES算法虽然加密效率高但要求通信双方预先共享密钥。想象你要在素未谋面的电商网站购物如何安全地把密钥传给对方通过明信片邮寄密钥显然不安全。非对称加密的代价RSA算法允许用公钥加密数据只有私钥持有者能解密。虽然解决了密钥分发问题但计算开销是AES的数百倍。加密一个简单的登录请求可能就需要几百毫秒——用户早就关掉页面了。实际测量数据在i7-1185G7处理器上AES-256加密速度可达1.5GB/s而RSA-2048加密仅能处理0.5MB/s混合加密系统正是为解决这些矛盾而生。下面这个典型性能对比揭示了为什么需要组合方案加密类型密钥交换安全性数据加密速度典型应用场景RSA★★★★★★★☆☆☆证书验证、密钥交换AES★★☆☆☆★★★★★业务数据加密ECDHE★★★★★★★★☆☆前向安全的密钥交换2. TLS握手加密算法的交响乐章2.1 第一乐章安全参数的协商ClientHello/ServerHello当你在浏览器输入https://example.com时一场精密的加密舞蹈随即开始。客户端首先发送ClientHello消息就像递出一张能力清单# Wireshark抓包示例片段 TLSv1.3 Record Layer: Handshake Protocol: Client Hello Cipher Suites (18 suites) TLS_AES_256_GCM_SHA384 TLS_CHACHA20_POLY1305_SHA256 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 Extension: supported_groups (8 groups) x25519 secp256r1服务器从列表中选择双方都支持的最强组合比如TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384。这个看似复杂的字符串实际包含重要信息ECDHE_RSA密钥交换算法AES_256_GCM后续数据传输使用的对称加密算法SHA384用于完整校验的哈希算法2.2 第二乐章身份认证与密钥交换服务器接下来发送包含其RSA公钥的证书链。浏览器会进行严格的验证检查证书是否由受信任CA签发确保证书在有效期内验证域名匹配情况检查证书吊销状态OCSP/CRL通过验证后客户端生成一个预备主密钥(premaster secret)用服务器的RSA公钥加密后传输。这个32字节的随机数将成为后续所有加密操作的种子。安全提示现代TLS 1.3已不再使用静态RSA密钥交换转而采用前向安全的ECDHE方案。即使服务器私钥日后泄露也无法解密历史通信。2.3 第三乐章会话密钥的生成此时双方通过以下步骤派生出实际用于加密的会话密钥组合预备主密钥和双方随机数通过PRF伪随机函数生成主密钥派生四个关键密钥客户端写AES密钥服务器写AES密钥客户端写MAC密钥服务器写MAC密钥# 简化的密钥派生过程伪代码 def derive_keys(pre_master_secret, client_random, server_random): master_secret PRF(pre_master_secret, master secret, client_random server_random) key_block PRF(master_secret, key expansion, server_random client_random) client_write_key key_block[0:32] server_write_key key_block[32:64] client_MAC_key key_block[64:96] server_MAC_key key_block[96:128] return (client_write_key, server_write_key, client_MAC_key, server_MAC_key)3. 加密实战AES与RSA的黄金组合3.1 数据传输阶段的高效保护握手完成后所有应用数据都使用AES加密。以AES-GCM模式为例它不仅提供保密性还通过附加的认证标签保证数据完整性加密过程生成随机初始化向量(IV)AES算法加密明文数据GHASH函数计算认证标签输出密文标签组合解密过程分离密文和认证标签验证标签匹配性防篡改AES算法解密密文# OpenSSL演示AES-GCM加密 $ echo 敏感数据 | openssl enc -aes-256-gcm -K $(openssl rand -hex 32) -iv $(openssl rand -hex 12) -a3.2 为什么不是全程RSA加密通过一个简单的性能实验就能明白原因。我们使用OpenSSL测试加密1MB数据的耗时算法加密时间(ms)解密时间(ms)内存占用(MB)RSA-20481250652.1AES-256320.5ChaCha20220.4当处理视频流等大数据量时纯RSA加密会导致无法接受的延迟。而AES的硬件加速如Intel AES-NI指令集可以实现接近内存带宽的加密速度。4. 现代TLS的演进与最佳实践4.1 前向安全的重要性传统的RSA密钥交换存在严重缺陷如果攻击者记录了加密流量之后又获取了服务器私钥就能解密所有历史通信。ECDHE椭圆曲线迪菲-赫尔曼方案解决了这个问题每次会话生成临时ECDHE密钥对即使长期私钥泄露历史会话仍安全提供PFSPerfect Forward Secrecy特性4.2 算法选择的艺术现代服务器应优先配置以下加密套件TLS 1.3推荐组合TLS_AES_256_GCM_SHA384TLS_CHACHA20_POLY1305_SHA256TLS_AES_128_GCM_SHA256需要避免的过时算法RSA密钥交换静态RSACBC模式加密易受BEAST攻击SHA1哈希已证明不安全4.3 性能优化技巧启用TLS 1.3减少握手延迟1-RTT甚至0-RTT使用OCSP Stapling避免证书状态查询延迟配置会话恢复机制Session ID/Tickets为ECDSA证书启用EdDSA算法如Ed25519在Nginx中的优化配置示例ssl_protocols TLSv1.3 TLSv1.2; ssl_ciphers TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256; ssl_ecdh_curve X25519:secp521r1:secp384r1; ssl_prefer_server_ciphers on; ssl_session_timeout 1d; ssl_session_tickets on;理解这些加密算法的协作机制不仅能帮助排查HTTPS相关问题更能让你在架构设计时做出明智的加密策略选择。当你在Chrome开发者工具中看到那个绿色锁图标时现在你知道背后是AES和RSA的精妙双人舞。

相关文章:

别再死记硬背了!用HTTPS握手过程,一次搞懂AES和RSA是怎么分工的

HTTPS握手过程:AES与RSA如何协同守护你的数据安全 每次在浏览器地址栏看到那个绿色小锁图标时,你是否好奇过背后的技术魔法?让我们跟随一次真实的HTTPS请求,看看加密算法们如何在幕后默契配合。这不是枯燥的理论课,而是…...

实时手机检测-通用模型部署案例:中小企业视觉质检系统低成本集成方案

实时手机检测-通用模型部署案例:中小企业视觉质检系统低成本集成方案 1. 引言 想象一下,你是一家电子产品制造企业的质检主管。每天,成千上万的手机从生产线上下来,每一台都需要人工检查外观是否有划痕、屏幕是否有亮点、边框是…...

嵌入式开发常识:电阻触摸屏与电容触摸屏的核心区别

摘要在嵌入式GUI开发中,触摸屏是人机交互的核心部件。电阻屏和电容屏各有优劣,选错方案可能导致项目失败。本文从工作原理、物理结构、用户体验、成本等维度深度剖析两者的区别,帮助开发者做出正确选择。一、引言做嵌入式开发的朋友一定遇到过…...

STM32实战:基于双输入捕获与DMA的高精度脉冲测量方案

1. 高精度脉冲测量的核心挑战 在电机控制、数字信号分析等实时性要求高的场景中,微秒级脉冲测量精度直接影响系统性能。传统的中断方式存在两个致命缺陷:首先是中断响应延迟,从信号触发到CPU响应通常需要几十个时钟周期;其次是中断…...

CUDA 11.0+环境下的neural_renderer_pytorch编译实战:从源码到避坑指南

1. 环境准备与源码获取 在RTX 3090这类新显卡上编译neural_renderer_pytorch时,最头疼的就是CUDA版本和显卡算力的匹配问题。我最近在三个不同配置的服务器上都部署过这个库,每次都会遇到些新状况。先说说最基本的准备工作: 硬件环境确认特别…...

微信小程序集成企业微信客服的完整开发指南

1. 为什么需要在小程序集成企业微信客服 每次看到用户在小程序里转来转去找不到客服入口,我都替他们着急。去年我们团队接手一个电商小程序项目时,就遇到过这样的尴尬——30%的用户投诉都集中在"找不到人咨询"这个问题上。后来接入企业微信客服…...

多模态对话系统从Demo到DAU破千万的4个生死关卡,阿里/微软/华为联合实验室内部复盘报告首次公开

第一章:多模态对话系统从Demo到DAU破千万的演进全景 2026奇点智能技术大会(https://ml-summit.org) 从实验室中首个支持语音图像输入的原型Demo,到支撑日活跃用户超1024万的工业级多模态对话平台,这一演进并非线性叠加,而是由数据…...

Windows 12网页版终极指南:如何在浏览器中免费体验下一代操作系统

Windows 12网页版终极指南:如何在浏览器中免费体验下一代操作系统 【免费下载链接】win12 Windows 12 网页版,在线体验 点击下面的链接在线体验 项目地址: https://gitcode.com/gh_mirrors/wi/win12 你是否想过在浏览器中就能体验完整的Windows操…...

多模态大模型训练数据构建实战手册:从零到亿级高质量样本的5步标准化流水线

第一章:多模态大模型训练数据构建策略概览 2026奇点智能技术大会(https://ml-summit.org) 多模态大模型的性能上限高度依赖于训练数据的质量、多样性与对齐精度。不同于单模态模型,多模态数据需在图像、文本、音频、视频乃至传感器信号等异构模态间建立…...

LPDDR5 Training:从ZQ校准到WCK-DQ对齐的完整流程解析

1. LPDDR5 Training概述:为什么需要完整训练流程? 刚接触LPDDR5的朋友可能会有疑问:为什么内存控制器上电后不能直接工作,非要搞这么复杂的训练流程?这就像新买的跑车需要磨合期一样,LPDDR5在高速运行前必须…...

15分钟掌握TEKLauncher:方舟生存进化MOD管理与服务器部署终极指南

15分钟掌握TEKLauncher:方舟生存进化MOD管理与服务器部署终极指南 【免费下载链接】TEKLauncher Launcher for ARK: Survival Evolved 项目地址: https://gitcode.com/gh_mirrors/te/TEKLauncher TEKLauncher是一款专为《方舟:生存进化》设计的智…...

VSCode + 仓颉语言实战:一个统计正整数数字频次的小工具开发全记录

VSCode 仓颉语言实战:一个统计正整数数字频次的小工具开发全记录 最近在技术社区看到不少开发者对新兴编程语言仓颉(Cangjie)产生兴趣,但苦于缺乏实践案例。恰好有位粉丝提出想用仓颉语言实现一个统计正整数中各数字出现频次的小…...

【STM32H743IIT6】端口复用分配图深度解读 —— 从手册到实战配置

1. STM32H743IIT6端口复用功能入门指南 第一次拿到STM32H743IIT6芯片时,我对着密密麻麻的引脚图发了好一会儿呆。这个208脚的大家伙,每个引脚竟然都有多达16种复用功能!就像瑞士军刀上的多功能工具一样,同一个物理引脚可以通过配置…...

SP4574锂电池充放电SOC

概述 SP4574 是一款集成开关充电和同步升压功能的单芯片解决方案,内部集成了同步开关充电模块、同步升压放电管理模块、电量检测与 LED 指示模块、保护模块。 SP4574 内置充电与放电功率 MOS,充电电流为 0.42A,同步升压输出电流为 0.8A。 SP4574 采用专利…...

华为昇腾Atlas 200I DK A2实战:从开箱到运行首个AI应用

1. 开箱与硬件准备 第一次拿到华为昇腾Atlas 200I DK A2开发板时,我差点被它小巧的尺寸骗了——这个巴掌大的盒子藏着惊人的AI算力。开箱后你会看到以下核心组件: 开发板本体(约信用卡大小)电源适配器(12V/2A&#xff…...

Kandinsky-5.0-I2V-Lite-5s开源镜像教程:supervisor日志定位与故障排查方法

Kandinsky-5.0-I2V-Lite-5s开源镜像教程:supervisor日志定位与故障排查方法 1. 环境准备与快速部署 Kandinsky-5.0-I2V-Lite-5s是一款轻量级图生视频模型,只需上传一张首帧图片并补充运动或镜头描述,就能生成约5秒、24fps的短视频。本次镜像…...

Battery Toolkit 终极指南:如何让 Apple Silicon Mac 电池寿命延长 50%

Battery Toolkit 终极指南:如何让 Apple Silicon Mac 电池寿命延长 50% 【免费下载链接】Battery-Toolkit Control the platform power state of your Apple Silicon Mac. 项目地址: https://gitcode.com/gh_mirrors/ba/Battery-Toolkit Battery Toolkit 是一…...

K210开发避坑指南:搞定RGB呼吸灯、按键消抖和LCD显示的常见问题

K210开发实战避坑手册:从RGB呼吸灯到LCD显示的深度优化 当你第一次看到K210开发板上的RGB灯流畅地呼吸变换时,那种成就感无与伦比。但现实往往没那么美好——你可能遇到过PWM频率设置不当导致的刺眼闪烁,或是按键读取时莫名其妙的误触发。这些…...

Kandinsky-5.0-I2V-Lite-5s安全与权限实践:处理403 Forbidden等API访问问题

Kandinsky-5.0-I2V-Lite-5s安全与权限实践:处理403 Forbidden等API访问问题 1. 为什么会出现403 Forbidden错误 当你兴冲冲地准备调用Kandinsky-5.0-I2V-Lite-5s的API时,突然收到一个冷冰冰的403 Forbidden响应,这种体验确实让人沮丧。但别…...

使用python 一键生成,PGSQL的数据字典

直接上代码#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ PostgreSQL 数据字典生成器 (Python 3.11) 生成完全离线的 HTML 文件,可直接双击在浏览器中打开。 """import psycopg2 import datetime import os import sys from t…...

实战指南:轻松掌握OpenHTMLtoPDF的Java PDF生成利器

实战指南:轻松掌握OpenHTMLtoPDF的Java PDF生成利器 【免费下载链接】openhtmltopdf An HTML to PDF library for the JVM. Based on Flying Saucer and Apache PDF-BOX 2. With SVG image support. Now also with accessible PDF support (WCAG, Section 508, PDF/…...

AI手势识别入门必看:MediaPipe彩虹骨骼版部署与使用常见问题全解答

AI手势识别入门必看:MediaPipe彩虹骨骼版部署与使用常见问题全解答 1. 快速了解MediaPipe彩虹骨骼版 1.1 什么是MediaPipe Hands模型 MediaPipe Hands是Google开发的一款轻量级手部关键点检测模型,能够在普通CPU上实现实时手势识别。它能够精准定位手…...

告别裸机while(1):用状态机+环形队列重构你的GD32F303按键驱动

告别裸机while(1):用状态机环形队列重构你的GD32F303按键驱动 在嵌入式开发中,按键处理看似简单,却暗藏玄机。许多开发者习惯在while(1)循环中直接轮询GPIO状态,这种"裸奔式"代码在简单场景下或许能勉强工作&#xff0c…...

避开这些坑!芯片验证中stimulus设计的5个常见误区(含testbench优化建议)

避开这些坑!芯片验证中stimulus设计的5个常见误区(含testbench优化建议) 在芯片验证的世界里,stimulus设计就像是给DUT(被测设计)准备的一场精心编排的考试。它不仅需要覆盖所有可能的"考题"&…...

MAI-UI-8B功能测评:视觉理解+动作规划,到底有多好用?

MAI-UI-8B功能测评:视觉理解动作规划,到底有多好用? 1. 重新定义GUI智能体:不只是聊天机器人 MAI-UI-8B的出现彻底改变了我们对AI智能体的认知。与市面上大多数只能进行文字对话的模型不同,它真正实现了"看得见…...

【工业级AIAgent平衡框架】:融合Bandit+RL+因果推断的四层自调节架构(附GitHub开源v2.3内测版)

第一章:AIAgent架构中的探索与利用平衡 2026奇点智能技术大会(https://ml-summit.org) 在自主智能体(AIAgent)的决策闭环中,探索(exploration)与利用(exploitation)并非静态权衡&am…...

VibeVoice镜像使用心得:25种音色实战,找到你的专属语音

VibeVoice镜像使用心得:25种音色实战,找到你的专属语音 1. 为什么你需要关注VibeVoice? 想象一下,你正在制作一个英文教学视频,需要一位发音标准的旁白;或者开发一个多语言客服系统,希望用自然…...

数据库凭证的安全管理

数据库凭证是任何组织中最重要的安全资产之一。当这些凭证落入不法之徒手中时,后果可能极其严重——从数据泄露到监管罚款,乃至声誉受损。掌握如何正确管理、存储和轮换这些凭证,对于维护安全的数据库环境至关重要。 了解密钥管理 密钥管理…...

计算机网络知识应用:优化Qwen-Image-Edit-F2P API的高并发访问架构

计算机网络知识应用:优化Qwen-Image-Edit-F2P API的高并发访问架构 想象一下,你刚部署好一个功能强大的Qwen-Image-Edit-F2P API服务,它能智能地编辑图片,比如换个背景、美化人像。一开始用户不多,一切运行顺畅。但突…...

Shadcn-Vue深度解析:为什么这个开源组件库正在改变Vue开发者的工作方式?

Shadcn-Vue深度解析:为什么这个开源组件库正在改变Vue开发者的工作方式? 【免费下载链接】shadcn-vue Vue port of shadcn-ui 项目地址: https://gitcode.com/gh_mirrors/sh/shadcn-vue 在当今快速发展的前端生态中,Vue开发者面临着组…...