2017数据库加密中间件设计与实现:SQLServer操作与权限管理
需积分: 9 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盘内置文件中,既保证了密钥的安全性,又实现了密钥的唯一性。通过创建视图替换表以实现对数据的访问,这种设计使得加密操作对用户来说更为透明。
总结来说,本文详细描述了一个旨在提升数据库安全性、实现权限分离和属性加密的加密中间件实验,展示了从手工操作到程序管理的完整过程,并强调了其在实际环境中的应用和功能特点。
2020-12-05 上传
2008-09-24 上传
2024-06-06 上传
2023-08-30 上传
2023-05-25 上传
2023-05-31 上传
2023-05-11 上传
2023-11-01 上传
2023-05-19 上传
劳劳拉
- 粉丝: 19
- 资源: 2万+
最新资源
- C++标准程序库:权威指南
- Java解惑:奇数判断误区与改进方法
- C++编程必读:20种设计模式详解与实战
- LM3S8962微控制器数据手册
- 51单片机C语言实战教程:从入门到精通
- Spring3.0权威指南:JavaEE6实战
- Win32多线程程序设计详解
- Lucene2.9.1开发全攻略:从环境配置到索引创建
- 内存虚拟硬盘技术:提升电脑速度的秘密武器
- Java操作数据库:保存与显示图片到数据库及页面
- ISO14001:2004环境管理体系要求详解
- ShopExV4.8二次开发详解
- 企业形象与产品推广一站式网站建设技术方案揭秘
- Shopex二次开发:触发器与控制器重定向技术详解
- FPGA开发实战指南:创新设计与进阶技巧
- ShopExV4.8二次开发入门:解决升级问题与功能扩展