系统架构设计专业技能 · 系统安全分析与设计(四)【加解密、数字信封、信息摘要、数字签名、数字书证、网络安全、信息安全】
系列文章目录
系统架构设计专业技能 · 网络规划与设计(三)【系统架构设计师】
系统架构设计专业技能 · 系统安全分析与设计(四)【系统架构设计师】
系统架构设计高级技能 · 软件架构设计(一)【系统架构设计师】
系统架构设计高级技能 · 系统质量属性与架构评估(二)【系统架构设计师】
系统架构设计高级技能 · 软件可靠性分析与设计(三)【系统架构设计师】
现在的一切都是为将来的梦想编织翅膀,让梦想在现实中展翅高飞。
Now everything is for the future of dream weaving wings, let the dream fly in reality.
系统架构设计专业技能 · 系统安全分析与设计(四)
- 系列文章目录
- 一、安全基础技术
- 1.1 对称与非对称加密
- 1.1.1 对称加密技术
- 1.1.2 非对称加密技术
- 1.2 信息摘要
- 1.3 数字签名
- 1.4 数字信封
- 1.6 数字证书
- 1.7 信息摘要、数字签名、数字信封综合运用
- 1.8 PKI公钥体系
- 二、网络安全
- 2.1 安全协议
- 2.2 网络攻击
- 2.3 等级保护标准
- 三、信息安全
- 3.1 系统安全防范体系层级
- 3.2 信息安全体系结构

一、安全基础技术
1.1 对称与非对称加密
数据加密是防止未经授权的用户访问敏感信息的手段,保障系统的机密性要素。数据加密有对称加密算法和非对称加密算法两种。
1.1.1 对称加密技术
对称秘钥算法的加密秘钥和解密秘钥相同,又称共享密钥算法。
缺点:
- 加密强度不高,但效率高。
- 秘钥分发困难。
常见的 对称加密密钥算法 有:
- DES:秘钥加密块算法(Data Encryption Standard,DES),替换 + 移位,明文切分64位的块(既分组),由56位的秘钥控制变换成64位的密文。速度快,秘钥易产生。
- 3DES:三重DES(Triple-DES)是EDS的改进算法,使用两把56位的秘钥对明文做三次DES加解密,秘钥长度112位,两个56位密钥K1、K2
加密:K1加密 → K2解密 → K1加密
解密:K1解密 → K2加密 → K1解密 - RC-5:RSA数据安全公司的很多产品都使用了RC-5。
- IDEA:国际数据加密算法(International Data Encryption Algorithm,IDEA),分组长度64位,秘钥长度128位,已经称为全球通用的加密标准。
- AES:高级加密标准(Advanced Encryption Standard,AES)分组长度128位,支持128位、192位和256位3种秘钥长度,用于替换脆弱的DES算法,且可以通过软件或硬件实现高速加解密。
- SM4国密算法,分组长度和密钥长度都是128位。
1.1.2 非对称加密技术
非对称密钥加密算法的加密秘钥和解密秘钥不相同,又称为不共享密钥算法或公钥加密算法。
在非对称加密算法中:
- 用公钥加密,私钥解密,可以实现保密通信。
- 用私钥加密,公钥解密,可以实现数字签名。
缺点:
- 加密速度慢。
常见的 对非称加密密钥算法 有:
- RSA:(Rivest,Shamir and Adleman)是一种国际通用的公钥加密算法,安全性基于大素数分解的困难性,秘钥的长度可以选择,但目前安全的秘钥长度已经高达2048位。RSA计算速度比同样安全级别的对称加密算法慢1000倍左右。2048位或1024位密钥、计算量极大、难破解。
- Elgamal:安全性依赖于计算有限域上离散岁数这一难题。
- ECC:椭圆曲线算法。
- SM2国密算法:基于椭圆曲线离散对数问题,在相同安全程度的要求下,秘钥长度和计算规律都比RSA小得多。

1.2 信息摘要
信息摘要:单向散列函数,固定长度的散列值 。
信息摘要是单向的,不能被还原。
常用的消息摘要算法有 MD5,SHA 等,市场上广泛使用的MD5,SHA算法的散列值分别为128和160位,由于 SHA通常采用的秘钥长度较长,因此安全性高于MD5 。
主要作用:防止原文内容被篡改 。
1.3 数字签名
数字签名是公钥加密技术与数字摘要技术的应用。数字签名的条件是:可信、不可伪造、不可重用、不可改变和不可抵赖。

