Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
🖋️ BS ISO/IEC 18370 是英国标准协会(BSI)采用 ISO/IEC 18370 系列发布的信息安全技术标准,主题为盲数字签名(blind digital signatures)。所谓盲签名,是指签名者在一个”看不见”消息内容的前提下完成签名的特殊数字签名:消息持有者首先对原始消息进行盲化(blinding)处理,将盲化后的结果交给签名者,签名者对其签名;随后持有者通过去盲(unblinding)操作,得到一份针对原始消息的有效签名。由于签名者自始至终看不到消息的真实内容,它无法把这次签名请求与将来出现的有效签名关联起来,从而实现了”匿名但可验证”的密码学目标。该系列英国方面由技术委员会 IST/33/2(密码学与安全机制)参与制定,ICS 分类为 35.040,属于信息技术安全技术分支。
盲数字签名的概念最早由密码学家 David Chaum 在 20 世纪 80 年代提出,最初的设计目标就是电子现金(e-cash)与匿名投票。在其后的几十年里,盲签名不断被改进与形式化,逐步成为保护用户隐私的重要密码学原语。BS ISO/IEC 18370 系列把这个领域的研究成果固化为可实施的国际标准,目前共收录两个部分:第 1 部分规定总体要求(General),第 2 部分规定基于离散对数的具体机制(Discrete logarithm based mechanisms)。
本系列两个部分的标准编号、主题与发布信息如下表所示:
| 标准号 | 主题 | 发布时间 |
|---|---|---|
| BS ISO/IEC 18370-1:2016 | 第 1 部分:总体要求(General) | 2016-11-15 首版 |
| BS ISO/IEC 18370-2:2016 | 第 2 部分:基于离散对数的机制 | 2016-07-01 首版 |
两个部分既相互独立又彼此衔接:第 1 部分不针对某种具体算法,而是定义盲签名的一般概念、参与实体、安全要求与通用模型,为所有盲签名实现提供统一框架;第 2 部分则以离散对数问题的困难性为依据,给出可证明安全的盲签名机制,包括密钥生成、盲化、签名、去盲与验证等完整环节。无论是评估第三方实现还是自行设计,都应先从第 1 部分的概念模型出发,再对照第 2 部分的机制要求进行验证。
BS ISO/IEC 18370-1 定义了盲签名涉及的参与实体,主要包括三类:
一次完整的盲签名交互通常包含以下环节:持有者生成消息并选择随机盲化因子,用因子对消息进行盲化;持有者将盲化后的消息发送给签名者;签名者使用私钥对盲化消息签名并返回;持有者去除盲化因子,得到针对原始消息的签名;验证者使用公钥完成验证。标准对这些环节的输入输出、参数选择与安全约束都给出了明确约定,确保不同实现之间可以互操作。
第 1 部分还规定了盲签名的安全属性:盲性(blindness,签名者无法获知消息内容)、不可伪造性(unforgeability,未持有私钥者无法产生有效签名)与不可链接性(unlinkability,签名者无法将签名请求与有效签名对应起来)。这些属性必须同时满足,缺一不可。
BS ISO/IEC 18370-1:2016 的内容结构主要包括:范围、规范性引用文件、术语与定义、缩略语与图形元素,以及盲签名总体要求等章节。其中,术语与定义部分统一了盲化、签名、去盲、验证等关键术语,避免了不同实现之间因术语歧义导致的互操作问题;图形元素部分则以符号化方式描述协议流程,帮助读者准确理解各步骤之间的依赖关系与消息流向。
总体要求部分从一般性角度说明了盲签名机制应满足的条件,包括系统参数的选择、密钥管理的要求、签名与验证过程的输入输出约定等。它为后续机制部分提供了概念与安全的双重基础,也是评估某种盲签名方案是否符合标准的主要依据。
BS ISO/IEC 18370-2:2016 规定了基于离散对数问题的盲签名机制。离散对数问题被公认为密码学中研究最充分、安全性最可靠的困难问题之一,基于它的方案通常具有良好的效率与可证明安全性。第 2 部分的内容主要包括:
在实际实现中,基于离散对数的盲签名可以建立在有限域乘法群上,也可以建立在椭圆曲线群上。椭圆曲线版本在相同安全强度下可以使用更短的密钥长度,计算与存储开销更低,更适合资源受限的移动设备与嵌入式环境。标准对上述两种实现路线都留有空间,具体要求以具体机制条款为准。
盲数字签名在需要”匿名但可验证”的场景中具有广泛用途,常见应用包括:
工程实践要点包括:选择足够大的安全参数并持续关注密码学进展;在系统设计中清晰分离盲化与签名职责,避免密钥外泄;对实现进行安全审计,尤其关注随机数与密钥管理;评估底层离散对数问题在量子计算背景下的风险,必要时提前规划迁移路线。