Https連接驗證的方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及信息安全領(lǐng)域,特別是涉及一種HTTPS連接驗證的方法和裝置。
【背景技術(shù)】
[0002]由于信息安全等各方面的因素,一些網(wǎng)站使用自己的證書體系,自己生成根證書,自己簽發(fā)證書,例如鐵路客戶服務(wù)中心需要安裝其根證書。因這類網(wǎng)站的根證書,不是由國際上受信任的證書簽發(fā)機構(gòu)簽發(fā),所以沒有內(nèi)置在操作系統(tǒng)的證書Store中。
[0003]當瀏覽器訪問這些網(wǎng)站,進行HTTPS (Hyper Transfer Protocol Over SecureSocket Layer,以安全為目標的超文本傳輸協(xié)議)驗證時,或彈出安全警告,或者由于證書原因而阻止繼續(xù)訪問,用戶為了繼續(xù)訪問,需要按照網(wǎng)站要求安裝根證書,因安裝的根證書并非國際上受信任的根證書,對整個系統(tǒng)的安全造成潛在的威脅。
【發(fā)明內(nèi)容】
[0004]基于此,有必要針對傳統(tǒng)的HTTPS連接驗證需要安裝根證書而影響系統(tǒng)安全的問題,提供一種HTTPS連接驗證的方法,不需安裝根證書,提高了系統(tǒng)的安全性。
[0005]此外,還有必要提供一種HTTPS連接驗證的裝置。
[0006]一種HTTPS連接驗證的方法,包括以下步驟:
[0007]向網(wǎng)站發(fā)起HTTPS連接請求時,獲取所述網(wǎng)站的證書;
[0008]對所述證書及除根證書外的所述證書的其余父證書進行驗證;
[0009]若所述證書及其余父證書驗證通過,則判斷所述根證書是否在預(yù)先設(shè)置的認可的證書庫中,若是,則所述證書驗證通過,繼續(xù)HTTPS連接,若否,則對所述證書、根證書及HTTPS連接所訪問網(wǎng)站的統(tǒng)一資源定位符進行校驗,判斷所述證書、根證書及HTTPS連接所訪問網(wǎng)站的統(tǒng)一資源定位符是否在預(yù)先配置的證書驗證集合中,若是,則所述證書驗證通過,繼續(xù)HTTPS連接,否則結(jié)束。
[0010]一種HTTPS連接驗證的裝置,包括:
[0011]獲取模塊,用于向網(wǎng)站發(fā)起HTTPS連接請求時,獲取所述網(wǎng)站的證書;
[0012]驗證模塊,用于對所述證書及除根證書外的所述證書的其余父證書進行驗證;
[0013]判斷模塊,用于當所述證書及其余父證書驗證通過時,判斷所述根證書是否在預(yù)先設(shè)置的認可的證書庫中,若是,則所述證書驗證通過,繼續(xù)HTTPS連接,若否,則對所述證書、根證書及HTTPS連接所訪問網(wǎng)站的統(tǒng)一資源定位符進行校驗,判斷所述證書、根證書及HTTPS連接所訪問網(wǎng)站的統(tǒng)一資源定位符是否在預(yù)先配置的證書驗證集合中,若是,則所述證書驗證通過,繼續(xù)HTTPS連接,否則結(jié)束。
[0014]上述HTTPS連接驗證的方法和裝置,在向網(wǎng)站發(fā)起HTTPS請求時,獲取網(wǎng)站的證書,對該證書及其父證書進行驗證,并在驗證通過后判斷對應(yīng)的根證書是否在認可的證書庫中,若是,則該證書驗證通過,若否,則對該證書、根證書及對應(yīng)的HTTPS所訪問的網(wǎng)站的統(tǒng)一資源定位符進行校驗,若在配置的證書驗證集合中,則證書驗證通過,進行HTTPS連接,不需安裝根證書,避免了對系統(tǒng)的威脅,提高了系統(tǒng)的安全性。
【附圖說明】
[0015]圖1為一個實施例中HTTP連接驗證的方法的應(yīng)用環(huán)境圖;
[0016]圖2為一個實施例中HTTPS連接驗證的方法的流程圖;
[0017]圖3為一個實施例中HTTPS連接驗證的裝置的結(jié)構(gòu)框圖;
[0018]圖4為另一個實施例中HTTPS連接驗證的裝置的結(jié)構(gòu)框圖;
[0019]圖5為另一個實施例中HTTPS連接驗證的裝置的結(jié)構(gòu)框圖。
【具體實施方式】
[0020]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進行進一步詳細說明。應(yīng)當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0021]圖1為一個實施例中HTTP連接驗證的方法的應(yīng)用環(huán)境圖。如圖1所示,該應(yīng)用環(huán)境中包括服務(wù)器110和終端120,安裝在終端120上的客戶端訪問服務(wù)器110上的網(wǎng)站。網(wǎng)站是根據(jù)一定的規(guī)則,使用HTML (Hyper Text Markup Language,超文本標記語言)等工具制作的用于展示特定內(nèi)容的相關(guān)網(wǎng)頁的集合。終端120可為個人計算機、平板電腦、智能手機、個人數(shù)字助理等??蛻舳丝蔀闉g覽器客戶端或其他應(yīng)用程序的客戶端。該其他應(yīng)用程序的客戶端如銀行網(wǎng)銀客戶端等。
[0022]終端120上的客戶端向服務(wù)器110上的網(wǎng)站發(fā)起HTTPS連接請求,獲取網(wǎng)站證書,對該網(wǎng)站的證書及其除所對應(yīng)的根證書外的其余父證書進行驗證,驗證通過后,對根證書進行驗證,判斷該根證書是否在預(yù)先設(shè)置的認可的證書庫中,若是則驗證通過,若否,則對該證書、相應(yīng)的根證書及該HTTPS連接所訪問網(wǎng)站的URL(Uniform Resource Locator,統(tǒng)一資源定位符)進行校驗,判斷根據(jù)該證書的哈希值、相應(yīng)的根證書的哈希值及該HTTPS連接所訪問網(wǎng)站的URL得到的唯一值是否在預(yù)先配置的證書驗證集合中,若是,則該證書驗證通過,接受該證書進行HTTPS連接,若否,則提醒用戶是否繼續(xù)訪問該網(wǎng)站,若用戶選擇繼續(xù)訪問,則證書驗證通過,繼續(xù)HTTPS連接,若用戶選擇結(jié)束訪問,則證書驗證失敗,結(jié)束HTTPS連接。
[0023]圖2為一個實施例中HTTPS連接驗證的方法的流程圖。圖2中的HTTPS連接驗證的方法應(yīng)用于圖1中的應(yīng)用環(huán)境中。如圖2所示,該HTTPS連接驗證的方法,包括以下步驟:
[0024]步驟202,向網(wǎng)站發(fā)起HTTPS連接請求時,獲取該網(wǎng)站的證書。
[0025]具體的,客戶端向網(wǎng)站發(fā)起HTTPS連接請求,并獲取該網(wǎng)站的證書。HTTPS是以安全為目標的HTTP通道,即在HTTP下加入SSL (Secure Socket Layer,安全套接層)層,其在傳輸層對網(wǎng)絡(luò)連接進行加密。
[0026]步驟204,對該證書及除根證書外的該證書的其余父證書進行驗證。
[0027]具體的,由客戶端(瀏覽器客戶端或網(wǎng)銀客戶端等)對證書及除根證書外的其余父證書進行驗證,具體包括:首先判斷該證書是否有效,包括判斷證書的有效期、證書是否頒發(fā)給所訪問網(wǎng)站、證書的Hash值(哈希值)是否正確,若該證書有效,則遞歸判斷該證書是否由父證書簽發(fā),若是,則判斷該證書的父證書是否有效,包括判斷父證書的有效期、父證書是否頒發(fā)給所訪問網(wǎng)站、父證書的Hash值(哈希值)是否正確等,如此遞歸驗證,直到除了根證書外的其余父證書均驗證通過。若該證書無效或者該證書的某一父證書驗證失敗,則該證書驗證失敗。
[0028]步驟206,若該證書及其余父證書驗證通過,則判斷該根證書是否在預(yù)先設(shè)置的認可的證書庫中,若否,則執(zhí)行步驟208,若是,則執(zhí)行步驟210。
[0029]具體的,預(yù)先設(shè)置的認可的證書庫中根證書是指在安裝操作系統(tǒng)默認的受信任的根證書和/或由用戶選擇安裝在受信任位置的根證書。安裝在不同的Store(位置)的根證書,其安全級別也不同。以瀏覽器客戶端為例,瀏覽器客戶端認可安裝在指定位置的根證書為受信任的根證書。受信任的根證書是指客戶端能接受的根證書。
[0030]步驟208,對該證書、根證書及HTTPS連接所訪問網(wǎng)站的統(tǒng)一資源定位符進行校驗,判斷該證書、根證書及HTTPS連接所訪問網(wǎng)站的統(tǒng)一資源定位符是否在預(yù)先配置的證書驗證集合中,若是,則執(zhí)行步驟210,否則結(jié)束。
[0031 ] 在向網(wǎng)站發(fā)起HTTPS連接請求的步驟之前,該HTTPS連接驗證的方法還包括:接收服務(wù)端推送的預(yù)先配置的證書驗證集合。
[0032]具體的,接收服務(wù)端通過云服務(wù)推送的預(yù)先