KR20200002985A - Data sharing methods, clients, servers, computing devices, and storage media - Google Patents
Data sharing methods, clients, servers, computing devices, and storage media Download PDFInfo
- Publication number
- KR20200002985A KR20200002985A KR1020197034696A KR20197034696A KR20200002985A KR 20200002985 A KR20200002985 A KR 20200002985A KR 1020197034696 A KR1020197034696 A KR 1020197034696A KR 20197034696 A KR20197034696 A KR 20197034696A KR 20200002985 A KR20200002985 A KR 20200002985A
- Authority
- KR
- South Korea
- Prior art keywords
- key
- client
- encrypted data
- access
- authorization code
- Prior art date
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/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
- 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
- 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
-
- H04L2209/38—
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Storage Device Security (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Information Transfer Between Computers (AREA)
Abstract
본 출원은 데이터 공유 방법을 제공하며, 암호화된 데이터를 획득하기 위해, 키에 따라 평문 데이터를 암호화하는 단계; 상기 암호화된 데이터를 정보 공유 시스템의 블록으로 업로드하는 단계 ― 상기 정보 공유 시스템은 블록체인 시스템임 ―; 상기 정보 공유 시스템에 대응하는 액세스 승인 서버로 상기 키의 제1 부분을 업로드하는 단계; 상기 암호화된 데이터에 대응하는 승인 코드를 상기 액세스 승인 서버로부터 수신하는 단계; 및 사용자가 상기 암호화된 데이터에 액세스하도록 승인되는 경우에 상기 사용자의 제2 클라이언트에게 상기 승인 코드 및 상기 키의 제2 부분을 전송하는 단계를 포함하며, 상기 키의 제2 부분은 상기 제1 부분을 제외한 상기 키의 나머지 부분을 포함한다. 본 출원은 또한 대응하는 클라이언트, 서버, 컴퓨팅 장치 및 저장 매체를 더 제공한다.The present application provides a data sharing method, comprising: encrypting plain text data according to a key to obtain encrypted data; Uploading the encrypted data to a block of an information sharing system, wherein the information sharing system is a blockchain system; Uploading the first portion of the key to an access authorization server corresponding to the information sharing system; Receiving an authorization code corresponding to the encrypted data from the access authorization server; And sending a second portion of the authorization code and the key to a second client of the user when the user is authorized to access the encrypted data, wherein the second portion of the key is the first portion. Include the rest of the key except for. The present application further provides corresponding clients, servers, computing devices and storage media.
Description
본 출원은 2017년 11월 2일에 중국 특허청에 출원된 중국 특허 출원 제201711065783.1호 ('데이터 공유 방법, 클라이언트, 서버, 컴퓨팅 장치 및 저장 매체')의 우선권을 주장하며 이것은 그 전체가 참조로서 본 명세서 포함된다.This application claims the priority of Chinese Patent Application No. 201711065783.1 ('Data Sharing Methods, Clients, Servers, Computing Devices and Storage Media') filed with the Chinese Patent Office on November 2, 2017, which is incorporated by reference in its entirety. Specification is included.
본 출원은 컴퓨터 기술 분야에 관한 것으로, 구체적으로는 데이터 공유 방법, 클라이언트, 서버, 컴퓨팅 장치 및 저장 매체에 관한 것이다.TECHNICAL FIELD This application relates to the field of computer technology, and more particularly, to a data sharing method, a client, a server, a computing device, and a storage medium.
인터넷 기술의 발달로 일부 정보 공유 시스템이 현장에 데뷔했습니다. 사용자는 사진, 문서, 비디오 및 기타 파일과 같은 데이터를 정보 공유 시스템에 업로드하고 다른 사용자가 정보 공유 시스템을 통해 데이터에 액세스할 수 있는 권한을 부여 할 수 있습니다.With the development of Internet technology, some information sharing systems have made their debut in the field. You can upload data such as photos, documents, videos, and other files to an information sharing system and authorize other users to access the data through the information sharing system.
따라서, 데이터의 보안을 보장하기 위해, 예를 들어, 사용자가 파일에 대한 액세스를 요청할 때 사용자가 제공한 정보를 검증하기 위해 다음의 기술적 수단을 요구하는 정보 공유 시스템이 필요하다.Thus, to ensure the security of the data, there is a need for an information sharing system that requires the following technical means, for example, to verify the information provided by the user when the user requests access to the file.
본 출원의 실시예는 제1 클라이언트에 의해 수행되는 데이터 공유 방법을 제공하며, 암호화된 데이터를 획득하기 위해, 키(key)에 따라 평문 데이터를 암호화하는 단계; 상기 암호화된 데이터를 정보 공유 시스템의 블록으로 업로드하는 단계 ― 상기 정보 공유 시스템은 블록체인 시스템임 ―; 상기 정보 공유 시스템에 대응하는 액세스 승인 서버로 상기 키의 제1 부분을 업로드하는 단계; 상기 암호화된 데이터에 대응하는 승인 코드를 상기 액세스 승인 서버로부터 수신하는 단계; 및 사용자가 상기 암호화된 데이터에 액세스하도록 승인되는 경우에 상기 사용자의 제2 클라이언트에게 상기 승인 코드 및 상기 키의 제2 부분을 전송하는 단계 ― 상기 키의 제2 부분은 상기 제1 부분을 제외한 상기 키의 나머지 부분을 포함하고, 상기 액세스 승인 서버에게 상기 암호화된 데이터에 대한 액세스 요청을 전송하는 경우, 상기 제2 클라이언트가 상기 승인 코드 및 상기 키의 제2 부분을 상기 액세스 요청에 추가하고, 상기 액세스 승인 서버가 상기 승인 코드가 유효한 것으로 결정하는 경우에 상기 액세스 승인 서버가 상기 키의 제1 부분 및 제2 부분에 따라 상기 키를 생성하고, 상기 평문 데이터를 획득하기 위해, 상기 생성된 키에 따라 상기 정보 공유 시스템의 블록으로부터 획득된 상기 암호화된 데이터를 복호하며, 상기 제2 클라이언트에게 상기 암호화된 데이터를 리턴함 ―를 포함한다.An embodiment of the present application provides a data sharing method performed by a first client, the method comprising: encrypting plain text data according to a key to obtain encrypted data; Uploading the encrypted data to a block of an information sharing system, wherein the information sharing system is a blockchain system; Uploading the first portion of the key to an access authorization server corresponding to the information sharing system; Receiving an authorization code corresponding to the encrypted data from the access authorization server; And sending the authorization code and the second portion of the key to a second client of the user when the user is authorized to access the encrypted data, wherein the second portion of the key is other than the first portion. The second client adds the authorization code and the second portion of the key to the access request, when sending a request for access to the encrypted data to the access authorization server; In case the access authorization server determines that the authorization code is valid, the access authorization server generates the key according to the first and second portions of the key and obtains the key in order to obtain the plain text data. Accordingly decrypts the encrypted data obtained from the block of the information sharing system, and wherein the second client It includes - a return to the encrypted data also.
본 출원의 실시예는 데이터 제공 방법을 더 제공하며, 제1 클라이언트로부터 제1 키의 제1 부분을 수신하는 단계 ― 상기 제1 키는 정보 공유 시스템의 블록으로 업로드된 암호화된 데이터에 대응하고, 상기 암호화된 데이터는 상기 제1 키에 따라 평문 데이터를 암호화함으로써 획득되며, 상기 정보 공유 시스템은 블록체인 시스템임 ―; 상기 암호화된 데이터에 대응하는 제1 승인 코드를 생성하는 단계; 상기 제1 클라이언트가 제2 클라이언트가 상기 암호화된 데이터에 액세스하도록 승인하는 경우, 상기 제1 클라이언트가 상기 제2 클라이언트에게 상기 제1 승인 코드 및 상기 제1 키의 제2 부분을 전송하여, 상기 제2 클라이언트가 상기 암호화된 데이터에 액세스하는 경우에 상기 제1 승인 코드 및 상기 제1 키의 제2 부분을 액세스 요청에 추가할 수 있도록, 상기 제1 클라이언트에게 상기 제1 승인 코드를 전송하는 단계 ― 상기 제1 키의 제2 부분은 상기 제1 부분을 제외한 상기 제1 키의 나머지 부분을 포함함 ―을 포함하고, 상기 암호화된 데이터에 대한 임의의 클라이언트로부터의 액세스 요청의 수신에 응답하여, 상기 데이터 공유 방법은, 상기 액세스 요청으로부터 제2 승인 코드 및 불완전한 키를 획득하는 단계; 상기 제2 승인 코드가 상기 제1 승인 코드와 동일하고 상기 제2 승인 코드가 유효한 경우에 상기 불완전한 키 및 상기 암호화된 데이터에 대응하는 상기 제1 키의 제1 부분에 따라 제2 키를 생성하는 단계 ― 상기 생성된 제2 키는 상기 불완전한 키가 상기 제1 키의 제2 부분과 동일한 경우에 상기 제1 키와 동일함 ―; 상기 정보 공유 시스템의 블록으로부터 상기 암호화된 데이터를 획득하는 단계; 및 상기 제2 키에 따라 상기 암호화된 데이터를 복호하는 단계 ― 상기 평문 데이터는 복호화를 통해 획득되고 상기 제2 키가 상기 제1 키와 동일한 경우에 상기 액세스 요청을 전송하는 상기 클라이언트에게 전송됨 ―를 더 포함한다.An embodiment of the present application further provides a data providing method, comprising: receiving a first portion of a first key from a first client, wherein the first key corresponds to encrypted data uploaded to a block of an information sharing system, The encrypted data is obtained by encrypting plain text data according to the first key, wherein the information sharing system is a blockchain system; Generating a first authorization code corresponding to the encrypted data; When the first client authorizes a second client to access the encrypted data, the first client sends the second grant code and the second portion of the first key to the second client, thereby generating the first client. 2 sending the first grant code to the first client so that the client can add the first grant code and the second portion of the first key to an access request when the client accesses the encrypted data; The second portion of the first key includes the remaining portion of the first key except the first portion, and in response to receiving an access request from any client to the encrypted data; The data sharing method comprises: obtaining a second grant code and an incomplete key from the access request; Generating a second key according to the incomplete key and a first portion of the first key corresponding to the encrypted data when the second grant code is the same as the first grant code and the second grant code is valid Step, said generated second key being equal to said first key if said incomplete key is equal to a second portion of said first key; Obtaining the encrypted data from the block of the information sharing system; And decrypting the encrypted data according to the second key, wherein the plain text data is obtained through decryption and is sent to the client sending the access request if the second key is equal to the first key. It further includes.
본 출원의 실시예는 제1 클라이언트를 제공하며, 암호화된 데이터를 획득하기 위해, 키(key)에 따라 평문 데이터를 암호화하도록 구성된 암호화 모듈; 상기 암호화된 데이터를 정보 공유 시스템의 블록으로 업로드하고, 상기 정보 공유 시스템에 대응하는 액세스 승인 서버로 상기 키의 제1 부분을 업로드하도록 구성된 업로딩 모듈 ― 상기 정보 공유 시스템은 블록체인 시스템임 ―; 상기 암호화된 데이터에 대응하는 승인 코드를 상기 액세스 승인 서버로부터 수신하고, 사용자가 상기 암호화된 데이터에 액세스하도록 승인되는 경우에 제2 클라이언트에게 상기 승인 코드 및 상기 키의 제2 부분을 전송하도록 구성된 승인 모듈 ― 상기 키의 제2 부분은 상기 제1 부분을 제외한 상기 키의 나머지 부분을 포함하고, 상기 액세스 승인 서버에게 상기 암호화된 데이터에 대한 액세스 요청을 전송하는 경우, 상기 제2 클라이언트가 상기 승인 코드 및 상기 키의 제2 부분을 상기 액세스 요청에 추가하고, 상기 액세스 승인 서버가 상기 승인 코드가 유효한 것으로 결정하는 경우에 상기 액세스 승인 서버가 상기 키의 제1 부분 및 제2 부분에 따라 상기 키를 생성하고, 상기 평문 데이터를 획득하기 위해, 상기 생성된 키에 따라 상기 정보 공유 시스템의 블록으로부터 획득된 상기 암호화된 데이터를 복호하며, 상기 제2 클라이언트에게 상기 암호화된 데이터를 리턴함 ―을 포함한다.An embodiment of the present application provides a first client, comprising: an encryption module configured to encrypt plain text data according to a key to obtain encrypted data; An uploading module configured to upload the encrypted data to a block of an information sharing system and to upload a first portion of the key to an access authorization server corresponding to the information sharing system, wherein the information sharing system is a blockchain system; An authorization configured to receive an authorization code corresponding to the encrypted data from the access authorization server and to send the authorization code and the second portion of the key to a second client when a user is authorized to access the encrypted data Module-The second portion of the key includes the remaining portion of the key except the first portion, and when the second client sends the request for access to the encrypted data to the access authorization server, the second client sends the authorization code. And add a second portion of the key to the access request, and if the access authorization server determines that the authorization code is valid, the access authorization server selects the key according to the first and second portions of the key. Generate and share the information according to the generated key to obtain the plain text data Comprises - decrypting the said encrypted data obtained from the block of the stem, and it returns the encrypted data to the second client.
본 출원의 실시예는 액세스 승인 서버를 제공하며, 제1 클라이언트로부터 제1 키의 제1 부분을 수신하고 ― 상기 제1 키는 정보 공유 시스템의 블록으로 업로드된 암호화된 데이터를 포함하고, 상기 암호화된 데이터는 상기 제1 키에 따라 평문 데이터를 암호화함으로써 획득되며, 상기 정보 공유 시스템은 블록체인 시스템임 ―, 상기 암호화된 데이터에 대응하는 제1 승인 코드를 생성하며, 제2 클라이언트가 상기 암호화된 데이터에 액세스하도록 승인하는 경우, 상기 제1 클라이언트가 상기 제2 클라이언트에게 상기 제1 승인 코드 및 상기 제1 키의 제2 부분을 전송하여, 상기 암호화된 데이터에 액세스하는 경우에 상기 제2 클라이언트가 상기 제1 승인 코드 및 상기 제1 키의 제2 부분을 액세스 요청에 추가할 수 있도록, 상기 제1 클라이언트에게 상기 제1 승인 코드를 전송하도록 구성된 승인 모듈 ― 상기 제1 키의 제2 부분은 상기 제1 부분을 제외한 상기 제1 키의 나머지 부분을 포함함 ―; 상기 암호화된 데이터에 대한 임의의 클라이언트로부터의 액세스 요청의 수신에 응답하여, 상기 액세스 요청으로부터 제2 승인 코드 및 불완전한 키를 획득하고, 상기 제2 승인 코드가 상기 제1 승인 코드와 동일하고 상기 제2 승인 코드가 유효한 경우에 키 모듈을 트리거하도록 구성된 검증 모듈; 상기 불완전한 키 및 상기 암호화된 데이터에 대응하는 상기 제1 키의 제1 부분에 따라 제2 키를 생성하도록 구성된 상기 키 모듈 ― 상기 생성된 제2 키는 상기 불완전한 키가 상기 제1 키의 제2 부분과 동일한 경우에 상기 제1 키와 동일함 ―; 및 상기 정보 공유 시스템의 블록으로부터 상기 암호화된 데이터를 획득하고, 상기 제2 키에 따라 상기 암호화된 데이터를 복호하도록 구성된 복호화 모듈 ― 상기 평문 데이터는 복호화를 통해 획득되고 상기 제2 키가 상기 제1 키와 동일한 경우에 상기 액세스 요청을 전송하는 상기 클라이언트에게 전송됨 ―을 포함한다.An embodiment of the present application provides an access authorization server, receiving a first portion of a first key from a first client, the first key comprising encrypted data uploaded to a block of an information sharing system, wherein the encryption Encrypted data is obtained by encrypting the plain text data according to the first key, wherein the information sharing system is a blockchain system, generates a first authorization code corresponding to the encrypted data, and wherein a second client generates the encrypted When authorizing to access the data, the second client sends the first authorization code and the second portion of the first key to the second client so that the second client can access the encrypted data. Send the first client to the first client so that the first grant code and the second portion of the first key can be added to the access request. An authorization module configured to send an authorization code, wherein the second portion of the first key includes the remaining portion of the first key except the first portion; In response to receiving an access request from any client for the encrypted data, obtaining a second grant code and an incomplete key from the access request, wherein the second grant code is the same as the first grant code and the first grant code A verification module, configured to trigger the key module if the authorization code is valid; The key module configured to generate a second key according to the incomplete key and the first portion of the first key corresponding to the encrypted data, wherein the generated second key is the second key of the first key; Same as the first key if same as the portion; And a decryption module configured to obtain the encrypted data from the block of the information sharing system, and to decrypt the encrypted data according to the second key, wherein the plain text data is obtained through decryption and the second key is the first key. Sent to the client sending the access request if equal to a key.
본 출원의 실시예는 컴퓨팅 장치를 더 제공하며, 하나 이상의 프로세서; 메모리; 및 상기 메모리에 저장되고 상기 하나 이상의 프로세서에 의해 실행되도록 구성된 하나 이상의 프로그램 ― 상기 하나 이상의 프로그램은 전술한 방법을 수행하기 위한 명령을 포함함 ―을 포함한다.Embodiments of the present application further provide a computing device, comprising one or more processors; Memory; And one or more programs stored in the memory and configured to be executed by the one or more processors, wherein the one or more programs include instructions for performing the method described above.
본 출원의 실시예는 명령을 포함하는 하나 이상의 프로그램을 저장하고, 상기 명령이, 컴퓨팅 장치에 의해 실행될 때, 상기 컴퓨팅 장치가 전술한 방법을 수행할 수 있게 하는 저장 매체를 더 제공한다.Embodiments of the present application further provide a storage medium for storing one or more programs comprising instructions and allowing the computing device to perform the methods described above when the instructions are executed by a computing device.
본 개시의 실시예의 기술적 해결수단을 보다 명확하게 설명하기 위해, 이하에서는 실시예를 설명하는데 필요한 첨부 도면을 간략하게 소개한다. 명백하게, 이하의 설명에서의 첨부 도면은 본 개시의 실시예만을 도시하고, 당업자는 창조적 노력없이 이들 첨부 도면으로부터 다른 도면을 도출할 수 있다.
본 개시의 실시예의 기술적 해결수단을 보다 명확히 설명하기 위해, 본 개시의 추가 이해를 위해 첨부 도면이 제공된다. 본 명세서의 첨부 도면은 본 개시의 일부 실시예만을 도시하고, 당업자는 창조적 노력없이 이들 첨부 도면으로부터 다른 실시예를 도출 할 수 있다.
도 1은 실시예에 따른 시스템 아키텍처 도면이다.
도 2는 실시예에 따른 방법의 흐름도이다.
도 3은 실시예에 따른 다른 방법의 흐름도이다.
도 4는 실시예에 따른 메시지 상호 작용의 개략도이다.
도 5는 실시예에 따른 사용자 인터페이스의 개략도이다.
도 6은 실시예에 따른 사용자 인터페이스의 개략도이다.
도 7은 실시예에 따른 클라이언트의 개략적인 구조도이다.
도 8은 실시예에 따른 서버의 개략적인 구조도이다.
도 9는 실시예에 따른 컴퓨팅 장치의 구성의 개략적인 구조도이다.BRIEF DESCRIPTION OF DRAWINGS To describe the technical solutions in the embodiments of the present disclosure more clearly, the following briefly introduces the accompanying drawings required for describing the embodiments. Apparently, the accompanying drawings in the following description show only embodiments of the present disclosure, and a person of ordinary skill in the art may derive other drawings from these accompanying drawings without creative efforts.
BRIEF DESCRIPTION OF DRAWINGS To describe the technical solutions in the embodiments of the present disclosure more clearly, the accompanying drawings are provided for a further understanding of the present disclosure. The accompanying drawings in this specification show only some embodiments of the disclosure, and those skilled in the art can derive other embodiments from these accompanying drawings without creative efforts.
1 is a system architecture diagram according to an embodiment.
2 is a flowchart of a method according to an embodiment.
3 is a flowchart of another method according to an embodiment.
4 is a schematic diagram of message interaction according to an embodiment.
5 is a schematic diagram of a user interface according to an embodiment.
6 is a schematic diagram of a user interface according to an embodiment.
7 is a schematic structural diagram of a client according to an embodiment.
8 is a schematic structural diagram of a server according to an embodiment.
9 is a schematic structural diagram of a configuration of a computing device according to an embodiment.
설명을 간결하고 직관적으로 하기 위해, 본 개시의 해결수단은 몇몇 대표적인 실시예를 설명함으로써 여기에서 예시된다. 그러나, 모든 구현이 여기에서 예시된 것은 아니다. 실시예들에서의 다수의 세부 사항은 단지 본 개시의 해결수단의 이해를 돕기 위해 사용되며, 본 개시의 기술적 해결수단은 구현 중에 이들 세부 사항으로 제한되지 않을 수 있다. 본 개시의 해결수단을 불필요하게 모호하게 하지 않기 위해, 일부 구현은 상세하게 설명되지 않지만, 프레임워크만이 제공된다. 이하에서, "포함한다"라는 용어는 "포함하지만 이에 제한되지 않는다"는 것을 지칭하고, "...에 따라"라는 용어는 "적어도 ...에 따르지만, 그러나 ...에 따른 것으로만 제한되지는 않는다."는 것을 지칭한다. 명세서 및 청구 범위에서 "포함한다(include)/포함한다(comprise)"라는 용어는 적어도 어느 정도 포함하는 것을 지칭하며, 이후에 언급된 특징뿐만 아니라 다른 특징도 포함하는 것으로 해석되어야한다.For the sake of brevity and intuitiveness of explanation, the solutions of the present disclosure are illustrated herein by describing some representative embodiments. However, not all implementations are illustrated here. Numerous details in the embodiments are used only to aid understanding of the solutions of the present disclosure, and the technical solutions of the present disclosure may not be limited to these details during implementation. In order not to unnecessarily obscure the solutions of this disclosure, some implementations are not described in detail, but only frameworks are provided. In the following, the term "comprising" refers to "including but not limited to" and the term "according to" is "according at least, but limited to only according to ... It does not mean. " The term "include / comprise" in the specification and claims refers to inclusion at least to some extent and should be construed to include other features as well as features mentioned hereinafter.
본 개시의 실시예는 데이터 공유 방법을 제공한다. 이 방법은 도 1에 도시된 시스템 아키텍처에 적용될 수 있다. 도 1에 도시된 바와 같이, 시스템 아키텍처는 제1 클라이언트(101), 제2 클라이언트(102), 액세스 승인 서버(103) 및 정보 공유 시스템(104)을 포함할 수 있다. 엔티티는 인터넷(105)을 통해 통신할 수 있다. 정보 공유 시스템(104)은 사용자에 의해 업로드된 다양한 데이터를 저장하도록 구성될 수 있고, 사용자는 또한 정보 공유 시스템(104)의 데이터에 액세스할 수 있다. 실제 네트워크는 많은 양의 클라이언트를 포함할 수 있지만, 클라이언트(101 및 102)로 제한되지는 않는다. 정보 공유 시스템(104)에 업로드된 데이터는 데이터의 보유자 및 데이터를 업로드한 사용자에 의해 사용되는 클라이언트일 수 있는 제1 클라이언트(101)에 대응할 수 있으며, 공유자 클라이언트라고도 지칭될 수 있다. 이러한 데이터는 하나 이상의 제2 클라이언트(102)에 의해 액세스될 수 있다. 제2 클라이언트(102)는 이러한 데이터에 액세스하는 사용자에 의해 사용되는 클라이언트일 수 있으며, 방문자 클라이언트 또는 뷰어 클라이언트로 지칭될 수도 있다. 액세스 승인 서버(103)는 정보 공유 시스템(104)에 직접 연결되거나 또는 인터넷(105)을 통해 정보 공유 시스템(104)에 연결될 수 있으며, 정보 공유 시스템(104)의 액세스 서비스 또는 승인된 보기(view) 서비스를 제공하도록 구성될 수 있다. 제2 클라이언트(102)는 액세스 승인 서버(103)를 통해 정보 공유 시스템(104)으로부터 원하는 데이터를 획득할 수 있다. 구체적으로, 제2 클라이언트(102)는 데이터에 대한 액세스 요청 또는 보기 요청을 액세스 승인 서버(103)에게 전송할 수 있다. 액세스 승인 서버(103)는 제2 클라이언트(102)의 사용자가 데이터에 액세스할 수 있는 권리를 가지고 있는지를 검증함으로써, 예를 들어 액세스 요청에서 승인 코드를 검증함으로써 액세스 요청을 인증한다. 인증이 성공하는 경우, 정보 공유 시스템(104)으로부터 획득된 암호화된 데이터는 액세스 요청에서 운반되는 키(key) 정보에 따라 복호될 수 있다. 복호 후 평문 데이터가 성공적으로 획득되면, 평문 데이터는 제2 클라이언트(102)로 리턴될 수 있다.Embodiments of the present disclosure provide a data sharing method. This method can be applied to the system architecture shown in FIG. As shown in FIG. 1, the system architecture may include a
여기서, 제1 클라이언트(101) 및 제2 클라이언트(102)는 공유 데이터를 액세스할 수 있는 다양한 APP 클라이언트 또는 브라우저일 수 있다. 제1 클라이언트(101) 및 제2 클라이언트(102)는 다양한 단말 장치에서 실행될 수 있으며, PC, 이동 전화, 태블릿 컴퓨터, 팜탑 컴퓨터, 울트라북, 웨어러블 장치 등을 포함할 수 있다. 정보 공유 시스템(104)은 다양한 통합 또는 분산 데이터 저장 시스템일 수 있고, 블록체인 시스템(또는 블록체인 네트워크로 지칭됨), 데이터베이스 시스템, 네트워크 디스크/클라우드 디스크 시스템 등을 포함할 수 있지만 이것으로 제한되는 것은 아니다. 정보 공유 시스템(104)에 저장된 데이터는 디지털 자산, 인증 서비스, 분산 원장(leger), 공유 경제 및 다른 시나리오를 포함하는 다수의 서비스 시나리오에서 생성된 데이터를 포함할 수 있다.Here, the
디지털 자산은 전자 데이터의 형태로 존재하는 기업에 의해 소유되거나 제어되는 비 통화 자산을 지칭하며, 일상 활동으로 판매되거나 생산 프로세스에서 사용될 수 있다. 디지털 자산의 생산은 사무 자동화로부터 이익을 얻을 수 있다. 디지털 자산은 전자 지불 시스템에 기초하여 개발되며, 공유 크레딧, 쿠폰, 디지털 통화, 주식 등록 및 기타 시나리오와 같은 시나리오를 위해 사용될 수 있다. 인증 서비스는 저작권/소유권 투영, 사법 문서 투영, 자선 기부 및 개인 및 기업 인증서와 같은 비즈니스 시나리오를 위해 사용된다. 공유 원장은 에이전시 간 청산, 은행 인수, 에이전시 간 신디케이트 대출, 공급망 금융 및 국경 간 송금과 같은 비즈니스 시나리오를 위해 사용된다. 블록체인은 데이터 블록을 연대순으로 순차적으로 연결하여 형성된 링크 데이터 구조이며, 암호화를 통해 보장되는 변조 방지 및 위조 방지 분산 원장이다. 블록체인 시스템은 새로운 브랜드의 분산 기본 아키텍처로, 링크 데이터 구조를 사용하여 데이터를 검증하고 저장하며, 분산 노드 합의 알고리즘을 사용하여 데이터를 생성하고 업데이트하며, 암호화를 통해 데이터 전송 및 액세스의 보안을 보장하고, 자동화된 스크립트 코드에 의해 형성된 스마트 계약을 사용하여 데이터를 프로그래밍하고 작동시킨다.Digital assets refer to non-monetary assets that are owned or controlled by companies that exist in the form of electronic data and can be sold as daily activities or used in production processes. The production of digital assets can benefit from office automation. Digital assets are developed based on electronic payment systems and can be used for scenarios such as shared credits, coupons, digital currencies, stock registrations and other scenarios. Certification services are used for business scenarios such as copyright / ownership projection, judicial document projection, charitable donations, and personal and corporate certificates. Shared ledgers are used for business scenarios such as cross-agency liquidation, bank acquisitions, cross-agency syndication loans, supply chain finance and cross-border remittances. Blockchain is a link data structure formed by sequentially connecting data blocks in chronological order, and is a distributed tamper proof and anti-counterfeiting ledger. Blockchain system is a brand new distributed basic architecture that uses link data structure to verify and store data, create and update data using distributed node consensus algorithm, and secure data transmission and access through encryption. Program and operate the data using smart contracts formed by automated script code.
일부 비즈니스 시나리오에서, 정보 공유 시스템(104)에 업로드된 데이터는 암호화될 필요가 있으며, 데이터에 대한 액세스는 인증될 필요가 있을 수 있다. 다시 말해서, 일부 데이터는 조건부로 공유될 수 있고, 이러한 데이터는 사용자의 개인 데이터, 예를 들어 개인 또는 에이전시의 실명 인증 정보, 금융 계좌 정보, 사진 앨범, 원본 및 공유 인증을 필요로 하는 정보로 지칭될 수 있다. 일부 사용자는 데이터가 특정 사용자 중에 공유될 수 있도록 컨텐츠를 공개하지 않고 이러한 데이터를 공유하기를 원할 수 있다. 따라서, 데이터는 정보 공유 시스템(104)에서 암호화되어 저장될 수 있고, 따라서 특정 사용자는 데이터를 볼 수 있는 권한이 부여될 수 있다.In some business scenarios, data uploaded to the
실시예에 따르면, 제1 클라이언트(101)의 단말 장치에 의해 수행될 수 있는 데이터 공유 방법이 제공된다. 도 1은 하나의 제1 클라이언트(101)만을 도시하고, 실제 적용 시나리오에서는, 다수의 제1 클라이언트(101)가 존재할 수 있다. 제1 클라이언트(101) 각각은 여기에 설명된 방법을 구현할 수 있다. 도 2를 참조하면, 이 방법은 다음의 단계를 포함할 수 있다.According to an embodiment, a data sharing method that can be performed by a terminal device of the
단계 201에서, 제1 클라이언트(101)는 암호화된 데이터를 획득하기 위해 키에 따라 평문 데이터를 암호화할 수 있다.In
단계 202에서, 제1 클라이언트(101)는 암호화된 데이터를 정보 공유 시스템(104)의 블록에 업로드할 수 있으며, 정보 공유 시스템은 블록체인 시스템이다.In
여기서, 사용자가 데이터를 업로드하고자 하는 경우, 사용자에 의해 사용되는 제1 클라이언트(101)는 미리 설정된 키를 사용하여 데이터(즉, 평문 데이터)를 암호화한 다음, 암호화된 데이터를 정보 공유 시스템(104)에 업로드한다.Here, when the user wants to upload data, the
단계 203에서, 제1 클라이언트(101)는 키의 제1 부분을 정보 공유 시스템(104)에 대응하는 액세스 승인 서버(103)에 업로드할 수 있다.In
여기서, 정보 공유 시스템(104)에 대응하는 액세스 승인 서버(103)는 정보 공유 시스템(104)에 연결된 액세스 승인 서버(103)를 지칭할 수 있다.Here, the
여기서, 키는 문자열일 수 있으며, 키로 사용되는 문자열은 각각 키의 제1 부분 및 제2 부분으로 사용되는 2개의 문자열로 분할될 수 있다. 이러한 단계에서, 키의 제1 부분은 액세스 승인 서버(103)에 업로드될 수 있다. 일부 실시예들에서, 키의 전반부는 제1 부분으로서 사용될 수 있고, 키의 후반부는 제2 부분으로서 사용될 수 있다. 일부 다른 실시예들에서, 키의 후반부는 제1 부분으로서 사용될 수 있고, 키의 전반부는 제2 부분으로서 사용될 수 있다. 제1 부분 및 제2 부분의 길이는 동일하거나 상이할 수 있다. 일부 실시예들에서, 키의 분할 동안, 소정 길이를 갖는 문자열은 미리 설정된 문자열 길이 값(즉, 문자열에 포함된 미리 설정된 문자 개수)에 따라 분할되어 키의 제1 부분으로서 기능할 수 있고, 그 후 문자열의 나머지는 키의 제2 부분으로 사용된다.Here, the key may be a string, and the string used as the key may be divided into two strings used as the first part and the second part of the key, respectively. In this step, the first portion of the key can be uploaded to the
단계 204에서, 제1 클라이언트(101)는 액세스 승인 서버(103)로부터 암호화된 데이터에 대응하는 승인 코드를 수신할 수 있다.In
일부 실시예에서, 암호화된 데이터에 대해 제1 클라이언트(101)에 의해 업로드된 키의 제1 부분을 수신하는 경우, 액세스 승인 서버(103)는 암호화된 데이터에 대한 승인 코드를 생성한 다음, 승인 코드를 제1 클라이언트(101)에게 리턴한다. 구체적으로, 액세스 승인 서버(103)는 데이터를 업로드하는 사용자에 대응하는 규칙에 따라 승인 코드를 생성할 수 있다.In some embodiments, upon receiving the first portion of the key uploaded by the
단계 205에서, 제1 클라이언트(101)는 사용자가 암호화된 데이터를 액세스하도록 승인된 경우에 승인 코드 및 키의 제2 부분을 사용자의 다른 클라이언트, 예를 들어 제2 클라이언트(102)에게 전송할 수 있어서, 암호화된 데이터에 대한 액세스 요청을 액세스 승인 서버(103)에 전송하는 경우에 제2 클라이언트(102)가 승인 코드 및 키의 제2 부분을 액세스 요청에 추가할 수 있으며, 키의 제2 부분은 제1 부분을 제외한 키 내의 나머지 부분을 포함한다. In
이러한 방식으로, 액세스 승인 서버(103)는 승인 코드가 유효한 것으로 결정되는 경우 키의 제1 부분 및 제2 부분에 따라 키를 생성할 수 있고, 생성된 키에 따라 정보 공유 시스템(104)의 블록으로부터 획득된 암호화된 데이터를 복호하며, 제2 클라이언트(102)에 대한 복호를 통해 획득된 평문 데이터를 제공한다.In this way, the
일부 실시예들에서, 사용자가 암호화된 데이터를 보고자 하는 경우, 사용자는 사용자에 의해 사용되는 제2 클라이언트(103)에 의해 제1 클라이언트(101)로부터 승인 코드를 요청할 수 있다. 사용자에게 데이터를 볼 권한을 부여하기로 결정하는 경우, 제1 클라이언트(101)는 승인 코드 및 키의 제2 부분을 제2 클라이언트(102)에 전송할 수 있다.In some embodiments, if the user wishes to view encrypted data, the user may request an authorization code from the
일부 실시예들에서, 액세스 승인 서버(103)는 완전한 키를 형성하기 위해 키의 제1 부분 및 제2 부분을 결합할 수 있다. 제2 클라이언트(102)로부터 액세스 승인 서버(103)에 의해 획득된 키의 제2 부분과 제1 클라이언트(101)로부터 획득된 키의 제1 부분이 동일한 키에 속하지 않으면, 두 부분은 정확한 키를 형성하도록 결합될 수 없다. 따라서, 복호화가 실패하는 경우, 제2 클라이언트(102)는 평문 데이터를 획득할 수 없다. 액세스 승인 서버(103)는 실패 응답 또는 암호화된 데이터를 제2 클라이언트(10)에게 리턴할 수 있다. 이와 같이, 제2 클라이언트(102)는 데이터의 내용을 성공적으로 볼 수 없다. 따라서, 제1 클라이언트(101)에 의해 업로드된 데이터의 보안이 효과적으로 보장된다.In some embodiments,
전술한 실시예에서 제공된 방법을 사용함으로써, 제1 클라이언트(101)는 키 및 승인 코드를 보유한다. 액세스 승인 서버(103)는 승인 코드 및 키의 제1 부분을 보유하고, 인증되는 경우, 제2 클라이언트(102)는 키의 제2 부분 및 승인 코드를 보유할 수 있다. 이러한 방식으로, 제2 클라이언트(102)가 액세스 승인 서버(103)를 통해 대응하는 데이터에 대한 액세스를 요청하는 경우, 액세스 승인 서버(103)는 먼저 승인 코드가 유효한지를 검증하고, 승인 코드가 유효한 경우에 제1 클라이언트(101) 및 제2 클라이언트(102)로부터 획득된 불완전한 키(키의 제1 부분 및 제2 부분)를 사용하여 완전한 키를 획득할 수 있다. 제2 클라이언트(102)에 의해 제공된 불완전한 키가 유효하지 않으면, 정확한 완전한 키가 획득될 수 없고, 암호화된 데이터는 성공적으로 복호될 수 없어서, 데이터의 보안을 보장할 수 있다. 이러한 실시예에서, 제2 클라이언트(102) 및 액세스 승인 서버(103)는 각각 키의 일부를 보유하며, 이들 중 어느 누구도 암호화된 데이터에 액세스할 권리를 가질 수 없다. 완전한 키는 제2 클라이언트(102) 및 액세스 승인 서버(103)에 의해 보유된 키 정보가 결합되는 경우에만 획득될 수 있으므로, 데이터 보안 및 사용자 프라이버시를 보장할 수 있다. 이러한 방식으로, 정보 공유 시스템(104)에 저장된 암호화된 데이터에 대해, 그리고 사용자가 공개하기를 원하지 않는 경우, 제1 클라이언트(101)는 액세스 승인 서버(103)를 통해 일부 제2 클라이언트(102)가 암호화된 데이터의 평문을 액세스할 수 있는 권한을 부여할 수 있으므로, 정보 공유와 프라이버시 보호 사이의 균형을 달성하고 더 나은 정보 공유 메커니즘을 제공할 수 있다.By using the method provided in the above embodiment, the
전술한 실시예는 블록체인의 데이터 공유 시나리오에 적용될 수 있다. 액세스 승인 서버(103)는 개인 데이터의 인증된 보기 서비스를 제공할 수 있으며, 이는 정보 공유 시스템에서 블록체인을 위해 제공되는 데이터 프라이버시 보호를 위한 선택적 서비스일 수 있다. 이 서비스는 정보 공유 블록체인 및 디지털 자산 블록체인과 같은 시나리오에 적용되어 사용자가 공개하고 싶지 않은 데이터를 보호하고 일부 사용자가 독립적인 승인을 통해 데이터를 볼 수 있도록 할 수 있다. 블록체인은 공유의 원칙을 기반으로 하므로, 모든 사용자가 블록체인의 데이터를 자유롭게 볼 수 있다. 여기서, 사용자가 승인되었는지의 여부에 관계없이 사용자는 자유롭게 데이터를 볼 수 있다. 그러나, 액세스 승인 서버(103)를 통해 보여지는 데이터만이 복호된 평문 데이터일 수 있다. 사용자가 블록체인에서 데이터를 직접 보는 경우, 사용자는 암호화된 데이터를 획득하고 평문 데이터를 획득할 수 없다.The above embodiment can be applied to a data sharing scenario of the blockchain. The
일부 실시예에서, 단계 204를 다시 참조하면, 제1 클라이언트(101)는 승인 코드를 수신한 후 암호화된 데이터의 액세스 토큰 또는 데이터 보기 토큰을 추가로 생성할 수 있다. 액세스 토큰은 승인 코드 및 키의 제2 부분을 포함할 수 있다. 단계 205에서, 승인 코드 및 키의 제2 부분을 제2 클라이언트(102)에게 전송하는 단계는 구체적으로, 제2 클라이언트(102)가 액세스 요청에 액세스 토큰을 추가할 수 있도록 액세스 토큰을 제2 클라이언트(102)에게 전송하는 단계를 포함할 수 있다. 이와 같이, 제1 클라이언트(101)는 승인 코드 및 키의 제2 부분을 제2 클라이언트(102)에게 전송할 수 있다. 여기서, 승인 코드 및 키는 숫자 및/또는 문자로 형성된 문자열일 수 있다. 유사하게, 승인 코드 및 키의 제2 부분에 의해 형성된 액세스 토큰은 숫자 및/또는 문자에 의해 형성된 문자열일 수 있다. 이러한 실시예에서, 제1 클라이언트(101)는 대응하는 사용자에게 제1 클라이언트(101)에 의해 업로드된 암호화된 데이터에 액세스할 수 있는 권한을 부여하기 위해 제2 클라이언트(102)에게 토큰을 발행할 수 있다. 게다가, 발행된 토큰은 완전한 키를 갖지 않을 수 있다. 데이터를 복호하기 위한 완전한 키를 획득하기 위해 액세스 승인 서버(103)에 액세스하기 위해 검증이 추가로 필요할 수 있으며, 따라서 데이터 보안을 효과적으로 보장할 수 있다.In some embodiments, referring back to step 204, the
일부 실시예에서, 단계 202를 다시 참조하면, 암호화된 데이터가 정보 공유 시스템(104)에 업로드되는 경우, 제1 클라이언트(101)는 암호화된 데이터의 보유자의 파일 식별자를 추가로 업로드할 수 있으며, 정보 공유 시스템(104)이 암호화된 데이터를 보유자의 파일 식별자 및 사용자 식별자와 연관시킬 수 있도록 이는 일반적으로 현재 제1 클라이언트(101)를 사용하는 사용자의 식별자이다. 따라서, 액세스 승인 서버(103)는 보유자의 파일 식별자 및 사용자 식별자에 따라 정보 공유 시스템(104)으로부터 암호화된 데이터를 획득할 수 있다. 여기서, 암호화된 데이터가 업로드되는 경우, 보유자의 파일 식별자 및 사용자 식별자는 동시에 정보 공유 시스템(104)에 업로드될 수 있다. 정보 공유 시스템(104)은 암호화된 데이터를 저장할 때 암호화된 데이터를 보유자의 파일 식별자 및 사용자 식별자와 함께 연관시킬 수 있다. 정보 공유 시스템(104)에서 암호화된 데이터를 쿼리하는 경우, 액세스 승인 서버(103)는 보유자의 파일 식별자 및 사용자 식별자를 쿼리 요청에 추가할 수 있다. 이러한 방식으로, 정보 공유 서버(104)는 보유자의 파일 식별자 및 사용자 식별자와 연관된 암호화된 데이터를 결정하고, 암호화된 데이터를 액세스 승인 서버(103)로 리턴할 수 있다.In some embodiments, referring back to step 202, when encrypted data is uploaded to the
일부 실시예들에서, 단계 203을 다시 참조하면, 키의 제1 부분이 액세스 승인 서버(104)에 업로드되는 경우, 제1 클라이언트(101)는 보유자의 파일 식별자 및 사용자 식별자를 추가로 업로드하여, 액세스 승인 서버(103)가 보유자의 사용자 식별자에 대응하는 규칙에 따라 승인 코드를 생성하고, 승인 코드를 키의 제1 부분, 파일 식별자 및 보유자의 사용자 식별자와 연관시킬 수 있다. 액세스 요청을 수신하는 경우, 액세스 승인 서버(103)는 액세스 요청에서 운반되는 보유자의 파일 식별자 및 사용자 식별자에 따라 연관된 승인 코드 및 키의 제1 부분(액세스 승인 서버(103)에서 로컬로 유지되는 암호화된 데이터에 대응하는 승인 코드 및 키의 제1 부분일 수 있음)을 획득할 수 있어서, 액세스 요청에서 운반되는 승인 코드가 획득된 승인 코드에 따라 유효한지 여부를 결정하고, 획득된 키의 제1 부분 및 액세스 요청에서 운반되는 제2 부분에 따라 키를 생성할 수 있다.In some embodiments, referring back to step 203, when the first portion of the key is uploaded to the
일부 실시예들에서, 다양한 사용자들에 대한 승인 코드 생성 규칙은 액세스 승인 서버(103)에서 미리 구성될 수 있다. 그 규칙은 생성된 승인 코드, 생성된 승인 코드의 만료 시간 등에 대응하여 액세스가 허용된 데이터 주소를 지정할 수 있다. 데이터 주소는 블록체인의 블록 높이, URL(Universal Resource Locator) 주소 등일 수 있다. 일부 실시예들에서, 단계 203에서, 제1 클라이언트(101)가 키의 제1 부분을 업로드하는 경우, 액세스 승인 서버(104)는 암호화된 데이터의 보유자의 동시 업로드된 사용자 식별자에 따라, 승인 코드를 생성하기 위한 규칙을 결정할 수 있다. 이와 같이, 액세스 요청을 수신하는 경우, 액세스 승인 서버(103)는 현재 액세스 요청된 암호화된 데이터에 대응하여 승인 코드, 즉 보유자의 파일 식별자 및 사용자 식별자와 연관된 승인 코드를 로컬에서 발견할 수 있다. 액세스 요청에서 운반되는 승인 코드가 로컬에서 발견된 승인 코드와 동일하면, 액세스 요청에서 운반되는 승인 코드가 유효한 것으로 지시한다. 또한, 승인 코드가 만료되었는지 여부(예를 들어, 만료 시간이 도달되었는지 또는 승인 코드가 유효 날짜 내에 있는지 여부)가 검증될 수 있고 그리고/또는 현재 액세스 요청된 암호화된 데이터의 주소가 승인 코드에 대응하여 액세스 허용된 데이터 주소에 속하는지의 여부가 검증될 수 있다. 예를 들어, 블록체인 시나리오에서, 현재 보기가 요청된 데이터의 블록 높이가 승인 코드에 대응하여 액세스될 수 있는 블록 높이인지 여부가 검증될 수 있다. 다른 예로서, 사진 공유 시나리오에서, 현재 보기가 요청된 앨범 폴더가 승인 코드에 대응하여 액세스될 수 있는 폴더인지 여부가 검증될 수 있다. 검증이 성공하는 경우, 승인 코드가 유효한 것으로 결정될 수 있다. 블록체인 시나리오의 일부 실시예에서, 제2 클라이언트(102)에 의해 전송된 액세스 요청은 보여질 데이터의 파일 식별자를 운반할 수 있다. 액세스 승인 서버(103)는 파일 식별자에 따라 데이터가 위치한 블록 높이를 결정할 수 있으므로, 결정된 데이터의 블록 높이가 승인 코드에 대응하여 액세스될 수 있는 블록 높이인지의 여부를 검증할 수 있다. 일부 다른 실시예들에서, 제2 클라이언트(102)에 의해 전송된 액세스 요청은 데이터의 블록 높이를 직접 운반할 수 있고, 액세스 승인 서버(103)는 액세스 요청에서 운반된 블록 높이가 승인 코드에 대응하여 액세스 가능한 블록 높이인지의 여부를 검증할 수 있다.In some embodiments, authorization code generation rules for various users may be preconfigured at the
승인 코드가 유효한 것으로 결정되는 경우, 보유자의 파일 식별자 및 사용자 식별자와 연관된 키의 획득된 제1 부분은 완전한 키를 형성하기 위해 액세스 요청에서 운반된 키의 제2 부분과 조합될 수 있다. 이러한 조합 방법은 단순히 두 부분을 연결하는 것일 수 있다.If the authorization code is determined to be valid, the obtained first portion of the key associated with the holder's file identifier and the user identifier may be combined with the second portion of the key carried in the access request to form a complete key. This combination method may simply be connecting two parts.
일부 실시예에서, 단계 204에서, 제1 클라이언트(101)가 승인 코드를 수신하는 경우, 승인 코드 및 키의 제2 부분을 포함할 수 있는 암호화된 데이터의 액세스 토큰이 추가로 생성될 수 있고, 액세스 토큰은 파일 식별자와 연관될 수 있다. 단계 205에서, 승인 코드 및 키의 제2 부분을 제2 클라이언트(102)에게 전송하는 단계는, 제2 클라이언트(102)가 액세스 토큰을 액세스 요청에 추가할 수 있도록 파일 식별자와 연관된 액세스 토큰을 제2 클라이언트(102)에게 전송하는 단계를 더 포함할 수 있다.In some embodiments, in
구체적으로, 제1 클라이언트(101)는 하나 이상의 액세스 토큰을 유지한다. 제1 클라이언트(101)에 의해 업로드된 각각의 데이터는 액세스 토큰에 대응할 수 있다. 즉, 각각의 파일 식별자는 액세스 토큰과 연관될 수 있다. 이와 같이, 제2 클라이언트(102)가 제1 클라이언트(101)로부터 데이터 액세스 승인을 요청하는 경우, 제1 클라이언트(101)가 승인에 허가하는 것에 동의하면, 제1 클라이언트(101)는 대응하는 액세스 토큰을 결정하고, 액세스 토큰을 제2 클라이언트(102)에게 발행할 수 있다. 제2 클라이언트(102)는 특정 데이터, 또는 특정 조건을 만족하는 데이터 세트 또는 모든 데이터에 대한 액세스 승인을 요청할 수 있다. 제1 클라이언트(101)는 대응하는 하나 이상의 액세스 토큰을 제2 클라이언트(102)에게 전송할 수 있다.Specifically, the
일부 실시예들에서, 단계 204 후에, 방법은, 제1 클라이언트(101)가, 액세스 승인 서버(103)가 승인 코드를 무효화할 수 있도록, 승인 코드에 대한 취소 요청을 액세스 승인 서버(103)에게 전송하는 단계를 더 포함할 수 있다. 동시에, 제1 클라이언트(101)는 또한 로컬 승인 코드를 무효화할 수 있다. 승인 코드에 대한 취소 요청은 대응하는 파일 식별자를 운반할 수 있다. 액세스 승인 서버(103)는 파일 식별자에 따라 대응하는 승인 코드를 결정할 수 있으므로, 승인 코드를 무효화할 수 있다. 예를 들어, 승인 코드의 상태를 무효 상태로 설정하거나 승인 코드를 클리어할 수 있다. 액세스 승인 서버(103)는 승인 코드를 무효화한 후 제1 클라이언트(101)에게 응답을 리턴할 수 있다. 제1 클라이언트(101)는 응답을 수신하는 경우 로컬 승인 코드를 무효화함으로써, 승인 코드를 취소하는 전체 프로세스를 완료할 수 있다.In some embodiments, after
이러한 방식으로, 제1 클라이언트(101)는 액세스 승인 서버(103)가 업로드된 데이터에 대한 승인 코드를 생성할 수 있게 할 뿐만 아니라, 액세스 승인 서버(103)에게 승인 코드를 취소하도록 요청할 수도 있다. 승인 코드가 취소된 후, 제2 클라이언트(102)가 데이터 액세스를 요청할 때 승인 코드 또는 승인 코드를 포함하는 액세스 토큰을 사용하면, 승인 코드는 유효하지 않은 것으로 검증될 수 있다. 따라서, 액세스 요청이 거절될 수 있고, 제2 클라이언트(102)는 데이터를 액세스할 수 없거나, 또는 암호화된 데이터만을 획득할 수 있지만, 그러나 복호된 평문 데이터를 획득할 수는 없다. 따라서, 데이터 액세스를 위한 동적 인증 방식이 형성될 수 있다. 데이터를 공유하는 사용자는 필요에 따라 대응하는 승인 코드를 취소할 수 있으므로, 원래 승인 코드를 획득하여 데이터를 액세스할 수 있는 사용자가 더 이상 데이터를 액세스할 수 없다.In this manner, the
일부 실시예에서, 암호화된 데이터에 대한 승인 코드가 취소된 후, 액세스 승인 서버(103)가 암호화된 데이터에 대응하는 새로운 승인 코드를 생성할 수 있도록 제1 클라이언트(101)가 암호화된 데이터에 대한 승인 코드 생성 요청을 액세스 승인 서버(103)에게 추가로 전송하고, 그 후 제1 클라이언트(101)는 액세스 승인 서버(103)로부터 암호화된 데이터에 대응하는 새로운 승인 코드를 수신할 수 있다. 이와 같이, 이전에 인증된 사용자가 암호화된 데이터의 평문에 액세스할 수 없도록 사용자가 언제든지 승인 코드를 취소할 수 있을 뿐만 아니라 사용자가 암호화된 데이터의 평문을 액세스하도록 재승인하기 위해 새로운 승인 코드를 생성하도록 요청할 수 있으므로, 유연한 데이터 액세스 승인을 구현할 수 있다.In some embodiments, after the authorization code for the encrypted data is revoked, the
일부 실시예들에서, 승인 코드를 획득한 후, 제1 클라이언트(101)는 액세스 승인 서버(103)에게 승인 코드를 업데이트하도록 추가로 요청할 수 있다. 여기서, 제1 클라이언트(101)에 의해 획득된 승인 코드는 아직 삭제되지 않았거나 사용되지 않았다. 액세스 승인 서버(103)가 암호화된 데이터에 대응하는 새로운 승인 코드를 생성하고 이전 승인 코드를 새로운 승인 코드로 대체할 수 있도록 제1 클라이언트(101)는 암호화된 데이터에 대한 승인 코드 업데이트 요청을 액세스 승인 서버(103)에게 전송할 수 있다. 이어서, 제1 클라이언트(101)는 액세스 승인 서버(103)로부터 새로운 승인 코드를 수신하고, 이전의 승인 코드를 새로운 승인 코드로 대체한다. 이러한 승인 코드 업데이트 프로세스를 통해, 이전에 인증된 사용자가 암호화된 데이터의 평문에 액세스할 수 없도록 제1 클라이언트(101)는 이전의 승인 코드를 취소할 수 있다. 또한, 제1 클라이언트(101)는 새로운 사용자 승인 코드를 획득하여 추가 사용자를 승인하거나 동일한 사용자를 다시 승인할 수 있다.In some embodiments, after obtaining the authorization code, the
일부 실시예들에서, 전술한 승인 코드 취소 요청, 승인 코드 생성 요청 및 승인 코드 업데이트 요청이 공존할 수 있고, 사용자는 승인 코드를 취소하거나, 새로운 승인 코드를 생성하거나 또는 필요에 따라 승인 코드를 업데이트하도록 선택할 수 있으므로, 향상된 동적 승인 해결수단을 구현할 수 있다.In some embodiments, the foregoing authorization code cancellation request, authorization code generation request, and authorization code update request can coexist, and the user cancels the authorization code, generates a new authorization code, or updates the authorization code as needed. Can be implemented to implement enhanced dynamic authorization resolution.
실시예에 따르면, 액세스 승인 서버(103)에 의해 수행될 수 있는 데이터 공유 방법이 제공된다. 이 방법은 다음의 단계를 포함할 수 있다.According to an embodiment, a data sharing method is provided that can be performed by the
단계 301에서, 방법은 제1 클라이언트(101)로부터 제1 키의 제1 부분을 수신하는 단계를 포함할 수 있고, 제1 키는 정보 공유 시스템(104)의 블록에 업로드된 암호화된 데이터에 대응하며, 암호화된 데이터는 제1 키에 따라 평문 데이터를 암호화함에 의해 획득되고, 정보 공유 시스템은 블록체인 시스템이다.At
단계 302에서, 방법은 암호화된 데이터에 대응하는 제1 승인 코드를 생성하는 단계를 포함할 수 있다.At
단계 303에서, 방법은, 제2 클라이언트(102)가 암호화된 데이터에 액세스하는 경우에 제1 승인 코드 및 제1 키의 제2 부분을 액세스 요청에 추가할 수 있도록, 암호화된 데이터에 액세스하도록 제2 클라이언트(102)를 승인하는 경우에 제1 클라이언트(101)가 제1 승인 코드 및 제1 키의 제2 부분을 제2 클라이언트(102)에게 전송할 수 있도록 제1 클라이언트(101)에게 제2 승인 코드를 전송하는 단계를 포함할 수 있으며, 제1 키의 제2 부분은 제1 부분을 제외한 제1 키의 나머지 부분을 포함한다. In
단계 304에서, 방법은, 전술한 승인된 제2 클라이언트(102) 또는 암호화된 데이터에 대한 다른 비 승인된 클라이언트일 수 있는 임의의 클라이언트로부터 액세스 요청의 수신에 응답하여 다음의 단계들을 수행하는 단계를 포함할 수 있다.In
단계 305에서, 방법은, 액세스 요청으로부터 제2 승인 코드 및 불완전한 키를 획득하는 단계를 포함할 수 있다.At
단계 306에서, 방법은, 제2 승인 코드가 제1 승인 코드와 동일하고 제2 승인 코드와 유효한 경우에 암호화된 데이터에 대응하는 불완전한 키 및 제1 키의 제1 부분에 따라 제2 키를 생성하는 단계를 포함할 수 있으며, 생성된 제2 키는 불완전한 키가 제1 키의 제2 부분과 동일한 경우 제1 키와 동일하다.In
단계 307에서, 방법은 정보 공유 시스템(104)의 블록으로부터 암호화된 데이터를 획득하고, 제2 키에 따라 암호화된 데이터를 복호하는 단계를 포함할 수 있으며, 평문 데이터는 복호화를 통해 획득되고 제2 키가 제1 키와 동일한 경우 액세스 요청을 전송하는 클라이언트에게 전송된다.In
전술한 실시예에서 제공된 방법을 사용함으로써, 제1 클라이언트(101)는 키 및 승인 코드를 보유할 수 있고, 액세스 승인 서버(103)는 승인 코드 및 키의 제1 부분을 보유할 수 있다. 승인되는 경우, 제2 클라이언트(102)는 키의 제2 부분 및 승인 코드를 보유 할 수 있다. 이와 같이, (승인된 제2 클라이언트(102) 또는 다른 클라이언트일 수 있는) 다른 클라이언트가 액세스 승인 서버(103)를 통해 대응하는 데이터에 액세스하도록 요청하는 경우, 액세스 승인 서버(103)는 먼저 승인 코드가 유효한지 여부를 검증할 수 있다. 그 후, 승인 코드가 유효한 경우, 제1 클라이언트(101) 및 다른 클라이언트로부터 각각 획득된 불완전한 키(키의 제1 부분 및 제2 부분)를 사용하여 완전한 키가 획득될 수 있다. 다른 클라이언트에 의해 제공된 불완전한 키가 유효하지 않으면, 정확한 완료 키가 획득될 수 없으며, 암호화된 데이터가 성공적으로 복호될 수 없으므로, 데이터 보안을 보장할 수 있다. 이러한 해결수단에서, 승인된 제2 클라이언트(102) 및 액세스 승인 서버(103)는 각각 키의 일부를 보유하며, 이들 중 어느 것도 암호화된 데이터에 액세스할 권리를 갖지 않는다. 완전한 키는 승인된 제2 클라이언트(102)와 액세스 승인 서버(103)에 의해 보유된 키 정보가 조합되는 경우에만 획득될 수 있으므로, 데이터 보안 및 데이터 프라이버시를 효과적으로 보장할 수 있다. 이러한 방식으로, 정보 공유 시스템(104)에 저장된 암호화된 데이터에 대해 사용자가 암호화된 데이터를 공개하고 싶지 않은 경우, 제1 클라이언트(101)는 액세스 승인 서버(103)를 통해 일부 제2 클라이언트(102)가 암호화된 데이터의 평문에 액세스하도록 승인할 수 있으므로, 정보 공유와 프라이버시 보호 사이의 균형을 달성하고, 더 나은 정보 공유 메커니즘을 제공할 수 있다.By using the method provided in the above embodiment, the
일부 실시예들에서, 단계 305에서, 액세스 요청으로부터 제2 승인 코드 및 불완전한 키를 획득하는 단계는 액세스 요청으로부터 암호화된 데이터의 액세스 토큰을 획득하는 단계, 및 액세스 토큰으로부터 제2 승인 코드 및 불완전한 키를 획득하는 단계를 더 포함할 수 있다. In some embodiments, in
일부 실시예들에서, 단계 301에서, 제1 클라이언트로부터 키의 제1 부분을 수신하는 경우, 액세스 승인 서버(103)는 암호화된 데이터의 보유자의 파일 식별자 및 사용자 식별자를 더 수신할 수 있다. 단계 302에서, 암호화된 데이터에 대응하는 제1 승인 코드를 생성하는 단계는 보유자의 사용자 식별자에 대응하는 규칙에 따라 승인 코드를 생성하고, 승인 코드를 키의 제1 부분, 파일 식별자 및 보유자의 사용자 식별자와 연관시키는 단계, 및 액세스 요청의 수신에 응답하여, 액세스 요청에서 운반되는 보유자의 파일 식별자 및 사용자 식별자에 따라 연관된 승인 코드 및 키의 제1 부분을 획득하는 단계를 더 포함할 수 있다. In some embodiments, in
일부 실시예들에서, 블록은 블록 높이에 대응할 수 있다. 단계 302에서, 생성된 제1 승인 코드는 액세스가 허용된 블록 높이 및/또는 만료 시간에 대응할 수 있다. 단계 306에서, 제2 승인 코드가 제1 승인 코드와 동일한 경우에 제2 승인 코드에 대응하는 액세스가 허용되는 블록 높이 및/또는 만료 시간이 획득될 수 있다. 액세스 요청에 대응하는 암호화된 데이터의 블록 높이가 제2 승인 코드에 대응하여 액세스 허용된 블록 높이와 일치하는 경우 및/또는 제2 승인 코드의 만료시간이 아직 도달하지 않은 경우에 제2 승인 코드가 유효한 것으로 결정될 수 있다.In some embodiments, the block may correspond to the block height. In
일부 실시예들에서, 방법은, 승인 코드에 대한 제1 클라이언트(101)로부터의 취소 요청에 응답하여 승인 코드를 무효화하는 단계를 더 포함할 수 있다. 액세스 승인 서버(103)는 승인 코드를 무효화한 후 제1 클라이언트(101)에게 응답을 리턴할 수 있다. 응답을 수신하는 경우, 제1 클라이언트(101)는 로컬 승인 코드를 무효화함으로써, 승인 코드를 취소하는 전체 프로세스를 완료할 수 있다. 따라서, 사용자는 필요에 따라 일부 데이터에 대한 승인 코드를 취소하여, 일부 사용자와의 데이터 공유를 취소할 수 있다. 예를 들어, 제2 클라이언트(102)는 미리 데이터에 대한 승인 코드를 획득할 수 있고, 승인 코드가 만료되면, 제2 클라이언트(102)가 승인 코드를 사용하여 데이터에 다시 액세스하도록 요청하는 경우에 승인 코드가 유효하지 않은 것으로 검증될 수 있다. 따라서, 제2 클라이언트(102)는 데이터를 액세스할 수 없다.In some embodiments, the method may further include invalidating the authorization code in response to a cancellation request from the
일부 실시예들에서, 방법은, 암호화된 데이터에 대해 클라이언트(101)로부터의 승인 코드 생성 요청에 응답하여 암호화된 데이터에 대응하는 새로운 승인 코드를 생성하는 단계; 및 암호화된 데이터에 대응하는 새로운 승인 코드를 제1 클라이언트(101)에게 전송하는 단계를 더 포함할 수 있다. 이러한 방식으로, 데이터에 대한 승인 코드를 취소한 후, 사용자는 새로운 승인 코드를 추가로 요청하여, 일부 사용자가 데이터에 액세스하도록 재승인할 수 있으므로, 유연한 데이터 액세스 승인을 제공할 수 있다.In some embodiments, the method includes generating a new authorization code corresponding to the encrypted data in response to the authorization code generation request from the
일부 실시예들에서, 방법은, 암호화된 데이터에 대해 제1 클라이언트(101)로부터의 승인 코드 업데이트 요청에 응답하여 암호화된 데이터에 대응하는 새로운 승인 코드를 생성하고, 이전의 제1 승인 코드를 새로운 인증으로 대체하는 단계, 및 제1 클라이언트(101)가 이전의 제1 승인 코드를 새로운 승인 코드로 대체할 수 있도록 암호화된 데이터에 대응하는 새로운 승인 코드를 제1 클라이언트(101)에게 전송하는 단계를 더 포함할 수 있다.In some embodiments, the method generates a new authorization code corresponding to the encrypted data in response to the authorization code update request from the
도 4는 실시예에 따른 메시지 상호 작용 프로세스를 도시한다. 도 4에 도시된 바와 같이, 프로세스는 적어도 4개의 엔티티, 즉 제1 클라이언트(101), 제2 클라이언트(102), 액세스 승인 서버(103) 및 정보 공유 시스템(104)와 관련되며, 다음 처리 단계를 포함할 수 있다.4 illustrates a message interaction process according to an embodiment. As shown in FIG. 4, the process involves at least four entities, namely a
단계 401에서, 제1 클라이언트(101)는 암호화 키를 보유하고, 암호화된 데이터를 획득하기 위해 정보 공유 시스템(104)에게 업로드될 데이터를 암호화할 수 있다. In step 401, the
제1 클라이언트(101)는 암호화된 데이터를 정보 공유 시스템(104)에게 업로드할 수 있다. 암호화된 데이터의 업로드 동안, 암호화된 데이터의 보유자의 사용자 식별자 및 암호화된 데이터와 연관된 파일 식별자가 정보 공유 시스템(104)으로 추가로 전송될 수 있다. 예를 들어, 제1 클라이언트(101)는 데이터 업로드 요청을 정보 공유 시스템(104)으로 전송할 수 있으며, 여기서 요청은 보유자의 사용자 식별자, 파일 식별자 및 암호화된 데이터를 운반한다. 보유자의 사용자 식별자는 제1 클라이언트(101)의 현재 로그인 사용자의 식별자, 예를 들어 QQ 번호, 클라우드 디스크 계정 또는 블록체인 시스템의 계정일 수 있다. 파일 식별자는 암호화된 데이터를 식별하기 위해 사용될 수 있다.The
정보 공유 시스템(104)은 제1 클라이언트(101)에 의해 업로드된 암호화된 데이터를 저장하고, 보유자의 사용자 식별자에 대응하는 디렉토리에 암호화된 데이터를 저장하고, 파일 식별자를 사용하여 암호화된 데이터를 식별하기 위해 암호화된 데이터를 보유자의 사용자 식별자 및 파일 식별자와 연관시킬 수 있다.The
도 5에 도시된 시나리오에서, 제1 클라이언트(101)는 네트워크 디스크 클라이언트이고, 정보 공유 시스템(104)은 클라우드에서의 네트워크 디스크 서버이거나, 또는 클라우드 디스크 서버로서 지칭될 수 있다. 사용자는 네트워크 디스크 클라이언트를 사용하여 사진 및 비디오와 같은 파일을 업로드할 수 있다. 예를 들어, 사용자는 컨트롤(501)을 클릭하여 사진을 업로드하고, 컨트롤(502)을 클릭하여 비디오를 업로드할 수 있다. 사용자가 업로드된 사진 및 비디오의 프라이버시를 보장하기를 원하면, 네트워크 디스크 클라이언트는 데이터를 암호화하도록 구성될 수 있다. 이러한 방식으로, 네트워크 디스크 클라이언트는 단계 401에서 암호화 처리를 수행할 수 있다.In the scenario shown in FIG. 5, the
단계 402에서, 제1 클라이언트(101)는 단계 401에서의 암호화에 사용된 키의 전반부(키의 전반부로 지칭될 수 있음)를 액세스 승인 서버(103)에 업로드할 수 있고, 암호화된 데이터와 연관된 보유자의 사용자 식별자를 액세스 승인 서버에게 추가로 전송할 수 있다. 예를 들어, 제1 클라이언트(101)는 키 업로드 요청을 액세스 승인 서버(103)에게 전송할 수 있으며, 여기서 요청은 암호화된 데이터의 보유자의 사용자 식별자 및 키의 전반부를 운반한다.In step 402, the
액세스 승인 서버(103)는 보유자의 사용자 식별자에 대응하는 규칙에 따라 승인 코드를 생성하고, 승인 코드를 키의 전반부 및 보유자의 사용자 식별자와 연관시키며, 승인 코드를 제1 클라이언트(101)에게 리턴할 수 있다. The
단계 403에서, 제1 클라이언트(101)는 단계 401에서 암호화에 사용된 키의 후반부(키의 후반부로 지칭될 수 있음)와 수신된 승인 코드를 조합하여 데이터 보기 토큰을 형성하고, 데이터 보기 토큰을 암호화된 데이터의 파일 식별자와 연관시킬 수 있다. In step 403, the
암호화된 데이터의 평문 데이터를 볼 수 있도록 제2 클라이언트(102)에게 승인하는 경우, 제1 클라이언트(101)는 데이터 보기 토큰을 제2 클라이언트(102)에 제공할 수 있다. 예를 들어, 제2 클라이언트(102)는 제1 클라이언트(101)로부터 데이터에 대한 보기 승인을 요청할 수 있고, 타깃 파일 정보를 운반하는 승인 요청을 제1 클라이언트(101)에게 전송할 수 있다. 제1 클라이언트(101)는 타깃 파일 정보에 따라 제2 클라이언트(102)가 보고자하는 데이터 세트에 대응하는 파일 식별자 세트를 결정할 수 있다. 타깃 파일 정보는 파일 식별자를 포함할 수 있거나, 또는 폴더의 식별자, 디렉토리 주소 등일 수 있다. 제1 클라이언트(101)는 대응하는 파일 식별자 세트를 결정하고, 파일 식별자 세트에 따라 연관된 데이터 보기 토큰을 추가로 결정할 수 있다. 여기서, 하나의 파일 식별자 세트(하나 이상의 파일 식별자를 포함할 수 있음)는 하나의 데이터 보기 토큰과 연관될 수 있으며, 이는 제1 클라이언트(101)가 제2 클라이언트(102)에게 파일 세트를 배치로 볼 수 있도록 승인한다는 것을 나타낸다. 하나의 파일 식별자 세트는 또한 다수의 데이터 보기 토큰과 연관될 수 있으며, 여기서 다른 파일 식별자는 다른 데이터 보기 토큰과 연관될 수 있고, 제1 클라이언트(101)가 제2 클라이언트(102)에게 각각의 파일에 대응하는 각각의 데이터 보기 토큰을 제공할 수 있음을 나타낸다.Upon authorizing the
단계 404에서, 제2 클라이언트(102)는 데이터 보기 토큰을 보유한 후 보기 요청을 액세스 승인 서버(103)에게 전송할 수 있으며, 여기서 요청은 암호화된 데이터의 보유자의 사용자 식별자, 파일 식별자 및 데이터 보기 토큰을 운반한다.In step 404, the
도 6에 도시된 시나리오에서, 제2 클라이언트(102)는 블록체인 페이지를 방문하기 위한 브라우저일 수 있다. 정보 공유 시스템(104)은 블록체인 시스템일 수 있다. 사용자는 블록체인 페이지를 방문하여 다른 정보를 볼 수 있다. 일부 정보는 개인용으로 설정될 수 있으며, 사용자는 사용자가 데이터 보기 토큰을 가지고 있는 경우에만 평문을 볼 수 있다. 예를 들어, 사용자는 컨트롤(601)을 클릭할 수 있고, 그 후 단계(404)는 보기 요청을 전송하기 위해 수행될 수 있다. 보기 요청에서 운반되는 데이터 보기 토큰이 정확한 유효한 승인 코드 및 정확한 키의 후반부를 포함하는 경우, 브라우저는 "세부 사항" 옵션에 대응하는 평문 데이터의 두 번째 페이지를 디스플레이할 수 있다.In the scenario shown in FIG. 6, the
단계 405에서, 액세스 승인 서버(103)는 수신된 보기 요청으로부터 데이터 보기 토큰, 보유자의 사용자 식별자 및 파일 식별자를 추출하고, 데이터 보기 토큰으로부터 승인 코드를 추출하며, 승인 코드가 유효한 지의 여부를 결정할 수 있다. 여기서, 승인 코드가 액세스 승인 서버(103)에 의해 유효한지 여부를 결정하는 작동은 두 가지 측면을 포함한다. 제1 측면에서, 데이터 보기 토큰으로부터 추출된 승인 코드가 보유자의 사용자 식별자와 연관된 로컬에 저장된 승인 코드와 동일한 지 여부가 결정되고, 데이터 보기 토큰으로부터 추출된 승인 코드가 로컬에서 발견된 승인 코드와 동일하면, 데이터 보기 토큰에서 운반된 승인 코드가 유효한 것으로 지시한다. 제2 측면에서, 2개의 승인 코드가 동일한 것으로 결정되면, 승인 코드가 만료되었는지 여부, 예를 들어, 승인 코드의 만료 시간이 도달했는지 또는 승인 코드가 여전히 유효 날짜 내에 존재하는지 여부가 추가로 검증되고, 그리고/또는 현재 액세스 요청된 암호화된 데이터의 주소가 승인 코드에 대응하여 액세스 허용된 데이터 주소에 속하는지 여부가 검증된다.In step 405, the
승인 코드가 유효한 것으로 결정되면, 액세스 승인 서버(103)는 승인 코드와 연관된 키의 전반부를 획득하고, 데이터 보기 토큰으로부터 키의 후반부를 추출하며, 완전한 키를 형성하기 위해 키의 전반부와 키의 후반부를 조합한다.If the authorization code is determined to be valid, the
액세스 승인 서버(103)는 정보 공유 시스템(104)에 쿼리 요청을 추가로 전송할 수 있으며, 여기서 정보 공유 서버(104)가 보유자의 식별자 및 파일 식별자에 따라 연관된 암호화된 데이터를 찾고, 액세스 승인 서버(103)에게 암호화된 데이터를 리턴할 수 있도록, 요청은 보유자의 사용자 식별자 및 파일 식별자를 운반한다. The
단계 406에서, 액세스 승인 서버(103)는 단계 405에서 획득된 완전한 키를 사용하여 암호화된 데이터를 복호할 수 있다. 데이터 보기 토큰으로부터 추출된 키의 후반부가 정확하면, 단계 405에서 정확한 완전한 키가 획득될 수 있다. 이러한 단계에서, 복호된 데이터(즉, 평문 데이터)는 복호화를 통해 성공적으로 획득될 수 있고, 복호된 데이터는 제2 클라이언트(102)에게 전송될 수 있다. 데이터 보기 토큰으로부터 추출된 키의 후반부가 부정확하면, 단계 405에서 획득된 키가 부정확하고, 복호가 수행될 수 없다. 이 경우, 오류가 제2 클라이언트(102)에게 보고될 수 있거나, 또는 암호화된 데이터가 제2 클라이언트(102)에게 직접 리턴될 수 있다. 즉, 제2 클라이언트(102)는 평문 데이터를 성공적으로 볼 수 없으므로, 제1 클라이언트(101)에 의해 업로드된 데이터의 보안을 보장할 수 있다.In step 406, the
전술한 단계들 중 어느 하나라도 실패하는 경우, 프로세스는 직접 종료될 수 있다.If any of the above steps fail, the process can be terminated directly.
전술한 방법에 기초하여, 본 개시의 실시예는 전술한 방법을 구현할 수 있는 적어도 하나의 클라이언트(제1 클라이언트(101)일 수 있음)를 추가로 제공한다. 도 7에 도시된 바와 같이, 제1 클라이언트(700)는 다음과 같은 모듈, 즉 Based on the method described above, embodiments of the present disclosure further provide at least one client (which may be the first client 101) that may implement the method described above. As shown in FIG. 7, the first client 700 includes the following modules, that is,
암호화된 데이터를 획득하기 위해 키에 따라 평문 데이터를 암호화하도록 구성된 암호화 모듈(701);An encryption module 701, configured to encrypt the plain text data according to the key to obtain encrypted data;
암호화된 데이터를 정보 공유 시스템(104)의 블록에 업로드하고, 정보 공유 시스템(104)에 대응하는 액세스 승인 서버(103)에 키의 제1 부분을 업로드하도록 구성된 업로딩 모듈(702) ― 정보 공유 시스템은 블록체인 시스템임 ―; 및An uploading module 702 configured to upload the encrypted data to a block of the
액세스 승인 서버(103)로부터 암호화된 데이터에 대응하는 승인 코드를 수신하고, 사용자가 암호화된 데이터에 액세스하도록 승인되는 경우, 승인 코드 및 키의 제2 부분을 제2 클라이언트(102)에게 전송하도록 구성된 승인 모듈(703) ― 키의 제2 부분이 제1 부분을 제외한 키의 나머지 부분을 포함하고, 암호화된 데이터에 대한 액세스 요청을 액세스 승인 서버에게 전송하는 경우, 제2 클라이언트(102)가 승인 코드 및 키의 제2 부분을 액세스 요청에 추가함으로써, 승인 코드가 유효한 것으로 결정하는 경우에 액세스 승인 서버(103)가 키의 제1 부분 및 제2 부분에 따라 키를 생성하고, 평문 데이터를 획득하기 위해, 생성된 키에 따라 정보 공유 시스템(104)의 블록으로부터 획득된 암호화된 데이터를 복호하여 암호화된 데이터를 제2 클라이언트(102)에게 전송할 수 있 ―Receive an authorization code corresponding to the encrypted data from the
을 포함할 수 있다.It may include.
일부 실시예들에서, 승인 모듈(703)은 승인 코드 및 키의 제2 부분을 포함하는, 암호화된 데이터의 액세스 토큰을 생성하고, 제2 클라이언트(102)가 액세스 토큰을 액세스 요청에 추가할 수 있도록 액세스 토큰을 제2 클라이언트(102)에게 전송하도록 추가로 구성될 수 있다. In some embodiments,
일부 실시예들에서, 암호화된 데이터가 정보 공유 시스템(104)에 업로드되는 경우, 정보 공유 시스템(104)이 암호화된 데이터를 보유자의 파일 식별자 및 사용자 식별자와 연관시킬 수 있도록 업로딩 모듈(702)은 암호화된 데이터의 파일 식별자 및 암호화된 데이터 보유자의 사용자 식별자를 추가로 업로드할 수 있다. 따라서, 액세스 승인 서버(103)는 보유자의 파일 식별자 및 사용자 식별자에 따라 정보 공유 시스템(104)으로부터 암호화된 데이터를 획득할 수 있다.In some embodiments, when encrypted data is uploaded to the
일부 실시예들에서, 키의 제1 부분이 액세스 승인 서버(103)에 업로드되는 경우, 액세스 승인 서버(103)가 보유자의 사용자 식별자에 대응하는 규칙에 따라 승인 코드를 생성할 수 있도록, 업로딩 모듈(702)은 보유자의 파일 식별자 및 사용자 식별자를 추가로 업로드할 수 있다. 액세스 권한 서버(103)는 생성된 승인 코드를 키의 제1 부분, 파일 식별자 및 보유자의 사용자 식별자와 연관시키고, 획득된 승인 코드에 따라, 액세스 요청에서 운반된 승인 코드가 유효한지의 여부를 결정하고, 키의 제1 부분 및 액세스 요청에서 운반된 키의 제2 부분에 따라 키를 생성하기 위해, 액세스 요청의 수신에 응답하여, 액세스 요청에서 운반된 제1 부분의 파일 식별자 및 사용자 식별자에 따라 연관된 승인 코드 및 키의 제1 부분을 획득할 수 있다. In some embodiments, the uploading module allows the
일부 실시예들에서, 승인 모듈(703)은 승인 코드 및 키의 제2 부분을 포함하는, 암호화된 데이터에 대한 액세스 토큰을 추가로 생성하고, 액세스 토큰을 파일 식별자와 연관시킬 수 있다. 승인 모듈(703)은 파일 식별자와 연관된 액세스 토큰을 제2 클라이언트(102)에게 전송할 수 있어서, 제2 클라이언트(102)는 액세스 토큰을 액세스 요청에 추가할 수 있다.In some embodiments,
일부 실시예들에서, 승인 모듈(703)은 승인 코드에 대한 취소 요청을 액세스 승인 서버(103)에게 추가로 전송하여, 액세스 승인 서버(103)가 승인 코드를 무효화할 수 있도록 한다. 승인 모듈(703)은 로컬 승인 코드를 추가로 무효화할 수 있다.In some embodiments,
일부 실시예들에서, 승인 모듈(703)은 암호화된 데이터에 대한 승인 코드 생성 요청을 액세스 승인 서버(103)에게 추가로 전송하여, 액세스 승인 서버(103)가 암호화된 데이터에 대응하는 새로운 승인 코드를 생성할 수 있도록 한다. 승인 모듈(703)은, 액세스 승인 서버(103)로부터, 암호화된 데이터에 대응하는 새로운 승인 코드를 추가로 수신할 수 있다.In some embodiments,
일부 실시예들에서, 승인 모듈(703)은 암호화된 데이터에 대한 승인 코드 업데이트 요청을 액세스 승인 서버(103)에게 추가로 전송하여, 액세스 승인 서버(103)가 암호화된 데이터에 대응하는 새로운 승인 코드를 생성하고, 이전의 승인 코드를 새로운 승인 코드로 대체할 수 있다. 승인 모듈(703)은 액세스 승인 서버(103)로부터 새로운 승인 코드를 추가로 수신하고, 이전 승인 코드를 새로운 승인 코드로 대체할 수 있다.In some embodiments,
전술한 방법에 기초하여, 본 개시의 실시예는 전술한 방법을 구현할 수 있는 (전술한 액세스 승인 서버(103)와 같은) 액세스 승인 서버를 추가로 제공할 수 있다. 도 8에 도시된 바와 같이, 서버(800)는 다음의 모듈, 즉,Based on the method described above, embodiments of the present disclosure may further provide an access authorization server (such as the
제1 클라이언트(101)로부터 제1 키의 제1 부분을 수신하고 ― 제1 키는 정보 공유 시스템(104)의 블록에 업로드된 암호화된 데이터에 대응하고, 암호화된 데이터는 제1 키에 따라 평문 데이터를 암호화함으로써 획득되며, 정보 공유 시스템은 블록체인 시스템임 ―, 암호화된 데이터에 대응하는 제1 승인 코드를 생성하며, 제1 승인 코드를 제1 클라이언트(101)에게 전송하도록 구성된 승인 모듈(801) ― 제1 클라이언트(101)가, 제2 클라이언트(102)가 암호화된 데이터에 액세스하도록 승인하는 경우, 제1 승인 코드 및 제1 키의 제2 부분을 제2 클라이언트(102)에게 전송하여, 암호화된 데이터에 액세스하는 경우 제2 클라이언트(102)가 제1 승인 코드 및 제1 키의 제2 부분을 액세스 요청에 추가하고, 제1 키의 제2 부분은 제1 부분을 제외한 제1 키의 나머지 부분을 포함함 ―;Receiving a first portion of a first key from the
암호화된 데이터에 대한 임의의 클라이언트(예를 들어, 제2 클라이언트(102))로부터의 액세스 요청의 수신에 응답하여, 액세스 요청으로부터 제2 승인 코드 및 불완전한 키를 획득하고, 제2 승인 코드가 제1 승인 코드와 동일하고 제2 승인 코드가 유효한 경우에 키 모듈(803)을 트리거하도록 구성된 검증 모듈(802);In response to receiving an access request from any client (eg, second client 102) for the encrypted data, a second authorization code and an incomplete key are obtained from the access request, and the second authorization code is generated. A verification module 802, configured to trigger the key module 803 if the same as the first authorization code and the second authorization code is valid;
암호화된 데이터에 대응하는 불완전한 키 및 제1 키의 제1 부분에 따라 제2 키를 생성하도록 구성되는 키 모듈(803) ― 생성된 제2 키는 불완전한 키가 제1 키의 제2 부분과 동일한 경우에 제1 키와 동일함―; 및A key module 803 configured to generate a second key in accordance with an incomplete key corresponding to the encrypted data and a first portion of the first key, wherein the generated second key has an incomplete key equal to the second portion of the first key; Same as the first key in the case; And
정보 공유 시스템(104)의 블록으로부터 암호화된 데이터를 획득하고, 제2 키에 따라 암호화된 데이터를 복호하도록 구성된 복호화 모듈(804) ― 평문 데이터는 복호화를 통해 획득되고 제2 키가 제1 키와 동일한 경우에 액세스 요청을 전송하는 클라이언트에게 전송됨 ―A decryption module 804 configured to obtain encrypted data from a block of the
을 포함할 수 있다.It may include.
일부 실시예들에서, 검증 모듈(802)은 액세스 요청으로부터 암호화된 데이터의 액세스 토큰을 획득하고, 액세스 토큰으로부터 제2 승인 코드 및 불완전한 키를 획득할 수 있다.In some embodiments, the verification module 802 may obtain an access token of encrypted data from the access request, and obtain a second authorization code and an incomplete key from the access token.
일부 실시예들에서, 승인 모듈(801)은 제1 클라이언트(101)로부터 키의 제1 부분을 수신하는 경우에 암호화된 데이터의 보유자의 파일 식별자 및 사용자 식별자를 추가로 수신할 수 있다. 승인 모듈(801)은 보유자의 사용자 식별자에 대응하는 규칙에 따라 제1 승인 코드를 생성하고, 제1 승인 코드를 키의 제1 부분, 파일 식별자 및 보유자의 사용자 식별자와 연관시킬 수 있다. 검증 모듈(802)은, 액세스 요청의 수신에 응답하여, 액세스 요청에서 운반된 보유자의 파일 식별자 및 사용자 식별자에 따라 연관된 제1 승인 코드 및 키의 제1 부분을 획득할 수 있다.In some embodiments,
일부 실시예들에서, 블록은 블록 높이에 대응할 수 있다. 승인 모듈(801)에 의해 생성된 제1 승인 코드는 액세스가 허용된 블록 높이 및/또는 만료 시간에 대응할 수 있다. 검증 모듈(802)은 제2 승인 코드가 제1 승인 코드와 동일한 경우에 제2 승인 코드에 대응하는 액세스가 허용된 블록 높이 및/또는 만료 시간을 획득할 수 있고, 액세스 요청에 대응하는 암호화된 데이터의 블록 높이가 제2 승인 코드에 대응하여 액세스 허용된 블록 높이와 일치하는 경우 및/또는 제2 승인 코드의 만료 시간이 아직 도달하지 않은 경우에 제2 승인 코드가 유효한 것으로 결정할 수 있다.In some embodiments, the block may correspond to the block height. The first grant code generated by the
일부 실시예들에서, 승인 모듈(801)은 승인 코드에 대해 제1 클라이언트(101)로부터의 취소 요청에 응답하여 제1 승인 코드를 추가로 무효화할 수 있고, 제1 클라이언트(101)가 로컬의 제1 승인 코드를 무효화할 수 있도록 제1 클라이언트에게 응답을 리턴할 수 있다.In some embodiments, the
일부 실시예들에서, 승인 모듈(801)은 암호화된 데이터에 대한 제1 클라이언트(101)로부터의 승인 코드 생성 요청에 응답하여 암호화된 데이터에 대응하는 새로운 승인 코드를 추가로 생성하고, 암호화된 데이터에 대응하는 새로운 승인 코드를 제1 클라이언트(101)에게 전송할 수 있다.In some embodiments,
일부 실시예들에서, 승인 모듈(801)은 암호화된 데이터에 대한 제1 클라이언트(101)로부터의 승인 코드 업데이트 요청에 응답하여 암호화된 데이터에 대응하는 새로운 승인 코드를 추가로 생성하고, 이전의 제1 승인 코드를 새로운 인증으로 대체하며, 제1 클라이언트(101)가 이전의 제1 승인 코드를 새로운 승인 코드로 대체할 수 있도록 암호화된 데이터에 대응하는 새로운 승인 코드를 제1 클라이언트(101)에게 전송할 수 있다.In some embodiments,
전술한 모듈의 기능의 구현 원리는 이미 위에서 상세하게 설명되었고, 상세한 것은 여기에서 다시 설명되지 않는다.The principle of implementation of the functions of the above-described modules has already been described in detail above, and details are not described herein again.
일부 실시예들에서, 전술한 클라이언트(700) 및 서버(800)는 다양한 컴퓨팅 장치에서 실행될 수 있고, 컴퓨팅 장치의 메모리에 로드될 수 있다. 실시예에 따르면, 하나 이상의 프로세서, 메모리, 및 메모리에 저장되고 하나 이상의 프로세서에 의해 수행되도록 구성된 하나 이상의 프로그램을 포함하는 컴퓨팅 장치가 제공되며, 하나 이상의 프로그램은 전술한 방법 실시예들 중 임의의 것을 수행하기 위한 명령을 포함한다.In some embodiments, the client 700 and server 800 described above can be executed on various computing devices and loaded into the memory of the computing device. According to an embodiment, there is provided a computing device comprising one or more processors, a memory, and one or more programs stored in the memory and configured to be executed by the one or more processors, wherein the one or more programs may be any of the foregoing method embodiments. Contains instructions for performing
도 9는 클라이언트(700) 또는 서버(800)가 위치하는 컴퓨팅 장치의 구성의 구조도이다. 도 9에 도시된 바와 같이, 컴퓨팅 장치는 하나 이상의 프로세서(CPU)(902), 통신 모듈(904), 메모리(906), 사용자 인터페이스(910), 및 컴포넌트들을 상호 연결하도록 구성된 통신 버스(908)를 포함할 수 있다.9 is a structural diagram of a configuration of a computing device in which a client 700 or server 800 is located. As shown in FIG. 9, the computing device includes a
프로세서(902)는 네트워크 통신 및/또는 로컬 통신을 구현하기 위해 통신 모듈(904)을 통해 데이터를 수신하고 전송할 수 있다.The
사용자 인터페이스(910)는 하나 이상의 스피커 및/또는 하나 이상의 시각 디스플레이를 포함하는 하나 이상의 출력 장치를 포함할 수 있다. 사용자 인터페이스는 또한 예를 들어 키보드, 마우스, 음성 명령 입력 유닛 또는 라우드스피커, 터치 디스플레이, 터치 감응 입력 태블릿, 제스처 캡처 카메라 또는 다른 입력 버튼 또는 제어를 포함하는 하나 이상의 입력 장치(914)를 포함할 수 있다. User interface 910 may include one or more output devices that include one or more speakers and / or one or more visual displays. The user interface may also include one or more input devices 914 including, for example, a keyboard, mouse, voice command input unit or loudspeaker, touch display, touch sensitive input tablet, gesture capture camera or other input button or control. have.
메모리(906)는 DRAM, SRAM, DDR RAM 또는 다른 랜덤 액세스 솔리드 스테이트 저장 장치와 같은 고속 랜덤 액세스 메모리일 수 있다. 메모리(906)는 또한 비 휘발성 메모리, 예를 들어 하나 이상의 자기 디스크 저장 장치, 광 디스크 저장 장치, 플래시 메모리 장치 또는 다른 비 휘발성 솔리드 스테이트 저장 장치를 포함할 수 있다.Memory 906 may be fast random access memory such as DRAM, SRAM, DDR RAM or other random access solid state storage. Memory 906 may also include non-volatile memory, such as one or more magnetic disk storage devices, optical disk storage devices, flash memory devices, or other non-volatile solid state storage devices.
메모리(906)는 프로세서(902)에 의해 실행될 수 있는 명령 세트를 저장할 수 있으며, The memory 906 may store a set of instructions that may be executed by the
다양한 기본 시스템 서비스를 처리하고 하드웨어 관련 작업을 수행하기 위한 프로그램을 포함하는 운영 체제(916); 및An operating system 916 including programs for processing various basic system services and for performing hardware related tasks; And
전술한 실시예에서의 처리 절차를 구현할 수 있는 다양한 애플리케이션 프로그램을 포함하며, 예를 들어 도 7에 도시된 클라이언트(700) 및/또는 도 8에 도시된 서버(800)를 포함할 수 있는 애플리케이션(918)을 포함한다. 일부 실시예들에서, 클라이언트(700)는 도 7에 도시된 모듈(701 내지 703)의 일부 또는 전부를 포함할 수 있으며, 모듈(701 내지 703)은 기계 실행 가능 명령을 저장할 수 있다. 프로세서(902)는 메모리(906)에 저장된 모듈(701 내지 703)의 기계 실행 가능 명령을 실행함으로써 전술한 모듈(701 내지 703)의 기능을 구현할 수 있다. 일부 실시예들에서, 서버(800)는 도 8에 도시된 모듈(801 내지 804)의 일부 또는 전부를 포함할 수 있으며, 모듈(801 내지 804)은 기계 실행 가능 명령어을 저장할 수 있다. 프로세서(902)는 메모리(906)에 저장된 모듈(801 내지 804)에서 기계 실행 가능 명령을 실행함으로써 전술한 모듈(801 내지 804)의 기능을 구현할 수 있다.Applications that may include various application programs capable of implementing the processing procedures in the foregoing embodiments, and may include, for example, the client 700 shown in FIG. 7 and / or the server 800 shown in FIG. 918). In some embodiments, client 700 may include some or all of modules 701-703 shown in FIG. 7, and modules 701-703 may store machine executable instructions. The
전술한 실시예에서 제공된 클라이언트, 서버 및 컴퓨팅 장치를 사용함으로써, 제1 클라이언트(101)는 키 및 승인 코드를 보유하고, 액세스 승인 서버(103)는 승인 코드 및 키의 제1 부분을 보유하며, 승인되는 경우, 제2 클라이언트(102)는 키의 제2 부분 및 승인 코드를 보유할 수 있다. 이 경우, 제2 클라이언트(102)가 액세스 승인 서버(103)를 통해 대응하는 데이터에 대한 액세스를 요청하는 경우, 액세스 승인 서버(103)는 먼저 승인 코드가 유효한지 여부를 검증하고, 승인 코드가 유효한 경우에 제1 클라이언트(101) 및 제2 클라이언트(102)로부터 획득된 불완전한 키(키의 제1 부분 및 제2 부분)를 사용하여 완전한 키를 획득할 수 있다. 제2 클라이언트(102)에 의해 제공된 불완전한 키가 유효하지 않으면, 정확한 완전한 키가 획득될 수 없고, 암호화된 데이터가 성공적으로 복호될 수 없다. 이것은 데이터 보안을 보장한다. 이러한 실시예에서, 제2 클라이언트(102) 및 액세스 승인 서버(103)는 각각 키의 일부를 보유할 수 있고, 이들 중 어느 누구도 암호화된 데이터에 액세스할 권리를 가질 수 없다. 완전한 키는 제2 클라이언트(102) 및 액세스 승인 서버(103)에 의해 보유된 키 정보가 조합되는 경우에만 획득될 수 있으므로, 데이터 보안 및 사용자 프라이버시를 보장할 수 있다.By using the client, server and computing device provided in the above embodiments, the
전술한 프로세스 및 구조도의 모든 단계 및 모듈이 필요한 것은 아니며, 실제 요구사항에 따라 일부 단계 또는 모듈은 무시될 수 있다. 단계의 실행 순서는 고정되어 있지 않지만, 필요에 따라 조정될 수 있다. 모듈의 분할은 단지 사용된 기능 분할을 편리하게 설명하기 위한 것이다. 실제 구현 동안, 하나의 모듈은 다수의 모듈에 의해 구현될 수 있고, 다수의 모듈의 기능은 또한 동일한 모듈에 의해 구현될 수 있다. 모듈은 동일한 장치에 위치할 수 있거나, 또는 다른 장치에 위치할 수 있다.Not all steps and modules of the above-described processes and schematics are necessary, and some steps or modules may be ignored, depending on the actual requirements. The order of execution of the steps is not fixed but can be adjusted as needed. The division of the modules is merely for convenience to explain the functional division used. During actual implementation, one module may be implemented by multiple modules, and the functions of multiple modules may also be implemented by the same module. The module may be located in the same device or may be located in another device.
실시예에서의 하드웨어 모듈은 하드웨어 또는 소프트웨어를 갖는 하드웨어 플랫폼에 의해 구현될 수 있다. 소프트웨어는 기계 판독 가능 명령어를 포함할 수 있고, 비 휘발성 저장 매체에 저장될 수 있다. 따라서, 실시예들은 또한 소프트웨어 제품으로서 구현될 수도 있다.The hardware module in an embodiment may be implemented by a hardware platform having hardware or software. The software may include machine readable instructions and may be stored in a nonvolatile storage medium. Thus, embodiments may also be implemented as a software product.
실시예들에서, 하드웨어는 전용 하드웨어 또는 기계 판독 가능 명령을 실행하는 하드웨어에 의해 구현될 수 있다. 예를 들어, 하드웨어는 특정 작동을 완료하도록 구성된 특별히 설계된 영구 회로 또는 논리 장치(예를 들어, FPGA 또는 ASIC과 같은 특수 목적 프로세서)일 수 있다. 하드웨어는 또한 프로그램 가능한 로직 장치 또는 소프트웨어에서 일시적으로 구성되고 특정 작업을 수행하도록 구성된 (범용 프로세서 또는 다른 프로그램 가능 프로세서와 같은) 회로를 포함할 수 있다.In embodiments, the hardware may be implemented by dedicated hardware or by hardware executing machine readable instructions. For example, the hardware may be a specially designed permanent circuit or logic device (eg, a special purpose processor such as an FPGA or ASIC) configured to complete a particular operation. The hardware may also include circuitry (such as a general purpose processor or other programmable processor) that is temporarily configured in a programmable logic device or software and configured to perform a particular task.
또한, 본 개시의 실시예 각각은 컴퓨터와 같은 데이터 처리 장치에 의해 실행되는 데이터 처리 프로그램에 의해 구현될 수 있다. 분명히, 데이터 처리 프로그램은 본 개시에서 사용될 수 있다. 또한, 일반적으로 저장 매체에 저장된 데이터 처리 프로그램은 다음의 방식: 저장 매체로부터 프로그램을 직접 판독하거나 또는 데이터 처리 장치의 (하드 디스크 또는 메모리와 같은) 저장 장치에 프로그램을 설치하거나 또는 복사하는 방식으로 실행될 수 있다. 따라서, 이러한 저장 매체는 본 개시에서 사용될 수도 있다. 본 개시의 실시예는 데이터 처리 프로그램을 저장할 수 있는 비 휘발성 저장 매체를 더 제공한다. 데이터 처리 프로그램은 본 개시의 전술한 방법 실시예에서의 임의의 실시예를 실행하도록 구성될 수 있다.In addition, each of the embodiments of the present disclosure may be implemented by a data processing program executed by a data processing apparatus such as a computer. Clearly, data processing programs can be used in the present disclosure. Also, a data processing program stored on a storage medium is generally executed in the following manner: by reading the program directly from the storage medium or by installing or copying the program to a storage device (such as a hard disk or memory) of the data processing apparatus. Can be. Thus, such storage media may be used in the present disclosure. Embodiments of the present disclosure further provide a nonvolatile storage medium capable of storing a data processing program. The data processing program may be configured to execute any embodiment in the foregoing method embodiments of the present disclosure.
도 7 및 도 8에서의 모듈에 대응하는 기계 판독 가능 명령은 컴퓨터에서 작동하는 운영 체제가 여기에서 설명된 작동의 전부 또는 일부를 완료하게 할 수 있다. 비 휘발성 컴퓨터 판독 가능 저장 매체는 컴퓨터의 확장 보드에 배치된 메모리에 삽입되거나 또는 컴퓨터에 연결된 확장 유닛에 배치된 메모리에 기록될 수 있다. 확장 보드 또는 확장 유닛에 설치된 CPU 등은 명령에 따라 실제 작동의 일부 또는 전부를 수행할 수 있다.Machine-readable instructions corresponding to the modules in FIGS. 7 and 8 may cause an operating system operating on a computer to complete all or part of the operations described herein. The non-volatile computer readable storage medium may be inserted into a memory disposed on an expansion board of a computer or recorded in a memory disposed on an expansion unit connected to the computer. The CPU or the like installed in the expansion board or the expansion unit may perform some or all of the actual operations according to the instruction.
비 휘발성 컴퓨터 판독 가능 저장 매체는 플로피 디스크, 하드 디스크, 광 자기 디스크, (CD-ROM, CD-R, CD-RW, DVD-ROM, DVD-RAM, DVD-RW 또는 DVD RW 같은) 광 디스크, 자기 테이프, 비 휘발성 메모리 카드 및 ROM을 포함한다. 또한, 프로그램 코드는 서버 컴퓨터로부터 통신 네트워크에 의해 다운로드될 수 있다.Non-volatile computer readable storage media include floppy disks, hard disks, magneto-optical disks, optical disks (such as CD-ROM, CD-R, CD-RW, DVD-ROM, DVD-RAM, DVD-RW or DVD RW), Magnetic tape, non-volatile memory cards and ROM. In addition, the program code may be downloaded by the communication network from the server computer.
결론적으로, 청구 범위의 범주는 상기한 실시예에서의 구현으로 제한되지 않으며, 본 개시는 전체적으로 가장 넓은 의미로 해석되어야 한다.In conclusion, the scope of the claims is not limited to the implementation in the above-described embodiment, the present disclosure should be construed in the broadest sense as a whole.
Claims (15)
암호화된 데이터를 획득하기 위해, 키(key)에 따라 평문 데이터를 암호화하는 단계;
상기 암호화된 데이터를 정보 공유 시스템의 블록으로 업로드하는 단계 ― 상기 정보 공유 시스템은 블록체인 시스템임 ―;
상기 정보 공유 시스템에 대응하는 액세스 승인 서버로 상기 키의 제1 부분을 업로드하는 단계;
상기 암호화된 데이터에 대응하는 승인 코드를 상기 액세스 승인 서버로부터 수신하는 단계; 및
사용자가 상기 암호화된 데이터에 액세스하도록 승인되는 경우에 상기 사용자의 제2 클라이언트에게 상기 승인 코드 및 상기 키의 제2 부분을 전송하는 단계 ― 상기 키의 제2 부분은 상기 제1 부분을 제외한 상기 키의 나머지 부분을 포함하고, 상기 액세스 승인 서버에게 상기 암호화된 데이터에 대한 액세스 요청을 전송하는 경우, 상기 제2 클라이언트가 상기 승인 코드 및 상기 키의 제2 부분을 상기 액세스 요청에 추가하고, 상기 액세스 승인 서버가 상기 승인 코드가 유효한 것으로 결정하는 경우에 상기 액세스 승인 서버가 상기 키의 제1 부분 및 제2 부분에 따라 상기 키를 생성하고, 상기 평문 데이터를 획득하기 위해, 상기 생성된 키에 따라 상기 정보 공유 시스템의 블록으로부터 획득된 상기 암호화된 데이터를 복호하며, 상기 제2 클라이언트에게 상기 암호화된 데이터를 리턴함 ―
을 포함하는 데이터 공유 방법.A data sharing method performed by a first client,
Encrypting the plain text data according to a key to obtain encrypted data;
Uploading the encrypted data to a block of an information sharing system, wherein the information sharing system is a blockchain system;
Uploading the first portion of the key to an access authorization server corresponding to the information sharing system;
Receiving an authorization code corresponding to the encrypted data from the access authorization server; And
Transmitting the authorization code and a second portion of the key to a second client of the user when the user is authorized to access the encrypted data, wherein the second portion of the key is the key except the first portion The second client adds the authorization code and the second portion of the key to the access request, and sends the access request to the access authorization server to the access authorization server. In case the authorization server determines that the authorization code is valid, the access authorization server generates the key according to the first and second portions of the key and, according to the generated key, to obtain the plain text data. Decrypt the encrypted data obtained from the block of the information sharing system, and transmit the decoded data to the second client. Returns the encrypted data;
Data sharing method comprising a.
상기 암호화된 데이터가 상기 정보 공유 시스템의 블록으로 업로드되는 경우, 상기 정보 공유 시스템이 상기 암호화된 데이터를 상기 암호화된 데이터의 파일 식별자 및 상기 암호화된 데이터의 보유자의 사용자 식별자와 연관시키고, 상기 액세스 승인 서버가 상기 파일 식별자 및 상기 보유자의 사용자 식별자에 따라 상기 정보 공유 시스템의 블록으로부터 상기 암호화된 데이터를 획득할 수 있도록, 상기 파일 식별자 및 상기 보유자의 사용자 식별자가 추가로 업로드되는,
데이터 공유 방법.The method of claim 1,
When the encrypted data is uploaded to the block of the information sharing system, the information sharing system associates the encrypted data with a file identifier of the encrypted data and a user identifier of the holder of the encrypted data, and grants the access. The file identifier and the user identifier of the holder are further uploaded so that a server can obtain the encrypted data from the block of the information sharing system according to the file identifier and the user identifier of the holder,
How to share your data.
상기 키의 제1 부분이 상기 액세스 승인 서버로 업로드되는 경우, 상기 액세스 승인 서버가 상기 보유자의 사용자 식별자에 대응하는 규칙에 따른 상기 승인 코드를 생성하고, 상기 승인 코드를 상기 키의 제1 부분, 상기 파일 식별자 및 상기 보유자의 사용자 식별자와 연관시키며, 상기 액세스 요청의 수신에 응답하여, 상기 액세스 요청에서 운반되는 상기 파일 식별자 및 상기 제1 부분의 사용자 식별자에 따라 상기 연관된 승인 코드 및 상기 키의 제1 부분을 획득하여, 상기 획득된 승인 코드에 따라, 상기 액세스 요청에서 운반된 상기 승인 코드가 유효한지의 여부를 결정하고, 상기 키의 제1 부분 및 상기 액세스 요청에서 운반된 상기 제2 부분을 생성할 수 있도록, 상기 파일 식별자 및 상기 보유자의 사용자 식별자가 추가로 업로드되는,
데이터 공유 방법.The method of claim 2,
When the first portion of the key is uploaded to the access authorization server, the access authorization server generates the authorization code in accordance with a rule corresponding to the user identifier of the holder, and the authorization code is generated by the first portion of the key, Associate with the file identifier and the user identifier of the holder, and in response to receipt of the access request, present the associated authorization code and the key according to the file identifier carried in the access request and the user identifier of the first portion; Acquiring one portion, and determining, according to the obtained authorization code, whether the authorization code carried in the access request is valid, and extracting the first portion of the key and the second portion carried in the access request. The file identifier and the user identifier of the holder are further uploaded so that they can be generated,
How to share your data.
상기 액세스 승인 서버가 상기 승인 코드를 무효화할 수 있도록 상기 액세스 승인 서버에게 상기 승인 코드의 취소 요청을 전송하는 단계; 및
로컬 승인 코드를 무효화하는 단계
를 더 포함하는 데이터 공유 방법.The method of claim 1,
Sending a request for revocation of the authorization code to the access authorization server for the access authorization server to invalidate the authorization code; And
Steps to Invalidate a Local Authorization Code
Data sharing method further comprising a.
상기 액세스 승인 서버가 상기 암호화된 데이터에 대응하는 새로운 승인 코드를 생성하고, 이전의 승인 코드를 상기 새로운 승인 코드로 대체할 수 있도록 상기 액세스 승인 서버에게 상기 암호화된 데이터에 대한 승인 코드 업데이트 요청을 전송하는 단계; 및
상기 액세스 승인 서버로부터 상기 새로운 승인 코드를 수신하고, 상기 승인 코드를 상기 새로운 승인 코드로 대체하는 단계
를 더 포함하는 데이터 공유 방법.The method of claim 1,
Send an authorization code update request for the encrypted data to the access authorization server so that the access authorization server generates a new authorization code corresponding to the encrypted data and replaces a previous authorization code with the new authorization code. Doing; And
Receiving the new authorization code from the access authorization server and replacing the authorization code with the new authorization code
Data sharing method further comprising a.
제1 클라이언트로부터 제1 키의 제1 부분을 수신하는 단계 ― 상기 제1 키는 정보 공유 시스템의 블록으로 업로드된 암호화된 데이터에 대응하고, 상기 암호화된 데이터는 상기 제1 키에 따라 평문 데이터를 암호화함으로써 획득되며, 상기 정보 공유 시스템은 블록체인 시스템임 ―;
상기 암호화된 데이터에 대응하는 제1 승인 코드를 생성하는 단계;
상기 제1 클라이언트가 제2 클라이언트가 상기 암호화된 데이터에 액세스하도록 승인하는 경우, 상기 제1 클라이언트가 상기 제2 클라이언트에게 상기 제1 승인 코드 및 상기 제1 키의 제2 부분을 전송하여, 상기 제2 클라이언트가 상기 암호화된 데이터에 액세스하는 경우에 상기 제1 승인 코드 및 상기 제1 키의 제2 부분을 액세스 요청에 추가할 수 있도록, 상기 제1 클라이언트에게 상기 제1 승인 코드를 전송하는 단계 ― 상기 제1 키의 제2 부분은 상기 제1 부분을 제외한 상기 제1 키의 나머지 부분을 포함함 ―
를 포함하고,
상기 암호화된 데이터에 대한 임의의 클라이언트로부터의 액세스 요청의 수신에 응답하여, 상기 데이터 공유 방법은,
상기 액세스 요청으로부터 제2 승인 코드 및 불완전한 키를 획득하는 단계;
상기 제2 승인 코드가 상기 제1 승인 코드와 동일하고 상기 제2 승인 코드가 유효한 경우에 상기 불완전한 키 및 상기 암호화된 데이터에 대응하는 상기 제1 키의 제1 부분에 따라 제2 키를 생성하는 단계 ― 상기 생성된 제2 키는 상기 불완전한 키가 상기 제1 키의 제2 부분과 동일한 경우에 상기 제1 키와 동일함 ―;
상기 정보 공유 시스템의 블록으로부터 상기 암호화된 데이터를 획득하는 단계; 및
상기 제2 키에 따라 상기 암호화된 데이터를 복호하는 단계 ― 상기 평문 데이터는 복호화를 통해 획득되고 상기 제2 키가 상기 제1 키와 동일한 경우에 상기 액세스 요청을 전송하는 상기 클라이언트에게 전송됨 ―
를 더 포함하는, 데이터 공유 방법A data sharing method performed by an access authorization server,
Receiving a first portion of a first key from a first client, wherein the first key corresponds to encrypted data uploaded to a block of an information sharing system, the encrypted data representing plaintext data according to the first key; Obtained by encryption, wherein the information sharing system is a blockchain system;
Generating a first authorization code corresponding to the encrypted data;
When the first client authorizes a second client to access the encrypted data, the first client sends the second grant code and the second portion of the first key to the second client, thereby generating the first client. 2 sending the first grant code to the first client so that the client can add the first grant code and the second portion of the first key to an access request when the client accesses the encrypted data; The second portion of the first key comprises the remaining portion of the first key except the first portion;
Including,
In response to receiving an access request from any client to the encrypted data, the data sharing method includes:
Obtaining a second grant code and an incomplete key from the access request;
Generating a second key according to the incomplete key and a first portion of the first key corresponding to the encrypted data when the second grant code is the same as the first grant code and the second grant code is valid Step, said generated second key being equal to said first key if said incomplete key is equal to a second portion of said first key;
Obtaining the encrypted data from the block of the information sharing system; And
Decrypting the encrypted data according to the second key, wherein the plaintext data is obtained through decryption and is sent to the client sending the access request if the second key is equal to the first key;
Further comprising, data sharing method
상기 키의 제1 부분이 상기 제1 클라이언트로부터 수신되는 경우, 상기 암호화된 데이터의 파일 식별자 및 상기 암호화된 데이터의 보유자의 사용자 식별자가 더 수신되고,
상기 암호화된 데이터에 대응하는 상기 제1 승인 코드를 생성하는 단계는,
상기 보유자의 사용자 식별자에 대응하는 규칙에 따라 상기 제1 승인 코드를 생성하고, 상기 제1 승인 코드를 상기 키의 제1 부분, 상기 파일 식별자 및 상기 보유자의 사용자 식별자와 연관시키는 단계; 및
상기 액세스 요청을 수신하는 것에 응답하여, 상기 액세스 요청에서 운반되는 상기 파일 식별자 및 상기 보유자의 사용자 식별자에 따라 상기 연관된 제1 승인 코드 및 상기 키의 제1 부분을 획득하는 단계
를 더 포함하는, 데이터 공유 방법.The method of claim 6,
When the first portion of the key is received from the first client, a file identifier of the encrypted data and a user identifier of the holder of the encrypted data are further received,
Generating the first authorization code corresponding to the encrypted data,
Generating the first authorization code according to a rule corresponding to the holder's user identifier and associating the first authorization code with a first portion of the key, the file identifier and the holder's user identifier; And
In response to receiving the access request, obtaining the associated first authorization code and the first portion of the key according to the file identifier carried in the access request and the holder's user identifier
Further comprising, data sharing method.
상기 블록은 블록 높이에 대응하고,
상기 생성된 제1 승인 코드는 액세스가 허용된 블록 높이 및 만료 시간 중 적어도 하나에 대응하며,
상기 제2 승인 코드가 상기 제1 승인 코드와 동일한 경우에 상기 제2 승인 코드에 대응하는 액세스가 허용된 블록 높이 및 만료 시간 중 적어도 하나가 획득되고,
상기 액세스 요청에 대응하는 상기 암호화된 데이터의 블록 높이가 상기 제2 승인 코드에 대응하여 액세스가 허용된 블록 높이와 일치하는 경우 및/또는 상기 제2 승인 코드의 만료 시간이 아직 도달하지 않은 경우에 상기 제2 승인 코드가 유효한 것으로 결정되는,
데이터 공유 방법.The method of claim 6,
The block corresponds to the block height,
The generated first authorization code corresponds to at least one of a block height and an expiration time allowed for access,
If the second grant code is the same as the first grant code, at least one of a block height and an expiration time allowed for access corresponding to the second grant code is obtained,
The block height of the encrypted data corresponding to the access request matches the block height to which access is allowed in correspondence with the second grant code and / or the expiration time of the second grant code has not yet reached Determined that the second authorization code is valid,
How to share your data.
상기 승인 코드에 대한, 상기 클라이언트로부터의 취소 요청에 응답하여 상기 제1 승인 코드를 무효화하는 단계; 및
상기 제1 클라이언트가 상기 로컬 제1 승인 코드를 무효화할 수 있도록, 상기 제1 클라이언트에게 응답을 리턴하는 단계
를 더 포함하는 데이터 공유 방법.The method of claim 6,
Invalidating the first authorization code in response to a cancellation request from the client for the authorization code; And
Returning a response to the first client such that the first client can invalidate the local first authorization code.
Data sharing method further comprising a.
상기 암호화된 데이터에 대한, 상기 제1 클라이언트로부터의 승인 코드 생성 요청에 응답하여 상기 암호화된 데이터에 대응하는 새로운 승인 코드를 생성하는 단계; 및
상기 제1 클라이언트에게 상기 암호화된 데이터에 대응하는 상기 새로운 승인 코드를 전송하는 단계
를 더 포함하는 데이터 공유 방법.The method of claim 6,
Generating a new authorization code corresponding to the encrypted data in response to the authorization code generation request from the first client for the encrypted data; And
Transmitting the new authorization code corresponding to the encrypted data to the first client.
Data sharing method further comprising a.
상기 암호화된 데이터에 대한, 상기 제1 클라이언트로부터의 승인 코드 업데이트 요청에 응답하여 상기 암호화된 데이터에 대응하는 새로운 승인 코드를 생성하고, 상기 제1 승인 코드를 상기 새로운 승인 코드로 대체하는 단계; 및
상기 제1 클라이언트가 상기 제1 승인 코드를 상기 새로운 승인 코드로 대체할 수 있도록, 상기 제1 클라이언트에게 상기 암호화된 데이터에 대응하는 상기 새로운 승인 코드를 전송하는 단계
를 더 포함하는 데이터 공유 방법. The method of claim 6,
Generating a new authorization code corresponding to the encrypted data in response to an authorization code update request from the first client for the encrypted data, and replacing the first authorization code with the new authorization code; And
Sending the new authorization code corresponding to the encrypted data to the first client so that the first client can replace the first authorization code with the new authorization code.
Data sharing method further comprising a.
암호화된 데이터를 획득하기 위해, 키(key)에 따라 평문 데이터를 암호화하도록 구성된 암호화 모듈;
상기 암호화된 데이터를 정보 공유 시스템의 블록으로 업로드하고, 상기 정보 공유 시스템에 대응하는 액세스 승인 서버로 상기 키의 제1 부분을 업로드하도록 구성된 업로딩 모듈 ― 상기 정보 공유 시스템은 블록체인 시스템임 ―;
상기 암호화된 데이터에 대응하는 승인 코드를 상기 액세스 승인 서버로부터 수신하고,
사용자가 상기 암호화된 데이터에 액세스하도록 승인되는 경우에 제2 클라이언트에게 상기 승인 코드 및 상기 키의 제2 부분을 전송하도록 구성된 승인 모듈 ― 상기 키의 제2 부분은 상기 제1 부분을 제외한 상기 키의 나머지 부분을 포함하고, 상기 액세스 승인 서버에게 상기 암호화된 데이터에 대한 액세스 요청을 전송하는 경우, 상기 제2 클라이언트가 상기 승인 코드 및 상기 키의 제2 부분을 상기 액세스 요청에 추가하고, 상기 액세스 승인 서버가 상기 승인 코드가 유효한 것으로 결정하는 경우에 상기 액세스 승인 서버가 상기 키의 제1 부분 및 제2 부분에 따라 상기 키를 생성하고, 상기 평문 데이터를 획득하기 위해, 상기 생성된 키에 따라 상기 정보 공유 시스템의 블록으로부터 획득된 상기 암호화된 데이터를 복호하며, 상기 제2 클라이언트에게 상기 암호화된 데이터를 리턴함 ―
을 포함하는 제1 클라이언트.As the first client,
An encryption module configured to encrypt the plain text data according to a key to obtain encrypted data;
An uploading module configured to upload the encrypted data to a block of an information sharing system and to upload a first portion of the key to an access authorization server corresponding to the information sharing system, wherein the information sharing system is a blockchain system;
Receive an authorization code corresponding to the encrypted data from the access authorization server,
An authorization module configured to send the authorization code and the second portion of the key to a second client when a user is authorized to access the encrypted data, wherein the second portion of the key is a portion of the key except the first portion. The second client adds the authorization code and the second portion of the key to the access request, and sends the access authorization to the access authorization server when the request for access to the encrypted data is transmitted. If the server determines that the authorization code is valid, the access authorization server generates the key in accordance with the first and second portions of the key, and obtains the plain text data to obtain the plain text data. Decrypts the encrypted data obtained from the block of the information sharing system, and transmits to the second client. Returns the encrypted data;
The first client comprising a.
제1 클라이언트로부터 제1 키의 제1 부분을 수신하고 ― 상기 제1 키는 정보 공유 시스템의 블록으로 업로드된 암호화된 데이터에 대응하고, 상기 암호화된 데이터는 상기 제1 키에 따라 평문 데이터를 암호화함으로써 획득되며, 상기 정보 공유 시스템은 블록체인 시스템임 ―, 상기 암호화된 데이터에 대응하는 제1 승인 코드를 생성하며, 상기 제1 클라이언트에게 상기 제1 승인 코드를 전송하도록 구성된 승인 모듈 ― 상기 제1 클라이언트가 제2 클라이언트가 상기 암호화된 데이터에 액세스하도록 승인하는 경우, 상기 제1 클라이언트가 상기 제2 클라이언트에게 상기 제1 승인 코드 및 상기 제1 키의 제2 부분을 전송하여, 상기 제2 클라이언트가 상기 암호화된 데이터에 액세스하는 경우에 상기 제1 승인 코드 및 상기 제1 키의 제2 부분을 액세스 요청에 추가하고, 상기 제1 키의 제2 부분은 상기 제1 부분을 제외한 상기 제1 키의 나머지 부분을 포함함 ―;
상기 암호화된 데이터에 대한 임의의 클라이언트로부터의 액세스 요청의 수신에 응답하여, 상기 액세스 요청으로부터 제2 승인 코드 및 불완전한 키를 획득하고, 상기 제2 승인 코드가 상기 제1 승인 코드와 동일하고 상기 제2 승인 코드가 유효한 경우에 키 모듈을 트리거하도록 구성된 검증 모듈;
상기 불완전한 키 및 상기 암호화된 데이터에 대응하는 상기 제1 키의 제1 부분에 따라 제2 키를 생성하도록 구성된 상기 키 모듈 ― 상기 생성된 제2 키는 상기 불완전한 키가 상기 제1 키의 제2 부분과 동일한 경우에 상기 제1 키와 동일함 ―; 및
상기 정보 공유 시스템의 블록으로부터 상기 암호화된 데이터를 획득하고, 상기 제2 키에 따라 상기 암호화된 데이터를 복호하도록 구성된 복호화 모듈 ― 상기 평문 데이터는 복호화를 통해 획득되고 상기 제2 키가 상기 제1 키와 동일한 경우에 상기 액세스 요청을 전송하는 상기 클라이언트에게 전송됨 ―
을 포함하는 액세스 승인 서버.As an access authorization server,
Receiving a first portion of a first key from a first client, the first key corresponding to encrypted data uploaded to a block of an information sharing system, the encrypted data encrypting plain text data according to the first key And an information module, wherein the information sharing system is a blockchain system, the authorization module configured to generate a first authorization code corresponding to the encrypted data and to transmit the first authorization code to the first client. When a client authorizes a second client to access the encrypted data, the first client sends the second authorization code and the second portion of the first key to the second client, so that the second client When accessing the encrypted data, attaching the first authorization code and the second portion of the first key to an access request. In addition, the second portion of the first key comprises the remaining portion of the first key except the first portion;
In response to receiving an access request from any client for the encrypted data, obtaining a second grant code and an incomplete key from the access request, wherein the second grant code is the same as the first grant code and the first grant code A verification module, configured to trigger the key module if the authorization code is valid;
The key module configured to generate a second key according to the incomplete key and the first portion of the first key corresponding to the encrypted data, wherein the generated second key is the second key of the first key; Same as the first key if same as the portion; And
A decryption module configured to obtain the encrypted data from the block of the information sharing system, and to decrypt the encrypted data according to the second key, wherein the plain text data is obtained through decryption and the second key is the first key. Sent to the client sending the access request if equal to
Access authorization server comprising a.
하나 이상의 프로세서;
메모리; 및
상기 메모리에 저장되고 상기 하나 이상의 프로세서에 의해 실행되도록 구성된 하나 이상의 프로그램 ― 상기 하나 이상의 프로그램은 청구항 1 내지 청구항 11 중 어느 한 항에 따른 방법을 수행하기 위한 명령을 포함함 ―
을 포함하는 컴퓨팅 장치.As a computing device,
One or more processors;
Memory; And
One or more programs stored in the memory and configured to be executed by the one or more processors, wherein the one or more programs comprise instructions for performing a method according to any one of claims 1 to 11.
Computing device comprising a.
명령을 포함하는 하나 이상의 프로그램을 저장하고,
상기 명령은, 컴퓨팅 장치에 의해 실행될 때, 상기 컴퓨팅 장치가 청구항 1 내지 청구항 11 중 어느 한 항에 따른 방법을 수행할 수 있게 하는,
저장 매체.As a storage medium,
Save one or more programs that contain commands,
The instructions, when executed by a computing device, enable the computing device to perform the method according to any one of claims 1 to 11,
Storage media.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711065783.1 | 2017-11-02 | ||
CN201711065783.1A CN107979590B (en) | 2017-11-02 | 2017-11-02 | Data sharing method, client, server, computing device and storage medium |
PCT/CN2018/107962 WO2019085699A1 (en) | 2017-11-02 | 2018-09-27 | Data sharing method, client, server, computing device, and storage medium |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200002985A true KR20200002985A (en) | 2020-01-08 |
KR102219008B1 KR102219008B1 (en) | 2021-02-22 |
Family
ID=62012925
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020197034696A KR102219008B1 (en) | 2017-11-02 | 2018-09-27 | Data sharing methods, clients, servers, computing devices and storage media |
Country Status (6)
Country | Link |
---|---|
US (1) | US11223477B2 (en) |
EP (1) | EP3618394B1 (en) |
JP (1) | JP6961818B2 (en) |
KR (1) | KR102219008B1 (en) |
CN (1) | CN107979590B (en) |
WO (1) | WO2019085699A1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022169457A1 (en) * | 2021-02-05 | 2022-08-11 | Visa International Service Association | Mobile device secret protection system and method |
KR20230124271A (en) * | 2022-02-18 | 2023-08-25 | 주식회사 한글과컴퓨터 | Document sharing service server for processing saving and sharing of document files with unauthorized fonts, in the cloud-based document sharing service, and the operating method thereof |
KR20230124207A (en) * | 2022-02-18 | 2023-08-25 | 주식회사 한글과컴퓨터 | Document sharing service server for managing document sharing service based on cloud, and the operating method thereof |
Families Citing this family (55)
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 (en) | 2018-05-10 | 2021-02-23 | 网易(杭州)网络有限公司 | User data authorization method, medium, device and computing equipment based on block chain |
CN108768972B (en) * | 2018-05-16 | 2020-11-27 | 智车优行科技(北京)有限公司 | Vehicle data storage and access method, device, system and electronic equipment |
CN108462724B (en) * | 2018-05-17 | 2020-07-31 | 京东数字科技控股有限公司 | Data sharing method, device, system, member node and readable storage medium |
CN108768633B (en) * | 2018-05-30 | 2022-03-25 | 腾讯科技(深圳)有限公司 | Method and device for realizing information sharing in block chain |
US11108762B2 (en) | 2018-06-05 | 2021-08-31 | The Toronto-Dominion Bank | Methods and systems for controlling access to a protected resource |
CN112567441A (en) * | 2018-06-29 | 2021-03-26 | 索尼公司 | Information processing system, information processing method, and information processing apparatus |
CN109032694A (en) * | 2018-07-03 | 2018-12-18 | 郑州云海信息技术有限公司 | A kind of data load method and terminal |
CN108985863A (en) * | 2018-08-27 | 2018-12-11 | 中国联合网络通信集团有限公司 | A kind of whip-round donations method and system |
CN110958211B (en) * | 2018-09-27 | 2022-05-27 | 安徽华峪文化科技有限公司 | Data processing system and method based on block chain |
CN109559117B (en) * | 2018-11-14 | 2022-05-20 | 北京科技大学 | Block linkage contract privacy protection method and system based on attribute-based encryption |
CN109474597A (en) * | 2018-11-19 | 2019-03-15 | 中链科技有限公司 | A kind of distributed message based on block chain sends and receives method and device |
WO2020102974A1 (en) * | 2018-11-20 | 2020-05-28 | 深圳市欢太科技有限公司 | Data access method, data access apparatus, and mobile terminal |
CN109583905A (en) * | 2018-12-21 | 2019-04-05 | 众安信息技术服务有限公司 | The method and apparatus for realizing data sharing based on the logical card of the utilization of block chain network |
CN111385266B (en) * | 2018-12-29 | 2022-06-17 | 湖南亚信软件有限公司 | Data sharing method and device, computer equipment and storage medium |
CN111540341B (en) * | 2019-01-22 | 2024-08-06 | 北京搜狗科技发展有限公司 | Data processing method and device for data processing |
US11368441B2 (en) | 2019-01-29 | 2022-06-21 | Mastercard International Incorporated | Method and system for general data protection compliance via blockchain |
CN110147410B (en) * | 2019-04-18 | 2020-08-04 | 阿里巴巴集团控股有限公司 | Data verification method, system, device and equipment in block chain type account book |
CN110263556A (en) * | 2019-05-22 | 2019-09-20 | 广东安创信息科技开发有限公司 | A kind of encryption and decryption method and system of OA system data |
CN110177092A (en) * | 2019-05-22 | 2019-08-27 | 南京邮电大学 | A kind of electronic data based on block chain is credible method for down loading |
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 (en) * | 2019-12-10 | 2021-12-21 | 上海信联信息发展股份有限公司 | Privacy protection and data supervision control method based on shared account book |
CN111061982B (en) * | 2019-12-11 | 2023-04-18 | 电子科技大学 | News information publishing and managing system based on block chain |
CN111179067B (en) * | 2019-12-31 | 2023-06-27 | 杭州趣链科技有限公司 | Inter-bank customer information exchange system based on blockchain |
US11356260B2 (en) | 2020-01-26 | 2022-06-07 | International Business Machines Corporation | Decentralized secure data sharing |
US11088833B1 (en) | 2020-01-26 | 2021-08-10 | International Business Machines Corporation | Decentralized secure data sharing |
US11271742B2 (en) | 2020-01-26 | 2022-03-08 | International Business Machines Corporation | Decentralized secure data sharing |
WO2020098839A2 (en) * | 2020-02-14 | 2020-05-22 | Alipay (Hangzhou) Information Technology Co., Ltd. | Data authorization based on decentralized identifiers |
CN111352996B (en) * | 2020-02-26 | 2023-09-19 | 百度在线网络技术(北京)有限公司 | Data sharing method, device, equipment and medium based on block chain network |
US11658816B2 (en) * | 2020-04-15 | 2023-05-23 | Philips North America Llc | Document control system for blockchain |
CN111639350B (en) * | 2020-05-16 | 2023-01-31 | 中信银行股份有限公司 | Cipher service system and encryption method |
CN111740986B (en) * | 2020-06-19 | 2022-07-19 | 公安部第三研究所 | System and method for realizing data sharing control based on identification cipher technology |
CN111914293B (en) * | 2020-07-31 | 2024-05-24 | 平安科技(深圳)有限公司 | Data access right verification method and device, computer equipment and storage medium |
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 |
CN112182646B (en) * | 2020-09-16 | 2024-08-13 | 天星数科科技有限公司 | Data reading method and device, data authorizing method and device and storage medium |
CN112184426A (en) * | 2020-10-12 | 2021-01-05 | 深圳壹账通智能科技有限公司 | Data sharing method, system, server and computer readable storage medium |
CN112333199B (en) * | 2020-11-17 | 2023-04-21 | 珠海大横琴科技发展有限公司 | Data processing method and device |
CN112637177B (en) * | 2020-12-17 | 2022-09-27 | 赛尔网络有限公司 | Data encryption transmission method, device, equipment and medium |
CN112615936A (en) * | 2020-12-28 | 2021-04-06 | 南京披云信息科技有限公司 | Method and device for improving safety of Internet of things |
CN113515728B (en) * | 2021-05-18 | 2023-08-04 | 北京飞利信电子技术有限公司 | Internet of things platform software authorization control system and method based on multistage deployment |
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 (en) * | 2021-09-30 | 2024-03-22 | 新华三大数据技术有限公司 | Authorization management method, device and system |
CN113722695B (en) * | 2021-11-02 | 2022-02-08 | 佳瑛科技有限公司 | Cloud server-based financial data secure sharing method, device and system |
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 |
CN114218583A (en) * | 2021-11-26 | 2022-03-22 | 中国联合网络通信集团有限公司 | File access method, block chain system, electronic device and computer readable medium |
CN114124572B (en) * | 2021-12-07 | 2023-06-27 | 建信金融科技有限责任公司 | Data transmission method, device, equipment and medium based on unidirectional network |
US20230291548A1 (en) * | 2022-03-08 | 2023-09-14 | Western Digital Technologies, Inc. | Authorization requests from a data storage device to multiple manager devices |
WO2023239418A1 (en) | 2022-06-10 | 2023-12-14 | Playback Health Inc. | Multi-party controlled transient user credentialing for interaction with patient health data |
CN116155619B (en) * | 2023-04-04 | 2023-07-07 | 江西农业大学 | Data processing method, data request terminal, data possession terminal and data processing device |
CN118214556B (en) * | 2024-05-20 | 2024-07-26 | 北京信安世纪科技股份有限公司 | Access request response method, system, device, storage medium and program product |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20100042457A (en) * | 2008-10-16 | 2010-04-26 | 삼성전자주식회사 | Method and apparatus for data encryption, and method and apparatus for data decryption |
KR20150037913A (en) * | 2012-07-05 | 2015-04-08 | 가부시키가이샤 크립토 베이직 | Shared secret key generation device, encryption device, decryption device, shared secret key generation method, encryption method, decryption method, and program |
KR20170048864A (en) * | 2015-10-27 | 2017-05-10 | 라인 가부시키가이샤 | User terminal, method and computer for receiving and sending messages |
US20170177898A1 (en) * | 2015-12-16 | 2017-06-22 | International Business Machines Corporation | Personal ledger blockchain |
CN107196900A (en) * | 2017-03-24 | 2017-09-22 | 阿里巴巴集团控股有限公司 | A kind of method and device for verification of knowing together |
Family Cites Families (14)
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 (en) * | 2005-09-20 | 2007-04-05 | Chaosware Inc | Client-server type encryption system |
JP2008103936A (en) * | 2006-10-18 | 2008-05-01 | Toshiba Corp | Secret information management device, and secret information management system |
US9171298B2 (en) * | 2011-02-24 | 2015-10-27 | Dvdcase, Inc. | Systems and methods for managing access to benefits associated with products |
CN103973736B (en) * | 2013-01-30 | 2017-12-29 | 华为终端(东莞)有限公司 | A kind of method and device of data sharing |
CN103442059B (en) * | 2013-08-27 | 2017-02-01 | 华为终端有限公司 | File sharing method and device |
CN103561034B (en) * | 2013-11-11 | 2016-08-17 | 武汉理工大学 | A kind of secure file shared system |
CN104980477B (en) * | 2014-04-14 | 2019-07-09 | 航天信息股份有限公司 | Data access control method and system under cloud storage environment |
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 |
WO2017142563A1 (en) * | 2016-02-19 | 2017-08-24 | Entit Software Llc | Encryption methods |
KR101783281B1 (en) * | 2016-03-11 | 2017-09-29 | 주식회사 다날 | Electronic terminal device for safe storage of identification data and operating method thereof |
US10137860B2 (en) * | 2016-11-17 | 2018-11-27 | Ford Global Technologies, Llc | Remote keyless entry message authentication |
JP6302592B2 (en) * | 2017-06-23 | 2018-03-28 | 株式会社エヌ・ティ・ティ・データ | Information processing apparatus, information processing method, and program |
-
2017
- 2017-11-02 CN CN201711065783.1A patent/CN107979590B/en active Active
-
2018
- 2018-09-27 JP JP2020524318A patent/JP6961818B2/en active Active
- 2018-09-27 EP EP18872127.8A patent/EP3618394B1/en active Active
- 2018-09-27 KR KR1020197034696A patent/KR102219008B1/en active IP Right Grant
- 2018-09-27 WO PCT/CN2018/107962 patent/WO2019085699A1/en unknown
-
2019
- 2019-11-14 US US16/683,597 patent/US11223477B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20100042457A (en) * | 2008-10-16 | 2010-04-26 | 삼성전자주식회사 | Method and apparatus for data encryption, and method and apparatus for data decryption |
KR20150037913A (en) * | 2012-07-05 | 2015-04-08 | 가부시키가이샤 크립토 베이직 | Shared secret key generation device, encryption device, decryption device, shared secret key generation method, encryption method, decryption method, and program |
KR20170048864A (en) * | 2015-10-27 | 2017-05-10 | 라인 가부시키가이샤 | User terminal, method and computer for receiving and sending messages |
US20170177898A1 (en) * | 2015-12-16 | 2017-06-22 | International Business Machines Corporation | Personal ledger blockchain |
CN107196900A (en) * | 2017-03-24 | 2017-09-22 | 阿里巴巴集团控股有限公司 | A kind of method and device for verification of knowing together |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022169457A1 (en) * | 2021-02-05 | 2022-08-11 | Visa International Service Association | Mobile device secret protection system and method |
US11960581B2 (en) | 2021-02-05 | 2024-04-16 | Visa International Service Association | Mobile device secret protection system and method |
KR20230124271A (en) * | 2022-02-18 | 2023-08-25 | 주식회사 한글과컴퓨터 | Document sharing service server for processing saving and sharing of document files with unauthorized fonts, in the cloud-based document sharing service, and the operating method thereof |
KR20230124207A (en) * | 2022-02-18 | 2023-08-25 | 주식회사 한글과컴퓨터 | Document sharing service server for managing document sharing service based on cloud, and the operating method thereof |
Also Published As
Publication number | Publication date |
---|---|
CN107979590A (en) | 2018-05-01 |
EP3618394A1 (en) | 2020-03-04 |
US20200084037A1 (en) | 2020-03-12 |
CN107979590B (en) | 2020-01-17 |
WO2019085699A1 (en) | 2019-05-09 |
JP6961818B2 (en) | 2021-11-05 |
EP3618394B1 (en) | 2022-03-30 |
KR102219008B1 (en) | 2021-02-22 |
EP3618394A4 (en) | 2020-07-01 |
JP2021502023A (en) | 2021-01-21 |
US11223477B2 (en) | 2022-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102219008B1 (en) | Data sharing methods, clients, servers, computing devices and storage media | |
TWI725793B (en) | System and method for mapping decentralized identifiers to real-world entities | |
US11777726B2 (en) | Methods and systems for recovering data using dynamic passwords | |
CN111213350B (en) | System and method for creating decentralized identity | |
US11082221B2 (en) | Methods and systems for creating and recovering accounts using dynamic passwords | |
US10796011B1 (en) | Data element tokenization management | |
KR102084674B1 (en) | Method for managing content based on blockchain and system performing the method | |
CN111316303A (en) | System and method for block chain based cross entity authentication | |
CN111213147A (en) | System and method for block chain based cross entity authentication | |
US20230108366A1 (en) | Systems for encryption using blockchain distributed ledgers | |
EP3537684A1 (en) | Apparatus, method, and program for managing data | |
CN107409129B (en) | Use the authorization in accesses control list and the distributed system of group | |
JP2023538497A (en) | editable blockchain | |
JP5036500B2 (en) | Attribute certificate management method and apparatus | |
KR101952139B1 (en) | A method for providing digital right management function in gateway server communicated with user terminal | |
US11849041B2 (en) | Secure exchange of session tokens for claims-based tokens in an extensible system | |
KR101861015B1 (en) | A method for providing digital right management function in user terminal based on cloud service | |
JP2006004321A (en) | Security system | |
US20240020355A1 (en) | Non-fungible token authentication | |
KR20230118304A (en) | On-line system and method for issuing and auehtnicating work including web token | |
Rovira Sánchez | Verification of Self-Sovereign Identities in Ethereum applied to a Media Reuse Smart Contracts Scenario | |
Kyriakidou et al. | VC-Vault: A User-Friendly, Secure, Privacy-Enhancing Verifiable Credentials Wallet |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |