数据加密方法及系统
技术领域
本发明涉及数据处理领域,特别涉及一种数据加密方法及系统。
背景技术
数据加密是指通过加密算法和加密密钥将明文转变为密文的一门技术。通常情况下,为了保护数据的安全,当数据在客户端与服务器之间进行传输的过程中,都会采用加密的手段保护数据信息的安全。
目前,常见的数据加密方法是:在客户端与服务器之间建立安全隧道,比如IPsec隧道。该隧道实际是建立在客户端的网关设备和服务器的网关设备之间,通过安全隧道将数据从客户端传输到服务器,保证了在广域网上数据传输过程中的安全性。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:数据从客户端传输到网关设备的过程中,仍然处于明文传输,在客户端所处的局域网内还存在信息泄露的可能;同时,数据从网关设备传输到服务器的过程中,也属于明文传输,同样存在信息泄露的可能。显然,这种数据加密方法存在缺陷,不能完全保证数据信息在传输过程中的安全性。
发明内容
为了解决目前的数据加密方法存在缺陷的问题,本发明实施例提供了一种数据加密方法及系统。所述技术方案如下:
第一方面,提供了一种数据加密方法,所述方法包括:
前端服务系统向客户管理系统CRM提供第一客户信息,所述第一客户信息是采用第一密钥加密的客户信息;
所述CRM向密码服务平台ESSC提供所述第一客户信息;
所述ESSC将所述第一客户信息进行解密后,重新加密得到第二客户信息,所述第二客户信息是采用第二密钥加密的客户信息;
所述ESSC向所述CRM提供所述第二客户信息;
所述CRM将所述第二客户信息存储至数据库中;
其中,所述第一密钥是所述ESSC的后端加密机提供的公有密钥,所述第二密钥是企业自定义密钥。
在一个可能的实施例中,所述前端服务系统向客户管理系统CRM提供采用第一密钥加密的客户信息之前,还包括:
所述前端服务系统通过浏览器控件或脚本将所述客户信息采用第一密钥进行加密,得到所述第一客户信息。
在一个可能的实施例中,所述ESSC将所述第一客户信息进行解密后,重新加密得到第二客户信息,所述第二客户信息是采用第二密钥加密的客户信息,包括:
所述ESSC调用所述后端加密机将所述第一客户信息采用私有密钥进行解密,所述私有密钥是与所述第一密钥对应的密钥;
所述ESSC调用所述后端加密机对解密后的所述客户信息采用所述第二密钥重新加密,得到所述第二客户信息。
在一个可能的实施例中,所述ESSC调用所述后端加密机对解密后的所述客户信息采用所述第二密钥重新加密,得到所述第二客户信息,包括:
所述ESSC调用所述后端加密机对解密后的所述客户信息中的敏感字段采用所述第二密钥重新加密,得到所述第二客户信息;
其中,所述敏感字段是所述客户信息中的部分字段。
在一个可能的实施例中,所述第二密钥包括至少两段分段密钥,每段分段密钥对应各自的管理逻辑。
根据本发明的第二方面,提供了一种数据加密系统,所述系统包括:
前端服务系统,用于向客户管理系统CRM提供第一客户信息,所述第一客户信息是采用第一密钥加密的客户信息;
所述CRM,用于向密码服务平台ESSC提供所述第一客户信息;
所述ESSC,用于将所述第一客户信息进行解密后,重新加密得到第二客户信息,所述第二客户信息是采用第二密钥加密的客户信息;
所述ESSC,用于向所述CRM提供所述第二客户信息;
所述CRM,用于将所述第二客户信息存储至数据库中;
其中,所述第一密钥是所述ESSC的后端加密机提供的公有密钥,所述第二密钥是企业自定义密钥。
在一个可能的实施例中,所述前端服务系统,用于通过浏览器控件或脚本将所述客户信息采用第一密钥进行加密,得到所述第一客户信息。
在一个可能的实施例中,所述ESSC,用于调用加密机将所述第一客户信息采用私有密钥进行解密,所述私有密钥是与所述第一密钥对应的密钥;
所述ESSC,用于调用所述加密机对解密后的所述客户信息采用所述第二密钥重新加密,得到所述第二客户信息。
在一个可能的实施例中,所述ESSC,用于调用所述加密机对解密后的所述客户信息中的敏感字段采用所述第二密钥重新加密,得到所述第二客户信息;
其中,所述敏感字段是所述客户信息中的一部分字段。
在一个可能的实施例中,所述第二密钥包括至少两段分段密钥,每段分段密钥对应各自的管理逻辑。
本发明实施例提供的技术方案带来的有益效果是:
通过将客户信息在传输过程中采用第一密钥加密,在CRM的内部局域网中采用第二密钥加密;解决了目前的数据加密方法存在的缺陷即不能完全保证数据信息在传输过程中的安全性;达到了不论是在广域网还是内部局域网,客户信息均为加密状态,保证了客户信息的数据安全性。即便所述第一密钥被泄露,掌握密钥的恶意人员也仅能获知一小部分客户信息,而无法获知全部客户信息的效果。所述第二密钥由于通过分段密钥由两个以上的人员分别保管,一次性获取到完整的第二密钥的可能性极低。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本发明一个实施例提供的数据加密系统的结构示意图;
图2是本发明一个实施例的数据加密方法的方法流程图;
图3是本发明另一个实施例提供的数据加密方法的方法流程图;
图4是本发明另一个实施例提供的数据加密系统的结构方框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
请参考图1,其示出了本发明一个实施例提供的数据加密系统100的结构示意图。该数据加密系统100包括:前端服务系统120、客户管理系统140、密码服务平台160和数据库180。
前端服务系统120是客户信息的来源方。可选地,前端服务系统120包括呼叫中心系统122和web服务器124。其中:
呼叫中心系统122用于以电话方式来向用户提供咨询、客服等服务。呼叫中心系统122根据接收到的电话生成客户信息。例如,客户信息是:
“姓名:张三;电话:1868888XXXX;地址:上海市静安区”。
Web服务器124用于以网页形式来向用户提供注册、咨询、客服等服务。Web服务器124根据网页上接收到的信息生成客户信息。
通常,呼叫中心系统122通过专用线路与客户管理系统140相连。Web服务器124则设置在防火墙的DMZ区,客户管理系统140则设置在防火墙内的局域网中。
客户管理系统140(Customer Relationship Management,简称:CRM)用于存储和管理前端服务系统120生成的客户信息。
CRM140还通过内部局域网与数据库180相连。该数据库180用于存储客户信息。
CRM140还通过内部局域网与密码服务平台160相连。密码服务平台(简称:ESSC)160用于对客户信息进行加密。可选地,ESSC160还与两个后端加密机相连,主加密机162用于在正常工作模式下对客户信息进行加密,备加密机164用于在主加密机162发生故障时,对客户信息进行加密。可选地,这两个后端加密机通过硬件接口插接在ESSC160上,可视为与ESSC160一体的设备。
请参考图2,其示出了本发明一个实施例提供的数据加密方法的方法流程图。本实施例以该数据加密方法应用于图1所示出的数据加密系统100中来举例说明。该数据加密方法包括:
步骤201,前端服务系统向CRM提供第一客户信息,第一客户信息是采用第一密钥加密的客户信息;
可选地,第一密钥是ESSC的厂商所提供的后端加密机内置的公有密钥。
步骤202,CRM向ESSC提供第一客户信息;
步骤203,ESSC将第一客户信息进行解密后,重新加密得到第二客户信息,第二客户信息是采用第二密钥加密的客户信息;
第二密钥是自定义密钥。
步骤204,ESSC向CRM提供第二客户信息;
步骤205,CRM将第二客户信息存储至数据库中。
综上所述,本实施例提供的数据加密方法,通过将客户信息在传输过程中采用第一密钥加密,在CRM的内部局域网中采用第二密钥加密;解决了目前的数据加密方法存在的缺陷,即不能完全保证数据信息在传输过程中的安全性;达到了不论是在广域网还是内部局域网,客户信息均为加密状态,保证了客户信息的数据安全性。即便所述第一密钥被泄露,掌握密钥的恶意人员也仅能获知一小部分客户信息,而无法获知全部客户信息的效果。所述第二密钥由于通过分段密钥由两个以上的人员分别保管,一次性获取到完整的第二密钥的可能性极低。
请参考图3,其示出了本发明一个实施例提供的数据加密方法的方法流程图。本实施例以该数据加密方法应用于图1所示出的数据加密系统100中来举例说明。该数据加密方法包括:
步骤301,前端服务系统通过浏览器控件或脚本将客户信息采用第一密钥进行加密,得到第一客户信息;
前端服务系统在产生一个客户信息后,通过浏览器控件或脚本将客户信息采用第一密钥进行非对称性加密,得到第一客户信息。
第一客户信息是采用第一密钥进行加密后的客户信息。该第一密钥是ESSC的厂商所提供的加密机内置的公有密钥。
可选地,客户信息中的全部字段均采用第一密钥进行加密。
可选地,客户信息中的敏感字段采用第一密钥进行加密,其它字段不采用第一密钥进行加密。
例如,客户信息是:“姓名:张三;电话:1868888XXXX;地址:上海市静安区”。其中,“电话”字段和“地址”字段是敏感字段,采用第一密钥进行加密;而“姓名”不是敏感字段,不采用第一密钥进行加密。
步骤302,前端服务系统向CRM提供第一客户信息;
可选地,前端服务系统通过广域网将第一客户信息发送给CRM。
步骤303,CRM向ESSC提供第一客户信息;
CRM通过内部局域网将第一客户信息发送给ESSC。
步骤304,ESSC调用加密机将第一客户信息采用私有密钥进行解密,私有密钥是与第一密钥对应的密钥;
ESSC中存储有私有密钥和第二密钥。该私有密钥是与第一密钥对应的密钥。该第二密钥是企业的管理方所自定义的密钥。
ESSC调用与自身相连接的加密机,该加密机采用私有密钥和内置算法对第一客户信息进行解密,得到解密后的客户信息。
步骤305,ESSC调用加密机对解密后的客户信息采用第二密钥重新加密,得到第二客户信息;
然后,该加密机从ESSC中读取第二密钥,该加密机采用第二密钥和内置算法对客户信息重新加密,得到第二客户信息。
可选地,ESSC调用加密机对解密后的客户信息中的敏感字段采用第二密钥重新加密,得到第二客户信息。其中,敏感字段是客户信息中的部分字段。
例如,客户信息是:“姓名:张三;电话:1868888XXXX;地址:上海市静安区”。其中,“电话”字段和“地址”字段是敏感字段,采用第二密钥进行加密;而“姓名”不是敏感字段,不采用第二密钥进行加密。
步骤306,ESSC向CRM提供第二客户信息;
ESSC通过内部局域网将第二客户信息发送给CRM。
步骤307,CRM将第二客户信息存储至数据库中。
需要说明的是,第二密钥包括至少两段分段密钥,每段分段密钥对应各自的管理逻辑,以实现管理上的职责分离。管理逻辑可以是人为管理逻辑,也可以是机器管理逻辑。
比如,第二密钥包括三段分段密钥,每段密钥由公司内部的一名人员保管,在ESSC中存储第二密钥时,需要三名人员分别在ESSC中输入各自所保管的分段密钥。
又比如,ESSC还连接有三台密钥生成机,每台密钥生成机用于生成和保存一段分段密钥,ESSC定期从三台密钥生成机中获取分段密钥,然后将三段分段密钥组合成为第二密钥。可选地,三台密钥生成机还可以定期更新各自对应的分段密钥。
综上所述,本实施例提供的数据加密方法,通过将客户信息在传输过程中采用第一密钥加密,在CRM的内部局域网中采用第二密钥加密;解决了目前的数据加密方法存在缺陷,即不能完全保证数据信息在传输过程中的安全性;达到了不论是在广域网还是内部局域网,客户信息均为加密状态,保证了客户信息的数据安全性。为了分析该系统的安全性,做出如下假设:
私有密钥泄露的情形:由于第一密钥是由ESSC的厂商提供的,而ESSC的厂商通常与企业的管理方不是同一方,所以在CRM中使用第二密钥对客户信息进行加密更为安全。恶意人员需要有对应的加密机才能对第一客户信息解密,但加密机位于CRM的管理方所处的机房管理区域,恶意人员难以获取到该加密机。
私有密钥和加密机同时泄露的情形:恶意人员需要在专用线路中抓取到第一客户信息才能进行解密,较为困难,且只能对抓取到的第一客户信息进行解密,无法得到所有的客户信息。
第二密钥中的一段分段密钥泄露的情形:由于第二密钥是至少两段分段密钥组成的,仅其中一段分段密钥泄露,恶意人员无法对第二客户信息解密。而每一段分段密钥均泄露的可能性非常小,收集到所有的分段密钥并合并成完整的第二密钥的可能性则更加小。
显然,由于客户信息从网页录入到存储至数据库,整个传输过程均被该数据加密系统自动加密,所以,客户信息的安全性非常高。
请参考图4,其示出了本发明一个实施例提供的数据加密系统的结构方框图。该系统包括:前端服务系统420、CRM440、ESSC460和数据库480。
所述前端服务系统420,用于向客户管理系统CRM提供第一客户信息,所述第一客户信息是采用第一密钥加密的客户信息。
所述CRM440,用于向密码服务平台ESSC提供所述第一客户信息。
所述ESSC460,用于将所述第一客户信息进行解密后,重新加密得到第二客户信息,所述第二客户信息是采用第二密钥加密的客户信息。
所述ESSC460,用于向所述CRM440提供所述第二客户信息。
所述CRM440,用于将所述第二客户信息存储至数据库480中。
其中,所述第一密钥是所述ESSC460的后端加密机提供的公有密钥,所述第二密钥是企业自定义密钥。
在一个可能的实施例中,所述前端服务系统420,用于通过浏览器控件或脚本将所述客户信息采用第一密钥进行加密,得到所述第一客户信息。
在一个可能的实施例中,所述ESSC460,用于调用加密机将所述第一客户信息采用私有密钥进行解密,所述私有密钥是与所述第一密钥对应的密钥;
所述ESSC460,用于调用所述加密机对解密后的所述客户信息采用所述第二密钥重新加密,得到所述第二客户信息。
在一个可能的实施例中,所述ESSC460,用于调用所述加密机对解密后的所述客户信息中的敏感字段采用所述第二密钥重新加密,得到所述第二客户信息;
其中,所述敏感字段是所述客户信息中的一部分字段。
在一个可能的实施例中,所述第二密钥包括至少两段分段密钥,每段分段密钥对应各自的管理逻辑以实现管理上的职责分离。。
综上所述,本实施例提供的数据加密系统,通过将客户信息在传输过程中采用第一密钥加密,在CRM的内部局域网中采用第二密钥加密;解决了目前的数据加密方法存在缺陷,即不能完全保证数据信息在传输过程中的安全性;达到了不论是在广域网还是内部局域网,客户信息均为加密状态,保证了客户信息的数据安全性。即便所述第一密钥被泄露,掌握密钥的恶意人员也仅能获知一小部分客户信息,而无法获知全部客户信息的效果。所述第二密钥由于通过分段密钥由两个以上的人员分别保管,一次性获取到完整的第二密钥的可能性极低。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。