iT邦幫忙

2023 iThome 鐵人賽

DAY 25
0
Software Development

軟體架構備忘錄系列 第 25

Day 25 資料儲存 - 資料安全 (知識點122~125)

  • 分享至 

  • xImage
  •  

思考的問題

如何保護資料的安全?


對稱加密

描述

對稱加密(Symmetrical Encryption) 是一種加密技術,使用同一把金鑰對資料進行加密和解密。

使用情境

  • 對稱加密適用於需要提供高效的資料加密機制的場景,通常結合安全的金鑰傳遞機制以防止金鑰洩露。

優點

  • 加解密速度快,適合用於傳輸資料。

缺點

  • 由於加密和解密使用同一把金鑰,如果通過網路傳輸金鑰,會存在安全性問題。
  • 可以使用金鑰交換技術安全地生成共享金鑰,例如:
    1. 使用RSA加密金鑰傳輸。
    2. 使用Diffie-Hellman演算法生成相互通訊的金鑰。

案例

  • DES (Data Encryption Standard) :(過時) 由於DES算法已可被暴力破解,現已不推薦使用。
  • AES (Advanced Encryption Standard)

非對稱加密

描述

非對稱加密(Asymmetrical Encryption) 是一種加密技術,與對稱性加密不同,它使用一對金鑰,包括公鑰和私鑰,來進行加密和解密操作。

運作方式如下:先產生一組公私鑰對。公鑰可以在網路上傳輸給其他人,但私鑰必須保密,不會在網際網路上傳輸。在加密過程中,傳送者使用私鑰對資料進行加密或數位簽名。接收者收到加密後的資料後,使用公鑰鑰對其進行解密或驗證簽名。如果解密或驗證成功,那麼可以確認該資料確實來自公鑰對應的私鑰,且在傳輸過程中沒有被篡改。

使用情境

  • 數位簽章: 用於驗證檔案或資料的真實性和完整性,防止偽造或篡改。
  • 訊息加密: 用於保護敏感資訊在網路傳輸過程中的安全性,只有私鑰擁有者能夠解密讀取內容。
  • HTTPS訊息傳輸: 用於對網站的傳輸資料進行加密,確保通訊過程中的隱私和安全。
  • 安全傳輸對稱性加密金鑰: 在對稱性加密中,用非對稱性加密演算法傳輸對稱加密的金鑰,確保金鑰在傳輸過程中不被洩露。

優點

  • 安全性較高: 私鑰不會在網路上傳輸,只有私鑰持有者能夠解密或簽署資料,因此提供較高的安全性。
  • 安全金鑰交換: 可以用於安全地交換對稱加密演算法的金鑰,增加了整個系統的安全性。

缺點

  • 加解密速度較慢: 與對稱性加密相比,非對稱性加密的演算法複雜性較高,因此需要更長的時間來完成加解密操作。

案例

  • RSA(Rivest-Shamir-Adleman)
  • DSA(Digital Signature Algorithm)
  • ECC(Elliptic Curve Cryptography)

雜湊

描述

雜湊 (Hashing) 演算法是通過壓縮和轉換生成摘要的一種演算法。

性質

  • 相同的原文將產生固定的雜湊值,且無法通過雜湊值逆推原文內容。
  • 存在多種雜湊演算法的實現,例如MD5、SHA。
  • 一些雜湊演算法已被認為是不安全的,應避免使用,例如MD5、SHA1。應謹慎選擇雜湊演算法。
  • 可以使用鹽值(Salt)來增加雜湊演算法的破解難度。

使用情境

  • 數位簽名:將文字生成雜湊值,並使用私鑰進行加密,將雜湊值與文字一起傳輸,用於驗證文字未被篡改。
  • 密碼儲存:將密碼轉換為雜湊值儲存在資料庫中。使用者登錄時,將輸入的密碼轉換為雜湊值進行比對驗證。即使駭客獲取了資料庫權限,由於資料庫中記錄的是無法還原的雜湊值,因此可以避免密碼洩露。
  • 生成雜湊表:在系統架構中,通過雜湊表可以在常數時間內在大量資料中快速尋找目標值。
  • 錯誤校正:通過資料內容不同,雜湊值也不同的特性,使用雜湊值驗證資料傳輸中是否丟失。

案例

  • MD2, MD4, MD5
  • SHA1, SHA2, SHA256
  • RIPEMD

數位簽名

描述

數位簽名 (Digital signature) 是通過使用私鑰對文件內容進行簽名。由於私鑰不會向外傳輸,因此接收到文件的人,如果可以通過公鑰成功驗證簽名內容,就可以確定該文件由私鑰所有者簽署。

數位簽名的流程

  1. 生成端將原始文件內容使用雜湊演算法生成數字摘要。
  2. 生成端使用私鑰對數字摘要進行加密,生成數位簽名。
  3. 驗證端使用公鑰對數位簽名進行解密,還原出數字摘要。
  4. 驗證端將接收到的文件內容使用相同的雜湊演算法生成數字摘要。
  5. 驗證端比對數字摘要是否一致,以判斷文件是完整的原始文件,並且此文件是由信任的單位生成。

使用情境

  • 確保文件真實性:通過網路交換的文件存在被篡改的風險,通過數位簽名機制可以確認該文件由私鑰所有者生成,並且未被篡改。

上一篇
Day 24 資料儲存 - 高可用儲存 (知識點118~121)
下一篇
Day 26 DevOps - CI自動建置 (知識點126~128)
系列文
軟體架構備忘錄30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言