CN117527333A - 一种身份鉴别方法、服务器和终端设备 - Google Patents

一种身份鉴别方法、服务器和终端设备 Download PDF

Info

Publication number
CN117527333A
CN117527333A CN202311440474.3A CN202311440474A CN117527333A CN 117527333 A CN117527333 A CN 117527333A CN 202311440474 A CN202311440474 A CN 202311440474A CN 117527333 A CN117527333 A CN 117527333A
Authority
CN
China
Prior art keywords
user
server
account
authentication
account number
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.)
Pending
Application number
CN202311440474.3A
Other languages
English (en)
Inventor
惠静
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
XFusion Digital Technologies Co Ltd
Original Assignee
XFusion Digital Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by XFusion Digital Technologies Co Ltd filed Critical XFusion Digital Technologies Co Ltd
Priority to CN202311440474.3A priority Critical patent/CN117527333A/zh
Publication of CN117527333A publication Critical patent/CN117527333A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本申请实施例公开一种身份鉴别方法、服务器和终端设备,该方法应用于安全技术领域,所述方法包括:接收第一请求消息,第一请求消息包括第一用户的账号和密码,第一请求消息用于请求对第一用户进行身份鉴别;接收签名信息,签名信息基于与该账号关联的私钥加密得到,签名信息包括该账号及设备标识,设备标识是该账号的注册过程中第一用户所使用的设备的标识;基于与该账号关联的公钥对签名信息进行验证;在服务器中存储的与该公钥关联存储的账号及生成该公钥的设备的标识分别与签名信息中的账号和设备标识相同的情况下,发送第一响应消息,第一响应消息用于指示针对第一用户的身份鉴别成功。通过这种方式,有利于提高服务器的安全性。

Description

