因?yàn)?ldquo;活板門”質(zhì)數(shù)(‘trapdoored' primes)的出現(xiàn),使用1024位密鑰加密算法已不再安全。在本文中,專家Michael Cobb解釋了加密后門的工作機(jī)制。
自2010年起,美國(guó)國(guó)家標(biāo)準(zhǔn)與技術(shù)研究院(NIST)建議使用最少2048位數(shù)字簽名算法(DSA),Rivest-Shamir-Adleman(RSA)算法和diffie-hellman算法,自2014年起,政府機(jī)構(gòu)不允許使用1024位密鑰。
然而,現(xiàn)在常用的仍然是1024位密鑰。部署和兼容性問(wèn)題是其中一個(gè)原因。例如,域名系統(tǒng)安全擴(kuò)展的規(guī)范限制最多到1024位DSA密鑰,Java只支持diffie - hellman和DSA密鑰,高于1024位的版本8在2014年才發(fā)布。
鑒于攻擊成本,公眾對(duì)于針對(duì)1024位密鑰進(jìn)行的攻擊缺乏必要的緊迫感。
然而,由于“活板門”質(zhì)數(shù)(‘trapdoored' primes)的出現(xiàn),攻擊1024位密鑰不再是理論上的。“活板門”質(zhì)數(shù)允許攻擊者打破某些1024位密鑰來(lái)解密通信和密碼,仿冒關(guān)鍵業(yè)主簽署數(shù)據(jù),而受害者毫不知情。
許多加密系統(tǒng)的安全性基于數(shù)學(xué)問(wèn)題,涉及質(zhì)數(shù)眾多,以致攻擊者難以解決離散對(duì)數(shù)問(wèn)題。與RSA密鑰的素?cái)?shù)一樣獨(dú)一無(wú)二,diffie-hellman質(zhì)數(shù)和DSA經(jīng)常使用標(biāo)準(zhǔn)化,并被大量的應(yīng)用程序使用。
“活板門”質(zhì)數(shù)都是精雕細(xì)琢的質(zhì)數(shù),有特殊的數(shù)域篩,專用的整數(shù)分解算法,可用來(lái)求解離散對(duì)數(shù)問(wèn)題。這使得破壞1024位密鑰比以往容易了10000倍。
更糟糕的是,沒(méi)有已知的現(xiàn)行方式能夠知曉攻擊發(fā)生。密鑰被破壞時(shí),一個(gè)‘密鑰活板門'看起來(lái)像任何密鑰。一旦破壞完成,攻擊者可以利用其破解任何加密。該后門可用于加密解密使用diffie - hellman密鑰交換及使用DSA算法的通信加密或偽造簽名,而這些都是網(wǎng)絡(luò)和數(shù)據(jù)安全的支柱。
一旦攻擊者獲取到一個(gè)或多個(gè)‘活板門’質(zhì)數(shù),并將其納入標(biāo)準(zhǔn)的或廣泛使用的庫(kù),數(shù)億用戶都將成為潛在的受害者。
此前斯諾登已暗示加密正被削弱,其研究表明一些標(biāo)準(zhǔn)化的1024位密鑰可能存在的“活板門”質(zhì)數(shù)。例如diffie - hellman組RFC 5114中指定參數(shù),被廣泛用作生成加密密鑰的基礎(chǔ),多用在應(yīng)用程序使用傳輸層安全協(xié)議、安全Shell協(xié)議的遠(yuǎn)程管理服務(wù)器和互聯(lián)網(wǎng)密鑰交換協(xié)議。
這些參數(shù)來(lái)自NIST的測(cè)試數(shù)據(jù)。因?yàn)?ldquo;活板門”質(zhì)數(shù)的存在和積極使用,使用1024位密鑰已不再安全。企業(yè)和軟件開發(fā)者使用基于離散對(duì)數(shù)問(wèn)題的硬度密碼需要使用至少2048位密鑰加密算法。