CN113709115B - 认证方法及装置 - Google Patents

认证方法及装置 Download PDF

Info

Publication number
CN113709115B
CN113709115B CN202110912577.XA CN202110912577A CN113709115B CN 113709115 B CN113709115 B CN 113709115B CN 202110912577 A CN202110912577 A CN 202110912577A CN 113709115 B CN113709115 B CN 113709115B
Authority
CN
China
Prior art keywords
password
public key
server
private key
value corresponding
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
Application number
CN202110912577.XA
Other languages
English (en)
Other versions
CN113709115A (zh
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.)
Asiainfo Technologies (chengdu) Inc
Original Assignee
Asiainfo Technologies (chengdu) Inc
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 Asiainfo Technologies (chengdu) Inc filed Critical Asiainfo Technologies (chengdu) Inc
Priority to CN202110912577.XA priority Critical patent/CN113709115B/zh
Publication of CN113709115A publication Critical patent/CN113709115A/zh
Application granted granted Critical
Publication of CN113709115B publication Critical patent/CN113709115B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • 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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • 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/3236Cryptographic 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 cryptographic hash functions
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/03Protecting confidentiality, e.g. by encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • H04W12/041Key generation or derivation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • H04W12/068Authentication using credential vaults, e.g. password manager applications or one time password [OTP] applications
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y04INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
    • Y04SSYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
    • Y04S40/00Systems for electrical power generation, transmission, distribution or end-user application management characterised by the use of communication or information technologies, or communication or information technology specific aspects supporting them
    • Y04S40/20Information technology specific aspects, e.g. CAD, simulation, modelling, system security

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本申请公开了一种认证方法及装置,涉及安全技术领域。该包括:响应于输入注册账号和密码注册操作,终端设备根据第一国密算法生成包括第一公钥的第一密钥对;终端设备根据第一公钥、注册账号、密码对应的哈希值以及终端设备的设备指纹,确定设备公钥,密码对应的哈希值为根据第一国密算法以及密码生成;终端设备向服务器发送设备公钥,用以服务器对终端设备进行认证并存储该设备公钥。

Description

