基于硬件安全模块的通信系统及通信方法

文档序号:9399255阅读:422来源:国知局
基于硬件安全模块的通信系统及通信方法
【技术领域】
[0001]本发明涉及通信技术领域,尤其涉及一种基于硬件安全模块进行安全通信的通信方法。
【背景技术】
[0002]当前的客户端与服务器之间的通信方式主要有:
[0003]a)套接字(Socket)通信方式=Socket是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元。它是网络通信过程中端点的抽象表示,包含进行网络通信必须的五种信息:连接使用的协议,本地主机的IP地址,本地进程的协议端口,远地主机的IP地址,远地进程的协议端口。应用层通过传输层进行数据通信时,TCP会遇到同时为多个应用程序进程提供并发服务的问题。多个TCP连接或多个应用程序进程可能需要通过同一个TCP协议端口传输数据。为了区别不同的应用程序进程和连接,许多计算机操作系统为应用程序与TCP/IP协议交互提供了 Socket接口。应用层可以和传输层通过Socket接口,区分来自不同应用程序进程或网络连接的通信,实现数据传输的并发服务。
[0004]参考图1,现有Socket通信模型示意图。客户端11与公网服务器12之间的通信,可能为未经任何加密的Socket通信,其数据是明文传输,在传输过程中很容易被截获攻击,使得交易信息等敏感数据在传输过程中存在泄露危险。即便客户端11与公网服务器12之间的通信使用了加密,但是每台服务器都要各自实现自己的加解密验证代码,不同的客户端APP需要针对不同的服务器实现加解密验证代码,增加了开发和维护的难度。
[0005]b)对称加密(symmetric cryptography)通信方式:对称加密算法使用单个私钥来加密和解密数据。加密保证了在客户端-服务器之间传输的数据是密文的,增加了传输的安全性。对称加密中同一密钥既用于加密又用于解密,加密算法非常快(与非对称算法相比),特别适用于对较大的数据流执行加密转换。但是,对称加密在数据加密的同时,由于具有密钥的任意一方都可以使用该密钥解密数据,因此必须保护密钥不被未经授权的代理得到。同时,攻击人也可以使用大量样本穷举等方法来恶意破解密钥,从而制造攻击。
[0006]c)非对称加(asymmetric cryptography)通信方式:非对称加密使用一个必须对未经授权的用户保密的私钥和一个可以对任何人公开的公钥。公钥和私钥都在数学上相关联;用公钥加密的数据只能用私钥解密,而用私钥签名的数据只能用公钥验证。公钥可以提供给任何人;公钥用于对要发送到私钥持有者的数据进行加密。两个密钥对于通信会话都是唯一的。但是,非对称加密在提升了对称加密被破解的难度的同时也要求一个安全可靠的密钥管理系统,一旦密钥库被篡改,程序也将也无法正确工作。

【发明内容】

