DDBMS - 資料庫安全與加密



在本章中,我們將深入瞭解資料庫系統面臨的威脅以及控制措施。我們還將研究密碼學作為一種安全工具。

資料庫安全與威脅

資料安全是任何資料庫系統中一個必不可少的部分。由於使用者數量眾多、資料碎片化和複製、多個站點以及分散式控制,它在分散式系統中尤其重要。

資料庫中的威脅

  • 可用性損失 - 可用性損失是指合法使用者無法訪問資料庫物件。

  • 完整性損失 - 完整性損失發生在對資料庫執行不可接受的操作時,無論是意外還是惡意。這可能發生在建立、插入、更新或刪除資料時。它會導致資料損壞,從而導致錯誤的決策。

  • 機密性損失 - 機密性損失是由於未經授權或意外洩露機密資訊造成的。這可能導致非法行為、安全威脅和公眾信任的喪失。

控制措施

控制措施可以大致分為以下幾類:

  • 訪問控制 - 訪問控制包括資料庫管理系統中的安全機制,以防止未經授權的訪問。使用者只有透過有效的使用者帳戶完成登入過程後才能訪問資料庫。每個使用者帳戶都受密碼保護。

  • 流控制 - 分散式系統包含大量資料從一個站點到另一個站點以及站點內部的資料流。流控制防止資料以未經授權的代理可以訪問的方式傳輸。流策略列出了資訊可以流經的通道。它還為資料和事務定義安全類別。

  • 資料加密 - 資料加密是指在敏感資料需要透過公共通道通訊時對資料進行編碼。即使未經授權的代理訪問了資料,他也無法理解它,因為它處於不可理解的格式。

什麼是密碼學?

密碼學是編碼資訊並在傳送到不可靠的通訊路徑之前傳送的科學,以便只有授權接收者才能解碼和使用它。

編碼後的訊息稱為密文,原始訊息稱為明文。傳送方使用加密演算法和秘密金鑰副本將明文轉換為密文的流程稱為編碼或加密。接收方使用相應的解密演算法和相同的秘密金鑰將密文轉換為明文的流程稱為解碼或解密

使用密碼學的整個通訊過程可以透過以下圖表來說明:

Cryptography

傳統加密方法

在傳統密碼學中,加密和解密使用相同的金鑰進行。在這裡,傳送方使用加密演算法和秘密金鑰的副本對訊息進行加密。然後,加密後的訊息透過公共通訊通道傳送。接收方在收到加密的訊息後,使用相同的金鑰和相應的解密演算法對其進行解密。

傳統密碼學中的安全性取決於兩個因素:

  • 一種對所有人已知的健全演算法。

  • 一個隨機生成的、最好是長的秘密金鑰,只有傳送方和接收方知道。

最著名的傳統密碼學演算法是資料加密標準DES

這種方法的優點是易於應用。但是,傳統密碼學最大的問題是在通訊雙方之間共享金鑰。傳送金鑰的方法既麻煩又極易被竊聽。

公鑰密碼學

與傳統密碼學相比,公鑰密碼學使用兩個不同的金鑰,稱為公鑰和私鑰。每個使用者生成一對公鑰和私鑰。然後,使用者將公鑰放在一個可訪問的位置。當傳送方想要傳送訊息時,他使用接收方的公鑰對其進行加密。接收方在收到加密的訊息後,使用他的私鑰對其進行解密。由於私鑰除了接收方之外無人知曉,因此接收訊息的其他任何人均無法對其進行解密。

最流行的公鑰密碼學演算法是RSA演算法和Diffie-Hellman演算法。此方法對於傳送私人訊息非常安全。但是,問題在於,它涉及大量的計算,因此對於長訊息而言效率低下。

解決方案是結合使用傳統密碼學和公鑰密碼學。在通訊雙方之間共享之前,使用公鑰密碼學對金鑰進行加密。然後,使用共享金鑰和傳統密碼學傳送訊息。

數字簽名

數字簽名 (DS) 是一種基於公鑰密碼學的身份驗證技術,用於電子商務應用程式。它將唯一的標記與個人在其訊息正文中相關聯。這有助於其他人驗證訊息的有效傳送者。

通常,使用者的數字簽名因訊息而異,以防止偽造。方法如下:

  • 傳送方獲取訊息,計算訊息的摘要並使用私鑰對其摘要進行簽名。

  • 然後,傳送方將簽名的摘要與明文訊息一起附加。

  • 訊息透過通訊通道傳送。

  • 接收方刪除附加的簽名摘要,並使用相應的公鑰驗證摘要。

  • 然後,接收方獲取明文訊息並將其透過相同的摘要演算法執行。

  • 如果步驟 4 和步驟 5 的結果匹配,則接收方知道該訊息具有完整性和真實性。

廣告