JP6961818B2 - データ共有方法、クライアント、サーバ、コンピューティングデバイス、及び記憶媒体 - Google Patents

データ共有方法、クライアント、サーバ、コンピューティングデバイス、及び記憶媒体 Download PDF

Info

Publication number
JP6961818B2
JP6961818B2 JP2020524318A JP2020524318A JP6961818B2 JP 6961818 B2 JP6961818 B2 JP 6961818B2 JP 2020524318 A JP2020524318 A JP 2020524318A JP 2020524318 A JP2020524318 A JP 2020524318A JP 6961818 B2 JP6961818 B2 JP 6961818B2
Authority
JP
Japan
Prior art keywords
key
client
encrypted data
access
permission
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2020524318A
Other languages
English (en)
Other versions
JP2021502023A (ja
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 JP2021502023A publication Critical patent/JP2021502023A/ja
Application granted granted Critical
Publication of JP6961818B2 publication Critical patent/JP6961818B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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
    • 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
    • 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
    • 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
    • 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

Description

本願は、2017年11月2日に中国特許庁に提出された、出願番号が201711065783.1であり、発明の名称が「データ共有方法、クライアント、サーバ、コンピューティングデバイス、及び記憶媒体」である中国特許出願の優先権を主張し、その全ての内容は参照することにより本願に組み込まれる。
本願は、コンピュータ技術分野に関し、特に、データ共有方法、クライアント、サーバ、コンピューティングデバイス、及び記憶媒体に関する。
インターネット技術の発展に伴い、情報共有システムが登場している。ユーザーは、自身の保有しているデータ(例えば、ピクチャ、文書、動画などのファイル)を情報共有システムにアップロードすることが可能になり、他のユーザーが情報共有システムを介してこれらのデータにアクセスすることを許可することも可能になる。
そこで、これらのデータのセキュリティを確保するために、情報共有システムは、例えば、あるユーザからあるファイルへのアクセスが要求されると、このユーザから提供された情報を検証するなどの技術的手段を用いる必要がある。
本願の実施例では、第1クライアントにより実行されるデータ共有方法が提供されている。この方法は、前記第1クライアントが、鍵で平文データを暗号化することにより、暗号化データを取得するステップと、前記第1クライアントが、前記暗号化データを、情報共有システムにおける1つのブロックにアップロードするステップであって、前記情報共有システムがブロックチェーンシステムである、ステップと、前記第1クライアントが、前記鍵の第1部分を、前記情報共有システムに対応するアクセス許可サーバにアップロードするステップと、前記第1クライアントが、前記アクセス許可サーバから、前記暗号化データに対応する許可コードを受信するステップと、前記第1クライアントが、あるユーザによる前記暗号化データへのアクセスを許可する際に、前記許可コードと前記鍵の第2部分とを前記ユーザの第2クライアントに送信することにより、前記第2クライアントが、前記暗号化データへのアクセス要求を前記アクセス許可サーバに送信する際に、前記アクセス要求に前記許可コードと前記鍵の前記第2部分とを付するよう実現させ、前記アクセス許可サーバが、前記許可コードが使用可能であると決定した場合、前記鍵の前記第1部分及び前記第2部分に基づき前記鍵を生成し、生成された前記鍵で、前記情報共有システムにおける前記ブロックから取得された前記暗号化データを復号化することにより、前記平文データを取得すると共に、前記第2クライアントに前記平文データを返信するようにさせるステップであって、前記鍵の第2部分は前記鍵の前記第1部分を除いた残りの部分を含む、ステップと、を含む。
また、本願の実施例では、アクセス許可サーバにより実行されるデータ共有方法が提供されている。この方法は、前記アクセス許可サーバが、第1クライアントから第1鍵の第1部分を受信するステップであって、前記第1鍵が、情報共有システムにおける1つのブロックにアップロードされた暗号化データに対応するものであり、前記暗号化データが、前記第1鍵で平文データに対して暗号化処理を行うことにより取得されたものであり、前記情報共有システムがブロックチェーンシステムである、ステップと、前記アクセス許可サーバが、前記暗号化データに対応する第1許可コードを生成するステップと、前記アクセス許可サーバが、前記第1許可コードを前記第1クライアントに送信することにより、前記第1クライアントが、第2クライアントによる前記暗号化データへのアクセスを許可する際に、前記第1許可コードと前記第1鍵の第2部分とを前記第2クライアントに送信するよう実現させ、前記第2クライアントが、前記暗号化データにアクセスする際に、前記第1許可コードと前記第1鍵の前記第2部分とをアクセス要求に付するようにさせるステップであって、前記第1鍵の第2部分は前記第1鍵の前記第1部分を除いた残りの部分を含む、ステップと、を含み、前記アクセス許可サーバが、いずれか1つのクライアントからの、前記暗号化データへのアクセス要求を受信すると、前記アクセス許可サーバが、前記アクセス要求から、第2許可コード及び不完全な鍵を取得するステップと、前記アクセス許可サーバが、前記第2許可コードが前記第1許可コードと同じであって、かつ前記第2許可コードが使用可能である場合、前記不完全な鍵と、前記暗号化データに対応する前記第1鍵の第1部分とに基づき、第2鍵を生成し、前記不完全な鍵が前記第1鍵の第2部分と同じである場合、生成された前記第2鍵が前記第1鍵と同じである、ステップと、前記アクセス許可サーバが、前記情報共有システムにおける前記ブロックから、前記暗号化データを取得するステップと、前記アクセス許可サーバが、前記第2鍵で前記暗号化データを復号化処理し、前記第2鍵が前記第1鍵と同じである場合、復号化によって前記平文データを取得すると共に、前記アクセス要求の送信元である前記クライアントに前記平文データを送信するステップと、をさらに含む。
本願の実施例では、第1クライアントが提供されている。この第1クライアントは、鍵で平文データを暗号化することにより、暗号化データを取得する暗号化モジュールと、前記暗号化データを、情報共有システムにおける1つのブロックにアップロードし、前記鍵の第1部分を、前記情報共有システムに対応するアクセス許可サーバにアップロードし、前記情報共有システムがブロックチェーンシステムであるアップロードモジュールと、前記アクセス許可サーバから、前記暗号化データに対応する許可コードを受信し、あるユーザによる前記暗号化データへのアクセスを許可する際に、前記許可コードと前記鍵の第2部分とを前記ユーザの第2クライアントに送信することにより、前記第2クライアントが、前記暗号化データへのアクセス要求を前記アクセス許可サーバに送信する際に、前記アクセス要求に前記許可コードと前記鍵の前記第2部分とを付するよう実現させ、前記アクセス許可サーバが、前記許可コードが使用可能であると決定した場合、前記鍵の前記第1部分及び前記第2部分に基づき前記鍵を生成し、生成された前記鍵で、前記情報共有システムにおける前記ブロックから取得された前記暗号化データを復号化することにより、前記平文データを取得すると共に、前記第2クライアントに前記平文データを返信するようにし、前記鍵の第2部分は前記鍵の前記第1部分を除いた残りの部分を含む許可モジュールと、を備える。
本願の実施例では、アクセス許可サーバが提供されている。このアクセス許可サーバは、第1クライアントから第1鍵の第1部分を受信し、前記第1鍵が、情報共有システムにおける1つのブロックにアップロードされた暗号化データに対応するものであり、前記暗号化データが、前記第1鍵で平文データに対して暗号化処理を行うことにより取得されたものであり、前記情報共有システムがブロックチェーンシステムであり、前記暗号化データに対応する第1許可コードを生成し、前記第1許可コードを前記第1クライアントに送信することにより、前記第1クライアントが、第2クライアントによる前記暗号化データへのアクセスを許可する際に、前記第1許可コードと前記第1鍵の第2部分とを前記第2クライアントに送信するよう実現させ、前記第2クライアントが、前記暗号化データにアクセスする際に、前記第1許可コードと前記第1鍵の前記第2部分とをアクセス要求に付するようにし、前記第1鍵の第2部分は前記第1鍵の前記第1部分を除いた残りの部分を含む許可モジュールと、いずれか1つのクライアントからの、前記暗号化データへのアクセス要求を受信すると、前記アクセス要求から、第2許可コード及び不完全な鍵を取得し、前記第2許可コードが前記第1許可コードと同じであって、かつ前記第2許可コードが使用可能である場合、鍵モジュールをトリガーする検証モジュールと、前記不完全な鍵と、前記暗号化データに対応する前記第1鍵の第1部分とに基づき、第2鍵を生成し、前記不完全な鍵が前記第1鍵の第2部分と同じである場合、生成された前記第2鍵が前記第1鍵と同じである前記鍵モジュールと、前記情報共有システムにおける前記ブロックから、前記暗号化データを取得し、前記第2鍵で前記暗号化データを復号化処理し、前記第2鍵が前記第1鍵と同じである場合、復号化によって前記平文データを取得すると共に、前記アクセス要求の送信元である前記クライアントに前記平文データを送信する復号化モジュールと、を備える。
また、本願の実施例では、コンピューティングデバイスが提供されている。このコンピューティングデバイスは、1つ又は複数のプロセッサと、メモリと、該メモリに記憶され、前記1つ又は複数のプロセッサによって実行されるように構成される1つ又は複数のプログラムと、を備え、前記1つ又は複数のプログラムには、上記の方法を実行するための命令が含まれる。
また、本願の実施例では、1つ又は複数のプログラムを記憶した記憶媒体が提供されている。前記1つ又は複数のプログラムには、命令が含まれ、前記命令は、コンピューティングデバイスによって実行されると、前記コンピューティングデバイスに上記の方法を実行させる。
本願の実施例の構成をより明確に説明するために、以下、実施例の説明に必要な図面を簡単的に紹介する。明らかに、以下の説明における図面は本願のいくつかの実施例を示しているにすぎず、当業者にとって、創造的な労働をせずに、これらの図面から他の図面を得ることもできる。
本願の実例に係るシステムアーキテクチャ図である。 本願の実例の方法のフローチャートである。 本願の実例の方法のフローチャートである。 本願の実例のメッセージのやり取り図である。 本願の実例のユーザ画面図である。 本願の実例のユーザ画面図である。 本願の実例におけるクライアントの構成の模式図である。 本願の実例におけるサーバの構成の模式図である。 本願の実例におけるコンピューティングデバイスの構成の模式図である。
以下では、簡潔かつ直感的な説明のために、いくつかの典型的な実施例を説明することにより、本発明の構成を述べる。しかし、すべての実施形態がここに示されるわけではない。実施例における大量の細部は、本発明の構成の理解を助けるためにのみ使用される。本発明の構成の実現は、これらの細部に限定されなくてもよい。本発明の構成を不必要に曖昧にすることを回避するために、いくつかの実施形態は、細かく説明されず、フレームワークのみが与えられる。以下では、「含む」とは、「含むが、これらに限定されない」ことを意味し、「…に基づく」とは、「少なくとも…に基づくが、…のみに基づくことに限定されない」ことを意味する。明細書及び請求の範囲における「含む」とは、ある程度で少なくとも含むことを意味し、その前に言及された特徴以外に他の特徴も存在してもよいと解釈されるべきである。
本願の実施例では、データ共有方法が提供されている。この方法は、図1に示すシステムアーキテクチャに適用可能である。図1に示すように、このシステムアーキテクチャは、第1クライアント101と、第2クライアント102と、アクセス許可サーバ103と、情報共有システム104と、を含む。これらのエンティティは、インターネット105を介して通信可能である。ここで、情報共有システム104は、ユーザによりアップロードされる様々なデータを格納する。ユーザが情報共有システム104におけるデータにアクセスすることも可能である。実際のネットワークでは、多数のクライアント101/102があり得る。情報共有システム104にアップロードされた1つのデータは、1つの第1クライアント101に対応する。第1クライアント101は、このデータの保有者及びアップローダーが使用するクライアントであり、共有者クライアントとも呼ばれる。このデータは、1つ又は複数の第2クライアント102にも対応する。第2クライアント102は、このデータへのアクセスを要求するユーザが使用するクライアントであり、訪問者クライアント又は閲覧者クライアントとも呼ばれる。アクセス許可サーバ103は、直接に又はインターネット105を介して、情報共有システム104に接続可能であり、情報共有システム104へのアクセスサービス(具体的に閲覧許可サービスと呼ばれてもよい)を提供する。第2クライアント102は、そのアクセスしようとするデータを、アクセス許可サーバ103を介して、情報共有システム104から取得する。具体的には、第2クライアント102は、あるデータへのアクセス要求(具体的に閲覧要求と呼ばれてもよい)をアクセス許可サーバ103に送信する。アクセス許可サーバ103は、このアクセス要求を認証して、第2クライアント102に対応するユーザがこのデータにアクセスする権限を有するか否かを検証し(例えば、アクセス要求における許可コードを検証し)、認証を通過した場合、アクセス要求に付された鍵情報に基づいて、情報共有システム104から取得された暗号化データを復号化処理し、復号化された平文データの取得に成功できれば、この平文データを第2クライアント102に返信する。
ここで、第1クライアント101及び第2クライアント102は、共有データにアクセス可能な様々なAPPクライアント又はブラウザであってもよい。第1クライアント101及び第2クライアント102は、PC、携帯電話、タブレットコンピュータ、パームトップコンピュータ、ウルトラブック、ウェアラブルデバイスなどを含む様々な端末機器上で実行可能である。情報共有システム104は、ブロックチェーンシステム(ブロックチェーンネットワークとも呼ばれる)、データベースシステム、ネットワークディスク/クラウドディスクシステムなどを含むが、これらに限定されない様々な集中型又は分散型のデータ記憶システムであってもよい。情報共有システム104に記憶されたデータは、デジタル資産、認証サービス、共有台帳、共有経済などのシナリオを含む様々なビジネスシナリオで生成されたデータに関わることが可能である。
ここで、デジタル資産(Digital assets)とは、企業が所有または制御する、電子データの形で存在する非貨幣資産であって、販売のために日常活動で保有される非貨幣資産、又は生産プロセスにおける非貨幣資産を指す。デジタル資産は、オフィスオートメーションの恩恵を受けて生まれたものである。デジタル資産は、電子決済システムに頼って発展し、共有ポイント、クーポン、デジタル通貨、株式の登録などのシナリオに使用される。認証サービスは、著作権/所有権の保護、司法文書の保全、公益寄付、個人・企業の証明などのビジネスシナリオに使用される。共有台帳は、機関間清算、銀行ファクタリング、機関間協調融資、サプライチェーンファイナンス、海外送金などのビジネスシナリオに使用される。ブロックチェーンは、時系列に沿ってデータブロックを順につながっていくように結合するチェーンデータ構造であり、暗号学的な方式で確保される改ざん不可能で偽造不可能な分散型台帳である。ブロックチェーンシステムは、真新しいタイプの分散インフラストラクチャであり、ブロックチェーンデータ構造を使用してデータを検証・格納し、分散ノードコンセンサスアルゴリズムを使用してデータを生成・更新し、暗号学的な方式でデータの伝送・アクセスのセキュリティを確保し、自動化スクリプトコードで構成されるスマートコントラクトを使用して、プログラミングとデータの操作とを行う。
いくつかのビジネスシナリオでは、情報共有システム104にアップロードするデータを暗号化する必要があり、かつ、データアクセスの許可を行う必要がある。つまり、一部のデータが条件付きで共有され、これらのデータは、例えば、個人又は機関の実名認証情報、金融口座情報、フォトアルバム、オリジナル作品、共有認証が必要な情報などであり、ユーザのプライバシーデータと呼ばれてもよい。ユーザは、これらのデータを、内容が公にならないが特定の人々間で共有可能になるように共有したいため、データを暗号化して情報共有システム104に格納し、その後、特定のユーザへの閲覧許可をする。
本願の実施例では、端末機器の第1クライアント101に適用可能なデータ共有方法が提供されている。図1には、第1クライアント101が1つのみ示されているが、実際の応用シナリオでは、第1クライアント101が複数、ひいては大量あり得、第1クライアント101のいずれもこの方法を実現可能である。図2に示すように、この方法の手順200は、以下のステップを含む。
ステップ201で、第1クライアント101は、鍵で平文データを暗号化することにより、暗号化データを取得する。
ステップ202で、第1クライアント101は、前記暗号化データを、情報共有システム104における1つのブロックにアップロードし、前記情報共有システムはブロックチェーンシステムである。
ここで、ユーザがデータをアップロードしたい場合、ユーザが使用する第1クライアント101は、予め設定された鍵でこのデータ(即ち、平文データ)を暗号化し、暗号化データを情報共有システム104にアップロードする。
ステップ203で、第1クライアント101は、前記鍵の第1部分を、情報共有システム104に対応するアクセス許可サーバ103にアップロードする。
ここで、情報共有システム104に対応するアクセス許可サーバ103とは、情報共有システム104と接続されるアクセス許可サーバ103を指す。
ここで、鍵は文字列である。鍵とされるこの文字列を2つの文字列に分割し、この2つの文字列をそれぞれ鍵の第1部分及び第2部分としてもよい。本ステップにおいて、鍵の第1部分をアクセス許可サーバ103にアップロードする。いくつかの実例では、鍵の前半を第1部分として、鍵の後半を第2部分としてもよい。他のいくつかの実例では、鍵の後半を第1部分として、鍵の前半を第2部分としてもよい。ここで、第1部分と第2部分との長さは、同じであっても、異なっていてもよい。いくつかの実例では、鍵を分割する際に、予め設定された、文字列の長さの値(即ち、予め設定された、文字列に含まれる文字の数)に応じた長さの文字列を鍵の第1部分として分割し、残りの文字列を鍵の第2部分としてもよい。
ステップ204で、第1クライアント101は、アクセス許可サーバ103から、前記暗号化データに対応する許可コードを受信する。
いくつかの実例では、アクセス許可サーバ103は、第1クライアント101からアップロードされた、ある暗号化データに対する鍵の第1部分を受信すると、この暗号化データに対して許可コードを生成し、この許可コードを第1クライアント101に返信する。具体的には、アクセス許可サーバ103は、このデータをアップロードしたユーザに対応する規則に従って、許可コードを生成してもよい。
ステップ205で、あるユーザによる前記暗号化データへのアクセスを許可する際に、第1クライアント101は、前記許可コードと前記鍵の第2部分とを前記ユーザのクライアント(即ち、対応の第2クライアント102)に送信することにより、第2クライアント102が、前記暗号化データへのアクセス要求をアクセス許可サーバ103に送信する際に、前記アクセス要求に前記許可コードと前記鍵の前記第2部分とを付するようにし、前記鍵の第2部分は前記鍵の前記第1部分を除いた残りの部分を含む。
このように、アクセス許可サーバ103は、前記許可コードが使用可能であると決定した場合、前記鍵の前記第1部分及び前記第2部分に基づき前記鍵を生成し、生成された前記鍵で、情報共有システム104における前記ブロックから取得された前記暗号化データを復号化処理し、復号化によって取得された前記平文データを第2クライアント102に提供する。
いくつかの実例では、あるユーザは、この暗号化データを閲覧したい場合、該ユーザが使用する第2クライアント10を介して、第1クライアント101に許可コードを要求し、第1クライアント101は、このユーザによるデータへの閲覧を許可すると決定した場合、この許可コードと上記鍵の第2部分とを第2クライアント102に送信する。
いくつかの実例では、アクセス許可サーバ103は、鍵の第1部分及び第2部分を結合してもよい。これにより、鍵の第1部分及び第2部分を完全な前記鍵として組み合わせることができる。アクセス許可サーバ103は、第2クライアント102から取得された鍵の第2部分と、第1クライアント101から取得された鍵の第1部分とが、同一の鍵に属しない場合、鍵の第1部分及び鍵の第2部分を正しい鍵として結合することができず、さらに復号化に失敗することになり、第2クライアント102は、平文データを取得できない。アクセス許可サーバ103は、第2クライアント102に、失敗応答を返信してもよいし、又は暗号化データを返信してもよい。このように、第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が、それぞれ鍵の一部を保有し、両方とも暗号化データへのアクセス権限を有しなく、両者の保有する鍵情報を合わせた場合以外に完全な鍵を取得できないため、データのセキュリティ及びユーザのプライバシーが効果的に確保される。このように、情報共有システム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は、第2クライアント102にトークンを発行することにより、相応のユーザが第1クライアント101からアップロードされた暗号化データにアクセスすることを許可することができる。また、発行されたトークンに完全な鍵がなく、完全な鍵を取得して復号化処理を行うために、アクセス許可サーバ103におけるさらなる検証を行わなければならない。これにより、データのセキュリティが効果的に確保される。
いくつかの実例では、ステップ202において、前記暗号化データを情報共有システム104にアップロードする際に、第1クライアント101は、前記暗号化データのファイル識別子と、前記暗号化データの保有者のユーザ識別子(通常、現在第1クライアント101を使用しているユーザの識別子)とをさらにアップロードすることにより、情報共有システム104が、前記暗号化データと、前記ファイル識別子、及び前記保有者のユーザ識別子とを関連付けるよう実現させ、アクセス許可サーバ103が、前記ファイル識別子と前記保有者のユーザ識別子とに基づいて、情報共有システム104から前記暗号化データを取得するようにさせる。ここで、暗号化データをアップロードする際に、暗号化データのファイル識別子と、暗号化データの保有者のユーザ識別子との両方が情報共有システム104に伝送され、情報共有システム104は、この暗号化データを格納する際に、この暗号化データと、ファイル識別子、及び保有者のユーザ識別子とを関連付ける。アクセス許可サーバ103は、情報共有システム104から、ある暗号化データを検索する際に、検索要求にファイル識別子と保有者のユーザ識別子とを付する。このように、情報共有システム104は、ファイル識別子、及び保有者のユーザ識別子に関連付けられた暗号化データを決定して、この暗号化データをアクセス許可サーバ103に返信することができる。
いくつかの実例では、ステップ203において、前記鍵の前記第1部分をアクセス許可サーバ10にアップロードする際に、第1クライアント101は、前記ファイル識別子と前記保有者のユーザ識別子とをさらにアップロードすることにより、アクセス許可サーバ103が、前記保有者のユーザ識別子に対応する規則に従って、前記許可コードを生成し、前記許可コードと、前記鍵の前記第1部分、前記ファイル識別子、及び前記保有者のユーザ識別子とを関連付けるようにさせる。アクセス許可サーバ103は、前記アクセス要求を受信すると、前記アクセス要求に付された前記ファイル識別子と前記保有者のユーザ識別子とに基づいて、前記アクセス要求に付された前記ファイル識別子と前記保有者のユーザ識別子とに関連付けられた前記許可コードと前記鍵の前記第1部分と(アクセス許可サーバ103がローカルでメンテナンスする、前記暗号化データに対応する許可コードと鍵の第1部分とであってもよい)を取得し、取得された前記許可コードに基づいて、前記アクセス要求に付された前記許可コードが使用可能であるか否かを決定し、取得された前記鍵の前記第1部分と、前記アクセス要求に付された前記第2部分とに基づき、前記鍵を生成する。
いくつかの実例では、アクセス許可サーバ103には、各ユーザ毎に、許可コードを生成するための規則が予め設定されている。この規則では、生成する許可コードでアクセス可能なデータアドレスや失効時間などを指定してもよい。上記のデータアドレスは、例えば、ブロックチェーンにおけるブロックの高さや、ユニフォームリソースロケータ(URL)アドレスなどであってもよい。いくつかの実例では、ステップ203において、第1クライアント101が鍵の第1部分をアップロードすると、アクセス許可サーバ10は、同時にアップロードされた、暗号化データの保有者のユーザ識別子に基づいて、許可コードの生成に使用する規則を決定してもよい。その後、アクセス許可サーバ103は、アクセス要求を受信すると、現在アクセスが要求される暗号化データに対応する許可コード(即ち、ファイル識別子、及び保有者のユーザ識別子に関連付けられた許可コード)をローカルで検索してもよい。アクセス要求に付された許可コードと、ローカルで検索された許可コードとが一致する場合は、アクセス要求に付された許可コードが合法的であることを表す。さらに、許可コードの期限が切れているか否か(例えば、失効時間に達したか否か、又はまだ有効使用期間内にあるか否か)を検証し、及び/又は、現在アクセスが要求される暗号化データのアドレスが、許可コードに対応するアクセス可能なデータアドレスに属するか否かを検証してもよい(例えば、ブロックチェーンのシナリオでは、現在閲覧が要求されるデータのブロックの高さが、許可コードに対応するアクセス可能なブロックの高さであるか否かを検証する。また例えば、共有写真のシナリオでは、現在閲覧が要求されるアルバムフォルダが、許可コードでアクセス可能なフォルダであるか否かを検証する。)。検証を通過した場合、許可コードが使用可能であると決定する。ブロックチェーンシナリオでのいくつかの実例では、第2クライアント102から送信されたアクセス要求に、閲覧するデータのファイル識別子を付けてもよい。アクセス許可サーバ103は、ファイル識別子に基づいて、データが位置するブロックの高さを決定でき、さらに、決定されたこのデータのブロックの高さが、許可コードに対応するアクセス可能なブロックの高さであるか否かを検証できる。他のいくつかの実例では、第2クライアント102から送信されたアクセス要求に、データのブロックの高さを直接に付けてもよい。アクセス許可サーバ103は、アクセス要求に付されたブロックの高さが、許可コードに対応するアクセス可能なブロックの高さであるか否かを検証できる。
許可コードが使用可能であると決定した場合、取得された、ファイル識別子、及び保有者のユーザ識別子に関連付けられた鍵の第1部分と、アクセス要求に付された、鍵の第2部分とを、完全な鍵として組み合わせてもよい。この組み合わせの方式は、2つの部分を簡単的に結合してもよい。
いくつかの実例では、ステップ204において、第1クライアント101は、許可コードを受信すると、さらに、前記許可コードと前記鍵の前記第2部分とが含まれる、前記暗号化データのアクセストークンを生成し、前記アクセストークンと前記ファイル識別子とを関連付けてもよい。ステップ205において、前記許可コードと、前記鍵の第2部分とを第2クライアント102に送信することは、具体的に、前記ファイル識別子に関連付けられた前記アクセストークンを第2クライアント102に送信することにより、第2クライアント102が前記アクセス要求に前記アクセストークンを付するようにさせる、ことを含んでもよい。
ここで、第1クライアント101では、1つ又は複数のアクセストークンがメンテナンスされ、第1クライアント101からアップロードされた各々のデータが1つのアクセストークンに対応し、即ち、各々のファイル識別子が1つのアクセストークンに関連付けられる。このように、第2クライアント102が第1クライアント101にデータアクセス許可を要求すると、第1クライアント101が許可を承認する場合、第1クライアント101は、対応のアクセストークンを決定し、このアクセストークンを第2クライアント102に発行してもよい。なお、第2クライアント102は、あるデータ、又は一定の条件に合うデータ集合、又はすべてのデータへのアクセス許可を要求する可能性があり、第1クライアント101は、対応する1つ又は複数のアクセストークンを第2クライアント102に送信してもよい。
いくつかの実例では、ステップ204の後に、上記方法は、第1クライアント101が、前記許可コードへの取り消し要求をアクセス許可サーバ103に送信することにより、アクセス許可サーバ103が前記許可コードを失効させるようにさせる、ことをさらに含んでもよい。これと同時に、第1クライアント101も、ローカルの前記許可コードを失効させる。ここで、ある許可コードへの取り消し要求に、この許可コードに対応するファイル識別子を付けてもよい。アクセス許可サーバ103は、ファイル識別子に基づいて、このファイル識別子に対応する許可コードを決定でき、さらに、例えば、この許可コードの状態を失効に設定し、又はこの許可コードを削除するなど、この許可コードを失効させることができる。アクセス許可サーバ103は、前記許可コードを失効させた後、第1クライアント101に応答を返信してもよい。第1クライアント101は、応答を受信すると、ローカルの許可コードを失効させる。これにより、この許可コードの取り消しのプロセス全体が完了する。
このように、第1クライアント101は、アクセス許可サーバ103が、アップロードされたデータに対して、許可コードを生成するようにさせることができるだけでなく、この許可コードの取り消しをアクセス許可サーバ103に要求することもできる。許可コードが取り消された後、第2クライアント102が、データアクセスを要求する際に、この許可コード、又はこの許可コードが含まれるアクセストークンを使用した場合、この許可コードが使用不可と検証され、アクセス要求が拒絶され、第2クライアント102が、このデータにアクセスできなく、又は、暗号化データのみを取得できるが復号化された平文データを取得できない。このように、データアクセスの動的許可方式が形成される。あるデータを共有したユーザは、必要に応じて、対応の許可コードを取り消すことができる。これにより、以前に許可コードを取得してこのデータにアクセスできたユーザは、このデータにアクセスできなくなる。
いくつかの実例では、ある暗号化データの許可コードを取り消した後、第1クライアント101は、さらに、この暗号化データへの許可コード生成要求をアクセス許可サーバ103に送信することにより、アクセス許可サーバ103が、この暗号化データに対応する新たな許可コードを生成するようにしてもよい。その後、第1クライアント101は、アクセス許可サーバ103から、この暗号化データに対応する新たな許可コードを受信する。このように、ユーザは、以前に許可されたユーザが暗号化データの平文にアクセスできないように、許可コードを随時取り消すことができるだけでなく、ユーザによる暗号化データの平文へのアクセスを再び許可するように、新たな許可コードの生成を要求することもでき、柔軟なデータアクセス許可が実現される。
いくつかの実例では、第1クライアント101は、許可コードを得た後、アクセス許可サーバ103に許可コードの更新を要求することもできる。このとき、第1クライアント101により取得された許可コードは、まだ削除されておらず、又は、まだ使用されていない。ここで、第1クライアント101は、ある暗号化データへの許可コード更新要求をアクセス許可サーバ103に送信することにより、アクセス許可サーバ103が、この暗号化データに対応する新たな許可コードを生成し、元の許可コードをこの新たな許可コードに置き換えるようにさせる。その後、第1クライアント101は、アクセス許可サーバ103から、この新たな許可コードを受信し、元の許可コードをこの新たな許可コードに置き換える。このように、許可コード更新プロセスによれば、第1クライアント101は、以前に許可を得たユーザが暗号化データの平文にアクセスできなくなるように、元の許可コードを取り消すことができると共に、新たな許可コードを取得でき、後続にいくつかのユーザへの許可をすることができる。
いくつかの実例では、上記の許可コード取り消し要求、許可コード生成要求、及び許可コード更新要求が共存可能であり、ユーザが、必要に応じて、許可コードの取り消し、新たな許可コードの生成、又は許可コードの更新を選択でき、より完璧な動的許可方式が実現される。
本願の実例では、アクセス許可サーバ103に適用可能なデータ共有方法が提供されている。図3に示すように、この方法の手順300は、以下のステップを含む。
ステップ301で、第1クライアント101から第1鍵の第1部分を受信し、前記第1鍵が、情報共有システム104における1つのブロックにアップロードされた暗号化データに対応するものであり、前記暗号化データが、前記第1鍵で平文データに対して暗号化処理を行うことにより取得されたものであり、前記情報共有システムがブロックチェーンシステムである。
ステップ302で、前記暗号化データに対応する第1許可コードを生成する。
ステップ303で、前記第1許可コードを第1クライアント101に送信することにより、第1クライアント101が、第2クライアント102による前記暗号化データへのアクセスを許可する際に、前記第1許可コードと前記第1鍵の第2部分とを第2クライアント102に送信するよう実現させ、第2クライアント102が、前記暗号化データにアクセスする際に、前記第1許可コードと前記第1鍵の前記第2部分とをアクセス要求に付するようにし、前記第1鍵の第2部分は前記第1鍵の前記第1部分を除いた残りの部分を含む。
ステップ304で、いずれか1つのクライアント(許可を得た上記第2クライアント102である可能性があり、許可を得ていない他のクライアントである可能性もある)からの、前記暗号化データへのアクセス要求を受信すると、下記のステップを実行する。
ステップ305で、前記アクセス要求から、第2許可コード及び不完全な鍵を取得する。
ステップ306で、前記第2許可コードが前記第1許可コードと同じであって、かつ前記第2許可コードが使用可能である場合、前記不完全な鍵と、前記暗号化データに対応する前記第1鍵の第1部分とに基づき、第2鍵を生成し、前記不完全な鍵が前記第1鍵の第2部分と同じである場合、生成された前記第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が、それぞれ鍵の一部を保有し、両方とも暗号化データへのアクセス権限を有しなく、両者の保有する鍵情報を合わせた場合以外に完全な鍵を取得できないため、データのセキュリティ及びユーザのプライバシーが効果的に確保される。このように、情報共有システム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は、この許可コードが失効した場合、再びこの許可コードでこのデータへのアクセスを要求すると、この許可コードが使用不可と検証されるため、このデータにアクセスできない。
いくつかの実例では、上記方法は、第1クライアント101からの、前記暗号化データへの許可コード生成要求に応じて、前記暗号化データに対応する新たな許可コードを生成し、前記暗号化データに対応する前記新たな許可コードを第1クライアント101に送信する、ことをさらに含んでもよい。このように、ユーザは、あるデータの許可コードを取り消した後、いくつかのユーザによるこのデータへのアクセスを再び許可するように、新たな許可コードを要求することもでき、柔軟なデータアクセス許可が実現される。
いくつかの実例では、上記方法は、第1クライアント101からの、前記暗号化データへの許可コード更新要求に応じて、前記暗号化データに対応する新たな許可コードを生成し、元の前記第1許可コードを前記新たな許可コードに置き換え、前記暗号化データに対応する前記新たな許可コードを第1クライアント101に送信することにより、第1クライアント101が元の前記第1許可コードを前記新たな許可コードに置き換えるようにさせる、ことをさらに含んでもよい。
図4には、本願の一実施例におけるメッセージのやり取りの手順が示されている。図4に示すように、この手順は、少なくとも、第1クライアント101、第2クライアント102、アクセス許可サーバ103、及び情報共有システム104の4つのエンティティに関わり、下記のような処理ステップを含んでもよい。
ステップ401で、第1クライアント101は、暗号鍵を保有し、情報共有システム104にアップロードしようとするデータに対して暗号化処理を行うことにより、暗号化データを取得する。
第1クライアント101は、この暗号化データを情報共有システム104にアップロードし、暗号化データをアップロードすると共に、この暗号化データに関連付けられた、この暗号化データの保有者のユーザ識別子、ファイル識別子を情報共有システム104に送信する。例えば、第1クライアント101は、保有者のユーザ識別子と、ファイル識別子と、暗号化データとが付されたデータアップロード要求を情報共有システム104に送信してもよい。ここで、前記保有者のユーザ識別子は、例えば、QQ番号、クラウドディスクアカウント、ブロックチェーンシステムアカウントなど、現在第1クライアント101にログインしているユーザの識別子であり、ファイル識別子は、暗号化データを識別するためのものである。
情報共有システム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における暗号化に使用された鍵の後半(鍵後半と呼ばれてもよい)と、受信された許可コードとをデータ閲覧トークンとして組み合わせ、このデータ閲覧トークンと上記暗号化データのファイル識別子とを関連付ける。
第1クライアント101は、上記暗号化データの平文データを第2クライアント102が閲覧可能なように許可する際に、上記データ閲覧トークンを第2クライアント102に提供してもよい。例えば、第2クライアント102は、あるデータへの閲覧許可を第1クライアント101に要求するために、ターゲットファイル情報が付された許可要求を第1クライアント101に送信し、第1クライアント101は、ターゲットファイル情報に基づいて、第2クライアント102が閲覧したいデータ集合に対応するファイル識別子集合を決定できる。このターゲットファイル情報は、ファイル識別子を含んでもよいし、フォルダの識別子又はディレクトリアドレスなどであってもよい。第1クライアント101は、相応のファイル識別子集合を決定でき、さらに、ファイル識別子集合によって、ファイル識別子集合に関連付けられたデータ閲覧トークンを決定できる。ここで、1つのファイル識別子集合(1つ又は複数のファイル識別子)は、1つのデータ閲覧トークンに関連付けられてもよい。これは、第1クライアント101が1つのファイル集合を一括して第2クライアント102に許可することを表す。1つのファイル識別子集合は、複数のデータ閲覧トークンに関連付けられてもよい。ここで、異なるファイル識別子は、異なるデータ閲覧トーク運に関連付けられる。これは、第1クライアント101がファイル毎にそれぞれデータ閲覧トークンを第2クライアント102に提供することを表す。
ステップ404で、第2クライアント102は、上記データ閲覧トークンを保有すると、上記暗号化データの保有者のユーザ識別子と、ファイル識別子と、このデータ閲覧トークンとが付された閲覧要求をアクセス許可サーバ103に送信する。
図6のシナリオでは、第2クライアント102が、ブロックチェーンページにアクセスするブラウザであり、情報共有システム104がブロックチェーンシステムである。ユーザは、ブロックチェーンページにアクセスすることにより、様々な情報を閲覧できる。一部の情報がプライベートであり、ユーザは、データ閲覧トークンを持っている場合にしか、平文データを閲覧できない。例えば、ユーザがコントロールユニット601をタップすると、閲覧要求を送信するために、ステップ404が実行される。閲覧要求に付されたデータ閲覧トークンには、正しい使用可能な許可コーと正しい鍵後半とが含まれる場合、ブラウザは、「詳細」という項目に対応する平文データが含まれる第2ページを表示させることができる。
ステップ405で、アクセス許可サーバ103は、受信された閲覧要求から、データ閲覧トークン、上記保有者のユーザ識別子、及びファイル識別子を抽出し、データ閲覧トークンから許可コードを抽出し、この許可コードが使用可能であるか否かを決定する。ここで、アクセス許可サーバ103が、許可コードが使用可能であるか否かを決定することは、2つの側面を含む。一、データ閲覧トークンから抽出された許可コードが、ローカルに格納されている、この保有者のユーザ識別子に関連付けられた許可コードと同じであるか否かを決定し、データ閲覧トークンから抽出された許可コードが、ローカルで検索された許可コードと一致する場合は、データ閲覧トークンに付された許可コードが合法的であることを表す。二、この2つの許可コードが同じであると決定した場合、さらに、許可コードの期限が切れているか否か(例えば、失効時間に達したか否か、又はまだ有効使用期間内にあるか否か)を検証し、及び/又は、現在閲覧が要求される暗号化データのアドレスが、許可コードに対応するアクセス可能なデータアドレスに属するか否かを検証する。
この許可コードが使用可能であると決定した場合、アクセス許可サーバ103は、許可コードに関連付けられた鍵前半を取得し、データ閲覧トークンから鍵後半を抽出し、鍵前半と鍵後半とを完全な鍵として組み合わせる。
また、アクセス許可サーバ103は、上記保有者のユーザ識別子と、ファイル識別子とが付された検索要求を情報共有システム104に送信することにより、情報共有システム104が、この保有者のユーザ識別子と、ファイル識別子とに基づいて、この保有者のユーザ識別子と、ファイル識別子とに関連付けられた暗号化データを検索し、この暗号化データをアクセス許可サーバ103に送信するようにさせる。
ステップ406で、ステップ405で取得された完全な鍵で暗号化データを復号化処理する。データ閲覧トークンから抽出された鍵後半が正確である場合、ステップ405において正確で完全な鍵を取得することができ、本ステップにおいて復号化に成功することにより、復号化データ(即ち、平文データ)を取得すると共に、第2クライアント102に復号化データを返信することができる。データ閲覧トークンから抽出された鍵後半が間違った場合、ステップ405で取得された鍵が間違ったものであり、本ステップにおいて復号化に成功できない。この場合、第2クライアント102にエラーを報告してもよいし、第2クライアント102に暗号化データを直接に返信してもよい。要するに、第2クライアント102は、平文データの閲覧に成功できない。さらに、第1クライアント101からアップロードされたデータのセキュリティが確保される。
上記各ステップのいずれに処理が失敗しても、本手順を直接に終了すればよい。
上記の方法の実例に基づき、本願の実施例では、上記方法を実現可能なクライアント(第1クライアント101であってもよい)も提供されている。図7に示すように、第1クライアント700は、
鍵で平文データを暗号化することにより、暗号化データを取得する暗号化モジュール701と、
前記暗号化データを、情報共有システム104における1つのブロックにアップロードし、前記鍵の第1部分を、前記情報共有システム104に対応するアクセス許可サーバ103にアップロードし、前記情報共有システムがブロックチェーンシステムであるアップロードモジュール702と、
前記アクセス許可サーバ103から、前記暗号化データに対応する許可コードを受信し、あるユーザによる前記暗号化データへのアクセスを許可する際に、前記許可コードと前記鍵の第2部分とを第2クライアント102に送信することにより、前記第2クライアント102が、前記暗号化データへのアクセス要求を前記アクセス許可サーバに送信する際に、前記アクセス要求に前記許可コードと前記鍵の前記第2部分とを付するよう実現させ、前記アクセス許可サーバ103が、前記許可コードが使用可能であると決定した場合、前記鍵の前記第1部分及び前記第2部分に基づき前記鍵を生成し、生成された前記鍵で、前記情報共有システム104における前記ブロックから取得された前記暗号化データを復号化することにより、前記平文データを取得すると共に、前記第2クライアント102に前記平文データを返信するようにし、前記鍵の第2部分は前記鍵の前記第1部分を除いた残りの部分を含む許可モジュール703と、を備える。
いくつかの実例では、許可モジュール703は、さらに、前記許可コードと前記鍵の前記第2部分とが含まれる、前記暗号化データのアクセストークンを生成する。ここで、前記許可モジュール703は、前記アクセストークンを前記第2クライアント102に送信することにより、前記第2クライアント102が前記アクセス要求に前記アクセストークンを付するようにさせる。
いくつかの実例では、前記暗号化データを前記情報共有システム104にアップロードする際に、前記アップロードモジュール702は、前記暗号化データのファイル識別子と、前記暗号化データの保有者のユーザ識別子とをさらにアップロードすることにより、前記情報共有システム104が、前記暗号化データと、前記ファイル識別子、及び前記保有者のユーザ識別子とを関連付けるよう実現させ、前記アクセス許可サーバ103が、前記ファイル識別子と前記保有者のユーザ識別子とに基づいて、前記情報共有システム104から前記暗号化データを取得するようにさせる。
いくつかの実例では、前記鍵の前記第1部分を前記アクセス許可サーバ103にアップロードする際に、前記アップロードモジュール702は、前記ファイル識別子と前記保有者のユーザ識別子とをさらにアップロードすることにより、前記アクセス許可サーバ103が、前記保有者のユーザ識別子に対応する規則に従って、前記許可コードを生成し、前記許可コードと、前記鍵の前記第1部分、前記ファイル識別子、及び前記保有者のユーザ識別子とを関連付け、前記アクセス要求を受信すると、前記アクセス要求に付された前記ファイル識別子と前記保有者のユーザ識別子とに基づいて、前記アクセス要求に付された前記ファイル識別子と前記保有者のユーザ識別子とに関連付けられた前記許可コードと前記鍵の前記第1部分とを取得し、取得された前記許可コードに基づいて、前記アクセス要求に付された前記許可コードが使用可能であるか否かを決定し、取得された前記鍵の前記第1部分と、前記アクセス要求に付された前記第2部分とに基づき、前記鍵を生成するようにさせる。
いくつかの実例では、前記許可モジュール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許可コードを前記第1クライアント101に送信することにより、前記第1クライアント101が、第2クライアント102による前記暗号化データへのアクセスを許可する際に、前記第1許可コードと前記第1鍵の第2部分とを前記第2クライアント102に送信するよう実現させ、前記第2クライアント102が、前記暗号化データにアクセスする際に、前記第1許可コードと前記第1鍵の前記第2部分とをアクセス要求に付するようにし、前記第1鍵の第2部分は前記第1鍵の前記第1部分を除いた残りの部分を含む許可モジュール801と、
いずれか1つのクライアント(例えば、第2クライアント102)からの、前記暗号化データへのアクセス要求を受信すると、前記アクセス要求から、第2許可コード及び不完全な鍵を取得し、前記第2許可コードが前記第1許可コードと同じであって、かつ前記第2許可コードが使用可能である場合、鍵モジュール803をトリガーする検証モジュール802と、
前記不完全な鍵と、前記暗号化データに対応する前記第1鍵の第1部分とに基づき、第2鍵を生成し、前記不完全な鍵が前記第1鍵の第2部分と同じである場合、生成された前記第2鍵が前記第1鍵と同じである前記鍵モジュール803と、
前記情報共有システム104における前記ブロックから、前記暗号化データを取得し、前記第2鍵で前記暗号化データを復号化処理し、前記第2鍵が前記第1鍵と同じである場合、復号化によって前記平文データを取得すると共に、前記アクセス要求の送信元である前記クライアントに前記平文データを送信する復号化モジュール804と、を備えてもよい。
いくつかの実例では、前記検証モジュール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許可コードを失効させ、前記第1クライアント101に応答を返信することにより、前記第1クライアント101がローカルの前記第1許可コードを失効させるようにさせる。
いくつかの実例では、前記許可モジュール801は、さらに、前記第1クライアント101からの、前記暗号化データへの許可コード生成要求に応じて、前記暗号化データに対応する新たな許可コードを生成し、前記暗号化データに対応する前記新たな許可コードを前記第1クライアント101に送信する。
いくつかの実例では、前記許可モジュール801は、さらに、前記第1クライアント101からの、前記暗号化データへの許可コード更新要求に応じて、前記暗号化データに対応する新たな許可コードを生成し、元の前記第1許可コードを前記新たな許可コードに置き換え、前記暗号化データに対応する前記新たな許可コードを前記第1クライアント101に送信することにより、前記第1クライアント101が元の前記第1許可コードを前記新たな許可コードに置き換えるようにさせる。
上記の各モジュールの機能の実現原理は、上記に詳述されているが、ここで説明を省略する。
いくつかの実例では、上記のクライアント700及びサーバ800は、様々なコンピューティングデバイスで実行され、該コンピューティングデバイスのメモリにロードされることが可能である。本願の実施例では、コンピューティングデバイスが提供されている。このコンピューティングデバイスは、1つ又は複数のプロセッサと、メモリと、このメモリに記憶され、前記1つ又は複数のプロセッサによって実行されるように構成される1つ又は複数のプログラムと、を備える。前記1つ又は複数のプログラムには、上記のいずれか1つの方法の実例を実行するための命令が含まれる。
図9は、クライアント700又はサーバ800の位置するコンピューティングデバイスの構成図である。図9に示すように、このコンピューティングデバイスは、1つ又は複数のプロセッサ(CPU)902と、通信モジュール904と、メモリ906と、ユーザインタフェース910と、これらのコンポーネントを相互に接続するための通信バス908と、を備える。
プロセッサ902は、ネットワーク通信及び/又はローカル通信を実現するために、通信モジュール904を介して、データを送受信することができる。
ユーザインタフェース910は、1つ又は複数の出力デバイス912を備える。1つ又は複数の出力デバイス912は、1つ又は複数のスピーカ、及び/又は、1つ又は複数の視覚的なディスプレイを含む。ユーザインタフェース910は、1つ又は複数の入力デバイス914も備える。入力デバイス914は、例えば、キーボード、マウス、音声指示入力手段又はマイク、タッチディスプレイ、タッチセンシティブ入力タブレット、モーションキャプチャカメラ、若しくは、その他の入力ボタン又はコントロールユニットなどを含む。
メモリ906は、DRAM、SRAM、DDR RAM、又はその他のランダムアクセスソリッドステート記憶デバイスのような高速ランダムアクセスメモリ、或いは、1つ又は複数のディスク記憶デバイス、光ディスク記憶デバイス、フラッシュデバイス、又はその他の不揮発性ソリッドステート記憶デバイスのような不揮発性メモリであってもよい。
メモリ906は、プロセッサ902が実行可能な命令セットを記憶する。この命令セットは、
各種の基本的なシステムサービスの処理、及びハードウェアの関連タスクの実行に用いられるプログラムが含まれるオペレーティングシステム916と、
様々なアプリケーションプログラムを含み、上記の各実例における処理手順を実現可能なアプリケーション918と、を含む。アプリケーション918は、例えば、図7に示すクライアント700、及び/又は、図8に示すサーバ800を含んでもよい。いくつかの実例では、クライアント700は、図7に示す各モジュール701〜703の一部又は全部を含んでもよく、各モジュール701〜703には、機械実行可能命令が記憶されてもよい。プロセッサ902は、メモリ906の各モジュール701〜703における機械実行可能命令を実行することにより、上記各モジュール701〜703の機能を実現できる。いくつかの実例では、サーバ800は、図8に示す各モジュール801〜804の一部又は全部を含んでもよく、各モジュール801〜804には、機械実行可能命令が記憶されてもよい。プロセッサ902は、メモリ906の各モジュール801〜804における機械実行可能命令を実行することにより、上記各モジュール801〜804の機能を実現できる。
上記の実例で提供されたクライアント、サーバ、及びコンピューティングデバイスによれば、第1クライアント101が鍵及び許可コードを保有し、アクセス許可サーバ103が許可コードと鍵の第1部分とを保有し、第2クライアント102が、許可を得た場合、鍵の第2部分と、許可コードとを保有可能である。このように、第2クライアント102が、アクセス許可サーバ103を介して、相応のデータへのアクセスを要求すると、アクセス許可サーバ103は、まず、許可コードが使用可能であるか否かを検証し、許可コードが使用可能である場合、それぞれ第1クライアント101及び第2クライアント102から取得された不完全な鍵(鍵の第1部分及び第2部分)を使用して、完全な鍵を取得してもよい。第2クライアント102から提供された不完全な鍵に問題がある場合、正しい完全な鍵を取得できず、暗号化データの復号化に成功できないため、データのセキュリティが確保される。この構成では、第2クライアント102及びアクセス許可サーバ103が、それぞれ鍵の一部を保有し、両方とも暗号化データへのアクセス権限を有しなく、両者の保有する鍵情報を合わせた場合以外に完全な鍵を取得できないため、データのセキュリティ及びユーザのプライバシーが効果的に確保される。
説明すべきものとして、上記の各手順及び各構成図では、すべてのステップ及びモジュールが必要なわけではなく、実際の必要に応じて、いくつかのステップ又はモジュールを省略してもよい。各ステップの実行順序は、固定されず、必要に応じて調整されてもよい。各モジュールの分割は、単に説明を容易にするための機能的な分割にすぎない。実際の実現では、1つのモジュールを複数のモジュールに分けて、その機能を実現してもよいが、同様に、複数のモジュールの機能を同一のモジュールによって実現してもよい。これらモジュールは、同一の機器に位置してもよく、異なる機器に位置してもよい。
各実施例におけるハードウェアモジュールは、ハードウェア方式で、又は、ハードウェアプラットフォーム+ソフトウェアの方式で、実現されてもよい。上記ソフトウェアは、機械可読命令を含み、不揮発性記憶媒体に記憶される。このため、各実施例は、ソフトウェア製品として具現されてもよい。
各例では、ハードウェアは、専用のハードウェア、又は、機械可読命令を実行するハードウェアによって実現されてもよい。例えば、ハードウェアは、特定の動作を完成させるための、特別に設計された恒久的な回路又はロジックデバイス(例えば、FPGAやASICのような専用プロセッサ)であってもよい。ハードウェアは、特定の動作を実行するための、ソフトウェアによって一時的に配置されるプログラマブルロジックデバイス又は回路(例えば、汎用プロセッサやその他のプログラマブルプロセッサを含む)を含んでもよい。
また、本願の各々の実例は、データ処理機器(例えば、コンピュータ)により実行されるデータ処理プログラムによって実現されてもよい。明らかに、データ処理プログラムによって本願発明が構成されている。また、通常、記憶媒体に記憶されたデータ処理プログラムは、直接にプログラムを記憶媒体から読み出すことにより、又は、プログラムをデータ処理機器の記憶デイバイ(例えば、ハードディスク及び/又は内部メモリ)にインストール又はコピーすることにより、実行される。このため、このような記憶媒体によっても、本願発明が構成されている。本願の実施例では、本願の上記の方法の実例のいずれかを実行させることが可能なデータ処理プログラムを記憶した不揮発性記憶媒体も提供されている。
図7及び図8におけるモジュールに対応する機械可読命令は、コンピュータ上で動作するオペレーティングシステムなどに、ここで説明される処理の一部又は全部を実行させることが可能である。不揮発性コンピュータ可読記憶媒体は、コンピュータに挿入された拡張ボードに設けられたメモリ、又はコンピュータに接続された拡張ユニットに設けられたメモリであってもよい。拡張ボード又は拡張ユニットに搭載されているCPUなどは、命令に従って、実際の処理の一部又は全部を実行できる。
不揮発性コンピュータ可読記憶媒体は、フロッピーディスク、ハードディスク、光磁気ディスク、光ディスク(例えば、CD−ROM、CD−R、CD−RW、DVD−ROM、DVD−RAM、DVD−RW、DVD+RW)、磁気テープ、不揮発性メモリカード、及びROMを含む。任意選択的に、通信ネットワークによって、サーバコンピュータからプログラムコードをダウンロードしてもよい。
上記のように、特許請求の範囲は、上記に説明された実例の実施形態に限定されるべきではなく、明細書を全体として最も広い解釈が与えられるべきである。
101 第1クライアント
102 第2クライアント
103 アクセス許可サーバ
104 情報共有システム
105 インターネット
501、502、601 コントロールユニット
700 クライアント
701 暗号化モジュール
702 アップロードモジュール
703 許可モジュール
800 サーバ
801 許可モジュール
802 検証モジュール
803 鍵モジュール
804 復号化モジュール
902 プロセッサ
904 通信モジュール
906 メモリ
908 通信バス
910 ユーザインタフェース
912 出力デバイス
914 入力デバイス
916 オペレーティングシステム
918 アプリケーション

Claims (17)

  1. ータ共有方法であって、
    1クライアントが、鍵で平文データを暗号化することにより、暗号化データを取得するステップと、
    前記第1クライアントが、前記暗号化データを、情報共有システムにおける1つのブロックにアップロードするステップであって、前記情報共有システムがブロックチェーンシステムである、ステップと、
    前記第1クライアントが、前記鍵の第1部分を、前記情報共有システムに対応するアクセス許可サーバにアップロードするステップと、
    前記第1クライアントが、前記アクセス許可サーバから、前記暗号化データに対応する許可コードを受信するステップと、
    前記第1クライアントが、あるユーザによる前記暗号化データへのアクセスを許可する際に、前記許可コードと前記鍵の第2部分とを前記ユーザの第2クライアントに送信するステップと、
    前記第2クライアントが、前記暗号化データへのアクセス要求であって前記許可コードと前記鍵の前記第2部分とを含むアクセス要求を前記アクセス許可サーバに送信するステップと、
    前記アクセス許可サーバが、前記許可コードが使用可能であると決定した場合、前記鍵の前記第1部分及び前記第2部分に基づき前記鍵を生成し、生成された前記鍵で、前記情報共有システムにおける前記ブロックから取得された前記暗号化データを復号化することにより、前記平文データを取得すると共に、前記第2クライアントに前記平文データを返信するステップであって、前記鍵の第2部分は前記鍵の前記第1部分を除いた残りの部分を含む、ステップと、
    を含む方法。
  2. 前記第1クライアントが、前記暗号化データを前記情報共有システムにおける前記ブロックにアップロードする際に、前記暗号化データのファイル識別子と、前記暗号化データの保有者のユーザ識別子とをさらにアップロードし、
    前記情報共有システムが、前記暗号化データと、前記ファイル識別子、及び前記保有者のユーザ識別子とを関連付け、
    前記アクセス許可サーバが、前記ファイル識別子と前記保有者のユーザ識別子とに基づいて、前記情報共有システムにおける前記ブロックから前記暗号化データを取得する、
    請求項1に記載の方法。
  3. 前記第1クライアントが、前記鍵の前記第1部分を前記アクセス許可サーバにアップロードする際に、前記ファイル識別子と前記保有者のユーザ識別子とをさらにアップロードし、
    前記アクセス許可サーバが、前記保有者のユーザ識別子に対応する規則に従って、前記許可コードを生成し、前記許可コードと、前記鍵の前記第1部分、前記ファイル識別子、及び前記保有者のユーザ識別子とを関連付け、前記アクセス要求を受信すると、前記アクセス要求に付された前記ファイル識別子と前記保有者のユーザ識別子とに基づいて、前記アクセス要求に付された前記ファイル識別子と前記保有者のユーザ識別子とに関連付けられた前記許可コードと前記鍵の前記第1部分とを取得し、取得された前記許可コードに基づいて、前記アクセス要求に付された前記許可コードが使用可能であるか否かを決定し、取得された前記鍵の前記第1部分と、前記アクセス要求に付された前記第2部分とに基づき、前記鍵を生成する
    請求項2に記載の方法。
  4. 前記第1クライアントが、前記許可コードへの取り消し要求を前記アクセス許可サーバに送信し、前記アクセス許可サーバが前記許可コードを失効させるステップと、
    前記第1クライアントが、ローカルの前記許可コードを失効させるステップと、
    をさらに含む請求項1に記載の方法。
  5. 前記第1クライアントが、前記暗号化データへの許可コード更新要求を前記アクセス許可サーバに送信し、前記アクセス許可サーバが、前記暗号化データに対応する新たな許可コードを生成し、元の前記許可コードを前記新たな許可コードに置き換えるステップと、
    前記第1クライアントが、前記アクセス許可サーバから前記新たな許可コードを受信し、元の前記許可コードを前記新たな許可コードに置き換えるステップと、
    をさらに含む請求項1に記載の方法。
  6. ータ共有方法であって、
    クセス許可サーバが、第1クライアントから第1鍵の第1部分を受信するステップであって、前記第1鍵が、情報共有システムにおける1つのブロックにアップロードされた暗号化データに対応するものであり、前記暗号化データが、前記第1鍵で平文データに対して暗号化処理を行うことにより取得されたものであり、前記情報共有システムがブロックチェーンシステムである、ステップと、
    前記アクセス許可サーバが、前記暗号化データに対応する第1許可コードを生成するステップと、
    前記アクセス許可サーバが、前記第1許可コードを前記第1クライアントに送信するステップと、
    前記第1クライアントが、第2クライアントによる前記暗号化データへのアクセスを許可する際に、前記第1許可コードと前記第1鍵の第2部分とを前記第2クライアントに送信するステップと、
    前記第2クライアントが、前記暗号化データにアクセスする際に、前記第1許可コードと前記第1鍵の前記第2部分とをアクセス要求に付するステップであって、前記第1鍵の第2部分は前記第1鍵の前記第1部分を除いた残りの部分を含む、ステップと
    前記アクセス許可サーバが、前記第2クライアントから、前記暗号化データへのアクセス要求を受信するステップと、
    前記アクセス許可サーバが、前記アクセス要求から、第2許可コード及び不完全な鍵を取得するステップと、
    前記アクセス許可サーバが、前記第2許可コードが前記第1許可コードと同じであって、かつ前記第2許可コードが使用可能である場合、前記不完全な鍵と、前記暗号化データに対応する前記第1鍵の第1部分とに基づき、第2鍵を生成するステップであって、前記不完全な鍵が前記第1鍵の第2部分と同じである場合、生成された前記第2鍵が前記第1鍵と同じである、ステップと、
    前記アクセス許可サーバが、前記情報共有システムにおける前記ブロックから、前記暗号化データを取得するステップと、
    前記アクセス許可サーバが、前記第2鍵で前記暗号化データを復号化処理し、前記第2鍵が前記第1鍵と同じである場合、復号化によって前記平文データを取得すると共に、前記アクセス要求の送信元である前記第2クライアントに前記平文データを送信するステップと、
    をさらに含む方法。
  7. 前記アクセス許可サーバが、前記第1クライアントから前記鍵の前記第1部分を受信する際に、ファイル識別子と前記暗号化データの保有者のユーザ識別子とをさらに受信し、
    前記アクセス許可サーバが、前記暗号化データに対応する第1許可コードを生成するステップは、
    前記アクセス許可サーバが、前記保有者のユーザ識別子に対応する規則に従って、前記第1許可コードを生成し、前記第1許可コードと、前記鍵の前記第1部分、前記ファイル識別子、及び前記保有者のユーザ識別子とを関連付けるステップと、
    前記アクセス許可サーバが、前記アクセス要求を受信すると、前記アクセス要求に付されたファイル識別子と前記保有者のユーザ識別子とに基づいて、前記アクセス要求に付されたファイル識別子と前記保有者のユーザ識別子とに関連付けられた前記第1許可コードと前記鍵の前記第1部分とを取得するステップと、を含む、
    請求項6に記載の方法。
  8. 前記ブロックが、ブロックの高さに対応するものであり、
    生成された前記第1許可コードが、アクセス可能なブロックの高さに対応するものである場合において、前記アクセス許可サーバ
    記第2許可コードが前記第1許可コードと同じである場合、前記第2許可コードに対応するアクセス可能なブロックの高さを取得し、
    記アクセス要求の対象となる前記暗号化データのブロックの高さが、前記第2許可コードに対応する前記アクセス可能なブロックの高さとマッチしている場合、前記第2許可コードが使用可能であると決定する、又は
    生成された前記第1許可コードが、期限に対応するものである場合において、前記アクセス許可サーバは、
    前記第2許可コードが前記第1許可コードと同じである場合に、前記第2許可コードに対応するアクセス可能な期限を取得し、
    前記第2許可コードが前記期限に達していない場合に、前記第2許可コードが使用可能であると決定する、
    請求項6に記載の方法。
  9. 前記アクセス許可サーバが、前記第1クライアントからの、前記第1許可コードへの取り消し要求に応じて、前記第1許可コードを失効させるステップと、
    前記アクセス許可サーバが、前記第1クライアントに応答を返信し、前記第1クライアントがローカルの前記第1許可コードを失効させるステップと、
    をさらに含む請求項6に記載の方法。
  10. 前記アクセス許可サーバが、前記第1クライアントからの、前記暗号化データへの許可コード生成要求に応じて、前記暗号化データに対応する新たな許可コードを生成するステップと、
    前記アクセス許可サーバが、前記暗号化データに対応する前記新たな許可コードを前記第1クライアントに送信するステップと、
    をさらに含む請求項6に記載の方法。
  11. 前記アクセス許可サーバが、前記第1クライアントからの、前記暗号化データへの許可コード更新要求に応じて、前記暗号化データに対応する新たな許可コードを生成し、元の前記第1許可コードを前記新たな許可コードに置き換えるステップと、
    前記アクセス許可サーバが、前記暗号化データに対応する前記新たな許可コードを前記第1クライアントに送信し、前記第1クライアントが元の前記第1許可コードを前記新たな許可コードに置き換えるステップと、
    をさらに含む請求項6に記載の方法。
  12. 第1クライアント、第2クライアント、及びアクセス許可サーバを含むシステム・アーキテクチャであって、前記第1クライアントは、
    鍵で平文データを暗号化することにより、暗号化データを取得する暗号化モジュールと、
    前記暗号化データを、情報共有システムにおける1つのブロックにアップロードし、前記鍵の第1部分を、前記情報共有システムに対応するアクセス許可サーバにアップロードし、前記情報共有システムがブロックチェーンシステムであるアップロードモジュールと、
    前記アクセス許可サーバから、前記暗号化データに対応する許可コードを受信し、あるユーザによる前記暗号化データへのアクセスを許可する際に、前記許可コードと前記鍵の第2部分とを前記ユーザの第2クライアントに送信する許可モジュールと、
    を備え、前記第2クライアントが、前記暗号化データへのアクセス要求であって前記許可コードと前記鍵の前記第2部分とを含むアクセス要求を前記アクセス許可サーバに送信した場合に、前記アクセス許可サーバが、前記許可コードが使用可能であると決定した場合、前記鍵の前記第1部分及び前記第2部分に基づき前記鍵を生成し、生成された前記鍵で、前記情報共有システムにおける前記ブロックから取得された前記暗号化データを復号化することにより、前記平文データを取得すると共に、前記第2クライアントに前記平文データを返信し、
    前記鍵の第2部分は前記鍵の前記第1部分を除いた残りの部分を含む、システム・アーキテクチャ
  13. 第1クライアント、第2クライアント、及びアクセス許可サーバを含むシステム・アーキテクチャであって、
    前記アクセス許可サーバは、前記第1クライアントから第1鍵の第1部分を受信する許可モジュールと、検証モジュールと、鍵モジュールと、復号化モジュールとを含み、前記第1鍵が、情報共有システムにおける1つのブロックにアップロードされた暗号化データに対応するものであり、前記暗号化データが、前記第1鍵で平文データに対して暗号化処理を行うことにより取得されたものであり、前記情報共有システムがブロックチェーンシステムであり、
    前記許可モジュールが、前記暗号化データに対応する第1許可コードを生成し、前記第1許可コードを前記第1クライアントに送信し、
    前記第1クライアントが、第2クライアントによる前記暗号化データへのアクセスを許可する際に、前記第1許可コードと前記第1鍵の第2部分とを前記第2クライアントに送信し、
    前記第2クライアントが、前記暗号化データにアクセスする際に、前記第1許可コードと前記第1鍵の前記第2部分とをアクセス要求に付し、
    前記第1鍵の第2部分は前記第1鍵の前記第1部分を除いた残りの部分を含み、
    前記検証モジュールは、前記第2クライアントから前記暗号化データへのアクセス要求を受信すると、前記アクセス要求から、第2許可コード及び不完全な鍵を取得し、前記第2許可コードが前記第1許可コードと同じであって、かつ前記第2許可コードが使用可能である場合、鍵モジュールをトリガーし、
    前記鍵モジュールは、前記不完全な鍵と、前記暗号化データに対応する前記第1鍵の第1部分とに基づき、第2鍵を生成し、前記不完全な鍵が前記第1鍵の第2部分と同じである場合、生成された前記第2鍵が前記第1鍵と同じであり、
    前記復号化モジュールは、前記情報共有システムにおける前記ブロックから、前記暗号化データを取得し、前記第2鍵で前記暗号化データを復号化処理し、前記第2鍵が前記第1鍵と同じである場合、復号化によって前記平文データを取得すると共に、前記アクセス要求の送信元である前記第2クライアントに前記平文データを送信する、システム・アーキテクチャ
  14. コンピューティングデバイスであって、
    1つ又は複数のプロセッサと、
    メモリと、
    該メモリに記憶され、前記1つ又は複数のプロセッサによって実行されるように構成される1つ又は複数のプログラムと、を備え、
    前記1つ又は複数のプログラムには、請求項1〜11のいずれか1項に記載の方法を実行するための命令が含まれる、
    コンピューティングデバイス。
  15. 1つ又は複数のプログラムを記憶した記憶媒体であって、前記1つ又は複数のプログラムには、命令が含まれ、前記命令は、コンピューティングデバイスによって実行されると、前記コンピューティングデバイスに、請求項1〜11のいずれか1項に記載の方法を実行させる記憶媒体。
  16. 請求項1〜5のいずれか1項に記載の方法をコンピュータに実行させるコンピュータ・プログラム。
  17. 請求項6〜11のいずれか1項に記載の方法をコンピュータに実行させるコンピュータ・プログラム。
JP2020524318A 2017-11-02 2018-09-27 データ共有方法、クライアント、サーバ、コンピューティングデバイス、及び記憶媒体 Active JP6961818B2 (ja)

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
JP2021502023A JP2021502023A (ja) 2021-01-21
JP6961818B2 true JP6961818B2 (ja) 2021-11-05

Family

ID=62012925

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020524318A Active JP6961818B2 (ja) 2017-11-02 2018-09-27 データ共有方法、クライアント、サーバ、コンピューティングデバイス、及び記憶媒体

Country Status (6)

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

Families Citing this family (52)

* 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
DE112019003304T5 (de) * 2018-06-29 2021-04-08 Sony Corporation Datenverarbeitungssystem, datenverarbeitungsverfahren und datenverarbeitungseinrichtung
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 中链科技有限公司 一种基于区块链的分布式消息发送与接收方法以及装置
CN112823503B (zh) * 2018-11-20 2022-08-16 深圳市欢太科技有限公司 一种数据访问方法、数据访问装置及移动终端
CN109583905A (zh) * 2018-12-21 2019-04-05 众安信息技术服务有限公司 基于区块链网络的利用通证来实现数据共享的方法和设备
CN111385266B (zh) * 2018-12-29 2022-06-17 湖南亚信软件有限公司 数据共享方法、装置、计算机设备和存储介质
US11368441B2 (en) 2019-01-29 2022-06-21 Mastercard International Incorporated Method and system for general data protection compliance via blockchain
CN110147410B (zh) * 2019-04-18 2020-08-04 阿里巴巴集团控股有限公司 一种块链式账本中的数据验证方法、系统、装置及设备
CN110177092A (zh) * 2019-05-22 2019-08-27 南京邮电大学 一种基于区块链的电子数据可信下载方法
CN110263556A (zh) * 2019-05-22 2019-09-20 广东安创信息科技开发有限公司 一种oa系统数据的加解密方法及系统
EP3764613A1 (en) * 2019-07-09 2021-01-13 Gemalto Sa Method, first device, first server, second server and system for accessing a private key
US11194918B2 (en) * 2019-07-10 2021-12-07 International Business Machines Corporation Data transmission based on verification codes
CN111010386B (zh) * 2019-12-10 2021-12-21 上海信联信息发展股份有限公司 一种基于共享账本的隐私保护与数据监管控制方法
CN111061982B (zh) * 2019-12-11 2023-04-18 电子科技大学 一种基于区块链的新闻资讯发布及管理系统
CN111179067B (zh) * 2019-12-31 2023-06-27 杭州趣链科技有限公司 一种基于区块链的银行间客户信息交换系统
US11271742B2 (en) 2020-01-26 2022-03-08 International Business Machines Corporation Decentralized secure data sharing
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
EP3799642B1 (en) * 2020-02-14 2022-06-29 Alipay (Hangzhou) Information Technology Co., Ltd. Data authorization based on decentralized identifiers
CN111352996B (zh) * 2020-02-26 2023-09-19 百度在线网络技术(北京)有限公司 基于区块链网络的数据共享方法、装置、设备及介质
US11658816B2 (en) * 2020-04-15 2023-05-23 Philips North America Llc Document control system for blockchain
CN111639350B (zh) * 2020-05-16 2023-01-31 中信银行股份有限公司 密码服务系统及加密方法
CN111740986B (zh) * 2020-06-19 2022-07-19 公安部第三研究所 基于标识密码技术的实现数据共享控制的系统及其方法
CN111914293A (zh) * 2020-07-31 2020-11-10 平安科技(深圳)有限公司 一种数据访问权限验证方法、装置、计算机设备及存储介质
US11621837B2 (en) * 2020-09-03 2023-04-04 Theon Technology Llc Secure encryption of data using partial-key cryptography
US11310042B2 (en) 2020-09-11 2022-04-19 Crown Sterling Limited, LLC Methods of storing and distributing large keys
CN112184426A (zh) * 2020-10-12 2021-01-05 深圳壹账通智能科技有限公司 数据共享方法、系统、服务器及计算机可读存储介质
CN112333199B (zh) * 2020-11-17 2023-04-21 珠海大横琴科技发展有限公司 一种数据处理的方法和装置
CN112637177B (zh) * 2020-12-17 2022-09-27 赛尔网络有限公司 数据加密传输方法、装置、设备及介质
CN112615936A (zh) * 2020-12-28 2021-04-06 南京披云信息科技有限公司 提升物联网安全的方法及装置
WO2022169457A1 (en) * 2021-02-05 2022-08-11 Visa International Service Association Mobile device secret protection system and method
CN113515728B (zh) * 2021-05-18 2023-08-04 北京飞利信电子技术有限公司 一种基于多级部署的物联网平台软件授权控制系统和方法
US11615375B2 (en) * 2021-07-02 2023-03-28 dexFreight, Inc. Electronic management of supply chain factoring with shared state storage in a distributed ledger
US11755772B2 (en) 2021-09-20 2023-09-12 Crown Sterling Limited, LLC Securing data in a blockchain with a one-time pad
CN113868605B (zh) * 2021-09-30 2024-03-22 新华三大数据技术有限公司 授权管理方法、装置及系统
CN113722695B (zh) * 2021-11-02 2022-02-08 佳瑛科技有限公司 基于云端服务器的财务数据安全共享方法、装置及系统
US11791988B2 (en) 2021-11-22 2023-10-17 Theon Technology Llc Use of random entropy in cryptography
US11943336B2 (en) 2021-11-22 2024-03-26 Theon Technology Llc Use of gradient decent function in cryptography
US11902420B2 (en) 2021-11-23 2024-02-13 Theon Technology Llc Partial cryptographic key transport using one-time pad encryption
CN114124572B (zh) * 2021-12-07 2023-06-27 建信金融科技有限责任公司 基于单向网络的数据传输方法、装置、设备和介质
KR102602189B1 (ko) * 2022-02-18 2023-11-14 주식회사 한글과컴퓨터 클라우드 기반의 문서 공유 서비스를 운영하기 위한 문서 공유 서비스 서버 및 그 동작 방법
US11727145B1 (en) 2022-06-10 2023-08-15 Playback Health Inc. Multi-party controlled transient user credentialing for interaction with patient health data
CN116155619B (zh) * 2023-04-04 2023-07-07 江西农业大学 数据处理方法、数据请求端、数据拥有端及数据处理装置

Family Cites Families (19)

* 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 秘密情報管理装置および秘密情報管理システム
KR20100042457A (ko) * 2008-10-16 2010-04-26 삼성전자주식회사 데이터 암호화 방법 및 장치와 데이터 복호화 방법 및 장치
US9171298B2 (en) * 2011-02-24 2015-10-27 Dvdcase, Inc. Systems and methods for managing access to benefits associated with products
JP6019453B2 (ja) * 2012-07-05 2016-11-02 株式会社クリプト・ベーシック 暗号化装置、復号化装置、及びプログラム
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
KR101777698B1 (ko) 2015-10-27 2017-09-12 라인 가부시키가이샤 사용자 단말, 메시지를 송수신하는 방법 및 컴퓨터 프로그램
US10013573B2 (en) * 2015-12-16 2018-07-03 International Business Machines Corporation Personal ledger blockchain
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
CN107196900B (zh) * 2017-03-24 2020-04-24 创新先进技术有限公司 一种共识校验的方法及装置
JP6302592B2 (ja) * 2017-06-23 2018-03-28 株式会社エヌ・ティ・ティ・データ 情報処理装置、情報処理方法およびプログラム

Also Published As

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

Similar Documents

Publication Publication Date Title
JP6961818B2 (ja) データ共有方法、クライアント、サーバ、コンピューティングデバイス、及び記憶媒体
CN109144961B (zh) 授权文件共享方法及装置
US9137222B2 (en) Crypto proxy for cloud storage services
KR102144302B1 (ko) 저작권 관리 방법 및 시스템
AU2015334534B2 (en) Encrypted collaboration system and method
TWI571765B (zh) 用於保護上傳至網際網路站點的多媒體中之使用者隱私的系統和方法
US8903788B2 (en) Synchronizing distributed work through document logs
JP6573044B1 (ja) データ管理システム
EP3537684B1 (en) Apparatus, method, and program for managing data
US10542008B2 (en) Proxy authorization of a network device
CN106233292B (zh) 合成文档访问
TW201729121A (zh) 雲端服務伺服器及用來管理一雲端服務伺服器之方法
US20230108366A1 (en) Systems for encryption using blockchain distributed ledgers
KR101952139B1 (ko) 사용자 단말과 연동된 게이트웨이 서버에서 drm 기능을 제공하는 방법
US20240089105A1 (en) Systems and methods for user control and exclusion of cryptographic tokenized data
US20230185767A1 (en) Validity management system for digital file and method for operating the same
US20240086549A1 (en) Systems and methods for user characteristic determination through cryptographic tokenized data
JP6809581B2 (ja) データ管理システム
KR101861015B1 (ko) 클라우드 서비스 기반으로 사용자 단말에서 drm 기능을 제공하는 방법
KR20180043679A (ko) 게이트웨이 서버와 연동된 클라우드 저장소 서버에서 drm 기능을 제공하는 방법
WO2024003778A1 (en) Improving online community and privacy for non fungible token (nft) token holders
NZ731490B2 (en) Encrypted collaboration system and method

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200512

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200512

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210519

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210629

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210915

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20211005

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211013

R150 Certificate of patent or registration of utility model

Ref document number: 6961818

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150