什麼是加密?

加密是一種透過使用編碼演算法、雜湊和簽章來保護資訊的實務。資訊可以是靜態 (例如硬碟上的檔案)、傳輸中 (例如雙方或多方之間交換的電子通訊) 或使用中 (在對資料進行運算時)。加密有四個主要目標:

  • 機密性 – 只有授權的使用者能夠存取資訊。
  • 完整性 – 確保資訊未被操控。
  • 身分驗證 – 確認資訊的真實性或使用者的身分。
  • 不可否認性 – 防止使用者否認先前的承諾或動作。

加密使用了多種低階加密演算法,以實現其中一個或多個資訊安全目標。這些工具包括加密演算法、數位簽章演算法、雜湊演算法和其他函數。本頁將介紹一些最常用的低階加密演算法。

加密的用途是什麼?

加密起源於在軍事和政治人物之間傳送敏感資訊。可以對訊息進行加密,這樣一來,除了預期的收件人之外,對其他任何人來說,這些都是隨機文字。

今天,原始的加密技術已被徹底破解。它們已被完全破解,如今僅會出現某些報紙的益智遊戲板塊中。幸運的是,該領域在安全性方面取得了重大進展,而今天使用的演算法依賴於嚴格的分析和數學來保證其安全性。

隨著安全性的發展,密碼學領域已經擴展到囊括更廣泛的安全目標。其中包括訊息驗證、資料完整性、安全運算等。

加密是現代社會的基礎。它是無數網際網路應用程式的基礎,而這些應用程式須透過安全超文字傳輸協定 (HTTPS)、安全文字和語音通訊,乃至數位貨幣傳輸。

什麼是加密?

加密演算法是將純文字訊息轉換為加密密文的程序。現代演算法使用了進階數學及一個或多個加密金鑰。這樣一來,能夠相對輕鬆地加密訊息,但在不知道金鑰的情況下幾乎不可能將其解密。

根據金鑰的功能,加密技術可分為對稱和非對稱兩類。

什麼是對稱金鑰加密?

對稱金鑰加密演算法使用相同的加密金鑰來加密純文字和解密密文。對稱加密要求所有預期的訊息收件人都可以存取共享金鑰。

以下圖例顯示了加密和解密如何使用對稱金鑰和演算法,假設所有各方共用同一金鑰。

在第一個圖例中,對稱金鑰和演算法可用於將純文字訊息轉換為密文。第二個圖例顯示了使用相同的私密金鑰和對稱演算法將密文轉換回純文字。                

  

其中一項最熱門的區塊加密技術是進階加密標準 (AES)。此區塊加密技術支援 128、192 或 256 位元金鑰。AES 通常與 Galois/Counter Mode (GCM) 結合使用,即 AES-GCM,可產生經過身分驗證的加密演算法。

AES 是在全球範圍內執行的加密產業標竿。其安全性已眾所周知,而高效的軟體與硬體實作也廣泛可用。

什麼是非對稱 (公有金鑰) 加密?

 

非對稱 (或公有金鑰)加密包含各式各樣的演算法。這些都是基於在一個方向上相對容易執行但不容易逆轉的數學問題。

此類問題的一個知名範例是因式分解問題:對於精心選擇的素數 pq,我們可以快速運算乘積 N=p*q。但是,若僅給定 N,則很難復原 p q

基於因式分解問題的常見公有金鑰加密演算法是 Rivest-Shamir-Adleman (RSA) 函數。當與適當的填充方案結合使用時,RSA 可用於多種用途,包括非對稱加密。

如果加密方案使用一個金鑰 (公有金鑰) 加密資料,並使用一個不同的但又在數學上相關的金鑰 (私有金鑰) 解密資料,則稱為非對稱加密方案。

如果只知道公有金鑰,則必然無法在運算上確定私有金鑰。因此,公有金鑰可以廣泛散發,而私有金鑰需要保密並受到保護。這些金鑰合稱為金鑰對。

一種熱門的非對稱加密方案是 RSA-OAEP,它是 RSA 函數與最優非對稱加密填充 (OAEP) 方案的組合。RSA-OAEP 通常僅用於加密少量資料,因為它速度緩慢並且具有比純文字大得多的密文。

