http://www.herbalweightlossaid.com

BM:为什么说每家企业的安全都要靠区块链?

传统的网页应用程序基础结构在设计时将安全性作为事后考虑事项,在过去的25年中,许多公司一直在试图修补一个根本不安全的架构。这种架构在设计时就预设服务器是可以被信任和保护的,但是多年的经验告诉我们,没有服务器是安全的,更不用说内部的攻击了。换句话说,服务器基本上是中心化的。

我们过去认为“问题”在于用户和服务器之间的连接,因此我们引入了SSL和HTTPS。但后来我们发现,黑客会破坏数据库并窃取密码。所以我们开始存储密码的哈希值,但后来我们发现黑客会在盗取哈希值后强行破解密码。然后,我们引入了密码切换机制,以便在暴力破解时更改密码,诸如此类的措施还有很多。

为了保护服务器和数据库,企业需要花费数十亿美元,尽管付出了所有努力,但仍然没有简单的方法来审查系统并确保企业按预期运行。

Block.one正在构建区块链软件,以保持数据库和用户账户的安全,防止未经授权的访问和未予解释的修改。有了区块链,用户可以使用高度安全的私钥,这些密钥存储在安全的硬件中,用于对每个用户交互进行签名,而不是简单地进行服务器连接的身份验证。区块链创建了一个不可更改的记录,建立了接收用户输入的绝对和确定性的顺序,而智能合约提供了确定性的业务逻辑,确保了所有系统之间的一致性。

未来的Block.one正在消除密码和昂贵的审计,为企业节省数十亿美元,防止身份盗窃,并提供更高的可靠性和可审计能力。

多年来,我一直认为每个多用户网站都可以从区块链后端中获益。和很多人的认知不同,区块链不必是缓慢、低效的数据库,也不必在抗审查、开放的基础上运行。区块链可以在安全性、审计能力、透明度和业务流程的完整性方面提供重要的改进,即使区块链完全由公司自己操作,其中的所有内容都不会公开。本文旨在揭示区块链在企业环境中的真正价值,并为区块链行业的发展指明方向。

常见的误解

在区块链行业中,许多人认为区块链只有在将互不信任的参与方连接起来时才会创造优势。他们认为,传统的数据库技术已经可以完成确保业务所需的所有工作。换句话说,他们认为传统的数据库复制和“数据完整性”保证就足够了。在这个过程中,他们要么忽视要么无视区块链所提供的完全不同的安全性和完整性保证:

1. 对全局事件序列的承诺

2. 业务逻辑的确定性执行

3. 业务逻辑和数据完整性的紧密耦合

4. 消除密码

在传统的业务应用程序架构中,业务逻辑与数据库是分离的。通常有一个应用服务器,如Node.js或J2EE,提供了修改数据库的密码。Node.js服务器的作用是通过密码或多因素认证机制对用户进行身份验证。一旦应用服务器对用户进行了身份验证,它就会发出一个会话令牌,用于对未来的用户交互进行身份验证,直到超时或会话的某些元素(如IP)发生更改。

显然,这种传统设计通过应用服务器管理的单次登录/密码执行所有数据库操作。通过最终用途,应用服务器负责部署身份认证机制。显然,通常有多个用户可以访问用户名和密码。数据库管理员可以向许多不同的应用服务器或个人分配和撤销凭据。

高级系统确保在横向扩展的系统中,每个应用服务器都有自己的用户名和密码,在某些情况下甚至可以使用公钥基础设施(PKI)和硬件安全模块(HSM)。但是,即使在这里,数据库也只认证应用服务器的连接。为了提供审计日志,它必须记录安全连接的整个数据流。但是,即使这个日志也只能记录应用程序服务器请求的“读写操作”,而应用程序服务器已经丢失了最初用户意图的所有信息。

审查这样一个系统的审计师无法知道应用服务器(例如Node.js)是否遵循正确的业务逻辑,是否正确地验证了最终用户的身份。Node.js进程可以将用户操作记录到数据库中,方便审计师复制同样的计算,但这样的记录并非不可篡改,而且没有独立认证验证,无法了解终端用户真的授权了某一行为。

可以尝试记录每个用户的连接,但是由于用户经常通过连接传输他们的密码,这些记录最终会成为一个泄露用户信息的蜜罐。更复杂的系统可以对这些记录进行加密,这样只有审计人员才能读取它们。

假设审计日志没有被篡改,审计人员将不得不通过应用程序逻辑运行相同的操作序列,以验证最终数据库状态是否匹配。这意味着应用服务器必须以确定性的方式实现。

确定性计算很难

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。