学习笔记-18

注意事项

主要优点是策略管理和评估过程是在区块链上执行的

这使得我们的系统继承了区块链技术的优势,即它是可审核的、始终可用的、分布式的(因此没有单点故障或攻击)、防篡改等。

透明度

  1. 由于Smart policy contract的执行是由区块链执行的(即,在矿工之间进行应答),因此它超出了资源所有者和提出请求的主题的控制。所以他们都不能伪造错误的决定

    事实上,区块链代表了用于执行决策过程的可信执行环境,以及用于保存结果访问决策的可信存储系统。相反,在资源所有者的场所运行访问控制系统将使他能够改变决策过程的执行,从而伪造一个假访问决策和/或在访问日志中存储一个不同于实际评估策略所得到的决策。

    显然,如果我们的系统的使用一方面可以免除资源所有者在其场所安装和管理访问控制系统的责任,另一方面,它可能会为区块链交易(例如,在以太坊协议的情况下,部署和执行智能合约需要天然气费用)。

  2. 对于每个访问请求,已执行的策略和相关的评估结果都存储在区块链上,从而允许可审核性

    任何访问请求被资源所有者恶意拒绝的用户都可以使用存储在区块链上的数据来证明访问权限应该被授予。由于区块链是不可变的,即使asmart策略被撤销,其代码和整个访问请求日志也会在区块链上重新存储和访问。因此,支持长期可审计性。这是在资源所有者的权限上运行访问控制系统的相关优势。

  3. 如果完全公开定价,由许可的区块链支持的加密货币预计不会经历高价格波动(由公开交易和投机引起),因此即使从纯货币的角度来看,它也会更加稳定和可预测,可审核性涉及访问控制策略的存储和评估,即已上载到区块链上的策略以及已作出的有关访问资源权限的决定。

  4. 对于这些决定的执行而言,真正执行这些决定的关键部分是政治公众人物。如果要保护的资源是传统数字资源,则PEP不会部署在区块链上。因此,实际的实施阶段并没有受益于区块链的优势,其中包括可审计性。

    因此,PEP可能欺诈性地忽略从区块链接收到的访问决策,甚至可能丢弃避免调用集市策略评估的访问请求,例如因为恶意的资源所有者。相反,在我们的参考示例中展示的Smart resources方案中,要保护的EP和资源都位于区块链上,因此允许执行PEPcode检查和访问决策的可审核性,采用建议的系统并不能免除资源所有者根据资源类型(例如,在服务器的情况下,立即将所有新可用的安全修补程序安装到操作系统)。

  5. 第7节给出了我们概念验证实现的此类成本的描述和评估。采用允许的区块链(见第2.3节),如超账本结构[47],以部署和执行拟议的访问控制系统是降低此类成本的可能解决方案。事实上,通过只允许trustedminers在链上附加新的块,引入一个信任级别,允许使用不太复杂、成本更低的分布式一致性算法。

隐私

对其资源采取其他典型安全措施的责任,可审计性的明显后果是潜在的隐私问题

事实上,访问控制策略、访问请求和相关的访问决策都存储在区块链上。采用公共区块链意味着此类区块链的所有用户都可以读取此类数据,并且所有挖掘者也可以读取这些数据,以便在调用时执行智能策略合约。

目前大多数区块链协议提供的唯一匿名性保护机制是使用假名。这个属性,弱于适当的匿名性,保证用户可以参与隐藏在任意数量随机生成的标识符后面的协议,这些标识符之间不携带任何信息,也不携带关于用户身份的信息可访问的,与执行它们的用户的真实身份没有直接联系,而只是与他们的匿名ID。

  • 在一些访问控制场景中,一些参与者需要知道用户的真实身份,这违反了用户的假名。例如,资源所有者应该知道哪些id被分配给了这些用户。为此,他们将基于身份强制执行策略。
  • 在某些情况下,某些属性提供者(即拥有ingsmart ams的实体)也应该知道所有用户身份以维护用户的属性,因为这些实体必须为每个实体分配正确的属性值,并且必须在必要时更新这些值。
  • 文献中提出了一些打破用户pseu多义性的方法,主要是基于区块链上的假名行为。研究最多的所谓匿名化攻击主要涉及比特币协议,并依赖基于启发式规则的聚类[20、49、50、51]来尝试将属于同一用户的所有假名ID组合在一起,但是类似的区块链协议也可以采用类似的方法,如果采用所提出的访问控制系统来规范对智能合约的访问,比如我们在第5节中给出的参考示例,那么访问控制事件的隐私问题就不是我们所提出的问题。

事实上,受提议系统保护的资源是智能合约,因此,它们的职责和执行已经在区块链上注册。因此,在这种情况下,我们的系统不会引入比使用所选区块链协议已经接受的更大的隐私问题。相反,对于传统数字资源的应用,在当前版本中,提议的系统,只有在访问控制事件的隐私不是重要要求的情况下,才可以利用公共区块链