一种身份鉴别方法、服务器和终端设备
技术领域
本申请涉及安全技术领域,尤其涉及一种身份鉴别方法、服务器和终端设备。
背景技术
目前,服务器运维应用程序(Application,APP)采用账号和密码的登录方式。采用这种方式,客户端通过超文本传输安全协议(Hypertext Transfer Protocol Secure,HTTPS)向服务端发送账号和密码,服务端对账号和密码验证通过的情况下,用户成功登录服务器运维APP。
如果账号和密码泄露,可能导致恶意用户通过账号和密码登录服务器运维APP并操控服务器,这样会影响服务器安全运行。
发明内容
本申请实施例提供一种身份鉴别方法、服务器和终端设备,有利于提高服务器的安全性。
第一方面,本申请实施例提供了一种身份鉴别方法,应用于服务器,所述方法包括:接收来自终端设备的第一请求消息,第一请求消息包括第一用户的账号和密码,第一请求消息用于请求对第一用户进行身份鉴别;接收来自终端设备的签名信息,签名信息基于与第一用户的账号关联的私钥加密得到,签名信息包括第一用户的账号及设备标识,设备标识为终端设备的标识或终端设备中的硬件认证器的标识,设备标识是第一用户的账号的注册过程中第一用户所使用的设备的标识;基于与第一用户的账号关联的公钥对签名信息进行验证;在服务器中存储的与该公钥关联存储的账号及生成该公钥的设备的标识分别与签名信息中的账号和设备标识相同的情况下,向终端设备发送第一响应消息,第一响应消息用于指示针对第一用户的身份鉴别成功。
在该技术方案中,与第一用户的账号关联的私钥存储于第一用户的账号的注册过程中第一用户所使用的终端设备,不能被其他终端设备获取,服务器采用与第一用户的账号关联的公钥验证该签名信息,在服务器中存储的与该公钥关联存储的账号及生成该公钥的设备的标识分别与签名信息中的账号和设备标识相同,可以确定发送第一请求消息的终端设备为第一用户的账号对应的注册设备,这样可以使得即使第一用户的账号和密码泄露,恶意用户拥有第一用户的账号和密码,也无法通过其他设备登录服务器,这样可以提高服务器的安全性。
在一种可能的实现方式中,公钥和私钥基于第一用户的生物特征信息确定。
在该技术方案中,公钥和私钥基于用户的生物特征信息生成,可以降低私钥和公钥被伪造的概率。
在一种可能的实现方式中,所述方法还包括:接收来自注册设备的注册请求,注册请求包括第一用户的账号和密码,注册请求用于请求注册第一用户的账号;接收来自注册设备的公钥和生成公钥的设备的标识;将该公钥、第一用户的账号、生成该公钥的设备的标识关联存储。
在一种可能的实现方式中,基于与第一用户的账号关联的公钥对签名信息进行验证的具体实施方式可以为:基于该公钥对签名信息进行解密,得到签名信息中的账号和设备标识;在服务器中存储的与该公钥关联存储的账号及生成该公钥的设备的标识分别与签名信息中的账号和设备标识相同的情况下,签名信息验证成功。
第二方面,本申请实施例提供了另一种身份鉴别方法,应用于终端设备,所述方法包括:向服务器发送第一请求消息,第一请求消息包括第一用户的账号和密码,第一请求消息用于请求对第一用户进行身份鉴别;基于与第一用户的账号关联的私钥加密得到签名信息,签名信息包括第一用户的账号及设备标识,设备标识为终端设备的标识或终端设备中的硬件认证器的标识,设备标识是第一用户的账号的注册过程中第一用户所使用的设备的标识;向服务器发送签名信息;接收来自服务器的第一响应消息,第一响应消息用于指示针对第一用户的身份鉴别成功,第一响应消息是在服务器中存储的与该公钥关联存储的账号及生成该公钥的设备的标识分别与签名信息中的账号和设备标识相同的情况下发送的。
在该技术方案中,与第一用户的账号关联的私钥存储于第一用户的账号的注册过程中第一用户所使用的终端设备,不能被其他终端设备获取,基于该私钥加密得到签名信息,在服务器中存储的与该公钥关联存储的账号及生成该公钥的设备的标识分别与签名信息中的账号和设备标识相同,可以确定发送第一请求消息的终端设备为第一用户的账号对应的注册设备,这样可以使得即使第一用户的账号和密码泄露,恶意用户拥有第一用户的账号和密码,也无法通过其他设备登录服务器,这样可以提高服务器的安全性。
在一种可能的实现方式中,在向服务器发送第一请求消息之前,所述方法还包括:响应于预设操作,获取第一用户的账号和密码,其中,预设操作包括以下一项或多项:登录操作、服务器下电操作、固件升级操作、日志导出操作。
在该技术方案中,响应于预设操作,进而向服务器发送第一请求消息,可以触发服务器对第一用户进行身份鉴别,有利于提高服务器的安全性,还可以防止第一用户由于误操作而影响服务器的正常运行。
在一种可能的实现方式中,私钥基于第一用户的生物特征信息确定。
在该技术方案中,私钥基于用户的生物特征信息生成,可以降低私钥和公钥被伪造的概率。
在一种可能的实现方式中,所述方法还包括:向服务器发送注册请求,注册请求包括第一用户的账号和密码,注册请求用于请求注册第一用户的账号;生成非对称密钥对,非对称密钥对包括公钥和私钥;将第一用户的账号和该私钥关联存储;向服务器发送该公钥和生成该公钥的设备的标识。
在一种可能的实现方式中,所述方法还包括:响应于预设操作,采集生物特征信息;基于终端设备中存储的第一用户的生物特征信息对采集的生物特征信息进行验证;在生物特征信息验证通过的情况下,触发执行向服务器发送第一请求消息的步骤。
在该技术方案中,在针对第一用户的身份鉴别过程中,终端设备将与第一用户的账号绑定的生物特征信息和当前采集的生物特征信息进行比对,可以确定是否为第一用户本人登录,使得即使第一用户的账号和密码泄露,其他用户由于无法获取第一用户的生物特征信息,因此也无法登录服务器,这样可以提高服务器的安全性。
在一种可能的实现方式中,生成非对称密钥对之前,所述方法还包括:采集第一用户的生物特征信息,并存储第一用户的生物特征信息。
第三方面,本申请实施例提供了一种服务器,服务器包括用于实现第一方面所述的方法的单元。
第四方面,本申请实施例提供了一种终端设备,终端设备包括用于实现第二方面所述的方法的单元。
第五方面,本申请实施例提供另一种服务器,服务器包括处理器和存储器,存储器用于存储程序指令,所述处理器用于执行所述程序指令,以使得所述服务器执行如第一方面的方法。
第六方面,本申请实施例提供另一种终端设备,终端设备包括处理器和存储器,存储器用于存储程序指令,所述处理器用于执行所述程序指令,以使得所述终端设备执行如第二方面的方法。
第七方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被执行时使得第一方面或第二方面所述的方法被实现。
第八方面,本申请实施例提供一种包括计算机程序或指令的计算机程序产品,当计算机程序或指令在计算机上运行时,使得计算机执行如第一方面或第二方面的方法。
附图说明
图1是本申请实施例公开的一种通信***的架构示意图;
图2是本申请实施例公开的一种用户注册方法的流程示意图;
图3是本申请实施例公开的一种身份鉴别方法的流程示意图;
图4是本申请实施例公开的一种服务器的结构示意图;
图5是本申请实施例公开的另一种服务器的结构示意图;
图6是本申请实施例公开的一种终端设备的结构示意图;
图7是本申请实施例公开的另一种终端设备的结构示意图。
具体实施方式
应理解,本申请实施例中涉及的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
本申请实施例中的“至少一个”指的是一个或多个,多个指的是两个或两个以上。本申请实施例中的“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示如下三种情况:单独存在A,同时存在A和B,单独存在B。其中,A、B可以是单数或者复数。字符“/”可以表示前后关联对象是一种“或”的关系。
本申请实施例中的“以下至少一项”或其类似表达,指的是这些项中的任意组合,包括单项或复数项的任意组合。例如,a、b或c中的至少一项,可以表示如下七种情况:a,b,c,a和b,a和c,b和c,a、b和c。其中,a、b、c中的每一个可以是元素,也可以是包含一个或多个元素的集合。
为了更好的理解本申请实施例公开的一种身份鉴别方法,下面首先对本申请实施例适用的通信***进行描述。
请参见图1,图1是本申请实施例公开的一种通信***的架构示意图。如图1所示,该通信***包括:终端设备101和服务器102。
其中,终端设备101中可以包括硬件认证器,硬件认证器可以具有以下一项或多项功能:生成密钥、加密、存储(如存储密钥、存储生物特征信息)等。硬件认证器可以是一个加密实体,例如,为终端设备中的高安全实体。
可选的,终端设备101中可以包括存储器,存储器可以用于存储生物特征信息或其他信息。存储器和硬件认证器可以为终端设备中的硬件,换言之,存储器和硬件认证器位于终端设备的硬件层。图1所示虚线框中的软件或硬件是可选的,也就是说,终端设备101可以不包括虚线框中的软件或硬件,服务器102可以不包括虚线框中的软件或硬件。
终端设备101中可以安装有认证客户端,相应的,服务器102中可以安装有认证服务端,认证客户端和认证服务端进行通信对用户进行身份鉴别。认证客户端可以为安装或运行于终端设备101上的软件,示例的,认证客户端具体可以运行在终端设备101的处理器上。认证服务端可以为安装或运行于服务器102上的软件,示例的,认证服务端具体可以运行在服务器102的处理器上。
可选的,认证客户端和认证服务端之间通信的数据可以封装在应用层安全传输协议中进行安全传输,这样可以确保认证客户端和认证服务端之间通信通道的安全,例如,应用层安全传输协议可以包括超文本传输安全协议(Hypertext Transfer ProtocolSecure,HTTPS)或其他协议。
可选的,终端设备101中还可以安装或运行有服务器的运维客户端,运维客户端可以向服务器的运维服务端发送运维指令。运维服务端可以安装或运行于服务器102上,运维服务端可以接收来自运维客户端的运维指令,根据运维指令运维服务端可以对一个服务器或服务器集群进行管理、维护。例如,运维服务端为用于管理一个服务器的服务器管理软件,这种情况下,服务器管理软件可以为服务器的管理控制器。本申请实施例中的客户端和服务端可以指应用程序、管理软件。可选的,运维客户端和运维服务端之间通信的数据可以封装在应用层安全传输协议中进行安全传输,这样可以确保运维客户端和运维服务端之间通信通道的安全。示例的,运维客户端具体可以运行在终端设备101的处理器上,运维服务端具体可以运行在服务器102的处理器上。
可选的,用户在登录运维客户端的过程中,可以在运维客户端中输入账号和密码,运维客户端可以将账号和密码发送给运维服务端(如图1所示),运维服务端接收到账号和密码后,可以验证运维账号和密码。示例性的,若运维服务端中记录了该账号,且记录的该账号对应的密码与接收到的密码相同,那么该账号和密码验证成功。若运维服务端中未记录该账号,或,记录的该账号对应的密码与接收到的密码不同,那么该账号和密码验证失败。
可选的,除了验证账号和密码以外,运维客户端还可以调用认证客户端对用户进一步进行身份鉴别,具体的,认证客户端可以通过与认证服务端之间的交互对用户进行进一步身份鉴别(如图1所示)。也就是说,运维客户端和运维服务端之间的交互可以对账号和密码进行验证,认证客户端和认证服务端之间的交互可以对用户进行进一步身份验证。其中,认证客户端和认证服务端之间的交互对用户进行进一步身份验证可以包括:对用户所使用的终端设备的标识进行验证,可选的,还可以包括对用户的生物特征信息进行验证,具体内容可以参见图2-图3对应实施例中的描述。
可以理解的,认证客户端和运维客户端均运行在终端设备101上,示例的,具体可以运行在终端设备101的处理器上。
可选的,认证服务端和运维服务端可以安装(运行)于不同的服务器中,例如,认证服务端安装于第一服务器中,运维服务端安装于第二服务器中,用户在登录运维客户端的过程中,可以在运维客户端中输入账号和密码,运维客户端可以将账号和密码发送给第二服务器中的运维服务端,运维服务端成功验证账号和密码后,可以向运维客户端发送响应消息,该响应消息可以指示账号和密码验证成功,可选的,响应消息还可以携带认证服务端的地址或标识。
可选的,运维客户端还可以调用认证客户端,使认证客户端基于响应消息中的认证服务端的地址或标识向认证服务端发送鉴别请求以请求对用户进行身份鉴别,在身份鉴别通过的情况下,认证客户端可以向运维客户端指示身份鉴别通过。或者,运维客户端还可以调用认证客户端,使认证客户端向运维服务端发送鉴别请求以请求对用户进行身份鉴别,运维服务端接收到鉴别请求后,可以向认证服务端发送鉴别请求,认证服务端接收到鉴别请求后对用户进行身份鉴别,在身份鉴别通过的情况下,认证服务端可以向运维服务端指示身份鉴别通过,运维服务端可以向认证客户端指示身份鉴别通过,认证客户端可以向运维客户端指示身份鉴别通过。其中,运维服务端可以基于响应消息中的认证服务端的地址或标识向认证服务端发送鉴别请求。进一步的,运维客户端获知身份鉴别通过,且账号和密码验证成功的情况下,运维客户端可以允许用户登录运维客户端。
需要说明的是,图1中认证服务端和运维服务端安装于同一服务器中用于举例,并不构成对本申请实施例的限定。
可选的,终端设备101和服务器102中还可以包括软件中间件,软件中间件位于应用层和硬件层的软件中间层中,软件中间件可以为上层(如应用层)服务提供API封装,为下层(如硬件层)提供协议转换。软件中间件可以理解为应用层与硬件层之间交互的桥梁,通过设置软件中间件可以避免应用层与硬件层直接进行交互,可以提高终端设备和服务器的稳定性。
服务器102的硬件层中可以包括存储器,该存储器可以用于存储密钥或其他信息,该存储器位于服务器的硬件层中。
终端设备101和服务器102中的存储器均可以为内存或硬盘等存储器,其中,内存可以为非易失性存储器(non-volatile memory,NVM)、随机存取存储器(Random AccessMemory,RAM)、只读存储器(Read-Only Memory,ROM)等。
终端设备101可以是用户侧的一种用于接收或发射信号的实体。终端设备101可以称之为终端(terminal)、用户设备(user equipment,UE)、移动台(mobile station,MS)、移动终端(mobile terminal,MT)、接入终端设备、工业控制终端设备、UE单元、UE站、移动站、远方站、远程终端设备、移动设备、无线通信设备、UE代理或UE装置等。终端设备可以是固定的或者移动的。需要说明的是,终端设备可以支持至少一种无线通信技术,例如长期演进(long time evolution,LTE)、NR、第六代移动通信***(6th-generation,6G)或下一代无线通信技术等。
例如,终端设备可以是手机(mobile phone)、平板电脑(pad)、台式机、笔记本电脑、一体机、工业控制(industrial control)中的无线终端、无人驾驶(self-driving)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端、蜂窝电话、无绳电话、会话启动协议(session initiation protocol,SIP)电话、无线本地环路(wireless local loop,WLL)站、个人数字助理(personal digital assistant,PDA)、具有无线通信功能的手持设备、计算设备或连接到无线调制解调器的其它处理设备、可穿戴设备、未来移动通信网络中的终端设备或者未来演进的公共陆地移动网络(public landmobile network,PLMN)中的终端设备等。本申请的实施例对终端设备所采用的具体技术和具体设备形态不做限定。
服务器102可以是具有数据处理能力、数据收发能力和数据存储能力的电子设备。本申请实施例中的服务器可以为机架式服务器、机柜式服务器、刀片式服务器、高密度服务器等服务器。服务器102中可以包括但不限于电源、处理器、内存、硬盘、管理控制器等部件。其中,处理器可以为中央处理器(central processing unit,CPU)或图形处理器(graphicsprocessing unit,GPU)等。管理控制器可以用于对服务器中的部件的监测以及管理等。例如,管理控制器可以监测服务器中各个硬件设备的状态(如温度、电压等)。再例如,通过管理控制器可以进行***配置、固件升级、故障诊断等。
需要说明的是,不同的设备厂家对服务器的管理控制器可以有不同的命名,例如一些管理控制器称为基板管理控制器(Baseboard Management Controller,BMC),一些管理控制器称为完全自动化集成(Integrated lights-out,iLO),另一些管理控制器称为集成戴尔远程控制卡(Integrated Dell Remote Access Controller,iDRAC)。不论是叫BMC,还是叫iLO或iDRAC,都可以理解为是本发明实施例中的管理控制器。在本申请实施例中以服务器的管理控制器称为BMC为例。
需要说明的是,本申请实施例中提及的设备名称、消息名称等用于举例,应用于不同通信***中,设备名称、消息名称可以不同,本申请实施例对此不做限定。
可以理解的是,本申请实施例描述的通信***是为了更加清楚的说明本申请实施例的技术方案,并不构成对本申请实施例提供的技术方案的限定,本领域技术人员可知,随着***架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
下面对本申请实施例提供的用户注册方法进行阐述。通过实施用户注册方法可以将用户的账号与终端设备中的硬件认证器绑定,使得后续用户通过终端设备发起登录请求时,该用户所使用的终端设备中需具有与该用户的账号绑定的硬件认证器,才能成功通过身份鉴别、成功登录。
请参见图2,图2是本申请实施例提供的一种用户注册方法的流程示意图,该方法由图1中的通信***执行,该方法包括但不限于如下步骤:
S201:终端设备生成注册请求,注册请求用于请求注册第一用户的账号。
其中,请求注册的账号可以为运维软件、通讯软件、社交软件或者其他软件中的账号,本申请实施例以注册的账号为运维软件中的账号为例进行说明。
具体的,终端设备上可以运行运维客户端,可以理解的是,若注册的账号为运维软件(即运维客户端)中的账号,注册请求可以由运维客户端生成,也就是说,S201可以由终端设备运行运维客户端执行。示例性的,第一用户打开终端设备上安装的运维客户端,终端设备显示运维客户端的注册页面,第一用户在注册页面中输入账号和密码,并触发(如点击)注册页面中的确定注册按钮,终端设备响应于针对确定注册按钮的触发操作,可以生成注册请求,该注册请求用于请求注册第一用户的运维账号。
可选的,终端设备生成注册请求的情况下,可采集第一用户的生物特征信息,并存储采集的生物特征信息。终端设备上可以运行认证客户端,生物特征信息可以由认证客户端采集并存储。
生物特征信息可以包括但不限于以下一项或多项:指纹、声纹、人脸或虹膜。
可选的,第一用户的生物特征信息可以存储于终端设备的存储器中。第一用户的生物特征信息存储于终端设备的存储器表示终端设备对第一用户的生物特征信息进行本地采集和本地存储,通过这种方式,可以避免将生物特征信息存储于云端,存储于云端可能存在隐私泄露问题,因此本地采集本地存储有利于保护用户隐私。
终端设备的硬件认证器可以具有存储功能,可选的,终端设备可以将采集到的第一用户的生物特征信息存储于硬件认证器中。或者,终端设备不将采集到的第一用户的生物特征信息存储于硬件认证器中,而是存储于终端设备的其他存储器中,由于硬件认证器的存储空间有限,通过这种方式可以节省硬件认证器的存储资源。
需要说明的是,采集第一用户的生物特征信息是在第一用户的注册流程尚未完成的情况下执行的。第一用户的注册流程包括:确定账号和密码,采集第一用户的生物特征信息,将第一用户的账号与终端设备绑定。例如,第一用户在终端设备上安装运维客户端后,第一用户打开运维客户端,运维客户端输出第一指示信息,以提示第一用户注册账号,第一用户在注册页面输入账号和密码后,运维客户端可以将第一用户输入的账号和密码发送给运维服务端,运维服务端可以存储接收到的账号和密码,至此,第一用户的账号和密码确定,运维客户端可以输出第二指示信息,以指示为了提升账号安全性,是否同意采集生物特征信息。若第一用户同意,运维客户端可以调用认证客户端,以使得认证客户端采集并存储第一用户的生物特征信息。这种情况下,采集第一用户的生物特征信息是在确定第一用户的账号和密码后执行的。
S202:终端设备向服务器发送注册请求,注册请求包括第一用户的账号和密码。相应的,服务器接收注册请求。
服务器上可以运行运维服务端。具体的,注册请求可以由运维客户端发送给运维服务端。
服务器接收到注册请求后,可以判断注册请求中的账号是否已被注册,若注册请求中的账号未被注册,服务器可以存储第一用户的账号和密码。可选的,服务器还可以向终端设备发送针对注册请求的第一注册响应,第一注册响应可以指示注册请求中的账号未被注册,终端设备基于第一注册响应可以继续执行注册账号的步骤,如继续执行S203。可选的,若注册请求中的账号已被注册,第一注册响应可以指示注册请求中的账号已被注册,终端设备基于第一注册响应可以不继续执行注册账号的步骤,如不执行S203。
S203:终端设备生成非对称密钥对,非对称密钥对包括公钥和私钥。
具体的,非对称密钥对可以由认证客户端生成,或者,非对称密钥对可以由认证客户端指示硬件认证器生成。硬件认证器是内置于终端设备中的硬件实体,通过硬件认证器生成的公钥和私钥可以是硬件密钥。相较于软件密钥,硬件密钥的安全等级更高。其中,硬件密钥是由硬件设备生成、存储和使用的密钥,软件密钥是由软件生成、存储和使用的密钥,由硬件密钥加密的内容无法由软件破解,因此,硬件密钥的安全性更高。
可选的,若终端设备采集了第一用户的生物特征信息,终端设备还可以基于第一用户的生物特征信息生成非对称密钥对。这样可以提高非对称密钥对的安全性,降低非对称密钥对被伪造的可能性。
示例性的,终端设备中的硬件认证器可以获取本地存储的第一用户的生物特征信息,并基于第一用户的生物特征信息生成非对称密钥对。
当然,在其他实施例中,终端设备也可以利用除第一用户生物特征信息以外的其他信息生成非对称密钥对。
S204:终端设备向服务器发送第一握手消息,第一握手消息包括第一用户的账号和认证客户端的标识。相应的,服务器接收第一握手消息。S204是可选步骤,也就是说,可以不执行S204。图2中虚线所示的步骤表示可选步骤。
具体的,第一握手消息可以由终端设备上运行的认证客户端发送,相应的,第一握手消息可以由服务器上运行的认证服务端接收。
认证服务端通过第一握手消息中的认证客户端的标识可以识别认证客户端的身份,进一步的,认证客户端通过S205中第二握手消息中的认证服务端的标识可以识别认证服务端的身份,这样认证客户端和认证服务端之间握手成功,认证客户端和认证服务端之间的通信链路建立完成。
其中,第一握手消息中的认证客户端的标识可以标识认证客户端,第二握手消息中的认证服务端的标识可以标识认证服务端。
需要说明的是,终端设备上运行的运维客户端与服务器上运行的运维服务端之间也可以进行握手交互,具体过程可参见认证客户端与认证服务端之间的握手交互,此处不再赘述。还需要说明的是,运行运维服务端的服务器和运行认证服务端的服务器可以为同一服务器或者,为不同服务器。
可选的,确定第一用户的账号和密码后,运维客户端可以输出第三指示信息,以指示为了提升账号安全性,是否同意将第一用户的账号与终端设备绑定。若第一用户同意,运维客户端可以调用认证客户端,以使得认证客户端向认证服务端发第一握手消息,以促使与认证服务端之间完成握手。在完成握手后,认证客户端与认证服务端可以进行交互以将第一用户的账号与终端设备绑定。可选的,第三指示信息可以是在采集到第一用户的生物特征信息后输出的。可以理解的是,第一握手消息中携带第一用户的账号可以表示认证客户端需要将第一用户的账号与终端设备绑定。
可选的,第三指示信息和第二指示信息为不同指示信息,或者,第三指示信息所指示的内容和第二指示信息所指示的内容可以通过同一条指示信息指示,也就是说,第二指示信息和第三指示信息携带于同一条指示消息中。例如,运维客户端输出一条指示消息,该指示消息指示为了提升账号安全性,是否同意采集生物特征信息(第二指示信息),以及是否同意将第一用户的账号与终端设备绑定(第三指示信息)。
可选的,第一握手消息中还可以包括第一用户的密码。
需要说明的是,终端设备可以先执行S203,后执行S204;或者,终端设备可以先执行S204,后执行S203;或者,终端设备可以同时执行S203和S204,本申请实施例对执行顺序不做限定。
S205:服务器向终端设备发送第二握手消息,第二握手消息包括第一用户的账号、认证客户端的标识和认证服务端的标识。相应的,终端设备接收第二握手消息。S205是可选步骤,也就是说,可以不执行S205。
具体的,第二握手消息可以由认证服务端发送,相应的,第二握手消息可以由认证客户端接收。服务器的认证服务端接收到第一握手消息后,可以向认证客户端发送第二握手消息,认证客户端接收到第二握手消息后,通过第二握手消息中的认证服务端的标识可以识别认证服务端的身份,至此,认证客户端和认证服务端之间完成握手。
认证服务端的标识可以称为依赖方标识符(Reply Identify,RPID)。
可选的,第一握手消息包括第一用户的账号、密码和认证客户端的标识的情况下,第二握手消息可以包括第一用户的账号、密码、认证客户端的标识和认证服务端的标识。
S206:终端设备将第一信息和私钥关联存储,第一信息包括第一用户的账号。
具体的,S206可以由终端设备的认证客户端执行。
终端设备将第一信息和私钥关联存储可以表示:终端设备存储第一信息和私钥之间的关联关系。若终端设备获取第一信息,那么通过关联关系,可以获取私钥;可以理解的是,若终端设备获取私钥,那么通过关联关系,可以获取第一信息。
可选的,第一信息可以包括第一用户的账号和认证客户端的标识,或者,第一信息可以包括第一用户的账号和认证服务端的标识,或者,第一信息可以包括第一用户的账号、认证客户端的标识、认证服务端的标识。
终端设备上可以安装或运行有一个或多个认证客户端,一个认证客户端对应一个认证服务端。第一信息和私钥关联存储于终端设备(如终端设备中的硬件认证器)中,第一信息包括第一用户的账号和认证客户端的标识,可以使得终端设备(如终端设备中的硬件认证器)根据第一信息可以区分不同认证客户端的身份验证需求,从而能基于实际所需的私钥生成签名信息,签名信息用于对用户进行身份验证。
例如,终端设备上安装或运行认证客户端1和认证客户端2,还安装或运行运维客户端和通讯客户端,第一用户注册了运维账号和通讯账号,运维客户端可以调用认证客户端1对第一用户进行身份验证,通讯客户端可以调用认证客户端2对第一用户进行身份验证。终端设备将第一信息1与私钥1关联存储,第一信息1包括运维账号和认证客户端1的标识,终端设备将第一信息2和私钥2关联存储,第一信息2包括通讯账号和认证客户端2的标识。第一用户需要登录运维客户端的情况下,运维客户端调用认证客户端1对第一用户进行身份验证的过程中,终端设备(如终端设备中的硬件认证器)获取的第一信息为第一信息1,进一步的,基于第一信息1可以获取私钥1,并基于私钥1生成签名信息。特别是在运维账号和通讯账号相同(如均为第一用户的邮箱号)的情况下,通过第一信息1中的认证客户端1的标识,终端设备(如终端设备中的硬件认证器)可以确定实际所需的私钥为私钥1。
可以理解的是,一个认证客户端对应一个认证服务端,因此,第一信息包括第一用户的账号和认证服务端的标识,可以使得终端设备(如终端设备中的硬件认证器)根据第一信息可以区分不同认证服务端的身份验证需求,从而能基于实际所需的私钥生成签名信息,签名信息用于对用户进行身份验证。
可选的,第一信息包括第一用户的账号和认证服务端的标识的情况下,第一信息中认证服务端的标识可以由认证客户端默认设置。或者,第一信息中认证服务端的标识可以由运维客户端向认证客户端指示。示例性的,运维客户端向运维服务端发送注册请求,运维服务端接收到注册请求后,可以向运维客户端发送第一注册响应,第一注册响应可以指示认证服务端的地址或标识。运维客户端接收到第一注册响应后,可以向认证客户端指示认证服务端的地址或标识。或者,第一信息中认证服务端的标识可以是S205由认证服务端发送给认证客户端的。本申请实施例对第一信息中的认证服务端的标识的获取方式不做限定。
可选的,终端设备可以将第一信息和私钥关联存储于终端设备的存储器中,或者,将第一信息和私钥关联存储于终端设备的硬件认证器中。第一信息和私钥关联存储于硬件认证器的情况下,私钥不能被外部获取,也不能被终端设备中的其他部件获取,私钥只能由硬件认证器获取,通过这种方式,可以避免泄露私钥。
可选的,终端设备(如终端设备中的认证客户端)可以对第一信息进行哈希处理,得到第一信息的哈希结果,将第一信息和私钥进行关联存储可以指:将第一信息的哈希结果和私钥进行关联存储,由于第一信息的哈希结果的数据量小于第一信息的数据量,因此,通过这种方式可以节省存储资源。
其中,哈希结果可以为散列值,或称为消息摘要。本申请实施例中进行哈希处理可以通过以下哈希算法实现:安全散列算法256(Secure Hash Algorithm 256,SHA256)、安全散列算法1(Secure Hash Algorithm 1,SHA1)、安全散列算法512(Secure Hash Algorithm512,SHA512)、消息摘要算法版本5(Message Digest Algorithm 5,MD5)等。
可选的,认证客户端接收到第二握手消息后,可以将第二握手消息传输给软件中间件,软件中间件对第二握手消息进行转换,并将转换后得到的新消息发送给硬件认证器,其中,新消息采用硬件层可以识别的消息格式。可选的,该新消息中还可以包括第一信息的哈希结果。
可选的,第一握手消息包括第一用户的账号、密码和认证客户端的标识,和/或,第二握手消息包括第一用户的账号、密码、认证客户端的标识和认证服务端的标识,这种情况下,第一信息可以包括第一用户的账号、密码和认证服务端的标识。
S207:终端设备向服务器发送公钥和生成公钥的设备的标识。相应的,服务器接收公钥和生成公钥的设备的标识。
具体的,公钥和生成公钥的设备的标识可以由认证客户端发送,相应的,公钥和生成公钥的设备的标识可以由认证服务端接收。
其中,生成公钥的设备可以为终端设备,或者,为终端设备中的某个硬件器件(如硬件认证器)。也就是说,S207中终端设备向服务器发送公钥和终端设备的标识,或者,S207中终端设备向服务器发送公钥和硬件认证器的标识。其中,硬件认证器的标识可以标识终端设备中的硬件认证器,即存储私钥的硬件认证器。终端设备中的其他器件或其他终端设备无法获取硬件认证器的标识,通过这种方式,可以降低硬件认证器的标识被伪造的概率。
可选的,服务器中上可以安装或运行有一个或多个认证服务端,一个认证客户端对应一个认证服务端。S207中终端设备还可以向服务器发送认证客户端的标识,这样服务器可以区分不同认证客户端发起的身份验证,从而服务器可以根据实际所需的公钥对签名信息进行验证。
可选的,公钥和生成公钥的设备的标识可以携带于针对S205中的第二握手消息的响应消息中,第二握手消息中包括第一用户的账号、认证客户端的标识和认证服务端的标识,因此,即使针对第二握手消息的响应消息未显式携带第一用户的账号,认证服务端在接收到该响应消息后,也可获知该响应消息中的公钥需与第二握手消息中的第一用户的账号关联。
可选的,S207中终端设备向服务器发送公钥和生成公钥的设备的标识时,还可以向服务器发送第一用户的账号。相应的,针对第二握手消息的响应消息中可以显式携带第一用户的账号,这种情况下,针对第二握手消息的响应消息可以包括公钥、第一用户的账号和生成公钥的设备的标识。
S208:服务器将公钥和第二信息关联存储,第二信息包括第一用户的账号和生成公钥的设备的标识。
具体的,S208可以由服务器中的认证服务端执行。
服务器可以将公钥和第二信息关联存储于服务器的存储器中,以供对第一用户进行身份鉴别时使用。
在本申请实施例中,将与第一用户的账号关联的私钥存储于终端设备中,并将与第一用户的账号关联的公钥发送给服务器,通过这种方式,在对第一用户进行身份鉴别的过程中,终端设备可以基于该私钥生成签名信息,并将签名信息发送给服务器。由于私钥存储于第一用户的账号的注册过程中第一用户所使用的终端设备(下文称为第一用户的账号对应的注册设备)中,不能被其他终端设备获取,因此,若服务器采用该公钥可以成功验证该签名信息,那么表示当前使用的设备为第一用户的账号对应的注册设备,这种情况下,对第一用户的身份鉴别通过。通过上述描述可知,通过用户注册方法可以将第一用户的账号与终端设备绑定,这样可以使得即使第一用户的账号和密码泄露,恶意用户拥有第一用户的账号和密码,也无法通过其他设备登录运维客户端,这样可以提高服务器的安全性。
可以理解的是,公钥和私钥由注册设备中的硬件认证器生成和存储的情况下,第一用户的账号与终端设备绑定具体可以指第一用户的账号与第一用户的账号对应的注册设备中的硬件认证器绑定。私钥存储于该注册设备中的硬件认证器,私钥不能被该注册设备中的其他器件获取也不能被外部的其他终端设备获取,因此,若服务器采用该公钥可以成功验证该签名信息,那么表示当前使用的设备为第一用户的账号对应的注册设备,这种情况下,对第一用户的身份鉴别通过。通过这种方式,即使第一用户的账号和密码泄露,恶意用户拥有第一用户的账号和密码,也无法通过其他设备(该设备中不包括与第一用户的账号绑定的硬件认证器)登录运维客户端,这样可以提高服务器的安全性。
可选的,第二信息还可以包括认证客户端的标识,服务器中上可以安装或运行有一个或多个认证服务端,这样服务器可以区分不同认证客户端发起的身份验证,从而服务器可以根据实际所需的公钥对签名信息进行验证。
例如,服务器上安装或运行认证服务端1和认证服务端2,认证服务端1对应认证客户端1,认证服务端2对应认证客户端2。第一用户注册了运维账号和通讯账号,认证服务端1可以对登录运维账号的用户进行身份验证,认证服务端2可以对登录通讯账号的用户进行身份验证。服务器将第二信息1与公钥1关联存储,第二信息1包括运维账号、认证客户端1的标识和终端设备的标识;服务器将第二信息2与公钥2关联存储,第二信息2包括通讯账号、认证客户端2的标识和终端设备的标识。若服务器接收到终端设备上运行的认证客户端1发送的签名信息,服务器获取的第二信息为第二信息1,进一步的,服务器基于第二信息1可以获取公钥1,并基于公钥1对接收到的签名信息进行验证。特别是在运维账号和通讯账号相同(如均为第一用户的邮箱号)的情况下,通过第二信息1中的认证客户端1的标识,服务器可以确定实际所需的公钥为公钥1。
可选的,服务器(如服务器中的认证服务端)可以基于第二信息,生成第二信息的元数据(Metadata),服务器(如服务器中的认证服务端)将公钥和第二信息关联存储可以指:将公钥和第二信息的元数据关联存储。相较于第二信息,第二信息的元数据的数据量更小,通过这种方式,可以节省存储资源,还能提高基于关联存储关系获取公钥的效率。
其中,元数据是指描述数据的数据(data about data),例如,元数据可以描述关于数据的组织、数据域等,元数据可以理解为对数据的结构化,采用元数据可以便于计算机或数据库对数据进行识别、存储、传输和交换。元数据还可以称为中介数据、中继数据等。
S209:服务器向终端设备发送第二注册响应,第二注册响应用于指示账号注册成功。相应的,终端设备接收第二注册响应。S209是可选步骤,也就是说,可以不执行S209。
具体的,第二注册响应可以由运维服务端发送给运维客户端。例如,认证服务端将公钥和第二信息关联存储后,可以向运维服务端指示已将公钥和第二信息关联存储,运维服务端接收到该指示后,可以向运维客户端发送第二注册响应。
可选的,第一注册响应和第二注册响应可以携带于同一条消息中,这种情况下,第一注册响应在S208之后发送。
下面对本申请实施例提供的身份鉴别方法进行阐述。通过实施身份鉴别方法,在对第一用户进行身份鉴别的过程中,可以识别第一用户当前使用的终端设备与第一用户的账号的注册过程中第一用户所使用的设备是否为同一设备,若为同一设备,身份鉴别通过,若为不同设备,身份鉴别不通过,这样可以提高服务器的安全性。
请参见图3,图3是本申请实施例提供的一种身份鉴别方法的流程示意图,该方法由图1中的通信***执行,该方法包括但不限于如下步骤:
S301:终端设备响应于预设操作,获取第一用户的账号和密码。S301是可选步骤,也就是说,可以不执行S301。图3中虚线所示的步骤表示可选步骤。
具体的,终端设备上可以运行运维客户端,S301可以由运维客户端执行,例如,运维客户端检测到预设操作,响应于预设操作,获取第一用户的账号和密码。
其中,预设操作可以包括但不限于以下一项或多项:登录操作、服务器下电操作、固件升级操作或日志导出操作等可能影响服务器安全运行的操作。
登录操作可以指第一用户在运维客户端的登录界面中输入第一用户的账号和密码后,确定通过输入的账号和密码登录运维客户端的操作,例如,登录界面中包括登录按钮,在输入账号和密码后,可以通过点击登录按钮进行登录,这种情况下,登录操作可以指针对登录按钮的点击操作。可以理解的是,检测到登录操作时第一用户尚未登录运维客户端。在检测到登录操作的情况下,运维客户端获取第一用户的账号和密码以进行一次身份鉴别,有利于提高服务器的安全性。
服务器下电操作、固件升级操作、日志导出操作可以是在第一用户已成功登录运维客户端后检测到的。在运维客户端中第一用户的账号处于登录状态的情况下,若检测到服务器下电操作、固件升级操作或日志导出操作等可能影响服务器安全运行的操作,运维客户端可以显示登录界面,以提示用户在登录界面中输入第一用户的账号和密码,用户输入后,运维客户端从登录界面中获取输入的第一用户的账号和密码。这种情况下,运维客户端获取第一用户的账号和密码以进行二次身份鉴别,可以防止第一用户由于误操作而影响服务器的正常运行,还可以防止恶意用户或非法越权用户对服务器进行高危操作,从而有利于确保服务器的正常运行。
其中,非法越权用户指低权限用户通过不正当手段进行权限提升的用户。例如,在运维客户端中,普通用户具有查看服务器的部分日志的权限,管理员用户具有查看服务器的全部日志的权限,超级管理员用户具有查看服务器的全部日志以及导出日志的权限,若一个普通用户(记为普通用户a)通过非法手段在运维客户端中提升了权限,获得了管理员用户或超级管理员用户的权限,普通用户a就可以越权查看更多的日志,甚至可以导出日志,在安全领域这种攻击被称为权限提升攻击。通过进行二次身份鉴别,可以降低服务器受到权限提升攻击的概率,从而有利于确保服务器安全运行。
针对第一用户的身份鉴别(如一次身份鉴别、二次身份鉴别)流程可以包括验证第一用户的账号和密码,验证发送针对第一用户的身份鉴别的请求的终端设备是否为第一用户的账号的注册过程中第一用户所使用的终端设备(下文称为第一用户的账号对应的注册设备)。可选的,针对第一用户的身份鉴别(如一次身份鉴别、二次身份鉴别)流程还可以包括验证第一用户的生物特征信息。可选的,一次身份鉴别和二次身份鉴别所执行的步骤可以相同。
S301a:响应于预设操作,终端设备采集生物特征信息。S301a是可选步骤,也就是说,可以不执行S301a。图3中虚线所示的步骤表示可选步骤。
具体的,终端设备上可以运行认证客户端,生物特征信息可以由认证客户端采集。
S301中运维客户端响应于预设操作,运维客户端除了获取第一用户的账号和密码以外,还可以调用认证客户端,以使得认证客户端采集生物特征信息。例如,运维客户端的登录界面中包括登录按钮,在输入账号和密码后,可以通过点击登录按钮进行登录,这种情况下,预设操作包括登录操作,登录操作可以包括针对登录按钮的点击操作。响应于针对登录按钮的点击操作,运维客户端可以调用认证客户端,认证客户端输出第四指示信息,以提示用户录入生物特征信息。
S301b:终端设备基于终端设备中存储的生物特征信息对采集的生物特征信息进行验证,若生物特征信息验证通过,触发执行向服务器发送第一请求消息的步骤(即S302)。S301b是可选步骤,也就是说,可以不执行S301b。
具体的,S301b可以由终端设备上运行的认证客户端执行。
认证客户端在采集到生物特征信息后,可以基于终端设备中存储的生物特征信息对当前采集到的生物特征信息进行验证,若验证通过,向认证服务端发送第一请求消息。关于第一请求消息的内容具体参见S303中的描述。可选的,若生物特征信息验证失败,认证客户端可以向运维客户端发送验证失败消息。若预设操作为登录操作,运维客户端在接收到验证失败消息后,可以拒绝用户登录运维客户端。若预设操作为服务器下电操作、固件升级操作或日志导出操作等可能影响服务器安全运行的操作,运维客户端可以不响应该预设操作,也就是说,运维客户端不会对服务器下电、不会对服务器的固件进行升级、不会导出服务器的日志。
可选的,终端设备基于终端设备中存储的生物特征信息对当前采集的生物特征信息进行验证的具体实施方式可以为:判断终端设备中存储的、在第一用户的账号的注册过程中录入的生物特征信息,与当前采集的生物特征信息是否一致,若一致,生物特征信息验证通过,若不一致,生物特征信息验证失败。可选的,终端设备中存储的生物特征信息具体可以存储于终端设备的存储器或者硬件认证器中。可选的,在账号注册过程中,终端设备可以将所注册账号与该账号的注册过程中录入的生物特征信息关联存储,例如,终端设备将第一用户的账号与第一用户的账号的注册过程中录入的第一用户的生物特征信息关联存储。或者,终端设备可以将所注册账号与该账号的注册过程中录入的生物特征信息的哈希结果关联存储。通过这种方式,在身份鉴别过程中可以迅速查找到终端设备中存储的需与当前采集的生物特征信息进行对比的生物特征信息。
通过将第一用户的账号与第一用户的生物特征信息绑定,在针对第一用户的身份鉴别过程中,终端设备将与第一用户的账号绑定的生物特征信息和当前采集的生物特征信息进行比对,可以确定是否为第一用户本人登录,使得即使第一用户的账号和密码泄露,其他用户由于无法获取第一用户的生物特征信息,因此也无法登录运维客户端,从而可以避免其他用户登录运维客户端,这样可以提高服务器的安全性。
S302:终端设备向服务器发送第一请求消息,第一请求消息包括第一用户的账号、密码,第一请求消息用于请求对第一用户进行身份鉴别。相应的,服务器接收第一请求消息。
具体的,第一请求消息可以由终端设备上运行的认证客户端向服务器上运行的认证服务端发送,或者,第一请求消息可以由终端设备上运行的认证客户端向服务器上运行的运维服务端发送,或者,第一请求消息可以由终端设备上运行的运维客户端向服务器上运行的运维服务端发送。
运行运维服务端的服务器和运行认证服务端的服务器可以是同一服务器,或者为不同服务器。
运行运维服务端的服务器和运行认证服务端的服务器是同一服务器的情况下,终端设备向服务器发送的第一请求消息可以用于请求验证第一用户的账号和密码,并请求验证发送第一请求消息的终端设备是否为第一用户的账号的注册过程中该第一用户所使用的终端设备。相应的,运维服务端接收到第一请求消息后,运维服务端可以验证第一用户的账号和密码,运维服务端还可以调用认证服务端验证发送第一请求消息的终端设备是否为第一用户的账号的注册过程中第一用户所使用的终端设备。
运行运维服务端的服务器和运行认证服务端的服务器是不同服务器的情况下,终端设备可以向运行运维服务端的服务器发送账号验证请求,账号验证请求包括第一用户的账号和密码,账号验证请求用于请求验证第一用户的账号和密码。终端设备还可以向运行认证服务端的服务器发送第一请求消息,第一请求消息可以用于请求验证发送该第一请求消息的终端设备是否为第一用户的账号的注册过程中第一用户所使用的终端设备。
服务器验证账号和密码的流程可以包括:服务器判断账号验证请求中的账号是否为成功注册过的账号,若服务器存储了该账号,那么可以表示该账号为成功注册过的账号。若服务器未存储该账号,那么可以表示该账号为未注册的账号。若服务器存储了该账号,可以判断与该账号关联存储的密码与账号验证请求中的密码是否相同,若相同,那么账号验证请求中的账号和密码验证成功,若不同,那么账号验证请求中的密码验证失败。
可选的,服务器还可以向终端设备发送针对账号验证请求的响应,针对账号验证请求的响应可以指示账号和密码的验证结果。
可选的,第一请求消息还可以包括认证客户端的标识。运维客户端获取第一用户的账号和密码后,可以调用认证客户端,使认证客户端向认证服务端发送第一请求消息。认证服务端在接收到第一请求消息后,通过第一请求消息后中的认证客户端的标识可以识别认证客户端的身份。
需要说明的是,终端设备可以先执行S301a,后执行S302;或者,终端设备可以先执行S302,后执行S301a;或者,终端设备可以同时执行S301a和S302,本申请实施例对执行顺序不做限定。
S303:服务器向终端设备发送第二请求消息,第二请求消息包括第一用户的账号,第二请求消息用于请求基于私钥进行签名。相应的,终端设备接收第二请求消息。S303是可选步骤,也就是说,可以不执行S303。
具体的,第二请求消息可以由服务器上运行的认证服务端向终端设备上运行的认证客户端发送。
不执行S303的情况下,终端设备可以自行获取私钥,并基于私钥确定签名信息。执行S303的情况下,终端设备基于接收到的第二请求消息,获取私钥并基于私钥确定签名信息。
可选的,第二请求消息还可以包括认证客户端的标识和认证服务端的标识。具体的,认证服务端接收到第一请求消息后,可以向认证客户端发送第二请求消息,认证客户端接收到第二请求消息后,通过第二请求消息中的认证服务端的标识可以识别认证服务端的身份,至此,认证客户端和认证服务端之间完成握手。
S304:终端设备基于与第一用户的账号关联的私钥加密得到签名信息,签名信息包括第一用户的账号及设备标识,设备标识为该终端设备的标识或该终端设备中的硬件认证器的标识,设备标识是第一用户的账号的注册过程中第一用户所使用的设备的标识。
具体的,终端设备上运行的认证客户端可以指示硬件认证器基于私钥获取签名信息。
可选的,终端设备(如终端设备中的硬件认证器)基于私钥得到签名信息的具体实施方式可以为:终端设备(如终端设备中的硬件认证器)获取与第一信息关联的私钥,并基于该私钥对第三信息进行数字签名,得到签名信息。或者,基于该私钥对第三信息的哈希结果进行数字签名,得到签名信息。其中,该签名信息是由该私钥加密后的密文。
其中,第一信息可以包括第一用户的账号,或者,第一信息包括第一用户的账号和认证服务端的标识,或者,第一信息可以包括第一用户的账号和认证服务端的标识,或者,第一信息可以包括第一用户的账号、认证客户端的标识、认证服务端的标识。
第三信息可以包括第一用户的账号和设备标识,其中,设备标识为该终端设备的标识或该终端设备中的硬件认证器的标识,设备标识是第一用户的账号的注册过程中第一用户所使用的设备的标识。可选的,第三信息还可以包括认证服务端的标识,和/或,认证客户端的标识。
可选的,终端设备可以从该终端设备的存储器中获取私钥,也可以从该终端设备的硬件认证器中获取私钥。
S305:终端设备向服务器发送签名信息。相应的,服务器接收签名信息。
具体的,签名信息可以由认证客户端向认证服务端发送。
硬件认证器在得到签名信息后,可以将签名信息传输给软件中间件,由软件中间件将签名信息传输给认证客户端。进一步,认证客户端将签名信息发送给认证服务端。
可选的,签名信息可以携带有针对第二请求消息的响应消息(如称为第二响应消息)中。可选的,第二响应消息还可以包括认证客户端的标识。
可以理解的是,不执行S303的情况下,签名信息可以携带于第一请求消息中。也就是说,终端设备响应于预设操作,可以获取第一用户的账号和密码,并基于与第一用户的账号关联的私钥得到签名信息,然后向服务器发送第一请求消息,这种情况下,第一请求消息包括第一用户的账号、密码,以及签名信息。
S306:服务器获取与第一用户的账号关联的公钥,并基于该公钥对签名信息进行验证。
具体的,S306可以由服务器上运行的认证服务端执行。
其中,服务器获取的公钥可以与第一用户的账号相关联,或者,服务器获取的公钥可以与第一用户的账号和认证客户端的标识相关联。
第二响应消息是针对第二请求消息的响应消息,第二请求消息包括第一用户的账号、认证客户端的标识和认证服务端的标识的情况下,即使第二响应消息未显式携带第一用户的账号,认证服务端在接收到第二响应消息后,也可以获知需获取与第二请求消息中的第一用户的账号关联的公钥(或者获取与第二请求消息中的第一用户的账号和认证客户端的标识关联的公钥),并基于该公钥对第二响应消息中的签名信息进行验证。可选的,第二响应消息中可以显式携带第一用户的账号,这种情况下,第二响应消息可以包括第一用户的账号和签名信息,或者,第二响应消息可以包括第一用户的账号、认证客户端的标识和签名信息。
服务器基于该公钥对签名信息进行验证的具体实施方式可以为:基于该公钥对签名信息进行解密,解密成功,得到明文信息,验证明文信息,若明文信息验证通过,那么签名信息验证通过;若明文信息验证失败,那么签名信息验证失败。
其中,明文信息可以包括签名信息中的第三信息,第三信息可以包括第一用户的账号和设备标识。服务器验证明文信息的实施方式可以为:在服务器中存储的与该公钥关联存储的账号及生成该公钥的设备的标识分别与明文信息中的账号和设备标识相同的情况下,明文信息验证通过。或者,在服务器中存储的与该公钥关联存储的账号与明文信息中的账号不同,和/或,服务器中存储的与该公钥关联存储的生成该公钥的设备的标识与明文信息中的设备标识不同的情况下,明文信息验证失败。其中,设备标识为发送第一请求消息的终端设备的标识或该终端设备中的硬件认证器的标识。
可选的,第三信息还可以包括认证服务端的标识,和/或,认证客户端的标识,这种情况下,明文信息还可以包括认证服务端的标识和/或认证客户端的标识。以第三信息包括第一用户的账号、设备标识、认证服务端的标识、认证客户端的标识,服务器验证明文信息的实施方式可以为:若服务器中存储的与该公钥关联存储的账号,与明文信息中的账号相同,并且,服务器中存储的与该公钥关联存储的生成该公钥的设备的标识,与明文信息中的设备标识相同,并且,第二响应消息中的认证客户端的标识与明文信息中的认证客户端的标识相同,并且,服务器上运行的认证服务端的标识与明文信息中的认证服务端的标识相同,那么明文信息验证通过。或者,若服务器中存储的与该公钥关联存储的账号,与明文信息中的账号不同,服务器中存储的与该公钥关联存储的生成该公钥的设备的标识,与明文信息中的设备标识不同,第二响应消息中的认证客户端的标识与明文信息中的认证客户端的标识不同,和/或,服务器上运行的认证服务端的标识与明文信息中的认证服务端的标识不同,那么明文信息验证失败。
由于与第一用户的账号关联的私钥存储于第一用户的账号的注册过程中第一用户所使用的终端设备中,不能被其他设备获取,因此,若服务器获得的公钥可以成功验证该签名信息,那么表示发送第一请求消息的终端设备为第一用户的账号的注册过程中第一用户所使用的终端设备。可以理解的是,若与第一用户的账号关联的私钥存储于第一用户的账号的注册过程中第一用户所使用的终端设备的硬件认证器中,该私钥不能被其他设备获取,因此,若服务器获得的公钥可以成功验证该签名信息,那么表示发送第一请求消息的终端设备为第一用户的账号的注册过程中第一用户所使用的终端设备,也就是说,发送第一请求消息的终端设备包括该硬件认证器。当然,在其他实施例中,与第一用户的账号关联的私钥也可以存储于发送第一请求消息的终端设备除硬件认证器的其他器件中,只要保证该私钥不会被其他设备获取即可。
通过将第一用户的账号与第一用户的账号的注册过程中第一用户所使用的设备(如该设备为终端设备或该终端设备中的硬件认证器)绑定,这样可以使得即使第一用户的账号和密码泄露,恶意用户拥有第一用户的账号和密码,也无法通过其他设备(该设备无法获取私钥,或者说,该设备不包括与第一用户的账号绑定的硬件认证器,也就无法获取硬件认证器中存储的私钥)登录运维客户端,这样可以提高服务器的安全性。
S307:在服务器中存储的与该公钥关联存储的账号及生成该公钥的设备的标识分别与签名信息中的账号和设备标识相同的情况下,服务器向终端设备发送第一响应消息,第一响应消息用于指示针对第一用户的身份鉴别成功。相应的,终端设备接收第一响应消息。
具体的,第一响应消息可以由服务器上运行的运维服务端向终端设备上运行的运维客户端发送。
其中,服务器中存储的与该公钥关联存储的账号及生成该公钥的设备的标识分别与签名信息中的账号和设备标识相同,可以表示签名信息验证通过。可选的,第一响应消息可以是在签名信息验证通过,且第一用户的账号和密码验证成功的情况下发送的。其中,签名信息验证通过可以表示发送第一请求消息的设备是第一用户的账号的注册过程中第一用户所使用的终端设备。
可选的,服务器中存储的与该公钥关联存储的账号与签名信息中的账号不同,和/或,服务器中存储的与该公钥关联存储的生成该公钥的设备的标识与签名信息中的设备标识不同,可以表示签名信息验证失败。在服务器中存储的与该公钥关联存储的账号与签名信息中的账号不同,和/或,服务器中存储的与该公钥关联存储的生成该公钥的设备的标识与签名信息中的设备标识不同的情况下,服务器可以向终端设备发送第三响应消息,第三响应消息可以用于指示针对第一用户的身份鉴别失败。可选的,在签名信息验证失败,和/或,第一用户的账号和密码验证失败的情况下,服务器可以向终端设备发送第三响应消息。其中,签名信息验证失败可以表示发送第一请求消息的设备并非第一用户的账号的注册过程中第一用户所使用的终端设备。
可选的,认证服务端可以向认证客户端发送第一鉴别结果,第一鉴别结果可以用于指示发送第一请求消息的设备是否为第一用户的账号的注册过程中第一用户所使用的终端设备。运维服务端可以向运维客户端发送第二鉴别结果,第二鉴别结果可以用于指示第一用户的账号和密码是否验证成功。运维客户端基于第一鉴别结果和第二鉴别结果,可以获知针对第一用户的身份鉴别是否成功。运行认证服务端的服务器和运行运维服务端的服务器为同一服务器的情况下,第一鉴别结果和第二鉴别结果可以携带于同一消息中,如均携带于第一响应消息中。
可选的,认证服务端可以向运维服务端发送第三鉴别结果,第三鉴别结果可以用于指示发送第一请求消息的设备是否为第一用户的账号的注册过程中第一用户所使用的终端设备,进一步的,运维服务端可以向运维客户端发送第一响应消息或第三响应消息,第一响应消息可以指示发送第一请求消息的设备为第一用户的账号的注册过程中第一用户所使用的终端设备,还可以指示第一用户的账号和密码验证成功。第三响应消息可以指示发送第一请求消息的设备不是第一用户的账号的注册过程中第一用户所使用的终端设备,和/或,还可以指示第一用户的账号和密码验证失败。
可选的,认证服务端可以向运维服务端发送第三鉴别结果,第三鉴别结果可以用于指示发送第一请求消息的设备是否为第一用户的账号的注册过程中第一用户所使用的终端设备,进一步的,运维服务端可以向认证客户端发送第三鉴别结果,认证客户端将第三鉴别结果发送给运维客户端。运维服务端还可以向运维客户端发送第二鉴别结果,第二鉴别结果可以用于指示第一用户的账号和密码是否验证成功。运维客户端基于第二鉴别结果和第三鉴别结果,可以获知针对第一用户的身份鉴别是否成功。
可选的,预设操作为登录操作,且终端设备获知针对第一用户的身份鉴别成功的情况下,终端设备上运行的运维客户端可以显示运维客户端的管理界面,第一用户可以通过管理界面管理服务器,也就是说,当前用户成功登录运维客户端,当前用户为第一用户。
可选的,预设操作为登录操作,且终端设备获知针对第一用户的身份鉴别失败的情况下,运维客户端可以拒绝当前用户登录运维客户端。
预设操作为服务器下电操作、固件升级操作或日志导出操作等可能影响服务器安全运行的操作的情况下,终端设备获知针对第一用户的身份鉴别成功可以表示:针对第一用户的二次身份鉴别成功。可选的,这种情况下,终端设备(如终端设备上运行的运维客户端)可以响应该预设操作,也就是说,终端设备(如终端设备上运行的运维客户端)可以执行以下至少一种操作:对服务器进行下电、对服务器的固件进行升级、导出服务器的日志等。
可选的,预设操作为服务器下电操作、固件升级操作或日志导出操作等可能影响服务器安全运行的操作的情况下,终端设备获知针对第一用户的身份鉴别失败可以表示:针对第一用户的二次身份鉴别失败。可选的,这种情况下,终端设备(如终端设备上运行的运维客户端)可以不响应该预设操作,也就是说,终端设备(如终端设备上运行的运维客户端)不对服务器进行下电、不对服务器的固件进行升级、不导出服务器的日志等。
通过实施本申请实施例,可以将第一用户的账号与第一用户的生物特征信息进行绑定,这样可以确定是否为第一用户本人登录;还可以将第一用户的账号与终端设备(如终端设备中的硬件认证器)进行绑定,这样可以确定当前使用的设备(即发送第一请求消息的设备)是否为第一用户的账号的注册过程中第一用户所使用的终端设备。通过验证账号和密码、验证生物特征信息、验证登录设备,可以对用户进行多因素身份鉴别,提高服务器的安全性。
具体的,一方面,通过将第一用户的账号与第一用户的生物特征信息绑定,在针对第一用户的身份鉴别过程中,将与第一用户的账号绑定的生物特征信息和当前获取的生物特征信息进行比对,使得即使第一用户的账号和密码泄露,其他用户由于无法获取第一用户的生物特征信息,因此也无法登录运维客户端,从而可以避免其他用户登录运维客户端,这样可以提高服务器的安全性。另一方面,通过将第一用户的账号与第一用户的账号的注册过程中第一用户所使用的设备(如该设备为终端设备或该终端设备中的硬件认证器)绑定,由于与第一用户的账号关联的私钥存储于该设备中,不能被其他设备获取,这样可以使得即使第一用户的账号和密码泄露,恶意用户拥有第一用户的账号和密码,也无法通过其他设备(无法获取私钥,或者说,该设备中不包括与第一用户的账号绑定的硬件认证器,也就无法获取硬件认证器中存储的私钥)登录运维客户端,这样可以提高服务器的安全性。第三方面,私钥和公钥基于用户的生物特征信息生成,可以降低私钥和公钥被伪造的概率。第四方面,触发对用户的二次身份鉴别,可以防止第一用户由于误操作而影响服务器的正常运行,还可以防止恶意用户或非法越权用户对服务器进行高危操作,从而有利于确保服务器的正常运行。
可选的,服务器可以在验证第一用户的账号和密码成功后,再发送第二请求消息。或者,服务器可以在接收到第二响应消息后,对第一用户的账号和密码进行验证。具体的,账号和密码可以由服务器上运行的运维服务端验证。
请参见图4,图4为本申请实施例提供的一种服务器的结构示意图。
如图4所示,服务器40可以包括通信单元401、验证单元402和存储单元403。
其中,通信单元401用于接收来自终端设备的第一请求消息,第一请求消息包括第一用户的账号和密码,第一请求消息用于请求对第一用户进行身份鉴别;
通信单元401还用于接收来自终端设备的签名信息,签名信息基于与第一用户的账号关联的私钥加密得到,签名信息包括第一用户的账号及设备标识,设备标识为终端设备的标识或终端设备中的硬件认证器的标识,设备标识是第一用户的账号的注册过程中第一用户所使用的设备的标识;
验证单元402用于基于与第一用户的账号关联的公钥对签名信息进行验证;
通信单元401还用于在服务器中存储的与该公钥关联存储的账号及生成该公钥的设备的标识分别与签名信息中的账号和设备标识相同的情况下,向终端设备发送第一响应消息,第一响应消息用于指示针对第一用户的身份鉴别成功。
在一种可能的实现方式中,该公钥和该私钥基于第一用户的生物特征信息确定。
在一种可能的实现方式中,通信单元401还用于接收来自注册设备的注册请求,注册请求包括第一用户的账号和密码,注册请求用于请求注册第一用户的账号,并接收来自注册设备的该公钥和生成该公钥的设备的标识;存储单元403可以用于将该公钥、该账号、生成该公钥的设备的标识关联存储。
具体的,通信单元401、验证单元402和存储单元403所执行的操作可以参照上述实施例中有关服务器的介绍。
基于同一发明构思,本申请实施例中提供的服务器40解决问题的原理与有益效果可以参见方法的实施的原理和有益效果,为简洁描述,在这里不再赘述。
请参阅图5,图5为本申请实施例提供的另一种服务器的结构示意图。服务器50可以用于实现上述方法实施例中服务器的功能。图5所示的服务器50可以包括处理器501、存储器502和收发器503。
其中,处理器501、存储器502、收发器503可以通过总线504或其他方式连接。总线在图5中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
本申请实施例中的装置、单元或模块之间的连接,可以是电性,机械或其它的形式,用于装置、单元或模块之间的信息交互。本申请实施例中不限定上述处理器501、存储器502、收发器503之间的具体连接介质。
存储器502可以包括只读存储器和随机存取存储器,并向处理器501提供指令和数据。存储器502的一部分还可以包括非易失性随机存取存储器(Non-Volatile RandomAccess Memory,NVRAM)。
处理器501可以是中央处理单元(Central Processing Unit,CPU),该处理器501还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器,可选的,该处理器501也可以是任何常规的处理器等。
一种示例中,当服务器采用图5所示的形式时,图5中的处理器可以执行上述任一方法实施例中的服务器执行的方法。
在一种可选的实施方式中,存储器502,用于存储程序指令;处理器501,用于调用存储器502中存储的程序指令,以用于执行方法实施例中服务器所执行的步骤。
在本申请实施例中,可以通过在包括CPU、随机存取存储介质(Random AccessMemory,RAM)、只读存储介质(Read-Only Memory,ROM)等处理元件和存储元件的例如计算机的通用计算装置上运行能够执行上述方法所涉及的各步骤的计算机程序(包括程序代码),以及来实现本申请实施例所提供的方法。计算机程序可以记载于例如计算机可读记录介质上,并通过计算机可读记录介质装载于上述计算装置中,并在其中运行。
基于同一发明构思,本申请实施例中提供的服务器解决问题的原理与有益效果可以参见方法的实施的原理和有益效果,为简洁描述,在这里不再赘述。
请参见图6,图6为本申请实施例提供的一种终端设备的结构示意图。
如图6所示,终端设备60可以包括通信单元601、签名单元602。可选的,终端设备60还可以包括获取单元603、密钥生成单元604、存储单元605、验证单元606。图6中虚线所示的单元是可选的,也就是说,终端设备60可以不包括图6中虚线所示的单元。
其中,通信单元601用于向服务器发送第一请求消息,第一请求消息包括第一用户的账号和密码,第一请求消息用于请求对第一用户进行身份鉴别;
签名单元602,用于基于与第一用户的账号关联的私钥加密得到签名信息,签名信息包括第一用户的账号及设备标识,设备标识为终端设备的标识或该终端设备中的硬件认证器的标识,设备标识是第一用户的账号的注册过程中第一用户所使用的设备的标识;
通信单元601还用于向服务器发送签名信息;
通信单元601还用于接收来自服务器的第一响应消息,第一响应消息用于指示针对第一用户的身份鉴别成功,第一响应消息是在服务器中存储的与该公钥关联存储的账号及生成该公钥的设备的标识分别与签名信息中的账号和设备标识相同的情况下发送的。
在一种可能的实现方式中,获取单元603可以用于响应于预设操作,获取第一用户的账号和密码,其中,预设操作包括以下一项或多项:登录操作、服务器下电操作、固件升级操作、日志导出操作。
在一种可能的实现方式中,该私钥基于第一用户的生物特征信息确定。
在一种可能的实现方式中,通信单元601还可以用于向服务器发送注册请求,注册请求包括第一用户的账号和密码,注册请求用于请求注册第一用户的账号;
密钥生成单元604可以用于生成非对称密钥对,非对称密钥对包括公钥和私钥;
存储单元605可以用于将第一用户的账号和私钥关联存储;
通信单元601还可以用于向服务器发送该公钥和生成该公钥的设备的标识。
可选的,密钥生成单元604和签名单元602可以为合并为同一单元。
在一种可能的实现方式中,获取单元603还可以用于响应于预设操作,采集生物特征信息;验证单元606可以用于基于终端设备中存储的第一用户的生物特征信息对采集的生物特征信息进行验证;在生物特征信息验证通过的情况下,通信单元601用于向服务器发送第一请求消息。
具体的,通信单元601、签名单元602、获取单元603、密钥生成单元604、存储单元605、验证单元606所执行的操作可以参照上述实施例中有关终端设备的介绍。
基于同一发明构思,本申请实施例中提供的终端设备60解决问题的原理与有益效果可以参见方法的实施的原理和有益效果,为简洁描述,在这里不再赘述。
请参阅图7,图7为本申请实施例提供的另一种终端设备的结构示意图。终端设备70可以用于实现上述方法实施例中终端设备的功能。图7所示的终端设备70可以包括处理器701、存储器702和收发器703。可选的,终端设备70还可以包括硬件认证器704。
其中,处理器701、存储器702、收发器703、硬件认证器704可以通过总线705或其他方式连接。总线在图7中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
本申请实施例中的装置、单元或模块之间的连接,可以是电性,机械或其它的形式,用于装置、单元或模块之间的信息交互。本申请实施例中不限定上述处理器701、存储器702、收发器703、硬件认证器704之间的具体连接介质。
硬件认证器704可以具有以下一项或多项功能:生成公钥和私钥,存储公钥,存储生物特征信息,基于私钥对明文信息进行加密得到密文,基于私钥对明文信息进行数字签名等。
存储器702可以包括只读存储器和随机存取存储器,并向处理器701提供指令和数据。存储器702的一部分还可以包括非易失性随机存取存储器(Non-Volatile RandomAccess Memory,NVRAM)。
处理器701可以是中央处理单元(Central Processing Unit,CPU),该处理器701还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器,可选的,该处理器701也可以是任何常规的处理器等。
一种示例中,当终端设备采用图7所示的形式时,图7中的处理器可以执行上述任一方法实施例中的终端设备执行的方法。
在一种可选的实施方式中,存储器702,用于存储程序指令;处理器701,用于调用存储器702中存储的程序指令,以用于执行方法实施例中终端设备所执行的步骤。
在本申请实施例中,可以通过在包括CPU、随机存取存储介质(Random AccessMemory,RAM)、只读存储介质(Read-Only Memory,ROM)等处理元件和存储元件的例如计算机的通用计算装置上运行能够执行上述方法所涉及的各步骤的计算机程序(包括程序代码),以及来实现本申请实施例所提供的方法。计算机程序可以记载于例如计算机可读记录介质上,并通过计算机可读记录介质装载于上述计算装置中,并在其中运行。
基于同一发明构思,本申请实施例中提供的终端设备解决问题的原理与有益效果可以参见方法的实施的原理和有益效果,为简洁描述,在这里不再赘述。
对于应用于或集成于芯片模组的各个装置、产品,其包含的各个模块可以都采用电路等硬件的方式实现,不同的模块可以位于芯片模组的同一组件(例如芯片、电路模块等)或者不同组件中,或者,至少部分模块可以采用软件程序的方式实现,该软件程序运行于芯片模组内部集成的处理器,剩余的(如果有)部分模块可以采用电路等硬件方式实现。
本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序包括一条或多条程序指令,一条或多条程序指令适于由服务器加载并执行上述方法实施例所提供的方法。
本申请实施例还提供另一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序包括一条或多条程序指令,一条或多条程序指令适于由终端设备加载并执行上述方法实施例所提供的方法。
本申请实施例还提供一种包含计算机程序或指令的计算机程序产品,当计算机程序或指令在计算机上运行时,使得计算机执行上述方法实施例服务器或终端设备所提供的方法。
关于上述实施例中描述的各个装置、产品包含的各个模块/单元,其可以是软件模块/单元,也可以是硬件模块/单元,或者也可以部分是软件模块/单元,部分是硬件模块/单元。例如,对于应用于或集成于芯片的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于芯片内部集成的处理器,剩余的(如果有)部分模块/单元可以采用电路等硬件方式实现;对于应用于或集成于芯片模组的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,不同的模块/单元可以位于芯片模组的同一组件(例如芯片、电路模块等)或者不同组件中,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于芯片模组内部集成的处理器,剩余的(如果有)部分模块/单元可以采用电路等硬件方式实现;对于应用于或集成于终端的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,不同的模块/单元可以位于终端内同一组件(例如,芯片、电路模块等)或者不同组件中,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于终端内部集成的处理器,剩余的(如果有)部分模块/单元可以采用电路等硬件方式实现。
可以理解,说明书通篇中提到的“实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各个实施例未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。可以理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
可以理解,在本申请中,“当…时”、“在...情况下”“若”以及“如果”均指在某种客观情况下装置会做出相应的处理,并非是限定时间,且也不要求装置实现时一定要有判断的动作,也不意味着存在其它限定。
本领域普通技术人员可以理解,为描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请中各个实施例之间相同或相似的部分可以互相参考。在本申请中各个实施例、以及各实施例中的各个实施方式/实施方法/实现方法中,如果没有特殊说明以及逻辑冲突,不同的实施例之间、以及各实施例中的各个实施方式/实施方法/实现方法之间的术语和/或描述具有一致性、且可以相互引用,不同的实施例、以及各实施例中的各个实施方式/实施方法/实现方法中的技术特征根据其内在的逻辑关系可以组合形成新的实施例、实施方式、实施方法、或实现方法。以上的本申请实施方式并不构成对本申请保护范围的限定。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。

Claims (10)

1.一种身份鉴别方法,其特征在于,应用于服务器;所述方法包括:
接收来自终端设备的第一请求消息,所述第一请求消息包括第一用户的账号和密码,所述第一请求消息用于请求对所述第一用户进行身份鉴别;
接收来自所述终端设备的签名信息,所述签名信息基于与所述第一用户的账号关联的私钥加密得到,所述签名信息包括所述第一用户的账号及设备标识,所述设备标识为所述终端设备的标识或所述终端设备中的硬件认证器的标识,所述设备标识是所述第一用户的账号的注册过程中所述第一用户所使用的设备的标识;
基于与所述第一用户的账号关联的公钥对所述签名信息进行验证;
在所述服务器中存储的与所述公钥关联存储的账号及生成所述公钥的设备的标识分别与所述签名信息中的账号和所述设备标识相同的情况下,向所述终端设备发送第一响应消息,所述第一响应消息用于指示针对所述第一用户的身份鉴别成功。
2.根据权利要求1所述的方法,其特征在于,所述公钥和所述私钥基于所述第一用户的生物特征信息确定。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
接收来自注册设备的注册请求,所述注册请求包括所述第一用户的账号和密码,所述注册请求用于请求注册所述第一用户的账号;
接收来自所述注册设备的所述公钥和生成所述公钥的设备的标识;
将所述公钥、所述账号、生成所述公钥的设备的标识关联存储。
4.一种身份鉴别方法,其特征在于,应用于终端设备;所述方法包括:
向服务器发送第一请求消息,所述第一请求消息包括所述第一用户的账号和密码,所述第一请求消息用于请求对所述第一用户进行身份鉴别;
基于与所述第一用户的账号关联的私钥加密得到签名信息,所述签名信息包括所述第一用户的账号及设备标识,所述设备标识为所述终端设备的标识或所述终端设备中的硬件认证器的标识,所述设备标识是所述第一用户的账号的注册过程中所述第一用户所使用的设备的标识;
向所述服务器发送所述签名信息;
接收来自所述服务器的第一响应消息,所述第一响应消息用于指示针对所述第一用户的身份鉴别成功,所述第一响应消息是在所述服务器中存储的与所述公钥关联存储的账号及生成所述公钥的设备的标识分别与所述签名信息中的账号和所述设备标识相同的情况下发送的。
5.根据权利要求4所述的方法,其特征在于,在向所述服务器发送第一请求消息之前,所述方法还包括:
响应于预设操作,获取所述第一用户的账号和密码,其中,所述预设操作包括以下一项或多项:登录操作、服务器下电操作、固件升级操作、日志导出操作。
6.根据权利要求4或5所述的方法,其特征在于,所述私钥基于所述第一用户的生物特征信息确定。
7.根据权利要求4-6任一项所述的方法,其特征在于,所述方法还包括:
向所述服务器发送注册请求,所述注册请求包括所述第一用户的账号和密码,所述注册请求用于请求注册所述第一用户的账号;
生成非对称密钥对,非对称密钥对包括公钥和所述私钥;
将所述第一用户的账号和所述私钥关联存储;
向所述服务器发送所述公钥和生成所述公钥的设备的标识。
8.根据权利要求5所述的方法,其特征在于,所述方法还包括:
响应于所述预设操作,采集生物特征信息;
基于所述终端设备中存储的所述第一用户的生物特征信息对采集的生物特征信息进行验证;
在生物特征信息验证通过的情况下,触发执行所述向服务器发送第一请求消息的步骤。
9.一种服务器,其特征在于,所述服务器包括存储器和处理器;所述存储器与所述处理器电连接;所述存储器用于存储程序指令;所述处理器用于调用所述程序指令,以使所述服务器执行如权利要求1-3任一项所述的方法。
10.一种终端设备,其特征在于,所述终端设备包括存储器和处理器;所述存储器与所述处理器电连接;所述存储器用于存储程序指令;所述处理器用于调用所述程序指令,以使所述终端设备执行如权利要求4-8任一项所述的方法。
CN202311440474.3A 2023-10-31 2023-10-31 一种身份鉴别方法、服务器和终端设备 Pending CN117527333A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311440474.3A CN117527333A (zh) 2023-10-31 2023-10-31 一种身份鉴别方法、服务器和终端设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311440474.3A CN117527333A (zh) 2023-10-31 2023-10-31 一种身份鉴别方法、服务器和终端设备

