security - CRC 是否有助于防止安全攻击或保证数据的完整性?

标签 security ssl tcp crc

<分区>

我看过一个 c/c++ 程序,它使用 CRC 来双重检查从 TCP 套接字接收到的数据。 我不明白为什么在应用程序中使用 CRC。我认为只有第 2 层到第 4 层需要 CRC,即链路层或传输层(也可能是网络层?)。

但是今天,我的同事告诉我,CRC 有助于防止安全攻击。他怀疑是否存在更改数据包的攻击者。这就是他为什么在TCP套接字程序中需要CRC校验的原因。

但我还是不能100%同意他的看法。我认为一个能够改变数据包的攻击者,我相信他也可以操纵 CRC no 被抓到。

我认为 RSA 就是为了这种安全。 HTTP中是HTTPS,TCP中是SSL。 如果是这样 - 如果我是对的 - 不需要 CRC。而不是 CRC 加密算法才是真正需要的。

我错过了什么吗? CRC在TCP套接字编程中有用吗?

最佳答案

But today, my coworker told me that CRC helps prevent security attacks.

纯属胡说八道。它什么也阻止不了。它可能有助于检测攻击发生后,。这不是一回事。

He doubted there could be an attacker who changes data packets. This is his reason why CRC is needed in TCP socket program.

如果您的同事“怀疑可能存在攻击者”,那么他也提出针对攻击的解决方案在逻辑上是不连贯的。

我有一位热衷于验证 TCP/IP 流的同事。 1992-3 年。从那以后我再也没有这样做过,而且我也从未见过损坏的 TCP 下载。由于数据损坏,您不得不重新下载多少次?

关于security - CRC 是否有助于防止安全攻击或保证数据的完整性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22500437/

相关文章:

jquery - 防止直接访问 JSON Web 服务

security - Sitecore 发布目标在“发布”对话框中显示为灰色

ssl - 如何将 SSL 证书分配给区域 ip,该区域 ip 是 kubernetes 服务的负载均衡器

java - Flash 中的 HTTP POST - 客户端在响应前关闭 TCP 连接

security - 使用 bcrypt 为移动应用散列 5 位密码

asp.net - asp.net 是否可以防止 sql 注入(inject)攻击

mongodb - Mongo 副本内部 SSL 问题

google-chrome - 匿名代理不仅仅适用于 Firefox。对于 Chrome - 确定

java - TCP - JAVA 客户端和 C 服务器发送和接收对象/结构

java - 套接字,发送的 pdf 文件始终到达零字节大小