应用程序中敏感信息的保护方法及装置与流程

文档序号:14774439发布日期:2018-06-23 02:41阅读:412来源:国知局
应用程序中敏感信息的保护方法及装置与流程

本说明书一个或多个实施例涉及信息技术领域,尤其涉及一种应用程序中敏感信息的保护方法及装置。



背景技术:

随着信息技术的不断发展,给用户的日常生活、学习等都带来了极大的便捷,也使得用户使用的电子设备上记录有越来越多的敏感信息。但是,电子设备上的很多应用程序并没有很好的敏感信息保护措施,导致用户的敏感信息存在泄漏风险。



技术实现要素:

有鉴于此,本说明书一个或多个实施例提供一种应用程序中敏感信息的保护方法及装置。

为实现上述目的,本说明书一个或多个实施例提供技术方案如下:

根据本说明书一个或多个实施例的第一方面,提出了一种应用程序中敏感信息的保护方法,包括:

当应用程序在运行过程中发生页面更新时,获取更新后页面包含的页面控件;

对所述页面控件进行敏感性分析;

当所述页面控件包含敏感信息时,实施相应的敏感信息保护操作。

根据本说明书一个或多个实施例的第二方面,提出了一种应用程序中敏感信息的保护装置,包括:

获取单元,当应用程序在运行过程中发生页面更新时,获取更新后页面包含的页面控件;

分析单元,对所述页面控件进行敏感性分析;

保护单元,当所述页面控件包含敏感信息时,实施相应的敏感信息保护操作。

根据本说明书一个或多个实施例的第三方面,提出了一种应用程序中敏感信息的保护装置,包括:

处理器;

用于存储处理器可执行指令的存储器;

其中,所述处理器被配置为实现如上述实施例中任一所述的方法。

附图说明

图1-2是一示例性实施例提供的一种针对应用程序中的敏感信息实施保护的示意图。

图3是一示例性实施例提供的一种应用程序中敏感信息的保护方法的流程图。

图4是一示例性实施例提供的一种敏感信息保护组件的工作原理的示意图。

图5是一示例性实施例提供的一种应用程序的展示页面的示意图。

图6是一示例性实施例提供的一种设备的结构示意图。

图7是一示例性实施例提供的一种应用程序中敏感信息的保护装置的框图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。

需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。

图1-2是一示例性实施例提供的一种针对应用程序中的敏感信息实施保护的示意图。如图1-2所示,敏感信息保护组件用于实现基于本说明书的“应用程序中敏感信息的保护方法”。

在一实施例中,如图1所示,敏感信息保护组件可以内置于电子设备的操作系统中,比如当该电子设备上安装并运行应用程序1~3时,可以通过该敏感信息保护组件分别对应用程序1~3中的敏感信息进行识别和保护,而无需对应用程序1~3进行更改或适配。当然,在一些情况下,也可能需要应用程序1~3进行适应性的调整,以便于敏感信息保护组件能够从操作系统层面对该应用程序1~3中的敏感信息进行识别和保护,本说明书并不对此进行限制。

在一实施例中,敏感信息保护组件可以位于应用程序中,比如图2中以应用程序1为例,该应用程序1可以内置有敏感信息保护组件。一种情况下,敏感信息保护组件可以由应用程序1的开发者一并开发和内部。另一种情况下,应用程序1的开发者只需要关注于原本的应用功能即可,而由其他开发者开发敏感信息保护组件,并将该敏感信息保护组件以SDK(Software Development Kit,软件开发工具包)的形式内置于该应用程序1中。在其他情况下,敏感信息保护组件还可以通过其他方式内置于应用程序中,本说明书并不对此进行限制。

图3是一示例性实施例提供的一种应用程序中敏感信息的保护方法的流程图。如图3所示,该方法可以包括以下步骤:

步骤302,当应用程序在运行过程中发生页面更新时,获取更新后页面包含的页面控件。

在一实施例中,通过监测应用程序的页面更新情况,并在页面更新后获取更新后页面包含的页面控件,那么不论是在诸如布局文件中预定义的页面控件、还是动态生成的页面控件,也可以及时、准确地获取,以确保识别出应用程序内所有包含的敏感信息的页面控件,避免对用户的敏感信息造成泄露、保障用户的信息安全。

在一实施例中,可以确定所述应用程序的展示页面是否检测到用户操作,并当检测到用户操作时,判定为所述应用程序发生页面更新。在其他实施例中,还可以通过其他方式确定是否发生页面更新,本说明书并不对此进行限制。

在一实施例中,可以通过操作系统提供的API(Application Programming Interface,应用程序编程接口)接口,获取所述更新后页面包含的页面控件。在另一实施例中,可以通过对所述更新后页面进行图像采集与识别,获取所述更新后页面包含的页面控件。在其他实施例中,还可以通过其他方式获取更新后页面包含的页面控件,本说明书并不对此进行限制。

