iT邦幫忙

2018 iT 邦幫忙鐵人賽
0
Security

CEH 之越挫越勇系列 第 33

[CH18]加密技術(Cryptography)

  • 主題
    依數學公式或演算法做資料格式轉換(Conversion of data),由明文改為密文
    其目的是為了防止輕易的被猜測或取得

  • 案例

    • Heartbleed:
      OpenSSL 弱點 CVE-2014-0160,利用 OpenSSL 利用 SSL/TLS in RFC6520
      利用網路上的交易,若當下有人進行刷卡,登入憑證、信用卡卡號…利用Buffer Overflow 取得私鑰(Private Key),而導致前 64KB 露出明碼機敏資訊。(更新OpenSSL 1.0.1g以上無此弱點)

    • Poodlebleed:
      並非SSL憑證的弱點,屬利用中間人攻擊(MITM)利用舊版瀏覽器降版的弱點解密Cookie,竊取線上的機敏訊息。
      存在於SSL 3.0的弱點,建議更新至TLSv1.2或更高版本 (CVE-2014-3566)

  • 類型
    分對稱式及非對稱式兩種。
    對稱式代表加密與解密均為相同密鑰,非對稱式為一組公鑰與私鑰。
    對稱式使用上解密較快速;非對稱式使用上較為安全。

    • 對稱式(Symmetric):DES、AES、3DES、DESX、Blowfish、IDEA、RC4、RC5、RC6

      • DES(Data Encryption Standard):封包分段加密,速度快,適用於大量資料加密,分段使用 56 bit,由於金鑰過短,故易於破解,故後續進階為AES

      • AES(Advanced Encryption Standard):高階分段加密,以128 bit、192或256位的金鑰做加密,較為安全。

      • 3DES:使用3種不同密鑰對相同的資料進行3次加密,安全性更高。

      • RC4:Rivest Cipher 4,是一種流加密算法,密鑰長度可變。它加解密使用相同的密鑰,因此也屬於對稱加密算法。RC4是有線等效加密(WEP)中採用的加密算法,也曾經是TLS可採用的算法之一。

      • RC5:RC5具有可變塊大小(32\64\128位元)

      • RC6:使用RC5加上整數乘法,並實現4個4位工作暫存器,而不是RC5的2個2位暫存器

    • 非對稱式(Asymmetric):RSA、DSA、ECC、Diffie-Hellman、El Gamal

      • RSA (Rivest Shamir Adleman):發明者的名字命名,公鑰和私鑰都是兩個大質數的函數

      • DSA (Digital Signature Algorithm):DSA 的一個重要特點是兩個質數公開,這樣,當使用別人的公鑰時,即使不知道私鑰,你也能確認它們是否是隨機產生的,還是作了手腳,RSA 算法卻作不到。

      • RSA 與 DSA 比較:

        • RSA 運算量很小,驗證快,
        • DSA 運算步驟很繁雜,驗證慢,
        • DSA 只能用於數位簽章,無法進行金鑰交換
        • 進行數位簽章產生時,DSA比RSA快速
      • ECC (Elliptic Curves Cryptography):橢圓曲線算法

        • 相同密鑰長度下,安全性能更高。如160位ECC已經與1024位RSA、DSA有相同的安全強度
        • 運算量小,處理速度快。在私鑰的處理速度上(解密和簽名),ECC遠比RSA、DSA快
        • 存儲空間佔用小。ECC的密鑰尺寸和系統參數與RSA、DSA要小的多
        • 頻寬要求低。使得ECC具有廣泛得應用前景。
      • DH (Diffie-Hellman):

      • 允許兩名用戶在公開媒體上交換資料以生成"一致"的、可以共享的密鑰。換句話說,就是由甲方產出一對密鑰(公鑰、私鑰),乙方依照甲方公鑰產生乙方密鑰對(公鑰、私鑰)。以此為基準,作為數據傳輸保密基礎,同時雙方使用同一種對稱加密算法構建本地密鑰(SecretKey)對數據加密。這樣,在互通了本地密鑰(SecretKey)算法後,甲乙雙方公開自己的公鑰,使用對方的公鑰和剛才產生的私鑰加密數據,同時可以使用對方的公鑰和自己的私鑰對資料解密。不單單是甲乙雙方兩方,可以擴展為多方共享數據通訊。

    • Hash:HAVAL、SHA、SHA-1、HMAC、HMAC-MD5、HMAC-SHA1
      單向雜湊函數(one way hash function):MD2、MD4、MD5
      接收任意長度的位元組,並產生唯一的固定長度(128 bit),這個過程是單向的不能再由簽名反向產生訊息,並且其數質是唯一的。

      • MD2

      • MD4

      • MD5

      • SHA1

      • SHA2

      • SHA3

    • SSH (Secure Shell):
      建立在應用層和傳輸層上的安全協定,提供加密通道供遠端傳輸。
      透過 SSH 可以對所有傳輸的數據進行加密,也能夠防止 DNS 欺騙和 IP 欺騙。

  • 公開金鑰基礎建設(Public Key Infrastructure,PKI)
    一組由硬體、軟體、參與者、管理政策與流程組成的基礎架構,其目的在於創造、管理、分配、使用、儲存以及撤銷數位憑證
    對「資料身分識別」、「交易資料完整」、「交易不可否認」或「保密」等其中之一有所需求,就可以使用 PKI,日常生活中會接觸到的PKI應用還包括網路報稅、電子郵件加密簽名、線上購物系統等…

  • E-Mail 加密

  • 硬碟加密

    • 保密(Confidentiality)

      • Privacy
      • Passphrase
      • Hidden Volumes
    • 加密(Encryption)

      • Volume Encryption
    • 保護(Protection)

      • 藍光光碟(Blue Ray) //時代的眼淚(?)
      • DVD
      • Backup
    • 相關工具:

      • Sysmantec Drive Encryption
      • R-Crypto
  • 加密攻擊

    • 只知密文破解 (Ciphertext Only Attack):藉由所有可能的密文以找出明文或金鑰。

    • 已知明文破解 (Known Plaintext Attack):藉由已知的明文與找出對應的演算法找出對應的密文取得金鑰。

    • 選擇明文破解 (Chosen Plaintext Attack):利用特殊方法將明文發送給傳送端,再由傳送者取得加密後的密文 (即破解者可以控制明文與其相對應的密文) ,以找出加密金鑰。

    • 選擇密文破解 (Chosen Ciphertext Attack):利用特殊方法將密文發送給接收端,再由接收者取得解密後的明文(即破解者可以控制密文與其相對應的明文) ,以找出加密金鑰。

    • 選擇金鑰攻擊(Chosen-key attack):

    • 自適應選擇明文攻擊(Adaptive chosen-plaintext Attack):

    • 時序攻擊(Timing attack):即時回應造成資源消耗,進而暴露機敏資訊。

      • OpenSSL、OpenSSH 都曾經有過時序攻擊的漏洞
    • 軟磨硬泡攻擊(Rubber hose attack):威脅、勒索,或者折磨某人,直到他給出密鑰為止。//考古題出過

    • 暴力破解(Brute-Force Attack):嘗試所有可能的密碼組合來破解密碼。

      • 字典檔
      • 機器人
    • 中途攻擊(Meet-in-the-Middle):藉以取明文與密文之間的變化去取得演算法的內容

      • 舉例來說,像說丟不同的變數或字典檔,回覆的內容也會不同,籍以猜測真正的密碼
    • 跨頻道攻擊 (Side Channel Attack)

      • 時間資訊、功率消耗、電磁泄露或是聲音頻率均可以提供額外的資訊來源,可被利用於進一步對系統的破解
      • 實體攻擊(Physical attack),如砸鎖
      • 舉例來說,以偷取信用卡的讀卡機來說,詐騙集團可以透過極近的距離,取得電子簽證的信用卡號及驗證碼
  • 工具

    • 分析工具:

      • CypTool (加密及分析工具)
    • 加密工具:

      • HD5:HashMyFiles
      • Advanced Encryption Package 2014
      • BCTextEncoder
      • WinAES //美國國家演算法
    • Mobile 加密工具:

  • 考題相關

    • Government Access to Keys (GAK)

參考來源

網路安全-實務與理論(第二版):http://crypto.nknu.edu.tw/textbook/chap5.pdf
宅學習-使用金鑰登入 SSH:https://sls.weco.net/blog/jeffean/30-oct-2009/13652
壹讀-加密與解密:https://read01.com/mNJE.html
RC4 :https://zh.wikipedia.org/zh-tw/RC4
RC5 :https://en.wikipedia.org/wiki/RC5


上一篇
[Day31]回頭翻新 XD
下一篇
[DayN]未完成心得
系列文
CEH 之越挫越勇34

尚未有邦友留言

立即登入留言