CN106375340B - 提高证书验证安全性的方法和系统 - Google Patents

提高证书验证安全性的方法和系统 Download PDF

Info

Publication number
CN106375340B
CN106375340B CN201610888898.XA CN201610888898A CN106375340B CN 106375340 B CN106375340 B CN 106375340B CN 201610888898 A CN201610888898 A CN 201610888898A CN 106375340 B CN106375340 B CN 106375340B
Authority
CN
China
Prior art keywords
certificate
verification
risk level
result
returning
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
CN201610888898.XA
Other languages
English (en)
Other versions
CN106375340A (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.)
Yuanxin Information Technology Group Co.,Ltd.
Original Assignee
Beijing Yuanxin Science and Technology 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 Beijing Yuanxin Science and Technology Co Ltd filed Critical Beijing Yuanxin Science and Technology Co Ltd
Priority to CN201610888898.XA priority Critical patent/CN106375340B/zh
Publication of CN106375340A publication Critical patent/CN106375340A/zh
Application granted granted Critical
Publication of CN106375340B publication Critical patent/CN106375340B/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
    • 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/16Implementing security features at a particular protocol layer
    • H04L63/166Implementing security features at a particular protocol layer at the transport layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • H04L63/205Network architectures or network communication protocols for network security for managing network security; network security policies in general involving negotiation or determination of the one or more network security mechanisms to be used, e.g. by negotiation between the client and the server or between peers or by selection according to the capabilities of the entities involved

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请公开了一种提高证书验证安全性的方法和系统,其中所述方法包括:响应于应用调用安全套接字层密码库OpenSSL接口进行证书验证,读出预先设置的证书验证风险等级;确定证书是否合法;响应于证书不合法及所述预先设置的证书验证风险等级为第一风险等级,结束证书验证并返回验证不合法的结果。本发明可提高使用OpenSSL进行证书验证时的证书验证安全性及用户友好性。

Description

