当前位置: 首页 > news >正文

系统架构笔记-4-信息安全技术基础知识

知识要点

计算机信息系统安全主要包括以下四个方面:

1. 实体安全。保护计算机设备、设施和其他媒体免遭地震、水灾、火灾、有害气体和其他环境事故(例如,电磁辐射等)破坏的措施和过程。实体安全又可分为环境安全、设备安全和媒体安全三个方面。

2. 运行安全。运行安全包括系统风险管理、审计追踪、备份与恢复、应急等四个方面的内容。运行安全是计算机信息系统安全的重要环节,其实质是保证系统的正常运行,不因偶然的或恶意的原因而遭到破坏,使系统可靠、连续地运行,服务不受中断

3. 信息安全。信息安全是指防止系统中的信息被故意或偶然的非法授权访问、更改、破坏或使信息被非法系统识别和控制等

4. 人员安全。主要包括计算机使用人员的安全意识、法律意识和安全技能等。

对称加密算法也称为私钥加密算法,是指加密密钥和解密密钥相同,或者虽然不同,但从其中的任意一个可以很容易地推导出另一个。

常见的对称密钥算法有:DES、3DES、IDEA、RC5、AES。 

非对称加密算法也称为公钥加密算法,是指加密密钥和解密密钥完全不同,其中一个为公钥,另一个为私钥,并且不可能从任何一个推导出另一个。 (公钥加密,私钥解密)

常见的非对称加密算法有:RSA、EIGamal、背包算法、Rabin、D-H

 

报文摘要用于为发送的报文生成一个非常小的摘要信息,这个摘要信息保证原报文的完整性。即原报文只要有一位被改变,则摘要信息就会不匹配,所以是用于防止篡改

数字签名用发送方的私钥对摘要做加密不仅保证了摘要的私密性,还可以防止抵赖,因为只有匹配的公钥能够解开。也就是说,如果用某人的公钥能够解开报文,说明就是某人做的。 

CA (Certificate Authority)是发放和管理数字证书的权威机构。证书的颁发者需要用自己的私钥对证书内容进行签名,防止对证书内容的篡改,因此用 CA 的公钥可验证数字证书的有效性

数字证书的内容包含 CA 的信息、用户信息、用户公钥、CA 签发时间和有效期等。其他用户使用数字证书中包含的该用户公钥来加密文件以保密。 

案例分析

试题五(25 分)

阅读以下关于 Web 系统架构设计的叙述,在答题纸上回答问题 1 - 3。 【说明】 某公司自主研发的网络教学平台因业务扩展,导致系统访问量不断增大,现有系统访问速度缓慢,有时甚至出现系统故障瘫痪等现象。面对这一情况,公司召开项目组讨论会议,寻求该商务平台的改进方案。讨论会上,王工提出可以利用镜像站点、CDN 内容分发等方式解决并发访问量带来的问题。而李工认为,仅仅依靠上述外网加速技术不能完全解决系统现有问题,如果访问量持续增加,系统仍存在崩溃的可能。李工提出应同时结合 Web 内网加速技术优化系统改进方案,如综合应用负载均衡、缓存服务器、Web 应用服务器、分布式文件系统、分布式数据库等。经过讨论,公司最终决定采用李工的思路,完成改进系统的设计方案。

【问题 3】(5 分) 针对 B2C 商务购物平台的网络威胁始终存在,鉴别的基本目的是防止其他实体占用和独立操作被鉴别实体的身份。鉴别的方式主要有哪些?

参考答案:

鉴别的方式主要基于以下 5 种。

(1)已知的:如一个秘密的口令。

(2)拥有的,如 IC 卡、令牌等。

(3)不改变的特性:如生物特征。

(4)相信可靠的第三方建立的鉴别(递推)。

(5)环境(如主机地址等)。

 

试题五(25 分)

请详细阅读有关 Web 架构设计方面的叙述,在答题纸上回答问题 1 至问题 3。

【说明】 某公司拟开发一个物流车辆管理系统,该系统可支持各车辆实时位置监控、车辆历史轨迹管理、违规违章记录管理、车辆固定资产管理、随车备品及配件更换记录管理、车辆寿命管理等功能需求。其非功能性需求如下:

(1)系统应支持大于 50 个终端设备的并发请求;

(2)系统应能够实时识别车牌,识别时间应小于 1s;

(3)系统应 7×24 小时工作;

(4)具有友好的用户界面;

(5)可抵御常见 SQL 注入攻击;

(6)独立事务操作响应时间应小于 3s;

(7)系统在故障情况下,应在 1 小时内恢复;

(8)新用户学习使用系统的时间少于 1 小时。

面对系统需求,公司召开项目组讨论会议,制订系统设计方案,最终决定基于分布式架构设计实现该物流车辆管理系统,应用 Kafka、Redis 数据缓存等技术实现对物流车辆自身数据、业务数据进行快速、高效的处理。

