iOS——数据安全

在移动互联网快速发展的今天,iOS应用直接运行在用户的手机上,与运行在服务器后台服务相比,更有可能被黑客攻击。

a.网络安全:

1.1 安全地传输用户密码

事先生成一对用于加密的公私钥,客户端登录的时候,使用公钥将用户的密码加密后,将密文传给服务器。服务器使用私钥将密码解密,然后加盐之后再多次求MD5,之后再和服务器原来存储的用同样方法处理过的密码匹配,如果一致,则登录成功。

这样,黑客即使获得了加密后的密文,由于没有私钥,也无法还原出原始的密码。即使服务器被黑客攻陷,也无法从加盐和多次MD5后的密码中还原原始的密码。这样保证了用户密码的安全。

1.2防止通讯协议被轻易破解

黑客会模拟客户端登录,进而伪造一些用户行为。

开发者可以选择类似Protobuf之类的二进制协议或者自己实现通讯协议,对于传输的内容进行一定程度的加密,以增加黑客破解协议的难度。

1.3验证内购的支付凭证

对于内购,开发者除了仔细验证购买凭证外,也需要告知用户在越狱手机上进行支付的风险。

b.本地文件和数据安全:

2.1程序文件的安全

通过将JavaScript源码进行混淆和加密,可以防止黑客轻易阅读和篡改相关的逻辑,也可以防止自己的web端与native端的通讯协议泄漏。

2.2本地数据安全

对于本地重要数据,应该加密存储或者将其保存到keychain中,以保证其不被篡改。

c.源代码安全:

3.1对于IDA这类工具,可以使用宏来简单混淆类名外,也可以将关键的逻辑使用纯C实现。

原文地址:https://www.cnblogs.com/linxiu-0925/p/5443673.html