安全性基础知识

文章目录

    • 1.计算机安全概述
    • 2.网络攻击
    • 3.两类密码体制
    • 4.数字签名与消息摘要
    • 5.网络安全

1.计算机安全概述

计算机安全可包括安全管理、通信与网络安全、密码学、安全体系及模型、容错与容灾、涉及安全的应用程序及系统开发、法律、犯罪及道德规范等领域。

信息安全的5个基本要素为机密性、完整性、可用性、可控性和可审查性。

  • 机密性。确保信息不暴露给未受权的实体或进程。
  • 完整性。只有得到允许的人才能修改数据,并能够判别出数据是否已被篡改。
  • 可用性。得到授权的实体在需要时可访问数据。
  • 可控性。可以控制授权范围内的信息流向及行为方式。
  • 可审查性。对出现的安全问题提供调查的依据和手段。

影响数据安全的因素有内部和外部两类。

  • 内部因素。可采用多种技术对数据加密;制定数据安全规划:建立安全存储体系,包括容量、容错数据保护和数据备份等;建立事故应急计划和容灾措施:重视安全管理,制定数据安全管理规范。
  • 外部因素。可将数据分成不同的密级,规定外部使用员的权限。设置身份认证、密码、设置口令、设置指纹和声纹笔迹等多种认证。设置防火墻,为计算机建立一道屏障,防止外部入侵破坏数据。建立入侵检测、审计和追踪,对计算机进行防卫。同时,也包括计算机物理环境的保障、防辐射、防水和防火等外部防灾措施。

2.网络攻击

被动攻击:指攻击者从网络上窃听他人的通信内容,通常把这类攻击称为截获

  • 流量分析:是通过持续检测现有网络中的流量变化趋势,从而得到相应信息的一种被动攻击方式。

主动攻击:是指通过一系列的方法,主动地获取向被攻击对象实施破坏的一种攻击方式。

  • 篡改:攻击者故意篡改网络上传送的报文,也包括彻底中断传送的报文。
  • 恶意程序:种类繁多,威胁较大的有计算机病毒、计算机蠕虫、特洛伊木马、逻辑炸弹。
  • 拒绝服务:指攻击者向因特网上的某个服务器不停地发送大量分组,使因特网服务器无法提供正常服务。如DOS、DDOS。

保密性:为用户提供安全可靠的保密通信是计算机网络安全最为重要的内容。

  • 网络的保密机制也是许多其他安全机制的基础,如访问控制中登录口令的设计,以及数字签名的设计等。

安全协议的设计:主要是针对具体的攻击(如假冒)设计安全的通信协议。

  • 一种是用形式方法来证明,另一种是用经验来分析协议的安全性。
    访问控制:也叫做存取控制或接入控制,必须对接入网络的权限加以控制,并规定每个用户的接入权限。

3.两类密码体制

1)对称密钥密码体制(对称加密算法)

所谓对称密钥密码体制,即加密密钥和解密密钥是相同的秘密

常见对称密钥加密算法:

  • 数据加密标准DES:替换+移位、56位密钥、64位数据块、密钥易产生。
  • 3DES(三重DES):两个56位密钥K1、K2;加密:K1加密->K2解密->K1加密;解密:K1解密->K2加密->K1解密。
  • RC-5:RSA数据安全公司的很多产品都使用了RC-5。
  • IDEA算法:128位密钥、64位数据块、比DES的加密性好、对计算机功能要求相对低。
  • AES算法:高级加密标准,又称Rijndael加密法,是美国政府采用的一种区块加密标准。

缺点:加密强度不高,但效率高;密钥分发困难;适合大文件。

2)公钥密码体制(非对称加密算法)

公钥密码体制就是加密密钥和解密密钥是不同的密码体制,在公钥密码体制中,加密密钥是向公众公开的,而解密密钥则是需要保密的。加密算法E和解密算法D也都是公开的。

常见非对称密钥加密算法:

  • RSA体制:是一种基于数论中的大数分解问题的体制。2048位(或1024位)密钥、计算量极大、难破解。
  • Elgamal:基于有限域上离散对数问题的公钥密码体制,有较好的安全性,同一明文在不同时刻会产生不同的密文。

缺点:加密速度慢,适合小文件。

4.数字签名与消息摘要

