CN109144961B - 授权文件共享方法及装置 - Google Patents

授权文件共享方法及装置 Download PDF

Info

Publication number
CN109144961B
CN109144961B CN201810959312.3A CN201810959312A CN109144961B CN 109144961 B CN109144961 B CN 109144961B CN 201810959312 A CN201810959312 A CN 201810959312A CN 109144961 B CN109144961 B CN 109144961B
Authority
CN
China
Prior art keywords
file
information
identification information
ciphertext
requester
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
CN201810959312.3A
Other languages
English (en)
Other versions
CN109144961A (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.)
Juzix Technology Shenzhen Co ltd
Original Assignee
Juzix Technology Shenzhen Co ltd
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 Juzix Technology Shenzhen Co ltd filed Critical Juzix Technology Shenzhen Co ltd
Priority to CN201810959312.3A priority Critical patent/CN109144961B/zh
Publication of CN109144961A publication Critical patent/CN109144961A/zh
Application granted granted Critical
Publication of CN109144961B publication Critical patent/CN109144961B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords

Abstract

本发明提供了一种授权文件共享方法及装置,该方法包括:根据该文件共享请求和文件拥有方私钥生成重加密密钥;该文件共享请求包括文件请求方公钥和文件辨识信息;将该重加密密钥和该文件辨识信息发送至区块链上的智能合约,以使该智能合约利用该文件辨识信息查询预先建立的文件辨识信息与利用文件拥有方公钥加密的文件信息的密文的对应关系,得到利用文件拥有方公钥加密的文件信息的密文,并利用该重加密密钥对该文件信息的密文进行代理重加密;重加密密文能够利用文件请求方私钥被解密;解密得到的该文件信息的明文用于获取所述文件辨识信息对应的文件。本发明利用区块链和代理重加密能够保护数据安全,并确保数据归属权。

Description

授权文件共享方法及装置
技术领域
本发明涉及信息技术领域,尤其涉及一种授权文件共享方法及装置。
背景技术
云存储是在云计算概念上延伸和发展出来的一个新概念,是指通过集群应用、网络技术或分布式文件系统等功能,将网络中大量各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能的系统。云存储服务提供了许多相当诱人的优势。它可以按量付费,没有资本支出,即使以后存储需求增加,用户也不需要再购买其他设备。可以动态调整存储容量,而且只需为实际使用的容量付费。
然而,云存储存在数据安全隐患。当用户的数据信息在本地计算机存储时,我们可以随时处理数据并具有绝对的控制权。而当把数据存储到云服务后,控制权限随即减少。因为用户不一定知道数据信息在哪种数据中心进行存储,也不知数据能否会被某些人复制使用,甚至可能被存储在国外,并允许未经授权的个人访问数据。
发明内容
本发明提供一种授权文件共享方法及装置,以保护数据安全,并确保数据归属权。
本发明实施例提供一种授权文件共享方法,包括:接收文件共享请求,并根据所述文件共享请求和文件拥有方私钥生成重加密密钥;所述文件共享请求包括文件请求方公钥和文件辨识信息;将所述重加密密钥和所述文件辨识信息发送至区块链上的智能合约,以使所述智能合约利用所述文件辨识信息查询所述区块链上的第一对应关系得到利用文件拥有方公钥加密的文件信息的密文,并利用所述重加密密钥对所述文件信息的密文进行代理重加密,生成所述文件信息的重加密密文;所述文件信息的重加密密文能够利用文件请求方私钥被解密;解密得到的所述文件信息的明文用于获取所述文件辨识信息对应的文件;所述第一对应关系为文件辨识信息与利用文件拥有方公钥加密的文件信息的密文的对应关系,被预先建立并上传至所述区块链;所述文件拥有方私钥和所述文件拥有方公钥构成公私钥对;所述文件请求方私钥和所述文件请求方公钥构成公私钥对。
本发明实施例还提供一种授权文件共享方法,包括:接收重加密密钥和文件辨识信息,并利用区块链上的智能合约根据所述文件辨识信息查询所述区块链上的第一对应关系得到利用文件拥有方公钥加密的文件信息的密文,并利用所述重加密密钥对所述文件信息的密文进行代理重加密,得到所述文件信息的重加密密文;所述重加密密钥是根据文件共享请求和文件拥有方私钥生成;所述文件共享请求包括文件请求方公钥和所述文件辨识信息;所述第一对应关系为文件辨识信息与利用文件拥有方公钥加密的文件信息的密文的对应关系,被预先建立并上传至所述区块链;所述文件拥有方私钥和所述文件拥有方公钥构成公私钥对;输出所述文件信息的重加密密文,以根据文件请求方私钥解密所述文件信息的重加密密文,得到所述文件信息的明文;所述文件信息的明文用于获取所述文件辨识信息对应的文件;所述文件请求方私钥和所述文件请求方公钥构成公私钥对。
本发明实施例还提供一种授权文件共享方法,包括:发送文件共享请求,所述文件共享请求包括文件请求方公钥和文件辨识信息;获取文件信息的重加密密文,并根据文件请求方私钥解密所述文件信息的重加密密文,得到所述文件信息的明文;根据所述文件辨识信息查询区块链上的第二对应关系得到文件下载位置;所述第二对应关系为文件辨识信息与文件位置的对应关系,被预先建立并上传至所述区块链;所述文件信息的重加密密文是利用所述区块链上的智能合约根据重加密密钥对利用文件拥有方公钥加密的所述文件信息的密文进行代理重加密得到;所述重加密密钥是根据所述文件共享请求和文件拥有方私钥生成;所述文件拥有方私钥和所述文件拥有方公钥构成公私钥对;所述文件请求方私钥和所述文件请求方公钥构成公私钥对;在所述文件信息的明文包含所述文件辨识信息对应的文件的本身的情况下,根据所述文件信息的明文直接得到所述文件辨识信息对应的文件;在所述文件信息的明文包含所述文件辨识信息对应的文件上传加密密钥的情况下,根据所述文件下载位置下载所述文件辨识信息对应的文件的密文,并利用所述文件信息的明文解密下载的文件的密文,得到所述文件辨识信息对应的文件的明文。
本发明实施例还提供一种授权文件共享方法,包括:文件请求方发送文件共享请求,所述文件共享请求包括文件请求方公钥和文件辨识信息;文件拥有方获取文件共享请求,并根据所述文件共享请求和文件拥有方私钥生成重加密密钥;所述文件拥有方将所述重加密密钥和所述文件辨识信息发送至区块链上的智能合约;所述文件拥有方私钥和所述文件拥有方公钥构成公私钥对;所述区块链利用所述智能合约根据所述文件辨识信息查询所述区块链上的第一对应关系得到利用文件拥有方公钥加密的文件信息的密文,并利用所述重加密密钥对所述文件信息的密文进行代理重加密,得到所述文件信息的重加密密文,并输出所述文件信息的重加密密文;所述第一对应关系为文件辨识信息与利用文件拥有方公钥加密的文件信息的密文的对应关系,被预先建立并上传至所述区块链;所述文件请求方获取所述文件信息的重加密密文,并根据文件请求方私钥解密所述文件信息的重加密密文,得到所述文件信息的明文;所述文件请求方私钥和所述文件请求方公钥构成公私钥对;在所述文件信息的明文包含所述文件辨识信息对应的文件的本身的情况下,所述文件请求方根据所述文件信息的明文直接得到所述文件辨识信息对应的文件;在所述文件信息的明文包含所述文件辨识信息对应的文件上传加密密钥的情况下,所述文件请求方根据所述文件辨识信息查询区块链上的第二对应关系得到文件下载位置;所述第二对应关系为文件辨识信息与文件位置的对应关系,被预先建立并上传至所述区块链;所述文件请求方根据所述文件下载位置下载所述文件辨识信息对应的文件的密文;所述文件请求方利用所述文件信息的明文解密下载的文件的密文,得到所述文件辨识信息对应的文件的明文。
本发明实施例还提供一种授权文件共享装置,用于执行上述实施例所述方法的步骤。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述各实施例所述方法的步骤。
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述各实施例所述方法的步骤。
本发明授权文件共享方法、授权文件共享装置、计算机可读存储介质及计算机设备,利用区块链上的智能合约根据重加密密钥对所述文件信息的密文进行代理重加密,以及根据文件请求方私钥解密所述文件信息的重加密密文,能够基于区块链和代理重加密实现授权文件共享,以此能够充分利用区块链的特点,保护数据安全,并确保数据归属权。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1是本发明一实施例的授权文件共享方法的流程示意图;
图2是本发明另一实施例的授权文件共享方法的流程示意图;
图3是本发明又一实施例的授权文件共享方法的流程示意图;
图4是本发明再一实施例的授权文件共享方法的流程示意图;
图5是本发明一实施例中分类代理重加密方法的过程示意图;
图6是本发明一实施例的授权文件共享方法的交互示意图;
图7是本发明一实施例的授权文件共享装置的结构示意图;
图8是本发明另一实施例的授权文件共享装置的结构示意图;
图9是本发明又一实施例的授权文件共享装置的结构示意图;
图10是本发明又一实施例的授权文件共享装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
源于比特币底层技术的区块链是一种按照时间顺序将数据区块顺序相连形成的链式数据结构,而且,其以密码学方式保证不可篡改和不可伪造,并实现了去中心化的分布式记账。运行在区块链上的智能合约,能够以信息化方式传播、验证或执行合同,允许在没有第三方的情况下进行可信交易,而且这些交易可追踪且不可逆转。
基于区块链的上述特点,本发明实施例提供了一种授权文件共享方法。下面将从不同执行主体的实施例,说明本发明的授权文件共享方法的具体实施方式。
图1是本发明一实施例的授权文件共享方法的流程示意图。如图1所示,一些实施例的授权文件共享方法可以涉及多个执行主体需要执行的步骤,具体地,该方法可包括:
步骤S101:文件请求方发送文件共享请求,所述文件共享请求包括文件请求方公钥和文件辨识信息;
步骤S102:文件拥有方获取文件共享请求,并根据所述文件共享请求和文件拥有方私钥生成重加密密钥;
步骤S103:所述文件拥有方将所述重加密密钥和所述文件辨识信息发送至区块链上的智能合约;所述文件拥有方私钥和所述文件拥有方公钥构成公私钥对;
步骤S104:所述区块链利用所述智能合约根据所述文件辨识信息查询所述区块链上的第一对应关系得到利用文件拥有方公钥加密的文件信息的密文,并利用所述重加密密钥对所述文件信息的密文进行代理重加密,得到所述文件信息的重加密密文,并输出所述文件信息的重加密密文;所述第一对应关系为文件辨识信息与利用文件拥有方公钥加密的文件信息的密文的对应关系,被预先建立并上传至所述区块链;
步骤S105:所述文件请求方获取所述文件信息的重加密密文,并根据文件请求方私钥解密所述文件信息的重加密密文,得到所述文件信息的明文;所述文件请求方私钥和所述文件请求方公钥构成公私钥对;
步骤S106:在所述文件信息的明文包含所述文件辨识信息对应的文件的本身的情况下,所述文件请求方根据所述文件信息的明文直接得到所述文件辨识信息对应的文件;在所述文件信息的明文包含所述文件辨识信息对应的文件上传加密密钥的情况下,所述文件请求方根据所述文件辨识信息查询区块链上的第二对应关系得到文件下载位置;所述第二对应关系为文件辨识信息与文件位置的对应关系,被预先建立并上传至所述区块链;
步骤S107:所述文件请求方根据所述文件下载位置下载所述文件辨识信息对应的文件的密文;
步骤S108:所述文件请求方利用所述文件信息的明文解密下载的文件的密文,得到所述文件辨识信息对应的文件的明文。
上述步骤S101、步骤S105~步骤S108可以由文件请求方执行,上述步骤S102~步骤S103可以由文件拥有方执行,上述步骤S104可以由区块链执行。其中,区块链可以基于个人电脑、服务器等实现。文件请求方、文件拥有方可以是移动终端,例如手机、平板电脑等,或者可以是个人电脑,或者还可以是服务器,例如物理服务器或虚拟服务器。
在上述步骤S101中,在发送文件共享请求之前,文件请求方可以根据密码生成算法,例如公钥密码算法,生成文件请求方公私钥对,包括文件请求方公钥和文件请求方私钥,以备后续使用。在其他实施例中,文件请求方公私钥对可以由其他方生成,之后可以发送给文件请求方,或存储在文件请求方可以获取的位置。
当文件请求方需要某一存储位置获取所需文件时,可以将该文件请求方公钥添加至发送文件共享请求中,以备后续利用文件请求方私钥进行解密。该文件共享请求可以发送至文件拥有方,即进行链下请求,或者可以发送至区块链,即进行链上请求。该文件辨识信息可以包含文件名、文件类型等信息中的一个或多个。该文件类型例如可以是文本、图片等。
在上述步骤S102中,在获取到文件共享请求之前,文件拥有方可以对准备上传的文件或数据进行加密,例如通过高级加密标准(AES)进行加密;然后,文件拥有方可以将加密后的文件或数据上传至任何文件请求方可以访问的位置,例如云端、区块链等,以待授权分享给文件请求方;而且,文件拥有方可以根据密码生成算法,例如公钥密码算法,生成文件拥有方公钥和文件拥有方私钥。可以将文件信息的密文和文件辨识信息的对应关系上传至区块链,具体地,例如:在上传的加密文件或数据较大的情况下,可以将加密文件或数据的密钥和文件辨识信息(例如文件名)的对应关系上传至区块链,具体地例如,利用文件拥有方公钥对加密文件或数据的密钥进行加密后上传至区块链。在上传的文件较小的情况下,可以直接例如利用文件拥有方公钥加密的文件的密文和文件辨识信息(例如文件名)的对应关系上传至区块链。
在文件请求方进行链下请求的情况下,文件拥有方可以直接接收到文件请求方发送的文件共享请求;在文件请求方进行链上请求的情况下,文件拥有方可以在区块链上读取到文件共享请求。在文件拥有方获取到文件共享请求之后,可以根据该文件共享请求中的文件请求方公钥和文件拥有方私钥生成重加密密钥;在其他实施例中,该文件共享请求同时包含文件请求方公钥和文件类型的情况下,可以根据文件请求方公钥、文件类型和文件拥有方私钥生成重加密密钥。
在文件拥有方同意文件请求方的文件共享请求的情况下,即授权成功时,可以利用例如重加密密钥生成算法,根据所述文件共享请求和文件拥有方私钥生成重加密密钥;在文件拥有方不同意文件请求方的文件共享请求的情况下,即授权不成功时,文件拥有方可以不作任何处理,或者可以返回不同意分享的反馈信息。
在上述步骤S103中,在文件或数据较大的情况下,该文件信息可以是上传的加密文件或数据的文件上传加密密钥;在文件或数据较小的情况下,该文件信息可以是上传的加密文件或数据本身,在此情况下,可以将文件或数据上传至区块链上进行存储。
在上述步骤S104中,智能合约中可以预先写入例如代理重加密算法、分类代理重加密算法等算法的相应代码。所述重加密密钥和所述文件辨识信息可以作为参数写入智能合约,进而智能合约可以自动执行根据该文件辨识信息查询得到利用文件拥有方公钥加密的文件信息的密文,并利用所述重加密密钥对所述文件信息的密文进行代理重加密的计算。在上述文件共享请求包含文件类型的情况下,该重加密密钥包含关于文件类型的信息,此时,智能合约可以利用分类代理重加密算法对所述文件信息的密文进行分类代理重加密,从而生成所述文件信息的分类代理重加密密文,在此情况下,文件拥有方可以仅授权文件请求方访问文件共享请求中所指定的文件类型的文件。文件辨识信息与利用文件拥有方公钥加密的文件信息的密文的对应关系可以由文件拥有方在上传文件的时候建立。
在上述步骤S105中,文件请求方可以通过在区块链上进行查询,得到所述文件信息的重加密密文;或者区块链可以将所述文件信息的重加密密文发送给文件请求方。文件请求方获取到所述文件信息的重加密密文后,可以根据文件请求方私钥解密所述文件信息的重加密密文,得到所述文件信息的明文。
所述文件信息的明文可以是上传的加密文件或数据的密钥或上传的明文文件或数据本身。在所述文件信息包含上传的明文文件或数据本身的情况下,得到所述文件信息的明文后,即可获得所需的文件。在所述文件信息包含上传的加密文件或数据的密钥的情况下,可以通过步骤S106~步骤S108,根据所述文件信息的明文获取所需的文件。
在上述步骤S106中,在文件拥有方上传文件或数据的时候,可以将该文件辨识信息与文件位置的对应关系上传至区块链。利用该文件辨识信息查询该对应关系可以得到该对应关系对应的文件位置,即上述文件下载位置。
在上述步骤S107中,该所述文件下载位置可以是任何文件请求方可以访问的位置,例如云服务器、区块链等。在上述步骤S108中,该文件信息的明文可以包括上传的加密文件或数据的密钥,所以利用所述文件信息的明文,即利用上传的加密文件或数据的密钥可以解密下载的文件,得到所需文件的明文。
本实施例中,利用区块链上的智能合约根据重加密密钥对文件信息的密文进行代理重加密,以及根据文件请求方私钥解密所述文件信息的重加密密文,能够基于区块链和代理重加密实现授权文件共享,以此能够充分利用区块链的特点,保护数据安全,并确保数据归属权。
其中,智能合约可以是一种运行在区块链的一段代码,它的工作流程可分为构建、存储和执行三部分:
1)智能合约由区块链内的多个用户共同参与制定,可用于用户之间的任何交易行为。协议中明确了双方的权利和义务,开发人员将这些权利和义务以电子化的方式进行编程,代码中包含会触发合约自动执行的条件。比方说,你把一套闲置的房子租给A,那么,这份智能租约中就规定了A必须在每月5号之前给你打房租、你必须在收到房租时马上给对方钥匙等条款;
2)一旦编码完成,这份智能合约就被上传到区块链网络上,即全网验证节点都会接收到你和A的租房合约;
3)智能合约会定期检查是否存在相关事件和触发条件;满足条件的事件将会推送到待验证的队列中。假设A在4号提前打房租给你,这个事件就成了该合约的触发条件(每月5号以前);
4)区块链上的验证节点先对该事件进行签名验证,以确保其有效性;等大多数验证节点对该事件达成共识后,智能合约将成功执行,并通知用户;
5)成功执行的合约将移出区块。而未执行的合约则继续等待下一轮处理,直至成功执行。
图2是本发明另一实施例的授权文件共享方法的流程示意图。如图2所示,对于文件拥有方,一些实施例的授权文件共享方法,可包括:
步骤S201:接收文件共享请求,并根据所述文件共享请求和文件拥有方私钥生成重加密密钥;所述文件共享请求包括文件请求方公钥和文件辨识信息;
步骤S202:将所述重加密密钥和所述文件辨识信息发送至区块链上的智能合约,以使所述智能合约利用所述文件辨识信息查询所述区块链上的第一对应关系得到利用文件拥有方公钥加密的文件信息的密文,并利用所述重加密密钥对所述文件信息的密文进行代理重加密,生成所述文件信息的重加密密文;所述文件信息的重加密密文能够利用文件请求方私钥被解密;解密得到的所述文件信息的明文用于获取所述文件辨识信息对应的文件;所述第一对应关系为文件辨识信息与利用文件拥有方公钥加密的文件信息的密文的对应关系,被预先建立并上传至所述区块链;所述文件拥有方私钥和所述文件拥有方公钥构成公私钥对;所述文件请求方私钥和所述文件请求方公钥构成公私钥对。
图2所示的授权文件共享方法与图1所示的授权文件共享方法是基于同样的发明构思实现,区别在于,图2所示的授权文件共享方法主要在于说明文件拥有方的执行动作,对于图2中未作为执行动作进行说明的内容的执行主体不作限定。所以,上述步骤S201~步骤S202可以参照上述步骤S102~步骤S103实施,重复之处不再赘述。
在上述步骤S201中,在文件请求方进行链下请求时,该文件共享请求可以直接来自文件请求方;在文件请求方进行链上请求时,该文件共享请求可以由区块链发送来,或在区块链上查询得到。类似于上述步骤S102,在获取到文件共享请求之前,文件拥有方可以对准备上传的文件进行加密,并上传至存储位置,例如云端、区块链。文件拥有方可以根据例如公钥密码算法生成文件拥有方公钥和文件拥有方私钥。在文件较大的情况下,该文件信息可以包含上传的加密文件的密钥,文件可以上传至区块链以外的位置,以节省区块链的存储空间;在文件较小的情况下,该文件信息可以包含上传的文件本身,此时文件可以直接存储在区块链上,方便获取。该文件分享请求除了包含文件请求方公钥,还可以包含文件类型,以便后续进行分类代理重加密。
在上述步骤S202中,请求方将所述重加密密钥和文件辨识信息发送至区块链上的智能合约后,可以通过区块链上的智能合约或其他主体利用文件辨识信息查询得到利用文件拥有方公钥加密的文件信息的密文,并利用所述重加密密钥对所述文件信息的密文进行代理重加密,生成所述文件信息的重加密密文。在同意共享的情况下,可以进行代理重加密,在不同意共享的情况下,可以不作任何处理。可以利用代理重加密算法对所述文件信息的密文进行代理重加密;在文件共享请求同时包含文件请求方公钥和文件类型的情况下,可以利用分类代理重加密算法对所述文件信息的密文进行代理重加密,以实现细粒度的访问控制。
图3是本发明又一实施例的授权文件共享方法的流程示意图。如图3所示,对于区块链,一些实施例的授权文件共享方法,可包括:
步骤S301:接收重加密密钥和文件辨识信息,并利用区块链上的智能合约根据所述文件辨识信息查询所述区块链上的第一对应关系得到利用文件拥有方公钥加密的文件信息的密文,并利用所述重加密密钥对所述文件信息的密文进行代理重加密,得到所述文件信息的重加密密文;所述重加密密钥是根据文件共享请求和文件拥有方私钥生成;所述文件共享请求包括文件请求方公钥和所述文件辨识信息;所述第一对应关系为文件辨识信息与利用文件拥有方公钥加密的文件信息的密文的对应关系,被预先建立并上传至所述区块链;所述文件拥有方私钥和所述文件拥有方公钥构成公私钥对;
步骤S302:输出所述文件信息的重加密密文,以根据文件请求方私钥解密所述文件信息的重加密密文,得到所述文件信息的明文;所述文件信息的明文用于获取所述文件辨识信息对应的文件;所述文件请求方私钥和所述文件请求方公钥构成公私钥对。
图3所示的授权文件共享方法与图1所示的授权文件共享方法是基于同样的发明构思实现,区别在于,图3所示的授权文件共享方法主要在于说明文件区块链的执行动作,对于图3中未作为执行动作进行说明的内容的执行主体不作限定。所以,上述步骤S301~步骤S302可以参照上述步骤S104实施,重复之处不再赘述。
在步骤S301中,重加密密钥可以由文件拥有方生成,或者可以由区块链生成。利用文件拥有方公钥加密的文件信息的密文可以由文件拥有方生成。智能合约中可以预先写入用于代理重加密的代理重加密算法的相应代码,或者可以写入用于分类代理重加密的分类代理重加密算法等算法的相应代码,通过分类代理重加密可以实现更细粒度的访问控制。在上述文件共享请求包含文件类型的情况下,该重加密密钥包含关于文件类型的信息,此时,智能合约可以利用分类代理重加密算法对所述文件信息的密文进行分类代理重加密,从而生成所述文件信息的分类代理重加密密文,在此情况下,文件拥有方可以仅授权文件请求方访问文件共享请求中所指定的文件类型的文件。
在步骤S302中,可以在文件请求方查询是否存在文件信息的重加密密文时,区块链输出所述文件信息的重加密密文。或者,区块链直接输出所述文件信息的重加密密文,并发送给文件请求方,此种情况下,文件请求方可以将其地址或身份添加到文件共享请求中,文件拥有方可以将文件请求方的地址或身份发送给区块链,以便区块链将所述文件信息的重加密密文发送给文件请求方。
图4是本发明再一实施例的授权文件共享方法的流程示意图。如图4所示,对于文件请求方,一些实施例的授权文件共享方法,可包括:
步骤S401:发送文件共享请求,所述文件共享请求包括文件请求方公钥和文件辨识信息;
步骤S402:获取文件信息的重加密密文,并根据文件请求方私钥解密所述文件信息的重加密密文,得到所述文件信息的明文;根据所述文件辨识信息查询区块链上的第二对应关系得到文件下载位置;所述第二对应关系为文件辨识信息与文件位置的对应关系,被预先建立并上传至所述区块链;所述文件信息的重加密密文是利用所述区块链上的智能合约根据重加密密钥对利用文件拥有方公钥加密的所述文件信息的密文进行代理重加密得到;所述重加密密钥是根据所述文件共享请求和文件拥有方私钥生成;所述文件拥有方私钥和所述文件拥有方公钥构成公私钥对;所述文件请求方私钥和所述文件请求方公钥构成公私钥对;
步骤S403:在所述文件信息的明文包含所述文件辨识信息对应的文件的本身的情况下,根据所述文件信息的明文直接得到所述文件辨识信息对应的文件;在所述文件信息的明文包含所述文件辨识信息对应的文件上传加密密钥的情况下,根据所述文件下载位置下载所述文件辨识信息对应的文件的密文,并利用所述文件信息的明文解密下载的文件的密文,得到所述文件辨识信息对应的文件的明文。
图4所示的授权文件共享方法与图1所示的授权文件共享方法是基于同样的发明构思实现,区别在于,图4所示的授权文件共享方法主要在于说明文件请求方的执行动作,对于图4中未作为执行动作进行说明的内容的执行主体不作限定。所以,上述步骤S401~步骤S402可以参照上述步骤S101、步骤S105~步骤S108实施,重复之处不再赘述。
在上述步骤S401中,在发送文件共享请求之前,文件请求方可以根据密码生成算法生成文件请求方公私钥对。在其他实施例中,文件请求方公私钥对可以由其他方生成,之后可以发送给文件请求方,或存储在文件请求方可以获取的位置。该文件共享请求可以发送至文件拥有方,即进行链下请求,或者可以发送至区块链,即进行链上请求。该文件共享请求还可以包含其他文件相关信息,例如文件名、文件类型等。
在上述步骤S402中,文件请求方可以通过在区块链上进行查询,得到所述文件信息的重加密密文;或者区块链可以将所述文件信息的重加密密文发送给文件请求方。在所述文件信息包含文件请求方公钥,不包含文件类型的情况下,在授权成功的情况下文件请求方可以访问文件拥有方上传的所有文件;在所述文件信息既包含文件请求方公钥又包含文件类型的情况下,在授权成功的情况下文件请求方可以访问文件拥有方上传的该文件类型的文件,更好的保护了文件拥有方的文件。
一些实施例中,上述各实施例所述的授权文件共享方法中,所述文件辨识信息可包括文件名和/或文件类型。在所述文件共享请求仅包括文件名的情况下,进行代理重加密所使用的算法可以为代理重加密算法。在所述文件共享请求包括所述文件类型的情况下,进行代理重加密所使用的算法为分类代理重加密算法,在此情况下,可以将文件类型作为标签,利用分类代理重加密算法对所述文件信息的密文进行分类代理重加密,从而实现细粒度的文件访问控制,做细腻化的文件授权管理。
一些实施例中,上述各实施例所述的授权文件共享方法中,在所述文件辨识信息对应的文件的大小大于或等于设定值的情况下,所述文件信息可包括文件加密密钥;在所述文件辨识信息对应的文件的大小小于所述设定值的情况下,所述文件信息可包括文件本身。在前一种情况下,加密文件可以上传至例如云端或区块链,在后一种情况下,文件利用文件拥有方公钥加密,解密得到所述文件信息的明文后即得到所需文件,这使得下载文件快捷。该设定值,例如可以是500k、1M等,具体可根据需要设定。
一些实施例中,上述各实施例所述的授权文件共享方法中,所述文件辨识信息对应的文件下载位置位于云端或所述区块链。该云端可指云服务器。当文件较小时,可以将文件本申请利用文件拥有方公钥加密,并与文件辨识信息(例如文件名)生成对应关系,存储至区块链中,此种情况下,解密得到所述文件信息的明文后,即得到所需文件,方便快捷。
一些实施例中,可以利用同态加密代替上述可能的加密过程。该同态加密与传统加密技术不同之处在于同态加密不需要数据解密就能对数据进行操作。同态加密与明文进行同样的运算再将结果加密一样,允许对密文进行特定的代数运算得到仍是加密的结果。也就是说,同态加密技术的全过程不需要对数据进行解密,人们可以在加密的情况下进行简单的比较和检索从而得出正确的结论。因此云计算运用同态加密技术,不仅可以很好的解决目前云计算遭遇到的大部分安全问题,扩展和增强云计算的应用模式,同时也为云计算的服务上有效合法利用海量云数据提供了可能。虽然同态加密技术因为其在加密情况下就可以进行各种性质的操作。
上述各实施例中,可以利用代理重加密算法对所述文件信息的密文进行代理重加密,一些实施例中,该代理重加密算法,可以允许代理者(智能合约)将由Alice(文件拥有方)公钥加密的密文转化为由Bob(文件请求方)公钥加密的密文。Alice或者一个可信的第三方产生重加密密钥提交给代理者,当代理者接收到Alice的密文时调用重加密算法,把转换的结果提交给Bob,Bob接收到密文后再用自己的私钥进行解密得到明文。在这样的场景中,Alice通过代理重加密便捷有效地实现了对自己的密文文件的访问控制。然而,当Alice设置了一个到受理方Bob的重加密密钥时,Bob可以访问Alice在服务器的所有文件。
上述各实施例中,可以利用分类代理重加密算法对所述文件信息的密文进行代理重加密,一些实施例中,该分类代理重加密:Alice(文件拥有方)希望实现更细粒度的访问控制,比如Bob(文件请求方)只能访问它的一部分密文文件。在代理重加密中加入分类重加密的属性,Alice就可以通过对重加密密钥及密文的分类设定,让受理方只能获得Alice指定类型的重加密密文,从而实现对密文委托权的分类控制。分类代理重加密系统可由系统建立、密钥生成、分类重加密密钥生成、加密、分类重加密、解密六个算法组成,具体可描述如下:
1.系统建立:Setup(k)→params
系统以k为安全参数生成公开参数params。
2.密钥生成:KeyGen(params)→(pk,sk)
系统与用户根据params生成用户的公私钥对(pk,sk)。
3.分类重加密密钥生成:ReKeyGen(ski,pki,t)→rki→j,t
数据拥有方A用私钥ski、数据使用方B的公钥pkj及A指定的密文类型t生成从A到B的分类重加密密钥rki→j,t
4.加密:Enc(m,pki,t)→Ci
用A的公钥pki和密文类型t加密消息m,输出密文Ci
5.分类重加密:ReEnc(rki→j,t,Ci)→Cj
代理服务器用rki→j,t对类型t的密文Ci运行分类重加密算法,输出以数据使用方B的公钥pkj加密的密文Cj
6.解密:Dec(ski,Ci)=Dec(skj,Cj)=m。
图5是本发明一实施例中分类代理重加密方法的过程示意图。如图5所示,分类代理重加密的方法可包括以下过程:
1.上传
1)数据拥有者根据密钥生成算法以及参数params产生公私钥对KeyGen(params,i)→(pki,ski)。
2)数据拥有者利用加密算法加密文件,生成密文Ci=Enc(pki,t,m)。将加密后的数据上传至云端。
2.数据使用者请求授权
数据拥有者根据密钥生成算法以及参数params产生公私钥对KeyGen(params,j)→(pkj,skj)后请求授权,在请求信息中添加公钥信息pkj以及文件类型t。
3.数据拥有者同意授权
数据拥有者同意授权后,根据数据使用者的公钥pkj,数据拥有者的私钥ski和分类重加密密钥生成算法ReKeyGen(ski,pkj,t)产生重加密密钥rki→j,t,并发送给云端。
4.云端分类重加密
云端用分类重加密密钥rki→j,t对类型为t的密文Ci运行分类重加密算法,输出以数据使用者的公钥pkj加密的密文Cj=ReEnc(rki→j,t,Ci)并发送给数据使用者。
5.解密
根据自己的私钥skj,解密密文Cj,获得明文m。
图6是本发明一实施例的授权文件共享方法的交互示意图。如图6所示,基于区块链与分类代理重加密的授权文件共享方案,应用在基于区块链的数据存储与共享,数据拥有者A,数据使用者B通过区块链实现数据共享,方案分为以下几个步骤:
1.上传
A.文件很大时
1)数据拥有者根据公钥密码算法产生公私钥对pki,ski
2)A将加密后的文件或数据上传至任何B可以访问的位置,例如:AES(k1,f1),AES(k2,f2)…AES(kn,fn).(kn为密钥,fn为文件)。
3)A将上传文件的索引(pki(fn)和文件辨识信息的对应关系,pn和文件辨识信息的对应关系)上传至区块链(pki(k1),p1),(pki(k2),p2)…(pki(kn),pn)。
(pn为文件位置)
B.文件很小时
1)数据拥有者根据公钥密码算法产生公私钥对pki,ski
A将上传文件的索引(pki(fn)和文件辨识信息的对应关系,文件位置和文件辨识信息的对应关系)上传至区块链(pki(f1),pki(f2)…pki(fn))。
2.存储
文件可存储在B可以访问的任何地方。
1)存到云端。
2)存到区块链里。
3.请求文件共享
数据使用者B请求授权,根据公钥密码算法产生公私密对pkj,skj,在请求信息中添加公钥信息pkj以及文件类型t。
1)链下请求
2)链上请求
4.授权文件共享
1)同意共享
A.文件很大时
根据B的公钥pkj,A的私钥ski和重加密密钥生成算法ReKeyGen(ski,pkj,t)产生重加密密钥rki→j,t,授权成功后,A将Ci=pki(kn)、重加密密钥rki→j,t写入智能合约,智能合约自动执行分类代理重加密算法,生成分类重加密密文Cj=ReEnc(rki→j,t,Ci)。
B.文件很小时
根据B的公钥pkj,A的私钥ski和重加密密钥生成算法ReKeyGen(ski,pkj,t)产生重加密密钥rki→j,t,授权成功后,A将Ci=pki(fn)、重加密密钥rki→j,t写入智能合约,智能合约自动执行分类代理重加密算法,生成分类重加密密文Cj=ReEnc(rki→j,t,Ci)。
2)不同意共享
不作处理。
5.解密
A.文件很大时
B根据自己的私钥skj,解密密文Cj,获得密文kn。从文件存储地下载文件并用kn解密,获取文件明文。
B.文件很小时
B根据自己的私钥skj,解密密文Cj,获得文件fn
云计算是基于互联网的相关服务的增加、使用和交付模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源。在使用云计算的过程中由于大量用户的参与,不可避免的出现了隐私问题,为了确保用户的私有数据的安全,不得不对传输的数据和存储的数据进行加密处理,目前云计算加密技术常见的有同态加密技术和代理重加密技术,均无法确保数据归属权。
本发明实施例的基于区块链与分类代理重加密的授权文件共享方案,应用在基于区块链的数据存储与共享,能够保护数据安全,确保数据归属权。该方法包括数据拥有者将不同类型的明文数据文件加密存放于云端或者其它任何数据使用者可以访问的位置,并将不同类型的明文数据文件加密密钥索引存在区块链上。数据访问者向数据拥有者提出明文数据文件访问请求,如果数据拥有者同意该请求,则产生分类代理重加密密钥,智能合约根据索引和分类代理重加密密钥,自动执行分类代理重加密算法,生成分类代理重加密密文。数据使用者得到分类代理重加密密文,根据自己的私钥解密分类代理重加密密文得到文件加密密钥,解密文件后得到明文数据。本发明实施例的方法在区块链智能合约中实现分类代理重加密方案,实现数据存储与共享,保护数据安全,确保数据归属权。
基于与图1至图4中任一者所示的授权文件共享方法相同的发明构思,本申请实施例还提供了一种授权文件共享装置,如下面实施例所述。由于该授权文件共享装置解决问题的原理与授权文件共享方法相似,因此该授权文件共享装置的实施可以参见授权文件共享方法的实施,重复之处不再赘述。
概括而言,实施例中,授权文件共享装置用于执行上述实施例所述方法的步骤。具体而言,授权文件共享装置的实施方式如下述实施例所述。
图7是本发明一实施例的授权文件共享装置的结构示意图。如图7所示,一实施例的授权文件共享装置,可包括:重加密密钥生成单元501和信息发送单元502,二者相互连接。
重加密密钥生成单元501,用于:接收文件共享请求,并根据所述文件共享请求和文件拥有方私钥生成重加密密钥;所述文件共享请求包括文件请求方公钥和文件辨识信息;
信息发送单元502,用于:将所述重加密密钥和所述文件辨识信息发送至区块链上的智能合约,以使所述智能合约利用所述文件辨识信息查询所述区块链上的第一对应关系得到利用文件拥有方公钥加密的文件信息的密文,并利用所述重加密密钥对所述文件信息的密文进行代理重加密,生成所述文件信息的重加密密文;所述文件信息的重加密密文能够利用文件请求方私钥被解密;解密得到的所述文件信息的明文用于获取所述文件辨识信息对应的文件;所述第一对应关系为文件辨识信息与利用文件拥有方公钥加密的文件信息的密文的对应关系,被预先建立并上传至所述区块链;所述文件拥有方私钥和所述文件拥有方公钥构成公私钥对;所述文件请求方私钥和所述文件请求方公钥构成公私钥对。
图8是本发明另一实施例的授权文件共享装置的结构示意图。如图8所示,一实施例的授权文件共享装置,可包括:代理重加密单元601和重加密密文输出单元602,二者相互连接。
代理重加密单元601,用于:接收重加密密钥和文件辨识信息,并利用区块链上的智能合约根据所述文件辨识信息查询所述区块链上的第一对应关系得到利用文件拥有方公钥加密的文件信息的密文,并利用所述重加密密钥对所述文件信息的密文进行代理重加密,得到所述文件信息的重加密密文;所述重加密密钥是根据文件共享请求和文件拥有方私钥生成;所述文件共享请求包括文件请求方公钥和所述文件辨识信息;所述第一对应关系为文件辨识信息与利用文件拥有方公钥加密的文件信息的密文的对应关系,被预先建立并上传至所述区块链;所述文件拥有方私钥和所述文件拥有方公钥构成公私钥对;
重加密密文输出单元602,用于:输出所述文件信息的重加密密文,以根据文件请求方私钥解密所述文件信息的重加密密文,得到所述文件信息的明文;所述文件信息的明文用于获取所述文件辨识信息对应的文件;所述文件请求方私钥和所述文件请求方公钥构成公私钥对。
图9是本发明又一实施例的授权文件共享装置的结构示意图。如图9所示,一实施例的授权文件共享装置,可包括:请求发送单元701、重加密密文获取单元702、文件下载单元703及文件解密单元704,上述各单元顺序连接。
请求发送单元701,用于:发送文件共享请求,所述文件共享请求包括文件请求方公钥和文件辨识信息;
重加密密文获取单元702,用于:获取文件信息的重加密密文,并根据文件请求方私钥解密所述文件信息的重加密密文,得到所述文件信息的明文;根据所述文件辨识信息查询区块链上的第二对应关系得到文件下载位置;所述第二对应关系为文件辨识信息与文件位置的对应关系,被预先建立并上传至所述区块链;所述文件信息的重加密密文是利用所述区块链上的智能合约根据重加密密钥对利用文件拥有方公钥加密的所述文件信息的密文进行代理重加密得到;所述重加密密钥是根据所述文件共享请求和文件拥有方私钥生成;所述文件拥有方私钥和所述文件拥有方公钥构成公私钥对;所述文件请求方私钥和所述文件请求方公钥构成公私钥对;
文件下载解密单元703,用于:在所述文件信息的明文包含所述文件辨识信息对应的文件的本身的情况下,根据所述文件信息的明文直接得到所述文件辨识信息对应的文件;在所述文件信息的明文包含所述文件辨识信息对应的文件上传加密密钥的情况下,根据所述文件下载位置下载所述文件辨识信息对应的文件的密文,并利用所述文件信息的明文解密下载的文件的密文,得到所述文件辨识信息对应的文件的明文。
图10是本发明又一实施例的授权文件共享装置的结构示意图。如图10所示,一实施例的授权文件共享装置,可包括:请求发送单元801、重加密密钥生成单元802、信息发送单元803、代理重加密单元804、重加密密文解密单元805、下载位置查询单元806、文件下载单元807及文件解密单元808,上述各单元顺序连接。
请求发送单元801,用于:文件请求方发送文件共享请求,所述文件共享请求包括文件请求方公钥和文件辨识信息;
重加密密钥生成单元802,用于:文件拥有方获取文件共享请求,并根据所述文件共享请求和文件拥有方私钥生成重加密密钥;
信息发送单元803,用于:所述文件拥有方将所述重加密密钥和所述文件辨识信息发送至区块链上的智能合约;所述文件拥有方私钥和所述文件拥有方公钥构成公私钥对;
代理重加密单元804,用于:所述区块链利用所述智能合约根据所述文件辨识信息查询所述区块链上的第一对应关系得到利用文件拥有方公钥加密的文件信息的密文,并利用所述重加密密钥对所述文件信息的密文进行代理重加密,得到所述文件信息的重加密密文,并输出所述文件信息的重加密密文;所述第一对应关系为文件辨识信息与利用文件拥有方公钥加密的文件信息的密文的对应关系,被预先建立并上传至所述区块链;
重加密密文解密单元805,用于:所述文件请求方获取所述文件信息的重加密密文,并根据文件请求方私钥解密所述文件信息的重加密密文,得到所述文件信息的明文;所述文件请求方私钥和所述文件请求方公钥构成公私钥对;
下载位置查询单元806,用于:在所述文件信息的明文包含所述文件辨识信息对应的文件的本身的情况下,所述文件请求方根据所述文件信息的明文直接得到所述文件辨识信息对应的文件;在所述文件信息的明文包含所述文件辨识信息对应的文件上传加密密钥的情况下,所述文件请求方根据所述文件辨识信息查询区块链上的第二对应关系得到文件下载位置;所述第二对应关系为文件辨识信息与文件位置的对应关系,被预先建立并上传至所述区块链;
文件下载单元807,用于:所述文件请求方根据所述文件下载位置下载所述文件辨识信息对应的文件的密文;
文件解密单元808,用于:所述文件请求方利用所述文件信息的明文解密下载的文件的密文,得到所述文件辨识信息对应的文件的明文。
一些实施例中,所述文件辨识信息包括文件名和/或文件类型;在所述文件共享请求包括所述文件类型的情况下,进行代理重加密所使用的算法为分类代理重加密算法。
一些实施例中,在所述文件辨识信息对应的文件的大小大于或等于设定值的情况下,所述文件信息包括文件上传加密密钥;在所述文件辨识信息对应的文件的大小小于所述设定值的情况下,所述文件信息包括文件本身。
一些实施例中,所述文件辨识信息对应的文件下载位置位于云端或所述区块链。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述各实施例所述方法的步骤。
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述各实施例所述方法的步骤。
综上所述,本发明实施例的授权文件共享方法、授权文件共享装置、计算机可读存储介质及计算机设备,利用区块链上的智能合约根据重加密密钥对所述文件信息的密文进行代理重加密,以及根据文件请求方私钥解密所述文件信息的重加密密文,能够基于区块链和代理重加密实现授权文件共享,以此能够充分利用区块链的特点,保护数据安全,并确保数据归属权。
在本说明书的描述中,参考术语“一个实施例”、“一个具体实施例”、“一些实施例”、“例如”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。各实施例中涉及的步骤顺序用于示意性说明本发明的实施,其中的步骤顺序不作限定,可根据需要作适当调整。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种授权文件共享方法,其特征在于,包括:
接收文件共享请求,并根据所述文件共享请求和文件拥有方私钥生成重加密密钥;所述文件共享请求包括文件请求方公钥和文件辨识信息;
将所述重加密密钥和所述文件辨识信息发送至区块链上的智能合约,以使所述智能合约利用所述文件辨识信息查询所述区块链上的第一对应关系得到利用文件拥有方公钥加密的文件信息的密文,并利用所述重加密密钥对所述文件信息的密文进行代理重加密,生成所述文件信息的重加密密文;所述文件信息的重加密密文能够利用文件请求方私钥被解密,得到所述文件信息的明文;所述第一对应关系为文件辨识信息与利用文件拥有方公钥加密的文件信息的密文的对应关系,被预先建立并上传至所述区块链;所述文件拥有方私钥和所述文件拥有方公钥构成公私钥对;所述文件请求方私钥和所述文件请求方公钥构成公私钥对;
在所述文件信息的明文包含所述文件辨识信息对应的文件的本身的情况下,所述文件请求方根据所述文件信息的明文直接得到所述文件辨识信息对应的文件;在所述文件信息的明文包含所述文件辨识信息对应的文件上传加密密钥的情况下,所述文件请求方根据所述文件辨识信息查询区块链上的第二对应关系得到文件下载位置,根据所述文件下载位置下载所述文件辨识信息对应的文件的密文;所述文件请求方利用所述文件信息的明文解密下载的文件的密文,得到所述文件辨识信息对应的文件的明文;所述第二对应关系为文件辨识信息与文件位置的对应关系,被预先建立并上传至所述区块链。
2.一种授权文件共享方法,其特征在于,包括:
接收重加密密钥和文件辨识信息,并利用区块链上的智能合约根据所述文件辨识信息查询所述区块链上的第一对应关系得到利用文件拥有方公钥加密的文件信息的密文,并利用所述重加密密钥对所述文件信息的密文进行代理重加密,得到所述文件信息的重加密密文;所述重加密密钥是根据文件共享请求和文件拥有方私钥生成;所述文件共享请求包括文件请求方公钥和所述文件辨识信息;所述第一对应关系为文件辨识信息与利用文件拥有方公钥加密的文件信息的密文的对应关系,被预先建立并上传至所述区块链;所述文件拥有方私钥和所述文件拥有方公钥构成公私钥对;
输出所述文件信息的重加密密文,以根据文件请求方私钥解密所述文件信息的重加密密文,得到所述文件信息的明文;所述文件请求方私钥和所述文件请求方公钥构成公私钥对;
在所述文件信息的明文包含所述文件辨识信息对应的文件的本身的情况下,所述文件请求方根据所述文件信息的明文直接得到所述文件辨识信息对应的文件;在所述文件信息的明文包含所述文件辨识信息对应的文件上传加密密钥的情况下,所述文件请求方根据所述文件辨识信息查询区块链上的第二对应关系得到文件下载位置,根据所述文件下载位置下载所述文件辨识信息对应的文件的密文;所述文件请求方利用所述文件信息的明文解密下载的文件的密文,得到所述文件辨识信息对应的文件的明文;所述第二对应关系为文件辨识信息与文件位置的对应关系,被预先建立并上传至所述区块链。
3.一种授权文件共享方法,其特征在于,包括:
发送文件共享请求,所述文件共享请求包括文件请求方公钥和文件辨识信息;
获取文件信息的重加密密文,并根据文件请求方私钥解密所述文件信息的重加密密文,得到所述文件信息的明文;根据所述文件辨识信息查询区块链上的第二对应关系得到文件下载位置;所述第二对应关系为文件辨识信息与文件位置的对应关系,被预先建立并上传至所述区块链;所述文件信息的重加密密文是利用所述区块链上的智能合约根据重加密密钥对利用文件拥有方公钥加密的所述文件信息的密文进行代理重加密得到;所述重加密密钥是根据所述文件共享请求和文件拥有方私钥生成;所述文件拥有方私钥和所述文件拥有方公钥构成公私钥对;所述文件请求方私钥和所述文件请求方公钥构成公私钥对;
在所述文件信息的明文包含所述文件辨识信息对应的文件的本身的情况下,根据所述文件信息的明文直接得到所述文件辨识信息对应的文件;在所述文件信息的明文包含所述文件辨识信息对应的文件上传加密密钥的情况下,根据所述文件下载位置下载所述文件辨识信息对应的文件的密文,并利用所述文件信息的明文解密下载的文件的密文,得到所述文件辨识信息对应的文件的明文。
4.一种授权文件共享方法,其特征在于,包括:
文件请求方发送文件共享请求,所述文件共享请求包括文件请求方公钥和文件辨识信息;
文件拥有方获取文件共享请求,并根据所述文件共享请求和文件拥有方私钥生成重加密密钥;
所述文件拥有方将所述重加密密钥和所述文件辨识信息发送至区块链上的智能合约;所述文件拥有方私钥和所述文件拥有方公钥构成公私钥对;
所述区块链利用所述智能合约根据所述文件辨识信息查询所述区块链上的第一对应关系得到利用文件拥有方公钥加密的文件信息的密文,并利用所述重加密密钥对所述文件信息的密文进行代理重加密,得到所述文件信息的重加密密文,并输出所述文件信息的重加密密文;所述第一对应关系为文件辨识信息与利用文件拥有方公钥加密的文件信息的密文的对应关系,被预先建立并上传至所述区块链;
所述文件请求方获取所述文件信息的重加密密文,并根据文件请求方私钥解密所述文件信息的重加密密文,得到所述文件信息的明文;所述文件请求方私钥和所述文件请求方公钥构成公私钥对;
在所述文件信息的明文包含所述文件辨识信息对应的文件的本身的情况下,所述文件请求方根据所述文件信息的明文直接得到所述文件辨识信息对应的文件;在所述文件信息的明文包含所述文件辨识信息对应的文件上传加密密钥的情况下,所述文件请求方根据所述文件辨识信息查询区块链上的第二对应关系得到文件下载位置;所述第二对应关系为文件辨识信息与文件位置的对应关系,被预先建立并上传至所述区块链;
所述文件请求方根据所述文件下载位置下载所述文件辨识信息对应的文件的密文;
所述文件请求方利用所述文件信息的明文解密下载的文件的密文,得到所述文件辨识信息对应的文件的明文。
5.如权利要求1至4任一项所述的授权文件共享方法,其特征在于,所述文件辨识信息包括文件名和/或文件类型;在所述文件共享请求包括所述文件类型的情况下,进行代理重加密所使用的算法为分类代理重加密算法。
6.如权利要求1至4任一项所述的授权文件共享方法,其特征在于,在所述文件辨识信息对应的文件的大小大于或等于设定值的情况下,所述文件信息包括文件上传加密密钥;在所述文件辨识信息对应的文件的大小小于所述设定值的情况下,所述文件信息包括文件本身。
7.如权利要求1至4任一项所述的授权文件共享方法,其特征在于,所述文件辨识信息对应的文件下载位置位于云端或所述区块链。
8.一种授权文件共享装置,其特征在于,用于执行如权利要求1至7任一项所述方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1至7所述方法的步骤。
10.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至7所述方法的步骤。
CN201810959312.3A 2018-08-22 2018-08-22 授权文件共享方法及装置 Active CN109144961B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810959312.3A CN109144961B (zh) 2018-08-22 2018-08-22 授权文件共享方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810959312.3A CN109144961B (zh) 2018-08-22 2018-08-22 授权文件共享方法及装置

Publications (2)

Publication Number Publication Date
CN109144961A CN109144961A (zh) 2019-01-04
CN109144961B true CN109144961B (zh) 2021-09-17

Family

ID=64790741

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810959312.3A Active CN109144961B (zh) 2018-08-22 2018-08-22 授权文件共享方法及装置

Country Status (1)

Country Link
CN (1) CN109144961B (zh)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109933995B (zh) * 2019-01-31 2023-04-07 广州中国科学院软件应用技术研究所 一种基于云服务及区块链的用户敏感数据保护及系统
CN109768987B (zh) * 2019-02-26 2022-01-28 重庆邮电大学 一种基于区块链的数据文件安全隐私存储和分享方法
JP7235941B2 (ja) 2019-03-18 2023-03-09 株式会社野村総合研究所 情報管理システム及びその方法
CN110365654B (zh) * 2019-06-19 2022-09-27 平安普惠企业管理有限公司 数据传输控制方法、装置、电子设备和存储介质
CN110266687B (zh) * 2019-06-21 2021-08-17 杭州云象网络技术有限公司 一种采用区块链技术的物联网安全代理数据共享模块设计方法
CN110224814B (zh) * 2019-06-27 2022-01-14 深圳前海微众银行股份有限公司 一种区块链数据共享方法及装置
CN111654514A (zh) * 2019-12-09 2020-09-11 武汉空心科技有限公司 一种分包用工作平台文件共享管理方法
CN111191288B (zh) * 2019-12-30 2023-10-13 中电海康集团有限公司 一种基于代理重加密的区块链数据访问权限控制方法
CN112669147B (zh) * 2019-12-31 2023-09-26 蚂蚁区块链科技(上海)有限公司 基于区块链的服务请求方法及装置
CN111179067B (zh) * 2019-12-31 2023-06-27 杭州趣链科技有限公司 一种基于区块链的银行间客户信息交换系统
CN111222155A (zh) * 2020-01-08 2020-06-02 湖南智慧政务区块链科技有限公司 一种重加密与区块链结合的方法及系统
CN111415718B (zh) * 2020-02-29 2024-02-09 沈培君 一种基于区块链和条件代理重加密的电子处方共享方法
CN111404895A (zh) * 2020-03-06 2020-07-10 湖南智慧政务区块链科技有限公司 一种共享数据可读权限分配与回收方法、设备及存储介质
CN111385301B (zh) * 2020-03-06 2022-04-15 湖南智慧政务区块链科技有限公司 一种区块链数据共享加密和解密方法、设备及存储介质
CN111416716A (zh) * 2020-04-29 2020-07-14 中国联合网络通信集团有限公司 基于区块链的信息分享方法、接收终端和发送终端
CN111950026A (zh) * 2020-08-21 2020-11-17 安徽高山科技有限公司 一种基于区块链智能合约的密文分享方法
CN112261015B (zh) * 2020-10-12 2023-05-12 北京沃东天骏信息技术有限公司 基于区块链的信息共享方法、平台、系统以及电子设备
CN112287378A (zh) * 2020-12-16 2021-01-29 江苏通付盾区块链科技有限公司 一种基于区块链的数据加密分享方法及系统
CN112702160B (zh) * 2020-12-16 2022-07-01 江苏通付盾区块链科技有限公司 一种云端数据加密存储与分享的方法、装置及系统
CN112735566B (zh) * 2020-12-28 2023-05-30 武汉联影医疗科技有限公司 医学影像的管理方法、装置、计算机设备和存储介质
CN112668018B (zh) * 2020-12-24 2023-08-25 山大地纬软件股份有限公司 一种基于区块链的政府数据协议授权共享的方法与装置
CN112597117B (zh) * 2020-12-26 2022-12-27 讯飞智元信息科技有限公司 文件共享方法、相关装置及文件共享系统
CN113609522B (zh) * 2021-07-27 2022-07-08 敏于行(北京)科技有限公司 数据授权及数据访问方法和装置
CN113556363B (zh) * 2021-09-18 2021-12-17 中国人民解放军国防科技大学 基于去中心化和分布式代理重加密的数据共享方法及系统
CN113992330A (zh) * 2021-10-30 2022-01-28 贵州大学 一种基于代理重加密的区块链数据受控共享方法及系统
CN114584295B (zh) * 2022-03-01 2024-04-09 南京大学 针对属性基代理重加密系统的通用黑盒可追踪方法和装置
CN114866288A (zh) * 2022-04-12 2022-08-05 平安国际智慧城市科技股份有限公司 基于区块链的私密信息保护方法、装置及存储介质
CN114679340B (zh) * 2022-05-27 2022-08-16 苏州浪潮智能科技有限公司 一种文件共享方法、系统、设备及可读存储介质
CN116366283B (zh) * 2023-02-07 2023-08-18 南京模砾半导体有限责任公司 一种基于对称加密的文件安全传输方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103957109A (zh) * 2014-05-22 2014-07-30 武汉大学 一种云数据隐私保护安全重加密方法
CN104468615A (zh) * 2014-12-25 2015-03-25 西安电子科技大学 基于数据共享的文件访问和修改权限控制方法
CN107222482A (zh) * 2017-06-01 2017-09-29 黑龙江卓亚科技有限公司 一种基于复合区块链网络的数据管理系统及方法
CN107425982A (zh) * 2017-07-07 2017-12-01 众安信息技术服务有限公司 一种实现智能合约数据加密的方法和区块链
CN107862548A (zh) * 2017-11-03 2018-03-30 国云科技股份有限公司 一种基于区块链的大范围数据分享方法
CN107947922A (zh) * 2017-11-29 2018-04-20 中国科学院合肥物质科学研究院 一种基于区块链技术的数字档案管理方法及系统
CN108063752A (zh) * 2017-11-02 2018-05-22 暨南大学 一种基于区块链与代理重加密技术的可信基因检测及数据共享方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103957109A (zh) * 2014-05-22 2014-07-30 武汉大学 一种云数据隐私保护安全重加密方法
CN104468615A (zh) * 2014-12-25 2015-03-25 西安电子科技大学 基于数据共享的文件访问和修改权限控制方法
CN107222482A (zh) * 2017-06-01 2017-09-29 黑龙江卓亚科技有限公司 一种基于复合区块链网络的数据管理系统及方法
CN107425982A (zh) * 2017-07-07 2017-12-01 众安信息技术服务有限公司 一种实现智能合约数据加密的方法和区块链
CN108063752A (zh) * 2017-11-02 2018-05-22 暨南大学 一种基于区块链与代理重加密技术的可信基因检测及数据共享方法
CN107862548A (zh) * 2017-11-03 2018-03-30 国云科技股份有限公司 一种基于区块链的大范围数据分享方法
CN107947922A (zh) * 2017-11-29 2018-04-20 中国科学院合肥物质科学研究院 一种基于区块链技术的数字档案管理方法及系统

Also Published As

Publication number Publication date
CN109144961A (zh) 2019-01-04

Similar Documents

Publication Publication Date Title
CN109144961B (zh) 授权文件共享方法及装置
US11019040B2 (en) Cloud key escrow system
CN108259169B (zh) 一种基于区块链云存储的文件安全分享方法及系统
CN110535833B (zh) 一种基于区块链的数据共享控制方法
Fabian et al. Collaborative and secure sharing of healthcare data in multi-clouds
CN111199045A (zh) 信息的安全多方存储和传递的加密私钥管理的方法和系统
KR20130084604A (ko) 전자 문서들의 판독 가능성을 제어 및 제한하기 위한 방법
JP2012518330A (ja) 高信頼なクラウド・コンピューティングおよびクラウド・サービスのフレームワーク
JP2012518329A (ja) 信頼済みクラウドコンピューティングおよびサービスに関するフレームワーク
CN101883100A (zh) 一种数字内容分布式授权方法
JP6404481B2 (ja) クラウドコンピューティングにおける異種混合データ記憶管理方法および装置
US20220014367A1 (en) Decentralized computing systems and methods for performing actions using stored private data
WO2014114080A1 (zh) 数据加密保护方法及系统
CN117396869A (zh) 用于使用分布式账本技术进行安全密钥管理的系统和方法
Nalinipriya et al. Extensive medical data storage with prominent symmetric algorithms on cloud-a protected framework
Thilakanathan et al. Secure multiparty data sharing in the cloud using hardware-based TPM devices
Wise et al. Cloud docs: secure scalable document sharing on public clouds
JP2018085681A (ja) 強化されたセキュリティを有する取引相互監視システム
CN114398623A (zh) 一种安全策略的确定方法
Suthar et al. EncryScation: A novel framework for cloud iaas, daas security using encryption and obfuscation techniques
CN108933758A (zh) 可分享云存储加解密方法、装置和系统
Charanya et al. Attribute based encryption for secure sharing of E-health data
CN114091058A (zh) 在第一区域和第二区域间数据安全共享的方法和系统
US9294447B2 (en) Access control
JP2020155801A (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