ブロックチェーンを使用した生体認証ID管理プラットフォームのOracle Cloudへの導入

IPtokiは、機械学習モデル、ブロックチェーン、マイクロサービスを組み合わせて、クラウドネイティブのW3C-compliant生体認証管理プラットフォームを構築し、それをOracle Cloud Infrastructure(OCI)にデプロイしました。

ユーザーが本人であることを検証するために、IPtokiプラットフォームは、人間の行動生体認証を取得して一意のデジタル署名を作成し、それらの署名を不変レコードとしてブロックチェーン台帳に格納します。IPtokiのプラットフォームは、機械学習(ML)アルゴリズムを通じて、キーボードに入力する独自の方法、スマートフォン画面のスワイプ、またはモバイルデバイスで他の周辺機器を使用して、個人を継続的に認証します。

2018年にカナダのケベックで設立されたIPtokiのプラットフォームにより、個人はスマートフォンやウェアラブル・デバイス、信頼できるサード・パーティからの認定デバイスを使用して自分を特定できます。ユーザーのW3C-compliant検証済資格証明はEウォレットで保護されたままですが、そのような資格証明は、特定のアプリケーションまたはセキュアなシステムまたはサービスへのアクセスを認可するユーザーの管理下にも表示されます。

ディープ・ラーニング・アルゴリズムをトレーニングした後、IPtokiのI Am My IDオーセンティケータは、ブロックチェーン分散型元帳およびMLアルゴリズムを使用して、人間の生体認証データを継続的に検証できます。ブロックチェーンおよびMLアルゴリズムによって、ユーザーの一意の署名を抽出できるだけでなく、これらのツールは、ユーザーが提示する検証済の資格証明を検証し、それらの個人が本人であることを確認し、特定のシステムおよびサービスへのアクセスを承認するのに役立ちます。IPtokiは、スマート・デバイス・センサーを使用してユーザーの生体認証を取得し、署名を定義し、アイデンティティの継続的な認証を可能にします。

IPtokiのI Am My IDプラットフォームのコア・コンポーネントは次のとおりです。

  • マルチファクタ認証:
    • IDを確認
    • セキュア・サービスへのアクセス権を付与
    • 保護されたアクセスの管理
    • スクリーン・スワイプの分析
  • 行動生体認証:
    • ボディの動きを追跡する
    • 物理ジェスチャの確認
    • キーボードストロークのモニター
    • SDKを使用したブロックチェーン・アプリケーションのコード・ライブラリの管理
  • Eウォレット:
    • ブロックチェーンで保護されている検証済ドキュメントおよび資格証明にアクセスします
    • 検証済資格証明の共有
    • ナレッジ・プルーフなしを使用した認証推論結果の検証
  • ブロックチェーン:
    • 個々のアイデンティティ、資格証明およびドキュメントの不変レコードを取得して保存します
    • アルゴリズムの作成とデバッグ
    • MLモデルのトレーニング
  • 機械学習アルゴリズム:
    • デバイス・センサー・データの取得と分類
    • レポートの実行および保守
    • アプリケーションおよびユーザーのポリシーの記述および適用
  • 管理:
    • ダッシュボードの作成およびモニター
    • システム・インタフェースの変更および管理
    • ユーザー・フェデレーションを使用して、認可された個人が単一の資格証明セットで複数のサービスにアクセスすることを許可します
  • ID管理:
    • 複数のサービス・プロバイダ(SP)と異なるアイデンティティ・プロバイダ(IDP)間で接続し、信頼を確立します。
    • APIを使用したデバイスとアプリケーションの接続
    • REST APIを使用したアプリケーション間の情報の交換
  • マイクロサービス: サードパーティ・サービスとの通信

このアーキテクチャのハイライトは次のとおりです。

  • IPtokiの「I Am My ID」プラットフォームは、キーボード・ストローク、マウス・クリック、スクリーン・スワイプなどのスマート・デバイスとの対話を通じて、個々の行動生体認証を取得および分類します。
  • IPtokiのI Am My IDソリューションは、Oracle Blockchain Platformを使用して、ユーザーの資格証明の不変レコードを格納します。
  • Oracle Cloud Infrastructure Container Engine for Kubernetes (OKE)は、Kafka、Kibana、ID Manager、APIおよび機械学習操作で構成されるIPtokiプラットフォームのコンテナを管理します。
  • 機械学習操作では、NVIDIA GPUを持つOracle仮想マシン・シェイプをOKEクラスタ上のノードとして使用します。
  • Oracle NoSQL Database Cloud Serviceは、データベース操作を提供します。

アーキテクチャ

IPtokiは、機械学習とOracle Blockchain Platformを使用して、Oracle Cloud Infrastructure (OCI)に高度なアイデンティティ・プラットフォームを構築およびデプロイしました。