提高证书验证安全性的方法和系统
技术领域
本申请涉及数字信息的传输领域,尤其涉及一种提高证书验证安全性的方法和系统。
背景技术
安全套接字层SSL(Secure Sockets Layer)是由美国网景公司设计开发的、为网络通信提供安全及数据完整性的一种安全协议。SSL证书遵守SSL协议、由受信任的数字证书颁发机构CA在验证服务器身份后颁发,具有服务器身份验证和数据传输加密功能。
安全套接字层密码库OpenSSL是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。
目前,在移动操作系统中,一般使用OpenSSL对证书合法性进行验证。然而,OpenSSL在验证证书时允许开发者忽略部分错误并继续进行之后的动作。这就给了应用开发者自由选择的机会,为证书验证过程带来了一定的风险。
发明内容
本申请的目标在于提供一种提高证书验证安全性的方法和系统,其使得系统对证书的验证符合用户自身对安全性的需求,从而提高证书验证的安全性及证书验证的用户友好性。
本申请的目标由一种提高证书验证安全性的方法实现,该方法包括:
响应于应用调用安全套接字层密码库OpenSSL接口进行证书验证,读出预先设置的证书验证风险等级;
确定证书是否合法;
响应于证书不合法及所述预先设置的证书验证风险等级为第一风险等级,结束证书验证并返回验证不合法的结果。
根据本申请方法的一方面,该方法还包括:
响应于证书不合法及所述预先设置的证书验证风险等级为第二风险等级,调用用于判断是否继续验证的回调函数;
响应于所述回调函数的值表明不继续验证,结束证书验证并返回验证不合法的结果。
根据本申请方法的另一方面,该方法还包括:
在返回验证不合法的结果的同时,提供因何不合法的提示。
本申请的目标还由一种提高证书验证安全性的系统实现,该系统包括:
风险等级读取模块,用于响应于应用调用安全套接字层密码库OpenSSL接口进行证书验证,读出预先设置的证书验证风险等级;
证书合法性确定模块,用于确定证书是否合法;
验证不合法结果返回模块,用于响应于证书不合法及所述预先设置的证书验证风险等级为第一风险等级,结束证书验证并返回验证不合法的结果。
根据本申请系统的一方面,该系统还包括:
回调函数调用模块,用于响应于证书不合法及所述预先设置的证书验证风险等级为第二风险等级,调用用于判断是否继续验证的回调函数;
其中所述验证不合法结果返回模块还用于响应于所述回调函数的值表明不继续验证,结束证书验证并返回验证不合法的结果。
根据本申请系统的另一方面,该系统还包括:
提示模块,用于在返回验证不合法结果的同时,提供因何不合法的提示。
本发明通过用户自主选择风险等级并在使用OpenSSL对证书合法性进行验证时根据用户选择的不同风险等级进行不同的验证处理,提高了证书验证的安全性和用户友好性。
附图说明
本发明将在下面参考附图并结合优选实施例进行更完全地说明。
图1为根据本发明方法的一实施例的流程图。
图2为根据本发明系统的一实施例的结构示意图。
为清晰起见,这些附图均为示意性及简化的图,它们只给出了对于理解本发明所必要的细节,而省略其他细节。
具体实施方式
通过下面给出的详细描述,本发明的适用范围将显而易见。然而,应当理解,在详细描述和具体例子表明本发明优选实施例的同时,它们仅为说明目的给出。
图1示出了根据本发明方法的一实施例的流程图。在移动操作系统中,用户例如可通过证书验证风险等级选择界面自主设置可以接受/承受的风险等级。在本实施例中,用户可选择的证书验证风险等级包括第一风险等级和第二风险等级,其中第一风险等级表示用户承受的风险低,第二风险等级表示用户承受的风险高。在其它实施例中,证书验证风险等级也可包括三个或以上风险等级。关于风险等级设置的配置文件存放在第三方应用不可写的目录下,防止被恶意修改。该实施例的方法包括,在步骤S10,响应于应用调用安全套接字层密码库OpenSSL接口进行证书验证,读出用户预先设置的证书验证风险等级。在步骤S20,确定证书是否合法。例如,证书过期、无法获得证书发行机构、根证书不可信、域名不一致等等,则表明证书不合法。具体地,例如,当OpenSSL出现下面的错误号之一或多个时表明证书存在不合法:
X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT:找不到该证书的颁发CA的证书;
X509_V_ERR_UNABLE_TO_GET_CRL:找不到和该证书相关的CRL;
X509_V_ERR_UNABLE_TO_DECRYPT_CERT_SIGNATURE:无法解开证书里的签名;
X509_V_ERR_UNABLE_TO_DECRYPT_CRL_SIGNATURE:无法解开CRL的签名;
X509_V_ERR_UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY:无法得到证书里的公共密钥信息;
X509_V_ERR_CERT_SIGNATURE_FAILURE:证书签名无效;
X509_V_ERR_CRL_SIGNATURE_FAILURE(unused):证书相关的CRL签名无效
X509_V_ERR_CERT_NOT_YET_VALID:证书还没有到有效开始时间;
X509_V_ERR_CERT_HAS_EXPIRED:证书过期;
X509_V_ERR_CRL_NOT_YET_VALID:与证书相关的CRL还没有到有效开始时间;
X509_V_ERR_CRL_HAS_EXPIRED:与证书相关的CRL过期;
X509_V_ERR_ERROR_IN_CERT_NOT_BEFORE_FIELD:证书的notBefore字段格式错误;
X509_V_ERR_ERROR_IN_CERT_NOT_AFTER_FIELD:证书的notAfter字段格式错误;
X509_V_ERR_ERROR_IN_CRL_LAST_UPDATE_FIELD:CRL的lastUpdate字段格式错误;
X509_V_ERR_ERROR_IN_CRL_NEXT_UPDATE_FIELD:CRL的nextUpdate字段格式错误;
X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT:需要验证的第一个证书就是自签名证书,而且不在信任CA证书列表中;
X509_V_ERR_SELF_SIGNED_CERT_IN_CHAIN:使用不受信任的根证书建立的证书链,并且在本地无法找到根证书;
X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY:有一个证书的签发CA的证书找不到。这说明可能是Root CA的证书列表不齐全;
X509_V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE:证书链中只有一个证书,但又不是自签名的证书;
X509_V_ERR_CERT_CHAIN_TOO_LONG:证书链太长;
X509_V_ERR_CERT_REVOKED:证书已经被撤销;
X509_V_ERR_INVALID_CA:根证书无效;
X509_V_ERR_PATH_LENGTH_EXCEEDED:参数basicConstraints pathlentgh超过规定长度;
X509_V_ERR_INVALID_PURPOSE:所提供的证书不能用于指定的目的;
X509_V_ERR_CERT_UNTRUSTED:Root CA的证书用在所请求的用途是不被信任的;
X509_V_ERR_CERT_REJECTED:CA的证书根本不可以用作所请求的用途;
X509_V_ERR_SUBJECT_ISSUER_MISMATCH:证书颁发者名称与其CA拥有者名称不相同;
X509_V_ERR_AKID_SKID_MISMATCH:证书的密钥标志与其颁发CA为其指定的密钥标志不相同;
X509_V_ERR_AKID_ISSUER_SERIAL_MISMATCH:证书系列号与其颁发CA为其指定的系列号不相同;
X509_V_ERR_KEYUSAGE_NO_CERTSIGN:CA的证书用途不包括为其他证书签名;
X509_V_ERR_APPLICATION_VERIFICATION:应用程序验证出错。
在步骤S20确定证书不合法时,处理进行到步骤S30,确定用户预先设置的证书验证风险等级是第一风险等级还是第二风险等级。在步骤S30确定用户预先设置的证书验证风险等级是第一风险等级时,表明用户仅希望承受较低风险,例如用户不接受任何证书不合法的情形,处理进行到步骤S40,结束证书验证并向OpenSSL返回验证不合法的结果。在步骤S30确定用户预先设置的证书验证风险等级是第二风险等级时,表明用户可承受较高风险,例如用户可接受证书链太长的不合法情形,处理进行到步骤S50,调用开发者传入的回调函数,开发者在回调函数中判断是否继续验证并通过返回值反馈给OpenSSL,返回值为1则继续验证,返回值为0则结束验证并返回验证不合法的结果。在步骤S50之后,处理进行到步骤S52,确定回调函数的返回值为1还是0。在返回值为0时,处理进行到步骤S40;在返回值为1时,处理进行到步骤S54,向OpenSSL返回验证合法的结果。在步骤S20确定证书合法时,处理进行到步骤S54。
通过本发明方法,对于低(第一)风险等级,证书验证过程中出现错误后立即终止验证流程,直接返回错误,避免出现不合法证书作为合法证书使用的情况。对于高(第二)风险等级,证书验证过程中出现错误后通知开发者,由开发者处理错误并决定是否继续验证。从而,本发明可根据用户接受的风险程度进行证书的验证,提高了证书验证的安全性和用户友好性。
在其它实施例中,在步骤S40返回验证不合法结果的同时,还包括向用户提供因何不合法的提示,以使用户能了解证书验证安全情况。
图2示出了根据本发明的系统的一实施例,其包括:风险等级读取模块10,用于响应于应用调用安全套接字层密码库OpenSSL接口进行证书验证,读出预先设置的证书验证风险等级;证书合法性确定模块20,用于确定证书是否合法;回调函数调用模块30,用于响应于证书不合法及所述预先设置的证书验证风险等级为第二风险等级,调用用于判断是否继续验证的回调函数;验证不合法结果返回模块40,用于响应于证书不合法及所述预先设置的证书验证风险等级为第一风险等级,结束证书验证并返回验证不合法的结果;及用于响应于所述回调函数的值表明不继续验证,结束证书验证并返回验证不合法的结果;验证合法结果返回模块50,用于响应于所述回调函数的值表明继续验证,向OpenSSL返回验证合法的结果。
在本发明系统的其它实施例中,还可包括提示模块,用于在返回验证不合法结果的同时,向用户提供因何不合法的提示。
除非明确指出,在此所用的单数形式“一”、“该”均包括复数含义(即具有“至少一”的意思)。应当进一步理解,说明书中使用的术语“具有”、“包括”和/或“包含”表明存在所述的特征、步骤、操作、元件和/或部件,但不排除存在或增加一个或多个其他特征、步骤、操作、元件、部件和/或其组合。如在此所用的术语“和/或”包括一个或多个列举的相关项目的任何及所有组合。除非明确指出,在此公开的任何方法的步骤不必精确按照所公开的顺序执行。
一些优选实施例已经在前面进行了说明,但是应当强调的是,本发明不局限于这些实施例,而是可以本发明主题范围内的其它方式实现。

