Mesign
- 关注
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
上一期我们对协议、密码协议等概念、基于密码国家标准和行业标准对IPSec VPN协议的技术规范等进行了介绍,并通过实际案例,解读了IPSec VPN协议测评验证方法。
本期我们继续跟着杨博士探索IPSec协议合规性验证方面的相关内容。
IPSec协议合规性验证
(1)IPSec VPN 设备协议配置检查
在确认IPSec协议合规性时,首先可以通过查看IPSec VPN设备的相关配置,如加密算法、认证算法、工作模式等,可以初步确认设备是否使用了商用密码算法和协议进行数据传输。
下图(图1)为某IPSec VPN设备的IPSec 协议配置页面,页面中包括了使用的密码算法、工作模式等。
图1
其中IKE协商交互方案参数如下:
加密算法:配置第一阶段的认证算法
认证算法:配置第一阶段的认证算法
密钥周期:配置第一阶段的密钥生存期
IPSec协商交互方案参数如下:
封包协议:配置IPSec封装报文协议
加密算法:配置第二阶段的加密算法
认证算法:配置第二阶段的认证算法
模式:“隧道模式”
密钥周期:配置阶段二的密钥生存期
配置生效后的策略状态如下图所示(图2):
图2
(2)传输数据包协议和算法核查
在确认过设备配置后,可以通过抓包分析,进一步确认密码协议和算法和合规性。
IPSec密钥交换协议包括第一阶段和第二阶段。第一阶段为主模式(main mode),第二阶段为快速模式(quick mode)。如下图所示(图3):
图3
从上图可以看出,主模式由6条消息组成,快速模式由3条消息构成,与标准定义一致。
根据标准定义,主模式的第1条和第2条消息主要用于协商SA,包括后续通信使用的加密算法、杂凑算法和鉴别算法。第1条消息是发送者发起的建议,第2条消息是接收者的响应。
第1条信息中安全联盟(也叫安全关联)中属性载荷信息包括了加密算法、认证算法和杂凑算法等数据。在安全联盟中,发送者提供了两种变换载荷,即变换载荷1和变换载荷2,变换载荷1和变换载荷2的加密算法不同,且变换载荷1优先选择。如下图所示(图4):
图4
第2条消息为接收者发送的确认信息,包括了加密算法、杂凑算法和鉴别算法,如下图所示(图5):
图5
该消息中发送的算法是后续通信使用的算法,包括加密算法为SM4算法、认证算法为公钥数字信封,杂凑算法为SM3等。因此,该消息是确认密码算法合规性最重要的消息之一。
此外,第2条消息中还包括接收者的加密证书和签名证书,可以通过查看证书的公钥,判断数字证书使用的密码算法,签名证书的公钥信息如下图所示(图6):
图6
加密证书的公钥信息如下图所示(图7):
图7
加密证书和签名证书使用的公钥均为SM2椭圆曲线公钥密码算法。
第3条和第4条消息主要包括对称密钥载荷、临时值(Nonce)、标识(ID)、数字证书、签名值等。Nonce是生成加密密钥和认证密钥所必需的参数;ID是发起者或接收者的标识。这些数据使用临时密钥Sk进行加密保护,Sk用对方加密证书中的公钥加密保护(对称密钥载荷),并且双方各自对数据进行数字签名(签名载荷)。如下图所示(图8-9):
图8 第3条消息
图9 第4条消息
消息5和6发起方和响应方鉴别前面的交换过程。这两个消息中传递的信息使用对称密码算法加密。两条消息为下图所示(图10-11):
图10
图11
主模式之后是第二阶段的快速模式,快速模式交换的信息由ISAKMP SA来保护,即除了ISAKMP头外所有的载荷都要加密。在快速模式中,一个Hash载荷应紧跟在ISAKMP头之后,这个Hash用于消息的完整性校验以及数据源身份验证。
在第二阶段,载荷的加密使用对称密码算法的CBC工作模式,第1个消息的IV是第一阶段的最后一组密文和第二阶段的MsgID进行Hash运算所得到的。如下图所示(图12):
图12
在后续的数据通信中,应用数据都采用ESP模式进行传输,传输的数据均为密文,如下图所示(图13):
图13
通过上述的产品配置检查和协议抓包分析,可以确定通信过程中密码协议的协商过程,以及最终协商使用的密码算法,从而判断网络和通信安全层面密码应用的的合规性和有效性。
本文章来源:国家网安检测中心
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)