gpt4 book ai didi

java - GSSContext AcceptSecContext 方法中的安全漏洞? (JAVA)

转载 作者:行者123 更新时间:2023-12-02 11:04:32 24 4
gpt4 key购买 nike

当客户端生成的服务票据发送到服务器时,GSSContext的acceptSecContext方法将解码由KDC编码的此类票据。

当以服务票据作为参数调用此方法时,票据实际上是否被发送到 KDC 本身进行解码?

否则这不是一个安全问题吗?因为如果服务器可以解码任何有效的票证,除了发送给它的某个客户端或票证的用途或用途之外,它一无所知?

有点困惑

非常感谢任何澄清。

我了解到应用程序服务器和 KDC 确实可以通信,但我认为情况并非总是如此。

例如,查看示例服务器代码

应用服务器登录获取上下文

LoginContext loginCtx = null;
loginCtx = new LoginContext("SPN", new LoginCallbackHandler( id, password ));
loginCtx.login();
Subject subject = loginCtx.getSubject();

然后使用该主体,它将执行特权 doAs

Subject.doAs( subject, new PrivilegedAction<String>() {
public void run() {
try {
GSSManager manager = GSSManager.getInstance();
GSSContext context = manager.createContext( (GSSCredential) null);
context.acceptSecContext( serviceTicket, 0, serviceTicket.length);
// now do something with decoded ticket
}
...
}

最佳答案

is the ticket actually being sent to the KDC itself to be decoded?

不,应用程序服务器和 KDC 通信。

这就是为什么在使用系统之前必须将KDC上生成的keytab复制到应用服务器上的原因。

服务器尝试解密票证,如果他能够做到这一点,那么他就假设票证是由 KDC 生成的,因为他是唯一知道票证的密码,则为有效票。

<小时/>

在系统有效启动之前预先共享 key /密码,然后从不通过网络发送它是许多身份验证协议(protocol)中的常见机制,例如

关于java - GSSContext AcceptSecContext 方法中的安全漏洞? (JAVA),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51084420/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com