数据库安全问题:推理(6)

2008-02-23 07:43:38来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

  上面的操作过程都正确贯彻了安全规则,禁止没有相应安全权限的人看到比他不应该看到的分类数据。然而,假设对于航班号和货舱的排列有一个不能重复输入信息的限制条件,这样能够避免把两次出货任务安排到同一个货舱。当小兵张三看到看到1254航班的C货舱没有安排任何货物时,他很可能试图为该航班插入一条运输蔬菜的新记录。但是,当他试图插入这条记录时,当唯一对应的限制条件起作用时,他的插入操作就会失败。这时,这个小兵张三完万能够根据上面这些数据来推理出1254航班上将要运送一批机密货物。然后,他可能会交叉引用航班信息表,找到这次秘密运输任务的发货地、目的地和其他更多信息。

  这自然引出了一个问题:您要怎么做才能防止这种推理问题的发生?基本上,您有两个选择。第一,您能够把安全列纳入到唯一性的约束条件中。这种技术,我们称之为多实例(polyinstantiation),使同一张表格中的不同记录处于不同的安全级别上。这样小兵张三就永远不会知道最高机密运输任务的任何信息了。第二,您能够处理对货舱的双预约请求,把小兵张三要运的一卡车蔬菜就搁置在机场。第二个选择只是简单的保持表格的原样。小兵张三可能知道有一个安全分类的运输任务要执行,但不会有机会获取运输内容的任何信息。无论哪一个解决方案都很理想,但都需要对安全和实用之间的平衡做出某种意义上的取舍。

IT专家网原创文章,未经许可,严禁转载!


标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇: 运行多个MYSQL服务器

下一篇: 数据库设计中的14个技巧