我目前正在开展一个电子商务项目,我正在设计API的服务器端(在Laravel 5.5上使用PHP),而我的两位同事正在设计Android和Ios应用程序,这些应用程序将从中获取所有数据我这边。
敏感和非敏感数据的通信将完全通过此API完成,但是,由于我们所有人都相对缺乏经验,我们无法确定是否安全,甚至有必要用密钥加密所有交易所在开发过程中使用JWT进行编码并达成一致。
我已经远远地看到了一个明确的共识,但这个过程已经有点混乱了,专家意见似乎在如此精确的点上有所不同,以至于后果完全逃脱了我。
任何人都可以"安全讽刺"帮助我们解决以下问题?
1)单独使用JWT安全(假设我们使用'常识')?即它是专业人士中受尊重的标准吗?
2)正在使用JWT考虑的良好做法'对于处理付款信息的应用程序?
3)正在加密发送方的JWT并在接收方解密更安全吗?或者我们只是在这里添加一个额外的层,但在那里留下一扇门?
4)阅读Laravel 5.5文档后,我发现他们提供了Passport插件,这对初学者来说是否可靠?
5)最重要的是,是否存在关于通信安全的可靠信息来源,同样,w3c可以保护最佳实践' ?
请随时纠正问题。 谢谢。
答案 0 :(得分:0)
1)是否独自使用JWT安全(前提是我们使用“常识”)?也就是说,这是专业人员中受人尊敬的标准吗?
You should avoid JWT。可以安全地使用它,但是您最终将花费60%的方式来重新发明PASETO,因此您不妨使用PASETO。
2)是否正在将JWT用于将处理付款信息的应用程序的“良好做法”?
如果您严格必须使用JWT,则绝对希望您的PCI-DSS审核员检查您的JWT代码。
如果您想要一个已经过审核的JWT库,以使您的PCI-DSS合规性更加顺畅,Luís Cobucci's JWT library是一个不错的选择。 (报告为publicly accessible。)
3)是在发送方加密JWT,在接收方解密更安全吗?还是我们只是在这里添加额外的一层,但在那里敞开一扇门?
如果您是通过HTTPS表示,绝对可以。
否则,不要投放自己的加密货币。
4)阅读Laravel 5.5文档,我发现他们提供了Passport插件,对于初学者来说这可靠吗?
是的
5)最重要的是,是否存在与通信安全有关的可靠信息,就像w3c维护“最佳实践”一样?
(截至2018年)还有guide to PHP security的最新知识,它也涉及许多密码安全性主题。