1.一种可搜索加密方法,其特征在于,所述方法包括:云服务器接收数据提供者发送的数据外包请求;所述数据外包请求包括第一用户标识和待外包文件密文;所述待外包文件密文包括关键词集密文和文件集密文;所述关键词集密文和所述文件集密文存在映射关系;所述云服务器将所述关键词集密文发送至可信执行环境;所述可信执行环境利用所述数据提供者提供的关键词集密钥对所述关键词集密文进行解密,得到所述关键词集密文对应的关键词集明文;所述云服务器接收数据获取者发送的数据检索请求,并将所述数据检索请求转发至所述可信执行环境;所述数据检索请求包括第二用户标识和待检索文件密文;所述待检索文件密文包括待检索关键词和重加密密钥的组合密文;所述组合密文由所述可信执行环境生成的第一密钥对中的公钥加密得到;所述可信执行环境接收所述云服务器发送的所述数据检索请求,利用所述第一密钥对中的私钥对所述组合密文进行解密,得到所述组合密文对应的待检索关键词和重加密密钥;所述可信执行环境获取所述待检索关键词与所述关键词集明文的多个文件关键词中每一所述文件关键词的关键词距离;若所述关键词距离小于第一距离阈值,则将所述关键词距离对应的所述文件关键词确定为匹配关键词索引;若不存在小于所述第一距离阈值的所述关键词距离,则将小于或者等于第二距离阈值的所述文件关键词确定为所述匹配关键词索引;所述第二距离阈值大于所述第一距离阈值;根据所述匹配关键词索引,获取所述待检索关键词对应的待获取文件数据;所述可信执行环境利用所述重加密密钥对所述待获取文件数据进行重加密,得到所述待获取文件数据对应的重加密文件数据,并将所述重加密文件数据发送至所述数据获取者;所述数据获取者利用所述重加密密钥对所述重加密文件数据进行解密,得到所述待检索关键词对应的所述待获取文件数据。
2.根据权利要求1所述的方法,其特征在于,所述云服务器接收数据提供者发送的数据外包请求之前,还包括:所述可信执行环境接收所述数据提供者发送的针对待外包文件的第二密钥对;所述第二密钥对包括所述关键词集密钥和文件集密钥。
3.根据权利要求1所述的方法,其特征在于,所述可信执行环境接收所述云服务器发送的所述数据检索请求之前,还包括:所述可信执行环境生成所述第一密钥对;所述可信执行环境将所述第一密钥对中的公钥发送至所述数据获取者;所述公钥用于对所述数据获取者的所述待检索关键词和所述重加密密钥进行加密。
4.根据权利要求2所述的方法,其特征在于,所述根据所述匹配关键词索引,获取所述待检索关键词对应的所述待获取文件数据,包括:所述可信执行环境将所述匹配关键词索引发送至所述云服务器;所述云服务器根据所述匹配关键词索引确定对应的目标文件索引,并根据所述目标文件索引,获取对应的所述待获取文件数据的待获取文件数据密文;所述云服务器将所述待获取文件数据密文发送至所述可信执行环境;所述可信执行环境利用所述第二密钥对中的文件集密钥对所述待获取文件数据密文进行解密,得到所述待获取文件数据。
5.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1-4任一项所述的方法的步骤。
6.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-4任一项所述的方法的步骤。
7.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1-4中任一项所述的方法的步骤。