基于證書密鑰緩存的快速身份認(rèn)證方法
【專利摘要】本發(fā)明公開了基于證書密鑰緩存的快速身份認(rèn)證方法,所述認(rèn)證方法通過修改傳統(tǒng)遠(yuǎn)程登錄協(xié)議,在服務(wù)器和客戶端分別增加身份認(rèn)證模塊和認(rèn)證代理,使兩端能夠?qū)?shù)字證書作為遠(yuǎn)程登錄及身份認(rèn)證的憑據(jù)。本發(fā)明認(rèn)證方法結(jié)合登錄安全性和認(rèn)證高效性兩方面的考慮,基于證書密鑰緩存實(shí)現(xiàn)快速身份認(rèn)證,提高了遠(yuǎn)程登錄服務(wù)器時(shí)身份認(rèn)證的安全性和高效性。
【專利說明】
基于證書密鑰緩存的快速身份認(rèn)證方法
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及信息安全技術(shù)領(lǐng)域,具體涉及一種基于證書密鑰緩存的快速身份認(rèn)證方法。
【背景技術(shù)】
[0002]Linux以其開源穩(wěn)定的優(yōu)勢,被廣泛應(yīng)用在服務(wù)器端,在云計(jì)算時(shí)代,絕大多數(shù)的公有云端的服務(wù)器也運(yùn)行著Linux。遠(yuǎn)程登錄服務(wù)器系統(tǒng)并對其控制、操作,為多人開發(fā)或者管理維護(hù)服務(wù)器提供了便捷的途徑。目前遠(yuǎn)程登錄大多采用傳統(tǒng)的用戶名密碼、telnetftp協(xié)議,因?yàn)榫W(wǎng)絡(luò)的開放性,這些登錄方式容易造成信息的泄露,而且不能確認(rèn)登錄方的真實(shí)身份,所以無法認(rèn)定責(zé)任人。
[0003]針對安全性的問題,已經(jīng)有研究人員提出了一些解決方案。主要有改變登錄方憑證和采用安全通信協(xié)議等方法,但其安全性仍然不高;也有將數(shù)字證書和安全協(xié)議結(jié)合進(jìn)行身份認(rèn)證的方法,該類方法要求每次登錄時(shí)都需要通過數(shù)字證書進(jìn)行身份認(rèn)證,增加了訪問認(rèn)證中心的頻率,易造成訪問瓶頸,降低了認(rèn)證效率,不適用于需要頻繁訪問服務(wù)器的情況。
【發(fā)明內(nèi)容】
[0004]本發(fā)明要解決的技術(shù)問題是:結(jié)合上述登錄安全性和認(rèn)證高效性兩方面的考慮,為了實(shí)現(xiàn)遠(yuǎn)程登錄服務(wù)器時(shí)身份認(rèn)證的安全性和高效性,本發(fā)明提供一種基于證書密鑰緩存的快速身份認(rèn)證方法。
[0005]本發(fā)明所采用的技術(shù)方案為:
基于證書密鑰緩存的快速身份認(rèn)證方法,所述認(rèn)證方法通過改造傳統(tǒng)遠(yuǎn)程登錄協(xié)議,在服務(wù)器和客戶端分別增加身份認(rèn)證模塊和認(rèn)證代理,使兩端可以將數(shù)字證書作為遠(yuǎn)程登錄及身份認(rèn)證的憑據(jù)。
[0006]所述方法在首次登錄服務(wù)器時(shí)進(jìn)行完整的證書認(rèn)證,確保證書的真實(shí)性;
認(rèn)證通過后,雙方分別緩存對方的公鑰證書certc(客戶端公鑰證書)和Certs(服務(wù)器端公鑰證書);
再次登錄時(shí),服務(wù)器與客戶端只需利用本地緩存的對方公鑰證書通過公鑰加密算法進(jìn)行認(rèn)證并協(xié)商緩存一個(gè)對稱根密鑰;
在規(guī)定時(shí)限內(nèi)登錄時(shí),使用緩存的對稱根密鑰進(jìn)行認(rèn)證;
超過時(shí)限后,使用緩存的公鑰證書認(rèn)證并產(chǎn)生另一個(gè)新的對稱根密鑰;
通過上述初步認(rèn)證后,最后再查詢證書撤銷列表(Certificat1n Revocat1n List,CRL)確保數(shù)字證書沒有過期或者被撤銷,至此身份認(rèn)證完成。
[0007]所述認(rèn)證方法采用ssh協(xié)議作為遠(yuǎn)程登錄協(xié)議,客戶端操作系統(tǒng)為Windows,登錄軟件為putty(—種Linux遠(yuǎn)程登錄工具),增加一個(gè)認(rèn)證代理用來與服務(wù)器端進(jìn)行身份認(rèn)證;服務(wù)器端操作系統(tǒng)為安裝有openssh-server( OpenSSH是最初的使用SSH協(xié)議進(jìn)行遠(yuǎn)程登錄的連接工具)的Iinux操作系統(tǒng),并修改sshd進(jìn)程文件以支持public key(公鑰)認(rèn)證功能,同時(shí)增加一個(gè)身份認(rèn)證模塊用來執(zhí)行認(rèn)證功能。
[0008]所述服務(wù)器端維護(hù)一個(gè)登錄用戶列表,列表包括:登錄用戶ID、最后登錄時(shí)間、對稱根密鑰及其時(shí)限、登錄用戶公鑰證書及其時(shí)效。
[0009]所述認(rèn)證方法的身份認(rèn)證流程為:
1)客戶端通過認(rèn)證代理向服務(wù)器端說明自己身份;
2)服務(wù)器端通過身份認(rèn)證模塊查詢本地登錄用戶列表,若客戶端在列表中:
a)對稱根密鑰仍有效,則使用對稱根密鑰認(rèn)證客戶端;
b)若對稱根密鑰失效,則使用公鑰證書認(rèn)證客戶端;
3)若客戶端不在登錄用戶列表中,服務(wù)器端通過驗(yàn)證證書鏈認(rèn)證客戶端數(shù)字證書;
4)查詢證書撤銷列表CRL確定證書的有效性;
5)認(rèn)證結(jié)束,服務(wù)器端更新登錄用戶列表。
[0010]本發(fā)明的有益效果為:
本發(fā)明認(rèn)證方法結(jié)合登錄安全性和認(rèn)證高效性兩方面的考慮,基于證書密鑰緩存實(shí)現(xiàn)快速身份認(rèn)證,提高了遠(yuǎn)程登錄服務(wù)器時(shí)身份認(rèn)證的安全性和高效性。
【附圖說明】
[0011]圖1為本發(fā)明服務(wù)器和客戶端連接結(jié)構(gòu)圖;
圖2為服務(wù)器對客戶端身份認(rèn)證流程圖。
【具體實(shí)施方式】
[0012]下面通過說明書附圖,結(jié)合【具體實(shí)施方式】對本發(fā)明進(jìn)一步說明:
實(shí)施例1:
基于證書密鑰緩存的快速身份認(rèn)證方法,所述認(rèn)證方法通過改造傳統(tǒng)遠(yuǎn)程登錄協(xié)議,在服務(wù)器和客戶端分別增加身份認(rèn)證模塊和認(rèn)證代理,使兩端可以將數(shù)字證書作為遠(yuǎn)程登錄及身份認(rèn)證的憑據(jù)。
[0013]實(shí)施例2:
在實(shí)施例1的基礎(chǔ)上,本實(shí)施例首次登錄服務(wù)器時(shí)進(jìn)行完整的證書認(rèn)證,確保證書的真實(shí)性;
認(rèn)證通過后,雙方分別緩存對方的公鑰證書certc(客戶端公鑰證書)和Certs(服務(wù)器端公鑰證書);
再次登錄時(shí),服務(wù)器與客戶端只需利用本地緩存的對方公鑰證書通過公鑰加密算法進(jìn)行認(rèn)證并協(xié)商緩存一個(gè)對稱根密鑰;
在規(guī)定時(shí)限內(nèi)登錄時(shí),使用緩存的對稱根密鑰進(jìn)行認(rèn)證;
超過時(shí)限后,使用緩存的公鑰證書認(rèn)證并產(chǎn)生另一個(gè)新的對稱根密鑰;
通過上述初步認(rèn)證后,最后再查詢證書撤銷列表(Certificat1n Revocat1n List,CRL)確保數(shù)字證書沒有過期或者被撤銷,至此身份認(rèn)證完成。
[0014]實(shí)施例3:
如圖1所示,在實(shí)施例2的基礎(chǔ)上,本實(shí)施例所述認(rèn)證方法采用ssh協(xié)議作為遠(yuǎn)程登錄協(xié)議,客戶端操作系統(tǒng)為Windows,登錄軟件為putty(—種Linux遠(yuǎn)程登錄工具),增加一個(gè)認(rèn)證代理用來與服務(wù)器端進(jìn)行身份認(rèn)證;服務(wù)器端操作系統(tǒng)為安裝有openssh-server的Iinux操作系統(tǒng),并修改sshd進(jìn)程文件以支持public key(公鑰)認(rèn)證功能,同時(shí)增加一個(gè)身份認(rèn)證模塊用來執(zhí)行認(rèn)證功能。
[0015]實(shí)施例4:
在實(shí)施例3的基礎(chǔ)上,本實(shí)施例以服務(wù)器端認(rèn)證客戶端為例,服務(wù)器端需要維護(hù)一個(gè)登錄用戶列表,列表包括:登錄用戶ID、最后登錄時(shí)間、對稱根密鑰及其時(shí)限、登錄用戶公鑰證書及其時(shí)效。
[0016]實(shí)施例5:
如圖2所示,在實(shí)施例4的基礎(chǔ)上,本實(shí)施例所述認(rèn)證方法的身份認(rèn)證流程為:
1)客戶端通過認(rèn)證代理向服務(wù)器端說明自己身份;
2)服務(wù)器端通過身份認(rèn)證模塊查詢本地登錄用戶列表,若客戶端在列表中:
a)對稱根密鑰仍有效,則使用對稱根密鑰認(rèn)證客戶端;
b)若對稱根密鑰失效,則使用公鑰證書認(rèn)證客戶端;
3)若客戶端不在登錄用戶列表中,服務(wù)器端通過驗(yàn)證證書鏈認(rèn)證客戶端數(shù)字證書;
4)查詢證書撤銷列表CRL確定證書的有效性;
5)認(rèn)證結(jié)束,服務(wù)器端更新登錄用戶列表。
[0017]以上實(shí)施方式僅用于說明本發(fā)明,而并非對本發(fā)明的限制,有關(guān)技術(shù)領(lǐng)域的普通技術(shù)人員,在不脫離本發(fā)明的精神和范圍的情況下,還可以做出各種變化和變型,因此所有等同的技術(shù)方案也屬于本發(fā)明的范疇,本發(fā)明的專利保護(hù)范圍應(yīng)由權(quán)利要求限定。
【主權(quán)項(xiàng)】
1.基于證書密鑰緩存的快速身份認(rèn)證方法,其特征在于:所述認(rèn)證方法通過修改傳統(tǒng)遠(yuǎn)程登錄協(xié)議,在服務(wù)器和客戶端分別增加身份認(rèn)證模塊和認(rèn)證代理,使兩端能夠?qū)?shù)字證書作為遠(yuǎn)程登錄及身份認(rèn)證的憑據(jù)。2.根據(jù)權(quán)利要求1所述的基于證書密鑰緩存的快速身份認(rèn)證方法,其特征在于: 首次登錄服務(wù)器時(shí)進(jìn)行完整的證書認(rèn)證,確保證書的真實(shí)性; 認(rèn)證通過后,雙方分別緩存對方的客戶端公鑰證書和服務(wù)器端公鑰證書; 再次登錄時(shí),服務(wù)器與客戶端只需利用本地緩存的對方公鑰證書通過公鑰加密算法進(jìn)行認(rèn)證并協(xié)商緩存一個(gè)對稱根密鑰; 在規(guī)定時(shí)限內(nèi)登錄時(shí),使用緩存的對稱根密鑰進(jìn)行認(rèn)證; 超過時(shí)限后,使用緩存的公鑰證書認(rèn)證并產(chǎn)生另一個(gè)新的對稱根密鑰; 通過上述初步認(rèn)證后,最后再查詢證書撤銷列表確保數(shù)字證書沒有過期或者被撤銷,至此身份認(rèn)證完成。3.根據(jù)權(quán)利要求2所述的基于證書密鑰緩存的快速身份認(rèn)證方法,其特征在于,所述認(rèn)證方法采用ssh協(xié)議作為遠(yuǎn)程登錄協(xié)議,客戶端操作系統(tǒng)為Windows,登錄軟件為putty,增加一個(gè)認(rèn)證代理用來與服務(wù)器端進(jìn)行身份認(rèn)證;服務(wù)器端操作系統(tǒng)為安裝有openssh-server的Iinux操作系統(tǒng),并修改sshd以支持公鑰認(rèn)證功能,同時(shí)增加一個(gè)身份認(rèn)證模塊用來執(zhí)行認(rèn)證功能。4.根據(jù)權(quán)利要求3所述的基于證書密鑰緩存的快速身份認(rèn)證方法,其特征在于,所述服務(wù)器端維護(hù)一個(gè)登錄用戶列表,列表包括:登錄用戶ID、最后登錄時(shí)間、對稱根密鑰及其時(shí)限、登錄用戶公鑰證書及其時(shí)效。5.根據(jù)權(quán)利要求4所述的基于證書密鑰緩存的快速身份認(rèn)證方法,其特征在于,所述認(rèn)證方法的身份認(rèn)證流程為: 1)客戶端通過認(rèn)證代理向服務(wù)器端說明自己身份; 2)服務(wù)器端通過身份認(rèn)證模塊查詢本地登錄用戶列表,若客戶端在列表中: a)對稱根密鑰仍有效,則使用對稱根密鑰認(rèn)證客戶端; b)若對稱根密鑰失效,則使用公鑰證書認(rèn)證客戶端; 3)若客戶端不在登錄用戶列表中,服務(wù)器端通過驗(yàn)證證書鏈認(rèn)證客戶端數(shù)字證書; 4)查詢證書撤銷列表確定證書的有效性; 5)認(rèn)證結(jié)束,服務(wù)器端更新登錄用戶列表。
【文檔編號(hào)】H04L29/06GK105959286SQ201610314750
【公開日】2016年9月21日
【申請日】2016年5月13日
【發(fā)明人】郝虹, 于治樓, 劉強(qiáng)
【申請人】浪潮集團(tuán)有限公司