一、网络加密的方式及实现
1、常见的加密算法
常见的密钥加密算法类型大体可以分为三类:对称加密、非对称加密、单向加密。
对称加密算法采用单密钥加密,在通信过程中,数据发送方将原始数据分割成固定大小的块,经过密钥和加密算法逐个加密后,发送给接收方;接收方收到加密 后的报文后,结合密钥和解密算法解密组合后得出原始数据。由于加解密算法是公开的,因此在这过程中,密钥的安全传递就成为了至关重要的事了。而密钥通常来说是通过双方协商,以物理的方式传递给对方,或者利用第三方平台传递给对方,且这过程出现了密钥泄露,不怀好意的人就能结合相应的算法拦截解密出其加密传输的内容。
非对称加密算法采用公钥和私钥两种不同的密码来进行加解密。公钥和私钥是成对存在,公钥是从私钥中提取产生公开给所有人的,如果使用公钥对数据进行加密,那么只有对应的私钥才能解密,反之亦然。
公钥加密,私钥解密。
私钥数字签名,公钥验证。
单向加密算法常用于提取数据指纹,验证数据的完整性。发送者将明文通过单向加密算法加密生成定长的密文串,然后传递给接收方。接收方在收到加密的报文后进行解密,将解密获取到的明文使用相同的单向加密算法进行加密,得出加密后的密文串。随后将之与发送者发送过来的密文串进行对比,若发送前和发送后 的密文串相一致,则说明传输过程中数据没有损坏,若不一致,说明传输过程中数据丢失了。单向加密算法只能用于对数据的加密,无法被解密,其特点为定长输出、雪崩效应。
链路加密:报头以密文传输,中间节点存在明文。开销大,需要对链路两端的加密设备进行系统同步。
节点加密:报头以明文传输,中间节点不存在明文。开销大,需要对链路两端的加密设备进行系统同步。
端到端加密:报头以明文传输,中间节点不存在明文。开销小,无需系统同步。
链路与端到端混合加密:报头以密文传输,中间节点不存在明文。开销大,需要对链路两端的加密设备进行系统同步。
二、密钥管理
密钥的种类
- 基本密钥:kp(Base Key),在较长时间由一对用户专用的密钥
- 会话密钥:ks(Session Key),两个通信终端用户在一次通话或交换数据时所用的密钥
- 密钥加密密钥:ke(Key Encrypting Key),用于对传送的会话或文件加密进行加密的密钥
- 主机主密钥:km(Host Master Key),对密钥加密密钥进行加密的密钥,存于主机处理器中
- 数据加密密钥:也称为工作密钥。
- 在双钥体制下,有公钥和私钥、签名密钥和证实密钥之分
密钥认证的分类
- 隐式密钥认证
- 密钥确证
- 显式密钥认证
三、密钥分配
密钥分配的方法
- 利用安全信道实现密钥传递
- 利用双钥体系建立安全信道传递
- 利用特定的物理现象(量子传递)实现密钥传递
密钥分配的模式
- 点对点密钥分配
- 密钥分配中心
- 密钥转递中心
四、可信第三方TTP
可信第三方的三种工作模式:
协调(In line)
联机(On line)
脱机(Off line)
在协调方式下,T是一个中间人,为A与B之间通信提供实时服务;
在联机方式下,T实时参与A和B每次协议的执行,但A和B之间的通信不必经过T;
在脱机方式下,T不实时参与A和B的协议,而是预先向A和B提供双方执行协议所需的信息。
当A和B属于不同的安全区域时,协调方式特别重要。证书发送管理机构常采用脱机方式。脱机方式对计算资源的要求较低,但在撤销权宜上不如其他两种方式方便。
TTP功能
- 密钥服务器
- 密钥管理设备
- 密钥查阅服务
- 时戳代理
- 仲裁代理
- 托管代理
密钥交换协议
- 采用单钥体制的密钥建立协议:通信双方需要依赖Trent,他的安全性也完全依赖于Trent,Trent可能成为影响系统性能的瓶颈。
- 采用双钥体制的密钥交换协议:通信双方的公钥被可信第三方签名后存入数据库中。不能阻挡中间人攻击。
- 联锁协议(一半密文传输):可以抵挡中间人攻击,中间人既不能对一半密文解密,也不能用一方的公钥加密。
- 采用数字签名的密钥交换:可以防止中间人攻击
- 密钥和消息广播:与多人通信
- Diffie-hellman密钥交换协议:不能抵抗中间人攻击,没有对通信双方的身份进行验证。
连锁协议
若通信双方是Alice和Bob,联锁协议主要过程如下:
- Alice将其公钥发送给Bob
- Bob将其公钥发送给Alice
- Alice用Bob的公钥对消息加密,此后,她将一半密文发送给Bob
- Bob用Alice的公钥对消息加密,此后,她将一半密文发送给Alice
- Alice发送另一半密文给Bob
- Bob将Alice发送的两部分密文结合在一起,并采用自己的私钥解密,Bob发送另一半密文给Alice
- Alice将Bob发送的两部分密文结合在一起,并采用自己的密钥解密
联锁协议抵抗中间人攻击的原理:
攻击者仅获得一半密文而没有获得另一半密文时,这些数据对攻击者来说毫无意义,因为攻击者无法解密。当Mallory截获Alice发送给Bob的一半消息时,他既不能对其解密。也不能用Bob的公钥重新加密。他必须产生一个全新的消息,并将其一半发给Bob。当他在第4步中截获Bob发给Alice的一半消息时,他会遇到相同的问题即:他既不能对其解密,也不能用Alice的公钥重新加密。他必须产生一个全新的消息。并将其一半发送给Alice。当Mallory在第5步和第6步截获真正的第二部消息时,对他来说为时已晚,他已来不及对前面伪造的消息进行修改。Alice和Bob会发现这种攻击,因为他们谈话的内容与伪造的消息有可能完全不同。
五、密钥保护
- 终端密钥保护
- 主机密钥保护
- 密钥分级保护管理法
按照协议的功能分类,密钥协议可以分为认证建立协议,密钥建立协议,认证的密钥建立协议
六、密钥的有效期
- 短期密钥,如会话密钥,试用期较短,具体期限由数据的价值、给定周期内加密数据的量来决定
- 密钥加密密钥属于长期密钥,不需要经常更换,一般一个月或一年更换一次
- 用于加密数据文件或存储数据的密钥不能经常更换
- 公钥密码的秘密密钥,使用期限由具体应用确定,过期密钥也要保留