首页> 中国专利> 基于商用密码的身份匿名可搜索加密方法、装置及设备

基于商用密码的身份匿名可搜索加密方法、装置及设备

摘要

本公开提供一种基于商用密码的身份匿名可搜索加密方法、装置、设备及介质,方法包括:接收来自发送端的索引信息和来自接收端的搜索口令;基于所述搜索口令与所述索引信息进行匹配,得到匹配结果;将所述匹配结果发送至所述接收端;其中,所述索引信息经由发送端基于服务提供方所提供的发送端私钥和系统公钥,以及给定的第一接收端身份数据生成;所述搜索口令经由接收端基于服务提供方所提供的接收端私钥和系统公钥,以及给定的第一发送端身份数据生成。根据本公开,能够同时实现商业密码级别的数据可搜索加密与个人的隐私安全防护,提供更高效的公钥完整性和认证性保护,实现了有效安全的数据共享,保障用户网络信息安全。

著录项

  • 公开/公告号CN113297608A

    专利类型发明专利

  • 公开/公告日2021-08-24

    原文格式PDF

  • 申请/专利权人 北京理工大学;

    申请/专利号CN202110847166.7

  • 发明设计人 蒋芃;任珂;祝烈煌;

    申请日2021-07-27

  • 分类号G06F21/60(20130101);G06F21/62(20130101);

  • 代理机构11403 北京风雅颂专利代理有限公司;

  • 代理人王刚

  • 地址 100081 北京市海淀区中关村南大街5号

  • 入库时间 2023-06-19 12:19:35

说明书

技术领域

本公开涉及数据处理技术领域,尤其涉及一种基于商用密码的身份匿名可搜索加密方法、装置及设备。

背景技术

在信息爆炸的时代,随着云计算的逐渐兴起,用户将本地计算和存储的负担转移到了远程的云服务器中。个人和企业可以通过云服务器来管理和共享数据,然而,由于信任机制的缺乏,这也导致了潜在的信息泄露危机。为了保护数据机密性,最简单的方法是采用一种“加密然后外包”的模式——数据以密文形式上传至云服务器。在不影响效率和安全性的情况下,这种加密存储会导致数据利用不充分,即云服务器无法使用常规的直接检索方法来检索数据。

传统的公钥搜索加密算法能够保障传输数据的安全性,但无法防止用户地址泄漏。这是因为公钥搜索加密算法无法抵抗半可信服务器可能造成的内部攻击。也就是说,即使地址信息被加密,半可信的电子邮件网关也可以通过匹配操作推断出发件人地址,仍然存在隐私泄露的问题,降低了安全性。

发明内容

有鉴于此,本公开的目的在于提出一种基于商用密码的身份匿名可搜索加密方法、装置、设备及介质。

基于上述目的,根据本公开的第一方面,提供了一种基于商用密码的身份匿名可搜索加密方法,包括:

接收来自发送端的索引信息和来自接收端的搜索口令;

基于所述搜索口令与所述索引信息进行匹配,得到匹配结果;

将所述匹配结果发送至所述接收端;

其中,所述索引信息经由发送端基于服务提供方所提供的发送端私钥和系统公钥,以及给定的第一接收端身份数据生成;

所述搜索口令经由接收端基于服务提供方所提供的接收端私钥和系统公钥,以及给定的第一发送端身份数据生成。

根据本公开的第二方面,提供了一种基于商用密码的身份匿名可搜索加密装置,包括:

接收单元,用于接收来自发送端的索引信息和来自接收端的搜索口令;

匹配单元,用于基于所述搜索口令与所述索引信息进行匹配,得到匹配结果;

发送单元,用于将所述匹配结果发送至所述接收端;

其中,所述索引信息经由发送端基于服务提供方所提供的发送端私钥和系统公钥,以及给定的第一接收端身份数据生成;

所述搜索口令经由接收端基于服务提供方所提供的接收端私钥和系统公钥,以及给定的第一发送端身份数据生成。

