三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

【TEE从入门到精通及实战】07 数据密封与安全导出:如何让Enclave的结果安全“出门”

【TEE从入门到精通及实战】07 数据密封与安全导出:如何让Enclave的结果安全“出门”

开篇故事

上个月,我帮一家金融科技公司做SGX应用审计。他们的业务逻辑是这样的:Enclave内解密用户输入的敏感数据,进行风险评估,然后把评估结果写回磁盘。代码跑得很溜,测试也全过了。

但当我问“结果数据怎么存”时,工程师得意地打开代码给我看——他直接把Enclave内的明文结果通过ocall传出来,然后用fwrite写进一个普通文件。

我问他:“那攻击者如果在你写入磁盘的瞬间,通过ptrace或者直接读内存,能拿到什么?”他愣住了。三秒后,他骂了一句脏话。

这就是今天要讲的核心问题:Enclave内的数据在“出门”的那一刻,如何保证安全?

痛点拆解

常见错误:裸传明文

很多初学者(甚至一些老手)会写出这样的代码:

# 伪代码演示错误做法defprocess_in_enclave(sensitive_input):
← 返回列表