CN109543402A - 一种基于Android应用的复制粘贴保护方法 - Google Patents
一种基于Android应用的复制粘贴保护方法 Download PDFInfo
- Publication number
- CN109543402A CN109543402A CN201811310909.1A CN201811310909A CN109543402A CN 109543402 A CN109543402 A CN 109543402A CN 201811310909 A CN201811310909 A CN 201811310909A CN 109543402 A CN109543402 A CN 109543402A
- Authority
- CN
- China
- Prior art keywords
- data
- application
- content
- duplication
- pasted
- 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.)
- Pending
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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/556—Detecting local intrusion or implementing counter-measures involving covert channels, i.e. data leakage between processes
-
- 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/60—Protecting data
- G06F21/606—Protecting data by securing the transmission between two devices or processes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/543—User-generated data transfer, e.g. clipboards, dynamic data exchange [DDE], object linking and embedding [OLE]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Telephone Function (AREA)
Abstract
本发明公开了一种基于Android应用的复制粘贴保护方法,包括以下步骤:步骤1、拦截、保存:分别拦截被保护应用的复制动作、粘贴动作,并分别获取复制内容、粘贴内容,将复制内容、粘贴内容均保存到独立的保存区域中;步骤2、比较输出:根据比较结果决定是否向被保护的应用返回数据。本发明采用上述方法,能够使应用的数据得到保护而不至于泄露到不安全区域,满足用户正常的复制粘贴需求,提高用户的工作效率,同时还能兼容市场上绝大多数手机,并且解决三星手机自定义方法的兼容性难题,提高应用数据使用的安全性。
Description
技术领域
本发明属于应用数据保护领域,具体涉及一种基于Android应用的复制粘贴保护方法。
背景技术
随着智能手机的普及,Android系统的手机在市场上有很大的占有率,人们逐渐习惯把工作从PC端迁移到移动端,便捷的同时,对于公司信息安全考虑,不免担心员工将办公软件中机密信息复制到个人应用中发送出去,从而造成很大的信息泄露问题和经济损失。
为了充分提高移动设备的安全性,进而提高工作效率。对于数据泄露的安全保护方案越来越多,目前主要有以下几种相关的解决方案,但是都存在一些缺陷。
1)普通的做法是,通过Service监听Android原生系统提供的ClipboardManager.OnPrimaryClipChangedListeneron中的PrimaryClipChanged()方法,每当监测到ClipData对象有内容时,就自动赋值为null,从而禁止应用内外的互相复制粘贴,但是这种方案的严重缺陷就是用户不能够进行复制粘贴,虽然数据不能被泄露,但是给用户带来了极大的不便。
2)三星提供KNOX套件具有供复制粘贴的控制功能。从系统层去管理手机的复制粘贴功能,但是三星KNOX套件只允许自己的员工在智能终端上安装移动安全应用,这就造成了KNOX方案只能为一部分企业员工服务,另外要求一家企业的所有员工都使用三星的设备也是不太现实的。
在Android平台上,由于本身的安全缺陷,国内外已有的方案无都没有很好地解决可能存在的企业信息泄露问题。同时,一些方案并没有很好地考虑到移动办公存在的安全隐患。另外,部分方案不能高效地管理这些信息,从而影响用户使用体验,降低工作效率低。
发明内容
为了克服现有技术的不足,本发明提出一种基于Android应用的复制粘贴保护方法,解决现有的保护方法并不能很好地解决企业信息泄露问题,且未考虑到移动办公存在的安全隐患以及用户体验感较差、工作效率偏低的问题。
本发明为实现上述目的,采用以下技术方案实现:
一种基于Android应用的复制粘贴保护方法,包括以下步骤:
步骤1、拦截、保存:分别拦截被保护应用的复制动作、粘贴动作,并分别获取复制内容、粘贴内容,将复制内容、粘贴内容均保存到独立的保存区域中;
步骤2、比较输出:根据比较结果决定是否向被保护的应用返回数据。
进一步地,作为优选方案,所述步骤1的具体过程为:
步骤1-1:初始化相关拦截函数,并等待用户触发复制粘贴动作;
步骤1-2:当用户对应用A触发复制动作时,进行步骤3;当用户对应用B触发粘贴动作时,进行步骤4;
步骤1-3:拦截复制动作并获取复制内容,一方面,将获取的复制内容发送到保存区域,并保存到缓存文件M中;另一方面,获取当前系统已经保存的复制数据,并保存到缓存文件N中;
步骤1-4:拦截粘贴动作并获取粘贴内容,将粘贴内容发送到保存区域。
进一步地,作为优选方案,所述步骤1-1中,调用拦截的函数包括ClipboardManager类的setPrimaryClip(ClipData clip)和ClipData getPrimaryClip()。
进一步地,作为优选方案,所述步骤2的具体过程为:
步骤2-1:将保存区域的粘贴内容与缓存文件N中存储的复制数据进行比较,若相同,则进行步骤2-2,否则进行步骤2-3;
步骤2-2:将缓存文件M中的数据返回给应用B;
步骤2-3:不返回缓存文件M中的数据给应用B。
进一步地,作为优选方案,所述步骤1-2中,应用A和应用B为同一应用或者不同应用。
进一步地,作为优选方案,所述步骤2中,当应用收到保存区域返回的数据时,若数据不为空,则替换系统的数据返回给应用;若数据为空,则不替换系统数据。
本发明与现有技术相比,具有以下优点及有益效果:
(1)本发明通过构建一个虚拟域来控制应用的复制粘贴动作,既能从非保护应用复制内容到被保护应用中进行粘贴,又能在保护应用之间进行相互复制粘贴,且被保护应用内部复制粘贴不受影响,另外还能防止从保护应用中复制内容到非保护应用中进行粘贴,从而使应用的数据得到保护而不至于泄露到不安全区域,满足用户正常的复制粘贴需求,提高用户的工作效率。
(2)本发明可采用C/S模式集中管理多个被保护应用,也可以单个被保护应用独立运行;另外无须Root手机,兼容市场上绝大多数手机,并且解决了三星手机自定义方法的兼容性难题,提高了应用数据使用的安全性。
附图说明
图1为本发明基于复制粘贴保护的整体架构示意图;
图2为本发明的实现方法流程图;
图3为本发明的多应用模式下单个应用内的复制粘贴流程图;
图4为本发明的多应用模式下两个应用之间的复制粘贴流程图。
具体实施方式
下面结合实施例对本发明作进一步地详细说明,但本发明的实施方式不限于此。
实施例:
如图1、图2所示,本实施例所述的一种基于Android应用的复制粘贴保护方法,包括以下步骤:
步骤1、拦截、保存:分别拦截被保护应用的复制动作、粘贴动作,并分别获取复制内容、粘贴内容,将复制内容、粘贴内容均保存到独立的保存区域中;
步骤2、比较输出:根据比较结果决定是否向被保护的应用返回数据。
具体地,步骤1的具体过程为:
步骤1-1:初始化相关拦截函数,并等待用户触发复制粘贴动作;
步骤1-2:当用户对应用A触发复制动作时,进行步骤3;当用户对应用B触发粘贴动作时,进行步骤4;
步骤1-3:拦截复制动作并获取复制内容,一方面,将获取的复制内容发送到保存区域,并保存到缓存文件M中;另一方面,获取当前系统已经保存的复制数据,并保存到缓存文件N中;
步骤2的具体过程为:
步骤2-1:将保存区域的粘贴内容与缓存文件N中存储的复制数据进行比较,若相同,则进行步骤2-2,否则进行步骤2-3;
步骤2-2:将缓存文件M中的数据返回给应用B;
步骤2-3:不返回缓存文件M中的数据给应用B。
步骤1-4:拦截粘贴动作并获取粘贴内容,将粘贴内容发送到保存区域。
本实施例中,所述步骤1-1中,Android复制粘贴功能是依靠提供的Api来完成,ClipboardManager类的setPrimaryClip(ClipData clip)方法来实现复制的功能,ClipboardManager类的ClipData getPrimaryClip()方法实现粘贴功能,其中ClipData类为复制粘贴内容的封装类。因此,我们通过对函数的调用拦截,可以拦截到Android的复制粘贴时的binder通信动作,并获取方法传输的数据。
下面对上述方法进行具体说明:
(1)在程序初始化的时候,我们通过Hook技术对ClipboardManager的setPrimaryClip,getPrimaryClip方法以及三星手机的自定义方法进行拦截。
(2)当用户触发了复制动作,通过方法拦截可以获得复制得到数据Clipdata,然后我们将这个数据保存到缓存文件M中,并获取此时已经存在于系统的复制数据并保存到缓存文件N中。
(3)当用户发生粘贴数据时,通过方法拦截可以获得粘贴时从系统获得最新的复制数据Clipdata,然后和之前缓存文件N的系统复制文件相比较,如果两个值相同,则说明系统在应用的两个动作(复制、粘贴)之间没有发生新的复制内容,所以我们保存的缓存文件M中数据是最新的复制数据;如果两个值不同,则说明应用的两个动作(复制、粘贴)之间发生了新的复制内容,就将被拦截粘贴数据返回给应用。
在本实施例的步骤1-2中,应用A和应用B可以是同一应用,也可以是不同的应用,也就是说,本发明可实现应用内的复制粘贴保护,也可实现不同应用之间的复制粘贴保护,下面分别对这两种情况进行详细说明。
如图3所示为多应用模式下,复制、粘贴过程均发生在同一个应用内的情况,复制粘贴的具体动作如下:
动作①:当应用A发生复制动作时,setPrimaryClip(ClipData clip)方法会被拦截,可以获取到此时方法传入的对象clip,同时这个动作拦截,不会将数据传递给系统,所以系统中不会存在应用A复制的内容;
动作②:将获取到的clip对象发送到保存区域,保存区域会保存该对象数据到缓存文件M中;
动作③:在保存应用传来数据同时,我们通过Android ClipBoardManager服务的getPrimaryClip去获取当前系统已经保存的Clipdata数据,保存到缓存文件N中;
动作④:当应用A发生粘贴动作时,getPrimaryClip()方法会被拦截,且我们可以拿到从系统中返回clip对象,也就是此时系统中最新复制的内容;
动作⑤⑥⑦:保存区域收到ClipData对象,会与之前N文件保存的对象相比较,如果相同,则说明从应用A的复制到粘贴动作之间,系统并没有发生新的复制动作,则我们的复制保存的内容是最新的,则将我们保存文件M中内容返回给应用A;如果不相同,则说明从应用A的复制到粘贴动作之间,系统产生了新的复制内容,则我们已经不是最新的复制内容,不返回新的数据给应用A。
动作⑧:应用A在收到保存区域返回的数据时,如果不为空,则替换系统的数据返回给应用B;如果为空,则不替换系统数据,此时,应用B粘贴出最新复制的内容。
如图4所示为多应用模式下,复制、粘贴过程均发生在不同应用之间的情况,复制粘贴的具体动作如下:
动作①:当应用A发生复制动作时,setPrimaryClip(ClipData clip)方法会被拦截,可以获取到此时方法传入的对象clip,同时这个动作拦截,不会将数据传递给系统,所以系统中不会存在应用A复制的内容;
动作②:将获取到的clip对象发送到保存区域,保存区域会保存该对象数据到缓存文件M中;
动作③:在保存应用传来数据同时,我们通过Android ClipBoardManager服务的getPrimaryClip去获取当前系统已经保存的Clipdata数据,保存到缓存文件N中;
动作④:当应用B发生粘贴动作时,getPrimaryClip()方法会被拦截,且我们可以拿到从系统中返回clip对象,也就是此时系统中最新复制的内容;
动作⑤⑥⑦:保存区域收到ClipData对象,会与之前缓存文件N保存的对象相比较,如果相同,则说明从应用A的复制到应用B的粘贴动作之间,系统并没有发生新的复制动作,则我们的复制保存的内容是最新的,则将我们保存的缓存文件M中内容返回给应用B;如果不相同,则说明从应用A的复制到应用B的粘贴动作之间,系统产生了新的复制内容,则我们已经不是最新的复制内容,不返回新的数据给应用A。
动作⑧:应用B在收到保存区域返回的数据时,如果不为空,则替换系统的数据返回给应用B;如果为空,则不替换系统数据,此时,应用B粘贴出最新复制的内容。
本发明通过采用上述方法,构建一个虚拟域来控制应用的复制粘贴动作,既能从非保护应用复制内容到被保护应用中进行粘贴,又能在保护应用之间进行相互复制粘贴,且被保护应用内部复制粘贴不受影响,另外还能防止从保护应用中复制内容到非保护应用中进行粘贴,从而使应用的数据得到保护而不至于泄露到不安全区域,满足用户正常的复制粘贴需求,提高用户的工作效率。
本发明可采用C/S模式集中管理多个被保护应用,也可以单个被保护应用独立运行;另外无须Root手机,兼容市场上绝大多数手机,并且解决了三星手机自定义方法的兼容性难题,提高了应用数据使用的安全性。
以上所述,仅是本发明的较佳实施例,并非对本发明做任何形式上的限制,凡是依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化,均落入本发明的保护范围之内。
Claims (6)
1.一种基于Android应用的复制粘贴保护方法,其特征在于,包括以下步骤:
步骤1、拦截、保存:分别拦截被保护应用的复制动作、粘贴动作,并分别获取复制内容、粘贴内容,将复制内容、粘贴内容均保存到独立的保存区域中;
步骤2、比较输出:根据比较结果决定是否向被保护的应用返回数据。
2.根据权利要求1所述一种基于Android应用的复制粘贴保护方法,其特征在于,所述步骤1的具体过程为:
步骤1-1:初始化相关拦截函数,并等待用户触发复制粘贴动作;
步骤1-2:当用户对应用A触发复制动作时,进行步骤3;当用户对应用B触发粘贴动作时,进行步骤4;
步骤1-3:拦截复制动作并获取复制内容,一方面,将获取的复制内容发送到保存区域,并保存到缓存文件M中;另一方面,获取当前系统已经保存的复制数据,并保存到缓存文件N中;
步骤1-4:拦截粘贴动作并获取粘贴内容,将粘贴内容发送到保存区域。
3.根据权利要求2所述的一种基于Android应用的复制粘贴保护方法,其特征在于,所述步骤1-1中,调用拦截的函数包括ClipboardManager类的setPrimaryClip(ClipDataclip)和ClipData getPrimaryClip()。
4.根据权利要求2所述的一种基于Android应用的复制粘贴保护方法,其特征在于,所述步骤2的具体过程为:
步骤2-1:将保存区域的粘贴内容与缓存文件N中存储的复制数据进行比较,若相同,则进行步骤2-2,否则进行步骤2-3;
步骤2-2:将缓存文件M中的数据返回给应用B;
步骤2-3:不返回缓存文件M中的数据给应用B。
5.根据权利要求2-4任一项所述的一种基于Android应用的复制粘贴保护方法,其特征在于,所述步骤1-2中,应用A和应用B为同一应用或者不同应用。
6.根据权利要求1所述的一种基于Android应用的复制粘贴保护方法,其特征在于,所述步骤2中,当应用收到保存区域返回的数据时,若数据不为空,则替换系统的数据返回给应用;若数据为空,则不替换系统数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811310909.1A CN109543402A (zh) | 2018-11-06 | 2018-11-06 | 一种基于Android应用的复制粘贴保护方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811310909.1A CN109543402A (zh) | 2018-11-06 | 2018-11-06 | 一种基于Android应用的复制粘贴保护方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109543402A true CN109543402A (zh) | 2019-03-29 |
Family
ID=65846209
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811310909.1A Pending CN109543402A (zh) | 2018-11-06 | 2018-11-06 | 一种基于Android应用的复制粘贴保护方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109543402A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111291379A (zh) * | 2019-12-30 | 2020-06-16 | 上海上讯信息技术股份有限公司 | 基于Android的车载系统应用检测方法、装置及电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1924814A (zh) * | 2005-08-30 | 2007-03-07 | 国际商业机器公司 | 应用程序的控制方法及装置 |
CN105956464A (zh) * | 2016-04-25 | 2016-09-21 | 北京珊瑚灵御科技有限公司 | 一种基于Android平台的剪切板控制系统和方法 |
US20160306964A1 (en) * | 2015-04-14 | 2016-10-20 | Avecto Limited | Computer device and method for isolating untrusted content on a clipboard |
CN107220555A (zh) * | 2016-03-22 | 2017-09-29 | 中兴通讯股份有限公司 | 一种剪切板访问控制方法及系统 |
-
2018
- 2018-11-06 CN CN201811310909.1A patent/CN109543402A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1924814A (zh) * | 2005-08-30 | 2007-03-07 | 国际商业机器公司 | 应用程序的控制方法及装置 |
US20160306964A1 (en) * | 2015-04-14 | 2016-10-20 | Avecto Limited | Computer device and method for isolating untrusted content on a clipboard |
CN107220555A (zh) * | 2016-03-22 | 2017-09-29 | 中兴通讯股份有限公司 | 一种剪切板访问控制方法及系统 |
CN105956464A (zh) * | 2016-04-25 | 2016-09-21 | 北京珊瑚灵御科技有限公司 | 一种基于Android平台的剪切板控制系统和方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111291379A (zh) * | 2019-12-30 | 2020-06-16 | 上海上讯信息技术股份有限公司 | 基于Android的车载系统应用检测方法、装置及电子设备 |
CN111291379B (zh) * | 2019-12-30 | 2023-09-26 | 上海上讯信息技术股份有限公司 | 基于Android的车载系统应用检测方法、装置及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103413089B (zh) | 移动终端及其实现双系统的方法 | |
CN104376062B (zh) | 一种异构数据库平台数据的同步方法 | |
CN105677250B (zh) | 对象存储系统中的对象数据的更新方法和更新装置 | |
KR102045865B1 (ko) | 모바일 단말기 및 그 자원 관리 방법 | |
CN102521712B (zh) | 一种流程实例数据处理方法和装置 | |
JP6059361B2 (ja) | 商品受取情報処理方法、装置、プログラム及び記録媒体 | |
CN109104412A (zh) | 账户权限管理方法、管理系统及计算机可读存储介质 | |
CN106357432A (zh) | 基于web服务器的混合式虚拟主机管理平台 | |
CN105550854A (zh) | 一种云环境管理平台的访问控制装置 | |
CN105573672B (zh) | 一种基于nfs的虚拟化存储方法和系统 | |
CN104407829A (zh) | 一种图像镜像显示方法及其装置 | |
CN103353860A (zh) | 内存管理方法及装置 | |
CN107688512A (zh) | 一种优化虚拟机数据备份方法和系统 | |
CN109543402A (zh) | 一种基于Android应用的复制粘贴保护方法 | |
CN106685741A (zh) | 一种云主机网络接口的动态管理方法 | |
CN110177144B (zh) | 一种基于私有云一键复制应用环境的方法 | |
CN107908332A (zh) | 一种应用内文本复制方法、复制装置、存储介质和电子设备 | |
CN107332966A (zh) | 一种通讯录信息的备份方法 | |
CN103944805A (zh) | 一种基于微信平台的信息更新方法和系统 | |
CN107135189A (zh) | 一种报文发送方法及物理机 | |
CN104902031A (zh) | 基于虚拟桌面的企业智慧云系统 | |
CN105577731A (zh) | 一种基于云平台的智能手机安全办公系统 | |
CN106446169A (zh) | 一种终端设备中用户信息的管理方法和装置 | |
CN104270496B (zh) | 显示主叫方信息的方法及装置 | |
CN107368326A (zh) | 进程控制方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190329 |
|
RJ01 | Rejection of invention patent application after publication |