区块链隐私计算中的密码学原理及应用(1)

本文深入探讨了区块链为何需要隐私技术,从个人数据的确权、安全性和防止信息不对称等方面阐述其重要性。介绍了主要的隐私问题,包括发送者、接收者、账户余额和交易内容的隐私。并详细解析了目前区块链领域解决隐私问题的工具,如密码学算法(对称加密、非对称加密、数字签名、环签名等)和软硬结合的TEE环境。此外,还讨论了密码协议如DH协议和数字信封在隐私保护中的应用。
摘要由CSDN通过智能技术生成

一、引言

从匿名币到可编程隐私的独立公链、从软件为主到软硬件结合的解决方案,可以清楚的看到相关的技术方案在随着隐私板块的发展不断迭代。可编程隐私:隐私公链将用来解决隐私问题的各类算法、方案以模块化的形式提供给开发者,开发者可以很方便的直接调用。

在了解项目的过程中,发现涉及了各类算法名称、术语,关系错综复杂,想着加入区块链行业前有做AI算法的经历,国外的大部分算法也都有了解,就决定把区块链和隐私结合后涉及到的关键技术及主要项目的方案做一个系统化的梳理,打开隐私技术的黑匣子

二、目录

本文我们将主要从技术层面做介绍,包含以下几个部分:

1️⃣ 为什么区块链需要隐私技术?

2️⃣ 区块链+隐私有哪些主要问题需要解决?

3️⃣ 目前区块链领域解决隐私问题有哪些工具?

4️⃣ 主要隐私项目用什么工具来解决隐私问题?

三、具体内容

1、为什么区块链需要隐私技术?

1.1 Web3.0时代的个人数据的确权

隐私保护是用户确定数据所有权的核心技术(用户数据:指用户在链上产生的各类数据),目前几乎所有公链的数据都是完全对外开放的,技术、资金雄厚的团队(如nansen、footprint等)会通过解析、加工链上数据等方式从中获利,这种模式和Web2.0时代的巨头垄断模式类似,巨头获得主要收益,产生数据的用户几乎没有收益。

隐私保护将用户的元数据加上了是否需要对外开放的开关由用户来掌控开关,用户自己可以选择是否开放自己的元数据及是否通过收费的方式向外、向数据需求方开放数据。

1.2 使个人数据更安全

隐私保护可以更好的避免用户数据被黑客攻击从而产生损失,尤其是在当前心理工程学不断发展的时代,对于隐私的保护需求越来越高。

1.3 防止信息不对称导致的被利用

隐私保护使得类似三明治交易这类抢跑交易不知道是谁在交易及在交易什么,因此抢跑失效。

2、区块链+隐私有哪些主要问题需要解决?

包含隐私功能的区块链是把区块链技术和隐私技术结合在一起,所以我们需要先了解区块链当中有哪些地方需要用到隐私。

2.1 区块链

区块链是一个去中心化分布式账本,账本上记录着交易信息,一个交易包含两个部分:

1️⃣ 两个身份(交易的双方):我们需要对身份进行确认,具体来说,就是确认某个用户(地址)是否掌握账本上某些币的使用权限;

2️⃣ 一组金额:我们需要确认账户的余额是否足够支付当前交易(用于检查花费币数量是不是小于等于账户拥有的币的数量);同时我们我们还要检查同一份币是否被使用两次,即是否存在双花问题(同一笔币转给不同的人,然后将交易信息发送给不同的节点进行验证)

2.2 主要的隐私问题

因此,隐私问题,可以细分为四个:

1️⃣ 发送者隐私;

2️⃣ 接收者隐私;

3️⃣ 账户余额隐私;

4️⃣ 交易内容隐私。

3、目前区块链领域解决隐私问题有哪些工具?

区块链领域用来解决隐私的工具可以分为两大类:

1️⃣ 纯软件的方式:依托数学难题建立的一系列密码学算法

2️⃣ 软硬结合的方式:主要是融合密码学算法和TEE(Trusted Execution Environment)环境

✈ 软件层面

主要是密码学范畴,又可以分为:

1️⃣ 密码学原型

2️⃣ 密码分析

3️⃣ 对称加密

4️⃣ 非对称加密

5️⃣ 密码协议

3.1 密码分析

密码分析是对加密信息进行破解,密码学原型中的大质数分解问题和离散对数问题是对称加密、非对称加密、密码协议的数论基础。下面主要介绍对称加密、非对称加密、密码协议这三类关于密码学具体应用的类别。

大质数分解和离散对数对满足下面的描述:简单理解就是有个函数y=f(x),由x求y容易,由y反求x困难,y可以理解为公钥、x可以理解为是私钥,要注意的是由y反求x是困难而不是不可以求,想深入了解可以从陷门函数开始

3.2 对称加密算法

简单来说,加密和解密用的是同一个秘钥,最主要的算法是DES(Data Encryption Standard),它是一种使用秘钥加密的块算法。DES的主要过程是通过迭代的位运算完成加密的过程,细节不做展开。