认证方法及装置
技术领域
本申请涉及安全技术领域,尤其涉及一种认证方法及装置。
背景技术
随着信息技术的不断发展,信息安全越来越收到人们的重视。身份信息的安全认证是确保用户信息安全的重要保障手段。
身份信息的认证的过程可以包括:已经完成业务系统的注册的合法用户,通过终端向业务系统发送注册账号和密码(或口令);业务系统对用户的注册账号和密码进行验证,并在验证通过的情况下,运行用户登录业务系统。
但是,上述认证过程中,存在一定的安全问题。比如,用户的注册账号和密码在传输过程中被截获,导致密码泄露。因此,如何保证用户的安全认证成为亟待解决的问题。
发明内容
本发明的实施例提供一种认证方法及装置,用于提高认证的安全性。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,提供了一种认证方法,应用于终端设备,该方法包括:响应于输入注册账号和密码注册操作,终端设备根据第一国密算法生成包括第一公钥的第一密钥对;终端设备根据第一公钥、注册账号、密码对应的哈希值以及终端设备的设备指纹,确定设备公钥,密码对应的哈希值为根据第一国密算法以及密码生成;终端设备向服务器发送设备公钥,用以服务器对终端设备进行认证并存储该设备公钥。
基于第一方面的技术方案,本申请中,终端设备可以使用多种加密手段对注册账号和密码进行加密,比如,使用国密算法对密码进行加密,得到密码的哈希值。又比如,使用生成的公钥以及设备指纹、注册账号以及密码的哈希值,生成设备公钥。也即,该设备公钥是通过多重加密得到的。相较于直接向服务器发送注册账号和密码,本申请中,终端设备向服务器发送的是使用多重加密手段加密后的注册账号和密码,更加安全可靠。
第二方面,提供了一种认证方法,应用于终端设备,该方法包括:响应于登录操作,终端设备向服务器发送第一请求消息,用以服务器根据存储的注册账号与设备公钥之间的对应关系,确定注册账号对应的设备公钥,第一请求罅隙包括注册账号;终端设备接收来自服务器的第二随机数;响应于第一输入操作,终端设备接收输入的密码,并根据密码对应的哈希值以及第三国密算法对预先存储的加密后的第一私钥进行解密,得到第一私钥;终端设备根据第一私钥、注册账号、密码以及终端设备的设备指纹,确定终端设备的设备私钥;终端设备使用设备私钥以及第一国密算法对第二随机数进行签名,生成并向服务器发送签名数据,用以服务器对该签名数据进行认证。
基于第一方面的技术方案,本申请中,终端设备在接收到用户输入的账号之后,向服务器发送登录请求。服务器在接收到登录请求后,可以生成并向终端发送一个随机数。终端设备在接收到随机数后,可以提示用户输入密码。终端设备使用国密算法以及用户输入的密码对预先存储的加密后的私钥进行解密得到私钥。然后,终端设备可以根据该私钥、注册账号和输入的密码以及设备指纹生成设备私钥,并使用国密算法和设备私钥对来自服务器的随机数进行签名,得到签名数据。由于终端设备向服务器发送的是签名数据,该签名数据是由多层加密手段生成的,不易被破解,相较于直接向服务器发送账号和密码,安全性更高。
第三方面,提供了一种认证装置,应用于终端设备,该认证装置可以包括处理单元和通信单元;处理单元,用于响应于输入注册账号和密码注册操作,终端设备根据第一国密算法生成包括第一公钥的第一密钥对;处理单元,还用于根据第一公钥、注册账号、密码对应的哈希值以及终端设备的设备指纹,确定设备公钥,密码对应的哈希值为根据第一国密算法以及密码生成;通信单元,用于向服务器发送设备公钥,用以服务器对终端设备进行认证并存储该设备公钥。
第四方面,提供了一种认证装置,应用于终端设备,该认证装置可以包括处理单元和通信单元;通信单元,用于向服务器发送第一请求消息,用以服务器根据存储的注册账号与设备公钥之间的对应关系,确定注册账号对应的设备公钥,第一请求罅隙包括注册账号;通信单元,还用于接收来自服务器的第二随机数;通信单元,还用于响应于第一输入操作接收输入的密码,并根据密码对应的哈希值以及第三国密算法对预先存储的加密后的第一私钥进行解密,得到第一私钥;处理单元,用于根据第一私钥、注册账号、密码以及终端设备的设备指纹,确定终端设备的设备私钥;处理单元,还用于使用设备私钥以及第一国密算法对第二随机数进行签名,生成并向服务器发送签名数据,用以服务器对该签名数据进行认证。
第五方面,提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机指令或程序,当计算机指令或程序在计算机上运行是,使得计算机执行如第一方面或第二方面的认证方法。
第六方面,一种终端设备,其特征在于,包括:处理器以及存储器;其中,存储器用于存储一个或多个程序,一个或多个程序包括计算机执行指令,当用户设备运行时,处理器执行存储器存储的计算机执行指令,以使用户设备执行如第一方面或第二方面的认证方法。
第七方面,提供了一种包含指令的计算机程序产品,当该指令在计算机上运行时,使得计算机执行第一方面或第二方面的认证方法。
上述提供的终端设备或计算机可读存储介质或计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文提供的对应的方法中对应方案的有益效果,此处不再赘述。
附图说明
图1为本申请实施例提供的一种通信系统结构示意图;
图2为本申请实施例提供的一种通信装置200的结构示意图;
图3为本申请实施例提供的一种认证方法的流程示意图;
图4为本申请实施例提供的另一种认证方法的流程示意图;
图5为本发明的实施例提供的一种通信装置50的结构示意图。
具体实施方式
在介绍本申请实施例之前,对本申请实施例涉及的一些名词进行解释:
SM算法:是一种国家密码局认定的国产商用密码算法(可以简称为国密算法)。例如,SM算法可以包括SM2算法、SM3加密算法、SM4算法等。
其中,SM2是一种非对称密码算法,也可以称为商用密码算法。SM3是一种密码散列函数标准的哈希算法。SM4是一种对称密码算法。
通常情况下,身份认证可以包括三种情况:服务器系统对客户端系统的身份认证、客户端系统对服务器系统的身份认证以及服务器系统中业务系统对用户的身份认证。
其中,业务系统对用户的身份认证可以是指业务系统对用户的注册账号和密码进行认证。若用户的注册账号和密码认证通过,则说明用户为合法用户。在用户为合法用户的情况下,业务系统可以允许该用户获取业务系统存储的该账户的信息。若用户的注册账号和密码未通过认证,则说明用户的注册账号和/或密码错误。
例如,用户在终端设备上使用某购物账号登录购物应用程序(Application,APP)。若用户输入的购物账户和密码与购物系统存储的用户的注册账户和密码一致,也即,用户的购物账户和密码认证通过,购物系统可以允许用户使用该购物账户进行购物等行为。
又例如,用户在终端设备上使用网银账号登录网银APP。若用户输入的网银账号和密码与网银系统存储的用户的注册账号和密码一致,也即,用户的网元账户和密码认证通过,网银系统可以允许用户查看该账户的信息以及执行相应的操作。如,进行转账等操作。
又例如,用户在终端设备上使用聊天账号登陆聊天APP(如微信APP)。若用户输入的聊天账号和密码与通讯系统存储的哟保护的注册账户和密码一致,也即用户的聊天账号和和密码认证通过,通讯系统可以允许用户使用该账户进行聊天等操作。
由上述示例可知,用户在使用账户登录某一业务系统时,需要在终端设备的应用程序上输入注册账号和密码。响应于用户的登录操作,终端设备可以向业务系统发送登录请求。该登录请求可以包括注册账号和密码。业务系统在接收到终端设备的登录请求后,可以对注册账号和密码进行认证。若认证通过,则业务系统允许用户使用该账户执行一些设定的操作;若认证不通过,则业务系统不允许用户查看该注册账号的信息。
上述技术手段在一定程度上可以保障用户信息的安全。但是,该技术手段仍然存在安全隐患。例如,终端设备在向业务系统发送登录请求的过程中,若该登录请求被截获,则可能会导致账户和密码出现被窃取的问题。
鉴于此,本申请实施例提供了一种认证方法,该方法可以包括终端设备可以使用多重加密手段对用户输入的账号和密码进行加密处理,并向服务器发送处理后的账号和密码。由于终端设备不是直接向服务器发送注册账号和密码,保证了注册账号和秘密的安全。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
在本发明的描述中,除非另有说明,“/”表示“或”的意思,例如,A/B可以表示A或B。本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。此外,“至少一个”“多个”是指两个或两个以上。“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
如图1所示,为本申请实施例提供的一种通信系统的结构示意图。该通信系统可以包括服务器10、与服务器连接的一个或多个终端设备20(图中仅示出2个终端设备)。
图1中,一个或多个终端设备20可以通过有线方式(例如,通用串行总线(universal serial bus,USB)、Type-C)等方式与服务器10通信。当然,一个或多个终端设备20还可以通过无线方式与服务器10进行通信。例如,一个或多个终端设备20通过网络与服务器10通信,如无线保真(wireless fidelity,WiFi)、近距离无线通信技术(near fieldcommunication,NFC)、蓝牙等。
其中,服务器10可以用于对用户的账户进行认证。服务器10还可以预先设置有多种算法。服务器10可以为云端服务器。服务器10还可以用于存储多个账户的信息。该信息可以包括用户信息以及用户的账户信息等。
本申请实施例中,服务器10可以包括一个或多个应用服务平台,每个应用服务平台唯一对应一个应用程序。该应用程序安装在终端设备20上。服务器10主要用于存储终端20上安装的应用程序的相关业务数据,可以接收到终端设备20发送的业务数据获取请求时,将相应的业务数据发送给终端设备20。
一些实施例中,服务器10可以是单独的一个服务器或者,也可以是由多个服务器构成的服务器集群。部分实施方式中,服务器集群还可以是分布式集群。
还有一些实施例中,服务器10还可以包含有数据库或数据库连接,用户信息或账户信息可以存储于数据库。终端设备20可以通过服务器20实现对数据中的信息进行访问操作。
终端设备20可以是手机、平板电脑、桌面型、膝上型、手持计算机、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本,以及蜂窝电话、个人数字助理(personal digital assistant,PDA)、增强现实(augmented reality,AR)\虚拟现实(virtual reality,VR)设备等可以安装并使用内容的应用程序的设备,本申请实施例对该终端设备的具体形态不作特殊限制。其可以与用户通过键盘、触摸板、触摸屏、遥控器、语音交互或手写设备等一种或多种方式进行人机交互。
一种可能的实现方式中,本申请实施例提供的服务器10和终端设备20可以具有安全芯片。该安全芯片可以用于生成密钥对。比如,安全芯片可以用于生成密钥对。该密钥对可以包括公钥和私钥。
具体实现时,图1中的设备均可以采用图2所示的组成结构,或者包括图2所示的部件。图2为本申请实施例提供的一种通信装置200的组成示意图,该通信装置200可以为服务器10中的芯片或者片上系统。或者,该通信装置200可以为服务器10中的芯片或者片上系统。该通信装置200还可以为终端设备20中的芯片或者片上系统。或者,该通信装置200可以为终端设备20中的芯片或者片上系统。
如图2所示,该通信装置200包括处理器201,通信接口202以及通信线路203。
进一步的,该通信装置200还可以包括存储器204。其中,处理器201,存储器204以及通信接口202之间可以通过通信线路203连接。
其中,处理器201是中央处理器(central processing unit,CPU)、通用处理器网络处理器(network processor,NP)、数字信号处理器(digital signal processing,DSP)、微处理器、微控制器、可编程逻辑器件(programmable logic device,PLD)或它们的任意组合。处理器201还可以是其它具有处理功能的装置,例如电路、器件或软件模块,不予限制。
通信接口202,用于与其他设备或其它通信网络进行通信。该其它通信网络可以为以太网,无线接入网(radio access network,RAN),无线局域网(wireless local areanetworks,WLAN)等。通信接口203可以是模块、电路、通信接口或者任何能够实现通信的装置。
通信线路203,用于在通信装置200所包括的各部件之间传送信息。
存储器204,用于存储指令。其中,指令可以是计算机程序。
其中,存储器204可以是只读存储器(read-only memory,ROM)或可存储静态信息和/或指令的其他类型的静态存储设备,也可以是随机存取存储器(random accessmemory,RAM)或可存储信息和/或指令的其他类型的动态存储设备,还可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或其他磁存储设备等,不予限制。
需要指出的是,存储器204可以独立于处理器201存在,也可以和处理器201集成在一起。存储器204可以用于存储指令或者程序代码或者一些数据等。存储器204可以位于通信装置200内,也可以位于通信装置200外,不予限制。处理器201,用于执行存储器204中存储的指令,以实现本申请下述实施例提供的测量方法。
在一种示例中,处理器201可以包括一个或多个CPU,例如图2中的CPU0和CPU1。
作为一种可选的实现方式,通信装置200包括多个处理器,例如,除图2中的处理器201之外,还可以包括处理器207。
作为一种可选的实现方式,通信装置200还包括输出设备205和输入设备206。示例性地,输入设备206是键盘、鼠标、麦克风或操作杆等设备,输出设备205是显示屏、扬声器(speaker)等设备。
需要指出的是,通信装置200可以是台式机、便携式电脑、网络服务器、移动手机、平板电脑、无线终端、嵌入式设备、芯片系统或有图2中类似结构的设备。此外,图2中示出的组成结构并不构成对该终端设备的限定,除图2所示部件之外,该终端设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本申请实施例中,芯片系统可以由芯片构成,也可以包括芯片和其他分立器件。
此外,本申请的各实施例之间涉及的动作、术语等均可以相互参考,不予限制。本申请的实施例中各个设备之间交互的消息名称或消息中的参数名称等只是一个示例,具体实现中也可以采用其他的名称,不予限制。
为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。例如,第一终端和第二终端仅仅是为了区分不同的终端,并不对其先后顺序进行限定。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
需要说明的是,本申请中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,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所示通信系统,对本申请实施例提供的认证方法进行描述。其中,其中,本申请各实施例之间涉及的动作,术语等均可以相互参考,不予限制。本申请的实施例中各个设备之间交互的消息名称或消息中的参数名称等只是一个示例,具体实现中也可以采用其他的名称,不予限制。本申请各实施例涉及的动作只是一个示例,具体实现中也可以采用其他的名称,如:本申请实施例所述的“包括在”还可以替换为“承载于”或者“携带在”等。
本申请实施例提供了一种认证方法可以包括“注册认证过程”和“登录认证过程”。
其中,如图3所示,“注册认证过程”具体可以包括步骤301~步骤303。
步骤301、响应于第一注册操作,终端设备生成第一密钥对。
其中,第一注册操作可以是指用户通过终端设备的应用程序注册新的账户的操作。例如,用户可以通过应用程序的注册界面,输入注册账号和密码。
其中,第一密钥对可以包括第一公钥和第一私钥。
一种可能的实现方式中,当用户通过终端设备的应用程序进行新的账户的注册操作时,终端设备可以使用第一国密算法以及随机数发声器生成第一密钥对。
其中,随机数发声器的熵源大于预设阈值。例如,预设阈值可以为256bit。
其中,第一国密算法可以为终端设备预先设置的,例如,可以是SM2算法。第一国密算法可以是终端设备在安装应用程序时,携带在该应用程序的安装数据包中的,也可以是终端设备从服务器处下载的,不予限制。后续涉及到的算法均可以参照此处描述,不再赘述。
进一步的,为了避免出现用户忘记密码时,无法登陆业务系统的问题,在用户注册新的账户时,注册界面还可以包括问题输入界面。该问题输入界面可以用于选择/输入一个或多个密码错误提示问题及对应的答案。
响应于用户输入一个或多个密码错误提示问题及对应的答案,终端设备可以生成第一随机数,并向服务器发送第一数据包。其中,第一数据包可以包括该第一随机数、一个或多个密码错误提示问题及对应的答案。服务器接收到第一数据包后可以存储第一数据包。
步骤302、终端设备根据注册账号、密码以及终端设备的设备指纹,确定设备公钥。
其中,终端设备的设备指纹可以唯一标识终端设备。终端设备的设备指纹是预先配置好的。不同类型的终端设备的设备指纹可能不同。例如,移动设备(如手机)的设备指纹至少可以包括IMEI号、UUID号、显示屏尺寸、显示屏分辨率、品牌。又例如,PC设备(如电脑)的设备指纹至少可以包括硬盘序列号、CPU序列号、MAC地址。
具体的,终端设备可以通过下述步骤,确定设备公钥。
S1、终端设备可以使用第二国密算法以及密码,得到密码对应的哈希值。
其中,第二国密算法可以用于计算哈希值。例如,第二国密算法可以为SM3算法。
S2、终端设备根据预设算法及注册账号,确定第二公钥。
其中,预设算法可以为椭圆曲线点乘算法。
例如,第二公钥可以为第二私钥与扰动值的乘积。该扰动值可以用于表征椭圆曲线点乘算法的不确定性和随机特性。第二私钥为根据账户确定。比如,第二私钥s2=(UserID)mode(n)。第二公钥=s2*G。G为扰动值。
S3、终端设备根据预设算法及密码对应的哈希值,确定第三公钥。
其中,预设算法可以参照S2。
例如,第三公钥可以为第三私钥与扰动值的乘积。第三私钥为根据密码对应的哈希值确定。比如,第三私钥s3=(Hash-PIN)mode(n)。第三公钥=s3*G。
S4、终端设备根据第二国密算法计算第一数值的哈希值。
其中,第一数值包括终端设备的设备指纹、密码对应的哈希值以及注册账号。第一数值的哈希值包括多个比特。例如,第一数值的哈希值可以包括256bit。
S5、终端设备将第一数值的哈希值划分为多个字段,并对每个字段进行模运算。
其中,模运算可以是指椭圆曲线的阶n取模运算。具体的,参照现有技术,不予赘述。
一种示例中,终端设备可以将第一数值的哈希值划分为3个字段。第一数值的哈希值至少包括240bit。终端设备可以将0-79位的多个bit作为第一字段,将80-159位的多个bit作为第二字段,以及将160-239位的多个bit作为第三字段。
一种可能的实现方式中,终端设备可以将每个字段的比特转换为大数并对该大数进行模运算,得到对应的数值。例如,大数可以是十进制的数字,第一字段对应的数值可以为ID_H1,第二字段对应的数值可以为ID_H2,第三字段对应的数值可以为ID_H3。
S6、终端设备根据第一公钥、第二公钥、第三公钥以及多个字段对应的数值,确定终端设备的设备公钥。
例如,终端设备可以根据第一预设公式,计算终端设备的设备公钥。
其中,第一预设公式可以为:
P=P1*ID_H1+P2*ID_H2+P3*ID_H3
其中,P为设备公钥,P1为第一公钥,P2为第二公钥,P3为第三公钥。
步骤303、终端设备可以向服务器发送设备公钥。相应的,服务器接收来自终端设备的设备公钥。
一种示例中,为了保证设备密码的设备公钥的安全,终端设备可以使用业务系统的平台公钥对设备公钥进行加密,并向服务器发送加密后的设备公钥。服务器在接收到加密后的设备公钥之后,可以使用平台公钥对应的平台私钥进行解密,得到并存储设备公钥。例如,服务器在接收到来自多个终端设备的设备公钥的情况下,服务器可以存储账户与设备公钥之间的对应关系。该对应关系可以以表格的形式存储。当然,还可以以其他形式存储,如数组的形式,不予限制。
需要说明的是,平台公钥可以为预先为终端设备配置的,或者,可以携带于应用程序的安装包,不予限制。
结合步骤301,若用户设置了一个或多个密码错误提示问题及对应的答案,终端设备可以使用第一随机数对密码对应的哈希值进行加密,并存储加密后的哈希值。
进一步的,为了保证密码安全,终端设备可以使用密码对应的哈希值作为对称密钥,采用第三国密算法对第一私钥进行加密,得到并存储加密后的第一私钥。终端设备还可以删除第二公钥、第三公钥以及第一随机数。
其中,第三国密算法可以为SM4算法。
其中,如图4所示,“登录认证过程”具体可以包括步骤401~步骤415。
步骤401、终端设备向服务器发送第一请求消息。相应的,服务器接收来自终端设备的第一请求消息。
其中,第一请求消息用于请求访问业务系统存储的用户信息或数据资源。例如,第一请求消息可以包括用户的注册账号。
一种可能的实现方式中,响应于第一输入操作,终端设备向服务器发送第一请求消息。
步骤402、服务器根据注册账号与设备公钥之间的对应关系,确定注册账号对应的设备公钥。
其中,注册账号与设备公钥之间的对应关系可以参照上述步骤303中的描述,此处不予赘述。
步骤403、服务器生成并向终端设备发送第二随机数。相应的,终端设备接收来自服务器的第二随机数。
其中,第二随机数可以参照上述第一随机数的描述,不予赘述。
步骤404、响应于输入操作,终端设备接收输入的密码。
例如,终端设备在接收到来自服务器的第二随机数后,可以输出第一提示信息。第一提示信息用于提示用户输入密码。比如,终端设备可以通过显示界面生成密码输入框。用户可以通过该密码输入框输入注册账号对应的密码。
步骤405、终端设备使用第二国密算法,计算密码对应的哈希值,并使用该密码对应的哈希值以及第三国密算法,对存储的加密后的第一私钥进行解密,得到第一私钥。
步骤406、终端设备根据第一私钥、注册账号、密码以及设备指纹,确定设备私钥。
具体的,终端设备使用椭圆曲线点乘算法和注册账号,计算得到第二私钥。终端设备使用椭圆曲线点乘算法和密码对应的哈希值,计算得到第三私钥。终端设备根据第二国密算法,计算第一数值的哈希值。其中,第一数值包括设备指纹、注册账号以及密码对应的哈希值。
终端设备将第一数值的哈希值划分为多个字段,并对每个字段进行模运算,得到每个字段对应的数值。
终端设备根据第一私钥、第二私钥、第三私钥以及多个字段对应的数值,确定终端设备的设备私钥。
例如,终端设备可以根据第二预设公式,计算终端设备的设备私钥。
其中,第二预设公式可以为:
s=s1*ID_H1+s2*ID_H2+s3*ID_H3
其中,s为设备私钥,s1为第一私钥,s2为第二私钥,s3为第三私钥。
步骤407、终端设备使用设备私钥以及第一国密算法对第二随机数进行签名,得到签名数据。
步骤408、终端设备向服务器发送签名数据。相应的,服务器接收来自终端设备的签名数据。
步骤409、服务器使用存储的设备公钥对签名数据进行验证。
其中,服务器对存储的设备公钥对签名数据进行验证的过程可以参照现有技术,不予赘述。
例如,设备公钥可以用于对签名数据进行解密,得到一个随机数。若该随机数为第二随机数,则说明终端设备的验证通过;若该随机数不是第二随机数,则说明终端设备的验证不通过。
若验证通过,服务器可以向终端设备开发该账户下的信息以及数据资源;若验证不通过,服务器不允许终端设备访问或使用该账户下的信息以及数据资源。
进一步的,该过程还可以包括:
步骤410、响应于第二输入操作,终端设备向服务器发送一个或多个密码错误提示问题的答案。相应的,服务器接收来自终端设备的一个或多个密码错误提示问题的答案。
其中,第二输入操作是指当用户忘记密码时,通过终端设备的问题显示界面输入的一个或多个密码错误提示问题的答案的操作。
步骤411、服务器在接收到来自终端设备的一个或多个密码错误提示问题的答案后,将该一个或多个密码错误提示问题的答案与存储的一个或多个密码错误提示问题的答案进行比较。
若接收到的一个或多个密码错误提示问题的答案与存储的一个或多个密码错误提示问题的答案一致,则说明接收到的一个或多个密码错误提示问题的答案正确;若不一致,则说明接收到的一个或多个密码错误提示问题的答案错误。
步骤412、在服务器接收到的一个或多个密码错误提示问题的答案正确的情况下,服务器向终端设备发送第一随机数。响应的,终端设备接收来自服务器的第一随机数。
步骤413、终端设备使用第一随机数对存储的加密后的哈希值进行解密,得到密码对应的哈希值。
步骤414、终端设备使用第二国密算法对密码对应的哈希值进行解密,得到第一私钥。
其中,在得到第一私钥之后,终端设备可以再次执行上述步骤405~步骤409。
步骤415、响应于修改操作,终端设备对注册账号对应的密码进行修改。
其中,在用户输入的一个或多个密码错误提示问题的答案正确的情况下,当用户点击操作界面上的重设密码的按键或框时,终端设备可以显示重设密码的输入界面。用户可以通过该输入界面输入新的密码。终端设备在接收到账户对应的新的密码后,可以再次执行上述步骤301~步骤303。
本申请上述实施例中的各个方案在不矛盾的前提下,均可以进行结合。
本申请实施例可以根据上述方法示例对物联网设备进行功能模块或者功能单元的划分,例如,可以对应各个功能划分各个功能模块或者功能单元,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块或者功能单元的形式实现。其中,本申请实施例中对模块或者单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,图5示出了一种通信装置50的结构示意图,该通信装置50可以为终端设备,也可以为应用于终端设备的芯片,该通信装置50可以用于执行上述实施例中涉及的终端设备的功能。图5所示的通信装置50可以包括:通信单元502以及处理单元501。
一种实施例中,处理单元501,用于生成密钥对,该密钥对包括公钥和私钥。
处理单元501,还用于响应于注册操作,生成第一密钥对,第一密钥对为根据第一国密算法生成,第一密钥对包括第一公钥,注册操作为输入注册账号以及密码的操作;处理单元501,还用于根据第一公钥、注册账号、密码对应的哈希值以及终端设备的设备指纹,确定设备公钥,密码对应的哈希值为根据第一国密算法以及密码生成;通信单元502,用于向服务器发送设备公钥,用以服务器对终端设备进行注册认证并存储设备公钥。
一种可能的实现方式中,处理单元501,具体用于:根据注册账号以及第二国密算法,生成第二公钥;根据预设算法及密码对应的哈希值,生成第三公钥;根据第一公钥、第二公钥、第三公钥以及第一数值,确定设备公钥,第一数值包括设备指纹、密码对应的哈希值以及注册账号。
一种可能的实现方式中,处理单元501,还用于:根据第二国密算法计算第一数值的哈希值;将第一数值的哈希值划分为多个字段,并对多个字段中每个字段进行模运算,得到每个字段对应的数值;处理单元501,具体用于:根据第一公钥、第二公钥、第三公钥以及多个字段对应的数值,计算设备公钥。
一种可能的实现方式中,多个字段包括第一字段、第二字段以及第三字段,设备公钥为根据第一预设公式,计算得到;第一预设公式为:P=P1*ID_H1+P2*ID_H2+P3*ID_H3;其中,P为设备公钥,P1为第一公钥,P2为第二公钥,P3为第三公钥,ID_H1为第一字段对应的数值,ID_H2为第二字段对应的数值,ID_H3为第三字段对应的数值。
一种可能的实现方式中,第一密钥对还包括第一私钥,处理单元,还用于使用第三国密算法以及密码对应的哈希值,对第一私钥进行加密,得到并存储加密后的第一私钥。
一种可能的实现方式中,通信单元502,具体用于使用平台公钥对设备公钥进行加密,并向服务器发送加密后的设备公钥。
一种可能的实现方式中,如图5所示,该通信装置50还包括显示单元503,该显示单元503,用于响应于注册操作,显示问题输入界面,问题输入界面包括一个或多个密码错误提示问题;处理单元501,还用于响应于输入一个或多个密码错误提示问题对应的答案的操作,生成第一随机数,并使用第一随机数对密码对应的哈希值进行加密,得到并存储加密后的密码对应的哈希值;通信单元502,还用于向服务器发送第一数据包,第一数据包为使用第一公钥对第一随机数、一个或多个密码错误提示问题及对应的答案加密后的数据包。
又一种实施例中,通信单元502,用于响应于登录操作,向服务器发送第一请求信息,用以服务器根据存储的注册账号与设备公钥之间的对应关系,确定注册账号对应的设备公钥,第一请求信息包括注册账号;通信单元502,还用于接收来自服务器的第二随机数;通信单元502,还用于响应于第一输入操作,接收输入的密码,并使用第三国密算法以及密码对应的哈希值对预先存储的加密后的第一私钥进行解密得到第一私钥,密码对应的哈希值为使用第二国密算法计算得到;处理单元501,用于根据第一私钥、注册账号、密码以及终端设备的设备指纹,确定终端设备的设备私钥;处理单元501,还用于使用设备私钥以及第一国密算法对第二随机数进行签名,生成并向服务器发送签名数据,用以服务器对签名数据进行认证。
一种可能的实现方式中,处理单元501,还用于根据预设算法及账号,计算得到第二私钥;处理单元501,还用于根据预设算法及密码对应的哈希值,计算得到第三私钥;处理单元501,具体用于根据第一私钥、第二私钥、第三私钥以及第一数值,确定终端设备的设备私钥,第一数值包括账号、密码以及设备指纹。
一种可能的实现方式中,处理单元501,还用于根据第二国密算法计算第一数值的哈希值;处理单元501,还用于将第一数值的哈希值划分为多个字段,并对多个字段中每个字段进行模运算,得到每个字段对应的数值;处理单元501,具体用于根据第一私钥、第二私钥、第三私钥以及多个字段对应的数值,计算设备私钥。
一种可能的实现方式中,多个字段包括第一字段、第二字段以及第三字段,设备私钥为根据第二预设公式,计算得到;第二预设公式为:s=s1*ID_H1+s2*ID_H2+s3*ID_H3;其中,s为设备私钥,s1为第一私钥,s2为第二私钥,s3为第三私钥,ID_H1为第一字段对应的数值,ID_H2为第二字段对应的数值,ID_H3为第三字段对应的数值。
一种可能的实现方式中,通信单元502,还用于响应于第二输入操作,向服务器发送一个或多个密码错误提示问题的答案,用以服务器根据接收到的一个或多个密码错误提示问题的答案跟存储的一个或读个密码错误提示问题的答案进行比较;通信单元502,还用于接收来自服务器的第一随机数;第一随机数为服务器预先存储的;处理单元501,还用于使用第一随机数对存储的加密后的密码对应的哈希值进行解密,得到密码对应的哈希值;处理单元501,还用于使用第二国密算法对密码对应的哈希值进行解密,得到第一私钥。
其中,通信装置50的具体实现方式可参考图3以及图4所示的认证方法中终端设备的行为功能。
一种可能的设计中,图5所示的通信装置50还可以包括存储单元504。存储单元504用于储存程序代码和指令。
作为又一种可实现方式,图5中的处理单元501可以由处理器代替,该处理器可以集成处理单元501的功能。图5中的通信单元502可以由收发器或收发单元代替,该收发器或收发单元可以集成通信单元502的功能。
进一步的,当处理单元501由处理器代替,通信单元502由收发器或收发单元代替时,本申请实施例所涉及的通信装置50可以为图2所示通信装置。
本申请实施例还提供了一种计算机可读存储介质。上述方法实施例中的全部或者部分流程可以由计算机程序来指令相关的硬件完成,该程序可存储于上述计算机可读存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。计算机可读存储介质可以是前述任一实施例的通信装置(包括数据发送端和/或数据接收端)的内部存储单元,例如通信装置的硬盘或内存。上述计算机可读存储介质也可以是上述终端装置的外部存储设备,例如上述终端装置上配备的插接式硬盘,智能存储卡(smart media card,SMC),安全数字(secure digital,SD)卡,闪存卡(flash card)等。进一步地,上述计算机可读存储介质还可以既包括上述通信装置的内部存储单元也包括外部存储设备。上述计算机可读存储介质用于存储上述计算机程序以及上述通信装置所需的其他程序和数据。上述计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
需要说明的是,本申请的说明书、权利要求书及附图中的术语“第一”和“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上,“至少两个(项)”是指两个或三个及三个以上,“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (16)

