CN104639534B - 网站安全信息的加载方法和浏览器装置 - Google Patents
网站安全信息的加载方法和浏览器装置 Download PDFInfo
- Publication number
- CN104639534B CN104639534B CN201410850587.5A CN201410850587A CN104639534B CN 104639534 B CN104639534 B CN 104639534B CN 201410850587 A CN201410850587 A CN 201410850587A CN 104639534 B CN104639534 B CN 104639534B
- Authority
- CN
- China
- Prior art keywords
- certificate
- authentication
- encryption
- digital certificate
- browser
- 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
- 238000011068 loading method Methods 0.000 title claims abstract description 29
- 238000000034 method Methods 0.000 claims abstract description 196
- 230000008569 process Effects 0.000 claims description 114
- 238000004422 calculation algorithm Methods 0.000 claims description 63
- 230000005540 biological transmission Effects 0.000 claims description 19
- 238000006243 chemical reaction Methods 0.000 claims description 11
- 230000001960 triggered effect Effects 0.000 claims 2
- 230000008520 organization Effects 0.000 claims 1
- 238000012795 verification Methods 0.000 description 36
- 230000006854 communication Effects 0.000 description 21
- 238000012545 processing Methods 0.000 description 21
- 238000004891 communication Methods 0.000 description 20
- 230000007246 mechanism Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 11
- 230000006835 compression Effects 0.000 description 9
- 238000007906 compression Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 9
- 230000008859 change Effects 0.000 description 7
- 230000008901 benefit Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 238000009434 installation Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000012790 confirmation Methods 0.000 description 3
- 238000010276 construction Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000008676 import Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 241000208340 Araliaceae Species 0.000 description 1
- 241001269238 Data Species 0.000 description 1
- 101000759879 Homo sapiens Tetraspanin-10 Proteins 0.000 description 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 1
- 235000003140 Panax quinquefolius Nutrition 0.000 description 1
- 102100024990 Tetraspanin-10 Human genes 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 235000008434 ginseng Nutrition 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 230000009182 swimming Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 230000017260 vegetative to reproductive phase transition of meristem Effects 0.000 description 1
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/0892—Network architectures or network communication protocols for network security for authentication of entities by using authentication-authorization-accounting [AAA] servers or protocols
-
- 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/3268—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 validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4552—Lookup mechanisms between a plurality of directories; Synchronisation of directories, e.g. metadirectories
-
- 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/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- 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/18—Network architectures or network communication protocols for network security using different networks or channels, e.g. using out of band channels
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0863—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
- H04L9/0897—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
-
- 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/3226—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 using a predetermined code, e.g. password, passphrase or PIN
-
- 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/40—Network security protocols
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)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Information Transfer Between Computers (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供了一种网站安全信息的加载方法和浏览器装置,所述的方法包括:通过浏览器的地址栏接收用户输入的网站地址;根据所述网站地址对应网络服务器的认证类型进行数字证书的安全认证,其中,所述数字证书是由数字证书认证中心CA颁发的;在安全认证通过后,所述浏览器的地址栏中加载与所述安全认证对应的安全认证标识。基于其数字证书的认证进行浏览器中认证的显示,直观的显示网站的安全性。
Description
技术领域
本发明涉及互联网技术领域,特别是涉及一种网站安全信息的加载方法和一种安全浏览器装置。
背景技术
随着网络技术的不断发展,越来越多的用户通过浏览器访问网页获取信息,并进行各种操作,其中,浏览器是指可以显示网页服务器或者文件系统的HTML(HyperTextMark-up Language,标准通用标记语言)文件内容,并让用户与这些文件交互的一种软件。
如在购物网站中购物,在视频网站中观看视频,在银行网站中进行金融业务,在游戏网站中玩游戏等。对于不同网站的网页请求,浏览器会执行不同的访问操作,从而访问该网页。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的网站安全信息的加载方法和相应的安全浏览器装置。
依据本发明的一个方面,提供了一种网站安全信息的加载方法,包括:通过浏览器的地址栏接收用户输入的网站地址;根据所述网站地址对应网络服务器的认证类型进行数字证书的安全认证,其中,所述数字证书是由数字证书认证中心CA颁发的;在安全认证通过后,所述浏览器的地址栏中加载与所述安全认证对应的安全认证标识。
根据本发明的另一方面,提供了一种安全浏览器装置,包括:接收模块,用于通过浏览器的地址栏接收用户输入的网站地址;认证模块,用于根据所述网站地址对应网络服务器的认证类型进行数字证书的安全认证,其中,所述数字证书是由数字证书认证中心CA颁发的;认证标识加载模块,用于在安全认证通过后,所述浏览器的地址栏中设置与所述安全认证对应的安全认证标识。
在浏览器对地址栏中网站地址进行访问时,该网站地址是基于HTTPS传输的,因此要依据该网站地址进行数字证书的认证,该数字证书是由数字证书认证中心CA颁发的,并在安全认证通过后在浏览器的地址栏中加载与所述安全认证对应的安全认证标识,对通过HTTPS传输的网站地址,基于其数字证书的认证进行浏览器中认证的显示,直观的显示网站的安全性。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明实施例的一种网站安全信息的加载方法实施例的步骤流程图;
图2示出了根据本发明一个实施例的网站安全信息的加载方法实施例的可选步骤流程图;
图3A示出了根据本发明一个实施例的安全认证标识展示示意图;
图3B示出了根据本发明一个实施例的在浏览器客户端中加载用户证书中常规信息的示意图;
图3C示出了根据本发明一个实施例的在浏览器客户端中加载用户证书中详细信息的示意图;
图4示出了根据本发明一个实施例的一种安全浏览器的实现方法的流程图;
图5示出了根据本发明一个实施例的加密子进程的一种代理机制示意图;
图6示出了根据本发明一个实施例的加密子进程和网络服务器的握手过程示意图;
图7示出了根据本发明一个实施例的安全浏览器装置实施例的结构框图;
图8示出了根据本发明一个实施例的安全浏览器装置实施例的可选结构框图;
图9示出了根据本发明一个实施例的加密子进程的结构框图;以及
图10示出了根据本发明一个实施例的主业务进程的结构框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
实施例一
参照图1,示出了根据本发明实施例的一种网站安全信息的加载方法实施例的步骤流程图,具体可以包括如下步骤:
步骤102,通过浏览器的地址栏接收用户输入的网站地址。
用户在浏览器中浏览网页时,需要在地址栏中输入网站地址以请求对该网站地址对应网页进行访问。本实施例中地址栏所接收的网站地址可能是用户直接输入的,也可以能是用户通过搜索点击搜索结果后输入的,本实施例对此不作限定。
本实施例中,该网站地址即统一资源定位符(Uniform Resource Locator,URL),URL是基于以安全为目标的HTTP通道(Hyper Text Transfer Protocol over SecureSocket Layer,HTTPS)传输的,HTTPS即HTTP下加入SSL(Secure Sockets Layer,安全套接层),其安全基础是SSL,SSL是为网络通信提供安全及数据完整性的一种安全协议。
步骤104,根据所述网站地址对应网络服务器的认证类型进行数字证书的安全认证。
针对上述网站地址发起的请求,即对基于安全通道进行访问的网站请求,在访问该网站地址对应网络服务器时,需要进行数字证书的安全认证,基于认证类型的不同,数字证书的安全认证过程也存在差异,本实施例中,认证类型包括单向认证和双向认证。
其中,数字证书认证中心(Certificate Authority,CA)是指发放、管理、废除数字证书的机构。CA的作用是检查证书持有者身份的合法性,并签发证书(在证书上签字),以防证书被伪造或篡改,以及对证书和密钥进行管理。上述安全认证过程中所要认证的数字证书就是由CA颁发的。
其中,SSL协议可分为两层:SSL记录协议(SSL Record Protocol):它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。SSL握手协议(SSL Handshake Protocol):它建立在SSL记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等,即通过握手过程执行数字证书的安全认证。
步骤106,在安全认证通过后,所述浏览器的地址栏中加载与所述安全认证对应的安全认证标识。
在数字证书的安全认证通过后,确认该网络服务器以及要访问的网站地址是安全的,可以正常开启该网站地址对应页面并执行相应的操作,此时还可以获取安全认证对应的安全认证标识,然后在浏览器的地址栏加载该安全认证标识。该安全认证标识是用于标识访问的网站地址安全的一种标示符,其该安全认证标识可以是基于数字证书认证中心的认证结果配置的,即是第三方的安全认证标识。
本实施例中,还可以在浏览器中启动加密子进程,采用加密子进程作为主业务进程的代理,则通过加密子进程执行上述步骤104和106的证书认证以及安全认证标识加载过程。
综上所述,在浏览器对地址栏中网站地址进行访问时,该网站地址是基于HTTPS传输的,因此要依据该网站地址进行数字证书的认证,该数字证书是由数字证书认证中心CA颁发的,并在安全认证通过后在浏览器的地址栏中加载与所述安全认证对应的安全认证标识,对通过HTTPS传输的网站地址,基于其数字证书的认证进行浏览器中认证的显示,直观的显示网站的安全性。
实施例二
在上述实施例的基础上,本实施例详细论述对通过HTTPS传输的网站地址进行访问并加载认证信息的方法。
参照图2,示出了根据本发明一个实施例的网站安全信息的加载方法实施例的可选步骤流程图,具体可以包括如下步骤:
步骤202,在浏览器客户端中启动与主业务进程进行通信的加密子进程。
其中,所述加密子进程用于作为连接代理实现第一加密通道到第二加密通道的转换,以及数据转发。
步骤204,所述加密子进程通过握手过程与所述网络服务器进行数字证书的单向认证或双向认证。
1、单向认证
本实施例中,单向认证是对所访问网站的网络服务器的认证,确认访问的网站的数字证书是安全有效地,因此该数字证书是访问的网站的站点证书。
上述实施例中提到SSL中包括握手协议,本实施例中站点证书的安全认证就是在浏览器客户端和网站所属网络服务器的握手过程中完成的,该握手过程至少包括如下步骤:
浏览器客户端向所述网络服务器发送客户端问候消息ClientHello,其中,所述客户端问候消息包括所述浏览器客户端的第一加密数据,所述第一加密数据包括若干协议版本号,会话标识session ID,密钥生成过程用作输入的客户端随机数、以及密码套件等属性信息。每个密码套件包括密钥交换算法、加密算法和校验算法。上述第一加密数据可以由服务器决定然后反馈给浏览器客户端。
所述网络服务器向所述浏览器客户端反馈服务端问候消息SeverHello,其中,所述服务端问候消息包括所述服务器客户端的第二加密数据,所述第二加密数据包括:从所述第一加密数据中选定的协议版本号,即网络服务器支持的协议版本号,以及session ID、密码套件和密钥生成过程用作输入的服务器随机数。因此上述过程也可称为加密数据协商过程。
所述网络服务器向所述浏览器客户端发送服务端证书消息SeverCertificate,所述服务端证书消息包括所述网络服务器的站点证书,如包括签名证书和加密证书。然后所述浏览器客户端对所述网络服务器的站点证书进行认证。即通过上述加密数据协商结果,采用非对称算法SM2进行认证。其中,SM2算法(SM2algorithm)进行,一种椭圆曲线公钥密码算法,其密钥长度为256比特。其中,浏览器中可以加载一加密子进程执行本实施例中网站安全信息的加载方法,以对基于HTTPS的网站请求进行认证并访问,该加密子进程可以调用存储的浏览器信任根证书列表,用于验证服务器端证书。支持的信任根证书为PEM编码方式,同时支持两种证书添加方式:(1)程序内部添加信任根证书;(2)配置文件添加信任根证书,配置文件采用des加密保存。为保证安全,不支持导入导出功能。
2、双向认证
所述加密子进程通过握手过程与所述网络服务器进行数字证书的双向认证的步骤,包括:所述加密子进程通过握手过程与所述网络服务器依次执行以下安全认证操作:加密数据协商、证书认证、密钥交换和签名认证。
本实施例中,双向认证是对所访问网站的网络服务器和浏览器客户端彼此均要进行认证,确认访问的网络服务器的数字证书以及浏览器客户端所加载的数字证书是安全有效的,因此该数字证书包括访问的网站的站点证书以及浏览器客户端所加载的用户证书。
与单向认证过程类似,双向认证同样是在浏览器客户端和网站所属网络服务器的握手过程中完成的,该握手过程至少包括如下步骤:
浏览器客户端向所述网络服务器发送客户端问候消息ClientHello,所述网络服务器向所述浏览器客户端反馈服务端问候消息SeverHello,协商加密数据。
然后网络服务器向所述浏览器客户端发送服务端证书消息SeverCertificate,由于要进行双向认证,网络服务器向浏览器客户端依次发送证书认证请求消息SeverRequest、服务端密钥交换消息SeverKeyExchange和服务端问候完结消息SeverHelloDone。其中。所述证书认证请求消息用于指示进行客户端的证书认证。
然后,浏览器客户端采用非对称算法SM2对所述网络服务器的站点证书进行认证,在认证通过后,浏览器客户端向所述网络服务器发送客户端证书消息ClientCertificate,该客户端证书消息包括浏览器客户端加载的用户证书,从而网络服务器基于非对称算法SM2对所述浏览器客户端加载的用户证书进行认证。
后续的握手过程中,浏览器客户端还可以向网络服务器发送客户密钥交换消息ClientKeyExchange和客户端问候完结消息ClientHelloDone,以及密钥交换和签名认证所需的其他握手消息,在实施例三中详细论述。
本实施例中,数字证书的认证过程中采用非对称算法进行认证,即发送者采用接收者的公钥对数据进行加密,对应接收者采用自己的私钥对数据进行解密。其中,证书的非对称算法采用SM2算法,使用签名证书基于ECDSA签名实现身份认证,使用加密证书基于ECDH实现密钥协商。
本发明一个可选实施例中,在进行数字证书的双向认证时,所述加密子进程弹出证书选择框,并在所述证书选择框中显示所述浏览器所在终端中加载的各用户证书的信息;通过所述证书选择框接收用户选择的用户证书。
还包括:所述加密子进程显示口令输入消息,所述口令输入消息用于提示用户输入所述用户证书对应的保护口令;所述加密子进程接收用户输入的保护口令,并对述保护口令进行验证,在确认所述保护口令确认所述用户具有所述用户证书的使用权限。
本实施例中,为了保证访问网站和用户的安全,CA机构为不同的网站颁布不同的站点证书,同时为不同网站的不同用户颁布不同的用户证书。其中,数字证书中包括站点或用户的公钥,站点或用户的信息,以及数字签名等内容。
在双向认证过程中,所述加密子进程可以在浏览器客户端中弹出证书选择框,并在所述证书选择框中显示所述浏览器所在终端中加载的各用户证书的信息;通过所述证书选择框接收用户选择的用户证书,用户在对用户证书进行选择后,所述加密子进程显示口令输入消息,所述口令输入消息用于提示用户输入所述用户证书对应的保护口令,如输入个人识别码(Personal Identification Number,PIN),所述加密子进程接收用户输入的保护口令,并对述保护口令进行验证,即通过保护口令可以对用户身份进行认证,确认用户是否具有该用户证书的使用权项,从而在保护口令输入正确后确认所述保护口令确认所述用户具有所述用户证书的使用权限。并且,上述用户证书和保护口令可以作为用户证书认证过程中的认证数据发送给网络服务器。
可选的,还包括:所述加密子进程通过提示信息提示用户插入安全密钥存储硬件,所述安全密钥存储硬件中存储有用户证书;所述加密子进程调用驱动程序检测所述安全密钥存储硬件;当检测到所述安全密钥存储硬件后,所述加密子进程获取所述安全密钥存储硬件中存储的用户证书的信息。
浏览器客户端加载用户证书时,首先所述加密子进程通过提示信息提示用户插入安全密钥存储硬件,该安全密钥存储硬件即USB Key,它是一种USB接口的硬件设备,内置单片机或智能卡芯片,有一定的存储空间,可以存储用户的私钥以及数字证书,利用USB Key内置的公钥算法实现对用户身份的认证。由于用户私钥保存在密码锁中,理论上使用任何方式都无法读取,因此保证了用户认证的安全性。
在用户插入安全密钥存储硬件后,调用所述安全密钥存储硬件的驱动程序检测所述安全密钥存储硬件,并在检测到所述安全密钥存储硬件后,在所述通过所述证书选择框中加载安全密钥存储硬件中的证书信息,然后接收用户选择的证书信息;在所述证书选择框中弹出保护口令输入窗口,再接收用户输入的保护口令。
其中,浏览器自动识别USBKey需要依赖CSP注册表项中的两个关键信息:SKFImagePath:指定SKF动态库的路径。TokenVidPid:字符串格式。KEY设备的VendorID和ProductID,采用的格式类似HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB中的格式,也即VID_XXXX&PID_XXXX。
浏览器会通过USBKey设备的供应方标识vendorid、产品编号productid关联到相应驱动,完成相关操作。浏览器不会存储用户输入的pin密码,也不会存储USBKey中的私钥信息。对USBKey的操作流程如下:连接到USBKey设备;打开相应的应用Application,Application由用户选择决定;打开相应的容器Container,Container由用户选择决定,然后输入校验PIN码,验证错误后会提示重新输入,然后获取签名证书信息,获取加密证书信息,进行数字证书的认证,后续在与网络服务器进行数据交互的过程中,对数据的加、解密过程也是在USBKey中完成的,从而在对该网站访问完成后关闭设备并断开连接。
本发明一个可选实施例中,接收所述网络服务器返回的允许连接消息,建立所述浏览器和所述网站对应网络服务器之间进行加密数据传输的安全连接通道,所述允许连接消息是由所述网络服务器对所述用户证书的安全认证通过后发送的。
上述证书认证通过后,网络服务器返回允许连接消息,此时建立所述浏览器和所述网站对应网络服务器之间进行加密数据传输的安全连接通道。在该安全连接通道中传输数据,本实施例中,采用对称算法SM4算法对数据进行加、解密,其中SM4算法即SM4algorithm,是一种分组密码算法,分组长度为128比特,密钥长度为128比特。
步骤206,在确认所述握手过程中的安全认证通过后,所述加密子进程获取所述数字证书中的认证信息,并依据所述认证信息生成安全认证标识。
步骤208,在所述浏览器地址栏中加载所述安全认证标识,其中,所述安全认证标识包括以下至少一项:安全认证所采用的加密算法、颁发数字证书的数字证书认证中心CA、该数字证书对应的安全机构。
在安全认证通过后,可以获取与所述安全认证对应的安全认证标识,其中,所述安全认证标识包括以下至少一项:安全认证所采用的加密算法、颁发数字证书的数字证书认证中心CA、该数字证书对应的安全机构。如该安全认证标识即基于CA的第三方认证生成的,如该安全认证标识中加载CA名称等。然后在浏览器的地址栏中加载并显示该安全认证标识,如图3A所示。其安全认证标识通过触发后显示“位于CNSHShanghai的KoalSoftware的身份已通过了ecc-ca的验证”,显示了证书的认证机构以及颁发者等。
步骤210,所述加密子进程接收对所述安全认证标识触发的数字证书查看指令。
步骤212,所述加密子进程根据所述数字证书查看指令打开证书查看器显示所述数字证书内容。
用户若要进一步查看该安全认证标识,则可以对安全认证标识进行触发,生成数字证书查看指令,依据该数字证书查看指令,打开证书查看器显示所述数字证书内容。
本发明一个可选实施例中,所述根据所述数字证书查看指令打开证书查看器显示所述数字证书内容,包括:所述加密子进程根据所述数字证书查看指令打开证书查看器;在所述证书查看器中分别设置常规选项卡和详细选项卡;在所述常规选项卡中加载所述数字证书的常规信息;在所述详细选项卡中加载所述数字证书的详细信息。
根据所述数字证书查看指令打开证书查看器,该证书查看器中分别设置由常规选项卡和详细选项卡,在常规选项卡中加载所述数字证书的常规信息,如图3B所示,包括数字证书是颁发给的某个用户的用户信息,颁发者的信息以及有效期、指纹等。在所述详细选项卡中加载所述数字证书的详细信息,如图3C所示,包括证书结构和证书字段,通过点击触发可以进一步查看详细信息,从而通过对不同选项卡的选择可以查看数字证书的不同内容。
实施例三
在上述实施例的基础上,本实施例论述基于加密子进程的代理实现安全浏览器客户端和网络服务器的安全通信方法。
参照图4,示出了根据本发明一个实施例的一种安全浏览器的实现方法实施例的步骤流程图,具体可以包括如下步骤:
步骤402,在浏览器客户端中启动与浏览器主业务进程进行通信的加密子进程,其中,所述加密子进程用于作为连接代理实现第一加密通道到第二加密通道的转换,以及数据转发。
对于一些网站,如银行网站、支付宝网站等涉及金融业务的网站需要通过以安全为目标的HTTP(HTTP-Hypertext transfer protocol,超文本传送协议)通道进行加密数据的传输,但是有时浏览器主业务进程与网络服务器采用不同的加密协议或算法,导致两者无法直接通信,无法对该网络服务器的网页进行访问。
本实施例中,提供了一种安全浏览器客户端,其在浏览器中还设置了与浏览器主业务进程进行通信的加密子进程。为了使得安全浏览器能够实现,需要首先在浏览器客户端中启动与浏览器主业务进程进行通信的加密子进程。所述加密子进程的主要功能是作为连接代理实现第一加密通道到第二加密通道的转换,以及数据转发。即采用加密子进程作为主业务进程的代理,其既能与浏览器主业务进程进行加密的安全通行,也能够与网络服务器进行加密的安全通信,如对于浏览器主业务进程的业务数据通过第一加密通道发送给加密子进程,该加密子进程将业务数据通过第二加密通道传输给网络服务器,实现数据转发以及两个加密通道的连通。
需要说明的是,通常情况下,浏览器的主业务进程与网络服务器直接进行通信,但是,在以安全为目标的HTTP通道进行通信时,若主业务进程无法对网络服务器反馈的数据信息进行解析,启动所述加密子进程作为代理连接,即所述加密子进程作为所述主业务进程与所述网络服务器之间的代理。本实施例中上述第一加密通道为所述浏览器主业务进程和所述加密子进程的安全通信通道;所述第二加密通道为所述加密子进程和网络服务器的安全通信通道。因此所述加密子进程通过将加密子进程与所述主业务进程的第一加密通道,转换为加密子进程与网络服务器的第二加密通道,来实现所述主业务进程与所述网络服务器之间的连接代理。当然对于主业务进程通过所述第一加密通道发送给加密子进程的业务数据,加密子进程可以将所述业务数据通过第二加密通道发送给网络服务器。
本实施例中在浏览器客户端中启动与浏览器主业务进程进行通信的加密子进程,可以由浏览器自动启动,具体地,当浏览器主业务进程与网络服务器通信失败时,浏览器自动启动所述加密子进程,所述加密子进程接收主业务进程的第一连接请求,根据所述第一连接请求中包含的业务数据进行相应处理,形成浏览器主业务进程的代理连接。
本实施例中上述第一加密通道为所述浏览器主业务进程和所述加密子进程的安全通信通道;所述第二加密通道为所述加密子进程和网络服务器的安全通信通道。因此所述加密子进程通过将加密子进程与所述主业务进程的第一加密通道,转换为加密子进程与网络服务器的第二加密通道,来实现所述主业务进程与所述网络服务器之间的连接代理。当然对于主业务进程通过所述第一加密通道发送给加密子进程的业务数据,加密子进程可以将所述业务数据通过第二加密通道发送给网络服务器。
本实施例中,浏览器主业务进程与加密子进程采用代理及IPC两种通信方式,从而加密子进程可以作为连接代理,负责和浏览器主业务进程第一加密通道,到和网络服务器的第二加密通道的通道转换及数据转发,而IPC通信方式负责进程间数据传递。本实施例中,加密子进程代理实现机制如图5所示,具体可以包括如下结构:
主线程:读取各类配置,创建监听线程、主业务线程,以及浏览器主进程IPC通。
侦听线程:用于监听服务端口,当有主业务进程存在连接请求并接收(accept)成功执行相应的代理操作。
业务处理线程:与主业务进程和网络服务器两端分别建立相应加密通道连接并维持,从而作为桥梁进行两端的数据交换。
步骤404,所述加密子进程对浏览器主业务进程进行侦听,并获取所述浏览器主业务进程发送的第一连接请求。
所述加密子进程对浏览器主业务进程进行侦听,具体可以通过以下方式来实现:所述加密子进程创建侦听线程;所述侦听线程通过服务端口对所述浏览器主业务进程进行侦听。当侦听线程侦听到第一连接请求到来时,接收所述主业务进程发送的第一连接请求。所述浏览器主业务进程发送的第一连接请求,具体可以包括业务数据。加密子进程对浏览器主业务进程进行侦听,是为了第一时间获取浏览器主业务进程发送的第一连接请求。
步骤406,依据所述第一连接请求,所述加密子进程与所述网络服务器建立加密连接通信。
本实施例中依据所述第一连接请求,所述加密子进程与所述网络服务器建立加密连接通信,具体可以包括以下子步骤:
子步骤一,在确认所述第一连接请求接收成功后,所述加密子进程与所述网络服务器依次进行加密数据协商和证书认证。
子步骤二,在加密数据协商完毕且证书认证通过后,建立所述浏览器客户端与网络服务器的加密连接通信。
需要说明的是,所述子步骤一中加密子进程与所述网络服务器进行加密数据协商的步骤,具体可以通过以下方式来实现:首先,所述加密子进程向所述网络服务器发送客户端问候消息,其中,所述客户端问候消息包括所述浏览器客户端的第一加密数据,所述第一加密数据包括若干协议版本号;其次,所述网络服务器向所述加密子进程反馈服务端问候消息,其中,所述服务端问候消息包括所述服务器客户端的第二加密数据,所述第二加密数据包括:从所述第一加密数据中选定的协议版本号。需要说明的是,上述客户端问候消息和服务端问候消息用于确定双方的安全传输能力,包括若干协议版本号、会话标识、密码套件等属性,并且产生和交换随机数。
客户端问候消息(ClientHello消息)作为浏览器客户端和网络服务器握手协议的第一条消息,所述加密子进程向所述网络服务器发送客户端问候消息之后,等待网络服务器返回服务器问候消息。客户端问题消息结构定义:
1、Clien_vision表示客户端在这个会话中使用的协议版本。如协议版本号是1.1。
2、Radom是客户端产生的随机信息,其内容包括始终和随机数。
3、session_id是客户端在连接中使用的会话标识。session_id是一个可变长字段,其值由服务器决定。如果没有可重用的会话标识或希望协商安全参数,该字段为空,否则表示客户端希望重用该会话。这个会话标识可能是之前的连接标识,当前连接标识,或其他处于连接状态的连接标识。会话标识生成后应一致保持到被超时删除或与这个会话相关的连接遇到致命错误被关闭。一个会话失效或被关闭时则与其相关的连接都应被强制关闭。
4、cipher_suites是客户端所支持的密码套件列表,客户端应按照密码套件使用的优先级顺序排列,优先级最高的密码套件应排在首位。如果会话标识字段不为空,本字段应至少包含将重用的会话所使用的密码套件。每个密码套件包括一个密钥交换算法,一个加密算法和一个校验算法。服务器将在密码套件列表中选择一个与之匹配的密码套件,如果没有可匹配的密码套件,应返回握手失败报警消息并且关闭连接。
5、compression_methods是客户端所支持的压缩算法列表,客户端应该按照压缩算法使用的优先级顺序排列,优先级最高的压缩算法排在首位。服务器将在压缩算法列表中选择一个与之匹配的压缩算法,列表中必须包含空压缩算法,这样客户端和服务器总能协商出一致的压缩算法。
需要说明的是,服务器如果能从客户端问候消息中找到匹配的密码套件,服务器发送所述服务端问候消息(Server Hello消息)作为对客户端问候消息的回复。如果找不到匹配的密码套件,服务器将回应报警消息。
需要说明的是,所述子步骤一中加密子进程与所述网络服务器依次进行证书认证的步骤,具体可以包括:所述加密子进程对所述网络服务器进行单向证书认证;或,所述加密子进程和所述网络服务器进行双向证书认证。
在本发明实施例的一种可选示例中,所述加密子进程通过驱动识别安全密钥存储硬件,并依据所述硬件证书载体在双向证书认证过程中进行加密运算。例如,SSL连接建立过程中如果需要双向认证,所述加密子进程会提示用户插入安全密钥存储硬件,即USBKey设备。在用户插入安全密钥存储硬件后能够自动识别并弹出证书选择对话框,提示用户选择证书。所述加密子进程自动识别安全密钥存储硬件需要依赖CSP注册表项中的两个关键信息:SKFImagePath:指定SKF动态库的路径和TokenVidPid:字符串格式。KEY设备的VendorID和ProductID,采用的格式类似HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB中的格式,也即VID_XXXX&PID_XXXX。浏览器会通过USBKey设备的vendorid、productid关联到相应驱动,完成相关操作。浏览器不会存储用户输入的pin密码,也不会存储USBKey中的私钥信息。具体流程如下:首先连接到USBKey设备;然后打开相应应用(Application),Application由用户选择决定;然后打开相应容器(Container),Container由用户选择决定;接着校验PIN码(个人身份识别码),验证错误后会提示重新输入;然后获取签名证书信息;接着获取加密证书信息;最后关闭设备、断开连接。
1、单向认证
在本发明实施例的一种可选示例中,所述加密子进程对所述网络服务器进行单向证书认证,具体可以通过以下方式来实现:首先,所述加密子进程接收所述网络服务器发送的服务端证书消息,所述服务端证书消息包括所述网络服务器的站点签名证书;其次,所述加密子进程对所述网络服务器的站点签名证书进行认证。下面对服务端证书消息(ServerCertificate消息)进行说明,网络服务器需要发送一个服务端证书消息给客户端,该消息总是紧跟在服务端问候消息之后,当选中的密码套件使用RSA或ECC或ECDHE算法时,所述服务端证书消息的内容为服务端标识和IBC公共参数,用于客户端与服务器协商IBC公开参数。密钥交换算法与证书密钥类型的关系如表1所示。
密钥交换算法 | 证书密钥类型 |
RSA | RSA公钥,必须使用加密证书中的公钥 |
IBC | 服务端标识和IBC公共参数 |
IBSDH | 服务端标识和IBC公共参数 |
ECC | ECC公钥,必须使用加密证书中的公钥 |
ECDHE | ECC公钥,必须使用加密证书中的公钥 |
表1,密钥交换算法与证书密钥类型关系表
2、双向认证
在本发明实施例的一种可选示例中,所述加密子进程和所述网络服务器进行双向证书认证,具体可以通过以下方式来实现:
1)所述加密子进程接收所述网络服务器发送的服务端证书消息,所述服务端证书消息包括所述网络服务器的站点签名证书;
2)所述加密子进程接收所述网络服务器发送的证书认证请求消息,所述证书认证请求消息用于指示进行客户端的证书认证;
3)所述加密子进程接收所述网络服务器发送的服务端密钥交换消息,包括密钥交换参数;
4)所述加密子进程接收所述网络服务器发送的服务端问候完结消息;
5)所述加密子进程对所述站点签名证书进行认证;
6)当所述站点签名证书认证通过后,所述加密子进程向所述网络服务器发送客户端证书消息,所述客户端证书消息包括所述浏览器客户端的签名证书,以使所述网络服务器对所述签名证书进行认证。
在本发明实施例的一种可选示例中,所述的方法还包括密钥交换的步骤:所述加密子进程依据所述密钥交换参数随机产生预主密钥,其中,所述预主密钥是采用所述网络服务器的加密公钥通过椭圆曲线密码算法SM2进行加密计算得到的;所述加密子进程采用所述预主密钥生成客户端密钥交换消息,并发送给网络服务器,以使所述网络服务器获取所述预主密钥。
在本发明实施例一种可选示例中,所述的方法还包括验证证书签名的步骤,具体包括:所述加密子进程获取依据站点签名证书计算的签名校验参数,并生成客户端证书校验消息发送给所述网络服务器;所述加密子进程向所述网络服务器发送客户端密码规格变更消息,以表征加密数据的协商完成;所述加密子进程向所述网络服务器发送客户端握手结束消息;所述加密子进程接收所述网络服务器发送的服务端密码规格变更消息,以表征认可该加密数据的协商;所述加密子进程接收所述网络服务器发送的服务端握手结束消息。需要说明的是,国密SSL连接过程的每次SSL握手处理中,都对服务器证书进行了严格的验证。
本实施例中,上述加密数据协商、证书认证、密钥交换以及签名认证都是在安全浏览器客户端的加密子进程和网络服务器的握手过程中执行的。本实施例中,双向认证采用了双证书机制,证书的非对称算法采用SM2算法,使用签名证书基于ECDSA签名实现身份认证,使用加密证书基于ECDH实现密钥协商。使用的SM4算法对数据进行加密,使用SM3算法对数据进行摘要。
其中,SM2算法(SM2algorithm)是一种椭圆曲线公钥密码算法,其密钥长度为256比特。SM3算法(SM3algorithm)是一种密码杂凑算法,其密钥长度为128比特,SM4算法(SM4algorithm)是一种分组密码算法,分组长度为128比特,密钥长度为128比特。
如图6所示,加密子进程和网络服务器的握手过程包括:
6.02、加密子进程发送客户端问候消息ClientHello给网络服务器。
6.04、网络服务器发送服务端问候消息SeverHello给所述安全安全浏览器客户端的加密子进程。
其中,网络服务器从ClientHello消息中找到匹配的密码套件,发送SeverHello作为回复,若找不到匹配的密码套件,则发送报警消息。该SeverHello中,Sever_vision,表示服务器支持的版本号,如1.1;Radom服务器端产生的随机数;session_id服务端使用的会话标识;cipher_suites服务端从ClientHello消息中选取的密码套件;compression_methods服务端从ClientHello消息中选取的压缩算法。
6.06、网络服务器发送服务端证书消息Certificate给加密子进程。
即SeverCertificate本消息内容为签名证书和加密证书。如服务端的站点签名证书(X.509序列)
6.08、网络服务器发送证书认证请求消息SeverRequest给加密子进程。
通过SeverRequest消息要求客户端提供证书。同时指明了认证类型(ECDSA)
6.10、网络服务器发送服务端密钥交换消息SeverKeyExchange给加密子进程。
SeverKeyExchange用于客户端计算产生48字节的预主密钥。公钥可以直接从服务器端的加密证书中获取。如客户端随机产生预主密钥pre_master_seceret密钥,并使用服务器证书的公钥进行ECDH运算
6.12、网络服务器发送问候完结消息SeverHelloDone给加密子进程。
SeverHelloDone表征握手过程的hello消息阶段完成,然后等待客户端的响应消息。
6.14、加密子进程发送客户密钥交换消息Certificate给网络服务器。
即ClientCertificate消息是hello消息阶段完成后的第一条消息,如包括客户的签名证书(X.509序列)。
6.16、加密子进程发送客户密钥交换消息ClientKeyExchange给网络服务器。
ClientKeyExchange消息中网络服务器的公钥加密预主密钥。
6.18、加密子进程发送证书校验消息CertificateVerify给网络服务器。
CertificateVerify消息用于鉴别客户端是够为证书的合法持有者。本实施例中,提示用户插入USBKey后可以提示用户输入保护口令,该保护口令即携带在该消息中验证用户是否合法。
如,客户端使用签名证书的ECC私钥对握手信息的摘要进行ESDSA签名
6.20、加密子进程发送客户端密码规格变更消息ChangeCipherSpec给网络服务器。
即ClientChangeCipherSpec消息向服务端表明算法及密钥协商完成。
6.22、加密子进程发送客户端握手结束消息Finished给网络服务器。
本实施例中,加密子进程根据客户端的随机数、服务端的随机数、pre_master_seceret使用密钥算法计算master_seceret,然后再使用随机数和master_seceret计算真正的数据加密密钥,然后将所有握手消息摘要后加密形成ClientFinished消息向服务端发送。
6.24、网络服务器发送服务端密码规格变更消息ChangeCipherSpec给加密子进程。
6.26、网络服务器发送服务端握手结束消息Finished给加密子进程。
服务端验证客户端证书,使用客户端的签名证书验证客户端的签名。服务使用自身的加密私钥和进行ECDH运算,获得pre_master_seceret,采用客户端同样的算法计算master_seceret和数据加密密钥,验证SeverFinished消息的正确性,向客户端发送SeverChangeCipherSpec消息,表示认可算法及密钥协商。
通过上述握手过程完成了浏览器客户端和网络服务器双方的认证、密钥协商等过程,从而加密子进程和网络服可以务端分别使用协商计算出的密钥加密应用数据。
步骤408,在所述加密连接通信建立成功后,建立为所述加密子进程和所述网络服务器进行安全通信的第二加密通道。
所述加密子进程和所述网络服务器在第二加密通道中进程加密通信。具体地,可以将在第二加密通道中进行通信的数据采用对称加密算法SM4对业务数据进行加密。
步骤410,所述加密子进程创建业务处理线程;所述业务处理线程分别与所述第一加密通道和所述第二加密通道建立连接。
所述加密子进程创建的业务处理线程,与所述加密子进程与主业务进程之间的第一加密通道,和所述加密子进程与网络服务器之间的第二加密通道都建立连接。所述业务处理线程具体作为所述主业务进程和所述网络服务器之间的桥梁进行两端的数据交换。
步骤412,在所述加密连接通信建立成功后,所述加密子进程执行业务数据在所述第一加密通道和第二加密通道之间的转发。
本实施例中所述加密子进程执行业务数据在所述第一加密通道和第二加密通道之间的转发,具体可以通过以下方式来实现:所述业务处理线程通过所述第一加密通道接收所述浏览器主业务进程发送的第一业务数据;所述业务处理线程采用第一对称算法对所述第一业务数据进行解密处理,获取原始业务数据;所述业务处理线程采用第二对称算法对所述原始业务数据进行加密处理,获取所述第二业务数据;所述业务处理线程采用通过所述第二加密通道间所述第二业务数据发送给所述网络服务器。需要说明的是,上述过程是数据通信过程中加密子进程分别对两个通道数据转换的过程。
在本发明实施例的一种可选示例中,所述加密子进程和所述浏览器主业务进程通过握手过程建立加密连接通信,并在加密连接通信成功后,建立为所述浏览器主业务进程和所述加密子进程进行安全通信的第一加密通道;其中,所述握手过程中执行通过第一非对称算法执行所述加密子进程和所述浏览器主业务进程之间的双向证书认证、密钥交换,以及执行证书认证;所述密钥交换过程中生成对称密钥。需要说明的是,第一非对称算法具体可以是RSA算法。
在本发明实施例的一种可选示例中,所述安全浏览器的实现方法还包括:所述业务处理线程将第一连接请求通过第二对称算法进行加密处理得到第二连接请求;所述业务处理线程将所述第二连接请求发送给所述网络服务器;所述业务处理线程接收所述网络服务器基于所述第二连接请求反馈的第二连接应答;第二连接请求将所述第二连接应答通过第二对称算法进行解密处理得到第一连接应答,并反馈给所述浏览器主业务进程。
需要说明的是,业务处理线程的具体流程如下:(1)接收代理数据,具体接收代理连接的http request数据。(2)与网络服务器进行SSL连接,具体包括SSL连接的建立,SSL协议协商,算法协商,客户端证书验证(CRL检查或OCSP认证)(3)与web服务器交互。具体将代理连接http request数据经由国密SSL通道发给Web服务器,获取Web服务器的httpresponse。(4)发送网络服务器返回数据给代理连接。具体将网络服务器的http response转给代理连接。(5)关闭连接。业务处理流程中如果发生错误,则关闭连接,同时给代理连接返回错误页面。需要说明的是,所述第二对称算法具体可以是国密算法。
需要说明的是,采用SSL的安全技术解决网络应用身份认证以及数据保密性得到广泛的认可,主流的浏览器和网络服务器中也内置了SSL模块,专业的SSL硬件产品也广泛使用。但当前SSL产品还都存在一定局限性:
(1)当前SSL产品普遍采用单证书机制。而双证书机制是当前PKI公钥基础设施(Public Key Infrastructure体系建设的主流模式。本实施例使用签名证书进行身份认证,使用加密证书进行密钥的交换和保护,发挥了PKI技术非对称密钥的优势。
(2)当前的SSL产品中普遍采用国外公开的对称算法,不符合保密要求,具有一定风险性。本实施例中密码产品对称算法采用SM1算法或SM4算法。
(3)当前的证书非对称算法采用RSA算法,而本实施例采用的椭圆曲线密码(ECC)是一种比RSA具有更高安全性、更高效率的公钥密码,具有加密/解密、数字签名和密钥协商等重要的密码功能,可以安全且方便地满足各种信息网络中的用户身份识别、电子信息的真伪鉴别和保密传输等重要的信息安全需求,是信息安全领域的核心技术,并已逐渐被诸多国际和国家标准组织采纳为公钥密码标准(IEEE P1363、ANSI X9、ISO/IEC和IETF等),将会成为信息安全产业界使用的主流密码技术之一。我国将国产的ECC(ECDSA+ECDH)算法命名为SM2。
本实施例提供的安全浏览器的实现方法,可以实现符合我国PKI机制和密码产品管理政策的网络安全浏览器,对国内安全产品的管理的规范性和网络应用的快速增长都起到积极的推动作用。
本实施例首先在浏览器客户端中启动与浏览器主业务进程进行通信的加密子进程,其中,所述加密子进程用于作为连接代理实现第一加密通道到第二加密通道的转换,以及数据转发;然后所述加密子进程对浏览器主业务进程进行侦听,并获取所述浏览器主业务进程发送的第一连接请求;接着依据所述第一连接请求,所述加密子进程与所述网络服务器建立加密连接通信;最后在所述加密连接通信建立成功后,所述加密子进程执行业务数据在所述第一加密通道和第二加密通道之间的转发;其中,所述第一加密通道为所述浏览器主业务进程和所述加密子进程的安全通信通道;所述第二加密通道为所述加密子进程和所述网络服务器的安全通信通道。本实施例可以通过加密子进程作为代理实现第一加密通道到第二加密通道的转换,以及数据转发,成功在浏览器的主业务进程与网络服务器之间建立了一条安全的加密通道,保证了业务数据的安全传输,可以降低业务数据泄露的风险,提高业务数据传输的安全性和可靠性。而且,由于本实施例通过浏览器实现上述功能,因此在用户使用浏览器客户端的过程中,浏览器客户端可以自动启动加密子进程在主业务进程与网络服务器之间建立安全通道,实现上述功能,提高了浏览器与网络服务器进行数据流转的安全性和可靠性,使得安全浏览器得以实现。
对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
实施例四
在上述实施例的基础上,本实施例还公开了一种安全浏览器装置。
参照图7,示出了根据本发明一个实施例的安全浏览器装置实施例的结构框图,具体可以包括如下模块:
接收模块702,用于通过浏览器的地址栏接收用户输入的网站地址。
认证模块704,用于根据所述网站地址对应网络服务器的认证类型进行数字证书的安全认证,其中,所述数字证书是由数字证书认证中心CA颁发的。
认证标识加载模块706,用于在安全认证通过后,所述浏览器的地址栏中设置与所述安全认证对应的安全认证标识。
综上所述,在浏览器对地址栏中网站地址进行访问时,该网站地址是基于HTTPS传输的,因此要依据该网站地址进行数字证书的认证,该数字证书是由数字证书认证中心CA颁发的,并在安全认证通过后在浏览器的地址栏中加载与所述安全认证对应的安全认证标识,对通过HTTPS传输的网站地址,基于其数字证书的认证进行浏览器中认证的显示,直观的显示网站的安全性。
参照图8,示出了根据本发明一个实施例的安全浏览器装置实施例的可选结构框图,具体可以包括如下模块:
本发明一个可选实施例中,所述认证类型包括单向认证,所述数字证书包括站点证书;所述认证模块704,用于获取所述网络服务器发送的站点证书;采用非对称算法对所述网络服务器进行所述站点证书的安全认证。
本发明一个另可选实施例中,所述认证类型包括双向认证,所述数字证书包括站点证书和用户证书;所述认证模块704,用于获取所述网络服务器发送的站点证书;采用非对称算法对所述网络服务器进行所述站点证书的安全认证;在对所述网络服务器的安全认证通过后,将所述浏览器中加载的用户证书发送给所述网络服务器,以对浏览器的用户证书进行安全认证。
还包括:认证展示模块708,用于接收对所述安全认证标识触发的数字证书查看指令;根据所述数字证书查看指令打开证书查看器显示所述数字证书内容。
所述认证展示模块708,用于根据所述数字证书查看指令打开证书查看器;在所述证书查看器中分别设置常规选项卡和详细选项卡;在所述常规选项卡中加载所述数字证书的常规信息;在所述详细选项卡中加载所述数字证书的详细信息。
证书加载模块710,用于弹出证书选择框,通过所述证书选择框接收用户选择的证书和用户输入的保护口令;采用所述用户选择的证书和用户输入的保护口令生成用户证书。
通道建立模块712,用于接收所述网络服务器返回的允许连接消息,建立所述浏览器和所述网站对应网络服务器之间进行加密数据传输的安全连接通道,所述允许连接消息是由所述网络服务器对所述用户证书的安全认证通过后发送的。
证书加载模块710,用于弹出证书选择框提示用户插入安全密钥存储硬件;用户插入安全密钥存储硬件后,调用所述安全密钥存储硬件的驱动程序在所述通过所述证书选择框中加载安全密钥存储硬件中的证书信息;通过所述证书选择框接收用户选择的证书信息;在所述证书选择框中弹出保护口令输入窗口,并通过所述保护口令输入窗口接收用户输入的保护口令。
在本发明实施例的一种可选示例中:
该安全浏览器装置包括:浏览器主业务进程模块,用于在浏览器客户端中启动与浏览器主业务进程进行通信的加密子进程的加密子进程模块,其中,所述加密子进程用于作为连接代理实现第一加密通道到第二加密通道的转换,以及数据转发.
所述加密子进程模块,包括:代理子模块和安全连接子模块,其中:代理子模块,用于对浏览器主业务进程进行侦听,并获取所述浏览器主业务进程发送的第一连接请求;以及在所述加密连接通信建立成功后,所述加密子进程执行业务数据在所述第一加密通道和第二加密通道之间的转发。安全连接子模块,用于依据所述第一连接请求,所述加密子进程与所述网络服务器建立加密连接通信。其中,所述第一加密通道为所述浏览器主业务进程和所述加密子进程的安全通信通道;所述第二加密通道为所述加密子进程和所述网络服务器的安全通信通道。
所述代理子模块,用于所述加密子进程创建侦听线程;所述侦听线程通过服务端口对所述浏览器主业务进程进行侦听。
在本发明实施例的一种可选示例中,所述安全连接子模块,用于在确认所述第一连接请求接收成功后,所述加密子进程与所述网络服务器依次进行加密数据协商和证书认证;在加密数据协商完毕且证书认证通过后,建立所述浏览器客户端与网络服务器的加密连接通信。
在本发明实施例的一种可选示例中,所述安全连接子模块,用于所述加密子进程向所述网络服务器发送客户端问候消息,其中,所述客户端问候消息包括所述浏览器客户端的第一加密数据,所述第一加密数据包括若干协议版本号;所述网络服务器向所述加密子进程反馈服务端问候消息,其中,所述服务端问候消息包括所述服务器客户端的第二加密数据,所述第二加密数据包括:从所述第一加密数据中选定的协议版本号。
在本发明实施例的一种可选示例中,所述安全连接子模块,用于对所述网络服务器进行单向证书认证;或,所述加密子进程和所述网络服务器进行双向证书认证。
在本发明实施例的一种可选示例中,所述代理子模块,还用于创建业务处理线程;所述业务处理线程分别与所述第一加密通道和所述第二加密通道建立连接。
在本发明实施例的一种可选示例中,所述代理子模块,用于采用所述业务处理线程通过所述第一加密通道接收所述浏览器主业务进程发送的第一业务数据;所述业务处理线程采用第一对称算法对所述第一业务数据进行解密处理,获取原始业务数据;所述业务处理线程采用第二对称算法对所述原始业务数据进行加密处理,获取所述第二业务数据;所述业务处理线程采用通过所述第二加密通道间所述第二业务数据发送给所述网络服务器。
在本发明实施例的一种可选示例中,所述安全连接子模块,用于接收所述网络服务器发送的服务端证书消息,所述服务端证书消息包括所述网络服务器的站点签名证书;所述加密子进程对所述网络服务器的站点签名证书进行认证。
在本发明实施例的一种可选示例中,所述安全连接子模块,用于所述加密子进程接收所述网络服务器发送的服务端证书消息,所述服务端证书消息包括所述网络服务器的站点签名证书;所述加密子进程接收所述网络服务器发送的证书认证请求消息,所述证书认证请求消息用于指示进行客户端的证书认证;所述加密子进程接收所述网络服务器发送的服务端密钥交换消息,包括密钥交换参数;所述加密子进程接收所述网络服务器发送的服务端问候完结消息;所述加密子进程对所述站点签名证书进行认证;当所述站点签名证书认证通过后,所述加密子进程向所述网络服务器发送客户端证书消息,所述客户端证书消息包括所述浏览器客户端的签名证书,以使所述网络服务器对所述签名证书进行认证。
在本发明实施例的一种可选示例中,所述安全连接子模块,还用于依据所述密钥交换参数随机产生预主密钥,其中,所述预主密钥是采用所述网络服务器的加密公钥通过椭圆曲线密码算法SM2进行加密计算得到的;所述加密子进程采用所述预主密钥生成客户端密钥交换消息,并发送给网络服务器,以使所述网络服务器获取所述预主密钥。
在本发明实施例的一种可选示例中,所述安全连接子模块,还用于获取依据站点签名证书计算的签名校验参数,并生成客户端证书校验消息发送给所述网络服务器;所述加密子进程向所述网络服务器发送客户端密码规格变更消息,以表征加密数据的协商完成;所述加密子进程向所述网络服务器发送客户端握手结束消息;所述加密子进程接收所述网络服务器发送的服务端密码规格变更消息,以表征认可该加密数据的协商;所述加密子进程接收所述网络服务器发送的服务端握手结束消息。
在本发明实施例的一种可选示例中,所述安全连接子模块,还用于在所述加密连接通信建立成功后,建立为所述加密子进程和所述网络服务器进行安全通信的第二加密通道。
在本发明实施例的一种可选示例中,所述代理子模块,还用于采用所述加密子进程和所述浏览器主业务进程通过握手过程建立加密连接通信,并在加密连接通信成功后,建立为所述浏览器主业务进程和所述加密子进程进行安全通信的第一加密通道;其中,所述握手过程中执行通过第一非对称算法执行所述加密子进程和所述浏览器主业务进程之间的双向证书认证、密钥交换,以及执行证书认证;所述密钥交换过程中生成对称密钥。
在本发明实施例的一种可选示例中,所述代理子模块,还用于所述业务处理线程将第一连接请求通过第二对称算法进行加密处理得到第二连接请求;所述业务处理线程将所述第二连接请求发送给所述网络服务器;所述业务处理线程接收所述网络服务器基于所述第二连接请求反馈的第二连接应答;第二连接请求将所述第二连接应答通过第二对称算法进行解密处理得到第一连接应答,并反馈给所述浏览器主业务进程。
需要说明的是,可以参照图9所示的加密子进程的结构框图对加密子进程进行理解,如图9所示,加密子进程包括:配置模块902、代理模块904、CTL管理模块906、CRL管理模块908、Session管理模块910、证书验证模块912、SSL连接模块914、USBKey操作模块916。其中,代理模块接受浏览器主业务进程连接,根据浏览器主业务进程连接的类型进行相应处理,形成浏览器主业务进程的连接代理。CTL模块用于管理信任根证书列表。CRL管理模块用于获取CRL列表,管理本地CRL列表。Session管理模块管理代理进程与web服务器的session连接。SSL连接模块负责建立与web服务器的安全连接。USBKey管理模块负责操作USBKey设备。配置模块负责读取、存储客户端的相关配置。
其中,对于CTL管理模块906,其工作原理如下:CTL描述的是浏览器信任根证书列表,用于验证服务器端证书。安全浏览器客户端中,支持的信任根证书为PEM编码方式,同时支持两种证书添加方式:1)程序内部添加信任根证书;2)配置文件添加信任根证书,配置文件采用des加密保存。其中,CTL可以配置为不支持导入导出功能。
对于CRL管理模块908,其工作原理如下:CRL描述的是证书颁发机构CA的证书撤销列表,其本质是证书序列号,证书序列号以ASN.1编码的Integer表示。X509v3证书中的一个扩展项(OID为2.5.29.31)用于指定该证书的CRL发布点。本实施例的安全浏览器中装置对CRL进行了本地缓存,同时CRL查找根据CA进行一级索引。对CRL的验证操作的步骤如下:(1)获取证书中的Issuer项,定位对应的CA节点,如果Issuer项不存在或者找不到对应的CA项,则认为是非法证书。((2)使用二分法搜索该CA下所有的CRL项。
对于Session管理模块910,SSL连接需要在TCP 3次握手的基础上增加4次握手,连接建立过程是比较耗时的,因此保存Session、复用之前的连接可以有效优化连接性能。本实施例的安全浏览器装置中在一次SSL连接建立完成之后,会建立host+port到session的内存索引,后续操作会复用之前的session,如session有效期为1小时。浏览器关闭、USBKey设备拔出时会清空之前的session。
对于证书验证模块912,SSL连接建立过程中如果需要双向认证,所述加密子进程会提示用户插入安全密钥存储硬件,即USBKey设备。在用户插入安全密钥存储硬件后能够自动识别并弹出证书选择对话框,提示用户选择证书。所述加密子进程自动识别安全密钥存储硬件需要依赖CSP注册表项中的两个关键信息:SKFImagePath:指定SKF动态库的路径和TokenVidPid:字符串格式。KEY设备的VendorID和ProductID,采用的格式类似HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB中的格式,也即VID_XXXX&PID_XXXX。浏览器会通过USBKey设备的vendorid、productid关联到相应驱动,完成相关操作。浏览器不会存储用户输入的pin密码,也不会存储USBKey中的私钥信息。具体流程如下:首先连接到USBKey设备;然后打开相应应用(Application),Application由用户选择决定;然后打开相应容器(Container),Container由用户选择决定;接着校验PIN码(个人身份识别码),验证错误后会提示重新输入;然后获取签名证书信息;接着获取加密证书信息;最后关闭设备、断开连接。
本实施例中,针对上述方法实施例的证书验证过程,对服务器端的证书验证发生在握手协议过程中,浏览器收到ServerHelloDone消息之后,发送Certificate消息之前。证书验证主要确保服务器的合理性,验证过程依赖于CTL,CRL模块,具体过程在子进程证书验证线程池中进行。检查步骤如下:初始化受信任根证书列表;检查是否是自签名证书;检查证书扩展信息;检查证书信任关系;检查CRL列表;检查证书签名;检查证书时间有效性;检查证书是否在黑名单中。
需要说明的是,可以参照图10所示的主业务进程的结构框图对主业务进程进行理解,如图10所示,主业务进程包括:证书显示模块1002、白名单管理模块1004、网络服务器证书存储模块1006、代理设置模块1008。其中证书显示模块1002负责显示数字证书。白名单管理模块1004负责管理支持本实施例的加密算法的web服务器列表。网络服务器证书存储模块1006用于存储负责管理网络服务器的证书。代理设置模块1008代理设置负责设置与加密子进程的代理。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的网站安全信息的加载方法和装置设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明公开了A1、一种网站安全信息的加载方法,包括:通过浏览器的地址栏接收用户输入的网站地址;根据所述网站地址对应网络服务器的认证类型进行数字证书的安全认证,其中,所述数字证书是由数字证书认证中心CA颁发的;在安全认证通过后,所述浏览器的地址栏中加载与所述安全认证对应的安全认证标识。
A2、根据A1所述的方法,还包括:在浏览器客户端中启动与主业务进程进行通信的加密子进程,其中,所述加密子进程用于作为连接代理实现第一加密通道到第二加密通道的转换,以及数据转发。
A3、根据A2所述的方法,则根据所述网站地址对应网络服务器的认证类型进行数字证书的安全认证,包括:所述加密子进程通过握手过程与所述网络服务器进行数字证书的单向认证或双向认证。
A4、根据A3所述的方法,其所述加密子进程通过握手过程与所述网络服务器进行数字证书的双向认证的步骤,包括:所述加密子进程通过握手过程与所述网络服务器依次执行以下安全认证操作:加密数据协商、证书认证、密钥交换和签名认证。
A5、根据A3所述的方法,所述在安全认证通过后,所述浏览器的地址栏中加载与所述安全认证对应的安全认证标识,包括:在确认所述握手过程中的安全认证通过后,所述加密子进程获取所述数字证书中的认证信息,并依据所述认证信息生成安全认证标识;在所述浏览器地址栏中加载所述安全认证标识,其中,所述安全认证标识包括以下至少一项:安全认证所采用的加密算法、颁发数字证书的数字证书认证中心CA、该数字证书对应的安全机构。
A6、根据A2所述的方法,还包括:所述加密子进程接收对所述安全认证标识触发的数字证书查看指令;所述加密子进程根据所述数字证书查看指令打开证书查看器显示所述数字证书内容。
A7、根据A6所述的方法,所述加密子进程根据所述数字证书查看指令打开证书查看器显示所述数字证书内容,包括:所述加密子进程根据所述数字证书查看指令打开证书查看器;所述加密子进程在所述证书查看器中分别设置常规选项卡和详细选项卡;所述加密子进程在所述常规选项卡中加载所述数字证书的常规信息;所述加密子进程在所述详细选项卡中加载所述数字证书的详细信息。
A8、根据A3所述的方法,还包括:在进行数字证书的双向认证时,所述加密子进程弹出证书选择框,并在所述证书选择框中显示所述浏览器所在终端中加载的各用户证书的信息;通过所述证书选择框接收用户选择的用户证书。
A9、根据A1所述的方法,还包括:所述加密子进程显示口令输入消息,所述口令输入消息用于提示用户输入所述用户证书对应的保护口令;所述加密子进程接收用户输入的保护口令,并对述保护口令进行验证,在确认所述保护口令确认所述用户具有所述用户证书的使用权限。
A10、根据A4所述的方法,还包括:在确认所述握手过程中的安全认证通过后,所述加密子进程建立所述浏览器和所述网站对应网络服务器之间进行加密数据传输的安全连接通道,所述安全连接通道中采用所述安全认证过程中协商的密钥进行业务数据的对称加密。
A11、根据A8所述的方法,还包括:所述加密子进程通过提示信息提示用户插入安全密钥存储硬件,所述安全密钥存储硬件中存储有用户证书;所述加密子进程调用驱动程序检测所述安全密钥存储硬件;当检测到所述安全密钥存储硬件后,所述加密子进程获取所述安全密钥存储硬件中存储的用户证书的信息。
本发明还公开了B12、一种安全浏览器装置,包括:接收模块,用于通过浏览器的地址栏接收用户输入的网站地址;认证模块,用于根据所述网站地址对应网络服务器的认证类型进行数字证书的安全认证,其中,所述数字证书是由数字证书认证中心CA颁发的;认证标识加载模块,用于在安全认证通过后,所述浏览器的地址栏中设置与所述安全认证对应的安全认证标识。
B13、根据B12所述的装置,还包括:启动模块,用于在浏览器客户端中启动与主业务进程进行通信的加密子进程,其中,所述加密子进程用于作为连接代理实现第一加密通道到第二加密通道的转换,以及数据转发。
B14、根据B13所述的装置,所述认证模块,用于采用所述加密子进程通过握手过程与所述网络服务器进行数字证书的单向认证或双向认证。
B15、根据B14所述的装置,所述认证模块,用于采用所述加密子进程通过握手过程与所述网络服务器依次执行以下安全认证操作:加密数据协商、证书认证、密钥交换和签名认证。
B16、根据B14所述的装置,所述认证标识加载模块,用于在确认所述握手过程中的安全认证通过后,采用所述加密子进程获取所述数字证书中的认证信息,并依据所述认证信息生成安全认证标识;在所述浏览器地址栏中加载所述安全认证标识,其中,所述安全认证标识包括以下至少一项:安全认证所采用的加密算法、颁发数字证书的数字证书认证中心CA、该数字证书对应的安全机构。
B17、根据B13所述的装置,还包括:认证展示模块,用于采用所述加密子进程接收对所述安全认证标识触发的数字证书查看指令;根据所述数字证书查看指令打开证书查看器显示所述数字证书内容。
B18、根据B17所述的装置,所述认证展示模块,用于采用所述加密子进程根据所述数字证书查看指令打开证书查看器;在所述证书查看器中分别设置常规选项卡和详细选项卡;在所述常规选项卡中加载所述数字证书的常规信息;在所述详细选项卡中加载所述数字证书的详细信息。
B19、根据B14所述的装置,还包括:证书加载模块,用于在进行数字证书的双向认证时,采用所述加密子进程弹出证书选择框,并在所述证书选择框中显示所述浏览器所在终端中加载的各用户证书的信息;通过所述证书选择框接收用户选择的用户证书。
B20、根据B12所述的装置,证书加载模块,还用于所述加密子进程显示口令输入消息,所述口令输入消息用于提示用户输入所述用户证书对应的保护口令;所述加密子进程接收用户输入的保护口令,并对述保护口令进行验证,在确认所述保护口令确认所述用户具有所述用户证书的使用权限。
B21、根据B15所述的装置,包括:通道建立模块,用于在确认所述握手过程中的安全认证通过后,采用所述加密子进程建立所述浏览器和所述网站对应网络服务器之间进行加密数据传输的安全连接通道,所述安全连接通道中采用所述安全认证过程中协商的密钥进行业务数据的对称加密。
B22、根据B19所述的装置,所述证书加载模块,还用于所述加密子进程通过提示信息提示用户插入安全密钥存储硬件,所述安全密钥存储硬件中存储有用户证书;所述加密子进程调用驱动程序检测所述安全密钥存储硬件;当检测到所述安全密钥存储硬件后,所述加密子进程获取所述安全密钥存储硬件中存储的用户证书的信息。
Claims (22)
1.一种网站安全信息的加载方法,包括:
通过浏览器的地址栏接收用户输入的网站地址;
根据所述网站地址对应网络服务器的认证类型进行数字证书的安全认证,其中,所述数字证书是由数字证书认证中心CA颁发的,所述认证类型包括单向认证和双向认证;
在安全认证通过后,所述浏览器的地址栏中加载与所述安全认证对应的安全认证标识,其中,所述安全认证标识包括以下至少一项:安全认证所采用的加密算法、颁发数字证书的数字证书认证中心CA、数字证书对应的安全机构。
2.根据权利要求1所述的方法,其特征在于,还包括:
在浏览器客户端中启动与主业务进程进行通信的加密子进程,其中,所述加密子进程用于作为连接代理实现第一加密通道到第二加密通道的转换,以及数据转发。
3.根据权利要求2所述的方法,其特征在于,则根据所述网站地址对应网络服务器的认证类型进行数字证书的安全认证,包括:
所述加密子进程通过握手过程与所述网络服务器进行数字证书的单向认证或双向认证。
4.根据权利要求3所述的方法,其特征在于,所述加密子进程通过握手过程与所述网络服务器进行数字证书的双向认证的步骤,包括:
所述加密子进程通过握手过程与所述网络服务器依次执行以下安全认证操作:加密数据协商、证书认证、密钥交换和签名认证。
5.根据权利要求3所述的方法,其特征在于,所述在安全认证通过后,所述浏览器的地址栏中加载与所述安全认证对应的安全认证标识,包括:
在确认所述握手过程中的安全认证通过后,所述加密子进程获取所述数字证书中的认证信息,并依据所述认证信息生成安全认证标识;
在所述浏览器地址栏中加载所述安全认证标识。
6.根据权利要求2所述的方法,其特征在于,还包括:
所述加密子进程接收对所述安全认证标识触发的数字证书查看指令;
所述加密子进程根据所述数字证书查看指令打开证书查看器显示所述数字证书内容。
7.根据权利要求6所述的方法,其特征在于,所述加密子进程根据所述数字证书查看指令打开证书查看器显示所述数字证书内容,包括:
所述加密子进程根据所述数字证书查看指令打开证书查看器;
所述加密子进程在所述证书查看器中分别设置常规选项卡和详细选项卡;
所述加密子进程在所述常规选项卡中加载所述数字证书的常规信息;
所述加密子进程在所述详细选项卡中加载所述数字证书的详细信息。
8.根据权利要求3所述的方法,其特征在于,还包括:
在进行数字证书的双向认证时,所述加密子进程弹出证书选择框,并在所述证书选择框中显示所述浏览器所在终端中加载的各用户证书的信息;
通过所述证书选择框接收用户选择的用户证书。
9.根据权利要求2所述的方法,其特征在于,还包括:
所述加密子进程显示口令输入消息,所述口令输入消息用于提示用户输入所述用户证书对应的保护口令;
所述加密子进程接收用户输入的保护口令,并对所述保护口令进行验证,在确认所述保护口令确认所述用户具有所述用户证书的使用权限。
10.根据权利要求4所述的方法,其特征在于,还包括:
在确认所述握手过程中的安全认证通过后,所述加密子进程建立所述浏览器和所述网站对应网络服务器之间进行加密数据传输的安全连接通道,所述安全连接通道中采用所述安全认证过程中协商的密钥进行业务数据的对称加密。
11.根据权利要求8所述的方法,其特征在于,还包括:
所述加密子进程通过提示信息提示用户插入安全密钥存储硬件,所述安全密钥存储硬件中存储有用户证书;
所述加密子进程调用驱动程序检测所述安全密钥存储硬件;
当检测到所述安全密钥存储硬件后,所述加密子进程获取所述安全密钥存储硬件中存储的用户证书的信息。
12.一种安全浏览器装置,包括:
接收模块,用于通过浏览器的地址栏接收用户输入的网站地址;
认证模块,用于根据所述网站地址对应网络服务器的认证类型进行数字证书的安全认证,其中,所述数字证书是由数字证书认证中心CA颁发的,所述认证类型包括单向认证和双向认证;
认证标识加载模块,用于在安全认证通过后,所述浏览器的地址栏中设置与所述安全认证对应的安全认证标识,其中,所述安全认证标识包括以下至少一项:安全认证所采用的加密算法、颁发数字证书的数字证书认证中心CA、该数字证书对应的安全机构。
13.根据权利要求12所述的装置,其特征在于,还包括:
启动模块,用于在浏览器客户端中启动与主业务进程进行通信的加密子进程,其中,所述加密子进程用于作为连接代理实现第一加密通道到第二加密通道的转换,以及数据转发。
14.根据权利要求13所述的装置,其特征在于,
所述认证模块,用于采用所述加密子进程通过握手过程与所述网络服务器进行数字证书的单向认证或双向认证。
15.根据权利要求14所述的装置,其特征在于,
所述认证模块,用于采用所述加密子进程通过握手过程与所述网络服务器依次执行以下安全认证操作:加密数据协商、证书认证、密钥交换和签名认证。
16.根据权利要求14所述的装置,其特征在于,
所述认证标识加载模块,用于在确认所述握手过程中的安全认证通过后,采用所述加密子进程获取所述数字证书中的认证信息,并依据所述认证信息生成安全认证标识;在所述浏览器地址栏中加载所述安全认证标识。
17.根据权利要求13所述的装置,其特征在于,还包括:
认证展示模块,用于采用所述加密子进程接收对所述安全认证标识触发的数字证书查看指令;根据所述数字证书查看指令打开证书查看器显示所述数字证书内容。
18.根据权利要求17所述的装置,其特征在于,
所述认证展示模块,用于采用所述加密子进程根据所述数字证书查看指令打开证书查看器;在所述证书查看器中分别设置常规选项卡和详细选项卡;在所述常规选项卡中加载所述数字证书的常规信息;在所述详细选项卡中加载所述数字证书的详细信息。
19.根据权利要求14所述的装置,其特征在于,还包括:
证书加载模块,用于在进行数字证书的双向认证时,采用所述加密子进程弹出证书选择框,并在所述证书选择框中显示所述浏览器所在终端中加载的各用户证书的信息;通过所述证书选择框接收用户选择的用户证书。
20.根据权利要求13所述的装置,其特征在于,
证书加载模块,还用于所述加密子进程显示口令输入消息,所述口令输入消息用于提示用户输入所述用户证书对应的保护口令;所述加密子进程接收用户输入的保护口令,并对所述保护口令进行验证,在确认所述保护口令确认所述用户具有所述用户证书的使用权限。
21.根据权利要求15所述的装置,其特征在于,还包括:
通道建立模块,用于在确认所述握手过程中的安全认证通过后,采用所述加密子进程建立所述浏览器和所述网站对应网络服务器之间进行加密数据传输的安全连接通道,所述安全连接通道中采用所述安全认证过程中协商的密钥进行业务数据的对称加密。
22.根据权利要求19所述的装置,其特征在于,
所述证书加载模块,还用于所述加密子进程通过提示信息提示用户插入安全密钥存储硬件,所述安全密钥存储硬件中存储有用户证书;所述加密子进程调用驱动程序检测所述安全密钥存储硬件;当检测到所述安全密钥存储硬件后,所述加密子进程获取所述安全密钥存储硬件中存储的用户证书的信息。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410850587.5A CN104639534B (zh) | 2014-12-30 | 2014-12-30 | 网站安全信息的加载方法和浏览器装置 |
US15/541,314 US20170359185A1 (en) | 2014-12-30 | 2015-11-17 | Method for loading website security information and browser apparatus |
PCT/CN2015/094849 WO2016107320A1 (zh) | 2014-12-30 | 2015-11-17 | 网站安全信息的加载方法和浏览器装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410850587.5A CN104639534B (zh) | 2014-12-30 | 2014-12-30 | 网站安全信息的加载方法和浏览器装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104639534A CN104639534A (zh) | 2015-05-20 |
CN104639534B true CN104639534B (zh) | 2019-02-12 |
Family
ID=53217848
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410850587.5A Active CN104639534B (zh) | 2014-12-30 | 2014-12-30 | 网站安全信息的加载方法和浏览器装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20170359185A1 (zh) |
CN (1) | CN104639534B (zh) |
WO (1) | WO2016107320A1 (zh) |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017024588A1 (zh) * | 2015-08-13 | 2017-02-16 | 华为技术有限公司 | 业务处理方法及装置 |
CN106533689B (zh) * | 2015-09-15 | 2019-07-30 | 阿里巴巴集团控股有限公司 | 一种在ssl/tls通信中加载数字证书的方法和装置 |
US11197331B2 (en) * | 2016-06-10 | 2021-12-07 | Apple Inc. | Zero-round-trip-time connectivity over the wider area network |
CN107800675B (zh) * | 2016-09-07 | 2020-04-07 | 深圳市腾讯计算机系统有限公司 | 一种数据传输方法、终端以及服务器 |
CN108154037B (zh) * | 2016-12-05 | 2020-08-11 | 中国石油天然气股份有限公司 | 进程间的数据传输方法和装置 |
CN106790194B (zh) * | 2016-12-30 | 2020-06-19 | 中国银联股份有限公司 | 一种基于ssl协议的访问控制方法及装置 |
CN108959062B (zh) * | 2017-05-22 | 2021-06-18 | 腾讯科技(深圳)有限公司 | 网页元素获取方法及装置 |
CN111989892B (zh) * | 2018-04-09 | 2023-07-18 | 三菱电机株式会社 | 认证系统及计算机可读取的记录介质 |
SG11202008211YA (en) * | 2018-04-09 | 2020-09-29 | Mitsubishi Electric Corp | Authentication system and authentication program |
CN111182010B (zh) * | 2018-11-09 | 2023-04-07 | 杭州海康威视数字技术股份有限公司 | 一种本地服务提供方法及装置 |
CN111211894B (zh) * | 2018-11-21 | 2023-04-07 | 顺丰科技有限公司 | 一种数据传输方法、装置及系统 |
US11956367B2 (en) * | 2019-02-19 | 2024-04-09 | Bruno SANGLE-FERRIERE | Cryptographic method for verifying data |
CN109889548A (zh) * | 2019-04-01 | 2019-06-14 | 中国工商银行股份有限公司 | 基于U盾装置的Web网站的认证方法、装置及系统 |
CN110311923A (zh) * | 2019-07-16 | 2019-10-08 | 丁晓东 | 一种自适应、双通道的国密算法https访问方法和系统 |
CN112311547A (zh) * | 2019-07-26 | 2021-02-02 | 南方电网科学研究院有限责任公司 | 一种基于国产密码技术的终端安全认证方法、装置 |
CN112787979A (zh) * | 2019-11-07 | 2021-05-11 | 北京地平线机器人技术研发有限公司 | 物联网设备访问控制方法及物联网设备访问控制装置 |
CN110855700A (zh) * | 2019-11-20 | 2020-02-28 | 杭州端点网络科技有限公司 | 一种跨公网实现多云管控的安全认证方法 |
US20210367767A1 (en) * | 2020-05-21 | 2021-11-25 | Marvell Asia Pte. Ltd. | Methods and systems for secure network communication |
CN111654378B (zh) * | 2020-05-28 | 2021-01-05 | 广东纬德信息科技股份有限公司 | 一种基于电力安全网关的数据安全自检方法 |
CN111787029B (zh) * | 2020-07-29 | 2023-03-17 | 浙江德迅网络安全技术有限公司 | 一种https协议深度监控的先进网络安全威胁减缓 |
CN112149097B (zh) * | 2020-09-22 | 2023-02-28 | 龙芯中科(合肥)技术有限公司 | 身份认证方法、装置、设备及存储介质 |
US11716206B2 (en) * | 2020-11-02 | 2023-08-01 | International Business Machines Corporation | Certificate based security using post quantum cryptography |
US11757659B2 (en) | 2020-12-01 | 2023-09-12 | International Business Machines Corporation | Post-quantum certificate binding |
CN112702582B (zh) * | 2021-01-06 | 2022-07-15 | 贵州大学 | 一种基于sm2的监控视频安全传输方法和设备 |
CN113014393B (zh) * | 2021-02-20 | 2023-04-28 | 中易通科技股份有限公司 | 一种基于硬件加密的密码保险箱系统及应用方法 |
CN114980115B (zh) * | 2021-08-10 | 2023-09-01 | 中移互联网有限公司 | 消息链接安全管控的方法及系统 |
CN114499897B (zh) * | 2022-04-14 | 2022-08-02 | 成都边界元科技有限公司 | Sm2安全证书的自适应验证方法和验证系统 |
US12184616B2 (en) * | 2022-04-19 | 2024-12-31 | Microsoft Technology Licensing, Llc | Framework for configurable per-service security settings in a forward proxy |
CN114760143B (zh) * | 2022-04-26 | 2024-08-13 | 中国邮政储蓄银行股份有限公司 | 通信数据的解密方法、解密装置和解密系统 |
CN114979105B (zh) * | 2022-05-31 | 2023-06-27 | 杭州迪普科技股份有限公司 | 通过ssl负载均衡设备自动识别国密和商密业务的方法和装置 |
CN115085942B (zh) * | 2022-07-28 | 2022-11-15 | 四川省数字证书认证管理中心有限公司 | 一种基于分布式UKey服务的数字签名方法及系统 |
CN116305080B (zh) * | 2023-05-15 | 2023-07-28 | 豪符密码检测技术(成都)有限责任公司 | 一种密码通用检测方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102355469A (zh) * | 2011-10-31 | 2012-02-15 | 北龙中网(北京)科技有限责任公司 | 在浏览器地址栏展示网站是否为可信验证的方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN2667807Y (zh) * | 2004-01-08 | 2004-12-29 | 中国工商银行 | 网上银行利用USBKey加密、认证的装置 |
US8190875B2 (en) * | 2007-03-22 | 2012-05-29 | Cisco Technology, Inc. | Reducing processing load in proxies for secure communications |
CN101127604B (zh) * | 2007-09-25 | 2010-06-23 | 中兴通讯股份有限公司 | 信息安全传输方法和系统 |
CN101587458A (zh) * | 2009-06-30 | 2009-11-25 | 北京握奇数据系统有限公司 | 智能存储卡的操作方法及装置 |
CN102075522B (zh) * | 2010-12-22 | 2012-07-04 | 北京航空航天大学 | 一种结合数字证书和动态密码的安全认证与交易方法 |
CN102984115B (zh) * | 2011-09-02 | 2016-03-16 | 中国长城计算机深圳股份有限公司 | 一种网络安全方法、及客户端服务器 |
CN103188074B (zh) * | 2011-12-28 | 2016-08-10 | 上海格尔软件股份有限公司 | 一种增强浏览器ssl算法强度的代理方法 |
CN102611707B (zh) * | 2012-03-21 | 2015-10-21 | 北龙中网(北京)科技有限责任公司 | 一种网站可信标识安装及识别方法 |
CN102710605A (zh) * | 2012-05-08 | 2012-10-03 | 重庆大学 | 一种云制造环境下的信息安全管控方法 |
CN102917049A (zh) * | 2012-10-17 | 2013-02-06 | 北京奇虎科技有限公司 | 呈现访问网站的信息的方法、浏览器和系统 |
CN103200176A (zh) * | 2013-02-27 | 2013-07-10 | 中国工商银行股份有限公司 | 一种基于银行独立通信渠道的认证方法、装置及系统 |
CN104580189B (zh) * | 2014-12-30 | 2019-02-12 | 北京奇虎科技有限公司 | 一种安全通信系统 |
-
2014
- 2014-12-30 CN CN201410850587.5A patent/CN104639534B/zh active Active
-
2015
- 2015-11-17 WO PCT/CN2015/094849 patent/WO2016107320A1/zh active Application Filing
- 2015-11-17 US US15/541,314 patent/US20170359185A1/en not_active Abandoned
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102355469A (zh) * | 2011-10-31 | 2012-02-15 | 北龙中网(北京)科技有限责任公司 | 在浏览器地址栏展示网站是否为可信验证的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104639534A (zh) | 2015-05-20 |
US20170359185A1 (en) | 2017-12-14 |
WO2016107320A1 (zh) | 2016-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104639534B (zh) | 网站安全信息的加载方法和浏览器装置 | |
CN104580189B (zh) | 一种安全通信系统 | |
CN104618108B (zh) | 安全通信系统 | |
WO2016107319A1 (zh) | 加载安全密钥存储硬件的方法和浏览器客户端装置 | |
US9485254B2 (en) | Method and system for authenticating a security device | |
CN104580190B (zh) | 安全浏览器的实现方法和安全浏览器装置 | |
CN104170312B (zh) | 用于使用硬件安全引擎通过网络进行安全通信的方法和设备 | |
US11501294B2 (en) | Method and device for providing and obtaining graphic code information, and terminal | |
US8468582B2 (en) | Method and system for securing electronic transactions | |
US8924714B2 (en) | Authentication with an untrusted root | |
WO2017045552A1 (zh) | 一种在ssl或tls通信中加载数字证书的方法和装置 | |
CN104038486B (zh) | 一种基于标识型密码实现用户登录鉴别的系统及方法 | |
US20090307486A1 (en) | System and method for secured network access utilizing a client .net software component | |
CN105072125B (zh) | 一种http通信系统及方法 | |
JP2023508317A (ja) | 非接触カード個人識別システム | |
US8973111B2 (en) | Method and system for securing electronic transactions | |
US8397281B2 (en) | Service assisted secret provisioning | |
KR102128244B1 (ko) | Ssl/tls 기반의 네트워크 보안 장치 및 방법 | |
CN107800675A (zh) | 一种数据传输方法、终端以及服务器 | |
CN114946152A (zh) | 用于在传输层安全和其它上下文中验证数据的分散式技术 | |
US9398024B2 (en) | System and method for reliably authenticating an appliance | |
CN112733129B (zh) | 一种服务器带外管理的可信接入方法 | |
CN107040501A (zh) | 基于平台即服务的认证方法和装置 | |
US12212578B2 (en) | Partial payload encryption with integrity protection | |
Kivisaari | Providing Secure Web Services for Mobile Applications |
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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220725 Address after: Room 801, 8th floor, No. 104, floors 1-19, building 2, yard 6, Jiuxianqiao Road, Chaoyang District, Beijing 100015 Patentee after: BEIJING QIHOO TECHNOLOGY Co.,Ltd. Address before: 100088 room 112, block D, 28 new street, new street, Xicheng District, Beijing (Desheng Park) Patentee before: BEIJING QIHOO TECHNOLOGY Co.,Ltd. Patentee before: Qizhi software (Beijing) Co.,Ltd. |
|
TR01 | Transfer of patent right |