最新要闻
- 世界要闻:李彦宏谈文心一言:市场反馈符合预期 股价波动没必要解释
- 焦点滚动:挺能藏啊!男子电动滑板车藏84个SSD入境被海关查获
- 天天微头条丨卡佩罗:那不勒斯和国米将晋级 迈尼昂和奥纳纳是米兰双雄的关键
- 每日观点:曹姓明星收20万带货3月成交278元 被判退还13.9万:要量力而行
- 13代酷睿躺赢了 4nm锐龙7000跳票:此前规格被砍2刀
- 环球观热点:《流浪地球2》门框机器人科幻十足 设计师详解:还能晾衣服能甩干
- 东北首条海下/跨海地铁!大连地铁5号线正式运营
- 动态焦点:暴雪:《暗黑》系列能成功多亏了韩国玩家热情和爱戴
- 全球观点:朱雀二号遥一运载火箭发射失利:已查明飞行故障 通过归零评审
- 全球热头条丨《雷霆沙赞2》豆瓣开分6.5:加朵女神加分、剧情被批幼稚低级
- 张兰被曝国外欠债9.8亿,海外家庭信托被追债,拼命带货疑为还债
- 肯德基全家桶被曝吃出生的炸鸡!店家回应是锅出现故障
- 世界观速讯丨8万元会成爆款吗?宝骏悦也实车曝光:像吉姆尼、能跑303公里
- 每日热文:印度男子因新娘高三成绩不好要求退婚 还要退5千彩礼:网友看笑
- 热门看点:女生被拍同学勇敢对峙让男子删除 想保护好自己的朋友:网友称赞勇敢
- 1.5mm!iPhone 15 Pro Max将打破最薄边框纪录:CAD外观渲染图曝光 更帅了
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
世界短讯!SSL/TLS协议运行机制的概述
互联网的通信安全,建立在SSL/TLS协议之上。
【资料图】
本文简要介绍SSL/TLS协议的运行机制。文章的重点是设计思想和运行过程,不涉及具体的实现细节。如果想了解这方面的内容,请参阅RFC文档。
一、作用
不使用SSL/TLS的HTTP通信,就是不加密的通信。所有信息明文传播,带来了三大风险。
窃听风险
(eavesdropping):第三方可以获知通信内容。篡改风险
(tampering):第三方可以修改通信内容。冒充风险
(pretending):第三方可以冒充他人身份参与通信。
SSL/TLS协议是为了解决这三大风险而设计的,希望达到:
- 所有信息都是
加密传播
,第三方无法窃听。 - 具有
校验机制
,一旦被篡改,通信双方会立刻发现。 - 配备
身份证书
,防止身份被冒充。
互联网是开放环境,通信双方都是未知身份,这为协议的设计带来了很大的难度。而且,协议还必须能够经受所有匪夷所思的攻击,这使得SSL/TLS协议变得异常复杂。
二、历史
互联网加密通信协议的历史,几乎与互联网一样长。
1994年,NetScape公司设计了SSL协议(Secure Sockets Layer)的1.0版,但是未发布。1995年,NetScape公司发布SSL 2.0版,很快发现有严重漏洞。1996年,SSL 3.0版问世,得到大规模应用。1999年,互联网标准化组织ISOC接替NetScape公司,发布了SSL的升级版TLS 1.0版。2006年和2008年,TLS进行了两次升级,分别为TLS 1.1版和TLS 1.2版。最新的变动是2011年TLS 1.2的修订版。
目前,应用最广泛的是TLS 1.0,接下来是SSL 3.0。但是,主流浏览器都已经实现了TLS 1.2的支持。
TLS 1.0通常被标示为SSL 3.1,TLS 1.1为SSL 3.2,TLS 1.2为SSL 3.3。
三、基本的运行过程
SSL/TLS协议的基本思路是采用公钥加密法,也就是说,客户端先向服务器端索要公钥,然后用公钥加密信息,服务器收到密文后,用自己的私钥解密。
但是,这里有两个问题。
- 如何保证公钥不被篡改?
解决方法:将公钥放在数字证书中。只要证书是可信的,公钥就是可信的。
- 公钥加密计算量太大,如何减少耗用的时间?
解决方法:每一次对话(session),客户端和服务器端都生成一个"对话密钥"(session key),用它来加密信息。由于"对话密钥"是对称加密,所以运算速度非常快,而服务器公钥只用于加密"对话密钥"本身,这样就减少了加密运算的消耗时间。
因此,SSL/TLS协议的基本过程是这样的:
客户端向服务器端索要并验证公钥。
双方协商生成"对话密钥"。
双方采用"对话密钥"进行加密通信。
上面过程的前两步,又称为"握手阶段"(handshake)。
四、握手阶段的详细过程
"握手阶段"涉及四次通信,我们一个个来看。需要注意的是,"握手阶段"的所有通信都是明文的。
4.1 客户端发出请求(ClientHello)
首先,客户端(通常是浏览器)先向服务器发出加密通信的请求,这被叫做ClientHello请求。
在这一步,客户端主要向服务器提供以下信息。
支持的协议版本,比如TLS 1.0版。
一个客户端生成的随机数,稍后用于生成"对话密钥"。
支持的加密方法,比如RSA公钥加密。
支持的压缩方法。
这里需要注意的是,客户端发送的信息之中不包括服务器的域名。也就是说,理论上服务器只能包含一个网站,否则会分不清应该向客户端提供哪一个网站的数字证书。这就是为什么通常一台服务器只能有一张数字证书的原因。
对于虚拟主机的用户来说,这当然很不方便。2006年,TLS协议加入了一个Server Name Indication扩展,允许客户端向服务器提供它所请求的域名。
4.2 服务器回应(SeverHello)
服务器收到客户端请求后,向客户端发出回应,这叫做SeverHello。服务器的回应包含以下内容。
确认使用的加密通信协议版本,比如TLS 1.0版本。如果浏览器与服务器支持的版本不一致,服务器关闭加密通信。
一个服务器生成的随机数,稍后用于生成"对话密钥"。
确认使用的加密方法,比如RSA公钥加密。
服务器证书。
除了上面这些信息,如果服务器需要确认客户端的身份,就会再包含一项请求,要求客户端提供"客户端证书"。比如,金融机构往往只允许认证客户连入自己的网络,就会向正式客户提供USB密钥,里面就包含了一张客户端证书。
4.3 客户端回应
客户端收到服务器回应以后,首先验证服务器证书。如果证书不是可信机构颁布、或者证书中的域名与实际域名不一致、或者证书已经过期,就会向访问者显示一个警告,由其选择是否还要继续通信。
如果证书没有问题,客户端就会从证书中取出服务器的公钥。然后,向服务器发送下面三项信息。
一个随机数。该随机数用服务器公钥加密,防止被窃听。
编码改变通知,表示随后的信息都将用双方商定的加密方法和密钥发送。
客户端握手结束通知,表示客户端的握手阶段已经结束。这一项同时也是前面发送的所有内容的hash值,用来供服务器校验。
上面第一项的随机数,是整个握手阶段出现的第三个随机数,又称"pre-master key"。有了它以后,客户端和服务器就同时有了三个随机数,接着双方就用事先商定的加密方法,各自生成本次会话所用的同一把"会话密钥"。
至于为什么一定要用三个随机数,来生成"会话密钥",dog250解释得很好:
"不管是客户端还是服务器,都需要随机数,这样生成的密钥才不会每次都一样。由于SSL协议中证书是静态的,因此十分有必要引入一种随机因素来保证协商出来的密钥的随机性。
对于RSA密钥交换算法来说,pre-master-key本身就是一个随机数,再加上hello消息中的随机,三个随机数通过一个密钥导出器最终导出一个对称密钥。
pre master的存在在于SSL协议不信任每个主机都能产生完全随机的随机数,如果随机数不随机,那么pre master secret就有可能被猜出来,那么仅适用pre master secret作为密钥就不合适了,因此必须引入新的随机因素,那么客户端和服务器加上pre master secret三个随机数一同生成的密钥就不容易被猜出了,一个伪随机可能完全不随机,可是是三个伪随机就十分接近随机了,每增加一个自由度,随机性增加的可不是一。"
此外,如果前一步,服务器要求客户端证书,客户端会在这一步发送证书及相关信息。
4.4 服务器的最后回应
服务器收到客户端的第三个随机数pre-master key之后,计算生成本次会话所用的"会话密钥"。然后,向客户端最后发送下面信息。
编码改变通知,表示随后的信息都将用双方商定的加密方法和密钥发送。
服务器握手结束通知,表示服务器的握手阶段已经结束。这一项同时也是前面发送的所有内容的hash值,用来供客户端校验。
至此,整个握手阶段全部结束。接下来,客户端与服务器进入加密通信,就完全是使用普通的HTTP协议,只不过用"会话密钥"加密内容。
五、参考链接
- MicroSoft TechNet, SSL/TLS in Detail
- Jeff Moser, The First Few Milliseconds of an HTTPS Connection
- Wikipedia, Transport Layer Security
- StackExchange, How does SSL work?
关键词:
-
最新资讯:重学c#系列—— explicit、implicit与operator[三十四]
前言我们都知道operator可以对我们的操作符进行重写,那么explicit和implicit就是对转换的重写。正文exp...
来源: 世界短讯!SSL/TLS协议运行机制的概述
最新资讯:重学c#系列—— explicit、implicit与operator[三十四]
世界要闻:李彦宏谈文心一言:市场反馈符合预期 股价波动没必要解释
焦点滚动:挺能藏啊!男子电动滑板车藏84个SSD入境被海关查获
【天天快播报】webpack原理(2):ES6 module在Webpack中如何Tree-shaking构建
CTF show 信息收集篇
Quicker 快速开发,控制脚本关闭(示例,鼠标连点器)
天天微头条丨卡佩罗:那不勒斯和国米将晋级 迈尼昂和奥纳纳是米兰双雄的关键
每日观点:曹姓明星收20万带货3月成交278元 被判退还13.9万:要量力而行
13代酷睿躺赢了 4nm锐龙7000跳票:此前规格被砍2刀
已知球面经纬度求方位角和反方位角(awk一行代码实现)
环球观热点:《流浪地球2》门框机器人科幻十足 设计师详解:还能晾衣服能甩干
东北首条海下/跨海地铁!大连地铁5号线正式运营
世界热讯:Linux学习笔记
报道:插件化架构设计(2):插件化从设计到实践该考量的问题汇总
【天天新要闻】Vins 前端中高效的去畸变的方式解析
动态焦点:暴雪:《暗黑》系列能成功多亏了韩国玩家热情和爱戴
全球观点:朱雀二号遥一运载火箭发射失利:已查明飞行故障 通过归零评审
全球热头条丨《雷霆沙赞2》豆瓣开分6.5:加朵女神加分、剧情被批幼稚低级
【全球独家】万字血书Vue—Vue的核心概念
张兰被曝国外欠债9.8亿,海外家庭信托被追债,拼命带货疑为还债
Ocelot使用与设置路由Routing
环球速递!arthas排查线上问题真是太好用了!
肯德基全家桶被曝吃出生的炸鸡!店家回应是锅出现故障
世界快播:C++ class struct
环球视点!Windows OpenGL ES 图像 GPUImageLookupFilter
世界观速讯丨8万元会成爆款吗?宝骏悦也实车曝光:像吉姆尼、能跑303公里
每日热文:印度男子因新娘高三成绩不好要求退婚 还要退5千彩礼:网友看笑
世界观焦点:CSS学习笔记
热门看点:女生被拍同学勇敢对峙让男子删除 想保护好自己的朋友:网友称赞勇敢
1.5mm!iPhone 15 Pro Max将打破最薄边框纪录:CAD外观渲染图曝光 更帅了
全球微头条丨没有科技与狠活 :依能天然苏打水2.3元发车 无糖无气0卡
03月18日09时福建漳州疫情数据 阳了以后为什么会腰疼?应该怎么办?
当前要闻:为什么文件删除了但磁盘空间没有释放?
微博图床被废,自己动手丰衣足食。
【聚看点】Source Generator初探
4、AOP
天天亮点!汽车降价潮蔓延!成都豪撒1亿购车补贴 汽车流通协会称武汉汽车降价不公平
【天天热闻】俞敏洪称下辈子宁愿当没钱的流浪汉:自己周围的企业家都在没日没夜的干活
比亚迪出海再下一城!乌兹比克斯坦三车齐发:宋PLUS 22万起售
世界聚焦:调查显示民众预期英国央行将继续加息
【全球速看料】差距有多大?一图看懂蔚来、小鹏、理想汽车2022年第四季度财报:老大变了
每日速读!水晶球档杆绝无仅有!韩系豪华电动车捷尼赛思GV60上市:28.58万起
世界速讯:你对Linux窗口管理程序Tmux了解吗
【全球聚看点】还买什么汉兰达!全新大七座SUV福特锐界L开售:22.98万历史新低
【世界速看料】超市6500元招聘引学生排队投简历 负责人:已收到五十多份
世界看点:南宁市2023年事业单位统一考试简章发布 337个岗位共招1764人
【当前独家】读Java性能权威指南(第2版)笔记20_垃圾回收G
何小鹏:王凤英一周工作七天、让大家很卷
何小鹏谈竞争对手降价:油车一定会反击、小鹏将降低25%生产成本
springboot跨域问题解决方案
天天亮点!听闻索尼PS5 Pro主机明年发售后:老玩家们集体不干了
环球通讯!日本女大胃王菅原初代患肠癌病逝:曾10分钟吞399碗荞麦面
全球热点评!美国一核电站承认150万升核污染水泄漏:已隐瞒数月
导演郭帆都看不下去!众筹1亿的《流浪地球2》周边 为啥要偷工减料?
说句话就能做表格、PPT!微软把GPT-4塞进办公套件 我慌了
每日热门:喉结左侧有个硬疙瘩_左侧睾丸里有个小疙瘩是什么
AIGC的下一站是什么?
速读:vue2前端导出带背景色表格 xlsx xlsx-style
环球新资讯:Attention与SelfAttention
五角大楼官员表示:太阳系中可能存在外星母舰探测地球
环球消息!每日机构分析:3月17日
fiddler:The system proxy was changed.Click to reenable capturing
iPhone 15 Pro Max屏幕边框窄爆:将打破小米13纪录
99元 联想YOGA新款M5无线鼠标上架:鹅卵石设计
张裕葡小萄赤霞珠甜红葡萄酒2支到手39.9元:酒香浓郁
世界热讯:手机百度文库的下载券怎么用啊 为什么(百度文库不能用下载券)
网红店半天妖烤鱼被曝垃圾桶捞回食材上桌!合肥市监局:全市门店停业
天天微头条丨赛博2077支持DLSS3 iGame RTX 40显卡实战:性能2倍提升
河南三月飞雪 突降大雪竟与人工增雨有关
中金所就30年期国债期货合约征求意见
世界观速讯丨铭瑄发布旗舰级MGG RTX 4080、4070 Ti:丧心病狂5风扇、9热管
【焦点热闻】AMD份额涨不动了 专家称Intel的麻烦已结束:CPU竞争力更强
每日视点!山东一公司疑设卑劣人员从业跟踪岗:你去哪我就发函到哪
微头条丨铲屎官注意!研究表明养宠物或影响睡眠
热点评!你买过大船货吗?男子电动滑板车藏84个SSD入境被海关查获
全球新消息丨如何在Docker下部署nacos并注册Java服务
每日讯息!记录--vue中封装一个右键菜单组件(复制粘贴即可使用)
【新要闻】一汽奔腾销量惨淡,靠预售23.58万起的奔腾M9有望逆转吗?
天天快资讯:车主注意:新一轮国内油价降了!加满一箱油将少花4元
焦点要闻:全球最大集装箱船将在宁波舟山港开启首航:比航母还长
今日热讯:接二连三胜!长三乙火箭成功发射高分十三号02星
环球快资讯:《三体》动画播放量破5亿!豆瓣评分暴跌至3.9 差评率高达86%
票房已突破45亿!《满江红》宣布密钥再次延期
全球热门:“315”曝光:带货直播间水军泛滥,该如何应对?
天天观速讯丨债市日报:3月17日
消防车被小车挡道 业主联系未果合力掀翻!车主不干了
滚动:让越野车无路可走!极氪001成功挑战原路虎越野基地
世界热门:座椅加热1299元!smart回应硬件订阅:预埋硬件算送的 成本没进卖车价
环球快播:何炅再提《快乐大本营》:引发网友感慨
全球实时:1个案例读懂——游戏产品如何用 A/B 测试做增长
当前消息!Tailwind CSS 备忘清单_开发速查表分享
python __new__方法与单例模式
【当前热闻】前端有边界,但低代码没有
【快播报】Application Loader及Transporter App上传ipa外、可以在Windows上架iOS APP工具
当前播报:腊肉的保质期多长?
法兴银行:欧洲央行加息对欧元区国家息差的影响越来越小
支持小米、OPPO!三星查询手机OLED屏幕网站上线:你用的啥屏?
通讯!第二代骁龙7+首次支持双5G双卡双通:4.4Gbps网速、Wi-Fi翻倍
观察:性能提升达2倍!真我GT Neo5 SE官宣搭载第二代骁龙7+