著录项信息
专利名称 | 安全存储数据和访问数据的方法及系统 |
申请号 | CN201510316120.7 | 申请日期 | 2015-06-11 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2015-10-14 | 公开/公告号 | CN104978542A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F21/62 | IPC分类号 | G;0;6;F;2;1;/;6;2查看分类表>
|
申请人 | 福建天晴数码有限公司 | 申请人地址 | 福建省福州市开发区星发路8号
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 福建天晴数码有限公司 | 当前权利人 | 福建天晴数码有限公司 |
发明人 | 蔡专锡;刘德建;方振华;李上杰 |
代理机构 | 福州市博深专利事务所(普通合伙) | 代理人 | 林志峥 |
摘要
本发明提供了一种安全存储数据和访问数据的方法及系统,包括存储数据和访问数据;存储数据包括:客户端获取需要安全存储的数据以及从服务器获取包括至少一种加密算法的可执行文件;服务器从可执行文件中选取一种加密算法,客户端根据该加密算法将需要安全存储的数据进行加密存储;访问数据包括:客户端获取加密存储的数据以及与存储数据时选取的加密算法对应的解密算法;客户端根据该解密算法将加密存储的数据解密成相应的数据类型,从而有效防止了数据泄露。
1.一种安全存储数据和访问数据的方法,其特征在于,包括存储数据和访问数据;
存储数据包括:
客户端获取需要安全存储的数据以及从服务器获取包括多种加密算法的可执行文件;
服务器从可执行文件中选取一种加密算法,客户端根据该加密算法将需要安全存储的数据进行加密存储;
访问数据包括:
客户端从内存中获取加密存储的数据以及与存储数据时选取的加密算法对应的解密算法;
客户端根据该解密算法将加密存储的数据解密成相应的数据类型;
还包括,客户端检测到加密算法被破解时,从服务器重新获取新的包括多种加密算法的可执行文件,服务器从新的可执行文件中选取一种加密算法,客户端根据该加密算法对需要安全存储的数据进行加密存储。
2.根据权利要求1所述的安全存储数据和访问数据的方法,其特征在于,所述客户端从服务器获取加密算法的同时获取相对应的解密算法,解密时客户端从内存中获取与存储数据时选取的加密算法对应的解密算法。
3.根据权利要求1所述的安全存储数据和访问数据的方法,其特征在于,所述“获取需要安全存储的数据以及从服务器获取包括多种加密算法的可执行文件”具体为:客户端从服务器上获取加密后的动态链接库,将动态链接库解密成可执行文件,并将可执行文件加载至客户端的指定程序中;所述可执行文件包括多种加密算法。
4.根据权利要求1所述的安全存储数据和访问数据的方法,其特征在于,所述“客户端根据该加密算法将需要安全存储的数据进行加密存储”具体为:
客户端将需要安全存储的数据转换为字符串,并将所述字符串转换成二进制的数组;
客户端将二进制的数组根据加载到指定程序的加密算法进行加密并保存。
5.根据权利要求1所述的安全存储数据和访问数据的方法,其特征在于,所述“客户端根据该解密算法将加密存储的数据解密成相应的数据类型”具体为:
客户端根据解密算法将加密存储的数据解密成二进制的数组;
客户端将二进制数组转化为字符串,并将字符串转化为未加密时的数据类型。
6.一种安全存储数据和访问数据的系统,其特征在于,包括:客户端以及服务器;所述服务器用于存储至少一个包括多种加密算法的可执行文件,并从客户端获取的可执行文件中为客户端选择一种加密算法;
所述客户端包括:
第一获取模块,用于获取需要安全存储的数据以及从服务器获取包括多种加密算法的可执行文件;
加密模块,用于根据服务器为客户端选取的加密算法将需要安全存储的数据进行加密存储;
第二获取模块,用于从内存中获取加密存储的数据以及与存储数据时选取的加密算法对应的解密算法;
解密模块,用于根据该解密算法将加密存储的数据解密成相应的数据类型;
还包括:
检测模块,用于检测加密算法是否被破解;
第三获取模块,用于从服务器重新获取新的包括多种加密算法的可执行文件。
7.根据权利要求6所述的安全存储数据和访问数据的系统,其特征在于,还包括:
第一转换模块,用于将需要安全存储的数据转换成字符串;
第二转换模块,用于将字符串转换成二进制的数组;
第三转换模块,用于将二进制数组转化为字符串;
第四转换模块,用于将字符串转化为未加密时的数据类型。
安全存储数据和访问数据的方法及系统\n技术领域\n[0001] 本发明涉及信息技术领域,尤其涉及一种安全存储数据和访问数据的方法及系统。\n背景技术\n[0002] 目前的软件中的各种数据都是以明文的形式存在内存中,这样很容易被第三方通过两次查询并对比就可以将对应数据的内存地址查询出来,并修改。\n[0003] 申请号为201210145812.6的专利文件公开了一种安卓系统中内存数据的保护方法,将多个密钥存放在远程服务器上,访问接口从远程服务器获取AES加密密钥和RSA签名密钥,使用AES算法对内存数据进行加密,使用RSA签名算法来校验加密后的数据,而相关的解密密钥存放在远程服务器中。\n[0004] 然而,上述方案采用固定的加密算法对内存数据进行加密,加密算法很容易被破解,而且一旦破解,就需要更新所有的客户端,否则内存数据将面临泄露的危险。\n发明内容\n[0005] 本发明所要解决的技术问题是:如何对数据进行安全存储和安全访问。\n[0006] 为了解决上述技术问题,本发明采用的技术方案为:\n[0007] 一种安全存储数据和访问数据的方法,包括存储数据和访问数据;\n[0008] 存储数据包括:\n[0009] 客户端获取需要安全存储的数据以及从服务器获取包括至少一种加密算法的可执行文件;\n[0010] 服务器从可执行文件中选取一种加密算法,客户端根据该加密算法将需要安全存储的数据进行加密存储;\n[0011] 访问数据包括:\n[0012] 客户端获取加密存储的数据以及与存储数据时选取的加密算法对应的解密算法;\n[0013] 客户端根据该解密算法将加密存储的数据解密成相应的数据类型。\n[0014] 上述安全存储数据和访问数据的方法的有益效果在于:通过从服务器获取包括至少一种加密算法的可执行文件,从而获取至少一种加密算法,由于可执行的加密算法有多种,服务器选择可执行文件中的一种加密算法,客户端根据该加密算法对需要安全存储的数据加密保存,从而防止需要安全存储的数据以明文形式存储而被泄露;访问时客户端获取加密存储的数据以及与存储数据时选取的加密算法对应的解密算法,并根据该解密算法将加密存储的数据解密成相应的数据类型,从而将加密的数据还原成未加密时的数据类型,方便用户查看和使用。\n[0015] 一种安全存储数据和访问数据的系统,包括:客户端以及服务器;所述服务器用于存储至少一个包括至少一种加密算法的可执行文件,并从客户端获取的可执行文件中为客户端的选择一种加密算法;\n[0016] 所述客户端包括:\n[0017] 第一获取模块,用于获取需要安全存储的数据以及从服务器获取包括至少一种加密算法的可执行文件;\n[0018] 加密模块,用于根据服务器为客户端选取的加密算法将需要安全存储的数据进行加密存储;\n[0019] 第二获取模块,用于获取加密存储的数据以及与存储数据时选取的加密算法对应的解密算法;\n[0020] 解密模块,用于根据该解密算法将加密存储的数据解密成相应的数据类型。\n[0021] 上述安全存储数据和访问数据的系统的有益效果在于:服务器存储至少一个包括至少一种加密算法的可执行文件,从而客户端需要使用加密算法时从服务器获取即可;客户端的第一获取模块从服务器获取可执行文件,从而获取至少一种加密算法;服务器再从第一获取模块获取的可执行文件中指定一种加密算法给客户端使用;加密模块则根据服务器指定的加密算法对需要安全存储的数据进行加密,从而有效防止数据泄露;第二获取模块获取加密存储的数据和对应的解密算法,解密模块根据该解密算法将加密存储的数据解密,从而将加密的数据还原成用户方便使用的未加密时的数据类型。\n附图说明\n[0022] 图1为本发明实施例一安全存储数据和访问数据的方法流程图;\n[0023] 图2为本发明实施例二安全存储数据和访问数据的系统结构图。\n[0024] 标号说明:\n[0025] 1、服务器;2、客户端;21、第一获取模块;22、加密模块;23、第二获取模块;24、解密模块;25、第一转换模块;26、第二转换模块;27、第三转换模块;28、第四转换模块。\n具体实施方式\n[0026] 为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。\n[0027] 本发明最关键的构思在于:从服务器中获取包括至少一种加密算法的可执行文件;并从可执行文件中选择一种加密算法对需要安全存储的数据进行加密。\n[0028] 本发明涉及的技术术语解释:\n[0029]\n[0030] 请参照图1,\n[0031] 一种安全存储数据和访问数据的方法,包括存储数据和访问数据;\n[0032] 存储数据包括:\n[0033] S11、客户端获取需要安全存储的数据以及从服务器获取包括至少一种加密算法的可执行文件;\n[0034] S12、服务器从可执行文件中选取一种加密算法,客户端根据该加密算法将需要安全存储的数据进行加密存储;\n[0035] 访问数据包括:\n[0036] S21、客户端获取加密存储的数据以及与存储数据时选取的加密算法对应的解密算法;\n[0037] S22、客户端根据该解密算法将加密存储的数据解密成相应的数据类型。\n[0038] 上述安全存储数据和访问数据的方法的有益效果在于:通过从服务器获取包括至少一种加密算法的可执行文件,从而获取至少一种加密算法,由于可执行的加密算法有多种,服务器选择可执行文件中的一种加密算法,客户端根据该加密算法对需要安全存储的数据加密保存,从而防止需要安全存储的数据以明文形式存储而被泄露;访问时客户端获取加密存储的数据以及与存储数据时选取的加密算法对应的解密算法,并根据该解密算法将加密存储的数据解密成相应的数据类型,从而将加密的数据还原成未加密时的数据类型,方便用户查看和使用。\n[0039] 进一步的,所述安全存储数据和访问数据的方法还包括,客户端检测到加密算法被破解时,从服务器重新获取新的包括至少一种加密算法的可执行文件,服务器重新的可执行文件中选取一种加密算法,客户端根据该加密算法对需要安全存储的数据进行加密存储。\n[0040] 从上述描述可知,当加密算法被破解时,客户端从服务器重新下载可执行文件,选择新的加密算法对需要安全存储的数据进行加密,则破解失效,有效防止了第三方软件破解加密数据。\n[0041] 进一步的,所述客户端从服务器获取加密算法的同时获取相对应的解密算法,解密时客户端从内存中获取与存储数据时选取的加密算法对应的解密算法。\n[0042] 从上述描述可知,加密时即获取相应的解密算法,解密时则无需再与服务器连接,减少了通信,保证实现内存实时解密出来,从而相应的程序能够实时获取正确的数据;增加程序的健壮性,防止因为网络不通带来的解密错误。\n[0043] 进一步的,所述“获取需要安全存储的数据以及从服务器获取包括至少一种加密算法的可执行文件”具体为:客户端从服务器上获取加密后的动态链接库,将动态链接库解密成可执行文件,并将可执行文件加载至客户端的指定程序中;所述可执行文件包括至少一种加密算法。\n[0044] 进一步的,所述“客户端根据该加密算法将需要安全存储的数据进行加密存储”具体为:\n[0045] 客户端将需要安全存储的数据转换为字符串,并将所述字符串转换成二进制的数组;\n[0046] 客户端将二进制的数组根据加载到指定程序的加密算法进行加密并保存。\n[0047] 进一步的,所述“客户端根据该解密算法将加密存储的数据解密成相应的数据类型”具体为:\n[0048] 客户端根据解密算法将加密存储的数据解密成二进制的数组;\n[0049] 客户端将二进制数组转化为字符串,并将字符串转化为未加密时的数据类型。\n[0050] 从上述描述可知,通过数据类型转换,可以对不同数据类型的数据进行安全存储,并将加密的数据还原成相应的数据类型。\n[0051] 请参照图2,\n[0052] 一种安全存储数据和访问数据的系统,包括:客户端2以及服务器1;所述服务器1用于存储至少一个包括至少一种加密算法的可执行文件,并从客户端2获取的可执行文件中为客户端2的选择一种加密算法;\n[0053] 所述客户端2包括:\n[0054] 第一获取模块21,用于获取需要安全存储的数据以及从服务器1获取包括至少一种加密算法的可执行文件;\n[0055] 加密模块22,用于根据服务器1为客户端2选取的加密算法将需要安全存储的数据进行加密存储;\n[0056] 第二获取模块23,用于获取加密存储的数据以及与存储数据时选取的加密算法对应的解密算法;\n[0057] 解密模块24,用于根据该解密算法将加密存储的数据解密成相应的数据类型。\n[0058] 上述安全存储数据和访问数据的系统的有益效果在于:服务器1存储至少一个包括至少一种加密算法的可执行文件,从而客户端2需要使用加密算法时从服务器1获取即可;客户端2的第一获取模块21从服务器1获取可执行文件,从而获取至少一种加密算法;服务器1再从第一获取模块21获取的可执行文件中指定一种加密算法给客户端2使用;加密模块22则根据服务器1指定的加密算法对需要安全存储的数据进行加密,从而有效防止数据泄露;第二获取模块23获取加密存储的数据和对应的解密算法,解密模块24根据该解密算法将加密存储的数据解密,从而将加密的数据还原成用户方便使用的未加密时的数据类型。\n[0059] 进一步的,所述安全存储数据和访问数据的系统还包括:\n[0060] 检测模块,用于检测加密算法是否被破解;\n[0061] 第三获取模块,用于从服务器重新获取新的包括至少一种加密算法的可执行文件。\n[0062] 从上述描述可知,当加密算法被破解时,客户端2从服务器1重新下载可执行文件,选择新的加密算法对需要安全存储的数据进行加密,则破解失效,有效防止了第三方软件破解加密数据。\n[0063] 进一步的,所述安全存储数据和访问数据的系统还包括:\n[0064] 第一转换模块25,用于将需要安全存储的数据转换成字符串;\n[0065] 第二转换模块26,用于将字符串转换成二进制的数组。\n[0066] 第三转换模块27,用于将二进制数组转化为字符串;\n[0067] 第四转换模块28,用于将字符串转化为未加密时的数据类型。\n[0068] 从上述描述可知,通过数据类型转换,可以对不同数据类型的数据进行安全存储,并将加密的数据还原成相应的数据类型。\n[0069] 请参照图1,本发明的实施例一为:\n[0070] 一种安全存储数据和访问数据的方法,包括存储数据和访问数据;\n[0071] 存储数据包括:\n[0072] S11、客户端获取需要安全存储的数据、从服务器获取包括至少一种加密算法的可执行文件以及与加密算法对应的解密算法;具体为:客户端从服务器上获取加密后的动态链接库,将动态链接库解密成可执行文件,并将可执行文件加载至客户端的指定程序中;所述可执行文件包括至少一种加密算法;\n[0073] S12、服务器从可执行文件中选取一种加密算法,客户端根据该加密算法将需要安全存储的数据进行加密存储;具体为:客户端将需要安全存储的数据转换为字符串,比如需要安全存储的数据类型为整型,布尔型,double,float等,将前面所述的类型的数据转化为字符串并将所述字符串转换成二进制的数组;客户端将二进制的数组根据加载到指定程序的加密算法进行加密并保存;\n[0074] 优选的,所述数据加密步骤为瞬间执行,不会留下任何中间保存的变量,有效防止被不法分子利用。\n[0075] 访问数据包括:\n[0076] S21、客户端从内存中获取加密存储的数据以及与存储数据时选取的加密算法对应的解密算法;\n[0077] S22、客户端根据该解密算法将加密存储的数据解密成相应的数据类型;具体为:\n客户端根据解密算法将加密存储的数据解密成二进制的数组;客户端将二进制数组转化为字符串,并将字符串转化为未加密时的数据类型;\n[0078] 另外,当客户端检测到加密算法被破解时,从服务器重新获取新的包括至少一种加密算法的可执行文件,服务器重新的可执行文件中选取一种加密算法,客户端根据该加密算法对需要安全存储的数据进行加密存储。\n[0079] 例如,客户端为手机,需要安全存储的数据为手机电话本中的数据,存储时,获取手机中的电话本数据,手机从服务器获取包括至少一种加密算法的可执行文件以及与加密算法对应的解密算法,具体为从服务器获取加密的动态链接库,并把链接库解密成可执行的文件,将可执行文件加载至手机的电话本程序中,服务器从可执行文件中选取一种解密算法,手机根据该加密算法对电话本数据进行加密,加密时的具体步骤为:根据电话本的数据类型转换成字符串,并将未加密时的电话本数据类型保存起来;再将字符串根据ASCII编码转化成二进制的数组;将二进制的数组根据选择的加密算法加密成二进制数组;\n[0080] 访问时,从手机内存中获取加密后的电话本数据以及与存储时选取的加密算法相应的解密算法,将加密后的电话本数据解密成原来的未加密电话本数据类型;解密时的具体步骤为:将加密后的二进制数组解密成二进制数组,并将解密后的二进制数组转换成字符串,再根据存储时保存的未加密时的电话本数据类型将字符串转换成未加密时的电话本数据类型;\n[0081] 当检测到加密算法被破解时,手机从服务器重新获取新的包括至少一种加密算法的可执行文件,服务器重新的可执行文件中选取一种加密算法,手机根据该加密算法对电话本数据进行加密存储。\n[0082] 请参照图2,本发明的实施例二为:\n[0083] 一种安全存储数据和访问数据的系统,其特征在于,包括:客户端2以及服务器1;\n所述服务器1用于存储至少一个包括至少一种加密算法的可执行文件,并从客户端2获取的可执行文件中为客户端2的选择一种加密算法;\n[0084] 所述客户端2包括:\n[0085] 第一获取模块21,用于获取需要安全存储的数据以及从服务器获取包括至少一种加密算法的可执行文件;\n[0086] 第一转换模块25,用于将需要安全存储的数据转换成字符串;\n[0087] 第二转换模块26,用于将字符串转换成二进制的数组;\n[0088] 加密模块22,用于根据服务器为客户端选取的加密算法将需要安全存储的数据进行加密存储;\n[0089] 第二获取模块23,用于获取加密存储的数据以及与存储数据时选取的加密算法对应的解密算法;\n[0090] 第三转换模块27,用于将二进制数组转化为字符串;以及\n[0091] 第四转换模块28,用于将字符串转化为未加密时的数据类型;\n[0092] 解密模块24,用于根据该解密算法将加密存储的数据解密成相应的数据类型;\n[0093] 检测模块,用于检测加密算法是否被破解;以及\n[0094] 第三获取模块,用于从服务器重新获取新的包括至少一种加密算法的可执行文件。\n[0095] 综上所述,本发明提供的一种安全存储数据和访问数据的系统及系统,客户端的第一获取模块从服务器获取包括至少一种加密算法的可执行文件,服务器从客户端获取的可执行文件中选择一种加密算法,加密时通过第一转换模块将需要安全存储的数据转换成字符串;以及第二转换模块将字符串转换成二进制的数组;加密模块再根据服务器选择的加密算法对二进制的数组加密,从而可以对各种数据类型的数据加密,有效防止数据泄露;\n解密时,第二获取模块获取加密后的数据以及解密算法,解密模块将加密的二进制数组解密,并通过第三转换模块和第四转换模块转换成未加密时的数据类型,从而方便用户访问和使用,检测模块检测到加密数据的加密算法被破解时,第三获取模块立即从服务器获取新的可执行文件,加密模块根据新的加密算法对需要安全存储的数据加密,从而有效防止第三方软件对加密算法破解。\n[0096] 以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。
法律信息
- 2019-08-13
- 2015-11-18
实质审查的生效
IPC(主分类): G06F 21/62
专利申请号: 201510316120.7
申请日: 2015.06.11
- 2015-10-14
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2014-01-22
|
2013-10-16
| | |
2
| |
2014-04-30
|
2014-01-02
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |