JP2019511854A - 分散ハッシュテーブル及びブロックチェーンを用いてコンピュータソフトウェアを保証する方法及びシステム - Google Patents

分散ハッシュテーブル及びブロックチェーンを用いてコンピュータソフトウェアを保証する方法及びシステム Download PDF

Info

Publication number
JP2019511854A
JP2019511854A JP2018539335A JP2018539335A JP2019511854A JP 2019511854 A JP2019511854 A JP 2019511854A JP 2018539335 A JP2018539335 A JP 2018539335A JP 2018539335 A JP2018539335 A JP 2018539335A JP 2019511854 A JP2019511854 A JP 2019511854A
Authority
JP
Japan
Prior art keywords
hash value
determining
user
value
key
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.)
Granted
Application number
JP2018539335A
Other languages
English (en)
Other versions
JP6877448B2 (ja
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.)
Nchain Holdings Ltd
Original Assignee
Nchain Holdings 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
Priority claimed from GBGB1603125.4A external-priority patent/GB201603125D0/en
Application filed by Nchain Holdings Ltd filed Critical Nchain Holdings Ltd
Publication of JP2019511854A publication Critical patent/JP2019511854A/ja
Application granted granted Critical
Publication of JP6877448B2 publication Critical patent/JP6877448B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/105Arrangements for software license management or administration, e.g. for managing licenses at corporate level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/12Payment architectures specially adapted for electronic shopping systems
    • G06Q20/123Shopping for digital content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/12Payment architectures specially adapted for electronic shopping systems
    • G06Q20/123Shopping for digital content
    • G06Q20/1235Shopping for digital content with control of digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3823Payment protocols; Details thereof insuring higher security of transaction combining multiple encryption tools for a transaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3825Use of electronic signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3827Use of message hashing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • 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/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/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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)
    • H04L9/083Key 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) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • H04L9/0833Key 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) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
    • H04L9/0836Key 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) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key using tree structure or hierarchical structure
    • 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/321Cryptographic 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 a third party or a trusted authority
    • H04L9/3213Cryptographic 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 a third party or a trusted authority using tickets or tokens, e.g. Kerberos
    • 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
    • H04L9/3252Cryptographic 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 using DSA or related signature schemes, e.g. elliptic based signatures, ElGamal or Schnorr 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q2220/00Business processing using cryptography
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash

Abstract

分散ハッシュテーブル(13)及びピアツーピア分散台帳(14)を用いてコンピュータソフトウェアのような被制御デジタルリソースを保証するメタデータMを決定する、コンピュータにより実施される方法(100)及びシステム(1)が提供される。これは、ビットコインブロックチェーンのようなブロックチェーンである。方法は、コンピュータソフトウェアに関連付けられたデータを決定するステップ(110)と、コンピュータソフトウェアに基づき第1ハッシュ値を決定するステップ(120)と、を含む。データ及びコンピュータソフトウェアに基づく第2ハッシュ値が決定されて良い(130)。方法は、通信ネットワーク(5)を介して、データ、第1ハッシュ値、及び第2ハッシュ値を、分散ハッシュテーブル(13)内の記憶のためのエントリへ送信するステップ140を更に含む。第2ハッシュ値は、キー値ペアのキーであって良い。データ及び第1ハッシュ値は、キー値ペアの値であって良い。第2ハッシュ値に基づくメタデータ(M)は、ピアツーピア分散台帳(14)に記憶するために決定されて良い(150)。

Description