步骤304,对所述页面控件进行敏感性分析。

在一实施例中,当所述页面控件为输入框类型时,可以获取所述页面控件内展示的输入提示信息;然后,将所述输入提示信息与预定义的敏感词库进行匹配,以根据匹配结果确定所述页面控件是否包含敏感信息。例如,在用户登录页面上,通常需要用户手动在输入框类型的页面控件中输入账号、密码等敏感信息,而为了确保用户的准确填写,往往在用于输入账号的页面控件内显示出“请输入账号”等输入提示信息、在用于输入密码的页面控件内显示出“请输入密码”等输入提示信息,因而通过将输入提示信息与敏感词库进行匹配,可以确定页面控件是否包含敏感信息。

在一实施例中,敏感词库可以包括预定义的敏感字、敏感词等,比如金额、额度、密码等,当页面控件内包含一个或多个敏感字/敏感词时,可以判定为该页面控件包含敏感信息。敏感词库中的敏感字、敏感词等可以由开发方提供,且开发方可以对该敏感词库进行更新,以确保对页面控件的准确识别;而在一些情况下,用户根据自身情况对敏感词库中的敏感字、敏感词等进行自定义,以满足其个性化的实际需求。

在一实施例中,当任一页面控件包含敏感信息,且所述更新后页面包含与所述任一页面控件相关联的其他页面控件时,可以判定所述其他页面控件包含敏感信息。换言之,对于相关联的多个页面控件,当至少一个页面控件包含敏感信息时,其他相关联的页面控件也具有较大概率包含敏感信息或与敏感信息相关,因而可以认为这些相关联的多个页面控件均包含敏感信息。

步骤306,当所述页面控件包含敏感信息时,实施相应的敏感信息保护操作。

在一实施例中,在对包含敏感信息的页面控件进行准确识别后,可以通过敏感信息保护操作对敏感信息进行保护,避免用户的敏感信息发生泄露等。例如,敏感信息保护操作可以包括遮挡或隐藏敏感信息(可以根据用户操作恢复正常显示)、降低敏感信息的展示区域的屏幕亮度、禁止对敏感信息进行复制、对操作者进行身份验证等,本说明书并不对此进行限制。实际上,相关技术中已存在多种类型的敏感信息保护操作,均可以应用于本说明书的技术方案中,本说明书并不对此进行限制。

为了便于理解,以图2所示的场景为例,即通过在应用程序1内部通过SDK形式置入基于本说明书的敏感信息保护组件,对本说明书一个或多个实施例的技术方案进行说明。例如,图4是一示例性实施例提供的一种敏感信息保护组件的工作原理的示意图;如图4所示,该工作原理可以包括以下步骤:

步骤402,检测到应用程序被开启。

步骤404,针对应用程序展示的页面,获取该页面包含的页面控件。

在一实施例中,应用程序被开启后,可能存在多种情况:当应用程序此前处于完全关闭状态,那么应用程序展示的页面可以为首页;当应用程序此前已经处于开启状态,只是临时退出或切换至其他应用程序,那么此时属于重新切回该应用程序,那么应用程序展示的页面可以为临时退出或切换前的页面。

在一实施例中,敏感信息保护组件可以通过电子设备的操作系统提供的API接口获取页面包含的页面控件。例如,当操作系统为Android系统时,通过下述的示例代码可以获取页面内的所有ViewGroup(控件组),并进而获取ViewGroup包含的页面控件:

在一实施例中,敏感信息保护组件可以通过图像识别的方式,获取页面包含的页面控件。例如,敏感信息保护组件可以对电子设备进行屏幕采集,获取页面的图像信息,并通过对该图像信息进行内容识别,从而获取该页面包含的页面控件。

步骤406A,如果检测到针对上述页面的用户操作,则判定为上述页面发生更新,因而返回步骤404。

在一实施例中,当电子设备的操作系统为Android系统时,可以通过预先在敏感信息保护组件内重写dispatchTouchEvent方法的方式,从该操作系统处获取用户对页面实施的指定类型的用户操作。例如,与重写dispatchTouchEvent方法相关的示例代码可以包括:

在上述代码中,通过在“UserStepProcess”中定义关注的操作类型,比如触摸点击、触摸滑动等,使得操作系统在检测到相应类型的用户操作后,可以向敏感信息保护组件进行告知,以使其确定用户针对页面实施了相应类型的用户操作。

步骤406B,对获取的页面控件进行敏感性分析。

在一实施例中,针对不同类型的页面控件,可能存在不同的敏感性分析方式,本说明书并不对此进行限制,只要能够确定页面控件是否包含敏感信息即可。

