CN109905242A - 数字证书的存储、更新、验证方法及装置 - Google Patents
数字证书的存储、更新、验证方法及装置 Download PDFInfo
- Publication number
- CN109905242A CN109905242A CN201711285266.5A CN201711285266A CN109905242A CN 109905242 A CN109905242 A CN 109905242A CN 201711285266 A CN201711285266 A CN 201711285266A CN 109905242 A CN109905242 A CN 109905242A
- Authority
- CN
- China
- Prior art keywords
- digital certificate
- identity information
- verification
- verification data
- user
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供一种数字证书的存储、更新、验证方法及装置,用以克服现有技术中对数字证书的处理导致数字证书的安全性较差的缺陷。数字证书的存储方法包括:获取用户输入的身份信息,并查询与所述身份信息相关联的数字证书;依据所述身份信息及所述数字证书生成所述数字证书对应的校验数据;存储所述数字证书对应的校验数据。本发明中校验数据使得存储在用户客户端***中的数字证书具备可校验性,从而提高数字证书的安全性。
Description
技术领域
本发明涉及数字认证技术领域,尤其涉及一种数字证书的存储、更新、验证方法及装置。
背景技术
数字证书是一种用于标识互联网络实体身份的电子文件,由于采用了公钥密码算法和数字签名技术,因此由CA(Certificate Authority,证书授权)中心签发的数字证书是不可以伪造和篡改的,所以为了使用方便由CA中心签发的数字证书都公开存储,任何人都可以从CA中心下载和获取。
在实际的客户端应用中,为了验证具有数字证书的网络实体身份是否可信,如:采用数字证书保护的网站是否可信,需要从CA中心下载用于验证的根证书链,以便于在网络实体身份认证时做追溯验证使用。现在通常的做法是,这些从CA中心下载的根证书链都存储在计算机***平台的注册表、数据库,或者文件中,任何进入该计算机***平台的用户、甚至程序,都可以对存储根证书链的注册表、数据库或者文件进行删除和增加等操作。
随着计算机和网络应用的普及,越来越多对计算机和网络不了解的普通民众也都加入网络大军行列,尤其是移动互联的应用,更使得网络民众人数喷发式增长。移动支付、移动购物、移动社交平台等更是给犯罪分子提供了更多作案的虚拟空间。这也导致近年来数字证书应用的飞速增长。“道高一尺,魔高一丈”,近年来,不断有高技术的犯罪分子,把眼光盯上了保护网民网络与信息安全的数字证书。通过非法入侵用户计算机***平台,或者通过一些手段诱导用户下载运行有病毒的程序,以使存储用户根证书链的注册表、数据库或者文件中***犯罪分子自制的根证书,这样用户在进入钓鱼网站时,钓鱼网站的数字证书一样可以验证通过而无警告,从而达到成功钓鱼的目的。
因此,现有技术中对数字证书的处理导致数字证书的安全性较差。
发明内容
有鉴于此,本发明所解决的技术问题之一在于提供一种数字证书的存储、更新、验证方法及装置,用以克服现有技术中对数字证书的处理导致数字证书的安全性较差的缺陷。
本发明提供一种数字证书的存储方法,所述方法包括:
获取用户输入的身份信息,并查询与所述身份信息相关联的数字证书;
依据所述身份信息及所述数字证书生成所述数字证书对应的校验数据;
存储所述数字证书对应的校验数据。
优选地,所述依据所述身份信息及所述数字证书生成所述数字证书对应的校验数据的步骤,包括:
依据所述身份信息及所述数字证书计算所述数字证书对应的文件摘要,将所述文件摘要作为所述数字证书对应的校验数据。
优选地,所述依据所述身份信息及所述数字证书计算所述数字证书对应的文件摘要的步骤,包括:
将所述身份信息及所述数字证书顺序连接后作为摘要计算的输入,计算摘要结果,将所述摘要结果作为所述数字证书对应的文件摘要。
本发明还提供一种数字证书的更新方法,所述方法包括:
接收数字证书更新请求,并获取所述数字证书更新请求中的身份信息;
查询与所述身份信息相关联的数字证书及所述数字证书对应的校验数据;其中,所述校验数据依据所述身份信息及所述数字证书生成;
依据所述身份信息、所述数字证书及所述校验数据对所述数字证书进行校验;
若校验通过,则对所述数字证书进行更新操作。
优选地,所述依据所述身份信息、所述数字证书及所述校验数据对所述数字证书进行校验的步骤,包括:
依据所述身份信息及所述数字证书计算所述数字证书对应的文件摘要;
比较所述文件摘要与所述校验数据是否一致;若一致,则确定校验通过。
优选地,所述依据所述身份信息及所述数字证书计算所述数字证书对应的文件摘要的步骤,包括:
将所述身份信息及所述数字证书顺序连接后作为摘要计算的输入,计算摘要结果,将所述摘要结果作为所述数字证书对应的文件摘要。
优选地,在所述对所述数字证书进行更新操作的步骤之后,还包括:
依据所述身份信息及更新操作后的数字证书生成并存储所述更新操作后的数字证书对应的校验数据。
本发明还提供一种数字证书的验证方法,所述方法包括:
接收数字证书验证请求,并获取所述数字证书验证请求中的身份信息;
查询与所述身份信息相关联的数字证书及所述数字证书对应的校验数据;其中,所述校验数据依据所述身份信息及所述数字证书生成;
依据所述身份信息、所述数字证书及所述校验数据对所述数字证书进行校验;
若校验通过,则确定所述数字证书为可信证书。
优选地,所述依据所述身份信息、所述数字证书及所述校验数据对所述数字证书进行校验的步骤,包括:
依据所述身份信息及所述数字证书计算所述数字证书对应的文件摘要;
比较所述文件摘要与所述校验数据是否一致;若一致,则确定校验通过。
优选地,所述依据所述身份信息及所述数字证书计算所述数字证书对应的文件摘要的步骤,包括:
将所述身份信息及所述数字证书顺序连接后作为摘要计算的输入,计算摘要结果,将所述摘要结果作为所述数字证书对应的文件摘要。
本发明还提供一种数字证书的存储装置,所述装置包括:
查询模块,用于获取用户输入的身份信息,并查询与所述身份信息相关联的数字证书;
生成模块,用于依据所述身份信息及所述数字证书生成所述数字证书对应的校验数据;
存储模块,用于存储所述数字证书对应的校验数据。
本发明还提供一种数字证书的更新装置,所述装置包括:
第一获取模块,用于接收数字证书更新请求,并获取所述数字证书更新请求中的身份信息;
第一查找模块,用于查询与所述身份信息相关联的数字证书及所述数字证书对应的校验数据;其中,所述校验数据依据所述身份信息及所述数字证书生成;
第一校验模块,用于依据所述身份信息、所述数字证书及所述校验数据对所述数字证书进行校验;
更新模块,用于若所述第一校验模块校验通过,则对所述数字证书进行更新操作。
本发明还提供一种数字证书的验证装置,所述装置包括:
第二获取模块,用于接收数字证书验证请求,并获取所述数字证书验证请求中的身份信息;
第二查找模块,用于查询与所述身份信息相关联的数字证书及所述数字证书对应的校验数据;其中,所述校验数据依据所述身份信息及所述数字证书生成;
第二校验模块,用于依据所述身份信息、所述数字证书及所述校验数据对所述数字证书进行校验;
确定模块,用于若所述第二校验模块校验通过,则确定所述数字证书为可信证书。
本发明在用户输入信息时,获取用户输入的身份信息,并查询与所述身份信息相关联的数字证书,然后依据所述身份信息及所述数字证书生成所述数字证书对应的校验数据,并存储所述数字证书对应的校验数据。校验数据使得存储在用户客户端***中的数字证书具备可校验性,从而提高数字证书的安全性,进而一方面可以防止在非用户本人授权的情况下,由其它用户或程序对数字证书进行增删等更新操作;另一方面可以在用户使用数字证书验证时,对存储的数字证书进行校验,及时发现数字证书被篡改的情况。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1为本发明实施例一的一种数字证书的存储方法的步骤流程图;
图2为本发明实施例二的一种用户初始化过程的步骤流程图;
图3为本发明实施例二的一种数字证书的存储方法的步骤流程图;
图4为本发明实施例三的一种数字证书的更新方法的步骤流程图;
图5为本发明实施例四的一种数字证书的更新方法的步骤流程图;
图6为本发明实施例五的一种数字证书的验证方法的步骤流程图;
图7为本发明实施例六的一种数字证书的验证方法的步骤流程图;
图8为本发明实施例八的一种数字证书的存储装置的结构框图;
图9为本发明实施例九的一种数字证书的更新装置的结构框图;
图10为本发明实施例十的一种数字证书的验证装置的结构框图。
具体实施方式
当然,实施本发明实施例的任一技术方案必不一定需要同时达到以上的所有优点。
为了使本领域的人员更好地理解本发明实施例中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明实施例一部分实施例,而不是全部的实施例。基于本发明实施例中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本发明实施例保护的范围。
下面结合本发明实施例附图进一步说明本发明实施例具体实现。
实施例一
参照图1,示出了本发明实施例一的一种数字证书的存储方法的步骤流程图。
本实施例的数字证书的存储方法包括以下步骤:
步骤101,获取用户输入的身份信息,并查询与所述身份信息相关联的数字证书。
在实际的客户端应用中,为了验证具有数字证书的网络实体身份是否可信,可以从CA中心下载用于验证的根证书链(包括多个数字证书)。这些从CA中心下载的数字证书可以存储在用户客户端本地的存储***中,并且可以将数字证书与对应的身份信息相关联。其中存储***可以是注册表、数据库、文件,或者其它可用于存储的***。
获取到身份信息后,依据该身份信息可以从存储***中查询与该身份信息相关联的数字证书。其中,身份信息可以包括用户名或ID(Identification,身份标识)号、用户口令等。
步骤102,依据所述身份信息及所述数字证书生成所述数字证书对应的校验数据。
依据所述身份信息及所述数字证书进行相关计算,可以生成所述数字证书对应的校验数据。比如,可以通过依据所述身份信息及所述数字证书计算文件摘要的方式生成校验数据。当然,本发明实施例还可以通过计算其他相关参数的方式生成校验数据,只要能够保证生成的校验数据唯一对应数字证书即可。
步骤103,存储所述数字证书对应的校验数据。
在生成校验数据后,即可将所述数字证书对应的校验数据存储在上述存储***中。比如,可以预先在存储***中建立与上述身份信息相关联的存储空间,将与身份信息相关联的数字证书对应的校验数据存储在与相同身份信息相关联的存储空间中。
本发明实施例在用户输入信息时,获取用户输入的身份信息,并查询与所述身份信息相关联的数字证书,然后依据所述身份信息及所述数字证书生成所述数字证书对应的校验数据,并存储所述数字证书及所述数字证书对应的校验数据。校验数据使得存储在用户客户端***中的数字证书具备可校验性,从而提高数字证书的安全性,进而一方面可以防止在非用户本人授权的情况下,由其它用户或程序对数字证书进行增删等更新操作;另一方面可以在用户使用数字证书验证时,对存储的数字证书进行校验,及时发现数字证书被篡改的情况。
实施例二
本发明实施例中的数字证书的存储过程可以在用户初始化过程中执行。
参照图2,示出了本发明实施例二的一种用户初始化过程的步骤流程图。
本实施例的用户初始化过程包括以下步骤:
步骤201,获取用户输入的身份标识信息。
在初始化过程中,用户可以在客户端相关应用中进行注册,设置自己的身份标识信息,如用户名或ID号等。
步骤202,根据身份标识信息在用于存储数字证书的存储***中建立与用户相关联的存储空间。
其中,存储***可以为用于存储数字证书的注册表,或者数据库,或者文件等。从CA中心下载根证书链后,即可将与用户相关联的数字证书存储在与同一用户相关联的存储空间中。
步骤203,获取用户输入的身份保护信息。
在注册过程中,用户设置自己的身份保护信息,如用户口令等。
步骤204,数字证书的存储过程。
下面将具体介绍该步骤204数字证书的存储过程,该步骤204具体可以包括以下步骤301-步骤304。
参照图3,示出了本发明实施例二的一种数字证书的存储方法的步骤流程图。
本实施例的数字证书的存储方法包括以下步骤:
步骤301,获取用户输入的身份信息。
获取用户输入的身份信息,该身份信息可以包括上述的身份标识信息和身份保护信息,比如可以包括用户名或ID号,及用户口令。
步骤302,在用于存储数字证书的存储***中查询与所述身份信息相关联的数字证书。
依据用户的身份信息即可从存储***中查找到与该用户相关联的存储空间,并从该存储空间中查找与该用户的身份信息相关联的数字证书。
需要说明的是,在初始化时由于可能还未存储具体的数字证书,因此在本实施例描述的初始化过程中查询到的数字证书可能是空的也即数字证书没有内容,当然在初始化过程中查询到的数字证书也可能是有内容的,本发明实施例对此并不加以限制。
步骤303,依据所述身份信息及所述数字证书计算所述数字证书对应的文件摘要,将所述文件摘要作为所述数字证书对应的校验数据。
本发明实施例可以通过计算文件摘要的方式生成校验数据。在一种优选方式中,可以通过以下方法计算文件摘要:将所述身份信息及所述数字证书顺序连接后作为摘要计算的输入,计算摘要结果,将所述摘要结果作为所述数字证书对应的文件摘要。
其中,将所述身份信息及所述数字证书顺序连接可以为按照任意适用的顺序连接,比如身份信息在前、数字证书在后,或者数字证书在前、身份信息在后。并且身份信息中包括的多个信息(如用户名或ID号、用户口令)也可按照任意适用的顺序连接,比如用户名或ID号在前、用户口令在后,或者用户口令在前、用户名或ID号在后。
本发明实施例的摘要计算可以选择SHA1(Secure Hash Algorithm,安全哈希算法)、SHA256、SM3(国产密码算法)等算法,对于具体的计算过程,本领域技术人员根据实际经验进行相关处理即可,本发明实施例在此不再详细论述。
步骤304,存储所述数字证书对应的校验数据。
本发明实施例中,可以将数字证书对应的校验数据存储在用于存储该数字证书的存储空间中,还可以为数字证书对应的校验数据单独建立存储空间,对此并不加以限制。
本发明实施例在用户初始化过程中生成与用户相关的数字证书对应的校验数据,使得存储在用户客户端***中的数字证书具备可校验性,提高用户存储用于验证网络实体身份的数字证书的安全性。
实施例三
参照图4,示出了本发明实施例三的一种数字证书的更新方法的步骤流程图。
本实施例的数字证书的更新方法包括以下步骤:
步骤401,接收数字证书更新请求,并获取所述数字证书更新请求中的身份信息。
当用户或程序想要对存储***中的数字证书进行更新时可以触发更新请求,该更新请求中可以包括输入的身份信息。比如,用户可以输入身份信息(用户名或ID号、及用户口令等)并选择更新选项,以触发数字证书更新请求。
步骤402,查询与所述身份信息相关联的数字证书及所述数字证书对应的校验数据。
其中,校验数据即为依据所述身份信息及所述数字证书采用上述实施例一或实施例二中描述的方法生成。
步骤403,依据所述身份信息、所述数字证书及所述校验数据对所述数字证书进行校验。
对于具体的校验过程,将在下面的实施例四中详细论述。
步骤404,若校验通过,则对所述数字证书进行更新操作。
如果校验通过,则说明当前用户是合法用户,因此可以允许对数字证书进行更新操作,否则说明当前用户是非法用户,因此将禁止对数字证书进行更新操作。其中,更新操作可以包括增加新的数字证书、删除原有的数字证书、修改原有的数字证书等。
本发明实施例通过依据身份信息、数字证书及校验数据进行校验过程,使得对客户端***中存储的数字证书在用户未授权的情况下的增加、删除、篡改等操作都可以被发现,从而防止在非用户本人授权的情况下,由其它用户或程序对客户端***中存储的数字证书进行更新操作。
实施例四
参照图5,示出了本发明实施例四的一种数字证书的更新方法的步骤流程图。
本实施例的数字证书的更新方法包括以下步骤:
步骤501,接收数字证书更新请求,并获取所述数字证书更新请求中的身份信息。
步骤502,查询与所述身份信息相关联的数字证书及所述数字证书对应的校验数据。
其中,所述校验数据依据所述身份信息及所述数字证书生成。
如上述实施例一和实施例二所述,客户端的存储***(注册表,或者数据库,或者文件等)中存储了数字证书及数字证书对应的校验数据,其中数字证书与用户的身份信息相关联,因此依据步骤501中获取的身份信息即可从存储***中查询与该身份信息相关联的数字证书以及所述数字证书对应的校验数据。
步骤503,依据所述身份信息、所述数字证书及所述校验数据对所述数字证书进行校验。若校验通过,则执行步骤505,若校验未通过,则执行步骤504。
在一种优选方式中,该步骤503可以包括以下子步骤:
子步骤a1,依据所述身份信息及所述数字证书计算所述数字证书对应的文件摘要;
该子步骤a1中计算文件摘要的方法应与上述实施例二中计算文件摘要的方法一致。因此该子步骤a1可以包括:将所述身份信息及所述数字证书顺序连接后作为摘要计算的输入,计算摘要结果,将所述摘要结果作为所述数字证书对应的文件摘要。
需要说明的是,此处将身份信息及数字证书顺序连接时的顺序应与上述实施例二中的采用的顺序相同;并且此处摘要计算选择的算法应与上述实施例二中选择的算法一致。
子步骤a2,比较所述文件摘要与所述校验数据是否一致;若一致,则确定校验通过,否则,确定校验未通过。
如果计算得到的文件摘要与查询到的校验数据一致,则可以确定校验通过,否则确定校验未通过。本发明实施例中文件摘要与校验数据一致可以为文件摘要与校验数据完全相同,还可以为文件摘要与校验数据部分相同,本领域技术人员可以根据实际情况进行相应处理。
步骤504,若校验未通过,则执行用户初始化过程。返回步骤501。
其中,用户初始化过程可以与上述实施例二中描述的用户初始化过程相同,具体过程参照上述实施例二的相关描述即可,本发明实施例在此不再详细论述。
步骤505,若校验通过,则对所述数字证书进行更新操作。
其中,更新操作可以包括增加新的数字证书、删除原有的数字证书、修改原有的数字证书等。
步骤506,依据所述身份信息及更新操作后的数字证书生成并存储所述更新操作后的数字证书对应的校验数据。
由于对数字证书进行了更新操作,因此为了保证后续对数字证书的校验,可以依据数字证书更新请求中的身份信息、及更新操作后的数字证书生成更新操作后的数字证书对应的校验数据,并将该校验数据存储在存储***中的相应存储空间。
另外,还可以删除更新操作前的数字证书对应的校验数据。优选地,可以用更新操作后的数字证书对应的校验数据替换更新操作前的数字证书对应的校验数据。
本发明实施例可以防止在非用户本人授权的情况下,由其它用户或程序对客户端存储***中存储的数字证书进行更新操作。
实施例五
参照图6,示出了本发明实施例五的一种数字证书的验证方法的步骤流程图。
本实施例的数字证书的验证方法包括以下步骤:
步骤601,接收数字证书验证请求,并获取所述数字证书验证请求中的身份信息。
当用户想要对存储***中的数字证书进行验证时可以触发验证请求,该验证请求中可以包括输入的身份信息。比如,用户可以输入身份信息(用户名或ID号、及用户口令等)并选择验证选项,以触发数字证书验证请求。
步骤602,查询与所述身份信息相关联的数字证书及所述数字证书对应的校验数据。
其中,校验数据即为依据所述身份信息及所述数字证书采用上述实施例一或实施例二中描述的方法生成。
步骤603,依据所述身份信息、所述数字证书及所述校验数据对所述数字证书进行校验。
步骤604,若校验通过,则确定所述数字证书为可信证书。
如果校验通过,则说明数字证书没有被改变,因此可以确定所述数字证书为可信证书,该数字证书可以用于验证身份使用,否则说明数字证书可能在用户不知情的情况下已被改变,因此可以确定所述数字证书为不可信证书,该数字证书不可以用于验证身份使用。
本发明实施例当用户使用数字证书进行网络实体身份验证前,可以对存储的数字证书进行校验,如果校验不通过,说明存储的数字证书在用户不知情的情况下已被更改,不可以再继续用于网络身份验证,阻止网络应用验证程序的继续进行,从而防止网络钓鱼事件的发生。
实施例六
参照图7,示出了本发明实施例六的一种数字证书的验证方法的步骤流程图。
本实施例的数字证书的验证方法包括以下步骤:
步骤701,接收数字证书验证请求,并获取所述数字证书验证请求中的身份信息。
步骤702,查询与所述身份信息相关联的数字证书及所述数字证书对应的校验数据。
其中,所述校验数据依据所述身份信息及所述数字证书生成。
如上述实施例一和实施例二所述,客户端的存储***中存储了数字证书及数字证书对应的校验数据,其中数字证书与用户的身份信息相关联,因此依据步骤701中获取的身份信息即可从存储***中查询与该身份信息相关联的数字证书以及所述数字证书对应的校验数据。
步骤703,依据所述身份信息、所述数字证书及所述校验数据对所述数字证书进行校验。若校验通过,则执行步骤704,若校验未通过,则执行步骤705。
在一种优选方式中,该步骤703可以包括以下子步骤:
子步骤b1,依据所述身份信息及所述数字证书计算所述数字证书对应的文件摘要;
该子步骤a1中计算文件摘要的方法应与上述实施例二中计算文件摘要的方法一致。因此该子步骤a1可以包括:将所述身份信息及所述数字证书顺序连接后作为摘要计算的输入,计算摘要结果,将所述摘要结果作为所述数字证书对应的文件摘要。
需要说明的是,此处将身份信息及数字证书顺序连接时的顺序应与上述实施例二中的采用的顺序相同;并且此处摘要计算选择的算法应与上述实施例二中选择的算法一致。
子步骤b2,比较所述文件摘要与所述校验数据是否一致;若一致,则确定校验通过,否则,确定校验未通过。
步骤704,若校验通过,则确定所述数字证书为可信证书。
步骤705,若校验未通过,则确定所述数字证书为不可信证书。
本发明实施例在用户使用本地存储的数字证书时,对存储的数字证书进行校验,及时发现用户本地数字证书被篡改的情况,进而保障用户应用***的安全,杜绝使用数字证书进行身份认证过程中的钓鱼事件发生。
实施例七
本发明实施例提供一种数字证书的处理方法,该方法包括:用户初始化、用户存储证书更新和用户存储证书校验三个过程。其中用户初始化是建立用户标识和用户口令的过程;用户存储证书更新是用户存储证书库中增加数字证书、删除数字证书、修改数字证书等的操作;用户存储证书校验是指用户在使用存储的数字证书做验证之前对所存储证书的校验过程。
本发明实施例的数字证书的处理方法可以包括以下步骤:
步骤11:用户在***中注册自己的用户名或ID号,并设置用户口令;
步骤12:***根据用户名或ID号在存储***中创建用于存储用户数字证书的空间,其中存储***可以是注册表、数据库、文件,或者其它可用于存储的***;
步骤13:***根据用户名或者ID号、用户口令、以及相关联的数字证书生成校验数据并存储;
步骤14:用户向***输入用户名或者ID号,以及用户口令,准备更新数字证书;
步骤15:***根据用户名或者ID号,在存储***中查询与用户关联的数字证书;
步骤16:***根据用户名或者ID号、用户口令、查询到的数字证书进行校验,校验通过则进入下一步,否则返回步骤11;
步骤17:***对用户存储的数字证书进行更新操作,并重新生成校验数据并存储;
步骤18:用户使用自己存储的数字证书进行身份验证,在使用之前对存储的数字证书进行校验。
进一步地,上述步骤13和步骤17中的生成校验数据过程为:
步骤21:取得用户名或者ID号、用户口令;
步骤22:***根据用户名或者ID号在存储***中查询与用户关联的数字证书;
步骤23:把用户名或者用户ID号、用户口令,以及查询得到的数字证书顺序连接,作为文件摘要的计算输入,并计算摘要结果;其中文件摘要算法可以选择SHA1、SHA256、SM3等算法;
步骤24:得到文件摘要结果作为校验数据。
进一步地,上述步骤18进行证书校验的过程为:
步骤31:用户输入的用户名或ID号,以及用户口令;
步骤32:***在存储***中查找与用户名或ID号关联的数字证书;
步骤33:把用户名或ID号、用户口令、查询得到的数字证书数据顺序连接,作为文件摘要计算的输入,计算摘要结果。其中文件摘要算法与用户化初始化过程中选择的文件摘要算法要一致。
步骤34:把文件摘要结果同校验数据进行比较,结果一致,则存储的数字证书没有被改变,可以作为验证身份使用;否则,不可以用于验证身份使用。
本发明实施例在数字证书应用***中,提高用户存储用于验证网络实体身份数字证书的安全性,防止在非用户本人授权的情况下,由其它用户或程序对用户本地***中存储的数字证书进行增删操作。在用户使用本地存储的数字证书时,对存储的数字证书进行校验,及时发现用户本地数字证书被篡改的情况。该方法可用于任何使用数字证书进行身份验证的应用场景中,支持多用户的应用。
实施例八
参照图8,示出了本发明实施例八的一种数字证书的存储装置的结构框图。
本实施例的数字证书的存储装置包括以下模块:
查询模块801,用于获取用户输入的身份信息,并查询与所述身份信息相关联的数字证书;
生成模块802,用于依据所述身份信息及所述数字证书生成所述数字证书对应的校验数据;
存储模块803,用于存储所述数字证书对应的校验数据。
优选地,生成模块802,进一步用于依据所述身份信息及所述数字证书计算所述数字证书对应的文件摘要,将所述文件摘要作为所述数字证书对应的校验数据。
优选地,生成模块802,进一步用于将所述身份信息及所述数字证书顺序连接后作为摘要计算的输入,计算摘要结果,将所述摘要结果作为所述数字证书对应的文件摘要。
本发明实施例在用户输入信息时,获取用户输入的身份信息,并查询与所述身份信息相关联的数字证书,然后依据所述身份信息及所述数字证书生成所述数字证书对应的校验数据,并存储所述数字证书及所述数字证书对应的校验数据。校验数据使得存储在用户客户端***中的数字证书具备可校验性,从而提高数字证书的安全性,进而一方面可以防止在非用户本人授权的情况下,由其它用户或程序对数字证书进行增删等更新操作;另一方面可以在用户使用数字证书验证时,对存储的数字证书进行校验,及时发现数字证书被篡改的情况。
实施例九
参照图9,示出了本发明实施例九的一种数字证书的更新装置的结构框图。
本实施例的数字证书的更新装置包括以下模块:
第一获取模块901,用于接收数字证书更新请求,并获取所述数字证书更新请求中的身份信息;
第一查找模块902,用于查询与所述身份信息相关联的数字证书及所述数字证书对应的校验数据;其中,所述校验数据依据所述身份信息及所述数字证书生成;
第一校验模块903,用于依据所述身份信息、所述数字证书及所述校验数据对所述数字证书进行校验;
更新模块904,用于若所述第一校验模块校验通过,则对所述数字证书进行更新操作。
优选地,第一校验模块903包括:第一计算单元,用于依据所述身份信息及所述数字证书计算所述数字证书对应的文件摘要;第一比较单元,用于比较所述文件摘要与所述校验数据是否一致;若一致,则确定校验通过。
优选地,第一计算单元,进一步用于将所述身份信息及所述数字证书顺序连接后作为摘要计算的输入,计算摘要结果,将所述摘要结果作为所述数字证书对应的文件摘要。
优选地,数字证书的更新装置还包括:处理模块,用于依据所述身份信息及更新操作后的数字证书生成并存储所述更新操作后的数字证书对应的校验数据。
本发明实施例可以防止在非用户本人授权的情况下,由其它用户或程序对客户端存储***中存储的数字证书进行更新操作。
实施例十
参照图10,示出了本发明实施例十的一种数字证书的验证装置的结构框图。
本实施例的数字证书的验证装置包括以下模块:
第二获取模块1001,用于接收数字证书验证请求,并获取所述数字证书验证请求中的身份信息;
第二查找模块1002,用于查询与所述身份信息相关联的数字证书及所述数字证书对应的校验数据;其中,所述校验数据依据所述身份信息及所述数字证书生成;
第二校验模块1003,用于依据所述身份信息、所述数字证书及所述校验数据对所述数字证书进行校验;
确定模块1004,用于若所述第二校验模块校验通过,则确定所述数字证书为可信证书。
优选地,第二校验模块1003包括:第二计算单元,用于依据所述身份信息及所述数字证书计算所述数字证书对应的文件摘要;第二比较单元,用于比较所述文件摘要与所述校验数据是否一致;若一致,则确定校验通过。
优选地,第二计算单元,进一步用于将所述身份信息及所述数字证书顺序连接后作为摘要计算的输入,计算摘要结果,将所述摘要结果作为所述数字证书对应的文件摘要。
本发明实施例在用户使用本地存储的数字证书时,对存储的数字证书进行校验,及时发现用户本地数字证书被篡改的情况,进而保障用户应用***的安全,杜绝使用数字证书进行身份认证过程中的钓鱼事件发生。
需要指出,根据实施的需要,可将本发明实施例中描述的各个部件/步骤拆分为更多部件/步骤,也可将两个或多个部件/步骤或者部件/步骤的部分操作组合成新的部件/步骤,以实现本发明实施例的目的。
上述根据本发明实施例的方法可在硬件、固件中实现,或者被实现为可存储在记录介质(诸如CD ROM、RAM、软盘、硬盘或磁光盘)中的软件或计算机代码,或者被实现通过网络下载的原始存储在远程记录介质或非暂时机器可读介质中并将被存储在本地记录介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件(诸如ASIC或FPGA)的记录介质上的这样的软件处理。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件(例如,RAM、ROM、闪存等),当所述软件或计算机代码被计算机、处理器或硬件访问且执行时,实现在此描述的数字证书的存储、更新、验证方法。此外,当通用计算机访问用于实现在此示出的数字证书的存储、更新、验证方法的代码时,代码的执行将通用计算机转换为用于执行在此示出的数字证书的存储、更新、验证方法的专用计算机。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明实施例的范围。
以上实施方式仅用于说明本发明实施例,而并非对本发明实施例的限制,有关技术领域的普通技术人员,在不脱离本发明实施例的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明实施例的范畴,本发明实施例的专利保护范围应由权利要求限定。
Claims (13)
1.一种数字证书的存储方法,其特征在于,所述方法包括:
获取用户输入的身份信息,并查询与所述身份信息相关联的数字证书;
依据所述身份信息及所述数字证书生成所述数字证书对应的校验数据;
存储所述数字证书对应的校验数据。
2.根据权利要求1所述的方法,其特征在于,所述依据所述身份信息及所述数字证书生成所述数字证书对应的校验数据的步骤,包括:
依据所述身份信息及所述数字证书计算所述数字证书对应的文件摘要,将所述文件摘要作为所述数字证书对应的校验数据。
3.根据权利要求2所述的方法,其特征在于,所述依据所述身份信息及所述数字证书计算所述数字证书对应的文件摘要的步骤,包括:
将所述身份信息及所述数字证书顺序连接后作为摘要计算的输入,计算摘要结果,将所述摘要结果作为所述数字证书对应的文件摘要。
4.一种数字证书的更新方法,其特征在于,所述方法包括:
接收数字证书更新请求,并获取所述数字证书更新请求中的身份信息;
查询与所述身份信息相关联的数字证书及所述数字证书对应的校验数据;其中,所述校验数据依据所述身份信息及所述数字证书生成;
依据所述身份信息、所述数字证书及所述校验数据对所述数字证书进行校验;
若校验通过,则对所述数字证书进行更新操作。
5.根据权利要求4所述的方法,其特征在于,所述依据所述身份信息、所述数字证书及所述校验数据对所述数字证书进行校验的步骤,包括:
依据所述身份信息及所述数字证书计算所述数字证书对应的文件摘要;
比较所述文件摘要与所述校验数据是否一致;若一致,则确定校验通过。
6.根据权利要求5所述的方法,其特征在于,所述依据所述身份信息及所述数字证书计算所述数字证书对应的文件摘要的步骤,包括:
将所述身份信息及所述数字证书顺序连接后作为摘要计算的输入,计算摘要结果,将所述摘要结果作为所述数字证书对应的文件摘要。
7.根据权利要求4所述的方法,其特征在于,在所述对所述数字证书进行更新操作的步骤之后,还包括:
依据所述身份信息及更新操作后的数字证书生成并存储所述更新操作后的数字证书对应的校验数据。
8.一种数字证书的验证方法,其特征在于,所述方法包括:
接收数字证书验证请求,并获取所述数字证书验证请求中的身份信息;
查询与所述身份信息相关联的数字证书及所述数字证书对应的校验数据;其中,所述校验数据依据所述身份信息及所述数字证书生成;
依据所述身份信息、所述数字证书及所述校验数据对所述数字证书进行校验;
若校验通过,则确定所述数字证书为可信证书。
9.根据权利要求8所述的方法,其特征在于,所述依据所述身份信息、所述数字证书及所述校验数据对所述数字证书进行校验的步骤,包括:
依据所述身份信息及所述数字证书计算所述数字证书对应的文件摘要;
比较所述文件摘要与所述校验数据是否一致;若一致,则确定校验通过。
10.根据权利要求9所述的方法,其特征在于,所述依据所述身份信息及所述数字证书计算所述数字证书对应的文件摘要的步骤,包括:
将所述身份信息及所述数字证书顺序连接后作为摘要计算的输入,计算摘要结果,将所述摘要结果作为所述数字证书对应的文件摘要。
11.一种数字证书的存储装置,其特征在于,所述装置包括:
查询模块,用于获取用户输入的身份信息,并查询与所述身份信息相关联的数字证书;
生成模块,用于依据所述身份信息及所述数字证书生成所述数字证书对应的校验数据;
存储模块,用于存储所述数字证书对应的校验数据。
12.一种数字证书的更新装置,其特征在于,所述装置包括:
第一获取模块,用于接收数字证书更新请求,并获取所述数字证书更新请求中的身份信息;
第一查找模块,用于查询与所述身份信息相关联的数字证书及所述数字证书对应的校验数据;其中,所述校验数据依据所述身份信息及所述数字证书生成;
第一校验模块,用于依据所述身份信息、所述数字证书及所述校验数据对所述数字证书进行校验;
更新模块,用于若所述第一校验模块校验通过,则对所述数字证书进行更新操作。
13.一种数字证书的验证装置,其特征在于,所述装置包括:
第二获取模块,用于接收数字证书验证请求,并获取所述数字证书验证请求中的身份信息;
第二查找模块,用于查询与所述身份信息相关联的数字证书及所述数字证书对应的校验数据;其中,所述校验数据依据所述身份信息及所述数字证书生成;
第二校验模块,用于依据所述身份信息、所述数字证书及所述校验数据对所述数字证书进行校验;
确定模块,用于若所述第二校验模块校验通过,则确定所述数字证书为可信证书。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711285266.5A CN109905242A (zh) | 2017-12-07 | 2017-12-07 | 数字证书的存储、更新、验证方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711285266.5A CN109905242A (zh) | 2017-12-07 | 2017-12-07 | 数字证书的存储、更新、验证方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109905242A true CN109905242A (zh) | 2019-06-18 |
Family
ID=66939175
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711285266.5A Pending CN109905242A (zh) | 2017-12-07 | 2017-12-07 | 数字证书的存储、更新、验证方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109905242A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112487435A (zh) * | 2020-11-06 | 2021-03-12 | 麒麟软件有限公司 | 基于x86架构的安全启动方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103888422A (zh) * | 2012-12-21 | 2014-06-25 | 华为技术有限公司 | 安全证书更新方法、客户端、服务器 |
WO2017171165A1 (ko) * | 2015-12-14 | 2017-10-05 | (주)코인플러그 | 블록체인을 기반으로 하는 공인인증서 발급시스템과 이를 이용한 블록체인을 기반으로 하는 공인인증서 발급방법 |
WO2017146333A9 (ko) * | 2016-02-22 | 2017-10-19 | (주)코인플러그 | 블록체인을 기반으로 하는 금융기관 제증명서류 위변조 검증시스템 및 방법 |
CN107395343A (zh) * | 2017-07-10 | 2017-11-24 | 腾讯科技(深圳)有限公司 | 证书管理方法及*** |
CN107637015A (zh) * | 2015-02-13 | 2018-01-26 | 优替控股有限公司 | 数字身份*** |
-
2017
- 2017-12-07 CN CN201711285266.5A patent/CN109905242A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103888422A (zh) * | 2012-12-21 | 2014-06-25 | 华为技术有限公司 | 安全证书更新方法、客户端、服务器 |
CN107637015A (zh) * | 2015-02-13 | 2018-01-26 | 优替控股有限公司 | 数字身份*** |
WO2017171165A1 (ko) * | 2015-12-14 | 2017-10-05 | (주)코인플러그 | 블록체인을 기반으로 하는 공인인증서 발급시스템과 이를 이용한 블록체인을 기반으로 하는 공인인증서 발급방법 |
WO2017146333A9 (ko) * | 2016-02-22 | 2017-10-19 | (주)코인플러그 | 블록체인을 기반으로 하는 금융기관 제증명서류 위변조 검증시스템 및 방법 |
CN107395343A (zh) * | 2017-07-10 | 2017-11-24 | 腾讯科技(深圳)有限公司 | 证书管理方法及*** |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112487435A (zh) * | 2020-11-06 | 2021-03-12 | 麒麟软件有限公司 | 基于x86架构的安全启动方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109951489B (zh) | 一种数字身份认证方法、设备、装置、***及存储介质 | |
EP3312756B1 (en) | Establishing cryptographic identity for an electronic device | |
JP7060362B2 (ja) | 電子デバイスのためのイベント証明書 | |
CN110036613B (zh) | 提供用于去中心化应用的身份认证的***和方法 | |
RU2747947C2 (ru) | Системы и способы персональной идентификации и верификации | |
US9811547B2 (en) | Client computer for updating a database stored on a server via a network | |
US9350548B2 (en) | Two factor authentication using a protected pin-like passcode | |
van Oorschot | Computer Security and the Internet | |
US9009463B2 (en) | Secure delivery of trust credentials | |
US9787672B1 (en) | Method and system for smartcard emulation | |
US10164963B2 (en) | Enforcing server authentication based on a hardware token | |
CN105409186B (zh) | 用于用户认证的***及方法 | |
CN106161350B (zh) | 一种管理应用标识的方法及装置 | |
JP2016520230A (ja) | 安全な承認システム及び方法 | |
TW201516733A (zh) | 用以核對uefi認證變量變化之系統及方法 | |
WO2019169401A1 (en) | Systems and methods for controlling access to a blockchain | |
US20080229098A1 (en) | On-line transaction authentication system and method | |
Patel et al. | DAuth: A decentralized web authentication system using Ethereum based blockchain | |
US11811882B2 (en) | Guest access management in a mobile application | |
EP3836478A1 (en) | Method and system of data encryption using cryptographic keys | |
CN109905242A (zh) | 数字证书的存储、更新、验证方法及装置 | |
CN115146310A (zh) | 一种应用容器镜像层度量列表的验证方法及*** | |
Unsel et al. | Risk-Based Authentication for OpenStack: A Fully Functional Implementation and Guiding Example | |
CN113474774A (zh) | 用于认可新验证器的***和方法 | |
KR102534012B1 (ko) | 컨텐츠 제공자의 보안등급을 인증하는 시스템 및 그 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190618 |
|
RJ01 | Rejection of invention patent application after publication |