IPSEC协议及当中IKE协商加解密原理
散列函数:也叫Hash函数,主要是为保证数据完整性,主流算法有MD5、SHA-1。
散列值:通过散列函数计算得到的结果
对称密钥算法:使用相同的密钥与算法对数据进行加解密 运算 - 优点:速度快、安全、紧凑 - 缺点:容易被中途劫持和窃听;参与者越多,密钥数据更多( [n*(n-1)]/2);密钥存储与管理麻烦;不支持数字签名和不可否认 性;如何把密钥发送给通信双方; - 主流协议:DES、3DES、AES、RC4 - 加密解决方案中不单纯使用对称加密
非对称密钥算法:用一个密钥加密数据,只能用另一个密 钥数据的加解密运算 • 使用非对称密钥技术前,都预先使用非对称密钥算法(如 :RSA)算出一个公钥(共享的)和私钥(私有的) • 仅用于密钥交换(加密密钥)和数字签名(加密散列) - 优点:不担心公钥被劫持、密钥数目与参与者数目相同、交换公 钥前无需预先建立某种信任关系、支持数字签名和不可否认性 - 缺点:加密速度非常慢、密文变长(几乎是源文的2倍); - 主流协议:RSA(数字签名和数字证书的主流协议)、DH( IPSec产生密钥资源的主要协议)、ECC(椭圆曲线算法) - 加密解决方案中不单纯使用对称加密
一句话总结:私钥是个人手里的,公钥是共享大家使用的,从使用者的角度出发去看使用方式就非常好区分了,对称加密:加密解密都是用相同的秘钥,非对称加密:加密和解密用的是不同的秘钥,至于要用公钥或者私钥去加密/解密,具体看需求而做。
IPSec有两种封装协议: - ESP(安全负荷封装,Encapsulation Security Payload) - AH(源认证头部,Authentication Header)
ESP的IP协议号为50 • 为数据提供加密、完整性和源认证的保护,也能抵御防重 放攻击(反复发送相同包,消耗目的主机资源) • 只能保护IP负载数据,不对原始IP头部做任何防护 • ESP能对ESP头部到ESP尾部的所有数据进行HMAC验证
AH的IP协议号为51 • 只能为数据提供完整性和源认证的安全服务,能抵御重放 攻击 • 不能提供私密性服务 • 实际部署IPSec VPN时很少单独使用AH(最初是为IPv6设计使 用的)
SHA1是由NISTNSA设计为同DSA一起使用的,它对长度小于264的输入,产生长度为160bit的散列值,因此抗穷举(brute-force)性更好,而SHA-1基于MD5,MD5又基于MD4.
一直以为HMACSHA1和SHA1没有任何区别,直到现在才发现它俩不是完全一样的。 HMAC的百度百科解释: “HMAC是密钥相关的哈希运算消息认证码(Hash-basedMessageAuthenticationCode),HMAC运算利用哈希算法,以一个密钥和一个消息为输入,生成一个消息摘要作为输出。”
可以看出,HMAC是需要一个密钥的。所以,HMACSHA1也是需要一个密钥的,而SHA1不需要,这里不再对算法深入研究了
预共享秘钥主要是验证身份信息的,验证身份信息的方式有两种,预共享秘钥和数字证书,用于IKE第一阶段,认证对等体是否合法,而与加密算法的区别是,加密算法是对数据进行加密,这是两回事,以前一直在混淆呢。
传统使用都是使用隧道模式,隧道模式的加密点不等于通信点,加密点之间的网络需要打通,所以企业局域网大都是用外网边界设备来开启IPSEC VPN,IPSec VPN用于加密数据的密钥,默认是1个小时(3600 秒)就要更新一次 • 下一次更新使用的密钥,是由当前这个小时使用的密钥, 通过一系列算法衍生出来的,这种密钥更新方法叫做完美 向前保密PFS(Perfect Forward Security) - Cisco IPSec VPN一旦启用了PFS,则每次更新都用一次全新的 DH交换产生下一小时的加密密钥
IKE:具体执行IPSec VPN预先协商的加密算法、散列函数、封 装协议和模式、密钥有效期等内容的任务的协议
IKE的两个阶段: - 第一阶段协商的主要目的:对建立IPSec的双方进行认证,确保只有合法的对等体(peer)才能建立IPSec VPN ;第二阶段协商的主要目的:根据需要加密的实际流量(感兴趣流 量),来协商保护这些流量的策略
感兴趣流量:到达IPSec VPN设备,需要被做加解密通信的流量 • 如果流量没有被归类到感兴趣流量,则数据部做加密而转 发到Internet
IPSEC协议及当中IKE协商加解密原理相关推荐
- 数字证书及网络加解密原理
数字证书及网络加解密原理 层次一 报文完整性验证 小明的明文(小刚的公钥加密)-> | 密文 |---传输----> |密文 |--------->(小刚私钥解密)------> ...
- Spring Boot 实现配置文件加解密原理
Spring Boot 配置文件加解密原理就这么简单 背景 接上文<失踪人口回归,mybatis-plus 3.3.2 发布>[1] ,提供了一个非常实用的功能 「数据安全保护」 功能,不 ...
- ECC椭圆曲线加解密原理详解(配图)
ECC椭圆曲线加解密原理详解(配图) 本文主要参照:ECC加密算法入门介绍及 ECC椭圆曲线详解(有具体实例) 前言: 椭圆曲线(ECC)加密原理跟RSA加解密原理比起来,可真是晦涩难懂.拜读了Kal ...
- 【密码学】DES加解密原理及其Java实现算法
DES简介 DES(Data Encryption Standard)是对称加解密算法的一种,由IBM公司W.Tuchman和C.Meyer在上个世纪70年代开发. 该算法使用64位密钥(其中包含8位 ...
- openGauss全密态黑科技再升级,无感知加解密原理剖析
要实现在客户端进行加解密,无疑需要在客户端进行大量维护管理,包括数据密钥管理,敏感数据加密,解析和修改SQL语句等.openGauss将这一系列的复杂操作,全部封装在客户端加密驱动中,实现了完全自动化 ...
- 彻底搞懂base64加解密原理和隐写技术
base64编码和解码是一个常用的方式,可以避免明文传输或者存储,也可以结合加解密技术进行使用. base64 编码的定义:base64编码表: base64 采用6位二进制进行编码,不足部分补足0, ...
- DVB CAS系统加解扰加解密原理
一.简介 条件接收系统CAS(Conditional Access System)是付费数字电视广播的核心技术,其主要功能是阻止非法入侵数字广播网络,并允许被授权的用户收看特定的节目而使未被授权的用户 ...
- shiro 721 反序列化漏洞复现与原理以及Padding Oracle Attack攻击加解密原理
文章目录 1. 前置知识 1.1 shiro550利用条件 原理 1.2 shiro721利用条件 原理 shiro-721对cookie中rememberMe的值的解析过程 1.3 基于返回包的sh ...
- 报文加解密原理_加密系统的组成与过程
加密系统的组成与过程 来源:超时代软件 更新时间:2018年11月28日 18:16:55 数据库透明加密就是把数据信息即明文转换为不可辨识的形式即密文的过程,目的是使不应了解该数据信息的人不 ...
最新文章
- 又居家办公了,要签合同怎么办?
- 关于idea打开项目没有目录
- LFS 安装笔记 (二)
- C++set容器去重法
- [react] shouldComponentUpdate方法是做什么的
- 1143 多少个Fibonacci数
- MySQL笔记-Windows安装MySQL5.7
- (37)VHDL实现RS触发器
- 天梯—计算阶乘和(C语言)
- 【Django】基于PythonWeb的Django框架设计实现天天生鲜系统-5数据库操作
- java日志(四)--jcl和log4j及log4j2使用
- 记一次亚马逊扩容报错data size unchanged, skipping问题
- INFOR WMS UI重构
- Bean with name ‘‘ has been injected into other beans [] in its raw version as part of a circular ref
- 如何看电脑支持最大多少内存条?仅需一个命令
- 数字图像处理 第二章数字图像基础
- 任命额外的项目经理时要谨慎行事(转)
- (附源码)ssm体育课堂管理系统 毕业设计181626
- 北京市石景山区谷歌卫星地图下载
- java中gui_java GUI 快速入门
热门文章
- 计算机打印错误,打印机错误正在打印处理方法,详细教您电脑打印机错误正在打印处理方法...
- xmpp学习使用简单介绍(二)
- 计算机2级都有哪些,计算机二级考试内容有哪些
- 【Linux】linux 终端报Message from syslogd
- caj格式如何转成pdf格式
- JSR 356 WebSocket (Java WebSocket 1.0) support is not available when running on Java 6. To suppress
- flask web开发 Set it to True to suppress this warning问题
- 安全芯片介绍-身份认证加密芯片方案
- 阿里小二最想销毁的照片都在这里了,时间真的是把杀猪刀?
- Word第n页显示第一页的页码