什么是单向认证与双向认证

news/2025/1/8 18:54:58/文章来源:https://www.cnblogs.com/o-O-oO/p/18654230

什么是SSL双向认证,与单向认证证书有什么区别

SSL/TLS 证书是用于用户浏览器和网站服务器之间的数据传输加密,实现互联网传输安全保护,大多数情况下指的是服务器证书。服务器证书是用于向浏览器客户端验证服务器,这种是属于单向认证的SSL证书。但是,如果服务器需要对客户端进行身份验证,该怎么办?这就需要双向认证证书。

为什么需要另一种认证方式的证书?因为当同时使用两种认证方式的证书时,有助于双方(即客户端和服务器端)之间的相互认证。另外,与标准SSL证书不同的是,双向认证的SSL证书实际上被称作为个人认证证书(PAC)。

在了解SSL证书的两种认证方式之前,您必须先要了解如何创建HTTPS连接的。

SSL身份验证的工作原理

网站所有者为其网站域名购买SSL证书,CA遵循国际行业验证标准对申请人身份和域名所有权进行验证。验证成功后,CA为该域名颁发SSL证书。
网站所有者将CA机构颁发的SSL证书公钥和私钥都安装到网站服务器上。
当客户端浏览器提交HTTPS请求,将进行SSL握手。
当SSL握手结束后,浏览器将生成会话密钥,并使用服务器SSL / TLS证书中的公钥对会话密钥进行加密。
会话密钥发送到服务器后,服务器使用相应的私钥对会话密钥解密。
客户端浏览器与服务器双方利用这个会话密钥加密解密传输过程的所有数据。
之所以在上述过程中强调“ SSL握手”一词,是因为在单向认证和双向认证流程中,只有使用的证书类型和SSL握手过程本身不同,而所有其他步骤是一样的。

现在,在了解了SSL基础知识后,我们再进一步探讨单向认证SSL和双向认证的含义和工作过程。

如何使用常规的SSL证书进行单向认证?

什么是单向认证SSL证书?

在所有通信中,涉及两个端点,即浏览器和它所连接的网站(即客户端和服务器)。在单向SSL身份认证过程中,仅验证一个端点(服务器)的身份。当您尝试打开网站时,您的浏览器会通过检查网站的SSL证书来验证网站服务器的合法性。单向认证SSL证书也称为服务器身份认证证书。

SSL单向认证流程

在整个SSL握手流程中,仅仅单向验证了服务器的SSL证书。因此,这个单向认证过程使客户端浏览器可以连接到正确的网站服务器,并且仅通过安全连接将所有数据传输到目标站点。

接下来,我们再了解双向认证的相关知识。

如何使用个人认证证书进行双向认证?

什么是双向认证证书?

双向认证是指在SSL握手过程中将同时验证客户端和服务器的身份,所以双向认证SSL证书至少包括两个或两个以上的证书,一个是服务器证书,另一个或多个是客户端证书(即个人认证证书)。

双向认证流程

双向认证SSL握手过程与单向认证有所不同。大部分步骤与单向认证过程一样,但是,当客户端成功验证服务器后,会增加服务器验证客户端的流程步骤,具体如下图红色标注所示:

正如您所见,双向认证过程中,SSL握手多了两个步骤,也就是多了服务器验证客户端身份的流程。

双向认证的必备条件

私钥
个人认证证书
CA根证书
CA中间证书(非所有情况下必需)
有了以上必备东西,当客户端验证服务器身份后,服务器才能验证客户端身份。双方都有自己独立的SSL证书,而且这些证书必须是由受信任的第三方CA机构颁发的。

为什么需要双向认证SSL证书?

了解了单向认证和双向认证在SSL握手过程中的不同后,新的问题出现了:为什么需要双向认证证书?网站使用双向认证将选择哪些客户端与其进行安全通信?

因为双向认证需要服务器和客户端提供身份认证,只能是服务器允许的客户方能访问,安全性相对于高一些。所以需要做双向认证的SSL证书多数是企业,尤其是像金融行业等对安全性要求较高的企业。

比如,一个企业有自己的内部网站,该网站主要是用于员工查询信息和官方事务交流的。他们不希望任何人都可以这样自由访问内部网站。这种情况下,就可以选择使用双向认证的SSL证书验证客户端身份,然后再让他们访问网站。如此一来,企业可避免网络犯罪分子和僵尸程序进入该内部网站,降低不安全性风险。

总的来说,一般Web应用都是采用SSL单向认证的,用户数自由无限制,且无需在通讯层对用户身份进行验证,一般都在应用逻辑层来保证用户的合法登入。但如果是企业应用对接,数据信息相对较多且复杂,可能会要求对客户端做身份验证,这时就需要做SSL双向认证,这也是保护公司内部数据信息的最好的方法

链接:https://www.cnblogs.com/hrx521/p/17668250.html

(版权归原作者所有,侵删)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/864776.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

「杂文」日常 11