根据本公开的第三方面,提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所述的方法。

根据本公开的第四方面,提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使计算机执行第一方面所述方法。

从上面所述可以看出,本公开提供的一种基于商用密码的身份匿名可搜索加密方法、装置、设备及介质,将发送端和接收端二者的用户身份数据嵌入到搜索口令和索引信息中,能够利用商用密码SM9算法同时实现数据的可搜索加密与个人的隐私安全防护,从而抵抗半可信服务器带来的安全问题,提供更高效的公钥完整性和认证性保护,实现了有效安全的数据共享,保障用户网络信息安全。

附图说明

为了更清楚地说明本公开或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为根据本公开实施例的基于商用密码的身份匿名可搜索加密方法的示意性流程图;

图2为根据本公开实施例的基于商用密码的身份匿名可搜索加密方法的示意图;

图3为根据本公开实施例的基于商用密码的身份匿名可搜索加密装置的示意性框图;

图4为本实施例所提供的一种更为具体的电子设备硬件结构示意图。

具体实施方式

为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本公开进一步详细说明。

需要说明的是,除非另外定义,本公开实施例使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。

可搜索加密(SE)技术中,发送方上传带有索引的密文数据,接收方向服务器发送带有口令的搜索请求,服务器执行搜索匹配操作以检索相应的密文数据。在可搜索加密技术中,索引和口令都包括加密的关键字。如果索引与给定的口令匹配,则表示索引与口令中包含相同的关键字,此时搜索成功,服务器将返回索引对应的密文数据给接收者,发送者和接收者完成数据共享。因此,可搜索加密技术能够实现对密文数据的搜索匹配且不泄露任何关键字。根据底层密钥设置的不同,可搜索加密技术可以分为两类:一类是对称搜索加密(SSE),另一类是带关键字的公钥搜索加密(PEKS)。与对称搜索加密相比,在多用户场景中,带关键字的公钥搜索加密机制无需密钥分配步骤,能够灵活地提供一种可搜索加密数据的共享方法。然而,带关键字的公钥搜索加密机制难以抵抗来自服务器的内部攻击,直接应用带关键字的公钥搜索加密技术,会导致用户的身份隐私泄露。

与此同时,为了实现商业密码标准化,我国国家密码管理局已经发布了一系列密码行业标准。迄今为止,许多结合商业密码(如SM系列算法和祖冲之算法)的数字签名方法和加密方法已被提出,但一个符合商业密码标准的可搜索加密技术仍然未知。如果将商用密码SM9直接应用于传统的可搜索加密技术中,则用户可能会遭到内部攻击,从而造成信息泄露。

例如,在电子邮件过滤场景中,电子邮箱网关应该识别并分发电子邮件到不同分类的收件箱并删除部分垃圾邮件。此操作通常是基于发送方的邮箱地址执行的。然而为了保护用户的个人隐私安全,邮箱地址会在检索前被加密,此时,以往基于明文地址的过滤机制就会失效。传统的公钥搜索加密算法能够保障传输数据的安全性,但无法防止用户地址泄漏。这是因为公钥搜索加密算法无法抵抗半可信服务器可能造成的内部攻击。也就是说,即使地址信息被加密,半可信的电子邮件网关也可以通过匹配操作推断出发件人地址,仍然存在隐私泄露的问题,降低了安全性。

基于上述考虑,本公开实施例提供了一种基于商用密码的身份匿名可搜索加密方法。参见图1,图1示出了根据本公开实施例的基于商用密码的身份匿名可搜索加密方法的示意性流程图。如图1所示,基于商用密码的身份匿名可搜索加密方法100包括:

步骤S110,接收来自发送端的索引信息和来自接收端的搜索口令;

步骤S120,基于所述搜索口令与所述索引信息进行匹配,得到匹配结果;

步骤S130,将所述匹配结果发送至所述接收端;

