BS ISO IEC 18370——盲数字签名(Blind Digital Signatures)标准系列

Information technology — Security techniques — Blind digital signatures — Part 1 & Part 2(2016)

🖋️ 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 定义了盲签名涉及的参与实体,主要包括三类:

  • 签名者(signer):持有私钥并对盲化后消息进行签名的实体,通常指认证机构或发证机构;
  • 消息持有者(requester / message owner):拥有待签消息、执行盲化与去盲操作的实体,通常是用户或终端设备;
  • 验证者(verifier):利用签名者公钥验证签名有效性的任何实体。

一次完整的盲签名交互通常包含以下环节:持有者生成消息并选择随机盲化因子,用因子对消息进行盲化;持有者将盲化后的消息发送给签名者;签名者使用私钥对盲化消息签名并返回;持有者去除盲化因子,得到针对原始消息的签名;验证者使用公钥完成验证。标准对这些环节的输入输出、参数选择与安全约束都给出了明确约定,确保不同实现之间可以互操作。

第 1 部分还规定了盲签名的安全属性:盲性(blindness,签名者无法获知消息内容)、不可伪造性(unforgeability,未持有私钥者无法产生有效签名)与不可链接性(unlinkability,签名者无法将签名请求与有效签名对应起来)。这些属性必须同时满足,缺一不可。

三、总体要求(第 1 部分)详解 📐

BS ISO/IEC 18370-1:2016 的内容结构主要包括:范围、规范性引用文件、术语与定义、缩略语与图形元素,以及盲签名总体要求等章节。其中,术语与定义部分统一了盲化、签名、去盲、验证等关键术语,避免了不同实现之间因术语歧义导致的互操作问题;图形元素部分则以符号化方式描述协议流程,帮助读者准确理解各步骤之间的依赖关系与消息流向。

总体要求部分从一般性角度说明了盲签名机制应满足的条件,包括系统参数的选择、密钥管理的要求、签名与验证过程的输入输出约定等。它为后续机制部分提供了概念与安全的双重基础,也是评估某种盲签名方案是否符合标准的主要依据。

✅ 第 1 部分的最大价值是”概念中立”:它不绑定任何具体密码算法,因此即使底层数学困难问题发生变化(例如未来引入抗量子机制),概念模型仍然适用,标准体系可以平滑演进而不必重构。

四、基于离散对数的机制(第 2 部分) 🔧

BS ISO/IEC 18370-2:2016 规定了基于离散对数问题的盲签名机制。离散对数问题被公认为密码学中研究最充分、安全性最可靠的困难问题之一,基于它的方案通常具有良好的效率与可证明安全性。第 2 部分的内容主要包括:

  • 符号与参数:定义群、生成元、群的阶、哈希函数等系统参数;
  • 一般要求:规定密钥长度、随机性来源、协议运行条件等安全要求;
  • 盲签名机制:给出盲化、签名、去盲、验证等机制的完整算法流程与验证方程;
  • 安全性说明:说明机制所依赖的安全假设以及各项安全属性成立的条件。

在实际实现中,基于离散对数的盲签名可以建立在有限域乘法群上,也可以建立在椭圆曲线群上。椭圆曲线版本在相同安全强度下可以使用更短的密钥长度,计算与存储开销更低,更适合资源受限的移动设备与嵌入式环境。标准对上述两种实现路线都留有空间,具体要求以具体机制条款为准。

🚨 实现警示:盲签名的安全性高度依赖随机数质量。盲化因子必须来自符合要求的随机数发生器,任何随机性缺陷都可能破坏盲性与不可链接性,导致用户隐私泄露。实现与安全审计时应把随机数管理作为重点检查项。

五、应用场景与工程实践 🔍

盲数字签名在需要”匿名但可验证”的场景中具有广泛用途,常见应用包括:

  • 电子投票:选民将选票盲化后交由选举机构签名,去盲后再提交投票,既保证选票可验证,又防止选举机构将选票与选民关联;
  • 电子现金:银行对盲化的”现金币”签名,用户去盲后可匿名消费,防止伪造与重复支付;
  • 匿名凭证与数字身份:认证机构对盲化的属性凭据签名,用户按需选择性披露,实现最小化隐私泄露;
  • 隐私保护审计:在需要第三方背书但又不能暴露内容主体的场景中提供可验证凭证。

工程实践要点包括:选择足够大的安全参数并持续关注密码学进展;在系统设计中清晰分离盲化与签名职责,避免密钥外泄;对实现进行安全审计,尤其关注随机数与密钥管理;评估底层离散对数问题在量子计算背景下的风险,必要时提前规划迁移路线。

六、常见问题解答 ❓

❓ 问:盲签名与普通数字签名的本质区别是什么?
答:普通签名中签名者清楚所签消息的内容;盲签名中签名者只对盲化后的消息签名,看不到原始消息,因而无法将签名与特定持有者关联,从而实现隐私保护。
❓ 问:盲签名提供哪些核心安全属性?
答:主要包括盲性(签名者不知道消息内容)、不可伪造性(无私钥无法伪造有效签名)与不可链接性(签名者无法把签名请求与公开的有效签名对应起来)。
❓ 问:为什么第 2 部分聚焦”离散对数”机制?
答:离散对数问题是密码学中研究最充分、可证明安全性最可靠的困难问题之一,基于它的盲签名机制效率高、安全性可论证,是标准化的主流选择;同时还可扩展到椭圆曲线群以缩短密钥长度。
❓ 问:盲签名在电子投票中如何防止重复投票?
答:选举机构对每张盲化选票签名一次,并在验证阶段检查签名唯一性;由于盲性,机构无法把选票对应回具体选民,从而在保障匿名性的同时实现”一人一票”。
❓ 问:第 1 部分与第 2 部分应如何配合使用?
答:先依据第 1 部分建立概念模型与安全要求,再按第 2 部分选择具体机制实现;两部分共同提供从概念到算法的完整标准化链条。
🔒
正在加载下载地址,请稍候 10 秒

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注