网络安全。

news2024/9/19 10:20:12

文章目录

目录

文章目录

一. 网络安全概述

二. 密码学原理

三. 报文完整性和数字签名

密码散列函数

报文鉴别码

数字签名

公钥认证

四. HTTPS通信

总结


一. 网络安全概述

网络安全是保护计算机网络及其数据免受各种威胁和攻击的实践和技术。随着互联网的普及和数字化转型的加速,网络安全的重要性日益凸显。主要的问题有:

  • 恶意软件:包括病毒、蠕虫、木马和勒索软件,旨在破坏或窃取数据。
  • 网络钓鱼:通过伪装成可信实体来诱骗用户提供敏感信息。
  • 拒绝服务攻击(DDoS):通过大量流量使目标网络或服务瘫痪。
  • 内部威胁:来自组织内部的员工或合作伙伴的恶意行为。

考虑了上述问题后,我们能够指出安全通信(secure communication)具有下列性质。

  • 机密性 仅有发送方和希望的接收方可以理解报文传输的内容。这就要求我们对报文进行一定的加密。

  • 报文完整性:希望确保报文的内容在网络传输的过程中未被改变-或者恶意篡改或者意外改动。
  • 端点鉴别:发送方和接收方都应该能证实通信过程中所涉及的另一方,以确认通信的另一方确实具有其声称的身份。
  • 运行安全性:指保护敏感信息和操作过程,以防止潜在的威胁和攻击。它的核心目标是确保在日常操作中,信息不会被敌对方或不当使用者获取,从而导致安全漏洞或损失。

二. 密码学原理

密码技术使得发送方可以伪装数据,使入侵者不能从截取到的数据中获得任何信息。

现在假设小红要向小黄发送一个报文,报文的内容可以是任意的,报文刚开始的形式称为明文(plaintest)。小红使用加密算法对明文进行加密,生成的加密报文成为密文。该密文对任何入侵者(例如: 小黑)来说都是难以理解的。有趣的是,在许多现代系统中,加密技术是公开的,这就代表我们使用加密算法进行加密的内容有可能被入侵者进行截取并解密。显然,如果任何人都知道数据编码的方式,那么就一定有一种秘密信息可以阻止入侵者解密被传输的数据,这些秘密信息就是秘钥

在上图中,小红提供了一个秘钥(key)K,它是一串数字或者字符,作为加密算法的输入。加密算法以秘钥和明文m(message)作为输入,计算得到密文K(m),同样的小黄使用秘钥K对密文进行解密K(m)=m。如果这两个秘钥是同一个秘钥,我们将其称之为对称密钥系统,反之我们将其称之为公开秘钥系统。

特性对称加密非对称加密
密钥数量1(相同密钥)2(公钥和私钥)
加密速度
密钥管理复杂(需要安全共享密钥)简单(公钥可公开)
主要用途数据加密身份验证、密钥交换

假如小红和小黄要进行通信。如上图所示,使用的是非对称加密方式,我们使用K +K-来表示小黄的公钥和私钥,为了和小黄进行通信,小红首先需要得到小黄的公钥,然后使用这个公钥和一个众所周知的加密算法,加密他要传递的报文,我们将其表示为K+(m)。 当小黄收到加密报文之后可以使用私钥和一个解密算法对报文进行解密,我们将其表示为K-K+(m)。公钥和私钥进行交换同样可以得到相同的结果,即K+K-(m)=K-K+(m)=m。

尽管公钥密码很吸引人,但是我们不得不考虑一个问题,既然小黄的加密秘钥是公开的,就表明任何人(可能是小红也可能是小红的假冒者)都可以给小黄发送一个已经加密的报文。这个问题就需要使用数字签名把发送方和报文绑定起来。


三. 报文完整性和数字签名

我们再次使用小红和小黄来定义报文完整性的问题。加入小黄收到了一个报文(加密或者明文),并且小黄认为这个报文是小红发来的。为了鉴别这个报文,小黄需要证实。

1)该报文来自小红

2)报文没有在传输过程中没有被修改。

密码散列函数

密码散列函数(Cryptographic Hash Function)是一种将任意长度的输入数据(消息)转换为固定长度的输出(散列值或哈希值)的函数。它在信息安全中扮演着重要角色,主要用于数据完整性验证和密码存储。

对于找到任意的两个不同的报文x和y使得H(x)和H(y)相等,在计算上是不可能的。

报文鉴别码

现在我们再次回到报文完整性的问题上面。看看报文是如何基于散列函数执行报文完整性的。

1)小红生成报文m并计算得到H(m)

2)  随后小红将H(m)附到报文m上,生成一个扩展报文(m,H(m)),并将扩展报文发送给小黄.

3) 小黄接到扩展报文(m,h)并计算H(m)。如果H(m)=h,则表明一切正常。

这种方法是存在缺陷的,显而易见的是,小黑可以生成虚假的(m`,H(m)`), 并声称他就是小红,并且小黄还无法进行识别。

