基于Android的触摸屏PIN输入方法及装置与流程

文档序号:13422380阅读:540来源:国知局
基于Android的触摸屏PIN输入方法及装置与流程

本发明涉及到android加密输入方法,特别是涉及到一种基于android的触摸屏pin输入方法及装置。



背景技术:

目前,在android系统中用于输入密码的密码键盘是通过应用apk直接弹出密码键盘界面,在输密码的时候可能会被系统内的其他应用给覆盖,导致密码无法成功输入,并且在输密码的过程中没有对显示屏和触摸屏分开处理,计算密码也是在对应的应用里计算的,这种方式对于开放的android系统平台来说安全性无法保证。

随着移动智能设备的全面普及,很多种支付设备都采用内置android系统,并通过触摸显示屏上对应的字符的方式进行密码输入及确定。例如pos机,pos机是一种具有非现金结算功能的销售终端,广泛应用在超市、连锁店、商场、饭店等场所。因为涉及到银行卡的交易,对交易密码的安全性有着很高的要求,因此必须提高用户在输入密码信息时的安全。为了提高用户输入密码的安全性,需采用比传统技术更先进的密码输入技术。



技术实现要素:

为了解决上述现有技术的缺陷,本发明的目的是提供一种基于android的触摸屏pin输入方法及装置,用于在android系统中安全的输入用户密码。

为达到上述目的,本发明的技术方案是:

一种基于android的触摸屏pin输入方法,包括以下步骤:

接收安全键盘建立请求,根据建立请求生成随机码;

发送随机码至显示模块,根据随机码对应建立安全键盘,并通过顶层ui显示安全键盘;

通过触摸模块采集安全键盘上的输入坐标数据,并发送给安全芯片;

根据输入坐标数据和随机码计算得到对应的输入密码,并上报android系统。

进一步地,所述接收安全键盘建立请求步骤之后,还包括以下步骤,

判断所述建立请求是否具备pinpad权限,若具备,则根据建立请求生成随机码。

进一步地,所述通过触摸模块采集安全键盘上的输入坐标数据,并发送给安全芯片步骤,包括,

在将输入坐标数据发送给安全芯片的同时,停止将输入坐标数据发送给android系统。

进一步地,所述通过触摸模块采集安全键盘上的输入坐标数据,并发送给安全芯片步骤之后,包括,

根据接收到的输入坐标数据在输入密码显示位置显示*号,代替实际输入字符。

进一步地,所述根据输入坐标数据和随机码计算得到对应的输入密码,并上报android系统步骤,包括,

判断安全键盘是否正常退出,若为正常退出,则将所述输入密码上报android系统。

本发明还提出了一种基于android的触摸屏pin输入装置,包括,

安全芯片,用于接收安全键盘建立请求,根据建立请求生成随机码,且,根据输入坐标数据和随机码计算得到对应的输入密码,并上报android系统,安全芯片连接显示模块和触摸模块;

显示模块,用于接收随机码,根据随机码对应建立安全键盘,并通过顶层ui显示安全键盘;

触摸模块,用于采集安全键盘上的输入坐标数据,并发送给安全芯片;

应用模块,用于发出安全键盘建立请求,并接收最终输入密码,应用模块连接安全芯片。

进一步地,所述安全芯片还包括第一判断模块,用于判断所述建立请求是否具备pinpad权限,若具备,安全芯片则根据建立请求生成随机码。

进一步地,所述触摸模块用于在将输入坐标数据发送给安全芯片的同时,停止将输入坐标数据发送给android系统。

进一步地,所述安全芯片还包括隐藏模块,用于根据接收到的输入坐标数据在输入密码显示位置显示*号,代替实际输入字符。

进一步地,所述安全芯片还包括有第二判断模块,用于判断安全键盘是否正常退出,若为正常退出,则将所述输入密码上报android系统。

本发明的有益效果是:本方案是通过安全芯片进行密钥保存和加解密,硬件级的安全性高于android系统的安全性,能够更好的保护储存在安全芯片中的数据;通过随机码建立安全键盘,并通过顶端ui显示,安全键盘不会被android系统内其他应用的键盘覆盖;显示模块和触摸模块各自处于不同的内存状态空间,可以更好保护用户输入数据。

附图说明

图1为本发明一实施例一种基于android的触摸屏pin输入方法的流程示意图;

图2为本发明另一实施例一种基于android的触摸屏pin输入方法的流程示意图;

图3为本发明一实施例隐藏输入字符的流程示意图;

图4为本发明一实施例一种基于android的触摸屏pin输入装置的结构框图;

图5为本发明一实施例安全芯片的结构框图。

具体实施方式

为阐述本发明的思想及目的,下面将结合附图和具体实施例对本发明做进一步的说明。

说明书中部分名称定义如下:

android,是一种基于linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机、平板电脑和其他移动终端,由google公司和开放手机联盟领导及开发。

