我读了很多关于RSA,加密,许可证密钥等的内容,但我仍感到困惑。
我们有一个可以由客户在本地安装的Web应用程序(他们通常应该选择SaaS版本,但有些人可能不需要它) 该应用程序有不同的模块等(非常标准)
我们的后端存储客户数据和许可证/购买的模块,可通过SSL访问。
"客户"将定期检查颁发的许可证是否仍然有效。
我不清楚的是如何存储许可证密钥和/或数据,例如"许可证有效期多久"
到目前为止我的想法:
只需将其保存在表格(明文)中,即使用户篡改数据库中的数据,定期许可证检查也可确保许可证的有效性。 (用户可以访问他不应该在短时间内访问的部分)
加密并将其保存在表格中。这意味着我要么
使用共享密钥
使用私钥/公钥:因此要么必须使用公钥解密(在客户端上),要么将其发送到后端进行解密并将其发送回客户端。
我只是觉得加密整个事情是一种开销。
我不是安全和/或加密专家。
所以我的问题是
感谢。
编辑:
我删除了问题" SSL是否足够?"在最后一段中因为我意识到这是一个不同的主题。
答案 0 :(得分:1)
我假设您在本地拥有许可证文件,并且检查仅在客户端进行?您可以执行以下操作:
当然,您必须以某种方式保护已部署的公钥,因此客户端无法使用它自己替换它并创建自己的许可文件。
使用XML,您可以使用XML Signature