已阅读5页,还剩62页未读, 继续免费阅读
(通信与信息系统专业论文)证书与密钥管理der编解码研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
互奎鸾鎏盔主琶圭塑塞生主垡鲨塞笺 !噩 摘要 f 厂、证书及密钥管理系统在网络应用中有着广泛的前景,是解决网络应用和电 子商务安全问题的核心技术。编解码是证书及密钥管理系统中一个底层模块, 主要用来为系统提供编解码接口,也即对证书及各种消息类型提供一个收发转 换接口。它是整个系统的核心和基础,在整个系统的设计与实现中起着非常重 要的作用f r 本文基于个实际的证书及密钥管理系统,详细介绍了其d e r 编解码方法。 及实现过程,实现了一个基本的面向具体应用的编解码工具。 首先,本文对a s n 1 及其各编码方法( d e r 、c e r 、b e r 、p e r ) 进行了分 析与比较,在此基础上选择d e r 为实现证书及密钥管理编解码的方法。接着, 本文给出编码库的设计方案,并编程实现了编码库,提供给上层应用完整的编 解码接口函数。由于原有编码库对应用依赖性强,不易于扩充,本文在总结不 足的基础之上提出了改进的编解码方法,弥补了原有编码库的不足。改进后的 编解码方法与具体应用无关,使整个系统易于扩充。最后,本文分步骤地完成 了改进后编解码方法的编程实现,编写了底层编解码共用代码,并在此基础上 完成了a s n 1 基础类型编鲣码:从而完成了改进后证书及密钥管理系统的编解 码。此外,本文还从应用角度对所完成的两种编解码方法进行了比较,并提出 对未来工作的展望。 关键词电子商务:证书;密钥管理;a s n 1 ;d e r 亘直窑湮盔主塑土亚塞生兰焦鲨塞釜! ! 基 a b s t r a c t a st h e k e yt e c h n o l o g y t o g u a r a n t e e t h e s e c u r i t y o fi n t e r n e t a p p l i c a t i o n s a n d e - b u s i n e s s ,t h ec e r t i f i c a t ea n dk e ym a n a g e m e n ts y s t e mh a sb e e na n dw i l lb eu s e d e x t e n s i v e l y i nt h ei n t e r a c t a p p l i c a t i o n s i n t h ec e r t i f i c a t ea n dk e ym a n a g e m e n t s y s t e m ,c o d i n g d e c o d i n g i saf u n d a m e n t a lm o d u l e ,w h i c hi su s e dt op r o v i d ea n i n t e r f a c eb e t w e e nt r a n s m i t t e ra n dr e c e i v e rf o rc e r t i f i c a t e sa n dm e s s a g e s i tp l a y sa n i m p o r t a n t r o l ei nt h ew h o l e s y s t e m b a s e do nap r a c t i c a lc e r t i f i c a t ea n dk e ym a n a g e m e n t s y s t e m ,t h i sp a p e r d e s c r i b e si t s e n c o d i n ga n dd e c o d i n gm e t h o d o fd e ri ng r e a td e t a i l s t h er e l a t e di m p l e m e n t a t i o n p r o c e s s i sa l s od i s c u s s e da n da n a p p l i c a t i o n o r i e n t e dc o d i n g d e c o d i n g t o o li s r e a l i z e d f i r s t l y , a s n 1 ( a b s t r a c ts y n t a xn o t a t i o n 1 ) i sd i s c u s s e da n di t se n c o d i n gr u l e s ( b e r ,d e r ,c e ra n dp e r ) a r ec o m p a r e d a sar e s u l t ,d e ri su s e df o rt h es y s t e m p r o p o s e d i nt h i s t h e s i s s e c o n d l y , t h ec o d i n g d e c o d i n gl i b r a r y i s p r e s e n t e d a n d r e a l i z e d t h i s l i b r a r y c o n s i s t so fc o d i n g d e c o d i n gf u n c t i o n sw h i c hc a nb eu s e d d i r e c t l yb ya p p l i c a t i o n s b e c a u s et h eo r i g i n a ll i b r a r yi sd e s i g n e ds p e c i a l l yf o rt h e s p e c i f i ck e ym a n a g e m e n ta p p l i c a t i o n s ,i ti st h e r e f o r en o te a s yt ob ee x t e n d e d s oa n e w c o d i n g d e c o d i n gp l a ni sa l s op u tf o r w a r d a n di th a so v e r c o m et h ed i s a d v a n t a g e o ft h eo r i g i n a ll i b r a r y t h a ti st os a yt h en e wc o d i n g d e c o d i n gl i b r a r yi si n d e p e n d e n t o fg i v e na p p l i c a t i o n sa n dc a nb ee x t e n d e de a s i l y f i n a l l y , p r o g r a m m i n gf o rt h en e w c o d i n g d e c o d i n gl i b r a r yi s a l s od o n es t e pb ys t e p t h ef i r s t s t e p i st of i n i s ht h e c o m m o n c o d i n g m o d u l e b a s e do nt h i sm o d u l e ,t h ec o d i n g d e c o d i n go f a s n 1b a s i c t y p e a n dt h en e wl i b r a r ya r er e a l i z e da tl a s t i n a d d i t i o n ,c o m p a r i s o n i sm a d e b e t w e e nt h et w ol i b r a r i e sf r o ma n o t h e rp o i n to fv i e wa n ds o m ee x p e c t a t i o ni sm a d e a tt h es a m et i m e k e y w o r d s :e b u i s i n e s s ;c e r t i f i c a t e ;k e ym a n a g e m e n t ;a s n 1 ;d e r 互蜜窑鎏杰主堡主蟹塞生兰丝鎏塞笺 !基 第一章绪论 近几年,随着i n t e r n e t 的飞速发展,网络应用遍及千家万户。随着信息技 术的发展,计算机网络已经成为经济发展的重要推动力,电子商务狂潮席卷全 球,电子商务的应用彻底改变了人们的生活模式。本章简要介绍了电子商务、 数字证书和密钥管理编解码的发展情况以及本论文的主要工作。 1 1 电子商务与数字证书 1 1 1 电子商务 电子商务顾名思义是指在i n t e r n e t 上进行的商务活动。其主要功能包括网 上的广告、定货、付款、客户服务、货物递交和售后服务,也可包括市场调查 分析、财务核算以及生产安排等多项利用i n t e r n e t 开发的商业活动。电子商务 的一个重要技术特征是用w e b 技术来传送和处理商业信息,故有人称:电子商 务= w e b + i t 。电子商务有广义与狭义之分。狭义的电子商务也称电子交易 ( e c o m m e r c e ) ,主要是指利用w e b 提供的通信手段在网上进行的交易。而广义 的电子商务包括电子交易在内的利用w e b 进行的全部商业活动,如市场分析、 客户联系、物资调配等,也称电子商业( e b u s i n e s s ) ”1 。 电子商务提供企业虚拟的全球性贸易环境,大大提高了商务活动的水平和 服务质量,具体表现在: 节省了潜在的开支,如电子邮件节省了通信费用,而电子数据交换则 大大节省了管理和人员环节的开销。 增加了客户和供货方的联系。 提高了服务质量,能以一种快捷方便的方式提供企业及其产品的信息 及客户所需的服务。 提供交互式的销售渠道。 提供全天候的服务,即每年3 6 5 天,每天2 4 小时服务。 增强了企业的竞争能力。 电子商务发展的核心和关键问题是交易的安全性。由于i n t e r n e t 本身的开 放性,使网上交易面临种种危险,也由此提出了相应的安全控制要求。 信息保密性:交易中的商务信息均有保密要求。如信用卡的账号和用 耍重銮鎏盔兰鎏主堑塞生兰堡垒塞星g 基 户名被人获悉,就可能被盗用,定货和付款的信息被对手获悉,就可能丧失商 机。所以在电子商务的信息传播中一般均有加密要求。 交易者身份的确定性:由于交易双方可能相隔很远,要使交易成功, 首先要确认对方的身份,对商家要考虑客户端不能是骗子,而客户也担心网上 的商店是一个黑店。因此能方便面可靠地确认对方的身份是交易的前提。 不可否认性:由于商情千变万化,交易一旦达成协议是不能否认的, 否则必然会损害一方的利益。所以电子交易过程的每一个环节均不可否认。 不可修改性:电子交易文件要做到不可修改,以保证交易的严肃和公 正”。 电子商务是依托开放的互联网进行的,随着电子商务的飞速发展,为了保 证互联网上电子交易及支付的安全性、保密性、真实完整性和不可否认性,防 范交易及支付过程中的欺诈行为,除了采用更强的加密算法等措施以保证信息 在传输过程中的安全之外,还必须在网上建立一种信任机制,使交易及支付各 方能够确认其他各方的身份,这就要求参加电子商务的各方必须在一个可以被 验证的身份标识,即数字证书。同时,还可通过证书传递密钥,解决信息传输 中的加密问题。认证中心即ca 中心( c e r t i f i c a r ea u t h o r i t y ) 的建立,则可 以对用户的电子身份进行公正、权威和可信任的确认“3 。 一个完整的电子商务应用架构应包括:网络基础设施、电子认证系统、电 子支付系统和电子业务应用系统,其中电子认证系统和电予支付系统是整个电 子商务体系的核心部分,其建设的成功标志着电子商务进入实际的应用阶段。 1 1 2 数字证书与安全交易 1 1 2 1 数字证书 证书是公开密钥体制的一种密钥管理媒介。它是一种权威性的电子文档, 是网络计算环境中的一种身份证,用于证明某个信任域中某一主体( 如人、服 务器等) 的身份及其公开密钥的合法性。要想使证书获得这种可信任性和权威 性,则必须有一个可信的、权威的机构来对该信任域中任何一个主体的公钥进 行公证。要构建一个可信的网络环境,首先应建立一个ca ,它的可信度为信 任域中所有用户共同认可:然后,信任域中需要参与通信的主体均向ca 及其 分支机构r a 提出证书申请,ca 对其身份材料审核通过后,即签发证书( 对 用户的证书进行签名,以保证证书的真实性和完整性) ;尔后,就将这些证书存 放在信任域( 所有用户都能访问到的公开目录) 中。这样,证书的持有者便可 西南交通大学硕士研究生学位论文 第3 页一 以与信任域中其他用户进行安全通信了“1 。 为了把密钥对和密钥对拥有者身份信息一一对应起来,通过采用x 5 0 9 国 际标准,把密钥对拥有者身份信息和公钥捆绑在一起,然后由一个大家都信任 的第三方( 即证书权威机构c a ) 来对上面的信息摘要数字签名,形成证书。数 字证书是标志网络通信中通信各方身份信息的一系列数据,其作用类似于现实 生活中的身份证。它是由一个权威机构发行的,人们可以在交往中用它来识别 对方的的身份。人们使用某人的公开密钥加密信息或验证数字签名时,需要确 认这个拥有者的身份。公钥的使用者必须通过某种方式获得证书,并验证该证 书的有效性。图i - i 是一种简单的认证体制: 圈i - i 一种简单认证体制 利用数字证书,通过运用对称和非对称密码体制等密码技术建立起一套严 密的身份鉴别系统,从而保证:信息除了发送方和接受方外不被其他人窃取; 信息在传输过程中不被篡改:发送方能够通过数字证书来确认接受方的身份: 发送方对于自己发送的信息不能抵赖。 1 1 2 2 数字证书申请、颁发 用户在进行电子交易之前,必须获得c a 颁发的数字证书。具体步骤是: ( 1 ) 用户发送一个初始数字证书申请表给c a 。 ( 2 ) c a 收到用户初始数字证书申请表后,把给用户的应答信息生成数字摘 要,并用私钥产生数字签名,把应答信息、数字签名和c a 数字证书一起发给用 户。 ( 3 ) 用户收到信息后,通过认证中心的树型结构追踪回根认证中心来验证 c a 身份的合法性,并获得认证中心的公钥。 ( 4 ) 用户把应答信息生成数字摘要,用c a 的公钥解密数字签名而得到数字 西南交通大学硕士研究生学位论文第4 页 签名,比较两者是否一致,从而确定应答信息的真实性。 ( 5 ) 填写注册申请表。 ( 6 ) 随机产生一个对称的加密密钥。 ( 7 ) 用对称加密密钥加密注册申请表。 ( 8 ) 用认证中心的公钥加密对称加密密钥,生成数字信封。 ( 9 ) 把( 7 ) 和( 8 ) 的内容发送给c a 。 ( 1 0 ) c a 用私钥解密数字信封,得到对称密钥,并用对称密钥解密密文得 到用户注册申请表,c a 再把用户注册申请表生成数字摘要,并用私钥签名后发 送给用户。 ( 1 1 ) 用户验证数字签名后,可知道c a 确实收到了注册申请表。 ( 1 2 ) c a 签发证书,并将数字证书公布。证书的公钥和私钥对的生成可以 有两种方式: 由可信赖中心生成密钥对,验明实体的身份后发放给该实体。 实体自己生成密钥对,然后实体将公钥安全地传送给认证中心。认证 中心证实后制作此公钥证书。为了防止申请公钥的实体行骗,认证中心应要求 实体提供其相应的用私钥做的签字,用其公钥证实后再制作和发放证书。 ( 1 3 ) 用户存储证书信息,以备进行电子交易时使用“3 。 图1 - 2 和图1 - 3 分别给出了离线和在线数字证书申请过程。 图1 - 2 离线数字证书申请 认证中心 圈1 3 在线证书申请过程 当任意一实体a 同实体b 进行安全通信前,实体a 必须获得并证实实体b 的公钥证书。如图卜4 所示: i c 卡 囵 实体a 实体b i c 七 圜 图i - 4i n t e m e t 安全通信示例 实体a 和实体b 在获得相互的数字证书后,便可以进行安全通信,包括消 息签字、加密、认证等。 苴童銮鎏盔主基主堡塞生掌焦笙塞差! 噩 1 1 2 3 使用证书进行安全电子交易 现以交易三方分别为持卡人、商家和银行支付网关为例,安全电子交易的 架构如上图1 5 所示。 豳1 - 5 安全电子交易架构 持卡人决定购买时,验证商家身份,将订购信息和支付信息( 信用卡号等) 安全传输给商家;商家验证持卡人身份,获取定购信息,支付信息对商家是不 可见的,商家验证银行支付网关身份,将支付信息传送给银行支付网关;银行 支付网关验证商家身份,验证持卡人的支付信息是否有效,返回结果给商家, 商家返回结果给持卡人嘲。 1 2 证书及密钥管理编解码国内外现状分析 目前世界各国都在大力发展电子商务,而安全作为电子商务和网络应用的 前提条件和核心技术之一,具有举足轻重的地位,基于公开密钥密码体制的数 字鉴别机制得到了蓬勃发展,证书及密钥管理方面的研究具有非常重要的现实 意义。编解码是其中的一个底层模块,是整个系统运行的核心和基础。 为了使多个制造商设备之间的通信成为可能,用一种标准而与制造商无关 酉奎錾鋈盔兰堡主翌塞生兰丝迨塞星z 基 的方式来定义对象是十分必要的。同时还需要标准的方式来编码使它们用于网 络传输“。a s n 1 ( a b s t r a c ts y n t a xn o t a t i o no n e ) 就是这样一种标准的对象 定义语言和编码规则。它定义了线路上的位编码规则,使得一个3 2 位的、以二 的补码按小端方式编码的管理站就可以明确地与一个1 6 位的、以二的反码按大 端方式编码的c p u 上的代理进行通信。a s n 1 转换语法定义了a s n 1 类型的值 如何明确地转换为适于传输的字节序列( 在另一端也能被明确地解码) ”。 1 2 i 国外现状分析 a s n 1 在国际上的应用十分广泛。最初,它被用于x 4 0 0 ( e m a i l 系统) 。 在1 9 8 9 年,c c i t t 针对a s n 1 制定了两个标准x 2 0 8 ( a s n 1 ) 和x 2 0 9 ( b e r ) 。 后来,广泛用于电话用户的i s d n 中的些增补服务( 如c a l lb a c kt ob u s y s u b s c r i b e r ) ,就是运用a s n 1 及其b e r 来描述并实现的【7 j 。p k c s 、p k i x 、 s n m p 、s e t 以及其它一些与安全保密有关的协议,也都采用a s n 1 语法进行 规范及编码【 。另外,它还用于r r u t 和多媒体领。欧洲和美国的一些标准组 织,如e t s i ( e u r o p e a nt e l e c o m m u n i c a t i o n ss t a n d a r d si n s t i t u t e ) ,也在采用a s n 1 及其编码规则制定有关的协议规范。1 7 i i c a o ( i n t e r n a t i o n a l c i v i la v i a t i o n o r g a n i z a t i o n ) 将a s n 1 及其p e r 编码用于它们的a t n ( a e r o n a u t i c a l t e l e c o m m u n i c a t i o nn e t w o r k ) 中7 1 。 在产品方面,早在8 0 年代中期,就有一些“语法检查工具”出现。到了8 0 年代末期和9 0 年代,大量的a s n 1 工具面世【7 】。由于此时a s n 1 已经被认为 是一种计算机语言,所以许多生产厂商都出台了具有特色的a s n 1 编译器,比 较优秀的编译器产品如“o s sa s n 1t o o l s ”【7 l ,被许多客户所青睐。该产品几乎 支持所有的a s n 1 定义及多种常用的“a s n 1 应用编程接口( a p i ) ”( 如c 、c + + 及j a v a 等) ,有较好的内存分配机制,且提供较多的用户选择,特别适用 于较复杂的应用协议的实现( 如s n m p 等) 。 1 2 2 国内现状分析 近年来,以上类似的领域在国内也有研究,当然也大都采用a s n 1 进行规 范和编码。不同厂家在网管( s n m p ) 瞄1 以及各种认证中心( c a ) p 1 方面都有 研究并有成熟的软件产品面世。应中国电子商务发展的需求,由中国人民银行 牵头,中国工商银行、中国农业银行、中国银行等十二家商业银行联合共建中 国金融认证中心( c f c a ) ,并委托银行卡信息交换总中心具体实施建设和运行 管理。c f c a 作为一个权威的、可信赖的、公正的第三方信任机构,专门负责 为电子商务的各种认证需求提供证书服务,为参与网上交易的各方提供安全的 基础,建立彼此信任的机制。1 9 9 8 年11 月起,金融c a 开始筹建工作,目前已 经全面完成了认证中心的系统建设,并对系统中的密码模块进行了本地化。只 酉童窑鋈盔兰璧圭塑塞生堂售迨塞兰要 是在编码模块大都采用国外的产品,很少有自主知识产权的编解码工具h 。可 以说,在这方面国内现在还处于萌芽状态。 正发前面所述,国外现在已有很多成熟的a s n 1 编译器,但这些产品在性 能方面都各有千秋。因为在编解码过程中,不同应用在不同方面( 如内存分配、 缓冲区管理、处理速度以及编程语言等 2 】) 都有不同的要求【l 0 j 。同时,所处的 环境及现有的资源也会对你选择产品给出很多限制。像早期的一些产品并不支 持a s n l 值定义,所以在使用时必须去掉所有的赋值操作,并且将所有的 “d e f a u l t ”替换为“o p t i o n a l ”:还有一些编译器产品仅支持某种特定的协议 和该协议中出现过的类型,如果该协议升级到别的版本并增加了数据类型,相 应的编译器也必须升级:“0 s sa s n 1t o o l s ”虽不受以上两类问题的限制,但 它却在运行时间和内存占用方面开销比较大,所以并不适用于像“证书及密 钥管理系统”这样一些相对简单且运行环境比较差( 铁道部票务系统都是在 w i n 3 2 下运行,机器内存较小,运行速率较慢) 的系统;这些情况都给实际应 用带来诸多不便。也就是说,在大多数情况下,选择到比较满意且又适合应用 的编译器是非常困难的。 其次,由于国内在编解码方面的研究还处于初级阶段,所以在这一方面的 研究具有重大的现实及长远意义。 1 3 本文的结构和作者工作 首先,本论文针对一个实际的证书及密钥管理系统,对其中的证书及密钥 管理编解码作了详细论述:其次,本文给出两种不同的证书及密钥管理编解码 实现方法,并从应用角度对这两种实现方法做了较:在编解码方面,本文由浅 到深、由窄到宽对a s n 1 及其各编码方法( d e r 、c e r 、b e r 、p e r ) 进行了 研究与比较。由于d e r 规则简单且编码结果唯一【3 】i “,所以本论文将重点研究 其在证书及密钥管理系统v o q b 的应用。另外,由于其它编码方法( 特别是p e r , 专门应用于多媒体等领域t 2 1 ) 颇具特色,本文也对它们进行研究和比较。 本论文主要包括以下六章,现大致介绍如下: 第一章主要介绍了数字证书及密钥管理编解码的发展情况以及本论文的主 要工作;第二章主要对a s n 1 与d e r 编码进行分析,并对各种编码方法进行了 比较;第三章介绍了证书及密钥管理系统的设计以及其编解码方法;第四章对 证书及其d e r 编解码实现作了详细介绍,并提出一种改进的实现方法;第五章 着重介绍了密钥管理及其d e r 编解码实现;第六章为对本文工作的总结及对未 来工作的展望。 由于证书及密钥管理是个非常宠大的系统,其中所涉及的编解码工作量相 当大而复杂。所以本文难免有错误之处,敬请各位批评指正。 酉奎窑鎏盔兰堡主堑塞告宝垡鎏塞茎2 蚕 第二章a s n 1 与d e r 编码分析 本章首先介绍了a s n 1 及其应用,接着对a s n 1 中几种编解码方法作了分 析比较,最后本章论述了d e r 在证书及密钥管理系统中的应用。 2 1a s n 1 及其应用 为了使多个制造商设备之间的通信成为可能,用一种标准而与制造商无关 的方式来定义对象是十分必要的。同时还需要标准的方式来编码使它们用于网 络传输。a s n 1 ( a b s t r a c ts y n t a xn o t a t i o no n e ) 就是这样一种标准的对象定义语 言和编码规则。它定义了线路上的位编码规则,使得一个3 2 位的、以二的补码 按小端方式编码的管理站就可以明确地与一个1 6 位的、以二的反码按大端方式 编码的c p u 上的代理进行通信【i ”。 2 1 1a s n 1 原理分析 a s n 1 有两个主要特点:一个是人们阅读的文档中使用的记法,另一个是 同一信息在通信协议中采用的紧凑编码表示。当网络中的计算机对数据项并不 都使用相同的表示时,采用a s n 1 语法对其进行描述尤其必要。从较低的层次 上看,任何类型的数据最终都被表示成计算机中的比特串,但比特串本身并不 能说明自己表示的是何类型的数据,它所代表的意义是由该比特串的程序设计 者确定的。计算机硬件体系结构的不同也会带来对比特串解释上的差异。例如, v a x 系列计算机和i n t e l8 0 x 8 6 系列计算机,对浮点数的表示就采用了不同的格 式。【1 2 】 在计算机网络中互相通信的计算机常常采用不同的“局部语法“( 1 0 c a l s y n t a x ) 。局部语法的不同决定了同一数据对象在不同计算机上被表示为不同的 符号串。当一个应用程序在多个计算机上实现时,往往需要把一个数据对象从 一台计算机传送到另一台计算机。为了保证程序语义的正确性,必然要对比特 串的格式进行变换,这就是语法转换。o s i 采用两次转换语法的方法,在应用 层引入a s n 1 ( 抽象语法) 。由发送方和接收方共同协作来完成语法转换。为此, 定义了一种标准语法,称为“传送语法“。发送方把符合自已局部语法的比特 串转换为符合传送语法的比特串,接收方再把此比特串转换为符合自己局部语 法的比特串,即通过“局部语法一 传送语法一 局部语法“的两次转换。在 采用这种标准的传送语法时,不仅要传送数据对象的“值信息“,还需要传送关 于该对象的“类型信息“。这三者关系可见图2 1 订l 。 亘富窑鎏盔兰堡圭塑塞生兰焦迨塞笺1 2 噩 o s i 提出的a s n 1 是一种数据类型描述语言,它可以定义任意复杂结构的 数据类型,而不同的数据类型之间还可以有继承关系。o s i 在制订a s n 1 同时 也为它定义了一种标准的编码方案,即基本编码规则b e r ( b a s i ce n c o d i n g r u l e s ) 。在发送端用b e r 编码,可将用a s n 1 表述的的文转换成唯一的比特序 列。在接收端用b e r 解码,就可以得到该比特序列表示的a s n 1 报文。 总之,抽象语法是协议设计者所使用的工具,用于将设计者的思想记录下 来,便于交流和讨论:传送语法用于数据在线路上的传送;而局部语法用于数 据在端系统中的存储。计算机通信的最终目的是传递数据的语义。由此可见, 采用上述的几种语法可以解决分布式异构环境下数据表示的两个重要问题: 在不同系统之间的数据交换有了一个共同的表示: 在一个系统内部,一个应用程序可使用某种特殊的数据表示;但使用抽 象语法和传送语法可自动地解决互相协作的应用实体的表示的差异。 a s n i 转换语法定义了a s n 1 类型的值如何明确地转换为适于传输的字节 序列( 在另一端也能被明确地解码) 。a s n 1 使用的转换语法有b e r ( b a s i c e n c o d i n gr u l e s ) 、d e r ( d i s t i n g u i s h e de n c o d i n gr u l e s ) 、c e r 和p e r 等。其中, 由于d e r 对任何消息都能得到唯一确定的编码值,所以本系统对证书和消息编 码都采用了d e r 。基本编码规则( d e r 为其一个子集) 的指导原则是:每个传 输的值,无论原语还是构造的,均由3 个字段组成:标志符、数据字段的长度 以及数据字段,也即t 、l 、v 三原组。a s n 1 共有3 0 多种基本数据类型,另 外还定义了由基础类型创建新类型的五种方法。所有这些类型的编码规则在 “a s n 1 语法及其编码规则“一文中都有详细介绍【j 。 酉南交通大学硕士研究生学位论文第1 f 页 用a s n i 描述的抽象语法 ( a b s t r a c ts v n t a xj na s n 1 ) 机器a 一用c 语言描述的 具体语法( m a c h i n e a 机器b 一用o b j e c t i v ec a m l 语言描 述的具体语法( m a c h i n e b t y p e d e f s t r u c tr e c o r d v t y p er e c o r d ( c h a r n a m e 3 1 】; 传送语法 n a m e :s t r i n g ; i n t a g e ; ( t r a n s f e rs y n t a x ) a g e : n l i m : e n u m u n k n o w n = 0 ;g e n d e r :t g e n d e r m a l e = 1 ; b y t e so rb i t s a n d t - g e n d e r = u n k n o w n f e m a l e = 2 g e n d e r ; i m a l e r e c o r d ; i f e m a l e 图2 1 抽象语法、具体语法和传送语法间关 2 1 2a s n 1 语法定义的基本数据类型 由a s n 1 语法所定义的数据类型共有3 0 多种。下表所列的是最常用到的 类型及其定义。 表2 - 1a s n 1 基础数据类型 编码 杯记号( t a g ) 类型名称定义 十六进十进制 类型 制 p0 11 b o o l b a n包含t r u e 和f a l s e 两个值 互蜜窑鎏杰掌堡土蟹塞生兰垡鲨塞星】g 蚕 p0 22 d n e g e r整型值( 包含正负整数和零) 0 33 b i ts t r i n g零个或多个比特位 o c 唧零个或多个字节( 八进制) 0 44 s t r 【n g p0 55 n u l l只有一个值:n u l l o b j e c t与对象相关联的唯一标识符 p0 66 i d e n t 砭r o b j e c t对象的简单文字描述 p0 77 d e s c r i p t o r p0 88 e x t e r n a la s n 1 语法中未定义的外部对象 p0 99 r e a l实数 p0 al o e n u m e r t e d一系列有不同标识符的整型值 u t f 8 s t r i n g 国际通用字符格式( 任意的曾出 0 c1 2 现过的字符) r a l 盯e 与o b j e c ti d e n t i f i e r 类似, po d1 3 o 此i 但不包括注册树的前两个节点: s e q u e n c e a n ds e q u e n c e 是类型的序列( 有序) 。 cl o1 6 s e q u e n c e o f 类似c 语言中的结构体:s e q u e n c e o f 是一个类型的一维数组 s e ta n ds e t分别与上述类似,但无序 c】1 7 o f 】21 8 n u m e r i cs t r i n g包括数字字符o 一9 和空格符 1 31 9 p r i n t a b l e s t r i n g a z a - z0 - 9 s p a c e 0 + := ? t e l e t e x s t r i n g ( t 6 u tt e l e t e xr e c o m m e n d a t i o n 1 42 0 1 s t r i n g ) 所定义的字符集 v i d e o t e x s t r i n g 用于在可视图文系统中构建粗 1 52 1 糙图形的字符 i a 5 s t r i n g 任意的i a 5 ( 包括a s c 码、控 1 62 2 制符、空格和删除符) 字符 u t c t i m e标准时间格式( 1 9 5 0 年一2 0 4 9 1 72 3 年) 1 82 4 g e n e r a l i z e d t i m e标准时间格式( 2 0 4 9 年以后的时 互重窑塑杰耋堡主塑塞宝宝丝鲨塞釜12 噩 间) 用于8 0 年代的一些i s o 标准中 1 92 5 g r a p h i c s t r i n g 的字符集 v i s i b l e s t r i n g ( 1 s 可打印的a s c f l 字符和空格符 1 a2 6 0 6 4 6 s t r i n g ) 与g r a p h i c s t r i n g 类似,只是多了 1 b2 7 g e n e r a l s t i n g 一些控制字符 包括了所有的计算机编码中所 l c2 8 u n i v e r s a l s t r i n g 定义的字符 任意有商业用途且能被固定编 l e3 0 b m p s t i n g 为1 6 比特的字符 可为两者中其一这在以下的具体编码规则中会详细讲到f ”】。 2 1 3a s n 1 编码 a s n 1 转换语法定义了a s n 1 类型的值如何明确地转换为适于传输的字节 序列( 在另一端也能被明确地解码) 。a s n 】使用的转换语法有b e r ( b a s i c e n c o d i n gr u l e s ) 、d e r ( d i s t i n g u i s h e de n c o d i n gr u l e s ) 、c e r 和p e r 等。基本编 码规则b e r 的指导原则是:每个传输的值,无论原语还是构造的,均出3 个字 段组成:标志符、数据字段的长度以及数据字段,也即t 、l 、v 三原组。a s n ,l 共有3 0 多种基本数据类型,另外还定义了由基础类型创建新类型的五种方法。 总体说来,b e r 编码遵循t l v 编码规则,也即t a g 、l e n g t h 、v a l u e 编 码,任何一种a s n 1 中定义的数据类型经b e r 编码后都包含这三部分口j i ” f ”j 。 2 1 3 。1 对t a o 的编码 ( 1 ) 对于标记号大于等于o 且小于等于3 0 的类型,其标识号采用一字节编 码,又可分为三个子字段。最高2 位标识了标记类型,可取值为0 0 ( 表示 u n i v e r s a l 类型,即通用类型) 、o l ( 表示a p p l i c a t i o n 类型,即应用程序 类型) 、1 0 ( 表示c o n t e x t 类型,即上下文相关类型) 和】l ( 表示p r i v a t e 类型,即私有类型) ;下一位指出值是p r i m i t i v e 类型( 0 ) 或是c o n s t r u c t e d 类型 ( 1 ) ;剩下的5 位用来对标记号进行编码1 7 1 1 0 】。 苴蜜窑鎏盔兰塑主丛塞生主丝迨塞 星! 兰蚕 表2 2 对t a g ( 大于等于0 且小于等于3 0 ) 的编码 o l 应用程序类 1c o n s t r u c t e d 类型标记号编码 1 0 上下文相关类 1 1 私有类 ( 2 ) 对于标记号大于3 0 的类型,其标记号采用多字节编码。 2 1 3 2 对l e n g t h 的编码 b e r 对长度的编码采用三种形式。如果长度在0 1 2 7 之间,采用”s h o r t d e f i n i t ef o r m ”形式,长度大于1 2 7 采用”l o n g d e f i n i t ef o r m ”形式6 1 。 ( 1 ) s h o r t d e f i n i t e f o r m 表2 4 对长度( s h o r td e f i n i t ef o r m ) 的编码 ( 2 ) l o n g d e f i n i t ef o r m ( 3 1i n d e f i n i t ef o r m 这种类型的长度编码主要用于以下情况:发方在发送时并不知道全部的数 据内容,所以没办法在发之前将长度计算出来,这时采用i n d e f i n i t ef o r m 对长 度进行编码比较合适7 ”1 6 1 ; 袭2 - 6 对长度( i n d e f i n i t ef o r m ) 的编码 l c o m p l e t e 删e n c o d i n g ji 一i 产对v 的编码 1 厂c 丽o m p l e t e 面e n c o d i n g i 1 1 i 7 p 情钟 另外,通过设置长度字段为0 来指明空值,不实际传输数值。 2 1 3 3 对v a i u s 的编码 a s n 1 中定义的各种数据类型的v a l u e 编码各不相同,这里不做详细讨论。 2 1 4a s n 1 应用领域 从最初专门用来支持x 4 0 0 发展到今,a s n 1 己被广泛用于各种各样的协 互查窑鎏盔兰堡主丛塞生兰丝迨塞釜! 基 议中。其应用领域包括网络、通信、安全等。 网络领域:早在八十年代初期,a s n 1 就被用来描述o s i 应用层的绝 大多数协议,同时i s o 许多技术委员会也将a s n 1 应用于像银行、安全、自控、 智能高速公路等领域。当然,a s n 1 不仅用于协议制定,它同样可用于协议测 试中,最典型的一个例子就是a s n 1 被嵌入到1 f r c n ( t r e e a n dt a b u l a rc o m b i n e d n o t m i o n ) 中用于数据结构的定义。后来,一些其它的i n t e r a c t 协议规范中也涉及 到对a s n 1 的应用,例如通过定义x e r ( x m le n c o d i n gr u l e s ) 使x m l 和a s n 1 紧密结合,s n m p 中数据结构的定义等等盯】【”】。 通信领域:八十年代,i s d n 成了人们议论的焦点,其中的许多增值业 务( 如遇忙回呼等) 是通过d 信道来实现的,a s n 1 和b e r 就被用来定义相关的 协议及其编解码。在r r u t 和多媒体通信领域,a s n 1 的应用更是比比皆是。 兀u - t 的s d l ( s y s t e md e s c r i p t i o nl a n g u a g e ) 也用到了a s n 1 。g s e r i e s 、m s e r i e s 、 o s e r i e s 、t s e r i e s 、v s e r i e s 、z - s e r i e s 和x s e r i e s 都用到了a s n 1 ( 以及p e r ) , 特别是h s e r i e s 中的h 3 2 3 。一些欧洲和美国的标准化组织对a s n 1 的应用甚 多,像e c m a ( e u r o p e a nc o m p u t e r m a n u f a c t u r e r sa s s o c i a t i o n ) 提出的基于a s n 1 的计算机辅助电信应用规范( c s t a ) ,以及e t s i ( e u r o p e a nt e l e c o m m u n i c a t i o n s s t a n d a r d si n s t i t u t e ) 基于t t c n ( 内嵌a s n 1 ) 的诸多协议规范j i j 。 安全领域:本文所关心的与安全相关的协议和规范中对a s n 1 的应用 更是被众多人所熟知,像p k c s 、p k i x 、s e t 和l d a p 等在其数据结构的定义 和编解码中都用到了a s n 1 7 l i o l 。 总之,短短几十年的发展,a s n 1 的应用真可谓是无处不见。可想而知, 其未来的应用前景会更加广泛。当然这也要靠相关技术人员不懈的努力。 2 2b e r 、d e r 、c e r 及p e r 之比较 2 2 1b e r 编码优缺点 b e r 编码规则简单易懂,且容易实现。但是,它也有一些很明显的缺点。 首先,其编码( 传送语法) 非常冗余。例如,其编码中的“t “完全可以 从应用的a s n 1 描述中获得,所以加上它完全是没必要的。再比如,有些类型 的“l “也是没用的。 其次,由于许多数据是以不定长度编码的,这就使接收端在解码时要占用 很多系统资源来解析收到的数据流。在有些应用( 如实时通信、高速网络) 中, 运行时间是非常关键的,所以,b e r 在这些应用中会因编解码效率太低而影响 整个系统的性能。这就是为什么p e r 编码会得到广泛应用的原因。 最后,b e r 编码中的众多选择使得解码器必须考虑到所有可能的情况而编 码器却只运用其中的一种。这种不对称性使编解码两端在系统资源及运行时间 上有所不同。所以唯一性编码规则d e r 及c e r 就应用
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 时装智慧营销方案策划(3篇)
- 武汉骑车活动策划方案(3篇)
- 沥青成品保护施工方案(3篇)
- 消防管网保温施工方案(3篇)
- 烧烤团聚活动方案策划(3篇)
- 生产设备异常应急预案(3篇)
- 综合代维施工方案(3篇)
- 谷雨三八活动策划方案(3篇)
- 钢墩柱施工方案(3篇)
- 防水空鼓施工方案(3篇)
- 2024人教版一年级美术上册全册教案
- 宠物营养补充剂的应用效果研究
- 船舶建造合同解除协议
- 管网信息化建设方案
- FSSC22000 V6食品安全管理体系管理手册及程序文件
- 桥梁桩基完整性检测方案
- 2024-2025学年山东省青岛市莱西市(五四学制)六年级下学期期末语文试题
- 新能源公司风电场电力企业应急能力建设评估自评报告
- 热点主题作文写作指导:“喜欢做”与“应该做”(审题指导与例文)
- GB/T 14598.26-2025量度继电器和保护装置第26部分:电磁兼容要求
- JG/T 418-2013塑料模板
评论
0/150
提交评论