Claims (8)

1.一种提高证书验证安全性的方法,其特征在于,所述方法包括:
响应于应用调用安全套接字层密码库OpenSSL接口进行证书验证,读出预先设置的证书验证风险等级;
确定证书是否合法;
响应于证书不合法及所述预先设置的证书验证风险等级为第一风险等级,结束证书验证并返回验证不合法的结果;
响应于证书不合法及所述预先设置的证书验证风险等级为第二风险等级,调用用于判断是否继续验证的回调函数;
响应于所述回调函数的值表明不继续验证,结束证书验证并返回验证不合法的结果。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于所述回调函数的值表明继续验证,向OpenSSL返回验证合法的结果。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于证书合法,向OpenSSL返回验证合法的结果。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在返回验证不合法的结果的同时,提供因何不合法的提示。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将设置证书验证风险等级的配置文件存放在第三方应用不可写的目录下。
6.一种提高证书验证安全性的系统,其特征在于,所述系统包括:
风险等级读取模块,用于响应于应用调用安全套接字层密码库OpenSSL接口进行证书验证,读出预先设置的证书验证风险等级;
证书合法性确定模块,用于确定证书是否合法;
验证不合法结果返回模块,用于响应于证书不合法及所述预先设置的证书验证风险等级为第一风险等级,结束证书验证并返回验证不合法的结果;
回调函数调用模块,用于响应于证书不合法及所述预先设置的证书验证风险等级为第二风险等级,调用用于判断是否继续验证的回调函数;
其中所述验证不合法结果返回模块还用于响应于所述回调函数的值表明不继续验证,结束证书验证并返回验证不合法的结果。
7.根据权利要求6所述的系统,其特征在于,所述系统还包括:
验证合法结果返回模块,用于响应于所述回调函数的值表明继续验证,向OpenSSL返回验证合法的结果。
8.根据权利要求6所述的系统,其特征在于,所述系统还包括:
提示模块,用于在返回验证不合法结果的同时,提供因何不合法的提示。
CN201610888898.XA 2016-10-11 2016-10-11 提高证书验证安全性的方法和系统 Active CN106375340B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610888898.XA CN106375340B (zh) 2016-10-11 2016-10-11 提高证书验证安全性的方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610888898.XA CN106375340B (zh) 2016-10-11 2016-10-11 提高证书验证安全性的方法和系统