在网络的应用中,鉴别是网络安全中的一个很重要的问题。认证和加密并不相同。认证是要验证通信的双方的确是自己所要通信的对象,而不是其他的冒充者。

  • 实体认证是识别通信对方的身份,防止假冒。数字签名
  • 消息认证是所收到的报文的确是报文的发送者所发送的,而不是其他人伪造的或篡改的。报文摘要或消息摘要

1)数字签名

为了进行签名:

  • A用其私钥 S K A SK_{A} SKA对报文X进行D运算,从而得到某种不可读的密文。
  • A把经过D运算得到的密文传送给B。
  • B为了核实签名,用A的公钥 P K A PK_{A} PKA进行E运算,还原出明文X。

上述过程仅对报文进行了签名。对报文X本身却未保密。因为截获到密文 D S K A D_{SK_A} DSKA(X),并知道发送者身份的任何人,都可以获得发送者的公钥 P K A PK_{A} PKA,因而能知道报文的内容。

缺少保密性。

2)具有保密性的数字签名

  • A用其私钥 S K A SK_{A} SKA对报文X进行D运算,签名得到密文 D S K A D_{SK_A} DSKA(X)。
  • A进一步用B的公钥 P K B PK_{B} PKB对密文 D S K A D_{SK_A} DSKA(X)进行E运算,加密得到 E P K B ( D S K A ( X ) ) E_{PK_B}(D_{SK_A}(X)) EPKB(DSKA(X))
  • B拿到密文后,用B的私钥 S K B SK_B SKB进行D运算解密算法,解密得到密文 D S K A ( X ) D_{SK_A}(X) DSKA(X)
  • B为了核实签名,用A的公钥$PK_{A}$进行E运算,还原出明文X

加密与解密;签名与核实签名。就算截获到报文,但还是要B的私钥才能解密。

3)消息摘要

对很长的报文进行数字签名会使计算机增加很大的负担(需要进行很长时间的运算),因此,我们传送不需要加密的报文时,应当使接收者能用很简单的方法鉴别报文的真伪。

  • 报文摘要(信息摘要)是进行报文认证的简单方法。
  • 常用的算法有MD5(消息摘要算法),SHA(安全散列算法)等,市场上广泛使用的MD5、SHA算法的散列值分别为128和160位,由于SHA通常采用的密钥长度较长,因此安全性高于MD5,但计算起来要慢些。

消息摘要是主要的数字签名算法,它是利用散列(Hash)函数(哈希函数、杂凑函数)进行数据的加密,防止发送的报文被篡改。

  • 单向Hash函数提供了这样一个计算过程:输入一个长度不固定的字符串,返回一串定长的字符串,这个返回的字符串称为消息摘要,也称Hash值或散列值。

消息摘要的特点:

  • 首先,在某一特定时间内,无法查找经Hash操作后生成特定Hash值的原消息,也就是不可逆;
  • 其次,无法查找两个经Hash操作后生成相同Hash值的不同消息,也就是不同的原消息一定生成不同的Hash值。
  • 这样,在数字签名中就可以解决验证签名、用户身份认证和不可抵赖性的问题。

优点:仅对短得多的定长报文摘要H进行数字签名要比对整个长报文进行数字签名要简单得多,所耗费的计算资源也小得多。

4)数字信封

对原文信息采用对称密钥K进行加密,再利用非对称密钥传递对称密钥。对称密钥也称会话密钥。

  • A用户生成对称密钥K,对报文X进行加密,并用B的公钥 P K B PK_{B} PKB对对称密钥K进行E运算生成密文K,将密文K和密文X发送给用户B。
  • B用户用B的私钥 S K A SK_A SKA对密文K进行D运算得到对称密钥K,在利用对称密钥K对密文X进行解密。

示例.请依据已学习的加密解密技术,以及信息摘要,数字签名技术解决以下问题:
请设计一个安全邮件传输系统,要求:该邮件以加密方式传输,邮件最大附件内容可达500MB,发送者不可抵赖,若邮件被第三方截获,第三方无法篡改。

答:对称加密、数字签名、消息摘要。发送方A(公钥: P K B P_{KB} PKB,私钥: S K A S_{KA} SKA)对报文和数字签名进行加密;接收方B(公钥: P K A P_{KA} PKA,私钥: S K B S_{KB} SKB)验证签名和解密报文。

5)PKI

PKI:公钥基础设施(Public Key Infrastructure),主要是验证身份。

  • CA(证书颁发机构)
  • 数字证书
  • 证书实现的安全保证,机密性、不可否认性、完整性、鉴别。

