Encryption

我們需要白盒加密做什麼?

  • November 22, 2017

我熟悉白盒密碼學,但不知何故我仍然看不到它的潛在應用?哪些情況需要使用它?也許你甚至可以給我舉一兩個例子?

我知道它是用來保護密鑰的,但有人可能會說:“嘿,來吧,推導出一個不需要密鑰的方案”。或者,我們可以簡單地使用我們所擁有的:公鑰加密。它的全部內容可能是生成會話密鑰,然後使用這些密鑰加密/解密事物。

它可以啟用僅基於對稱原語的密鑰交換。例如,假設我可以為您提供一個程序,該程序允許您對單個明文塊執行 AES-256 加密。我可以把這個程序發給你,你可以執行你的加密並將結果發給我,由於算法的白盒性質,只有我可以解密它(甚至你也不能)。

這基本上創建了一個僅使用白盒對稱原語的公鑰加密方案。這是有價值的,因為傳統公鑰原語與對稱原語的硬度假設相比。沒有已知的方法可以觸及單一 AES 加密的安全性表面。這與普通的公鑰加密相反,後者基於或多或少有非常明確的解決方案的問題,並且只有在沒有足夠有效的已知算法來處理所涉及的密鑰大小時才起作用。

AES 的密鑰大小明顯小於 RSA 密鑰對,並且操作效率顯著提高。在這方面,白盒實現可能與傳統實現不同,但我們必須拭目以待。

這對於傳統的 AES 實現是不可能的,因為知道密鑰的任何人都可以執行加密和解密操作。通過白盒實現,密鑰以一種(理想情況下)無法提取的方式嵌入到程序中。當然,這也意味著程序被構造成只具備加密能力,不具備解密能力。

我們可以根據與白盒密碼學相關的安全概念將應用程序分為幾類。

  1. 牢不可破:意味著在對手完全控制執行環境的最壞情況攻擊模型中防止密鑰提取。移動支付(如HCE)、數字內容分發和軟鍵盤式密碼保護屬於這一類。
  2. 單向性:意味著很難逆轉白盒實現。從這個意義上說,我們可以將白盒實現的對稱原語轉換為公鑰原語,其中發布的實現是公鑰,因此對稱原語的密鑰是私鑰。
  3. 不可壓縮性:意味著您不能輕易地將白盒實現壓縮到某個邊界以下。到目前為止,我不知道這個概念的任何實際應用。
  4. 可追溯性:意味著可以在您的實現中放置不可移除的水印,可用於跟踪您的軟體的分發,或檢測資產的非法洩漏。

引用自:https://crypto.stackexchange.com/questions/38070