JP2024514859A - ブロックチェーンマイクロトランザクション - Google Patents

ブロックチェーンマイクロトランザクション Download PDF

Info

Publication number
JP2024514859A
JP2024514859A JP2023562472A JP2023562472A JP2024514859A JP 2024514859 A JP2024514859 A JP 2024514859A JP 2023562472 A JP2023562472 A JP 2023562472A JP 2023562472 A JP2023562472 A JP 2023562472A JP 2024514859 A JP2024514859 A JP 2024514859A
Authority
JP
Japan
Prior art keywords
dab
transaction
sim
server
uicc
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2023562472A
Other languages
English (en)
Inventor
ポシュケ,ニルス
パーマー,デイビッド
ベント,ジョージ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dabco Ltd
Original Assignee
Dabco Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dabco Ltd filed Critical Dabco Ltd
Publication of JP2024514859A publication Critical patent/JP2024514859A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/389Keeping log of transactions for guaranteeing non-repudiation of 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/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/32Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
    • G06Q20/322Aspects of commerce using mobile devices [M-devices]
    • G06Q20/3229Use of the SIM of a M-device as secure element
    • 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/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • H04W12/043Key management, e.g. using generic bootstrapping architecture [GBA] using a trusted network node as an anchor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • H04W12/047Key management, e.g. using generic bootstrapping architecture [GBA] without using a trusted network node as an anchor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/10Integrity
    • H04W12/108Source integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/30Security of mobile devices; Security of mobile applications
    • H04W12/35Protecting application or service provisioning, e.g. securing SIM application provisioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/40Security arrangements using identity modules

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Business, Economics & Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Accounting & Taxation (AREA)
  • General Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Strategic Management (AREA)
  • Finance (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Medicines That Contain Protein Lipid Enzymes And Other Medicines (AREA)
  • Peptides Or Proteins (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

セキュアなトランザクションを実行するための方法およびシステムであって、方法は、UICCを有するデバイスとサーバとの間でセキュアな通信チャネルを開始するステップであって、セキュアな通信チャネルがUICCを使用して確保される、ステップと、サーバにおいて、セキュアな通信チャネルを介してデバイスから、トランザクションを実行する命令を受信するステップと、受信した命令に応答して、トランザクションを実行する要求をサーバから分散型台帳に送信するステップと、要求に応答して、分散型台帳内に格納された公開鍵と秘密鍵のペアを使用して、分散型台帳でトランザクションに署名するステップとを含む。

Description

発明の分野
本発明は、分散型台帳にトランザクションを記録するための、特にデバイスまたはオブジェクトがそのようなトランザクションを安全に生成するためのシステムおよび方法に関する。
発明の背景
異なるエンティティが価値およびデータを交換するために互いに対話および取引することが一般的に必要とされている。しかしながら、これがトランザクションの各当事者にとって安全かつセキュアな方法で行われるためには、トランザクションエンティティ間に信頼のレベルが存在する必要がある。そのような信頼がない場合、強制可能な契約および第三者機関または仲介者などの他の構造および手順が必要である。
暗号通貨は、代替通貨(または私有通貨)の形態であるデジタル通貨である。それらは通常、中央制御された政府発行通貨(例えば、法定不換通貨)とは異なり、非中央集権型または分散型の通貨および/または交換媒体を提供する。デジタル通貨は、ある所有者またはエンティティから別の所有者またはエンティティに取引または送信されてもよく、商品の購入、サービスの購入、またはデータの取得などの任意の目的に使用されてもよい。したがって、デジタル通貨は、従来の通貨の代替手段を表す。
暗号通貨の一例はビットコインであるが、他の多くの暗号通貨システムが考案されている。ビットコインは、Satoshi Nakamotoによって開発され、ビットコイン技術および原理の基本を概説するオリジナルの論文「Bitcoin:A Peer-to-Peer Electronic Cash System」はhttps://bitcoin.org/bitcoin.pdfに記載されている。
分散型台帳などの分散型暗号通貨の基礎となる技術は、他のタイプのトランザクションを記録するために使用することもでき、エンティティ間に存在する信頼を必要とせずに、交換の検証可能な履歴または他の形態のデータを形成することができる。ブロックチェーンなどの分散型台帳は、そのような信頼がない場合にトランザクションおよび価値の交換を行うことを可能にする。しかしながら、これは、個々の当事者またはエンティティによる破壊または制御が困難なコンセンサスを形成するために、公開ブロックチェーンの使用を必要とする。これは通常、プルーフ・オブ・ワークに基づいてコンセンサスを得ようとする競争の形をとるが、これ自体が計算および電力の形で非常に高いレベルのリソースを消費する可能性がある。
代替的な手法は、プライベート型ブロックチェーンを使用するが、当事者とプライベート型ブロックチェーン自体の所有者およびコントローラとの間で信頼を築く必要性が再び生じる。
信頼は、エンティティのアイデンティティまたは他の特性を決定および検証することによって築くことができるが、この努力は、オーバーヘッドおよび追加の作業を導入し、コンピュータまたは電気通信ネットワークの非効率性および追加の負荷につながる可能性がある。さらに、そのような検証またはチェックは、多くの場合、別個の情報源に依存し、その各々も検証および承認または信頼される必要があり得る。これは、かなりの帯域幅および処理リソースを必要とし得る。したがって、この手法は、オーバーヘッドが大きな負担にならない、特定の価値を超えて取引する特定のエンティティにのみ適切であり得る。これはまた、互いに新しいエンティティ間の新しい価値およびデータの交換、または低価値であるが大量の一時的な交換を妨げる。モノのインターネットまたは他の低計算量のパワーデバイスを形成するものなどの小型または多数のエンティティまたはデバイスの場合、オーバーヘッドは小さな価値交換を大幅に上回る可能性がある。したがって、これは、特に自律型または監視されていないデバイスのために、価値またはデータパッケージを交換するために必要な効率およびスケーラビリティを制限する。
したがって、これらの問題を克服する方法およびシステムが必要とされている。
発明の概要
方法およびシステムは、UICC(例えば、SIM)を使用してデバイスとサーバ(例えば、デジタルアセットブローカ、DAB)との間のセキュアなチャネルを開始する。サーバは、トランザクションを実行するためにこのセキュアなチャネルを介して命令を受信する。サーバは、分散型台帳(例えば、ブロックチェーン)にトランザクションを実行するよう要求または命令を送信し、分散型台帳は、この要求に応答して、格納された公開鍵と秘密鍵のペア(例えば、分散型台帳および/またはデバイスのUICC内)を使用してトランザクションに署名する。これにより、デバイスが1つ以上の分散型台帳とより安全に対話することが可能になり、ウォレット識別子および鍵のより便利で安全な管理も提供される。このシステムおよび方法は、より効率的なトランザクション処理を可能にし、より大量のより低価値のトランザクションで使用され得る。
このデジタルアセットブローカ(DAB)ウォレットは、いくつかのウォレットのような機能を束ねて調和させることができる。SIM(例えば、GSMA IoT SAFE規格)上の公開鍵基盤(PKI)によって提供されるこのDABウォレットは、ハイブリッド方式で異なるブロックチェーンを認証し、その中で取引することができる。SIMは、ブロックチェーンノードを介してアイデンティティおよび署名機能を直接提供することができる。さらに、SIMまたはSIMトラスト上のPKIを介してDABバックエンドサービスまたはミドルウェア(例えば、プロキシサーバ)への信頼できる接続を活用して、ブロックチェーン内、ブロックチェーン全体、および従来の非ブロックチェーン決済ネットワーク上で認証および取引することもできる。
第1の態様によれば、セキュアなトランザクションを実行するための方法が提供され、本方法は、
UICCを有するデバイスとサーバとの間でセキュアな通信チャネルを開始するステップであって、セキュアな通信チャネルが、UICCを使用して確保される、ステップと、
サーバにおいて、セキュアな通信チャネルを介してデバイスから、トランザクションを実行するための命令を受信するステップと、
受信した命令に応答して、サーバから分散型台帳に、トランザクションを実行する要求を送信するステップと、
要求に応答して、分散型台帳および/またはデバイスのUICC(例えば、SIM)内に格納された公開鍵と秘密鍵のペアを使用して、分散型台帳内でトランザクションに署名するステップと
を含む。トランザクションは、デバイスで開始されてもよいし、さらなるデバイス(例えば、それ自体のUICCまたはSIMありまたはなし)によって開始されてもよい。
任意選択で、UICCとサーバとの間のセキュアな通信は、UICCに格納された公開鍵と秘密鍵のペアを使用して開始されてもよい。これは、UICC(例えば、SIM)がすでに他の目的のためのセキュアなメモリおよびストレージを有し得るので、セキュリティをさらに向上させる。
好ましくは、本方法は、UICC内で公開鍵と秘密鍵のペアを生成するステップをさらに含み得る。これはすでにUICCの機能であり得るので、追加のセキュアなプロセッサは必要ない。
任意選択で、UICCとサーバとの間のセキュアな通信は、共有秘密を使用して開始されてもよい。例えば、これは、限定はしないが、Twofish、Serpent、AES、Camellia、Salsa20、ChaCha20、Blowfish、CAST5、Kuznyechik、RC4、DESなどを含む対称鍵であってもよい。
任意選択で、秘密は、
UICCが製造されるときに、UICC内および電気通信ネットワークコンポーネント内に共有秘密を格納すること、および
電気通信ネットワークコンポーネントがサーバに共有秘密を送信すること
によってUICCとサーバとの間で共有されてもよい。
好ましくは、電気通信ネットワークコンポーネントは、ホームロケーションレジスタ、HLR(またはコアネットワーク内の別のコンポーネント)であり得る。
有利には、共有秘密は、汎用ブートストラッピングアーキテクチャ、GBAを使用して生成され得る。
好ましくは、秘密は、
UICCおよびブートストラッピングサーバ機能、BSF内で共有秘密を生成すること、および
BSFがサーバに共有秘密を送信すること
によってUICCとサーバとの間で共有され得る。他の共有または交換機構が使用されてもよい。
任意選択で、トランザクションは、デバイスに関連付けられたウォレット識別子と共に分散型台帳に記録されてもよい。
有利には、方法は、セキュアな通信チャネルとは異なる物理通信チャネルを使用してデバイスを検証することによって分散型台帳上のデバイスに関連付けられたウォレット識別子を生成するステップをさらに含み得る。
任意選択で、異なる物理チャネルはSMSであってもよい。
好ましくは、トランザクションはブロックチェーントランザクションであり得る。
任意選択で、トランザクションはクレジットカードまたは銀行取引であってもよい。トランザクションはまた、トークントランザクションまたはブロックチェーン上の他の価値トランザクションであってもよい。
第2の態様によれば、
UICCを有するデバイスと、
公開鍵と秘密鍵のペアを格納する分散型台帳と、
1つ以上のプロセッサと、1つ以上のプロセッサに、
UICCを使用してデバイスとのセキュアな通信チャネルを提供すること、
セキュアな通信チャネルを介してデバイスから、トランザクションを実行するための命令を受信すること、および
受信した命令に応答して、サーバから分散型台帳にトランザクションの実行する要求を送信すること
を行わせるように構成された命令を格納するメモリとを有するサーバと
を備えるシステムが提供され、
分散型台帳は、1つ以上のプロセッサと、分散型台帳の1つ以上のプロセッサに、
サーバからの要求に応答して、格納された公開鍵と秘密鍵のペアを使用してトランザクションに署名させること
を行わせるように構成された命令を格納するメモリとを有する。
任意選択で、分散型台帳のメモリはさらに、分散型台帳の1つ以上のプロセッサに、
デバイスに関連付けられたウォレット識別子を分散型台帳に記録することであって、トランザクションが、デバイスに関連付けられたウォレット識別子を用いて分散型台帳に記録されること
を行わせるように構成された命令を含む。
これは、デバイス(またはデバイスのユーザ)とトランザクションとの間の直接的な関連付けを提供する。間接的な関連付けは、例えば、外部データベース、デバイス(またはUICC)の識別子とトランザクション識別子またはウォレット識別子との間のマッピングまたはルックアップテーブルを使用することによって使用され得る。
任意選択で、分散型台帳のメモリはさらに、分散型台帳の1つ以上のプロセッサに、
セキュアな通信チャネルとは異なる物理通信チャネルを使用してデバイスを検証することによって分散型台帳上のデバイスに関連付けられたウォレット識別子を生成すること
を行わせるように構成された命令を含む。
任意選択で、デバイスのUICCは、検証要求に応答する命令を含むセキュアなアプレットを格納するメモリをさらに備えてもよい。
任意選択で、トランザクションはデバイスの識別子に関連付けられる。これは、直接的または間接的な関連付けによるものであり得る。
上述の方法は、コンピュータを動作させるためのプログラム命令を含むコンピュータプログラムとして実装され得る。コンピュータプログラムは、コンピュータ可読媒体に記憶されてもよい。
コンピュータシステムは、中央処理装置(CPU)などの1つまたは複数のプロセッサ(例えば、ローカル、仮想、またはクラウドベース)、および/または単一もしくは集合のグラフィックス処理装置(GPU)を含み得る。プロセッサは、ソフトウェアプログラムの形態のロジックを実行し得る。コンピュータシステムは、揮発性および不揮発性記憶媒体を含むメモリを含んでもよい。ロジックまたはプログラム命令を記憶するために、コンピュータ可読媒体が含まれてもよい。システムの異なる部分は、ネットワーク(例えば、無線ネットワークおよび有線ネットワーク)を使用して接続され得る。コンピュータシステムは、1つ以上のインターフェースを含むことができる。コンピュータシステムは、例えば、Java(登録商標)、UNIX(登録商標)、Windows(登録商標)(RTM)またはLinux(登録商標)などの適切なオペレーティングシステムを含むことができる。
上記の任意の特徴は、本発明の任意の特定の態様または実施形態で使用され得ることに留意されたい。
図面の簡単な説明
本発明は、いくつかの方法で実施することができ、ここで、添付の図面を参照して、単なる例として実施形態を説明する。
分散型台帳にトランザクションを記録する方法のフローチャートを示す。 SIMを有するデバイスを含む、分散型台帳にトランザクションを記録するためのシステムの概略図を示す。 両方ともSIMを有する第1のデバイスおよび第2のデバイスを含む、分散型台帳を使用してセンサデータを配信するためのシステムの概略図を示す。 図1の方法のより詳細な例示的ステップのシーケンス図を示す。 図1の方法のより詳細な例示的ステップのシーケンス図を示す。 図1の方法のより詳細な例示的ステップのシーケンス図を示す。 図1の方法のより詳細な例示的ステップのシーケンス図を示す。 図2bの方法のステップの流れを示す概略図である。 図2bの方法のステップの流れのさらなる例を示す概略図である。 図2bの方法のステップの流れのさらなる例を示す概略図である。 図2のシステムの高レベル機能を示す概略図である。 図2のシステムのいくつかのアーキテクチャ構成要素の概略図を示す。 デバイスおよびSIM、プロキシサーバおよび分散型台帳を含む、図2のシステムの例示的な実装形態の概略図を示す。 図2のシステムのさらなる例示的な実装形態の概略図を示す。 図5のシステムに従って動作するデバイスのシステムの概略図を示す。 図5のシステムに従って動作するデバイスのシステムのより詳細な概略図を示す。 図6のシステムの例示的な実装形態の概略図を示す。 1つ以上のノードを含む、図2のシステムのさらなる例示的な実装形態の概略図を示す。 図10のノードの概略図を示す。 図10のシステムによって実行される方法ステップの概略図を示す。 図2のシステムの例示的な実装形態の概略図を示す。 図5のSIMの例示的な実装形態の概略図を示す。 図5のデバイスの例示的な実装形態の概略図を示す。 図1の方法で使用される鍵を管理するための方法のフローチャートを示す。 図6の例示的な実装形態で使用される構成要素の概略図を示す。 図6の例示的な実装形態で使用される構成要素の対話の概略図を示す。 図6の例示的な実装形態において鍵を生成するために使用される方法ステップを示す概略図である。 図6の例示的な実装形態においてデータを交換するために使用される方法ステップを示す概略図である。 図2のシステム内のデバイスアーキテクチャの概略図を示す。 図2のSIM内のセキュアエレメントと対話するために使用されるアーキテクチャミドルウェアの概略図を示す。 図1の方法に従ってトランザクションに署名するための手順のシーケンス図を示す。 図22のSIMのセキュアエレメントを使用してトランザクションに署名するための手順内の方法ステップの概略図を示す。 PKIを使用し、図22のSIMを使用するTLS認証プロセスの概略図を示す。 図2の分散型台帳の例示的な実装形態の概略図を示す。 図1の方法を実装する例示的なユースケースを示す。 データ交換内でオファーを照合するための方法の一部のシーケンス図を示す。 図28の方法の一部のシーケンス図を示す。 図2のシステム内で使用されるメッセージングシステムの概略図を示す。 図2のシステムの例示的な実装形態の概略図を示す。 図30のメッセージングシステム内で使用される方法ステップのシーケンス図を示す。 図30のメッセージングシステム内で使用されるさらなる方法ステップのシーケンス図を示す。 図1の方法の例示的な実装形態のシーケンス図を示す。 図1の方法で使用するためのデバイスをプロビジョニングするための方法ステップを示す概略図である。 図1の方法で使用するデバイスをセットアップするための方法ステップを示す概略図である。 図1の方法で使用するためのデバイスをセットアップするための方法ステップを示す概略図である。 図36および図37のデバイスと共に使用するためにユーザを認証するための方法ステップを示す概略図である。 図36および図37のデバイスと共に使用するためにユーザを認証するための方法ステップを示す概略図である。 図1の方法の例示的な実装形態の方法ステップを示す概略図である。 図1の方法の例示的な実装形態のさらなる方法ステップを示す概略図である。 図1の方法の例示的な実装形態のさらなる方法ステップを示す概略図である。 図1の方法の例示的な実装形態のさらなる方法ステップを示す概略図である。 図2のシステムの例示的な実装形態の概略図を示す。 図2のシステムの例示的なアーキテクチャ構成要素を示す概略図である。 図2のシステムの一部の例示的な実装形態を示す概略図である。 図2のシステム内のデバイスの例示的な実装形態を示す概略図である。 図2のシステムとの相互作用の例示的な実装形態を示す概略図である。
図面は簡略化のために示されており、必ずしも縮尺通りに描かれていないことに留意されたい。同様の特徴には同じ参照番号が付されている。
好ましい実施形態の詳細な説明
「モノのインターネット」は成長しており、「モノの経済」(EoT)に移行しつつある。IoTデバイスの数は増加しており、大量のデータを生成している。IoTデバイスおよびスマートサービスは、所有権ドメインにわたって対話および相互運用し、データおよびスマートサービス価値トランザクションをほぼリアルタイムで自動的にサポートする可能性を提供する。これにより、相互運用性および機能性を向上させることができる。
「モノの経済」は、デバイス/サービスが互いに識別し、信頼し、必要に応じて直接またはピアツーピア機能を使用して自動的に価値を取引する能力を必要とする。デジタルID、連合セキュリティ、ならびにIoTに必要なトランザクションアプリケーションおよびサービスをサポートする分散型台帳、セキュアエレメント、暗号およびデバイスウォレットに及ぶ様々な技術があるが、それらは断片化されており、コストが高く、十分にスケーラブルではない。
図1は、トランザクションを実行する方法10のフローチャートを示す。ステップ20において、UICCを有するデバイスとサーバ(例えば、デジタルアセットブローカ、DAB)との間でセキュアな通信チャネルが開始される。ステップ30において、サーバは、セキュアな通信チャネルを介してデバイスから、トランザクションを実行するための命令またはメッセージを受信する。ステップ40において、受信した命令に応答して、サーバは、トランザクションを実行する要求を分散型台帳(例えば、ブロックチェーン)に送信する。これは、例えば、支払トランザクション、トークントランザクションまたはデータトランザクションであってもよい。ステップ50で、サーバからのこの要求に応答して、分散型台帳において、分散内(例えば、同じまたは別のブロック内)またはUICCもしくはSIM内に格納された公開鍵と秘密鍵のペアの公開鍵を使用して、トランザクションにデジタル署名する。
図2は、図1を参照して説明した方法を実施するために使用される例示的なシステム100の概略図を示す。SIM(120)を有するデバイス110、およびサーバ140(DAB)は、通信チャネルを介して安全に通信する。分散型台帳150は、トランザクションを実行する命令をサーバ140から受信する。
図2bは、分散型台帳150にトランザクションを生成または追加するための例示的な方法のシーケンス図を示す。この方法は、図1を参照して説明した方法10にさらなる詳細を提供する。この例示的な実装形態では、SIM120間(デバイス110を有する)にセキュアなチャネルを確立するための2つの方法が示されている。1つの方法は、そのセキュアな場所130内で、SIM120上に公開鍵と秘密鍵のペアを生成することである。この鍵ペアは、例えばGSMA IoT SAFE規格を使用して、サーバ140へのセキュアな接続に使用される。別の方法は、SIM(デバイス110を有する)とサーバ140(DABバックエンド)との間で共有秘密を共有することである。これは、例えば、SIMトラストプロトコルを備えたGBAサーバを使用することによって達成される。
この設定プロセスが完了すると、サーバ140(DABバックエンド)は、デバイス110からトランザクション命令を受信し、トランザクションをトリガするように分散型台帳150(ブロックチェーン)に命令する。これは、例えば、ブロックチェーン内のスマートコントラクトとして実装され得る。図2bに示すプロセスは、ブロックチェーン上でのみ記録および完了されたトランザクションをもたらす。これは、価値がブロックチェーン自体の中で実現され得るトークントランザクションとして説明され得る。トークンは、例えば、さらなるブロックチェーントランザクションで使用されてもよい。
図2cは、分散型台帳150にトランザクションを追加するためのさらなる例示的な方法のシーケンス図を示す。この方法は、図2bを参照して説明した方法に類似している(同様の初期または設定手順は、対称または非対称鍵を生成してセキュアな通信を設定するために使用される)が、ブロックチェーンに記録されたトランザクションに加えて、銀行取引やクレジットカードまたはデビットカード取引などの従来の決済レールも含む。従来の(または金銭的な)トランザクションは、通常の銀行およびクレジットカードのインフラストラクチャ内で実行されるが、このトランザクションもブロックチェーンにログまたは記録される。ブロックチェーン内に格納された公開鍵と秘密鍵のペアは、SIMまたはデバイスに代わって従来のまたは通貨の(すなわち外部の)トランザクションに署名するために使用される。これは、支払決済トランザクションとして説明することができる。
図2dは、図2bを参照して説明した方法を使用するシステムの例示的な実装形態の概略図を示す。この例示的な実装形態では、デバイスは車両である。人は、例えばプライマリアカウント番号を使用して、それらに代わってEV充電器に支払う許可を委任する。フリートまたは複数の車両の場合、管理コンソールを使用して、フリート全体で支払いを可能にするアカウントを設定してもよい。SIMは、各車両内ならびに各充電ステーション内に存在してもよい。この例では、支払いはトークン化されたトランザクションとして分散型台帳150内で行われる。トランザクションの詳細および確認を提供するために、各車両と任意の変更ステーションとの間でローカル無線通信(例えば、車両からすべて-V2X)を開始してもよい。
図2eは、図2bまたは図2cを参照して説明した方法を使用するシステムの例示的な実装形態の概略図を示す。ここでも、固有のデジタル識別子およびウォレットが、充電の支払いに同意するためにユーザによって設定される。車両がEV充電ステーションに到着すると、ローカル通信(例えばV2X)を使用して車両および特定のEV充電ポイントを識別し、これがトランザクションをトリガする。この例示的な実装形態では、このトリガステップにスマートコントラクトが使用される。料金の支払いはEV充電ポイントで開始され、これは充電量の確認および車の支払い方法の検証を含む。
EV充電器は、(車両、例えば車の)検証を完了し、スマートコントラクトに示された支払い方法を介して支払いを処理し、スマートコントラクトに概説された量までの充電を完了する。EV充電器は、そのSIM上の秘密鍵を使用してトランザクションに署名する。支払い処理および決済が行われる。トランザクションのアカウントまたは当事者に対する確認が行われる。これは、分散型台帳150に記録されたトークン化されたトランザクションを表す。しかしながら、代替実施形態では、決済レールを使用して通貨取引を開始することができ、分散型台帳はこれらのトランザクションを記録する。
図2fは、図2bまたは図2cを参照して説明した方法を使用するシステムのさらなる例示的な実装形態を示す。この例示的な実装形態では、デバイスはまた、充電ステーションでの充電を取得して支払うことを認可されたフリートの一部であってもよい車両購入である。そうでなければ、このシステムは、トークン化および決済レール(例えば、EMV支払い)実装の両方において、図2eを参照して説明したものと同様の方法で動作する。
上述のように動作するDABウォレットは、少なくとも3つのウォレット機能(例えば、ハイブリッド手法として)を可能にし得る。
1)(図示せず)SIM上の公開鍵基盤(PKI)を介したSIM/エッジデバイス上の認証および署名機能(古典的なウォレット):
a)DABウォレットは、SIM技術(IoT SAFEアプレット、楕円曲線)上のDAB PKIを活用して、主要ブロックチェーン(例えば、イーサリウム、ハイパーレジャー、R3など)への認証を受け、複数のブロックチェーン内でピアツーピアトランザクションを開始および署名する(複数のPKIをSIMセキュアエレメント上で生成できるため)。
b)周知のハードウェアウォレットと同様に、非常にセキュアな方法で機能を提供する。
2)図2b参照:ブロックチェーン内およびブロックチェーン間で取引するためのさらなる機能を提供する信頼できるバックエンドサービスに対する認証。
a)DABウォレットは、DABバックエンドサービスへの認証を受けるためにSIM上のPKIと統合してもよく、SIM/デバイスとDABバックエンドサービスとの間でトランザクションデータの非対称鍵暗号化を実行し、次にブロックチェーンへの認証およびトランザクションを編成する。これには、追加のwallet-to-ledgerプロトコルまたはスマートコントラクトの使用も含まれ得る。
a)DABウォレットは、DABバックエンドサービスへの認証を受けるためにSIMトラスト/GBAと統合してもよく、SIM/デバイスとDABバックエンドサービスとの間でトランザクションデータの対称鍵暗号化を実行し、次にブロックチェーンへの認証およびトランザクションを編成する。これには、追加のwallet-to-ledgerプロトコルまたはスマートコントラクトの使用も含まれ得る。
3)図2c参照:従来の非ブロックチェーン決済ネットワークにアクセスするためのさらなる機能を提供する信頼できるバックエンドサービスに対する認証。
a)DABウォレットは、(上記(2)で説明したように)SIM上のPKIおよびSIMトラストを活用して、DABバックエンドサービスを介して従来の決済レールへの認証を受ける。外部支払いサービスプロバイダがDABによって使用され、(APIを介して)従来のトランザクションをトリガする。
b)DABウォレットは、SIMおよびSIMトラスト上のPKIを活用して((2)で説明したように)DABバックエンドサービスを介してトークン化されたプライマリアカウント番号(PAN)への認証を受け、そこでクレデンシャルがデバイスに委譲され、処理および決済をトリガする。
DABウォレットは、上述のように(2)と(3)の組み合わせを実行し、PAN準拠のスマートコントラクト、およびDABサービス上でビジネスロジックを実行してフローを開始する従来のトランザクションを含むブロックチェーンを介して、スマートコントラクトおよびオラクルと対話することができる。したがって、DABウォレットは、言及された機能のすべてを1つの解決策にまとめる「複数のウォレット中のウォレット」として見ることができる。
図3は、前述のシステムの高レベル機能を概略的に示す。
UICC(SIM)
システム内の役割:信頼のチェーン(顧客のアセットとしてのSIM)にセキュアなエントリポイントを提供する。本開示を通して、SIMおよびUICCという用語は、アプリケーションおよびアプレットと同様に交換可能に使用され得る。
バリアント:
・好ましくはGSMA IoT SAFEアプレットをサポートする、SIM上のセキュアエレメント、または
・3GPP(登録商標)汎用ブートストラッピングアーキテクチャ(GBA)に基づくVodafone SIMトラスト。
システムの異なる実装形態が存在する。一実装形態では、SIMまたはUICCアプレットは、1つ以上の暗号鍵ペアを生成する。別の実装形態では、SIMまたはUICCは暗号材料でプロビジョニングされてもよい。例えば、これは3GPP GBAを使用することができる。しかしながら、全体を通して説明する特徴および実装形態の例または組み合わせのいずれも、いずれかまたは両方の実装形態と共に使用することができる。
デバイス
システム内の役割:上位層に統合器を提供し(デジタルアセットブローカ、DAB、管理コア)、通信を調和させる(異なる電気通信ネットワークからのSIMまたは非SIMデバイスについても)。デバイスは、例えば、単純なIoTデバイス(例えば、需給計器)から車両まで様々な形態をとることができる。
構成要素
・IoT SAFEアプレット用DABミドルウェア、または
・SIMトラスト用DABミドルウェア、
・貨幣化可能イベント検出のためのセンサデータ抽出
DAB管理コア
エコシステム内の役割:オンチェーンおよびオフチェーン機能を使用するためのDABシステム内の対話の仲介。
構成要素
・フローオーケストレーションエンジン
・共通API
DAB管理サービス
エコシステム内の役割:MVP(MasterCard、VISA、PayPal)のためのフローの簡素化およびDABのカスタマイズ。
構成要素
・カスタマイズされたオフチェーン処理(オフチェーン)
・カスタマイズされたAPI
DABブロックチェーンサービス
エコシステム内の役割:DAB対話をブロックチェーン言語に変換するコネクタを提供する。
構成要素
・モノの台帳(Ledger of Things)
・DABエクスチェンジ
・スマートコントラクトエンジンを含むブロックチェーンハブ
アーキテクチャ構成要素
図4は、システムおよび方法の様々なアーキテクチャ構成要素を概略的に示す。
IoT SAFEアプレットの実装は便利な機能を提供するが、GBAプロビジョニング(例えば、Vodafone SIMトラスト)の使用は、既に展開されている可能性があるレガシーSIMのシステム内での使用を可能にする。したがって、(システム内で同時にまたは別々に機能することができる)両方の実装形態の組み合わせは、できるだけ多くの参加者がシステムを使用することを可能にする。デバイスファームウェアは、レガシーデバイスのために無線で更新することができ、したがって、GBA実装(例えば、SIMトラスト)は、デバイス内のUICCまたはSIMを変更することなく使用することができる。
図5および図6は、システム100による両方の実装形態の使用を高レベルで示す。機構は独立しているが交換可能であり、異なるユースケースに適している場合がある。新規およびレガシーSIMに柔軟性を提供するだけでなく、各実装オプションには異なる利点がある。例えば、銀行および公共サービスは、対称鍵をサポートするので、図6に示すGBA実装(例えば、SIMトラスト)と対話することを好む場合がある。図5に示すSIMアプレット実装(例えばIoT SAFE)は、中間またはプロキシサーバ140を必要とせずにUICCまたはSIMによってトランザクションに直接署名できるため、改善されたブロックチェーン対話を提供する。したがって、両方の機構は、互いに企図し、特定の技術的要件を満たす。
高いレベルでは、これらの2つの機構の主な違いは暗号手法にある。IoT SAFEアプレットは、主に非対称暗号化(PKIとしても知られる)のための鍵を格納および管理するためにSIM上のセキュアエレメントを使用し、公開鍵と秘密鍵のペアが生成および格納される。GBA(例えば、SIMトラスト)手法では、SIMとエンドポイント(例えば、DABサーバなどのサーバ)との間の対称暗号化を確立するためにモバイルネットワーク機能が使用される。
非対称暗号化またはPKIは、公開/秘密鍵ペアを使用してhttpsおよびサーバ間の他の接続を保護するために多くのITインフラストラクチャによって使用される技術である。
図7および図8は、SIM 120と共に実行されるIoT Safeアプレットを使用して、IoTデバイスとサーバとの間でセキュアな通信チャネルがどのように設定され得るかを概略的に示す。図8は、デバイスがサーバとのセキュアな接続をどのように開始するかをより詳細に示す。
デバイスには、クライアントPKI証明書(例えば、UICCまたはSIM内)が事前プロビジョニングされる。図9に示す例では、デバイスは車両であるが、モバイルまたはその他の任意のデバイスであってもよい。クライアントPKI証明書は、好ましくは、認証機関によって調達され署名されたパブリックトラスト証明書である。サーバは、同様のサーバ証明書を保持している。通信チャネルがクライアントによってサーバに対して開始されると、両方の当事者が認証機関(CA)を使用して互いを認証して他方の当事者の正当性を確認する交換が行われる。
CAを使用して実装される機構は、一緒に使用される鍵のペアを利用し、一方は暗号化し、他方は解読する。鍵は、第1の暗号化関数を実行するいずれかで使用することができ、他方の鍵は復号化演算を実行するために使用することができる。これらの機能を実行する2つの異なる鍵の非対称性のために、これはしばしば「非対称」暗号と呼ばれる。これらの鍵の一方は公開されており、他方は秘密である。公開暗号化システムでは、受信者の公開鍵を使用して誰でもメッセージを暗号化することができるが、受信者のみが秘密鍵を使用してメッセージを復号することができる。
暗号化手法とは別に、IoT SAFEに基づく解決策は、分散型台帳(例えば、ブロックチェーン)関連環境で使用され得るさらなる機能を容易にするいくつかの追加機能を提供する。
対称暗号化アルゴリズムは、暗号化と復号化の両方に同じ暗号鍵を使用する。鍵は、実際には、個人情報リンクを維持するために使用することができる2者以上の当事者間の共有秘密を表す。両方の当事者が同じ秘密鍵にアクセスできるという要件は、非対称暗号化と比較して、対称鍵暗号化の主な欠点の1つである。モバイル通信空間では、この解決策は、電気通信ネットワークサービスへの接続を有するモバイルSIMを含むデバイスによって促進される。携帯電話は、元々IoTデバイス空間に存在する多くの要件を有し、これらの問題に対する標準ベースの解決策を使用する。これらは、20年を超える期間にわたって開発され、精査されており、したがって、多くのエンティティおよび組織によって信頼され得る。
電話機器が移動セルラネットワークに接続すると、電話機器は、
・モバイルネットワークとの間で認証すること、および
・モバイルネットワークとの通信を暗号化するために使用できる鍵に同意すること
を含む少なくとも2つのアクションを実行する。
これは、典型的には、標準ベースの認証および鍵合意(AKA)プロトコルを使用して達成される。したがって、AKAプロトコルは、モバイル機器(ローミングまたはその他)と(場合によっては信頼されていない)セルラネットワークとの間に信頼を作り出し、その結果、2つの当事者は機密保護を伴って通信することができる。
この代替技術は、例えばSIMトラストのVodafone実装などの汎用ブートストラッピングアーキテクチャ(GBA)として形式化されている同じAKAプロトコルを使用するが、従来のセルラ使用事例とは異なり、信頼は、ユーザまたは顧客の直接制御下でデバイスとアプリケーションプラットフォームとの間に作成される。
図13は、このGBA実装を示す。UICCまたはSIMがアプリケーションサーバへの標準モバイル接続を作成している間、AKAプロトコルは、デバイスと訪問先モバイルネットワークとの間の機密保護された通信を作成するために使用される。SIMトラスト(GBAプロトコルを使用)は、AKAフローを繰り返してデバイスとアプリサーバとの間の対称暗号化を作成することによって別の信頼層を追加する。その結果、2つのエンドポイント間の通信のための相互に認証されたセキュアなチャネルが得られる。
図10は、個々のデバイスが分散型台帳ネットワーク内のノードと通信する例示的なネットワーク構成を示す。このネットワーク構成は、特定の暗号化方式(例えば、対称暗号化または非対称暗号化を使用することができる)から独立していてもよい。図11は、これらの個々のノードの形態を概略的に示す。1つ以上のノードがネットワーク内に存在してもよい。
より詳細には、図10および図11は、以下の特徴を示す。SIM上(デバイス内)またはノード上のセキュアなアプレット(例えば、DLTアプレット)は、鍵を安全に生成および保持する。これらの鍵は、(ブロックチェーンを使用した)セキュアな価値交換に使用されるウォレット、証明書、および/または他のモードのデジタルトラストの表現であり得る。セキュアなアプレットは、論理的には、ホーム加入者サーバ(HSS)のハードウェアセキュアモジュール(通信会社または事業者のコアネットワークの奥深くにある既存のネットワークエレメント)の拡張であってもよい。SIM上のセキュアなアプレットとのHSSの関係は、SIMと直接セキュアな通信チャネルを作成するために使用されるマシンであり得る別の既存のネットワークエレメント(例えば、無線OTAサーバ)によって管理され得る。Telcoノードは、例えば、セキュアなアプリケーション配信、更新、許可、およびデコミッショニングアクティビティのライフサイクルを管理するために必要な証明書を作成および管理するために、各DABノードの非中央集権型機関との管理で動作する分散型台帳技術(DLT)ノータリーの役割を果たす。
telcoノードはまた、システム(例えば、DLTセキュアサービス)によって提供されるサービスのCA(認証機関)としても機能する。HSSの強化されたセキュリティがDLTセキュアサービスを介してSIMに拡張されると、DAB DLTはSIMおよび格納された鍵を使用して新しいコンセンサスプロトコル(「プルーフ・オブ・セキュアSIM」)を作成し、SIMは、ネットワーク全体にわたる高価で高処理のプルーフ・オブ・ワーク/ステークタイプの処理を必要とせずに、各トランザクション時にシステム(DAB)上でその有効性を証明するように求められる。これにより、各DABノードが軽量になり、SIMの計算要件が制限される(PUB/PRV鍵は非同期的に生成され、トランザクション開始時点で検証のためにDAB DLTに提供され得るため)。
デバイス所有者または他のエンティティは、異なるシステムからの異種デバイスが共通のルートオブトラスト(すなわち、SIMおよびセキュアなアプレットまたはGBA対応デバイス)を使用して互いに対話できるように、スマートコントラクトまたは他の条件をプログラムまたは定義することができる。これは、デバイスが対話および取引することを可能にする機構およびプロトコルを提供する。これは、1つ以上のノードと対話する複数のデバイス(およびそれらのSIM)で大規模に行うことができる。このプロトコルは、従来APIを使用して解決されてきたユースケースである、デバイスがトークンをトークンに交換し、さらにトークンとデータを交換することを可能にする。さらに、このようにして有効にされたデバイス(DABデバイス)は、アクション(例えば、アクセス制御)からデータストリーム(例えば、第1のデバイスまたは提供デバイスのデバイス位置)に及ぶ価値のためにそれらの1つ以上のウォレット内のトークンを自律的に交換してもよく、二次「親」ノードは、例えば、サービス消費を管理および追跡するためにこれらのウォレットをリチャージすることができる。このシステムは、マイクロペイメントおよびマイクロビリングシステム、ならびに非中央集権型台帳のクレジット/デビットと結合され得る価値交換の要求/送信/決済を提供する。
以下では、図10の例示的なネットワーク構成を動作させるときにとられるステップを説明する。ここでも、いずれの暗号化方式(対称または非対称)を使用してもよい。以下の番号は、異なる構成要素間で生じる方法ステップを示す図12に示す番号に対応する。
0.背景:AおよびBは、DAB NWに登録されており、互いに価値を交換することを許可されている。
1.AおよびBの所有者は、スマートコントラクトに合意している(すなわち、「データXをくれたら、Yトークンをあげる」)。
2.Bが所定のスマートコントラクト(C)に基づいてAにデータを要求する。
3.Bの要求は、DLTセキュアBセキュリティで署名され、Dapp C(プルーフ・オブ・セキュアSIM)によって検証される。
4.「購入」トランザクションは、DAB DLTネットワーク上でBに代わって公開される。
5.Aは、トランザクション決定の適用可能な要求をダウンロードする。
6.DLTセキュアAは、要求(4)を検証する。
7.デバイスAは、「販売」したいことをDAB DLTにシグナリングする。
8.デバイスAは、センサAからデータAを受信してパッケージ化する。
9.DLTセキュアAは、パッケージAに署名する。
10.Aは、呼び出されるべきスマートコントラクトC上のDLT呼び出し上の交換を確認応答する。
11.Aは、パッケージAをBに送る(オンチェーンまたはオフチェーンのいずれか)。
12.DLTセキュアBは、DLT、DLT記録を更新し、スマートコントラクトCを使用して決済を開始する。
13.デバイスBはCを満たす。
14.デバイスAは、トークン受領を確認にする。
15.DLTはCクロージャを検証する。
16.デバイスBはパッケージAを分析し、アクションAの実行を決定する。
次の2つのセクションは、2つの実装がどのように動作するかについての詳細を提供する。
UICCアプレット実装は、UICC(例えば、SIM)内のセキュアエレメントを使用する。SIMは、暗号鍵および通信を保護するハードウェアウォレットとして機能する。この実装は、重要なセキュリティ機能の容易かつ効率的な実装のために、SIMがIoTデバイスのためのルートオブトラストを提供することを可能にする。SIMは、トランザクション署名鍵を安全に格納し、セキュアな環境内で安全に暗号アセットトランザクション署名を実行することができる。
図14は、SIMおよびOTAサーバのアーキテクチャ設計の概略図を示す。SIMにはGSMA IoT SAFEアプレットが設けられていてもよい。トランザクション署名用のSIM暗号化ウォレットを保持することに加えて、これにより、GSMA仕様https://www.gsma.com/iot/wp-content/uploads/2019/12/IoT.05-v1-IoT-Security-Applet-Interface-Description.pdfで定義されているように、SIMハードウェアのルートオブトラストにバインドされた相互認証されたTLS接続が可能になる。
GSMA IoT SAFEベースの解決策は、IoT展開のためにチップからクラウドまでのセキュリティを提供する。ハードウェアのセキュアエレメント、すなわち「ルートオブトラスト」を使用して、IoT SAFEベースの解決策は、エンドツーエンドのセキュリティを提供する。GSMA標準化セキュアエレメントおよびIoT SAFEアプレットの使用は、さらに、異なる企業間の相互運用性およびIoTデバイス製造業者による一貫した使用を保証する。
SIM上に位置するIoT SAFEアプレットと外部(例えば、プロキシサーバ、ブロックチェーンなど)との間の通信のために、暗号ミドルウェアライブラリもデバイス内で実行されるが、必ずしもSIM内では実行されない。
この実装形態では、SIMとデバイスとの間、ならびにSIMと無線(OTA)サーバとの間で標準的な認証機構が発生する。これらの機構はまた、SIM上のセキュアエレメントを含んでもよい。これは、アプリケーションおよび/またはSIMをロック解除するための基本的な機構(例えば、PIN保護を使用することによって)、SIMロック機構、SIMとデバイスアプリケーションとの間の相互認証などによって結合される。ブロックチェーントランザクションは、トランザクションの一部として送信されたデジタル署名を含むプロトコルを使用してブロックチェーンノードによって検証される。
汎用スマートSIMウォレット
IoT SAFEアプレットを使用することにより、SIMは、SIMのセキュアエレメント内の1つ以上の鍵コンテナまたはストレージへのアクセスを提供する。これらのコンテナは、異なるユースケースに使用されてもよく、同じユースケースまたは動作のための複数のアイデンティティを提供するために使用されてもよい。図15は、SIM内の複数のアイデンティティのストレージを概略的に示す。各アイデンティティは、ユーザが異なるアプリケーション内でトランザクションを認証および署名することを可能にするSIMウォレットとして使用することができる。これはブロックチェーンに限定されず、従来の決済レール(例えば、他のデバイスまたは企業との直接通信)などのオフチェーン機構内で使用することもできる。SIMの無線(OTA)更新機能は、特定の実装で使用するための新しいコンテナおよび鍵管理機能の追加を可能にする。
SIMは、異なるブロックチェーンネットワーク用の鍵に署名するための追加の鍵コンテナでパーソナライズすることができる。好ましい実装形態では、SIMにはデフォルトで利用可能な3つの鍵コンテナがある。2つのコンテナはSECP256 K1 ECDSA鍵ペアを保持し、1つのコンテナはSECP256 R1 ECDSA鍵ペアを保持する。しかしながら、異なる鍵ペアタイプを任意の組み合わせで使用してもよい。
エンドツーエンドの解決策を考慮すると、IoT(または他の)デバイス内の、SIMをハードウェアのルートオブトラストとして使用するSIM暗号ウォレットは、以下の機能のいずれかまたはすべてを提供し得る。
・ハードウェアウォレット(署名支払い/デジタルアセット送信トランザクション)
・署名されたトランザクションの検証
・セキュアな通信
・機密データのセキュアなストレージ
したがって、SIM自体は、以下の機能のいずれかまたはすべてを提供することができる。
・追加の暗号化機能
・IoTデバイスIDメタデータストレージ
・セキュアなバックアップ/復元、鍵管理
・デバイス開始ブートストラップ
SIM内で暗号鍵ボールトを使用すると、秘密鍵および秘密の改ざん防止および安全が保たれる。SIMは、一般に、専用の暗号プロセッサおよび高度に安全なSIM OSを備えた改ざん防止ハードウェアであり、秘密鍵を安全にするために必要なレベルの保証を提供する。このようにしてSIMに格納された鍵は、SIM上で生成され、好ましくはSIMから離れない。
表1は、使用される好ましい暗号アルゴリズムのリストをまとめたものである。他のアルゴリズムが使用されてもよい。
Figure 2024514859000002
ブロックチェーンおよび暗号通貨ネットワークは通常、それらのトランザクションがピアツーピアまたは参加者のグループ内であるため、非対称暗号に依存する。異なるトランザクション間の参加者のリストは異なり得る。ブロックチェーントランザクションのこのピアツーピアの性質を考えると、対称暗号の使用は実現不可能であり得る。さらに、非対称暗号を使用すると、ブロックチェーンおよびDLTトランザクションは、第三者によって監査可能である。現在のシステム内でPKIを使用することにより、エンティティまたは人が秘密鍵にアクセスすることなくトランザクションを検証することが可能になる。
EMVトークン
EMVは、Eurocard(RTM)、MasterCard(RTM)、Visa(RTM)の略称であり、決済アプリケーションのための定義された仕様を表し、今日のほとんどの銀行カードチップに実装されている。それは、銀行カードチップ上に安全に格納された認証情報にアクセスすることによって対称暗号と協働する。現在の環境では、EMVを使用して支払いトランザクションに署名し、それらを既存の決済レールに送信してトランザクションを可能にすることができる。したがって、SIMウォレットは、支払いアプリケーションのための(対称)鍵値を保持するために使用され、その後デバイスミドルウェアによって使用され、本システムを介したEMV支払いを容易にする。
(記載されたいずれの実装形態とも使用される)この拡張されたまたはオプションの機能では、これは、EMVによってブロックチェーンまたは既存の決済レールを使用して支払いを選択するためのオプションをユーザに提供する。セキュリティの観点から、SIMカードはすでに銀行カードの認証を通過することができる。
複数のウォレット中のウォレット
SIMは、所望の支払い方法に関連する鍵を提供するために使用される。支払いに使用されるウォレット自体は、SIMに格納されている必要はない(しかし、格納されていてもよい)。分散型台帳と直接対話するために使用されるウォレットは、別個のエンティティ、サーバもしくはプロキシサーバ、またはブローカ(例えば、DAB)によって提供され、特定のユースケースに応じた支払い方法の好みに基づいて選択され得る。
第三者文書は、SIM無線(OTA)上に展開され得る。デバイス上のウォレットアプリケーションは、アプリケーション(アプレット)のSIM部分と安全に対話し、(同様にOTAを介して)バインディングを確立する。これは、セキュリティドメインのセキュリティおよび認証プロセス、ならびに外部アプリケーションとの統合のための承認に従う。
鍵管理
トランザクション管理で使用される鍵のライフサイクルを管理するための明確に定義された機構が実装され得る。暗号鍵のライフサイクル管理には、鍵のバックアップ、復元、鍵の失効および更新が含まれ、紛失、盗難、および/または侵入されたデバイスを処理するためのセキュリティポリシーが実装されてもよい。秘密鍵は最も機密性の高いアセットであり、クリアな環境または保護されていない環境ではバックアップされない。ブロックチェーンのトランザクション署名鍵のバックアップおよび復元には、使用されるいくつかの異なる機構がある。
例えば、ビットコインは、シードを生成し、BIP39/BIP32仕様に基づいてシードを使用して鍵ペアを生成するために、人間が読める一連の単語に基づいて決定論的鍵生成を定義する。BIP39の実装は、鍵を復元するために記憶されて再入力され得るニーモニックから鍵を導出することを指定する。BIP32は、シードおよびインデックス値に基づいて鍵を導出する階層決定性ウォレットを定義する。そのような機構は、本システムで使用することができ、図16に概略的に示されている。
別の例示的な実装形態では、SIMバックアップボールトサービスは、単一のSIMが完全な値を持たないように、透過的に他のSIM上に秘密鍵の構成要素または一部をバックアップする。鍵を復元することは、バックアッププロセスで使用されたSIMのクラスタからバックアップされた値(N個のうちのk個)の構成要素を収集することを含む協調努力であり得る。
さらなる例示的な実装形態では、ブロックチェーンスマートコントラクトベースの解決策は、バックアップおよび復元プロセスの複雑さを低減する。例えば、スマートコントラクトアカウントは、指定された条件が満たされるまで、エスクロー機構と同様のデジタルアセットを保持する。IoTデバイスに関連付けられたアカウントは、マイクロペイメントのみを扱い、デジタル値または暗号通貨を独自に保持しない。スマートコントラクトアカウントは、例えば、いくつかのデバイスが故障しているシナリオを解決するためのルール、およびアカウントを他のデバイスに送信する方法を定義することができる。
汎用ブートストラッピングアーキテクチャ(GBA)
汎用ブートストラッピングアーキテクチャ(GBA)としても知られている技術仕様(3GPP TS 33 220)に基づくVodafone SIMトラストアーキテクチャ。証明書と同様に、GBAは当事者間の信頼を確立するために使用される。一方、証明書は、暗号機能をサポートするために互いに組み合わせて使用できる異なる鍵ペアを作成するために非対称暗号に依存する。GBAは、ハードウェアベースの信頼できる実行環境(TEE)を使用して対称鍵を格納し、これらの対称鍵を使用して、認証、機密保護、および完全性保護の少なくとも3つの機能をサポートするために使用できる一時鍵を導出する機能を提供する。GBA規格に関するさらなる詳細は、ETSI Technical Specification TS 33.221 V14.0(2017-05)に見出すことができる。
IoT環境では、GBA TEEはSIMによって提供される。SIMは、認証鍵導出および鍵合意機能をサポートするための資格情報を格納するために使用される。
対称暗号化には、互いに通信する必要があるすべての当事者間で鍵を配布および共有する必要があるという欠点がある。これを鍵配布問題と呼ぶ。電気通信業界は、SIM製造プロセス中に鍵が配布され、対称鍵が2つの場所に格納される対称暗号に依存している。
1.携帯電話またはIoTデバイスであり得るユーザ機器(UE)に格納されたハードウェアトークンデバイスである加入者識別モジュール(SIM)、および
2.認証センタ(AuC)上のオペレータコアネットワークの中央にあり、ホームロケーションレジスタ(HLR)を介してアクセスされる。
この配布プロセスのセキュリティは、この鍵資料の管理においてSIM製造業者および携帯電話事業者が従う安全なプロセスに依存している。
しかしながら、この鍵資料の配布に関与するプロセスおよび人々を標的とする多くのエンティティが知られている。アセットを保護するためにSIMに依存する産業は、厳しいセキュリティプロセスおよびベンダ選択を使用することによってこの鍵配布攻撃の問題に対抗してきた。しかしながら、これは費用がかかる可能性がある。
通信フロー
SIMカードは、アプリケーション層でのエンドツーエンドの認証および暗号化を大規模に実現するために使用できる共有鍵を導出するためのルートオブトラストとして使用される。一般に、このプロセスは3G AKAプロセス(AKA=認証および鍵合意)に依存する。AKAプロセスは、任意のモバイルデバイスがモバイルネットワーク(>2G)に接続し、相互認証および鍵合意を実行するときに使用される。図17および図18は、GBAのSIMトラスト実装に使用される通信フローを高レベルで示す。
デバイスとバックエンドアプリケーションとの間にセキュアなチャネルを確立するためのステップは、鍵を生成するステップと、鍵を使用してセキュアなチャネルを介してデータを交換するステップとの2つのステップからなる。
鍵生成プロセス
鍵生成プロセスは、図19に概略的に示されている。SIMはデバイス内のデバイスAPIと対話し、デバイスは、コアネットワークと通信しているSIMトラストサーバから対称鍵を取得する。デバイスは、httpを介してSIMトラストサーバと通信して、対称鍵の形式で共有秘密を導出する。この対称鍵は、認証されてSIM内に格納される。
鍵を使用してセキュアなチャネルを介してデータを交換する。
共有秘密(対称鍵)が導出されると、それはデータを通信するためのチャネルを保護するために使用され得る。これは、図20に概略的に示されている。
各ネットワークエンティティを通る通信フローを以下に説明する。
デバイス管理(DM)クライアントは、汎用認証アーキテクチャ(GAA)サーバに鍵を問い合わせる。
GAAサーバはSIM(AT+CSIM)のアイデンティティを確立する。
一方、GAAサーバは、待機するようにDMクライアントに通知する。
DMクライアントは、待機中に他の作業を処理することができる。
GAAサーバは、アイデンティティを使用してUbProxyに認証ベクトルを求める。
UbProxyは要求を検証し、正しいブートストラッピングサーバ機能(BSF)にルーティングする。
BSFはHLRにAVを要求する。
HLRはBSFにAVを返す。
BSFは資格情報を格納し、401コードでUbProxyにベクトルのバージョンを返す。
UbProxyは、同じメッセージおよびエラーコードをGAAサーバに返す。
これはSIMに認証を要求する。
有効な応答(開始時のDB)は、有効な応答が抽出されてUbProxyに送信されることを可能にする。
それは次にそれをBSFに送信する。
それは先にHLRから受信したものに対してメッセージに含まれる応答を検証し、200応答を送信する。
UbProxyはGAAサーバに200応答を返す。
GAAサーバは鍵を計算し、それをDMクライアントに返す。
DMクライアントは、必要に応じて鍵を使用し、そのサーバにIDを渡す。
DMサーバが鍵を必要とするとき、IDを使用してNAFを介してUbProxyに問い合わせる。
UbProxyは、適切なBSFに鍵要求を送信する。
それは鍵を計算し、それを返す。
UbProxyは鍵をDMサーバに返す。
DMサーバは必要に応じて鍵を使用する。
SIMトラストから(例えばVodafoneから)開始して、デバイス側のミドルウェアは、デバイスがネットワーク内のSIMとSIMトラストプラットフォーム(ブートストラッピングサーバ機能、BSF)との間でメッセージを送信することを可能にする。デバイスは、SIMトラストデバイスライブラリをサポートし、統合ソフトウェアライブラリ(DDK)を有する。バックエンド側では、アプリケーションがAPIハブを介してアプリケーション処理インターフェース(API)呼び出しを使用してSIMトラストプラットフォームから共有鍵を取得する。
特定のグローバル・データ・サービス・プラットフォーム(GSDP)は、特定のSIMカードまたはIMSI範囲に対してGBA(例えば、SIMトラスト)を有効にすることができる。
デバイス
汎用アーキテクチャ
SIMとDABとの間の統合器層としてデバイスを使用するために、例示的に4つの相互連結された構成要素を設けることができる。
SIM中心:SIMカード(セキュアエレメントと、暗号鍵を格納し、トランザクションおよびデータを認証および署名することができるハードウェアコンポーネントとを含む)。
SIM製造業者によって提供されるライブラリ:接続されたアプリケーション(例えば、記載された暗号ミドルウェア)による使用のためにSIMの機能を公開するライブラリのセット。
ミドルウェア:SIM製造業者のライブラリを直接組み込むことができないアプリケーション、またはデバイスの外部で実行されるアプリケーションおよびデバイス(例えば、データ収集ネットワーク)のためのSIMアプレットのインフラストラクチャ機能を公開するミドルウェアコンポーネント。
イベント検出:DABサービスの残りの部分と、またはブロックチェーンおよびマーケットプレイスおよび/またはエクスチェンジのいずれかと直接、イベントを検出および取引するアプリケーション/アルゴリズム。
これらの構成要素は、図21に概略的に示されている。
本サービス、およびGDSP(管理されたIoT接続性のためのVodafoneのグローバルデータサービスプラットフォーム)、SIMトラスト、またはIoT SAFEなどの既存の機能の使用と共に、デバイスは、ブロックチェーンウォレットおよび信頼された認証者の機能を果たすエッジ統合ポイントと見なすことができる。それらはまた、セキュアな自律的イベントを提供する能力、または単純なハードウェアセキュアモジュール(HSM)として使用される能力を開く。
ミドルウェアは、デバイスがトランザクションエコシステムに円滑に参加することを可能にし、アプリケーションが製造者ライブラリを組み込み、鍵プロビジョニングおよびトランザクション署名のためにSIM機能を消費することを可能にする。接続されたデバイスの外部で実行されるアプリケーションは、これらの機能を利用して、そのAPIを介してミドルウェアにアクセスすることもできる。
デバイスは、直接読み取りから計算分析(例えば、貨物占有評価)までの範囲のデータを処理または収集し、(SIMの場合はPKIで、)暗号化され、SIMカードの秘密鍵で署名されると、任意のブロックチェーンにトークン化するか、または垂直横断的な使用のためにプラットフォーム内の他の場所に格納することができる。
SIM上のセキュアエレメント用ミドルウェア
図22に示すような典型的なIoT展開は、機密データおよびデバイス認証のセキュアな送信を提供するGSMA IoT SAFEから直接利益を得ることができる。それにもかかわらず、SIMアプレットとアプリケーション側との間の通信を容易にするために、デバイス上の上述のミドルウェアが必要とされる。
アーキテクチャ
SIM上のセキュアエレメント用ミドルウェアは、モジュール式アプリケーションを介して異種のアプレット管理を抽象化し、デバイスとデジタルアセットブローカ(DAB)サービスプラットフォームとの統合を可能にする。それは、製造業者に関係なく、アプレット管理のための統一された単一のRESTful API(SIMサービスAPI)を提供する。
SIM機能をデバイスに公開するために、暗号ミドルウェアライブラリは、アプレット実行プラットフォームを提供し、それとインターフェースする。ライブラリは、Java(登録商標)、Android、またはSwift用のOSレベルCライブラリおよび/またはフレームワーク対応モジュールを含むことができ、(展開、削除、更新など)アプレット自体を管理するための方法、ならびに各々によって利用可能にされる動作を提供する。DABミドルウェアコンポーネントの概要を図22に示す。
SIMサービスAPIは、前述の統一された動作を公開するベースエンドポイントのセットであり、各受信された要求に対して、暗号化コアは、例えば外部または組み込まれたJavaライブラリであっても、第三者ベンダ統合オプションと対話するために必要なステップを編成する役割を果たす。これらの各々は、アプレット管理および利用のための独自のロジックフローを備えているので、個々のアダプタコンポーネントは、DABミドルウェアプロバイダコモンズ層によってインターフェース接続され得る。これにより、異なる製造業者によって提供される動作が利用可能になる。
実装
例示的な実装形態では、SIMカードのセキュアエレメント内で実行されるIoT SAFEアプレットと整列した2つのデバイス構成が提供される。
1.携帯電話で実行されているDABアプリケーションは、DABサービスによって指示されたようにデータセットに署名して検証するために、組み込まれたAndroidライブラリを介してそのSIMカードに直接アクセスする。
2.4G接続された自動車用M2Mルータ(テストでは、RaspberryPiおよびVodafone USB Connect 4G v2ドングルを使用してシミュレートされるが、他の適切なハードウェアを使用してもよい)はSIMを含むが、DABミドルウェアを介してその暗号化機能を他のアプリケーションに公開する。
実装されたDABミドルウェアは、以下の例示的な技術を使用する。
Spring Boot、
OpenAPI、
Java Native Interface(JNI)、および
iot-safeミドルウェア。他の技術が使用されてもよい。
1つの例示的な実装形態では、Java Spring Bootは、製造業者ライブラリとの多数の可能な統合シナリオをカバーする。これはまた、それらがJVMを実行することができる限り、スマートデバイスまたはIoTゲートウェイを含むいくつかの種類のデバイスにそれを含める可能性を開く。CPUおよびメモリが制約され得るローエンドデバイスの場合、JVMを使用することは最も効率的な実装ではないが、ハードウェアの違いを抽象化する。
これは、提供される各ライブラリのために拡張することができる構成可能モジュールに分割することができ、コードモジュールを直接インポートすること、またはOSレベルのライブラリと対話すること(例えば、SIM製造業者によって提供されるCライブラリがJNI外部機能インターフェースを介してインターフェース接続される必要がある場合)のいずれかによって、統合方法のより容易な統合を提供するための手法である。これは、通信ユニットに接続された同じデバイス上で実行されるスタンドアロンアプリケーションとしてインスタンス化されてもよく、またはイベント検出ソフトウェア(例えばJavaベースの場合)に組み込まれてもよい。
SIMにインストールされたIoT SAFEアプレットによって利用可能にされる暗号化機能に関する、4つの例示的なSIMサービス動作を定義することができる。これらの動作は、Thales暗号ミドルウェアC++ライブラリによって利用可能にされたAPIメソッドの非常に類似したシグネチャをミラーリングしている(https://github.com/ThalesGroup/iot-safe-middlewareも参照)。Thalesによって提供される暗号ミドルウェアライブラリは、それ自体で2つの方法またはコンパイル、すなわち、通常のAndroidアプリ内からの直接アプレット通信用のJava Androidライブラリ、または上述のミドルウェア手法に適したC++ビルドで使用することができる。
DABミドルウェアAPI
例示的な実装形態では、SIMにインストールされたIoT SAFEアプレットによって利用可能にされる暗号化機能に関するSIMサービス動作は、公開鍵を取得するかまたはメッセージに署名する必要性に応じてアプリケーションによって呼び出される。それらはすべて「コンテナ」ベースの手法に従い(「コンテナ」は、各々がクライアント証明書および鍵ペアを保持するセキュアなメモリ空間である)、展開された各DABユースケースは、それがどの鍵タイプまたはデジタル署名アルゴリズムを必要とするかを認識することができる。したがって、DABミドルウェアを呼び出すときにどのパラメータ/コンテナを使用するかを認識することもできる。
一例では、APIを以下のように簡単に要約することができる。
/コンテナ:SIMのコンテナに関する情報をリストする、
/証明書:特定のコンテナのクライアント証明書を取得する、
/公開鍵:特定のクライアント証明書/コンテナの公開鍵を読み取る、および
/署名:特定のクライアント証明書/コンテナを使用してメッセージに署名する。
このビジネスロジックを図23に示す。
アプリケーション
SIMウォレットを用いたトランザクション署名
ブロックチェーン、暗号通貨ネットワーク、および他のマイクロペイメントの解決策は、トランザクションに署名するノードの能力に依存している。これらのトランザクションのこのピアツーピアの性質により、ノードがトランザクションに参加したことを証明して、否認されないことを保証できることが重要である。したがって、ブロックチェーンアドレスに関連付けられた秘密鍵を安全な場所(理想的には、改ざん防止暗号モジュール)に保持することが重要である。
DABミドルウェアが用意したトランザクションは、SIMに安全に保存された秘密鍵を用いて署名される。この例を図24に概略的に示す。
TLS認証
SIM(例えば、IoT SAFE SIM)に安全に格納されたクライアント鍵およびサーバルート証明書は、DABブロックチェーンアプリケーションをサポートするためだけでなく、デバイスとクラウドで実行されているサービスとの間の相互認証されたTLSセッションを実行するためにも使用できる。これを図25に概略的に示す。
DABミドルウェアはまた、SIMにインストールされたアプレットの鍵生成、ウォレット管理、および管理(インストール、削除など)に対する制御を配信することができる。これは、例えば、新しい鍵ペアを生成するため、またはデジタル署名アルゴリズムを修正するために、IoT SAFEアプレットに対する制御を公開することを伴い得る。
SIMおよびデバイス製造業者の多様性のために、DABミドルウェアは、複数の言語およびオペレーティングシステム用のソフトウェア開発キット(SDK)として利用可能であり、OEMが独自のデバイスにそれを円滑に組み込むことを可能にする。そのJavaベースの性質を考えると、別のオプションは、それをJavaカード技術に移植し、すぐに使用できるDABアクセス可能性のためにすべてのSIMに予めインストールされ得る単一のアプリケーションを配信することを含む。
SIMサービスAPIは、(許可されている場合には)DABプラットフォームに接続されたアプリケーションアクセラレータまたは第三者アプリケーションによる直接デバイス管理のためにDAB APIインベントリで利用可能である。好ましくは、これは、それ自体のユースケースで取引しているデバイスを制御するために、各DABサービスインスタンスによって消費され得る。
イベント検出のためのセンサデータ抽出
例示的な実装形態では、IoT展開は、様々な機能を有することができるデバイスをエンドノードとして使用することができる。これらは、以下を含むことができる。
センサデータを上位層(クラウドまたはサーバ)に直接転送する、または
同じ機能を実行するゲートウェイと通信する。
センサデータは、例えば、デバイス内で発生し得る。
スマートデバイスおよびセキュアエレメントはますます普及しており、結果として得られるデータに基づいて知識を抽出したりアクションを生成したりする能力は、IoTの自律性の鍵となりつつある。データセットを認証する能力、検出アルゴリズムを実行するアプリケーションは、SIM暗号化アプレットにアクセスするための互換性のあるライブラリを直接組み込むか、またはDABミドルウェアを使用して選択可能な秘密鍵で情報に署名することを可能にし、変更できないデータセットをもたらすことができる。
DABデバイスはまた、DAB駆動のユースケース(例えば、検出アルゴリズム展開、ウォレット管理など)で機能することができるデバイス側機能を展開するための制御点として機能し得る。DAB駆動デバイスは、DABサービスがそれらの検出ソフトウェアおよびSIMアプレットを管理するためにアクセス可能であり得る。
DABフレームワーク
例示的な実装形態では、DABサービスは、DABスタックのインスタンス化されたコンポーネントであり、DABエコシステムのトランザクションおよび認証プラットフォームとして機能する。それは、IoTデバイスがサービス/データの価値を取引する機能を提供し、モバイルIoTデバイス、複数のタイプのブロックチェーン技術、および任意の第三者外部システム間の接続性を処理する。このために、DABサービスは、トランザクションコミッタル、デジタルアイデンティティ管理、および第三者サービスアクセスのための、ユースケースオーケストレーションのセットアップのためのRESTベースのAPIを提供することができる。
好ましくは、システムはJava Spring Bootフレームワークを使用する。これにより、ほとんどのオンプレミスまたはクラウドベースのマシンで実行可能なモジュール性が可能になる。これはまた、ライブラリ、ドライバ、および通信スタックであっても、異なる種類のソフトウェアおよびハードウェアアプリケーションと相互接続するための柔軟な環境である。しかしながら、他のフレームワークが使用されてもよい。
例示的な実装形態では、DABサービスは、以下の技術を使用することができる。
Spring Boot、Web3J、OpenAPI、Firebase Java SDK、Spring Quartz、Liquibase、フェイルセーフSDK、JJWT lib、Paho MQTT、PostgreSQL 10、および/またはSpring Reactor。
エコシステム内の役割
DABサービスは、エコシステム、管理デバイス、ユースケース、フロー、およびエンティティのエンジンである。APIを通じて公開されるすべての機能に加えて、DABサービスは、第三者マーケットプレイスからの外部システム、他の電気通信コンポーネント、または追加のブロックチェーンネットワークを統合する。
ネットワークへの接続に加えて、デバイスは管理およびアクセスされ、DABサービスを用いて、デバイスの接続、管理、認証および証明が行われる。外部エンティティ(例えば、会社)がエコシステムに参加したい場合、それはDABサービスを「サービスとして」使用してもよい。別のエンティティがデバイスの周りでより多くの制御を得たい場合、DABサービスのインスタンスは、それら自体のデバイスでの特定の使用のために展開され、それら自体のエコシステムの部分を制御することができる。
IoTデバイスは、計算能力が低いセンサまたは低エネルギーデバイスとして機能し得る。また、デバイスは毎回接続する必要はなく、分散型台帳(例えば、ブロックチェーン)や他のタイプのネットワークに必ずしも常時接続している必要はない。デバイスの計算負荷を低減するために、DABサービスは、デバイスを任意の種類のネットワークと接続するためのプロキシ(またはプロキシサーバ)として機能し得る。これにより、デバイスからのデータを処理する負担が軽減され、あまり強力でないデバイスをエコシステムの一部にすることができる。
DAB管理コア
DAB管理コアは、フローオーケストレーションエンジンおよびAPIコンポーネントからなる、すべての当事者間の主要な通信層として機能する。フローオーケストレーションエンジンは、3つの構成要素からなる。各コンポーネントはAPIを通じてアクセス可能である。
フローオーケストレーションエンジン
プロビジョニングエンジンは、各DABサービスインスタンスでインスタンス化されたユースケースのセットアップと管理の両方を処理し、特定の実装または技術とのユースケースのリンクアップを抽象化する役割を担う。さらに、プロビジョニングエンジンは、これらの技術および第三者サービスの構成を処理する。それは、(SIMサービスAPIを介して)アルゴリズムおよび鍵管理を展開するためのDABスタックに参加するデバイスの管理のためのアクセス層を配信する。このコンポーネントでは、以下の機能が処理される。
ビジネスルール:各デバイスが特定のネットワークまたはマーケットプレイス/エクスチェンジと行うことができる対話を定義するルールのセット。
ユースケース管理:各DABインスタンスの利用可能なユースケースの管理(作成・編集・削除)。また、デバイスがトリガできる使用可能なユースケースをデバイスにプロビジョニングする役割も担う。
接続性:SIM管理、位置サービスなどのためのGDSPなどの他のプラットフォームとの統合。
アルゴリズム:SIMサービスAPIを活用する、DAB駆動デバイスへのアルゴリズムの管理、カタログ作成、および展開。この機能は、好ましくは無線でアップグレードされたデバイス上に高レベルのカスタマイズおよび可能性を提供し、その結果、デバイスからデータがなくなることなく、それら自体のデータに基づいて新しいイベントを発見することができる。
認証エンジン
認証エンジンは、接続されたデバイスおよび作成されたスマートサービスのすべてのデジタルアイデンティティロジックを処理する役割を担う。デバイスからパートナーまたはサービスまでの範囲のエンティティは、ビジネスをペアリングおよび接続する(所与の時間に互いにアクセス可能なものを管理する)ために使用することができるデジタルアイデンティティを有する。したがって、このエンジンは、外部バックエンドのネットワーク内にIoTデバイスエンティティを作成し、それぞれのレジストリに対して認証する能力を提供する。したがって、認証エンジンは、好ましくは一意の識別子によって、DABエコシステムにわたってアイデンティティを一義的にアサートする。プロビジョニングされた鍵を保持し、アイデンティティおよびトランザクションの信頼性に関するコンテキストを提供するデバイスは、プラグインを許可され、実証された実証可能な由来をデータに提供することができる。
トランザクションエンジン
ユースケースに応じて、異なる機能を起動することができ、このカスタマイズはDABプラットフォームの追加の利点である。このようにしてデバイスを認証することにより、受信したトランザクションが信頼できるデバイスから、すなわちSIMカードの秘密鍵を介して、暗号化および署名されることが保証され、由来およびアイデンティティが保証される。したがって、複数のマーケットプレイス/エクスチェンジ(通常、各々が特定のドメインに焦点を合わせている)でトランザクションを直ちに実行することができる。
このように、トランザクションエンジンは、受信されたデバイストランザクションおよびAPI呼び出しを処理する傾向があるロジックを処理する役割を担うことができる。これは、DABサービス層にわたって情報をリダイレクトし、コンポーネント間要求を行うことを必要とする。例えば、これは、データベース、外部システム、またはブロックチェーン統合にアクセスすることを含むことができる。候補イベントを受信すると、DABサービスは、含まれるデータ以上に依存してどのユースケースを適用するかを決定してもよく、デバイスで選択されたアルゴリズムまたはそれらのデータ上で生成されたインサイトをチェックしてもよい。
トランザクションが「長い」処理またはマーケットプレイスタイプのオファー/デマンド照合手順を必要とする場合、トランザクションエンジンは、セキュアなCPUエンクレーブ内で特別なアルゴリズムを実行するためのサービスを提供するDAB管理サービスのオフチェーン処理コンポーネントにインターフェースを提供する。これは、DABサービスまたは第三者によって制御されるサービスを含み得る。
トランザクションエンジンは、データセットがDABスタックに入るイングレスエンドポイントを提供する。これらは同期HTTP POSTによってDAB(または他の通信プロトコル)に配信されてもよく、それらは解析され適用可能なユースケースにルーティングされ、それに関連する(構成された)編成されたフローが開始される。
典型的な価値取引プロセスは、3つのステップに従うことができる。これらは、ほとんどのユースケースに適用可能であり、ユースケース実装がどのようにアプローチされるかを示す。
受信されたメッセージは、価値取引プロセスの開始をトリガする。例えば、これは、DAB駆動デバイスによって送信されたトランザクション(トランザクションエンジンを参照)、または第三者による消費のためにDABサービスによって展開されたカスタムAPI上で受信された特定のメッセージであってもよい。
プロデューサのアイデンティティが検証され、アクティブ化されたユースケースが識別される。トランザクションをブロックチェーンに展開する、または外部システムもしくはDABデバイスにメッセージもしくは信号を配信するなど、結果として生じるアクションが生成される。
アプリケーションは、商業的使用のための実行可能な実用的アプリケーションとして生じるセッション記録およびデータセット照合の概念など、単純なトークン転送を超えるいくつかの種類のユースケースをカバーすることができる。トランザクション可能な多くの種類のデータを一般化するために、トランザクションエンジンは、どのユースケースのフローをアクティブにするかを示すために必要なすべての情報を含むように、できるだけ一般的であるように概説されたAPIメッセージフォーマットを実施することができる。
例示的な実装形態において、例示的なJSONコードを以下に示す。メッセージプロパティは、以下を示すことができる。
transactionId-デバイスによって生成され、メッセージごとに一意のUUID、
usecaseType-使用されるブロックチェーン技術とユースケースの動作モード(例えば、イーサリウム、セッションベースなど)の両方を一義的に識別する必要がある、
transactionType-すべてのユースケースで使用されるが、その動作モードの各ステップを記述するために必要なキーワードに限定される(例えば、開始セッション、オープンセッション、支払い)、
fromDevice-SSID-各SIMのグローバルに一意の識別コード-デバイス識別に使用される、
creationDate-デバイスによって生成されたタイムスタンプ、
transactionObject-現在位置を示すデバイスによって送信されたGPSデータを搬送する「locationObject」プロパティと共に、ブロックチェーン(blockchainObject)に挿入されるデータを含む、
dataType-ブロックチェーンに挿入されるデータのタイプ(「blockchainObject」内に含まれるデータ)を示すために使用される。これは、そのJSONフォーマットを区別するために使用され得る。

“transactionId”:“{{v4uuid}}”,
“transactionType”:“newdata”,
“fromDevice”:“8981300999090900006F”,
“creationDate”:“2020-04-27T17:32:47.020154Z”,
“useCaseType”:“service”,
“dataType”:“generaldata”,
“transactionObject”:{
“blockchainObject”:“{\“borrower\”:\“Daimler\”,…}”,
“locationObject”:“{\“location_data\”:{\“lat\”:51…}}”}

データ永続性サービスなどのサポート機能
データ永続性サービスは、ユースケースオーケストレーション、デバイス構成、デバイスサービス関連データ、およびデータセットハッシュを記述する情報を格納するためにDABサービスが必要とするすべてのデータベース接続性を扱う。これは、特にタイミングが重要になるときに使用され得る。
DAB管理コアの機能は、プラットフォームGUIによってサポートされてもよい。これは、INVENTによって実施されてもよいが、他の技術を使用してもよい。
共通API
フローオーケストレーションエンジンは、ユースケース、認証およびトランザクションを構築および管理するのに適したエンドポイントを提供するために、コア機能の共通APIのセットを必要とする場合がある。
DAB管理サービス
DAB管理サービス機能は、特定の業界垂直またはユースケースに関連するカスタマイズされたデータ処理を実施することができる場所として機能する。それは、DAB管理コアから独立していてもよく、DAB対話のために第三者サービスを統合する必要が生じたときにいつでも定義および開発することができる独自のAPIを有してもよい。スケーラビリティを向上させるために、コア要素はカスタマイズされた要素から独立していてもよい。
カスタマイズされたオフチェーン処理
トランザクションが照合処理を必要とする場合(例えば、トラック容量)、またはマイクロペイメント集約の場合(例えば、料金徴収サービス)、アルゴリズムは、Pythonおよびソフトウェアガードエクステンション(SGX)エンクレーブで実行することができる。
カスタマイズされたAPI
ユースケースが外部システムによってトリガされるために特定の統合が必要な場合、DABサービスによって公開されたエンドポイントは、このコンポーネントに編成され得る。これらのユースケースは、一般に、DABにデジタルデバイスのアイデンティティを問い合わせる、署名を要求する、またはブロックチェーントランザクションをトリガするなど、DABスタックに既に存在するデータに依存する。これらの特注の制御点は、RESTを超えて、SOAP、MQTTなどのJavaによってサポートされる任意の他の技術で利用可能にすることができる。
DABブロックチェーンサービス
モノの台帳
モノの台帳は、例えば、Cordaネットワークに基づいてデジタルIDを作成、維持、および使用する能力を提供する(他の分散型台帳技術が使用されてもよい)。これはその後、認証およびトランザクション署名のためにDAB管理コアによって消費される。モノの台帳上のデバイスのバルクプロビジョニングは、企業が多数のデバイスのデジタルツインを容易かつ同時に作成することを可能にする。DABエクスチェンジは、デバイスおよびユースケースを互いに自動的にマッピングするための重要な差別化要因となるイベント検出を含む。
ブロックチェーンハブおよびスマートコントラクトエンジン
ブロックチェーンハブ
ブロックチェーンハブは、ブロックチェーン実装によって選択された異なる統合機構を管理し、DABコアサービスに相互接続機能を提供する。これらの機構は、組み込みJavaライブラリの使用から、DABサービス自体と共に実行される外部アプリケーションとのシステムレベルの相互作用にまで及ぶ場合がある。したがって、層は、それらの使用に必要なすべてのロジックを技術またはパートナーによって分離する異なるクラスを提供する。(プロビジョニングエンジンを介して)ユースケースを構築するとき、プログラマは、これらのコネクタのうちの1つを容易に選択し、特定のノード、サーバ、または資格情報を使用するようにそれを構成し、トランザクション管理のための単純な方法を提供されることを期待する。
異なるタイプの分散型台帳を使用してもよい。例えば、以下の3つの異なるブロックチェーンを使用することができる。
Cordaネットワークでは、DLTネットワークのいくつかのノードとのRESTful APIを介してトランザクションが行われる。RPCコネクタを使用することも可能であるが、RESTful APIは低摩擦で容易な統合を提供する。
iExecネットワークでは、連続するオペレーティングシステムプロセスが実行され、(パートナーのドキュメントに記載されているような)順序付けられたコマンドのセットが、DABインスタンスと並んでインストールされたNodeJSクライアント(iExec SDK)に発行され、DABによって処理および解釈される必要があるテキストJSON出力を同期して実行および返す。
EWFは、データマーケットプレイスとしてイーサリウムブロックチェーンを使用するシステムを構築したが、デバイスの参加はMQTTメッセージを受信するのみのデータ処理能力のない(dumb)デバイスに限定されることを考慮している。したがって、それらのEWFをDABサービスに統合するために、MQTTクライアント/コネクタは、DABサービスが許可するすべてのデバイスのすべてのEWFフローを管理する。
既存のブロックチェーン実装の複雑さを考慮すると、GethおよびWeb3などのライブラリに基づいてさらなるコネクタを統合して、きめ細かい接続オプションを強化することが可能である。
例示的なユースケース
ユースケース:「サービスの支払い」
このユースケースは、駐車または料金(自動車)のようなサービスを使用および支払いするためにトークン交換がどのように使用され得るかを示す。R3 Corda技術は、ワンタイムトークン/支払いトランザクションを作成するためにトークンSDKフレームワークを実装する。ネットワーク内の5つのノードは、権限ノードとして機能する1つのノータリー、サービス用の2つのノード、およびコンシューマ用の2つのノードを含む。R3 Cordaブロックチェーン上の各ノードは、サービス会社(例えば、駐車、料金徴収会社またはEV充電提供者)などの主要エンティティ、および自動車会社などのコンシューマ企業を表す。各デバイスはトランザクションをトリガすることができるが、そのアイデンティティは必ずしもブロックチェーン自体にミラーリングされるわけではなく、トリガしているスマートコントラクト上に表されてもよい。これを図26に概略的に示す。
スマートコントラクト(Corda上のフロー)に関しては、ネットワークを管理するためのすべてのフローに加えて、各エンティティの各デバイスによって行われるトランザクションを作成および記録するためのメインフロー(すべてのトランザクションの閲覧、情報の収集、または計算の実行を含む)。CoinTokenTypeContractは、CreateEvolvableTokenFlowオブジェクトを表す。そのフローをトリガするとき、フローを開始しているデバイスのアイデンティティなどのいくつかの必須フィールドがあり、そのエンティティは、サービスのコンシューマであるそのデバイスを表す。APIは、ネットワーク上のトランザクションを管理およびトリガし、それらを外部ポータルおよびアプリケーションと統合する。
ネットワークは、アクセスおよびネットワーク利用可能なポートおよびAPIに基づいて定義された構造を有するエンティティによって分離された、AWS(または他の)環境に展開され得る。各ノードは、独自のAPIを提供し、かつ利用可能なネットワークの残りの部分とは独立して動作することができる、独自のウェブサーバを有する。
機能の統合は、スマートフォンまたは他のデバイス(例えば、Android携帯)内で行われている。プラットフォームは、ネットワークを監視し、手動でアクションをトリガすることができる。この解決策は、RESTおよびSSHを使用して、ノード上で直接R3 Cordaインスタンスとインターフェースし、ネットワークトランザクションの監視、新しいトランザクションのトリガ、およびNode-CLIを介したノードの制御などの管理された機能を提供する。次のイメージは、その機能を詳細に示している。
自動車のシナリオでは、R3 Cordaブロックチェーン機能を使用することによって、サービスに対する支払いを自動的に達成することができる。
インターフェース/依存関係
様々なインターフェースは、RESTful(または他の)APIを介してノード上のトランザクションの制御およびトリガを可能にする。RPCおよびSSHを含む他のインターフェースが使用されてもよい(図26参照)。
以下は、それらの機能の説明と共に、使用され得る例示的なAPIのリストを提供する。これらのAPIは、内部で使用されてもよく、または外部エンティティによってアクセスされてもよい。
名称 説明
getMe ノードが誰であるかに関する情報を取得する。
getPeers ネットワーク上の他のノードに関する情報を取得する。
getNetworkMap 接続のネットワークマップを取得する。
getNetworkFeed トランザクションのネットワークフィードを取得する。
getNetworkParameters ネットワーク実装パラメータを取得する。
getRegisteredFlows そのノードの実行可能なフローのリストを取得する。
getTransactionsID ノードが関与したトランザクションIDのリストを取得する。
getTransactionsInfoByID IDによりトランザクションの情報を取得する。
getNumberOfTransactions ネットワーク内のトランザクション数を取得する。
getTransactionsInvolved ノードが関与したトランザクション情報のリストを取得する。
getNumberOfTransactionsInvolved ノードが関与したトランザクションの数を取得する。
getNodeInfo ノード自体に関する情報を取得する。
getNodeTime ノードの現在時刻を取得する。
getTransactions すべてのトランザクションの情報のリストを取得する。
getVodacoins 「Vodacoins」の残高の数字を取得する。
postCreateTx ネットワーク上でトランザクションを作成する。ビジネスロジックの項に記載
分散型台帳内(例えば、ブロックチェーンネットワーク)の各ノードについて、APIは複製可能であり、ネットワークの残りの部分と対話するために同じタイプのフローを実行することができる。
ビジネスロジック
DLT(例えば、Corda)との対話は、確立されたRESTエンドポイントおよびSSH接続のセットを介して行われるため、DABブロックチェーンサービスコネクタは、台帳からのデータの挿入および取得に必要なコールフローを調整する。これらのシナリオをトリガするために、DABアプリ内のユーザレイアウトの集合は、公開層に記述されたメッセージフォーマットに従ってトランザクションを構築する。
この機能のために、サービス支払いシナリオ(useCaseType「service」)は、「newdata」トランザクションタイプのみを必要とする。例えば、アプリケーション(DABアプリ)を使用していくつかのユースケースおよびシナリオを手動でトリガすることが可能である。
混雑課金、ワン・タイム・パーキング、または任意の他のサービスのようなサービスの支払いのために、ユーザは、DABアプリ上でメニューエントリ「新しい貨幣化可能データ」、タブ「サービス」を選択し、フィールドに入力する。
借り手-トークン/価値を譲渡したい相手(サービスプロバイダ)
価値-トークン数
タイプ:
MIN-持続時間量(例えば、分)
CC-金銭的価値における混雑課金額
支払い-金銭的価値における任意の他の支払い
サブ値-選択された支払いタイプに対応する数値(例えば、3分、3ユーロ、3ボーダコイン)
VIN-車両Vin
スロットID-例えば、駐車スロットまたは料金所を指定するために使用できる任意選択のフィールド
場所-例えば、混雑領域入口点または駐車場所を指定するために使用することができる任意選択のフィールド
ICCID-SIMカードICCIDまたはUICC
これは、JSONオブジェクトに変換され得る。
自動的なトリガおよび統合(例えば、自動車の統合)は、ブロックチェーンとの改善された直接対話を提供する。さらに、ネットワークパーティ間の決済が容易になり得る。ブロックチェーンは、コンシューマまたは当事者間で行われたすべてのトランザクションを登録することができるため、サービスは、それらの間で決済が行われながら同じネットワークで取引することができる。スマートコントラクト/フローは、特定の債務を決定し、ある当事者から別の当事者に資金を自動的に送信することができる。あるいは、外部請求システムは、ネットワーク上に存在するすべての単一トランザクションを集約することができる。
ユースケース:「イベント駆動フリート」
このユースケースは、データを生成し、ブロックチェーンベースのマーケットプレイス/エクスチェンジを提供するために直接使用することができる。これは、異なる状況およびシナリオで実施され得る。例示的な実施態様では、物流会社は貨物輸送能力を完全に利用しない場合がある。センサ生成データは、エッジ秘密計算ユニットを使用して処理され、マーケットプレイスまたはエクスチェンジで共有されると、他の当事者またはエンティティによって検索および入札または購入され得る「オファー」データセットを構築することができる。この例では、iExecプラットフォームを使用して、DABサービスによってキューに入れられ、Intel SGXエングレーブを使用して実行されるiExecを使用してスクリプト化されたカスタムオフチェーンアルゴリズムによって実行されるジョブを照合した。これを図27に概略的に示す。
販売者は、ルートを販売したいときはいつでも、手動または自動でDABアプリのUIに入力し、それをiExecマーケットプレイスの他のエクスチェンジに挿入するようにDABサービスに要求する。別のエンティティは、アプリケーション内の同様のプロセスまたはレイアウトを使用して、それらのニーズを記述してもよい。互換性のあるオファー(過去と未来の両方)を検索して照合してもよい。DABサービスは、これらのクエリを受信し、照合ジョブを展開し、一致するものが見つかった場合に双方に通知する。
検出アルゴリズムによって生成されたデータセットの自動展開を使用してもよい。
インターフェース/依存関係
テストシステムでは、オファーおよびデマンドトランザクションを構築し、それらをDABサービスのトランザクションエンジンに送信するために、DABアプリ(AndroidまたはiOSベース)にユーザインターフェースのセットが作成されている。
マーケットプレイス/エクスチェンジを使用するために、DABサービスはiExec SDKと対話する。このアプリケーションは、独自のイーサリウムトランザクションロジック、およびデータ挿入と検索を調整するための別のブロックチェーン統合レイヤコネクタをラップする、コマンドラインNodeJSツールである。これらの動作は各々、実行されるべきいくつかのOS呼び出しを伴い、順序付けられたコマンドのセットがSDKに発行され、SDKは、DABサービスによって処理および解釈されるテキストJSON出力を同期的に実行および返す。すべてのiExecオフチェーンアルゴリズムはセキュアなエンクレーブで実行されるため、それらが使用するデータセットはそれらのブロックチェーンに直接挿入されない。代わりに、これらは、SDKによって生成された秘密で暗号化されると、公開IPFSネットワーク(または他のファイルシステム)に展開される。この秘密は、データセットのIPFSハッシュと共に、挿入フロー中にiExecに各々プッシュされ、秘密は秘密管理サービスに送信され、ハッシュはブロックチェーンに送信される。IPFSピンニングサービスの場合、Pinataが使用されてもよい。この実装はAPIも使用する。
iExec SDK v4.0.3は、同じマシン内のDABサービスインスタンスと共にインストールされ、NodeJS 8.10.0およびDocker 19.03.6の構成を必要とした。
DABアプリは、DABサービスに送信されるトランザクションを構築するユーザインターフェースのセットを作成するために使用される。これは、オファーおよびデマンドの容量をシミュレートする。しかしながら、そのようなプロセスは、異なるエンティティおよびプロセスによってオファーおよび許容が生成される生成システムにおいて自動化される。同様のメッセージフォーマットは、2つの異なるタイプのトランザクションで使用される。
「transactionType」が「newdata」に等しい場合、オファーデータセットが含まれ、それをブロックチェーン/マーケットプレイス/エクスチェンジに展開するようにDABサービスをトリガする;
「lookingfordata」に等しい場合、所望のトリップパラメータを含むデマンドデータセットを搬送する。
iExecによって準備された照合アルゴリズムは、オファーとデマンドの両方に類似した厳密なデータセット形式、出荷会社が特定の価格、日付およびルートで雇用のために利用可能なトラックスペースを販売するテストシナリオを特徴付けるJSON構造を扱うので、両方のデータセットはプロパティ「transactionObject」内にある。
取引情報
トラックトリップのための空間提供を記述するデータセットを手動で作成するために、ユーザはDABアプリ上でメニューエントリ「新しい貨幣化可能データ」、タブ「トラック容量」を選択し、フィールドに入力する。生成システムでは、データセットは、容量を示すことができるセンサを有する個々のトラックによって作成される。データセットは以下を含む。
サービスプロバイダ-サービスプロバイダの名称、
提供スペース-利用可能な貨物ユニットの数量、
起点-トリップ起点、
終点-トリップ目的地、
日付-トリップ日付、
価格-希望価格、
トラックトリップの要求を記述するデータセットを手動で作成するために、ユーザはDABアプリ上でメニューエントリ「データを探す」を選択し、フィールドに入力する。
サービスプロバイダ-貨物空間を探すエンティティの名称、
必要な空間-必要な貨物ユニット、
起点-トリップ起点、
終点-トリップ目的地、
日付-トリップ日付、
価格-入札価格。
ここでも、生成システムでは、貨物空間の入札は、そのようなサービスを必要とするエンティティに対して自動的に生成され得る。
「newdata」または「lookingfordata」を受信すると、DABサービスは、iExec SDKとの一連のシステムレベルの対話を開始する。iExecブロックチェーンに挿入されるのは、オファーデータセット自体ではなく、そのIPFSハッシュ(他の関連するiExecデータと共に)である。
「newdata」トランザクションがマーケットプレイス/エクスチェンジに挿入されるデータセットを識別する場合、「lookingfordata」はDAB側フローをトリガし、DAB側フローは、以前に挿入された「newdata」データセットをループして、(iExecによって管理されるIntel SGXエンクレーブワーカープールで実行される)オフチェーン照合タスクを順次展開してポーリングすることを必要とする。このプロセスを図28に概略的に示す。
照合プロセスは、DABサービスが、対の相手のないオファーおよびデマンドデータセットのハッシュを選択し、それらをiExecワーカープール内の「タスク」に挿入することを伴う。これらのタスクは、iExecワーカープールによってピックアップされて実行され、結果が計算されるまでDABサービスによって繰り返しポーリングされる。DABサービスは、そのデータベース内のすべてのデータセットハッシュを含む更新されたリストを保持する。このプロセスを図29に概略的に示す。
これらのオフチェーンタスクは同時に複数の比較を実行することができないため、DABサービスはデータセットごとに実行を発行する役割を担う。オファーとデマンドとの間に一致が見つかった場合、それらのデータセットハッシュがDABサービスデータベースに登録され、購入者のデバイスに通知される。
オファーおよびデマンドデータセットの両方を挿入したデバイスに一致を通信するため、特にAndroidアプリケーションのメッセージおよびプッシュ通知のためのクロスプラットフォームクラウドによる解決策であるために、Firebaseクラウドメッセージングプラットフォームが使用され得る。コンポーネントは、DAB駆動デバイスのためのFirebaseメッセージングを処理し、すべてのデバイスは、起動時にそれらのFirebase接続トークンを登録するようにされる(DABサービスにポストされたデバイス登録メッセージに沿って送信される)。したがって、それらは起動の準備ができている。ここでも、生成システムでは、メッセージを異なる方法で処理してもよい。
マーケットプレイス/エクスチェンジへのデータの自動供給は、異なる機構を使用して達成してもよい。例えば、AIおよびセンサネットワークは、自動化された市場交渉で設定することができる。既製の照合アルゴリズムを、ワーカープールを保護するために展開してもよい。
代替の実装形態には、
IPFSをより高速な分散ストレージによる解決策に置き換えること、
複数のデータセットを同時に扱うことができる照合アルゴリズムを展開すること、
DABサービスがデマンドデータセットをアンロードし、一致が見つかったときに非同期通知を提供する連続分析のためのデータセットハッシュを提供する、専用のワーカープールを設定すること、が含まれる。
ユースケース:「エネルギーアイデンティティおよび支払い」
この使用により、「DAB対応デバイス」(SIMおよびそれぞれのミドルウェア上のセキュアエレメントを有する)をEnergy Web Foundationスマートエネルギープラットフォームに統合し、アクティブな参加者になることが可能になる。
接続されたデバイスは、Flexhub MQTTブローカからのメッセージ(すべてJWTストリングに符号化されている)を排他的に読み取り、デジタル署名する。アセット所有者は、(電力を売買するための)オファー割当をプログラムしており、FlexHubプラットフォームによって管理および処理される。DABプラットフォームは、ドメイン相互接続を追加する。これは、DABサービスがトランザクションされたデータを認識し、これらのデータを操作することを必要とする。したがって、統合アーキテクチャは、デバイスのためにDABサービスブローカを使用し、それらに代わってFlexHubノードとのメッセージングを処理する。EWFデバイス側コード(元々Pythonで書かれている)は、FlexHub機能に何ら影響を与えることなく、現在は複数のデバイスにサービスするDABコア上で実行されているSpring Bootコンポーネントに移植される。このシステムの概略図を図30に示す。
EWFによって定義された関連するユーザ/当事者/役割には、以下が含まれる。
TSO(伝送システムオペレータ)は柔軟性の要求を提出し、制約および制限を定義し、確認済みアセットをアクティブ化する。
アセット所有者は、その個人アセットの各々がそれらのパラメータと一致するオファーを提出できるように、オファーパラメータを定義する。
インストーラは、アセット所有者のアセットの登録を承認する。
管轄機関は、市場に参加している他の当事者の役割の登録を承認する。
TSOは、それらのエネルギー柔軟性要求および制約をシステムに提出し、アセット所有者は、それらのオファーを提出し(自身で、またはインテリジェンスの第三者プロバイダを介して)、Flex systemは、要求を満たすための最低コストの方法を決定する。
他の強化には、以下が含まれ得る。
登録、プロビジョニング、オファー作成の自動化。
AndroidまたはJavaを使用しているデバイス以外のデバイス。
デバイスは、トランザクションに署名するように要求され、オファーのアクティブ化が通知される。これらは、DABサービスによってトリガされる。これにより、デバイスが、各デバイスから命令のためにそれぞれのFlexHub MQTTキューをポーリングすることが回避される。DABアプリは、以下を含む機能を提供する。
デバイスは、署名用のEWFトランザクションを含むメッセージを受信し、それはその後、DABコアサービスAPI上のカスタムエンドポイントにポストされ、DABコアをトリガしてそれぞれのEWFビジネスフローを完了する。
アクティブ化メッセージが受信されるときはいつでも、DABアプリはユーザ通知を表示し、これは有用で実際のアクション(例えば、モバイルアプリケーションから到達可能なデバイスをオン/オフする)で置き換えてもよい。これを図31に概略的に示す。
ビジネスロジック
フローは、Flex WebApp内の様々なEWFアクターによって行われた入力から開始される。DABサービスは、EWFビジネスロジック(および任意の種類のフロー状態可観測性)を実装する唯一のコンポーネントであるため、FlexHubが必要とする様々なJWTに署名するようにデバイスに要求する。
要求されたメッセージに署名した後、デバイスは、署名されたメッセージを送信したデバイスに対してどのフローが実行されていたかを判定するのに十分な情報とともに、DABサービスにそれらを返す。デバイスは、手元のユースケース(DABスタック目標の1つ)に関係するものとは別の他のJWTに署名する必要があり得る。したがって、Firebase Data Messageフォーマットは、他のシナリオに対する高速な適応を可能にする。「useCase」プロパティは、署名を求めるDABユースケースを指定し、提出時にDABサービスでトリガするアクションを識別するために、サーバがその特定のユースケース内のアクションの追加のコースを区別できるようにする追加の「useCaseAction」プロパティを含めることが適切であると本発明者らは感じた。図32および図33は、このプロセスのシーケンス図を示す。
この統合のために、プロパティ「useCase」は「ewf」としてタグ付けされ、「useCaseAction」フィールドは、デバイスの署名を最初に必要とした特定のEWFビジネスフローを示すために使用された。
特定のアセットによって実行される所与のオファーのアクティブ化チャートを確認するために、Flex WebAppをアセット所有者が使用することもでき、ダッシュボードを介してユーザは作成されたオファーのリストにアクセスし、チャート化したいオファーの「データシート」アイコンを選択することができる。
デバイスは、EWFネットワークの一部になり、これは、発電機、バッテリなどをオン/オフするなどのさらなる実用的な動作に拡張することができる。同じことが、電気自動車充電(EVC)または単純なスマートメータデータの貨幣化を含む、フレックスグリッド以外の他のマーケットプレイスにも適用可能である。
ユースケース:「企業およびコンシューマ駐車」
このユースケースでは、デジタルID(人、サービス、および物に対する)を使用して、支払いの有無にかかわらず自動車をサービスとペアリングできる完全なエンドツーエンド体験を作成する。
1.運転者のいずれかによって行われる(コンシューマB2Cシナリオ-運転者のデジタル識別情報および銀行プラットフォーム内の関連する個人口座を使用する)、
2.後の処理のためにDLT上で使用が維持される車自体に課金される(企業B2Bシナリオ-車が第三者、例えばレンタル会社に属する場合)、
DABサービスは、フローを管理および編成する(およびB2B支払いに使用するためのCorda DLTをホストする)。車両は、DABミドルウェアアプリケーションおよびDABアプリのカスタマイズされたバージョン(例えば、タブレットアプリ)を実行する内部ルータを含み得る。これは、組み込み(例えば、iOSまたはAndroidベース)ダッシュボードコンピュータにインストールすることができる。
インターフェース/依存関係
SPOT駐車システムは、「サービス支払い」ユースケースと同様に、同じ場所およびCorda台帳にインストールすることができる。
SIMによる保護
トランザクションに署名するために、前述のSIM手法によって保護されたものが使用されてもよく、SIM上でPKIを消費する。SIMは、プロセッサまたは他のデバイス(例えば、車両)に差し込まれたUSBドングルに追加される。DABミドルウェアがデバイス上で実行され、前述したように、署名のためにDABミドルウェアAPIを公開する。
駐車インフラストラクチャにインストールされたSPOT駐車システムは、そのゲートを横切る車両を検出し、カスタムAPIセット(上記参照)でエンドポイントを呼び出すことによってDABサービスと共に動作する。このカスタマイズは、SPOTがDABサービスにナンバープレートおよびゲート情報を送信するために使用され、次に、以下の場合にはリターンコードを予期する。
入庫時:有効化された支払いが設定されたため、バリアを開くことができる、
出庫時:精算が完了し、車は出庫することができる。
FINN
B2Cシナリオを管理するために、FINN(RTM)を使用した。これは、IoTの支払いをスマートデバイスに追加するツールキットを含む商用プラットフォーム上に構築されたIoTの解決策の貨幣化に特化している。要約すると、
「製品」は、サービスを提供し、それと対話するための様々なアクションを定義し、それぞれに利用価格を割り当てる。
デバイスは、「製品」を使用するように登録し、そのアクションは、クレジットカードなど、デバイス所有者によって設定された支払い方法に課金される。
デバイスが「製品」アクションをトリガするときはいつでも、FINNエコシステムにマイクロペイメントが登録される。
FINNの場合、「製品」は、実世界で作動する任意の実システム(「製品」アクションを任意の自動化されたアクティビティと接続するためのFINN IOT SDKと統合する)またはオフラインサービスを表す抽象エンティティとすることができる。SPOT内のすべての使用ロジックは、DABサービスコンポーネントによって制御される。この「製品」のための構成された動作は、ゲート入口および出口を含み、それぞれ滞在期間に基づいて0および駐車料金が課金される。
駐車セッションのシーケンス図を図34に示す。
これらのシナリオをトリガするために、DABアプリ内のユーザレイアウトの集合は、DAB管理コアに記載されたメッセージフォーマットに従ってトランザクションを構築する。駐車シナリオ(ユースケースタイプ「駐車」)の場合、セッション開始と終了は、それらの「transactionType」の値(「newdata」および「endcordasession」)と、「transactionObject」の内容によって区別される。この最後のフィールドは、DLTにコミットされる購入者(車)および供給者(駐車場)の両方の情報を搬送する。地理的情報と共に、DABサービスは、各デバイスのプロキシサーバとして機能する(必要に応じてデバイスの位置を検証するために使用される)。
シミュレートされた駐車セッションを開始するために、ユーザはDABアプリ上でメニューエントリ「新しい貨幣化可能データ、:タブ「駐車、を選択し、以下のフィールドに入力する。
イニシエータ-駐車セッションを開始するデバイス(デバイスのSIM IDが自動的に入力される)、
ターゲット-車両が登録されているCordaノード、
ターゲットUUID-イニシエータ車両のコード識別子(UUID)、
ソースUUID-車両を駐車するために選択された駐車スロットのコード識別子(UUID)、
GPSオプション:
MOCK_HAPPY_PATH-GPS位置を使用してパーキングセッションを開始する:常に結果は成功したアクションになる、
REAL_GPS-Android OSから読み取られるように、実際のGPS位置を使用して駐車セッションを開始する。このオプションを使用して正常な駐車セッションを開始する場合、イニシエータデバイスと駐車スロットは、互いに最大6mでなければならない。
駐車セッションを終了するために、ユーザは、
「トランザクション」メニューエントリ内のセッションを開き、以下のフィールドに入力する。
ブロックチェーンに課金される分/価値単位、
GPSオプション:
MOCK_HAPPY_PATH-GPS位置を使用して駐車セッションを停止する、この結果は成功したアクションになる、
REAL_GPS-デバイスの実際のGPS位置を使用して駐車セッションを終了する、
MOCK_END_SESSION_CAR_STILL_PARKE D-車が駐車場所を離れていないかのように動作するようにCorda DAppに指示するテストフラグ。
ビジネスロジック
このユースケースでは、「製品」を使用するデバイスは車両である。しかしながら、その「アクション」は、B2Cシナリオでアクティブ化されてもよい。したがって、「スマートサービス」の概念が使用されており、ユーザのデジタルアイデンティティとDABスタックによって提供されるサービスとの間の関連付けである。
DABはデバイス(車)をSIMに関連付ける:これはFINNベースのスマートサービスであるため、DABサービスは、それを使用したいデバイスに渡すために、SPOT駐車「製品」に関連するすべてのFINNデータを知る必要がある。これは、車両タブレットアプリ(または車両もしくはデバイス内の他のプロセッサ)が起動するたびに行われ、それと一緒にインストールされるのは、FINNコアバックエンドに登録され、必要に応じていつでもSPOT駐車「製品」を使用する準備ができるようにその車両を自動的にセットアップするためのコードを含む、FINN提供アプリ(FINN IOT SDKを組み込む)である。このプロビジョニングフローは図35に示されており、以下を含む。
ステップ 説明 トリガ
1 製造業者がSCB-DABシステムに新しい車を追加する 製造業者
2 DABは、その車のアイデンティティのための新しいスマートコントラクトをDDIブロックチェーンネットワークに展開する DAB
3 DDIブロックチェーンネットワークは対応するdidで応答する DDIブロックチェーン
4 DABはそれを車のナンバープレートと関連付ける DAB
5 DABは対応する車に車のdidを送信する DAB
6 車は自分のデータベースに自分のdidを保存する 車
スマートサービスのオンボーディング:ユーザが「スマートサービス」のオンボーディングを実行したいときはいつでも、特別に開発されたAndroidアプリケーション(以下、「スマートサービスアプリケーション」として知られる)を使用して実行する。アプリは、デジタルアイデンティティを選択するためのDIDアプリケーションと協働し、そのUIから選択されたスマートサービスをそれに関連付ける。これを図36に概略的に示す。
この時点で、ユーザが「SPOT駐車スマートサービス」を使用するためにオンボードしている場合、DABサービスは、ユーザ側のFINN支払い方法を構成するのに十分なデータ(最初にタブレットアプリによって送信されたデータ)で応答しており、このために、スマートサービスアプリは、最初にユーザに有効な支払いクレジットカードを要求し、次いでそれをSPOT駐車製品のコンシューマとして登録する、別のFINN供給アプリケーション(FINNモバイルSDKを組み込む)とインテントを介して自動的に通信する。これを図37に概略的に示す。この例示的な実装形態では、以下のステップをとることができる。
B2Cサービスのオンボーディング(図37)
ステップ 説明 トリガ
1 スマートサービスアプリは、DABをトリガしてユーザ用の新しいサービスを作成する スマートサービスアプリ
2 DABはプロファイルタイプ(個人の場合)をチェックし、ユーザデータを保存する DAB
3 DABは、ユーザ側初期化に必要なデータ:ユーザプロファイルデータ+サービスデータで応答する DAB
4 スマートサービスアプリは、(インテントを介して)新しいサービスを作成するためにFinnモバイルアプリをトリガする スマートサービスアプリ
5 FinnモバイルアプリがFINNコアに要求を転送する FINNモバイルアプリケーション
6 FINNコアは、成功またはエラーメッセージで応答する FINNコア
7 Finnモバイルアプリは、成功またはエラーメッセージで応答する(インテントリターンを介して)FINNモバイルアプリケーション
9 スマートサービスアプリは、Finnのオンボーディング確認を/サービス/確認にポストする スマートサービスアプリ
デバイスを識別する(例えば車):ユーザがどの車を運転しているかを決定するために(および車両がFINN SPOT駐車「製品」アクションをトリガすることを理解するために)、ユーザと物との間のセッションを作成するためにデジタルアイデンティティ機能を活用するログイン機構がDABプラットフォームで確立される。このようにして、車が入口ゲートを横切るときはいつでも、DABサービスは誰がそれを運転しているかを知る。このフローは、運転者がDABアプリ(車の車載されたタブレットに予めインストールされている)に車のナンバープレートを入力したときにトリガされ、その後のアクティビティは以下の2つの段階に分けることができる。
QRコード(登録商標)の生成:DABアプリは、認証プロセスを進めるために、運転者がスキャンするためのQRコードをタブレット上に生成する、および
運転者認証:運転者はQRコードをスキャンし、DDIアプリをトリガして開く。そこから、運転者は、車両と共有したい個人情報を許可する(または許可しない)。このデータの一部は強制的であるが、他は任意であり、これは(すべての車両のプロキシとして機能する)DABで構成された設計決定である。ユーザによって共有されるすべての許可された情報は、DABに格納され得る。これを図38に概略的に示す。
QRコードを介した運転者-車ログイン(図38)
ステップ 説明 トリガ
1 運転者は、車のタブレットアプリにナンバープレートを入力する タブレットアプリ
2 タブレットアプリは、ログイン要求をDABに送信する タブレットアプリ
3 DABは、そのログイン「セッション」を識別するランダムトピックUUIDを生成する DAB
4 DABは、GCLにノンス+許可IDを要求する DAB
5 GCL応答:ノンス+authID GCL
6 DABは、トピックをノンス+authID+ステップ2データと関連付ける DAB
7 DABは、QRコードを生成するために必要なデータをタブレットアプリに送信する DAB
8 タブレットアプリは、認証用QRコードを生成する タブレットアプリ
非中央集権化デジタルID(DDI)を介した運転者-車ログイン(図39)
ステップ 説明 トリガ
1 運転者は、自分の電話でQRコードを読み取る(トピック+車のDIDアイデンティティを含む)運転者
2 DDIアプリが開き、運転者は自身について共有したいデータを選択および/または許可する。DDIアプリ
3 DDIアプリは、その情報を共有する GCL
4 GCLは、提供された車のアイデンティティに格納されたDABリターンURLをブロックチェーンに要求する GCL
5 GCLは、そのエンドポイントをポストし、トピックの存在をチェックするトピックが存在する場合、DABは、ログインしようとしているユーザに関係する指示されたuserDidを格納する GCL
6 DABは、GCLにOkまたはエラー応答を送信する DAB
7 GCLは、ログイン結果をDDIアプリに送信する GCL
8 ログイン結果が成功すると、DDIアプリはユーザプロファイル+プロファイルタイプをDABにポストする DDIアプリ
9 DABは、このユーザ/車セッションのユーザプロファイル+プロファイルタイプを保存する DAB
10 DABは、ログイン結果をタブレットアプリに送信する DAB
11 タブレットアプリは成功メッセージを表示する タブレットアプリ
DABサービス:DABサービスは、SPOTがカスタムAPI(既存のSPOTインフラストラクチャの仕様に従って実装される)のカスタムRESTエンドポイントに検出された車両ナンバープレートに関する情報をポストするたびにトリガされる。次のロジックは、SPOTビジネスフローを管理するためにDABコア内に統合される追加のコンポーネントを必要としたが、これは以下のように要約することができる。
車両が駐車場に進入したときに、
スマートサービスにB2Bプロファイルがオンボードされていた場合、DABサービスは、ブロックチェーン統合層のCordaコネクタを使用して、Corda DLT上でその車両のセッションを開く(「駐車および料金」ユースケースをミラーリングする)、
スマートサービスにB2Cプロファイルがオンボードされていた場合、Firebaseメッセージが車両のタブレットアプリにプッシュされて、SPOT製品識別子のFinnバックエンドで製品のアクティブ化がトリガされる。
車両が駐車場を出るときに、
スマートサービスにB2Bプロファイルがオンボードされていた場合、DABサービスはその車両の以前に開かれたDLTセッションを閉じる、
スマートサービスにB2Cプロファイルがオンボードされていた場合、Firebaseメッセージが車両のタブレットアプリにプッシュされて、SPOT製品識別子のFinnバックエンドで製品の非アクティブ化がトリガされる。
B2Bは、駐車フローの詳細を開始する(図40)。
ステップ 説明 トリガ
1 入口ゲートのカメラは、ナンバープレートを走査する 駐車ゲート
2 駐車ゲートは、そのナンバープレートに対する新しい駐車セッションを開始するようにDABに要求する 駐車ゲート
3 DABは、駐車サービスのオンボーディングに使用されるユーザのDIDプロファイルタイプをチェックする(企業の場合)DAB
4 DABは、Corda駐車ブロックチェーン内の新しい駐車セッションをトリガする DAB
5 ブロックチェーンからDABへの応答-成功またはエラー 駐車ブロックチェーン
6 DABは、新しい駐車セッションを通知するFirebase通知をタブレットアプリに送信し、適切なメッセージでステップ2を返し、次にゲートをトリガして開く DAB
7 タブレットアプリは、新しい駐車セッションに関する情報を画面に表示する タブレットアプリ
B2Cは、駐車フローの詳細を開始する(図41)
ステップ 説明 トリガ
1 駐車ゲートのカメラは、ナンバープレートを走査する 駐車ゲート
2 駐車ゲートは、そのナンバープレートに対する駐車セッションを開始するようにDABに要求する 駐車ゲート
3 DABは、駐車サービスのオンボーディングに使用されるユーザのDIDプロファイルタイプをチェックする(個人の場合)DAB
4 DABは、Firebase通知をタブレットアプリに送信し、Finnアクション(入庫)をトリガする DAB
5 タブレットアプリは、インテントを介してFINN IoT SDKに入庫アクションをトリガする タブレットアプリ
6 FINN IoT SDKは、DABミドルウェアを使用して、対応する鍵ペアでトランザクションに署名する FINN IoT SDK
7 FINN IoT SDKは、FINNコア内の入庫アクションをトリガする FINN IoT SDK
8 FINN IoT SDKに対するFINNコアからの応答-成功またはエラー FINNコア
9 FINN IoT SDKは、インテントリターンを介して操作結果をシグナリングし、タブレットアプリは通知ポップアップを表示する FINN IoT SDK
10 DABはステップ2で行われたポストから戻り、ゲートをトリガして開く タブレットアプリ
B2Bは、駐車フローの詳細を終了する(図42)。
ステップ 説明 トリガ
1 出口ゲートのカメラは、ナンバープレートを走査する 駐車ゲート
2 ゲートは、そのナンバープレートに対する駐車セッションを終了するようにDABに要求する 駐車ゲート
3 DABは、駐車サービスのオンボーディングに使用されるユーザのDIDプロファイルタイプをチェックする(企業の場合)DAB
4 DABは、Corda駐車ブロックチェーン内の駐車セッションのクローズをトリガする DAB
5 ブロックチェーンからDABへの応答-成功またはエラー 駐車ブロックチェーン
6 DABは、駐車セッションの価格および持続時間を含むFirebase通知をタブレットアプリに送信し、適切なメッセージでステップ2を返し、次にゲートをトリガして開く DAB
7 タブレットアプリは、新しい駐車セッションに関する情報を画面に表示する タブレットアプリ
B2Bは、駐車フローの詳細を終了する(図43)。
ステップ 説明 トリガ
1 出口ゲートのカメラは、ナンバープレートを走査する 駐車ゲート
2 ゲートは、そのナンバープレートに対する駐車セッションを終了するようにDABに要求する 駐車ゲート
3 DABは、駐車サービスのオンボーディングに使用されるユーザのDIDプロファイルタイプをチェックする(個人の場合)DAB
4 DABは、駐車セッションの価格および持続時間を含むFirebase通知をタブレットアプリケーションに送信し、Finnアクション(出庫)をトリガする DAB
5 タブレットアプリは、インテントを介してFINN IoT SDKに出庫アクションをトリガする タブレットアプリ
6 FINN IoT SDKは、DABミドルウェアを使用して、対応する鍵ペアでトランザクションに署名する FINN IoT SDK
7 FINN IoT SDKは、FINNコア内の出庫アクションをトリガする FINN IoT SDK
8 FINN IoT SDKに対するFINNコアからの応答-成功またはエラー FINNコア
9 FINN IoT SDKは、インテントリターンを介して操作結果をシグナリングし、タブレットアプリは通知ポップアップを表示する FINN IoT SDK
10 DABはステップ2で行われたポストから戻り、ゲートをトリガして開く タブレットアプリ
同様の解決策は、異なる駐車の解決策に適用することができ、また、例えば、EV充電および料金が同じフローに従うことができるスマートシティにおける異なるドメインにも適用することができる。コンシューマデジタルIDおよび支払いに関して、エンドツーエンド体験の改善が行われている。
DABユーザインターフェース
テスト環境には、以下の2つの主なユーザインターフェース(UI)がある。
DAB APP:Android(または他の)モバイルアプリケーション
DAB AEP:DAB Cordaブロックチェーンを接続するためのThingworx拡張
UIは、顧客がすべての機能を利用できるようにするだけでなく、運用および保守チームがエコシステムおよび解決策を管理し、情報を監視および抽出できるようにするために重要である。
図44~図48は、例示的なプラットフォーム環境を示す。他のサーバタイプおよびサービスが使用されてもよい。
これはテストシナリオを説明しているが、実際の駐車セッションは、同様だがアプリケーションを必要としない方法で処理される場合がある。すべてのメッセージは、車両(または駐車位置)の内部または周囲のセンサおよび検出されたイベントから開始され得る。
当業者には理解されるように、上記の実施形態の詳細は、添付の特許請求の範囲によって定義される本発明の範囲から逸脱することなく変更することができる。
例えば、異なる分散型台帳または台帳技術を使用することができる。UICCは、例えば、組み込みSIMであってもよい。例えば、移動式、可動式、固定式、監視付き、監視なし、家庭用、商業用または工業用デバイスを含む多くの異なるタイプのデバイスが使用されてもよい。
上記の実施形態の特徴に対する多くの組み合わせ、修正、または変更は、当業者には容易に明らかであり、本発明の一部を形成することを意図している。1つの実施形態または例に具体的に関連して説明した特徴のいずれも、適切な変更を行うことによって任意の他の実施形態で使用され得る。

Claims (18)

  1. セキュアなトランザクションを実行するための方法であって、前記方法が、
    UICCを有するデバイスとサーバとの間でセキュアな通信チャネルを開始するステップであって、前記セキュアな通信チャネルが、前記UICCを使用して確保される、ステップと、
    前記サーバにおいて、前記セキュアな通信チャネルを介して前記デバイスから、トランザクションを実行するための命令を受信するステップと、
    前記受信した命令に応答して、前記サーバから分散型台帳に、前記トランザクションを実行する要求を送信するステップと、
    前記要求に応答して、前記分散型台帳内に格納された公開鍵と秘密鍵のペアを使用して、前記分散型台帳内で前記トランザクションに署名するステップと
    を含む、方法。
  2. 前記UICCと前記サーバとの間の前記セキュアな通信が、前記UICCに格納された公開鍵と秘密鍵のペアを使用して開始される、請求項1に記載の方法。
  3. 前記UICC内で前記公開鍵と秘密鍵のペアを生成するステップをさらに含む、請求項2に記載の方法。
  4. 前記UICCと前記サーバとの間の前記セキュアな通信が、共有秘密を使用して開始される、請求項1に記載の方法。
  5. 前記秘密が、
    前記UICCが製造されるときに、前記UICC内および電気通信ネットワークコンポーネント内に前記共有秘密を格納すること、および
    前記電気通信ネットワークコンポーネントが前記サーバに前記共有秘密を送信すること
    によって前記UICCと前記サーバとの間で共有される、請求項4に記載の方法。
  6. 前記電気通信ネットワークコンポーネントが、ホームロケーションレジスタ、HLRである、請求項5に記載の方法。
  7. 前記共有秘密が、汎用ブートストラッピングアーキテクチャ、GBAを使用して生成される、請求項4に記載の方法。
  8. 前記秘密が、
    前記UICCおよびブートストラッピングサーバ機能、BSF内で前記共有秘密を生成すること、および
    前記BSFが前記サーバに前記共有秘密を送信すること
    によって前記UICCと前記サーバとの間で共有される、請求項7に記載の方法。
  9. 前記トランザクションが、前記デバイスに関連付けられたウォレット識別子と共に前記分散型台帳に記録される、先行する請求項のいずれかに記載の方法。
  10. 前記セキュアな通信チャネルとは異なる物理通信チャネルを使用して前記デバイスを検証することによって前記分散型台帳上の前記デバイスに関連付けられた前記ウォレット識別子を生成するステップをさらに含む、請求項9に記載の方法。
  11. 前記異なる物理チャネルがSMSである、請求項10に記載の方法。
  12. 前記トランザクションがブロックチェーントランザクションである、先行する請求項のいずれかに記載の方法。
  13. 前記トランザクションがクレジットカードまたは銀行取引である、請求項1~11のいずれか1項に記載の方法。
  14. UICCを有するデバイスと、
    公開鍵と秘密鍵のペアを格納する分散型台帳と、
    1つ以上のプロセッサと、前記1つ以上のプロセッサに、
    前記UICCを使用して前記デバイスとのセキュアな通信チャネルを提供すること、
    前記セキュアな通信チャネルを介して前記デバイスから、トランザクションを実行するための命令を受信すること、および
    前記受信した命令に応答して、前記サーバから前記分散型台帳に前記トランザクションの実行する要求を送信すること
    を行わせるように構成された命令を格納するメモリとを有するサーバと
    を備え、
    前記分散型台帳が、1つ以上のプロセッサと、前記分散型台帳の前記1つ以上のプロセッサに、
    前記サーバからの要求に応答して、前記格納された公開鍵と秘密鍵のペアを使用して前記トランザクションに署名させること
    を行わせるように構成された命令を格納するメモリとを有する、システム。
  15. 前記分散型台帳の前記メモリがさらに、前記分散型台帳の前記1つ以上のプロセッサに、
    前記デバイスに関連付けられたウォレット識別子を前記分散型台帳に記録することであって、前記トランザクションが、前記デバイスに関連付けられた前記ウォレット識別子を用いて前記分散型台帳に記録されること
    を行わせるように構成された命令を含む、請求項14に記載のシステム。
  16. 前記分散型台帳の前記メモリがさらに、前記分散型台帳の前記1つ以上のプロセッサに、
    前記セキュアな通信チャネルとは異なる物理通信チャネルを使用して前記デバイスを検証することによって前記分散型台帳上の前記デバイスに関連付けられた前記ウォレット識別子を生成すること
    を行わせるように構成された命令を含む、請求項15に記載のシステム。
  17. 前記デバイスの前記UICCが、検証要求に応答する命令を含むセキュアなアプレットを格納するメモリをさらに備える、請求項14~16のいずれか1項に記載のシステム。
  18. 前記トランザクションが前記デバイスの識別子に関連付けられる、請求項14~17のいずれか1項に記載のシステム。
JP2023562472A 2021-04-09 2022-04-06 ブロックチェーンマイクロトランザクション Pending JP2024514859A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB2105100.8 2021-04-09
GB2105100.8A GB2605785A (en) 2021-04-09 2021-04-09 Blockchain micro transactions
PCT/GB2022/050860 WO2022214806A1 (en) 2021-04-09 2022-04-06 Blockchain micro transactions

Publications (1)

Publication Number Publication Date
JP2024514859A true JP2024514859A (ja) 2024-04-03

Family

ID=75949468

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023562472A Pending JP2024514859A (ja) 2021-04-09 2022-04-06 ブロックチェーンマイクロトランザクション

Country Status (10)

Country Link
US (1) US20240202719A1 (ja)
EP (1) EP4320808A1 (ja)
JP (1) JP2024514859A (ja)
CN (1) CN117837126A (ja)
AU (1) AU2022255377A1 (ja)
BR (1) BR112023020845A2 (ja)
CA (1) CA3214995A1 (ja)
GB (1) GB2605785A (ja)
IL (1) IL307564A (ja)
WO (1) WO2022214806A1 (ja)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111869187A (zh) * 2018-05-07 2020-10-30 康维达无线有限责任公司 Iot服务层系统与分布式分类账系统之间的互通
US10826704B2 (en) * 2018-08-31 2020-11-03 Hewlett Packard Enterprise Development Lp Blockchain key storage on SIM devices
EP3627789A1 (en) * 2018-09-19 2020-03-25 Vocalink Limited Information processing devices and methods
US20210374724A1 (en) * 2018-10-19 2021-12-02 Bell Identification B.V. Secure digital wallet processing system
US11310225B2 (en) * 2018-10-26 2022-04-19 Hewlett Packard Enterprise Development Lp Access to telecom blockchain-based services with digital passport
GB2573394A (en) * 2019-03-19 2019-11-06 ZingMobile Pte Ltd Crypto SIM and method therefor

Also Published As

Publication number Publication date
WO2022214806A1 (en) 2022-10-13
BR112023020845A2 (pt) 2023-12-12
GB2605785A (en) 2022-10-19
EP4320808A1 (en) 2024-02-14
CA3214995A1 (en) 2022-10-13
US20240202719A1 (en) 2024-06-20
GB202105100D0 (en) 2021-05-26
AU2022255377A1 (en) 2023-10-26
IL307564A (en) 2023-12-01
CN117837126A (zh) 2024-04-05

Similar Documents

Publication Publication Date Title
US20240205022A1 (en) Secure Sensor Data Distribution
US10176476B2 (en) Secure ecosystem infrastructure enabling multiple types of electronic wallets in an ecosystem of issuers, service providers, and acquires of instruments
US20220303258A1 (en) Computer-implemented system and method
US20200034902A1 (en) Witnessed ad-hoc uservices
JP6667498B2 (ja) リモート取引システム、方法およびpos端末
JP2024514858A (ja) ブロックチェーン鍵生成
US20220353058A1 (en) Conditional offline interaction system and method
US20240202719A1 (en) Blockchain Micro Transactions
US20240193577A1 (en) SIM Cryptographic Key Storage
US20240232871A1 (en) Blockchain Key Generation
JP2024514857A (ja) ブロックチェーン鍵生成
EP3188104A1 (en) Peer-to-peer transaction authorization
WO2024108143A1 (en) Systems and methods for secure payments via an alternative communication protocol