论文部分内容阅读
访问控制作为关系数据库重要的安全部件,对整个数据库的安全发挥着极为重要的作用。随着数据库与Web的深入结合及隐私保护需求的逐渐复杂化,传统数据库访问控制机制无法满足复杂的安全需求。因此,研究关系数据库细粒度访问控制,为数据库系统提供更为灵活的访问控制机制以满足安全需求,具有重要的意义。围绕关系数据库细粒度访问控制的设计、分析及实现,主要开展了5个方面的研究工作:细粒度访问控制模型、细粒度访问控制策略分析、细粒度访问控制下推理控制、细粒度访问控制查询改写算法及细粒度访问控制系统设计与实现。为了改善细粒度访问控制策略的表达能力,给出了一个新的细粒度访问控制模型-DFFAC模型。DFFAC模型包含两个子模型:D-DFFAC模型和R-DFFAC模型,分别与数据库系统中的DAC模型和RBAC模型相兼容。DFFAC模型不仅支持封闭式细粒度访问控制策略,还支持开放式细粒度访问控制策略,即支持细粒度否定授权。在DFFAC模型的基础上,给出了多重细粒度访问控制策略的概念,并根据主体的特性,设计了多重细粒度访问控制策略的合并原则,给出了多重细粒度访问控制策略的合并算法。为了保证灵活的细粒度访问控制策略合理的生效,研究了细粒度访问控制策略分析方法。给出了通用的细粒度访问控制策略的有效一致性定义,主要包含有效性和一致性两个子概念。有效性要求细粒度访问控制策略不具有二义性,即访问控制判定具有唯一的结果;一致性要求系统中的细粒度访问控制不存在策略冗余和冲突。在DFFAC模型基础上,给出了DFFAC策略的有效性和一致性概念。然后,分别给出了DFFAC策略有效性和一致性分析检测方法及实现。最后,通过实验验证了策略分析检测方法在性能上是可接受的。为了保证关系数据库细粒度访问控制的安全性,研究了细粒度访问控制下的更新操作推理泄露问题。给出了数据级安全条件以保证更新操作推理泄露得以避免。在DFFAC模型的基础上,给出了策略级安全条件,当DFFAC策略满足策略级安全条件时,更新操作推理泄露问题得以解决。然后,给出了动态改写更新操作策略的方法使得DFFAC策略满足策略级安全条件。最后,针对删除操作,给出了删除操作策略级安全条件和动态改写删除操作策略的方法保证删除操作安全条件得以满足。细粒度访问控制下的查询操作主要通过查询改写方法实现。在查询改写思想的基础上,给出了一个安全的查询改写算法KAB算法。然后,扩展了可靠性定义,在关系代数的基础上给出了可靠性的相关性质,并分析了对于哪些SQL语句,KAB算法能够保证可靠性。最后,通过实验验证KAB算法是高效的。在上述研究的基础上,设计实现了细粒度访问控制系统-DFFAC系统。首先,通过扩展SQL语句支持DFFAC策略的描述;接着,分析设计了DFFAC系统中的各个模块;然后在达梦数据库管理系统中实现了该系统;最后给出实验验证DFFAC系统对数据库管理系统造成的性能负担是可接受。