实际应用时先对文件做摘要,再对摘要签名,这样可以大大提升数字签名的速度。
同时摘要的泄露不影响文件的保密。
1.4 数字信封
数字信封是将对称密钥通过非对称加密(即:有公钥和私钥两个)的结果分发的方法。数字信封是实现信息保密性验证的技术。
PKCS#7中将数字信封作为术语进行定义,而在正文中对进行了如下解释: 数字信封包含被加密的内容和被加密的用于加密该内容的密钥。
虽然经常使用接收方的公钥来加密“加密密钥”,但这并不是必须的,也可以使用发送方和接收方预共享的对称密钥来加密。当接收方收到数字信封时,先用私钥或预共享密钥解密,得到“加密密钥”,再用该密钥解密密文,获得原文。数字信封技术使用两层加密体系。
数字信封是一种综合利用了对称加密技术和非对称加密技术两者的优点进行信息安全传输的一种技术。数字信封既发挥了对称加密算法速度快、安全性好的优点,又发挥了非对称加密算法密钥管理方便的优点。
1.6 数字证书
数字证书的内容:
- 证书的 版本信息;
- 证书 序列号,每个证书都有一个唯一的证书序列号;
- 证书所使用的签名算法;
- 证书的发行机构,命名规则一般采用X.500格式;
- 证书的 有效期,现在通用的证书一般采用UTC时间格式,它的计时范围为1950 - 2049;
- 证书所有人的名称,命名规则一般采用X.500的格式;
- 证书所有人的 公开密钥;
- 证书发行者对证书的签名。
1.7 信息摘要、数字签名、数字信封综合运用
例如:
请设计一个安全邮件传输系统,要求:
该邮件以加密方式传输,邮件最大附件内容可达2GB,发送者不可抵赖,若邮件被第三方截获,第三方无法篡改。
设计如下:

1.8 PKI公钥体系

CA(Certificate Authority)认证中心
RA(Registration Authority)注册审批机构
证书受理点
秘钥管理中心 - KMC

二、网络安全
2.1 安全协议
各个层次的安全保障:

2.2 网络攻击
被动攻击:收集信息为主,破坏保密性。

主动攻击:主动贡酒的类别主要有:中断(破坏可用性)、篡改(破坏完整性)、伪造(破坏真实性)

2.3 等级保护标准
安全级别用户自主保护级最低,访问验证保护级最高。

安全保护等级:

三、信息安全
3.1 系统安全防范体系层级
安全防范体系的层级划分:
- (1)物理环境的安全性:
包括通信线路、物理设备和机房的安全等。 - (2)操作系统的安全性:
主要表现在三个方面,一是操作系统本身的缺陷带来的不安全因素,主要包括身份认证、访问控制和系统漏洞等;二是对操作系统安全配置问题;三是病毒对操作系统的威胁。 - (3)网络的安全性:
网络层的安全问题主要体现在计算机网络方面的安全性,包括网络层身份认证、网络资源的访问控制、数据传输的保密与完整性、远程接入的安全、域名系统的安全、路由系统的安全、入侵检测手段和网络设施防病毒等。 - (4)应用的安全性:
由提供服务所采用的应用软件和数据的安全性产生,包括Web服务、电子邮件系统和DNS等。此外,还包括病毒对系统的威胁。 - (5)管理的安全性:
包括安全技术和设备的管理、安全管理制度、部门与人员的组织规则等。
3.2 信息安全体系结构

安全服务:

