使用 Java applet 作为 Web 应用程序的一部分进行身份验证有哪些优点和缺点?我想到这样的小程序仅用于身份验证和交易签名目的的情况,而不是在 Web 应用程序中使用其他目的。
最佳答案
作为最佳实践,小程序应该仅在身份验证上下文中增强服务器的功能。服务器应该重新验证小程序(客户端)发送的内容,因为消息可能在传输过程中被修改。
然而,有时小程序也可以达到有效的目的。例如,客户端发送的消息可以由小程序进行数字签名, key 在每个用户的 USB 驱动器(包含私钥)中进行管理。在这种情况下,除了访问 USB 存储之外,小程序还充当访问 Java 中的 JCA 库的机制。服务器收到消息后必须重新验证生成的签名。
如果正确实现,小程序(如任何客户端安全方案)将提高应用程序的安全状况。
如果实现不正确,就会导致服务器依赖客户端提供可信输入的安全局面。另外,如果需要执行特权操作(例如访问包含私钥的驱动器),则必须对该小程序进行签名;并且必须维护适当的 Java 安全策略文件。 Java安全模型管理过程中的任何错误都会明显降低系统的安全性。此外,如果必须访问 native 操作系统特定的 API(如 MSCAPI),那么 native 代码 (DLL) 的部署是先决条件,并且负责执行此操作的软件(而不是小程序)必须进行安全编码。
关于java - 用于 Web 应用程序的 Java applet 的优点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6457003/