2021-2022-1 20211420《信息安全专业导论》第十二周学习总结
作业信息
|作业属于|2021-2022-1信息安全专业导论
|作业要求|2021-2022-1信息安全专业导论第十二周作业
- 学习目标
- 计算机网络
- 网络拓扑
- 云计算
- 网络安全
- Web
- HTML,CSS,Javascript
- XML
|班课作业链接|
学习使用ssh
使用python的tkinter库制作一个简易计算器
学习wireshark三次握手,四次分手的过程
|个人项目|
爬虫入门----爬取B站视频的弹幕和评论
教材学习内容总结
第17章
- 各级安全
- 信息安全:用于确保正确访问数据的技术与政策
- 网络安全和信息安全有区别,但是概念也有互用的时候(两者有交集)
- 信息安全的三性
- 保密性:确保数据被保护,免受未经授权的访问
- 完整性:确保数据只被合适的机制修改
- 可用性:授权用户以合法目的访问信息的程度
- 风险分析:确定关键数据风险的性质和可能性
- 阻止未授权访问
- 用户认证:验证计算机或软件系统中特定用户凭据的过程
- 鉴别凭证:用户访问计算机时提供的用于识别自身的信息
- 三种鉴别凭证
- 基于一些用户知道的信息
- 智能卡:具有嵌入式内存芯片的卡,用于识别用户,进行访问控制
- 生物特征:用人的生物特征(比如指纹)识别用户并进行访问控制
- 密码
- 密码标准:创建密码时遵守的一套准则
- 密码管理软件:以安全的方式帮助你管理密码等敏感数据的程序
- 验证码:一种软件机制,用来验证一个网络表单是由一个人提交的,而不是一个自动化的程序(比如爬虫)
- 指纹分析:将扫描指纹与用户指纹的存储副本进行比较,用于用户身份验证的技术
- 恶意代码
- 恶意代码:一种计算机程序,尝试绕过正当的授权保护执行未许可的功能
- 许多类型的恶意代码
- 病毒:能够自我复制的恶意程序,通常嵌入在其他代码中
- 蠕虫:一种独立的恶意程序,目标通常是网络资源
- 特洛伊木马:伪装成善意资源的恶意程序
- 逻辑炸弹:一种恶意程序,被设置为在某些特定系统事件发生时执行
- 杀毒软件
- 杀毒软件:为检测,删除和防止恶意软件而设计的软件(例如:Norton,McAfee,Symantec等)
- 特征检测:通常只能分析一个已知的恶意程序
- 杀毒软件的特征方法扩展使用启发式算法来识别潜在的恶意代码
- 安全攻击
- 密码猜测:通过系统地尝试来判断用户密码,从而获取对计算机系统的访问的企图(俗称暴力破解)
- 网络钓鱼:利用网页伪装成受信任系统的一部分,从而诱使用户暴露安全信息
- 欺骗:恶意用户伪装成许可用户对计算机系统进行的攻击
- 后门:程序的一个问题,知道它的任何人都可以利用它对计算机系统进行特殊的或未经许可的访问
- 缓存溢出:计算机程序的一个缺陷,会导致系统崩溃,并让用户具有更高的访问权限
- 拒绝服务:对网络资源的一种攻击,可以使许可的用户不能访问系统
- 中间人(攻击):一种安全攻击,即通过获取关键数据截取网络通信消息
- 密码学
- 密码学:与编码信息有关的研究领域
- 加密:将明文转换为密文的过程
- 解密:将密文转换为明文的过程
- 密码:一种用于加密和解密文本的算法
- 替换密码:将一个字符替换成另一个字符的密码
- 恺撒密码:将字符移动字母表中的一定数量位置的替换密码
- 转换密码:将消息中的字符重新排序的密码
- 路径密码:将消息放到网格中并按照特定方式进行遍历的转换密码
- 密码分析:解密不知道密码或加密密钥的消息的过程
- 公开密钥密码:一种加密方法,其中每个用户都有两个相关的密钥,一个是公开的,一个是私有的
- 数字签名:附加在消息中的数据,利用消息本身和发送者的私有密钥以确保消息的真实性
- 数字证书:发送者认证的用于最小化恶意伪造的公开密钥的表示
- 保护你的在线信息
- 安全策略:描述约束或行为的书面声明,包括其用户提供的信息
- 共同的责任:不仅是我们个人需要保护好自己的在线信息,公司也需要为社交媒体提供可以保护用户数据的环境
- 安全与可移动设备
- GPS:一种利用卫星来精确定位任何GPS(全球定位系统)接收器的系统
- 安全可移动设备所传输的数据有可能被其他恶意用户截获并进行违法操作
- 维基解密
- wiki:允许多个用户对内容进行创建和编辑的网站
- 昔日的维基解密与现在的wiki没有任何关系,维基解密不再是一个单纯的wiki了
教材学习中的问题和解决过程
问题:学习到密码学的部分,对密码的加密和破解除了教材上的外还有其他的方法吗
解决:到网上查找,在常见的用户密码加密方式以及破解方法中找到了一些关于密码加密和解密的方法。
一、用户密码加密
用户密码保存到数据库时,常见的加密方式有哪些,我们该采用什么方式来保护用户的密码呢?以下几种方式是常见的密码保存方式:
1、直接明文保存,比如用户设置的密码是“123456”,直接将“123456”保存在数据库中,这种是最简单的保存方式,也是最不安全的方式。但实际上不少互联网公司,都可能采取的是这种方式。
2、使用对称加密算法来保存,比如3DES、AES等算法,使用这种方式加密是可以通过解密来还原出原始密码的,当然前提条件是需要获取到密钥。不过既然大量的用户信息已经泄露了,密钥很可能也会泄露,当然可以将一般数据和密钥分开存储、分开管理,但要完全保护好密钥也是一件非常复杂的事情,所以这种方式并不是很好的方式。
3、使用MD5、SHA1等单向HASH算法保护密码,使用这些算法后,无法通过计算还原出原始密码,而且实现比较简单,因此很多互联网公司都采用这种方式保存用户密码,曾经这种方式也是比较安全的方式,但随着彩虹表技术的兴起,可以建立彩虹表进行查表破解,目前这种方式已经很不安全了。
4、特殊的单向HASH算法,由于单向HASH算法在保护密码方面不再安全,于是有些公司在单向HASH算法基础上进行了加盐、多次HASH等扩展,这些方式可以在一定程度上增加破解难度,对于加了“固定盐”的HASH算法,需要保护“盐”不能泄露,这就会遇到“保护对称密钥”一样的问题,一旦“盐”泄露,根据“盐”重新建立彩虹表可以进行破解,对于多次HASH,也只是增加了破解的时间,并没有本质上的提升。
5、PBKDF2算法,该算法原理大致相当于在HASH算法基础上增加随机盐,并进行多次HASH运算,随机盐使得彩虹表的建表难度大幅增加,而多次HASH也使得建表和破解的难度都大幅增加。使用PBKDF2算法时,HASH算法一般选用sha1或者sha256,随机盐的长度一般不能少于8字节,HASH次数至少也要1000次,这样安全性才足够高。一次密码验证过程进行1000次HASH运算,对服务器来说可能只需要1ms,但对于破解者来说计算成本增加了1000倍,而至少8字节随机盐,更是把建表难度提升了N个数量级,使得大批量的破解密码几乎不可行,该算法也是美国国家标准与技术研究院推荐使用的算法。
6、bcrypt、scrypt等算法,这两种算法也可以有效抵御彩虹表,使用这两种算法时也需要指定相应的参数,使破解难度增加。
二、用户密码破解
用户密码破解需要针对具体的加密方式来实施,如果使用对称加密,并且算法足够安全(比如AES),必须获取到密钥才能解密,没有其它可行的破解方式。
如果采用HASH算法(包括特殊HASH),一般使用彩虹表的方式来破解。当然彩虹表除了可以用户破解HASH算法外,理论上还可以用于破解对称加密算法,比如DES算法,由于DES算法密钥比较短,建立彩虹表破解是完全可行的;但对于AES算法,由于密钥比较长,建表几乎不可行(需要耗时N亿年)。
但是,对于泄露了的密码,用户应当尽快修改密码防止个人信息的泄露
代码调试中的问题和解决过程
无
代码托管
爬取B站视频评论和弹幕
上周考试错题总结
1.Which of the following represents a single piece of information in a database, such as a person's last name?
以下哪项表示数据库中的单个信息,例如某人的姓氏?
A. Record记录
B. Key键
C. Field
D. Query查询
E. Table
本题选C
2.A spreadsheet is organized into a grid of labeled tables.
电子表格被组织成一个由带标签的表格组成的网格。
本题错误
3.A computer that passes the Turing test would demonstrate weak equivalence.
通过图灵测试的计算机将证明弱等价性。
本题正确
4.Which of the following best describes a model represented by objects in a computer program?
以下哪项最能描述计算机程序中由对象表示的模型?
A. Discrete-event离散事件
B. Time-driven
C. Concrete
D. Abstract抽象
E. Continuous连续模型
本题选D
5.Which of the following is responsible for managing the game world, regardless of whether the user has any input?
无论用户是否有任何输入,以下哪项负责管理游戏世界?
A. Simulation模拟
B. Game play
C. Game loop游戏循环
D. Physics engine物理引擎
E. Beta testing
本题选C
6.Which of the following describes a system that allows engineers to specify new components using geometric modeling techniques?
以下哪项描述了允许工程师使用几何建模技术指定新组件的系统?
A. Graphical user interface图形用户界面
B. Normalized vector归一化向量
C. Computer-aided design计算机辅助设计
D. Light simulation灯光模拟
E. Fractal分形
本题选C
7.he process of using an illumination model to determine the appearance of an entire object is called rendering.
使用照明模型确定整个对象外观的过程称为渲染。
本题错误
8.A physics engine simulates models based on Newtonian physics.
物理引擎模拟基于牛顿物理的模型。
本题正确
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 50/50 | 4/4 | 20/20 | |
第二周 | 100/150 | 2/6 | 15/35 | |
第三周 | 150/300 | 2/8 | 12/47 | |
第四周 | 1000/1300 | 5/13 | 36/83 | |
第五周 | 300/1600 | 4/17 | 30/113 | |
第六周 | 1400/3000 | 3/20 | 36/149 | |
第七周 | 1500/4500 | 4/24 | 40/189 | |
第八周 | 1200/5700 | 3/27 | 30/219 | |
第九周 | 1000/6700 | 4/31 | 36/255 | |
第十周 | 1500/8200 | 3/34 | 40/295 | |
第十一周 | 500/8700 | 2/36 | 30/325 | |
第十二周 | 1000/9700 | 5/41 | 40/365 |
计划学习时间:36小时
实际学习时间:40小时
参考资料
《计算机科学概论》
[《看漫画学Python》]