安全处理第三方机密信息的系统和方法 【技术领域】
本发明属于信息安全领域,属于信息的安全输入,加密和传递处理。
背景技术
目前,当两个系统之间交互地处理信息的时候,都是假定两个系统之间是互相信任的。
比如有两个系统:甲方和乙方;如果涉及到乙方的信息,而这些信息是通过甲方的系统处理之后得到的。这样,甲方系统常常是同时知道了乙方的信息。通常的情况,这样没有什么问题;但是当涉及到的是乙方的机密信息的时候,就会带来很多的责任问题。这时候,通常假定甲方是没有恶意的,或者是可信的,能够保护乙方地信息的安全。但是在出现乙方机密信息泄露问题的时候,甲方显然无法回避可能的责任:比如甲方内部人员在甲方自身的系统上作案或者误操作而导致的责任等。因为甲方是能够得到乙方的真实的信息。
这种情况在实际的使用中大量存在,尤其是在金融交易系统中更多。银行卡持卡人的密码PIN是机密信息,比如银行之间的互连互通,以及银行系统与银联系统的连接;按照现在的处理,银行卡的受理银行和银联的系统,都会得到发卡行的机密信息:持卡人的密码。这样,如果有密码泄露问题,实际上受理银行和银联是不能从技术处理上来摆脱自己责任的。
本发明正是为解决上述的合作双方的责任问题和安全问题而提出的。
【发明内容】
本发明公开了一种安全处理第三方机密信息的系统和方法。
其中涉及的当事方和第三方是这样定义的。参见图1。
举例用银行卡的消费交易的处理加以说明。
发卡银行的用户将其持有的银行卡在受理银行的系统上使用,需要输入持卡人密码。密码是银行交易中最重要的机密信息;而密码信息存放在发卡银行系统的数据库中。
在使用过程中,需要把密码在受理银行的系统输入,并结合卡号,一起通过受理银行的系统处理和传递到发卡银行。在此过程中,如何确保持卡人密码的安全性就是一个极其重要的问题,涉及的环节包括输入环节和传递处理。
这其中:
当事方系统就是银行卡交易中受理银行的系统,是用户直接使用的系统;
第三方系统就是银行卡交易中发卡银行的系统,是持卡人密码等机密信息所属的系统,
用户就是交易中的银行卡持有人,是第三方的直接所属的用户。
本发明所述的一种安全处理第三方机密信息的系统,其特征在于,所述系统包括:
●使用于当事方系统的处理控制模块:用于控制第三方机密信息的输入;产生随机数,时间信息,序列号信息;计算校验码并使用模块内嵌的公钥进行加密;输出到当事方的系统。
●使用于第三方系统的匹配处理模块:用于第三方的系统中,进行对应处理控制模块的处理。
●使用于第三方系统的处理控制模块的管理模块:用于第三方的系统中;产生、配置、激活和更新处理控制模块。
所述的在当事方系统中,可以同时使用多家第三方的处理控制模块。
所述的在第三方系统中的处理控制模块的管理模块,同时维持多个激活的处理控制模块,并且随着时间定期和/或不定期地更新处理控制模块。
本发明所述的一种安全处理第三方机密信息的方法,其特征在于,实现步骤包括以下的3个方面:
●在当事方的系统中嵌入和使用第三方的处理控制模块。
●在第三方系统中,进行匹配处理控制模块的处理。
●在第三方系统中,对处理控制模块进行管理。
所述的在当事方系统嵌入和使用的第三方处理控制模块,它的进一步的处理的步骤,包括:
●控制机密信息的输入。
●控制产生时间信息;
●控制产生序列号信息;
●控制产生随机数信息;
●将上述的的信息组合起来,计算校验码;
●对所述的信息组合及其校验码,使用处理控制模块内嵌的公钥进行加密;
●对所述的加密信息,在前面加上处理控制模块的代码;
●将所述加入了模块代码以后的信息输出到当事方系统中。
所述的在第三方系统中,进行匹配处理控制模块的处理,其进一步的步骤包括:
●接收通过当事方系统传递的加密以后的机密信息等;
●与存储在数据库中,在一定的时间之内的数据记录进行比较,判断是否是重复的交易;
●根据处理控制模块的代码,使用在第三方系统中存储的对应私钥进行解密;
●根据解密信息和其中的校验码,判断信息组合的合法性;
●根据解密信息中的时间信息,判断信息的有效性;
●确认得到的机密信息;
●加入时间标志,并记录解密以前的信息在数据库中。
所述的第三方系统对处理控制模块进行管理,其进一步的步骤包括:
●生产和完成所述功能的处理控制模块;
●产生公钥、私钥对;并且将公钥配置到处理控制模块中,私钥存储在第三方的系统中;
●配置所述的处理控制模块的代码,并同时与对应的私钥一起存储在第三方的系统中;
●同时有效和激活多个处理控制模块;超过一定的时限,或者随着时间作废/更新处理控制模块;
实现了第三方处理控制模块的功能,即能在当事方系统中实现对第三方机密信息的安全输入、加密和传递。
在第三方的系统中匹配处理控制模块进行对应的处理,并且结合时间、存储在第三方系统中的记录状态,判断输入信息的非重复性、合法性和有效性,确认输入的机密信息。其中时间的有效性的时间判断尺度,与保持在数据库中在一定的时间内的未解密信息的时间尺度是一致的。
在第三方系统中,对第三方处理模块进行管理;包括:产生、配置、作废、更新等等。
完成上面的处理,即能实现本发明的原理和方法:完成对第三方机密信息的安全处理。
在当事方的系统中,能够同时嵌入一家或者多家第三方的处理控制模块。
第三方的处理控制模块通常以软件组件的方式提供,这样,在当事方的软件系统处理中嵌入该组件模块即可;处理控制模块也可以是具备所述的处理控制模块功能的一个硬件装置。
【附图说明】
图1本发明的系统模块结构示图;
图2第三方处理控制模块的结构示图;
图3第三方系统内部处理流程示图;
图4第三方系统的管理模块处理流程示图。
【具体实施方式】
参考图1。在当事方的系统中嵌入和使用第三方的处理控制模块,在输入第三方机密信息的时候由它控制用户的输入,并且产生其它信息,进行组合、加密、加入代码等处理;而后输出到当事方的系统中,通过当事方的系统传递到第三方系统进行匹配的处理。
在实施例中,当事方系统以计算机系统为用户交互处理的界面。第三方的处理控制模块以软件组件的形式提供。
本发明的实施涉及到下面的4个方面实施:
●当事方系统的处理;
●第三方的处理控制模块的实现;
●第三方系统中匹配处理控制模块的处理;
●第三方系统对处理控制模块的管理。分别从这4个方面去说明:
●当事方系统的处理
当事方系统的处理比较简单,即调用第三方系统提供的处理控制模块。
当需要输入第三方机密信息的时候,调用该模块;由该模块控制信息的输入,控制时间信息、序列号信息、随机数信息的产生;并组合它们,产生和加入校验码,进行加密;然后输出到当事方的系统中。当事方系统将得到的信息传递给第三方系统。
●第三方的处理控制模块的实现
参见图2。
a)使用软键盘的方式控制输入
当输入第三方机密信息时,调用第三方的处理控制模块控制弹出软键盘提示,通过软键盘输入。
软键盘指的是由软件控制显示在计算机屏幕上键盘形状的图形,用光标选择其中数字和字符进行输入。它在使用时弹出来,使用结束以后消失。
在提示输入的界面上,有第三方系统明显的标志以表明法律的责任,如商标、标识等。
通过软键盘是为了避开对键盘口输入的监听而截获机密信息;同时也避开了当事方系统对输入的控制。因为软键盘是由第三方模块控制提供的。
软键盘的输入界面可以选择随机地变化。
b)处理控制模块自身产生其它信息,并组合和计算校验码
由第三方处理控制模块产生时间信息;
由第三方处理控制模块产生序列号信息;
由第三方处理控制模块产生随机数信息;
将机密信息、时间信息、序列号信息、随机数信息进行组合,并计算校验码。
c)处理控制模块使用公钥进行加密和输出
处理控制模块使用内嵌的公钥对前述的组合信息及其校验码进行加密;
在所述的加密信息中,加入处理控制模块自身的代码;
将所述的加入代码的信息输出到当事方的系统中。
●第三方系统中匹配处理控制模块的处理
参见图3。第三方系统处理的步骤如下:
1)第三方系统接收通过当事方系统传递过来的经过自己处理控制模块加密以后的机密信息;
2)根据第三方系统数据库中的记录,判断信息的非重复性;
3)根据处理控制模块的代码,使用相应的私钥进行解密,得到加密前的信息组合,包括:机密信息,时间信息,序列号信息,随机数信息,校验码等等。
4)根据校验码,判断信息组合是否合法;
5)根据时间信息,判断信息的实时性、有效性;
6)确认输入的机密信息,并传递进行进一步的处理;
7)加上时间标志,记录解密前的信息到数据库中。该数据库保留一定时间内的数据记录,以便防止重复性的信息输入。
●第三方系统对处理控制模块的管理
第三方系统对处理控制模块的管理涉及如下的处理:
1)产生处理控制模块;
2)产生公、私密钥对;
3)配置处理控制模块。将公钥装配到处理控制模块中,将相应的私钥存储在第三方系统中;
4)分配代码并装配在处理控制模块中和存储在第三方系统中;
5)同一时间,多个处理控制模块激活有效;
6)随着时间作废/更新处理控制模块。
嵌入第三方处理控制模块的当事方系统,需要经过第三方的测评和认证,确保正确地实现了设定的处理功能并且没有其它安全漏洞。
综上,在当事方的系统中嵌入第三方的处理控制模块,由它控制第三方机密信息的输入、组合、加密,然后再通过当事方的系统传递到第三方的系统中,进行解密和相应的其它处理,即能实现第三方机密信息的安全地输入、加密和传递处理。相应地,在第三方的系统中,要对自己的处理控制模块进行管理。