NetworkWorkingGroupS.KellyRequestforComments:4772ArubaNetworksCategory:InformationalDecember2006NetworkWorkingGroupS.KellyRequestforComments:4772ArubaNetworksCategory:InformationalDecember2006SecurityImplicationsofUsingtheDataEncryptionStandard(DES)
使用数据加密标准(DES)的安全影响
StatusofThisMemo
关于下段备忘
ThismemoprovidesinformationfortheInternetcommunity.ItdoesnotspecifyanInternetstandardofanykind.Distributionofthismemoisunlimited.
本备忘录为互联网社区提供信息。它没有规定任何类型的互联网标准。本备忘录的分发不受限制。
Abstract
摘要
TheDataEncryptionStandard(DES)issusceptibletobrute-forceattacks,whicharewellwithinthereachofamodestlyfinancedadversary.Asaresult,DEShasbeendeprecated,andreplacedbytheAdvancedEncryptionStandard(AES).Nonetheless,manyapplicationscontinuetorelyonDESforsecurity,anddesignersandimplementerscontinuetosupportitinnewapplications.Whilethisisnotalwaysinappropriate,itfrequentlyis.ThisnotediscussesDESsecurityimplicationsindetail,sothatdesignersandimplementershavealltheinformationtheyneedtomakejudiciousdecisionsregardingitsuse.
数据加密标准(DES)易受暴力攻击的影响,资金有限的对手很容易受到暴力攻击。因此,DES已被弃用,取而代之的是高级加密标准(AES)。尽管如此,许多应用程序仍然依赖DES来实现安全性,设计者和实现者继续在新的应用程序中支持DES。虽然这并不总是不合适的,但它经常是不合适的。本说明详细讨论了DES的安全含义,以便设计人员和实现人员能够获得关于DES使用的明智决策所需的所有信息。
TableofContents
目录
数据加密标准[DES]是美国政府批准公开披露的第一个加密算法。暴力攻击在算法发布到公共领域后立即成为猜测的主题,许多研究人员发表了关于攻击可行性和明确暴力攻击方法的讨论,从[DH77]开始。
在20世纪90年代早期到中期,出现了许多其他论文,包括维纳的“高效DES密钥搜索”[WIEN94]和“对称密码的最小密钥长度以提供充分的商业安全”[BLAZ96]。虽然这些论文和其他各种论文讨论了DES裂解机械的理论方面,但没有一篇论文描述了此类机械的具体实现。1998,电子前沿基金会(EFF)走得更远,实际上建立了一个设备,并免费发布公开审查的实施细则[EF98]。
DespitethefactthattheEFFclearlydemonstratedthatDEScouldbebrute-forcedinanaverageofabout4.5dayswithaninvestmentoflessthan$250,000in1998,manycontinuetorelyonthisalgorithmevennow,morethan8yearslater.Today,thelandscapeissignificantlydifferent:DEScanbebrokenbyabroadrangeofattackersusingtechnologiesthatwerenotavailablein1998,includingcheapFieldProgrammableGateArrays(FPGAs)andbotnets[BOT05].Theseandotherattackmethodologiesaredescribedindetailbelow.
尽管事实上EFF清楚地表明DES在1998年的平均投资不到250000美元的情况下,可以在大约4.5天内被粗暴地强迫,但许多人甚至在8年后的今天仍然依赖这种算法。如今,情况大不相同:DES可以被广泛的攻击者利用1998年不可用的技术破坏,包括廉价的现场可编程门阵列(FPGA)和僵尸网络[BOT05]。下面将详细描述这些攻击方法和其他攻击方法。
GiventhattheAdvancedEncryptionStandard[AES]hasbeenapprovedbytheU.S.government(undercertainusagescenarios)fortop-secretapplications[AES-NSA],andthattripleDES(3DES)isnotsusceptibletothesesameattacks,onemightwonder:whyevenbotherwithDESanymoreUndermoreidealcircumstances,wemightsimplydispensewithit,butunfortunately,thiswouldnotbesosimpletoday.DEShasbeenwidelydeployedsinceitsreleaseinthe1970s,andmanysystemsrelyonittoday.Wholesalereplacementofsuchsystemswouldbeverycostly.Amorerealisticapproachentailsgradualreplacementofthesesystems,andthisimpliesatermofbackwardcompatibilitysupportofindefiniteduration.
鉴于高级加密标准[AES]已获美国政府批准(在某些使用场景下)用于绝密应用程序[AES-NSA],而且三重DES(3DES)不易受到这些攻击,人们可能会想:为什么还要再使用DES?在更理想的情况下,我们可能干脆放弃它,但不幸的是,这在今天不会如此简单。DES自20世纪70年代发布以来已被广泛部署,如今许多系统都依赖于它。大规模更换此类系统的成本非常高。一个更现实的方法需要逐步替换这些系统,这意味着一个无限期的向后兼容性支持术语。
Inadditiontobackwardcompatibility,inisolatedinstancestheremaybeothervalidargumentsforcontinuedDESsupport.Still,relianceuponthisdeprecatedalgorithmisaseriouserrorfromasecuritydesignperspectiveinmanycases.Thisnoteaimstoclarifythesecurityimplicationsofthischoicegiventhestateoftechnologytoday,sothatdeveloperscanmakeaninformeddecisionastowhetherornottoimplementthisalgorithm.
除了向后兼容之外,在孤立的实例中,可能还有其他有效的参数支持DES。然而,从安全设计的角度来看,在许多情况下,依赖这种不推荐的算法是一个严重的错误。本说明的目的是在当今的技术状态下澄清此选择的安全含义,以便开发人员能够就是否实现此算法做出明智的决定。
多年来,IETF的安全领域一直在积极阻止DES的使用,但我们仍然看到它在使用。鉴于有广泛发表的关于真实攻击的报道,并且我们一直在口头上劝阻它的使用,一个问题出现了:为什么人们不倾听?我们只能推测,但有一种可能性是,他们根本不了解DES在多大程度上因密码科学和技术的进步而被边缘化。另一种可能性是,我们还没有适当明确和积极地对待这一点。考虑到这些特殊的可能性,本说明旨在消除任何剩余的幻想。
ThedepthofbackgroundknowledgerequiredtotrulyunderstandandfullyappreciatethesecurityrisksofusingDEStodayissomewhatdaunting,andanextensivesurveyoftheliteraturesuggeststhatthereareveryfewpublishedmaterialsencompassingmorethanafractionoftheconsiderationsallinoneplace,with[CURT05]beingonenotableexception.However,eventhatworkdoesnotgatherallofthepiecesinsuchawayastoinformanimplementerofthecurrentreal-worldrisks,soherewetrytofillinanyremaininggaps.
真正理解和充分理解当今使用DES的安全风险所需的背景知识的深度有点令人望而生畏,对文献的广泛调查表明,几乎没有出版的材料涵盖了一个地方的一小部分考虑因素,其中[05]是一个显著的例外。然而,即使是这项工作也不能以这样一种方式收集所有的信息,即告知实施者当前的现实世界风险,因此我们在这里尝试填补任何剩余的空白。
为方便起见,下一节简要概述了建议。如果您不知道IETF在DES上的当前位置,并且您想要的只是一个摘要,那么您可以只阅读推荐摘要部分,而跳过文档的其余部分。如果您想更详细地了解攻击DES的历史和当前技术水平,您将在后续章节中找到。
Additionally,therehavebeenanumberofsuccessfuldistributedattacksonDES[CURT05],andwiththerecentarrivalofbotnets[BOT05],theseresultsareallthemoreonerous.Furthermore,thereareanumberofcryptanalyticattacksagainstDES,andwhilesomeof
此外,对DES[CURT05]的分布式攻击也取得了一些成功,随着僵尸网络[BOT05]的最近出现,这些结果变得更加复杂。此外,还有许多针对DES的密码分析攻击,其中一些
目前,这些仍然是纯理论性质的,至少有一个是最近使用FPGA实现的,可以在12-15小时内推导出DES密钥[FPL02]。显然,按照今天的标准,DES不能被视为“强”加密算法。
总结目前关于使用DES的建议,简单的答案是“不要使用它-它不安全。”虽然可能存在DES安全性足够的用例,但通常需要安全专家来确定何时这是真的。此外,现在有更安全的算法(如3DES、AES)是更安全的选择。唯一仍然应该支持DES的一般情况是,在向后兼容性方面严格要求DES,并且升级的成本超过了暴露的风险。然而,即使在这些情况下,也可能应该提出逐步淘汰此类系统的建议。
如果您只是对当前的建议感兴趣,那么您就有了它:不要使用DES。如果您有兴趣了解我们是如何得出这个结论的,请继续阅读。
InordertoassessthesecurityimplicationsofusingDES,itisusefulandinformativetoreviewthebasicrationaleforusingencryption.Ingeneral,weencryptinformationbecausewedesireconfidentiality.Thatis,wewanttolimitaccesstoinformation,tokeepsomethingprivateorsecret.Insomecases,wewanttosharetheinformationwithinalimitedgroup,andinothercases,wemaywanttobethesoleowneroftheinformationinquestion.
有时,我们想要保护的信息只对个人有价值(例如日记),而机密性的丧失,虽然在某些有限的方面可能造成损害,但通常不会是灾难性的。在其他情况下,信息可能具有重大的财务影响(例如,公司的战略营销计划)。而在另一些国家,生命可能受到威胁。
Inordertogaugeourconfidentialityrequirementsintermsofencryptionstrength,wemustassessthevalueoftheinformationwearetryingtoprotect,bothtousandtoapotentialattacker.Therearevariousmetricswecanemployforthispurpose:
为了衡量我们在加密强度方面的保密要求,我们必须评估我们试图保护的信息对我们和潜在攻击者的价值。为此,我们可以采用各种指标:
oCostofconfidentialityloss:WhatcouldweloseifanadversaryweretodiscoveroursecretThisgivessomemeasureofhowmucheffortweshouldbewillingtoexpendtoprotectthesecret.
o保密损失成本:如果对手发现了我们的秘密,我们会损失什么?这在一定程度上说明了我们应该付出多少努力来保护这个秘密。
oValuetoadversary:WhatdoestheattackerhavetogainbydiscoveringoursecretThisgivessomemeasureofhowmuchanadversarymightreasonablybewillingtospendtolearnthesecret.
o对对手的价值:攻击者通过发现我们的秘密获得了什么?这在一定程度上衡量了一个对手可能愿意花多少钱来了解这个秘密。
oWindowofopportunity:HowlongdoestheinformationhavevaluetoanadversaryThisgivessomemeasureofhowacceptableaweaknessmightbe.Forexample,iftheinformationisvaluabletoanattackerformonthsandittakesonlydaystobreaktheencryption,weprobablyneedmuchstrongerencryption.Ontheotherhand,ifthewindowofopportunityismeasuredinseconds,thenanencryptionalgorithmthattakesdaystobreakmaybeacceptable.
Therearecertainlyotherfactorswewouldconsiderinconductingacomprehensivesecurityanalysis,buttheseareenoughtogiveageneralsenseofimportantquestionstoanswerwhenevaluatingDESasacandidateencryptionalgorithm.
当然,在进行全面的安全性分析时,我们还需要考虑其他因素,但是当DES作为候选加密算法进行评估时,这些都足以给出一般意义上的重要问题。
在当今的互联网上,许多常用的应用程序都依赖加密来保密。为了评估给定密码算法在这种情况下的充分性,我们应该首先问一些基本问题:这些应用程序的实际风险是什么,即应用程序实际受到攻击的可能性有多大,由谁攻击,原因是什么?
Whileitisdifficulttocomeupwithone-size-fits-allanswersbasedongeneralapplicationdescriptions,wecaneasilygetsomesenseoftherelativethreattomanyoftheseapplications.Itisimportanttonotethatwhatfollowsisnotanexhaustiveenumerationofalllikelythreatsandattacks,butrather,asamplingthatillustratesthatrealthreatsaremoreprevalentthanintuitionmightsuggest.
虽然很难根据一般的应用程序描述得出一刀切的答案,但我们很容易对这些应用程序中的许多应用程序的相对威胁有所了解。重要的是要注意,下面的内容并不是对所有可能的威胁和攻击的详尽列举,而是一个样本,表明真正的威胁比直觉可能暗示的更普遍。
Herearesomeexamplesofcommonapplicationsandrelatedthreats:
o站点到站点VPN:通常,它们用于连接地理位置不同的公司办公室。通过此类链接的数据通常是业务关键型的,有时是高度机密的。美国联邦调查局估计,每年都有数十亿美元输给外国竞争对手,这些竞争对手故意将经济情报锁定在美国工业和技术领域[FBI06]。在谷歌搜索“企业间谍”会产生许多有趣的链接,其中一些链接表明外国竞争者不是美国企业的唯一威胁。显然,这种威胁可以概括为包括任何国籍的企业。
oRemotenetworkaccessforbusiness:Seepreviousitem.
o业务远程网络访问:请参阅上一项。
oWebmail/emailencryption:SeeSite-to-siteVPNs.
o网络邮件/电子邮件加密:请参阅站点到站点VPN。
o网上银行:目前,网上银行最常见的威胁是“网络钓鱼”,它不依靠破坏会话加密,而是依靠欺骗用户提供其帐户信息。通常,针对该应用程序的会话加密的直接攻击无法很好地扩展。然而,如果已知某一特定银行使用弱加密算法进行会话安全,那么开发针对该银行的更广泛攻击可能是值得的。鉴于在许多网络钓鱼攻击背后都发现了有组织犯罪分子,不难想象会出现这种情况。
oElectronicfundstransfers(EFTs):TheabilitytoreplayorotherwisemodifylegitimateEFTshasobviousfinancialincentives(andimplications).Also,anindustrialspymightseeagreatdealofintelligencevalueinthefinancialtransactionsofatargetcompany.
o电子资金转账(EFT):重播或以其他方式修改合法EFT的能力具有明显的财务激励(和影响)。此外,工业间谍可能会在目标公司的金融交易中看到大量的情报价值。
o在线购买(电子商务):联邦调查局调查了一些针对电子商务应用程序的有组织攻击[FBI01]。如果攻击者能够监控指向依赖弱加密的大型商户的电子商务流量,则攻击者可以获取大量消费者信用信息。这是“钓鱼者”目前收集的数据,规模要小得多,因此人们可以很容易地想象这样一个目标的价值。
oInternet-basedVoIPapplications(e.g.,Skype):Whilemanyusesofthistechnologyareinnocuous(e.g.,longdistancecallstofamilymembers),VoIPtechnologyisalsousedforbusinesspurposes(seediscussionofFBIestimatesregardingcorporateespionageabove).
oCellulartelephony:Cellphonesareverycommon,andarefrequentlyusedforconfidentialconversationsinbusiness,medicine,lawenforcement,andotherapplications.
oWirelessLAN:Wirelesstechnologyisusedbymanybusinesses,includingtheNewYorkStockExchange[NYSE1].Thefinancialincentivesforanattackeraresignificantinsomecases.
o无线局域网:许多企业都使用无线技术,包括纽约证券交易所[NYSE1]。在某些情况下,攻击者的经济诱因非常重要。
oPersonalcommunications(e.g.,secureinstantmessaging):Suchcommunicationmaybeusedforcorporatecommunications(seeindustrialespionagediscussionabove),andmayalsobeusedforfinancialapplicationssuchasstock/securitiestrading.Thishasbothcorporate/industrialespionageandfinancialimplications.
o个人通信(例如,安全即时消息):此类通信可用于公司通信(见上文的工业间谍讨论),也可用于股票/证券交易等金融应用。这既涉及公司/工业间谍活动,也涉及财务问题。
oLaptophard-driveencryption:Seediscussiononcorporate/industrialespionageabove.Also,considerthatstolenandlostlaptopshavebeencitedforsomeofthemoresignificantlossesofcontroloversensitivepersonalinformationinrecentyears,notablytheVeteransAffairsdataloss[VA1].
o笔记本电脑硬盘加密:见上文关于公司/工业间谍的讨论。此外,考虑到近年来一些被盗和丢失的笔记本电脑受到了一些敏感的个人信息控制的重大损失,特别是退伍军人事务数据丢失[VA1]。
日常加密应用程序面临着现实世界中的威胁,其中一些威胁对攻击者来说是非常有利可图的(反过来,对受害者来说也是非常昂贵的)。重要的是要注意,如果这些攻击中的一些在今天很少发生,那正是因为这些威胁被识别,并且使用了适当的强加密算法。如果改用“弱”加密算法,其含义确实发人深省。
Inkeepingwiththeobjectivesofthisdocument,itisimportanttonotethattheU.S.governmenthasneverapprovedtheuseofDESforanythingbutunclassifiedapplications.WhileDESisstillapprovedforunclassifiedusesuntilMay19,2007,theU.S.governmentclearlyseestheneedtomovetohigherground.FordetailsontheNationalInstituteofStandardsandTechnology(NIST)DESTransitionplan,see[NIST-TP].Despitethisfact,DESisstillsometimeschosentoprotectsomeoftheapplicationsdescribedabove.Below,wediscusswhythisshould,inmanycases,beremedied.
为了与本文件的目标保持一致,需要注意的是,美国政府从未批准将DES用于非保密应用之外的任何用途。虽然DES在2007年5月19日之前仍被批准用于非机密用途,但美国政府显然认为有必要向更高的领域发展。有关国家标准与技术研究所(NIST)DES过渡计划的详细信息,请参见[NIST-TP]。尽管如此,有时仍然选择DES来保护上述一些应用程序。下面,我们将讨论为什么在许多情况下,这应该得到纠正。
DES是一种64位分组密码,密钥大小为56位。密钥实际上有64位(与块大小匹配),但每个字节中的1位被指定为“奇偶校验”位,不用于加密目的。有关DES历史的完整讨论以及算法的可访问描述,请参见[SCHN96]。
Adetaileddescriptionofthevarioustypesofattacksoncryptographicalgorithmsisbeyondthescopeofthisdocument,butforclarity,weprovidethefollowingbriefdescriptions.Therearetwogeneralaspectsofattackswemustconsider:theformoftheinputs/outputsalongwithhowwemightinfluencethem,andtheinternalfunctionofthecryptographicoperationsthemselves.
对密码算法的各种攻击类型的详细描述超出了本文档的范围,但为清楚起见,我们提供以下简要描述。我们必须考虑攻击的两个一般方面:输入/输出的形式以及我们可能如何影响它们,以及密码操作本身的内部功能。
Intermsofinput/outputform,someofthemorecommonlydiscussedattackcharacteristicsincludethefollowing:
就输入/输出形式而言,一些更常见的攻击特征包括:
oknownplaintext-theattackerknowssomeoftheplaintextcorrespondingtosomeoftheciphertext
o已知明文-攻击者知道与某些密文对应的一些明文
ociphertext-only-onlyciphertextisavailabletotheattacker,whohaslittleornoinformationabouttheplaintext
o仅密文-只有密文可供攻击者使用,而攻击者几乎没有或根本没有关于明文的信息
ochosenplaintext-theattackercanchoosewhichplaintextisencrypted,andobtainthecorrespondingciphertext
o选择明文-攻击者可以选择加密的明文,并获得相应的密文
obirthdayattacks-reliesonthefactthatforNelements,collisionscanbeexpectedin~sqrt(N)randomlychosensamples;forsystemsusingCBCmodewithrandomInitializationVectors(IVs),ciphertextcollisionscanbeexpectedinabout2^28samples.Suchcollisionsleakinformationaboutthecorrespondingplaintexts:ifthesamecryptographickeyisused,thenthexoroftheIVsisequaltothexoroftheplaintexts.
o生日攻击-依赖于以下事实:对于N个元素,在~sqrt(N)个随机选择的样本中可以预期碰撞;对于使用带有随机初始化向量(IVs)的CBC模式的系统,大约2^28个样本中可能会出现密文冲突。这种冲突会泄漏有关相应明文的信息:如果使用相同的加密密钥,则IVs的xor等于明文的xor。
omeet-in-the-middleattacks-leveragesbirthdaycharacteristictoprecomputepotentialkeycollisionvalues
o中间相遇攻击-利用生日特征预计算潜在的密钥冲突值
Duetothelimitedscopeofthisdocument,theseareverybriefdescriptionsofverycomplexsubjectmatter.Formoredetaileddiscussionsontheseandmanyrelatedtopics,see[SCHN96],[HAC],or[FERG03].
Asforattackcharacteristicsrelatingtotheoperationalaspectsofcipheralgorithms,thereareessentiallytwobroadclassesweconsider:cryptanalyticattacks,whichexploitsomeinternalstructureorfunctionofthecipheralgorithm,andbrute-forceattacks,inwhichtheattackersystematicallytrieskeysuntiltherightoneisfound.Thesecouldalternativelybereferredtoaswhiteboxandblackboxattacks,respectively.Thesearediscussedfurtherbelow.
至于与密码算法的操作方面有关的攻击特征,我们主要考虑两大类:利用密码算法的某些内部结构或功能的密码分析攻击和暴力攻击,其中攻击者系统地尝试密钥,直到找到正确的密钥。这些攻击可以分别称为白盒攻击和黑盒攻击。下文将进一步讨论这些问题。
Ingeneral,abrute-forceattackconsistsoftryingeachpossiblekeyuntilthecorrectkeyisfound.Intheworstcase,thiswillrequire2^nstepsforakeysizeofnbits,andonaverage,itwillrequire2^n-1steps.ForDES,thisimplies2^56encryptionoperationsintheworstcase,and2^55encryptionoperationsonaverage,ifweassumenoshortcutsexist.Asitturnsout,thecomplementationpropertyofDESprovidesanattackthatyieldsareductionbyafactorof2forachosenplaintextattack,sothisattackrequiresanaverageof2^54encryptionoperations.
通常,暴力攻击包括尝试每个可能的密钥,直到找到正确的密钥。在最坏的情况下,需要^n-2个位的平均值。对于DES,这意味着在最坏的情况下需要2^56个加密操作,如果我们假设不存在快捷方式,则平均需要2^55个加密操作。事实证明,DES的互补属性提供了一种攻击,对于选定的明文攻击,该攻击会减少2倍,因此该攻击平均需要2^54次加密操作。
以上,我们指的是2^n‘步骤’;请注意,“步骤”在某种程度上取决于上述第一个攻击方面,即我们对输入/输出形式的影响和知识。请记住,在最坏的情况下,我们将执行72057594037927936个“步骤”,超过720万亿次。在最困难的情况下,我们只有密文,没有输入的知识,这是非常重要的。
Giventhatabrute-forceattackinvolvessystematicallytryingkeysuntilwefindtherightone,itisobviouslyagoodcandidateforparallelization.IfwehaveNprocessors,wecanfindthekeyroughlyNtimesfasterthanifwehaveonly1processor.Thisrequiressomesortofcentralizedcontrolentitythatdistributestheworkandmonitorsthesearchprocess,butisquitestraightforwardtoimplement.
鉴于蛮力攻击需要系统地尝试密钥,直到找到正确的密钥为止,因此它显然是并行化的一个很好的候选者。如果我们有N个处理器,我们可以找到密钥的速度大约是只有1个处理器时的N倍。这需要某种集中控制实体来分配工作和监视搜索过程,但实现起来非常简单。
Thereareatleasttwoapproachestoparallelizationofabrute-forceattackonablockcipher:thefirstistobuildspecializedhigh-speedhardwarethatcanrapidlycyclethroughkeyswhileperformingthecryptographicandcomparisonoperations,andthenreplicatethathardwaremanytimes,whileprovidingforcentralizedcontrol.Thesecondinvolvesusingmanycopiesofgeneralpurposehardware(e.g.,aPC),anddistributingtheloadacrossthesewhileplacingthemunderthecontrolofoneormorecentralsystems.Bothoftheseapproachesarediscussedfurtherinsections5and6.
分组密码暴力攻击的并行化至少有两种方法:第一种方法是构建专门的高速硬件,在执行加密和比较操作时可以快速循环密钥,然后多次复制该硬件,同时提供集中控制。第二种方法涉及使用多个通用硬件副本(如PC),并在将其置于一个或多个中央系统控制下的同时,将负载分布到这些副本上。第5节和第6节将进一步讨论这两种方法。
蛮力攻击之所以得名,是因为它们在攻击过程中不需要太多的智能——它们只是一个接一个地尝试密钥,很少或根本没有智能密钥空间修剪。另一方面,密码分析攻击依赖于提前应用某些智能,这样做可以显著减少搜索空间。
Whileanin-depthdiscussionofcryptanalytictechniquesandtheresultingattacksiswellbeyondthescopeofthisdocument,itisimportanttobrieflytouchonthisareainordertosetthestageforsubsequentdiscussion.Itisalsoimportanttonotethat,ingeneral,cryptanalysiscanbeappliedtoanycryptographicalgorithmwithvaryingdegreesofsuccess.However,weconfineourselvesheretodiscussingspecificresultswithrespecttoDES.
虽然对密码分析技术和由此产生的攻击的深入讨论远远超出了本文件的范围,但重要的是要简要介绍这一领域,以便为后续讨论奠定基础。还需要注意的是,一般来说,密码分析可以应用于任何成功程度不同的密码算法。然而,我们在此仅讨论DES的具体结果。
HereisaverybriefsummaryofthecurrentlyknowncryptanalyticattacksonDES:
以下是目前已知的DES密码分析攻击的简要总结:
oDifferentialCryptanalysis-FirstdiscussedbyBihamandShamir,thistechnique(puttingitverysimply)analyzeshowdifferencesinplaintextcorrespondtodifferencesinciphertext.Formoredetail,see[BIH93].
o差分密码分析-首先由Biham和Shamir讨论,这种技术(简单地说)分析明文中的差异如何对应于密文中的差异。有关更多详细信息,请参见[BIH93]。
oLinearCryptanalysis-FirstdescribedbyMatsui,thistechniqueuseslinearapproximationstodescribetheinternalfunctionsofDES.Formoredetail,see[MAT93].
o线性密码分析-首先由松井描述,这种技术使用线性近似来描述DES的内部功能。有关更多详细信息,请参见[MAT93]。
oInterpolationAttack-ThistechniquerepresentstheS-boxesofDESwithalgebraicfunctions,andthenestimatesthecoefficientsofthefunctions.Formoreinformation,see[JAK97].
o插值攻击-这种技术用代数函数表示DES的S盒,然后估计函数的系数。有关更多信息,请参阅[JAK97]。
oKeyCollisionAttack-Thistechniqueexploitsthebirthdayparadoxtoproducekeycollisions[BIH96].
o钥匙碰撞攻击-该技术利用生日悖论产生钥匙碰撞[BIH96]。
oDifferentialFaultAnalysis-Thisattackexploitstheelectricalcharacteristicsoftheencryptiondevice,selectivelyinducingfaultsandcomparingtheresultswithuninfluencedoutputs.Formoreinformation,see[BIH96-2].
o差分故障分析-这种攻击利用加密设备的电气特性,选择性地诱发故障,并将结果与未受影响的输出进行比较。有关更多信息,请参阅[BIH96-2]。
Currently,thebestpubliclyknowncryptanalyticattacksonDESarelinearanddifferentialcryptanalysis.Theseattacksarenotgenerallyconsideredpractical,astheyrequire2^43and2^47knownplaintext/ciphertextpairs,respectively.Togetafeelforwhatthismeansinpracticalterms,considerthefollowing:
目前,对DES最广为人知的密码分析攻击是线性和差分密码分析。这些攻击通常被认为不实用,因为它们分别需要2^43和2^47个已知的明文/密文对。要从实际意义上理解这意味着什么,请考虑以下几点:
oForlinearcryptanalysis(themoreefficientofthetwoattacks),theattackermustpre-computeandstore2^43ciphertexts;thisrequires8,796,093,022,208(almost9trillion)encryptionoperations.
o对于线性密码分析(两种攻击中效率最高的一种),攻击者必须预先计算并存储2^43个密文;这需要8796093022208(近9万亿)加密操作。
oEachciphertextblockis8bytes,sothetotalrequiredstorageis70,368,744,177,664bytes,orabout70,369gigabytesofstorage.Iftheplaintextblockscannotbeautomaticallyderived,theytoomustbestored,potentiallydoublingthestoragerequirements.
o每个密文块是8字节,因此所需的总存储量是70368744177664字节,即大约70369GB的存储量。如果无法自动派生明文块,则必须存储明文块,这可能会使存储需求增加一倍。
oThe2^43knownplaintextblocksmustbesomehowfedtothedeviceunderattack,andthatdevicemustnotchangetheencryptionkeyduringthistime.
o必须以某种方式将2^43个已知明文块提供给受攻击的设备,并且该设备在此期间不得更改加密密钥。
显然,这次攻击存在实际问题。不过,令人清醒的是,如今70000千兆字节的存储容量比1993年松井首次提出这种攻击时看起来要现实得多。如今,400GB硬盘的价格约为每GB0.35美元。如果我们只需要存储已知的密文,这相当于约176个硬盘驱动器,成本不到25000美元。对于一个拥有大量财政资源的对手来说,这在今天的技术中可能是可行的,尽管在1993年很难想象。然而,许多其他实际问题仍然存在。
上面,我们描述了几种针对DES的攻击,其中一些攻击比其他攻击更实用,但认识到暴力是最坏的情况非常重要,密码分析攻击只能在此基础上改进。如果针对给定DES应用程序的暴力攻击确实可行,那么担心其他理论攻击模式的实用性只是一种干扰。底线是这样的:如果DES可以以攻击者今天可以承受的代价进行暴力强迫,那么随着技术的进步,这一成本必然会下降。
从实际角度来看,DES是否容易受到暴力攻击的问题,答案是响亮而明确的“是”。1998,电子前沿基金会资助了“DES饼干”的建设,随后出版了《破解DES》[EF98]。成本不到250000美元,该系统可以在最坏的情况下(大约9天)找到56位DES密钥,平均4.5天。
Quotingfrom[EFF98],
引用[EFF98],
“EFFDESCracker的设计概念简单。它由一台普通的个人计算机与大量定制芯片连接而成。个人计算机中的软件指示定制芯片开始搜索,并与用户交互。芯片运行时不需要软件的进一步帮助,直到他们发现潜在的兴趣该软件会定期轮询芯片,以找到它们找到的任何可能感兴趣的密钥。
硬件的任务不是找到答案。而是要消除大多数不正确的答案。然后,软件的速度足以搜索剩余的可能正确的密钥,从真实答案中筛选出误报。这台机器的优势在于它将一个简单但有用的搜索电路复制了数千次,使得软件只需搜索密钥空间的一小部分就可以找到答案。
ThisprojectclearlydemonstratedthatapracticalsystemforbruteforceDESattackswaswellwithinreachofmanymorethanpreviouslyassumed.Practicallyanygovernmentintheworldcouldeasilyproducesuchamachine,andinfact,socouldmanybusinesses.Andthatwasin1998;thetechnologicaladvancessincethenhavegreatlyreducedthecostofsuchadevice.Thisisdiscussedfurtherbelow.
该项目清楚地表明,一个用于暴力DES攻击的实用系统比以前设想的要多得多。实际上,世界上任何一个政府都可以轻松地生产出这样的机器,事实上,许多企业也可以。那是在1998年;此后的技术进步大大降低了这种装置的成本。这将在下文进一步讨论。
在20世纪90年代中期,许多人对DES在实际意义上是否易碎感兴趣。RSA在1997年1月开始的3年期间赞助了一系列DES挑战。创建这些挑战是为了帮助强调一点,即美国政府出口政策施加的加密强度限制太小,无法满足许多用户的安全要求。
ThefirstDESchallengewassolvedbytheDESCHALLgroup,ledbyRockeVerser,MattCurtin,andJustinDolske[CURT05][RSA1].Theycreatedaloosely-knitdistributedeffortstaffedbyvolunteersandbackedbyUniversitiesandcorporationsallovertheworldwhodonatedtheirunusedCPUcyclestotheeffort.Theyfoundthekeyin90days.
第一个DES挑战由洛克维瑟、马特·柯廷和贾斯汀·多尔斯克领导的DESCHALL小组解决[CURT05][RSA1]。他们创建了一个松散的分布式工作,由志愿者组成,由世界各地的大学和公司支持,他们将未使用的CPU周期捐赠给该工作。他们在90天内找到了钥匙。
ThesecondDESchallengewasannouncedonDecember19,1997[RSA2][CURT05],andonFebruary26,1998,RSAannouncedawinner.Thistime,thechallengewassolvedbygroupcalleddistributed.net
第二次DES挑战赛于1997年12月19日宣布[RSA2][CURT05],1998年2月26日,RSA宣布获胜者。这一次,这个挑战由一个名为distributed.net的小组解决了
workingtogetherwiththeEFF,inatotalof39days[RSA3][CURT05].Thisgroupcoordinated22,000participantsandover50,000CPUs.
与EFF合作,共39天[RSA3][05]。该小组协调了22000名参与者和50000多个CPU。
第三次DES挑战赛于1998年12月22日宣布[RSA4][CURT05],RSA于1999年1月19日宣布获胜者。这一次,distributed.net与EFF合作,在总共22小时内再次解决了这一难题[RSA5]。与第二个挑战相比,这是一个巨大的改进,应该可以让我们了解DES的发展方向。
我们已经看到了20世纪90年代末所做的事情——今天呢?对文献的调查可能会得出这样的结论:密码学家对这个话题不再感兴趣。因此,我们只能根据目前可用的技术推断可能性。推导近似值的一种方法是应用“摩尔定律”的变化:假设与EFF制造的设备相当的设备成本大约每N个月减半一次。如果我们取N=18,那么对于1998年底成本为250000美元的设备,这将预测以下成本曲线:
omid-2000............:$125,000omid-2000............:$125,000obeginningof2002...:$62,500
o2002年初……62500美元
omid-2003............:$31,250omid-2003............:$31,250obeginningof2006...:$15,625
o2006年初……15625美元
o1998................:9dayso1998................:9daysomid-2000............:4.5daysomid-2000............:4.5daysobeginningof2002...:2.25days
o2002年初…:2.25天
omid-2003............:1.125daysomid-2003............:1.125daysobeginningof2006...:0.5625days
o2006年初…:0.5625天
SincetheEFFdevicefirstappeared,FieldProgrammableGateArrays(FPGAs)havebecomequitecommon,andfarlesscostlythantheywerein1998.Thesedevicesallowlow-levellogicprogramming,andarefrequentlyusedtoprototypenewlogicdesignspriortothecreationofmoreexpensivecustomchips(alsoknownasApplicationSpecificIntegratedCircuits,orASICs).TheyarealsofrequentlyusedinplaceofASICsduetotheirlowercostand/orflexibility.Infact,anumberofembeddedsystemsimplementingcryptographyhaveemployedFPGAsforthispurpose.
自从EFF器件首次出现以来,现场可编程门阵列(FPGA)已变得相当普遍,而且成本远低于1998年。这些设备允许低级别逻辑编程,并且在创建更昂贵的定制芯片(也称为专用集成电路,或ASIC)之前,经常用于原型化新的逻辑设计。由于其较低的成本和/或灵活性,它们也经常被用来代替ASIC。事实上,许多实现加密的嵌入式系统已经为此目的使用了FPGA。
Duetotheirgeneralizednature,FPGAsarenaturallyslowerthanASICs.Whilethespeeddifferencevariesbasedonmanyfactors,itisreasonableforpurposesofthisdiscussiontosaythatwell-designedFPGAimplementationstypicallyperformcryptographic
由于其通用性,FPGA自然比ASIC慢。虽然速度差异取决于许多因素,但出于本讨论的目的,可以合理地说,设计良好的FPGA实现通常执行加密
operationsatperhaps1/4thespeedofwell-designedASICsperformingthesameoperations,andsometimesmuchslowerthanthat.Thesignificanceofthiscomparisonwillbecomeobviousshortly.
操作速度可能是设计良好的ASIC执行相同操作速度的1/4,有时甚至慢得多。这一比较的意义不久将变得显而易见。
在上述摩尔定律估算中,我们注意到成本外推假设自1998年以来没有设计或算法改进。这也意味着我们仍然在谈论暴力袭击。在第4节(“攻击DES”)中,我们讨论了几种密码分析攻击,包括采用线性密码分析的攻击[MAT93]。一般来说,这种攻击被认为是不切实际的,但在2002年,比利时卢旺天主教大学的一个小组基于线性密码分析构建了DES破解器,该破解器使用单个FPGA,在12-15小时内返回DES密钥[FPL02]。
Whiletherearestillsomeissuesofpracticalityintermsofapplyingthisattackintherealworld(i.e.,therequirednumberofknownplaintext-ciphertextpairs),thisgivesaglimpseofwheretechnologyistakinguswithrespecttoDESattackcapabilities.
尽管在现实世界中应用这种攻击仍存在一些实用性问题(即已知明文-密文对的所需数量),但这让我们大致了解了DES攻击能力方面的技术进展。
ApplicationSpecificIntegratedCircuitsarespecializedchips,typicallyoptimizedforaparticularsetofoperations(e.g.,encryption).ThereareanumberofcompaniesthatareinthebusinessofdesigningandsellingcryptographicASICs,andsuchchipscanbehadforaslittleas$15eachatthelowend.ButwhilethesechipsarepotentiallymuchfasterthanFPGAs,theyusuallydonotrepresentaproportionallyhigherthreatwhenitcomestoDES-crackingsystemconstruction.
专用集成电路是专门的芯片,通常针对一组特定的操作(例如,加密)进行优化。有许多公司从事密码ASIC的设计和销售业务,这种芯片在低端的售价仅为15美元。但是,尽管这些芯片可能比FPGA快得多,但在DES裂解系统建设方面,它们通常不代表更高的威胁。
其主要原因是成本:目前生产ASIC的成本超过1000000美元。密码破解ASIC没有广阔的商业市场,因此制造商预计销售的数量可能很小。类似地,单个攻击者不太可能需要超过其中几个。底线是:每个芯片的成本将非常高;与具有类似性能的FPGA的成本相比,FPGA显然是赢家。这并不意味着这样的ASIC从未建造过,但考虑到其他可用选项,对于今天的普通攻击者来说,回报可能不值得投资。
并行处理是对分组密码进行暴力攻击的强大工具。由于每个密钥都可以独立测试,因此密钥空间可以很容易地分割并分布在任意数量的处理器上,所有处理器都运行相同的代码。系统需要一个中央“控制”处理器
distributingtasksandevaluatingresults,butthisisstraightforwardtoimplement,andthisparadigmhasbeenappliedtomanycomputingproblems.
分配任务和评估结果,但这很容易实现,而且这种范式已经应用于许多计算问题。
虽然EFF证明了专用系统在用于破解DES时远远优于通用PC,但DESCHALL的研究[CURT05][RSA1]恰当地证明了日常用户PC的空闲周期可以有效地应用于该问题。如上所述,distributed.net与EFF小组合作,使用PC机和EFF的“深度破解”机器,在22小时内找到DES密钥,解决了第三个RSADES挑战。这是使用1999年的技术。
显然,个人电脑自1999年以来有了显著的改善。当时,最先进的台式机的运行频率约为800MHz。如今,台式PC的运行速度通常是这一速度的3-4倍,而支持技术(内存、缓存、存储)也提供了更高的性能。根据[DIST99],由于分布式.net工作使用了广泛的计算机(从20世纪90年代早期的台式机到最先进的(1999年)多处理器),因此很难与当今的技术进行直接比较。尽管如此,我们知道性能总体上遵循摩尔定律的预测,因此我们现在应该期望在因子8-16的数量级上有改进,即使没有算法改进
值得注意的是,分布式.net的工作依赖于自愿的参与者。也就是说,参与者必须明确和自愿地加入这项工作。同样重要的是要注意,只使用注册系统的空闲周期。根据“空闲”的定义方式,以及用户的习惯和计算要求,这可能会对给定系统的贡献水平产生重大影响。
Thesefactorsimposesignificantlimitationsintermsofscale.Whiledistributed.netwasabletoenlistover100,000computersfromaroundtheworldforthethirdRSADESChallenge,thisisactuallyarathersmallnumberwhencomparedto2^56(over72quadrillion)possibleDESkeys.Andwhenyouconsiderthegoal(i.e.,toproveDEScanbecracked),itseemsreasonabletoassumethesesameparticipantswouldnotwillinglyofferuptheircomputecyclesforamorenefarioususe(likeattackingthekeysusedtoencryptyouronlinebankingsession).Hence,thisparticularmodeldoesnotappeartoposeasignificantthreattomostusesofencryptiontoday.However,below,wediscussavariationonthisapproachthatdoesposeanimmediatethreat.
这些因素在规模上施加了重大限制。虽然distributed.net能够从世界各地征集超过100000台计算机参加第三次RSADES挑战,但与2^56(超过72万亿)可能的DES密钥相比,这实际上是一个相当小的数字。当你考虑目标(即,证明DES可以被破解)时,假设这些参与者不会愿意为更恶毒的使用提供他们的计算周期(比如攻击用于加密你的在线银行会话的密钥),这似乎是合理的。因此,这种特殊的模型似乎不会对当今大多数加密应用构成重大威胁。然而,在下文中,我们将讨论这种方法的一种变体,它确实会造成直接威胁。
蠕虫和病毒也很有趣:像间谍软件一样,它们是在用户不知情或不同意的情况下安装的,并且它们以用户不自愿允许的方式使用计算机。与当今最常见的间谍软件不同,这种恶意软件通常包含显式传播技术,通过这种技术可以自动传播。不难想象我们将向何处发展:如果你将这些技术结合起来,将用户机器强行引入系统的“大军”成为可能。这一方法在[98]中有提及,事实上,今天正在实施。
僵尸网络[BOT05]代表了一种相对较新的现象。通过使用各种传播技术,恶意软件分布在一系列系统中,并等待某种触发。这些“触发器”可以通过集中管理机构的定期轮询、特定日期的到达或大量其他事件中的任何一个来实现。一旦触发,恶意软件将执行其任务,这可能涉及参与分布式拒绝服务(DDoS)攻击或其他类型的活动。
犯罪集团目前出租僵尸网络用于各种用途[CERT01]。虽然报告的事件通常涉及使用这些流氓网络进行DDoS攻击,但如果我们认为没有考虑其他用途(例如,破解加密密钥),那就太天真了。僵尸网络极大地缓解了distributed.net面临的扩展问题:它不再是一项仅由志愿者参与的工作,用户活动也不再显著阻碍应用程序的进展。这应该让我们停下来。
清楚地认识到这一点是非常重要的:僵尸网络很便宜,而且有很多个人电脑。你不需要我们推测的15625美元就足以在今天构建一个EFF系统的副本——你只需要一台用于开发恶意软件的商品PC和必要的技能。或者,你需要找一个有这些东西的人,并且需要一笔相对适中的现金。游戏发生了巨大的变化。
Obviously,DESisnotsecurebymostmeasures--whyisitstillusedtodayThereareprobablymanyreasons,buthereareperhapsthemostcommon:
显然,DES在大多数情况下都是不安全的——为什么它在今天仍然被使用?可能有很多原因,但以下可能是最常见的原因:
oBackwardcompatibility-NumerousdeployedsystemssupportDES,andratherthanreplacethosesystems,newsystemsareimplementedwithcompatibilityinmind.
o向后兼容性—许多已部署的系统支持DES,而不是替换这些系统,新系统的实现考虑了兼容性。
oPerformance-ManyearlyVPNclientsprovidedDESasthedefaultcryptographicalgorithm,becausePCsofthedaysufferedanoticeableperformancehitwhenapplyingstrongercryptography(e.g.,3DES).
o性能-许多早期的VPN客户端提供DES作为默认加密算法,因为当时的PC在应用更强的加密(例如3DES)时会受到明显的性能影响。
oIgnorance-PeoplesimplydonotunderstandthatDESisnolongersecureformostuses.
o无知——人们根本不明白DES在大多数情况下不再安全。
Whilethereareprobablyotherreasons,thesearethemostfrequentlycited.
虽然可能还有其他原因,但这些是最常被引用的。
Performanceargumentsareeasilydispensedwithtoday.PCshavemorethanamplepowertoimplementstrongercryptographywithnonoticeableperformanceimpact,andforsystemsthatareresourceconstrained,therearestrongalgorithmsthatarefarbetterperformersthanDES(e.g.,AES-128).Andwhilebackwardcompatibilityissometimesavalidargument,thismustbeweighedcarefully.Atthepointwheretheriskishigherthanthecostofreplacement,legacysystemsshouldbeabandoned.
今天,性能参数很容易被忽略。PC有足够的能力实现更强大的加密,而不会对性能造成明显影响,对于资源受限的系统,有比DES(如AES-128)性能更好的强大算法。尽管向后兼容性有时是一个有效的论据,但必须仔细权衡这一点。当风险高于更换成本时,应放弃遗留系统。
Withrespecttothethirdreason(ignorance),thisnoteattemptstoaddressthis,andweshouldcontinuetomakeeveryefforttogetthewordout.DESisnolongersecureformostuses,anditrequiressignificantsecurityexpertisetoevaluatethosesmallnumberofcasesinwhichitmightbeacceptable.TechnologiesexistthatputDES-crackingcapabilitywithinreachofamodestlyfinancedormodestlyskilledmotivatedattacker.Therearestronger,cheaper,fasterencryptionalgorithmsavailable.Itistimetomoveon.
关于第三个原因(无知),本说明试图解决这一问题,我们应该继续尽一切努力把这个词说出来。DES在大多数情况下不再安全,它需要大量的安全专家来评估少数情况下它可能是可以接受的。现有的技术使DES的破解能力在资金充足或技术熟练的攻击者的能力范围内。有更强、更便宜、更快的加密算法可用。是时候继续前进了。
DoesthismeanDESshouldneverbeusedWell,no-butitdoesmeanthatifitisusedatall,itshouldbeusedwithextremecare.Itisimportanttocarefullyevaluatethevalueoftheinformationbeingprotected,bothtoitsownerandtoanattacker,andtofullygraspthepotentialrisks.Insomecases,DESmaystillprovideanacceptablelevelofsecurity,e.g.,whenyouwanttoencryptafileonthefamilyPC,andtherearenorealthreatsinyourhousehold.
这是否意味着永远不应该使用DES?嗯,不,但这确实意味着,如果使用它,应该非常小心。仔细评估所保护信息对其所有者和攻击者的价值,并充分把握潜在风险,这一点非常重要。在某些情况下,DES仍然可以提供可接受的安全级别,例如,当您想要在家庭PC上加密文件,并且您的家庭中没有真正的威胁时。
然而,重要的是要认识到,在这种情况下,DES就像一个便宜的手提箱锁:它通常帮助诚实的人保持诚实,但它不会阻止一个坚定的小偷。考虑到强大、更高效的加密算法(如AES)可用,目前继续使用DES的唯一合理原因似乎是强制向后兼容。在这种情况下,如果没有逐步淘汰此类产品的计划,那么作为安全实施者,您可以执行以下操作:
oRecommendaphasedupgradeapproach.
o建议分阶段升级方法。
oIfpossible,use3DESratherthanDES(andinanycase,DONOTmakeDESthedefaultalgorithm!).
o如果可能,使用3DES而不是DES(在任何情况下,不要将DES作为默认算法!)。
oReplacekeysbeforeexceeding2^32blocksperkey(toavoidvariouscryptanalyticattacks).
o在每个密钥超过2^32个块之前替换密钥(以避免各种密码分析攻击)。
oIfthereisauserinterface,makeusersawareofthefactthatthecryptographyinuseisnotstrong,andforyourparticularapplication,makeappropriaterecommendationsinthisregard.
o如果有用户界面,请让用户意识到正在使用的加密功能不强,并针对您的特定应用程序,在这方面提出适当的建议。
Thebottomline:itissimplertonotusethisalgorithmthanitistocomeupwithnarrowscenariosinwhichitmightbeokay.IfyouhavelegacysystemsrelyingonDES,itmakessensetobeginphasingthemoutassoonaspossible.
一句话:不使用这种算法要比提出一个可能没问题的狭窄场景简单得多。如果您有依赖DES的遗留系统,那么尽快开始淘汰它们是有意义的。
AppendixA.WhatAbout3DES
附录A.3DES如何?
考虑到我们建议避免DES,问:3DES如何?它还安全吗?谢天谢地,上面的大部分讨论并不适用于3DE,总体上它仍然是“安全的”。下面,我们简要解释为什么这是真的,以及目前存在哪些警告。
回想一下,DES有2^56个可能的密钥,暴力攻击包括尝试每个密钥,直到找到正确的密钥。由于我们平均要在第二个密钥中找到第7955个,所以我们很可能在第二个密钥中找到第7955个。考虑到当前的处理器速度,这似乎不是完全不可能的,正如我们在上面看到的,我们可以预期,在今天的技术中,这种攻击几乎肯定可以在大约半天内实施。
Forabrute-forceattackon3DES,however,theoutlookisfarlessoptimistic.Considertheproblem:weknowC(andpossiblyp),andwearetryingtoguessk1,k2,andk3inthefollowingrelation:
然而,对于3DE的暴力攻击,前景远不乐观。考虑这个问题:我们知道C(并且可能p),并且我们试图猜测K1、K2和K3在以下关系中:
C=E_k3(D_k2(E_k1(p)))C=E_k3(D_k2(E_k1(p)))Inordertoguessthekeys,wemustexecutesomethinglikethefollowing(assumingk1,k2,andk3are64-bitvalues,asareCiandp):
为了猜测键,我们必须执行如下操作(假设k1、k2和k3是64位值,Ci和p也是64位值):
虽然重要的是要注意,我们可以通过假设两个相等的密钥永远不会被使用(即k1!k2=k2,k2!k3,k1=k3)来稍微修剪密钥空间,当考虑到我们处理的数字的大小时,这不会导致显著的功减少。如果我们假设技术进步使我们能够更快地应用DES会怎么样?
Today,commercial3DESchipscapableof10-Gbpsencryptionarewidelyavailable,andthistranslatesto15,625,000DESblockspersecond.Theestimategivenaboveassumed1,000,000DESblocks/second,so10-Gbpshardwareis15timesasfast.Thismeansintheworstcaseitwouldtake7.6x10^35years--notmuchfasterinthelargerschemeofthings.
如今,能够进行10Gbps加密的商用3DES芯片已被广泛使用,这相当于每秒1565000DES块。上面给出的估计值假设每秒1000000个DES块,因此10Gbps硬件的速度是原来的15倍。这意味着在最坏的情况下需要7.6x10^35年——在更大的情况下不会更快。
即使我们认为硬件是1000000倍的速度,这仍然需要7.6×10^29年-仍然远比宇宙长得多。显然,我们在这方面进展很快。就所有实际用途而言,3DE在可预见的未来可能不会受到暴力攻击。
UnlikeDES,thereareonlyafewknowncryptanalyticattacksagainst3DES.Below,wedescribethoseattacksthatarecurrentlydiscussedintheliterature.
与DES不同,只有少数已知的针对3DE的密码分析攻击。下面,我们将描述目前文献中讨论的那些攻击。
现在,计算嵌套循环中Cy=D_ki(E_kj(p))的值,如我们的蛮力练习中所示。对于每个Cy,在Cx表上进行查找。对于找到的每个匹配项,测试三重键。重要的是要注意,匹配并不意味着您拥有正确的密钥-您必须针对额外的密文/明文对进行测试,以确定这一点(~3对用于3DES的强确定性度量)。最终,将只有一个正确的密钥三元组。
NotethatcomputingtheinitialtableofCx,kxpairsrequires2^56encryptionsand2^56blocksofstorage(about576gigabytes).Computingthelookupelementsrequiresatmost2^112cryptographic
请注意,计算Cx、kx对的初始表需要2^56次加密和2^56个存储块(约576GB)。计算查找元素最多需要2^112个密码
operations(tablelookupsarenegligiblebycomparison),and2^111operationsonaverage.Lucks[LUCKS]hascomeupwithoptimizationsthatreducethistoabout2^108.
操作(相比之下,表查找可以忽略不计),平均2^111个操作。Lucks[Lucks]已经提出了一些优化方案,将其减少到大约2^108。
3DES,evenatastrengthof2^108,isstillverystrong.Ifweuseourbrute-forcelimitsfromabove(15,625,000blockspersecond),thisattackwilltakeontheorderof6.586x10^17yearstocarryout.Makethemachine1milliontimesfaster,andyoustillneedmorethan658BILLIONyears.WeareprobablysafefromMITMattackson3DESfortheforeseeablefuture.
下面是它的工作原理。假设以下加密关系:
C=E_k3(D_k2(E_k1(p)))C=E_k3(D_k2(E_k1(p)))Then,thefollowingdefinesthekeyrelation:
然后,以下内容定义了键关系:
和
从实际的角度来看,认识到这种攻击的“假设”性质非常重要:对手必须知道明文/密文对,他必须能够以高度受控的方式影响后续加密密钥(或者至少知道)
Whiletheeffectivekeylengthfor3DESisclearlymuchlargerthanforDES,theblocksizeis,unfortunately,stillonly64bits.ForCBCmode(themostcommonlydeployedmodeinInternetsecurityprotocols),thismeansthat,duetothebirthdayparadox,informationabouttheplaintextbeginstoleakafteraround2^32blockshavebeenencrypted.Forthisreason,3DESmaynotbethebestchoiceforhigh-throughputlinks,orotherhigh-densityencryptionapplications.Atminimum,careshouldbetakentorefreshkeysfrequentlyenoughtominimizeciphertextcollisionsinsuchscenarios.
虽然3DES的有效密钥长度明显大于DES,但不幸的是,块大小仍然只有64位。对于CBC模式(Internet安全协议中最常用的部署模式),这意味着,由于生日悖论,大约2^32个块加密后,明文信息开始泄漏。因此,3DES可能不是高通量链路或其他高密度加密应用程序的最佳选择。至少,应该注意足够频繁地刷新密钥,以尽量减少此类场景中的密文冲突。
InformativeReferences
资料性引用
[BIH93]Biham,E.和A.Shamir,“数据加密标准的差分密码分析”,1993年。
《1996年第2步至第28步的加密信息》,比哈姆。
[BIH96-2]Biham,E.和A.Shamir,“对DES的新密码分析攻击”,1996年。
[BLAZ96]Blaze,M.,Diffie,W.,Rivest,R.,Schneier,B.,Shimomura,T.,Thompson,E.,和M.Wiener,“对称密码提供充分商业安全的最小密钥长度”,1996年1月。
[Curtin,M.,“暴力:破解数据加密标准”,2005年。
[DH77]Hellman,M.和W.Diffie,“NBS数据加密标准的详尽密码分析”,1977年6月。
[EFF98]EFF,“破解DES”,1998年7月。
[FERG03]Ferguson,N.和B.Schneier,“实用密码学”,2003年。
[FPL02]Koeune,F.,Rouvroy,G.,Standaert,F.,Quisquater,J.,David,J.,和J.Legat,“线性密码分析的FPGA实现”,FPL2002,计算机科学讲稿2438卷,846-852页,SprigerVerlag,2002年9月。
[HAC]Menezes,A.,vanOorschot,P.,和S.Vanstone,“应用密码学手册”,1997年。
[JAK97]Jakobsen,T.和L.Knudsen,“分组密码的插值攻击”,1997年。
[KELSEY]KELSEY,J.,Schneier,B.,和D.Wagner,“3路、IDEA、G-DES、RC4、SAFER和三重DES的密钥计划密码分析”,1996年。
[LUCKS]LUCKS,S.,“攻击三重加密”,1998年。
[MAT93]Matsui,M.“DES密码的线性密码分析方法”,1993年。
[NYSE1]“极度可用性:纽约证券交易所新的IT基础设施将手持无线终端置于经纪人手中”,2005年6月。
[Schneier,B.,“应用密码学,第二版”,1996年。
[WIEN94]Wiener,M.,“有效的DES密钥搜索”,1993年8月。
作者地址
ScottG.KellyArubaNetworks1322CrossmanAveSunnyvale,CA94089US
美国加利福尼亚州桑尼维尔市克罗斯曼大道1322号斯科特·G·凯利阿鲁巴网络公司,邮编94089
Thisdocumentissubjecttotherights,licensesandrestrictionscontainedinBCP78,andexceptassetforththerein,theauthorsretainalltheirrights.
本文件受BCP78中包含的权利、许可和限制的约束,除其中规定外,作者保留其所有权利。
本文件及其包含的信息以“原样”为基础提供,贡献者、他/她所代表或赞助的组织(如有)、互联网协会、IETF信托基金和互联网工程任务组不承担任何明示或暗示的担保,包括但不限于任何保证,即使用本文中的信息不会侵犯任何权利,或对适销性或特定用途适用性的任何默示保证。
IntellectualProperty
知识产权
TheIETFtakesnopositionregardingthevalidityorscopeofanyIntellectualPropertyRightsorotherrightsthatmightbeclaimedtopertaintotheimplementationoruseofthetechnologydescribedinthisdocumentortheextenttowhichanylicenseundersuchrightsmightormightnotbeavailable;nordoesitrepresentthatithasmadeanyindependentefforttoidentifyanysuchrights.InformationontheprocedureswithrespecttorightsinRFCdocumentscanbefoundinBCP78andBCP79.
IETF对可能声称与本文件所述技术的实施或使用有关的任何知识产权或其他权利的有效性或范围,或此类权利下的任何许可可能或可能不可用的程度,不采取任何立场;它也不表示它已作出任何独立努力来确定任何此类权利。有关RFC文件中权利的程序信息,请参见BCP78和BCP79。
TheIETFinvitesanyinterestedpartytobringtoitsattentionanycopyrights,patentsorpatentapplications,orotherproprietaryrightsthatmaycovertechnologythatmayberequiredtoimplementthisstandard.PleaseaddresstheinformationtotheIETFatietf-ipr@ietf.org.
Acknowledgement
确认
FundingfortheRFCEditorfunctioniscurrentlyprovidedbytheInternetSociety.