一、本地数据库加密
目前安全风险:
App本地使用了Sqlite进行了本地的数据缓存,和统计分析本地数据库缓存,其中涉及到重要信息,不法份子拿到这些数据势必会产生很大的风险,因此必须进行加密处理需要。
加密方案:
方案一:
将数据加密后存入数据库
弊端:每次存入数据都要进行加密,影响速度
方案二:
使用FMDB/SQLCipher 对数据库进行加密,效果,及时从拉取到数据库源文件,亦无法查看到数据
二、本地PLIST加密
目前安全风险:
本地很多信息包括科室,服务端IP都存储在本地Plist(json)文件中,存在泄漏的风险,因此需进行加密:
方案:
存储时使用AES对敏感数据进行加密,必要时密钥可以存储在服务端
三、代码混淆
目前安全风险:
iOS发布时所打的ipa包,使用class-dump工具进行反编译,不过目前反编译只能将类的头文件进行反编译,具体的实现类无法进行反编译,因此风险并不是特别 大。存在的问题是OC的命名规范,通过头文件中暴露出的方法,能够获得一些代码级别的信息。
方案:
使用class-dump 能够对ipa包进行反编译
class-dump -S -s -H ProjectName -o
四、截屏提醒
目前安全风险:
用户能够任意截图,进行传播,其中可能包含患者的隐私数据,可能会造成安全问题。
方案:
监听设备是否进行了截图操作,然后进行相关操作
五、越狱设备检测
目前安全风险:
越狱设备拥有App所有文件夹的访问权限,因此能够拿到用户的本地缓存数据库,plist文件等
方案:
没有官方提供的方法,能通过其他方式获取到,目前有反越狱检测插件,并不能100%保障,但是越狱能拿到的数据在一二都加密了,因此不会造成安全问题。
六、添加水印
目前安全风险:
对于用户的截图,无法进行定位,这样便无法对泄漏人进行追责。
方案:
通过在所有页面添加相应的透明水印,使用ps能够查看出被 隐藏的水印。
网友评论