1.一种业务加密方法,其特征在于,包括:
密钥代理模块接收业务模块发送的加密请求,其中,所述加密请求中携带有待加密的数据;
所述密钥代理模块从密钥列表中获取目标密钥,其中,所述密钥列表是预先从密钥服务器中拉取到的;
所述密钥代理模块使用所述目标密钥对所述待加密的数据进行加密,得到加密后的数据;
所述密钥代理模块将所述加密后的数据发送给所述业务模块。
2.根据权利要求1所述的方法,其特征在于,在密钥代理模块接收业务模块发送的加密请求之前,还包括:
所述密钥代理模块将第一公钥发送给所述密钥服务器,并从所述密钥服务器接收第二公钥,其中,所述密钥代理模块上具有一对所述第一公钥和第一私钥,所述密钥服务器上具有一对所述第二公钥和第二私钥;
所述密钥代理模块向所述密钥服务器发送密钥列表拉取请求;
所述密钥代理模块接收所述密钥服务器发送的加密后的密钥列表,其中,所述加密后的密钥列表是使用所述密钥服务器侧的第一通讯密钥对所述密钥列表进行加密得到的,所述第一通讯密钥是所述密钥服务器根据所述第一公钥和所述第二私钥生成得到的;
所述密钥代理模块使用所述密钥代理模块侧的第二通讯密钥对所述加密后的密钥列表进行解密,得到所述密钥列表,其中,所述第二通讯密钥是所述密钥代理模块根据所述第一私钥和所述第二公钥生成得到的,所述第一通讯密钥与所述第二通讯密钥相同。
3.根据权利要求2所述的方法,其特征在于,所述密钥代理模块将第一公钥发送给所述密钥服务器,并从所述密钥服务器接收第二公钥包括:
在所述密钥代理模块重启时,所述密钥代理模块将加密后的所述第一公钥发送给所述密钥服务器,其中,所述加密后的所述第一公钥是使用约定密钥对所述第一公钥进行加密得到的;
所述密钥代理模块从所述密钥服务器接收加密后的所述第二公钥,其中,所述加密后的所述第二公钥是使用所述约定密钥对所述第二公钥进行加密得到的;
所述密钥代理模块使用所述约定密钥对所述加密后的第二公钥进行解密,得到所述第二公钥;
其中,所述约定密钥被设置为仅在所述密钥代理模块重启时使用。
4.根据权利要求1所述的方法,其特征在于,
在所述密钥代理模块接收业务模块发送的加密请求之前,还包括:所述密钥代理模块获取业务进程的进程PID,其中,所述业务进程为所述业务模块发送所述待加密的数据的进程;所述密钥代理模块对所述业务进程和所述进程PID进行合法性校验;
所述密钥代理模块从密钥列表中获取目标密钥包括:在所述合法性校验通过的情况下,所述密钥代理模块从所述密钥列表中获取所述目标密钥。
5.根据权利要求4所述的方法,其特征在于,所述密钥代理模块对所述业务进程和所述进程PID进行所述合法性校验包括:
所述密钥代理模块获取与所述进程PID对应的进程全路径;
所述密钥代理模块判断所述进程全路径是否属于预先从所述密钥服务器获取到的合法路径中的路径;
在判断出所述进程全路径属于所述合法路径中的路径的情况下,所述密钥代理模块对所述业务进程进行MD5校验操作,得到第一MD5校验结果;在判断出所述进程全路径不属于所述合法路径中的路径的情况下,判断出所述合法性校验不通过;
所述密钥代理模块判断所述第一MD5校验结果是否与预先获取的与所述业务进程对应的第二MD5校验结果相同;
若所述第一MD5校验结果与所述第二MD5校验结果相同,则判断出所述合法性校验通过;若所述第一MD5校验结果与所述第二MD5校验结果不同,则判断出所述合法性校验不通过。
6.根据权利要求4所述的方法,其特征在于,在所述密钥代理模块对所述业务进程和所述进程PID进行合法性校验之后,并在所述密钥代理模块接收所述业务模块发送的加密请求之前,还包括:
在所述合法性校验通过的情况下,所述密钥代理模块获取所述业务模块发送的第一文件描述符,其中,所述第一文件描述符用于所述密钥代理模块将所述业务模块发送的数据识别为合法数据;
所述密钥代理模块生成第二文件描述符,其中,所述第二文件描述符用于所述业务模块将所述密钥代理模块发送的数据识别为合法数据;
所述密钥代理模块将所述第二文件描述符传输给所述业务模块。
7.根据权利要求6所述的方法,其特征在于,
所述密钥代理模块接收所述业务模块发送的加密请求包括:所述密钥代理模块从共享内存中获取所述业务模块存入的所述待加密的数据;
所述密钥代理模块将所述加密后的数据发送给所述业务模块包括:所述密钥代理模块将所述加密后的数据存入到所述共享内存中,以使得所述业务模块从所述共享内存中获取所述加密后的数据。
8.根据权利要求6所述的方法,其特征在于,在所述密钥代理模块对所述业务进程和所述进程PID进行合法性校验之后,并在所述密钥代理模块接收所述业务模块发送的加密请求之前,还包括:
在所述合法性校验通过的情况下,所述密钥代理模块为所述第一文件描述符设置目标权限,其中,所述目标权限包括以下至少之一:允许所述密钥代理模块对所述业务模块请求的待加密的数据进行加密,允许所述密钥代理模块对所述业务模块请求的待解密的数据进行解密。
9.根据权利要求8所述的方法,其特征在于,在所述合法性校验通过的情况下,所述密钥代理模块从所述密钥列表中获取所述目标密钥包括:
在所述目标权限包括允许所述密钥代理模块对所述业务模块请求的待加密的数据进行加密时,所述密钥代理模块从所述密钥列表中获取所述目标密钥。
10.根据权利要求4所述的方法,其特征在于,所述密钥代理模块获取业务进程的进程PID包括:
所述密钥代理模块在非root运行模式下通过unix域套接字获取所述业务进程的所述进程PID;或者
所述密钥代理模块将socket套接字的选项配置为SO_PEERCRED,并通过socket套接字获取所述业务进程的所述进程PID。
11.一种业务解密方法,其特征在于,包括:
密钥代理模块接收业务模块发送的解密请求,其中,所述解密请求中携带有待解密的数据;
所述密钥代理模块从密钥列表中获取目标密钥,其中,所述密钥列表是预先从密钥服务器中拉取到的;
所述密钥代理模块使用所述目标密钥对所述待解密的数据进行解密,得到解密后的数据;
所述密钥代理模块将所述解密后的数据发送给所述业务模块。
12.根据权利要求11所述的方法,其特征在于,在密钥代理模块接收业务模块发送的解密请求之前,还包括:
所述密钥代理模块将第一公钥发送给所述密钥服务器,并从所述密钥服务器接收第二公钥,其中,所述密钥代理模块上具有一对所述第一公钥和第一私钥,所述密钥服务器上具有一对所述第二公钥和第二私钥;
所述密钥代理模块向所述密钥服务器发送密钥列表拉取请求;
所述密钥代理模块接收所述密钥服务器发送的加密后的密钥列表,其中,所述加密后的密钥列表是使用所述密钥服务器侧的第一通讯密钥对所述密钥列表进行加密得到的,所述第一通讯密钥是所述密钥服务器根据所述第一公钥和所述第二私钥生成得到的;
所述密钥代理模块使用所述密钥代理模块侧的第二通讯密钥对所述加密后的密钥列表进行解密,得到所述密钥列表,其中,所述第二通讯密钥是所述密钥代理模块根据所述第一私钥和所述第二公钥生成得到的,所述第一通讯密钥与所述第二通讯密钥相同。
13.根据权利要求12所述的方法,其特征在于,所述密钥代理模块将第一公钥发送给所述密钥服务器,并从所述密钥服务器接收第二公钥包括:
在所述密钥代理模块重启时,所述密钥代理模块将加密后的所述第一公钥发送给所述密钥服务器,其中,所述加密后的所述第一公钥是使用约定密钥对所述第一公钥进行加密得到的;
所述密钥代理模块从所述密钥服务器接收加密后的所述第二公钥,其中,所述加密后的所述第二公钥是使用所述约定密钥对所述第二公钥进行加密得到的;
所述密钥代理模块使用所述约定密钥对所述加密后的第二公钥进行解密,得到所述第二公钥;
其中,所述约定密钥被设置为仅在所述密钥代理模块重启时使用。
14.根据权利要求11所述的方法,其特征在于,
在所述密钥代理模块接收业务模块发送的解密请求之前,还包括:所述密钥代理模块获取业务进程的进程PID,其中,所述业务进程为所述业务模块发送所述待解密的数据的进程;所述密钥代理模块对所述业务进程和所述进程PID进行合法性校验;
所述密钥代理模块从密钥列表中获取目标密钥包括:在所述合法性校验通过的情况下,所述密钥代理模块从所述密钥列表中获取所述目标密钥。
15.根据权利要求14所述的方法,其特征在于,所述密钥代理模块对所述业务进程和所述进程PID进行所述合法性校验包括:
所述密钥代理模块获取与所述进程PID对应的进程全路径;
所述密钥代理模块判断所述进程全路径是否属于预先从所述密钥服务器获取到的合法路径中的路径;
在判断出所述进程全路径属于所述合法路径中的路径的情况下,所述密钥代理模块对所述业务进程进行MD5校验操作,得到第一MD5校验结果;在判断出所述进程全路径不属于所述合法路径中的路径的情况下,判断出所述合法性校验不通过;
所述密钥代理模块判断所述第一MD5校验结果是否与预先获取的与所述业务进程对应的第二MD5校验结果相同;
若所述第一MD5校验结果与所述第二MD5校验结果相同,则判断出所述合法性校验通过;若所述第一MD5校验结果与所述第二MD5校验结果不同,则判断出所述合法性校验不通过。
16.根据权利要求14所述的方法,其特征在于,在所述密钥代理模块对所述业务进程和所述进程PID进行合法性校验之后,并在所述密钥代理模块接收所述业务模块发送的解密请求之前,还包括:
在所述合法性校验通过的情况下,所述密钥代理模块获取所述业务模块发送的第一文件描述符,其中,所述第一文件描述符用于所述密钥代理模块将所述业务模块发送的数据识别为合法数据;
所述密钥代理模块生成第二文件描述符,其中,所述第二文件描述符用于所述业务模块将所述密钥代理模块发送的数据识别为合法数据;
所述密钥代理模块将所述第二文件描述符传输给所述业务模块。
17.根据权利要求16所述的方法,其特征在于,
所述密钥代理模块接收所述业务模块发送的解密请求包括:所述密钥代理模块从共享内存中获取所述业务模块存入的所述待解密的数据;
所述密钥代理模块将所述解密后的数据发送给所述业务模块包括:所述密钥代理模块将所述解密后的数据存入到所述共享内存中,以使得所述业务模块从所述共享内存中获取所述解密后的数据。
18.根据权利要求16所述的方法,其特征在于,在所述密钥代理模块对所述业务进程和所述进程PID进行合法性校验之后,并在所述密钥代理模块接收所述业务模块发送的解密请求之前,还包括:
在所述合法性校验通过的情况下,所述密钥代理模块为所述第一文件描述符设置目标权限,其中,所述目标权限包括以下至少之一:允许所述密钥代理模块对所述业务模块请求的待加密的数据进行加密,允许所述密钥代理模块对所述业务模块请求的待解密的数据进行解密。
19.根据权利要求18所述的方法,其特征在于,在所述合法性校验通过的情况下,所述密钥代理模块从所述密钥列表中获取所述目标密钥包括:
在所述目标权限包括允许所述密钥代理模块对所述业务模块请求的待解密的数据进行解密时,所述密钥代理模块从所述密钥列表中获取所述目标密钥。
20.根据权利要求14所述的方法,其特征在于,所述密钥代理模块获取业务进程的进程PID包括:
所述密钥代理模块在非root运行模式下通过unix域套接字获取所述业务进程的所述进程PID;或者
所述密钥代理模块将socket套接字的选项配置为SO_PEERCRED,并通过socket套接字获取所述业务进程的所述进程PID。
21.一种业务加密装置,其特征在于,包括:
第一接收单元,设置于密钥代理模块中,用于接收业务模块发送的加密请求,其中,所述加密请求中携带有待加密的数据;
第一获取单元,设置于所述密钥代理模块中,用于从密钥列表中获取目标密钥,其中,所述密钥列表是预先从密钥服务器中拉取到的;
第一加密单元,设置所述密钥代理模块中,用于使用所述目标密钥对所述待加密的数据进行加密,得到加密后的数据;
第一发送单元,设置于所述密钥代理模块中,用于将所述加密后的数据发送给所述业务模块。
22.一种业务解密装置,其特征在于,包括:
第一接收单元,设置于密钥代理模块中,用于接收业务模块发送的解密请求,其中,所述解密请求中携带有待解密的数据;
第一获取单元,设置于所述密钥代理模块中,用于从密钥列表中获取目标密钥,其中,所述密钥列表是预先从密钥服务器中拉取到的;
第一解密单元,设置于所述密钥代理模块中,用于使用所述目标密钥对所述待解密的数据进行解密,得到解密后的数据;
第一发送单元,设置于所述密钥代理模块中,用于将所述解密后的数据发送给所述业务模块。