CN113452706B - 支持数值型属性比较访问策略的属性加密方法及系统 - Google Patents

支持数值型属性比较访问策略的属性加密方法及系统 Download PDF

Info

Publication number
CN113452706B
CN113452706B CN202110720321.9A CN202110720321A CN113452706B CN 113452706 B CN113452706 B CN 113452706B CN 202110720321 A CN202110720321 A CN 202110720321A CN 113452706 B CN113452706 B CN 113452706B
Authority
CN
China
Prior art keywords
attribute
numerical
comparison
strategy
range
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
CN202110720321.9A
Other languages
English (en)
Other versions
CN113452706A (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.)
Changsha University
Original Assignee
Changsha University
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 Changsha University filed Critical Changsha University
Priority to CN202110720321.9A priority Critical patent/CN113452706B/zh
Publication of CN113452706A publication Critical patent/CN113452706A/zh
Application granted granted Critical
Publication of CN113452706B publication Critical patent/CN113452706B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0861Network architectures or network communication protocols for network security for authentication of entities using biometrical features, e.g. fingerprint, retina-scan
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3231Biological data, e.g. fingerprint, voice or retina

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种支持数值型属性比较访问策略的属性加密方法及系统,本发明包括:将访问策略中的数值型属性关系比较策略转换为数值范围表示,并计算数值范围的前缀最小集合;将数值型属性关系比较策略转换为前缀最小集合中元素的“OR”门限策略连接;计算数值型属性的前缀家族;将数值属性与‑数值型属性关系比较策略的匹配转换为判断前缀家族与前缀最小集合的交集是否为空,若不为空,则判定该数值属性满足访问控制策略,能够获得解密条件;否则判定不满足解密条件。本发明通过引入数值型属性比较表达策略,以及以统一的方式、灵活地实现比较关系表达策略与数值属性间的匹配问题,极大地提高了传统属性加密技术中访问策略的表达能力。

Description

