安全键盘的实现方法与装置转让专利

申请号 : CN202110826714.8

文献号 : CN113468620B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 任仲瑞吴玉森马晓敏蒲云

申请人 : 赞同科技股份有限公司

摘要 :

本发明提供一种安全键盘的实现方法与装置,该实现方法包括:利用根节点视图DecorView的addView方式,在页面Activity启动时,将要悬浮的View对象添加到父布局容器ContentParent;通过遍历父布局来对每个子View对象赋值,生成安全键盘随机键位;接收基于所述安全键盘随机键位输入的信息,根据Android系统的Keystore结合预设的非对称加密算法和预设的对称加密算法对所述输入的信息加密。本发明能提升安全性和便捷性。

权利要求 :

1.一种安全键盘的实现方法,其特征在于,所述实现方法包括:利用根节点视图DecorView的addView方式,在页面Activity启动时,将要悬浮的View对象添加到父布局容器ContentParent;

通过遍历父布局来对每个子View对象赋值,生成安全键盘随机键位;

接收基于所述安全键盘随机键位输入的信息,根据Android系统的Keystore结合预设的非对称加密算法和预设的对称加密算法对所述输入的信息加密。

2.根据权利要求1所述的实现方法,其特征在于,在所述接收基于所述安全键盘随机键位输入的信息的执行过程中,所述实现方法还包括:禁止对屏幕显示内容进行录制和截屏。

3.根据权利要求2所述的实现方法,其特征在于,所述接收基于所述安全键盘随机键位输入的信息包括:通过内置H5通信通道接收基于所述安全键盘随机键位输入的信息。

4.根据权利要求3所述的实现方法,其特征在于,还包括:在所述安全键盘初始化时,动态加载默认的配置文件。

5.一种安全键盘的实现装置,其特征在于,所述实现装置包括:信息处理模块,用于利用根节点视图DecorView的addView方式,在页面Activity启动时,将要悬浮的View对象添加到父布局容器ContentParent;

键盘生成模块,用于通过遍历父布局来对每个子View对象赋值,生成安全键盘随机键;

信息接收模块,用于接收基于所述安全键盘随机键位输入的信息;

信息加密模块,用于根据Android系统的Keystore结合预设的非对称加密算法和预设的对称加密算法对所述输入的信息加密。

6.根据权利要求5所述的实现装置,其特征在于,还包括:功能禁用模块,用于禁止对屏幕显示内容进行录制和截屏。

7.根据权利要求6所述的实现装置,其特征在于,所述信息接收模块具体用于通过内置H5通信通道接收基于所述安全键盘随机键位输入的信息。

8.根据权利要求7所述的实现装置,其特征在于,还包括:初始化模块,用于在所述安全键盘初始化时,动态加载默认的配置文件。

9.一种计算机可读存储介质,所述存储介质上存储有计算机程序,所述程序被处理器执行时实现权利要求1‑4中任一项所述方法的步骤。

10.一种计算机设备,其特征在于,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现权利要求1‑4中任一项所述方法的步骤。

说明书 :

安全键盘的实现方法与装置

技术领域

[0001] 本发明涉及移动应用技术领域,尤其涉及一种安全键盘的实现方法与装置。

背景技术

[0002] 现有用户在使用移动应用过程中,需要输入登录密码或支付密码时,需要保证输入密码的安全,不被恶意软件或者木马程序盗取,通常做法从服务端获取密钥进行加密,然后上传服务器,或者是把密钥存到so文件中。第一种做法不能保证密钥的安全性,而且依赖服务器交互十分不方便;第二种做法通过逆向手段反编译so文件,不能保证密钥的绝对安全。
[0003] 对于安全性来说,第一种做法:从服务端获取密钥进行加密,然后上传服务器,这种做法不能保证密钥的安全性,而且依赖服务器交互十分不方便;第二种做法:把密钥存到so文件中,如果通过逆向手段反编译so文件,则不能保证密钥的绝对安全。
[0004] 对于开发者来说,现阶段目前大部分针对于安全键盘加密的解决方案,都需要加密厂商进行定制,并且模块接入的耦合度较高,且需要特殊定制后才能通过H5调用,例如通过原生实现的密码键盘通过前端调用,需要手动绑定webview并获取焦点,手动屏蔽系统应用键盘弹出,密码键盘输入想要H5输入框获取到密码键盘的数据需要在webview上添加一个js通信的方法,在每次点击键盘后手动调用。
[0005] 因此,如何提供一种安全便捷的安全键盘的实现方法,成为亟待解决的技术问题。

发明内容

