您的 IP: 未知 · 您的狀態: 受到保護未受保護未知

跳轉到主要內容

密碼學是什麼?

密碼學是一門透過將資訊轉換為接收者無法理解的形式,來保持資訊安全的藝術。但密碼學的運作原理為何?其對於網路安全的重要性何在?讓我們一起深入了解。

密碼學是什麼?

密碼學的定義為何?

密碼學的定義

密碼學(cryptography)是一種隱藏或編碼資訊的過程,如此一來,只有訊息的接收者才能讀取。數千年來,密碼學一直被用於對資訊進行編碼,並沿用至銀行卡、計算機密碼和電子商務領域中。

現代密碼學技術包含能夠加密和解密資訊的演算法和密碼,例如,128 位元和 256 位元加密金鑰。進階加密標準(AES)等現代密碼被視為幾乎無法破解。

常見的密碼學定義是對資訊進行編碼,以確保只有訊息的傳送對象才能讀取和處理資訊。此種資安做法亦稱為密碼學,其結合了計算機科學、工程學和數學等多種學科,創造出可隱藏資訊真實含義的複雜密碼。

密碼學可追溯到古埃及的象形文字,但其概念對於確保通訊和資訊在傳輸過程中的安全,以及防止資訊被不受信任方讀取仍至關重要。密碼學使用演算法和數學概念,透過密碼金鑰和數位簽章等技術將訊息轉換為難以破譯的程式碼,進而保護數位隱私、信用卡交易、電子郵件和網頁瀏覽。

密碼學的重要性為何?

密碼學是一種重要的網路安全工具。使用密碼學意味著資料和使用者有了額外的安全防護層,可以確保隱私權和機密性,並有助於防止資料被網路犯罪份子竊取。密碼學常見的用途和示例如下:

  • 機密性:只有目標接收者才能存取和讀取資訊,因此對話和資料可保持隱私。
  • 資料完整性:密碼學可確保編碼資料在從傳送者到接收者的過程中,不會被修改或篡改,不會留下可追蹤的標記——數位簽章就是一個例子。
  • 身份驗證:驗證身份和目的地(或來源)。
  • 不可否認性:傳送者對其訊息負責,因為他們事後無法否認訊息已被傳送——數位簽章和電子郵件追蹤工具就是這方面的例子。

密碼學和網路安全

隨著電腦的發展和其在開放網路上的連線,以及我們日常生活的日益數位化,人們發現有必要保護資訊在網路上傳輸時不被攔截或篡改,對於使用加密技術來保護大量敏感資訊的需求變得更加迫切。現在,密碼學在線上空間的許多方面都至關重要,加密成為網路安全的重要組成部分,因為每天都會傳輸如此大量的敏感資料。以下是密碼學在現實生活中的實際應用:

  • 使用虛擬私人網路(VPN)或 SSL 等通訊協定安全可靠地瀏覽網路。
  • 建立存取控制限制,只有擁有正確權限的人才能執行特定操作或功能,或是存取特定內容。
  • 通過端到端加密保護不同類型的線上通訊,包含電子郵件、登入憑證,甚至是簡訊(如 WhatsApp 或 Signal)。
  • 保護使用者免受各種類型的網路攻擊,例如,中間人攻擊。
  • 協助公司得以滿足法律要求,例如,《一般資料保護規則》(GDPR)中規範的資料保護。
  • 建立和驗證登入憑證,尤其是密碼。
  • 允許加密貨幣的安全管理和交易。
  • 啟用數位簽章,安全簽署線上文件和合約。
  • 登入線上帳戶時驗證身份。

密碼學的類型

密碼學演算法主要有三種,每種都有特定的用途。

  • 對稱金鑰加密(Symmetric Key Cryptography)。此種較簡單的加密形式,因傳送方和接收方共用一把金鑰來加密和解密資訊而得名。例如,資料加密標準(DES)和進階加密標準(AES)。其中的主要困難在於要如何找到在傳送方和接收方間,安全共用金鑰的方法。
  • 非對稱金鑰加密(Asymmetric Key Cryptography)。此為一種更安全的加密技術,傳送方和接收方都有兩把金鑰:公鑰和私鑰。在此過程中,傳送方會使用接收方的公鑰來加密訊息,而接收方則會使用其私鑰來解密訊息。兩把金鑰不同,而由於只有接收方才擁有私鑰,因此只有其才能讀取訊息。RSA 演算法是最流行的非對稱加密形式。
  • 雜湊函數(Hash function)。此為一種單向加密工具。加密而不解密的演算法有何意義?其在某種程度上為驗證工具。其用於確保檔案沒有被變更或更改。雜湊函數會將資料轉換為一個固定長度的文本字串,稱為雜湊值。然後,將該資料的雜湊值與使用者想存取的服務中儲存的雜湊值進行比對。如果雜湊值匹配,則授予存取權限。每個檔案都會有唯一的雜湊值,就如同條碼一樣。

公開金鑰加密是什麼?

公開金鑰加密(PKC),或稱為非對稱加密,使用數學函數來建立異常難以破解的密碼。其能讓人們在不需要密鑰的情況下,通過非安全通訊管道進行安全通訊。例如,代理伺服器重新加密使代理伺服器實體能夠將資料從一個公開金鑰重新加密到另一個公開金鑰,而無需存取明文或私鑰。用於數位簽章和金鑰交換的常用 PKC 演算法包含:

RSA

RSA 是第一種也是最常用的 PKC 實施。該演算法用於資料加密、數位簽章和金鑰交換。其使用的極大整數是兩個選定質數相乘的結果。攻擊者不可能算出質因數,因而使得 RSA 加密特別安全。

