开发者社区> 技术工程师> 正文

《云原生机密计算最佳实践白皮书》——06运行时底座——Intel TDX机密容器(4)

简介: 《云原生机密计算最佳实践白皮书》——06运行时底座——Intel TDX机密容器(4)
+关注继续查看

《云原生机密计算最佳实践白皮书》——06运行时底座——Intel TDX机密容器(3) /article/1231169?groupCode=aliyun_linux



步骤三:安装并启动verdictd

Verdictd是一种远程认证实现,由一组构建块组成,这些构建块利用Intel/AMD的安全特性来发现、验证和支持关键的基础安全和机密计算用例。它依靠RATS-TLS应用远程认证基础和标准规范来维护平台数据收集服务和高效的验证引擎来执行全面的信任评估。这些信任评估可用于管理应用于任何给定工作负载的不同信任和安全策略。 更多信息请参考verdictd项目文档。

1. 请执行以下命令,安装verdictd

yum install -y verdictd

2. 部署镜像加密密钥

mkdir -p /opt/verdictd/keys/
cat <<- EOF > /opt/verdictd/keys/84688df7-2c0c-40fa-956b-29d8e74d16c0
1234567890123456789012345678901
EOF

3. 部署镜像签名密钥

# 安装镜像签名工具cosign: https://github.com/sigstore/cosign#installation
wget https://github.com/sigstore/cosign/releases/download/v2.0.0/cosign-linux-amd64
sudo install -D --owner root --group root --mode 0755 cosign-linux-amd64 /usr/local/bin/cosign
# 生成新的密钥对
cosign generate-key-pair
ls
cosign.key cosign.pub
mkdir -p /opt/verdictd/image/
cp cosign.pub /opt/verdictd/image/cosign.key

4. 部署镜像policy

注意:在实际操作中,应将用户docker.io/test更名为实际操作的用户名,docker.io/xxxx。

cat <<EOF | sudo tee /opt/verdictd/image/policy.json
{
 "default": [
 {
 "type": " insecureAcceptAnything"
 }
 ],
"transports": {
"docker": {
 " docker.io/test/": [
 {
 "type": "sigstoreSigned",
 "keyPath": "/run/image-security/cosign/cosign.pub"
 }
 ]
 }
 }
}
EOF

5. 启动verdictd

verdictd --listen 0.0.0.0:20002 --verififier tdx --attester nullattester --client-api 127.0.0.1:20001 
--mutual

当Verdictd启动后,Verdictd在端口监听地址0.0.0.0:20002监听来自attestationagent的远程证明请求。

6. 制作加密image

可参考Generate encrypted container image制作加密镜像。

注意事项:在机密计算场景中,加密镜像是在guest VM中由imgae-rs 组件负责拉取,而不是在host进行

拉取。 如果您出于研究的目的,想查看加密镜像的内容。请注意由于镜像是加密的,用常规的docker,ctr?和?

crictl?都无法正常拉取。请使用skopeo工具进行镜像的拉取。参考命令如下:

# 下载一个明文image
skopeo copy docker://docker.io/library/alpine:latest oci:alpine
# 为skopeo生成一个keyprovider配置文件
$ sudo mkdir -p /etc/containerd/ocicrypt/
$ cat <<- EOF | sudo tee "/etc/containerd/ocicrypt/ocicrypt_keyprovider.conf"
{
 "key-providers": {
 "attestation-agent": {
 "grpc": "127.0.0.1:20001"
 }
 }
}
EOF
export OCICRYPT_KEYPROVIDER_CONFIG=/etc/containerd/ocicrypt/ocicrypt_keyprovider.conf
# 生成加密image并保存在远端docker registry

# 注意:在实际操作中,应将用户docker.io/test更名为实际操作的用户名,docker.io/xxxx。

