CN108847938A - 一种连接建立方法及装置 - Google Patents

一种连接建立方法及装置 Download PDF

Info

Publication number
CN108847938A
CN108847938A CN201811148085.2A CN201811148085A CN108847938A CN 108847938 A CN108847938 A CN 108847938A CN 201811148085 A CN201811148085 A CN 201811148085A CN 108847938 A CN108847938 A CN 108847938A
Authority
CN
China
Prior art keywords
terminal
server
random string
cryptographic hash
public key
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
CN201811148085.2A
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.)
Zhengzhou Yunhai Information Technology Co Ltd
Original Assignee
Zhengzhou Yunhai Information Technology 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 Zhengzhou Yunhai Information Technology Co Ltd filed Critical Zhengzhou Yunhai Information Technology Co Ltd
Priority to CN201811148085.2A priority Critical patent/CN108847938A/zh
Publication of CN108847938A publication Critical patent/CN108847938A/zh
Pending legal-status Critical Current

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
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • 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/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

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)
  • Computer And Data Communications (AREA)

Abstract

本发明实施例公开了一种连接建立方法及装置,包括:服务器接收终端发送的携带有终端标识的连接建立请求;根据与终端标识对应的公钥加密预先生成的随机字符串并将加密后的随机字符串发送给终端;接收终端发送的第一哈希值;其中,第一哈希值为终端根据预设哈希函数对会话序列号和随机字符串进行哈希运算获得的;根据预设哈希函数对会话序列号和随机字符串进行哈希预算,得到第二哈希值;当第一哈希值和第二哈希值相同时,与终端建立连接。从本发明实施例提供的技术方案可见,由于服务器和终端实现了互相认证,从而避免了攻击者伪造终端身份与服务器建立连接,保证了网络安全。

Description