我们指出可审计性和隐私问题是一枚硬币的两面,它们都源于区块链技术,即以无篡改和可公开访问的方式存储信息

因此,在试图解决隐私问题时,我们不应妨碍所需的系统透明度。这可以通过限制相关方对给定信息的访问来实现,最简单的方法是采用私有区块链

在这样的系统中,写(向链中添加新块)和读(访问块中存储的信息)操作都仅限于可信部分。即使数据可以在私有链中加密,以进一步限制对其他方的信息访问,但仍需要足够多的矿工能够破译此类信息,以便对其进行有效的清晰处理。由于这样一个私有区块链并不能解决一般的问题,因此它只能用信任第三方(即信任的私有链式挖掘者)的需求来代替这个问题。如果信息也被挖掘者混淆,那么他们就无法检查其含义,因此他们无法保证其内容。

为了在不泄露信息的情况下实现一致的链,需要复杂的加密技术。例如,同态加密[52]可用于处理加密数据,而无需首先对其进行解密。

  • 可以使用零知识证明来保证在不泄露私人信息的情况下实施某个约束。不幸的是,这种方法的主要问题通常是它们的价格。例如,同态加密仍然太昂贵,无法用于复杂的计算(见[53])。

  • 请注意,一些隐私感知区块链的显著例外是可用的,例如基于比特币协议的- Zerocashproject[54],但一般来说,使用所采用的高级加密技术所需的性能开销对事务吞吐量和系统可伸缩性的影响太大,因此不值得认为。

  • 此外,此类系统[54,55]通常不启用智能合约。

当前在存在智能合约的情况下实现隐私的主要建议是对合约数据和调用进行简单加密,仅在链上存储此类模糊信息(直接或通过加密散列)。

quorum(通过所谓的私有合同和交易)[56]和Hyperledger(通过所谓的私有渠道)[47]采用了这种方法。

在这两种情况下,最小用户都无法访问私有信息,因此其一致性需要由参与者来实现(通常通过分布式一致性算法)。例如,在私人交易中,双重支出成为可能。为了避免这种问题,在Quorumproject中提出了在智能合约环境中使用零现金工具的建议。在[57]中提出了一个概念证明的初步实现,允许对数字资产namedz令牌进行私有管理,同时提供资产转移证明(通过零知识加密)。文献中最近也提出了增强基于privacyin智能合约的区块链的进一步方法,例如[58,59]。然而,正如[58]作者明确指出的那样,在当前区块链系统中部署和执行隐私保护智能合约的拟议方案的成本仍然太高

模块化

  1. 我们想指出的是,在参考示例场景中,我们的建议的主要贡献基本上在于从集市资源外包访问控制逻辑
    • 这意味着用户依赖第三方服务(即我们的系统)来编写访问控制逻辑。然而,这并没有给第三方带来沉重的信任要求。
    • 事实上,该服务构建了Smart策略并集成了Smart Resource Contract而不是用户,但它需要用户批准(即其签名)才能部署这两个策略。这意味着用户可以在部署前检查服务是否恶意,如果不满意,可以随时停止部署,这样的代码编写外包在用户努力和避免错误方面具有明显的优势。
    • 由于智能策略是自动生成并链接到智能资源的,因此可以避免任何人为错误。
  2. 此外,由于用户不必编写访问控制协定自定义实现,而是依赖于静态的writension解决方案,因此对协定安全性的检查更容易和通用。当然,这也可能导致一般情况下在Smart resource implementation中的错误更少,因为用户可以将其所有精力和注意力集中在独立于访问控制端的预期逻辑上。
  3. 最后,在将控制逻辑与要控制的智能合约分离时引入的模块化允许两个合约分别部署和管理。由于这会导致两个不同的交易,这意味着更重的(就天然气成本而言)接触是可部署的,因为即使两个交易的总成本大于区块天然气限额,它们也可以适应不同的区块。

策略复杂性

smart策略的复杂性取决于原始xacml策略中的匹配数及其各自的复杂性(取决于25的操作和数据类型单打比赛)。

我们的建议是将整个XACML策略转换为单个智能合约。

一般来说,区块链协议采用技术,通过比例费用对链上稀缺的资源(如存储和计算)定价。在这种情况下,随着XACML策略的复杂性增加,相应的smart策略在费用方面变得更加昂贵。

