用户邀请链接(令牌)何时到期?

信息安全 电子邮件 用户管理 登记
2021-08-23 03:34:27

我们有一个系统,可以邀请外部用户加入我们的身份管理系统。用户不是我们公司的员工,而是我们客户的。客户的管理员无权访问受邀用户访问的系统。

目前,我们向用户电子邮件地址发送邀请电子邮件,其中包含有效期为 7 天的链接。问题在于,并非所有用户都可以或想要在 7 天内回复该邮件——例如因为他们正在度假。

这导致手动“重新发布”邀请邮件给用户,这是一项繁重的工作。这是由我们的员工完成的,因为客户管理员无权访问系统 - 如上所述。我们希望尽量减少这种手动干预,但我们不确定我们提出的措施从安全角度来看是否是一个好主意。我特别询问用户邀请,因为在这种情况下,用户不会自己发起邀请,也无法控制邀请何时发生。你能帮帮我们吗?

  • 用户邀请链接是否应该完全过期 - 如果是这样,什么是好的过期时间?
  • 如果用户在邀请已过期后单击它,让他们“延长”他们的邀请是否是个好主意 - 例如通过发送另一封带有新邀请链接的电子邮件?
2个回答

用户邀请链接是否应该完全过期 - 如果是这样,什么是好的过期时间?

这是一个没有一般答案的问题:它取决于您所保护的资源的价值、接收您邀请的人、您用于传输这些邀请的渠道的安全性以及威胁是什么你正试图防止。

然而,一般来说,永不过期的邀请并不是一个非常理想的属性:在大多数情况下,某人在邀请发出 10 年后接受邀请并没有多大意义,但它确实会带来(轻微的)安全风险从某种意义上说,非常古老但仍然活跃的邀请将增加有效密钥空间相对于总密钥空间的大小。换句话说:尝试每一个潜在密钥的攻击者有更多机会找到有效密钥。

让用户“延长”他们的邀请是个好主意吗

我想不出这会是一个理想的功能的任何场景:它实际上与邀请的无限生命周期相同,只是它对每个人(开发人员和用户)都更复杂。

考虑只计算工作日

如果您担心假期和节假日,请考虑将周末和节假日排除在计数之外。如果您的用户分布在不同的国家,这可能会很困难,但我认为计算工作日而不是标准天是有价值的。

十个工作日是三周,这对于避免假期应该是相当不错的(除非您谈论的是那些较大的欧洲假期)。不要试图在电子邮件中详细说明此政策以及您如何计算天数,只需说出它何时到期即可。对于将发送邀请的用户,假设系统支持 12 天以上(因为您保证至少是非工作日)。

尽管如此,正如 Stephane 所指出的,对于多少时间是合适的,没有标准答案。这取决于您的用户。如果计算工作日太麻烦,请选择更大的数字。

权衡延长有效期的利弊。

  • 您是否试图限制安全风险?
  • 等待太久对其他用户不公平吗?

我强烈建议不要使用极长的周期。20 个工作日或 30 个日历日对我来说听起来不错。任何人在假期里都不会抱怨只是错过了令牌的窗口(他们只会要求一个新的令牌)。

“延长”邀请对我来说是荒谬的。

  • 对新邀请进行非正式询问就足够了
  • 如果您担心滥用,请不要宣传它是可能的