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