[0007]本发明的目的在于,针对现有技术中套接字通信方式采用未经任何加密的Socket通信时,其数据是明文传输,在传输过程中很容易被截获攻击,采用加密通信时加解密验证代码较繁琐,增加了开发和维护的难度的技术问题,提供一种基于硬件安全模块的通信系统及方法,实现防止数据被非法用户窃取,保证信息在互联网上安全传输;可以防止设备证书被非法修改,保证设备的私钥安全。
[0008]为实现上述目的,本发明提供了一种基于硬件安全模块的通信系统,包括硬件安全模块以及SSL转发服务器;所述硬件安全模块设置在客户端上,用于在被客户端调用时匹配出相应的客户端证书给所述客户端;所述SSL转发服务器,用于进行客户端证书的校验并在校验通过后与所述客户端协商出通信私钥,之后所述SSL转发服务器与所述客户端采用所述通信私钥通信,将所述客户端的通信数据转发至内网服务器进行处理,以及将所述内网服务器处理后的数据反馈至所述客户端,其中所述SSL转发服务器与所述内网服务器处于同一通信网络。
[0009]为实现上述目的,本发明还提供了一种基于硬件安全模块的通信方法,包括:(I)在客户端上增加硬件安全模块,客户端调用所述硬件安全模块获取相应的客户端证书;(2)将客户端获取的客户端证书发送至SSL转发服务器;(3)所述SSL转发服务器对所述客户端证书进行校验,并在校验通过后与所述客户端协商出通信私钥;(4)所述SSL转发服务器与所述客户端采用所述通信私钥通信,将所述客户端的通信数据转发至内网服务器进行处理,并将所述内网服务器处理后的数据反馈至所述客户端,其中所述SSL转发服务器与所述内网服务器处于同一通信网。
[0010]本发明的优点在于,本发明在硬件安全模块的支持下,实现证书的安全存储,防止设备证书被非法修改,保证设备的私钥安全。采用SSL加密通信,防止数据被非法用户窃取,保证信息在互联网上安全传输;也即,使用SSL协议完善电子支付过程中的保密性、完整性和客户资料安全性,实现电子交易的简单、实用和贴心等特点,达到三易即易使用,易维护,易开发的效果。同时通过整合SSL与HSM,实现从设备本身到传输过程的数据安全。还可以自定义符合Java Security Provider标准的安全提供者,实现SSL安全通信协议,符合现有规范,使得方案易用、安全,开发人员简单几步就可以让普通的非SSL通信客户端APP实现基于硬件安全模块的加密通信,快速完成数据的安全传输,实现快速开发。本发明提供一个基于HSM的安全通信标准,规范协议使用,促使不同厂家的软件具有兼容性并能快速开发,可在不同的软硬件平台上执行并被全球广泛接受。
【附图说明】
[0011 ] 图1,现有Socket通信模型示意图;
[0012]图2,本发明所述的基于硬件安全模块的通信系统架构示意图;
[0013]图3,本发明所述的基于硬件安全模块的通信方法流程示意图;
[0014]图4,本发明客户端与服务器端之间的通信时序图;
[0015]图5,本发明客户端调用硬件安全模块代码时序图;
[0016]图6,本发明SSL转发服务器初始化时序图;
[0017]图7,本发明客户端调用硬件安全模块获取客户端证书与前置的SSL转发服务器进行SSL协议握手时序图;
[0018]图8,本发明前置的SSL转发服务器信任客户端后开始正常通信时序图。
【具体实施方式】
[0019]下面结合附图对本发明提供的基于硬件安全模块的通信系统及通信方法做详细说明。
[0020]参考图2,本发明所述的基于硬件安全模块的通信系统架构示意图。所述系统包括硬件安全模块22以及SSL转发服务器24。
[0021]所述硬件安全模块22设置在客户端21上,用于在被客户端21调用时匹配出相应的客户端证书给所述客户端21。也即,所述硬件安全模块22负责安全地提供客户端证书给客户端21。
[0022]硬件安全模块(Hardware Security Module,简称HSM)就是一种物理证书库,其中存放了多个私钥、对应的公钥,以及每一公钥对应的公钥证书。将私钥、公钥和公钥证书存放在HSM中,可以有效的防止外部攻击和篡改。HSM是专为保护加密密钥生命周期而设计的专用加密处理器。HSM通过在可靠且防篡改的设备中安全地管理、处理和保存加密密钥。
[0023]所述SSL转发服务器24,用于进行客户端证书的校验,并在校验通过后与所述客户端21协商出通信私钥,之后所述SSL转发服务器24与所述客户端21采用所述通信私钥通信,所述客户端的通信数据转发至内网服务器25进行处理,以及将所述内网服务器25处理后的数据反馈至客户端21。其中所述SSL转发服务器24与所述内网服务器25处于同一通信网络29。证书的校验是SSL协议过程中的一个环节,其原理是SSL转发服务器24得到客户端的证书后,与自己信任证书库中的证书相比较,若信任证书库中存在客户端证书或客户端证书的签发者,则校验通过。
[0024]SSL (Secure Sockets Layer,安全套接层)是为网络通信提供安全及数据完整性的一种安全协议,SSL在传输层对网络连接进行加密。SSL协议分为两部分:握手协议(Handshake Protocol)和记录协议(Record Protocol)。其中 Handshake Protocol 用来协商密钥,协议的大部分内容就是通信双方如何利用它来安全协商出一份密钥;RecordProtocol则定义了传输的格式。SSL协议在两台计算机之间建立了一条加密通道,建立SSL连接保证数据在传输过程中不被窃取或篡改,确保机密信息的保密性,完整性和可靠性。SSL协议提供的服务主要有:认证用户和服务器,确保数据发送到正确的客户机和服务器;加密数据以防止数据中途被窃取;维护数据的完整性,确保数据在传输过程中不被改变。
[0025]所述客户端21初始化SSL套接字连接后,发送连接请求至所述SSL转发服务器24,在接收到所述SSL转发服务器24返回的连接请求响应以及服务器证书后,调用所述硬件安全模块22获取相应的客户端证书。每一客户端有一客户端证书,在客户端上增加硬件安全模块,通过调用硬件安全模块匹配出相应的公钥证书作为客户端证书,利用目前移动客户端本身处理能力强的特点,在客户端处理主要的身份认证的工作,以降低服务端的负载。
[0026]所述硬件安全模块22进一步用于在判定客户端证书更新时,则根据更新后的客户端证书在所述硬件安全模块22内部的证书库中重新进行客户端证书匹配。
[0027]所述客户端21通过与所述SSL转发服务器24进行SSL安全协议握手,接收所述SSL转发服务器24发送的服务器证书,进而调用所述硬件安全模块22获取与服务器证书相匹配的相应的客户端证书,然后将获取的客户端证书发送至所述SSL转发服务器24进行校验,并在校验通过后与所述SSL转发服务器24协商出通信私钥。客户端证书只在协议认证时发送一次给SSL转发服务器24,用以进行校验并产生彼此通信用的通信私钥,之后的通信都是通过此通信私钥(区别于硬件安全模块22中的私钥)加密消息。在协议认证完成后,客户端-SSL转发服务器之间的通信数据是通信私钥加密后的正常消息(如交易请求等)O
[0028]通过本发明提供的基于硬件安全模块的通信系统,客户端APP只需要调用硬件安全模块获取相应的客户端证书并发给前置的SSL转发服务器,由SSL转发服务器进行证
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1