CN104239778A - 基于Android系统的应用的加密启动方法 - Google Patents
基于Android系统的应用的加密启动方法 Download PDFInfo
- Publication number
- CN104239778A CN104239778A CN201410444285.8A CN201410444285A CN104239778A CN 104239778 A CN104239778 A CN 104239778A CN 201410444285 A CN201410444285 A CN 201410444285A CN 104239778 A CN104239778 A CN 104239778A
- Authority
- CN
- China
- Prior art keywords
- application
- list
- encrypted
- encryption
- multipad
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Telephone Function (AREA)
- Stored Programmes (AREA)
- Storage Device Security (AREA)
Abstract
本发明所提供的基于Android系统的应用的加密启动方法,包括步骤:A、验证正确密码,进入特定文件夹,获取超级管理员帐户权限;B、显示包含所有应用的列表,确定被选中的某一应用;C、依据被选应用包信息中的加密属性判断被选应用为已加密时,解密所述应用列表中所有已加密应用,所解密的应用显示于桌面应用程序列表;启动运行所述被选的及相关被解密的应用;D、启动后台服务线程,轮询到系统返回桌面应用程序列表,或监听到退出已加密应用时,加密所述被解密的应用,终止后台服务线程,并使所加密的应用从桌面应用程序列表中消失。由上,只能从特定文件夹查看或运行被加密应用,无需长时间轮询前台任务,最大限度保证用户的私密性。
Description
技术领域
本发明涉及智能终端应用加密技术领域,特别涉及一种基于Android系统的应用的加密启动方法。
背景技术
随着智能终端的蓬勃发展,Android系统越来越多的应用在移动领域。各大应用市场也提供了各种各样的应用软件,有些应用只适用于特定人群,有些特定应用用户也不希望其他人随意打开。因此,对应用加密的加密软件应运而生。
现有的各种加密软件,实现加密的方式大体相同:在加密软件中设置需要加密的应用,从桌面应用程序列表(Launcher)点击访问已被加密的应用时要求用户输入密码(包括数字或者图案),加密软件验证所输入的密码,正确才可以进入。这类加密软件的原理如图1所示,此类加密软件有两个缺点:
一、被加密的应用仍然可以在桌面应用程序列表中看到,对于用户无法做到完全隐藏;
二、一旦设定加密应用,安全软件需要立即启动后台服务线程并不停地轮询,检查Android系统前台任务(Task)及其应用程序组件(Activity),不管用户有没有操作被加密的应用。这造成明显的耗电。
发明内容
有鉴于此,本发明的主要目的在于,提供一种基于Android系统的应用的加密启动方法,用户只能从特定文件夹查看或运行加密应用。同时,无需要长时间运行后台服务线程检查前台任务,使得本发明在降低耗电的基础上,可以很好的满足用户对应用加密的需求,最大限度的保证了Android系统用户的私密性。
所述基于Android系统的应用的加密启动方法包括步骤:
A、验证正确密码,进入一特定文件夹,获取Android系统的超级管理员帐户权限;
B、显示包含所有应用的列表,确定在所述应用列表中被选中的某一应用;
C、依据被选应用包信息中的加密属性判断被选应用为已加密时,
解密所述应用列表中所有已加密应用,所解密的应用显示于桌面应用程序列表;
启动运行所述被选的及相关被解密的应用;
D、启动后台服务线程,轮询到系统返回桌面应用程序列表,或监听到退出已加密应用时,加密所述被解密的应用,终止后台服务线程,并使所加密的应用从桌面应用程序列表中消失。
由上,用户只能从特定文件夹查看或运行加密应用。同时,无需要长时间运行服务线程轮询检查前台任务,使得本发明在降低耗电的基础上,可以很好的满足用户对应用加密的需求,最大限度的保证了Android系统用户的私密性。
可选的,所述应用列表包括已加密应用的列表和非加密应用的列表。
可选的,所述已加密应用列表的显示步骤包括:
获取加密应用的存储接口;
通过查询所存储的加密应用包信息中的加密属性,将所述已加密应用添加到所述已加密应用列表。
可选的,所述非加密应用列表的显示包括步骤:
获取可以显示在桌面应用程序列表的应用包信息;
与加密应用的包信息进行比较,若不相同,则识别出非加密应用,添加到所述非加密应用列表。
可选的,所述加密应用列表和非加密应用列表以不同透明度区分显示。
由上,通过直观的透明度区分加密应用列表和非加密应用列表,便于用户点击不同的应用。
可选的,所述步骤B之后还包括步骤:当依据所选应用的包信息中的加密属性判断所选应用为未加密时,
加密所选应用,使加密后应用从桌面应用程序列表中消失。
可选的,所述步骤B之后还包括步骤:当依据所选应用的包信息中的加密属性判断所选应用为已加密时,
解密所选应用,使解密后应用重新显示于桌面应用程序列表。
可选的,步骤D还包括:启动后台服务线程,轮询到系统返回桌面应用程序列表,或监听到退出已加密应用时,将所述已加密应用从后台关闭。
由上,避免通过后台程序列表查看到已加密应用,最大限度的保证了Android系统用户的私密性。
附图说明
图1为现有技术中安全软件的原理流程图;
图2为基于Android系统的应用的加密启动方法的流程图。
具体实施方式
本发明所提供的基于Android系统的应用的加密启动方法,对Android系统中的应用进行加密,加密后应用将从桌面应用程序列表中消失,用户只能从特定文件夹查看或运行加密应用。同时,无需要长时间运行服务线程轮询检查前台任务,使得本发明在降低耗电的基础上,可以很好的满足用户对应用加密的需求,最大限度的保证了Android系统用户的私密性。
如图2所示为本发明的流程图,具体的,包括步骤:
S10:输入正确密码启动一特定文件夹。
本实施例中,通过特定文件夹查看或运行加密应用,通过输入正确密码启动所述特定文件夹,从而执行应用加密、解密或运行等操作。
S20:获取Android系统的超级管理员帐户(Root)权限。
获取Android系统的Root权限执行如下命令:
Runtime.getRuntime().exec("su")
S30:显示包含所有应用的列表。
应用列表包括非加密应用列表和已加密应用列表,其中,针对已加密应用:通过保存的包(package)信息中的加密属性查找在先加密应用。相关的执行命令如下:
ContentResolver cr=getContentResolver();//用于获取加密应用的存储接口;
Cursor cursor=cr.query(…);//查询并获取已加密的应用,添加到加密应用数组。
针对非加密应用,使用Android提供的系统Package管理接口获取所有显示在桌面应用程序的应用列表,与加密应用的Package信息进行比较,筛选出非加密应用,相关的执行命令如下:
PackageManager pm=context.getPackageManager();//与android系统中Package管理接口通信,获取包管理接口;
Intent intent=new Intent(Intent.ACTION_MAIN,,null);//定义intent变量;
intent.addCategory(Intent.CATEGORY_LAUNCHER);//调用Package管理接口,获取所有可以显示在桌面应用的Activity,以unLockedApp数组保存上述Activity的Package信息;
List<ResolveInfo>unLockedApp=pm.queryIntentActivities(intent,0);//query ResolveInfo;
List<ResolveInfo>finalUnLockedApp=new ArrayList<ResolveInfo>();
boolean add=false;//比较上述两组语句所获取的package信息,若不相同,则识别出非加密应用;
for(ResolveInfo ri:unLockedApp)//通过循环比较,查询出系统中所有Launcher类型的Activity;
进一步的,所述非加密应用和已加密应用以不同透明度进行显示。
S40:判断操作属性。
操作包括启动在先加密的应用、解密在先加密的应用和加密其他应用。判断依据为:若用户所点击的应用属于已加密的应用,表示该操作属性为启动或者解密,则弹出对话框以提示用户选择启动已加密的应用或解密已加密的应用,若用户选择启动已加密的应用,则进入步骤S60;若用户选择解密已加密的应用,则进入步骤S60’(未图示)。反之,若用户所点击的应用为非加密应用,则该操作属性为加密,进入步骤S50。另外,具体操作中还包括启动非加密应用,由于启动非加密应用无需进入所述文件夹,且并非本发明保护范围,故不再赘述。
S50:加密所选择的应用。
将用户所选择的应用中包含category声明为“android.intent.category.LAUNCHER”的Activity禁用。禁用该Activity后,用户所加密的应用即从桌面应用程序列表中消失。存储该加密应用的package信息。其中,声明为“android.intent.category.LAUNCHER”表示决定应用是否显示在桌面应用程序列表里。具体的指令如下:
for(ResolveInfo ri:lockedApp){
pm disable ri.PACKAGE_OR_COMPONENT//加密应用,lockedApp中保存了所有已经加密的应用数组。
}
至此,对于非加密应用的加密过程结束。
S60:将所加密的全部应用解密,运行所启动的应用。
首先,启动某个已加密应用前,需解密所有在先已经加密的应用,被解密的应用其实质已可以在桌面应用程序列表显示。由于前台在运行某个已加密应应用,故用户实际上仅可以看到运行应用的画面而无法看到已经显示在桌面应用程序列表中的应用。上述解密过程采用以下指令:
for(ResolveInfo ri:LockedApp)//查询enable所有已经加密的应用;
{
pm enable ri.PACKAGE_OR_COMPONENT//解密enable特定的应用组件;
}
需要说明的是,解密所有在先加密应用主要是考虑到加密应用通过Activity继续调用其他的加密应用组件的情形。如果不解密,可能导致调用失败。
S60’(未图示):将所加密的应用解密。
解密过程与步骤S60基本相同,但不包括启动的步骤,不再赘述。
至此,对于加密应用的解密过程结束。
S70:启用后台服务线程,监听用户操作。
由于Android系统设计的缘故,应用无法监听执行主屏幕(HOME键)事件,为了判断在进行步骤S60的过程中,用户按下HOME键返回桌面应用程序列表,需要轮询前台任务(Task)对应的package信息,如果前台Task的package信息为桌面应用程序,进入步骤S80。
需要说明的是,本实施例与背景技术所涉及的技术方案均开启了后台服务线程进行轮询,但二者有如下的不同:
一、运行时机不同:本实施例只有在真正使用已加密应用时才会开启后台服务线程进行轮询;
二、运行周期不同:背景技术中的技术方案只要设置了加密应用,就必须开启后台服务线程并一直运行;而本实施例只需要在使用加密应用期间运行,一旦退出加密应用即停止轮询。
另外,当发生执行返回(BACK键)事件退出应用时,可直接监听到BACK键事件,同样进入步骤S80。
S80:将步骤S60中所解密并显示的应用进行加密并隐藏处理。
本步骤所采用的指令与步骤S50相同,不再赘述。
进一步的,当监听到HOME键事件返回桌面应用程序列表或BACK键事件退出已加密的应用后,还同时将处于后台运行的已加密应用关闭。关闭后台运行应用的指令如下:
ActivityManager am=(ActivityManager)context.getSystemService(Context.ACTIVITY_SERVICE);//获取Activity管理接口
am.killBackgroundProcesses(packageName);//终止包名为packageName的应用
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明。总之,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种基于Android系统的应用的加密启动方法,其特征在于,包括步骤:
A、验证正确密码,进入一特定文件夹,获取Android系统的超级管理员帐户权限;
B、显示包含所有应用的列表,确定在所述应用列表中被选中的某一应用;
C、依据被选应用包信息中的加密属性判断被选应用为已加密时,
解密所述应用列表中所有已加密应用,所解密的应用显示于桌面应用程序列表;
启动运行所述被选的及相关被解密的应用;
D、启动后台服务线程,轮询到系统返回桌面应用程序列表,或监听到退出已加密应用时,加密所述被解密的应用,终止后台服务线程,并使所加密的应用从桌面应用程序列表中消失。
2.根据权利要求1所述的方法,其特征在于,步骤B中,所述应用列表包括已加密应用的列表和非加密应用的列表。
3.根据权利要求2所述的方法,其特征在于,所述已加密应用列表的显示步骤包括:
获取加密应用的存储接口;
通过查询所存储的加密应用包信息中的加密属性,将所述已加密应用添加到所述已加密应用列表。
4.根据权利要求2所述的方法,其特征在于,所述非加密应用列表的显示包括步骤:
获取可以显示在桌面应用程序列表的应用包信息;
与加密应用的包信息进行比较,若不相同,则识别出非加密应用,添加到所述非加密应用列表。
5.根据权利要求2所述的方法,其特征在于,所述加密应用列表和非加密应用列表以不同透明度区分显示。
6.根据权利要求2所述的方法,其特征在于,所述步骤B之后还包括步骤:依据所选应用的包信息中的加密属性判断所选应用为未加密时,
加密所选应用,使加密后应用从桌面应用程序列表中消失。
7.根据权利要求2所述的方法,其特征在于,所述步骤B之后还包括步骤:
依据所选应用的包信息中的加密属性判断所选应用为未加密时,解密所选应用,使解密后应用重新显示于桌面应用程序列表。
8.根据权利要求1所述的方法,其特征在于,步骤D还包括:启动后台服务线程,轮询到系统返回桌面应用程序列表,或监听到退出已加密应用时,将所述已加密应用从后台关闭。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410444285.8A CN104239778B (zh) | 2014-09-02 | 2014-09-02 | 基于Android系统的应用的加密启动方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410444285.8A CN104239778B (zh) | 2014-09-02 | 2014-09-02 | 基于Android系统的应用的加密启动方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104239778A true CN104239778A (zh) | 2014-12-24 |
CN104239778B CN104239778B (zh) | 2018-08-03 |
Family
ID=52227824
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410444285.8A Active CN104239778B (zh) | 2014-09-02 | 2014-09-02 | 基于Android系统的应用的加密启动方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104239778B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105740670A (zh) * | 2016-01-28 | 2016-07-06 | 百度在线网络技术(北京)有限公司 | 应用加密、启动方法和装置 |
WO2016154898A1 (zh) * | 2015-03-31 | 2016-10-06 | 华为技术有限公司 | 移动终端隐私保护方法、保护装置及移动终端 |
CN109298895A (zh) * | 2017-07-24 | 2019-02-01 | 杭州盈高科技有限公司 | 移动设备上的app管理方法及装置 |
CN114741122A (zh) * | 2020-12-23 | 2022-07-12 | 成都鼎桥通信技术有限公司 | 应用启动方法、装置、设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1708160A (zh) * | 2005-05-27 | 2005-12-14 | 上海贝豪通讯电子有限公司 | 可对用户信息进行加密的移动通讯终端及其方法 |
CN1968539A (zh) * | 2006-10-20 | 2007-05-23 | 华为技术有限公司 | 一种加密信息处理方法及终端 |
CN101009878A (zh) * | 2006-01-25 | 2007-08-01 | 英业达股份有限公司 | 数据保密系统及方法 |
KR20120085015A (ko) * | 2011-01-21 | 2012-07-31 | 에스케이플래닛 주식회사 | 단말 장치의 잠금 관리 장치 및 방법 |
CN102880837A (zh) * | 2012-08-24 | 2013-01-16 | 腾讯科技(深圳)有限公司 | 提高移动终端安全性的方法和移动终端 |
CN103377332A (zh) * | 2012-04-26 | 2013-10-30 | 腾讯科技(深圳)有限公司 | 访问应用程序的方法及装置 |
-
2014
- 2014-09-02 CN CN201410444285.8A patent/CN104239778B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1708160A (zh) * | 2005-05-27 | 2005-12-14 | 上海贝豪通讯电子有限公司 | 可对用户信息进行加密的移动通讯终端及其方法 |
CN101009878A (zh) * | 2006-01-25 | 2007-08-01 | 英业达股份有限公司 | 数据保密系统及方法 |
CN1968539A (zh) * | 2006-10-20 | 2007-05-23 | 华为技术有限公司 | 一种加密信息处理方法及终端 |
KR20120085015A (ko) * | 2011-01-21 | 2012-07-31 | 에스케이플래닛 주식회사 | 단말 장치의 잠금 관리 장치 및 방법 |
CN103377332A (zh) * | 2012-04-26 | 2013-10-30 | 腾讯科技(深圳)有限公司 | 访问应用程序的方法及装置 |
CN102880837A (zh) * | 2012-08-24 | 2013-01-16 | 腾讯科技(深圳)有限公司 | 提高移动终端安全性的方法和移动终端 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016154898A1 (zh) * | 2015-03-31 | 2016-10-06 | 华为技术有限公司 | 移动终端隐私保护方法、保护装置及移动终端 |
CN106233294A (zh) * | 2015-03-31 | 2016-12-14 | 华为技术有限公司 | 移动终端隐私保护方法、保护装置及移动终端 |
US10382204B2 (en) | 2015-03-31 | 2019-08-13 | Huawei Technologies Co., Ltd. | Mobile terminal privacy protection method and protection apparatus, and mobile terminal |
CN112597469A (zh) * | 2015-03-31 | 2021-04-02 | 华为技术有限公司 | 移动终端隐私保护方法、保护装置及移动终端 |
US11394555B2 (en) | 2015-03-31 | 2022-07-19 | Huawei Technologies Co., Ltd. | Mobile terminal privacy protection method and protection apparatus, and mobile terminal |
US11882221B2 (en) | 2015-03-31 | 2024-01-23 | Huawei Technologies Co., Ltd. | Mobile terminal privacy protection method and protection apparatus, and mobile terminal |
CN105740670A (zh) * | 2016-01-28 | 2016-07-06 | 百度在线网络技术(北京)有限公司 | 应用加密、启动方法和装置 |
CN105740670B (zh) * | 2016-01-28 | 2019-01-22 | 百度在线网络技术(北京)有限公司 | 应用加密、启动方法和装置 |
CN109298895A (zh) * | 2017-07-24 | 2019-02-01 | 杭州盈高科技有限公司 | 移动设备上的app管理方法及装置 |
CN109298895B (zh) * | 2017-07-24 | 2021-04-23 | 杭州盈高科技有限公司 | 移动设备上的app管理方法及装置 |
CN114741122A (zh) * | 2020-12-23 | 2022-07-12 | 成都鼎桥通信技术有限公司 | 应用启动方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN104239778B (zh) | 2018-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10922244B1 (en) | Secure storage of data through a multifaceted security scheme | |
USRE49194E1 (en) | Method and apparatus for controlling access to encrypted data | |
CN110278078B (zh) | 一种数据处理方法、装置及系统 | |
US20210133334A1 (en) | Display method, apparatus, and storage medium | |
CN106411830B (zh) | 防止访问数据被篡改的方法及移动终端 | |
US10922117B2 (en) | VTPM-based virtual machine security protection method and system | |
US10250387B1 (en) | Quantum computer resistant algorithm cryptographic key generation, storage, and transfer device | |
CN107733639B (zh) | 密钥管理方法、装置及可读存储介质 | |
US10511578B2 (en) | Technologies for secure content display with panel self-refresh | |
CN104239778A (zh) | 基于Android系统的应用的加密启动方法 | |
US11849026B2 (en) | Database integration with an external key management system | |
CN111274611A (zh) | 数据脱敏方法、装置及计算机可读存储介质 | |
US20210117533A1 (en) | Private password constraint validation | |
CN114139204A (zh) | 一种匿踪查询方法、装置及介质 | |
US20130283387A1 (en) | Method for data security and electronic device having data security function | |
GB2520061A (en) | Data accessibility control | |
WO2017067513A1 (zh) | 数据处理方法及存储网关 | |
CN114372242A (zh) | 密文数据的处理方法、权限管理服务器和解密服务器 | |
CN104955043A (zh) | 一种智能终端安全防护系统 | |
CN102930222B (zh) | 反键盘记录方法及系统 | |
US9058503B2 (en) | Systems and methods for secure storage on a mobile device | |
CN111125734B (zh) | 一种数据处理方法及系统 | |
CN104484611A (zh) | 一种Android系统的分区挂载管控方法及装置 | |
CN116028958B (zh) | 一种密钥加解密方法、装置、安全机以及介质 | |
CN115795424A (zh) | 端口控制方法、系统、计算机设备和计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
CP02 | Change in the address of a patent holder | ||
CP02 | Change in the address of a patent holder |
Address after: Room 101-105, floor 1, Chuangda building, No. 9, Qinghua East Road, Haidian District, Beijing 100083 (Dongsheng District) Patentee after: Thunder Software Technology Co., Ltd. Address before: 100191 Beijing Haidian District Lung Cheung Road No. 1 Tai Xiang 4 storey commercial building Patentee before: Thunder Software Technology Co., Ltd. |