支持数值型属性比较访问策略的属性加密方法及系统
技术领域
本发明涉及密码学领域的属性加密(Attribute-based Encryption)技术,具体涉及一种支持数值型属性比较访问策略的属性加密方法及系统。
背景技术
随着云计算、大数据的快速发展,越来越多的企业和个人开始存储自己的海量私有数据至云中心,这不仅能够极大地节约本地IT建设成本,而且能够借助于云计算平台的强大功能存储和处理数据。然而,云计算数据安全一直是人们担忧的关键问题之一。因为数据一旦被外包至远程的云中心,它们将脱离数据所有者的直接物理控制。用户在外包数据之前,对数据进行加密是保护数据机密性的有效途径之一。然而传统的密码技术可以保证数据的机密性,但缺乏对远程加密数据的访问控制,并不适合像云计算这样数据开发与共享的应用环境。
属性加密(Attribute-based Encryption)允许数据发布者根据数据用户的属性(比如指纹、虹膜、角色、职位等)对数据用户的数据访问能力进行细粒度控制。其基本原理是在密文或密钥中嵌入访问策略,当且仅当解密者的属性集合满足访问策略时,才能对密文进行解密。这样的加密机制能够灵活、细粒度地设置数据的加密条件,控制用户的解密范围,非常适合需要保护数据机密性和对数据进行访问控制的数据共享环境。依据访问策略被嵌入到密文还是密钥中,属性加密主要分为密文策略属性加密和密钥策略属性加密。
目前已有的属性加密技术主要支持字符型属性策略,用户属性与访问策略之间的匹配使用字符型属性之间的文本相等关系来衡量,而对数值型属性与数值型属性关系比较策略的匹配缺乏支持。在实际应用中,数值是一个常见的、非常重要的实体属性,比如年龄、身高、职称等级、温度、湿度等等。在属性加密中引入数值型属性比较表达策略,以及以统一的方式、灵活地处理数值属性与关系比较表达策略之间的匹配,能够极大地提高传统访问策略的表达能力。比如一个访问策略为“(职务:高级工程师)AND(30≤年龄≤60)”,其中“30≤年龄≤60”就是一个数值性属性的关系比较表达策略。如果某个消息使用此访问策略进行加密,那么只有职务级别为高级工程师而且年龄在30岁和60岁之间的解密者才能成功解密消息(比如一个解密者具有属性<高级工程师,45岁>,则能够恢复消息)。显然,对于像“职务级别”这样的文本属性匹配只要进行文本相等性比较;而对于像“年龄”这样的数值型属性,在目前的属性加密中实现属性值与控制策略的匹配非常棘手。一个简单的方法是列举关系运算中所有值,然后使用“或(OR)”连接,比如(职务级别:高级工程师)AND(30≤年龄≤60)”,可以转换为等价策略:(职务级别:高级工程师)AND(30OR 31OR 32......OR 60)。转换以后进行数值间的相等比较实现属性与策略间的匹配。显然,当数值属性的值空间非常大时,这样转换将带来策略尺寸的迅速膨胀,在实际应用中是不现实的。2007年,Bethencourt等人在他们设计的基于密文策略的属性加密中探讨了这个问题,并提出了一个基本方案,但没有很好的解决这个问题。原因在于他们的方法使用“AND”和“OR”门限转换数值型属性关系比较策略,由于针对不同的关系运算需要使用不同的转换策略,导致复杂度非常高,而且转换方式不统一、不灵活。2017年,Xue等人再次研究了这个问题,并利用0-Encoding和1-Encoding编码将关系比较策略转换为“OR”门连接的bit字符串,但该方法主要考虑了“>”和“<”两种关系运算,缺乏其它比较关系运算如“≤”、“≥”、“≠”的支持。
发明内容
本发明要解决的技术问题:针对现有技术的上述问题,提供一种支持数值型属性比较访问策略的属性加密方法及系统,本发明利用前缀成员验证技术,巧妙地转换验证一个数值型属性是否满足数值属性比较表达策略为验证两个集合元素的交集是否为空。本发明能支持所有常见的数值关系比较表达式,并一致、灵活、高效地解决数值型属性与关系比较策略之间的匹配,解决了属性加密中对数值型属性比较策略支持难题。本发明是通用的,能够集成到目前所有的属性加密原语中,实现数值比较表达访问策略与数值属性的匹配和运算。
为了解决上述技术问题,本发明采用的技术方案为:
一种支持数值型属性比较访问策略的属性加密方法,包括:
1)将访问策略中的数值型属性关系比较策略转换为数值范围表示;
2)将数值范围的下界和上界分别用n位二进制表示,计算数值范围的前缀最小集合;
3)将数值型属性关系比较策略转换为前缀最小集合中元素的“OR”门限策略连接,并将前缀最小集合中的元素视为字符串类型的属性值,得到转换后的数值型属性关系比较策略;
4)针对给定数值属性,计算数值型属性的前缀家族;
5)将原数值属性与数值型属性关系比较策略的匹配转换为判断数值型属性的前缀家族与前缀最小集合的交集是否为空,若不为空,则判定该数值型属性满足访问控制策略,具有对密文的解密权限;否则,判定该数值型属性不满足访问控制策略,不满足解密条件。
可选地,步骤1)包括:判断数值型属性关系比较策略的数值比较表达式类型:
若数值比较表达式类型为attr>v,则对应的数值范围为[v+1,max];
若数值比较表达式类型为attr≥v,则对应的数值范围为[v,max];
若数值比较表达式类型为attr<v,则对应的数值范围为[min,v-1];
若比较运算的类型为attr≤v,则对应的数值范围为[min,v];
若数值比较表达式类型为attr!=v,则对应的数值范围为[min,v-1]∪[v+1,max];
若比较运算的类型为attr=v,则对应的数值范围为[v,v];
其中,attr为数值型属性,v为数值型属性中的比较数值,max和min分别为数值型属性所能表示的最大和最小值。
可选地,步骤2)包括:
2.1)将数值范围的下界和上界分别用n位二进制表示为[a1a2...an,b1b2...bn],其中a1a2...an为下界的n位二进制,b1b2...bn为上界的n位二进制;
2.2)从k=1开始在数值范围的下界和上界分别用n位二进制表示中查找满足ak<bk的最高有效位k:若满足条件(1):最高有效位k不存在,且对所有的1≤i≤n,都有ai=bi,使得a1a2...an=b1b2...bn,则将该数值范围用前缀a1a2...an表示,返回前缀最小集合{a1a2...an},跳转执行步骤3);若满足条件(2):最高有效位k存在,且对所有的k≤i≤n,都有ai=0,bi=1,则将该数值范围用前缀a1a2ak-1*表示,返回前缀最小集合{a1a2ak-1*},跳转执行步骤3);如果k=1,返回该范围的前缀最小集合为{*},跳转执行步骤3);否则若满足条件(1)和(2),则将数值范围的n位二进制表示为[a1a2...an,b1b2...bn]划分为两个新范围:R1=[a1...ak-10ak+1...an,a1...ak-10111..1]和R2=[a1...ak-100...0,a1...ak-11bk+1..bn],跳转执行步骤2.3);
2.3)对于范围R1=[a1...ak-10ak+1...an,a1...ak-10111..1],以0为标志,去掉上界和下界的前k-1位:a1...ak-1,得到范围[ak+1ak+2...an,11...1],并将该范围[ak+1ak+2...an,11...1]作为步骤2.2)的输入跳转执行步骤2.2),并使用串a1...ak-10连接运行过程中返回的所有前缀,作为前缀最小集合中的有效元素;对于范围R2=[a1...ak-1100...0,a1...ak- 11bk+1..bn],以1位标志,去掉上界和下界的前k-1位a1...ak-1,得到范围[00..0,bk+1bk+ 2...bn],并将该范围[00..0,bk+1bk+2...bn]作为步骤2.2)的输入跳转执行步骤2.2),并使用串a1...ak-11连接运行过程中返回的所有前缀,作为前缀最小集合中的有效元素;
2.4)基于得到的前缀最小集合中的有效元素得到前缀最小集合,并输出原始范围[a1a2...an,b1b2...bn]的前缀最小集合。
可选地,步骤4)包括:针对给定数值属性对应的w位表示整数b1b2...bw,依次用通配符“*”取代前一个元素的最低位生成一个前缀,从而得到包含w+1个前缀的集合作为该数值型属性对应的前缀家族。
可选地,所述包含w+1个前缀的集合的函数表达式为:
{b1b2...bw,b1b2...bw-1*,b1b2...bw-2**,**...*}
上式中,“*”表示通配符,b1~bw分别为给定数值属性的整数表示的第1~w位。
可选地,步骤5)中判定该数值型属性对应的密文满足解密条件之后,还包括利用属性加密原语中的解密算法对密文进行解密的步骤。
此外,本发明还提供一种支持数值型属性比较访问策略的属性加密系统,包括:
数值范围表示转换程序单元,用于将访问策略中的数值型属性关系比较策略转换为数值范围表示;
前缀最小集合生成程序单元,用于将数值范围的下界和上界分别用n位二进制表示,计算数值范围的前缀最小集合;
策略转换程序单元,用于将数值型属性关系比较策略转换为前缀最小集合中元素的“OR”门限策略连接,并将前缀最小集合中的元素视为字符串类型的属性值,得到转换后的数值型属性关系比较策略;
前缀家族生成程序单元,用于针对给定数值属性,计算数值型属性的前缀家族;
解密条件判断程序单元,用于将原数值属性与数值型属性关系比较策略的匹配转换为判断数值型属性的前缀家族与前缀最小集合的交集是否为空,若不为空,则判定该数值型属性满足访问控制策略,具有对密文的解密权限;否则,判定该数值型属性不满足访问控制策略,不满足解密条件。
可选地,还包括解密程序单元,用于利用属性加密原语中的解密算法对密文进行解密的步骤。
此外,本发明还提供一种支持数值型属性比较访问策略的属性加密系统,包括相互连接的微处理器和存储器,该微处理器被编程或配置以执行所述支持数值型属性比较访问策略的属性加密方法的步骤。
此外,本发明还提供一种计算机可读存储介质,该计算机可读存储介质中存储有支持数值型属性比较访问策略的属性加密方法的计算机程序。
和现有技术相比,本发明主要解决了属性加密中访问策略中数值型属性关系比较策略的转换、属性与策略之间的匹配、以及如何在属性加密原语中的应用问题,具有下述优点:
1、本发明利用前缀成员验证技术,巧妙地转换验证一个数值型属性是否满足数值属性比较表达策略为验证两个集合元素的交集是否为空。本发明能支持所有常见的数值关系比较表达式,并一致、灵活、高效地解决数值型属性与关系比较策略之间的匹配,解决了属性加密中对数值型属性比较策略支持难题。
2、发明通过在访问策略中引入数值型属性比较表达策略,以及以统一的方式、灵活地处理比较表达策略与数值属性间匹配,能够极大地提高传统访问策略的表达能力。
3、本发明是通用的,可以应用于属性加密中访问策略实施方需要对数值型属性进行关系比较表达的应用场景,能够集成到目前所有的属性加密原语中,实现数值比较表达访问策略与数值属性的匹配和运算。
附图说明
图1为本发明实施例方法的应用场景示意图。
图2为本发明实施例方法的基本流程示意图。
图3为本发明实施例中计算数值范围[11,15]的前缀最小集合的算法执行过程图。
图4为本发明实施例中访问策略及访问控制树结构图。
具体实施方式
下文将以图1所示应用场景为例,对本发明支持数值型属性比较访问策略的属性加密方法及系统进行进一步的详细说明。参见图1,数据提供者为了保护数据的机密性并需要对数据实施灵活、细粒度的访问控制,利用属性加密技术、在策略“(职务:经理)AND(11≤level≤15)”下对文件进行加密,加密的数据被上传到云服务器中进行存储。另一方面,数据访问者利用自己的属性信息,决定是否能够访问到明文数据。显然,图中只有数据访问者B能够解密并访问数据,因为他的属性值{“经理”,12}满足访问策略。由于已有的属性加密技术体系在数值属性12与关系比较策略“11≤level≤15”的匹配问题上存在壁垒,我们进一步说明如何运用本发明解决这个问题。
如图2所示,本实施例支持数值型属性比较访问策略的属性加密方法包括:
1)将访问策略中的数值型属性关系比较策略转换为数值范围表示;
2)将数值范围的下界和上界分别用n位二进制表示,计算数值范围的前缀最小集合;
3)将数值型属性关系比较策略转换为前缀最小集合中元素的“OR”门限策略连接,并将前缀最小集合中的元素视为字符串类型的属性值,得到转换后的数值型属性关系比较策略;
4)针对给定数值属性,计算数值型属性的前缀家族;
5)将原数值属性与数值型属性关系比较策略的匹配转换为判断数值型属性的前缀家族与前缀最小集合的交集是否为空,若不为空,则判定该数值型属性满足访问控制策略,具有对密文的解密权限;否则,判定该数值型属性不满足访问控制策略,不满足解密条件。
本实施例中,步骤1)包括:判断数值型属性关系比较策略的数值比较表达式类型:
若数值比较表达式类型为attr>v,则对应的数值范围为[v+1,max];
若数值比较表达式类型为attr≥v,则对应的数值范围为[v,max];
若数值比较表达式类型为attr<v,则对应的数值范围为[min,v-1];
若比较运算的类型为attr≤v,则对应的数值范围为[min,v];
若数值比较表达式类型为attr!=v,则对应的数值范围为[min,v-1]∪[v+1,max];
若比较运算的类型为attr=v,则对应的数值范围为[v,v];
其中,attr为数值型属性,v为数值型属性中的比较数值,max和min分别为数值型属性所能表示的最大和最小值,具体如表1所示。
表1:数值比较表达式及相应的转换范围。
比较运算 表达式 范围
大于 attr>v [v+1,max]
大于等于 attr≥v [v,max]
小于 attr<v [min,v-1]
小于等于 attr≤v [min,v]
不等于 attr!=v [min,v-1]∪[v+1,max]
等于 attr=v [v,v]
根据表1以及前文明说明,可以几乎可以转换所有的关系比较运算为一个等价范围,比如对于表达式v1<attr<v2可以转换为范围[v1+1,v2-1]。对于示例中的数值型属性关系比较策略11≤level≤15,将其转换为范围[11,15]。
本实施例中,步骤2)包括:
2.1)将数值范围的下界和上界分别用n位二进制表示为[a1a2...an,b1b2...bn],其中a1a2...an为下界的n位二进制,b1b2...bn为上界的n位二进制;
2.2)从k=1开始在数值范围的下界和上界分别用n位二进制表示中查找满足ak<bk的最高有效位k:若满足条件(1):最高有效位k不存在,且对所有的1≤i≤n,都有ai=bi,使得a1a2...an=b1b2...bn,则将该数值范围用前缀a1a2...an表示,返回前缀最小集合{a1a2...an},跳转执行步骤3);若满足条件(2):最高有效位k存在,且对所有的k≤i≤n,都有ai=0,bi=1,则将该数值范围用前缀a1a2ak-1*表示,返回前缀最小集合{a1a2ak-1*},跳转执行步骤3);如果k=1,返回该范围的前缀最小集合为{*},跳转执行步骤3);否则若满足条件(1)和(2),则将数值范围的n位二进制表示为[a1a2...an,b1b2...bn]划分为两个新范围:R1=[a1...ak-10ak+1...an,a1...ak-10111..1]和R2=[a1...ak-100...0,a1...ak-11bk+1..bn],跳转执行步骤2.3);
2.3)对于范围R1=[a1...ak-10ak+1...an,a1...ak-10111..1],以0为标志,去掉上界和下界的前k-1位:a1...ak-1,得到范围[ak+1ak+2...an,11...1],并将该范围[ak+1ak+2...an,11...1]作为步骤2.2)的输入跳转执行步骤2.2),并使用串a1...ak-10连接运行过程中返回的所有前缀,作为前缀最小集合中的有效元素;对于范围R2=[a1...ak-1100...0,a1...ak- 11bk+1..bn],以1位标志,去掉上界和下界的前k-1位a1...ak-1,得到范围[00..0,bk+1bk+ 2...bn],并将该范围[00..0,bk+1bk+2...bn]作为步骤2.2)的输入跳转执行步骤2.2),并使用串a1...ak-11连接运行过程中返回的所有前缀,作为前缀最小集合中的有效元素;
2.4)基于得到的前缀最小集合中的有效元素得到前缀最小集合,并输出原始范围[a1a2...an,b1b2...bn]的前缀最小集合。
图3为本发明实施例中计算数值范围[11,15]的前缀最小集合的算法执行过程图。参见步骤3可知,其过程包括:第一步,即执行步骤2.1)分别把11,15转化为4为二进制表示;第二步,即执行步骤2.2)找到k=2,并分割为a10=10和a11=11两个范围R1和R2;第三步,即执行步骤2.3)根据范围R1和R2生成新的范围[11,11]和[00,11];第四步,即执行步骤2.2)分别获得11和*,从而分别将a10连接11得到1011,将a11连接*得到11**,最终得到前缀最小集合为[1011,11**]。
本实施例中,步骤3)用于对原有访问策略中的数值型关系比较策略进行转换,其主要实现方式是利用“OR”门限策略,对关系比较策略所表示范围的前缀最小集合中的元素进行连接。比如一个密文中的访问策略为“(职务:经理)AND(11≤level≤15)”,转换以后的访问策略为“(职务:经理)AND((level:1011)OR(level:11**))”,原始的访问策略(和访问树)及转换后的访问策略(和访问树)如图4所示。参见图4,访问树中的非叶子节点表示一个阈值门,包含“与(AND)”,“或(OR)”和“阈值(m of n)”三种类型,每个叶子节点表示一个属性。以下对访问控制树结构定义几个符号:
R:访问控制树的根节点;
x:访问控制树中除根节点以外的任意节点;
parent(x):x节点的父节点;
index(x):x节点的索引号。给定一个节点y,其孩子节点的索引号为从左至右的顺序数字编号。比如在图4转换后的访问树中,对于节点“OR”,其孩子节点索引号分别为index(1011)=1,index(11**)=2。
kx:表示节点x的阈值。对于非叶子节点,如果x的孩子数是为n,那么kx的范围为0<kx≤n;比如x是一个“AND”门,则kx=n,x是一个“OR”门,则kx=1。对于叶子节点,定义kx=1。
在密文策略属性加密中,使用访问控制树结构表达访问控制策略,并利用这种结构对明文信息进行加密。在图4所示的原始访问控制策略中,表示职位是“经理”,而且其职位级别在11和15之间的解密者,可以成功解密密文。在图2所示转换后的访问树中,表示职位是“经理”,而且具有级别属性为“1011”或者“11**”的解密者,可以成功解密密文。可以看出,本实施例的特色在于把属性加密中的数值型属性与访问控制策略中的关系比较表达策略的匹配难题,转换成了传统的字符型属性之间的匹配问题。
本实施例中,步骤4)包括:针对给定数值属性对应的w位表示整数b1b2...bw,依次用通配符“*”取代前一个元素的最低位生成一个前缀,从而得到包含w+1个前缀的集合作为该数值型属性对应的前缀家族。
本实施例中,包含w+1个前缀的集合的函数表达式为:
{b1b2...bw,b1b2...bw-1*,b1b2...bw-2**,**...*}
上式中,“*”表示通配符,b1~bw分别为给定数值属性的整数表示的第1~w位。
本实施例中,步骤5)中判定该数值型属性对应的密文满足解密条件之后,还包括利用属性加密原语中的解密算法对密文进行解密的步骤。
本实施例中,加解密算法为双线性对映射,双线性对映射的定义如下:G1和G2为阶为素数q的乘法循环群,e为一个双线性映射e:G1×G1→G2,g为G1的一个生成元。则双线性映射e具有如下性质:(1)双线性:
Figure BDA0003136266710000081
有e(Va,Ub)=e(V,U)ab;(2)非退化性:如果g是G1的生成元,则e(g,g)是G2生成元;(3)可计算性:对于
Figure BDA0003136266710000082
总是存在一个有效的多项式时间算法计算e(V,U)∈G2
在本实施例中,给定的消息M在访问控制策略“(职务:经理)AND((level:1011)OR(level:11**)”下加密,利用转换后的访问树对明文M进行加密,生成密文CT的函数表达式为:
CT=(C'=Me(g,g)αs,C”=gβs,
Figure BDA0003136266710000083
上式中,C',C”,Iy和I′y为密文组件,M为明文,e(g,g)为双线性映射,α,β,s是从乘法群
Figure BDA0003136266710000084
中随机选择的元素,g是双线性映射e(g,g)对应的乘法循环群G的一个生成元;Y是访问策略中的属性值集合,比如在以上转换以后的访问控制策略中,Y={“经理”,“1011”,“11**”};y为属性值集合Y中的属性值(访问树中的叶子节点),q表示乘法循环群G的阶,qy(0)乘法循环群G的第0阶,H(y)为哈希函数,该哈希函数表示将属性值y映射成乘法循环群G上的一个元素;且加密消息的公钥为(G,g,gβ,e(g,g)α)。在访问树中,集合Y中的元素是访问树中的叶子节点,见图4所示。qy(0)表示节点y的一个自定义多项式,当自变量等于0时,定义qy(0)=qparent(y)(index(y)),对于根节点R,定义qR(0)=s。多项式的构造说明:从访问树的根节点R开始,以自上而下的方式,为每一个节点x构造一个多项式qx,并设置多项式qx的度数dx为该节点阈值少1,即dx=kx-1。对于根节点R,并设置qR(0)=s,然后选择dR个随机值,完整定义多项式dR;对其它节点x,设置qx(0)=qparent(x)(index(x)),然后选择其余的dx个随机值,完整定义多项式qx。以图4所示的访问树为例,其根节点为“AND”节点(用R表示),它有2个孩子节点,阈值为kR=2,则定义节点R度数为dR=1的多项式qR=a0+a1x,其中a0=s,a1是从群
Figure BDA0003136266710000085
中选择的随机值。在本实施例中,给定的消息M在访问控制策略“(职务:经理)AND((level:1011)OR(level:11**)”下加密,解密者的属性集合为S={“经理”,“1100”,“110*”,“11**”,“1***”,“****”}。显然该解密者能够解密密文,因为他的属性满足密文中的访问控制策略,即解密者有属性“经理”和“11**”。可以看出,我们的发明能够让数值属性与访问控制策略中的比较关系表达策略间的匹配转换为传统的字符串间的文本相等关系匹配,巧妙地解决了属性加密中难以处理数值型属性关系比较策略的问题,而且这种转换不会影响原有属性加密的加/解密算法,能够进行无缝集成。
根据解密者的属性集合S,利用属性加密中密钥生成算法,生成解密密钥SK如下:
Figure BDA0003136266710000095
上式中,D,Dj,D′j为密钥组件,α,β,r以及rj(1<j<|S|)是从群
Figure BDA0003136266710000091
中随机选择的元素,S为解密者的属性集合,H(j)为哈希函数,该哈希函数表示将属性值j映射成乘法循环群G上的一个元素。需要注意的是,α和β是在步骤三选择的,而r和rj是在生成解密密钥过程中随机选择的。本实施例中根据属性加密中的解密算法的解密过程如下:
(1)对于访问树中的每一个叶子节点x,如果x∈S={“经理”,“1100”,“110*”,“11**”,“1***”,“****”},则根据下式计算节点x的中间解密结果Fx
Figure BDA0003136266710000092
上式中,e(Di,Cx)表示密钥组件Di到与节点x相关的密文组件Cx的双线性对映射,e(D′i,C′x)表示密钥组件D′j到与节点x相关的密文组件C′x的双线性对映射,H(i)为哈希函数,该哈希函数表示将属性值i映射成乘法循环群G上的一个元素。如果
Figure BDA0003136266710000093
则定义节点x的中间解密结果为空,即Fx=null。
(2)对于每一个非叶子节点x,其节点阈值为kx,如果存在一个包含kx个x的孩子节点的集合Sx,且对每个孩子节点z∈Sx都满足Fz不为null,则计算:
Figure BDA0003136266710000094
上式中,
Figure BDA0003136266710000101
是拉格朗日系数
Figure BDA0003136266710000102
Sx是x节点的随机子节点集合,i表示index(x),j是Sx中的元素。如果存在随机子节点集合Sx满足x节点的阈值,则对x节点可以计算出上述结果
Figure BDA0003136266710000103
如果没有这样的随机子节点集合存在,表示解密者的属性集合S不满足节点x的阈值,那么定义Fx=null(空)。
(3)在本实施例中,解密者的属性集合满足密文中的访问策略,即属性集合{“经理”,“1100”,“110*”,“11**”,“1***”,“****”}满足“(职务:经理)AND((level:1011)OR(level:11**)”,因此根据递归操作后,可计算对根节点R的解密结果FR=e(g,g)rs,R表示访问树的根节点。
(4)根据根节点R的解密结果FR,利用解密密钥SK解密密文,过程如下:首先,根据下式计算e(C”,D)/FR
e(C”,D)/FR=(e(gβs,g(α+r)/β)/e(g,g)rs)=e(g,g)αs
上式中,e(C”,D)表示密文C”与密钥D的双线性映射运算,C”表示为密文CT中的密文组件,D表示密钥SK中的密钥组件;
然后根据下式恢复明文M:
C'/e(g,g)αs=Me(g,g)αs/e(g,g)αs=M
上式中,C'表示为密文CT中的密文组件。
需要说明的是,上述解密方法仅仅是为一种实施举例,本实施例支持数值型属性比较访问策略的属性加密方法并不依赖于特定的加解密方法。
此外,本实施例还提供一种支持数值型属性比较访问策略的属性加密系统,包括:
数值范围表示转换程序单元,用于将访问策略中的数值型属性关系比较策略转换为数值范围表示;
前缀最小集合生成程序单元,用于将数值范围的下界和上界分别用n位二进制表示,计算数值范围的前缀最小集合;
策略转换程序单元,用于将数值型属性关系比较策略转换为前缀最小集合中元素的“OR”门限策略连接,并将前缀最小集合中的元素视为字符串类型的属性值,得到转换后的数值型属性关系比较策略;
前缀家族生成程序单元,用于针对给定数值属性,计算数值型属性的前缀家族;
解密条件判断程序单元,用于将原数值属性与数值型属性关系比较策略的匹配转换为判断数值型属性的前缀家族与前缀最小集合的交集是否为空,若不为空,则判定该数值型属性满足访问控制策略,具有对密文的解密权限;否则,判定该数值型属性不满足访问控制策略,不满足解密条件。
此外,该加密系统还包括解密程序单元,用于利用属性加密原语中的解密算法对密文进行解密的步骤。
此外,本实施例还提供一种支持数值型属性比较访问策略的属性加密系统,包括相互连接的微处理器和存储器,该微处理器被编程或配置以执行前述支持数值型属性比较访问策略的属性加密方法的步骤。
此外,本实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有前述支持数值型属性比较访问策略的属性加密方法的计算机程序。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可读存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种支持数值型属性比较访问策略的属性加密方法,其特征在于,包括:
1)将访问策略中的数值型属性关系比较策略转换为数值范围表示;
2)将数值范围的下界和上界分别用n位二进制表示,计算数值范围的前缀最小集合;
3)将数值型属性关系比较策略转换为前缀最小集合中元素的“OR”门限策略连接,并将前缀最小集合中的元素视为字符串类型的属性值,得到转换后的数值型属性关系比较策略;
4)针对给定数值属性,计算数值型属性的前缀家族;
5)将原数值属性与数值型属性关系比较策略的匹配转换为判断数值型属性的前缀家族与前缀最小集合的交集是否为空,若不为空,则判定该数值型属性满足访问控制策略,具有对密文的解密权限;否则,判定该数值型属性不满足访问控制策略,不满足解密条件。
2.根据权利要求1所述的支持数值型属性比较访问策略的属性加密方法,其特征在于,步骤1)包括:判断数值型属性关系比较策略的数值比较表达式类型:
若数值比较表达式类型为attr>v,则对应的数值范围为[v+1,max];
若数值比较表达式类型为attr≥v,则对应的数值范围为[v,max];
若数值比较表达式类型为attr<v,则对应的数值范围为[min,v-1];
若比较运算的类型为attr≤v,则对应的数值范围为[min,v];
若数值比较表达式类型为attr!=v,则对应的数值范围为[min,v-1]∪[v+1,max];
若比较运算的类型为attr=v,则对应的数值范围为[v,v];
其中,attr为数值型属性,v为数值型属性中的比较数值,max和min分别为数值型属性所能表示的最大和最小值。
3.根据权利要求1所述的支持数值型属性比较访问策略的属性加密方法,其特征在于,步骤2)包括:
2.1)将数值范围的下界和上界分别用n位二进制表示为[a1a2...an,b1b2...bn],其中a1a2...an为下界的n位二进制,b1b2...bn为上界的n位二进制;
2.2)从k=1开始在数值范围的下界和上界分别用n位二进制表示中查找满足ak<bk的最高有效位k:若满足条件(1):最高有效位k不存在,且对所有的1≤i≤n,都有ai=bi,使得a1a2...an=b1b2...bn,则将该数值范围用前缀a1a2...an表示,返回前缀最小集合{a1a2...an},跳转执行步骤3);若满足条件(2):最高有效位k存在,且对所有的k≤i≤n,都有ai=0,bi=1,则将该数值范围用前缀a1a2ak-1*表示,返回前缀最小集合{a1a2ak-1*},跳转执行步骤3);如果k=1,返回该范围的前缀最小集合为{*},跳转执行步骤3);否则若满足条件(1)和(2),则将数值范围的n位二进制表示为[a1a2...an,b1b2...bn]划分为两个新范围:R1=[a1...ak-10ak+1...an,a1...ak-10111..1]和R2=[a1...ak-100...0,a1...ak-11bk+1..bn],跳转执行步骤2.3);
2.3)对于范围R1=[a1...ak-10ak+1...an,a1...ak-10111..1],以0为标志,去掉上界和下界的前k-1位:a1...ak-1,得到范围[ak+1ak+2...an,11...1],并将该范围[ak+1ak+2...an,11...1]作为步骤2.2)的输入跳转执行步骤2.2),并使用串a1...ak-10连接运行过程中返回的所有前缀,作为前缀最小集合中的有效元素;对于范围R2=[a1...ak-1100...0,a1...ak- 11bk+1..bn],以1位标志,去掉上界和下界的前k-1位a1...ak-1,得到范围[00..0,bk+1bk+ 2...bn],并将该范围[00..0,bk+1bk+2...bn]作为步骤2.2)的输入跳转执行步骤2.2),并使用串a1...ak-11连接运行过程中返回的所有前缀,作为前缀最小集合中的有效元素;
2.4)基于得到的前缀最小集合中的有效元素得到前缀最小集合,并输出原始范围[a1a2...an,b1b2...bn]的前缀最小集合。
4.根据权利要求1所述的支持数值型属性比较访问策略的属性加密方法,其特征在于,步骤4)包括:针对给定数值属性对应的w位表示整数b1b2...bw,依次用通配符“*”取代前一个元素的最低位生成一个前缀,从而得到包含w+1个前缀的集合作为该数值型属性对应的前缀家族。
5.根据权利要求4所述的支持数值型属性比较访问策略的属性加密方法,其特征在于,所述包含w+1个前缀的集合的函数表达式为:
{b1b2...bw,b1b2...bw-1*,b1b2...bw-2**,**...*}
上式中,“*”表示通配符,b1~bw分别为给定数值属性的整数表示的第1~w位。
6.根据权利要求1所述的支持数值型属性比较访问策略的属性加密方法,其特征在于,步骤5)中判定该数值型属性对应的密文满足解密条件之后,还包括利用属性加密原语中的解密算法对密文进行解密的步骤。
7.一种支持数值型属性比较访问策略的属性加密系统,其特征在于,包括:
数值范围表示转换程序单元,用于将访问策略中的数值型属性关系比较策略转换为数值范围表示;
前缀最小集合生成程序单元,用于将数值范围的下界和上界分别用n位二进制表示,计算数值范围的前缀最小集合;
策略转换程序单元,用于将数值型属性关系比较策略转换为前缀最小集合中元素的“OR”门限策略连接,并将前缀最小集合中的元素视为字符串类型的属性值,得到转换后的数值型属性关系比较策略;
前缀家族生成程序单元,用于针对给定数值属性,计算数值型属性的前缀家族;
解密条件判断程序单元,用于将原数值属性与数值型属性关系比较策略的匹配转换为判断数值型属性的前缀家族与前缀最小集合的交集是否为空,若不为空,则判定该数值型属性满足访问控制策略,具有对密文的解密权限;否则,判定该数值型属性不满足访问控制策略,不满足解密条件。
8.根据权利要求7所述的支持数值型属性比较访问策略的属性加密系统,其特征在于,还包括解密程序单元,用于利用属性加密原语中的解密算法对密文进行解密的步骤。
9.一种支持数值型属性比较访问策略的属性加密系统,包括相互连接的微处理器和存储器,其特征在于,该微处理器被编程或配置以执行权利要求1~6中任意一项所述支持数值型属性比较访问策略的属性加密方法的步骤。
10.一种计算机可读存储介质,其特征在于,该计算机可读存储介质中存储有权利要求1~6中任意一项所述支持数值型属性比较访问策略的属性加密方法的计算机程序。
CN202110720321.9A 2021-06-28 2021-06-28 支持数值型属性比较访问策略的属性加密方法及系统 Active CN113452706B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110720321.9A CN113452706B (zh) 2021-06-28 2021-06-28 支持数值型属性比较访问策略的属性加密方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110720321.9A CN113452706B (zh) 2021-06-28 2021-06-28 支持数值型属性比较访问策略的属性加密方法及系统

