




已阅读5页,还剩61页未读, 继续免费阅读
(计算机应用技术专业论文)支持多路负载平衡的ssl+vpn系统的设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 随着计算机网络技术的发展及其应用领域的不断扩大,政府机构、企业以及 个人用户对网络的依赖性越来越强。但由于计算机网络存在的安全问题,使得 用户在享受着网络技术所带来的便利的同时,也面临着巨大的风险。在这样的 背景下,虚拟专用网络( v p n ,r t i l a ip r i v a t en e t w o r k ) 技术作为一种廉价安全的组 网方案越来越受到人们的青睐。 虽然v p n 技术已经得到了非常广泛的应用,但目i j 的v p n 产品仍存在许多 有待克服的问题。首先是v p n 功能与多链路负载平衡功能无法并存。由于大多 数多链路负载平衡系统无法判别v p n 系统被加密的数据包,因此必须指定一条 固定线路连接v p n ,使得多链路负载平衡和容错功能几乎丧失,不能够保证v p n 可靠性。其次,i p s e c 和s s l 是两种常见的v p n 实现技术,但现有的i p s e c v p n 和s s l v p n 两种v p n 结构各有优缺点,同时市场上流行的v p n 产品未能将二 者进行整合,失去了v p n 使用的便利性。 鉴于目前v p n 产品存在的上述问题,课题组提出了支持多路负载平衡的 多模式v p n 系统研究的项目,该项目的主要目的是研发具有多链路负载平衡 功能的、多种使用模式的v p n 系统,提高v p n 的性能、可靠性和易用性。 本论文是支持多路负载平衡的多模式v p n 系统研究项目的一部分,利 用l i n l l ) 【平台上的技术资源,如o p e n s s l 库、n j n 胜p 设备等,提出了一种支 持多路负载平衡的s s l v p n 系统实现方案。该系统采用网关一网关的方式部署, 在l i n i | ) 【平台的用户空问实现,支持所有基于i p 的应用,既降低了实现和用户 使用的难度,又使其具有比较广泛的应用范围;将负载平衡和容错功能与v p n 系统整合起来,使得系统可以根据链路健康度来选择最合适的数据传输通道, 提高系统的性能和可靠性。 论文首先介绍了s s l 协议、0 p e n s s l 库、l i 删x 平台用户空间与内核空日j 的 交互方法等背景知识,然后着重描述了系统的设计、实现以及测试,最后对系 统特点进行了总结,并提出了进一步完善的方向。 关键词虚拟专用网负载平衡安全套接层虚拟网卡隧道模式 a b s t f a c t a b s t r a c t w i t l lt h ed e v e l o p m e n to fc o m p u t e rn e m o r kt e c 王l r i o l o g ya i l dt h ee x p 孤s i o no fi t s a p p l i c a t i o n ,g o v e m m e n t s ,c o r p o m t i o i l s 柚dp e r s o n a lu s e 硌r e l ym o r e 锄dm o r co n n e “v o r l c s b u td u et ot h es e c u r i t yp r o b i e mo fc o m p u t e ri 坨t w o r l 【 u s e r sh a v et 0t a k e g r e a tr i s k sw h i l et h e ye r 唾o yt l l ec o n v e n i e n c e u n d e r “sb a c k g r o u n d ,v i n t i a ip r i v a t e n e t v ,o r kt e c l l i l o l o g ya t t r a c t sm o r e 锄dm o 陀a n e n t i o n s 觞a 辩c u r ca n dl o w c o s t n e t 、v o r kc o n s n l i c t i o ns c h e m e a l t i l o u 曲v p nt e c | l l l o l o g yh a sb c e nw i d e l ya p p l i e d ,e x i s t i n gv p np r i 甜u c t ss t i u h a v em 锄yp m b l e m st ob es 0 i v e d f i r s t ,t h cv p nf h n c t i o nc 锄n o tc o o p e i a t ew e l l w i t hm u i t i 1 i n kl o a db a l a l l c e m o s ts y s t e m so f m u l t i 1 i n kl o a db a l 柚c ec 锄o ti d e m i f y t h c p a c k e t se n c r y p t e db y v p ns y s t e m s ,as p e c i a l l i i l l 【h a s t ob e 勰s i 四e d f o r v p n c o i u l e c t i o l l s t h i sm a k e sm u l t i 1 i r l kl o a db a l a n c er m c t i o na n dl i i l kf a u ht o l e m n c e 鼬l c t i o na l m o s tn o tw o r k ,t h e 咒l i a b i l i t yo fv p nc a 衄o tb e 鹊s u r e d s e c o 咄i p s e c 锄ds s la r et w oc o m m o nt e c h n o l o g i e sf o rv p n ,b o mo fn l e mh a v ea d v a i l t a g e s 柚d d i s a d v a n t a g e s b mm ep o p u l a fv p np r o d l l c t sc a i l n o ti n t e g r a l em e 辩帆ot e c h n o l o g i e s 觚dl o t h ec o n v e n i e n c eo f l l s i n gv p n a c c o r d i n gt ot h ee x i s t i n gp r o b l e m sw i t hc u r 陀mv p np r o d u c t s ,o l l rr e 辩a r c h g r o u pb r i n g sf o m a r dt h ep r o j e c to fr e s e a r c ho fm u l t i - m o d ev p ns y s t e m 、i t h m u l t i l i n kl o a db a l 锄ce t h i sp r o j e c ta i m sa tt h er e s e a r c ho fv p ns y s t 锄谢m m u l t i m o d ea 1 1 dm u l t i - i i n kl o a db a l a i l c e ,锄da l s ot l l ep r o m o t i o no fi t sp e r f b m 锄c c , r c l i a b i l - t y 锄dc o n v e n i e n c e 1 1 l i s 彤l p e ri sp a no ft t l ep r o j e c t hb r i n g sf o r w a r d 锄i m p l 锄e n t a t i o n h e m eo f s s lv p ns y s 0 哪、j i ,i t hm u 雠l i l l l 【l o a db a i 卸c eb yl l s i n g 础吣u r c e so fl i n u x p l a t f l o 加, s u c h 鹤o p e n s s ll i b f a l ya i l dt u n 脚d e v i c e t l l i ss y s t e r i l ,i m p l e m e n t e di nt t l ei i s e r 印a c eo fl i n u xp l a t f o n n ,u s e st i l eg a t e w a yt og a t e w a ym o d e 甜l ds u p p o r t sa i l 印p l i c a t i o n so nip t h i sl o w e r st h cd i m c u l t yo fi m p l e m e i l 协t i o n 卸dm a g e ,a n da l m a l 【e si ti l a sm o r e 讪d e l y 印p l i c a t i o na r e a i m e g r a t e d 州t i ll l l em u l t i - l i i l i 【l o a db a l a l l c e a r 以l i i l l ( f a u l tt o l e 砌c e ,t i l i ss y s t e mc a i lc h o o t l l eb e s tl i l l l 【f o rd a t am s 船 a c c o r d i n gt ot h el i i l l 【sh e a l md e g r e e ,s o th a sb e n e rp e r f b 咖a l i c e 锄db e c o m e sm o r e i i 一 垒堕竺! r e l i a b l e t l l i sp a p e r6 r s ti n t r o d u c e st h eb a c k g r o u n dt e c h n o l o g i e s ,跚c h 嬲s s lp r o t o c o l , o p e n s s ll i b r a f ya n dm e t h o d sf o rc o m m 硼i c a t i n gb e m e e nt h eu s e 。s p a c ea 1 1 dk e m e i 掣l c eo fl i n l l 】p l a t f o r i l l t h e ni tm a i n l yf o c u s e so nt h ed e s i g l la n di m p l 咖e n 协t i o no f t 1 1 es y s t 锄,勰、e l i 鸫i t st e s t i n g i i lt h ee n d ,w em a k eas u m m a r j z a l i o na 1 1 dd i s c u s s t 1 1 e 如t u r er e s e a r c hd i r e c t i o 邶o f t l l i ss y s t e m k e ,rw o r d s :v p n ,l o a db a l a n c e ,s s l ,nl n 佻rn l 彻e lm o d e i i i 第一章引言 第一章引言 第一节网络安全的重要性 计算机网络的广泛使用对社会经济、科学研究、文化的发展产生了重大的 影响,同时也不可避免地会带来一些新的社会、道德、政治与法律问题。n t e m e t 技术的发展促进了电子商务、电子政务技术的成熟与广泛应用。目前,大量的 商业信息与大笔资金正在通过计算机网络在世界各地流通,这已经对世界经济 的发展产生了重要和积极的影响。政府上网工程的实施,使得各级政府与各个 部门之间越来越多地利用网络进行信息交互,实现了办公自动化。远程教育使 得数以千力计的学生可以在不同的地方,通过网络进行课堂教学、查阅资料、 向老师请教问题以及传送作业。所有的这一切都说明:网络的应用正在改变人 们的工作方式、生活方式与思维方式,对提高人们的生活质量产生了重要的影 响,网络已经成为一个国家政治、经济、文化、科技、军事与综合囡力的重要 标志【l l o 在看到计算机网络的广泛应用对社会发展起到的正面作用的同时,也必须 注意到它的负面影响。网络可以使经济、文化、社会、科学、教育等领域信息 的获取、传输、处理与利用更加迅速和有效。那么,也必然会使个别不法分子 可以比较方便地利用网络非法获取重要的政治、经济、军事、科技情报,或进 行信息欺诈、破坏与网络攻击等犯罪活动,造成严重的损失。 由此可以看出,政府机构、企业和个人用户享受网络所带来的便利的同时, 也面临着巨大的风险,因此,我们迫切需要一种技术,能够实现信息的安全远 程访问以及不同网络分支问安全的互连。在这种背景下,虚拟专用网技术应运 而生。 第一章引言 1 2 1v p n 常用实现技术 第二节研究背景 一般而占,虚拟专用网是指以公用开放的网络( 如i n t e m e t ) 为传输媒介,通 过附加的技术( 如加密、认证等) 建立起来的安全、可靠的专用传输通道。通过 采用v p n 技术,可以实现安全的通信,同时避免租用专线所带来的昂贵丌销。 在v p n 的实现方案中,最重要的就是建立安全的隧道,隧道建立后,数掘 经过认证、加密,按隧道协议进行封装,然后进行安全的传输。常用的隧道协 议有数据链路层的p p t p 、l 2 f 、l 2 t p ,网络层的g r e 、i p s e c ,应用层的s o c k s v 5 等。 1 点对点隧道协议( p p t p ) 1 2 1 p p t p ( p o i m - t o p o i n tt u 蚴e l i n gp m t o c 0 1 ) 协议由美国微软公司设计,用于将 p p p 分组通过i p 网络封装传输。p p t p 协议定义了一种p p p 分组的运载方法,它 通过使用扩展的g r e 封装,将p p p 分组在i p 网上进行传输。p p l p 在逻辑上延 伸了p p p 会话,从而形成了虚拟的远程拨号连接,使远程用户通过公用网络设 施进入企业内网成为可能。 p p t t 协议本身没有提供机密性、完整性保护,需要借助p p p 协议的安全特 征或与i p s e c 结合来弥补这方面的缺陷;另外,相对于l 2 t p 和l 2 f 协议,p p t p 协议的控制消息采用了固化的格式,缺乏灵活性,不利于协议的扩展。 2 二层转发协议( l 2 f ) 1 2 l l 2 f ( l a y e r2f o n a r d i n g ) 协议对链路层帧进行封装传递,使得传统的p p p 多 协议拨号和s l i p 的l p 拨号分组能穿越各种异构的网络环境( 如i p 、帧中继等) , 并使得拨号用户在地域上完全与拨号协议终点设备相分离,从而使得对包括访 问服务器、m o d e m 和i s d n 路由器等通用访问设施的共享成为可能。同时,无 论是远程用户还是位于总部的本地主机都不必因为使用该拨号服务而安装任何 特殊软件,只有i s p 的网络访问服务器( n a s ) 和总部的本地网关才安装有l 2 f 服 务,而对远程用户和本地主机,拨号的虚拟连接是透明的。 与p p t p 相比,l 2 f 采用了选项构造消息的方式,能依据不同的需要灵活地 第一章引言 选择构造消息,有利于减轻通信的负荷和配置表述。类似于p p t p ,l 2 f 协议本 身也没有提高机密性、完整性保护,需要借助p p p 协议的安全特征或者与i p s e c 结合使用。另外,l 2 f 设计为单向性协议,即只允许远程拨号用户通过所在地的 n a s 向总部发起远程虚拟访问,而不允许总部主机主动向远程用户发起呼叫, 相对p p 2 p 和l 2 t p 而占不够灵活。 3 二层隧道协议( l 2 t p ) 1 2 1 l 2 t p ( l a y e f2t u n n e l i n gp r o t o c 0 1 ) 属于一种新的虚拟拨号服务,它将p p p 分 组进行隧道封装并在不同的媒体上传输,不但支持公网i p 地址,也支持私有i p 地址,以及i p x 、x 2 5 等多协议传输。l 2 t p 吸取了p p t p 和l 2 f 协议的设计优 点,其不同的模式( 强制、自愿) 适合于不同的应用环境,而且成功地利用了p p p 成熟的鉴别和授权机制。 l 2 t p 协议本身依然没有提供完整的机密性和完整性保护,且只能提供隧道 级别的身份认证,需要借助i p s e c 的安全机制予以弥补。另外,l 2 t p 的封装( 特 别是自愿模式) 对带宽消耗巨大,对其应用产生了不利影响。 4 通用路由封装( g r e ) 协谢2 】 为了让一种协议数据穿越异构网络,i e t f 及各厂商设计了各种隧道封装协 议,如p p t p 、l 2 t p 以及后面将要介绍的i p s e c 等,这些协议都针对具体的上层 协议,缺乏通用性。g r e ( g e n e r i cr o m i n ge n c 印s u l a t i o n ) 协议则能将任何类型的 网络层分组封装为g r e 分组,成为了一种通用的运载工具。 g i 也协议头部的密钥字段可以进行身份鉴别,校验和字段提供了完整性保 护,但协议本身缺乏机密性保护,在实际环境中通常与i p s e c 协议一起使用。 5 i p s e c 协议f 3 1 i p s e c ( i ps e c 谢t y ) 是i e t fi p s e c 工作组为了在i p 层提供通信安全而制定的 一套协议族,它包括安全协议部分和密钥协商部分。安全协议部分定义了对通 信的安全保护机制;密钥协商部分定义了如何为安全协议协商保护参数,以及 如何对通信实体的身份进行鉴别。 i p s e c 安全协议给出了封装安全负载( e n c a p s u i a t i o ns e c 丽t yp a y l o a d ,简称 e s p ) 和认证头( a u t h e m i c a t i o nh e a d e r ) 两种通信保护机制。其中e s p 机制为通信 提供机密性、完整性保护;a h 机制为通信提供完整性保护。 第一章引言 e s p 机制将整个i p 分组或上层协议部分( 即传输层协议数据,如t c p ,u d p 或l c m p 等) 封装到一个e s p 负载之中,然后对其进行相应的安全处理,如加密、 认证等,以实现对通信的机密性和完整性保护。依据e s p 封装的负载内容不同, 可以将e s p 分为两种模式: 传输模式( t r a l l s p o r tm o d e ) :将上层协议部分封装到e s p 负载中,如图 1 1 所示。 隧道模式( t u r u l e lm o d e ) :将整个i p 分组封装到e s p 负载中,如图1 2 所示。 原l p 头代p ,u d p 头应用层数据 一一一 原i p 头e s p 头t c p u d p 头虑用层数据e s p 尾 图1 1 传输模式的e s p 封装 图1 2 隧道模式的e s p 封装 在e s p 隧道模型的实簏中,i p s e c 处理模块安装于网关处,内网的所有用户 都可以透明地享受由安全网关提供的安全保护,同时还可以保护子网内部的拓 扑信息,但增大了网关的处理负担,容易形成通信瓶颈;使用传输模式可以分 担i p s e c 的处理负荷,但每一台要实现e s p 的主机都要安装处理模块,并且暴 露了子网内部的拓扑信息。 a h 封装也分为两种模式:传输模式和隧道模式。如果将a h 头插入l p 头 之后、上层协议之l j f ,称为传输模式;如果将a h 头插入原i p 分组的i p 头之前, 并在a h 头之前插入新的i p 头,称为隧道模式。 1 2 2 项目背景 在常用的v p n 实现技术中,i p s e c v p n 是基于i p s c c 网络安全通信协议, 第章引言 利用安全信道的方式将不同的实体网络通过互联网络连接起来,形成一个逻辑 上相连的虚拟专用网络。i p s e c v p n 的缺点是每个使用者都需要额外加载客户端 软件,使用起来不方便。另外一种常见的虚拟专用网络技术是最近几年发展起 来的安全套接层( s s l ,s e c u 陀s o c k e tl a y e r ) 虚拟专用网络( 以下称为s s l - v p n ) , 它利用w w w 浏览器内建的安全超文本传输协议( h r r p s ,h y p e r t e x tt r 锄s 岛r p r o t o c o lo v e rs s l ) ,使得身在企业网络之外的使用者也可以利用安全的通信方式 存取企业内部的信息。虽然s s l v p n 具有较高的移动性,使用者不需额外加载 应用软件,但其缺点是只能针对部分应用程序进行保护,无法达到全面网络防 护的效果。初期的i p s e c v p n 产品大部分着重在“网络对网络”( s i t e t o s i 蜘的使 用模式,而初期的s s l v p n 产品则着重在“使用者对网络”( c l i e n t - t o s i t e ) 的使用 模式。但是发展到今天,不论是i p s e c v p n 或是s s l v p n ,都已经可以利用各 自的延伸方式,牺牲一部分功能或优点以换取对于不同使用模式的支持。 虽然v p n 具有很广泛的应用盼景,但目l j i 的v p n 产品在应用上仍存在许 多有待克服的问题。首先是v p n 功能与多链路负载平衡功能无法并存。由于大 多数多链路负载平衡系统无法判别v p n 系统被加密的数据包,因此必须指定一 条固定线路连接v p n ,使得多链路负载平衡和容错功能几乎丧失,不能够保证 v p n 可靠性。其次是现有的i p s c c - v p n 和s s l - v p n 两种v p n 结构各有优缺点, 而市场上流行的v p n 产品却未能将二者进行整合,失去了v p n 使用的便利性。 鉴于目前v p n 产品存在的上述问题,课题组提出了支持多路负载平衡的 多模式v p n 系统研究的项目,该项目的主要目的是研发具有多链路负载平衡 功能的、多种使用模式的v p n 系统,提高v p n 的性能、可靠性和易用性。通 过自主研发的高性能v p n 系统来促进v p n 在我国企业信息化、政府信息化中 的广泛应用,增强企业网络、政府网络的安全性,改善企业网络、政府网络的 应用环境。 第三节本文研究的内容 本论文是支持多路负载平衡的多模式v p n 系统研究项目的一部分,主 要研究内容包括: l 、针对现有i p s e c v p n 和s s l v p n 中存在的问题,研发一种新的s s l v p n 解决方案,该方案采用网关一网关的方式部署,在l i n u x 系统的用户空问实现, 第一章引言 支持所有基于i p 的应用,既降低了实现和用户使用的难度,又使其有比较广泛 的应用范围; 2 、将负载平衡和容错功能与v p n 系统整合起来,使得系统可以根据链路 健康度来选择最合适的数据传输通道,提高系统的性能和可靠性。 系统的设计与实现充分利用了l i n u x 平台上的技术资源,如使用o p e n s s l 库来完成对数据的加密和认证,使用t u n t a p 设备对i p 数据包进行封装来建 立通信隧道,使用p r o c 文件系统来实现内核空问和用户空日j 的交互等。系统 提供了、b 界面和命令行界面两种接口,最大限度地方便用户的使用。 第四节论文结构 本文分为6 个部分,具体结构为:第l 章介绍项目的研究背景和本文的研 究内容;第2 章介绍s s l 协议,以及在本系统中使用的o p e n s s l 库;第3 章介 绍l i n i l ,【平台上内核空| 、日j 和用户空问交互的方法,着重本系统中使用的t u n 厄a j p 设备和p r o c 文件系统;第4 章提出了系统的部署方案、体系结构及模块的划 分;第5 章详细介绍系统的实现以及测试情况;第6 章对系统的特点进行了总 结,并指出了需要继续完善的地方。 第二章s s l 协议及o p e n s s l 庠 第二章s s l 协议及0 p e n s s l 库 2 1 1s s l 协议结构 第一节s s l 协议介绍 s s l 协议最早由n e t s c 印公司提出,第三个版本s s l 3 o 成为了i n t e m e t 草案, i e t f 的工作组对其进行了标准化,并称为t l s ( t r 锄s p o f tl a y e rs e c l h i t y ) 。从技 术上讲,t l s l o 和s s l 3 o 非常接近,可以被认为是s s l 的3 1 版本。 s s l 借助t c p 协议来提供端到端的安全服务,s s l 并不是一个单独的协议, 而是两层结构的协议集合,包含s s l 记录协议、握手协议、更改密码说明协议 和警报协议,如图2 1 所示1 3 j : s s l 握手s s l 史改密码s s l 警报 h t t p 协议既明协议协议 s s l 记录协议 t c p i p 2 1 2 记录协议 图2 1s s l 协议栈 s s l 记录协议为通信提供机密性和完整性保护,协议的工作流程如图2 2 所 示,具体步骤如下1 3 】; 接收到上面应用层的消息以后,s s l 记录协议首先对其进行分组,分组后数 据块的长度不超过2 “( 1 6 ,3 8 4 ) 字节; 对数据块进行压缩,压缩过程中不能出现信息的丢失,同时增加的长度不 能超过1 0 2 4 字节( 压缩过程是可选的,现有的s s l 3 0 和t l s l o 都没有指定压缩 算法) ; 在压缩后的数据上计算消息认证码m a c ,并把m a c 附加在数据块之后; 对压缩报文和m a c 进行加密,加密可以采用流加密或者块加密方式,如果 第二章s s l 协议及o p e n s s l 库 采用块加密的话,必要时需要进行填充; 为加密后的数据添加s s l 记录协议的头部。 2 1 3 更改密码说明协议 更改密码说明协议工作在s s l 记录协议之上,是s s l 协议集中最简单的, 它只包含一种报文格式,报文内容只有一个字节,值为1 ,用于通知对方消息发 出后发送的报文将采用握手协议刚协商好的算法、密钥等进行。 2 1 4 警报协议 当通信过程中出现错误或异常情况时给出警告或者终止连接,根据错误的 严重程度,a l e r t 消息分为两种类型,w 锄i n g 或白t a l ,胁l 类型的消息将立即关 闭连接。 麻用数据 分片 压缩 添加m a c 加密 添加s s l 头部 幽2 2s s l 记录协议操作流程 2 1 5 握手协议 握手协议是s s l 协议中最复杂的部分。服务器端和客户端使用握手协议来 置 第二章s s l 协议及o d e n s s l 库 验证对方的身份,并且协商确定在消息传输时使用的加密和m a c 算法、以及密 钥等。握手协议在应用层数据传输之i i 进行,包含一系列的服务器端和客户端 的报文交换,这些报文都含有三个字段:消息类型( 1 字节) 、消息长度( 3 字节) 、 消息内容( l 字节) 。 图2 3 显示了客户端和服务器端建立连接时需要进行的报文交换,交换过程 可以被分成四个阶段口l : ( 1 ) 发起阶段:客户端发起c l i e mh e l l o 类型的连接请求,其中包含的参数有 客户端所支持的s s l 协议的最高版本号、随机码、会话i d 、密码套件( c i p h c rs u 沁, 包括密钥交换算法和加密、认证算法) 、压缩算法等,发出c l i e n th e l l o 消息之后, 客户端等待服务器端的回应。服务器端反馈辩n ,e rh c i l o 类型的消息,其中版本 字段是客户端和服务器端都支持的最高版本号,另外还有一个与客户端相互独 立的随机码,同时服务器还从客户端所提供的密码套件中确定后面所使用的密 钥交换算法、加密,认证算法、压缩算法。 ( 2 ) 服务器认证和密钥交换:服务器用c e n i f i c a t c 消息向客户端发送自己的 证书;根据密钥交换算法的不同,r v e rk e ye x c h a n g e 消息包含有该算法的相关 参数;如果不允许匿名的客户端,则服务器发送c e n 砸c a t cr e q u e s t 消息,要求客 户端提供其证书;这一阶段的最后消息是s e r v e rd o n e ,这条消息表明服务器端 的相关报文已经发送完毕,接下来等待客户端的回应。 ( 3 ) 客户端认证和密钥交换:收到服务器端s e r v c rd o n e 类型的消息以后, 客户端需要验证服务器端提供的证书是合法的,并且s e r v e rh c l l o 所包含的参数 是可行的;如果服务器端需要客户端提供证书的话,客户端用c e n i f i c a t c 消息向 服务器端发送证书;在c l i e n tk e y e x c h a l l g e 消息中,根据协商确定算法的不同, 客户端向服务器端发送相应的参数信息。 ( 4 ) 结束阶段:客户端和服务器端分别向对方发送c h a i l g ec i p h e rs p e c 和 f i i l i s h e d 类型的消息,至此握手的四个阶段全部结束,双方后续的通信全部采用 协商确定的加密,认证算法、密钥进行。 文 图2 3s s l 握手协议工作过程 :虚箭头表不可选 息或者与特定情况 关的消息类氆 第二节0 p e n s s l 库 竺n s 彗氅淼鬟嚣毒尝嚣嚣黧篇登 黧暑雹耋黛黑笛翥:嚣糍茹茹茹的 协议实现,支持s s 也o 、3 o 以及t s l l o 等j 孜不升且肛j - 。“”。 第j 二章s s l 协议及o p e n s s l 库 系统平台上,如u n i x 、l i n u x 、w i n d o w s 等。0 p e n s s l 库支持最常用的对称加 密算法、公钥算法、消息摘要算法等,提供了命令行接口和编程的a p i 接口。 2 2 10 p e n s s l 的命令行接口 0 p e n s s l 为用户提供的命令行接口功能非常丰富,如创建和管理证书、生 成消息摘要、加密和解密文件等。其命令行格式如下: o p e n s s ic d 所肼讲耐【c d 研历口,删。坚腑】 埘脚口,删4 培f 】 根据功能的不同,c o m m a r i d 可以为x 5 0 9 、m d 5 、s h a l 、d e s 、i d e a 等,下面 以本文中将要用到的证书创建过程为例进行说明。 1 请求创建证书命令r e q 4 j n c q 命令用于创建和处理证书请求,格式如下: o p e 璐s lr e q 【一i n f o r i i lp e m l d e r 】【一o u t f o 咖p e m l d e r 】【一i n 丘1 e n a l t l e 】 【- p a s s i na r g 】【- 0 u tf i l e n 枷e 】【一p a s s o u ta 曙】 一t e x t 】【p u b k e y 】 - n o o u t 】【- v e r i 母】 【一m o d u l l l s 一n 州】【一m n df i l e ( s ) 】【- n e w k e yr s a :b “s 一n e w k e yd s a :f i l e 】【一n o d e s 】 【一k c yf i l e n a m e 】【- k e y f o mp e m i d e r 】 - k e ) ,o u tf i l e n 锄e 】 【- 【m d 5 i s l l a ll m d 2 i m d c 2 】【- c o n f i gf i l e n a m e j 【一蛳巧a 唱】【一x 5 0 9 儿一d a y sn 】 【s e l r i a ln 】【一髂n l - k h l d g e 】 - n c w h d r 】【e x t e n s i o n ss c c t i o n 】【一r e q e x t ss e c t i o n 】 【- 眦f 8 】【一n a m e o p t 】【b a t c h 】【- v e f b o s e 】【一e n g i n ei d 】 i n f o 咖p e m p e r :指定输入文件的格式,默认值为p e m : - 0 u t f o m :导i n f o n i l 参数类似: - o l i tl i l e n 锄e :指定用于输出的文件名,默认为标准输出; - w k e ya r g :用于生成一个新的证书请求的新的私钥,所带的参数有两种格 式,硌a :n b i t s 生成n 位的r s a 私钥,d 蚰:f i l e 则使用f i l e 指定文件中的参数生成 d s a 类型的私钥; k e y o u tf i l e i l 锄e :指定用于保存私钥的文件; 一【m d 5 i s h a li m d 2 l m d c 2 】:指定消息摘要算法; 2 证书管理命令x 5 0 9 嗍 x 5 0 9 命令用于显示证书信息或者签发证书,命令格式如下: 第一二章s s l 协议及o p e n s s l 库 o p e n s s ix 5 0 9 【i n f o 加d e r l p e m l n e l 【一o u t f - 0 md e r l p e m n e t 】 【一k e y f o 舢d e r i p e m - c a f o md e r l p e m c a k e y f o r md e r l p e m 】 【i nf i l e n 锄e 】【o u tf i l e n a m e 】【- s e r i a l l 【一h a s h 】【- s u b j e c t _ 1 1 a s h 】【i s s u e o a s h 】 【s u b j e c t 】【- i s s i l c r 】【一n 锄e o p to p t i o n 】【一锄a i l 】【- s t a 删a t e 】 【_ e n d d a t e 】【巾l l r p o s e 】【一曲t e s 】 - m o d u l u s ”f m g e 叫n l 】【一a l 酬 【- n o o u t 】【一t m s l o u t 】卜l r t m s t 】【一c l r r 叼e c t 】【一a d d t m s ta 嘲 【- a d d r c j e c ta 嘲【s e 协l i 鹊a r g 】【- d a y sa r g 】【s e l s c r i a ln 】 【- s i g n k e yf i l e n a m e 】【x 5 0 9 t o r e q 】 r e q 】【一c af i l e n 锄e 】 【- c a k c yf i l e n 锄e 】 - c a c f e 砒e s e r i a l 】【一c a 5 e r i a lf i l e n 锄e 】【f e x t 】 【c 】【一m d 2 卜m d 5 | s h a l 卜m d c 2 一c l d e x t 】【- e x t f i l ef i l e n 锄e 】 【- e x t e n s i o i l ss e c t i o n 】【- e n 百n ei d 】 i nf i l e r i a r n e :指定输入文件,如果命令中有r l e q 参数,则文件内容为证书请 求; o u tf i l e n 砌e :用于输出的文件; m d 2 卜m d 5 i - s h a l i m d c 2 :消息摘要算法,默认为s l l a l ; - s i g n k e yf i l e n 锄e :生成自签名的证书,文件中含有使用r e q 命令生成的私钥; d a y sa r g 指定证书的有效期,默认为3 0 天; - c af i l e n a i n e :指定c a ; c a k e yf i l e n a r n e :指定c a 所使用的私钥; e x t e i l s i o i l ss e c t i o n :当需要生成c a 使用的证书时,s e c t i o n 值设定为v 3c a ; 需要生成普通证书时,c t i o n 值设定为u s rc e r t 。 在下面的例子中,将要建立一个c a 中心,再由该c a 中心向分支机构a 签发证书。建立c a 中心的交互过程如下( 斜体部分为系统提示) 【5 】: o p e n s s lr e q n e 、) 血e yr 鼢:1 0 2 4 甜1 a 1 k e y o u tr o o t k e y p e m o u tr o o t r e q p e m e m e rp e m p a s sp h n s e : 强r 目,i n g e n t e rp e mp 口s sp h r n s e c o t l m r yn 鲫e ( 2l e t t e rc o d e ) l a u 】;c n s i n t eo rp r 删协c en q m e 岱l nn a m e ) l s o m e s 锄e 1 :雨锄苗n l o c n t 砂n n m e e 备c i l y ) 玎:1 k 啦 第二章s s l 协议及o p e n s s l 库 o r g 国t z n t i o nn n m e ( e g c o m p d 呦f l n l e r n e tw i d g i t sp 哆l f 田:n 融、a b o r g n n z d t i o n a lu n i fn d m e ( e g s e c | i o mf j : c o m m o nn n m e ( e g ,y o u rn n m e ) 玎;r o o tc a e m d i l a d d 心s s ( 】: 在使用o p c n s s l 库签发证书的过程中,需要管理员输入相关信息,如国家、 城市、机构名称、电子邮件地址等;另外,出于安全性考虑,私钥文件一般不 会以明文格式保存,这里的口令部分就是用于保护私钥文件的。 o p e 眦s lx 5 0 9 f e q i nr 0 0 仃e q p c mq h a l _ e x t e r i s i o i l sv 3 _ c a - d a y s3 6 5 - s i g i l l c e y r o o t k e y p e m - o u tr o o t c e n p e m e m e rp n s sp h n s e 如rr o o t k e y p e m :鼻 c a 在签发证书时( 为自己或者为其他机构) ,需要输入保护私钥文件的密 码。完成以后,可以通过x 5 0 9 命令来查看所生成的证书: o p c i l s s lx 5 0 9 - s u b j e c t - i s s u e r n o o u t i l lr o o t c e r t p e m s t l b j e c 净,c = c n ,s t = n 甜日i 彤l = n a 内 耐o = n e n 曲7 c n = r o o tc a 拓s t l e r = ,c = c n 7 s t = n n 吩i 州l = d 吩i 刑o = n e n n b c n = r o o tc a “i s s u 盯为签发证书的机构,“s u b i e c t ”显示该证书的主题,即接受证书机构的 信息,由于c a 中心所使用的证书是由自己签发的,所以i s s t i c r 和s u b j c c t 中c n 字段的值都是r o o tc a 。 由c a 中心为a 分支机构签发证书: o p e n s s lr e q _ n e w k e yr s a :10 2 4 s h a l k e y o ma k e y p e m o u ta r e q p e m o p e n s s lx 5 0 9 _ r e q - _ i la r e q p e m s h a l e x t e n s i o n su s r 二 e n c ar 0 0 t c e n p e m c a k e yr 0 0 t k e y j p e m c a c 陀a l e r i a l o u ta c e r t p e m 同样地,在签发证书时需要输入a 分支机构的相关信息。完成证书签发以 后,也可以查看a 机构证书的信息,显示结果如下; s t l b j e c t 7 c = c n 7 趼= :n n 吩i n l = n n 哪i 刑o = n e t l n b c n = s e c n o na i s s u e r = ,c = c n ,s t = 曩n 哪i 彬l = 墨讲4 州o = n e n n
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2 Home Sweet Home 语法专项练习(含答案)2025-2026学年人教版(2024)英语八年级上册
- 肾内科护理新进展
- 2025年事业单位工勤技能-湖北-湖北家禽饲养员五级(初级工)历年参考题库含答案解析
- 2025年事业单位工勤技能-湖北-湖北医技工三级(高级工)历年参考题库典型考点含答案解析
- 2025年水上乐园设备技术创新趋势研究报告
- 2025年事业单位工勤技能-海南-海南经济岗位工五级(初级工)历年参考题库含答案解析
- 2025年事业单位工勤技能-浙江-浙江计算机信息处理员四级中级历年参考题库含答案解析(5套)
- 金融租赁公司业务创新与法律风险防范报告
- 2024版租房协议模板租房合同协议
- 2025年事业单位工勤技能-河北-河北兽医防治员一级(高级技师)历年参考题库含答案解析(5套)
- 工作交接表模板
- 佛吉亚卓越体系知识手册
- 3.2 歌曲《牧童之歌》课件(9张)
- 可穿戴设备可靠性优化技术
- 小升初分班考必刷题(试题)-2023-2024学年六年级下册数学人教版
- 数据治理与数据中台建设方案
- NBT 33018-2015 电动汽车充换电设施供电系统技术规范
- 《科技英语翻译方法》课件
- DL-T5455-2012火力发电厂热工电源及气源系统设计技术规程
- 公司自行车管理制度
- TSG-T7001-2023电梯监督检验和定期检验规则宣贯解读
评论
0/150
提交评论