本開示は、ブロックチェーン技術、セキュリティメカニズム、及び資産転送に関する。本発明は、特に、コンピュータソフトウェアのようなデジタル資産を保証し、分散ハッシュテーブル及びピアツーピア分散台帳(例えばブロックチェーン)を用いて資産(例えばコンピュータソフトウェア)へのアクセスを認可する/制御するメカニズムとしての使用に適する。
本願明細書で、用語「ブロックチェーン」は、あらゆる形式の電子的な、コンピュータに基づく、分散台帳を含むよう使用される。これらは、限定ではないが、総意に基づくブロックチェーン及びトランザクションチェーン技術、許可及び未許可台帳、共有台帳、及びそれらの変形を含む。最も広く知られているブロックチェーン技術の用途はビットコイン台帳であるが、他のブロックチェーンの実装が提案され開発されている。ビットコインは便宜上及び説明を目的として本願明細書において言及されるが、本発明はビットコインのブロックチェーンと共に使用することに限定されず、代替のブロックチェーンの実装及びプロトコルが本発明の範囲に含まれることに留意すべきである。
ブロックチェーンは、ブロックにより構成される、コンピュータに基づく非集中型の分散型システムとして実装されるピアツーピア電子台帳である。また、ブロックはトランザクションにより構成される。各トランザクションは、ブロックチェーンシステム内で参加者間のデジタル資産の制御の転送を符号化するデータ構造であり、少なくとも1つのインプット及び少なくとも1つのアウトプットを含む。各ブロックは前のブロックのハッシュを含み、ブロックは共にチェーンになって、その発端からブロックチェーンに書き込まれている全てのトランザクションの永久的な変更不可能なレコードを生成する。トランザクションは、そのインプット及びアウトプットに埋め込まれたスクリプトとして知られる小さなプログラムを含む。スクリプトは、トランザクションのアウトプットがどのように及び誰によりアクセス可能かを指定する。ビットコインプラットフォーム上で、これらのスクリプトは、スタックに基づくスクリプト言語を用いて記述される。
トランザクションがブロックチェーンに書き込まれるために、「検証され」なければならない。ネットワークノード(マイナー)は、各トランザクションが有効であることを保証するために作業を実行し、無効なトランザクションはネットワークから拒否される。ノードにインストールされたソフトウェアクライアントは、自身のロック及びアンロックスクリプトを実行することにより、この検証作業を未使用トランザクション(UTXO)に対して実行する。ロック及びアンロックスクリプトの実行が真と評価した場合、トランザクションは有効であり、トランザクションはブロックチェーンに書き込まれる。したがって、トランザクションがブロックチェーンに書き込まれるためには、トランザクションは、i)トランザクションを受信した第1ノードにより検証され、トランザクションが検証された場合に、ノードは該トランザクションをネットワーク内の他のノードに中継し、ii)マイナーにより構築された新しいブロックに追加し、iii)マインされ、つまり過去のトランザクションの公開台帳に追加されなければならない。
ブロックチェーン技術は、暗号通貨実装の使用で最も広く知られているが、デジタル起業家が、新しいシステムを実装するために、ビットコインの基づく暗号通貨セキュリティシステム、及びブロックチェーンに格納可能なデータの両方の使用を探索し始めている。ブロックチェーンが、暗号通貨の領域に限定されない自動タスク及び処理のために使用できれば、非常に有利である。このようなソリューションは、それらの用途において一層多様でありながら、ブロックチェーンの利点(例えば、永久的、イベントの耐タンパレコード、分散処理、等)を利用できる。
現在の研究の一分野は、「スマートコントラクト(smart contracts)」の実装のためのブロックチェーンの使用である。これらは、機械可読取引又は合意の条件の実行を自動化するために設計されたコンピュータプログラムである。ブロックチェーンに関連する関心の他の分野は、ブロックチェーンを介する現実世界のエンティティを表し転送するための「トークン」(又は「カラードコイン」)の使用である。潜在的に機密な又は秘密のアイテムは、識別可能な意味又は値を有しないトークンにより表現できる。したがって、トークンは、現実世界のアイテムをブロックチェーンから参照できるようにする識別子として機能し、拡張されたセキュリティを提供する。
例えばコンピュータソフトウェアのようなデジタル資産を送信し、共有し、又はそれへのアクセスを制御する目的で、暗号化及びブロックチェーン技術のようなセキュリティ関連機能を使用できることは有利である。コンピュータソフトウェアの完全性保証及び共有のための伝統的アプローチは、コンピュータソフトウェアの実行ファイルのデジタル署名を含む。例えば、実行ファイル又は他の関連コードに、公開鍵及び秘密鍵のような暗号鍵対により署名することである。公開鍵は、認証局のような信頼できる中央当局から得られる場合が多い。
コンピュータソフトウェアは、契約上の義務を含むライセンスを伴う場合が多い。ライセンスは、ソフトウェアの使用又は再分配を規定する条項を含むことがある。コンピュータソフトウェア又は関連ライセンスが別のユーザへ違法に転送される場合に、問題が生じ得る。
本願明細書に含まれる文書、動作、材料、装置、製品、等の議論は、これらの項目のうちのいずれか又は全部が従来基盤の部分を形成すること、又は本願の各請求項の優先日前に存在していたような本開示の関連分野における共通の一般知識であったとの承認として解釈されるべきではない。
本願明細書を通じて、用語「含む、有する(comprise)」又は「comprises」若しくは「comprising」のような変形は、記述される要素、整数若しくはステップ、又は要素、整数若しくはステップのグループ、の包含を意味すると理解されるが、任意の他の要素、整数若しくはステップ、又は要素、整数若しくはステップのグループを除外しない。
本発明の実施形態は、被制御デジタルリソース又は資産へのアクセス及び/又はその送信を制御する方法及び対応するシステムを有し得る。本発明は、分散ハッシュテーブル及びピアツーピア分散台帳(例えばブロックチェーン)を用いて被制御デジタルリソースを保証するメタデータMを決定する、コンピュータにより実施される方法を有し得る。本発明は、セキュリティ方法/システム又は制御方法/システムとして記載され得る。本発明は被制御デジタルリソースの完全性、その制御、及び/又はそれへのアクセスを保証する方法/システムとして記載され得る。本発明は、認証又は認可方法/システムを有し得る。
一実施形態では、被制御デジタルリソースはコンピュータソフトウェアであって良い。以後、用語「ソフトウェア」又は「コンピュータソフトウェア」は、「被制御デジタルリソース」の代わりに使用される場合がある。
方法は、前記コンピュータソフトウェアに関連付けられたデータ(D1)を決定するステップと、前記コンピュータソフトウェアの第1ハッシュ値(H1)を決定するステップと、前記データ(D1)及び前記コンピュータソフトウェアに基づき、第2ハッシュ値(H2)を決定するステップと、通信ネットワークを介して、前記データ(D1)、前記第1ハッシュ値(H1)、及び前記第2ハッシュ値(H2)を分散ハッシュテーブル内の記憶のためのエントリに送信するステップであって、前記第2ハッシュ値(H2)はキー値ペアのキーであり、前記データ(D1)及び前記第1ハッシュ値(H1)は前記キー値ペアの値である、ステップと、前記ピアツーピア分散台帳に記憶するために、前記第2ハッシュ値(H2)を有するメタデータ(M)を決定するステップと、を含んで良い。
方法は、第1Redeemスクリプト(RS1)を決定するステップ、を更に含んで良く、前記第1Redeemスクリプトは、前記メタデータ(M)と、エージェント(A)に関連付けられたエージェント公開鍵(PA)と、に基づく。前記Redeemスクリプトは、ブロックチェーントランザクション(Tx)のRedeemスクリプトであって良い。
方法は、前記通信ネットワークを介して、転送されるべき第1暗号通貨額の指示であって、前記第1暗号通貨額は前記第1Redeemスクリプトに関連付けられる、第1暗号通貨額の指示と、前記第1Redeemスクリプトと、に基づき、前記ピアツーピア分散台帳に記憶するために、第1データアウトプットを送信するステップ、を更に含んで良い。
方法では、前記データ(D1)は、前記コンピュータソフトウェアに関連付けられたライセンスを更に有して良い。前記ライセンスは、第1ユーザ(U1)又は第2ユーザ(U2)に関連付けられて良く、前記第1ユーザに関連付けられた第1ユーザ公開鍵(PU1)又は前記第2ユーザに関連付けられた第2ユーザ公開鍵(PU2)を更に含む。前記ライセンスは、前記第1ユーザ(U1)又は前記第2ユーザ(U2)の少なくとも1つの電子装置に関連付けられたハッシュ値を更に有して良い。前記ライセンスは、前記第1ハッシュ値(H1)を更に有して良い。
方法において、前記第2ハッシュ値(H2)は、マークル木のトップハッシュ値を有して良い。
本発明は、第1ユーザ(U1)に対してコンピュータソフトウェアへのアクセスを認可する、コンピュータにより実施される方法であって、前記方法は、上述の方法に従いコンピュータソフトウェアを保証するメタデータ(M)を決定するステップと、第2Redeemスクリプト(RS2)を決定するステップであって、前記第2Redeemスクリプト(RS2)は、前記メタデータ(M)と、前記エージェント(A)に関連付けられた前記エージェント公開鍵(PA)と、前記第1ユーザ(U1)に関連付けられた前記第1ユーザ公開鍵(PU1)と、に基づく、ステップと、通信ネットワークを介して、第2データアウトプット(O2)を前記ピアツーピア分散台帳へ送信するステップであって、前記第1データアウトプット(O1)からの前記第1暗号通貨額(C1)が転送されるべきであるという指示と、前記第2Redeemスクリプト(RS2)と、に基づく、ステップと、を含む方法を提供し得る。
方法は、前記コンピュータソフトウェア又は前記ライセンスの位置を示す識別子を決定するステップと、前記識別子を前記キー値ペアの中の前記値に割り当てるステップと、前記通信ネットワークを介して、前記識別子を前記分散ハッシュテーブルの前記エントリへ送信するステップと、を更に含んで良い。
コンピュータソフトウェア又はライセンスの位置を決定する、コンピュータにより実施される方法であって、前記方法は、上述の方法に従い、コンピュータソフトウェアを保証するメタデータ(M)を決定するステップと、前記コンピュータソフトウェア又は前記ライセンスの位置を示す識別子を決定するステップと、前記キー値ペアの中の前記値に前記識別子を割り当てるステップと、前記通信ネットワークを介して、前記分散ハッシュテーブルの前記エントリに前記識別子を送信するステップと、前記第1Redeemスクリプトから前記メタデータ(M)を決定するステップと、前記メタデータ(M)から前記第2ハッシュ値(H2)を読み出すステップと、前記通信ネットワークを介して、前記分散ハッシュテーブルの参加ノードに関連付けられたプロセッサへ、前記第2ハッシュ値(H2)を送信するステップと、前記参加ノードの前記プロセッサから、前記コンピュータソフトウェア又はライセンスの位置を示す前記識別子を決定するステップと、を含む方法。
上述の方法では、前記暗号通貨はビットコインであって良く、前記ピアツーピア分散台帳はビットコインブロックチェーンであって良い。
本発明の実施形態は、暗号鍵の位置としてブロックチェーンプロトコルで指定される位置に、Redeemスクリプトの中でメタデータを提供するステップを有して良い。
本発明の1又は複数の実施形態は、実質的に「メタデータ」と題される章で後述される、ブロックチェーントランザクションにメタデータを埋め込む方法を含み得る。これは、デジタル資産に関連するアウトプット(TxO)及びRedeemスクリプトを有するブロックチェーントランザクション(Tx)を生成するステップであって、Redeemスクリプトは、トークン化されたエンティティを表す又はそれへの参照であるトークンを含むメタデータと、少なくとも1つの公開暗号鍵と、を含む、ステップ、を有して良い。
デジタル資産は、暗号通貨額であって良い。メタデータは、暗号鍵の位置としてブロックチェーンプロトコルで指定される位置に、Redeemスクリプトの中で提供されて良い。トランザクションTxは、ブロックチェーンネットワークに提出されて良い。
コンピュータソフトウェアプログラムであって、処理装置に上述の方法を実施させる機械可読命令を含むコンピュータソフトウェアプログラム。
分散ハッシュテーブルを用いてコンピュータソフトウェアを保証するメタデータ(M)を決定するコンピュータシステムであって、前記システムは、ノードに関連付けられた処理装置を含み、前記コンピュータソフトウェアに関連付けられたデータ(D1)を決定し、前記コンピュータソフトウェアの第1ハッシュ値(H1)を決定し、前記データ(D1)及び前記コンピュータソフトウェアに基づき、第2ハッシュ値(H2)を決定し、通信ネットワークを介して、前記データ(D1)、前記第1ハッシュ値(H1)、及び前記第2ハッシュ値(H2)を分散ハッシュテーブル内の記憶のためのエントリに送信し、前記第2ハッシュ値(H2)はキー値ペアのキーであり、前記データ(D1)及び前記第1ハッシュ値(H1)は前記キー値ペアの値であり、前記第2ハッシュ値(H2)を有するメタデータ(M)を決定する、よう構成されるシステム。
本開示の例は、以下の図面を参照して記載される。
ハッシュテーブルの一例を示す。 分散ハッシュテーブルを用いてコンピュータソフトウェアを保証するメタデータ(M)を決定する例示的なシステムの概略図を示す。 分散ハッシュテーブルを用いてコンピュータソフトウェアを保証するメタデータ(M)を決定するコンピュータにより実施される方法のフローチャートを示す。 マークル木の一例を示す。 コンピュータソフトウェア及びコンピュータソフトウェアに関連付けられたライセンスへの参照を有するマークル木の一例を示す。 分散ハッシュテーブルを用いてコンピュータソフトウェアの位置を示す識別子を決定するコンピュータにより実施される方法のフローチャートを示す。 例示的な処理装置の概略を示す。
本開示は、概して、コンピュータソフトウェアを保証するために、分散ハッシュテーブル、及びビットコインブロックチェーンのようなピアツーピア(peer-to-peer:P2P)分散台帳を利用する方法及びシステムに関する。
以下に記載する実施形態は、具体的にビットコインブロックチェーン(以後ブロックチェーンとして参照される)上で生じるトランザクションを参照する場合があるが、本発明は他のP2P分散台帳を用いて実施されて良いことが理解される。ブロックチェーンの高度な標準化及び大量の関連する公開された文書のために、単に単純さを目的として、本発明の態様を記載するために以下でブロックチェーンが使用される。
<分散ハッシュテーブル>
標準的なクライアント/サーバモデルでは、中央サーバは、大部分のリソースを管理し得る。これは、中央サーバに対する攻撃又はその障害が生じた場合に、中央サーバに格納された大部分のリソースが危険に晒され得ることを意味する。対照的に、分散モデルでは、リソースは参加ノード間で共有される(「分散される」)。この場合、全ての参加ノードの能力は利用されず、1つのサーバの障害が大部分のリソースを危険に晒すことはない。
図1は、ハッシュテーブルの一例を示す。ハッシュテーブルは、キー値ペアで構成される。各キー値ペアのキーは、ハッシュ関数によりインデックスにマッピングされる。インデックスは、キー値ペアの格納された値の位置を定める。
DHTは、ハッシュテーブルに分散モデルを適用する一例である。ハッシュテーブルと同様に、DHTは、キー値ペアを有し、単にキーが与えられるとキー値ペアの値の場所を特定する(「ルックアップする」)効率的な方法を提供する。しかしながら、ハッシュテーブルと対照的に、キー値ペアは、多数の参加ノードにより分散され及び共有される。このように、キー値ペアを格納し及び維持する責任は、参加ノードにより共有される。
ハッシュテーブルと同じ方法で、DHTの中の各キー値ペアは、インデックスにマッピングされる。インデックスは、キーに対してハッシュ関数を実行することにより、各キー値ペアについて決定される。例えば、インデックスを決定するために暗号SHA(Secure Hash Algorithm)−1が使用されて良い。
各参加ノードは、鍵空間の区分化により少なくとも1つのインデックスを割り当てられる。参加ノードの割り当てられた各インデックスについて、参加ノードはキー値ペアの値を格納する。
キー値ペアの値が効率的に検索できることは有利である。キーに関連付けられた値を検索するために、ノードは「ルックアップ」を実行して(インデックスにより)責任あるノードを決定して良い。責任あるノードは、次に、値を決定するためにアクセスされて良い。
<ビットコイン及びブロックチェーン>
従来よく知られているように、ブロックチェーンは、ビットコインプロトコルに基づくシステムに参加するネットワーク接続されたノード間で記憶容量が分散されるトランザクション型台帳である。各ビットコイントランザクションはネットワークにブロードキャストされ、トランザクションが確認され、次にブロックに集約される。ブロックは、次に、ブロックを複数の参加ノードに格納することにより、ブロックチェーンに含まれる。
暗号通貨のP2P分散台帳の完全なコピーは、暗号通貨においてこれまでに実行された全てのトランザクションを含む。したがって、トランザクションデータレコードの絶えず増大するリストが提供される。ブロックチェーンに入った各トランザクションは暗号によって実施されるので、ブロックチェーンは、例え参加ノードのオペレータによるものでも、タンパリング及び改訂に対しても強健である。
ブロックチェーンの透過性により、各トランザクションについて履歴が公衆に利用可能である。
ブロックチェーンの更なる利点は、トランザクションがトランザクションのレコードでもあることである。つまり、トランザクションはブロックチェーンの中に埋め込まれる。
このように、トランザクションに関連する情報は実際のトランザクションの中にキャプチャされる。このレコードは、永久的且つ不変であり、したがって、トランザクションレコードを別個のデータベースに保持するための第三者に対する要件を削除する。有利なことに、本発明は、ブロックチェーンを介するソフトウェアのような資産のこの制御又は転送を実現するための技術を用いることができ、転送をセキュアな方法で実行することを可能にし、暗号鍵の使用を組み込み、一方で、基礎となるブロックチェーンプロトコルのいかなる変更も必要としない。
<Pay-to-script-hash及びマルチシグネチャ>
以下の実施形態は具体的にビットコインプロトコルのP2SH(pay-to-script-hash)方法を使用するトランザクションを参照する場合があるが、本発明はブロックチェーンビットコインプロトコルと別の機能的に等価な方法を用いて実施されて良いことが理解される。
ブロックチェーン上の各トランザクションレコードは、トランザクション及び公開鍵の数を示す情報を含むスクリプトを有する。これらの公開鍵は、暗号通貨の送信側及び受信側に関連付けられて良い。P2PKHインプットは、送信側の公開鍵を含む。P2PKHアウトプットは、受信側の公開鍵のハッシュを含む。P2SH multisigインプットは、送信側の署名を含む。スクリプトは、ユーザがどのようにトランザクションレコード内で指定された暗号通貨へのアクセスを得ることができるかを記述するブロックチェーン上の各トランザクションレコードと共に記録された命令リストとして考えられる。
背景として、ビットコインプロトコルの標準的なP2SH方法では、アウトプットスクリプト又はRedeemスクリプトは、以下の形式を取り得る。
<NumSigs PubK1 PubK2 … PubK15 NumKeys OP_CHECKMULTISIG>
ここで、NumSigsは、トランザクションを解除するためにRedeemスクリプトを満たすために必要な有効署名の数「m」である。PubK1、PubK2、...、PubK15は、トランザクションを解除する署名に対応する公開鍵である(最大15個の公開鍵まで)。NumKeysは公開鍵の数「n」である。
ビットコインプロトコルで、楕円曲線デジタル署名アルゴリズムを用いて、ユーザの秘密鍵に基づく署名が生成されて良い。署名は、次に、アウトプットスクリプト又はRedeemスクリプトに関連付けられた暗号通貨の償還のために使用される。ユーザがアウトプットスクリプト又はRedeemスクリプトを償還する(redeem、引き換える)とき、ユーザは彼らの署名及び公開鍵を提供する。アウトプットスクリプト又はRedeemスクリプトは、次に、公開鍵に対して署名を検証する。
上述のRedeemスクリプトを償還するために、少なくとも、公開鍵に対応する「m」個の署名が必要である。幾つかの例では、公開鍵の順序が重要であり、「n」人のうちの「m」人の署名する署名者が順次行われなければならない。例えば、「m」が2であり、「n」が15である場合を考える。使用可能な2つの署名、Sig1(PubK1に対応する)及びSig15(PubK15に対応する)がある場合、Redeemスクリプトは、先ずSig1により署名され、続いてSig15により署名されなければならない。
<システム概要>
コンピュータソフトウェアを保証するメタデータ(M)を決定する方法、装置、及びシステムが以下に記載される。
図2は、通信ネットワーク5を介して第2ノード7と通信する第1ノード3を含むシステム1を示す。第1ノード3は関連する第1処理装置21を有し、及び第2ノード5は関連する第2処理装置27を有する。第1及び第2ノード3、7の例は、コンピュータ、タブレットコンピュータ、モバイル通信装置、コンピュータサーバ、等のような電子装置を含む。
キー値ペアを記録し格納するためのDHT13も、図2に示される。DHT13は、キー値ペアの値を受信し、記録し、及び格納するために、1又は複数の処理装置19に関連付けられて良い。処理装置19は、DHT13の「参加ノード」により使用されて良い。上述のように、DHT13は、キー値ペアの値の場所を特定する効率的方法を提供する。
図2は、トランザクションを記録するためのP2P分散台帳14も示す。P2P分散台帳14は、トランザクションを受信し及び記録するために、1又は複数の処理装置20に関連付けられて良い。上述のように、P2P分散台帳14の一例は、ビットコインブロックチェーンである。したがって、ブロックチェーンの文脈では、P2P分散台帳14に関連付けられた処理装置20は、「マイナー」として参照される処理装置であって良い。
第1ノード3は第1ユーザ23に関連付けられ、第2ノード7は第2ユーザ24に関連付けられる。一例では、第1ノード3は、コンピュータソフトウェアのベンダを表して良い。別の例では、第1ノード3は、エージェント又はサービスプロバイダを表して良い。更に別の例では、第1ノード3は、コンピュータソフトウェアのユーザを表して良い。
同様に、第2ノード7は、エージェント、サービスプロバイダ、コンピュータソフトウェアのベンダ、又はコンピュータソフトウェアのユーザを表して良い。
一例では、第1ノード3は、図3及び図6により示されるような方法100、500を実行する。別の例では、第2ノード7が、方法100、500を実行する。以下の例示的な実施形態は、第1ノード3を方法を実行するとして参照することがあるが、本開示は、他のノードにより実行されるよう適応され又は変更されても良いことが理解される。
図3に示される方法100は、コンピュータソフトウェアに関連付けられたデータ(D1)を決定するステップ110を含む。データ(D1)は、コンピュータソフトウェアに関連付けられたライセンスを更に有して良い。方法100は、コンピュータソフトウェアに基づき第1ハッシュ値(H1)を決定するステップ120を更に含む。一例では、第1ハッシュ値(H1)は、コンピュータソフトウェアの実行ファイルに関連して良い。
方法100は、データ(D1)及びコンピュータソフトウェアに基づき第2ハッシュ値(H2)を決定するステップ130を更に含む。一例では、第2ハッシュ値(H2)は、コンピュータソフトウェア及びコンピュータソフトウェアに関連付けられたライセンスの詳細を表して良い。更なる例では、第2ハッシュ値(H2)は、追加情報を有して良い。
方法100は、通信ネットワーク5を介して、データ(D1)、第1ハッシュ値(H1)及び第2ハッシュ値(H2)を、分散ハッシュテーブル13のエントリへ送信するステップ140を更に含む。ここで、第2ハッシュ値(H2)は、キー値ペアのキーに割り当てられ、データ(D1)及び第1ハッシュ値(H1)はキー値ペアの値に割り当てられる。キー値ペアの値は、コンピュータソフトウェア又はライセンスの位置を表す識別子を更に有して良い。
方法100は、ピアツーピア分散台帳14に含めるために、第2ハッシュ値(H2)に基づくメタデータ(M)を決定するステップ150を更に含む。一例では、メタデータ(M)は、ピアツーピア分散台帳14に含めるために第1Redeemスクリプトに含まれて良い。
方法の詳細な例が以下に記載される。
<コンピュータソフトウェアに関連付けられたデータを決定する110>
上述のように、方法100は、コンピュータソフトウェアに関連付けられたデータ(D1)を決定するステップ110を含む。データ(D1)を決定するステップ110は、ユーザ、ノード、又はデータストアからデータ(D1)を受信するステップを含んで良い。データ(D1)を決定するステップ110は、第1ノード3においてデータ(D1)を生成するステップを更に含んで良い。
一例では、第1ノード3は、ユーザインタフェース15を介して第1ユーザ23からデータ(D1)を受信して良い。別の例では、第1ノード3は、第2ユーザ24からデータ(D1)を受信して良い。更に別の例では、第1ノード3は、データストア17からデータ(D1)を受信して良い。
データ(D1)は、コンピュータソフトウェアに関連付けられる。ここで、データ(D1)は、コンピュータソフトウェア、追加情報、コンピュータソフトウェアのライセンスを識別し、又はコンピュータソフトウェアの位置を示して良い。例えば、データ(D1)は、コンピュータソフトウェアを識別する文字列又はデータ構造を有して良い。文字列又はデータ構造は、識別キーワード及び/又はコンピュータソフトウェアに関する追加情報の集合を有して良い。追加情報の一例は、コンピュータソフトウェアのバージョンの識別子、例えば数値であって良い。例えば、コンピュータソフトウェアがBobSoftwareでありバージョンが3.0である場合、文字列又はデータ構造(D1)は「BobSoftware/3.0」を有して良い。
更なる例では、データ(D1)は、コンピュータソフトウェアに関連付けられたライセンスの識別子を有して良い。これは、ソフトウェアライセンス識別番号(ID)又はソフトウェアライセンスキーであって良い。別の例では、ライセンスの識別子は、ライセンスのコンテンツの暗号ハッシュを有して良い。
データ(D1)は、コンピュータソフトウェアの記憶位置を示す識別子を更に有して良い。一例では、識別子は、インターネット上のオブジェクトのURLを有して良い。更なる例では、ハッシュテーブル又は分散ハッシュテーブルのようなレポジトリ上のコンピュータソフトウェアの記憶位置へのリンクが提供されて良い。
更なる例では、データ(D1)は、コンピュータソフトウェアのベンダを識別する情報を有して良い。これは、ベンダに関連付けられた、名称、アドレス、連絡先の詳細事項、又は公開鍵のような個人の詳細事項を含み得る。
<コンピュータソフトウェアに基づき第1ハッシュ値(H1)を決定する120>
上述のように、方法100は、コンピュータソフトウェアの第1ハッシュ値(H1)を決定するステップ120を更に含む。第1ハッシュ値(H1)を決定するステップ120は、ユーザから第1ハッシュ値(H1)を受信する、又はデータストアから第1ハッシュ値(H1)にアクセスするステップを含んで良い。第1ハッシュ値(H1)を決定するステップ120は、第1ノード3においてハッシュ値を計算するステップを更に含んで良い。
一例では、第1ノード3は、ユーザインタフェース15を介して第1ユーザ23から第1ハッシュ値(H1)を受信して良い。別の例では、第1ノード3は、第2ユーザ24から第1ハッシュ値(H1)を受信して良い。更に別の例では、第1ノード3は、ローカルデータストア17又はリモートデータストアから第1ハッシュ値(H1)にアクセスして良い。
一例では、第1ハッシュ値(H1)は、コンピュータソフトウェアの実行ファイルのものであって良い。コンピュータソフトウェアの実行ファイルは、インターネットのような通信ネットワーク5から検索されて良い。別の例では、実行ファイルは、第1ユーザ23又は第2ユーザ24により提供されて良い。更に別の例では、実行ファイルは、データストア17から検索されて良い。更に別の例では、実行ファイルは、ハッシュテーブル又はDHTのようなレポジトリから検索可能であって良い。
ソフトウェアの実行ファイルのハッシュは、情報の256ビット表現を生成するために、SHA−256アルゴリズムを用いて決定されて良い。理解されるべきことに、SHA(Secure Hash Algorithm)ファミリの中の他のアルゴリズムを含む他のハッシュアルゴリズムが使用されて良い。幾つかの特定の例は、SHA3−224、SHA3−256、SHA3−384、SHA3−512、SHAKE128、SHAKE256を含むSHA−3サブセットの中のインスタンスを含む。他のハッシュアルゴリズムは、RIPEMD(RACE Integrity Primitives Evaluation Message Digest)ファミリの中のアルゴリズムを含んで良い。特定の例は、RIPEMD−160を含んで良い。他のハッシュ関数は、Zemor−Tillichハッシュ関数及びナップサック・ハッシュ関数に基づくファミリを含んで良い。
<データ(D1)及びコンピュータソフトウェアに基づき第2ハッシュ値(H2)を決定する130>
方法100は、データ(D1)及びコンピュータソフトウェアに基づき第2ハッシュ値(H2)を決定するステップ130を更に含む。
一例では、第2ハッシュ値(H2)は、データ(D1)とコンピュータソフトウェアの実行ファイル(又は実行ファイルのハッシュ、つまり第1ハッシュ値(H1))との連結のハッシュに基づき決定されて良い。更なる例では、第2ハッシュ値(H2)は、データ(D1)とコンピュータソフトウェアの実行ファイル(又は実行ファイルのハッシュ)と追加情報との連結のハッシュに基づき決定されて良い。
追加情報は、第1ユーザ23(PU1)又は第2ユーザ24(PU2)の公開鍵を有して良い。更なる例では、追加情報は、第1ユーザ23又は第2ユーザ24に関連付けられたエンティティの識別子を有して良い。例えば、エンティティは、第1ユーザ23又は第2ユーザ24の従業員であって良い。別の例では、エンティティは、第1ユーザ23又は第2ユーザ24のサービスプロバイダであって良い。
追加情報は、第1ノード3、第2ノード7、第1ユーザ23、又は第2ユーザ24に関連付けられた装置の装置識別子を更に有して良い。装置の一例は、図2に示されるような第1処理装置21である。装置識別子は、MACアドレス、マザーボード製造番号、又は装置識別番号のうちの少なくとも1つを含んで良い。装置識別子は、MACアドレス、マザーボード製造番号、又は装置識別番号のうちの少なくとも2つの連結を更に含んで良い。更なる例では、装置識別子は、MACアドレス、マザーボード製造番号、又は装置識別番号に関連付けられたハッシュ値、又はそれらの連結を有して良い。
更なる例では、追加情報は、コンピュータソフトウェアに関連付けられたライセンスの有効期限を有して良い。
<コンピュータソフトウェアに関連付けられたライセンス>
更なる例では、第2ハッシュ値(H2)は、データ(D1)とコンピュータソフトウェアの実行ファイル(又は実行ファイルのハッシュ)と追加情報又はコンピュータソフトウェアに関連するライセンスとの連結のハッシュに基づき決定されて良い。
ライセンスの表現は、ライセンスの内容を指定するファイル又は文書であって良い。例えば、ASCII平文、PDF文書又はWord文書である。第2ハッシュ値(H2)は、元の形式のライセンスを含んで良く、又は、例えば、インターネットのような公衆にアクセス可能な通信ネットワーク上のライセンスの位置へのリンクを提供して良い。更なる例では、ハッシュテーブル又はDHTのようなレポジトリ上のライセンスの位置へのリンクが提供されて良い。更なる例では、データストア17のようなコンピュータに基づくリソース上のライセンスの位置へのリンクが提供されて良い。
一例では、ライセンスは、コンピュータソフトウェアに関連付けられた第1ハッシュ値(H1)を有して良い。
コンピュータソフトウェアに関連付けられたライセンスは、上述のような追加情報を更に有して良い。一例では、ライセンスは、第1ユーザ23又は第2ユーザ24に関連付けられて良い。ライセンスは、第1ユーザ23(PU1)又は第2ユーザ24(PU2)の公開鍵を有して良い。更なる例では、ライセンスは、第1ユーザ23又は第2ユーザ24に関連付けられたエンティティの識別子を有して良い。
コンピュータソフトウェアに関連付けられたライセンスは、第1ノード3、第2ノード7、第1ユーザ23、又は第2ユーザ24に関連付けられた装置の装置識別子を更に有して良い。装置の一例は、図2に示されるような第1処理装置21である。装置識別子は、MACアドレス、マザーボード製造番号、又は装置識別番号のうちの少なくとも1つを含んで良い。装置識別子は、MACアドレス、マザーボード製造番号、又は装置識別番号のうちの少なくとも2つの連結を更に含んで良い。更なる例では、装置識別子は、MACアドレス、マザーボード製造番号、又は装置識別番号に関連付けられたハッシュ値、又はそれらの連結を有して良い。
第1ユーザ23は、コンピュータソフトウェアのベンダであって良く、第2ユーザ24は、コンピュータソフトウェアの受信者(「エンドユーザ」)であって良い。別の例では、第2ユーザ23は、コンピュータソフトウェアのベンダであって良く、第2ユーザ24は、コンピュータソフトウェアの受信者(「エンドユーザ」)であって良い。
一例では、コンピュータソフトウェアに関連付けられたライセンスは、1人のエンドユーザのみを認可して良い(「単一ユーザライセンス」)。更なる例では、コンピュータソフトウェアに関連付けられたライセンスは、1人のエンドユーザの1台の装置を認可して良い(「単一装置ライセンス」)。別の例では、コンピュータソフトウェアに関連付けられたライセンスは、エンドユーザの1台より多数の装置を認可して良い(「複数装置ライセンス」)。
別の例では、1人より多くのエンドユーザが存在して良い(「マルチユーザライセンス」)。更なる例では、コンピュータソフトウェアに関連付けられたライセンスは、エンドユーザ当たり1台の装置を認可して良い。別の例では、コンピュータソフトウェアに関連付けられたライセンスは、エンドユーザ当たり1台より多数の装置を認可して良い。
ライセンスが第1ユーザ23又は第2ユーザ24に関連付けられる場合には、ライセンスは、第1ユーザ23に関連付けられた第1ユーザ公開鍵(PU1)、及び第2ユーザ24に関連付けられた第2ユーザ公開鍵(PU2)を有して良い。
<マークル木>
別の例では、ライセンスはマークル(Merkle)木のトップハッシュ値であって良い。マークル木の一例は図4に示される。マークル木では、各ノードにおけるハッシュ値は、それら個々の「子」ノードのハッシュである。例えば、ハッシュ値Hash−A305は、2個の「子」ノード309及び311におけるハッシュ値のハッシュである。マークル木のトップハッシュ値、Hash−AB303は、マークル木の中の全部のハッシュ値を含むことが分かる。つまり、これは、木の最下部にある4枚の「葉」のハッシュ値であるA1 317、A2 319、B1 321、及びB2 323をキャプチャする。
本開示の一例では、マークル木の各「葉」は、ライセンスの情報の一態様を表す。図5に、例示的なライセンスを示す。データ(D1)417はハッシュ値Hash−D409の中にキャプチャされ、ソフトウェアの実行ファイル419はハッシュ値Hash−S411(H1)の中にキャプチャされ、ユーザ23及び/又は24の公開鍵421はハッシュ値Hash−P413の中にキャプチャされ、有効期限データ423はハッシュ値Hash−E415の中にキャプチャされる。ノード405及び407が、それぞれ、データ(D1)417及びソフトウェア419の葉、並びに公開鍵421及び有効期限423の葉に関連付けられたハッシュ値をキャプチャすることが分かる。
理解されるべきことに、上述されていない他の情報は、ハッシュ値(H2)の基づく追加情報を有して良い。
<データ(D1)、第1ハッシュ値(H1)、及び第2ハッシュ値(H2)を分散ハッシュテーブルへ送信する140>
方法100は、通信ネットワーク5を介して、データ(D1)、第1ハッシュ値(H1)、及び第2ハッシュ値(H2)を、分散ハッシュテーブル13のエントリへ送信するステップ140を更に含む。
一例では、第2ハッシュ値(H2)はキー値ペアのキーであって良く、データ(D1)及び第1ハッシュ値(H1)はキー値ペアの中の値であって良い。
更なる例では、上述のような追加情報は、キー値ペアの中の値の部分であっても良い。これは、限定ではないが、第1ユーザ23若しくは第2ユーザ24の公開鍵、第1ノード3、第2ノード7、第1ユーザ23、若しくは第2ユーザ24に関連付けられた装置の装置識別子、コンピュータソフトウェア若しくはライセンスの位置を示す識別子、又はライセンスに関連付けられた更なる追加情報を含む。
上述のように、DHT13は、キー値ペアにより構成され、各キー値ペアはインデックスに割り当てられる。一例では、第2ハッシュ値(H2)はインデックスを生成するために使用されて良い。ハッシュ関数又は暗号ハッシュ関数が、第2ハッシュ値(H2)に対して実行されて良い。例えば、暗号関数SHA−1が使用されて良い。
Index=SHA−1(H2)
DHT13の中のキー値ペアのキーであるべき第2ハッシュ値(H2)、及びキー値ペアの値であるべき第1ハッシュ値(H1)について、キー及び値は、DHYT13の任意の参加ノードへ送信される。
一例では、put(key,value)のようなメッセージが、DHT13の参加ノードへ送信されて良い。ここで、keyは第2ハッシュ値(H2)であり、valueはデータ(D1)及び第1ハッシュ値(H1)である。メッセージは、鍵空間の区分により示されるインデックスに割り当てられる参加ノードにより受信されるまで、全ての参加ノードのあちこちに送信されて良い。メッセージ内で示されたインデックスに割り当てられた参加ノードは、次に、キー値ペアをDHT13に格納し、キー値ペアに関連付けられたエントリを維持する責任を引き受けて良い。
有利なことに、任意の所与の鍵の値は、DHT13から検索できる。一例では、第1ユーザ23又は第2ユーザ24は、値を検索したいと望む。第1ユーザ23又は第2ユーザ24は、第1ノード3、第2ノード7、又は図示されない別のノードを介して、DHT13の任意の参加ノードに、get(key)のような要求メッセージを提供して良い。要求メッセージは、次に、鍵空間の区分により示されるインデックスに割り当てられる参加ノードにより受信されるまで、全ての参加ノードのあちこちに送信されて良い。
<メタデータ(M)を決定する150>
方法100は、第2ハッシュ値(H2)を有するメタデータ(M)を決定するステップ150を更に含む。メタデータ(M)を決定するステップ150は、ユーザ、ノード、又はデータストアからメタデータ(M)を受信するステップを含んで良い。メタデータ(M)は、例えば、P2P分散台帳(ブロックチェーン)14上のトランザクションのP2SHマルチシグネチャ第1Redeemスクリプト(RS1)の中の公開鍵のために利用可能な15個の場所のうちの1又は複数の含まれて良い。
P2P分散台帳14上のトランザクションの第1Redeemスクリプト(RS1)は、メタデータ(M)に含まれるコンテンツを表すトークン化トランザクション(「発行トークン」)の発行又は生成を表して良い。一例では、トークンは、エージェント(A)により発行されて良い。
ビットコインプロトコルのP2SH方法では、メタデータは、以下に記載する方法を用いてRedeemスクリプトに含められて良い。
<メタデータ>
メタデータ(M)は、P2SHマルチシグネチャRedeemスクリプト(RS1)の中の公開鍵のために利用可能な15個の場所のうちの1又は複数に埋め込まれて良い。例えば、Redeemスクリプト(RS1)は次の形式を取って良い。
<NumSigs Metadata1 Metadata2… PubK1 PubK2… NumKeys OP_CHECKMULTISIG>
ここで、Metadata1及びMetadata2は、それぞれ、Redeemスクリプトの中の公開鍵の場所を取り入れるメタデータを含み、PubK1及びPubK2は公開鍵である。言い換えると、メタデータは、暗号鍵が提供されるべき位置としてブロックチェーンプロトコルにより指定された位置において、Redeemスクリプトの中で提供されて良い。これは、基礎にあるブロックチェーンプロトコルに対するいかなる変更も伴わずに、メタデータがトランザクション(Tx)に組み込まれ得るという利点を提供する。
メタデータ(M)は、第2ハッシュ値(H2)を有して良い。メタデータ(M)は、コンピュータソフトウェア又はライセンスに関連付けられた条件を記述する記述又はキーワードを更に有して良い。例えば、ライセンスの日付、名称、誕生日、住所、連絡先の詳細、又はライセンスに関連付けられたユーザの他の詳細事項である。更なる例では、暗号通貨額に関連付けられた情報が含まれて良い。
メタデータ(M)は、多くの方法で情報を含むことができる。一例では、情報の内容が含まれて良い。更なる例では、情報の暗号ハッシュが含まれて良い。情報のハッシュは、情報の256ビット表現を生成するために、SHA−256アルゴリズムを用いて決定されて良い。理解されるべきことに、SHA(Secure Hash Algorithm)ファミリの中の他のアルゴリズムを含む他のハッシュアルゴリズムが使用されて良い。幾つかの特定の例は、SHA3−224、SHA3−256、SHA3−384、SHA3−512、SHAKE128、SHAKE256を含むSHA−3サブセットの中のインスタンスを含む。他のハッシュアルゴリズムは、RIPEMD(RACE Integrity Primitives Evaluation Message Digest)ファミリの中のアルゴリズムを含んで良い。特定の例は、RIPEMD−160を含んで良い。他のハッシュ関数は、Zemor−Tillichハッシュ関数及びナップサック・ハッシュ関数に基づくファミリを含んで良い。
本開示の更なる実施形態では、上述の1又は複数を含む組み合わせがメタデータ(M)に含まれて良い。メタデータ(M)はブロックチェーンのようなP2P分散台帳14により公開され、又は非セキュアネットワークを介して送信され得るので、メタデータ(M)の特定の詳細事項は、プライバシを理由に秘密にされ又は隠されることが望ましい場合がある。
したがって、本開示の実施形態におけるマルチシグネチャP2SHビットコイントランザクションの使用は、コンピュータソフトウェア及びライセンスに関連付けられた情報の転送及び永久記録を可能にするという利点を提供する。この記録は、トランザクションのアウトプットスクリプト、例えばRedeemスクリプトにメタデータを含めることにより達成される。
<第1Redeemスクリプト>
上述のように、Redeemスクリプトは、ビットコインプロトコルの標準的なP2SH方法におけるアウトプットスクリプトの一例であり、ユーザがどのようにトランザクションレコード内で指定された暗号通貨へのアクセスを得ることができるかを記述する。
本開示では、発行トークンの第1Redeemスクリプト(RS1)はメタデータ(M)に基づいて良い。第1Redeemスクリプト(RS1)は、エージェント秘密鍵(agent private key:VA)との暗号対を形成するエージェント公開鍵(agent public key:PA)を更に有して良い。このように、エージェント秘密鍵(VA)は、トランザクションに関連付けられた暗号通貨を「アンロック(解除)」する又は使用するために必要である。
一例では、発行トークンの第1Redeemスクリプト(RS1)はメタデータ(M)を含んで良い。第1Redeemスクリプト(RS1)は、エージェント公開鍵(PA)を更に含んで良い。本例では、第1Redeemスクリプト(RS1)は次の形式を取って良い。
<OP_1 PA Metadata1 Metadata2 OP_3 OP_CHECKMULTISIG>
ここで、OP_1はトランザクションを解除するために第1Redeemスクリプト(RS1)を満たすために必要な署名の数(「NumSigs」)を示し、OP_3はRedeemスクリプトの中の公開鍵の数(「NumKeys」)を示す。
本例では、第1Redeemスクリプト(RS1)は、メタデータのための2個の指定されたフィールド、Metadata1及びMetadata2を含んで良い。Metadata1及びMetadata2の特定の例は、以下の表1に示される。
[表1]
Figure 2019511854
本例は、Metadata1内にライセンスへのポインタを提供することを含む。これは、ライセンスのサイズがこのような詳細事項をメタデータ(M)に含むことを妨げる場合に有用であり得る。さらに、メタデータ(M)は公表され、非セキュアなネットワークを介して送信され得るので、トークンの特定の詳細事項はプライバシを理由に秘密にされ又は隠されることが望ましい場合がある。
Metadata1の最初の4バイトは、ライセンス種類を示す。例えば、ライセンス種類は、BobSoftwareのようなコンピュータソフトウェアの名称を示して良い。更なる例では、ライセンス種類は、上述のような「単一ユーザ」又は「複数装置」のようなライセンスの権限付与の種類を示して良い。次の16バイトは、実際の電子ライセンスファイルの位置のIPアドレスを保持し、IPv6アドレスを許容する。幾つかの実施形態では、この値は、ライセンスファイルが集中化されるのではなく、クラウドに渡り分散され得るように、Torrentファイルのシードを指して良い。続く12バイトは、ライセンス種類に固有のデータを含む。
Metadata2の最初の20バイトは、ライセンスファイルの実際のコンテンツに適用されるSHA256によるRIPEMD−160を用いる実際のライセンスファイルのハッシュである。実際のライセンスファイルは検索可能であるので、これは、コントラクトに対するトランザクションの検証を可能にする。ライセンスファイル自体は、特定の実施形態の要件に依存して、完全に公表されて良く(暗号化されず、人間により可読である)、又はプライバシを理由に暗号化されて良い。Metadata2の残りの12バイトの内容は、ライセンス種類に依存して使用されて良い。
上述の第1Redeemスクリプト(RS1)の例から分かるように、発行トークンは使用されるためにエージェント(A)により署名されなければならない。発行トークンのトランザクションの一例は、表2に提供される。ここで、簡潔さのためにマイナー料金は示されない。
[表2]
Figure 2019511854
表2の行4〜8は、発行トークンに含まれるべき(つまり「トークン化される」)第1暗号通貨額(C1)である、トランザクションへのインプットを表す。本例では、第1暗号通貨額(C1)は、第1暗号通貨額をエージェント(A)の利益へと転送した前のトランザクション(ID−110)の結果であった。したがって、前のトランザクション(ID−110)のアウトプットスクリプト(RedeemスクリプトID−110)は、エージェントの公開鍵(PA)を含む。したがって、この前のアウトプットを解除するために、スクリプト(RedeemスクリプトID−110)は、第1ユーザの秘密鍵(VA)で署名されなければならない。
表2の行10〜12は、トランザクション(ID−600)の第1アウトプット(のみ)を表す。これは、本例では、生成され、エージェントに転送されて戻される発行トークンを表す。行10は、アウトプット値を示し、第1暗号通貨額(C1)である。行12は、ビットコインプロトコルのP2SH方法で使用されるような「<hash of redeem script>」を含むアウトプットスクリプトを示す。本例では、Redeemスクリプトは、上述のような形式の第1Redeemスクリプト(RS1)である。
表2に示されるトランザクション(ID−600)のアウトプットは、次に、第1データアウトプット(O1)と共に、P2P分散台帳14に記録される。特に、第1データアウトプット(O1)は、トランザクションの中で転送された第1暗号通貨額(C1)の指示を有して良い。第1データアウトプット(O1)は、第1Redeemスクリプト(RS1)のハッシュを更に有して良い。
第1暗号通貨額(C1)の将来のトランザクション、例えば、第1ユーザ23又は第2ユーザ24へのトークンの転送では、第1暗号通貨額(C1)を解除するためのスクリプト(例えば将来のトランザクションのインプットスクリプト署名(ScriptSig))は、以下の形式であって良い。
OP_0 Sig-VA Sig-VU1 <OP_1 PAPU1 Metadata1 Metadata2 OP_4 OP_CHECKMULTISIG>
ここで、Sig−VU1は第1ユーザ23の署名を示す。上述のスクリプトは、第1暗号通貨額(C1)を解除するために、エージェント(A)又は第1ユーザ23からの1つの署名だけが必要であることを想定していることに留意する。
発行トークンは、第2Redeemスクリプト(RS2)により、別のユーザへ転送されて良い。
<変形>
<第2Redeemスクリプト>
コンピュータソフトウェア及びライセンスに関連付けられたトークンは、エージェント(A)から別のユーザ、例えば第1ユーザ23又は第2ユーザ24へ転送されて良い。一例では、トークンの転送はコンピュータソフトウェア又はライセンスのユーザへのアクセスを許可することと同様であって良い。転送は第2Redeemスクリプト(RS2)により実施されて良い。
一例では、エージェント(A)は、第1ユーザ23へ発行トークンを転送したいと望む。第1ユーザ23は、例えばコンピュータソフトウェアのベンダを表して良い。
本例では、第2Redeemスクリプト(RS2)は、メタデータ(M)、エージェント(A)に関連付けられたエージェント公開鍵(PA)、及び第1ユーザ23に関連付けられた第1ユーザ公開鍵(PU1)に基づいて良い。
第2Redeemスクリプト(RS2)は次の形式であって良い。
<OP_1 PA PU1 Metadata1 Metadata2 OP_4 OP_CHECKMULTISIG>
本例では、第2Redeemスクリプト(RS2)は、第1Redeemスクリプト(RS1)と同じ2個のメタデータフィールドを含む。第2Redeemスクリプト(RS2)は、エージェント(A)に関連付けられたエージェント公開鍵(PA)、及び第1ユーザに関連付けられた第1ユーザ公開鍵(PU1)を更に有する。
上述の第2Redeemスクリプト(RS2)の例から分かるように、転送されるトークンは使用されるためにエージェント(A)又は第1ユーザ23により署名されなければならない。発行トークンのこの転送のためのトランザクションの一例は、表3に提供される。ここで、再び簡潔さのためにマイナー料金は示されない。
[表3]
Figure 2019511854
表2と同様に、表3の行4〜8は、トランザクション(ID−610)へのインプットを表す。本例では、インプットは発行トークンであり、つまり、表2に示されるトランザクション(ID−600)のアウトプットである。行7のRedeemスクリプトは発行トークンのRedeemスクリプト、つまり第1Redeemスクリプト(RS1)に対応することが分かる。したがって、トランザクション(ID−600)のアウトプットを解除するために、第1Redeemスクリプト(RS1)は、エージェントの公開鍵(PA)で署名されなければならない。
表3の行10〜12は、トランザクション(ID−610)のアウトプットを表す。これは、本例では、エージェント(A)又は第1ユーザ23(U1)に転送される発行トークンを表す。行10は、アウトプット値を示し、第1暗号通貨額(C1)である。行12は、ビットコインプロトコルのP2SH方法で使用されるような「<hash of redeem script>」を含むアウトプットスクリプトを示す。本例では、Redeemスクリプトは、上述のような形式の第2Redeemスクリプト(RS2)である。
トランザクション(ID−610)のアウトプットは、次に、第2データアウトプット(O2)と共に、P2P分散台帳14に記録される。第2データアウトプット(O2)は、トランザクションの中で転送されるべき第1データアウトプット(O1)からの第1暗号通貨額(C1)の指示を有して良い。第2データアウトプット(O2)は、第2Redeemスクリプト(RS2)のハッシュを更に有して良い。
<コンピュータソフトウェア又はライセンスの位置を示す識別子>
上述のように、データ(D1)又はライセンスは、それぞれコンピュータソフトウェア又はライセンスの位置を示す識別子を有して良い。
一例では、識別子は、データ(D1)又はライセンスに独立に決定され、データ(D1)又はライセンスと別個のままであって良い。識別子は、方法100で上述したように、データ(D1)及び第1ハッシュ値(H1)と一緒にキー値ペアの値に更に割り当てられて良い。このように、識別子は、上述のように、メッセージput(key,value)のvalueフィールドに含まれ、DHT13の参加ノードへ送信されて良い。
一例では、識別子は、インターネット上のオブジェクトのURLを有して良い。別の例では、位置を示す識別子は、ハッシュテーブル又はDHT13のようなレポジトリのアドレスを有して良い。更に別の例では、位置を示す識別子は、第1ノード3の第1処理装置21に関連付けられたデータストア17のような、サーバ、データベース、又はコンピュータに基づくリソースに設けられた記憶設備のようなコンピュータに基づくレポジトリのアドレスを有して良い。
図6は、コンピュータソフトウェア又はライセンスの位置を決定する方法500を示す。方法500は、第1Redeemスクリプト(RS1)からメタデータ(M)を決定するステップ510を含む。上述のように、メタデータ(M)は、第1Redeemスクリプト(RS1)の中の公開鍵のために利用可能な15個の場所のうちの1又は複数に埋め込まれて良い。
ビットコインプロトコルのP2SH方法では、トランザクションのアウトプットが後のトランザクションで使用されるとき、Redeemスクリプトが後のトランザクションの中で見えるようになる。上述のように、表2を参照すると、発行トークンのためのトランザクション(ID−600)は、エージェント(A)に払い戻される。このように、エージェント(A)は、第1Redeemスクリプト(RS1)を公表する(expose)ためにこの発行トークンを使用して良い。第2ハッシュ値(H2)に基づくメタデータ(M)は、したがって、P2P分散台帳14上で可視である。このように、第2ハッシュ値(H2)は、第1Redeemスクリプト(RS1)内のメタデータ(M)から検索できる520。一例では、キー値ペアのキーに関連付けられた値は、要求メッセージget(key)を用いてDHT13から検索できる。
方法500は、通信ネットワーク5を介して、DHT13の参加ノードに関連付けられたプロセッサへ、第2ハッシュ値(H2)を送信するステップ530を更に含む。上述のように、第2ハッシュ値(H2)は、キー値ペアのキーであって良い。さらに上述したように、所与のキーに対する値は、キーを含むメッセージをDHT13の任意の参加ノードに提供することにより検索できる。したがって、識別子がキー値ペアの値フィールドに含まれる例では、方法500は、参加ノードのプロセッサから、コンピュータソフトウェア又はライセンスの位置を示す識別子を決定できる540。
<処理装置>
上述のように、第1ノード3及び第2ノード7は、コンピュータ、電話機、タブレットコンピュータ、モバイル通信装置、コンピュータサーバ、等のような電子装置であって良い。電子装置は、処理装置21、27、データストア17、及びユーザインタフェース15を含んで良い。
図7は、処理装置21、27の一例を示す。処理装置21、27は、第1ノード3、第2ノード7、又は図示しない他のノードにおいて使用されて良い。処理装置21、27は、バス1530を介して互いに通信する、プロセッサ1510、メモリ1520、及びインタフェース装置1540を含む。メモリ1520は、上述の方法100、500を実施するための機械可読命令及びデータを含むコンピュータソフトウェア格納し、プロセッサ1510は、方法100、500を実施するためにメモリ1520からの該命令を実行する。インタフェース装置1540は、通信ネットワーク5、及び幾つかの例ではユーザインタフェース15及びデータストア17のような周辺機器との通信を実現する通信モジュールを含んで良い。留意すべきことに、処理装置1510は独立したネットワーク要素であって良いが、処理装置1510は別のネットワーク要素の部分であっても良い。さらに、処理装置1510により実行される幾つかの機能は、複数のネットワーク要素の間で分散されて良い。例えば、第1ノード3は、第1ノード3に関連付けられたセキュアローカルエリアネットワークにおいて方法100、500を実行するために複数の処理装置21を有して良い。
本開示はユーザ、従業員、発行人、商人、プロバイダ、又は他のエンティティが特定の動作(署名、発行、決定、計算、送信、受信、生成、等を含む)を実行することを記載したが、この用語は提示の明確化のために使用される。理解されるべきことに、これらの動作は、これらのエンティティにより操作されるコンピューティング装置により実行される。
本開示の広範な一般的範囲から逸脱せずに、多数の変形及び/又は変更が上述の実施形態に対して行われることが、当業者により理解される。本発明の実施形態は、したがって、あらゆる面で、単に説明であり限定的でないと考えられる。

