




已阅读5页,还剩25页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
网络附加存储的嵌入式的安全Howard Gobioff 1 David Nagle 2 加思 吉布森 1 1999 年 6 月CMU-CS-99-154学校的计算机科学卡内基 梅隆大学匹兹堡,宾夕法尼亚州 15213 3890联系人 David Nagle ()办公室 412-268-3898传真 412-268-6353摘要当存储互连进化从单主机小规模的系统,如传统的 SCSI,到多主机基于互联网的系统的网络连接安全磁盘 (NASD),保护客户机和存储之间的数据传输的完整性是至关重要的。然而,它也是消耗大量计算资源和存储系统上,违者可被判罚显著的性能。本文探讨了几种可以保护通信完整性的存储请求和数据传输,施加很小的性能损失,大幅降低了所需的加密的技术。中央对这项工作是替代的加密方法,称为哈希和 MAC,降低保护完整的读交通在无法生成完整的数据传输速率的消息身份验证代码的存储设备的成本。哈希和 MAC 是通过联机安全信息使用和重用随后的读取请求的预计算的信息。我们还提出了完善的哈希和 MAC办法,使用增量的哈希函数以提高性能的小读和写操作,以及非块对齐操作。1。 可以通过电子邮件在到达计算机科学学院hgobioff, 2. 部的电气和计算机工程专业,可以达到电邮 这项研究是由 DARPA/ITO DARPA 订单 D306,通过赞助和印度头科,根据合同 N00174-96-0002 NSWC 发出的。额外提供了并行的数据财团的成员公司包括 惠普实验室、 日立、 IBM、 英特尔、 量子、 希捷科技、 西门子、 存储技术、 风河系统、 3Com 公司、 康柏、 数据一般/Clariion 和 LSI 逻辑。ACM 计算评论关键字 D.4.3 文件系统管理,C.3.0 特殊用途和基于应用程序的系统,部分 C.4 设计研究,D.4.6 加密控制。D.4.4 网络通信1 引言传统上,磁盘驱动器和存储系统已绑定到承担责任对大多数方面的数据完整性和安全性的单个服务器机器。然而,更大的可扩展性需求迫使存储采取分散的架构在哪里或者 1) 多个服务器管理一组共享的磁盘驱动器 Soltis96 或;2) 客户端可直接与存储 Gibson97。这些系统实现其可扩展性,通过消除单服务器的瓶颈,可能提供存储和服务器/客户端之间的多个访问路径和需要存储,以帮助管理其数据的完整性。这一基于存储的完整性要求是到存储系统的根本性变革,带来了大量的系统级问题集中在如何有效地在存储中实现完整性。最明显的问题是完整性的计算成本,尤其是完整性的对于成本约束的嵌入式环境的存储系统 (即,磁盘驱动器或 RAID 控制器)。软件解决方案都不能支持完整性,完全饱和驱动器的 CPU,在到达存储的 1-千兆位/秒网络传输速率之前。硬件解决方案可提供 1-千兆位/秒的带宽,但在低成本商品实现 Eberle92 中不可用。为了解决这些问题,本文探讨了如何有效实施驱动器嵌入式安全。我们的重点是完整性因为诚信是必不可少的同时还能够提供隐私没有支持从存储应用程序在存储系统中的正确运作。我们这项研究在上下文中执行的网络附加安全磁盘 (NASD) 体系结构,使用 NASD 原型和模拟来了解的安全需要。部分 2 开头我们网络附加安全磁盘 (NASD) 体系结构的描述和测量性能的影响传统的完整性机制的原型,可以对存储的带宽和延迟。第 3 节中我们探讨几个完整的成本最小化。通过利用存储特性我们开发降低完整性的计算成本的两项计划允许驱动器提供只有 33%的峰值加密带宽,同时增加延迟小于 10%。最后,我们研究这些计划如何与真正的分布式文件系统的工作负载,揭开几个潜在的问题并提出解决方案,允许存储为千家万户提供驱动器嵌入式安全。虽然这项研究侧重于嵌入式安全网络附加安全磁盘体系结构,许多行为和在这项研究结果也适用于其他存储系统,包括传统的单服务器的基于的系统,运行 NFS 或 WWW。例如,在 IPsec 之上实现的分布式的文件系统可以显著提高可伸缩性和性能的 IPsec 提供使用基于预计算的哈希函数第 3 节中所述的类似的 MAC 结构。这是不仅重要,而且基本将快速瓶颈的数据移动和加密荷载作用下的服务器机器。当然,这需要一些集成的安全和文件系统,但许多最重要的性能改进来自这些类型的集成。2 网络附加存储在传统分布式文件系统 (图 1a),存储被保护背后屏幕内部 I/O 总线和通用的网络之间的所有请求和传输数据的文件服务器。通常情况下,文件服务器的存储和转发复制通过文件服务器的内存成为系统瓶颈。一个解决方案是使用群集未选中的命令发给共享存储的受信任客户端通过避免服务器的瓶颈。然而,几个环境能容忍这种弱的完整性和安全性保证。即使只为事故预防、 文件 (A) (B)。图 1: 悲伤与 NASD。 服务器附加磁盘 (SAD) 介于服务器存储和复制数据从客户端网络到外围网络的网络之间。在悲伤的情况下,想要存储的数据的客户端将消息发送到文件服务器 (1) 将消息发送到访问的数据的存储 (2),并将其发送回文件服务器 (3),最后将请求的数据发送回客户端 (4)。NASD 案例之前读取文件,, 客户端请求访问委员会从文件管理器 (1),其中将访问凭据传递到授权的客户端 (2) 的文件。所以装备,客户端使重复的访问到不同区域的文件 (3,4) 而不需再联系文件管理器,除非 filemanager 选择撤销对客户权利 (5)。服务器还可以保护存储与沟通。NASD 从数据路径中移除文件服务器。NASD 客户很少咨询 filemanager,在一般情况下,直接进入从而避免存储和转发通过文件服务器的存储设备。管理员控制文件管理器机小数目时,应检查有保护和数据/元数据边界。另一种解决方案,网络附加安全磁盘 (NASD) (图 1b) 通过促进简单的存储设备 (如磁盘驱动器) 到一流的网络实体和启用安全通信直接与客户端 Gibson97 可以避免瓶颈和安全问题。使用 NASD 的高层的命令接口,客户端和驱动器通信直接为常见的操作 (例如,读取和写入),而很少的操作,这取决于特定于应用程序语义 (例如,命名空间和访问控制操作) 去一个文件管理器。NASD 的可扩展性至关重要的分工授权,以异步方式进行文件管理器,从执法,由驱动同步执行。授权,时间受限访问凭据适用于给定的文件 (或一组文件) 的形式提供的文件管理器的初始客户端请求。然后,当客户端发出请求时到驱动器,驱动器将强制访问控制决策以前指定的文件管理器和编码在访问凭据。这允许应用程序特定的语义,在 filemanager 居住。Filemanager 编码在 NASD 特定条款内通过客户端传递到该驱动器的访问凭据的政策决定。尝试的性能和可伸缩性的 NASD,我们设计和实现一个原型 NASD 存储接口,移植两个流行的分布式的文件系统 (AFS 和 NFS) 使用此接口,并实现条纹的版本的 NFS 在此接口 Gibson97b。NASD 接口提供可变长度与大小、 时间、 安全、 聚类、 克隆和未解释的属性的对象。访问控制是通过加密访问凭据进行身份验证的每个请求使用摘要的文件管理器/驱动器秘密参数强制执行。我们使用我们实现1,相比 NASD/NFS 性能对传统服务器连接NFS 的磁盘 (SAD) 实现。我们的负载平衡大读基准 (512 K 块) 表明,NASD1.实验测试平台包含四个 NASD 驱动器,每一个 DEC Alpha 3000/400 (133 MHz,64 MB,数字 UNIX3.2 g-3) 与单 1.0 GB HP C2247 磁盘。我们作为客户机使用四个阿尔法 3000/400 的。所有由 155 Mb/s OC 3 ATM 网络 (DEC Gigaswitch/ATM) 连接。NASD 原型性能图 2: 有和没有安全的 NASD 原型性能。 虽然快速保护所有数据饱和的 CPU,可在没有安全系统都保护参数和返回代码的完整性对于小的性能刑罚。每个点代表读的吞吐量超过 3+秒的连续读取请求和最低的 100 个请求由单个客户端读取数据从内存中的对象这消除了媒体访问时间的测量。在图形中大量的违规行为都是神器 DCE/RPC 通信层。数据取自我们 NASD 的原型,使用 DEC Alpha 工作站 (133 MHz 21064 处理器) NASD 驱动器 Gibson98 233 兆赫 Alpha 工作站为客户端和网络业主立案法团 3 ATM DEC Gigaswitch。HMAC SHA1 实施完整性和 3DES 实施隐私,在软件中实现的所有安全算法。能够线性扩展,到驱动器的总传输带宽,同时 SAD NFS 和并行化的版本的 NFS 受到的限制只是三个驱动器 Gibson98 到服务器的数据吞吐量。2.1 安全存储成本在 NASD 实施有效和成本效果的加密技术是一个具有挑战性的问题。当前处理器不支持基于软件的加密算法由于不足的 CPU 周期,而基于硬件的解决方案成本太高,尤其是对商品的储存。图 2 显示了我们 NASD 样机性能范围的软件实现的安全选项。没有安全保障,与原始性能峰值 6 MB/秒。激活上一个命令的参数 (IntegrityArgs) 的完整性 的保护 nonce 和请求参数 (例如,对象标识符,字节范围,操作特定的字段,返回代码) 使用 HMAC SHA1 Bellare96a,降低性能通过一个固定数量的周期,减少 30 %1 KB 的读取的性能和 128 KB 读取性能,降低 7%。此外可以保护数据 (完整性),由系统提供改进的保护,但每个字节的高开销。图 2 显示的最大吞吐量减少 46 %1 KB 读取和超过 65%为 8 KB 的读取,CPU 会更饱满由于加密。最后,隐私向所有人提供的数据,保密,减少幅度更大,到 126-KB/秒的性能无论使用任何完整性保护。这些结果表明,基于软件的安全低成本单片机不能满足的存储需求。其他的算法可能更快,但不是由 240 必要满足现代 30 MB/秒磁盘驱动器媒体价格,也不能千兆的因素/第二个存储网络订房服务。基于硬件的加密算法将提供更高的性能,但重大的代价,尤其是对 1-Gb/秒安全必要的基于光纤通道的磁盘驱动器。因此,我们转到其他启用高性能和低成本的存储设备的安全的方法。3 优化存储的安全性能3.1 存储特性存储有众多的特点,可以利用来更好地优化性能的安全。这些措施包括 反复的阅读同一数据的 存储是非易失性 长访问延迟 (1-20 毫秒) 存储传输速率 (30 Mb/秒) 互连传输速率 (100+-Mb/秒) 相对较慢的 Cpu 服务器类或工作站 Cpu 应用程序/操作系统允许许多写入懒洋洋地发生 (例如,Unix 文件缓存同步) 大多数数据移动在大型 (散装) 转让) 大多数消息很小 (即命令)此外,许多应用程序读取更多数据比他们写 Baker91。很好的例子是可执行文件、 数据挖掘数据库、 邮件文件、 目录和消息文件与伯克利 NFS 痕迹 Dahlin94 显示读与写请求比例为 4.8: 1。这些罕见的变化使 resuse 的原始数据和对数据做任何计算。例如,存储网络校验和与一组数据块允许随后的读取要重用的校验和,避免反复上飞校验和计算的费用。先前的研究表明存储网络校验和的 web 服务器支持可以提高吞吐量超过 2 X Kaashoek96。下面一节中我们讨论了如何应用这种技术和其他存储特性来高效地在磁盘驱动器中嵌入完整。3.2 在联机安全哈希与 MAC预计算可以用来提高安全性能。然而,如果使用不同的密钥共享数据,则也许每个用户,预计算一个需要更多的存储空间来存储不同的 Mac 或不受益来自不同用户读取的请求。然而,它是可能去耦成键控和未经过加密 MAC 计算组件和显式延迟绑定计算的关键。基于现有的消息身份验证代码和消息摘要算法,这种方法,称为哈希和 MAC,执行以下操作 一个驱动器对象写入时,驱动器预先计算序列的结束每个对象的数据块,未经过加密的消息摘要 为每次读请求,驱动器生成对应请求的数据块未经过加密的消息摘要的串联 MAC。正常 MAC 算法 (图 3a) 涉及整个消息身份验证代码的整个计算的关键。相比之下,哈希和 MAC 从中移除键每字节计算,只计算 (图 3b) 的最后一步中使用的密钥。因为关键不参与每字节计算,每个字节计算,一套的消息摘要,结果可以存储和从不同客户端的同一个磁盘块用于多个读取请求。此外,由于没有密钥需要确定消息摘要可以开始之前,消息摘要处理可能简单的高速硬件比 MAC 处理必须延迟,直到确定了正确的密钥。数据DB- n字节的磁盘块铅-部分磁盘块的n字节小于MD-消息摘要MAC 输出 正常的 MAC 散列和 MAC (A) (B)。图 3: MAC 结构。 哈希和 MAC 方法减少了涉及到的机密密钥的计算量。每个消息由序列构成的完整的磁盘块,可能之前和/或后面由部分磁盘块。在左边,大多数 MAC 算法涉及计算中的关键跨越所有字节的数据和线性处理的数据。在右边,哈希和 MAC 并不涉及直到晚在计算的关键。这使并行化和预计算以提高性能。标记的虚线表示经过中和消息摘要或 MAC 算法计算,不同阶段的数据的量。在哈希算法和 MAC 方法中,几只 20 个字节,每个磁盘块的计算涉及关键,而其余的计算可能可以没有知识的关键预计算。采用哈希算法和 MAC 是非常类似于加密或签名消息摘要。然而,它不提供公钥体系提供不可否认性。在这个意义上讲,它是更像正常的 MAC 或加密消息摘要与一个对称密钥系统。与加密摘要,MAC 有更好的定义属性,以防止修改,是不受美国出口限制。请参见附录 A 以讨论安全哈希算法和 mac。3.2.1 性能的哈希算法和 MAC哈希和 MACNASD 的实现使用沙 1 来计算每个磁盘块的消息摘要和 HMAC SHA1 整体的消息身份验证代码。我们将此特定实例的哈希算法和 MAC,称为HierMAC。在命令中读取的数据,预先计算的消息摘要是从驱动器读取和用作 HMAC SHA1 的输入。如果只在读取部分磁盘块,只发生在第一个或最后一个磁盘块的请求,部分磁盘块消息摘要计算上飞。与正常的 MAC,加密成本正在被传输的字节数成正比。HierMAC 降低成本 RequestHdr + +(PrefixBytes + SuffixBytes) NumOfFullDiskBlocks + DigestSize (PrefixBytes + SuffixBytes)在哪里中部分数据块的字节。在我们的实现,磁盘块是 8KBytes,而消息摘要是 20 个字节。因此,HierMAC 的运算 MAC 上 20 个字节,每个完整的磁盘块 (8KBytes) 转移,在渐近的情况下降低至 0.2%的请求时间超过正常的 mac。这不会更改 MAC 算法所处理的字节总数。相反,我们是重新排列的工作在时间和跨多个命令,以减少对飞加密负载共享工作。NASD 原型与 HierMAC长沙 1、 HMAC SHA1、 3DES图 4: HierMAC 性能。 使用 HierMAC 基于沙 1 和 HMAC SHA1,驱动器提供完整性保护带宽接近原型的最大带宽。存储的消息摘要重用已大大改善大请求读取的带宽。锯齿型行为发生驱动器生成最后的部分数据块上飞消息摘要。X 轴是对象的哪个创业之初,而 y 轴是对象的平均读取带宽看客户端的请求的大小。每个点代表读的吞吐量至少 3 秒的连续请求和最低的 100 个请求。每个请求都从内存中对象于字节 0 驱动器开始读取数据的单个客户端。HierMAC 存储沙 1 月刊 0在每个 8 KB 的磁盘块上。 32 64 96 128请求的大小 (KB)图 4 显示,大大降低了对飞加密增加允许性能要密切观察无安全性性能曲线的读的吞吐量。重用存储的消息摘要降低了总的加密成本这么多保护除了数据参数的成本是显著的性能差异。8Kbyte 块边界之间性能下降因为驱动器花更多时间处理从部分磁盘块的前缀和后缀的字节数。在 8KByte 边界,驱动器只使用只存储摘要 (前缀 + 后缀长度返回零) 和保护完整的成本是最小化。这种行为产生的锯齿状曲线。对于起始和结束字节文件内的均匀分布,平均前缀 + 后缀的字节数将一个数据块的大小。因此,在锯齿型前打一个磁盘块边界,1 个字节的最低点性能将代表随机选定的读取请求的预期平均性能。许多文件系统尝试提出请求,排列在磁盘块或 VM 页面边界,这将导致更好的性能。3.2.2 散列和 MAC 的属性文件系统属性也可以受益于预先计算优化。NASD 支持两个标准属性1 (例如,修改时间) 和文件系统的特定字段的都是相当大的 (256 字节)。此外,属性更改频率低于数据 我们的 AFS 工作量显示比例为 22:1 的属性检索操作与属性修改操作,而 NFS 显示比例为 6:1。NASD 属性加上其静态性质规模较大使得它们适合相同的哈希和 MAC优化。这降低了保护 NASD 属性从 336 字节其 20 字节消化的成本。3.3 有效的支持,对于较小的请求可以使用增量的哈希在分布式的文件系统 Baker91,Riedel96、 数据库和持久对象系统 Stamos84,小的请求是很常见的。因此,小访问和大量转移是重要的考虑。小的写入一个优化是推迟更新的存储摘要并可能跨多个小写入摊销更新成本。然而,延迟更新,直到下一个读取请求可以造成不可预知的性能。只要存储的摘要是与时俱进,客户端可以作出合理的假设,关于预期的请求服务时间基于请求的大小,请对齐方式和应用程序的整体状态。如果摘要可能需要重新计算,这就引入了另一个客户端不能预测,因为它取决于给定的磁盘块的历史的变量。更有前景的解决方案是开发由 Bellare et al Bellare94,Bellare97 的增量散列范式描述几个哈希函数为其更新先前计算的摘要所需的工作量是变化的大小成正比。网络附加存储,这使小写入要更有效的实施。3.3.1 增量散列一条消息到一个序列的增量散列划分 x 1 x 2 . x m 的固定大小的块的大小b,称为增量块。这是一个哈希函数的基本数据单位。每个增量块连接用其块编号,以生成一个增强的块中, x我 =我。 x 我。为每个增广块x我,压缩函数h适用于x我,生成的哈希值 y我 = h x( 我) 。结合 y1 y2 . y m 使用结合运算符 ( ) 生成最终的哈希值。更清楚地我们可以表达为 哈希 x ( 1 .x n ) = 我 = 0 nh 我( .x我)若要替换为增量块x我新增量块x我在摘要中存储,我们计算h (i.x我) 和采取逆存储的哈希,然后再结合在h (i.x我) 与存储的哈希。这是更少的工作比重新计算整个存储的摘要。增量消化的另一个好处是能够计算部分磁盘块的摘要没有计算过的所有数据。观察,哈希 x ( r .x s ) = 我 = 0 nh 我( .x我) 1 我 = 0.(r 1 ),(s + 1). m h 我( .xi) = 我= r s h 我( .x我) 在英语中,如果我们读只有部分涵盖存储摘要中,数据读取的部分数据的哈希值计算以逆的部分被补充的哈希与存储的哈希计算直接从被请求的数据或要求。使用此互补的属性,我们必须计算结束了,在更多,只有一半的数据来计算正确的哈希。Bellare et al 提出两类增量的哈希函数 MuHash 和 AdHash 结合运营商分别是模块化的乘法和模块化的加法。对于 NASD,AdHash 是比 MuHash 更具吸引力,原因有两个 摘要和计算成本的大小。由于 modulos 的大小等于的摘要我们必须存储与每个磁盘块的大小,MuHASH modulos 512 到 1024年位的是太大,在哪里-AdHASH 需要 200 位2。这提供证券交易商协会在每个磁盘块的 2 到 4 空间减少的一个的因素。此外,AdHash 的加法运算是速度更快,使更快的软件和硬件实现。3.3.2 集成增量在 NASD 消化NASD 可以实现使用 AdHASH 建立在长沙 1 通过应用到两个连续的消息块,沙 1 压缩函数增量文摘 c 我=压缩 x ( )我和 ci + 1 =压缩 x( i + 1) ,生产两个 160 位的摘要相结合的转变的第一个离开 96 字节和 xoring 的值在一起以产生 256 位哈希 h x ( 我xi + 1) = =(压缩 x( )我 96) 压缩 x ( i + 1 )这提供了所有耐撞性原沙 1 压缩功能。明显的替代方法是简单地连接两个对函数的调用压缩结果并生成 320 位输出。然而,320 位消化需要驱动器存储 320 位每个磁盘块,这是更大的系统开销比存储唯一的 256 位。如果子集总和攻击显著改善,结合两个压缩函数调用的输出可以方便地适用于生产 320 位子集和问题。描述由 Bellare et al 的增量的哈希函数连接块号码我到数据块xi然后进行散列处理,防止重新排序的数据块,可以在压缩函数的调用的两倍。如果增量块大小相同的基本块的压缩功能,使细晶粒变化要最有效地做,然后我们需要调用压缩函数两次,一次的数据和一次块 id,成倍增加了的哈希。显而易见的解决办法是增加的增量块大小摊销成本的追加的块编号。但是,增加的增量块大小使用增量加密,因为所有存储摘要日期发生的增量块粒度从减少我们潜在的收益。我们建议纳入压缩功能以消除额外的哈希调用第四块编号。在一个迭代的哈希函数,其中长沙-1 是一个例子,第四用作初始种子值第一次迭代和迭代之间的链接变量。将一个值放在第四,哈希函数的最终结果是依赖的值。如果这不是真的,一个迭代的哈希函数的最终输出不会依赖于以前的迭代的结果。是否更改 IV 使容易找到碰撞?虽然沙 1 设计标准不是公开的我们认为不太可能更改 IV 将使碰撞更有可能。长沙-1 第四是简单的一个字节序列与一个规律从而提供几乎没有证据表明被特别特别的价值。此外,长沙 1 直接源自 MD4 Rivest91 为第四,建立了公开和没有公开指出特别设计标准。在初始的 MD4 纸,莱维斯特建议更改 IV,随着其他常数,和运行两个 MD4 函数并行生成长的摘要值指示 IV 值的一些灵活性。Preneel 和奥斯也修改任意的散列函数在 MDx MAC 建设 Preneel95 第四。在一起,这些事实使它不可能是有特别关于受雇于沙 1 IV 的值和它应该是可以安全有效地纳入消息摘要使用四块 id。此外,这种技术是适用于任何不在 IV 使用特殊值的哈希函数。图 5:完整客户端开销。使用客户端成本预计算摘要优化要求客户端做额外的工作,为每个磁盘块转移量小。基于模型的客户端必须执行什么计算,每行显示多少次客户端必须调用的压缩功能或相当于工作在联合收割机和 uncombine 运算符,给定正在传输的数据量。X 轴是请求的大小,y 轴是沙 1 压缩功能,沙 1 核心调用的次数。前两行是成本的近似值在 256 字节和 128 字节的增量块上分别使用增量加密时。HMAC SHA1 是计算的比较的基准,可实现少量。存储的摘要是以沙-1 3.2 节中所述的哈希和 MAC方法的成本。3.4 成本比较分析加密若要确定提供完整性在驱动器的影响,本部分的比较成本的三种方法 基本的 MAC 所有字节都哪里 MAC 基本 MAC 计划将使用 HMAC SHA1。存储摘要 使用预计算的沙 1 摘要与磁盘块存储在 3.2 节中所述的哈希和 MAC方法。增量存储摘要 哈希和 MAC方法使用 AdHash 生成的预计算的摘要建立在长沙 1 和模 2 加法的块编号为256放在第四。预计算的摘要被绑定到使用 HMAC SHA1 的关键。比较是成本的在沙田 1 压缩函数即共同货币中的三种方法的调用数目。消息摘要或消息身份验证代码块大小的信息填充的成本被假定为零。这是用零和也许是一个廉价的操作相对压缩函数调用消息长度达 64 字节填充缓冲区的成本,才会发生一次或两次每个请求。相比之下,模块化的加法和减法使用增量存储的摘要方法将使用多次在一个单一的请求,所以必须更精确地模拟。模块化的加法和减法的成本建模为 0.10 和 0.07 沙 1 压缩函数调用的成本。这些值是相对执行周期计数,测量使用 DEC 的原子分析工具对 233 兆赫 Alpha 21064,C 语言编译器优化的简单的实现 256 位加法和减法使用只有 32 位变量进行比较,我们长沙 1 压缩函数实现。费用可能高于手工优化程序集执行,但提供一个保守的估计成本的联合收割机,uncombine 操作。这些费用以及方程描述所有的三种方法的成本在 Mathematica 生成第 3.3 节中提出的数据进行了模拟。3.4.1 完整性开销在客户端预计算减少了驱动器的工作上有如下,但会强制客户端执行少量的额外的工作,对 MAC 的消息摘要。图 5 显示,这两种存储的摘要解决方案增加客户端的开销稍读或写。额外的计算开销是用于从每个增量块压缩函数的结果生成整个磁盘块单摘要结合运算符 (即模块化加法)。例如,最小可能的块大小 (如 128 字节) 女权的目标增加 64 256 位的值,每个 8 K 磁盘块的额外开销。而 256 字节增量块需要一半的开销。我们的评价的其余部分使用 256 字节增量块。3.4.2 诚信成本在为驱动器读取图 6a 所示的存储的摘要和增量存储的摘要方法表现明显更少大块对齐的加密工作读取因为他们可以重用存储摘要。对于较小的请求,增量摘要的互补特性平滑锯齿状曲线。在小的请求是有效的系统,我们期望这一削减光滑锯牙行为。为非对齐读取 (图 6b),预计算的摘要不提供任何好处直到驱动器读取几乎 2 完整的磁盘块。在这里,驱动器必须总是计算文摘第一个部分的磁盘块中的所有数据,因为驱动器只存储整个磁盘块的摘要。相比之下,增量存储的摘要有很多更小的惩罚因为互补的属性是很大程度上独立的偏移量。但是,图 6a 和图 6b 显示增量存储小锯齿行为消化因为驱动器仍可能计算达一半磁盘块之前补充属性将十分有用。正如存储的摘要方法必须上飞计算部分读取的磁盘块中的所有字节的哈希值,增量存储的方法必须上-飞计算从部分磁盘块创建细的锯齿的覆盖粗锯齿部分读取增量块中的所有字节的哈希。为增量数据块较小,牙齿大小将收缩而较大的增量块大小将增加牙齿的大小。然而,减少增量块大小会增加开销。3.4.3 诚信成本为写驱动器写入、 增量摘要和存储的摘要增加达一个磁盘块,小或未对齐操作工作。驱动器必须验证接收的 MAC,然后更新存储的消息摘要中存储和增量存储方法。对于存储的摘要方法,驱动器必须生成磁盘块整个新存储的摘要即使只有一个单一的字节写,这是实实在在的惩罚为小的写入。如果写上然后计算的新存储摘要的磁盘块边界开始可以简单地继续从计算需要验证从客户端接收因为重新计算哈希的公共前缀将冗余的数据摘要汇编 。在这种情况下,成本是数量的一个函数的感动写操作,创建图 7a 所示的阶跃函数影响的磁盘块。如果写成图 7b 所示的磁盘块,开始在某种程度上抵消存储的摘要方法支付更大的惩罚,比增量存储方法。基本存储的摘要计划下,驱动器不能再继续用来验证因为接收到的数据不再是一个前缀的磁盘块,从客户端接收的数据的计算。相反,驱动器必须首先验证接收的 MAC,然后从头开始生成更新的磁盘块使小的存储的摘要,小姐对齐写极其昂贵。采取循序渐进的方式很大程度上独立于偏移量和在小数据写入不支付这些刑罚。 (a) (b)。图 6: 上读取驱动器加密成本为完整性。 这两种增量存储和简单的存储的方法显著减少的驱动器必须在大的读取请求,相比 HMAC SHA1 执行的加密工作。对于未对齐的读取,增量摘要的补充属性允许摘要比正常消化更容易计算。基于模型的客户端必须执行什么计算,每行显示多少次客户端必须调用的压缩功能或相当于工作在联合收割机和 uncombine 运算符,对于给定的数据被读取从给出的偏移量。X 轴是请求的大小,y 轴是沙 1 压缩功能,沙 1 核心调用的次数。存储的增量是增量计划使用 256 字节增量块 3.3.2 节所述。存储的摘要与沙 1 的哈希和 MAC方法的成本是 3.2 节中所述。HMAC SHA1 是最标准的方法提供通信完整性和用作比较的基础。图 7: 上写入驱动器加密成本为完整性。 对于写操作,这两种存储的摘要方法支付违约金为局部更新修改磁盘块。对于未对齐操作,使用增量摘要时减少这种刑罚。基于模型的客户端必须执行什么计算,每行显示多少次客户端必须调用的压缩功能或相当于工作在联合收割机和 uncombine 运算符,对于给定的数据写入到提供偏移量。X 轴是请求的大小,y 轴是沙 1 压缩功能,沙 1 核心调用的次数。增量存储是使用 256 字节增量数据块的增量方案。存储的摘要是以沙-1 的哈希和 MAC方法的成本。图 8: 量子三叉戟 ASIC。 现代驱动器 Asic 集成大量的功能到单个芯片上。SCSI 控制器、 伺服控制器、 音序器、 电机控制器、 错误纠错码和少量的 SRAM 提供核心设备的功能,而 CPU 和 DRAM 的是在其他芯片上。在三叉戟的初级 ASIC 消耗大约 11 万盖茨和 22 千字节的 SRAM 使用 0.68 微米芯片技术 74 平方毫米包中。4 集成安全硬件到网络连接存储4.1 概述密码学能够维持网络数据传输速率是任何需要安全的存储工作负载的理想解决方案。但是,成本方面的考虑可以使这难以实现。优化,如 HierMAC 或 HierMAC 与增量摘要减少所用的加密所需的读取的交通,但不是能显著改善小传输或写入通信带宽 既实现可接受的存储性能的关键。幸运的是,在子网加密速度可以接受存储性能,是可能因为 1) 媒体数据速率都显著低于高速网络数据速率;2) 存储工作负载有懒惰的时期。这些特性提供了一系列性能,网络和媒体之间的数据传输速率,使一套独特的权衡取舍涉及成本、 吞吐量和延迟。本部分探讨了如何利用这个性能范围而无需实现全速网络加密实现良好的系统性能。若地面的讨论,我们首先概述驱动电子设备,检查当前的软件和硬件解决方案的性能。接下来,我们展示如何将安全纳入 NASD 影响系统的延迟时间和讨论参与提供完整性、 隐私,或两者的性能问题。分析量化使用真正的文件系统痕迹显示驱动器,使用 HierMAC 并提供只有 33%的全双工的网络带宽,可以成功地服务不少于 10%的文件系统请求增加延迟时间 (在没有安全系统)。4.1.1 融入基于硬件的安全网络连接安全磁盘现代的 SCSI 磁盘驱动器上电子非常类似于现代的计算机,并包括微处理器 ( 60 MIPS)、 SCSI 接口和几兆字节的 RAM。此外,还有许多非常小的职能部门,管理驱动器,包括电机控制器,纠错代码引擎、 音序器、 缓冲控制器、 伺服控制器的 R/W 通道,前置音箱和写驱动程序 其中大部分迁移到一个单一的 ASIC 解决方案。网络连接的磁盘需要 SCSI 驱动器相同的核心功能,取代物理 SCSI 接口与高性能的网络 (如千兆位以太网、 光纤通道) 同时增加微处理器的性能,以支持 NASD 的驱动器的文件系统。添加基于硬件的安全,需要四个新的功能块 关键内存、 加密/解密、 消息身份验证代码 (它在原型中使用沙-1),和关键管理逻辑。基于软件的安全将需要更少的功能块,加密/解密和密钥管理块由微处理器和密钥存储在磁盘介质上。但是基于软件的安全需求显著更强大的处理器。进一步,因为微处理器必须触摸或者发送或接收的所有字节,ASIC 的内部数据通路公司,目前针对移动最小数据通过微处理器进行优化,也需要基本的变化。4.1.2 当前的软件和硬件加密技术最加密算法不被设计与高效的软件执行作为初步设计的准则。例如,当前主力加密算法如三重 DES3 (3DES) 需要 108 每字节时钟周期上奔腾处理器 Schneier97 关于千兆赫奔腾 Pro 9MBytes/second 屈服。三重 DES,高级加密标准 (AES) 候选人 NIST98 可能接班人所有改善性能的三重 DES,但仍需 20-69 时钟周期每个字节的每个字节更小,1 KB 请求 Schneier99 额外 3 周期平均罚款 8 KB 请求。哈希函数有更好的软件性能比加密。例如,长沙-1 上 200 MHz 奔腾需要 13 的时钟周期,每个字节 (15 MB/秒) 同时成熟 MD160 哈希值在每个字节的 16 个时钟周期 (12.5 MB/秒) Preneel98。而比最快的 AES 算法,他们仍然会消耗 200 MHz 奔腾周期支持的当前磁盘驱动器媒体速率最。这些数字表明 NASD 类处理器, 200 MIPS (例如 200 MHz 款),将无法支持基于软件的加密算法,因此需要基于硬件的加密算法。有种类繁多的硬件加密加速器。Eberlee 在数字的系统研究中心于 1992 年,交付 1 Gb/s 的性能 Eberle92 显示实验的 DES 芯片。目前,您可以购买芯片如喜/Fn 7751 HiFn99 或超大规模集成电路的 VMS115 VLSI99 运行 80 mhz 的交付量大约 100 Mb/s 和沙 1 和三重 DES 200 Mb/s 的性能。这些芯片,主要用于启用基于 IPsec 的虚拟专用网络在 100 Mb/秒路由器中,不可能售价积极为商品设备。Pijinburg 自定义芯片的下一代 ASIC (500 k 盖茨,0.18 微米) 将实施长沙-1,三重 DES、 更安全的 SK64 和 RIPEMD-160 vanPelt99,预计将从每个功能单元提供高达 500 Mb/s 的性能。认知的设计下一代的专用集成电路,CDI 3000,将执行以 172 Mb/s 的三重 DES 和并发沙 1 204 Mb/s,售价约 20 美元在卷 Finley99。虽然这些成本和性能的数字很难直接映射到 NASD,它们提供一种直觉的性能和随时可用的硬件支持成本。4.2 安全和驱动器数据通路将加密硬件集成到存储设备减小了延迟和增加吞吐量仅有软件的解决方案。尽量减少延迟是非常重要的因为额外的延迟会增加请求服务时间,哪些客户端是敏感的小的请求,并增加了驱动器的内部内存要求 (即大队列)。同样地,(至少) 保证媒体率带宽重要的因为没有足够的加密吞吐量,驱动器不能向客户提供其原始的带宽。图 9: NASD 内部功能管道模型。 当安全引入一个磁盘驱动器,驱动器可能需要缓冲请求之前或后以维持正确性或执行速度匹配的密码。队列/缓存可容纳请求排队在媒体和驱动器的数据缓存。缓冲区和媒体队列/缓存可从一个单一的内存池分配和说明逻辑的区别,而不是一种物理。如果网络比跑得快的安全,但安全是比媒体更快,buffer1 将填补上写入和上读缓存命中但这两个缓冲区高速缓存缓冲区 2 将快于媒体可以排出队列空。如果安全是比媒体速率慢,buffer1 将在每次阅读填满每写和 buffer2.一级功能融入一个驱动体系结构的安全将添加另一个阶段,要求加工,增加延迟和潜在节流系统吞吐量 (图 9)。没有安全,请求到达驱动器的网络接口,然后它们由不同层次的通信协议来处理。接下来,他们都是放在工作队列然后从缓存中得到服务或定于媒体访问。对于缓存 (或缓冲) 访问,加密比网络慢将强制命令或数据之间的网络接口和加密单元 (buffer1) 对传入的数据通路和加密单位与驱动电子设备 (buffer2) 上传出的数据通路排队。然而,对于缓存未命中或大写入,驱动器的数据速率最终由媒体确定。4.3 延迟加密操作施加影响延迟的几个订购依赖项。在两个方向,第一步是确定哪个键应该处理的请求。因为解密不能开始之前提供的适当的密钥,密钥管理直接影响延迟的解密和/或完整性 (使用标准的 MAC 算法)。更糟糕的是,与隐私的完整性要求 MAC 等待直到解密完成。然而,哈希和 MAC 并行化进行哈希计算的密钥访问隐藏的密钥管理大多数请求等待时间。不幸的是,没有这种优化是可能的隐私,必须总是等待合适的钥匙。加密基元是延迟的下一个组件。加密算法通常处理 64 位块,3DES,或更多的现代密码用 128 位块。这些小块允许加密以组成一个细粒度的管道,生产结果每 64 或 128 位。处理一个 64 位块每 16 时钟周期 OceanLogic99 OceanLogic DES 核心将会实施 3 DES 与 48 周期延迟 (buffer1和buffer2在图 9)。完整性算法采用多大的块区大小,创造了骏马粒度的管道,大大增加请求的延迟。例如,我们的原型 MAC 使用 64 KB 的块区大小。与完全序列化操作,一个 64 KB 的块 MACed 之前必须传输,然后传输到接收器,和最后验证由接收器通过执行另一个 mac。可以并行的进程,但接收方不能核实数据,直至收到相应的 MAC。与驱动器可能发送数据的速度比他们执行 MAC 操作,时间计算 MAC 将确定操作的最小延迟。R次重复图 10: 方法比较不同 MAC 延迟。 HierMAC 已经使用预计算和它对读请求的比 HMAC SHA1 更低的延迟。在写入请求,增量存储的摘要也减少延迟,因为它引入了更多的并行性。下图说明了关键路径长度,即延迟,这三种的 MAC 方法。所有三种方法是通过参数化的磁盘块中,大小 S 和 R,发送的最大数量的磁盘块之前插入 MAC。HMAC SHA1 只计算几个字节 R * S 然后它产生的结果。HierMAC 可以使用预计算的摘要上读取和它可以计算摘要并行写入 (即 HMAC SHA1 相同当 R = 1)。HierMAC 与增量摘要具有更多的并行性,有利于小请求和写上数据作为好有存储摘要的好处。在图的右边,我们列出了延迟进行读取和写入的磁盘块中,忽略页眉和关键的成本。我们假设 S = 8192 字节的 R = 1,这使得 HierMAC 和 HMAC SHA1 可比写路径。每消息摘要延迟,我们估计 123 周期,这是每沙 1 核心由 FPGA 实现消息摘要块所需的时间量建立了由我们的研究小组 Schlosser98。完整性延迟因因素的 20 或更多不同类型的 MAC 和请求的大小类型而异。HierMAC 和 HierMAC w/增量的摘要,提高延迟超过 HMAC SHA1 通过启用早期的数据处理,两者都使用预计算的摘要,减少到几个迭代的消息摘要计算延迟。上写道,HMAC SHA1 和 HierMAC 有较长潜伏期比 HierMAC w/增量摘要。HMAC SHA1 延迟是块大小的函数,而 HierMAC 依赖文摘块大小。HierMAC 与增量摘要优化减少延迟通过启用并行计算超过 256 B 块,其次是模算术 (结合运营商) 和最后的 mac。此并行,但是需要更多的硬件来处理 256 B 块并行。对于较小的请求,HMAC SHA1 密钥生成依赖项可以创建一个长的关键路径。HierMAC 避免了这关键的路径,允许数据计算继续没有密钥,但代价是一个额外的步骤,一个额外的迭代的消息摘要计算,最后,除了加密操作,驱动器必须也验证请求 nonce 和检查访问凭据合适的请求。检查 nonce 需要寻找 nonce,大概在哈希表,以确认它已不已经被收到。对于功能,一个简单的表单的访问凭据,检查需要只有几个周期来执行一些简单的比较。在并行处理加密,只要要求不是不可逆转地承诺,直到完成所有的检查中,可以执行这些检查。4.4 吞吐量存储吞吐量差别很大。互连线,如光纤通道提供 2 Gb/s 全双工虽然媒体传输速率目前只有 28 MB/秒峰值 (每 40 年 %的速度增长) Grochowski96。显然,在网络数据传输速率的加密吞吐量提供最优性能,特别是在驱动器上的 RAM 缓存命中的请求。然而,数量有限的驱动器缓存大大降低了命中率,除了受益于读一个头的顺序访问。如果密码技术性能与媒体价格完全匹配,最大的吞吐量将媒体数据速率。加密的吞吐量超过媒体价格降低了缓存命中滞后时间和提供更高的峰值性能,当缓存命中发生即使持续的率可能会大大降低。此外,超过媒体率允许请求队列后加密驱动器提供的机会,重新排序请求和最大化其利用媒体 (尽管它不能超过媒体数据速率)。加密数据率应超过的媒体率将取决于成本的增加的数据率、 峰值带宽,重点和缓存的概率的精确数额击中。如果驱动器有多大的数据高速缓存,优化高速缓存命中次数会比使用驱动器的情况与几兆字节的缓存更令人信服。我们设计了 NASD 为了提高其吞吐量最大化并行可用到驱动器的安全。加密是高度并行化,因为它使用了反模式,而不是更多的标准模式已加密块之间的依赖关系。消息身份验证代码可以也并行磁盘块时使用 HierMAC 的粒度和粒度的增量块时使用增量进行哈希处理。相同的功能,使计算并行也使系统能够容忍无序接待仍执行以流类似的方式处理的安全时。没有什么要从根本上防止驱动器执行其全线速度的加密操作。然而,工程驱动器的加密支持,以满足系统的峰值数据速率意味着驱动器是过度工程大部分其工作量。对客户端延迟保护时一刀切文摘吞吐量的影响 5 模拟研究的完整性上一节辩称驱动器不需要提供完整的网络带宽加密。为了量化这一假设,我们使用文件系统痕迹来衡量文件系统操作的延迟缩短了消息摘要加密吞吐量的影响。因为基于驱动器的完整性是必要的正确性,而应用程序开始时间是在输入的链接队列中插入的时间完成时间是当完成 MAC 通过输出链路传送图 11: 模拟
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 ISO 14246:2022/Amd 1:2025 EN Gas cylinders - Cylinder valves - Manufacturing tests and examinations - Amendment 1
- 全国销量最好的数学试卷
- 桥面钢丝支撑施工方案(3篇)
- 钢架拱门施工方案(3篇)
- 航天考试题库及答案
- 村医考试题库及答案
- 安徽省宣城市宣州区2023-2024学年高三下学期高考第三次模拟考试语文题库及答案
- 产品质量问题追溯体系缺陷产品管理工具
- 热血战士出发1000字7篇
- 广告行业方案书及演示模板通版
- 中欧班列课件
- 个性化评价体系在高考语文作文中的作用
- 2025年九省联考新高考 物理试卷(含答案解析)
- 分布式光伏工程报价参考
- 口腔颌面外科消毒和灭菌-手术区的消毒消毒巾铺置法(口腔科技术)
- 医院标识标牌采购投标方案(技术方案)
- 中学政治九年级《坚持改革开放》说课课件
- 制造业企业质量管理能力评估规范
- 《旅馆建筑设计原理》课件
- 地球物理勘探合同范本
- 2024年危险化学品经营单位安全管理人员考试练习题(附答案)
评论
0/150
提交评论