安全措施
统计数据库又一个特点是它既要为各类用户方便提供有关群体的各种统计数据,又不能因此而泄露个体的数据,包括防止用户采用推导的办法而获得个体的信息,从而达到保密的目的。例如全国的或某省市的某种产品的产量是不保密的,但涉及某个具体工厂的这种产量是不应泄露的。在统计数据库中虽然不允许一般用户直接访问个体的机密信息,但在每个统计结果中都会有残留着原始个体数据的痕迹,如不采取适当的措施,用户就可以利用合法的统计数据推导而获得个体信息。为了防止泄露一般可采用下列安全措施。
-
限制查询集合的大小。如果统计查询集合的大小低于或高于预定的阈值,则该查询将被拒绝。虽然限制查询集合的大小可以直接防止个体信息的泄露,但用户可以采用多次查询而推导出个体机密信息。
-
限制查询集合交的大小。采用这种方法时,系统应当保存建库以来所有进行过的统计查询的痕迹,在每进行一次新查询时都要检查该新查询与进行的查询的交集的大小是否低于阈值,以决定是否执行或拒绝这个查询。这种方法虽可确保个体信息不被泄露,但由于每个查询是否可执行都要
追溯到自从数据库建立以来有关的情况,所以,系统要增加附加的存储信息。一般说来它只适用于规模较小的和用户较少的数据库。
-
随机取样查询。采用这种方法,每次查询时,查询集体是随机地在数据库抽样而取得。这样即使通过多次查询也不可能正确地推导出个体信息,从而防止个体信息的泄露。这种技术适用于大型数据库。
-
对数据值进行微扰。为了防止泄露个体信息,对统计查询的结果可用微小的数值进行打扰。这样就不会通过多次查询推导出正确的个体信息。所采用的办法可在查询时对输出的数据进行打扰,或者对存储在数据库中的数据进行打扰。它的问题是微扰的值应当取得很适当,不会因打扰所引入的误差太大而影响使用,又不能太小以至能推导出较正确的个体信息。
-
对数据库进行划分。在许多应用中,可以预先规定若干个个体群, 而只在这些群体上进行统计以满足查询的需要。由于个体群是预先规定的, 所以就不能随意地进行查询而推导出所需个体机密信息。
这种方法的问题是:有时会因所定义的群体太小(只包含数量较少的个体)而为推导出个体信息提供方便。
统计数据库的安全措施的种类很多,除上述以外还可采用结合具体的数据模型、数据结构的各种安全措施。为了确保安全性,可根据具体使用环境以及所采用的数据模型等选用适当的安全措施。
在科学数据库中访问个体数据一般是允许的。因此,对于这类数据库一般不需要采用的特殊的安全措施。