安全数据库系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
信息安全综合实践设计报告
题目:安全数据库系统
姓名:
班级学号:
指导教师:
完成日期:
一、设计任务与要求
功能要求:(1)数据库的数据要进行加密;(2)数据库的完整性要进行保
护;
(3)保证密钥的安全性。
课程设计按指导书要求,综合应用所学的网络安全知识解决实际问题,并进行理论分析,依据合理关系进行设计。功能实用性、界面友好、方便用户操作。
本次课程设计是设计实现一个安全的数据库系统,对数据库进行数字签名保证完整性,数据加密保证隐秘性。
主要功能:
(1)数据库的数据要进行加密;
(2)对数据库的完整性进行保护;
(3)防止用户根据部分密文明文对,恢复数据库总密钥;
(4)数据采用一个密钥以某种形式衍生子密钥进行加密;
(5)保证密钥的安全性。
二、可行性研究报告
主要内容:
1.全面深入地进行市场分析、预测。调查和预测拟建项目产品在国内、国际市场的供需情况和销售价格;研究产品的目标市场,分析市场占有率;研究确定市场,主要是产品竞争对手和自身竞争力的优势、劣势,以及产品的营销策略,并研究确定主要市场风险和风险程度。
2.对资源开发项目要深入研究确定资源的可利用量,资源的自然品质,资源的赋存条件和开发利用价值。
3.深入进行项目建设方案设计,包括:项目的建设规模与产品方案、工程选址、工艺技术方案和主要设备方案、主要原/辅助材料、环境影响问题、项目建成投产及生产经营的组织机构与人力资源配置、项目进度计划、所需投资进行详细估算、融资分析、财务分析、国民经济评价、社会评价、项目不确定性分析、风险分析、综合评价等等。
三、系统设计
数据库的建表:创建了两个数据库,分别放在两个不同的服务器。一个为存放在本地主机的数据库simple,该库里存放着六个表:activity,customer,emp,note,opertunity,product。用以管理员工,客户,产品,销售情况和活动等信息。
Table activity:记录了为了某个销售事件所做的一系列活动,包获了活动的日期,活动的内容。
Table customer:公司客户的详细资料,如客户名称,客户经理,客户所在地址以及电话。
Table emp:记录了公司员工的具体信息,如员工用户名,员工职位,员工薪酬,员工提成,员工权限(与职位有关),员工用户密码,员工生日,员工性别和员工电话。
Table note:记录员工的日志内容,加密后存放在数据库,只有掌握了密钥的用户才能解密,同时用了MD5算法保证了数据完整性,假如数据被人篡改,可以马上发现。表里记录了员工ID,日志日期,日志内容和每次对该日志加密后的MD5。
Table opertunity:记录了某位员工给某位客户销售某个产品期间的事件记录,包括有产品的名字,这次销售出该产品的销售额,赢率,花费的时间的开始和结束。
Table product:记录了公司的产品名称,类型以及它的竞争产品。
另外一个数据库为密钥数据库,存放着每个用户的初始密码。Table mikey:记录了用户的ID号和密钥。
本地数据库的主键和外键
Table activity:主键为actID,外键为optID,
Table customer:主键为cusID
Table emp:主键为empID
Table note:主键为id,外键为empID
able opertunity:主键为optID,外键为cusID,empID,proID
Table product:主键为proID
虚拟机数据库的主键和外键
Table mikey:主键为id,外键为empID.
四、系统实现
AES 加密模块
算法简述
最常用的对称密码算法是数据加密标准(DES)算法,但其主要问题是密钥长度较短,已不适合于当今分布式开放网络对数据加密安全性的要求。
故我们选择了新的对称加密算法AES 来作为我们数据安全性的保障。
AES 的基本要求是,采用对称分组密码体制,密钥长度的最少支持为128、192、256,分组长度128位,算法应易于各种硬件和软件实现。
AES 加密数据块分组长度必须为128比特,密钥长度可以是128比特、192比特、256比特中的任意一个(如果数据块及密钥长度不足时,会补齐)。AES 加密有很多轮的重复和变换。大致步骤如下:1、密钥扩展(KeyExpansion),2、初始轮(Initial Round),3、重复轮(Rounds),每一轮又包括:SubBytes、ShiftRows、MixColumns、AddRoundKey,4、最终轮(Final Round),最终轮没有MixColumns。
本次我们设计的系统采用256位ECB 模式的AES 算法。
1.AES 加密ECB 模式的优点
ECB 模式是最早采用和最简单的模式,它将加密的数据分成若干组,每组的大小跟加密密钥长度相同,然后每组都用相同的密钥进行加密。相对来说,它
1.简单;
2.有利于并行计算;
3.误差不会被传送;
数据完整性保证模块
1.本系统利用MD5机制实现数据完整性保证。
2.原理客户端
用户名和
口令日志内容MD5散列值比较结果
随机数数据库中的散列值
散列值
上传的散列值
一个MD5校验和(checksum )通过对接收的传输数据执行散列运算来检查数据的正确性。计算出的散列值拿来和随数据传输的散列值比较。如果两个值相同,说明传输的数据完整无误、没有被窜改过(前提是散列值没有被窜改),从而可以放心使用。
3.作用
如用户在我们的系统数据中心存放了个文件,该文件使用MD5校验,校验码存储在数据库中,待用户下次需要查看该文件的数据时,再次用MD5生成校验摘要,并取之与原校验码比较,若相同,则认为数据未被篡改;若不同,则说明数据已被破坏。
密钥管理模块
1)本系统参考kerberos 认证协议,采用其变形,引入第三方身份认证方来管理密钥的安全分配。
2)原理结构图
3)密钥分配步骤说明
●用户向身份认证中心发送身份认证凭证,包括其注册的用户名和口令,以请求设定日志密钥的权限。
●身份认证中心在其数据库中核对用户身份后,将相应的获取密钥凭证发给密钥中心。
●密钥中心收录用户的隐私日志设定凭证后,返回确认给用户。
数据中心身份证明中心
用户密钥中心