周鸿祎:脑机接口需要安全卫士查杀的简单介绍

前段时间,WannaCry勒索病毒在全球范围内的大规模爆发让人们防不胜防,我国不少高校以及政府部门的网络都不幸中枪。该病毒会将电脑中的一些Word、PPT和PDF等格式的文件锁定,要求机主支付一定比特币的赎金,才解锁文件。

正是因为黑客要求的支付方式是比特币,使得虚拟货币隐私性和安全性再次成为人们关注的焦点。虽然比特币本身具有匿名性的特点,但是由于交易的公开性,黑客的比特币地址被公开在世界面前,只要黑客动用地址上的比特币,安全专家们就有机会抓住幕后的黑手。

由此可见,在匿名性的基础上,区块链技术还要通过其他技术手段来保证用户隐私。本文重点介绍区块链隐私保护的两大“保镖”——零知识证明和盲数字签名。

零 知 识 证 明

零知识证明(ZKPs)并非新鲜事物,这一概念初见于1985年的一篇论文“互动证明系统的知识复杂性”。

零知识证明是在无需泄露数据本身情况下,证明某些数据运算的方法。该方法允许两方(证明方和验证方)来证明某个提议是真实的,而且无需泄露除了“它是真实的”之外的任何信息。在密码学货币和区块链中,这通常是指可以验证交易数据是真实的,而不用知道其他任何信息。

周鸿祎:脑机接口需要安全卫士查杀的简单介绍

Zcoin和Zcash是仅存的两个使用零知识证明而达到零知识级匿名的加密货币,这两个加密货币充分运用了零知识证明的以下性质:

1. 完备性:如果证明方和验证方都是诚实的,并遵循证明过程的每一步进行正确的计算,那么这个证明一定是成功的,验证方一定能够接受证明方。

2. 合理性:没有人能够假冒证明方,使这个证明成功。

3. 零知识性:证明过程执行完之后,验证方只获得了“证明方拥有这个知识”这条信息,而没有获得关于这个知识本身的任何一点信息。

在零知识证明的货币交易中,发起交易的人是证明方,矿工(记账节点)是验证方。矿工们维护一个验证列表,用于验证收到的加密交易是合理的,而无需关心真正的交易内容,这就使得交易双方的信息都得到了保护,只有交易双方的私钥可以解密交易信息。

盲 数 字 签 名

盲数字签名(Blind Signature)简称盲签名,是一种数字签名的方式,指在消息内容被签名之前,对于签名者来说消息内容是不可见的。

1982年,大卫·乔姆首先提出了盲签名的概念。盲签名因为具有盲性这一特点,可以有效保护所签署消息的具体内容,所以在电子商务和电子选举等领域有着广泛的应用。

盲签名允许消息拥有者先将消息盲化,而后让签名者对盲化的消息进行签名,最后消息拥有者对签名除去盲因子,得到签名者关于原消息的签名。盲签名就是接收者在不让签名者获取所签署消息具体内容的情况下所采取的一种特殊的数字签名技术,它除了满足一般的数字签名条件外,还必须满足以下两条性质:

1. 签名者对其所签署的消息是不可见的,即签名者不知道他所签署消息的具体内容。

周鸿祎:脑机接口需要安全卫士查杀的简单介绍

2. 签名消息不可追踪,即当签名消息被公布后,签名者无法知道这是他哪次签署的。

一般来说,一个好的盲签名应该具有以下性质:

1. 不可伪造性:除了签名者本人外,任何人都不能以他的名义生成有效的盲签名——这是一条最基本的性质。

2. 不可抵赖性:签名者一旦签署了某个消息,便无法否认自己对消息的签名。

3. 盲性:签名者虽然对某个消息进行了签名,但他不可能得到消息的具体内容。

4. 不可跟踪性:一旦消息的签名公开后,签名者不能确定自己是在何时签署的这条消息。

满足上面几条性质的盲签名,即被认为是安全的。这几条性质既是我们设计盲签名所应遵循的标准,又是我们判断盲签名性能优劣的根据。

另外,方案的可操作性和实现的效率也是我们设计盲签名时必须考虑的重要因素。一个盲签名的可操作性和实现速度取决于以下几个方面:密钥的长度、盲签名的长度、盲签名的算法和验证算法。

实现了盲签名技术的加密货币主要是比特股,在比特股钱包中,用户可以创建一系列的盲签名公私钥对,并对加密处理后的交易进行签名,再由验证者通过解盲算法验证并接受。从而保证交易的过程不被追踪。

当使用隐私保护的增强方案时需要有很多折中权衡,因为会牺牲透明度和效率,从而导致一些系统性的安全问题(比如无法及时知道整数溢出漏洞利用等黑客攻击行为)。如果在自主研发的系统中使用这些隐私保护的增强方案,需要做更多更细节的形式化验证,并舍弃方案中不适用于分布式记账的部分。更多一手资讯请关注微信公众号“tangdaijinfu”。

相关文章