CN110140161B - 加密标签生成装置、检索查询生成装置和隐匿检索系统 - Google Patents

加密标签生成装置、检索查询生成装置和隐匿检索系统 Download PDF

Info

Publication number
CN110140161B
CN110140161B CN201780082449.9A CN201780082449A CN110140161B CN 110140161 B CN110140161 B CN 110140161B CN 201780082449 A CN201780082449 A CN 201780082449A CN 110140161 B CN110140161 B CN 110140161B
Authority
CN
China
Prior art keywords
tag
key
search query
encrypted
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201780082449.9A
Other languages
English (en)
Other versions
CN110140161A (zh
Inventor
川合丰
小关义博
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of CN110140161A publication Critical patent/CN110140161A/zh
Application granted granted Critical
Publication of CN110140161B publication Critical patent/CN110140161B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Mathematical Physics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • Algebra (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

在加密标签生成装置(40)中,核心标签生成部(412)利用标签生成密钥tk对表示许可检索的范围的范围条件x进行加密而生成作为基B中的向量的核心标签c x。加密标签生成部(413)使用对检索的关键字w1进行编码而成的编码信息EW1对由核心标签生成部(412)生成的核心标签c x进行转换,由此,生成设定有关键字w1的加密标签cx、w

Description

加密标签生成装置、检索查询生成装置和隐匿检索系统
技术领域
本发明涉及能够对加密状态的数据进行检索的隐匿检索技术。
背景技术
近年来,存在使用网络特别是互联网中的运算资源执行并提供各种服务的云计算技术。作为这些服务,可考虑在网络中保管各种数据并仅由被许可利用数据的检索者下载并利用该数据这样的服务。
但是,有时保管在网络中的数据存在使用者的个人信息这样的需要隐匿成不会泄漏给第三者的数据。已知这样的数据能够通过秘密密钥加密、公开密钥加密这样的加密进行隐匿。
这样,通过将加密后的数据放置于网络中,能够兼顾数据的隐匿化和云计算的灵活使用。但是,存在由于数据被加密而无法进行检索这样的课题。作为解决该课题的技术,存在隐匿检索技术。在隐匿检索技术中,能够通过使用特別的加密方法,对加密状态的数据进行检索。
在这样的隐匿检索技术中重要的是,信息不从保存于云的数据泄漏。除此以外,还重要的是,要检索的关键字这样的信息也不从在进行检索时发送的检索查询泄漏。
在专利文献1和非专利文献1中,记载有登记加密数据的用户和执行检索的用户共享相同的密钥并使用内积谓词加密这样的加密技术的方式。由此,在专利文献1和非专利文献1中,实现了在进行检索时要检索的关键字完全不泄漏的方式。
除此以外,在专利文献1中记载有能够在加密学上包含按照每个用户对可以访问哪个加密数据进行控制的访问控制的方式。
在非专利文献2中记载有通过登记加密数据的用户和执行检索的用户共享相同的密钥而在关键字完全不泄漏的情况下实现有效检索的方式。
现有技术文献
专利文献
专利文献1:国际公开2015/184894号公报
非专利文献
非专利文献1:Emily Shen,Elaine Shi,and Brent Waters.Predicate privacyin encryption systems.In TCC 2009,volume 5444of LNCS,pages 457-473.Springer,2009
非专利文献2:D.Boneh,G.D.Crescenzo,R.Ostrovsky,and G.Persiano.Public-Key Encryption with Keyword Search.In Advances in Cryptology-Eurocrypt,volume3027of LNCS,pages 506-522.Springer,2004.
发明内容
发明要解决的课题
在专利文献1和非专利文献1记载的方式中,在检索时使用的配对运算的执行次数较多,检索速度变慢。在非专利文献2记载的方式中,无法实现专利文献1记载的方式那样的访问控制。
本发明的目的在于,能够实现灵活的访问控制并加快检索速度。
用于解决课题的手段
本发明的加密标签生成装置具有:
核心标签生成部,其对表示许可检索的范围的范围条件进行加密而生成核心标签;以及
加密标签生成部,其使用对检索的关键字进行编码而成的编码信息对由所述核心标签生成部生成的所述核心标签进行转换,由此,生成设定有所述关键字的加密标签。
发明效果
在本发明中,使用对关键字进行编码而成的编码信息对核心标签进行转换而生成加密标签,该核心标签是对范围条件进行加密而得到的。由此,能够减少加密标签中包含的元素数量,能够加快检索速度。此外,加密标签中还设定有范围条件,能够实现灵活的访问控制。
附图说明
图1是实施方式1的隐匿检索系统10的结构图。
图2是实施方式1的主密钥生成装置20的结构图。
图3是实施方式1的用户密钥生成装置30的结构图。
图4是实施方式1的加密标签生成装置40的结构图。
图5是实施方式1的检索查询生成装置50的结构图。
图6是实施方式1的检索装置60的结构图。
图7是示出实施方式1的主密钥生成装置20的动作的流程图。
图8是示出实施方式1的用户密钥生成装置30的动作的流程图。
图9是示出实施方式1的加密标签生成装置40的动作的流程图。
图10是示出实施方式1的检索查询生成装置50的动作的流程图。
图11是示出实施方式1的检索装置60的动作的流程图,且是示出加密标签存储处理的流程图。
图12是示出实施方式1的检索装置60的动作的流程图,且是示出加密标签检索处理的流程图。
图13是变形例1的主密钥生成装置20的结构图。
图14是变形例1的用户密钥生成装置30的结构图。
图15是变形例1的加密标签生成装置40的结构图。
图16是变形例1的检索查询生成装置50的结构图。
图17是变形例1的检索装置60的结构图。
具体实施方式
实施方式1
***记法的说明***
在A为随机变量或分布时,数式11表示根据A的分布而从A中随机选择y。即,在数式11中,y为随机数。
[数式11]
Figure BDA0002119904950000031
式12表示用z定义y的集合或者将y代入z的集合。
[数式12]
y:=z
在a为常数时,数式13表示机械(算法)A相对于输入x而输出a。
[数式13]
A(x)→a
相对于数式14所示的基B和基B*,是数式15。
[数式14]
Figure BDA0002119904950000041
Figure BDA0002119904950000042
[数式15]
Figure BDA0002119904950000043
Figure BDA0002119904950000044
Fq表示位数q的有限体。此外,y∈Fq Z表示y是具有有限体Fq上的z个元素的向量。此外,y∈Fq Z×W表示y是具有有限体Fq上的元素的Z行W列的矩阵。
***结构的说明***
参照图1,说明实施方式1的隐匿检索系统10的结构。
隐匿检索系统10具有主密钥生成装置20、1个以上的用户密钥生成装置30、1个以上的加密标签生成装置40、1个以上的检索查询生成装置50和检索装置60。
主密钥生成装置20、各用户密钥生成装置30、各加密标签生成装置40、各检索查询生成装置50和检索装置60经由互联网这样的网络70而连接。网络70不限于互联网,也可以是LAN(Local Area Network:局域网)这样的其他类别的网络。网络70是与主密钥生成装置20、各用户密钥生成装置30、各加密标签生成装置40、各检索查询生成装置50和检索装置60的通信路径。
参照图2,说明实施方式1的主密钥生成装置20的结构。
主密钥生成装置20是计算机。
主密钥生成装置20具有处理器21、内存22、存储器23和通信接口24这样的硬件。处理器21经由信号线而与其他硬件连接,对这些其他硬件进行控制。
主密钥生成装置20作为功能结构要素具有取得部211、主密钥生成部212和输出部213。通过软件实现取得部211、主密钥生成部212和输出部213的功能。
存储器23中存储有实现取得部211、主密钥生成部212和输出部213的功能的程序。该程序被处理器21读入到内存22中,由处理器21执行。由此,实现取得部211、取得部211、主密钥生成部212和输出部213的功能。
此外,存储器23实现密钥存储部231的功能。
参照图3,说明实施方式1的用户密钥生成装置30的结构。
用户密钥生成装置30是计算机。
用户密钥生成装置30具有处理器31、内存32、存储器33和通信接口34这样的硬件。处理器31经由信号线而与其他硬件连接,对这些其他硬件进行控制。
用户密钥生成装置30作为功能结构要素具有取得部311、用户密钥生成部312和输出部313。通过软件实现取得部311、用户密钥生成部312和输出部313的功能。
存储器33中存储有实现取得部311、用户密钥生成部312和输出部313的功能的程序。该程序被处理器31读入到内存32中,由处理器31执行。由此,实现取得部311、用户密钥生成部312和输出部313的功能。
此外,存储器33实现密钥存储部331的功能。
参照图4,说明实施方式1的加密标签生成装置40的结构。
加密标签生成装置40是计算机。
加密标签生成装置40具有处理器41、内存42、存储器43和通信接口44这样的硬件。处理器41经由信号线而与其他硬件连接,对这些其他硬件进行控制。
加密标签生成装置40作为功能结构要素具有取得部411、核心标签生成部412、加密标签生成部413和输出部414。通过软件实现取得部411、核心标签生成部412、加密标签生成部413和输出部414的功能。
存储器43中存储有实现取得部411、核心标签生成部412、加密标签生成部413和输出部414的功能的程序。该程序被处理器41读入到内存42中,由处理器41执行。由此,实现取得部411、核心标签生成部412、加密标签生成部413和输出部414的功能。
此外,存储器43实现密钥存储部431的功能。
参照图5,说明实施方式1的检索查询生成装置50的结构。
检索查询生成装置50是计算机。
检索查询生成装置50具有处理器51、内存52、存储器53和通信接口54这样的硬件。处理器51经由信号线而与其他硬件连接,对这些其他硬件进行控制。
检索查询生成装置50作为功能结构要素具有取得部511、查询生成部512和输出部513。通过软件实现取得部511、查询生成部512和输出部513的功能。
存储器53中存储有实现取得部511、查询生成部512和输出部513的功能的程序。该程序被处理器51读入到内存52中,由处理器51执行。由此,实现取得部511、查询生成部512和输出部513的功能。
此外,存储器53实现密钥存储部531的功能。
参照图6,说明实施方式1的检索装置60的结构。
检索装置60是计算机。
检索装置60具有处理器61、内存62、存储器63和通信接口64这样的硬件。处理器61经由信号线而与其他硬件连接,对这些其他硬件进行控制。
检索装置60作为功能结构要素具有取得部611、核对部612和输出部613。通过软件实现取得部611、核对部612和输出部613的功能。
存储器63中存储有实现取得部611、核对部612和输出部613的功能的程序。该程序被处理器61读入到内存62中,由处理器61执行。由此,实现取得部611、核对部612和输出部613的功能。
此外,存储器63实现加密标签存储部631的功能。
处理器21、31、41、51、61是进行运算处理的IC(Integrated Circuit:集成电路)。作为具体例,处理器21、31、41、51、61是CPU(Central Processing Unit:中央处理单元)、DSP(Digital Signal Processor:数字信号处理器)和GPU(Graphics Processing Unit:图形处理单元)。
内存22、32、42、52、62是临时存储数据的存储装置。作为具体例,内存22、32、42、52、62是SRAM(Static Random Access Memory:静态随机存取存储器)和DRAM(DynamicRandom Access Memory:动态随机存取存储器)。
存储器23、33、43、53、63是保管数据的存储装置。作为具体例,存储器23、33、43、53、63是HDD(Hard Disk Drive:硬盘驱动器)。此外,存储器23、33、43、53、63也可以是SD(Secure Digital:安全数字)存储卡、CF(CompactFlash:致密闪存)、NAND闪存、软盘、光盘、压缩盘、Blu-ray(注册商标)盘、DVD(Digital Versatile Disk:数字多功能盘)这样的移动存储介质。
通信接口24、34、44、54、64是用于与外部装置进行通信的接口。作为具体例,通信接口24、34、44、54、64是Ethernet(注册商标)、USB(Universal Serial Bus:通用串行总线)、HDMI(注册商标:High-Definition Multimedia Interface:高清晰度多媒体接口)的端口。
在图2中,仅示出一个处理器21。但是,主密钥生成装置20也可以具有替代处理器21的多个处理器。同样,用户密钥生成装置30也可以具有替代处理器31的多个处理器,加密标签生成装置40也可以具有替代处理器41的多个处理器,检索查询生成装置50也可以具有替代处理器51的多个处理器。同样,检索装置60也可以具有替代处理器61的多个处理器。该多个处理器分担执行实现各功能结构要素的功能的程序。与处理器21、31、41、51、61同样,各个处理器是进行运算处理的IC。
***动作的说明***
参照图7,说明实施方式1的主密钥生成装置20的动作。
实施方式1的主密钥生成装置20的动作相当于实施方式1的主密钥生成方法。此外,实施方式1的主密钥生成装置20的动作相当于实施方式1的主密钥生成程序的处理。
(步骤S11:取得处理)
取得部211取得安全性参数λ和维数N。
具体而言,取得部211经由通信接口24接收由主密钥生成装置20的管理者等输入的安全性参数λ和维数N。取得部211将安全性参数λ和维数N写入到内存22中。安全性参数λ是与必要的安全性对应地决定的值。维数N是由必要的安全性和想实现的访问控制的内容等决定的值,作为具体例,是3以上的整数。
(步骤S12:基生成处理)
主密钥生成部212生成参数param、作为标准正交基的基B和基B*
具体而言,主密钥生成部212从内存22读出安全性参数λ和维数N。如数式16所示,主密钥生成部212以安全性参数λ和维数N为输入,生成参数param、基B和基B*。主密钥生成部212将生成的参数param、基B和基B*写入到内存22中。
[数式16]
Figure BDA0002119904950000081
Figure BDA0002119904950000082
Figure BDA0002119904950000083
Figure BDA0002119904950000084
Figure BDA0002119904950000085
Figure BDA0002119904950000086
Figure BDA0002119904950000087
Figure BDA0002119904950000088
Figure BDA0002119904950000089
Figure BDA00021199049500000810
算法Gbpg是生成对象双线性配对群(q、G、GT、g、e)的算法。对象双线性配对群(q、G、GT、g、e)是素数q、位数q的循环加法群G、位数q的循环乘法群GT、g≠0∈G、非退化双线性配对e:G×G→GT的组。
算法Gdpvs是生成对偶配对向量空间(q、V、GT、A、e)的算法。对偶配对向量空间(q、V、GT、A、e)是素数q、由群G的直积构成的N维向量空间V、位数q的循环群GT、空间V的标准基A:=(a1,…,aN)的组。
(步骤S13:公共密钥生成处理)
主密钥生成部212随机生成公共密钥K←{0、1}λ。主密钥生成部212将生成的公共密钥K写入到内存22中。
(步骤S14:主密钥生成处理)
主密钥生成部212生成标签生成密钥tk和主密钥mk。
具体而言,主密钥生成部212从内存22读出参数param和基B。主密钥生成部212将读出的参数param和基B作为标签生成密钥tk写入到内存22中。此外,主密钥生成部212从内存22读出参数param和基B*。主密钥生成部212将读出的参数param和基B*作为主密钥mk写入到内存22中。
(步骤S15:输出处理)
输出部213将公共密钥K、标签生成密钥tk和主密钥mk输出到密钥存储部231。
具体而言,输出部213从内存22读出公共密钥K、标签生成密钥tk和主密钥mk。输出部213将读出的公共密钥K、标签生成密钥tk和主密钥mk写入到密钥存储部231中。此外,输出部213经由通信接口24向用户密钥生成装置30发送主密钥mk,向加密标签生成装置40发送公共密钥K和标签生成密钥tk,向检索查询生成装置50发送公共密钥K。
输出部213在发送公共密钥K、标签生成密钥tk和主密钥mk时,利用通过现有的加密方式进行加密这样的方法,使得公共密钥K、标签生成密钥tk和主密钥mk不泄漏给他人。另外,输出部213也可以将公共密钥K、标签生成密钥tk和主密钥mk经由通信接口24写入到移动存储介质中,而不经由网络70发送。而且,也可以将移动存储介质通过邮件发送到用户密钥生成装置30、加密标签生成装置40和检索查询生成装置50。
参照图8,说明实施方式1的用户密钥生成装置30的动作。
实施方式1的用户密钥生成装置30的动作相当于实施方式1的用户密钥生成方法。此外,实施方式1的用户密钥生成装置30的动作相当于实施方式1的用户密钥生成程序的处理。
(步骤S21:取得处理)
取得部311取得主密钥mk和用户的属性信息v
具体而言,取得部311经由通信接口34接收在图7的步骤S15中发送的主密钥mk。取得部311将接收到的主密钥mk写入到内存32和密钥存储部331中。另外,在已经在密钥存储部331中存储有主密钥mk的情况下,取得部311从密钥存储部331读出主密钥mk并写入到内存32中。
此外,取得部311经由通信接口34接收由用户密钥生成装置30的管理者等输入的用户的属性信息v。用户的属性信息v表现为有限体Fq上的n维向量。属性信息v是元素全部为0的向量以外的向量。取得部311将接收到的属性信息v写入到内存32中。属性信息v表示用户的所属部门和职务这样的用户的属性。
(步骤S22:随机数生成处理)
用户密钥生成部312生成随机数σ∈Fq和随机数η∈Fq L。用户密钥生成部312将生成的随机数σ和随机数η写入到内存32中。
(步骤S23:用户密钥生成处理)
用户密钥生成部312在主密钥mk中设定属性信息v而生成用户密钥k*
具体而言,用户密钥生成部312从内存32读出主密钥mk、属性信息v、随机数σ和随机数η。用户密钥生成部312使用主密钥mk、属性信息v、随机数σ和随机数η,如数式17所示生成用户密钥k*。用户密钥生成部312将生成的用户密钥k*写入到内存32中。
[数式17]
Figure BDA0002119904950000101
另外,0m表示m个0。同样,0k表示k个0。m、k是0以上的整数。
(步骤S24:输出处理)
输出部313输出用户密钥k*
具体而言,输出部313从内存32读出用户密钥k*。输出部313经由通信接口34向检索查询生成装置50发送读出的用户密钥k*。输出部313也可以将用户密钥k*写入到移动存储介质中,将移动存储介质发送到检索查询生成装置50。
参照图9,说明实施方式1的加密标签生成装置40的动作。
实施方式1的加密标签生成装置40的动作相当于实施方式1的加密标签生成方法。此外,实施方式1的加密标签生成装置40的动作相当于实施方式1的加密标签生成程序的处理。
(步骤S31:取得处理)
取得部411取得公共密钥K、标签生成密钥tk、范围条件x和关键字w1。
具体而言,取得部411经由通信接口44接收在图7的步骤S15中发送的公共密钥K和标签生成密钥tk。取得部411将接收到的公共密钥K和标签生成密钥tk写入到内存42和密钥存储部431中。另外,在已经在密钥存储部431中存储有公共密钥K和标签生成密钥tk的情况下,取得部411从密钥存储部431读出公共密钥K和标签生成密钥tk,并写入到内存42中。
此外,取得部411经由通信接口44接收由加密标签生成装置40的使用者等输入的范围条件x和关键字w1。范围条件x表现为有限体Fq上的n维向量。范围条件x是元素全部为0的向量以外的向量。范围条件x表示许可检索的范围,并表示许可检索的所属部门和职务等。关键字w1是任意比特数的比特串。取得部411将接收到的范围条件x和关键字w1写入到内存42中。
(步骤S32:随机数生成处理)
核心标签生成部412生成随机数ω∈Fq和随机数
Figure BDA0002119904950000112
核心标签生成部412将生成的随机数ω和随机数
Figure BDA0002119904950000113
写入到内存42中。
(步骤S33:核心标签生成处理)
核心标签生成部412用作为用于生成加密标签cx、w的密钥的标签生成密钥tk对表示许可检索的范围的范围条件x进行加密而生成核心标签c x
具体而言,核心标签生成部412从内存42读出标签生成密钥tk、范围条件x、随机数ω和随机数
Figure BDA0002119904950000114
核心标签生成部412使用标签生成密钥tk、范围条件x、随机数ω和随机数
Figure BDA0002119904950000115
如数式18所示,生成作为基B中的向量的核心标签c x。核心标签生成部412将生成的核心标签c x写入到内存42中。
[数式18]
Figure BDA0002119904950000111
另外,0L表示L个0。L是0以上的整数。
(步骤S34:编码处理)
加密标签生成部413生成作为对关键字w1进行编码而成的编码信息的矩阵EW1。
具体而言,加密标签生成部413从内存42读出公共密钥K和关键字w1。加密标签生成部413以公共密钥K和关键字w1为输入,计算编码函数H,生成N行N列的正方矩阵即矩阵EW1∈Fq N×N。加密标签生成部413将生成的矩阵EW1写入到内存42中。
作为具体例,编码函数H是反复执行哈希函数的函数。例如,编码函数H将公共密钥K、关键字w1和值“1”输入到哈希函数,生成矩阵EW的第1行成分。此外,编码函数H将公共密钥K、关键字w1和值“2”输入到哈希函数,生成矩阵EW的第2行成分。这样,编码函数H是将公共密钥K、关键字w1和与其行对应的值作为哈希函数的输入计算矩阵EW的各行的成分的函数。
(步骤S35:加密标签生成处理)
加密标签生成部413利用作为对检索的关键字w1进行编码而成的编码信息的矩阵EW1对核心标签c x进行转换,由此,生成设定有关键字w1的加密标签cx、w
具体而言,加密标签生成部413从内存42读出核心标签c x和矩阵EW1。如数式19所示,加密标签生成部413计算核心标签c x与矩阵EW1的矩阵积而生成加密标签cx、w
[数式19]
cx,w:=c x·(EW1)
即,加密标签生成部413计算核心标签c x与矩阵EW1的矩阵积,对核心标签c x的基B进行转换,由此,生成加密标签cx、w。加密标签生成部413将生成的加密标签cx、w写入到内存42中。
(步骤S36:输出处理)
输出部414输出加密标签cx、w
具体而言,输出部414从内存42读出加密标签cx、w。输出部414经由通信接口44将读出的加密标签cx、w发送到检索装置60。输出部414也可以将加密标签cx、w写入到移动存储介质中,将移动存储介质发送到检索装置60。
参照图10,说明实施方式1的检索查询生成装置50的动作。
实施方式1的检索查询生成装置50的动作相当于实施方式1的检索查询生成方法。此外,实施方式1的检索查询生成装置50的动作相当于实施方式1的检索查询生成程序的处理。
(步骤S41:取得处理)
取得部511取得公共密钥K、用户密钥k*和关键字w2。
具体而言,取得部511经由通信接口54接收在图7的步骤S15中发送的公共密钥K。取得部511将接收到的公共密钥K写入到内存52和密钥存储部531中。另外,在已经在密钥存储部531中存储有公共密钥k的情况下,取得部511从密钥存储部531读出公共密钥k并写入到内存52中。
此外,取得部511经由通信接口54接收在图8的步骤S24中发送的用户密钥k*。取得部511将接收到的用户密钥k*写入到内存52和密钥存储部531中。另外,在已经在密钥存储部531中存储有用户密钥k*的情况下,取得部511从密钥存储部531读出用户密钥k*并写入到内存52中。
此外,取得部511经由通信接口54接收由检索查询生成装置50的使用者等输入的关键字w2。关键字w2是任意比特数的比特串。取得部411将接收到的关键字w2写入到内存52中。
(步骤S42:随机数生成处理)
查询生成部512生成随机数r∈Fq。查询生成部512将生成的随机数r写入到内存52中。
(步骤S43:编码处理)
查询生成部512生成作为对关键字w2进行编码而成的编码信息的矩阵EW2。
具体而言,查询生成部512从内存52读出公共密钥K和关键字w2。查询生成部512以公共密钥K和关键字w2为输入计算编码函数H,生成N行N列的正方矩阵即矩阵EW2∈Fq N×N。查询生成部512将生成的矩阵EW2写入到内存52中。
另外,编码函数H使用与图9的步骤S34相同的编码函数H。
(步骤S44:查询生成处理)
查询生成部512利用作为对检索的关键字w2进行编码而成的编码信息的矩阵EW2对设定有用户属性的用户密钥k*进行转换,由此,生成设定有关键字w2的检索查询k* v、w
具体而言,查询生成部512从内存52读出用户密钥k*、矩阵EW2和随机数r。如数式20所示,加密标签生成部413计算用户密钥k*与将矩阵EW2转置而成的矩阵的逆矩阵的矩阵积而生成检索查询k* v、w
[数式20]
Figure BDA0002119904950000131
即,查询生成部512计算用户密钥k*与将矩阵EW2转置而成的矩阵的逆矩阵的矩阵积,对用户密钥k*的基B*进行转换,由此,生成检索查询k* v、w。查询生成部512将生成的检索查询k* v、w写入到内存52中。
(步骤S45:输出处理)
输出部513输出检索查询k* v、w
具体而言,输出部513从内存52读出检索查询k* v、w。输出部513经由通信接口54将读出的检索查询k* v、w发送到检索装置60。输出部513也可以将检索查询k* v、w写入到移动存储介质中,将移动存储介质发送到检索装置60。
参照图11和图12,说明实施方式1的检索装置60的动作。
实施方式1的检索装置60的动作相当于实施方式1的检索方法。此外,实施方式1的检索装置60的动作相当于实施方式1的检索程序的处理。
实施方式1的检索装置60的动作被分成加密标签存储处理和加密标签检索处理。
参照图11,说明实施方式1的加密标签存储处理。
(步骤S51:取得处理)
取得部611取得加密标签cx、w
具体而言,取得部611经由通信接口64接收在图9的步骤S36中发送的加密标签cx、w。取得部611将接收到的加密标签cx、w写入到加密标签存储部631中。
每次在图9的步骤S36中发送加密标签cx、w时,将发送的加密标签cx、w写入到加密标签存储部631中,在加密标签存储部631中存储多个加密标签cx、w
参照图12,说明实施方式1的加密标签检索处理。
(步骤S61:取得处理)
取得部611取得检索查询k* v、w
具体而言,取得部611经由通信接口64接收在图10的步骤S45中发送的检索查询k* v、w。取得部611将接收到的检索查询k* v、w写入到内存62中。
(步骤S62:核对处理)
核对部612对加密标签存储部631中存储的各加密标签cx、w与检索查询k* v、w进行核对,提取与检索查询k* v、w对应的加密标签cx、w
具体而言,核对部612从内存62读出检索查询k* v、w。核对部612对加密标签存储部631中存储的各加密标签cx、w和读出的检索查询k* v、w进行数式21所示的配对运算。
[数式21]
Figure BDA0002119904950000141
如果根据配对运算的结果得到的值P为1,则核对部612判定为运算对象的加密标签cx、w与检索查询k* v、w对应,如果根据配对运算的结果得到的值P不是1,则核对部612判定为运算对象的加密标签cx、w不与检索查询k* v、w对应。
(步骤S63:输出处理)
输出部613输出核对结果。
具体而言,输出部613经由通信接口64将被判定为与检索查询k* v、w对应的加密标签cx、w的识别信息,发送到作为在步骤S61中接收到的检索查询k* v、w的发送源的检索查询生成装置50。或者,输出部613经由通信接口64将是否存在被判定为与检索查询k* v、w对应的加密标签cx、w,发送到作为在步骤S61中接收到的检索查询k* v、w的发送源的检索查询生成装置50。
***实施方式1的效果***
如上所述,在实施方式1的隐匿检索系统10中,加密标签生成装置40利用作为对关键字w1进行编码而成的编码信息的矩阵EW1对通过对范围条件x进行加密而得到的核心标签c x进行转换,生成加密标签cx、w。此外,检索查询生成装置50利用作为对关键字w2进行编码而成的编码信息的矩阵EW2对设定有属性信息v的用户密钥k*进行转换,生成检索查询k* v、w
更具体而言,加密标签生成装置40利用矩阵EW1对核心标签c x的基B进行转换,由此,在不增加核心标签c x的元素数量的情况下,生成设定有关键字的加密标签cx、w。此外,检索查询生成装置50利用矩阵EW2对用户密钥k*的基B*进行转换,由此,在不增加用户密钥k*的元素数量的情况下,生成设定有关键字的检索查询k* v、w
因此,与如以往那样具有分别与范围信息和关键字对应的元素的加密标签和具有分别与属性信息和关键字对应的元素的检索查询,能够生成元素数量较少的加密标签cx、w和检索查询k* v、w。其结果是,能够减少图12的步骤S63中的配对运算的运算数量。当配对运算的运算数量变少时,加密标签cx、w与检索查询k* v、w的核对花费的处理时间变短,检索速度加快。
此外,在实施方式1的隐匿检索系统10中,如以往那样,在加密标签cx、w中设定范围信息,在检索查询k* v、w中设定属性信息。因此,能够实现灵活的访问控制。
***其他结构***
<变形例1>
在实施方式1中是通过软件实现主密钥生成装置20、用户密钥生成装置30、加密标签生成装置40、检索查询生成装置50和检索装置60的功能结构要素。但是,作为变形例1,也可以通过硬件实现功能结构要素。关于该变形例1,说明与实施方式1不同的内容。
参照图13,说明变形例1的主密钥生成装置20的结构。
在通过硬件实现功能的情况下,主密钥生成装置20替代处理器21、内存22和存储器23而具有处理电路25。处理电路25是实现主密钥生成装置20的功能结构要素、内存22和存储器23的功能的专用电子电路。
参照图14,说明变形例1的用户密钥生成装置30的结构。
在通过硬件实现功能的情况下,用户密钥生成装置30替代处理器31、内存32和存储器33而具有处理电路35。处理电路35是实现用户密钥生成装置30的功能结构要素、内存32和存储器33的功能的专用电子电路。
参照图15,说明变形例1的加密标签生成装置40的结构。
在通过硬件实现功能的情况下,密钥标签生成装置40替代处理器41、内存42和存储器43而具有处理电路45。处理电路45是实现加密标签生成装置40的功能结构要素、内存42和存储器43的功能的专用电子电路。
参照图16,说明变形例1的检索查询生成装置50的结构。
在通过硬件实现功能的情况下,检索查询生成装置50替代处理器51、内存52和存储器53而具有处理电路55。处理电路55是实现检索查询生成装置50的功能结构要素、内存52和存储器53的功能的专用电子电路。
参照图17,说明变形例1的检索装置60的结构。
在通过硬件实现功能的情况下,检索装置60替代处理器61、内存62和存储器63而具有处理电路65。处理电路65是实现检索装置60的功能结构要素、内存62和存储器63的功能的专用电子电路。
处理电路25、35、45、55、65可设想有单一电路、复合电路、程序化的处理器、并行程序化的处理器、逻辑IC、GA(Gate Array:门阵列)、ASIC(Application SpecificIntegrated Circuit:面向特定用途的集成电路)、FPGA(Field-Programmable GateArray:现场可编程门阵列)。
可以通过一个处理电路25实现主密钥生成装置20的各功能结构要素的功能,也可以使各功能结构要素的功能分散到多个处理电路25中实现。同样,用户密钥生成装置30、加密标签生成装置40、检索查询生成装置50和检索装置60可以分别通过一个处理电路35、45、55、65实现各功能结构要素的功能,也可以使各功能结构要素的功能分散到多个处理电路35、45、55、65中实现。
<变形例2>
作为变形例2,也可以通过硬件实现一部分功能,通过软件实现其他功能。即,也可以通过硬件实现各功能结构要素中的一部分功能,通过软件实现其他功能。
将处理器21、31、41、51、61、内存22、32、42、52、62、存储器23、33、43、53、63和处理电路25、35、45、55、65统称作“处理线路”。即,各功能结构要素的功能通过处理线路实现。
标号说明
10:隐匿检索系统;20:主密钥生成装置;21:处理器;22:内存;23:存储器;24:通信接口;25:处理电路;211:取得部;212:主密钥生成部;213:输出部;231:密钥存储部;30:用户密钥生成装置;31:处理器;32:内存;33:存储器;34:通信接口;35:处理电路;311:取得部;312:用户密钥生成部;313:输出部;331:密钥存储部;40:加密标签生成装置;41:处理器;42:内存;43:存储器;44:通信接口;45:处理电路;411:取得部;412:核心标签生成部;413:加密标签生成部;414:输出部;431:密钥存储部;50:检索查询生成装置;51:处理器;52:内存;53:存储器;54:通信接口;55:处理电路;511:取得部;512:查询生成部;513:输出部;531:密钥存储部;60:检索装置;61:处理器;62:内存;63:存储器;64:通信接口;65:处理电路;611:取得部;612:核对部;613:输出部;631:加密标签存储部;70:网络。

Claims (7)

1.一种加密标签生成装置,该加密标签生成装置具有:
核心标签生成部,其对表示许可检索的范围的范围条件进行加密而生成核心标签;以及
加密标签生成部,其使用编码信息对由所述核心标签生成部生成的所述核心标签进行转换,由此,生成设定有检索的关键字的加密标签,所述编码信息包括使用公共密钥对所述关键字的编码。
2.根据权利要求1所述的加密标签生成装置,其中,
所述核心标签是基B中的向量,
所述加密标签生成部使用所述编码信息对所述核心标签的所述基B进行转换,由此,生成所述加密标签。
3.根据权利要求2所述的加密标签生成装置,其中,
所述加密标签生成部生成作为所述编码信息的矩阵,计算所述核心标签与所述矩阵之积,对所述基B进行转换。
4.根据权利要求3所述的加密标签生成装置,其中,
所述加密标签生成部生成作为所述编码信息的正方矩阵。
5.一种检索查询生成装置,其中,
所述检索查询生成装置具有查询生成部,该查询生成部使用对检索的关键字进行编码而成的编码信息对设定有用户属性的用户密钥进行转换,由此,生成设定有所述关键字的检索查询;
其中,所述用户密钥是基B*中的向量,
所述查询生成部使用所述编码信息对所述用户密钥的所述基B*进行转换,由此,生成所述检索查询;
所述查询生成部生成作为所述编码信息的矩阵,计算所述用户密钥与将所述矩阵转置而成的矩阵的逆矩阵之积,对所述基B*进行转换。
6.根据权利要求5所述的检索查询生成装置,其中,
所述查询生成部生成作为所述编码信息的正方矩阵。
7.一种隐匿检索系统,该隐匿检索系统具有加密标签生成装置和检索查询生成装置,其中,
所述加密标签生成装置具有:
核心标签生成部,其对表示许可检索的范围的范围条件进行加密而生成核心标签;以及
加密标签生成部,其使用对检索的关键字进行编码而成的编码信息对由所述核心标签生成部生成的所述核心标签进行转换,由此,生成设定有所述关键字的加密标签,
所述检索查询生成装置具有查询生成部,该查询生成部使用对检索的关键字进行编码而成的编码信息对设定有用户属性的用户密钥进行转换,由此,生成设定有所述关键字的检索查询;
其中,所述用户密钥是基B*中的向量,
所述查询生成部使用所述编码信息对所述用户密钥的所述基B*进行转换,由此,生成所述检索查询;
所述查询生成部生成作为所述编码信息的矩阵,计算所述用户密钥与将所述矩阵转置而成的矩阵的逆矩阵之积,对所述基B*进行转换。
CN201780082449.9A 2017-01-12 2017-01-12 加密标签生成装置、检索查询生成装置和隐匿检索系统 Active CN110140161B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2017/000886 WO2018131129A1 (ja) 2017-01-12 2017-01-12 暗号化タグ生成装置、検索クエリ生成装置及び秘匿検索システム

Publications (2)

Publication Number Publication Date
CN110140161A CN110140161A (zh) 2019-08-16
CN110140161B true CN110140161B (zh) 2023-02-17

Family

ID=62839481

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780082449.9A Active CN110140161B (zh) 2017-01-12 2017-01-12 加密标签生成装置、检索查询生成装置和隐匿检索系统

Country Status (4)

Country Link
US (1) US20210173957A1 (zh)
JP (1) JP6494893B2 (zh)
CN (1) CN110140161B (zh)
WO (1) WO2018131129A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019142268A1 (ja) 2018-01-17 2019-07-25 三菱電機株式会社 登録装置、検索操作装置、データ管理装置、登録プログラム、検索操作プログラムおよびデータ管理プログラム
US11617148B2 (en) 2019-05-03 2023-03-28 Samsung Electronics Co., Ltd. Enhancement of flexibility to change STS index/counter for IEEE 802.15.4z
JP6987330B1 (ja) 2020-01-14 2021-12-22 三菱電機株式会社 登録装置、検索操作装置、データ管理装置、登録プログラム、検索操作プログラムおよびデータ管理プログラム

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1201545A (zh) * 1995-09-18 1998-12-09 艾利森电话股份有限公司 用于用户认证的方法和装置
CN102713995A (zh) * 2010-01-15 2012-10-03 三菱电机株式会社 隐匿检索系统以及密码处理系统
CN105190636A (zh) * 2013-03-28 2015-12-23 三菱宇宙软件株式会社 基因信息存储装置、基因信息检索装置、基因信息存储程序、基因信息检索程序、基因信息存储方法、基因信息检索方法以及基因信息检索系统
CN105210133A (zh) * 2013-05-15 2015-12-30 三菱电机株式会社 加密系统、加密方法以及加密程序
CN105745861A (zh) * 2013-11-18 2016-07-06 三菱电机株式会社 信息发布系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0887508A (ja) * 1994-09-14 1996-04-02 Olympus Optical Co Ltd 情報検索装置
JP5606351B2 (ja) * 2011-02-09 2014-10-15 三菱電機株式会社 暗号処理システム、鍵生成装置、暗号化装置、復号装置、鍵委譲装置、暗号処理方法及び暗号処理プログラム
JP5606642B2 (ja) * 2012-01-25 2014-10-15 三菱電機株式会社 データ検索装置、データ検索方法、データ検索プログラム、データ登録装置、データ登録方法、データ登録プログラムおよび情報処理装置
KR20150108516A (ko) * 2014-03-18 2015-09-30 한국전자통신연구원 범위 검색을 위한 복호화가능 인덱스 생성 방법, 검색 방법, 및 복호화 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1201545A (zh) * 1995-09-18 1998-12-09 艾利森电话股份有限公司 用于用户认证的方法和装置
CN102713995A (zh) * 2010-01-15 2012-10-03 三菱电机株式会社 隐匿检索系统以及密码处理系统
CN105190636A (zh) * 2013-03-28 2015-12-23 三菱宇宙软件株式会社 基因信息存储装置、基因信息检索装置、基因信息存储程序、基因信息检索程序、基因信息存储方法、基因信息检索方法以及基因信息检索系统
CN105210133A (zh) * 2013-05-15 2015-12-30 三菱电机株式会社 加密系统、加密方法以及加密程序
CN105745861A (zh) * 2013-11-18 2016-07-06 三菱电机株式会社 信息发布系统

Also Published As

Publication number Publication date
JP6494893B2 (ja) 2019-04-03
CN110140161A (zh) 2019-08-16
WO2018131129A1 (ja) 2018-07-19
US20210173957A1 (en) 2021-06-10
JPWO2018131129A1 (ja) 2019-06-27

Similar Documents

Publication Publication Date Title
US10489604B2 (en) Searchable encryption processing system and searchable encryption processing method
CN107077469B (zh) 服务器装置、检索系统、终端装置以及检索方法
CN111512592A (zh) 转换密钥生成装置、密文转换装置、隐匿信息处理系统、转换密钥生成方法、转换密钥生成程序、密文转换方法和密文转换程序
WO2024077948A1 (zh) 匿踪查询方法、装置和系统及存储介质
CN103329184A (zh) 数据处理装置以及数据保管装置
CN112042150B (zh) 登记装置、服务器装置、隐匿检索系统、隐匿检索方法及计算机可读取的记录介质
CN110169010B (zh) 同态运算装置、加密系统和计算机能读取的存储介质
EP3661115B1 (en) Encryption device, decryption device, encryption method, decryption method, encryption program, and decryption program
CN110140161B (zh) 加密标签生成装置、检索查询生成装置和隐匿检索系统
CN111104434B (zh) 一种基于隐私保护多级属性相似度的电子医疗推荐方法
JP2023063430A (ja) 暗号システム、鍵生成装置、暗号化装置、復号装置、方法及びプログラム
Hou et al. A graded reversible watermarking scheme for relational data
WO2018008547A1 (ja) 秘密計算システム、秘密計算装置、秘密計算方法、およびプログラム
Xu et al. Privacy preserving large scale DNA read-mapping in MapReduce framework using FPGAs
JP7233265B2 (ja) 署名装置、検証装置、署名方法、検証方法、署名プログラム及び検証プログラム
CN116361849A (zh) 一种加密数据库的备份数据加密、解密方法及装置
CN112236974A (zh) 解密装置、加密装置以及密码系统
JP7126635B2 (ja) 再暗号化装置、暗号システム、再暗号化方法及び再暗号化プログラム
JP2017223822A (ja) 暗号文処理システム、暗号文処理サーバ、及び暗号文処理方法
US11971998B2 (en) Data comparison device, data comparison system, and data comparison method
US20220103534A1 (en) Information processing system and information processing method
WO2023243141A1 (ja) 連合学習システム及び連合学習方法
US11824638B2 (en) Re-encryption device, method and computer readable medium to change the access range for ciphertext
US11989325B1 (en) Protecting membership in a secure multi-party computation and/or communication
JP6918253B2 (ja) 秘匿検索システムおよび秘匿検索方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant