暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

openGauss云安全技术—防篡改技术

openGauss小助手 2021-10-21
973

数据库从线下搬迁到云上后,除了解决基本的风险之外,还有一个最为重要的风险,那就是恶意DBA的运维风险。DBA用户及恶意运维人员可以登录系统,并恶意修改系统数据。在修改完数据信息后,DBA用户可以删除对应的审计日志而不被审计管理员发现。这里实际上体现的是第三方可信源监守自盗的问题。

当前解决第三方可信源监守自盗的最有效方法是去中心化思想。区块链就是这种思想最好的体现,在牺牲一点效率的情况下,可获得极大的安全性。在区块链系统中,首先没有一本中央大帐本了(如第三方机构),所以无法摧毁。其次,无法作弊,除非篡改者能够控制系统内的大多数人对电脑都进行修改,否则系统会参考多数人的意见来决定什么才是真实结果,而自己修改的账本完全没有意义。

区块链的本质即分布式多活数据库,两者在很多概念上具有共同之处。下面就一些区块链中的基本概念进行比对。

共识算法:在分布式数据库中,最为关键的一点是需要保持数据一致性。当前普遍采用PAXOS或RAFT算法达成分布式数据库的数据一致性协商。在实施时,数据分片会同时存放在数据库的主从节点上,主节点负责数据的读写操作,从节点进行只读操作。当主节点写入数据时,其事务日志会被实时同步给其他从节点进行回放,以达到主从节点之间数据一致性的目标。

相比于区块链体系,数据库的主节点即为日志生成节点,其每次生成事务日志的功能,与区块链中每次出块时矿工的功能完全等价。但是分布式数据库每次操作时对日志实时广播到节点中,并且在事务提交时进行一致性判断。

智能合约:在区块链系统中,智能合约其实是一段被存储在一个区块链上的代码,由区块链交易触发,并与区块链状态模式相互影响。这里所说的代码可以是任意支持的语言:Java、Fortran、C++等。当我们使用SQL语言时,它就是写在扩展SQL的存储过程。

除了上述关键技术点对比分析外,区块链和数据库在其他技术细节上还可以做如表11-3所示分析:

表11-3 区块链和数据库技术分析

分析点数据库区块链
参与者单方参与多方参与
管理CentralizedDecentralized
最新记录Table ValueWorld State
历史记录LogChain
查询Table ValueWorld State + Chain
数字签名NoYes
容错机制CFT(Crash Fault Tolerance)BFT(Byzantine Fault Tolerance)
用户自定义逻辑Stored Procedure/User Define FunctionSmart Contract

事实上,通过上述的分析我们可以看到,数据库和区块链具有很多相似之处,我们可以在数据库中融入区块链的思想将区块链天生具备的防篡改能力集成到数据库中。

openGauss数据将支持两种形态的防篡改系统:中心化部署及去中心化部署方式。中心化部署和去中心化部署方案的主要区别在于:

中心化部署情况下,对外提供服务的节点即为Master节点。

不需要通过拜占庭等类似的共识算法进行共识和校验。

因此,在中心化部署下,除Master节点外的剩余节点主要为日志备份节点,或提供对外的查询服务。在去中心化部署下,交易连接的任务节点即为Master节点(整个系统是一个多主的关系),然后在本地交易完成后与其他节点进行背书共识和验证。当复制节点验证成功后方可提交当前事务。

由于结合了数据库的优点和区块链的优点,openGauss防篡改系统有如下优势:系统内数据不可更改、记录历史可追溯、数据加密可验证、系统高可靠、整体易用性高。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论