如果以上函式是一個密碼學安全的單向陷門函式,在不知道金鑰key的前提下,很難從輸出y透過逆函式反推出輸入x,由此避免了隱私資料的洩露。
由此可見,金鑰就是密碼學資訊變換過程中的最高機密。誰掌握了金鑰,誰就掌握了隱私資料的訪問權。
2. 人類可用的金鑰
一般而言,再精密的隱私保護方案,最終都需要服務於人類使用者。由於密碼學隱私保護方案的安全性很大程度上取決於金鑰的長度和複雜性,這也為人類使用者在使用金鑰時帶來了不小挑戰。
目前業界主流推薦的密碼學安全強度是256位,即金鑰的資訊熵至少等價為256位元的隨機數。如果我們用常見的字母數字來設定使用者所用的金鑰,該金鑰的長度至少為256/log2(26*2+10) ~= 43個隨機字元。
考慮到使用者通常為了便於記憶而拼接字典中的單詞來構成金鑰,此時為了滿足金鑰資訊熵的隨機性要求,實際可能需要使用長度更長的金鑰。
相比之下,現有系統對使用者口令的長度一般要求在6~20字元之間,對於部分應用4~6位數字使用者口令也不少見。所以,這些使用者口令的隨機性和長度都不足以達到256位安全強度。
如果一個隱私保護方案所使用的金鑰只源自使用者口令,是無法滿足隱私資料的安全性要求的。
然而,普通人類並不具備計算機一般強大的計算和記憶能力,難以記憶和處理過長的金鑰。此時,需要藉助技術手段來提高人類可用金鑰的資訊熵,常見的解決方案有以下三類:
三類解決方案中,平臺全權託管的使用者體驗最好,同時也伴隨著最大的隱私風險。混合託管和本地全權託管,在使用者體驗上差異不大,混合託管相關的隱私風險更低。
需要注意的是,這裡存在一個固有的設計取捨,隱私資料的自主權與資料服務的完備性不可兼得。
平臺全權託管方案中,使用者隱私資料的實際控制權在平臺手中,由此平臺可以提供諸如使用者口令重設、資料恢復等關鍵資料服務。
然而,在其他託管方案中,使用者隱私資料的實際控制權在使用者手中,一旦使用者遺失金鑰或使用者口令,則平臺無法解密對應的資料,也無法提供口令重設等相關金鑰服務。
對於企業而言,具體方案的選擇,需要結合使用者使用習慣和行業監管要求,建議在平臺全權託管和混合託管之間做選擇。對於高敏感性隱私資料,酌情選擇混合託管,並需要配合金鑰恢復方案使用。
3. 金鑰相關的風險
隱私資料的自主權往往是隱私保護方案強調的重點,但是為了切切實實地獲得控制權,僅僅是安全地使用單個安全金鑰,就可能會給使用者體驗方面帶來顯著負擔,而且還需要防範其他金鑰相關的洩露風險。
這些風險可以大致分為以下兩類:
內在風險
這類風險與隱私保護方案的內在設計和實現有關。由於絕大部分密碼學演算法和協議不是資訊理論安全,也就說,同一個金鑰使用的次數越多,理論上被破解的概率越大。
對應的常見風險分析手段是,考慮對應密碼學演算法和協議在選擇明文攻擊(Chosen-plaintext Attack, CPA)和選擇密文攻擊(Chosen-ciphertext Attack, CCA)下,是否依舊安全。
這兩類攻擊都允許攻擊者獲得一定數量的隱私資料明文和密文對,由此分析破解所使用的金鑰。
在現實生活中,攻擊者非常有可能獲得這樣的能力,截獲明文和密文對,甚至主動注入資料,生成破解分析所需的明文和密文對,這類風險是真實存在的。
外在風險
這類風險雖然與隱私保護方案的內在設計和實現無關,但卻實實在在地對方案的實際效果產生巨大威脅。
比較典型的攻擊有社會工程學,具體指透過欺騙性手段,如釣魚網站、詐騙簡訊等,誘導使用者直接給出金鑰,或者透過下載安裝病毒木馬,間接盜取金鑰。
無論是哪一類風險,如果使用者只有一個金鑰,一旦被盜,所有的賬戶都有被盜的風險,後果不堪設想。
處理好這些風險的必要條件,就是產生並使用多個隨機金鑰,但這也為隱私保護方案的可用性帶來了更大的挑戰。
無論隱私保護方案設計安全性多高,如果由於使用者體驗差,使用者難以接受,或者以不安全的變通方式使用,其真實有效性都會大打折扣。這也是學術方案向業務方案轉化最常見的阻礙之一。
除了探索更優的方案設計,適當的使用者教育也是非常必要的推廣手段。
總體而言,同時處理好金鑰使用過程的安全性和可用性,是落實隱私保護的重要前提。
正是:隱私資料控制難自主,訪問金鑰在手任我行!
金鑰是任何基於密碼學技術方案的最高機密,如何保障其安全性,並讓作為隱私資料屬主的人類使用者方便地記憶和使用,是將隱私控制權迴歸屬主的關鍵。
這個過程難免會引入數量繁多的金鑰,如何實現有效的金鑰管理,對於計算機系統和人類使用者可以使用哪些不同的技術和策略,欲知詳情,敬請關注下文分解。