1
1
为了有机会做你所说的事情,你需要特殊的硬件。您不能在不安全层的“顶部”有安全层。例如,如果攻击者对硬件拥有完全控制权,他总是可以危害在该主机上运行的操作系统。 这种特殊的硬件被称为“可信平台模块”,或TPM。这支持远程认证,这将允许您验证客户机是否被篡改。许多计算机(例如,我的戴尔笔记本电脑)上都提供了TPM的某些部分。事实上,我认为美国联邦政府购买的所有计算机都需要有TPM。然而,大多数消费者并不支持TPM,而且隐私权倡导者对TPM有很多敌意。我也不确定有多少带有TPM的机器包含远程认证功能。
总之,底线是你不能给别人一个秘密,和秘密的钥匙,并期望它仍然是一个秘密。您必须保持对整个堆栈的控制,从上到下。
|
2
1
如果客户机没有被锁定,就根本不可能完全安全。在某个时刻,字节将存在于内存中,并且该内存可以被敌对的应用程序读取。 如果您的目标不是使其完全安全,而只是不方便偶然好奇的人使用,那么请确保不要将数据写入临时文件或其他任何容易检查的地方。 |
3
1
不仅“不能做”,而且“容易妥协”。 看看“面向方面编程”和字节编译器类。这通常用于插入数据库事务、性能日志记录、日志记录语句(这样您就可以从源代码中删除调用并使其更干净)、访问控制(这样您就可以分离实现和授权)等。如果您可以悄悄地包装一个CLA,那么您可以做很多非常有用的事情。和另一个。 但这也意味着封装类以捕获应用程序中的所有未加密消息、加密密钥等是很简单的。我认为即使您在一个长的过程中完成了所有操作,我也可以进入,尽管这可能需要付出更多的努力。 |
zoid_ · 如何将列表中的一个项目更改为另一个列表中的另一个项目? 2 年前 |
YungOne · 如何将RSA私钥转换为pem 2 年前 |
Annie Nguyen · 使用函数对字符串进行加密/解密 2 年前 |
Louis · 在Java中存储令牌/密码的最佳实践 2 年前 |
beginner_geek07 · 为什么我的输出是“无”? 2 年前 |