什麼是混合加密?

因為像 RSA-OAEP 這樣的公有金鑰演算法的效率要低於其對稱演算法,且不常用於直接加密資料。不過,它們透過提供一種金鑰交換方式,在加密生態系統中發揮了重要作用。

為了使用對稱加密,各方必須共享一個金鑰。雖然這個金鑰可以透過現有的加密管道傳送,但如果我們已經有一個安全管道,那麼我們就不需要新的金鑰了。反之,我們會使用公有金鑰加密來解決金鑰交換問題。

以下是交換對稱金鑰的兩種常用方法。

  • 非對稱加密 一方產生對稱金鑰,然後使用 RSA-OAEP 等演算法將金鑰加密為另一方的公有金鑰。收件人可以使用他們的私有金鑰解密密文,以恢復對稱金鑰。
  • Diffie-Hellman 金鑰交換 – (DH)。Diffie-Hellman 是一種不同類型的公有金鑰加密演算法,專門設計用於幫助各方在沒有安全管道的情況下就對稱金鑰達成一致。Diffie-Hellman 所依據的數學問題與 RSA 函數不同,且不如 RSA 靈活。但是,它確實具有更有效的結構,因此在某些使用案例中要更為適合。

這種用於金鑰交換的公有金鑰加密和用於批量資料加密的對稱加密的組合稱為混合加密

混合加密使用公有金鑰加密的獨特屬性,以對稱加密的效率在不受信任的管道上交換機密資訊。這為資料隱私權實現了實用的端對端解決方案。

混合加密廣泛用於 Web 的資料傳輸協定,例如 Transport Layer Security (TLS)。當您連接到使用 HTTPS (利用 TLS 的 HTTP 安全) 的網站時,您的瀏覽器將協商加密演算法以保護您的連接。其中包括用於金鑰交換、對稱加密和數位簽章的演算法。

什麼是數位簽章?

數位簽章方案是一種公有金鑰加密,可確保資料的完整性、真實性和不可否認性。

簽章程序可視為類似使用私有金鑰加密檔案。簽署者使用其私有金鑰在數位文件 (例如檔案或程式碼片段) 上產生「簽章」。

此簽章對於文件/私有金鑰對是唯一的,可以附加到文件並使用簽署者的公有金鑰進行驗證。數位簽章包含兩種常見的演算法:RSA 概率簽章方案 (RSA-PSS) 和數位簽章演算法 (DSA)。

什麼是訊息驗證碼?

訊息驗證碼 (MAC) 是數位簽章的對稱版本。有了 MAC,兩方或多方可共享一個金鑰。其中一方建立了一個 MAC 標籤 (這是數位簽章的對稱版本),並將其附加到文件中。另一方則可使用用於建立標籤的相同金鑰來驗證訊息的完整性。

請注意,多方共享用於建立 MAC 標籤的金鑰,因此 MAC 不能用於身分驗證或不可否認性,因為不清楚是哪一方建立了此標籤。

MAC 可以是獨立的演算法,例如雜湊訊息驗證碼 (HMAC)。然而,由於訊息完整性幾乎總是有價值的保證,因此經常會將其整合至 AES-GCM 等對稱加密演算法中。

什麼是橢圓曲線密碼學?

橢圓曲線密碼學 (ECC) 是一種基於橢圓曲線數學理論的公有密鑰加密技術。

ECC 的最大優勢在於它可以提供與更傳統技術類似的保護級別,但金鑰更加精巧且操作更快。ECC 的效率使其非常適合用於運算能力相對較低的裝置,例如行動電話。

ECC 可用於使用 Diffie-Hellman (ECDH) 的橢圓曲線變數進行有效的金鑰交換,或使用橢圓曲線數位簽章演算法 (ECDSA) 進行數位簽章。由於 ECC 的速度和靈活性,網際網路上的許多應用程式皆已廣泛予以採用。

什麼是密碼學中的雜湊?

加密雜湊函數是一種將任意資料轉換為固定長度「指紋」的工具。雜湊函數經過精心設計,因此很難找到具有相同指紋的兩個不同輸入,也很難找到指紋與固定值相符的訊息。

