[Solidity][区块链安全入门]Solidity语言关于密码学知识的运用以及存在漏洞

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: 密码学在区块链中扮演关键角色,确保机密性、完整性、身份认证和不可否认性。对称密钥加密用于快速加密,但不支持不可否认性。非对称加密(如RSA)解决了这一问题,每个用户拥有公钥和私钥。散列函数(如SHA-1、SHA-2)用于数字签名,保证信息来源和完整性。同态加密允许在不解密情况下处理加密数据,增强隐私保护。零知识证明则能验证信息正确性而不泄露额外信息,如ZCash使用该技术隐藏交易详情。环签名技术(如在门罗币中)隐藏签名者身份。区块链隐私保护措施包括混币技术,旨在混淆交易路径。网络和应用层面上也存在隐私挑战,需要综合策略来防御。

密码学

区块链通过密码学算法想要实现的性质有:机密性 完整性 身份认证和不可否认性

对称密钥算法:通过安全的方式或者信道去共享加密密钥 但是没有解决不可否认性,意味着所有拥有密钥的人都能加密 每当有成员离开时,密钥需要进行更新

常见的对称密码算法:

公钥密码算法&非对称密钥算法

每个用户都有公私钥对

常见算法

散列函数

根据消息内容得出唯一的 有固定长度输出值的函数 如SHA-1 SHA-2 MD5 等,通常又称杂凑算法

可以用于数字签名和文件校验等,只能单向运算

数字签名的两个明显作用:向接收方保证信息来自声明的发送者 且过程中不可否认;向接收方保证传输过程中不会被改变

同态加密:在不透露出元数据的情况下,对同态加密的数据处理后再将输出进行解密,与元数据按照同一方法进行运算的结果是一样的

代数同态:既是加法又是乘法同态 算术同态:同时满足加减乘除四种同态

同态加密是一种公钥加密算法 能够让密文拥有计算功能 无需解密就能直接对密文进行处理,使用同态加密可以让智能合约能够处理密文,但无法获得真实数据,极大提高隐私安全性

零知识证明:

证明这可以在不向验证者提供更多有用信息的情况下,使验证者相信某个论断是正确的。如用户注册密码的保存 向实习公司提供未挂科证明却并未看到成绩 用公私钥验证身份等

在区块链的世界中,用地址来表示交易双方,这样达到了匿名的作用。然而,链上的信息虽然是匿名的,但是通过链上信息绑定的链下信息,像很多交易所都绑定了链上地址与链下的银行账户、支付宝,这样可以很方便的追溯真实世界的交易双方,使得匿名性荡然无存。

那么,有没有一种方法,能够在隐藏发送方、接受方以及交易金额等其他细节的情况下,保证交易有效呢?

答案就是:零知识证明
 通过利用零知识证明机制,可以将交易双方的地址、交易细节隐藏起来。
 目前ZCASH(大零币)使用零知识机制来证明交易有效,在ZCASH中,摒弃了之前的UTXO方式,而是使用了一种基于UTXO,被称为NOTE(支票)的新方式代替。NOTE代表了当前账户对资产的支配权,与UTXO不同,账户余额的存储方式不再是“未消费的交易输出”,而是“未被作废的支票(NOTE)”;一个NOTE是由所有者公钥PK、所拥有金额V、和唯一区分支票的序列号r组成,表示为NOTE=(PK, v, r)。

ZCash交易分为两类:透明地址交易和隐藏地址交易。透明地址交易的输入、输出直接是可见的NOTE信息;

隐藏地址交易,输入和/或输出的地址和金额是隐藏的。

在ZCASH的隐藏地址交易中,交易的输入输出不再是明文的NOTE,而是NOTE的签发和废弃通知。如下图:

左侧代表的是“签发的新的NOTE”,右侧代表的是“作废的NOTE”。每次进行转账,就会把转账方的NOTE放到作废列表里,代表此NOTE已经作废,同时为收款方创建一张等额的NOTE。这样就实现了“资产的转移”,并且由于都是记录的NOTE的哈希值,因此并不知道被废弃的和新签发的NOTE的内容,这样就做到了隐藏交易双方及交易细节。

环签名技术(把身份藏进人群里 从而保护签名者) 典型的应用案例 :门罗币

环签名中签名者利用自己的私钥和集合中其他成员的公钥就能独立签名,集合中的其他成员可能不知道自己被包含在内

隐私威胁和保护:

用户身份隐私主要是指交易双方的地址信息:

通常用的方法是混币机制,即将多笔交易混合在一起,切断交易方和接收方的联系。提高加密货币的隐私性和匿名性。

混币过程的执行可以由可信第三方或者某种协议去执行 混币机制也可分为基于中心化节点的混币机制和去中心化的混币机制

网络隐私

分为节点隐私(服务器地理位置,节点物理信息,系统版本,节点IP等)和通信隐私(数据流量,节点间数据明文和密文)

对公有链来说 攻击者可以通过监听,扫描技术对整个网络进行探测攻击

应用隐私:

分为服务器隐私和客户端隐私

主要内容:支付流敏感信息 浏览器cookie,密钥存放位置,

威胁一般不是来自区块链技术本身,而是用户和服务商

服务商暴露隐私的源头主要来自操作不当或者服务漏洞。如服务商授予用户的权限不匹配,服务商公开信息中存在敏感信息,插件中存在漏洞