apk,为androidpackage的缩写,即android安装包(apk)。apk是类似symbiansis或sisx的文件格式,通过将apk文件直接传到android模拟器或android手机中执行即可安装。

安全芯片,是可信任平台模块,是一个可独立进行密钥生成、加解密的装置,内部拥有独立的处理器和存储单元,可存储密钥和特征数据,为系统提供加密和安全认证服务。用安全芯片进行加密,密钥被存储在硬件中,被窃的数据无法解密,从而保护商业隐私和数据安全。

参照图1,一种基于android的触摸屏pin输入方法,包括以下步骤:

s10、接收安全键盘建立请求,根据建立请求生成随机码。

s20、发送随机码至显示模块,根据随机码对应建立安全键盘,并通过顶层ui显示安全键盘;

s30、通过触摸模块采集安全键盘上的输入坐标数据,并发送给安全芯片;

s40、根据输入坐标数据和随机码计算得到对应的输入密码,并上报android系统。

对于步骤s10,应用模块发出安全键盘建立请求,安全芯片接收到后根据实际情况,生成用于建立安全键盘的随机码,随机码用于生成字符随机分布的安全键盘,且随机码中包含有不同字符对应的坐标数据,当安全芯片接收到一组输入坐标数据时,安全芯片能够根据输入坐标数据和随机码包含的解码信息计算得到对应的输入字符,也就是对应的输入密码。随机码中数据的加密密钥存储在安全芯片中,整个加解密过程都是在安全芯片(硬件)中进行,安全可靠,即使被盗取了输入坐标数据,也无法得到实际的输入密码。

具体的,步骤s10之后,还包括以下步骤,

s11、判断建立请求是否具备pinpad权限;

s12、若具备,则根据建立请求生成随机码。

对于步骤s11和s12,安全芯片在接收到建立请求后,会判断该建立请求是否具备pinpad的权限,只有在该建立请求满足pinpad的权限时,才会进一步生成随机码;若不具备pinpad权限时,则不进行下一步动作,到此结束。

对于步骤s20,安全芯片生成随机码之后,发送至显示模块,显示模块根据接收到的随机码建立安全键盘,安全键盘上的字符无规律排布,根据不同随机码建立的安全键盘上的字符排布不同。

在安全键盘建立之后,显示模块通过android系统的顶层ui显示安全键盘,也就是在android系统的显示系统surfaceflinger把显示模块设置为优先级最高的显示程序,这样安全键盘在工作时,会一直处于显示界面的最上层,无法被其他应用覆盖,保证密码输入过程的连贯和高效。

对于步骤s30,通过触摸模块可以采集用户在安全键盘上的输入坐标数据,触摸模块再将收集到的输入坐标数据发回给安全芯片,交由安全芯片继续处理。其中,显示模块和触摸模块各自处于不同的内存状态空间,可以更好保护用户输入数据。

具体的,具体的,步骤s30具体还包括以下步骤:

在将输入坐标数据发送给安全芯片的同时,停止将输入坐标数据发送给android系统。

对于上述步骤,在将输入坐标数据发送给安全芯片的同时,停止将输入坐标数据发送给android系统或对应的应用模块。输入坐标数据是在安全芯片处理,android系统或对应的应用模块没有对应的处理权限,不将输入坐标数据发送给android系统或对应的应用模块,可以减少数据被盗窃的可能,提高整个方案的安全性。

对于步骤s40,安全芯片根据输入坐标数据和随机码计算出实际输入的密码,将密码发送至android系统或对应的应用模块进行密码验证。

具体的,步骤s40包括以下步骤:

s41、判断安全键盘是否正常退出;

s42、若为正常退出,则退出安全键盘,并将输入密码上报android系统。

对于步骤s41和s42,安全键盘上预设有“确定”和“取消”两个选项,当用户输入密码结束之后,所以存在以下三种可能,选择“确定”、选择“取消”和强制退出。其中,当用户选择“确定”时,判定为正常退出状态,代表本次输入密码有效,并将输入密码从安全芯片发送至应用模块;当用户选择“取消”或强制退出时,判定为非正常退出状态,此时代表本次输入密码无效,不对输入密码进行任何操作。

具体的,步骤s30之后,还包括以下步骤:

s50、根据接收到的输入坐标数据在输入密码显示位置显示*号,代替实际输入字符。

对于步骤s50,用户在触摸界面上输入对应的字符后,每输入一个字符,就在安全键盘的输入显示位置上显示一个*号,用*号,代替输入的实际字符,可以避免其他人直接看到用户当前输入的具体字符,提高安全性。

本方案主要是应用于安全性要求较高的移动智能终端,特别是涉及到安全要求极高的支付设备,例如pos机,当然也可以应用于其他需要通过输入密码进行确认的设备中。

