Customizable Framework for Managing Trusted Components Deployed on Middleware

用于管理部署在中间件上的受信任组件的可自定义框架

1 KeyWrods

可信计算,可信管理,可信保护,可信度量,中间件

2 可信管理模型

2.1 可信系统的定义

丑国NSF认为可信系统是:按预期工作,且不易被颠覆

1
behaves as expected, but, more importantly, continues to produce expected behavior and are not susceptible to subversion

作者Minghui Zhou等人认为

  • trust relationship:实际就是 trustor 和 trustee 的关系,turstor 信任 trustee,trustee 被 trustor 信任。
  • trust properties: 包括安全性、隐私、及时性、可用性和可靠性等
  • trust entity: trustor 和 trustee 均为信任实体

在不同的应用领域信托人(trustor)需要受托人(trustee)担保不同的信托属性。受托人(trustee)可以位于计算机系统中的各层:硬件、网络、操作系统、中间件、应用程序服务。

该文关注的信托实体是网络上开放的动态的软件组件
软件组件是否可信,取决于:提供服务时的安全性、可靠性和及时性等。如果满足其声明和预期的信任功能,则该软件组件是可信的。

2.2 可信管理的四层模型

image-20210830203705391

  • The Communication Layer:通信层。负责信任实体时间的通信,除了提供可靠通信,还提供了可信通信需求(比如SSL)
  • The Management Layer:管理层。是管理可信度和信任关系的核心。
    • Trust Policy Customization 信任策略定制,有三种类型
      • 开发人员可以根据信任要求指定需要保证的信任属性。
      • 委托人或开发人员可以(重新)定义与特定受托人相关的信任属性的不同度量模型,即可信度度量方法和标准。
      • 用户可以配置如何在运行时权衡信任属性(这会需要重新配置信任机制)
  • The Infrastructure Layer:基础设施层。为保证不同的信托属性提供具体的信托服务,如安全性、容错性等。

2.3 信托实体

如上文提到的,这里的信托实体就是应用程序组件。

2.3.1 可信组件

受托人可以声明其在提供服务时可以担保的信托财产。例如,当银行机构提供金融服务时,它必须声明其服务是安全可靠的,否则客户将对银行服务不满意,然后不再来该机构寻求任何服务。

可信组件的结构
命名信息
接口描述
资源/组件引用
信任属性声明

例如电子书店的可信组件如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<entity>
<entity-name>Order</entity-name>
<interface>
<provide-method></provide-method>
<request-method></request-method>
</interface>
<entity-ref>
<ent-ref-name>Customer</ent-ref-name>
</entity-ref>
<resource-ref>
<res-ref-name>odbc/orders</res-ref-name>
<res-type>DataSource</res-type>
</resource-ref>
</entity>

<trust-property>
<trust-prop-type> security </trust-prop-type>
<role-ref>
<role-ref-name> administrator </role-ref-name>
<trust-prop-policy> SecurityPolicy </trust-prop-policy>
……
</role-ref>
……
</trust-property>

2.4 度量模型

可以将复杂的信任属性拆分成若干简单的子属性,然后单独定义表达式,以便更好的度量与管理。

2.4.1 基于单类型的信任公式

$t$ 时刻,软件组件 $u$ 的可信度计算公式

其中,$W_c$ 为信任属性 $C$ 在同一信任指标中的权值,$TW_c(u,t)$ 表示软件组件 $U$ 中 $C$ 信任属性 的可信度,$TrustChars$ 表示信任属性集。

2.4.2 基于属性定制的信任公式

我们无法定义满足所有要求的公式,所以需要根据特定的场景,根据应用系统的要求和用户的期望定制特定的公式。比如当我们关注系统安全特性的时候,我们可以定制与安全相关的度量公式。

  • 安全性

2.5 信任策略

信任策略可以用定制工具在运行时重新定义。

3 中间件

最流行的模型是基于对象的中间件,其中应用程序被构造成对象,这些对象通过位置透明的方法调用进行交互。信任管理的原型系统已经部署在北大的 PKUAS 的 J2EE

3.1 PKUAS

是一个基于组件的中间件平台,为部署和执行应用组件提供了环境,其中容器为组件实例提供运行空间。

为了支持组件实例的执行,容器能够捕获组件的所有详细信息(如界面、约束和关系),这是通过 PKUAS 的反射机制实现的。

通过容器,组件获得公共服务的支持,实现应用的交互和非功能要求。

3.2 整合信任管理

将信任管理作为一种公共服务纳入 PKUAS

信任组件装配工具将信任组件整合在一起,用于定制和调整信任属性。

通过与装配工具交互,容器可以提取有关组件和应用程序信任属性的所有信息,然后将其供应给信托管理。

3.3 信任组件的组装

装配实际上是为每个应用程序定义一个装配说明,并且只有在部署时才形成具体的应用程序

在组装应用程序时,我们不仅要明确涉及哪些信任组件,还要声明将为用户保证哪些信任属性。

3.4 信任管理的使用

通过使用 PKUAS 和在 PKUAS 上实施的信托管理服务,开发人员可以指定组件和应用程序的信托属性,并通过自定义信托策略来定义可信度的衡量模型。

基本流程:

  1. 指定可保证的信任属性,以及信任组件在请求受信任服务时期望的信任要求
  2. 为信任组件提供信任策略,以评估可信度
  3. 使用装配工具组装信任组件以构建信任程序
  4. 在 PKUAS 上部署和运行应用程序
  5. 使用自定义工具自定义组件的信任策略

当部署的应用程序在 PKUAS 上运行时,信任管理机制监控应用程序,计算组件的可信度数,通知用户值得信赖的程度,并根据策略调整信任属性。

3.5 执行情况的评估

信托管理的加入会影响系统性能。这方面可以进行优化

最后,该文提出未来会研究如何有效的进行运行时评估(应该在管理框架中增加一些自动化功能,以减轻开发人员的一些负担)。

4 Ref

https://ieeexplore.ieee.org/document/1467909



----------- 本文结束 -----------




0%