0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

鉴源实验室丨TLS协议基本原理与Wireshark分析

上海控安 来源:上海控安 作者:上海控安 2024-03-27 13:25 次阅读

作者 |苏少博 上海控安可信软件创新研究院汽车网络安全组

来源 |鉴源实验室

社群 |添加微信号TICPShanghai”加入“上海控安51fusa安全社区”

01

背 景

随着车联网的迅猛发展,汽车已经不再是传统的机械交通工具,而是智能化、互联化的移动终端。然而,随之而来的是对车辆通信安全的日益严峻的威胁。在车联网生态系统中,车辆通过无线网络与其他车辆、基础设施以及云端服务进行广泛通信,这种高度互联的状态也使得车辆系统更容易受到各种潜在的威胁和攻击。

通信安全问题在车联网中尤为突出,可能面临诸如数据窃取、信息篡改、恶意注入以及拒绝服务等多种威胁。黑客可能试图获取车辆传感器和控制单元的敏感信息,篡改车辆间的通信数据,甚至远程控制车辆执行危险操作。这些潜在的威胁对驾驶安全、车辆保障以及交通管理都构成了巨大的挑战。

为了有效应对这些安全威胁,通信安全加密成为车联网中的关键环节。在这一背景下,传输层安全协议(TLS)作为一种通用的安全通信协议,为车辆通信提供了可靠的安全保护。通过强化数据的保密性、完整性和身份验证,TLS在车联网中发挥着至关重要的作用,有效应对通信安全所面临的复杂挑战。

02

TLS 基本原理

2.1 基本介绍

传输层安全协议(TLS)是一种加密通信协议,用于确保在网络上的数据传输过程中的安全性和隐私保护。TLS的前身是安全套接层协议(SSL),后来在标准化过程中发展成为TLS。TLS协议的主要目标是通过加密和认证机制,保护网络通信的机密性、完整性和身份验证,以抵御可能的网络攻击和窃听。

TLS协议主要通过以下方式实现安全通信:

加密(Encryption):使用加密算法对传输的数据进行加密,确保在传输过程中数据不被未授权的第三方读取或修改。

认证(Authentication):通过数字证书等机制验证通信双方的身份,确保通信的对端是合法的,并防止中间人攻击。

完整性保护(Integrity Protection):使用消息摘要算法(如哈希函数)来验证数据在传输过程中是否被篡改,以保障数据的完整性。

TLS协议广泛应用于互联网通信中,尤其在Web浏览器与服务器之间的安全通信中扮演关键角色。当用户访问使用“https://”协议的网站时,TLS协议就会启动,确保用户与网站之间的数据传输是安全可信的。TLS协议的不断升级和改进也反映了对网络安全不断演进的需求。

2.2 TLS握手过程

2.2.1 TLS 1.2 握手过程

TLS(Transport Layer Security)握手过程是确保安全通信的关键步骤,它涉及到协商加密算法、验证通信双方的身份,并生成用于加密通信的会话密钥,通常包含以下几个流程:

客户端发出请求(ClientHello)。在此流程中,客户端会提供如下信息:

客户端生成一个随机数,称为ClientRandom,这个随机数的目的是在握手过程中引入熵(entropy),增加通信的随机性,提高安全性;

客户端会列举支持的加密算法、摘要算法以及密钥交换算法等。这是为了告知服务器它可以使用哪些算法来保护通信;

客户端会提供其他通信参数,例如支持的压缩算法等。这些参数提供了有关客户端支持的通信设置的信息。

使用Wireshark打开包含TLS ClientHello数据的流量包时,通常可以看到如下内容:

ClientHello:

Random: [随机数]

CipherSuites: [支持的加密算法列表]

CompressionMethods: [支持的压缩算法列表]

Extensions: [其他扩展,例如SNI(Server Name Indication)]

图一.png

图1 ClientHello示意图

ClientHello的目标是为服务器提供足够的信息,以便服务器能够做出响应,并在握手过程中建立一个安全的通信通道。服务器将使用这些信息来选择合适的加密算法、生成自己的随机数、以及执行其他必要的步骤来协商出一个安全的连接。

服务器回应(SeverHello)。在此流程中,服务器会回复以下信息:

服务器会生成一个随机数,称为ServerRandom。类似于ClientRandom,它增加了握手过程的熵,提高了通信的随机性和安全性;

