首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

机会,挑战依赖于区块链安全模型

自从多用户计算一直持续到今天,计算机安全的历史 - 或者更准确地说是控制数字数据和资源访问的历史 - 一直保持不变。尽管技术和从大型机到个人计算机到移动计算机的巨大转变发生了根本变化,但我们使用的几乎所有安全系统都是集中式的。

它集中在一个意义上,即用户必须通过身份验证的中央仲裁,并在他们希望登录,读取文件,发送网络数据包,显示某些图形或您可以想到的任何其他计算操作时进行检查的。这正是为什么区块链(又称分布式分类账)被认为是如此激进和获得如此多的支持。我们现在可以使用分散式或分布式安全系统创建第一个广泛使用的计算平台。

这代表了一种全新的推理方式,用于推理安全性,维护安全性和设计安全系统。然而,任何这种程度的变化都会带来一系列严峻的挑战。

集中式安全系统通常使用称为访问控制列表(ACL)的设计。访问控制列表包含定义系统中安全检查的所有规则:Alice的密码为“foo”,可以读取表明她是所有者的文件。每当Alice登录时,她都会执行一项安全协议,要求她输入密码。系统检查密码,然后在匹配时启动会话。

从理论上讲,一切都很整洁,在一个地方。更重要的是,可以有效地保护集中式安全系统,如所描述的那样。它是一座山顶上的城堡,受防火墙和进程边界以及操作系统内核的保护。攻击面范围狭窄,定义明确。像这样的安全专业人员可以构建威胁模型,指导我们的系统和软件工程具有高度的内置防御。

分散的安全系统,例如比特币使用的安全系统,通常被称为安全性的“能力模型”。基本思想是所有用户都拥有一小段独特的,不可伪造的数据,这些数据在呈现给系统时,可以授予他们访问数据或资源的能力。

把它想象成你汽车的关键。你拥有它,当你把它粘在点火器上并转动它时,汽车启动。您无需致电经销商或制造商并确认自己,以便他们为您启动汽车。你有钥匙,你可以开车。通常,功能是随机数足够大,以至于其他人猜测它是不可行的。但仍有问题。如果该功能只是一个随机数,那么计算机系统如何将该功能识别为有效?

答案是使用公钥 - 私钥对作为功能令牌。公共密钥可以与分散系统中的节点共享,并且任何资源请求都将通过使用私钥对请求进行数字签名来完成。系统中的节点可以使用他们已拥有的公钥来验证请求的有效性。这实际上是比特币的转移方式。

这种分散的方法与过去60年的计算中的流行安全设计背道而驰。这个新模型成功打破了攻击面并消除了集中的,高价值的目标问题,但它创造了另一个更危险的问题,即将所有安全性推送到拥有私钥的人手中。

在过去,集中式系统仅依靠人类来记住他们的密码,其余的安全性由专业人员保护中央服务器。借助基于加密技术的功能,几乎所有安全性都由最终用户承担。

私钥的最终用户管理是分布式分类账面临的最大挑战。区块链应用程序的大多数最终用户不是安全专业人员,并且不够复杂,无法采取适当措施来保护其私钥。当前的技术状态是用户使用称为“钱包”的应用程序,其不比密码管理器复杂。如果用户丢失了主密码,则所有密钥都将丢失。如果他们的计算机死机而他们没有备份,他们的所有密钥都会丢失。

目前还没有好的解决方案,因此我们看到了集中化的趋势,公司提供钱包服务以平滑用户体验。这是两个世界中最糟糕的,因为集中式钱包服务在一个地方收集了大量私钥,并再次使我们回到了高价值目标的时代。很快就出现了大规模的加密货币被盗事件。

在区块链墓地网站上列出的59种主要的加密货币盗窃案中,68%是服务器渗透,内部人员或应用程序漏洞的结果。这告诉我,集中管理密钥以改善用户体验可能是错误的方向。

数亿美元的加密货币被盗,但这并不仅仅影响金钱。既然区块链正在从物流到供应链的许多不同行业中部署,我们现在面临类似违规的潜在更广泛的影响。突然间,我们需要教授每个工厂机器人,条形码扫描仪或标签打印机如何安全地存储私钥。我们还必须为那些关心这些机器的人设计系统,以便将它们初始化并将它们注册到他们需要与之交谈的每个分布式分类账中。

安全一直很难,而且不太可能改变。但是,转向分散的功能安全模型为我们提供了为最终用户找到解决方案的机会,从而大大降低了整个系统的安全风险。我们只需要找出创建,存储和使用加密密钥材料的最佳方法。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190817A02OPR00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券