文章目录
- 一、自学网络安全学习的误区和陷阱
- 二、学习网络安全的一些前期准备
- 三、自学网络安全学习路线
- 一、安全协议概述
- 二、IPSec协议
- 1、概述
- 2、IP封装过程
- 3、IPSec不安全性
- 4、IPSec的功能
- 5、IPSec体系结构
- 6、IPSec的AH
- 7、IPSec的AH
- 8、IPSec的ESP
- 9、IPSec的ESP
- 10、ISAKMP
- 11、IKE
- 三、TLS协议
- 1、TLS概述
- 2、TLS工作原理
- 3、TLS的特点和不足
- 四、Kerberos协议
- 1、Kerberos概述
- 2、Kerberos工作原理
- 3、Kerberos的特点和不足
- 五、SET协议
- 1、SET概述
- 2、SET的模型
- 3、SET工作过程
- 4、SET安全功能
- 5、SET和TLS协议的比较
一、自学网络安全学习的误区和陷阱
1.不要试图先成为一名程序员(以编程为基础的学习)再开始学习
我在之前的回答中,我都一再强调不要以编程为基础再开始学习网络安全,一般来说,学习编程不但学习周期长,而且实际向安全过渡后可用到的关键知识并不多
一般人如果想要把编程学好再开始学习网络安全往往需要花费很长时间,容易半途而废。而且学习编程只是工具不是目的,我们的目标不是成为程序员。建议在学习网络安全的过程中,哪里不会补哪里,这样更有目的性且耗时更少
2.不要把深度学习作为入门第一课
很多人都是冲着要把网络安全学好学扎实来的,于是就很容易用力过猛,陷入一个误区:就是把所有的内容都要进行深度学习,但是把深度学习作为网络安全第一课不是个好主意。原因如下:
【1】深度学习的黑箱性更加明显,很容易学的囫囵吞枣
【2】深度学习对自身要求高,不适合自学,很容易走进死胡同
3.不要收集过多的资料
网上有很多关于网络安全的学习资料,动辄就有几个G的材料可以下载或者观看。而很多朋友都有“收集癖”,一下子购买十几本书,或者收藏几十个视频
网上的学习资料很多重复性都极高而且大多数的内容都还是几年前没有更新。在入门期间建议“小而精”的选择材料,下面我会推荐一些自认为对小白还不错的学习资源,耐心往下看
二、学习网络安全的一些前期准备
1.硬件选择
经常会问我“学习网络安全需要配置很高的电脑吗?”答案是否定的,黑客用的电脑,不需要什么高的配置,只要稳定就行.因为黑客所使用的一些程序,低端CPU也可以很好的运行,而且不占什么内存.还有一个,黑客是在DOS命令下对进行的,所以电脑能使用到最佳状态!所以,不要打着学习的名义重新购买机器…
2.软件选择
很多人会纠结学习黑客到底是用Linux还是Windows或者是Mac系统,Linux虽然看着很酷炫,但是对于新人入门并不友好。Windows系统一样可以用虚拟机装靶机来进行学习
至于编程语言,首推Python,因为其良好的拓展支持性。当然现在市面上很多网站都是PHP的开发的,所以选择PHP也是可以的。其他语言还包括C++、Java…
很多朋友会问是不是要学习所有的语言呢?答案是否定的!引用我上面的一句话:学习编程只是工具不是目的,我们的目标不是成为程序员
(这里额外提一句,学习编程虽然不能带你入门,但是却能决定你能在网络安全这条路上到底能走多远,所以推荐大家自学一些基础编程的知识)
3.语言能力
我们知道计算机最早是在西方发明出来的,很多名词或者代码都是英文的,甚至现有的一些教程最初也是英文原版翻译过来的,而且一个漏洞被发现到翻译成中文一般需要一个星期的时间,在这个时间差上漏洞可能都修补了。而且如果不理解一些专业名词,在与其他黑客交流技术或者经验时也会有障碍,所以需要一定量的英文和黑客专业名词(不需要特别精通,但是要能看懂基础的)
比如说:肉鸡、挂马、shell、WebShell等等
三、自学网络安全学习路线
重点内容
安全协议概述
IPsec协议
TLS协议
Kerberos协议
SET协议
一、安全协议概述
所谓协议,就是两个或两个以上的参与者为完成某项特定的任务而采取的一系列步骤。它包含三层含义:
协议自始至终是有序的过程,每一个步骤必须执行,在前一步没有执行完成之前,后面的步骤不可能进行;
协议至少需要两个参与者;
通过协议必须能够完成某项任务。
基本的密码协议按照其完成的功能可以分为三类:
密码交换协议
认证协议
认证和密钥交换协议
二、IPSec协议
1、概述
IPSec概述
端到端的确保IP层通信安全的机制
协议簇:12个RFC文件,几十个草案
IPv6的组成部分(IPv6必须支持)
同时支持IPv4(可选)
IPSec为IP层提供安全服务,使系统能按需选择安全协议
决定服务所使用的算法及放置服务所需密钥到相应位置
IPSec能提供的安全服务包括
访问控制
无连接的完整性
数据源认证
抗重播(replay)保护
保密性和有限传输流保密性在内的服务
IPSec也支持IP压缩协议
2、IP封装过程
3、IPSec不安全性
窃听
篡改
IP欺骗
重放攻击
4、IPSec的功能
实现VPN(隧道模式)
保证数据来源可靠(身份认证)
保证数据完整性(验证算法)
保证数据机密性(加密)
5、IPSec体系结构
6、IPSec的AH
IPSec的认证头协议AH(Authentication Header)
7、IPSec的AH
传输模式:
AH头插入到IP头部之后、传输层协议之前
验证范围整个IP包,可变字段除外
与NAT冲突,不能同时使用
AH隧道模式
AH插入到原始IP头部之前,然后在AH外面再封装一个新的IP头部
验证范围整个IP包,也和NAT冲突
8、IPSec的ESP
IPSec的安全负载封装协议
(ESP,Encapsulated Security Payload)
9、IPSec的ESP
传输模式
保护内容是IP包的载荷(如TCP、UDP、ICMP等)
ESP插入到IP头部之后,传输层协议之前
验证和加密范围不是整个IP包
隧道模式
保护的内容是整个IP包,对整个IP包加密
ESP插入到原始IP头部前,在ESP外再封装新的IP头部
10、ISAKMP
因特网SA密钥管理SA(ISAKMP SA:Internet Security
Association Key Management Security Association)
定义了建立、维护、删除SA的过程和包格式
只提供通用框架,没有具体定义SA格式
独立于加密算法、密钥交换协议、鉴别算法
ISAKMP报文使用500端口(TCP/UDP)
双方交换的内容-载荷,13种
因特网SA密钥管理功能分为两个阶段:
Two phases of negotiation
The first phase, 建立起ISAKMP SA
双方商定如何保护以后的通讯,通信双方建立一个已通过身份鉴别
和安全保护的通道此SA将用于保护后面的protocol SA的协商过程
The second phase, 建立起针对其他安全协议的SA
这个阶段可以建立多个SA
这些SA将被相应的安全协议用于保护数据或者消息的交换(如AH或
ESP)
11、IKE
混合型协议,包含3个不同协议的有关部分:ISAKMP、Oakley、SKEME
IKE真正定义了一个密钥交换过程(ISAKMP只是框架)
为IPSec通信双方提供密钥材料,用于生成加密密钥和验证密钥
为IPSec协议AH、ESP协商SA
4种身份认证方式
4种交换模式
三、TLS协议
1、TLS概述
安全传输层协议(TLS:Transport Layer Security Protocol)用于在两个通信应用程序之间提供保密性和数据完整性。
1997年,IETF基于SSLv3协议发布了TLS(Transport Layer Security)v1传输层安全协议的草案
1999年,正式发布了RFC2246
从TLSvl成为工业标准以后,TLSvl在因特网上已得到了广泛的应用
除了如S/HTTP,S/MIME,SSL-Telnet,SSL-SMTP和SSL-POP3等常用的协议以外,目前许多电子商务和电子政务系统也基于TLS来确保其安全性
2、TLS工作原理
该协议由两层组成: TLS 记录协议(TLS Record)和 TLS 握手协议(TLS Handshake)。
TLS 记录协议是一种分层协议。每一层中的信息可能包含长度、描述和内容等字段。记录协议支持信息传输、将数据分段到可处理块、压缩数据、应用 MAC 、加密以及传输结果等。对接收到的数据进行解密、校验、解压缩、重组等,然后将它们传送到高层客户机。
TLS 握手协议由三个子协议组构成,允许对等双方在记录层的安全参数上达成一致、自我认证、例示协商安全参数、互相报告出错条件。
TLS建立会话协商的参数、握手协议过程等与SSL一致,其基本的工作流程分为如下两个阶段:
服务器认证阶段。
客户端向服务器发送一个开始信息“Hello”以便开始一个新的会话连接;
服务器根据客户的信息确定是否需要生成新的主密钥,如需要则服务器在响应客户的“Hello”信息时将包含生成主密钥所需的信息;
客户根据收到的服务器响应信息,产生一个主密钥,并用服务器的公开密钥加密后传给服务器;
服务器恢复该主密钥,并返回给客户一个用主密钥认证的信息,以此让客户认证服务器。
用户认证阶段
3、TLS的特点和不足
TLS的特点 :
TLS 记录协议用于封装各种高层协议
可以使用非对称的,或公共密钥的密码术来认证对等方的身份
共享加密密钥的协商是安全的
协商是可靠的
TLS 的最大优势就在于:TLS 是独立于应用协议
TLS的不足 :
TLS 标准并没有规定应用程序如何在 TLS 上增加安全性
把如何启动 TLS 握手协议以及如何解释交换的认证证书的决定权留给协议的设计者和实施者来判断
四、Kerberos协议
1、Kerberos概述
Kerberos协议主要用于计算机网络的身份认证(Authentication), 其特点是用户只需输入一次身份验证信息就可以凭借此验证获得的票据(ticket-granting ticket)访问多个服务,即SSO(Single Sign On)。
Kerberos 是一种网络认证协议,其设计目标是通过密钥系统为客户机 / 服务器应用程序提供强大的认证服务。
认证过程的实现不依赖于主机操作系统的认证,无需基于主机地址的信任,不要求网络上所有主机的物理安全,并假定网络上传送的数据包可以被任意地读取、修改和插入数据。
Kerberos 作为一种可信任的第三方认证服务,是通过传统的密码技术(如:共享密钥)执行认证服务的。
2、Kerberos工作原理
Client向KDC发送自己的身份信息,KDC从Ticket Granting Service得到TGT;
Client利用之前获得的TGT向KDC请求其他Service的Ticket,从而通过其他Service的身份鉴别。
Client将之前获得TGT和要请求的服务信息(服务名等)发送给KDC,KDC中的Ticket Granting Service将为Client和Service之间生成一个Session Key用于Service对Client的身份鉴别;
此时KDC将刚才的Ticket转发给Client;
为了完成Ticket的传递,Client将刚才收到的Ticket转发到Service;
Service 收到Ticket后利用它与KDC之间的密钥将Ticket中的信息解密出来,从而获得Session Key和用户名,用户地址(IP),服务名,有效期。
如果Service有返回结果,将其返回给Client。
3、Kerberos的特点和不足
Kerberos的特点 :
保密性
完成ticket的安全传递。
完整性
完成了Session Key的安全发布。
Kerberos的不足 :
由于kerberos协议的消息无法穿透防火墙,因此限制了该协议往往应用于一个组织内部,这一点使得其的应用范围受到一定局限性。
五、SET协议
1、SET概述
1996年2月,由VISA和MasterCard两大信用卡公司提出了SET(Secure Electronic Transaction)协议,该协议是在因特网环境中解决用户、商家和银行之间通过信用卡支付交易而设计的安全规范。SET是目前惟一保证信用卡信息能安全可靠地通过因特网传输的新协议。
采用SET协议进行网上交易支付时,主要涉及:
持卡人,即消费者,他们通过Web浏览器或客户端软件购物;
商家,在Intemet上提供在线商店;
发卡人,通常为银行,为持卡人开设账户,并且发放用于网上支付的信用卡;
支付者,通常为银行,为商家建立账户,并且处理支付卡的认证和支付的事务;
支付网关,实现对支付信息从Intemet到银行内部网络的转换,用来处理商家支付。
2、SET的模型
3、SET工作过程
在进行SET交易之前,消费者首先需要向支持SET的银行申请开户,获得一个用于网上支付的信用卡账户。同时,消费者和商家还必须从CA认证中心那里申请相应的X.509数字证书。此后,商家就可以在因特网上开设超市,持卡人(消费者)也就可以通过浏览器在因特网实现购物。
1.订购商品
2.购买商品
3.处理订单
4.支付
5.购买应答
4、SET安全功能
SET协议的安全措施十分完善,它把对称密钥体制和公开密钥体制完美地结合了起来,利用数字信封技术进行密钥的安全可靠交换,通过DES,RSA等进行高效率数据加密,利用数字证书、消息摘要、时间戳、数字签名和双重签名等技术确保信息的完整性和不可抵赖性等,具有安全性高、密钥管理简便等优点。
5、SET和TLS协议的比较
SET与TLS同样提供了电子安全交易的机制,但是运行方式有所差别。
(1) SET是一个多方的报文协议,它定义了银行、商店和消费者之间必需遵守的报文规范;TLS只是简单地在交易双方之间建立了安全连接;
(2) TLS是面向连接的;而SET允许各方之间的报文交换不是实时的;
(3) SET报文能够在银行内部网或者其他网络上传输;而TLS之上的交付系统只能与WEB浏览器捆绑在一起工作;
(4) SET的安全需求较高,因此所有参与SET交易的成员(消费者、商店、支付网关等)都必须先申请数字证书来识别身份,并且整个交易过程都受到严密的保护;而在TLS中只有商店端的服务器需要认证,客户端认证是可选的,同时交易过程中的安全范围只限于消费者到商店的信息交换;
(5) SET交易,除了申请数字证书之外,还必须安装符合SET规范的电子钱包软件;而TLS交易不需要;
(6) 由于SET的成本较高,并且引入中国的时间较短,目前是以TLS的普及率较高,大约有7-8成,但是网上交易的安全性需求不断提高,可以预料SET将会成为日后市场的主流。