intel sgx PCCS服务器部署文档说明

一、pccs的介绍

英特尔®软件护卫扩展数据中心验证原语(Data Center Attestation Primitives,DCAP)是英特尔为在数据中心部署英特尔 SGX 验证服务而提供的解决方案。由于每个数据中心环境都有需要定制的独特需求,因此它是以组件集合的形式发布的,而不是一个完整的交钥匙解决方案。
而PCCS(Provisioning Certification Caching Service)供应证书缓存服务则是其组件之一,其主要作用是提供缓存服务,包括对远程认证的缓存服务。

二、pccs的搭建过程

主要参考intel官方文档 Intel® Software Guard Extensions Data Center Attestation Primitives (Intel® SGX DCAP): A Quick Install Guide

2.1 订阅用于 ECDSA 认证的英特尔 PCS 并获取所需的 API 密钥

此步骤参考intel官方文档即可,Services to Meet Today’s Heightened Security Demands

2.2 安装及部署PCCS(ubuntu 20.04LTS)

安装包版本选择:PCCS == 1.19.100.3-focal1; node.js == 14.21.3;php == 7.4.33
这里pccs对node.js的版本要求很严格

2.2.1 安装PCCS软件包

获取 Node.js 安装脚本

$ curl -o setup.sh -sL https://deb.nodesource.com/setup_14.x
$ chmod a+x setup.sh
$ sudo ./setup.sh

脚本完成后,使用 apt 添加 Node.js 包

$ sudo apt-get -y install nodejs

使用英特尔的 Debian 软件包来安装英特尔 SGX DCAP,但为此需要将软件源添加到 apt 的源列表中,并添加密钥

$ sudo su
# echo 'deb [arch=amd64] https://download.01.org/intel-sgx/sgx_repo/ubuntu focal main' > /etc/apt/sources.list.d/intel-sgx.list
$ wget -O - https://download.01.org/intel-sgx/sgx_repo/ubuntu/intel-sgx-deb.key | apt-key add -
$ apt update

现在准备安装必备软件。使用 SQLite* 作为数据库存储引擎(这是 PCCS 的默认设置)。 PCCS 还需要编译 Node.js 模块以与 C 库交互,因此必须将 build-essential 元包添加到列表中

$ apt install sqlite3 python build-essential

安装完成后,开始安装 PCCS 软件包

$ apt install sgx-dcap-pccs
2.2.2 部署PCCS

安装将运行 PCCS 安装脚本,该脚本会询问您几个问题

Do you want to configure PCCS now? (Y/N) 

选择Y

Set HTTPS listening port [8081] (1024-65535) 

接受默认的监听端口8081, 或者选择一个非特权的其他接口

Set the PCCS service to accept local connections only? [Y] (Y/N)

回答N,因为需要接受其他结点的连接

Set your Intel PCS API key (Press ENTER to skip)

输入2.1中获取的秘钥,主密钥和次密钥都可以

Choose caching fill method : [LAZY] (LAZY/OFFLINE/REQ)

回答 “REQ”。这将使缓存服务处于 "按请求 "模式,这意味着它会在收到供应请求时获取主机的验证抵押品。

2.3 安装及部署phpLiteAdmin

这一步的目的是为了查看pccs的缓存数据库,在intel SGX官方文档上采用sqlitebrowser 组件在部署的主机上直接查看的,但如果部署的主机不支持可视化图形界面则无法采用sqlitebrowser 这种方法。所以本文给出一种远程网页端的访问方式来查看pccs的数据库,实现上依赖phpLiteAdmin,php和apache等组件。

问题汇总

nodejs和pccs不匹配呢,我一直想换nodejs却不想想有没有可能是pccs更新了,所以现在其实是两个选择,更新nodejs或者回滚pccs,我尝试更新nodejs多次均已失败告终,所以只好用旧版本的pccs了

PCCS Bug记录,ubuntu的PCCS安装失败的话,每次安装其他东西时都会提示重新安装pccs,这很离谱

npm的代理proxy不要随便设置,改register为镜像就好,npm是node.js的一部分,https://download.01.org/intel-sgx/sgx_repo/ubuntu focal InRelease 这里本来是jammy

journalctl -fu pccs.service这个命令会显示所有与 pccs.service 相关的日志条目。如果你想查看最近的日志或者实时跟踪新产生的日志,可以添加 -f 参数来进行实时查看

PHP Fatal error: Uncaught Error: Call to undefined function mb_strlen() in /var/www/html……
①/etc/php/7.4/php –ini文件启用mbstring扩展②安装sudo apt install php7.4-mbstring③确认 mbstring 扩展已成功安装php -m | grep mbstring

/usr/bin/node -r esm /opt/intel/sgx-dcap-pccs/pccs_server.js 硬启动pccs.server.js

Npm install esm 这个需要在pccs_server.js的同级目录安装,这里是/opt/intel/sgx-dcap-pccs

lsof -i :8081:查找正在使用特定端口的进程

nano /var/log/apache2/error.log 查看网页端刷新报错的信息

  • 22
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值