模拟网络攻击与HTTPS 17协议详解
HTTPS=http+ssl/tls
1、加密算法
2、PKI(公钥基础设施)
3、证书
4、部署HTTPS服务器
- 部署CA证书服务器
5、分析HTTPS流量
- 分析TLS的交互过程
一、HTTPS协议
- 在http的通道上增加了安全性,传输过程通过加密和身份认证来确保传输安全性
1、TLS
- 传输层安全协议,SSL和TLS其实是一个协议,SSL2.0版本,自SSL3.0版本后,更名为TLS1.0,目前最高版本是TLS1.3,使用最为广泛的是TLS1.2版本
- 设计目标
- 保密性:所有信息都加密传输
- 完整性:校验机制
- 认证:双方都配备证书,防止冒充
- 互操作、通用性
- 可扩展
- 高效率
- 发展史
- SSL2.0 SSL3.0 TLS1.0 TLS1.1 TLS1.2 TLS1.3
2、http的缺陷
明文传输
只对传输数据的长度进行完整性校验,数据是否有被篡改是不做确认的
3、HTTPS的好处
在传输数据之前,客户端会和服务器端协商数据在传输过程中的加密算法,包含自己的非对称加密算法(RSA/DH),数据签名的摘要算法(MD5/SHA ),加密传输数据的对称加密算法(DES/3DES/AES)
客户端会生成随机的字符串,通过协商好的非对称加密算法,使用服务端的公钥对该字符串进行加密,发送给服务端。服务端接收到之后,使用自己的私钥解密得到该字符串,在随后的数据传输中,使用这个字符串作为密钥进行对称加密。
二、加密算法
1、对称加密算法
(1)对称加密算法特点
加密和解密的密钥相同(只有一个公共密钥,发送方和接收方一起使用)
(密钥如何传输问题,密钥多难管理的问题)
由于对称加密算法比较简单,所以在大数据(数据量比较大)传输的时候,使用对称加密算法传输是比较快的。
但是会出现密钥多难管理的情况,发送方针对不同的接收方有不同的密钥,因此会面临密钥多难管理的问题。
(2)常见的对称加密算法
- DES/3DES
- AES
- RC
- IDEA
2、非对称加密算法
(1)非对称加密算法特点
加密和解密使用的是不同的密钥(公开密钥、私钥),每个用户都可以有自己的公钥和私钥,公钥是公开的,私钥是自己保存,只要一个密钥加密必须使用另一个密钥解密。
加密算法比较复杂,对于大规模的数据进行加密比较影响效率。
(2)常见的非对称加密算法
- Elgamal:基于DH密钥的交换算法来的
- RSA
- ECC
- Rabin
为了解决使用非对称加密算法后进行大规模数据传输会影响效率的问题,我们采用对称加密和非对称加密算法结合的方式。
三、PKI体系
1、基本概念
(1)公钥基础设施
通过使用公钥技术(非对称加密算法)和数字签名来确保信息安全
公钥加密技术(非对称加密算法)、数字证书、CA(证书颁发机构)和RA(证书注册机构)组成
实现功能:
- 身份验证
- 数据完整性
- 数据机密性
- 操作不可否认性
(2)身份认证技术
原始数据通过摘要算法(哈希)计算出信息摘要,使用发送方的私钥进行签名得到数字签名
发送方将携带数字签名的原始信息通过网络传输一起传给接收方
接收方收到后,使用发送方的公钥对数字签名进行验证,得到信息摘要,将原始数据通过相同的摘要算法(哈希)得到信息摘要,然后比对接收到的摘要和自己生成的摘要是否相等。
发送方首先将原始数据通过在摘要
发送方首先将原始数据通过摘要算法(SHA)算出信息摘要,并且用自己的私钥进行签名得到数字签名,将数字签名和袁术数据发送给接受方
接收方收到发送方发来的原始数据和数字签名,将原始数据通过摘要算法(SHA)得出信息摘要,再使用发送方的公钥将数字签名解开得到发送方的信息摘要(这里就完成了对发送方的身份认证),比对两个摘要信息是否一致,如果一致,说明数据再传输过程中没有被篡改。
(3)数字证书
- 保证密钥的合法性
- 证书的主体可以是用户、计算机、服务等
- 证书包含的信息
- 使用者的公钥
- 使用者的标识
- 有效期
- 颁发者的标识信息
- 颁发者的数字签名
2、数据传输案例
原始信息通过某种摘要算法得到摘要信息,然后使用发送者的私钥得到数字签名,然后把数字签名+原始信息+发送者的证书 通过对称加密算法(公共密钥)进行加密得到密文,然后用接受方的公钥对公共密钥进行加密得到密钥信封,最后,将密文+密钥信封 通过网络传输给接收方。
接收方首先用自己的私钥对密钥信封进行解密得到密钥公共密钥,然后使用公共密钥解开密文得到原始信息+发送方的数字签名+发送方的证书(证书中有发送方的公开密钥),接收方将接收到的数字签名通过证书中的发送方的公开密钥算法得到发送方的摘要,接收方通过和发送方相同的摘要算法得出自己的摘要,然后将另两个摘要信息进行比对看是否相同。
3、数字证书颁发机构
- CA主要是进行颁发和管理数字证书
四、证书服务器和HTTPS服务器
1、部署证书服务器
windows active directory 基于域的,这里用独立的
固定IP Vmnet4
证书颁发机构web注册:可以通过web注册颁发证书。
默认会把web服务器装上
下一步安装
安装好之后,点一下这里的感叹号,配置目标服务器的ActiveDirectory证书服务器所需的配置
如果是独立的就是属于Administrators组,如果是企业呢就必须是域管理源
勾选 证书颁发机构和证书颁发机构Web注册
这里选的是独立CA
根CA
创建私钥
加密:默认是RSA加密算法,也可以用其他的。
指定CA名称
有效期
证书数据库位置及日志位置
确认配置
进度
然后再开始菜单,Windows管理工具->证书颁发机构
里面有吊销的证书,颁发的证书、挂起的申请、失败的申请
主要是审核管理证书,包括吊销和批准。
服务器自己的证书
然后,我们看下证书颁发机构Web注册
下面有虚拟目录
看下服务器,它是有自己的证书的
CA颁发给CA的一个证书
双击点开
你有一个该证书对应的私钥,证书里面 会有:
证书的颁发者、算法以及公钥、私钥等信息,它对应的私钥是可以拷贝下来的,点击 复制到文件
私钥受密码保护,如果要将私钥跟证书一起导出,你必须在后面键入密码。
设置密码123456
默认是个人信息交换(.pfx文件 )
2、创建自签名证书
web服务器自己颁发给自己的
3、创建CA颁发给Web的证书
创建证书申请
加密方式,有DHC 和RSA可以随便选,默认是RSA
指定申请名称
创建了一串证书申请,会生成一串码。
去证书申请页面申请证书
证书申请页面:
CA注册页面
申请证书
高级申请
使用base64编码申请
然后再证书颁发机构->挂起的申请,这里有一个申请
颁发之后
再次访问,就可以下载证书了
下载CA证书
保存下打开看下它是颁发给web的
有了证书之后就是可以来到web旧服务器,完成证书申请
这里就有了新导入的证书
证书搞定之后,就可以再网站绑定https了
添加
添加https之后,证书这里可以去选
有三个证书,分别是自己颁发的证书、CA颁发的证书和CA颁发给web的证书。
如果想要实现网站只能通过https的443端口的访问,不能通过默认端口访问,可通过修改SSL设置来实现。
虚拟机与服务器之间HTTPS访问测试
开一台windows虚拟机,设置网络vmnet4、设置下IP和web服务器在同一网段,然后ping测试一下网络,
使用http访问下看能否访问
https访问
由于不是权威机构颁发的证书,
这里会提示不安全
客户机在访问网站的时候,服务器把证书传到客户机了,所以这里可以看到服务器的证书。
五、分析HTTPS流量
1、winshark流量分析
打开Windows上的cwinshark抓包
使用HTTPS访问网站
直接看TLS报文、追踪流
TCP三次握手
客户机向服务器发TLS握手报文
client hello握手报文
这个报文里面的内容会比较多,重点关注两个内容
第一个客户机会生成一个随机数,第二个
会列出所支持的加密算法
第二步serverhello
服务器把自己的证书创维客户机,进行密钥交换
server hello done,服务器表示serverhello握手结束
证书无效
客户机向服务器发送断开连接请求
服务器向客户机发送RST报文
然后客户机和服务器会重新建立TCP连接
追踪这个流
服务器密钥交换
客户机密钥交换,更爱加密方式,设置密钥
服务器更改加密方式
紧接着才是Application Data开始数据交换
2、TLS握手过程
如果你有一个winshark抓出来的报文,且有一个密钥,那就是可以对抓到的TLS加密报文进行解密
前提是你得有正确的密钥,这个密钥一般是公共密钥,因为使用的是对称加密算法进行加密的。
‘
winshark编辑->首选项->protocols->TLS,把公共密钥导入进去
导入进去之后,只要密钥正确,winshark会自动把报文解开。
推荐阅读
-
41 个下载免费 3D 模型的最佳网站-使用说明:使用权限可能因型号而异。因此,在下载文件之前,请仔细检查每个下载页面上的许可证和使用权限。 17. Clara.io Clara.io 是一个创建 3D 内容的全球平台,也是一个培养新 3D 艺术家的社区。Clara.io 提供+100,000个免费的3D模型,包括OBJ,Blend,STL,FBX,DAE,Babylon.JS,Three.JS格式,用于 Clara.io,Unity 3D,Blender,Sketchup,Cinema 4D,3DS Max和Maya。 使用说明:免费,标准和专业帐户仅供个人使用,如果您需要将 clara.io 用于商业用途,请与销售团队联系。 18. 3DExport 3DExport是一个市场,您可以在其中购买和销售用于CG项目的3D模型,3D打印模型和纹理。它提供15 +不同的3D格式供下载,如3DS MAX(.max),Cinema4D(.c4d),Maya(.mb,.ma),Lightwave(.lwo),Softimage(.xsi),Wavefront OBJ(.obj),Autodesk FBX(.fbx)等。它还提供15种不同的语言! 使用说明:免费下载仅供个人和非商业用途。 19. 3D Warehouse 3D Warehouse是一个开放的库,允许用户共享和下载SketchUp 3D模型,用于建筑,设计,施工和娱乐!任何人都可以免费制作,修改和重新上传内容到3D仓库,您可以找到任何您能想到的东西,如家具,电子产品,室内产品等。 使用说明:3D Warehouse中的所有模型都是免费的,因此任何人都可以下载文件以用于SketchUp甚至其他软件,如AutoCAD,Revit和ArchiCAD。 20. CadNav.com CadNav是CGI平面设计师和CAD / CAM / CAE工程师的在线3D模型库,我们提供超过50000 +免费3D模型和CAD模型下载。在CadNav网站上,您可以下载高质量的多边形网格3D模型,3D CAD实体对象,纹理,Vray材料,3D作品,CAD图纸等。 使用说明:免费下载仅供个人和非商业用途。 21. All3dfree.net 就像网站名称一样,它提供免费的3D模型,还包括Vray材料,CAD块,2d和3d纹理集合,无需注册即可免费下载。它是不断更新的,因此您可以查找或请求3DS,MAX,C4D,skp,OBJ,FBX,MTL等格式的模型。 使用说明:所有资源均不允许用于商业用途,否则您将承担责任。 22. Hum3D 自2005年以来,Hum3D帮助来自3多个国家的80D艺术家节省3D建模时间,并制作逼真的3D模型,用于电影,视频游戏,AR应用程序和可视化。所有模型均由首席3D艺术家进行验证,他们检查其是否符合专业要求和最新的3D建模标准。 使用说明:免费下载仅供个人和非商业用途。 23. Artist-3D.com 艺术家-3D 库存的免费 3D 模型下载按通用类别排序。它为人体解剖学、汽车、家具、火箭、卫星等模型提供 AutoDesk 3DS Max 格式。您还可以在浏览他们的网站时找到教程和类似类型的建模。 使用说明:使用权限可能因型号而异。因此,在下载文件之前,请仔细检查每个下载页面上的许可证和使用权限。 24. Free the models 就像本网站的标题一样,它为3d应用程序和3d游戏引擎提供免费的内容模型。您可以为您的任何项目找到许多有趣且有用的模型!它提供3ds,wavefront,bryce,poser,lightwave,md2和unity3d格式的模型。还有一个很棒的纹理集合,可以在您最喜欢的建模和渲染程序中使用。 使用说明:您从这里下载的所有内容都可以免费使用,除非它不能包含在另一个免费的网络或CD收藏中,也不能单独出售。否则,您可以在商业游戏,3D应用程序或渲染作品中使用它。您不必提供信用,但如果您这样做,那就太好了。 25. Resources.blogscopia 本网站由一家名为Scopia的公司创建。他们制作3D图像和视频,您可以找到许多为CGI工作的信息架构设计的模型,所有这些都可以在现实生活中使用。您可以免费下载它们,但是,如果您想一次下载它们,您可以支付 3 到 9 欧元。 使用说明:您可以免费下载模型部分的所有文件。每个压缩文件都包含您也可以在此处找到的许可证。基本上,您可以对文件执行任何操作。唯一的限制是不归属于Scopia的重新分发。 26.ambientCG 1000+公共领域PBR材料适合所有人!环境CG是使用许多不同的方法和资产类型创建的,例如照片纹理(PBR),贴花(PBR),图集(PBR),照片纹理(普通),物质存档(SBSAR),雕刻画笔,3D模型和地形。您可以在所有项目中*使用它们! 使用说明:在 ambientCG 上提供下载的所有 PBR 材料、画笔、照片和 3D 模型均根据知识共享 CC0 1.0 通用许可提供。您可以复制、修改、分发和执行作品,即使是出于商业目的,也无需征得许可。信用将不胜感激。 不要满足于平庸的大理石纹理 - 立即使用我们的免费PBR大理石纹理升级您的3D设计。 27.Pixar One Twenty Eight 这是一个提供官方动画行业经典纹理的网站:皮克斯,创建于 1993 年,该纹理库包括 128 个重复纹理,现在免费提供。 它包含您来到的纹理,包括砖块和动物毛皮。肯定会有一些你可以使用的东西。 使用说明:皮克斯动画工作室的《Pixar One Twenty Eight》根据知识共享署名4.0国际许可协议进行许可。即使出于商业目的,您也可以重新混合、调整和构建您的作品,只要您以相同的条款对新创作进行信用和许可。 访问数以千计的免费纹理并提升您的设计游戏 - 立即开始下载! 28. 3DXO 即使有近 620 个免费贴纸可供下载,3DXO 也不是最大的资源,但它的内容非常有用,不需要注册。无论是简单的墙壁或地板,还是一些奇怪的小东西,您都需要的纹理都可以在此网站上看到。 使用说明:使用权限可能因型号而异。因此,在下载文件之前,请仔细检查每个下载页面上的许可证和使用权限。 29. 3DModelsCC0 3DModelsCC0 与其他产品的不同之处在于它包含超过 250+ 个高质量 3D 模型,并且本网站上的所有内容都是免费的,完全是公共领域!使用我们的模型时无需信用或归属! 使用说明:为每个人提供完全免费的公共领域内容。 30.Sketch up texture club Sketchup Texture Club是一个非营利性的教育和信息门户网站,由3D社区的图像促进协会管理,特别强调面向学生和建筑和室内设计专业人士的可视化和渲染技术,以及所有正在学习3D可视化的人。 使用说明:您无需支付版税或使用费。纹理可以免费下载和使用。不允许将纹理作为竞争产品出售或重新分发,即使图像被修改也是如此。 31. FlippedNormals FlippedNormal 是一个提供计算机图形和 3D 资产的市场,您可以找到许多用于雕刻、建模、纹理、概念艺术、3D 模型、游戏资产或课程的高级资产! 使用说明:使用权限可能因型号而异。因此,在下载文件之前,请仔细检查每个下载页面上的许可证和使用权限。 32. NASA 3D NASA 3D网站是一个在线门户,提供与太空和各种NASA任务相关的大量三维模型和模拟。该网站是用户友好的,并提供有关每个型号的详细信息。该网站允许用户探索和下载几种不同格式的模型,包括 OBJ、STL 和 FBX,只需单击下载按钮即可。 使用说明: 要下载模型,只需单击模型页面上的下载按钮并选择所需的格式。 33. 3DAGOGO (Astroprint) 3DAGOGO 是一个提供广泛 3D 模型的网站,包括角色、车辆和建筑物。3DAGOGO 的独特功能之一是它专注于适合 3D 打印的模型,使其成为希望创建物理原型或模型的设计师的绝佳资源。要使用 3DAGOGO,设计师只需在网站上搜索他们正在寻找的模型类型,然后下载 STL 格式的文件。 使用说明: 要使用 3DAGOGO,只需搜索所需的 3D 模型类型并下载 STL 格式的文件。根据需要自定义模型,并确保在将其用于商业目的之前检查使用权限。 34. FreeCAD FreeCAD是一款了不起的3D建模软件,可让您在计算机上创建令人难以置信的3D设计。该软件可免费下载和使用,它提供了广泛的工具和功能,可用于创建用于各种目的的3D模型。 该网站易于浏览,您可以找到开始使用FreeCAD的所有必要信息。此外,该网站还提供一系列教程和指南,可帮助您了解 3D 建模的来龙去脉。 使用说明: 要下载模型,请访问网站并从库中选择所需的模型。该网站还提供了一系列使用该软件的教程和指南。 35. Pinshape Pinshape是一个提供一系列3D打印模型的网站。网站上提供的型号质量很高,因此您可以确保您的最终印刷产品看起来很棒。该网站提供了广泛的模型,包括从家居用品到小雕像和珠宝的所有物品。 但这还不是Pinshape所能提供的全部!该网站还允许用户上传和共享自己的3D模型。这意味着您不仅可以下载出色的模型,还可以通过分享自己的设计为社区做出贡献。此外,Pinshape 提供了一系列自定义选项,因此您可以调整和调整模型以满足您的特定需求。 使用说明: 要下载模型,请在网站上创建一个帐户,搜索所需的模型,然后单击下载按钮。该网站还为每种型号提供了一系列定制选项。 36.Yeggi Yeggi 提供了大量免费的 3D 模型,您可以下载各种格式的模型,例如 STL、OBJ 和 FBX。该网站易于使用,您可以按关键字、类别或特定网站搜索模型。 Yeggi 对于任何寻找 3D 模型的人来说都是一个很好的资源。它提供了大量的模型集合,从日常物品到复杂的机械,以及介于两者之间的一切。该网站的收藏量在不断增长,每天都有新的型号增加。 使用说明: 要下载模型,请在网站上搜索所需的模型,然后单击下载按钮。该网站还提供指向托管模型的原始网站的链接。 37. Open3DModel 来自开放3D模型的图像 Open3DModel具有各种类别的模型,包括建筑,车辆和角色。无论您需要建筑物,汽车还是人的3D模型,都可以在此网站上找到。 该网站易于浏览,您可以按类别或关键字搜索模型。每个模型都附带预览图像和详细信息,例如文件格式、大小和多边形数量。此信息可以帮助您选择适合您需求的模型。 使用说明: 要下载模型,请访问网站,从库中选择所需的模型,然后单击下载按钮。 使用最好的 3D 资产管理工具简化您的 3D 制作流程。立即试用它们,将您的 3D 项目提升到一个新的水平! 38. 3DExport 对于那些为其 3D 设计项目寻找 3D 模型、纹理和其他资源的人来说,该平台是一个很好的资源。该网站有大量模型可供选择,包括 3D 打印对象、游戏资产等。用户可以按类别、文件格式或价格范围浏览,以找到适合其项目的完美资源。此外,3DExport 还提供一系列教程和其他 3D 资源,以帮助用户提高技能并创建更令人印象深刻的设计。 使用说明: 要使用 3DExport,只需创建一个帐户并浏览可用型号。您可以按类别、格式和价格进行搜索,以找到所需的型号。找到喜欢的模型后,只需下载它并开始在您的项目中使用它。 39.Blend Swap Blend Swap是一个社区驱动的市场,提供与Blender软件兼容的各种免费3D模型。该平台允许用户共享和下载模型、纹理和其他资产,以便在他们的项目中使用。 使用说明: 创建免费帐户后,您可以浏览社区上传的大量3D模型。当您找到要使用的一个时,只需下载它并将其导入您选择的 3D 软件即可。 40. 3DShook 3DShook 是一个高级 3D 模型市场,提供一系列用于建筑、游戏等各个行业的高质量模型。该平台提供基于订阅的模型,具有不同的定价计划,允许用户访问一系列模型。 使用说明: 注册免费帐户后,只需浏览3D模型库,选择您喜欢的模型,然后以您需要的格式下载它们。 41. Smithsonian X 3D 史密森尼 X 3D 对于正在寻找历史文物和文物的高质量 3D 模型的设计师来说,这是一个独特的资源。该平台提供了大量3D模型,这些模型是根据史密森尼博物馆和研究中心中的真实物体扫描创建的。 使用说明:
-
模拟网络攻击与HTTPS 17协议详解
-
玩转网络协议和攻击模拟:08DHCP协议详解