为了执行报文完整性, 除了使用密码散列函数之外,小红和小黄还需要共享秘密s。这个s只不过是一个比特串,它被称为鉴别秘钥(authentication Key)。使用这个共享秘密s,报文完整性能够执行如下

1)小红生成报文m,用s级联m生成m+s,并计算散列H(m+s),H(m+s)被称为报文鉴别码(Message Authentication Code,MAC)。

2)之后小红将MAC附加在报文m上,生成扩展报文(m,H(m+s)),并将扩展报文发送给小黄。

3)小黄收到扩展报文(m,h),由于知道s,计算得出报文鉴别码H(m+s),如果MAC=m,小黄则表示一切正常。

这里遗留下了一个非常重要的问题。如何向通信双方的实体发送这个共享的鉴别秘钥?

数字签名

数字签名是一种用于验证信息完整性和身份认证的加密技术。它通过使用公钥基础设施(PKI)来确保消息的来源和内容未被篡改。我们可以通过私钥来对报文进行加密,通过公钥对报文进行解密。

使用数字签名对报文进行加密加密的其实并不是报文,因为加密和解密的代价非常昂贵。更有效的方法是将散列函数引入数字签名。使用散列函数代替报文进行加密。虽然数字签名是一种“技术含量更高”的技术,但是接收方还是需要先拿到发送方的公钥才可以进行解密。因此引出了具有认证中心支持的公钥基础设施(PKI)。

公钥认证

数字签名的一个重要应用就是公钥认证(public Key certification),即证实一个公钥属于某个特定的实体。看一下下面的场景

  • 一群朋友决定给其中一个朋友(比如Charlie)开一个玩笑。他们在没有Charlie知道的情况下,大家同时用自己的手机给Charlie的家下单大量的披萨,可能是几百块钱的订单。
  • 当送货员到达时,Charlie会被突然的“披萨派对”吓到,发现他并没有下单,反而有许多朋友在场引发一阵笑声。

这种情况就是charlie的公钥被冒充了。

将公钥与特定实体绑定通常是由认证中心(Certification Authority)CA完成的,CA的职责就是识别和发行证书合法化。一旦CA验证了某个实体的身份,这个CA会生成一个将其身份和实体的公钥绑定起来的证书。这个证书包含了这个公钥和公钥所有者全局唯一的身份标识信息。

四. HTTPS通信


总结

以上就是这篇博客的主要内容了,大家多多理解,下一篇博客见!

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

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

相关文章

Linux shell编程学习笔记81:zcat命令——快速查看压缩文件内容

0 引言 在 Linux shell编程学习笔记80:gzip命令——让文件瘦身-CSDN博客https://blog.csdn.net/Purpleendurer/article/details/141862213?spm1001.2014.3001.5501中,我们使用gzip命令可以创建压缩文件。那么,我们可以使用zcat命令来查看压…

传输层协议——udp/tcp

目录 再谈端口号 udp 协议 理解报头 udp特点 缓冲区 udp使用的注意事项 tcp协议 TCP的可靠性与提高效率的策略 序号/确认序号 窗口大小 ACK: PSH URG RST 保活机制 重传 三次握手(SYN) 四次挥手(FIN) 流量控制 滑动窗口 拥塞控制 延迟应答 捎带应答 面…

JavaScript match() 方法

match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。 如果想了解更多正则表达式教程请查看: RegExp 教程 和我们的 RegExp 对象参考手册。 注意: match() 方法将检索字符串 String Object,以找到一个或多个…

Vue3 项目引入阿里 iconfont 图标和字体的多种方式

🚀 个人简介:某大型国企资深软件研发工程师,信息系统项目管理师、CSDN优质创作者、阿里云专家博主,华为云云享专家,分享前端后端相关技术与工作常见问题~ 💟 作 者:码喽的自我修养&#x1f9…

计算机人工智能前沿进展-大语言模型方向-2024-09-19

计算机人工智能前沿进展-大语言模型方向-2024-09-19 1. SAM4MLLM: Enhance Multi-Modal Large Language Model for Referring Expression Segmentation Authors: Yi-Chia Chen, Wei-Hua Li, Cheng Sun, Yu-Chiang Frank Wang, Chu-Song Chen SAM4MLLM: 增强多模态大型语言模型…

Java面试篇基础部分-Java线程生命周期

线程的生命周期分别为 新建(New)、就绪(Runnable)、运行(Running)、阻塞(Blocked)和死亡(Dead)这五种状态。   在系统运行过程中有线程不断地被创建,而旧的线程在执行完毕之后被清理,线程通过排队的方式获取共享资源或者锁的时候被阻塞,所以运行中的线程就会在…

基于yolov8的红外小目标无人机飞鸟检测系统python源码+onnx模型+评估指标曲线+精美GUI界面

【算法介绍】 基于YOLOv8的红外小目标无人机与飞鸟检测系统是一项集成了前沿技术的创新解决方案。该系统利用YOLOv8深度学习模型的强大目标检测能力,结合红外成像技术,实现了对小型无人机和飞鸟等低空飞行目标的快速、准确检测。 YOLOv8作为YOLO系列的…

