Oracle Cloud 上使用區塊鏈部署生物識別管理平台

結合機器學習模型、區塊鏈和微服務,IPtoki 建立了其雲端原生 W3C-compliant 生物識別管理平台,並部署在 Oracle Cloud Infrastructure (OCI) 上。

為了驗證使用者身分是否真實,IPtoki 平台會擷取人為行為生物測定來建立唯一的數位簽章,然後將這些簽章儲存為區塊鏈分類帳中的不可變記錄。透過機器學習 (ML) 演算法,IPtoki 的平台會根據個人在鍵盤上鍵入的獨特方式持續驗證個人、掃瞄智慧型手機的螢幕,或在行動裝置上使用其他週邊設備。

IPtoki 的平台是在加拿大魁北克成立的 2018 年,可讓個人使用智慧型手機、穿戴式裝置或受信任的第三方授權裝置來識別自己的身分。雖然使用者的 W3C-compliant 驗證的證明資料在其電子錢包中仍受到保護,但使用者治理下也可顯示這類證明資料,以授權使用者存取特定應用程式或安全系統或服務。

在訓練深度學習演算法之後,IPtoki 的 I Am My ID 認證器可以使用區塊鏈分散式交易記錄帳本和 ML 演算法,持續驗證人工生物特徵資料。區塊鏈和 ML 演算法不僅可以為使用者擷取唯一的簽章,這些工具也有助於驗證使用者所呈現的已驗證憑證,確認這些個人是他們所說的,然後授權他們存取特定系統和服務。IPtoki 使用智慧型裝置感測器擷取使用者的生物測定、定義簽名,並持續驗證身分。

IPtoki I Am My ID 平台的核心元件包括:

  • 多因素認證:
    • 驗證 ID
    • 授予安全服務的存取權
    • 管理安全存取
    • 分析畫面切換
  • 行為生物特徵:
    • 追蹤主體移動
    • 觀察實體手勢
    • 監視鍵盤筆劃
    • 使用 SDK 管理區塊鏈應用程式的程式碼程式庫
  • 電子公事包:
    • 存取區塊鏈中保護的已驗證文件和證明資料
    • 共用經過驗證的證明資料
    • 使用零知識驗證驗證驗證推論結果
  • 區塊鏈:
    • 擷取及儲存個別身分識別、證明資料和文件的不可變記錄
    • 建置和除錯演算法
    • 訓練 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) 可管理 IPtoki 平台的容器,此平台包含 Kafka、Kibana、ID Manager、API 以及機器學習作業。
  • 機器學習作業使用 Oracle 虛擬機器資源配置,搭配 NVIDIA GPU 作為 OKE 叢集上的節點。
  • Oracle NoSQL Database Cloud Service 提供資料庫作業。

架構

IPtoki 透過使用機器學習和 Oracle Blockchain PlatformOracle Cloud Infrastructure (OCI) 上建置和部署進階身分識別平台。

IPtoki 平台使用 IPtoki I Am My ID 應用程式,從智慧型手機和穿戴式裝置的感測器收集多種模式行為生物測定。這些擷取為 JSON 檔案,並包含驅動機器學習演算法的行為生物特徵資訊 (巨集、手勢、動作和按鍵組合動態)。Kafka 用於串流 JSON 物件,這些物件儲存在 Oracle NoSQL Database Cloud Service 資料庫執行處理中。

深度學習模型是在 GPU 虛擬機器執行處理上的容器中開發。使用者有自己的行為模型,這些模型是從從這些使用者智慧裝置內嵌的感測器擷取出來的。此生物特徵資料接著會轉換成 JSON 檔案,並儲存在 NoSQL 資料庫中。建立生物特徵識別 (ID) 時,該 ID 會連結至來自身分識別提供者的使用者 ID,例如 LDAP、Oracle Unified Directory、Oracle Identity Cloud Service 、Microsoft Active Directory 或 Social Media Authentication (Social Auth)。ID 管理程式使用客製化的 Solidity 智慧合約,建立 IPtoki ID 並將其儲存在執行 Ethereum Virtual Machine (EVM) 的 Oracle Blockchain Platform 上。

下圖說明架構:



iptoki-oci-architecture-oracle.zip

IPtoki ID 儲存在 Oracle Blockchain Platform 不可變更的交易記錄帳本中,作為之後能夠進行持續認證的唯一簽章。建立 ID 之後,IPtoki 解決方案可以透過 REST API 呼叫,將認證程式 App 提供的即時生物測定與區塊鏈智慧合約中儲存的證明做比較,以驗證使用者的身分。

此通透身分驗證可用於驗證使用者,並針對各種使用案例 (例如醫療保健、供應鏈、運輸隊伍及人力管理) 授權特定動作。例如,使用者與智慧裝置的日常互動可以順暢地解除 Web 服務的存取。在其他情況下,可以根據貨物或其他生物測驗來驗證接近卡車或機器操作員的卡車司機,以開箱門、存取工廠機械或操作特定設備 (若有授權的話)。

IPtoki 解決方案可以根據每個使用案例支援在許可區塊鏈網路內對應的多個組織。您可以使用 OCI 主控台,然後連結至共用區塊鏈網路,在 Oracle Blockchain Platform 網路內建立區塊鏈節點。例如,物流組織可能包含 IPtoki 創始人節點,以及作為參與者的承運商、港口和託運人組織。組織間的特定區塊鏈通道會隔離交易記錄帳本,並限制對特定資訊的存取。

下圖說明使用 OCI 所管理的區塊鏈即服務執行處理建立的 Hyperledger Fabric 網路範例。



iptoki-blockchain-network-oracle.zip

架構具有下列元件:

  • 租用戶

    租用戶是指註冊 Oracle Cloud Infrastructure 時,Oracle 在 Oracle Cloud 內設定的安全獨立分割區。您可以在租用戶的 Oracle Cloud 中建立、組織及管理您的資源。租用戶與公司或組織同義。通常,公司會有單一租用戶,並反映其在該租用戶內的組織結構。單一租用戶通常與單一訂閱關聯,而單一訂閱通常只有一個租用戶。

  • 區域

    Oracle Cloud Infrastructure 區域是一個本地化的地理區域,包含一或多個資料中心 (稱為可用性網域)。區域與其他區域無關,因此廣大的距離可加以區隔 (跨國家或甚至洲)。

  • 可用性網域

    可用性網域是區域內的獨立資料中心。每個可用性網域中的實體資源會與其他可用性網域中的資源隔離,以提供容錯能力。可用性網域並不共用基礎設施,例如電力或冷卻系統或內部可用性網域網路。因此,一個可用性網域發生失敗並不會影響區域中的其他可用性網域。

  • 虛擬雲端網路 (VCN) 和子網路

    VCN 是您在 Oracle Cloud Infrastructure 區域中設定的可自訂軟體定義網路。就像傳統的資料中心網路,VCN 可讓您完全控制網路環境。VCN 可以有多個非重疊 CIDR 區塊,而您可以在建立 VCN 之後進行變更。您可以將 VCN 區隔成子網路,然後對區域或可用性網域進行調整。每個子網路都是由不與 VCN 中其他子網路重疊的連續位址範圍所組成。您可以在建立子網路後變更其大小。子網路可以是公用網路或專用子網路。

  • 路由表

    虛擬路由表包含規則,可將流量從子網路遞送至 VCN 外部的目的地,通常透過閘道。

  • 安全清單

    您可以為每個子網路建立安全規則,以指定必須允許進出子網路的來源、目的地和流量類型。

  • 網際網路閘道

    網際網路閘道可允許 VCN 中的公用子網路與公用網際網路之間的流量。

  • 服務閘道

    服務閘道可讓您從 VCN 存取其他服務,例如 Oracle Cloud Infrastructure Object Storage 。VCN 到 Oracle 服務的流量會透過 Oracle 網路光纖通道,而一律不會周遊網際網路。

  • 運算

    Oracle Cloud Infrastructure Compute 服務可讓您在雲端中佈建與管理運算主機。您可以使用資源配置來啟動運算執行處理,以滿足 CPU、記憶體、網路頻寬及儲存的資源需求。建立運算執行處理之後,您可以安全地存取、重新啟動、連附和卸離磁碟區,以及在不再需要時將它終止。

  • 物件儲存

    物件儲存可快速存取任何內容類型的大量結構化與非結構化資料,包括資料庫備份、分析資料,以及豐富內容 (例如影像和影片)。您可以安全地儲存,然後直接從網際網路或雲端平台內擷取資料。您可以無縫擴充儲存,而不會發生任何效能或服務可靠性的降低。針對快速、立即和經常存取的「熱」儲存,使用標準儲存。將封存儲存用於長時間且鮮少存取的「冷」儲存。

  • Kubernetes 的容器引擎

    Oracle Cloud Infrastructure Container Engine for Kubernetes 是一項完全託管、可擴展且高可用性的服務,可用來將容器化應用系統部署到雲端。您可以指定應用系統所需的運算資源,而 Kubernetes 的容器引擎則會在現有租用戶的 Oracle Cloud Infrastructure 上佈建這些資源。Kubernetes 的容器引擎使用 Kubernetes 將跨主機叢集的容器化應用程式部署、擴展及管理自動化。

  • 區塊鏈

    Oracle Blockchain Platform 是一項受管理的區塊鏈服務,可執行智能合約,並維護防止竄改的分散式交易記錄帳本。它以開源 Hyperledger Fabric 為基礎,可簡化與第三方 (例如供應商和金融機構) 共用不可變更、可信任資料的安全且可驗證應用系統的開發。

內建與部署功能

想要展示您在 Oracle Cloud Infrastructure 上建置的內容嗎?謹慎與我們的雲端架構師全球社群分享您的經驗、最佳實務和參考架構嗎?讓我們幫助您開始。

  1. 下載樣板 (PPTX)

    將圖示拖放至範例線框,以圖解自己的參考架構。

  2. 觀看架構教學課程

    取得如何建立參照架構的逐步指示。

  3. 送出圖表

    請發送電子郵件至您的圖表。我們的雲端架構師將複習圖表,並協助您討論架構。

確認書

  • 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