相关文章:
系统架构设计专业技能 · 系统安全分析与设计(四)【加解密、数字信封、信息摘要、数字签名、数字书证、网络安全、信息安全】
系列文章目录 系统架构设计专业技能 网络规划与设计(三)【系统架构设计师】 系统架构设计专业技能 系统安全分析与设计(四)【系统架构设计师】 系统架构设计高级技能 软件架构设计(一)【系统架构设计师…...
基于WebSocket的在线文字聊天室
与Ajax不同,WebSocket可以使服务端主动向客户发送响应,本案例就是基于WebSocket的一个在线聊天室,不过功能比较简单,只能满足文字交流。演示如下。 案例学习于b站up主,链接 。这位up主讲的非常清楚,值得去学…...
VS Code中C++程序的调试(Debug)功能
有一个.vscode文件,存放当前工作区相关配置文件的目录。 launch.json {"version": "0.2.0","configurations": [{"name": "gcc.exe - 生成和调试活动文件", // 该调试任务的名字,启动调试时会在待…...
C#四个字节十六进制与单精度浮点数互转
C#四个字节十六进制与单精度浮点数互转可以使用自带的函数,也可以自己写 实例如下: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;namespace floatDemo {class Program{//首先设置:项目->属性…...
Springloc和aop的基础概念
什么是控制反转和依赖注入? 控制反转(IoC)和依赖注入(DI)是软件开发中常用的编程范式, 它们极大地提高了代码可维护性和可复用性,简化了代码结构。 什么是控制反转(IoC) 控制反转是- - 种编程模式,它将应用程序中的控制权转移到…...
算法练习Day43|● 518. 零钱兑换 II ● 377. 组合总和 Ⅳ
LeetCode:518. 零钱兑换 II 518. 零钱兑换 II - 力扣(LeetCode) 1.思路 求组合数,先遍历物品再遍历背包,dp[]数组累加即可。 2.代码实现 1class Solution {2 public int change(int amount, int[] coins) {34 int[…...
人类:我觉得1+1=956446,你觉得呢?大模型:啊对对对
大模型太「听话」了怎么办? 大型语言模型(LLM)的自然语言理解与生成能力一直备受称赞,特别是 ChatGPT 等对话式语言模型能够与人类流畅、自然地进行多轮对话。然而,最近一篇 Google DeepMind 的论文研究发现 LLM 普遍存…...
Offset Explorer
Offset Explorer 简介下载安装 简介 Offset Explorer(以前称为Kafka Tool)是一个用于管理和使Apache Kafka 集群的GUI应用程序。它提供了一个直观的UI,允许人们快速查看Kafka集群中的对象以及存储在集群主题中的消息。它包含面向开发人员和管…...
查看CentOS版本及系统位数与设置CentOS 7.9 2009 防火墙配置放开端口的命令与过程
一、查看CentOS版本及系统位数 1.1 命令汇总 //1、安装redhat-lsb yum install -y redhat-lsb//2、查看系统版本信息 lsb_release -a //3、查看系统位数 getconf LONG_BIT1.2 截图 二、设置CentOS7.9 2009 防火墙配置放开端口 2.1 命令汇总 //禁止防火墙开机启动。这种方法方…...
前端css高级
day08-CSS高级 目标:掌握定位的作用及特点;掌握 CSS 高级技巧 01-定位 作用:灵活的改变盒子在网页中的位置 实现: 1.定位模式:position 2.边偏移:设置盒子的位置 leftrighttopbottom 相对定位 posit…...
华为OD真题--字符串中最小的整数和--带答案
1. 华为OD机考题 答案 2023华为OD统一考试(AB卷)题库清单-带答案(持续更新) 2023年华为OD真题机考题库大全-带答案(持续更新) 2. 面试题 一手真实java面试题:2023年各大公司java面试真题汇总--…...
9月30日生效:微软官方服务协议更新,防止人工智能进行逆向工程
微软最近更新了其官方服务协议,新规则将于9月30日生效,包括多个新增和变化,具体细节请参考最新的微软服务协议。 微软最新更新涉及使用Bing Chat聊天机器人、Windows Copilot和Microsoft 365 Copilot服务,引起了广泛关注。这次更新…...
HarmonyOS教育类APP项目实战系列课结课考试答案(1-10讲)80分就合格
王丹辉(第一讲):HarmonyOS教育类APP项目实战开课及低代码初体验 结课考试 及格分80/ 满分100 评价 判断题 1. DevEco Studio不能同时支持HarmonyOS和OpenHarmony应用/服务开发 正确(True)错误(False) 回答正确 2. DevEco Studio…...
为什么要学习Oracle技术?
为什么要学习Oracle技术? 众所周知,Oracle占据着企业数据库领域超过48.1%的市场份额,成为高端企业数据库软件的绝对领导者。随着时间的推移,企业数据库的规模不断扩大,富有经验的资深OracleDBA越来越受到企业的欢迎。我们从著名的…...
ffmpeg+intel核显实现硬解码
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、前言二、检查方法1.图形法2.nvidia-smi3.intel-gpu-tools 三、安装使用1.libva-dev2.libva-utils3.编译安装4.测试1.vainfo2.ffmpeg测试解码 总结 前言 之…...
电脑开机出现Boot Device怎么办?
开机出现Boot Device这个问题很常见,有时还会出现No Boot Device的问题,虽然多了一个单词,但意思是相同的,这些问题说明你的系统盘出现了问题,或者是引导出现了问题。这该如何解决呢? 方法1. 检查主板或硬盘…...
面试题. 一次编辑
字符串有三种编辑操作:插入一个英文字符、删除一个英文字符或者替换一个英文字符。 给定两个字符串,编写一个函数判定它们是否只需要一次(或者零次)编辑。 示例 1: 输入: first "pale" second "ple" 输出: True 示例 2: 输入: first &…...
Unity悬浮显示提示内容
在编写unity时,需要实现鼠标在某一个按钮上时,就显示其子物体中对应的下拉菜单,为此编写了一个公共类,对于需要悬浮显示的控件均可挂载此类。代码如下: using UnityEngine; using UnityEngine.EventSystems; using Un…...
变形金刚在图像识别方面比CNN更好吗?
链接到文 — https://arxiv.org/pdf/2010.11929.pdf 一、说明 如今,在自然语言处理(NLP)任务中,转换器已成为goto架构(例如BERT,GPT-3等)。另一方面,变压器在计算机视觉任务中的使用…...
【Javascript】ES6新增之类的认识
在现代编程语言中,类是面向对象编程范式中的核心概念之一。 与函数类似,类本质上是一种特殊的函数,它允许我们将数据和操作封装在一起,以创建具有共同行为和状态的对象。 在类的世界里,我们有类表达式和类声明…...
UDP(Echoserver)
网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法:netstat [选项] 功能:查看网络状态 常用选项: n 拒绝显示别名&#…...
Java - Mysql数据类型对应
Mysql数据类型java数据类型备注整型INT/INTEGERint / java.lang.Integer–BIGINTlong/java.lang.Long–––浮点型FLOATfloat/java.lang.FloatDOUBLEdouble/java.lang.Double–DECIMAL/NUMERICjava.math.BigDecimal字符串型CHARjava.lang.String固定长度字符串VARCHARjava.lang…...
学习STC51单片机31(芯片为STC89C52RCRC)OLED显示屏1
每日一言 生活的美好,总是藏在那些你咬牙坚持的日子里。 硬件:OLED 以后要用到OLED的时候找到这个文件 OLED的设备地址 SSD1306"SSD" 是品牌缩写,"1306" 是产品编号。 驱动 OLED 屏幕的 IIC 总线数据传输格式 示意图 …...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...
Rapidio门铃消息FIFO溢出机制
关于RapidIO门铃消息FIFO的溢出机制及其与中断抖动的关系,以下是深入解析: 门铃FIFO溢出的本质 在RapidIO系统中,门铃消息FIFO是硬件控制器内部的缓冲区,用于临时存储接收到的门铃消息(Doorbell Message)。…...
安宝特案例丨Vuzix AR智能眼镜集成专业软件,助力卢森堡医院药房转型,赢得辉瑞创新奖
在Vuzix M400 AR智能眼镜的助力下,卢森堡罗伯特舒曼医院(the Robert Schuman Hospitals, HRS)凭借在无菌制剂生产流程中引入增强现实技术(AR)创新项目,荣获了2024年6月7日由卢森堡医院药剂师协会࿰…...
springboot整合VUE之在线教育管理系统简介
可以学习到的技能 学会常用技术栈的使用 独立开发项目 学会前端的开发流程 学会后端的开发流程 学会数据库的设计 学会前后端接口调用方式 学会多模块之间的关联 学会数据的处理 适用人群 在校学生,小白用户,想学习知识的 有点基础,想要通过项…...
使用Spring AI和MCP协议构建图片搜索服务
目录 使用Spring AI和MCP协议构建图片搜索服务 引言 技术栈概览 项目架构设计 架构图 服务端开发 1. 创建Spring Boot项目 2. 实现图片搜索工具 3. 配置传输模式 Stdio模式(本地调用) SSE模式(远程调用) 4. 注册工具提…...
Linux nano命令的基本使用
参考资料 GNU nanoを使いこなすnano基础 目录 一. 简介二. 文件打开2.1 普通方式打开文件2.2 只读方式打开文件 三. 文件查看3.1 打开文件时,显示行号3.2 翻页查看 四. 文件编辑4.1 Ctrl K 复制 和 Ctrl U 粘贴4.2 Alt/Esc U 撤回 五. 文件保存与退出5.1 Ctrl …...
Linux部署私有文件管理系统MinIO
最近需要用到一个文件管理服务,但是又不想花钱,所以就想着自己搭建一个,刚好我们用的一个开源框架已经集成了MinIO,所以就选了这个 我这边对文件服务性能要求不是太高,单机版就可以 安装非常简单,几个命令就…...