其中,所述索引信息经由发送端基于服务提供方所提供的发送端私钥和系统公钥,以及给定的第一接收端身份数据生成;

所述搜索口令经由接收端基于服务提供方所提供的接收端私钥和系统公钥,以及给定的第一发送端身份数据生成。

可见,根据本公开实施例的方法,将发送端和接收端二者的用户身份数据嵌入到搜索口令和索引信息中,能够同时实现数据的可搜索加密与个人的隐私安全防护,从而抵抗半可信服务器带来的安全问题,提供更高效的公钥完整性和认证性保护,实现了有效安全的数据共享,保障用户网络信息安全。

在一些实施例中,方法100可以部署于服务器端。参见图2,图2示出了根据本公开实施例的基于商用密码的匿名可搜索加密方法的示意图。如图2所示,发送端210和接收端230的数量可以是一个或多个,在此不做限制;服务器220可以用于云计算;服务提供方240可以用于提供系统公钥和系统私钥,以及生成发送端210的私钥和接收端230的私钥。在一些实施例中,发送端210可以包括邮件发送者,接收端230可以包括邮件接收者,服务器220可以接收来自发送端210的密文数据和索引信息,以及来自接收端230的搜索口令(可以包括用户输入的关键字),然后将搜索口令与索引信息进行匹配,以得到匹配结果,并将该匹配结果返回至接收端230。

根据本公开实施例,在步骤S110之前,还可以包括:

经由服务提供方生成系统公钥和系统私钥;

经由服务提供方获取发送端的第二发送端身份数据和接收端的第二接收端身份数据,并基于系统公钥、系统私钥、所述第二发送端身份数据和所述第二接收端身份数据生成发送端私钥和接收端私钥;

经由服务提供方向发送端发送所述系统公钥和所述发送端私钥,以及向接收端发送所述系统公钥和所述接收端私钥。

如图2所示,服务提供方240可以先进行系统初始化,生成系统私钥和系统公钥。服务提供方240可以是独立于服务器220的实体。

在一些实施例中,可以基于安全参数和双线性映射生成系统公钥和系统私钥。进一步地,在一些实施例中,基于安全参数和双线性映射生成系统公钥和系统私钥,可以包括:

基于安全参数λ和双线性映射

基于哈希函数

计算系统私钥

具体来说,可以采用开源的密码工具箱GmSSL执行步骤S110。GmSSL是OpenSSL项目的分支,能有效支持SM3/SM9等国密(国家商用密码)算法。例如,采用一个具备128位安全性的SM9椭圆曲线sm9s256t1参数,椭圆曲线E定义在素数阈

表1

在一些实施例中,安全参数可以是质数。在一些实施例中,安全参数可以是比特的长度。

在一些实施例中,经由服务提供方获取发送端的第二发送端身份数据和接收端的第二接收端身份数据,并基于系统公钥、系统私钥、所述第二发送端身份数据和所述第二接收端身份数据生成发送端私钥和接收端私钥,可以包括:

基于所述第二发送端身份数据

如果

如果

以及,基于所述第二接收端身份数据

如果

如果

如图2所示,服务提供方240分别获取发送端210的身份信息即第二发送端身份数据

在一些实施例中,索引信息经由所述发送端基于服务提供方所提供的发送端私钥和系统公钥,以及给定的第一接收端身份数据生成,包括:

所述索引信息

可见,发送端210生成的索引信息

在一些实施例中,所述搜索口令经由接收端基于服务提供方所提供的接收端私钥和系统公钥,以及给定的第一发送端身份数据生成,包括:

所述搜索口令

可见,接收端230生成搜索口令

根据本公开实施例,在步骤S110中,接收来自所述发送端的索引信息和来自所述接收端的搜索口令。如图2所示,发送端210将索引信息发送至服务器220,接收端230将搜索口令发送至服务器220。应了解,发送端210向服务器220发送索引信息和接收端230向服务器220发送搜索口令的顺序不做限制。