1.一种认证方法,其特征在于,应用于终端设备,包括:
响应于注册操作,生成第一密钥对,所述第一密钥对为根据第一国密算法生成,所述第一密钥对包括第一公钥,所述注册操作为输入注册账号以及密码的操作;
根据所述第一公钥、所述注册账号、所述密码对应的哈希值以及所述终端设备的设备指纹,确定设备公钥,所述密码对应的哈希值为根据第一国密算法以及所述密码生成;
向服务器发送所述设备公钥,用以所述服务器对所述终端设备进行注册认证并存储所述设备公钥。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一公钥、所述注册账号、所述密码对应的哈希值以及所述终端设备的设备指纹,确定设备公钥,包括:
根据所述注册账号以及第二国密算法,生成第二公钥;
根据预设算法及所述密码对应的哈希值,生成第三公钥;
根据所述第一公钥、所述第二公钥、所述第三公钥以及第一数值,确定所述设备公钥,所述第一数值包括所述设备指纹、所述密码对应的哈希值以及所述注册账号。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
根据所述第二国密算法计算所述第一数值的哈希值;
将所述第一数值的哈希值划分为多个字段,并对所述多个字段中每个字段进行模运算,得到所述每个字段对应的数值;
所述根据所述第一公钥、所述第二公钥、所述第三公钥以及第一数值,确定所述设备公钥,包括:
根据所述第一公钥、所述第二公钥、所述第三公钥以及所述多个字段对应的数值,计算所述设备公钥。
4.根据权利要求3所述的方法,其特征在于,所述多个字段包括第一字段、第二字段以及第三字段,所述设备公钥为根据第一预设公式,计算得到;
所述第一预设公式为:
P=P1*ID_H1+P2*ID_H2+P3*ID_H3
其中,P为所述设备公钥,P1为所述第一公钥,P2为所述第二公钥,P3为所述第三公钥,ID_H1为所述第一字段对应的数值,ID_H2为所述第二字段对应的数值,ID_H3为所述第三字段对应的数值。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述第一密钥对还包括第一私钥,所述方法还包括:
使用第三国密算法以及所述密码对应的哈希值,对所述第一私钥进行加密,得到并存储加密后的第一私钥。
6.根据权利要求5所述的方法,其特征在于,所述终端设备预先设置有平台公钥,所述平台公钥为所述服务器生成的,所述向服务器发送所述设备公钥,包括:
使用所述平台公钥对所述设备公钥进行加密,并向所述服务器发送加密后的设备公钥。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
响应于所述注册操作,显示问题输入界面,所述问题输入界面包括一个或多个密码错误提示问题;
响应于输入所述一个或多个密码错误提示问题对应的答案的操作,生成第一随机数,并使用所述第一随机数对所述密码对应的哈希值进行加密,得到并存储加密后的所述密码对应的哈希值;
向所述服务器发送第一数据包,所述第一数据包为使用所述第一公钥对所述第一随机数、所述一个或多个密码错误提示问题及对应的答案加密后的数据包。
8.一种认证方法,其特征在于,应用于终端设备,所述方法包括:
响应于登录操作,向服务器发送第一请求信息,用以所述服务器根据存储的注册账号与设备公钥之间的对应关系,确定所述注册账号对应的设备公钥,所述第一请求信息包括注册账号;
接收来自所述服务器的第二随机数;
响应于第一输入操作,接收输入的密码,并使用第三国密算法以及所述密码对应的哈希值对预先存储的加密后的第一私钥进行解密得到第一私钥,所述密码对应的哈希值为使用第二国密算法计算得到;
根据所述第一私钥、所述注册账号、所述密码以及所述终端设备的设备指纹,确定所述终端设备的设备私钥;
使用所述设备私钥以及第一国密算法对所述第二随机数进行签名,生成并向所述服务器发送签名数据,用以所述服务器对所述签名数据进行认证。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
根据预设算法及所述账号,计算得到第二私钥;
根据所述预设算法及所述密码对应的哈希值,计算得到第三私钥;
所述根据所述第一私钥、所述账号、所述密码以及所述终端设备的设备指纹,确定所述终端设备的设备私钥,包括:
根据所述第一私钥、所述第二私钥、所述第三私钥以及第一数值,确定所述终端设备的设备私钥,所述第一数值包括所述账号、所述密码以及所述设备指纹。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
根据所述第二国密算法计算所述第一数值的哈希值;
将所述第一数值的哈希值划分为多个字段,并对所述多个字段中每个字段进行模运算,得到所述每个字段对应的数值;
所述根据所述第一私钥、所述第二私钥、所述第三私钥以及第一数值,确定所述设备私钥,包括:
根据所述第一私钥、所述第二私钥、所述第三私钥以及所述多个字段对应的数值,计算所述设备私钥。
11.根据权利要求10所述的方法,其特征在于,所述多个字段包括第一字段、第二字段以及第三字段,所述设备私钥为根据第二预设公式,计算得到;
所述第二预设公式为:
s=s1*ID_H1+s2*ID_H2+s3*ID_H3
其中,s为所述设备私钥,s1为所述第一私钥,s2为所述第二私钥,s3为所述第三私钥,ID_H1为所述第一字段对应的数值,ID_H2为所述第二字段对应的数值,ID_H3为所述第三字段对应的数值。
12.根据权利要求8-11任一项所述的方法,其特征在于,所述方法还包括:
响应于第二输入操作,向所述服务器发送一个或多个密码错误提示问题的答案,用以所述服务器根据接收到的所述一个或多个密码错误提示问题的答案跟存储的所述一个或读个密码错误提示问题的答案进行比较;
接收来自所述服务器的第一随机数;所述第一随机数为所述服务器预先存储的;
使用所述第一随机数对所述存储的加密后的密码对应的哈希值进行解密,得到密码对应的哈希值;
使用所述第二国密算法对所述密码对应的哈希值进行解密,得到所述第一私钥。
13.一种认证装置,其特征在于,应用于终端设备,所述认证装置包括:处理单元和通信单元;
所述处理单元,用于响应于注册操作,生成第一密钥对,所述第一密钥对为根据第一国密算法生成,所述第一密钥对包括第一公钥,所述注册操作为输入注册账号以及密码的操作;
所述处理单元,还用于根据所述第一公钥、所述注册账号、所述密码对应的哈希值以及所述终端设备的设备指纹,确定设备公钥,所述密码对应的哈希值为根据第一国密算法以及所述密码生成;
所述通信单元,用于向服务器发送所述设备公钥,用以所述服务器对所述终端设备进行注册认证并存储所述设备公钥。
14.一种认证装置,其特征在于,应用于终端设备,所述认证装置包括通信单元和处理单元;
所述通信单元,用于响应于登录操作,向服务器发送第一请求信息,用以所述服务器根据存储的注册账号与设备公钥之间的对应关系,确定所述注册账号对应的设备公钥,所述第一请求信息包括注册账号;
所述通信单元,还用于接收来自所述服务器的第二随机数;
所述通信单元,还用于响应于第一输入操作,接收输入的密码,并使用第三国密算法以及所述密码对应的哈希值对预先存储的加密后的第一私钥进行解密得到第一私钥,所述密码对应的哈希值为使用第二国密算法计算得到;
所述处理单元,用于根据所述第一私钥、所述注册账号、所述密码以及所述终端设备的设备指纹,确定所述终端设备的设备私钥;
所述处理单元,还用于使用所述设备私钥以及第一国密算法对所述第二随机数进行签名,生成并向所述服务器发送签名数据,用以所述服务器对所述签名数据进行认证。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令或程序,当计算机指令或程序在计算机上运行时,使得计算机执行如权利要求1-7任一项或权利要求8-12任一项所述的认证方法。
16.一种终端设备,其特征在于,包括:处理器以及存储器;其中,所述存储器用于存储一个或多个程序,所述一个或多个程序包括计算机执行指令,当所述终端设备运行时,处理器执行所述存储器存储的所述计算机执行指令,以使所述终端设备执行权利要求1-7任一项或权利要求8-12任一项所述的认证方法。
CN202110912577.XA 2021-08-10 2021-08-10 认证方法及装置 Active CN113709115B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110912577.XA CN113709115B (zh) 2021-08-10 2021-08-10 认证方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110912577.XA CN113709115B (zh) 2021-08-10 2021-08-10 认证方法及装置

