📜  DDBMS-数据库安全和密码学

📅  最后修改于: 2021-01-07 05:32:30             🧑  作者: Mango


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

数据库安全性和威胁

数据安全性是任何数据库系统的当务之急。由于大量的用户,分散的数据和复制的数据,多个站点和分布式的控制,它在分布式系统中特别重要。

数据库中的威胁

  • 可用性损失-可用性损失是指合法用户不具有数据库对象的可用性。

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

  • 机密性丢失-机密性丢失是由于未经授权或无意泄露机密信息而引起的。这可能会导致非法行为,安全威胁以及公众信心丧失。

控制措施

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

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

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

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

什么是密码学?

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

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

下图说明了使用密码学进行通信的整个过程-

密码学

常规加密方法

在常规密码术中,使用相同的密钥来完成加密和解密。在此,发送者使用密钥的副本使用加密算法对消息进行加密。然后,加密的消息将通过公共通信渠道发送。接收到加密的消息后,接收者使用相同的密钥通过相应的解密算法对其进行解密。

常规加密的安全性取决于两个因素-

  • 一种众所周知的声音算法。

  • 仅由发送者和接收者知道的随机生成的,最好是长密钥。

最著名的常规加密算法是数据加密标准DES

这种方法的优点是易于应用。然而,常规密码术的最大问题是在通信方之间共享秘密密钥。发送密钥的方法很麻烦,而且很容易被窃听。

公钥密码术

与常规密码术相比,公钥密码术使用两个不同的密钥,称为公钥和私钥。每个用户生成一对公共密钥和私有密钥。然后,用户将公共密钥放在可访问的位置。当发送者想要发送消息时,他使用接收者的公钥对该消息进行加密。接收到加密的消息后,接收者使用其私钥对其解密。由于除了接收者以外,其他任何人都不知道私钥,因此接收消息的其他任何人都不能解密它。

最受欢迎的公钥密码算法是RSA算法和Diffie-Hellman算法。此方法发送私人消息非常安全。但是,问题是,它涉及大量计算,因此对于长消息来说证明是无效的。

解决方案是结合使用常规密码和公共密钥密码。在通信双方之间共享之前,使用公钥密码术对秘密密钥进行加密。然后,在共享密钥的帮助下,使用常规加密方法发送消息。

数字签名

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

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

  • 发件人接收一条消息,计算该消息的消息摘要,并使用私钥对其进行签名。

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

  • 该消息是通过通信通道发送的。

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

  • 然后,接收者获取纯文本消息,并通过相同的消息摘要算法运行它。

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