3.3 非对称加密算法

用户拥有一个密钥对,包含一个私钥和一个公钥。公钥用来加密,私钥用来解密,加密和解密的密钥不同因此称为非对称加密算法。

非对称加密算法可以用密码学原型中的两类数学难题中的任何一类为基础生成一个密钥对,RSA是依托与大素数分解问题生成的一个非对称加密算法,ECDSA则是依托于离散对数问题生成的一个非对称加密算法。

非对称加密算法的核心过程就是基于数字签名,下面会首先介绍下数字签名及其分类,接着讲解非对称加密签名的一般验证过程,然后介绍基于ECC生成公钥、私钥的ECDSA签名算法的验证过程,最后介绍为了保护签名者隐私而使用的环签名技术。

🎯数字签名

这是一种功能类似写在纸上的普通签名、但是使用了公钥加密领域的技术,以用于鉴别数字信息的方法。一套数字签名通常会定义两种互补的运算,一个用于签名,另一个用于验证。依托签名人数多少可以分为两个类别:单人签名、多人签名。

一般数字签名,也就是大家平常所说的数字签名,使用单人签名鉴定数字信息。

盲签名(Blind signatures),消息的内容在签名之前对签名者是不可见的(盲化)。得到的盲签名可以对原始的、非盲消息以常规数字签名的方式公开验证。盲签名可以有效地保护隐私,其中签名者和消息作者是不同的,用于包括电子选举和数字现金的场景。

群签名(Group signatures),用户代表群签名消息,并在该群内保持匿名。也就是说,看到签名的人可以用公钥验证该消息是由该群成员发送的,但不知道是哪一个。可以用于大型组织机构的投票。

环签名(Ring signatures),是群签名衍生出的一种签名方式,在后面会详细介绍。

🎯非对称加密中的签名及验证过程

假设场景是小B有10个BTC,现在要给小V发送4个BTC,小B的私钥是sk,公钥是pk

1️⃣ 发送方生成信息

1)对“小B发送4个BTC给小V”这条信息进行Hash运算生成信息摘要

2、小B用自己的私钥sk对信息摘要进行加密生成密码(又叫做数字签名)

3、小B将“小B发送4个BTC给小V”、自己的公钥pk、密码发送给验证者

2️⃣ 验证者验证

1)验证者对收到的信息进行hash运算生成信息摘要1

2)用小B公开的公钥对密码进行解密生成信息摘要2

3)如果信息摘要1等于信息摘要2,验证者就可以确定这条信息是小B所发

上述过程能完成身份认证的原因是:

1)发送者身份确认。密码能用小B的公钥pk解密证明小B拥有和pk对应的私钥sk,因为密码是由私钥sk加密而来的;

2)发送者发送内容确认。由小B的公钥pk解密的密码就是小B发送信息的hash值,如果和小B广播信息的hash值相等则证明发送内容本身没问题没有被篡改过。

🎯 基于椭圆曲线(ECC)签名算法

简称为ECDSA,非对称加密中常用的签名算法,验证过程如下:

1️⃣ 生成签名:

2️⃣ 验证签名:

3️⃣ 原理如下:

 🎯环签名

Ring Signature,数字签名的一类,能保护签名者隐私的同时,又可以让验证节点验证签名的正确性。

1️⃣ 签名过程(可参考上图理解)

2️⃣ 验证签名:

3.4 密码协议

根据业务场景需要对 对称加密 和 非对称加密 的技术进行融合衍生出的新的协议。

🔰 DH协议/算法

全称为“Diffie-Hellman”,是一种确保共享信息(秘钥)安全通过不安全网络的方法,也就是常说的秘钥一致性协议,可以做为对称加密算法共享密钥的方法。

具体过程如下:

🔰 数字信封

数字信封是一种综合利用了对称加密技术和非对称加密技术两者优点进行信息安全传输的一种技术。简单来说数字信封可以让两个人共享一个其他人不可见的信息。

通信过程如下所示:

1️⃣ 发送方:

1、发送方生成对称加密密钥

2、用对称密钥对发送信息进行加密,生成信息密文

3、用接收者公开的公钥对对称加密密钥进行加密,生成密钥密文

4、信息密文、密钥密文组合在一起称为数字信封,发送数字信封给接收者

2️⃣ 接收方:

1、接收者收到数字信封后,用私钥将密钥密文解密获得对称加密密钥

2、用对称加密密钥对信息密文进行解密获得信息

3、发送方、接收方实现共享了一条其他人不可见的信息

3️⃣ 总结:

可以发现发送方、接收方共享信息的关键是有一个对称加密密钥,一般用户采用此种办法通信在接收方解密对称加密密钥后可能出现信息泄露,这样通信的隐私性就消失了。但TEE环境给了解密密钥所需的足够安全的环境,这样数字信封和TEE结合就可以为隐私计算中用户和验证者进行通信提供了一套可行的方案。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值