CN107689864A - 一种认证方法,服务器,终端以及网关 - Google Patents

一种认证方法,服务器,终端以及网关 Download PDF

Info

Publication number
CN107689864A
CN107689864A CN201610635676.7A CN201610635676A CN107689864A CN 107689864 A CN107689864 A CN 107689864A CN 201610635676 A CN201610635676 A CN 201610635676A CN 107689864 A CN107689864 A CN 107689864A
Authority
CN
China
Prior art keywords
rand
data
server
gateway
terminal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201610635676.7A
Other languages
English (en)
Other versions
CN107689864B (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.)
Huawei Cloud Computing Technologies Co Ltd
Original Assignee
Huawei 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201610635676.7A priority Critical patent/CN107689864B/zh
Priority to EP17836231.5A priority patent/EP3481001B1/en
Priority to PCT/CN2017/090073 priority patent/WO2018024048A1/zh
Publication of CN107689864A publication Critical patent/CN107689864A/zh
Priority to US16/256,129 priority patent/US11108548B2/en
Application granted granted Critical
Publication of CN107689864B publication Critical patent/CN107689864B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16YINFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
    • G16Y30/00IoT infrastructure
    • G16Y30/10Security thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/009Security arrangements; Authentication; Protecting privacy or anonymity specially adapted for networks, e.g. wireless sensor networks, ad-hoc networks, RFID networks or cloud networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Power Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请实施例公开了一种认证方法,服务器,终端以及网关,用于减少服务器与网关之间在认证阶段的信息交互,进而减轻服务器的负担。本申请实施例提供的方法包括:服务器获取与网关共享的第一密钥Ksm;服务器接收终端发送的加密后的第一随机因子Rand‑M‑Encry,第一数据摘要Data‑Hash和加密后的第一数据Data‑Encry;服务器使用存储的Ksm对Rand‑M‑Encry解密得到第二随机因子Rand‑M’;服务器使用第二预设算法对Rand‑M’和Kpsa‑xi进行运算生成第三密钥K’sx;服务器利用K’sx对Data‑Encry解密得到第二数据Data’;服务器将K’sx和Data’根据第一预设算法运算得到第二数据摘要Data‑Hash’;若Data‑Hash’与Data‑Hash相同,服务器确定终端认证通过。

Description

