通信连接方法和装置与流程

文档序号:33625711发布日期:2023-03-28 20:34阅读:25来源:国知局
通信连接方法和装置与流程

1.本技术实施例涉及通信领域。尤其涉及一种通信连接方法和装置。


背景技术:

2.通信设备在现网运行时,通常可以提供远程登录的功能,以便对设备进行管理、运维以及业务发放等工作。远程登录功能通常采用安全外壳(secure shell v2,sshv2)协议承载,sshv2协议支持安全的双向认证机制,服务器可以通过用户名+密码或公钥对客户端进行认证,客户端也可以通过公钥对服务器进行认证。但目前的双向认证方案中公钥的获取流程复杂,需要提前配置,管理成本高。
3.因此,如何便捷有效地实现双向认证,降低成本,建立安全连接,提升通信安全性是亟待解决的问题。


技术实现要素:

4.本技术实施例提供一种通信连接方法和装置,能够提升认证的便捷性,在降低成本的基础上提升通信安全性。
5.第一方面,提供了一种通信连接方法,该方法可以包括:第一设备接收预连接请求消息,该预连接请求消息包括第一标识,该预连接请求消息用于生成连接凭证,该连接凭证包括第一预共享密钥psk;该第一设备根据该第一标识确定第一用户名,该第一用户名是至少一个用户名中的一个;该第一设备根据该第一用户名和第一密码生成该第一psk,该第一密码是至少一个密码中的一个,该至少一个密码与该至少一个用户名一一对应;该第一设备接收连接请求消息,该连接请求消息包括第二标识,该连接请求消息用于建立安全连接,该第二标识用于校验该第一psk;该第一设备校验该第一psk成功时,根据该第一psk建立该安全连接。
6.该方案通过服务端设备与客户端设备自动生成psk,并进行自动双向认证,以建立安全连接。在安全连接建立过程中,无需人工认证,也无需提前配置psk,提高了双向认证的便捷性和准确性,降低了管理成本,有效提升了通信安全性。
7.结合第一方面,在第一方面的某些实现方式中,该第一设备根据该第一随机数和至少一个用户名计算至少一个哈希值,该至少一个哈希值与该至少一个用户名一一对应;该第一设备确定该至少一个哈希值中与该第一哈希值相等的第二哈希值,该第二哈希值对应的用户名为该第一用户名。
8.该方案中服务端设备与客户端设备通过哈希值匹配用户名,无需传输用户名,避免用户名的泄露,进一步提升通信的安全性。
9.结合第一方面,在第一方面的某些实现方式中,该第一设备根据该第一用户名、该第一密码和该第一随机数生成该第一psk。
10.结合第一方面,在第一方面的某些实现方式中,该第一设备生成第二随机数;该第一设备根据该第一用户名、该第一密码、第一随机数和第二随机数生成该第一psk,该第一
设备发送该第二随机数,该第二随机数用于第二设备生成该第一psk。
11.结合第一方面,在第一方面的某些实现方式中,该第一设备生成第三随机数;
12.该第一设备根据该第一用户名、该第一密码和该第三随机数生成第一psk;该第一设备发送该第三随机数,该第三随机数用于第二设备生成该第一psk。
13.结合第一方面,在第一方面的某些实现方式中,该第一设备保存该第一哈希值和该第一psk。
14.该方案中服务端设备与客户端设备自动生成psk,无需人工介入,也无需提前配置,提高了认证的便捷性。另外,保持服务端设备与客户端设备生成psk的参量一致,能够保证生成的psk一致,可以将该psk作为安全连接的认证凭证。
15.结合第一方面,在第一方面的某些实现方式中,该第二标识包括该第一哈希值。
16.结合第一方面,在第一方面的某些实现方式中,该第一设备根据该第一哈希值查找到该第一psk,根据该第一psk建立该安全连接。
17.结合第一方面,在第一方面的某些实现方式中,在该第一设备接收预连接请求消息之前,该第一设备接收协商消息,根据该协商消息确定该安全连接,该安全连接包括基于传输层安全性协议tls的安全连接。
18.第二方面,提供了一种通信连接方法,该方法可以包括:第二设备发送预连接请求消息,该预连接请求消息包括第一标识,该预连接请求消息用于生成连接凭证,该连接凭证包括第一预共享密钥psk,该第一标识用于确定第一用户名,该第一用户名是至少一个用户名中的一个;该第二设备根据该第一用户名和第一密码生成第一psk,该第一密码是至少一个密码中的一个,该至少一个密码与该至少一个用户名一一对应;该第二设备发送连接请求消息,该连接请求消息包括第二标识,该连接请求消息用于建立安全连接,该第二标识用于校验该第一psk;该第一psk校验成功时,该第一设备根据该第一psk建立安全连接。
19.结合第二方面,在第二方面的某些实现方式中,该第一标识包括第一哈希值和第一随机数。
20.结合第二方面,在第二方面的某些实现方式中,该第二设备根据该第一用户名、该第一密码和该第一随机数生成该第一psk。
21.结合第二方面,在第二方面的某些实现方式中,该第二设备接收第二随机数;该第二设备根据该第一用户名、该第一密码、第一随机数和第二随机数生成该第一psk。
22.结合第二方面,在第二方面的某些实现方式中,该第二设备接收第三随机数;该第二设备根据该第一用户名、该第一密码和该第三随机数生成第一psk。
23.结合第二方面,在第二方面的某些实现方式中,该第二标识包括该第一哈希值。
24.结合第二方面,在第二方面的某些实现方式中,在该第二设备发送预连接请求消息之前,该第二设备发送协商消息,该协商消息用于确定该安全连接,该安全连接包括基于传输层安全性协议tls的安全连接。
25.第三方面,提供一种通信装置,该通信装置可以包括处理单元和收发单元,其中,收发单元,用于接收预连接请求消息,该预连接请求消息包括第一标识,该预连接请求消息用于生成连接凭证,该连接凭证包括第一预共享密钥psk,处理单元,用于根据该第一标识确定第一用户名,该第一用户名是至少一个用户名中的一个,该处理单元还用于根据该第一用户名和第一密码生成该第一psk,该第一密码是至少一个密码中的一个,该至少一个密
码与该至少一个用户名一一对应;该收发单元还用于接收连接请求消息,该连接请求消息包括第二标识,该连接请求消息用于建立安全连接,该第二标识用于校验该第一psk;该处理单元还用于校验该第一psk成功时,根据该第一psk建立该安全连接。
26.结合第三方面,在第三方面的某些实现方式中,该第一标识包括第一哈希值和第一随机数,
27.该处理单元用于根据该第一随机数和至少一个用户名计算至少一个哈希值,该至少一个哈希值与该至少一个用户名一一对应,
28.该处理单元还用于确定该至少一个哈希值中与该第一哈希值相等的第二哈希值,该第二哈希值对应的用户名为该第一用户名。
29.结合第三方面,在第三方面的某些实现方式中,该处理单元用于根据该第一用户名、该第一密码和该第一随机数生成该第一psk。
30.结合第三方面,在第三方面的某些实现方式中,该处理单元还用于生成第二随机数,该处理单元还用于根据该第一用户名、该第一密码、第一随机数和第二随机数生成该第一psk,该收发单元用于发送该第二随机数,该第二随机数用于第二设备生成该第一psk。
31.结合第三方面,在第三方面的某些实现方式中,该处理单元还用于生成第三随机数,该处理单元还用于根据该第一用户名、该第一密码和该第三随机数生成第一psk,该收发单元还用于发送该第三随机数,该第三随机数用于第二设备生成该第一psk。
32.结合第三方面,在第三方面的某些实现方式中,该处理单元还用于保存该第一哈希值和该第一psk。
33.结合第三方面,在第三方面的某些实现方式中,该第二标识包括该第一哈希值。
34.结合第三方面,在第三方面的某些实现方式中,该处理单元用于根据该第一哈希值查找到该第一psk,根据该第一psk建立该安全连接。
35.结合第三方面,在第三方面的某些实现方式中,在该收发单元用于接收预连接请求消息之前,该收发单元还用于接收协商消息,该处理单元用于根据该协商消息确定该安全连接,该安全连接包括基于传输层安全性协议tls的安全连接。
36.第四方面,提供一种通信装置,该通信装置可以包括处理单元和收发单元,其中,收发单元,用于发送预连接请求消息,该预连接请求消息包括第一标识,该预连接请求消息用于生成连接凭证,该连接凭证包括第一预共享密钥psk,该第一标识用于确定第一用户名,该第一用户名是至少一个用户名中的一个,处理单元,用于根据该第一用户名和第一密码生成第一psk,该第一密码是至少一个密码中的一个,该至少一个密码与该至少一个用户名一一对应,该收发单元还用于发送连接请求消息,该连接请求消息包括第二标识,该连接请求消息用于建立安全连接,该第二标识用于校验该第一psk,该处理单元还用于在该第一psk校验成功时,根据该第一psk建立该安全连接。
37.结合第四方面,在第四方面的某些实现方式中,该第一标识包括第一哈希值和第一随机数。
38.结合第四方面,在第四方面的某些实现方式中,该处理单元用于根据该第一用户名、该第一密码和该第一随机数生成该第一psk。
39.结合第四方面,在第四方面的某些实现方式中,该收发单元还用于接收第二随机数,该处理单元根据该第一用户名、该第一密码、第一随机数和第二随机数生成该第一psk。
40.结合第四方面,在第四方面的某些实现方式中,该收发单元还用于接收第三随机数,该处理单元用于根据该第一用户名、该第一密码和该第三随机数生成第一psk。
41.结合第四方面,在第四方面的某些实现方式中,该第二标识包括该第一哈希值。
42.结合第四方面,在第四方面的某些实现方式中,在该收发单元用于发送预连接请求消息之前,该收发单元还用于发送协商消息,该协商消息用于确定该安全连接,该安全连接包括基于传输层安全性协议tls的安全连接。
43.应理解,第一方面的解释、补充与有益效果的描述对于第二、三、四方面同样适用,不再赘述。
44.第五方面,提供一种计算机可读介质,该计算机可读介质存储用于通信装置执行的程序代码,该程序代码包括用于执行第一方面或第二方面或,第一方面或第二方面中任一可能的实现方式,或,第一方面或第二方面中所有可能的实现方式的方法中的通信方法的指令。
45.第六方面,提供了一种包含指令的计算机程序产品,其在计算机上运行时,使得计算机执行上述第一方面或第二方面,或,第一方面或第二方面中任一可能的实现方式,或,第一方面或第二方面中所有可能的实现方式的方法。
46.第七方面,提供了一种通信系统,该通信系统包括具有实现上述第一方面或第二方面,或,第一方面或第二方面中任一可能的实现方式,或,第一方面或第二方面中所有可能的实现方式的方法及各种可能设计的功能的装置。
47.第八方面,提供了一种处理器,用于与存储器耦合,用于执行上述第一方面或第二方面,或,第一方面或第二方面中任一可能的实现方式,或,第一方面或第二方面中所有可能的实现方式中的方法。
48.第九方面,提供了一种芯片,芯片包括处理器和通信接口,该通信接口用于与外部器件或内部器件进行通信,该处理器用于实现上述第一方面或第二方面,或,第一方面或第二方面中任一可能的实现方式,或,第一方面或第二方面中所有可能的实现方式中的方法。
49.可选地,该芯片还可以包括存储器,该存储器中存储有指令,处理器用于执行存储器中存储的指令或源于其他的指令。当该指令被执行时,处理器用于实现上述第一方面或第二方面或或其任意可能的实现方式中的方法。
50.可选地,该芯片可以集成在终端上。
附图说明
51.图1是适用于本技术实施例的一种通信系统的示意图。
52.图2是一种建立安全连接的流程示意图。
53.图3是本技术实施例提出的一种通信连接的方法的示意图。
54.图4是本技术实施例提出的一种通信连接的流程示意图。
55.图5是本技术实施例提出的一种通信装置的示意性框图。
56.图6是本技术实施例提出的另一种通信装置的示意性框图。
具体实施方式
57.下面将结合附图,对本技术中的技术方案进行描述。
58.图1是适用于本技术的一种通信系统的示意图。本技术实施例的技术方案可以应用于各种通信系统,例如:全球移动通讯(global system of mobile communication,gsm)系统、码分多址(code division multiple access,cdma)系统、宽带码分多址(wideband code division multiple access,wcdma)系统、通用分组无线业务(general packet radio service,gprs)、长期演进(long term evolution,lte)系统、lte频分双工(frequency division duplex,fdd)系统、lte时分双工(time division duplex,tdd)、通用移动通信系统(universal mobile telecommunication system,umts)、全球互联微波接入(worldwide interoperability for microwave access,wimax)通信系统、第五代(5th generation,5g)系统或新无线(new radio,nr)等。
59.本技术实施例中的客户端设备可以指用户设备、接入终端、用户单元、用户站、移动站、移动台、远方站、远程终端、移动设备、用户终端、终端、无线通信设备、用户代理或用户装置。终端设备还可以是蜂窝电话、无绳电话、会话启动协议(session initiation protocol,sip)电话、无线本地环路(wireless local loop,wll)站、个人数字处理(personal digital assistant,pda)、具有无线通信功能的手持设备、计算设备或连接到无线调制解调器的其它处理设备、车载设备、可穿戴设备,未来5g网络中的终端设备或者未来演进的公用陆地移动通信网络(public land mobile network,plmn)中的终端设备等,本技术实施例对此并不限定。
60.本技术实施例中的服务端设备是用于与客户端设备通信的设备,该服务端设备可以是全球移动通讯(global system of mobile communication,gsm)系统或码分多址(code division multiple access,cdma)中的基站(base transceiver station,bts),也可以是宽带码分多址(wideband code division multiple access,wcdma)系统中的基站(nodeb,nb),还可以是lte系统中的演进型基站(evolutional nodeb,enb或enodeb),还可以是云无线接入网络(cloud radio access network,cran)场景下的无线控制器,或者该网络设备可以为中继站、接入点、车载设备、可穿戴设备以及5g网络中的网络设备或者未来演进的plmn网络中的网络设备等,本技术实施例并不限定。
61.为了便于理解本技术的技术方案,提前对相关概念做一简单解释:
62.1.ssh协议。
63.ssh协议为建立在应用层基础和传输层基础上的安全协议。ssh是较为可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用ssh协议可以有效防止远程管理过程中的信息泄露问题。它主要由以下三部分组成,共同实现ssh的安全保密机制:
64.传输层协议,提供诸如认证、信任和完整性检验等安全措施,此外还可以提供数据压缩功能。通常情况下,这些传输层协议都建立在面向连接的传输控制协议(transmission control protocol,tcp)数据流之上。
65.用户认证层协议,用于实现服务器与客户端用户之间的身份认证,它运行在传输层协议之上。
66.连接层协议,分配多个加密通道至一些逻辑通道上,它运行在用户认证层协议之上。
67.当安全的传输层连接建立之后,客户端将发送一个服务请求。当用户认证层连接建立之后将发送第二个服务请求,允许新定义的协议和之前的协议共存。
68.2.传输层安全性协议(transport layer security,tls)。
69.tls用于在两个通信应用程序之间提供保密性和数据完整性。tls在实现上分为记录层和握手层两层,其中握手层又含四个子协议:握手协议(handshake protocol)、更改加密规范协议(change cipher spec protocol)、应用数据协议(application data protocol)和警告协议(alert protocol)。tls的基本工作方式是,客户端使用非对称加密与服务器进行通信,实现身份验证并协商对称加密使用的密钥,然后通过对称加密算法,采用协商密钥对信息以及信息摘要进行加密,不同的节点之间采用的对称密钥不同,从而可以保证加密信息只能被通信双方获取。
70.3.预共享密钥(pre-shared key,psk)。
71.psk是用于验证l2tp/ipsec连接的统一码(unicode)字符串。可以配置“路由和远程访问”来验证支持预共享密钥的虚拟专用网络(virtual private network,vpn)连接。单个远程访问服务器对需要预共享密钥进行身份验证的所有l2tp/ipsec连接只使用一个预共享密钥。因此,必须对使用预共享密钥连接到远程访问服务器的所有l2tp/ipsec vpn客户端发行相同的预共享密钥。除非预共享密钥是以放在“连接管理器”配置文件内的方式分发,否则每个用户必须手动输入预共享密钥。
72.4.散列函数(hash function)。
73.或散列算法,又称哈希函数,是一种从任何一种数据中创建小的数字“指纹”的方法。散列函数把消息或数据压缩成摘要,使得数据量变小,将数据的格式固定下来。该函数将数据打乱混合,重新创建一个叫做散列值(又称为哈希值)(hash values,hash codes,hash sums,或hashes)的指纹。散列值通常用一个短的随机字母和数字组成的字符串来代表。哈希值可以用于判断某两个字符串是否相等(或相同)。如果其哈希值相等,则这两个字符串是相等(或相同)的。
74.图2是一种基于sshv2协议的认证流程。在建立ssh连接过程中,首先进行版本协商、算法协商和密钥交换,之后进入服务器认证流程,即客户端对服务器的身份进行认证,防止连接到假冒的服务器。该过程中,服务器会使用自身的私钥对一段双方都知晓的信息进行数字签名,将数字签名和公钥发送给客户端。客户端先校验服务端公钥是否可信,再使用服务端公钥验证数字签名。当客户端首次登录一个服务端时,是无法判断服务端公钥是否可信的。业界常用的做法是,当客户端发现服务端的公钥无法验证时,将服务端的公钥指纹打印在用户界面,由用户人工确认是否信任该服务端。如果用户选择信任,则客户端将服务端的公钥保存在本地数据库,当后续再次连接同一个服务端时,使用缓存的服务端公钥对服务端进行验证。
75.客户端使用ssh首次登录一个服务端时,需要用户人工确认是否信任服务端公钥,实际上用户没有有效且便捷的手段提前获取服务端的公钥,因此往往无法进行有效的确认。如果要通过可靠的手段提前获取服务端公钥,操作通常会比较复杂,例如需要到设备近端通过串口连接设备进行查询。
76.此外,也可以基于tls协议进行认证。通过tls协议登录设备可以通过证书或psk进行双向认证。使用证书认证方式,需要提前为客户端和服务端申请唯一的身份证书,并导入信任的认证中心(certification authority,ca)证书。基于证书认证时,现网存在大量设备没有证书,同时证书的管理维护也比较复杂;使用psk认证方式时,需要提前在客户端和
服务端上配置相同的psk,增加了管理成本。
77.针对上述问题,本技术提出一种认证方法,以下以第一设备为服务端设备的一例,以第二设备为客户端设备的一例,对本技术的方案进行陈述。
78.如图3所示,该方法可以包括以下步骤:
79.301:第二设备向第一设备发送预连接请求消息。
80.该预连接请求消息可以包括第一标识,预连接请求消息用于生成连接凭证,连接凭证可以包括第一预共享密钥psk。
81.可选地,在步骤301之前,第二设备可以向第一设备发送协商消息,协商该次连接采用的安全连接机制。该安全连接可以是基于tls的安全连接。
82.该协商消息还可以用于协商该次会话的认证方式,包括:证书认证、用户预配置psk认证、自动生成psk认证。如果协商使用证书认证或用户预配置psk认证,则第一设备与第二设备可以直接建立tls连接;如果协商使用自动生成psk认证,则需要先自动生成psk,然后再建立tls连接。
83.以下以自动生成psk认证为例,进行本技术方案的陈述。
84.302:第一设备根据所述第一标识确定第一用户名。
85.可以理解的是,该第一用户名是至少一个用户名中的一个。也就是说,第一设备可以连接多个客户端设备,多个客户端设备对应多个用户名,第二设备是多个客户端设备中的一个;也可以是第一设备连接一个第二设备,该第二设备访问多个业务,多个业务对应多个用户名。第一用户名是其中之一。本技术对此不作限定。
86.该第一标识与该第一用户名对应。当有多个用户名时,可以有多个标识,标识与用户名可以是一一对应的。标识可以是预设的,也可以是第二设备生成的。比如可以为每个用户名预设对应的标识,示例地,第一用户名对应的标识为a,第二用户名对应的标识为b,第三用户名对应的标识为c,等等。该标识也可以是特定的取值,比如第一用户名对应的标识为1,第二用户名对应的标识为2,第三用户名的标识为3,等等。应理解,上述字母或数字仅作为示例,本技术对此不作限定。
87.示例地,该标识可以是哈希值和用于生成该哈希值的随机数。第一设备可以根据该哈希值和随机数确定用户名。例如,第一设备根据第一随机数和至少一个用户名计算至少一个哈希值,至少一个哈希值与至少一个用户名一一对应,第一设备确定所述至少一个哈希值中与所述第一哈希值相等的第二哈希值,第二哈希值对应的用户名为所述第一用户名。
88.可以理解的是,第一设备存储有各用户名及其对应的密码。在接收到第一哈希值和第一随机数后,第一设备根据该第一随机数和各用户名生成多个哈希值,在多个哈希值中挑选出与从第二设备接收的第一哈希值相同的哈希值,也就是第二哈希值。该第二哈希值对应的用户名即为第二设备生成第一哈希值所用的用户名。
89.303:第一设备根据第一用户名和第一密码生成第一psk。
90.第一密码是至少一个密码中的一个,该至少一个密码与至少一个用户名一一对应。
91.应理解,第二设备发送的预连接请求消息中包括第一哈希值和第一随机数时,第一设备可以根据第一用户名、第一密码和第一随机数生成第一psk。
92.第一设备也可以生成第二随机数,根据第一用户名、第一密码、第一随机数和第二随机数生成第一psk。可以理解的是,第一设备可以将该第二随机数发送给第二设备,第二设备根据据第一用户名、第一密码、第一随机数和第二随机数生成第一psk。
93.还应理解,第二设备发送的预连接请求消息中包括第一随机数时,或者,不包括第一随机数,第一设备可以生成第三随机数,根据第一用户名、第一密码和第三随机数生成第一psk。可以理解的是,第一设备可以将该第三随机数发送给第二设备,第二设备根据第一用户名、第一密码和第三随机数生成第一psk。
94.也就是说,第一设备与第二设备生成psk的参量可以是一致的,这样生成的第一psk是一致的,可以作为第一设备与第二设备之间的连接凭证。
95.304:第二设备向第一设备发送连接请求消息。
96.该连接请求消息可以包括第二标识,连接请求消息可以用于建立安全连接,第二标识可以用于校验第一psk。
97.该连接请求消息与步骤301中的预连接请求消息的功能不同,其内容也不同。连接请求消息中可以包括用于建立安全连接的消息,比如,tls的子协议等。
98.305:第一设备校验第一psk成功时,根据该第一psk建立所述安全连接。
99.应理解,第一设备校验第一psk,可以是根据第二标识查找与之对应的psk,如果可以找到,则使用此psk建立安全连接;如果找不到,则第一设备拒绝第二设备的连接请求。可以理解的是,第一设备可以保存步骤301中第二设备发送的第一哈希值和步骤303中第一psk,第二标识可以是第一哈希值。在连接多个客户端设备时,第一设备可以将多个客户端设备对应的psk及哈希值保存。第一设备接收到步骤304中的连接请求消息后,查找第一哈希值对应的psk,如果能够找到第一psk,则校验成功;如果找不到第一psk,则拒绝该连接请求消息。
100.还应理解,上述方式只作为第一设备校验连接凭证方式的一例。
101.第一设备与第二设备也可以使用包含psk认证机制的算法对psk进行校验。
102.该算法可以是tls_dhe_psk_with_aes_128_gcm_sha256或者tls_dhe_psk_with_aes_256_gcm_sha384。
103.或者,第一设备与第二设备生成第一psk后,也可以直接使用该psk建立安全连接。本技术对此不作限定。
104.该方案通过服务端设备与客户端设备自动生成psk,并进行自动双向认证,以建立安全连接。在安全连接建立过程中,无需人工认证,也无需提前配置psk,提高了双向认证的便捷性和准确性,降低了管理成本,有效提升了通信安全性。
105.结合图3所示的方法,本技术提供了一种通信连接的方法,如图4所示,该图所示的方法以基于tls的安全连接为例,以自动生成psk认证为例进行描述。该方法可以包括以下步骤:
106.401:第二设备输入用户名和密码。
107.该用户名可以参考图3中步骤302中的第一用户名的描述,该密码可以参考图3中步骤303中的第一密码的描述,此处不再赘述。
108.402:第二设备生成一次性随机数a,并使用a和用户名计算用户名哈希值。
109.该一次性随机数a可以参考图3中步骤303中的第一随机数的描述,该用户名哈希
值可以参考步骤302中第一哈希值的描述,此处不再赘述。
110.403:第二设备向第一设备发送预连接请求消息。
111.该预连接请求消息可以是prehello请求消息,该请求消息中包含用户名哈希值以及第一随机数。
112.404:第一设备确定用户名。
113.第一设备收到预连接请求消息后,使用消息中的第一随机数结合第一设备本地保存的用户信息,计算每个用户名的哈希值,并与第二设备发来的用户名哈希值比较,找到匹配的用户名,可以参考图3中步骤302的描述。
114.405:第一设备生成一次性随机数b,使用匹配到的用户名+密码以及随机数a和随机数b生成psk。
115.该一次随机数b可以参考图3中步骤303中第二随机数的描述。该psk可以参考图3中步骤303中第一psk的描述。其中,第一设备生成psk的算法可以是pbkdf2算法。
116.406:第一设备向第二设备发送预连接请求响应。
117.该响应中可以携带随机数b。该预连接请求响应可以是prehello ok消息。
118.407:第二设备使用用户名、密码、随机数a和随机数b生成第一psk。
119.其中,第二设备生成psk的算法可以是pbkdf2算法。
120.408:第二设备向第一设备发送连接请求消息。
121.该安全连接请求可以是参考图3中步骤304的描述。该连接请求可以是tls client hello。
122.409:第一设备根据连接请求检验第一psk。
123.步骤409可以参考图3中步骤305的描述,此处不再赘述。
124.410:第一设备与第二设备根据第一psk建立安全连接。
125.在安全连接过程中,用户名和密码是客户端设备和用户端设备共同拥有的保密信息,客户端设备从用户输入中接收用户名和密码,服务端设备本地数据库中存储有用户名和密码。prehello过程中客户端设备和服务端设备分别生成一次性随机数第一随机数和第二随机数,可以防止重放攻击。只有合法的客户端设备和服务端设备才能获取到正确的用户名和密码,因此仿冒的客户端设备和服务端设备均无法生成正确的psk,所以该方案可以保证安全的双向认证。远程登录前,无须提前为客户端设备和服务端设备分别申请并导入证书或配置psk,降低了维护和管理的成本和难度。基于客户端设备和服务端设备共同拥有的保密信息自动生成psk,使用tls协议进行可靠的双向认证,安全性也得以提升。
126.本文中描述的各个实施例可以为独立的方案,也可以根据内在逻辑进行组合,这些方案都落入本技术的保护范围中。
127.上述本技术提供的实施例中,分别从各个设备之间交互的角度对本技术实施例提供的方法进行了介绍。为了实现上述本技术实施例提供的方法中的各功能,网络设备或终端设备可以包括硬件结构和/或软件模块,以硬件结构、软件模块、或硬件结构加软件模块的形式来实现上述各功能。上述各功能中的某个功能以硬件结构、软件模块、还是硬件结构加软件模块的方式来执行,取决于技术方案的特定应用和设计约束条件。
128.本技术实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。另外,在本技术各个实施例中的各功能模块可以集成在一个处
理器中,也可以是单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
129.以下,结合图5至图6详细说明本技术实施例提供的通信装置。应理解,装置实施例的描述与方法实施例的描述相互对应,因此,未详细描述的内容可以参见上文方法实施例,为了简洁,这里不再赘述。
130.与上述构思相同,如图5所示,本技术实施例还提供一种装置500用于实现上述方法中会话管理功能网元的功能。例如,该装置可以为软件模块或者芯片系统。本技术实施例中,芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。该装置500可以包括:处理单元510和通信单元520。
131.本技术实施例中,通信单元也可以称为收发单元,可以包括发送单元和/或接收单元,分别用于执行上文方法实施例中会话管理功能网元发送和接收的步骤。
132.通信单元也可以称为收发器、收发机、收发装置等。处理单元也可以称为处理器,处理单板,处理模块、处理装置等。可选的,可以将通信单元520中用于实现接收功能的器件视为接收单元,将通信单元520中用于实现发送功能的器件视为发送单元,即通信单元520包括接收单元和发送单元。通信单元有时也可以称为收发机、收发器、或接口电路等。接收单元有时也可以称为接收机、接收器、或接收电路等。发送单元有时也可以称为发射机、发射器或者发射电路等。
133.通信装置500执行上面实施例中图3或图4任一所示的流程中第一设备的功能时:
134.处理单元,用于生成第一psk以及校验第一psk。
135.通信单元用于信息的收发。
136.通信装置500执行上面实施例中图3或4任一所示的流程中第二设备的功能时:
137.处理单元,用于生成第一psk。
138.通信单元用于信息的收发。
139.以上只是示例,处理单元510和通信单元520还可以执行其他功能,更详细的描述可以参考图3或4所示的方法实施例或其他方法实施例中的相关描述,这里不加赘述。
140.如图6所示为本技术实施例提供的装置600,图6所示的装置可以为图5所示的装置的一种硬件电路的实现方式。该通信装置可适用于前面所示出的流程图中,执行上述方法实施例中终端设备或者网络设备的功能。为了便于说明,图6仅示出了该通信装置的主要部件。
141.如图6所示,通信装置600包括处理器610和接口电路620。处理器610和接口电路620之间相互耦合。可以理解的是,接口电路620可以为收发器或输入输出接口。可选的,通信装置600还可以包括存储器630,用于存储处理器610执行的指令或存储处理器610运行指令所需要的输入数据或存储处理器610运行指令后产生的数据。
142.当通信装置600用于实现图3或图4所示的方法时,处理器610用于实现上述处理单元510的功能,接口电路620用于实现上述通信单元520的功能。
143.当上述通信装置为应用于终端设备的芯片时,该终端设备芯片实现上述方法实施例中终端设备的功能。该终端设备芯片从终端设备中的其它模块(如射频模块或天线)接收信息,该信息是网络设备发送给终端设备的;或者,该终端设备芯片向终端设备中的其它模块(如射频模块或天线)发送信息,该信息是终端设备发送给网络设备的。
144.当上述通信装置为应用于网络设备的芯片时,该网络设备芯片实现上述方法实施例中网络设备的功能。该网络设备芯片从网络设备中的其它模块(如射频模块或天线)接收信息,该信息是终端设备发送给网络设备的;或者,该网络设备芯片向网络设备中的其它模块(如射频模块或天线)发送信息,该信息是网络设备发送给终端设备的。
145.可以理解的是,本技术的实施例中的处理器可以是中央处理单元(central processing unit,cpu),还可以是其它通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field programmable gate array,fpga)或者其它可编程逻辑器件、晶体管逻辑器件,硬件部件或者其任意组合。通用处理器可以是微处理器,也可以是任何常规的处理器。
146.本技术的实施例中处理器可以是随机存取存储器(random access memory,ram)、闪存、只读存储器(read-only memory,rom)、可编程只读存储器(programmable rom,prom)、可擦除可编程只读存储器(erasable prom,eprom)、电可擦除可编程只读存储器(electrically eprom,eeprom)、寄存器、硬盘、移动硬盘、cd-rom或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于asic中。另外,该asic可以位于网络设备或终端设备中。当然,处理器和存储介质也可以作为分立组件存在于网络设备或终端设备中。
147.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、光学存储器等)上实施的计算机程序产品的形式。
148.本技术是参照根据本技术的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
149.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
150.显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
151.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1