安卓确保安全


android ensuring safety

我正在制作应用程序,它会向php脚本发送值。然后 php 脚本将连接到 Mysql 数据库并返回 JSON 数组。然后应用程序会读取它。如何确保安全?目前我没有使用任何安全措施。

这取决于,这是一个如此巨大的话题,以至于真正的答案需要一本书的材料。

您问的是哪些"安全措施"?

如果您谈论的是涉及 Web 服务器,那么您首先需要保护您的 Web 服务器并构建一个足够智能的 API 来抵御最常见的攻击方法。您需要确保其他人 - 只需在URL中输入某些内容 - 无法执行预期用户可以执行的相同操作。这意味着您需要先验证用户,然后再授予他们访问 API 的权限。

最常见的方法是共享只有服务器和客户端知道的"密钥"。因此,使用电话的用户具有特定的密钥,而服务器具有密钥。现在用户将数据发送到服务器,并发送验证哈希(如sha1(KEY+DATA))。然后,服务器接收数据并确保哈希相同。切勿将密钥本身与请求一起发送。

您需要测试的另一件事是重放攻击。如果有人监听通信,那么您必须限制损害。这通常是通过您同时发送带有请求的时间戳和服务器检查时间戳是否在可接受的范围内来完成的,因此如果有人稍后再次发送相同的请求,它将由于时间戳不同而失败。服务器会对此进行检查,因为输入数据验证也会考虑时间戳。

然后,您必须确保从服务器返回的数据是正确的。因此,服务器还将构建一个验证哈希,您的手机将检查该哈希,确保有人在将数据发送回您的手机时没有更改数据。

作为附加层,您还可以使用重型加密算法(如 AES/Rijndael 256 位加密)对发送(和从 API 接收)的数据进行加密。这将使用打开数据所需的密钥加密数据。如果电话和服务器知道密钥而其他人不知道,那么数据可以安全地发送。

然后,连接应该是HTTPS/SSL,这有助于防止通信被监听。但是,如果有人已经可以访问您的手机,则这无济于事,因此建议也使用其他提到的方法。

至于您的手机,只要您没有安装可能危及安全性的应用程序,它本身就非常安全。此外,如果您认为您可以减少对Web服务器的保护,认为由于只有手机与它通信是安全的,那么黑客可以轻松地在自己的手机上监听通信并找出Web服务API的基础知识,然后打开所有门。因此,请确保您的安全层从大到小:Web服务器是迄今为止系统中最大的实体。

如您所见,这是一个庞大的主题,可能需要很长时间才能学习。但是不知道你到底在问什么,我真的无法进一步帮助你。