服务器从客户端提供的加密算法列表中选择一个算法,用于后续的通信加密;

服务器确认客户端提供的其他通信参数,例如TLS版本、压缩算法等;

如果服务器支持会话缓存和复用,还会生成一个Session ID发送给客户端。客户端可以在未来的握手中使用该Session ID来恢复先前的会话状态,以加速握手过程。

使用Wireshark打开包含TLS ServerHello数据的流量包时,通常可以看到如下内容:

ServerHello:

Random: [随机数]

CipherSuite: [选择的加密算法]

CompressionMethod: [选择的压缩算法]

Session ID: [会话标识,如果支持会话复用]

Extensions: [其他扩展,例如支持的应用层协议(ALPN)]

图二.png

图2 ServerHello示意图

客户端回应。在此流程中,客户端会回复以下信息:

客户端和服务器使用已经在之前握手步骤中交换的随机数生成一个预主密钥,称为Pre-Master Secret,并使用服务器的公钥进行加密,发送给服务器。

服务器再次回应。在此流程中,服务器会回复以下信息:

服务器收到客户端传输的加密信息后,使用其私钥解密并获得 Pre-Master Secret。

服务器和客户端使用已经交换的随机数和 Pre-Master Secret 生成一个 Master Secret(主密钥)。

随后,客户端发送ChangeCipherSpec消息给服务器,通知服务器从此时开始使用新生成的密钥加密通信内容,服务器同样给出回应,至此,整个握手阶段全部结束。

图三.png

图3 ChangeCipherSpec示意图

2.2.2 TLS双向认证

单向认证和双向认证是TLS常用的两种身份验证机制,它们的主要区别在于验证的参与方和方式。

单向认证是指单向认证仅验证一方的身份,通常是客户端验证服务器的身份,确保客户端连接到合法的服务器。流程与上述握手过程相同。单向认证适用于大多数互联网服务,服务提供商或服务的拥有者验证其身份,而客户端无需提供身份验证。

双向认证是指通信过程中需要验证两方的身份。客户端请求连接服务器,服务器提供数字证书,客户端验证服务器的身份;同时,客户端也会发出CertificateRequest请求,要求客户端也提供数字证书,服务器发送Certificate验证至客户端的身份,至此,双向认证完成。双向认证通常用于对通信安全性要求较高的场景,例如在线支付、云服务、金融应用等,确保通信的双方都是合法的。

图四.png

图4 Certificate示意图

2.3 TLS 1.3

2.3.1 握手过程

TLS 1.3在握手过程上进行了一些改进,提高安全性和性能。在上述的TLS 1.2握手过程中,通常需要进行ClintHello、ServerHello、两次密钥交换,共两个来回的完整握手过程,而在TLS 1.3中将Hello和密钥交换过程进行了合并,有效减少了握手次数。

图五.png

图5 TLS 1.3中ServerHello直接进行了密钥交换

2.3.2 其他改进

1)删除不安全算法支持:

TLS 1.3弃用了一些不安全或弱密码算法,进一步提高了安全性。例如,去除了对MD5、SHA-1、RC4等算法的支持。

2)使用HKDF进行密钥派生:

TLS 1.3使用基于HMAC的密钥派生函数(HKDF)来派生密钥材料,增强了密钥派生的安全性。

3)提供前向保密:

TLS 1.3使用Diffie-Hellman密钥交换算法的TLS 1.3握手过程中,提供了前向保密性,保证即使服务器的长期私钥泄漏,以前的通信也不会受到影响。

4)支持0-RTT恢复:

TLS 1.3引入了支持0-RTT(零轮往返时间)的特性,允许客户端在第一次连接时发送数据,从而进一步提高性能。

03

结 语

通过以上对TLS的介绍,希望大家能够对TLS原理有更清晰的认识,能够使用wireshark对TLS流量包进行简单的分析。如今TLS在车联网中扮演着关键的角色,通过加密、身份验证和完整性保护等机制,为车辆之间和车辆与基础设施之间的通信提供了可靠的安全保障。这对确保车辆网络的稳定性、用户隐私和远程控制的安全性都至关重要。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Wireshark
    +关注

    关注

    0

    文章

    46

    浏览量

    6449
  • TLS
    TLS
    +关注

    关注

    0

    文章

    42

    浏览量

    4164
