(计算机软件与理论专业论文)权限表达语言在数字内容递送中的应用.pdf_第1页
(计算机软件与理论专业论文)权限表达语言在数字内容递送中的应用.pdf_第2页
(计算机软件与理论专业论文)权限表达语言在数字内容递送中的应用.pdf_第3页
(计算机软件与理论专业论文)权限表达语言在数字内容递送中的应用.pdf_第4页
(计算机软件与理论专业论文)权限表达语言在数字内容递送中的应用.pdf_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

东南大学硕士学位论文权限表达语言在数字内容递送中的应用 摘要 如何实现数字权限管理是数字内容递送需要解决的一个关键问题。权限表达语言是数字权 限管理的一个核心技术。将权限表达语言应用于数字内容递送为彻底解决数字权限管理问题迈 出了坚实的一步。本文在现有技术的基础上,结合目前流行的权限表达语言、x m l 安全技术以 及m p e g 2 1 多媒体框架等先进技术,提出了种支持权限表达语言的数字内容递送技术,并 给出了我们实现的一个i n t e m e t 上数字内容租借应用。该技术除了能够满足数字内容递送对保 密性、完整性和无否认性等安全需求,还通过表达数字内容的授权信息防止用户非法使用数字 内容。该技术具备高效、灵活、可扩展和互操作等优良特性,为解决数字内容递送中的数字权 限管理问题打下了基础。 本文首先介绍了x m l 安全技术,包括x m l 加密技术和x m l 数字签名技术,接着我们对 m p e g 一2 1 多媒体框架做了一定的探讨,然后对目前比较流行的权限表达语言x r m l 和o d r l 进行了介纲。结合以上技术我们设计和实现了一个支持权限表达语言的数字内容递送原型系统。 最后是对本文工作的总结以及对未来技术的发展做出展望。 关键词:数字内容,数字权限管理,可扩展标记语言,权限表达语言,x m l 安全技术 m p e g - 2 1 多媒体框架。 东南大学硕士学位论文 权限表达语言在数字内容递送中的应用 a b s t r a c t h o wt oi m p l e m e n t d i g i t a lr i g h t sm a n a g e m e n t i so n eo f k e y p r o b l e m t h a td i g i t a lc o n t e n td e l i v e r y n e e dt os o l v e t h er i g h t se x p r e s s i o nl a n g u a g ei so n ek e yt e c h n o l o g yo fd i g i t a lr i g h t sm a n a g e m e n t a p p l y i n gr i g h t se x p r e s s i o nl a n g u a g e t od i g i t a lc o n t e n td e l i v e r yi st h es t r o n gs t e pf o r t o t a l l ys o l v i n g t h e p r o b l e ma b o u td i g i t a lr i g h t sm a n a g e m e n t t oa d d r e s st h i s ,b a s e d o ne x i s t i n gt e c h n o l o g i e s , i n t e g r a t e dw i t hr i g h t se x p r e s s i o nl a n g u a g e ,x m ls e c u r i t yt e c h n o l o g ya n dm p e g 一2 1m u l t i m e d i a f r a m e w o r k ,t h i st h e s i s p r o p o s e s a n d i g i t a l c o n t e n td e l i v e r yt e c h n o l o g yw h i c hi n v o l v e s r i g h t s e x p r e s s i o nl a n g u a g e ,a n d i ta l s o g i v e s a p r o t o t y p e w h i c hi m p l e m e n t s d i g i t a l c o n t e n tr e n t i n g a p p l i c a t i o no ni n t e r n e t t h i st e c h n o l o g yn o to n l ym e e t st h es e c u r i t yr e q u i r e m e n t sf o rd i g i t a lc o n t e n t d e l i v e r ys u c h a sc o n f i d e n t i a l i t y , i n t e g r i t y , a n dn o n r e p u d i a t i o n ,b u ta l s op r e v e n t st h eu s e r sf r o mu s i n g t h e d i g i t a l c o n t e n t i l l e g a l l yb ym a k i n gu s e o fr i g h t s e x p r e s s i o nl a n g u a g ew h i c hd e s c r i b e st h e i n f o r m a t i o na b o u ta u t h o r i z a t i o n m e a n w h i l ei th a st h ef e a t u r e ss u c ha sh i 【g h e f f i c i e n c y , f l e x i b i l i t y , e x t e n s i b i l i t ya n di n t e r o p e r a b i l i t y , a n df o rt o t a l l ys o l v i n gt h ep r o b l e mo fd i g i t a lr i g h t sm a n a g e m e n t ,i t p r o v i d e ss o m e i d e a s t h i st h e s i sf i r s ti n t r o d u c e sx m l s e c u r i t yt e c h n o l o g yi n c l u d i n gx m le n c r y p t i o na n dx m l s i g n a t u r e ,a n dt h e nd i s c u s s e st h em p e g 2 1m u l t i m e d i af r a m e w o r ka n dt h ee x i s t i n gp o p u l a rr i g h t s e x p r e s s i o nl a n g u a g ei n c l u d i n gx r m l a n do d r l ,f i n a l l yt h i st h e s i su s e st h et e c h n o l o g i e st h a th a v e b e e nm e n t i o n e dt od e s i g na n di m p l e m e n tad i g i t a lc o n t e n td e l i v e r yp r o t o t y p et h a ti n v o l v e sr i g h t s e x p r e s s i o nl a n g u a g e a tl a s tt h i st h e s i se n d e dw i t hac o n c l u s i o no v e rt h ew h o l ew o r ka n dap r o s p e c to ff u t u r e t e c h n o l o g i e s , k e yw o r d s :d i g i t a lc o n t e n t , d i g i t a lr i g h t sm a n a g e m e n t , x m l ,r i g h t se x p r e s s i o nl a n g u a g e ,x m l s e c u r i t y , m p e g - 2 1m u l t i m e d i af r a m e w o r k 东南大学学位论文 独创性声明及使用授权说明 一s 一、学位论文独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究 工作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的 地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包 含为获得东南大学或其它教育机构的学位或证书而使用过的材料。与 我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确 的说明并表示了谢意。 签名:垄叠生一日期:! 塑:! :竺 二、关于学位论文使用授权的说明 东南大学、中国科学技术信息研究所、国家图书馆有权保留本人 所送交学位论文的复印件和电子文档,可以采用影印、缩印或其它复 制手段保存论文。本人电子文档的内容和纸质论文的内容相一致。除 在保密期内的保密论文外,允许论文被查阅和借阅,可以公布( 包括 刊登) 论文的全部或部分内容。论文的公布( 包括刊登) 授权东南大 学研究生院办理。 签名:盎口蛭导师签名:躯趔 日期:纽! :生! 查堕盔堂堡主笙苎 壑堕查垄堡童鱼墼兰堕查望鲎! 竺窒旦 1 1 研究背景 第一章绪言 进入二十一世纪初,随着i n t e r n e t 及其应用的发展,以各种类型的多媒体、电子书籍、数 字杂志( 期刊) 、交互游戏等为商品的数字内容市场发展迅猛,引起了工业界和学术界的广泛关 注。按照i d c 的预测,到2 0 0 3 年数字内容市场容量将达到2 7 5 0 亿美元。数字内容递送技术是 构建全球统一的数字内容市场的关键技术之一。数字内容递送技术主要包括打包技术、安全支 持技术、数字权限管理( d r m 、d i g i t a lr i g t h t sm a n a g e m e n t ) 技术等。特别是以权限表达语言 为代表的数字权限管理技术的不断推陈出新给整个数字内容递送链上各个角色、部门带来了新 的技术力量和信心。通常,人们采用访问控制等传统安全技术实现数字内容的权限管理。但是, 由于采用访问控制技术必定引入相应的本地安全政策,造成了系统的封闭性,并且缺乏灵活性 和可扩展性。 x m l ( e x t e n s i b l em a r k u pl a n g u a g e ,可扩展标记语言) j i l l2 j 口l 技术是新一代w e b 技术,具 备互操作性、可扩展性和灵活性等优良特性。因此将x m l 技术应用于数字内容递送是非常有 优势。数字权限管理技术中就大量使用了x m l 技术例如基于x m l 技术的权限表达语言, x m l 安全技术等。 数字权限管理技术的核心之是权限表达语言( r i g h t se x p r e s s i o nl a n g u a g e ) 。权限表达语 言的目的是统的对数字内容的权限授权信息进行表达,使得在数字内容的整个生命周期里能 够一致的对权限进行管理。通过权限表达语言生成权限表达文档,将权限表达文档与数字内 容按一定的格式绑定在一起,这样权限表达就能够伴随数字内容在递送链上的各个结点之间传 输。每个结点对数字内容的访问都必须遵循伴随数字内容递送的权限表达文档。目前已经有很 多国际组织和公司正在制定权限表达语言,其中具有代表性的权限表达语言有x r m l p l ( e x t a n s i b l er i g h t sm a r k u p l a n g u a g e ) 和o d r l ”1 ( o p e nd i g i t a lr i g h t sl a n g u a g e ) 。x r m l 已经 提交给m p e g ( m o v i n g p i c t u r e e x p e r t sg r o u p ) 组织和o a s i s ( o r g a n i z a t i o n f o r t h ea d v a n c e m e n t o f s t r u c t u r e di n f o r m a t i o ns t a n d a r d s ) 组织,其中m p e g 组织将x r m l 作为它提出的m p e g 2 1 1 1 2 l 多媒体框架中的权限表达语言m p e g 2 1r e l i ”1 的基础,而o a s i s 组织正在制定的r l i l ? l ( r i g h t s l a n g u a g e ) 也将x r m l 作为其主要技术参考。o d r l 提交给了w 3 c 和m p e g 组织,希望其后 继版本的修订由w 3 c 、m p e g 等标准化组织来完成。 x r m l 是由c o n t e n t g u a r d 公司开发的种基于x m l 的权限表达语言,它当前版本是2 0 , 其前身是x e r o x 公司的d p r l 2 o l ”l ( d i g i t a l p r o p e r t y r i g h t s l a n g u a g e ) 。其设计目的是,使得创 建者和发行者按照自己的商业模式定义数字内容的权限、费用、使用条件,并为权限控制提供 标准、精简、易懂的条款。x r m l 还具有可扩展性。使得将来x r m l 可以随着数字内容市场的 健全而完备。x r m l 定义了套词汇表用于标准权限表达文档的结构和语义。并引入数字签名 机制保证文档的完整性、可验证性、不可否认性。x r m l 引入了信任系统这个概念,它认为信 任系统是能够遵循合法权限对数字内容进行操作的系统。x r m l 将权限与数字内容紧密结合起 来,提出了一系列的基本概念。例如:权限与数字内容结构中的某个部分或整体关联、每一种 类型的权限都有相应的事务处理、权限执行时事务处理会通知信任系统做相应的操作、权限是 用机器能够解释的语言描述、权限可以被合法修改等。x r m l 一经推出,许多公司( 例如 m i c r o s o r 、x e r o x 等) 纷纷表示支持,并提出了联合研究计划。 o d r l 规范是由1 p r s y s t e m s 公司制定的,它当前版本拦i i ,其设计目的是将数字权限管 理嵌入到现有的权限管理体系中以增强数字内容递送链中备个角色之间的互操作性。o d r l 规 范定义了实体模型、权限表达模型、权限数据字典,并且o d r l 规范根据权限表达模型制定了 l 东南大学硕士论文 权限表达语言在数字内容递送中的应用 基于x m l 的权限表达语言。通过权限表达语言就能够满足不同的商业流程表达权限授权信息 的需求,然后再使用一些安全技术对权限表达文档进行数字签名,以增强安全性。除了定义权 限表达语言,o d r l 规范还制定了权限数据字典用以支持权限表达语言,并对数据字典中的每 个数据元素的语义进行了定义。权限数据字典中的每个数据元素都是通过i s o 一1 1 1 7 9 中定义的 元数据( 例如,名称、标识符、定义、注释等) 来定义的。o d r l 的优势有许多。其中最重要 的就是它是一个完全开放的标准。i p rs y a e m s 公司将在下一个版本中对o d r l 进行扩展,扩 展的主要方面有以下几点:对权限数据字典进行扩展、在不同的权限表示语言间建立映射关系 等。 权限表达文档的安全性是设计权限表达语言所需考虑的一个关键问题。针对权限表达文档 采用x m l 语法的特殊性,采用x m l 安全技术对权限表达文档进行安全保护成为必然。目前比 较成熟的基于x m l 的安全技术有w 3 c 组织制定的x m l 加密技术i s l ( x m le n c r y p t i o n ) 和w 3 c 以及因特网技术标准化组织一因特网工程任务组( i n t e m e te n g i n e e r i n gt a s kf o r c e ,i e t f ) 共同 制定的一种安全标准x m l 数字签名技术pj ( x m l s i g n a t u r e ) 。 x m l 加密是w 3 c 制定的一种安全标准,目前己处于w 3 c 的推荐标准( r e c o m m e n d a t i o n ) 阶段。x m l 加密采用现有的些成熟加密算法( 例如d e s 、r s a 等) 对数据对象进行加密和 解密。x m l 加密指定了加密解密操作的规则和过程,并采用基于x m l 的数据格式表示加密的 结果。x m l 加密的候选加密对象可以是任意数据,当然也包括x m l 文档和x m l 元素。加密 后的数据作为一个x m l 元素( 元素名为e n c r y p t e d d a t a ) 保留在x m l 文档里。x m l 加密采用 通用的x m l 技术,使得它获得x m l 的巨大优势。 x m l 数字签名是w 3 c 与因特网技术标准化组织因特网工程任务组( i n t e m e te n g i n e e r i n g t a s kf o r e ,i e t f ) 共同制定的一种安全标准。x m l 数字签名目前已处于w 3 c 的推荐标准阶 段。x m l 数字签名采用现有的一些成熟数字签名算法( 例如d s s 算法等) 对数据对象进行签 名,并在现有的p k i 等基础设施的支持下进行验证。x m l 数字签名采用x m l 的语法来表示数 字签名,并定义了数字签名的生成和验证规则。它满足数字签名技术对安全方面的3 个要求, 即消息完整性、消息的可验证性和签名者的可验证性。x m l 数字签名采用通用的x m l 技术, 使得它获得x m l 的巨大优势。 m p e g 组织从多媒体的视角提出了一个m p e g 2 1 多媒体框架,该框架的目标是:使得能 够在不同实体的不同平台下,透明、高效、可信的处理多媒体数据。该框架的核心技术之一就 是数字权限管理的一系列技术:除此之外,m p e g 。2 1 框架还提出了d i d 5 l ( 数字项声明、d i # m l i t e md e c l a r a t i o n ) 等支持多媒体处理的技术。该框架的提出,为解决数字内容递送的相关问题 指明了方向。 1 2 项目背景和本文主要工作 本文的课题来源于国家8 6 3 高技术研究与发展项目“基于x m l 的数字权限管理技术”。本 文的研究重点;一、分析目前比较流行的权限表达语言,主要是x r m l 和o d r l ;二、分析目 前比较成熟的x m l 安全技术,主要是x m le n c r y p t i o n 和x m ls i g n a t u r e 技术,理解其应用场 景;三、了解m p e g - 2 1 多媒体框架:四、在x r m l 、m p e g 2 1 多媒体框架和x m l 安全技术的 基础上,设计和实现一个支持权限表达语言的数字内容递送原型系统。 1 3 参与的项目和撰写的论文 参加项目的情况: 基于x m l 的数字权限管理技术,国家8 6 3 课题,2 0 0 2 2 0 0 3 基于w e b 的高校科技( 信息服务与) 管理系统,东南大学科技处,2 0 0 1 2 0 0 2 2 东南人学硕士论文权限表达语言在数字内容递送中的应用 基于j a v a 的x m l 信息处理软件平台的研制,国家8 6 3 课题,2 0 0 0 2 0 0 1 撰写论文的情况: 程伟华,瞿裕忠:x m l 技术在数字内容递送中的应用,计算机工程及应用,2 0 0 3 - 3 1 4 内容安排 第一章绪言 介绍研究背景、本人的主要工作、参与项目及撰写论文的情况等。 第二章x m l 安全技术介绍 介绍x m l 安全技术,主要是x m l 加密和x m l 数字签名技术。 第三章基于x m l 的权限表达语言 详细介绍了x r m l 和o d r l 第四章m p e g 2 1 多媒体框架 概括介绍m p e g 2 1 多媒体框架中的相关技术 第五章支持权限表达语言的数字内容递送系统的设计与实现 详细介纫了系统的设计和实现过程 第六章总结与展望 论文工作总结并对权限表达语言的发展趋势作展望。 致谢 参考文献 东南大学硕士论文 权限表达语言在数字内容递送中的应用 2 1 x m l 加密技术 2 1 1 概述 第二章x m l 安全技术 x m l 加密规范于2 0 0 2 年1 2 月1 0 日成为w 3 c 的推荐标准。x m l 加密采用现有的一些成 熟加密算法( 例如d e s 、r s a 等) 对数据对象进行加密和解密。x m l 加密指定了加密解密 操作的规则和过程,并采用基于x m l 的数据格式表示加密的结果。x m l 加密的数据对象可 以是任意数据,当然也包括x m l 文档和x m l 元素。加密后的数据作为一个x m l 元素( 元 素名为e n c r y p t e d d a t a ) 保留在x m l 文档里。x m l 加密采用x m l 技术,使得它获得巨大的 优势。 x m l 加密有众多优点,比较突出的如下: 1 )灵活性:可对任何数据对象( 包括x m l 文档、x m l 元素) 进行加密,特别是对x m l 文档进行处理时能够对同一个x m l 文档的不同部分进行不同的加密( 不同密钥、不 同加密算法等) 。 2 )互操作性强:x m l 加密指定了加密解密操作的规则和过程并采用x m l 格式表示加密 的结果,使得合作伙伴能够统一加密和解密应用。增强互操作性。 x m l 加密技术在数字内容递送中的应用是非常明显的,例如对权限表达文档或数字内容加 密等。下面,我们将对x m l 加密技术进行详细介绍。首先会给出些示例,接着介绍x m l 加密的语法( 介绍核心元素) ,最后介绍x m l 加密技术的加密和解密处理规则。 2 1 2 典型的x m l 加密示例 x m l 加密技术将加密的数据对象分为三类:一、x m l 元素;二、x m l 元索内容;三、任 意数据( 包括整个x m l 文档) ;x m l 加密对不同类型数据对象进行加密解密时做出不同的处 理。当加密x m l 元素或x m l 元素内容时,加密过的数据作为个名为e n e r y p t e d d a t a 的x m l 元素代替明文的x m l 元素或x m l 元素内容;当加密任意数据( 包括整个x m l 文档) 时, e n c r y p t e d d a t a 元素成为一个新的x m l 文档的根元素或作为一个元素插入应用所指定的x m l 文档中。 下面是一个x m l 文档示例,我们对其不同部分进行加密,用以展示不同类型的加密。 程伟华 2 l1 02 3 4 32 3 2 29 8 4 5 h s b c 1 0 0 7 2 0 0 5 这个文档表示名字为程伟华的一个信用卡的信息。 f 面将对c r e d i t c a r d 整个元素加密,以保证其机密性,加密过后的文档( t y p e = , h t c p :l l w w w w 3 o r g 2 0 0 i 0 4 x m l e n c # e l e m e n t 指明加密的数据对象是x m l 元素) 如下: 4 东南大学硕士论文权限表达语言在数字内容递送中的应用 程伟华 b 1 a 2 v 3 8 5 f 4 g 3 在某个应用场景下,只需要对c r e d i t c a r d 的元素内容进行加密,则加密过后的x m l 文档 ( t y p e = h t t p :w w w w 3 o r g 2 0 0 i 0 4 x m l e n c # c o n t e m 指明加密的数据对象是x m l 元素内容) 如 下: 程伟华 2 v 3 8 5 f 4 g 3 b l a 在某个应用场景下,则需要对整个文档加密,则加密过后的x m l 文档( t y p e 属性缺省表 示加密的数据对象是任意数据) 如下: 3 8 1 a2 v 3 8 5 f 4 g 3 b i a 2 1 3x m l 加密语法 x m l 加密规范采用x m ls e h e m # “1 语法定义了一系列的类型和元素表示加密所需的信息 和加密结果a 这里只介绍一个基本类型e n c r y p t e d t y p e ( 其它类型请参考x m l 加密规范) 和几 个主要的元素,这些元素是e n c r y p t i o n m e t h o d 元素、c i p e r d a t a 元素、e n e r y p - t e d d a t a 元素、 e n c r y p t e d k e y 元素、r e f e r e n c e l i s t 元素、e n c r y p t i o n p r o p e r t i e s 元素。除了以上类型和元素外, x m l 加密规范对x m l 数字签名规范中定义的k e y i n f o 元素进行了扩展。e n c r y p t e d d a t a 元素、 e n c r y p t e d k e y 元素这些元素和类型用来表达加密的结果以及加密所需要的信息。下面对这些类 型和元素简单介绍。 e n c r y p t e d t y p e 类型 e n c r y p t e d t y p e 是一个由x m l s c h e m a 定义的抽象类型。它代表了一个结构,该结构包含了 加密的所有信息,这些信息以x m l 元素的形式存在。它的x m l s e h e m a 定义如下: 5 东南大学硕士论文 权限表达语言在数字内容递送中的应用 e l e m e n tn a m e = e n c r y p t i o n m e t h o d t y p e = x e n c :e n c r y p t i o n m e t h o d t y p e m i n o c c u r s = 0 佟 e l e m e m r e f = - 1 d s :k e y l n f o m i n o c c u r s = 0 胁 e l e m e m r e f = x e n c :e n c r y p t i o n p r o p e r t i e s m i n o c c u r s = 0 ,) a t t r i b u t en a m e 2 l d l y p e = i d u s e = o p t i o n a l p 在这个s c h e m a 定义中,e n c r y p t i o n m e t h o d 元素表示加密所使用的算法。d s :k e y l n f o 元素是 由x m ls i g n a t u r e 标准制定的,它表示加密所需密钥的信息。c i p e r d a t a 元素表示密文。 e n c r y p t i o n p r o p e r t i e s 元素表示e n c r y p t e d t y p e 类型元素生成的其它信息( 例如时间戳) 。i d 属性 表示在文档上下文中分配的i d 。t y p e 属性表示明文的类型信息( 例如x m l 元素、x m l 元素内 容等) m i m e t y p e 属性表示明文的媒体信息( 例如“i m a g e p n g ”表示w 3 c 定义的p n g 类型的 图片格式) e n c o d i n g 属性表示明文的编码格式( 例如“b a s e 6 4 ”等) 。 e n e r y p t i o n m e t h o d 元素 e n c r y p t i o n m e t h o d 元素表示加密所使用的算法。它是一个可选元素i 缺省情况表示解密应 用应当知道加密算法;如果不知道,则解密将失败。该元素x m ls c h e m a 定义如下: a n yn a m e s p a c e = # # o t h e r m i n o c c u r s = 0 m a x o c c u r s = u n b o u n d e d 协 在这个s c h e m a 定义中k e y s i z e 元素表示密钥的尺寸。a l g o r i t h m 属性表示加密所使用的算 法,并采用u r i 唯一标识。 c i p e r d a t a 元素 c i p e r d a t a 元素表示加密过后的密文数据:x m ls c h e m a 定义如下: 在这个s c h e m a 定义中c i p e r v a l u e 元素表示密文( 密文的编码方式是b a s e 6 4 ) x e n c :c i p e r r e f e r e n c e 元素表示一个指向实际密文数据的引用,引用机制采用u r i 。 e n e r y p t e d d a t a 元素 e n c r y p t e d d a t a 是x m l 加密规范定义的核心元素。所有加密过后的信息( 包括密文数据) 都包含在该元素中;e n c 叮p t e d d a t a 元素的类型是e n c r y p t e d d a t a t y p e ,该类型是从e n c r y p t e d t y p e 派生而出的。 6 东南大学硕士论文权限表达语言在数字内窖递送中的应用 对d s :k e y i n f o 进行扩展 x m l 加密规范支持三种方法来表达加密所需的密钥信息:一,通过d s :k e y l n f o 元素的儿子 元素e n c r y p t e d d a t a 或e n c r y p t e d k e y 元素传递密钥信息;二通过e n c r y p t e d d a t a 元素( 不是 d s :k e y l n f o 元素的儿子元素) 中的r e f e r e n c e l i s t 元素的儿子k e y r e f e r e n c e 元素来传递密钥信息: 三,由应用上下文决定,不在x m l 文档中表示。 下面对e n c r y p t e d k e y 元素进行介绍。 e n c r y p t e d k e y 元素表示从加密方至解密方之间传递的密钥信息。它的类型是 e n c r y p t e d k e y t y p e 该类型从e n c r y p t e d t y p e 派生而出;定义该元素是为了解决对工作密钥进行 加密等密钥传输问题。e n c r y p t e d k e y 元素的x m ls c h e m a 定义如下; e l e m e n tr e f = - x e n c :r e f e r e n c e l i s t m i n o c c u r s = o 胁 e l e m e n t n a m e 2 c a r r i e d k e y n a m e t y p e = s t r i n g m i n o c c u r s = 0 胁 r e f e m c e l i s t 元素是个引用,它指向应用e n c r y p t e d k e y 元素传递的密钥进行加密的数据 对象( 数据或密钥) 。c a r r i e d k e y n a m e 元素表达密钥的别名。r e c i p i e n t 属性表达这个密钥的接 受者。 d s :r e t r i e v a l m e t h o d 元素是d s :k e y l n f o 元素的一个儿子元素。它是一个引用,其指向一个 e n c r y p t e k e y 元素。 r e f e r e n e e l i s t 元素 r e f e r e n c e l i s t 元素指向需要加密的数据对象( 数据或密钥) 。它包含一个或多个 d a t a r e f e r e n c e 元素和一个k e y r e f e r e n c e 元素。d m a r e f e r e n c e 元素用以指向已被加密的数据对 象,多个d a t a r e f e r e n c e 元素表示多个已被加密的数据对象。k e y r e f e r e n c e 元素用以指向已被加 密的密钥( 例如工作密钥) 。 e n c r y p t i o n p r o p e r t i e s 元素 e n c r y p t i o n p r o p e r t i e s 元素包含了生成e n c r y p t e d d a t a 元素和e n c r y t p e d k e y 元素的其它信息 ( 例如时间戳) 。该元素包含多个e n c r y p t i o n p r o p e r t y 元素,每个e n c r y p t i o n p r o p e r t y 元素表示一 个具体的信息。 2 1 4 加密解密的处理规则 本小节介绍加密解密的处理规则。x m le n c r y p t i o n 规范定义t - - 个术语:。a p p l i c a t i o n 表示请求加密解密的应用;二,e n c r y p t o r ,实现加密功能的加密器;三d e c r y p t o r ,实现解密 功能的解密器。下面分加密部分和解密部分分别介绍相应的处理规则。 加密部分 加密部分的主要工作就是将每一个数据对象加密成e n c r y p t e d d a t a 元素或e n c r y p t e d k e y 元 素( 加密的数据对象是密钥) 。加密的处理规则分为如下几步: 第一步选择用以加密的算法和参数。 第二步获取密钥并表示密钥。 7 东南大学硕士论文 权限表达语言在数字内容递送中的应用 1 如果密钥采用名字或u r i 来标识,则构造合适的d s :k e y i n f o 元素用以表示密钥。 2 如果密钥本身需要加密,则递规调用加密过程构造e n e r y p t e d k e y 元素将密钥封装, 并将这个e n c r y p t e d k e y 元素作为d s :k e y l n f o 元素的儿子元素或将其添加在 a p p l i c a t i o n 需要的地方。 第三步加密数据对象。 1 如果加密的数据对象是x m l 元素或x m l 元素内容,则采用u t f 。8 编码序列化加 密数据,这个操作可由e n c r y p t o r 或a p p l i c a t i o n 来完成。 2 如果加密的数据对象是其它类型的数据并且不以字节流的形式存在,则a p p l i c a t i o n 必须将其序列化。 3 采用第一步和第二步提供的算法和密钥加密数据对象。 4 如果d e c r y p t o r 不知道加密数据的类型( 例如图像、字符) ,则e n e r y p t o r 必须显示 的表明数据的类型,我们采用m i m e t y p e 属性来标识这些类型以供d e c r y p t o r 使用 ( 例如m i m e t y p e = ”i m g p n g ”表示w 3 c 定义的图像数据、m i m e t y p e = t e x t p l a i n ” 表示字符数据、m i m e t y p e = ”t e x t x m l ”表示x m l 文档) 。 第四步构造e n c r y p t e t y p e 类型元素( e n c r y p t e d d a t a 元素或e n e r y p t e d k e y 元素) ,每个 e n c r y p t e t y p e 类型的元素包含了所有的信息,例如加密算法、加密密钥、密文等。 1 如果第三步得到的已被加密的数据需要童接存储在e n c r y p t e d t y p e 类型的元素 ( e n c r y p t e d d a t a 元素或e n c r y p t e d k e y 元素) 的c i p e r d a t a 元素中,则需要采用 b a s e 6 4 编码对密文进行处理,并作为c i p e r d a t a 的儿子元素c i p e r v a l u e 的元素内容。 2 如果第三步得到的已被加密的数据需要存储在e n c r y p t e d t y p e 类型的元素之外,则 e n t r y p t e d d p e 类型的元素必须有c i p e r r e f e r e n c e 元素用以指定密文所在。 c i p e r r e f e r e n c e 元素包含的信息有密文的u r i 以及对密文的一些转换的操作算法。 第五步处理e n c r y p t e d a t a 元素。 1 如果加密数据的类型是x m l 元素或x m l 元素内容,则e n c r y p t o r 必须能够将 e n c r y p t e d d a t a 元素返回给a p p l i c a t i o n 。a p p l i c a t i o n 可能将e n c r y p t e d d a t a 元素作为 一个新的x m l 文档的根元素或插入某个应用相关的x m l 文档中。e n c r y p t o r 支持 将e n c r y p t e d d a t a 元素替换明文,当a p p l i c a t i o n 需要将e n e r y p t e d d a t a 元素替换明 文时,e n c r y p t o r 完成这个工作。 2 如果加密数据的类型不是x m l 元素或x m l 元素内容。则e n c r y p t o r 必须总是将 e n c r y t p e d d a t a 元素交给a p p l i c a t i o n 处理。 解密部分 对每一个需要解密的e n c r y p t e d t y p e 类型元素即e n c r y p t e d k e y 元素或e n c r y p t e d d a t a 元素, d e c r y p t o r 必须执行以下几步: 第一步分析需要解密的e n c r y p t e d t y p e 类型元素,获取加密算法、密钥信息,如果有些信 息缺乏- 则a p p l i c a t i o n 应当从别的渠道获得,否则解密工作将无法完成。 第二步从d s :k e y l n f o 元素中定位密钥,如果密钥已被加密,则获取合适的其它密钥对已被 加密的密钥进行解密,解密的操作是个递规过程( 从第一步开始至第五步结束) ,直至 获得最后的工作密钥。 第三步将密钥作用于c i p e r d a t a 元素,进行解密。 1 如果c i p e r v a l u e 元素存在,解密后得到数据并进行b a s e 6 4 解码获取明文。 2 如果c i p e r r e f e r e n c e 元素存在,则根据相应u r l 进行相应的t r a n s f o r m ,获取明文。 3 解密所需的算法和参数从第一步和第二步中获得。 第四步根据e n c r y p t e d d a t a 元素的t y p e 属性处理解密后获得的明文数据,如果t y p e 属性 表示加密的数据是x m l 元素或x m l 元素内容。 1 明文数据被认为是以u t f 8 编码的字符数据。 2 d e c r y p t o r 必须根据t y p e 信息返回u t f 8 编码的x m l 数据,但是d e e r y p t o r 不必 8 东南大学硕士论文 权限表达语言在数字内容递送中的应用 对得到的x m l 数据进行x m l l o 规范定义的良规性验证工作。 3 d e c r y p t o r 还应当支持将得到的x m l 数据替换e n c r y p t e d d a t a 元素。 箔五步根据e n c r y p t e d d a t a 元素的t y p e 属性处理解密后获得的明文数据,如果t y p e 属性 指明的加密的数据对象不是x m l 元素或x m l 元素内容,则: 1 明文数据被返回给a p p l i c a t i o n ,由a p p l i c a t i o n 根据e n c r y p t e d d a t a 元素的m i m e t y p c 和e n c o d i n g 属性作进一步的处理。 2 注意,对相应的e n c r y p t e d k e y 元素进行解密所得密钥数据也归于此类处理。 2 1 5 算法支持 x m l 加密规范支持目前许多流行的加密算法,例如r s a 、d e s 等。x m l 加密规范采用 u r l 作为不同的算法的标识符,例如h t t p :w w w w 3 o 吲2 0 0 i 0 4 x

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论