跳到主要内容

2.4. Postdated Tickets (延期票据)

应用程序有时可能需要获取供以后使用的票据; 例如, 批处理提交系统将需要在批处理作业被服务时有效的票据。然而, 在批处理队列中持有有效票据是危险的, 因为它们将在线更长时间并且更容易被盗。延期票据提供了一种在作业提交时从 KDC 获取这些票据的方法, 但将它们保持 "休眠", 直到通过对 KDC 的进一步请求激活和验证它们。如果在此期间报告了票据盗窃, KDC 将拒绝验证票据, 小偷将被挫败。

票据中的 MAY-POSTDATE 标志通常仅由票据授予服务解释。应用程序服务器可以忽略它。必须 (MUST) 在 TGT 中设置此标志才能根据呈现的票据颁发延期票据。它默认重置; 客户端可以 (MAY) 通过在 KRB_AS_REQ 消息中设置 ALLOW-POSTDATE 选项来请求它。此标志不允许客户端获取延期 TGT; 延期 TGT 只能通过在 KRB_AS_REQ 消息中请求延期来获取。延期票据的生命周期 (endtime-starttime) 将是请求时 TGT 的剩余生命周期, 除非也设置了 RENEWABLE 选项, 在这种情况下它可以是 TGT 的完整生命周期 (endtime-starttime)。KDC 可以 (MAY) 限制票据可以延期到未来多远。

POSTDATED 标志表示票据已被延期。应用程序服务器可以检查票据中的 authtime 字段以查看原始认证何时发生。某些服务可以 (MAY) 选择拒绝延期票据, 或者它们可能仅在原始认证后的某个时间段内接受它们。当 KDC 颁发 POSTDATED 票据时, 它也将被标记为 INVALID, 以便应用程序客户端必须 (MUST) 在使用前将票据呈现给 KDC 以进行验证。