如何在Perl中销毁机密数据?实现疑问及测试优化需求
Perl敏感数据内存销毁的问题与优化建议需求
我开发了一款处理私钥(private keys)、对称加密密钥(symmetric encryption keys)、PIN码等敏感数据的Perl脚本,希望在敏感数据不再使用时立即销毁,以此降低核心转储(core dump)泄露敏感信息的风险。
针对字符串类型,我编写了一段按分段覆盖内存的代码,尝试以64位为单位优化(填充字符串长度为递减的2的幂,无特殊魔法),实现了_BAU函数用于原地覆盖字符串并可选择性undef;同时编写了递归处理ARRAY、HASH等复合数据结构的BAU包装器。
但目前存在以下疑问与问题:
- 基础覆盖代码难以验证,是否安全(即正确)?
- 若待覆盖的值为数字(如整数),会出现什么情况?
- 包装器代码对非ARRAY、HASH类型的对象失效,我尝试从外部清理对象,是修改所有对象内部实现,还是有更优雅的解决方案?
此外,我编写了一段UNITCHECK测试代码,希望获得优化建议。
内容的提问来源于stack exchange,提问作者U. Windl
相关产品推荐
相关产品推荐