[0006] 有鉴于此,本发明提供一种安全键盘的实现方法与装置,提升安全性以及便捷性。
[0007] 第一方面,安全键盘的实现方法,所述实现方法包括:利用根节点视图DecorView的addView方式,在页面Activity启动时,将要悬浮的View对象添加到父布局容器ContentParent;通过遍历父布局来对每个子View对象赋值,生成安全键盘随机键位;接收基于所述安全键盘随机键位输入的信息,根据Android系统的Keystore结合预设的非对称加密算法和预设的对称加密算法对所述输入的信息加密。
[0008] 进一步地,在所述接收基于所述安全键盘随机键位输入的信息的执行过程中,所述实现方法还包括:禁止对屏幕显示内容进行录制和截屏。
[0009] 进一步地,所述接收基于所述安全键盘随机键位输入的信息包括:通过内置H5通信通道接收基于所述安全键盘随机键位输入的信息。
[0010] 进一步地,所述的实现方法还包括:在所述安全键盘初始化时,动态加载默认的配置文件。
[0011] 第二方面,本发明提供一种安全键盘的实现装置,所述实现装置包括:
[0012] 信息处理模块,用于利用根节点视图DecorView的addView方式,在页面Activity启动时,将要悬浮的View对象添加到父布局容器ContentParent;
[0013] 键盘生成模块,用于通过遍历父布局来对每个子View对象赋值,生成安全键盘随机键;
[0014] 信息接收模块,用于接收基于所述安全键盘随机键位输入的信息;
[0015] 信息加密模块,用于根据Android系统的Keystore结合预设的非对称加密算法和预设的对称加密算法对所述输入的信息加密。
[0016] 进一步地,所述的实现装置还包括:功能禁用模块,用于禁止对屏幕显示内容进行录制和截屏。
[0017] 进一步地,所述信息接收模块具体用于通过内置H5通信通道接收基于所述安全键盘随机键位输入的信息。
[0018] 进一步地,所述的实现装置还包括:初始化模块,用于在所述安全键盘初始化时,动态加载默认的配置文件。
[0019] 第三方面,本发明还提供一种计算机可读存储介质,所述存储介质上存储有计算机程序,所述程序被处理器执行时实现所述方法的步骤。
[0020] 第四方面,本发明还提供一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现所述方法的步骤。
[0021] 本发明安全键盘的实现方法与装置,通过Android系统的Keystore结合非对称加密和对称加密搭配的方式,对用户输入的内容进行加密,从而保证了用户在输入重要信息时的系统级别的最高安全性;通过自定义View以及自定义弹出方式避免弹窗权限申请,弹出方式没有采用WindowManager以及Dialog弹出的方式,而是使用DecorView的addView方式,在Activity onStart时,将要悬浮的View添加到ContentParent上可以实现不需要权限的悬浮窗。H5应用在使用赞同安全键盘时,开发者仅需要在在原生页面onCreate()生命周期中,实例化SecurityKeyboard.Builder()对象,通过链式调用绑定需要绑定的webview、回调方法,并且配置需要加密的方式等配置即可使用,开发者无需考虑阻止原生键盘弹出等操作。

附图说明

[0022] 为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
[0023] 图1为根据本发明示例性第一实施例的安全键盘的实现方法的流程图。
[0024] 图2为根据本发明示例性第二实施例的安全键盘的实现装置的结构框图。

具体实施方式

