DDBMS - 数据库安全和加密

在本章中,我们将研究数据库系统面临的威胁和控制措施。 我们还将研究密码学作为一种安全工具。

数据库安全和威胁

数据安全是任何数据库系统的一个重要方面。 由于用户数量大、数据碎片化、重复性强、站点多、控制分散等特点,在分布式系统中显得尤为重要。

数据库中的威胁

  • 可用性损失 − 可用性损失是指合法用户无法使用数据库对象。

  • 完整性损失 − 当意外或恶意地对数据库执行不可接受的操作时,就会发生完整性丢失。 创建、插入、更新或删除数据时可能会发生这种情况。 它会导致数据损坏,从而导致错误的决策。

  • 机密性损失 − 由于未经授权或无意泄露机密信息而导致机密丢失。 它可能会导致非法行为、安全威胁和公众信心丧失。

控制措施

控制措施大致可分为以下几类 −

  • 访问控制 − 访问控制包括数据库管理系统中的安全机制,以防止未经授权的访问。 用户仅通过有效的用户帐户完成登录过程后即可访问数据库。 每个用户帐户均受密码保护。

  • 流量控制 − 分布式系统包含从一个站点到另一个站点以及站点内的大量数据流。 流量控制可防止数据传输被未经授权的代理访问。 流策略列出了信息可以流经的渠道。 它还定义了数据和事务的安全类。

  • 数据加密 − 数据加密是指在公共渠道传输敏感数据时对数据进行编码。 即使未经授权的代理获得了数据的访问权限,他也无法理解数据,因为数据的格式难以理解。

什么是密码学?

密码学是在通过不可靠的通信路径发送信息之前对信息进行编码的科学,以便只有授权的接收者才能解码和使用它。

编码消息称为密文,原始消息称为明文。 发送者将纯文本转换为密文的过程称为编码或加密。 接收方将密文转换为明文的过程称为解码或解密

使用密码学进行通信的整个过程可以通过下图来说明 −

密码学

传统加密方法

在传统密码学中,加密和解密是使用相同的密钥完成的。 这里,发送者使用秘密密钥的副本通过加密算法对消息进行加密。 然后,加密的消息通过公共通信渠道发送。 接收方收到加密消息后,使用相同的密钥通过相应的解密算法对其进行解密。

传统密码学的安全性取决于两个因素 −

  • 众所周知的合理算法。

  • 随机生成的、最好是只有发送者和接收者知道的长密钥。

最著名的传统加密算法是数据加密标准DES

该方法的优点是易于应用。 然而,传统密码学的最大问题是通信双方之间共享密钥。 发送密钥的方式比较麻烦,而且极易被窃听。

公钥加密

与传统密码术相比,公钥密码术使用两个不同的密钥,称为公钥和私钥。 每个用户生成一对公钥和私钥。 然后,用户将公钥放在可访问的地方。 当发送者想要发送消息时,他使用接收者的公钥对其进行加密。 接收者收到加密消息后,使用其私钥对其进行解密。 由于私钥除了接收者之外不为任何人所知,因此接收消息的其他人无法解密它。

最流行的公钥加密算法是RSA算法和Diffie-Hellman算法。 这种方法发送私人消息非常安全。 然而,问题是,它涉及大量计算,因此对于长消息来说效率低下。

<解决方案是结合使用传统密钥加密技术和公钥加密技术。 在通信方之间共享之前,使用公钥密码术对秘密密钥进行加密。 然后,借助共享密钥,使用传统加密技术发送消息。

数字签名

数字签名 (DS) 是一种基于电子商务应用程序中使用的公钥加密技术的身份验证技术。 它将一个独特的标记与消息正文中的个人相关联。 这有助于其他人验证有效的消息发送者。

通常,用户的数字签名因消息而异,以提供防伪造的安全性。 方法如下 −

  • 发送方获取消息,计算消息的消息摘要,并使用私钥对其摘要进行签名。

  • 然后,发送者将签名的摘要与明文消息一起附加。

  • 消息通过通信通道发送。

  • 接收方删除附加的签名摘要并使用相应的公钥验证摘要。

  • 接收方随后获取明文消息并通过相同的消息摘要算法运行它。

  • 如果步骤 4 和步骤 5 的结果匹配,则接收方知道消息具有完整性和真实性。