Claims (16)

  1. 分散ハッシュテーブル及びピアツーピア分散台帳を用いて被制御デジタルリソースを保証する、コンピュータにより実施される方法であって、前記方法は、
    前記被制御デジタルリソースに関連付けられたデータを決定するステップと、
    前記被制御デジタルリソースの第1ハッシュ値を決定するステップと、
    前記データ及び前記被制御デジタルリソースに基づき、第2ハッシュ値を決定するステップと、
    通信ネットワークを介して、前記データ、前記第1ハッシュ値、及び前記第2ハッシュ値を分散ハッシュテーブル内の記憶のためのエントリに送信するステップであって、前記第2ハッシュ値はキー値ペアのキーであり、前記データ及び前記第1ハッシュ値は前記キー値ペアの値である、ステップと、
    前記ピアツーピア分散台帳に記憶するために、前記第2ハッシュ値を有するメタデータを決定するステップと、
    を含む方法。
  2. 前記被制御デジタルリソースはコンピュータソフトウェアである、請求項1に記載の方法。
  3. 第1Redeemスクリプトを決定するステップ、を更に含み、前記第1Redeemスクリプトは、
    前記メタデータと、
    エージェントに関連付けられたエージェント公開鍵と、
    に基づく、請求項1に記載の方法。
  4. 前記通信ネットワークを介して、
    転送されるべき第1暗号通貨額の指示であって、前記第1暗号通貨額は前記第1Redeemスクリプトに関連付けられる、第1暗号通貨額の指示と、
    前記第1Redeemスクリプトと、
    に基づき、前記ピアツーピア分散台帳に記憶するために、第1データアウトプットを送信するステップ、を更に含む請求項3に記載の方法。
  5. 前記データは、前記被制御デジタルリソースに関連付けられたライセンスを含む、請求項1乃至4のいずれか一項に記載の方法。
  6. 前記ライセンスは、第1ユーザ又は第2ユーザに関連付けられ、前記第1ユーザに関連付けられた第1ユーザ公開鍵又は前記第2ユーザに関連付けられた第2ユーザ公開鍵を更に含む、請求項4又は5に記載の方法。
  7. 前記ライセンスは、前記第1ユーザ又は前記第2ユーザの少なくとも1つの電子装置に関連付けられたハッシュ値を更に含む、請求項4、5、又は6のいずれか一項に記載の方法。
  8. 前記ライセンスは、前記第1ハッシュ値を更に含む、請求項4乃至7のいずれか一項に記載の方法。
  9. 前記ライセンスは、マークル木のトップハッシュ値を含む、請求項4乃至8のいずれか一項に記載の方法。
  10. 第1ユーザに対して被制御デジタルリソースへのアクセスを認可する、コンピュータにより実施される方法であって、前記方法は、
    請求項1に従い被制御デジタルリソースを保証するメタデータを決定するステップと、
    第2Redeemスクリプトを決定するステップであって、前記第2Redeemスクリプトは、
    前記メタデータと、
    前記エージェントに関連付けられた前記エージェント公開鍵と、
    前記第1ユーザに関連付けられた前記第1ユーザ公開鍵と、
    に基づく、ステップと、
    第2通信ネットワークを介して、第2データアウトプットを前記ピアツーピア分散台帳へ送信するステップであって、
    前記第1データアウトプットからの前記第1暗号通貨額が転送されるべきであるという指示と、
    前記第2Redeemスクリプトと、
    に基づく、ステップと、
    を含む方法。
  11. 前記被制御デジタルリソース又は前記ライセンスの位置を示す識別子を決定するステップと、
    前記識別子を前記キー値ペアの中の前記値に割り当てるステップと、
    前記通信ネットワークを介して、前記識別子を前記分散ハッシュテーブルの前記エントリへ送信するステップと、
    を更に含む請求項1乃至10のいずれか一項に記載の方法。
  12. 被制御デジタルリソース又はライセンスの位置を決定する、コンピュータにより実施される方法であって、前記方法は、
    請求項1に記載の方法に従い、被制御デジタルリソースを保証するメタデータを決定するステップと、
    前記被制御デジタルリソース又は前記ライセンスの位置を示す識別子を決定するステップと、
    前記キー値ペアの中の前記値に前記識別子を割り当てるステップと、
    前記通信ネットワークを介して、前記分散ハッシュテーブルの前記エントリに前記識別子を送信するステップと、
    前記第1Redeemスクリプトから前記メタデータを決定するステップと、
    前記メタデータから前記第2ハッシュ値を検索するステップと、
    前記通信ネットワークを介して、前記分散ハッシュテーブルの参加ノードに関連付けられたプロセッサへ、前記第2ハッシュ値を送信するステップと、
    前記参加ノードの前記プロセッサから、前記被制御デジタルリソース又はライセンスの位置を示す前記識別子を決定するステップと、
    を含む方法。
  13. 前記暗号通貨はビットコインである、請求項4又は10に記載の方法。
  14. 前記ピアツーピア分散台帳はブロックチェーン、望ましくはビットコインブロックチェーンである、請求項1乃至13のいずれか一項に記載の方法。
  15. コンピュータソフトウェアプログラムであって、処理装置に請求項1乃至14のいずれか一項に記載の方法を実施させる機械可読命令を含むコンピュータソフトウェアプログラム。
  16. 被制御デジタルリソースを保証するコンピュータシステムであって、前記システムは、ノードに関連付けられた処理装置を含み、
    前記被制御デジタルリソースに関連付けられたデータを決定し、
    前記被制御デジタルリソースの第1ハッシュ値を決定し、
    前記データ及び前記被制御デジタルリソースに基づき、第2ハッシュ値を決定し、
    通信ネットワークを介して、前記データ、前記第1ハッシュ値、及び前記第2ハッシュ値を分散ハッシュテーブル内の記憶のためのエントリに送信し、前記第2ハッシュ値はキー値ペアのキーであり、前記データ及び前記第1ハッシュ値は前記キー値ペアの値であり、
    前記第2ハッシュ値を有するメタデータを決定する、
    よう構成されるシステム。
