本發(fā)明涉及數(shù)字證書認證的技術領域,尤其涉及一種針對慢速的數(shù)字證書驗證設備緩存其驗證結果的加速方法。
背景技術:
一些數(shù)字證書硬件設備無法達到較高的速度,大量請求時會導致用戶等待時間過長或無法提供服務。比如,支持SM2算法的密碼設備一般驗證次數(shù)每秒200-300次,某些強度更高的算法驗證速度會更慢,可能低于每秒50次。目前的數(shù)字證書無法滿足快速驗證的要求。為此,申請人進行了有益的探索和嘗試,找到了解決上述問題的辦法,下面將要介紹的技術方案便是在這種背景下產(chǎn)生的。
技術實現(xiàn)要素:
本發(fā)明的目的在于:提供一種在保證其安全性的情況下,加速認證過程的針對慢速的數(shù)字證書驗證設備緩存其驗證結果的加速方法,由于認證通過的數(shù)字證書在有效期內(nèi),如果沒有被吊銷,則一直有效,本發(fā)明的加速方法則是通過緩存證書以及證書認證結果,避開每次都使用硬件設備進行數(shù)字證書認證的慢速過程,從而大大加快認證過程。
本發(fā)明所解決的技術問題可以采用以下技術方案來實現(xiàn):
針對慢速的數(shù)字證書驗證設備緩存其驗證結果的加速方法,包括以下步驟:
步驟1,獲取需要進行認證的數(shù)字證書全文;
步驟2,根據(jù)步驟1獲取的數(shù)字證書全文查詢數(shù)字證書驗證設備的緩存表;
步驟3,判斷步驟1獲取的數(shù)字證書全文是否命中數(shù)字證書驗證設備的緩存表中的緩存項,若判定為命中,則進入步驟7,若判定為未命中,則進入步驟4;
步驟4,使用數(shù)字證書驗證設備對需要進行認證的數(shù)字證書進行認證操作;
步驟5,判斷數(shù)字證書驗證設備是否對需要進行認證的數(shù)字證書驗證成功,若判定為驗證成功,則進入步驟6,若判定為驗證失敗,則進入步驟10;
步驟6,將驗證成功的數(shù)字證書和緩存生效時間作為緩存項插入至數(shù)字證書驗證設備的緩存表內(nèi);
步驟7,判斷驗證成功的數(shù)字證書是否過期,若判定為過期,則進入步驟10,若判定為未過期,則進入步驟8;
步驟8,判斷驗證成功的數(shù)字證書是否被吊銷,若判定為被吊銷,則進入步驟10,若判定為未被吊銷,則進入步驟9;
步驟9,輸出數(shù)字證書認證成功;
步驟10,輸出數(shù)字證書認證失敗。
在發(fā)明的一個優(yōu)選實施例中,所述步驟2包括以下步驟:
步驟2.1,獲取數(shù)字證書的證書指紋,并以該證書指紋作為索引的鍵值;
步驟2.2,根據(jù)步驟2.1的鍵值查詢數(shù)字證書驗證設備的緩存表;
步驟2.3,判斷該鍵值在緩存表內(nèi)是否存在,若判定為存在,則進入步驟2.4,若判定為不存在,則進入步驟2.9;
步驟2.4,判斷該鍵值所對應的緩存項是否已過期,若判定為已過期,則將該鍵值所對應的緩存項從緩存表上刪除,隨后進入步驟2.9,若判定為未過期,則進入步驟2.5;
步驟2.5,將該鍵值所對應的緩存項與需要進行認證的數(shù)字證書全文進行比較;
步驟2.6,判斷該鍵值所對應的緩存項與需要進行認證的數(shù)字證書全文是否匹配,若判定為匹配成功,則進入步驟2.7,若判定為匹配失敗,則進入步驟2.8;
步驟2.7,輸出緩存命中;
步驟2.8,輸出緩存未命中。
由于采用了如上的技術方案,本發(fā)明的有益效果在于:本發(fā)明的加速方法通過在數(shù)字證書驗證設備的緩存數(shù)字證書以及證書認證結果,當數(shù)字證書需要進行認證時,先對數(shù)字證書驗證設備的緩存進行查詢,若發(fā)現(xiàn)緩存項,則不用使用硬件設備進行數(shù)字證書認證,避免硬件設備進行數(shù)字證書認證的慢速過程,從而大大加快認證過程,可以從原有每秒幾十至幾百次的驗證速度提高到每秒幾千至幾萬次。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明的針對慢速的數(shù)字證書驗證設備緩存其驗證結果的加速方法的流程圖。
圖2是本發(fā)明的查詢數(shù)字證書設備的緩存表的流程圖。
具體實施方式
為了使本發(fā)明實現(xiàn)的技術手段、創(chuàng)作特征、達成目的與功效易于明白了 解,下面結合具體圖示,進一步闡述本發(fā)明。
參見圖1,圖中給出的是本發(fā)明的針對慢速的數(shù)字證書驗證設備緩存其驗證結果的加速方法,包括以下步驟:
步驟0,開始數(shù)字證書認證;
步驟1,輸入需要進行認證的數(shù)字證書全文;
步驟2,獲取步驟1輸入的數(shù)字證書全文,并根據(jù)該數(shù)字證書全文查詢數(shù)字證書驗證設備的緩存表;
步驟3,判斷步驟1輸入的數(shù)字證書全文是否命中數(shù)字證書驗證設備的緩存表中的緩存項,若判定為命中,則進入步驟7,若判定為未命中,則進入步驟4;
步驟4,使用數(shù)字證書驗證設備對需要進行認證的數(shù)字證書進行認證操作;
步驟5,判斷數(shù)字證書驗證設備是否對需要進行認證的數(shù)字證書驗證成功,若判定為驗證成功,則進入步驟6,若判定為驗證失敗,則進入步驟10;
步驟6,將驗證成功的數(shù)字證書和緩存生效時間作為緩存項插入至數(shù)字證書驗證設備的緩存表內(nèi);
步驟7,判斷驗證成功的數(shù)字證書是否過期,若判定為過期,則進入步驟10,若判定為未過期,則進入步驟8;
步驟8,判斷驗證成功的數(shù)字證書是否被吊銷,若判定為被吊銷,則進入步驟10,若判定為未被吊銷,則進入步驟9;
步驟9,輸出數(shù)字證書認證成功;
步驟10,輸出數(shù)字證書認證失敗。
步驟11,結束本次數(shù)字證書認證。
在本實施例中,參見圖2,步驟2包括以下步驟:
步驟2.0,開始查詢數(shù)字證書設備的緩存表;
步驟2.1,獲取步驟1輸入的數(shù)字證書全文;
步驟2.2,獲取步驟1輸入的數(shù)字證書全文的證書指紋,并以該證書指紋作為索引的鍵值;
步驟2.3,根據(jù)步驟2.2的鍵值查詢數(shù)字證書驗證設備的緩存表;
步驟2.4,判斷該鍵值在緩存表內(nèi)是否存在,若判定為存在,則進入步驟2.5,若判定為不存在,則進入步驟2.10;
步驟2.5,獲取與該鍵值相對應的緩存項中的生效時間,并將該生效時間與當前時間進行比較,用以判斷該鍵值所對應的緩存項是否已過期,若判定為已過期,則將該鍵值所對應的緩存項從緩存表上刪除,隨后進入步驟2.10,若判定為未過期,則進入步驟2.6;
步驟2.6,將該鍵值所對應的緩存項與需要進行認證的數(shù)字證書全文進行比較;
步驟2.7,判斷該鍵值所對應的緩存項與需要進行認證的數(shù)字證書全文是否匹配,若判定為匹配成功,則進入步驟2.8,若判定為匹配失敗,則進入步驟2.9;
步驟2.8,輸出緩存命中;
步驟2.9,輸出緩存未命中。
步驟2.10,結束本次查詢數(shù)字證書設備的緩存表。
以上顯示和描述了本發(fā)明的基本原理和主要特征和本發(fā)明的優(yōu)點。本行業(yè)的技術人員應該了解,本發(fā)明不受上述實施例的限制,上述實施例和說明書中描述的只是說明本發(fā)明的原理,在不脫離本發(fā)明精神和范圍的前提下,本發(fā)明還會有各種變化和改進,這些變化和改進都落入要求保護的本發(fā)明范圍內(nèi)。本發(fā)明要求保護范圍由所附的權利要求書及其等效物界定。