收藏 人收藏

    评论

    相关推荐

    实验室管理系统

    实验室管理系统主要是解决,本人所在学校实验室智能化问题,实现功能短信查课(TC35模块);安全报警短信报警(温度,可燃气体);
    发表于 10-31 20:29

    实验室整体解决方案是什么?

    实验室整体解决方案就是建立在科学化、标准化、规范化、专业化的基础上,结合用户实验室现状和未来发展所需,而开展的“量体裁衣”的综合性活动。简单分类有:实验室筹建方案、实验室施工建设、
    发表于 08-11 10:34

    西安FIB实验室

    有没有西安的啊 我是纳瑞科技西安FIB实验室的张敏.我们西安实验室已经正式运转,有需求的可以打电话张敏纳瑞科技西安FIB实验室电话:029-88215437地址:西安市高新区融鑫路3号自力集团院内厂房一楼Email:fib.xa
    发表于 06-04 14:28

    实验室的 制造

    广州丹品人工环境技术有限公司,专业制造声学实验室已超过10年,例如:消音、噪音、静音房等,如有需要可联系020-34321450进行电话咨询
    发表于 11-09 14:33

    [封装失效分析系列之一] 封装级别失效分析实验室

    ,Interposer+TSV,PoP,甚至WLP等,与其对应的新失效模式也层出不穷,因此封装级别的失效分析显得日趋重要。有些封测领域的大厂已经拥有自己的失效分析实验室,而有些工厂则在搭建中或没有自己的
    发表于 07-18 22:29

    智慧实验室解决方案(LoRa)

    实验室是科技的摇篮,安全、健康、环保、节能是实验室的基本要素;实验室建设经历场地-设备-系统三个阶段。在当今成系统的实验建设理念中,实验室
    发表于 02-25 14:09

    Kilby实验室大揭秘

    达拉斯、硅谷和印度分别设立了Kilby实验室,以延续这种创新。Kilby实验室的创新者对他们的项目会进行严格检查和分析,当Kilby实验室所开发的技术成熟时,大多数项目都将被转交给业务
    发表于 07-16 04:45

    智慧实验室教学管理系统平台开发设计案例

    系统针对实验室实验设备的进行统一的管理,减少实验设备的丢失,同时可将实验设备对师生进行外借,提高设备的使用率。智慧实验室教学管理系统自动阅
    发表于 12-09 16:20

    锂电材料截面制样-氩离子抛光CP离子研磨 金实验室分享(下)

    锂电池正极片氩离子抛光(CP离子研磨)制样后效果图(正极片氩离子抛光制样后效果图-如上图所示-金实验室罗工提供)锂电池负极片氩离子抛光(CP离子研磨)制样后效果图(负极片氩离子抛光制样后效果图-如上图所示-金
    发表于 12-16 15:47

    多种先进的天线实验室分析与应用图表

    ``多种先进的天线实验室分析与应用图表附图如下,符合国际标准:2021-02-03``
    发表于 02-03 15:56

    lims实验室管理系统是什么?实验室信息管理系统介绍!

    采用实验室信息管理系统或LIMS可能是提高实验室生产力的最有效方法之一。此页面的目的是帮助目前未使用LIMS的科学家和实验室人员分析采用LIMS的潜在好处。对于已经使用LIMS的组织,
    发表于 11-03 11:17

    实验室lims系统解决方案

    ?lims实验室信息管理系统是一种软件产品,旨在帮助实验室跟踪其设备、样品和测试结果,管理其工作流程/协议,创建合规报告并分析结果。虽然医院、诊所和研究
    发表于 11-04 11:18

    路由基本原理及路由协议

    本文研究的是路由基本原理及路由协议
    发表于 11-03 18:35 123次下载

    Wireshark从入门到精通之网络抓包协议分析必备

    Wireshark从入门到精通之网络抓包协议分析必备
    发表于 01-18 13:53 9次下载

    TLS协议基本原理Wireshark分析

    传输层安全协议TLS)是一种加密通信协议,用于确保在网络上的数据传输过程中的安全性和隐私保护。TLS的前身是安全套接层协议(SSL),后来
    发表于 02-28 10:26 283次阅读
    <b class='flag-5'>TLS</b><b class='flag-5'>协议</b><b class='flag-5'>基本原理</b>与<b class='flag-5'>Wireshark</b><b class='flag-5'>分析</b>