基于手机相册的 2024 年度总结好像一年的开头是考试周来着非常卓越的年轻就是好啊,骑车跨越半个城区去吃包子当时还是狂热粥批 给春节活动攒了大量抽嫖同学的桌游寒假打了不少生稀盐酸看起来还挺有精神的()被 jbbai 带着入坑铲了 当时那个段位乱 D 凑大羁绊就爽吃了因为看到…

块存储、文件存储、对象存储的比较分析

【摘要】本文从从应用角度比较块存储、文件存储、对象存储,对三者的层次关系进行了清晰的解读,并比较了分布式存储在块存储、文件存储、对象存储的应用成效。 一、块存储、文件存储、对象存储三者的本质差别 1.1 块存储 典型设备:磁盘阵列,硬盘 块存储主要是将裸磁盘空间整…

分析基于ASP.NET Core Kernel的gRPC服务在不同.NET版本的不同部署方式的不同线程池下的性能表现

分析基于ASP.NET Core Kernel的gRPC服务在不同.NET版本的不同部署方式的不同线程池下的性能表现 使用默认的 gRPC 项目模板创建,垃圾回收器类型为 ServerGC(Server garbage collection)。 使用 ghz 工具在不同的请求总数、连接数、并发数的参数下,进行压力测试,接口为 /gree…

Python学习(七)——配套《PyTorch深度学习实战》

1. 介绍一下下面这张图推荐系统自己还差点就去研究了这张图片概述了几种数据分析和机器学习的应用场景,包括推荐系统、网页搜索、舆情分析、关联规则、社交网络分析以及天气预测。下面是对每个部分的详细解释: 推荐系统用户u, 商品i:推荐系统旨在为特定用户(u)推荐商品(i…

golang1.23版本之前 Timer Reset方法无法正确使用

在 Go 1.23 之前,正确使用 Timer.Reset 是一个挑战,因为 Stop 和抽取操作之间的状态可能不一致,导致定时器异常触发。最好的做法是避免复用定时器,每次都创建一个新的定时器,这样代码更简洁、健壮,也更容易维护。golang1.23版本之前 Timer Reset方法无法正确使用 golang1…

【kafka】携程基于Kafka的数据校验代理在FinOps领域的应用

一、现状与问题1.1 现状1.2 问题描述1.3 解决方案二、设计与核心实现2.1 Kafka的相关背景知识2.2 Kafka Gatekeeper的设计和实现三、总结以下文章来源于携程技术 ,作者懿涵作者简介 懿涵,携程HybridCloud团队云原生研发工程师,关注云原生、IaC领域。为了有效管理云成本,基于…

苹果(iPhone)越狱,iPhone绕ID越狱,苹果手机越狱方法

CheckRa1n 越狱支持设备:iPhone 5S - iPhone X,兼容系统:iOS 12.3 ~ iOS 14.8,所以一些iPhone 5S以前的老设备(可以通过往期教程老设备越狱)以及iPhone X 以后的新设备都是无法通过heckRa1n 越狱,更别说绕ID的,其中iPhone X以后的新设备目前无法破解ID,某宝、某多的破…

【SQLite数据库】一个伪装成数据库的语言

SQLite是一个嵌入式的数据库,具有体积小、运行快、跨平台等优点,更关键的是,SQLite只有13万行左右。而传统的大型关系型数据库如Mysql、Oracle,代码行数超100多万行。 SQLite从2000年第一个版本发布到现在,已经运行在数亿设备上了,从本地应用、小型桌面应用,到移动设备应…

arcSDE回顾

1、arcSDE作用 (1)、提供了一个结构化的空间数据类型——ST_GEOMETRY (2)、提供了一系列的空间类型操作的函数和方法 好处:相对于存储BLOB二进制内容,SDE通过SQL查询空间数据即可了解数据内容,通过SQL即可非常便捷地对数据进行各种操作(例如更新)。 2、arcSDE安装 arc…

Awesome-Text2GQL:图查询微调语料的自动生成框架

Awesome-Text2GQL开源项目基于语法制导的图查询语料生成策略,通过自动化方式合成Text2GQL微调数据集,解决了图查询语言训练语料匮乏的问题,提升了图数据库与大语言模型交互的准确性和效率。 过去一年,GraphRAG技术发展如火如荼,尤其是基于关键词、向量驱动的知识检索方法…

wpf-依赖属性附加属性

依赖属性 概念 依赖属性(Dependency Property)是WPF框架中的一种特殊属性机制,允许属性没有自己的字段,而是可以通过数据绑定(Binding)从其他对象或数据源获取值。这种机制使得属性值的获取和设置更加灵活,并且能够支持诸如数据绑定、样式设置、动画等多种高级功能。 特…

Metricbeat及Heartbeat快速入门实战

作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任。 目录一.metricbeat组件初体验1.安装metricbeat2.修改metricbeat配置文件3.在kibana的metricbeat信息4.使用Discover页面查看5.可观测性(Observability)页面预览5.1.进入APM页面5.2 基础设施库存5.3 指标浏览器…