使用wireshark观察SSL/TLS握手过程--双向认证/单向认证

本文详述了使用Wireshark观察SSL/TLS握手过程,涵盖双向认证和单向认证两种情况。在双向认证中,服务器和客户端互相验证身份,涉及RSA和DSA证书签名算法。单向认证则仅需客户端验证服务器。通过Wireshark抓包分析,展示了握手过程的关键步骤,包括client_hello、server_hello、certificate、client_key_exchange等,并对比了RSA和DSA算法的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SSL/TLS握手过程可以分成两种类型:

1)SSL/TLS 双向认证,就是双方都会互相认证,也就是两者之间将会交换证书。
2)SSL/TLS 单向认证,客户端会认证服务器端身份,而服务器端不会去对客户端身份进行验证。

我们知道,握手过程实际上就是通信双方协商交换一个用于对称加密的密钥的过程,而且握手过程是明文的。
这个过程实际上产生三个随机数:client random, server random, pre-master secret. 参考图解SSL/TLS协议 .

前两个随机数都是明文传送的,只有pre-master secret是加密的(RSA或者DH)。
一般生成证书的时候,签名算法可以选择RSA或者DSA算法。
如果server使用RSA证书,RSA即可以用作签名也可以用作不对称加密,pre-master secret就是用server的RSA证书中包含的公钥加密的。
如果server使用DSA证书,DSA只能用作签名,所以还需要使用DH算法来交换密钥。

以下是其流程图(摘自rfc5246),括号中的步骤是可选的。
如果

TLS握手过程中,签名和验签是非常重要的步骤。在引用中提到的TLS握手过程中,服务器和客户端会向CA机构发送申请证书文件,并分别得到各自的证书。这些证书包含了公钥和其他相关信息。在握手过程中,服务器和客户端会互相验证对方的身份并交换公钥。 在握手过程的某个阶段,引用中提到的certificate_verify步骤会发送使用客户端证书的签名结果。这个签名结果是对之前在握手过程中收到和发送的所有握手消息进行签名得到的。这样,服务器可以通过验证签名来确认客户端的身份和完整性。 数字签名是一种通过使用私钥对数据进行加密得到的签名,而验签则是通过使用公钥对签名进行解密和验证的过程。在TLS握手中,签名会被用来保证消息的完整性和身份的真实性。通过验证签名,服务器和客户端可以确保握手消息没有被篡改,并且可以信任对方的身份。 总结来说,TLS握手过程中的签名和验签是为了确保消息的完整性和身份的真实性。通过使用数字证书和数字签名,服务器和客户端可以相互验证对方的身份,并确保握手消息没有被篡改。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [数字签名、服务器和客户端认证过程TLS握手](https://blog.csdn.net/qq_43598865/article/details/120127173)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [使用wireshark观察SSL/TLS握手过程--双向认证/单向认证](https://blog.csdn.net/weixin_29187895/article/details/117219168)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值