我是一名软件开发人员,对安全性感兴趣并具有基本的知识水平。我遇到了一个对我来说“闻起来很糟糕”的身份验证系统,但是我缺乏知道如果有什么问题的专业知识。
该软件系统涉及通过公共互联网从/向数据库下载和上传数据的网络服务。所有通信都通过 HTTPS 进行,一个随机的 32 位整数标识用户。来自未知用户 ID 的请求将被丢弃。
这方面的某些东西似乎很弱,但我不确定它有多弱以及是否值得提倡改变。我想这相当于一个 5 个字符的 alpha(大写/小写)数字密码,没有关联的用户名(log62(40 亿)~ 5),如果我用这些术语来看待它,它似乎完全没用。
我对如何进行身份验证的直觉是公开一个用于“登录”的 Web 服务操作,该操作接受用户名/密码并传回身份验证令牌(例如基于凭据和当前时间的加密哈希)然后在一段时间内或直到用户请求注销为止。
我相信我的方法更安全,主要是因为凭证空间大得多,而且身份验证令牌会随着时间而变化,而在当前系统中,凭证空间很小,身份验证令牌永远不会改变。但我没有参考点……当前系统会遇到什么样的对手?我的想法会遇到什么样的对手?
支持当前系统的论点是,我们是一个在大世界中拥有小客户的小玩家,所以我们不希望受到攻击,如果我们受到攻击,我们确实有一定程度的安全性。我的想法是,安全威胁正迅速变得越来越多、越来越复杂,而我们恰好处于一个关注安全的行业。我不想在这里给出细节,因为我可能会指出存在安全性差的实时系统,但也许有知识的人可以谈论当前安全威胁的趋势?
我将不胜感激有关此主题的任何意见,如果由于某种原因我的问题不充分,请告诉我,以便我可以相应地更新它而不是将其标记为关闭!