CN100349398C - 基于安全命令解释协议的用户认证方法 - Google Patents

基于安全命令解释协议的用户认证方法 Download PDF

Info

Publication number
CN100349398C
CN100349398C CNB031203922A CN03120392A CN100349398C CN 100349398 C CN100349398 C CN 100349398C CN B031203922 A CNB031203922 A CN B031203922A CN 03120392 A CN03120392 A CN 03120392A CN 100349398 C CN100349398 C CN 100349398C
Authority
CN
China
Prior art keywords
user
public keys
name
client
server
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.)
Expired - Fee Related
Application number
CNB031203922A
Other languages
English (en)
Other versions
CN1533084A (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 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 CNB031203922A priority Critical patent/CN100349398C/zh
Publication of CN1533084A publication Critical patent/CN1533084A/zh
Application granted granted Critical
Publication of CN100349398C publication Critical patent/CN100349398C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Abstract

本发明属于计算机网络安全技术领域,涉及基于安全命令解释协议的用户认证方法。包括:在服务器中配置一个公共密钥链表,一个客户端的用户名和公共密钥名的对应表;当客户端用户登录时,客户端按照安全命令解释协议选择本用户使用的公共密钥数据;服务器根据该用户名通过公共密钥链表及对应表查找并检查公共密钥数据与客户端按照协议所选择的公共密钥数据是否相同,如果不同则认证失败;如果公共密钥数据相同,则服务器端产生一个随机数,用该公共密钥数据对随机数加密后发送给客户端,客户端用对应的私有密钥解密,解密正确则认证通过,不正确则认证不通过。本发明增强了对用户的管理,提高了安全性。

Description

基于安全命令解释协议的用户认证方法
技术领域
本发明属于计算机网络安全技术领域,特别涉及基于SSH协议的用户认证技术。
背景技术
安全命令解释(SSH,Secure Shell)协议是一个计算机网络通信协议,遵守该协议的程序可以登录到另外一台计算机或网络设备上去,并可以向远端机器发送命令,远端机器执行该命令并将执行结果发回。所有向网络上发送的内容都被加密,从而在不安全的网络上提供了安全的通信。
目前常用的计算机之间通信的程序都采用客户端/服务器方式,服务器上运行的程序按某种协议规定的方式等待客户端发来连接请求,在收到客户端发来的连接请求之后,双方按协议规定进行协商和通信。双方的通信是可以被其他计算机监听到的,因此在不加密的情况下很容易泄密。
为了解决通信安全问题,SSH协议采用了严格的加密技术。在SSH协议开始建立连接和进行用户认证的时候,使用RSA加密算法。RSA算法是一种非对称密钥加密算法。在RSA算法中,每一对密钥分为公共密钥和私有密钥,用公共密钥加密的数据必须用私有密钥才能进行解密;同样,用私有密钥加密的数据也必须用公共密钥进行解密。公共密钥是可以公开,让对端知道的;私有密钥是私自保存,不能公开的。在SSH协议中,服务器拥有合法客户端用户的公共密钥,而客户端用户则拥有自己的私有密钥。
SSH协议规定用户登录过程中双方的协商分为四个步骤:
1)版本协商;
2)密钥交换;
4)会话阶段。
在版本协商阶段,双方通过相互发送版本信息,确定所使用的SSH协议的版本。
在密钥交换阶段,服务器将自己所使用的公共密钥发送给客户端,以便客户端用该公共密钥对服务器发送的数据进行解密。
在认证阶段,双方建立起信任关系。
在会话阶段,双方进行数据的传送,直到有一方退出通信。
在认证阶段,现有的SSH协议共提供以下四种方法对用户进行认证:
1、主机认证方法;
2、纯RSA认证方法;
3、密码认证方法;
4、主机与RSA结合方法。
现有的采用主机认证方法是基于客户端主机名和IP地址的一种认证方法,这种方法由Unix系统的命令rlogin和rsh采用,用户必须满足下面两个条件才能访问远端主机。一是本地主机必须被登记在远端主机的/etc/hosts.equiv文件中,二是本地主机和用户名必须包含在远端用户帐号$HOME/.rhosts文件中。当上述两个条件满足时,用户登录时不需口令。
这种认证方法在一般情况下是不建议使用的,因为通过IP地址欺骗是很容易攻击服务端的,而且该技术主要应用于UNIX系统,非UNIX系统由于没有/etc/hosts.equiv和$HOME/.rhosts文件,不易实现。
现有的采用纯RSA认证方法是基于RSA非对称加密算法的。服务器端拥有客户端所提供的公共密钥。在登录时,客户端首先指定它所使用的公共密钥;服务器找到该密钥,并产生一个随机数,用这个公共密钥加密后发送给客户端,客户端要用对应的私有密钥解密,解密正确则认证通过,不正确则认证不通过。
该方法的认证流程如图1所示,包括以下步骤:
1)客户端登录,选择本用户使用的公共密钥数据并通知服务器;
1)客户端登录,选择本用户使用的公共密钥数据并通知服务器;
2)服务器判断该公共密钥数据是否存在,若不存在,则认证失败;若存在,则转第3)步;
3)服务器产生随机数,用客户端用户的公共密钥数据加密,并发送给客户端进行解密。
4)客户端用自己的私有密钥解密,并将结果发送给服务器。
5)服务器检查是否正确,如果正确则认证通过。不正确则认证不通过。
这种认证方法是应用RSA的基本的认证方法,它的缺点在于没有规定客户端采用唯一的密钥,客户端可以使用服务器所记录的任何密钥登录服务器。这样的用户管理是很松散的,不利于对用户实行严格的管理。
例如进行用户的分级别管理时,不同级别的用户使用相同的密钥将使用户的级别形同虚设,因为用户名并不是保密的,是可以被其他人得到的。混用密钥会使得严格的用户管理不能实现,存在安全漏洞。
现有采用密码认证方法为:客户端将加密的密码字符串发送给服务器端,服务器检查密码是否正确,如果正确则认证通过,不正确就不通过。这种认证方法比较简单,密码设置不当容易被破解和猜测。
现有的采用主机与RSA结合方法是现有的主机认证方法与纯RSA认证方法的结合,服务器先对客户端进行主机认证。通过后再产生随机数,进行RSA认证。这种认证方法在非UNIX系统中不易实现。
发明内容
本发明的目的是为克服已有技术对用户不能实行严格的管理的不足之处,提出一种基于安全命令解释(SSH)协议的用户认证方法,可增强对用户的管理,对公共密钥的管理更加容易实现,且可提高通信安全性。
本发明提出的基于安全命令解释(SSH)协议的用户认证方法,其特征在于,包括以下步骤:
1)在服务器中配置一个公共密钥名及其数据的公共密钥链表,且配置并维护一个客户端的用户名和公共密钥名的对应表;
2)当客户端用户登录时,客户端按照安全命令解释协议选择本用户使用的公共密钥数据;
3)服务器根据该用户名通过所述的公共密钥链表及对应表查找并检查公共密钥数据与客户端按照协议所选择的公共密钥数据是否相同,如果不同则认证失败;
4)如果公共密钥数据相同,则服务器端产生一个随机数,用该公共密钥数据对随机数加密后发送给客户端,客户端用对应的私有密钥解密,解密正确则认证通过,不正确则认证不通过。
所述的用户名与密钥名的对应表采用的形式可以包括但不限于数组、链表、哈希表、数据库表等之中的一种。
本发明的特点及有益效果:
本发明对SSH协议中的纯RSA认证方法进行了改进,在服务器端增加了限制,服务器为每个公共密钥配置一个名字,并维护一张用户名和该密钥名对应的表格。客户端必须输入与它的用户名相对应的公共密钥。当客户端登录时,服务器通过这个表格查找客户端的公共密钥,与客户端所输入的公共密钥吻合才能继续认证流程,增强了对用户的管理。
本发明与现有的采用纯RSA认证方式相比,服务器增加了查表和比较的操作。每一个用户仅有一个对应的公共密钥,必须使用该密钥才可登录。由于服务器采用了更加严格的检查措施,使得认证方法更加安全可靠。
同时,本发明为公共密钥配置名字使得对公共密钥的管理更加容易实现。由于在服务器端进行了更多的限制,因而提高了通信的安全性。
附图说明
图1为已有的纯RSA认证方法的流程框图。
图2为本发明认证方法的一种实施例流程框图。
图3为本发明两种实施例都用到的公共密钥链表示意图。
图4为本发明第二种实施例的密钥名-用户名对应链表示意图。
图5为本发明认证方法的第二种实施例流程框图。
具体实施方式
本发明提供的一种基于安全命令解释(SSH)协议的用户认证方法,结合实施例及附图进行详细说明。
本发明的实施例1,如图2所示,其具体实现方法包括以下步骤:
1)在服务器端为每一个公共密钥配置一个形成如图3所示的公共密钥链表,它保存了公共密钥的数据,并为每一个公共密钥配置了一个名字;为了方便查找和管理,将用户名与该密钥名称对应起来,采用数组方式形成如表1所示的用户名-密钥名对应表:
表1用户名-密钥名对应表
    用户名     密钥名
    user1     key1
    user2     key2
    user3     key3
    ......     ......