本发明的一种基于android的触摸屏pin输入方法通过安全芯片进行密钥保存和加解密,硬件级的安全性高于android系统(软件级)的安全性,能够更好的保护储存在安全芯片中的数据;通过随机码建立安全键盘,并通过顶端ui显示,安全键盘不会被android系统内其他应用的键盘覆盖;显示模块和触摸模块各自处于不同的内存状态空间,可以更好保护用户输入数据。

参考图4和图5,本发明还提出了一种基于android的触摸屏pin输入装置,包括,

安全芯片10,用于接收安全键盘建立请求,根据建立请求生成随机码,且,根据输入坐标数据和随机码计算得到对应的输入密码,并上报android系统,安全芯片10连接显示模块20和触摸模块30;

显示模块20,用于接收随机码,根据随机码对应建立安全键盘,并通过顶层ui显示安全键盘;

触摸模块30,用于采集安全键盘上的输入坐标数据,并发送给安全芯片10;

应用模块40,用于发出安全键盘建立请求,并接收最终输入密码,应用模块40连接安全芯片10。

应用模块40发出安全键盘建立请求,安全芯片10接收到后根据实际情况,生成用于建立安全键盘的随机码,随机码用于生成字符随机分布的安全键盘,且随机码中包含有不同字符对应的坐标数据,当安全芯片10接收到一组输入坐标数据时,安全芯片10能够根据输入坐标数据和随机码包含的解码信息计算得到对应的输入字符,也就是对应的输入密码。随机码中数据的加密密钥存储在安全芯片10中,整个加解密过程都是在安全芯片10(硬件)中进行,安全可靠,即使被盗取了输入坐标数据,也无法得到实际的输入密码。

安全芯片10生成随机码之后,发送至显示模块20,显示模块20根据接收到的随机码建立安全键盘,安全键盘上的字符无规律排布,根据不同随机码建立的安全键盘上的字符排布不同。

在安全键盘建立之后,显示模块20通过android系统的顶层ui显示安全键盘,也就是在android系统的显示系统surfaceflinger把显示模块20设置为优先级最高的显示程序,这样安全键盘在工作时,会一直处于显示界面的最上层,无法被其他应用覆盖,保证密码输入过程的连贯和高效。

通过触摸模块30可以采集用户在安全键盘上的输入坐标数据,触摸模块30再将收集到的输入坐标数据发回给安全芯片10,交由安全芯片10继续处理。其中,显示模块20和触摸模块30各自处于不同的内存状态空间,可以更好保护用户输入数据。

其中,安全芯片10还包括第一判断模块11,用于判断建立请求是否具备pinpad权限,若具备,安全芯片10则根据建立请求生成随机码。

具体的,安全芯片10在接收到建立请求后,会判断该建立请求是否具备pinpad的权限,只有在该建立请求满足pinpad的权限时,才会进一步生成随机码;若不具备pinpad权限时,则不进行下一步动作,到此结束。

其中,安全芯片10还包括隐藏模块13,用于根据接收到的输入坐标数据在输入密码显示位置显示*号,代替实际输入字符。

具体的,用户在触摸界面上输入对应的字符后,每输入一个字符,就在安全键盘的输入显示位置上显示一个*号,用*号,代替输入的实际字符,可以避免其他人直接看到用户当前输入的具体字符,提高安全性。

其中,安全芯片10还包括有第二判断模块12,用于判断安全键盘是否正常退出,若为正常退出,则将输入密码上报android系统。

具体的安全键盘上预设有“确定”和“取消”两个选项,当用户输入密码结束之后,所以存在以下三种可能,选择“确定”、选择“取消”和强制退出。其中,当用户选择“确定”时,判定为正常退出状态,代表本次输入密码有效,并将输入密码从安全芯片10发送至应用模块40;当用户选择“取消”或强制退出时,判定为非正常退出状态,此时代表本次输入密码无效,不对输入密码进行任何操作。

其中,触摸模块30用于在将输入坐标数据发送给安全芯片10的同时,停止将输入坐标数据发送给android系统。

在将输入坐标数据发送给安全芯片10的同时,停止将输入坐标数据发送给android系统或对应的应用模块40。输入坐标数据是在安全芯片10处理,android系统或对应的应用模块40没有对应的处理权限,不将输入坐标数据发送给android系统或对应的应用模块40,可以减少数据被盗窃的可能,提高整个方案的安全性。

本方案主要是应用于安全性要求较高的移动智能终端,特别是涉及到安全要求极高的支付设备,例如pos机,当然也可以应用于其他需要通过输入密码进行确认的设备中。

本发明的一种基于android的触摸屏pin输入装置通过安全芯片10进行密钥保存和加解密,硬件级的安全性高于android系统(软件级)的安全性,能够更好的保护储存在安全芯片10中的数据;通过随机码建立安全键盘,并通过顶端ui显示,安全键盘不会被android系统内其他应用的键盘覆盖;显示模块20和触摸模块30各自处于不同的内存状态空间,可以更好保护用户输入数据。

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