基於身份的加密(IBE)

IBE 是一種 PKC 系統,可根據使用者身份(如電子郵件地址)從唯一資訊中計算公鑰。然後,受信任的第三方或私鑰產生器再使用加密演算法來計算相應的私鑰。此舉讓使用者可以建立自己的私鑰,而不必擔心公鑰的分發。

橢圓曲線密碼學(ECC)

ECC 是一種 PKC 演算法,基於密碼學中橢圓曲線的使用。其專為計算能力或記憶體有限的裝置設計,用於加密網路流量。ECC 常用於嵌入式計算機、智慧型手機和比特幣等加密貨幣網路。

公鑰加密標準(PKCS)

所有 PKC 演算法和使用都受 RSA 資訊安全公司(RSA Data Security)設計的一套標準和指南的約束。具體內容如下:

  • PKCS #1 或 RFC 8017:RSA 密碼編譯標準(RSA Cryptography Standard)
  • PKCS #3:DH 金鑰協定標準(Diffie-Hellman Key Agreement Standard)
  • PKCS #5 和 PKCS #5 v2.1 或 RFC 8018:密碼基植加密標準(Password-Based Cryptography Standard)
  • PKCS #6:憑證擴展語法標準(Extended-Certificate Syntax Standard)(已被 X.509v3 取代)
  • PKCS #7 或 RFC 2315:密碼訊息語法標準(Cryptographic Message Syntax Standard)
  • PKCS #8 或 RFC 5958:私鑰訊息表示標準(Private Key Information Syntax Standard)
  • PKCS #9 或 RFC 2985:選擇屬性格式(Selected Attribute Types)
  • PKCS #10 或 RFC 2986:憑證申請標準(Certification Request Standard)
  • PKCS #11:密碼裝置介面標準(Cryptographic Token Interface Standard)
  • PKCS #12 或 RFC 7292:個人訊息交換標準(Personal Information Exchange Syntax Standard)
  • PKCS #13:橢圓曲線密碼學標準(Elliptic Curve Cryptography Standard)
  • PKCS #14:擬亂數產生器標準(Pseudorandom Number Generation Standard)
  • PKCS #15:密碼裝置訊息格式標準(Cryptographic Token Information Format Standard)

金鑰交換演算法(KEA)

迪菲-赫爾曼演算法由史丹佛大學教授馬丁・赫爾曼(Martin Hellman)和其研究生惠特菲爾德・迪菲(Whitfield Diffie)於 1976 年設計,他們被認為是引入 PKC 概念的功臣。此演算法是一種安全協定,用於金鑰交換。

KEA 則是迪菲-赫爾曼演算法的一種變體,在 NIST/國家安全局(NSA)的 Capstone 項目中作為金鑰交換方法所提出,該項目制定了供大眾和政府使用的密碼學標準。

雜湊函數

雜湊函數可確保在加密和解密階段保持資料的完整性。其還可用於資料庫中,以便可以更快速地檢索項目。

雜湊是將金鑰映射到特定值(即雜湊值)的過程。雜湊函數轉換金鑰或數位簽章,然後將雜湊值和簽章傳送給接收方,接收方使用雜湊函數產生雜湊值,並與訊息中的接收到的雜湊值進行比較。雜湊函數的類型包含安全雜湊演算法 1(SHA-1)、SHA-2 和 SHA-3。

數位簽章演算法(DSA)

DSA 是一種可在訊息驗證中使用數位簽章的標準。其由美國國家標準暨技術研究院(NIST)於 1991 年推出,目的是確保以更佳的方法來建立數位簽章。

加密金鑰攻擊

現代加密金鑰技術越來越先進,甚至常被認為是牢不可破的。然而,隨著越來越多的實體仰賴密碼學來保護通訊和資料,確保金鑰安全就至關重要。金鑰外洩可能會導致監管行動、罰款和罰則、聲譽受損以及客戶和投資者的損失。

可能發生的基於金鑰的潛在問題和攻擊類型包含:

  • 錯誤使用金鑰。如果金鑰使用不當或編碼不當,駭客就更容易破解本應高度安全的金鑰。
  • 重複使用金鑰。每個金鑰的產生都只能用於特定的一次性加密或解密目的,超出此目的的使用可能就無法提供所需的保護層級,因而容易受到攻擊。
  • 金鑰不輪換。過度使用金鑰,如在一個金鑰上加密過多資料,就容易受到攻擊。老式密碼尤其如此,可能會導致資料外洩。金鑰需要適時輪換、更新和升級。
  • 金鑰儲存不當。將金鑰與用來保護的資訊一同儲存會增加金鑰外洩的機率。例如,儲存在資料庫或伺服器上的金鑰一旦遭到入侵,資料外洩時也會導致金鑰外洩。
  • 金鑰防護不足。像 Meltdown/Spectre 和 Heartbleed 這樣的大規模網路攻擊能夠暴露伺服器記憶體中儲存的加密金鑰。因此,務必對儲存的金鑰進行加密,只有在置於安全、防篡改的環境至,甚至是保持離線狀態時,才能在為加密的情況下提供金鑰。
  • 內部威脅(使用者身份驗證、雙重控管和職責分離)。內部威脅是對金鑰構成的最嚴重威脅之一。最有可能發生的情況是,不法員工取得金鑰後將其用於惡意目的,或將其提供或出售給駭客或是第三方。
  • 手動金鑰管理流程。在紙本或電子表格上手動記錄金鑰管理流程容易造成人為錯誤的風險,還會使金鑰極易受到攻擊或遭竊。

一鍵啟動線上安全

使用業界領先的 VPN 保護安全和隱私