数字证书的格式遵循X.509国际标准,主要内容包括:

  • 版本号:用于区分不同版本。
  • 序列号:由同一发行者CA发放,是唯一的。
  • 签名算法:签署证书所用的算法及参数。
  • 发行者:指建立和签署证书的CA名字。
  • 有效期:包括证书有效期的起始时间和结束时间。
  • 主体名:指证书持有者的名称及有关信息。
  • 公钥:有效的公钥以及其使用方法。
  • 发行者ID:任选的名字唯一地标识证书的发行者。
  • 主体ID:任选的名字唯一标识证书的持有者。
  • 扩展域:添加的扩充信息。
  • 证书机构的签名:用CA私钥对证书的签名。

数字证书应用过程:

  1. 消息接收者。接收者生成密钥对。
  2. 传递。接收者在CA注册自己的公钥。
  3. CA认证机构。CA用自己的私钥对接收者的公钥施加数字签名并生成证书。
  4. 传递。发送者得到带有CA的数字签名的接收者的公钥(证书);
  5. 消息发送者。发送者使用CA公钥验证数字签名,确认接收者的公钥的合法性。

5.网络安全

1)防火墙技术

防火墙通常分为内网、外网DMZ三个区域,按照受保护程度,从高到低是内网、DMZ和外网。

网络级防火墙。一般有包过滤防火墙和状态检测防火墙。主要是屏蔽路由器。

应用级防火墙。一般有双穴主机防火墙、屏蔽主机防火墙(屏蔽路由器和堡垒主机)和屏蔽子网防火墙(被屏蔽子网外有包过滤防火墙和堡垒机)。

2)入侵检测系统

入侵检测系统的功能:

  • 实时监视网络上正在进行通信的数据流,分析网络通信反映连接状态。
  • 通过内置已知网络攻击模式数据,查询网络事件,进行相应的响应。
  • 能够根据所发生的网络安全事件,启用配置好的报警方式。
  • 提供网络数据流量统计功能,为事后分析提供依据。
  • 默认预设了很多的网络安全事件,保障客户基本的安全需要。
  • 提供全面的内容恢复,支持多种常见协议。
  • 提供黑名单快速查看功能。
  • 支持分布式结构。

3)计算机病毒

计算机病毒是编织活着在计算机程序中插入的破坏计算机功能活着破坏数据,影响计算机使用并且能够自我复制的一组计算机指令或者程序代码

病毒是破坏者,他的特性:潜伏性、传染性、隐蔽性、破坏性、多样性、条件触发性。

木马是盗窃者,他的特性:不产生图标、伪装成“系统服务”的方式、自动运行、具备自动恢复、能自动开启端口,建立网络连接。

常见的病毒与木马:

  • 系统病毒:前缀Win32、PE、W32,如KCOM–Win32.KCOM。
  • 蠕虫病毒:利用网络进行复制和传播,传染途径是通过网络和店址邮件。如恶鹰 Worm.BBeagle。
  • 木马病毒、黑客病毒:如QQ消息尾巴木马–Trjan.QQ3344。
  • 脚本病毒:红色代码–Script.Redlof。
  • 宏病毒:美丽莎–Macro.Melissa。
  • 后门病毒:灰鸽子–Backdoor.Win32.Huigezi。
  • 病毒种植程序病毒:冰河播种者–Dropper.BingHe2.2C。
  • 破坏性程序病毒:杀手命令–Harm.Command.Killer。
  • 玩笑病毒:女鬼–Joke.Girl ghost。
  • 捆绑机病毒:捆绑QQ–Binder.QQPass.QQBin。

4)常见的防病毒软件

常见的防病毒软件:Symantec、ESET NOD32、金山毒霸、卡巴斯基、瑞星、McAfee、江民KV等等。

5)网络安全协议

因特网使用的安全协议:

  • 物理层:屏蔽和隔离。
  • 数据链路层:L2TP、PPTP、链路加密。
  • 网路层:IPSec、防火墙。
  • 传输层:TLS、SET、SSL。
  • 会话层:SSL。
  • 表示层:SSL。
  • 应用层:PGP、Https、SSL。

