在 Oracle Cloud 上部署带区块链的生物识别身份管理平台
结合机器学习模型、区块链和微服务,IPtoki 构建了云原生 W3C-compliant 生物识别身份管理平台,并将其部署在 Oracle Cloud Infrastructure (OCI) 上。
为了验证用户是否是他们所称的,IPtoki 平台捕获了人工行为生物识别技术来创建独特的数字签名,然后将这些签名存储为区块链账本中的不可变记录。通过机器学习 (ML) 算法,IPtoki 的平台根据个人在键盘上键入的独特方式,刷智能手机屏幕或使用移动设备上的其他外围设备,不断地验证个人,
IPtoki 的平台成立于 2018 年,允许个人使用智能手机、可穿戴设备或可信的第三方授权设备来识别自己。虽然用户的 W3C-compliant 验证的凭证在其电子钱包中仍然受到保护,但此类凭证也可以在用户管理下提供,以授权访问特定应用程序或安全系统或服务。
在训练深度学习算法后,IPtoki 的 I Am My ID 验证器可以使用区块链分布式账本和机器学习算法来持续验证人体生物识别数据。区块链和机器学习算法不仅能够为用户提取唯一签名,这些工具还有助于验证用户提供的验证凭据,确认这些个人是他们所说的,然后授权他们访问特定的系统和服务。IPtoki 使用智能设备传感器捕获用户的生物识别,定义其签名,并启用其身份的连续验证。
IPtoki 的 I Am My ID 平台的核心组件包括:
- 多重验证:
- 验证 ID
- 授予对安全服务的访问权限
- 管理安全访问
- 分析屏幕截图
- 行为生物识别:
- 跟踪身体动作
- 观察物理手势
- 监视键盘击键
- 使用 SDK 管理区块链应用的代码库
- 电子钱包:
- 访问区块链中受保护的已验证文档和凭据
- 共享已验证的身份证明
- 使用零知识证明验证推断结果
- 区块链:
- 获取和存储个人身份、凭证和文档的不可变记录
- 构建和调试算法
- 培训机器学习模型
- 机器学习算法:
- 捕获和分类设备传感器数据
- 运行和维护报告
- 为应用程序和用户编写和实施策略
- 管理:
- 创建和监视面板
- 修改和管理系统接口
- 允许授权个人使用用户联盟使用一组凭据访问多个服务
- ID 管理:
- 与多个服务提供商 (SP) 和不同的身份提供商 (IDP) 建立联系并建立信任
- 使用 API 连接设备和应用
- 使用 REST API 在应用之间交换信息
- 微服务:与第三方服务通信
此体系结构的要点包括:
- IPtoki 的 I Am My ID 平台通过与智能设备的交互(例如键盘击、鼠标点击和屏幕截图)捕获和分类各个行为生物识别。
- IPtoki 的“我是我的 ID”解决方案使用 Oracle Blockchain Platform 存储用户凭据不可变记录。
- Oracle Cloud Infrastructure Container Engine for Kubernetes (OKE) 管理 IPtoki 平台的容器,该平台包含 Kafka、Kibana、ID 管理器、API 和机器学习操作。
- 机器学习操作使用具有 NVIDIA GPU 的 Oracle 虚拟机配置作为 OKE 群集上的节点。
- Oracle NoSQL Database Cloud Service 提供数据库操作。
体系结构
IPtoki 使用机器学习和 Oracle Blockchain Platform 在 Oracle Cloud Infrastructure (OCI) 上构建和部署了高级身份平台。
IPtoki 平台使用 IPtoki“我的 ID”应用程序从智能手机和可穿戴设备的传感器收集多模行为生物识别。这些文件捕获为 JSON 文件,并包含用于驱动机器学习算法的行为生物识别信息(步进、手势、动作和击键动态)。Kafka 用于流式处理存储在 Oracle NoSQL Database Cloud Service 数据库实例中的 JSON 对象。
深度学习模型是在基于 GPU 的虚拟机实例上的容器中开发的。用户有自己的行为模型,这些模型是从嵌入在这些用户的智能设备中的传感器捕获的行为生物识别技术中开发的。然后,此生物特征数据转换为 JSON 文件并存储在 NoSQL 数据库中。建立生物特征标识 (ID) 时,该 ID 将链接到来自身份提供者的用户 ID,例如 LDAP、Oracle Unified Directory、Oracle Identity Cloud Service 、Microsoft Active Directory 或社交媒体验证(社交验证)。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 调用存储在区块链智能合同中的证明进行比较,来验证用户的身份。
此透明身份验证可用于验证用户,并针对各种用例(例如医疗保健、供应链、车队和劳动力管理)授权特定的操作。例如,用户与智能设备的自然日常交互可以无缝地解锁对 Web 服务的访问。在其他情况下,接近卡车的卡车司机或接近复杂工厂设备的机器操作员可以根据他们的步态或其他生物识别技术进行认证,以打开卡车门,进入工厂机械或操作特定的设备,如果他们获得授权。
IPtoki 解决方案可以支持根据每个用例在许可型区块链网络中映射的多个组织。通过使用 OCI 控制台,然后链接到共享区块链网络,可以在 Oracle Blockchain Platform 网络中创建区块链节点。例如,物流组织可能由 IPtoki 创建者节点以及作为参与者加入的承运商、港口和发货人组织组成。组织之间的特定区块链渠道可隔离分类账并限制对特定信息的访问。
下图说明了使用 OCI 的托管区块链即服务实例创建的超级账本架构网络示例。
iptoki-blockchain-network-oracle.zip
该体系结构具有以下组成部分:
- 租户
租户是 Oracle 在您注册 Oracle Cloud Infrastructure 时在 Oracle Cloud 中设置的安全隔离分区。您可以在租户中的 Oracle Cloud 中创建、组织和管理资源。租户与公司或组织同义。通常,公司只有一个租户并反映在该租户中的组织结构。单个租户通常与单个订阅关联,单个订阅通常只有一个租户。
- 区域
Oracle Cloud Infrastructure 区域是一个局部地理区域,包含一个或多个称为可用性域的数据中心。区域独立于其他区域,广阔的距离可以将其分开(跨国家甚至大陆)。
- 可用性域
可用性域是区域中的独立独立数据中心。每个可用性域中的物理资源与提供容错能力的其他可用性域中的资源隔离。可用性域不共享基础设施(例如电源或冷却设备)或内部可用性域网络。因此,一个可用性域出现故障不会影响区域中的其他可用性域。
- 虚拟云网络 (VCN) 和子网
VCN 是您在 Oracle Cloud Infrastructure 区域中设置的可定制软件定义网络。与传统数据中心网络一样,VCN 允许您完全控制您的网络环境。一个 VCN 可以具有多个不重叠的 CIDR 块,您可以在创建 VCN 后对其进行更改。您可以将 VCN 细分为多个子网,这些子网可以限定到区域或可用性域。每个子网包含一系列不与 VCN 中的其他子网重叠的连续地址。创建后可以更改子网的大小。子网可以是公共子网,也可以是专用子网。
- 路由表
虚拟路由表包含将流量从子网路由到 VCN 外部的目标(通常通过网关)的规则。
- 安全列表
对于每个子网,您可以创建安全规则来指定必须允许进出子网的流量源、目标和类型。
- Internet 网关
互联网网关允许 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 是一种用于运行智能合同和维护防篡改分布式账本的托管区块链服务。它基于开源超级账本架构而构建,可简化安全可靠的应用开发过程,可与第三方(例如供应商和金融机构)共享不可变的可信数据。
充分利用内置和部署功能
想要展示您在 Oracle Cloud Infrastructure 上构建的内容?与我们的云架构师全球社区分享您的经验教训、最佳实践和参考架构?让我们帮助您入门。
- 下载模板 (PPTX)
通过将图标拖放到示例线框中,说明您自己的参考体系结构。
- 观看体系结构教程
获取有关如何创建引用体系结构的分步说明。
- 提交您的图表
请向我们发送一封包含您的图表的电子邮件。我们的云架构师将查看您的图表并与您联系以讨论您的架构。

