区块链能否用来保护API?
暴走时评:随着各种技术的出现和发展,今天的安全技术世界也在考虑如何利用新兴技术以更好地完成自己的工作。采用区块链技术作为API安全措施是一种新想法,但基于目前区块链的特性来看,它并不能保护API。不过,需要明确的一点是,区块链技术和API都存在很大的潜力,至于未来是否真的会出现二者的结合,我们尚不能断言。
翻译:Ina
寓言故事经常讽刺人们看不到关键,即使事实并非如此。在现代数据安全管理实践方面,也存在类似的观点——我们在满足企业安全需求上都存在可怕的盲点。我们要解决一些盲点。
在今天的安全技术世界中,众所周知的识别、认证和授权原则都是有效的。这些原则已经在协议、操作系统、目录和应用程序中实施了几十年。然而,这些原则与REST API,Web技术以及应用程序、拓扑和组织之间的API混合形成了直接的对比。
API整合的新时代需要安全从业人员通过请求注解(RFC)分析、内部概念证明、开源计划和商业产品采用来搜索实用的技术解决方案。在不断增加的选择中,也可以找到意料之外的方式,例如,区块链技术。采用区块链技术作为API安全措施是一种新想法,许多人尚未展开这方面的研究。
区块链概念
大多数人都认为区块链就是著名的数字账本系统,对比特币或其他数字货币的交易按照时间顺序进行公开记录。但它的概念正在快速变化和发展,区块链可能会实现一种API整合的安全解决方案。 区块链可以帮助安全API整合吗?让我们来深入了解一下这种技术吧。
区块链有一个分布式数据库,数据复制在许多节点上,在数据方面几乎没有隐私。数据库(账本)系统使用梅克尔树(Merkle Trees)来实现。账本是不可变的。区块链可以是公有的,私有的或混合的。它的一个有趣特征是矿工的概念,我将其简单地描述为由跨节点共识驱动的系统验证机制。 区块链会给出一个复杂的数学题,需要解决这个问题才能获得一个在分布式账本上发布的密钥。这要处理很多东西。
现在,安全工程师总是在问:“我的HTTP Verb、URL、JSON body、API密钥或授权页眉在哪里?” “我可以验证用户或代理的可信任域名在哪里?” “如何生成令牌以呈现给应用程序进行身份验证和授权?”
区块链实施
要覆盖的第一个盲点是:区块链的技术实现不能保护API。
区块链要求要有某种形式的数字身份才能发布账本。区块链交易由哈希值标识。只需将SHA2哈希程序应用于交易所有者的公钥来创建哈希。对于安全工程师来说,这是非常简单的做法。这是一个有趣的想法,创建交易的用户的身份可以被掩蔽到一个虚拟身份中,一个抽象的哈希公钥虚拟池中。如果区块链应用程序映射虚拟标识,那么就可以创建人们所信任的用户社区。
要覆盖的第二个盲点是:区块链要求有某种形式的数字身份,这种身份不会阻止应用程序创建抽象的虚拟数字身份。
了解到你可以创建公共或私有用户的虚拟社区这一事实可以使人对API安全性有所期待。区块链可以提供身份识别服务,还有一些额外的认证服务。如果你可以将身份虚拟池映射到区块链交易上,并应用带外机制来确保身份验证,则可以为REST API使用生成轻量级令牌。生成的令牌将提供身份、身份验证和角色授权,如Java Web令牌。
简单地说,对于REST API,你需要一个安全保证,例如令牌。区块链可以允许从业者对用户进行分组并验证身份,然后可以生成API使用所需的令牌。记住,这是个宏大的目标,这个抽象模型中的一些复杂细节可以不予考虑。
当前的安全情况
目前存在的问题是区块链没有授权的概念。所以再次回到我们之前的讨论,区块链不能保护API。然而,API安全性具有潜力,也许区块链世界的某个团队正在开发帮助Web API从业者的应用程序和产品。现在,我们所要做的是观察市场,静静等待。
要做的工作还有很多,区块链社区在继续改变、扩大和适应。未来是不可预测的,但如果你敢想,那么就可以用区块链来支持安全的信任模型,并最终实现安全的REST API。
作者:Tom Donahoe | 编译者:Ina | 来源:ProgrammableWeb
微信掃描關注公眾號,及時掌握新動向
2.本文版權歸屬原作所有,僅代表作者本人觀點,不代表比特範的觀點或立場
2.本文版權歸屬原作所有,僅代表作者本人觀點,不代表比特範的觀點或立場