CN116094845B - 一种可高效撤销的条件代理重加密方法及系统 - Google Patents

一种可高效撤销的条件代理重加密方法及系统 Download PDF

Info

Publication number
CN116094845B
CN116094845B CN202310372782.0A CN202310372782A CN116094845B CN 116094845 B CN116094845 B CN 116094845B CN 202310372782 A CN202310372782 A CN 202310372782A CN 116094845 B CN116094845 B CN 116094845B
Authority
CN
China
Prior art keywords
authorized user
key
user
conditional
encryption
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
CN202310372782.0A
Other languages
English (en)
Other versions
CN116094845A (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.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
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 National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN202310372782.0A priority Critical patent/CN116094845B/zh
Publication of CN116094845A publication Critical patent/CN116094845A/zh
Application granted granted Critical
Publication of CN116094845B publication Critical patent/CN116094845B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • H04L63/0442Network 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 wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • 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
    • H04L63/0471Network 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 applying encryption by an intermediary, e.g. receiving clear information at the intermediary and encrypting the received information at the intermediary before forwarding
    • 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
    • H04L63/0478Network 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 applying multiple layers of encryption, e.g. nested tunnels or encrypting the content with a first key and then with at least a second key
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • H04L9/0833Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
    • H04L9/0836Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key using tree structure or hierarchical structure
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying

Abstract

本发明公开了一种可高效撤销的条件代理重加密方法及系统,方法包括如下步骤:S1.根据主公钥、主私钥、公共参数和用户ID,获取用户私钥;S2.根据所述主私钥、所述公共参数、所述用户ID和预设条件值,获取条件重加密密钥;S3.根据所述主公钥、所述用户ID和所述预设条件值,加密消息以生成第一密文;S4.根据所述条件重加密密钥和所述第一密文,生成第二密文;S51.根据所述第二密文和所述用户私钥,获取消息明文。该方法可在代理不可信的前提下,有效降低被授权用户解密过程中的计算与通信开销,提高解密效率。该系统具有相同的有益效果。

Description

一种可高效撤销的条件代理重加密方法及系统
技术领域
本发明涉及信息传输技术领域,特别是涉及一种可高效撤销的条件代理重加密方法及系统。
背景技术
随着云计算的兴起,越来越多的系统基于云平台进行消息传输,如物联网系统。物联网系统利用云平台将物联网设备产生的数据发送给用户,同时也利用云平台将用户的控制命令发送给设备。目前,基于云平台的物联网系统大多采用安全传输层协议TLS(Transport Layer Security)来保护设备与平台以及用户与平台之间传输数据的安全。云平台可以得到设备和用户产生的所有消息明文,用户必须完全信任云平台。而云平台一般由物联网设备厂商或云计算服务提供商管理或维护,若云平台管理员误操作或被收买,或公司出于商业利益滥用用户的数据,均会给用户的数据安全带来极大隐患。针对这一问题,一类解决方案是采用代理重加密算法(Proxy Re-Encryption,PRE),设备在将数据上传到云之前,先用自己的公钥加密,并依据自己的私钥及每个被授权用户的公钥为每个用户生成重加密密钥并发送给云平台。云平台扮演代理重加密算法中代理的角色,使用每个被授权用户的重加密密钥,对设备发送来的密文进行重加密。最终,各被授权用户使用其私钥可以解密得到设备发送的消息明文。由于设备共享在物联网中普遍存在,一个设备一般被多个用户使用和控制,同时设备的用户集合一直处于动态变化中(如新用户被授权或旧用户的权限被撤销)。因此,必须以一种安全高效的方式处理撤销,使得已撤销用户不再具有解密数据的能力。
当使用传统PRE实现物联网中消息的加密传输时,若授权用户要撤销某些被授权用户的解密权限,最简单的方法是要求代理删除相应的重加密密钥,从而代理不再为撤销用户重加密。然而,这意味着用户必须完全相信代理(相信代理会删除重加密密钥)。若代理被恶意的攻击者收买或攻破,其不删除条件重加密密钥,甚至为撤销的被授权用户(即delegatee)执行未授权的重加密,则撤销用户仍然可以接收到最新的消息,从而泄露机密信息。这种简单的撤销方法不能防止代理和撤销的被授权用户共谋,因此,依赖代理(可能是不可信的)进行用户撤销并非完全可靠。另一种简单的撤销方法是授权用户使用一对新的公私钥对为每个剩余的被授权用户重新生成新的重加密密钥,从而防止代理执行未授权的重加密。然而,重加密密钥更新的复杂度与被授权用户的数量呈线性关系,因此,在代理不可信的情况下,撤销的通信和计算复杂度与最大授权数量呈线性关系,可扩展性不佳。
目前,各种代理重加密方法均不能实现解密能力的高效撤销(即计算与通信开销的复杂度均优于线性)。
因此,提供一种在代理不可信的前提下,实现被授权用户解密能力的可高效撤销的条件代理重加密方法及系统是本领域技术人员亟待解决的问题。
发明内容
本发明的目的在于提供一种可高效撤销的条件代理重加密方法及系统,该方法逻辑清晰,安全、有效、可靠且操作简便,可在代理不可信的前提下,有效降低被授权用户解密过程中的计算与通信开销,提高解密效率。
基于以上目的,本发明提供的技术方案如下:
一种可高效撤销的条件代理重加密方法,包括如下步骤:
S1.根据主公钥、主私钥、公共参数和用户ID,获取用户私钥;
S2.根据所述主私钥、所述公共参数、所述用户ID和预设条件值,获取条件重加密密钥;
S3.根据所述主公钥、所述用户ID和所述预设条件值,加密消息以生成第一密文;
S4.根据所述条件重加密密钥和所述第一密文,生成第二密文;
S5.根据所述第二密文和所述用户私钥,获取消息明文。
优选地,在所述根据主公钥、主私钥、公共参数和用户ID,获取用户私钥之前,还包括如下步骤:
根据安全参数,获取所述公共参数;
根据所述公共参数与授权用户数,获取所述主公钥和所述主私钥。
优选地,所述用户ID包括:授权用户ID和被授权用户ID;
对应的用户包括:授权用户和被授权用户。
优选地,所述根据所述主私钥、所述公共参数、所述用户ID和预设条件值,获取条件重加密密钥,包括如下步骤:
根据所述主私钥、所述公共参数、所述授权用户ID和所述被授权用户ID,获取从所述授权用户ID至所述被授权用户ID的部分重加密密钥;
根据所述主私钥、所述公共参数、授权用户的授权列表和所述预设条件值,获取条件密钥;
根据从所述授权用户ID至所述被授权用户ID的部分重加密密钥和所述条件密钥,获取在所述预设条件值下从所述授权用户ID至所述被授权用户ID的所述条件重加密密钥。
优选地,所述根据所述主私钥、所述公共参数、所述授权用户ID和所述被授权用户ID,获取从所述授权用户ID至所述被授权用户ID的部分重加密密钥,包括如下步骤:
根据每个所述被授权用户ID对应二叉树的每个叶子节点,生成所述二叉树;
为所述二叉树根节点和所述叶子节点路径上每个节点,选择第一随机数和第二随机数;
根据所述主私钥、所述第一随机数、所述第二随机数、所述授权用户ID和所述被授权用户ID,为每个所述被授权用户ID对应所述每个叶子节点,获取所述从所述授权用户ID至所述被授权用户ID的部分重加密密钥;
其中,所述第一随机数在所述公共参数中选出,所述第二随机数是根据所述主私钥和所述第一随机数获取的。
优选地,所述根据所述主私钥、所述公共参数、授权用户的授权列表和所述预设条件值,获取条件密钥,包括如下步骤:
根据所述授权用户的授权列表,获取需要更新的所述叶子节点;
根据所述主私钥、所述公共参数、所述叶子节点的所述第二随机数和所述预设条件值,获取条件密钥。
优选地,所述根据所述从授权用户ID至被授权用户ID的部分重加密密钥和所述条件密钥,获取在所述预设条件值下从授权用户ID至被授权用户ID的所述条件重加密密钥,包括如下步骤:
判断所述从授权用户ID至被授权用户ID的部分重加密密钥与所述条件密钥是否存在重合的所述叶子节点;
若是,则根据重合的所述叶子节点,获取所述条件重加密密钥。
优选的,还包括:
当所述授权用户撤销所述被授权用户的解密能力时,重新预设步骤S2中的条件值。
一种可高效撤销的条件代理重加密系统,用于实现上述任一所述的可高效撤销的条件代理重加密方法,包括:密钥中心、代理、授权用户和被授权用户;
所述密钥中心分别与所述代理、所述授权用户和所述被授权用户连接;
所述代理分别与所述授权用户和所述被授权用户连接;
所述密钥中心,用于根据主公钥、主私钥、公共参数和用户ID,获取用户私钥;
所述代理,用于根据所述主私钥、所述公共参数、所述用户ID和预设条件值,获取条件重加密密钥;
所述授权用户,用于根据所述主公钥、所述用户ID和所述预设条件值,加密消息以生成第一密文;
所述代理,还用于根据所述条件重加密密钥和所述第一密文,生成第二密文;
所述被授权用户,用于根据所述第二密文和所述用户私钥,获取消息明文。
本发明所提供的可高效撤销的条件代理重加密方法,是通过获取主公钥、主私钥、公共参数和用户ID,通过上述主公私钥、公共参数和用户ID通过预设算法获取用户私钥;根据主私钥、公共参数、用户ID和已预设的条件值,通过预设算法计算获取条件重加密密钥;根据主公钥、用户ID和已预设的条件值,对待发送消息进行加密生成第一密文;根据条件重加密密钥转化第一密文生成第二密文;根据第二密文和已获取的用户私钥,计算获取消息明文。
实际运用过程中,由于预设了条件值,所获取的条件重加密密钥是在该特定条件值的前提下。当用户撤销时,仅需更改所预设的条件值,即可获取另一个特定条件值的条件重加密密钥。按如此做,可以有效的将条件重加密密钥的更新复杂度降低,同时在加密解密的过程中,无论是发送者还是接受者,都只需要执行普通的公钥加解密方法即可实现信息的传递。相比于现有技术,可在代理不可信的前提下,有效降低被授权用户解密过程中的计算与通信开销,提高解密效率。
本发明还提供了一种可高效撤销的条件代理重加密系统,由于该系统与可高效撤销的条件代理重加密方法属于相同的技术构思,解决相同的技术问题,理应具有相同的有益效果,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种可高效撤销的条件代理重加密方法流程图;
图2为本发明实施例提供的在步骤S1之前的流程图;
图3为本发明实施例提供的步骤S2的流程图;
图4为本发明实施例提供的步骤B1的流程图;
图5为本发明实施例提供的步骤B2的流程图;
图6为本发明实施例提供的KUNodes算法描述示意图;
图7为本发明实施例提供的步骤B3的流程图;
图8为本发明实施例提供的一种可高效撤销的条件代理重加密系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例采用递进的方式撰写。
本发明实施例提供了一种可高效撤销的条件代理重加密方法及系统。主要解决现有技术不能实现解密能力的高效撤销,即计算与通信开销较高的技术问题。
现有技术中,所采用的方法具体为:一、为了防止代理和被撤销的用户之间共谋,可以采用条件代理重加密算法(CPRE)。CPRE使得代理对密文的转换是有条件的。在CPRE中,使用授权用户A的公钥生成密文时,同时引入一个条件值,而A到B的重加密密钥也与一个条件值/>相关。只有当A生成密文时使用的条件值/>与重加密密钥相关的条件值/>相等时(即/>),代理才能将用A的公钥加密的密文转化为用B的公钥加密的密文。A可以通过控制条件值/>的变化而阻止代理进行非授权的重加密。条件代理重加密的过程可以描述为:。CPRE中的解密权限撤销需要授权用户变更条件值,并根据新的条件值为每个剩余被授权用户重新生成新的条件重加密密钥。由于每个被授权用户对应于一个条件重加密密钥,因此,在代理不可信的情况下,现有CPRE方案撤销的通信和计算复杂度仍然与授权数量呈线性关系。
二、是采用广播代理重加密(Broadcast Proxy Re-Encryption,BPRE)算法。在BPRE中,无需为每个被授权用户生成一个重加密密钥,授权用户只需为所有被授权用户生成一个广播重加密密钥。代理使用该密钥即可将授权用户的密文转换成另一个可由所有被授权用户解密的密文。目前已提出多个高效的BPRE方案,且其重加密密钥和初始密文的大小均是常数。但现有BPRE方案均是基于广播加密方案进行构建,用户撤销的计算开销(即生成新的广播重加密密钥)与授权数量仍是线性关系。此外,在大多数BPRE方案中,授权用户的加密操作(通常由物联网设备执行)和被授权用户的解密操作(通常由用户的移动电话执行)的计算开销也与授权数量呈线性关系,这是低功耗物联网设备或用户的移动电话所无法承受的。此外,在大量BPRE方案中,用户需知道所有被授权用户的公钥或者身份才能进行解密,从而带来额外的通信开销。
结合上述两个方案的缺点,设计了本方法及系统,具体为:
如图1所示,一种可高效撤销的条件代理重加密方法,包括如下步骤:
S1.密钥中心根据主公钥、主私钥、公共参数和用户ID,获取用户私钥;
S2.代理根据主私钥、公共参数、用户ID和预设条件值,获取条件重加密密钥;
S3.授权用户根据主公钥、用户ID和预设条件值,加密消息以生成第一密文;
S4.代理根据条件重加密密钥和第一密文,生成第二密文;
S5.被授权用户根据第二密文和用户私钥,获取消息明文。
需要说明的是,在本实施例中,使用了多种算法达成本案的技术效果,现对各算法中所使用的符号进行说明,具体为:代表安全参数。/>为双线性群生成器,输入安全参数/>,输出双线性群/>,/>是与安全参数相关的大素数,/>是/>阶整数循环群。和/>是两个阶为/>的乘法循环群,/>为对称双线性映射/>,/>是群/>的生成元。为集合/>中随机选择一个元素/>。/>代表长度为/>比特的字符串。/>为授权用户的最大授权数量。/>为用户/>的身份。/>是用户/>对应的二叉树。/>为用户/>的所有被授权用户的身份集合。
假设用户的身份空间为,条件值空间为/>。消息空间与相应群空间/>相同。
步骤S1中,密钥中心根据已获取的主公钥、主私钥、公共参数和用户ID,计算获取用户私钥;在本实施例中,。在密钥中心(Key Generation Center,KGC)输入主私钥/>和用户身份/>,KGC结合主公钥/>运行该算法输出相应用户的私钥/>,并通过安全信道发送给用户,用户秘密的保存其私钥。
具体算法如下:
拆分/>为/>,KGC如下运行:
1.选取
2.计算,并为用户/>储随机数/>
3.返
步骤S2中,代理根据密钥中心传输的主私钥、公共参数、用户ID,预设条件值,计算获取该条件值下的条件重加密密钥,具体计算步骤在后文详述;
步骤S3中,授权用户根据主公钥、用户ID和已预设的条件值,对消息M进行加密,从而生成第一密文。在本实施例中,:授权用户输入自己的身份/>,消息/>及条件值/>和主公钥/>,运行该算法输出密文/>,并将密文发送给代理。具体算法如下:
:若授权用户/>要在条件值/>下加密一个消息/>,则用户选择/>,计算/>,/>,/>,/>。授权用户输出密文/>给代理;
步骤S4中,代理根据已获取的条件重加密密钥和第一密文,计算生成第二密文。在本实施例中,:代理拆分/>为/>,/>,计算/>和/>。代理返回重加密的密文给被授权用户/>
步骤S5中,被授权用户根据第二密文和用户私钥,计算获取消息明文。具体算法如下:
:被授权用户/>拆分其私钥/>为/>‘/>,并计算/>,输出明文/>
需要说明的是,步骤S1所获取的用户私钥是指合法用户的用户私钥,而对应在步骤S5中,利用合法用户私钥(包括授权用户和被授权用户)解密第二密文所得出的结果即为消息明文。但在实际运用过程中,在步骤S1中,非法用户同样可以获取非法用户私钥,而对应在步骤S5中,利用非法用户私钥解密第二密文所得出的结果则为错误符号。
如图2所示,优选地,在步骤S1之前,还包括如下步骤:
A1.密钥中心根据安全参数,获取公共参数;
A2.密钥中心根据公共参数与授权用户数,获取主公钥和主私钥。
步骤A1中,密钥中心根据已输入的安全参数,获取公共参数/>
在本实施例中,具体算法如下:
:输入安全参数/>,KGC如下运行
1.选择
2.选择随机元素
3.选择一个随机的维向量/>和一个随机的二维向量/>,/>和/>
4.返回
步骤A2中,密钥中心根据已获取的公共参数与最大授权用户数/>,计算获取密钥中心的主公钥/>和主私钥/>,KGC秘密的保存主私钥/>。在本实施例中,具体算法如下:
:输入公共参数/>及最大用户数/>,KGC如下运行:
1.选择两个随机数,/>并设置/>
2.初始化各用户的授权列表
3.定义和/>
4.返回
优选地,用户ID包括:授权用户ID和被授权用户ID
对应的用户包括:授权用户和被授权用户。
实际运用过程中,用户ID包括有授权用户ID,和被授权用户ID />。在获取用户私钥/>后,密钥中心分别将授权用户ID/>和被授权用户ID/>发送至对应的授权用户和被授权用户。
如图3所示,优选地,步骤S2,包括如下步骤:
B1.密钥中心根据主私钥、公共参数、授权用户ID和被授权用户ID,获取从授权用户ID至被授权用户ID的部分重加密密钥;
B2.密钥中心根据主私钥、公共参数、授权用户的授权列表和预设条件值,获取条件密钥;
B3.代理根据从授权用户ID至被授权用户ID的部分重加密密钥和条件密钥,获取在预设条件值下从授权用户ID至被授权用户ID的条件重加密密钥。
步骤B1中,密钥中心根据主私钥、公共参数、授权用户ID和被授权用户ID,计算获取从授权用户ID到被授权用户ID的部分重加密密钥并发送给代理;
步骤B2中,密钥中心根据主私钥、公共参数、授权用户的授权列表和预设条件值,计算获取条件密钥并发送给代理;
步骤B3中,代理根据从授权用户ID到被授权用户ID的部分重加密密钥和条件密钥,计算获取在预设条件值下,从授权用户ID至被授权用户ID的条件重加密密钥;
步骤B1至B3,每个步骤的具体计算步骤在后文详述。
如图4所示,优选地,步骤B1,包括如下步骤:
C1.密钥中心根据每个被授权用户ID对应二叉树的每个叶子节点,生成二叉树;
C2.密钥中心为二叉树根节点和叶子节点路径上每个节点,选择第一随机数和第二随机数;
C3.密钥中心根据主私钥、第一随机数、第二随机数、授权用户ID和被授权用户ID,为每个被授权用户ID对应每个叶子节点,获取从授权用户ID至被授权用户ID的部分重加密密钥;
其中,第一随机数在公共参数中选出,第二随机数是根据主私钥和第一随机数获取的。
步骤C1至C3,KGC将授权用户的所有被授权用户/>组织成一颗二叉树/>,每个被授权用户/>对应于二叉树的一个叶子节点/>。对于从叶子节点/>到根节点路径上的每个节点/>,为其选择一对随机数/>,两个随机数的乘积是固定的。依据每个节点的随机数/>以及授权用户和被授权用户的身份/>和/>,为每个被授权用户/>的叶子节点/>生成一组数值/>,这组数值就是从/>到/>的部分重加密密钥。具体算法如下:
:拆分/>为/>,KGC将授权用户/>的所有被授权用户/>组织成一颗二叉树/>,每个被授权用户,每个被授权用户/>对应于二叉树的一个叶子节点,且定义如下:
1.从中选择一个未分配的叶子节点/>,将被授权用户/>存储在该节点中。
2.对于每个节点,如下执行:
3.从的该节点中取出选择的随机元素/>。若未定义,选择/>,设置,并将/>存储在节点/>中。
4.选择,计算/>
5.返回部分重加密密钥给代理。
如图5所示,优选地,步骤B2,包括如下步骤:
D1.密钥中心根据授权用户的授权列表,获取需要更新的叶子节点;
D2.密钥中心根据主私钥、公共参数、叶子节点的第二随机数和预设条件值,获取条件密钥。
步骤D1至D2中,针对授权用户的授权集合,采用算法/>输出需要更新的条件密钥的节点。依据每个节点的随机数/>及条件值/>生成相应的条件密钥,在本实施例中,具体算法如下:
:拆分/>为/>。对于所有。KGC进行如下操作:
1.从的该节点中取出元素/>。若未定义,选择/>,设置,并存储/>在该节点/>中。
2.选择,计算/>
3.返回
需要说明的是,节点选择算法KUNodes可根据授权用户集合输出节点的最小集合Y,针对集合Y 中的节点,本发明提出的算法将更新其条件密钥,从而代理能为剩余被授权用户生成新的条件重加密密钥。二叉树BT N个叶子节点对应于N个用户,BT 的根节点。若/>是叶子节点,/>代表从/>到/>路径上所有节点的集合(包含/>和/>)。对于树中的节点/>,/>代表节点/>的左侧孩子节点,/>代表节点/>的右侧孩子节点。
算法KUNodes的简单描述如图6所示。若被授权用户集合为/>,当没有用户被撤销时(如图6中(a)所示,没有用户被撤销),则输出的集合Y 仅包含一个根节点,即只对根节点的条件密钥进行更新。当用户/>被撤销时,则/>中的所有节点均被标记为撤销,并输出树中所有撤销节点的未撤销孩子节点(即图6(b)所示,用户/>被撤销)。图中/>为:算法KUNodes输出的需更新条件密钥的节点;/>为:被算法KUNodes标记为撤销的节点。
算法的具体流程如下:
设置集合与/>为空,即/>,/>
对于任意的叶子节点,若/>,则添加/>到集合/>
对于集合中的任意节点/>
,添加/>到集合/>
,添加/>到集合/>
若集合,添加节点/>到集合/>
最终,算法输出集合
如图7所示,优选地,步骤B3,包括如下步骤:
E1.代理判断从授权用户ID至被授权用户ID的部分重加密密钥与条件密钥是否存在重合的叶子节点;
E2.若是,则代理根据重合的叶子节点,获取条件重加密密钥。
步骤E1至E2中,依据算法,对于未撤销的叶子节点/>,/>算法输出的节点有且仅有一个重合的节点,因此,可以利用重合节点对应的部分重加密密钥及条件密钥值生成最终的条件重加密密钥。而对于撤销的叶子节点/>,/>与/>算法输出的节点没有重合的节点,因此,无法生成最终的条件重加密密钥,从而代理无法为撤销节点进行消息的重加密,在本实施例中,具体算法如下:
:代理输入部分重加密密钥/>和条件密钥/>,代理执行如下算法,生成在条件/>下/>到/>的条件重加密密钥。
拆分为/>,/>为/>,对于节点集合/>,/>,若/>(即没有节点/>满足/>),满足/>;否则,有且仅有一个节点/>,则代理计算如下:
1.
2.
3.
返回最终的条件重加密密钥
优选地,还包括:
当授权用户撤销被授权用户的解密能力时,重新预设步骤S2中的条件值。
当授权用户要撤销某些被授权用户的解密能力时,应当返回步骤S2,选择一个新的条件值,重复步骤S2至S5,通过新的条件值获取新的第一密文和新的条件重加密密钥,最终获得新的消息明文。
如图8所示,一种可高效撤销的条件代理重加密系统,用于实现上述任一的可高效撤销的条件代理重加密方法,包括:密钥中心、代理、授权用户和被授权用户;
密钥中心分别与代理、授权用户和被授权用户连接;
代理分别与授权用户和被授权用户连接;
密钥中心,用于根据主公钥、主私钥、公共参数和用户ID,获取用户私钥;
代理,用于根据主私钥、公共参数、用户ID和预设条件值,获取条件重加密密钥;
授权用户,用于根据主公钥、用户ID和预设条件值,加密消息以生成第一密文;
代理,还用于根据条件重加密密钥和第一密文,生成第二密文;
被授权用户,用于根据第二密文和用户私钥,获取消息明文。
本发明还公开了一种高效撤销的条件代理重加密系统,该系统设置有密钥中心、代理、授权用户和被授权用户,密钥中心分别与代理、授权用户和被授权用户连接;代理分别与授权用户和被授权用户连接。密钥中心获取部分重加密密钥和条件密钥,并将其发送至代理,代理根据部分重加密密钥和条件密钥获取条件重加密密钥;授权用户向被授权用户发送第一密文的过程中,代理根据条件重加密密钥和密文对第一密文进行转换,转换为第二密文;被授权用户解密第二密文得到消息明文。
当使用条件代理重加密算法进行数据的加密传输时,授权用户通过变更条件值来实现被授权用户解密能力的撤销。授权用户使用自己的私钥,新的条件值以及剩余被授权用户的公钥为每个剩余用户产生新的条件重加密密钥,不为已撤销的用户产生新条件重加密密钥。因而,剩余合法用户使用自己的私钥可以解密得到消息明文,而由于代理没有撤销用户的新条件重加密密钥,其无法为撤销用户重加密,因此,撤销用户也无法得到明文的任何有用信息。
在本发明提出的可高效撤销的条件代理重加密方案中,将条件重加密密钥分为两部分。当撤销用户时,剩余所有用户的部分重加密密钥保持不变,授权用户选择新的条件值,仅依据新的条件值与更新后的授权集合更新相应的条件密钥,同时,采用二叉树结构组织条件密钥,从而使条件密钥更新的计算与通信复杂度与最大授权用户数N呈对数关系。本方案撤销的复杂度与现有CPRE进行比较,呈对数关系。本方案撤销的复杂度与现有CPRE进行比较,结果如下表所示,代表被撤销的用户数。当/>较小时,本方案的撤销复杂度较现有方案有显著提升;当/>较大时,本方案的优势消失,但KGC可以重新设置其授权(设置其撤销用户列表为空),重新运行部分重加密密钥生成算法及条件密钥生成算法,仅为剩余被授权用户产生新的部分重加密密钥及条件密钥。
本发明提出的条件代理重加密算法不是基于广播加密算法进行构造,授权用户只需运行普通公钥加密算法,而被授权用户只需运行普通的公钥解密算法,且加解密算法不需要所有被授权用户的公钥或身份作为输入,因此,授权用户与被授权用户的计算与通信开销均较低,适用于低功耗的设备。
在本申请所提供的实施例中,应该理解到,所揭露的方法和系统,可以通过其它的方式实现。以上所描述的系统实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个模块或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或模块的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
另外,在本发明各实施例中的各功能模块可以全部集成在一个处理器中,也可以是各模块分别单独作为一个器件,也可以两个或两个以上模块集成在一个器件中;本发明各实施例中的各功能模块既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令及相关的硬件来完成,前述的程序指令可以存储于计算机可读取存储介质中,该程序指令在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。
应当理解,本申请中如若使用了“系统”、“装置”、“单元”和/或“模块”,仅是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换该词语。
如本申请和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。
本申请中如若使用了流程图,则该流程图是用来说明根据本申请的实施例的系统所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
以上对本发明所提供的一种可高效撤销的条件代理重加密方法及系统进行了详细介绍。对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (6)

1.一种可高效撤销的条件代理重加密方法,其特征在于,包括如下步骤:
S1.根据主公钥、主私钥、公共参数和用户ID,获取用户私钥;
S2.根据所述主私钥、所述公共参数、所述用户ID和预设条件值,获取条件重加密密钥;
S3.根据所述主公钥、所述用户ID和所述预设条件值,加密消息以生成第一密文;
S4.根据所述条件重加密密钥和所述第一密文,生成第二密文;
S5.根据所述第二密文和用户私钥,获取消息明文;
所述用户ID包括:授权用户ID和被授权用户ID;
对应的用户包括:授权用户和被授权用户;
所述步骤S2,包括如下步骤:
根据所述主私钥、所述公共参数、所述授权用户ID和所述被授权用户ID,获取从所述授权用户ID至所述被授权用户ID的部分重加密密钥;
根据所述主私钥、所述公共参数、授权用户的授权列表和所述预设条件值,获取条件密钥;
根据从所述授权用户ID至所述被授权用户ID的部分重加密密钥和所述条件密钥,获取在所述预设条件值下从所述授权用户ID至所述被授权用户ID的所述条件重加密密钥;
所述根据所述主私钥、所述公共参数、所述授权用户ID和所述被授权用户ID,获取从所述授权用户ID至所述被授权用户ID的部分重加密密钥,包括如下步骤:
根据每个所述被授权用户ID对应二叉树的每个叶子节点,生成所述二叉树;
为所述二叉树根节点和所述叶子节点路径上每个节点,选择第一随机数和第二随机数;
根据所述主私钥、所述第一随机数、所述第二随机数、所述授权用户ID和所述被授权用户ID,为每个所述被授权用户ID对应所述每个叶子节点,获取所述从所述授权用户ID至所述被授权用户ID的部分重加密密钥;
其中,所述第一随机数在所述公共参数中选出,所述第二随机数是根据所述主私钥和所述第一随机数获取的。
2.如权利要求1所述的可高效撤销的条件代理重加密方法,其特征在于,在所述根据主公钥、主私钥、公共参数和用户ID,获取用户私钥之前,还包括如下步骤:
根据安全参数,获取所述公共参数;
根据所述公共参数与授权用户数,获取所述主公钥和所述主私钥。
3.如权利要求1所述的可高效撤销的条件代理重加密方法,其特征在于,所述根据所述主私钥、所述公共参数、授权用户的授权列表和所述预设条件值,获取条件密钥,包括如下步骤:
根据所述授权用户的授权列表,获取需要更新的所述叶子节点;
根据所述主私钥、所述公共参数、所述叶子节点的所述第二随机数和所述预设条件值,获取条件密钥。
4.如权利要求3所述的可高效撤销的条件代理重加密方法,其特征在于,所述根据从所述授权用户ID至所述被授权用户ID的部分重加密密钥和所述条件密钥,获取在所述预设条件值下从所述授权用户ID至被所述授权用户ID的所述条件重加密密钥,包括如下步骤:
判断所述从授权用户ID至被授权用户ID的部分重加密密钥与所述条件密钥是否存在重合的所述叶子节点;
若是,则根据重合的所述叶子节点,获取所述条件重加密密钥。
5.如权利要求4所述的可高效撤销的条件代理重加密方法,其特征在于,还包括:
当所述授权用户撤销所述被授权用户的解密能力时,重新预设步骤S2中的条件值。
6.一种可高效撤销的条件代理重加密系统,用于实现如权利要求1至5任一所述的可高效撤销的条件代理重加密方法,其特征在于,包括:密钥中心、代理、授权用户和被授权用户;
所述密钥中心分别与所述代理、所述授权用户和所述被授权用户连接;
所述代理分别与所述授权用户和所述被授权用户连接;
所述密钥中心,用于根据主公钥、主私钥、公共参数和用户ID,获取用户私钥;
所述代理,用于根据所述主私钥、所述公共参数、所述用户ID和预设条件值,获取条件重加密密钥;
所述授权用户,用于根据所述主公钥、所述用户ID和所述预设条件值,加密消息以生成第一密文;
所述代理,还用于根据所述条件重加密密钥和所述第一密文,生成第二密文;
所述被授权用户,用于根据所述第二密文和所述用户私钥,获取消息明文。
CN202310372782.0A 2023-04-10 2023-04-10 一种可高效撤销的条件代理重加密方法及系统 Active CN116094845B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310372782.0A CN116094845B (zh) 2023-04-10 2023-04-10 一种可高效撤销的条件代理重加密方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310372782.0A CN116094845B (zh) 2023-04-10 2023-04-10 一种可高效撤销的条件代理重加密方法及系统

Publications (2)

Publication Number Publication Date
CN116094845A CN116094845A (zh) 2023-05-09
CN116094845B true CN116094845B (zh) 2023-07-25

Family

ID=86214266

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310372782.0A Active CN116094845B (zh) 2023-04-10 2023-04-10 一种可高效撤销的条件代理重加密方法及系统

Country Status (1)

Country Link
CN (1) CN116094845B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007059807A1 (en) * 2005-11-22 2007-05-31 Nero Ag Apparatus and method for retrieving a decryption key, license server and media player
CN108880801A (zh) * 2018-07-09 2018-11-23 西南交通大学 一种格上支持细粒度属性撤销的分布式属性基加密方法
CN110457930A (zh) * 2019-08-16 2019-11-15 上海海事大学 策略隐藏的可追踪撤销恶意用户的属性基加密方法及系统

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100765750B1 (ko) * 2005-05-09 2007-10-15 삼성전자주식회사 브로드캐스트 암호화 방식에 따라 효율적으로암호화/복호화하는 방법 및 장치
CN104113408B (zh) * 2014-07-11 2017-12-08 西安电子科技大学 一种实现及时用户属性撤销的基于密文策略属性加密方法
CN106059768B (zh) * 2016-05-30 2019-06-21 西安电子科技大学 抵抗重加密密钥泄露的属性可撤销加密系统及方法
US10050946B2 (en) * 2016-06-17 2018-08-14 The Boeing Company Secured data transmission using identity-based cryptography
CN109286491A (zh) * 2018-10-18 2019-01-29 上海海事大学 一种基于代理撤销的密钥策略属性基加密方法
WO2022008940A1 (en) * 2020-07-07 2022-01-13 Vibe Cybersecurity Inc. Method and system for a verifiable identity based encryption (vibe) using certificate-less authentication encryption (clae)
WO2022120699A1 (zh) * 2020-12-10 2022-06-16 深圳大学 单向代理重加密方法、装置、电子设备及系统
WO2022155811A1 (zh) * 2021-01-20 2022-07-28 深圳技术大学 多接收者代理重加密方法、系统、电子装置及存储介质
CN113569271B (zh) * 2021-09-27 2022-01-25 深圳前海环融联易信息科技服务有限公司 一种基于属性条件门限代理重加密方法
CN114143072A (zh) * 2021-11-29 2022-03-04 长春理工大学 一种基于cp-abe的属性撤销优化方法及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007059807A1 (en) * 2005-11-22 2007-05-31 Nero Ag Apparatus and method for retrieving a decryption key, license server and media player
CN108880801A (zh) * 2018-07-09 2018-11-23 西南交通大学 一种格上支持细粒度属性撤销的分布式属性基加密方法
CN110457930A (zh) * 2019-08-16 2019-11-15 上海海事大学 策略隐藏的可追踪撤销恶意用户的属性基加密方法及系统

Also Published As

Publication number Publication date
CN116094845A (zh) 2023-05-09

Similar Documents

Publication Publication Date Title
CN107154845B (zh) 一种基于属性的bgn型密文解密外包方案
Belguith et al. Analysis of attribute‐based cryptographic techniques and their application to protect cloud services
CN108111540B (zh) 一种云存储中支持数据共享的分层访问控制系统及方法
US8681975B2 (en) Encryption method and apparatus using composition of ciphers
CN110958219B (zh) 一种面向医疗云共享数据的sm2代理重加密方法与装置
KR20120079639A (ko) 화이트박스 암호 테이블을 이용한 콘텐츠 보호 장치, 콘텐츠 암호화 및 복호화 장치
He et al. Lightweight attribute based encryption scheme for mobile cloud assisted cyber-physical systems
Tiwari et al. SecCloudSharing: Secure data sharing in public cloud using ciphertext‐policy attribute‐based proxy re‐encryption with revocation
Sumathi et al. A group-key-based sensitive attribute protection in cloud storage using modified random Fibonacci cryptography
Naruse et al. Attribute-based encryption with attribute revocation and grant function using proxy re-encryption and attribute key for updating
Koe et al. Offline privacy preserving proxy re-encryption in mobile cloud computing
CN116094845B (zh) 一种可高效撤销的条件代理重加密方法及系统
KR102281265B1 (ko) 시간 제약을 지원하는 교집합 연산을 위한 함수 암호 기술
KR101793528B1 (ko) 무인증서 공개키 암호 시스템
KR101812311B1 (ko) 사용자 단말 및 속성 재암호 기반의 사용자 단말 데이터 공유 방법
JP5945525B2 (ja) 鍵交換システム、鍵交換装置、その方法、及びプログラム
Pandey et al. Data security using various cryptography Techniques: A Recent Survey
Siva et al. Hybrid cryptography security in public cloud using TwoFish and ECC algorithm
Naik et al. Original Research Article Key management and access control based on combination of cipher text-policy attribute-based encryption with Proxy Re-Encryption for cloud data
Sharfuddin et al. A Novel Cryptographic Technique for Cloud Environment Based on Feedback DNA
Basavarajegowda et al. Enhanced CP-ABE with RSA for Secure and Revocable Data Transmission of Big Data in Cloud.
Ukwuoma et al. Optimised Privacy Model for Cloud Data
Patgiri et al. SecretStore: A Secrecy as a Service model to enable the Cloud Storage to store user's secret data
Sarjiyus et al. New RSA Scheme For Improved Security
Lucas et al. Efficient Key Management Schemes for Trigonometry-Based Encryption of Short Messages

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