supermap iclient3d for cesium中的平移,旋转

昨天写的模型机头不是速度的方向 基础知识 屏幕坐标系,笛卡尔空间直角坐标系,大地坐标系 平移和旋转都是基于笛卡尔空间直角坐标系,也就是基于地心。但是我们想实现模型的旋转是基于模型的局部坐标系,那么就要坐标转换。 向量归…

C++调用C# DLL之踩坑记录

C是非托管代码,C#则是托管代码,无法直接调用 CLR的介绍见CLR简介 MSDN提到了两种非托管-托管的交互技术:CLR Interop和COM Interop 后者要将C# 类库注册为COM组件,本文只探讨CLR,要通过C CLR写中间层代码 方式一&…

全新 HLOB 模型:预测限价订单簿中间价格变化方向的利器

作者:老余捞鱼 原创不易,转载请标明出处及原作者。 写在前面的话: 本文介绍了一个名为HLOB的新型大规模深度学习模型,用于预测限价订单簿中间价格的变化。该模型利用信息过滤网络(特别是三角最大化过滤图)来揭示订单簿中不同成交量水平间的深层和非平凡依赖结构,…

[Meachines] [Medium] Bart Server Monitor+Internal Chat+UA投毒+Winlogon用户密码泄露权限提升

信息收集 IP AddressOpening Ports10.10.10.81TCP:80 $ nmap -p- 10.10.10.81 --min-rate 1000 -sC -sV PORT STATE SERVICE VERSION 80/tcp open http Microsoft IIS httpd 10.0 | http-methods: |_ Potentially risky methods: TRACE |_http-server-header: Micros…

【java系】记录一次ClassLoader.getResourceAsStream获取不到文件流

问题描述反馈,开发同事在本地获取对应文件流是可以正常业务操作,发布到linux服务器对应环境就会出现异常。 源码部分截图 看到这里,我猜想是否和window底层文件操作系统不区分大小写有关呢?而服务器linux是严格区分大小写这个应该…

ZLMediaKit Windows编译以及使用

1.运行ZLMediaKit 2.通过ffmpeg把视频源推流给ZLMediaKit 执行以下命令,将本地视频通过RTSP协议推流给ZLMediaKit。 ffmpeg -re -stream_loop -1 -i "D:\workplace\armgb\public\1.fileh264" -vcodec h264 -f rtsp rtsp://127.0.0.1/live/test 若想将本…

网络安全:建筑公司会计软件遭受暴力攻击

黑客正在暴力破解基金会会计服务器上高权限账户的密码,这些账户广泛用于建筑行业,从而侵入企业网络。 这一恶意活动最先被 Huntress 发现,其研究人员于 2024 年 9 月 14 日检测到了此次攻击。 Huntress 已经发现这些攻击对管道、暖通空调、…

Stylized Smooth Clouds 卡通风格化云朵包

下载:​​Unity资源商店链接资源下载链接 效果图:

PyCharm的使用

PyCharm的入门使用教程 下载和安装PyCharm: 首先,访问JetBrains官方网站(https://www.jetbrains.com/pycharm/)下载PyCharm的最新版本。根据您的操作系统选择合适的版本进行下载。 安装完成后,打开PyCharm。 创建新…

Golang | Leetcode Golang题解之第413题等差数列划分

题目&#xff1a; 题解&#xff1a; func numberOfArithmeticSlices(nums []int) (ans int) {n : len(nums)if n 1 {return}d, t : nums[0]-nums[1], 0// 因为等差数列的长度至少为 3&#xff0c;所以可以从 i2 开始枚举for i : 2; i < n; i {if nums[i-1]-nums[i] d {t}…

出厂非澎湃OS手机解BL锁

脚本作者&#xff1a;酷安mlgmxyysd 脚本项目链接&#xff1a;https://github.com/MlgmXyysd/Xiaomi-HyperOS-BootLoader-Bypass/ 参考 B站作者&#xff1a;蓝空穹 https://www.bilibili.com/read/cv33210124/ 其他参考&#xff1a;云墨清风、水墨青竹、Magisk中文网 决定解BL…

HarmonyOS元服务与卡片

元服务与卡片 文章目录 一、元服务1.介绍2.常见元服务项目步骤 二、卡片1.介绍2.卡片的创建3.卡片的数据的变更4.卡片的进程间通讯4.1使用工具包4.2使用步骤 5.卡片路由postCardAction&#xff1a;快速拉起后台5.1格式5.2快速拉起指定页面--router5.3调用后台功能--call5.3卡片…

idea连接docker 自动化部署

进入Linux服务器 vim /lib/systemd/system/docker.service将 ExecStart/usr/bin/dockerd -H fd:// --containerd/run/containerd/containerd.sock 替换为 ExecStart/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock新建文件 Dockerfile配置Dockerfile文…