與加密方案、簽章方案和 MAC 不同,雜湊函數沒有金鑰。任何人都可以運算給定輸入的雜湊,並且雜湊函數將始終在相同的輸入上產生相同的輸出。

雜湊函數是大型加密演算法和通訊協定中的重要建置區塊。其中包括數位簽章演算法、專用 MAC 演算法、身分驗證協定和密碼儲存。

什麼是加密貨幣?

加密貨幣是一種數位貨幣,其中交易由分散式系統而非由集中式授權單位進行驗證和維護。加密貨幣是密碼學應用的一個範例。

加密貨幣使用許多不同的低級加密演算法來建立受信任的安全平台。加密貨幣使用了本頁討論的許多概念——橢圓曲線密碼學、數位簽章、雜湊函數等等。總之,這些演算法允許在沒有集中式授權單位的情況下建立信任與責任。

什麼是後量子密碼學?

在過去的幾十年裡,人們對量子運算進行了大量投資。量子電腦運用了量子物理學,可以解決傳統電腦無法運算的數學問題,例如因式分解問題。

大型量子電腦將破解我們今天使用的公有金鑰密碼系統,包括基於 Rivest-Shamir-Adleman (RSA) 函數的密碼系統。這些演算法的中斷將意味著我們今天使用的許多應用程式和通訊協定會喪失機密性與身分驗證。

儘管當今存在小型量子電腦,但它們太小而無法破解密碼演算法。目前尚不清楚加密量子電腦 (CRQC) 是否可用或何時可用。開發 CRQC 需要重大的科學突破。

後量子密碼學 (PQC) 是指在我們今天使用的電腦上執行的加密演算法,並且尚不清楚其是否容易受到大規模量子電腦的攻擊。

進一步了解 AWS 與 AWS Post-Quantum Cryptography 的全球加密社群進行抗量子密碼專案和工作小組的研究和工程參與。

什麼是密碼編譯運算?

到目前為止介紹的工具允許您使用靜態加密和傳輸中加密。傳統而言,必須先將資料進行解密,然後方可用於運算之中。密碼編譯運算可提供工具以直接對受密碼保護的資料進行操作,進而填補了這一空白。

密碼編譯運算一詞涵蓋了廣泛的技術,包括安全多方運算、同態加密和可搜尋加密。儘管它們在細節上有所不同,但這些技術透過加密技術保護資料,允許您對受保護的資料執行運算,同時保持該資料的機密性。

AWS 向客戶提供哪些加密服務?

AWS 的加密服務運用了一系列廣泛的加密和儲存技術,從而可確保靜態資料或傳輸中資料的完整性。AWS 為加密運作提供了多種工具:

許多 AWS 服務在資料傳輸或儲存期間要依賴這些加密服務。如需此類服務的清單以及它們如何使用加密實務的概觀,請參閱其他 AWS 服務

AWS 還提供開放原始碼加密庫:

  • AWS libcrypto (AWS-LC) 為 AWS 及其客戶提供由 AWS 加密團隊維護的一般用途加密庫。它基於來自 Google BoringSSL 專案和 OpenSSL 專案的程式碼。AWS-LC 包含 TLS 和常見應用程式所需的可攜式 C 語言演算法實作。對於效能關鍵演算法,包括針對 x86 和 ARM 的最佳化組件版本。
  • s2n-tls 提供了 TLS/SSL 協定的實作,其設計以簡單、小巧和快速為準並以安全性為首要考量。

您還可以參閱 Amazon Science 部落格AWS 安全部落格。在部落格中,我們詳細介紹了我們為開發、基準參考和原型加密研究所做的工作。我們撰寫有關密碼編譯運算、後量子密碼學、驗證密碼等內容的文章。

如何在 AWS 中使用符合政府或專業法規的加密服務?

AWS 加密服務符合各種加密安全標準,讓您可以輕鬆保護您的資料,而無需擔心政府或專業法規。如需 AWS 資料安全標準合規性的完整清單,請參閱 AWS 合規計劃

AWS 密碼學後續步驟

查看額外的產品相關資源
檢視雲端中安全服務的免費優惠 
註冊免費帳戶

立即存取 AWS 免費方案。 

註冊 
開始在主控台進行建置

開始在 AWS 管理主控台進行建置。

登入