Page 406 - 《软件学报》2026年第4期
P. 406

徐易 等: 基于真实源地址验证的轻量共识机制                                                          1847


                 HMAC) 技术, 以支持    IP  地址身份验证. HMAC   采用对称密钥对哈希值进行加密, 能确保共识消息的完整性, 同时
                 也满足身份验证的需求. 整个轻量化共识过程中的节点行为可以分为两类: 共识消息发送和共识消息接收.

                      传统共识过程: 基于公私钥验证节点身份                              轻量共识过程: 使用 HMAC 支持 IP 地址身份验证

                      共识消息              共识消息                               共识消息              共识消息
                       发送方               接收方                                发送方               接收方
                               公钥获取                                               对称密钥协商
                                                         密钥选择:
                                                          对称密钥
                                                           取代
                                                        非对称公私钥
                             共识消息收发                                               共识消息收发

                     计算哈希: hash=hash(data)                                查询对称密钥: key=search(IP des )
                     签名: sig=sign(hash, key pri )                         计算 HMAC: hmac=HMAC(data, key)
                          message(data, hash, sig)                             message(data, hash, sig)
                                                         身份验证:
                                                  HMAC 支持的 IP 地址身份验证
                           查询公钥: key pub =search(IP sro )  取代                查询对称密钥: key=search(IP src )
                           验证签名: verify(sig, key pub )  基于哈希和签名的身份验证         验证 HMAC: verify(data, hmac, key)
                           验证哈希: verify(data, hash)

                                             图 4 轻量共识过程中节点行为示意图

                    共识消息发送: 为降低发送共识消息的通信与计算开销, 在发送共识消息时, 本文框架结合                           IP  地址和  HMAC,
                 在共识消息中附加节点身份信息. 具体而言, 发送共识消息时, 共识节点首先根据目标节点的                            IP  地址, 通过密钥维
                 护模块查看“对称密钥-地址域”对应表, 判断目标节点是否为信任联盟内可信地址域的下级地址. 如果目标节点在
                 信任联盟内, 共识节点将使用接收方所在地址域对应的对称密钥, 对共识消息内容生成                            HMAC, 并将其附加到消
                 息中发送. 如果目标节点不在信任联盟内, 共识节点则遵循传统共识过程的身份验证流程, 对消息内容进行哈希计

                 算和签名后发送共识消息.
                    共识消息接收: 在接收共识消息时, 本文框架根据共识消息中附带的                      HMAC, 通过对称密钥验证源节点所在
                 地址域, 并根据    IP  地址验证源节点身份. 具体而言, 在接收到共识消息后, 共识节点首先根据消息的源                       IP  地址, 通
                 过密钥维护模块的“对称密钥-地址域”对应表查找该地址, 判断消息源节点是否为网络信任联盟内地址域的下级
                 地址. 如果源节点在信任联盟内, 共识节点将使用源节点所在地址域对应的对称密钥, 对共识消息中的                                HMAC  进
                 行验证; 验证通过后, 根据共识消息源地址进一步确认源节点身份. 如果源节点不在信任联盟内, 共识节点将遵循

                 传统基于非对称加密的身份验证流程, 对消息中的签名进行验证.
                    为确保消息完整性, 同时降低验证开销, 本文框架在生成消息的哈希值时采用密钥关联的                               HMAC. 具体而
                 言, 在  HMAC  生成过程中, 发送方会根据密钥维护模块分发的“对称密钥-地址域”对应关系, 将收发双方所在地
                 址域协商的对称密钥输入到           HMAC  计算过程中, 确保生成的        HMAC  含有该密钥信息, 从而支持身份验证的功
                 能. 在  HMAC  验证过程中, 接收方会使用相同的对称密钥进行                HMAC  计算, 并对比生成的      HMAC  值与消息中
                 附带的   HMAC  值, 以验证双方密钥的一致性及消息的完整性, 从而完成身份验证. 由于信任联盟内地址域之间
                 的对称密钥是独立协商生成的, 任意两个地址域之间的对称密钥均唯一且互不共享. 这种“对称密钥-地址域”对
                 应关系的唯一性能显著降低节点身份验证的复杂度, 同时确保共识消息的可靠性和安全性, 从而实现轻量化共
                 识过程.

                  6   安全性分析

                    本节对所提出的轻量共识框架进行安全性分析. 共识机制的目的是让所有诚实的共识节点达成一致, 因而共
                 识机制的安全性在于确保共识过程和结果的一致性和有效性. 为了保证二者的一致性和有效性, 进而确保共识过
   401   402   403   404   405   406   407   408   409   410   411