在无信任网络中保护数据
安全性是任何软件的关键组成部分,但解决方案在上市前往往被忽视或开发不足。Web3 的出现既带来了新的安全挑战,也需要更强的安全保障。因此,传统的安全解决方案必须针对无信任网络进行重新构想。Space and Time 正在通过分散式身份验证和授权保护的下一代技术彻底改变数据仓库。
验证
证明用户身份的有效性是确保任何应用程序安全的重要的第一步。从历史上看,身份验证最常依赖于用户凭证——用户名和密码对。尽管简单而优雅,但这个原型解决方案是基于信任和中心化的,使其与 Web3 的核心背道而驰,并为恶意行为者腾出空间。当用户机密存储在网络上时,网络参与者可以轻松检查、更改甚至拒绝访问合法凭据。
Web2 正在解决经典身份验证解决方案的一些关键缺陷,密码身份验证越来越过时,取而代之的是 MFA、生物识别和其他无密码解决方案。但是这些替代方案虽然更安全,但不符合 Web3 中必要的去中心化和去信任化。
为了使网络在没有信任或中心化的情况下安全运行,可以通过数字签名、验证用户身份真实性的数学方案来实现身份验证。这些签名基于公钥加密——一种非对称加密解决方案,用户和网络无需共享秘密信息。在这个系统中,用户生成一对密钥——一个是私钥,一个是公钥——其中私钥由所有者保密,而公钥可以自由分发而不损害安全性。
基于数字签名的身份验证要求网络请求提供两个参数:正文和签名。请求的主体可以被认为是“消息”(例如“John 请求 DB 返回某个表的前 10 行”),而签名是“证明”(例如“从 John 发送”)。发件人通过使用他们的私钥加密请求正文来生成签名。接收方通过使用发送方的公钥解密签名来验证请求。如果解密后的签名和请求正文匹配,则接收方可以确定消息是由已知的发送方创建的,并且在传输过程中没有被更改。这允许通过网络共享信息,而无需依赖中央机构来验证其完整性和真实性。
授权
一旦用户通过身份验证,网络必须验证他们是否被允许执行请求的操作。最简单的是,可以使用访问控制列表 (ACL) 实现授权:一组存储在位串中的参数,用于指定哪些用户被授予对特定系统资源的访问权限。尽管 ACL 在 Web2 环境中无缝工作,但它们不能存储在去信任的网络中,因此与 Web3 解决方案的基本原则不兼容。
基于能力的令牌方案可以支持无信任环境中的授权,其中用户出示令牌以授予对给定资源的权限。在 Space and Time 的情况下,授权取决于Biscuit,一种类似于 JWT 的授权令牌。饼干代币的一些主要特征包括:
去中心化验证——Biscuit代币基于公钥密码学
离线衰减——可以从现有代币生成新的、更具限制性的代币,而无需第三方参与
策略语言——授权策略以数据日志(一种逻辑语言)编写,支持对复杂关系进行简洁的建模
轻松撤销——每个令牌都带有一个唯一的撤销标识符,可用于在泄露事件中拒绝令牌和所有衰减的派生
如前所述,通过公钥加密的身份验证要求每个用户生成公钥和私钥,分发公钥并使用私钥签署请求。饼干授权依赖于相同的机制。每个资源都与一个存储在网络中的唯一公钥和一个由其创建者存储的唯一私钥相关联。要访问给定的资源,用户必须提供一个用其关联的私钥签名的饼干令牌。然后根据关联的公钥验证令牌签名。
饼干令牌授权为最终用户提供了相当大的灵活性。当创建新资源时,私钥可用于生成具有任何能力标准的饼干令牌(例如,对表的只读访问、单个用户的读写访问、限时访问等。 ),值得注意的是,网络必须只为每个资源存储一个公钥,以支持近乎无限级别的授权。
Security in Space and Time
通过使用数字签名进行身份验证和使用饼干令牌进行授权,Space and Time 确保了一个强化、无需信任和可扩展的安全解决方案。随着全球软件生态系统进一步进入 Web3 世界,dApp 开发人员和大型企业等都可以确保与尖端的去中心化数据仓库技术进行安全交互。
以上便是Space and Time项目关于区块链安全方面相关介绍。