论文部分内容阅读
数据库在目前的计算机系统中担任存储信息的工作,其中不乏敏感数据,然而人们似乎更加重视数据在传输过程中的安全,却往往忽视在本地存储时的安全。很多在传输时加密的数据,到达本地后常常以明文形式存储在数据库中,这给攻击者带来了便利,特别对于基于Web的应用系统,更容易受到攻击,解决这一问题的有效途径是进行数据库加密。本文结合了美菱股份公司供应链管理系统,这一基于J2EE架构的Web应用系统,详细的介绍了一个基于J2EE数据库加密方案。由于业界对数据库加密并无一个可循的标准和完善统一的方案,因此本课题所设计的方案不仅仅适用于本系统,也给同一架构下其它系统的加密系统设计提供了一个可供参考的方案。文章首先对数据库面临的威胁做了详尽的分析和归类,对每一类别的攻击者设计了一些防范的方法。介绍了一个描述系统潜在威胁的工具——威胁模型,利用该模型系统开发人员可以清晰直观的知道加密系统该做些什么。并介绍了数据库加密系统必然要用到的一些常用加密算法,包括对称加密算法、非对称加密算法和哈希加密算法。文章接着分析了目前数据库加密待解决的一些问题,比如层次定位问题、加密粒度问题等等;提出了数据库加密应该要达到的基本要求,包括合理处理数据、不影响合法用户操作和可以接受的响应时间等。文章的主体部分给出了一个完整的数据库加密方案。本方案主要由密码引擎、密钥库、密钥清单、密钥管理器、密码提供者、密码使用者、待加密的数据七个组件构成。接下来文章结合美菱供应链系统实际情况建立了系统的威胁模型,并描述了加密系统一些关键部分的具体实现。最后对加密系统做了三个方面的安全性测试,分别是针对访问控制、加密数据和相应时间的测试。经过测试加密系统可以正常的对数据进行加密解密,对各种用户的访问权限也进行了严格控制,对数据库中的敏感数据起到了有效的保护作用,同时也取得了较好的系统响应速度。文章最后对本人所做工作做了总结,归纳了一些不足之处,并对今后的研究工作做了展望。