本节内容


  1. 网络数据传输安全概述

  2. 数据加密算法分类

  3. SSH工作原理

  4. HTTPS工作原理

  5. 参考资料

个人一直在努力推动git在公司内部的普及和使用,前些日子在公司内部做了一次分享课,给大家介绍了下项目发布流程相关的内容,顺便普及了一些git的相关知识。对git是什么,以及怎样配置和使用它做了一些说明。但事后,很多同事的反馈,让我意识到他们很多人都卡在ssh免密钥登录的配置上。我们常说,学习一个新的东西应该遵循3W法则--WAHT(是什么),HOW(怎样用),WHY(为什么这样用)。我想大家应该是因为不知道为什么这样用,所以才会感到困惑。刚好,最近也在整理“使用Python相关模块进行数据加密”的文档,需要做些理论性的铺垫,所以才想写这篇文章,希望对大家有所帮助。

另外需要说明的是,网络安全涉及很多方面的很多内容,本文只是针对网络数据传输过程中的安全性发表一下个人认识和看法。如果描述的有什么不妥之处,欢迎大家留言交流和指正。

一、网络数据传输安全概述


我们说的数据加密与解密通常是为了保证数据在网络传输过程中的安全性。在网络发展初期,网络的数据安全性是没有被足够的重视的。事实上,当时为了实现数据可以通过网络进行传输已经耗费了科学家大部分男细胞,因此在TCP/IP协议设计的初期,他们也实在没有太多精力去过多考虑数据在网络传输过程中可能存在的安全性问题。随着TCP/IP协议及相关技术的日渐成熟,网络数据传输技术越来越稳定,人们才慢慢开始重视这个问题,美国国家标准与技术研究院(National Institue of Standard and Technology,简称NIST)也开始制定相关的安全标准。

网络安全涉及到很多个方面,我们这里仅仅讨论下网络数据传输过程中可能受到的威胁,其中常见的有: