托管已签名的JAR文件时需要考虑的安全问题

3

在互联网上托管已签名的jar文件会带来什么安全影响?

据我了解,一旦用户选择自动接受证书,在jar签名中,这与所签署的jar是来自您的域、链接自其他域还是托管在其他域中并无关系。例如,Sun使用此方法为小程序提供OpenGL支持,提供(托管)已签署的jar以链接驱动程序。那么作为可用Java代码的开发人员和证书签署者,我应该采取什么预防措施呢?


你需要澄清你是如何使用托管的JAR文件的-这是用于小程序还是其他什么东西? - frankodwyer
进行了一些澄清。我如何使用已签名的JAR不是我的问题,而是其他人在我提供JAR后如何使用它。 - hishadow
1个回答

3
根据上下文,您需要依赖于安全管理器和相关的安全策略来做正确的事情。通常情况下,除非您自己进行类加载器操作,否则您不需要做任何特殊处理。如果您控制安全策略(例如在Java应用程序中而不是小应用程序),则可以将权限授予仅限于某些其他代码调用您的JAR文件。如果您依靠代码库来区分代码,则https URL更好。如果您知道/了解访问者的来源位置,限制对Web服务器上的JAR文件的访问也没有坏处,但可能会带来更多麻烦。
但是,请始终记住,API的调用者可能不是您的代码,可能是恶意的。因此,在威胁建模中,您应该考虑一下如果恶意用户以某种方式访问由您的代码公开的API功能,他们可能能够做什么。安全管理器应该检查调用堆栈以防止此类事情发生。但是,例如,如果您签名的JAR文件具有LaunchMissiles()方法... 无论如何,您都可能需要询问用户是否确定。您还可能需要对用户进行身份验证。
此外,您也不应该仅仅依靠用户在任何安全警告上单击正确的按钮,特别是涉及证书和URL等的警告 - 大多数用户分为两类:那些对任何警告都单击确定因为他们不理解它,那些对任何警告都单击取消因为他们不理解它。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接