转换后XML文档的访问授权翻译
立即解锁
发布时间: 2025-08-23 00:10:51 阅读量: 2 订阅数: 20 

### 转换后 XML 文档的访问授权翻译
#### 1. 引言
随着 XML 成为越来越流行的数据表示和交换格式,它推动了 Web 数据共享和数据集成。因此,定义和实施对 XML 文档的访问限制变得至关重要,以确保只有授权用户可以访问信息。近年来,已经有不少关于 XML 访问控制模型的研究。这些模型直接对 XML 文档的结构和内容实施访问限制,这样可以在比整个文档更细的粒度级别(例如元素级别)保护 XML 格式的信息。
每个 XML 文档都与一组授权相关联,这些授权指定了用户对文档内信息的访问权限。授权中的对象由标识文档内元素或属性的路径表达式描述。然而,由于多种原因,XML 文档的结构往往会随时间发生变化,例如纠正模式中的设计错误、允许应用程序范围随时间扩展,或者考虑多个业务合并为一个。当 XML 文档被转换以符合新的模式时,相关的授权必须为转换后的文档进行翻译。
授权翻译是一项复杂的任务,因为它涉及 XML 数据模型、模式匹配、XML 访问控制模型和应用程序需求。一般来说,模式匹配是一项费力的手动工作。不过,近年来在模式匹配和文档转换领域已经有了一些进展。例如,Xtra 提供了一组模式转换操作,用于建立两个 XML 文档模式之间的语义关系,还提供了一种算法来发现将源 XML 文档转换为目标 XML 文档的 XSLT 脚本。TranScm 则使用基于规则的方法检查并找出源模式和目标模式之间的相似性和差异,并提供将第一个模式的实例转换为第二个模式实例的方法。这些工作可以为授权翻译提供一些必要的模式映射信息。
本文的目标是提出一种翻译 XML 文档授权的方法。据我们所知,之前还没有研究涉及 XML 文档的授权翻译。我们的工作重点是源文档和转换后文档的模式表示相同概念的情况。对于未关联 DTD 的 XML 文档,我们可以通过应用现有 XML 文档处理工具的 DTD 生成函数来获取其 DTD。授权翻译的目标是,转换后 XML 文档的授权必须实施与源 XML 文档授权相同的访问限制。本文还指出了授权翻译的局限性。
#### 2. 基本概念
##### 2.1 XML 文档、DTD 和 XPath
XML 文档由一系列嵌套元素组成,每个元素由一对开始和结束标签或一个空标签分隔。元素可以有附加的属性,这些属性表示元素的属性。元素和属性都可以包含值。XML 文档的结构由 DTD 描述,DTD 可以建模为一个标记树,其中每个节点对应 DTD 中的一个属性或元素。
XPath 是一种用于在 XML 文档中定位文本数据、元素和属性的语言。除了用于寻址外,XPath 还可以在导航中添加条件。
##### 2.2 XML 访问控制模型
本文采用了 Damiani 的 XML 访问控制模型,该方法也可以很容易地适应其他 XML 访问控制模型。这个模型根据用户的身份和规则(称为授权)来规范用户对 XML 文档内元素和属性的访问。授权可以是对 XML 元素或属性的正授权或负授权。指定在元素上的授权可以定义为仅适用于其属性(本地授权),或者以递归方式适用于其子元素和属性(递归授权)。
该模型提供文档级和模式级授权。模式级授权适用于所有作为 DTD 实例的 XML 文档,文档级授权允许用户为每个文档定制安全要求,并且文档级授权通常优先于模式级授权。为了处理不应应用优先级标准的情况,该模型允许用户将授权(本地或递归)指定为弱类型。
授权定义为一个 5 元组:<主体, 对象, 动作, 符号, 类型>,其中:
- 主体是被授予授权的用户,由三元组(用户 ID、IP 地址、符号地址)描述。
- 对象由标识元素和属性的路径表达式描述。
- 动作是读取操作。
- 符号属于 {'+', '-'}。
- 类型属于 {L, R, LW, RW},分别表示本地、递归、本地弱和递归弱授权传播类型。
我们将对象定义基于元素或属性值的授权称为值相关授权,将对象定义不基于元素或属性值的授权称为值无关授权。
#### 3. XML 文档结构转换的影响
我们首先分析 XML 文档转换对授权翻译的影响,将其分类如下:
##### 3.1 全映射 / 部分映射
全映射表示一个模式中的每个模式元素都与另一个模式中的模式元素有关系。部分映射发生在任一模式中的某些模式元素与另一个模式中的元素没有关系的情况下。我们将与任何目标模式元素都没有关系的源模式元素称为未映射的源模式元素(USE),将与任何源模式元素都没有关系的目标模式元素称为未映射的目标模式元素(UTE)。在源模式和目标模式表示相同概念的情况下,USE 和 UTE 是内部元素。对于 UTE,我们定义了三种可选的授权策略:
- 开放策略:允许所有主体访问 UTE。
- 授权继承策略:允许 UTE 从其父元素继承授权。
- 用户定义策略:允许安全管理员在翻译授权之前为 UTE 预定义授权。
##### 3.2 源模式元素和目标模式元素之间的语义关系
源模式元素和目标模式元素之间的语义关系分为一对一、一对多、多对一和多对多关系。目标模式元素 e 的授权通过组合与 e 有语义关系的所有源模式元素的授权来计算。如果授权的对象基于与目标元素有一对多、多对一或多对多关系的模式元素的值,则授权翻译需要了解源和目标模式元素之间值映射的安全管理员的指导。
##### 3.3 元素 - 子元素关系
当元素 - 子元素关系发生变化时,从给定递归授权继承安全策略的后代元素可能会不同。例如,假设存在一个授权 auth:<<staff, *, *>, /a/c, read, +, R> 用于符合模式 S1 的 XML 文档 D1。当文档转换为符合模式 S2 时,由于元素 c 在模式 S1 和 S2 中的后代元素不同,不能直接将该授权翻译为 <<staff, *, *>, /a’/c’, read, +, R> 用于文档 D2。为了解决这个问题,我们首先将 auth 转换为一组具有相同授权策略的授权,即一个针对元素 c 的本地授权和针对元素 c 的最近后代元素(非 USE)的递归授权,然后将这些授权的路径表达式翻译为模式 S2 的相应路径表达式。
##### 3.4 元素和属性值
由于文档转换,XML 目标文档的某些元素和属性的值可能与源文档中相应元素和属性的值不同。安全管理员使用这些源元素和目标元素/属性之间的值映射来翻译值相关的授权。
#### 4. 翻译授权
在很多情况下,源模式元素和目标模式元素之间的语义关系是一对一映射。在这些情况下,我们提供一种简单的授权翻译方法。首先,我们给出 DTD 图和部分映射的定义。
#####
0
0
复制全文
相关推荐









