Home >> Blog >> 進階加密標準 AESAdvanced Encryption Standard 簡介

進階加密標準 AESAdvanced Encryption Standard 簡介

什麼是AES?

高級加密標準 (AES) 是美國政府選擇用於保護機密信息的對稱分組密碼。

AES 在世界各地的軟體和硬體中實施,以加密敏感數據。它對於政府電腦安全、網絡安全和電子數據保護至關重要。

美國國家標準與技術研究院 ( NIST ) 於 1997 年開始開發 AES,當時它宣布需要替代數據加密標準 ( DES ),該標准開始變得容易受到暴力攻擊。

NIST 表示,更新的高級加密算法將是未分類的,並且必須“能夠在 [21 世紀] 之前保護敏感的政府信息”。它旨在易於在硬體和軟體以及受限環境(例如智能卡)中實現,並針對各種攻擊技術提供良好的防禦。

AES 是為美國政府創建的,可在提供加密服務的公共或私人、商業或非商業程式中額外自願、免費使用。但是,選擇使用 AES 的非政府組織會受到美國出口管制的限制。

AES 加密的工作原理

AES 包括三個分組密碼:

  • AES-128 使用 128 位密鑰長度來加密和解密消息塊。
  • AES-192 使用 192 位密鑰長度來加密和解密消息塊。
  • AES-256 使用 256 位密鑰長度來加密和解密消息塊。

每個密碼分別使用 128、192 和 256 位的密碼密鑰對 128 位塊中的數據進行加密和解密。

對稱,也稱為密鑰,密碼使用相同的密鑰進行加密和解密。發送者和接收者都必須知道並使用相同的密鑰。

政府將信息分為三類:機密、機密或絕密。所有密鑰長度均可用於保護機密和機密級別。最高機密信息需要 192 位或 256 位的密鑰長度。

128 位密鑰有 10 輪,192 位密鑰有 12 輪,256 位密鑰有 14 輪。一輪由幾個處理步驟組成,包括輸入明文的替換、轉置和混合,以將其轉換為密文的最終輸出。

高級加密標準 (AES)

AES 加密算法定義了許多要對存儲在數組中的數據執行的轉換。密碼的第一步是將數據放入一個數組中,然後在多個加密輪次中重複密碼轉換。

AES 加密密碼中的第一個轉換是使用替換錶替換數據。第二個轉換移動數據行。第三個混合列。使用加密密鑰的不同部分對每一列執行最後一次轉換。較長的密鑰需要更多輪次才能完成。

AES的特點是什麼?

NIST 指定新的 AES 算法必須是能夠處理 128 位塊的分組密碼,使用大小為 128、192 和 256 位的密鑰。

被選為下一個 AES 算法的其他標準包括:

  • 安全。與其他提交的密碼相比,競爭算法將根據其抵抗攻擊的能力來判斷。安全強度被認為是競爭中最重要的因素。
  • 成本。為了在全球、非排他性和免版稅的基礎上發布,候選算法將根據計算和內存效率進行評估。
  • 執行。需要考慮的因素包括算法的靈活性、硬體或軟體實現的適用性以及整體的簡單性

選擇新的 AES 算法

包括美國國家安全局 ( NSA )在內的世界密碼學界對 15 種相互競爭的對稱算法設計進行了初步分析。

1999 年 8 月,NIST 選擇了五種算法進行更廣泛的分析:

  1. MARS,由 IBM Research 的一個大型團隊提交;
  2. RC6,由 RSA Security 提交;
  3. Rijndael,由兩位比利時密碼學家 Joan Daemen 和 Vincent Rijmen 提交;
  4. Serpent,由 Ross Anderson、Eli Biham 和 Lars Knudsen 提交;和
  5. Twofish由 Counterpane Internet Security 的一大群研究人員提交,其中包括著名的密碼學家 Bruce Schneier。

以上所有內容的實現都在美國國家標準協會 (ANSI)、C 和 Java 語言中進行了廣泛測試,用於:

  • 加密和解密過程的速度和可靠性;
  • 密鑰和算法建立時間;和
  • 抵抗各種攻擊——在以硬體和軟體為中心的系統中。

全球密碼學社區的成員進行了詳細的分析,其中包括一些試圖破解自己提交的內容的團隊。

經過大量的反饋、辯論和分析,Rijndael 密碼於 2000 年 10 月被選為 AES 的提議算法。它由 NIST 作為美國聯邦信息處理標準 (FIPS) PUB 197 發布,並於 12 月被商務部長接受2001 年。

AES 於 2002 年作為聯邦政府標準生效。它還包含在國際標準化組織 (ISO)/國際電工委員會 (IEC) 18033-3 標準中,該標準指定了用於數據機密性的分組密碼。

2003 年 6 月,美國政府宣布 AES 可用於保護機密信息。AES 很快成為保護機密信息的默認加密算法,也是美國國家安全局批准的第一個可公開訪問的開放密碼,用於絕密信息。NSA 選擇 AES 作為其信息保障局用來保護國家安全系統的加密算法之一。

美國政府對 AES 的成功使用導致該算法在私營部門的廣泛使用。AES 已成為對稱密鑰加密中最流行的算法。NIST 建立的透明選擇過程有助於在安全和密碼學專家中建立對 AES 的高度信心。

AES-128 和 AES-256 有什麼區別?

安全專家認為 AES 對暴力攻擊是安全的。蠻力攻擊是指威脅參與者檢查所有可能的鍵組合,直到找到正確的鍵。因此,用於 AES 加密的密鑰大小需要足夠大,以便現代電腦無法破解它,即使考慮到基於摩爾定律的處理器速度的進步。