【问题 3】(7 分)该物流车辆管理系统需抵御常见的 SQL 注入攻击,请用 200 字以内的文字说明什么是 SQL 注入攻击,并列出两种抵御 SQL 注入攻击的方式。

参考答案:

SQL 注入攻击,就是通过把 SQL 命令插入到 Web 表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的 SQL 命令。

抵御 SQL 注入攻击:

1、使用 PreparedStatement;

2、使用存储过程;

3、验证/过滤输入;

4、专业的安全产品。 

解析:

SQL 注入即是指应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在应用程序中事先定义好的查询语句的结尾上添加额外的 SQL 语句,在管理员不知情的情况下实现非法操作,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步得到相应的数据信息。

SQL 注入的主要防范措施包括:

分级管理:对用户进行分级管理,严格控制用户的权限;

参数校验:编写 SQL 时禁止直接传值入 SQL,必须通过设置参数传递变量值;

参数过滤:对参数值预过滤敏感内容,如 and,or,select,分号,双引号等;

安全参数:使用编程语言中提供的数据库操作安全参数的强制执行检查特性;

漏洞扫描:利用 SQL 漏洞扫描工具及时扫描系统存在的相应漏洞;

多层验证:数据输入必须经过严格的验证才能进入系统,拒绝未通过验证的输入直接被访问数据库;

数据库加密:对数据库敏感信息进行加密,传统加密方法包括对称加密、非对称加密和不可逆加密。 

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Innodb内存结构
  • LeetCode讲解篇之1343. 大小为 K 且平均值大于等于阈值的子数组数目
  • C++门迷宫
  • 网络安全-shire写任务计划、反弹shell、写私钥、反序列化
  • TikTokDownloader 开源项目操作教程
  • Koa (下一代web框架) 【Node.js进阶】
  • Spring Mybatis 基本使用 总结
  • [数据集][目标检测]智慧养殖场肉鸡健康状态检测数据集VOC+YOLO格式4657张2类别
  • 基于centos7.9搭建SFTP服务
  • 【机器学习随笔】PCA降维与SVD
  • 【记录】大模型|Windows 下 Hugging Face 上的模型的通用极简调用方式之一
  • react + antDesignPro 企业微信扫码登录
  • Java 之反射机制详解
  • MySQL中的LIMIT与ORDER BY关键字详解
  • go/函数
  • 「前端」从UglifyJSPlugin强制开启css压缩探究webpack插件运行机制
  • 【翻译】Mashape是如何管理15000个API和微服务的(三)
  • 【跃迁之路】【585天】程序员高效学习方法论探索系列(实验阶段342-2018.09.13)...
  • 77. Combinations
  • es6
  • Flex布局到底解决了什么问题
  • JavaScript 奇技淫巧
  • Linux学习笔记6-使用fdisk进行磁盘管理
  • miaov-React 最佳入门
  • mockjs让前端开发独立于后端
  • NLPIR语义挖掘平台推动行业大数据应用服务
  • Python语法速览与机器学习开发环境搭建
  • 闭包,sync使用细节
  • 从setTimeout-setInterval看JS线程
  • 对JS继承的一点思考
  • 给Prometheus造假数据的方法
  • 让你的分享飞起来——极光推出社会化分享组件
  • 如何使用 JavaScript 解析 URL
  • 使用iElevator.js模拟segmentfault的文章标题导航
  • 携程小程序初体验
  • 自动记录MySQL慢查询快照脚本
  • hi-nginx-1.3.4编译安装
  • ​14:00面试,14:06就出来了,问的问题有点变态。。。
  • ​Kaggle X光肺炎检测比赛第二名方案解析 | CVPR 2020 Workshop
  • #stm32驱动外设模块总结w5500模块
  • #我与Java虚拟机的故事#连载07:我放弃了对JVM的进一步学习
  • (1)(1.9) MSP (version 4.2)
  • (ibm)Java 语言的 XPath API
  • (SERIES12)DM性能优化
  • (ZT)北大教授朱青生给学生的一封信:大学,更是一个科学的保证
  • (二)Pytorch快速搭建神经网络模型实现气温预测回归(代码+详细注解)
  • (二)换源+apt-get基础配置+搜狗拼音
  • (分类)KNN算法- 参数调优
  • (附源码)apringboot计算机专业大学生就业指南 毕业设计061355
  • (附源码)ssm考试题库管理系统 毕业设计 069043
  • (入门自用)--C++--抽象类--多态原理--虚表--1020
  • (一)Kafka 安全之使用 SASL 进行身份验证 —— JAAS 配置、SASL 配置
  • (一)基于IDEA的JAVA基础1
  • (原創) 如何將struct塞進vector? (C/C++) (STL)
  • (原創) 如何優化ThinkPad X61開機速度? (NB) (ThinkPad) (X61) (OS) (Windows)