区块链内生安全的密码技术
作者:互联网
1.区块链安全机理
区块链的定义
区块链是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式。
区块链系统是一个分部式系统——共享与存储 块链式的数据存储结构 数据和时间绑定——数据的保真性 收据产生的合理性 数据的完整性
1.1数据完整性
为了篡改或破坏一个区块链系统,黑客需要同一时间成功入侵区块链系统的多个节点 拥有许多节点的大型区块链网络受到黑客攻击的风险较低,渗透这种网络的复杂性大大增加。 区块链技术可用于日志保护 区块链技术有利于追踪黑客攻击,网络入侵者通常会清除权限日志,以隐藏未授权访问设备的痕迹,但是如果日志分步在多个设备中(如区块链技术),则可以降低风险。
1.2数据可用性保护
区块链技术可抵抗DDoS攻击 基于区块链的每一个节点都具备完整的数据,并且能够对其他节点进行有效验证。 黑客发现识别和利用单个漏洞点的难度更大
1.3区块链来源——比特币
论文提到了比特币的数字货币,与此前的数字货币方案本质区别: 不需要例如“中央银行”这样的可信任的第三方 不使用盲签名等金融密码学技术 安全的基础也不再是某个具体的复杂度假设 创造性地提出了一种叫区块链的新型技术,整个方案的安全性完全依赖于此技术 区块链的每个参与者都保存一个账本【账本中的一页叫做一个“区块”】 账本中保存系统里每一笔交易的信息 通过类似于民主投票的方式保证所有数据的一致性
1.4区块链的架构与分类
根据组成节点的类型,可用分为 公有链:节点分为属于众多不同的组织和个人,理论上讲,任何计算设备都可用加入系统。 私有链:所有节点属于同一个组织,只有获得管理员同意才可用加入。 联盟链:节点属于有紧密联系的若干组织或个人。介于公有链与私有链之间,由一组管理员来共同协调管理。
1.5 智能合约
金融合同的数字化、自动化实现 用分步在多方的代码来表示合同的内容 通过运行这些代码来自动执行合同
1.6区块链的密码学支撑
为了保护数据完整性,一个区块通常包含上千个交易记录 采用Merkle树技术提高效率,如果用数字签名的方法对每一个消息进行记录的话效率会非常低
1.7区块链协议
1.7.1区块链本质上是一个分布式数据库。 这个分布式数据库预先定义了一系列规则,这些参与节点必须同意的规则称为区块链协议。 1.7.2 2016年提出了区块链“胖协议”
2.区块链系统面临的安全威胁
2.1区块链特有安全性威胁一交易所安全 2020年9月9日,欧洲加密货币交易所 Eterbase 被黑客攻击,6个钱包被入侵,盜窃 BTC 、 ETH 、 XRP 、 tezos 、 algorand 和 TRO 并将其转移到公共钱包中,大约总价值540万美元的资金被盜走。
随着区块链的快速发展,针对区块链的各种威胁漏洞也逐渐被发掘,安全事件层出不穷。
由于缺乏有效的感知防御策略,基于区块链的平台和应用在攻击下造成的经济损失逐年增加。
2.1本质是:去中心化与监管的冲突
比特币 以太坊 交易模式 UTXO 账户余额 效率 7tx/s 28otx/s 出块时间 10min 14s 块大小 1MB 40KB 隐私 交易信息公开 交易信息公开 监管 欠缺 欠缺2.1效率瓶颈
中小型金融机构:几十到几白tx/s 大型金融机构:几千到几万ts/s
2.2安全与隐私
现实需要 保护用户隐私,支持匿名交易 严格监管、支持案件调追踪 防止对同一货币的再次使用 智能合约 编码状态机中对逻辑错误 不对等的激励,针对交易算法时序进行的一种攻击 调用栈bug
2.3分步式身份安全问题
2.3.1区块链网络 攻击者入侵、修改、伪造系统中区块链节点,改节点不可信,对交易造成威胁 接入网安全威胁 网络耦合安全威胁 身份认证机制安全威胁 2.3.2应用安全威胁 数据的非法访问 车辆的大数据安全 Sybil攻击 虫洞、黑客攻击
2.4 软件&系统安全技术
在基于区块链的分布式身份中,不论是智能合约还是终端移动APP,本质上都是通过代码编写而成的各种程序,因此代码安全与分析是重中之重
2.4.1 代码的混淆与虚拟化
从代码层级上,保护分布式身份关键秘钥和核心系统安全,以抵抗攻击者的逆向破解
2.4.2 代码审计与恶意检测和防护
通过专业人员审计和制定,和成熟的检测和防护技术,形成对恶意代码注入的有效防护
2.4.3 日志审计与漏洞修复
针对遭受攻击的系统,通过对日志文件进行审计分析,及时发现不足并修复,以防患未然
2.4.4 渗透测试&攻防对抗
通过对目标系统进行渗透测试与攻防对抗,在加固系统安全同时,也可以培养所需技术人才
2.5 数据隐私安全&访问控制
跨链数据传输场景中,网络通信的有效距离高,可针对通信过程进行嗅探或者攻击,进而获取用户隐私信息(绝大多数为明文),以此进行身份窃取或伪装,执行未经授权的操作
2.5.1 数据传输隐私安全
敏感数据的传输需要保护隐私: 通过利用差分隐私、茫然传输、同态加密、多方安全计算等隐私保护技术,确保分布式身份和验证声明数据传输过程中隐私安全