相关文章
|
3月前
|
机器学习/深度学习 自然语言处理 物联网
深度学习入门:从理论到实践新技术趋势与应用:探讨新兴技术如区块链、物联网、虚拟现实等的发展趋势和应用场景
【8月更文挑战第30天】本文将介绍深度学习的基本原理和实践应用。我们将从深度学习的定义、历史和发展开始,然后深入探讨其工作原理和关键技术。接着,我们将通过一个简单的代码示例来展示如何实现深度学习模型。最后,我们将讨论深度学习在现实世界中的应用和挑战。无论你是初学者还是有经验的开发者,这篇文章都将为你提供深度学习的全面理解。
|
10天前
|
存储 供应链 安全
重塑信任:区块链技术如何打造数字世界的全新安全生态
【10月更文挑战第32天】区块链技术自比特币诞生以来,以其去中心化特性吸引了全球关注。本文通过最佳实践探讨区块链如何重塑数字世界的信任体系,包括保障数据真实性、身份验证与隐私保护以及提升投票系统的安全性和透明度。通过智能合约示例,展示了区块链在供应链管理、身份管理和投票系统中的应用。区块链技术正推动各行各业的创新与发展。
35 2
|
7天前
|
存储 人工智能 安全
区块链技术入门与应用前景
区块链技术入门与应用前景
23 0
|
1月前
|
传感器 安全 物联网
新技术趋势与应用随着科技的不断进步,新兴技术如区块链、物联网和虚拟现实等正迅速改变我们的世界。这些技术不仅在各自领域内展现出强大的潜力,还在相互融合中催生出更多创新应用场景。本文将探讨这些新兴技术的发展趋势及其在各行业中的应用前景,通过通俗易懂的语言和清晰的条理,带领读者了解其内涵和意义。
本文旨在探讨区块链技术、物联网和虚拟现实等新兴技术的发展趋势及其在各个行业的应用场景。通过分析这些技术的独特优势和潜在缺陷,揭示它们对未来社会和经济可能带来的深远影响。同时,结合实际案例,展示这些技术如何解决现实问题,为各行各业提供新的发展机遇。
62 4
|
2月前
|
人工智能 监控 安全
引领区块链安全新时代,绽放创新光芒
在区块链安全需求不断升级的时代,AI StarTowerChain 以创新安全体系,引领区块链安全新潮流。其分散式架构通过智能设备节点的协作,增强抗攻击能力;安全审计如专业医生,全面审查交易与合约;监控功能实时警报异常;社区参与提升透明度与安全性,共同守护区块链安全。
|
2月前
|
存储 供应链 安全
掌握未来:区块链技术的简易入门指南
想象一下,有一种魔法可以安全地储存你的财富和信息,不受任何中心化机构的控制。听起来像是幻想?其实不是!这就是区块链技术的魅力所在。本文将带你走进区块链的世界,了解它如何工作,以及为什么它可能改变我们的未来。无论你是完全的新手,还是对这项技术略知一二,这篇文章都将为你提供有价值的见解。
|
3月前
|
Rust 安全 算法
揭秘Rust语言如何重塑区块链安全:打造坚不可摧的分布式账本新篇章!
【8月更文挑战第31天】自比特币诞生以来,区块链技术凭借其去中心化和不可篡改的特点备受关注。为了应对安全性挑战,Rust 语言凭借其内存安全特性逐渐成为区块链开发的优选。本文探讨了 Rust 如何助力区块链实现更安全的分布式账本。通过示例展示了 Rust 在避免内存泄漏、空指针引用及数据竞争等方面的优势,预示着 Rust 在高性能、高安全性需求的区块链应用中拥有广阔前景。
86 1
|
3月前
|
安全 物联网 网络安全
网络安全的屏障与密钥:揭秘网络漏洞、加密技术与安全意识的重要性新技术趋势与应用:区块链、物联网与虚拟现实的未来展望
【8月更文挑战第27天】在数字时代的浪潮中,网络安全成为了我们不可忽视的话题。本文将深入浅出地探讨网络安全中的漏洞问题、加密技术的应用及其重要性,以及提升个人和组织的安全意识的必要性。通过分析常见的网络攻击手段和防御策略,我们将了解到保护信息资产的紧迫性,并掌握一些基础的防护措施。文章还将分享几个实用的代码示例,帮助读者更好地理解加密技术在实际应用中的作用。
|
3月前
|
区块链 C# 存储
链动未来:WPF与区块链的创新融合——从智能合约到去中心化应用,全方位解析开发安全可靠DApp的最佳路径
【8月更文挑战第31天】本文以问答形式详细介绍了区块链技术的特点及其在Windows Presentation Foundation(WPF)中的集成方法。通过示例代码展示了如何选择合适的区块链平台、创建智能合约,并在WPF应用中与其交互,实现安全可靠的消息存储和检索功能。希望这能为WPF开发者提供区块链技术应用的参考与灵感。
62 0
|
3月前
|
安全 物联网 区块链
未来已来:探索区块链、物联网与虚拟现实的融合趋势网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
【8月更文挑战第30天】本文将带领读者穿梭于新兴技术如区块链、物联网(IoT)和虚拟现实(VR)的发展浪潮之中,揭示这些技术如何相互交织,共同塑造我们的未来。我们将从技术的基本原理出发,逐步深入到它们的应用场景,并探讨它们如何在未来形成一股不可逆转的融合趋势。通过深入浅出的分析,本文旨在为读者提供一个关于这些技术发展趋势的全景视图,同时激发思考它们将如何影响我们的生活和工作方式。