发明内容
本发明提供了即时通讯软件的信息保密方法、装置、系统以及存储介质,旨在解决背景技术中提及的技术问题。
本发明首先提供了一种即时通讯软件的信息保密方法,应用于服务器,所述服务器与终端设备通信连接,所述方法包括:
S10a:获取到第二对象预发送给第一对象的第一信息,检测第一对象当前的登录状态,当检测到所述第一对象同时登录于至少两个终端设备上的客户端时,执行步骤S20a;其中所述第一对象是第一用户向服务器请求创建得到的第一虚拟用户,所述第二对象是第二用户向服务器请求创建得到的第二虚拟用户;
S20a:生成并存储与所述第一信息对应的第一公钥和第一私钥,其中所述第一公钥和所述第一私钥组成一个密钥对,一所述第一信息与一所述密钥对互相对应;
S30a:根据所述第一公钥对所述第一信息加密以获取第二信息,其中所述第二信息可通过第一私钥解密后获得所述第一信息;
S40a:对比最后一次操作所有所述第一对象登录的所述终端设备对应的客户端的时间的先后顺序,发送所述第一信息以及第一公钥至距离当前时间最近的该最后一次操作对应的终端设备,发送所述第二信息至其他所有所述终端设备;
S50a:获取到所述终端设备发送的针对于所述第二信息的解密请求以及解锁密码,检测所述解锁密码是否与第一预设密码一致,当检测到所述解锁密码与所述第一预设密码一致时,执行步骤S60a;其中所述解锁密码是用户输入到该终端设备的字符序列,所述第一预设密码是第一用户预先设定并存储于所述服务器中的密码序列;
S60a:检测当前是否获取到与该第二信息对应的第一信息的已阅状态反馈信息,若检测到所述第一信息的已阅状态反馈信息,执行步骤S70a,若未检测到所述第一信息的已阅状态反馈信息,执行步骤S70a和S80a;其中所述第一信息的已阅状态反馈信息是当该第一信息被阅读后与其对应的终端设备向服务器发送的反馈信息;
S70a:发送与该第二信息对应的所述第一私钥到发送解密请求的终端设备,其中所述第一私钥用于解密与其对应的第二信息以得到所述第一信息;
S80a:发送加密指令至已接收到该第一信息的终端设备,其中所述加密指令用于指使该终端设备通过所述第一公钥对第一信息加密以得到第二信息。
进一步的,所述方法还包括缓存清空步骤:当检测到所有已接收过所述第一信息的终端设备的该第一信息的已阅状态反馈信息时,判定该第一信息属于公开信息,删除缓存中与该第一信息对应的第一公钥和第一私钥。
本发明还提供了一种即时通讯软件的信息保密方法,应用于终端设备,所述终端设备与服务器通信连接,第一用户和第二用户通过登录第一对象和第二对象于不同的所述终端设备上,且通过所述服务器实现信息的发送和接收,所述方法包括:
S10b:获取所述服务器发送的信息,所述信息包括第一信息和第一公钥、第二信息两者中的任一项,其中所述第一信息是第二对象预发送给所述第一对象的原始信息,所述第二信息是通过所述第一公钥对所述第一信息加密后获取,所述第二信息通过第一私钥解密后获得所述第一信息,所述第一公钥和所述第一私钥组成一个密钥对,且所述第一公钥和所述第一私钥是所述服务器根据每一所述第二信息生成的独立对应的密钥对,一所述第二信息对应一所述密钥对,所述第一对象是第一用户向服务器请求创建得到的第一虚拟用户,所述第二对象是第二用户向服务器请求创建得到的第二虚拟用户;
S20b:当获取到所述服务器发送的所述第一信息和所述第一公钥、所述第二信息两者中的任一项后,将所述第一信息或所述第二信息存储于基于所述第一对象与所述第二对象的对话模块,其中所述对话模块是基于不同对象之间而创立的独立对话区域,所述对话模块的状态包括活跃状态和不活跃状态;
S30b:当检测到所述对话模块处于活跃状态时,判定该所述对话模块中的所述第一信息为已阅读状态,发送与该第一信息对应的已阅状态反馈信息至所述服务器;
S40b:当检测到作用于任一所述第二信息的解密请求时,显示密码输入界面以供用户输入字符序列;
S50b:当检测到密码输入完毕,发送针对于该第二信息的解密请求以及解锁密码到服务器,以供所述服务器检测所述解锁密码是否与第一预设密码一致,其中所述解锁密码是用户输入到该终端设备的字符序列,所述第一预设密码是第一用户预先设定并存储于所述服务器中的密码序列;
S60b:当获取到所述服务器发送的与该第二信息对应的第一私钥时,解密与其对应的第二信息以得到所述第一信息;
S70b:当获取到所述服务器发送的加密指令时,通过所述第一公钥对第一信息加密以得到第二信息。
进一步的,当所述对话模块处于主显示界面,判定该对话模块处于活跃状态。
本发明还提供了一种即时通讯软件的第一信息保密装置,应用于服务器,所述服务器与终端设备通信连接,所述装置包括:
检测模块,用于获取到第二对象预发送给第一对象的第一信息,检测第一对象当前的登录状态,当检测到所述第一对象同时登录于至少两个终端设备上的客户端时,执行密钥生成模块;其中所述第一对象是第一用户向服务器请求创建得到的第一虚拟用户,所述第二对象是第二用户向服务器请求创建得到的第二虚拟用户;
密钥生成模块,用于生成并存储与所述第一信息对应的第一公钥和第一私钥,其中所述第一公钥和所述第一私钥组成一个密钥对,一所述第一信息与一所述密钥对互相对应;
第一加密模块,用于根据所述第一公钥对所述第一信息加密以获取第二信息,其中所述第二信息可通过第一私钥解密后获得所述第一信息;
信息发送模块,用于对比最后一次操作所有所述第一对象登录的所述终端设备对应的客户端的时间的先后顺序,发送所述第一信息以及第一公钥至距离当前时间最近的该最后一次操作对应的终端设备,发送所述第二信息至其他所有所述终端设备;
第一执行模块,用于获取到所述终端设备发送的针对于所述第二信息的解密请求以及解锁密码,检测所述解锁密码是否与第一预设密码一致,当检测到所述解锁密码与所述第一预设密码一致时,执行第二执行模块;其中所述解锁密码是用户输入到该终端设备的字符序列,所述第一预设密码是第一用户预先设定并存储于所述服务器中的密码序列;
第二执行模块,用于触发检测是否获取到与该第二信息对应的第一信息的已阅状态反馈信息,若检测到所述第一信息的已阅状态反馈信息,执行解密指令发送模块,若未检测到所述第一信息的已阅状态反馈信息,执行步骤解密指令发送模块和加密指令发送模块;其中所述第一信息的已阅状态反馈信息是当该第一信息被阅读后与其对应的终端设备向服务器发送的反馈信息;
解密指令发送模块,用于发送与该第二信息对应的所述第一私钥到发送解密请求的终端设备,其中所述第一私钥用于解密与其对应的第二信息以得到所述第一信息;
加密指令发送模块,用于发送加密指令至已接收到该第一信息的终端设备,其中所述加密指令用于指使该终端设备通过所述第一公钥对第一信息加密以得到第二信息。
进一步的,还包括:
缓存清空模块,用于当检测到所有已接收过所述第一信息的终端设备的该第一信息的已阅状态反馈信息时,判定该第一信息属于公开信息并删除缓存中与该第一信息对应的第一公钥和第一私钥。
本发明还提供了一种即时通讯软件的第二信息保密装置,应用于终端设备,所述终端设备与服务器通信连接,第一用户和第二用户通过登录第一对象和第二对象于不同的所述终端设备上,且通过所述服务器实现信息的发送和接收,所述装置包括:
信息获取模块,用于获取所述服务器发送的信息,所述信息包括第一信息和第一公钥、第二信息两者中的任一项,其中所述第一信息是第二对象预发送给所述第一对象的原始信息,所述第二信息是通过所述第一公钥对所述第一信息加密后获取,所述第二信息通过第一私钥解密后获得所述第一信息,所述第一公钥和所述第一私钥组成一个密钥对,且所述第一公钥和所述第一私钥是所述服务器根据每一所述第二信息生成的独立对应的密钥对,一所述第二信息对应一所述密钥对,述第一对象是第一用户向服务器请求创建得到的第一虚拟用户,所述第二对象是第二用户向服务器请求创建得到的第二虚拟用户;
信息归类模块,用于当获取到所述服务器发送的所述第一信息和所述第一公钥、所述第二信息两者中的任一项后,将所述第一信息或所述第二信息存储于基于所述第一对象与所述第二对象的对话模块,其中所述对话模块是基于不同对象之间而创立的独立对话区域,所述对话模块的状态包括活跃状态和不活跃状态;
信息状态反馈模块,用于当检测到所述对话模块处于活跃状态时,判定该所述对话模块中的所述第一信息为已阅读,发送与该第一信息对应的已阅状态反馈信息至所述服务器;
显示模块,用于当检测到作用于任一所述第二信息的解密请求时,显示密码输入界面以供用户输入字符序列;
解密请求发送模块,用于当检测到密码输入完毕,发送针对于该第二信息的解密请求以及解锁密码到服务器,以供所述服务器检测所述解锁密码是否与第一预设密码一致,其中所述解锁密码是用户输入到该终端设备的字符序列,所述第一预设密码是第一用户预先设定并存储于所述服务器中的密码序列;
解密模块,用于当获取到所述服务器发送的与该第二信息对应的第一私钥时,解密与其对应的第二信息以得到所述第一信息;
加密模块,用于当获取到所述服务器发送的加密指令时,通过所述第一公钥对第一信息加密以得到第二信息。
进一步的,还包括:
活跃状态判定模块,用于当所述对话模块处于主显示界面,判定该对话模块处于活跃状态。
本发明还提供了一种即时通讯软件的信息保密系统,包括终端设备和服务器,所述服务器与所述终端设备通信连接,所述终端设备上登录着对象,所述对象是用户向服务器请求创建得到的虚拟用户,所述服务器包括上述的即时通讯软件的第一信息保密装置,所述终端设备包括上述的即时通讯软件的第二信息保密装置。
本发明还提供了一种存储介质,其上存储有计算机程序,所述程序被处理执行时实现上述的应用于服务器的即时通讯软件的信息保密方法或上述的应用于终端设备的即时通讯软件的信息保密方法。
本公开实施例提供的技术方案可以包括以下有益效果:
(1)当同一对象同时登录于不同的终端设备上时其他对象预发送信息给该对象时,本发明通过最后一次操作终端设备上客户端的时间来判断使用者当前使用的终端设备,以区分出当前使用终端及其他终端,从而便于确定信息保密等级。
(2)通过对任一第一信息生成第一公钥和第一私钥,利用公钥加密,利用私钥解密,将加密后的第二信息发送至安全等级相对较低的终端设备中,将未加密的第一信息发送至安全等级较高的终端设备中(最近一次使用的终端设备),以减少信息泄密的可能,提高信息传输的安全性。
(3)将第一信息与第一公钥同时发送,以保证获取到第一信息的终端设备具备加密功能,当存在一终端设备上的第一信息未被阅读而其他终端设备上对应的第二信息已经被解密时,对可能存在信息泄密风险的该终端设备上未被阅读的第一信息进行加密,以减少信息泄密的可能,提高信息传输的安全性。
应当理解的是,以上的一般描述和后面的细节描述仅仅是示例性和解释性的,并不能限制本公开。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
本领域技术人员应当理解,本发明所称的“应用”、“应用程序”、“应用软件”以及类似表述的概念,是业内技术人员所公知的相同概念,是指由一系列计算机指令及相关数据资源有机构造的适于电子运行的计算机软件。除非特别指定,这种命名本身不受编程语言种类、级别,也不受其赖以运行的操作系统或平台所限制。理所当然地,此类概念也不受任何形式的终端所限制。
本领域技术人员应当理解,本发明所称的用户界面、显示界面泛指能够用于向智能终端发送所述控制指令的显示界面,例如,可以是Android/IOS/Windows Phone系统的设置页面中的一个选项(或按键,由所述应用程序添加其中,下同),也可以是从桌面呼出的通知栏或者交互页面中的一个选项,还可以是所述应用程序的一个活动组件所构造的页面中的一个选项。
请参阅图1,本发明首先提供了一种即时通讯软件的信息保密方法,应用于服务器,所述服务器与终端设备通信连接,所述方法包括:
S10a:获取到第二对象预发送给第一对象的第一信息,检测第一对象当前的登录状态,当检测到所述第一对象同时登录于至少两个终端设备上的客户端时,执行步骤S20a;其中所述第一对象是第一用户向服务器请求创建得到的第一虚拟用户,所述第二对象是第二用户向服务器请求创建得到的第二虚拟用户。
不同用户通过服务器创建虚拟用户以得到不同的对象,当不同用户基于终端设备通过不同对象进行沟通交流时,交流的信息会先经过服务器,通过服务器来判断第二对象预发送(已经发送且服务器获取但未被对方获取)信息的对象是否同时登录于至少两个终端设备上的客户端(即时通讯软件在终端设备上的体现形式),即判断第二对象发送的信息是否存在被第三人获取的可能性。若检测到所述第一对象仅登录于一个终端设备上的客户端时,发送第一信息至该终端设备上;若检测到所述第一对象并未登录时,则等到所述第一对象登录于某一终端设备后,将所述第一信息发送至该终端设备。
S20a:生成并存储与所述第一信息对应的第一公钥和第一私钥,其中所述第一公钥和所述第一私钥组成一个密钥对,一所述第一信息与一所述密钥对互相对应。
S30a:根据所述第一公钥对所述第一信息加密以获取第二信息,其中所述第二信息可通过第一私钥解密后获得所述第一信息。
当检测到第一对象同时登录于至少两个终端设备的客户端时,认定第二对象发送的信息存在被第三人获取的可能,此时需要对该第一信息生成一个独有的密钥对,并通过第一公钥对第一信息进行加密以获取加密后的第二信息,即存在安全等级不同的第一信息和第二信息,且第二信息可以通过独立对应的第一私钥进行解密以获取第一信息。
S40a:对比最后一次操作所有所述第一对象登录的所述终端设备对应的客户端的时间的先后顺序,发送所述第一信息以及第一公钥至距离当前时间最近的该最后一次操作对应的终端设备,发送所述第二信息至其他所有所述终端设备。
当第一对象同时登录于不同的终端设备上时其他对象预发送信息给该对象时,根据最后一次操作终端设备上客户端的时间来判断使用者当前使用的终端设备,以区分出当前使用终端及其他终端,将距离当前时间最近的该最后一次操作对应的终端设备认定为安全等级较高的终端设备,将其他终端设备认定为安全等级较低的终端设备,将安全等级较低的第一信息以及第一公钥发送给安全等级较高的终端设备,将安全等级较高的第二信息发送给安全等级较低终端设备,通过区分同一对象同时登录的终端设备的安全等级来采取不同的信息保密措施。
例如,存在使用者甲,甲的账户同时登录于电脑和手机上时,但是甲的电脑处于开放状态或者被他人使用中,而此时甲通过手机使用即时通讯软件与其他账户沟通交流,此时甲与他人的沟通信息仅仅在手机端上显示,而电脑端上只显示加密后的信息条文,而该信息条文是通过预设私钥进行解密后才能转化成具备实际内容的信息。
S50a:获取到所述终端设备发送的针对于所述第二信息的解密请求以及解锁密码,检测所述解锁密码是否与第一预设密码一致,当检测到所述解锁密码与所述第一预设密码一致时,执行步骤S60a;其中所述解锁密码是用户输入到该终端设备的字符序列,所述第一预设密码是第一用户预先设定并存储于所述服务器中的密码序列。
由于存在安全等级较高的第二信息,且第二信息需要进行解密后才能获取得到实质性内容的第一信息,因此当用户需要在安全等级较低的终端设备上获取得到信息内容时需要请求对第二信息解密,而请求方式是通过输入用户预先设定的第一预设密码,只有当用户输入的解锁密码与存储于服务器中的第一预设密码一致时,才会触发后续的解密步骤。若检测所述解锁密码与第一预设密码不一致后,发送失败指令给所述终端设备。
S60a:检测当前是否获取到与该第二信息对应的第一信息的已阅状态反馈信息,若检测到所述第一信息的已阅状态反馈信息,执行步骤S70a,若未检测到所述第一信息的已阅状态反馈信息,执行步骤S70a和S80a;其中所述第一信息的已阅状态反馈信息是当该第一信息被阅读后与其对应的终端设备向服务器发送的反馈信息。
当第二信息被请求解密时,即意味着用户可能正在使用的并非是之前判定的安全等级较高的终端设备,而是之前判定的安全等级较低的设备,此时需要对与该第二信息对应的第一信息的阅读状态进行检测,从而判断是否需要产生纠正保密行为,即重新认定终端设备的安全等级。
S70a:发送与该第二信息对应的所述第一私钥到发送解密请求的终端设备,其中所述第一私钥用于解密与其对应的第二信息以得到所述第一信息。
当检测到所述解锁密码与所述第一预设密码一致后,发送第一私钥给做出请求的终端设备,以供该终端设备可以利用第一私钥对第二信息解密进而获得第一信息。
S80a:发送加密指令至已接收到该第一信息的终端设备,其中所述加密指令用于指使该终端设备通过所述第一公钥对第一信息加密以得到第二信息。
当检测到所述解锁密码与所述第一预设密码一致,且未检测到所述第一信息的已阅状态反馈信息时,意味着前面步骤中做出的安全等级判定有误,需要对之前认定的安全等级较高的终端设备降低评级(即判定为安全等级较低的终端设备),相应的在该终端设备上的安全等级较低的第一信息也需要进行加密以转换成安全等级较高的第二信息,避免发生信息泄露。
进一步的,所述方法还包括缓存清空步骤:当检测到所有已接收过所述第一信息的终端设备的该第一信息的已阅状态反馈信息时,判定该第一信息属于公开信息,删除缓存中与该第一信息对应的第一公钥和第一私钥。
本实施例中,基于第一对象同时登录于至少两个终端设备的客户端的前提,每次发送给第一对象的第一信息均会导致服务器产生相应的第一公钥和第一私钥,因此通过对所有已接收过所述第一信息的终端设备的该第一信息的已阅状态进行监测,以使得在同一信息已经在所有终端设备上被读取后,相应的第一公钥和第一私钥在服务器中被删除以减少缓存。其中已接收过所述第一信息的终端设备包括初始被发送第一信息的终端设备、初始被发送第二信息且获取到对应的第一私钥的终端设备。
本发明公开实施例提供的技术方案包括以下有益效果:
(1)当同一对象同时登录于不同的终端设备上时其他对象预发送信息给该对象时,本发明通过最后一次操作终端设备上客户端的时间来判断使用者当前使用的终端设备,以区分出当前使用终端及其他终端,从而便于确定信息保密等级。
(2)通过对任一第一信息生成第一公钥和第一私钥,利用公钥加密,利用私钥解密,将加密后的第二信息发送至安全等级相对较低的终端设备中,将未加密的第一信息发送至安全等级较高的终端设备中(最近一次使用的终端设备),以减少信息泄密的可能,提高信息传输的安全性。
(3)将第一信息与第一公钥同时发送,以保证获取到第一信息的终端设备具备加密功能,当存在一终端设备上的第一信息未被阅读而其他终端设备上对应的第二信息已经被解密时,对可能存在信息泄密风险的该终端设备上未被阅读的第一信息进行加密,以减少信息泄密的可能,提高信息传输的安全性。
本发明的一种实施例中,本发明还提供了一种即时通讯软件的信息保密方法,应用于终端设备,所述终端设备与服务器通信连接,第一用户和第二用户通过登录第一对象和第二对象于不同的所述终端设备上,且通过所述服务器实现信息的发送和接收,所述方法包括:
S10b:获取所述服务器发送的信息,所述信息包括第一信息和第一公钥、第二信息两者中的任一项,其中所述第一信息是第二对象预发送给所述第一对象的原始信息,所述第二信息是通过所述第一公钥对所述第一信息加密后获取,所述第二信息通过第一私钥解密后获得所述第一信息,所述第一公钥和所述第一私钥组成一个密钥对,且所述第一公钥和所述第一私钥是所述服务器根据每一所述第二信息生成的独立对应的密钥对,一所述第二信息对应一所述密钥对,所述第一对象是第一用户向服务器请求创建得到的第一虚拟用户,所述第二对象是第二用户向服务器请求创建得到的第二虚拟用户。
S20b:当获取到所述服务器发送的所述第一信息和所述第一公钥、所述第二信息两者中的任一项后,将所述第一信息或所述第二信息存储于基于所述第一对象与所述第二对象的对话模块,其中所述对话模块是基于不同对象之间而创立的独立对话区域,所述对话模块的状态包括活跃状态和不活跃状态。
本实施例中,终端设备实时获取来自服务器的信息,并将获取得到的信息存储于基于所述第一对象与所述第二对象的对话模块。
S30b:当检测到所述对话模块处于活跃状态时,判定该所述对话模块中的所述第一信息为已阅读状态,发送与该第一信息对应的已阅状态反馈信息至所述服务器。
本实施例中,由于终端设备实时获取来自服务器的信息,在可能存在部分信息对应的对话模块未处于活跃状态,即该信息并未被阅读的情况,因此需要检测对话模块的活跃状态,以判定该对话模块中的第一信息是否已阅读,进而发送已阅状态反馈信息到服务器。
S40b:当检测到作用于任一所述第二信息的解密请求时,显示密码输入界面以供用户输入字符序列。
本实施例中,用户需要解密第二信息时,通过向终端设备触摸、点击、按钮或者其他触发指令以产生解密请求,终端设备在检测到解密请求后会显示密码输入界面以供用户输入字符序列。
S50b:当检测到密码输入完毕,发送针对于该第二信息的解密请求以及解锁密码到服务器,以供所述服务器检测所述解锁密码是否与第一预设密码一致,其中所述解锁密码是用户输入到该终端设备的字符序列,所述第一预设密码是第一用户预先设定并存储于所述服务器中的密码序列。
用户输入密码完毕后,通过触发指令以提示终端设备,进而终端设备将解密请求以及输入的解锁密码发送至服务器,以利用服务器来实现对解锁密码正确性的验证。
S60b:当获取到所述服务器发送的与该第二信息对应的第一私钥,解密与其对应的第二信息以得到所述第一信息。
当终端设备发送针对于该第二信息的解密请求以及解锁密码到服务器后,获取得到所述服务器发送的与该第二信息对应的第一私钥时,终端设备通过所述第一私钥解密与其对应的第二信息以获取得到第一信息,且发送第一信息已阅读反馈状态信息给服务器。
S70b:当获取到所述服务器发送的加密指令时,通过所述第一公钥对第一信息加密以得到第二信息。
本实施例中,当终端设备在一开始获取得到安全等级较低的第一信息,但是此时服务器已经检测到其他终端设备上已经有用户提出对第二信息的解密且密码正确,而当前终端设备存储的第一信息仍并未被阅读,则当前终端设备并非一开始认定的安全等级较高的终端设备,应该对存在泄密风险的当前终端设备中的未被阅读的第一信息进行加密,以提高信息安全性。
进一步的,本实施例中,所述方法还包括对话模块活跃判定步骤:
当所述对话模块处于主显示界面,判定该对话模块处于活跃状态。
即时通讯软件,例如QQ、微信、钉钉、企业微信等,在使用过程中会存在主界面和侧界面,主界面显示的是当前对话的窗口或者当前选择的模块单元,侧界面显示的是可选择的对话模块(对应与不同对象的对话窗口),一般只有处于主界面的对话模块上的信息才会被使用者获知,而未处于主界面的对话模块上的信息无法被使用者获取,因此认定处于主显示界面的对话模块为活跃状态。
在一种实施例中,本发明还提供了一种即时通讯软件的第一信息保密装置100a,应用于服务器,所述服务器与终端设备通信连接,所述装置100a内存储有多条指令,所述指令适于由处理器加载并执行即时通讯软件的信息保密方法,包括:
S10a:获取到第二对象预发送给第一对象的第一信息,检测第一对象当前的登录状态,当检测到所述第一对象同时登录于至少两个终端设备上的客户端时,执行步骤S20a;其中所述第一对象是第一用户向服务器请求创建得到的第一虚拟用户,所述第二对象是第二用户向服务器请求创建得到的第二虚拟用户。
S20a:生成并存储与所述第一信息对应的第一公钥和第一私钥,其中所述第一公钥和所述第一私钥组成一个密钥对,一所述第一信息与一所述密钥对互相对应。
S30a:根据所述第一公钥对所述第一信息加密以获取第二信息,其中所述第二信息可通过第一私钥解密后获得所述第一信息。
S40a:对比最后一次操作所有所述第一对象登录的所述终端设备对应的客户端的时间的先后顺序,发送所述第一信息以及第一公钥至距离当前时间最近的该最后一次操作对应的终端设备,发送所述第二信息至其他所有所述终端设备。
S50a:获取到所述终端设备发送的针对于所述第二信息的解密请求以及解锁密码,检测所述解锁密码是否与第一预设密码一致,当检测到所述解锁密码与所述第一预设密码一致时,执行步骤S60a;其中所述解锁密码是用户输入到该终端设备的字符序列,所述第一预设密码是第一用户预先设定并存储于所述服务器中的密码序列。
S60a:检测当前是否获取到与该第二信息对应的第一信息的已阅状态反馈信息,若检测到所述第一信息的已阅状态反馈信息,执行步骤S70a,若未检测到所述第一信息的已阅状态反馈信息,执行步骤S70a和S80a;其中所述第一信息的已阅状态反馈信息是当该第一信息被阅读后与其对应的终端设备向服务器发送的反馈信息。
S70a:发送与该第二信息对应的所述第一私钥到发送解密请求的终端设备,其中所述第一私钥用于解密与其对应的第二信息以得到所述第一信息。
S80a:发送加密指令至已接收到该第一信息的终端设备,其中所述加密指令用于指使该终端设备通过所述第一公钥对第一信息加密以得到第二信息。
为了便于描述,将所述装置100a拆分为功能模块架构,如图2所示,所述装置包括:
检测模块10a,用于获取到第二对象预发送给第一对象的第一信息,检测第一对象当前的登录状态,当检测到所述第一对象同时登录于至少两个终端设备上的客户端时,执行密钥生成模块20a;其中所述第一对象是第一用户向服务器请求创建得到的第一虚拟用户,所述第二对象是第二用户向服务器请求创建得到的第二虚拟用户。
密钥生成模块20a,用于生成并存储与所述第一信息对应的第一公钥和第一私钥,其中所述第一公钥和所述第一私钥组成一个密钥对,一所述第一信息与一所述密钥对互相对应。
第一加密模块30a,用于根据所述第一公钥对所述第一信息加密以获取第二信息,其中所述第二信息可通过第一私钥解密后获得所述第一信息。
信息发送模块40a,用于对比最后一次操作所有所述第一对象登录的所述终端设备对应的客户端的时间的先后顺序,发送所述第一信息以及第一公钥至距离当前时间最近的该最后一次操作对应的终端设备,发送所述第二信息至其他所有所述终端设备。
第一执行模块50a,用于获取到所述终端设备发送的针对于所述第二信息的解密请求以及解锁密码,检测所述解锁密码是否与第一预设密码一致,当检测到所述解锁密码与所述第一预设密码一致时,执行第二执行模块60a;其中所述解锁密码是用户输入到该终端设备的字符序列,所述第一预设密码是第一用户预先设定并存储于所述服务器中的密码序列。
第二执行模块60a,用于触发检测是否获取到与该第二信息对应的第一信息的已阅状态反馈信息,若检测到所述第一信息的已阅状态反馈信息,执行解密指令发送模块70a,若未检测到所述第一信息的已阅状态反馈信息,执行步骤解密指令发送模块70a和加密指令发送模块80a;其中所述第一信息的已阅状态反馈信息是当该第一信息被阅读后与其对应的终端设备向服务器发送的反馈信息。
解密指令发送模块70a,用于发送与该第二信息对应的所述第一私钥到发送解密请求的终端设备,其中所述第一私钥用于解密与其对应的第二信息以得到所述第一信息。
加密指令发送模块80a,用于发送加密指令至已接收到该第一信息的终端设备,其中所述加密指令用于指使该终端设备通过所述第一公钥对第一信息加密以得到第二信息。
进一步的,所述即时通讯软件的第一信息保密装置还包括:
缓存清空模块,用于当检测到所有已接收过所述第一信息的终端设备的该第一信息的已阅状态反馈信息时,判定该第一信息属于公开信息并删除缓存中与该第一信息对应的第一公钥和第一私钥。
在一种实施例中,本发明还提供了一种即时通讯软件的第二信息保密装置100b,应用于终端设备,所述终端设备与服务器通信连接,第一用户和第二用户通过登录第一对象和第二对象于不同的所述终端设备上,且通过所述服务器实现信息的发送和接收,所述装置100b存储有多条指令,所述指令适于由处理器加载并执行即时通讯软件的信息保密方法,包括:
S10b:获取所述服务器发送的信息,所述信息包括第一信息和第一公钥、第二信息两者中的任一项,其中所述第一信息是第二对象预发送给所述第一对象的原始信息,所述第二信息是通过所述第一公钥对所述第一信息加密后获取,所述第二信息通过第一私钥解密后获得所述第一信息,所述第一公钥和所述第一私钥组成一个密钥对,且所述第一公钥和所述第一私钥是所述服务器根据每一所述第二信息生成的独立对应的密钥对,一所述第二信息对应一所述密钥对,所述第一对象是第一用户向服务器请求创建得到的第一虚拟用户,所述第二对象是第二用户向服务器请求创建得到的第二虚拟用户。
S20b:当获取到所述服务器发送的所述第一信息和所述第一公钥、所述第二信息两者中的任一项后,将所述第一信息或所述第二信息存储于基于所述第一对象与所述第二对象的对话模块,其中所述对话模块是基于不同对象之间而创立的独立对话区域,所述对话模块的状态包括活跃状态和不活跃状态。
S30b:当检测到所述对话模块处于活跃状态时,判定该所述对话模块中的所述第一信息为已阅读状态,发送与该第一信息对应的已阅状态反馈信息至所述服务器。
S40b:当检测到作用于任一所述第二信息的解密请求时,显示密码输入界面以供用户输入字符序列。
S50b:当检测到密码输入完毕,发送针对于该第二信息的解密请求以及解锁密码到服务器,以供所述服务器检测所述解锁密码是否与第一预设密码一致,其中所述解锁密码是用户输入到该终端设备的字符序列,所述第一预设密码是第一用户预先设定并存储于所述服务器中的密码序列。
S60b:当获取到所述服务器发送的与该第二信息对应的第一私钥时,解密与其对应的第二信息以得到所述第一信息。
S70b:当获取到所述服务器发送的加密指令时,通过所述第一公钥对第一信息加密以得到第二信息。
为了便于描述,将所述装置100b拆分为功能模块架构,如图3所示,包括:
信息获取模块10b,用于获取所述服务器发送的信息,所述信息包括第一信息和第一公钥、第二信息两者中的任一项,其中所述第一信息是第二对象预发送给所述第一对象的原始信息,所述第二信息是通过所述第一公钥对所述第一信息加密后获取,所述第二信息通过第一私钥解密后获得所述第一信息,所述第一公钥和所述第一私钥组成一个密钥对,且所述第一公钥和所述第一私钥是所述服务器根据每一所述第二信息生成的独立对应的密钥对,一所述第二信息对应一所述密钥对,述第一对象是第一用户向服务器请求创建得到的第一虚拟用户,所述第二对象是第二用户向服务器请求创建得到的第二虚拟用户;
信息归类模块20b,用于当获取到所述服务器发送的所述第一信息和所述第一公钥、所述第二信息两者中的任一项后,将所述第一信息或所述第二信息存储于基于所述第一对象与所述第二对象的对话模块,其中所述对话模块是基于不同对象之间而创立的独立对话区域,所述对话模块的状态包括活跃状态和不活跃状态;
信息状态反馈模块30b,用于当检测到所述对话模块处于活跃状态时,判定该所述对话模块中的所述第一信息为已阅读,发送与该第一信息对应的已阅状态反馈信息至所述服务器;
显示模块40b,用于当检测到作用于任一所述第二信息的解密请求时,显示密码输入界面以供用户输入字符序列;
解密请求发送模块50b,用于当检测到密码输入完毕,发送针对于该第二信息的解密请求以及解锁密码到服务器,以供所述服务器检测所述解锁密码是否与第一预设密码一致,其中所述解锁密码是用户输入到该终端设备的字符序列,所述第一预设密码是第一用户预先设定并存储于所述服务器中的密码序列;
解密模块60b,用于当获取到所述服务器发送的与该第二信息对应的第一私钥时,解密与其对应的第二信息以得到所述第一信息;
加密模块70b,用于当获取到所述服务器发送的加密指令时,通过所述第一公钥对第一信息加密以得到第二信息。
进一步的,所述即时通讯软件的第二信息保密装置还包括:
活跃状态判定模块,用于当所述对话模块处于主显示界面,判定该对话模块处于活跃状态。
本发明的一种实施例,如图4所示,本发明提供了一种即时通讯软件的信息保密系统200,包括终端设备201和服务器202,所述服务器202与所述终端设备201通信连接,所述终端设备201上登录着对象,所述对象是用户向服务器202请求创建得到的虚拟用户,所述服务器202包括上述的即时通讯软件的第一信息保密装置100a,所述终端设备201包括上述的即时通讯软件的第二信息保密装置100b。
本实施例中,服务器与多个终端设备通讯连接,其中所述终端设备可以是登录同一对象的不同终端设备,也可以是登录不同对象的不同终端设备。
本发明还提供了一种存储介质,其上存储有计算机程序,所述程序被处理执行时实现上述的应用于服务器的即时通讯软件的信息保密方法或上述的应用于终端设备的即时通讯软件的信息保密方法。
所述装置集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例所述的应用程序多开方法中的全部或部分流程,也可以通过计算机程序来指相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上文方法实施例所述的即时通讯软件的信息保密方法的步骤。其中,所述算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
本申请的说明书和权利要求书中,词语“包括/包含”和词语“具有/包括”及其变形,用于指定所陈述的特征、数值、步骤或部件的存在,但不排除存在或添加一个或多个其他特征、数值、步骤、部件或它们的组合。
本发明的一些特征,为阐述清晰,分别在不同的实施例中描述,然而,这些特征也可以结合于单一实施例中描述。相反,本发明的一些特征,为简要起见,仅在单一实施例中描述,然而,这些特征也可以单独或以任何合适的组合于不同的实施例中描述。
以上对本发明的即时通讯软件的信息保密方法及装置的各个具体实施方式进行了具体描述。最后,应当说明的是,以上各具体实施方式仅用以说明本发明的技术方案而非对其进行限制。尽管参照上述具体实施方式对本发明进行了详细的说明,本领域的普通技术人员应当理解,依然可以对本发明的具体实施方式进行修改或对部分技术特征进行等同替换,而在不脱离本发明的技术方案的精神下,其均应涵盖在本发明请求保护的技术方案范围当中。