我正在用NFC构建一个应用程序,这是一种无线通信协议。攻击者可以修改无线通信协议中的位。我想阻止这一切。我知道我们不能阻止攻击者改变无线信号,但是可以检测到修改后的信息。
我的问题是:通过使用例如AES加密您的数据,这有可能吗?我不是百分之百确定,但在我的想法中,AES只能用一种方式解密。因此,如果攻击者修改一个或几个位,接收客户端就不能解密这些信息吗?
发布于 2014-10-06 07:09:10
我对NFC的理解是,作为一种标准,它没有为数据安全加密提供任何规定。
这意味着您必须在此基础上实现安全性。
因此,首先:重要的部分:不要试图自己去实现它:
关于你问题的具体部分:AES是一个整体密码。它本身既不提供身份验证,也不提供数据完整性。它所做的就是描述如何使用密钥加密单个固定大小的数据块。您需要将其与分组密码工作方式结合起来,以添加必要的属性以使其在实践中有用:将其应用于任意长度的数据,防止重放攻击、数据修改、身份验证等。所有这些属性都取决于您选择的操作模式。
发布于 2014-10-06 07:06:41
至少在攻击者进行修改的块中,它的信息是不可恢复的(您将恢复无意义的信息,也要小心,因为它甚至可能有意义!),但取决于分组密码模式,它可能会在更长的时间内干扰您的解密。这方面没有发布任何信息,但是您对此问题的反应可能会发布信息(在侧通道上思考您的时间响应)。
您似乎想要的是完整性,您可能喜欢在认证加密上思考。您可以应用错误处理程序,不仅是为了检测,还可以纠正一定程度的噪音,有许多正确的选项。但是我坚持你的攻击者迟早会强迫你重新发送,这是一个需要小心的弱点。
发布于 2014-10-06 07:12:42
没错,如果攻击者修改了使用AES算法加密的一位或多位数据,则无法对客户端上的数据进行解密。
https://security.stackexchange.com/questions/69019
复制相似问题