現在密碼學研究還有實際意義嗎?

橢圓曲線公鑰協議幾乎可以解決目前的一切問題。而且計算機安全的主要缺陷在系統層面而不是在協議層面。

沒有哪個黑客攻擊,是基於破解密碼演算法,而不是針對系統漏洞。那麼現在密碼學研究還有什麼實際意義?


的確沒啥實際意義,反正Big Brother找你要用戶名/密碼/USB/TPM/Session randomness時,你又不敢不給。

對了,如果不是前輩們把演算法、協議做到太那個什麼,估計現在不僅有「腳本小子」,應該也會有「演算法小子」了。

===分割線============================================================

題主改了題目,終於寫出「協議」這兩個字,好吧,總算有點上乾貨的意義了。

列出幾個用EC搞不定的問題

1. 多方(Multi-partite, Number of Parties &> 3)、單輪(One Pass)密鑰交換協議的構建;

通常這個需要一個multi-linear map, 結果GGH這個唯一的、具體的multi-linear map構建被人攻破了(中國人幹得好!)

2. Single-Sign On協議的安全性證明;

現在在使用的所有SSO協議,比如原版的kerberos和OAuth其實都沒有(近乎)形式化的證明。(修改協議的確有些證明,但修改後就不是實際使用中的kerberos和OAuth了)

Single Sign On很多地方都在使用,比如登錄知乎就可以調用新浪微博的OAuth服務。

而證明某個認證協議是否安全,最重要的是定義一個把參與會話的若干方都綁定的東西,這個可以是所謂的session ID(連這個都沒有統一定義,BR93, BR95, BPR2000, CK這些證明模型里都有不同的定義),或者是matching(跟消息的嚴格時間次序有關,兩方是否match的定義來自B-R Model,而matching conversation在三方及以上無法通過B-R的定義擴展)

連general group/field本身都沒法導出matching的定義,更別說ECC了。

也就是說,三方以上參與的、對其中某一方的認證協議的整體安全分析,一定程度上屬於密碼學的「史前時代」。

3. 短公鑰位數(不是元素數)、CCA安全的、基於屬性的加密方案(ABE)。

對於目前使用EC group bilinear pairing的ABE方案,其CCA安全性的證明大多是基於dual system做出的。這就導致實現時所需要的公鑰的位數會非常的大(&>2048 bit, 和RSA相當),完全失去了使用EC的最主要意義——效率。(對比:平常TLS做DH所需要的ECC,其公鑰長度(群階數的二進位表示)大概是160到240-bit這個級別)

此外,還有一個關於公開曲線的疑問: ECC用的曲線,到底有沒有後門?

這個很致命哦,看看Schneier大神的blog吧

https://www.schneier.com/blog/archives/2015/10/why_is_the_nsa_.html

然後再看看NIST、NSA古怪的舉動,引自https://eprint.iacr.org/2015/1018.pdf

首先是個讓人起疑的聲明

Most of the NSA statement was unexceptionable. However, one passage
was puzzling and unexpected:

For those partners and vendors that have not yet made the
transition to Suite B algorithms [41], we recommend not
making a significant expenditure to do so at this point but
instead to prepare for the upcoming quantum resistant algorithm
transition.... Unfortunately, the growth of elliptic
curve use has bumped up against the fact of continued
progress in the research on quantum computing, necessitating
a re-evaluation of our cryptographic strategy.

大意是說,如果沒升級到用EC的,就甭費那個勁了。

接下來是在EC標準化過程中NSA的動作

As the heated debate continued,
the NSA representative left to make a phone call. When he returned,
he announced that he was authorized to state that the NSA believed that
ECC had sufficient security to be used for secure communications among
all U.S. government agencies, including the Federal Reserve. People were
stunned. In those days the NSA representatives at standards meetings would
sit quietly and hardly say a word. No one had expected such a direct and
unambiguous statement from the NSA. The ECC standards were approved.

(以下為中文試譯)

當討論正熱烈進行中時,NSA的代表離席打了個電話。當他回來時,他宣布他被授權發表聲明,說NSA認為在政府機關,包括美聯儲的之間的通信中,(使用)ECC是足夠安全的。人們都驚呆了。(因為)在這些天里,這個NSA代表基本沒說什麼話,只是靜靜地坐在會場。沒人會想到NSA會發布這麼直接並且毫無疑義的論斷。ECC標準被通過了。

NSA裝後門是有前科的(參看關於EC_DRBG的報導),而現有的公開曲線大多是NIST標準里提到的。

你真的敢哪裡都用EC嗎?


題主畢竟還是圖樣。

真正場景的黑客攻擊(而非滲透測試),遠程溢出,咔咔提權,啪啪拿下域控,掌管內網上千台伺服器,可是你發現拷貝出來的數據是亂碼,硬碟是加密的,你告訴我,你花幾十萬買的0day有個蛋用,能變現不。

對我來說,des加密和aes加密都一樣,因為我不會用我的小破筆記本去跑現代密碼的密鑰,那是找虐,但是如果有密鑰窮舉的捷徑呢,我沒準會試一試。如果這個數據對我非常重要,我也許會花很多錢申請超算中心去跑一跑,又是不一樣的結果。

所以你對我說密碼學不重要?

好吧 我不懂密碼學,我只是個腳本小子。