一种认证方法,服务器,终端以及网关
技术领域
本发明涉及通信领域,尤其涉及一种认证方法,服务器,终端以及网关。
背景技术
在物联网(英文全称:Internet of Thing,简称:IoT)***中,存在终端通过网关与服务器进行通信的场景,为了确定安装在终端上的应用的合法性,及保障后续终端上应用同服务器之间通信的安全性,服务器需要对安装在终端设备上的应用进行认证。
在IoT***中,很多网关会将具有相同地域、属性或业务等特征的终端划分到一个群组中。所以业界提出了群组认证的方案。其认证过程包括:群组中的终端分别同网关进行一一认证,网关代表群组内的终端同服务器进行一次统一的认证;然后服务器通过网关下发随机数给群组内终端,用于生成应用同服务器之间的密钥(英文全称:IoT SecureConnection Key,简称:Ks),Ks用于保证终端同平台服务器之间通信的安全。
本方案中,服务器在与终端进行认证时,需要通过网关向终端发送随机数,而群组里存在多个终端,进而导致服务器与网关之间需要进行大量的信息交互,增加了服务器的负担。
发明内容
本申请实施例提供了一种认证方法,服务器,终端以及网关,用于减少服务器与网关之间在认证阶段的信息交互,进而减轻服务器的负担。
第一方面,本申请实施例提供一种认证方法,包括:
服务器获取与网关共享的第一密钥Ksm;在该服务器接收终端发送的加密后的第一随机因子Rand-M-Encry,第一数据摘要Data-Hash和加密后的第一数据Data-Encry的情况下,该服务器使用存储的该Ksm对该Rand-M-Encry解密得到第二随机因子Rand-M’;该服务器使用该第二预设算法对该Rand-M’和该Kpsa-xi进行运算生成第三密钥K’sx;该服务器利用该K’sx对该Data-Encry解密得到第二数据Data’;该服务器将该K’sx和该Data’根据该第一预设算法运算得到第二数据摘要Data-Hash’;若该Data-Hash’与该Data-Hash相同,该服务器确定该终端认证通过。其中,该Rand-M-Encry由该网关利用该Ksm对第一随机因子Rand-M加密生成,该Data-Hash为该终端将第二密钥Ksx和第一数据Data根据第一预设算法运算得到,该Data-Encry为该终端使用该Ksx对该Data加密得到,该Ksx为该终端使用该第二预设算法对该Rand-M和该终端与该服务器的共享密钥Kpsa-xi进行运算生成的,该Kpsa-xi和该第一预设算法和该第二预设算法由该终端与该服务器之间预先配置,该Rand-M由该网关生成并发送给该终端。
本申请实施例中,在与终端的认证过程中,该服务器根据该终端发送的该Rand-M-Encry,该Data-Encry和该Data-Hash完成认证,不再通过该网关向该终端发送随机数进而完成认证,导致该服务器与该网关之间的信息交互大大减少,进而减轻了服务器的负担。
一种可能的设计中,在该服务器获取与该网关共享的第一密钥时,该服务器可以采用如下方式:
一种可能实现方式为:该服务器获取第三随机因子Rand-author,该Rand-author为该服务器与该网关共享;该服务器将该Rand-author和第二共享密钥Kpsa-mi根据第三预设算法生成第一密钥Ksm,该Kpsa-mi由该服务器与该网关之间预先配置,该第三预设算法由该服务器与该网关之间预先配置或由该服务器与该网关之间协商确定。
另一种可能实现方式为:该服务器与该网关预先配置好该第一密钥Ksm。
本申请实施例中,该服务器与该网关在一次认证之后,可以在一定时间段内不再进行第二次认证,但为了实际应用中的安全性,也可以在预设时间段过后再次进行双向认证,具体实施方式,此处不做限定。
本申请实施例中,减少服务器与网关的认证次数,同时也减少了服务器与网关之间的信息交互次数,有利于减轻服务器的负担。
一种可能的设计中,该服务器在获取该第三随机因子Rand-author时,可以采用如下方式:该服务器生成该Rand-author;或,该服务器接收该网关发送的该Rand-author。
本申请实施例中,该服务器采用多种方式实现该认证过程,有利于减轻该服务器的负担。
一种可能的设计中,该第一预设算法为哈希运算。该第二预设算法为基于哈希运算的消息认证码算法HMAC-SHA-256。该第三预设算法为基于哈希运算的消息认证码算法HMAC-SHA-256。
实际应用中,该第一预设算法还可以是信息-摘要算法5(英文全称:MessageDigest Algorithm 5,简称:MD5),安全哈希算法(英文全称:Secure Hash Algorithm,简称:SHA)等系列算法,该第二预设算法和该第三预设算法还可以是高级数据加密标准(英文全称:Advanced Encryption Standard,简称:AES),数据加密标准(英文全称:DataEncryption Standard,简称:DES),三重数据加密标准(英文全称:Triple DataEncryption Algorithm,简称:3DES),国际数据加密算法(英文全称:International DataEncryption Algorithm,简称:IDEA),三重数据加密算法(英文全称:Triple DataEncryption Algorithm,简称:TDEA),参数可变的分组密码算法RC5,Blowfish等算法,具体的实现方式,此处不做限定。
第二方面,本申请实施例提供一种认证方法,包括:网关获取与服务器共享的第一密钥Ksm;然后该网关生成第一随机因子Rand-M;该网关利用该Ksm对该Rand-M进行加密生成加密后的第一随机因子Rand-M-Encry;在该网关与终端完成双向认证后,该网关将该Rand-M-Encry和该Rand-M发送给终端,以使得该终端根据该Rand-M生成第二密钥Ksx。
本申请实施例中,该认证***中,将生成随机数并下发的功能由服务器转移至网关,则有效的减少了该服务器在与终端进行认证的过程中,该服务器与该网关之间的交互。
一种可能的设计中,在该网关获取与该服务器共享的第一密钥时,该网关可以采用如下方式:
一种可能实现方式中,该网关获取第三随机因子Rand-author,该Rand-author为该服务器与该网关共享;该网关将该Rand-author和第二共享密钥Kpsa-mi根据第三预设算法生成第一密钥Ksm,该Kpsa-mi由该服务器与该网关之间预先配置,该第三预设算法由该服务器与该网关之间预先配置或由该服务器与该网关之间协商确定。
另一种可能实现方式中,该网关与该服务器预先配置好该第一密钥Ksm。
本申请实施例中,该网关与该服务器在一次认证之后,可以在一定时间段内不再进行第二次认证,但为了实际应用中的安全性,也可以在预设时间段过后再次进行双向认证,具体实施方式,此处不做限定。本申请实施例中,减少服务器与网关的认证次数,同时也减少了服务器与网关之间的信息交互次数,有利于减轻服务器的负担。
一种可能的设计中,该网关在获取该第三随机因子Rand-author时,可以采用如下方式:该网关生成该Rand-author;或,该网关接收该服务器发送的该Rand-author。
本申请实施例中,该网关采用多种方式实现该认证过程,有利于减轻该服务器的负担。
一种可能的设计中,该第三预设算法为基于哈希运算的消息认证码算法HMAC-SHA-256。
第三方面,本申请实施例提供一种认证方法,包括:
终端在与网关完成双向认证后,该终端接收网关发送的加密后的随机数Rand-M-Encry和随机数Rand-M;然后该终端将该Rand-M和该终端与服务器的共享密钥Kpsa-xi根据第二预设算法生成第二密钥Ksx;其次该终端利用该Ksx对Data加密得到Data-Encry,将该Ksx和Data根据第一预设算法运算得到Data-Hash,最后该终端将该Rand-M-Encry,该Data-Encry和该Data-Hash发送给该服务器,以使得该服务器根据该Rand-M-Encry,该Data-Encry和该Data-Hash完成认证。其中,该Rand-M-Encry由该网关利用第一密钥Ksm对该Rand-M加密生成,该Rand-M为该网关生成;该Kpsa-xi和该第二预设算法由该终端与服务器之间预先配置;该第一预设算法由该终端与该服务器之间预先配置。
本申请实施例中,该终端与该服务器认证的过程中,该终端不再接收该服务器发送的随机数并生成密钥,而是向服务器发送该Rand-M-Encry,该Data-Encry和该Data-Hash而使得该服务器完成认证,导致该服务器与该网关之间的信息交互大大减少,进而减轻了服务器的负担。
一种可能的设计中,该第一预设算法为哈希运算。该第二预设算法为基于哈希运算的消息认证码算法HMAC-SHA-256。
第四方面,本申请实施例提供一种服务器,该服务器具有实现上述方法中服务器的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
一种可能实现方式中,该服务器包括:
处理模块,用于获取与网关共享的第一密钥Ksm;
接收模块,用于接收终端发送的加密后的第一随机因子Rand-M-Encry,第一数据摘要Data-Hash和加密后的第一数据Data-Encry;该Rand-M-Encry由该利用该Ksm对第一随机因子Rand-M加密生成,该Data-Hash为该将第二密钥Ksx和第一数据Data根据第一预设算法运算得到,该Data-Encry为使用该Ksx对该Data加密得到,该Ksx为使用该第二预设算法对该Rand-M和该终端与该服务器的共享密钥Kpsa-xi进行运算生成的,该Kpsa-xi和该第一预设算法和该第二预设算法由该终端与该服务器之间预先配置,该Rand-M由该网关生成并发送给该终端;
该处理模块,还用于使用存储的该Ksm对该Rand-M-Encry解密得到第二随机因子Rand-M’;使用该第二预设算法对该Rand-M’和该Kpsa-xi进行运算生成第三密钥K’sx;利用该K’sx对该Data-Encry解密得到第二数据Data’;将该K’sx和该Data’根据该第一预设算法运算得到第二数据摘要Data-Hash’;若该Data-Hash’与该Data-Hash相同,则确定该终端认证通过。
另一种可能实现方式中,该服务器包括:
收发器,处理器,总线;
该收发器与该处理器通过该总线相连;
该处理器,执行如下步骤:
获取与网关共享的第一密钥Ksm;
该收发器,执行如下步骤:
接收终端发送的加密后的第一随机因子Rand-M-Encry,第一数据摘要Data-Hash和加密后的第一数据Data-Encry;该Rand-M-Encry由该利用该Ksm对第一随机因子Rand-M加密生成,该Data-Hash为该将第二密钥Ksx和第一数据Data根据第一预设算法运算得到,该Data-Encry为使用该Ksx对该Data加密得到,该Ksx为使用该第二预设算法对该Rand-M和该终端与该服务器的共享密钥Kpsa-xi进行运算生成的,该Kpsa-xi和该第一预设算法和该第二预设算法由该终端与该服务器之间预先配置,该Rand-M由该网关生成并发送给该终端;
该处理器,还执行如下步骤:
使用存储的该Ksm对该Rand-M-Encry解密得到第二随机因子Rand-M’;使用该第二预设算法对该Rand-M’和该Kpsa-xi进行运算生成第三密钥K’sx;利用该K’sx对该Data-Encry解密得到第二数据Data’;将该K’sx和该Data’根据该第一预设算法运算得到第二数据摘要Data-Hash’;若该Data-Hash’与该Data-Hash相同,则确定该终端认证通过。
第五方面,本申请实施例提供一种网关,该网关具有实现上述方法中网关的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
一种可能实现方式中,该网关包括:
处理模块,用于获取与服务器共享的第一密钥Ksm;生成第一随机因子Rand-M;利用该Ksm对该Rand-M进行加密生成加密后的第一随机因子Rand-M-Encry;
发送模块,用于在该网关与终端完成双向认证后,将该Rand-M-Encry和该Rand-M发送给终端,以使得该终端根据该Rand-M生成第二密钥Ksx。
另一种可能实现方式中,该网关包括:
收发器,处理器,总线;
该收发器与该处理器通过该总线相连;
该处理器,执行如下步骤:
获取与服务器共享的第一密钥Ksm;生成第一随机因子Rand-M;利用该Ksm对该Rand-M进行加密生成加密后的第一随机因子Rand-M-Encry;
该收发器,执行如下步骤:
在该网关与终端完成双向认证后,将该Rand-M-Encry和该Rand-M发送给终端,以使得该终端根据该Rand-M生成第二密钥Ksx。
第六方面,本申请实施例提供一种终端,该终端具有实现上述方法中终端的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
一种可能实现方式中,该终端包括:
接收模块,用于在与网关完成双向认证后,接收网关发送的加密后的随机数Rand-M-Encry和随机数Rand-M,该Rand-M-Encry由该网关利用第一共享密钥Ksm对该Rand-M加密生成,该Rand-M为该网关生成;
处理模块,用于将该Rand-M和该终端与服务器的共享密钥Kpsa-xi根据第二预设算法生成Ksx,该Kpsa-xi和该第二预设算法由该终端与服务器之间预先配置;利用该Ksx对Data加密得到Data-Encry,将该Ksx和Data根据第一预设算法运算得到Data-Hash,该第一预设算法由该终端与该服务器之间预先配置;
发送模块,用于将该Rand-M-Encry,该Data-Encry和该Data-Hash发送给该服务器,以使得该服务器根据该Rand-M-Encry,该Data-Encry和该Data-Hash完成认证。
另一种可能实现方式中,该终端包括:
收发器,处理器,总线;
该收发器与该处理器通过该总线相连;
该收发器,执行如下步骤:
在与网关完成双向认证后,接收网关发送的加密后的随机数Rand-M-Encry和随机数Rand-M,该Rand-M-Encry由该网关利用第一共享密钥Ksm对该Rand-M加密生成,该Rand-M为该网关生成;
该处理器,执行如下步骤:
将该Rand-M和该终端与服务器的共享密钥Kpsa-xi根据第二预设算法生成Ksx,该Kpsa-xi和该第二预设算法由该终端与服务器之间预先配置;利用该Ksx对Data加密得到Data-Encry,将该Ksx和Data根据第一预设算法运算得到Data-Hash,该第一预设算法由该终端与该服务器之间预先配置;
该收发器,执行如下步骤:
将该Rand-M-Encry,该Data-Encry和该Data-Hash发送给该服务器,以使得该服务器根据该Rand-M-Encry,该Data-Encry和该Data-Hash完成认证。
第七方面,本申请实施例提供了一种计算机存储介质,该计算机存储介质中存储有程序代码,该程序代码用于指示执行上述第一方面或第二方面或第三方面的方法。
第八方面,本申请实施例提供一种认证***,该认证***包括:网关,服务器,终端。该终端与该服务器之间预置共享密钥以及相关算法,该网关与该服务器也需要预置共享密钥以及获取相关算法,该终端与该网关之间也需要预置共享密钥以及相关算法。该网关与该服务器利用共享密钥和算法各自生成共享的第一密钥Ksm。然后在该网关与终端完成双向认证后,该网关将该网关该网关生成的第一随机因子Rand-M和该网关利用该Ksm对该Rand-M进行加密生成加密后的第一随机因子Rand-M-Encry发送给终端。而该终端在接收到该网关发送的Rand-M-Encry和Rand-M之后,该终端将该Rand-M和该终端与服务器的共享密钥Kpsa-xi根据预先配置的算法生成第二密钥Ksx。之后该终端还可以利用该Ksx对Data加密得到Data-Encry,并将该Ksx和Data根据预先配置的运算得到Data-Hash。最后该终端将得到的该Rand-M-Encry,该Data-Encry和该Data-Hash发送给该服务器。该服务器在到该终端发送的Rand-M-Encry,Data-Hash和Data-Encry之后,由于该服务器与该网关各自生成了共享的Ksm,因此该服务器可以使用该Ksm对该Rand-M-Encry解密得到第二随机因子Rand-M’。然后该服务器使用与终端预先配置的算法对该Rand-M’和该Kpsa-xi进行运算生成第三密钥K’sx,其次该服务器再利用该K’sx对该Data-Encry解密得到第二数据Data’。再其次,该服务器将该K’sx和该Data’根据该服务器与该终端预先配置的算法运算得到第二数据摘要Data-Hash’。最后,该服务器将该Data-Hash’与该Data-Hash进行比较,若该Data-Hash’与该Data-Hash相同,则该服务器确定该终端认证通过。
从以上技术方案可以看出,本申请实施例具有以下优点:在与终端的认证过程中,该服务器根据该终端发送的该Rand-M-Encry,该Data-Encry和该Data-Hash完成认证,不再通过该网关向该终端发送随机数进而完成认证,导致该服务器与该网关之间的信息交互大大减少,进而减轻了服务器的负担。
附图说明
图1为本申请实施例中群组认证的***框架图;
图2为本申请实施例中认证方法的一个实施例示意图;
图3为本申请实施例中服务器的一个实施例示意图;
图4为本申请实施例中服务器的另一个实施例示意图;
图5为本申请实施例中网关的一个实施例示意图;
图6为本申请实施例中网关的另一个实施例示意图;
图7为本申请实施例中终端的一个实施例示意图;
图8为本申请实施例中终端的另一个实施例示意图。
具体实施方式
本申请实施例提供了一种认证方法,服务器,网关以及终端,用于减少服务器与网关之间在认证阶段的信息交互,进而减轻服务器的负担。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
图1提供了本发明实施例的一种认证***的架构示意图。该认证***包括:服务器,网关以及终端。在该认证***中,该终端通过该网关与该服务器进行通信,为了确定安装在该终端上的应用的合法性以及该终端上应用同该服务器之间通信的安全性,该服务器需要与该终端进行认证。
具体的,在该终端与该服务器,该终端与该网关以及该服务器与该网关进行认证之前,该终端与该服务器之间需要预先配置共享密钥Kpsa-xi,第一预设算法以及第二预设算法。该终端与该网关之间需要预先配置共享密钥Kpsa-xm以及相关的预设算法。以及该网关与该服务器需要获取第三预设算法并需要预先配置共享密钥Kpsa-mi。同时该网关与该服务器获取到的该第三预设算法可以是由该网关与该服务器之间预先配置也可以由该网关与该服务器在信息交互的过程中进行协商确定。该网关与该服务器获取该第三预设算法的方式,此处不做限定。
在实际应用中,终端可以在出厂时,即预置一个共享密钥,第一预设算法以及第二预设算法。当该终端在服务器中进行注册,与服务器发生信息交互时,服务器即可获取到该终端与该服务器的共享密钥Kpsa-xi,第一预设算法以及第二预设算法。同理该终端与网关之间也可以采用如上方式进行配置共享密钥Kpsa-xm和算法;该网关与该服务器之间也可以采用如上方式进行配置共享密钥Kpsa-mi和算法。
在本实施例中,该第一预设算法可以为哈希运算,该第二预设算法可以为基于哈希运算的消息认证码算法HMAC-SHA-256,该第三预设算法可以为基于哈希运算的消息认证码算法HMAC-SHA-256。在本实施例中,该第一预设算法,第二预设算法以及第三预设算法可以为其他的算法。比如该第一预设算法可以为MD5,SHA等系列算法。该第二预设算法和该第三预设算法还可以是AES,DES,3DES,IDEA,TDEA,RC5,Blowfish等算法,具体实施方式,此处不做限定。
本申请实施例涉及的终端,可以是指向用户提供语音和/或数据连通性的设备,具有无线连接功能的手持式设备、或连接到无线调制解调器的其他处理设备。无线终端可以经无线接入网(Radio Access Network,简称RAN)与一个或多个核心网进行通信,无线终端可以是移动终端,如移动电话(或称为“蜂窝”电话)和具有移动终端的计算机,例如,可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置,它们与无线接入网交换语言和/或数据。例如,个人通信业务(Personal Communication Service,简称PCS)电话、无绳电话、会话发起协议(SIP)话机、无线本地环路(Wireless Local Loop,简称WLL)站、个人数字助理(Personal Digital Assistant,简称PDA)等设备。无线终端也可以称为***、用户单元(Subscriber Unit)、用户站(Subscriber Station),移动站(Mobile Station)、移动台(Mobile)、远程站(Remote Station)、接入点(Access Point)、远程终端(RemoteTerminal)、接入终端(Access Terminal)、用户终端(User Terminal)、用户代理(UserAgent)、用户设备(User Device)、或用户装备(User Equipment)。
图2为本发明实施例提供的认证的方法流程图。在该认证的方法中,终端,服务器和网关与图1中的终端,服务器和网关的功能相同。具体的,该方法包括如下步骤:
200、终端与服务器之间预置共享密钥Kpsa-xi,第一预设算法以及第二预设算法,网关与服务器各自获取第三预设算法并预置共享密钥Kpsa-mi,终端与网关之间预置共享密钥Kpsa-xm。
在本实施例中,假设该终端与该服务器的共享密钥为1010,该终端与该网关的共享密钥为1011,该服务器与该网关的共享密钥为1100,同时该终端在与该服务器之间生成密钥时同样都采用基于哈希运算的消息认证码算法HMAC-SHA-256,该网关与该服务器之间生成密钥时同样都采用基于哈希运算的消息认证码算法HMAC-SHA-256,该终端与该服务器之间在生成数据摘要时同样都采用哈希运算。
201、服务器获取与网关共享的第一密钥Ksm。
该服务器与该网关之间通过认证之后,该服务器与该网关之间生成一个共享的随机数Rand-author,该服务器与该网关分别根据该Rand-author以及该第三预设算法生成Ksm。
本实施例中,该服务器与该网关同样也可以预先配置好该Ksm,具体的实施方式,此处不做限定。
本实施例中,该服务器与该网关可以通过预共享密钥的传输层安全协议(英文全称:Pre-Shared Key Ciphersuites for Transport Layer Security,简称:TLS-PSK)进行双向认证。这里该服务器与该网关之间可以采用多种方式进行双向认证,具体实现方式此处不做限定。
本实施例中,该Rand-author可以是由该服务器生成,然后发送该网关;该Rand-author也可以是由该网关生成,然后发送给该服务器,该Rand-author的具体生成方式此处不做限定,只要该网关与该服务器可以得到一个共享的随机数即可。假设该Rand-author为5,在本实施例的举例中,该服务器与该网关之间生成的密钥Ksm为11100。
202、网关生成第一随机因子Rand-M。
该网关在与该服务器完成双向认证之后,该网关可以生成该Rand-M。假设该Rand-M为4。
203、网关利用Ksm对Rand-M进行加密生成加密后的第一随机因子Rand-M-Encry。
该网关利用该Ksm对该Rand-M加密生成Rand-M-Encry。即本实施例中,该Rand-M-Encry中包含有4这个数据信息,同时该数据信息若要查看,则需要用11100这个密钥对该Rand-M-Encry进行解密获取到4这个数据信息。
204、网关将Rand-M-Encry和Rand-M发送给终端。
该网关在与该终端完成双向认证之后,该网关将该Rand-M-Encry和该Rand-M发送给该终端。本实施例中,该终端会接收到4这个数字以及一个包含有4这个数字的加密数据信息。
本实施例中,该网关与该终端完成双向认证的过程中可以采用TLS-PSK进行认证,也可以基于该网关与该终端之间的连接方式进行认证,具体的实施方式此处不做限定。
205、终端将Rand-M和Kpsa-xi根据第二预设算法生成第二密钥Ksx。
该终端在接收到该Rand-M之后,该终端将该Rand-M与该Kpsa-xi根据第二预设算法生成Ksx。本实施例中,该终端可以采用SHA-256哈希运算最后得到的Ksx为11011。
206、终端利用Ksx对Data加密得到Data-Encry,将Ksx和Data根据第一预设算法运算得到Data-Hash。
该终端在得到该Ksx之后,该终端利用该Ksx对需要发送的Data加密得到加密后的数据文件Data-Encry,并将该Ksx和Data根据第一预设算法运算得到数据摘要Data-Hash。本实施例中,若该终端发送的是一段语音数据,则该终端可以采用11011这个密钥对该语音数据进行加密得到一个加密的语音数据信息,同时该终端还可以将11011这个密钥与该语音数据进行哈希运算得到该语音数据的数据摘要。
207、终端将Rand-M-Encry,Data-Encry和Data-Hash发送给服务器。
该终端将该网关发送的Rand-M-Encry,以及该终端生成的Data-Encry和Data-Hash发送给该网关,该网关再将该Rand-M-Encry,该Data-Encry和该Data-Hash发送给该服务器。本实施例中,该终端发送给该服务器的为一个密钥为11100的包含4这个数字的加密数据信息,一个密钥为11011的加密语音数据信息,一个语音数据的数据摘要。
208、服务器使用存储的Ksm对Rand-M-Encry解密得到第二随机因子Rand-M’。
该服务器在接收到Rand-M-Encry,Data-Encry和Data-Hash之后,由于该Rand-M-Encry是由该网关利用该Ksm加密Rand-M生成,且该网关与该服务器已完成认证,则该服务器可以利用存储的Ksm对该Rand-M-Encry进行解密得到Rand-M’。本实施例中,该服务器可以采用11100这个存储的密钥对该包含4这个数字的数据信息进行解密得到4这个数字。
本实施例中,理论值上该Rand-M’与该Rand-M是相同的因此该服务器可以采用该Rand-M’和该Kpsa-xi生成K’sx。
209、服务器使用第二预设算法对Rand-M’和Kpsa-xi进行运算生成第三密钥K’sx。
该服务器在得到该Rand-M’之后,该服务器使用第二预设算法对该Rand-M’和该服务器与该终端的预置Kpsa-xi进行运算生成第三密钥K’sx。本实施例中,该服务器可以使用基于哈希运算的消息认证码算法HMAC-SHA-256将4这个数字与该1010进行运算得到K’sx,该K’sx为11011。
210、服务器利用K’sx对Data-Encry解密得到第二数据Data’。
该服务器得到该K’sx之后,该服务器将利用该K’sx对该终端发送的Data-Encry进行解密得到该第二数据Data’。本实施例中,该服务器得到的密钥K’sx为11011与该终端得到的密钥Ksx为11011相同,即该服务器可以利用11011对该加密语音数据进行解密得到该终端发送的语音数据。
本实施例中,该服务器得到的K’sx在理论值上是与该终端生成的该Ksx是相同的,因此在本实施例中,该服务器可以利用该K’sx对该终端发送的Data-Encry进行解密得到Data’。
211、服务器将K’sx和Data’根据第一预设算法运算得到第二数据摘要Data-Hash’。
在该服务器得到该Data’和该K’sx之后,该服务器将K’sx与该Data’根据哈希运算得到Data-Hash’。本实施例中,该服务器将该解密得到的语音数据以及生成的K’sx11011通过哈希算法得到该解密得到语音数据的数据摘要。
本实施例中,该服务器只要将K’sx与该Data’采用与该终端相同的预设算法生成数据摘要即可,该终端与该服务器具体采用何种算法得到该数据摘要,此处不做限定。
212、服务器将Data-Hash’与Data-Hash进行比较。
该服务器在得到该Data-Hash’之后,将该Data-Hash’与该服务器接收到的该终端发送的Data-Hash进行比较。若该Data-Hash’与该Data-Hash相同,该服务器确定该终端认证通过,若该Data-Hash’与该Data-Hash不相同,则该服务器确定该终端认证不通过。
本实施例中,该服务器在与终端的认证过程中,该服务器根据该终端发送的该Rand-M-Encry,该Data-Encry和该Data-Hash完成认证,不再通过该网关向该终端发送随机数进而完成认证,导致该服务器与该网关之间的信息交互大大减少,进而减轻了服务器的负担。
上面对本申请实施例中的认证方法进行了描述,下面对本申请实施例中的服务器进行描述。
具体请参阅图3,本申请实施例中的服务器的一个实施例,包括:处理模块301,接收模块302;
该处理模块301,用于获取与网关共享的第一密钥Ksm;
该接收模块302,用于接收终端发送的加密后的第一随机因子Rand-M-Encry,第一数据摘要Data-Hash和加密后的第一数据Data-Encry;该Rand-M-Encry由该利用该Ksm对第一随机因子Rand-M加密生成,该Data-Hash为该将第二密钥Ksx和第一数据Data根据第一预设算法运算得到,该Data-Encry为使用该Ksx对该Data加密得到,该Ksx为使用该第二预设算法对该Rand-M和该终端与该服务器的共享密钥Kpsa-xi进行运算生成的,该Kpsa-xi和该第一预设算法和该第二预设算法由该终端与该服务器之间预先配置,该Rand-M由该网关生成并发送给该终端;
该处理模块301,还用于使用存储的该Ksm对该Rand-M-Encry解密得到第二随机因子Rand-M’;使用该第二预设算法对该Rand-M’和该Kpsa-xi进行运算生成第三密钥K’sx;利用该K’sx对该Data-Encry解密得到第二数据Data’;将该K’sx和该Data’根据该第一预设算法运算得到第二数据摘要Data-Hash’;若该Data-Hash’与该Data-Hash相同,则确定该终端认证通过。
结合上述实施例,该处理模块301,还用于获取第三随机因子Rand-author,该Rand-author为该服务器与该网关共享;将该Rand-author和第二共享密钥Kpsa-mi根据第三预设算法生成第一密钥Ksm,该Kpsa-mi由该服务器与该网关之间预先配置,该第三预设算法由该服务器与该网关之间预先配置或由该服务器与该网关之间协商确定。
结合上述实施例,该处理模块301,还用于生成该Rand-author;
或,
该接收模块302,还用于接收该网关发送的该Rand-author。
进一步的,图3中的服务器还可以用于执行图1或图2中的服务器执行的任何步骤,实现图1或图2中的服务器可以实现的任何功能。
本实施例中,该服务器在与终端的认证过程中,该服务器根据该终端发送的该Rand-M-Encry,该Data-Encry和该Data-Hash完成认证,不再通过该网关向该终端发送随机数进而完成认证,导致该服务器与该网关之间的信息交互大大减少,进而减轻了服务器的负担。
具体请参阅图4,本申请实施例中的服务器的另一个实施例,包括:收发器401和处理器402;该收发器401和该处理器402通过总线403相互连接;
总线403可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
处理器402可以是中央处理器(central processing unit,简称CPU),网络处理器(network processor,简称NP)或者CPU和NP的组合。
处理器402还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,简称ASIC),可编程逻辑器件(programmable logic device,简称PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,简称CPLD),现场可编程逻辑门阵列(field-programmable gate array,简称FPGA),通用阵列逻辑(generic array logic,简称GAL)或其任意组合。
参见图4所示,该服务器还可以包括存储器404;该存储器404用于存储该Ksm和K’sx。
该存储器404可以包括易失性存储器(volatile memory),例如随机存取存储器(random-access memory,简称RAM);存储器也可以包括非易失性存储器(non-volatilememory),例如快闪存储器(flash memory),硬盘(hard diskdrive,简称HDD)或固态硬盘(solid-state drive,简称SSD);存储器404还可以包括上述种类的存储器的组合。
可选地,存储器404还可以用于存储程序指令,处理器402调用该存储器404中存储的程序指令,可以执行图2所示实施例中的一个或多个步骤,或其中可选的实施方式,实现上述方法中服务器行为的功能。
该处理器402,采用上述实施例中的步骤201;
该收发器401包括射频模块和天线,该射频模块可以与该处理器402通过该总线403连接;该射频模块与该天线,执行上述实施例中的步骤208
该处理器402,执行上述实施例中的步骤209至步骤212。
本实施例中,该服务器在与终端的认证过程中,该服务器根据该终端发送的该Rand-M-Encry,该Data-Encry和该Data-Hash完成认证,不再通过该网关向该终端发送随机数进而完成认证,导致该服务器与该网关之间的信息交互大大减少,进而减轻了服务器的负担。
具体请参阅图5,本申请实施例中的网关的一个实施例,包括:处理模块501,发送模块502;
该处理模块501,用于生成与服务器共享的第一密钥Ksm;生成第一随机因子Rand-M;利用该Ksm对该Rand-M进行加密生成加密后的第一随机因子Rand-M-Encry;
该发送模块502,用于在该网关与终端完成双向认证后,将该Rand-M-Encry和该Rand-M发送给终端,以使得该终端根据该Rand-M生成第二密钥Ksx。
结合上述实施例步骤201,该处理模块501,还用于获取第三随机因子Rand-author,该Rand-author为该服务器与该网关共享;将该Rand-author和第二共享密钥Kpsa-mi根据第三预设算法生成第一密钥Ksm,该Kpsa-mi由该服务器与该网关之间预先配置,该第三预设算法由该服务器与该网关之间预先配置或由该服务器与该网关之间协商确定。
结合上述实施例201,该处理模块501,还用于生成该Rand-author;
或,
该接收模块502,用于接收该服务器发送的该Rand-author。
进一步的,图5中的网关还可以用于执行图1或图2中的网关执行的任何步骤,实现图1或图2中的网关可以实现的任何功能。
本实施例中,该网关在与该服务器进行双向认证之后,该处理模块501将生成Rand-M,并利用该Ksm将该Rand-M生成Rand-M-Encry;然后该发送模块502将该Rand-M,该Rand-M-Encry发送给该终端,以使得该终端根据该Rand-M生成Ksx,减少了该网关与该服务器之间的信息交互。
具体请参阅图6,本申请实施例中的网关的另一个实施例,包括:收发器601和处理器602;该收发器601和该处理器602通过总线603相互连接;
总线603可以是PCI或EISA等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
处理器602可以是CPU,NP或者CPU和NP的组合。
处理器602还可以进一步包括硬件芯片。上述硬件芯片可以是ASIC,PLD或其组合。上述PLD可以是CPLD,FPGA,GAL或其任意组合。
参见图6所示,该网关还可以包括存储器604;该存储器604用于存储该Ksm。
该存储器604可以包括易失性存储器(volatile memory),例如RAM;存储器也可以包括非易失性存储器(non-volatile memory),例如快闪存储器(flash memory),HDD或SSD;存储器604还可以包括上述种类的存储器的组合。
可选地,存储器604还可以用于存储程序指令,处理器602调用该存储器604中存储的程序指令,可以执行图2所示实施例中的一个或多个步骤,或其中可选的实施方式,实现上述方法中网关行为的功能。
该处理器602,执行上述实施例中的步骤201
该收发器601包括射频模块和天线,该射频模块可以与该处理器602通过该总线603连接;该射频模块与该天线,执行上述实施例中的步骤202至步骤204以及步骤207中发送该Rand-M-Encry,该Data-Encry和该Data-Hash给该服务器的操作。
本实施例中,该网关在与该服务器进行双向认证之后,该处理器602将生成Rand-M,并利用该Ksm将该Rand-M生成Rand-M-Encry;然后该收发器601将该Rand-M,该Rand-M-Encry发送给该终端,以使得该终端根据该Rand-M生成Ksx,减少了该网关与该服务器之间的信息交互。
具体请参阅图7,本申请实施例中终端的一个实施例,包括:接收模块701,处理模块702,发送模块703;
该接收模块701,用于在与网关完成双向认证后,接收网关发送的加密后的随机数Rand-M-Encry和随机数Rand-M,该Rand-M-Encry由该网关利用第一共享密钥Ksm对该Rand-M加密生成,该Rand-M为该网关生成;
该处理模块702,用于将该Rand-M和该终端与服务器的共享密钥Kpsa-xi根据第二预设算法生成Ksx,该Kpsa-xi和该第二预设算法由该终端与服务器之间预先配置;利用该Ksx对Data加密得到Data-Encry,将该Ksx和Data根据第一预设算法运算得到Data-Hash,该第一预设算法由该终端与该服务器之间预先配置;
该发送模块703,用于将该Rand-M-Encry,该Data-Encry和该Data-Hash发送给该服务器,以使得该服务器根据该Rand-M-Encry,该Data-Encry和该Data-Hash完成认证。
结合上述实施例,该第一预设算法为哈希运算。该第二预设算法为基于哈希运算的消息认证码算法HMAC-SHA-256。
本实施例中,该接收模块701在接收到该网关发送的Rand-M-Encry和Rand-M之后,该处理模块702将该Rand-M和Kpsa-xi根据第二预设算法生成Ksx,并利用该Ksx对Data加密得到Data-Encry,将该Ksx和Data根据第一预设算法运算得到Data-Hash;然后该发送模块803将该Data-Encry,该Rand-M-Encry,该Data-Hash发送给该服务器,有利于该服务器利用该Data-Encry,该Rand-M-Encry,该Data-Hash进行与该终端的认证。
进一步的,图7中的终端还可以用于执行图1或图2中的终端执行的任何步骤,实现图1或图2中的终端可以实现的任何功能。
具体请参阅图8,本申请实施例中终端的另一个实施例,包括:收发器801和处理器802;该收发器801和该处理器802通过总线803相互连接;
总线803可以是PCI或EISA等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
处理器802可以是CPU,NP或者CPU和NP的组合。
处理器802还可以进一步包括硬件芯片。上述硬件芯片可以是ASIC,PLD或其组合。上述PLD可以是CPLD,FPGA,GAL或其任意组合。
参见图8所示,该终端还可以包括存储器804;该存储器804用于存储该Ksx。
该存储器804可以包括易失性存储器(volatile memory),例如RAM;存储器也可以包括非易失性存储器(non-volatile memory),例如快闪存储器(flash memory),HDD或SSD;存储器804还可以包括上述种类的存储器的组合。
可选地,存储器804还可以用于存储程序指令,处理器802调用该存储器804中存储的程序指令,可以执行图2所示实施例中的终端一个或多个步骤,或其中可选的实施方式,实现上述方法中终端行为的功能。
该收发器801包括射频模块和天线,该射频模块可以与该处理器802通过该总线803连接;该射频模块与该天线,执行如下步骤:在与网关完成双向认证后,接收网关发送的加密后的随机数Rand-M-Encry和随机数Rand-M,该Rand-M-Encry由该网关利用第一共享密钥Ksm对该Rand-M加密生成,该Rand-M为该网关生成;
该处理器802,执行上述实施例中的步骤205至步骤206;
该收发器801,执行上述实施例中的步骤207中终端发送该Rand-M-Encry,该Data-Encry和该Data-Hash给该网关的操作。
本实施例中,该收发器801在接收到该网关发送的Rand-M-Encry和Rand-M之后,该处理器802将该Rand-M和Kpsa-xi根据第二预设算法生成Ksx,并利用该Ksx对Data加密得到Data-Encry,将该Ksx和Data根据第一预设算法运算得到Data-Hash;然后该收发器801将该Data-Encry,该Rand-M-Encry,该Data-Hash发送给该服务器,有利于该服务器利用该Data-Encry,该Rand-M-Encry,该Data-Hash进行与该终端的认证。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (21)

