CN107273736B - 密码输入方法、装置、计算机设备和存储介质 - Google Patents
密码输入方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN107273736B CN107273736B CN201710327135.2A CN201710327135A CN107273736B CN 107273736 B CN107273736 B CN 107273736B CN 201710327135 A CN201710327135 A CN 201710327135A CN 107273736 B CN107273736 B CN 107273736B
- Authority
- CN
- China
- Prior art keywords
- password
- safety chip
- user
- coordinate data
- data
- 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.)
- Active
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/45—Structures or tools for the administration of authentication
- G06F21/46—Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
-
- 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
- G06F21/36—User authentication by graphic or iconic representation
-
- 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
- G06F21/32—User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
-
- 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/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/82—Protecting input, output or interconnection devices
- G06F21/83—Protecting input, output or interconnection devices input devices, e.g. keyboards, mice or controllers thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/031—Protect user input by software means
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
- Storage Device Security (AREA)
- Input From Keyboards Or The Like (AREA)
Abstract
本发明涉及一种密码输入方法、装置、计算机设备和存储介质。其中,该方法包括:调用内存中的用户空间获取密码输入请求并发送到与所述内存连接的安全芯片;调用所述用户空间接收所述安全芯片根据密码输入请求生成的随机键盘数据,根据所述随机键盘数据展示随机布局的键盘;调用内存中的内核空间获取通过所述键盘输入的密码坐标数据,并将所述密码坐标数据发送至所述安全芯片,以使所述安全芯片根据所述密码坐标数据和随机键盘数据生成用户输入的密码明文。通过上述的密码输入方法、装置、计算机设备和存储介质,使得无法从内核空间中直接获得密码明文,降低了密码明文被窃取的风险,增加了密码被破解的难度,提高了密码输入的安全性。
Description
技术领域
本发明涉及信息安全技术领域,特别是涉及一种密码输入方法、装置、计算机设备和存储介质。
背景技术
随着互联网技术的快速发展,市面上出现了越来越多的支付终端(POS,Point OfSale),支付终端可与手机、平板电脑等智能设备连接进行数据传输。支付终端可完成卡片读取、PIN(personal identification number,个人标识号)输入、数据加解密、提示信息显示等操作,从而实现支付功能的应用。
然而,在用户进行密码输入操作时,终端所生成的键盘布局数据以及在检测到的在用户输入的密码坐标数据会直接存储在内存中的内核空间中。因此,相当于在内核空间中直接存放了密码明文。当受到黑客攻击或者恶意软件窃取时,容易从内核空间中直接获取到密码明文。从而使得导致密码输入的安全性不高。
发明内容
基于此,有必要针对上述密码输入的安全性不高的问题,提供一种密码输入方法、装置、计算机设备和存储介质。
一种密码输入方法,所述方法包括:
调用内存中的用户空间获取密码输入请求并发送到与所述内存连接的安全芯片;
调用所述用户空间接收所述安全芯片根据密码输入请求生成的随机键盘数据,根据所述随机键盘数据展示随机布局的键盘;
调用内存中的内核空间获取通过所述键盘输入的密码坐标数据,并将所述密码坐标数据发送至所述安全芯片,以使所述安全芯片根据所述密码坐标数据和随机键盘数据生成用户输入的密码明文。
在其中一个实施例中,在所述调用内存中的内核空间获取通过所述键盘输入的密码坐标数据之后,还包括:
调用所述内核空间拦截向所述用户空间上报的密码坐标数据。
在其中一个实施例中,在所述将所述密码坐标数据发送至所述安全芯片之后,还包括:
通过所述安全芯片根据所述密码坐标数据和随机键盘数据生成用户输入的密码明文,将所述密码明文转化成密码密文,并将所述密码密文发送至所述用户空间。
在其中一个实施例中,在所述将所述密码坐标数据发送至所述安全芯片之后,还包括:
调用所述用户空间获取结束密码输入请求并发送到所述安全芯片;
调用所述内核空间接收所述安全芯片根据密码输入请求生成的密码输入结束指令,并根据所述密码输入结束指令停止内核空间获取所述密码坐标数据。
在其中一个实施例中,在所述将所述密码坐标数据发送至所述安全芯片之后,还包括:
调用所述用户空间接收所述安全芯片发送的预设的密码展示数据,并展示所述密码展示数据。
一种密码输入装置,其特征在于,所述装置包括:
请求获取模块,用于调用内存中的用户空间获取密码输入请求并发送到与所述内存连接的安全芯片;
键盘生成模块,用于调用所述用户空间接收所述安全芯片根据密码输入请求生成的随机键盘数据,根据所述随机键盘数据展示随机布局的键盘;
密码输入模块,用于调用内存中的内核空间获取通过所述键盘输入的密码坐标数据,并将所述密码坐标数据发送至所述安全芯片,以使所述安全芯片根据所述密码坐标数据和随机键盘数据生成用户输入的密码明文。
在其中一个实施例中,所述密码输入模块还用于调用所述内核空间拦截向所述用户空间上报的密码坐标数据。
在其中一个实施例中,所述密码输入模块还用于通过所述安全芯片根据所述密码坐标数据和随机键盘数据生成用户输入的密码明文,将所述密码明文转化成密码密文,并将所述密码密文发送至所述用户空间。
一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现所述密码输入方法。
一种计算机设备,包括内存储器、安全芯片和处理器,所述内存储器包含用户空间和内核空间,所述处理器通过***总线与所述内存储器和所述安全芯片连接,所述处理器执行所述程序时实现所述密码输入方法。
上述的密码输入方法、装置、计算机设备和存储介质,调用用户空间获取密码输入请求并发送至安全芯片,调用用户空间接收由安全芯片根据该密码输入请求生成的随机键盘数据,根据随机键盘数据展示对应的随机布局的键盘,调用内核空间获取用户在随机布局的键盘上输入的密码坐标数据,并将该密码坐标数据发送至安全芯片,以使得安全芯片根据密码坐标数据和随机键盘数据的对应关系生成用户所输入的密码明文。通过设置相应的安全芯片,仅在安全芯片中生成密码明文,并将生成该密码明文的随机键盘数据和密码坐标数据分别单独存放在用户空间和内核空间中,使得无法从内核空间和用户空间中的任意一方中直接得出密码明文,降低了密码明文被窃取的风险,增加了密码被破解的难度,提高了密码输入的安全性。
附图说明
图1为一个实施例中终端的内部结构图;
图2为一个实施例中密码输入方法的流程图;
图3a为一个实施例中正常布局的键盘的示意图;
图3b为一个实施例中随机布局的键盘的示意图;
图4为另一个实施例中键盘的示意图;
图5为一个实施例中密码坐标数据和随机键盘数据的对照表;
图6为一个实施例中内核空间获取密码坐标数据的流程图;
图7为一个实施例中结束密码输入的流程图;
图8为一个实施例中密码输入方法的时序图;
图9为一个实施例中密码输入装置的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图1为一个实施例中终端的内部结构示意图。参照图1,该终端包括通过***总线连接的处理器、非易失性存储介质、内存储器、安全芯片和显示屏,且安全芯片和内存储器之间通过硬件管脚和串口进行连接。其中,该终端的处理器用于提供计算和控制能力,支撑整个终端的运行。该终端的非易失性存储介质存储有操作***和计算机可执行指令,该计算机可执行指令可被处理器所执行,以用于实现以下各实施例提供的一种密码输入方法。其中,该操作***包括但不限于安卓***和/或Linux***。该内存储器为非易失性存储介质中的操作***、计算机可执行指令提供高速缓存的运行环境,包括内核空间和用户空间。内核空间用于存放内核代码和数据,且该内核经过签名校验。用户空间用于存放用户程序的代码和数据。安全芯片中可生成和处理用于实现上述的一种密码输入方法相关的数据,比如可生成随机键盘数据,将随机键盘数据发送至用户空间并对后续获取的密码坐标数据进行解析生成密码明文等,也可发送用于实现上述的一种密码输入方法相关的指令,比如控制内核空间获取密码坐标数据等。该终端的显示屏可以是触摸屏,比如为电容屏或电子屏,可通过接收作用于该触摸屏上显示的键盘的点击操作,生成相应的坐标数据。该终端可以是手机、平板电脑或者支付终端等。
在一个实施例中,安全芯片和内存储器之间通过一个硬件管脚和一对串口进行硬件连接。在本实施例中,硬件连接简单,从而节约了成本,并扩大了以下各实施例提供的一种密码输入方法的应用范围。
本领域技术人员可以理解,图1中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的终端的限定,具体的终端可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。比如,该终端中还可包括摄像头,用于扫描用户,进行对用户的识别验证。
在一个实施例中,如图2所示,提供了一种密码输入方法,该方法可应用于如图1所示的终端中,包括:
步骤S202,调用内存中的用户空间获取密码输入请求并发送到与内存连接的安全芯片。
本实施例中,用户空间是指终端内存中用于存放用户程序进程数据的内存空间,且该用户空间无法通过***调用对内存中内核空间中的数据进行访问。安全芯片是可信任平台模块,是一个可独立进行密钥生成、加解密、数据验证的装置,内部拥有独立的处理器和存储单元,可存储密钥和特征数据,为电脑提供加密和安全认证服务。密码输入请求为用户空间在检测到作用于终端的密码输入操作时生成的请求。其中,密码输入请求操作可包括但不限于终端开机,终端从锁屏状态解锁切入应用界面的操作,进入预设的应用的操作,预设的支付操作或转账操作等需要进行密码输入的操作。调用用户空间获取到密码输入请求后,将该密码输入请求发送至安全芯片,具体地,可以通过用于连接内存和安全芯片的串口,将用户空间根据密码输入操作所获取的密码输入请求发送到安全芯片,调用安全芯片的密码输入接口。
进一步地,终端可针对对应需要密码输入的操作,提供相应的密码输入界面,该界面上包括相应的用于进入密码输入状态的控件。上述的密码输入操作即为对该控件的点击操作。在检测到作用于该控件的点击操作时,即触发密码输入请求,通过内存空间接收该密码输入请求后,通过串口将该密码输入请求发送至安全芯片。
在一个实施例中,该需要密码输入的操作可为需要进行支付操作,当用户点击了终端上相应的进行支付操作的控件,用户空间可在检测到该点击操作时生成密码输入请求,并将与支付操作相应的密码输入请求发送至安全芯片。
在一个实施例中,终端还包括用户身份信息采集装置,在检测到作用于用于进入密码输入状态的控件的点击操作之后,还可以通过用户身份信息采集装置采集预设的用户身份信息并进行验证,身份验证成功即触发相应的密码输入请求,比如,用户可将指纹设置为用户身份验证信息,在接收到预设的指纹信息录入之后,用户空间才会生成密码输入请求;再比如说,用户可通过身份标识与终端通过信息传输进行身份验证,比如将带有身份信息的磁卡,靠近该终端,通过近距离无线通讯技术(NFC)触发用户空间生成密码输入请求。
步骤S204,调用用户空间接收安全芯片根据密码输入请求生成的随机键盘数据,根据随机键盘数据展示随机布局的键盘。
本实施例中,安全芯片可在接收到用户空间发送的密码输入请求之后,按照预设的随机生成方式生成随机键盘数据。随机键盘数据为用于在密码输入界面的随机布局的键盘上展示键值的数据。随机键盘数据与键盘上按键坐标数据一一对应。具体地,随机键盘数据可为只包含0至9十个数字,或者只包含26个英文字母及十个数字,或者包含26个英文字母、十个数字及常用标点符号等,且每个数字、字母或符号仅出现一次。预设的随机生成方式包括但不限于,直接生成随机键盘数据,或者生成随机键盘数据的排序序列,根据该排序序列生成随机键盘数据。进一步地,用户空间可接收由安全芯片传送的随机键盘数据,终端可读取用户空间中所存储的随机键盘数据,并通过显示屏展示对应随机布局的键盘,使得用户能够通过对该键盘进行点击操作从而实现密码输入。其中,随机布局的键盘的键值,与随机键盘数据相对应,也可为只包含0至9十个数字,或者只包含26个英文字母,或者只包含26个英文字母及十个数字,或者包含26个英文字母、十个数字及常用标点符号等。
在一个实施例中,随机键盘数据只包含1234567890十个数字。可以直接生成随机键盘数据0836125974;或者可以生成随机键盘数据的排序序列0836125974,根据该排序序列将初始的1234567890转换成随机键盘数据,转换后的随机键盘数据中,1在原0位置,2在原8位置,3在原3位置,4在原6位置,……0在原4位置,转换成的随机键盘数据为563074921,可将每次生成的随机键盘数据作为下一次生成随机键盘数据的初始数据。
在一个实施例中,随机键盘数据可为只包含0至9这十个数字的数字序列,且对应的随机布局的键盘的键值也只包含0至9十个数字。举例来说,正常布局的键盘如图3a所示,且每个数字都有其固定对应的位置,若用户空间接收到安全芯片发送的随机键盘数据,如0836125974,则生成的随机布局的键盘如图3b所示,原1位置对应的键值为0,原2位置对应的键值为8,原3位置对应的键值为3,……,原0位置对应的键值为4。该随机布局的键盘还可包括除了与随机键盘数据相对应的键值之外的固定按键,比如清空键、删除键、取消键和确认键等。
在一个实施例中,随机布局的键盘的布局类型可为全键盘,如图4所示,该键盘按键的键值可包含26个英文字母、十个数字及常用标点符号等,可以通过点击该键盘上一个切换键进行展示不同类别按键的操作,该键盘还包括大小写切换键、删除键、空格键、确认键。具体的键盘可以包括比图中所示更多或更少的按键,或者组合某些按键,或者具有不同的按键布置。比如,该键盘还可不包括大小写切换键和空格键。
步骤S206,调用内存中的内核空间获取通过所述键盘输入的密码坐标数据,并将所述密码坐标数据发送至所述安全芯片,以使所述安全芯片根据所述密码坐标数据和随机键盘数据生成用户输入的密码明文。
本实施例中,内核空间是内存中用于存放***内核的内存空间。其中,***内核是操作***的核心部分,是用于为应用程序提供对计算机硬件的安全访问的一部分软件。密码坐标数据包括但不限于,在用户进行密码输入时,通过直接作用于终端触摸屏上的触碰操作,或者通过鼠标在屏幕键盘上进行的点击操作,所产生的与该触碰或者点击位置相对应的坐标数据。在随机布局的键盘中,每一个按键都有其对应的坐标数据,用户可根据所展示的按键的键值进行触碰或者点击该按键进行选取。密码明文是指用户实际输入用于密码验证的密码数据。与随机键盘数据相对应,密码明文也可以只包含0至9十个数字,或者只包含26个英文字母,或者只包含26个英文字母及十个数字,或者包含26个英文字母、十个数字及常用标点符号等。具体地,在安全芯片中,存储有密码坐标数据和随机键盘数据一一对应的对照表。安全芯片通过串口接收到内核空间发送的密码坐标数据后,可根据对照表解析该密码坐标数据得到密码明文。本事实施例中,通过设置相应的安全芯片,仅在安全芯片中生成密码明文,并将生成该密码明文的随机键盘数据和密码坐标数据分别单独存放在用户空间和内核空间中,使得无法从内核空间和用户空间中的任意一方中直接得出密码明文,降低了密码明文被窃取的风险,增加了密码被破解的难度,提高了密码输入的安全性。
举例来说,当所生成的随机布局的键盘如图3b所示,在进行密码输入时,若输入的密码1234,按键1所对应的坐标数据可为(2,2),按键2所对应的坐标数据可为(3,2),按键3所对应的坐标数据可为(3,1),按键4所对应的坐标数据可为(2,4),则内核空间获取的密码坐标数据可为(2,2)、(3,2)、(3,1)、(2,4)。如图5所示,展示了一个密码坐标数据和随机键盘数据一一对应的对照表。当安全芯片接收到的密码坐标数据为(3,1)、(2,1)、(3,3)、(1,2),则可根据对照表进行比对,可知(3,1)对应5,(2,1)对应6,(3,3)对应7,(1,2)对应8,解析出与该密码坐标数据对应的密码明文为5678。
在一个实施例中,随机布局的键盘上还包括删除键和/或清除键。若接收到作用于删除键触碰或者点击操作,可调用内核空间获取该删除键相应的坐标数据,并发送至安全芯片,安全芯片可解析该坐标数据,并对安全芯片中的密码明文作删除相应位数的操作,如安全芯片中没有密码明文,则无法进行删除操作。若接收到作用于清除键的触碰或者点击操作,可调用内核空间获取该清除键相应的坐标数据,并发送至安全芯片,安全芯片可解析该坐标数据,并清空安全芯片中的密码明文。
上述的密码输入方法,调用用户空间获取密码输入请求并发送至安全芯片,调用用户空间接收由安全芯片根据该密码输入请求生成的随机键盘数据,根据随机键盘数据展示对应的随机布局的键盘,调用内核空间获取用户在随机布局的键盘上输入的密码坐标数据,并将该密码坐标数据发送至安全芯片,以使得安全芯片根据密码坐标数据和随机键盘数据的对应关系生成用户所输入的密码明文。通过设置相应的安全芯片,仅在安全芯片中生成密码明文,并将生成该密码明文的随机键盘数据和密码坐标数据分别单独存放在用户空间和内核空间中,使得无法从内核空间和用户空间中的任意一方中直接得出密码明文,降低了密码明文被窃取的风险,增加了密码被破解的难度,提高了密码输入的安全性。
在一个实施例中,调用内核空间获取键盘输入的密码坐标数据之后,还包括调用内核空间拦截向用户空间上报的密码坐标数据。
具体地,如图6所示,内核空间拦截密码坐标数据的过程具体包括以下步骤:
步骤S602,调用内核空间接收安全芯片根据密码输入请求生成密码坐标数据获取指令。
本实施例中,密码坐标数据获取指令是指安全芯片根据接收到的密码输入请求所生成的指令,用于控制内核空间获取并拦截用户在随机布局的键盘上输入的密码坐标数据。具体地,安全芯片可通过硬件管脚发送密码坐标数据获取指令管理内核空间获取及拦截密码坐标数据的时间。
步骤S604,调用内核空间获取用户在随机布局的键盘上输入的密码坐标数据,并根据密码坐标数据获取指令拦截向用户空间上报的密码坐标数据,将密码坐标数据发送至安全芯片。
本实施例中,调用内核空间获取到密码坐标数据获取指令之后,可调用内核空间获取根据直接作用于终端触摸屏上的触碰操作,或者通过鼠标在屏幕键盘上进行的点击操作,所产生的与该触碰或者点击位置相对应的坐标数据。其中,该坐标数据包括但不限于密码坐标数据。密码坐标数据是指用户进行密码输入时在随机布局的键盘上通过点击或者触碰通过随机键盘数据生成的具有相应键值的按键所产生的坐标数据。进一步地,可调用内核空间拦截内核空间向用户空间上报的密码坐标数据,比如可通过驱动代码拦截该密码坐标数据,并通过串口将密码坐标数据发送至安全芯片,从而避免用户空间获取到密码坐标数据。
在一个实施例中,步骤S210之后,该密码输入方法还包括:通过安全芯片根据密码坐标数据和随机键盘数据生成用户输入的密码明文,将密码明文转化成密码密文,并将密码密文发送至用户空间。
其中,密码密文可以是密码输入后用于在用户空间进行下一步操作的转换数据,可避免用户空间直接获得密码明文进行处理。其中,下一步操作包括但不限于密码录入、密码验证等。具体地,当安全芯片接收到完整的密码坐标数据时,如当密码坐标数据达到预设的长度时,安全芯片可将完整的密码坐标数据加密成一个密码密文,并通过串口将该密码密文发送至用户空间。
进一步地,安全芯片可按照预设的加密方式将密码明文转换成密码密文,其中,预设的加密方式包括但不限于AES(Advanced Encryption Standard,高级加密标准)等对称加密算法、MD5(Message Digest Algorithm MD5,消息摘要算法第五版)等单向hash算法、PBKDF2(Password-Based Key Derivation Function 2,应用一个伪随机函数以导出密钥)算法等其中一种或多种的组合。安全芯片生成密码密文后,将密码密文发送至用户空间,以进行下一步操作。
举例来说,安全芯片将密码明文1234按照预设的DES(Data EncryptionStandard,数据加密标准)算法进行加密,生成的密码密文,如密码密文块(PINBLOCK),为abcd,则安全芯片将abcd发送至用户空间进行密码验证。用户空间预设的验证密码数据也为经过相同加密方式加密生成的密码密文块。
上述实施例,通过在安全芯片中将密码明文按照预设的加密方式转换成密码密文,将密码密文发送至用户空间,而密码明文只出现在安全芯片中,提高了窃取或破解密码明文的难度。
在一个实施例中,如图7所示,步骤S210之后,该密码输入方法还包括结束密码输入的步骤,该步骤具体包括:
步骤S702,调用用户空间获取结束密码输入请求并发送到安全芯片。
本实施例中,结束密码输入请求可为用户空间在检测到用户作用于该终端的结束密码输入操作所生成的请求。其中,结束密码输入操作包括但不限于将终端锁屏、点击相应的结束密码输入的按键等。其中,结束密码输入的按键可为确认键或取消键等。结束密码输入请求还可为在检测到密码输入数据长度达到预设的密码长度时触发的请求,终端无需提供相应的控件,节约密码输入的时间。调用用户空间获取到该结束密码输入请求后,将该结束密码输入请求发送至安全芯片
举例来说,终端可针对结束密码输入在键盘上提供相应的按键,在检测到作用于该按键的触碰或者点击操作时,可触发结束密码输入请求,调用用户空间获取到该结束密码输入请求时,用户空间可通过串口将结束密码输入请求发送至安全芯片。或者,当安全芯片接收到预设位数的密码坐标数据时,则认为用户空间发出了结束密码输入请求,比如,若预设的密码长度为四位数,当安全芯片接收到四个密码坐标数据时,则认为用户空间发出了结束密码输入请求。
步骤S704,调用内核空间接收安全芯片根据密码输入请求生成的密码输入结束指令,并根据密码输入结束指令停止内核空间获取密码坐标数据。
本实施例中,密码输入结束指令为安全芯片获取到结束密码输入请求后所生成的相应指令。进一步地,安全芯片可通过设置硬件管脚将该密码输入结束指令发送至内核空间,以使得内核空间停止获取坐标数据。具体地,在接收到密码输入结束指令之前,调用内核空间实时获取与作用于该终端的点击或者触碰操作相对应的坐标数据,当内核空间接收到密码输入结束指令之后,停止调用内核空间获取坐标数据。
在一个实施例中,随机布局的键盘上还包括固定的用于结束密码输入的取消键。当检测到作用于该取消键的触碰或者点击操作时,可调用内核空间获取该取消键对应的坐标数据,将该坐标数据发送给安全芯片,安全芯片在解析该坐标数据后获取得到结束密码输入请求,并可将该取消键对应的数据发送到用户空间,用户空间可根据该取消键对应的数据退出密码输入状态。比如说,当检测到作用于对密码输入界面上取消键的点击操作之后,终端将会退出该界面。
上述实施例,通过由安全芯片控制内核空间停止获取密码坐标数据,避免了用户在结束密码输入后,调用内核空间获取不必要的坐标数据,节约了资源,并提高了已输入的密码坐标数据被篡改的难度。
在一个实施例中,步骤S210之后,还包括:调用用户空间接收安全芯片发送的预设的密码展示数据,并展示密码展示数据。
本实施例中,预设的密码展示数据为用户空间用于展示在终端显示屏上的数据。其中,预设的密码展示数据可为一个预设的统一键值,比如“*”;或者也可为安全芯片根据用户每个输入的键值按照预设的方式转换生成的标识。具体地,安全芯片可通过串口将预设的密码展示数据发送到用户空间,且安全芯片每接收到内核空间发送的一个密码坐标数据,便发送一个预设的密码展示数据给用户空间进行展示。用户在触碰或者点击随机布局的键盘上的按键后,显示屏上会显示相应数量的密码显示数据。举例来说,安全芯片可发送统一的键值,“*”,至安全芯片,当用户输入1时,显示屏上显示的数据为*,当用户输入1234时,显示屏上显示的数据为****。
上述实施例,通过在显示屏上展示安全芯片发送的密码展示数据,避免了他人在用户密码输入时进行窥视从而盗用密码明文的风险,提高了密码输入的安全性。
在一个实施例中,随机布局的键盘上还包括删除键和/或清除键。若触碰或者点击删除键,显示屏上显示的数据会相应少相应位数,若触碰或者点击清除键,显示屏上显示的数据会清空。
优选地,如图8所示,在一个实施例中,提供了一种密码输入方法。该密码输入方法具体包括以下过程:
密码输入前,用户通过密码输入操作触发密码输入请求,调用内存中的用户空间获取密码输入请求并发送到与内存连接的安全芯片。通过所述用户空间接收所述安全芯片根据密码输入请求生成的随机键盘数据,根据所述随机键盘数据展示随机布局的键盘。具体地,通过串口将用户空间获取的密码输入请求发送到安全芯片,通过串口将安全芯片根据密码输入请求生成的随机键盘数据返回到用户空间。
密码输入时,调用内存中的内核空间获取安全芯片根据密码输入请求生成的密码坐标数据获取指令,调用内存中的内核空间获取并拦截通过键盘输入的密码坐标数据,并将密码坐标数据发送至安全芯片,以使安全芯片根据密码坐标数据和随机键盘数据生成用户输入的密码明文。具体地,通过硬件管脚将安全芯片生成的密码坐标数据获取指令发送至内核空间。安全芯片中存储有由密码坐标数据和随机键盘数据构成的对照表,安全芯片可根据该对照表生成用户实际输入的密码明文。进一步地,每通过安全芯片接收一个密码坐标数据,就调用用户空间接收安全芯片发送的预设的密码展示数据,并展示密码展示数据。具体地,可通过串口将安全芯片中预设的密码展示数据上传至用户空间,可通过显示屏将终端接收的密码展示数据展示给用户。
结束密码输入时,用户通过结束密码输入操作触发结束密码输入请求,调用用户空间获取结束密码输入请求并发送到安全芯片。调用内核空间接收安全芯片根据密码输入请求生成的密码输入结束指令,并根据密码输入结束指令停止内核空间获取密码坐标数据。具体地,通过串口将用户空间获取的结束密码输入请求发送到安全芯片,通过硬件管脚将安全芯片生成的密码输入结束指令发送到内核空间。进一步地,通过安全芯片根据密码坐标数据和随机键盘数据生成用户输入的密码明文,将密码明文转化成密码密文,将密码密文发送至用户空间。具体地,通过串口将安全芯片生成的密码密文发送至用户空间进行下一步操作。
上述实施例中,通过设置相应的安全芯片,仅在安全芯片中生成密码明文,并将生成该密码明文的随机键盘数据和密码坐标数据分别单独存放在用户空间和内核空间中,使得无法从内核空间和用户空间中的任意一方中直接得出密码明文,降低了密码明文被窃取的风险,增加了密码被破解的难度,而且通过安全芯片控制内核空间开始和停止获取密码数据的时间,可以及时获取密码数据,避免浪费资源,通过展示安全芯片上传的密码展示数据给用户,避免了密码输入时他人窥视从而盗用密码的风险,从而提高了密码输入的安全性。
在一个实施例中,如图9所示,提供了一种密码输入装置900,该装置包括:
请求获取模块902,用于调用内存中的用户空间获取密码输入请求并发送到与内存连接的安全芯片。
键盘生成模块904,用于调用用户空间接收安全芯片根据密码输入请求生成的随机键盘数据,根据随机键盘数据展示随机布局的键盘。
密码输入模块906,用于调用内存中的内核空间获取通过键盘输入的密码坐标数据,并将密码坐标数据发送至安全芯片,以使安全芯片根据密码坐标数据和随机键盘数据生成用户输入的密码明文。
在一个实施例中,密码输入模块906还用于调用内核空间拦截向用户空间上报的密码坐标数据。
在一个实施例中,密码输入模块906还用于通过安全芯片根据密码坐标数据和随机键盘数据生成用户输入的密码明文,将密码明文转化成密码密文,并将密码密文发送至用户空间。
在一个实施例中,请求获取模块902还用于调用用户空间获取结束密码输入请求并发送到安全芯片;密码输入模块906还用于调用内核空间接收安全芯片根据密码输入请求生成的密码输入结束指令,并根据密码输入结束指令停止内核空间获取密码坐标数据。
在一个实施例中,密码输入模块906还用于调用用户空间接收安全芯片发送的预设的密码展示数据,并展示密码展示数据。
一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现以下步骤:调用内存中的用户空间获取密码输入请求并发送到与所述内存连接的安全芯片;通过所述用户空间接收所述安全芯片根据密码输入请求生成的随机键盘数据,根据所述随机键盘数据展示随机布局的键盘;调用内存中的内核空间获取通过所述键盘输入的密码坐标数据,并将所述密码坐标数据发送至所述安全芯片,以使所述安全芯片根据所述密码坐标数据和随机键盘数据生成用户输入的密码明文。
在一个实施例中,该程序被处理器执行调用内存中的内核空间获取通过键盘输入的密码坐标数据的步骤之后,还实现以下步骤:通过所述内核空间拦截向所述用户空间上报的密码坐标数据。
在一个实施例中,该程序被处理器执行将所述密码坐标数据发送至所述安全芯片的步骤之后,还实现以下步骤:通过所述安全芯片根据所述密码坐标数据和随机键盘数据生成用户输入的密码明文,将所述密码明文转化成密码密文,并将所述密码密文发送至所述用户空间。
在一个实施例中,该程序被处理器执行将所述密码坐标数据发送至所述安全芯片的步骤之后,还实现以下步骤:通过所述用户空间获取结束密码输入请求并发送到所述安全芯片;通过所述内核空间接收所述安全芯片根据密码输入请求生成的密码输入结束指令,并根据所述密码输入结束指令停止内核空间获取所述密码坐标数据。
在一个实施例中,该程序被处理器执行将所述密码坐标数据发送至所述安全芯片的步骤之后,还实现以下步骤:通过所述用户空间接收所述安全芯片发送的预设的密码展示数据,并展示所述密码展示数据。
一种计算机设备,包括内存储器、安全芯片和处理器,所述内存储器包含用户空间和内核空间,所述处理器通过***总线与所述内存储器和所述安全芯片连接,所述处理器执行所述程序时实现以下步骤:调用内存中的用户空间获取密码输入请求并发送到与所述内存连接的安全芯片;通过所述用户空间接收所述安全芯片根据密码输入请求生成的随机键盘数据,根据所述随机键盘数据展示随机布局的键盘;调用内存中的内核空间获取通过所述键盘输入的密码坐标数据,并将所述密码坐标数据发送至所述安全芯片,以使所述安全芯片根据所述密码坐标数据和随机键盘数据生成用户输入的密码明文。
在一个实施例中,上述的处理器执行程序时所实现的调用内存中的内核空间获取通过键盘输入的密码坐标数据的步骤之后,还实现以下步骤:通过所述内核空间拦截向所述用户空间上报的密码坐标数据。
在一个实施例中,上述的处理器执行程序时所实现的将所述密码坐标数据发送至所述安全芯片的步骤之后,还实现以下步骤:通过所述安全芯片根据所述密码坐标数据和随机键盘数据生成用户输入的密码明文,将所述密码明文转化成密码密文,并将所述密码密文发送至所述用户空间。
在一个实施例中,上述的处理器执行程序时所实现的将所述密码坐标数据发送至所述安全芯片的步骤之后,还实现以下步骤:通过所述用户空间获取结束密码输入请求并发送到所述安全芯片;通过所述内核空间接收所述安全芯片根据密码输入请求生成的密码输入结束指令,并根据所述密码输入结束指令停止内核空间获取所述密码坐标数据。
在一个实施例中,上述的处理器执行程序时所实现的将所述密码坐标数据发送至所述安全芯片的步骤之后,还实现以下步骤:通过所述用户空间接收所述安全芯片发送的预设的密码展示数据,并展示所述密码展示数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种密码输入方法,所述方法包括:
调用内存中的用户空间获取密码输入请求并发送到与所述内存连接的安全芯片;
调用所述用户空间接收所述安全芯片根据密码输入请求生成的随机键盘数据,根据所述随机键盘数据展示随机布局的键盘;
调用内存中的内核空间获取通过所述键盘输入的密码坐标数据,并将所述密码坐标数据发送至所述安全芯片,以使所述安全芯片根据所述密码坐标数据和随机键盘数据生成用户输入的密码明文。
2.根据权利要求1所述的密码输入方法,其特征在于,在所述调用内存中的内核空间获取通过所述键盘输入的密码坐标数据之后,还包括:
调用所述内核空间拦截向所述用户空间上报的密码坐标数据。
3.根据权利要求1所述的密码输入方法,其特征在于,在所述将所述密码坐标数据发送至所述安全芯片之后,还包括:
通过所述安全芯片根据所述密码坐标数据和随机键盘数据生成用户输入的密码明文,将所述密码明文转化成密码密文,并将所述密码密文发送至所述用户空间。
4.根据权利要求1所述的密码输入方法,其特征在于,在所述将所述密码坐标数据发送至所述安全芯片之后,还包括:
调用所述用户空间获取结束密码输入请求并发送到所述安全芯片;
调用所述内核空间接收所述安全芯片根据密码输入请求生成的密码输入结束指令,并根据所述密码输入结束指令停止内核空间获取所述密码坐标数据。
5.根据权利要求1所述的密码输入方法,其特征在于,在所述将所述密码坐标数据发送至所述安全芯片之后,还包括:
调用所述用户空间接收所述安全芯片发送的预设的密码展示数据,并展示所述密码展示数据。
6.一种密码输入装置,其特征在于,所述装置包括:
请求获取模块,用于调用内存中的用户空间获取密码输入请求并发送到与所述内存连接的安全芯片;
键盘生成模块,用于调用所述用户空间接收所述安全芯片根据密码输入请求生成的随机键盘数据,根据所述随机键盘数据展示随机布局的键盘;
密码输入模块,用于调用内存中的内核空间获取通过所述键盘输入的密码坐标数据,并将所述密码坐标数据发送至所述安全芯片,以使所述安全芯片根据所述密码坐标数据和随机键盘数据生成用户输入的密码明文。
7.根据权利要求6所述的装置,其特征在于,所述密码输入模块还用于调用所述内核空间拦截向所述用户空间上报的密码坐标数据。
8.根据权利要求6所述的装置,其特征在于,所述密码输入模块还用于通过所述安全芯片根据所述密码坐标数据和随机键盘数据生成用户输入的密码明文,将所述密码明文转化成密码密文,并将所述密码密文发送至所述用户空间。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1至5中任意一项所述方法的步骤。
10.一种计算机设备,其特征在于,包括存储器、安全芯片和处理器,所述存储器包括内存储器和非易失性存储介质,所述内存储器包含用户空间和内核空间,所述处理器通过***总线与所述内存储器和所述安全芯片连接,所述非易失性存储介质存储有操作***和计算机可执行指令,所述处理器执行所述计算机可执行指令时实现权利要求1至5中任意一项所述方法的步骤。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710327135.2A CN107273736B (zh) | 2017-05-10 | 2017-05-10 | 密码输入方法、装置、计算机设备和存储介质 |
PCT/CN2017/099581 WO2018205456A1 (zh) | 2017-05-10 | 2017-08-30 | 密码输入方法、计算机设备和存储介质 |
US16/463,530 US20190377863A1 (en) | 2017-05-10 | 2017-08-30 | Password input method, computer device and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710327135.2A CN107273736B (zh) | 2017-05-10 | 2017-05-10 | 密码输入方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107273736A CN107273736A (zh) | 2017-10-20 |
CN107273736B true CN107273736B (zh) | 2019-08-30 |
Family
ID=60074190
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710327135.2A Active CN107273736B (zh) | 2017-05-10 | 2017-05-10 | 密码输入方法、装置、计算机设备和存储介质 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20190377863A1 (zh) |
CN (1) | CN107273736B (zh) |
WO (1) | WO2018205456A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108009057B (zh) * | 2017-11-14 | 2021-04-02 | 东软集团股份有限公司 | 用于密码输入的测试方法、装置、存储介质及电子设备 |
CN108154055B (zh) * | 2018-01-10 | 2021-09-24 | 上海展扬通信技术有限公司 | 密码输入方法、移动终端及存储介质 |
US11281788B2 (en) * | 2019-07-01 | 2022-03-22 | Bank Of America Corporation | Transient pliant encryption with indicative nano display cards |
CN112927443A (zh) * | 2019-12-06 | 2021-06-08 | ***通信集团重庆有限公司 | 激光矩阵键盘的随机按键实现方法、装置及上位机 |
US20200319812A1 (en) * | 2020-06-03 | 2020-10-08 | Intel Corporation | Intermediary for storage command transfers |
CN112069263B (zh) * | 2020-09-09 | 2023-08-25 | 上海万向区块链股份公司 | 基于区块链的流程数据审核方法、***及介质 |
CN112462980B (zh) * | 2020-12-15 | 2021-07-20 | 深圳市捷诚技术服务有限公司 | 密码防截取方法、装置及pos机 |
CN113806730B (zh) * | 2021-09-18 | 2024-03-08 | 北京安天网络安全技术有限公司 | 一种安全密码输入方法、***、设备及介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101808077A (zh) * | 2009-02-13 | 2010-08-18 | 普天信息技术研究院有限公司 | 信息安全输入处理***和方法以及智能卡 |
CN103729605A (zh) * | 2014-01-13 | 2014-04-16 | 深圳市中航软件技术有限公司 | 基于触摸屏的密码输入方法和触控终端 |
CN104156642A (zh) * | 2014-07-22 | 2014-11-19 | 杭州晟元芯片技术有限公司 | 一种基于安全触控屏控制芯片的安全密码输入***和方法 |
CN104281272A (zh) * | 2013-07-11 | 2015-01-14 | 北京数码视讯科技股份有限公司 | 密码输入处理方法及装置 |
CN104618359A (zh) * | 2015-01-22 | 2015-05-13 | 成都西山居世游科技有限公司 | 一种用户登录过程安全加固方法及*** |
CN105760741A (zh) * | 2016-02-19 | 2016-07-13 | 北京智能果技术有限公司 | 密码输入方法、安全芯片及*** |
CN105956857A (zh) * | 2016-05-06 | 2016-09-21 | 上海动联信息技术股份有限公司 | 一种安全虚拟密码键盘的生成***以及方法 |
CN106022172A (zh) * | 2016-05-24 | 2016-10-12 | 中国银行股份有限公司 | 一种保护密码键盘按键输入操作的密码输入方法及*** |
-
2017
- 2017-05-10 CN CN201710327135.2A patent/CN107273736B/zh active Active
- 2017-08-30 WO PCT/CN2017/099581 patent/WO2018205456A1/zh active Application Filing
- 2017-08-30 US US16/463,530 patent/US20190377863A1/en not_active Abandoned
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101808077A (zh) * | 2009-02-13 | 2010-08-18 | 普天信息技术研究院有限公司 | 信息安全输入处理***和方法以及智能卡 |
CN104281272A (zh) * | 2013-07-11 | 2015-01-14 | 北京数码视讯科技股份有限公司 | 密码输入处理方法及装置 |
CN103729605A (zh) * | 2014-01-13 | 2014-04-16 | 深圳市中航软件技术有限公司 | 基于触摸屏的密码输入方法和触控终端 |
CN104156642A (zh) * | 2014-07-22 | 2014-11-19 | 杭州晟元芯片技术有限公司 | 一种基于安全触控屏控制芯片的安全密码输入***和方法 |
CN104618359A (zh) * | 2015-01-22 | 2015-05-13 | 成都西山居世游科技有限公司 | 一种用户登录过程安全加固方法及*** |
CN105760741A (zh) * | 2016-02-19 | 2016-07-13 | 北京智能果技术有限公司 | 密码输入方法、安全芯片及*** |
CN105956857A (zh) * | 2016-05-06 | 2016-09-21 | 上海动联信息技术股份有限公司 | 一种安全虚拟密码键盘的生成***以及方法 |
CN106022172A (zh) * | 2016-05-24 | 2016-10-12 | 中国银行股份有限公司 | 一种保护密码键盘按键输入操作的密码输入方法及*** |
Also Published As
Publication number | Publication date |
---|---|
US20190377863A1 (en) | 2019-12-12 |
CN107273736A (zh) | 2017-10-20 |
WO2018205456A1 (zh) | 2018-11-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107273736B (zh) | 密码输入方法、装置、计算机设备和存储介质 | |
KR101878149B1 (ko) | 패스워드의 보안 입력 및 처리 장치, 시스템 및 방법 | |
US9262616B2 (en) | Simplified multi-factor authentication | |
US9590978B2 (en) | Verification of password using a keyboard with a secure password entry mode | |
CN112425114B (zh) | 受公钥-私钥对保护的密码管理器 | |
US8176324B1 (en) | Method and system for a secure virtual keyboard | |
CN101340281B (zh) | 针对在网络上进行安全登录输入的方法和*** | |
US8621214B2 (en) | Document encryption and decryption | |
CA2686696C (en) | Simplified biometric character sequence entry | |
CN108229956A (zh) | 网银交易方法、装置、***以及移动终端 | |
CN110378097A (zh) | 保障传感器数据安全 | |
CN113661699B (zh) | 用于客户支持呼叫的预认证的***和方法 | |
CN110401538A (zh) | 数据加密方法、***以及终端 | |
CA2686691C (en) | Simplified multi-factor authentication | |
CN107657187A (zh) | 一种应用于Android***的键盘输入方法和*** | |
CN117751551A (zh) | 用于安全互联网通信的***和方法 | |
US10845990B2 (en) | Method for executing of security keyboard, apparatus and system for executing the method | |
US20120272060A1 (en) | Electronic file delivering system, relevant mobile communication device, and relevant computer program product | |
KR101791150B1 (ko) | 신뢰된 실행 환경 기반의 보안 핀패드 제공 방법 및 시스템 | |
US10929522B2 (en) | Enhanced level of authentication related to a software client application within a client computing device | |
EP4058921B1 (en) | Device and method for secure communication | |
CN112035901B (zh) | 信息输入方法、装置、电子设备及介质 | |
WO2018017019A1 (en) | Personal security device and method | |
CN118094503A (zh) | 一种控制bios界面访问的方法、***、设备及介质 | |
CN102752270B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |