免責聲明:本文旨在傳遞更多市場信息,不構成任何投資建議。文章僅代表作者觀點,不代表火星财經官方立場。
小編:記得關注哦
來源:微衆銀行區塊鍊
文 | 嚴強
密碼學為何稱之為密碼學?密碼和密鑰究竟有何區别?隐私保護方案中,密鑰的角色是否可以被替代?密鑰在使用過程中存在哪些風險?
這裡,我們将以密碼學中的密碼為起點,展開一系列對密碼學算法核心組件的技術剖析。密碼和密鑰在密碼學算法中有着至關重要的地位,了解密碼和密鑰的作用,有助于理解基于密碼學的隐私保護方案是否具備有效性。密碼和密鑰對于用戶而言,則是最終達成隐私數據『始于人、利于人、忠于人』隐私保護效果的無上法器。
密碼學的英文為Cryptography,源自希臘語“κρυπτός秘密”和“γράφειν書寫”。最初,其研究主要集中在『如何在攻擊者存在的環境中隐秘地傳輸信息』,是一個關于信息編碼的學科,由于其最重要研究目标之一是保密,實現敏感信息的秘密編碼,所以被稱之為密碼學。
密碼學中的密碼,和我們日常生活中登錄各類信息化系統所使用的密碼是兩個不同的概念。前者包含了信息加密編碼、密文解密解碼、數據完整性驗證等一系列信息變換過程。而後者更多地是指代密碼學信息變換過程中所使用的便于用戶記憶的一類密鑰,為了以示區别,在下文中稱之為用戶口令。
在密碼學中,密鑰的作用與現實生活中的鑰匙很相似,隻有掌握密鑰的用戶,才能解密對應的隐私數據,或進行數字簽名等相關敏感操作。
為什麼密鑰能夠有這麼神奇的作用,一切要從柯克霍夫原則談起。
柯克霍夫原則
柯克霍夫原則是現代密碼學算法設計基本原則之一,最早由荷蘭密碼學家Auguste Kerckhoffs在1883的論文La Cryptographie Militaire(軍用密碼學)中提出。
其核心思想是『密碼學算法的安全性,不應該建立在算法設計保密的基礎上』。即便算法設計是公開的,隻要實際使用的密鑰沒有被攻擊者獲知,密碼學算法産生的密文信息就不應該被輕易破解。
被譽為“信息論之父”的美國數學家、電子工程師、密碼學家Claude Elwood Shannon後來将這一原則進一步擴展,應用到任意信息安全相關的系統,由此也奠定了密鑰在現代密碼學中的核心地位。
密鑰具體如何使用呢?這裡有必要回顧第3論中提到的,密碼學算法設計所基于的計算不對稱性,以及與之相關的一個重要概念——單向陷門函數。
一個單向陷門函數可以抽象為y = f(x, key),其中,x為敏感的隐私數據輸入,y為經過算法保護的不敏感輸出,key就是密鑰。實際情形下,根據具體密碼學算法設計和實現上的差異,密鑰key可以有不同的表現形式,也可以表現為多個秘密參數。
如果以上函數是一個密碼學安全的單向陷門函數,在不知道密鑰key的前提下,很難從輸出y通過逆函數反推出輸入x,由此避免了隐私數據的洩露。
由此可見,密鑰就是密碼學信息變換過程中的最高機密。誰掌握了密鑰,誰就掌握了隐私數據的訪問權。
人類可用的密鑰
一般而言,再精密的隐私保護方案,最終都需要服務于人類用戶。由于密碼學隐私保護方案的安全性很大程度上取決于密鑰的長度和複雜性,這也為人類用戶在使用密鑰時帶來了不小挑戰。
目前業界主流推薦的密碼學安全強度是256位,即密鑰的信息熵至少等價為256比特的随機數。如果我們用常見的字母數字來設定用戶所用的密鑰,該密鑰的長度至少為256/log2(26*2 10) ~= 43個随機字符。
考慮到用戶通常為了便于記憶而拼接字典中的單詞來構成密鑰,此時為了滿足密鑰信息熵的随機性要求,實際可能需要使用長度更長的密鑰。
相比之下,現有系統對用戶口令的長度一般要求在6~20字符之間,對于部分應用4~6位數字用戶口令也不少見。所以,這些用戶口令的随機性和長度都不足以達到256位安全強度。
如果一個隐私保護方案所使用的密鑰隻源自用戶口令,是無法滿足隐私數據的安全性要求的。
然而,普通人類并不具備計算機一般強大的計算和記憶能力,難以記憶和處理過長的密鑰。此時,需要借助技術手段來提高人類可用密鑰的信息熵,常見的解決方案有以下三類:
三類解決方案中,平台全權托管的用戶體驗最好,同時也伴随着最大的隐私風險。混合托管和本地全權托管,在用戶體驗上差異不大,混合托管相關的隐私風險更低。
需要注意的是,這裡存在一個固有的設計取舍,隐私數據的自主權與數據服務的完備性不可兼得。
平台全權托管方案中,用戶隐私數據的實際控制權在平台手中,由此平台可以提供諸如用戶口令重設、數據恢複等關鍵數據服務。
然而,在其他托管方案中,用戶隐私數據的實際控制權在用戶手中,一旦用戶遺失密鑰或用戶口令,則平台無法解密對應的數據,也無法提供口令重設等相關密鑰服務。
對于企業而言,具體方案的選擇,需要結合用戶使用習慣和行業監管要求,建議在平台全權托管和混合托管之間做選擇。對于高敏感性隐私數據,酌情選擇混合托管,并需要配合密鑰恢複方案使用。
密鑰相關的風險
隐私數據的自主權往往是隐私保護方案強調的重點,但是為了切切實實地獲得控制權,僅僅是安全地使用單個安全密鑰,就可能會給用戶體驗方面帶來顯著負擔,而且還需要防範其他密鑰相關的洩露風險。
這些風險可以大緻分為以下兩類:
- 内在風險
這類風險與隐私保護方案的内在設計和實現有關。由于絕大部分密碼學算法和協議不是信息論安全,也就說,同一個密鑰使用的次數越多,理論上被破解的概率越大。
對應的常見風險分析手段是,考慮對應密碼學算法和協議在選擇明文攻擊(Chosen-plaintext Attack, CPA)和選擇密文攻擊(Chosen-ciphertext Attack, CCA)下,是否依舊安全。
這兩類攻擊都允許攻擊者獲得一定數量的隐私數據明文和密文對,由此分析破解所使用的密鑰。
在現實生活中,攻擊者非常有可能獲得這樣的能力,截獲明文和密文對,甚至主動注入數據,生成破解分析所需的明文和密文對,這類風險是真實存在的。
- 外在風險
這類風險雖然與隐私保護方案的内在設計和實現無關,但卻實實在在地對方案的實際效果産生巨大威脅。
比較典型的攻擊有社會工程學,具體指通過欺騙性手段,如釣魚網站、詐騙短信等,誘導用戶直接給出密鑰,或者通過下載安裝病毒木馬,間接盜取密鑰。
無論是哪一類風險,如果用戶隻有一個密鑰,一旦被盜,所有的賬戶都有被盜的風險,後果不堪設想。
處理好這些風險的必要條件,就是産生并使用多個随機密鑰,但這也為隐私保護方案的可用性帶來了更大的挑戰。無論隐私保護方案設計安全性多高,如果由于用戶體驗差,用戶難以接受,或者以不安全的變通方式使用,其真實有效性都會大打折扣。這也是學術方案向業務方案轉化最常見的阻礙之一。
除了探索更優的方案設計,适當的用戶教育也是非常必要的推廣手段。
總體而言,同時處理好密鑰使用過程的安全性和可用性,是落實隐私保護的重要前提。
正是:隐私數據控制難自主,訪問密鑰在手任我行!
密鑰是任何基于密碼學技術方案的最高機密,如何保障其安全性,并讓作為隐私數據屬主的人類用戶方便地記憶和使用,是将隐私控制權回歸屬主的關鍵。
這個過程難免會引入數量繁多的密鑰,如何實現有效的密鑰管理,對于計算機系統和人類用戶可以使用哪些不同的技術和策略,欲知詳情,敬請關注下文分解。
《隐私保護周三見》
“科技聚焦人性,隐私回歸屬主”,這是微衆銀行區塊鍊團隊推出《隐私保護周三見》深度欄目的願景與初衷。每周三晚8點,專家團隊将透過欄目和各位一起探尋隐私保護的發展之道。
欄目内容含括以下五大模塊:關鍵概念、法律法規、理論基礎、技術剖析和案例分享,如您有好的建議或者想學習的内容,歡迎随時提出。
欄目支持單位:零壹财經、陀螺财經、巴比特、火訊财經、火星财經、價值在線、鍊客社區
往期集錦
第1論|隐私和效用不可兼得?隐私保護開辟商業新境地
第2論|隐私合規風險知幾何?數據合規商用需過九重關
第3論|密碼學技術何以為信?深究背後的計算困難性理論
第4論|密碼學技術如何選型?初探理論能力邊界的安全模型
第5論|密碼學技術如何選型?再探工程能力邊界的安全模型
第6論|密碼學技術如何選型?終探量子計算通信的安全模型
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!