密评 | IPSec流量包分析以及对各个消息的手工解析
内容提要
在密码测评过程中,分析IPSec VPN流量是重要的知识点。IPSec协议是通过加密数字信封来确保消息传输安全。主模式和快速模式是IPSec数据的两个阶段。第一阶段主模式主要是设备密钥协商,需要协议筛选出ISAKMP。第二阶段主要是响应方收到加密套件后,对比自己是否有相应的加密套件,发送自己的SPI值和选择好的加密套件。消息三和消息四交换数据,使用临时密钥进行加密保护,双方对数据进行数字签名。对于消息三的载荷值,我们可以通过解密获取到对称载荷SK的明文。
延伸解读
主模式与快速模式的分工
IPSec VPN流量分析中,主模式(6个数据包)负责设备密钥协商,生成工作密钥;快速模式(3个数据包)则用于后续的数据保护。主模式中,消息一和消息二交换SA载荷和证书,消息三和消息四交换Nonce、ID等,并用临时密钥Sk加密。理解这一分工,有助于在密评中定位关键协商环节,避免混淆两个阶段的分析重点。
利用Cookie值关联同一会话
在抓取大量ISAKMP数据包时,可通过双方Cookie值识别同一组IPSec VPN流量。文章指出,同一组流量中Cookie值相同,这为筛选特定会话提供了实用方法。实际测评中,面对混杂的流量,先按Cookie分组,再逐组分析,能提高效率并减少误判。
从证书中提取公钥用于验签解密
消息二中响应方携带双证书(签名证书和加密证书)。通过Wireshark复制Certificate Data为hex stream,转为base64后可查看证书信息,进而提取公钥。签名证书公钥用于验签,加密证书公钥用于解密临时密钥Sk。文章演示了从数据包中直接获取subjectPublicKey的方法,这是后续解密和验证的基础。
手工解析SK载荷的步骤与注意点
消息三中的SK载荷(类型128)使用响应方公钥加密。解析时需先去除ASN.1标识(如3079、0221等),得到密文,再用发送方加密私钥进行SM2解密,获得对称密钥SK明文。文章强调以国内标准为指导,注意数据包中可能显示为“Private Use”,但实际对应SK载荷。此过程需仔细处理数据格式,避免标识干扰。
Q&A
IPSec协议的主要功能是什么?
IPSec协议通过加密数字信封来确保消息传输的安全性。
IPSec数据的两个主要阶段是什么?
IPSec数据主要由主模式和快速模式两个阶段构成。
主模式在IPSec中主要负责什么?
主模式主要负责设备密钥的协商,并涉及ISAKMP协议。
快速模式的主要任务是什么?
快速模式主要是响应方收到加密套件后进行对比和数据交换。
在IPSec中,如何确保数据的完整性和真实性?
双方对数据进行数字签名,以确保数据的完整性和真实性。
如何通过解密获取对称载荷SK的明文?
通过使用发送方的私钥对SK的密文进行解密,可以获取对称载荷SK的明文。