信息安全可以通过一定的技术手段来实现。前面已经提到,应该辨证地看待信息安全问题,一是安全问题是可以克服的,二是安全方案应与需求相适应,因为安全机制的引入必然会增加投入,同时还影响系统的性能,并不是安全手段越先进越好,而是适用够用就好。所以应该根据数据的重要性、系统的敏感程度确定需要的安全强度和级别,确定相应的安全方案。
下面对安全技术和安全协议分别做简要的介绍。
一、信息安全技术
安全主要的手段包括密码技术、虚拟专用网络技术(VPN)、防火墙技术,而密码技术在其中处于核心地位。
1.密码技术
密码作为运用于军事和政治斗争的一种技术,历史悠久。过去密码的研制、生产、使用和管理都是在封闭的环境下进行的。香农(Shannon) 在1948年发表的"通信的数学理论"中阐明了如何用信息论观点来处理通信系统,在1949年又发表了"保密系统的信息理论"一文,用信息论的观点对信息保密问题作了全面的阐述,使信息论成为研究密码学和密码分析学的一个重要理论基础,宣告了科学的密码学时代的到来,创立了信息论的一个新的学科。七十年代以来,随着计算机、通信和信息技术的发展,密码领域发生了新的变化:密码应用范围日益扩大,密码研究领域不断拓宽,企业级的商业应用对密码的需求更加迫切,密码科研因此从专用机构走向社会和民间,并兴起了商用密码的研究热潮,密码技术掀开了神秘的面纱,得到了空前发展。随着信息和信息技术的发展,电子数据交换逐步成为信息交换的主要形式,密码在信息安全中的应用将会不断拓宽,信息安全对密码的依赖会越来越大。
密码算法的研究具有其自身的特殊性。算法研究涉及设计准则确定、算法实现、性能分析、抗攻击分析等,具有计算规模和空间大、设计周期长的特点,一个成熟密码算法的推出需要专业人员长期、系统、慎密的研究,并接受来自各方实际的缺陷检验和攻击分析。需要注意的是算法的安全是相对的,随技术进步和攻击手段的突破需要适时进行更新换代,不存在一劳永逸的安全算法或解决方案。
密码是按照某种算法所实现的一种变换。利用密码变换保护信息秘密是密码最原始、最基本的功能;然而,随着信息和信息技术发展起来的现代密码学,不仅用于解决信息的保密性,而且也用于解决信息的完整性、可用性、可控性和不可抵赖性。密码是保护信息安全的关键技术,各国对密码技术的发展极为重视。美国NIST(国家标准和技术局)提出了AES"高级密码标准"征集方案,并已经正式确定以Rijndael算法作为新的加密算法。欧洲委员会在其信息技术规划中提出了NESSIE工程,征集的范围比AES更广泛,涉及分组密码、同步流密码、消息认证码、非对称加密方案、非对称签名方案、单向散列函数等密码技术领域的各个方面。由此可见,密码的发展出现了标准化和本土化的趋势,各独立的政治经济实体都在试图推出自主的、安全的密码算法。
密码技术是一个内容很大的概念,应用也极其广泛。下面就其应用的几个大方面作简单的介绍。
① 加密与解密
加密和解密的一个重要原则是所有的安全只基于密钥本身的保密,而不是基于算法的保密和实现细节的保密。算法所依据的数学理论基础和密钥长度决定了加解密算法的安全强度。保密系统设计的目的在于使窃听者即使在完全准确的收到了接收信号的条件下也无法恢复出原始信息。图8-1是密码系统原理图。
图8-1 密码系统模型
图中,信源是产生信息的源。密钥源是产生密钥序列的源,密钥通常是离散的。加密变换是将明文m 在密钥控制下变换为密文c。接收者由于知道解密变换和密钥而易于从密文得到原来的明文m。分析者虽知道明文的加密体制、 密钥空间及其统计特性,但不知道截获的密文c所用的特定密钥。也即说密码的安全性完全寓于密钥中,这也是荷兰密码学家A.Kerckhoffs最早阐述的原则。
加密算法分为分组密码和流密码两大类。传统的分组加解密算法以DES为代表,能基本满足应用需要。但DES密钥不够长、存在弱密钥、迭代轮次太多等不足,在其面世二十多年后由于技术的发展,已经不能完全胜任安全性要求,将被更新的方法所取代。流密码可以看作一种特殊的分组密码,即它的分组长度为1个bit,所以要求具有长周期的伪随机加密密钥,具有加密速度快、适用于流式信息加密的特点。
非对称密码体制是又一类新的密码体制,它的特点是加密和解密的密钥不相同,因此又叫双钥体制。每个用户有一对密钥,分别称为私钥和公钥,前者严格保密,仅为拥有者所用,后者对约定的用户群公开,用一把密钥加密的密文可用相应的另一把密钥解密。非对称算法复杂,运算速度慢,但密钥管理简单,它在用户身份认证、密钥传输和管理、CA中心建设等方面有广泛的应用。
② 数字签名
在日常生活中,人们常用照片、图章(钢印)、签字等方法来识别身份,即"签名",它具有法律效力。但在计算机系统中全部信息是用二进制的0和1来表示的,为此必须寻找一种适合在计算机及其网络上使用的、能区别用户有效身份的新型签名方式,这就是"数字签名"。与传统签名方式相比,数字签名具有更高的安全性,更难伪造。例如对某一文本,用杂凑算法将其要素提取后用用户的私钥作非对称算法加密,将加密结果按某种方式附在正文后,其结果具有唯一性,可作为一种数字签名。数字签名在本质上可以表征一个人身份,这是因为利用认证中心发放的数字证书中的私钥对所要传送的报文进行加密,由于私钥为个人所有,因此可以用来确认用户的身份,从而确保信息的不可伪造性、非否认性和可仲裁性。它需满足收方能够确认发方的签名,发方不能否认他所签发的信息这样两个基本要求。
③ CA认证
由于在网络上无法看到对方的音容笑貌,因此对方身份的确认也必须由网络本身通过"数字"的方式来实现。CA认证中心是网络上的权威机构,它必须保证公正有效,其作用有点类似现实生活中的"公证处"。
为了规范网络上的身份认证,国际电信联盟ITU(International Telecommunication Union)于1988年制定了认证体系标准X.509,后成为国际标准化组织ISO(International Standards Organization)的认证标准ISO9594-8。它对认证涉及的安全级别、认证算法、密钥管理、证书发放等进行了详细安全性论证,并进行了统一的规范,任何网络CA认证中心的组织机构必须符合这一认证标准。
CA中心的任务是受理证书的申请、制作、签发、废止、认证数字证书和对数字证书进行管理,承担信息安全保密传输,。
我国目前已经建立了多个CA中心,如国家金融认证中心、国家外经贸部EDI网CA中心(国富安)、上海电子商务安全证书管理中心有限公司,中国电信湖南电子商务证书认证中心等。目前尚缺乏全国性的、统一有效的CA中心,限制了CA中心作用的发挥。
2.虚拟专用网络(VPN技术)
所谓虚拟专用网络(VPN网络)就是利用现有的不安全的公共网络环境,构建具有安全性、独占性、自成一体的虚拟网络,是对企业内部网的扩展。虚拟专用网提供数据加密、访问控制及认证服务。
虚拟专用网可以建立在协议的上层,如应用层;也可以建立在协议的底层,如网络层。虚拟专用网络的实现主要有三种协议:SOCKSv5,它可以与上层或底层的协议配合使用,灵活性好,但性能比较差;IPSec协议在互操作性方面比较好,在安全、性能等方面均表现不错,但它只支持TCP/IP协议而不支持其他的协议;PPTP协议是点对点通道协议,有很强的远程访问控制能力,适于微软公司操作系统的用户,但在安全性上缺乏对强加密和认证的支持。
具体的协议将在后面的安全协议中进行介绍。
3.防火墙
防火墙是目前经常使用的保证网络安全的一种重要手段。形象的说,防火墙就是担当了"警察"的角色,它在网络上建立一个安全控制检查点来"保护"网络的安全,一般防火墙设立检查点的位置就在部门网络和外界的接口处。防火墙的检查控制是双向的,也就是说它不但限制人们"进入"网络,同时也限制人们"走出"网络,从而有效的阻止非法用户的"入侵"或内部人员可能的"泄密"。
防火墙是一个隔离器,它可以有不同的实现方法,一般用软件实现,也可以用软硬件相结合来实现防火墙的功能。防火墙的作用主要体现在:
· 检查过滤通过控制点的信息;
· 收集记录通过控制点的有关事件;
· 屏蔽内部的网络结构,提高系统的安全性和灵活性;
我们说过,没有绝对的安全,防火墙同样也不是万能的,即使你拥有当前最先进的防火墙,你仍要注意以下一些问题:
· 防火墙不能阻止病毒对系统的危害;
· 如果系统允许拨号远程访问,那么破坏者可以绕开防火墙的安全机制;
· 技术是在不断进步的,新的未知的攻击技术对系统仍存在威胁;
· 破坏者不通过网络在线窃取信息,那么最先进的防火墙也会形同虚设;
· 负面的影响,对合法用户正常使用带来不方便,对系统的性能也有影响;
防火墙的一般工作原理
包过滤是防火墙经常采用的一种策略。大家知道每个数据包都具有包含特定信息的一组报头,包含IP源地址、IP目的地址、协议类型、源端口、目的端口等信息,防火墙就是利用报头中包含的这些信息实现安全检查和访问控制的,例如,拒绝来自某些IP地址的访问。采用包过滤不需要对客户机做特别的设置,对用户软件也无任何特殊要求,即它对用户而言是透明的。此外,包过滤技术对网络的规模没有限制,它对通过检查点的所有的包进行过滤,而检查点之内可能是一个很大的网络。包过滤技术无法对外部用户区别对待,无法实现允许这个用户进行远程登录而不允许其他用户远程登录,无法实现允许用户传输这个文件而不允许传输另一些文件,也就是说这种技术不是全允许就是全禁止。包过滤技术的局限性还表现在设置包过滤的规则很困难,不容易测试。正因为如此,目前的很多采用包过滤技术的防火墙产品在功能上也总有某些方面的局限性。
代理服务是运行在防火墙主机上的专门的应用程序,是防火墙又一经常采用的技术,它取代用户和外部网络的直接通信。可以这样来理解:对于用户,代理服务就是服务器;而对于真正的服务器,代理服务又象一般的普通用户。这样代理服务为用户提供了透明的通信连接服务,用户就象直接和外部网络在进行通信一样。代理服务非常适合做日志,它只需要记录客户机的请求和服务器的响应,而不需要对每个数据包做记录就可以实现对网络的监控。
我们知道,互联网上有多种不同的服务,如文件传输、远程登录、邮件服务等,只有代理服务提供了与此对应的功能,用户才能够使用互联网上的这些服务。互联网上提供的这些服务在不断的发展变化中,同时也有一些新的服务在继续推出,因此代理服务能提供的功能始终落后于互联网能提供的服务。代理服务需要对这么多的服务或协议分别进行设置,以确定哪些允许通过哪些禁止通过。代理服务还有这样一个缺点,某些复杂的服务不适合进行代理或者为适应代理需要对客户程序进行某些调整。此外,代理服务受代理协议本身可能缺陷的制约。
实际工作中根据业务需要,可以自己构建防火墙或选用现有的商用产品。
二、安全协议
有了前面介绍的安全技术还不够,还必须结合应用以及具体的网络协议,规定这些技术或算法的使用规范,如数据格式、信息传递的路径、有效期、权限、使用方式等等。这一系列的规定就形成了不同的安全应用标准,或者说安全协议。以下对部分常用的或者说影响比较大的安全协议作一些介绍。
1.SSL协议
SSL协议(Secure Socket Layer)是网景公司为实现网上客户机和服务器之间文件的安全传输而推出的会话层安全协议,用来保证客户端和服务器之间通信的保密性、可信性与身份认证,它提供传输双方数据加密的功能和有限的身份认证功能。SSL协议的实现和使用都比较简单,目前很多厂商均采用此协议,并在电子商务中得到广泛的应用。
SSL协议实际上是在通常的TCP/IP协议上增加了一个安全层,提供数据的加密功能以实现安全的数据传输,而在进行这样的安全传输之前,需要由高层来完成密钥的交换以及身份认证等功能,SSL协议有广泛的用户群。
2.SET协议
SET协议 ( Secure Electronic Transaction ) 是Visa、MasterCard 两大信用卡公司以及IBM等公司共同推出的"安全电子交易"协议。其初衷是将传统的信用卡交易模式移植到互联网上,同时又保证这种新的交易方式有足够的安全性,也就是说SET协议试图提供一种网络在线支付的安全手段。显然,这样的在线支付对于实现和推动真正的电子商务具有非常重要的意义。SET协议通过使用公共密钥和对称加密方式来保证通信的保密性,通过数字签名技术来确认交易各方的真实身份,通过使用HASH算法和数字签名来确定数据是否在传输过程中被篡改,从而保证数据的一致性和完整性,并实现整个交易的不可抵赖性。SET协议应用正在逐步推广。
和传统的交易方式相同,SET协议涉及的主体包括持卡者、商家和银行,他们形成一个三角关系。简单的说,SET协议就是要解决三角关系三条边的单向或双向的安全数据传输和对方身份认证等一系列安全问题。一次网上电子交易涉及的每一方关心的安全问题决定了每条边应该解决的主要安全问题:
持卡者:对帐户信息、交易信息有保密的要求;对商家有身份认证的要求;有对交易信息进行仲裁和证明的要求;
商家:对帐户信息、交易信息有完整性和有效性确认要求; 对持卡者、银行的身份认证;对交易信息的保密要求;对交易信息进行仲裁和证明的要求;
银行:对帐户信息、交易信息有完整性和有效性验证的要求;对商家有身份认证的要求;对交易信息进行仲裁和证明的要求。
3.IPSec协议
IPSec协议是一种协议套件,它定义了主机和网关所提供的各种能力。IPSec协议主要包括验证头、封装安全载荷、密钥交换、转码等内容。封装安全载荷验证头定义了格式及提供的服务、包的处理规则;密钥交换定义了在互联网上的密钥的协商机制;转码则定义对数据进行转换的规范,包括算法、密钥长度、转码程序以及算法的其他专门信息。
IPSec协议是一种包容极广、功能极强的IP安全协议,但它在定址能力上比较薄弱。