(计算机科学与技术专业论文)基于ssh的终端绑定的设计与实现.pdf_第1页
(计算机科学与技术专业论文)基于ssh的终端绑定的设计与实现.pdf_第2页
(计算机科学与技术专业论文)基于ssh的终端绑定的设计与实现.pdf_第3页
(计算机科学与技术专业论文)基于ssh的终端绑定的设计与实现.pdf_第4页
(计算机科学与技术专业论文)基于ssh的终端绑定的设计与实现.pdf_第5页
已阅读5页,还剩65页未读 继续免费阅读

(计算机科学与技术专业论文)基于ssh的终端绑定的设计与实现.pdf.pdf 免费下载

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

文档简介

北京邮i 也人学硕 :学位论文基于s s h 的终端绑定的设计与实现 基于s s h 的终端绑定的设计与实现 摘要 邮政系统正将业务集中到县、市中心服务器主机上进行,这种业 务模式需要以终端绑定的方式对网点终端进行管理。终端绑定在一定 程度上保障了只有授权终端才能登录中心主机进行业务,对终端具有 一定的认证功能,但深入而言,在数据私密性、数据完整性,认证和 授权等安全性上仍然存在不足。而s s h 作为一种网络安全连接的成熟 方案,在保障数据私密性、完整性,认证和授权等方面功能完善,因 此,提出了利用s s h 提高终端绑定程序安全性的设想。 本文主要介绍了基于s s h 的终端绑定的设计与实现,它使终端绑 定在数据私密性、完整性,认证和授权等安全性各方面得到极大的提 升。 关键词:终端绑定、s s h 、安全 m d e s i g na n di m p l e m e n t p 汀i o n o f t e r m i n a lb o u n d s o f r w a r eb a s e d 0 n s s h a b s t r a c t c h i n ap o s ti sc c n t m l 娩i i l gt h et h es e r v i c e st ot h eh o s tm a c h i n e s0 f t h ec e n t r a l c q u i p m e n tr 0 0 m0 ft h cc i t i e s n i ss e i c em o d en e e d s am e c h a n i s mw h i c hi sc a l l e d t e 咖i n a lb i n d i n gt o咖肋g c t h et e 珊i n a l s 1 n h em c c h 锄i s ms u p p o n st h a to n l y 叫t h o r i z e dt e m i n a l sc a i ll o gi nt 0t h eh o s tm a c h i n et 0d ow o r k b u tt h ec a p a c i t i e so f p f o t e c t i n gd a t ap 巾a c ya n dd a t ac o m p l e t e n e s s ,a u t h e n t i c a t i i l g 柚da u t h o r i z i n g a r el a c k w h e r e 猖s s h ,弱am a t u r cn e t 、o r kc o n n e c t i 伽s e c i l r i t y l u t i o l l h 弱c o m p l e t e f u n c t i o n so fp r o t e c t i n gd a t ap 巾a c ya n dc o m p l e t e n e s s 卸t h e n t i c a t i o n 柚da u t h o n t y s o ,i m p r o v i i l gt h es c c u r i t yo ft e 册i n a lb i n d i n gu s i n g s s hi sd i s c i l s s e d d e s i 龋蛐di m p l e 咖t a t i o no fi i n p r 0 、r i n g t h es e c l l r i t yo ft e 咖i i l a lb l n d l n gl s p r c n t e d w h i c hi n c r e a s e st h es e c i l r i t y0 ft e 册i n a lb i i l d i n gi nt h e 弱p e c t s 研d a t a p 巾a c y ,d a l ac o m p l e t l 巴n e s s ,龇t h e n t i c a t i o n 肌d 孤t h o r i t y k e yw o r d s :t e 加i n a lb i n d i n g 、s s h 、s e c u r i 够 v 北京邮 u 人学硕l j 学位论文基于s s h 的终端绑定的设计j 实现 独创性( 或创新性) 声明 本人声明所,节交的论文是本人在导师指导f 进行的研究。j :作及取得的研究成果。尽我所 知除了文中特别加以标注和致谢中所罗列的内容以外,论文中不包含其他人已经发表或撰 写过的研究成果,也不包含为获得北京邮电人学或其他教育机构的学位或证1 0 而使州过的材 料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢 意。 申请学位论文与资料若有不实之处, 本人签名:玉童亟 本人承担一切相关责任。 日期:垫! 墨:e :垡 关于论文使用授权的说明 学位论文作者完全了解北京邮电大学有关保留和使用学位论文的规定, 即:研究生在校攻读学位期间论文工作的知识产权单位属北京邮电大学。学 校有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许学位论 文被查阅和借阅;学校可以公布学位论文的全部或部分内容,可以允许采用 影印、缩印或其它复制手段保存、汇编学位论文。( 保密的学位论文在解密 后遵守此规定) 保密论文注释:本学位论文属于保密在一年解密后适用本授权书。非保密论 文注释:本学位论文不属于保密范围,适用本授权书。 本人签名: 导师签名: 王五更 日期: 日期: z o o g 2 宕 北京邮电人学硕 :学位论文 基于s s h 的终端绑定的设计j 实现 第一章绪论 根据邮政网点原有联网方式带来的投资成本过高和不利二f 业务集中等问题, 网络设备提供商将网点改造成路由器接入终端模式,将网点软件移植到远程服务 器主机上,网点终端联上远程主机来办理业务,这样就使网点业务都集中到县、 市中心机房前置机来管理。这种方式需要县、市中心服务器主机运行终端绑定 程序以提供对网点终端进行合法性认证和分配指定的伪终端等功能。终端绑定程 序根据配置文件检测登录请求的源口地址和源端口,决定是否将对应的伪终端 分配给请求方并允许其登录。终端绑定程序在一定程度上保障了只有授权终端 ( 即已在配置文件中配置的终端) 才能登录中心主机进行业务,对终端具有一定 的认证功能,并且由于终端服务器与终端绑定程序之间传输的数据可以配置成以 加密的方式传送,也确保了一定的数据私密性,但深入而言,在保护数据私密性、 数据完整性,认证以及授权等安全性功能方面仍然存在着不足。本文要解决关于 如何提高终端绑定程序安全性的问题,并具体研究基于s s h 的终端绑定的设计 与实现。 1 1 课题来源和意义 终端绑定程序是指能够指定终端与u i 血舢n u x 系统上的特定伪终端设备的 对应关系,实现远程终端在指定的伪终端设备文件上登录并与u n j ) 【l i n u x 主机 进行网络通信的服务器程序。 终端绑定程序在越来越多的新型邮政网点联网方式中得到使用。这种新型的 联网方式是将网点业务集中到县、市中心机房前置机来管理,中心机房前置机运 行终端绑定程序,这样一来,构成了投资节省、业务集中、便于管理的新型邮政 网点联网方式。 这种邮政网点的联网方式采用终端服务器接入终端的模式,终端接入终端服 务器的异步串口,根据串口配置的命令发起以固定源口和源端口发起一条t c p 连接到县、市中心的服务器主机,这种情况下,需要中心服务器主机运行有终端 绑定程序对登录请求进行处理,终端服务软件根据配置信息检测登录请求的源i p 地址和源端口,决定是否将某固定的伪终端设备分配给请求方,从而允许其登录 并进行数据通信。这个过程实现了一种“终端绑定 的功能,这种终端绑定是由 终端绑定程序的配置文件指定的,配置文件中指定了登录请求的源i p 与源端口 的组合和某个指定的伪终端设备之间的对应关系,即只允许接受来自这个口与 北京邮i 乜人学顾 = 学位论文基:s s h 的终端绑定的设计1 j 实现 端口的登录请求,并且只允许其在对应的伪终端上登录,由于源i p 与源端口的 组合是与某个具体的终端服务器上接入的终端相对应的,因此,终端与系统上的 伪终端设备就建立了一种绑定关系。 通过终端绑定这种方式,可以判断登录请求是否合法,即是否来自于已经指 定了与伪终端设备的对应关系的终端,如果是,则允许其登录,否则就拒绝其登 录请求,这就实现了一定的认证功能。另外,终端绑定规定了合法终端只能在哪 个伪终端设备上进行登录,这样一来,终端绑定程序就可以知道哪一条登录连接 来自于哪一台终端,实现了对多个终端的集中管理与控制,为邮政业务的集中管 理和开展提供了条件。 虽然终端绑定程序提供了一定的认证功能,并且由于支持数据加密而提供了 一定的数据私密性,但终端绑定程序在安全性上仍然存在严重不足: 数据私密性,密钥在终端服务器和终端绑定程序中都要通过人工输入进行配 置,容易泄露,一旦密钥泄露就可能会对整个会话的数据安全造成严重危害,威 胁邮政业务的数据传输安全。 完整性,数据在终端服务器与终端绑定程序之间传输过程中,无法确保所传 输的数据未经改动,一旦有攻击者对终端服务器和终端绑定程序之间的会话进行 注射式攻击等利用会话完整性漏洞进行的攻击,利用终端绑定程序的业务执行将 收到严重影响。 认证,终端绑定程序只能通过连接的源i p 和源端口对终端进行初步的认证, 终端登录中心主机时,主机上的系统通过终端输入的用户名和密码对终端进行进 一步的认证,而无法对服务器身份进行认证,也没有除上述认证方式之外的其它 认证方式,单一的密码认证极易由于密码的泄露导致整个系统的安全遭到破坏, 因此缺少更有效的认证方式带来了极大的安全风险。 授权,无法对客户端可以执行的操作进行通用且灵活的控制,客户端登录进 某个帐户后,就获得了此帐户的所具有的全部权限,因此也就无法避免进行正常 业务操作之外的恶意操作的可能,缺少更加有效的授权控制,是终端绑定面临的 安全威胁之一。 为了提高以上几个方面的安全性,需要借鉴并利用成熟的网络连接解决方案 对终端绑定进行进一步的发展。 s s h 作为一种有关如何在网络上构建安全通信的规范,在保障数据私密性、 完整性,认证和授权等方面功能完善,因此,可以利用s s h 来提高终端绑定程 序的安全性,进而让使用终端绑定程序提供服务的邮政业务获得更大的安全保 障。 2 北京邮电火学硕。l :学位论文摹于s s h 的终端绑定的设计与实现 1 2 终端绑定的发展与现状 终端绑定的产生与发展与邮政系统业务的开展是分不开的。邮政业务的发展 催生了终端绑定的产生,终端绑定的应用又进一步促进了邮政业务的发展,而邮 政业务的进一步发展反过来又推动了终端绑定的完善和发展。 以往的邮政网点联网方式有两种:一种为通过多路复用器接入远程终端的方 式;另一种为网点放置服务器带终端的方式。在这两种联网方式中,终端直接接 入服务器主机,终端的管理由服务器直接负责,业务数据的传输也直接由终端传 到服务器,不经过第三方软件的管理和控制,因此此时还没有出现终端绑定的概 念。随着邮政业务的开展越来越广,发展越来越迅猛,电子汇兑业务、电子化支 局、绿卡储蓄业务等新的业务种类层出不穷,原有的网点联网方式需要进行改造 或扩充以适应现在的邮政业务发展需要。但基于原有联网方式的改造或扩充存在 很大的困难,前者由于复用器无法实现口业务到网点,需要在复用器后加路由 器并且另外租用一条昂贵的专有线路跑口,导致改造时需要添加昂贵的路由器 设备、租用昂贵的专有线路,不符合网络建设原则;后者要求每个网点维护一台 前置业务机,既增加了设备投资成本和管理成本,也不利于业务集中管理和多种 业务的开展。 根据上述情况,网络设备提供商提出了新型的网点联网方式。这种方式撤消 了网点原有的前置通信机,将网点改造成终端服务器接入终端的模式,并将网点 业务集中到县、市中心机房前置机来管理,中心机房前置机运行终端绑定程序, 这样一来,构成了投资节省、业务集中、便于管理的新型邮政网点联网方式。 采用终端绑定的方式组件邮政网点联网方式的优点有很多,首先,它适应了 当今邮政业务发展电子化、网络化的特点,基层的网点通过终端绑定程序,利用 网络即可远程操作进行各种电子化业务,使邮政业务开展遍及各地,其次,它适 应了当今邮政业务发展集中化的趋势,各网点的业务都上收至县市中心来进行, 使业务的部署更加方便,开展更加便捷,同时也有利于业务数据的共享和业务运 行的控制,再次,它适应了当今邮政业务发展安全性的需要,通过对每一个终端 与系统上的伪终端设备进行绑定,并且由终端的登录连接请求的源地址来对终端 进行识别,实现了终端的认证并保证了一定的业务安全。总之,终端绑定的方式 正逐渐开始成为邮政网点联网的主流方式。 目前,终端绑定发展已经经历了两个阶段,初始阶段,终端绑定只能支持根 据终端与伪终端的绑定关系以及终端接入的终端服务器的地址来对终端的登录 连接请求进行处理,此时的终端绑定只具有其字面上的最基本的意义,第二阶段, 终端绑定除了最基本的识别终端并为合法终端提供登录服务之外,还支持多种额 3 j e 京邮电人学顾卜学位论文攮于s s h 的终端绑定的设计。j 实现 外的功能,比如简单的数据加密、压缩,时间访问控制,登录界面保留,终端连 接信息查询等功能,目前投入使用的终端绑定大多属于这一阶段。 现在为邮政系统提供终端绑定的提供商主要有两类,类是终端生产厂商, 一类是终端服务器、路由器等生产厂商。终端生产厂商为其生产的终端提供终端 绑定程序,他们的终端绑定程序支持自己生产的网络终端与中心主机进行连接操 作,能够实现加密功能,比如升腾、新大陆等终端生产厂商的终端绑定程序,支 持各自公司生产的网络终端的终端绑定,各自实现有对称密钥的加密功能,还能 实现一些登录界面保留、时间控制等功能。路由器生产厂商为其生产的终端接入 服务器提供终端绑定程序,这种终端绑定能够绑定接入终端服务器的哑终端,对 终端服务器与终端绑定程序之间的连接采用端到端的加密,比如实达等厂商提供 配合其终端服务器使用的终端绑定程序,使各种哑终端都能接入,屏蔽了不同终 端生产厂商生产的终端的差别,实现端到端的加密,有的还实现了数据压缩,支 持网络终端的绑定等功能。 终端绑定将要向第三个发展阶段进行发展,这一阶段的主要任务是在网络安 全环境日益严峻的环境下,向邮政业务提供足够安全特性的服务,保障邮政系统 的业务运行安全和数据通信安全。目前的终端绑定虽然采用加密传输等手段保障 数据传输的安全,但由于加密采用对称密钥的加密方式,密钥的配置和管理需要 在连接的两端提供人工进行配置,容易造成密钥泄露,从而使连接的数据受到攻 击者获取的威胁,这是在数据私密性方面存在的不足,不仅如此,目前的终端绑 定在以下方面还存在缺陷:完整性上,数据在终端服务器与终端绑定程序之间传 输过程中,无法确保所传输的数据未经改动,一旦有攻击者对终端服务器和终端 绑定程序之间的会话进行注射式攻击等利用会话完整性漏洞进行的攻击,利用终 端绑定程序的业务执行将收到严重影响;认证上,终端绑定程序只能通过连接的 源口和源端口对终端进行初步的认证,终端登录中心主机时,主机上的系统通 过终端输入的用户名和密码对终端进行进一步的认证,而无法对服务器身份进行 认证,也没有除上述认证方式之外的其它认证方式,单一的密码认证极易由于密 码的泄露导致整个系统的安全遭到破坏,因此缺少更有效的认证方式带来了极大 的安全风险:授权上,无法对客户端可以执行的操作进行通用且灵活的控制,客 户端登录进某个帐户后,就获得了此帐户的所具有的全部权限,因此也就无法避 免进行正常业务操作之外的恶意操作的可能,缺少更加有效的授权控制,是终端 绑定面临的安全危胁之一。由上面可以看出,目前的终端绑定在数据私密性、完 整性,认证和授权等安全性方面存在不足,因此迫切需要在以上方向进行发展和 演化,这是终端绑定向第三阶段发展的必然趋势。 本文论述的基于s s h 的终端绑定程序实现了在数据私密性、完整性,认证 4 北京邮i b 人学硕1 :学位论文 摹于s s h 的终端绑定的改汁j 实现 和授权等安全性方面获得了极大提升,满足了终端绑定在新的发展阶段功能需求 的终端绑定实现,并且作为一种成熟的应用投入了实际的生产运行工作环境中, 得到了成功的实践和验证。 1 3 本人所做的工作 作者设计并实现了基于s s h 的终端绑定程序,极大提升了终端绑定的安全 性,另外,作者还对终端绑定进行了功能增加和完善,总共编写代码7 7 0 0 行左 右。此外,作者还对r a d i u s 服务器程序进行了扩展,实现了以菜单界面的方式 对程序进行操作和配置,同时对程序做了功能扩充,共编写代码4 0 0 0 行左右。 总共编写代码1 1 7 0 0 行左右。 1 4 小结 终端绑定是指指定终端与u n i x i j n u x 系统上的伪终端设备的一一对应关系, 终端绑定程序根据这一对应关系判断登录连接的合法性,并且对于合法终端令其 在对应的伪终端设备上登录,这提供了一定的认证,并使多个终端的集中管理成 为可能。新型的邮政网点联网方式使用了终端绑定程序,使业务集中到县、市中 心服务器主机,实现了业务的集中管理和开展。 终端绑定的发展伴随着邮政业务的发展而发展,到现在发展进行了两个阶 段,目前的现状是由终端生产厂商和终端服务器、路由器生产厂商所提供的终端 绑定程序只能提供简单的加密这一单一的安全性手段,而在数据私密性、完整性, 认证和授权等安全性方面存在严重不足,威胁了邮政业务的开展和运行,因此, 终端绑定下一阶段的发展方向是增加终端绑定在上述安全性方面的功能,提升数 据私密性、完整性,认证和授权等方面的安全性。 s s h 作为一种成熟的网络安全连接规范,在保障数据私密性、完整性,认证 和授权等方面功能完善,因此,可以利用s s h 来提高终端绑定程序的安全性。 作者设计并实现了利用s s h 提升终端绑定程序安全性,实现了终端绑定在 安全性上的功能发展需求,下一章将介绍终端绑定和s s h 协议。 5 北京邮电人学硕士学位论文基于s s h 的终端绑定的设计j 实现 第二章终端绑定及s s h 协议介绍 上一章简单介绍了终端绑定的概念以及终端绑定程序的作用,本章将进一步 介绍终端绑定和s s h 协议。 2 1u n i ) l i n u x 系统上的终端绑定 在介绍终端绑定的设计之前先介绍一下u n i x l i n u x 的终端绑定。 首先介绍一下什么是终端绑定程序。终端绑定程序是指能够指定终端与 u 删n u x 系统上的特定伪终端设备的对应关系,实现远程终端在指定的伪终端 设备文件上登录并与u n i x 】l j n u x 主机进行网络通信的服务器程序。 终端绑定程序定义中所提及的伪终端( p s e u d ot e 肌i n a l ) 是u n i x l i n u x 系统 上的一种设备文件,它可以用来实现远程终端进行网络登录的功能。网络登录服 务器程序的处理流程是:当一个网络连接请求到来时,服务器进程打开一个伪终 端设备,并用f 0 r k 生成一个子进程,父进程处理与网络的通信,子进程先使其 文件描述符0 ,1 ,2 与伪终端相连,然后调用e x e c 执行l o 西n 程序,父、子进程 通过伪终端相连接口1 。 图2 1 显示了使用伪终端的进程的典型结构: 6 北京邮l 乜人学硕l :学位论文 、基于s s h 的终端绑定的设计,j 实现 内核 图2 - 1 使用伪终端的进程的典型结构 下面是对图2 1 的解释: ( 1 ) 通常一个进程先打开伪终端主设备,然后调用f o r k 生成子进程。子进程 建立了一个新的对话,打开一个相应的伪终端从设备,将它复制成标准输入、标 准输出和标准错误输出,然后调用e x c c 。伪终端从设备成为子进程的控制终端】。 ( 2 ) 对于伪终端从设备之上的进程来说,其标准输入、标准输出和标准错误 输出都能当作终端设备使用。进程能够调用终端i o 的所有输入输出函数。 ( 3 ) 任何写到伪终端主设备的输入都会作为从设备端的输入,反之亦然。事 实上所有从设备端的输入都来自于主设备上的进程。 7 北京邮电火学硕i :学位论文 基于s s h 的终端绑定的设计0 实现 伪终端用于构造网络登录服务器。典型的例子是t e l n e t d 和r l o 舀n d 服务器。 一旦登录s h e l l 运行在远端主机上,即可得到如图2 2 的结构。 网络 内核 图2 - 2 网络登录服务器的进程组织结构 在网络登录服务器和登录s h e l l 之间有两个e x e c 调用,这是因为在两个甑e c 之间是l o 西n 检验是否合法。驱动伪终端主设备的进程通常同时在读写另一个加 流,即t c p 口网络数据流。 , 传统的网络登录程序在网络连接请求到来的时候既无法判断连接是否来自 合法的终端,也无法指定使用哪个伪终端设备( 一般是只要找到一个未被使用的 伪终端就打开并使用它) ,因而不便于在使用多个终端的下进行集中的控制与管 理。而终端绑定程序则解决了以上问题,它采用了一个网络地址对应于一个伪终 端设备的配置方式,这样既可以确保拒绝来自非授权终端的连接请求,不向其提 供网络登录服务,也能够确保通过这个终端只能在特定的伪终端上登录。 综上所述,终端绑定程序是一种利用u n 政l j 舢x 伪终端设备的网络登录程 序,但它能根据配置信息判断登录请求是否来自合法的终端,拒绝非法终端的登 8 北京邮电人学硕七学位论文基于s s h 的终端绑定的设计j 实现 录请求并能使合法的终端在指定的伪终端设备上登录,因而又和一般的网络登录 程序不同。 2 2s s h 协议简介 前面已经介绍了终端绑定,要提高终端绑定程序的连接安全性,需要借鉴并 利用成熟的网络连接安全解决方案,而s s h 正是一种在安全性各方面都表现十 分出色的网络安全连接规范,下面将对s s h 进行介绍。 2 2 1s s h 基本概念 s s h 是一种安全协议,是一种有关如何在网络上构建安全通信的规范口1 。s s h 协议内容涉及认证、加密和网络传输数据的完整性。认证的功能是:可信地判断 出用户的身份。如果有人登录到一个远程计算机上的帐号中,s s h 就会要求他通 过身份证明。如果他通过了这个测试,就可以登录;否则s s h 就拒绝连接。加 密的功能是:对数据进行编码,除了数据的接收者之外,其他人都无法理解数据, 这样数据在网络上传输时就可以得到保护。完整性的功能是:确保网络上传输的 数据到达目的地时没有被改变。如果某个第三方截获了传输的数据并对其进行了 修改,s s h 就能检测到这种变化。总之,s s h 在计算机之间建立网络连接,并 能充分保障连接的双方是真实可信的。s s h 还能确保使用该连接传输的所有数据 都不会被窃听者读取或修改。 下面对s s h 的组件和名词进行一些解释: 幻服务器 服务器是一个程序,它负责接收到达的s s h 连接、进行认证、授权工作等 熊 寸o b ) 客户端 客户端是一个程序,它连接到s s h 服务器上并发起请求。 会话 会话是客户端和服务器之间正在使用的连接。会话的起点是客户端和服务器 成功实现认证,终点是连接结束。 d _ ) 密钥 密钥通常只有几十位到一、二百位,用作诸如加密或消息认证之类的加密算 法的参数。在加密中,它确保只有持有相应的密钥的用户可以对消息进行解密; 在认证中,它允许你对实际给消息签名的密钥所有者进行验证。 e 1 用户密钥 9 北京邮电大学硕士学位论文 基_ | 二s s h 的终端绑定的设计1 j 实现 用户密钥是客户端用来证明用户身份的一个永久性的非对称密钥。 f ) 主机密钥 主机密钥是服务器用来证明自己身份的一个永久性的非对称密钥。如果一台 机器只运行一个s s h 服务器,那么主机密钥还唯一标识这台主机的身份。 g ) 服务器密钥 服务器密钥是一个临时的非对称密钥。每隔一定的间隔( 缺省是一小时) , 它就在服务器上重新生成,用来保护会话密钥。服务器密钥容易和主机密钥混淆。 服务器密钥从不保存在磁盘上,其私有部分也不会以任何形式通过连接传输,它 为会话提供了“完美的转发安全性。 h ) 会话密钥 会话密钥是一个随机生成的对称密钥,用于对s s h 客户端和服务器之间的 通信进行加密。会话密钥由进行会话的双方在s s h 连接建立时以安全的方式进 行共享,窃听者无法窃取到会话密钥。然后会话双方就都有了这个会话密钥,它 们用会话密钥加密通信。当s s h 会话结束时,该密钥就被销毁。 i )已知名主机数据库 已知名主机数据库是主机密钥的集合。客户端和服务器根据这个数据库的内 容彼此进行认证。 2 2 2s s h 协议的主要特性和优点 s s h 协议的主要特性和优点是:使用强加密技术来保证数据的私密性 ( p r i v a c y ) :通信的完整性,确保通信不会被修改;认证,即发送者和接收者的 身份证明;授权,即对帐号进行访问控制。 a 数据私密性 数据的私密性是保护数据不会泄密。s s h 对网络上传输的数据进行加密,从 而提供了私密性。这种端到端的加密的基础是随机密钥,随机密钥为会话进行安 全协商,在会话结束后被丢弃。s s h 支持很多种对会话数据进行加密的加密算法。 b 完整性 完整性是指数据从网络连接的一端传递到另一端而不会被修改。s s h 的底层 传输协议t c p m 本身具有完整性检查,可以检测到因网络问题对数据造成的破 坏。然而,这些方法对于蓄意攻击来说用处并不大。使用s s h 对数据流进行加 密,能使攻击者不能轻易地修改选定的内容以达到其特殊目的;但即使如此,也 不能只使用t c m p 的完整性检查来防止攻击者蓄意向会话中添加各种垃圾信 息。更可怕的是重放攻击,攻击者可以在他人的s s h 会话中插入他之前截获的 报文,t c p i p 的完整性检测只能以报文为单位进行,因此不能检测出攻击者的 l o 北京邮i 乜人学硕j :学位论文 基于s s h 的终端绑定的设计与实现 攻击。因此,s s h 的完整性检测是把数据流作为一个整体进行,从而确保数据位 到达目的地时和发送时一样,顺序相同而且无冗余。 c 认证 认证就是对用户身份进行验证。每个s s h 连接都涉及双向认证:不仅客户 端要验证s s h 服务器的身份( 服务器认证) ,服务器也要验证发起访问请求的用 户的身份( 用户认证) 。服务器认证确保s s h 服务器是真实无误的,这样可以防 止攻击者把你的网络连接重定向到另外一台机器。服务器认证还可以防止中间人 攻击( m 姐i n t h e - m i d d l e a t t a c k ) ,此时攻击者隐藏于你和服务器之间,他在一端 假装成客户端,而在另一端假装成服务器,从而欺骗双方并读取你整个会话过程 中的所有通信。传统的用户认证的功能是通过使用密码的方式来实现的,但是, 这种认证模式十分脆弱,在这种模式下,如果需要证明用户的身份,用户必须提 供密码,这样就存在密码被窃取的可能。s s h 支持密码认证的方式,密码在网络 上传输时会被加密,与把密码以明文形式传输的远程网络连接协议( 如t e l n e t 、 f t p ) 相比,密码得到了保护,但密码认证还是太过简单。因此s s h 提供了功能 更强大、更易管理的机制:每个用户使用一个公钥签名,使用改进过的r l o 画n 风 格的认证,并使用公钥对主机身份进行验证。 d 授权 授权就是确定哪些人有权操作,哪些人无权操作。授权是在认证之后进行的, 因为在知道是谁之前,无法确定其权限。s s h 服务器有很多种方法来限制客户端 可以执行的操作。授权可以在服务器范围的层次上进行控制。 2 2 3s s h 协议流程 下面介绍s s h 协议的一些流程细节: 北京i l ;i j 电人学硕 j 学位论文挂于s s h 的终端绑定的设计j 实现 ( 1 确| ,d 6 矗 仍m e 似 ! h ,万 i j : ;j c - c ,为s b k t l mh n 蜉= 每 7 j ;:;h j k j j w l lh j 晶l “ s p r ¥邯倒照蚋跏f i :c c 粥目卵k 町 嗨s 三7 二甾鎏薹 劬卅柏f i 墨! ;h 要! 钙揩【蛔耐i 誓! ;v :i 皇: 热删i | | i 胁i e f 如口 鼎抟耐 镏耐 螂阳 e 锄耐五 图2 - 3s s h 框架 1 安全连接的建立 在进行有意义的交互会话之前,s s h 客户端和服务器端必须首先建立一条安 全连接,该连接可以允许双方共享密钥、密码,最后可以传输任何数据。 下面是s s h 客户端和服务器如何建立起一条安全连接的步骤: 客户端连接到服务器上。 客户端和服务器交换自己支持的s s h 协议版本号。 客户端和服务器切换到基于报文的协议。 服务器向客户端提供自己的身份证明和会话参数。 客户端给服务器发送一个( 会话) 密钥。 双方启用加密并完成服务器认证。 建立安全连接。 这样,客户端和服务器就可以通过加密消息进行通信了。 下面详细讲述一下各个步骤: 1 ) 客户端连接到服务器上。 也就是客户端向服务器监听的t c p 端口发送连接请求。 2 1 客户端和服务器交换自己支持的s s h 协议版本号。 这些协议以a s c u 字符串表示,例如,“s s h 1 5 1 2 2 7 ”,其意义为s s h 协 议版本号是v 1 5 ,实现版本是1 2 2 7 。实现版本号在这个字符串中是一个注释, 1 2 薏一 m o 毒 -ol兽-誊苫v ;| 五i暑曩l暑 氯辩h秘套、,一 畔 一誊手,饕萎、,一叩渺一一渺 北京邮f 乜人学硕+ 学位论文基于s s h 的终端绑定的设计j 实现 它是可选的。 如果客户端和服务器确定其协议版本号是兼容的,那么连接就继续进行;否 则,双方都可能决定中断连接。 3 ) 客户端和服务器切换到基于报文的协议。 协议版本号交换过程一旦完成,客户端和服务器都立即从下层的t c p 连接 切换到基于报文的协议。每个报文都包含一个3 2 位的字段,1 8 字节的填充位, 一个1 字节的报文类型字段代码,报文有效数据和一个4 字节的完整性检查字段。 4 ) 服务器向客户端提供自己的身份证明和会话参数。 服务器向客户端发送以下信息: 主机密钥,用于后面证明服务器主机的身份。 服务器密钥,用来帮助建立安全连接。 8 个随机字节序列,称为检测字节( c h e c kb y t e s ) 。客户端在下一次响应中必 须包括这些检测字节,否则服务器就会拒绝接收响应信息。 该服务器支持的加密、压缩和认证方法。 此时,双方都要计算一个通用的1 2 8 位会话标识符,它用来唯一标识这个 s s h 会话。该值是主机密钥、服务器密钥和检测字节一起应用m d 5 散列函数得 到的结果。 当客户端接收到主机密钥时,它要进行询问:。之前我和这个服务器通信过 吗? 如果通信过,那么它的主机密钥是什么呢? ,因此客户端就要查阅自己的 已知名主机数据库。如果到达的主机密钥可以和数据库中以前的一个密钥匹配, 那么就没有问题了。但是,如果己知名主机数据库中没有这个服务器,也可能有 这个服务器但是其主机密钥不同。在这两种情况中,客户端要选择是信任这个新 近到达的密钥还是拒绝接受该密钥。如果客户端拒绝接受这个主机密钥,那么连 接就终止了。 5 ) 客户端给服务器发送一个会话密钥。 现在客户端为双方都支持的b u l k 算法随机生成一个新密钥,称为会话密钥。 其目的是对客户端和服务器之间发送的数据进行加密和解密。把这个会话密钥发 送给服务器,双方就可以启用加密并开始安全通信了。但客户端不能简单地把会 话密钥发送给服务器。此时数据还没有进行加密,如果第三方中途截获了这个密 钥,那么他就可以解密客户端和服务器之间的消息。因此,客户端必须安全地发 送会话密钥。这是通过两次加密实现的:一次使用服务器的公共主机密钥,一次 使用服务器密钥。这个步骤确保只有服务器可以读取会话密钥。在会话密钥经过 两次加密之后,客户端就将其发送给服务器,同时还会发送检测字节和所选定的 算法。 北京邮电人学硕- j :学位论文肇fs s h 的终端绑定的- 哎计j 实现 6 ) 双方启用加密并完成服务器认证 在发送会话密钥之后,双方丌始使用密钥和所选定的b u l k 算法对会话数据 进行加密。但在丌始发送其它数据之i ; ,客户端要等待服务器发来一个确认消息, 该消息以及之后的所有数据都必须使用这个会话密钥加密。这是最后部,它提 供了服务器认证:只有目的服务器才可以解密会话密钥,因为它是使用前面的主 机密钥进行加密的。如果没有会话密钥,假冒的服务器就不能解密以后的协议通 信,也就不能生成有效的通信。注意服务器认证是隐含的,并没有显式交换来验 证服务器主机密钥。因此客户端在继续发送数据之前,必须等待服务器使用新会 话密钥作出有意义的响应,从而在处理之前验证服务器的身份。 使用服务器密钥对会话密钥再进行一次加密就提供了一种称为完美转发安 全性的特性。即不存在永久性密钥泄露的可能,这样就不会危害到其它部分和以 后s s h 会话的安全性。如果我们只使用服务器主机密钥来保护会话密钥,那么 主机私钥的泄露就会危害到以后的通信,并允许解密原来记录下来的会话。使用 服务器密钥再加密一次就消除了这种缺点,因为服务器密钥是临时的,它不会保 存到磁盘上,而且会周期性地更新,缺省情况下,一小时更新一次。 乃建立安全连接。 由于客户端和服务器现在都知道会话密钥,而其他人都不知道,因此他们就 可以相互发送加密消息并对其进行解密了。而且,客户端还可以完成服务器认证。 然后就开始客户端认证了。 z 客户端认证 安全连接一旦建立起来之后,客户端就尝试向服务器认证自己的身份。客户 端此时会试验所有的认证方法,直到成功为止,否则等所有的方法都试过之后就 认为失败。 a 1 密码认证 在密码认证过程中,用户向s s h 客户端提供一个密码,客户端会把这个密 码通过加密过的连接安全地发送给服务器。然后服务器就检查给定的密码是否能 被目标帐号接受,如果可以就允许这次连接。在最简单的情况中,s s h 服务器通 过主机操作系统所固有的密码认证机制来实现密码检查。 公钥认证 公钥认证使用公钥来验证客户端的身份。要访问s s h 服务器上的一个帐号, 客户端必须证明自己有密钥。如果认证文件含有一个密钥的公共部分,那么这个 密钥就是认证过的。 1 ) 客户端向服务器发送一个请求,请求使用一个特定的密钥进行公钥 认证。该请求包含密钥的模数和一个标识符。密钥隐含地使用r s a 1 4 北京邮f 乜大学硕【:学位论文基于s s h 的终端绑定的设计0 实现 算法。 2 ) 服务器读取目标帐号的认证文件,并搜索一个可以匹配该密钥的项。 如果没有匹配项,那么这个认证请求就失败了。 3 1 如果有匹配项,服务器就取出这个密钥。 4 ) 服务器产生一个2 5 6 位的随机字符串,将其作为一个考验,使用客 户端的公钥对其进行加密并把结果发送给客户端。 5 ) 客户端接受这个考验并使用相应的私钥对其解密。然后将这个考验 和会话标识符合并在一起,对结果应用m d 5 散列函数,并把散列 值返回给服务器,作为客户端对考验的响应。会话标识符用来把认 证者绑定到当前会话中,从而防止重放攻击利用这个缺点。 6 ) 服务器对考验和会话i d 计算相同的m d 5 散列函数值;如果客户端 的响应和该值可以匹配,那么认证就成功了。 2 2 - 4s s h 体系结构 s s h 协议框架中最主要的部分是三个协议:传输层协议、用户认证协议和连 接协议n 1 。同时s s h 协议框架中还为许多高层的网络安全应用协议提供扩展的支 持嘲。 传输层协议( t l l et r 柚s p o r tl a y e rp r o t o c 0 1 ) s s h 传输层协议通常都是运行于t c p 口之上,以该功能为基础,其上可以 建立多种网络安全服务m ,如提供高强度的数据通信加密处理、加密的主机身份 认证、数据完整性校验以及数据压缩等多项安全服务。双方通信所需要的密钥交 换方式、公钥密码算法、对称密钥密码算法、消息认证算法和哈希算法等都可以 进行协商。传输层协议的主要目标是实现两合主机间认证时和认证后安全和保密 的通信,通常运行于t c p 口之上。 s s h 传输层协议中的认证是基于主机的,并不涉及客户端用户的身份认证, 传输层产生了口令认证和其他服务需要的( 共享) 秘密数据。用户认证可以通过基 于该协议之上、单独设计的协议来完成。这样,既保证了通信的安全性,又提供 了协议的灵活性和扩展性。 用户认证协议( ,n i eu s e ra u t h e n t i c a t i o np r o t o c 0 1 ) 在传输层构建了一个安全通道以在两个系统间传送信息后,服务器将告诉客 户端它所支持的认证算法,客户端将用服务器支持的算法向服务器证明自己的身 份。认证由服务器主导,客户端可以根据服务器提供的方法列表自由进行选择, 这样一方面使服务器对认证有完全的控制权,同时也给客户端足够的灵活度。主 要包括以下几种用户认证方式: 北京邮电人学硕j j 学位论文基于s s h 的终端绑定的设计与实现 ( 1 ) 公钥认证方式:是s s h 协议唯一要求的必须提供的认证方法。在这种方 式中,用户用私钥来表明自己的身份。简单说,就是用户向服务器发送一个用自 己私钥处理过的数字签名,服务器首先检查该用户的私钥足否可以作为一个有效 的认证凭证( 通过检查本地数据库中是否存有与之对应的公钥) ,然后检查该签名 的有效性,如果两个条件都满足,用户的认证请求就可以被接受,否则拒绝。 ( 2 ) 口令认证:所有的应用都应该支持由服务器确定怎样编译口令及根据口 令数据库验证口令。在此过程中,客户端和服务器都应该检验传输层所提供的机 密性。如果没有提供加密,口令认证不能完成:如果没有机密性或眦则不能 改变口令。 ( 3 ) 基于主机的认证:是根据用户来自的主机及远端主机上的用户名来认 证。这种方式不适用于安全性要求较高的站点,但是可以选择的。 连接协议( n ec o n n e c t i o np r o t o c 0 1 ) s s h 连接层协议主要的功能是完成用户请求的各种具体的网路服务,而这 些服务的安全性是由底层的s s h 传输层协议和用户认证层协议实现的。在s s h 传输层成功认证后,多个通道通过复用到两个系统问的单个连接上而打开。每个 通道处理不同的终端会话。 客户基于服务器可以建立新的通道,每个通道在每一端被编排给不同的号 码。在一方试图打开一个新的通道时,该通道在该端的号码随请求一起 传送,并被对方存储,以用于指示特定类型业务的通信给该通道。这样做,以 使不同类型的会话不会彼此影响,而在关闭通道时也不会影响系统间建立的初 始s s h 连接。 利用连接层协议提供的通道,可以方便地扩展更广范围的应用。标准方法提 供了安全的交互式s h e l l 会话、任意t c c r u 皿e l i n g ) 端口和x 1 1 连接转发等。 2 2 5s s h 的发展状况 s s h 协议最初是由t a t uy 1 6 n e n 在1 9 9 5 年开发的,此时的s s h 协议被称为 s s h 协议版本1 。t a t i l 6 n e n 利用s s h 协议版本1 开发了名为s s h l 的软件, 实现了s s h 协议版本1 。y 1 6 n e n 于1 9 9 5 年1 2 月建立了s s hc o 舢u n i c a t i o 瓞 s 咖r i t v ,l t d ( 简称s c s ) 对s s h 进行维护,并使其商业化。 同年,6 n e n 将s s h 协议版本1 编写成正t f 的一份1 1 1 t e m c t 草案,该草案 从本质上说明了s s h 协议版本1 软件的操作。这个协议包括了很多在s s h 协议 版本1 的开发使用过程中所发现的问题和不足。如果一定要保持向后兼容,这些 问题就不可能解决,因此在1 9 9 6 年,s c s 引入了该协议的一个新的主要版本: s s h 协议版本2 ,它采用了一种新的算法,不能和s s h 协议版本1 兼容。与此 1 6 北京邮i 乜人学硕士学位论文基于s s h 的终端绑定的设计j j 实现 呼应,i e t f 也成立了一个称为s e c s h ( s c c u r es h e l i ) 的工作组,以对该协议进 行标准化。s e c s h : 作组于1 9 9 7 年2 月提交了第一份s s h 协议版本2 的i n t e m e t 草案。 1 9 9 8 年,s c s 发布了基于先进的s s h 协议版本2 的软件产品“s s h 安全s h e l l ” ( s s h 2 ) 。一开始,s s h 2 并没有取代s s h l 在该领域的广泛应用,主要是由于 s s h 2 的许可限制相比s s h l 更为严格。目前这种情况随着两种开发趋势的发展 得到很大的改变,这就是s s h 2 版权许可证的放宽和免费的s s h 协议版本2 实 现产品的出现。s c s 已经放宽了s s h 2 许可证,允许为具有资格的非商业组织工 作的个人免费使用。同时,o p e n s s h ( h t t p :价哪w o p e n s s h c o m ) 开辟了另外一条 s s h 实现的道路,o p e n s s h 使用相同的程序同时支持s s h 协议版本1 和s s h 协 议版本2 ,虽然o p e n s s h 是在o p e n b s d 上开发的,但是它已经被成功移植到 i j n u x 、s o l a r i s 、m x 和其它操作系统中,这些移植产品都与其主要发行版本紧 密地保持同步 目前,s s h l 继续重要错误的修正;s s h 2 和o p c n s s h 的开发依然在继续。 还有其它很多s s h 的实现产品,包括f - s e c i i r ec o r p o m t i o n 所维护和销售的s s h l

温馨提示

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

评论

0/150

提交评论