我已经使用Node.js、Redis和MongoDB编写了移动 API 。但是现在我正在寻找一种在我们的系统中提供安全性的具体方法。这个问题是我从奥古斯特·科克霍夫臭名昭著的原则中得到启发的;
“绝不能要求保密,而且要能够落入敌人手中而不会造成不便”
在检查了这个原理之后,我发现在嗅探器捕获整个数据包之后没有安全的方法来保护数据。当然还有其他方法,例如使用API 密钥、使用MD5 和 MD6、Triple DES、SHA1等加密算法。但是,如果捕获了整个数据包,这也将不起作用。并且有HTTPS、SSL证书等安全防范标准。但是,如果有才华的人再次捕获数据包,它就可以像我们系统中的经过验证的用户一样行事。
如何应用一种安全方法,即使捕获了整个数据包,系统也能够区分来自外部来源而不是我们经过验证的用户的请求。
PS:我认为应用带有时间戳的自定义加密算法来防止这个问题可能有点混乱。