大多数区块链协议都对块的最大大小有限制(主要是为了保证对等点之间合理的块传播时间),因此对事务大小也有硬限制。这对智能合约(包括部署和执行)的最大大小(即复杂性)引入了硬限制,包括智能策略,这反过来又会限制系统支持的XACML策略的最大复杂度。例如,我们的概念实现证明是在以太坊上开发的,以太坊使用强制性天然气消耗来支付交易费用,并通过指定区块天然气限制(即该区块中所有交易允许消耗的最大累积天然气)来限制每个区块的大小,如第2.3节所述。因此,可以解释的XACML策略的复杂性受到以太坊区块链当前区块气限制的限制。

  1. 但是,由于策略复杂性限制来自底层区块链协议,而不是提案本身,因此很容易规避。事实上,可以通过在多个智能合约中拆分结果智能策略来管理任意复杂度的XACML策略,即增强PTP,以便在一组互连智能合约中转换XACML策略。

    实际上,可以通过将生成的智能策略分割为多个智能契约(即,以加强PTP,将XACML政策转化为一套互相连接的智能合约。由于策略的复杂性取决于它实现的匹配,这些匹配被转换为SMART策略的评估函数中的检查,因此只在不同契约之间分割评估函数检查就足够了。相应的智能策略由一组智能契约(而不是单个契约)表示,它将包含一个主智能契约作为调用评估和其他功能的入口点。虽然身体评估函数将包含一个外部调用第二个聪明的合同,只负责计算匹配的政策的一部分,调用第三个合同计算匹配的另一个部分,等等,直到所有的火柴在原来的政策是实现智能合同。最后一个智能契约返回传递给调用者的结果,该结果将其与获得的计算其部分匹配的结果相结合,并将此新结果传递给调用者,依此类推。在将结果返回到主SMART POLICY SMART contract之前,它最终将返回全局结果。

  2. 当然,可以有效地设计该流程,以便尽可能地缩短评估调用

    只需要更改PTP,因为主要的SMART策略契约仍然是部署后触发策略评估的惟一点。将SMART策略分割为不同的契约,对于系统的其他模块是透明的。只要代表SMART策略的单个契约单独小于gas限制,就可以将它们插入到块中,因此任何策略都可以部署。惟一的缺点是,明智的策略需要多个部署事务,从而增加了部署成本(因为多个事务的成本通常高于单个累积事务)。请注意,通常情况下,与较大的事务相比,验证许多较小的事务并不需要增加预期的等待时间,因为许多较小的事务可以更好地放入空闲空间中可用的块,而一个大的必须等待一个有很多空闲空间的块(当然,假设大的事务可以放在一个块中)。

前一种方法不会降低智能策略部署的总体成本(相反,它可能会增加成本)。它只是允许超越单一合同的消费限制。此外,所提议的解决方案只涉及策略部署,而不涉及其执行。如果我们需要在chain上执行评估过程,那么它需要由一个必须遵守block gas限制的事务触发。

代表团

最后,为了能够在更多的应用场景中成功地被采用,可以通过引入进一步的功能,例如委派功能来增强所提出的区块链访问控制系统。委派是一种机制,允许用户,例如a,使另一个用户,例如B,能够代表他行事,即通过委派操作,使用户a能够将其访问权限(某些)转移给用户B[60,61]。当用户主动执行授权操作时(即没有集中控制或策略所有者的干预),可能会因为这样的授权而导致策略冲突。因此,为了规范谁可以授权给谁,并避免由于授权而导致的策略冲突,一些授权授权系统允许决策者指定一组降级授权规则,即控制谁可以将哪些特权委托给哪些其他用户和/或每个用户可以通过降级获得哪些额外特权的策略规则。

为了支持授权,建议的区块链基于访问控制系统的修改如下:

  • 一个新的评估与委托功能被添加到智能策略:
  • 将PTP修改为翻译策略中包含的委托授权规则,以编写evaluatewithdelegate函数(如下所述);
  • PEP也进行了修改,允许使用委托处理访问请求:
  • 增加了PAP和CHp,以处理新的生成的请求;
  • 一种新型的智能实体,叫做智能委托。被介绍为在区块链上代表一个代表团。

为了在资源上执行委托操作,B向PEP a委托ccess提交在。连结至智能代表团(即相应的智能合同),据说,授予他们访问权限。PEP通过创建一个事务来触发智能策略评估过程,该事务调用智能策略的evaluatewithdelegate函数(而不是evaluate函数),并将智能委托链接作为参数传递。

evaluatewith delegate函数检查智能委托是否实际由A创建,从它检索所需的委托信息,并根据委托授权规则检查它们。请注意,这是可能的,因为evaluatewithdelegate是由修改后的PTP编写的,PTP将它们转换为可执行代码,类似地,它将正常的策略规则转换为evaluate函数。如果满足委托授权规则。然后evaluatewithdelegate函数调用evaluate函数,将A指定为请求用户,而不是B,并相应地返回访问决策。

在以前的解决方案中,我们使用一个专用的新实体SMART delegate来代表各个代表团,而不是直接在SMART策略中存储代表团信息的简单解决方案,原因有两个:成本和安全性。在明智的政策中使用外部实体使得可以在不影响明智的政策的情况下拥有任意数量的代表团。将所有委托信息保存在SMART策略中反而会使其膨胀,并可能减慢所有访问它的用户的查找操作。此外,允许策略所有者以外的其他用户在契约中存储数据将使契约受到攻击,例如拒绝服务攻击,方法是在契约中填充无用的委托。

posted @ 2020-04-13 16:38  古厉  阅读(98)  评论(0编辑  收藏