1.一种认证方法,其特征在于,包括:
服务器获取与网关共享的第一密钥Ksm;
所述服务器接收终端发送的加密后的第一随机因子Rand-M-Encry,第一数据摘要Data-Hash和加密后的第一数据Data-Encry;所述Rand-M-Encry由所述利用所述Ksm对第一随机因子Rand-M加密生成,所述Data-Hash为所述将第二密钥Ksx和第一数据Data根据第一预设算法运算得到,所述Data-Encry为使用所述Ksx对所述Data加密得到,所述Ksx为使用所述第二预设算法对所述Rand-M和所述终端与所述服务器的共享密钥Kpsa-xi进行运算生成的,所述Kpsa-xi和所述第一预设算法和所述第二预设算法由所述终端与所述服务器之间预先配置,所述Rand-M由所述网关生成并发送给所述终端;
所述服务器使用存储的所述Ksm对所述Rand-M-Encry解密得到第二随机因子Rand-M’;
所述服务器使用所述第二预设算法对所述Rand-M’和所述Kpsa-xi进行运算生成第三密钥K’sx;
所述服务器利用所述K’sx对所述Data-Encry解密得到第二数据Data’;
所述服务器将所述K’sx和所述Data’根据所述第一预设算法运算得到第二数据摘要Data-Hash’;
若所述Data-Hash’与所述Data-Hash相同,所述服务器确定所述终端认证通过。
2.根据权利要求1所述的方法,其特征在于,服务器获取与网关共享的第一密钥Ksm包括:
所述服务器获取第三随机因子Rand-author,所述Rand-author为所述服务器与所述网关共享;
所述服务器将所述Rand-author和第二共享密钥Kpsa-mi根据第三预设算法生成第一密钥Ksm,所述Kpsa-mi由所述服务器与所述网关之间预先配置,所述第三预设算法由所述服务器与所述网关之间预先配置或由所述服务器与所述网关之间协商确定。
3.根据权利要求2所述的方法,其特征在于,所述服务器获取第三随机因子Rand-author包括:
所述服务器生成所述Rand-author;
或,
所述服务器接收所述网关发送的所述Rand-author。
4.一种认证方法,其特征在于,包括:
网关获取与服务器共享的第一密钥Ksm;
所述网关生成第一随机因子Rand-M;
所述网关利用所述Ksm对所述Rand-M进行加密生成加密后的第一随机因子Rand-M-Encry;
在所述网关与终端完成双向认证后,所述网关将所述Rand-M-Encry和所述Rand-M发送给终端,以使得所述终端根据所述Rand-M生成第二密钥Ksx。
5.根据权利要求4所述的方法,其特征在于,网关获取与服务器共享的第一密钥Ksm包括:
所述网关获取第三随机因子Rand-author,所述Rand-author为所述服务器与所述网关共享;
所述网关将所述Rand-author和第二共享密钥Kpsa-mi根据第三预设算法生成第一密钥Ksm,所述Kpsa-mi由所述服务器与所述网关之间预先配置,所述第三预设算法由所述服务器与所述网关之间预先配置或由所述服务器与所述网关之间协商确定。
6.根据权利要求5所述的方法,其特征在于,所述网关获取第三随机因子Rand-author包括:
所述网关生成所述Rand-author;
或,
所述网关接收所述服务器发送的所述Rand-author。
7.一种认证方法,其特征在于,包括:
终端在与网关完成双向认证后,所述终端接收网关发送的加密后的随机数Rand-M-Encry和随机数Rand-M,所述Rand-M-Encry由所述网关利用第一密钥Ksm对所述Rand-M加密生成,所述Rand-M为所述网关生成;
所述终端将所述Rand-M和所述终端与服务器的共享密钥Kpsa-xi根据第二预设算法生成第二密钥Ksx,所述Kpsa-xi和所述第二预设算法由所述终端与服务器之间预先配置;
所述终端利用所述Ksx对Data加密得到Data-Encry,将所述Ksx和Data根据第一预设算法运算得到Data-Hash,所述第一预设算法由所述终端与所述服务器之间预先配置;
所述终端将所述Rand-M-Encry,所述Data-Encry和所述Data-Hash发送给所述服务器,以使得所述服务器根据所述Rand-M-Encry,所述Data-Encry和所述Data-Hash完成认证。
8.根据权利要求7所述的方法,其特征在于,所述第一预设算法为哈希运算。
9.根据权利要求7所述的方法,其特征在于,所述第二预设算法为基于哈希运算的消息认证码算法HMAC-SHA-256。
10.一种服务器,其特征在于,包括:
处理模块,用于获取与网关共享的第一密钥Ksm;
接收模块,用于接收终端发送的加密后的第一随机因子Rand-M-Encry,第一数据摘要Data-Hash和加密后的第一数据Data-Encry;所述Rand-M-Encry由所述利用所述Ksm对第一随机因子Rand-M加密生成,所述Data-Hash为所述将第二密钥Ksx和第一数据Data根据第一预设算法运算得到,所述Data-Encry为使用所述Ksx对所述Data加密得到,所述Ksx为使用所述第二预设算法对所述Rand-M和所述终端与所述服务器的共享密钥Kpsa-xi进行运算生成的,所述Kpsa-xi和所述第一预设算法和所述第二预设算法由所述终端与所述服务器之间预先配置,所述Rand-M由所述网关生成并发送给所述终端;
所述处理模块,还用于使用存储的所述Ksm对所述Rand-M-Encry解密得到第二随机因子Rand-M’;使用所述第二预设算法对所述Rand-M’和所述Kpsa-xi进行运算生成第三密钥K’sx;利用所述K’sx对所述Data-Encry解密得到第二数据Data’;将所述K’sx和所述Data’根据所述第一预设算法运算得到第二数据摘要Data-Hash’;若所述Data-Hash’与所述Data-Hash相同,则确定所述终端认证通过。
11.根据权利要求10所述的服务器,其特征在于,所述处理模块,还用于获取第三随机因子Rand-author,所述Rand-author为所述服务器与所述网关共享;将所述Rand-author和第二共享密钥Kpsa-mi根据第三预设算法生成第一密钥Ksm,所述Kpsa-mi由所述服务器与所述网关之间预先配置,所述第三预设算法由所述服务器与所述网关之间预先配置或由所述服务器与所述网关之间协商确定。
12.根据权利要求11所述的服务器,其特征在于,所述处理模块,还用于生成所述Rand-author;
或,
所述接收模块,还用于接收所述网关发送的所述Rand-author。
13.一种网关,其特征在于,包括:
处理模块,用于获取与服务器共享的第一密钥Ksm;生成第一随机因子Rand-M;利用所述Ksm对所述Rand-M进行加密生成加密后的第一随机因子Rand-M-Encry;
发送模块,用于在所述网关与终端完成双向认证后,将所述Rand-M-Encry和所述Rand-M发送给终端,以使得所述终端根据所述Rand-M生成第二密钥Ksx。
14.根据权利要求13所述的网关,其特征在于,所述处理模块,还用于获取第三随机因子Rand-author,所述Rand-author为所述服务器与所述网关共享;将所述Rand-author和第二共享密钥Kpsa-mi根据第三预设算法生成第一密钥Ksm,所述Kpsa-mi由所述服务器与所述网关之间预先配置,所述第三预设算法由所述服务器与所述网关之间预先配置或由所述服务器与所述网关之间协商确定。
15.根据权利要求14所述的网关,其特征在于,所述处理模块,还用于生成所述Rand-author;
或,
接收模块,用于接收所述服务器发送的所述Rand-author。
16.一种终端,其特征在于,包括:
接收模块,用于在与网关完成双向认证后,接收网关发送的加密后的随机数Rand-M-Encry和随机数Rand-M,所述Rand-M-Encry由所述网关利用第一共享密钥Ksm对所述Rand-M加密生成,所述Rand-M为所述网关生成;
处理模块,用于将所述Rand-M和所述终端与服务器的共享密钥Kpsa-xi根据第二预设算法生成Ksx,所述Kpsa-xi和所述第二预设算法由所述终端与服务器之间预先配置;利用所述Ksx对Data加密得到Data-Encry,将所述Ksx和Data根据第一预设算法运算得到Data-Hash,所述第一预设算法由所述终端与所述服务器之间预先配置;
发送模块,用于将所述Rand-M-Encry,所述Data-Encry和所述Data-Hash发送给所述服务器,以使得所述服务器根据所述Rand-M-Encry,所述Data-Encry和所述Data-Hash完成认证。
17.根据权利要求16所述的终端,其特征在于,所述第一预设算法为哈希运算。
18.根据权利要求16所述的终端,其特征在于,所述第二预设算法为基于哈希运算的消息认证码算法HMAC-SHA-256。
19.一种服务器,其特征在于,包括:
收发器,处理器,总线;
所述收发器与所述处理器通过所述总线相连;
所述处理器,执行如下步骤:
获取与网关共享的第一密钥Ksm;
所述收发器,执行如下步骤:
接收终端发送的加密后的第一随机因子Rand-M-Encry,第一数据摘要Data-Hash和加密后的第一数据Data-Encry;所述Rand-M-Encry由所述利用所述Ksm对第一随机因子Rand-M加密生成,所述Data-Hash为所述将第二密钥Ksx和第一数据Data根据第一预设算法运算得到,所述Data-Encry为使用所述Ksx对所述Data加密得到,所述Ksx为使用所述第二预设算法对所述Rand-M和所述终端与所述服务器的共享密钥Kpsa-xi进行运算生成的,所述Kpsa-xi和所述第一预设算法和所述第二预设算法由所述终端与所述服务器之间预先配置,所述Rand-M由所述网关生成并发送给所述终端;
所述处理器,还执行如下步骤:
使用存储的所述Ksm对所述Rand-M-Encry解密得到第二随机因子Rand-M’;使用所述第二预设算法对所述Rand-M’和所述Kpsa-xi进行运算生成第三密钥K’sx;利用所述K’sx对所述Data-Encry解密得到第二数据Data’;将所述K’sx和所述Data’根据所述第一预设算法运算得到第二数据摘要Data-Hash’;若所述Data-Hash’与所述Data-Hash相同,则确定所述终端认证通过。
20.一种网关,其特征在于,包括:
收发器,处理器,总线;
所述收发器与所述处理器通过所述总线相连;
所述处理器,执行如下步骤:
获取与服务器共享的第一密钥Ksm;生成第一随机因子Rand-M;利用所述Ksm对所述Rand-M进行加密生成加密后的第一随机因子Rand-M-Encry;
所述收发器,执行如下步骤:
在所述网关与终端完成双向认证后,将所述Rand-M-Encry和所述Rand-M发送给终端,以使得所述终端根据所述Rand-M生成第二密钥Ksx。
21.一种终端,其特征在于,包括:
收发器,处理器,总线;
所述收发器与所述处理器通过所述总线相连;
所述收发器,执行如下步骤:
在与网关完成双向认证后,接收网关发送的加密后的随机数Rand-M-Encry和随机数Rand-M,所述Rand-M-Encry由所述网关利用第一共享密钥Ksm对所述Rand-M加密生成,所述Rand-M为所述网关生成;
所述处理器,执行如下步骤:
将所述Rand-M和所述终端与服务器的共享密钥Kpsa-xi根据第二预设算法生成Ksx,所述Kpsa-xi和所述第二预设算法由所述终端与服务器之间预先配置;利用所述Ksx对Data加密得到Data-Encry,将所述Ksx和Data根据第一预设算法运算得到Data-Hash,所述第一预设算法由所述终端与所述服务器之间预先配置;
所述收发器,执行如下步骤:
将所述Rand-M-Encry,所述Data-Encry和所述Data-Hash发送给所述服务器,以使得所述服务器根据所述Rand-M-Encry,所述Data-Encry和所述Data-Hash完成认证。
CN201610635676.7A 2016-08-04 2016-08-04 一种认证方法,服务器,终端以及网关 Active CN107689864B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201610635676.7A CN107689864B (zh) 2016-08-04 2016-08-04 一种认证方法,服务器,终端以及网关
EP17836231.5A EP3481001B1 (en) 2016-08-04 2017-06-26 Authentication method, server, terminal, and gateway
PCT/CN2017/090073 WO2018024048A1 (zh) 2016-08-04 2017-06-26 一种认证方法,服务器,终端以及网关
US16/256,129 US11108548B2 (en) 2016-08-04 2019-01-24 Authentication method, server, terminal, and gateway

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610635676.7A CN107689864B (zh) 2016-08-04 2016-08-04 一种认证方法,服务器,终端以及网关

