# SxT:保护不可信网络中的数据

By [BEIBEIDOG](https://paragraph.com/@ar-jadu) · 2024-01-15

---

![](https://storage.googleapis.com/papyrus_images/2e013ff00ac7fa974fc6cd213d20d82ecb3e1a8a4b977625d04eb0f9b5a9671d.png)

安全性是任何软件的关键组成部分，但解决方案在推向市场之前常常被忽视或开发不足。Web3的出现既带来了新的安全挑战，也要求更强的安全保障。因此，必须针对无需信任的网络重新设计传统的安全解决方案。Space and Time 正在利用由分散式身份验证和授权保护的下一代技术彻底改变数据仓库。

**验证**
======

证明用户身份的有效性是保护任何应用程序的重要的第一步。从历史上看，身份验证通常依赖于用户凭据——用户名和密码对。虽然简单而优雅，但这种原型解决方案以信任和集中化为基础，使其与 Web3 的核心相对立，并为恶意行为者提供了空间。当用户机密存储在网络上时，网络参与者可以轻松检查、更改甚至拒绝对合法凭据的访问。

Web2 正在解决经典身份验证解决方案的一些关键缺陷，密码身份验证变得越来越过时，取而代之的是 MFA、生物识别和其他无密码解决方案。但这些替代方案虽然更安全，但却不符合 Web3 中必要的去中心化和去信任性。

为了使网络在没有信任或集中化的情况下安全运行，可以通过[数字签名](https://www.emptrust.com/blog/benefits-of-using-digital-signatures/)（验证用户身份真实性的数学方案）来实现身份验证。这些签名基于[公钥加密](https://www.ibm.com/docs/en/ztpf/1.1.0.14?topic=concepts-public-key-cryptography)——一种非对称加密解决方案，消除了用户和网络共享秘密信息的需要。在该系统中，用户生成一对密钥（一个私钥和一个公钥），其中私钥由所有者保密，而公钥可以在不影响安全性的情况下自由分发。

基于数字签名的身份验证要求网络请求提供两个参数：主体和签名。请求的主体可以被认为是“消息”（例如“John 请求数据库返回某个表的前 10 行”），而签名则被认为是“证明”（例如“从 John 发送”）。发送者通过使用其私钥对请求正文进行加密来生成签名。接收方通过使用发送方的公钥解密签名来验证请求。如果解密的签名和请求正文匹配，接收方可以确定消息是由已知的发送方创建的，并且在传输过程中没有被更改。这允许信息在网络上共享，而无需依赖中央机构来验证其完整性和真实性。

**授权**
======

用户通过身份验证后，网络必须验证是否允许他们执行请求的操作。最简单的是，可以使用访问控制列表 (ACL) 来实现授权：存储在位字符串中的一组参数，指定哪些用户被授予对特定系统资源的访问权限。尽管 ACL 在 Web2 环境中无缝工作，但它们无法存储在无需信任的网络中，因此与 Web3 解决方案的基本原则不兼容。

基于能力的令牌方案可以支持不信任环境中的授权，其中用户提供对给定资源授予权限的令牌。对于 Space and Time 来说，授权取决于[Biscuit](https://www.biscuitsec.org/)，这是一种类似于 JWT 的授权令牌。饼干代币的一些主要特征包括：

*   **去中心化验证——Biscuit**代币基于公钥加密技术
    
*   **离线衰减**——可以从现有代币生成新的、限制性更强的代币，而无需第三方参与
    
*   **策略语言**——授权策略用Datalog（一种逻辑语言）编写，可以对复杂关系进行简洁建模
    
*   **轻松撤销**——每个令牌都带有唯一的撤销标识符，可用于在发生泄露时拒绝该令牌和所有减弱的衍生品
    

如前所述，通过公钥加密进行身份验证要求每个用户生成公钥和私钥，分发公钥并使用私钥签署请求。饼干授权依赖于相同的机制。每个资源都与存储在网络中的唯一公钥以及由其创建者存储的唯一私钥相关联。要访问给定资源，用户必须提供使用其关联私钥签名的饼干令牌。然后根据关联的公钥验证令牌签名。

Biscuit 令牌授权为最终用户提供了相当大的灵活性。创建新资源时，私钥可用于生成具有任何能力标准的饼干令牌（例如对表的只读访问、仅限于单个用户的读写访问、有时间限制的访问等）。 ），值得注意的是，网络必须只为每个资源存储一个公钥，以支持近乎无限的授权级别。

**空间和时间安全**
===========

通过使用数字签名进行身份验证并使用饼干令牌进行授权，Space and Time 保证了强化、无需信任且可扩展的安全解决方案。随着全球软件生态系统进一步进入 Web3 世界，dApp 开发人员和大型企业都可以确保与尖端的去中心化数据仓库技术进行安全交互。

---

*Originally published on [BEIBEIDOG](https://paragraph.com/@ar-jadu/sxt)*