Publications (2)

Publication Number Publication Date
CN113452706A CN113452706A (zh) 2021-09-28
CN113452706B true CN113452706B (zh) 2022-05-03

Family

ID=77813433

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110720321.9A Active CN113452706B (zh) 2021-06-28 2021-06-28 支持数值型属性比较访问策略的属性加密方法及系统

Country Status (1)

Country Link
CN (1) CN113452706B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104836790A (zh) * 2015-03-30 2015-08-12 西安电子科技大学 基于属性加密和时间戳的链式存储细粒度访问控制模型
CN105100083A (zh) * 2015-07-06 2015-11-25 河海大学 一种隐私保护且支持用户撤销的基于属性加密方法和系统
CN106127075A (zh) * 2016-06-27 2016-11-16 湖南大学 一种云存储环境下基于隐私保护的可搜索加密方法
CN106161428A (zh) * 2016-06-08 2016-11-23 电子科技大学 一种密文可相等比较的属性加密方案
CN108156140A (zh) * 2017-12-13 2018-06-12 西安电子科技大学 一种支持数值属性比较的多关键字可搜索加密方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9774577B2 (en) * 2014-06-24 2017-09-26 Tata Consultancy Services Limited Device, system and method providing data security and attribute based data access in participatory sensing

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104836790A (zh) * 2015-03-30 2015-08-12 西安电子科技大学 基于属性加密和时间戳的链式存储细粒度访问控制模型
CN105100083A (zh) * 2015-07-06 2015-11-25 河海大学 一种隐私保护且支持用户撤销的基于属性加密方法和系统
CN106161428A (zh) * 2016-06-08 2016-11-23 电子科技大学 一种密文可相等比较的属性加密方案
CN106127075A (zh) * 2016-06-27 2016-11-16 湖南大学 一种云存储环境下基于隐私保护的可搜索加密方法
CN108156140A (zh) * 2017-12-13 2018-06-12 西安电子科技大学 一种支持数值属性比较的多关键字可搜索加密方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
CP-ABSE: A Ciphertext-Policy Attribute-Based Searchable Encryption Scheme;Hui Yin;《IEEE Access》;20190103;全文 *
Hybrid Attribute Based Encryption and Customizable Authorization in Cloud Computing;Yogita S. Gunjal;《2018 International Conference On Advances in Communication and Computing Technology》;20181112;全文 *
基于CP-ABE在云计算中实现数据访问控制的方案;温昱晖等;《重庆邮电大学学报(自然科学版)》;20131015;全文 *

Also Published As

Publication number Publication date
CN113452706A (zh) 2021-09-28

Similar Documents

Publication Publication Date Title
WO2020253234A1 (zh) 实现隐私保护的数据同态加解密方法及装置
Shen et al. Secure SVM training over vertically-partitioned datasets using consortium blockchain for vehicular social networks
US11425171B2 (en) Method and system for cryptographic attribute-based access control supporting dynamic rules
CN112019591B (zh) 一种基于区块链的云数据共享方法
Liu et al. Privacy-preserving outsourced calculation toolkit in the cloud
CN104038349B (zh) 一种基于kp‑abe的有效可验证的公钥可搜索加密方法
Teng et al. A Modified Advanced Encryption Standard for Data Security.
CN111143471B (zh) 一种基于区块链的密文检索方法
CN109361644B (zh) 一种支持快速搜索和解密的模糊属性基加密方法
CN107291861B (zh) 一种面向加密图的带约束近似最短距离查询方法
CN108171066A (zh) 一种医疗云中隐私保护下的关键词跨域搜索方法及系统
Sun et al. A searchable personal health records framework with fine-grained access control in cloud-fog computing
CN111740988B (zh) 云存储数据加密方法、系统和存储介质
Lu et al. Privacy-preserving cloud database querying.
Fan et al. PPMCK: Privacy-preserving multi-party computing for K-means clustering
Cui et al. An efficient attribute-based multi-keyword search scheme in encrypted keyword generation
CN114598472A (zh) 基于区块链的条件隐藏可搜索代理重加密方法及存储介质
Zhang et al. NANO: Cryptographic Enforcement of Readability and Editability Governance in Blockchain Databases
Yang et al. PUL-ABE: An Efficient and Quantum-resistant CP-ABE with Policy Update in Cloud Storage
CN114142996A (zh) 一种基于sm9密码算法的可搜索加密方法
CN107360252B (zh) 一种异构云域授权的数据安全访问方法
Zhang et al. MMDS: A secure and verifiable multimedia data search scheme for cloud-assisted edge computing
CN111159724B (zh) 一种细粒度策略的条件代理可重构加密方法
CN116827670A (zh) 一种基于国密算法的智能医疗数据安全共享方法
CN113904823B (zh) 常数级授权计算复杂度的属性基可搜索加密方法及系统

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