加解密与HTTPS(4)

news2024/11/16 11:42:07

您好,我是湘王,这是我的CSDN博客,欢迎您来,欢迎您再来~


在互联网应用中,安全性问题已经越来越突出。从DDoS攻击、矿机劫持、乌云事件(白帽子变成黑帽子),到窃听、偷拍、强制植入(广告),参与互联网应用的软硬件设备越来越多。PC服务器、移动终端(手机、POS机、扫码枪、OBD)、各类NB-IoT/IoT终端、固件电路板(树莓派)等等,都可能成为被攻击的对象。

 

其实,所有这些问题,归纳起来就是三大风险:

1、偷窃:窃听、偷拍、倒卖、劫持;

2、篡改:包头、包内容、植入;

3、冒充:伪造、钓鱼。

所以,早在上个世纪(1994),为了解决这种网络通信的安全风险,有一群聪明人(NetScape公司)提出了一个解决方案:

1、通过引入加密与解密技术,来杜绝偷窃问题;

2、通过引入信息摘要与校验和,来杜绝篡改问题;

3、通过引入第三方认证机构,来杜绝身份冒充问题。

在上述背景下,SSL产生了,SSL全称是Secure Sockets Layer(安全套接字层),是为网络通信提供安全保障及数据完整性的一种安全协议。SSL位于TCP/IP与各种应用层协议之间,为通讯提供安全支持。SSL包含记录层与传输层,主流HTTP服务器都支持SSL。

 

SSL的基本运行过程包括下面几步:

1、客户端发出加密通信请求(ClientHello),并向服务器提供:用于会话密钥的随机数(第一个随机数)、加密算法和压缩算法;

2、服务器收到请求并向客户端回应(ServerHello):用于会话密钥的随机数(第二个随机数)、加密算法、压缩算法、服务器证书,以及索取客户端证书;

3、客户端收到服务器回应后,先验证服务器证书,否则显示警告,选择继续或终止访问。再从服务器证书中取出公钥,并向服务器发送:用服务器公钥加密的随机数(第三个随机数,pre-master key)、编码改变通知、客户端握手结束通知(前述所有内容的Hash值,给服务端校验);

4、服务器收到请求并作出当前会话的最后回应(ServerHello):收到第三个随机数并计算生成会话密钥,向客户端发送数据、编码改变通知、之前商定的加密方法、密钥和服务器握手结束通知(前述所有内容的Hash值,给客户端校验);

5、整个握手阶段结束。客户端与服务器通过HTTP及会话密钥进行消息通信。

需要注意的是:在最后一步「服务端收到第三个随机数并向客户端发送数据」时,以及后续的内容传输,采用的都是对称加密算法,原因是效率问题。

 

Netscape公司推出了SSL,而IETF(The Internet Engineering Task Force,互联网工程任务组)将SSL进行扩展并制定了一系列标准之后,提出了TLS。

TLS是SSL的升级版,是为了适应更广泛的应用场景,它的全称是Transport Layer Security(传输层安全),是继SSL之后的一种为保障互联网通信安全及数据完整性的安全协议。总的来说:

TLS1.0对应SSL3.1

TLS1.1对应SSL3.2

TLS1.2对应SSL3.3


感谢您的大驾光临!咨询技术、产品、运营和管理相关问题,请关注后留言。欢迎骚扰,不胜荣幸~

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Word控件Spire.Doc 【Table】教程(1):在 Word 中创建表格-C#VB.NET

Spire.Doc for .NET是一款专门对 Word 文档进行操作的 .NET 类库。在于帮助开发人员无需安装 Microsoft Word情况下,轻松快捷高效地创建、编辑、转换和打印 Microsoft Word 文档。拥有近10年专业开发经验Spire系列办公文档开发工具,专注于创建、编辑、转…

spring源码-资源资源加载器

Spring资源抽象Resource Spring对各种底层资源,比如文件系统中的一个文件,classpath上的一个文件,或者一个网络URL,统一抽象为接口Resource来表示 因为每个底层文件都可以以一个只读InputStream的方式打开,所以Resource接口继承…

ModuleNotFoundError: No module named ‘cs231n‘

在colab上完成cs231n的作业时发现,报了No module named cs231n’这个错误,查询后也没有找到合适的答案 仔细检查,发现是没有找到assignment1下的cs231n文件夹,然后去网站核对视频教程,发现没有搞错,视频中…

浮点数的储存

浮点数的储存一.浮点数的三段式(S,E,M)1.如何放入2.如何取出二.为什么浮点数不能直接比较三.解释第一个问题我们都知道整形在内存中是按照补码的形式储存的,但是浮点数的储存却和整数的截然不同,浮点数没有所谓是原反补并且浮点数…

SSM框架学习记录-MyBatisPlus_day01

