数字化契约如何守护?解析盲签名的妙用

2020-07-23 12:46 栏目:经验之谈 来源:网络整理 查看()

当数字签名包含不便于在数字合同中披露的敏感信息时,如何进行有效的签名?签名时,您看不到信息的清晰文本。将来发生纠纷时,如何寻求权利保护?即使签名人看不到数据信息,如何支持有效的监督干预?与其他签名技术相比,盲签名技术背后的优势是什么?

在数字经济越来越重视隐私保护的背景下,对用户数据隐私保护的要求日益提高。即使在某些涉及敏感数据的场景中,用户也向认证者提供要认证的数据,而认证者无法查看其明文。

例如,与关键事务决议相关的电子投票系统可能要求投票认证者在不知道每次投票意图的情况下认证每次投票,并排除未授权投票者的投票。保护投票意向的隐私和验证投票意向明文的有效性是一项不可能完成的任务。

经典的数字签名技术不能直接应用,因为它需要清晰的数据进行签名和验证。为了解决上述问题,盲签名技术应运而生。盲签名如何在盲数据明文后保持数字签名的可验证性?本文分析了盲签名支持哪些典型的应用场景。

1.盲签名的盲目性

盲签名技术设计的核心是对需要签名的数据进行盲签名,相应的机制与传统的纸质签名有相似之处。

最典型的例子是保密信封,其一般原则如下:

第一步:将保护敏感数据的文件放入信封,在要签名的区域上方放一张复写纸,然后密封信封。这样,没有人能观察到信封里文件的具体内容。

第二步:将密封的信封交给签名人签名。在签名过程中,信封上的签名可以通过复写纸在文件上签名。

第三步:用户打开信封,取出签名的文件,任何第三方都可以验证其签名的有效性。

同样,当使用盲签名时,用户通过技术手段使原始数据盲化,然后将盲数据交给签名者签名,在获得盲签名后再解盲,从而在原始数据上获得有效的数字签名。

盲签名技术的核心机制是盲和不盲。盲目是指将随机数据添加到原始数据中,并隐藏原始数据的明文。解除绑定是指移除随机数据并将盲签名恢复为可验证的签名。

因此,盲签名在经典数字签名的基础上增加了以下重要特征:

盲性:签名者很难通过待签名的盲数据推导出原始数据的明文。

不可追踪性:签名者先前签署了要签名的盲数据,但是在用户获得盲签名之后,他将执行取消绑定处理以获得对应于原始数据的另一个不同的签名,因此签名者不能关联和追踪这一对签名。

回到前面提到的电子投票系统,上述功能可以很好地满足相应的隐私要求。在具体操作中,投票人先盲投选票,投票认证人只能对盲投选票进行签名和认证,而不能知道投票人选票的具体内容;随后的投票者将取消盲签名,并且投票认证者不能跟踪投票者的投票签名。因此,可以同时满足保护投票意向隐私和验证投票意向有效性的需要。

数字化契约如何守护?解析盲签名的妙用

值得注意的是,签名者对要签名的盲数据进行盲签名的过程与先签名空白支票,然后允许用户随意重写支票内容的过程有很大不同。一般来说,一旦签发了盲签名,其认证的原始数据就不能被任意更改,也就是说,解绑定后获得的签名仅对解绑定前的原始数据有效。

可见,盲和盲的构造是盲签名有效性的关键。我们将在下一节继续讨论如何设计这两个关键过程,以及什么是常用的扩展。

2.盲签名的构造和扩展

盲签名的构造

盲签名的构造过程可以看作是经典数字签名过程的一般扩展。通过引入盲因子和盲算法,实现了签名的盲和解盲步骤。核心流程如下:

数字化契约如何守护?解析盲签名的妙用

大多数现有的经典数字签名算法可以很容易地构造相应的盲签名实现。典型的实现包括RSA盲签名、Schnorr盲签名、DSA盲签名等。

与前面讨论(见第17次讨论)中引入的门限签名相比,盲签名没有复杂的密钥生成和协商问题,也不需要多方合作来完成签名,其性能与经典数字签名没有太大区别。

盲签名的扩展

盲签名的不可追踪性使得签名者在很大程度上失去了对签名的控制。如果用户滥用签名,签名者很难寻求权利保护,这在许多业务场景中是不可接受的,因此通常需要扩展基本算法流程。

在众多扩展中,最常见的扩展之一是公平盲签名方案,其主要设计目标是允许签名者在发生争议时,通过由监管代表的可信第三方恢复用户身份和签名请求的其他相关信息。

具体实现方法是引入可信第三方,通过可信第三方建立签名跟踪机制。用户将待签名的原始数据和盲数据发送给可信第三方进行认证和注册,然后将盲数据和认证后的数据发送给签名者进行验证。验证后,用户执行盲签名并保存盲数据。

如果以后需要进行签名跟踪,签名者将盲数据发送给可信第三方进行查询,并获取原始签名数据和用户身份。

