“一切都會出錯”是任何規劃都應該遵循的主要原則之一。
不穩定是事實
在解決密碼問題時,會出現不可抗力的情況。多年來,許多科學家都在考慮每一個細節,但現實往往會讓你感到驚訝。在很多方面,正是這種無休止的循環,由一系列開發新的密碼解決方案、識別漏洞,然后才發現漏洞是怎樣形成的,也才吸引人們去研究密碼學。
例如,著名的TLS協議在他的歷史發展進程中有一個很有趣的插曲:
在2001年,HugoKrawczyk首次對TLS1.1中使用的數據保護方案的安全性進行了數學證明,但不到一年后,出現了一種攻擊,表明該協議在數據保護方面存在不穩定性。
不幸的事,這樣的事件在密碼學中并不罕見,上面提到的漏洞問題,在TLS協議中肯定也不是最后一次出現。
每年,在密碼學會議和研討會上,都會出現一些令人驚奇的攻擊案例,這些攻擊乍一看,與理論研究相矛盾,此刻,有個問題就被提出:密碼學理論家的“失誤”原因是什么?
在回答這個問題之前,讓我們試著弄清楚密碼學的支柱是什么,對手的模型是什么,以及關于“信息安全”這樣一個復雜而多方面的概念的知識是如何在世界上形成和擴展的。
模型作為基礎
解決信息安全問題的系統的開發是一個極其復雜和耗時的過程。事實證明,理論研究知識此類系統生命中眾多階段中的一個。同樣重要的是系統的建模、實施和運行階段,從普通用戶的角度來說,運行階段才是最重要的,理論永遠是理論。
聲音 | 中科院院士王小云:密碼學為區塊鏈提供了安全保障技術:據經濟參考報消息,中國科學院院士王小云介紹了格密碼理論的最新發展,并深入探析了區塊鏈的技術發展過程。王小云認為,密碼學為區塊鏈提供了交易信息防篡改、可追溯、私密性以及匿名性保護等安全保障技術,下一步,區塊鏈安全需要從算法安全、協議安全、實現安全、私鑰安全等四個方面著手展開研究。[2020/1/2]
每一個階段都是基于前一個階段,并且是前一個階段的邏輯延續:例如,理論研究階段沒有建模是不可能的,因為推理的嚴謹性需要對研究的屬性和對象進行形式化。
密碼學中的建模涉及到對正在開發的系統的所有屬性、用戶與之互動的所有可能方式的深入分析,有時甚至涉及到系統運行的物理條件。
建模的結果是系統的數學模型,其中特別包括所謂的對手模型,事實上,它決定了一個安全的穩定的系統意味著什么。
對手模型由三個部分組成:攻擊類型、威脅模型和關于對手可用資源的假設。這三個部分加在一起,使我們有可能清楚地定義我們的系統所處的世界:敵人如何與之溝通,他可以從對手那里學到什么,他究竟想要實現什么以及他擁有哪些資源。
攻擊類型決定了敵人在與分析系統交互方面的定性能力。因此,攻擊的類型決定了對手可以接收什么樣的系統信息,以及他可以如何干擾其運行過程。
一個例子是敵人可以攔截和修改通信渠道上的數據的攻擊類型。在這里,敵人的能力應該考慮到所有已知的違反所研究系統安全的實踐和理論方法,并盡可能接近在實踐中使用該系統時出現的方法。
動態 | 谷歌將采用密碼學以保持數據集的私密性:據wired報道,谷歌將發布一個名為Private Join and Compute的開源加密工具。它有助于連接來自不同數據集的數字列,以計算在整個數學過程中加密和不可讀數據的總和,計數或平均值。只有計算結果才能被所有各方解密和查看 - 這意味著你只能獲得結果,而不能獲得你未擁有的數據。該工具的加密原理可以追溯到20世紀70年代和90年代,但谷歌已經重新利用并更新它們,以便與當今功能更強大、更靈活的處理器配合使用。[2019/6/21]
威脅模型定義了違反安全屬性的任務,這是對手想要解決的。例子包括偽造信息簽名或泄露機密信息。如果敵人解決了指定的任務,他們就說他“意識受到了威脅”。威脅模型反映了哪些情況違反了特定系統的安全性的想法。
關于敵人資源的假設也是模型中極其重要的部分,現在其決定了敵人的定量能力。通常它們是由一整套因素決定的:敵人的時間和計算資源、程序的大小以及他可以通過與系統交互而接收的信息量。
如果沒有這些限制,談論實踐中使用的大多數系統的安全性是完全沒有意義的,因為,對他們來說,總有一個對手,擁有無限的資源,可以通過簡單的暴力手段找到所需的密鑰,而不使用任何復雜的方法。
客觀現實
一旦研究對象的數學模型出現,就有可能應用合適的數學方法,其結果是先驗絕對準確的。
使用這種方法可以揭示被研究對象的深層屬性,并且在對時間延長的過程的研究中,實際上可以預測它們的未來。
動態 | 亞馬遜獲得密碼學及分布式數據存儲方法的專利:據cointelegraph報道,電子商務巨頭亞馬遜獲得了兩項與保護數字簽名完整性和改善分布式數據存儲方法相關的專利。這兩項專利于11月13日由美國專利商標局(USPTO)公布。[2018/11/14]
在物理學中,我們預測扔出的石頭會在多少秒內掉在地上,而在密碼學中,我們預測未來幾年密碼系統是否會被黑客入侵。
因此,如果研究的數學部分是準確進行的,其結果不包含錯誤,那么理論和實踐之間出現看似奇怪的矛盾的主要原因在于對手的模型和系統在實踐中運行的真實條件之間的差異。在這種情況下,模型被認為還是不相關的。
同時,也不應該把責任歸咎于負責建模的員工,在系統開發過程的任何階段,從想法到運行,模型都可能變得不相關。然而,現實和模型之間的差異可能出現在構成模型的三個部門中的任何一個。
攻擊類型不匹配
讓我們看一下TLS1.1中使用的數據保護方案的安全性的數學證明示例,看看現實與HugoKrawczyk在他的工作中使用的模型之間的差異發生在哪里,以及導致這種差異的錯誤發生在哪里。
2001年的相同工作證明了MAC-then-Encrypt認證加密方案的強度,其中首先將模擬插入附加到消息,然后在消息和插入的串聯之后以CBC模式加密。CBC加密模式的特殊性在于它只能處理可以分成一定固定大小的塊的字符串。
動態 | Seele元一密碼學黃皮書正式公開:今日,Seele元一全球首發的密碼學領域黃皮書“多重橢圓曲線的數字簽名方法”已被提交至全球預印本資料庫資料庫資料庫arxiv.org發表,并隨后于Seele元一官網Seele.pro全文公開。該黃皮書通過橢圓曲線數量和六個參數的動態調整,實現了適用于不同應用場景和安全需求的動態簽名機制。Seele元一首席科學家畢偉博士表示:“新簽名算法和獨特的運行機制,為主網上線提供了更加堅實的安全技術保障。[2018/8/10]
因此,為了能夠處理任何長度的信息,通常采用填充法:在向信息中添加插入物后,根據一定的規則,將產生的字符串填充到所需的大小。在接收方處理信息時,首先進行解密和驗證加法的正確性,然后才檢查模擬的插入。
在HugoKrawczyk的作品發表不到一年,就出現了針對CBC模式的填充預言機攻擊,它利用對手在檢查解密消息的補碼時獲取有關接收方是否遇到錯誤的信息。
攻擊的結果是違反了傳輸數據的保密性。起初,人們認為TLS協議免受填充預言機攻擊,因為其中的錯誤僅以加密形式返回,因此添加中的錯誤與模擬插入中的錯誤無法區分。
然而,密碼分析者能夠確定,對于大多數實現,在錯誤添加的情況下發布錯誤的時間與發布其他錯誤的時間不同,因為在錯誤添加的情況下,錯誤會立即發布,并且沒有采取進一步行動。
這個時間差使得可以區分接收端返回的錯誤并將填充預言機攻擊應用于TLS協議。
現場 | 元道:通證是凝結在密碼學基礎設施上的人類共識符號:金色財經現場報道,在中國區塊鏈行業發展論壇現場,中關村區塊鏈產業聯盟理事長、通證派創始人元道表示,行業數字化通證第一、區塊鏈第二。通證是凝結在密碼學基礎設施上的人類共識符號,全球發行,全球流通。通證應用在于:第一、協作,行業上下游的強協作激勵機制(包括負激勵);第二、品牌,通證全球流通,便于建立全球品牌;第三、組織,新一代行業協會,社群自治組織。自金融,自帶金融的數字化變革,從自媒體到自金融。[2018/7/11]
然而,在Krawczyk的模型中,沒有考慮到對手可以在解密期間接收有關錯誤發生位置的信息。
這種遺漏導致攻擊類型與敵人的實際能力不匹配,事實證明這比模型假設的要多。這種機會的出現是由于系統功能的特殊性出現在其實施階段。
因此,起初給這位受人尊敬的科學家的工作蒙上陰影的整個情況遠沒有那么可怕:Krawczy的證明是絕對正確的,只是進行證明的模型變得無關緊要。
威脅模型不匹配
同樣有趣的是威脅模型不匹配引起的漏洞。如果一些可能的情況沒有被認為是負面的,它們就會出現。這種漏洞的一個例子是能夠恢復加密的VoIP對話的近似轉錄,只知道加密數據包的長度。
最初,人們認為對手存在這種信息并不構成違反保密性的巨大威脅,最多只能揭示對話的語言或某些短語的存在。
但是北卡羅來納大學的科學家們發現,通過結合某些編碼語音信息的方法和保留消息長度的流密碼,使用計算語言學和統計方法,可以準確地重新創建整個對話的轉錄。
因此,識別威脅的錯誤在建模階段就悄悄出現了。由于該系統是專門為加密語音電話而創建的,這樣的威脅本可以在加密協議開發的初始階段就被注意到。
對敵方資源的假設不一致
反過來,Sweet32攻擊基于對敵人資源的假設不匹配而產生的漏洞。Sweet32攻擊破壞了機密性,并使用塊長度較小的塊密碼來針對CBC加密模式。
這種攻擊基于生日悖論,為了成功,需要保持與服務器的連接時間大約38小時,以發送大約785GB的流量。
其實,早在2000年,就有一篇發表的作品中已經給出了破解CBC模式的概率對加密數據量的依賴。在那個年代,即使使用64位分組密碼,加密如此大量的數據,足以打破CBC模式,實際上是不切實際的。
因此,基于64位分組密碼的CBC模式在實踐中被認為是強大的。然而,隨著時間的推移,實施Sweet32所需要的資源不再顯得那么出色。
只是沒有注意到,在操作階段,模型與現實之間存在不匹配。因此,在實踐中,敵人可用的資源比模型中假設的要多得多。
進化斗爭
應該注意的是,系統通發現任何漏洞的常見做法是:當所考慮的示例中描述的每個漏洞的出版物發布后,立即采取措施解決這些漏洞。
然而,在無誤的理論研究的前提下,發現的漏洞會觸發另一個同樣重要的過程:分析對手模型與實際情況的差異及其后續擴展,將作為新一輪理論研究的一部分,這個過程本質上是對手模型的演變。
因此,在現實中,一個系統的發展是一個封閉的循環,其中,在解決方案的整合之后,一個同樣重要的運行過程發生了,它也進行了自身的調整。
在操作過程中,我們對敵人能力和安全屬性的鏈接會顯著擴大,有時是根據第三方或內部要求的結果對系統進行黑客攻擊的結果,這樣的“發現”開始了系統生命周期的新迭代。
不完美是不可避免的
但是不應該將此開發順序流程視為不合理,應該將其周期性視為流程不完善的標志。密碼學與其他科學沒有什么不同,類似的情況隨處可見。
有一個例子是:人們對地球形狀的理解的發展,它是最有形和最廣為人知的模型之一。該模型經歷從平坦地球模型到球狀地球模型、自轉橢球模型和大帝水準面模型的演變。
在這種情況下,出現與理論預測不一致的情況類似于在實踐中破壞理論上穩定的密碼系統。
對手模型增加了這樣的可能性:在系統被破壞的情況下,發現的漏洞將加深我們對信息安全方面的總體理解。
還值得注意的是,理論研究允許在實際實施之前預測許多攻擊。例如,1997年表明使用具有可預測初始化向量的CBC模型是不安全的。
然而,由于所提出的攻擊似乎過于理論化,所以沒有對使用這種加密方法的協議的實施進行修改。
到2011年,盡管有大量研究警告對TLS進行此類攻擊的可能性,但該漏洞仍未得到修復,密碼分析人員提出了該攻擊的實際實現,稱為BEAST。直到那時漏洞才被關閉。
總之,在毛球科技看來,系統開發的每個階段都很重要,應該與前幾個階段相互作用,如此這樣的過程確保了知識的精確進化,而不僅僅是“修補漏洞”。因此,不要忽視任何一個階段,適當關注新模型的發展和理論研究是非常重要的。
量子威脅
大多數人認為,絕大多數支持分布式賬本交易的加密協議都容易受到強大的量子計算機的攻擊。
量子計算機主要是一種模擬計算系統,它利用量子力學所描述的物理現象來處理數據和傳輸信息。更具體點說,量子計算機使用量子疊加和量子糾纏來計算。
在數據不變性的層面上,區塊鏈得到了很好的保護,甚至不受量子力量的影響。有關交易的信息存儲在注冊表中,該數據的重復記錄可供區塊鏈的所有主體使用,所有參與者相互獨立。
在這方面,為了改變網絡上的數據以修改向交易,必須影響所有區塊,這在沒有百萬用戶確認的情況下是不可能發生的。
只要用戶的錢包才會出現問題和漏洞。這是由于在可預見的未來,量子計算機的力量可能足以成功攻擊64位數的私鑰,而這也是量子計算威脅的唯一假設真實機會。
基于理論假設,俄羅斯聯邦政府金融大學副教授弗拉基米爾·吉辛表示,在擁有100量子比特量子計算機的世界中,比特幣區塊鏈可能被黑客入侵。
現在,上面的都是基于理論假設,還沒有實際的量子計算機出現,就算谷歌制造的49位量子位設備的存在也尚未被證實。
11月30日,萬向區塊鏈“區塊鏈+”技術部高級總監屠文慧受邀在由湖南省工業和信息化廳主辦,長沙經濟技術開發區管理委員會、工業互聯網產業聯盟承辦的“2021國際工業區塊鏈大會-新基建技術融合應用分.
1900/1/1 0:00:00據中國紀檢監察報12月14日報道,近期,浙江省紀委監委、省委網信辦等部門組成聯合檢查組,采取不提前通知、不打招呼、不聽匯報、直查機房、循線倒查“礦機”等方式.
1900/1/1 0:00:00你聽說過“元宇宙”嗎?2021年,元宇宙一詞可以說火得一塌糊涂。英國《經濟學人》把它列為2022年最值得關注的22項新興技術之一,《證券日報》說它是2021年度十大網絡用語.
1900/1/1 0:00:00DeFi之道訊,11月24日,推特首席執行官JackDorsey發推稱,目前他和Jay-Z組建的比特幣捐贈基金?trust已經審核了7000多份董事會成員申請,現在已經篩選出了6名候選人.
1900/1/1 0:00:00用于構建元宇宙的3D?NFT市場MetaMundo今天宣布,它已經籌集了270萬美元的種子資金.
1900/1/1 0:00:00作者:光速創投合伙人AmyWu 最近去了北歐之后,一直在思考web3游戲的未來,那里是一些世界上最偉大的游戲公司的所在地。Web3已經進入每個人的腦海中。直到最近發生的育碧事件.
1900/1/1 0:00:00