基于 Java Spring Boot Nitro Enclaves + AWS EKS 加密钱包应用

基于 Java Spring Boot Nitro Enclaves + AWS EKS 加密钱包应用

💡 原文中文,约13400字,阅读约需32分钟。
📝

内容提要

本文介绍了基于AWS Nitro Enclaves的TEE解决方案,使用Java Spring Boot实现了一个钱包应用,并部署在AWS EKS容器平台上。通过Enclave保护私钥的安全,并使用DynamoDB存储私钥和公钥地址。

🎯

关键要点

  • AWS Nitro Enclaves 是亚马逊云科技提供的 TEE 解决方案,兼容多种处理器架构。
  • 本文介绍了如何使用 Java Spring Boot 实现基于 Nitro Enclaves 的钱包应用,并在 AWS EKS 上部署。
  • 方案包括对私钥进行加密,并存储到 DynamoDB,确保私钥安全。
  • 部署架构使用了 Nitro Enclaves、Amazon EKS、AWS KMS、DynamoDB 等服务。
  • 创建 MSK 不是必要步骤,但可以通过消息事件驱动流程,解耦各组件。
  • EKS 的创建需要配置 VPC 和网络环境,可以使用 Terraform 工具构建基础设施。
  • 手动构建 EKS 基础设施时,需要创建自定义的 Enclave Launch Template。
  • 创建容器镜像时,使用 AWS ECR,并通过 Docker 构建和上传镜像。
  • 部署过程中创建 DynamoDB 表以存储公钥地址和私钥格式。
  • 安装 Nitro Enclaves Kubernetes device plugin 以便访问 Nitro Enclaves 设备驱动程序。
  • 部署 Enclave 和 KafkaConsumer,确保它们能够正常启动并处理消息。
  • 完成部署后,需清理环境以避免持续产生费用。
  • 如果遇到连接问题,可以手动启动 vsock-proxy 以解决 DynamoDB 连接异常。
➡️

继续阅读