数字化契约如何守护?解析盲签名的妙用

与直接暴露待签名原始数据的经典数字签名相比,公平盲签名实现了一定程度的隐私数据访问权限隔离:

签名者只能看到用户的身份,却看不到要签名的原始数据的明文。

只有当可信第三方和签名者联合时,原始数据明文才能与用户身份相关联。

除了公平盲签名之外,另一个常见的扩展是部分盲签名,也就是将身份验证数据与私有数据分开,只对需要保护的私有数据进行盲签名。它的典型应用是网络流量的欺诈检测。

一般来说,盲签名的构造支持一般的扩展需求。在实际的商业应用中,根据具体的隐私保护要求,可以自由选择数据进行方向盲,必要时引入监管所需的非盲机制来控制滥用盲签名的风险。

3.盲签名应用赏析

在盲签名的许多应用中,电子现金是众所周知的。实际电子现金业务涉及复杂的流程设计,不方便体现盲签名的作用。因此,以下是一个经典的教科书示例,展示了基于盲签名的应用程序设计和使用注意事项。

在这个例子中,我们的目标是建立一个电子现金系统,它具有与传统纸币相同的功能。其核心要求如下:

货币价值:电子现金是代表一定价值的数字符号,需要银行的授权信用,并提供相关实体的现金支持。

可兑换性:与实物现金相比,电子现金具有更方便兑换和流通的优点。电子现金和电子现金可以流通,电子现金和实物现金可以互换。

防伪和不可复制性:每张电子现金必须经过银行认证,不能任意生成,并且要求多张可用的电子现金不能从现有的电子现金中复制,以防重复使用。

匿名性:电子现金不能与用户身份绑定,这保护了使用电子现金的用户的隐私。

根据电子现金系统的各种业务流程,基于盲签名技术可以给出以下应用设计:

用户开户:在运行电子现金的银行电子现金系统中,用户注册一个传统的银行资金账户和一个电子现金账户,并将一定金额的资金存入银行资金账户。

电子现金发行:用户在银行的钱包客户端生成随机序列号,并设置应用的电子现金面额。为了简化这里的描述,假设所有任意的序列号代表相同的面额。然后用户对随机序列号进行盲签名,然后将电子现金发送到银行进行盲签名。

银行不能知道用户的电子现金的序列号,但是可以将发行的电子现金发送到用户的电子现金账户。

电子现金支付:用户a向用户B支付电子现金,用户a需要在支付前将电子现金解锁,然后发送给用户B.用户B收到电子现金后进行签名验证,验证成功后将电子现金的序列号发送给银行。

银行询问了序列号。如果序列号存在,则意味着电子现金已经用完,用户A这次没有支付。如果没有找到序列号,则存储序列号,并且用户A这次成功地使用了电子现金。银行将根据之前商定的序列号所代表的面额,将收到的钱存入用户B的账户。

在上述设计中,盲签名的使用使得电子现金实现了与传统纸币相同的匿名性。用户只能在银行认证后才能获得电子现金,但银行不能将使用未加密电子现金的用户身份与原始的盲电子现金关联起来。

我们可以进一步用公平盲签名取代基本盲签名方案,并将监管者引入电子现金系统,从而达到可控匿名的效果,为侦查洗钱等犯罪活动提供有力的技术手段。

盲签名的使用具有很强的灵活性。在使用和设计基于盲签名的应用程序时,区分角色并有针对性地进行设计是一个重要的前提。有必要明确不同角色的访问权限,并清楚地思考盲数据针对的是哪个角色,哪个角色不能是盲的。

数字化契约如何守护?解析盲签名的妙用

确切地说:商业秘密合同是禁止表达的,盲签名可以签署,但不可见!

在隐私保护要求越来越严格、隐私数据保护立法越来越完善的商业环境中,盲签名技术提供了一种独特的隐私数据保护手段。对于密钥私有数据,盲签名不仅可以实现签名认证,还可以隐藏和保护其数据内容,并可以有选择地提供监管追溯支持,在实际业务场景中具有重要的实用价值。

至此,加密数字签名系列的共享即将结束。对于之前引入的数字签名技术,验证过程大多是逐个进行的。然而,对于大数据场景下的海量私有数据,如果需要对海量数字签名逐一进行验证,将不可避免地带来巨大的系统负担,有时甚至会影响业务方的决策。

为了满足高性能的要求,可以放弃用于验证数据有效性的数字签名。有没有更有效的批量签名验证技术,只需要一次验证计算就可以完成多个签名的验证?技术挑战是什么?详情请注意以下细目。

微信二维码
售前客服二维码

文章均源于网络收集编辑侵删

提示:仅接受技术开发咨询!

郑重申明:资讯文章为网络收集整理,官方公告以外的资讯内容与本站无关!
NFT开发,NFT交易所开发,DAPP开发 Keywords: NFT开发 NFT交易所开发 DAPP开发