一种连接建立方法及装置
技术领域
本发明实施例涉及互联网技术领域,尤其涉及一种连接建立方法及装置。
背景技术
服务器与终端进行通信前需要接收终端的连接建立请求,然后对发起连接建立请求的终端进行身份验证,当身份验证通过后与终端建立连接。
相关技术中,终端根据服务器的公钥对预先在自身中写入的服务器的用户名和密码进行加密得到加密信息,然后将加密信息发送至服务器,服务器根据私钥对加密信息进行解密得到用户名和密码,进而与自身存储的用户名和密码比较,如果相同则确定终端通过验证,从而与终端建立连接。
然而,由于这种方法是基于服务器的用户名和密码进行终端身份验证的,一旦服务器的用户名和密码泄露被攻击者获得,攻击者会伪造终端身份向服务器发起连接建立请求,而又由于攻击者拥有服务器的用户名和密码,因此必定会通过服务器的身份验证,成功与服务器建立连接,从而造成网络安全方面的隐患。
发明内容
为了解决上述技术问题,本发明实施例提供一种连接建立方法及装置,能够避免攻击者伪造终端身份与服务器建立连接,保证网络安全。
为了达到本发明实施例目的,本发明实施例提供了一种连接建立方法,包括:
服务器接收终端发送的携带有所述终端标识的连接建立请求;
所述服务器根据与所述终端标识对应的公钥加密预先生成的随机字符串,得到加密后的随机字符串;
所述服务器将加密后的随机字符串发送给所述终端;
所述服务器接收所述终端发送的第一哈希值;其中,所述第一哈希值为所述终端根据预设哈希函数对会话序列号和所述随机字符串进行哈希运算获得的;
所述服务器根据所述预设哈希函数对所述会话序列号和所述随机字符串进行哈希预算,得到第二哈希值;
当所述第一哈希值和所述第二哈希值相同时,所述服务器与所述终端建立连接。
所述服务器根据与终端标识对应的公钥加密预先生成的随机字符串,包括:
所述服务器根据预先建立的终端标识与公钥信息的对应关系从存储的公钥集合中获取与获得的终端标识对应的公钥;
所述服务器根据预设算法生成随机字符串;
所述服务器根据获得的公钥对生成的随机字符串进行加密。
所述服务器接收终端发送的携带有终端标识的连接建立请求之前,还包括:
所述服务器接收并存储所述终端发送的公钥。
本发明实施例还提供了一种连接建立方法,其特征在于,包括:
终端向服务器发送携带有所述终端标识的连接建立请求;
所述终端接收所述服务器发送的加密后的随机字符串;其中,所述加密后的随机字符串为所述服务器根据所述终端的公钥加密随机字符串获得的;
所述终端根据私钥解密所述加密后的随机字符串,得到所述随机字符串;
所述终端根据预设哈希函数对会话序列号和获得的随机字符串进行哈希运算,得到第一哈希值;
所述终端将所述第一哈希值发送给所述服务器,以使得所述服务器在验证所述第一哈希值正确后与所述终端建立连接。
所述终端向服务器发送携带有终端标识的连接建立请求之前,还包括:
所述终端向所述服务器发送所述终端的公钥。
所述终端将第一哈希值发送给服务器之后,还包括:
所述终端与所述服务器建立会话通道;
所述终端在建立的会话通道上对所述服务器上的配置信息进行扫描验证。
本发明实施例提供了一种服务器,包括:
第一接收模块,用于接收终端发送的携带有所述终端标识的连接建立请求;
第一处理模块,用于根据与所述终端标识对应的公钥加密预先生成的随机字符串,得到加密后的随机字符串;
第一发送模块,用于将加密后的随机字符串发送给所述终端;
所述第一接收模块,还用于接收所述终端发送的第一哈希值;其中,所述第一哈希值为所述终端根据预设哈希函数对会话序列号和所述随机字符串进行哈希运算获得的;
所述第一处理模块,还用于根据所述预设哈希函数对所述会话序列号和所述随机字符串进行哈希预算,得到第二哈希值;
所述第一处理模块,还用于当所述第一哈希值和所述第二哈希值相同时,与所述终端建立连接。
所述第一处理模块具体用于:
根据预先建立的终端标识与公钥信息的对应关系从存储的公钥集合中获取与获得的终端标识对应的公钥;
根据预设算法生成随机字符串;
根据获得的公钥对生成的随机字符串进行加密,得到加密后的随机字符串。
本发明实施例提供了一种终端,包括:
第二发送模块,用于向服务器发送携带有所述终端标识的连接建立请求;
第二接收模块,用于接收所述服务器发送的加密后的随机字符串;其中,所述加密后的随机字符串为所述服务器根据所述终端的公钥加密随机字符串获得的;
第二处理模块,用于根据私钥解密所述加密后的随机字符串,得到所述随机字符串;
所述第二处理模块,还用于根据预设哈希函数对会话序列号和获得的随机字符串进行哈希运算,得到第一哈希值;
所述第二发送模块,还用于将所述第一哈希值发送给所述服务器,以使得所述服务器在验证所述第一哈希值正确后与所述终端建立连接。
所述第二处理模块,还用于与所述服务器建立会话通道;
所述第二处理模块,还用于在建立的会话通道上对所述服务器上的配置信息进行扫描验证。
与现有技术相比,本发明实施例至少包括:服务器接收终端发送的携带有终端标识的连接建立请求;根据与终端标识对应的公钥加密预先生成的随机字符串,得到加密后的随机字符串;将加密后的随机字符串发送给终端;服务器接收终端发送的第一哈希值;其中,第一哈希值为终端根据预设哈希函数对会话序列号和随机字符串进行哈希运算获得的;根据预设哈希函数对会话序列号和随机字符串进行哈希预算,得到第二哈希值;当第一哈希值和第二哈希值相同时,与终端建立连接。从本发明实施例提供的技术方案可见,由于服务器基于随机字符串对终端进行了身份验证,终端基于会话序列号和随机字符串对服务器进行了身份验证,因此服务器和终端实现了互相认证,从而避免了攻击者伪造终端身份与服务器建立连接,保证了网络安全。
本发明实施例的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明实施例而了解。本发明实施例的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明实施例技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明实施例的技术方案,并不构成对本发明实施例技术方案的限制。
图1为本发明实施例提供的一种连接建立方法的流程示意图;
图2为本发明实施例提供的另一种连接建立方法的流程示意图;
图3为本发明实施例提供的终端/服务器结构示意图;
图4为本发明实施例提供的又一种连接建立方法的流程示意图;
图5为本发明实施例提供的一种服务器的结构示意图;
图6为本发明实施例提供的一种终端的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明实施例的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
本发明实施例提供一种连接建立方法,如图1所示,该方法包括:
步骤101、服务器接收终端发送的携带有终端标识的连接建立请求。
具体的,终端标识用于唯一标识终端的身份,终端标识可以是终端的身份识别号(IDentification,ID)。
步骤102、服务器根据与终端标识对应的公钥加密预先生成的随机字符串,得到加密后的随机字符串。
步骤103、服务器将加密后的随机字符串发送给终端。
步骤104、服务器接收终端发送的第一哈希值。
其中,第一哈希值为终端根据预设哈希函数对会话序列号和随机字符串进行哈希运算获得的。
步骤105、服务器根据预设哈希函数对会话序列号和随机字符串进行哈希预算,得到第二哈希值。
具体的,会话序列号是服务器通过应用程序编程接口(Application ProgrammingInterface,API)从底层获得的。预设哈希函数可以是第五版消息摘要算法(Message-Digest Algorithm 5th,MD5)。
步骤106、当第一哈希值和第二哈希值相同时,服务器与终端建立连接。
本发明实施例所提供的连接建立方法,服务器接收终端发送的携带有终端标识的连接建立请求;根据与终端标识对应的公钥加密预先生成的随机字符串,得到加密后的随机字符串;将加密后的随机字符串发送给终端;服务器接收终端发送的第一哈希值;其中,第一哈希值为终端根据预设哈希函数对会话序列号和随机字符串进行哈希运算获得的;根据预设哈希函数对会话序列号和随机字符串进行哈希预算,得到第二哈希值;当第一哈希值和第二哈希值相同时,与终端建立连接。从本发明实施例提供的技术方案可见,由于服务器基于随机字符串对终端进行了身份验证,终端基于会话序列号和随机字符串对服务器进行了身份验证,因此服务器和终端实现了互相认证,从而避免了攻击者伪造终端身份与服务器建立连接,保证了网络安全。
可选地,服务器根据与终端标识对应的公钥加密预先生成的随机字符串,包括:
步骤102a、服务器根据预先建立的终端标识与公钥信息的对应关系从存储的公钥集合中获取与获得的终端标识对应的公钥。
步骤102b、服务器根据预设算法生成随机字符串。
步骤102c、服务器根据获得的公钥对生成的随机字符串进行加密。
可选地,服务器接收终端发送的携带有终端标识的连接建立请求之前,还包括:
步骤107、服务器接收并存储终端发送的公钥。
本发明实施例还提供一种连接建立方法,如图2所示,该方法包括:
步骤201、终端向服务器发送携带有终端标识的连接建立请求。
步骤202、终端接收服务器发送的加密后的随机字符串。
其中,加密后的随机字符串为服务器根据终端的公钥加密随机字符串获得的。
步骤203、终端根据私钥解密加密后的随机字符串,得到随机字符串。
步骤204、终端根据预设哈希函数对会话序列号和获得的随机字符串进行哈希运算,得到第一哈希值。
步骤205、终端将第一哈希值发送给服务器,以使得服务器在验证第一哈希值正确后与终端建立连接。
本发明实施例所提供的连接建立方法,终端向服务器发送携带有终端标识的连接建立请求;接收服务器发送的加密后的随机字符串;其中,加密后的随机字符串为服务器根据终端的公钥加密随机字符串获得的;根据私钥解密加密后的随机字符串,得到随机字符串;根据预设哈希函数对会话序列号和获得的随机字符串进行哈希运算,得到第一哈希值;将第一哈希值发送给服务器,以使得服务器在验证第一哈希值正确后与终端建立连接。从本发明实施例提供的技术方案可见,由于服务器基于随机字符串对终端进行了身份验证,终端基于会话序列号和随机字符串对服务器进行了身份验证,因此服务器和终端实现了互相认证,从而避免了攻击者伪造终端身份与服务器建立连接,保证了网络安全。
可选地,终端向服务器发送携带有终端标识的连接建立请求之前,还包括:
步骤206、终端向服务器发送终端的公钥。
可选地,终端将第一哈希值发送给服务器之后,还包括:
步骤207、终端与服务器建立会话通道。
步骤208、终端在建立的会话通道上对服务器上的配置信息进行扫描验证。
具体的,本发明实施例涉及的服务器可以是Linux和Unix服务器领域中的安全外壳(Secure SHell,SSH)协议的免费开源实现(OpenSSH)服务器。SSH协议是一种在不安全的网络环境中,通过加密和认证机制,实现安全的远程访问以及文件传输等业务的网络安全协议。OpenSSH是使用SSH透过计算机网络加密通信的实现,是一款基于SSH完全开源的远程控制、文件传输工具集。传统的工具例如远程终端协议(Telnet协议)、实时传送协议(Real-time Transport Protocol,RCP)实现上述功能是不安全的,OpenSSH提供一个服务器守护进程以及终端工具来实现安全的、加密的远程控制以及文件传输操作,因此完全的代替了传统工具。OpenSSH服务器程序,是一个典型的独立守护进程(standalone daemon),运行在大多数的Linux和Unix服务器之上,持续的侦听各种终端的连接请求,使得终端可以通过SSH协议远程安全的登陆到服务器。OpenSSH可使用多种认证方式,包括密码、公钥以及管理工具Kerberostickets等。通过配置/etc/ssh/sshd_config可以改变OpenSSH server的默认行为,绝大部分OpenSSH server的默认配置是安全相关的并且已经提供了较好的安全设置,因此手动更改配置可能会出现一些安全风险。在实际的服务器应用中,除了要保持OpenSSH保持最新版本、即时打入安全补丁,同时因具体的环境差异,可能需要对/etc/ssh/sshd_config文件进行定制化。当维护服务器集群时,不同服务器的OpenSSH server可能存在不同的配置,但因为各种原因,各服务器或多或少的会有一些配置错误或遗漏导致出现安全漏洞,此时就需要一个OpenSSH策略批量检查以及配置工具。
具体的,步骤207、208所提供的方案对于常见的Linux和Unix服务器上的OpenSSH都有较好的适用性,如图3所示,标准的SSH协议框架采用终端/服务器架构,包括:传输层、认证层和连接层。其中,传输层协议主要用来在终端和服务器之间建立一条安全的加密通道,为用户认证、数据交互等对数据传输安全性要求较高的阶段提供足够的机密性保护。传输层协议通常运行在输控制协议/因特网协议(Transmission Control Protocol/Internet Protocol,TCP/IP)连接之上(服务器使用的知名端口号为22),也可以运行在其他任何可以信赖的数据连接之上。认证层协议运行在传输层协议之上,完成服务器对登录用户的认证。连接层协议负责在加密通道上划分出若干逻辑通道,以运行不同的应用。它运行在认证层协议之上,提供交互会话、远程命令执行等服务。SSH协议解决了Telnet协议明文传输的缺陷,在通信双方之间建立加密通道,保证传输的数据不被窃听;使用密钥交换算法保证密钥本身的安全。所谓加密通道,是指发送方在发送数据前,使用加密密钥对数据进行加密,然后将数据发送给对方;接收方接收到数据后,利用解密密钥从密文中获取明文。由于非对称密钥算法比较耗时,一般多用于数字签名以及身份认证。SSH加密通道上的数据加解密使用对称密钥算法,目前主要支持的算法有数据加密标准(Data EncryptionStandard,DES)、3DES、高级加密标准(Advanced Encryption Standard,AES)等。
本发明实施例还提供一种连接建立方法,如图4所示,该方法包括:
步骤301、终端生成公私钥对。
步骤302、终端将公钥发送给服务器。
需要说明的是,服务器将公钥保存在名称为authorized_keys的文件夹中。
还需要说明的是,步骤301和步骤302属于准备阶段。
步骤303、终端将登陆请求发送给服务器。
需要说明的是,登陆请求中包含终端标识。
步骤304、服务器获取终端公钥。
需要说明的是,服务器在authorized_keys文件中根据终端标识信息匹配到终端的公钥pubKey。
步骤305、服务器使用公钥加密随机字符串,得到加密信息。
步骤306、服务器将加密信息发送给终端。
步骤307、终端用自己的私钥解密,得到随机字符串,并根据预设哈希函数对会话序列号和随机字符串进行哈希运算获得第一哈希值。
步骤308、终端将第一哈希值发送给服务器。
步骤309、服务器根据预设哈希函数对会话序列号和随机字符串进行哈希运算获得第二哈希值,并且比对第一哈希值和第二哈希值。
步骤310、如果第一哈希值和第二哈希值相同,确定终端成功登陆服务器,即终端与服务器建立连接。
需要说明的是,步骤303~310属于登录验证过程。
成功完成认证之后,终端向服务器发起服务请求,请求服务器提供某种应用。
服务请求的过程为:
步骤1、终端发送SSH_MSG_CHANNEL_OPEN消息,请求与服务器建立会话通道,即session。其中,消息中携带有终端所请求的通道类型。
步骤2、服务器收到SSH_MSG_CHANNEL_OPEN消息后,如果支持该通道类型,则回复SSH_MSG_CHANNEL_OPEN_CONFIRMATION消息,从而建立会话通道。
步骤3、会话通道建立之后,终端就可以在通道上进行验证扫描服务器的配置信息。
本发明实施例还提供一种服务器,如图5所示,该服务器4包括:
第一接收模块41,用于接收终端发送的携带有终端标识的连接建立请求。
第一处理模块42,用于根据与终端标识对应的公钥加密预先生成的随机字符串,得到加密后的随机字符串。
第一发送模块43,用于将加密后的随机字符串发送给终端。
第一接收模块41,还用于接收终端发送的第一哈希值;其中,第一哈希值为终端根据预设哈希函数对会话序列号和随机字符串进行哈希运算获得的。
第一处理模块42,还用于根据预设哈希函数对会话序列号和随机字符串进行哈希预算,得到第二哈希值。
第一处理模块42,还用于当第一哈希值和第二哈希值相同时,与终端建立连接。
可选地,第一处理模块42具体用于:
根据预先建立的终端标识与公钥信息的对应关系从存储的公钥集合中获取与获得的终端标识对应的公钥。
根据预设算法生成随机字符串。
根据获得的公钥对生成的随机字符串进行加密。
可选地,第一接收模块41,还用于接收并存储终端发送的公钥。
本发明实施例所提供的服务器,接收终端发送的携带有终端标识的连接建立请求;根据与终端标识对应的公钥加密预先生成的随机字符串,得到加密后的随机字符串;将加密后的随机字符串发送给终端;服务器接收终端发送的第一哈希值;其中,第一哈希值为终端根据预设哈希函数对会话序列号和随机字符串进行哈希运算获得的;根据预设哈希函数对会话序列号和随机字符串进行哈希预算,得到第二哈希值;当第一哈希值和第二哈希值相同时,与终端建立连接。从本发明实施例提供的技术方案可见,由于服务器基于随机字符串对终端进行了身份验证,终端基于会话序列号和随机字符串对服务器进行了身份验证,因此服务器和终端实现了互相认证,从而避免了攻击者伪造终端身份与服务器建立连接,保证了网络安全。
在实际应用中,第一接收模块41、第一处理模块42和第一发送模块43均可由位于服务器中的中央处理器(Central Processing Unit,CPU)、微处理器(Micro ProcessorUnit,MPU)、数字信号处理器(Digital Signal Processor,DSP)或现场可编程门阵列(Field Programmable Gate Array,FPGA)等实现。
本发明实施例还提供一种终端,如图6所示,该终端5包括:
第二发送模块51,用于向服务器发送携带有终端标识的连接建立请求。
第二接收模块52,用于接收服务器发送的加密后的随机字符串;其中,加密后的随机字符串为服务器根据终端的公钥加密随机字符串获得的。
第二处理模块53,用于根据私钥解密加密后的随机字符串,得到随机字符串。
第二处理模块53,还用于根据预设哈希函数对会话序列号和获得的随机字符串进行哈希运算,得到第一哈希值。
第二发送模块51,还用于将第一哈希值发送给服务器,以使得服务器在验证第一哈希值正确后与终端建立连接。
可选地,第二发送模块51,还用于向服务器发送终端的公钥。
可选地,第二处理模块53还用于:
与服务器建立会话通道。
在建立的会话通道上对服务器上的配置信息进行扫描验证。
本发明实施例所提供的终端,向服务器发送携带有终端标识的连接建立请求;接收服务器发送的加密后的随机字符串;其中,加密后的随机字符串为服务器根据终端的公钥加密随机字符串获得的;根据私钥解密加密后的随机字符串,得到随机字符串;根据预设哈希函数对会话序列号和获得的随机字符串进行哈希运算,得到第一哈希值;将第一哈希值发送给服务器,以使得服务器在验证第一哈希值正确后与终端建立连接。从本发明实施例提供的技术方案可见,由于服务器基于随机字符串对终端进行了身份验证,终端基于会话序列号和随机字符串对服务器进行了身份验证,因此服务器和终端实现了互相认证,从而避免了攻击者伪造终端身份与服务器建立连接,保证了网络安全。
在实际应用中,第一接收模块51、第一处理模块52和第一发送模块53均可由位于终端中的CPU、MPU、DSP或FPGA等实现。
本发明实施例还提供一种连接建立装置,包括第一存储器和第一处理器,其中,第一存储器中存储有以下可被第一处理器执行的指令:
接收终端发送的携带有终端标识的连接建立请求。
根据与终端标识对应的公钥加密预先生成的随机字符串,得到加密后的随机字符串。
将加密后的随机字符串发送给终端。
接收终端发送的第一哈希值。其中,第一哈希值为终端根据预设哈希函数对会话序列号和随机字符串进行哈希运算获得的。
根据预设哈希函数对会话序列号和随机字符串进行哈希预算,得到第二哈希值。
当第一哈希值和第二哈希值相同时,与终端建立连接。
可选地,第一存储器中具体存储有以下可被第一处理器执行的指令:
根据预先建立的终端标识与公钥信息的对应关系从存储的公钥集合中获取与获得的终端标识对应的公钥。
根据预设算法生成随机字符串。
根据获得的公钥对生成的随机字符串进行加密。
可选地,第一存储器中还存储有以下可被第一处理器执行的指令:
接收并存储终端发送的公钥。
本发明实施例还提供一种连接建立装置,包括第二存储器和第二处理器,其中,第二存储器中存储有以下可被第二处理器执行的指令:
向服务器发送携带有终端标识的连接建立请求。
接收服务器发送的加密后的随机字符串。其中,加密后的随机字符串为服务器根据终端的公钥加密随机字符串获得的。
根据私钥解密加密后的随机字符串,得到随机字符串。
根据预设哈希函数对会话序列号和获得的随机字符串进行哈希运算,得到第一哈希值。
将第一哈希值发送给服务器,以使得服务器在验证第一哈希值正确后与终端建立连接。
可选地,第二存储器中还存储有以下可被第二处理器执行的指令:
向服务器发送终端的公钥。
可选地,第二存储器中还存储有以下可被第二处理器执行的指令:
与服务器建立会话通道。
在建立的会话通道上对服务器上的配置信息进行扫描验证。
本发明实施例还提供一种计算机可读存储介质,存储介质上存储有计算机可执行指令,计算机可执行指令用于执行以下步骤:
接收终端发送的携带有终端标识的连接建立请求。
根据与终端标识对应的公钥加密预先生成的随机字符串,得到加密后的随机字符串。
将加密后的随机字符串发送给终端。
接收终端发送的第一哈希值。其中,第一哈希值为终端根据预设哈希函数对会话序列号和随机字符串进行哈希运算获得的。
根据预设哈希函数对会话序列号和随机字符串进行哈希预算,得到第二哈希值。
当第一哈希值和第二哈希值相同时,与终端建立连接。
可选地,计算机可执行指令具体用于执行以下步骤:
根据预先建立的终端标识与公钥信息的对应关系从存储的公钥集合中获取与获得的终端标识对应的公钥。
根据预设算法生成随机字符串。
根据获得的公钥对生成的随机字符串进行加密。
可选地,计算机可执行指令还用于执行以下步骤:
接收并存储终端发送的公钥。
本发明实施例还提供一种计算机可读存储介质,存储介质上存储有计算机可执行指令,计算机可执行指令用于执行以下步骤:
向服务器发送携带有终端标识的连接建立请求。
接收服务器发送的加密后的随机字符串。其中,加密后的随机字符串为服务器根据终端的公钥加密随机字符串获得的。
根据私钥解密加密后的随机字符串,得到随机字符串。
根据预设哈希函数对会话序列号和获得的随机字符串进行哈希运算,得到第一哈希值。
将第一哈希值发送给服务器,以使得服务器在验证第一哈希值正确后与终端建立连接。
可选地,计算机可执行指令还用于执行以下步骤:
向服务器发送终端的公钥。
可选地,计算机可执行指令还用于执行以下步骤:
与服务器建立会话通道。
在建立的会话通道上对服务器上的配置信息进行扫描验证。
虽然本发明实施例所揭露的实施方式如上,但所述的内容仅为便于理解本发明实施例而采用的实施方式,并非用以限定本发明实施例。任何本发明实施例所属领域内的技术人员,在不脱离本发明实施例所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明实施例的专利保护范围,仍须以所附的权利要求书所界定的范围为准。

