[0003] 本发明的目的是针对现有技术的不足,提供一种基于SDK的安全移动办公方法。
[0004] BYOA移动办公包括企业文件编辑、员工通信、文件共享、员工管理等。本发明通过在App中嵌入SDK的方式,允许用户自由使用第三方App对企业文件进行安全编辑。
[0005] 为了实现上述目的,本发明是通过如下的技术方案来实现:
[0006] 本发明具体实现的前提是构建S-BYOA架构,S-BYOA架构包括:
[0007] (1)E-Server:企业自有服务器,对文件进行管理与保存,负责员工身份认证并生成、管理和分配用户密钥。
[0008] (2)S-BYOA-App:安装在用户端的移动安全办公App,负责安全存储部分密钥,企业文件安全浏览,及恶意保存检测。
[0009] (3)S-BYOA-SDK:嵌入在第三方App的安全移动办公SDK,为方便叙述,下文简称SDK,其配合S-BYOA-App实现企业文件监控与安全传输,恶意保存检测和删除。
[0010] (4)Third-Party-App:集成SDK的第三方App,可以编辑企业文件。
[0011] (5)第三方App服务器:提供原第三方App原有业务的服务器,与企业文件无关,下文简称App服务器。
[0012] (6)S-BYOA-Server:安全移动办公服务器,结合S-BYOA-SDK检测第三方App恶意远程备份文件,通知企业及时处理。
[0013] 其运行过程如下:用户在S-BYOA-App中选择待编辑的企业文件,并选择使用第三方App编辑。第三方App通过S-BYOA-SDK从企业服务器中获得企业文件,进行文件解密和完整性验证,并打开文件进行编辑。S-BYOA服务器实时检测第三方App在编辑企业文件时是否存在恶意泄漏企业文件内容,有则拦截通知企业,无则转发正常网络数据。当编辑完企业文件后, S-BYOA-App通过S-BYOA-SDK检测第三方App的沙盒是否恶意保存企业文件。在App编辑企业文件时,负责将将App的网络请求发送至导向BS。
[0014] 一种基于SDK的安全移动办公方法,包括如下步骤:
[0015] 步骤1.S-BYOA中安全文件传输:使用AES对传输文件进行加密,采用哈希算法对文件完整性进行验证;具体实现如下:
[0016] 1-1.员工通过S-BYOA-App登入企业认证系统,S-BYOA从E-Server请求PHE用户秘钥生成参数,并生成员工对应的pk和sk;当员工发起编辑文件F的请求时,S-BYOA-App将文件F的F_id以及员工UserId发送至 E-Server;
[0017] 1-2.E-Server生成文件F的下载链接url,为了防止企业文件被恶意重复请求,该链接只能被请求一次,然后随机产生一个AES加密的密钥key,并使用服务器的PHE加密密钥pk加密得到keys(公式1),然后将 key、keys、url进行一次哈希算法得到Hcontrol(公式2),最后E-Server将 keys、url、Hcontrol发送至S-BYOA-App;
[0018] keys=PHEpk(key) (1)
[0019] Hcontrol=H(url,key,keyS) (2)
[0020] 1-3.S-BYOA-App收到E-Server返回的数据后,使用员工sk解密得到 key(公式3),然后将key、keys、url再进行一次哈希算法,验证数据是否在传输过程中被篡改;
[0021] key=PHEsk(keys) (3)
[0022] 1-4.S-BYOA-App使用{Third-Party-App://key+url}唤起目标 Third-Party-App,并将key和url传给SDK;
[0023] 1-5.SDK根据url向E-Server发起文件F下载的请求,并添加在SDK 启动时得到的Token,E-Server收到请求后,首先验证SDK是否正常启动,然后使用步骤1-2中生成的key来加密文件F(公式4),然后将文件F进行哈希算法得到HF(公式5),最后将FS和HF发送至SDK;
[0024] FS=AESkey(F) (4)
[0025] HF=H(F) (5)
[0026] 1-6.SDK收到FS以后,使用步骤1-3中得到key解密得到文件F,并对解密后的文件F再进行一次哈希,判断文件是否在传输过程中被篡改;如果发现篡改,SDK通过URL Scheme机制跳转至S-BYOA-App,告知用户文件遭到损坏,重新请求文件;
[0027] 1-7.当文件编辑完成后,文件上传的过程与获取类似,SDK随机产生一个key来加密文件,并将加密后的文件发送至E-Server,传送完成后SDK 删除Third-Party-App中企业文件,并通过URL Scheme机制{S-BYOA-App://key}将key传送至S-BYOA-App,S-BYOA-App用服务器的公钥Epk加密key,然后将加密后的key发送到E-Server;
[0028] 步骤2.S-BYOA检测企业文件恶意远程备份
[0029] 通过SDK结合移动系统运行时的特性,将编辑企业文件时的App网络流量导向S-BYOA服务器,通过S-BYOA服务器来检测是否存在泄露的情况,如果存在泄露则通知企业,反之,进行数据转发;
[0030] 2-1.SDK通过NSURLProtocol将App所有网络请求的host地址修改为 S-BYOA-Server的地址,同时附上员工userId和企业id,实现网络流量监控;
[0031] 2-2.S-BYOA-Server根据Third-Party-App向其服务器发送的网络请求数据当中是否包含Third-Party-App的非控制信息,从而判断是否存在恶意远程备份,若包含非控制信息,则存在恶意远程备份;
[0032] 2-3.如果存在恶意远程备份,利用userId和企业id定位到相应的企业与员工;
[0033] 步骤3.S-BYOA防止企业文件恶意本地保存
[0034] 为了防止App恶意本地保存企业文件的威胁,通过SDK监控及管理沙盒的功能,在编辑完成后退出时,通知用户删除Third-Party-A pp中的企业文件,具体实现如下:
[0035] 3-1.沙盒文件查看:S-BYOA-App通过{Third-Party-App://searc h}向Third-Party-App发起文件查看请求,SDK遍历该App沙盒中所有文件信息,并将文件名拼接成字符串,再通过{S-BYOA-App://文件名字符串}重新回调到S-BYOA-App界面,同时将文件名字符串传给S -BYOA-App;S-BYOA-App收到后对文件名字符串进行分割并显示给用户;
[0036] 3-2.删除:S-BYOA-App通过{Third-Party-App://delete/文件名}向Third-Party-App发起删除请求,Third-Party-App收到删除请求,分割文件名字符串获得需要删除的文件名,SDK调用删除接口删除指定文件,删除成功后再调用{S-BYOA-App://success或error} 将删除的结果返回给S-BYOA-App。
[0037] 本发明有益效果如下:
[0038] 本发明研究分析了现有的Bring Your Own Apps(BYOA)方法中最突出的安全问题,提出了一种基于SDK的安全移动办公方法。该发明通过在App 中嵌入SDK的方式,允许用户自由使用第三方App对企业文件进行安全编辑;企业无需修改原文件系统,无需维护App白名单即可实现安全移动办公,而且S-BYOA具有部署和维护成本低的特点。
[0039] 本发明提出的安全移动办公主要针对企业文件进行保护,并从App获取,编辑,本地保存企业文件三个阶段进行保护。主要功能包括:
[0040] (1)App安全获取企业文件
[0041] (2)检测App是否恶意远程备份企业文件
[0042] (3)检测App是否恶意本地保存企业文件
[0043] 本发明对最普遍的企业文件编辑做出安全防护,提出基于SDK的企业文件编辑方案,在不修改原企业文件系统的条件下,实现了第三方App安全获取企业文件,防止在编辑时泄露企业文件,以及阻止App恶意保存文件,达到安全移动办公的目的。