Publications (2)

Publication Number Publication Date
CN106375340A CN106375340A (zh) 2017-02-01
CN106375340B true CN106375340B (zh) 2020-03-31

Family

ID=57895310

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610888898.XA Active CN106375340B (zh) 2016-10-11 2016-10-11 提高证书验证安全性的方法和系统

Country Status (1)

Country Link
CN (1) CN106375340B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1512355A (zh) * 2002-12-30 2004-07-14 成都三零盛安信息系统有限公司 一种elf文件格式的代码签名验证方法
CN101911585A (zh) * 2008-01-04 2010-12-08 微软公司 基于认证输入属性的选择性授权
CN102340398A (zh) * 2010-07-27 2012-02-01 中国移动通信有限公司 安全策略设置、确定方法、应用程序执行操作方法及装置
CN102638346A (zh) * 2012-05-12 2012-08-15 杭州迪普科技有限公司 一种用户数字证书的认证方法及装置
CN103441991A (zh) * 2013-08-12 2013-12-11 江苏华大天益电力科技有限公司 一种移动终端安全接入平台
CN105653951A (zh) * 2014-12-02 2016-06-08 卡巴斯基实验室股份制公司 基于数字证书的信任等级来反病毒检查文件的系统和方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8312268B2 (en) * 2008-12-12 2012-11-13 International Business Machines Corporation Virtual machine

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1512355A (zh) * 2002-12-30 2004-07-14 成都三零盛安信息系统有限公司 一种elf文件格式的代码签名验证方法
CN101911585A (zh) * 2008-01-04 2010-12-08 微软公司 基于认证输入属性的选择性授权
CN102340398A (zh) * 2010-07-27 2012-02-01 中国移动通信有限公司 安全策略设置、确定方法、应用程序执行操作方法及装置
CN102638346A (zh) * 2012-05-12 2012-08-15 杭州迪普科技有限公司 一种用户数字证书的认证方法及装置
CN103441991A (zh) * 2013-08-12 2013-12-11 江苏华大天益电力科技有限公司 一种移动终端安全接入平台
CN105653951A (zh) * 2014-12-02 2016-06-08 卡巴斯基实验室股份制公司 基于数字证书的信任等级来反病毒检查文件的系统和方法

Also Published As

Publication number Publication date
CN106375340A (zh) 2017-02-01

Similar Documents

Publication Publication Date Title
US11516016B2 (en) Method and system for signing and authenticating electronic documents via a signature authority which may act in concert with software controlled by the signer
US11743054B2 (en) Method and system for creating and checking the validity of device certificates
CN101145906B (zh) 对单向网络中的接收终端进行合法性认证的方法及系统
US9118663B1 (en) Agile OTP generation
CN106452782B (zh) 为终端设备生成安全通信信道的方法和系统
US11070542B2 (en) Systems and methods for certificate chain validation of secure elements
US7689828B2 (en) System and method for implementing digital signature using one time private keys
US20110231662A1 (en) Certificate validation method and validation server
KR20130084315A (ko) 신뢰성 있는 제 3자를 기반으로 한 양방향 엔티티 인증 방법
CN114008968A (zh) 用于计算环境中的许可授权的系统、方法和存储介质
CN114065176A (zh) 安全运算装置、安全运算方法、验证器及装置验证方法
CN104038486A (zh) 一种基于标识型密码实现用户登录鉴别的系统及方法
CN108885658B (zh) 借助凭证对设备真实性的证明
US20100211772A1 (en) Collaborative Reconciliation of Application Trustworthiness
TWI390937B (zh) 供當請求第三人屬性憑證時用以消除密碼現露之方法、系統及儲存媒體
CN114154125A (zh) 云计算环境下区块链无证书的身份认证方案
JP2009003501A (ja) ワンタイムパスワード認証システム
CN110855442A (zh) 一种基于pki技术的设备间证书验证方法
CN106375340B (zh) 提高证书验证安全性的方法和系统
KR20130100032A (ko) 코드 서명 기법을 이용한 스마트폰 어플리케이션 배포 방법
TW201638826A (zh) 在行動裝置上以安全信物使相異程式獲得數位憑證簽署之系統及方法
TWM505130U (zh) 在行動裝置上以安全信物使相異程式獲得數位憑證簽署之系統
JP4882255B2 (ja) 属性証明書管理装置および方法
CN113240418B (zh) 基于区块链的隐私数据智能访问控制方法和设备
CN116248264A (zh) 数据传输方法

Legal Events

Date Code Title Description
C06 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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20210201

Address after: 101300 room 153, 1 / F, building 17, 16 Caixiang East Road, Nancai Town, Shunyi District, Beijing

Patentee after: Yuanxin Information Technology Group Co.,Ltd.

Address before: 100176 room 2222, building D, building 33, 99 Kechuang 14th Street, Beijing Economic and Technological Development Zone, Daxing District, Beijing

Patentee before: BEIJING YUANXIN SCIENCE & TECHNOLOGY Co.,Ltd.

EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20170201

Assignee: Beijing Yuanxin Junsheng Technology Co.,Ltd.

Assignor: Yuanxin Information Technology Group Co.,Ltd.

Contract record no.: X2021110000018

Denomination of invention: Method and system to improve the security of certificate verification

Granted publication date: 20200331

License type: Common License

Record date: 20210531