CN105610795B - 一种增加自定义可信任的根证书的方法 - Google Patents
一种增加自定义可信任的根证书的方法 Download PDFInfo
- Publication number
- CN105610795B CN105610795B CN201510959081.2A CN201510959081A CN105610795B CN 105610795 B CN105610795 B CN 105610795B CN 201510959081 A CN201510959081 A CN 201510959081A CN 105610795 B CN105610795 B CN 105610795B
- Authority
- CN
- China
- Prior art keywords
- server
- array
- root certificate
- certificate
- access
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0631—Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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 digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3263—Cryptographic 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
- H04L9/3265—Cryptographic 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 using certificate chains, trees or paths; Hierarchical trust model
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/64—Self-signed certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2463/00—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
- H04L2463/081—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying self-generating credentials, e.g. instead of receiving credentials from an authority or from another peer, the credentials are generated at the entity itself
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明所提供的一种增加自定义可信任的根证书的方法,包括步骤:A、建立各个服务器的可信任根证书特征值的列表;B、针对每个服务器,生成一组随机数,与该服务器可信任根证书特征值一并,组成第一数组;对所述第一数组进行二次变换,得到第二数组;C、对所述变换后的第一数组进行加密运算;D、利用安全厂商证书的私钥对加密运算的结果进行签名,把签名值保存到所述列表中;E、访问服务器时,首先检测该服务器的根证书是否存于所述列表中;若存在,执行步骤F,否则无法访问该服务器;F、对该服务器的根证书进行校验,验签通过,则可以访问该服务器,否则无法访问该服务器。由上,保证根证书不被篡改或替换,实现安全访问服务器。
Description
技术领域
本发明涉及网络安全技术领域,特别涉及一种增加自定义可信任的根证书的方法。
背景技术
应用程序或者终端在访问任意一个安全网站的时候,都需要验证该网站提供的根证书。如果该网站的根证书是受信任的,则信任该网站提供的数据;如果该网站的根证书不在受信任的证书范围内,则提示用户该网站目前不受信任,有安全风险。
目前,应用程序或终端会把已知可信任根证书的特征值写到程序中,可信任的根证书存放在系统的可信任根证书库中。应用程序或终端验证服务器证书的流程是:
1、先确认当前服务器的证书是否是一张自定义签名证书;
2、如果是自定义的签名证书,验证当前证书是否在应用程序或终端的可信范围内,如果在可信范围内,则信任该服务器;如果该证书不在可信范围内,则返回该服务器不受信任;
3、如果当前服务器的证书不是一张自定义签名证书,则查找当前证书的颁发者证书;
4、如果当前证书的颁发者证书是一张自定义签名证书,则执行步骤2;如果不是一张自定义签名证书,则执行步骤3,直到找到自定义签名证书,然后执行步骤2。
上述流程的缺陷在于:系统的证书库是公开的,黑客可以导入一张自定义签名证书,或修改应用程序或者终端中已知的某一张根证书的特征值,将其替换为用户自定义签名证书的特征值,这样应用程序或终端在验证服务器证书的时候,因为既能在证书库中查找到所导入的自定义签名证书,又能在应用程序或终端中,比对特征值的时候比对通过,就会误信任这个服务器,给用户带来风险。
发明内容
有鉴于此,本发明的主要目的在于,提供一种增加自定义可信任的根证书的方法,包括步骤:
A、建立各个服务器的可信任根证书特征值的列表;
B、针对每个服务器,生成一组随机数,与该服务器可信任根证书特征值一并,组成第一数组;
对所述第一数组进行二次变换,得到第二数组;
C、对所述变换后的第一数组进行加密运算;D、利用安全厂商证书的私钥对加密运算的结果进行签名,把签名值保存到所述列表中;
E、访问服务器时,首先检测该服务器的根证书是否存于所述列表中;若存在,执行步骤F,否则无法访问该服务器;
F、对该服务器的根证书进行校验,验签通过,则可以访问该服务器,否则无法访问该服务器。
可选的,步骤F包括:
生成一组随机数,与该服务器可信任根证书特征值一并,组成第一数组,所述随机数与步骤B中对该服务器生成的随机数相同;
对所述第一数组进行加密运算;
采用安全厂商证书的公钥对加密运算结果进行验签,验签通过才可以访问该服务器。
由上,在程序中保存已知可信任根证书的特征值,在此基础上,对特征值进行变换,并使用安全厂商的证书对特征值进行签名,作为可信任的根证书。从而保证根证书不被篡改或替换,实现安全访问服务器。并且,在可信任根证书特征值的列表中已存有正在访问的服务器根证书的基础上,还需对正在访问的服务器根证书进行校验,从而才能确保该服务器的根证书没有被篡改或替换,以保证对服务器的安全访问。
由步骤B和C可知,通过二次变换,进一步提高服务器的可信任根证书特征值的特异性和唯一性,从而保证根证书不被篡改或替换,实现安全访问服务器。
可选的,所述二次变换包括:在第一数组后,增加一定数量的固定数或随机数,形成第二数组。
可选的,所述二次变换包括:对各个服务器进行编号,在第一数组后增加所述服务器的编号,形成第二数组。
由上,可进一步的增加可信任根证书特征值的唯一性,即仅通过本应用程序或终端编辑过的根证书具有可信任性和可识别性,而对其他客户端或程序编辑过的根证书不具有上述特点,由此实现特征值与客户端或程序一一绑定的安全效果。
可选的,步骤C包括:利用安全厂商证书的特征值做密钥,使用AES算法,对所述变换后的第一数组进行加密运算,得到密文数据。
由上,通过对第一数组进行加密,以提高其保密性。
可选的,步骤C还包括:对所述密文数据采用SM3密码杂凑算法进行加密计算。
由上,通过对密文数据进行再加密,以进一步提高其保密性。
附图说明
图1为本发明流程图。
具体实施方式
为克服现有技术存在的缺陷,本发明提供一种增加自定义可信任的根证书的方法,应用程序或终端在程序中保存已知可信任根证书的特征值,在此基础上,使用安全厂商的证书,对特征值进行签名,将签名值保存在应用程序或终端中,作为可信任的根证书。从而保证根证书不被篡改或替换,实现安全访问服务器。本实施例中,所述安全厂商的证书可以采用如北京海泰方圆科技股份有限公司的证书。
如图1所示,本发明所述增加自定义的可信任根证书的方法包括以下步骤:
S10:在程序中保存已知的可信任根证书特征值。
首先建立特征值列表,所述特征值列表中保存已有的各个服务器的可信任根证书特征值。
S20:依照服务器的数量,生成多个随机数组,逐一将随机数组与步骤S10中所述各个服务器可信任根证书的特征值组合得到数组A。
例如,步骤S10中,第一服务器的可信任根证书的特征值是:bf 89 02 29 91 f238 89 72 76 74 03 19 c3 55 c6 a1 b1 f6 56。
本步骤中,生成一组随机数,表示为:ea fd 90 c5 a5 2e cf 06 5b f6 64 06 7235 d3 9b b0 2e ac f2。
将二者进行组合,得到数组A,表示为:bf 89 02 29 91 f2 38 89 72 76 74 0319 c3 55 c6 a1 b1 f6 56 ea fd 90 c5 a5 2e cf 06 5b f6 64 06 72 35 d3 9b b0 2eac f2。
本步骤的目的在于,增加服务器可信任根证书特征值的不确定性和唯一性,通过随机数组的产生,使得固定的特征值变成非固定,由此增加安全系数和破解难度。
S30:对数组A进行二次变换,得到数组B。
本步骤中,在数组A的基础上,补充0x80、0x00两个字节,得到数组B。数组B表示为:bf 89 02 29 91 f2 38 89 72 76 74 03 19 c3 55 c6 a1 b1 f6 56 ea fd 90 c5 a5 2ecf 06 5b f6 64 06 72 35 d3 9b b0 2e ac f2 80 00。
本步骤的目的在于:对变化后的特征值进行再变换,进一步增加可信任根证书特征值的不确定性和唯一性。
本步骤中,所增补的两个字节内容为固定内容,实际使用中,可以增补随机内容。
又或者,对服务器可信任根证书与随机数的组合次序进行标号,以该标号对数组A进行增补。例如,对第一服务器标号为01、对第二服务器标号为02等等,由此可进一步的增加可信任根证书特征值的唯一性,即仅通过本应用程序或终端编辑过的根证书具有可信任性和可识别性,而对其他客户端或程序编辑过的根证书不具有上述特点,由此实现特征值与客户端或程序一一绑定的安全效果。
S40:对步骤S30中的所述数组B进行加密运算,得到密文数据C。
用安全厂商证书的特征值做密钥,使用AES算法,对数组B进行加密运算,得到密文数据C。
S50:对所述密文数据C进行二次加密,得到数据D。
本步骤中,对所述密文数据C采用SM3密码杂凑算法进行加密计算,得到数据D。具体实现过程中,还可采用MD5等其他杂凑算法实现。
S60:将数据D使用安全厂商证书的私钥做签名,把签名值保存到特征值列表中。
S70:再次访问时,对服务器特征值进行验签,通过方可访问。
本步骤包括两个子步骤,子步骤S701:判断所访问的服务器其根证书特征值是否已保存于步骤S10所建立的特征值列表中,若是,则进入子步骤S702,否则确定该服务器不可信,发出提示信息,结束步骤S70。
子步骤S702:验证所访问服务器的根证书进行运算,包括执行步骤S20~S50的运算。
需要说明的是,本步骤验证过程中,采用与步骤S20中对该服务器相同的随机数以及与步骤S30对该服务器相同的二次变换,最终得到数据E。进而,采用安全厂商证书的公钥对数据E进行验签,从而与步骤S60的签名结果进行比较,只有当比较一致时,才信任该服务器,否则,确定该服务器不可信,发出提示信息,结束步骤S70。
通过本步骤,可以杜绝黑客对于服务器的可信任根证书特征值的篡改或者替换。即通过步骤S701和步骤S702这两种方式,确保了程序当前要访问的服务器如果可信,则一定是真实可信的,不会被钓鱼网站假冒;如果两步验证中的任意一步验证不通过,则服务器有被钓鱼网站假冒的风险。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明。总之,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (5)
1.一种增加自定义可信任的根证书的方法,其特征在于,包括步骤:
A、建立各个服务器的可信任根证书特征值的列表;
B、针对每个服务器,生成一组随机数,与该服务器可信任根证书特征值一并,组成第一数组;
对所述第一数组进行二次变换,得到第二数组;
C、对所述变换后的第一数组进行加密运算;
D、利用安全厂商证书的私钥对加密运算的结果进行签名,把签名值保存到所述列表中;
E、访问服务器时,首先检测该服务器的根证书是否存于所述列表中;若存在,执行步骤F,否则无法访问该服务器;
F、对该服务器的根证书进行校验,验签通过,则可以访问该服务器,否则无法访问该服务器;
步骤F包括:
生成一组随机数,与该服务器可信任根证书特征值一并,组成第一数组,所述随机数与步骤B中对该服务器生成的随机数相同;
对所述第一数组进行加密运算;
采用安全厂商证书的公钥对加密运算结果进行验签,验签通过才可以访问该服务器。
2.根据权利要求1所述的方法,其特征在于,所述二次变换包括:在第一数组后,增加一定数量的固定数或随机数,形成第二数组。
3.根据权利要求1所述的方法,其特征在于,所述二次变换包括:对各个服务器进行编号,在第一数组后增加所述服务器的编号,形成第二数组。
4.根据权利要求1所述的方法,其特征在于,步骤C包括:利用安全厂商证书的特征值做密钥,使用AES算法,对所述变换后的第一数组进行加密运算,得到密文数据。
5.根据权利要求4所述的方法,其特征在于,步骤C还包括:对所述密文数据采用SM3密码杂凑算法进行加密计算。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510959081.2A CN105610795B (zh) | 2015-12-18 | 2015-12-18 | 一种增加自定义可信任的根证书的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510959081.2A CN105610795B (zh) | 2015-12-18 | 2015-12-18 | 一种增加自定义可信任的根证书的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105610795A CN105610795A (zh) | 2016-05-25 |
CN105610795B true CN105610795B (zh) | 2017-09-12 |
Family
ID=55990333
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510959081.2A Active CN105610795B (zh) | 2015-12-18 | 2015-12-18 | 一种增加自定义可信任的根证书的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105610795B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107766716B (zh) * | 2016-08-16 | 2021-08-31 | 阿里巴巴集团控股有限公司 | 证书检测方法及装置、电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101964800A (zh) * | 2010-10-21 | 2011-02-02 | 神州数码网络(北京)有限公司 | 一种在ssl vpn中对数字证书用户认证的方法 |
JP2011155349A (ja) * | 2010-01-26 | 2011-08-11 | Kddi Corp | マルチ属性認証システム、マルチ属性認証方法、失効確認方法およびプログラム |
CN102647394A (zh) * | 2011-02-16 | 2012-08-22 | 中兴通讯股份有限公司 | 路由设备身份认证方法及装置 |
CN103684872A (zh) * | 2013-12-26 | 2014-03-26 | 深圳数字电视国家工程实验室股份有限公司 | 应用程序的管控方法及装置 |
-
2015
- 2015-12-18 CN CN201510959081.2A patent/CN105610795B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011155349A (ja) * | 2010-01-26 | 2011-08-11 | Kddi Corp | マルチ属性認証システム、マルチ属性認証方法、失効確認方法およびプログラム |
CN101964800A (zh) * | 2010-10-21 | 2011-02-02 | 神州数码网络(北京)有限公司 | 一种在ssl vpn中对数字证书用户认证的方法 |
CN102647394A (zh) * | 2011-02-16 | 2012-08-22 | 中兴通讯股份有限公司 | 路由设备身份认证方法及装置 |
CN103684872A (zh) * | 2013-12-26 | 2014-03-26 | 深圳数字电视国家工程实验室股份有限公司 | 应用程序的管控方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105610795A (zh) | 2016-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109067801B (zh) | 一种身份认证方法、身份认证装置及计算机可读介质 | |
JP5889988B2 (ja) | Httpベースの認証 | |
More et al. | Third party public auditing scheme for cloud storage | |
CN104601593B (zh) | 基于挑战方式实现网络电子身份认证过程中防追踪的方法 | |
CN105656859B (zh) | 税控设备软件安全在线升级方法及系统 | |
US10021077B1 (en) | System and method for distributing and using signed send tokens | |
CN108737374A (zh) | 一种区块链中数据存储的隐私保护方法 | |
CN104980477A (zh) | 云存储环境下的数据访问控制方法和系统 | |
CN106850566B (zh) | 一种数据一致性校验的方法及装置 | |
JP2016515235A5 (zh) | ||
CN105635070B (zh) | 一种数字文件的防伪方法及系统 | |
CN109714370B (zh) | 一种基于http协议端云安全通信的实现方法 | |
CN103780379A (zh) | 密码加密方法和系统以及密码校验方法和系统 | |
CN105025019A (zh) | 一种数据安全分享方法 | |
CN107871081A (zh) | 一种计算机信息安全系统 | |
CN110912877B (zh) | 变电站内基于iec61850模型的数据发送、接收方法及装置 | |
CN107566127B (zh) | 一种iki可信数字标识的生成方法及使用方法 | |
CN106936579A (zh) | 基于可信第三方代理的云存储数据存储及读取方法 | |
US20200195447A1 (en) | Communication method of client device, issuing device and server | |
CN114257376B (zh) | 数字证书更新方法、装置、计算机设备和存储介质 | |
CN113395406A (zh) | 一种基于电力设备指纹的加密认证方法及系统 | |
CN112926046A (zh) | 用于保护设备标识信息的移动终端设备匿名标识信息认证的方法及其系统 | |
US8214634B1 (en) | Establishing trust via aggregate peer ranking | |
CN105657699A (zh) | 数据安全传输方法 | |
CN115208656A (zh) | 一种基于区块链和权限管理的供应链数据共享方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CB03 | Change of inventor or designer information | ||
CB03 | Change of inventor or designer information |
Inventor after: Ding Min Inventor after: Liu Zengshou Inventor after: Wang Peng Inventor after: Wang Ye Inventor after: An Xiaojiang Inventor before: Liu Zengshou Inventor before: Wang Peng Inventor before: Wang Ye Inventor before: An Xiaojiang |