2009-08-11 170 views
0

你会怎么做?足够使用校验和

您发送其中包含许多lines.Every行的文件是从数据库中的记录。

所有文件被压缩到一个文件中。用这个文件发送一个校验和足以确保另一端收到所有记录并且没有消失?如果文件中的任何内容,格式有误或缺失

回答

2

校验会发生变化,因此通过比较校验,收件人可以确信收到的文件充分且没有损坏。毕竟,这是校验和的全部目的。

如果您担心攻击者,我不会发送校验和与文件,因为攻击者可以拦截文件和校验和,更改文件,修改校验和以允许修改显示为有效,并发送该文件在途中。

像其他海报说,然而,主要的封装格式包含的内容验证内置的校验和。

1

如果压缩了,你只发送一个文件。如果压缩文件未正确接收,您将无法打开它。内部压缩档案管理自己的校验和以确保数据的完整性。

+0

但是,校验和可以随时使用。我可以解压缩,更改内容,并使用相同的压缩算法重新压缩,文件就可以。校验和会让我知道事情已经改变。它提供了另一层验证。 – 2009-08-11 13:45:13

+0

假设'中间人'也没有拦截校验和并更新它以反映这些变化。 – Indy9000 2009-08-11 13:47:52

+0

我应该更新我的帖子。通常,您不会将校验和与文件一起发送,而是使其可用。 – 2009-08-11 13:48:55

2

有通常在大多数的包装格式(的gzip,ZIP,...)内置的校验和,因此没有必要添加一个,如果你只是想检查,如果该文件还没有被物理传输过程中被损坏。

+0

就像我对Indeera的回答所说的那样,可以使用校验和来持续验证内容,这为包装格式产生的校验和提供了额外的好处。 – 2009-08-11 13:47:00

+0

确实如此。我没有考虑安全方面。但是,如果要通过校验和来强制执行文件完整性,则需要为它们提供可靠的来源。据我所知,校验和用于验证文件是否来自真正的源文件,通常通过检查文件与从合法源获得的校验和。 如果您发送校验和以及文件,会阻止攻击者解压缩文件,修改它们,重新计算它们的校验和并将所有压缩回来?除非你使用一个模糊的校验和算法当然...... – christopheml 2009-08-11 13:53:52

1

这取决于你试图防止什么样的“消失”。如果它只是随机错误,那么校验和就没有问题。另一方面,如果它是一个恶意的攻击者刻意消失的记录,那么校验和不足,你需要一个MAC。

+1

校验和仍然可以防止恶意攻击者删除记录,因为对zip的任何修改都会改变校验和。 – 2009-08-11 13:47:44

+2

校验和的设计目的并不在于防止恶意代理 - 攻击者修改剩余记录中的一个以便校验和检出 - 或者简单地将其替换(因为它是通过同一通道传输的),这是微不足道的。 – caf 2009-08-11 13:53:17