著录项信息
专利名称 | 移动应用认证加固方法和系统 |
申请号 | CN201410727943.4 | 申请日期 | 2014-12-03 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2015-04-08 | 公开/公告号 | CN104504324A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F21/44 | IPC分类号 | G;0;6;F;2;1;/;4;4;;;G;0;6;F;2;1;/;5;7查看分类表>
|
申请人 | 深圳市深信服电子科技有限公司 | 申请人地址 | 广东省深圳市南山区学苑大道1001号南山智园A1栋一层
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 深信服科技股份有限公司 | 当前权利人 | 深信服科技股份有限公司 |
发明人 | 黄寿南 |
代理机构 | 深圳市世纪恒程知识产权代理事务所 | 代理人 | 胡海国 |
摘要
本发明提供了一种移动应用认证加固方法和系统,所述方法包括:启动封装了加固认证流程的应用;加载预设的动态库;通过所述动态库加载认证界面并显示;通过所述认证界面接收用户输入,根据用户输入进行认证;认证通过后加载应用界面并显示。该方法在进入应用界面前先加载认证界面进行认证,认证通过后才能进入到应用界面,能够有效防止用户敏感信息被泄漏,从而提高了安全性。
1.一种移动应用认证加固方法,所述方法包括:
启动封装了加固认证流程的应用;
加载预设的动态库;
通过所述动态库截取显示第一个界面的入口函数,在所述入口函数的实现中加载认证界面并显示;
通过所述认证界面接收用户输入,根据用户输入进行认证;
认证通过后加载应用界面并显示。
2.根据权利要求1所述的方法,其特征在于,在所述启动封装了加固认证流程的应用的步骤之前,还包括:
将未封装加固认证流程的应用封装加固认证流程。
3.根据权利要求2所述的方法,其特征在于,所述将未封装加固认证流程的应用封装加固认证流程的步骤包括:
将所述未封装加固认证流程的应用对应的压缩包上传至服务器,由所述服务器对所述未封装加固认证流程的应用封装加固认证流程,接收服务器返回的所述封装了加固认证流程的应用并安装。
4.根据权利要求2或3所述的方法,其特征在于,所述将未封装加固认证流程的应用封装加固认证流程的步骤包括:
对所述未封装加固认证流程的应用对应的压缩包解压;
获取可执行文件,将加载所述动态库的命令添加至所述可执行文件的头部;
对添加了所述命令的可执行文件进行签名;
对签名后的可执行文件进行压缩,得到封装了加固认证流程的应用对应的压缩包。
5.根据权利要求2或3所述的方法,其特征在于,所述将未封装加固认证流程的应用封装加固认证流程的步骤包括:
对所述未封装加固认证流程的应用对应的压缩包解压,得到应用文件夹;
将所述动态库拷贝至所述应用文件夹中;
对拷贝了动态库的应用进行签名;
对签名后的应用进行压缩,得到封装了加固认证流程的应用对应的压缩包。
6.一种移动应用认证加固系统,其特征在于,所述系统包括:
应用启动模块,用于启动封装了加固认证流程的应用;
动态库加载模块,用于加载预设的动态库;
认证界面显示模块,用于通过所述动态库截取显示第一个界面的入口函数,在所述入口函数的实现中加载认证界面并显示;
认证模块,用于通过所述认证界面接收用户输入,根据用户输入进行认证;
应用界面显示模块,用于认证通过后加载应用界面并显示。
7.根据权利要求6所述的系统,其特征在于,所述系统还包括:
应用封装模块,用于将未封装加固认证流程的应用封装加固认证流程。
8.根据权利要求7所述的系统,其特征在于,所述应用封装模块用于将所述未封装加固认证流程的应用对应的压缩包上传至服务器,由所述服务器对所述未封装加固认证流程的应用封装加固认证流程;
所述系统还包括:
应用安装模块,用于接收服务器返回的所述封装了加固认证流程的应用并安装。
9.根据权利要求7或8所述的系统,其特征在于,所述应用封装模块包括:
第一解压模块,用于对所述未封装加固认证流程的应用对应的压缩包解压;
第一动态库添加模块,用于获取可执行文件,将加载所述动态库的命令添加至所述可执行文件的头部;
第一签名模块,用于对添加了所述命令的可执行文件进行签名;
第一压缩模块,用于对签名后的可执行文件进行压缩,得到封装了加固认证流程的应用对应的压缩包。
10.根据权利要求7或8所述的系统,其特征在于,所述应用封装模块包括:
第二解压模块,用于对所述未封装加固认证流程的应用对应的压缩包解压,得到应用文件夹;
第二动态库添加模块,用于将所述动态库拷贝至所述应用文件夹中;
第二签名模块,用于对拷贝了动态库的应用进行签名;
第二压缩模块,用于对签名后的应用进行压缩,得到封装了加固认证流程的应用对应的压缩包。
移动应用认证加固方法和系统\n技术领域\n[0001] 本发明涉及移动应用领域,特别是涉及一种移动应用认证加固方法和系统。\n背景技术\n[0002] 随着移动互联网的发展,越来越多的企业办公系统迁移到移动终端上,也越来越多的用户使用移动应用来办公、购物、银行操作、即时聊天等,而这些应用为了用户体验性,大多都会自动保存账号密码而自动登录。\n[0003] 然而,当用户的移动终端丢失被他人拾到后,他人就可以很轻易地使用这些带有敏感信息的移动应用,用户的工作机密信息、网上银行信息、电子钱包、网购信息、聊天纪录等敏感信息很容易造成泄漏,也很容易被不法分子利用而造成更大的损失。\n发明内容\n[0004] 基于此,有必要针对上述技术问题,提供一种能有效防止用户敏感信息泄漏,从而能提高安全性的移动应用认证加固方法和系统。\n[0005] 一种移动应用认证加固方法,所述方法包括:\n[0006] 启动封装了加固认证流程的应用;\n[0007] 加载预设的动态库;\n[0008] 通过所述动态库加载认证界面并显示;\n[0009] 通过所述认证界面接收用户输入,根据用户输入进行认证;\n[0010] 认证通过后加载应用界面并显示。\n[0011] 在其中一个实施例中,所述通过所述动态库加载认证界面并显示的步骤包括:\n[0012] 通过所述动态库截取显示第一个界面的入口函数;\n[0013] 在所述入口函数的实现中加载认证界面并显示。\n[0014] 在其中一个实施例中,在所述启动封装了加固认证流程的应用的步骤之前,还包括:\n[0015] 将未封装加固认证流程的应用封装加固认证流程。\n[0016] 在其中一个实施例中,所述将未封装加固认证流程的应用封装加固认证流程的步骤包括:\n[0017] 将所述未封装加固认证流程的应用对应的压缩包上传至服务器,由所述服务器对所述未封装加固认证流程的应用封装加固认证流程,接收服务器返回的所述封装了加固认证流程的应用并安装。\n[0018] 在其中一个实施例中,所述将未封装加固认证流程的应用封装加固认证流程的步骤包括:\n[0019] 对所述未封装加固认证流程的应用对应的压缩包解压;\n[0020] 获取可执行文件,将加载所述动态库的命令添加至所述可执行文件的头部;\n[0021] 对添加了所述命令的可执行文件进行签名;\n[0022] 对签名后的可执行文件进行压缩,得到封装了加固认证流程的应用对应的压缩包。\n[0023] 在其中一个实施例中,所述将未封装加固认证流程的应用封装加固认证流程的步骤包括:\n[0024] 对所述未封装加固认证流程的应用对应的压缩包解压,得到应用文件夹;\n[0025] 将所述动态库拷贝至所述应用文件夹中;\n[0026] 对拷贝了动态库的应用进行签名;\n[0027] 对签名后的应用进行压缩,得到封装了加固认证流程的应用对应的压缩包。\n[0028] 一种移动应用认证加固系统,所述系统包括:\n[0029] 应用启动模块,用于启动封装了加固认证流程的应用;\n[0030] 动态库加载模块,用于加载预设的动态库;\n[0031] 认证界面显示模块,用于通过所述动态库加载认证界面并显示;\n[0032] 认证模块,用于通过所述认证界面接收用户输入,根据用户输入进行认证;\n[0033] 应用界面显示模块,用于认证通过后加载应用界面并显示。\n[0034] 在其中一个实施例中,所述认证界面显示模块用于通过所述动态库截取显示第一个界面的入口函数,在所述入口函数的实现中加载认证界面并显示。\n[0035] 在其中一个实施例中,所述系统还包括:\n[0036] 应用封装模块,用于将未封装加固认证流程的应用封装加固认证流程。\n[0037] 在其中一个实施例中,所述应用封装模块用于将所述未封装加固认证流程的应用对应的压缩包上传至服务器,由所述服务器对所述未封装加固认证流程的应用封装加固认证流程;\n[0038] 所述系统还包括:\n[0039] 应用安装模块,用于接收服务器返回的所述封装了加固认证流程的应用并安装。\n[0040] 在其中一个实施例中,所述应用封装模块包括:\n[0041] 第一解压模块,用于对所述未封装加固认证流程的应用对应的压缩包解压;\n[0042] 第一动态库添加模块,用于获取可执行文件,将加载所述动态库的命令添加至所述可执行文件的头部;\n[0043] 第一签名模块,用于对添加了所述命令的可执行文件进行签名;\n[0044] 第一压缩模块,用于对签名后的可执行文件进行压缩,得到封装了加固认证流程的应用对应的压缩包。\n[0045] 在其中一个实施例中,所述应用封装模块包括:\n[0046] 第二解压模块,用于对所述未封装加固认证流程的应用对应的压缩包解压,得到应用文件夹;\n[0047] 第二动态库添加模块,用于将所述动态库拷贝至所述应用文件夹中;\n[0048] 第二签名模块,用于对拷贝了动态库的应用进行签名;\n[0049] 第二压缩模块,用于对签名后的应用进行压缩,得到封装了加固认证流程的应用对应的压缩包。\n[0050] 上述移动应用认证加固方法和系统,通过启动封装了加固认证流程的应用,在启动该应用后会加载预设的动态库,从而通过该动态库加载认证界面并显示,通过该认证界面接收用户输入,根据用户输入进行认证,在认证通过后再加载应用界面并显示。由于在加载应用界面之前需要加载认证界面,只有通过认证界面的认证才能进入到应用界面,这种加固认证的方式相对于现有技术,能够有效防止用户信息泄漏,从而提高了安全性。\n附图说明\n[0051] 图1为一个实施例中移动应用认证加固方法的流程图;\n[0052] 图2为一个实施例中封装应用的流程图;\n[0053] 图3为另一个实施例中封装应用的流程图;\n[0054] 图4A为启动未封装加固认证流程的应用的界面示意图;\n[0055] 图4B为启动封装了加固认证流程的应用的界面示意图;\n[0056] 图5为一个实施例中移动应用认证加固系统的结构框图;\n[0057] 图6为另一个实施例中移动应用认证加固系统的结构框图;\n[0058] 图7为一个实施例中应用封装模块的结构框图;\n[0059] 图8为另一个实施例中应用封装模块的结构框图。\n具体实施方式\n[0060] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。\n[0061] 如图1所示,在一个实施例中,提供了一种移动应用认证加固方法,该方法以应用于终端进行举例说明,具体包括:\n[0062] 步骤102,启动封装了加固认证流程的应用。\n[0063] 本实施例中,封装加固认证流程的应用,是指对安装在终端中的应用进行封装,使该应用具备加固认证的特性,能实现强认证功能的应用。所谓封装,是指在现有的可执行程序中,加入其它可执行代码,以增加该程序的功能。封装了加固认证流程的应用即为增加了加固认证功能的应用。\n[0064] 在步骤102之前,可对已安装在终端中的应用进行封装,封装过程可由终端实现,也可将应用的安装包发送到服务器,由服务器实现封装。加固认证流程即身份验证流程,包括但不限于手势密码认证、用户名密码认证、证书认证、短信认证等。本实施例中的应用,优选为移动终端中的应用,其中,移动终端包括但不限于各种智能手机、平板电脑等。\n[0065] 步骤104,加载预设的动态库。\n[0066] 本实施例中,动态库是在应用的封装过程中添加到应用对应的文件包中的。该动态库具备函数挂钩的功能,可对应用的第一个界面的入口函数进行挂钩,从而修改应用的函数的行为。\n[0067] 步骤106,通过动态库加载认证界面并显示。\n[0068] 本实施例中,由于动态库具备函数挂钩的功能,因此可以截取应用显示第一个界面的入口函数,提供认证界面并显示该认证界面。\n[0069] 具体的,在一个实施例中,步骤106包括:通过动态库截获显示第一个界面的入口函数,在该入口函数的实现中加载认证界面并显示。\n[0070] 步骤108,通过认证界面接收用户输入,根据用户输入进行认证。\n[0071] 如上所述,通过动态库实现的认证包括手势密码认证、用户名密码认证、证书认证、短信认证等。具体的,封装了加固认证流程的应用在第一次启动时,可通过动态库提供设置界面,通过设置界面用户可进行认证的设置。比如,对于手势密码认证,可通过设置界面接收用户设置的手势密码。对于用户名密码认证,可通过设置界面接收设置的用户名和密码。对于证书认证,可在第一次启动应用时导入证书。对于短信认证,可通过设置界面接收设置的手机号码等。\n[0072] 进一步的,在下次启动封装了加固认证流程的应用,通过动态库会提供认证界面,用户可通过认证界面输入设置好的密码。比如,对于手势密码认证,则通过认证界面接收用户输入的手势密码。对于用户名密码认证,可通过认证界面接收用户输入的用户名和密码。\n对于证书认证,可由应用将证书提交到服务器进行校验。对于短信认证,可通过认证界面接收用户输入的验证码,该验证码在启动应用后会自动发送到事先设置的手机号码中。如果用户输入正确,则认证通过。\n[0073] 步骤110,认证通过后加载应用界面并显示。\n[0074] 本实施例中,通过启动封装了加固认证流程的应用,在启动该应用后会加载预设的动态库,从而通过该动态库加载认证界面并显示,通过该认证界面接收用户输入,根据用户输入进行认证,在认证通过后再加载应用界面并显示。由于在加载应用界面之前需要加载认证界面,只有通过认证界面的认证才能进入到应用界面,这种加固认证的方式相对于现有技术,能够有效防止用户信息泄漏,从而提高了安全性。\n[0075] 在一个实施例中,在步骤102之前还包括:将未封装加固认证流程的应用封装加固认证流程。\n[0076] 在一个实施例中,由终端将未封装加固认证流程的应用封装加固认证流程。\n[0077] 本实施例中,终端可获取用户选择进行封装的未封装加固认证流程的应用,然后启动封装工具对选择的应用封装加固认证流程。\n[0078] 在另一个实施例中,由服务器将未封装加固认证流程的应用封装加固认证流程。\n具体的,将未封装加固认证流程的应用封装加固认证流程的步骤包括:将未封装加固认证流程的应用对应的压缩包上传到服务器,由服务器对未封装加固认证流程的应用封装加固认证流程,接收服务器返回的封装了加固认证流程的应用并安装。\n[0079] 本实施例中,终端可获取用户选择进行封装的未封装加固认证流程的应用,将该应用对应的压缩包上传到服务器,由服务器预先设置的封装工具对未封装加固认证流程的应用封装加固认证流程。服务器封装完成后,可将封装了加固认证流程的应用提供给终端进行下载,终端确认下载,则服务器会返回封装了加固认证流程的应用的压缩包给终端,终端安装封装了加固认证流程的应用。\n[0080] 在一个实施例中,如图2所示,将未封装加固认证流程的应用封装加固认证流程的步骤包括:\n[0081] 步骤202,对未封装加固认证流程的应用对应的压缩包解压。\n[0082] 步骤204,获取可执行文件,将加载动态库的命令添加到可执行文件的头部。\n[0083] 步骤206,对添加了加载动态库的命令的可执行文件进行签名。\n[0084] 步骤208,对签名后的可执行文件进行压缩,得到封装了加固认证流程的应用对应的压缩包。\n[0085] 本实施例中,对于有些操作系统的移动终端,其中安装的应用是可执行文件格式。\n例如,对于NeXTSTEP、Darwin、iOS等都是使用Mach Object文件格式,即Mach-O文件。将加载动态库的命令添加到可执行文件的头部之后,在移动终端上启动该应用,则会运行该加载动态库的命令,从而加载预设的动态库,进而通过该动态库实现认证界面的加载并进行认证。\n[0086] 以运行iOS操作系统的移动终端进行说明。该操作系统中的应用程序文件格式实际上是一个zip压缩包,即ipa文件。移动终端将ipa文件发送到服务器,服务器对其进行解压,则得到Mach-O文件。进一步的,服务器修改Mach-O文件的头部,在其头部增加一个加载动态库的命令,该动态库用来实现加固认证流程,使得封装了的应用具备加固认证功能。这样,该Mach-O文件在运行时,会自动加载添加进去的动态库。\n[0087] 进一步的,可采用Codesign工具对添加了加载动态库命令的可执行文件进行签名。Codesign工具是一个命令行工具,只需要命令行终端输入如下命令即可完成签名:\nCodesign–fs<证书名><应用名称>,其中证书是操作系统供应商提供的开发者证书。对添加了加载动态库命令的可执行文件进行签名,可以保证添加了加载动态库命令的可执行文件能够正常在移动终端上运行。\n[0088] 对签名后的可执行文件进行压缩,得到ipa文件,服务器将该ipa文件返回给移动终端进行安装。之后,运行该ipa文件即可加载预设的动态库,通过动态库实现加固认证流程,具体请参见图1所示的实施例,在此则不再赘述。\n[0089] 在另一个实施例中,如图3所示,将未封装加固认证流程的应用封装加固认证流程的步骤包括:\n[0090] 步骤302,对未封装加固认证流程的应用对应的压缩包解压,得到应用文件夹。\n[0091] 步骤304,将预设的动态库拷贝至应用文件夹中。\n[0092] 步骤306,对拷贝了动态库的应用进行签名。\n[0093] 步骤308,对签名后的应用进行压缩,得到封装了加固认证流程的应用对应的压缩包。\n[0094] 本实施例中,对于一些开放式操作系统的移动终端,其中安装的应用不是可执行文件,解压应用对应的压缩包会得到应用文件夹。例如,对于Android操作系统。移动终端将未封装加固认证流程的应用对应的压缩包上传至服务器,服务器对压缩包解压,得到应用文件夹。再将预设的动态库拷贝至该应用文件夹中。为了使得封装了加固认证流程的应用可以在移动终端上正常运行,同样的可使用相应的签名工具对拷贝了动态库的应用进行签名,再将签名后的应用进行压缩,从而得到封装了加固认证流程的应用对应的压缩包。服务器将该压缩包返回给移动终端进行安装。之后,运行安装的封装了加固认证流程的应用即可加载应用文件夹中的动态库,通过动态库实现加固认证流程,具体请参见图1所示的实施例,在此则不再赘述。\n[0095] 如图4A所示,启动未封装加固认证流程的应用,由于应用会自动保存账号密码,直接进入应用界面。如图4B所示,启动封装了加固认证流程的应用,通过预设的动态库,先加载认证界面(图4B中的认证界面为手势密码认证的认证界面),只有在通过认证界面认证通过后,才加载应用界面并显示。\n[0096] 本发明实施例所提供的移动应用认证加固方法,可实现对一些涉及到用户敏感信息的应用进行封装处理,对这类应用需要通过预设的动态库提供的认证界面进行认证后才能进入到应用界面,实现了应用的强认证,有效防止了用户敏感信息泄漏,提高了安全性,也为用户对一些应用设置保密方式提供了便利。所谓强认证,是相对于弱认证而言的,弱认证指的就是传统的用户名密码认证,即用户输入正确的用户名和密码即可通过认证。而强认证是指安全性更高的认证方式,比如一次性认证代码、数字证书、智能卡、生物识别器、手势密码等认证方式。强认证相对于弱认证来说具有更高的安全性和保密性。\n[0097] 如图5所示,在一个实施例中,还提供了一种移动应用认证加固系统,所述系统包括:\n[0098] 应用启动模块502,用于启动封装了加固认证流程的应用.\n[0099] 动态库加载模块504,用于加载预设的动态库。\n[0100] 认证界面显示模块506,用于通过预设的动态库加载认证界面并显示。\n[0101] 认证模块508,用于通过认证界面接收用户输入,根据用户输入进行认证。\n[0102] 应用界面显示模块510,用于认证通过后加载应用界面并显示。\n[0103] 在一个实施例中,认证界面显示模块506用于通过动态库截取显示第一个界面的入口函数,在该入口函数的实现中加载认证界面并显示。\n[0104] 如图6所示,在一个实施例中,移动应用认证加固系统还包括:\n[0105] 应用封装模块501,用于将未封装加固认证流程的应用封装加固认证流程。\n[0106] 在一个实施例中,应用封装模块501还用于将未封装加固认证流程的应用对应的压缩包上传至服务器,由所述服务器对未封装加固认证流程的应用封装加固认证流程。该系统还包括:应用安装模块503,用于接收服务器返回的封装了加固认证流程的应用并安装。\n[0107] 如图7所示,在一个实施例中,应用封装模块501包括:\n[0108] 第一解压模块501a,用于对未封装加固认证流程的应用对应的压缩包解压.[0109] 第一动态库添加模块501b,用于获取可执行文件,将加载所述动态库的命令添加至可执行文件的头部。\n[0110] 第一签名模块501c,用于对添加了加载动态库命令的可执行文件进行签名。\n[0111] 第一压缩模块501d,用于对签名后的可执行文件进行压缩,得到封装了加固认证流程的应用对应的压缩包。\n[0112] 如图8所示,在一个实施例中,应用封装模块501包括:\n[0113] 第二解压模块501e,用于对未封装加固认证流程的应用对应的压缩包解压,得到应用文件夹。\n[0114] 第二动态库添加模块501f,用于将动态库拷贝至该应用文件夹中。\n[0115] 第二签名模块501g,用于对拷贝了动态库的应用进行签名。\n[0116] 第二压缩模块501h,用于对签名后的应用进行压缩,得到封装了加固认证流程的应用对应的压缩包。\n[0117] 以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
法律信息
- 2017-09-29
- 2017-09-12
著录事项变更
申请人由深圳市深信服电子科技有限公司变更为深信服科技股份有限公司
地址由518000 广东省深圳市南山区学苑大道1001号南山智园A1栋一层变更为518000 广东省深圳市南山区学苑大道1001号南山智园A1栋一层
- 2015-05-06
实质审查的生效
IPC(主分类): G06F 21/44
专利申请号: 201410727943.4
申请日: 2014.12.03
- 2015-04-08
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2014-02-05
|
2013-11-08
| | |
2
| |
2014-08-13
|
2012-10-08
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |