KR20200002985A - 데이터 공유 방법, 클라이언트, 서버, 컴퓨팅 장치 및 저장 매체 - Google Patents

데이터 공유 방법, 클라이언트, 서버, 컴퓨팅 장치 및 저장 매체 Download PDF

Info

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
Application number
KR1020197034696A
Other languages
English (en)
Other versions
KR102219008B1 (ko
Inventor
젠쥔 장
원웨이 쥬
마오차이 리
지차오 탕
준 장
칭정 샹
쭝유 왕
칭 친
Original Assignee
텐센트 테크놀로지(센젠) 컴퍼니 리미티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 텐센트 테크놀로지(센젠) 컴퍼니 리미티드 filed Critical 텐센트 테크놀로지(센젠) 컴퍼니 리미티드
Publication of KR20200002985A publication Critical patent/KR20200002985A/ko
Application granted granted Critical
Publication of KR102219008B1 publication Critical patent/KR102219008B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic 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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic 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/3239Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • H04L2209/38
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload

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)
  • Information Transfer Between Computers (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

본 출원은 데이터 공유 방법을 제공하며, 암호화된 데이터를 획득하기 위해, 키에 따라 평문 데이터를 암호화하는 단계; 상기 암호화된 데이터를 정보 공유 시스템의 블록으로 업로드하는 단계 ― 상기 정보 공유 시스템은 블록체인 시스템임 ―; 상기 정보 공유 시스템에 대응하는 액세스 승인 서버로 상기 키의 제1 부분을 업로드하는 단계; 상기 암호화된 데이터에 대응하는 승인 코드를 상기 액세스 승인 서버로부터 수신하는 단계; 및 사용자가 상기 암호화된 데이터에 액세스하도록 승인되는 경우에 상기 사용자의 제2 클라이언트에게 상기 승인 코드 및 상기 키의 제2 부분을 전송하는 단계를 포함하며, 상기 키의 제2 부분은 상기 제1 부분을 제외한 상기 키의 나머지 부분을 포함한다. 본 출원은 또한 대응하는 클라이언트, 서버, 컴퓨팅 장치 및 저장 매체를 더 제공한다.

Description

데이터 공유 방법, 클라이언트, 서버, 컴퓨팅 장치 및 저장 매체
본 출원은 2017년 11월 2일에 중국 특허청에 출원된 중국 특허 출원 제201711065783.1호 ('데이터 공유 방법, 클라이언트, 서버, 컴퓨팅 장치 및 저장 매체')의 우선권을 주장하며 이것은 그 전체가 참조로서 본 명세서 포함된다.
본 출원은 컴퓨터 기술 분야에 관한 것으로, 구체적으로는 데이터 공유 방법, 클라이언트, 서버, 컴퓨팅 장치 및 저장 매체에 관한 것이다.
인터넷 기술의 발달로 일부 정보 공유 시스템이 현장에 데뷔했습니다. 사용자는 사진, 문서, 비디오 및 기타 파일과 같은 데이터를 정보 공유 시스템에 업로드하고 다른 사용자가 정보 공유 시스템을 통해 데이터에 액세스할 수 있는 권한을 부여 할 수 있습니다.
따라서, 데이터의 보안을 보장하기 위해, 예를 들어, 사용자가 파일에 대한 액세스를 요청할 때 사용자가 제공한 정보를 검증하기 위해 다음의 기술적 수단을 요구하는 정보 공유 시스템이 필요하다.
본 출원의 실시예는 제1 클라이언트에 의해 수행되는 데이터 공유 방법을 제공하며, 암호화된 데이터를 획득하기 위해, 키(key)에 따라 평문 데이터를 암호화하는 단계; 상기 암호화된 데이터를 정보 공유 시스템의 블록으로 업로드하는 단계 ― 상기 정보 공유 시스템은 블록체인 시스템임 ―; 상기 정보 공유 시스템에 대응하는 액세스 승인 서버로 상기 키의 제1 부분을 업로드하는 단계; 상기 암호화된 데이터에 대응하는 승인 코드를 상기 액세스 승인 서버로부터 수신하는 단계; 및 사용자가 상기 암호화된 데이터에 액세스하도록 승인되는 경우에 상기 사용자의 제2 클라이언트에게 상기 승인 코드 및 상기 키의 제2 부분을 전송하는 단계 ― 상기 키의 제2 부분은 상기 제1 부분을 제외한 상기 키의 나머지 부분을 포함하고, 상기 액세스 승인 서버에게 상기 암호화된 데이터에 대한 액세스 요청을 전송하는 경우, 상기 제2 클라이언트가 상기 승인 코드 및 상기 키의 제2 부분을 상기 액세스 요청에 추가하고, 상기 액세스 승인 서버가 상기 승인 코드가 유효한 것으로 결정하는 경우에 상기 액세스 승인 서버가 상기 키의 제1 부분 및 제2 부분에 따라 상기 키를 생성하고, 상기 평문 데이터를 획득하기 위해, 상기 생성된 키에 따라 상기 정보 공유 시스템의 블록으로부터 획득된 상기 암호화된 데이터를 복호하며, 상기 제2 클라이언트에게 상기 암호화된 데이터를 리턴함 ―를 포함한다.
본 출원의 실시예는 데이터 제공 방법을 더 제공하며, 제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 키와 동일한 경우에 상기 액세스 요청을 전송하는 상기 클라이언트에게 전송됨 ―를 더 포함한다.
본 출원의 실시예는 제1 클라이언트를 제공하며, 암호화된 데이터를 획득하기 위해, 키(key)에 따라 평문 데이터를 암호화하도록 구성된 암호화 모듈; 상기 암호화된 데이터를 정보 공유 시스템의 블록으로 업로드하고, 상기 정보 공유 시스템에 대응하는 액세스 승인 서버로 상기 키의 제1 부분을 업로드하도록 구성된 업로딩 모듈 ― 상기 정보 공유 시스템은 블록체인 시스템임 ―; 상기 암호화된 데이터에 대응하는 승인 코드를 상기 액세스 승인 서버로부터 수신하고, 사용자가 상기 암호화된 데이터에 액세스하도록 승인되는 경우에 제2 클라이언트에게 상기 승인 코드 및 상기 키의 제2 부분을 전송하도록 구성된 승인 모듈 ― 상기 키의 제2 부분은 상기 제1 부분을 제외한 상기 키의 나머지 부분을 포함하고, 상기 액세스 승인 서버에게 상기 암호화된 데이터에 대한 액세스 요청을 전송하는 경우, 상기 제2 클라이언트가 상기 승인 코드 및 상기 키의 제2 부분을 상기 액세스 요청에 추가하고, 상기 액세스 승인 서버가 상기 승인 코드가 유효한 것으로 결정하는 경우에 상기 액세스 승인 서버가 상기 키의 제1 부분 및 제2 부분에 따라 상기 키를 생성하고, 상기 평문 데이터를 획득하기 위해, 상기 생성된 키에 따라 상기 정보 공유 시스템의 블록으로부터 획득된 상기 암호화된 데이터를 복호하며, 상기 제2 클라이언트에게 상기 암호화된 데이터를 리턴함 ―을 포함한다.
본 출원의 실시예는 액세스 승인 서버를 제공하며, 제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 키와 동일한 경우에 상기 액세스 요청을 전송하는 상기 클라이언트에게 전송됨 ―을 포함한다.
본 출원의 실시예는 컴퓨팅 장치를 더 제공하며, 하나 이상의 프로세서; 메모리; 및 상기 메모리에 저장되고 상기 하나 이상의 프로세서에 의해 실행되도록 구성된 하나 이상의 프로그램 ― 상기 하나 이상의 프로그램은 전술한 방법을 수행하기 위한 명령을 포함함 ―을 포함한다.
본 출원의 실시예는 명령을 포함하는 하나 이상의 프로그램을 저장하고, 상기 명령이, 컴퓨팅 장치에 의해 실행될 때, 상기 컴퓨팅 장치가 전술한 방법을 수행할 수 있게 하는 저장 매체를 더 제공한다.
본 개시의 실시예의 기술적 해결수단을 보다 명확하게 설명하기 위해, 이하에서는 실시예를 설명하는데 필요한 첨부 도면을 간략하게 소개한다. 명백하게, 이하의 설명에서의 첨부 도면은 본 개시의 실시예만을 도시하고, 당업자는 창조적 노력없이 이들 첨부 도면으로부터 다른 도면을 도출할 수 있다.
본 개시의 실시예의 기술적 해결수단을 보다 명확히 설명하기 위해, 본 개시의 추가 이해를 위해 첨부 도면이 제공된다. 본 명세서의 첨부 도면은 본 개시의 일부 실시예만을 도시하고, 당업자는 창조적 노력없이 이들 첨부 도면으로부터 다른 실시예를 도출 할 수 있다.
도 1은 실시예에 따른 시스템 아키텍처 도면이다.
도 2는 실시예에 따른 방법의 흐름도이다.
도 3은 실시예에 따른 다른 방법의 흐름도이다.
도 4는 실시예에 따른 메시지 상호 작용의 개략도이다.
도 5는 실시예에 따른 사용자 인터페이스의 개략도이다.
도 6은 실시예에 따른 사용자 인터페이스의 개략도이다.
도 7은 실시예에 따른 클라이언트의 개략적인 구조도이다.
도 8은 실시예에 따른 서버의 개략적인 구조도이다.
도 9는 실시예에 따른 컴퓨팅 장치의 구성의 개략적인 구조도이다.
설명을 간결하고 직관적으로 하기 위해, 본 개시의 해결수단은 몇몇 대표적인 실시예를 설명함으로써 여기에서 예시된다. 그러나, 모든 구현이 여기에서 예시된 것은 아니다. 실시예들에서의 다수의 세부 사항은 단지 본 개시의 해결수단의 이해를 돕기 위해 사용되며, 본 개시의 기술적 해결수단은 구현 중에 이들 세부 사항으로 제한되지 않을 수 있다. 본 개시의 해결수단을 불필요하게 모호하게 하지 않기 위해, 일부 구현은 상세하게 설명되지 않지만, 프레임워크만이 제공된다. 이하에서, "포함한다"라는 용어는 "포함하지만 이에 제한되지 않는다"는 것을 지칭하고, "...에 따라"라는 용어는 "적어도 ...에 따르지만, 그러나 ...에 따른 것으로만 제한되지는 않는다."는 것을 지칭한다. 명세서 및 청구 범위에서 "포함한다(include)/포함한다(comprise)"라는 용어는 적어도 어느 정도 포함하는 것을 지칭하며, 이후에 언급된 특징뿐만 아니라 다른 특징도 포함하는 것으로 해석되어야한다.
본 개시의 실시예는 데이터 공유 방법을 제공한다. 이 방법은 도 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)로 리턴될 수 있다.
여기서, 제1 클라이언트(101) 및 제2 클라이언트(102)는 공유 데이터를 액세스할 수 있는 다양한 APP 클라이언트 또는 브라우저일 수 있다. 제1 클라이언트(101) 및 제2 클라이언트(102)는 다양한 단말 장치에서 실행될 수 있으며, PC, 이동 전화, 태블릿 컴퓨터, 팜탑 컴퓨터, 울트라북, 웨어러블 장치 등을 포함할 수 있다. 정보 공유 시스템(104)은 다양한 통합 또는 분산 데이터 저장 시스템일 수 있고, 블록체인 시스템(또는 블록체인 네트워크로 지칭됨), 데이터베이스 시스템, 네트워크 디스크/클라우드 디스크 시스템 등을 포함할 수 있지만 이것으로 제한되는 것은 아니다. 정보 공유 시스템(104)에 저장된 데이터는 디지털 자산, 인증 서비스, 분산 원장(leger), 공유 경제 및 다른 시나리오를 포함하는 다수의 서비스 시나리오에서 생성된 데이터를 포함할 수 있다.
디지털 자산은 전자 데이터의 형태로 존재하는 기업에 의해 소유되거나 제어되는 비 통화 자산을 지칭하며, 일상 활동으로 판매되거나 생산 프로세스에서 사용될 수 있다. 디지털 자산의 생산은 사무 자동화로부터 이익을 얻을 수 있다. 디지털 자산은 전자 지불 시스템에 기초하여 개발되며, 공유 크레딧, 쿠폰, 디지털 통화, 주식 등록 및 기타 시나리오와 같은 시나리오를 위해 사용될 수 있다. 인증 서비스는 저작권/소유권 투영, 사법 문서 투영, 자선 기부 및 개인 및 기업 인증서와 같은 비즈니스 시나리오를 위해 사용된다. 공유 원장은 에이전시 간 청산, 은행 인수, 에이전시 간 신디케이트 대출, 공급망 금융 및 국경 간 송금과 같은 비즈니스 시나리오를 위해 사용된다. 블록체인은 데이터 블록을 연대순으로 순차적으로 연결하여 형성된 링크 데이터 구조이며, 암호화를 통해 보장되는 변조 방지 및 위조 방지 분산 원장이다. 블록체인 시스템은 새로운 브랜드의 분산 기본 아키텍처로, 링크 데이터 구조를 사용하여 데이터를 검증하고 저장하며, 분산 노드 합의 알고리즘을 사용하여 데이터를 생성하고 업데이트하며, 암호화를 통해 데이터 전송 및 액세스의 보안을 보장하고, 자동화된 스크립트 코드에 의해 형성된 스마트 계약을 사용하여 데이터를 프로그래밍하고 작동시킨다.
일부 비즈니스 시나리오에서, 정보 공유 시스템(104)에 업로드된 데이터는 암호화될 필요가 있으며, 데이터에 대한 액세스는 인증될 필요가 있을 수 있다. 다시 말해서, 일부 데이터는 조건부로 공유될 수 있고, 이러한 데이터는 사용자의 개인 데이터, 예를 들어 개인 또는 에이전시의 실명 인증 정보, 금융 계좌 정보, 사진 앨범, 원본 및 공유 인증을 필요로 하는 정보로 지칭될 수 있다. 일부 사용자는 데이터가 특정 사용자 중에 공유될 수 있도록 컨텐츠를 공개하지 않고 이러한 데이터를 공유하기를 원할 수 있다. 따라서, 데이터는 정보 공유 시스템(104)에서 암호화되어 저장될 수 있고, 따라서 특정 사용자는 데이터를 볼 수 있는 권한이 부여될 수 있다.
실시예에 따르면, 제1 클라이언트(101)의 단말 장치에 의해 수행될 수 있는 데이터 공유 방법이 제공된다. 도 1은 하나의 제1 클라이언트(101)만을 도시하고, 실제 적용 시나리오에서는, 다수의 제1 클라이언트(101)가 존재할 수 있다. 제1 클라이언트(101) 각각은 여기에 설명된 방법을 구현할 수 있다. 도 2를 참조하면, 이 방법은 다음의 단계를 포함할 수 있다.
단계 201에서, 제1 클라이언트(101)는 암호화된 데이터를 획득하기 위해 키에 따라 평문 데이터를 암호화할 수 있다.
단계 202에서, 제1 클라이언트(101)는 암호화된 데이터를 정보 공유 시스템(104)의 블록에 업로드할 수 있으며, 정보 공유 시스템은 블록체인 시스템이다.
여기서, 사용자가 데이터를 업로드하고자 하는 경우, 사용자에 의해 사용되는 제1 클라이언트(101)는 미리 설정된 키를 사용하여 데이터(즉, 평문 데이터)를 암호화한 다음, 암호화된 데이터를 정보 공유 시스템(104)에 업로드한다.
단계 203에서, 제1 클라이언트(101)는 키의 제1 부분을 정보 공유 시스템(104)에 대응하는 액세스 승인 서버(103)에 업로드할 수 있다.
여기서, 정보 공유 시스템(104)에 대응하는 액세스 승인 서버(103)는 정보 공유 시스템(104)에 연결된 액세스 승인 서버(103)를 지칭할 수 있다.
여기서, 키는 문자열일 수 있으며, 키로 사용되는 문자열은 각각 키의 제1 부분 및 제2 부분으로 사용되는 2개의 문자열로 분할될 수 있다. 이러한 단계에서, 키의 제1 부분은 액세스 승인 서버(103)에 업로드될 수 있다. 일부 실시예들에서, 키의 전반부는 제1 부분으로서 사용될 수 있고, 키의 후반부는 제2 부분으로서 사용될 수 있다. 일부 다른 실시예들에서, 키의 후반부는 제1 부분으로서 사용될 수 있고, 키의 전반부는 제2 부분으로서 사용될 수 있다. 제1 부분 및 제2 부분의 길이는 동일하거나 상이할 수 있다. 일부 실시예들에서, 키의 분할 동안, 소정 길이를 갖는 문자열은 미리 설정된 문자열 길이 값(즉, 문자열에 포함된 미리 설정된 문자 개수)에 따라 분할되어 키의 제1 부분으로서 기능할 수 있고, 그 후 문자열의 나머지는 키의 제2 부분으로 사용된다.
단계 204에서, 제1 클라이언트(101)는 액세스 승인 서버(103)로부터 암호화된 데이터에 대응하는 승인 코드를 수신할 수 있다.
일부 실시예에서, 암호화된 데이터에 대해 제1 클라이언트(101)에 의해 업로드된 키의 제1 부분을 수신하는 경우, 액세스 승인 서버(103)는 암호화된 데이터에 대한 승인 코드를 생성한 다음, 승인 코드를 제1 클라이언트(101)에게 리턴한다. 구체적으로, 액세스 승인 서버(103)는 데이터를 업로드하는 사용자에 대응하는 규칙에 따라 승인 코드를 생성할 수 있다.
단계 205에서, 제1 클라이언트(101)는 사용자가 암호화된 데이터를 액세스하도록 승인된 경우에 승인 코드 및 키의 제2 부분을 사용자의 다른 클라이언트, 예를 들어 제2 클라이언트(102)에게 전송할 수 있어서, 암호화된 데이터에 대한 액세스 요청을 액세스 승인 서버(103)에 전송하는 경우에 제2 클라이언트(102)가 승인 코드 및 키의 제2 부분을 액세스 요청에 추가할 수 있으며, 키의 제2 부분은 제1 부분을 제외한 키 내의 나머지 부분을 포함한다.
이러한 방식으로, 액세스 승인 서버(103)는 승인 코드가 유효한 것으로 결정되는 경우 키의 제1 부분 및 제2 부분에 따라 키를 생성할 수 있고, 생성된 키에 따라 정보 공유 시스템(104)의 블록으로부터 획득된 암호화된 데이터를 복호하며, 제2 클라이언트(102)에 대한 복호를 통해 획득된 평문 데이터를 제공한다.
일부 실시예들에서, 사용자가 암호화된 데이터를 보고자 하는 경우, 사용자는 사용자에 의해 사용되는 제2 클라이언트(103)에 의해 제1 클라이언트(101)로부터 승인 코드를 요청할 수 있다. 사용자에게 데이터를 볼 권한을 부여하기로 결정하는 경우, 제1 클라이언트(101)는 승인 코드 및 키의 제2 부분을 제2 클라이언트(102)에 전송할 수 있다.
일부 실시예들에서, 액세스 승인 서버(103)는 완전한 키를 형성하기 위해 키의 제1 부분 및 제2 부분을 결합할 수 있다. 제2 클라이언트(102)로부터 액세스 승인 서버(103)에 의해 획득된 키의 제2 부분과 제1 클라이언트(101)로부터 획득된 키의 제1 부분이 동일한 키에 속하지 않으면, 두 부분은 정확한 키를 형성하도록 결합될 수 없다. 따라서, 복호화가 실패하는 경우, 제2 클라이언트(102)는 평문 데이터를 획득할 수 없다. 액세스 승인 서버(103)는 실패 응답 또는 암호화된 데이터를 제2 클라이언트(10)에게 리턴할 수 있다. 이와 같이, 제2 클라이언트(102)는 데이터의 내용을 성공적으로 볼 수 없다. 따라서, 제1 클라이언트(101)에 의해 업로드된 데이터의 보안이 효과적으로 보장된다.
전술한 실시예에서 제공된 방법을 사용함으로써, 제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)가 암호화된 데이터의 평문을 액세스할 수 있는 권한을 부여할 수 있으므로, 정보 공유와 프라이버시 보호 사이의 균형을 달성하고 더 나은 정보 공유 메커니즘을 제공할 수 있다.
전술한 실시예는 블록체인의 데이터 공유 시나리오에 적용될 수 있다. 액세스 승인 서버(103)는 개인 데이터의 인증된 보기 서비스를 제공할 수 있으며, 이는 정보 공유 시스템에서 블록체인을 위해 제공되는 데이터 프라이버시 보호를 위한 선택적 서비스일 수 있다. 이 서비스는 정보 공유 블록체인 및 디지털 자산 블록체인과 같은 시나리오에 적용되어 사용자가 공개하고 싶지 않은 데이터를 보호하고 일부 사용자가 독립적인 승인을 통해 데이터를 볼 수 있도록 할 수 있다. 블록체인은 공유의 원칙을 기반으로 하므로, 모든 사용자가 블록체인의 데이터를 자유롭게 볼 수 있다. 여기서, 사용자가 승인되었는지의 여부에 관계없이 사용자는 자유롭게 데이터를 볼 수 있다. 그러나, 액세스 승인 서버(103)를 통해 보여지는 데이터만이 복호된 평문 데이터일 수 있다. 사용자가 블록체인에서 데이터를 직접 보는 경우, 사용자는 암호화된 데이터를 획득하고 평문 데이터를 획득할 수 없다.
일부 실시예에서, 단계 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)에 액세스하기 위해 검증이 추가로 필요할 수 있으며, 따라서 데이터 보안을 효과적으로 보장할 수 있다.
일부 실시예에서, 단계 202를 다시 참조하면, 암호화된 데이터가 정보 공유 시스템(104)에 업로드되는 경우, 제1 클라이언트(101)는 암호화된 데이터의 보유자의 파일 식별자를 추가로 업로드할 수 있으며, 정보 공유 시스템(104)이 암호화된 데이터를 보유자의 파일 식별자 및 사용자 식별자와 연관시킬 수 있도록 이는 일반적으로 현재 제1 클라이언트(101)를 사용하는 사용자의 식별자이다. 따라서, 액세스 승인 서버(103)는 보유자의 파일 식별자 및 사용자 식별자에 따라 정보 공유 시스템(104)으로부터 암호화된 데이터를 획득할 수 있다. 여기서, 암호화된 데이터가 업로드되는 경우, 보유자의 파일 식별자 및 사용자 식별자는 동시에 정보 공유 시스템(104)에 업로드될 수 있다. 정보 공유 시스템(104)은 암호화된 데이터를 저장할 때 암호화된 데이터를 보유자의 파일 식별자 및 사용자 식별자와 함께 연관시킬 수 있다. 정보 공유 시스템(104)에서 암호화된 데이터를 쿼리하는 경우, 액세스 승인 서버(103)는 보유자의 파일 식별자 및 사용자 식별자를 쿼리 요청에 추가할 수 있다. 이러한 방식으로, 정보 공유 서버(104)는 보유자의 파일 식별자 및 사용자 식별자와 연관된 암호화된 데이터를 결정하고, 암호화된 데이터를 액세스 승인 서버(103)로 리턴할 수 있다.
일부 실시예들에서, 단계 203을 다시 참조하면, 키의 제1 부분이 액세스 승인 서버(104)에 업로드되는 경우, 제1 클라이언트(101)는 보유자의 파일 식별자 및 사용자 식별자를 추가로 업로드하여, 액세스 승인 서버(103)가 보유자의 사용자 식별자에 대응하는 규칙에 따라 승인 코드를 생성하고, 승인 코드를 키의 제1 부분, 파일 식별자 및 보유자의 사용자 식별자와 연관시킬 수 있다. 액세스 요청을 수신하는 경우, 액세스 승인 서버(103)는 액세스 요청에서 운반되는 보유자의 파일 식별자 및 사용자 식별자에 따라 연관된 승인 코드 및 키의 제1 부분(액세스 승인 서버(103)에서 로컬로 유지되는 암호화된 데이터에 대응하는 승인 코드 및 키의 제1 부분일 수 있음)을 획득할 수 있어서, 액세스 요청에서 운반되는 승인 코드가 획득된 승인 코드에 따라 유효한지 여부를 결정하고, 획득된 키의 제1 부분 및 액세스 요청에서 운반되는 제2 부분에 따라 키를 생성할 수 있다.
일부 실시예들에서, 다양한 사용자들에 대한 승인 코드 생성 규칙은 액세스 승인 서버(103)에서 미리 구성될 수 있다. 그 규칙은 생성된 승인 코드, 생성된 승인 코드의 만료 시간 등에 대응하여 액세스가 허용된 데이터 주소를 지정할 수 있다. 데이터 주소는 블록체인의 블록 높이, URL(Universal Resource Locator) 주소 등일 수 있다. 일부 실시예들에서, 단계 203에서, 제1 클라이언트(101)가 키의 제1 부분을 업로드하는 경우, 액세스 승인 서버(104)는 암호화된 데이터의 보유자의 동시 업로드된 사용자 식별자에 따라, 승인 코드를 생성하기 위한 규칙을 결정할 수 있다. 이와 같이, 액세스 요청을 수신하는 경우, 액세스 승인 서버(103)는 현재 액세스 요청된 암호화된 데이터에 대응하여 승인 코드, 즉 보유자의 파일 식별자 및 사용자 식별자와 연관된 승인 코드를 로컬에서 발견할 수 있다. 액세스 요청에서 운반되는 승인 코드가 로컬에서 발견된 승인 코드와 동일하면, 액세스 요청에서 운반되는 승인 코드가 유효한 것으로 지시한다. 또한, 승인 코드가 만료되었는지 여부(예를 들어, 만료 시간이 도달되었는지 또는 승인 코드가 유효 날짜 내에 있는지 여부)가 검증될 수 있고 그리고/또는 현재 액세스 요청된 암호화된 데이터의 주소가 승인 코드에 대응하여 액세스 허용된 데이터 주소에 속하는지의 여부가 검증될 수 있다. 예를 들어, 블록체인 시나리오에서, 현재 보기가 요청된 데이터의 블록 높이가 승인 코드에 대응하여 액세스될 수 있는 블록 높이인지 여부가 검증될 수 있다. 다른 예로서, 사진 공유 시나리오에서, 현재 보기가 요청된 앨범 폴더가 승인 코드에 대응하여 액세스될 수 있는 폴더인지 여부가 검증될 수 있다. 검증이 성공하는 경우, 승인 코드가 유효한 것으로 결정될 수 있다. 블록체인 시나리오의 일부 실시예에서, 제2 클라이언트(102)에 의해 전송된 액세스 요청은 보여질 데이터의 파일 식별자를 운반할 수 있다. 액세스 승인 서버(103)는 파일 식별자에 따라 데이터가 위치한 블록 높이를 결정할 수 있으므로, 결정된 데이터의 블록 높이가 승인 코드에 대응하여 액세스될 수 있는 블록 높이인지의 여부를 검증할 수 있다. 일부 다른 실시예들에서, 제2 클라이언트(102)에 의해 전송된 액세스 요청은 데이터의 블록 높이를 직접 운반할 수 있고, 액세스 승인 서버(103)는 액세스 요청에서 운반된 블록 높이가 승인 코드에 대응하여 액세스 가능한 블록 높이인지의 여부를 검증할 수 있다.
승인 코드가 유효한 것으로 결정되는 경우, 보유자의 파일 식별자 및 사용자 식별자와 연관된 키의 획득된 제1 부분은 완전한 키를 형성하기 위해 액세스 요청에서 운반된 키의 제2 부분과 조합될 수 있다. 이러한 조합 방법은 단순히 두 부분을 연결하는 것일 수 있다.
일부 실시예에서, 단계 204에서, 제1 클라이언트(101)가 승인 코드를 수신하는 경우, 승인 코드 및 키의 제2 부분을 포함할 수 있는 암호화된 데이터의 액세스 토큰이 추가로 생성될 수 있고, 액세스 토큰은 파일 식별자와 연관될 수 있다. 단계 205에서, 승인 코드 및 키의 제2 부분을 제2 클라이언트(102)에게 전송하는 단계는, 제2 클라이언트(102)가 액세스 토큰을 액세스 요청에 추가할 수 있도록 파일 식별자와 연관된 액세스 토큰을 제2 클라이언트(102)에게 전송하는 단계를 더 포함할 수 있다.
구체적으로, 제1 클라이언트(101)는 하나 이상의 액세스 토큰을 유지한다. 제1 클라이언트(101)에 의해 업로드된 각각의 데이터는 액세스 토큰에 대응할 수 있다. 즉, 각각의 파일 식별자는 액세스 토큰과 연관될 수 있다. 이와 같이, 제2 클라이언트(102)가 제1 클라이언트(101)로부터 데이터 액세스 승인을 요청하는 경우, 제1 클라이언트(101)가 승인에 허가하는 것에 동의하면, 제1 클라이언트(101)는 대응하는 액세스 토큰을 결정하고, 액세스 토큰을 제2 클라이언트(102)에게 발행할 수 있다. 제2 클라이언트(102)는 특정 데이터, 또는 특정 조건을 만족하는 데이터 세트 또는 모든 데이터에 대한 액세스 승인을 요청할 수 있다. 제1 클라이언트(101)는 대응하는 하나 이상의 액세스 토큰을 제2 클라이언트(102)에게 전송할 수 있다.
일부 실시예들에서, 단계 204 후에, 방법은, 제1 클라이언트(101)가, 액세스 승인 서버(103)가 승인 코드를 무효화할 수 있도록, 승인 코드에 대한 취소 요청을 액세스 승인 서버(103)에게 전송하는 단계를 더 포함할 수 있다. 동시에, 제1 클라이언트(101)는 또한 로컬 승인 코드를 무효화할 수 있다. 승인 코드에 대한 취소 요청은 대응하는 파일 식별자를 운반할 수 있다. 액세스 승인 서버(103)는 파일 식별자에 따라 대응하는 승인 코드를 결정할 수 있으므로, 승인 코드를 무효화할 수 있다. 예를 들어, 승인 코드의 상태를 무효 상태로 설정하거나 승인 코드를 클리어할 수 있다. 액세스 승인 서버(103)는 승인 코드를 무효화한 후 제1 클라이언트(101)에게 응답을 리턴할 수 있다. 제1 클라이언트(101)는 응답을 수신하는 경우 로컬 승인 코드를 무효화함으로써, 승인 코드를 취소하는 전체 프로세스를 완료할 수 있다.
이러한 방식으로, 제1 클라이언트(101)는 액세스 승인 서버(103)가 업로드된 데이터에 대한 승인 코드를 생성할 수 있게 할 뿐만 아니라, 액세스 승인 서버(103)에게 승인 코드를 취소하도록 요청할 수도 있다. 승인 코드가 취소된 후, 제2 클라이언트(102)가 데이터 액세스를 요청할 때 승인 코드 또는 승인 코드를 포함하는 액세스 토큰을 사용하면, 승인 코드는 유효하지 않은 것으로 검증될 수 있다. 따라서, 액세스 요청이 거절될 수 있고, 제2 클라이언트(102)는 데이터를 액세스할 수 없거나, 또는 암호화된 데이터만을 획득할 수 있지만, 그러나 복호된 평문 데이터를 획득할 수는 없다. 따라서, 데이터 액세스를 위한 동적 인증 방식이 형성될 수 있다. 데이터를 공유하는 사용자는 필요에 따라 대응하는 승인 코드를 취소할 수 있으므로, 원래 승인 코드를 획득하여 데이터를 액세스할 수 있는 사용자가 더 이상 데이터를 액세스할 수 없다.
일부 실시예에서, 암호화된 데이터에 대한 승인 코드가 취소된 후, 액세스 승인 서버(103)가 암호화된 데이터에 대응하는 새로운 승인 코드를 생성할 수 있도록 제1 클라이언트(101)가 암호화된 데이터에 대한 승인 코드 생성 요청을 액세스 승인 서버(103)에게 추가로 전송하고, 그 후 제1 클라이언트(101)는 액세스 승인 서버(103)로부터 암호화된 데이터에 대응하는 새로운 승인 코드를 수신할 수 있다. 이와 같이, 이전에 인증된 사용자가 암호화된 데이터의 평문에 액세스할 수 없도록 사용자가 언제든지 승인 코드를 취소할 수 있을 뿐만 아니라 사용자가 암호화된 데이터의 평문을 액세스하도록 재승인하기 위해 새로운 승인 코드를 생성하도록 요청할 수 있으므로, 유연한 데이터 액세스 승인을 구현할 수 있다.
일부 실시예들에서, 승인 코드를 획득한 후, 제1 클라이언트(101)는 액세스 승인 서버(103)에게 승인 코드를 업데이트하도록 추가로 요청할 수 있다. 여기서, 제1 클라이언트(101)에 의해 획득된 승인 코드는 아직 삭제되지 않았거나 사용되지 않았다. 액세스 승인 서버(103)가 암호화된 데이터에 대응하는 새로운 승인 코드를 생성하고 이전 승인 코드를 새로운 승인 코드로 대체할 수 있도록 제1 클라이언트(101)는 암호화된 데이터에 대한 승인 코드 업데이트 요청을 액세스 승인 서버(103)에게 전송할 수 있다. 이어서, 제1 클라이언트(101)는 액세스 승인 서버(103)로부터 새로운 승인 코드를 수신하고, 이전의 승인 코드를 새로운 승인 코드로 대체한다. 이러한 승인 코드 업데이트 프로세스를 통해, 이전에 인증된 사용자가 암호화된 데이터의 평문에 액세스할 수 없도록 제1 클라이언트(101)는 이전의 승인 코드를 취소할 수 있다. 또한, 제1 클라이언트(101)는 새로운 사용자 승인 코드를 획득하여 추가 사용자를 승인하거나 동일한 사용자를 다시 승인할 수 있다.
일부 실시예들에서, 전술한 승인 코드 취소 요청, 승인 코드 생성 요청 및 승인 코드 업데이트 요청이 공존할 수 있고, 사용자는 승인 코드를 취소하거나, 새로운 승인 코드를 생성하거나 또는 필요에 따라 승인 코드를 업데이트하도록 선택할 수 있으므로, 향상된 동적 승인 해결수단을 구현할 수 있다.
실시예에 따르면, 액세스 승인 서버(103)에 의해 수행될 수 있는 데이터 공유 방법이 제공된다. 이 방법은 다음의 단계를 포함할 수 있다.
단계 301에서, 방법은 제1 클라이언트(101)로부터 제1 키의 제1 부분을 수신하는 단계를 포함할 수 있고, 제1 키는 정보 공유 시스템(104)의 블록에 업로드된 암호화된 데이터에 대응하며, 암호화된 데이터는 제1 키에 따라 평문 데이터를 암호화함에 의해 획득되고, 정보 공유 시스템은 블록체인 시스템이다.
단계 302에서, 방법은 암호화된 데이터에 대응하는 제1 승인 코드를 생성하는 단계를 포함할 수 있다.
단계 303에서, 방법은, 제2 클라이언트(102)가 암호화된 데이터에 액세스하는 경우에 제1 승인 코드 및 제1 키의 제2 부분을 액세스 요청에 추가할 수 있도록, 암호화된 데이터에 액세스하도록 제2 클라이언트(102)를 승인하는 경우에 제1 클라이언트(101)가 제1 승인 코드 및 제1 키의 제2 부분을 제2 클라이언트(102)에게 전송할 수 있도록 제1 클라이언트(101)에게 제2 승인 코드를 전송하는 단계를 포함할 수 있으며, 제1 키의 제2 부분은 제1 부분을 제외한 제1 키의 나머지 부분을 포함한다.
단계 304에서, 방법은, 전술한 승인된 제2 클라이언트(102) 또는 암호화된 데이터에 대한 다른 비 승인된 클라이언트일 수 있는 임의의 클라이언트로부터 액세스 요청의 수신에 응답하여 다음의 단계들을 수행하는 단계를 포함할 수 있다.
단계 305에서, 방법은, 액세스 요청으로부터 제2 승인 코드 및 불완전한 키를 획득하는 단계를 포함할 수 있다.
단계 306에서, 방법은, 제2 승인 코드가 제1 승인 코드와 동일하고 제2 승인 코드와 유효한 경우에 암호화된 데이터에 대응하는 불완전한 키 및 제1 키의 제1 부분에 따라 제2 키를 생성하는 단계를 포함할 수 있으며, 생성된 제2 키는 불완전한 키가 제1 키의 제2 부분과 동일한 경우 제1 키와 동일하다.
단계 307에서, 방법은 정보 공유 시스템(104)의 블록으로부터 암호화된 데이터를 획득하고, 제2 키에 따라 암호화된 데이터를 복호하는 단계를 포함할 수 있으며, 평문 데이터는 복호화를 통해 획득되고 제2 키가 제1 키와 동일한 경우 액세스 요청을 전송하는 클라이언트에게 전송된다.
전술한 실시예에서 제공된 방법을 사용함으로써, 제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)가 암호화된 데이터의 평문에 액세스하도록 승인할 수 있으므로, 정보 공유와 프라이버시 보호 사이의 균형을 달성하고, 더 나은 정보 공유 메커니즘을 제공할 수 있다.
일부 실시예들에서, 단계 305에서, 액세스 요청으로부터 제2 승인 코드 및 불완전한 키를 획득하는 단계는 액세스 요청으로부터 암호화된 데이터의 액세스 토큰을 획득하는 단계, 및 액세스 토큰으로부터 제2 승인 코드 및 불완전한 키를 획득하는 단계를 더 포함할 수 있다.
일부 실시예들에서, 단계 301에서, 제1 클라이언트로부터 키의 제1 부분을 수신하는 경우, 액세스 승인 서버(103)는 암호화된 데이터의 보유자의 파일 식별자 및 사용자 식별자를 더 수신할 수 있다. 단계 302에서, 암호화된 데이터에 대응하는 제1 승인 코드를 생성하는 단계는 보유자의 사용자 식별자에 대응하는 규칙에 따라 승인 코드를 생성하고, 승인 코드를 키의 제1 부분, 파일 식별자 및 보유자의 사용자 식별자와 연관시키는 단계, 및 액세스 요청의 수신에 응답하여, 액세스 요청에서 운반되는 보유자의 파일 식별자 및 사용자 식별자에 따라 연관된 승인 코드 및 키의 제1 부분을 획득하는 단계를 더 포함할 수 있다.
일부 실시예들에서, 블록은 블록 높이에 대응할 수 있다. 단계 302에서, 생성된 제1 승인 코드는 액세스가 허용된 블록 높이 및/또는 만료 시간에 대응할 수 있다. 단계 306에서, 제2 승인 코드가 제1 승인 코드와 동일한 경우에 제2 승인 코드에 대응하는 액세스가 허용되는 블록 높이 및/또는 만료 시간이 획득될 수 있다. 액세스 요청에 대응하는 암호화된 데이터의 블록 높이가 제2 승인 코드에 대응하여 액세스 허용된 블록 높이와 일치하는 경우 및/또는 제2 승인 코드의 만료시간이 아직 도달하지 않은 경우에 제2 승인 코드가 유효한 것으로 결정될 수 있다.
일부 실시예들에서, 방법은, 승인 코드에 대한 제1 클라이언트(101)로부터의 취소 요청에 응답하여 승인 코드를 무효화하는 단계를 더 포함할 수 있다. 액세스 승인 서버(103)는 승인 코드를 무효화한 후 제1 클라이언트(101)에게 응답을 리턴할 수 있다. 응답을 수신하는 경우, 제1 클라이언트(101)는 로컬 승인 코드를 무효화함으로써, 승인 코드를 취소하는 전체 프로세스를 완료할 수 있다. 따라서, 사용자는 필요에 따라 일부 데이터에 대한 승인 코드를 취소하여, 일부 사용자와의 데이터 공유를 취소할 수 있다. 예를 들어, 제2 클라이언트(102)는 미리 데이터에 대한 승인 코드를 획득할 수 있고, 승인 코드가 만료되면, 제2 클라이언트(102)가 승인 코드를 사용하여 데이터에 다시 액세스하도록 요청하는 경우에 승인 코드가 유효하지 않은 것으로 검증될 수 있다. 따라서, 제2 클라이언트(102)는 데이터를 액세스할 수 없다.
일부 실시예들에서, 방법은, 암호화된 데이터에 대해 클라이언트(101)로부터의 승인 코드 생성 요청에 응답하여 암호화된 데이터에 대응하는 새로운 승인 코드를 생성하는 단계; 및 암호화된 데이터에 대응하는 새로운 승인 코드를 제1 클라이언트(101)에게 전송하는 단계를 더 포함할 수 있다. 이러한 방식으로, 데이터에 대한 승인 코드를 취소한 후, 사용자는 새로운 승인 코드를 추가로 요청하여, 일부 사용자가 데이터에 액세스하도록 재승인할 수 있으므로, 유연한 데이터 액세스 승인을 제공할 수 있다.
일부 실시예들에서, 방법은, 암호화된 데이터에 대해 제1 클라이언트(101)로부터의 승인 코드 업데이트 요청에 응답하여 암호화된 데이터에 대응하는 새로운 승인 코드를 생성하고, 이전의 제1 승인 코드를 새로운 인증으로 대체하는 단계, 및 제1 클라이언트(101)가 이전의 제1 승인 코드를 새로운 승인 코드로 대체할 수 있도록 암호화된 데이터에 대응하는 새로운 승인 코드를 제1 클라이언트(101)에게 전송하는 단계를 더 포함할 수 있다.
도 4는 실시예에 따른 메시지 상호 작용 프로세스를 도시한다. 도 4에 도시된 바와 같이, 프로세스는 적어도 4개의 엔티티, 즉 제1 클라이언트(101), 제2 클라이언트(102), 액세스 승인 서버(103) 및 정보 공유 시스템(104)와 관련되며, 다음 처리 단계를 포함할 수 있다.
단계 401에서, 제1 클라이언트(101)는 암호화 키를 보유하고, 암호화된 데이터를 획득하기 위해 정보 공유 시스템(104)에게 업로드될 데이터를 암호화할 수 있다.
제1 클라이언트(101)는 암호화된 데이터를 정보 공유 시스템(104)에게 업로드할 수 있다. 암호화된 데이터의 업로드 동안, 암호화된 데이터의 보유자의 사용자 식별자 및 암호화된 데이터와 연관된 파일 식별자가 정보 공유 시스템(104)으로 추가로 전송될 수 있다. 예를 들어, 제1 클라이언트(101)는 데이터 업로드 요청을 정보 공유 시스템(104)으로 전송할 수 있으며, 여기서 요청은 보유자의 사용자 식별자, 파일 식별자 및 암호화된 데이터를 운반한다. 보유자의 사용자 식별자는 제1 클라이언트(101)의 현재 로그인 사용자의 식별자, 예를 들어 QQ 번호, 클라우드 디스크 계정 또는 블록체인 시스템의 계정일 수 있다. 파일 식별자는 암호화된 데이터를 식별하기 위해 사용될 수 있다.
정보 공유 시스템(104)은 제1 클라이언트(101)에 의해 업로드된 암호화된 데이터를 저장하고, 보유자의 사용자 식별자에 대응하는 디렉토리에 암호화된 데이터를 저장하고, 파일 식별자를 사용하여 암호화된 데이터를 식별하기 위해 암호화된 데이터를 보유자의 사용자 식별자 및 파일 식별자와 연관시킬 수 있다.
도 5에 도시된 시나리오에서, 제1 클라이언트(101)는 네트워크 디스크 클라이언트이고, 정보 공유 시스템(104)은 클라우드에서의 네트워크 디스크 서버이거나, 또는 클라우드 디스크 서버로서 지칭될 수 있다. 사용자는 네트워크 디스크 클라이언트를 사용하여 사진 및 비디오와 같은 파일을 업로드할 수 있다. 예를 들어, 사용자는 컨트롤(501)을 클릭하여 사진을 업로드하고, 컨트롤(502)을 클릭하여 비디오를 업로드할 수 있다. 사용자가 업로드된 사진 및 비디오의 프라이버시를 보장하기를 원하면, 네트워크 디스크 클라이언트는 데이터를 암호화하도록 구성될 수 있다. 이러한 방식으로, 네트워크 디스크 클라이언트는 단계 401에서 암호화 처리를 수행할 수 있다.
단계 402에서, 제1 클라이언트(101)는 단계 401에서의 암호화에 사용된 키의 전반부(키의 전반부로 지칭될 수 있음)를 액세스 승인 서버(103)에 업로드할 수 있고, 암호화된 데이터와 연관된 보유자의 사용자 식별자를 액세스 승인 서버에게 추가로 전송할 수 있다. 예를 들어, 제1 클라이언트(101)는 키 업로드 요청을 액세스 승인 서버(103)에게 전송할 수 있으며, 여기서 요청은 암호화된 데이터의 보유자의 사용자 식별자 및 키의 전반부를 운반한다.
액세스 승인 서버(103)는 보유자의 사용자 식별자에 대응하는 규칙에 따라 승인 코드를 생성하고, 승인 코드를 키의 전반부 및 보유자의 사용자 식별자와 연관시키며, 승인 코드를 제1 클라이언트(101)에게 리턴할 수 있다.
단계 403에서, 제1 클라이언트(101)는 단계 401에서 암호화에 사용된 키의 후반부(키의 후반부로 지칭될 수 있음)와 수신된 승인 코드를 조합하여 데이터 보기 토큰을 형성하고, 데이터 보기 토큰을 암호화된 데이터의 파일 식별자와 연관시킬 수 있다.
암호화된 데이터의 평문 데이터를 볼 수 있도록 제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)에게 각각의 파일에 대응하는 각각의 데이터 보기 토큰을 제공할 수 있음을 나타낸다.
단계 404에서, 제2 클라이언트(102)는 데이터 보기 토큰을 보유한 후 보기 요청을 액세스 승인 서버(103)에게 전송할 수 있으며, 여기서 요청은 암호화된 데이터의 보유자의 사용자 식별자, 파일 식별자 및 데이터 보기 토큰을 운반한다.
도 6에 도시된 시나리오에서, 제2 클라이언트(102)는 블록체인 페이지를 방문하기 위한 브라우저일 수 있다. 정보 공유 시스템(104)은 블록체인 시스템일 수 있다. 사용자는 블록체인 페이지를 방문하여 다른 정보를 볼 수 있다. 일부 정보는 개인용으로 설정될 수 있으며, 사용자는 사용자가 데이터 보기 토큰을 가지고 있는 경우에만 평문을 볼 수 있다. 예를 들어, 사용자는 컨트롤(601)을 클릭할 수 있고, 그 후 단계(404)는 보기 요청을 전송하기 위해 수행될 수 있다. 보기 요청에서 운반되는 데이터 보기 토큰이 정확한 유효한 승인 코드 및 정확한 키의 후반부를 포함하는 경우, 브라우저는 "세부 사항" 옵션에 대응하는 평문 데이터의 두 번째 페이지를 디스플레이할 수 있다.
단계 405에서, 액세스 승인 서버(103)는 수신된 보기 요청으로부터 데이터 보기 토큰, 보유자의 사용자 식별자 및 파일 식별자를 추출하고, 데이터 보기 토큰으로부터 승인 코드를 추출하며, 승인 코드가 유효한 지의 여부를 결정할 수 있다. 여기서, 승인 코드가 액세스 승인 서버(103)에 의해 유효한지 여부를 결정하는 작동은 두 가지 측면을 포함한다. 제1 측면에서, 데이터 보기 토큰으로부터 추출된 승인 코드가 보유자의 사용자 식별자와 연관된 로컬에 저장된 승인 코드와 동일한 지 여부가 결정되고, 데이터 보기 토큰으로부터 추출된 승인 코드가 로컬에서 발견된 승인 코드와 동일하면, 데이터 보기 토큰에서 운반된 승인 코드가 유효한 것으로 지시한다. 제2 측면에서, 2개의 승인 코드가 동일한 것으로 결정되면, 승인 코드가 만료되었는지 여부, 예를 들어, 승인 코드의 만료 시간이 도달했는지 또는 승인 코드가 여전히 유효 날짜 내에 존재하는지 여부가 추가로 검증되고, 그리고/또는 현재 액세스 요청된 암호화된 데이터의 주소가 승인 코드에 대응하여 액세스 허용된 데이터 주소에 속하는지 여부가 검증된다.
승인 코드가 유효한 것으로 결정되면, 액세스 승인 서버(103)는 승인 코드와 연관된 키의 전반부를 획득하고, 데이터 보기 토큰으로부터 키의 후반부를 추출하며, 완전한 키를 형성하기 위해 키의 전반부와 키의 후반부를 조합한다.
액세스 승인 서버(103)는 정보 공유 시스템(104)에 쿼리 요청을 추가로 전송할 수 있으며, 여기서 정보 공유 서버(104)가 보유자의 식별자 및 파일 식별자에 따라 연관된 암호화된 데이터를 찾고, 액세스 승인 서버(103)에게 암호화된 데이터를 리턴할 수 있도록, 요청은 보유자의 사용자 식별자 및 파일 식별자를 운반한다.
단계 406에서, 액세스 승인 서버(103)는 단계 405에서 획득된 완전한 키를 사용하여 암호화된 데이터를 복호할 수 있다. 데이터 보기 토큰으로부터 추출된 키의 후반부가 정확하면, 단계 405에서 정확한 완전한 키가 획득될 수 있다. 이러한 단계에서, 복호된 데이터(즉, 평문 데이터)는 복호화를 통해 성공적으로 획득될 수 있고, 복호된 데이터는 제2 클라이언트(102)에게 전송될 수 있다. 데이터 보기 토큰으로부터 추출된 키의 후반부가 부정확하면, 단계 405에서 획득된 키가 부정확하고, 복호가 수행될 수 없다. 이 경우, 오류가 제2 클라이언트(102)에게 보고될 수 있거나, 또는 암호화된 데이터가 제2 클라이언트(102)에게 직접 리턴될 수 있다. 즉, 제2 클라이언트(102)는 평문 데이터를 성공적으로 볼 수 없으므로, 제1 클라이언트(101)에 의해 업로드된 데이터의 보안을 보장할 수 있다.
전술한 단계들 중 어느 하나라도 실패하는 경우, 프로세스는 직접 종료될 수 있다.
전술한 방법에 기초하여, 본 개시의 실시예는 전술한 방법을 구현할 수 있는 적어도 하나의 클라이언트(제1 클라이언트(101)일 수 있음)를 추가로 제공한다. 도 7에 도시된 바와 같이, 제1 클라이언트(700)는 다음과 같은 모듈, 즉
암호화된 데이터를 획득하기 위해 키에 따라 평문 데이터를 암호화하도록 구성된 암호화 모듈(701);
암호화된 데이터를 정보 공유 시스템(104)의 블록에 업로드하고, 정보 공유 시스템(104)에 대응하는 액세스 승인 서버(103)에 키의 제1 부분을 업로드하도록 구성된 업로딩 모듈(702) ― 정보 공유 시스템은 블록체인 시스템임 ―; 및
액세스 승인 서버(103)로부터 암호화된 데이터에 대응하는 승인 코드를 수신하고, 사용자가 암호화된 데이터에 액세스하도록 승인되는 경우, 승인 코드 및 키의 제2 부분을 제2 클라이언트(102)에게 전송하도록 구성된 승인 모듈(703) ― 키의 제2 부분이 제1 부분을 제외한 키의 나머지 부분을 포함하고, 암호화된 데이터에 대한 액세스 요청을 액세스 승인 서버에게 전송하는 경우, 제2 클라이언트(102)가 승인 코드 및 키의 제2 부분을 액세스 요청에 추가함으로써, 승인 코드가 유효한 것으로 결정하는 경우에 액세스 승인 서버(103)가 키의 제1 부분 및 제2 부분에 따라 키를 생성하고, 평문 데이터를 획득하기 위해, 생성된 키에 따라 정보 공유 시스템(104)의 블록으로부터 획득된 암호화된 데이터를 복호하여 암호화된 데이터를 제2 클라이언트(102)에게 전송할 수 있 ―
을 포함할 수 있다.
일부 실시예들에서, 승인 모듈(703)은 승인 코드 및 키의 제2 부분을 포함하는, 암호화된 데이터의 액세스 토큰을 생성하고, 제2 클라이언트(102)가 액세스 토큰을 액세스 요청에 추가할 수 있도록 액세스 토큰을 제2 클라이언트(102)에게 전송하도록 추가로 구성될 수 있다.
일부 실시예들에서, 암호화된 데이터가 정보 공유 시스템(104)에 업로드되는 경우, 정보 공유 시스템(104)이 암호화된 데이터를 보유자의 파일 식별자 및 사용자 식별자와 연관시킬 수 있도록 업로딩 모듈(702)은 암호화된 데이터의 파일 식별자 및 암호화된 데이터 보유자의 사용자 식별자를 추가로 업로드할 수 있다. 따라서, 액세스 승인 서버(103)는 보유자의 파일 식별자 및 사용자 식별자에 따라 정보 공유 시스템(104)으로부터 암호화된 데이터를 획득할 수 있다.
일부 실시예들에서, 키의 제1 부분이 액세스 승인 서버(103)에 업로드되는 경우, 액세스 승인 서버(103)가 보유자의 사용자 식별자에 대응하는 규칙에 따라 승인 코드를 생성할 수 있도록, 업로딩 모듈(702)은 보유자의 파일 식별자 및 사용자 식별자를 추가로 업로드할 수 있다. 액세스 권한 서버(103)는 생성된 승인 코드를 키의 제1 부분, 파일 식별자 및 보유자의 사용자 식별자와 연관시키고, 획득된 승인 코드에 따라, 액세스 요청에서 운반된 승인 코드가 유효한지의 여부를 결정하고, 키의 제1 부분 및 액세스 요청에서 운반된 키의 제2 부분에 따라 키를 생성하기 위해, 액세스 요청의 수신에 응답하여, 액세스 요청에서 운반된 제1 부분의 파일 식별자 및 사용자 식별자에 따라 연관된 승인 코드 및 키의 제1 부분을 획득할 수 있다.
일부 실시예들에서, 승인 모듈(703)은 승인 코드 및 키의 제2 부분을 포함하는, 암호화된 데이터에 대한 액세스 토큰을 추가로 생성하고, 액세스 토큰을 파일 식별자와 연관시킬 수 있다. 승인 모듈(703)은 파일 식별자와 연관된 액세스 토큰을 제2 클라이언트(102)에게 전송할 수 있어서, 제2 클라이언트(102)는 액세스 토큰을 액세스 요청에 추가할 수 있다.
일부 실시예들에서, 승인 모듈(703)은 승인 코드에 대한 취소 요청을 액세스 승인 서버(103)에게 추가로 전송하여, 액세스 승인 서버(103)가 승인 코드를 무효화할 수 있도록 한다. 승인 모듈(703)은 로컬 승인 코드를 추가로 무효화할 수 있다.
일부 실시예들에서, 승인 모듈(703)은 암호화된 데이터에 대한 승인 코드 생성 요청을 액세스 승인 서버(103)에게 추가로 전송하여, 액세스 승인 서버(103)가 암호화된 데이터에 대응하는 새로운 승인 코드를 생성할 수 있도록 한다. 승인 모듈(703)은, 액세스 승인 서버(103)로부터, 암호화된 데이터에 대응하는 새로운 승인 코드를 추가로 수신할 수 있다.
일부 실시예들에서, 승인 모듈(703)은 암호화된 데이터에 대한 승인 코드 업데이트 요청을 액세스 승인 서버(103)에게 추가로 전송하여, 액세스 승인 서버(103)가 암호화된 데이터에 대응하는 새로운 승인 코드를 생성하고, 이전의 승인 코드를 새로운 승인 코드로 대체할 수 있다. 승인 모듈(703)은 액세스 승인 서버(103)로부터 새로운 승인 코드를 추가로 수신하고, 이전 승인 코드를 새로운 승인 코드로 대체할 수 있다.
전술한 방법에 기초하여, 본 개시의 실시예는 전술한 방법을 구현할 수 있는 (전술한 액세스 승인 서버(103)와 같은) 액세스 승인 서버를 추가로 제공할 수 있다. 도 8에 도시된 바와 같이, 서버(800)는 다음의 모듈, 즉,
제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 키의 나머지 부분을 포함함 ―;
암호화된 데이터에 대한 임의의 클라이언트(예를 들어, 제2 클라이언트(102))로부터의 액세스 요청의 수신에 응답하여, 액세스 요청으로부터 제2 승인 코드 및 불완전한 키를 획득하고, 제2 승인 코드가 제1 승인 코드와 동일하고 제2 승인 코드가 유효한 경우에 키 모듈(803)을 트리거하도록 구성된 검증 모듈(802);
암호화된 데이터에 대응하는 불완전한 키 및 제1 키의 제1 부분에 따라 제2 키를 생성하도록 구성되는 키 모듈(803) ― 생성된 제2 키는 불완전한 키가 제1 키의 제2 부분과 동일한 경우에 제1 키와 동일함―; 및
정보 공유 시스템(104)의 블록으로부터 암호화된 데이터를 획득하고, 제2 키에 따라 암호화된 데이터를 복호하도록 구성된 복호화 모듈(804) ― 평문 데이터는 복호화를 통해 획득되고 제2 키가 제1 키와 동일한 경우에 액세스 요청을 전송하는 클라이언트에게 전송됨 ―
을 포함할 수 있다.
일부 실시예들에서, 검증 모듈(802)은 액세스 요청으로부터 암호화된 데이터의 액세스 토큰을 획득하고, 액세스 토큰으로부터 제2 승인 코드 및 불완전한 키를 획득할 수 있다.
일부 실시예들에서, 승인 모듈(801)은 제1 클라이언트(101)로부터 키의 제1 부분을 수신하는 경우에 암호화된 데이터의 보유자의 파일 식별자 및 사용자 식별자를 추가로 수신할 수 있다. 승인 모듈(801)은 보유자의 사용자 식별자에 대응하는 규칙에 따라 제1 승인 코드를 생성하고, 제1 승인 코드를 키의 제1 부분, 파일 식별자 및 보유자의 사용자 식별자와 연관시킬 수 있다. 검증 모듈(802)은, 액세스 요청의 수신에 응답하여, 액세스 요청에서 운반된 보유자의 파일 식별자 및 사용자 식별자에 따라 연관된 제1 승인 코드 및 키의 제1 부분을 획득할 수 있다.
일부 실시예들에서, 블록은 블록 높이에 대응할 수 있다. 승인 모듈(801)에 의해 생성된 제1 승인 코드는 액세스가 허용된 블록 높이 및/또는 만료 시간에 대응할 수 있다. 검증 모듈(802)은 제2 승인 코드가 제1 승인 코드와 동일한 경우에 제2 승인 코드에 대응하는 액세스가 허용된 블록 높이 및/또는 만료 시간을 획득할 수 있고, 액세스 요청에 대응하는 암호화된 데이터의 블록 높이가 제2 승인 코드에 대응하여 액세스 허용된 블록 높이와 일치하는 경우 및/또는 제2 승인 코드의 만료 시간이 아직 도달하지 않은 경우에 제2 승인 코드가 유효한 것으로 결정할 수 있다.
일부 실시예들에서, 승인 모듈(801)은 승인 코드에 대해 제1 클라이언트(101)로부터의 취소 요청에 응답하여 제1 승인 코드를 추가로 무효화할 수 있고, 제1 클라이언트(101)가 로컬의 제1 승인 코드를 무효화할 수 있도록 제1 클라이언트에게 응답을 리턴할 수 있다.
일부 실시예들에서, 승인 모듈(801)은 암호화된 데이터에 대한 제1 클라이언트(101)로부터의 승인 코드 생성 요청에 응답하여 암호화된 데이터에 대응하는 새로운 승인 코드를 추가로 생성하고, 암호화된 데이터에 대응하는 새로운 승인 코드를 제1 클라이언트(101)에게 전송할 수 있다.
일부 실시예들에서, 승인 모듈(801)은 암호화된 데이터에 대한 제1 클라이언트(101)로부터의 승인 코드 업데이트 요청에 응답하여 암호화된 데이터에 대응하는 새로운 승인 코드를 추가로 생성하고, 이전의 제1 승인 코드를 새로운 인증으로 대체하며, 제1 클라이언트(101)가 이전의 제1 승인 코드를 새로운 승인 코드로 대체할 수 있도록 암호화된 데이터에 대응하는 새로운 승인 코드를 제1 클라이언트(101)에게 전송할 수 있다.
전술한 모듈의 기능의 구현 원리는 이미 위에서 상세하게 설명되었고, 상세한 것은 여기에서 다시 설명되지 않는다.
일부 실시예들에서, 전술한 클라이언트(700) 및 서버(800)는 다양한 컴퓨팅 장치에서 실행될 수 있고, 컴퓨팅 장치의 메모리에 로드될 수 있다. 실시예에 따르면, 하나 이상의 프로세서, 메모리, 및 메모리에 저장되고 하나 이상의 프로세서에 의해 수행되도록 구성된 하나 이상의 프로그램을 포함하는 컴퓨팅 장치가 제공되며, 하나 이상의 프로그램은 전술한 방법 실시예들 중 임의의 것을 수행하기 위한 명령을 포함한다.
도 9는 클라이언트(700) 또는 서버(800)가 위치하는 컴퓨팅 장치의 구성의 구조도이다. 도 9에 도시된 바와 같이, 컴퓨팅 장치는 하나 이상의 프로세서(CPU)(902), 통신 모듈(904), 메모리(906), 사용자 인터페이스(910), 및 컴포넌트들을 상호 연결하도록 구성된 통신 버스(908)를 포함할 수 있다.
프로세서(902)는 네트워크 통신 및/또는 로컬 통신을 구현하기 위해 통신 모듈(904)을 통해 데이터를 수신하고 전송할 수 있다.
사용자 인터페이스(910)는 하나 이상의 스피커 및/또는 하나 이상의 시각 디스플레이를 포함하는 하나 이상의 출력 장치를 포함할 수 있다. 사용자 인터페이스는 또한 예를 들어 키보드, 마우스, 음성 명령 입력 유닛 또는 라우드스피커, 터치 디스플레이, 터치 감응 입력 태블릿, 제스처 캡처 카메라 또는 다른 입력 버튼 또는 제어를 포함하는 하나 이상의 입력 장치(914)를 포함할 수 있다.
메모리(906)는 DRAM, SRAM, DDR RAM 또는 다른 랜덤 액세스 솔리드 스테이트 저장 장치와 같은 고속 랜덤 액세스 메모리일 수 있다. 메모리(906)는 또한 비 휘발성 메모리, 예를 들어 하나 이상의 자기 디스크 저장 장치, 광 디스크 저장 장치, 플래시 메모리 장치 또는 다른 비 휘발성 솔리드 스테이트 저장 장치를 포함할 수 있다.
메모리(906)는 프로세서(902)에 의해 실행될 수 있는 명령 세트를 저장할 수 있으며,
다양한 기본 시스템 서비스를 처리하고 하드웨어 관련 작업을 수행하기 위한 프로그램을 포함하는 운영 체제(916); 및
전술한 실시예에서의 처리 절차를 구현할 수 있는 다양한 애플리케이션 프로그램을 포함하며, 예를 들어 도 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)의 기능을 구현할 수 있다.
전술한 실시예에서 제공된 클라이언트, 서버 및 컴퓨팅 장치를 사용함으로써, 제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)에 의해 보유된 키 정보가 조합되는 경우에만 획득될 수 있으므로, 데이터 보안 및 사용자 프라이버시를 보장할 수 있다.
전술한 프로세스 및 구조도의 모든 단계 및 모듈이 필요한 것은 아니며, 실제 요구사항에 따라 일부 단계 또는 모듈은 무시될 수 있다. 단계의 실행 순서는 고정되어 있지 않지만, 필요에 따라 조정될 수 있다. 모듈의 분할은 단지 사용된 기능 분할을 편리하게 설명하기 위한 것이다. 실제 구현 동안, 하나의 모듈은 다수의 모듈에 의해 구현될 수 있고, 다수의 모듈의 기능은 또한 동일한 모듈에 의해 구현될 수 있다. 모듈은 동일한 장치에 위치할 수 있거나, 또는 다른 장치에 위치할 수 있다.
실시예에서의 하드웨어 모듈은 하드웨어 또는 소프트웨어를 갖는 하드웨어 플랫폼에 의해 구현될 수 있다. 소프트웨어는 기계 판독 가능 명령어를 포함할 수 있고, 비 휘발성 저장 매체에 저장될 수 있다. 따라서, 실시예들은 또한 소프트웨어 제품으로서 구현될 수도 있다.
실시예들에서, 하드웨어는 전용 하드웨어 또는 기계 판독 가능 명령을 실행하는 하드웨어에 의해 구현될 수 있다. 예를 들어, 하드웨어는 특정 작동을 완료하도록 구성된 특별히 설계된 영구 회로 또는 논리 장치(예를 들어, FPGA 또는 ASIC과 같은 특수 목적 프로세서)일 수 있다. 하드웨어는 또한 프로그램 가능한 로직 장치 또는 소프트웨어에서 일시적으로 구성되고 특정 작업을 수행하도록 구성된 (범용 프로세서 또는 다른 프로그램 가능 프로세서와 같은) 회로를 포함할 수 있다.
또한, 본 개시의 실시예 각각은 컴퓨터와 같은 데이터 처리 장치에 의해 실행되는 데이터 처리 프로그램에 의해 구현될 수 있다. 분명히, 데이터 처리 프로그램은 본 개시에서 사용될 수 있다. 또한, 일반적으로 저장 매체에 저장된 데이터 처리 프로그램은 다음의 방식: 저장 매체로부터 프로그램을 직접 판독하거나 또는 데이터 처리 장치의 (하드 디스크 또는 메모리와 같은) 저장 장치에 프로그램을 설치하거나 또는 복사하는 방식으로 실행될 수 있다. 따라서, 이러한 저장 매체는 본 개시에서 사용될 수도 있다. 본 개시의 실시예는 데이터 처리 프로그램을 저장할 수 있는 비 휘발성 저장 매체를 더 제공한다. 데이터 처리 프로그램은 본 개시의 전술한 방법 실시예에서의 임의의 실시예를 실행하도록 구성될 수 있다.
도 7 및 도 8에서의 모듈에 대응하는 기계 판독 가능 명령은 컴퓨터에서 작동하는 운영 체제가 여기에서 설명된 작동의 전부 또는 일부를 완료하게 할 수 있다. 비 휘발성 컴퓨터 판독 가능 저장 매체는 컴퓨터의 확장 보드에 배치된 메모리에 삽입되거나 또는 컴퓨터에 연결된 확장 유닛에 배치된 메모리에 기록될 수 있다. 확장 보드 또는 확장 유닛에 설치된 CPU 등은 명령에 따라 실제 작동의 일부 또는 전부를 수행할 수 있다.
비 휘발성 컴퓨터 판독 가능 저장 매체는 플로피 디스크, 하드 디스크, 광 자기 디스크, (CD-ROM, CD-R, CD-RW, DVD-ROM, DVD-RAM, DVD-RW 또는 DVD RW 같은) 광 디스크, 자기 테이프, 비 휘발성 메모리 카드 및 ROM을 포함한다. 또한, 프로그램 코드는 서버 컴퓨터로부터 통신 네트워크에 의해 다운로드될 수 있다.
결론적으로, 청구 범위의 범주는 상기한 실시예에서의 구현으로 제한되지 않으며, 본 개시는 전체적으로 가장 넓은 의미로 해석되어야 한다.

Claims (15)

  1. 제1 클라이언트에 의해 수행되는 데이터 공유 방법으로서,
    암호화된 데이터를 획득하기 위해, 키(key)에 따라 평문 데이터를 암호화하는 단계;
    상기 암호화된 데이터를 정보 공유 시스템의 블록으로 업로드하는 단계 ― 상기 정보 공유 시스템은 블록체인 시스템임 ―;
    상기 정보 공유 시스템에 대응하는 액세스 승인 서버로 상기 키의 제1 부분을 업로드하는 단계;
    상기 암호화된 데이터에 대응하는 승인 코드를 상기 액세스 승인 서버로부터 수신하는 단계; 및
    사용자가 상기 암호화된 데이터에 액세스하도록 승인되는 경우에 상기 사용자의 제2 클라이언트에게 상기 승인 코드 및 상기 키의 제2 부분을 전송하는 단계 ― 상기 키의 제2 부분은 상기 제1 부분을 제외한 상기 키의 나머지 부분을 포함하고, 상기 액세스 승인 서버에게 상기 암호화된 데이터에 대한 액세스 요청을 전송하는 경우, 상기 제2 클라이언트가 상기 승인 코드 및 상기 키의 제2 부분을 상기 액세스 요청에 추가하고, 상기 액세스 승인 서버가 상기 승인 코드가 유효한 것으로 결정하는 경우에 상기 액세스 승인 서버가 상기 키의 제1 부분 및 제2 부분에 따라 상기 키를 생성하고, 상기 평문 데이터를 획득하기 위해, 상기 생성된 키에 따라 상기 정보 공유 시스템의 블록으로부터 획득된 상기 암호화된 데이터를 복호하며, 상기 제2 클라이언트에게 상기 암호화된 데이터를 리턴함 ―
    을 포함하는 데이터 공유 방법.
  2. 제1항에 있어서,
    상기 암호화된 데이터가 상기 정보 공유 시스템의 블록으로 업로드되는 경우, 상기 정보 공유 시스템이 상기 암호화된 데이터를 상기 암호화된 데이터의 파일 식별자 및 상기 암호화된 데이터의 보유자의 사용자 식별자와 연관시키고, 상기 액세스 승인 서버가 상기 파일 식별자 및 상기 보유자의 사용자 식별자에 따라 상기 정보 공유 시스템의 블록으로부터 상기 암호화된 데이터를 획득할 수 있도록, 상기 파일 식별자 및 상기 보유자의 사용자 식별자가 추가로 업로드되는,
    데이터 공유 방법.
  3. 제2항에 있어서,
    상기 키의 제1 부분이 상기 액세스 승인 서버로 업로드되는 경우, 상기 액세스 승인 서버가 상기 보유자의 사용자 식별자에 대응하는 규칙에 따른 상기 승인 코드를 생성하고, 상기 승인 코드를 상기 키의 제1 부분, 상기 파일 식별자 및 상기 보유자의 사용자 식별자와 연관시키며, 상기 액세스 요청의 수신에 응답하여, 상기 액세스 요청에서 운반되는 상기 파일 식별자 및 상기 제1 부분의 사용자 식별자에 따라 상기 연관된 승인 코드 및 상기 키의 제1 부분을 획득하여, 상기 획득된 승인 코드에 따라, 상기 액세스 요청에서 운반된 상기 승인 코드가 유효한지의 여부를 결정하고, 상기 키의 제1 부분 및 상기 액세스 요청에서 운반된 상기 제2 부분을 생성할 수 있도록, 상기 파일 식별자 및 상기 보유자의 사용자 식별자가 추가로 업로드되는,
    데이터 공유 방법.
  4. 제1항에 있어서,
    상기 액세스 승인 서버가 상기 승인 코드를 무효화할 수 있도록 상기 액세스 승인 서버에게 상기 승인 코드의 취소 요청을 전송하는 단계; 및
    로컬 승인 코드를 무효화하는 단계
    를 더 포함하는 데이터 공유 방법.
  5. 제1항에 있어서,
    상기 액세스 승인 서버가 상기 암호화된 데이터에 대응하는 새로운 승인 코드를 생성하고, 이전의 승인 코드를 상기 새로운 승인 코드로 대체할 수 있도록 상기 액세스 승인 서버에게 상기 암호화된 데이터에 대한 승인 코드 업데이트 요청을 전송하는 단계; 및
    상기 액세스 승인 서버로부터 상기 새로운 승인 코드를 수신하고, 상기 승인 코드를 상기 새로운 승인 코드로 대체하는 단계
    를 더 포함하는 데이터 공유 방법.
  6. 액세스 승인 서버에 의해 수행되는 데이터 공유 방법으로서,
    제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 키와 동일한 경우에 상기 액세스 요청을 전송하는 상기 클라이언트에게 전송됨 ―
    를 더 포함하는, 데이터 공유 방법
  7. 제6항에 있어서,
    상기 키의 제1 부분이 상기 제1 클라이언트로부터 수신되는 경우, 상기 암호화된 데이터의 파일 식별자 및 상기 암호화된 데이터의 보유자의 사용자 식별자가 더 수신되고,
    상기 암호화된 데이터에 대응하는 상기 제1 승인 코드를 생성하는 단계는,
    상기 보유자의 사용자 식별자에 대응하는 규칙에 따라 상기 제1 승인 코드를 생성하고, 상기 제1 승인 코드를 상기 키의 제1 부분, 상기 파일 식별자 및 상기 보유자의 사용자 식별자와 연관시키는 단계; 및
    상기 액세스 요청을 수신하는 것에 응답하여, 상기 액세스 요청에서 운반되는 상기 파일 식별자 및 상기 보유자의 사용자 식별자에 따라 상기 연관된 제1 승인 코드 및 상기 키의 제1 부분을 획득하는 단계
    를 더 포함하는, 데이터 공유 방법.
  8. 제6항에 있어서,
    상기 블록은 블록 높이에 대응하고,
    상기 생성된 제1 승인 코드는 액세스가 허용된 블록 높이 및 만료 시간 중 적어도 하나에 대응하며,
    상기 제2 승인 코드가 상기 제1 승인 코드와 동일한 경우에 상기 제2 승인 코드에 대응하는 액세스가 허용된 블록 높이 및 만료 시간 중 적어도 하나가 획득되고,
    상기 액세스 요청에 대응하는 상기 암호화된 데이터의 블록 높이가 상기 제2 승인 코드에 대응하여 액세스가 허용된 블록 높이와 일치하는 경우 및/또는 상기 제2 승인 코드의 만료 시간이 아직 도달하지 않은 경우에 상기 제2 승인 코드가 유효한 것으로 결정되는,
    데이터 공유 방법.
  9. 제6항에 있어서,
    상기 승인 코드에 대한, 상기 클라이언트로부터의 취소 요청에 응답하여 상기 제1 승인 코드를 무효화하는 단계; 및
    상기 제1 클라이언트가 상기 로컬 제1 승인 코드를 무효화할 수 있도록, 상기 제1 클라이언트에게 응답을 리턴하는 단계
    를 더 포함하는 데이터 공유 방법.
  10. 제6항에 있어서,
    상기 암호화된 데이터에 대한, 상기 제1 클라이언트로부터의 승인 코드 생성 요청에 응답하여 상기 암호화된 데이터에 대응하는 새로운 승인 코드를 생성하는 단계; 및
    상기 제1 클라이언트에게 상기 암호화된 데이터에 대응하는 상기 새로운 승인 코드를 전송하는 단계
    를 더 포함하는 데이터 공유 방법.
  11. 제6항에 있어서,
    상기 암호화된 데이터에 대한, 상기 제1 클라이언트로부터의 승인 코드 업데이트 요청에 응답하여 상기 암호화된 데이터에 대응하는 새로운 승인 코드를 생성하고, 상기 제1 승인 코드를 상기 새로운 승인 코드로 대체하는 단계; 및
    상기 제1 클라이언트가 상기 제1 승인 코드를 상기 새로운 승인 코드로 대체할 수 있도록, 상기 제1 클라이언트에게 상기 암호화된 데이터에 대응하는 상기 새로운 승인 코드를 전송하는 단계
    를 더 포함하는 데이터 공유 방법.
  12. 제1 클라이언트로서,
    암호화된 데이터를 획득하기 위해, 키(key)에 따라 평문 데이터를 암호화하도록 구성된 암호화 모듈;
    상기 암호화된 데이터를 정보 공유 시스템의 블록으로 업로드하고, 상기 정보 공유 시스템에 대응하는 액세스 승인 서버로 상기 키의 제1 부분을 업로드하도록 구성된 업로딩 모듈 ― 상기 정보 공유 시스템은 블록체인 시스템임 ―;
    상기 암호화된 데이터에 대응하는 승인 코드를 상기 액세스 승인 서버로부터 수신하고,
    사용자가 상기 암호화된 데이터에 액세스하도록 승인되는 경우에 제2 클라이언트에게 상기 승인 코드 및 상기 키의 제2 부분을 전송하도록 구성된 승인 모듈 ― 상기 키의 제2 부분은 상기 제1 부분을 제외한 상기 키의 나머지 부분을 포함하고, 상기 액세스 승인 서버에게 상기 암호화된 데이터에 대한 액세스 요청을 전송하는 경우, 상기 제2 클라이언트가 상기 승인 코드 및 상기 키의 제2 부분을 상기 액세스 요청에 추가하고, 상기 액세스 승인 서버가 상기 승인 코드가 유효한 것으로 결정하는 경우에 상기 액세스 승인 서버가 상기 키의 제1 부분 및 제2 부분에 따라 상기 키를 생성하고, 상기 평문 데이터를 획득하기 위해, 상기 생성된 키에 따라 상기 정보 공유 시스템의 블록으로부터 획득된 상기 암호화된 데이터를 복호하며, 상기 제2 클라이언트에게 상기 암호화된 데이터를 리턴함 ―
    을 포함하는 제1 클라이언트.
  13. 액세스 승인 서버로서,
    제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 키와 동일한 경우에 상기 액세스 요청을 전송하는 상기 클라이언트에게 전송됨 ―
    을 포함하는 액세스 승인 서버.
  14. 컴퓨팅 장치로서,
    하나 이상의 프로세서;
    메모리; 및
    상기 메모리에 저장되고 상기 하나 이상의 프로세서에 의해 실행되도록 구성된 하나 이상의 프로그램 ― 상기 하나 이상의 프로그램은 청구항 1 내지 청구항 11 중 어느 한 항에 따른 방법을 수행하기 위한 명령을 포함함 ―
    을 포함하는 컴퓨팅 장치.
  15. 저장 매체로서,
    명령을 포함하는 하나 이상의 프로그램을 저장하고,
    상기 명령은, 컴퓨팅 장치에 의해 실행될 때, 상기 컴퓨팅 장치가 청구항 1 내지 청구항 11 중 어느 한 항에 따른 방법을 수행할 수 있게 하는,
    저장 매체.
KR1020197034696A 2017-11-02 2018-09-27 데이터 공유 방법, 클라이언트, 서버, 컴퓨팅 장치 및 저장 매체 KR102219008B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201711065783.1A CN107979590B (zh) 2017-11-02 2017-11-02 数据共享方法、客户端、服务器、计算设备及存储介质
CN201711065783.1 2017-11-02
PCT/CN2018/107962 WO2019085699A1 (zh) 2017-11-02 2018-09-27 数据共享方法、客户端、服务器、计算设备及存储介质

Publications (2)

Publication Number Publication Date
KR20200002985A true KR20200002985A (ko) 2020-01-08
KR102219008B1 KR102219008B1 (ko) 2021-02-22

Family

ID=62012925

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197034696A KR102219008B1 (ko) 2017-11-02 2018-09-27 데이터 공유 방법, 클라이언트, 서버, 컴퓨팅 장치 및 저장 매체

Country Status (6)

Country Link
US (1) US11223477B2 (ko)
EP (1) EP3618394B1 (ko)
JP (1) JP6961818B2 (ko)
KR (1) KR102219008B1 (ko)
CN (1) CN107979590B (ko)
WO (1) WO2019085699A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
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
KR20230124207A (ko) * 2022-02-18 2023-08-25 주식회사 한글과컴퓨터 클라우드 기반의 문서 공유 서비스를 운영하기 위한 문서 공유 서비스 서버 및 그 동작 방법
KR20230124271A (ko) * 2022-02-18 2023-08-25 주식회사 한글과컴퓨터 클라우드 기반의 문서 공유 서비스에서, 허가되지 않은 글꼴이 적용된 문서 파일에 대한 저장 및 공유 처리를 수행하기 위한 문서 공유 서비스 서버 및 그 동작 방법

Families Citing this family (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11115392B1 (en) * 2018-03-07 2021-09-07 Turbo Business Suite LLC Consumer-authorized controlled distribution of trusted source data
CN108632284B (zh) * 2018-05-10 2021-02-23 网易(杭州)网络有限公司 基于区块链的用户数据授权方法、介质、装置和计算设备
CN108768972B (zh) * 2018-05-16 2020-11-27 智车优行科技(北京)有限公司 车辆数据的存储和访问方法及装置、系统、电子设备
CN108462724B (zh) * 2018-05-17 2020-07-31 京东数字科技控股有限公司 数据共享方法、装置、系统、成员节点和可读存储介质
CN108768633B (zh) * 2018-05-30 2022-03-25 腾讯科技(深圳)有限公司 实现区块链中信息共享的方法及装置
US11108762B2 (en) 2018-06-05 2021-08-31 The Toronto-Dominion Bank Methods and systems for controlling access to a protected resource
CN112567441A (zh) * 2018-06-29 2021-03-26 索尼公司 信息处理系统、信息处理方法和信息处理装置
CN109032694A (zh) * 2018-07-03 2018-12-18 郑州云海信息技术有限公司 一种数据加载方法及终端
CN108985863A (zh) * 2018-08-27 2018-12-11 中国联合网络通信集团有限公司 一种募捐捐赠方法及系统
CN110958211B (zh) * 2018-09-27 2022-05-27 安徽华峪文化科技有限公司 一种基于区块链的数据处理系统及方法
CN109559117B (zh) * 2018-11-14 2022-05-20 北京科技大学 基于属性基加密的区块链合约隐私保护方法与系统
CN109474597A (zh) * 2018-11-19 2019-03-15 中链科技有限公司 一种基于区块链的分布式消息发送与接收方法以及装置
WO2020102974A1 (zh) * 2018-11-20 2020-05-28 深圳市欢太科技有限公司 一种数据访问方法、数据访问装置及移动终端
CN109583905A (zh) * 2018-12-21 2019-04-05 众安信息技术服务有限公司 基于区块链网络的利用通证来实现数据共享的方法和设备
CN111385266B (zh) * 2018-12-29 2022-06-17 湖南亚信软件有限公司 数据共享方法、装置、计算机设备和存储介质
CN111540341B (zh) * 2019-01-22 2024-08-06 北京搜狗科技发展有限公司 一种数据处理方法、装置和用于数据处理的装置
US11368441B2 (en) * 2019-01-29 2022-06-21 Mastercard International Incorporated Method and system for general data protection compliance via blockchain
CN110147410B (zh) * 2019-04-18 2020-08-04 阿里巴巴集团控股有限公司 一种块链式账本中的数据验证方法、系统、装置及设备
CN110177092A (zh) * 2019-05-22 2019-08-27 南京邮电大学 一种基于区块链的电子数据可信下载方法
CN110263556A (zh) * 2019-05-22 2019-09-20 广东安创信息科技开发有限公司 一种oa系统数据的加解密方法及系统
EP3764613A1 (en) * 2019-07-09 2021-01-13 Gemalto Sa Method, first device, first server, second server and system for accessing a private key
US11194918B2 (en) * 2019-07-10 2021-12-07 International Business Machines Corporation Data transmission based on verification codes
CN111010386B (zh) * 2019-12-10 2021-12-21 上海信联信息发展股份有限公司 一种基于共享账本的隐私保护与数据监管控制方法
CN111061982B (zh) * 2019-12-11 2023-04-18 电子科技大学 一种基于区块链的新闻资讯发布及管理系统
CN111179067B (zh) * 2019-12-31 2023-06-27 杭州趣链科技有限公司 一种基于区块链的银行间客户信息交换系统
US11271742B2 (en) 2020-01-26 2022-03-08 International Business Machines Corporation Decentralized secure data sharing
US11088833B1 (en) 2020-01-26 2021-08-10 International Business Machines Corporation Decentralized secure data sharing
US11356260B2 (en) 2020-01-26 2022-06-07 International Business Machines Corporation Decentralized secure data sharing
SG11202012921XA (en) * 2020-02-14 2021-01-28 Alipay Hangzhou Inf Tech Co Ltd Data authorization based on decentralized identifiers
CN111352996B (zh) * 2020-02-26 2023-09-19 百度在线网络技术(北京)有限公司 基于区块链网络的数据共享方法、装置、设备及介质
US11658816B2 (en) * 2020-04-15 2023-05-23 Philips North America Llc Document control system for blockchain
CN111639350B (zh) * 2020-05-16 2023-01-31 中信银行股份有限公司 密码服务系统及加密方法
CN111740986B (zh) * 2020-06-19 2022-07-19 公安部第三研究所 基于标识密码技术的实现数据共享控制的系统及其方法
CN111914293B (zh) * 2020-07-31 2024-05-24 平安科技(深圳)有限公司 一种数据访问权限验证方法、装置、计算机设备及存储介质
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 (zh) * 2020-09-16 2024-08-13 天星数科科技有限公司 数据读取方法及装置、数据授权方法及装置、存储介质
CN112184426A (zh) * 2020-10-12 2021-01-05 深圳壹账通智能科技有限公司 数据共享方法、系统、服务器及计算机可读存储介质
CN112333199B (zh) * 2020-11-17 2023-04-21 珠海大横琴科技发展有限公司 一种数据处理的方法和装置
CN112637177B (zh) * 2020-12-17 2022-09-27 赛尔网络有限公司 数据加密传输方法、装置、设备及介质
CN112615936A (zh) * 2020-12-28 2021-04-06 南京披云信息科技有限公司 提升物联网安全的方法及装置
CN113515728B (zh) * 2021-05-18 2023-08-04 北京飞利信电子技术有限公司 一种基于多级部署的物联网平台软件授权控制系统和方法
US11615375B2 (en) * 2021-07-02 2023-03-28 dexFreight, Inc. Electronic management of supply chain factoring with shared state storage in a distributed ledger
US11755772B2 (en) 2021-09-20 2023-09-12 Crown Sterling Limited, LLC Securing data in a blockchain with a one-time pad
CN113868605B (zh) * 2021-09-30 2024-03-22 新华三大数据技术有限公司 授权管理方法、装置及系统
CN113722695B (zh) * 2021-11-02 2022-02-08 佳瑛科技有限公司 基于云端服务器的财务数据安全共享方法、装置及系统
US11791988B2 (en) 2021-11-22 2023-10-17 Theon Technology Llc Use of random entropy in cryptography
US11943336B2 (en) 2021-11-22 2024-03-26 Theon Technology Llc Use of gradient decent function in cryptography
US11902420B2 (en) 2021-11-23 2024-02-13 Theon Technology Llc Partial cryptographic key transport using one-time pad encryption
CN114218583A (zh) * 2021-11-26 2022-03-22 中国联合网络通信集团有限公司 文件访问方法、区块链系统、电子设备、计算机可读介质
CN114124572B (zh) * 2021-12-07 2023-06-27 建信金融科技有限责任公司 基于单向网络的数据传输方法、装置、设备和介质
US20230291548A1 (en) * 2022-03-08 2023-09-14 Western Digital Technologies, Inc. Authorization requests from a data storage device to multiple manager devices
US11727145B1 (en) 2022-06-10 2023-08-15 Playback Health Inc. Multi-party controlled transient user credentialing for interaction with patient health data
CN116155619B (zh) * 2023-04-04 2023-07-07 江西农业大学 数据处理方法、数据请求端、数据拥有端及数据处理装置
CN118214556B (zh) * 2024-05-20 2024-07-26 北京信安世纪科技股份有限公司 访问请求响应方法、系统、设备、存储介质和程序产品

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100042457A (ko) * 2008-10-16 2010-04-26 삼성전자주식회사 데이터 암호화 방법 및 장치와 데이터 복호화 방법 및 장치
KR20150037913A (ko) * 2012-07-05 2015-04-08 가부시키가이샤 크립토 베이직 공유 비밀키 생성 장치, 암호화 장치, 복호화 장치, 공유 비밀키 생성 방법, 암호화 방법, 복호화 방법, 및 프로그램
KR20170048864A (ko) * 2015-10-27 2017-05-10 라인 가부시키가이샤 사용자 단말, 메시지를 송수신하는 방법 및 컴퓨터 프로그램
US20170177898A1 (en) * 2015-12-16 2017-06-22 International Business Machines Corporation Personal ledger blockchain
CN107196900A (zh) * 2017-03-24 2017-09-22 阿里巴巴集团控股有限公司 一种共识校验的方法及装置

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8464353B2 (en) * 2003-10-03 2013-06-11 Hewlett-Packard Development Company, L. P. Method and system for content downloads via an insecure communications channel to devices
JP2007089098A (ja) * 2005-09-20 2007-04-05 Chaosware Inc クライアント・サーバ型暗号化システム
JP2008103936A (ja) * 2006-10-18 2008-05-01 Toshiba Corp 秘密情報管理装置および秘密情報管理システム
US9171298B2 (en) * 2011-02-24 2015-10-27 Dvdcase, Inc. Systems and methods for managing access to benefits associated with products
CN103973736B (zh) * 2013-01-30 2017-12-29 华为终端(东莞)有限公司 一种数据共享的方法及装置
CN103442059B (zh) * 2013-08-27 2017-02-01 华为终端有限公司 一种文件共享方法及装置
CN103561034B (zh) * 2013-11-11 2016-08-17 武汉理工大学 一种安全文件共享系统
CN104980477B (zh) * 2014-04-14 2019-07-09 航天信息股份有限公司 云存储环境下的数据访问控制方法和系统
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
US11121867B2 (en) * 2016-02-19 2021-09-14 Micro Focus Llc Encryption methods based on plaintext length
KR101783281B1 (ko) * 2016-03-11 2017-09-29 주식회사 다날 신분증 데이터의 안전 보관이 가능한 전자 단말 장치 및 그 동작 방법
US10137860B2 (en) * 2016-11-17 2018-11-27 Ford Global Technologies, Llc Remote keyless entry message authentication
JP6302592B2 (ja) * 2017-06-23 2018-03-28 株式会社エヌ・ティ・ティ・データ 情報処理装置、情報処理方法およびプログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100042457A (ko) * 2008-10-16 2010-04-26 삼성전자주식회사 데이터 암호화 방법 및 장치와 데이터 복호화 방법 및 장치
KR20150037913A (ko) * 2012-07-05 2015-04-08 가부시키가이샤 크립토 베이직 공유 비밀키 생성 장치, 암호화 장치, 복호화 장치, 공유 비밀키 생성 방법, 암호화 방법, 복호화 방법, 및 프로그램
KR20170048864A (ko) * 2015-10-27 2017-05-10 라인 가부시키가이샤 사용자 단말, 메시지를 송수신하는 방법 및 컴퓨터 프로그램
US20170177898A1 (en) * 2015-12-16 2017-06-22 International Business Machines Corporation Personal ledger blockchain
CN107196900A (zh) * 2017-03-24 2017-09-22 阿里巴巴集团控股有限公司 一种共识校验的方法及装置

Cited By (4)

* Cited by examiner, † Cited by third party
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
KR20230124207A (ko) * 2022-02-18 2023-08-25 주식회사 한글과컴퓨터 클라우드 기반의 문서 공유 서비스를 운영하기 위한 문서 공유 서비스 서버 및 그 동작 방법
KR20230124271A (ko) * 2022-02-18 2023-08-25 주식회사 한글과컴퓨터 클라우드 기반의 문서 공유 서비스에서, 허가되지 않은 글꼴이 적용된 문서 파일에 대한 저장 및 공유 처리를 수행하기 위한 문서 공유 서비스 서버 및 그 동작 방법

Also Published As

Publication number Publication date
EP3618394B1 (en) 2022-03-30
KR102219008B1 (ko) 2021-02-22
JP6961818B2 (ja) 2021-11-05
CN107979590A (zh) 2018-05-01
JP2021502023A (ja) 2021-01-21
WO2019085699A1 (zh) 2019-05-09
US20200084037A1 (en) 2020-03-12
CN107979590B (zh) 2020-01-17
EP3618394A4 (en) 2020-07-01
US11223477B2 (en) 2022-01-11
EP3618394A1 (en) 2020-03-04

Similar Documents

Publication Publication Date Title
KR102219008B1 (ko) 데이터 공유 방법, 클라이언트, 서버, 컴퓨팅 장치 및 저장 매체
TWI725793B (zh) 用於將分散識別符映射到真實世界實體的系統及方法
US11777726B2 (en) Methods and systems for recovering data using dynamic passwords
CN111213350B (zh) 用于创建去中心化标识的系统和方法
US11082221B2 (en) Methods and systems for creating and recovering accounts using dynamic passwords
US10796011B1 (en) Data element tokenization management
KR102084674B1 (ko) 블록체인 기반 컨텐츠 관리 방법 및 상기 방법을 수행하는 시스템
CN111316303A (zh) 用于基于区块链的交叉实体认证的系统和方法
CN111213147A (zh) 用于基于区块链的交叉实体认证的系统和方法
US20230108366A1 (en) Systems for encryption using blockchain distributed ledgers
EP3537684A1 (en) Apparatus, method, and program for managing data
CN107409129B (zh) 使用访问控制列表和群组的分布式系统中的授权
JP2023538497A (ja) 編集可能なブロックチェーン
JP5036500B2 (ja) 属性証明書管理方法及び装置
KR101952139B1 (ko) 사용자 단말과 연동된 게이트웨이 서버에서 drm 기능을 제공하는 방법
US20220321345A1 (en) Secure exchange of session tokens for claims-based tokens in an extensible system
KR101861015B1 (ko) 클라우드 서비스 기반으로 사용자 단말에서 drm 기능을 제공하는 방법
JP2006004321A (ja) セキュリティシステム
US20240020355A1 (en) Non-fungible token authentication
KR20230118304A (ko) 웹 토큰이 포함된 온라인 저작물 발급 및 인증 시스템 및 방법
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