设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 3279|回复: 5
打印 上一主题 下一主题

[Access本身] 数据库安全新策略

[复制链接]
跳转到指定楼层
1#
发表于 2002-10-15 20:50:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一、现有数据库文件安全技术  

现有数据库文件安全主要通过以下三个途径来实现。  

1.依靠操作系统的访问控制功能实现  

现代的主流操作系统都有完善的用户认证机制,每个登录系统的用户通过自己的权限(即访问控制表ACL)来访问系统资源。这样数据库拥有者或管理者可以通过设置用户权限来控制他人对数据库文件的读取、写入、复制及删除。  

2.采用用户身份认证实现  

一般的身份认证都是在用户试图打开数据库时要求用户输入用户密码。Access 97/2000数据库文件提供了这种安全技术。这种安全技术的实现思想是,数据库管理软件打开文件时校验用户输入密码是否与数据库文件中保存的密码数据一致,如果不一致则拒绝打开数据库文件。  

3.通过对数据库加密来实现  

这一安全设计思想是,采用用户的密码对数据库文件中的二进制数据流进行移位变换等处理来实现安全。Access 97/2000数据库文件提供了这种安全技术。  

二、现有数据库文件安全技术的局限性  

1.三种主要安全技术的不足  

第一种安全技术的不足之处是: 首先,数据库文件的安全完全依赖于操作系统,当系统配置不当时,安全根本得不到保证; 其次,当数据库文件在目录或计算机间移动时,这种保护不复存在。所以,这种安全技术的最大弊病在于要靠外部环境实现安全,一旦外部环境变化时,安全性便无法保障。  

第二种安全技术的主要不足是,数据库文件的安全完全依赖于基于密码校验的身份认证。如果用户以正常方式(采用数据库管理软件)去打开数据库文件时,身份认证无疑是个不错的安全措施,但用户以二进制文件方式打开文件时,身份认证过程会被轻易跳过。所以,这种安全技术的最大弊病在于要靠数据库管理软件实现安全,一旦非法用户采用别的方法察看数据库文件内容时,安全性就无法保障。  

第三种安全技术的局限也很明显,数据库文件一般都很大,因此,采用这种技术进行加密和解密的时间代价很大。如果用户每次打开和关闭数据库时,数据库文件要花几分钟来解密和加密,数据库用户是无法接受的。因此,这种技术安全性很高,但实现的代价太大,所以在实际中较少使用。  

2.实例——Access 97/2000数据库的安全问题  

Access 97/2000提供了用户身份认证和数据库文件加密等技术。在实际应用中,用户一般采用给数据库加密码(即用户身份认证)来限制非法用户的访问。  

Access 97/2000身份认证技术存在着严重的安全问题。在Access 97中,加密后的用户密码被存放在数据库文件特征说明部分的密码数据区中,密码数据区的大小为14个字节;在Access 2000中,加密后的密码也存放于密码数据区,密码数据区的大小为40个字节。Access 97/ 2000身份认证技术所存在的安全隐患在于:  

(1)密码数据区可以被还原。用未设置密码文件的密码数据区中内容替换已设了密码文件的密码数据区内容,可使加密码的文件不用密码也能打开。  

(2)密码可以被破解。对于Access 97,破解14个字符的密码最坏情况的比较次数仅为(93-1)×13次。对于Access 2000,只需把未设置密码文件的密码数据区内容与已设置密码文件的密码数据区内容进行模二加运算,就可得出已设密码数据库的密码。  

(3)密码容易被猜解。Access 97/2000数据库对于密码输入的错误次数没有限制,使得密码穷举完全可行。经试验,可在普通计算机上每分钟完成几万个密码的枚举。  

(4)数据库文件头可以重新构造。文件头重构就是根据数据库文件中的数据部分记录的特点,重新构建数据库文件中的文件特征说明部分,密码数据区还原也是一种文件头的重构。  

Access 97/2000数据库存在的安全问题,显现了现有数据库文件安全技术的局限与不足。造成Access 97/2000数据库安全问题的另一个原因可能是设计者考虑到Access 97/2000不会用于大型商业运算,未重视这方面的设计。  

三、数据库安全新策略  

新的数据库文件安全技术应具有以下的特点。  

1.安全性不受操作系统平台影响  

即数据库文件无论被移动到什么计算机或什么目录,它的安全防护依然存在。即无论何时何地,数据库文件都有足够的安全性。  

2.加密内容的适量  

对于有大量数据的数据库文件进行完全加密是不必要的。可行的办法是加密数据库文件中的文件特征说明部分和数据库字段说明部分,这样即使非法用户获得了数据库文件,也很难从中找到有用的内容。  

3.采用先进的加密技术  

Access 97/2000安全性差的原因也在于加密算法的简单,它所采用的模二加算法是上世纪二十年代美国电报公司用于加密电报码的加密算法。因此,采用DES、密码反馈等先进的加密技术来提高安全性是很有必要的。在对数据库文件密码、数据库字段说明部分加密时要把它们作为一个整体加密。  

4.加密和数据压缩结合  

数据压缩本身有数据隐蔽的功能,而且能够减少数据库占用的存储空间。  

5.身份认证陷阱  

非法用户常用枚举密码的办法取得密码,身份认证陷阱能使有这一行为的非法用户付出很大的时间代价也无法获得用户密码。  

6.数据库文件
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2002-10-15 20:57:00 | 只看该作者

远程-->sea.er转移

晕,我们做 vba 的,要实现很难阿
3#
 楼主| 发表于 2002-10-15 20:59:00 | 只看该作者
所以要多多学习!!!
我现在有很多,简单的问题还没弄明白!
4#
发表于 2002-10-15 21:29:00 | 只看该作者
我更多了,很多加密算法都搞不清,反正也不想去搞,我就不相信軟體脫離了硬體會有用。
只要有硬體,它就要用中斷或計時器來觸發事件。作軟體的都很背累,我們特他們作出來來,我們用就可以了,干嘛要從頭研究哪。打工真累,不打工活的更累。ACCESS常用的優秀加密方法,如果反現密碼有變更,就自毀數據庫。在ACCESS中加密要這樣作才更有效果。
一。在不同時間寫入不同標識,然後合成密碼。
二。隨時間來動態成生新密碼,采有一種好的算法。
三。動態監控密碼和判別部分是否完整。如果有變就自毀程序。
作到這些已經很不錯了,不要再玩火啦。
5#
 楼主| 发表于 2002-10-15 23:28:00 | 只看该作者
可以实现!用VBA逻辑就可以了!
相信你可以做到!
KILL"*.文件名"
6#
发表于 2011-8-31 14:01:08 | 只看该作者
学习了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2025-1-10 20:22 , Processed in 0.107328 second(s), 30 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表