根据本公开实施例,在步骤S120中,基于所述搜索口令与所述索引信息进行匹配,得到匹配结果。如图2所示,服务器220接收到索引信息和搜索口令后,将搜索口令与索引信息进行匹配,从而实现搜索功能,得到相应的匹配结果。

在一些实施例中,基于所述搜索口令与所述索引信息进行匹配,得到匹配结果,可以包括:

判断

响应于

其中,如果等式

在一些实施例中,基于所述搜索口令与所述索引信息进行匹配,得到匹配结果,可 以包括:响应于

根据本公开实施例,在步骤S130中,将所述匹配结果发送至所述接收端。如图2所示,服务器220将匹配到的匹配结果返回至接收端230。

可以对根据本公开实施例的方法进行仿真测试,例如基于PyCharm搭建实验环境,使用的操作系统是Windows10,编程语言为Python。测试结果表明,根据本公开实施例的方法能够有效完成数据加密和检索,满足大数据的可靠查询需求并且支持用户身份匿名性,保护用户的个人隐私安全。

如此,根据本公开实施例,采用基于商用密码的身份匿名可搜索加密技术,用户的身份数据被嵌入搜索口令和索引中,使诚实但好奇的服务器无法获得用户的身份信息,实现了共享数据的搜索,无需考虑对称可搜索加密中复杂的密钥管理问题,此外,基于身份的加密技术可以提供更高效的公钥完整性和认证性保护,因此可以实现有效安全的数据共享。

需要说明的是,本公开实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本公开实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。

需要说明的是,上述对本公开的一些实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于上述实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

基于同一发明构思,与上述任意实施例方法相对应的,本公开还提供了一种基于商用密码的身份匿名可搜索加密装置。

参考图3,所述基于商用密码的身份匿名可搜索加密装置,包括:

接收单元,用于接收来自发送端的索引信息和来自接收端的搜索口令;

匹配单元,用于基于所述搜索口令与所述索引信息进行匹配,得到匹配结果;

发送单元,用于将所述匹配结果发送至所述接收端;

其中,所述索引信息经由发送端基于服务提供方所提供的发送端私钥和系统公钥,以及给定的第一接收端身份数据生成;

所述搜索口令经由接收端基于服务提供方所提供的接收端私钥和系统公钥,以及给定的第一发送端身份数据生成。

为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本公开时可以把各模块的功能在同一个或多个软件和/或硬件中实现。

上述实施例的装置用于实现前述任一实施例中相应的基于商用密码的身份匿名可搜索加密方法,并且具有相应的方法实施例的有益效果,在此不再赘述。

基于同一发明构思,与上述任意实施例方法相对应的,本公开还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上任意一实施例所述的基于商用密码的身份匿名可搜索加密方法。

图4示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线 1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。

处理器1010可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。

存储器1020可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。

输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。

通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。

总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。

需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。

上述实施例的电子设备用于实现前述任一实施例中相应的基于商用密码的身份匿名可搜索加密方法,并且具有相应的方法实施例的有益效果,在此不再赘述。

基于同一发明构思,与上述任意实施例方法相对应的,本公开还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如上任一实施例所述的基于商用密码的身份匿名可搜索加密方法。

本实施例的计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。

上述实施例的存储介质存储的计算机指令用于使所述计算机执行如上任一实施例所述的基于商用密码的身份匿名可搜索加密方法,并且具有相应的方法实施例的有益效果,在此不再赘述。

所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本公开的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本公开实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。

另外,为简化说明和讨论,并且为了不会使本公开实施例难以理解,在所提供的附图中可以示出或可以不示出与集成电路(IC)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本公开实施例难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本公开实施例的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本公开的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本公开实施例。因此,这些描述应被认为是说明性的而不是限制性的。

尽管已经结合了本公开的具体实施例对本公开进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态RAM(DRAM))可以使用所讨论的实施例。

本公开实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本公开实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本公开的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号