1、网络应用模式 网络应用模式的发展经过三个阶段: 第一阶段是以大型机为中心的集中式应用模式,特点是一切处理均依赖于主机,集中的数据、集中的应用软件、集中的管理。 第二阶段是以服务器为中心的计算模式,将PC机联网,使用专用服务器或高档PC充当文件服务器及打印服务器,个PC机可独立运行,在需要的时候可以从服务器共享资源。文件服务器既用作共享数据中枢,也作为共享外部设备的中枢。缺点:文件服务器模型不提供多用户要求的数据并发性;当许多工作站请求和传送很多文件时,网络很快就达到信息饱和状态并造成瓶颈。 第三阶段是客户机/服务器应用模式,基于网络的分布式应用,网络的主要作用是通信和资源共享,并且在分布式应用中用来支持应用进程的协同工作,完成共同的应用任务。 客户机/服务器应用模式:由客户机(client)、服务器(server)、中间件三部分组成。客户机的主要功能是执行用户一方的应用程序,提供GUI或OOUI,供用户与数据进行交互。服务器的功能主要是执行共享资源的管理应用程序,主要承担连接和管理功能。中间件是支持客户机/服务器进行对话、实施分布式应用的各种软件的总称。它是Client/Server实施中难度最大也是最重要的环节,其作用是透明地连接客户机和服务器。 基于Web的客户机/服务器应用模式:基本思想:把目前常驻在PC机上的许多功能转移到网上,对用户而言可减轻负担,大大降低维护和升级等方面的费用。实现:基于Web的客户机/服务器模型可提供“多层次连接”的新的应用模式,即客户机可与相互配合的多个服务器组相连以支持各种应用服务,而不必关心这些服务器的物理位置在何处。本质:可将整个全球网络提供的应用服务连接到一起,让用户所需的所有应用服务都集成在一个客户/网络环境之中。 把Internet技术运用到企业组织内部即成为Intranet,其服务对象原则上以企业内部员工为主,以联系公司内部各部门、促进公司内部沟通、提高工作效率、增加企业竞争力为目的。 客户机/服务器应用模式涉及到三项新技术:WEB信息服务、Java语言、NC(用来访问网络资源的设备)。 2、网络应用支撑环境 网络应用支撑环境立足于开放性,以支持网络分布式应用模式(客户/服务器模式,客户/网络模式)。网络应用支撑环境的结构体系从功能上可分为运行环境和开发环境。运行环境是为应用即用户提供运行的工作平台,目的是使他们易于掌握软、硬件的控制手段,有效地完成应用的运行和管理。开发环境是为应用开发和维护人员提供的工作平台,目的是支持应用软件的开发、检测、修改和扩充,并提高软件开发生产率和质量。运行环境和开发环境可分为三部分:硬件层、系统层、应用层。 3、网络安全技术 网络安全应包括两方面:一、网络用户资源的不被滥用和破坏;二、网络自身的安全和可靠性。网络安全主要解决数据保密和认证的问题。数据保密就是采取复杂多样的措施对数据加以保护,防止数据被有意或无意地泄露给无关人员。认证分为信息认证和用户认证两方面。信息认证是指信息从发送到接收整个通路中没有被第三者修改和伪造。用户认证是指用户双方都能证实对方是这次通信的合法用户。通常在一个完备的保密系统中既要求信息认证,也要求用户认证。 加密后的数据称为密文。未经加密数据称为明文。密码学的基本原则是,必须假定破译者知道通用的加密方法,也就是加密算法是公开的。而密匙是保密的。 传统加密技术:替代密码和换位密码。它们的弱点是解密密匙必须和加密密匙相同。 在替代密码中,用一组密文字母来代替一组明文字母以隐藏明文,但保持明文字母的位置不变。例如,将字母a,b,c,d,…,w,x,y,z的自然顺序保持不变,但使之与D,E,F,G,…,Z,A,B,C分别对应(即相差3个字符)。若明文为student则对应的密文为VWXGHQW(此时密钥为3)。破译的诀窍在于猜测密匙的长度。由于英文字母中各字母出现的频度早已有人进行过统计,所以根据字母频度表可以很容易对这种代替密码进行破译。 换位密码:不对明文字母进行变换,只是将明文字母的次序进行重新排列,它的密匙必须是一个不含重复字母的单词或短语。破译换位密码的第一步是判断密码类型,检查密文中常用字母的出现频率,如果符合自然语言特征,则密文是用换位密码写的。第二步是根据消息的上下文猜测密匙的长度,即列数。第三步是确定各列的顺序。 公开密钥算法:最主要的特点就是加密和解密使用不同的密钥,每个用户保存着一对密钥--公开密钥PK和秘密密钥SK,因此,这种体制又称为双钥或非对称密钥密码体制。在这种体制中,PK是公开信息,用作加密密钥,而SK需要由用户自己保密,用作解密密钥。加密算法E和解密算法D也都是公开的。虽然SK与PK是成对出现,但却不能根据PK计算出SK。公开密钥算法的特点如下:用加密密钥PK对明文X加密后,,再用解密密钥SK解密,即可恢复出明文,或写为:DSK(EPK(X))=X ,加密密钥不能用来解密,即 DPK(EPK(X))≠X在计算机上可以容易地产生成对的PK和SK。从已知的PK实际上不可能推导出SK。 在公开密钥密码体制中,最有名的一种是RSA算法。RSA算法的原理: * 用户选择2个足够大的秘密的素数 p和 q; * 计算 n = p * q 和 z = ( p - 1 ) * ( q - 1 ); * 选择一个与 z 互质的数,令其为 d; * 找到一个 e使满足 e * d = 1( mod z) ; 若将明文划分成一个个长度为P的数据块,且 0<=p<=n,用P、C分别表示明文、密文,则以下2式可用于加密和解密:加密:C=P e (mod n) 解密:P=C d (mod n) 对这种体制,只有(e,n)是出现在公开手册上的公开密匙(即PK)。(d,n)则是需要用户保密的私人密匙(即SK)。RSA算法的保密性在于对大数的因数分解很花时间。因此,当n足够大时,在目前情况下,对n进行因数分解实际上是无法实现的。 用户认证:通信双方在进行重要的数据交换前,需要验证对方的身份。同时在双方间建立一个秘密的会话密匙,该会话密匙用于对其后的会话进行加密。每次连接都使用一个新的随机选择的会话密匙。 数字签名:以往的书信或文件是根据亲笔签名或印章来证明其真实性的。但在计算机网络中传送的报文又如何盖章呢?这就是数字签名所要解决的问题。数字签名必须保证以下3点:1.接收者能够核实发送者对文件的签名;2.发送者事后不能抵赖对文件的签名;3.接收者不能伪造对文件的签名。 使用秘密密匙算法的数字签名:是通过密钥分配中心CA来管理和分配公开密钥。每个用户事先选择好一个与CA共享的秘密密钥,并保证只有用户和CA知道这个密匙,另外,CA还有一个对所有用户都保密的秘密密钥K CA 。A想向B发送一个签名的报文P时,首先,A向CA发出K A (B,R A ,t,P);CA解密后,重新组成新的密文KB(A,R A ,t,P,K CA (A,t,P);B再用密匙K B 解开密文,其中K CA (A,t,P)是B无法伪造的,即表示是由A发来的。时间戳t的作用是防止重复攻击。R A 为报文的随机编号。 使用公开密匙算法的数字签名:现在已有多种实现各种数字签名的方法,但采用公开密钥算法要比常规算法更容易实现。实现方法:发送者A用其秘密解密密钥SKA对报文X进行运算,将结果DSKA(X)传送给接收者B。B用已知的A的公开加密密钥得出EPKA(DSKA(X))=X。因为除A外没有别人能具有A的解密密钥SKA,所以除A外没有别人能产生密文DSKA(X)。这样,报文X就被签名了。假若A要抵赖曾发送报文给B。B可将X及DSKA(X)出示给第三者。第三者很容易用PKA去证实A确实发送消息X给B。反之,如果是B将X伪造成X',则B不能在第三者面前出示DSKA(X')。这样就证明B伪造了报文。可以看出,实现数字签名也同时实现了对报文来源的鉴别。 (责任编辑:laiquliu) |