_面向文档安全的管理与备份系统 (3)(1).docx
毕 业 设 计题 目: 面向文档安全的管理与备份系统 学院: 计算机与通信学院 专业:通信工程 班级: 1502 学号: 201503020215 学生姓名: 管倩倩 导师姓名: 乔汇东 完成日期: 2019年6月5日 诚 信 声 明本人声明:1、本人所呈交的毕业设计(论文)是在老师指导下进行的研究工作及取得的研究成果;2、据查证,除了文中特别加以标注和致谢的地方外,毕业设计(论文)中不包含其他人已经公开发表过的研究成果,也不包含为获得其他教育机构的学位而使用过的材料;3、我承诺,本人提交的毕业设计(论文)中的所有内容均真实、可信。作者签名:(学生手写签名) 日期:2019年6月10日面向文档安全的管理与备份系统摘 要:电子文档形式的数据信息是企业重要的智力资产,为保证企业的信息不对外泄露,必须要做好文档加解密及管理空措施。本文根据加解密算法、文本摘要算法以及结合当代人们对文档的功能需求,分析了文档性能上的缺陷和不足,提出了基于文档安全的管理与备份系统的实现方案,设计了文档安全系统的基本框架以及一些基本功能模块。该系统在一定程度上确保了数据的机密性和原始性。从整体来看,面向文档安全的管理和备份系统能够有效的达到文件防篡改的要求,并能对非法篡改的文件进行备份替换还原加密文件,获得原始信息,避免在后续工作中使用到错误信息。关键词:电子文档;防篡改 ;加解密;安全系统IDocument Security Oriented Management and Backup SystemABSTRACT:Data information in the form of electronic documents is an important intellectual asset of enterprises. In order to ensure that the information of enterprises is not leaked, it is necessary to do a good job in document addition, decryption and management of empty measures. In this paper, according to the encryption and decryption algorithm, text summary algorithm and combined with the functional requirements of modern people on the document, analyzes the defects and shortcomings of the document performance, puts forward the implementation scheme of the management and backup system based on document security, and designs the basic framework of the document security system and some basic functional modules. The system ensures the confidentiality and originality of the data to some extent. On the whole, the document security-oriented management and backup system can effectively meet the requirements of file tamper-proof, and can backup illegally tampered files, replace and restore encrypted files, obtain the original information, and avoid the use of error information in the subsequent work.Keywords:Electronic documents; Tamper-proof; Encryption and Decryption; Security system III目 录摘 要IABSTRACTII第1章 绪论11.1 研究意义11.2 国内外研究现状21.2.1国外研究情况21.2.2国内研究情况31.3 研究内容31.4 研究目的41.5 论文结构4第2章 相关理论和技术62.1 加解密算法62.2 Hash函数82.2.1SHA-1算法92.2.2MD5算法11第3章 系统需求分析133.1 基本功能分析133.2 安全功能分析14第4章 系统功能设计164.1 系统开发基础164.2 总体功能介绍194.3 详细功能实现204.3.1用户登录204.3.2创建文件214.3.3查看文件214.3.4删除文件234.3.5拷贝文件234.3.6修改文件属性244.3.7替换文件254.3.8加密文件264.3.9解密文件304.3.10密钥保存33第5章 系统功能实现355.1用户登录界面355.2文件创建375.3文件删除385.4查看文件385.5拷贝文件385.6替换文件395.7保存密钥395.8加密文件415.9解密文件425.10修改文件属性445.11添加文件内容445.12测试结论45第6章 总结46参考文献48致 谢50附 录51III湖南工程学院毕业设计(论文)第1章 绪论1.1 研究意义 随着当今社会科技的不断发展和进步,人们的工作和生活发生了翻天覆地的变化,信息的载体形式从传统的纸质工业转化为了现在的“无纸时代”,让文档事业的发展产生了革命性的变化,电子文档也在当今的信息时代成为了一个热点词汇。由于在人们使用过去的纸质文档进行办公时效率低,并且其在一定程度上限制了办公信息在区域中的流通和交流,因此电子文档越来越受到各个公司的积极应用和重视。当企业需要促进信息之间的流通速度和提高员工们的工作效率时,各个企业需要采用电子文档的形式来存储这些项目资料,并且特定的构建相关的电子文件服务器对这些信息进行有效的管控。于是在人们的日常生活和工作中,电子文档已经扮演了一个越来越重要的角色,并融入到人们工作和生活中的各个角落。尤其对于一些企业和政府机关而言,他们每天有许多的电子文件产生,人们现在生活中的视频、图片和音频等信息也普遍都存储在电子设备中。在人们的社会活动中,这些以磁盘或者计算机光盘等等材料作为载体的文字信息统统被称为电子文档。电子文档是信息时代的新产物,它让用户获取信息的方法更加多样化,速度也大大被提高。但是与此同时,在电子文档带来便利和信息爆炸的背后也埋藏了大量的隐患,例如信息的泄露、电子文档被非法的篡改等。当提到信息安全时,需要注意的不单单是一些因特网上的黑客、传播病毒,由FBI对数百家公司进行数据安全调查,并对调查结果进行统计分析发现,在各种使信息安全受到威胁的因素中,绝大部分影响数据安全的因素都来自于信息的非法泄露,当然也少不了硬件或软件的损坏、黑客侵袭和由于文档自身的缺陷和不足导致的威胁等。其中79%的信息安全威胁又都来自企业内部人员的非法窃取。例如在去年一月就发生了一起某地方社区卫生服务中心的内部医护人员擅自利用自己的权限,几次违法的将16至17年某些地区的新生婴儿的隐私信息交易售出,总数达到50多万条。除此之外还发生了某企业合作方的项目经理利用自己的职务之便,在长达两年的时间内,多次将该企业的重要数据通过手机录像或者直接拷贝到U盘里等非法方式获取。其中被非法窃取的数据累计有700多万条。近年来,在人们生活中,这些信息安全受到威胁的事例还有许许多多,这仅仅只是其中的一小部分而已。但由于当前的技术不足已来解决这些内部泄露问题,所以本课题的重点在于防范外部人员的非法篡改,也因为近期社会上这样的安全事件层出不穷,让人们意识到了信息安全的重要性,文档的安全问题也因此成为了社会的研究焦点。当今时代,公司对于重要信息的保护普遍是通过规范企业内部的管理制度标准,比如将敏感数据进行统一的管控;或者更有甚者直接采取物理手段的方式,例如关闭数据接口、串并口,去除光驱、软驱等等。虽然这些方法能够在一定程度上防止内部人员将重要数据携带到企业外部,但却使工作人员的办公效率和信息流通速率大大的降低了,不是一个改变根本的高级手段。当然还有一种方式是基于角色的访问控制,阻止了其他人的非法访问,但仍然不能够阻止合法用户的非法窃取。就目前而言,电子文档管理还尚未有被大家普遍认同的标准和框架模式,相对其他系统而言也没有非常成熟的技术和手段。又由于大多数的电子文档用户对于数据泄露缺乏防范意识、不善于管理文件数据,也没有对自己的私有文档信息采取保护措施,特别是个人隐私方面的敏感信息,虽然有部分用户对文档内容采取了保护和管理措施,但安全性不高,这些因素都可能会造成数据被篡改或者丢失等问题。为了改善这种现象,研究和实现具有高安全性的电子文档管理系统已经迫在眉睫。通过利用新的信息技术来解决电子文件管理过程中的信息安全问题,具有十分重要的现实意义。1.2 国内外研究现状1.2.1国外研究情况不管是在国内还是在国外,电子信息的安全都受到了严重的威胁。在上一个世纪的时候,在国外就已经有许多研究人员对电子信息的安全展开了探究,其管理理念和相关手段都更加成熟一些,并且形成了一些相对规范的标准和操作,由此也得到了国际上的大部分组织的认可。 在20世纪末期,美国最先开始进行电子信息化的活动,并且提出了“信息高速公路”的相关理念,紧随其后电子文档的理念也出现了,得到了人们的广泛关注。美国通过现有的网络技术,将重要信息转换为电子数据并上传网络,构建了相关的数据库、数字的文档馆,通过这些在网络上对所需的电子信息进行查找和检索。随后其他的发达国家也对电子信息的管理展开了相关研究,期间发表了一系列的关于电子文档管控的规范和指南。 在英国已有大学对于电子文档内容是否真实、完整进行了相关的项目研究、调查,这对于电子信息的管控问题做出了突出贡献。该项目主要研究如何创建、存储、管理和鉴定电子文档,并提出了电子文档的可靠性、真实性对于文档保存、传输的重要性,是整个系统标准化操作的原则,且明确表明了电子文档安全的管控周期分为两部分,一部分是对电子信息的存储、维护、操作,另一部分是对文档可靠性的保护。澳大利亚对于电子信息的安全问题一直以来也非常重视,并积极对其进行研究。澳大利亚的官方机构发布了相关的政策,不断向人们推广电子信息安全的重要性,并坚持加强对于电子文档安全管理系统技术、框架模式和标准规范的研究和调查。通过上述这些行为,使其专家学者和相关工作人员都积极投入到该领域的学习和研究当中,其研究的模式也已然发展成了一种概念框架。1.2.2国内研究情况伴随着在国内信息技术日新月异的发展,我国已经获得了不少在该领域方面的研究成果。中国对于电子信息的研究开展非常早,但早期对于在电子档案的操作和管控上的问题没有获得非常好的解决手段,也由此得到了各电子信息研究机构的重视,随后在这些方面获得了不少研究成果。在20实际90年代,电子文档技术发展的早期便已经有一小部分研究机构对电子文件的管理规范和标准进行了研究,提高了对电子信息的关注趋势。随后,国家自行组建了相关的调查机构,在此领域方向上进行更深入的研究,提出更具有权威性的规范政策,此时的电子信息也获得了一大跨步的前进。在之后的发展中,企业陆续推出了各种B/S结构的电子文件管理系统,可以对文件进行运行基础的管理、归纳工作,如删除、创建和定位等等。随后,又有部分公司在此基础上,采用了功能模块化的管理方式,用户使用便利,但功能仍然比较单调。对于文件的管理存档还有较多问题。随着信息技术和密码技术的发展,使电子文档安全系统再次得到发展,有了许多新的技术产生,例如:数字水印、时间戳和数字签名等,这些技术电子信息的新技术在不断的取代传统的人工印章、封签等技术,使电子信息的可靠性、完整性方面的研究得到了发展。总体而言,国内的相关研究技术和管理模式还不够成熟,在文件管理系统上太过注意对文件的管理功能,在对于电子信息安全性方面的考虑还不够完善。如果人们不重视文档的安全需求,想提高系统安全性是很难的,但过于强调安全性从而忽视用户使用感也是不可取的。1.3 研究内容本课题的主要工作内容是满足文档管理的国家标准规范,结合现代社会对于文档的安全管理需求,研究和设计面向文档安全的管理和备份系统,对用户的电子文档进行加解密和文档摘要的处理来保证信息安全。 本课题的研究方向和内容主要如下:1) 了解现有的信息科技技术,并结合当代人们的工作和生活需求,设计保证信息安全的文档管理系统;2) 了解本课题项目的相关背景与研究目的 3) 选择合适的信息安全技术,分析安全系统需求,设计总体框架。;4) 对系统中各个模块所用到的具体实现方案进行详细介绍;5)将目前比较流行的技术进行比较,再将该系统中所用到的技术进行详细介绍;6) 在对系统功能完善后,对系统的基本功能进行运行并测试。1.4 研究目的本课题的目的主要是为了提高电子文档管理系统的安全性,解决涉密私人信息文档的安全可控、监控审计等问题,要求对电子文档采用合适的信息技术和加密手段来进行保护。又因电子文档本身存在的脆弱性,因此易被人非法篡改、破坏、复制或非法传播等,电子文档的原始性、真实性很难得到有效保障。结合分析电子文档本身所具有的文档特点,为确保电子文档的真实和安全,文档管理系统应当具备完整性、真实性、可读性等基本特征,改善电子信息泄露的现象4,通过授权控制、加解密存储和文本摘要验证等多种方式来实行电子文档的管理。并通过电子文档安全管理和备份系统所起到的作用,增强用户的电子信息安全意识。1.5 论文结构由于关于电子信息的安全管理与备份系统已经有不少研究人员做过相关研究和了解,也设计和实现了许多各不相同的系统。通过查看相关研究资料文献,实现一些文档管理系统的基本功能且在一定程度上保证文档内容的完整性、真实性和原始性。本课题研究文章的安排如下: 第1章,前言 阐述了电子信息的发展、现代社会面临的一些信息泄露的问题和人们对信息安全意识淡薄的现象,分析了信息安全受到威胁的原因,以及目前国内对此的研究情况和相关的信息科学技术,最后明确了本课题的研究目的,并对课题研究做出规划。 第2章,相关理论和技术 详细介绍了本系统需要应用的相关信息安全技术的基本原理、对于当今社会各领域的应用以及算法实现流程,并对如何在本课题系统里使用该技术进行了描述。 第3章,系统需求分析 通过前面对于当今电子文档发展和威胁信息安全的多种因素的研究和分析,再结合在实际生活中人们对文档管理系统的需求和国家对于管理系统功能的标准规范,对本系统各个功能模块进行详细的需求规划,为下一章的系统功能设计做准备。第4章,系统功能设计 在前一章对于各个功能的需求分析和规划的基础上,对各个功能模块进行详细的程序编写和需求实现,并规划和整理出各个功能模块具体的操作流程等等。 第5章,系统功能测试 在实现各功能的设计并完善程序后,对各个模块部分进行运行、测试,检验功能是否完善、是否存在错误和需要改善的地方,并适当提高用户体验。第6章,总结 对完成整个课题研究期间的经历进行总结和思考,对需要改进的地方加强改善,为以后的研究做准备,最后介绍对此方面技术的研究憧憬。71第2章 相关理论和技术 在信息技术日新月异的时代,电子文档技术已经融入到人们生活的各个角落,为人们带了快捷和便利的同时,也留下了严重的隐患,限制了电子文档的发展,为解决此问题人们研究出了许多相关理论和技术。众所周知,电子文档安全管理系统除了对文件进行管理和存储之外,还有另一个重要目的是提高对重要数据的安全保障,从而减少敏感信息泄露的现象。对此最重要的实现途径就是对文档进行加密。加密即用数学方面的算法对原始信息进行转变,将文件中的信息转换成只有特定接收者才能正常解读的信息,被人们称为明文转变为密文。与之相反,将密文转变为明文的过程称为解密。在对电子文档进行加解密后,只是对信息进行了保护,但是无法确认信息是否被人非法篡改,这时需要对电子文档进行文本摘要的技术处理,将加密前文档的哈希值与解密后的哈希值进行对比来验证文档的原始性。在本系统项目中,需要实现对电子文档内容的加解密,来确保内容的真实性、可靠性,通过使用相关技术来达到提高信息安全的目的。本系统选择使用了AES加解密算法对电子文档进行相关处理,在调用函数进行加解密前还需要使用MD5算法获取密钥,除此之外,本系统还需要利用哈希算法对电子文档的内容进行摘要,以此来判断该文档内容是否被人非法篡改。本系统选择使用哈希算法中的SHA-1算法来对电子文档进行文本摘要处理,验证信息的原始性。下面详细介绍一下本系统应用到的AES加解密算法、SHA-1和MD5算法。2.1 加解密算法密码学是以研究秘密通信为目的,即研究对传输信息采取何种变换以防止攻击者对有效信息的窃取的一门学科。上文所说的加密算法即将明文转化为密文的一套规则,依次类推,解密算法就是将密文转化为明文的一套规则1。密码算法可分为对称密码算法和非对称密码算法。对称密码技术是由之前的简单换位和代替密码得来的,典型代表有DES(数据加密标准)和AES(高级加密标准),非对称密码技术是在密码体制中加密和解密采用不同的密钥的技术,典型代表为RSA技术1。本系统应用的是AES对称密码技术。AES(Advanced Encryption Standard)是美国在2001年由其国家标准技术研究所发布的高级加密标准,是现在正在被广泛使用的一种对称密码算法。对称加密算法就是需要用到同一密钥来对数据进行加密和解密21,对称加密算法相比较于非对称加密算法而言,它的加密速度更快,适合需要经常性传输数据的时候。AES同时也是一种分组密码算法,AES有三种最普遍的方案分别为:AES128,AES192,AES256。AES密钥长度(32位比特字)分组长度(32位比特字)加密轮数AES-1284410AES-1926412AES-2568414表2-1 AES的方案分类表根据需要可以从中选择一种方案对明文的长度进行分组,每组的长度必须相同且每次对数据仅进行一组加密,它们之间的基本思想并无太大差异,主要是各自要求的密钥长度(32位比特字)与加密轮数相互不同。AES的加密流程如下所示:图2-1 AES基本原理图 在上图所示的流程中,明文是没有经过加密处理的原始数据。密钥在密码学中是一种用来验证数据信息是否完整、完成对数据加密解密的一种秘密参数,在AES这种对称密码算法中加密和解密是用同一密钥的。关键是密钥需要接收方和发送方之间的共同确定,但它不能直接在网络上传播,否则可能会泄露,通常是由不对称加密算法加密密钥,然后传送到对方通过网络,或者直接面对面告知密钥。密钥绝对不允许泄露,否则将被攻击者恢复密文,非法盗取机密数据。AES加密函数为E,则C = E(K, P),其中P为明文,K为密钥,C为密文。也就是说,当加密函数将明文和密钥作为其参数输入时,加密函数最终将导出密文来。在这里,密文是已经被进行过加密处理的数据。然后发送方的密文经过网络传输给接收方,接收方收到密文后将密文进行解码处理,解密函数为D,则 P = D(K, C),其中与上面的加密函数一样C为密文,K为密钥,P为明文。也就是说,将解密函数将密文和密钥作为参数输入,则最后将生成明文。AES加密算法在整个过程中需要一定的加密轮数,除了最后一轮加密每一轮加密主要分为四个步骤依次如图所示:图2-2 AES加密过程但是在最后一轮加密当中没有列混合这一步骤。AES的解密的轮数与上面的加密轮数相同,且为加密操作的逆操作。所以除了解密的最后一轮其余每轮的步骤顺序如下图所示:图2-3 AES解密过程从上图可知,AES的加密和解密过程的轮数一致,同样在最终的一轮中不包括逆列混合这一步骤。2.2 Hash函数哈希算法为一种非保密的单向密码技术,即其整个算法流程是完全公开透明的,且只能对电子数据进行加密,不能直接解密信息。散列函数在世界应用非常广泛,由于其的原理及作用:从大量的数据中提取消息摘要,也即散列值,由于散列值是由原信息计算得出,若原信息被篡改或发生变化,则与其对应的散列值也会相应发生改变。在需要验证信息完整性时不需要处理大量数据,而是可以直接对散列值进行验证,因此这种算法既简化了验证过程,又是有效的,相对于其他算法来说还有较为简单的优势。2.2.1SHA-1算法本安全管理系统为了达到防篡改的目的,决定采用哈希函数来验证信息的原始性。安全散列算法(Secure Hash Algorithm)是一种由美国的国家标准技术研究所(National Institute of Standards and Technology)和美国国家安全局(National Security Agency)设计的标准Hash算法,并被发布为联邦数据处理标准(Federal Information Processing Standards)。该算法主要适用于数字签名的相关算法中(Digital Signature Algorithm DSA),是安全性相对而言比较高的Hash算法之一。该函数也可被称为杂凑函数或者散列函数,对其输入一不确定的任意长度其将输出一固定长度串,该长度串被称为输入长度串的Hash值8,但是因为Hash函数是一类多对一的函数也就是Hash值的长度由算法的类型决定,将某些不同的输入转化成同一输出,而与输入该函数的原始消息的大小无关(一般大小为128bit或160bit),所以如果要求给一个固定的Hash值,以此来求该Hash值逆是很难的,但通过给定一个输入来计算Hash值肯定是非常容易的,并且该函数具有唯一性,即难以通过输入两个不相同的消息得到一个相同的Hash输出值,因此Hash函数也被人们称为单向Hash函数,这是Hash的两点特性,同时这也是SHA算法都拥有的共同特征。SHA-1作为人们现在经常用到的几种Hash算法中的其中一种,通过输入长度小于264位的消息,SHA-1最终将会产生一个160bit(20字节)散列值,该散列值被人们称为消息摘要,该值一般由40个十六进制数来呈现。当接收方接收到字符串或者文件的时候,这个消息摘要可以用来验证接收到的文件或者字符串是否完整以及是否被其他人非法篡改。在整个消息传输的过程中,数据很有可能会发生变化,那么这个时候被接收的消息就有可能会产生一个新的消息摘要,此时将新产生的消息摘要与之前从发送方一同传送过来的原始信息摘要进行对比,以此来验证消息是否准确。以下是对SHA-1算法的简要描述:1、将原始消息转换为位字符串因为SHA-1的算法中它只接受以位作为输入单位,所以在进行SHA-1算法计算之前必须先将原始的消息(例如字符串或者文件等)转换为以位为单位的字符串。这里用“abc”字符串来作为一个例子,因为'a'=97, 'b'=98, 'c'=99,先将其转换成字符串为:01100001 01100010 01100011 2、对位字符串进行补位必须要对转换后的字符串进行补位,使其数据长度在对512取模以后的余数为448,即(补位后的消息长度)%512 = 448。对字符串进行补位时,先在后面的最高位补一个1,如果不满足要求,即不满足对512取模余数为448,再往后依次补0直到可以满足要求。这就表明,补位至少需补一位(原始消息为512n+447),最多补512位11(原始消息为512n+448)。 3、补充长度值在这个步骤中是将还没有被补位时的原始信息的长度以二进制的形式表现出来,并将其附加到信息摘要后面。一般原始信息的长度用一个64bit的数据表示,当原始消息的长度小于264时,说明第一个数值为0。 4、常量和函数 设置从0到79的常量字如K(0), K(1), . , K(79),并将它们依次转化为十六进制来表示。结果表示如下: Kt = 0x5A827999 (0 <= t <= 19) (2-1) Kt = 0x6ED9EBA1 (20 <= t <= 39) (2-2) Kt = 0x8F1BBCDC (40 <= t <= 59) (2-3) Kt = 0xCA62C1D6 (60 <= t <= 79) (2-4)并且在SHA-1哈希算法中的所有信息数据都必须经过异或函数处理。每一个运算函数ft (0 <= t <= 79)都通过使用32位字B、C和D,最后以构造出同样为32位字的结果为实现成功。 ft(B,C,D)可以如下表示: ft(B,C,D) = (B AND C) or (NOT B) AND D) ( 0 <= t <= 19) (2-5) ft(B,C,D) = B XOR C XOR D (20 <= t <= 39) (2-6) ft(B,C,D) = (B AND C) or (B AND D) or (C AND D) (40 <= t <= 59)(2-7) ft(B,C,D) = B XOR C XOR D (60 <= t <= 79)(2-8) 5、计算消息摘要在原始消息进行了补位和附加长度值之后,将对其进行消息摘要的计算。首先,算法计算需要四个缓冲区,buf1和buf2分别由5个32bit的字组成,buf3由80个32bit字组成,还有一个1个字的TEMP缓冲区12。Buf1缓冲区依次标记为A,B,C,D,E;buf2缓冲区依次被标记为H0,H1,H2,H3,H4;buf3依次被标记为W0, W1,., W79。然后将在此之前经过处理的数据划分为一个一个大小为512bit的数据块分别为M1,M2,M3,Mn,并对H0,H1,H2,H3,H4进行初始化,然后对数据块进行处理。 对Mi进行如下处理:1)使Mi 以16 个字为单位分组 W0, W1, . , W15;2)当 t 属于 16 到 79时 令 Wt = S1(Wt-3 XOR Wt-8 XOR Wt-14 XOR Wt-16);3)令 A = H0, B = H1, C = H2, D = H3, E = H4;4)当 t =属于0到79时,进行循环,内容如下:TEMP = S5(A) + ft(B,C,D) + E + Wt + Kt;E = D;D = C;C = S30(B);B = A;A = TEMP; 5)令H0=H0+A,H1=H1+B,H2=H2+C,H3=H3+D,H4=H4+E. 最后在结束完对Mn的处理后,将会得到消息摘要,其为H0,H1,H2,H3,H4的顺序标记。2.2.2MD5算法 消息-摘要算法第五版(Message-Digest Algorithm 5),简称为MD5,同上述所讲的SHA-1一样,也是一种密码散列算法,被当今人们广泛应用。由于SHA-1和MD5都是在MD4的基础上进行导出的,所以两者之间的特征大致相同,且强度也是相差不大的。但是MD5与SHA-1相比,前者总是产生128bit的摘要值,如果用十六进制来表示的话为32位数,后者导出的摘要值为160位,如果用十六进制的数来表示的话为40位。因此对于强行攻击来说后者会比前者安全性更高一些,并且SHA-1算法也比较更不容易受到密码分析的攻击,但是MD5算法的的运行速度要更加的快,总体来说有利有弊。下面对MD5算法进行简要的描述:1、对数据进行填充同SHA-1算法一样,需要对输入的数据的长度进行补充,使其的长度变为加上64位后就可以成为512的整数倍。填充的方法为在将需要产生摘要的信息转变为字符串后,在其后面进行填充,填充的第一位必须为1,若还需继续填充就依次往后加0.直到满足信息长度=N*512+448+64=(N+1)*512为止。同时也像SHA-1算法一样,需要将原始信息的长度以二进制的形式表现出来,并将其附加到信息摘要后面。2、初始化幻数以下为MD5算法需要调用的4个幻数: A=0X67452301L,(2-8) B=0XEFCDAB89L,(2-9) C=0X98BADCFEL,(2-10) D=0X10325476L (2-11)3、分组处理数据在该步骤中需要进行4次循环运算,组数决定循环多少次。在每组的操作处理中,第一组需要将上面幻数复制到另外四个变量中:A到a,B到b,C到c,D到d。其次将后一组的变量要转化为其上一组变量的操作结果。每次循环的操作都大致相同,其中刚开始的一轮需要进行16次运算,每次都要将四个变量中的三个非线性的函数中进行处理。最后将导出的结果依次加上最后一个变量,最后将得到的数据进行左环移处理,接着加上四个变量中一个,并将四个变量被新的结果替换。非线性函数为:F(X,Y,Z)=(X&Y)|(X)&Z)(2-12)G(X,Y,Z)=(X&Z)|(Y&(Z)(2-13)H(X,Y,Z)=XYZ(2-14)I(X,Y,Z)=Y(X|(Z)(2-15)随后将变量进行如下运算:a = a + A,(2-16)b = b + B,(2-17)c = c + C,(2-18)d = d + D(2-19)然后以此类推对下一组进行操作。4、输出摘要最后将得到a、b、c和d四个输出结果,输出的长度为128bit。第3章 系统需求分析在前面一章中介绍了本课题的相关技术,在此基础上本章的主要任务为分析、描述电子文档管理系统的用户对该安全系统有哪些需求,并对此进行总结和设计,给出本系统的各功能模块基本框架,并对各个模块进行详细介绍。在本系统中,将系统的功能大致划分为两大类:一类为电子文档管理系统的一些基本的,对文件进行管理的功能,另一类为该系统的安全功能,以达到提高信息安全性、真实性的目的。3.1 基本功能分析目前已知的在企业和事业单位用到的文档管理系统的功能设计和实现都是非常庞大和复杂的,如果将标准中所描述的每一个规范功能都用程序来设计和实现那将会是一项巨大的工程,需要损耗巨大的人力和财力,所以本系统通过采集和对比市面上一部分比较普遍的管理系统,在结合国家对于文件管理系统的相关规定中所提到的基础功能规范后,并对人们日常需要、应用的一部分功能进行了研究,最后通过各项技术将这些需求加以编程实现,以达到从用户的角度出发,确立哪些功能会更适合我国文档的管理需求。结合以上各种因素,由此分析得出,整个电子文档管理系统可划分为以下几个功能模块:(1) 文档管理功能。本功能模块应该包括创建电子文档、删除文档、查看文档内容、对文件内容进行备份、修改文档权限和添加文档内容等一系列的子功能模块。 创建新文档: 在该系统内,当用户需要将自己的私密信息和重要文件转换为电子信息的形式来存储时,可以通过选择该功能模块来创建一个新的文件来保存自己的信息。 删除文档: 用户可以通过该功能模块将不再需要存储的信息文件进行删除。以此保持系统内存结构清晰,当系统内存被占用时可以利用该功能,清除多余的文件来保存新的文件。查看文档内容:当该系统用户需要了解或核实某些信息时,用户可以通过该功能模块,根据自己的个人需求来输入想要查看信息的相应文件名,将该电子文件打开进行查看。文档备份:在对文件进行加密后,为了确保加密文件在被人非法篡改后,文件也不会被丢失,系统需对该加密文件进行拷贝。当用户在对加密文件解密后,通过对比加密前和解密后的哈希值来验证文件信息是否被他人非法篡改,如有被篡改可以用备份的加密文件进行替换来得到原始的加密文件信息。修改文档属性:用户可以在认证身份后,根据自身需求来设置、修改文件的属性,可以在一定程度上加强文件信息的安全。此功能模块主要目的是用于用户设置或修改文件的读、写等权限,以免他人随意查看或修改文件内容。添加文档内容:为了方便用户可以随时增添重要信息,不需要重新创建文件,同时也防止之前的数据丢失,其让数据管理得更有规划,有条理的保存在同一文件中,方便整理。用户可以通过该功能打开相应的文件,继续在文件末尾写入数据。替换文件:当用户在该系统中有相同文件或者需要更新文件内容时,可以使用该模块替换已有或需要被更新的文件。以此来保持系统内部结构清晰,当系统内存被占用时,也可以利用该功能,合并或更新相关文件,腾出更多的内存空间来保存新的文件。(2)用户管理功能该功能模块主要分为用户登录和注册两个子功能模块。用户登录:该系统用户通过输入系统认证过的用户名和用户密码来进入该系统,不符合要求的用户则不能登录,这可以对敏感数据起到一定程度上的保护作用。用户注册:想要使用该管理系统的用户可以在注册用户名和用户密码之后,退回该系统首页,再选择退出电子文档安全管理系统,重新进入该系统,登录刚刚注册的用户名和用户密码后,进入系统目录界面。使用该功能模块时,用户在进行注册后,下次使用时便可以直接登录进入该管理系统。3.2 安全功能分析对于文档安全来说,文档信息是否真实、是否原始是最重要的也是最基础的要求。也是因为这些因素,文件才能成为记录人们隐私信息和重要信息的载体。电子文档系统安全等级的高低也是取决于该系统是否能保证信息内容的真实和有效。针对系统的安全性能,做出如下几个功能模块:1、文档加解密该系统能够通过对称加密技术或者非对称加密技术来实现对电子文件内容的加密。当电子文件被他人非法复制取得时也无法读取其中的保密内容,这大大的提高了原始信息的安全性。2、文档验证在整个文件传输过程