skopeo copy --encryption-key provider:attestation-agent:84688df7-2c0c-40fa-956b-29d8e74d16c0 
oci:
alpine docker://docker.io/test/alpine-encrypted
{map[attestation-agent:{<nil> 127.0.0.1:50001}]}
&{map[attestation-agent:{<nil> 127.0.0.1:50001}]}
[[97 116 116 101 115 116 97 116 105 111 110 45 97 103 101 110 116 58 56 52 54 56 56 100 102 55 45 
50 99 48 99 45 52 48 102 97 45 57 53 54 98 45 50 57 100 56 101 55 52 100 49 54 99 48]]
attestation-agent:84688df7-2c0c-40fa-956b-29d8e74d16c0
idx: 17
map[attestation-agent:[[56 52 54 56 56 100 102 55 45 50 99 48 99 45 52 48 102 97 45 57 53 54 98 45 
50 57 100 56 101 55 52 100 49 54 99 48]]]
Getting image source signatures
&{map[attestation-agent:[[56 52 54 56 56 100 102 55 45 50 99 48 99 45 52 48 102 97 45 57 53 54 98 
45 50 57 100 56 101 55 52 100 49 54 99 48]]] {map[]}}
Copying blob 63b65145d645 done
Copying confifig 6a2bcc1c7b done
Writing manifest to image destination
Storing signatures
# verdictd 日志
[2023-02-27T06:02:18Z INFO verdictd::client_api::key_provider] wrap_command: KeyProviderInput 
{ op: "keywrap", keywrapparams: KeyWrapParams { ec: Some(Ec { Parameters: {"attestation-agent": 
["ODQ2ODhkZjctMmMwYy00MGZhLTk1NmItMjlkOGU3NGQxNmMw"]}, DecryptConfifig: Dc { Parame
ters: {} } }), optsdata: Some("eyJzeW1rZXkiOiIycEVxWk9jNVhyUmN0WXdyQzl1UlJmSkZ5WGM2ZnV2S
WZUckhnMHEyM0RrPSIsImRpZ2VzdCI6InNoYTI1Njo2M2I2NTE0NWQ2NDVjMTI1MGMzOTFiMmQxNmVi
ZTUzYjM3NDdjMjk1Y2E4YmEyZmNiNmIwY2YwNjRhNGRjMjFjIiwiY2lwaGVyb3B0aW9ucyI6eyJub25jZSI
6IkNURk5UZ2hZL0pkRkd0eGNKYzc5dUE9PSJ9fQ==") }, keyunwrapparams: KeyUnwrapParams{ dc: 
None, annotation: None } }
[2023-02-27T06:02:18Z INFO verdictd::resources::directory_key_manager] get key from keyFile: 
/opt/verdictd/keys/84688df7-2c0c-40fa-956b-29d8e74d16c0
[2023-02-27T06:02:18Z INFO verdictd::client_api::key_provider] key: [49, 50, 51, 52, 53, 54, 55, 56, 
57,48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 48, 49, 10]

7、制作签名image

# 下载一个明文image
cosign sign --key cosign.key docker.io/test/alpine-encrypted
tlog entry created with index: 14409560
Pushing signature to: docker.io/test/alpine-encrypted




《云原生机密计算最佳实践白皮书》——06运行时底座——Intel TDX机密容器(5) /article/1231166?groupCode=aliyun_linux

版权声明:本文内容由便宜云服务器实名注册用户自发贡献,版权归原作者所有,便宜云服务器开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《便宜云服务器开发者社区用户服务协议》和《便宜云服务器开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
《云原生机密计算最佳实践白皮书》——06运行时底座——海光CSV机密容器——基于runtime-attestation使用机密容器(1)
《云原生机密计算最佳实践白皮书》——06运行时底座——海光CSV机密容器——基于runtime-attestation使用机密容器(1)
34 0
《云原生机密计算最佳实践白皮书》——06运行时底座——海光CSV机密容器——基于runtime-attestation使用机密容器(2)
《云原生机密计算最佳实践白皮书》——06运行时底座——海光CSV机密容器——基于runtime-attestation使用机密容器(2)
18 0
《云原生机密计算最佳实践白皮书》——06运行时底座——海光CSV机密容器——基于runtime-attestation使用机密容器(3)
《云原生机密计算最佳实践白皮书》——06运行时底座——海光CSV机密容器——基于runtime-attestation使用机密容器(3)
18 0
《云原生机密计算最佳实践白皮书》——06运行时底座——海光CSV机密容器——基于runtime-attestation使用机密容器(4)
《云原生机密计算最佳实践白皮书》——06运行时底座——海光CSV机密容器——基于runtime-attestation使用机密容器(4)
17 0
《云原生机密计算最佳实践白皮书》——06运行时底座——海光CSV机密容器——基于runtime-attestation使用机密容器(5)
《云原生机密计算最佳实践白皮书》——06运行时底座——海光CSV机密容器——基于runtime-attestation使用机密容器(5)
18 0
《云原生机密计算最佳实践白皮书》——06运行时底座——海光CSV机密容器——基于pre-attestation使用机密容器(1)
《云原生机密计算最佳实践白皮书》——06运行时底座——海光CSV机密容器——基于pre-attestation使用机密容器(1)
24 0
《云原生机密计算最佳实践白皮书》——06运行时底座——海光CSV机密容器——基于pre-attestation使用机密容器(2)
《云原生机密计算最佳实践白皮书》——06运行时底座——海光CSV机密容器——基于pre-attestation使用机密容器(2)
21 0
《云原生机密计算最佳实践白皮书》——06运行时底座——海光CSV机密容器——基于runtime-attestation使用签名容器(1)
《云原生机密计算最佳实践白皮书》——06运行时底座——海光CSV机密容器——基于runtime-attestation使用签名容器(1)
25 0
《云原生机密计算最佳实践白皮书》——06运行时底座——海光CSV机密容器——基于runtime-attestation使用签名容器(3)
《云原生机密计算最佳实践白皮书》——06运行时底座——海光CSV机密容器——基于runtime-attestation使用签名容器(3)
15 0
《云原生机密计算最佳实践白皮书》——06运行时底座——Intel TDX机密容器(1)
《云原生机密计算最佳实践白皮书》——06运行时底座——Intel TDX机密容器(1)
38 0
+关注
技术工程师
文章
问答
视频
来源圈子
更多
欢迎开发者/用户加入龙蜥社区(OpenAnolis)交流,共同推进龙蜥社区的发展,一起打造一个活跃的、健康的开源操作系统生态!
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
阿里巴巴集团容器技术现状与未来路线
立即下载
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
相关实验场景
更多
http://www.vxiaotou.com