1.入门案例与简介 MybatisPlus是基于MyBatis框架基础上开发的增强型工具,旨在简化开发、提供效率 未使用MybatisPlus时,在dao接口中的代码如下: Mapper public interface UserDao {Select("select * from user where id#{id}")publ…

冬日宅家选哪款投影仪比较好?极米H5陪你温暖过冬天

随着室外温度的逐步下降,寒冬也真的来了。相信对于许多朋友来说,宅家是冬季最惬意的时光,就是开着空调、电暖风、暖气,在温暖的室内,再打开投影仪,用超大屏追剧、看看电影,听听美妙的音乐&#…

光伏二次设备概述

概述 分布式光伏发电项目一般根据并网的电压等级分为380V和10KV。一般电压等级为380V低压并并网基本不涉及到什么二次产品,通常采用光伏并网柜就能解决,常见的并网设备为防孤岛保护装置和电能质量在线监测装置为主。而10KV并网的光伏容量一般处于1MWP到1…

加强企业数据库安全的行为准则

现在大多数企业都拥有可靠的网络安全程序,这些程序利用多种控件来实现深度防御安全性。通过这些程序,企业服务器得到加固,企业端点得到保护,监控工具也得以部署。还能够消除来自端点设备的高度敏感信息,并整合企业系统…

基于jsp+sevlet+mysql实验室设备管理系统

基于jspsevletmysql实验室设备管理系统一、系统介绍二、功能展示1.通知公告(学生)2.实验设备借用申请(学生)3.设备借用记录(学生)4.实验室预约申请(老师)5.实验室预约记录(老师)6.实验设备借用申请(老师)7.设备借用记录(老师)8.通知公告(管理员)9.实验室管理(管理员)10.设备管理…

QA | 关于可编程信号发生器,您在使用中可能遇到的问题

Q1:为什么信号源插在电脑上会显示电压不足? A:通常需要比普通电脑USB接口能提供更大的功率,需要高达2.0A的电流,超出了许多老式 USB 端口的水平。可以通过多种方式满足这一要求。适配器、USB 3.0计算机/笔记本电脑端口…

python——Matplotlib之fill_between函数

Matplotlib是Python提供的一套基于NumPy的绘图工具包,用Python实现与MATLAB相似的命令API,十分适合交互式绘制图表,成为Python中应用非常广的绘图工具包之一。 在对数据可视化时,为了突出某一段数据需要对部分区域进行填充处理。…

用这4招优雅的实现Spring Boot 异步线程间数据传递

Spring Boot 自定义线程池实现异步开发相信看过文章都了解,但是在实际开发中需要在父子线程之间传递一些数据,比如用户信息,链路信息等等 比如用户登录信息使用ThreadLocal存放保证线程隔离,代码如下: /*** author 公…

认监委调整《有机产品认证目录》

认监委关于调整《有机产品认证目录》的公告为进一步完善有机产品认证制度,规范有机产品认证活动,促进有机产业发展,根据《有机产品认证管理办法》(质检总局令第155号)和《有机产品认证实施规则》(认监委201…

大数据编程期末大作业

大数据编程期末大作业 文章目录大数据编程期末大作业一、Hadoop基础操作二、RDD编程三、SparkSQL编程四、SparkStreaming编程一、Hadoop基础操作 在HDFS中创建目录 /user/root/你的名字 例如李四同学 /user/root/lisi 首先我们需要启动hdfs,我们直接在终端输入如下命…

JavaScript for 循环

文章目录JavaScript for 循环JavaScript 循环使用for循环不同类型的循环For 循环语句 1语句 2语句 3For/In 循环JavaScript for 循环 循环可以将代码块执行指定的次数。 JavaScript 循环 如果您希望一遍又一遍地运行相同的代码,并且每次的值都不同,那么…

MCU-51:单片机DS18B20温度报警器

目录一、DS18B201.1 DS18B20介绍1.2 引脚及应用电路1.3 内部结构框图1.4 存储器结构二、单总线2.1 单总线介绍2.2 单总线电路规范2.3 单总线时序结构三、DS18B20操作流程四、DS18B20数据帧五、温度存储格式六、代码演示6.1 温度读取6.2 温度报警器注意:一定要看一、…

Qt OpenGL(04)Sierpinski 镂垫 3D 版

文章目录三维 Siepinski 镂垫相关代码main.cppHelp.hppWidget.hWidget.cpp顶点着色器片元着色器总结三维 Siepinski 镂垫 把前面的二维Sierpinski程序转换成一个生成三维Sierpinski镂垫的程序,也就是说要绘制的镂垫不再只是限制在一个平面里。我们可仿效对二维镂垫所…

什么? @ConditionalOnMissingBean 你没设置value?

序 这两天再看 公司 之前写的组件的代码,不看不知道,一看吓一跳。。。。这里就说其中一个 不知道你在写组件中的 Bean 加载的时候 怎么写? 方法一 直接META-INF/spring.factories 写 org.springframework.boot.autoconfigure.EnableAuto…

消息队列应用与原理剖析

什么是消息队列 消息队列:在消息的传输过程中保存消息的容器,生产者和消费者不直接通讯,依靠队列保证消息的可靠性,避免了系统间的相互影响。系统间的数据流通道 应用场景 异步处理:用户注册后,需要发注…

linux C--管道

这里写自定义目录标题基本概念管道特征编写模型有名管道模型示例demowrite.cread.c结果记录笔记1无名管道基本概念 进程间存在天然的壁垒,进程间通信(Interperocess Communication,IPC)是指二个或者多个进程之间进行数据交换的过程 管道特征 管道是进程间通讯的一种常用方法…