Claims (10)

1.一种连接建立方法,其特征在于,包括:
服务器接收终端发送的携带有所述终端标识的连接建立请求;
所述服务器根据与所述终端标识对应的公钥加密预先生成的随机字符串,得到加密后的随机字符串;
所述服务器将加密后的随机字符串发送给所述终端;
所述服务器接收所述终端发送的第一哈希值;其中,所述第一哈希值为所述终端根据预设哈希函数对会话序列号和所述随机字符串进行哈希运算获得的;
所述服务器根据所述预设哈希函数对所述会话序列号和所述随机字符串进行哈希预算,得到第二哈希值;
当所述第一哈希值和所述第二哈希值相同时,所述服务器与所述终端建立连接。
2.根据权利要求1所述的连接建立方法,其特征在于,所述服务器根据与终端标识对应的公钥加密预先生成的随机字符串,包括:
所述服务器根据预先建立的终端标识与公钥信息的对应关系从存储的公钥集合中获取与获得的终端标识对应的公钥;
所述服务器根据预设算法生成随机字符串;
所述服务器根据获得的公钥对生成的随机字符串进行加密。
3.根据权利要求1所述的连接建立方法,其特征在于,所述服务器接收终端发送的携带有终端标识的连接建立请求之前,还包括:
所述服务器接收并存储所述终端发送的公钥。
4.一种连接建立方法,其特征在于,包括:
终端向服务器发送携带有所述终端标识的连接建立请求;
所述终端接收所述服务器发送的加密后的随机字符串;其中,所述加密后的随机字符串为所述服务器根据所述终端的公钥加密随机字符串获得的;
所述终端根据私钥解密所述加密后的随机字符串,得到所述随机字符串;
所述终端根据预设哈希函数对会话序列号和获得的随机字符串进行哈希运算,得到第一哈希值;
所述终端将所述第一哈希值发送给所述服务器,以使得所述服务器在验证所述第一哈希值正确后与所述终端建立连接。
5.根据权利要求4所述的连接建立方法,其特征在于,所述终端向服务器发送携带有终端标识的连接建立请求之前,还包括:
所述终端向所述服务器发送所述终端的公钥。
6.根据权利要求4所述的连接建立方法,其特征在于,所述终端将第一哈希值发送给服务器之后,还包括:
所述终端与所述服务器建立会话通道;
所述终端在建立的会话通道上对所述服务器上的配置信息进行扫描验证。
7.一种服务器,其特征在于,包括:
第一接收模块,用于接收终端发送的携带有所述终端标识的连接建立请求;
第一处理模块,用于根据与所述终端标识对应的公钥加密预先生成的随机字符串,得到加密后的随机字符串;
第一发送模块,用于将加密后的随机字符串发送给所述终端;
所述第一接收模块,还用于接收所述终端发送的第一哈希值;其中,所述第一哈希值为所述终端根据预设哈希函数对会话序列号和所述随机字符串进行哈希运算获得的;
所述第一处理模块,还用于根据所述预设哈希函数对所述会话序列号和所述随机字符串进行哈希预算,得到第二哈希值;
所述第一处理模块,还用于当所述第一哈希值和所述第二哈希值相同时,与所述终端建立连接。
8.根据权利要求7所述的服务器,其特征在于,所述第一处理模块具体用于:
根据预先建立的终端标识与公钥信息的对应关系从存储的公钥集合中获取与获得的终端标识对应的公钥;
根据预设算法生成随机字符串;
根据获得的公钥对生成的随机字符串进行加密,得到加密后的随机字符串。
9.一种终端,其特征在于,包括:
第二发送模块,用于向服务器发送携带有所述终端标识的连接建立请求;
第二接收模块,用于接收所述服务器发送的加密后的随机字符串;其中,所述加密后的随机字符串为所述服务器根据所述终端的公钥加密随机字符串获得的;
第二处理模块,用于根据私钥解密所述加密后的随机字符串,得到所述随机字符串;
所述第二处理模块,还用于根据预设哈希函数对会话序列号和获得的随机字符串进行哈希运算,得到第一哈希值;
所述第二发送模块,还用于将所述第一哈希值发送给所述服务器,以使得所述服务器在验证所述第一哈希值正确后与所述终端建立连接。
10.根据权利要求9所述的终端,其特征在于,所述第二处理模块还用于:
与所述服务器建立会话通道;
在建立的会话通道上对所述服务器上的配置信息进行扫描验证。
CN201811148085.2A 2018-09-29 2018-09-29 一种连接建立方法及装置 Pending CN108847938A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811148085.2A CN108847938A (zh) 2018-09-29 2018-09-29 一种连接建立方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811148085.2A CN108847938A (zh) 2018-09-29 2018-09-29 一种连接建立方法及装置

