为了开始并定义guid,我使用了一个.NET框架的Guid。这是一个假设性的情况。当用户执行特定操作时,会生成guids。每个用户都可以看到自己的guids。如果一个用户知道另一个用户的任何一个guid,就会产生安全威胁。
如果我们假设用户没有办法窃取另一个用户的guid,并且只能猜测,那么这个系统有多安全呢?
我理解,盲目地猜测guids是不可能的。即使他们有一百万个成功值,他们仍然只有10^20次成功猜测的机会。
我的担忧在于guid预测。如果一个用户生成大量请求,查看他得到的guids,并知道.NET guid生成公式,那么他是否可以大大提高猜测的几率?这些几率能够降低到成为安全隐患的程度吗?如果是的话,应该如何以独特的、不可预测的方式生成密钥?
我要求任何提及猜测/冲突几率的人添加一些确切的含义。无论是定义几率的精确数字,还是像“它可以用于存储帐户数据,但不能用于敏感数据”之类的东西。
编辑:这个问题似乎涉及到我最初想探讨的领域:GUID是否是(临时)加密的好密钥?
如果我们假设用户没有办法窃取另一个用户的guid,并且只能猜测,那么这个系统有多安全呢?
我理解,盲目地猜测guids是不可能的。即使他们有一百万个成功值,他们仍然只有10^20次成功猜测的机会。
我的担忧在于guid预测。如果一个用户生成大量请求,查看他得到的guids,并知道.NET guid生成公式,那么他是否可以大大提高猜测的几率?这些几率能够降低到成为安全隐患的程度吗?如果是的话,应该如何以独特的、不可预测的方式生成密钥?
我要求任何提及猜测/冲突几率的人添加一些确切的含义。无论是定义几率的精确数字,还是像“它可以用于存储帐户数据,但不能用于敏感数据”之类的东西。
编辑:这个问题似乎涉及到我最初想探讨的领域:GUID是否是(临时)加密的好密钥?