[0025] 下面结合附图对本发明实施例进行详细描述。
[0026] 需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合;并且,基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
[0027] 需要说明的是,下文描述在所附权利要求书的范围内的实施例的各种方面。应显而易见,本文中所描述的方面可体现于广泛多种形式中,且本文中所描述的任何特定结构及/或功能仅为说明性的。基于本公开,所属领域的技术人员应了解,本文中所描述的一个方面可与任何其它方面独立地实施,且可以各种方式组合这些方面中的两者或两者以上。举例来说,可使用本文中所阐述的任何数目个方面来实施设备及/或实践方法。另外,可使用除了本文中所阐述的方面中的一或多者之外的其它结构及/或功能性实施此设备及/或实践此方法。
[0028] 图1为根据本发明示例性第一实施例的C标准动态库实现方法的流程图,如图1所示,本发明一种实现方法,包括:
[0029] 步骤101:利用根节点视图DecorView的addView方式,在页面Activity启动时,将要悬浮的View对象添加到父布局容器ContentParent。
[0030] 步骤102:通过遍历父布局来对每个子View对象赋值,生成安全键盘随机键位。
[0031] 步骤103:接收基于所述安全键盘随机键位输入的信息,根据Android系统的Keystore结合预设的非对称加密算法和预设的对称加密算法对所述输入的信息加密。具体的非对称加密算法和对称加密算法不做限定,可以直接应用现有算法。
[0032] 优选地,在所述接收基于所述安全键盘随机键位输入的信息的执行过程中,所述实现方法还包括:禁止对屏幕显示内容进行录制和截屏。通过在用户输入的过程中对屏幕的录制和截屏功能的禁止,从而防止木马类程序监听键盘输入过程。
[0033] 优选地,所述接收基于所述安全键盘随机键位输入的信息包括:通过内置H5通信通道接收基于所述安全键盘随机键位输入的信息。具体地,内置H5通信通道,通过绑定前端webview对象进行通信。
[0034] 优选地,所述实现方法还包括:在所述安全键盘初始化时,动态加载默认的配置文件,来实现具体需求。
[0035] 本实施例通过Android系统的Keystore结合非对称加密和对称加密搭配的方式,对用户输入的内容进行加密,从而保证了用户在输入重要信息时的系统级别的最高安全性;通过自定义View以及自定义弹出方式避免弹窗权限申请,弹出方式没有采用WindowManager以及Dialog弹出的方式,而是使用DecorView的addView方式,在Activity onStart时,将要悬浮的View添加到ContentParent上可以实现不需要权限的悬浮窗。H5应用在使用赞同安全键盘时,开发者仅需要在在原生页面onCreate()生命周期中,实例化SecurityKeyboard.Builder()对象,通过链式调用绑定需要绑定的webview、回调方法,并且配置需要加密的方式等配置即可使用,开发者无需考虑阻止原生键盘弹出等操作。
[0036] 图2为根据本发明示例性第二实施例的安全键盘的实现装置的结构框图。图1所示实施例可以适用于本实施例,具体如图2所示,实现装置包括:
[0037] 信息处理模块201,用于利用根节点视图DecorView的addView方式,在页面Activity启动时,将要悬浮的View对象添加到父布局容器ContentParent;
[0038] 键盘生成模块202,用于通过遍历父布局来对每个子View对象赋值,生成安全键盘随机键;
[0039] 信息接收模块203,用于接收基于所述安全键盘随机键位输入的信息;
[0040] 信息加密模块204,用于根据Android系统的Keystore结合预设的非对称加密算法和预设的对称加密算法对所述输入的信息加密。
[0041] 优选地,该实现装置还包括:功能禁用模块205,用于禁止对屏幕显示内容进行录制和截屏。
[0042] 进一步优选地,所述信息接收模块203具体用于通过内置H5通信通道接收基于所述安全键盘随机键位输入的信息。
[0043] 进一步优选地,所述的实现装置还包括:初始化模块200,用于在所述安全键盘初始化时,动态加载默认的配置文件。
[0044] 需要说明的是,本实施例可以自定义键盘界面,支持大小写字母、数字、特殊符号三种模式自由切换和搭配,并且支持位置随机变化,保证只有用户知晓自己输入的内容;更加注重用户体验,自定义弹框方式,不必申请权限弹框。安全键盘内部绑定Webview,保证H5在调用的时候更方便的集成和调用键盘功能。具体还可以通过附加进程的方式,防止第三方工具的动态调试。
[0045] 本实施例提供一个通用的安全键盘的实现装置,实现低侵入度接入,支持市面上常见加密方式,可动态化配置UI,防止截屏、录屏、动态调试、包名验证,二次打包,支持License授权验证,支持与webview绑定,不止支持Android原生,也支持H5调用,从而实现一种系统级安全性保障、免权限申请弹出方式、内置H5通信通道、防止第三方工具调试的安全键盘。
[0046] 本发明还提供一种计算机可读存储介质,所述存储介质上存储有计算机程序,所述程序被处理器执行时实现所述方法的步骤。
[0047] 该介质具有上述安全键盘的实现方法相应的技术效果,具体为:可以保证用户输入信息更高级别的安全,等同于系统级别的安全;另外集成配置化管理,内部绑定webview,提供必要接口,保证H5的方便使用,更加节约集成成本,减少开发时间,从而高效的工作;自定义界面,不仅方便满足设计要求,更加提高了用户体验;优化弹出方式,避免系统权限的申请,更方便用户使用。
[0048] 本发明还提供一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现所述方法的步骤。
[0049] 本实施例计算机设备具有安全键盘的实现装置相应的技术效果,具体地,可以在可靠加密和良好性能之间取得平衡的强安全性,这种安全等级适用于银行应用和聊天应用等消费者应用。通过Android系统的Keystore结合非对称加密和对称加密搭配的方式,对用户输入的内容进行加密,从而保证了用户在输入重要信息时的系统级别的最高安全性。另外,安全键盘还做到了在用户输入的过程中对屏幕的录制和截屏功能的禁止,从而防止木马类程序监听键盘输入过程。
[0050] 以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。