作为多技术融合创新的产物,区块链在诞生之初就引入了密码学等多种安全技术,让其具备多中心、防篡改、防伪、可追溯等多种安全功能。随着区块链技术的深入研究,近年来区块链越来越多的安全问题逐渐暴露出来,因此一些新的安全技术也被开发并引入到区块链系统的设计中,为区块链未来的发展提供了可靠灵活的安全保障。
以下主要介绍用于确保区块链各种安全功能的基本安全技术,以及为加强区块链的安全而开发和引进的安全增强技术。
1.混合加密
在实际的系统应用中,很少只使用对称加密或公钥加密算法来保护数据的机密性,而通常采用结合了对称和公钥加密算法优点的混合加密方法。由于区块链系统的特点,其计算和存储能力有限,无法使用计算开销较高的公钥加密算法直接保护链上的数据信息,区块链只能存储一些非常重要的数据,而不是所有的用户数据。可以看出,混合加密方法特别适合在区块链场景下保护用户数据的机密性。混合加密算法可以用下图来表示。
2.搜索加密
区块链是一种去中心化、分布式的数据存储技术,其存储信息一般对区块链节点开放。在基于区块链的数字货币系统中,交易记录数据也是开放的,没有额外的数据保护方法。为了保护用户的隐私数据,需要对隐私数据进行加密以降低隐私泄露的风险,要求攻击者不能从泄露的加密隐私数据中获得明确的信息;同时,考虑到数据的可用性,要求加密后的数据仍能被其合法用户检索、获取和解密。因此,有必要构建基于可搜索加密技术的区块链数据隐私保护机制。该机制使用可搜索加密技术对存储在区块链数据库中的关键数据进行加密和搜索,提高了区块链数据的隐私保护能力,保证了加密数据的可用性。
作为一种新的密码原语,可搜索加密技术允许用户在密文域中搜索关键字。当数据以密文形式存储在云服务器上时,云服务器可以利用其强大的计算能力在密文中搜索关键词,除了密文中是否包含搜索关键词,云服务器无法获得关于密文的任何其他信息。该方法不仅有效地保护了用户的隐私,而且在服务器的帮助下大大提高了检索效率。
3.安全多方计算
区块链技术发展至今,特别是对于公链来说,有两大问题:一是公数据带来的隐私问题;二是链无法高效处理的性能问题。隐私问题不仅包括区块链上记录的交易信息的隐私,还包括区块链上记录和传输的其他数据的隐私;高性能计算一直是区块链发展的瓶颈。在公共网络中,大量的节点需要处理计算任务,以保证计算任务处理结果的准确性和不可修改性,但这造成了严重的资源浪费和效率低下。同时,为了达到去中心化的效果,对构建节点的要求不能太高,进一步影响单个节点处理任务的能力。
4.差异隐私
差分隐私是一种强隐私保护技术,满足差分隐私的数据集可以抵抗任何对隐私数据的分析,因为它在信息论意义上是安全的。差分隐私的基本思想是通过对原始数据进行变换或在原始数据的统计结果中加入噪声来保护隐私。与传统的隐私保护模型相比,差分隐私具有一些独特的特征。首先,差分隐私不关心背景
使用同态加密技术可以让运行在区块链上的智能合约在不知道真实数据的情况下处理密文,大大提高了隐私安全性。对于区块链网络的用户来说,希望提交到区块链网络的数据的安全性能能够得到保证,尤其是重要敏感数据的安全,避免恶意的信息泄露和篡改。同态加密技术可以使用户的密文数据在区块链智能合约中由传统的明文操作变为密文操作。这样做的优点是,在用户将交易数据提交给区块链网络之前,可以通过使用相应的加密算法来加密交易数据。数据以密文形式存在,即使被攻击者获取,也不会泄露用户的任何隐私信息,密文运算结果与明文运算结果一致。
6.访问控制
在区块链系统中,通常不期望系统数据能被所有用户获取和使用,否则可能导致数据滥用;其次,如果数据对区块链中的所有节点开放,那么数据访问导致的广播洪水会给系统本身的数据处理带来压力,影响区块链系统的整体性能,而访问控制技术的引入正好可以通过提前过滤不符合系统预设的访问控制策略的访问请求来解决上述问题。所以,无论是从数据安全的角度,还是从系统效率的角度,访问控制都是必须使用的技术。
访问控制是保护信息资源的重要手段。它主要是通过对访问行为的主体进行授权,来控制主体对客体即资源的操作属性。一般来说,访问控制模型由主体、客体(资源)和权限组成。主体可以是用户,也可以是程序;权限是对资源的操作;资源是信息系统中的网络和数据。访问控制的主要目的是保护信息或网络资源免受未经授权的访问。