Post

YD/T 4303-2023 基于IPSec协议的量子保密通信应用设备技术规范

量子密钥融合IKEv1国密主模式 行标

YD/T 4303-2023 基于IPSec协议的量子保密通信应用设备技术规范

字段介绍

  • IDi:发起方的标识载荷
  • IDr:响应方的标识载荷
  • SIGi:发起方的签名载荷
  • SIGr:响应方的签名载荷
  • CERT_sig_i:签名证书载荷
  • CERT_enc_i:加密证书载荷
  • MsgID:消息标识号
  • Ni:发起方的Nonce载荷
  • Nr:响应方的Nonce载荷
  • pub_i:发起方的公钥
  • pub_r:响应方的公钥
  • prv_i:发起方的私钥
  • prv_r:响应方的私钥
  • CKY-I:ISAKMP头中的发起方cookie
  • CKY-R:ISAKMP头中的响应方cookie

一阶段 – 主模式

1
2
3
4
5
6
7
8
     Initiator                          Responder  
    -----------                        -----------  
     HDR, SA, N(USE_QKDi)           -->  
                                    <--    HDR, SA, CERT_sig_r, CERT_enc_r, N(USE_QKDr)    
     HDR, XCHi, SIGi, N(USE_QKDs)   -->  
                                    <--    HDR, XCHr, SIGr  
     HDR*, HASHi                    -->  
                                    <--    HDR*, HASHr

其中:
消息1中USE_QKDi通知载荷用于使用量子加密服务的协商请求:
USE_QKDi = Usage[|Mode | Verdor | Version]
消息2中USE_QKDr通知载荷用于使用量子加密服务的协商应答和响应方量子加密服务密钥属性的交换、以及量子加密服务密钥获取结果的通知:
USE_QKDr = Usage[|Mode | Verdor | Version | config | KeyID | KeyLen | Envelope] | Status
消息3中的USE_QKDs通知载荷用于请求方量子加密服务密钥获取结果的通知:
USE_QKDs = Status

在量子加密服务协商成功时,在第一阶段协商生产原始工作密钥SKEYID_d、SKEYID_a、SKEYID_e后,使用量子加密服务密钥QK,与原始工作密钥进行融合。

  • 方式一:
    QSKEYID_d = prf+(QK_d, SKEYID_d)
    QSKEYID_a = prf+(QK_a, SKEYID_a)
    QSKEYID_e = prf+(QK_e, SKEYID_e)
    上述计算公式中的prf+定义为:
    prf+(K,S) = T1 | T2 | T3 …
    T1 = prf(K, S | 0x01)
    T2 = prf(K, T1 | S | 0x02)
    T3 = prf(K, T2 | S | 0x03)
  • 方式二:
    QSKEYID_d = QK_d ^ SKEYID_d
    QSKEYID_a = QK_a ^ SKEYID_a
    QSKEYID_e = QK_e ^ SKEYID_e

基于以上方式生成QSKEYID_d、QSKEYID_a、QSKEYID_e后,并使用QSKEYID_d替代原始工作密钥SKEYID_d作为会话密钥的派生密钥、QSKEYID_a替代原始工作密钥SKEYID_a作为工作密钥的认证密钥、QSKEYID_e替代原始工作密钥SKEYID_e作为工作密钥的加密密钥。

二阶段 – 快速模式

1
2
3
4
5
6
7
     Initiator                               Responder  
    -----------                              -----------  
     HDR*, HASH_1, SA, Ni [, IDci, 
      IDcr ], N(USE_QKDi)            -->  
                                     <--    HDR*, HASH_2, SA, Nr [, IDci, 
                                             IDcr ], N(USE_QKDr)  
     HDR*, HASH_3, N(USE_QKDs)       -->  

其中:
消息1中USE_QKDi通知载荷用于使用量子加密服务的协商请求:
USE_QKDi = Usage[|Mode | Verdor | Version]
消息2中USE_QKDr通知载荷用于使用量子加密服务的协商应答和响应方量子加密服务密钥属性的交换、以及量子加密服务密钥获取结果的通知:
USE_QKDr = Usage[|Mode | Verdor | Version | config | KeyID | KeyLen | Envelope] | Status
消息3中的USE_QKDs通知载荷用于请求方量子加密服务密钥获取结果的通知:
USE_QKDs = Status

在量子加密服务协商成功时,使用多个量子加密服务密钥QK1、QK2、QK3…QKn,与原始工作密钥进行融合。

  • 方式一:
    QKEYMAT1 = prf+(QK1, KEYMAT)
    QKEYMAT2 = prf+(QK2, KEYMAT)
    QKEYMAT3 = prf+(QK3, KEYMAT)

  • 方式二:
    QKEYMAT1 = QK1 ^ KEYMAT
    QKEYMAT2 = QK2 ^ KEYMAT QKEYMAT3 = QK3 ^ KEYMAT …

基于以上方式生成QKEYMAT,并使用QKEYMAT替代原始QKEYMAT,用于协商产生SA,每个QKEYMAT产生两个SA,一个入,一个出。

量子通知载荷

  • Usage: 量子加密服务密钥使用模式,1表示强制、2表示优选
  • Mode: 量子加密服务密钥融合模式, 1表示PRF推导、2表示XOR异或
  • Vendor: 厂商标识
  • Version: 协议版本
  • Config: 配置参数
  • KeyID: 量子加密服务密钥标识
  • KeyLen: 量子加密服务密钥长度
  • Envelope: 终端密钥信封
  • Status: 量子加密服务密钥状态,0表示成功,非0表示错误代码

流程图

image

image

This post is licensed under CC BY 4.0 by the author.