Discuss which of the follow ing systems allow module designers to enforce the need-to-know principle.
在JVM的堆栈检查方案中出现类似的问题。当在doPrivileged代码块内进行一系列调用时,被调用过程中的所有代码片段都具有与执行doPrivileged操作的原始代码块相同的访问权限,从而 违反了需要知道的原则。
在Hydra中,权限放大机制确保只有特权代码才具有对受保护对象的访问权限,如果此代码调用其他模块中的代码,则在降低对导出对象的访问权限后,可以将对象导出到其他模块 这种机制提供了对访问权限的细粒度控制,并有助于保证满足需要知道的原则。
A similar problem arises in JVM's stack inspection scheme.When a sequence of calls are made within a doPrivileged code block,then all of the code fragments in the called procedure have the same access privileges as the original code block that performed the doPrivileged operation,thereby violating the need-to-know principle.
In Hydra,the rights amplification mechanism ensures that only the privileged code has access privileges to protected objects,and if this code were to invoke code in other modules,the objects could be exported to the other modules after lowering the access privileges to the exported objects.This mechanism provides fine-grained control over access rights and helps to guarantee that the need-to-know principle is satisfied.