2017数据库加密中间件设计与实现:SQLServer操作与权限管理

需积分: 9 3 下载量 117 浏览量 更新于2024-08-26 收藏 490KB PPT 举报
本篇文章主要介绍了在2017年的实验中,关于数据库加密中间件的设计与实现过程。实验分为两个阶段:手工方式和程序实现。 在第一阶段,实验者通过手工方式实现数据库加密,具体包括创建函数、视图和触发器,使用Update语句对数据进行加密,并通过Select、Insert和Update语句验证加密的效果。这个阶段着重于基础的加密策略,确保数据在存储层面上的安全性。 在第二阶段,实验转向了程序实现,即开发了一个管理程序,采用了用户界面驱动的加密管理。这个阶段的核心目标是提升加密的管理效率和用户体验,同时实现以下几个关键特性: 1. 权限分离:设计中引入专门的安全管理员角色,负责数据访问控制,以防止数据库管理员滥用权限导致的信息泄露。 2. 属性粒度加密:安全管理员可以自主决定哪些数据字段需要加密,提高了灵活性和定制性。 3. 密钥独立于DBMS:为了削弱DBA对数据的直接控制,密钥被独立管理,如存储在Ukey等硬件设备中。 4. 用户透明:利用视图机制,加密过程对普通用户来说几乎是隐形的,保持了用户操作的便捷性。 5. 硬件支持:密钥的存储和管理依赖于硬件,增强了系统的安全性。 6. 低耦合与模块化:加密中间件设计注重与宿主数据库系统的解耦,使用可重用的代码和模块,特别适用于SQL Server,但具有可扩展性。 7. 图形化管理界面:通过直观的图形界面,安全管理员可以轻松地进行加密操作,简化管理流程。 实现环境中,项目基于SQL Server 2008和Visual Studio 2010构建,通过编程实现对SQL Server数据库的交互,涉及操作如创建、修改和删除表格和视图,以及查询系统表中的元数据。 加密策略上,使用类似KEY宝的方式,密钥存储在U盘内置文件中,既保证了密钥的安全性,又实现了密钥的唯一性。通过创建视图替换表以实现对数据的访问,这种设计使得加密操作对用户来说更为透明。 总结来说,本文详细描述了一个旨在提升数据库安全性、实现权限分离和属性加密的加密中间件实验,展示了从手工操作到程序管理的完整过程,并强调了其在实际环境中的应用和功能特点。