一種根證書存儲裝置及安全接入方法
【技術(shù)領(lǐng)域】
[0001]本申請涉及通信安全領(lǐng)域,尤其涉及一種根證書存儲裝置及使用根證書存儲裝置實現(xiàn)安全接入的方法。
【背景技術(shù)】
[0002]為了滿足PKI技術(shù)在手機上的應(yīng)用,例如正確地建立https連接,手機中需要維護很多CA站點的根證書。目前市面上的手機系統(tǒng)中,具有兩類根證書管理辦法。一類是對于知名CA頒發(fā)機構(gòu),一般手機內(nèi)都是內(nèi)置這些機構(gòu)的CA根證書到手機只讀存儲區(qū),用戶和應(yīng)用可以使用這些CA根證書但無法更改。這類管理辦法會導(dǎo)致沒有內(nèi)置到手機中的CA頒發(fā)的站點證書在建立https連接時系統(tǒng)無法自動驗證通過。第二類管理方法是對于沒有內(nèi)置到手機系統(tǒng)中的CA根證書,在建立連接時,詢問用戶是否信任,如果用戶信任,那么將這類根證書存儲到系統(tǒng)中,以后再訪問任何由該CA頒發(fā)的站點證書時都可以自動驗證通過。但這導(dǎo)致一個問題:如果這個CA假冒了其他的應(yīng)用系統(tǒng)的站點,那么會導(dǎo)致其他應(yīng)用在連接到假冒的服務(wù)器時,被系統(tǒng)自動驗證通過,無法收到任何提示,大大增加了系統(tǒng)中應(yīng)用的風(fēng)險,有可能導(dǎo)致用戶信息及金融信息的泄漏。
【發(fā)明內(nèi)容】
[0003]本申請的目標(biāo)在于提供一種使應(yīng)用能較安全地建立https連接的方法和裝置。
[0004]本申請的目標(biāo)由一種根證書存儲裝置實現(xiàn),其包括用于保存知名CA根證書的固定存儲區(qū),及用于保存可信任根證書的可擴展存儲區(qū),其中所述可擴展存儲區(qū)包括分別以應(yīng)用開發(fā)者為名稱的多個子目錄,每一子目錄包括其名稱對應(yīng)的應(yīng)用開發(fā)者信任的一個或多個CA根證書。
[0005]在本說明書中,術(shù)語“知名CA”指公認(rèn)的安全根證書簽發(fā)機構(gòu),如Verisign、GlobalsigriNBeijing CA等。
[0006]本申請的目標(biāo)還由一種使用前述根證書存儲裝置實現(xiàn)安全接入的方法實現(xiàn),該方法包括:
[0007]在需要驗證證書時,確定固定存儲區(qū)是否有相應(yīng)的CA根證書;
[0008]在所述固定存儲區(qū)不包含相應(yīng)的CA根證書時,獲取所述應(yīng)用的開發(fā)者名稱;
[0009]確定可擴展存儲區(qū)是否包含以所述開發(fā)者名稱命名的子目錄;
[0010]在所述可擴展存儲區(qū)包含以所述開發(fā)者名稱命名的子目錄時,確定該子目錄中是否包含相應(yīng)的CA根證書;
[0011]在所述可擴展存儲區(qū)不包含以所述開發(fā)者名稱命名的子目錄或者在子目錄中不包含相應(yīng)的CA根證書時,詢問用戶是否信任擬連接站點的根證書;
[0012]在用戶確認(rèn)不信任時斷開連接。
[0013]本申請的目標(biāo)還由一種實現(xiàn)安全接入的裝置實現(xiàn),該裝置包括:
[0014]固定存儲區(qū)檢查模塊,用于在需要驗證證書時確定固定存儲區(qū)是否有相應(yīng)的CA根證書;
[0015]開發(fā)者名稱獲取模塊,用于在所述固定存儲區(qū)不包含相應(yīng)的CA根證書時獲取所述應(yīng)用的開發(fā)者名稱;
[0016]子目錄檢查模塊,用于確定可擴展存儲區(qū)是否包含以所述開發(fā)者名稱命名的子目錄;
[0017]子目錄根證書檢查模塊,用于在所述可擴展存儲區(qū)包含以所述開發(fā)者名稱命名的子目錄時,確定該子目錄中是否包含相應(yīng)的CA根證書;
[0018]信任確定模塊,用于在所述可擴展存儲區(qū)不包含以所述開發(fā)者名稱命名的子目錄或者在子目錄中不包含相應(yīng)的CA根證書時,詢問用戶是否信任擬連接站點的根證書;
[0019]連接斷開模塊,用于在用戶確認(rèn)不信任時斷開連接。
[0020]本發(fā)明在允許用戶可以添加其他CA根證書到系統(tǒng)可信根證書存儲區(qū)的基礎(chǔ)上,以應(yīng)用開發(fā)者來隔離這些CA根證書,使不同應(yīng)用開發(fā)者開發(fā)的應(yīng)用信任的根證書不會互相影響。這樣既保證了這些應(yīng)用能夠以后自動連接到他們CA頒發(fā)的站點證書的服務(wù)器,也保障了其他應(yīng)用不會被這種獨立的行為影響而導(dǎo)致連接到假冒的站點,從而導(dǎo)致信息的失竊。換言之,本發(fā)明使得應(yīng)用可以使用用戶自維護的可信任根證書區(qū)內(nèi)的本應(yīng)用開發(fā)者區(qū)域內(nèi)的CA根證書來驗證https站點證書,不能使用任何其他區(qū)域的CA根證書,增強了不同應(yīng)用間的安全性。
[0021]除非明確指出,在此所用的單數(shù)形式“一”、“該”均包括復(fù)數(shù)含義(即具有“至少一”的意思)。應(yīng)當(dāng)進一步理解,說明書中使用的術(shù)語“具有”、“包括”和/或“包含”表明存在所述的特征、步驟、操作、元件和/或部件,但不排除存在或增加一個或多個其他特征、步驟、操作、元件、部件和/或其組合。如在此所用的術(shù)語“和/或”包括一個或多個列舉的相關(guān)項目的任何及所有組合。除非明確指出,在此公開的任何方法的步驟不必精確按照所公開的順序執(zhí)行。
【附圖說明】
[0022]本發(fā)明將在下面參考附圖并結(jié)合優(yōu)選實施例進行更完全地說明。
[0023]圖1為本發(fā)明根證書存儲裝置的存儲區(qū)結(jié)構(gòu)示意圖。
[0024]圖2為根據(jù)本發(fā)明方法的一實施例的流程圖。
[0025]圖3為本發(fā)明的實現(xiàn)安全接入的裝置的一實施例的結(jié)構(gòu)示意圖。
[0026]為清晰起見,這些附圖均為示意性及簡化的圖,它們只給出了對于理解本發(fā)明所必要的細(xì)節(jié),而省略其他細(xì)節(jié)。
【具體實施方式】
[0027]通過下面給出的詳細(xì)描述,本發(fā)明的適用范圍將顯而易見。然而,應(yīng)當(dāng)理解,在詳細(xì)描述和具體例子表明本發(fā)明優(yōu)選實施例的同時,它們僅為說明目的給出。
[0028]圖1示出了本發(fā)明的根證書存儲裝置100的根證書存儲區(qū)結(jié)構(gòu)示意圖,其中根證書存儲裝置100為移動終端如手機的內(nèi)置存儲器或與手機連接的SD卡,根證書存儲裝置100包括用于保存知名CA根證書的固定存儲區(qū)D0,這里面的根證書不能被修改,也不能添加,只能讀取。此區(qū)域內(nèi)的根證書在手機出廠前被內(nèi)置到手機中,用于以后手機內(nèi)應(yīng)用建立https連接時驗證對方站點證書時使用。這個區(qū)域內(nèi)的根證書的有效應(yīng)用范圍為整個手機系統(tǒng)。根證書存儲裝置100還包括用于保存可信任根證書的可擴展存儲區(qū)Dl,此存儲區(qū)的內(nèi)容經(jīng)用戶同意,可以修改,即可以添加或刪除里面的根證書。存儲區(qū)Dl包括分別以應(yīng)用開發(fā)者名稱Namei…NameN命名的多個子目錄,這些子目錄下分別存放各個應(yīng)用需要的CA根證書。每一子目錄包括其名稱對應(yīng)的應(yīng)用開發(fā)者信任的一個或多個CA根證書。
[0029]圖2示出了根據(jù)本發(fā)明方法的一實施例的流程圖,該方法用于實現(xiàn)安全接入,該方法開始于步驟S10,當(dāng)手機中的一應(yīng)用訪問一個https服務(wù)器時,需要驗證整個證書鏈的完整和正確性,首先在根證書固定存儲區(qū)DO區(qū)域查找是否有此服務(wù)器站點證書SC的CA根證書。如果有,則處理進行到步驟S70,使用此CA根證書驗證SC;如果沒有,則處理進行到步驟S20,從應(yīng)用中獲取該應(yīng)用的開發(fā)者名稱例如“AND”。之后,處理進行到步驟S30,確