本文介绍的研究由王后珍、秦婉颖、刘芹、余纯武和沈志东共同完成,分别来自武汉大学国家网络安全学院、先进密码技术与系统安全四川省重点实验室(成都信息工程大学)、空天信息安全与可信计算教育部重点实验室(武汉大学)以及武汉大学计算机学院。该研究于2023年发表在《计算机研究与发展》期刊上,题为《基于身份的群组密钥分发方案》。
随着即时通讯软件的普及,群聊功能在工作和学术交流中扮演了重要角色。然而,群聊中的消息传输往往通过不安全的公开信道进行,攻击者可以通过窃听获取用户的隐私数据,导致信息泄露。因此,如何保障群聊中消息的安全性成为了一个亟待解决的问题。传统的解决方案是对群聊消息进行加密,但如何让所有群成员共享一个相同的会话密钥仍然是一个挑战。
1976年,Diffie和Hellman提出了Diffie-Hellman密钥交换协议,用于在一对一通信中建立共享会话密钥。然而,该协议无法直接应用于群组密钥的建立。为了解决这一问题,研究者们提出了群组密钥协商和群组密钥分发两种方案。群组密钥协商方案要求所有群成员共同参与密钥生成,而群组密钥分发方案则通过一个可信的第三方(群组密钥管理者)生成并分发密钥。本文提出了一种基于身份的群组密钥分发方案,旨在解决即时通讯群聊场景下的通信安全问题。
本文提出的方案基于国密SM9算法和多项式构造,将群组密钥嵌入到椭圆曲线点与多项式系数中进行分发。方案的主要流程包括系统初始化、群组密钥分发、新成员加入和老成员退出四个阶段。
系统初始化:密钥生成中心(KGC)生成系统参数,并为每个注册用户生成长期私钥和公开参数。KGC选择一个大素数p和一个大素数n,构造双线性映射,并选择哈希函数和加密私钥生成函数识别符。KGC公开系统参数,并秘密保存主私钥。
群组密钥分发:群主生成群组密钥,并计算相关参数。群主随机生成一个整数q和一个群组密钥k,构造多项式并将系数广播给群成员。群成员通过接收到的参数计算出群组密钥。
新成员加入:当有新成员加入群聊时,群主重新生成群组密钥和相关参数,并广播给所有群成员。新成员通过接收到的参数计算出新的群组密钥。
成员退出:当有成员退出群聊时,群主重新生成群组密钥和相关参数,并广播给剩余的群成员。剩余的群成员通过接收到的参数计算出新的群组密钥。
本文方案的正确性和安全性得到了严格的理论证明。通过将方案的安全性归约到椭圆曲线计算性Diffie-Hellman(ECCDH)问题上,证明了该方案能够抵抗被动攻击。实验结果表明,本文方案在小规模群组中表现良好,但在大规模群组中,群主分发密钥的时间较长。然而,这种额外的时间代价是为了保障群聊消息的机密性而不可避免的。
本文提出的基于身份的群组密钥分发方案具有以下优势: 1. 基于身份的密码体制:避免了公钥证书机制,降低了密钥管理的复杂性。 2. 兼容性较好:基于国密SM9算法构建,能更好地保障我国政府及企业的通信安全。 3. 支持离线操作:群组密钥分发操作仅要求群主在线,其他群成员可以在群主分发群组密钥时处于离线状态。 4. 支持群组密钥恢复:当群成员存储在本地的群组密钥丢失时,可向服务器请求参数以恢复丢失的群组密钥。
本文方案在即时通讯群聊场景中具有重要的应用价值,能够有效保障群聊消息的安全性,同时简化了密钥管理的流程。
本文还通过仿真实验对方案的时间性能进行了分析,结果表明,本文方案在小规模群组中表现良好,但在大规模群组中,群主分发密钥的时间较长。然而,这种额外的时间代价是为了保障群聊消息的机密性而不可避免的。此外,本文方案在兼容性、密钥管理和通信开销方面均优于现有的典型方案。
本文提出的基于身份的群组密钥分发方案在即时通讯群聊场景中具有重要的科学价值和应用价值,能够有效保障群聊消息的安全性,同时简化了密钥管理的流程。