Publications (2)

Publication Number Publication Date
CN107689864A true CN107689864A (zh) 2018-02-13
CN107689864B CN107689864B (zh) 2020-02-14

Family

ID=61073254

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610635676.7A Active CN107689864B (zh) 2016-08-04 2016-08-04 一种认证方法,服务器,终端以及网关

Country Status (4)

Country Link
US (1) US11108548B2 (zh)
EP (1) EP3481001B1 (zh)
CN (1) CN107689864B (zh)
WO (1) WO2018024048A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110324820A (zh) * 2019-07-03 2019-10-11 易联众智能(厦门)科技有限公司 一种物联网安全鉴权方法、***及可读介质

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10929570B2 (en) * 2019-05-17 2021-02-23 Advanced New Technologies Co., Ltd. Method, apparatus, and electronic device for blockchain-based infringement evidence storage
CN112351000B (zh) * 2020-10-16 2024-02-09 深圳Tcl新技术有限公司 双向身份验证方法、***、设备及存储介质
CN114531225A (zh) * 2020-11-02 2022-05-24 深圳Tcl新技术有限公司 端到端通信加密方法、装置、存储介质及终端设备
CN112437086B (zh) * 2020-11-23 2022-07-29 中国联合网络通信集团有限公司 一种获取监控资料的方法、装置及***
CN114205292A (zh) * 2021-12-10 2022-03-18 百度在线网络技术(北京)有限公司 路由器拨号配置方法、装置、路由器、管理端和存储介质
CN114584291B (zh) * 2022-02-18 2023-12-29 杭州代码狗科技有限公司 基于hmac算法的密钥保护方法、装置、设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006095076A1 (fr) * 2005-03-11 2006-09-14 France Telecom Procede d'etablissement d'un lien de communication securise
CN101242323A (zh) * 2007-02-06 2008-08-13 华为技术有限公司 设备间管道的建立方法和家庭网络***
CN102264068A (zh) * 2010-05-28 2011-11-30 ***通信集团公司 共享密钥协商方法与***、网络平台及终端
CN105376737A (zh) * 2014-08-12 2016-03-02 沃达方Ip许可有限公司 机器到机器的蜂窝通信安全性

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4648148B2 (ja) * 2005-09-30 2011-03-09 富士通株式会社 接続支援装置
US8144875B2 (en) * 2006-09-06 2012-03-27 Paul McGough Method and system for establishing real-time authenticated and secured communications channels in a public network
CN102142961B (zh) * 2010-06-30 2014-10-08 华为技术有限公司 一种网关、节点和服务器进行鉴权的方法、装置及***
KR101683251B1 (ko) * 2014-03-27 2016-12-06 한국전자통신연구원 센서 네트워크에서 센서 노드 설정 방법, 보안 설정 방법 및 이를 포함하는 센서 네트워크 시스템

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006095076A1 (fr) * 2005-03-11 2006-09-14 France Telecom Procede d'etablissement d'un lien de communication securise
CN101242323A (zh) * 2007-02-06 2008-08-13 华为技术有限公司 设备间管道的建立方法和家庭网络***
CN102264068A (zh) * 2010-05-28 2011-11-30 ***通信集团公司 共享密钥协商方法与***、网络平台及终端
CN105376737A (zh) * 2014-08-12 2016-03-02 沃达方Ip许可有限公司 机器到机器的蜂窝通信安全性

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110324820A (zh) * 2019-07-03 2019-10-11 易联众智能(厦门)科技有限公司 一种物联网安全鉴权方法、***及可读介质

