(计算机应用技术专业论文)基于applet方式的仿真终端的研究与设计.pdf_第1页
(计算机应用技术专业论文)基于applet方式的仿真终端的研究与设计.pdf_第2页
(计算机应用技术专业论文)基于applet方式的仿真终端的研究与设计.pdf_第3页
(计算机应用技术专业论文)基于applet方式的仿真终端的研究与设计.pdf_第4页
(计算机应用技术专业论文)基于applet方式的仿真终端的研究与设计.pdf_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

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

文档简介

北京邮电大学 独创性( 或创新性) 声明 本人声明所呈交的论文是本人在导师指导下进行的研究工作及取得的研究成 果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不包含 其他人已经发表或撰写过的研究成果,也不包含为获得北京邮电大学或其他教育机 构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均 已在论文中作了明确的说明并表示了谢意。 萎芟薹羹? 三差耀本人签名:j 乒4 l 蜩伫钮二 本人承担一切相关责任。 日期:塑2 :竺:! 兰 关于论文使用授权的说明 学位论文作者完全了解北京邮电大学有关保留和使用学位论文的规定,即:研 究生在校攻读学位期间论文工作的知识产权单位属北京邮电大学。学校有权保留并 向国家有关部门或机构送交论文的复印件和磁盘,允许学位论文被查阅和借阅;学 校可以公布学位论文的全部或部分内容,可以允许采用影印、缩印或其它复制手段 保存、汇编学位论文。( 保密的学位论文在解密后遵守此规定) 保密论文注释:本学位论文属于保密在一年解密后适用本授权书。非保密论文注释:本学 位论文不属于保 本人签名: 导师签名: 日期:堡塑:竺! 竺 2 北京邮电大学 基于a p p l e t 方式的仿真终端的研究与设计 摘要 本文将介绍一种在l i n u x 虚拟实验系统中的基于a p p l e t 方式的 s s h 仿真终端的研究和设计。文章首先分析了终端及仿真终端的演进 过程,指出早期的t e l n e t 仿真终端的功能和缺陷。接下来,引入 s s h 仿真终端的概念,分析了s s h 协议的起源,基本框架,实现过 程,主要特点和软件包的组成。同时,文章对s s h 协议所依赖的计 算机安全技术的理论基础做了介绍和分析,主要从公钥密码系统和 r s a 算法两个方面来论述其理论基础。a p p l e t 技术是本仿真终端的 实现形式,所以,文章从技术应用的角度,介绍了a p p l e t 的概念, 创建方法和语法特征。在论文的后半部,将主要介绍仿真终端的实现 过程和各个子系统的组成。在本论文最后是对本仿真终端的特点及改 进做介绍。 关键字 虚拟实验s s h 仿真终端a p p l e t 组件计算机安全 北京邮电大学 r e s e a r c ha n dd e s i g no fs i n u l a t i o nt e r n n a i , b a s e do na _ p p l e t a b s t r a c t t h i sa r t i c l ei n t r o d u c e sar e s e a r c ha n dd e s i g no faa p p l e to fs s h s i m u l a t i o nt e r m i n a lw o r k e di na l lv i r t u a l e x p e r i m e n t a ls y s t e ma b o u t l e a r n i n gl i n u x f i r s t ,t h i sp a p e ra n a l y z e st h ee v o l u t i o no ft h et e r m i n a l a n ds i m u l a t i o nt e r m i n a la n di n t r o d u c e st h ef u n c t i o na n dd e f e c t so fe a r l y s i m u l a t i o nt e l n e tt e r m i n a l n e x t ,i n t r o d u c e st h e c o n c e p to fs s h s i m u l a t i o nt e r m i n a la n da n a l y s i so ft h eo r i g i no fs s h p r o t o c o l ,t h eb a s i c f r a m e w o r k , r e a l i z a t i o np r o c e s s ,t h em a i nf e a t u r e sa n ds o f t w a r e c o m p o n e n t s t h i sp a p e ra l s oi n t r o d u c e st h et h e o r yo fc o m p u t e rs e c u r i t y t e c h n o l o g y , a n da n a l y z e st h er s aa n dp u b l i c k e yc r y p t o s y s t e m a p p l e t t e c h n o l o g yi nt h ef o r mo f t h es i m u l a t i o nt e r m i n a l s ,t h e r e f o r e ,a r t i c l ef r o m t h ep e r s p e c t i v eo ft e c h n o l o g y , i n t r o d u c e st h ec o n c e p to fa p p l e t ,m e t h o d a n dg r a m m a t i c a l f e a t u r e s p a p e r s i nt h el a t t e r p a r t i n t r o d u c e st h e i m p l e m e n t a t i o np r o c e s so ft h es i m u l a t i o nt e r m i n a la n dt h ec o m p o n e n t s u b s y s t e m s i n t h ef i n a l p a p e r s ,g i v e s t h e p r e s e n t a t i o n o ft h e c h a r a c t e r i s t i c sa n di m p r o v e m e n t so f t h i ss i m u l a t i o nt e r m i n a l 4 北京邮电大学 k e y w o r d s : v i r t u a le x p e r i m e n t , s s h ,s i m u l a t i o nt e r m i n a l , a p p l e tc o m p o m e n t ,c o m p u t e rs e c u r i t y 5 北京邮电大学 第一章引言 网络教育是近几年随着计算机技术发展以及教育理念的变革而产生的。它是 建立在网络技术平台上,利用网络环境所进行的教育、教学活动。它在数字技术、 多媒体计算机技术、网络传输技术、交互等技术的支撑下,在教学新理念的渗透 中,可以构建出理想的虚实结合的学习环境和人文氛围。网络技术与教育理念的 整合推动了网络教育的蓬勃发展。开放性、交互性成为其与众不同的闪光点。也 使其成为了能够实现终身教育、素质教育、建构主义学习等的一种新型的教学形 式。 同时,目前在全国高等院校的课程设置中,尤其是工科教学的课程设置中, 实验教学占有相当大的比例,有着很重要的教学地位。在实践教学环节里,需要 大量的实践教学设备,有些还是贵重的或者是易损耗的设备。另一方面,实践教 学的更新换代也很迅速,在很多学校中,实践教学设备重复建设,冗余较多,新 旧设备混杂,造成了很大程度的资源浪费。还有,随着高等院校的扩招,学生数 量也在快速增加,也给教学人员高质量地完成实践教学任务带来了很大的压力。 这样,利用计算机强大的虚拟现实的处理能力,模拟真实的实验环境的虚拟 实验系统就成了一个前景乐观的解决方案。虚拟实验系统包括以下的优点: 1 经济性。建立虚拟实验室不需要购置大量的硬件实验设备,而是利用计算 机仿真技术,就可以建立设备齐全,功能强大的实验环境。 2 灵活性。虚拟实验可以设计种类繁多,功能灵活的实验方案,而且打破了 实验在时间和地理上的约束。 3 安全性。由于是计算机仿真,避免了某些实验对人员和设备的危害。 目前远程教育的发展,基于浏览器且r 务器架构的应用成为了主流的模式。 在这种模式下,在服务器上模拟出来的虚拟实验环境已经成为传统的真实实验环 境下的重要的补充,浏览器服务器模式的仿真实验系统也就应运而生了。网络 计算模式的发展经历了终端主机模式,客户机服务器模式,浏览器服务器模式 三个主要阶段。浏览器服务器模式的优点在于浏览器端的软件规范统一成一个 浏览器,而无须安装另外的客户端软件,减少了客户端的软件负载,提高了客户 端的可靠性和安全性。同时,服务器端的开发配置也规范化了,它和客户端的软 件不再具有紧密的耦合,有利于独立的开发和发布。 北京邮电大学 目前浏览器服务器的软件很多,但主要基于u n 和m i c r o s o f t w i n d o w s 两个平台。u n i x 主机一向以稳健著称,业界所有的大型关键型事务 主机几乎无一例外的是u n i x 主机,而m i c r o s o f tw i n d o w s 的友好的图形 界面也几乎成了客户端软件的不二选择。 从市场角度看,由于l i n u x 系统在国内的迅猛发展,使得l i n u x 培训变得迫 切了。l i n u x 操作系统是一种可以运行在p c 机上的免费的u n i x 操作系统。它 是由芬兰赫尔辛基大学的学生l i n u st o r v a l d s 在1 9 9 1 年开发出来的。l i n u s t o r v a l d s 把l i n u x 的源程序在i n t e r n e t 上公开,世界各地的编程爱好者自发组 织起来对l i n u x 进行改进和编写各种应用程序,今天l i n u x 已发展成一个功能 强大的操作系统,成为操作系统领域最耀眼的明星。 l i n u x 的开发以及它的源代码是在g n u ( g e n e r a lp u b l i cl i c e n s e 一般公共许可) 的保护下的。它们对每个人都是完全免费的。但是这并不意味着l i n u x 和它的一 些周边软件发行版本也是免费的。l i n u x 有着广泛的用途,包括网络,软件开发。 用户平台等等,l i n u x 被认为是一种高性能,低开支的可以替换其他昂贵操作系统 的系统r e d h a t5 o ( l i n u x 的一个发行包) 更被评为1 9 9 7 最佳操作系统。 因此,本文将介绍一种在l i n u x 虚拟实验系统中的基于a p p l e t 方式的s s h 仿真终端的研究和设计。当前,主流的操作系统除了m i c r o s o f tw i n d o w s 外,l i n u x 操作系统也方兴未艾,网络环境各式各样。因此,开发虚拟实验系统 一定要有跨多种平台的特性,a p p l e t 方式是j a v a 的嵌入在网页中的应用程序, 具有跨平台性,所以虚拟实验系统以它为手段向远程用户提供教育服务。另外, 远程教育使用长距离的通信线路,使其信息的安全性凸现了出来,而采用s s h 安全协议则保证了远程通信过程中的数据的安全性。这个仿真终端同时也适应了 虚拟实验系统中真实环境和虚拟环境并存的情况,分别处理两种情况,对用户则 是透明的。在虚拟实验系统中,有单机的真实环境,也有用单个服务器来模拟多 机网络环境的虚拟环境。所以仿真终端终端必须能够分辨并处理这两种不同环境 下的实验操作。 9 北京邮电大学 2 1 需求分析 第二章需求分析与理论基础 仿真终端做为l i n u x 虚拟实验系统的一个子系统,其功能需求以虚拟实验系 统为基础。仿真终端是虚拟实验系统进行实验操作的底层支持,所以,要对仿真 终端做需求分析,首先要对虚拟实验系统要做的实验操作做全面的分析。 2 1 i l i n u x 虚拟实验系统的需求分析 首先,对有关l i n u x 的教育软件的功能做分类介绍。目前,有关l i n u x 教育 软件的类型主要有以下几种: 1 电子图书:图书的电子化,教育方式简单,呆板; 2 单机软件:用多媒体工具模仿教育环境,缺乏真实性,支持用户数少, 不便于管理多个培训对象; 3 网络的教育软件:多数使用b s 架构,有强大的开发工具支持,系统的容 量大,功能强,升级方便,实验虚拟效果好。 本文要论述的l i n u x 虚拟实验系统以在l i n u x 环境下用户常用操作为蓝本, 设计了一些典型的实验方案,供用户使用。典型实验方案主要涉及到l i n u x 的单 机操作和网络环境配置。主要典型实验方案如下: 1 l i n u x 系统安装:这个实验是起点,要求用户掌握l i n u x 系统的安装方法; 2 l i n u x 文件管理:使用户熟悉和理解文件系统的概念和文件系统的类型, 掌握l i n u x 系统中文件的管理命令,掌握文件系统的装载方法,其中包括熟悉以 下文件操作命令的功能及语法:c a ,m k d i r ,r m d i r ,l s ,c h m o d ,p w d ,c p ,r l t l ,m v , c a t ,f i n d ,f i l e ,m o u n t ,u m o n u t , i n ,同时要求构建目录树; 3 l i n u x 常用命令:使用户掌握l i n u x 如下常用命令: m o r e ,l e s s ,g z i p ,u n z i p ,d r , d u ,m a n ,h e l p , ,t a r ; 4 ) l i n u x 进程管理:使用户熟悉和理解进程的基本概念和主要的日常操作; 1 0 北京邮电大学 5 ) l i n u x 用户管理:使用户掌握l i n u x 中用户及用户组的管理方法 6 ) v i 文本编辑器的使用:使用户掌握l i n u x 中文本编辑器“的使用方法, 分清v i 的三种工作模式; 7 ) l i n u x 的网卡配置:使用户掌握网卡参数的设置; 2 1 2 仿真终端的需求分析 仿真终端的作用是使用户能远程登陆到l i n u x 虚拟实验主服务器上,完成各 类虚拟实验。目前远程用户遍布全国各地,他们的上网环境各有不同,包括上网 速度,客户端机器配置,网络安全状况都有差别,这就要求仿真终端适用性和安 全性方面满足普遍用户的需求。另外,仿真终端所承担的l i n u x 虚拟实验兼有虚 拟与真实的两种环境,虚拟的环境是用一台服务器通过计算机软件来仿真出的网 络多机环境,真实的环境就是服务器的实际环境。我们通过虚拟的环境来完成网 络类的各项实验,而通过真实的环境完成单机各项实验。两种环境通过一个仿真 终端窗口接受用户的操作指令,返回实验现象,这就需要仿真终端不再只是机械 地起终端的作用,而且要能够根据用户的操作分辨出哪些需要返回真实的服务器 信息,哪些需要返回虚拟的网络实验现象。 第一,从适用性来分析,包括两个方面,其一是仿真终端的客户端网页组件 嵌入方式必须满足多种系统平台的要求,其二是客户端与服务器端的通信协议必 须能够适应各种主要网络环境。 首先,从系统架构上说,虚拟实验系统采用的是浏览器服务器模式,所以, 仿真终端必须以网页组件形式嵌入到客户端的浏览器中。事实上,浏览器作为一 种在网络结构中的客户端软件,采用h i t p 协议与服务器交互信息,它是独立于 操作系统平台的。然而,由于商业或者其他原因,市场上的几个主流浏览器并不 是完全独立于操作系统平台的。其中,主要的差异就在于其网页组件可能依赖不 同的操作系统。 网页组件,或者说 w e bo b j e c t 是对早期c g i ( c o m m o ng a t e w a yi n t e r f a c e 通用网关接口) 机制的革命。典型的早期c g i 操作方式非常繁琐、低效,而且, c g i 机制本身有很大的缺陷,它对每个t c p i p 的请求,都生成一个c g i 进程进 行处理,随着同时的t c p i p 连接数目的增加,w e b 服务器会过载。更糟得是, 生成的许多c g l 脚本是解释性的s h e l l 脚本,它比编译后的代码的运行速度要慢 得多。为此,1 9 9 6 年,m i c r o s o f t 公司在o l e 2 0 的基础上提出了一个解决方案 - - d c o m a c t i v e x 技术。d c o m a c t i v e x 规范使得客户机对象和服务器对象之间 能够直接对话,不再受c g i h t t p 瓶颈的约束。具体实现方式是: 北京邮电大学 1 以v i s u a lc + + 或v i s u a lb a s i c 等工具实现对象; 2 在服务器上注册对象; 3 利用v b s e r i p t 脚本或其他工具把对象以a e t i v e x 控件的形式嵌入w e b 网 页; 4 指定a c t i v e x 控件的运行方式一客户端运行服务器运行,合理分配系统 负荷; 事实上,d c o m a e t i v e x 技术只是针对c g i h t t p 瓶颈问题而提出的解决方 案“o b j e c tw e b ”技术的一个具体实现。a e t i v e x 技术允许不同软件开发的组件 在网络上互相操作。它使用了微软的组件对象技术使得本地的组件可以和网络上 的组件进行通信,使用a e t i v e x 进行开发的另一个好处在于它的代码复用性,也 就是说在虚拟实验室的开发过程中,一个实验仪器可以在多个实验环境中重复使 用,这一点对于持续开发过程尤为重要。这种技术使得一个大的项目可以划分为 小块的组件,也就相当于把复杂工程简化成为一个个组成部分,完成了每个组成 部分之后集成起来就可以得到最终的项目。 另外还有一个解决方案是s u n 公司提出的j a v a a p p l e t 技术。j a v a 语言是最重 要的一种网上通用语言,使用它开发的程序具有两种层次上的可移植性:源代码 可移植性和二进制可移植性。j v m ( j a v a 虚拟机) 的存在使得这种可移植性成为 了可能。j a v a 是一种半编译半解释的语言,j a v a 程序编译后将成为一种与平台无 关的中间代码,运行时该代码通过相应的操作系统中的j a v a 虚拟机翻译成相应 的机器码执行。另外,j a v a 语言的下标检查机制和自动内存管理机制也为其增加 了较强的稳定性和安全性,这一点对于构建网上虚拟试验系统来说也是非常关键 的。目前利用这种技术开发出来的系统有:普度大学的交互式硬件实验系统,北 京大学的3 w n v 乙b 系统等。 j a v a a p p l e t 区别于d c o m a c t i v e x 技术的一个明显特点是它从j a v a 继承来 的跨平台特性,跨平台的代价是速度的相对减慢。目前这两种方案都在争取成为 “o b j e c tw e b 技术的标准。 因此,考虑到a c t i v e x 和j a v a a p p l e t 这两种网页组件的优点和缺点。我们采 用了j a v aa p p l e t 方式来实现仿真终端,这主要是基于跨多种操作系统平台的考 虑。因为,我们知道,目前市场上,毫无疑问m i c r o s o f tw i n d o w s 是个人 计算机用户的最主要操作系统,但是,基于l i n u x 的个人计算机方兴未艾,而 a v t i v c e x 方式在l i n u x 平台上是不能使用的。同时,我们也从开发环境的角度进 行了分析,j a v a 在l i n u x 平台先的开发环境相对规范统一,也促使我们最后采用 j a v a a p p t e t 方式。 其次,从通信协议来说,可以采用t e l n e t , s s h 等协议,这也是因为网络环境 北京邮电大学 复杂多样,通信协议要屏蔽它们的差异性。 从安全性来分析,主要是考虑网络安全问题。它要解决的问题是如何对网络 上的各种非法行为进行主动防御和有效控制,主要包括系统安全和固有安全两个 方面。系统安全的主要威胁来自于黑客攻击,计算机病毒攻击和拒绝服务攻击等; 固有安全的威胁主要指协议本身的缺陷和隐患。具体的表现形式有: 1 身份窃取或假冒:在通信时非法截取或假冒用户身份,以占用用户资源; 2 非授权访问:对网络设备或信息资源进行非正常使用或越权使用等; 3 数据窃取:非法截取通信网络中的重要信息; 4 破坏数据完整性:使用非法手段删除,修改或重发信息,干扰正常使用; 5 拒绝服务:使通信被中止或实时操作被延迟,一般是攻击服务器: 6 否认:参与活动后予以否认; 7 数据流分析:分析通信线路中的信息流向,流量和流速等,获得有用信 息; 8 干扰系统正常运行:改变系统的正常运行方法,减慢系统响应时间等; 9 病毒与恶意攻击:通过网络传播病毒或恶意j a v a , a c t i v e x 等。 当前在设计网络安全系统时主要采用加密,认证,数字签名,网络防病毒, 防火墙,v p n ,扫描与评估,入侵检测和响应以及实时安全监控等技术。其中, 密码学时网络信息安全的核心,它一编写或读取密码报文为研究领域,是认证, 完整性,机密性机制的基础。现代密码学的加密技术一般分为三类,即对称加密, 公钥加密和单向散列函数。 s s h 协议是一种安全协议。它允许用户通过i n t e m e t 登陆到另一台计算机。 s s h 加密口令及数据,一旦登陆成功,它就可以在不安全的网络上透明地提供强 认证和安全通信。其优点包括易于使用,安全性和灵活性高等。 s s h 协议主要提供以下几种安全服务。 安全远程登陆:用户可以用s s h 完成t e l n e t ,r l o g i n 能够完成的任何事情。 用s s h 代替t e l n e t 进行远程登陆时,如果仍然采用口令认证防水的话,除了连 接的端口被改为2 2 之外几乎没有什么不同。且由于在提交口令之前s s h 客户端 已经和服务器建立了加密连接,所以口令以密文的方式在网络上传递,登陆后所 有的通信数据都受到加密保护。 t c p 端1 3 转发:t c p i p 端口转发可以说是s s h 协议最强大的功能之一,利 用它可以让已有的网络应用迅速提高安全性。端口转发仅仅将用户对各种网络应 用的请求传递给指定的服务器,并将服务器的回应原原本本地传回用户,如此往 复直到一次会话的结束。只是中问穿过了一次端口转发系统,选择这种绕道的目 的时获得转发系统提供的增值服务。对于s s h 来说,就是各种安全服务功能。 北京邮电大学 安全远程执行命令:使用s s h 协议,同样可以调用s h e l l 程序,由于建立s s h 连接之后所有的数据都经过加密,在远程执行命令时,具有极高的安全性。 最后来分析仿真终端对虚拟和真实两种环境的功能需求。l i n u x 培训是使客 户熟悉l i n u x 的常用命令,使客户通过与系统交互,了解命令使用的方法,命令 正确执行后的结果以及错误输出等。但是,如果用真实的系统直接与客户交互, 则不利于掌握客户的学习情况,而且对系统的安全性也存在隐患。 所以,l i n u x 培训虚拟实验系统采用的是:在客户和真实系统间加入一个仿 真终端的方式来工作。通过仿真终端接管客户和真实系统间的交互信息,来实现 对客户学习情况的管理和系统安全性的保障。终端与l i n u x 服务器问通常采用标 准的通信协议来交互信息。 2 2 仿真终端与s s h 2 2 1 终端与仿真终端 网络是伴随着主机( h o s t ) 和终端( t e r m i n a l ) 这两个概念的出现而产生的。当时 的主机通常指大型机或功能较强的小型机,而终端则是指一种计算机外部设备, 现在的终端概念已定位到一种由c r t 显示器、控制器及键盘合为一体的设备, 它与我们平常指的微型计算机的根本区别是没有自己的中央处理单元( c p 们,当 然也没有自己的内存,其主要功能是将键盘输入的请求数据发往主机( 或打印机) 并将主机运算的结果显示出来。而随着互联网的发展,目前对于“终端”一词又引 入了新的含义。对互联网而言,终端泛指一切可以接入网络的计算设备,如个人 电脑、网络电视、可上网手机、p d a 等。 t e l n e t 是t c p i pt e r m i n a le m u l a t i o np r o t o c o l 。t e l n e t 是t c p i p 环境下的终 端仿真协议,通过t c p 建立服务器与客户机之间的连接。连接之后,t e l n e t 服 务器与客户机进入协商阶段( 决定可选项) ,选定双方都支持连接操作,每个连 接系统可以协商新可选项或重协商旧可选项( 在任何时候) 。 通常t e l n e t 任一端尽量执行所有可选项以实现系统最大化性能。一旦建立 t e l n e t 连接,连接两端在网络虚拟终端( n v t ) 中可以发起或中断。n v t 是一 种假定设备,它是对规范终端的标准的、泛网络的、中间的表示,从而避免了“服 务器”与“用户”需要维护终端和终端处理范例等信息的需要。 协商可选项原则基于这个事实:任何主机都希望在n v t 上提供其它可用的 服务,以及任何用户都有精良的终端设备和需要优质的服务。一旦t e l n e t 连接 1 4 北京邮电大学 建立,由于每一方都希望从另一方获得尽可能多的服务,连接双方间的可选请求 会不断来回传送。除此之外,这些可选请求还可用于动态修改连接特性以适应不 断改变的本地环境。 经过过去2 0 年左右的发展,当前的t e l n e t 已经是一种多功能仿真器。选 项使t e l n e t 能传输二进制数据、支持b y t em a c r o s 、仿真图形终端,以及传送 信息以支持集中化终端管理。这种模式使得每个用户都使用一台终端去访问中央 主计算机( 主机) ,主机通过分时轮流为每个终端用户服务,在每个时刻,每个 用户都感觉自己独占主机的全部资源。主机通过这种分时操作系统来统一管理各 个资源,调度各个用户和其他设备工作,进行进程管理、存储管理、设备管理和 文件管理。在这种模式下的软件设计大多要求精心设计算法,对程序进行优化, 以提高效率,减少机时的占用。软件本身是放在主机上的,为每个用户服务。优 点是硬软件维护工作在一台主机上进行;缺点是对用户数量有限制,对系统的可 靠性要求较高,由于是集中管理,主机的任何错误都可能导致整个系统的瘫痪。 目前这种模式只在极少的场合下使用。 t e l n e t 的工作原理。t e l n e t 是远程登录程序,它由运行在用户的本地计算 机( 客户端) 上的t e l n e t 客户程序和运行在要登录的远程计算机( 服务器端) 上的t e l n e t 服务器程序所组成。客户端安装的客户程序是可发出请求的终端软 件,服务器端安装的服务器程序具有应答登录请求的功能,并且都遵循相同的网 络终端协议。使用远程登录,可以访问远地一台主机的资源,就好像您是它的一 个终端用户一样,如图2 1 所示。但是,要求必须在远端主机上有全功能的帐号 ( 用户名及口令) 。 图2 - 1 t c l n c t 仿真终端工作原理示意图 1 5 北京邮电大学 在访问t e l n e t 的服务器站点时,需要用到以下三项内容: 1 t e l n e t 客户机的地址,通常为主机地址,有时也用p 地址,表示用户已 接入i n t e m e t 网络,如果是拨号用户可自动获取动态坤地址。 2 端口号,有时用户所登录的t e l n e t 服务器要同时处理多个t e l n e t 对话, 那么,利用端口便可使用户找到相应的t e l n e t 连接。 3 t e l n e t 网点的地址,t e l n e t 是远程登录程序,它由运行在用户的本地计算 机上的t e l n e t 客户程序和运行在要登录的远程计算机上的1 h n e t 服务器程序所组 成。 t e l n e t 的作用就是让用户以模拟终端的方式,登录到i n t e r n e t 的某台主机上。 一旦连接成功,这些个人计算机就好像是远程计算机的一个终端,可以像使用自 己的计算机一样输入命令,运行远程计算机中的程序我们知道t e l n e t 服务器软件 是我们最常用的远程登录服务器软件,是一种典型的客户机服务器模型的服务, 它应用t e l n e t 协议来工作。 t e l n e t 协议是t c p i p 协议族中的一员,是i n t e m e t 远程登陆服务的标准协议。, 应用t e l n e t 协议能够把本地用户所使用的计算机变成远程主机系统的一个终端。 它提供了三种基本服务: 1 t e l n e t 定义一个网络虚拟终端为远的系统提供一个标准接口。客户机程 序不必详细了解远的系统,他们只需构造使用标准接口的程序; 2 t e l n e t 包括一个允许客户机和服务器协商选项的机制,而且它还提供一 组标准选项; 3 t e l n e t 对称处理连接的两端,即t e l n e t 不强追客户机从键盘输入,也不 强迫客户机在屏幕上显示输出。 t e l n e t 适应异构,为了使多个操作系统间的t e l n e t 交互操作成为可能,就必 须详细了解异构计算机和操作系统。比如,一些操作系统需要每行文本用a s c i i 回车控制符( c r ) 结束,另一些系统则需要使用a s c i i 换行符( l f ) ,还有一 些系统需要用两个字符的序列回车换行( c r - l f ) ;再比如,大多数操作系统为 用户提供了一个中断程序运行的快捷键,但这个快捷键在各个系统中有可能不同 ( 一些系统使用c t r l + c ,而另一些系统使用e s c a p e ) 。如果不考虑系统间的 异构性,那么在本地发出的字符或命令,传送到远地并被远地系统解释后很可能 会不准确或者出现错误。因此,t e l n e t 协议必须解决这个问题。 为了适应异构环境,t e l n e t 协议定义了数据和命令在i n t e r n e t 上的传输方式, 此定义被称作网络虚拟终端n v t ( n e tv i r t u a lt e r m i n a l ) 。它的应用过程如下:对 于发送的数据:客户机软件把来自用户终端的按键和命令序列转换为n v t 格式, 1 6 北京邮电大学 并发送到服务器,服务器软件将收到的数据和命令,从n v t 格式转换为远地系 统需要的格式;对于返回的数据:远地服务器将数据从远地机器的格式转换为 n v t 格式,而本地客户机将将接收到的n v t 格式数据再转换为本地的格式。 t e l n e t 传送远地命令的方式,我们知道绝大多数操作系统都提供各种快捷键 来实现相应的控制命令,当用户在本地终端键入这些快捷键的时候,本地系统将 执行相应的控制命令,而不把这些快捷键作为输入。那么对于t e l n e t 来说,它是 用什么来实现控制命令的远地传送呢? t e l n e t 同样使用n 来定义如何从客户机将控制功能传送到服务器。我们 知道u s a s c i i 字符集包括9 5 个可打印字符和3 3 个控制码。当用户从本地键入 普通字符时,n v t 将按照其原始含义传送;当用户键入快捷键( 组合键) 时, n 将把它转化为特殊的a s c i i 字符在网络上传送,并在其到达远地机器后转 化为相应的控制命令。将正常a s c i i 字符集与控制命令区分主要有两个原因: 1 区分意味着t e l n e t 具有更大的灵活性:它可在客户机与服务器间传送所 有可能的a s c i i 字符以及所有控制功能; 2 这种区分使得客户机可以无二义性的指定信令,而不会产生控制功能与 普通字符的混乱。 t e l n e t 数据流向,我们提到过将t e l n e t 设计为应用级软件有一个缺点,那就 是:效率不高。这是为什么呢? 下面给出t e l n e t 中的数据流向:数据信息被用户 从本地键盘键入并通过操作系统传到客户机程序,客户机程序将其处理后返回操 作系统,并由操作系统经过网络传送到远地机器,远地操作系统将所接收数据传 给服务器程序,并经服务器程序再次处理后返回到操作系统上的伪终端入口点, 最后,远地操作系统将数据传送到用户正在运行的应用程序,这便是一次完整的 输入过程;输出将按照同一通路从服务器传送到客户机。因为每一次的输入和输 出,计算机将切换进程环境好几次,这个开销是很昂贵的。还好用户的键入速率 并不算高,这个缺点我们仍然能够接受。 t e l n e t 的强制命令我们应该考虑到这样一种情况:假设本地用户运行了远地 机器的一个无休止循环的错误命令或程序,且此命令或程序已经停止读取输入, 那么操作系统的缓冲区可能因此而被占满,如果这样,远地服务器也无法再将数 据写入伪终端,并且最终导致停止从t c p 连接读取数据,t c p 连接的缓冲区最 终也会被占满,从而导致阻止数据流流入此连接。如果以上事情真的发生了,那 么本地用户将失去对远地机器的控制。 为了解决此问题,t e l n e t 协议必须使用外带信令以便强制服务器读取一个控 制命令。我们知道t c p 用紧急数据机制实现外带数据信令,那么t e l n e t 只要再 附加一个被称为数据标记( d a t e m a r k ) 的保留八位组,并通过让t c p 发送已设置紧 1 7 北京邮电大学 急数据比特的报文段通知服务器便可以了,携带紧急数据的报文段将绕过流量控 制直接到达服务器。作为对紧急信令的相应,服务器将读取并抛弃所有数据,直 到找到了一个数据标记。服务器在遇到了数据标记后将返回正常的处理过程。 t e l n e t 的选项协商,由于t e l n e t 两端的机器和操作系统的异构性,使得t e l n e t 不可能也不应该严格规定每一个t e l n e t 连接的详细配置,否则将大大影响t e l n e t 的适应异构性。 因此,t e l n e t 采用选项协商机制来解决这一问题。t e l n e t 选项的范围很广: 一些选项扩充了大方向的功能,而一些选项制涉及一些微小细节。例如:有一个 选项可以控制t e l n e t 是在半双工还是全双工模式下工作( 大方向) ;还有一个选 项允许远地机器上的服务器决定用户终端类型( 小细节) 。 t e l n e t 选项的协商方式也很有意思,它对于每个选项的处理都是对称的,即 任何一端都可以发出协商申请;任何一端都可以接受或拒绝这个申请。另外,如 果一端试图协商另一端不了解的选项,接受请求的一端可简单的拒绝协商。 因此,有可能将更新,更复杂的t e l n e t 客户机服务器版本与较老的,不太复 杂的版本进行交互操作。如果客户机和服务器都理解新的选项,可能会对交互有 所改善。否则,它们将一起转到效率较低但可工作的方式下运行。所有的这些设 计,都是为了增强适应异构性,可见t e l n e t 的适应异构性对其的应用和发展是多 么重要。而t e l n e t 面临的主要安全问题是: 1 使用者认证: 2 数据传送保密: 3 防范针对t e l n e t 的攻击t e l n e t 本身没有很好的保护机制。 所以要借助其他外部的保护。t e l n e t 本身的缺陷是: 1 有口令保护; 2 远程用户的登陆传送的帐号和密码都是明文,使用普通的s n i f f e r 都可以 被截获没有强力认证过程; 3 是验证连接者的帐户和密码。没有完整性检查。传送的数据没有办法知 道是否完整的,而不是被篡改过的数据。传送的数据都没有加密。 2 2 2s s h 的应用 2 2 2 i s s h 的起源与概念 传统的网络服务程序,如f 1 甲、p o p 和t e l n e t 在传输机制和实现原理上是没 有考虑安全机制的,其本质上都是不安全的;因为它们在网络上用明文传送数据、 用户帐号和用户口令,别有用心的人通过窃听等网络攻击手段非常容易地就可以 北京邮电大学 截获这些数据、用户帐号和用户口令。而且,这些网络服务程序的简单安全验证 方式也有其弱点,那就是很容易受到”中间人”( m a n - i n - t h e - m i d d l e ) 这种攻击方 式的攻击。 所谓”中间人”的攻击方式,就是”中间人”冒充真正的服务器接收你的传给服 务器的数据,然后再冒充你把数据传给真正的服务器。服务器和你之间的数据传 送被”中间人”一转手做了手脚之后,就会出现很严重的问题。 s s h 是英文s e c u r es h e l l 的简写形式。通过使用s s h ,你可以把所有传输的 数据进行加密,这样”中间人”这种攻击方式就不可能实现了,而且也能够防止 d n s 欺骗和欺骗。使用s s h ,还有一个额外的好处就是传输的数据是经过压 缩的,所以可以加快传输的速度。s s h 有很多功能,它既可以代替t e l n e t ,又可 以为f 1 甲、p o p 、甚至为p p p 提供一个安全的”通道”,其安全框架如图2 2 。 馘h 辔渣 遁道;空鱼杂 谭j 埔j 翥l 端静 图2 - 2s s h 框架图 最初的s s h 是由芬兰的一家公司开发的。但是因为受版权和加密算法的限制, 现在很多人都转而使用o p e n s s h 。o p e n s s h 是s s h 的替代软件包,而且是免费 的,可以预计将来会有越来越多的人使用它而不是s s h 。 最后,s s h 在运行方式上也很有特色。不像其他的t c p m 应用,s s h 被设 计为工作于自己的基础之上,而不是利用包装( w r a p p e r s ) 或通过i n t e r a c t 守护 进程i n e t d 。但是许多人想通过t c p 包装来运行s s h 守护进程。虽然你可以通过 t c p d ( 从i n e t d 上运行启动) 来运行s s h 进程,但这完全没有必要。 1 9 北京邮电大学 2 2 2 2 s s h 协议的基本框架 1 基本框架 s s h 协议框架中最主要的部分是三个协议:传输层协议、用户认证协议和连 接协议。同时s s h 协议框架中还为许多高层的网络安全应用协议提供扩展的支 持。它们之间的层次关系可以用如下图2 3 来表示: 图2 - 3s s h 协议框架图 s s h 协议是建立在应用层和传输层基础上的安全协议,它主要由以下三部分 组成,共同实现s s h 的安全保密机制。 1 ) 传输层协议,它提供诸如认证、信任和完整性检验等安全措施,此外它 还可以任意地提供数据压缩功能。通常情况下,这些传输层协议都建立在面向连 接的t c p 数据流之上。 2 ) 用户认证协议层,用来实现服务器的跟客户端用户之间的身份认证,它 运行在传输层协议之上。 3 ) 连接协议层,分配多个加密通道至一些逻辑通道上,它运行在用户认证 层协议之上。 当安全的传输层连接建立之后,客户端将发送一个服务请求。当用户认证层 北京邮电大学 连接建立之后将发送第二个服务请求。这就允许新定义的协议可以和以前的协议 共存。连接协议提供可用作多种目的通道,为设置安全交互s h c u 会话和传输任 意的t c p i p 端口和x 1 1 连接提供标准方法。 s s h 的安全验证,从客户端来看,s s h 提供两种级别的安全验证。 第一种级别( 基于口令的安全验证) ,只要你知道自己的帐号和口令,就可 以登录到远程主机,并且所有传输的数据都会被加密。但是,这种验证方式不能 保证你正在连接的服务器就是你想连接的服务器。可能会有别的服务器在冒充真 正的服务器,也就是受到”中间人”这种攻击方式的攻击。 第二种级别( 基于密匙的安全验证) ,需要依靠密匙,也就是你必须为自己 创建一对密匙,并把公有密匙放在需要访问的服务器上。如果你要连接到s s h 服务器上,客户端软件就会向服务器发出请求,请求用你的密匙进行安全验证。 服务器收到请求之后,先在你在该服务器的用户根目录下寻找你的公有密匙,然 后把它和你发送过来的公有密匙进行比较。如果两个密匙一致,服务器就用公有 密匙加密”质询”( c h a l l e n g e ) 并把它发送给客户端软件。客户端软件收到”质询” 之后就可以用你的私人密匙解密再把它发送给服务器。 与第一种级别相比,第二种级别不需要在网络上传送用户口令。另外,第二 种级别不仅加密所有传送的数据,而”中间人”这种攻击方式也是不可能的( 因为 他没有你的私人密匙) 。但是整个登录的过程可能慢一些。 2 主机密钥机制 对于s s h 这样以提供安全通讯为目标的协议,其中必不可少的就是一套完 备的密钥机制。由于s s h 协议是面向互联网网络中主机之间的互访与信息交换, 所以主机密钥成为基本的密钥机制。也就是说,s s h 协议要求每一个使用本协议 的主机都必须至少有一个自己的主机密钥对,服务方通过对客户方主机密钥的认 证之后,才能允许其连接请求。一个主机可以使用多个密钥,针对不同的密钥算 法而拥有不同的密钥,但是至少有一种是必备的,即通过d s s 算法产生的密钥。 s s h 协议关于主机密钥认证的管理方案有两种,如下图2 _ 4 所示: 2 1 北京邮电大学 ( a ) 方寡一 方寨二 图2 4主机密钥h i - 管理方案示意图 每一个主机都必须有自己的主机密钥,密钥可以有多对,每一对主机密钥对 包括公开密钥和私有密钥。在实际应用过程中怎样使用这些密钥,并依赖它们来 实现安全特性呢? 如上图所示,s s h 协议框架中提出了两种方案。 在第一种方案中,主机将自己的公用密钥分发给相关的客户机,客户机在访 问主机时则使用该主机的公开密钥来加密数据,主机则使用自己的私有密钥来解 密数据,从而实现主机密钥认证,确定客户机的可靠身份。在图2 ( a ) 中可以 看到,用户从主机a 上发起操作,去访问,主机b 和主机c ,此时,a 成为客 户机,它必须事先配置主机b 和主机

温馨提示

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

评论

0/150

提交评论