在一示例性的敏感性分析方式中,可以获取页面控件包含的展示内容,并将其与预定义的敏感词库进行匹配,以确定该页面控件是否包含敏感信息。以EditText控件为例:EditText控件用于在页面上形成输入框,比如登录页面中用于输入账号、密码等内容的输入框。当页面内包含EditText类型的页面控件时,可以根据该页面控件的信息,确定该页面控件是否包含hint信息,即用户尚未在输入框内实施输入前、显示于输入框内的输入提示信息;如果包含hint信息,可以将该hint信息与上述的敏感词库进行匹配,如果包含诸如“账号”、“密码”等敏感词时,可以判定为该页面控件包含敏感信息。假定电子设备的操作系统为Android系统,上述敏感性分析方式对应的示例代码片段可以包括:

在一示例性的敏感性分析方式中,可以根据多个页面控件之间的关联关系,在其中至少一个页面控件包含敏感信息的情况下,判定其他页面控件也包含敏感信息。例如,假定应用程序示出如图5所示的页面500,该页面中包括页面控件501~506等,敏感信息保护组件可以通过上述实施例中的方式识别出该页面控件501~506,然后确定这些页面控件之间的关联性。举例而言,可以根据页面控件之间的展示位置关系确定关联性;比如在图5所示的实施例中,由于页面控件501与页面控件502、页面控件503与页面控件504、页面控件505与页面控件506分别呈上下相邻关系,且相邻控件之间的间隔距离小于预设距离,因而可以判定页面控件501~502为相关联的一组页面控件,类似地可以判定页面控件503~504为相关联的一组页面控件、页面控件505~506为相关联的一组页面控件。

以页面控件501与页面控件502为例。通过获取页面控件501与页面控件502包含的展示内容,并与敏感词库进行匹配,假定匹配结果为页面控件501包含敏感词“收益”,而页面控件502的展示内容为数字、不包含敏感词,但是由于页面控件501~502为相关联的一组页面控件,因而可以判定页面控件501与页面控件502均包含敏感信息。假定电子设备的操作系统为Android系统,上述敏感性分析方式对应的示例代码片段可以包括:

可见,尤其是对于诸如页面控件502、页面控件504、页面控件506等展示内容为数字(特别是动态数字)的页面控件而言,可以通过上述实施例将这些页面控件识别为包含敏感信息,避免遗漏。

步骤408,当页面控件包含敏感信息时,实施敏感信息保护操作。

需要指出的是:步骤406A与步骤406B-步骤408属于两个相对独立的并列流程,并不存在相互干扰,也不存在必然的先后顺序;例如,无论是否检测到用户操作,都需要对页面控件进行敏感性分析和敏感信息保护操作。当检测到用户操作而判定为页面发生更新后,可以通过返回步骤404重新获取页面控件、再次进入步骤406B,从而对更新后页面实现敏感信息的识别与保护;换言之,只要检测到用户操作,就可以通过重复执行步骤404-408而对更新后页面实现敏感信息的识别与保护,以确保用户的敏感信息都能够被持续不断的识别与保护。

图6是一示例性实施例提供的一种设备的示意结构图。请参考图6,在硬件层面,该设备包括处理器602、内部总线604、网络接口606、内存608以及非易失性存储器610,当然还可能包括其他业务所需要的硬件。处理器602从非易失性存储器610中读取对应的计算机程序到内存608中然后运行,在逻辑层面上形成应用程序中敏感信息的保护装置。当然,除了软件实现方式之外,本说明书一个或多个实施例并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。

请参考图7,在软件实施方式中,该应用程序中敏感信息的保护装置可以包括:

获取单元71,当应用程序在运行过程中发生页面更新时,获取更新后页面包含的页面控件;

分析单元72,对所述页面控件进行敏感性分析;

保护单元73,当所述页面控件包含敏感信息时,实施相应的敏感信息保护操作。

可选的,还包括:

确定单元74,确定所述应用程序的展示页面是否检测到用户操作;

判定单元75,当检测到用户操作时,判定为所述应用程序发生页面更新。

可选的,所述获取单元71具体用于:

通过操作系统提供的API接口,获取所述更新后页面包含的页面控件;

或者,通过对所述更新后页面进行图像采集与识别,获取所述更新后页面包含的页面控件。

可选的,所述分析单元72具体用于:

当所述页面控件为输入框类型时,获取所述页面控件内展示的输入提示信息;

将所述输入提示信息与预定义的敏感词库进行匹配,以根据匹配结果确定所述页面控件是否包含敏感信息。

可选的,所述分析单元72具体用于:

当任一页面控件包含敏感信息,且所述更新后页面包含与所述任一页面控件相关联的其他页面控件时,判定所述其他页面控件包含敏感信息。

上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。

在一个典型的配置中,计算机包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

在本说明书一个或多个实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本说明书一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1