Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我希望用户使用他们的电话号码在我的网络服务上注册他们的设备。
我可以通过验证短信(ala WhatsApp)来确保他们拥有他们输入应用程序的号码。然后应用程序至少会运行。
但是如何防止人们只听发送到服务器的数据,修改它并使用另一个电话号码?然后他们可以使用他们想要的任何电话号码进行注册。
我可以在将数据发送出应用程序之前对其进行加密,但是可以从 APK 中反编译所有源代码,并且可以检索用于加密的代码。
那么我该如何安全地做到这一点呢?
该应用程序对网络服务说,“发送 555-555-5555 的激活码”
Web 服务说“ok”,然后向 555-555-5555 发送一条带有密码的 SMS,该密码在合理的时间内生成并过期。
用户将代码输入应用程序,该应用程序向服务器发送密码,网络服务将该手机标记为“已验证”。
用户无法监听密码是什么,因为它只发送到特定的电话。如果用户有足够的资源,它可能会拦截这个......但你不得不问......为什么?您能做的最好的事情就是将安全性提高到一个合理的程度,您无法防止任何可能的漏洞,但您应该付出很大的努力。