随着区块链技术的应用越来越广泛,区块链技术在许多行业显示出了巨大的应用潜力,这是由区块链技术本身的优势所决定的。区块链是一个算法高度密集的项目,它应用了大量的密码算法。从本质上讲,区块链达成的共识就是密码算法所基于的数学问题的共识,所以密码学可以说是区块链技术的核心。区块链中使用的初始密码算法主要有散列算法和数字签名算法。随着区块链技术的发展,越来越多的加密算法被引入到区块链中,例如环形签名,多重签名,零知识证明,同态密码等。可以说,加密算法的安全性决定了区块链技术的安全性。
密码算法在区块链中的应用
哈希密码算法可以将任何长度的输入消息压缩成固定长度(如256或512位)的输出值。这个固定长度的输出值称为输入消息的摘要,通常是一个随机数。散列密码算法的主要功能是生成任何消息的摘要。哈希密码算法是单向的,也就是说,计算任何消息的摘要都是简单方便的,但从已知的消息摘要中推断原始消息是困难的,只能通过穷举的方式才能找到原始消息。优秀的哈希密码算法可以为不同的消息输入生成不同的消息摘要,这就是所谓的防碰撞。在区块链技术中,哈希密码算法主要用于工作证明(POW)、块构造和地址生成。在工作证明中,负责打包事务的矿工需要大量散列操作才能找到满足特定格式的消息摘要。在构建块的过程中,每个块标头包含前一个块标头的哈希值。散列密码算法从块的交易记录中逐层生成消息摘要,并以Merkle树的格式存储最终的消息摘要,方便检查交易记录的存在性。
在数字资产转移循环中,需要生成地址,地址通常是公钥的哈希值。我国商用密码标准算法SM3密码算法是一种杂凑算法,在区块链技术中,SM3密码算法可以作为散列密码算法使用。设计的密码算法技术成熟,算法速度快,安全强度高,适用性强。汇总值长度为256位。
数字签名是电子签名的一项重要技术,它可以解决电子数据交换过程中的伪造,抵赖,伪造和篡改问题。通过使用哈希函数压缩技术和公钥加密技术,发送方和接收方可以确保接收方能够识别发送方所声明的身份,并且发送方不能否认自己在未来已经发送了数据。在区块链技术中,数字资产的转让需要资产持有人签署交易。经过签名和广播,整个网络中的所有节点都可以验证交易的真实性。为了进一步提高安全性,一些区块链技术引入了多个签名,即当一个地址传输数字资产时,需要支付多个私钥签名,以保证资金的安全性。
SM2密码算法是我国颁布的商用标准密码算法中的一种公钥密码算法。SM2密码算法的密钥长度为256bit,具有密钥长度短、安全性高的特点。SM2密码算法的数字签名部分在我国电子认证领域得到了广泛的应用,SM2签名算法可直接用作区块链技术中的签名算法。为了更好地保护个人隐私,在区块链技术中引入了环签名和零知识证明等加密技术。
综上所述,区块链对密码学的直接需求主要基于两方面的考虑:确定所属权、保护数据隐私。由于电子数据易于复制,数字形式载体的资产无法像物理形式载体的资产较容易地证明所属权。因此需要使用密码学中的数字签名技术来证明数字资产的所属。区块链系统中的账本由网络各节点共同维护,账本数据公开透明。这些公开的数据记录可能会造成隐私泄露,因此,需要借助密码学相关技术匿名化处理交易信息。除了上述主要的两方面外,一些用于生成随机数的密码学工具,可被用于共识方案。
区块链中密码算法的实现
在实际应用中,密码算法需要在软件,硬件或物理设备的环境中实现,从技术实现的角度来看,有两种加密机制:软件加密和硬件加密。
软件加密容易实现,投资小,但密钥和算法容易泄漏,安全性低。区块链在私钥使用和保存方面仍存在很大问题,长字节私钥一般通过转换,形成短字符长度形式的私钥,但仍然不方便记忆,而有些区块链是去中心化的,是没有第三方参与的,那么如何安全可靠地保存私钥仍是重要问题。由于软加密系统的密钥比较容易读取,所以不能保证密钥的安全性,一旦密钥泄露,区块链的关键业务数据就可能暴露出来。
另外,加密通常是高强度的计算任务。软件加密消耗大量的CPU时间,这大大降低了计算机的性能。尽管CPU的速度越来越快,但是用于大量的加密和解密操作,系统的性能仍然受到很大的影响,其他任务的处理速度也大大降低。
硬件加密采用硬件密码设备进行加密运算,具有加密速度快、占用CPU资源少、安全性高等优点而且对密钥及算法的保护比较充分。密码硬件设备包含密码机、密码卡等设备,并通过国密标准规定的密码设备应用接口向密码设备提供加密、解密、签名、认证以及相应密钥管理、安全协议等密码服务。如渔翁服务器密码机可以实现密钥生成、管理、高速签名、验证签名、数据加密、数据解密等操作,在身份认证、事务签名验证、数据加密解密等业务中起到强大的支撑作用,是信息安全产业链中最基本的、不可缺少的硬件密码设备。产品严格按照国家服务器密码机相关设计规范设计,随机数发生器采用国家密码局审批的WNG-9真随机数发生器,支持SM1对称密码算法,RSA-1024、RSA-2048、SM2非对称算法和SHA256、SHA512、SM3杂凑算法以及真随机数发生器等功能。
渔翁服务器密码机采用三级密钥保护机制,密钥存放在密码机中,任何人都无法获得密码机中的密钥,同时密码机自身具有物理锁防撬、打开机盖密钥自动销毁的防拆设计,并且在紧急情况下,如停电,也可以通过手动等技术手段快速销毁钥匙,来有效地防止内、外部人员的攻击,为区块链技术的安全运行提供了关键保障。
由于区块链技术在医疗、能源、金融、公共事务等国计民生的各个方面有着广阔的应用前景,其安全性非常重要。作为数字签名、哈希等密码算法的基础,它们的安全性显得尤为重要。因此,迫切需要推动区块链技术的自主创新,在符合国家标准的国产密码算法的基础上构建安全可靠的区块链及其应用。
随着国家大力推动信息安全自主创新发展战略,像腾讯、阿里、渔翁信息等一批企业,开始积极探索和实践区块链技术的应用。就拿渔翁信息来说,渔翁自主创新系列服务器密码机关键部件(主板、CPU、操作系统)、密码模块采用国产部件,产品严格按照国家服务器密码机相关设计规范设计,支持SM1、SM2、SM3、SM4国产密码算法,可适配兆芯、龙芯、飞腾等CPU及中标麒麟、银河麒麟等操作系统;产品包括“飞腾+银河麒麟”系列、“龙芯+中标麒麟”系列、“兆芯+中标麒麟”系列,为我国区块链的建设和应用提供了强有力的支持。