敏感信息不方便公开 数字契约可采用盲签名
数字签名在数字契约中包含不便公开的敏感信息时,如何进行有效的签名?签名时看不到信息明文,日后出现纠纷该如何追究维权?连签名者都看不到数据信息,如何支持有效的监管介入?其背后的盲签名技术和其他签名技术相比,有何过人之处?
在越来越重视隐私保护的数字化经济大背景下,对用户数据的隐私保护要求也日益提高。甚至在一些涉及敏感数据的场景中,用户向认证者提供待认证的数据,认证者都不能观其明文。
例如,关键事务决议相关的电子投票系统可能要求投票认证者在不知道每张选票意向的条件下,对每张选票进行认证,排除未授权投票者的选票。这需要保护选票意向的隐私性,又要验证选票意向明文的有效性,看起来是一项不可能的任务。
经典数字签名技术,需要获得数据明文,才能进行签名和验证,所以无法直接应用。为解决上述问题,盲签名技术应运而生。盲签名究竟如何在盲化数据明文之后,依旧保持数字签名的可验证性?盲签名可以支持哪些典型的应用场景,且看本文一一解析。
盲签名技术设计的核心在于盲化待签名的数据,对应的机制在传统纸质签名中也有类似的存在。
最典型的示例便是保密信封,其大致原理如下:
类似地,在使用盲签名中,用户通过技术手段对原始数据进行盲化,然后将盲化后的数据交给签名者签名,获得盲签名后再解盲,便得到了关于原始数据的有效数字签名。
盲签名技术的核心机制是盲化和解盲。盲化是指对原始数据添加随机性数据,隐匿原始数据明文。解盲是指移除随机性数据,将盲签名恢复为可验证的签名。
由此,盲签名在经典数字签名的基础上,新增了以下重要特性:
回到之前提到的电子投票系统,上述特性可以很好地满足对应的隐私需求。具体操作时,投票者先对选票进行盲化,投票认证者仅能对盲化后的选票进行签名认证,无法知晓投票者选票的具体内容;后续投票者将盲签名解盲,投票认证者也无法追踪投票者的投票签名。据此,保护选票意向隐私性和验证选票意向明文有效性的需求得以同时满足。
值得注意的是,签名者对盲化后待签数据进行签名获得盲签名的过程,与对空白支票先进行签名,然后允许使用者任意改写支票内容的过程大不同。一般情况下,盲签名一旦签发,其认证的原始数据是不能任意改变的,即解盲之后获得的签名,仅对盲化前的原始数据有效。
由此可见,盲化和解盲的构造是盲签名有效性的关键,具体如何设计这两个关键过程,常用的扩展有哪些,我们在下一节中继续展开。
盲签名的构造
盲签名的构造过程可以看作是经典数字签名流程的一类通用扩展,通过引入盲化因子和盲化算法,额外实现了签名的盲化和解盲步骤,其核心流程如下:
现有的大多数经典数字签名算法,都可以较为方便地构造出对应的盲签名实现,比较典型的实现有RSA盲签名、Schnorr盲签名、DSA盲签名等。
相比上一论中介绍的门限签名(参见第17论),盲签名没有复杂的密钥生成和协商问题,也不需要多方协同才能完成签名,其性能与经典数字签名相比并无太大区别。
盲签名的扩展?
盲签名的不可追踪性使得签名者很大程度上失去了对签名的控制权,如果出现用户滥用签名的情况,签名者很难追究维权,这在不少业务场景中是难以接受的,因此时常需要对基础的算法流程进行扩展。
在诸多扩展中,最常见的扩展之一便是公平盲签名方案,其主要设计目标是允许签名者在出现纠纷时,能够通过以监管为代表的可信第三方还原出请求签名的用户身份和其他相关信息。
具体实现方式是引入一个可信第三方,通过可信第三方建立一种对签名的追踪机制。用户将待签名的原始数据和盲化后的数据首先发给可信第三方进行认证和登记,然后将盲化的数据和认证的数据发送给签名者进行验证,验证通过后进行盲签名,并保存盲化的数据。
后续如果需要进行签名追踪,签名者发送盲化的数据给可信第三方进行查询,获取用户的原始签名数据和身份。
相比直接使用会暴露待签名原始数据的经典数字签名,公平盲签名实现了一定程度上的隐私数据访问权限隔离:
除了公平盲签名之外,另一类常见的扩展是部分盲签名,即分离认证数据和隐私数据,只盲化需要保护的隐私数据,其典型的应用是网络流量的欺诈检测。
总体而言,盲签名的构造支持较为通用的扩展需求。在实际业务应用中,根据具体的隐私保护需求,一般都可以自由选择数据进行定向盲化,并在必要时引入监管所需的解盲机制,控制盲签名被滥用的风险。
在盲签名的诸多应用中,较为知名的莫过于电子现金。现实的电子现金业务会涉及复杂的流程设计,不便于体现盲签名的作用。所以,下面以一个经典的教科书示例,来展示基于盲签名的应用设计和使用注意事项。
在本例中,目标是构建一个与传统纸币功能相当的电子现金系统E-Cash,其核心需求如下:
针对E-Cash电子现金系统的各项业务流程,可以基于盲签名技术,给出以下应用设计:
以上设计中,盲签名的使用让电子现金实现了与传统纸币同等的匿名性。用户只有在经过银行认证之后才能获得电子现金,但银行后续无法将使用解盲后的电子现金的用户身份与当初发行的盲化电子现金关联起来。
我们也可以进一步用公平盲签名替换基础盲签名方案,将监管者引入电子现金系统,实现可控匿名的效果,为追究洗钱等犯罪活动提供有力的技术手段。
盲签名的使用有很强的灵活性,在使用和设计基于盲签名的应用时,分清角色进行针对性设计是用好盲签名的重要前提,务必要厘清不同角色的访问权限,想清楚盲化的数据是针对哪个角色、对哪些角色展现的数据不能盲化等问题。
正是:业务涉密契约禁明示,盲化签名可签不可见!
在隐私保护要求趋严,隐私数据保护立法日益完善的商业环境下,盲签名技术提供了一种独特的隐私数据保护手段。对于关键隐私数据,盲签名既可以实现签名认证,又可以对其数据内容进行隐匿保护,还可以选择性地提供监管追溯支持,在现实业务场景中具有重要的实践价值。
至此,密码学数字签名系列分享已近尾声,对于之前介绍的数字签名技术,其验证过程大多是逐一进行的。然而,对于大数据场景中的海量隐私数据,如果需要对海量的数字签名进行一一验证,不免会带来巨大的系统负担,有时甚至会影响业务方的决策。
为了满足高性能要求,校验数据有效性的数字签名可能被迫舍弃。有没有更有效的批量签名验证技术,使得仅需一次验证计算,便可完成多个签名的效验?技术上有何挑战?欲知详情,敬请关注下文分解。