[发明专利]一种iOS下移动APP安全防护系统及方法有效

专利信息
申请号: 201810215031.7 申请日: 2018-03-15
公开(公告)号: CN108595989B 公开(公告)日: 2020-06-30
发明(设计)人: 吕秋云;祁伊祯;俞祥祥;王秋华;欧阳潇琴;詹佳程;刘昊 申请(专利权)人: 杭州电子科技大学
主分类号: G06F21/83 分类号: G06F21/83;G06F21/62;H04L9/06;H04L9/08;H04L29/06
代理公司: 杭州君度专利代理事务所(特殊普通合伙) 33240 代理人: 朱月芬
地址: 310018 浙*** 国省代码: 浙江;33
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明公开了一种iOS下移动APP安全防护系统及方法。本发明包括安全键盘模块、用户数据安全保存模块、App敏感信息保存模块、源代码保护模块、安全热更新模块的五大安全防护模块对于现有的iOS移动APP存在缺陷和问题进行安全防护。本发明将现存iOS‑App开发过程中常遇到的五个安全问题的解决方案集成到一种安全防护框架方法当中,开发者只需要将安全防护方法运用到App中,正确部署即可对App做出有效的安全防护,方便开发者解决App安全问题,减少开发时间,提高App的安全性。
搜索关键词: 一种 ios 移动 app 安全 防护 系统 方法
【主权项】:
1.一种iOS下移动APP安全防护系统,其特征在于包括安全键盘模块、用户数据安全保存模块、App敏感信息保存模块、源代码保护模块、安全热更新模块;安全键盘模块:具有防通过坐标获取键盘输入信息、去缓存和防录屏的功能,将自定义的安全键盘模块代替原系统键盘,并通过runtime机制对录屏进程的监听,有效阻止用户输入信息的泄露;安全键盘模块启动实现过程如下:①监听用户输入事件;②拦截系统键盘弹出;③检测是否在录屏的进程,若发现正在录屏,则弹出警告并收回安全键盘模块;否则启动安全键盘模块,产生一组随机数,将键盘中的键位随机布局;④键盘根据布局模板进行显示,点击键盘按键显示输入信息;用户数据安全保存模块:对用户数据进行分类保存,根据不同数据类型以及大小不同给出不同的加密方案;将用户数据分为以下两类:①用户字段信息,该类型数据量小,并有数据处理的需求,该类数据使用SQLite数据进行保存,大部分SQLite文件会保存Document当中;②用户处理的文件数据,该类数据因为内存大,直接保存在Documents或Library当中;针对这两类数据提出相应地安全保存的方法,针对SQLite数据库中用户字段信息的安全存储,提供两种加密方案:①对数据进行加密,加密以后再保存到数据库当中;②将数据库sqlite文件转换成二进制,对sqlite的二进制文件进行加密,开发者可以根据需求进行调用;针对文件安全存储加密方案如下:首先将用户文件根据文件内存大小,分成小文件和大文件;对于小文件,因为其内存小直接使用对称密钥进行加密;对于视频、音频的大文件,首先使用压缩方法对文件进行压缩,然后选择文件对应编码方式使用dataUsingEncoding方法将文件转化成NSData,最后使用base64编码进行加密;App敏感信息保存模块:实现了SSkeychain安全存储容器,并对plist文件进行加密,具体如下:首先,安全plist文件保存;App中的plist文件分成两类,一类为系统自带的info.Plist文件,其中包含了一些应用配置信息,另一类则是开发者自己创建的plist文件;对于第一类文件直接使用用户数据安全保存模块中的用户字段信息加密API进行加密;对于第二类文件,因为plist是以XML明文的形式进行保存,直接转为字符串进行加密处理;其次,使用SSkeychain保存信息;Keychain Services是OSX和iOS都提供的一种安全地存储敏感信息的工具,对于keychain源代码进行封装,创建了SSKeychain工具类,头文件定义了三个方法:keychain保存、读取和删除数据;然后在实现文件中将定义的三个方法抽成一个方法类;所述的敏感信息包含用户数据安全保存模块中加密使用的密钥、集成第三方SDK的AppId和AppSecret,以及应用的网络接口信息;源代码保护模块:对App应用源码中的文件名、方法名和类名进行混淆,分为关键字提取、创建数据库和关键字混淆,具体如下:首先,关键字提取在iOS应用编写过程中,对存在的文件名、类名、协议名和函数名四类关键字进行准确提取;其次,创建数据库采用SQLite数据库来保存关键字,创建对应表的字段表,字段表包括src和des;src保存原关键字,des保存混淆后名字;然后,对关键字进行混淆采用MD5算法对原关键字进行混淆,实现过程如下:首先提取数据库中的src字段内容,调用shell命中的md5sum函数对src中的内容进行MD5计算,完成后将MD5值存入des字段;安全热更新模块:热更新脚本使用https协议进行传输,本地执行的热更新脚本代码使用哈希算法验证其完整性,具体实现如下:首先,热更新脚本安全下发本发明热更新脚本安全传输过程如下:①使用一个会话秘钥key对脚本文件进行加密,得到加密脚本;②对脚本文件进行一次MD5运算,得到脚本文件的信息摘要;③使用服务器的私钥对会话秘钥key进行加密,得到加密key;④同时也用私钥对过程②的MD5值进行加密,得到加密MD5;⑤将加密key、加密脚本以及加密MD5发送至客户端;⑥客户端使用服务器公钥对加密key进行解密,得到key;⑦客户端使用服务器公钥加密MD5解密,得到MD5;⑧使用key解密得到脚本文件;⑨客户端对脚本文件进行一次MD5操作;⑩对比过程⑦和过程⑨中的MD5,判断脚本在传输过程中是否遭到修改;其次,热更新脚本本地安全当本地客户端调用脚本文件时,首先对脚本文件进行一次MD5计算,然后将计算结果发送至服务器进行验证,即在热更新脚本安全下发过程⑤加入脚本安全验证的过程,只有服务器验证通过,才可以执行脚本文件中的内容。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州电子科技大学,未经杭州电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201810215031.7/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top