CN111064743A - 一种安全输入密码的方法及*** - Google Patents
一种安全输入密码的方法及*** Download PDFInfo
- Publication number
- CN111064743A CN111064743A CN201911385177.7A CN201911385177A CN111064743A CN 111064743 A CN111064743 A CN 111064743A CN 201911385177 A CN201911385177 A CN 201911385177A CN 111064743 A CN111064743 A CN 111064743A
- Authority
- CN
- China
- Prior art keywords
- password
- module
- response
- upper computer
- user
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000012795 verification Methods 0.000 claims abstract description 134
- 230000002452 interceptive effect Effects 0.000 claims description 95
- 230000003993 interaction Effects 0.000 claims description 15
- 239000000284 extract Substances 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 3
- 238000012790 confirmation Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using 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/34—User authentication involving the use of external additional devices, e.g. dongles or smart cards
-
- 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/34—User authentication involving the use of external additional devices, e.g. dongles or smart cards
- G06F21/35—User authentication involving the use of external additional devices, e.g. dongles or smart cards communicating wirelessly
-
- 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/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/101—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities
- G06F21/1013—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities to locations
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
- H04L63/0838—Network architectures or network communication protocols for network security for authentication of entities using passwords using one-time-passwords
-
- 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)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computing Systems (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Telephone Function (AREA)
Abstract
本发明为一种安全输入密码的方法,包括:智能密钥设备接收上位机发送的密码验证请求,生成并显示随机排列的字符,向上位机返回密码验证响应;上位机接收到密码验证响应时显示密码输入界面,等待用户输入,当接收到用户输入时,根据用户输入得到密码获取响应,向智能密钥设备发送密码获取响应;智能密钥设备根据接收到的密码获取响应判断用户输入是否正确。通过本发明,实现了一种用户每一次输入密码均需点击不同位置的密码输入方案,另外,通过数字在上位机屏幕不显示的方式,进一步保证了用户数字资产的安全。
Description
技术领域
本发明涉及信息安全领域,尤其涉及一种安全输入密码的方法及***。
背景技术
随着互联网行业的快速发展,网络交互在生活中得到越来越广泛的应用,网络交互中输入密码的安全也成了一个亟待解决的问题;智能密钥设备是指将私钥单独储存在一个芯片中,与互联网隔离,即连即用,很大程度上保证了网络交互的安全,随着上层软件要开放源码,传统的密码保护手段已经无法保护硬件的密码,无论是采用哪种加密方式,只要上层软件代码被篡改,硬件密码就有丢失的风险。
发明内容
根据本发明,提供一种安全输入密码的方法包括:
步骤s1:智能密钥设备接收上位机发送的密码验证请求,生成并显示随机排列的字符,向上位机返回密码验证响应;
步骤s2:上位机接收密码验证响应,显示密码输入界面,等待用户输入,判断是否接收到用户输入,如果是,执行步骤s3;否则,报错,退出;
步骤s3:上位机根据用户输入获取对应位置的第一位置标识,根据第一位置标识得到密码获取响应,向智能密钥设备发送密码获取响应;
步骤s4:智能密钥设备接收密码获取响应,根据密码获取响应、自身保存的密码和随机排列的字符判断用户输入是否正确,如果是,验证成功,向上位机返回验证成功响应;否则,验证失败,向上位机返回验证失败响应。
可选地,步骤s1之前还包括:
步骤s1-1:上位机等待接收用户触发信息,判断是否接收到用户触发信息,如果是,执行步骤s1-2;否则,返回步骤s1-1;
步骤s1-2:上位机判断是否有已经连接的智能密钥设备,如果是,执行步骤s1-6;否则,执行步骤s1-3;
步骤s1-3:上位机发送连接请求;
步骤s1-4:智能密钥设备接收连接请求,生成连接响应,向上位机返回连接响应;
步骤s1-5:上位机接收连接响应,根据连接响应判断与智能密钥设备连接是否成功,如果是,执行步骤s1-6;否则,返回步骤s1-3;
步骤s1-6:上位机判断是否与智能密钥设备配对成功,如果是,执行步骤s1;否则,向智能密钥设备发送配对请求,并提示用户输入配对码,执行步骤s1-7;
步骤s1-7:上位机判断是否接收到用户输入的配对码,如果是,判断配对码是否正确,如果配对码正确,生成密码验证请求,向智能密钥设备发送密码验证请求;如果配对码错误,提示配对码错误,等待用户输入配对码,返回步骤s1-7;否则,退出,结束。
可选地,步骤s1-1中用户触发信息具体为交互签名请求。
可选地,步骤s1中生成并显示随机排列的字符具体为:生成并显示随机图形,随机图形包含可用于用户输入的字符;或者
生成并显示随机排列的字符具体为:生成并显示预设图形,预设图形包含可用于用户输入的随机排列的字符;或者
生成并显示随机排列的字符具体为:生成并显示预设图形,预设图形包含可用于用户输入的随机字符。
可选地,步骤s2中显示密码输入界面具体为:显示与智能密钥设备显示的图形相同的图形,上位机显示的图形中不包含随机排列字符。
可选地,步骤s4之后,还包括:
上位机接收智能密钥设备返回的验证响应,判断验证响应类型,如果为密码验证成功响应,向智能密钥设备发送交互签名请求;
智能密钥设备接收上位机发送的交互签名请求,解析交互签名请求,得到第一交互数据,对第一交互数据进行签名生成交互签名响应,向上位机返回交互签名响应。
可选地,上述方法还包括:当上位机接收到智能密钥设备返回的交互签名响应时,根据交互签名响应得到第二交互数据,根据第二交互数据生成广播请求,向服务器发送广播请求,判断是否接收到服务器返回的响应,如果是,交互成功,结束;否则,报错,结束。
可选地,步骤s3具体为:
上位机根据用户输入获取用户输入的对应位置的第一位置标识,对第一位置标识进行哈希运算得到第一运算结果,将第一运算结果作为密码获取响应,向智能密钥设备发送密码获取响应。
可选地,步骤s4具体包括:
智能密钥设备接收密码获取响应,获取第一运算结果,根据自身保存的用户密码和随机排列的字符获取自身保存的用户密码的对应位置的第二位置标识,对获取到的第二位置标识进行哈希运算,得到第二运算结果,根据第二运算结果判断第一运算结果是否正确,如果是,验证成功;否则,验证失败。
可选地,步骤s3具体为:
上位机根据用户输入获取用户输入的对应位置的第一位置标识,将第一位置标识作为密码获取响应,向智能密钥设备发送密码获取响应。
可选地,步骤s4具体包括:
智能密钥设备接收密码获取响应,获取第一位置标识,对第一位置标识进行顺序拼接得到第一运算结果,根据自身保存的用户密码和随机排列的字符获取自身保存的用户密码的对应位置的第二位置标识,对第二位置标识进行顺序拼接得到第二运算结果,判断第一运算结果与第二运算结果是否相同,如果是,验证成功;否则,验证失败。
可选地,步骤s3具体为:
上位机根据用户输入获取对应位置的第一位置标识,将第一位置标识顺序拼接得到密码获取响应,向智能密钥设备发送密码获取响应。
可选地,步骤s4具体包括:
智能密钥设备接收密码获取响应,分割并提取密码获取响应中的每个第一位置标识,根据第一位置标识确定用户输入的密码,判断用户输入的密码和自身保存的密码是否相同,如果是,验证成功;否则,验证失败。
根据本发明的另一方面,提供一种安全输入密码的***,包括:
智能密钥设备和上位机;
智能密钥设备包括:
第一接收模块,用于接收上位机发送的密码验证请求;
第一返回模块,用于向上位机返回密码验证响应;
第一生成模块,用于当第一接收模块接收到上位机发送的密码验证请求时,生成并显示随机排列的字符;
第一接收模块还用于接收上位机发送的第一运算结果;
第一判断模块,用于当第一接收模块接收到第一运算结果时,根据第一运算结果、自身保存的密码和生成模块生成的随机排列字符判断用户输入是否正确;
第一返回模块还用于当第一判断模块判断出用户输入正确时,向上位机返回验证成功响应;当第一判断模块判断出用户输入错误时,向上位机返回验证失败响应;
上位机包括:
第二接收模块,用于接收智能密钥设备返回的密码验证响应;
第二显示模块,用于当第二接收模块接收到密码验证响应时,显示密码输入界面,等待用户输入;
第二判断模块,用于当第二显示模块显示密码输入界面时,判断是否接收到用户输入;
第二获取模块,用于当第二判断模块判断出接收到用户输入时获取对应位置的第一位置标识,并对第一位置标识进行运算,得到第一运算结果;
第二发送模块,用于将第二获取模块得到的第一运算结果发送给智能密钥设备。
可选地,第二判断模块还用于判断是否接收到用户的触发信息;
第二接收模块还用于接收用户的触发信息;
第二判断模块还用于,当第二接收模块接收到用户的触发信息时,判断是否存在已连接的智能密钥设备;当存在已连接的智能密钥设备时,判断是否接收到用户输入的配对码;
当接收到用户输入的配对码,第二判断模块还用于判断配对码是否正确;
第二发送模块还用于,当第二判断模块判断出上位机不存在已连接的智能密钥设备时,发送连接请求;
第一接收模块还用于接收上位机发送的连接请求;
第一生成模块还用于当第一接收模块接收上位机发送的连接请求时,生成连接响应;
第一返回模块还用于,当第一生成模块生成连接响应时,向上位机返回连接响应;
第二接收模块还用于接收智能密钥设备返回的连接响应;
第二判断模块还用于根据第二接收模块接收到的连接响应判断上位机与智能密钥设备连接是否成功;
第二发送模块还用于当第二判断模块判断出上位机与智能密钥设备配对未成功时,向智能密钥设备发送配对请求;
第二显示模块还用于当第二发送模块向智能密钥设备发送配对请求时,提示用户输入配对码;
第二判断模块还用于当上位机接收到用户输入的配对码时,判断配对码是否正确;
上位机还包括第二生成模块,用于当第二判断模块判断出用户输入的配对码正确时,生成密码验证请求;
第二显示模块还用于当第二判断模块判断出用户输入的配对码错误时,提示配对码错误。
可选地,第二接收模块接收到的用户触发信息具体为交互签名请求。
可选地,第一生成模块具体用于,当第一接收模块接收到上位机发送的密码验证请求时,生成并显示随机图形,随机图形包含可用于用户输入的字符;或者
第一生成模块具体用于,当第一接收模块接收到上位机发送的密码验证请求时,生成并显示预设图形,预设图形包含可用于用户输入的随机排列的字符;或者
第一生成模块具体用于,当第一接收模块接收到上位机发送的密码验证请求时,生成并显示预设图形,预设图形包含可用于用户输入的随机字符。
可选地,第二显示模块具体用于显示和智能密钥设备上显示的相同的图形相同的图形,图形中不包含随机排列的字符。
可选地,第二接收模块还用于接收智能密钥设备返回的验证响应;
第二判断模块还用于当第二接收模块接收到验证响应时,判断验证响应类型;
第二发送模块还用于当第二判断模块判断出验证响应类型为密码验证成功响应时,向智能密钥设备发送交互签名请求;
第一接收模块接收上位机发送的交互签名请求;
智能密钥设备还包括:
解析模块,用于当第一接收模块接收到交互签名请求时,解析交互签名请求得到第一交互数据;
第一生成模块还用于对第一交互数据进行签名生成交互签名响应;
第一返回模块将第一生成模块生成的交互签名响应返回上位机。
可选地,第二接收模块还用于接收智能密钥设备返回的交互签名响应;
第二生成模块还用于当第二接收模块接收到交互签名响应时,根据交互签名响应得到第二交互数据,根据第二交互数据生成广播请求;
第二发送模块还用于向服务器发送第二生成模块生成的广播请求;
第二判断模块还用于判断是否接收到服务器返回的响应。
可选地,第二获取模块具体用于根据用户输入获取用户输入的对应位置的第一位置标识,对第一位置标识进行哈希运算得到第一运算结果,将第一运算结果作为密码获取响应;
第二发送模块具体用于向智能密钥设备发送第二获取模块得到的第一运算结果。
可选地,
第一接收模块还用于接收上位机发送的密码获取响应,获取第一运算结果;
智能密钥设备还包括:
第一获取模块,用于根据自身保存的密码和随机排列的字符获取自身保存的用户密码的对应位置的第二位置标识,对获取到的第二位置标识进行哈希运算,得到第二运算结果;
第一判断模块还用于根据第二运算结果判断第一运算结果是否正确。
可选地,第二获取模块具体用于根据用户输入获取用户输入的对应位置的第一位置标识,将第一位置标识作为密码获取响应;
第二发送模块用于向智能密钥设备发送密码获取响应。
可选地,第一接收模块还用于接收密码获取响应;
第一获取模块还用于获取第一位置标识,对第一位置标识进行顺序拼接得到第一运算结果;
第一获取模块还用于根据自身保存的用户密码和随机排列的字符获取自身保存的用户密码的对应位置的第二位置标识,对第二位置标识进行顺序拼接得到第二运算结果;
第一判断模块还用于第一运算结果与第二运算结果是否相同。
可选地,第二获取模块还用于根据用户输入获取对应位置的第一位置标识,将第一位置标识顺序拼接得到密码获取响应;
第二发送模块还用于向智能密钥设备发送密码获取响应。
可选地,第一接收模块还用于接收密码获取响应;
第一生成模块还用于分割并提取密码获取响应中的每个第一位置标识,根据第一位置标识确定用户输入的密码;
第一判断模块还用于判断用户输入的密码和自身保存的密码是否相同。
通过本发明,实现了一种必须用户参与,并且一次一密码的验证方案,另外,通过数字在上位机屏幕不显示的方式,进一步保证了用户数字资产的安全。
附图说明
图1为本发明实施例1提供了一种安全输入密码的方法的流程图;
图2为本发明实施例2提供了一种安全输入密码的方法的流程图;
图3为本发明实施例2中智能密钥设备和上位机配对时,上位机显示输入配对码的示意图;
图4为本发明实施例2中智能密钥设备和上位机配对时,智能密钥设备显示配对码的示意图;
图5为本发明实施例2的实例中智能密钥设备显示包含数字的九宫格图形的示意图;
图6为本发明实施例2的实例中上位机接收到第一响应后,显示的用户输入密码图形的示意图;
图7为本发明实施例3提供的一种安全输入密码的方法的流程图;
图8为本发明实施例4提供的一种安全输入密码的方法的流程图;
图9为本发明实施例5提供的一种安全输入密码的方法的流程图;
图10为本发明实施例6提供的一种安全输入密码的***的方框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本实施例中,上位机为有显示屏的设备,如手机、电脑等设备,上位机和智能密钥设备之间通过蓝牙、音频或者有线等方式连接。
实施例1
根据本发明实施例1,提供一种安全生成密码的方法包括:
步骤s1:智能密钥设备接收上位机发送的密码验证请求,生成并显示随机排列的字符,向上位机返回密码验证响应;
步骤s2:上位机接收密码验证响应,显示密码输入界面,等待用户输入,判断是否接收到用户输入,如果是,执行步骤s3;否则,报错,退出;
步骤s3:上位机根据用户输入获取对应位置的第一位置标识,根据第一位置标识得到密码获取响应,向智能密钥设备发送密码获取响应;
步骤s4:智能密钥设备接收密码获取响应,根据密码获取响应、自身保存的密码和随机排列的字符判断用户输入是否正确,如果是,验证成功,向上位机返回验证成功响应;否则,验证失败,向上位机返回验证失败响应。
可选地,步骤s1之前还包括:
步骤s1-1:上位机等待接收用户触发信息,判断是否接收到用户触发信息,如果是,执行步骤s1-2;否则,返回步骤s1-1;
步骤s1-2:上位机判断是否有已经连接的智能密钥设备,如果是,执行步骤s1-6;否则,执行步骤s1-3;
步骤s1-3:上位机发送连接请求;
步骤s1-4:智能密钥设备接收连接请求,生成连接响应,向上位机返回连接响应;
步骤s1-5:上位机接收连接响应,根据连接响应判断与智能密钥设备连接是否成功,如果是,执行步骤s1-6;否则,返回步骤s1-3;
步骤s1-6:上位机判断是否与智能密钥设备配对成功,如果是,执行步骤s1;否则,向智能密钥设备发送配对请求,并提示用户输入配对码,执行步骤s1-7;
步骤s1-7:上位机判断是否接收到用户输入的配对码,如果是,判断配对码是否正确,如果配对码正确,生成密码验证请求,向智能密钥设备发送密码验证请求;如果配对码错误,提示配对码错误,等待用户输入配对码,返回步骤s1-7;否则,退出,结束。
可选地,步骤s1-1中用户触发信息具体为交互签名请求。
可选地,步骤s1中生成并显示随机排列的字符具体为:生成并显示随机图形,随机图形包含可用于用户输入的字符;或者
生成并显示随机排列的字符具体为:生成并显示预设图形,预设图形包含可用于用户输入的随机排列的字符;或者
生成并显示随机排列的字符具体为:生成并显示预设图形,预设图形包含可用于用户输入的随机字符。
可选地,步骤s2中显示密码输入界面具体为:显示与智能密钥设备显示的图形相同的图形,上位机显示的图形中不包含随机排列字符。
可选地,步骤s4之后,还包括:
上位机接收智能密钥设备返回的验证响应,判断验证响应类型,如果为密码验证成功响应,向智能密钥设备发送交互签名请求;
智能密钥设备接收上位机发送的交互签名请求,解析交互签名请求,得到第一交互数据,对第一交互数据进行签名生成交互签名响应,向上位机返回交互签名响应。
可选地,上述方法还包括:当上位机接收到智能密钥设备返回的交互签名响应时,根据交互签名响应得到第二交互数据,根据第二交互数据生成广播请求,向服务器发送广播请求,判断是否接收到服务器返回的响应,如果是,交互成功,结束;否则,报错,结束。
可选地,步骤s3具体为:
上位机根据用户输入获取用户输入的对应位置的第一位置标识,对第一位置标识进行哈希运算得到第一运算结果,将第一运算结果作为密码获取响应,向智能密钥设备发送密码获取响应。
可选地,步骤s4具体包括:
智能密钥设备接收密码获取响应,获取第一运算结果,根据自身保存的用户密码和随机排列的字符获取自身保存的用户密码的对应位置的第二位置标识,对获取到的第二位置标识进行哈希运算,得到第二运算结果,根据第二运算结果判断第一运算结果是否正确,如果是,验证成功;否则,验证失败。
可选地,步骤s3具体为:
上位机根据用户输入获取用户输入的对应位置的第一位置标识,将第一位置标识作为密码获取响应,向智能密钥设备发送密码获取响应。
可选地,步骤s4具体包括:
智能密钥设备接收密码获取响应,获取第一位置标识,对第一位置标识进行顺序拼接得到第一运算结果,根据自身保存的用户密码和随机排列的字符获取自身保存的用户密码的对应位置的第二位置标识,对第二位置标识进行顺序拼接得到第二运算结果,判断第一运算结果与第二运算结果是否相同,如果是,验证成功;否则,验证失败。
可选地,步骤s3具体为:
上位机根据用户输入获取对应位置的第一位置标识,将第一位置标识顺序拼接得到密码获取响应,向智能密钥设备发送密码获取响应。
可选地,步骤s4具体包括:
智能密钥设备接收密码获取响应,分割并提取密码获取响应中的每个第一位置标识,根据第一位置标识确定用户输入的密码,判断用户输入的密码和自身保存的密码是否相同,如果是,验证成功;否则,验证失败。
实施例2
根据本发明实施例2,提供了一种安全输入密码的方法,如图2所示,包括:
步骤s201:上位机等待接收用户触发信息,判断是否接收到用户触发信息,如果是,执行步骤s202;否则,继续等待;
可选地,本实施例中,用户触发信息为用私钥签名请求。
步骤s202:上位机判断是否有已经连接的智能密钥设备,如果是,执行步骤s206;否则,执行步骤s203;
可选地,上位机和智能密钥设备可以通过蓝牙或者数据线的方式进行连接;本实施例中,以上位机和智能密钥设备通过蓝牙方式连接为例进行说明;
可选地,步骤s202具体包括:上位机读取上位机的蓝牙模块的参数,判断是否可以成功读取蓝牙模块的参数,如果是,上位机已经连接智能密钥设备,执行步骤s206;否则,上位机未连接智能密钥设备,执行步骤s203;
步骤s203:上位机向智能密钥设备发送连接请求;
步骤s204:智能密钥设备接收上位机发送的连接请求,根据连接请求生成连接响应,向上位机返回连接响应;
可选地,步骤s204具体包括:
步骤s204-1:智能密钥设备接收上位机发送的连接请求,智能密钥设备解析连接请求,获取上位机的终端信息,检查智能密钥设备自身保存的白名单,判断白名单中是否为空,如果是,连接上位机,向上位机返回连接成功响应;否则,执行步骤s204-2;
步骤s204-2:智能密钥设备判断白名单中是否存在与获取到的上位机的终端信息相同的终端信息,如果是,与上位机连接,向上位机返回连接成功响应;否则,拒绝与上位机连接,向上位机返回连接失败响应。
步骤s205:上位机接收连接响应,判断是否与智能密钥设备连接成功,如果是,执行步骤s206;否则,返回步骤s203;
步骤s206:上位机检查配对列表中是否存在该智能密钥设备,如果是,执行步骤s209;否则,向智能密钥设备发送配对请求,并提示用户输入智能密钥设备配对码,执行步骤s207;
例如,上位机向智能密钥设备发送配对请求,并在上位机的屏幕上显示如图3所示的提示用户输入智能密钥设备配对码的图案;
步骤s207:智能密钥设备接收上位机发送的配对请求,生成智能密钥设备配对码,显示智能密钥设备配对码;
其中,智能密钥设备的蓝牙为打开状态;
例如,智能密钥设备显示配对码,如图4所示;
步骤s208:上位机判断是否接收到用户输入的配对码,如果是,判断用户输入的配对码是否正确,如果配对码正确,配对成功,执行步骤s209;如果配对码不正确,提示用户配对码错误,返回步骤s208;否则,退出流程;
可选地,当上位机判断出未接收到用户输入的配对码,退出流程之前还包括:
上位机判断是否等待时长超过第一预设时间,如果是,退出流程,否则,继续执行步骤s208;
例如,上位机判断是否超过2分钟,如果是,退出流程;否则,继续执行步骤s208;
步骤s209:上位机生成密码验证请求,向智能密钥设备发送加密后的密码验证请求;
例如:上位机生成密码验证请求00290000,向智能密钥设备发送验证请求00290000;
其中,00290000为APDU报文。
步骤s210:智能密钥设备接收密码验证请求,生成并显示随机排列的字符,并向上位机返回密码验证响应;
可选地,生成并显示随机排列的字符具体为:生成并显示随机图形,随机图形中包含可用于用户输入密码的字符;
可选地,生成并显示随机排列的字符具体为:生成并显示预设图形,预设图形中包含可用于用户输入密码的随机排列的字符;
可选地,生成并显示随机排列的字符具体为:生成并显示预设图形,预设图形中包含可用于用户输入密码的随机字符;
例如,智能密钥设备接收密码验证请求,生成一组随机数字1-9,并且将数字1-9随机以九宫格的图形显示在屏幕上,如图5所示,并向上位机返回密码验证响应;
可选地,智能密钥生成并显示随机图形,随机图形中包含可用于用户输入的随机数具体为:
可选地,密码为用户预先设置的,存储于智能密钥设备中。
智能密钥生成随机图形,将随机图形每个位置的位置标识保存在标识列表中,当接收到密码验证请求时,将可用于用户输入的所有数字,随机一一对应标识列表中的位置标识。
可选地,智能密钥生成的随机图形为预设图形。
步骤s211:上位机接收密码验证响应,显示与智能密钥设备显示形状相同但不包随机数的图形,等待用户输入密码,判断用户输入密码是否完成,如果是,执行步骤s212;否则,退出,结束。
可选地,上位机判断用户是否点击确认键,如果是,用户输入密码完成;否则,用户未完成密码输入;
可选地,步骤s211中判断为否时,退出之前还包括:
上位机判断等待用户输入密码完成时间是否超过第二预设时间,如果是,退出,结束;否则,继续等待用户输入密码;
例如,第二预设时间为2分钟。
例如,上位机接收密码验证响应,显示与智能密钥设备显示形状相同但不包含数字或字母的图形,如图6所示,等待用户点输入密码,判断是否接收用户输入的密码,如果是,执行步骤s212;否则,退出,结束。
步骤s212:上位机根据用户输入的密码获取用户点击位置对应的第一位置标识,对第一位置标识进行运算,得到第一运算结果,向智能密钥设备发送第一运算结果;
可选地,步骤s212具体为:上位机根据用户输入的密码获取用户点击位置的第一位置标识,对获取到的第一位置标识进行哈希运算,得到第一运算结果,向智能密钥设备发送第一运算结果。
例如,用户在上位机输入的密码为123456,对应位置的第一位置标识为258963,对获取的第一位置标识进行哈希运算,得到第一运算结果2680d8152dabba84c80a50e98afbcd84885b01a67ae276fdb1807fb3cfa66abb,向智能密钥设备发送第一运算结果。
步骤s213:智能密钥设备接收第一运算结果,根据用户预设的密码获取预设密码的位置对应的第二位置标识,对获取到的第二位置标识进行运算,得到第二运算结果;
可选地,步骤s213具体为:智能密钥设备接收第一运算结果,根据用户设置的密码获取对应位置的第二位置标识,并对第二位置标识进行哈希运算,得到第二运算结果;
例如:用户预设的密码为123456,根据用户预设的密码获取对应位置的第二标识为258963,对获取到的第二位置标识进行哈希运算,得到第二运算结果2680d8152dabba84c80a50e98afbcd84885b01a67ae276fdb1807fb3cfa66abb。
步骤s214:智能密钥设备判断第一运算结果和第二运算结果是否匹配,如果是,验证成功,向上位机发送验证成功响应;否则,验证失败,向上位机发送验证失败响应;
可选地,步骤s214具体为:智能密钥设备判断第一运算结果和第二运算结果是否相同,如果是,验证成功,向上位机发送验证成功响应;否则,验证失败,向上位机发送验证失败响应,结束。
例如:智能密钥设备判断第一运算结果2680d8152dabba84c80a50e98afbcd84885b01a67ae276fdb1807fb3cfa66abb和第二运算结果2680d8152dabba84c80a50e98afbcd84885b01a67ae276fdb1807fb3cfa66abb是否相同,如果是,验证成功,向上位机发送验证成功响应;否则,验证失败,向上位机发送验证失败响应,结束。
步骤s215:上位机接收智能密钥设备返回的响应,判断响应类型,如果返回的响应为验证成功响应,执行步骤s216;如果返回的响应为验证失败响应,提示用户密码错误,退出。
可选地,步骤s215中,上位机判断出接收到智能密钥设备返回的响应为失败响应时,提示用户密码输入错误之后,退出之前还包括:
上位机判断用户密码输入错误次数是否达到阈值,如果是,退出;否则,继续提示用户输入密码;
可选地,上述上位机判断用户密码输入错误次数是否达到阈值具体包括:
步骤a:上位机向智能密钥设备发送获取用户密码重试次数请求;
步骤b:智能密钥设备接收获取用户密码重试次数请求,从智能密钥设备储存区获取密码重试次数,并判断重试次数是否为0,若不为0,将重试次数返回上位机;若为0,向上位机返回智能密钥设备锁死响应,退出;
步骤c:上位机接收智能密钥设备返回的结果,判断结果类型,如果是重试次数,继续提示用户输入密码;如果是智能密钥设备锁死响应,退出。
步骤s216:上位机向智能密钥设备发送交互签名请求;
可选的,交互签名请求中包括交互数据;
具体的,交互数据中包括:上次交互数据,账户地址、交互金额。
其中,上次交互数据具体为上次交互的HASH值;
本实施例中,接收到的交互数据具体为:0X 01000000 01
c9f3b07ebfca68fd1a6339d0808fbb013c90c6095fc93901ea77410103489ab700000000ffffffff 01 00bd010500000000 1976a9 14634228c26cf40a02a05db93f2f98b768a8e0e61b 88ac 00000000;
其中,第六字节至第三十七字节0X c9f3b07ebfca68fd1a6339d0808fbb013c90c6095fc93901ea77410103489ab7为上次交互数据,第四十七字节至第五十四字节0X00bd010500000000为交互金额;第五十九字节至第七十八字节0X634228c26cf40a02a05db93f2f98b768a8e0e61b为账户地址。
步骤s217:智能密钥设备接收上位机发送的交互签名请求,解析交互签名请求,得到第一交互数据,对第一交互数据进行签名生成交互签名响应,向上位机返回交互签名响应;
可选地,智能密钥设备根据私钥对第一交互数据进行签名生成交互签名响应;
具体的,私钥通过椭圆曲线数字签名算法对第一交互数据进行签名,例如:本实施例中256比特的子私钥“0X6c5544797a91115dc3330ebd003851d239a706ff2aa2ab70039c5510ddf06420”通过椭圆曲线数字签名算法对交互数据0X0100000001c9f3b07ebfca68fd1a6339d0808fbb013c90c6095fc93901ea77410103489ab700000000ffffffff0100bd0105000000001976a914634228c26cf40a02a05db93f2f98b768a8e0e61b88ac00000000进行签名得到签名结果,生成的签名结果为“0X048aefd78bba80e2d1686225b755dacea890c9ca1be10ec98173d7d5f2fefbbf881a6e918f3b051f8aaaa3fcc18bbf65097ce8d30d5a7e5ef8d1005eaafd4b3fbe”
步骤s218:上位机接收交互签名响应,根据交互签名响应得到第二交互数据,根据第二交互数据生成广播请求,向服务器发送广播请求,判断是否接收到服务器返回的响应,如果是,交互成功,结束;否则,报错,退出。
实施例3
根据本发明实施例3,提供一种安全输入密码的方法,如图7所示,包括:
步骤s301:上位机向智能密钥设备发送连接请求;
步骤s302:智能密钥设备接收上位机发送的连接请求,根据连接请求生成连接响应,向上位机返回连接响应;
步骤s303:上位机接收连接响应,生成密码验证请求,向智能密钥设备发送密码验证请求;
步骤s304:智能密钥设备接收上位机发送的密码验证请求,生成并显示随机排列的字符,记录用户密码对应位置的第一位置标识,生成密码验证响应,向上位机返回密码验证响应;
可选地,生成并显示随机排列的字符具体为:生成并显示随机图形,随机图形中包含可用于用户输入密码的字符;
可选地,生成并显示随机排列的字符具体为:生成并显示预设图形,预设图形中包含可用于用户输入密码的随机排列的字符;
可选地,生成并显示随机排列的字符具体为:生成并显示预设图形,预设图形中包含可用于用户输入密码的随机字符;
步骤s305:上位机显示与智能密钥设备显示图形相同的图形,图形中不包含随机数,提示用户输入,判断是否接收到用户输入,如果是,向智能密钥设备返回用户输入对应位置的第二位置标识,判断用户是否结束本次输入,如果是,生成用户输入结束标识,向智能密钥设备发送用户输入结束标识;否则,返回步骤s305;否则,退出,结束;
步骤s306:智能密钥设备接收上位机发送的用户输入对应位置的第二位置标识,将接收到的第二位置标识顺序保存在位置标识列表中;判断是否接收到上位机发送的输入结束标识,如果是,执行步骤s307;否则,执行步骤s306;
步骤s307:智能密钥设备将位置标识列表中保存的第二位置标识顺序拼接得到第一验证数据;
步骤s308:智能密钥设备顺序拼接第二位置标识得到第二验证数据,判断第一验证数据和第二验证数据是否相同,如果是,验证成功,向上位机返回验证成功响应,结束;否则,验证失败,向上位机返回验证失败响应,结束。
实施例4
根据本发明实施例4,提供一种安全生成密码的方法,如图8所示,包括:
步骤s401:上位机向智能密钥设备发送连接请求;
步骤s402:智能密钥设备接收连接请求,根据连接请求生成连接响应,向上位机返回连接响应;
步骤s403:上位机接收智能密钥设备返回的连接响应,生成密码验证请求,向智能密钥设备发送密码验证请求;
步骤s404:智能密钥设备接收密码验证请求,生成并显示随机排列的字符,依次保存用户密码对应位置的位置标识,保存一个位置标识,计数器加1,计数器初始值为0,向上位机返回密码验证响应;
可选地,生成并显示随机排列的字符具体为:生成并显示随机图形,随机图形中包含可用于用户输入密码的字符;
可选地,生成并显示随机排列的字符具体为:生成并显示预设图形,预设图形中包含可用于用户输入密码的随机排列的字符;
可选地,生成并显示随机排列的字符具体为:生成并显示预设图形,预设图形中包含可用于用户输入密码的随机字符;
步骤s405:上位机显示与智能密钥设备上显示图形相同的图形,随机图形不包含随机数,提示用户输入,判断是否接收到用户输入,如果是,执行步骤s406;否则,退出,结束;
步骤s406:上位机每次接收到用户输入,对用户输入的对应位置的位置标识进行哈希运算,得到第一运算结果,向智能密钥设备发送第一运算结果,并判断用户是否结束本次输入,如果是,生成用户输入结束标识,向上位机发送用户输入结束标识;否则,返回步骤s406;
步骤s407:智能密钥设备依次接收第一运算结果,根据计数器提取用户密码对应位置的当前位随机数,对当前位随机数进行哈希运算得到第二运算结果;
步骤s408:智能密钥设备判断第一运算结果与第二运算结果是否匹配,如果是,执行步骤s409;否则,验证失败,向上位机返回验证失败响应,结束;
步骤s409:智能密钥设备判断是否接收到用户输入结束标识,如果是,验证成功,向上位机返回验证成功响应,置位计数器,结束;否则,生成并显示新的随机图形,随机图形中包含可用于用户输入的随机数,返回步骤s407。
实施例5
根据本发明实施例5,提供一种安全输入密码的方法,如图9所示,包括:
步骤s501:上位机向智能密钥设备发送连接请求;
步骤s502:智能密钥设备接收连接请求,根据连接请求生成连接响应,向上位机返回连接响应;
步骤s503:上位机接收连接响应,生成密码验证请求,向智能密钥设备发送密码验证请求;
步骤s504:智能密钥设备接收密码验证请求,生成并显示随机排列的字符,向上位机返回密码验证响应;
可选地,生成并显示随机排列的字符具体为:生成并显示随机图形,随机图形中包含可用于用户输入密码的字符;
可选地,生成并显示随机排列的字符具体为:生成并显示预设图形,预设图形中包含可用于用户输入密码的随机排列的字符;
可选地,生成并显示随机排列的字符具体为:生成并显示预设图形,预设图形中包含可用于用户输入密码的随机字符;
步骤s505:上位机接收智能密钥设备返回的密码验证响应,显示与智能密钥显示图形相同的图形,图形中不包含随机数,等待用户输入,判断是否接收到用户输入,如果是,将用户输入的对应位置的第一位置标识顺序保存在上位机保存的标识列表中,执行步骤s506;否则,退出,结束;
步骤s506:上位机判断用户是否结束本次输入,如果是,执行步骤s507;否则,继续接收用户输入的对应位置的第一位置标识,并顺序保存在标识列表内,返回步骤s506;
步骤s507:上位机将标识列表中保存的第一位置标识顺序拼接,得到第一验证数据,向智能密钥设备发送第一验证数据;
步骤s508:智能密钥设备接收第一验证数据,分割并提取第一验证数据得到每个位置标识,根据得到的位置标识确定用户输入的密码,判断用户输入的密码和智能密钥设备保存的密码是否相同,如果是,验证成功,向上位机返回验证成功响应,结束;否则,验证失败,向上位机返回验证失败响应,结束。
实施例6
根据本发明实施例6,提供一种安全输入密码的***包括:智能密钥设备10和上位机20;
智能密钥设备1包括:
第一接收模块101,用于接收上位机20发送的密码验证请求;
第一返回模块102,用于向上位机20返回密码验证响应;
第一生成模块103,用于当第一接收模块101接收到上位机20发送的密码验证请求时,生成随机字符串;
第一接收模块101还用于接收上位机20发送的第一运算结果;
第一判断模块104,用于当第一接收模块101接收到第一运算结果时,根据第一运算结果、自身保存的密码和生成模块生成的随即字符串判断用户输入是否正确;
第一返回模块102还用于当第一判断模块104判断出用户输入正确时,向上位机20返回验证成功响应;当第一判断模块104判断出用户输入错误时,向上位机20返回验证失败响应;
上位机20包括:
第二接收模块201,用于接收智能密钥设备10返回的密码验证响应;
第二显示模块202,用于当第二接收模块201接收到密码验证响应时,显示密码输入界面,等待用户输入;
第二判断模块203,用于当第二显示模块202显示密码输入界面时,判断是否接收到用户输入;
第二获取模块204,用于当第二判断模块203判断出接收到用户输入时获取对应位置的第一位置标识,并对第一位置标识进行运算,得到第一运算结果;
第二发送模块205,用于将第二获取模块204得到的第一运算结果发送给智能密钥设备10。
可选地,第二判断模块203还用于判断是否接收到用户的触发信息;
第二接收模块201还用于接收用户的触发信息;
第二判断模块203还用于,当第二接收模块201接收到用户的触发信息时,判断是否存在已连接的智能密钥设备;当存在已连接的智能密钥设备时,判断是否接收到用户输入的配对码;
当接收到用户输入的配对码,第二判断模块203还用于判断配对码是否正确;
第二发送模块205还用于,当第二判断模块203判断出上位机不存在已连接的智能密钥设备时,发送连接请求;
第一接收模块101还用于接收上位机20发送的连接请求;
第一生成模块103还用于当第一接收模块101接收上位机20发送的连接请求时,生成连接响应;
第一返回模块102还用于,当第一生成模块103生成连接响应时,向上位机20返回连接响应;
第二接收模块201还用于接收智能密钥设备10返回的连接响应;
第二判断模块203还用于根据第二接收模块201接收到的连接响应判断上位机20与智能密钥设备10连接是否成功;
第二发送模块205还用于当第二判断模块203判断出上位机20与智能密钥设备10配对未成功时,向智能密钥设备10发送配对请求;
第二显示模块202还用于当第二发送模块205向智能密钥设备10发送配对请求时,提示用户输入配对码;
第二判断模块203还用于当上位机20接收到用户输入的配对码时,判断配对码是否正确;
上位机还包括第二生成模块,用于当第二判断模块203判断出用户输入的配对码正确时,生成密码验证请求;
第二显示模块202还用于当第二判断模块203判断出用户输入的配对码错误时,提示配对码错误。
可选地,第二接收模块201接收到的用户触发信息具体为交互签名请求。
可选地,智能密钥设备10还包括:
第一显示模块,用于当第一生成模块103生成随机字符串后,以特定图形将随机字符串显示在智能密钥设备10上。
可选地,第二显示模块202具体用于显示和智能密钥设备10上显示的相同的特定图形,图形中不显示随机字符。
可选地,第二接收模块201还用于接收智能密钥设备10返回的验证响应;
第二判断模块203还用于当第二接收模块201接收到验证响应时,判断验证响应类型;
第二发送模块205还用于当第二判断模块203判断出验证响应类型为密码验证成功响应时,向智能密钥设备10发送交互签名请求;
第一接收模块101接收上位机发送的交互签名请求;
智能密钥设备还包括:
解析模块,用于当第一接收模块101接收到交互签名请求时,解析交互签名请求得到第一交互数据;
第一生成模块103还用于对第一交互数据进行签名生成交互签名响应;
第一返回模块102将第一生成模块103生成的交互签名响应返回上位机。
可选地,第二接收模块201还用于接收智能密钥设备10返回的交互签名响应;
第二生成模块还用于当第二接收模块201接收到交互签名响应时,根据交互签名响应得到第二交互数据,根据第二交互数据生成广播请求;
第二发送模块205还用于向服务器发送第二生成模块生成的广播请求;
第二判断模块203还用于判断是否接收到服务器返回的响应。
可选地,第二获取模块204具体用于对第一位置标识进行哈希运算得到第一运算结果。
可选地,第一接收模块101还用于接收上位机20发送的第一运算结果;
智能密钥设备还包括:
第一获取模块,用于根据自身保存的密码和随机字符串获取自身保存的密码的对应位置标识的第二位置标识,对获取到的第二位置标识进行哈希运算,得到第二运算结果;
第一判断模块104还用于根据第二运算结果判断第一运算结果是否正确;
可选地,第二获取模块204具体用于对第一位置标识顺序拼接,得到第一验证数据,将第一验证数据作为第一运算结果。
可选地,第一接收模块101还用于接收第一运算结果;
第一获取模块还用于分割并提取第一运算结果中的每个位置标识;
第一判断模块104还用于根据位置标识确定用户输入的密码,根据自身保存的密码和随机字符串判断用户输入的密码是否正确。
以上为对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
Claims (26)
1.一种安全输入密码的方法,其特征在于,包括:
步骤s1:智能密钥设备接收上位机发送的密码验证请求,生成并显示随机排列的字符,向所述上位机返回密码验证响应;
步骤s2:所述上位机接收所述密码验证响应,显示密码输入界面,等待所述用户输入,判断是否接收到用户输入,如果是,执行步骤s3;否则,报错,退出;
步骤s3:所述上位机根据所述用户输入获取对应位置的第一位置标识,根据所述第一位置标识得到密码获取响应,向所述智能密钥设备发送所述密码获取响应;
步骤s4:所述智能密钥设备接收所述密码获取响应,根据所述密码获取响应、自身保存的密码和所述随机排列的字符判断所述用户输入是否正确,如果是,验证成功,向所述上位机返回验证成功响应;否则,验证失败,向所述上位机返回验证失败响应。
2.如权利要求1所述的方法,其特征在于,所述步骤s1之前还包括:
步骤s1-1:所述上位机等待接收用户触发信息,判断是否接收到所述用户触发信息,如果是,执行步骤s1-2;否则,返回步骤s1-1;
步骤s1-2:所述上位机判断是否有已经连接的智能密钥设备,如果是,执行步骤s1-6;否则,执行步骤s1-3;
步骤s1-3:所述上位机发送连接请求;
步骤s1-4:所述智能密钥设备接收所述连接请求,生成连接响应,向所述上位机返回所述连接响应;
步骤s1-5:所述上位机接收所述连接响应,根据所述连接响应判断与所述智能密钥设备连接是否成功,如果是,执行步骤s1-6;否则,返回所述步骤s1-3;
步骤s1-6:所述上位机判断是否与所述智能密钥设备配对成功,如果是,执行步骤s1;否则,向所述智能密钥设备发送配对请求,并提示用户输入配对码,执行步骤s1-7;
步骤s1-7:所述上位机判断是否接收到所述用户输入的配对码,如果是,判断所述配对码是否正确,如果所述配对码正确,生成所述密码验证请求,向所述智能密钥设备发送所述密码验证请求;如果所述配对码错误,提示所述配对码错误,等待用户输入配对码,返回步骤s1-7;否则,退出,结束。
3.如权利要求2所述的方法,其特征在于,所述步骤s1-1中所述用户触发信息具体为交互签名请求。
4.如权利要求1所述的方法,其特征在于,所述步骤s1中所述生成并显示随机排列的字符具体为:生成并显示随机图形,所述随机图形包含可用于用户输入的字符;或者
所述生成并显示随机排列的字符具体为:生成并显示预设图形,所述预设图形包含可用于用户输入的随机排列的字符;或者
所述生成并显示随机排列的字符具体为:生成并显示所述预设图形,所述预设图形包含可用于用户输入的随机字符。
5.如权利要求1所述的方法,其特征在于,所述步骤s2中所述显示密码输入界面具体为:显示与所述智能密钥设备显示的所述图形相同的图形,所述上位机显示的所述图形中不包含随机排列字符。
6.如权利要求1所述的方法,其特征在于,所述步骤s4之后,还包括:
所述上位机接收所述智能密钥设备返回的验证响应,判断所述验证响应类型,如果为密码验证成功响应,向所述智能密钥设备发送交互签名请求;
所述智能密钥设备接收所述上位机发送的交互签名请求,解析所述交互签名请求,得到第一交互数据,对所述第一交互数据进行签名生成交互签名响应,向所述上位机返回所述交互签名响应。
7.如权利要求6所述的方法,其特征在于,还包括:当所述上位机接收到所述智能密钥设备返回的所述交互签名响应时,根据所述交互签名响应得到第二交互数据,根据所述第二交互数据生成广播请求,向服务器发送所述广播请求,判断是否接收到所述服务器返回的响应,如果是,交互成功,结束;否则,报错,结束。
8.如权利要求1所述的方法,其特征在于,所述步骤s3具体为:
所述上位机根据用户输入获取所述用户输入的对应位置的第一位置标识,对所述第一位置标识进行哈希运算得到所述第一运算结果,将所述第一运算结果作为所述密码获取响应,向所述智能密钥设备发送所述密码获取响应。
9.如权利要求8所述的方法,其特征在于,所述步骤s4具体包括:
所述智能密钥设备接收所述密码获取响应,获取所述第一运算结果,根据所述自身保存的用户密码和所述随机排列的字符获取所述自身保存的用户密码的对应位置的第二位置标识,对获取到的所述第二位置标识进行哈希运算,得到第二运算结果,根据所述第二运算结果判断所述第一运算结果是否正确,如果是,验证成功;否则,验证失败。
10.如权利要求1所述的方法,其特征在于,所述步骤s3具体为:
所述上位机根据所述用户输入获取所述用户输入的对应位置的第一位置标识,将所述第一位置标识作为所述密码获取响应,向所述智能密钥设备发送所述密码获取响应。
11.如权利要求10所述的方法,其特征在于,所述步骤s4具体包括:
所述智能密钥设备接收所述密码获取响应,获取所述第一位置标识,对所述第一位置标识进行顺序拼接得到第一运算结果,根据所述自身保存的用户密码和所述随机排列的字符获取所述自身保存的用户密码的对应位置的第二位置标识,对所述第二位置标识进行顺序拼接得到第二运算结果,判断所述第一运算结果与所述第二运算结果是否相同,如果是,验证成功;否则,验证失败。
12.如权利要求1所述的方法,其特征在于,所述步骤s3具体为:
所述上位机根据所述用户输入获取对应位置的第一位置标识,将所述第一位置标识顺序拼接得到所述密码获取响应,向所述智能密钥设备发送所述密码获取响应。
13.如权利要求12所述的方法,其特征在于,所述步骤s4具体包括:
所述智能密钥设备接收所述密码获取响应,分割并提取所述密码获取响应中的每个第一位置标识,根据所述第一位置标识确定用户输入的密码,判断所述用户输入的密码和所述自身保存的密码是否相同,如果是,验证成功;否则,验证失败。
14.一种安全输入密码的***,其特征在于,包括:
智能密钥设备和上位机;
所述智能密钥设备包括:
第一接收模块,用于接收所述上位机发送的密码验证请求;
第一返回模块,用于向所述上位机返回密码验证响应;
第一生成模块,用于当所述第一接收模块接收到所述上位机发送的密码验证请求时,生成并显示随机排列的字符;
所述第一接收模块还用于接收所述上位机发送的第一运算结果;
第一判断模块,用于当所述第一接收模块接收到所述第一运算结果时,根据所述第一运算结果、自身保存的密码和所述生成模块生成的所述随机排列字符判断用户输入是否正确;
所述第一返回模块还用于当所述第一判断模块判断出所述用户输入正确时,向所述上位机返回验证成功响应;当所述第一判断模块判断出所述用户输入错误时,向所述上位机返回验证失败响应;
所述上位机包括:
第二接收模块,用于接收所述智能密钥设备返回的所述密码验证响应;
第二显示模块,用于当所述第二接收模块接收到所述密码验证响应时,显示密码输入界面,等待用户输入;
第二判断模块,用于当所述第二显示模块显示密码输入界面时,判断是否接收到用户输入;
第二获取模块,用于当所述第二判断模块判断出接收到用户输入时获取对应位置的第一位置标识,并对所述第一位置标识进行运算,得到所述第一运算结果;
第二发送模块,用于将所述第二获取模块得到的所述第一运算结果发送给所述智能密钥设备。
15.如权利要求14所述的***,其特征在于,所述第二判断模块还用于判断是否接收到所述用户的触发信息;
所述第二接收模块还用于接收所述用户的触发信息;
所述第二判断模块还用于,当所述第二接收模块接收到所述用户的触发信息时,判断是否存在已连接的智能密钥设备;当存在已连接的智能密钥设备时,判断是否接收到所述用户输入的配对码;
当接收到所述用户输入的配对码,所述第二判断模块还用于判断所述配对码是否正确;
所述第二发送模块还用于,当所述第二判断模块判断出所述上位机不存在已连接的智能密钥设备时,发送连接请求;
所述第一接收模块还用于接收所述上位机发送的所述连接请求;
所述第一生成模块还用于当所述第一接收模块接收所述上位机发送的所述连接请求时,生成连接响应;
所述第一返回模块还用于,当所述第一生成模块生成所述连接响应时,向所述上位机返回所述连接响应;
所述第二接收模块还用于接收所述智能密钥设备返回的所述连接响应;
所述第二判断模块还用于根据所述第二接收模块接收到的所述连接响应判断所述上位机与所述智能密钥设备连接是否成功;
所述第二发送模块还用于当所述第二判断模块判断出所述上位机与所述智能密钥设备配对未成功时,向所述智能密钥设备发送配对请求;
所述第二显示模块还用于当所述第二发送模块向所述智能密钥设备发送配对请求时,提示用户输入配对码;
所述第二判断模块还用于当所述上位机接收到所述用户输入的配对码时,判断所述配对码是否正确;
所述上位机还包括第二生成模块,用于当所述第二判断模块判断出所述用户输入的配对码正确时,生成所述密码验证请求;
所述第二显示模块还用于当所述第二判断模块判断出所述用户输入的配对码错误时,提示所述配对码错误。
16.如权利要求15所述的***,其特征在于,所述第二接收模块接收到的所述用户触发信息具体为交互签名请求。
17.如权利要求14所述的***,其特征在于,所述第一生成模块具体用于,当所述第一接收模块接收到所述上位机发送的密码验证请求时,生成并显示随机图形,所述随机图形包含可用于用户输入的字符;或者
所述第一生成模块具体用于,当所述第一接收模块接收到所述上位机发送的密码验证请求时,生成并显示预设图形,所述预设图形包含可用于用户输入的随机排列的字符;或者
所述第一生成模块具体用于,当所述第一接收模块接收到所述上位机发送的密码验证请求时,生成并显示所述预设图形,所述预设图形包含可用于用户输入的随机字符。
18.如权利要求14所述的***,其特征在于,所述第二显示模块具体用于显示和所述智能密钥设备上显示的相同的所述图形相同的图形,所述图形中不包含随机排列的字符。
19.如权利要求14所述的***,其特征在于,所述第二接收模块还用于接收所述智能密钥设备返回的所述验证响应;
所述第二判断模块还用于当所述第二接收模块接收到所述验证响应时,判断所述验证响应类型;
所述第二发送模块还用于当所述第二判断模块判断出所述验证响应类型为密码验证成功响应时,向所述智能密钥设备发送交互签名请求;
所述第一接收模块接收所述上位机发送的所述交互签名请求;
所述智能密钥设备还包括:
解析模块,用于当所述第一接收模块接收到所述交互签名请求时,解析所述交互签名请求得到第一交互数据;
所述第一生成模块还用于对所述第一交互数据进行签名生成交互签名响应;
所述第一返回模块将所述第一生成模块生成的交互签名响应返回所述上位机。
20.如权利要求19所述的***,其特征在于,
所述第二接收模块还用于接收所述智能密钥设备返回的所述交互签名响应;
所述第二生成模块还用于当所述第二接收模块接收到所述交互签名响应时,根据所述交互签名响应得到第二交互数据,根据所述第二交互数据生成广播请求;
所述第二发送模块还用于向服务器发送所述第二生成模块生成的所述广播请求;
所述第二判断模块还用于判断是否接收到所述服务器返回的响应。
21.如权利要求14所述的***,其特征在于,所述第二获取模块具体用于根据所述用户输入获取所述用户输入的对应位置的所述第一位置标识,对所述第一位置标识进行哈希运算得到所述第一运算结果,将所述第一运算结果作为所述密码获取响应;
所述第二发送模块具体用于向所述智能密钥设备发送所述第二获取模块得到的所述第一运算结果。
22.如权利要求21所述的***,其特征在于,
所述第一接收模块还用于接收所述上位机发送的所述密码获取响应,获取所述第一运算结果;
所述智能密钥设备还包括:
第一获取模块,用于根据自身保存的密码和所述随机排列的字符获取所述自身保存的用户密码的对应位置的第二位置标识,对获取到的所述第二位置标识进行哈希运算,得到第二运算结果;
所述第一判断模块还用于根据所述第二运算结果判断所述第一运算结果是否正确。
23.如权利要求14所述的***,其特征在于,所述第二获取模块具体用于根据所述用户输入获取所述用户输入的对应位置的第一位置标识,将所述第一位置标识作为所述密码获取响应;
所述第二发送模块用于向所述智能密钥设备发送所述密码获取响应。
24.如权利要求23所述的***,其特征在于,
所述第一接收模块还用于接收所述密码获取响应;
所述第一获取模块还用于获取所述第一位置标识,对所述第一位置标识进行顺序拼接得到所述第一运算结果;
所述第一获取模块还用于根据自身保存的用户密码和所述随机排列的字符获取所述自身保存的用户密码的对应位置的第二位置标识,对所述第二位置标识进行顺序拼接得到第二运算结果;
所述第一判断模块还用于所述第一运算结果与所述第二运算结果是否相同。
25.如权利要求14所述的***,其特征在于,
所述第二获取模块还用于根据所述用户输入获取对应位置的第一位置标识,将所述第一位置标识顺序拼接得到所述密码获取响应;
所述第二发送模块还用于向所述智能密钥设备发送所述密码获取响应。
26.如权利要求25所述的***,其特征在于,
所述第一接收模块还用于接收所述密码获取响应;
所述第一生成模块还用于分割并提取所述密码获取响应中的每个第一位置标识,根据所述第一位置标识确定用户输入的密码;
所述第一判断模块还用于判断所述用户输入的密码和所述自身保存的密码是否相同。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911385177.7A CN111064743B (zh) | 2019-12-28 | 2019-12-28 | 一种安全输入密码的方法及*** |
US17/432,078 US20220327192A1 (en) | 2019-12-28 | 2020-10-22 | Secure password entry method and system |
PCT/CN2020/122811 WO2021129095A1 (zh) | 2019-12-28 | 2020-10-22 | 一种安全输入密码的方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911385177.7A CN111064743B (zh) | 2019-12-28 | 2019-12-28 | 一种安全输入密码的方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111064743A true CN111064743A (zh) | 2020-04-24 |
CN111064743B CN111064743B (zh) | 2021-09-28 |
Family
ID=70304431
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911385177.7A Active CN111064743B (zh) | 2019-12-28 | 2019-12-28 | 一种安全输入密码的方法及*** |
Country Status (3)
Country | Link |
---|---|
US (1) | US20220327192A1 (zh) |
CN (1) | CN111064743B (zh) |
WO (1) | WO2021129095A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021129095A1 (zh) * | 2019-12-28 | 2021-07-01 | 飞天诚信科技股份有限公司 | 一种安全输入密码的方法及*** |
CN113806730A (zh) * | 2021-09-18 | 2021-12-17 | 北京安天网络安全技术有限公司 | 一种安全密码输入方法、***、设备及介质 |
CN113907715A (zh) * | 2021-10-11 | 2022-01-11 | 创启科技(广州)有限公司 | 一种用于体脂秤的一对一通讯方法 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8579853B2 (en) * | 2006-10-31 | 2013-11-12 | Abbott Diabetes Care Inc. | Infusion devices and methods |
US10614208B1 (en) * | 2019-02-21 | 2020-04-07 | Capital One Services, Llc | Management of login information affected by a data breach |
CN117560151B (zh) * | 2024-01-09 | 2024-03-19 | 北京电子科技学院 | 双核心密码工程实验***及实验方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101695107A (zh) * | 2009-10-09 | 2010-04-14 | 北京数码视讯科技股份有限公司 | 用于数字电视机顶盒的密码安全输入的软键盘方法 |
CN102422302A (zh) * | 2009-05-15 | 2012-04-18 | 赛特康姆有限公司 | 安全***和方法 |
CN103246839A (zh) * | 2013-04-27 | 2013-08-14 | 飞天诚信科技股份有限公司 | 一种智能密钥设备的工作方法 |
CN105635114A (zh) * | 2015-12-18 | 2016-06-01 | 恒宝股份有限公司 | 一种口令校验方法及*** |
CN106022172A (zh) * | 2016-05-24 | 2016-10-12 | 中国银行股份有限公司 | 一种保护密码键盘按键输入操作的密码输入方法及*** |
CN106953726A (zh) * | 2017-02-14 | 2017-07-14 | 上海林果实业股份有限公司 | 一种消息认证方法、消息认证装置和上位机 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04195493A (ja) * | 1990-11-28 | 1992-07-15 | Oki Electric Ind Co Ltd | 暗証番号入力装置 |
CN101222334B (zh) * | 2008-01-11 | 2010-08-04 | 华中科技大学 | 一种采用图片干扰的密码令牌安全认证方法 |
JP2009301208A (ja) * | 2008-06-11 | 2009-12-24 | Funai Electric Co Ltd | パスワード入力装置 |
US9590978B2 (en) * | 2012-12-21 | 2017-03-07 | Biobex, Llc | Verification of password using a keyboard with a secure password entry mode |
CN103679448B (zh) * | 2013-11-29 | 2017-02-22 | 天地融科技股份有限公司 | 一种密码输入方法和*** |
CN104090688B (zh) * | 2014-08-06 | 2018-01-16 | 广东欧珀移动通信有限公司 | 一种移动终端的密码输入方法及装置 |
CN104507037B (zh) * | 2014-12-12 | 2017-11-28 | 飞天诚信科技股份有限公司 | 一种实现智能密钥装置与移动设备进行蓝牙绑定的方法 |
CN104700049A (zh) * | 2015-03-23 | 2015-06-10 | 李健 | 密码字符显示与输入操作分离实现的密码保护方案 |
CN106487767B (zh) * | 2015-08-31 | 2020-01-21 | 阿里巴巴集团控股有限公司 | 验证信息的更新方法及装置 |
CN111064743B (zh) * | 2019-12-28 | 2021-09-28 | 飞天诚信科技股份有限公司 | 一种安全输入密码的方法及*** |
-
2019
- 2019-12-28 CN CN201911385177.7A patent/CN111064743B/zh active Active
-
2020
- 2020-10-22 WO PCT/CN2020/122811 patent/WO2021129095A1/zh active Application Filing
- 2020-10-22 US US17/432,078 patent/US20220327192A1/en active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102422302A (zh) * | 2009-05-15 | 2012-04-18 | 赛特康姆有限公司 | 安全***和方法 |
CN101695107A (zh) * | 2009-10-09 | 2010-04-14 | 北京数码视讯科技股份有限公司 | 用于数字电视机顶盒的密码安全输入的软键盘方法 |
CN103246839A (zh) * | 2013-04-27 | 2013-08-14 | 飞天诚信科技股份有限公司 | 一种智能密钥设备的工作方法 |
CN105635114A (zh) * | 2015-12-18 | 2016-06-01 | 恒宝股份有限公司 | 一种口令校验方法及*** |
CN106022172A (zh) * | 2016-05-24 | 2016-10-12 | 中国银行股份有限公司 | 一种保护密码键盘按键输入操作的密码输入方法及*** |
CN106953726A (zh) * | 2017-02-14 | 2017-07-14 | 上海林果实业股份有限公司 | 一种消息认证方法、消息认证装置和上位机 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021129095A1 (zh) * | 2019-12-28 | 2021-07-01 | 飞天诚信科技股份有限公司 | 一种安全输入密码的方法及*** |
CN113806730A (zh) * | 2021-09-18 | 2021-12-17 | 北京安天网络安全技术有限公司 | 一种安全密码输入方法、***、设备及介质 |
CN113806730B (zh) * | 2021-09-18 | 2024-03-08 | 北京安天网络安全技术有限公司 | 一种安全密码输入方法、***、设备及介质 |
CN113907715A (zh) * | 2021-10-11 | 2022-01-11 | 创启科技(广州)有限公司 | 一种用于体脂秤的一对一通讯方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2021129095A1 (zh) | 2021-07-01 |
US20220327192A1 (en) | 2022-10-13 |
CN111064743B (zh) | 2021-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111064743B (zh) | 一种安全输入密码的方法及*** | |
EP3343831A1 (en) | Identity authentication method and apparatus | |
RU2506637C2 (ru) | Способ и устройство верификации динамического пароля | |
CN103729341B (zh) | 定位电子***的方法和装置以及实现电子***的装置 | |
CN103067402B (zh) | 数字证书的生成方法和*** | |
EP2259540A2 (en) | Method and system for generating digital fingerprint | |
CN106161350B (zh) | 一种管理应用标识的方法及装置 | |
CN111130798B (zh) | 一种请求鉴权方法及相关设备 | |
CN113411184B (zh) | 一体化管理终端装置及一体化管理方法 | |
US20240098493A1 (en) | Identifying trusted service set identifiers for wireless networks | |
KR20180122843A (ko) | Qr코드 진본여부 검증 방법 및 시스템 | |
EP2816497A1 (en) | Matrix obtaining method, character display device and system and electronic signature tool | |
CN111935191B (zh) | 密码重置方法、***、装置及电子设备 | |
CN112287312B (zh) | 一种登录Windows操作***的方法及*** | |
CN112671796B (zh) | Google Driver云服务的认证获取方法、装置、设备及存储介质 | |
CN108574658B (zh) | 一种应用登录方法及其设备 | |
CN112351043A (zh) | 车载导航工厂设置密码管理方法和*** | |
US20130090059A1 (en) | Identity verification | |
CN110399714B (zh) | 用于验证终端的可信用户界面真实性的方法及其*** | |
CN115086090A (zh) | 基于UKey的网络登录认证方法及装置 | |
CN111106931B (zh) | 认证方法、装置、终端和计算机可读存储介质 | |
CN114845301A (zh) | 基于超级sim卡的号码验证方法、终端及*** | |
CN105991539B (zh) | 数据交互方法及*** | |
US11972651B2 (en) | Intelligent key device and verification method therefor | |
CN113849802A (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 |