应用层安全协议:

  • HTTPS:端口号443,HTTP+SSL。
  • PGP:优良保密协议,电子邮件事实标准,是一个IDEA的邮件加密软件,可以用它对邮件保密以防止非授权者阅读,它还能对邮件加上数字签名,从而使收信人可以确认邮件发送者。
  • SSL:安全套接字层,用在Internet上传送机密文件,SSL协议由握手协议,记录协议和警报协议组成。
  • SET:安全电子交易协议,是信用卡上交易的国际标准,是指为例实现更加完善的即时电子支付应运而生的,具有保证交易数据的完整性,交易的不可抵赖性等。

网络层安全协议:

  • IPsec:IP安全协议,是一个工业标准网络安全协议,为IP网络通信提供透明的安全服务,保护TCP/IP通信避免遭窃听和篡改,可以有效抵御网络攻击。
  • 防火墙:一种访问控制技术,通过严格控制进出网络边界的分组,禁止任何不必要的通信,从而减少潜在入侵的发生,尽可能降低这类安全威胁所带来的安全风险。

数据链路层协议:

  • 链路加密:使用链路加密装置能为某链路上的所有报文提供传输服务。接收方是传送路径上的各台结点机,信息在每台结点机内都要被解密和再加密,依次进行,直到达目的地。
  • PPTP:点对点隧道协议,是一种支持多协议虚拟专用网络的网络技术,工作在第二层。
  • L2TP:第二层隧道协议,是一种虚拟隧道协议,通常用于虚拟专用网。

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

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

相关文章

高中数学:平面向量-正交分解、坐标表示、坐标运算

一、正交分解 二、坐标表示 这里注意一点 坐标A(x,y)与向量 a → \mathop{a}\limits ^{\rightarrow} a→的坐标记作: a → \mathop{a}\limits ^{\rightarrow} a→(x,y),表示方式的区别 引申 三、加减运算的坐标表示 四、数乘运算的坐标表示 引申 两向量…

Flutter 中的 PhysicalShape 小部件:全面指南

Flutter 中的 PhysicalShape 小部件:全面指南 在Flutter中,PhysicalShape小部件是一个能够为子组件添加物理效果的边框和阴影的装饰性小部件。它能够模拟真实世界中物体的立体感,通过在子组件的周围创建一个可自定义的形状,并添加…

Go微服务: Nacos的搭建和基础API的使用

Nacos 概述 文档:https://nacos.io/docs/latest/what-is-nacos/搭建:https://nacos.io/docs/latest/quickstart/quick-start-docker/有很多种搭建方式,我们这里使用 docker 来搭建 Nacos 的搭建 这里,我们选择单机模式&#xf…

JVM CMS 在Full GC时针对跨代引用的优化

个人博客 JVM CMS 在Full GC时针对跨代引用的优化 | iwts’s blog 跨代引用问题 Full GC慢的一个很重要的问题:跨代引用。 简单描述就是: 现代JVM一般是根据对象存活的特性进行了分代,提高了垃圾收集的效率。但是像在回收新生代的时候&a…

pytest-sugar插件:对自动化测试用例加入进度条

摘要 在自动化测试过程中,测试进度的可视化对于开发者和测试工程师来说非常重要。本文将介绍如何使用pytest-sugar插件来为pytest测试用例添加进度条,从而提升测试的可读性和用户体验。 1. 引言 自动化测试是软件开发过程中不可或缺的一部分&#xff…

Linux系统命令traceroute详解(语法、选项、原理和实例)

目录 一、traceroute概述 二、语法 1、基本语法 2、命令选项 三、帮助信息 四、示例 1. 使用默认模式(ICMP Echo)追踪到目标主机 2. 使用UDP模式(需要root权限)追踪到目标主机 3. 不解析IP地址为主机名,直接显…

K8s Pod 资源进阶

文章目录 K8s Pod 资源进阶pod 资源限制限制资源单位 资源限制实战Pod 服务质量QosDownward API可注入的元数据信息环境变量方式注入元数据存储卷方式注入元数据为注册服务注入Pod 名称为 JVM 注入堆内存限制 K8s Pod 资源进阶 pod 资源限制 资源限制的方法: Req…

厨房防蟑螂3个避坑细节

厨房发黑有蟑螂咋办      检查3个地方,想要厨房卫生干净      1,台面和墙中间这个缝别用美缝剂,      不想后期剁骨头开裂进水,就用有弹性的防霉玻璃胶      2,水槽的下水管用u型存水弯      可以…

纯电动汽车硬件在环测试