在上述表1中:用户名user1对应密钥名key1,用户名user2对应密钥名key2,以此类推。
在使用某用户的公共密钥数据时,就可以先通过用户名-密钥名对应表找到密钥名,然后在公共密钥链表中查找该密钥名所对应的公共密钥数据;
2)在客户端用户登录时,客户端按照SSH协议选择本用户使用的公共密钥数据;
3)服务器在如图3的公共密钥链表中查找是否存在上述公共密钥数据,若不存在,则认证失败;
4)若公共密钥数据存在,则服务器再在表1中搜索该用户名所对应的密钥名,然后通过密钥名在如图3的公共密钥链表中查找其对应的公共密钥数据,检查与客户端所选择的公共密钥数据是否相同,如果不同则认证失败;
5)如果公共密钥数据相同,则服务器端产生一个随机数,用该公共密钥数据对这个随机数加密,把加密后的随机数发送给客户端;
6)客户端接收到加密的随机数后,用自己所保存的私有密钥(该私钥密钥数据与第2步中所选择的公共密钥数据是对应的)对其解密,将结果发送给服务端。
7)服务端判断客户端对随机数的解密是否正确,正确则认证通过,不正确则认证不通过。
本发明的另外一个实施例,如图5所示,其具体实现方法包括以下步骤:
1)在服务器端为每一个公共密钥配置一个形成如图3所示的公共密钥链表,它保存了公共密钥的数据,并为每一个公共密钥配置了一个名字;为了方便查找和管理,建立用户名与密钥名对应表,形式是如图4所示的链表,图中:用户名user1对应密钥名key1,用户名user2对应密钥名key2,以此类推。
在使用某用户的公共密钥数据时,就可以先通过用户名-密钥名对应表找到密钥名,然后在公共密钥链表中查找该密钥名所对应的公共密钥数据;反之,通过公共密钥数据也可以查到有哪些用户名与之对应,本实施例用的是这种反向查找的方法。
2)在客户端用户登录时,客户端按照SSH协议选择本用户使用的公共密钥数据;
3)服务器在图3所示公共密钥链表中查找是否存在上述公共密钥数据,若不存在,则认证失败;
4)若公共密钥数据存在,则服务器在图3所示的公共密钥链表查找出所对应的所有密钥名;
5)查询图4所示的用户名-密钥名链表,找出每一个密钥名所对应的所有用户名;
6)判断上述找出的用户名中是否包含客户端用户名,如果不包含则认证失败;
7)如果包含,则服务器端产生一个随机数,用该公共密钥数据对其加密后发送给客户端进行解密;
8)客户端接收到加密的随机数后,用自己所保存的私有密钥(该私钥密钥数据与第2步中所选择的公共密钥数据是对应的)对其进行解密,然后将结果发送给服务端;
9)服务端判断客户端对随机数的解密是否正确,正确则认证通过,不正确则认证不通过。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。