256 位加密密鑰比 128 位密鑰更難被蠻力攻擊猜出;然而,由於後者需要很長時間才能猜測,即使擁有巨大的計算能力,在可預見的未來也不太可能成為問題,因為惡意行為者需要使用量子計算來產生必要的蠻力。

儘管如此,256 位密鑰也需要更多的處理能力並且可能需要更長的時間來執行。當電源是一個問題時——尤其是在小型設備上——或者延遲可能是一個問題時,128 位密鑰可能是一個更好的選擇。

當黑客或是SEO機器人想要訪問一個系統時,他們會瞄準最薄弱的地方。這通常不是系統加密,無論是 128 位密鑰還是 256 位密鑰。用戶應確保所考慮的軟體能夠完成他們想要做的事情,以預期的方式保護用戶數據,並且整個過程沒有弱點。

此外,數據存儲和處理不應存在灰色區域或不確定性。例如,如果數據駐留在雲中,用戶應該知道云的位置。最重要的是,選擇的安全軟體應該易於使用,以確保用戶無需執行不安全的變通方法即可完成工作。

AES 與 RSA 有什麼區別?

AES 廣泛用於保護靜態數據。AES 的應用包括:

  • 自加密硬碟驅動器
  • 資料庫加密
  • 存儲加密

RSA ( Rivest-Shamir-Adleman) 算法通常用於 Web 瀏覽器以連接到網站、虛擬專用網絡 ( VPN ) 連接以及許多其他應用程式。

與採用對稱加密的 AES 不同,RSA 是非對稱加密的基礎。對稱加密涉及使用相同的密鑰或秘密密鑰將明文轉換為密文,以對其進行加密和解密。術語非對稱來自這樣一個事實,即有兩個相關的密鑰用於加密:公鑰和私鑰。如果使用公鑰進行加密,則只能使用相關的私鑰進行解密,反之亦然。通常,當有兩個單獨的端點時使用 RSA 密鑰。

雖然 RSA 加密可以很好地保護跨地理邊界的數據傳輸,但它的性能很差。解決方案是將 RSA 加密與 AES 加密相結合,以便將 RSA 的安全性優勢與 AES 的性能結合起來。這可以通過生成臨時 AES 密鑰並使用 RSA 加密來保護它來實現。

AES 與 DES 有什麼區別?

美國政府在 40 多年前開發了 DES 算法,以確保政府系統都使用相同的安全標準來促進互連。

DES 多年來一直是政府密碼學的關鍵,直到 1999 年,研究人員使用分佈式電腦系統破解了該算法的 56 位密鑰。2000 年,美國政府選擇使用 AES 來保護機密信息。在某些情況下仍使用 DES 以實現向後兼容性。

高級加密標準 (AES)

這兩個標準都是對稱分組密碼,但 AES 在數學上更有效。AES 的主要好處在於它的密鑰長度選項。破解加密算法所需的時間與用於保護通信安全的密鑰長度直接相關——128 位、192 位或 256 位密鑰。因此,AES 比 DES 的 56 位密鑰呈指數級強。AES 加密也明顯更快,因此它非常適合需要低延遲或高吞吐量的應用程式、固件和硬體。

對 AES 加密的攻擊

自 2000 年標准定稿以來,對 AES 加密攻擊的研究一直在繼續。各種研究人員已經發表了針對 AES 縮減輪次版本的攻擊。

研究人員發現了一些攻擊 AES 加密的潛在方法:

  • 2009 年,他們發現了一種可能的相關密鑰攻擊。這種密碼分析試圖通過研究它如何使用不同的密鑰來破解密碼。事實證明,相關密鑰攻擊僅對配置不正確的 AES 系統構成威脅。
  • 2009 年,發生了針對 AES-128 的已知密鑰攻擊。使用已知密鑰來識別加密結構。然而,這次黑客攻擊只針對 AES-128 的 8 輪版本,而不是標準的 10 輪版本,因此威脅相對較小。

AES 加密的一個主要風險來自邊信道攻擊。側信道攻擊不是嘗試暴力攻擊,而是旨在從系統中獲取洩露的信息。然而,旁道攻擊可能會減少暴力攻擊 AES 所需的可能組合數量。

旁道攻擊涉及收集有關計算設備在執行加密操作時所做的事情的信息,並使用該信息對設備的加密系統進行逆向工程。這些攻擊可能使用時間信息,例如電腦執行計算需要多長時間;電磁洩漏;音頻線索;和光學信息——例如,來自高分辨率相機的信息——以發現有關係統如何處理 AES 加密的額外信息。在一個案例中,通過仔細監控密碼對處理器緩存表的共享使用,成功地使用了側信道攻擊來推斷 AES-128 加密密鑰。

可以通過防止數據洩漏的可能方式來減輕側信道攻擊。此外,使用隨機化技術可以幫助消除受密碼保護的數據與可以使用側信道攻擊收集的任何洩露數據之間的任何關係。

AES 安全嗎?

安全專家認為,正確實施 AES 是安全的。但是,需要保護 AES 加密密鑰。如果黑客獲得對加密密鑰的訪問權,即使是最廣泛的加密系統也可能容易受到攻擊。

為確保 AES 密鑰的安全性:

  • 使用強密碼。
  • 使用密碼管理器。
  • 實施並要求多因素身份驗證 ( MFA )。
  • 部署防火牆和反惡意軟體。
  • 開展安全意識培訓,防止員工成為社會工程和網絡釣魚攻擊的受害者。