IPtokiプラットフォームは、IPtoki I Am My IDアプリケーションを使用して、スマートフォンおよびウェアラブル上のセンサーからマルチモーダル行動生体認証を収集します。これらはJSONファイルとして取得され、機械学習アルゴリズムを推進する行動生体認証情報(歩行、ジェスチャ、運動およびキーストローク動力学)が含まれます。Kafkaは、Oracle NoSQL Database Cloud Serviceデータベース・インスタンスに格納されているJSONオブジェクトをストリーミングするために使用されます。

ディープ・ラーニング・モデルは、GPUベースの仮想マシン・インスタンスのコンテナに開発されます。ユーザーには独自の行動モデルがあり、これらのユーザーのスマート・デバイスに埋め込まれたセンサーから取得された行動生体認証から開発されます。この生体認証データはJSONファイルに変換され、NoSQLデータベースに格納されます。生体認証識別(ID)が確立されると、IDは、LDAP、Oracle Unified Directory、Oracle Identity Cloud Service、Microsoft Active Directory、ソーシャル・メディア認証(ソーシャル認証)などのアイデンティティ・プロバイダのユーザーIDにリンクされます。ID ManagerはIPtoki IDを作成し、カスタムの湿度スマート・コントラクトを使用してEthereum仮想マシン(EVM)を実行しているOracle Blockchain Platformに格納します。

次のダイアグラムにアーキテクチャを示します。



iptoki-oci-architecture - oracle.zip

IPtoki IDは、Oracle Blockchain Platformの不変元帳に、連続認証のために後で検証できる一意の署名として格納されます。IDが確立された後、IPtokiソリューションは、オーセンティケータ・アプリケーションによって提供されるリアルタイムの生体認証を、REST APIコールを介してブロックチェーン・スマート・コントラクトに格納されている校正と比較することで、ユーザーのアイデンティティを検証できます。

この透過的なアイデンティティ検証を使用して、ユーザーを認証し、ヘルスケア、サプライ・チェーン、フリート、ワークフォース管理などの多様なユース・ケースに対して特定のアクションを認可できます。たとえば、スマート・デバイスとの日常的な対話によって、Webサービスへのアクセスをシームレスにロック解除できます。また、複雑な工場設備に近づくトラック運転手や機械運転手は、その歩行やトラックのドアを開けたり、工場の機械にアクセスしたり、許可されている場合は特定の機器を操作したりするために、歩行や他の生体認証を受けることができます。

IPtokiソリューションは、各ユース・ケースに基づいて、許可型ブロックチェーン・ネットワーク内でマップされる複数の組織をサポートできます。ブロックチェーン・ノードは、OCIコンソールを使用してOracle Blockchain Platformネットワーク内に作成してから、共有ブロックチェーン・ネットワークにリンクできます。たとえば、ロジスティクス組織は、IPtokiファウンダ・ノードと、参加者として参加する運送業者、ポートおよび出荷元組織で構成されます。組織間で特定のブロックチェーン・チャネルは、台帳を分離し、特定の情報へのアクセスを制限します。

次の図は、OCIの管理対象ブロックチェーン(サービスとして)インスタンスを使用して作成されたHyperledger Fabricネットワークの例を示しています。



iptoki-blockchain-network-oracle.zip

アーキテクチャには、次のコンポーネントがあります。

  • テナント

    テナンシは、Oracle Cloud Infrastructureへのサインアップ時にOracleがOracle Cloud内で設定するセキュアで分離されたパーティションです。テナンシ内のOracle Cloudでリソースを作成、編成および管理できます。テナンシは、会社または組織と同義です。通常、会社は単一のテナンシを持ち、そのテナンシ内の組織構造を反映します。通常、単一のテナンシは単一のサブスクリプションに関連付けられ、単一のサブスクリプションには1つのテナンシのみが含まれます。

  • リージョン

    Oracle Cloud Infrastructureリージョンは、可用性ドメインと呼ばれる1つ以上のデータ・センターを含むローカライズされた地理的領域です。リージョンは他のリージョンから独立しており、広大な距離で(複数の国または複数の大陸にまたがる)リージョンを分離できます。

  • 可用性ドメイン

    可用性ドメインは、リージョン内の独立したスタンドアロン・データ・センターです。各可用性ドメイン内の物理リソースは、他の可用性ドメイン内のリソースから分離されているため、フォルト・トレランスが提供されます。可用性ドメインどうしは、電力や冷却、内部可用性ドメイン・ネットワークなどのインフラを共有しません。そのため、ある可用性ドメインでの障害がリージョン内の他の可用性ドメインに影響することはほとんどありません。

  • 仮想クラウド・ネットワーク(VCN)およびサブネット

    VCNは、Oracle Cloud Infrastructureリージョンで設定する、カスタマイズ可能なソフトウェア定義のネットワークです。VCNは、従来のデータ・センター・ネットワークと同様に、ネットワーク環境の完全な制御を可能にします。VCNには重複しない複数のCIDRブロックを含めることができ、VCNの作成後にそれらを変更できます。VCNをサブネットにセグメント化して、そのスコープをリージョンまたは可用性ドメインに設定できます。各サブネットは、VCN内の他のサブネットと重複しない連続した範囲のアドレスで構成されます。サブネットのサイズは、作成後に変更できます。サブネットはパブリックにもプライベートにもできます。

  • ルート表

    仮想ルート表には、サブネットからVCN外部の宛先(通常はゲートウェイ経由)へのトラフィックをルーティングするルールが含まれます。

  • セキュリティ・リスト

    サブネットごとに、サブネットの内外で許可する必要があるトラフィックのソース、宛先およびタイプを指定するセキュリティ・ルールを作成できます。

  • インターネット・ゲートウェイ

    インターネット・ゲートウェイにより、VCN内のパブリック・サブネットとパブリック・インターネットの間のトラフィックが許可されます。

  • サービス・ゲートウェイ

    サービス・ゲートウェイは、VCNからOracle Cloud Infrastructure Object Storageなどの他のサービスへのアクセスを提供します。The traffic from the VCN to the Oracle service travels over the Oracle network fabric and never traverses the internet.

  • コンピュート

    Oracle Cloud Infrastructure Computeサービスを使用すると、クラウド内のコンピュート・ホストをプロビジョニングおよび管理できます。CPU、メモリー、ネットワーク帯域幅およびストレージのリソース要件を満たすシェイプを使用してコンピュート・インスタンスを起動できます。コンピュート・インスタンスを作成したら、インスタンスに安全にアクセスして再起動し、ボリュームをアタッチおよびデタッチして、不要になったら終了できます。

  • オブジェクト・ストレージ

    オブジェクト・ストレージでは、データベースのバックアップ、分析データ、イメージやビデオなどのリッチ・コンテンツなど、あらゆるコンテンツ・タイプの構造化データおよび非構造化データにすばやくアクセスできます。インターネットから直接またはクラウド・プラットフォーム内から、安全かつセキュアにデータを格納し、取得できます。パフォーマンスやサービスの信頼性を損なうことなく、シームレスにストレージを拡張できます。迅速、即時、頻繁にアクセスする必要があるホット・ストレージには、標準ストレージを使用します。長期間保持し、ほとんどまたはほとんどアクセスしないコールド・ストレージには、アーカイブ・ストレージを使用します。

  • Container Engine for Kubernetes

    Oracle Cloud Infrastructure Container Engine for Kubernetesは、コンテナ化されたアプリケーションをクラウドにデプロイするために使用できる、完全に管理されたスケーラブルで可用性の高いサービスです。アプリケーションで必要なコンピュート・リソースを指定すると、Container Engine for KubernetesがそれらをOracle Cloud Infrastructureの既存のテナンシにプロビジョニングします。Container Engine for KubernetesはKubernetesを使用して、ホストのクラスタ間でコンテナ化されたアプリケーションのデプロイメント、スケーリングおよび管理を自動化します。

  • ブロックチェーン

    Oracle Blockchain Platformは、スマート・コントラクトを実行し、改ざんのおそれのない分散型台帳を保持するためのマネージド・ブロックチェーン・サービスです。オープン・ソースのHyperledger Fabric上に構築され、サプライヤや金融機関など、不変で信頼できるデータを第三者と共有する、安全で検証可能なアプリケーションの開発を簡素化します。

組込みとデプロイにご注目ください

Oracle Cloud Infrastructureで構築したものを表示しますか。学んだ教訓、ベスト・プラクティス、参照アーキテクチャをクラウド・アーキテクチャのグローバル・コミュニティと共有することを検討していますか?ご利用の開始をお手伝いします。

  1. テンプレート(PPTX)のダウンロード

    サンプル ワイヤフレームにアイコンをドラッグ アンド ドロップして、独自のリファレンス アーキテクチャを説明します。

  2. アーキテクチャ・チュートリアルを見る

    リファレンス・アーキテクチャの作成方法に関するステップバイステップの手順をご覧ください。

  3. ダイアグラムを発行します

    ダイアグラムを含むEメールを送信してください。オラクルのクラウド・アーキテクトは、ダイアグラムを確認し、お客様に連絡してアーキテクチャについて話し合います。

承認

  • Authors: Sasha Banks-Louie, Robert Huie
  • Contributors: Brad Goodwin, Victor Stachura, Nitish Joshi, Mark Rakhmilevich, Robert Lies

    IPToki Team: Francois Noel, Steve Leduc, Masha Elahipanah, Wiem Badreddine