Claims (3)

1、一种基于安全命令解释协议的用户认证方法,其特征在于,包括以下步骤:
1)在服务器中配置一个公共密钥名及其数据的公共密钥链表,且配置并维护一个客户端的用户名和密钥名的对应表;
2)当客户端用户登录时,客户端按照安全命令解释协议选择本用户使用的公共密钥数据;
3)服务器根据该用户名在所述用户名和密钥名的对应表中搜索该用户名所对应的密钥名,然后通过密钥名在公共密钥链表中查找其对应的公共密钥数据,检查该公共密钥数据与客户端所选择的公共密钥数据是否相同,如果不同则认证失败,如果相同则执行步骤4);或
服务器根据所述的按照安全命令解释协议选择的本用户使用的公共密钥数据通过公共密钥链表得到所对应的所有密钥名,然后查询所述用户名和密钥名的对应表,找出每一个密钥名所对应的所有用户名,判断所述所有用户名中是否包含客户端用户名,如果不包含则认证失败,如果相同则执行步骤4);
4)服务器端产生一个随机数,用该公共密钥数据对随机数加密后发送给客户端,客户端用对应的私有密钥解密,解密正确则认证通过,不正确则认证不通过。
2、如权利要求1所述的用户认证方法,其特征在于,在步骤2)和3)之间包括:
服务器在所述的公共密钥表中查找是否存在客户端按照安全命令解释协议选择的公共密钥数据,若不存在,则认证失败,若存在,则执行步骤3)。
3、如权利要求1或2所述的用户认证方法,其特征在于,所述的用户名与密钥名的对应表采用数组、链表、哈希表、数据库表之任一种。
CNB031203922A 2003-03-18 2003-03-18 基于安全命令解释协议的用户认证方法 Expired - Fee Related CN100349398C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB031203922A CN100349398C (zh) 2003-03-18 2003-03-18 基于安全命令解释协议的用户认证方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB031203922A CN100349398C (zh) 2003-03-18 2003-03-18 基于安全命令解释协议的用户认证方法

Publications (2)

Publication Number Publication Date
CN1533084A CN1533084A (zh) 2004-09-29
CN100349398C true CN100349398C (zh) 2007-11-14

Family

ID=34285372

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB031203922A Expired - Fee Related CN100349398C (zh) 2003-03-18 2003-03-18 基于安全命令解释协议的用户认证方法

Country Status (1)

Country Link
CN (1) CN100349398C (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI620060B (zh) * 2014-11-05 2018-04-01 威綸科技股份有限公司 系統狀態回報之方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111382401A (zh) * 2018-12-27 2020-07-07 创发信息科技(苏州)有限公司 嵌入式系统登录动态口令实现方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6253321B1 (en) * 1998-06-19 2001-06-26 Ssh Communications Security Ltd. Method and arrangement for implementing IPSEC policy management using filter code
US20030005178A1 (en) * 2001-06-29 2003-01-02 International Business Machines Corporation Secure shell protocol access control

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6253321B1 (en) * 1998-06-19 2001-06-26 Ssh Communications Security Ltd. Method and arrangement for implementing IPSEC policy management using filter code
US20030005178A1 (en) * 2001-06-29 2003-01-02 International Business Machines Corporation Secure shell protocol access control

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI620060B (zh) * 2014-11-05 2018-04-01 威綸科技股份有限公司 系統狀態回報之方法

Also Published As

Publication number Publication date
CN1533084A (zh) 2004-09-29

Similar Documents

Publication Publication Date Title
KR100610317B1 (ko) 홈 네트워크를 구성하는 기기들에 대한 인증 장치 및 방법
CN102970299B (zh) 文件安全保护系统及其方法
US7325133B2 (en) Mass subscriber management
US8635445B2 (en) Method for digital identity authentication
US20030115452A1 (en) One time password entry to access multiple network sites
US20130121491A1 (en) System and method of creating and sending broadcast and multicast data
CN113746632B (zh) 一种物联网系统多级身份认证方法
EP1933498B1 (en) Method, system and device for negotiating about cipher key shared by ue and external equipment
US20060206616A1 (en) Decentralized secure network login
CN110808829B (zh) 一种基于密钥分配中心的ssh认证方法
CN108809633B (zh) 一种身份认证的方法、装置及系统
JP2001186122A (ja) 認証システム及び認証方法
US7315950B1 (en) Method of securely sharing information over public networks using untrusted service providers and tightly controlling client accessibility
EP1079565A2 (en) Method of securely establishing a secure communication link via an unsecured communication network
CN106230840B (zh) 一种高安全性的口令认证方法
CN107493294A (zh) 一种基于非对称加密算法的ocf设备的安全接入与管理控制方法
US20050210247A1 (en) Method of virtual challenge response authentication
CN103916372B (zh) 一种第三方登录信息托管方法和系统
CN111698203A (zh) 一种云数据加密方法
CN100349398C (zh) 基于安全命令解释协议的用户认证方法
CN112035820B (zh) 一种用于Kerberos加密环境下的数据解析方法
CN112437436B (zh) 一种身份认证方法及装置
CN116318637A (zh) 设备安全入网通信的方法和系统
CN114531235B (zh) 一种端对端加密的通信方法及系统
CN116684169A (zh) 一种基于网络身份的应用层数据安全传输方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20071114

Termination date: 20150318

EXPY Termination of patent right or utility model