基于数据加密RC4算法的安全分析论文.doc_第1页
基于数据加密RC4算法的安全分析论文.doc_第2页
基于数据加密RC4算法的安全分析论文.doc_第3页
基于数据加密RC4算法的安全分析论文.doc_第4页
基于数据加密RC4算法的安全分析论文.doc_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

廊坊师范学院本科毕业论文1.绪 论1.1研究背景随着网络技术的不断发展,全球信息化水平的不断提高,网络信息与人们的工作和生活的联系也越来越密切,社会发展走向了信息时代的顶峰。当前的网络信息产业可以影响个人的学习、工作、娱乐、生活,甚至可以影响国家的经济发展、社会稳定、国防安全等等。越来越多的网络论坛、网上银行、网络交易、网上报名系统等等使得网络信息早已和我们的生活密不可分。正是由于社会对网络信息日趋增长的依赖性,使得网络信息安全的研究显得非常重要。如果网络信息无法保证安全性,那么我们用于决策的很多依据就没有了说服力,我们对网络、对得到的信息也就无从信赖。高考报名系统的一次网络瘫痪可能会引起全国考生的报名资料丢失;网上银行资料的一次泄露可能会导致一个企业的资金全部流失;国家有关部门的一次决策的提前披露或许会引起股市的整个瘫痪;国家保密资料的一次泄露可能就会危及国家的安全等等。诸多实践表明:网络信息安全产业在整个产业布局乃至国家战略格局中具有举足轻重的地位和作用。尽管如此,当前的网络信息安全现状并不是很乐观。一方面,诸多研究者为了确保网络信息的安全在不断的研究各种安全技术;另一方面,也有不少的研究者为了个人目的在不断地研究如何攻击网络、窃取数据、篡改资料等等。随着网络信息技术的不断发展,网络信息安全事件也越来越多。以网络攻击为例:据调查,2004年专门针对美国政府网站的非法入侵事件发生了5.4万件,2005年升至7.9万件,被入侵的政府网站包括国防部、国务院、能源部、国土安全部等重要政府部分。中国公安部自2001年开始每年都对全国网络信息安全状况进行调查统计。调查报告显示,截止2007年6月,我国互联网用户已经从2001年的2650万增长到目前的1.62亿。而我国计算机病毒感染率则在连续两年呈下降趋势后,于2007年又出现了较大反弹达91.47%。同时,近四年的数据显示,被调查单位的网络信息安全事件概率2004年为58%,2005年稍有下降为49%,2006年又反弹至54%,2007年上升至65.7%。诸多数据表明,网络信息安全事件越来越多,被感染的计算机数量不断增长,涉及的范围也越来越广,带来的后果也越来越严重。如图1-1所示:图1-1 被感染计算机数量趋势图因此,网络信息安全方面的研究日益成为当前网络信息行业的研究重点。网络信息安全涉及到网络的方方面面,是一个系统的知识体系。口令认证、安全审计、防火墙、加密技术等传统技术作为保护信息安全的第一道防线就显得非常重要。1.2网络信息安全网络信息安全是一个关系国家安全和主权、社会稳定、民族文化继承和发扬的重要问题。其重要性,正随着全球信息化步伐的加快越来越重要。信息网络涉及到国家的政府、军事、文教等诸多领域,存储、传输和处理的许多信息是政府宏观调控决策,商业经济信息、银行资金转账、股票证券、能源资源数据、科研数据等重要的信息。网络信息安全指为了防止网络信息被非授权地访问、使用、泄露、分解、修改和毁坏,以求保证信息的保密性、完整性、可用性和可追责性,并使信息保障能正确实施、信息系统能如意运行、信息服务能满足要求的一切措施。1.2.1 网络信息安全的特征从广义上讲,网络信息安全包括网络硬件资源和信息资源的安全性。硬件资源包括通信线路、通信设备(交换机、路由器等)、主机等。要实现信息快速安全地交换,一个可靠的物理网络是必不可少的。信息资源包括维持网络服务运行的系统软件和应用软件,以及在网络中存储和传输的用户信息数据等。网络信息安全的特征:(1)完整性(Integrity)完整性指信息在传输、交换、存储和处理过程保持非修改、非破坏和非丢失的特性,即保持信息原样性,使信息能正确生成、存储、传输,这是最基本的安全特征。(2)保密性(Confidentiality)保密性指信息按给定要求不泄露给非授权的个人、实体或过程,或提供其利用的特性,即杜绝有用信息泄露给非授权个人或实体,强调有用信息只被授权对象使用的特征。(3)可用性(Availability)可用性指网络信息可被授权实体正确访问,并按要求能正常使用或在非正常情况下能恢复使用的特征,即在系统运行时能正确存取所需信息,当系统遭受攻击或破坏时,能迅速恢复并能投入使用。可用性是衡量网络信息系统面向用户的一种安全性能。(4)不可否认性(Non-repudiation)不可否认性指通信双方在信息交互过程中,确信参与者本身,以及参与者所提供的信息的真实统一性,即所有参与者都不可能否认或抵赖本人的真实身份,以及提供信息的原样性和完成的操作与承诺。(5)可控性(Controllability)可控性指对流通在网络系统中的信息传播及具体内容能够实现有效控制的特性,即网络系统中的任何信息要在一定传输范围和存放空间内可控。除了采用常规的传播站点和传播内容监控这种形式外,最典型的如密码的托管政策,当加密算法交由第三方管理时,必须严格按规定可控执行。1.2.2 信息安全中攻击的基本类别在网络环境下,按攻击者对信息所采用的攻击手段,攻击主要可分为非授权访问、假冒和拒绝服务3种。从攻击是否对数据的正常使用产生影响来看,可把攻击分为主动攻击(active attacks)和被动攻击(passive attacks)两种。(1)非授权访问非授权访问是指未经授权的主体获得了访问网络资源的机会,并有可能篡改信息资源。这种访问通常是通过在不安全信道上截取正在传输的信息或者利用技术及产品中固有的弱点来实现的。防止非授权访问的最佳方法是采用加密和识别技术对信息进行加密和鉴别编码,使攻击者无法窃听和篡改在不安全信道上传输的信息。(2)假冒假冒是指通过出示伪造的凭证来冒充别的主体的能力。利用加密、数字签名技术,可以在一定程度上阻止假冒攻击的发生。(3)拒绝服务拒绝服务(denial of service,DoS)是指通过对网络或服务基础设施的摧毁、非法占用等手段,使系统永久或暂时不可用。例如摧毁计算机硬盘、切断物理连接和耗尽所有可用内存。DoS攻击经常是由于网络协议本身存在的安全漏洞和软件实现中考虑不周共同引起的。为软件安装补丁可以避免某些DoS攻击。(4)主动攻击与被动攻击主动攻击是指篡改信息的攻击,可危害到信息的完整性和可用性,以各种方式造成信息破坏。主动攻击容易被发现。被动攻击是指对信息的保密性进行攻击,一般是通过隐蔽的措施窃取机密数据而不对其进行修改。被动攻击具有潜在的危害性,难以觉察。1.2.3 网络信息安全传输常用技术网络信息安全传输技术主要是为了保证传输信息的安全性。主要包括密码技术、身份认证技术、数字签名技术、访问控制、密钥管理等技术。这些技术共同来保证数据的保密性、完整性、信源身份有效性,对发送方进行资格认证,并防止计算机信息泄露。(1)密码技术密码技术是网络信息安全的第一道防线,主要是对信息数据进行加密处理,使得网络中传输的不是原本的数据明文,而是处理后的密文数据。这种技术主要是为了保证网络数据的机密性。在网络中一般的数据加密可以在通信的三个层次来实现:链路加密、节点加密、端到端加密。(2)身份认证技术身份认证技术主要是用于识别通信节点的合法性,从而阻止非法用户访问系统,这对于确保系统和数据的安全保密是极其重要的。身份认证技术从认证方式上可分为单因素认证方式和双因素认证方式,从认证角度讲有单向认证和双向认证。(3)数字签名技术数字签字技术是确认消息的一种手段,主要保证两点:一是信息是由签名者发送的;二是信息自签名后到收到为止未曾作过任何修改。通过数字签名技术能够实现对原始信息的鉴别和不可抵赖性。(4)访问控制技术访问控制是网络安全防范和保护的主要策略,它的主要任务是保证网络资源不被非法使用和访问。它是保证网络安全最重要的核心策略之一。访问控制技术主要有两种:一种是自主访问控制(Discretionary Access Control,DAC)和强制访问控制(Mandatory Access Control,MAC)。(5)密钥管理技术密码技术需要有很强的保密强度,且能经受住时间的检验和攻击,但其密钥必须通过安全的途径传送。因此,密钥管理成为系统安全的重要因素。密钥管理技术可分为对称密钥管理和公开密钥管理。公开密钥基础设施(Public Key Infrastructure,PKI)是一种网络基础设施,其目标是向网络用户和应用程序提供公开密钥的管理服务。1.3论文的研究内容目前,无线局网安全性问题日益严重。在无线局域网中,为了提供相当于有线局域网的数据安全,IEEE802.11定义了有线等价保密协议(WEP)。在有线等价保密协议中,采用RC4密码技术进行数据处理。之后,不少的研究发现WEP协议存在严重的缺陷,可导致信息被破译和修改,这就导致了严重的网络信息安全问题,严重影响了无线局域网的安全性。本文基于RC4算法的原理对WEP协议现有的安全问题进行了分析,主要是分析了有线等价保密协议中RC4的安全性,并对其进行修改,对目前最为有效的分析方法进行了研究和总结,利用现有的理论成果,提出了针对RC4算法的新型分析模型,并对修改后的RC4密码技术进行分析,提高算法的安全性能。2. 数据加密安全立法对保护网络系统安全有不可替代的重要作用,但依靠法律也阻止不了攻击者对网络数据的各种威胁。加强行政、人事管理,采取物理保护措施等都是保护系统安全不可缺少的有效措施,但有时这些措施也会受到各种环境、费用、技术以及系统工作人员素质等条件的限制。采用访问控制、系统软硬件保护等方法保护网络系统资源,简单易行,但也存在诸如系统内部某些职员可以轻松越过这些障碍而进行计算机犯罪等不易解决的问题。采用密码技术保护网络中存储和传输的数据,是一种非常实用、经济、有效的方法。对信息进行加密保护可以防止攻击者窃取网络机密信息,可以使系统信息不被无关者识别,也可以检测出非法用户对数据的插入、删除、修改及滥用有效数据的各种行为。2.1密码学的基本概念在密码学中,通过使用某种算法并使用一种专门信息密钥,将信息从一个可理解的明码形式变换成一个错乱的不可理解的密码形式,只有再使用密钥和相应的算法才能把密钥还原成明码。明文(PlainText)也叫明码,是信息的原文,通常指待发的电文、编写的专用软件、源程序等,可用P或M表示。密文(CipherText)又叫密码,是明文经过变换后的信息,一般是难以识别的,可用C表示。把明文变换成密文的过程就是加密(Encryption),其反过程(把密文还原为明文)就是解密(Decryption)。一般的密码系统的模型如图2-1: 图2-1 一般的密码系统模型密钥(Key)是进行数据加密或解密时所使用的一种专门信息,可看成是密码中的参数,用K表示。加密时使用的密钥叫加密密钥,解密时使用的密钥叫解密密钥。密码系统是由算法、明文、密文和密钥组成的可进行加密和解密信息的系统。数据加密过程就是利用加密密钥,对明文按照加密算法的规则进行变换,得到密文的过程。解密过程就是利用解密密钥,对密文按照解密算法的规则进行变换,得到明文的过程。2.2密码学的发展密码学的发展可分为两个主要阶段。第一个阶段是传统密码学阶段,即古代密码学阶段,该阶段基本上依靠人工和机械对信息进行加密、传输和破译;第二个阶段是计算机密码学阶段,该阶段又可细分为两个阶段,即使用传统方法的计算机密码学阶段和使用现代方法的计算机密码学阶段。前者是指计算机密码工作者沿用传统密码学的基本观念进行信息的保密;而后者是指使用现代思想进行信息的保密,它包括对称密钥密码体制和非对称密钥密码体制两个方向。在20世纪70年代,密码学的研究出现了两大成果,一个是1977年美国国家标准局(NBS)颁布的联邦数据加密标准(DES),另一个是1976年由Diffie和Hellman提出的公钥密码体制的新概念。DES将传统的密码学发展到了一个新的高度,公钥密码体制的提出被公认为是实现现代密码学的基石。这两大成果已成为近代密码学发展史上两个重要的里程碑。随着计算机网络不断渗透到国民经济各个领域,密码学的应用也随之扩大。数字签名、身份鉴别等都是由密码学派生出来的新的技术和应用。2.2.1 对称密钥密码体制对称密钥密码体制也叫传统密钥密码体制,其基本思想就是“加密密钥和解密密钥相同或相近”,由其中一个可推导出另一个。使用时两个密钥均需保密,因此该体制也叫单密钥密码体制。对称密码算法主要分为分组算法和序列算法。对称密码算法相对于非对称密码算法而言,算法简单,运行占用资源少,不像非对称算法那样的是基于数学模型如大整数分解和离散对数等,需要密钥较长,运行时间长,占用资源多等。因此比较适合数据量大的消息数据的传输处理。对称密码主要包括分组密码和序列密码。分组密码的设计与分析是两个既相互对立又相互依存的研究方向,正是由于这种对立促进了分组密码的飞速发展。早期的研究基本上是围绕DES进行。DES自公布后得到许多组织、部门的使用,各国的密码学工作者也对它进行了深入分析。它是迄今为止使用最广泛和最成功的分组密码。DES的设计非常巧妙,其结构和部件仍在被后人效仿。数据加密标准(DES)是由IBM公司研制的,并经长时间论证和筛选后,于1977年由美国国家标准局颁布的一种加密算法。DES主要用于民用敏感信息的加密,1981年被国际标准化组织接受作为国际标准。DES主要采用替换和移位的方法加密。它用56位(bit)密钥对64位二进制数据块进行加密,每次加密可对64位的输入数据进行16轮编码,经一系列替换和移位后,输入的64位原始数据就转换成了完全不同的64位输出数据。DES算法仅使用最大为64位的标准算术和逻辑运算,运算速度快,密钥产生容易,适合于在大多数计算机上用软件方法实现,同时也适合于在专用芯片上实现。序列密码又称流密码,早期著名的一次一密是序列密码的思想来源。其核心是通过固定算法将一串短的密钥序列扩展为长周期的密钥流序列,且密钥流序列在计算能力内应与随机序列不可区分。序列密码主要用于政府、军方等国家要害部门。尽管用于这些部门的理论和技术都是保密的,但由于一些数学工具(比如代数、数论、概率等)可用于研究序列密码,其理论和技术相对而言比较成熟。从八十年代中期到九十年代初,序列密码的研究非常热,在序列密码的设计与生成以及分析方面出现了一大批有价值的成果,我国学者在这方面也做了非常优秀的工作。虽然,近年来序列密码不是一个研究热点,但有很多有价值的公开问题需要进一步解决,比如自同步流密码的研究,有记忆前馈网络密码系统的研究,混沌序列密码和新研究方法的探索等。另外,虽然没有制定序列密码标准,但在一些系统中广泛使用了序列密码比如RC4,用于存储加密。2.2.2 公开密钥密码体制公开密钥密码体制的产生有两个方面的原因:一是由于对称密钥密码体制的密钥分配问题;另一个是由于对数字签名的需求。与对称密钥加密方法不同,公开密钥密码系统采用两个不同的密钥来对信息加密和解密。加密密钥与解密密钥不同,由其中一个不容易得到另一个。通常,在这种密码系统中,加密密钥是公开的,解密密钥是保密的,加密和解密算法都是公开的。每个用户有一个对外公开的加密密钥Ke(称为公钥)和对外保密的解密密钥Kd(称为私钥)。因此这种密码体制又叫非对称密码体制、公开密钥密码体制。自公钥加密体制问世以来,学者们提出了许多种公钥加密方法,如RSA、椭圆曲线加密算法(ECC)和数字签名算法(DSA)。目前,最著名、应用最广泛的公开密钥密码算法是RSA,它是由美国MIT的3位科学家Rivest、Shamir和Adleman于1976年提出,故名RSA,并在1978年正式发表。RSA系统是公钥系统的最具有典型意义的方法,大多数使用公钥密码进行加密和数字签名的产品和标准是用的都是RSA算法。该算法所根据的原理是数论知识:寻求两个大素数比较简单,而将它们的乘积分解则极其困难。RSA算法具有密钥管理简单(网上每个用户仅保密一个密钥,且不许密钥配送)、便于数字签名、可靠性较高(取决于分解大素数的难易程度)等优点,但也具有算法复杂、加密/解密速度慢、难以用硬件实现等缺点。因此,公钥密码体制通常被用来加密关键性的、核心的、少量的机密信息,而对于大量要加密的数据通常采用对称密码体制。RSA算法为公用网络上信息的加密和鉴别提供了一种基本的方法。它通常是先生成一对RSA密钥,其中之一是保密密钥,由用户保护;另一个为公开密钥,可对外公开,甚至可在网络服务器中注册。椭圆曲线加密算法ECC(Elliptic Curve Cryptography)是基于离散对数计算的困难性,椭圆曲线加密算法ECC与RSA方法相比,具有安全性更高、运算量小、处理速度快、占用存储空间小、带宽要求低等优点。因此,椭圆曲线加密系统是一种安全性更高、算法实现性能更好的公钥系统。数字签名算法DSA(Data Signature Algorithm)是基于离散对数问题的数字签名标准,它仅提供数字签名功能,不提供数据加密功能。2.3认证加密随着网络的广泛应用,网上传输信息不仅仅要求机密性保证,而且要求认证性服务,在许多的应用,如电子邮件、电子商务、电子政务等中,往往还是同时需要机密性和认证性保护,作为信息安全主要技术的密码学是以加密技术保护消息的机密性,以数字签名实现认证性的。传统上同时实现认证和加密的方法是加密和签名的组合,通常采用“先签名再加密”的方法。这种组合的计算和传输代价是加密和签名的总和,且这种传统方法使用的是公钥加密和签名算法,计算速度慢,代价高。因此需要寻求一种算法能同时实现加密和认证服务,并且能保证计算量少,通信量小。这就带动了认证加密(AE)研究的兴起。认证加密的研究是近几年的一个研究热点,并且其作为加密技术研究的后续研究必将持续未来很长一段时间。因为在实际应用中,很多系统中同时需要有认证和机密的功能,单一的密码技术的研究,虽然能使得加密技术越来越安全、代价小,但是却无法保证整个系统的通信量、计算量小,只有以应用为目标将认证和加密两者结合进行研究的认证加密技术才能更有效的保证系统的安全性和高效性。2.4小结本章主要介绍了密码学的研究与发展现状,对典型的对称密钥密码算法和公开密钥密码算法进行了简要介绍,为RC4算法的研究提供了有利条件,本章的最后总结了当前认证加密的主要研究方向,为后期有效修改方案(采用密钥协商的双层RC4算法)的提出奠定了一定的基础。3. 有线等价保密协议中RC4的原理及分析在IEEE802.11标准中,为了保证无线网络的安全性,引入了有线等价保密协议WEP,以期达到和有线网络等价的安全性能。WEP传输协议的基本过程主要包括密钥流的产生(RC4算法)、明文的产生(原始明文中加入检验和)以及产生密文3个部分。它是利用RC4技术对数据进行加密解密处理,并且利用CRC32技术进行数据完整性检验的。有线等价保密协议WEP是无线局域网中应用比较广泛的数据加密解密协议,主要是利用一个对称密钥K和初始化向量IV之间的异或操作来进行数据的加密传输,初始化向量IV在每传输一个数据后是要更新的,以保证产生的密钥流是不同的。有线等价保密协议是RC4算法的一个重要应用,其中的RC4并不是原始的RC4技术,为了将RC4技术引入到WEP中,WEP的提出者将RC4的密钥等进行了特殊的处理。本章主要介绍有线等价保密协议中RC4的基本原理,并对其进行简单的分析。3.1 RC4算法将明文空间的元素(如字母、二元数字等)逐个地加密,这种对明文消息加密的方式称为流密码。对流密码来说,明文字符分别与密钥流作用进行加密,解密时以同步产生的密钥流做解密交换。RC4是一种被广泛应用的流密码产生算法,是1987年由Ron Rivest所提出的一种流密码技术。RC4一直被RSA安全组织作为一个商业机密直到1994年才公布。RC4包含了不为外部所知的巨大内部状态数,这些状态数是一个nbit二进制的排列数,另外还受2个指示数i,j的影响。状态数目为2n!(2n)2。目前,RC4被广泛的使用在SSL/TLS中,WEP中,TKIP中,还有一些其他的协议和应用中。3.1.1 RC4概述RC4系列算法是一个密钥长度可变的对称的加密算法。该算法以随机置换为基础,每输出一个字节的结果仅需要8到16条机器操作指令,RC4算法包括初始化算法KSA(Key Scheduling Algorithm)和伪随机子密码生成算法PRGA(Pseudo-Random Generation Algorithm)两部分。在初始化过程中,密钥的主要功能是将一个256字节的初始数簇随机搅乱,不同的数簇在经过伪随机子密码生成算法后得到的密钥序列是不同的,将得到的子密码序列与明文进行异或运算后可得到密文。KSA将由0到255所组成的一个S盒置换得到一个内部状态。RC4的一个内部状态包括数组S还有i和j的值。内部状态得到初始化以后,伪随机密钥流生成算法就被用来生成任意长度的密钥流。代码如下:For(int i=0;i=255;i+) Si=i; j=0; For(i=0;i=255;i+) j=j+Si+Ki % len(K); Swap(Si,Sj); RC4-PRGA中将利用RC4-KSA得到的初始化置换来生成任意长度的密钥流。伴随伪随机流的每一个输出,S盒的内部状态都会发生一次改变。以下是对RC4-PRGA的一个描述,函数Swap(Si,Sj)是将Si和Sj进行置换,其中len(packet)表示数据包的长度,也就是所需要密钥流的长度。i=0; j=0; For (i=0;ilen(packet);i+) j=j+Si; Swap(Si,Sj); Output z=SSi+Sj; 3.1.2 RC4算法的分析RC4的设计非常简单,仅仅使用了简单的加法和置换,所占用的空间也只是256个字节的存储空间和两个整型变量i和j。对于CPU受限制的处理器也可以使用,并且RC4在32bit和64bit的处理器上比一般的分组加密方式处理速率都要快。比如说,在奔腾1.7Mhz处理器上RC4加密数据每字节需要7.5个时钟周期,而AES128在CBC模式下需要23.6个时钟周期。从上面的描述中我们可以看到RC4中KSA的作用就是将S盒中的256个数字的排列顺序进行打乱得到一个随机的排列,然后RC4-PRGA再有选择的输出S盒中的数值并且同时也不断打乱S盒的排列。在整个过程中S盒中256个元素的排列及i和j的值作为RC4的一个内部状态。取n=256,那么RC4的内部状态有n!n2 =256!2562,也就是1700bit。这就在一定程度上保证了算法的安全性。然而,这个过程的每一轮中只是按照顺序来使用密钥的每一个字节,每次也只是置换了S盒的两个数值,所以说,在KSA的前几轮中,S盒中的大多数的数值都没有发生变化,并没有做到理想化的随机化。也就是说,KSA的前几轮只是简单的和几个特定的数值相关,而PRGA的输出也只是和少数的元素相关。如下例所示,在RC4中,Key=1,35,69,103,137,171,205,239时,KSA的前五轮置换过程如图3-1所示。图3-1 Key=1,35,69,103,137,171,205,239例中RC4-KSA前五轮图示由图3-1可以看出,在RC4-KSA的前五轮置换中,S盒中256个元素也只有S0,S1,S2,S3,S4,S36,S98,S107,S213发生了改变,在这个例子中后期的RC4-PRGA开始的输出也一样,最前面的字节很大程度的只是和S盒初始化以后的几个元素有关系。本例输出的密钥流前8个字节为,X=116,148,194,231,16,75,8,121,然后将需要加密的数据包和密钥流逐位进行异或就可以得到加密后的数据了。3.2 WEP数据加密有线等价保密协议(wired equivalent privacy,WEP)是IEEE802. 11标准中用来保护无线传输过程中的链路级数据的协议,WEP依赖通信双方共享一个密钥K保护传输帧中的用户数据。如图3-2所示。图3-2 WEP数据加密处理过程WEP协议在IEEE802.11标准中有详细的描述,在大多数网络中,所有节点都共享一个单一密钥,被称为根密钥Rk(root key)。当网络的节点每次发送数据时,一个被称为数据包密钥(perpacket key)的密钥就会从根密钥计算得到,并且使用RC4流密码技术来生成一个密钥流。同时,会额外计算校验和附加在数据包上,然后将数据包和密钥流进行异或以后得到的数据才是网络中传输的数据。3.2.1 IV生成模式有线等价保密协议中引入初始化向量IV是为了辅助生成种子密钥,一般是简单的采取IVRk得到种子密钥。但IEEE802.11标准并没有对如何选择IV进行详细的说明。在众多产品实现中一般有两种IV生成模式:u 随机IV:在这种模式下,节点随机在0到n-1中选择IV的值。这个IV值和之前的IV以及之后的IV都没有关系。u IV计数器:在这种模式下,每一个节点都要保存最后一次使用的IV的值并且将其作为一个无符号整数,当需要下一个IV的时候,就将最后一次使用的IV加1,当IV达到最大值时,下一个IV就从0再重新开始。由于有线等价保密协议中IV是作为明文发送的,那么攻击者可以清楚地看到每一个数据包所使用的IV的值。如果攻击者截获到两个使用相同IV进行加密的不同数据包C1和C2,那么我们知道如果IV相同,加之所有终端都共享一个根密钥Rk,则由IV和之前的根密钥Rk组成的种子密钥相同,即每一个数据包密钥相同,则产生的密钥流X相同,也即X1=X2。由于:C1=P1X1C2=P2X2X1=X2那么,我们可以推出:C1C2=P1P2(其中P1、P2均表示明文数据)。密文C1和C2很容易被捕获到,如果攻击者分析得到了P1,那么,就能得到P2。所以说这种模式下要保证IV要经过很久才会相同,这样模式对于这种简单的分析还是比较安全的。3.2.2 认证模式有线等价保密协议WEP额外定义了两种模式用于一个终端在接入网络之前来进行认证: 开放式系统认证:在这种模式下,其实是不做任何认证的。客户端只需要发送一个请求给请求认证。然后AP返回给客户端一个认证成功的信息,这些信息都不需要进行加密。基于开放式系统的认证模式如图3-3所示:图3-3 开放式认证模式 共享密钥认证模式:在这种模式下,一个挑战响应需要四次握手信息。首先由客户端向AP请求接入网络。AP返回一个随机数给客户端。客户端对这个随机数进行加密处理,然后发回给AP;AP进行解密,如果解密得到就是之前发送出去的随机数就验证成功,否则就失败。没有共享密钥的客户端是无法正确加密信息发送给AP的,也就无法加入网络。基于共享密钥的认证模式如图3-4所示:图3-4 基于共享密钥认证模式3.3 有线等价保密协议中RC4的安全性分析有线等价保密协议WEP中使用RC4流密码加密算法,加密过程是使用密钥通过伪随机数发生器产生密钥流,与明文数据位进行异或操作生成密文,攻击者若获得由相同的密钥流序列加密后得到的两段密文,即两个传输数据包的IV是相同的,这将导致攻击者会通过统计分析以及对密文中冗余信息进行分析获取明文数据。同时,利用有线等价保密协议认证模式的不安全性,很多攻击者可以通过认证加入网络。一个攻击者在WEP所保护的网络中截获一个数据包,稍后他可以把这个数据包重新注入攻击。数据包注入看起来就像没有对网络进行攻击一样,因为WEP从未考虑在抵抗这样的攻击。在这样的网络中,一个数据包被截获再被插入到网络中,其中key没有发生改变,发送方也还在网络。如果发送方不再在这个网络中,发送方的地址就可能重新赋给一个还存在于这个网络中的一个主机。这是完全可能的,因为这些字段都不被完整性检查值发生器ICV所保护。下面系统的分析RC4的缺陷。3.3.1 密钥不安全性在RC4算法中,密钥流完全取决于密钥的情况。如果密钥相同,就会生成完全一样的密钥流。而且RC4算法中直接将密钥流和明文数据进行异或得到密文数据的,即C1=P1RC4(X1)C2=P2RC4(X2)如果X1=X2,则RC4(X1)= RC4(X2)C1C2= (P1RC4(X1) (P2RC4(X2)=P1P2在无线网络中,C1和C2是很容易得到的,通过统计分析以及对密文中冗余信息进行分析,可得出明文,因此,重复使用一个密钥是不安全的。为了防止这种情况的出现,WEP中选择使用了IV和用户之间的Rk进行IVRk计算得到RC4种子密钥Key。通过对每个数据包的IV进行不断变化,不断的将IV加1来保证数据包所使用的密钥的不同。但是,IV的长度是有限的,也就是IV的空间是有限的。这种机制只是在一定程度上减小了重复的几率,或者说是加大了密钥的重复周期。但是,依然会出现重复的IV,也就导致会出现重复的密钥问题。因此,我们考虑在这种IV加1的机制基础上,使用有效时间来限制KC的使用时间,这样密钥的空间由于KC的变动而巨增。3.3.2 IV不安全性上文介绍了WEP中IV的两种生成模式,一种是随机化的IV,一种是类似计数器模式的IV。WEP中一般使用的是计数器模式的IV,在128bit的WEP网络中使用的是3字节长度的IV,也就是24bit。每个数据包的IV不断的加1,这样至少需要224个数据包才会出现相同的IV,这就很好的降低了在一段时间内出现相同IV的概率。但是,各个厂商在产品中具体实现时,很多的产品IV都和物理层设备相关,比如说网卡,这样网卡的一次重插就会造成IV重新从0开始,这样就并不能很好的避免IV的重复问题。再者,虽然说需要224个数据包才会出现相同的IV,但是由于IV是作为明文发送的,相同的IV都很容易被攻击者所发现。所以,我们要解决IV的问题,就要将IV与物理层分离,并且IV不能作为明文发送。因为很多的攻击方法都依赖于收集数据包,分析那些具有可利用IV的数据包,从而获得网络的密钥。3.3.3 线性关系不安全性IV和Rk生成种子密钥的过程只是简单的前后连接,这是一个线性过程,并未引入类似Hash这样的函数进行非线性化,这就造成了攻击者可以很容易的从输出密钥流中反向分析出密钥。所以,我们考虑引入Hash函数进行非线性化,就IV和Rk生成种子密钥的过程采用Hash函数处理。3.3.4 相关问题的不安全性由于RC4算法所使用的密钥中有一部分是公开的,即初始化向量IV。当这些不同的IV和保密的共享密钥串联组成的密钥被多次使用后,那么能通过分析输出的伪随机序列的头部来获得保密的密钥部分。这种用一个保密的较长的部分串联上一个较短的,攻击者可见的部分来组成整个密钥在RC4模型中被广泛应用,特别是用在有线等价保密协议中来保护无线局域网的通信数据加密。我们采用舍弃RC4-PRGA输出字节的最前面的一些字节来解决这一问题。3.4小结IEEE802.11中使用有线等价保密协议来保证网络的安全性,以期望达到与有线网络等效的安全性。有线等价保密协议WEP中对数据的保护主要依赖于利用RC4技术进行数据的加密,在加密之前利用CRC32进行计算校验和以保证数据的完整性。所有的终端都共享一个根密钥。有线等价保密协议中RC4的的弱点为攻击者提供了攻击的机会。本章通过分析有线等价保密协议中RC4的原理,总结了WEP-RC4现有的弱点,并简要介绍了每一缺陷的解决办法,为我们在后期对新算法的研究奠定基础。4. 引入采用密钥协商的双层RC4技术RC4算法是一种应用比较广泛的流密码加密解密体制,有线等价保密协议WEP又是RC4算法很好的应用,因此,针对RC4的研究与分析越来越多,研究人员也越来越重视RC4在有线等价保密协议中使用时存在的安全问题。4.1双层RC4密码技术算法为了对当前有线等价保密协议中的RC4进行改进,以保证其能抵抗现有的针对有线等价保密协议中RC4的一些攻击方法,确保网络信息的安全性。在对有线等价保密协议进行深入研究之后,提出了一种采用密钥协商的双层RC4技术来取代WEP-RC4。图4-1给出的是采用密钥协商的双层RC4技术算法的完整流程图示:图4-1 双层RC4密码技术算法流程 双重RC4密码技术整个加密过程分为三个阶段:会话密钥的协商阶段、种子密钥的生成阶段、数据的处理阶段。三个阶段的处理过程可用下面的步骤进行描述: 第一步:由A生成一个16字节随机数KS0,利用自己的私钥和B的公钥对KS0采用ECC加密技术进行加密。当B接收到这个加密后的信息后,用自己的私钥以及A的公钥进行解密,就得到了双方此次通信的共享密钥,然后返回给A一个OK消息。至此初始密钥协商阶段完成。 第二步:A利用KS0通过RC4算法得到一个伪随机输出流,在舍弃这个输出流的前48个字节后,截取第49个字节到第52个字节作为初始向量IV,截取第53个字节到第80个字节作为用户共享密钥KC,并截取第81个字节到第96个字节作为下一次的协商密钥KS1。 第三步:A将得到的IV和KC采用一定的HASH函数进行组合,得到种子密钥Key。至此,种子密钥的生成阶段完成。 第四步:用种子密钥Key通过RC4算法得到一个新的伪随机数据流,丢弃此数据流的前48个字节的数据,然后依次对P进行加密。 第五步:A把加密所得到的密文C,C=RC4(key , P)发送给B。B收到数据以后按照相同的过程进行解密,就能得到消息数据P。整个过程中B在得到协商密钥以后也要采用同样的算法来产生种子密钥,用于得到密文C以后进行数据的解密。在一次连接通信中,后续的每一帧通信数据使用的种子密钥都是对第二步生成的初始化向量IV进行加1,然后再和KC通过HASH函数计算得到。并且,KC的使用也有一定的时间T0限制。当通信中KC的使用超过时限T0后,就利用上一轮中在第二步中生成的KS1作为新一轮协商密钥,利用第二步重新生成新的IV和KC。4.2算法要点分析 前面我们介绍了采用密钥协商的双层RC4密码技术的算法流程,对于方案中用到的一些参数以及算法要点,我们在下面进行简要介绍。4.2.1 密钥流舍弃的字节数考虑到RC4中KSA过程对于S盒元素的置换其元素有37%的概率只会发生一次置换,我们把舍弃的字节数改为48个字节,这就使得最后生成的伪随机流的最开始的一些字节有略低于37%的概率会同由种子密钥预测的可能值相同。在对100000个8bit的RC4伪随机流的分析中,第一个输出字节等于近似值的概率为37%,第二个字节为36.8%,之后一次有所减少。到第48个字节时,其概率为0.6%(Souradyuti Paul and Bart Preneel,2004;A.Grosul and D.Wallach,2000;Scott R.Fluhrer,David A.McGrew,2000)。因此,为了保证密码分析有足够的难度,同时实现又不会太复杂,在双层的RC4密码技术中都舍弃了伪随机流的前48个字节。这样就避免了利用最初几个字节的输出流的偏向性进行密钥的攻击。同样,对于利用第二个字节的偏向性进行加速穷举的攻击也具有了抗攻击性。这里对于舍弃48个字节是否是最好的选择,我们还有待于进一步进行大量的实验分析。4.2.2 密钥的长度相关性攻击对于不同长度的IV,有下表4-2表中的IV长度是以字节为单位的,表中第二列的概率是说任意的一个IV可以用于利用第一个字节的相关性进行攻击分析的可能性,最后一列是分析相应种子密钥的一个字节所需要捕获的IV的个数。从上表数据来看,IV长度为4个字节时,所需要捕获的IV的个数最多,分析难度最大。因此,考虑到网络环境资源的限制问题,我们选用4个字节也就是32位的IV,对应的使用32字节的密钥,4字节的IV,28字节的用户密钥。4.2.3 Hash函数 Hash函数就是把可变输入长度串(预映射)转换成固定长度(经常更短)输出串(Hash值)的一种函数。我们采用Hash函数来对IV和KC进行处理,即:KC长28个字节,IV长4个字节,种子密钥Key长32个字节。为提高Hash的速度,我们采用并行操作,将KC分为4个部分,每部分7个字节,分别与IV进行计算得到种子密钥Key的4个部分,Key每部分8个字节,其示意图4-3: 图4-3 并行过程其每一部分的计算过程为:Key7=SKC6IV3Key6=SKC5IV2key7Key5=SKC4IV1key6Key4=SKC3IV0key5Key3=SKC2IV3key4Key2=SKC1IV2key3Key1=SKC0IV1key2Key0=SKC7IV0key1这样的四个并行的Hash过程,加快了RC4的处理速度,从上面的处理过程中,我们也可以看出,IV和KC生成种子密钥Key的过程不再是简单的线性关系。4.2.4 椭圆曲线密码体制ECC椭圆曲线应用于密码学开始于Koblitz和Miller。这两位学者几乎同时提出了椭圆曲线密码体制的概念。椭圆曲线密码体制的安全性基于椭圆曲线的Mordell-Weil群上离散对数的计算困难性。椭圆曲线密码体制有许多优点。其密钥短,密钥长度为106比特的椭圆曲线密码体制的安全强度相当于密钥长度为512比特的RSA密码体制的安全强度;并且,其计算速度快,密码学中所用的椭圆曲线是定义在有限域上的代数曲线,因此它有代数和几何两方面的性质。在椭圆曲线上,点的逆元素容易计算,同时椭圆曲线上的加法群有模结构,因此可供选择的算法就比较多,计算速度也比较快;还有就是定义在同一个有限域上的椭圆曲线有许多条,因此需要更换密码体制时只要更换一条定义在同一个有限域上的椭圆曲线,从而有限域的算法还可以继续使用。所以,与基于有限域上离散对数问题的密码体制相比,椭圆曲线密码体制中涉及有限域算法的芯片可以重复使用,也就是说通用性比较好。由于以上这些特点,我们在此选用椭圆曲线密码体制进行密钥协商,以提高算法的安全性。4.3小结基于第三章对WEP-RC4中缺陷的分析,本章介绍了对WEP-RC4的修改方案,即采用密钥协商的双层RC4密码技术,并介绍了其重要参数及算法要点。采用密钥协商的双层RC4密码技术将公钥密码体制和对称密码体制相结合,充分发挥每一种密码体制的优势。采用椭圆曲线密码体制进行密钥的协商,这样既减少了密钥的管理工作,又充分保障了算法的安全性,然后使用两层RC4密码技术对数据进行加密解密处理,采用IV和KC进行非线性结合的方式,并舍弃密钥流的最初字节,进一步增强了密码技术的安全性。下一章我们将对这种修改方案的性能进行分析。5. 针对密钥协商的双层RC4技术进行分析前面我们已经介绍了针对有线等价保密协议中RC4的有效修改方案,并对其中应用到的参数以及算法要点进行了介绍。本章将对这种有效方案进行性能上的分析,以体现它的安全性和优越性。5.1正确性的验证一个加密算法最基本的就是要保证加密后的数据传输给接收方以后,接收方能够解密出正确的明文信息。在论文中提出的采用密钥协商的双层RC4密码算法,其加密解密的正确性在我们的实验中得到有效地验证。在实验中,我们使用双层RC4密码技术,利用协商好的密钥:D_keys32=0x01,0x23,0x45,0x67,0x89,0xcd,0xef,0x01,0x23,0x45,0x67,0x89,0xcd,0xef,0x01,0x23,0x45,0x67,0x89,0xcd,0xef,0x01,0x23,0x45,0x67,0x89,0xcd,0xef对input-data.txt文件进行加密解密处理,为了充分验证对数据的处理情况,我们在文档中加入了汉字,字母,以及一些特殊字符。如图5-1图5-1 input-data.txt截图在VS2005下利用论文所提出的算法对input-data.txt文档进行加密,得到一个新文档output-data.txt,如图5-2。图5-2 output-data.txt截图然后,利用论文提出的算法和双方协商好的密钥D_keys,将output-data.txt文档解密得到check-data.txt文档,解密后的文档如图5-3。图5-3 Check-data.txt截图通过对比input-data.txt文档check-data.txt文档,我们发现解密后的数据和原本的明文是完全一致的。同时,我们也对不同格式的文档,不同的数据的文档进行加密解密处理,最后解密得到的数据和加密之前的文档数据是一致的。实验充分验证了此加密算法的正确性。5.2密钥管理的优越性对于一个有n个节点的网络,原本的WEP网络需要一个共享密钥Rk。但当n比较大的时候,过多的节点共享一个密钥就难以保证密钥的安全性。如果是采用对称加密机制,节点间两两共享一个密钥,那么网络中就需要n(n-1)/2个密钥。当n比较大时,这个数目就会很大,而造成不

温馨提示

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

最新文档

评论

0/150

提交评论