一種ssh安全登錄的雙重認(rèn)證方法、系統(tǒng)和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及信息安全技術(shù)領(lǐng)域,具體而言,涉及一種SSH安全登錄的雙重認(rèn)證方法、系統(tǒng)和裝置。
【背景技術(shù)】
[0002]最早的時(shí)候,互聯(lián)網(wǎng)通信都是明文通信,一旦被截獲,內(nèi)容就暴露無疑。1995年,芬蘭學(xué)者Tatu Honen設(shè)計(jì)了 SSH協(xié)議,將登錄信息全部加密,成為互聯(lián)網(wǎng)安全的一個(gè)基本解決方案,迅速在全世界獲得推廣,目前已經(jīng)成為L(zhǎng)inux系統(tǒng)的標(biāo)準(zhǔn)配置。
[0003]SSH是一種網(wǎng)絡(luò)協(xié)議,用于計(jì)算機(jī)之間的加密登錄。如果一個(gè)用戶從本地計(jì)算機(jī),使用SSH協(xié)議登錄另一臺(tái)遠(yuǎn)程計(jì)算機(jī),就可以認(rèn)為這種登錄是安全的,即使被中途截獲,密碼也不會(huì)泄露。隨著Linux設(shè)備從電腦逐漸擴(kuò)展到手機(jī)、外設(shè)和家用電器,SSH的使用范圍也越來越廣。不僅程序員離不開它,很多普通用戶也每天使用。
[0004]SSH之所以能夠保證安全,原因在于它采用了公鑰加密。
[0005]SSH使用公鑰加密的整個(gè)過程是這樣的:(I)遠(yuǎn)程主機(jī)收到用戶的登錄請(qǐng)求,把自己的公鑰發(fā)給用戶;(2)用戶使用這個(gè)公鑰,將登錄密碼加密后,發(fā)送回來;(3)遠(yuǎn)程主機(jī)用自己的私鑰,解密登錄密碼,如果密碼正確,就同意用戶登錄。
[0006]這個(gè)過程本身是安全的,但是存在一個(gè)風(fēng)險(xiǎn):如果有人盜取了用戶的登錄密碼,然后冒充該用戶,那么服務(wù)器就難辨別真?zhèn)巍?br>[0007]隨著目前用戶密碼泄露事件不斷增多,用戶的密碼泄露的風(fēng)險(xiǎn)很高,已經(jīng)無法保證安全性。用戶名和密碼在通過鍵盤輸入時(shí),容易被終端設(shè)備中的惡意代碼竊取,從而降低了身份驗(yàn)證的安全性。因此,用戶端的用戶名/密碼的模式成為整個(gè)SSH認(rèn)證安全的薄弱環(huán)節(jié)。
[0008]由此可見,如何提高SSH認(rèn)證中對(duì)用戶端身份驗(yàn)證的安全性和通用性成為現(xiàn)有技術(shù)中亟待解決的技術(shù)問題之一。
[0009]
【發(fā)明內(nèi)容】
[0010]為解決上述問題,本發(fā)明的目的在于提供一種用以提高SSH登錄的安全性和通用性的SSH安全登錄的雙重認(rèn)證方法、系統(tǒng)和裝置。
[0011]本發(fā)明提供了一種SSH安全登錄的雙重認(rèn)證方法,包括:
步驟1,客戶端發(fā)送用戶名和密碼或證書,用戶使用所述用戶名和所述密碼或所述證書登錄被管理的SSH認(rèn)證服務(wù)器;
步驟2,如果所述用戶名和所述密碼或所述證書有效,所述SSH認(rèn)證服務(wù)器返回一個(gè)二維碼顯示在所述客戶端;
步驟3,所述用戶用智能終端掃描所述客戶端上顯示的二維碼;
步驟4,所述智能終端通過二維碼和內(nèi)置證書及其硬件令牌生成針對(duì)本次登錄會(huì)話的簽名信息發(fā)送到二維碼驗(yàn)證服務(wù)器或所述SSH認(rèn)證服務(wù)器;
步驟5,所述SSH認(rèn)證服務(wù)器驗(yàn)證所述簽名信息是否正確,如果所述簽名信息正確,所述SSH認(rèn)證服務(wù)器登錄成功。
[0012]作為本發(fā)明進(jìn)一步的改進(jìn),在所述步驟4之前,所述的雙重認(rèn)證方法進(jìn)一步包括: 用所述智能終端掃描二維碼硬件設(shè)備,所述二維碼硬件設(shè)備生成基于自身私鑰加密的認(rèn)證信息,并以二維碼顯示在所述客戶端的液晶屏上,所述SSH認(rèn)證服務(wù)器通過保存的所述二維碼硬件設(shè)備的公鑰進(jìn)行解密,驗(yàn)證所述用戶的身份。
[0013]作為本發(fā)明進(jìn)一步的改進(jìn),所述步驟5具體包括:
如果所述簽名信息發(fā)送到所述二維碼驗(yàn)證服務(wù)器,所述SSH認(rèn)證服務(wù)器輪詢驗(yàn)證所述SSH認(rèn)證服務(wù)器和所述二維碼驗(yàn)證服務(wù)器,如果所述簽名信息正確,驗(yàn)證服務(wù)通過所述SSH認(rèn)證服務(wù)器和所述二維碼驗(yàn)證服務(wù)器輪詢到成功信息,所述SSH認(rèn)證服務(wù)器登錄成功;
或,
如果所述簽名信息發(fā)送到所述SSH認(rèn)證服務(wù)器,所述SSH認(rèn)證服務(wù)器監(jiān)聽所述SSH認(rèn)證服務(wù)器的端口,驗(yàn)證所述簽名信息,如果所述簽名信息正確,所述SSH認(rèn)證服務(wù)器登錄成功。
[0014]本發(fā)明還提供了一種SSH安全登錄的雙重認(rèn)證系統(tǒng),包括:
用戶登陸模塊,客戶端發(fā)送用戶名和密碼或證書,用戶使用所述用戶名和所述密碼或所述證書登錄被管理的SSH認(rèn)證服務(wù)器;
信息返回模塊,如果所述用戶名和所述密碼或所述證書有效,所述SSH認(rèn)證服務(wù)器返回一個(gè)二維碼顯示在所述客戶端;
第一掃描模塊,所述用戶用智能終端掃描所述客戶端上顯示的二維碼;
信息發(fā)送模塊,所述智能終端通過二維碼和內(nèi)置證書及其硬件令牌生成針對(duì)本次登錄會(huì)話的簽名信息發(fā)送到二維碼驗(yàn)證服務(wù)器或所述SSH認(rèn)證服務(wù)器;
信息驗(yàn)證模塊,所述SSH認(rèn)證服務(wù)器驗(yàn)證所述簽名信息是否正確,如果所述簽名信息正確,所述SSH認(rèn)證服務(wù)器登錄成功。
[0015]作為本發(fā)明進(jìn)一步的改進(jìn),進(jìn)一步包括:
第二掃描模塊,用所述智能終端掃描二維碼硬件設(shè)備,所述二維碼硬件設(shè)備生成基于自身私鑰加密的認(rèn)證信息,并以二維碼顯示在所述客戶端的液晶屏上,所述SSH認(rèn)證服務(wù)器通過保存的所述二維碼硬件設(shè)備的公鑰進(jìn)行解密,驗(yàn)證所述用戶的身份。
[0016]作為本發(fā)明進(jìn)一步的改進(jìn),
如果所述簽名信息發(fā)送到所述二維碼驗(yàn)證服務(wù)器,所述信息驗(yàn)證模塊為:
所述SSH認(rèn)證服務(wù)器輪詢驗(yàn)證所述SSH認(rèn)證服務(wù)器和所述二維碼驗(yàn)證服務(wù)器,如果所述簽名信息正確,驗(yàn)證服務(wù)通過所述SSH認(rèn)證服務(wù)器和所述二維碼驗(yàn)證服務(wù)器輪詢到成功信息,所述SSH認(rèn)證服務(wù)器登錄成功;
如果所述簽名信息發(fā)送到所述SSH認(rèn)證服務(wù)器,所述信息驗(yàn)證模塊為:
所述SSH認(rèn)證服務(wù)器監(jiān)聽所述SSH認(rèn)證服務(wù)器的端口,驗(yàn)證所述簽名信息,如果所述簽名信息正確,所述SSH認(rèn)證服務(wù)器登錄成功。
[0017]本發(fā)明還提供了一種SSH安全登錄的雙重認(rèn)證裝置,包括客戶端、SSH認(rèn)證服務(wù)器和智能終端; 其中,
所述客戶端用于發(fā)送用戶名和密碼或證書,并顯示所述SSH認(rèn)證服務(wù)器返回的二維碼;
所述SSH認(rèn)證服務(wù)器對(duì)用戶輸入的所述用戶名和所述密碼或所述證書進(jìn)行對(duì)用戶的第一次身份認(rèn)證,如果驗(yàn)證通過,則生成對(duì)用戶進(jìn)行二次認(rèn)證所需的二維碼;
所述智能終端內(nèi)置加密密鑰,用于在需要進(jìn)行認(rèn)證時(shí)對(duì)所需認(rèn)證的二維碼進(jìn)行掃描,通過所述智能終端內(nèi)部的加密密鑰進(jìn)行加密,并將加密后的二維碼返回所述SSH認(rèn)證服務(wù)器。
[0018]作為本發(fā)明進(jìn)一步的改進(jìn),進(jìn)一步包括二維碼認(rèn)證服務(wù)器,所述二維碼認(rèn)證服務(wù)器對(duì)所述智能終端返回的二維碼進(jìn)行處理,并識(shí)別用戶對(duì)二維碼的加密密鑰,完成對(duì)用戶的二次認(rèn)證,所述二維碼認(rèn)證服務(wù)器與所述SSH認(rèn)證服務(wù)器進(jìn)行通信,將二次認(rèn)證的結(jié)果返回所述SSH認(rèn)證服務(wù)器。
[0019]作為本發(fā)明進(jìn)一步的改進(jìn),進(jìn)一步包括二維碼硬件設(shè)備,所述二維碼硬件設(shè)備內(nèi)置加密密鑰,用戶生成特有的身份認(rèn)證二維碼,通過所述二維碼硬件設(shè)備內(nèi)部的加密密鑰進(jìn)行加密,并通過所述客戶端的液晶屏幕顯示,顯示后的二維碼通過所述智能終端傳輸給所述SSH認(rèn)證服務(wù)器;
作為本發(fā)明進(jìn)一步的改進(jìn),所述SSH認(rèn)證服務(wù)器和所述二維碼認(rèn)證服務(wù)器采用輪詢的方式進(jìn)行通訊,查詢用戶是否通過所述二維碼認(rèn)證服務(wù)器的認(rèn)證,只有在兩次認(rèn)證都通過的情形下,所述SSH認(rèn)證服務(wù)器才能夠完成對(duì)用戶的認(rèn)證,登錄所述SSH認(rèn)證服務(wù)器。
[0020]本發(fā)明的有益效果為:
用戶使用用戶名和密碼進(jìn)行SSH認(rèn)證服務(wù)器的一次認(rèn)證,并不影響原有身份認(rèn)證的安全性,在通過了一次認(rèn)證之后,增加基于二維碼的二次認(rèn)證過程,由于密碼信息可能泄露,而二維碼信息不會(huì)泄露,且其是唯一的且不可重復(fù)的,即使中途被監(jiān)聽也無法再次使用和偽造,從而大大提高了 SSH認(rèn)證服務(wù)器登錄驗(yàn)證的安全性,可以很方便的實(shí)現(xiàn)SSH認(rèn)證服務(wù)器對(duì)用戶的遠(yuǎn)程登錄認(rèn)證,防止用戶密碼丟失造成的身份盜用等問題。
【附圖說明】
[0021]圖1為本發(fā)明第一實(shí)施例所述的一種SSH安全登錄的雙重認(rèn)證裝置的結(jié)構(gòu)示意圖;
圖2為圖1的雙重認(rèn)證裝置的雙重認(rèn)證方法的流程示意圖;
圖3為圖2的雙重認(rèn)證方法的雙重認(rèn)證系統(tǒng)的結(jié)構(gòu)框圖;
圖4為本發(fā)明第二實(shí)施例所述的一種SSH安全登錄的雙重認(rèn)證裝置的結(jié)構(gòu)示意圖;
圖5為圖4的雙重認(rèn)證裝置的雙重認(rèn)證方法的流程示意圖;
圖6為圖5的雙重認(rèn)證方法的雙重認(rèn)證系統(tǒng)的結(jié)構(gòu)框圖;
圖7為本發(fā)明第三實(shí)施例所述的一種SSH安全登錄的雙重認(rèn)證裝置的結(jié)構(gòu)示意圖;
圖8為圖7的雙重認(rèn)證裝置的雙重認(rèn)證方法的流程示意圖;
圖9為圖8的雙重認(rèn)證方法的雙重認(rèn)證系統(tǒng)的結(jié)構(gòu)框圖;
圖10為本發(fā)明第四實(shí)施例所述的一種SSH安全登錄的雙重認(rèn)證裝置的結(jié)構(gòu)示意圖; 圖11為圖1