JP2020511803A - ブロックチェーンベースのデータ管理のためのシステムおよび方法 - Google Patents

ブロックチェーンベースのデータ管理のためのシステムおよび方法 Download PDF

Info

Publication number
JP2020511803A
JP2020511803A JP2019533600A JP2019533600A JP2020511803A JP 2020511803 A JP2020511803 A JP 2020511803A JP 2019533600 A JP2019533600 A JP 2019533600A JP 2019533600 A JP2019533600 A JP 2019533600A JP 2020511803 A JP2020511803 A JP 2020511803A
Authority
JP
Japan
Prior art keywords
user
blockchain
digital
logged
authentication information
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.)
Pending
Application number
JP2019533600A
Other languages
English (en)
Inventor
ロン チョン
ロン チョン
イェンポン リー
イェンポン リー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Publication of JP2020511803A publication Critical patent/JP2020511803A/ja
Pending legal-status Critical Current

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/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • 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/0815Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
    • 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/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • G06F21/46Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
    • 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/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • 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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/563Data redirection of data network streams
    • 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
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • 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
    • 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
    • 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/3247Cryptographic 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 involving digital signatures
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Power Engineering (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

データ管理を実行するために、コンピュータストレージ媒体上でエンコードされたコンピュータプログラムを含んでいる、方法、システム、および装置。方法のうちの1つは、ログインユーザの認証情報を取得することと、ログインユーザの認証情報のデジタル要約を生成することと、ログインユーザの認証情報のデジタル要約とブロックチェーンに格納された1つまたは複数のデジタル要約との間の比較に基づいて、ログインユーザを認証することと、を含む。

Description

本出願は、一般に、ブロックチェーンベースのデータ管理のための方法およびデバイスに関連している。
多くのインターネットベースのアプリケーションの場合、ユーザは、特定の機能にアクセスするために、ユーザ自身の情報を登録する必要があることが多い。例えば、ユーザは、ユーザアカウントおよびユーザアカウントのパスワードを作成し、連絡先情報および支払い方法などを入力する必要があることがある。ユーザアカウントおよびパスワードなどの登録情報の一部は、ユーザがアカウントにアクセスしようとするときに、ユーザの身元の認証に使用されることがある。インターネットへの自由なアクセスに起因して、プライベートデータの漏洩事件が頻繁に発生している。それらの事件の少なくとも一部では、漏洩が、ユーザ登録情報を収集して格納するオンラインサービスプロバイダから発生した。
現在の技術では、オンラインサービスプロバイダまたはプライベートデータのその他の保有者は、そのようなプライベートデータを保護するための十分な保護機構を欠いていることがあり、それが頻繁なデータ漏洩につながった。複数の場所でのデータ格納は、データ漏洩の可能性をさらに増やすことがある。例えば、ハッカーは、オンラインサービスプロバイダによって維持されているそのようなデータ格納場所のうちの1つまたは複数に侵入し、ユーザデータを悪用するためにエクスポートすることがある。さらに、現在のソリューションでは、オンラインサービスプロバイダは、多くの場合、独自の格納ルールおよびアクセスルールを実施し、単独の制御を維持する。データアクセスは、セキュリティ分析のため、またはユーザが権利を主張するために、追跡してほとんど証拠を残さないことが困難である。したがって、プライバシー保護のための強化されたデータセキュリティは、解決されるべく、残されている困難な問題である。
加えて、各ユーザは、同じような個人情報が入力されるにもかかわらず、複数のアカウントをさまざまなオンラインアプリケーションに登録する必要があることがある。このプロセスは反復的で退屈であり、アカウントとパスワードの組み合わせは、混乱しやすい。そのようなユーザにとっての不利益が、ハッカーにとっては利益になることが分かっている。ハッカーは、特定のオンラインアプリケーションに関する特定の盗まれたアカウントとパスワードの組み合わせに基づいて、ダミーのアカウントとパスワードの組み合わせのライブラリを生成し、このダミーの組み合わせを使用して試行錯誤することによって、他のオンラインアプリケーションにログインすることができる。ユーザは、異なるオンラインアプリケーションに対して、共通のアカウントとパスワードの組み合わせを使用することが多いため、データ漏洩の連鎖が、異なるオンラインアプリケーションにわたって広がることがある。したがって、プライベートデータを安全に格納できるシステムを持つことが望ましい。
本明細書のさまざまな実施形態は、ブロックチェーンベースのデータ管理のためのシステム、方法、および非一時的コンピュータ可読媒体を含むが、これらに限定されない。
一実施形態によれば、データ管理のためのコンピュータ実装方法は、ログインユーザの認証情報を取得することと、ログインユーザの認証情報のデジタル要約を生成することと、ログインユーザの認証情報のデジタル要約とブロックチェーンに格納された1つまたは複数のデジタル要約との間の比較に基づいて、ログインユーザを認証することと、を含む。
一部の実施形態では、この認証情報は、ログインユーザに関連付けられたアカウント識別情報またはアカウント識別情報に関連付けられたパスワードのうちの少なくとも1つを含む。
他の実施形態では、認証情報のデジタル要約は、認証情報のハッシュ値を含む。
さらに他の実施形態では、この方法は、ログインユーザの認証情報を取得する前に、登録対象のユーザの認証情報を取得することと、登録対象のユーザの認証情報に基づいてデジタル要約を生成することと、登録対象のユーザの認証情報に基づいて生成されたデジタル要約を、ブロックチェーンに格納するためにブロックチェーンの1つまたは複数のノードに送信することであって、送信されたデジタル要約が、ブロックチェーンに格納された1つまたは複数のデジタル要約のうちの1つである、送信することと、をさらに含む。
さらに他の実施形態では、登録対象のユーザの認証情報を取得することが、サービスシステムから転送された登録要求を受信することであって、この登録要求が、登録対象のユーザによって要求される、受信することと、 リダイレクトアドレスをサービスシステムに提供し、サービスシステムが、このリダイレクトアドレスに対応する登録ページを描画することと、この登録ページを介して、登録対象のユーザから認証情報を収集することと、を含む。
一部の実施形態では、登録対象のユーザの認証情報を取得することが、認証情報を使用して、登録対象のユーザを1つまたは複数の他のサービスシステムで認証するための許可を、登録対象のユーザから取得することをさらに含む。
他の実施形態では、登録対象のユーザの認証情報を取得することが、登録対象のユーザの認証情報およびユーザ詳細情報を取得することと、ユーザ詳細情報をストレージシステムに格納することと、を含む。
さらに他の実施形態では、この方法は、トランザクションを実行することの要求をログインユーザから取得することと、トランザクションを実行するために、ログインユーザのユーザ詳細情報をストレージシステムから取得することと、ログインユーザのユーザ詳細情報に少なくとも基づいてトランザクションを実行することと、をさらに含む。
さらに他の実施形態では、この方法は、トランザクションを実行することの要求を取得した後に、トランザクションを実行するために、ユーザ詳細情報をストレージシステムから取得する前に、ログインユーザの認証情報のデジタル要約とブロックチェーンに格納された1つまたは複数のデジタル要約との間の別の比較に基づいて、ログインユーザの認証を取得することをさらに含む。
一部の実施形態では、ログインユーザの認証情報のデジタル要約とブロックチェーンに格納された1つまたは複数のデジタル要約との間の比較に基づいてログインユーザを認証することが、ログインユーザの認証情報のデジタル要約を、ブロックチェーンに格納された1つまたは複数のデジタル要約と比較することと、認証情報のデジタル要約がブロックチェーンに格納されたデジタル要約のうちの1つと同じであるということに応答して、ログインユーザを認証することと、を含む。
他の実施形態では、ログインユーザの認証情報のデジタル要約とブロックチェーンに格納された1つまたは複数のデジタル要約との間の比較に基づいてログインユーザを認証することが、ブロックチェーンの1つまたは複数のノードから比較の結果を取得することであって、この比較がブロックチェーンの1つまたは複数のノードによって実行される、取得することと、取得された結果に従って、認証情報のデジタル要約がブロックチェーンに格納されたデジタル要約のうちの1つと同じであるということに応答して、ログインユーザを認証することと、を含む。
さらに他の実施形態では、ブロックチェーンに格納された1つまたは複数のデジタル要約の各々は、対応するデジタル要約をブロックチェーンに格納することに関連付けられたトランザクション識別情報を含んでおり、この方法は、ログインユーザを正常に認証することに応答して、認証情報のデジタル要約に一致するブロックチェーンに格納されたデジタル要約のうちの1つを格納することに関連付けられたトランザクション識別情報を取得することをさらに含む。
一部の実施形態では、データ管理システムは、1つまたは複数のプロセッサと、1つまたは複数のプロセッサに結合されており、前述の実施形態のいずれかの方法を実行するために1つまたは複数のプロセッサによって実行可能な命令が格納されている、1つまたは複数のコンピュータ可読メモリとを備える。
他の実施形態では、データ管理装置が、前述の実施形態のいずれかの方法を実行するために、複数のモジュールを備える。
別の実施形態によれば、データ管理システムは、1つまたは複数のプロセッサと、1つまたは複数のプロセッサに結合されており、システムに動作を実行させるように1つまたは複数のプロセッサによって実行可能な命令を使用して構成されている、1つまたは複数の非一時的コンピュータ可読メモリとを備えており、それらの動作は、ログインユーザの認証情報を取得することと、ログインユーザの認証情報のデジタル要約を生成することと、ログインユーザの認証情報のデジタル要約とブロックチェーンに格納された1つまたは複数のデジタル要約との間の比較に基づいてログインユーザを認証することと、を含む。
さらに別の実施形態によれば、非一時的コンピュータ可読記憶媒体が、1つまたは複数のプロセッサに動作を実行させるように1つまたは複数のプロセッサによって実行可能な命令を使用して構成されており、それらの動作は、ログインユーザの認証情報を取得することと、ログインユーザの認証情報のデジタル要約を生成することと、ログインユーザの認証情報のデジタル要約とブロックチェーンに格納された1つまたは複数のデジタル要約との間の比較に基づいてログインユーザを認証することと、を含む。
さらに別の実施形態によれば、データ管理装置が、ログインユーザの認証情報を取得するための取得モジュールと、ログインユーザの認証情報のデジタル要約を生成するための生成モジュールと、ログインユーザの認証情報のデジタル要約とブロックチェーンに格納された1つまたは複数のデジタル要約との間の比較に基づいて、ログインユーザを認証するための認証モジュールとを備えてよい。
本明細書において開示される実施形態は、1つまたは複数の技術的効果を有する。一部の実施形態では、方法およびシステムは、認証情報を安全に格納できる。ブロックチェーンに格納することで、元のデータの正確な記録維持を可能にする。他の実施形態では、ある実体がその情報を登録するときに、登録情報(例えば、アカウントおよびパスワード)をブロックチェーントランザクションでブロックチェーンに格納することができる。したがって、登録情報は、認証中のユーザにとって変更不可能かつ取得可能になる。さらに他の実施形態では、方法およびシステムは、認証情報の相互利用を許可することができる。さらに他の実施形態では、ユーザは、あるサービスである登録を実行し、認証情報の相互利用を許可することによって、同じ認証情報を使用して他のサービスにアクセスすることができる。これによって、複数のサービスで登録を繰り返す必要性をなくし、認証情報を忘れる可能性を低くする。さらに他の実施形態では、方法およびシステムは、ログインユーザに関連するユーザ詳細情報(例えば、連絡先、住所、銀行口座)の格納をストレージクラスターなどに集中させることができる。ログインユーザが認証されるときに、トランザクションの開始などのより複雑な動作をさらに検証するために、対応するユーザ詳細情報を取得することができる。一部の実施形態では、オンラインサービスプロバイダはユーザデータをローカルに格納する必要がなく、これによって、システム保守のコストを下げ、データセキュリティを強化する。他の実施形態では、ユーザ詳細情報またはその表現をブロックチェーンに格納し、改ざんを防ぐこともできる。全体的に、ユーザデータがより安全に格納され、データ漏洩の可能性が低くなる。
本明細書で開示されたシステム、方法、および非一時的コンピュータ可読媒体のこれらおよびその他の特徴だけでなく、構造の関連する要素および部分の組み合わせの動作および機能の方法ならびに製造の経済性が、添付の図面を参照して以下の説明および添付の特許請求の範囲を検討したときに、さらに明らかになってよく、それらすべてが、類似する参照番号がさまざまな図内の対応する部分を指定している本明細書の一部を形成する。しかし、それらの図面が単に例示および説明を目的としており、制限として意図されていないということが、明確に理解されるべきである。
さまざまな実施形態に従って、ブロックチェーンベースのデータ管理システムの例を示す図である。 さまざまな実施形態に従って、ブロックチェーンネットワークの例を示す図である。 さまざまな実施形態に従って、ユーザデータを収集して格納するための方法の例を示す図である。 さまざまな実施形態に従って、ユーザアカウントを認証するための方法の例を示す図である。 さまざまな実施形態に従って、ユーザデータを取得するための方法の例を示す図である。 さまざまな実施形態に従って、ブロックチェーンベースのデータ管理のための方法の例のフローチャートを示す図である。 さまざまな実施形態に従って、ブロックチェーンベースのデータ管理コンピュータシステムの例のブロック図を示している。 本明細書に記載された実施形態のいずれかが実装されてよいコンピュータシステムの例のブロック図を示している。
本明細書において開示される実施形態は、ブロックチェーンベースのデータ管理システム、方法、および非一時的コンピュータ可読媒体を含むが、これらに限定されない。さまざまな実施形態では、特定のユーザデータが、ブロックチェーンに格納されるか、またはブロックチェーンを介して共有されてよい。例えば、データ管理は、さまざまなオンラインアプリケーション用のユーザデータの収集を管理してよい。一部の実施形態では、ユーザデータは、データ管理センター(ストレージシステムと呼ばれる)に登録されてよく、このデータ管理センターは、ユーザ詳細情報を格納し、認証情報の要約をブロックチェーンにアップロードする。この1回限りの登録によって、ユーザは、データ管理センターにリンクした複数のオンラインサービスプロバイダへのアクセスを実現することができ、プロバイダごとに登録を繰り返す必要がない。他の実施形態では、オンラインサービスプロバイダは、ユーザデータを格納する個別のデータベースを維持する必要がない。他の実施形態では、異なるオンラインサービスプロバイダが、ブロックチェーンにアクセスすることによってユーザを認証し、ユーザ詳細情報をデータ管理センターから取得して、トランザクションを実行するか、またはユーザによって要求されたその他の動作を実行することができる。ユーザデータを集中した場所に格納することによって、ユーザがプライベートデータを複数回サブミットする必要がなくなり、複数の場所にサブミットする必要もなくなるため、データ漏洩の可能性が低くなる。さらに他の実施形態では、ユーザは、一度登録すれば、ブロックチェーンへのアクセスを介して認証情報を相互利用する異なるオンラインサービスプロバイダで認証されることが可能になる。
さまざまな実施形態では、開示されたデータ管理システム、方法、および非一時的コンピュータ可読媒体は、誰がネットワークへの参加、合意プロトコルの実行、および共有ブロックチェーン台帳の維持を許可されるかに応じて、さまざまなタイプのブロックチェーンに基づいてよい。さまざまなタイプのブロックチェーンは、例えば、パブリックブロックチェーン、コンソーシアムブロックチェーン、プライベートブロックチェーンなどを含んでよい。以下の説明では、コンソーシアムブロックチェーンを参照する。それにもかかわらず、開示されたデータ管理システム、方法、および非一時的コンピュータ可読媒体は、他のタイプのブロックチェーンに対して適用されてもよい。
ブロックチェーンは、ネットワーク内のさまざまなノード(例えば、コンピューティングデバイス)によって動作が実行されるため、分散化されているか、または部分的に集中化されたデータベースであると考えることができ、一般に分散型台帳と呼ばれる。すべての情報がブロックチェーンに書き込まれて保存されるか、またはブロックチェーンから読み取られてよい。ノードは、例えば、ブロックチェーンネットワークをサポートし、ブロックチェーンネットワークの円滑な実行を維持する、コンピューティングデバイスまたは大規模なコンピュータシステムである。各ノードは、ブロックチェーンの機能の一部または全部を提供してよい。例えば、合意の検証を行うノードは、合意参加ノード(または合意ノード)と呼ばれてよい。合意は、一般に受け入れられる処理結果を達成するための、ブロックチェーンノードのネットワークに関するルールのアルゴリズムであってよい。合意を通じて、データが継続的にブロックのチェーンに追加される。ブロックに対して変更が行われた場合、そのブロックの、チェーン内の先行するブロックへのリンクが無効になり、それがすべてのネットワーク参加者に見えるようになり、ネットワーク参加者は、合意ルールを通じて、さらなる不正な動作を防ぐことができる。
コンソーシアムブロックチェーンとは、事前に設定されたノードによって制御される合意手順を伴うブロックチェーンのことである。このブロックチェーンは、すべての参加者または承認された参加者のみが、アクセスすること、またはハイブリッドアクセス方法を採用することを、許可することができる。例えば、ルートハッシュおよびそのAPI(アプリケーションプログラムインターフェイス:Application Program Interface)が一般公開されてよく、外部の関係者は、APIを使用して特定の数の照会を行い、ブロックチェーンの状態に関連する情報を取得することを許可される。
コンソーシアムブロックチェーンは、より一般的なブロックチェーンであるパブリックブロックチェーンと比較した場合に、最もよく理解することができる。パブリックブロックチェーンは、アクセス制限を有せず、つまり、インターネットに接続している完全にすべての人が、パブリックブロックチェーンの参加者になることができる。さらに具体的には、世界中のすべての人が、ブロックチェーンに含まれているデータを読み取ることができ、世界中のすべての人が、パブリックブロックチェーン上でブロックチェーントランザクションを実行することを許可される。また、誰がブロックチェーンの合意プロセスに参加できるかに関して制限がなく、合意プロセスは、ブロックをブロックチェーンに追加できる個人または実体を決定するプロセスである。パブリックブロックチェーンは、ブロックチェーンに対する制御がどの個人または実体の管理下にもなく、完全に分散化されていると考えられる。
コンソーシアムブロックチェーンは、許可されるという点において、パブリックブロックチェーンとは異なっており、したがって、インターネット接続を有しているだけで、誰もがコンソーシアムブロックチェーンにアクセスできるわけではない。このタイプのブロックチェーンは、半分散化されているとして説明することもできる。コンソーシアムブロックチェーンに対する制御は、単一の実体に対して許可されず、承認された個人のグループに対して許可される。コンソーシアムブロックチェーンでは、合意プロセスがパブリックブロックチェーンの合意プロセスと異なる可能性が高い。誰でもこの手順に参加できるのではなく、コンソーシアムブロックチェーンの合意の参加者は、ネットワーク上の事前に承認されたノードのグループである可能性が高い。それらのノードは、さまざまな国、企業、またはその他の実体に対応してよい。したがって、コンソーシアムブロックチェーンは、パブリックブロックチェーンに固有のセキュリティ機能を有しながら、ネットワークに対するより高度な制御も可能にする。
図1Aは、さまざまな実施形態に従ってさまざまな開示されたステップおよび方法を実行するためのシステム110の例を示している。図に示されているように、システム110は、ストレージシステム111、ブロックチェーンシステム112、および1つまたは複数のサービスシステム(例えば、サービスシステム113、サービスシステム114など)を備えてよく、これらの各々は、ネットワーク119によって表されたさまざまなタイプの通信を介して一緒に結合された1つまたは複数の物理ハードウェアデバイスまたは仮想デバイスに対応してよい。サービスシステムは、「サービス」という単語が単にさまざまなシステムの名前を区別するためであるため、サービスを提供することに限定されない。サービスシステム113およびサービスシステム114のみが示されているが、多くのその他のサービスシステムが同様にシステム110に含まれてよい。
ストレージシステム111、ブロックチェーンシステム112、サービスシステム113、およびサービスシステム114の各々は、サーバ、コンピュータ、携帯電話などの、1つまたは複数のコンピューティングデバイスにおいて実装されてよい。例えば、システムの各々は、サーバのクラスターにおいて実装されてよい。サーバのクラスターは、負荷バランシングを採用してよい。
ストレージシステム111、ブロックチェーンシステム112、サービスシステム113、およびサービスシステム114は、この図では単一のコンポーネントとして示されているが、これらのシステムを単一のデバイスまたは一緒に結合された複数のデバイスとして実装できるということが理解されるべきである。すなわち、図1Aのシステムのうちの2つ以上が単一のシステムに統合されるか、または別々のシステムとして実装されてよい。例えば、ストレージシステム111およびサービスシステム113は、1つまたは複数のコンピューティングデバイスを備えているデータ管理システム118に統合されてよい。データ管理システム118は、ブロックチェーンベースのデータ管理システムと呼ばれてもよい。ストレージシステム111およびサービスシステム113は、統合された場合、統合されたシステムのさまざまなモジュールまたは同様のコンポーネントとして実装されてよい。
さまざまな実施形態では、ストレージシステム111は、さまざまなサービスシステムがアクセスできる集中化されたストレージデバイス(例えば、サーバ)のクラスターとして実装されてよい。ストレージシステム111は、認証情報以外のユーザデータを収集し、格納してよい。例えば、ユーザ詳細情報は、ストレージシステム111によって維持されるデータベースに格納されてよい。ブロックチェーンシステム112Aは、ユーザごとの認証データなどの、特定のユーザデータの表現を収集し、格納してよい。例えば、認証データのデジタル要約は、ブロックチェーンを維持する各ノードのブロックチェーンのローカルコピーに格納されてよい。したがって、個々のサービスシステムがユーザデータを格納する必要はない。
ストレージシステム111、ブロックチェーンシステム112、サービスシステム113、およびサービスシステム114の各々は、システム110の他のデバイスにアクセスするために、適切なソフトウェア(例えば、データ管理アプリケーションプログラムインターフェイス)および/またはハードウェア(例えば、ワイヤ、無線接続)と共にインストールされてよい。ストレージシステム111、ブロックチェーンシステム112、サービスシステム113、およびサービスシステム114の各々は、1つまたは複数のプロセッサおよび1つまたは複数のプロセッサに結合された1つまたは複数のメモリを含んでよい。それらのメモリは、非一時的かつコンピュータ可読であってよく、1つまたは複数のプロセッサに、本明細書に記載された動作を実行させるように、1つまたは複数のプロセッサによって実行可能な命令を使用して構成されてよい。
一般に、ストレージシステム111、ブロックチェーンシステム112、サービスシステム113、およびサービスシステム114は、ネットワーク119を介して互いに通信可能であってよい。例えば、ストレージシステム111、ブロックチェーンシステム112、サービスシステム113、およびサービスシステム114は、データを伝達できる1つまたは複数の有線ネットワークまたは無線ネットワーク(例えば、インターネット)を介して互いに通信可能であってよい。システムコンポーネントのさまざまな態様が、図1B〜7を参照して下でさらに詳細に説明される。
図1Bは、さまざまな実施形態に従って、ブロックチェーンネットワーク120の例を示している。図に示されているように、ブロックチェーンネットワーク120は、前述したブロックチェーンシステム112を備えてよい。ブロックチェーンシステム112は、複数のブロックチェーンノード(例えば、ノード1、ノード2、ノード3、ノード4、ノードiなど)を備えてよい。複数のブロックチェーンノードは、あるブロックチェーンノードが別のブロックチェーンノードと通信するネットワーク(例えば、ピアツーピアネットワーク)を形成してよい。図に示されているブロックチェーンノードの順序および数は、説明を簡単にするための単なる例である。ブロックチェーンノードは、サーバ、コンピュータなどにおいて実装されてよい。各ブロックチェーンノードは、TCP/IPなどのさまざまなタイプの通信方法を介して一緒に結合された1つまたは複数の物理ハードウェアデバイスまたは仮想デバイスに対応してよい。分類に応じて、ブロックチェーンノードは、満杯になったノード、Gethノード、合意ノードなどを含んでよい。
さまざまな実施形態では、ブロックチェーンシステム112の1つまたは複数のノードは、前述したストレージシステム111、サービスシステム113、およびサービスシステム114などの、他のシステムおよびデバイスと情報をやりとりしてよい。この情報のやりとりは、例えばトランザクション、認証、契約などの目的で、データの送信および/または受信を含んでよい。1つの例では、ノードA(例えば、携帯電話、コンピュータなど)は、データ管理システム118のデバイスに対応してよく、情報をブロックチェーンに格納するためにノード1(または、ブロックチェーンシステム112の複数のノード)に送信してよい。例えば、ノードAは、サーバクラスターとして実装されたストレージシステム111のサーバであってよい。格納プロセスは、ブロックチェーントランザクションを介して実行されてよい。例えば、情報がブロックチェーン契約(例えば、スマートコントラクト)に書き込まれてよく、ブロックチェーントランザクションがノード1(または、ブロックチェーンの合意ルールに基づいてそのような権限を有する1つまたは複数の他のノード)によって開始され、契約をブロックチェーンにデプロイしてよい。他のブロックチェーントランザクションと同様に、ここでブロックチェーントランザクションは、トランザクションハッシュに対応してよい。このハッシュは、ハッシュ値を表し、データ(例えば、実行されるトランザクションに関連付けられた身元情報、トランザクション情報)に対して実行されるハッシュ関数またはアルゴリズムの数値出力であってよい。ブロックチェーンは、ブロックチェーントランザクションのハッシュ値を格納してよい。
後で(例えば、検証のために)情報を取得する必要があるときに、ノードA/ノードB(例えば、携帯電話、コンピュータなど)は、別のブロックチェーントランザクションを開始してブロックチェーンから情報を取得するように、ノード1/ノード2(または、ブロックチェーンシステム112の複数のノード)に対して指示してよい。別のブロックチェーントランザクションは、トランザクションハッシュに従って情報を取得するために、アドレスを照会してよい。代替として、ノードA/ノードBは、特定の情報をノード1/ノード2を送信し、1つまたは複数のブロックチェーンノードに対して、別のトランザクションを開始して、ブロックチェーンに格納された情報に対して特定の情報を検証するように、指示してよい。ノードBは、データ管理システム118、サービスシステムのうちの1つ、またはブロックチェーンシステム112に結合された別のシステム(図示されていない)に属してよい。例えば、ノードBは、サービスシステム113または114のコンピュータであってよい。
ブロックチェーンシステム112との情報のやりとりにおいて、ノードAおよびノードBは、ブロックチェーントランザクションの開始、転送、またはアクセスを実行するための適切なブロックチェーンソフトウェアと共にインストールされてよい。ノードAは、ブロックチェーンのノード1または1つまたは複数の他のノードとの通信を介して、ブロックチェーンにアクセスしてよく、ノードBは、ブロックチェーンのノード2または1つまたは複数の他のノードとの通信を介して、ブロックチェーンにアクセスしてよい。ノードAは、ノード1または同様のノードを介してトランザクションをブロックチェーンにサブミットし、トランザクションをブロックチェーンに追加することを要求してよい。
ブロックチェーンは、それぞれメモリを備えているか、またはメモリに結合している、複数のブロックチェーンノードによって維持されてよい。一部の実施形態では、このメモリは、プールデータベースを格納してよい。プールデータベースは、分散方式で、複数のブロックチェーンノードによってアクセス可能であってよい。例えば、プールデータベースは、ブロックチェーンノードのメモリにそれぞれ格納されてよい。プールデータベースは、ノードAに類似する1つまたは複数のユーザデバイスによってサブミットされた複数のトランザクションを格納してよい。
一部の実施形態では、受信者ブロックチェーンノードは、未確認のトランザクションのトランザクション要求を受信した後に、トランザクションの何らかの予備的検証を実行してよい。例えば、図1Bを参照すると、ノード1は、ノードAからトランザクションを受信した後に、予備的検証を実行してよい。トランザクションは、検証された後に、受信者ブロックチェーンノード(例えば、ノード1)のプールデータベースに格納されてよく、受信者ブロックチェーンノードが、このトランザクションを1つまたは複数の他のブロックチェーンノード(例えば、ノード3、ノード4)に転送してもよい。それらの1つまたは複数の他のブロックチェーンノードは、受信者ノードによって実行されたプロセスを繰り返してよい。対応するプールデータベース内のトランザクションが特定のレベル(例えば、しきい値)に達した後に、ブロックチェーンノードはそれぞれ、合意ルールまたはその他のルールに従って、対応するプールデータベース内の一組のトランザクションを検証してよい。ブロックチェーントランザクションがブロックチェーン契約(例えば、スマートコントラクト)を含んでいる場合、ブロックチェーンノードは、ブロックチェーン契約をローカルに実行してよい。
ブロックチェーン契約は、契約の交渉または実行をデジタル的に容易にするか、検証するか、または実施するよう意図されたコンピュータプロトコルである。ブロックチェーン契約は、第三者が存在せずに、信頼できるブロックチェーントランザクションの実行を許可する。ブロックチェーントランザクションの例は、データの(契約のデプロイメントによる)格納および(契約へのアクセスまたは契約の実行による)取得のために、データを契約コードでエンコードしてよい。ブロックチェーン契約は、認証情報、認証情報のハッシュ値などの、ユーザによって記述された契約コードを含んでよい。合意ルールに従って一組のブロックチェーントランザクションを正常に検証した特定のブロックチェーンノードは、それらのブロックチェーントランザクションを圧縮して、ブロックチェーンのローカルコピーに追加し、その結果を他のブロックチェーンノードに拡散してよい。この特定のブロックチェーンノードは、検証を最初に正常に完了したブロックチェーンノードであるか、検証権限を取得したブロックチェーンノードであるか、または別の合意ルールに基づいて決定されたブロックチェーンノードなどであってよい。次に、他のブロックチェーンノードが、ブロックチェーントランザクションをローカルに実行し、(例えば、ハッシュ計算を実行することによって)実行結果を互いに検証し、ブロックチェーンのコピーを特定のブロックチェーンノードのブロックチェーンのコピーと同期させてよい。他のブロックチェーンノードは、ブロックチェーンのローカルコピーを更新することによって、ブロックチェーントランザクション内のそのような情報を各ローカルメモリに同様に書き込んでよい。このようにして、ブロックチェーン契約がデプロイされる。デプロイされた契約は、実行するために、ブロックチェーン上の対応するアドレスを介して後でアクセスすることができる。例えば、契約に格納されたデータを取得することができる。ある時点で検証が失敗した場合、ブロックチェーントランザクションが拒否される。上記にかかわらず、他のタイプのブロックチェーンシステムおよび関連する合意ルールが、開示されたブロックチェーンシステムに適用されてよい。
図2は、さまざまな実施形態に従って、ユーザデータを収集して格納するための方法200の例を示している。方法200は、図1Aのシステム110の1つまたは複数のコンポーネント(例えば、ストレージシステム111、ブロックチェーンシステム112、およびサービスシステム113、サービスシステム114などのうちの1つまたは複数)によって実装されてよい。前述したように、ストレージシステム111およびサービスシステム113、サービスシステム114などは、1つまたは複数のコンピューティングデバイスを備えているデータ管理システム118に統合されてよい。以下で提示される動作は、例示的であるよう意図されている。実装に応じて、方法200は、さまざまな順序で、または並列に実行される、追加のステップ、より少ないステップ、または代替のステップを含んでよい。
一部の実施形態では、ステップ211で、第1の実体が、サービスシステム(例えば、サービスシステム113、サービスシステム114など)のうちの1つまたは複数を介して、情報登録または別の動作を開始してよい。以下では、サービスシステム113が一例として使用される。第1の実体は、ユーザと呼ばれることがある。第1の実体は、個人、会社、企業、組織などに関連付けられてよい。例えば、個人ユーザは、サービスシステムのオンラインサービスプロバイダを使用して、アカウント登録(例えば、オンラインバンクのアカウント登録、オンラインショッピングのアカウント登録、オンラインゲームのアカウント登録など)を開始してよい。一例として登録が使用されるが、他のタイプの動作が実行されてよく、登録データ以外のデータが収集されてよい。
ステップ212で、サービスシステム113が、ステップ211の動作要求をストレージシステム111にリダイレクトし、ユーザデータを収集するためのストレージシステム111に向かう対応するアドレス(例えば、URL(ユニフォームリソースロケータ:uniform resource locator))を取得してよい。このようにして、ユーザデータは、サービスシステムを迂回し、ストレージシステム111によって収集することができる。例えば、サービスシステム113(例えば、オンラインショッピングプラットフォーム)およびサービスシステム114(例えば、オンラインバンキングプラットフォーム)が、データ管理システム118に参加していてよい。各サービスシステムでのユーザ登録は、ストレージシステム111によって提供されたアドレスにリダイレクトされてよく、ユーザ登録をサービスシステムのいずれかで格納する必要がない。さらに、ユーザ登録情報は、ストレージシステム111に登録された後に、ユーザを認証するためにデータ管理システム118に参加しているすべての既存のサービスシステムおよび将来のサービスシステムの間で、(ブロックチェーンに格納された検索可能なデジタル要約の形態で)共有することができる。そのため、ユーザは、異なるサービスシステム間でのユーザ登録の相互利用を許可するように要求され、そのような許可を与えてよい。相互利用とは、1つのサービスでの登録を他のサービスに適用するということである。例えば、WebサイトAでのある人の登録を相互利用することによって、その人のアカウント認証が他のWebサイトで共有され、その人は、他のWebサイトごとに登録することを必要とせずに、他のWebサイトにアクセスすることができる。したがって、ユーザは、複数のサイトで登録プロセスを繰り返す煩わしさから救われる。
ステップ213で、ストレージシステム111は、対応するアドレスをサービスシステム113に送信してよい。
ステップ221で、サービスシステム113は、ユーザを、登録情報などのユーザデータを収集するためのアドレスにリダイレクトしてよい。例えば、登録動作は、提供されたサービスへのアクセスを得るために、特定の個人情報(例えば、名前、ID番号、自宅の住所、連絡先電話番号、支払い口座情報など)を入力するようにユーザに要求することがある。サービスシステム113は、ストレージシステム111に直接リンクされたWebページなどの、ユーザデータを収集するためのアドレスに関連付けられた情報の描画を引き起こしてよい。このようにして、ストレージシステム111は、ユーザによって入力されたユーザデータを取得してよい。
ステップ231で、サービスシステム113は、収集されたユーザデータをストレージシステム111に送信してよい。この送信は、リダイレクトアドレス(例えば、ストレージシステム111にリンクされたページ)を介して実行されてよい。一部の実施形態では、収集されたユーザデータは、ユーザアカウント、パスワード、ユーザ名、ユーザ識別情報、ユーザの連絡先、ユーザの住所、支払い方法などを含んでよい。ユーザアカウントおよび/またはパスワードは、ユーザの識別情報として役立ってよい。パスワードは、ユーザアカウントに関連付けられてよい。パスワードは、従来のテキストのパスワードに限定されず、生体認証パスワード、指紋パスワード、音声パスワード、虹彩パスワード、ジェスチャーパスワードなどの、さまざまなタイプのパスワードを含んでよい。
ステップ232で、ストレージシステム111は、認証情報(例えば、ユーザアカウントおよびパスワード)のデジタル要約を生成し、ユーザ詳細情報(例えば、連絡先情報、住所、支払い情報、または認証情報以外の同様のユーザデータ)を格納してよい。デジタル要約およびユーザ詳細情報は、互いに関連付けられる。ストレージシステム111は、プライバシーおよびセキュリティに対する懸念のため、認証情報を格納しなくてよい。一部の実施形態では、デジタル要約は、認証情報の暗号表現(例えば、SHA−256を介して取得されるハッシュ値)を含んでよく、ユーザの身元(例えば、誰かがユーザアカウントにログインしようとしている場所)を認証するために使用されてよい。ユーザ詳細情報は、概要と呼ばれることがあり、平文データとして格納されてよい。ユーザ詳細情報は、構成に応じて、対応する各サービスシステムに合わせて調整されてよい。例えば、各サービスシステムは、ユーザが入力する必要がある情報の異なるセットを有してよい。
ステップ233で、ストレージシステム111は、デジタル要約をブロックチェーンに追加するためにブロックチェーンシステム112に送信してよい。ステップ241で、ブロックチェーンシステム112は、合意プロトコルに従って、デジタル要約を圧縮してブロックチェーンに入れてよい。
さまざまな実施形態では、ストレージシステム111は、1つまたは複数の軽量ノード(例えば、ノードA、ノードB)を含んでよい。ストレージシステム111は、軽量ノードに結合されたブロックチェーンシステム112のノード(例えば、ノード1)を介して、第1のブロックチェーントランザクション(または、略して第1のトランザクション)を開始してよい。例えば、デジタル要約がブロックチェーン契約(例えば、スマートコントラクト)に書き込まれてよく、第1のブロックチェーントランザクションが開始されて、契約をブロックチェーンにデプロイしてよい。デプロイメントによって、契約が、実行、取得、またはその他の動作のために、ブロックチェーンからアクセス可能になる。この場合、第1のブロックチェーントランザクションは、第1のトランザクション識別情報(例えば、第1のトランザクションハッシュ)に対応してよい。例えば、第1のブロックチェーントランザクション識別情報は、第1のブロックチェーントランザクションのハッシュ値であることができる。第1のトランザクション識別情報は、登録中の実体に関連付けられてもよい。ブロックチェーンは、デジタル要約(例えば、認証情報のハッシュ値)を格納してよいが、ブロックチェーンに格納されたデータがさまざまなブロックチェーンノードから見えるため、セキュリティおよびプライバシーを保証するために、認証情報の詳細(例えば、平文)を格納しなくてよい。第1のトランザクション識別情報は、サービスシステム113および/またはストレージシステム111に送信されてよい。ブロックチェーンは、第1のトランザクション識別情報を格納してもよい。このようにして、第1のブロックチェーントランザクション識別情報および登録中の実体が固定される(関連付けられる)。第1のトランザクション識別情報を照会することによって、ブロックチェーンに格納されたデジタル要約を取得できる。例えば、第1のブロックチェーントランザクション識別情報がブロックチェーンシステム112(例えば、ブロックチェーンノード)に送信された場合、ブロックチェーンシステム112はブロックチェーン契約を実行し、ブロックチェーンに格納されたデジタル要約を取得してよい。デジタル要約をブロックチェーンに格納し、格納されたデジタル要約を取得するための、多くのその他の適切な方法が存在する。当業者は、本明細書の実施形態が上記の例に限定されないということを理解するはずである。
方法200は、登録を完了するために、複数のユーザに対して繰り返されてよい。したがって、ブロックチェーンは、最終的に、1つまたは複数のサービスシステムにアクセスする複数のユーザの認証データの複数のデジタル要約を格納してよい。
図3は、さまざまな実施形態に従って、ユーザアカウントを認証するための方法300の例を示している。方法300は、図1Aのシステム110の1つまたは複数のコンポーネント(例えば、ブロックチェーンシステム112、およびサービスシステム113、サービスシステム114などのうちの1つまたは複数)によって実装されてよい。前述したように、サービスシステム113、サービスシステム114などは、1つまたは複数のコンピューティングデバイスを備えているデータ管理システム118に統合されてよい。以下で提示される動作は、例示的であるよう意図されている。実装に応じて、方法300は、さまざまな順序で、または並列に実行される、追加のステップ、より少ないステップ、または代替のステップを含んでよい。
一部の実施形態では、ステップ311で、第2の実体(第1の実体と同じであるか、または異なっている)が、前述したユーザ情報(例えば、ユーザアカウントとパスワードの組み合わせなどの登録データ)を使用して、データ管理システム118のサービスシステムのうちの1つ(例えば、サービスシステム113)にログインしようとしてよい。第2の実体は、ユーザと呼ばれることがある。
ステップ312で、サービスシステムが認証データを組み立ててよい。異なるサービスシステムがデータの異なるセットの認証を要求することがあるため、認証データは、特定のサービスシステムに従って組み立てられてよい。例えば、サービスシステムは、認証情報(例えば、ユーザアカウントおよびパスワード)を取得し、認証情報のデジタル要約(例えば、ハッシュ値)を生成してよい。ストレージシステム111および/またはブロックチェーンシステム112は、ステップ232で認証情報のデジタル要約の生成に使用される暗号プロセス(例えば、SHA−256)を公表していてよい。したがって、サービスシステムは、同じ暗号プロセスを使用して認証情報のデジタル要約を生成してよい。
ステップ321で、サービスシステム113は、組み立てられた認証データ(例えば、認証情報のデジタル要約)をブロックチェーンシステム112に送信してよい。サービスシステム113は、認証情報のデジタル要約を生成してよい。
代替として、ブロックチェーンシステム112(例えば、ブロックチェーンシステム112のノード)は、ログインユーザの認証情報を直接取得し、認証情報のデジタル要約を生成してよい。
ステップ322で、ブロックチェーンシステム112は、ログインユーザが存在するかどうか(ユーザがデータ管理システム118に登録したかどうか)を検証してよい。その際に、ブロックチェーンシステム112は、1人または複数のユーザに対応する認証情報の1つまたは複数のブロックチェーンに格納されたデジタル要約をブロックチェーンから取得してよい。ブロックチェーンシステム112は、対応するデジタル要約を比較することによって、ログインユーザの認証情報のデジタル要約が認証情報のいずれかのブロックチェーンに格納されたデジタル要約に一致するかどうかを判定してよい。デジタル要約は、ハッシュ値であってよい。したがって、ブロックチェーンシステム112は、ログインユーザの認証情報のデジタル要約とブロックチェーンに格納された1つまたは複数のデジタル要約との間の比較に基づいて、ログインユーザの認証を取得してよい。
ステップ323で、ブロックチェーンシステム112は、認証結果をサービスシステム113に返してよい。ステップ322で一致が存在する場合、認証結果は、ログインユーザが存在することであってよい。このようにしてログインユーザが認証され、ログインが成功する。ログインユーザが存在するということは、アカウントが正当に作成されており、ログインアカウントが有効であるということである。任意選択的に、ステップ322で一致が存在する場合、認証結果は、ブロックチェーンへの認証情報の格納に関連付けられたトランザクション識別情報を含んでよい。ステップ322で一致が存在しない場合、認証結果は、ログインユーザが存在しないことであってよく、ログインの試みが拒否される。
ステップ322および323の代わりに、サービスシステム113は、第1のトランザクション識別情報に従って、認証情報のブロックチェーンに格納されたデジタル要約を取得してよい。次に、サービスシステム113は、デジタル要約を比較することによって、認証情報のデジタル要約が認証情報のブロックチェーンに格納されたデジタル要約に一致するかどうかを判定してよい。したがって、サービスシステム113は、ログインユーザの認証情報のデジタル要約とブロックチェーンに格納された1つまたは複数のデジタル要約との間の比較に少なくとも基づいて、ログインユーザの認証を取得してよい。
図4は、さまざまな実施形態に従って、ユーザデータを取得するための方法400の例を示している。方法400は、図1Aのシステム110の1つまたは複数のコンポーネント(例えば、ストレージシステム111、ブロックチェーンシステム112、およびサービスシステム113、サービスシステム114などのうちの1つまたは複数)によって実装されてよい。前述したように、ストレージシステム111、サービスシステム113、サービスシステム114などは、1つまたは複数のコンピューティングデバイスを備えているデータ管理システム118に統合されてよい。以下で提示される動作は、例示的であるよう意図されている。実装に応じて、方法400は、さまざまな順序で、または並列に実行される、追加のステップ、より少ないステップ、または代替のステップを含んでよい。
一部の実施形態では、ステップ411で、第2の実体が、サービスシステム(例えば、サービスシステム113)のうちの1つを介して、金融トランザクションまたは別の動作を開始してよい。例えば、第2の実体(例えば、ユーザ)は、オンラインショッピングのアカウントにログインした後に、支払い動作を開始し、商品を購入してよい。支払い動作を実行するために、ユーザの名前、連絡先電話番号、および支払い方法などの特定のユーザ詳細情報を入力することが必要であってよい。
ステップ412、413、および414は、任意選択的であり、前述したステップ321、322、および323と同じであってよい。ステップ412、413、および414を実行することによって、2つの目的が果たされてよい。第1に、ユーザの身元をもう1回認証することよって、前のユーザがログインを完了してログアウトするのを忘れた公共のコンピュータにやって来た見知らぬ人などの、他の誰かによってではなく、本物のユーザがトランザクションを実施していることを確認する。このようにして、データセキュリティがさらに改善され、個人の資金の不正使用のリスクが低減される。第2に、ユーザ詳細情報が取得されることがユーザに通知される。ステップ323および/または414で、サービスシステムに返される認証結果は、認証情報をブロックチェーンに格納することに関連付けられたトランザクション識別情報を含む。
ステップ421で、サービスシステム113は、返されたトランザクション識別情報に従って、ユーザ詳細情報の少なくとも一部をストレージシステム111から取得してよい。例えば、ストレージシステム111がトランザクション識別情報およびユーザ詳細情報に関連付けられた実体の情報を格納しているため、サービスシステムは、開始された金融トランザクションを実施するために、トランザクション識別情報に基づいて、ログインユーザのユーザ詳細情報をストレージシステム111から取得してよい。取得されたユーザ詳細情報は、例えば、受信者名、支払者名、連絡先電話番号、配送先住所、支払い方法などを含んでよい。
ステップ422で、ストレージシステム111は、少なくとも一部のユーザ詳細情報をサービスシステム113に返してよい。
ステップ431で、サービスシステム113は、少なくとも一部のユーザ詳細情報に基づいて、金融トランザクションまたは別の動作を実行してよい。例えば、サービスシステム113は、取得されたユーザ詳細情報を使用することによって、購入トランザクションを終了してよい。
図5は、さまざまな実施形態に従って、データ管理のための方法510の例のフローチャートを示している。方法510は、図1Aのシステム110の1つまたは複数のコンポーネント(例えば、データ管理システム118)またはブロックチェーンシステム112のノードによって実装されてよい。方法510は、さまざまなハードウェアマシンおよび/またはソフトウェアを備えているシステムによって実装されてよい。例えば、データ管理システム118は、1つまたは複数のシステムまたはデバイス(例えば、コンピュータ、サーバ)によって実装されてよい。方法510を実装するシステムは、1つまたは複数のプロセッサと、1つまたは複数のプロセッサに結合され、システム(例えば、プロセッサ)に方法510を実行させるように1つまたは複数のプロセッサによって実行可能な命令を使用して構成された、1つまたは複数の非一時的コンピュータ可読記憶媒体(例えば、1つまたは複数のメモリ)とを備えてよい。以下で提示される動作は、例示的であるよう意図されている。実装に応じて、方法510は、さまざまな順序で、または並列に実行される、追加のステップ、より少ないステップ、または代替のステップを含んでよい。方法510の実装の例は、図2〜4を参照して上で説明されている。
ステップ511は、ログインユーザの認証情報を取得することを含んでいる。一部の実施形態では、この認証情報は、ログインユーザに関連付けられたアカウント識別情報および/またはアカウント識別情報に関連付けられたパスワードを含む。例えば、ログインのためにユーザによって入力されたアカウントおよびパスワード、またはアカウントのみが捕捉されてよい。さらに詳細については、前述したステップ311を参照することができる。
ステップ512は、ログインユーザの認証情報のデジタル要約を生成することを含む。一部の実施形態では、認証情報のデジタル要約は、認証情報のハッシュ値を含む。一部の実施形態では、ログインユーザの認証情報のデジタル要約は、ブロックチェーンに格納されているデジタル要約の暗号プロセスと同じ暗号プロセス(例えば、SHA−256)によって生成される。一部の実施形態では、認証情報のデジタル要約は、認証情報のハッシュ値を含む。さらに詳細については、前述したステップ312を参照することができる。
ステップ513は、ログインユーザの認証情報のデジタル要約とブロックチェーンに格納された1つまたは複数のデジタル要約との間の比較に基づいて、ログインユーザを認証することを含む。
一部の実施形態では、ログインユーザの認証情報のデジタル要約とブロックチェーンに格納された1つまたは複数のデジタル要約との間の比較に基づいてログインユーザを認証することが、ログインユーザの認証情報のデジタル要約を、ブロックチェーンに格納された1つまたは複数のデジタル要約と比較することと、認証情報のデジタル要約がブロックチェーンに格納されたデジタル要約のうちの1つと同じであるということに応答して、ログインユーザを認証することと、を含む。すなわち、ログインユーザの認証は、システム110の1つまたは複数のコンポーネント(例えば、データ管理システム118)によって実行されてよい。
他の実施形態では、ログインユーザの認証情報のデジタル要約とブロックチェーンに格納された1つまたは複数のデジタル要約との間の比較に基づいてログインユーザを認証することが、ブロックチェーンの1つまたは複数のノードから比較の結果を取得することであって、この比較がブロックチェーンの1つまたは複数のノードによって実行される、取得することと、取得された結果に従って、認証情報のデジタル要約がブロックチェーンに格納されたデジタル要約のうちの1つと同じであるということに応答して、ログインユーザを認証することと、を含む。すなわち、ログインユーザの認証は、ブロックチェーンシステム112の1つまたは複数のノードによって実行されてよい。例えば、データ管理システム118は、ブロックチェーンの1つまたは複数のノードに対して、照会によってログインユーザの認証情報のデジタル要約およびブロックチェーンに格納された1つまたは複数のデジタル要約を比較するように、指示してよい。この照会は、ログインユーザの認証情報のデジタル要約がブロックチェーンに格納されたデジタル要約のいずれかと一致するかどうかの結果をもたらしてよい。
ログインユーザの認証がシステム110の1つまたは複数のコンポーネントによって実行されるか、またはブロックチェーンシステム112の1つまたは複数のノードによって実行されるかにかかわらず、認証情報のデジタル要約がブロックチェーンに格納されたデジタル要約のいずれかに一致する場合に、ログインユーザがシステム内に存在する(ログインが有効である)という結果が取得されてよく、認証情報のデジタル要約がブロックチェーンに格納されたデジタル要約のいずれにも一致しない場合に、ログインユーザがシステム内に存在しない(ログインが無効である)という結果が取得されてよい。さらに詳細については、前述したステップ311、312、321、322、および323を参照することができる。
さらに他の実施形態では、ブロックチェーンに格納された1つまたは複数のデジタル要約の各々は、対応するデジタル要約をブロックチェーンに格納することに関連付けられたトランザクション識別情報(例えば、トランザクションハッシュ)を含んでおり、この方法は、ログインユーザを正常に認証することに応答して、認証情報のデジタル要約に一致するブロックチェーンに格納されたデジタル要約のうちの1つを格納することに関連付けられたトランザクション識別情報を取得することをさらに含む。さらに詳細については、前述したステップ323または414を参照することができる。トランザクション識別情報に基づいて、格納されたデジタル要約を取得できる。
一部の実施形態では、この方法は、ステップ511でログインユーザの認証情報を取得する前に、登録対象のユーザの認証情報を取得することと、登録対象のユーザの認証情報に基づいてデジタル要約を生成することと、登録対象のユーザの認証情報に基づいて生成されたデジタル要約を、ブロックチェーンに格納するためにブロックチェーンの1つまたは複数のノードに送信することであって、送信されたデジタル要約が、ブロックチェーンに格納された1つまたは複数のデジタル要約のうちの1つである、送信することと、をさらに含む。登録対象のユーザとは、サービスシステムに登録しているユーザのことを指してよい。これらのステップによって、さまざまなユーザが、アカウントの認証情報を登録することができ、認証情報のデジタル要約を、ブロックチェーンに安全に格納し、今後の認証のために取得可能とすることができる。
一部の実施形態では、登録対象のユーザの認証情報を取得することが、サービスシステムから転送された登録要求を受信することであって、この登録要求が、登録対象のユーザによって要求される、受信することと、リダイレクトアドレス(例えば、URL)をサービスシステムに提供し、サービスシステムが、このリダイレクトアドレスに対応する登録ページを描画することと、この登録ページを介して、登録対象のユーザから認証情報を収集することと、を含む。このようにして、さまざまなサービスシステムで登録しようとしているさまざまなユーザの認証情報を、集中化されたシステム(例えば、ストレージシステム111)によって収集することができ、データ格納のセキュリティを向上し、データの収集および保護からサービスシステムを解放する。一実施形態では、登録対象のユーザの認証情報を取得することが、認証情報を使用して、登録対象のユーザを1つまたは複数の他のサービスシステムで認証するための許可を、登録対象のユーザから取得することをさらに含む。したがって、ユーザは、複数のサービスシステムで登録を繰り返す必要がない。さらに詳細については、前述したステップ211、212、213、221、および231を参照することができる。
他の実施形態では、登録対象のユーザの認証情報を取得することが、登録対象のユーザの認証情報およびユーザ詳細情報を取得することと、ユーザ詳細情報をストレージシステムに格納することと、を含む。例えば、ユーザ詳細情報は、連絡先情報、住所情報、識別情報などを含んでよい。ユーザ詳細情報は、サービスシステムによって提供されるさまざまなトランザクションまたはその他の動作の実行において使用されてよい。一実施形態では、この方法は、トランザクションを実行することの要求をログインユーザから取得することと、トランザクションを実行するために、ログインユーザのユーザ詳細情報をストレージシステムから取得することと、ログインユーザのユーザ詳細情報に少なくとも基づいてトランザクションを実行することと、をさらに含む。さらに詳細については、前述したステップ411、421、422、および431を参照することができる。この方法は、トランザクションを実行することの要求を取得した後に、トランザクションを実行するために、ユーザ詳細情報をストレージシステムから取得する前に、ログインユーザの認証情報のデジタル要約とブロックチェーンに格納された1つまたは複数のデジタル要約との間の別の比較に基づいて、ログインユーザの認証を取得することをさらに含む。さらに詳細については、前述したステップ412、413、および414を参照することができる。例えば、ユーザは、オンラインショッピングサイトなどのサービスシステムで認証情報を入力することによって、アカウントにログインしてよい。ユーザは、閲覧した後に、特定の商品を購入することを決定し、それによってトランザクションを開始してよい。サービスシステムは、任意選択的に、認証情報を再入力するようにユーザに要求してよい。次に、サービスシステムは、トランザクションを実行するために、配送先住所、連絡先電話番号、および支払い情報などのユーザ詳細情報を取得してよい。
一部の実施形態では、登録対象のユーザの認証情報に基づいて生成されたデジタル要約を、ブロックチェーンに格納するためにブロックチェーンの1つまたは複数のノードに送信することが、登録対象のユーザの認証情報に基づいて生成されたデジタル要約をブロックチェーン契約に書き込むことと、1つまたは複数のノードに、ブロックチェーン契約をデプロイするためのブロックチェーントランザクションを開始させることと、を含む。さらに詳細については、前述したステップ232、233、および241を参照することができる。
図6は、さまざまな実施形態に従って、ブロックチェーンベースのデータ管理コンピュータシステム610の例のブロック図を示している。システム610は、図1Aのシステム110の1つまたは複数のコンポーネント(例えば、データ管理システム118)またはブロックチェーンシステム112のノードの実装の例であってよい。方法510は、コンピュータシステム610によって実装されてよい。コンピュータシステム610は、1つまたは複数のプロセッサと、1つまたは複数のプロセッサに結合され、システムまたはデバイス(例えば、プロセッサ)に方法510を実行させるように1つまたは複数のプロセッサによって実行可能な命令を使用して構成された、1つまたは複数の非一時的コンピュータ可読記憶媒体(例えば、1つまたは複数のメモリ)と、を備えてよい。コンピュータシステム610は、命令(例えば、ソフトウェア命令)に対応するさまざまなユニット/モジュール/サブモジュールを備えてよい。一部の実施形態では、コンピュータシステム610は、データ管理装置と呼ばれてよい。このデータ管理装置は、ログインユーザの認証情報を取得するための第1の取得モジュール611と、ログインユーザの認証情報のデジタル要約を生成するための生成モジュール612と、ログインユーザの認証情報のデジタル要約とブロックチェーンに格納された1つまたは複数のデジタル要約との間の比較に基づいて、ログインユーザを認証するための認証モジュール613と、を備えてよい。
図に示されているように、複数のサービスシステムのユーザデータの格納を集中化することによって、ユーザのプライバシーを、改善された基準で適切に保護することができる。ユーザ登録データが共通のストレージシステムを介して収集され、この共通のストレージシステムがユーザ詳細情報を格納し、一方、認証情報のデジタル要約がブロックチェーンに格納される。このようにして、認証情報の表現を、安全に維持することができ、ユーザを認証するためにサービスシステムによって呼び出すことができる。ハッシュ処理を含んでいるブロックチェーンの合意ルールに基づいて、認証情報の改ざんを防ぐことができる。認証情報のデジタル要約表現は、平文情報を隠蔽し、ユーザ情報の漏洩を防ぐこともできる。ストレージシステムを照会することによって、トランザクションを実行するため、またはその他の動作を実行するために、ユーザ詳細情報を取得することができる。このようにして、ユーザは、反復的な登録プロセスを経験せず、データ漏洩を恐れずに、複数のサービスシステムに安全にアクセスすることができる。
本明細書に記載された技術は、1つまたは複数の専用コンピューティングデバイスによって実装される。それらの専用コンピューティングデバイスは、デスクトップコンピュータシステム、サーバコンピュータシステム、ポータブルコンピュータシステム、ハンドヘルドデバイス、ネットワークデバイス、あるいは本技術を実装するために配線論理および/またはプログラム論理を組み込む任意のその他デバイスまたはデバイスの組み合わせであってよい。それらの専用コンピューティングデバイスは、パーソナルコンピュータ、ラップトップ、携帯電話、カメラ付き携帯電話、スマートフォン、パーソナルデジタルアシスタント、メディアプレーヤー、ナビゲーションデバイス、電子メールデバイス、ゲーム機、タブレットコンピュータ、ウェアラブルデバイス、またはこれらの組み合わせとして実装されてよい。コンピューティングデバイスは、通常、オペレーティングシステムソフトウェアによって制御され、調整される。従来のオペレーティングシステムは、特に、実行のためにコンピュータプロセッサを制御およびスケジューリングし、メモリ管理を実行し、ファイルシステム、ネットワーク、I/Oサービスを提供し、グラフィカルユーザインターフェイス(GUI:graphical user interface)などのユーザインターフェイス機能を提供する。本明細書に記載されたさまざまなシステム、装置、ストレージ媒体、モジュール、およびユニットは、専用コンピューティングデバイス、あるいは1つまたは複数の専用コンピューティングデバイスの1つまたは複数のコンピューティングチップにおいて実装されてよい。一部の実施形態では、本明細書に記載された命令は、専用コンピューティングデバイス上の仮想マシンにおいて実装されてよい。それらの命令は、実行されたときに、専用コンピューティングデバイスに、本明細書に記載されたさまざまな方法を実行させてよい。この仮想マシンは、ソフトウェア、ハードウェア、またはこれらの組み合わせを含んでよい。例えば、仮想マシンは、イーサリアム内でスマートコントラクト用の実行時環境を提供するイーサリアム仮想マシン(EVM:Ethereum Virtual Machine)ソフトウェアを含んでよい。
図7は、本明細書に記載された実施形態のいずれかが実装されてよいコンピュータシステム700を示すブロック図である。システム700は、本明細書に記載されたノードのいずれかにおいて実装されてよく、ブロックチェーン契約を実装するために、対応するステップを実行するように構成されてよい。コンピュータシステム700は、情報を伝達するためのバス702またはその他の通信機構、情報を処理するためにバス702に結合された1つまたは複数のハードウェアプロセッサ704を含んでいる。ハードウェアプロセッサ704は、例えば、1つまたは複数の汎用マイクロプロセッサであってよい。
コンピュータシステム700は、情報およびプロセッサ704によって実行可能な命令を格納するためにバス702に結合された、ランダムアクセスメモリ(RAM:random access memory)などのメインメモリ706、キャッシュ、および/またはその他の動的ストレージデバイスも含んでいる。メインメモリ706は、プロセッサ704によって実行可能な命令の実行中にテンポラリ変数またはその他の中間情報を格納するために使用されてもよい。そのような命令は、プロセッサ704によってアクセス可能なストレージ媒体に格納された場合、コンピュータシステム700を、命令で指定された動作を実行するようにカスタマイズされた専用マシンにする。コンピュータシステム700は、プロセッサ704用の静的情報および命令を格納するためにバス702に結合された、読み取り専用メモリ(ROM:read only memory)708またはその他の静的ストレージデバイスをさらに含んでいる。磁気ディスク、光ディスク、またはUSBサムドライブ(フラッシュドライブ)などのストレージデバイス710が、情報および命令を格納するために提供され、バス702に結合される。
コンピュータシステム700は、コンピュータシステムと組み合わせてコンピュータシステム700が専用マシンになることを引き起こすか、または専用マシンになるようにプログラムする、カスタマイズされた配線論理、1つまたは複数のASICもしくはFPGA、ファームウェア、および/またはプログラム論理を使用して、本明細書に記載された技術を実装してよい。一実施形態によれば、本明細書に記載された動作、方法、およびプロセスは、プロセッサ704がメインメモリ706に含まれている1つまたは複数の命令の1つまたは複数のシーケンスを実行することに応答して、コンピュータシステム700によって実行される。そのような命令は、ストレージデバイス710などの別のストレージ媒体からメインメモリ706に読み取られてよい。メインメモリ706に含まれている命令のシーケンスの実行は、プロセッサ704に、本明細書に記載されたプロセスのステップを実行させる。代替の実施形態では、ソフトウェア命令の代わりに、またはソフトウェア命令と組み合わせて、配線接続された回路が使用されてよい。
メインメモリ706、ROM708、および/またはストレージ710は、非一時的ストレージ媒体を含んでよい。「非一時的媒体」という用語および類似の用語は、本明細書において使用されるとき、マシンを特定の方法で動作させるデータおよび/または命令を格納する媒体を指しており、この媒体は、一時的信号を除外する。そのような非一時的媒体は、不揮発性媒体および/または揮発性媒体を含んでよい。不揮発性媒体の例としては、ストレージデバイス710などの、光ディスクまたは磁気ディスクが挙げられる。揮発性媒体の例としては、メインメモリ706などの、動的メモリが挙げられる。非一時的媒体の一般的形態の例としては、フロッピー(登録商標)ディスク、フレキシブルディスク、ハードディスク、半導体ドライブ、磁気テープ、または任意のその他の磁気データストレージ媒体、CD−ROM、任意のその他の光データストレージ媒体、穴のパターンを有する任意の物理的媒体、RAM、PROM、およびEPROM、フラッシュEPROM、NVRAM、任意のその他のメモリチップまたはメモリカートリッジ、ならびにこれらのネットワーク化されたバージョンが挙げられる。
コンピュータシステム700は、バス702に結合されたネットワークインターフェイス718も含んでいる。ネットワークインターフェイス718は、1つまたは複数のローカルネットワークに接続された1つまたは複数のネットワークリンクに結合している双方向データ通信を提供する。例えば、ネットワークインターフェイス718は、総合デジタル通信網(ISDN:integrated services digital network)カード、ケーブルモデム、衛星モデム、または対応するタイプの電話回線とのデータ通信接続を提供するためのモデムであってよい。別の例として、ネットワークインターフェイス718は、互換性のあるLANとのデータ通信接続を提供するためのローカルエリアネットワーク(LAN:local area network)カード(またはWANと通信するためのWANコンポーネント)であってよい。無線リンクが実装されてもよい。いずれかのそのような実装では、ネットワークインターフェイス718は、さまざまなタイプの情報を表すデジタルデータストリームを運ぶ電気信号、電磁信号、または光信号を送信および受信する。
コンピュータシステム700は、ネットワーク、ネットワークリンク、およびネットワークインターフェイス718を介して、メッセージを送信し、プログラムコードを含むデータを受信することができる。インターネットの例では、サーバが、インターネット、ISP、ローカルネットワーク、およびネットワークインターフェイス718を介して、アプリケーションプログラムの要求されたコードを送信してよい。
受信されたコードは、受信されたときにプロセッサ704によって実行されてよく、かつ/または後で実行するために、ストレージデバイス710またはその他の不揮発性ストレージに格納されてよい。
上記のセクションにおいて説明されたプロセス、方法、およびアルゴリズムの各々は、コンピュータハードウェアを備えている1つまたは複数のコンピュータシステムまたはコンピュータプロセッサによって実行されるコードモジュールにおいて具現化され、完全に、または部分的に自動化されてよい。プロセスおよびアルゴリズムは、特定用途向け回路において部分的または全体的に実装されてよい。
前述したさまざまな特徴およびプロセスが、互いに独立して使用されてよく、またはさまざまな方法で組み合わせられてよい。可能性のあるすべての組み合わせおよび部分的組み合わせが、本明細書の範囲に含まれるよう意図されている。加えて、一部の実装では、特定の方法またはプロセスのブロックが省略されてよい。また、本明細書に記載された方法およびプロセスは、いずれかの特定のシーケンスに限定されず、それらに関連するブロックまたは状態を、適切な他のシーケンスで実行することができる。例えば、説明されたブロックまたは状態は、具体的に開示された順序以外の順序で実行されてよく、または複数のブロックまたは状態が、単一のブロックまたは状態と組み合わせられてよい。ブロックまたは状態の例は、直列、並列、または何らかのその他の方法で実行されてよい。ブロックまたは状態は、開示された実施形態に追加されるか、または開示された実施形態から削除されてよい。本明細書に記載されたシステムおよびコンポーネントの例は、説明された方法とは異なって構成されてよい。例えば、要素が、開示された実施形態に追加されるか、開示された実施形態から削除されるか、または開示された実施形態と比較して再配置されてよい。
本明細書に記載された方法のさまざまな動作は、少なくとも部分的に、アルゴリズムによって実行されてよい。このアルゴリズムは、メモリ(例えば、上で説明された非一時的コンピュータ可読記憶媒体)に格納されたプログラムコードまたは命令に含まれてよい。そのようなアルゴリズムは、機械学習アルゴリズムを含んでよい。一部の実施形態では、機械学習アルゴリズムは、機能を実行するためにコンピュータを明示的にプログラムしなくてよく、トレーニングデータから学習し、機能を実行する予測モデルを作成することができる。
本明細書に記載された方法のさまざまな動作は、関連する動作を実行するように(例えば、ソフトウェアによって)一時的に構成されるか、または永続的に構成される1つまたは複数のプロセッサによって、少なくとも部分的に実行されてよい。一時的に構成されるか、または永続的に構成されるかにかかわらず、そのようなプロセッサは、本明細書に記載された1つまたは複数の動作または機能を実行するように動作するプロセッサ実装エンジンを構成してよい。
同様に本明細書に記載された方法は、少なくとも部分的にプロセッサ実装であってよく、特定の1つまたは複数のプロセッサがハードウェアの例である。例えば、方法の動作の少なくとも一部が、1つまたは複数のプロセッサまたはプロセッサ実装エンジンによって実行されてよい。さらに、1つまたは複数のプロセッサが、「クラウドコンピューティング」環境内で、または「SaaA(Software as a Service)」として、関連する動作の実行をサポートするように動作してもよい。例えば、動作の少なくとも一部は、(プロセッサを含んでいるマシンの例として)コンピュータのグループによって実行されてよく、それらの動作は、ネットワーク(例えば、インターネット)を介して、および1つまたは複数の適切なインターフェイス(例えば、アプリケーションプログラムインターフェイス(API))を介してアクセス可能である。
特定の動作の実行は、単一のマシン内に存在するだけでなく、複数のマシンにわたってデプロイされて、プロセッサ間で分散されてよい。一部の実施形態では、プロセッサまたはプロセッサ実装エンジンは、単一の地理的位置(例えば、住居環境内、オフィス環境内、またはサーバファーム内)に配置されてよい。他の実施形態では、プロセッサまたはプロセッサ実装エンジンは、複数の地理的位置にわたって分散されてよい。
本明細書全体を通じて、複数のインスタンスが、単一のインスタンスとして説明されたコンポーネント、動作、または構造を実装してよい。1つまたは複数の方法の個別の動作が別々の動作として示され、説明されているが、個別の動作のうちの1つまたは複数が同時に実行されてよく、各動作が、示された順序で実行される必要はない。構成において別々のコンポーネントとして提示された構造および機能は、結合された構造またはコンポーネントとして実装されてよい。同様に、単一のコンポーネントとして提示された構造および機能は、別々のコンポーネントとして実装されてよい。これらおよびその他の変形、変更、追加、および改良は、本明細書における対象の範囲に含まれる。
対象の概要が特定の実施形態を参照して説明されているが、本明細書の実施形態のより広い範囲を逸脱することなく、それらの実施形態に対してさまざまな修正および変更が行われてよい。「発明を実施するための形態」は、制限する意味で受け取られるべきではなく、さまざまな実施形態の範囲は、添付の特許請求の範囲に資格が与えられるあらゆる同等のものと共に、添付の特許請求の範囲によってのみ定義される。さらに、本明細書において使用されている関連用語(「第1の」、「第2の」、「第3の」など)は、どのような順序、高さ、または重要性も意味しておらず、ある要素を別の要素から区別するために使用されている。さらに、「1つの(a)」、「1つの(an)」、および「複数の」という用語は、本明細書では数量の制限を意味しておらず、言及されている項目が少なくとも1つ存在すること意味している。

Claims (15)

  1. データ管理のためのコンピュータ実装方法であって、
    ログインユーザの認証情報を取得することと、
    前記ログインユーザの前記認証情報のデジタル要約を生成することと、
    前記ログインユーザの前記認証情報の前記デジタル要約とブロックチェーンに格納された1つまたは複数のデジタル要約との間の比較に基づいて、前記ログインユーザを認証することと、を含んでいる、コンピュータ実装方法。
  2. 前記認証情報が前記ログインユーザに関連付けられたアカウント識別情報を含んでいる、請求項1に記載の方法。
  3. 前記認証情報が前記アカウント識別情報に関連付けられたパスワードを含んでいる、請求項2に記載の方法。
  4. 前記認証情報の前記デジタル要約が、前記認証情報のハッシュ値を含んでいる、請求項1から3のいずれかに記載の方法。
  5. 前記ログインユーザの前記認証情報の前記デジタル要約とブロックチェーンに格納された1つまたは複数のデジタル要約との間の前記比較に基づいて前記ログインユーザを認証することが、
    前記ログインユーザの前記認証情報の前記デジタル要約を前記ブロックチェーンに格納された前記1つまたは複数のデジタル要約と比較することと、
    前記認証情報の前記デジタル要約が前記ブロックチェーンに格納された前記デジタル要約のうちの1つと同じであるということに応答して、前記ログインユーザを認証することと、を含んでいる、請求項1から4のいずれかに記載の方法。
  6. 前記ログインユーザの前記認証情報の前記デジタル要約とブロックチェーンに格納された1つまたは複数のデジタル要約との間の前記比較に基づいて前記ログインユーザを認証することが、
    前記ブロックチェーンの前記1つまたは複数のノードから前記比較の結果を取得することであって、前記比較が前記ブロックチェーンの前記1つまたは複数のノードによって実行される、取得することと、
    前記取得された結果に従って、前記認証情報の前記デジタル要約が前記ブロックチェーンに格納された前記デジタル要約のうちの1つと同じであるということに応答して、前記ログインユーザを認証することと、を含んでいる、請求項1から5のいずれかに記載の方法。
  7. 前記ブロックチェーンに格納された前記1つまたは複数のデジタル要約の各々が、対応する前記デジタル要約を前記ブロックチェーンに格納することに関連付けられたトランザクション識別情報を含んでおり、
    前記方法が、前記ログインユーザを正常に認証することに応答して、前記認証情報の前記デジタル要約に一致する前記ブロックチェーンに格納されたデジタル要約のうちの1つを格納することに関連付けられたトランザクション識別情報を取得することをさらに含んでいる、請求項1から6のいずれかに記載の方法。
  8. 前記ログインユーザの前記認証情報を取得する前に、
    登録対象のユーザの認証情報を取得することと、
    前記登録対象のユーザの前記認証情報に基づいてデジタル要約を生成することと、
    前記登録対象のユーザの前記認証情報に基づいて生成された前記デジタル要約を、前記ブロックチェーンに格納するために前記ブロックチェーンの1つまたは複数のノードに送信することであって、前記送信されたデジタル要約が、前記ブロックチェーンに格納された前記1つまたは複数のデジタル要約のうちの1つである、送信することと、をさらに含んでいる、請求項1から7のいずれかに記載の方法。
  9. 前記登録対象のユーザの前記認証情報を取得することが、
    サービスシステムから転送された登録要求を受信することであって、前記登録要求が、前記登録対象のユーザによって要求される、受信することと、
    リダイレクトアドレスを前記サービスシステムに提供し、前記サービスシステムが、前記リダイレクトアドレスに対応する登録ページを描画することと、
    前記登録ページを介して、前記登録対象のユーザから前記認証情報を収集することと、を含んでいる、請求項8に記載の方法。
  10. 前記登録対象のユーザの前記認証情報を取得することが、
    前記認証情報を使用して、前記登録対象のユーザを1つまたは複数の他のサービスシステムで認証するための許可を、前記登録対象のユーザから取得することをさらに含んでいる、請求項9に記載の方法。
  11. 前記登録対象のユーザの認証情報を取得することが、
    前記登録対象のユーザの認証情報およびユーザ詳細情報を取得することと、
    前記ユーザ詳細情報をストレージシステムに格納することと、を含んでいる、請求項8に記載の方法。
  12. トランザクションを実行することの要求を前記ログインユーザから取得することと、
    前記トランザクションを実行するために、前記ログインユーザのユーザ詳細情報を前記ストレージシステムから取得することと、
    前記ログインユーザの前記ユーザ詳細情報に少なくとも基づいて前記トランザクションを実行することと、をさらに含んでいる、請求項11に記載の方法。
  13. 前記トランザクションを実行することの前記要求を取得した後に、前記トランザクションを実行するために、前記ユーザ詳細情報を前記ストレージシステムから取得する前に、
    前記ログインユーザの前記認証情報の前記デジタル要約と前記ブロックチェーンに格納された前記1つまたは複数のデジタル要約との間の別の比較に基づいて、前記ログインユーザの認証を取得することをさらに含んでいる、請求項12に記載の方法。
  14. 1つまたは複数のプロセッサと、
    前記1つまたは複数のプロセッサに結合されており、請求項1から13のいずれかの前記方法を実行するために前記1つまたは複数のプロセッサによって実行可能な命令が格納されている、1つまたは複数のコンピュータ可読メモリと、を備えている、データ管理システム。
  15. 請求項1から13のいずれかに記載の前記方法を実行するために複数のモジュールを備えている、データ管理装置。
JP2019533600A 2019-02-28 2019-02-28 ブロックチェーンベースのデータ管理のためのシステムおよび方法 Pending JP2020511803A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/076473 WO2019101225A2 (en) 2019-02-28 2019-02-28 System and method for blockchain-based data management

Publications (1)

Publication Number Publication Date
JP2020511803A true JP2020511803A (ja) 2020-04-16

Family

ID=66631220

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019533600A Pending JP2020511803A (ja) 2019-02-28 2019-02-28 ブロックチェーンベースのデータ管理のためのシステムおよび方法

Country Status (9)

Country Link
US (2) US11258778B2 (ja)
EP (1) EP3602457B1 (ja)
JP (1) JP2020511803A (ja)
KR (1) KR102236341B1 (ja)
CN (1) CN110753944B (ja)
ES (1) ES2871062T3 (ja)
PH (1) PH12019501434A1 (ja)
PL (1) PL3602457T3 (ja)
WO (1) WO2019101225A2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2583738B (en) * 2019-05-07 2021-05-05 Arm Ip Ltd Content distribution integrity control
US11520904B2 (en) * 2019-08-27 2022-12-06 Accenture Global Solutions Limited AI-based blockchain hybrid consensus
US11356460B2 (en) * 2019-12-31 2022-06-07 Equifax Inc. Secure online access control to prevent identification information misuse
WO2021183042A1 (en) * 2020-03-13 2021-09-16 Doxa Holdings International Pte. Ltd. System and method for managing entity user data
EP4066475A4 (en) * 2020-11-25 2022-12-21 Alipay (Hangzhou) Information Technology Co., Ltd. TRUSTED BLOCKCHAIN-BASED PLATFORM
CN112950209B (zh) * 2021-03-31 2023-05-09 苏州热工研究院有限公司 一种基于区块链的核电经验反馈信息管理方法和系统
CN113641664A (zh) * 2021-07-13 2021-11-12 华中科技大学 一种适用于图式区块链的轻量化数据存储装置及方法
CN114268472B (zh) * 2021-12-10 2023-12-15 杭州溪塔科技有限公司 基于区块链的应用系统的用户认证方法及系统
CN114238866B (zh) * 2021-12-13 2023-03-24 天翼爱音乐文化科技有限公司 一种数字音乐管理方法、系统、装置及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006185184A (ja) * 2004-12-27 2006-07-13 Nomura Research Institute Ltd 権限管理システム、認証サーバ、権限管理方法および権限管理プログラム
JP2011145754A (ja) * 2010-01-12 2011-07-28 Nec Corp シングルサインオンシステムと方法、認証サーバ、ユーザ端末、サービスサーバ、プログラム
JP2014112330A (ja) * 2012-12-05 2014-06-19 Sharp Corp 情報処理装置、情報処理装置の制御方法、および制御プログラム。
JP2015191508A (ja) * 2014-03-28 2015-11-02 株式会社日立ソリューションズ シングルサインオンシステム、シングルサインオン方法
WO2018112946A1 (zh) * 2016-12-23 2018-06-28 深圳前海达闼云端智能科技有限公司 注册及授权方法、装置及系统
US20180294966A1 (en) * 2017-04-05 2018-10-11 Samsung Sds Co., Ltd. Blockchain-based digital identity management method

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8572704B2 (en) * 2009-08-14 2013-10-29 Mastercard International Incorporated Methods and systems for user authentication
US20170149560A1 (en) 2012-02-02 2017-05-25 Netspective Communications Llc Digital blockchain authentication
US10756906B2 (en) 2013-10-01 2020-08-25 Kalman Csaba Toth Architecture and methods for self-sovereign digital identity
US20160283920A1 (en) 2015-03-28 2016-09-29 Justin Fisher Authentication and verification of digital data utilizing blockchain technology
EP3292484B1 (en) * 2015-05-05 2021-07-07 Ping Identity Corporation Identity management service using a block chain
US9870562B2 (en) * 2015-05-21 2018-01-16 Mastercard International Incorporated Method and system for integration of market exchange and issuer processing for blockchain-based transactions
US10114970B2 (en) 2015-06-02 2018-10-30 ALTR Solutions, Inc. Immutable logging of access requests to distributed file systems
CA2992458A1 (en) 2015-07-14 2017-01-19 Fmr Llc Computationally efficient transfer processing, auditing, and search apparatuses, methods and systems
US20170091756A1 (en) 2015-07-14 2017-03-30 Fmr Llc Point-to-Point Transaction Guidance Apparatuses, Methods and Systems
EP4375908A1 (en) 2015-10-17 2024-05-29 Banqu, Inc. Blockchain-based identity and transaction platform
KR20170087048A (ko) * 2016-01-19 2017-07-27 (주) 아이씨티케이 식별키 생성 장치 및 그 관리 방법
TWI560555B (en) * 2016-02-05 2016-12-01 Synology Inc Cloud service server and method for managing cloud service server
EP3424179B1 (en) * 2016-03-04 2022-02-16 Ping Identity Corporation Method and system for authenticated login using static or dynamic codes
US10212145B2 (en) 2016-04-06 2019-02-19 Avaya Inc. Methods and systems for creating and exchanging a device specific blockchain for device authentication
WO2018069566A1 (en) * 2016-10-14 2018-04-19 Nokia Technologies Oy Method, device and system for validating sensitive user data transactions within trusted circle
CN106534160B (zh) 2016-12-02 2020-02-21 江苏通付盾科技有限公司 基于区块链的身份认证方法及系统
US10498541B2 (en) 2017-02-06 2019-12-03 ShocCard, Inc. Electronic identification verification methods and systems
KR101816651B1 (ko) * 2017-02-14 2018-01-09 주식회사 코인플러그 Utxo 기반 프로토콜의 블록체인 데이터베이스를 사용하여 서비스 제공 서버에 의하여 제공되는 서비스를 이용하기 위한 사용자의 로그인 요청에 대하여 pki 기반의 인증을 통해 로그인을 대행하는 방법 및 이를 이용한 서버
WO2018175666A1 (en) 2017-03-21 2018-09-27 Dappsters, LLC Blockchain systems and methods
US10102526B1 (en) * 2017-03-31 2018-10-16 Vijay K. Madisetti Method and system for blockchain-based combined identity, ownership, integrity and custody management
US10541806B2 (en) 2017-07-13 2020-01-21 International Business Machines Corporation Authorizing account access via blinded identifiers
CN107370730B (zh) 2017-07-14 2020-06-02 创新先进技术有限公司 一种登录信息处理方法及设备
US10594487B2 (en) 2017-07-27 2020-03-17 International Business Machines Corporation Password management and verification with a blockchain
CN107819770A (zh) * 2017-11-15 2018-03-20 中国联合网络通信集团有限公司 基于区块链的医疗信息共享隐私保护方法及装置
US11868995B2 (en) 2017-11-27 2024-01-09 Nok Nok Labs, Inc. Extending a secure key storage for transaction confirmation and cryptocurrency
US10642967B2 (en) 2017-11-28 2020-05-05 American Express Travel Related Services Company, Inc. Single sign-on solution using blockchain
US10949511B2 (en) 2017-11-30 2021-03-16 Bank Of America Corporation Multicomputer processing for data authentication using a blockchain approach
US11159537B2 (en) 2017-11-30 2021-10-26 Bank Of America Corporation Multicomputer processing for data authentication and event execution using a blockchain approach
US9990504B1 (en) * 2017-12-18 2018-06-05 Northern Trust Corporation Systems and methods for generating and maintaining immutable digital meeting records within distributed network nodes
CN108551437B (zh) * 2018-03-13 2021-04-02 百度在线网络技术(北京)有限公司 用于认证信息的方法和装置
US10135835B1 (en) 2018-03-19 2018-11-20 Cyberark Software Ltd. Passwordless and decentralized identity verification
WO2019195691A1 (en) 2018-04-05 2019-10-10 Daniel Maurice Lerner Discrete blockchain and blockchain communications
US20190319948A1 (en) 2018-04-11 2019-10-17 Settleware Secure Services, Inc. Remote authentication and identification proofing systems and methods
US20190325431A1 (en) 2018-04-23 2019-10-24 SYB International Inc. System and Method of Securely Exchanging Digital Token Currency for Goods and Services
CN108694585A (zh) * 2018-07-24 2018-10-23 孔德键 复合型身份认证的网络交易系统
CN109274652B (zh) * 2018-08-30 2021-06-11 腾讯科技(深圳)有限公司 身份信息验证系统、方法及装置及计算机存储介质
CN109359464B (zh) * 2018-10-29 2021-10-15 南通大学 一种基于区块链技术的无线安全认证方法
CN109285256A (zh) * 2018-10-31 2019-01-29 国网黑龙江省电力有限公司信息通信公司 基于区块链身份验证的机房进门权限给定方法
KR102237014B1 (ko) 2019-02-28 2021-04-07 어드밴스드 뉴 테크놀로지스 씨오., 엘티디. 블록체인-기반 인증을 위한 시스템 및 방법

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006185184A (ja) * 2004-12-27 2006-07-13 Nomura Research Institute Ltd 権限管理システム、認証サーバ、権限管理方法および権限管理プログラム
JP2011145754A (ja) * 2010-01-12 2011-07-28 Nec Corp シングルサインオンシステムと方法、認証サーバ、ユーザ端末、サービスサーバ、プログラム
JP2014112330A (ja) * 2012-12-05 2014-06-19 Sharp Corp 情報処理装置、情報処理装置の制御方法、および制御プログラム。
JP2015191508A (ja) * 2014-03-28 2015-11-02 株式会社日立ソリューションズ シングルサインオンシステム、シングルサインオン方法
WO2018112946A1 (zh) * 2016-12-23 2018-06-28 深圳前海达闼云端智能科技有限公司 注册及授权方法、装置及系统
US20180294966A1 (en) * 2017-04-05 2018-10-11 Samsung Sds Co., Ltd. Blockchain-based digital identity management method

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ビットバンク株式会社, ブロックチェーンの衝撃, vol. 第1版, JPN6020045316, 13 June 2016 (2016-06-13), pages 219 - 221, ISSN: 0004589096 *
江澤 友基 ほか: "ブロックチェーンを用いた認証・認可システムの設計と実装", コンピュータセキュリティシンポジウム2018論文集, vol. 第2018巻,第2号, JPN6020045315, 15 October 2018 (2018-10-15), JP, pages 842 - 849, ISSN: 0004397578 *

Also Published As

Publication number Publication date
KR20200105998A (ko) 2020-09-10
KR102236341B1 (ko) 2021-04-06
CN110753944B (zh) 2023-07-04
PH12019501434A1 (en) 2020-02-10
US11258778B2 (en) 2022-02-22
EP3602457A2 (en) 2020-02-05
WO2019101225A3 (en) 2019-12-26
EP3602457B1 (en) 2021-04-07
PL3602457T3 (pl) 2021-10-25
WO2019101225A2 (en) 2019-05-31
ES2871062T3 (es) 2021-10-28
US20200120084A1 (en) 2020-04-16
CN110753944A (zh) 2020-02-04
EP3602457A4 (en) 2020-05-27
US20200145406A1 (en) 2020-05-07

Similar Documents

Publication Publication Date Title
KR102236341B1 (ko) 블록체인-기반 데이터 관리를 위한 시스템 및 방법
US11496310B2 (en) Methods and systems for universal storage and access to user-owned credentials for trans-institutional digital authentication
US10454918B1 (en) Method for SSO service using PKI based on blockchain networks, and device and server using the same
CA3053316C (en) Method for providing simplified account registration service and user authentication service, and authentication server using same
JP6871386B2 (ja) ブロックチェーンベースの認証のためのシステムおよび方法
US20210006410A1 (en) Method for providing virtual asset service based on decentralized identifier and virtual asset service providing server using them
US9047458B2 (en) Network access protection
US20190306148A1 (en) Method for oauth service through blockchain network, and terminal and server using the same
JP2004185623A (ja) ネットワーク・ロケーション中のサブ・ロケーションについてのユーザの認証の方法およびシステム
US20170104748A1 (en) System and method for managing network access with a certificate having soft expiration
Singh et al. Identity management in cloud computing through claim-based solution
Lim et al. AuthChain: a decentralized blockchain-based authentication system
Schaffer Ontology for authentication
KR20090106368A (ko) 네트워크 위치의 하위 위치에 대한 사용자의 인증을 위한 방법 및 시스템

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190924

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201014

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201029

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201201

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210301

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20210907