JP2018539335A 2016-02-23 2017-02-14 分散ハッシュテーブル及びブロックチェーンを用いてコンピュータソフトウェアを保証する方法及びシステム Active JP6877448B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
GB1603125.4 2016-02-23
GBGB1603125.4A GB201603125D0 (en) 2016-02-23 2016-02-23 Universal tokenisation system for blockchain based cryptocurrencies
GB1607058.3 2016-04-22
GB201607058 2016-04-22
PCT/IB2017/050827 WO2017145009A1 (en) 2016-02-23 2017-02-14 A method and system for securing computer software using a distributed hash table and a blockchain

Publications (2)

Publication Number Publication Date
JP2019511854A true JP2019511854A (ja) 2019-04-25
JP6877448B2 JP6877448B2 (ja) 2021-05-26

Family

ID=58108696

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018539335A Active JP6877448B2 (ja) 2016-02-23 2017-02-14 分散ハッシュテーブル及びブロックチェーンを用いてコンピュータソフトウェアを保証する方法及びシステム

Country Status (17)

Country Link
US (1) US11455378B2 (ja)
EP (1) EP3420514B1 (ja)
JP (1) JP6877448B2 (ja)
KR (1) KR20180114942A (ja)
CN (2) CN109074579B (ja)
AU (1) AU2017222471B2 (ja)
BR (1) BR112018016819A2 (ja)
CA (1) CA3013185A1 (ja)
CL (1) CL2018002366A1 (ja)
GB (1) GB2561465B (ja)
IL (1) IL261214B2 (ja)
MX (1) MX2018010056A (ja)
PH (1) PH12018501742A1 (ja)
SG (2) SG10202007904SA (ja)
TW (1) TWI778953B (ja)
WO (1) WO2017145009A1 (ja)
ZA (1) ZA201805079B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022074771A1 (ja) * 2020-10-07 2022-04-14 日本電信電話株式会社 識別子変更管理装置、識別子変更管理方法及び識別子変更管理プログラム

Families Citing this family (94)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10068228B1 (en) 2013-06-28 2018-09-04 Winklevoss Ip, Llc Systems and methods for storing digital math-based assets using a secure portal
US10354325B1 (en) 2013-06-28 2019-07-16 Winklevoss Ip, Llc Computer-generated graphical user interface
US9892460B1 (en) 2013-06-28 2018-02-13 Winklevoss Ip, Llc Systems, methods, and program products for operating exchange traded products holding digital math-based assets
WO2016128491A1 (en) 2015-02-11 2016-08-18 British Telecommunications Public Limited Company Validating computer resource usage
WO2017021153A1 (en) 2015-07-31 2017-02-09 British Telecommunications Public Limited Company Expendable access control
US10853750B2 (en) 2015-07-31 2020-12-01 British Telecommunications Public Limited Company Controlled resource provisioning in distributed computing environments
WO2017021154A1 (en) 2015-07-31 2017-02-09 British Telecommunications Public Limited Company Access control
US10534913B2 (en) * 2016-03-30 2020-01-14 British Telecommunications Public Limited Company Blockchain state reliability determination
WO2017167544A1 (en) 2016-03-30 2017-10-05 British Telecommunications Public Limited Company Detecting computer security threats
US11159549B2 (en) 2016-03-30 2021-10-26 British Telecommunications Public Limited Company Network traffic threat identification
WO2017167548A1 (en) 2016-03-30 2017-10-05 British Telecommunications Public Limited Company Assured application services
US11153091B2 (en) 2016-03-30 2021-10-19 British Telecommunications Public Limited Company Untrusted code distribution
EP3437007B1 (en) 2016-03-30 2021-04-28 British Telecommunications public limited company Cryptocurrencies malware based detection
CN109074433B (zh) * 2016-05-13 2023-07-21 区块链控股有限公司 使用分布式散列表和点对点分布式分类账验证数字资产完整性的方法和系统
EP3497522B1 (en) * 2016-08-09 2021-04-28 Innogy Innovation GmbH Building automation system
EP3382591B1 (en) 2017-03-30 2020-03-25 British Telecommunications public limited company Hierarchical temporal memory for expendable access control
EP3602380B1 (en) 2017-03-30 2022-02-23 British Telecommunications public limited company Hierarchical temporal memory for access control
WO2018178034A1 (en) 2017-03-30 2018-10-04 British Telecommunications Public Limited Company Anomaly detection for computer systems
US20180285996A1 (en) * 2017-04-03 2018-10-04 FutureLab Consulting Inc. Methods and system for managing intellectual property using a blockchain
US11217332B1 (en) 2017-05-02 2022-01-04 State Farm Mutual Automobile Insurance Company Distributed ledger system for managing medical records
EP3622448A1 (en) 2017-05-08 2020-03-18 British Telecommunications Public Limited Company Adaptation of machine learning algorithms
WO2018206408A1 (en) 2017-05-08 2018-11-15 British Telecommunications Public Limited Company Management of interoperating machine leaning algorithms
WO2018206405A1 (en) 2017-05-08 2018-11-15 British Telecommunications Public Limited Company Interoperation of machine learning algorithms
US20190261433A1 (en) * 2017-06-22 2019-08-22 William Jason Turner Software architecture for iot device collector
WO2019000087A1 (en) * 2017-06-28 2019-01-03 Kitaru Innovations Inc. METHOD OF OPERATING AND USING A CRYPTOMONIA
US11068606B2 (en) * 2017-09-20 2021-07-20 Citrix Systems, Inc. Secured encrypted shared cloud storage
EP3692489A4 (en) * 2017-10-04 2021-10-20 Jintai Ding QUANTUM SOLID BLOCKCHAIN
KR20200086284A (ko) * 2017-11-09 2020-07-16 엔체인 홀딩스 리미티드 최적화된 확인 가능한 계산을 위해 실행 가능한 명령어를 단순화하기 위한 시스템
JP7208990B2 (ja) * 2017-11-09 2023-01-19 エヌチェーン ライセンシング アーゲー メディエータコンピュータシステムを使用してコンピュータプログラムの正しい実行を確保するシステム及び方法
EP3710974B1 (en) * 2017-11-17 2023-07-26 Telefonaktiebolaget LM Ericsson (publ) Method and arrangement for detecting digital content tampering
US10686586B2 (en) 2017-12-22 2020-06-16 Intuit, Inc. Re-encrypting data on a hash chain
US10756902B2 (en) * 2017-12-28 2020-08-25 Dish Network L.L.C. System and method using distributed blockchain database
US11308487B1 (en) 2018-02-12 2022-04-19 Gemini Ip, Llc System, method and program product for obtaining digital assets
US11200569B1 (en) 2018-02-12 2021-12-14 Winklevoss Ip, Llc System, method and program product for making payments using fiat-backed digital assets
US11909860B1 (en) 2018-02-12 2024-02-20 Gemini Ip, Llc Systems, methods, and program products for loaning digital assets and for depositing, holding and/or distributing collateral as a token in the form of digital assets on an underlying blockchain
US10540654B1 (en) 2018-02-12 2020-01-21 Winklevoss Ip, Llc System, method and program product for generating and utilizing stable value digital assets
US10438290B1 (en) 2018-03-05 2019-10-08 Winklevoss Ip, Llc System, method and program product for generating and utilizing stable value digital assets
US10373129B1 (en) 2018-03-05 2019-08-06 Winklevoss Ip, Llc System, method and program product for generating and utilizing stable value digital assets
US11475442B1 (en) 2018-02-12 2022-10-18 Gemini Ip, Llc System, method and program product for modifying a supply of stable value digital asset tokens
US10373158B1 (en) 2018-02-12 2019-08-06 Winklevoss Ip, Llc System, method and program product for modifying a supply of stable value digital asset tokens
CN108492180B (zh) 2018-02-14 2020-11-24 创新先进技术有限公司 资产管理方法及装置、电子设备
CN108416675A (zh) 2018-02-14 2018-08-17 阿里巴巴集团控股有限公司 资产管理方法及装置、电子设备
CN108389118B (zh) 2018-02-14 2020-05-29 阿里巴巴集团控股有限公司 资产管理系统、方法及装置、电子设备
CN108335207B (zh) 2018-02-14 2020-08-04 阿里巴巴集团控股有限公司 资产管理方法及装置、电子设备
CN108335206B (zh) 2018-02-14 2020-12-22 创新先进技术有限公司 资产管理方法及装置、电子设备
US10250381B1 (en) 2018-02-22 2019-04-02 Capital One Services, Llc Content validation using blockchain
CN108280765A (zh) * 2018-02-26 2018-07-13 深圳智乾区块链科技有限公司 区块链的价值管理方法、装置及计算机可读存储介质
EP3534287A1 (en) * 2018-02-28 2019-09-04 Siemens Healthcare GmbH Inserting a further data block into a first ledger
US11295402B2 (en) * 2018-03-28 2022-04-05 Bank Of America Corporation Blockchain-based property repair
SG11202009660SA (en) * 2018-03-29 2020-10-29 Agency Science Tech & Res Methods of distributing software across a network and distribution systems
CN108595538B (zh) * 2018-04-04 2020-05-01 中国地质大学(武汉) 一种基于区块链的键值数据组织方法及系统
US11030217B2 (en) 2018-05-01 2021-06-08 International Business Machines Corporation Blockchain implementing cross-chain transactions
US11194837B2 (en) 2018-05-01 2021-12-07 International Business Machines Corporation Blockchain implementing cross-chain transactions
TWI685767B (zh) * 2018-06-07 2020-02-21 艾維克科技股份有限公司 去中心化的軟體資訊建立系統及其方式
CN109003078B (zh) 2018-06-27 2021-08-24 创新先进技术有限公司 基于区块链的智能合约调用方法及装置、电子设备
CN113095822A (zh) 2018-06-27 2021-07-09 创新先进技术有限公司 基于区块链的智能合约调用方法及装置、电子设备
GB201811263D0 (en) * 2018-07-10 2018-08-29 Netmaster Solutions Ltd A method and system for managing digital using a blockchain
GB201811672D0 (en) * 2018-07-17 2018-08-29 Nchain Holdings Ltd Computer-implemented system and method
US10951395B2 (en) * 2018-08-20 2021-03-16 Fujitsu Limited Data fetching in data exchange networks
US10885276B2 (en) * 2018-08-22 2021-01-05 International Business Machines Corporation Document clearance using blockchain
US20210374214A1 (en) * 2018-08-22 2021-12-02 nChain Holdings Limited Method and system for securing computer software using a distributed hash table and a blockchain
US10778603B2 (en) * 2018-10-11 2020-09-15 Citrix Systems, Inc. Systems and methods for controlling access to broker resources
CN111833189A (zh) * 2018-10-26 2020-10-27 创新先进技术有限公司 数据处理方法及装置
KR102042361B1 (ko) 2018-10-26 2019-11-07 에이치닥 테크놀로지 아게 블록체인 연동 및 신호 중계를 위한 장치, 시스템, 방법
BR112019008154A2 (pt) * 2018-11-07 2019-09-10 Alibaba Group Holding Ltd método implementado por computador, meio de armazenamento legível por computador e sistema
AU2018348320B2 (en) * 2018-11-16 2020-01-16 Advanced New Technologies Co., Ltd. A domain name scheme for cross-chain interactions in blockchain systems
JP6699861B2 (ja) * 2018-11-16 2020-05-27 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited ブロックチェーンシステム内でドメイン名方式を使用するクロスチェーン相互作用
PL3549324T3 (pl) 2018-11-16 2021-07-19 Advanced New Technologies Co., Ltd. Schemat zarządzania nazwą domeny dla interakcji międzyłańcuchowych w systemach łańcuchów bloków
CN110352445B (zh) * 2018-11-27 2023-08-22 创新先进技术有限公司 使用智能合约执行多方交易
KR102258440B1 (ko) * 2018-12-13 2021-06-02 어드밴스드 뉴 테크놀로지스 씨오., 엘티디. 블록체인 네트워크에서의 데이터 격리
CN110032568B (zh) * 2018-12-20 2020-05-12 阿里巴巴集团控股有限公司 数据结构的读取及更新方法、装置、电子设备
CN109525678B (zh) * 2018-12-25 2022-09-27 众安信息技术服务有限公司 区块链网络系统以及相应的节点设备发现方法
US11397814B2 (en) * 2019-03-25 2022-07-26 Micron Technology, Inc. Local ledger block chain for secure electronic control unit updates
CN110009498A (zh) 2019-03-29 2019-07-12 阿里巴巴集团控股有限公司 基于区块链的资源分配方法和装置
TWI695293B (zh) * 2019-03-29 2020-06-01 天逸財金科技服務股份有限公司 具有保護數位簽章機制的方法及系統與伺服器
TWI706662B (zh) 2019-04-24 2020-10-01 國際信任機器股份有限公司 用於鏈接資料的方法與裝置
TWI708154B (zh) * 2019-04-24 2020-10-21 國際信任機器股份有限公司 適用於區塊鏈與鏈下間協作的驗證系統與方法
CN110473096A (zh) * 2019-07-31 2019-11-19 阿里巴巴集团控股有限公司 基于智能合约的数据授权方法及装置
US11252166B2 (en) 2019-07-31 2022-02-15 Advanced New Technologies Co., Ltd. Providing data authorization based on blockchain
US11251963B2 (en) 2019-07-31 2022-02-15 Advanced New Technologies Co., Ltd. Blockchain-based data authorization method and apparatus
US11057189B2 (en) 2019-07-31 2021-07-06 Advanced New Technologies Co., Ltd. Providing data authorization based on blockchain
US11436032B2 (en) 2019-09-10 2022-09-06 Red Hat, Inc. Blockchain-based container image registry
EP3695328A4 (en) * 2019-09-12 2020-12-09 Alibaba Group Holding Limited NEWSPAPER STRUCTURE STORAGE SYSTEMS
US20210081935A1 (en) * 2019-09-13 2021-03-18 MobileCoin System and method for providing privacy-preserving proofs of membership
TWI707573B (zh) * 2019-11-14 2020-10-11 財團法人資訊工業策進會 資料上鏈裝置、資料驗證裝置及資料驗證方法
US11288052B2 (en) 2019-11-21 2022-03-29 General Electric Company Devices, systems, and methods for providing on-demand engine software using a distributed ledger
US10708042B1 (en) * 2019-12-02 2020-07-07 Yield Solutions Group, LLC Computer-based systems including blockchains with differential permissioning and vaulting of tokens and token exchanges and methods of use thereof
US11310051B2 (en) 2020-01-15 2022-04-19 Advanced New Technologies Co., Ltd. Blockchain-based data authorization method and apparatus
CN114626025A (zh) * 2020-12-09 2022-06-14 台达电子工业股份有限公司 于离线环境下使用的软件授权验证方法
US11663180B2 (en) * 2021-01-01 2023-05-30 Bank Of America Corporation Trusted control automation platform
US11816475B2 (en) 2021-07-09 2023-11-14 Micro Focus Llc Installation and authentication of applications using blockchain
CN113726764B (zh) * 2021-08-27 2023-03-24 杭州溪塔科技有限公司 一种隐私数据传输方法及装置
WO2023055582A1 (en) * 2021-09-30 2023-04-06 Visa International Service Association Round optimal oblivious transfers from isogenies
CN114186115B (zh) * 2021-11-24 2022-09-06 北京大学 一种物理拓扑敏感的人机物数字对象搜索方法与系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006236349A (ja) * 2005-02-22 2006-09-07 Microsoft Corp ピアツーピアネットワーク情報
US20120284794A1 (en) * 2011-05-02 2012-11-08 Architecture Technology Corporation Peer integrity checking system
JP2013037705A (ja) * 2006-06-07 2013-02-21 Ricoh Co Ltd 機器、ライセンス管理システム、ライセンス管理方法、及びライセンス管理プログラム

Family Cites Families (289)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5858506B2 (ja) 1981-01-26 1983-12-26 タキロン株式会社 雨樋部材
ATE187588T1 (de) 1993-08-17 1999-12-15 R3 Security Engineering Ag Verfahren zur digitalen unterschrift und verfahren zur schlüsselübereinkunft
EP0804758B1 (en) 1994-07-29 2005-11-09 Certicom Corp. Elliptic curve encryption systems
EP1555591B1 (en) 1995-02-13 2013-08-14 Intertrust Technologies Corp. Secure transaction management
US6785813B1 (en) 1997-11-07 2004-08-31 Certicom Corp. Key agreement and transport protocol with implicit signatures
AU5266596A (en) 1995-04-21 1996-11-07 Certicom Corp. Method for signature and session key generation
US5761305A (en) 1995-04-21 1998-06-02 Certicom Corporation Key agreement and transport protocol with implicit signatures
CA2176972C (en) 1995-05-17 2008-11-25 Scott A. Vanstone Key agreement and transport protocol with implicit signatures
GB9510035D0 (en) 1995-05-18 1995-08-02 Cryptech Systems Inc Strengthened public key protocols
KR19990022451A (ko) 1995-06-05 1999-03-25 피터 씨. 프레운드 다단계 디지털 서명 방법 및 시스템
US5999626A (en) 1996-04-16 1999-12-07 Certicom Corp. Digital signatures on a smartcard
US6078667A (en) 1996-10-10 2000-06-20 Certicom Corp. Generating unique and unpredictable values
US20010050990A1 (en) 1997-02-19 2001-12-13 Frank Wells Sudia Method for initiating a stream-oriented encrypted communication
JP3656688B2 (ja) 1997-03-31 2005-06-08 栄司 岡本 暗号データ回復方法及び鍵登録システム
US6061449A (en) 1997-10-10 2000-05-09 General Instrument Corporation Secure processor with external memory using block chaining and block re-ordering
JPH11239124A (ja) 1998-02-23 1999-08-31 Nippon Telegr & Teleph Corp <Ntt> 秘密鍵回復方法および装置
CA2235359C (en) 1998-03-23 2012-04-10 Certicom Corp. Implicit certificate scheme with ca chaining
JPH11289324A (ja) 1998-04-03 1999-10-19 Matsushita Electric Ind Co Ltd 送受信装置および送受信方法
JP3796993B2 (ja) 1998-12-22 2006-07-12 株式会社日立製作所 楕円曲線暗号実行方法及び装置並びに記録媒体
US6490352B1 (en) 1999-03-05 2002-12-03 Richard Schroeppel Cryptographic elliptic curve apparatus and method
US7095851B1 (en) 1999-03-11 2006-08-22 Tecsec, Inc. Voice and data encryption method using a cryptographic key split combiner
US20020194081A1 (en) 1999-04-21 2002-12-19 Perkowski Thomas J. Internet-based consumer service brand marketing communication system which enables service-providers, retailers, and their respective agents and consumers to carry out service-related functions along the demand side of the retail chain in an integrated manner
US7006633B1 (en) 1999-07-16 2006-02-28 Global Encryption Standard Corporation Global encryption system
US7391865B2 (en) 1999-09-20 2008-06-24 Security First Corporation Secure data parser method and system
US6662299B1 (en) 1999-10-28 2003-12-09 Pgp Corporation Method and apparatus for reconstituting an encryption key based on multiple user responses
JP2001195479A (ja) 2000-01-07 2001-07-19 Sony Corp 独自通貨管理方法及び独自通貨管理システム、独自通貨と既存通貨間の為替レート算出方法及び為替レート算出システム、既存通貨の重み決定方法及び重み決定システム、プログラム記憶媒体、並びに、データ処理システム
CA2304433A1 (en) 2000-04-05 2001-10-05 Cloakware Corporation General purpose access recovery scheme
US20050071283A1 (en) 2000-05-25 2005-03-31 Randle William M. Quality assured secure and coordinated transmission of separate image and data records representing a transaction
US6669564B1 (en) 2000-06-27 2003-12-30 Electronic Arts Inc. Episodic delivery of content
JP2002026895A (ja) 2000-07-12 2002-01-25 Hagiwara Sys-Com:Kk 携帯端末用プリンタおよびプリントコンテンツ配信システム
US7257844B2 (en) 2001-07-31 2007-08-14 Marvell International Ltd. System and method for enhanced piracy protection in a wireless personal communication device
EP2429116B1 (en) 2001-08-13 2013-07-10 The Board of Trustees of the Leland Stanford Junior University Method for identity-based encryption and related crytographic techniques
US7187772B2 (en) 2001-08-31 2007-03-06 Hewlett-Packard Development Company, L.P. Anonymous transactions based on distributed processing
US20030046210A1 (en) 2001-08-31 2003-03-06 Vora Poorvi L. Anonymous acquisition of digital products based on secret splitting
US20030188153A1 (en) 2002-04-02 2003-10-02 Demoff Jeff S. System and method for mirroring data using a server
US7725730B2 (en) 2002-08-09 2010-05-25 Emc Corporation Cryptographic methods and apparatus for secure authentication
FR2850479B1 (fr) 2003-01-24 2005-04-29 France Telecom Procede cryptographique a cle publique pour la protection d'une puce contre la fraude
DE10315756A1 (de) 2003-04-04 2004-11-11 Technische Universität Darmstadt Ein dezentrales, token-basiertes Accountingsystem für verteilte, autonome Systeme
US7499544B2 (en) 2003-11-03 2009-03-03 Microsoft Corporation Use of isogenies for design of cryptosystems
US8139770B2 (en) 2003-12-23 2012-03-20 Wells Fargo Bank, N.A. Cryptographic key backup and escrow system
US8050409B2 (en) 2004-04-02 2011-11-01 University Of Cincinnati Threshold and identity-based key management and authentication for wireless ad hoc networks
KR20060132026A (ko) 2004-04-02 2006-12-20 리서치 인 모션 리미티드 무선 휴대용 장치들의 배치와 규약
CA2564909C (en) 2004-04-30 2011-06-28 Research In Motion Limited Systems and methods to securely generate shared keys
US7869593B2 (en) 2005-01-07 2011-01-11 First Data Corporation Software for providing based on shared knowledge public keys having same private key
US20060156013A1 (en) 2005-01-07 2006-07-13 Beeson Curtis L Digital signature software using ephemeral private key and system
US7593527B2 (en) 2005-01-07 2009-09-22 First Data Corporation Providing digital signature and public key based on shared knowledge
US20060161485A1 (en) 2005-01-18 2006-07-20 Meldahl Robert A Financial analysis tree software engine
US7747865B2 (en) 2005-02-10 2010-06-29 International Business Machines Corporation Method and structure for challenge-response signatures and high-performance secure Diffie-Hellman protocols
JP2006293764A (ja) 2005-04-12 2006-10-26 Pioneer Electronic Corp 情報処理装置、そのシステム、その方法、そのプログラム、および、そのプログラムを記録した記録媒体
US7657459B2 (en) 2005-04-27 2010-02-02 Apple Inc. Techniques for acquiring a media season of digital media assets
US7940927B2 (en) 2005-04-27 2011-05-10 Panasonic Corporation Information security device and elliptic curve operating device
US7649999B2 (en) 2005-06-08 2010-01-19 Iris Anshel Method and apparatus for establishing a key agreement protocol
US8190895B2 (en) 2005-08-18 2012-05-29 Microsoft Corporation Authenticated key exchange with derived ephemeral keys
US8989390B2 (en) 2005-12-12 2015-03-24 Qualcomm Incorporated Certify and split system and method for replacing cryptographic keys
US8180047B2 (en) 2006-01-13 2012-05-15 Microsoft Corporation Trapdoor pairings
US20140129844A1 (en) 2006-01-26 2014-05-08 Unisys Corporation Storage security using cryptographic splitting
US8201233B2 (en) 2006-02-06 2012-06-12 Cisco Technology, Inc. Secure extended authentication bypass
KR100706816B1 (ko) 2006-03-10 2007-04-12 삼성전자주식회사 프로그램 속도를 향상시킬 수 있는 불휘발성 메모리 장치및 그것의 프로그램 방법
GB2436668B (en) 2006-03-28 2011-03-16 Identum Ltd Electronic data communication system
US8447038B2 (en) 2006-03-31 2013-05-21 International Business Machines Corporation Method and systems using identifier tags and authenticity certificates for detecting counterfeited or stolen brand objects
US7860825B2 (en) 2006-05-08 2010-12-28 Palm, Inc. Method for synchronizing software application and user data for asynchronous client-server and peer to peer computer networks
US8775319B2 (en) 2006-05-15 2014-07-08 The Directv Group, Inc. Secure content transfer systems and methods to operate the same
US20070269040A1 (en) 2006-05-16 2007-11-22 Microsoft Corporation Cryptographic Protocol for Commonly Controlled Devices
CA2662166A1 (en) 2006-09-06 2008-03-13 Sslnext, Inc. Method and system for establishing real-time authenticated and secured communications channels in a public network
JP4881119B2 (ja) 2006-09-29 2012-02-22 株式会社東芝 ユーザ認証方法、ユーザ側認証装置、および、プログラム
US7860246B2 (en) 2006-11-01 2010-12-28 International Business Machines Corporation System and method for protecting data in a secure system
EP2100404B1 (en) 2006-11-07 2016-01-27 Security First Corp. Systems and methods for distributing and securing data
WO2008066671A2 (en) 2006-11-08 2008-06-05 Voltage Security, Inc. Indentity-based-encryption extensions formed using multiple instances of an identity based encryption scheme
EP2082524B1 (en) 2006-11-15 2013-08-07 Certicom Corp. Implicit certificate verification
GB2446199A (en) 2006-12-01 2008-08-06 David Irvine Secure, decentralised and anonymous peer-to-peer network
JP2008146601A (ja) 2006-12-13 2008-06-26 Canon Inc 情報処理装置及び情報処理方法
US20080144836A1 (en) 2006-12-13 2008-06-19 Barry Sanders Distributed encryption authentication methods and systems
US8416463B2 (en) * 2007-03-23 2013-04-09 Anoto Ab Printing of a position-coding pattern
WO2008137939A2 (en) 2007-05-07 2008-11-13 Archivas, Inc. Method for data privacy in a fixed content distributed data storage
US8478988B2 (en) 2007-05-15 2013-07-02 At&T Intellectual Property I, L.P. System and method for authentication of a communication device
US8073139B2 (en) 2007-07-17 2011-12-06 Certicom Corp. Method of compressing a cryptographic value
US8160966B2 (en) 2007-08-17 2012-04-17 King Fahd University Of Petroleum And Minerals Token based new digital cash protocols
JP4897645B2 (ja) 2007-10-25 2012-03-14 日本電信電話株式会社 暗号化メッセージ送受信方法、送信者装置、受信者装置、暗号化メッセージ送受信システム及びプログラム
US8266430B1 (en) 2007-11-29 2012-09-11 Emc Corporation Selective shredding in a deduplication system
US8452017B2 (en) 2007-12-21 2013-05-28 Research In Motion Limited Methods and systems for secure channel initialization transaction security based on a low entropy shared secret
JP5063777B2 (ja) 2008-03-10 2012-10-31 三菱電機株式会社 秘密情報管理装置及び情報処理装置及び秘密情報管理システム
US8855318B1 (en) 2008-04-02 2014-10-07 Cisco Technology, Inc. Master key generation and distribution for storage area network devices
US8583781B2 (en) 2009-01-28 2013-11-12 Headwater Partners I Llc Simplified service network architecture
US8170216B2 (en) 2008-06-18 2012-05-01 Apple Inc. Techniques for validating and sharing secrets
US10007893B2 (en) 2008-06-30 2018-06-26 Blog Band, Llc Methods for online collaboration
US8302204B2 (en) 2008-07-30 2012-10-30 Sap Ag Secure distributed item-level discovery service using secret sharing
US8520854B2 (en) 2008-08-28 2013-08-27 Red Hat, Inc. Sharing a secret using polynomials over polynomials
US8675877B2 (en) 2008-08-29 2014-03-18 Red Hat, Inc. Sharing a secret via linear interpolation
CN102144371B (zh) 2008-09-10 2015-06-03 Lg电子株式会社 选择性地加密控制信号的方法
US8166481B2 (en) 2008-10-20 2012-04-24 Microsoft Corporation Transaction processing in transactional memory
US20100150341A1 (en) 2008-12-17 2010-06-17 David Dodgson Storage security using cryptographic splitting
US8151333B2 (en) 2008-11-24 2012-04-03 Microsoft Corporation Distributed single sign on technologies including privacy protection and proactive updating
US20100131752A1 (en) 2008-11-26 2010-05-27 Ulrich Flegel Method and system for invalidation of cryptographic shares in computer systems
CN101447980B (zh) 2008-12-25 2012-04-11 中国电子科技集团公司第五十四研究所 抗碰撞的统一用户标识公私钥对映射方法
US20100172501A1 (en) 2009-01-06 2010-07-08 Tian Weicheng Secure key system
US20100199095A1 (en) 2009-01-30 2010-08-05 Texas Instruments Inc. Password-Authenticated Association Based on Public Key Scrambling
US8713329B2 (en) 2009-02-26 2014-04-29 Red Hat, Inc. Authenticated secret sharing
US9037844B2 (en) 2009-02-27 2015-05-19 Itron, Inc. System and method for securely communicating with electronic meters
US8520855B1 (en) 2009-03-05 2013-08-27 University Of Washington Encapsulation and decapsulation for data disintegration
JP2010219912A (ja) 2009-03-17 2010-09-30 Nec Access Technica Ltd 暗号鍵生成方法、ネットワークシステム及びプログラム
CN101616410B (zh) 2009-06-25 2011-08-10 中兴通讯股份有限公司 一种蜂窝移动通信网络的接入方法和系统
ES2390796T3 (es) 2009-07-27 2012-11-16 Nagravision S.A. Método de implementación de un procesador para garantizar la integridad de un software
JP2011082662A (ja) 2009-10-05 2011-04-21 Mitsubishi Electric Corp 通信装置及び情報処理方法及びプログラム
US20150310497A1 (en) 2009-12-17 2015-10-29 David Valin Method and process for registration, creation and management of micro shares of real or intangible properties and advertisements in a network system
EP2348446B1 (en) 2009-12-18 2015-04-15 CompuGroup Medical AG A computer implemented method for authenticating a user
US20130051552A1 (en) 2010-01-20 2013-02-28 Héléna Handschuh Device and method for obtaining a cryptographic key
US8332651B2 (en) 2010-02-18 2012-12-11 King Fahd University Of Petroleum And Minerals Method of generating a password protocol using elliptic polynomial cryptography
DE102010002241B4 (de) 2010-02-23 2012-03-22 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zur effizienten einseitigen Authentifizierung
JP4905575B2 (ja) 2010-03-30 2012-03-28 日本電気株式会社 情報処理システム、情報処理方法、複製元情報処理装置、複製先情報処理装置、及び、プログラム
US9443097B2 (en) 2010-03-31 2016-09-13 Security First Corp. Systems and methods for securing data in motion
WO2011127312A1 (en) 2010-04-07 2011-10-13 Apple Inc. Real-time or near real-time streaming
US8429408B2 (en) 2010-06-11 2013-04-23 Certicom Corp. Masking the output of random number generators in key generation protocols
US8782227B2 (en) 2010-06-22 2014-07-15 Cleversafe, Inc. Identifying and correcting an undesired condition of a dispersed storage network access request
CA2798951C (en) 2010-07-08 2016-05-10 Certicom Corp. System and method for performing device authentication using key agreement
US8644515B2 (en) 2010-08-11 2014-02-04 Texas Instruments Incorporated Display authenticated security association
EP2606604A1 (en) 2010-08-17 2013-06-26 Hewlett-Packard Development Company, L.P. Encryption key management
JP5842819B2 (ja) 2010-09-22 2016-01-13 三菱瓦斯化学株式会社 ピロロキノリンキノンのカルシウム塩
WO2012054785A1 (en) 2010-10-20 2012-04-26 Playspan Inc. Latency payment settlement apparatuses, methods and systems
CN103329184B (zh) 2011-01-13 2016-02-03 三菱电机株式会社 数据处理装置以及数据保管装置
US8806609B2 (en) 2011-03-08 2014-08-12 Cisco Technology, Inc. Security for remote access VPN
US8538029B2 (en) 2011-03-24 2013-09-17 Hewlett-Packard Development Company, L.P. Encryption key fragment distribution
US9219604B2 (en) 2011-05-09 2015-12-22 Cleversafe, Inc. Generating an encrypted message for storage
CA2780879C (en) 2011-06-21 2019-02-12 Research In Motion Limited Provisioning a shared secret to a portable electronic device and to a service entity
EP2582085A1 (en) 2011-10-10 2013-04-17 Certicom Corp. Generating implicit certificates
US8769310B2 (en) 2011-10-21 2014-07-01 International Business Machines Corporation Encrypting data objects to back-up
RU2494453C2 (ru) * 2011-11-24 2013-09-27 Закрытое акционерное общество "Лаборатория Касперского" Способ распределенного выполнения задач компьютерной безопасности
US10949815B2 (en) 2011-12-13 2021-03-16 Visa International Service Association Integrated mobile trusted service manager
US9065637B2 (en) 2012-01-25 2015-06-23 CertiVox Ltd. System and method for securing private keys issued from distributed private key generator (D-PKG) nodes
US11042870B2 (en) 2012-04-04 2021-06-22 Blackhawk Network, Inc. System and method for using intelligent codes to add a stored-value card to an electronic wallet
US8918651B2 (en) 2012-05-14 2014-12-23 International Business Machines Corporation Cryptographic erasure of selected encrypted data
FR2992509B1 (fr) 2012-06-21 2017-05-26 Commissariat Energie Atomique Dispositif et procede pour generer une cle de session
US9563891B2 (en) 2012-07-09 2017-02-07 Google Inc. Systems, methods, and computer program products for integrating third party services with a mobile wallet
US20150379510A1 (en) 2012-07-10 2015-12-31 Stanley Benjamin Smith Method and system to use a block chain infrastructure and Smart Contracts to monetize data transactions involving changes to data included into a data supply chain.
US9129536B2 (en) 2012-08-31 2015-09-08 Freescale Semiconductor, Inc. Circuit for secure provisioning in an untrusted environment
US9582671B2 (en) 2014-03-06 2017-02-28 Sensity Systems Inc. Security and data privacy for lighting sensory networks
US20140082358A1 (en) 2012-09-17 2014-03-20 General Instrument Corporation Efficient key generator for distribution of sensitive material from mulitple application service providers to a secure element such as a universal integrated circuit card (uicc)
JP2014068140A (ja) 2012-09-25 2014-04-17 Sony Corp 情報処理装置、情報処理方法及びプログラム
SG11201503553YA (en) 2012-11-09 2015-06-29 Ent Technologies Inc Entity network translation (ent)
US9876775B2 (en) 2012-11-09 2018-01-23 Ent Technologies, Inc. Generalized entity network translation (GENT)
KR102024531B1 (ko) 2012-12-14 2019-09-25 한국전자통신연구원 송신 메시지 연결성을 제공하는 익명 인증 및 키 합의 장치 및 방법
WO2014108835A2 (en) 2013-01-08 2014-07-17 Bar-Ilan University A method for providing security using secure computation
KR20140099126A (ko) 2013-02-01 2014-08-11 삼성전자주식회사 소프트웨어를 보안하기 위하여 해시 함수를 이용한 소프트웨어 처리 방법, 그 장치 및 그 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체
EP2984781A4 (en) 2013-04-10 2016-12-21 Lynxguard Ltd SECURE BACKUP AND RECOVERY SYSTEM FOR PRIVATE SENSITIVE DATA
WO2014201059A1 (en) 2013-06-10 2014-12-18 Certimix, Llc Secure storing and offline transfering of digitally transferable assets
US10068228B1 (en) 2013-06-28 2018-09-04 Winklevoss Ip, Llc Systems and methods for storing digital math-based assets using a secure portal
CN103440209B (zh) 2013-07-19 2016-08-17 记忆科技(深圳)有限公司 一种固态硬盘数据加解密方法及固态硬盘系统
US9519925B2 (en) 2013-08-01 2016-12-13 Omnibazaar, Inc. Decentralized internet shopping marketplaces
US9594698B2 (en) 2013-08-13 2017-03-14 Dell Products, Lp Local keying for self-encrypting drives (SED)
US20160203572A1 (en) 2013-08-21 2016-07-14 Ascribe Gmbh Method to securely establish, affirm, and transfer ownership of artworks
US11423370B2 (en) 2013-09-04 2022-08-23 Raise Marketplace, Llc Systems and methods for transferring value to and managing user selected accounts
US9350550B2 (en) 2013-09-10 2016-05-24 M2M And Iot Technologies, Llc Power management and security for wireless modules in “machine-to-machine” communications
US9124430B2 (en) 2013-09-23 2015-09-01 Venafi, Inc. Centralized policy management for security keys
US9595034B2 (en) 2013-10-25 2017-03-14 Stellenbosch University System and method for monitoring third party access to a restricted item
US9497185B2 (en) 2013-12-30 2016-11-15 Google Inc. Systems, methods, and computer program products for providing application validation
US20150206106A1 (en) 2014-01-13 2015-07-23 Yaron Edan Yago Method for creating, issuing and redeeming payment assured contracts based on mathemematically and objectively verifiable criteria
JP6009698B2 (ja) 2014-01-17 2016-10-19 日本電信電話株式会社 秘密計算方法、秘密計算システム、ランダム置換装置及びプログラム
US10726098B2 (en) 2014-01-23 2020-07-28 Dror Samuel Brama Method, system and program product for transferring genetic and health data
US20150213433A1 (en) 2014-01-28 2015-07-30 Apple Inc. Secure provisioning of credentials on an electronic device using elliptic curve cryptography
CN105993043B (zh) 2014-02-18 2019-08-16 日本电信电话株式会社 安全装置、其方法以及计算机可读取的记录介质
CN103825733A (zh) 2014-02-28 2014-05-28 华为技术有限公司 基于组合公钥密码体制的通信方法、装置及系统
CN104901931B (zh) 2014-03-05 2018-10-12 财团法人工业技术研究院 证书管理方法与装置
FR3018379A1 (fr) 2014-03-07 2015-09-11 Enrico Maim Systeme et procedes transactionnels a architecture repartie fondes sur des transactions de transfert d'unites de compte entre adresses
FR3018370A1 (fr) 2014-03-07 2015-09-11 Enrico Maim Procede et systeme de generation automatique de crypto-monnaies
FR3018377A1 (fr) 2014-03-07 2015-09-11 Enrico Maim Systeme et procede transactionnels a architecture repartie fondes sur des transactions de transfert d'unites de compte entre adresses
FR3018378A1 (fr) 2014-03-12 2015-09-11 Enrico Maim Systeme et procede transactionnels a architecture repartie fondees sur des transactions de transferts d'unites de compte entre adresses
US20170178237A1 (en) 2014-03-11 2017-06-22 Dragonfly Fintech Pte Ltd Computer implemented frameworks and methods configured to create and manage a virtual currency
WO2015142765A1 (en) 2014-03-17 2015-09-24 Coinbase, Inc Bitcoin host computer system
US9858569B2 (en) 2014-03-21 2018-01-02 Ramanan Navaratnam Systems and methods in support of authentication of an item
US10713686B2 (en) 2014-03-22 2020-07-14 Retailmenot, Inc. Peer-to-peer geotargeting content with ad-hoc mesh networks
US11232521B2 (en) 2014-04-14 2022-01-25 Lukka, Inc. Methods, systems, and tools for providing tax related services for virtual currency holdings
CN105095737B (zh) 2014-04-16 2019-03-01 阿里巴巴集团控股有限公司 检测弱密码的方法和装置
US20150302401A1 (en) 2014-04-18 2015-10-22 Ebay Inc. Distributed crypto currency unauthorized transfer monitoring system
CN103927656A (zh) 2014-05-05 2014-07-16 宋骊平 一种内嵌固定收款地址的比特币终端钱包及其比特币支付方法
WO2015183497A1 (en) 2014-05-06 2015-12-03 Case Wallet, Inc. Cryptocurrency virtual wallet system and method
ZA201502969B (en) 2014-05-09 2016-01-27 Univ Stellenbosch Enabling a user to transact using cryptocurrency
WO2015171580A1 (en) 2014-05-09 2015-11-12 Veritaseum, Inc. Devices, systems, and methods for facilitating low trust and zero trust value transfers
WO2015175854A2 (en) 2014-05-15 2015-11-19 Cryptyk, Inc. (Trading As Bitsavr Inc.) System and method for digital currency storage, payment and credit
US9704143B2 (en) 2014-05-16 2017-07-11 Goldman Sachs & Co. LLC Cryptographic currency for securities settlement
US20150332224A1 (en) 2014-05-19 2015-11-19 OX Labs Inc. System and method for rendering virtual currency related services
US9621525B2 (en) 2014-06-02 2017-04-11 Qualcomm Incorporated Semi-deterministic digital signature generation
US20150348017A1 (en) 2014-06-03 2015-12-03 Jonathan Allmen Method for integrating cryptocurrency transfer on a social network interface
WO2015188151A1 (en) 2014-06-06 2015-12-10 Bittorrent, Inc. Securely sharing information via a public key- value data store
US20150356523A1 (en) 2014-06-07 2015-12-10 ChainID LLC Decentralized identity verification systems and methods
US10127552B2 (en) * 2014-06-16 2018-11-13 Bank Of America Corporation Cryptocurrency aggregation system
US20150363770A1 (en) 2014-06-16 2015-12-17 Bank Of America Corporation Cryptocurrency Transaction Payment System
US20150363777A1 (en) 2014-06-16 2015-12-17 Bank Of America Corporation Cryptocurrency suspicious user alert system
KR101626276B1 (ko) 2014-06-17 2016-06-01 어준선 디지털 화폐와 연동되어 디지털 컨텐츠를 생성, 제공, 재생하기 위한 방법, 이를 이용한 단말 및 컴퓨터 판독 가능한 기록 매체
US10268834B2 (en) 2014-06-26 2019-04-23 Telefonaktiebolaget Lm Ericsson (Publ) Privacy-preserving querying mechanism on privately encrypted data on semi-trusted cloud
US9794341B2 (en) 2014-06-30 2017-10-17 Sandisk Technologies Llc Data storage verification in distributed storage system
EP2975570A1 (de) 2014-07-17 2016-01-20 draglet GmbH Verfahren und eine Vorrichtung zur Absicherung von Zugriffen auf Wallets in denen Kryptowährungen abgelegt sind
US9836908B2 (en) 2014-07-25 2017-12-05 Blockchain Technologies Corporation System and method for securely receiving and counting votes in an election
US9608829B2 (en) 2014-07-25 2017-03-28 Blockchain Technologies Corporation System and method for creating a multi-branched blockchain with configurable protocol rules
WO2016015105A1 (en) 2014-08-01 2016-02-04 National Ict Australia Limited Generating shares of secret data
WO2016022864A2 (en) 2014-08-06 2016-02-11 Blockchain Technologies Corporation System and method for securely receiving and counting votes in an election
US20160071108A1 (en) 2014-09-04 2016-03-10 Idm Global, Inc. Enhanced automated anti-fraud and anti-money-laundering payment system
US20160086175A1 (en) 2014-09-22 2016-03-24 Qualcomm Incorporated Peer-to-peer transaction system
US20170300877A1 (en) 2014-09-23 2017-10-19 Spondoolies Tech Ltd. System and method for providing shared hash engines architecture for a bitcoin block chain
US10721062B2 (en) 2014-09-24 2020-07-21 Hewlett Packard Enterprise Development Lp Utilizing error correction for secure secret sharing
US20170091148A1 (en) 2014-09-26 2017-03-30 Hitachi, Ltd. Method for calculating elliptic curve scalar multiplication
US20160092988A1 (en) 2014-09-30 2016-03-31 Raistone, Inc. Systems and methods for transferring digital assests using a de-centralized exchange
US20160098723A1 (en) 2014-10-01 2016-04-07 The Filing Cabinet, LLC System and method for block-chain verification of goods
CA2867765A1 (en) 2014-10-15 2016-04-15 John W. Swabey A trustless method of qualifying an individual for absence of medical symptoms at a checkpoint
ES2835741T3 (es) 2014-10-17 2021-06-23 Qubalt Gmbh Método y entidad receptora para la ejecución segura de software
CN104392354B (zh) * 2014-11-05 2017-10-03 中国科学院合肥物质科学研究院 一种公钥地址与用户账号的关联和检索方法及其系统
CN104320262B (zh) 2014-11-05 2017-07-21 中国科学院合肥物质科学研究院 基于加密数字货币公开账本技术的用户公钥地址绑定、检索和校验的方法及系统
GB2532039B (en) 2014-11-06 2016-09-21 Ibm Secure database backup and recovery
US9749297B2 (en) * 2014-11-12 2017-08-29 Yaron Gvili Manicoding for communication verification
US10061914B2 (en) 2014-11-14 2018-08-28 Mcafee, Llc Account recovery protocol
US9769133B2 (en) 2014-11-21 2017-09-19 Mcafee, Inc. Protecting user identity and personal information by sharing a secret between personal IoT devices
US20160162897A1 (en) * 2014-12-03 2016-06-09 The Filing Cabinet, LLC System and method for user authentication using crypto-currency transactions as access tokens
JP5860556B1 (ja) 2015-02-06 2016-02-16 日本電信電話株式会社 不整合検知方法、不整合検知システム、不整合検知装置、およびプログラム
SG11201706289WA (en) 2015-02-09 2017-09-28 T0 Com Inc Crypto integration platform
US10594484B2 (en) * 2015-02-13 2020-03-17 Yoti Holding Limited Digital identity system
WO2016135737A1 (en) 2015-02-27 2016-09-01 Dyadic Security Ltd A system and methods for protecting keys in computerized devices operating versus a server
RU2015106704A (ru) 2015-02-27 2016-09-20 Дмитрий Сергеевич Ермолаев Способ учёта имущественных и иных именованных единиц в одноуровневых средах типа bitcoin и next
US10541811B2 (en) 2015-03-02 2020-01-21 Salesforce.Com, Inc. Systems and methods for securing data
US9967334B2 (en) 2015-03-02 2018-05-08 Dell Products Lp Computing device configuration and management using a secure decentralized transaction ledger
US10592985B2 (en) 2015-03-02 2020-03-17 Dell Products L.P. Systems and methods for a commodity contracts market using a secure distributed transaction ledger
US9813392B2 (en) 2015-03-06 2017-11-07 Qualcomm Incorporated Apparatus and method for providing a public key for authenticating an integrated circuit
RU2015108134A (ru) 2015-03-10 2016-10-10 Дмитрий Сергеевич Ермолаев Способ удостоверения обладателя счёта в одноуровневых средах типа bitcoin и next
US9641338B2 (en) 2015-03-12 2017-05-02 Skuchain, Inc. Method and apparatus for providing a universal deterministically reproducible cryptographic key-pair representation for all SKUs, shipping cartons, and items
US20160275294A1 (en) 2015-03-16 2016-09-22 The MaidSafe Foundation Data system and method
RU2015109271A (ru) 2015-03-17 2016-10-10 Дмитрий Сергеевич Ермолаев Способ сжатия книги учёта и контроля за включаемыми в неё записями в одноуровневых цифровых средах учёта наподобие bitcoin и next
US20180240107A1 (en) 2015-03-27 2018-08-23 Black Gold Coin, Inc. Systems and methods for personal identification and verification
EP3767878A1 (en) 2015-03-27 2021-01-20 Black Gold Coin, Inc. A system and a method for personal identification and verification
US9641341B2 (en) 2015-03-31 2017-05-02 Duo Security, Inc. Method for distributed trust authentication
CN107615317A (zh) 2015-03-31 2018-01-19 纳斯达克公司 区块链交易记录的系统和方法
CN107683488B (zh) 2015-04-05 2023-09-05 数字资产(瑞士)股份有限公司 数字资产中介电子结算平台
JP5858506B1 (ja) 2015-04-09 2016-02-10 株式会社Orb 仮想通貨管理プログラム、及び仮想通貨管理方法
US10516527B1 (en) 2015-04-17 2019-12-24 EMC IP Holding Company LLC Split-key based cryptography system for data protection and synchronization across multiple computing devices
US20160321434A1 (en) 2015-05-01 2016-11-03 Monegraph, Inc. Digital content rights transactions using block chain systems
US9906505B2 (en) 2015-05-08 2018-02-27 Nxp B.V. RSA decryption using multiplicative secret sharing
JP5957120B1 (ja) 2015-05-12 2016-07-27 日本電信電話株式会社 秘密分散方法、秘密分散システム、分散装置、およびプログラム
US9735958B2 (en) 2015-05-19 2017-08-15 Coinbase, Inc. Key ceremony of a security system forming part of a host computer for cryptographic transactions
US20160342977A1 (en) 2015-05-20 2016-11-24 Vennd.io Pty Ltd Device, method and system for virtual asset transactions
US10963881B2 (en) 2015-05-21 2021-03-30 Mastercard International Incorporated Method and system for fraud control of blockchain-based transactions
WO2017027082A2 (en) 2015-05-26 2017-02-16 Medici, Inc. Obfuscation of intent in transactions using cryptographic techniques
US9904629B2 (en) 2015-05-31 2018-02-27 Apple Inc. Backup system with multiple recovery keys
US10997590B2 (en) 2015-06-26 2021-05-04 American Express Travel Related Services Company, Inc. Systems and methods for in-application and in-browser purchases
US9673975B1 (en) 2015-06-26 2017-06-06 EMC IP Holding Company LLC Cryptographic key splitting for offline and online data protection
WO2017001972A1 (en) 2015-06-30 2017-01-05 Raghav Bhaskar User friendly two factor authentication
JP6636058B2 (ja) 2015-07-02 2020-01-29 ナスダック, インコーポレイテッドNasdaq, Inc. 分散トランザクションデータベースにおける出所保証のシステムおよび方法
US9298806B1 (en) 2015-07-08 2016-03-29 Coinlab, Inc. System and method for analyzing transactions in a distributed ledger
US11521203B2 (en) 2015-07-09 2022-12-06 Cryptography Research, Inc. Generating a cryptographic key based on transaction data of mobile payments
US20170017936A1 (en) 2015-07-14 2017-01-19 Fmr Llc Point-to-Point Transaction Guidance Apparatuses, Methods and Systems
US10552904B2 (en) 2015-07-24 2020-02-04 Castor Pollux Holdings SARL Device, system, and method for transfer of commodities
JP6034927B1 (ja) 2015-07-27 2016-11-30 日本電信電話株式会社 秘密計算システム、秘密計算装置、およびプログラム
US10402792B2 (en) 2015-08-13 2019-09-03 The Toronto-Dominion Bank Systems and method for tracking enterprise events using hybrid public-private blockchain ledgers
CN105204802B (zh) 2015-09-10 2019-05-21 海信集团有限公司 一种控制信息处理方法及装置
US10303887B2 (en) * 2015-09-14 2019-05-28 T0.Com, Inc. Data verification methods and systems using a hash tree, such as a time-centric merkle hash tree
US20170075877A1 (en) * 2015-09-16 2017-03-16 Marie-Therese LEPELTIER Methods and systems of handling patent claims
US11651367B2 (en) 2015-09-18 2023-05-16 International Business Machines Corporation Security in a communication network
US20170132620A1 (en) 2015-11-06 2017-05-11 SWFL, Inc., d/b/a "Filament" Systems and methods for autonomous device transacting
US10719816B1 (en) 2015-11-19 2020-07-21 Wells Fargo Bank, N.A. Systems and methods for math-based currency escrow transactions
US11562353B2 (en) 2015-11-24 2023-01-24 Mastercard International Incorporated Method and system for gross settlement by use of an opaque blockchain
CA3006495A1 (en) 2015-11-30 2017-06-08 Shapeshift Ag Digital asset zero-custody switch
US11115196B1 (en) 2015-12-08 2021-09-07 EMC IP Holding Company LLC Methods and apparatus for secret sharing with verifiable reconstruction type
CN108432205A (zh) 2015-12-16 2018-08-21 维萨国际服务协会 使用代理的安全的多方通信的系统和方法
US11423498B2 (en) 2015-12-16 2022-08-23 International Business Machines Corporation Multimedia content player with digital rights management while maintaining privacy of users
EP3394818A4 (en) 2015-12-21 2019-08-14 Kochava Inc. AUTOREGULATING TRANSACTION SYSTEM AND ASSOCIATED METHODS
WO2017107143A1 (en) 2015-12-24 2017-06-29 Nokia Technologies Oy Authentication and key agreement in communication network
US20170200137A1 (en) * 2016-01-08 2017-07-13 The Western Union Company Combined security for electronic transfers
AU2016100059A4 (en) 2016-01-24 2016-03-03 The Trustee For The Mckeon Family Trust integratedCONTRACT is a process of embedding dynamic data characteristics into financial and other instruments using Blockchain technology and a unique method for transacting on online peer to peer and marketplace exchanges.
GB2604540B (en) 2016-02-03 2023-01-11 Luther Systems System and method for secure management of digital contracts
US20170243193A1 (en) 2016-02-18 2017-08-24 Skuchain, Inc. Hybrid blockchain
SG11201805542TA (en) 2016-02-23 2018-09-27 Nchain Holdings Ltd Secure multiparty loss resistant storage and transfer of cryptographic keys for blockchain based systems in conjunction with a wallet management system
WO2017163109A1 (en) 2016-03-23 2017-09-28 Telefonaktiebolaget Lm Ericsson (Publ) Cyber-physical context-dependent cryptography
US11720890B2 (en) 2016-04-22 2023-08-08 Micro Focus Llc Authorization of use of cryptographic keys
GB201607476D0 (en) 2016-04-29 2016-06-15 Eitc Holdings Ltd Operating system for blockchain IOT devices
US20190149337A1 (en) 2016-04-29 2019-05-16 nChain Holdings Limited Implementing logic gate functionality using a blockchain
US10333705B2 (en) * 2016-04-30 2019-06-25 Civic Technologies, Inc. Methods and apparatus for providing attestation of information using a centralized or distributed ledger
US10277564B2 (en) 2016-05-04 2019-04-30 Nxp Usa, Inc. Light-weight key update mechanism with blacklisting based on secret sharing algorithm in wireless sensor networks
EP3491599A1 (en) 2016-07-29 2019-06-05 Nchain Holdings Limited Blockchain-implemented method and system
CN107679045B (zh) * 2016-08-01 2021-08-31 华为技术有限公司 版权授权管理方法及系统
JP2018023029A (ja) 2016-08-04 2018-02-08 株式会社 エヌティーアイ 通信システム、通信用クライアント、通信用サーバ、通信方法、プログラム
US11153092B2 (en) 2016-08-30 2021-10-19 Commonwealth Scientific And Industrial Research Organisation Dynamic access control on blockchain
CN107959656B (zh) 2016-10-14 2021-08-31 阿里巴巴集团控股有限公司 数据安全保障系统及方法、装置
US10524119B2 (en) 2016-11-23 2019-12-31 Afero, Inc. Apparatus and method for sharing credentials in an internet of things (IoT) system
EP3639536A2 (en) * 2016-12-30 2020-04-22 INTEL Corporation Naming and blockchain recording for the internet of things
US20180247191A1 (en) 2017-02-03 2018-08-30 Milestone Entertainment Llc Architectures, systems and methods for program defined entertainment state system, decentralized cryptocurrency system and system with segregated secure functions and public functions
US20190080402A1 (en) 2017-09-11 2019-03-14 Templum, Llc System and method for providing a regulatory-compliant token
US11144893B2 (en) 2017-10-30 2021-10-12 Nec Corporation Method and system for securing smart contracts in blockchains
KR102083258B1 (ko) 2017-11-15 2020-03-02 한양대학교 산학협력단 시냅스소자에서 가중치에 대한 비대칭성을 최소화하는 펄스 구동 장치 및 그 방법
US20190034936A1 (en) 2017-12-29 2019-01-31 Intel Corporation Approving Transactions from Electronic Wallet Shares
WO2019143852A1 (en) 2018-01-17 2019-07-25 Medici Ventrues, Inc. Multi-approval system using m of n keys to perform an action at a customer device
US20190340352A1 (en) * 2018-05-03 2019-11-07 Ivan JC Peeters Method for producing dynamic password identification for users such as machines
US20190392118A1 (en) * 2018-06-20 2019-12-26 Adp, Llc Blockchain Version Control
US20190392536A1 (en) 2018-06-26 2019-12-26 bootstrap legal Inc. Method and System for Creating and Managing a Smart Contract on a Distributed Ledger
US11204939B2 (en) 2018-07-18 2021-12-21 Bank Of America Corporation Data manifest as a blockchain service

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006236349A (ja) * 2005-02-22 2006-09-07 Microsoft Corp ピアツーピアネットワーク情報
JP2013037705A (ja) * 2006-06-07 2013-02-21 Ricoh Co Ltd 機器、ライセンス管理システム、ライセンス管理方法、及びライセンス管理プログラム
US20120284794A1 (en) * 2011-05-02 2012-11-08 Architecture Technology Corporation Peer integrity checking system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022074771A1 (ja) * 2020-10-07 2022-04-14 日本電信電話株式会社 識別子変更管理装置、識別子変更管理方法及び識別子変更管理プログラム
JP7468682B2 (ja) 2020-10-07 2024-04-16 日本電信電話株式会社 識別子変更管理装置、識別子変更管理方法及び識別子変更管理プログラム

Also Published As

Publication number Publication date
EP3420514A1 (en) 2019-01-02
SG10202007904SA (en) 2020-10-29
TW201732666A (zh) 2017-09-16
US20190050541A1 (en) 2019-02-14
CN109074579A (zh) 2018-12-21
CA3013185A1 (en) 2017-08-31
EP3420514B1 (en) 2024-03-13
TWI778953B (zh) 2022-10-01
IL261214B2 (en) 2023-02-01
GB2561465A (en) 2018-10-17
PH12018501742A1 (en) 2019-06-10
ZA201805079B (en) 2023-07-26
US11455378B2 (en) 2022-09-27
IL261214A (en) 2018-10-31
JP6877448B2 (ja) 2021-05-26
AU2017222471A1 (en) 2018-08-23
WO2017145009A1 (en) 2017-08-31
CN109074579B (zh) 2022-10-11
CL2018002366A1 (es) 2018-11-23
MX2018010056A (es) 2019-01-21
BR112018016819A2 (pt) 2018-12-26
AU2017222471B2 (en) 2022-09-01
CN115391749A (zh) 2022-11-25
IL261214B (en) 2022-10-01
GB2561465B (en) 2021-12-08
KR20180114942A (ko) 2018-10-19
GB201806517D0 (en) 2018-06-06
SG11201806712RA (en) 2018-09-27

Similar Documents

Publication Publication Date Title
JP6877448B2 (ja) 分散ハッシュテーブル及びブロックチェーンを用いてコンピュータソフトウェアを保証する方法及びシステム
JP6514831B1 (ja) 分散型ハッシュテーブル及びピア・ツー・ピア分散型台帳を利用してデジタルアセットのオーナシップを検証する方法及びシステム
JP7381625B2 (ja) 分散ハッシュテーブル及びピア・ツー・ピア分散型台帳を利用した契約の実行を制御する方法及びシステム
US20210374214A1 (en) Method and system for securing computer software using a distributed hash table and a blockchain

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200115

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210226

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: 20210330

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210427

R150 Certificate of patent or registration of utility model

Ref document number: 6877448

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150