CN104580189B - 一种安全通信*** - Google Patents
一种安全通信*** Download PDFInfo
- Publication number
- CN104580189B CN104580189B CN201410849875.9A CN201410849875A CN104580189B CN 104580189 B CN104580189 B CN 104580189B CN 201410849875 A CN201410849875 A CN 201410849875A CN 104580189 B CN104580189 B CN 104580189B
- Authority
- CN
- China
- Prior art keywords
- encryption
- network server
- certificate
- connection
- message
- 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.)
- Expired - Fee Related
Links
Classifications
-
- 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
-
- 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/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
- H04L63/0478—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 applying multiple layers of encryption, e.g. nested tunnels or encrypting the content with a first key and then with at least a second key
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)
- Data Exchanges In Wide-Area Networks (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供了一种安全通信***,所述的***包括:安全浏览器装置和网络服务器,所述安全浏览器装置,包括:浏览器主业务进程模块和加密子进程模块。其中,所述加密子进程模块的加密子进程作为连接代理实现第一加密通道到第二加密通道的转换,以及数据转发,并通过所述加密子进程模块与所述网络服务器建立加密连接通信,保证了业务数据的安全传输,可以降低业务数据泄露的风险,提高业务数据传输的安全性和可靠性。
Description
技术领域
本发明涉及互联网技术领域,特别是涉及一种安全通信***。
背景技术
浏览器是指可以显示网页服务器或者文件***的HTML文件内容,并让用户与这些文件交互的一种软件。浏览器主要通过HTTP协议与网页服务器交互并获取网页,为用户在网页中显示图像、动画、文字、视频、声音以及流媒体等,堪称是应用最为广泛的客户端程序之一。个人电脑上常见的浏览器包括微软的IE、苹果的Safari、谷歌的Chrome、360安全浏览器、搜狗高速浏览器等。
随着互联网的快速发展,网络应用已经成为一种趋势,越来越多的网络应用可以在浏览器中实现,如网上证券、网上银行、电子政务、电子商务、网上办公等。进而越来越多的重要信息在网络中流转,但是浏览器中的网络应用认证机制较弱,明文传输等安全隐患严重阻碍了信息化的发展,如何保护这些数据的流转安全是浏览器实现网络应用面临的一个重要问题。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的安全通信***。
依据本发明的一个方面,提供了一种安全通信***,包括:安全浏览器装置和网络服务器;其中,所述网络服务器,用于与所述安全浏览器装置建立加密连接通信;以及在所述加密连接通信建立成功后,与所述安全浏览器装置通过第二加密通道执行业务数据交互;所述安全浏览器装置,包括:浏览器主业务进程模块和加密子进程模块,其中,所述浏览器主业务进程模块,用于在浏览器客户端中启动与浏览器主业务进程进行通信的加密子进程的加密子进程模块,其中,所述加密子进程用于作为连接代理实现第一加密通道到第二加密通道的转换,以及数据转发;所述加密子进程模块,包括:代理子模块,用于对浏览器主业务进程进行侦听,并获取所述浏览器主业务进程发送的第一连接请求;以及在所述加密连接通信建立成功后,所述加密子进程执行业务数据在所述第一加密通道和第二加密通道之间的转发;安全连接子模块,用于依据所述第一连接请求,所述加密子进程与所述网络服务器建立加密连接通信;其中,所述第一加密通道为所述浏览器主业务进程和所述加密子进程的安全通信通道;所述第二加密通道为所述加密子进程和所述网络服务器的安全通信通道。
本实施例可以通过加密子进程作为代理实现第一加密通道到第二加密通道的转换,以及数据转发,成功在浏览器的主业务进程与网络服务器之间建立了一条安全的加密通道,保证了业务数据的安全传输,可以降低业务数据泄露的风险,提高业务数据传输的安全性和可靠性。而且,由于本实施例通过浏览器实现上述功能,因此在用户使用浏览器客户端的过程中,浏览器客户端可以自动启动加密子进程在主业务进程与网络服务器之间建立安全通道,实现上述功能,提高了浏览器与网络服务器进行数据流转的安全性和可靠性,使得安全浏览器得以实现。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的一种安全浏览器的实现方法的流程图;
图2示出了根据本发明一个实施例的一种安全浏览器的实现方法的流程图;
图3示出了根据本发明一个实施例的加密子进程的一种代理机制示意图;
图4示出了根据本发明一个实施例的加密子进程和网络服务器的握手过程示意图;
图5示出了根据本发明一个实施例的一种安全通信***的结构框图;
图6示出了根据本发明一个实施例的一种安全通信***的结构框图;
图7示出了根据本发明实施例提供的的加密子进程模块的一种结构框图;以及
图8示出了根据本发明实施例提供的浏览器主业务进程模块的一种结构框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
实施例一:
参照图1,示出了根据本发明一个实施例的一种安全浏览器的实现方法实施例的步骤流程图,具体可以包括如下步骤:
步骤102,在浏览器客户端中启动与浏览器主业务进程进行通信的加密子进程,其中,所述加密子进程用于作为连接代理实现第一加密通道到第二加密通道的转换,以及数据转发。
对于一些网站,如银行网站、支付宝网站等涉及金融业务的网站需要通过以安全为目标的HTTP(HTTP-Hypertext transfer protocol,超文本传送协议)通道进行加密数据的传输,但是有时浏览器主业务进程与网络服务器采用不同的加密协议或算法,导致两者无法直接通信,无法对该网络服务器的网页进行访问。
本实施例中,提供了一种安全浏览器客户端,其在浏览器中还设置了与浏览器主业务进程进行通信的加密子进程。为了使得安全浏览器能够实现,需要首先在浏览器客户端中启动与浏览器主业务进程进行通信的加密子进程。所述加密子进程的主要功能是作为连接代理实现第一加密通道到第二加密通道的转换,以及数据转发。即采用加密子进程作为主业务进程的代理,其既能与浏览器主业务进程进行加密的安全通行,也能够与网络服务器进行加密的安全通信,如对于浏览器主业务进程的业务数据通过第一加密通道发送给加密子进程,该加密子进程将业务数据通过第二加密通道传输给网络服务器,实现数据转发以及两个加密通道的连通。
需要说明的是,通常情况下,浏览器的主业务进程与网络服务器直接进行通信,但是,在以安全为目标的HTTP通道进行通信时,若主业务进程无法对网络服务器反馈的数据信息进行解析,启动所述加密子进程作为代理连接,即所述加密子进程作为所述主业务进程与所述网络服务器之间的代理。本实施例中上述第一加密通道为所述浏览器主业务进程和所述加密子进程的安全通信通道;所述第二加密通道为所述加密子进程和网络服务器的安全通信通道。因此所述加密子进程通过将加密子进程与所述主业务进程的第一加密通道,转换为加密子进程与网络服务器的第二加密通道,来实现所述主业务进程与所述网络服务器之间的连接代理。当然对于主业务进程通过所述第一加密通道发送给加密子进程的业务数据,加密子进程可以将所述业务数据通过第二加密通道发送给网络服务器。
步骤104,所述加密子进程对浏览器主业务进程进行侦听,并获取所述浏览器主业务进程发送的第一连接请求。
加密子进程对浏览器主业务进程进行侦听,是为了第一时间获取浏览器主业务进程发送的第一连接请求。具体实现时,加密子进程可以通过服务端口对所述浏览器主业务进程进行侦听。当加密子进程侦听到第一连接请求到来时,加密子进程接收所述主业务进程发送的第一连接请求。所述浏览器主业务进程发送的第一连接请求,具体可以包括业务数据。
步骤106,依据所述第一连接请求,所述加密子进程与所述网络服务器建立加密连接通信。
加密子进程接收到主业务进程发送来的第一连接请求之后,所述加密子进程依据所述第一连接请求,与所述网络服务器建立加密连接通信。所述加密子进程与所述网络服务器建立加密连接通信,即所述加密子进程和所述网络服务器进行安全认证,以确认是安全、合法的通信方,从而建立安全通信的通道。
需要说明的是,所述加密子进程与所述网络服务器建立加密连接通信,结合加密子进程与主业务进程也可以进行通信,因此加密子进程分别与主业务进程和网络服务器这两端建立了相应连接,加密连接通信可以作为所述两端进行数据交换的桥梁。
步骤108,在所述加密连接通信建立成功后,所述加密子进程执行业务数据在所述第一加密通道和第二加密通道之间的转发。
本实施例中所述第一加密通道为所述浏览器主业务进程和所述加密子进程的安全通信通道;所述第二加密通道为所述加密子进程和所述网络服务器的安全通信通道。
所述加密子进程与所述网络服务器成功建立加密连接通信,意味着加密子进程与网络服务器之间能够相互发送数据,并且这些数据经加密处理,可以保证数据流转的安全可靠。加密子进程可以将接收到的所述第一连接请求中的业务数据发送给网络服务器,具体地,加密子进程执行业务数据在所述第一加密通道和第二加密通道之间的转发,即加密子进程可以通过所述第一加密通道接收业务数据,进行解密后,再采用第二加密通道约定的加密方法对业务数据进程加密后,发送给所述网络服务器。这样所述业务数据就从第一加密通道转发至第二加密通道,代表业务数据从主业务进程转发至网络服务器了。
本实施例首先在浏览器客户端中启动与浏览器主业务进程进行通信的加密子进程,其中,所述加密子进程用于作为连接代理实现第一加密通道到第二加密通道的转换,以及数据转发;然后所述加密子进程对浏览器主业务进程进行侦听,并获取所述浏览器主业务进程发送的第一连接请求;接着依据所述第一连接请求,所述加密子进程与所述网络服务器建立加密连接通信;最后在所述加密连接通信建立成功后,所述加密子进程执行业务数据在所述第一加密通道和第二加密通道之间的转发;其中,所述第一加密通道为所述浏览器主业务进程和所述加密子进程的安全通信通道;所述第二加密通道为所述加密子进程和所述网络服务器的安全通信通道。本实施例可以通过加密子进程作为代理实现第一加密通道到第二加密通道的转换,以及数据转发,成功在浏览器的主业务进程与网络服务器之间建立了一条安全的加密通道,保证了业务数据的安全传输,可以降低业务数据泄露的风险,提高业务数据传输的安全性和可靠性。而且,由于本实施例通过浏览器实现上述功能,因此在用户使用浏览器客户端的过程中,浏览器客户端可以自动启动加密子进程在主业务进程与网络服务器之间建立安全通道,实现上述功能,提高了浏览器与网络服务器进行数据流转的安全性和可靠性,使得安全浏览器得以实现。
实施例二:
在上述实施例的基础上,本实施例继续论述安全浏览器的实现方法。
参照图2,示出了根据本发明一个实施例的一种安全浏览器的实现方法实施例的步骤流程图,具体可以包括如下步骤:
步骤202,在浏览器客户端中启动与浏览器主业务进程进行通信的加密子进程,其中,所述加密子进程用于作为连接代理实现第一加密通道到第二加密通道的转换,以及数据转发。
本实施例中在浏览器客户端中启动与浏览器主业务进程进行通信的加密子进程,可以由浏览器自动启动,具体地,当浏览器主业务进程与网络服务器通信失败时,浏览器自动启动所述加密子进程,所述加密子进程接收主业务进程的第一连接请求,根据所述第一连接请求中包含的业务数据进行相应处理,形成浏览器主业务进程的代理连接。
本实施例中上述第一加密通道为所述浏览器主业务进程和所述加密子进程的安全通信通道;所述第二加密通道为所述加密子进程和网络服务器的安全通信通道。因此所述加密子进程通过将加密子进程与所述主业务进程的第一加密通道,转换为加密子进程与网络服务器的第二加密通道,来实现所述主业务进程与所述网络服务器之间的连接代理。当然对于主业务进程通过所述第一加密通道发送给加密子进程的业务数据,加密子进程可以将所述业务数据通过第二加密通道发送给网络服务器。
本实施例中,浏览器主业务进程与加密子进程采用代理及IPC两种通信方式,从而加密子进程可以作为连接代理,负责和浏览器主业务进程第一加密通道,到和网络服务器的第二加密通道的通道转换及数据转发,而IPC通信方式负责进程间数据传递。本实施例中,加密子进程代理实现机制如图3所示,具体可以包括如下结构:
主线程:读取各类配置,创建监听线程、主业务线程,以及浏览器主进程IPC通。
侦听线程:用于监听服务端口,当有主业务进程存在连接请求并接收(accept)成功执行相应的代理操作。
业务处理线程:与主业务进程和网络服务器两端分别建立相应加密通道连接并维持,从而作为桥梁进行两端的数据交换。
步骤204,所述加密子进程对浏览器主业务进程进行侦听,并获取所述浏览器主业务进程发送的第一连接请求。
所述加密子进程对浏览器主业务进程进行侦听,具体可以通过以下方式来实现:所述加密子进程创建侦听线程;所述侦听线程通过服务端口对所述浏览器主业务进程进行侦听。当侦听线程侦听到第一连接请求到来时,接收所述主业务进程发送的第一连接请求。所述浏览器主业务进程发送的第一连接请求,具体可以包括业务数据。加密子进程对浏览器主业务进程进行侦听,是为了第一时间获取浏览器主业务进程发送的第一连接请求。
步骤206,依据所述第一连接请求,所述加密子进程与所述网络服务器建立加密连接通信。
本实施例中依据所述第一连接请求,所述加密子进程与所述网络服务器建立加密连接通信,具体可以包括以下子步骤:
子步骤一,在确认所述第一连接请求接收成功后,所述加密子进程与所述网络服务器依次进行加密数据协商和证书认证。
子步骤二,在加密数据协商完毕且证书认证通过后,建立所述浏览器客户端与网络服务器的加密连接通信。
需要说明的是,所述子步骤一中加密子进程与所述网络服务器进行加密数据协商的步骤,具体可以通过以下方式来实现:首先,所述加密子进程向所述网络服务器发送客户端问候消息,其中,所述客户端问候消息包括所述浏览器客户端的第一加密数据,所述第一加密数据包括若干协议版本号;其次,所述网络服务器向所述加密子进程反馈服务端问候消息,其中,所述服务端问候消息包括所述服务器客户端的第二加密数据,所述第二加密数据包括:从所述第一加密数据中选定的协议版本号。需要说明的是,上述客户端问候消息和服务端问候消息用于确定双方的安全传输能力,包括若干协议版本号、会话标识、密码套件等属性,并且产生和交换随机数。
客户端问候消息(ClientHello消息)作为浏览器客户端和网络服务器握手协议的第一条消息,所述加密子进程向所述网络服务器发送客户端问候消息之后,等待网络服务器返回服务器问候消息。客户端问题消息结构定义:
1、Clien_vision表示客户端在这个会话中使用的协议版本。如协议版本号是1.1。
2、Radom是客户端产生的随机信息,其内容包括始终和随机数。
3、session_id是客户端在连接中使用的会话标识。session_id是一个可变长字段,其值由服务器决定。如果没有可重用的会话标识或希望协商安全参数,该字段为空,否则表示客户端希望重用该会话。这个会话标识可能是之前的连接标识,当前连接标识,或其他处于连接状态的连接标识。会话标识生成后应一致保持到被超时删除或与这个会话相关的连接遇到致命错误被关闭。一个会话失效或被关闭时则与其相关的连接都应被强制关闭。
4、cipher_suites是客户端所支持的密码套件列表,客户端应按照密码套件使用的优先级顺序排列,优先级最高的密码套件应排在首位。如果会话标识字段不为空,本字段应至少包含将重用的会话所使用的密码套件。每个密码套件包括一个密钥交换算法,一个加密算法和一个校验算法。服务器将在密码套件列表中选择一个与之匹配的密码套件,如果没有可匹配的密码套件,应返回握手失败报警消息并且关闭连接。
5、compression_methods是客户端所支持的压缩算法列表,客户端应该按照压缩算法使用的优先级顺序排列,优先级最高的压缩算法排在首位。服务器将在压缩算法列表中选择一个与之匹配的压缩算法,列表中必须包含空压缩算法,这样客户端和服务器总能协商出一致的压缩算法。
需要说明的是,服务器如果能从客户端问候消息中找到匹配的密码套件,服务器发送所述服务端问候消息(Server Hello消息)作为对客户端问候消息的回复。如果找不到匹配的密码套件,服务器将回应报警消息。
需要说明的是,所述子步骤一中加密子进程与所述网络服务器依次进行证书认证的步骤,具体可以包括:所述加密子进程对所述网络服务器进行单向证书认证;或,所述加密子进程和所述网络服务器进行双向证书认证。
本发明一个可选实施例中,在进行数字证书的双向认证时,所述加密子进程弹出证书选择框,并在所述证书选择框中显示所述浏览器所在终端中加载的各用户证书的信息;通过所述证书选择框接收用户选择的用户证书。。
还包括:所述加密子进程显示口令输入消息,所述口令输入消息用于提示用户输入所述用户证书对应的保护口令;所述加密子进程接收用户输入的保护口令,并对述保护口令进行验证,在确认所述保护口令确认所述用户具有所述用户证书的使用权限。
本实施例中,为了保证访问网站和用户的安全,CA机构为不同的网站颁布不同的站点证书,同时为不同网站的不同用户颁布不同的用户证书。其中,数字证书中包括站点或用户的公钥,站点或用户的信息,以及数字签名等内容。
在双向认证过程中,所述加密子进程可以在浏览器客户端中弹出证书选择框,并在所述证书选择框中显示所述浏览器所在终端中加载的各用户证书的信息;通过所述证书选择框接收用户选择的用户证书,用户在对用户证书进行选择后,所述加密子进程显示口令输入消息,所述口令输入消息用于提示用户输入所述用户证书对应的保护口令,如输入个人识别码(Personal Identification Number,PIN),所述加密子进程接收用户输入的保护口令,并对述保护口令进行验证,即通过保护口令可以对用户身份进行认证,确认用户是否具有该用户证书的使用权项,从而在保护口令输入正确后确认所述保护口令确认所述用户具有所述用户证书的使用权限。并且,上述用户证书和保护口令可以作为用户证书认证过程中的认证数据发送给网络服务器。
可选的,还包括:所述加密子进程通过提示信息提示用户***安全密钥存储硬件,所述安全密钥存储硬件中存储有用户证书;所述加密子进程调用驱动程序检测所述安全密钥存储硬件;当检测到所述安全密钥存储硬件后,所述加密子进程获取所述安全密钥存储硬件中存储的用户证书的信息。
浏览器客户端加载用户证书时,首先所述加密子进程通过提示信息提示用户***安全密钥存储硬件,该安全密钥存储硬件即USB Key,它是一种USB接口的硬件设备,内置单片机或智能卡芯片,有一定的存储空间,可以存储用户的私钥以及数字证书,利用USB Key内置的公钥算法实现对用户身份的认证。由于用户私钥保存在密码锁中,理论上使用任何方式都无法读取,因此保证了用户认证的安全性。
所述加密子进程通过驱动识别安全密钥存储硬件,并依据所述硬件证书载体在双向证书认证过程中进行加密运算。例如,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比特。
如图4所示,加密子进程和网络服务器的握手过程包括:
4.02、加密子进程发送客户端问候消息ClientHello给网络服务器。
4.04、网络服务器发送服务端问候消息SeverHello给所述安全安全浏览器客户端的加密子进程。
其中,网络服务器从ClientHello消息中找到匹配的密码套件,发送SeverHello作为回复,若找不到匹配的密码套件,则发送报警消息。该SeverHello中,Sever_vision,表示服务器支持的版本号,如1.1;Radom服务器端产生的随机数;session_id服务端使用的会话标识;cipher_suites服务端从ClientHello消息中选取的密码套件;compression_methods服务端从ClientHello消息中选取的压缩算法。
4.06、网络服务器发送服务端证书消息Certificate给加密子进程。
即SeverCertificate本消息内容为签名证书和加密证书。如服务端的站点签名证书(X.509序列)
4.08、网络服务器发送证书认证请求消息SeverRequest给加密子进程。
通过SeverRequest消息要求客户端提供证书。同时指明了认证类型(ECDSA)
4.10、网络服务器发送服务端密钥交换消息SeverKeyExchange给加密子进程。
SeverKeyExchange用于客户端计算产生48字节的预主密钥。公钥可以直接从服务器端的加密证书中获取。如客户端随机产生预主密钥pre_master_seceret密钥,并使用服务器证书的公钥进行ECDH运算
4.12、网络服务器发送问候完结消息SeverHelloDone给加密子进程。
SeverHelloDone表征握手过程的hello消息阶段完成,然后等待客户端的响应消息。
4.14、加密子进程发送客户密钥交换消息Certificate给网络服务器。
即ClientCertificate消息是hello消息阶段完成后的第一条消息,如包括客户的签名证书(X.509序列)。
4.16、加密子进程发送客户密钥交换消息ClientKeyExchange给网络服务器。
ClientKeyExchange消息中网络服务器的公钥加密预主密钥。
4.18、加密子进程发送证书校验消息CertificateVerify给网络服务器。
CertificateVerify消息用于鉴别客户端是够为证书的合法持有者。本实施例中,提示用户***USBKey后可以提示用户输入保护口令,该保护口令即携带在该消息中验证用户是否合法。
如,客户端使用签名证书的ECC私钥对握手信息的摘要进行ESDSA签名
4.20、加密子进程发送客户端密码规格变更消息ChangeCipherSpec给网络服务器。
即ClientChangeCipherSpec消息向服务端表明算法及密钥协商完成。
4.22、加密子进程发送客户端握手结束消息Finished给网络服务器。
本实施例中,加密子进程根据客户端的随机数、服务端的随机数、pre_master_seceret使用密钥算法计算master_seceret,然后再使用随机数和master_seceret计算真正的数据加密密钥,然后将所有握手消息摘要后加密形成ClientFinished消息向服务端发送。
4.24、网络服务器发送服务端密码规格变更消息ChangeCipherSpec给加密子进程。
4.26、网络服务器发送服务端握手结束消息Finished给加密子进程。
服务端验证客户端证书,使用客户端的签名证书验证客户端的签名。服务使用自身的加密私钥和进行ECDH运算,获得pre_master_seceret,采用客户端同样的算法计算master_seceret和数据加密密钥,验证SeverFinished消息的正确性,向客户端发送SeverChangeCipherSpec消息,表示认可算法及密钥协商。
通过上述握手过程完成了浏览器客户端和网络服务器双方的认证、密钥协商等过程,从而加密子进程和网络服可以务端分别使用协商计算出的密钥加密应用数据。
步骤208,在所述加密连接通信建立成功后,建立为所述加密子进程和所述网络服务器进行安全通信的第二加密通道。
所述加密子进程和所述网络服务器在第二加密通道中进程加密通信。具体地,可以将在第二加密通道中进行通信的数据采用对称加密算法SM4对业务数据进行加密。
步骤210,所述加密子进程创建业务处理线程;所述业务处理线程分别与所述第一加密通道和所述第二加密通道建立连接。
所述加密子进程创建的业务处理线程,与所述加密子进程与主业务进程之间的第一加密通道,和所述加密子进程与网络服务器之间的第二加密通道都建立连接。所述业务处理线程具体作为所述主业务进程和所述网络服务器之间的桥梁进行两端的数据交换。
步骤212,在所述加密连接通信建立成功后,所述加密子进程执行业务数据在所述第一加密通道和第二加密通道之间的转发。
本实施例中所述加密子进程执行业务数据在所述第一加密通道和第二加密通道之间的转发,具体可以通过以下方式来实现:所述业务处理线程通过所述第一加密通道接收所述浏览器主业务进程发送的第一业务数据;所述业务处理线程采用第一对称算法对所述第一业务数据进行解密处理,获取原始业务数据;所述业务处理线程采用第二对称算法对所述原始业务数据进行加密处理,获取所述第二业务数据;所述业务处理线程采用通过所述第二加密通道间所述第二业务数据发送给所述网络服务器。需要说明的是,上述过程是数据通信过程中加密子进程分别对两个通道数据转换的过程。
在本发明实施例的一种可选示例中,所述加密子进程和所述浏览器主业务进程通过握手过程建立加密连接通信,并在加密连接通信成功后,建立为所述浏览器主业务进程和所述加密子进程进行安全通信的第一加密通道;其中,所述握手过程中执行通过第一非对称算法执行所述加密子进程和所述浏览器主业务进程之间的双向证书认证、密钥交换,以及执行证书认证;所述密钥交换过程中生成对称密钥。需要说明的是,第一非对称算法具体可以是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机制和密码产品管理政策的网络安全浏览器,对国内安全产品的管理的规范性和网络应用的快速增长都起到积极的推动作用。
对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
实施例三
在上述实施例的基础上,本实施例还公开了一种安全通信***。
参照图5,示出了根据本发明一个实施例的安全通信***实施例的结构框图。
参照图6,示出了根据本发明一个实施例的安全通信***实施例中安全浏览器装置的结构框图。
该安全通信***,包括:安全浏览器装置504和网络服务器502。
其中,所述网络服务器502,用于与所述安全浏览器装置建立加密连接通信;以及在所述加密连接通信建立成功后,与所述安全浏览器装置通过第二加密通道执行业务数据交互。
所述安全浏览器装置504,包括:浏览器主业务进程模块50402和加密子进程模块50404。
其中,所述浏览器主业务进程模块50402,用于在浏览器客户端中启动与浏览器主业务进程进行通信的加密子进程的加密子进程模块,其中,所述加密子进程用于作为连接代理实现第一加密通道到第二加密通道的转换,以及数据转发。
所述加密子进程模块50404,包括:代理子模块504042,用于对浏览器主业务进程进行侦听,并获取所述浏览器主业务进程发送的第一连接请求。以及在所述加密连接通信建立成功后,所述加密子进程执行业务数据在所述第一加密通道和第二加密通道之间的转发。
安全连接子模块504044,用于依据所述第一连接请求,所述加密子进程与所述网络服务器建立加密连接通信。
其中,所述第一加密通道为所述浏览器主业务进程和所述加密子进程的安全通信通道;所述第二加密通道为所述加密子进程和所述网络服务器的安全通信通道。
对于一些网站,如银行网站、支付宝网站等涉及金融业务的网站需要通过以安全为目标的HTTP(HTTP-Hypertext transfer protocol,超文本传送协议)通道进行加密数据的传输,但是有时浏览器主业务进程与网络服务器采用不同的加密协议或算法,导致两者无法直接通信,无法对该网络服务器的网页进行访问。
本实施例中,提供了一种安全浏览器客户端,其在浏览器中还设置了与浏览器主业务进程进行通信的加密子进程。为了使得安全浏览器能够实现,需要首先在浏览器客户端中启动与浏览器主业务进程进行通信的加密子进程。所述加密子进程的主要功能是作为连接代理实现第一加密通道到第二加密通道的转换,以及数据转发。即采用加密子进程作为主业务进程的代理,其既能与浏览器主业务进程进行加密的安全通行,也能够与网络服务器进行加密的安全通信,如对于浏览器主业务进程的业务数据通过第一加密通道发送给加密子进程,该加密子进程将业务数据通过第二加密通道传输给网络服务器,实现数据转发以及两个加密通道的连通。
需要说明的是,通常情况下,浏览器的主业务进程与网络服务器直接进行通信,但是,在以安全为目标的HTTP通道进行通信时,若主业务进程无法对网络服务器反馈的数据信息进行解析,启动所述加密子进程作为代理连接,即所述加密子进程作为所述主业务进程与所述网络服务器之间的代理。本实施例中上述第一加密通道为所述浏览器主业务进程和所述加密子进程的安全通信通道;所述第二加密通道为所述加密子进程和网络服务器的安全通信通道。因此所述加密子进程通过将加密子进程与所述主业务进程的第一加密通道,转换为加密子进程与网络服务器的第二加密通道,来实现所述主业务进程与所述网络服务器之间的连接代理。当然对于主业务进程通过所述第一加密通道发送给加密子进程的业务数据,加密子进程可以将所述业务数据通过第二加密通道发送给网络服务器。
加密子进程接收到主业务进程发送来的第一连接请求之后,所述加密子进程依据所述第一连接请求,与所述网络服务器建立加密连接通信。所述加密子进程与所述网络服务器建立加密连接通信,即所述加密子进程和所述网络服务器进行安全认证,以确认是安全、合法的通信方,从而建立安全通信的通道。需要说明的是,所述加密子进程与所述网络服务器建立加密连接通信,结合加密子进程与主业务进程也可以进行通信,因此加密子进程分别与主业务进程和网络服务器这两端建立了相应连接,加密连接通信可以作为所述两端进行数据交换的桥梁。
本实施例中所述第一加密通道为所述浏览器主业务进程和所述加密子进程的安全通信通道;所述第二加密通道为所述加密子进程和所述网络服务器的安全通信通道。
所述加密子进程与所述网络服务器成功建立加密连接通信,意味着加密子进程与网络服务器之间能够相互发送数据,并且这些数据经加密处理,可以保证数据流转的安全可靠。加密子进程可以将接收到的所述第一连接请求中的业务数据发送给网络服务器,具体地,加密子进程执行业务数据在所述第一加密通道和第二加密通道之间的转发,即加密子进程可以通过所述第一加密通道接收业务数据,进行解密后,再采用第二加密通道约定的加密方法对业务数据进程加密后,发送给所述网络服务器。这样所述业务数据就从第一加密通道转发至第二加密通道,代表业务数据从主业务进程转发至网络服务器了。
本实施例首先在浏览器客户端中启动与浏览器主业务进程进行通信的加密子进程,其中,所述加密子进程用于作为连接代理实现第一加密通道到第二加密通道的转换,以及数据转发;然后所述加密子进程对浏览器主业务进程进行侦听,并获取所述浏览器主业务进程发送的第一连接请求;接着依据所述第一连接请求,所述加密子进程与所述网络服务器建立加密连接通信;最后在所述加密连接通信建立成功后,所述加密子进程执行业务数据在所述第一加密通道和第二加密通道之间的转发;其中,所述第一加密通道为所述浏览器主业务进程和所述加密子进程的安全通信通道;所述第二加密通道为所述加密子进程和所述网络服务器的安全通信通道。本实施例可以通过加密子进程作为代理实现第一加密通道到第二加密通道的转换,以及数据转发,成功在浏览器的主业务进程与网络服务器之间建立了一条安全的加密通道,保证了业务数据的安全传输,可以降低业务数据泄露的风险,提高业务数据传输的安全性和可靠性。而且,由于本实施例通过浏览器实现上述功能,因此在用户使用浏览器客户端的过程中,浏览器客户端可以自动启动加密子进程在主业务进程与网络服务器之间建立安全通道,实现上述功能,提高了浏览器与网络服务器进行数据流转的安全性和可靠性,使得安全浏览器得以实现。
本发明一个可选实施例中,代理子模块504042,用于所述加密子进程创建侦听线程;所述侦听线程通过服务端口对所述主业务进程进行侦听。
本发明一个可选实施例中,所述安全连接子模块504044,用于在确认所述第一连接请求接收成功后,所述加密子进程与所述网络服务器依次进行加密数据协商和证书认证;在加密数据协商完毕且证书认证通过后,建立所述浏览器客户端与网络服务器的加密连接通信。
所述安全连接子模块504044,用于所述加密子进程向所述网络服务器发送客户端问候消息,其中,所述客户端问候消息包括所述浏览器客户端的第一加密数据,所述第一加密数据包括若干协议版本号;接收所述网络服务器反馈的服务端问候消息,其中,所述服务端问候消息包括所述服务器客户端的第二加密数据,所述第二加密数据包括:从所述第一加密数据中选定的协议版本号;所述网络服务器502,用于向所述安全浏览器装置反馈服务端问候消息。
所述安全连接子模块504044,用于对所述网络服务器进行单向证书认证;或,所述加密子进程和所述网络服务器进行双向证书认证。
所述代理子模块504042,还用于创建业务处理线程;所述业务处理线程分别与所述第一加密通道和所述第二加密通道建立连接。
所述代理子模块504042,用于采用所述业务处理线程通过所述第一加密通道接收所述主业务进程发送的第一业务数据;采用第一对称算法对所述第一业务数据进行解密处理,获取原始业务数据;采用第二对称算法对所述原始业务数据进行加密处理,获取所述第二业务数据;采用通过所述第二加密通道将所述第二业务数据发送给所述网络服务器;所述网络服务器502,用于接收所述安全浏览器通过所述第二加密通道发送所述第二业务数据。
所述网络服务器502,用于发送所述网络服务器的服务端证书消息给所述安全浏览器,所述服务端证书消息包括所述网络服务器的站点签名证书;所述安全浏览器装置中,所述安全连接子模块504044,用于接收所述网络服务器发送的服务端证书消息;以及所述加密子进程对所述网络服务器的站点签名证书进行认证。
所述网络服务器502,用于所述网络服务器的服务端证书消息给所述安全浏览器,所述服务端证书消息包括所述网络服务器的站点签名证书;发送服务端密钥交换消息,所述服务端密钥交换消息包括密钥交换参数;发送证书认证请求消息,所述证书认证请求消息用于指示进行客户端的证书认证;发送服务端问候完结消息;以及接收所述浏览器安全装置发送的客户端证书消息,对签名证书进行认证,所述客户端证书消息包括所述安全浏览器客户端的签名证书。所述安全连接子模块504044,用于所述加密子进程接收所述网络服务器发送的服务端证书消息;所述加密子进程接收所述网络服务器发送的服务端密钥交换消息;所述加密子进程接收所述网络服务器发送的证书认证请求消息;所述加密子进程接收所述网络服务器发送的服务端问候完结消息;所述加密子进程对所述站点签名证书进行认证;当所述站点签名证书认证通过后,所述加密子进程向所述网络服务器发送客户端证书消息,所述客户端证书消息包括所述浏览器客户端的签名证书。
所述安全连接子模块504044,还用于依据所述密钥交换参数随机产生预主密钥,其中,所述预主密钥是采用所述网络服务器的加密公钥通过椭圆曲线密码算法SM2进行加密计算得到的;所述加密子进程采用所述预主密钥生成客户端密钥交换消息,并发送给网络服务器;所述网络服务器502,还用于接收所述安全浏览器装置发送的密钥交换消息,从所述密钥交换消息中获取所述预主密钥。
所述安全连接子模块504044,还用于获取依据站点签名证书计算的签名校验参数,并生成客户端证书校验消息发送给所述网络服务器;所述加密子进程向所述网络服务器发送客户端密码规格变更消息,以表征加密数据的协商完成;所述加密子进程向所述网络服务器发送客户端握手结束消息;所述加密子进程接收所述网络服务器发送的服务端密码规格变更消息,以表征认可该加密数据的协商;所述加密子进程接收所述网络服务器发送的服务端握手结束消息;所述网络服务器502,还用于依次接收所述安全浏览器装置发送的客户端证书校验消息、客户端密码规格变更消息和客户端握手结束消息;以及依次发送服务端密码规格变更消息和服务端握手结束消息给所述安全浏览器装置。
本实施例中,安全浏览器客户端504采用加密子进程模块50404代理浏览器主业务进程模块50402,与网络服务器502通过握手过程进行加密数据协商、证书认证、密钥交换和签名认证等SSL加密通信过程,具体握手过程如图4所示,相关握手信息和加密算法请参见实施例二部分的论述。
还包括:所述安全连接子模块504044,还用于在所述加密连接通信建立成功后,建立为所述加密子进程和所述网络服务器进行安全通信的第二加密通道。
所述代理子模块504042,还用于采用所述加密子进程和所述主业务进程通过握手过程建立加密连接通信,并在加密连接通信成功后,建立为所述主业务进程和所述加密子进程进行安全通信的第一加密通道;其中,所述握手过程中执行通过第一非对称算法执行所述加密子进程和所述主业务进程之间的双向证书认证、密钥交互,以及执行证书认证;所述密钥交互过程中生成对称密钥。
所述代理子模块504042,还用于所述业务处理线程将第一连接请求通过第二对称算法进行加密处理得到第二连接请求;所述业务处理线程将所述第二连接请求发送给所述网络服务器;所述业务处理线程接收所述网络服务器基于所述第二连接请求反馈的第二连接应答;第二连接请求将所述第二连接应答通过第二对称算法进行解密处理得到第一连接应答,并反馈给所述主业务进程;所述网络服务器502,用于接收所述安全浏览器装置发送的第二连接请求,对所述第二连接请求处理后生成第二连接应答,将所述第二连接应答发送给所述安全浏览器装置。
所述加密进程子模块50404,还包括:硬件管理模块504046,用于加密子进程通过驱动识别安全密钥存储硬件。证书验证模块504048,用于并依据所述硬件证书载体在双向证书认证过程中进行加密运算。
需要说明的是,可以参照图7所示的加密子进程模块是其在具体实施中的一种结构框图,可以进行理解的是,加密子进程模块包括:配置模块702、代理模块704(与上述代理子模块对应)、CTL管理模块706、CRL管理模块708、Session管理模块710、证书验证模块712、SSL连接模块714(与上述安全连接子模块对应)、USBKey操作模块716(与上述硬件管理子模块对应)。CTL管理模块706、CRL管理模块708与上述证书验证子模块对应,
其中,代理模块接受浏览器主业务进程模块的连接,根据浏览器主业务进程模块连接的类型进行相应处理,形成浏览器主业务进程模块的连接代理。CTL模块用于管理信任根证书列表。CRL管理模块用于获取CRL列表,管理本地CRL列表。Session管理模块管理代理进程与web服务器的session连接。SSL连接模块负责建立与网络服务器的安全连接。USBKey管理模块负责操作USBKey设备。配置模块负责读取、存储客户端的相关配置。
其中,对于CTL管理模块706,其工作原理如下:CTL描述的是浏览器信任根证书列表,用于验证服务器端证书。安全浏览器客户端中,支持的信任根证书为PEM编码方式,同时支持两种证书添加方式:1)程序内部添加信任根证书;2)配置文件添加信任根证书,配置文件采用des加密保存。其中,CTL可以配置为不支持导入导出功能。
对于CRL管理模块708,其工作原理如下: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管理模块710,SSL连接需要在TCP 3次握手的基础上增加4次握手,连接建立过程是比较耗时的,因此保存Session、复用之前的连接可以有效优化连接性能。本实施例的安全浏览器装置中在一次SSL连接建立完成之后,会建立host+port到session的内存索引,后续操作会复用之前的session,如session有效期为1小时。浏览器关闭、USBKey设备拔出时会清空之前的session。
对于证书验证模块612,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列表;检查证书签名;检查证书时间有效性;检查证书是否在黑名单中。
需要说明的是,参照图8所示的浏览器主业务进程模块在具体实施中的一种结构框图,可以理解的是,浏览器主业务进程模块包括:证书显示模块802、白名单管理模块804、网络服务器证书存储模块806、代理设置模块808。其中证书显示模块802负责显示数字证书。白名单管理模块804负责管理支持本实施例的加密算法的web服务器列表。网络服务器证书存储模块806用于存储负责管理网络服务器的证书。代理设置模块808代理设置负责设置与加密子进程的代理。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
在此提供的算法和显示不与任何特定计算机、虚拟***或者其它设备固有相关。各种通用***也可以与基于在此的示教一起使用。根据上面的描述,构造这类***所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的安全通信***设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明公开了A1、一种安全通信***,包括:安全浏览器装置和网络服务器;其中,所述网络服务器,用于与所述安全浏览器装置建立加密连接通信;以及在所述加密连接通信建立成功后,与所述安全浏览器装置通过第二加密通道执行业务数据交互;所述安全浏览器装置,包括:浏览器主业务进程模块和加密子进程模块,其中,所述浏览器主业务进程模块,用于在浏览器客户端中启动与浏览器主业务进程进行通信的加密子进程的加密子进程模块,其中,所述加密子进程用于作为连接代理实现第一加密通道到第二加密通道的转换,以及数据转发;所述加密子进程模块,包括:代理子模块,用于对浏览器主业务进程进行侦听,并获取所述浏览器主业务进程发送的第一连接请求;以及在所述加密连接通信建立成功后,所述加密子进程执行业务数据在所述第一加密通道和第二加密通道之间的转发;安全连接子模块,用于依据所述第一连接请求,所述加密子进程与所述网络服务器建立加密连接通信;其中,所述第一加密通道为所述浏览器主业务进程和所述加密子进程的安全通信通道;所述第二加密通道为所述加密子进程和所述网络服务器的安全通信通道。
A2、如A1所述的***,代理子模块,用于所述加密子进程创建侦听线程;所述侦听线程通过服务端口对所述主业务进程进行侦听。
A3、如A1所述的***,所述安全连接子模块,用于在确认所述第一连接请求接收成功后,所述加密子进程与所述网络服务器依次进行加密数据协商和证书认证;在加密数据协商完毕且证书认证通过后,建立所述浏览器客户端与网络服务器的加密连接通信。
A4、如A3所述的***,所述安全连接子模块,用于所述加密子进程向所述网络服务器发送客户端问候消息,其中,所述客户端问候消息包括所述浏览器客户端的第一加密数据,所述第一加密数据包括若干协议版本号;接收所述网络服务器反馈的服务端问候消息,其中,所述服务端问候消息包括所述服务器客户端的第二加密数据,所述第二加密数据包括:从所述第一加密数据中选定的协议版本号;所述网络服务器,用于向所述安全浏览器装置反馈服务端问候消息。
A5、如A3所述的***,所述安全连接子模块,用于对所述网络服务器进行单向证书认证;或,所述加密子进程和所述网络服务器进行双向证书认证。
A6、如A1所述的***,所述代理子模块,还用于创建业务处理线程;所述业务处理线程分别与所述第一加密通道和所述第二加密通道建立连接。
A7、如A6所述的***,所述代理子模块,用于采用所述业务处理线程通过所述第一加密通道接收所述主业务进程发送的第一业务数据;采用第一对称算法对所述第一业务数据进行解密处理,获取原始业务数据;采用第二对称算法对所述原始业务数据进行加密处理,获取所述第二业务数据;采用通过所述第二加密通道将所述第二业务数据发送给所述网络服务器;所述网络服务器,用于接收所述安全浏览器通过所述第二加密通道发送所述第二业务数据。
A8、如A5所述的装置,所述网络服务器,用于发送所述网络服务器的服务端证书消息给所述安全浏览器,所述服务端证书消息包括所述网络服务器的站点签名证书;所述安全浏览器装置中,所述安全连接子模块,用于接收所述网络服务器发送的服务端证书消息;以及所述加密子进程对所述网络服务器的站点签名证书进行认证。
A9、如A5所述的装置,所述网络服务器,用于所述网络服务器的服务端证书消息给所述安全浏览器,所述服务端证书消息包括所述网络服务器的站点签名证书;发送服务端密钥交换消息,所述服务端密钥交换消息包括密钥交换参数;发送证书认证请求消息,所述证书认证请求消息用于指示进行客户端的证书认证;发送服务端问候完结消息;以及接收所述浏览器安全装置发送的客户端证书消息,对签名证书进行认证,所述客户端证书消息包括所述安全浏览器客户端的签名证书;所述安全连接子模块,用于所述加密子进程接收所述网络服务器发送的服务端证书消息;所述加密子进程接收所述网络服务器发送的服务端密钥交换消息;所述加密子进程接收所述网络服务器发送的证书认证请求消息;所述加密子进程接收所述网络服务器发送的服务端问候完结消息;所述加密子进程对所述站点签名证书进行认证;当所述站点签名证书认证通过后,所述加密子进程向所述网络服务器发送客户端证书消息,所述客户端证书消息包括所述浏览器客户端的签名证书。
A10、如A9所述的***,所述安全连接子模块,还用于依据所述密钥交换参数随机产生预主密钥,其中,所述预主密钥是采用所述网络服务器的加密公钥通过椭圆曲线密码算法SM2进行加密计算得到的;所述加密子进程采用所述预主密钥生成客户端密钥交换消息,并发送给网络服务器;所述网络服务器,还用于接收所述安全浏览器装置发送的密钥交换消息,从所述密钥交换消息中获取所述预主密钥。
A11、如A9所述的***,所述安全连接子模块,还用于获取依据站点签名证书计算的签名校验参数,并生成客户端证书校验消息发送给所述网络服务器;所述加密子进程向所述网络服务器发送客户端密码规格变更消息,以表征加密数据的协商完成;所述加密子进程向所述网络服务器发送客户端握手结束消息;所述加密子进程接收所述网络服务器发送的服务端密码规格变更消息,以表征认可该加密数据的协商;所述加密子进程接收所述网络服务器发送的服务端握手结束消息;所述网络服务器,还用于依次接收所述安全浏览器装置发送的客户端证书校验消息、客户端密码规格变更消息和客户端握手结束消息;以及依次发送服务端密码规格变更消息和服务端握手结束消息给所述安全浏览器装置。
A12、如A11所述的***,还包括:所述安全连接子模块,还用于在所述加密连接通信建立成功后,建立为所述加密子进程和所述网络服务器进行安全通信的第二加密通道。
A13,如A7所述的***,所述代理子模块,还用于采用所述加密子进程和所述主业务进程通过握手过程建立加密连接通信,并在加密连接通信成功后,建立为所述主业务进程和所述加密子进程进行安全通信的第一加密通道;其中,所述握手过程中执行通过第一非对称算法执行所述加密子进程和所述主业务进程之间的双向证书认证、密钥交互,以及执行证书认证;所述密钥交互过程中生成对称密钥。
A14、如A1所述的***,所述代理子模块,还用于所述业务处理线程将第一连接请求通过第二对称算法进行加密处理得到第二连接请求;所述业务处理线程将所述第二连接请求发送给所述网络服务器;所述业务处理线程接收所述网络服务器基于所述第二连接请求反馈的第二连接应答;第二连接请求将所述第二连接应答通过第二对称算法进行解密处理得到第一连接应答,并反馈给所述主业务进程;所述网络服务器,用于接收所述安全浏览器装置发送的第二连接请求,对所述第二连接请求处理后生成第二连接应答,将所述第二连接应答发送给所述安全浏览器装置。
A15、如A5所述的***,所述加密子进程模块,还包括:硬件管理子模块,用于加密子进程通过驱动识别安全密钥存储硬件;证书验证子模块,用于并依据所述硬件证书载体在双向证书认证过程中进行加密运算。
Claims (13)
1.一种安全通信***,包括:安全浏览器装置和网络服务器;
其中,所述网络服务器,用于与所述安全浏览器装置建立加密连接通信;以及在所述加密连接通信建立成功后,与所述安全浏览器装置通过第二加密通道执行业务数据交互;
所述安全浏览器装置,包括:浏览器主业务进程模块和加密子进程模块,
其中,所述浏览器主业务进程模块,用于在浏览器客户端中启动与浏览器主业务进程进行通信的加密子进程的加密子进程模块,其中,所述加密子进程用于作为连接代理实现第一加密通道到第二加密通道的转换,以及数据转发;
所述加密子进程模块,包括:
代理子模块,用于对浏览器主业务进程进行侦听,并获取所述浏览器主业务进程发送的第一连接请求;以及在所述加密连接通信建立成功后,所述加密子进程执行业务数据在所述第一加密通道和第二加密通道之间的转发;所述代理子模块,还用于创建业务处理线程;所述业务处理线程分别与所述第一加密通道和所述第二加密通道建立连接;
安全连接子模块,用于依据所述第一连接请求,所述加密子进程与所述网络服务器建立加密连接通信;
其中,所述第一加密通道为所述浏览器主业务进程和所述加密子进程的安全通信通道;所述第二加密通道为所述加密子进程和所述网络服务器的安全通信通道;
其中,所述***还包括:代理子模块,用于所述加密子进程创建侦听线程;所述侦听线程通过服务端口对所述主业务进程进行侦听。
2.如权利要求1所述的***,其特征在于:
所述安全连接子模块,用于在确认所述第一连接请求接收成功后,所述加密子进程与所述网络服务器依次进行加密数据协商和证书认证;在加密数据协商完毕且证书认证通过后,建立所述浏览器客户端与网络服务器的加密连接通信。
3.如权利要求2所述的***,其特征在于:
所述安全连接子模块,用于所述加密子进程向所述网络服务器发送客户端问候消息,其中,所述客户端问候消息包括所述浏览器客户端的第一加密数据,所述第一加密数据包括若干协议版本号;接收所述网络服务器反馈的服务端问候消息,其中,所述服务端问候消息包括所述服务器客户端的第二加密数据,所述第二加密数据包括:从所述第一加密数据中选定的协议版本号;
所述网络服务器,用于向所述安全浏览器装置反馈服务端问候消息。
4.如权利要求2所述的***,其特征在于:
所述安全连接子模块,用于对所述网络服务器进行单向证书认证;或,所述加密子进程和所述网络服务器进行双向证书认证。
5.如权利要求1所述的***,其特征在于:
所述代理子模块,用于采用所述业务处理线程通过所述第一加密通道接收所述主业务进程发送的第一业务数据;采用第一对称算法对所述第一业务数据进行解密处理,获取原始业务数据;采用第二对称算法对所述原始业务数据进行加密处理,获取第二业务数据;采用通过所述第二加密通道将所述第二业务数据发送给所述网络服务器;
所述网络服务器,用于接收所述安全浏览器通过所述第二加密通道发送所述第二业务数据。
6.如权利要求4所述的***,其特征在于:
所述网络服务器,用于发送所述网络服务器的服务端证书消息给所述安全浏览器,所述服务端证书消息包括所述网络服务器的站点签名证书;
所述安全浏览器装置中,所述安全连接子模块,用于接收所述网络服务器发送的服务端证书消息;以及所述加密子进程对所述网络服务器的站点签名证书进行认证。
7.如权利要求4所述的***,其特征在于:
所述网络服务器,用于所述网络服务器的服务端证书消息给所述安全浏览器,所述服务端证书消息包括所述网络服务器的站点签名证书;发送服务端密钥交换消息,所述服务端密钥交换消息包括密钥交换参数;发送证书认证请求消息,所述证书认证请求消息用于指示进行客户端的证书认证;发送服务端问候完结消息;以及接收所述浏览器安全装置发送的客户端证书消息,对签名证书进行认证,所述客户端证书消息包括所述安全浏览器客户端的签名证书;
所述安全连接子模块,用于所述加密子进程接收所述网络服务器发送的服务端证书消息;所述加密子进程接收所述网络服务器发送的服务端密钥交换消息;所述加密子进程接收所述网络服务器发送的证书认证请求消息;所述加密子进程接收所述网络服务器发送的服务端问候完结消息;所述加密子进程对所述站点签名证书进行认证;当所述站点签名证书认证通过后,所述加密子进程向所述网络服务器发送客户端证书消息,所述客户端证书消息包括所述浏览器客户端的签名证书。
8.如权利要求7所述的***,其特征在于:
所述安全连接子模块,还用于依据所述密钥交换参数随机产生预主密钥,其中,所述预主密钥是采用所述网络服务器的加密公钥通过椭圆曲线密码算法SM2进行加密计算得到的;所述加密子进程采用所述预主密钥生成客户端密钥交换消息,并发送给网络服务器;
所述网络服务器,还用于接收所述安全浏览器装置发送的密钥交换消息,从所述密钥交换消息中获取所述预主密钥。
9.如权利要求7所述的***,其特征在于:
所述安全连接子模块,还用于获取依据站点签名证书计算的签名校验参数,并生成客户端证书校验消息发送给所述网络服务器;所述加密子进程向所述网络服务器发送客户端密码规格变更消息,以表征加密数据的协商完成;所述加密子进程向所述网络服务器发送客户端握手结束消息;所述加密子进程接收所述网络服务器发送的服务端密码规格变更消息,以表征认可该加密数据的协商;所述加密子进程接收所述网络服务器发送的服务端握手结束消息;
所述网络服务器,还用于依次接收所述安全浏览器装置发送的客户端证书校验消息、客户端密码规格变更消息和客户端握手结束消息;以及依次发送服务端密码规格变更消息和服务端握手结束消息给所述安全浏览器装置。
10.如权利要求9所述的***,其特征在于,还包括:
所述安全连接子模块,还用于在所述加密连接通信建立成功后,建立为所述加密子进程和所述网络服务器进行安全通信的第二加密通道。
11.如权利要求5所述的***,其特征在于:
所述代理子模块,还用于采用所述加密子进程和所述主业务进程通过握手过程建立加密连接通信,并在加密连接通信成功后,建立为所述主业务进程和所述加密子进程进行安全通信的第一加密通道;其中,所述握手过程中执行通过第一非对称算法执行所述加密子进程和所述主业务进程之间的双向证书认证、密钥交互,以及执行证书认证;所述密钥交互过程中生成对称密钥。
12.如权利要求1所述的***,其特征在于:
所述代理子模块,还用于所述业务处理线程将第一连接请求通过第二对称算法进行加密处理得到第二连接请求;所述业务处理线程将所述第二连接请求发送给所述网络服务器;所述业务处理线程接收所述网络服务器基于所述第二连接请求反馈的第二连接应答;第二连接请求将所述第二连接应答通过第二对称算法进行解密处理得到第一连接应答,并反馈给所述主业务进程;
所述网络服务器,用于接收所述安全浏览器装置发送的第二连接请求,对所述第二连接请求处理后生成第二连接应答,将所述第二连接应答发送给所述安全浏览器装置。
13.如权利要求4所述的***,其特征在于,所述加密子进程模块,还包括:
硬件管理子模块,用于加密子进程通过驱动识别安全密钥存储硬件;
证书验证子模块,用于并依据所述硬件证书载体在双向证书认证过程中进行加密运算。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410849875.9A CN104580189B (zh) | 2014-12-30 | 2014-12-30 | 一种安全通信*** |
PCT/CN2015/094846 WO2016107318A1 (zh) | 2014-12-30 | 2015-11-17 | 一种安全通信*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410849875.9A CN104580189B (zh) | 2014-12-30 | 2014-12-30 | 一种安全通信*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104580189A CN104580189A (zh) | 2015-04-29 |
CN104580189B true CN104580189B (zh) | 2019-02-12 |
Family
ID=53095370
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410849875.9A Expired - Fee Related CN104580189B (zh) | 2014-12-30 | 2014-12-30 | 一种安全通信*** |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN104580189B (zh) |
WO (1) | WO2016107318A1 (zh) |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104580189B (zh) * | 2014-12-30 | 2019-02-12 | 北京奇虎科技有限公司 | 一种安全通信*** |
CN104639534B (zh) * | 2014-12-30 | 2019-02-12 | 北京奇虎科技有限公司 | 网站安全信息的加载方法和浏览器装置 |
CN104580190B (zh) * | 2014-12-30 | 2018-09-04 | 北京奇虎科技有限公司 | 安全浏览器的实现方法和安全浏览器装置 |
CN104618108B (zh) * | 2014-12-30 | 2018-07-27 | 北京奇虎科技有限公司 | 安全通信*** |
US10728043B2 (en) * | 2015-07-21 | 2020-07-28 | Entrust, Inc. | Method and apparatus for providing secure communication among constrained devices |
CN105243330A (zh) * | 2015-10-13 | 2016-01-13 | 武汉大学 | 一种面向Android***内部数据传递过程的保护方法及*** |
CN105681279A (zh) * | 2015-12-28 | 2016-06-15 | 上海瀚银信息技术有限公司 | 一种应用数据传输方法及移动终端 |
CN106330942A (zh) * | 2016-08-31 | 2017-01-11 | 成都秦川科技发展有限公司 | 一种基于物联网信息私密通道和公共网络模糊的信息分送方法、装置及*** |
CN108270739B (zh) * | 2016-12-30 | 2021-01-29 | 华为技术有限公司 | 一种管理加密信息的方法及装置 |
GB201710168D0 (en) * | 2017-06-26 | 2017-08-09 | Microsoft Technology Licensing Llc | Introducing middleboxes into secure communications between a client and a sever |
CN108429620B (zh) * | 2018-01-25 | 2021-10-12 | 新华三技术有限公司 | 安全连接的建立方法、***、以及客户端和服务端 |
CN109714337B (zh) * | 2018-12-26 | 2021-08-10 | 网宿科技股份有限公司 | 一种数据加密传输方法及设备 |
CN110225515B (zh) * | 2019-06-24 | 2022-08-23 | 喀斯玛(北京)科技有限公司 | 一种认证管理***、方法及装置 |
EP3780535A1 (en) * | 2019-08-15 | 2021-02-17 | Robert Bosch GmbH | Process to establish a communication channel between a client and a server |
CN111381903B (zh) * | 2020-03-18 | 2023-05-26 | 支付宝(杭州)信息技术有限公司 | 程序运行方法、装置、设备及介质 |
CN112020037A (zh) * | 2020-09-25 | 2020-12-01 | 卡斯柯信号(郑州)有限公司 | 一种适用于轨道交通的国产通信加密方法 |
CN112507269B (zh) * | 2020-12-10 | 2023-08-08 | 中国农业科学院农业信息研究所 | 一种网站后台风险评估*** |
CN112437437A (zh) * | 2020-12-10 | 2021-03-02 | 深圳市天辰防务通信技术有限公司 | 一种利用4g网络进行点到点保密通信连接的方法及*** |
CN112613025A (zh) * | 2020-12-30 | 2021-04-06 | 宁波三星医疗电气股份有限公司 | 一种计算机上usb设备和浏览器的通信方法 |
CN115085949A (zh) * | 2021-03-10 | 2022-09-20 | 航天信息股份有限公司 | 一种基于国密ssl透明代理的数据通信方法和装置 |
CN113904773B (zh) * | 2021-10-11 | 2023-07-07 | 博雅中科(北京)信息技术有限公司 | Ssl连接建立方法、装置、电子设备及计算机可读存储介质 |
CN114143082B (zh) * | 2021-11-30 | 2023-10-13 | 北京天融信网络安全技术有限公司 | 一种加密通信方法、***及装置 |
CN114553476B (zh) * | 2022-01-10 | 2024-06-25 | 网宿科技股份有限公司 | 基于国密和国际算法的https请求的处理方法和装置 |
CN114553957B (zh) * | 2022-01-10 | 2024-05-24 | 网宿科技股份有限公司 | 兼容国密和国际https传输的业务***和方法 |
CN115001936B (zh) * | 2022-07-18 | 2023-05-02 | 确信信息股份有限公司 | 一种基于管理代理的运维管理***、方法及计算机设备 |
CN115987688B (zh) * | 2023-03-20 | 2023-08-01 | 北京网藤科技有限公司 | 一种保障plc和上位机之间安全通信的方法及*** |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1359074A (zh) * | 2001-11-29 | 2002-07-17 | 上海格尔软件股份有限公司 | 具有mime数据类型过滤技术的ssl代理方法 |
CN1879382A (zh) * | 2003-11-04 | 2006-12-13 | Ntt通信公司 | 在设备间建立加密通信通道的方法、设备和程序 |
CN102103725A (zh) * | 2009-12-22 | 2011-06-22 | 新竹货运股份有限公司 | 资讯处理***、处理站及货到刷卡方法 |
CN103188074A (zh) * | 2011-12-28 | 2013-07-03 | 上海格尔软件股份有限公司 | 一种增强浏览器ssl算法强度的代理方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8190875B2 (en) * | 2007-03-22 | 2012-05-29 | Cisco Technology, Inc. | Reducing processing load in proxies for secure communications |
CN104580189B (zh) * | 2014-12-30 | 2019-02-12 | 北京奇虎科技有限公司 | 一种安全通信*** |
CN104580190B (zh) * | 2014-12-30 | 2018-09-04 | 北京奇虎科技有限公司 | 安全浏览器的实现方法和安全浏览器装置 |
-
2014
- 2014-12-30 CN CN201410849875.9A patent/CN104580189B/zh not_active Expired - Fee Related
-
2015
- 2015-11-17 WO PCT/CN2015/094846 patent/WO2016107318A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1359074A (zh) * | 2001-11-29 | 2002-07-17 | 上海格尔软件股份有限公司 | 具有mime数据类型过滤技术的ssl代理方法 |
CN1879382A (zh) * | 2003-11-04 | 2006-12-13 | Ntt通信公司 | 在设备间建立加密通信通道的方法、设备和程序 |
CN102103725A (zh) * | 2009-12-22 | 2011-06-22 | 新竹货运股份有限公司 | 资讯处理***、处理站及货到刷卡方法 |
CN103188074A (zh) * | 2011-12-28 | 2013-07-03 | 上海格尔软件股份有限公司 | 一种增强浏览器ssl算法强度的代理方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2016107318A1 (zh) | 2016-07-07 |
CN104580189A (zh) | 2015-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104580189B (zh) | 一种安全通信*** | |
CN104639534B (zh) | 网站安全信息的加载方法和浏览器装置 | |
CN104580190B (zh) | 安全浏览器的实现方法和安全浏览器装置 | |
CN104618108B (zh) | 安全通信*** | |
WO2016107319A1 (zh) | 加载安全密钥存储硬件的方法和浏览器客户端装置 | |
WO2017045552A1 (zh) | 一种在ssl或tls通信中加载数字证书的方法和装置 | |
US9887838B2 (en) | Method and device for secure communications over a network using a hardware security engine | |
CN110326267B (zh) | 具有替代数字证书的网络安全***、方法及存储介质 | |
US9565180B2 (en) | Exchange of digital certificates in a client-proxy-server network configuration | |
CN103546289B (zh) | 一种基于USBKey的安全传输数据的方法及*** | |
CN107425983A (zh) | 一种基于web服务的统一身份认证方法及***平台 | |
US20090307486A1 (en) | System and method for secured network access utilizing a client .net software component | |
CN107800675A (zh) | 一种数据传输方法、终端以及服务器 | |
US9398024B2 (en) | System and method for reliably authenticating an appliance | |
WO2021041771A1 (en) | Decentralized techniques for verification of data in transport layer security and other contexts | |
CN112733129B (zh) | 一种服务器带外管理的可信接入方法 | |
KR102128244B1 (ko) | Ssl/tls 기반의 네트워크 보안 장치 및 방법 | |
CN105471896B (zh) | 基于ssl的代理方法、装置及*** | |
Kwon et al. | (In-) security of cookies in HTTPS: Cookie theft by removing cookie flags | |
CN107276996A (zh) | 一种日志文件的传输方法及*** | |
CN113422753B (zh) | 数据处理方法、装置、电子设备及计算机存储介质 | |
CN115549929B (zh) | 基于零信任网络隐身的spa单包认证方法及装置 | |
Solbakken | Certificate security visualization | |
Klasila | TryTLS: testing TLS libraries | |
CN116781254A (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20190212 Termination date: 20211230 |