Publications (2)

Publication Number Publication Date
CN113709115A CN113709115A (zh) 2021-11-26
CN113709115B true CN113709115B (zh) 2023-06-06

Family

ID=78652081

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110912577.XA Active CN113709115B (zh) 2021-08-10 2021-08-10 认证方法及装置

Country Status (1)

Country Link
CN (1) CN113709115B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114338431A (zh) * 2021-12-29 2022-04-12 锐捷网络股份有限公司 一种身份注册的方法、装置及系统
CN116629887A (zh) * 2023-07-20 2023-08-22 鼎铉商用密码测评技术(深圳)有限公司 基于生物特征的注册方法、认证方法、装置及存储介质
CN117668936A (zh) * 2024-01-31 2024-03-08 荣耀终端有限公司 数据处理方法及相关装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110233850A (zh) * 2019-06-20 2019-09-13 浪潮卓数大数据产业发展有限公司 基于联盟链的注册方法、应用服务器、用户端以及系统
CN111132155A (zh) * 2019-12-30 2020-05-08 江苏全链通信息科技有限公司 5g安全通信方法、设备及存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110474864B (zh) * 2018-05-10 2021-05-07 华为技术有限公司 一种注册、登录移动应用程序的方法及电子设备
CN109067524B (zh) * 2018-07-31 2020-07-10 杭州复杂美科技有限公司 一种公私钥对生成方法及系统
CN111148213B (zh) * 2019-12-30 2023-02-03 全链通有限公司 5g用户终端的注册方法、用户终端设备及介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110233850A (zh) * 2019-06-20 2019-09-13 浪潮卓数大数据产业发展有限公司 基于联盟链的注册方法、应用服务器、用户端以及系统
CN111132155A (zh) * 2019-12-30 2020-05-08 江苏全链通信息科技有限公司 5g安全通信方法、设备及存储介质

