CN113169883B - 数字证书的验证方法和验证装置 - Google Patents

数字证书的验证方法和验证装置 Download PDF

Info

Publication number
CN113169883B
CN113169883B CN202180000541.2A CN202180000541A CN113169883B CN 113169883 B CN113169883 B CN 113169883B CN 202180000541 A CN202180000541 A CN 202180000541A CN 113169883 B CN113169883 B CN 113169883B
Authority
CN
China
Prior art keywords
field
digital certificate
extension field
extension
standard
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.)
Active
Application number
CN202180000541.2A
Other languages
English (en)
Other versions
CN113169883A (zh
Inventor
那键
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN113169883A publication Critical patent/CN113169883A/zh
Application granted granted Critical
Publication of CN113169883B publication Critical patent/CN113169883B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请提出了一种数字证书的验证方法和验证装置。本申请提出的技术方案中,通过提取数字证书中的扩展字段,来判断该扩展字段是否符合数字证书标准的规定,进一步确定扩展字段中否存在异常数据。该验证方法,可以对数字证书中的扩展字段内容进行异常数据检测,从而可以在确保基本字段的内容安全性的基础上,进一步确定扩展字段的内容的安全性,进一步提升数字证书的验证结果的准确性,最终提高通信安全性。

Description

数字证书的验证方法和验证装置
技术领域
本申请涉及网络安全领域,并且,更具体地,涉及数字证书的验证方法和验证装置。
背景技术
X.509证书是指符合X.509格式标准的公钥证书。X.509证书含有公钥、标识(主机名、组织或个人),以及由证书颁发机构(certification authority,CA)签名(或自签名)等信息。
发送端传输网络流量时,可以使用经由可信证书签发机构签名(或者可以通过其它方式验证可信)的X.509证书来提高网络安全性。
通过X.509证书来提高网络安全性时,需要验证网络流量中的X.509证书是否是被信任且有效的证书。例如验证X.509证书是否在有效期内或者是否已经被吊销;验证X.509证书是不是由信任根颁发,或者是不是由信任根的二级证书机构颁发;验证X.509证书的使用方是否是合法持有者。
在X.509证书的使用过程中发现如下现象:即使网络流量中的X.509证书认证成功,仍然会出现安全问题。因此,如何对X.509证书进行验证以提高网络安全性,成为亟待解决的技术问题。
发明内容
本申请提供的数字证书的验证方法和相关装置,可以提升网络传输的安全性。
第一方面,本申请提供了一种数字证书的验证方法。该方法包括:提取所述数字证书中的扩展字段;判断所述扩展字段中是否存在异常数据。
例如,提取所述数字证书中的扩展字段;判断所述扩展字段是否符合数字证书标准的规定;在所述扩展字段不符合所述数字证书标准的规定的情况下,确定所述扩展字段中存在异常数据。
本申请的技术方案中,通过检查扩展字段中是否存在异常数据来对数字证书进行进一步的验证,可以提升数字证书的验证准确性,从而提升网络流量的安全性。
例如,一个数字证书包括基本字段和一个标记为非紧急(non-critical)但带有敏感数据的扩展字段,如果只针对该数字证书的基本字段的内容进行安全验证,则该证书是安全的,但其实该证书的扩展字段中携带了敏感数据,是不安全的,因此如果再对扩展字段的内容进行验证,会进一步提升该数字证书安全性。
结合第一方面,在一种可能的实现方式中,所述扩展字段包括第一字段,所述第一字段用于标识所述数字证书所包含的公钥。
其中,判断所述扩展字段是否符合数字证书标准的规定,包括:所述第一字段的扩展字段值包括第一前导码,且所述扩展字段值中位于所述第一前导码之后的M位比特值与第一预期值中的低M位比特值不同的情况下,确定所述扩展字段不符合数字证书标准的规定,所述第一预期值是指使用第一安全散列算法对所述数字证书中的主体公钥值进行计算得到的值,M为正整数;或所述第一字段的扩展字段值不包括所述第一前导码,所述第一字段的扩展字段值的字节长度不等于N字节时,确定所述扩展字段不符合数字证书标准的规定,N为正整数;或所述第一字段的扩展字段值不包括所述第一前导码、所述第一字段的扩展字段值的字节长度等于N字节,且所述第一字段的扩展字段值不等于使用第一安全散列算法对所述数字证书中的主体公钥值进行计算得到的值时,确定所述扩展字段不符合数字证书标准的规定。
该实现方式能够对数字证书包括的用于标识数字证书所包含的公钥内容的第一字段进行验证,进一步提升该数字证书安全性。
结合第一种可能的实现方式,在第二种可能的实现方式中,所述第一前导码、M和N中一个或多个满足如下条件:所述第一前导码包括“0100”,M等于60,N等于20。
结合第一方面或上述任意一种可能的实现方式,在一种可能的实现方式中,所述扩展字段包括第二字段,所述第二字段用于指示所述数字证书的拥有者的属性。其中,所述判断所述扩展字段是否符合数字证书标准的规定,包括:所述第二字段的扩展字段值不符合第一标识名格式时,确定所述扩展字段不符合数字证书标准的规定。
结合第一方面或上述任意一种可能的实现方式,在一种可能的实现方式中,所述扩展字段包括第三字段,所述第三字段用于指示所述数字证书的颁发者的域名系统名。其中,所述判断所述扩展字段是否符合数字证书标准的规定,包括:所述第三字段的扩展字段值不全部为可见字符,或所述第三字段中的扩展字段值全部为可见字符且不符合域名系统名命名规范时,确定扩展字段不符合数字证书标准的规定。
结合第一方面或上述任意一种可能的实现方式,在一种可能的实现方式中,所述扩展字段包括第四字段,所述第四字段用于指示所述数字证书的颁发者的互联网协议地址。其中,所述判断所述扩展字段是否符合数字证书标准的规定,包括:所述第四字段中的扩展字段值长度不等于4字节或者不等于16字节时,确定扩展字段不符合数字证书标准的规定。
结合第一方面或上述任意一种可能的实现方式,在一种可能的实现方式中,所述扩展字段包括第五字段,所述第五字段用于指示所述数字证书的颁发者或拥有者的电子邮件地址。其中,所述判断所述扩展字段是否符合数字证书标准的规定,包括:所述第五字段的扩展字段值不全部为可见字符,或所述第五字段的扩展字段值全为可见字符且不符合邮箱格式规范时,确定扩展字段不符合数字证书标准的规定。
结合第一方面或上述任意一种可能的实现方式,在一种可能的实现方式中,所述扩展字段包括第六字段,所述第六字段用于指示所述数字证书的拥有者的别名。其中,所述判断所述扩展字段是否符合数字证书标准的规定,包括:所述第六字段的扩展字段值不全部为可见字符时,确定扩展字段不符合数字证书标准的规定。
结合第一方面或上述任意一种可能的实现方式,在一种可能的实现方式中,所述扩展字段包括第七字段,所述第七字段用于指示所述数字证书的颁发者的别名。其中,所述判断所述扩展字段是否符合数字证书标准的规定,包括:所述第七字段的扩展字段值不全部为可见字符时,确定扩展字段不符合数字证书标准的规定。
结合第一方面或上述任意一种可能的实现方式,在一种可能的实现方式中,所述数字证书标准为X.509标准。
第二方面,本申请提供了一种数字证书的验证装置,所述装置包括:证书解析模块,用于提取所述数字证书中的扩展字段;扩展字段判别模块,用于判断所述扩展字段是否符合数字证书标准的规定;所述扩展字段判别模块还用于在所述扩展字段不符合所述数字证书标准的规定的情况下,确定所述扩展字段中存在异常数据。
结合第二方面,在一种可能的实现方式中,所述扩展字段包括第一字段,所述第一字段用于标识所述数字证书所包含的公钥。其中,所述扩展字段判别模块具体用于:在所述第一字段的扩展字段值包括第一前导码,且所述扩展字段值中位于所述第一前导码之后的M位比特值与第一预期值中的低M位比特值不同的情况下,确定所述扩展字段不符合数字证书标准的规定,所述第一预期值是指使用第一安全散列算法对所述数字证书中的主体公钥值进行计算得到的值,M为正整数;或所述第一字段的扩展字段值不包括所述第一前导码,所述第一字段的扩展字段值的字节长度不等于N字节时,确定所述扩展字段不符合数字证书标准的规定,N为正整数;或所述第一字段的扩展字段值不包括所述第一前导码、所述第一字段的扩展字段值的字节长度等于N字节,且所述第一字段的扩展字段值不等于使用第一安全散列算法对所述数字证书中的主体公钥值进行计算得到的值时,确定所述扩展字段不符合数字证书标准的规定。
结合第二方面,在一种可能的实现方式中,所述第一前导码、M和N中一个或多个满足如下条件:所述第一前导码包括“0100”,M等于60,N等于20。
结合第二方面或上述任意一种可能的实现方式,在一种可能的实现方式中,所述扩展字段包括第二字段,所述第二字段用于指示所述数字证书的拥有者的属性。其中,所述扩展字段判别模块具体用于:所述第二字段的扩展字段值不符合第一标识名格式时,确定所述扩展字段不符合数字证书标准的规定。
结合第二方面或上述任意一种可能的实现方式,在一种可能的实现方式中,所述扩展字段包括第三字段,所述第三字段用于指示所述数字证书的颁发者的域名系统名;其中,所述扩展字段判别模块具体用于:所述第三字段的扩展字段值不全部为可见字符,或所述第三字段中的扩展字段值全部为可见字符且不符合域名系统名命名规范时,确定扩展字段不符合数字证书标准的规定。
结合第二方面或上述任意一种可能的实现方式,在一种可能的实现方式中,所述扩展字段包括第四字段,所述第四字段用于指示所述数字证书的颁发者的互联网协议地址。其中,所述扩展字段判别模块具体用于:所述第四字段中的扩展字段值长度不等于4字节或者不等于16字节时,确定扩展字段不符合数字证书标准的规定。
结合第二方面或上述任意一种可能的实现方式,在一种可能的实现方式中,所述扩展字段包括第五字段,所述第五字段用于指示所述数字证书的颁发者或拥有者的电子邮件地址。其中,所述扩展字段判别模块具体用于:所述第五字段的扩展字段值不全部为可见字符,或所述第五字段的扩展字段值全为可见字符且不符合邮箱格式规范时,确定扩展字段不符合数字证书标准的规定。
结合第二方面或上述任意一种可能的实现方式,在一种可能的实现方式中,所述扩展字段包括第六字段,所述第六字段用于指示所述数字证书的拥有者的别名。其中,所述扩展字段判别模块具体用于:所述第六字段的扩展字段值不全部为可见字符时,确定扩展字段不符合数字证书标准的规定。
结合第二方面或上述任意一种可能的实现方式,在一种可能的实现方式中,所述扩展字段包括第七字段,所述第七字段用于指示所述数字证书的颁发者的别名;其中,所述扩展字段判别模块具体用于:所述第七字段的扩展字段值不全部为可见字符时,确定扩展字段不符合数字证书标准的规定。
结合第二方面或上述任意一种可能的实现方式,在一种可能的实现方式中,所述数字证书标准为X.509标准。
第三方面,本申请提供一种数字证书的验证装置,包括:存储器和处理器;所述存储器用于存储程序指令;所述处理器用于调用所述存储器中的程序指令执行如第一方面或其中任意一种可能的实现方式所述的数字证书的验证方法。
在一些实现方式中,该装置可以是芯片。这种实现方式中,可选地,该装置还可以包括通信接口,用于与其他装置或设备进行通信。
在另一些实现方式中,该装置可以是通信设备。这种实现方式中,可选地,该装置还可以包括收发器,用于与其他装置或设备进行通信。
第四方面,本申请提供一种计算机可读介质,该计算机可读介质存储用于设备执行的程序代码,该程序代码包括用于执行如第一方面或其中任意一种可能的实现方式所述的数字证书的验证方法。
第五方面,本申请提供一种包含指令的计算机程序产品,所述计算机程序产品中包括计算机程序代码,当该计算机程序代码在计算机上运行时,使得计算机执行如第一方面或其中任意一种可能的实现方式所述的数字证书的验证方法。
附图说明
图1为本申请一个实施例提供的符合X.509标准的数字证书的结构示意图;
图2为本申请一个实施例提供的验证系统的示意图;
图3为本申请一个实施例提供的验证装置的结构示意图;
图4为本申请一个实施例提供的数字证书的验证方法的流程图;
图5为本申请另一个实施例提供的主体密钥标识扩展字段的验证方法示意图;
图6为本申请一个实施例提供的数字证书的验证装置的结构示意图。
具体实施方式
为了更好地介绍本申请实施例的技术方案,下面先对本申请实施例中使用到的一些概念进行介绍。
1.数字签名
数字签名是指利用一对互相匹配的密钥对信息进行加密和解密的过程。具体地,每个用户自己设定一把特定的仅为本人所知的私有密钥(私钥),用它进行解密和签名;同时设定一把公共密钥(公钥)并由本人公开,为一组用户所共享,用于加密和验证签名。
发送数据时,发送方使用接收方的公钥对数据加密,而接收方则使用自己的私钥解密,这样数据就可以安全无误地到达目的地。
发送方也可以采用自己的私钥对数据加以处理,由于密钥仅为本人所有,这样就产生了别人无法生成的文件,也就形成了数字签名。例如,发送方首先将要发送的报文按双方约定的安全散列算法(secure hash algorithm,SHA)计算得到一个固定位数的报文摘要值,保证报文的不可更改性;然后用发送方的私钥对该报文摘要值加密,得到数字签名;发送报文的同时发送该数字签名。这样,一是可以保证发送的数据是由签名者自己签名发送的,签名者不能否认或难以否认;而是可以判断发送的数据是否被修改。
2.数字证书
数字证书就是网络通信中标志通信各方身份信息的一系列数据,其作用类似于现实生活中的身份证。数字证书通常可以由一个权威机构发行,通信各方可以在互联网上用它来识别对方的身份。
示例性的,数字证书的格式通常遵循ITUTX.509国际标准。
3.X.509标准
X.509标准是密码学里数字证书的一种格式标准。例如,一个符合X.509标准的数字证书可以包含以下一些内容:证书的版本信息、证书的序列号、证书所使用的签名算法、证书的发行机构名称、证书的有效期、证书持有者的名称、证书持有者的公开密钥、证书发行者对证书的签名等。
目前,符合X.509标准的数字证书已应用在包括安全套阶层(secure socketslayer,SSL)在内的众多互联网协议里,同时它也有很多非在线的应用场景,比如电子签名服务。
图1为本申请一个实施例提供的符合X.509标准的数字证书的结构示意图。如1所示,该数字证书包括基本部分和扩展部分。
其中,基本部分包括:版本号(version):标识证书的版本(版本1、版本2或是版本3);证书序列号(serial number):标识证书的唯一整数,由证书颁发者分配的本证书的唯一标识符;签名(signature)算法标识符:用于签证书的算法标识,由对象标识符加上相关的参数组成,用于说明本证书所用的数字签名算法;颁发者(issuer):证书颁发者的可识别名(distinguished name,DN);有效期(validity):证书有效期的时间段;主体(subject):证书拥有者的可识别名,这个字段必须是非空的,除非在证书扩展中有别名;主体公钥信息(subject public key info,SPKI):主体的公钥(以及算法标识符);颁发者唯一标识符:证书颁发者的唯一标识符,属于可选项;主体唯一标识符:证书拥有者的唯一标识符,属于可选项;颁发者的签名。
对于扩展部分,可以包括多个扩展字段,每个扩展字段可以包括三部分:扩展类型、关键或者非关键、以及扩展字段值。对于每一个扩展字段,其包括的对象标识通常是不同的,例如扩展字段1的对象标识是对象标识1,扩展字段2的对象标识是对象标识2、扩展字段2的对象标识是对象标识3。
图2为本申请一个实施例提供的验证系统的示意图。如图2所示,本申请的安全验证系统200可以包括第一设备210和第二设备220。第二设备220能够与第一设备210通信的设备。
作为示例,第一设备210与第二设备220中至少一个可以是终端设备、远程信息处理器(telematicsbox,T-box)、网关或者智能座舱域控制器(cockpit domain controller,CDC)。
对于图2所示的验证系统200,作为一种示例性场景,第一设备210接收到第二设备220发送的互联网协议(internet protocol,IP)流量时,为了实现通信数据的安全传输,第一设备210需要对该IP流量中的数字证书进行验证。
第一设备210中包含数字证书验证装置,并通过数字证书验证装置来对数字证书进行验证。
图3为本申请一个实施例提供的数字证书验证装置的结构示意图。如图3所示,本申请的数字证书验证装置300可以包括网络通信协议识别模块301、数字证书提取模块302、证书解析模块303和基本字段判别模块304。可以理解的是,数字证书验证装置300中上述各个模块可以通过软件和/或硬件来实现。
第一设备210接收到IP流量之后,可以通过数字证书验证装置300中的网络通信协议识别301识别当前IP流量数据采用的协议。例如,通过网络通信协议识别模块301识别当前IP流量采用的是安全套阶层(secure sockets layer,SSL)协议、或者是互联网安全协议(internet protocol security,IPsec),又或者是在线证书状态协议(onlinecertificate status protocol,OCSP)。
然后通过数字证书提取模块302按照识别出的协议的规范对IP流量数据进行解析,提取出该IP流量数据中的数字证书。
接下来,证书解析模块303对该数字证书进行解析,获得该数字证书的一些基本信息,例如基本字段和扩展字段。
最后,基本字段判别模块304对基本字段进行以下一种或多种认证:验证数字证书是否在有效期内或者是否已经被吊销;验证数字证书是不是由信任根颁发,或者是不是由信任根的二级证书机构颁发;验证数字证书是否合法,即用该数字证书中的颁发机构的公钥,对该数字证书中的颁发机构的签名信息进行解密,若解密得到的摘要值与对该数字证书中的内容进行哈希计算得到的摘要值一致,则可以确认该数字证书是合法的。
在数字证书中,还有一部分为扩展字段,其携带了关于数字证书的附加属性说明,这些扩展字段可以根据发送方的需要标记为紧急(critical)、非紧急(non-critical)或者不标记。如果扩展字段被标记为非紧急(non-critical)或者不标记,接收方可以不对扩展字段进行处理。因此,在现有技术的一些实现方式中,数字证书验证装置中还可以包括扩展字段判别模块305,并通过扩展字段判别模块305来判别该数字证书对应的IP流量是不是紧急流量。
现有技术的数字证书验证方法因为不会对扩展字段进行异常数据检测,从而会导致如下问题:如果扩展字段携带了异常数据,就会造成恶意传输。本申请中,扩展字段中携带了异常数据,也可以称为扩展字段包含了隐蔽通道或扩展字段进行了隐蔽传输。
鉴于此,本申请提出一种数字证书的验证方法。该方法可以对数字证书中的扩展字段内容进行异常数据检测。本申请的技术方案中,通过判断扩展字段是否符合数字证书标准的规定,来确定扩展字段中是否存在异常数据,从而可以在确保基本字段的内容安全性的基础上,进一步确定扩展字段的内容的安全性,进一步提升数字证书的验证安全性。
图4为本申请一个实施例提供的数字证书的验证方法的流程图。如图4所示,本申请实施例的方法包括S401、S402和S403。作为一种示例,本方法可以由图2中的第一设备或第二设备执行,或者可以由图3所示的装置300执行。
S401、提取数字证书中的扩展字段。
例如,数字证书提取模块302提取得到数字证书后,证书解析模块303就可以将该数字证书中的扩展字段提取出来。
在一种可实现方式中,由于每一个扩展字段都对应一个唯一的对象标识(objectidentifier,OID),因此可以根据每一个扩展字段的OID来获得每一个扩展字段,其具体实现过程可以参考相关技术描述,此处不再赘述。
作为一种示例,本实施例中的扩展字段可以是符合X.509数字证书的标准扩展字段,其具体描述可以参考相关技术。
S402、判断扩展字段是否符合数字证书标准的规定。
例如,扩展字段判别模块305判断扩展字段是否符合数字证书标准的规定。
应理解,数字证书标准已经为数字证书中的每个扩展字段规定了如何取值。一个合格的数字证书,其应该符合数字证书标准的规定。
在一种可实现方式中,在获得扩展字段后,可以将扩展字段的实际值与数字证书标准中为该扩展字段规定的预期值进行比较,来判断该扩展字段是否符合数字证书标准的规定。可以理解的是,数字证书标准可以是为扩展字段的格式规定了预期值,也可以是对扩展字段中的扩展字段值规定了预期值,还可以是对扩展字段的类型规定了预期值,本申请实施例对此不做限定。
S403、在扩展字段不符合数字证书标准的规定的情况下,确定扩展字段中存在异常数据。
例如,扩展字段判别模块305在扩展字段不符合数字证书标准的规定的情况下,确定扩展字段中存在异常数据。
本实施例中,如果扩展字段不符合数字证书标准的规定,就说明该扩展字段中的内容可能被篡改了,即可能存在异常数据。此时,若该异常数据是非正常的数据,例如携带有一些恶意代码或者敏感数据等内容,如果不对该扩展字段中的内容进行检测,包括该扩展字段的数字证书就会被接收方验证为安全证书,此时这些恶意代码或者敏感数据就会对接收方造成危害。也就是说,恶意代码或者敏感数据以该扩展字段作为一个隐蔽通道载体,实现其隐蔽的传输,从而不被发现。
因此,本申请实施例通过判断扩展字段是否符合数字证书标准的规定,来检测该数字证书中的扩展字段中是否存在异常数据,可以提高数字证书的验证结果的准确性,从而可以提高通信的安全性。
本实施例中,扩展字段中存在异常数据,也可以理解为扩展字段中存在隐蔽通道或者存储隐蔽传输。
在此说明的是,如果检测出一个扩展字段中存在异常数据,对于需要验证该扩展字段所在的数字证书的一方,就可以拒绝该数字证书持有者的访问,又或者做其它处理,本申请实施例对此不做限定。
可选地,本实施例中的扩展字段可以包括第一字段,该第一字段用于标识数字证书所包含的公钥。
扩展字段包括第一字段的情况下,判断扩展字段是否符合数字证书标准的规定的一种实现方式可以包括:第一字段的扩展字段值包括第一前导码,且扩展字段值中位于第一前导码之后的M位比特值与第一预期值中的低M位比特值不同的情况下,确定扩展字段不符合数字证书标准的规定,其中,第一预期值是指使用第一安全散列算法对数字证书中的主体公钥值进行计算得到的值,M为正整数。该实现方式中的M的一种示例为60。
在本申请实施例中,第一安全散列算法可以为安全散列算法sha-1,本申请实施例对此不作限定。
扩展字段包括第一字段的情况下,判断扩展字段是否符合数字证书标准的规定的另一种实现方式可以包括:第一字段的扩展字段值不包括第一前导码,第一字段的扩展字段值的字节长度不等于N字节时,确定扩展字段不符合数字证书标准的规定,N为正整数。该实现方式中的N的一种示例为20。
扩展字段包括第一字段的情况下,判断扩展字段是否符合数字证书标准的规定的又一种实现方式可以包括:第一字段的扩展字段值不包括第一前导码、第一字段的扩展字段值的字节长度等于N字节,且第一字段的扩展字段值不等于使用第一安全散列算法对数字证书中的主体公钥值进行计算得到的值时,确定扩展字段不符合数字证书标准的规定。该实现方式中的第一前导码的一种示例为“0100”。
作为一种示例,本实施例中的数字证书应符合的标准为X.509标准的情况下,扩展字段中的第一字段可以为主体密钥标识(subject key identifier,SKI)字段。
可选地,本实施例中的扩展字段可以包括第二字段,该第二字段用于指示数字证书的拥有者的属性。
扩展字段包括第二字段的情况下,判断扩展字段是否符合数字证书标准的规定的一种实现方式可以包括:第二字段的扩展字段值不符合第一标识名格式时,确定扩展字段不符合数字证书标准的规定。
以第一标识名格式是X.500标识名格式作为一种示例。X.500标识名的一种格式为:CN=Mark Smith,OU=JavaSoft,O=Sun,L=Cupertino,S=California,C=US,均为可见字符。若DN字段的中的扩展字段值符合上述格式,则可以确定扩展字段中的DN字段符合数字证书标准的规定;若DN字段的中的扩展字段值不符合上述格式,则可以确定扩展字段中的DN字段不符合数字证书标准的规定,相应地,说明该DN字段中存在异常数据。
例如,本实施例中的数字证书应符合的标准为X.509标准的情况下,扩展字段中的第二字段可以为目录名(directory name,DN)字段。
可选地,本实施例中的扩展字段可以包括第三字段,该第三字段用于指示数字证书的颁发者的域名系统名。
扩展字段包括第三字段的情况下,判断扩展字段是否符合数字证书标准的规定的一种实现方式可以包括:第三字段的扩展字段值不全部为可见字符,或第三字段中的扩展字段值全部为可见字符且不符合域名系统名命名规范时,确定扩展字段不符合数字证书标准的规定。
第三字段的一种命名规范为:www.example.com,均为可见字符。若DNS名字段中的扩展字段值符合上述规范,确定扩展字段中的DNS名字段符合数字证书标准的规定;若DNS名字段中的扩展字段值不符合上述规范,确定扩展字段中的DNS名字段不符合数字证书标准的规定,相应地,说明扩展字段中的DNS名字段中存在异常数据。例如,本实施例中的数字证书应符合的标准为X.509标准的情况下,扩展字段中的第二字段可以为域名系统(domainname system,DNS)名字段。
可选地,本实施例中的扩展字段可以包括第四字段,该第四字段用于指示数字证书的颁发者的互联网协议地址。
扩展字段包括第四字段的情况下,判断扩展字段是否符合数字证书标准的规定的一种实现方式可以包括:第四字段中的扩展字段值长度不等于T个字节时,确定扩展字段不符合数字证书标准的规定。
例如,本实施例中的数字证书应符合的标准为X.509标准的情况下,扩展字段中的第四字段可以为互联网协议(internet protocol,IP)地址名字段,T可以等于4或等于16。
可选地,本实施例中的扩展字段可以包括第五字段,该第五字段用于指示数字证书的颁发者或拥有者的电子邮件地址。
扩展字段包括第五字段的情况下,判断扩展字段是否符合数字证书标准的规定的一种实现方式可以包括:第五字段的扩展字段值不全部为可见字符,或第五字段的扩展字段值全为可见字符且不符合邮箱格式规范时,确定扩展字段不符合数字证书标准的规定。
第五字段的一种格式为:example@test.com,均为可见字符,且必然出现一个‘@’字符。若RFC 822名字段中的扩展字段值符合上述规范,则可以确定扩展字段中的RFC822名字段符合数字证书标准的规定;若RFC 822名字段中的扩展字段值不符合上述规范,则可以确定扩展字段中的RFC 822名字段不符合数字证书标准的规定,相应地,说明扩展字段中的RFC 822名字段中存在异常数据。
例如,本实施例中的数字证书应符合的标准为X.509标准的情况下,扩展字段中的第五字段可以为电子邮件的标准格式(RFC 822)名字段。
可选地,本实施例中的扩展字段包括第六字段,该第六字段用于指示数字证书的拥有者的别名。
扩展字段包括第六字段的情况下,判断扩展字段是否符合数字证书标准的规定的一种实现方式可以包括:第六字段的扩展字段值不全部为可见字符时,确定扩展字段不符合数字证书标准的规定。
例如,本实施例中的数字证书应符合的标准为X.509标准的情况下,扩展字段中的第五字段可以为主体别名(subjectaltname,SAN)字段。
可选地,本实施例中的扩展字段包括第七字段,该第七字段用于指示数字证书的颁发者的别名。
扩展字段包括第七字段的情况下,判断扩展字段是否符合数字证书标准的规定的一种实现方式可以包括:第七字段的扩展字段值不全部为可见字符时,确定扩展字段不符合数字证书标准的规定。
例如,本实施例中的数字证书应符合的标准为X.509标准的情况下,扩展字段中的第五字段可以为颁发者别名(issueraltname,IAN)字段。
可选地,本实施例中的扩展字段中可以包括用于携带公钥标识(keyIdentifier)的认证中心密钥标识(authoritykeyidentifier,AKI)字段,该扩展字段的验证方法可以参考SKI字段的验证方法。
可选地,本实施例中的扩展字段中可以包括用来验证的CA数字证书的签发者(authoritycertissuer)的AKI字段,该字段的验证方法可以参考DN等字段的验证方式。
可选地,本实施例中的扩展字段中可以包括主体可替换名(aubjectaltname)扩展字段,该字段的验证方法可以参考SAN字段的验证方法。
下面以数字证书应满足的标准为X.509标准且第一字段为SKI字段为例,结合图5介绍本申请一个实施例的验证方法。
图5为本申请一个实施例提供的主体密钥标识字段的验证方法示意图。如图5所示,本申请实施例的方法包括S501、S502、S503、S504、S505和S506。该方法可以由图2中的第一设备或第二设备执行,或者可以由装置300执行。
S501、获取数字证书。
其具体实现过程可以图3所示实施例中相关技术描述,此处不再赘述。
S502、提取数字证书中的SKI字段。
例如,在获得数字证书后,证书解析模块提取出该数字证书的扩展部分,然后从扩展部分中提取出SKI字段,又或者可以直接从数字证书中提取出SKI字段,本申请实施例对此不做限定。
S503、判断SKI字段中的扩展字段值是否包括前导码“0100”,若是,执行S504,否则执行S505。
在此说明的是,在X.509标准中,对SKI字段中的值有两种规定,第一种是数字证书中的主体公钥值经过安全散列算法1(secure hash algorithm-1,sha-1)得到结果值,本实施例中也称为第一预期值。另一个是由4比特类型字段的前导码“0100”与第一预期值的低60比特的数据拼接组成得到的结果值。
也就是说,对SKI字段中扩展字段值的两种规定中,一种是不包括前导码“0100”的规定,另一种是包括前导码“0100”规定,因此在判断SKI是否符合数字证书标准的规定时,应首先确定SKI对应的是两种规定中的哪一种,本实施例通过是否包括前导码“0100”来进行判断。
S504、判断SKI扩展字段值中位于前导码之后的60位比特值与第一预期值中的低60位比特值是否一样,若是,确定扩展字段中的SKI符合数字证书标准的规定,否则,确定扩展字段不符合数字证书标准的规定,其中,第一预期值是指使用安全散列算法sha-1对数字证书中的主体公钥值进行计算得到的值。
本实施例中,当SKI字段中的扩展字段值中包括前导码“0100”,此时要确定SKI中的扩展字段是否符合数字证书标准的规定,需要判断SKI扩展字段值中位于前导码之后的60位比特值与第一预期值中的低60位比特值是否一样,如果一样,说明扩展字段中的SKI字段符合数字证书标准的规定,如果不一样,说明扩展字段中的SKI字段不符合数字证书标准的规定。
S505、判断SKI字段中的扩展字段值的字节长度是否等于20字节,若是,执行S506,否则,确定扩展字段不符合数字证书标准的规定。
本实施例中,当SKI字段中的扩展字段值不包括前导码“0100”时,该SKI应该取的值对应于该SKI在数字证书标准的规定中的第一预期值,此时要确定SKI中的扩展字段是否符合数字证书标准的规定,需要判断SKI扩展字段值与第一预期值是否相等。
数字证书中的主体公钥值经过sha-1后,得到的是一个20字节,也就是160位比特的数据,具体可参考相关技术描述。因此,可以首先对SKI的字节长度是否为20字节进行判断,如果不是20字节,说明扩展字段中的SKI字段不符合数字证书标准的规定。
S506、判断SKI字段中的扩展字段值是否等于使用安全散列算法sha-1对数字证书中的主体公钥值进行计算得到的值,若是,确定扩展字段中的SKI字段符合数字证书标准的规定,否则,确定扩展字段不符合数字证书标准的规定。
本实施例中,当SKI对应的目标内容不包括前导码“0100”,且SKI的实际值的字节长度等于20字节时,进一步判断SKI字段中的扩展字段值是否等于使用安全散列算法sha-1对数字证书中的主体公钥值进行计算得到的值时,如果等于,说明扩展字段中的SKI字段符合数字证书标准的规定,如果不一样,说明该扩展字段中的SKI字段不符合数字证书标准的规定,也就说明扩展字段中的SKI字段中存在异常数据。
本申请实施例提供的SKI字段的验证方法,可以基于数字证书标准的规定中的预期值,来确定扩展字段中的实际SKI字段是否符合数字证书标准的规定。该验证方法,能够对数字证书包括的扩展字段SKI字段的内容进行验证,进一步提升该数字证书安全性。
图6为本申请另一个实施例提供的数字证书的验证装置的结构示意图。图6所示的装置可以用于执行前述任意一个实施例所述的数字证书的验证方法。
如图6所示,本实施例的装置600包括:存储器601、处理器602、通信接口603以及总线604。其中,存储器601、处理器602、通信接口603通过总线604实现彼此之间的通信连接。
存储器601可以是只读存储器(read only memory,ROM),静态存储设备,动态存储设备或者随机存取存储器(random access memory,RAM)。存储器601可以存储程序,当存储器601中存储的程序被处理器602执行时,处理器602用于执行图4或图5所示的方法的各个步骤。
处理器602可以采用通用的中央处理器(central processing unit,CPU),微处理器,应用专用集成电路(application specific integrated circuit,ASIC),或者一个或多个集成电路,用于执行相关程序,以实现本申请图4或图5所示的方法。
处理器602还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,本申请实施例图4或图5的方法的各个步骤可以通过处理器602中的硬件的集成逻辑电路或者软件形式的指令完成。
上述处理器602还可以是通用处理器、数字信号处理器(digital signalprocessing,DSP)、专用集成电路(ASIC)、现成可编程门阵列(field programmable gatearray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器601,处理器602读取存储器601中的信息,结合其硬件完成本申请测温装置包括的单元所需执行的功能,例如,可以执行图4或图5所示实施例的各个步骤/功能。
通信接口603可以使用但不限于收发器一类的收发装置,来实现装置600与其他设备或通信网络之间的通信。
总线604可以包括在装置600各个部件(例如,存储器601、处理器602、通信接口603)之间传送信息的通路。
应理解,本申请实施例所示的装置600可以是电子设备,或者,也可以是配置于电子设备中的芯片。
应理解,本申请实施例中的处理器可以为中央处理单元(central processingunit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(digital signalprocessor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
还应理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的随机存取存储器(random accessmemory,RAM)可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令或计算机程序。在计算机上加载或执行所述计算机指令或计算机程序时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质。半导体介质可以是固态硬盘。
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,其中A,B可以是单数或者复数。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系,但也可能表示的是一种“和/或”的关系,具体可参考前后文进行理解。
本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (20)

1.一种数字证书的验证方法,其特征在于,所述方法包括:
提取所述数字证书中的扩展字段;
判断所述扩展字段是否符合数字证书标准的规定;
在所述扩展字段不符合所述数字证书标准的规定的情况下,确定所述扩展字段中存在异常数据;
所述扩展字段包括第一字段,所述第一字段用于标识所述数字证书所包含的公钥;
其中,所述判断所述扩展字段是否符合数字证书标准的规定,包括:
所述第一字段的扩展字段值包括第一前导码,且所述扩展字段值中位于所述第一前导码之后的M位比特值与第一预期值中的低M位比特值不同的情况下,确定所述扩展字段不符合数字证书标准的规定,所述第一预期值是指使用第一安全散列算法对所述数字证书中的主体公钥值进行计算得到的值,M为正整数;或
所述第一字段的扩展字段值不包括所述第一前导码,所述第一字段的扩展字段值的字节长度不等于N字节时,确定所述扩展字段不符合数字证书标准的规定,N为正整数;或
所述第一字段的扩展字段值不包括所述第一前导码、所述第一字段的扩展字段值的字节长度等于N字节,且所述第一字段的扩展字段值不等于使用第一安全散列算法对所述数字证书中的主体公钥值进行计算得到的值时,确定所述扩展字段不符合数字证书标准的规定。
2.根据权利要求1所述的方法,其特征在于,所述扩展字段包括第二字段,所述第二字段用于指示所述数字证书的拥有者的属性;
其中,所述判断所述扩展字段是否符合数字证书标准的规定,包括:
所述第二字段的扩展字段值不符合第一标识名格式时,确定所述扩展字段不符合数字证书标准的规定。
3.根据权利要求1至2中任一项所述的方法,其特征在于,所述扩展字段包括第三字段,所述第三字段用于指示所述数字证书的颁发者的域名系统名;
其中,所述判断所述扩展字段是否符合数字证书标准的规定,包括:
所述第三字段的扩展字段值不全部为可见字符,或所述第三字段中的扩展字段值全部为可见字符且不符合域名系统名命名规范时,确定扩展字段不符合数字证书标准的规定。
4.根据权利要求1至2中任一项所述的方法,其特征在于,所述扩展字段包括第四字段,所述第四字段用于指示所述数字证书的颁发者的互联网协议地址;
其中,所述判断所述扩展字段是否符合数字证书标准的规定,包括:
所述第四字段中的扩展字段值长度不等于4字节或者不等于16字节时,确定扩展字段不符合数字证书标准的规定。
5.根据权利要求1至2中任一项所述的方法,其特征在于,所述扩展字段包括第五字段,所述第五字段用于指示所述数字证书的颁发者或拥有者的电子邮件地址;
其中,所述判断所述扩展字段是否符合数字证书标准的规定,包括:
所述第五字段的扩展字段值不全部为可见字符,或所述第五字段的扩展字段值全为可见字符且不符合邮箱格式规范时,确定扩展字段不符合数字证书标准的规定。
6.根据权利要求1至2中任一项所述的方法,其特征在于,所述扩展字段包括第六字段,所述第六字段用于指示所述数字证书的拥有者的别名;
其中,所述判断所述扩展字段是否符合数字证书标准的规定,包括:
所述第六字段的扩展字段值不全部为可见字符时,确定扩展字段不符合数字证书标准的规定。
7.根据权利要求1至2中任一项所述的方法,其特征在于,所述扩展字段包括第七字段,所述第七字段用于指示所述数字证书的颁发者的别名;
其中,所述判断所述扩展字段是否符合数字证书标准的规定,包括:
所述第七字段的扩展字段值不全部为可见字符时,确定扩展字段不符合数字证书标准的规定。
8.根据权利要求1至2中任一项所述的方法,其特征在于,所述数字证书标准为X.509标准。
9.根据权利要求1至2中任一项所述的方法,其特征在于,所述第一前导码、M和N中一个或多个满足如下条件:
所述第一前导码包括“0100”,M等于60,N等于20。
10.一种数字证书的验证装置,其特征在于,所述装置包括:
证书解析模块,用于提取所述数字证书中的扩展字段;
扩展字段判别模块,用于判断所述扩展字段是否符合数字证书标准的规定和/或用于在所述扩展字段不符合所述数字证书标准的规定的情况下,确定所述扩展字段中存在异常数据;
所述扩展字段包括第一字段,所述第一字段用于标识所述数字证书所包含的公钥;
其中,所述扩展字段判别模块具体用于:
所述第一字段的扩展字段值包括第一前导码,且所述扩展字段值中位于所述第一前导码之后的M位比特值与第一预期值中的低M位比特值不同的情况下,确定所述扩展字段不符合数字证书标准的规定,所述第一预期值是指使用第一安全散列算法对所述数字证书中的主体公钥值进行计算得到的值,M为正整数;或
所述第一字段的扩展字段值不包括所述第一前导码,所述第一字段的扩展字段值的字节长度不等于N字节时,确定所述扩展字段不符合数字证书标准的规定,N为正整数;或
所述第一字段的扩展字段值不包括所述第一前导码、所述第一字段的扩展字段值的字节长度等于N字节,且所述第一字段的扩展字段值不等于使用第一安全散列算法对所述数字证书中的主体公钥值进行计算得到的值时,确定所述扩展字段不符合数字证书标准的规定。
11.根据权利要求10所述的装置,其特征在于,所述扩展字段包括第二字段,所述第二字段用于指示所述数字证书的拥有者的属性;
其中,所述扩展字段判别模块具体用于:
所述第二字段的扩展字段值不符合第一标识名格式时,确定所述扩展字段不符合数字证书标准的规定。
12.根据权利要求10至11中任一项所述的装置,其特征在于,所述扩展字段包括第三字段,所述第三字段用于指示所述数字证书的颁发者的域名系统名;
其中,扩展字段判别模块具体用于:
所述第三字段的扩展字段值不全部为可见字符,或所述第三字段中的扩展字段值全部为可见字符且不符合域名系统名命名规范时,确定扩展字段不符合数字证书标准的规定。
13.根据权利要求10至11中任一项所述的装置,其特征在于,所述扩展字段包括第四字段,所述第四字段用于指示所述数字证书的颁发者的互联网协议地址;
其中,所述扩展字段判别模块具体用于:
所述第四字段中的扩展字段值长度不等于4字节或者不等于16字节时,确定扩展字段不符合数字证书标准的规定。
14.根据权利要求10至11中任一项所述的装置,其特征在于,所述扩展字段包括第五字段,所述第五字段用于指示所述数字证书的颁发者或拥有者的电子邮件地址;
其中,所述扩展字段判别模块具体用于:
所述第五字段的扩展字段值不全部为可见字符,或所述第五字段的扩展字段值全为可见字符且不符合邮箱格式规范时,确定扩展字段不符合数字证书标准的规定。
15.根据权利要求10至11中任一项所述的装置,其特征在于,所述扩展字段包括第六字段,所述第六字段用于指示所述数字证书的拥有者的别名;
其中,所述扩展字段判别模块具体用于:
所述第六字段的扩展字段值不全部为可见字符时,确定扩展字段不符合数字证书标准的规定。
16.根据权利要求10至11中任一项所述的装置,其特征在于,所述扩展字段包括第七字段,所述第七字段用于指示所述数字证书的颁发者的别名;
其中,所述扩展字段判别模块具体用于:
所述第七字段的扩展字段值不全部为可见字符时,确定扩展字段不符合数字证书标准的规定。
17.根据权利要求10至11中任一项所述的装置,其特征在于,所述数字证书标准为X.509标准。
18.根据权利要求10至11中任一项所述的装置,其特征在于,所述第一前导码、M和N中一个或多个满足如下条件:
所述第一前导码包括“0100”,M等于60,N等于20。
19.一种数字证书的验证装置,其特征在于,包括:存储器和处理器;
所述存储器用于存储程序指令;
所述处理器用于调用所述存储器中的程序指令执行如权利要求1至9中任一项所述的数字证书的验证方法。
20.一种计算机可读介质,其特征在于,所述计算机可读介质存储用于计算机执行的程序代码,该程序代码包括用于执行如权利要求1至9中任一项所述的方法的指令。
CN202180000541.2A 2021-03-15 2021-03-15 数字证书的验证方法和验证装置 Active CN113169883B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2021/080840 WO2022193084A1 (zh) 2021-03-15 2021-03-15 数字证书的验证方法和验证装置

Publications (2)

Publication Number Publication Date
CN113169883A CN113169883A (zh) 2021-07-23
CN113169883B true CN113169883B (zh) 2022-12-30

Family

ID=76875895

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180000541.2A Active CN113169883B (zh) 2021-03-15 2021-03-15 数字证书的验证方法和验证装置

Country Status (2)

Country Link
CN (1) CN113169883B (zh)
WO (1) WO2022193084A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114189830B (zh) * 2021-11-24 2023-06-06 中汽数据(天津)有限公司 基于车联网的主体权限控制方法、设备和存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8090939B2 (en) * 2005-10-21 2012-01-03 Hewlett-Packard Development Company, L.P. Digital certificate that indicates a parameter of an associated cryptographic token
CN102340398A (zh) * 2010-07-27 2012-02-01 中国移动通信有限公司 安全策略设置、确定方法、应用程序执行操作方法及装置
CN105763330A (zh) * 2014-12-18 2016-07-13 中国科学院信息工程研究所 一种适用于电路域加密通信的轻量级证书及加密通信方法
US10523435B2 (en) * 2015-07-20 2019-12-31 Digicert, Inc. Mutable fields in digital certificates
CN108880821B (zh) * 2018-06-28 2021-07-13 中国联合网络通信集团有限公司 一种数字证书的认证方法及设备
CN109547206B (zh) * 2018-10-09 2020-11-06 深圳壹账通智能科技有限公司 数字证书的处理方法及相关装置
US10425401B1 (en) * 2018-10-31 2019-09-24 ISARA Corporation Extensions for using a digital certificate with multiple cryptosystems

Also Published As

Publication number Publication date
WO2022193084A1 (zh) 2022-09-22
CN113169883A (zh) 2021-07-23

Similar Documents

Publication Publication Date Title
CN110493197B (zh) 一种登录处理方法及相关设备
CN1956372B (zh) 指示相关密码令牌的参数的数字证书
EP1622301B1 (en) Methods and system for providing a public key fingerprint list in a PK system
CN109243045B (zh) 一种投票方法、装置、计算机设备及计算机可读存储介质
EP2291787B1 (en) Techniques for ensuring authentication and integrity of communications
US20060015726A1 (en) Apparatus for partial authentication of messages
CN109905360B (zh) 数据验证方法及终端设备
CN110995685B (zh) 数据的加解密方法、装置、系统及存储介质
CN109818730B (zh) 盲签名的获取方法、装置和服务器
US20150143545A1 (en) Function for the Challenge Derivation for Protecting Components in a Challenge-Response Authentication Protocol
KR101004829B1 (ko) 이선형 맵들로부터의 직접적인 익명의 증명을 위한 장치 및방법
CN114710298B (zh) 基于变色龙哈希的文档批量签署方法、装置、设备及介质
CN110955918A (zh) 一种基于RSA加密sha-256数字签名的合同文本保护方法
US10291614B2 (en) Method, device, and system for identity authentication
WO2018220693A1 (ja) 情報処理装置、検証装置、情報処理システム、情報処理方法、及び、記録媒体
CN112448941A (zh) 认证系统和用于认证微控制器的方法
CN114244522B (zh) 信息保护方法、装置、电子设备及计算机可读存储介质
CN107332833B (zh) 校验方法及装置
CN113169883B (zh) 数字证书的验证方法和验证装置
CN114430346B (zh) 登录方法、装置及电子设备
CN110826091A (zh) 一种文件签名方法、装置、电子设备及可读存储介质
US20120167212A1 (en) Methods for inspecting security certificates by network security devices to detect and prevent the use of invalid certificates
CN108352991A (zh) 信息处理装置以及不正当消息检测方法
CN110830507B (zh) 资源访问方法、装置、电子设备及系统
CN105873043B (zh) 一种用于移动终端的网络私匙的生成及应用方法及其系统

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
GR01 Patent grant
GR01 Patent grant