Publications (1)

Publication Number Publication Date
CN117527333A true CN117527333A (zh) 2024-02-06

Family

ID=89763608

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311440474.3A Pending CN117527333A (zh) 2023-10-31 2023-10-31 一种身份鉴别方法、服务器和终端设备

Country Status (1)

Country Link
CN (1) CN117527333A (zh)

Similar Documents

Publication Publication Date Title
CN106330850B (zh) 一种基于生物特征的安全校验方法及客户端、服务器
US20180295137A1 (en) Techniques for dynamic authentication in connection within applications and sessions
US9867043B2 (en) Secure device service enrollment
CN103747036B (zh) 一种桌面虚拟化环境下的可信安全增强方法
EP2550595B1 (en) System and method for remote maintenance of multiple clients in an electronic network using virtualization and attestation.
CN101873331B (zh) 一种安全认证方法和***
US8452954B2 (en) Methods and systems to bind a device to a computer system
CN109583898B (zh) 基于tee和区块链进行支付的智能终端及方法
KR20170041729A (ko) 보안 전송 프로토콜을 사용하여 신뢰를 설정하기 위한 시스템 및 방법
CN107113613B (zh) 服务器、移动终端、网络实名认证***及方法
CN110381075B (zh) 基于区块链的设备身份认证方法和装置
CN105099705B (zh) 一种基于usb协议的安全通信方法及其***
US11424915B2 (en) Terminal registration system and terminal registration method with reduced number of communication operations
EP3133791B1 (en) Double authentication system for electronically signed documents
CN111880919B (zh) 数据调度方法、***和计算机设备
CN104660417B (zh) 验证方法、验证装置和电子设备
CN112632573B (zh) 智能合约执行方法、装置、***、存储介质及电子设备
CN110213247A (zh) 一种提高推送信息安全性的方法及***
CN107548542B (zh) 经强化完整性及安全性的用户认证方法
CN108900595B (zh) 访问云存储服务器数据的方法、装置、设备及计算介质
CN111767531B (zh) 一种基于生物特征的认证***和方法
WO2021141891A1 (en) Method and system for generating a secure one-time passcode using strong authentication
KR101133167B1 (ko) 보안이 강화된 사용자 인증 처리 방법 및 장치
CN113098685B (zh) 一种基于云计算的安全验证方法、装置及电子设备
CN115378740A (zh) 一种基于可信openssh双向认证登录的实现方法

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