2008-11-25 61 views
3

托管在互联网上签名罐子的安全隐患是什么?托管已签名罐子时的安全考虑事项

正如我所了解的jar签名,一旦用户选择自动接受证书,无论签名的jar是来自您的域,从另一个域链接还是托管在另一个域中。例如,Sun通过提供链接到驱动程序的(托管)签名jar来使用此方法为applet OpenGL提供支持。那么,作为开发人员和我提供的java代码的证书签名人,我是否应该采取任何预防措施?

+0

你需要澄清你如何使用托管的罐子 - 这是为小程序或其他东西? – frankodwyer 2008-12-15 15:05:14

回答

3

根据上下文,您依赖于安全管理器和相关安全策略来做正确的事情。一般情况下,除非你正在做自己的类加载器魔法,否则你不需要做任何特殊的事情。如果您有安全策略的控制权(例如在Java应用程序中而不是在小程序中),则可以授予权限以仅将JAR调用到某些其他代码。如果您依赖代码库来区分代码,那么https URL更好。如果你知道访问应该从哪里来,那么限制访问网络服务器上的jar也没有什么坏处,但可能比它的价值更麻烦。

但是,您应该始终记住您的API的调用者可能不是您的代码,并且可能是恶意的。因此,在您的威胁建模中,您应该考虑如果恶意用户以某种方式访问​​您的代码所暴露的API所提供的功能,则可以执行哪些操作。安全经理应该检查调用堆栈以防止这种情况。但是,如果你的签名jar有一个方法LaunchMissiles()...你可能想询问用户他们是否确定。你也可能想认证用户。

你也不应该依赖用户点击任何安全警告上的右键,特别是如果它涉及到证书和URLS等 - 大多数用户都属于以下两类中的一类:那些因任何警告而点击OK不理解它,以及那些因为不理解而在任何警告中点击取消的人。