CN106209738B - 一种密钥验证方法及设备 - Google Patents
一种密钥验证方法及设备 Download PDFInfo
- Publication number
- CN106209738B CN106209738B CN201510224909.XA CN201510224909A CN106209738B CN 106209738 B CN106209738 B CN 106209738B CN 201510224909 A CN201510224909 A CN 201510224909A CN 106209738 B CN106209738 B CN 106209738B
- Authority
- CN
- China
- Prior art keywords
- matrix
- block
- information
- client
- server
- 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
Landscapes
- Input From Keyboards Or The Like (AREA)
Abstract
本申请公开了一种密钥验证方法。服务器首先向客户端发送携带矩阵信息的验证信息,该矩阵信息包含多个矩阵块以及与各矩阵块对应的坐标,且矩阵块中的部分或全部矩阵块包含一个或多个字符,在接收到客户端返回的携带矩阵块输入顺序信息的验证响应消息之后,服务器判断与密钥对应的密钥顺序信息是否与该矩阵块输入顺序信息一致,并在判断结果为一致时确认验证通过。由于通过矩阵块实现密钥验证,因此避免了由于密钥输入过程被观察而导致密钥容易被泄漏的问题,提高了用户密钥验证过程的安全性。
Description
技术领域
本申请涉及通信技术领域,特别涉及一种密钥验证方法。本申请同时还涉及一种密钥验证设备。
背景技术
随着移动设备的普及,有越来越多的情况是在公共场合输入密码,比如在公共场所使用手机,当登录一些比较重要的应用时,需要密码验证。目前移动端设备通常采用以下三种方式对用户的身份进行验证:
(1)动态键盘
是一种在PC上或者移动终端上的输入方式,它可以让每次显示的输入键盘中按键的顺序不同,用户每次输入密码时显示的键盘顺序不同,在一定程度上造成旁边观察者记下密码的困难程度。
(2)手势密码
是在一些移动设备上出现可以通过画出一个轨迹,快速通过验证。
(3)密码加星号
在密码输入框中输入的内容,会快速显示之后,被星号代替,防止别人看到。
以上三种方式的原理是类似的,都是由于旁边的观察者不熟悉键盘,或者短暂的显示,可以在某种程度上提高密码被记录下来的难度,但是通过录屏或者录视频的方式,还是能得到密码。
由此可见,采用现有的身份验证方法输入密码时,有可能会被旁边的人看到,甚至通过录屏的方式,记录下密码,造成密码的泄露,从而有可能会带来财产或者消息资产的损失。
发明内容
本申请提供了一种密钥验证方法,用以提高密钥验证过程的安全性,该方法包括:
服务器向客户端发送携带矩阵信息的验证信息,所述矩阵信息包含多个矩阵块以及与各所述矩阵块对应的坐标,所述矩阵块中的部分或全部矩阵块包含一个或多个字符;
所述服务器接收所述客户端返回的验证响应消息,所述验证响应消息中携带矩阵块输入顺序信息,所述矩阵块输入顺序信息为所述客户端在接收用户针对所述矩阵块的输入操作之后根据所述输入操作对应生成的,由所述多个矩阵块中的一个或多个矩阵块的坐标排列组成;
所述服务器判断与密钥对应的密钥顺序信息是否与所述矩阵块输入顺序信息一致,所述密钥顺序信息由所述密钥中的各字符所对应的矩阵块的坐标依次组成;
当所述密钥顺序信息与所述矩阵块输入顺序信息一致时,所述服务器确认验证通过。
相应地,本申请还提出了一种密钥验证方法,包括:
客户端接收服务器返回的验证消息,所述验证消息携带矩阵信息,所述矩阵信息包含多个矩阵块以及与各所述矩阵块对应的坐标,所述多个矩阵块中的部分或全部矩阵块包含一个或多个字符;
所述客户端接收用户针对所述矩阵块的输入操作,并根据所述输入操作对应生成矩阵块输入顺序信息,所述矩阵块输入顺序信息由所述多个矩阵块中的一个或多个矩阵块的坐标排列组成;
所述客户端将所述矩阵块输入顺序信息携带在验证响应消息中返回至所述服务器,以使所述服务器判断与密钥对应的密钥顺序信息是否与所述矩阵块输入顺序信息一致,所述密钥顺序信息由所述密钥中的各字符所对应的矩阵块的坐标依次组成。
相应地,本申请还提出了一种密钥验证方法,包括:
所述客户端接收用户针对所述矩阵块的输入操作,所述矩阵块中的部分或全部矩阵块包含一个或多个字符;
所述客户端根据各所述矩阵块的坐标以及所述输入操作对应生成矩阵块输入顺序信息,所述矩阵块输入顺序信息由所述多个矩阵块中的一个或多个矩阵块的坐标组成;
所述客户端判断与密钥对应的密钥顺序信息是否与所述矩阵块输入顺序信息一致,所述密钥顺序信息由所述密钥中的各字符所对应的矩阵块的坐标依次组成;
当所述密钥顺序信息与所述矩阵块输入顺序信息一致时,所述客户端确认验证通过。
相应地,本申请还提出了一种服务器,包括:
发送模块,用于向客户端发送携带矩阵信息的验证信息,所述矩阵信息包含多个矩阵块以及与各所述矩阵块对应的坐标,所述矩阵块中的部分或全部矩阵块包含一个或多个字符;
处理模块,用于接收所述客户端返回的验证响应消息,所述验证响应消息中携带矩阵块输入顺序信息,所述矩阵块输入顺序信息为所述客户端在接收用户针对所述矩阵块的输入操作之后根据所述输入操作对应生成的,由所述多个矩阵块中的一个或多个矩阵块的坐标排列组成;
判断模块,用于判断与密钥对应的密钥顺序信息是否与所述矩阵块输入顺序信息一致,所述密钥顺序信息由所述密钥中的各字符所对应的矩阵块的坐标依次组成;
当所述密钥顺序信息与所述矩阵块输入顺序信息一致时,所述判断模块确认验证通过。
相应地,本申请还提出了一种客户端,包括:
接收模块,用于接收服务器返回的验证消息,所述验证消息携带矩阵信息,所述矩阵信息包含多个矩阵块以及与各所述矩阵块对应的坐标,所述多个矩阵块中的部分或全部矩阵块包含一个或多个字符;
处理模块,用于接收用户针对所述矩阵块的输入操作,并根据所述输入操作对应生成矩阵块输入顺序信息,所述矩阵块输入顺序信息由所述多个矩阵块中的一个或多个矩阵块的坐标排列组成;
响应模块,用于将所述矩阵块输入顺序信息携带在验证响应消息中返回至所述服务器,以使所述服务器判断与密钥对应的密钥顺序信息是否与所述矩阵块输入顺序信息一致,所述密钥顺序信息由所述密钥中的各字符所对应的矩阵块的坐标依次组成。
相应地,本申请还提出了一种客户端,包括:
接收模块,用于接收用户针对所述矩阵块的输入操作,所述矩阵块中的部分或全部矩阵块包含一个或多个字符;
生成模块,用于根据各所述矩阵块的坐标以及所述输入操作对应生成矩阵块输入顺序信息,所述矩阵块输入顺序信息由所述多个矩阵块中的一个或多个矩阵块的坐标组成;
判断模块,用于判断与密钥对应的密钥顺序信息是否与所述矩阵块输入顺序信息一致,所述密钥顺序信息由所述密钥中的各字符所对应的矩阵块的坐标依次组成;
当所述密钥顺序信息与所述矩阵块输入顺序信息一致时,所述判断模块确认验证通过。
由此可见,通过应用以上技术方案,服务器首先向客户端发送携带矩阵信息的验证信息,该矩阵信息包含多个矩阵块以及与各矩阵块对应的坐标,且矩阵块中的部分或全部矩阵块包含一个或多个字符,在接收到客户端返回的携带矩阵块输入顺序信息的验证响应消息之后,服务器判断与密钥对应的密钥顺序信息是否与该矩阵块输入顺序信息一致,并在判断结果为一致时确认验证通过。由于通过矩阵块实现密钥验证,因此避免了由于密钥输入过程被观察而导致密钥容易被泄漏的问题,提高了用户密钥验证过程的安全性。
附图说明
图1为本申请具体实施例一所提出的一种密钥验证方法的流程示意图;
图2为本申请具体实施例一中所生成的一种多矩阵块示意图;
图3为本申请具体实施例一中所生成的一种新的多矩阵块示意图;
图4为本申请具体实施例二所提出的一种密钥验证方法的流程示意图;
图5为本申请具体实施例三所提出的一种密钥验证方法的流程示意图;
图6为本申请具体实施例四所提出的一种服务器的结构示意图;
图7为本申请具体实施例五所提出的一种客户端的结构示意图;
图8为本申请具体实施例六所提出的一种客户端的结构示意图。
具体实施方式
如背景技术所述,现有的密钥输入过程都是通过对显示上的效果进行处理来降低被窥视的情况下密钥泄露的可能性。但是在屏幕被监视(如观察、录屏、录视频)的情况下还是可能会被泄露,为此本申请结合具体的使用场景提出了多种不同的密钥验证方法,以下将分别进行介绍:
实施例一
在该实施例中主要针对用户需要针对服务器中的数据内容进行访问的情况。其中客户端作为面向用户的设备,主要职能在于获取用户输入的各种信息以及服务器返回的内容,通过与用户和服务器之间的交互实现密钥的安全验证。其既可是兼容键位输入以及触屏输入的移动设备,也可以是PC设备。本实施例首先由客户端向服务器告知用户的访问请求,随后服务器向客户端返回生成用于验证的矩阵信息,客户端在接收到该矩阵信息后据此对用户输入操作对应的矩阵块输入顺序信息进行匹配判断,从而实现密钥的验证。
如图1所示,该实施例包括以下步骤:
S101,服务器向客户端发送携带矩阵信息的验证信息,所述矩阵信息包含多个矩阵块以及与各所述矩阵块对应的坐标,所述矩阵块中的部分或全部矩阵块包含一个或多个字符。
当用户需要访问处于后台的服务器中的特定数据时,用户将向与该服务器连接的客户端发送用于访问特定数据的服务器的访问请求。该服务器访问请求可以为用户直接在客户端中输入生成,或者是由用户通过其他网络设备发送至客户端。在该服务器访问请求中携带了用户所需要访问的服务器信息以及用户自身的用户信息。客户端在收到该访问请求后根据服务器信息确定与该请求对应的服务器,并向该服务器发送携带用户信息的验证请求消息,服务器在接收到客户端发送的验证请求消息后,即生成矩阵信息并返回至客户端,以此实现基于矩阵块的密钥验证,以及同时避免由于客户端被破解而导致的安全隐患。
与普通的密钥验证所不同的是,本申请中服务器所生成的用于验证密钥的矩阵信息中包含的为多个矩阵块,这些矩阵块中部分或者是全部的矩阵块中包含有一个或多个用于验证的字符,同时为了使客户端能够获取到用户所选择的矩阵块,该矩阵信息中同时还包含与各矩阵块对应的坐标。对于这些特殊的矩阵块,服务器首先生成多个矩阵块,随后将当前存在的用于身份验证的字符分布于所述多个矩阵块中的部分矩阵块或全部矩阵块,最后确定与各所述矩阵块对应的坐标。
在本申请具体的实施例中,多个矩阵块的示意图如图2所示,其中包含9个矩阵块,且每个矩阵块中都包含有3个字符。需要指出的是,该图仅为本实施例一的一种具体实现方式,本申请并不对矩阵块的数量、排列形式以及其中包含的字符进行限定,这些都属于本申请的保护范围。
此外,由于不同类型的客户端之间的显示效果(例如分辨率等)互相存在着差异,客户端在接收服务器在本步骤返回的验证消息后,必须根据自身显示设备对应进行设置。例如针对原有的矩阵块在像素上进行放大或是缩小等等。在以上矩阵块的生成过程中,矩阵块的数量以及排位方式可以选择通用的矩形排列方式,也可以按照实际的显示效果采取其他适用的圆形或方形排列。需要注意的是,无论是应用哪一种排位方式,必须保证每一个矩阵块都有唯一的坐标。具体的坐标形式可以采用该矩阵块的行、列进行显示。
在图2所示的具体实施例的多个矩阵块中,包括9个矩阵块,各个矩阵块中都包含有验证字符。在经过客户端本地的适配处理之后,该9个矩阵块将以密码键盘的形式在该客户端的显示设备上显示,每个矩阵块都对应一个键位或是区域,同时每个键位或区域都具有相应的横向以及纵向坐标。在该生成过程中,各个矩阵块中所包含的字符互不相同且不重合。
由于同一个用户可能需要频繁地对某个服务器进行访问,如果每一次都执行针对该用户的密钥验证流程的话会使得实际工作效率变得十分低下,同时也加重客户端与服务器的负担,为此本实施例提出了针对一定时间内针对验证通过用户不再进行验证的机制,服务器在接收所户端发送的验证请求消息之后,将首先查询与该用户对应的上一次访问请求通过的时刻(该时刻为服务器在确认所述上一次访问请求通过后记录),并基于该时刻距离当前时刻的时间长度进行一下判断处理:
(1)若所述时刻距离当前时刻的时间长度未超过预设的时间长度阈值,所述服务器确认所述访问请求通过,并向所述客户端返回访问请求通过响应。
(2)若所述时刻距离当前时刻的时间长度已超过预设的时间长度阈值,所述服务器向所述客户端发送携带所述矩阵信息的验证信息。
(3)若不存在与所述用户对应的上一次访问通过的时刻,所述服务器向所述客户端发送携带所述矩阵信息的验证信息。
在以上情况(1)中,说明该用户在不久前已通过客户端发起过访问请求,因此无需再对当前该用户的访问请求进行密钥验证了;而情况(2)、(3)则说明该用户当前为首次对服务器发起访问请求,或是事先已通过客户端发起过访问请求,但时间已过去太久,因此服务器需要指示客户端重新对该用户的访问请求进行密钥验证。
S102,所述服务器接收所述客户端返回的验证响应消息,所述验证响应消息中携带矩阵块输入顺序信息,所述矩阵块输入顺序信息为所述客户端在接收用户针对所述矩阵块的输入操作之后根据所述输入操作对应生成的,由所述多个矩阵块中的一个或多个矩阵块的坐标排列组成。
基于S101中服务器所返回的矩阵信息,客户端根据该矩阵信息向用户显示矩阵块,以便于用户更直观地进行输入。根据当前客户端的设备类型的不同,显示设备也将存在着区别。例如,当客户端为移动设备时,显示设备即为移动设备的显示屏幕或是触摸屏幕;当客户端为PC设备时,显示设备即为与该PC设备相连的显示器。
在客户端向用户显示了矩阵块之后,用户可以基于所看到的矩阵块以及各矩阵块所包含的字符向客户端依次输入自己选择的矩阵块。此时根据实际的客户端的不同类型,用户能够使用相应的输入方式。在本实施例中,针对不同情况提出了以下处理过程:
(1)所述客户端依次获取所述用户通过所述客户端的触屏界面输入的点击操作
对于移动设备类型的客户端来说,如果该客户端为触屏类型的移动设备,用户可直接通过依次点击显示在触屏界面上显示的矩阵块,相应地客户端将记录用户的每一个点击操作,在用户输入完成后,根据所述触屏界面中各所述矩阵块的位置,确定与所述点击操作对应的坐标。从而在接收用户针对矩阵块的输入操作之后根据输入操作对应生成矩阵块输入顺序信息。
(2)所述客户端获取所述用户通过所述客户端的按键依次输入的序号;
如果该客户端为通过按键或是键盘输入的移动设备或是PC设备,用户则可以通过手动的方式依次输入自己所选择的各个矩阵块的坐标,在该情况下,客户端会为每个矩阵块赋予唯一对应的序号,在用户输入序号之后,客户端根据各矩阵块与序号的对应关系,依次确定与序号对应的坐标,从而在接收用户针对矩阵块的输入操作之后根据输入操作对应生成矩阵块输入顺序信息。
以图2所示的密码键盘为例,假设当前用户所使用的客户端为触屏移动终端,客户端通过本设备的触屏向用户展示多个矩阵块(即密码键盘),用户在看到该密码键盘之后,根据自己在初始化阶段时预先设置的密码ajs123,依次点击a,j,s,1,2,3对应的矩阵块。客户端在检测到用户的点击操作之后,记录与a,j,s,1,2,3对应的坐标[0,0],[1,0],[2,0],[0,1],[0,2],[1,0]。在该过程中只有知道密码的用户认为这个输入的坐标顺序信息对应的组合为ajs123,不知道密码的人即便是观察了用户的整个密钥输入过程,也无法据此得知密钥内容,从而保证了密钥输入过程的安全性。
S103,所述服务器判断与密钥对应的密钥顺序信息是否与所述矩阵块输入顺序信息一致,所述密钥顺序信息由所述密钥中的各字符所对应的矩阵块的坐标依次组成。
在接收客户端返回的矩阵块输入顺序信息的同时,服务器侧也需要根据密钥生成与之对应的密钥顺序信息,该密钥可以为用户首次通过客户端接入服务器时由服务器通过客户端引导用户所设置。在该初始化过程中所采取的密钥输入方式可以依照现有技术中的数字键盘进行输入,在输入的过程中可以采取动态键盘、手势密码或是密码加星号的方式对用户输入的内容进行保密。在获取到用户输入的预设密钥之后,客户端即将该预设密钥发送至服务器,由服务器将该预设密钥进行存储。为确定密钥顺序信息,本实施例中服务器首先根据各矩阵块中包含的字符获取密钥中各字符所在的矩阵块的坐标,然后按照所述密钥中各字符的顺序依次排列坐标,最后根据排列结果生成所述密钥顺序信息。
以图2所示的多个矩阵块为例,假设当前的密钥为ajs123,服务器首先获取矩阵块中分别包含a,j,s,1,2,3这六个字符的矩阵块的坐标,其中包含a的矩阵块的坐标为[0,0],表示该矩阵块位于第一行第一列;包含j的矩阵块的坐标为[1,0],包含s的矩阵块的坐标为[2,0],包含1的矩阵块的坐标为[0,1],包含2的矩阵块的坐标为[0,2],包含3的矩阵块的坐标为[1,0];在针对所有字符的矩阵块的坐标获取完毕之后,按照a,j,s,1,2,3的顺序将已获取的坐标组成为矩阵块顺序信息{[0,0][1,0][2,0][0,1][0,2][1,0]},该排列结果即为与密钥对应的密钥顺序信息。
S104,当所述密钥顺序信息与所述矩阵块输入顺序信息一致时,所述服务器确认验证通过。
由于本申请是生成包含字符的多个矩阵块,并通过与密钥对应的矩阵块的坐标所组成的密钥顺序信息与用户输入的坐标的矩阵块顺序信息进行对比判断,因此在某些情况下(例如矩阵块数量较少),可能会出现其他错误的矩阵块顺序信息偶然与真正的密钥顺序信息重合的情况,从而给安全性带来隐患。为了进一步提高针对访问请求的密钥验证的安全性,在本申请的优选实施例中,针对用户的访问请求采取多次校验的机制,其中服务器只有在确定客户端返回的与该访问请求对应的密钥验证通过的次数达到安全阈值后才会确认当前针对该访问请求的密钥验证已通过,因此本优选实施例中的服务器在确认本次验证通过之后,将判断当前针对访问请求的密钥验证通过次数是否达到预设的安全阈值,并基于以下结果进行处理:
(1)当所述验证成功次数达到预设的安全阈值时,所述服务器确认所述访问请求通过,并向所述客户端返回访问请求通过响应;
(2)当所述验证通过次数未达到安全阈值时,所述服务器向客户端发送携带新的矩阵信息的验证信息,所述新的矩阵信息为与当前的矩阵信息不同的矩阵信息。
需要说明的是,在该方案客户端中的安全阈值既可以是事先设置在客户端或者服务器中,也可以是由服务器或者客户端根据用户的用户信息动态生成。前者的由于是针对所有的用户统一进行设置,因此设置简便;后者则能够针对不同的用户的情况针对性的进行设置,灵活度较高。采用哪种方式本领域技术人员能够根据实际情况进行选择,在优选的实施例中,如果安全阈值预先设置于服务器或是由服务器根据用户的用户信息生成的话,服务器将通过验证响应消息携带该安全阈值发送至客户端,当然也可以直接预先设置于客户端或者是由客户端根据用户信息生成。
在具体实施例中,假设图2所示的多个矩阵块为当前用于验证的矩阵块,那么上述过程中所涉及的新的多个矩阵块如图3所示。其中各个矩阵块所包含的字符与之前的矩阵块中各矩阵块的字符均不相同。还是以预设密钥为ajs123为例,分别包含a,j,s,1,2,3这六个字符的矩阵块的坐标依次分别为[0,2][2,0][1,1][2,2][0,2][1,0],在针对所有字符的矩阵块的坐标获取完毕之后,按照a,j,s,1,2,3的顺序将已获取的坐标组成为顺序信息{[0,2][2,0][1,1][2,2][0,2][1,0]},该顺序信息即为该新的矩阵信息下与密钥对应的密钥顺序信息。
由此可见,在该实施例中由客户端与服务器通过交互完成针对用户的服务器访问请求的密钥验证,其中主要由服务器来判断用户输入的矩阵块顺序信息与密钥顺序信息是否匹配。该方案适用于客户端的性能良好或是当前的网络环境较佳的情况,客户端能够在保证密钥不被泄露的前提下,实现针对密钥的验证处理。
实施例二
在前一实施例中主要是基于服务器侧所提出的密钥验证方法。由于目前用户所使用的客户端安全性能不一,对于某些高风险业务或是高敏感数据来说,由客户端处理一系列的匹配验证操作可能会造成密钥的泄露,而且在当前的网络环境并不安全的情况下,也可能存在仿冒客户端的情况。为此在本申请该实施例中,由服务器针对用户在客户端上输入操作与密钥的密钥顺序信息是否匹配进行判断,如图4所示,具体包括以下流程:
S401,客户端接收服务器返回的验证消息,所述验证消息携带矩阵信息,所述矩阵信息包含多个矩阵块以及与各所述矩阵块对应的坐标,所述多个矩阵块中的部分或全部矩阵块包含一个或多个字符。
一般情况下,客户端都是基于用户的访问请求向服务器请求验证,因此在优选实施例中,客户端在该步骤之前接收用户针对服务器的访问请求,然后根据访问请求向服务器发送验证请求消息。
为了减少服务器的负担以及节省处理资源,该实施例同样采用了针对验证通过用户不再进行验证的机制,因此,验证信息既可以为服务器在确认与所述用户对应的上一次访问请求通过的时刻(服务器在确认上一次访问请求通过后记录)距离当前时刻的时间长度超过预设的时间长度阈值后发送的,或者是由服务器在确认不存在与所述用户对应的上一次访问通过的时刻后发送。假设用户在时间长度阈值内重新通过客户端发起访问请求,那么客户端将直接接收到服务器返回的访问请求通过响应。
当在服务器侧生成矩阵块时,矩阵块的生成方式在实施例一中已有介绍,在优选的实施例中,矩阵信息由所述服务器在生成多个矩阵块后将当前存在的用于身份验证的字符分布于所述多个矩阵块中的部分矩阵块或全部矩阵块,以及确定与各所述矩阵块对应的坐标后生成。为了进一步提高安全性,该矩阵信息中各个矩阵块中包含的字符可设置为互不相同且不重合。
S402,所述客户端接收用户针对所述矩阵块的输入操作,并根据所述输入操作对应生成矩阵块输入顺序信息,所述矩阵块输入顺序信息由所述多个矩阵块中的一个或多个矩阵块的坐标排列组成。
基于客户端所支持的输入类型的不同,用户的输入操作也存在不同的类型,当客户端支持触屏界面输入时,该客户端依次获取所述用户通过所述客户端的触屏界面输入的点击操作,并根据所述触屏界面中各所述矩阵块的位置确定与所述点击操作对应的坐标,以此根据用户的输入操作对应生成矩阵块输入顺序信息;而在当客户端为键位输入时,该客户端获取用户通过所述客户端的按键依次输入的序号,并根据各矩阵块与序号的对应关系依次确定与所述序号对应的坐标,以此根据用户的输入操作对应生成矩阵块输入顺序信息。
S403,所述客户端将所述矩阵块输入顺序信息携带在验证响应消息中返回至所述服务器,以使所述服务器判断与密钥对应的密钥顺序信息是否与所述矩阵块输入顺序信息一致,所述密钥顺序信息由所述密钥中的各字符所对应的矩阵块的坐标依次组成。
为了实现针对用户输入操作对应的矩阵块顺序信息的验证,服务器侧需要获取与密钥对应的密钥顺序信息,在优选的实施例中,密钥顺序信息由所述服务器根据各所述矩阵块中包含的字符获取所述密钥中各字符所在的矩阵块的坐标后,按照所述密钥中各字符的顺序依次排列所述坐标,并根据排列结果生成。
由于本实施例中对于密钥验证都是由服务器完成,因此为了实现多次密钥验证以提高安全性,服务器可以直接判断针对访问请求的密钥验证成功次数是否达到预设的安全阈值,根据结果不同客户端所接收的信息也存在以下区别:
(1)接收服务器返回的携带新的矩阵信息的验证信息,该新的矩阵信息为所述服务器在判断当前针对所述服务器的访问请求的密钥验证通过次数未达到预设的安全阈值时生成的;
(2)接收所述服务器返回的访问请求通过响应,所述访问请求通过响应为所述服务器在判断当前针对所述服务器的访问请求的密钥验证通过次数达到预设的安全阈值时生成的。
需要说明的是,以上过程中的安全阈值可以为预先设置于服务器,或是由所述服务器根据验证请求消息中携带的用户信息动态生成,这些都在本申请的保护范围之内。
在该实施例中,虽然也是由客户端与服务器通过交互完成针对用户的服务器访问请求的密钥验证,其中判断用户输入的矩阵块顺序信息与密钥顺序信息是否匹配主要由服务器执行,通过由服务器针对用户利用客户端发送的矩阵块顺序信息进行验证,从而在无需对客户端的性能特别要求的情况下进一步保证了密钥验证的安全性。
实施例三
在实施例一以及实施例二中,都是针对用户需要访问服务器中数据的情况所提出的密钥验证方法,客户端在这两个实施例中主要是作为用户与服务器之间的交互纽带。但是当用户仅对客户端本身进行访问(例如解锁)或是访问客户端中的应用程序的情况下,客户端可以独立针对用户的请求完成密钥验证,而无需再向服务器进行交互处理。具体地,该实施例的流程示意图如图5所示,包括以下步骤:
S501,客户端接收用户针对矩阵块的输入操作,所述矩阵块中的部分或全部矩阵块包含一个或多个字符。
由于在本实施例中是由客户端独立进行密钥验证,因此在本步骤之前,客户端将接收用户的访问请求,该访问请求用于访问所述客户端中的应用程序或对所述客户端进行设置;之后客户端生成矩阵信息,矩阵信息包含多个矩阵块以及与各所述矩阵块对应的坐标。与服务器生成矩阵信息的情况类似,客户端首先生成多个矩阵块,随后将当前存在的用于身份验证的字符分布于多个矩阵块中的部分矩阵块或全部矩阵块,最后确定与各所述矩阵块对应的坐标。为了进一步提高安全性,各个矩阵块中包含的字符可被设置为互不相同且不重合。
出于的资源节省需求,避免客户端针对同一用户的在短时间内的访问请求频繁进行密钥验证,在优选实施例中,客户端在接收来自于所述用户的所述访问请求后,首先查询与所述用户对应的上一次访问请求通过的时刻(该时刻为客户端在确认上一次访问请求通过后记录),并根据查询结果分别执行以下处理:
(1)若所述时刻距离当前时刻的时间长度未超过预设的时间长度阈值,所述客户端确认所述访问请求通过;
(2)若所述时刻距离当前时刻的时间长度已超过预设的时间长度阈值,所述客户端生成所述新的矩阵信息;
(3)若不存在与所述用户对应的上一次访问通过的时刻,所述客户端生成所述新的矩阵信息。
S502,所述客户端判断与密钥对应的密钥顺序信息是否与所述矩阵块输入顺序信息一致,所述密钥顺序信息由所述密钥中的各字符所对应的矩阵块的坐标依次组成。
在确认是否一致之前,客户端需要基于当前的矩阵块的字符、坐标来确定与密钥对应的密钥顺序信息,首先根据各所述矩阵块中包含的字符获取所述密钥中各字符所在的矩阵块的坐标,随后按照密钥中各字符的顺序依次排列坐标,最后根据排列结果生成密钥顺序信息。
S503,当所述密钥顺序信息与所述矩阵块输入顺序信息一致时,所述客户端确认验证通过。
为了提高密钥验证的安全性,本实施例同样提出了针对同一请求进行多次密钥验证的机制,在当前确认密钥验证通过之后,客户端会判断针对所述访问请求的密钥验证通过次数是否达到预设的安全阈值,当所述密钥验证通过次数达到预设的安全阈值时,所述客户端确认所述访问请求通过;当所述密钥验证通过次数未达到预设的安全阈值时,所述客户端生成新的矩阵信息,所述新的矩阵信息为与当前的矩阵信息不同的矩阵信息,以重新开始一次密钥验证处理过程,其中新的矩阵信息为与当前的矩阵信息不同的矩阵信息。
需要说明的是,以上安全阈值可预先设置于所述客户端中,或者是由客户端根据访问请求中携带的用户信息动态生成。
在该实施例中,当客户端接收到仅针对自身或是自身的应用程序的访问请求时,客户端能够独立地生成用于显示给用户的多个矩阵块,并根据用户输入的矩阵块顺序信息进行密钥验证。不仅保护了客户端自身存储的数据的安全,也保证用户在使用该客户端进行密钥验证的过程中不会泄漏验证信息。
为达到以上技术目的,本申请的实施例四提出了一种服务器,如图6所示,包括:
发送模块610,用于向客户端发送携带矩阵信息的验证信息,所述矩阵信息包含多个矩阵块以及与各所述矩阵块对应的坐标,所述矩阵块中的部分或全部矩阵块包含一个或多个字符;
处理模块620,用于接收所述客户端返回的验证响应消息,所述验证响应消息中携带矩阵块输入顺序信息,所述矩阵块输入顺序信息为所述客户端在接收用户针对所述矩阵块的输入操作之后根据所述输入操作对应生成的,由所述多个矩阵块中的一个或多个矩阵块的坐标排列组成;
判断模块630,用于判断与密钥对应的密钥顺序信息是否与所述矩阵块输入顺序信息一致,所述密钥顺序信息由所述密钥中的各字符所对应的矩阵块的坐标依次组成;
当所述密钥顺序信息与所述矩阵块输入顺序信息一致时,所述判断模块630确认验证通过。
在具体的应用场景中,还包括:
矩阵信息生成模块,用于接收所述客户端发送的验证请求消息,并生成所述矩阵信息,所述验证请求消息为所述客户端在接收所述用户的针对所述服务器的访问请求后生成的。
在具体的应用场景中,所述矩阵信息生成模块,具体用于生成多个矩阵块,将当前存在的用于身份验证的字符分布于所述多个矩阵块中的部分矩阵块或全部矩阵块,确定与各所述矩阵块对应的坐标。
在具体的应用场景中,各所述矩阵块中包含的字符互不相同且不重合。
在具体的应用场景中,还包括:
密钥顺序获取模块,用于根据各所述矩阵块中包含的字符,获取所述密钥中各字符所在的矩阵块的坐标,按照所述密钥中各字符的顺序依次排列所述坐标,根据排列结果生成所述密钥顺序信息。
在具体的应用场景中,还包括:
验证模块,用于判断当前针对所述访问请求的密钥验证通过次数是否达到预设的安全阈值;
当所述验证成功次数达到预设的安全阈值时,所述验证模块确认所述访问请求通过,并向所述客户端返回访问请求通过响应;
当所述验证通过次数未达到安全阈值时,所述验证模块向客户端发送携带新的矩阵信息的验证信息,所述新的矩阵信息为与当前的矩阵信息不同的矩阵信息。
在具体的应用场景中,所述安全阈值预先设置于所述服务器;或,所述安全阈值由所述服务器根据所述用户的用户信息生成,所述验证请求消息中携带所述用户信息。
在具体的应用场景中,还包括:
查询模块,用于查询与所述用户对应的上一次访问请求通过的时刻,所述时刻为所述服务器在确认所述上一次访问请求通过后记录的;
若所述时刻距离当前时刻的时间长度未超过预设的时间长度阈值,所述查询模块确认所述访问请求通过,并向所述客户端返回访问请求通过响应;
若所述时刻距离当前时刻的时间长度已超过预设的时间长度阈值,所述查询模块向所述客户端发送携带所述矩阵信息的验证信息;
若不存在与所述用户对应的上一次访问通过的时刻,所述查询模块向所述客户端发送携带所述矩阵信息的验证信息。
本申请的实施例五还提出了一种客户端,如图7所示,包括:
接收模块710,用于接收服务器返回的验证消息,所述验证消息携带矩阵信息,所述矩阵信息包含多个矩阵块以及与各所述矩阵块对应的坐标,所述多个矩阵块中的部分或全部矩阵块包含一个或多个字符;
处理模块720,用于接收用户针对所述矩阵块的输入操作,并根据所述输入操作对应生成矩阵块输入顺序信息,所述矩阵块输入顺序信息由所述多个矩阵块中的一个或多个矩阵块的坐标排列组成;
响应模块730,用于将所述矩阵块输入顺序信息携带在验证响应消息中返回至所述服务器,以使所述服务器判断与密钥对应的密钥顺序信息是否与所述矩阵块输入顺序信息一致,所述密钥顺序信息由所述密钥中的各字符所对应的矩阵块的坐标依次组成。
在具体的应用场景中,还包括:
请求模块,用于接收用户针对所述服务器的访问请求,根据所述访问请求向所述服务器发送验证请求消息。
在具体的应用场景中,所述矩阵信息由所述服务器在生成多个矩阵块后将当前存在的用于身份验证的字符分布于所述多个矩阵块中的部分矩阵块或全部矩阵块,以及确定与各所述矩阵块对应的坐标后生成。
在具体的应用场景中,各所述矩阵块中包含的字符互不相同且不重合。
在具体的应用场景中,所述密钥顺序信息由所述服务器根据各所述矩阵块中包含的字符获取所述密钥中各字符所在的矩阵块的坐标后,按照所述密钥中各字符的顺序依次排列所述坐标,并根据排列结果生成。
在具体的应用场景中,所述处理模块接收用户针对所述矩阵块的输入操作,具体为:依次获取所述用户通过所述客户端的触屏界面输入的点击操作;或,获取所述用户通过所述客户端的按键依次输入的序号。
在具体的应用场景中,所述处理模块根据所述输入操作对应生成矩阵块输入顺序信息,具体为:当所述输入操作为所述点击操作时,根据所述触屏界面中各所述矩阵块的位置,确定与所述点击操作对应的坐标;当所述输入操作为所述序号时,根据各所述矩阵块与序号的对应关系,依次确定与所述序号对应的坐标。
在具体的应用场景中,所述接收模块710,还用于在所述响应模块将所述矩阵块输入顺序信息携带在验证响应消息中返回至所述服务器之后,接收所述服务器返回的携带新的矩阵信息的验证信息,所述新的矩阵信息为所述服务器在判断当前针对所述服务器的访问请求的密钥验证通过次数未达到预设的安全阈值时生成的,所述新的矩阵信息为与当前的矩阵信息不同的矩阵信息。
在具体的应用场景中,所述接收模块710,还用于在所述响应模块将所述矩阵块输入顺序信息携带在验证响应消息中返回至所述服务器之后,接收所述服务器返回的访问请求通过响应,所述访问请求通过响应为所述服务器在判断当前针对所述服务器的访问请求的密钥验证通过次数达到预设的安全阈值时生成的。
在具体的应用场景中,所述安全阈值预先设置于所述服务器;或,所述安全阈值由所述服务器根据所述用户的用户信息生成,所述访问请求以及所述验证请求消息中携带所述用户信息。
在具体的应用场景中,所述接收模块710,还用于在所述请求模块根据所述访问请求向所述服务器发送验证请求消息之后,接收所述服务器返回的访问请求通过响应,所述访问请求通过响应为所述服务器在确认与所述用户对应的上一次访问请求通过的时刻距离当前时刻的时间长度未超过预设的时间长度阈值后发送的。
在具体的应用场景中,所述验证信息为所述服务器在确认与所述用户对应的上一次访问请求通过的时刻距离当前时刻的时间长度超过预设的时间长度阈值后发送的,所述时刻为所述服务器在确认所述上一次访问请求通过后记录的;或,所述验证信息为所述服务器在确认不存在与所述用户对应的上一次访问通过的时刻后发送的。
本申请的实施例六还提出了一种客户端,如图8所示,包括:
接收模块810,用于接收用户针对所述矩阵块的输入操作,所述矩阵块中的部分或全部矩阵块包含一个或多个字符;
生成模块820,用于根据各所述矩阵块的坐标以及所述输入操作对应生成矩阵块输入顺序信息,所述矩阵块输入顺序信息由所述多个矩阵块中的一个或多个矩阵块的坐标组成;
判断模块830,用于判断与密钥对应的密钥顺序信息是否与所述矩阵块输入顺序信息一致,所述密钥顺序信息由所述密钥中的各字符所对应的矩阵块的坐标依次组成;
当所述密钥顺序信息与所述矩阵块输入顺序信息一致时,所述判断模块830确认验证通过。
在具体的应用场景中,还包括:
矩阵信息生成模块,用于接收用户的访问请求,并生成矩阵信息,所述访问请求用于访问所述客户端中的应用程序或对所述客户端进行设置,所述矩阵信息包含多个矩阵块以及与各所述矩阵块对应的坐标。
在具体的应用场景中,所述矩阵信息生成模块具体用于:
生成多个矩阵块,将当前存在的用于身份验证的字符分布于所述多个矩阵块中的部分矩阵块或全部矩阵块,确定与各所述矩阵块对应的坐标。
在具体的应用场景中,各所述矩阵块中包含的字符互不相同且不重合。
在具体的应用场景中,还包括:
密钥顺序获取模块,用于根据各所述矩阵块中包含的字符,获取所述密钥中各字符所在的矩阵块的坐标,按照所述密钥中各字符的顺序依次排列所述坐标,根据排列结果生成所述密钥顺序信息。
在具体的应用场景中,还包括:
验证模块,用于在所述判断模块确认验证通过之后,判断针对所述访问请求的密钥验证通过次数是否达到预设的安全阈值;
当所述密钥验证通过次数达到预设的安全阈值时,所述验证模块确认所述访问请求通过;
当所述密钥验证通过次数未达到预设的安全阈值时,所述验证模块生成新的矩阵信息,所述新的矩阵信息为与当前的矩阵信息不同的矩阵信息。
在具体的应用场景中,所述安全阈值预先设置于所述客户端;或,所述安全阈值由所述客户端根据所述用户信息生成,所述访问请求中携带所述用户信息。
在具体的应用场景中,还包括:
查询模块,用于查询与所述用户对应的上一次访问请求通过的时刻,所述时刻为所述客户端在确认所述上一次访问请求通过后记录的;
若所述时刻距离当前时刻的时间长度未超过预设的时间长度阈值,所述查询模块确认所述访问请求通过;
若所述时刻距离当前时刻的时间长度已超过预设的时间长度阈值,所述查询模块生成所述新的矩阵信息;
若不存在与所述用户对应的上一次访问通过的时刻,所述查询模块生成所述新的矩阵信息。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施场景所述的方法。
本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本申请所必须的。
本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本申请序号仅仅为了描述,不代表实施场景的优劣。
以上公开的仅为本申请的几个具体实施场景,但是,本申请并非局限于此,任何本领域的技术人员能思之的变化都应落入本申请的保护范围。
Claims (31)
1.一种密钥验证方法,其特征在于,包括:
服务器向客户端发送携带矩阵信息的验证信息,所述矩阵信息包含多个矩阵块以及与各所述矩阵块对应的坐标,所述矩阵块中的部分或全部矩阵块包含一个或多个字符;
所述服务器接收所述客户端返回的验证响应消息,所述验证响应消息中携带矩阵块输入顺序信息,所述矩阵块输入顺序信息为所述客户端在接收用户针对所述矩阵块的输入操作之后根据所述输入操作对应生成的,由所述多个矩阵块中的一个或多个矩阵块的坐标排列组成;
所述服务器判断与密钥对应的密钥顺序信息是否与所述矩阵块输入顺序信息一致,所述密钥顺序信息由所述密钥中的各字符所对应的矩阵块的坐标依次组成;
当所述密钥顺序信息与所述矩阵块输入顺序信息一致时,所述服务器确认验证通过。
2.如权利要求1所述的方法,其特征在于,在所述服务器向所述客户端发送携带矩阵信息的验证信息之前,还包括:
所述服务器接收所述客户端发送的验证请求消息,所述验证请求消息为所述客户端在接收所述用户的针对所述服务器的访问请求后生成的;
所述服务器生成所述矩阵信息。
3.如权利要求2所述的方法,其特征在于,所述服务器生成所述矩阵信息,具体为:
所述服务器生成多个矩阵块;
所述服务器将当前存在的用于身份验证的字符分布于所述多个矩阵块中的部分矩阵块或全部矩阵块;
所述服务器确定与各所述矩阵块对应的坐标。
4.如权利要求3所述的方法,其特征在于,
各所述矩阵块中包含的字符互不相同且不重合。
5.如权利要求2-4任一项所述的方法,其特征在于,所述服务器在判断与密钥对应的密钥顺序信息是否与所述矩阵块输入顺序信息一致之前,还包括:
所述服务器根据各所述矩阵块中包含的字符,获取所述密钥中各字符所在的矩阵块的坐标;
所述服务器按照所述密钥中各字符的顺序依次排列所述坐标;
所述服务器根据排列结果生成所述密钥顺序信息。
6.如权利要求2所述的方法,其特征在于,在所述服务器确认验证通过之后,还包括:
所述服务器判断当前针对所述访问请求的密钥验证通过次数是否达到预设的安全阈值;
当所述验证成功次数达到预设的安全阈值时,所述服务器确认所述访问请求通过,并向所述客户端返回访问请求通过响应;
当所述验证通过次数未达到安全阈值时,所述服务器向客户端发送携带新的矩阵信息的验证信息,所述新的矩阵信息为与当前的矩阵信息不同的矩阵信息。
7.如权利要求6所述的方法,其特征在于,
所述安全阈值预先设置于所述服务器;
或,所述安全阈值由所述服务器根据所述用户的用户信息生成,所述验证请求消息中携带所述用户信息。
8.如权利要求6所述的方法,其特征在于,在所述服务器接收所述客户端发送的验证请求消息之后,还包括:
所述服务器查询与所述用户对应的上一次访问请求通过的时刻,所述时刻为所述服务器在确认所述上一次访问请求通过后记录的;
若所述时刻距离当前时刻的时间长度未超过预设的时间长度阈值,所述服务器确认所述访问请求通过,并向所述客户端返回访问请求通过响应;
若所述时刻距离当前时刻的时间长度已超过预设的时间长度阈值,所述服务器向所述客户端发送携带所述矩阵信息的验证信息;
若不存在与所述用户对应的上一次访问通过的时刻,所述服务器向所述客户端发送携带所述矩阵信息的验证信息。
9.一种密钥验证方法,其特征在于,包括:
客户端接收服务器返回的验证消息,所述验证消息携带矩阵信息,所述矩阵信息包含多个矩阵块以及与各所述矩阵块对应的坐标,所述多个矩阵块中的部分或全部矩阵块包含一个或多个字符;
所述客户端接收用户针对所述矩阵块的输入操作,并根据所述输入操作对应生成矩阵块输入顺序信息,所述矩阵块输入顺序信息由所述多个矩阵块中的一个或多个矩阵块的坐标排列组成;
所述客户端将所述矩阵块输入顺序信息携带在验证响应消息中返回至所述服务器,以使所述服务器判断与密钥对应的密钥顺序信息是否与所述矩阵块输入顺序信息一致,所述密钥顺序信息由所述密钥中的各字符所对应的矩阵块的坐标依次组成。
10.如权利要求9所述的方法,其特征在于,在所述客户端接收来自于所述服务器的验证消息之前,还包括:
所述客户端接收用户针对所述服务器的访问请求;
所述客户端根据所述访问请求向所述服务器发送验证请求消息。
11.如权利要求10所述的方法,其特征在于,
所述矩阵信息由所述服务器在生成多个矩阵块后将当前存在的用于身份验证的字符分布于所述多个矩阵块中的部分矩阵块或全部矩阵块,以及确定与各所述矩阵块对应的坐标后生成。
12.如权利要求11所述的方法,其特征在于,
各所述矩阵块中包含的字符互不相同且不重合。
13.如权利要求9-12任一项所述的方法,其特征在于,
所述密钥顺序信息由所述服务器根据各所述矩阵块中包含的字符获取所述密钥中各字符所在的矩阵块的坐标后,按照所述密钥中各字符的顺序依次排列所述坐标,并根据排列结果生成。
14.如权利要求9所述的方法,其特征在于,所述客户端接收用户针对所述矩阵块的输入操作,具体为:
所述客户端依次获取所述用户通过所述客户端的触屏界面输入的点击操作;
或,所述客户端获取所述用户通过所述客户端的按键依次输入的序号。
15.如权利要求14所述的方法,其特征在于,根据所述输入操作对应生成矩阵块输入顺序信息,具体为:
当所述输入操作为所述点击操作时,所述客户端根据所述触屏界面中各所述矩阵块的位置,确定与所述点击操作对应的坐标;
当所述输入操作为所述序号时,所述客户端根据各所述矩阵块与序号的对应关系,依次确定与所述序号对应的坐标。
16.如权利要求9所述的方法,其特征在于,在所述客户端将所述矩阵块输入顺序信息携带在验证响应消息中返回至所述服务器之后,还包括:
接收所述服务器返回的携带新的矩阵信息的验证信息,所述新的矩阵信息为所述服务器在判断当前针对所述服务器的访问请求的密钥验证通过次数未达到预设的安全阈值时生成的,所述新的矩阵信息为与当前的矩阵信息不同的矩阵信息。
17.如权利要求9所述的方法,其特征在于,在所述客户端将所述矩阵块输入顺序信息携带在验证响应消息中返回至所述服务器之后,还包括:
接收所述服务器返回的访问请求通过响应,所述访问请求通过响应为所述服务器在判断当前针对所述服务器的访问请求的密钥验证通过次数达到预设的安全阈值时生成的。
18.如权利要求16或17任一项所述的方法,其特征在于,
所述安全阈值预先设置于所述服务器;
或,所述安全阈值由所述服务器根据所述用户的用户信息生成,所述访问请求以及所述验证请求消息中携带所述用户信息。
19.如权利要求10所述的方法,其特征在于,在所述客户端根据所述访问请求向所述服务器发送验证请求消息之后,还包括:
接收所述服务器返回的访问请求通过响应,所述访问请求通过响应为所述服务器在确认与所述用户对应的上一次访问请求通过的时刻距离当前时刻的时间长度未超过预设的时间长度阈值后发送的。
20.如权利要求10所述的方法,其特征在于,
所述验证信息为所述服务器在确认与所述用户对应的上一次访问请求通过的时刻距离当前时刻的时间长度超过预设的时间长度阈值后发送的,所述时刻为所述服务器在确认所述上一次访问请求通过后记录的;
或,所述验证信息为所述服务器在确认不存在与所述用户对应的上一次访问通过的时刻后发送的。
21.一种密钥验证方法,其特征在于,包括:
客户端接收用户针对矩阵块的输入操作,所述矩阵块中的部分或全部矩阵块包含一个或多个字符;
所述客户端根据各所述矩阵块的坐标以及所述输入操作对应生成矩阵块输入顺序信息,所述矩阵块输入顺序信息由所述多个矩阵块中的一个或多个矩阵块的坐标组成;
所述客户端判断与密钥对应的密钥顺序信息是否与所述矩阵块输入顺序信息一致,所述密钥顺序信息由所述密钥中的各字符所对应的矩阵块的坐标依次组成;
当所述密钥顺序信息与所述矩阵块输入顺序信息一致时,所述客户端确认验证通过。
22.如权利要求21所述的方法,其特征在于,在所述客户端接收用户针对所述矩阵块的输入操作之前,还包括:
所述客户端接收用户的访问请求,所述访问请求用于访问所述客户端中的应用程序或对所述客户端进行设置;
所述客户端生成矩阵信息,所述矩阵信息包含多个矩阵块以及与各所述矩阵块对应的坐标。
23.如权利要求22所述的方法,其特征在于,所述客户端生成矩阵信息,具体为:
所述客户端生成多个矩阵块;
所述客户端将当前存在的用于身份验证的字符分布于所述多个矩阵块中的部分矩阵块或全部矩阵块;
所述客户端确定与各所述矩阵块对应的坐标。
24.如权利要求23所述的方法,其特征在于,
各所述矩阵块中包含的字符互不相同且不重合。
25.如权利要求22-24任一项所述的方法,其特征在于,在所述客户端判断与密钥对应的密钥顺序信息是否与所述矩阵块输入顺序信息一致之前,还包括:
所述客户端根据各所述矩阵块中包含的字符,获取所述密钥中各字符所在的矩阵块的坐标;
所述客户端按照所述密钥中各字符的顺序依次排列所述坐标;
所述客户端根据排列结果生成所述密钥顺序信息。
26.如权利要求22所述的方法,其特征在于,在所述客户端确认验证通过之后,还包括:
所述客户端判断针对所述访问请求的密钥验证通过次数是否达到预设的安全阈值;
当所述密钥验证通过次数达到预设的安全阈值时,所述客户端确认所述访问请求通过;
当所述密钥验证通过次数未达到预设的安全阈值时,所述客户端生成新的矩阵信息,所述新的矩阵信息为与当前的矩阵信息不同的矩阵信息。
27.如权利要求26所述的方法,其特征在于,
所述安全阈值预先设置于所述客户端;
或,所述安全阈值由所述客户端根据所述用户信息生成,所述访问请求中携带所述用户信息。
28.如权利要求26所述的方法,其特征在于,在所述客户端接收用户的访问请求之后,还包括:
所述客户端查询与所述用户对应的上一次访问请求通过的时刻,所述时刻为所述客户端在确认所述上一次访问请求通过后记录的;
若所述时刻距离当前时刻的时间长度未超过预设的时间长度阈值,所述客户端确认所述访问请求通过;
若所述时刻距离当前时刻的时间长度已超过预设的时间长度阈值,所述客户端生成所述新的矩阵信息;
若不存在与所述用户对应的上一次访问通过的时刻,所述客户端生成所述新的矩阵信息。
29.一种服务器,其特征在于,包括:
发送模块,用于向客户端发送携带矩阵信息的验证信息,所述矩阵信息包含多个矩阵块以及与各所述矩阵块对应的坐标,所述矩阵块中的部分或全部矩阵块包含一个或多个字符;
处理模块,用于接收所述客户端返回的验证响应消息,所述验证响应消息中携带矩阵块输入顺序信息,所述矩阵块输入顺序信息为所述客户端在接收用户针对所述矩阵块的输入操作之后根据所述输入操作对应生成的,由所述多个矩阵块中的一个或多个矩阵块的坐标排列组成;
判断模块,用于判断与密钥对应的密钥顺序信息是否与所述矩阵块输入顺序信息一致,所述密钥顺序信息由所述密钥中的各字符所对应的矩阵块的坐标依次组成;
当所述密钥顺序信息与所述矩阵块输入顺序信息一致时,所述判断模块确认验证通过。
30.一种客户端,其特征在于,包括:
接收模块,用于接收服务器返回的验证消息,所述验证消息携带矩阵信息,所述矩阵信息包含多个矩阵块以及与各所述矩阵块对应的坐标,所述多个矩阵块中的部分或全部矩阵块包含一个或多个字符;
处理模块,用于接收用户针对所述矩阵块的输入操作,并根据所述输入操作对应生成矩阵块输入顺序信息,所述矩阵块输入顺序信息由所述多个矩阵块中的一个或多个矩阵块的坐标排列组成;
响应模块,用于将所述矩阵块输入顺序信息携带在验证响应消息中返回至所述服务器,以使所述服务器判断与密钥对应的密钥顺序信息是否与所述矩阵块输入顺序信息一致,所述密钥顺序信息由所述密钥中的各字符所对应的矩阵块的坐标依次组成。
31.一种客户端,其特征在于,包括:
接收模块,用于接收用户针对矩阵块的输入操作,所述矩阵块中的部分或全部矩阵块包含一个或多个字符;
生成模块,用于根据各所述矩阵块的坐标以及所述输入操作对应生成矩阵块输入顺序信息,所述矩阵块输入顺序信息由所述多个矩阵块中的一个或多个矩阵块的坐标组成;
判断模块,用于判断与密钥对应的密钥顺序信息是否与所述矩阵块输入顺序信息一致,所述密钥顺序信息由所述密钥中的各字符所对应的矩阵块的坐标依次组成;
当所述密钥顺序信息与所述矩阵块输入顺序信息一致时,所述判断模块确认验证通过。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510224909.XA CN106209738B (zh) | 2015-05-05 | 2015-05-05 | 一种密钥验证方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510224909.XA CN106209738B (zh) | 2015-05-05 | 2015-05-05 | 一种密钥验证方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106209738A CN106209738A (zh) | 2016-12-07 |
CN106209738B true CN106209738B (zh) | 2019-06-21 |
Family
ID=57459008
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510224909.XA Active CN106209738B (zh) | 2015-05-05 | 2015-05-05 | 一种密钥验证方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106209738B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107688940A (zh) * | 2017-05-10 | 2018-02-13 | 平安科技(深圳)有限公司 | 生物识别交易处理方法及*** |
CN111478903A (zh) * | 2020-04-07 | 2020-07-31 | 浙江同花顺智能科技有限公司 | 一种基于客户端的验证方法、服务器及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104079405A (zh) * | 2013-03-27 | 2014-10-01 | 阿里巴巴集团控股有限公司 | 基于矩阵值的用户身份校验方法、装置及*** |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140321643A1 (en) * | 2013-04-27 | 2014-10-30 | Li Liu | Method of generating multi-dimensional key |
-
2015
- 2015-05-05 CN CN201510224909.XA patent/CN106209738B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104079405A (zh) * | 2013-03-27 | 2014-10-01 | 阿里巴巴集团控股有限公司 | 基于矩阵值的用户身份校验方法、装置及*** |
Also Published As
Publication number | Publication date |
---|---|
CN106209738A (zh) | 2016-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10897358B2 (en) | Method for mapping at least two authentication devices to a user account using an authentication server | |
US9098850B2 (en) | System and method for transaction security responsive to a signed authentication | |
CN108989346B (zh) | 基于账号隐匿的第三方有效身份托管敏捷认证访问方法 | |
CN102202040B (zh) | 一种对客户端进行认证方法及装置 | |
CN105933353B (zh) | 安全登录的实现方法及*** | |
CN109325342A (zh) | 身份信息管理方法、装置、计算机设备和存储介质 | |
CN106330850A (zh) | 一种基于生物特征的安全校验方法及客户端、服务器 | |
JP2016502377A (ja) | 安全計算を用いて安全性を提供する方法 | |
CN108347428B (zh) | 基于区块链的应用程序的注册***、方法和装置 | |
CN108880822A (zh) | 一种身份认证方法、装置、***及一种智能无线设备 | |
CN104426659B (zh) | 动态口令生成方法、认证方法及***、相应设备 | |
GB2514419A (en) | Improved user authentication system and method | |
CN104281794A (zh) | 一种密码存储及验证的方法和装置 | |
CN105703910B (zh) | 基于微信服务号的动态令牌验证方法 | |
CN113079134A (zh) | 移动终端接入方法、装置、计算机设备和介质 | |
CN107979467A (zh) | 验证方法及装置 | |
CN106452738A (zh) | 一种登录设备的认证方法、装置和*** | |
CN107196917A (zh) | 一种服务响应方法及其中间件 | |
CN108121904B (zh) | 解锁方法、装置、电子设备及服务器 | |
CN116915493A (zh) | 安全登录方法、装置、***、计算机设备和存储介质 | |
CN106209738B (zh) | 一种密钥验证方法及设备 | |
CN105430649B (zh) | Wifi接入方法及设备 | |
CN106997432A (zh) | 图片密码认证方法和图片密码认证装置 | |
CN105743860A (zh) | 一种字符转换的方法和设备 | |
US10554400B2 (en) | Method and a system for generating a multi-factor authentication code |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1231277 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |