CN107979590B - 数据共享方法、客户端、服务器、计算设备及存储介质 - Google Patents
数据共享方法、客户端、服务器、计算设备及存储介质 Download PDFInfo
- Publication number
- CN107979590B CN107979590B CN201711065783.1A CN201711065783A CN107979590B CN 107979590 B CN107979590 B CN 107979590B CN 201711065783 A CN201711065783 A CN 201711065783A CN 107979590 B CN107979590 B CN 107979590B
- Authority
- CN
- China
- Prior art keywords
- authorization code
- key
- client
- encrypted data
- access
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3226—Cryptographic 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6209—Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key 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)
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic 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 cryptographic hash functions
- H04L9/3239—Cryptographic 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 cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network 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
Abstract
本申请提出了一种数据共享方法,包括:根据密钥对一份明文数据进行加密得到一份加密数据;将所述加密数据上传至信息共享系统;将所述密钥的第一部分上传至所述信息共享系统对应的授权访问服务器;从所述授权访问服务器接收所述加密数据对应的授权码;当授权一个用户访问所述加密数据时,将所述授权码和所述密钥的第二部分发送给所述用户的客户端,所述密钥的第二部分包括所述密钥中除所述第一部分之外的剩余部分。本申请还提出了相应的客户端、服务器、计算设备及存储介质。
Description
技术领域
本申请涉及计算机技术领域,特别涉及数据共享方法、客户端、服务器、计算设备及存储介质。
背景技术
随着互联网技术的发展,出现了一些信息共享系统,用户可以将自身持有的一些数据(比如:图片、文档、视频等文件)上传到信息共享系统,并可授权其它用户通过信息共享系统来访问这些数据。
那么,信息共享系统需要采用以下技术手段来保障这些数据的安全,比如在某个用户请求访问某个文件时,对此用户提供的信息进行验证。
发明内容
本申请提出了以下技术方案,以保证数据共享的安全性。
本申请提出了一种数据共享方法,包括:根据密钥对一份明文数据进行加密得到一份加密数据;将所述加密数据上传至信息共享系统;将所述密钥的第一部分上传至所述信息共享系统对应的授权访问服务器;从所述授权访问服务器接收所述加密数据对应的授权码;当授权一个用户访问所述加密数据时,将所述授权码和所述密钥的第二部分发送给所述用户的客户端,所述密钥的第二部分包括所述密钥中除所述第一部分之外的剩余部分,以使所述客户端当发送针对所述加密数据的访问请求至所述授权访问服务器时,在所述访问请求中携带所述授权码和所述密钥的所述第二部分,以便所述授权访问服务器在确定所述授权码可用时根据所述密钥的所述第一部分和所述第二部分生成所述密钥,根据所生成的所述密钥对从所述信息共享系统获取的所述加密数据进行解密而得到所述明文数据并返回给所述客户端。
本申请还提出了一种数据共享方法,包括:从第一客户端接收第一密钥的第一部分,所述第一密钥对应于一份上传到信息共享系统的加密数据,所述加密数据为根据所述第一密钥对一份明文数据进行加密处理而获得的;生成所述加密数据对应的第一授权码;将所述第一授权码发送给所述第一客户端,以使所述第一客户端在授权第二客户端访问所述加密数据时将所述第一授权码和所述第一密钥的第二部分发送给所述第二客户端,以便所述第二客户端在访问所述加密数据时将所述第一授权码和所述第一密钥的所述第二部分携带在访问请求中,所述第一密钥的第二部分包括所述第一密钥中除所述第一部分之外的剩余部分;当接收到来自任一客户端的对于所述加密数据的访问请求时,所述方法还包括:从所述访问请求中获取第二授权码和一个不完整密钥;当所述第二授权码与所述第一授权码相同并且所述第二授权码可用时,根据所述不完整密钥和所述加密数据对应的所述第一密钥的第一部分生成第二密钥,其中,当所述不完整密钥与所述第一密钥的第二部分相同时,所生成的所述第二密钥与所述第一密钥相同;从所述信息共享系统获取所述加密数据;根据所述第二密钥对所述加密数据进行解密处理,其中,当所述第二密钥与所述第一密钥相同时,解密得到所述明文数据并将其发送给发送所述访问请求的所述客户端。
本申请提出了一种第一客户端,包括:加密模块,根据密钥对一份明文数据进行加密得到一份加密数据;上传模块,将所述加密数据上传至信息共享系统,将所述密钥的第一部分上传至所述信息共享系统对应的授权访问服务器;授权模块,从所述授权访问服务器接收所述加密数据对应的授权码;当授权一个用户访问所述加密数据时,将所述授权码和所述密钥的第二部分发送给第二客户端,所述密钥的第二部分包括所述密钥中除所述第一部分之外的剩余部分,以使所述第二客户端当发送针对所述加密数据的访问请求至所述授权访问服务器时,在所述访问请求中携带所述授权码和所述密钥的所述第二部分,以便所述授权访问服务器在确定所述授权码可用时根据所述密钥的所述第一部分和所述第二部分生成所述密钥,根据所生成的所述密钥对从所述信息共享系统获取的所述加密数据进行解密而得到所述明文数据并返回给所述第二客户端。
在一些实例中,所述授权模块,进一步生成所述加密数据的访问令牌,所述访问令牌包含所述授权码和所述密钥的所述第二部分;其中,所述授权模块将所述访问令牌发送给所述第二客户端,以使所述第二客户端在所述访问请求中携带所述访问令牌。
在一些实例中,当将所述加密数据上传至所述信息共享系统时,所述上传模块进一步上传所述加密数据的文件标识及其持有者的用户标识,以使所述信息共享系统将所述加密数据与所述文件标识和所述持有者的用户标识相关联,以便所述授权访问服务器根据所述文件标识和所述持有者的用户标识从所述信息共享系统获取所述加密数据。
在一些实例中,当将所述密钥的所述第一部分上传至所述授权访问服务器时,所述上传模块进一步上传所述文件标识和所述持有者的用户标识,以使所述授权访问服务器根据所述持有者的用户标识对应的规则生成所述授权码,并将所述授权码与所述密钥的所述第一部分、所述文件标识和所述持有者的用户标识相关联,在收到所述访问请求时根据其中携带的所述文件标识和所述持有者的用户标识获取相关联的所述授权码和所述密钥的所述第一部分,以便根据获取的所述授权码确定所述访问请求携带的所述授权码是否可用,根据从本地获取的所述密钥的所述第一部分和所述访问请求携带的所述第二部分生成所述密钥。
在一些实例中,所述授权模块进一步生成包含所述授权码和所述密钥的所述第二部分的所述加密数据的访问令牌,将所述访问令牌与所述文件标识相关联;其中,所述授权模块将与所述文件标识相关联的所述访问令牌发送给所述第二客户端,以使所述第二客户端在所述访问请求中携带所述访问令牌。
在一些实例中,所述授权模块进一步向所述授权访问服务器发送针对所述授权码的取消请求,以使所述授权访问服务器令所述授权码失效;所述授权模块还令本地的所述授权码失效。
在一些实例中,所述授权模块向所述授权访问服务器发送针对所述加密数据的生成授权码请求,以使所述授权访问服务器生成所述加密数据对应的新授权码;所述授权模块还从所述授权访问服务器接收所述加密数据对应的所述新授权码。
在一些实例中,所述授权模块进一步向所述授权访问服务器发送针对所述加密数据的更新授权码请求,以使所述授权访问服务器生成所述加密数据对应的新授权码,并用所述新授权码替代之前的所述授权码;所述授权模块还从所述授权访问服务器接收所述新授权码,并用所述新授权码替代之前的所述授权码。
本申请提出了一种授权访问服务器,包括:授权模块,从第一客户端接收第一密钥的第一部分,所述第一密钥对应于一份上传到信息共享系统的加密数据,所述加密数据为根据所述第一密钥对一份明文数据进行加密处理而获得的;生成所述加密数据对应的第一授权码;将所述第一授权码发送给所述第一客户端,以使所述第一客户端在授权第二客户端访问所述加密数据时将所述第一授权码和所述第一密钥的第二部分发送给所述第二客户端,以便所述第二客户端在访问所述加密数据时将所述第一授权码和所述第一密钥的所述第二部分携带在访问请求中,所述第一密钥的第二部分包括所述第一密钥中除所述第一部分之外的剩余部分;验证模块,当接收到来自任一客户端的对于所述加密数据的访问请求时,从所述访问请求中获取第二授权码和一个不完整密钥;当所述第二授权码与所述第一授权码相同并且所述第二授权码可用时,触发密钥模块;所述密钥模块,根据所述不完整密钥和所述加密数据对应的所述第一密钥的第一部分生成第二密钥,其中,当所述不完整密钥与所述第一密钥的第二部分相同时,所生成的所述第二密钥与所述第一密钥相同;解密模块,从所述信息共享系统获取所述加密数据;根据所述第二密钥对所述加密数据进行解密处理,其中,当所述第二密钥与所述第一密钥相同时,解密得到所述明文数据并将其发送给发送所述访问请求的所述客户端。
在一些实例中,所述验证模块从所述访问请求中获取所述加密数据的访问令牌,从所述访问令牌中获得所述第二授权码和所述不完整密钥。
在一些实例中,所述授权模块,当从所述第一客户端接收所述密钥的所述第一部分时,进一步接收文件标识和所述加密数据的持有者的用户标识;其中,所述授权模块根据所述持有者的用户标识对应的规则生成所述第一授权码,并将所述第一授权码与所述密钥的所述第一部分、所述文件标识和所述持有者的用户标识相关联;其中,所述验证模块当收到所述访问请求时,根据所述访问请求携带的文件标识和所述持有者的用户标识获取相关联的所述第一授权码和所述密钥的所述第一部分。
在一些实例中,所述信息共享系统为区块链系统,所述加密数据被上传到所述区块链系统中的一个区块,所述区块对应一个区块高度;所述授权模块所生成的所述第一授权码对应允许访问的区块高度和/或过期时间;所述验证模块,当所述第二授权码与所述第一授权码相同时,获取所述第二授权码对应的允许访问的区块高度和/或过期时间;当所述访问请求针对的所述加密数据的区块高度与所述第二授权码对应的所述允许访问的区块高度相匹配和/或所述第二授权码未达到所述过期时间时,确定所述第二授权码可用。
在一些实例中,所述授权模块,进一步响应于来自所述第一客户端的针对所述授权码的取消请求,令所述第一授权码失效;向所述第一客户端返回响应,以使所述第一客户端令本地的所述第一授权码失效。
在一些实例中,所述授权模块,进一步响应于来自所述第一客户端的针对所述加密数据的生成授权码请求,生成所述加密数据对应的新授权码;向所述第一客户端发送所述加密数据对应的所述新授权码。
在一些实例中,所述授权模块,进一步响应于来自所述第一客户端的针对所述加密数据的更新授权码请求,生成所述加密数据对应的新授权码,并用所述新授权码替代之前的所述第一授权码;向所述第一客户端发送所述加密数据对应的所述新授权码,以使其用所述新授权码替代之前的所述第一授权码。
本申请还提出了一种计算设备,包括:一个或多个处理器;存储器;以及一个或多个程序,存储在该存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行上述方法的指令。
本申请还提出了一种存储介质,存储有一个或多个程序,所述一个或多个程序包括指令,所述指令当由计算设备执行时,使得所述计算设备执行上述方法。
采用本申请提供的上述方案,能够提高共享信息的安全性,实现灵活的数据访问授权。
附图说明
为了更清楚的说明本申请中的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实例,对于本领域普通技术人员来说,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。其中,
图1为本申请实例涉及的系统构架图;
图2为本申请实例的方法流程图;
图3为本申请实例的方法流程图;
图4为本申请实例的消息交互图;
图5为本申请实例的用户界面图;
图6为本申请实例的用户界面图;
图7为本申请实例中客户端的结构示意图;
图8为本申请实例中服务器的结构示意图;及
图9为本申请实例中计算设备的组成结构示意图。
具体实施方式
为了描述上的简洁和直观,下文通过描述若干代表性的实施例来对本发明的方案进行阐述。但本文并未示出所有实施方式。实施例中大量的细节仅用于帮助理解本发明的方案,本发明的技术方案实现时可以不局限于这些细节。为了避免不必要地模糊了本发明的方案,一些实施方式没有进行细致地描述,而是仅给出了框架。下文中,“包括”是指“包括但不限于”,“根据……”是指“至少根据……,但不限于仅根据……”。说明书和权利要求书中的“包括”是指某种程度上至少包括,应当解释为除了包括之后提到的特征外,其它特征也可以存在。
本申请提出了一种数据共享方法,该方法可应用于图1所示的系统构架中。如图1所示,该系统构架包括:第一客户端101、第二客户端102、授权访问服务器103和信息共享系统104,这些实体可以通过互联网105进行通信。其中,信息共享系统104用于保存用户上传的各种数据,用户也可访问信息共享系统104中的数据。在实际的网络中,会有大量的客户端101/102,对于被上传到信息共享系统104中的一份数据而言,其对应一个第一客户端101,是这份数据的持有者和上传者所使用的客户端,也叫共享者客户端,而这份数据还对应一个或多个第二客户端102,是请求访问这份数据的用户使用的客户端,也叫访问者客户端或者查阅者客户端。授权访问服务器103可直接连接或者通过互联网105连接信息共享系统104,用于提供对于信息共享系统104的访问服务(具体可称为授权查阅服务)。第二客户端102通过授权访问服务器103从信息共享系统104获取其想访问的数据,具体的,第二客户端102向授权访问服务器103发送针对某份数据的访问请求(具体可称为查阅请求),授权访问服务器103对此访问请求进行鉴权,以验证第二客户端102对应的用户是否有权访问此份数据(比如验证访问请求中的授权码),在鉴权通过的情况下,根据访问请求中携带的密钥信息对从信息共享系统104获得的加密数据进行解密处理,如果能成功获得解密之后的明文数据,则将此明文数据返回给第二客户端102。
这里,第一客户端101和第二客户端102可以为各种可访问共享数据的APP客户端或者浏览器,第一客户端101和第二客户端102可运行在各种终端设备上,包括:PC机、手机、平板电脑、掌上电脑、超极本、可穿戴设备等。信息共享系统104可以是各种集中或分布式的数据存储系统,包括但不仅限于:区块链系统(或称区块链网络)、数据库系统、网盘/云盘系统等。信息共享系统104中存储的数据可涉及多种业务场景中产生的数据,包括:数字资产、鉴证服务、共享账本、共享经济等场景。
其中,数字资产(Digital assets)是指企业拥有或控制的,以电子数据的形式存在的,在日常活动中持有以备出售或处在生产过程中的非货币性资产。数字资产的产生得益于办公自动化,数字资产依托电子支付系统而发展,用于共享积分、优惠券、数字货币、股权登记等场景。鉴证服务是用于版权/所有权保护、司法文件保全、公益捐赠、个人及企业证明等业务场景。共享账本是用于机构间清算、银行保理、机构间联合贷款、供应链金融、跨境汇款等业务场景。区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。区块链系统是一种全新的分布式基础架构,其利用块链式数据结构来验证与存储数据,利用分布式节点共识算法来生成和更新数据,利用密码学的方式保证数据传输和访问的安全,利用由自动化脚本代码组成的智能合约来编程和操作数据的。
在一些业务场景中,上传到信息共享系统104中的数据需要加密,并且要对数据访问加以授权,也就是说有些数据是有条件共享的,这些数据可被称为用户隐私数据,例如:个人或机构的实名认证信息、金融账户信息、相册、原创作品、需要共享鉴证的信息等等,对于这些数据,用户既想共享又不想将内容公之于众,但又能做到在特定人之间共享,因此,会将数据加密保存在信息共享系统中104,然后授权给特定用户进行查阅。
本申请实例提供了一种数据共享方法,其可应用于终端设备中的第一客户端101。图1中仅示出了一个第一客户端101,在实际的应用场景中,第一客户端101可以有多个,甚至是海量,每一第一客户端101都可实现此方法。如图2所示,此方法流程200包括如下步骤:
步骤201:第一客户端101根据密钥对一份明文数据进行加密得到一份加密数据。
步骤202:第一客户端101将所述加密数据上传至信息共享系统104。
这里,用户想要上传一份数据时,其所使用的第一客户端101会使用预先设置的密钥对这份数据(即明文数据)进行加密,再将加密数据上传到信息共享系统104中。
步骤203:第一客户端101将所述密钥的第一部分上传至信息共享系统104对应的授权访问服务器103。
这里,信息共享系统104对应的授权访问服务器103就是指其连接的授权访问服务器103。
这里,密钥是一个字符串,可以将作为密钥的这个字符串分割成两个字符串,分别作为密钥的第一部分和第二部分,在本步骤中,将密钥的第一部分上传到授权访问服务器103。在一些实例中,可以将密钥的前半部作为第一部分,而将密钥的后半部作为第二部分。在另一些实例中,可以将密钥的后半部作为第一部分,而将密钥的前半部作为第二部分。其中,第一部分和第二部分的长度可以相同,也可以不同。在一些实例中,分割密钥时,可以按预先设定的字符串长度值(即设定字符串包含的字符数目)分割出相应长度的字符串作为密钥的第一部分,然后将剩余的字符串作为密钥的第二部分。
步骤204:第一客户端101从授权访问服务器103接收所述加密数据对应的授权码。
在一些实例中,授权访问服务器103在收到第一客户端101上传的针对某份加密数据的密钥的第一部分时,会为此份加密数据生成授权码,再将此授权码返回给第一客户端101。具体的,授权访问服务器103可以按此份数据的上传用户对应的规则来生成授权码。
步骤205:当授权一个用户访问所述加密数据时,第一客户端101将所述授权码和所述密钥的第二部分发送给所述用户的客户端(即对应的第二客户端102),所述密钥的第二部分包括所述密钥中除所述第一部分之外的剩余部分,以使第二客户端102当发送针对所述加密数据的访问请求至授权访问服务器103时,在所述访问请求中携带所述授权码和所述密钥的所述第二部分。
这样,授权访问服务器103在确定所述授权码可用时根据所述密钥的所述第一部分和所述第二部分生成所述密钥,根据所生成的所述密钥对从信息共享系统104获取的所述加密数据进行解密处理,并将解密得到的所述明文数据提供给第二客户端102。
在一些实例中,当某个用户向查阅此加密数据时,会通过其使用的第二客户端103向第一客户端101请求授权码,第一客户端101确定授权此用户查阅数据时,会将此授权码和上述密钥的第二部分发送给第二客户端102。
在一些实例中,授权访问服务器103可将密钥的第一部分和第二部分拼接起来即可组合成完整的所述密钥。如果授权访问服务器103从第二客户端102获得的密钥的第二部分与从第一客户端101获得的密钥的第一部分不属于同一个密钥,则无法拼接成一个正确的密钥,进而解密就会失败,第二客户端102则无法获得明文数据。授权访问服务器103可以向第二客户端102返回失败响应,或者返回加密数据。这样,第二客户端102就不能成功查阅到数据的内容,从而有效保障了第一客户端101上传的数据的安全。
采用上述实例提供的方法,第一客户端101持有密钥和授权码,授权访问服务器103持有授权码和密钥的第一部分,第二客户端102在获得授权时可持有密钥的第二部分和授权码,这样,当第二客户端102通过授权访问服务器103请求访问相应的数据时,授权访问服务器103可首先验证授权码是否可用,在授权码可用的情况下,再利用从第一客户端101和第二客户端102分别获得的不完整密钥(密钥的第一部分和第二部分)获得完整密钥,如果第二客户端102的提供的不完整密钥有问题,则无法获得正确的完整密钥,就无法对加密数据成功解密,从而保障了数据的安全。在此方案中,第二客户端102和授权访问服务器103分别持有密钥的一部分,二者都不具有访问加密数据的权限,只有二者持有的密钥信息合并在一起时才能获得完整密钥,从而有效保障了数据安全和用户隐私。这样对于信息共享系统104中保存的用户不想公开的加密数据,通过授权访问服务器103,第一客户端101可以授权某些第二客户端102来访问加密数据的明文,从而在信息共享和隐私保护中达到了平衡,提供了一种更优的信息共享机制。
上述实例可以应用于区块链的数据共享场景中。授权访问服务器103提供了一种隐私数据授权查阅的服务,属于为共享信息系统中的区块链提供的一个针对数据隐私保护的可选服务,可以应用于信息共享区块链、数字资产区块链等场景中,在保护用户不想公开的数据的同时,还可通过独立授权的方式给某部分人查阅。因为区块链是以共享为原则,所有用户都可以自由查阅上面的数据,此时无论是否被授权,用户都能自由查阅,但只有授权访问服务器103通过查阅出来的数据是解密的明文数据,如果某个用户直接在区块链上查阅,所得的是加密数据,无法得到明文数据。
在一些实例中,步骤204中,第一客户端101在收到授权码之后可进一步生成所述加密数据的访问令牌(也可称为数据查阅令牌),该访问令牌包含所述授权码和所述密钥的所述第二部分。步骤205中,所述将所述授权码和所述密钥的第二部分发送给所述第二客户端102的步骤具体可包括:将所述访问令牌发送给所述第二客户端102,以使所述第二客户端102在所述访问请求中携带所述访问令牌。这样,第一客户端101就将授权码和密钥的第二部分发送给第二客户端102了。这里,授权码和密钥都可以是一个数字和/或字符组成的字符串,由授权码和密钥的第二部分组成的访问令牌可以是一个数字和/或字符组成的字符串。在此实例中,第一客户端101可以通过向第二客户端102发放令牌来授权相应的用户来访问其上传的加密数据,并且所发放的令牌中并没有完整密钥,需要到授权访问服务器103中做进一步验证才能获得完整密钥而进行解密处理,从而能有效保障数据安全。
在一些实例中,步骤202中,当将所述加密数据上传至信息共享系统104时,第一客户端101进一步上传所述加密数据的文件标识及其持有者的用户标识(通常是当前使用第一客户端101的用户标识),以使信息共享系统104将所述加密数据与所述文件标识和所述持有者的用户标识相关联,以便授权访问服务器103根据所述文件标识和所述持有者的用户标识从信息共享系统104获取所述加密数据。这里,在上传一份加密数据时,其文件标识和持有者的用户标识会同时传到信息共享系统104,信息共享系统104在保存此份加密数据时会将其与文件标识和持有者的用户标识相关联。授权访问服务器103在从信息共享系统104中查询某份加密数据时,会在查询请求中携带文件标识及持有者的用户标识,这样,信息共享服务器104可确定与文件标识及持有者的用户标识相关联的加密数据并返回给授权访问服务器103。
在一些实例中,步骤203中,当将所述密钥的所述第一部分上传至授权访问服务器104时,第一客户端101进一步上传所述文件标识和所述持有者的用户标识,以使授权访问服务器103根据所述持有者的用户标识对应的规则生成所述授权码,并将所述授权码与所述密钥的所述第一部分、所述文件标识和所述持有者的用户标识相关联。授权访问服务器103在收到所述访问请求时可根据其中携带的所述文件标识和所述持有者的用户标识获取相关联的所述授权码和所述密钥的所述第一部分(可以是授权访问服务器103在本地维护的所述加密数据对应授权码和密钥的第一部分),以便根据获取的所述授权码确定所述访问请求携带的所述授权码是否可用,根据获取的所述密钥的所述第一部分和所述访问请求携带的所述第二部分生成所述密钥。
在一些实例中,授权访问服务器103中预先配置有针对各个用户的用于生成授权码的规则,此规则可以指定所生成的授权码允许访问的数据地址、失效时间等等。上述的数据地址可以是如区块链中的区块高度、统一资源定位符(URL)地址等。在一些实例中,步骤203中,当第一客户端101上传密钥的第一部分时,授权访问服务器104可以根据同时上传的加密数据持有者的用户标识确定生成授权码所用的规则。之后,授权访问服务器103在收到访问请求时,可从本地查询到当前请求访问的加密数据对应的授权码(即文件标识和持有者的用户标识关联的授权码),如果访问请求中携带的授权码与从本地查询到的授权码一致,则说明访问请求中携带的授权码是合法的,进一步的还可验证授权码是否过期(比如是否到达失效时间或者是否还在有效使用日期内)、和/或验证当前请求访问的加密数据的地址是否属于授权码对应的允许访问的数据地址(比如:在区块链场景下,验证当前请求查阅的数据的区块高度是否为授权码对应的允许访问的区块高度。又比如:在共享照片场景下,验证当前请求查阅的相册文件夹是否为授权码允许访问的文件夹。)。在验证通过时,确定授权码可用。在一些区块链场景下的实例中,第二客户端102发出的访问请求可携带要查阅的数据的文件标识,授权访问服务器103可根据文件标识确定数据所在的区块高度,进而可验证所确定的此数据的区块高度是否为授权码对应的允许访问的区块高度。在另一些实例中,第二客户端102发出的访问请求可直接携带数据的区块高度,授权访问服务器103可验证访问请求携带的区块高度是否为授权码对应的允许访问的区块高度。
在确定授权码可用时,可采用获取的与文件标识和持有者的用户标识相关联的密钥的第一部分与访问请求携带的密钥的第二部分来组合成完整的密钥。这种组合方式可以是简单的将两个部分拼接起来。
在一些实例中,步骤204中,第一客户端101在收到授权码时,可进一步生成包含所述授权码和所述密钥的所述第二部分的所述加密数据的访问令牌,将所述访问令牌与所述文件标识相关联。步骤205中,所述将所述授权码和所述密钥的第二部分发送给第二客户端102可具体包括:将与所述文件标识相关联的所述访问令牌发送给第二客户端102,以使第二客户端102在所述访问请求中携带所述访问令牌。
这里,第一客户端101中维护着一个或多个访问令牌,第一客户端101上传的每一份数据都会对应一个访问令牌,即每一个文件标识会关联一个访问令牌。这样,当第二客户端102向第一客户端101请求数据访问授权时,如果第一客户端101同意授权,第一客户端101可以确定对应的访问令牌,并将此访问令牌发放给第二客户端102。其中,第二客户端102可能请求对于某份数据或者对于符合一定条件的数据集合或者对于所有数据的访问授权,第一客户端101可以将对应的一个或多个访问令牌发送给第二客户端102。
在一些实例中,在步骤204之后,可进一步包括:第一客户端101向授权访问服务器103发送针对所述授权码的取消请求,以使授权访问服务器103令所述授权码失效。同时,第一客户端101也令本地的所述授权码失效。其中,针对某个授权码的取消请求可携带其对应的文件标识,授权访问服务器103根据文件标识可以确定其所对应的授权码,进而可以使此授权码失效,比如:设置其状态为失效或者清除此授权码等等。授权访问服务器103在令所述授权码失效后可给第一客户端101返回响应,第一客户端101在收到响应时令本地的授权码失效,从而完成取消此授权码的整个过程。
这样,第一客户端101不仅能令授权访问服务器103为上传的数据生成授权码,还能请求授权访问服务器103取消此授权码,当授权码被取消后,如有第二客户端102请求访问数据时使用此授权码或者包含此授权码的访问令牌,则该授权码会被验证为不可用,从而访问请求会被拒绝,第二客户端102无法访问到此数据,或者只能获取加密数据而无法得到解密后的明文数据。这就形成了一种数据访问的动态授权方式,共享某份数据的用户根据需要可以取消对应的授权码,进而使得原来得到授权码能够访问此份数据的用户不能再访问此份数据。
在一些实例中,在取消了某份加密数据的授权码之后,第一客户端101可进一步向授权访问服务器103发送针对此份加密数据的生成授权码请求,以使授权访问服务器103生成此加密数据对应的新授权码,之后,第一客户端101从授权访问服务器103接收此加密数据对应的新授权码。这样,用户不仅能随时取消授权码,使得之前授权的用户无法访问到加密数据的明文,还能请求生成新的授权码,以重新授权用户访问加密数据的明文,实现了灵活的数据访问授权。
在一些实例中,第一客户端101在获得授权码之后,还能请求授权访问服务器103更新授权码。此时,第一客户端101获得的授权码还未被删除,或者还未被使用过。其中,第一客户端101向授权访问服务器103发送针对某份加密数据的更新授权码请求,以使授权访问服务器103生成此份加密数据对应的新的授权码,并用此新的授权码替代之前的授权码;之后,第一客户端101从授权访问服务器103接收此新的授权码,并用此新的授权码替代之前的授权码。这样,通过一个授权码更新过程,第一客户端101可以取消之前的授权码,使之前获得授权的用户无法访问加密数据的明文,同时可获得新的授权码,可以在后续对一些用户进行授权。
在一些实例中,上述授权码的取消请求、生成授权码请求和更新授权码请求可以并存,用户可以根据需要选择取消授权码、生成新的授权码或者更新授权码,从而实现了一种更完善的动态授权方案。
本申请实例提供了一种数据共享方法,其可应用于授权访问服务器103。如图3所示,此方法流程300包括如下步骤:
步骤301:从第一客户101接收第一密钥的第一部分,所述第一密钥对应于一份上传到信息共享系统104的加密数据,所述加密数据为根据所述第一密钥对一份明文数据进行加密处理而获得的。
步骤302:生成所述加密数据对应的第一授权码。
步骤303:将所述第一授权码发送给第一客户端101,以使第一客户端101在授权第二客户端102访问所述加密数据时将所述第一授权码和所述第一密钥的第二部分发送给第二客户端102,以便第二客户端102在访问所述加密数据时将所述第一授权码和所述第一密钥的所述第二部分携带在访问请求中,所述第一密钥的第二部分包括所述第一密钥中除所述第一部分之外的剩余部分。
步骤304:当接收到来自任一客户端(可能是上述获得授权的第二客户端102也可能是其它未获得授权的客户端)的对于所述加密数据的访问请求时,执行以下步骤:
步骤305:从所述访问请求中获取第二授权码和一个不完整密钥。
步骤306:当所述第二授权码与所述第一授权码相同并且所述第二授权码可用时,根据所述不完整密钥和所述加密数据对应的所述第一密钥的第一部分生成第二密钥,其中,当所述不完整密钥与所述第一密钥的第二部分相同时,所生成的所述第二密钥与所述第一密钥相同。
步骤307:从信息共享系统104获取所述加密数据。根据所述第二密钥对所述加密数据进行解密处理,其中,当所述第二密钥与所述第一密钥相同时,解密得到所述明文数据并将其发送给发送所述访问请求的所述客户端。
采用上述实例提供的方法,第一客户端101持有密钥和授权码,授权访问服务器103持有授权码和密钥的第一部分,第二客户端102在获得授权时可持有密钥的第二部分和授权码,这样,当某个客户端(可能是获得授权的第二客户端102也可能是其它客户端)通过授权访问服务器103请求访问相应的数据时,授权访问服务器103可首先验证授权码是否可用,在授权码可用的情况下,再利用从第一客户端101和此客户端分别获得的不完整密钥(密钥的第一部分和第二部分)获得完整密钥,如果此客户端的提供的不完整密钥有问题,则无法获得正确的完整密钥,就无法对加密数据成功解密,从而保障了数据的安全。在此方案中,获得授权的第二客户端102和授权访问服务器103分别持有密钥的一部分,二者都不具有访问加密数据的权限,只有二者持有的密钥信息合并在一起时才能获得完整密钥,从而有效保障了数据安全和用户隐私。这样对于信息共享系统104中保存的用户不想公开的加密数据,通过授权访问服务器103,第一客户端101可以授权某些第二客户端102来访问加密数据的明文,从而在信息共享和隐私保护中达到了平衡,提供了一种更优的信息共享机制。
在一些实例中,步骤305中,所述从所述访问请求中获取第二授权码和一个不完整密钥的步骤具体可包括:从所述访问请求中获取所述加密数据的访问令牌;及从所述访问令牌中获得所述第二授权码和所述不完整密钥。
在一些实例中,步骤301中,当从所述第一客户端接收所述密钥的所述第一部分时,授权访问服务器103进一步接收文件标识和所述加密数据的持有者的用户标识。步骤302中,所述生成所述加密数据对应的第一授权码的步骤具体可包括:根据所述持有者的用户标识对应的规则生成所述授权码,并将所述授权码与所述密钥的所述第一部分、所述文件标识和所述持有者的用户标识相关联;当收到所述访问请求时,根据所述访问请求携带的文件标识和持有者的用户标识获取相关联的所述授权码和所述密钥的所述第一部分。
在一些实例中,所述信息共享系统104为区块链系统,所述加密数据被上传到所述区块链系统中的一个区块,所述区块对应一个区块高度。步骤302中,所生成的所述第一授权码对应允许访问的区块高度和/或过期时间。步骤306中,当所述第二授权码与所述第一授权码相同时,获取所述第二授权码对应的允许访问的区块高度和/或过期时间。当所述访问请求针对的所述加密数据的区块高度与所述第二授权码对应的所述允许访问的区块高度相匹配和/或所述第二授权码未达到所述过期时间时,确定所述第二授权码可用。
在一些实例中,可进一步包括:响应于来自第一客户端101的针对所述授权码的取消请求,令所述授权码失效。授权访问服务器103在令所述授权码失效后可给第一客户端101返回响应,第一客户端101在收到响应时令本地的授权码失效,从而完成取消此授权码的整个过程。这样,用户可根据需要取消针对某些数据的授权码,以取消针对某些用户或数据的分享,比如:之前获得一份数据的授权码的第二客户端102,如果此授权码失效,则第二客户端102再使用此授权码请求访问此数据时,此授权码会被验证为不可用,而无法访问到此数据。
在一些实例中,可进一步包括:响应于来自第一客户端101的针对所述加密数据的生成授权码请求,生成所述加密数据对应的新授权码;向第一客户端101发送所述加密数据对应的所述新授权码。这样,用户在取消了某份数据的授权码之后,还能请求新的授权码,以重新授权一些用户访问此数据,实现了灵活的数据访问授权。
在一些实例中,可进一步包括:响应于来自第一客户端101的针对所述加密数据的更新授权码请求,生成所述加密数据对应的新授权码,并用所述新授权码替代之前的所述第一授权码。向第一客户端101发送所述加密数据对应的所述新授权码,以使其用所述新授权码替代之前的所述第一授权码。
图4示出了本申请一实例中的消息交互流程。如图4所示,该流程至少涉及第一客户端101、第二客户端102、授权访问服务器103和信息共享系统104这四种实体,可包括如下处理步骤:
步骤401:第一客户端101持有加密密钥,对欲上传信息共享系统104的数据进行加密处理,得到一份加密数据。
第一客户端101将该加密数据上传到信息共享系统104,在上传加密数据时还将与该加密数据关联的其持有者的用户标识、文件标识发送到信息共享系统104。比如:第一客户端101可向信息共享系统104发送一个数据上传请求,该请求中携带持有者的用户标识、文件标识和加密数据。其中,所述持有者的用户标识为第一客户端101当前登录用户的标识,例如:QQ号、云盘账号、区块链系统的账号等;文件标识用于标识加密数据。
信息共享系统104可以保存第一客户端101上传的加密数据,并将其与持有者的用户标识和文件标识相关联,以便将此加密数据保存在持有者的用户标识对应的目录下,并用文件标识来标识该加密数据。
在图5的场景下,第一客户端101是一种网盘客户端,信息共享系统为104为云端的网盘服务器(或简称云盘服务器)。用户使用此网盘客户端可上传照片、视频等文件。比如:点击控件501可上传照片,点击控件502可上传视频。如果用户想保证上传照片和视频的私密性,可设置网盘客户端对上传的数据进行加密,这样,网盘客户端就会执行上述步骤401的加密处理,
步骤402:第一客户端101将步骤401加密所用的密钥的前半部(可称为密钥前半部)上传给授权访问服务器103,还将与该加密数据关联的持有者的用户标识发送给授权访问服务器。比如:第一客户端101可向授权访问服务器103发送密钥上传请求,该请求中携带加密数据的持有者的用户标识和密钥前半部。
授权访问服务器103根据所述持有者的用户标识对应的规则,生成授权码,并将授权码与密钥前半部和所述持有者的用户标识相关联,之后将授权码返回给第一客户端101。
步骤403:第一客户端101将步骤401加密所用的密钥的后半部(可称为密钥后半部)和接收到的授权码组合成数据查阅令牌,并将此数据查阅令牌与前述加密数据的文件标识相关联。
当第一客户端101授权第二客户端102可查阅上述加密数据的明文数据时,可将上述数据查阅令牌提供给第二客户端102。比如:第二客户端102向第一客户端101请求对于某份数据的查阅授权,会向第一客户端101发送携带目标文件信息的授权请求,第一客户端101根据目标文件信息可以确定第二客户端102想查阅的数据集合对应的文件标识集合。该目标文件信息可以包括文件标识,也可以是一个文件夹的标识或者目录地址等等,第一客户端101可以确定相应的文件标识集合,进而可通过文件标识集合确定关联的数据查阅令牌。这里,一个文件标识集合(一个或多个文件标识)可以关联一个数据查阅令牌,代表第一客户端101将一个文件集合批量授权给第二客户端102查;一个文件标识集合也可以关联多个数据查阅令牌,其中不同的文件标识关联不同的数据查阅令牌,代表第一客户端101针对每个文件分别给第二客户端102提供数据查阅令牌。
步骤404:第二客户端102持有上述数据查阅令牌之后,向授权访问服务器103发出查阅请求,该请求携带上述加密数据的持有者的用户标识、文件标识和此数据查阅令牌。
在图6的场景下,第二客户端102是一种访问区块链页面的浏览器,信息共享系统为104为区块链系统。用户通过访问区块链页面可查看各种信息,而有些信息是具有私密性的,用户在具有数据查阅令牌时才能查阅到明文数据。比如:用户可点击控件601,则可执行步骤404以发出查阅请求。如果查阅请求携带的数据查阅令牌包含正确可用的授权码和正确的密钥后半部,则浏览器可展示包含“详情”项对应的明文数据的第二页面。
步骤405:授权访问服务器103从接收到的查阅请求中提取数据查阅令牌、上述持有者的用户标识和文件标识,从数据查阅令牌中提取授权码,确定该授权码是否可用。这里,授权访问服务器103确定授权码是否可用包括两方面:一、从数据查阅令牌中提取的授权码是否与本地保存的该持有者的用户标识关联的授权码相同,如果从数据查阅令牌中提取的授权码与从本地查询到的授权码一致,则说明数据查阅令牌中携带的授权码是合法的;二、如果确定这两个授权码相同,则进一步验证授权码是否过期(比如是否到达失效时间或者是否还在有效使用日期内)、和/或验证当前请求查阅的加密数据的地址是否属于授权码对应的允许访问的数据地址。
如果确定该授权码可用,授权访问服务器103获取与授权码关联的密钥前半部,从数据查阅令牌中提取密钥后半部,将密钥前半部和密钥后半部组合成一个完整密钥。
授权访问服务器103还向信息共享系统104发送查询请求,该请求携带上述持有者的用户标识和文件标识,使得信息共享服务器104根据此持有者的用户标识和文件标识查询到关联的加密数据再返回给授权访问服务器103。
步骤406:使用步骤405获得的完整密钥对加密数据进行解密处理。如果数据查阅令牌中提取的密钥后半部是准确的,则在步骤405可以获得准确的完整密钥,则本步骤中可以成功解密得到解密数据(即明文数据),并将解密数据返回给第二客户端102。如果数据查阅令牌中提取的密钥后半部是错误的,则步骤405获得的密钥是错误的,本步骤中就无法成功解密。此种情况下,可以向第二客户端102报错,也可以直接返回一份加密数据给第二客户端102,总之,第二客户端102无法成功查阅到明文数据,进而保证了第一客户端101上传的数据的安全。
上述各个步骤中的任一步骤在处理失败时,都可直接结束本流程。
基于上述方法实例,本申请还提出了一种可实现前述方法的客户端(可以为第一客户端101)。如图7所示,第一客户端700包括以下模块:
加密模块701,根据密钥对一份明文数据进行加密得到一份加密数据。
上传模块702,将所述加密数据上传至信息共享系统104,将所述密钥的第一部分上传至所述信息共享系统104对应的授权访问服务器103。
授权模块703,从所述授权访问服务器103接收所述加密数据对应的授权码;当授权一个用户访问所述加密数据时,将所述授权码和所述密钥的第二部分发送给第二客户端102,所述密钥的第二部分包括所述密钥中除所述第一部分之外的剩余部分,以使所述第二客户端102当发送针对所述加密数据的访问请求至所述授权访问服务器时,在所述访问请求中携带所述授权码和所述密钥的所述第二部分,以便所述授权访问服务器103在确定所述授权码可用时根据所述密钥的所述第一部分和所述第二部分生成所述密钥,根据所生成的所述密钥对从所述信息共享系统104获取的所述加密数据进行解密而得到所述明文数据并返回给所述第二客户端102。
在一些实例中,授权模块703,进一步生成所述加密数据的访问令牌,所述访问令牌包含所述授权码和所述密钥的所述第二部分;其中,所述授权模块703将所述访问令牌发送给所述第二客户端102,以使所述第二客户端102在所述访问请求中携带所述访问令牌。
在一些实例中,当将所述加密数据上传至所述信息共享系统104时,所述上传模块702进一步上传所述加密数据的文件标识及其持有者的用户标识,以使所述信息共享系统104将所述加密数据与所述文件标识和所述持有者的用户标识相关联,以便所述授权访问服务器103根据所述文件标识和所述持有者的用户标识从所述信息共享系统104获取所述加密数据。
在一些实例中,当将所述密钥的所述第一部分上传至所述授权访问服务器103时,所述上传模块702进一步上传所述文件标识和所述持有者的用户标识,以使所述授权访问服务器103根据所述持有者的用户标识对应的规则生成所述授权码,并将所述授权码与所述密钥的所述第一部分、所述文件标识和所述持有者的用户标识相关联,在收到所述访问请求时根据其中携带的所述文件标识和所述持有者的用户标识获取相关联的所述授权码和所述密钥的所述第一部分,以便根据获取的所述授权码确定所述访问请求携带的所述授权码是否可用,根据获取的所述密钥的所述第一部分和所述访问请求携带的所述第二部分生成所述密钥。
在一些实例中,所述授权模块703进一步生成包含所述授权码和所述密钥的所述第二部分的所述加密数据的访问令牌,将所述访问令牌与所述文件标识相关联;其中,所述授权模块703将与所述文件标识相关联的所述访问令牌发送给所述第二客户端102,以使所述第二客户端102在所述访问请求中携带所述访问令牌。
在一些实例中,所述授权模块703进一步向所述授权访问服务器103发送针对所述授权码的取消请求,以使所述授权访问服务器103令所述授权码失效;所述授权模块703还令本地的所述授权码失效。
在一些实例中,所述授权模块703向所述授权访问服务器103发送针对所述加密数据的生成授权码请求,以使所述授权访问服务器103生成所述加密数据对应的新授权码;所述授权模块703还从所述授权访问服务103器接收所述加密数据对应的所述新授权码。
在一些实例中,所述授权模块703进一步向所述授权访问服务器103发送针对所述加密数据的更新授权码请求,以使所述授权访问服务器103生成所述加密数据对应的新授权码,并用所述新授权码替代之前的所述授权码;所述授权模块703还从所述授权访问服务器103接收所述新授权码,并用所述新授权码替代之前的所述授权码。
基于上述方法实例,本申请还提出了一种可实现前述方法的授权访问服务器(如前述的授权访问服务器103)。如图8所示,该服务器800可包括以下模块:
授权模块801,从第一客户端101接收第一密钥的第一部分,所述第一密钥对应于一份上传到信息共享系统104的加密数据,所述加密数据为根据所述第一密钥对一份明文数据进行加密处理而获得的;生成所述加密数据对应的第一授权码;将所述第一授权码发送给所述第一客户端101,以使所述第一客户端101在授权第二客户端102访问所述加密数据时将所述第一授权码和所述第一密钥的第二部分发送给所述第二客户端102,以便所述第二客户端102在访问所述加密数据时将所述第一授权码和所述第一密钥的所述第二部分携带在访问请求中,所述第一密钥的第二部分包括所述第一密钥中除所述第一部分之外的剩余部分。
验证模块802,当接收到来自任一客户端(比如第二客户端102)的对于所述加密数据的访问请求时,从所述访问请求中获取第二授权码和一个不完整密钥;当所述第二授权码与所述第一授权码相同并且所述第二授权码可用时,触发密钥模块803。
密钥模块803,根据所述不完整密钥和所述加密数据对应的所述第一密钥的第一部分生成第二密钥,其中,当所述不完整密钥与所述第一密钥的第二部分相同时,所生成的所述第二密钥与所述第一密钥相同。
解密模块804,从所述信息共享系统104获取所述加密数据;根据所述第二密钥对所述加密数据进行解密处理,其中,当所述第二密钥与所述第一密钥相同时,解密得到所述明文数据并将其发送给发送所述访问请求的所述客户端。
在一些实例中,所述验证模块802从所述访问请求中获取所述加密数据的访问令牌,从所述访问令牌中获得所述第二授权码和所述不完整密钥。
在一些实例中,所述授权模块801,当从所述第一客户端101接收所述密钥的所述第一部分时,进一步接收文件标识和所述加密数据的持有者的用户标识;其中,所述授权模块801根据所述持有者的用户标识对应的规则生成所述第一授权码,并将所述第一授权码与所述密钥的所述第一部分、所述文件标识和所述持有者的用户标识相关联;其中,所述验证模块802当收到所述访问请求时,根据所述访问请求携带的文件标识和所述持有者的用户标识获取相关联的所述第一授权码和所述密钥的所述第一部分。
在一些实例中,所述信息共享系统104为区块链系统,所述加密数据被上传到所述区块链系统中的一个区块,所述区块对应一个区块高度;所述授权模块801所生成的所述第一授权码对应允许访问的区块高度和/或过期时间;所述验证模块802,当所述第二授权码与所述第一授权码相同时,获取所述第二授权码对应的允许访问的区块高度和/或过期时间;当所述访问请求针对的所述加密数据的区块高度与所述第二授权码对应的所述允许访问的区块高度相匹配和/或所述第二授权码未达到所述过期时间时,确定所述第二授权码可用。
在一些实例中,所述授权模块801,进一步响应于来自所述第一客户端101的针对所述授权码的取消请求,令所述第一授权码失效;向所述第一客户端101返回响应,以使所述第一客户端101令本地的所述第一授权码失效。
在一些实例中,所述授权模块801,进一步响应于来自所述第一客户端101的针对所述加密数据的生成授权码请求,生成所述加密数据对应的新授权码;向所述第一客户端101发送所述加密数据对应的所述新授权码。
在一些实例中,所述授权模块801,进一步响应于来自所述第一客户端101的针对所述加密数据的更新授权码请求,生成所述加密数据对应的新授权码,并用所述新授权码替代之前的所述第一授权码;向所述第一客户端101发送所述加密数据对应的所述新授权码,以使其用所述新授权码替代之前的所述第一授权码。
上述各模块功能的实现原理前文已有详述,这里不再赘述。
在一些实例中,上述客户端700和服务器800可运行在各种计算设备中,并加载在该计算设备的存储器中。本申请提出了一种计算设备,包括:一个或多个处理器;存储器;以及一个或多个程序,存储在该存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行前述人一种方法实例的指令。
图9示出了客户端700或服务器800所在的计算设备的组成结构图。如图9所示,该计算设备包括一个或者多个处理器(CPU)902、通信模块904、存储器906、用户接口910,以及用于互联这些组件的通信总线908。
处理器902可通过通信模块904接收和发送数据以实现网络通信和/或本地通信。
用户接口910包括一个或多个输出设备912,其包括一个或多个扬声器和/或一个或多个可视化显示器。用户接口910也包括一个或多个输入设备914,其包括诸如,键盘,鼠标,声音命令输入单元或扩音器,触屏显示器,触敏输入板,姿势捕获摄像机或其他输入按钮或控件等。
存储器906可以是高速随机存取存储器,诸如DRAM、SRAM、DDR RAM、或其他随机存取固态存储设备;或者非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存设备,或其他非易失性固态存储设备。
存储器906存储处理器902可执行的指令集,包括:
操作系统916,包括用于处理各种基本系统服务和用于执行硬件相关任务的程序;
应用918,包括各种应用程序,其能够实现上述各实例中的处理流程,比如可以包括图7所示的客户端700和/或图8所示的服务器800。在一些实例中,客户端700可包括图7所示的各模块701~703中的部分或全部模块,各模块701~703可以存储有机器可执行指令。处理器902通过执行存储器906中各模块701~703中的机器可执行指令,进而能够实现上述各模块701~703的功能。在一些实例中,服务器800可包括图8所示的各模块801~804中的部分或全部模块,各模块801~804可以存储有机器可执行指令。处理器902通过执行存储器906中各模块801~804中的机器可执行指令,进而能够实现上述各模块801~804的功能。
采用上述实例提供的客户端、服务器和计算设备,第一客户端101持有密钥和授权码,授权访问服务器103持有授权码和密钥的第一部分,第二客户端102在获得授权时可持有密钥的第二部分和授权码,这样,当第二客户端102通过授权访问服务器103请求访问相应的数据时,授权访问服务器103可首先验证授权码是否可用,在授权码可用的情况下,再利用从第一客户端101和第二客户端102分别获得的不完整密钥(密钥的第一部分和第二部分)获得完整密钥,如果第二客户端102的提供的不完整密钥有问题,则无法获得正确的完整密钥,就无法对加密数据成功解密,从而保障了数据的安全。在此方案中,第二客户端102和授权访问服务器103分别持有密钥的一部分,二者都不具有访问加密数据的权限,只有二者持有的密钥信息合并在一起时才能获得完整密钥,从而有效保障了数据安全和用户隐私。
需要说明的是,上述各流程和各结构图中不是所有的步骤和模块都是必须的,可以根据实际的需要忽略某些步骤或模块。各步骤的执行顺序不是固定的,可以根据需要进行调整。各模块的划分仅仅是为了便于描述采用的功能上的划分,实际实现时,一个模块可以分由多个模块实现,多个模块的功能也可以由同一个模块实现,这些模块可以位于同一个设备中,也可以位于不同的设备中。
各实施例中的硬件模块可以以硬件方式或硬件平台加软件的方式实现。上述软件包括机器可读指令,存储在非易失性存储介质中。因此,各实施例也可以体现为软件产品。
各例中,硬件可以由专门的硬件或执行机器可读指令的硬件实现。例如,硬件可以为专门设计的永久性电路或逻辑器件(如专用处理器,如FPGA或ASIC)用于完成特定的操作。硬件也可以包括由软件临时配置的可编程逻辑器件或电路(如包括通用处理器或其它可编程处理器)用于执行特定操作。
另外,本申请的每个实例可以通过由数据处理设备如计算机执行的数据处理程序来实现。显然,数据处理程序构成了本申请。此外,通常存储在一个存储介质中的数据处理程序通过直接将程序读取出存储介质或者通过将程序安装或复制到数据处理设备的存储设备(如硬盘和或内存)中执行。因此,这样的存储介质也构成了本申请,本申请还提供了一种非易失性存储介质,其中存储有数据处理程序,这种数据处理程序可用于执行本申请上述方法实例中的任何一种实例。
图7和8中的模块对应的机器可读指令可以使计算机上操作的操作系统等来完成这里描述的部分或者全部操作。非易失性计算机可读存储介质可以是插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展单元中设置的存储器。安装在扩展板或者扩展单元上的CPU等可以根据指令执行部分和全部实际操作。
非易失性计算机可读存储介质包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD+RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上下载程序代码。
综上所述,权利要求的范围不应局限于以上描述的实例中的实施方式,而应当将说明书作为一个整体并给予最宽泛的解释。
Claims (14)
1.一种数据共享方法,应用于第一客户端,其特征在于,所述方法包括:
根据密钥对一份明文数据进行加密得到一份加密数据;
将所述加密数据上传至区块链系统中的一个区块,并将所述加密数据的文件标识及其持有者的用户标识上传到所述区块链系统;其中,所述区块链系统将所述加密数据与所述文件标识和所述持有者的用户标识相关联;
将所述密钥的第一部分上传至所述区块链系统对应的授权访问服务器;
从所述授权访问服务器接收所述加密数据对应的授权码;
当第二客户端向所述第一客户端请求授权码以查阅所述加密数据,并且第一客户端确定授权该第二客户端访问所述加密数据时,生成所述加密数据的访问令牌,所述访问令牌包括所述授权码和所述密钥的第二部分,将所述访问令牌发送给所述第二客户端,所述密钥的第二部分包括所述密钥中除所述第一部分之外的剩余部分,以使所述第二客户端当发送针对所述加密数据的访问请求至所述授权访问服务器时,在所述访问请求中携带所述访问令牌,以便所述授权访问服务器从所述访问请求中获取所述加密数据的访问令牌,从所述访问令牌中获得所述授权码和所述密钥的第二部分,在确定所述授权码可用时根据所述密钥的所述第一部分和所述第二部分生成所述密钥,根据所述文件标识和所述持有者的用户标识从所述区块链系统获取所述加密数据,并根据所生成的所述密钥对从所述区块链系统获取的所述加密数据进行解密而得到所述明文数据并返回给所述第二客户端。
2.根据权利要求1所述的方法,其中,所述授权访问服务器根据所述持有者的用户标识对应的规则生成所述授权码,并将所述授权码与所述密钥的所述第一部分、所述文件标识和所述持有者的用户标识相关联,在收到所述访问请求时根据其中携带的所述文件标识和所述持有者的用户标识获取相关联的所述授权码和所述密钥的所述第一部分,以便根据获取的所述授权码确定所述访问请求携带的所述授权码是否可用,根据获取的所述密钥的所述第一部分和所述访问请求携带的所述第二部分生成所述密钥。
3.根据权利要求1所述的方法,进一步包括:
向所述授权访问服务器发送针对所述授权码的取消请求,以使所述授权访问服务器令所述授权码失效;
令本地的所述授权码失效。
4.根据权利要求1所述的方法,进一步包括:
向所述授权访问服务器发送针对所述加密数据的更新授权码请求,以使所述授权访问服务器生成所述加密数据对应的新授权码,并用所述新授权码替代之前的所述授权码;
从所述授权访问服务器接收所述新授权码,并用所述新授权码替代之前的所述授权码。
5.一种数据共享方法,其特征在于,所述方法包括:
从第一客户端接收第一密钥的第一部分,所述第一密钥对应于一份上传到区块链系统中的一个区块的加密数据,所述加密数据为根据所述第一密钥对一份明文数据进行加密处理而获得的;
从第一客户端接收所述加密数据的文件标识及其持有者的用户标识,将所述加密数据与所述文件标识和所述持有者的用户标识相关联;
生成所述加密数据对应的第一授权码;
将所述第一授权码发送给所述第一客户端,以使当第二客户端向所述第一客户端请求授权码以查阅所述加密数据,并且所述第一客户端确定授权第二客户端访问所述加密数据时,生成所述加密数据的访问令牌,所述访问令牌包括所述第一授权码和所述第一密钥的第二部分,将所述访问令牌发送给所述第二客户端,以便所述第二客户端在访问所述加密数据时将所述访问令牌携带在访问请求中,所述第一密钥的第二部分包括所述第一密钥中除所述第一部分之外的剩余部分;
当接收到来自任一客户端的对于所述加密数据的访问请求时,所述方法还包括:
从所述访问请求中获取所述加密数据的访问令牌,从所述访问令牌中获得第二授权码和一个不完整密钥;
当所述第二授权码与所述第一授权码相同并且所述第二授权码可用时,根据所述不完整密钥和所述加密数据对应的所述第一密钥的第一部分生成第二密钥,其中,当所述不完整密钥与所述第一密钥的第二部分相同时,所生成的所述第二密钥与所述第一密钥相同;
从所述区块链系统获取所述加密数据;
根据所述第二密钥对所述加密数据进行解密处理,其中,当所述第二密钥与所述第一密钥相同时,解密得到所述明文数据并将其发送给发送所述访问请求的所述客户端。
6.根据权利要求5所述的方法,其中,所述生成所述加密数据对应的第一授权码包括:
根据所述持有者的用户标识对应的规则生成所述第一授权码,并将所述第一授权码与所述密钥的所述第一部分、所述文件标识和所述持有者的用户标识相关联。
7.根据权利要求5所述的方法,其中,所述区块对应一个区块高度;
所生成的所述第一授权码对应允许访问的区块高度和/或过期时间;
当所述第二授权码与所述第一授权码相同时,获取所述第二授权码对应的允许访问的区块高度和/或过期时间;
当所述访问请求针对的所述加密数据的区块高度与所述第二授权码对应的所述允许访问的区块高度相匹配和/或所述第二授权码未达到所述过期时间时,确定所述第二授权码可用。
8.根据权利要求5所述的方法,进一步包括:
响应于来自所述第一客户端的针对所述授权码的取消请求,令所述第一授权码失效;
向所述第一客户端返回响应,以使所述第一客户端令本地的所述第一授权码失效。
9.根据权利要求5所述的方法,进一步包括:
响应于来自所述第一客户端的针对所述加密数据的生成授权码请求,生成所述加密数据对应的新授权码;
向所述第一客户端发送所述加密数据对应的所述新授权码。
10.根据权利要求5所述的方法,进一步包括:
响应于来自所述第一客户端的针对所述加密数据的更新授权码请求,生成所述加密数据对应的新授权码,并用所述新授权码替代之前的所述第一授权码;
向所述第一客户端发送所述加密数据对应的所述新授权码,以使其用所述新授权码替代之前的所述第一授权码。
11.一种第一客户端,其特征在于,所述第一客户端包括:
加密模块,根据密钥对一份明文数据进行加密得到一份加密数据;
上传模块,将所述加密数据上传至区块链系统中的一个区块,并将所述加密数据的文件标识及其持有者的用户标识上传到所述区块链系统,将所述密钥的第一部分上传至所述区块链系统对应的授权访问服务器;其中,所述区块链系统将所述加密数据与所述文件标识和所述持有者的用户标识相关联;
授权模块,从所述授权访问服务器接收所述加密数据对应的授权码;当第二客户端向所述第一客户端请求授权码以查阅所述加密数据、且第一客户端确定授权该第二客户端访问所述加密数据时,生成所述加密数据的访问令牌,所述访问令牌包括所述授权码和所述密钥的第二部分,将所述访问令牌发送给第二客户端,所述密钥的第二部分包括所述密钥中除所述第一部分之外的剩余部分,以使所述第二客户端当发送针对所述加密数据的访问请求至所述授权访问服务器时,在所述访问请求中携带所述访问令牌,以便所述授权访问服务器从所述访问请求中获取所述加密数据的访问令牌,从所述访问令牌中获得所述授权码和所述密钥的第二部分,在确定所述授权码可用时根据所述密钥的所述第一部分和所述第二部分生成所述密钥,根据所述文件标识和所述持有者的用户标识从所述区块链系统获取所述加密数据,并根据所生成的所述密钥对从所述区块链系统获取的所述加密数据进行解密而得到所述明文数据并返回给所述第二客户端。
12.一种授权访问服务器,其特征在于,所述服务器包括:
授权模块,从第一客户端接收第一密钥的第一部分,所述第一密钥对应于一份上传到区块链系统中的一个区块的加密数据,所述加密数据为根据所述第一密钥对一份明文数据进行加密处理而获得的;从第一客户端接收所述加密数据的文件标识及其持有者的用户标识,将所述加密数据与所述文件标识和所述持有者的用户标识相关联;生成所述加密数据对应的第一授权码;将所述第一授权码发送给所述第一客户端,以使当第二客户端向所述第一客户端请求授权码以查阅所述加密数据、并且所述第一客户端确定授权第二客户端访问所述加密数据时,生成所述加密所述的访问令牌,所述访问令牌包括所述第一授权码和所述第一密钥的第二部分,将所述访问令牌发送给所述第二客户端,以便所述第二客户端在访问所述加密数据时将所述访问令牌携带在访问请求中,所述第一密钥的第二部分包括所述第一密钥中除所述第一部分之外的剩余部分;
验证模块,当接收到来自任一客户端的对于所述加密数据的访问请求时,从所述访问请求中获取所述加密数据的访问令牌,从所述访问令牌中获得第二授权码和一个不完整密钥;当所述第二授权码与所述第一授权码相同并且所述第二授权码可用时,触发密钥模块;
所述密钥模块,根据所述不完整密钥和所述加密数据对应的所述第一密钥的第一部分生成第二密钥,其中,当所述不完整密钥与所述第一密钥的第二部分相同时,所生成的所述第二密钥与所述第一密钥相同;
解密模块,从所述区块链系统获取所述加密数据;根据所述第二密钥对所述加密数据进行解密处理,其中,当所述第二密钥与所述第一密钥相同时,解密得到所述明文数据并将其发送给发送所述访问请求的所述客户端。
13.一种计算设备,其特征在于,包括:
一个或多个处理器;
存储器;以及
一个或多个程序,存储在该存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行权利要求1-10中任一项所述方法的指令。
14.一种存储介质,存储有一个或多个程序,所述一个或多个程序包括指令,所述指令当由计算设备执行时,使得所述计算设备执行如权利要求1-10中任一项所述的方法。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711065783.1A CN107979590B (zh) | 2017-11-02 | 2017-11-02 | 数据共享方法、客户端、服务器、计算设备及存储介质 |
EP18872127.8A EP3618394B1 (en) | 2017-11-02 | 2018-09-27 | Data sharing method, client, server, computing device, and storage medium |
PCT/CN2018/107962 WO2019085699A1 (zh) | 2017-11-02 | 2018-09-27 | 数据共享方法、客户端、服务器、计算设备及存储介质 |
KR1020197034696A KR102219008B1 (ko) | 2017-11-02 | 2018-09-27 | 데이터 공유 방법, 클라이언트, 서버, 컴퓨팅 장치 및 저장 매체 |
JP2020524318A JP6961818B2 (ja) | 2017-11-02 | 2018-09-27 | データ共有方法、クライアント、サーバ、コンピューティングデバイス、及び記憶媒体 |
US16/683,597 US11223477B2 (en) | 2017-11-02 | 2019-11-14 | Data sharing method, client, server, computing device, and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711065783.1A CN107979590B (zh) | 2017-11-02 | 2017-11-02 | 数据共享方法、客户端、服务器、计算设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107979590A CN107979590A (zh) | 2018-05-01 |
CN107979590B true CN107979590B (zh) | 2020-01-17 |
Family
ID=62012925
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711065783.1A Active CN107979590B (zh) | 2017-11-02 | 2017-11-02 | 数据共享方法、客户端、服务器、计算设备及存储介质 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11223477B2 (zh) |
EP (1) | EP3618394B1 (zh) |
JP (1) | JP6961818B2 (zh) |
KR (1) | KR102219008B1 (zh) |
CN (1) | CN107979590B (zh) |
WO (1) | WO2019085699A1 (zh) |
Families Citing this family (52)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11115392B1 (en) * | 2018-03-07 | 2021-09-07 | Turbo Business Suite LLC | Consumer-authorized controlled distribution of trusted source data |
CN108632284B (zh) * | 2018-05-10 | 2021-02-23 | 网易(杭州)网络有限公司 | 基于区块链的用户数据授权方法、介质、装置和计算设备 |
CN108768972B (zh) * | 2018-05-16 | 2020-11-27 | 智车优行科技(北京)有限公司 | 车辆数据的存储和访问方法及装置、系统、电子设备 |
CN108462724B (zh) * | 2018-05-17 | 2020-07-31 | 京东数字科技控股有限公司 | 数据共享方法、装置、系统、成员节点和可读存储介质 |
CN108768633B (zh) * | 2018-05-30 | 2022-03-25 | 腾讯科技(深圳)有限公司 | 实现区块链中信息共享的方法及装置 |
US11108762B2 (en) | 2018-06-05 | 2021-08-31 | The Toronto-Dominion Bank | Methods and systems for controlling access to a protected resource |
US11595209B2 (en) * | 2018-06-29 | 2023-02-28 | Sony Corporation | Information processing system, information processing method, and information processing apparatus |
CN109032694A (zh) * | 2018-07-03 | 2018-12-18 | 郑州云海信息技术有限公司 | 一种数据加载方法及终端 |
CN108985863A (zh) * | 2018-08-27 | 2018-12-11 | 中国联合网络通信集团有限公司 | 一种募捐捐赠方法及系统 |
CN110958211B (zh) * | 2018-09-27 | 2022-05-27 | 安徽华峪文化科技有限公司 | 一种基于区块链的数据处理系统及方法 |
CN109559117B (zh) * | 2018-11-14 | 2022-05-20 | 北京科技大学 | 基于属性基加密的区块链合约隐私保护方法与系统 |
CN109474597A (zh) * | 2018-11-19 | 2019-03-15 | 中链科技有限公司 | 一种基于区块链的分布式消息发送与接收方法以及装置 |
WO2020102974A1 (zh) * | 2018-11-20 | 2020-05-28 | 深圳市欢太科技有限公司 | 一种数据访问方法、数据访问装置及移动终端 |
CN109583905A (zh) * | 2018-12-21 | 2019-04-05 | 众安信息技术服务有限公司 | 基于区块链网络的利用通证来实现数据共享的方法和设备 |
CN111385266B (zh) * | 2018-12-29 | 2022-06-17 | 湖南亚信软件有限公司 | 数据共享方法、装置、计算机设备和存储介质 |
US11368441B2 (en) * | 2019-01-29 | 2022-06-21 | Mastercard International Incorporated | Method and system for general data protection compliance via blockchain |
CN110147410B (zh) * | 2019-04-18 | 2020-08-04 | 阿里巴巴集团控股有限公司 | 一种块链式账本中的数据验证方法、系统、装置及设备 |
CN110177092A (zh) * | 2019-05-22 | 2019-08-27 | 南京邮电大学 | 一种基于区块链的电子数据可信下载方法 |
CN110263556A (zh) * | 2019-05-22 | 2019-09-20 | 广东安创信息科技开发有限公司 | 一种oa系统数据的加解密方法及系统 |
EP3764613A1 (en) * | 2019-07-09 | 2021-01-13 | Gemalto Sa | Method, first device, first server, second server and system for accessing a private key |
US11194918B2 (en) * | 2019-07-10 | 2021-12-07 | International Business Machines Corporation | Data transmission based on verification codes |
CN111010386B (zh) * | 2019-12-10 | 2021-12-21 | 上海信联信息发展股份有限公司 | 一种基于共享账本的隐私保护与数据监管控制方法 |
CN111061982B (zh) * | 2019-12-11 | 2023-04-18 | 电子科技大学 | 一种基于区块链的新闻资讯发布及管理系统 |
CN111179067B (zh) * | 2019-12-31 | 2023-06-27 | 杭州趣链科技有限公司 | 一种基于区块链的银行间客户信息交换系统 |
US11271742B2 (en) | 2020-01-26 | 2022-03-08 | International Business Machines Corporation | Decentralized secure data sharing |
US11088833B1 (en) | 2020-01-26 | 2021-08-10 | International Business Machines Corporation | Decentralized secure data sharing |
US11356260B2 (en) | 2020-01-26 | 2022-06-07 | International Business Machines Corporation | Decentralized secure data sharing |
EP3799642B1 (en) * | 2020-02-14 | 2022-06-29 | Alipay (Hangzhou) Information Technology Co., Ltd. | Data authorization based on decentralized identifiers |
CN111352996B (zh) * | 2020-02-26 | 2023-09-19 | 百度在线网络技术(北京)有限公司 | 基于区块链网络的数据共享方法、装置、设备及介质 |
US11658816B2 (en) * | 2020-04-15 | 2023-05-23 | Philips North America Llc | Document control system for blockchain |
CN111639350B (zh) * | 2020-05-16 | 2023-01-31 | 中信银行股份有限公司 | 密码服务系统及加密方法 |
CN111740986B (zh) * | 2020-06-19 | 2022-07-19 | 公安部第三研究所 | 基于标识密码技术的实现数据共享控制的系统及其方法 |
CN111914293A (zh) * | 2020-07-31 | 2020-11-10 | 平安科技(深圳)有限公司 | 一种数据访问权限验证方法、装置、计算机设备及存储介质 |
US11621837B2 (en) * | 2020-09-03 | 2023-04-04 | Theon Technology Llc | Secure encryption of data using partial-key cryptography |
US11310042B2 (en) | 2020-09-11 | 2022-04-19 | Crown Sterling Limited, LLC | Methods of storing and distributing large keys |
CN112184426A (zh) * | 2020-10-12 | 2021-01-05 | 深圳壹账通智能科技有限公司 | 数据共享方法、系统、服务器及计算机可读存储介质 |
CN112333199B (zh) * | 2020-11-17 | 2023-04-21 | 珠海大横琴科技发展有限公司 | 一种数据处理的方法和装置 |
CN112637177B (zh) * | 2020-12-17 | 2022-09-27 | 赛尔网络有限公司 | 数据加密传输方法、装置、设备及介质 |
CN112615936A (zh) * | 2020-12-28 | 2021-04-06 | 南京披云信息科技有限公司 | 提升物联网安全的方法及装置 |
WO2022169457A1 (en) * | 2021-02-05 | 2022-08-11 | Visa International Service Association | Mobile device secret protection system and method |
CN113515728B (zh) * | 2021-05-18 | 2023-08-04 | 北京飞利信电子技术有限公司 | 一种基于多级部署的物联网平台软件授权控制系统和方法 |
US11615375B2 (en) * | 2021-07-02 | 2023-03-28 | dexFreight, Inc. | Electronic management of supply chain factoring with shared state storage in a distributed ledger |
US11755772B2 (en) | 2021-09-20 | 2023-09-12 | Crown Sterling Limited, LLC | Securing data in a blockchain with a one-time pad |
CN113868605B (zh) * | 2021-09-30 | 2024-03-22 | 新华三大数据技术有限公司 | 授权管理方法、装置及系统 |
CN113722695B (zh) * | 2021-11-02 | 2022-02-08 | 佳瑛科技有限公司 | 基于云端服务器的财务数据安全共享方法、装置及系统 |
US11791988B2 (en) | 2021-11-22 | 2023-10-17 | Theon Technology Llc | Use of random entropy in cryptography |
US11943336B2 (en) | 2021-11-22 | 2024-03-26 | Theon Technology Llc | Use of gradient decent function in cryptography |
US11902420B2 (en) | 2021-11-23 | 2024-02-13 | Theon Technology Llc | Partial cryptographic key transport using one-time pad encryption |
CN114124572B (zh) * | 2021-12-07 | 2023-06-27 | 建信金融科技有限责任公司 | 基于单向网络的数据传输方法、装置、设备和介质 |
KR102602189B1 (ko) * | 2022-02-18 | 2023-11-14 | 주식회사 한글과컴퓨터 | 클라우드 기반의 문서 공유 서비스를 운영하기 위한 문서 공유 서비스 서버 및 그 동작 방법 |
US11727145B1 (en) | 2022-06-10 | 2023-08-15 | Playback Health Inc. | Multi-party controlled transient user credentialing for interaction with patient health data |
CN116155619B (zh) * | 2023-04-04 | 2023-07-07 | 江西农业大学 | 数据处理方法、数据请求端、数据拥有端及数据处理装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103442059A (zh) * | 2013-08-27 | 2013-12-11 | 华为终端有限公司 | 一种文件共享方法及装置 |
CN103561034A (zh) * | 2013-11-11 | 2014-02-05 | 武汉理工大学 | 一种安全文件共享系统 |
CN103973736A (zh) * | 2013-01-30 | 2014-08-06 | 华为终端有限公司 | 一种数据共享的方法及装置 |
CN104980477A (zh) * | 2014-04-14 | 2015-10-14 | 航天信息股份有限公司 | 云存储环境下的数据访问控制方法和系统 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8464353B2 (en) * | 2003-10-03 | 2013-06-11 | Hewlett-Packard Development Company, L. P. | Method and system for content downloads via an insecure communications channel to devices |
JP2007089098A (ja) * | 2005-09-20 | 2007-04-05 | Chaosware Inc | クライアント・サーバ型暗号化システム |
JP2008103936A (ja) * | 2006-10-18 | 2008-05-01 | Toshiba Corp | 秘密情報管理装置および秘密情報管理システム |
KR20100042457A (ko) * | 2008-10-16 | 2010-04-26 | 삼성전자주식회사 | 데이터 암호화 방법 및 장치와 데이터 복호화 방법 및 장치 |
US9171298B2 (en) * | 2011-02-24 | 2015-10-27 | Dvdcase, Inc. | Systems and methods for managing access to benefits associated with products |
JP6019453B2 (ja) * | 2012-07-05 | 2016-11-02 | 株式会社クリプト・ベーシック | 暗号化装置、復号化装置、及びプログラム |
US9769664B1 (en) * | 2014-09-04 | 2017-09-19 | Sensys Networks | Nonce silent and replay resistant encryption and authentication wireless sensor network |
US20160379220A1 (en) * | 2015-06-23 | 2016-12-29 | NXT-ID, Inc. | Multi-Instance Shared Authentication (MISA) Method and System Prior to Data Access |
KR101777698B1 (ko) | 2015-10-27 | 2017-09-12 | 라인 가부시키가이샤 | 사용자 단말, 메시지를 송수신하는 방법 및 컴퓨터 프로그램 |
US10013573B2 (en) * | 2015-12-16 | 2018-07-03 | International Business Machines Corporation | Personal ledger blockchain |
WO2017142563A1 (en) * | 2016-02-19 | 2017-08-24 | Entit Software Llc | Encryption methods |
KR101783281B1 (ko) * | 2016-03-11 | 2017-09-29 | 주식회사 다날 | 신분증 데이터의 안전 보관이 가능한 전자 단말 장치 및 그 동작 방법 |
US10137860B2 (en) * | 2016-11-17 | 2018-11-27 | Ford Global Technologies, Llc | Remote keyless entry message authentication |
CN111614655A (zh) | 2017-03-24 | 2020-09-01 | 创新先进技术有限公司 | 一种共识校验的方法及装置 |
JP6302592B2 (ja) * | 2017-06-23 | 2018-03-28 | 株式会社エヌ・ティ・ティ・データ | 情報処理装置、情報処理方法およびプログラム |
-
2017
- 2017-11-02 CN CN201711065783.1A patent/CN107979590B/zh active Active
-
2018
- 2018-09-27 JP JP2020524318A patent/JP6961818B2/ja active Active
- 2018-09-27 KR KR1020197034696A patent/KR102219008B1/ko active IP Right Grant
- 2018-09-27 EP EP18872127.8A patent/EP3618394B1/en active Active
- 2018-09-27 WO PCT/CN2018/107962 patent/WO2019085699A1/zh unknown
-
2019
- 2019-11-14 US US16/683,597 patent/US11223477B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103973736A (zh) * | 2013-01-30 | 2014-08-06 | 华为终端有限公司 | 一种数据共享的方法及装置 |
CN103442059A (zh) * | 2013-08-27 | 2013-12-11 | 华为终端有限公司 | 一种文件共享方法及装置 |
CN103561034A (zh) * | 2013-11-11 | 2014-02-05 | 武汉理工大学 | 一种安全文件共享系统 |
CN104980477A (zh) * | 2014-04-14 | 2015-10-14 | 航天信息股份有限公司 | 云存储环境下的数据访问控制方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
EP3618394A1 (en) | 2020-03-04 |
CN107979590A (zh) | 2018-05-01 |
US20200084037A1 (en) | 2020-03-12 |
US11223477B2 (en) | 2022-01-11 |
EP3618394B1 (en) | 2022-03-30 |
EP3618394A4 (en) | 2020-07-01 |
JP2021502023A (ja) | 2021-01-21 |
JP6961818B2 (ja) | 2021-11-05 |
KR102219008B1 (ko) | 2021-02-22 |
WO2019085699A1 (zh) | 2019-05-09 |
KR20200002985A (ko) | 2020-01-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107979590B (zh) | 数据共享方法、客户端、服务器、计算设备及存储介质 | |
CN111213147B (zh) | 用于基于区块链的交叉实体认证的系统和方法 | |
CN111316303B (zh) | 用于基于区块链的交叉实体认证的系统和方法 | |
US11777726B2 (en) | Methods and systems for recovering data using dynamic passwords | |
TWI725793B (zh) | 用於將分散識別符映射到真實世界實體的系統及方法 | |
CN111095327B (zh) | 用于验证可验证声明的系统和方法 | |
CN111164594B (zh) | 用于将去中心化标识映射到真实实体的系统和方法 | |
US11082221B2 (en) | Methods and systems for creating and recovering accounts using dynamic passwords | |
KR20210091677A (ko) | 디지털 신원 인증 방법, 장치, 기기 및 저장 매체 | |
CN110365670A (zh) | 黑名单共享方法、装置、计算机设备和存储介质 | |
JP2019523494A (ja) | ブロックチェーンにより実現される方法及びシステム | |
US20190101896A1 (en) | Controlled 3-d printing | |
KR20110084538A (ko) | 디지털 콘텐트를 관리하기 위한 방법 및 디바이스 | |
CN107409129B (zh) | 使用访问控制列表和群组的分布式系统中的授权 | |
JP2019153181A (ja) | 管理プログラム | |
US20230108366A1 (en) | Systems for encryption using blockchain distributed ledgers | |
US20240020355A1 (en) | Non-fungible token authentication | |
TW202347353A (zh) | 使用實體裝置標識符在區塊鏈上生成並維持數位令牌 | |
Kyriakidou et al. | VC-Vault: A User-Friendly, Secure, Privacy-Enhancing Verifiable Credentials Wallet | |
JP2008028891A (ja) | 暗号化情報照会方法および暗号化装置 | |
JP2009104615A (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 |