Also Published As

Publication number Publication date
CN113709115A (zh) 2021-11-26

Similar Documents

Publication Publication Date Title
CN111212095B (zh) 一种身份信息的认证方法、服务器、客户端及系统
CN113709115B (zh) 认证方法及装置
US9838205B2 (en) Network authentication method for secure electronic transactions
EP2999189B1 (en) Network authentication method for secure electronic transactions
CN107241364B (zh) 文件下载方法及装置
EP2732400B1 (en) Method and system for verifying an access request
US20170171183A1 (en) Authentication of access request of a device and protecting confidential information
CN111917773A (zh) 业务数据处理方法、装置和服务器
US9124571B1 (en) Network authentication method for secure user identity verification
JP2015130633A (ja) 認証システム
JP5380583B1 (ja) デバイス認証方法及びシステム
CN108494793B (zh) 网络访问方法、装置及系统
CN104426659A (zh) 动态口令生成方法、认证方法及系统、相应设备
CN103684797A (zh) 用户和用户终端设备的关联认证方法及系统
CN101944216A (zh) 双因子在线交易安全认证方法及系统
CN110830471A (zh) Otp验证方法、服务器、客户端及计算机可读存储介质
CN114444134A (zh) 一种数据使用授权方法、系统及装置
CN105323063A (zh) 基于二维码的移动终端与固定智能终端的身份验证方法
CN103368918A (zh) 一种动态口令认证方法、装置及系统
CN102546168A (zh) 用于身份认证的通讯装置
CN109510711B (zh) 一种网络通信方法、服务器、客户端及系统
CN105577606A (zh) 一种实现认证器注册的方法和装置
TWI546698B (zh) 基於伺服器的登入系統、登入驗證伺服器及其驗證方法
CN112150151B (zh) 安全支付方法、装置、电子设备及存储介质
CN112583600B (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