没有合适的资源?快使用搜索试试~ 我知道了~
理论计算机科学电子笔记125(2005)13-24www.elsevier.com/locate/entcs扩展安全协议分析:新挑战1迈克·邦德2乔里恩·克劳3剑桥大学计算机实验室英国剑桥。摘要我们认为,安全协议的形式化分析工具没有充分发挥其潜力,并提供有限的援助,更复杂的现代协议,在约束环境中的协议,和安全API的设计者。我们认为,典型的假设,如完美的加密可以而且必须放宽,而其他威胁,包括部分泄漏的信息,必须考虑,如果正式的工具是继续有用,并获得广泛的,现实世界的利用。使用简单的示例协议,我们说明了一些攻击,这些攻击在安全API设计中至关重要,但尚未使用正式的分析工具进行建模。 我们试图提取这些攻击背后的基本思想,并将其打包成一个功能列表,供未来研究和工具开发使用。关键词:安全API,形式化方法,协议分析,完全加密,信息泄漏1介绍安全协议的设计、研究和攻击已经有30多年的历史。今天,形式分析正在成为一个流行的工具,以协助设计过程。然而,形式化工具所做的假设以及它们对行为描述和分析的限制,1作者感谢CMI研究所和Cecil Renaud教育和慈善信托基金的慷慨资助2 电子邮件:Mike. cl.cam.ac.uk3电子邮件:Jolyon. cl.cam.ac.uk1571-0661 © 2005 Elsevier B. V.在CC BY-NC-ND许可下开放访问。doi:10.1016/j.entcs.2004.09.03614M. 邦德,J。Clulow/Electronic Notes in Theoretical Computer Science 125(2005)13限制了它们的范围-特别是,由于这些不切实际的假设和限制,安全API的设计以及虽然设计人员可以通过系统地应用经验法则来实现安全性,以满足假设,但结果往往是过度设计和不切实际的部署。相反,我们认为,现在是时候扩展这些工具,放松对它们所分析的模型的假设。我们描述了一些众所周知的错误,需要避免在良好的协议和API设计,但不能推理的抽象模型所使用的正式工具。这些错误特别重要,因为它们经常在安全API中被发现,但为了简单起见,我们使用示例安全协议进行说明。我们相信,这些低级别的攻击中的许多正式推理是可能的,并提出这是一个挑战,为正式的方法社区,以适应和扩展他们的工具,以确保他们的持续使用,并最终广泛接受到设计过程。2用形式化方法安全协议的形式化分析有许多工具和技术• 模型检查器探索状态空间,系统地检查某些需求是否在模型的每个状态中保持。有些人还可以推理状态空间模型之间的等价性,或者使用数学技术同时推理整个状态集。理论上,它们可以检查整个状态空间,并可以提供与定理证明器类似的正确性保证(然而,在实践中,用户设置的问题往往太难,无法进行分析,或者故意简化以确保可解性)。• 相比之下,定理证明者在更高的抽象层次上搜索逻辑链,这些逻辑链构成了一个令人信服的证明,证明了一个特定的属性总是成立的。或者,他们可能会在这个过程中找到一个反例使用各种证明搜索策略,通常基于Robinson [19]提出的基本• 最后,形式逻辑为用户提供了符号和属性的精确定义,这有助于用户更准确地执行直观推理M. 邦德,J。Clulow/Electronic Notes in Theoretical Computer Science 125(2005)1315在纸上。这些工具在原始推理能力和严谨性方面各不相同。一些形式化的工具是为了保证而设计的-这通常反映在工具另一方面,一些工具专注于高效的搜索方法,并使用类似于人工智能策略的强大算法来控制搜索。在现有的数十种工具中,许多工具在帮助人类分析方面取得了显着的成功,有些工具直接或间接地发现了新的攻击。特别是,Lowe在应用FDR工具对安全协议建模方面取得了相当大的成功,发现了对Needham-Schroeder公钥协议的以前未知的攻击[14]。FDR工具基于通信顺序进程来推理模型之间的细化属性; Lowe后来建立了一个高级接口语言CASPER [15],用于指定安全协议及其属性。Meadows描述了NRL协议分析器发现的几种针对解释协议组域的类型混淆攻击[17]。一个她描述为自动发现的,而另一个更可行的变体是在分析过程中由人类识别的。Mitchell等人使用他们自己的工具Murφ成功地分析了许多已知网络的经典协议。在此之后,他们分析了安全套接字层(SSL)协议,确定了3.0版本规范中以前未知的最后,还有推理逻辑,如BAN逻辑[12]。尽管BAN逻辑有助于理解和发展安全协议的形式化分析,但它本身并没有被广泛用于识别防火墙;它的主要作用是进行回顾性分析。个别研究人员经常在协议设计过程中使用自定义扩展和改进的逻辑[13,1,20]纯粹通过自动化分析发现漏洞的情况仍然很少见,因为大多数分析师都是高技能的,并且在正式规范的过程中发现了漏洞。当自动化分析阶段确实发现了一种新的攻击时,通常会有一种特殊的情况:例如,当分析师是工具的创建者时,他们的主要目标是探索他们自己工具的力量,也许是通过试验他们自己设计的协议。我们探索了现有的安全协议分析工具,将其应用于安全API,最初只是对已知攻击进行建模,而不是16M. 邦德,J。Clulow/Electronic Notes in Theoretical Computer Science 125(2005)13寻找新的然而,几乎每个工具都在某些功能类别上有所欠缺这些攻击的复杂程度各不相同,但从安全API设计者的角度来看,一些最微不足道和最明显的弱点会造成大量的麻烦。3从协议到安全API安全API分析与协议分析非常相似。考虑一个加密处理器(想象一个保险箱中的PC),它连接到网络,并被一个或多个用户用作服务,在概念上与安全协议中的可信第三方非常相似。该设备通过应用程序编程接口(API)使其功能可用。因此,用户可以将其敏感且通常计算昂贵的安全操作加载到专用的优化设备上。该设备可能具有普通PC中没有的额外好处和责任,例如针对攻击进行加固的精简操作系统,以及用于加密密钥的特殊存储,可能在防篡改存储器中。事实上,国际资金转移和信用卡基础设施都是基于这样的设备当用户参与协议运行时,用户可以对安全设备进行多个单独调用以处理接收到的消息并生成响应。我们可以将这些API交互视为用户和受信任的第三方设备之间的特殊协议的运行。通常,该底层API将具有比其支持的协议更细的粒度此外,安全设备API通常被设计用于可扩展性(设备的制造商具有使市场规模最大化并限制与单独定制相关联的开发成本的一个典型的安全API可能有几百个调用,每个调用都是参数化的,其中许多可以表示为用户和设备之间的简单的双方安全API令人生畏的规模复杂性,加上与协议的明显相似性,使得为协议开发的自动化方法的应用成为一个有吸引力的选择。事实上,这并不 是 一 个 全 新 的 想 法 : Longley 和 Rigby 在 1992 年 描 述 了 使 用 基 于PROGRAM的自动化工具来分析密钥管理系统的安全API的早期工作[23](直到2000年,安全API才受到广泛的审查)。事实上,已经发现M. 邦德,J。Clulow/Electronic Notes in Theoretical Computer Science 125(2005)1317在过去的十年中,安全API [2,3,5,6,7,10],其中许多构成了关键任务的一部分随着安全和安全产品的日益商品化,在缺乏真正的主专家的情况下,对验证系统安全性的自动化方法的需求增加。金融业尤其欢迎更好的保证。我们还观察到安全API的可扩展性同样,需要验证这些扩展不会危及安全性。在本文中,我们试图提取这些攻击背后的基本思想,并将它们打包成未来工具的功能愿望列表4完美加密{X}K是否安全? 典型的自动推理工具假设是这样的。 那里是隐藏的,虽然明显的,假设使用的密码是安全的,密钥足够长,以防止暴力攻击。然而,完美的加密在许多平台上并不一定是合理的假设。DES存在于许多环境中,而AES还没有像人们希望的那样得到广泛 事实上,许多嵌入式系统通常仍然使用更轻量级的密码用于特定应用,例如,无线汽车钥匙扣,其中传输的每一位都是昂贵的功耗。密钥长度的问题并不局限于低成本设备:PKCS #11标准最近被证明没有明确排除在较弱算法或较短密钥下加密密钥的选项,这将导致安全性下降[11]。许多遗留系统从DES迁移到3DES时没有正确考虑更长密钥的存储需求。例如,双倍长度密钥K=KL,KRL通常被加密为{K}KM={KL}KM,{KR}KM.由于这两部分之间没有加密绑定,因此可以轻松地剪切和粘贴它们。例如,攻击者可以创建两个密钥{KL}KM,{KL}KM和{KR}KM,{KR}KM。每个密钥实际上是一个单一长度的密钥,因此暴力攻击明显更容易。通过安全API的自动分析来识别这些问题的能力将是可取的。扩展现有的工具来将3DES作为3个单独的加密操作进行推理似乎很容易。看来,这里的挑战不仅仅是能够推理,而是18M. 邦德,J。Clulow/Electronic Notes in Theoretical Computer Science 125(2005)13合理的原因,以及编码的问题简洁和易于使用。也有对这些系统的攻击,可以比直接攻击密码算法做得更好。有些需要一个数据集,展示或满足给定的条件:例如,一组密钥,每个密钥下加密相同的明文,以实现并行密钥搜索。在[22]中描述了在穷举搜索中使用并行性给定许多密钥,每个密钥加密相同的文本,可以使用穷举密钥搜索机并行(或同时)搜索所有密钥。密钥搜索机迭代地生成密钥,然后对公共明文执行尝试加密。 然后,它将得到的密文与数据集进行比较,并搜索匹配项(当然,可以以相同的方式使用解密来代替加密)。在这个过程中,它以仅一个DES操作为代价并行搜索许多密钥。如果搜索2n个密钥,我们可以期望平均每255-n次操作中遇到一次。这项技术被用于[6,5]针对多个安全API。我们在野外遇到过许多API,它们容易受到通过许多不同调用进行的并行键搜索的影响。例如,图1是一个简单的协议,它使用应用于密钥的密钥集i加密用户提供的值XA−→S:X,{K}KM,iS−→A:{X}(Ki)Fig. 1. 使用密钥集加密协议生成发起攻击所需的数据集是微不足道的。图2中所示的协议便于用户将加密消息传输给目标用户,而该用户并不与该目标用户共享密钥。这是通过使用具有与所有用户建立的密钥的可信服务器来实现的。服务器接受来自发起用户的加密消息,解密消息,然后使用它与两个用户共享的密钥为指定的目标用户重新加密。如果目标j存在足够多的有效身份,攻击者可以再次轻松地生成所需的数据集。A−→S:{X}KAS,A,jS−→A:{X}KjS图二. 翻译协议这个简单的弱点不仅限于API,还包括一些已建立的协议。图3所示的古老的Needham-Schroeder协议是M. 邦德,J。Clulow/Electronic Notes in Theoretical Computer Science 125(2005)1319JJ同样脆弱。Eve迭代地模拟所有可能的参与方Aj的身份。对于每个Aj,Eve发起协议运行,其中服务器S提供相同的值X来代替随机现时值RA。服务器响应{X,. . {\fnMicrosoft YaHei\fs20\2cHFFFFFF\b0}Eve现在可以执行并行搜索以恢复KAjS的值。A−→S:A,B,RAS−→A:{RA,B,KAB,{KAB,A}KBS}KASA−→B:{KAB}KBSB−→A:{RB}KABA−→B:{RB−1}KAB图三.李约瑟-施罗德协议E−→S:Aj,B, XS−→E:{X,B,KAjB,{KAjB,A}KBS}KA S图四、 用Needham-Schroeder协议实现并行关键字搜索能够分析协议和API的正式工具将是有用的,在这些协议和API下可以获得执行这种攻击所需的数据。或者,可以计算限制系统参数的数值界限,从而确保安全性。5信息泄露信息泄漏通常是在参与安全协议的物理设备的侧信道分析的上下文中考虑的。然而,协议本身可能会泄漏少量信息,可能是几个比特或一个比特的一部分,如果被识别,可以通过重复的协议运行(或API调用序列)来恢复和积累,最终揭示整个秘密,或者将其带入暴力搜索的范围内。 这些信道与在功率分析、定时或发射攻击期间被利用的传统侧信道之间存在很强的相似性。然而,一个关键的区别是,在密码算法中处理的密钥材料通常是迭代处理的,因此对特征的观察可能允许识别秘密的显式位。 在攻击过程中使用重复来针对密钥的其他不同位,或者减少分析中的噪声。 在通过协议泄漏信息的情况下,20M. 邦德,J。Clulow/Electronic Notes in Theoretical Computer Science 125(2005)13泄露的数据和某些秘密的密钥比特可能复杂得多。可能需要一个非平凡的算法来将关于秘密的信息转换为秘密本身的知识。 这方面的一个很好的例子是游戏MasterMind(TM)。一个玩家选择一个由四个彩色钉子组成的图案,然后固定。第二个参与者试图以迭代的方式猜测模式。每猜一次,第一个玩家告诉第二个玩家正确位置上正确颜色的钉子数量,以及错误位置上正确颜色的钉子数量。因此,第二参与者被给予关于秘密的部分信息。玩家的目标是开发一种有效的策略,将这些信息转化为秘密本身的知识。顺便说一句,在十进制表攻击[10,8]中使用的从银行安全设备中提取客户PIN数字的策略与MasterMind游戏非常相似。在实践中,泄漏信息的常见来源是错误条件和代码。这些可以通过消息明确地揭示,或者通过指示操作的过早停止或异常执行的定时模式间接地揭示。Bleichenbacher [25]和Manger [24]都提出了对各种RSA填充方案的攻击:在这些协议中,错误响应或错误响应的时间泄漏了有关明文的信息,允许对RSA进行选择密文攻击。通常,这种泄漏在设计过程中是不可见的或没有明确说明的,但在编码或开发过程中变得可见。攻击者经常面临的挑战是,有时我们可以很容易地确定存在某种形式的信息泄露,但无法清楚地识别泄露的信息以及如何利用这些信息另一个例子是在DES下加密PIN的ANSI X9.8标准。PIN被格式化为具有控制信息和填充的8字节缓冲器。然后,在DES密钥下加密之前,将此缓冲器与客户的个人帐户号(PAN)进行异或运算我们将其表示为{PA}KB,其中K是密钥,P是格式化的PIN缓冲器,一是PAN。每当加密的PIN在不同的区域键,则过程相反。 作为中间步骤,提取PIN并应用完整性检查。由于PIN的每个数字意味着是0到9范围内的十进制数字,所以检查简单地测试从解密的缓冲器中提取的每个十六进制PIN数字小于10.如果此测试失败,则意味着PAN、密钥或加密PIN不正确或已损坏。从本质上讲,我们可以简化它,并在一个简单的协议中表示它,给定PAN的用户指定值(我们表示为X),测试恢复的PIN是否是十进制的。对于单个数字PIN,协议可以是M. 邦德,J。Clulow/Electronic Notes in Theoretical Computer Science 125(2005)1321描述如下。A−→B:X,{P<$A}KBB−→A:(P<$A)<$X10图五. PIN完整性检查协议ANSI X9.8标准的作者并不一定有意创建这个协议,但它是结果。乍看之下,完整性检查似乎是无害和良性的,实际上可能是检测意外错误的有用补充。然而,稍微思考一下,很明显,用不同的X值重复执行这个协议很快就会导致集合{P,P<$1}的识别。从表6中可以清楚地看出这一点。给定的P A值会导致通过和失败的唯一模式。0,12,34,5X6.78,9甲乙丙C和DE、F见图6。 使用PIN完整性检查协议显然,需要一种识别潜在信息泄漏的方法,并了解如何使用这些信息。实际上,构建一个吸收泄露信息并重建潜在秘密的算法可能是一个崇高的目标,因为这可能需要相当大的创造力。也许更现实的目标是确定信息丢失的速率,并建立协议安全性的界限。PA0,1二、三第4、5项六、七八、九通过通过通过通过 通过通过通过通过通过失败通过通过通过通过失败通过通过通过通过失败通过失败失败失败 通过22M. 邦德,J。Clulow/Electronic Notes in Theoretical Computer Science 125(2005)136保护低熵数据低熵数据(弱秘密和/或可猜测的数据)是现场计算机系统中常见的攻击目标。 加密协议通常必须处理这些易受攻击的数据-关于弱秘密的正式自动推理正在尝试集成到我们现有的工具集中。Lowe描述了FDR如何有效地推理Lowe考虑将弱秘密用作密钥并且“猜测”发生在随机过程中我们建议该模型可以扩展到包括:• 对由强密钥保护的弱秘密的猜测攻击(即,弱秘密作为数据),• 允许误报或基于统计信息的猜测攻击,以及• 在线猜测。此外,到目前为止分析的弱秘密的应用仅限于身份验证和密钥建立在[7,9]中,Bond描述了几种对银行计算机系统中安全API操纵的客户PIN的统计攻击。这些四位数的PIN码存储在加密的“PIN块”中,当然是可以猜测的秘密。这些攻击利用了客户PIN的已知统计特征,这些特征是由选择不当的PIN生成过程引入的,在加密数据块本身的分布中变得可见。这是一系列的操纵,可以发生在这些薄弱的秘密,提出了挑战,分析。不仅可以验证对弱秘密的猜测,而且可以对秘密进行数学运算(例如常数的添加,截断),少量的已知常数可以添加到弱秘密集合中,并且不允许其他人的妥协。这种丰富的操作让人想起存储在公共数据库中的个人数据例如,Anderson事实证明,在允许合法的研究请求和防止滥用之间存在着困难的交易。一直M. 邦德,J。Clulow/Electronic Notes in Theoretical Computer Science 125(2005)1323在保护人口普查数据[21](其结构比医疗数据更严格)的匿名性方面也做了大量的量化工作,可以利用这些工作。一个严峻的挑战将是扩展已经在可猜测密码上完成的工作,以开发一个更通用的框架,用于通过安全协议推理信息流。新的工具和技术必须能够处理可能既必要又可接受的渗漏,但仍能保证总渗漏率不会超过某些限度。7结论对安全协议的形式化研究已经取得了许多成功:从对关键概念的准确定义和推理,到用于认证、密钥建立和密钥分发的安全有效的算法。这几类问题已基本解决。有前途的新工作是扩展形式分析,以处理更复杂和专业的协议(例如,多方签名,或组密钥分配),但有另一个方向,他们可以扩展,我们相信产生更实际的价值。安全API设计中涉及的日常问题,以及在新的受限移动环境中重新发明现有协议的问题,为工具制造商和正式分析师提出了令人兴奋的新挑战。我们相信,能够开始解决我们提出的三个挑战的工具对于今天的协议和安全API设计人员来说是非常宝贵的,因为他们面临着未来移动,无处不在和可信计算的新安全挑战引用[1] M. Abadi,M. Tuttle[2] R. Anderson[3] R. Anderson[4] R. 安德森[5] M. 邦德河Anderson,六十七至七十五岁[6] M. Bond“Attacks on Cryptodrocessor Transaction Sets”,CHES 2001,Springer LNCS 2162,p.二百二十至二百三十四[7] M.债券“理解安全API”,PhD.论文、大学剑桥http://www.cl.cam.ac.uk/~mkb23/research.html网站,200424M. 邦德,J。Clulow/Electronic Notes in Theoretical Computer Science 125(2005)13[8] M. Bond,P. Zielinski[9] M.邦德,J·克劳“加密?随机?妥协?(When加密保护的数据不安全)[10] J. Clulow 论文,南非纳塔尔http://www.cl.cam.ac.uk/~jc407/大学,www.example.com ,2003年[11] J. Clulow,“On the Security of PKCS#11”,CHES Workshop 2003,Cologne,Germany,LNCS 2779 pp. 四一一四二五[12] M. Burrows,M.Abadi,R. Needham,“A Logic of Authentication”,ACM Transactions onComputer Systems,1990,pp. 18-36[13] L. 贡河,巴西-地尼达姆河Yahalom[14] G. Lowe[15] G. Lowe31[16] G. Lowe[17] C.Meadows,“一个防止类型混淆攻击的安全程序”。 Proceedings of the 16th IEEE ComputerSecurity Foundations Workshop,IEEE Computer Society Press,2003年[18] 李文,“[19] J. Robinson,[20] P. Syverson,P. van Oorschot14[21] 美国 统计 协会 隐私, 联系我们 和 数据 安全网站http://www.amstat.org/comm/cmtepc/index.cfm[22] 电子前沿基金会,[23] D. Longley,S.Rigby,计算机与安全,1992年3月,第11卷,第75[24] J. Manger,[25] D. Bleichenbacher,
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功