作者:嚴強
來源:微眾銀行區塊鏈
密鑰設置是否只要夠安全就能夠重復使用?定期修改密鑰到底有沒有必要?密鑰不幸遺失該如何恢復?素未謀面的雙方,如何才能安全地進行密鑰協商?
上一論我們了解到,基于密碼學的隱私保護方案,其有效性很大程度上取決于能否有效管理好密鑰。這里,我們將進一步分析密鑰管理的具體范疇、每個操作環節的典型風險,以及應對手段。
密鑰管理的對象是密鑰本身或者用于生成密鑰的密鑰材料,三類主要操作環節包括密鑰的使用、保存和協商。
鑒于人類用戶和計算機系統在自身能力上的差異,需要使用不同技術手段和治理手段來實現有效的密鑰管理,以下將對三類操作環節一一展開分析。
密鑰的使用
密鑰的使用是指,用戶基于根密鑰,為不同業務操作生成實際使用的密鑰的過程。這一過程不僅僅包括,直接使用預先設定好的密鑰,如輸入用戶記憶中的用戶口令,還包括使用經過一定變換后的密鑰。
其主要風險是密鑰泄露導致的非授權使用,可能會造成以下后果:
由該密鑰加密的隱私數據泄露。特別是當所有歷史隱私數據都只用一個密鑰加密時,攻擊者將有可能獲得所有歷史隱私數據明文。
使用該密鑰通過身份驗證入侵系統。不只是數據,攻擊者可以獲得用戶所有的操作特權,例如,惡意修改系統訪問控制參數、使用具有法律效應的數字證書對未授權的內容進行數字簽名等。
Cyber Capital創始人:Polygon管理密鑰采用多重簽名 含4位創始人:金色財經報道,Cyber Capital創始人Justin Bons發推稱,不支持Matic,中心化風險太大:Polygon的管理密鑰采用5/8多重簽名保護,但其中包括4位創始人。[2023/3/9 12:51:27]
針對這些在密鑰使用環節的風險,核心的應對手段為
密鑰輪轉,即每隔一定時間,生成一個新的密鑰。
對于計算機系統,一般可以輕易生成新的隨機密鑰。新密鑰與舊密鑰可以沒有任何關聯,其有效期限和密鑰本身都將保存在高安全級別的存儲介質中,以此最小化密鑰暴露的風險。
然而,以上方案對于用戶而言,可用性不高。
對用戶來說,生成一個安全的新密鑰,且能夠記住和使用它,已經不是一件容易的事。如果再進一步要求用戶記憶多個超長、隨機、無關聯的密鑰,那用戶很有可能被迫“變通”,使用不安全的手段,例如將密鑰全部寫在紙上、未受保護的手機APP里。
如何讓用戶只記憶一個密鑰,還能實現有效的密鑰輪轉,這里可以用到的關鍵技術是密鑰派生函數。
KDF具有兩個核心功能:
將一個短的用戶口令延長到一個滿足安全密鑰長度的密鑰。
由一個根密鑰生成多個滿足安全密鑰長度的密鑰。
典型的KDF,如IETFRFC2898標準中的PBKDF2函數,可以表達成如下形式:
DerivedKey?=?PBKDF2(PRF,?Password,?Salt,?IterationCount,?DerivedKeyLength)
派盾:BXH被盜確認由管理密鑰泄露引發:11月1日消息,據派盾官方消息,BXH 被盜事件確認由管理密鑰泄露引發,該密鑰被用于耗盡已部署的 BSC strategies 中的大部分資金。目前,派盾方面仍在調查被盜資金下落。[2021/11/1 6:25:02]
其中:
PRF是一個隨機數生成函數,負責在運算過程中生成一系列隨機數。
Password是用戶口令。
Salt是為了防止批量窮舉攻擊而設置的鹽值,其作用等價于用戶專屬的隨機種子。
IterationCount是生成派生密鑰時所需迭代計算的次數,可以通過刻意增加迭代計算的次數,加大攻擊者窮舉攻擊的難度。
DerivedKeyLength是派生密鑰的長度,一般比用戶口令長很多。
PBKDF2函數的五個輸入中,用戶只需要記憶用戶口令Password,其他都可以由輔助的計算機系統來計算完成。用戶口令可以根據用戶的偏好設置,不影響用戶體驗。同時只要用戶口令夠長,安全性風險一般都比較可控。
除了PBKDF2之外,BIP-32標準中HierarchicalDeterministic密鑰錢包設計的核心也是KDF。區別在于BIP-32為橢圓曲線公鑰密碼學算法提供了特有的密鑰派生規則,實現了子密鑰樹形擴展和中間節點公鑰托管擴展,有興趣的讀者可以深入了解一下。
墨子號量子科學實驗衛星首次實現千公里級量子密鑰分發:墨子號」量子科學實驗衛星在國際上首次實現了千公里級基于糾纏的量子密鑰分發—為量子通信走向現實應用奠定了重要基礎。科學家們利用“墨子號”作為量子糾纏源,向遙遠的兩地分發量子糾纏,該實驗成果不僅將以往地面無中繼量子保密通信的空間距離提高了一個數量級,更重要的是,通過物理原理確保了即使在衛星被他方控制的極端情況下,依然能夠實現安全的量子通信,為量子通信走向現實應用奠定了重要基礎。所謂量子密鑰分發,即在遙遠兩地的用戶間生成并安全共享一組量子密鑰,為所傳輸的二進制信息加密。這種量子通信方式之所以被科學家們寄予厚望,是因為除了信息的發送、接收方,如果有第三方試圖復制或竊聽量子密鑰,則通信的雙方便會立刻察覺。中國科學技術大學潘建偉表示,量子通信克服了經典加密技術內在的安全隱患,因為其安全性不依賴于計算復雜度,這是在原理上無條件安全的一種通信方式,一旦存在竊聽必然被發現。潘建偉解釋說,量子密鑰分發就好比一個人想要傳遞秘密給另外一個人,需要把存放秘密的箱子與一把鑰匙傳給接收方。接收方只有用這把鑰匙打開箱子,才能取到秘密。沒有這把鑰匙,別人無法打開箱子,而一旦這把鑰匙被別人動過,傳送者就會立刻發現——原有鑰匙會作廢,再給一把新的鑰匙,直到確保接收方本人拿到。(經濟日報)[2020/6/28]
KDF技術上實現了密鑰輪轉,在治理上也有必要采取一定的措施,進一步降低密鑰使用時的風險。常見治理策略主要覆蓋了兩大方面的風險:
密鑰的最短長度和最低復雜性:密鑰長度不能太短,不能被常見的字典庫輕易破解。
密鑰的復用:建議定期更改密鑰,且不能復用歷史密鑰。對于計算機系統,可以進一步要求為不同的系統用途設置不同的密鑰。
動態 | Bitcoin Core兩名開發者通過電郵正式公開2016年遭到廢棄的“警報系統”密鑰:Bitcoin Core開發者Bryan Bishop與Andrew Chow在本月初通過一封電郵,正式公開了已于2016年遭到廢棄的“警報系統”密鑰。郵件中兩位開發人表示,這次的揭秘將是摧毀這個警報系統的最后一步。此外,Bishop與Chow反復強調該密鑰“已徹底停止使用”,所以不再關聯比特幣網絡安全。[2018/7/12]
關于第一條治理策略,業界一般都沒有什么異議,但對于第二條中,用戶需定期更改密鑰的建議,近年來也有一些不同觀點。
實踐中往往發現,為了方便記憶,不少用戶采用了不安全的變通方式,選用了有強關聯的一組用戶口令。例如,2019年使用的舊口令為“password2019”,2020年使用的新口令為“password2020”,一旦舊口令泄露,也很容易推斷出新口令。
反之,如果告知用戶不需要定期更改口令,用戶在心理上反而更有動力去設置一個更為復雜的口令。所以,實施定期更改用戶口令的策略,不一定更安全。
除了以上治理策略,為了控制內部人員濫用密鑰的風險,也很有必要將密鑰的控制權分派到多個職能上相互約束的相關人員手中,只有當所有相關人員都同意使用時,才能正常使用,其背后的技術原理將在下一環節中提及。
密鑰的保存
動態 | Bitcoin Core開發者正式公開比特幣警報系統密鑰:兩名比特幣Core開發者布賴恩?畢曉普(Bryan Bishop)和安德魯?周(Andrew Chow)通過電子郵件公布了人們期待已久的與比特幣現已失效的警報系統有關的密鑰。在電子郵件中,兩人寫道,比特幣警報密鑰的全面披露是為了“減輕未知的傳播和密鑰擴散的影響”。此外,Bishop和Chow強調這些密鑰不會再對比特幣網絡構成風險,并解釋說“比特幣警報系統已經完全退役”。但一般而言,警報系統并非全都死亡。事實上,正如Bishop和Chow在他們的電子郵件中所說,加密貨幣的開發者希望使用像比特幣警報系統這樣的東西,但沒有被私人警報密鑰劫持的相同漏洞確實可以實現“一些非常簡單的修復”。[2018/7/9]
密鑰的保存是指,用戶將密鑰保存在存儲介質中,并在特定的情況下,從存儲介質恢復出之前保存的密鑰。
其主要的風險是因保存不當導致密鑰泄露或遺失,除了上一環節中提到的后果之外,可能會額外造成以下后果:
由該密鑰加密的隱私數據無法被解密。
由該密鑰保護的權益無法被兌現。
針對這些在密鑰保存環節的風險,核心的應對手段為
物理隔離和
密鑰分片。
前者指的是,密鑰保存的環境應該是一個與惡意環境隔離的安全環境。后者指的是,密鑰保存時不應該整存整取,而是進行分片,由多個信任方分別保存,必要時還需要實現多地容災恢復。
對于計算機系統,安全硬件模塊和高物理安全的服務器房間是實現物理隔離常見的手段,必要時,保存密鑰的設備可以一直保持離線狀態,杜絕意料之外的非授權訪問。
對于密鑰分片,可以使用密碼學秘密分享算法來實現。最常用的密碼學秘密分享算法是Shamir秘密分享算法,由以色列密碼學家AdiShamir在其1979年的論文『Howtoshareasecret』中提出。
Shamir秘密分享算法的核心思想是,將密鑰的值設為一個N階隨機多項式中的常量參數,然后在該隨機多項式上隨機選M個點的坐標,這些坐標就是關于密鑰的分片。
這些分片具有以下特性:
如果攻擊者獲得分片總數小于N,攻擊者無法獲得任意關于密鑰的信息。
如果所有可能的分片總數M大于N,通過其中任意N個分片,使用拉格朗日多項式插值算法恢復出隨機多項式之后,便可有效地恢復出密鑰。
相比計算機系統,用戶對于前一項物理隔離的要求可能更容易實現。相比讀取存儲介質中的數據,在未進行威逼利誘的前提下,用技術手段直接提取用戶記憶中的密鑰目前要困難得多。
但對于第二項密鑰分片的要求,則需要配合各類托管技術,使用計算機輔助手段生成和保存高安全性的密鑰分片。具體的技術分類和比較,可以參考上一論密鑰托管相關內容。
無論采用哪一種技術,一般情況下,用戶最少需要記憶一個用戶口令。但如同房門鑰匙一樣,遺忘用戶口令并不罕見,尤其是在賬戶數目和相關密鑰總數繁多的情況下。
如果服務提供商提供有效的密鑰重設服務,相比將密鑰全部寫在紙上或手機APP里,通過密鑰重設服務重設密鑰,密鑰泄露風險可能更低。
密鑰的協商
密鑰的協商是指,多個用戶或系統遠程協商即將在交互過程中所使用的密鑰。
作為社會性生物,和陌生人交換信息,是人類生活中必不可少的組成部分。在當前數據驅動的時代,計算機系統通過跨域交換信息實現更大的價值發掘,是現代信息化商業核心業務模式之一。
在這些信息交換過程中,最典型的應用之一是隱私數據的端到端加密傳輸,為此需要生成一次性密鑰對信息進行加密保護。在缺乏可信信道的前提下,能否與交互方安全地完成密鑰協商,對于隱私數據的保護尤為關鍵。
其主要的風險是惡意通信環境中的密鑰截取或篡改,除了密鑰使用環節中提到的后果之外,可能會額外造成以下后果:
由該密鑰保護的隱私數據被篡改。例如,金融交易中的收款人、付款金額。
由該密鑰保護的其他密鑰泄露。例如,通過加密信道傳輸的后續協議中所約定使用的密鑰。
針對這些在密鑰協商環節的風險,核心的應對手段為
認證交換和
認證分發。
對于計算機系統,根據業務場景和部署環境安全假設的不同,認證密鑰交換的協議有很多不同的類型,最常用的是基于公鑰證書體系和Diffie-Hellman密鑰交換協議。
關于認證密鑰分發,經典密碼學相關方案有基于公鑰證書體系的密鑰封裝、基于可信中間代理和代理重加密的密鑰密文轉換等。比較創新的技術方案包括在第6論中提到的基于量子糾纏理論的量子密鑰分發技術,我國的墨子號量子科學實驗衛星已經實現了千公里級星地雙向量子糾纏分發原型實驗。
在技術手段的協助下,用戶往往對于密鑰協商是無感的。例如,我們在使用瀏覽器時,通常不會意識到,對不同的網站建立安全連接時,會根據不同網站的不同數字證書,進行密鑰的認證交換,并最終使用不同的一次性密鑰與不同的網站通信。
但用戶也需要警惕,核實認證的有效性。一旦數字證書失竊或者過期,攻擊者就有機會假扮服務提供方,截獲用戶的隱私數據,篡改用戶的操作請求,實施經典的中間人攻擊。
密鑰管理的三大環節中,存在著大量的風險點。由于密鑰是密碼學中的最高機密,竊取密鑰往往是攻擊者的首要目標。任何一個環節出現問題,對應隱私保護方案的整體有效性,都會受到嚴重影響。
本論的分享主要關注技術方案和治理策略層面,在實際方案部署時,工程實現和其他相關層面的保護也很關鍵,會需要更完備的組合策略,從多個維度上提供層次化的保障。
正是:密鑰管理謹小慎破解,技術治理合璧顯神功!
有效的密鑰管理是使用基于密碼學的隱私保護方案的重要前提。無論隱私保護方案內部設計多么精妙,任何在密鑰使用、保存、協商環節中出現的疏漏,都會使之功虧一簣。
除了傳統的安全性分析,針對用戶的可用性分析也至關重要。在實際隱私保護應用中,高于常規人類認知記憶能力的要求,都會促使用戶使用不安全的變通手段,導致最終效果大打折扣。
有效的密鑰管理需要在多個維度上融合技術方案和治理策略,同時實現安全性和可用性之間的平衡和優化。
了解完密鑰相關的重要原則和管理技術,自下一論開始,我們將分享在實際的密碼學算法中如何使用這些密鑰,深入解析隱私保護相關的密碼學原語,欲知詳情,敬請關注下文分解。
剛剛,我用火燒了助記詞板前段時間參加了一個征文比賽,主辦方送我的禮包里有一個助記詞板。 我很喜歡,作為EDC老玩家的我很容易測評這款產品的工業設計:流暢硬朗的外型,磨砂航空鋁的觸感,有一種鴿子羽.
1900/1/1 0:00:004月9日,重慶市急救醫療中心的互聯網醫院掛牌成立后,開出重慶市首張在線醫保報銷結算電子處方。據了解,患者可在重慶市急救醫療中心互聯網醫院APP通過視頻方式接受醫生遠程診斷,進行線上醫保支付,并且.
1900/1/1 0:00:00文|互鏈脈搏·元尚 4月16日,具有百年歷史的招商局集團旗下核心企業招商港口發布了2019年財報,財報“三提”區塊鏈業務,并且將這一技術置于公司戰略非常重要的角色,也是歷年財報首提區塊鏈.
1900/1/1 0:00:00本周終于發生了連巴菲特也沒有經歷過的事情,原油期貨跌至負值,中行的理財產品“原油寶”客戶損失慘重,業內再次響起了為加密資產鳴不平的聲音.
1900/1/1 0:00:00本文來源:高山大學 *以下根據高山大學與GMIC在線聯合舉辦的特別對話欄目「三缺一?科學觀世界」中肖風的分享整理而成.
1900/1/1 0:00:00分布式解決方案公司AppliedBlockchain已完成由香港風險投資公司QBNCapital牽頭的200萬英鎊融資.
1900/1/1 0:00:00