采用群组公钥的机制
根据2020年4月28日国家市场监督管理总局、国家标准化管理委员会发布的中华人民共和国国家标准公告(2020年第8号),全国信息安全标准化技术委员会归口的GB/T 20281-2020《信息安全技术防火墙安全技术要求和测试评价方法》等26项国家标准正式发布(其中7项密码标准),其中便有GB/T 38647,为 采用群组公钥的机制。
名词解释
辅助签名方 assistant signer:可以帮助主要签名方去创建匿名签名,但不可以独立地产生匿名签名的实体。
成员列表 member-list:包含群组成员身份及其对应的群组成员证书的列表。
主要签名方 principal signer:拥有群组成员签名密钥的实体,主签名方可以使用该密钥来创建匿名签名。
密钥种子值 secret seed value:群组成员所知的并且用来导出群组成员私钥的保密数据。
安全参数 security parameter:决定一个机制安全强度的变量。
采用群组公钥机制的过程
1密钥生成过程
2签名过程
3验证过程
4打开过程(如果机制支持打开能力)
5连接过程(如果机制支持连接能力)
6撤销过程
下面从中选取几个流程进行详细介绍:
1密钥产生过程
密钥产生过程由两部分组成: 建立过程和群组成员发布过程。
建立过程输入安全参数并产生群组公钥gpk和它对应的群组成员发布密钥gmik,群组成员打开密钥gmok和群组签名连接密钥gslk。
管理密钥gmik,gmok,和gslk分别由群组成员发布方、群组成员打开方和群组签名连接方安全存储。
群组成员发布过程如下:群组成员发布方管理一个成员列表LIST=(LIST[1],…,LIST[n]) ,其中n是目前已注册群组成员的数量。列表的每一条记录包含每一个注册用户的个人信息。两个子过程,用户加入 (由加入用户使用其身份ID进行) 和发布 (由群组成员发布方运行) 交互产生一个群组成员签名密钥。
2签名过程
群组成员签名密钥包括一个指数κ,κ表示该密钥已经进行了κ次撤销列表指数RI(群组签名撤销过程相关)注册更新。设λ是RI中最新的撤销密钥数量。为了产生一个签名,群组成员签名密钥需要λ次RI的注册更新。
已产生的签名包括一个λ,λ表示签名是使用已进行λ次RI的注册更新的密钥生成的。该签名可以使用已进行λ次RI的注册更新的群组公钥验证。
该签名过程输入群组公共参数 ( , , , ), , , , ),群组公钥 ,群组成员签名密钥 =(κ, x, y, z, A), 消息M∈{0,1}*,其中κ(≤ λ) 是签名方i最后更新的撤销列表指数i,而λ在所有群组成员中最新的撤销列表指数。
3验证过程
验证签名的指数为ρ,使用的群组公钥已经过ρ次RI的注册更新,应注意ρ可能不是RI中的最新的撤销密钥数量,因为一些密钥可能在之前的验证中被撤销。
4撤销过程
RI是撤销指数列表,它包含目前已撤销群组成员的所有指数。无论何时密钥被撤销,RI都能马上将它更新进去。RL是一个包含目前已撤销群组成员隐私信息的列表。假设RL总是更新到最新的撤销指数RI。任何人都可以公开地使用RL和RI。列表RI和RL的初始设置为空。
该撤销过程是一个全局撤销。它执行三个子过程,产生RL (由发布方执行),更新gpk(由任意一方执行)和更新usk(由合法签名方或群组成员执行)。