」沒有哪個黑客攻擊,是基於破解密碼演算法,而不是針對系統漏洞「

ssl中間人不算黑客攻擊?

md5碰撞繞過白名單檢查不算黑客攻擊?

還有padding oracle呢?

壓縮包密碼窮舉爆破算不算?

好吧,你可能說窮舉不算密碼學攻擊。我雖然不懂密碼學,但是我觀察到不同的壓縮包加密方式是不同的,一種是輸入密碼後立即提示你密碼錯誤,一種是當文件完全解壓完畢後才發現密碼錯誤,哪怕你之前已經解壓了一個小時,現在你告訴我,哪個應對密碼窮舉的能力強?


我覺得是因為你的知識水平沒有達到能夠看到缺陷的地步(當然我也沒有,我只是用我的經驗猜一下)。我以前上密碼學課,老師演示過如何使用數學的方法攻擊一個密碼學體系,去尋找這個加密方法在數學方面的漏洞和缺陷。這玩意感覺只有很牛的數學計算機雙精通的大神才玩的轉。你說的系統層面,其實也許不過是程序員的疏忽,隨時可以打補丁修補。而那些數學演算法里的漏洞,卻是整個體系上的。


題主似乎不了解現代密碼學的現狀,密碼安全的主要缺陷在協議層面而不是在系統層面。

這裡做一點修正,現代密碼學包含密碼協議,即密碼通訊協議。

出現過已經證明安全的協議後被攻破的情況。如SSL V3的前兩個版本。

按照哥德爾不完備性理論,協議無法被證明是安全的。

所謂的非對稱加密也只是解決了形如這樣的問題,即AdiShamir協議

D(F(X))=F(D(X)),D^-1(F^-1(X))=F^-1(D^-1(X))

例子:

Alice和Bob通訊,D(x)是Alice的加密演算法,F(x)是Bob的加密演算法,D^-1(x)和F^-1(x)分別是各自的解密演算法

0.Alice選擇隨機數x1.

1.Alice加密發送D(x1)到Bob

2.Bob再加密回復F(D(x1))到Alice

3.Alice解密發送D^-1(F(D(x1)))=F(x1)到Bob

4.Bob解密獲得x1.這條協議中D(x),F(x),加密和解密演算法都不公開,但是雙方交換了密鑰x1,那麼有沒有問題呢?,在這條通訊協議中沒有辦法驗證雙方的身份。

關於密碼協議部分簡單的做一個說明,在近期知乎的另外一個問題中即為毛D和H的DH演算法獲得了今年的圖靈獎。不是因為他們的演算法多麼的高深,而是他們的研究方式使兩個不見面的雙方能夠通過密碼直接傳輸加密信息,似乎努力一下還能夠確認雙方的信息。這個使得密碼學多了一個功能。從猜謎語變成了雙方互信通訊了。

在學術領域提出問題比解決問題有時更重要,比如三次數學危機,比如費馬大定理。

另外關於密碼協議還有一個比較讓國人自豪的是姚啟智教授(他也是圖靈獎得主)的姚氏百萬富翁問題。這個問題能夠讓幾個人不暴露財富的情況下成功裝逼併深藏功與名。

RSA,ElamGal,DSS是其中的幾個可用的協議所支持的演算法,但是怎麼用好這樣的協議仍然是需要解決的問題。

同時通訊也不是簡單的一對一通訊就能夠滿足現在的需求,零知識證明,多對多通訊,一些紙牌協議,多人投票等都是可以使用密碼學解決的問題。

大質數的弱點本身也有量子紹爾演算法這樣的存在。

如果這個被破解了那麼就需要新結構的同態加密進行非對稱通訊。

密碼學哪裡能說沒有問題?

黑客破解系統是網路安全層面。

加密是信息安全層面。兩者不可同日而語。

比如電磁對抗是信息安全層面的東西,這個網路安全一般是不會到這一步的。

密碼學是信息安全的基石。

關於協議的攻擊部分可以看看這個書,裡面很多東西目前看還是天書範疇,包含懷校長那篇。密碼協議形式化分析

關於有趣的密碼協議部分可以看看《應用密碼學 協議 演算法和C源程序》


Side—channel Attack 密碼晶元 回答完畢。


舉個例子,DES的S盒那麼多年也沒敢確定到底有沒有後門,就這個水平還敢說沒有研究意義了?

當然了,對於一部分人來說,密碼學大概只是等於具體一個庫了。


很簡單,不能用實際中出現的單個問題去否定安全的基礎。換一個角度思考,如果一個系統是很在意安全的情況下,難道不藉助理論而是把希望寄托在工程師的想法上??其實你的問題里已經解釋了意義了,如果沒有理論的支持,就不是出現單點的問題了。


實現不同的功能,需要不同的構造


再強大的安全體系,也抵不過這個體系中一個人的失誤。那麼研究安全還有實際意義嗎?

————


推薦閱讀:

你好,密碼學(2):密碼的演變(下)
全同態加密釋疑(四):轉折點:LWE上全同態加密的誕生
RSA系列——大質數找尋
用密碼學玩暗軍棋 -- 閑聊多方計算
為什麼 Touch ID 存儲在本地的指紋信息可以用來驗證 Apple ID,是否存在安全隱患?

TAG:信息安全 | 計算機科學 | 密碼學 |