Also Published As

Publication number Publication date
EP3481001A4 (en) 2019-07-31
US11108548B2 (en) 2021-08-31
EP3481001B1 (en) 2020-09-02
CN107689864B (zh) 2020-02-14
US20190173670A1 (en) 2019-06-06
EP3481001A1 (en) 2019-05-08
WO2018024048A1 (zh) 2018-02-08

Similar Documents

Publication Publication Date Title
CN107689864A (zh) 一种认证方法,服务器,终端以及网关
CN101641976B (zh) 认证方法
CN102196425B (zh) 基于量子密钥分配网络的移动加密***及其通信方法
CN111465008B (zh) 在无线通信中执行加密和认证时的初始化向量生成
CN101401465B (zh) 用于在移动网络中进行递归认证的方法和***
WO2019153994A1 (zh) 安全协商方法及装置
CN102036230B (zh) 本地路由业务的实现方法、基站及***
CN102812662A (zh) 用于管理员驱动的简表更新的方法和设备
CN103765981A (zh) 安全对等网络设置
CN107454590A (zh) 一种数据加密方法、解密方法及无线路由器
CN106576043A (zh) 病毒式可分配可信消息传送
CN108141744A (zh) 多个电子订户身份模块(eSIM)实例的实例化
CN107181770A (zh) 数据同步方法及***
CN101287277A (zh) 一种为无线个域网中的用户终端提供业务的方法及***
CN110999253B (zh) 网状设备及其方法、计算机可读介质以及电子装置
CN106357679A (zh) 密码认证的方法、***及客户端、服务器和智能设备
US20220329582A1 (en) Communication method and related product
US20060072761A1 (en) Access point that wirelessly provides an encryption key to an authenticated wireless station
CN111327591A (zh) 基于区块链的数据传输方法、***及存储介质
CN103905389B (zh) 基于中继设备的安全关联、数据传输方法及装置、***
CN115119200B (zh) 一种用于5g通信环境的信息传递方法
CN106778227A (zh) 应用程序处理方法、应用程序启动方法及装置
Naraei et al. Optimizing IEEE 802.11 i resource and security essentials: for mobile and stationary devices
CN106792687A (zh) 移动终端wifi网络的连接方法及***
CN114257424A (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
TR01 Transfer of patent right

Effective date of registration: 20220211

Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province

Patentee after: Huawei Cloud Computing Technologies Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.

TR01 Transfer of patent right