一、网安学习成长路线图
网安所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
二、网安视频合集
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
三、精品网安学习书籍
当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
四、网络安全源码合集+工具包
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
五、网络安全面试题
最后就是大家最关心的网络安全面试题板块
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
-别人偷听到了能不能听懂?
机密性是指保证信息不泄露给非授权的用户或实体,确保存储的信息和传输的信息仅能被授权的各方得到,而非授权用户即使得到信息也无法知晓信息内容,不能使用。
完整性
-收到的传真不太清楚?
-传送过程过程中别人篡改过没有?
完整性是指信息未经授权不能进行改变的特征,维护信息的一致性,即信息在生成、传输、存储和使用过程中不应发生人为或非人为的非授权篡改(插入、替换、删除、重排序等),如果发生,能够及时发现。
认证性
-我不认识你!
-你是谁?
-我怎么相信你就是你?
-要是别人冒充你怎么办?
认证性是指确保一个信息的来源或源本身被正确地标识,同时确保该标识的真实性,分为实体认证和消息认证。
消息认证是指能向接收方保证该信息确实来自于它所宣称的源。
实体认证是指参与信息处理的实体是可信的,即每个实体的确是它所宣称的那个实体,使得任何其它实体不能假冒这个实体。
不可否认性
-我收到货后,不想付款,想抵赖,怎么样?
-我将钱寄给你后,你不给发货,想抵赖,如何?
不可否认性是防止发送方或接收方抵赖所传输的信息,要求无论发送方还是接收方都不能抵赖所进行的行为。因此,当发送方发送一个信息时,接收方能证实该信息的确是由所宣称的发送方发来的;当接收方收到一个信息时,发送方能够证实该信息的确送到了指定的接收方。
密码系统的组成
一个密码系统(System)是由明文(Plaintext)、密文(Ciphertext)、密钥(Key)、加密算法(Encryption Algorithm)和解密算法(Decryption Algorithm)五部分组成的,即s={M,C,K,E,D}。
- 信息的原始形式称为明文。
- 明文经过编码变换所生成的称为密文。
- 密钥是指控制明文与密文之间相互变换的,分为加密密钥和解密密钥。
- 对明文进行编码变换生成密文的过程称为加密,编码的规则称为加密算法。
- 将密文恢复出明文的过程称为解密,恢复的规则称为解密算法。
密码系统关系图
密码分析学
定义
研究如何分析或破解各种密码编码体制的一门科学。密码分析俗称为密码破译,是指在密码通信过程中,非授权者在不知道解密密钥的条件下对密文进行分析,试图得到明文或密钥的过程。
密码攻击类型
针对对称密码体制
这五种攻击的类型通常是依次增强的,抵御这五种类型的攻击是密码算法的基本要求。
惟密文攻击(Ciphertext Only Attack)
密码分析者除了拥有截获的密文外(密码算法是公开的,以下同),没有其它可以利用的信息。密码分析者的任务是恢复尽可能多的明文,或者最好能推算出解密密钥,这样就很容易解出被加密的信息。这种攻击的方法至少可采用穷举搜索法,即对截获一定数量的密文依次用所有的密钥尝试,直到得到有意义的明文。在这种情况下进行密码破译是最困难的,经不起这种攻击的密码体制被认为是完全不安全的。(仅仅搭线窃听)
已知明文攻击(Known Plaintext Attack)
密码分析者不仅掌握了相当数量的密文,还有一些已知的明-密文对可供利用。密码分析者的任务就是用密文信息推导出解密密钥或导出一个替代算法,此算法可以对所获得的密文恢复出相应的明文。
对于现代密码体制的基本要求:不仅要经受得住惟密文攻击,而且要经受得住已知明文攻击。(有内奸)
选择明文攻击(Chosen Plaintext Attack)
密码分析者不仅能够获得一定数量的明-密文对,还可以**选择任何明文并在使用同一未知密钥的情况下能得到相应的密文。**这种情况往往是密码分析者通过某种手段暂时控制加密机。(暂时控制加密机)
选择密文攻击(Chosen Ciphertext Attack)
密码分析者能选择不同被加密的密文,并还可得到对应的明文,密码分析者的任务是推出密钥及其它密文对应的明文。
这种情况往往是密码分析者通过某种手段暂时控制加密机和解密机。(暂时控制解密机)
选择文本攻击(Chosen Text Attack)
它是选择明文攻击和选择密文攻击的组合(暂时控制加密机和解密机)。
针对对称密码体制
惟密钥攻击
攻击者仅知道签名者的公钥。
已知消息攻击
攻击者可以获得一些消息和相应的权力,但没有选择的权力。
一般选择消息攻击
攻击者在知道签名者的公钥之前一次性选择所选择获得消息及其签名,即攻击者选择消息与签名者无关。
特殊选择消息攻击
攻击者在知道签名者的公钥之后一次性选择所获得消息及其签名,即攻击者选择消息与签名者有关。
常用方法
穷举攻击
密码分析者用试遍所有密钥的方法来破译密码。穷举攻击所花费的时间等于尝试次数乘以一次解密(加密)所需时间。(一般会有常用密码本,所以大家要常换密码,密码不要太简单呦~)
当解密(加密)算法的复杂性增大时,完成一次解密(加密)所需的时间也增大,从而使穷举攻击的时间也增加。(这也增加合法用户使用密码系统的计算量)
结论:抵御穷举攻击最好方法是有足够密钥空间
统计分析攻击
密码分析者通过分析密文和明文的统计规律来破译密码。统计分析攻击在历史上为破译做出过极大的贡献,大多数传统密码都可以通过统计分析的方法来破译。
结论:抵御统计分析攻击的方法是使明文的统计特征尽可能地不带入密文。如果密文不带有明文的痕迹,那么统计分析攻击成为不可能。(譬如重合指数法)
数学分析攻击
密码分析者针对加密变换所依赖的数学难题(如大整数的素因子分解、离散对数等),通过数学求解的方法(如二次筛法、积分指数法等)来设法找到相应的解密变化,从而实现破译。
结论:抵御数学分析攻击应该选用具有坚实的数学基础和足够复杂的加密方法。
密码体制的安全性
无条件安全性
不论提供的密文有多少,密文中所包含的信息都不足以惟一地确定其对应的明文;具有无限计算资源(诸如时间、空间、资金和设备等)的密码分析者也无法破译某个密码系统。
计算安全性
这涉及到攻破密码体制所做计算的工作量。
计算出或估计出破译它的计算量下限,利用已有的最好方法破译该密码系统所需要的努力超出了破译者的破译能力(诸如时间、空间、资金等资源)。即破译密码系统的成本不能超过被加密信息本身的价值,以及破译密码系统的时间不能超过被加密信息的有效生命周期。
任何密码总有一天都会被破译的。
可证明安全性
通过有效的转化,将对密码体制的任何有效攻击归约到解一类已知难处理问题,即使用多项式归约技术形式化证明一种密码体制的安全性,称为可证明安全性。
譬如,如果给定大整数的素因子分解是不可行的,那么RSA密码体制是不可破解的。
这种方法只是说明了安全性和另一个问题相关的,并没有完全证明它是安全的。
思维导图
传统密码
对称密码
des
aes
非对称密码
rsa
ecc
哈希函数与消息认证
MD5
SHA
数字签名
公钥管理
数字证书
参考
《现代密码学教程(第2版)谷利泽,杨义先等》
更新中…
给大家的福利
零基础入门
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
同时每个成长路线对应的板块都有配套的视频提供:
因篇幅有限,仅展示部分资料
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!