一种根证书存储装置及安全接入方法
【技术领域】
[0001]本申请涉及通信安全领域,尤其涉及一种根证书存储装置及使用根证书存储装置实现安全接入的方法。
【背景技术】
[0002]为了满足PKI技术在手机上的应用,例如正确地建立https连接,手机中需要维护很多CA站点的根证书。目前市面上的手机系统中,具有两类根证书管理办法。一类是对于知名CA颁发机构,一般手机内都是内置这些机构的CA根证书到手机只读存储区,用户和应用可以使用这些CA根证书但无法更改。这类管理办法会导致没有内置到手机中的CA颁发的站点证书在建立https连接时系统无法自动验证通过。第二类管理方法是对于没有内置到手机系统中的CA根证书,在建立连接时,询问用户是否信任,如果用户信任,那么将这类根证书存储到系统中,以后再访问任何由该CA颁发的站点证书时都可以自动验证通过。但这导致一个问题:如果这个CA假冒了其他的应用系统的站点,那么会导致其他应用在连接到假冒的服务器时,被系统自动验证通过,无法收到任何提示,大大增加了系统中应用的风险,有可能导致用户信息及金融信息的泄漏。
【发明内容】
[0003]本申请的目标在于提供一种使应用能较安全地建立https连接的方法和装置。
[0004]本申请的目标由一种根证书存储装置实现,其包括用于保存知名CA根证书的固定存储区,及用于保存可信任根证书的可扩展存储区,其中所述可扩展存储区包括分别以应用开发者为名称的多个子目录,每一子目录包括其名称对应的应用开发者信任的一个或多个CA根证书。
[0005]在本说明书中,术语“知名CA”指公认的安全根证书签发机构,如Verisign、GlobalsigriNBeijing CA等。
[0006]本申请的目标还由一种使用前述根证书存储装置实现安全接入的方法实现,该方法包括:
[0007]在需要验证证书时,确定固定存储区是否有相应的CA根证书;
[0008]在所述固定存储区不包含相应的CA根证书时,获取所述应用的开发者名称;
[0009]确定可扩展存储区是否包含以所述开发者名称命名的子目录;
[0010]在所述可扩展存储区包含以所述开发者名称命名的子目录时,确定该子目录中是否包含相应的CA根证书;
[0011]在所述可扩展存储区不包含以所述开发者名称命名的子目录或者在子目录中不包含相应的CA根证书时,询问用户是否信任拟连接站点的根证书;
[0012]在用户确认不信任时断开连接。
[0013]本申请的目标还由一种实现安全接入的装置实现,该装置包括:
[0014]固定存储区检查模块,用于在需要验证证书时确定固定存储区是否有相应的CA根证书;
[0015]开发者名称获取模块,用于在所述固定存储区不包含相应的CA根证书时获取所述应用的开发者名称;
[0016]子目录检查模块,用于确定可扩展存储区是否包含以所述开发者名称命名的子目录;
[0017]子目录根证书检查模块,用于在所述可扩展存储区包含以所述开发者名称命名的子目录时,确定该子目录中是否包含相应的CA根证书;
[0018]信任确定模块,用于在所述可扩展存储区不包含以所述开发者名称命名的子目录或者在子目录中不包含相应的CA根证书时,询问用户是否信任拟连接站点的根证书;
[0019]连接断开模块,用于在用户确认不信任时断开连接。
[0020]本发明在允许用户可以添加其他CA根证书到系统可信根证书存储区的基础上,以应用开发者来隔离这些CA根证书,使不同应用开发者开发的应用信任的根证书不会互相影响。这样既保证了这些应用能够以后自动连接到他们CA颁发的站点证书的服务器,也保障了其他应用不会被这种独立的行为影响而导致连接到假冒的站点,从而导致信息的失窃。换言之,本发明使得应用可以使用用户自维护的可信任根证书区内的本应用开发者区域内的CA根证书来验证https站点证书,不能使用任何其他区域的CA根证书,增强了不同应用间的安全性。
[0021]除非明确指出,在此所用的单数形式“一”、“该”均包括复数含义(即具有“至少一”的意思)。应当进一步理解,说明书中使用的术语“具有”、“包括”和/或“包含”表明存在所述的特征、步骤、操作、元件和/或部件,但不排除存在或增加一个或多个其他特征、步骤、操作、元件、部件和/或其组合。如在此所用的术语“和/或”包括一个或多个列举的相关项目的任何及所有组合。除非明确指出,在此公开的任何方法的步骤不必精确按照所公开的顺序执行。
【附图说明】
[0022]本发明将在下面参考附图并结合优选实施例进行更完全地说明。
[0023]图1为本发明根证书存储装置的存储区结构示意图。
[0024]图2为根据本发明方法的一实施例的流程图。
[0025]图3为本发明的实现安全接入的装置的一实施例的结构示意图。
[0026]为清晰起见,这些附图均为示意性及简化的图,它们只给出了对于理解本发明所必要的细节,而省略其他细节。
【具体实施方式】
[0027]通过下面给出的详细描述,本发明的适用范围将显而易见。然而,应当理解,在详细描述和具体例子表明本发明优选实施例的同时,它们仅为说明目的给出。
[0028]图1示出了本发明的根证书存储装置100的根证书存储区结构示意图,其中根证书存储装置100为移动终端如手机的内置存储器或与手机连接的SD卡,根证书存储装置100包括用于保存知名CA根证书的固定存储区D0,这里面的根证书不能被修改,也不能添加,只能读取。此区域内的根证书在手机出厂前被内置到手机中,用于以后手机内应用建立https连接时验证对方站点证书时使用。这个区域内的根证书的有效应用范围为整个手机系统。根证书存储装置100还包括用于保存可信任根证书的可扩展存储区Dl,此存储区的内容经用户同意,可以修改,即可以添加或删除里面的根证书。存储区Dl包括分别以应用开发者名称Namei…NameN命名的多个子目录,这些子目录下分别存放各个应用需要的CA根证书。每一子目录包括其名称对应的应用开发者信任的一个或多个CA根证书。
[0029]图2示出了根据本发明方法的一实施例的流程图,该方法用于实现安全接入,该方法开始于步骤S10,当手机中的一应用访问一个https服务器时,需要验证整个证书链的完整和正确性,首先在根证书固定存储区DO区域查找是否有此服务器站点证书SC的CA根证书。如果有,则处理进行到步骤S70,使用此CA根证书验证SC;如果没有,则处理进行到步骤S20,从应用中获取该应用的开发者名称例如“AND”。之后,处理进行到步骤S30,确