纯电动汽车硬件在环测试技术研究综述 1、新能源汽车概述 随着新能源汽车“电动化、智能化、网联化、共享化”进程的不断推进,新能源汽车的整体性能得到显著提高,纯电动汽车已经逐渐走进大众视野,消费者对于新能源汽车的认可度和购买欲望也稳…

Crontab 自动脚本实例 | 校园网保持联网

唠唠闲话 自动化脚本的用途广泛,比如自动挂载磁盘,自动登录校园网等。本篇将介绍 crontab 这一自动脚本执行工具。 Crontab 简介 crontab 是类 Unix 操作系统中用于设置周期性执行任务的工具。crontab(代表 “cron table”)允许…

php 设置时区

date_default_timezone_set() 设置所有日期/时间函数使用的默认时区 除了在脚本中使用此函数设置默认时区,还可以使用 INI 设置 date.timezone 设置默认时区。 参数 timezoneId 时区标识符,像 UTC、Africa/Lagos、Asia/Hong_Kong 或 Europe/Lisbon。…

Element-UI详解

Element-UI详解 一、Element-UI的特点1. 完整性2. 易用性3. 美观性4. 可扩展性 二、Element-UI的安装和使用1. 安装2. 引入 Element-UI3. 使用组件 三、核心组件详解1. 布局组件示例 2. 表单组件示例 3. 数据展示组件示例 4. 反馈组件示例 5. 导航组件示例 四、Element-UI的应用…

Codeforces Round 927 (Div. 3) D. Card Game 题解 贪心

Card Game 题目描述 Two players are playing an online card game. The game is played using a 32-card deck. Each card has a suit and a rank. There are four suits: clubs, diamonds, hearts, and spades. We will encode them with characters ‘C’, ‘D’, ‘H’, …

让大模型变得更聪明三个方向

让大模型变得更聪明三个方向 随着人工智能技术的飞速发展,大模型在多个领域展现出了前所未有的能力,但它们仍然面临着理解力、泛化能力和适应性等方面的挑战。那么,如何让大模型变得更聪明呢? 方向一:算法创新 1.1算…

粤嵌—2024/5/20—三角形最小路径和(✔)

代码实现&#xff1a; int minimumTotal(int **triangle, int triangleSize, int *triangleColSize) {if (triangleSize 1) {return triangle[0][0];}for (int i 1; i < triangleSize; i) {for (int j 0; j < triangleColSize[i]; j) {int x i - 1;int y1 j - 1, y2…

【数据结构】快速排序详解!

文章目录 1. 快速排序的非递归版本2. 快速排序2.1 hoare 版本一2.2 挖坑法 &#x1f427;版本二2.3 前后指针 版本三2.4 调用以上的三个版本的快排 3. 快速排序的优化 1. 快速排序的非递归版本 &#x1f192;&#x1f427;关键思路&#xff1a; &#x1f34e;① 参数中的begin…

MySQL基础_6.函数

文章目录 一.不同DBMS函数的差异二.单行函数三.聚合函数3.1 常用聚合函数3.2 GROUP BY 四.SELECT的执行顺序4.1 写SELECT的顺序4.2 SELECT 的执行顺序 一.不同DBMS函数的差异 我们在使用 SQL 语言的时候&#xff0c;不是直接和这门语言打交道&#xff0c;而是通过它使用不同的…

5-26 Cpp学习笔记

1、如果子类实现了基类的函数&#xff0c;返回值、参数都相同&#xff0c;就覆盖了基类的函数。 2、使用作用域解析运算符来调用基类的函数。myDinner.Swim(); —— 调用子类的。myDinner.Fish::Swim(); —— 调用基类的(基类是Fish) 3、在子类中使用关键字using解除对Fish::…

力扣刷题---LCS 02. 完成一半题目【简单】

题目描述 有 N 位扣友参加了微软与力扣举办了「以扣会友」线下活动。主办方提供了 2*N 道题目&#xff0c;整型数组 questions 中每个数字对应了每道题目所涉及的知识点类型。 若每位扣友选择不同的一题&#xff0c;请返回被选的 N 道题目至少包含多少种知识点类型。 示例 1&…

YOLOv10 论文学习

论文链接&#xff1a;https://arxiv.org/pdf/2405.14458 代码链接&#xff1a;https://github.com/THU-MIG/yolov10 解决了什么问题&#xff1f; 实时目标检测是计算机视觉领域的研究焦点&#xff0c;目的是以较低的延迟准确地预测图像中各物体的类别和坐标。它广泛应用于自动…