Publications (1)

Publication Number Publication Date
CN108847938A true CN108847938A (zh) 2018-11-20

Family

ID=64188000

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811148085.2A Pending CN108847938A (zh) 2018-09-29 2018-09-29 一种连接建立方法及装置

Country Status (1)

Country Link
CN (1) CN108847938A (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109739892A (zh) * 2018-12-27 2019-05-10 王梅 对互联网内的数据获取请求进行分级扩展的方法及***
CN110691329A (zh) * 2019-11-04 2020-01-14 李炳勇 一种传感器节点监控方法及***
CN111259370A (zh) * 2020-01-13 2020-06-09 苏州浪潮智能科技有限公司 一种fpga程序安全验证方法、***、终端及存储介质
CN112437436A (zh) * 2020-12-07 2021-03-02 中国联合网络通信集团有限公司 一种身份认证方法及装置
CN112507365A (zh) * 2020-12-16 2021-03-16 平安银行股份有限公司 数据匹配方法、终端及存储介质
CN113507483A (zh) * 2021-07-27 2021-10-15 平安国际智慧城市科技股份有限公司 即时通讯方法、装置、服务器及存储介质
CN115001716A (zh) * 2022-08-02 2022-09-02 长沙朗源电子科技有限公司 教育一体机的网络数据处理方法、***和教育一体机
CN115022099A (zh) * 2022-08-09 2022-09-06 北京华云安软件有限公司 基于udp传输协议的身份认证方法和***
US20230063515A1 (en) * 2021-09-01 2023-03-02 Arista Networks, Inc. Bootstrapping and troubleshooting of remote devices
CN117395474A (zh) * 2023-12-12 2024-01-12 法序(厦门)信息科技有限公司 一种本地存储的防篡改的视频取证存证方法、***

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101582906A (zh) * 2009-06-23 2009-11-18 中国人民解放军信息工程大学 密钥协商方法和装置
US20100205443A1 (en) * 2007-10-23 2010-08-12 Sufen Ding Method and structure for self-sealed joint proof-of-knowledge and diffie-hellman key-exchange protocols
US20150188704A1 (en) * 2013-12-27 2015-07-02 Fujitsu Limited Data communication method and data communication apparatus
CN108234409A (zh) * 2016-12-15 2018-06-29 腾讯科技(深圳)有限公司 身份验证方法与装置
CN108599939A (zh) * 2018-04-25 2018-09-28 新华三技术有限公司 一种认证方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100205443A1 (en) * 2007-10-23 2010-08-12 Sufen Ding Method and structure for self-sealed joint proof-of-knowledge and diffie-hellman key-exchange protocols
CN101582906A (zh) * 2009-06-23 2009-11-18 中国人民解放军信息工程大学 密钥协商方法和装置
US20150188704A1 (en) * 2013-12-27 2015-07-02 Fujitsu Limited Data communication method and data communication apparatus
CN108234409A (zh) * 2016-12-15 2018-06-29 腾讯科技(深圳)有限公司 身份验证方法与装置
CN108599939A (zh) * 2018-04-25 2018-09-28 新华三技术有限公司 一种认证方法和装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
***主编: "CPAP验证", 《交换与路由技术 构建园区网络》 *
肖盛文: "SSH协议的工作过程", 《计算机网络基础》 *
黄志平: "漏洞扫描", 《电子商务综合实训》 *

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109739892A (zh) * 2018-12-27 2019-05-10 王梅 对互联网内的数据获取请求进行分级扩展的方法及***
CN110691329A (zh) * 2019-11-04 2020-01-14 李炳勇 一种传感器节点监控方法及***
CN110691329B (zh) * 2019-11-04 2020-12-25 北京网明电子技术有限公司 一种传感器节点监控方法及***
CN111259370A (zh) * 2020-01-13 2020-06-09 苏州浪潮智能科技有限公司 一种fpga程序安全验证方法、***、终端及存储介质
CN112437436B (zh) * 2020-12-07 2023-05-02 中国联合网络通信集团有限公司 一种身份认证方法及装置
CN112437436A (zh) * 2020-12-07 2021-03-02 中国联合网络通信集团有限公司 一种身份认证方法及装置
CN112507365A (zh) * 2020-12-16 2021-03-16 平安银行股份有限公司 数据匹配方法、终端及存储介质
CN112507365B (zh) * 2020-12-16 2023-08-22 平安银行股份有限公司 数据匹配方法、终端及存储介质
CN113507483A (zh) * 2021-07-27 2021-10-15 平安国际智慧城市科技股份有限公司 即时通讯方法、装置、服务器及存储介质
CN113507483B (zh) * 2021-07-27 2023-04-18 平安国际智慧城市科技股份有限公司 即时通讯方法、装置、服务器及存储介质
US20230063515A1 (en) * 2021-09-01 2023-03-02 Arista Networks, Inc. Bootstrapping and troubleshooting of remote devices
CN115001716A (zh) * 2022-08-02 2022-09-02 长沙朗源电子科技有限公司 教育一体机的网络数据处理方法、***和教育一体机
CN115001716B (zh) * 2022-08-02 2022-12-06 长沙朗源电子科技有限公司 教育一体机的网络数据处理方法、***和教育一体机
CN115022099A (zh) * 2022-08-09 2022-09-06 北京华云安软件有限公司 基于udp传输协议的身份认证方法和***
CN117395474A (zh) * 2023-12-12 2024-01-12 法序(厦门)信息科技有限公司 一种本地存储的防篡改的视频取证存证方法、***
CN117395474B (zh) * 2023-12-12 2024-02-27 法序(厦门)信息科技有限公司 一种本地存储的防篡改的视频取证存证方法、***

Similar Documents

Publication Publication Date Title
CN108847938A (zh) 一种连接建立方法及装置
CN109309565B (zh) 一种安全认证的方法及装置
US11336641B2 (en) Security enhanced technique of authentication protocol based on trusted execution environment
US7945779B2 (en) Securing a communications exchange between computers
CN103051628B (zh) 基于服务器获取认证令牌的方法及***
US20090307486A1 (en) System and method for secured network access utilizing a client .net software component
US11544365B2 (en) Authentication system using a visual representation of an authentication challenge
CN101978650B (zh) 安全的网络认证***和方法
WO2018127081A1 (zh) 一种加密密钥获取方法及***
US20060005033A1 (en) System and method for secure communications between at least one user device and a network entity
CN109728909A (zh) 基于USBKey的身份认证方法和***
CN109861813B (zh) 基于非对称密钥池的抗量子计算https通信方法和***
TW201618492A (zh) 在安全系統中終端的改良式安裝
TW201626752A (zh) 產生對稱加密密鑰
CN104486087B (zh) 一种基于远程硬件安全模块的数字签名方法
US9398024B2 (en) System and method for reliably authenticating an appliance
CN113411187B (zh) 身份认证方法和***、存储介质及处理器
WO2015161689A1 (zh) 一种基于协商密钥的数据处理方法
US11888822B1 (en) Secure communications to multiple devices and multiple parties using physical and virtual key storage
US11722466B2 (en) Methods for communicating data utilizing sessionless dynamic encryption
US9672367B2 (en) Method and apparatus for inputting data
TW201626775A (zh) 交互驗證
TW201633206A (zh) 透過驗證符記的改善安全性
CN111130798A (zh) 一种请求鉴权方法及相关设备
KR102591826B1 (ko) Puf를 이용한 인증서 기반 디바이스 인증 장치 및 방법

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20181120

RJ01 Rejection of invention patent application after publication